Угловые 2+ i18n диалекты / акценты - PullRequest
0 голосов
/ 12 сентября 2018

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

Но не знаю, как это сделать и что делать потом.Поэтому я ищу некоторые приемы или примеры проектов.Заранее спасибо!

1 Ответ

0 голосов
/ 22 июля 2019

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

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

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

...