Как перевести элементы внутри цикла ngFor в Angular 6? - PullRequest
0 голосов
/ 01 ноября 2018

У меня есть массив значений, которые являются фиксированными и не загружаются из внешнего источника:

fruits = ['apples', 'oranges', 'pears'];

Теперь я хочу перечислить эти значения:

<li *ngFor="let fruit of fruits" i18n="fruits">
  {{ fruit }}
</li>

Теперь значения должны быть переведены с использованием XLIF:

<li>pommes</li>
<li>oranges</li>
<li>poires</li>

К сожалению, экстрактор создает только одну запись в файле XLIFF, которая выглядит следующим образом:

<trans-unit id="some-id" datatype="html">
  <source>
    <x id="INTERPOLATION" equiv-text="{{ fruit }}"/>
  </source>
  <context-group purpose="location">
    <context context-type="sourcefile">test.component.html</context>
    <context context-type="linenumber">1</context>
  </context-group>
  <note priority="1" from="description">fruits</note>
</trans-unit>

Это то, что я ожидал:

<trans-unit id="some-id-1" datatype="html">
  <source>apples</source>
</trans-unit>
<trans-unit id="some-id-2" datatype="html">
  <source>oranges</source>
</trans-unit>
<trans-unit id="some-id-3" datatype="html">
  <source>pears</source>
</trans-unit>

Переводы извлекаются с помощью этой команды:

ng xi18n --output-path src/locale

Я также пытался создать динамические идентификаторы перевода:

i18n="@@fruits.{{ fruit }}">

… но в XLIF он отображается буквально как fruits.{{ fruit }}.


Как мне заставить это работать? Это вообще возможно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...