我们有一个要求,并要求使用Angular 4,我正在努力实现国际化。由于我是角色的新手,我正在通过i18n发现i18n与AOT目前仅支持模板中的翻译。 当他们说支持仅在模板中时,它是什么意思,任何人都可以用一些例子来解释。
是否有任何好的示例可以实现i18n,也可以根据浏览器区域设置进行渲染。
答案 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。