Как я могу подать в угловых 7 приложений несколько локалей одновременно? - PullRequest
0 голосов
/ 26 февраля 2019

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

Можно ли делать то, что я хочу, с / без хаков?

РЕДАКТИРОВАТЬ: Стоит отметить, что я использую подход i18n, предложенный на этой странице: https://angular.io/guide/i18n

1 Ответ

0 голосов
/ 26 февраля 2019

В настоящее время Angular не поддерживает динамическую систему перевода.Вам нужно сгенерировать одну статическую сборку для каждой локали, которую вы хотите в своем приложении, как указано в документах :

. Вам необходимо создать и развернуть отдельную версию приложения длякаждый поддерживаемый язык.

Одно из решений (для меня, лучше, чем подход Angular), это использование библиотеки ngx-translate ( GitHub repo ).Стоит отметить, что создатель библиотеки (ocombe) сейчас работает с командой Angular, которая создает новую систему i18n на основе Ivy Renderer.

Там, где я работаю, мы запустили очень большой проект с использованием системы Angular i18n.из-за стандартного формата xliff для переводчиков, но через 6 месяцев мы решили оставить его из-за времени сборки (представьте, что в большом проекте 10 сборок в режиме prod в большом проекте ... Сборка может занять около 30 минут).Другая проблема, с которой мы столкнулись, заключается в том, что система угловых переводов не поддерживает переводы в строках с параметрами, что очень часто встречается ...

...