【问题标题】:Angular 6: i18n: How to update an existing .xlf file that has already been translated?Angular 6:i18n:如何更新已翻译的现有 .xlf 文件?
【发布时间】:2018-06-14 17:17:24
【问题描述】:

在 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>)自动移动到新文件?还是我真的必须手动将所有目标移动到新文件并与每个源标签匹配?

【问题讨论】:

标签: angular6 angular-i18n


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2018-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-19
      • 2021-07-18
      • 2017-09-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多