我目前正在使用Angular 5.x,并使用指令“ i18n”进行翻译。我对.html文件或模板没有任何问题,但在打字稿文件中找不到做到这一点的方法。 反正打字稿文件中有翻译字符串吗?
注意:似乎Angular内置i18n不支持仅在模板中翻译typescript中的字符串。
答案 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”);
这不理想,但是效果很好。