Posez votre question et obtenez un résumé du document en referencant cette page et le Provider AI de votre choix
Historique des versions
- "Update to Next.js >= 9.4.0 architecture"v9.4.022/08/2026
- "Update Solid useIntlayer API usage to direct property access"v8.9.004/05/2026
- "Update compiler options, add FilePathPattern support"v8.2.009/03/2026
- "Initial release"v8.1.623/02/2026
Le contenu de cette page a été traduit à l'aide d'une IA.
Voir la dernière version du contenu original en anglaisSi vous avez une idée d’amélioration pour améliorer cette documentation, n’hésitez pas à contribuer en submitant une pull request sur GitHub.
Lien GitHub de la documentationCopier le Markdown du doc dans le presse-papiers
Comment rendre multilingue (i18n) une application Next.js existante après coup (Guide i18n 2026)
Ajouter l'internationalisation (i18n) à un projet Next.js dès le premier jour est relativement simple. Mais que se passe-t-il lorsque vous disposez déjà d'une application Next.js mature en production, conçue dans une seule langue, et que vous devez la rendre multilingue après coup ?
Si vous avez déjà tenté l'expérience avec des bibliothèques traditionnelles comme next-intl ou next-i18next, vous connaissez le cauchemar :
- Rechercher manuellement des chaînes de texte codées en dur dans des centaines de composants JSX/TSX.
- Créer manuellement des fichiers JSON imbriqués et inventer des clés de traduction arbitraires (
pages.dashboard.header.title, etc.). - Remplacer le texte JSX par des appels de hooks verbeux (
t('...')). - Restructurer l'intégralité du dossier
app/enapp/[locale]/..., ce qui casse les routes existantes, les favoris et l'indexation des moteurs de recherche.
En 2026, vous n'avez plus besoin de réécrire votre base de code pour internationaliser votre application Next.js. Avec Intlayer, vous pouvez intégrer l'internationalisation dans une application Next.js existante en quelques minutes grâce à l'extraction automatisée, la traduction assistée par IA et un routage non intrusif.
Vous recherchez le guide technique pas-à-pas complet pour Next.js 16 App Router ? Consultez notre documentation dédiée : Traduire Next.js 16 avec Intlayer.
Table des matières
Le dilemme de l'adaptation : Pourquoi internationaliser une application existante est difficile
Lors de l'internationalisation d'une application Next.js existante, les développeurs rencontrent trois obstacles majeurs :
- Perturbation du code : Extraire manuellement les textes vers des dictionnaires JSON nécessite de modifier presque chaque fichier de composant, générant d'énormes diffs git et des risques de régression.
- Contrainte de routage : Les bibliothèques i18n traditionnelles vous obligent généralement à déplacer votre layout racine et vos pages dans un segment dynamique
[locale](ex./app/[locale]/page.tsx). Pour une application existante, cela perturbe les middlewares, les chemins relatifs et les intégrations tierces. - Travail fastidieux de traduction : Une fois les chaînes extraites, traduire les dictionnaires en 5, 10 ou 20 langues nécessite des copier-coller sans fin ou des services de gestion de localisation coûteux.
Intlayer résout ces problèmes au niveau architectural grâce à l'extraction assistée par compilateur, aux dictionnaires déclaratifs et à un routage flexible.
Extraction automatisée du contenu (fini la recherche manuelle de textes)
Option A : L'outil CLI d'extraction (npx intlayer extract)
Vous pouvez exécuter l'outil d'extraction d'Intlayer directement sur votre code :
Copier le code dans le presse-papiers
Cette commande analyse vos composants React, extrait les textes visibles par l'utilisateur et génère automatiquement des fichiers de déclaration de contenu (.content.ts) directement à côté de chaque composant. Votre code reste déclaratif, lisible et entièrement typé.
Option B : Le compilateur Intlayer (Extraction à la compilation)
Avec le compilateur Intlayer activé dans votre configuration, vous continuez simplement à écrire vos composants avec du texte brut dans votre langue par défaut. Lors du build, le compilateur extrait les textes et injecte automatiquement le contenu localisé :
Copier le code dans le presse-papiers
En coulisses, Intlayer construit le dictionnaire et associe le composant à son contenu localisé, éliminant totalement l'étape de refactorisation manuelle.
Dans ce cas, il générera un fichier src/app/page.content.ts avec le contenu suivant :
Copier le code dans le presse-papiers
Traduction assistée par IA avec votre LLM favori
Une fois votre contenu extrait, le traduire en plusieurs langues ne devrait pas prendre des jours. Intlayer intègre une CLI de traduction IA compatible avec OpenAI, Anthropic, DeepSeek ou Mistral en utilisant vos propres clés d'API :
Copier le code dans le presse-papiers
Copier le code dans le presse-papiers
L'exécution de npx intlayer fill remplit vos déclarations .content.ts avec les traductions de vos locales configurées :
Copier le code dans le presse-papiers
Parce qu'Intlayer fournit un applicationContext global au LLM, les traductions générées préservent les nuances techniques, le ton de la marque et le contexte grammatical bien mieux que les outils automatisés traditionnels.
Pour vérifier qu'aucune chaîne de texte n'a été oubliée avant la mise en production :
Copier le code dans le presse-papiers
Ajouter le routage multilingue sans casser les URLs existantes
L'une des plus grandes craintes lors de la traduction d'une application existante est de devoir repenser le routage. Intlayer offre une flexibilité totale :
- Mode paramètres d'URL / Cookies (
search-params) : Conservez exactement votre structure de dossiers (/app/page.tsx,/app/dashboard/page.tsx) sans créer de dossier[locale]. Le changement de langue s'effectue par paramètre (ex.?locale=en) ou via un cookie. - Mode préfixe (
prefix/prefix-all-locales) : Lorsque vous êtes prêt pour des URLs optimisées pour le SEO (/fr/dashboard,/en/dashboard), Intlayer gère le préfixe de manière transparente avec son proxy.
Configurez votre intégration Next.js en quelques secondes :
Copier le code dans le presse-papiers
Entourez votre layout racine avec IntlayerProvider :
Copier le code dans le presse-papiers
SEO multilingue
Assurez une visibilité internationale en générant vos métadonnées localisées, balises OpenGraph et liens canoniques hreflang :
Copier le code dans le presse-papiers
En savoir plus : Prêt pour la mise en œuvre pas-à-pas ?
Ce guide présente une vue d'ensemble des solutions pour adapter une application Next.js existante à l'internationalisation en 2026 sans friction architecturale. Pour suivre le guide technique pas-à-pas complet, incluant la configuration du middleware, la génération statique (generateStaticParams), les sitemaps localisés et l'intégration des Server Components, rendez-vous sur notre documentation détaillée :
👉 Guide complet pour traduire Next.js 16 avec Intlayer
Foire aux questions (FAQ)
Oui. Intlayer prend en charge routing.mode: "search-params" ainsi que la détection par cookie ou en-tête HTTP. Vous pouvez conserver votre structure de dossiers existante sans casser vos URLs ni vos redirections.
Non. Vous pouvez utiliser npx intlayer extract pour détecter et extraire automatiquement les textes vers des déclarations localisées, ou utiliser le compilateur Intlayer pour transformer vos composants à la compilation.
Intlayer utilise des déclarations de contenu par composant et une optimisation par macros à la compilation. Le client ne charge que les traductions nécessaires aux composants affichés, et les Server Components s'exécutent côté serveur sans surcoût client.
Oui. La commande npx intlayer fill se connecte au fournisseur d'IA de votre choix (OpenAI, Anthropic, Mistral, DeepSeek) pour générer automatiquement les traductions manquantes en préservant le contexte.
Commentaires
Aucun commentaire pour le moment. Soyez le premier à partager vos pensées.
