随着应用程序的发展,您将更改i18n标记并多次重新运行ng-xi18n提取工具。您添加的新标记不是问题;但是对现有标记的大多数更改会触发为受影响的翻译单元生成新ID。 ID更改后,翻译文件不再同步。在重新编译期间,应用程序的所有翻译版本都将失败。错误消息标识了不再有效的旧ID,但它们不会告诉您新ID应该是什么。 将所有翻译消息文件提交给源代码控制,尤其是英文源消息.xlf。旧的和新的messages.xlf文件之间的区别可以帮助您查找和更新翻译文件中的ID更改。
我尝试在我的html模板中添加新段落,现有的翻译单元没有改变。因此,当这些ID发生变化时,如果我更改组件的模板,如何防止它们发生变化,在开发应用程序时维护翻译的最佳做法是什么?我无法在任何地方找到这些问题的答案。
答案 0 :(得分:0)
因此,您可以为i18n属性指定自己的@id。在这种情况下,这些ID不会发生变化。
以下是一个例子:
<a class="active item" [routerLink]="''" i18n="Home link@@[your-id-goes-here]">Home</a>
我建议使用GUID&#39。