Динамически добавляем переведенный текст на Angular - PullRequest
1 голос
/ 19 сентября 2019

Я использую ngx-translate, у меня есть ссылка на Angular, текстовое значение которой будет динамическим и должно быть переведено. Например, оно должно иметь формат 'Hello XYZ ', 'Hello ABC ', как я могу передать параметры в шаблоне HTML, такие как' ABC 'и' XYZ ', так что ссылка будет' Hello ABC 'и 'Hello XYZ ' соответственно.

<div class="parent">

          <a class="link">

            {{ MYCONSTANTS.HELLO | translate}}

          </a>

 </div>

Здесь MYCONSTANTS.HELLO будет иметь значение 'Hello'

Ответы [ 4 ]

3 голосов
/ 19 сентября 2019

ngx-translate поддерживает параметры, которые вы можете передавать динамически.Я полагаю, ваш json выглядит следующим образом:

"HELLO": "HELLO {{param}}" 

, и мы можем динамически визуализировать param, в вашем случае

{{ MYCONSTANTS.HELLO | translate {param: abc  }}

In Component

abc: string = 'ABC'; //This can be dynamic
0 голосов
/ 19 сентября 2019

В html-файле вы можете написать так, чтобы передать параметры:

 <a class="link" [translate]="'MYCONSTANTS.HELLO'" [translateParams]="{value: 'ABC'}"></a>

, а в файле en.json напишите так:

 "MYCONSTANTS": {
    …
    "HELLO": "Hello {{value}}!"
 }

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

0 голосов
/ 19 сентября 2019

html

<div class="parent">
  <a class="link">
    {{ MYCONSTANTS.HELLO | translate}} {{ abcVar | translate }}
  </a>
</div>

в файле ts создайте имя переменной 'abcVar'

let abcVar = 'ABC'

Дайте мне знать, если у вас есть какие-либо сомнения

0 голосов
/ 19 сентября 2019
<div class="parent">

          <a class="link">

            {{ MYCONSTANTS.HELLO | translate}} {{ MYCONSTANTSPATH + '.foo' | translate }}

          </a>

 </div>
...