角度6:i18n:如何更新已翻译的现有.xlf文件?

Map*_*ion 5 angular-i18n angular6

在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,在标签之间复制内容并将其粘贴在下面,然后重命名source => target,然后将内容翻译成新的语言(例如法语)

保养:

  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标记(例如i18n="@@myUniqueTag")中的持久性ID,以便我可以将翻译后的目标(例如<target>my translated content</target>)自动移动到新文件?还是我真的必须手动将所有目标移动到新文件并将它们与每个源标签匹配?

Map*_*ion 2

我最终为自己制定了一个解决方案,直到出现更好的解决方案:https ://github.com/maplion/angular6-i18n-helpers

到目前为止,它对我来说效果很好。