angular - 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,我应该等待吗?
解决方案
我在搜索更多后找到了答案。这个 xliffmerge 工具可以完成这项工作。也许有更复杂的东西,但现在它会做
https://www.npmjs.com/package/ngx-i18nsupport
可能是一个重复的问题: Angular 6: i18n: How to update an existing .xlf file that has been translate?
推荐阅读
- angularjs - $sce.trustAsResourceUrl 不适用于 iframe 上的 Twitter URL
- javascript - TypeScript 2.9.1 中私有变量的意外标记
- java - HQL 中“~*”运算符的模拟
- file - 检查资产是否存在
- angular5 - Angular 5/6 项目查询参数加密
- c - 具有多个目标文件的动态库,在加载过程中失败
- android - 每次在 Fragment 中的 onSaveInstanceState null
- selenium-webdriver - 硒 - 无法编辑文本字段
- css - AngularJs Material(或者一般来说可能只是css)-如何在行之间对齐列?
- c++ - 为多线程 unif_rand() 播种