Угловые диалекты / акценты 2+ i18n

Допустим, мы настроили и используем угловые теги 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 6)

0 ответов

Angular нужен полный файл перевода, чтобы построить проект на заданном языке.

Что вы могли бы сделать, так это создать messages.de_AT.xlf.partial файл с только конкретными переводами AT, затем найдите / создайте инструмент для объединения ваших базовых немецких переводов messages.de.xlf с messages.de_AT.xlf.partial, в результате чего messages.de_AT.xlf.

Я быстро просмотрел и не смог найти готового инструмента для слияния, но, поскольку файлы xlf на самом деле являются файлами XML, вы, вероятно, могли бы написать свой собственный сценарий, который это делает.

Другие вопросы по тегам