如何更改AngularJs应用程序中的本地化设置?

时间:2015-12-22 11:25:58

标签: angularjs localization

我正在尝试根据本地化调整应用程序中的日期。

我尝试更改$locale.id = 'fr-fr',但它没有更新对象,所以文本保留为英文(en-us是默认的$locale.id)。

然后我尝试通过在index.html

中加入一种语言来强制使用
<script type="text/javascript" src="../../Scripts/Angular/i18n/angular-locale_fr.js"></script>

但是在我的控制器上,我仍然在en-us上获得了$locale.id以及所有英文翻译:

$locale = Object {DATETIME_FORMATS: Object, NUMBER_FORMATS: Object, id: "en-us"}

如何控制/更改$locale服务语言?

1 个答案:

答案 0 :(得分:1)

实际上,$locale.id是一个只读属性,您不能以这种方式设置语言环境。 您可以查看可以动态设置区域设置的angular-dynamic-locale

tmhDynamicLocale.set('it');

模块本身在其github页面上有详细记录。

只有在您想要动态切换语言环境时才需要[angular-dynamic-locale],在大多数情况下,您只想为应用程序设置一个语言环境。

为此,您可以阅读为Angular提供区域设置规则部分中的i18n guide from the angular docs,其中描述了为角度应用程序指定区域设置的两种方法:

  1. 预先捆绑的规则集
  2. 在index.html中包含区域设置脚本