我正在尝试根据本地化调整应用程序中的日期。
我尝试更改$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
服务语言?
答案 0 :(得分:1)
实际上,$locale.id
是一个只读属性,您不能以这种方式设置语言环境。
您可以查看可以动态设置区域设置的angular-dynamic-locale:
tmhDynamicLocale.set('it');
模块本身在其github页面上有详细记录。
只有在您想要动态切换语言环境时才需要[angular-dynamic-locale],在大多数情况下,您只想为应用程序设置一个语言环境。
为此,您可以阅读为Angular提供区域设置规则部分中的i18n guide from the angular docs,其中描述了为角度应用程序指定区域设置的两种方法: