angular 5 i18n-可以在模板外部使用翻译字符串

时间:2018-12-03 23:32:02

标签: angular typescript angular-i18n

我目前正在使用Angular 5.x,并使用指令“ i18n”进行翻译。我对.html文件或模板没有任何问题,但在打字稿文件中找不到做到这一点的方法。 反正打字稿文件中有翻译字符串吗?

注意:似乎Angular内置i18n不支持仅在模板中翻译typescript中的字符串。

1 个答案:

答案 0 :(得分:0)

否,这是不可能的。常春藤可能有可能。参见此Github issue

我已经通过创建翻译组件解决了该问题。

HTML:

<div style="display:none">
  <div id="translation_1" i18n>Text to be translated</div>
</div>

TS(可以是可注射的服务):

constructor(@Inject(DOCUMENT) private document)) {}

public getTranslation(id: string) {
    return this.document.getElementById(id);
}

例如在演示文稿组件中,您可以执行以下操作:     translationService.getTranslation(“ translation_1”);

这不理想,但是效果很好。