Как использовать angular18n в html-шаблоне с переменными?

#angular #internationalization #angular-i18n

Вопрос:

Можно ли использовать переменные в строке углового шаблона i18n?

В машинописном тексте я могу использовать строку шаблона, например:

 public welcomeMessage = $localize`:@@test.welcome: Hello ${this.name}:user_name:! How's your day?`;
 

Могу ли я использовать что-то подобное в html-шаблонах? напр.

 <p i18n="@@test.welcome">Hello {{name}}:user_name:! How's your day?</p>
 

Надеюсь, вы меня поняли.

Ответ №1:

Я столкнулся с той же проблемой, и в документации Angular i18n несколько неясно, как интерполировать и называть интерполированный заполнитель. Для простой интерполяции текста вы можете просто использовать:

 <p i18n>Hello {{name}}! How's your day?</p>
 

Но AFAIK в настоящее время нет способа назвать интерполированный заполнитель, он просто превратится в интерполированный текст:

 <source>Hello <x id="INTERPOLATION" equiv-text="{{name}}"/>! Howamp;apos;s your day?</source>
 

Однако вы всегда можете вручную изменить заполнитель ( equiv-text ) в извлеченном файле XLIFF.