Angular ngx-translate вложенный перевод в en.json?

Я хочу перевести заявление внутри шаблона html. Сам переведенный оператор содержит канал перевода. Кажется, это не работает, есть ли альтернативный подход?

в HTML:

<div class="description">
        {{ state + "-page.intro-info-description" | translate }}

        <ul class="bullet">
        <li>{{ state + "-page.intro-info-1" | translate }}</li>
        <li>{{ state + "-page.intro-info-2" | translate }}</li>
        <li>{{ state + "-page.intro-info-3" | translate }}</li>
        </ul>

    {{ "intro-info-description" | translate }}

    </div>

en.json:

{
 "intro-info-description": "You can register with 
 {{ 'provider' | translate }} if you can provide the following 
 information:",

"provider:": "Provider"
}

Я бы хотел, чтобы на странице было написано: «Вы можете зарегистрироваться у Провайдера, если можете предоставить следующую информацию:»

Вместо этого он говорит:

"Вы можете зарегистрироваться в {{'provider' | translate}}, если можете предоставить следующую информацию:"


person Carlisle Manson    schedule 08.02.2019    source источник


Ответы (1)


Для этого вы можете использовать translateParam.

HTML-код выглядит так:

{{ state + "-page.intro-info-description" | translate: { provider: (state + "-page.provider" | translate) }}}

или как элемент

<p [translate]="state + '-page.intro-info-description'" [translateParams]="{ provider: (state + "-page.provider" | translate)}"></p>

ваши файлы json будут выглядеть так:

{
 "intro-info-description": "You can register with 
 {{provider}} if you can provide the following 
 information:",

"provider:": "Provider"
}
person Tapi    schedule 08.02.2019