我目前正在使用 Angular 5.x 并使用指令“i18n”进行翻译。我对 .html 文件或模板没有任何问题,但在打字稿文件中找不到执行此操作的方法。无论如何在打字稿文件中有翻译字符串吗?
注意:Angular 内置 i18n 似乎不支持仅在模板中翻译 typescript 中的字符串。
我目前正在使用 Angular 5.x 并使用指令“i18n”进行翻译。我对 .html 文件或模板没有任何问题,但在打字稿文件中找不到执行此操作的方法。无论如何在打字稿文件中有翻译字符串吗?
注意:Angular 内置 i18n 似乎不支持仅在模板中翻译 typescript 中的字符串。
不,这是不可能的。常春藤可能有可能。请参阅此Github 问题。
我通过创建翻译组件解决了这个问题。
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");
这并不理想,但效果很好。