У меня есть массив значений, которые являются фиксированными и не загружаются из внешнего источника:
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 }}
.
Как мне заставить это работать? Это вообще возможно?