首页 > 解决方案 > Angular 6 Internationalization i18n - 努力保持更新

问题描述

我正在使用 Angular 6 i18n。我正在使用多语言,这意味着我遵循了食谱: https ://v2.angular.io/docs/ts/latest/cookbook/i18n.html#!#ng-xi18n

我当前的实现是使用AOT,所以我生成了一个messages.xlf 文件和一个messages.pt.xlf。当我跑步时,一切正常

ng服务--配置=pt

我得到了按预期翻译的文本。但我觉得它的工作方式有很大的问题。我可能错过了一些东西。据我了解,每次我添加一个要翻译的新字符串并用 i18n 属性标记它时,我需要重新生成运行“ng xi18n”的messages.xlf 文件,然后手动更新messages.pt.xlf。xlf 文件还包含源所在的行号,所以看起来如果我更改了行,我还需要重新生成文件并手动更新我的 pt 文件。

<context context-type="linenumber">16</context>

这看起来不聪明,它会给我很多额外的工作来保持它的工作。你明白我的担心吗?我错过了什么吗?我知道 Angular 7 i18n 将有一个重大更新,其中包含 Ivy,我应该等待吗?

标签: angularinternationalizationangular6angular-i18n

解决方案


我在搜索更多后找到了答案。这个 xliffmerge 工具可以完成这项工作。也许有更复杂的东西,但现在它会做

https://www.npmjs.com/package/ngx-i18nsupport

可能是一个重复的问题: Angular 6: i18n: How to update an existing .xlf file that has been translate?


推荐阅读