web-dev-qa-db-fra.com

Angular 6 Prise en charge de la traduction d'exécution i18n

J'ai lu que le support d'exécution i18n arrive angular 6, mais je ne trouve rien dans rc3. Est-il reporté ou pas encore documenté? La documentation i18n indique toujours que l'on doit construire une construction distincte pour chaque langue.

https://github.com/ngx-translate est une alternative mais je ne sais pas combien de temps cela sera pris en charge ou si le support dans Angular 6 sera être totalement différent. La migration plus tard comprendra la réécriture de toutes les instances i18n dans le code et créera de nouveaux fichiers de traduction. J'ai de la place pour attendre un peu dans mon projet mais pas pour toujours.

Pas été en mesure de trouver quoi que ce soit sur la façon dont le nouveau support i18n dans Angular 6 sera, sauf qu'il arrive.

16
RockBop

L'auteur de ngx-translate, Olivier Combe, travaille avec Angular pour mettre à niveau leurs offres i18n pour offrir une traduction d'exécution, ainsi que de nombreuses autres mises à niveau. Je pense que cette fonctionnalité est attendue dans Angular 7, mais Combe a publié un polyfill pour les versions antérieures.

https://github.com/ngx-translate/i18n-polyfill

Il est assez simple à intégrer avec une configuration existante Angular i18n, avec seulement un minimum de travail. Je recommande d'utiliser ceci sur ngx-translate, comme Angular i18n - bien que plus compliqué à utiliser - est beaucoup plus riche en fonctionnalités que ngx-translate.

Voir la discussion de Combe sur les différences ici: https://github.com/ngx-translate/core/issues/495#issuecomment-291158036

4
Greg J Preece

Basé sur un commentaire sur https://github.com/angular/angular/issues/11405 et puisque nous devons attendre Angular 8, j'ai créé Gist qui montre comment utiliser un composant d'assistance et un service pour collecter des traductions.

Cela ne fonctionne qu'avec JIT et seules les interpolations simples sont prises en charge.

https://Gist.github.com/mohlendo/90c834f90bc084af2b869ca36a20712f

2
mohlendo