Je construis une application en utilisant la dernière version d'Angular5 et ce dont j'ai besoin, c'est qu'un utilisateur puisse changer de langue. Je n'ai jamais eu à implémenter cela dans un Angular2 + (en fait, j'utilise Angular5).
Je dois définir des traductions à deux endroits:
Je cherchais ngx-translation et il semble pouvoir faire tout ce dont j'ai besoin, car cela vous permet de changer de langue sans reconstruire votre code, voir ici . Cependant, j'ai lu il allait probablement être obsolète car le développeur principal s'est déplacé vers l'équipe angular pour développer son code i18n.
Je comprends aussi que le courant i18n ne supporte pas tout ce dont j'ai besoin pour le moment, voir ici .
Ma question - Quel est l'état d'avancement des traductions dans la dernière version d'Angular? Existe-t-il d'autres bibliothèques que les gens recommanderaient à la place, si en effet, Angular lui-même n'a pas encore de support complet (pour changer de langue sans recompiler)? Est-ce que ngx-translate est bon pour l'avenir?
Toute orientation dans ce domaine est grandement appréciée!
Après avoir passé du temps à regarder cela, j'ai pensé poster les principales différences que j'ai trouvées entre ngx-translate et Angular-i18n :
Ocombe (développeur de ngx): @josersleal c'est exactement ce qu'ils ont fait, l'équipe angular m'a embauchée pour améliorer i18n pour tout le monde. Mais il n'y a aucun moyen d'intégrer ma bibliothèque directement dans le Noyau, après avoir travaillé pendant 3 mois pour l’équipe principale, je peux vous dire que Angular i18n est beaucoup plus complexe et élaboré que mon livre. Il gère beaucoup de choses plus complexes et le fait sans tous les bugs et toutes les lacunes de ma bibliothèque. Je comprends que c’est frustrant que le noyau n’évolue pas aussi rapidement que ce qu’une bibliothèque peut faire, mais il y a des raisons à cela, et la première est que vous ne pouvez pas implémenter quelque chose et le modifier à chaque fois que vous voyez que vous avez oublié d’inclure un cas d'utilisation. Tout doit être soigneusement planifié et pensé. Néanmoins, vous aurez la plupart des choses que cette bibliothèque peut faire dans le noyau à l'avenir, mais cela pourrait prendre un an avant que nous y arrivions malheureusement. La bonne nouvelle est que ça va être bien meilleur que mon implémentation naïve.
C’est un bon article pour discuter des principales différences entre ngx-translate et i18n d’Angular: https://github.com/ngx-translate/core/issues/495
Les modifications pour i18n sont dues à la version 6 de angular. Nous sommes actuellement sur la version 5:
Ce ne sera pas pour 5.0, cela devrait être avant 6.0 (donc avant mars 2018). Malheureusement, je n'ai pas de date plus précise
Le développeur de ngx-translate (et maintenant l'un des principaux contributeurs d'angular-i18n) a posté il y a 12 jours: https://github.com/angular/angular/issues/2019
Voici le document de conception pour i18n (la section État de la technique est intéressante): https://docs.google.com/document/d/1LH7lJ1GjRgpGUjzNb6Eg4xrPooRdi80QOTYYh8z_JyY/edit#
Quelques idées…
Je vais aussi jeter un oeil à la bibliothèque Angular-l10n qui a l’air très belle:
Oui. ngx-translate est bon jusqu'à maintenant, et j'espère que ce le sera également à l'avenir.
J'utilise ngx-translate dans mon projet actuel Angular 5 avec plus de 5 langues.
Cela fonctionne bien pour moi jusqu'à présent. Je n'ai pas eu à apporter de modifications personnalisées, cela a fonctionné comme du plug-and-play.
J'ai utilisé ce plugin https://github.com/ngx-translate/core
Rob McCabe, il y a d'autres préoccupations importantes en plus de celle que vous avez énumérée ci-dessus. Je l'ai expliqué ici .