如何在 AngularJS 应用程序中支持用户可选择的语言环境
How to Support User Selectable Locales in AngularJS Application
听起来这个问题已经被问过几次了,但我没有看到解决方案。那么问题来了!
我在 AngularJS 应用程序的 HTML 页面中使用日期过滤器在页面中显示日期,如下所示:
{{item.dateCreated | date:'mediumDate'}}
我的页面上有一个菜单项,允许用户 select 用于显示页面的语言。我正在使用优秀的 ngTranslate 模块来执行页面上字符串的翻译,但它不处理上面的日期显示。
AngularJS 文档表明有一个 $locale 服务,其中有一个名为 id 的成员 - 不确定这是一个 属性 查看语言环境或设置它的方法。文档还说,在包含 angularjs 库之后,我需要在页面中包含适合该区域设置的 i18n 脚本文件,但当然我不知道区域设置,直到运行时用户 select就这样了。
所以问题是,我如何在 angularjs 应用程序中支持多个语言环境,以便 date 等过滤器翻译和格式化语言环境的日期,以及如何如果用户在运行时更改语言环境,我应该告诉 angularjs 使用什么语言环境吗?我想我可以手动构建一组格式字符串并将它们作为用户 select 一种语言应用到日期过滤器,但是随着我们决定支持越来越多的语言,这可能会变得困难??
非常感谢任何专家建议!
要动态更改语言环境,您可以测试包 Angular Dynamic Locale。
听起来这个问题已经被问过几次了,但我没有看到解决方案。那么问题来了!
我在 AngularJS 应用程序的 HTML 页面中使用日期过滤器在页面中显示日期,如下所示:
{{item.dateCreated | date:'mediumDate'}}
我的页面上有一个菜单项,允许用户 select 用于显示页面的语言。我正在使用优秀的 ngTranslate 模块来执行页面上字符串的翻译,但它不处理上面的日期显示。
AngularJS 文档表明有一个 $locale 服务,其中有一个名为 id 的成员 - 不确定这是一个 属性 查看语言环境或设置它的方法。文档还说,在包含 angularjs 库之后,我需要在页面中包含适合该区域设置的 i18n 脚本文件,但当然我不知道区域设置,直到运行时用户 select就这样了。
所以问题是,我如何在 angularjs 应用程序中支持多个语言环境,以便 date 等过滤器翻译和格式化语言环境的日期,以及如何如果用户在运行时更改语言环境,我应该告诉 angularjs 使用什么语言环境吗?我想我可以手动构建一组格式字符串并将它们作为用户 select 一种语言应用到日期过滤器,但是随着我们决定支持越来越多的语言,这可能会变得困难??
非常感谢任何专家建议!
要动态更改语言环境,您可以测试包 Angular Dynamic Locale。