Angular-translate和date formatter:如何翻译月份名称?

时间:2015-12-22 21:23:31

标签: javascript angularjs date angular-translate

在我的应用中,我正在使用angular-translate

https://github.com/angular-translate/angular-translate

翻译我的内容。

而且在我看来,我有这样的日期格式化程序:

{{article.CreatedAt | date:'dd MMM yyyy':'UTC'}}

但是当我设置波兰语,俄语(或任何其他语言,非英语) - 我的月份名称仍为英语。

我如何翻译(如果没有动力和其他插件可以实现,那将会很棒)?

2 个答案:

答案 0 :(得分:4)

要动态更改应用程序区域设置,您需要form step 4,并且还需要angular-dynamic-locale中的其他区域设置文件(英文版带角度)。

以下是ngLocale

您需要捕获翻译事件,因为我们希望在语言更改时更改区域设置。因此,为此,我使用$translateChangeSuccess事件将所选语言设置为新语言环境。

$rootScope.$on('$translateChangeSuccess', function (event, data) {
    tmhDynamicLocale.set(data.language);
});

以下是所有plunker的列表。

答案 1 :(得分:1)

您不需要外部库,角度,日期和数字格式使用angular-i18n进行翻译: https://docs.angularjs.org/guide/i18n

例如,要以俄语获取日期,只需在angular:

之后包含语言环境文件
<script src="angular.js"></script>
<script src="angular-locale_ru-ru.js"></script>

当然这不是动态的,你可以在服务器端管理它,或者找另一个技巧。

从凉亭获取它,使用

$ bower install angular-i18n

请参阅Where are the AngularJS I18n files?