假设我们设置并使用与documentation类似的角i18n标记:

<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>

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

最佳答案

Angular需要一个完整的翻译文件来用给定的语言构建项目。
你所能做的就是创建一个只有特定翻译的messages.de_AT.xlf.partial文件,然后找到/创建一些工具来将你的基础德语翻译messages.de.xlfmessages.de_AT.xlf.partial合并,从而得到一个完整的messages.de_AT.xlf
我快速浏览了一下,找不到任何现成的工具来进行合并,但是由于xlf文件实际上是xml文件,所以您可能可以编写自己的脚本来完成合并。

10-06 03:51