如何在AngularJS应用程序中支持用户可选择的语言环境

时间:2015-06-30 16:41:09

标签: javascript angularjs internationalization

听起来这个问题之前已被问过几次,但我没有看到解决方案。所以这就是问题!

我在AngularJS应用程序的HTML页面中使用日期过滤器来显示页面中的日期,如下所示:

{{item.dateCreated | date:'mediumDate'}}

我的页面上有一个菜单项,允许用户选择用于显示页面的语言。我使用优秀的ngTranslate模块在页面上执行字符串的转换,但它不处理上面的日期显示。

AngularJS文档表明存在一个$ locale服务,其中一个成员名为id - 不确定这是查看语言环境的属性还是设置它的方法。文档还说我需要在包含angularjs库之后在页面中包含适用于语言环境的i18n脚本文件,但当然,在用户选择它之前,我不知道语言环境直到运行时。

所以问题是,如何在angularjs应用程序中支持多个语言环境,以便像 date 这样的过滤器翻译和格式化语言环境的日期,以及如何告诉angularjs使用哪个语言环境用户在运行时更改它?我想我可以手工构建一组格式字符串,并在用户选择语言时将它们应用于日期过滤器,但是当我们决定支持越来越多的语言时,这可能会变得困难吗?

我非常感谢任何专家建议!

1 个答案:

答案 0 :(得分:1)

要动态更改区域设置,您可以测试包Angular Dynamic Locale