【问题标题】:Angular - internationalization (i18n)Angular - 国际化 (i18n)
【发布时间】:2016-02-19 13:34:44
【问题描述】:

目前实现 Angular 应用程序国际化的最佳方式是什么?

【问题讨论】:

  • 等到实际实现才行?或者回到使用 Angular 1。

标签: javascript angular typescript internationalization


【解决方案1】:

官方 i18n angular2 将在最终版本之前的 rc 版本之一中实现。它也将比当前的解决方案更先进。

更多信息 i18n 的新概念如何在 angular2 中工作:
https://lingohub.com/blog/2015/03/angular-2-i18n-update-ng-conf-2015

2016 年 9 月 6 日更新:

Angular 2 RC6 现已正式支持 i18n

官方发布博客:
https://angularjs.blogspot.nl/2016/09/angular-2-rc6_1.html

Angular 2 RC6 的国际化示例
https://github.com/StephenFluin/i18n-sample

【讨论】:

  • 重复@jhadesdev 已经说过但没有有用部分的大部分无用答案
【解决方案2】:

目前最好的选择是使用ng2-translate,这是众所周知的 ng-translate 的 Angular 2 的一个端口。这很可能涵盖大多数用例。

Angular 2 以后会有官方的 i18n 实现。

【讨论】:

    【解决方案3】:

    根据更新日志https://github.com/angular/angular/blob/master/CHANGELOG.mdAngular 2 RC5中引入了一大块i18n

    i18n:合并翻译7a8ef1e

    很遗憾,我仍然没有看到任何有用的文档。

    不过,根据https://github.com/angular/angular/issues/9104的说法,简单的情况已经涵盖了

    {{ 'TRANSLATION_ID' | translate }}
    

    在此文档https://docs.google.com/document/d/1mwyOFsAD-bPoXTk3Hthq0CAcGXCUw-BtTJMR4nGTY-0/edit 中搜索{{ 'TRANSLATION_ID' | translate }} 了解更多详情。

    【讨论】: