Angular 2+ 国际化 dialects/accents
Angular 2+ i18n dialects/accents
假设我们设置并使用类似于 documentation:
的 Angular i18n 标签
<div i18n>Hello World</div>
我们使用 ng xi18n --i18nFormat=xlf
生成翻译
到目前为止一切顺利,现在我们要开始为 dialects/accents 生成特定的翻译,例如de_AT(奥地利德语)。在我们的应用程序中,这些很少。因此,为了保持翻译文件的可维护性,我们不想为每种方言生成一个全新的 .xlf
,而是使用一个基本的 messages.de.xlf
并以某种方式从那里转移 accents/dialects。
首先想到的第一步是生成一个新的 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
文件,然后 find/create 一些工具将您的基础德语翻译 messages.de.xlf
与 messages.de_AT.xlf.partial
合并,导致完整的 messages.de_AT.xlf
.
我快速浏览了一下,找不到任何现成的工具来进行合并,但由于 xlf 文件实际上是 XML 文件,您可能可以编写自己的脚本来执行此操作。
假设我们设置并使用类似于 documentation:
的 Angular i18n 标签<div i18n>Hello World</div>
我们使用 ng xi18n --i18nFormat=xlf
到目前为止一切顺利,现在我们要开始为 dialects/accents 生成特定的翻译,例如de_AT(奥地利德语)。在我们的应用程序中,这些很少。因此,为了保持翻译文件的可维护性,我们不想为每种方言生成一个全新的 .xlf
,而是使用一个基本的 messages.de.xlf
并以某种方式从那里转移 accents/dialects。
首先想到的第一步是生成一个新的 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
文件,然后 find/create 一些工具将您的基础德语翻译 messages.de.xlf
与 messages.de_AT.xlf.partial
合并,导致完整的 messages.de_AT.xlf
.
我快速浏览了一下,找不到任何现成的工具来进行合并,但由于 xlf 文件实际上是 XML 文件,您可能可以编写自己的脚本来执行此操作。