【问题标题】:Angular 2+ i18n dialects/accentsAngular 2+ i18n 方言/口音
【发布时间】:2018-09-12 06:18:27
【问题描述】:

假设我们设置和使用类似于documentation 的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>

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

【问题讨论】:

  • Angular 需要一个完整的翻译文件来以给定的语言构建项目。您可以做的是创建一个仅包含特定 AT 翻译的 messages.de_AT.xlf.partial 文件,然后找到/创建一些工具将您的基本德语翻译 messages.de.xlfmessages.de_AT.xlf.partial 合并,从而生成一个完整的 messages.de_AT.xlf 文件
  • 亲爱的@sevic,这个问题已经是2年前了????你找到解决问题的方法了吗?您是否构建了已接受答案中描述的工具?这似乎是一个普遍的问题。我不敢相信还没有人解决它……(我也是德国人)
  • @wottpal 到目前为止,我没有在这个问题上投入更多精力。这个周末我预留了一些时间看看,也许我想出了一个脚本。

标签: angular internationalization angular8 language-translation angular-i18n


【解决方案1】:

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

您可以做的是创建一个仅包含 AT 特定翻译的 messages.de_AT.xlf.partial 文件,然后找到/创建一些工具将您的基本德语翻译 messages.de.xlfmessages.de_AT.xlf.partial 合并,从而生成完整的 messages.de_AT.xlf

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-29
    • 2017-04-24
    • 1970-01-01
    • 2012-07-06
    • 1970-01-01
    • 2017-06-20
    • 2017-05-02
    • 1970-01-01
    相关资源
    最近更新 更多