3

假设我们设置和使用类似于文档的 Angular i18n-tags :

<div i18n>Hello World</div>

我们使用生成我们的翻译ng xi18n --i18nFormat=xlf

到目前为止一切顺利,现在我们要开始为方言/口音生成特定的翻译,例如 de_AT(奥地利德语)。在我们的应用程序中,这些很少。因此,为了保持翻译文件的可维护性,我们不想.xlf为每种方言生成一个全新的,而是使用基本的messages.de.xlf并以某种方式从那里转移口音/方言。

第一步的第一个想法是生成一个messages.de_AT.xlf只包含那些特定翻译的新版本,例如:

<trans-unit id="5d9f8[...]f66d3e" datatype="html" approved="yes">
  <source>Hello World</source>
  <target state="translated">Griasdi Welt</target>
  <context-group purpose="location">
    <context context-type="sourcefile">src/app/hello-world.component.ts</context>
    <context context-type="linenumber">16</context>
  </context-group>
</trans-unit>

但是不知道该怎么做以及接下来该怎么做。所以我正在寻找一些最佳实践技巧或示例项目。提前致谢!

4

1 回答 1

1

Angular 需要一个完整的翻译文件来以给定的语言构建项目。

您可以做的是创建一个messages.de_AT.xlf.partial仅包含 AT 特定翻译的文件,然后找到/创建一些工具以将您的基本德语翻译messages.de.xlf与.messages.de_AT.xlf.partialmessages.de_AT.xlf

我快速浏览了一下,找不到任何现成的工具来进行合并,但由于 xlf 文件实际上是 XML 文件,您可能可以编写自己的脚本来执行此操作。

于 2019-07-22T09:54:44.360 回答