Угловая интернационализация — XLIFF с HTML-тегами

Мне было интересно, можно ли перевести части страницы, где в тексте есть HTML-теги.

Пример:

<p i18n="@@genericError">
    Please Try again or <a href="https://help.companyx.com">get in touch</a> with us for help.
</p>

Мой файл перевода выглядит так:

<trans-unit id="genericError" datatype="html">
    <source>
        Please Try again or <x id="START_LINK" ctype="x-a" equiv-text="&lt;a&gt;" />get in touch<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a&gt;" /> with us for help.
    </source>
    <target>
        Por favor tente novamente ou <x id="START_LINK" ctype="x-a" equiv-text="&lt;a&gt;" />entre em contato<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a&gt;" /> conosco.
    </target>
</trans-unit>

Когда я пытаюсь запустить свой проект с помощью ng serve, я получаю следующую ошибку:

ОШИБКА в неизвестном заполнителе START_LINK

Я проверил онлайн (https://github.com/angular/angular/issues/25242) и, если я правильно понял, похоже, что HTML не предназначен для встраивания в файлы перевода.

У вас есть какой-нибудь обходной путь для этого?

Спасибо!


person Leandro Lorenzini de Oliveira    schedule 21.12.2018    source источник


Ответы (1)


Да, это так. вам нужно разделить каждый текстовый узел с любым другим тегом вокруг тега a.

person zmag    schedule 21.12.2018