i18n在Angular 4中使用AOT

时间:2018-02-26 20:01:58

标签: angular localization internationalization angular2-aot

我们有一个要求,并要求使用Angular 4,我正在努力实现国际化。由于我是角色的新手,我正在通过i18n发现i18n与AOT目前仅支持模板中的翻译。 当他们说支持仅在模板中时,它是什么意思,任何人都可以用一些例子来解释。

是否有任何好的示例可以实现i18n,也可以根据浏览器区域设置进行渲染。

1 个答案:

答案 0 :(得分:0)

这意味着您无法在TypeScript代码中翻译文本;只能翻译静态HTML内容。

可翻译:

<p i18n>Text in a paragraph</p>
        ^^^^^^^^^^^^^^^^^^
<my-component title="My Title" i18n-title></my-component>
                     ^^^^^^^

无法翻译:

if (hasError) {
  showErrorMessage('An error has occured');
                   ^^^^^^^^^^^^^^^^^^^^^^
}

如果您要在代码中翻译消息,则必须自己实现某种I18nService,或使用其中一种替代库,例如ngx-translate

要获得更深入的信息,请坚持使用官方docs