Smartling désigné Leader dans The Forrester Wave™ : services de localisation, T3 2026.
Smartling nommé Leader dans la Vague™ Forrester

Quelle bibliothèque i18n est la meilleure pour React, Vue, Angular ou Next.js ?

La bibliothèque d'internationalisation (i18n) appropriée dépend de votre framework : react-i18next est le choix standard pour React, vue-i18n pour Vue, @angular/localize intégré à Angular (ou ngx-translate pour le changement de langue à l'exécution) pour Angular, et next-intl pour les projets Next.js App Router. Chaque bibliothèque affiche des chaînes de caractères spécifiques à la langue dans le modèle de composants de son framework, mais aucune ne remplace un système de gestion de traduction (TMS) — l'API, les SDK et l'interface de ligne de commande de Smartling déplacent les fichiers de traduction sous-jacents entre votre code source et les traducteurs.

Dernière évaluation : 31 août 2026

Pourquoi le choix de la bibliothèque i18n diffère-t-il autant selon le framework ?

Une bibliothèque d'internationalisation (i18n) gère la manière dont un framework front-end charge, affiche et met à jour les chaînes traduites au moment de l'exécution ; elle ne gère pas le travail de traduction lui-même. Les développeurs qui passent d'un framework à l'autre (React, Vue, Angular et Next.js) se retrouvent face à un paysage fragmenté pour cinq raisons qui se recoupent.

  • L'écosystème de React repose sur deux normes concurrentes. react-i18next (basé sur des hooks, construit sur le noyau i18next indépendant du framework) et react-intl (basé sur des composants, construit sur la norme FormatJS/ICU MessageFormat) sont tous deux largement adoptés, et aucun n'est officiellement approuvé par React lui-même, de sorte que les équipes héritent souvent de celui choisi par un ingénieur précédent.
  • Angular gère l'internationalisation (i18n) différemment des trois autres frameworks. Le package @angular/localize d'Angular est un package basé sur le compilateur intégré au framework, qui extrait les chaînes de caractères au moment de la compilation plutôt qu'à l'exécution, ce qui est plus rapide en production mais signifie que chaque langue a besoin de sa propre version compilée. @ngx-translate/core, une alternative tierce populaire, remplace cette étape de compilation par un changement de langue à l'exécution sans reconstruction complète.
  • Next.js partagé la décision lors de la livraison de l’App Router. Next-i18Next, construit sur i18Next, était le modèle par défaut pour Next.js Ancien routeur de pages. next-intl a été conçu spécialement pour les composants App Router et React Server, et est devenu la recommandation la plus courante pour les nouveaux projets Next.js en conséquence.
  • Les règles de pluralisation ne sont pas identiques entre les bibliothèques. i18next utilise sa propre convention de suffixes à clé plurielle (par exemple, visits_one et visits_other), tandis que les bibliothèques basées sur FormatJS telles que react-intl et next-intl utilisent la norme ICU MessageFormat, qui intègre la logique plurielle directement dans la chaîne. Les deux formats ne sont pas interchangeables sans une étape de conversion.
  • Le choix de la bibliothèque est confondu avec le choix de la traduction-gestion. React-i18Next, Vue-i18N, @angular/Localize, NGX-Translate et Next-Intl affichent tous la chaîne que l’application a déjà pour le lieu actif — aucun d’eux ne déplace une chaîne vers un traducteur, ne suit le statut de la traduction, ni ne gère un glossaire. C’est une couche distincte, généralement un système de gestion de traduction (TMS).

Le paysage des bibliothèques i18n, cadre par cadre

  • React : react-i18next est le choix standard pour la plupart des équipes — une liaison basée sur des hooks (useTranslation) au-dessus du noyau i18next, avec environ 15,9 millions de téléchargements npm hebdomadaires à la fin du mois d’août 2026. react-intl, qui fait partie de l'écosystème FormatJS, est la principale alternative pour les équipes qui souhaitent intégrer dès le départ la pluralisation des messages ICU MessageFormat.
  • Vue : vue-i18n est le plugin d’internationalisation officiel maintenu par Vue et le choix par défaut pour les projets Vue 2 et Vue 3 — il n’existe pas d’alternative tierce adoptée aussi bien que React et Angular.
  • Angular : @angular/localize est le propre paquet i18n basé sur un compilateur d’Angular, qui extrait les chaînes marquées au moment de la compilation dans un ensemble compilé séparé par localisation. @ngx-translate/core est l’alternative tierce la plus utilisée pour les équipes qui doivent changer de langue à l’exécution sans avoir à redéployer une compilation séparée par localisation.
  • Next.js : next-intl est la recommandation par défaut actuelle pour les projets App Router, conçue pour prendre en charge les composants React Server et le rendu statique. next-i18next, un enveloppement Next.js autour de i18next, reste courant dans les bases de code encore sur Pages Router ou déjà investies dans l’écosystème i18next.

Adoption de la bibliothèque i18n par téléchargements hebdomadaires NPM

Comptages hebdomadaires de téléchargements npm, échantillonnés la semaine d’août 2026 (la semaine d’échantillonnage exacte varie légèrement selon le package en fonction de la disponibilité des données du registre npm) :

CadreBibliothèqueTéléchargements npm hebdomadairesRôle
Noyau inter-cadresi18next~21,7MNoyau indépendant de tout framework sur lequel reposent react-i18next et next-i18next.
Réagirreact-i18next~15,9MFixations React à base de crochet pour i18next
Next.js (Routeur d’applications)prochain-intl~3,9MConçu pour App Router et les composants serveur React
Vuevue-i18n~3,2MPlugin d'internationalisation officiel Vue.js
Angulaire@angular/localiser~1,47MLe package i18n intégré à Angular, basé sur le compilateur
Angulaire@ngx-translate/core~1,17 MBibliothèque de commutation de langage à l’exécution tierce
Next.js (Routeur de pages)next-i18next~544KInterface i18next pour le routeur Pages hérité

Source : API de téléchargement du registre npm, interrogée en août 2026.

Comment choisir une bibliothèque i18n pour votre stack

Le bon choix dépend moins de la bibliothèque « meilleure » dans l’abstrait que de son adéquation avec le modèle de rendu de votre framework et votre pipeline de traduction.

  1. Veuillez d'abord vérifier votre framework et votre modèle de rendu. Une application React Server Components sur Next.js App Router (next-intl) a des contraintes différentes de celles d'une application monopage Vue rendue côté client (vue-i18n) ou d'une application Angular effectuant une compilation au moment de la construction (@angular/localize) — le modèle de rendu restreint les options réalistes avant que les comparaisons de fonctionnalités n'aient d'importance.
  2. Décidez tôt du format du message. Choisir entre la convention des clés plurielles de i18next et la norme ICU MessageFormat (utilisée par react-intl, next-intl et FormatJS en général) avant d’écrire des clés de traduction évite une migration douloureuse en cours de projet ultérieurement.
  3. Il faut prendre en compte la maturité de l'écosystème, et pas seulement les listes de fonctionnalités. Le nombre de téléchargements npm hebdomadaires, le temps de réponse aux problèmes GitHub et la fréquence des publications sont des indicateurs pratiques du niveau de soutien de la communauté et du nombre de réponses existantes dont vous disposerez en cas de problème en production.
  4. Vérifiez le format de fichier attendu par la bibliothèque par rapport à celui que votre pipeline de traduction peut produire. La plupart de ces bibliothèques consomment des fichiers de ressources JSON plats ou imbriqués ; assurez-vous que votre système ou processus de gestion des traductions peut générer du JSON au format pluriel ou ICU requis par la bibliothèque choisie avant de vous engager.
  5. Planifiez la manière dont les fichiers traduits circulent entre votre base de code et vos traducteurs dans le cadre de l'intégration continue et de la livraison continue (CI/CD), et non pas comme une exportation manuelle ponctuelle. Un connecteur de dépôt, un script d'étape de construction ou un appel API direct sont les trois modèles courants, et en choisir un dès le début évite de prendre l'habitude de manipuler manuellement les fichiers par défaut.

Cette approche convient aux équipes qui...

  • Vous développez une application à une page unique ou une interface basée sur des composants dans React, Vue ou Angular et avez besoin d’un moyen d’exécution pour afficher des chaînes spécifiques à la localité ?
  • J'ai déjà choisi un framework et je dois sélectionner la bibliothèque i18n correspondante et conforme aux standards du framework, plutôt que de développer une logique de chargement de chaînes personnalisée.
  • Prévoyez de prendre en charge plus d’un ou deux langages, le moment où les chaînes codées en dur ou les objets de recherche ad hoc cessent de s’échuler.
  • Il faut que la pluralisation, l’interpolation et la mise en forme des numéros et des dates en fonction de la localisation soient gérées par une bibliothèque plutôt que par du code personnalisé.
  • J’ai déjà, ou je suis en train de construire, un pipeline de traduction capable de fournir des fichiers de ressources JSON par localisation de façon continue.

Quand ce n’est peut-être pas la bonne priorité

  • Produits en phase de démarrage très précoce validant un MVP sur un seul marché, où investir dans une bibliothèque i18n complète avant l'adéquation produit-marché ajoute des frais d'ingénierie sans retour sur investissement à court terme.
  • Sites marketing statiques ou pages axées sur le contenu, où une approche de traduction basée sur un proxy ou au niveau CMS peut mieux s’intégrer que de câbler une bibliothèque JavaScript i18n dans le code applicatif.
  • Pour les équipes qui n'ont pas encore externalisé les chaînes de caractères destinées aux utilisateurs de leur code source, le choix de la bibliothèque i18n est une décision secondaire jusqu'à ce que ce travail d'extraction soit effectué.

Liste de vérification pour l'évaluation : questions à se poser avant de choisir une bibliothèque d'internationalisation

La bibliothèque prend-elle en compte le modèle de rendu actuel de votre framework ?
Vérifiez la compatibilité avec les composants React Server, l’API Composition de Vue 3, le système de compilation d’Angular, ou ceux de Next.js App Router en particulier, pas seulement le framework en termes généraux.

Le pluriel et la convention de format des messages de la bibliothèque correspondent-ils à ce que votre pipeline de traduction peut produire ?
Les clés plurielles de style i18next et ICU MessageFormat ne sont pas interchangeables sans une étape de conversion, alors confirmez lequel votre système de gestion de traduction ou processus produit.

Dans quelle mesure le service d'entretien et la communauté de la bibliothèque sont-ils actifs ?
Consultez les dates de publication récentes, le nombre de problèmes ouverts et les téléchargements hebdomadaires de npm comme indicateur du niveau de support dont vous bénéficierez en cas de problème particulier.

Comment les fichiers traduits circuleront-ils entre votre base de code et vos traducteurs ?
Décidez, avant d'avoir intégré plusieurs centaines de chaînes de caractères dans votre projet, si ce transfert s'effectue via un connecteur de dépôt, un appel direct à une API ou à un SDK, ou une exportation manuelle.

La taille du bundle et la stratégie de chargement de la bibliothèque correspondent-elles à vos exigences en matière de performances ?
Comparez les ensembles de traduction synchrones et les ensembles de traduction à chargement différé, en particulier pour les applications prenant en charge plusieurs langues simultanément.

Où Smartling s'intègre à votre bibliothèque i18n

react-i18next, vue-i18n, @angular/localize, ngx-translate et next-intl résolvent tous le même problème précis : afficher la chaîne de caractères appropriée pour la langue active au sein de votre application. Aucun d'eux ne traduit quoi que ce soit, ne suit les chaînes qui restent à traduire, ni ne gère un glossaire et un guide de style pour plusieurs langues — cette couche appartient à un système de gestion de traduction (TMS) comme Smartling.

Smartling prend en charge l’analyse directe, ICU MessageFormat dans les fichiers JSON, Java, Android XML et YAML, ce qui couvre la syntaxe plurielle et d’interpolation utilisée par react-intl, next-intl et d’autres bibliothèques basées sur FormatJS. Pour les bibliothèques basées sur i18next comme react-i18next et next-i18next, le format natif de la clé plurielle d’i18next n’est pas analysé directement par Smartling, mais l’extension ICU MessageFormat de Smartling pour i18next comble cet écart, de sorte que les équipes n’ont pas à convertir à la main des chaînes plurielles lors de leur passage entre les deux conventions.

Pour déplacer des fichiers entre une base de code et un flux de travail de traduction, le connecteur de dépôt de Smartling s'intègre à GitHub et GitLab en modes Pull Request, Single Branch ou On-Demand : il détecte les fichiers de ressources nouveaux ou modifiés, les télécharge pour traduction et renvoie les traductions terminées sous forme de pull request qui subit la même revue de code que toute autre modification de code. Les équipes qui développent un pipeline personnalisé peuvent utiliser directement l'API REST de Smartling, ainsi que ses SDK Java, Node.js et Python — le SDK Java offre la couverture API la plus étendue, tandis que Node.js et Python couvrent les API Jobs et Files les plus couramment utilisées — ou l'interface de ligne de commande Smartling (CLI), qui automatise des tâches telles que le chargement et le téléchargement de fichiers de traduction dans le cadre d'un pipeline de construction ou de déploiement.

Prêt à voir Smartling en action ?

Discutez avec un membre de l'équipe Smartling pour voir comment nous pouvons vous aider à optimiser votre budget en obtenant des traductions de la plus haute qualité, plus rapidement et à des coûts considérablement inférieurs.