我正在使用i18n进行翻译,并对html方面的工作原理感到满意。
但是,如果我在我的打字稿中的字符串中定义了错误消息等,我想要一种方法来翻译这些错误消息并找不到办法。
是否有解决方法来实现这一目标?
答案 0 :(得分:2)
Angular GitHub repo有一个未解决的问题。
有关详情,请查看this。不幸的是,还没有正式支持typescript的字符串。但是,一些开发人员提出了一些你可以看一看的解决方法。
答案 1 :(得分:2)
直到现在(@angular/language-service v7.2
)都无法通过库的API来完成。无论如何,您可以看到my answer under another similar question的解决方法。
答案 2 :(得分:2)
使用Angular 9+,您可以做到
let <local_variable> = $localize`:@@<unique_id>:<optional_text>`
Example: let err_msg = $localize`:@@err_username:Invalid username, please check your inputs`;
到目前为止,您无法使用npm脚本自动自动提取这些变量。您必须像这样手动添加
在messages.xlf文件中
<trans-unit id="err_username:Invalid" datatype="html">
<source>Invalid username, please check your inputs</source>
</trans-unit>
在messages.lang.xlf文件中(语言翻译文件
<trans-unit id="err_username:Invalid" datatype="html">
<source/>
<target>Ungültiger Benutzername, bitte überprüfen Sie Ihre Eingaben</target>
</trans-unit>