Angular 6: i18n: 如何更新已经翻译过的 .xlf 文件?

14
在Angular 6中,现在我认为我已经理解了如何制作i18n文件并使用它们(例如:https://angular.io/guide/i18n),但我想知道如何维护这些文件。如果我更改html,据我所知,我将不得不使用ng xi18n命令重新生成messages.xml文件,这意味着我将需要重新翻译文件到其他语言,或者至少进行某种视觉匹配,以便我可以将某个div标签的内容从旧文件移动到新文件中。这似乎是一项很大的开销来维护更改,希望我漏掉了什么,但这是否是维护文件的预期工作流程?以下内容是否正确[我希望不是],或者有没有我不知道的更好的方法?
创建:
1. 使用ng xi18n命令生成messages.xlf文件 2. 复制并重命名messages.xlf => messages.fr.xlf 3. 打开messages.fr.xlf,复制标记之间的内容,并将其粘贴到下面,然后将源名称更改为目标名称,然后将内容翻译成新语言(例如法语)
维护:
1. 在更改html和/或内容后,使用ng xi18n命令重新生成messages.xlf文件 2. 复制messages.xlf并将其重命名(例如messages.fr2.xlf) 3. 打开messages.fr.xlf并尝试确定可以复制到messages.fr2.xlf的内容,然后删除messages.fr.xlf并重命名messages.fr.xlf??? 为所有语言重复此过程?
我是否漏掉了某个命令或工具,可以帮助我匹配放置在i18n标记中的持久性id(例如:i18n="@@myUniqueTag"),以便我可以自动将翻译目标(例如:<target>my translated content</target>)移动到新文件中?还是我真的必须手动将所有目标移动到新文件中,并将它们与每个源标记匹配?

这是一个重复的问题,与 https://dev59.com/zFUL5IYBdhLWcg3w3LQH#70941403 相同。 - daniel-sc
2个回答

2

您可以使用ngx-i18nsupport。它使用xliffmerge在运行ng xi18n后自动合并翻译文件。


2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接