国际化 – Angular2 i18n在这一点上?

前端之家收集整理的这篇文章主要介绍了国际化 – Angular2 i18n在这一点上?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们决定给它一个旋转,我们开始使用Angular2的新项目。到目前为止这么好,但在这一点上,我们面临一个问题。在这一点上,Angular2的i18n的正确方法是什么?我们研究了一下,发现这一点:

> https://github.com/angular/i18n

但是最后一次提交超过5个月…看起来不像积极的发展。

任何人尝试使用angular-translate或angular-gettext?或者也许与Angular2它最好包装JS像i18next?任何人都可以分享他们的想法?也许你面临同样的问题?

Plunk更新为Angular 2 Final: https://plnkr.co/edit/4euRQQ.事情似乎与RC7中的一样。

新的i18n部分已添加到Angular 2官方文档。基本上,它详细解释了上面plunkr中会发生什么。

XLIFF是唯一的翻译格式,没有json支持
应使用ng-xi18n工具创建翻译源文件(xliff,xlf):

package.json:

"scripts": {
  "i18n": "ng-xi18n",...
}

npm run i18n

有关将翻译合并到组件模板的详细信息,请参阅Merge translation部分。它是使用SystemJS Text插件完成的。

另一个使用Gulp http://www.savethecode.com/angular2-i18n-native-support/的例子

老年人:
基于RC7的更新和Herman Fransen提供的链接

我做了一个最小的Plunkr例子:https://plnkr.co/edit/4W3LqZYAJWdHjb4Q5EbM

对plunkr的评论

> bootstrap应提供TRANSLATIONS,TRANSLATIONS_FORMAT,LOCALE_ID值 – >设置翻译
> html-templates中的可翻译项应该使用指令i18n
>翻译存储在.xlf文件中。语言之间的关系通过Id完成,与html的关系由值< source>标签
>目前xlf文件不直接使用;手动创建.ts文件以将xlf的内容封装在可导出变量中。我想,这应该是在最终版本(甚至现在)自动工作。

这是我发现的第一个官方记录的方法
然而,它仍然几乎不可用。我在当前实现中看到以下问题:

>语言在引导时设置,无法在运行时更改。这应该在Final中更改。
> xlf中的可翻译项目的ID由SHA生成获取此ID的当前方法有点凌乱:您创建一个新的可翻译项目,使用它,复制SHA ID从错误,并粘贴到您的i18n.lang.xlf文件

有一个关于i18n的大文档pull request

老年人:
发行说明https://github.com/angular/angular/blob/master/CHANGELOG.md有一个记录

i18n: merge translations 07009

在Angular 2 RC5中引入了一大块i18n

遗憾的是,仍然没有可用的文档。

猜你在找的Angularjs相关文章