2

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

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

4

1 回答 1

0

不,这是不可能的。常春藤可能有可能。请参阅此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");

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

于 2018-12-04T00:40:01.320 回答