Угловой перевод i18n для динамического компонента - PullRequest
0 голосов
/ 07 июня 2018

Я много читал об Angular 2+ i18n и искал лучший способ попробовать и построить динамические компоненты.

Проблема:

  1. i18n не может перевеститекст переменных в xlf-файл для динамических
  2. i18n затрудняет создание динамических компонентов с текстом с использованием атрибута i18n

Возможное решение:

Даже если мы не можемиспользовать динамические строки в переменных для i18n, чтобы выбрать их при создании файла языкового ресурса, мы все равно должны иметь возможность создавать компоненты и передавать им текст.Для примера ниже приведена одна форма, использующая <app-error> для отображения одного сообщения об ошибке ввода, а также анимации.Будут другие формы, поэтому компонент <app-error> должен использоваться повторно.

Учитывая возможность многократного использования для других компонентов формы, я сделал нечто похожее на следующее.Этот способ позволяет передавать текст и использовать transclusion для вставки уже переведенного текста в компонент сообщения об ошибке <app-error>.

form.component.html

<app-error
  i18n="Error | form validation">
  Please enter a first name.
</app-error>

app-error.component.html

<li>
  <ng-content></ng-content>
</li>

Мне удалось найти вышеупомянутое решение для правильной работы, так как i18n его подберет и переведет, а также текст будет введенправильно с <ng-content>.Так что это похоже на отличное решение, верно?

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

...