Posez votre question et obtenez un résumé du document en referencant cette page et le Provider AI de votre choix
En intégrant le serveur MCP Intlayer à votre assistant AI, vous pouvez récupérer tous les documents directement depuis ChatGPT, DeepSeek, Cursor, VSCode, etc.
Voir la documentation du serveur MCPHistorique des versions
- Ajout du plugin loadJSONv7.0.601/11/2025
- Passage au plugin syncJSONv7.0.029/10/2025
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 automatiser vos traductions JSON react-intl avec Intlayer
Table des matières
Qu'est-ce que Intlayer ?
Intlayer est une bibliothèque d'internationalisation innovante et open-source conçue pour pallier les limites des solutions i18n traditionnelles. Elle offre une approche moderne de la gestion de contenu dans les applications React.
Consultez une comparaison concrète avec react-intl dans notre article de blog react-i18next vs. react-intl vs. Intlayer.
Pourquoi combiner Intlayer avec react-intl ?
Bien qu'Intlayer fournisse une excellente solution i18n autonome (voir notre guide d'intégration React), vous pourriez vouloir le combiner avec react-intl pour plusieurs raisons :
- Code existant : Vous disposez d'une implémentation react-intl établie et souhaitez migrer progressivement vers la meilleure expérience développeur d'Intlayer.
- Exigences héritées : Votre projet nécessite une compatibilité avec les plugins ou workflows react-intl existants.
- Familiarité de l'équipe : Votre équipe est à l'aise avec react-intl mais souhaite une meilleure gestion du contenu.
- Utilisation des fonctionnalités d'Intlayer : Vous souhaitez utiliser les fonctionnalités d'Intlayer telles que la déclaration de contenu, l'automatisation des traductions, le test des traductions, et plus encore.
Pour cela, Intlayer peut être implémenté comme un adaptateur pour react-intl afin d'automatiser vos traductions JSON dans les pipelines CLI ou CI/CD, tester vos traductions, et bien plus.
Ce guide vous montre comment tirer parti du système supérieur de déclaration de contenu d'Intlayer tout en maintenant la compatibilité avec react-intl.
Guide étape par étape pour configurer Intlayer avec react-intl
Étape 1 : Installer les dépendances
Installez les paquets nécessaires :
npm install intlayer @intlayer/sync-json-pluginDescriptions des paquets :
- intlayer : Bibliothèque principale pour la gestion de l'internationalisation, la déclaration de contenu et la construction
- @intlayer/sync-json-plugin : Plugin pour exporter les déclarations de contenu Intlayer au format JSON compatible avec react-intl
Étape 2 : Implémenter le plugin Intlayer pour envelopper le JSON
Créez un fichier de configuration Intlayer pour définir vos locales supportées :
Si vous souhaitez également exporter des dictionnaires JSON pour react-intl, ajoutez le plugin syncJSON :
Copier le code dans le presse-papiers
import { Locales, type IntlayerConfig } from "intlayer";import { syncJSON } from "@intlayer/sync-json-plugin";const config: IntlayerConfig = { internationalization: { locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH], defaultLocale: Locales.ENGLISH, }, plugins: [ syncJSON({ source: ({ key, locale }) => `./intl/messages/${locale}/${key}.json`, }), ],};export default config;Le plugin syncJSON enveloppera automatiquement le JSON. Il lira et écrira les fichiers JSON sans changer l'architecture du contenu.
Si vous souhaitez faire coexister ce JSON avec les fichiers de déclaration de contenu Intlayer (.content files), Intlayer procédera de la manière suivante :
1. charger à la fois les fichiers JSON et les fichiers de déclaration de contenu et les transformer en un dictionnaire Intlayer.2. s'il y a des conflits entre le JSON et les fichiers de déclaration de contenu, Intlayer procédera à la fusion de tous ces dictionnaires. Cela dépendra de la priorité des plugins, ainsi que de celle du fichier de déclaration de contenu (tout est configurable).Si des modifications sont effectuées via la CLI pour traduire le JSON, ou via le CMS, Intlayer mettra à jour le fichier JSON avec les nouvelles traductions.
Pour plus de détails sur le plugin syncJSON, veuillez consulter la documentation du plugin syncJSON.
(Optionnel) Étape 3 : Implémenter des traductions JSON par composant
Par défaut, Intlayer chargera, fusionnera et synchronisera à la fois les fichiers JSON et les fichiers de déclaration de contenu. Voir la documentation sur la déclaration de contenu pour plus de détails. Mais si vous préférez, en utilisant un plugin Intlayer, vous pouvez également implémenter une gestion par composant des JSON localisés n'importe où dans votre base de code.
Pour cela, vous pouvez utiliser le plugin loadJSON.
Copier le code dans le presse-papiers
import { Locales, type IntlayerConfig } from "intlayer";import { loadJSON, syncJSON } from "@intlayer/sync-json-plugin";const config: IntlayerConfig = { internationalization: { locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH], defaultLocale: Locales.ENGLISH, }, // Gardez vos fichiers JSON actuels synchronisés avec les dictionnaires Intlayer plugins: [ /** * Chargera tous les fichiers JSON dans src correspondant au modèle {key}.i18n.json */ loadJSON({ source: ({ key }) => `./src/**/${key}.i18n.json`, locale: Locales.ENGLISH, priority: 1, // Assure que ces fichiers JSON ont la priorité sur les fichiers dans `./locales/en/${key}.json` }), /** * Chargera, et écrira la sortie ainsi que les traductions dans les fichiers JSON du répertoire locales */ syncJSON({ source: ({ key, locale }) => `./messages/${locale}/${key}.json`, priority: 0, }), ],};export default config;Cela chargera tous les fichiers JSON dans le répertoire src qui correspondent au modèle {key}.i18n.json et les chargera en tant que dictionnaires Intlayer.
Configuration Git
Il est recommandé d'ignorer les fichiers Intlayer générés automatiquement :
Copier le code dans le presse-papiers
# Ignorer les fichiers générés par Intlayer.intlayerCes fichiers peuvent être régénérés lors de votre processus de build et n'ont pas besoin d'être commités dans le contrôle de version.
Extension VS Code
Pour une meilleure expérience développeur, installez l'extension officielle Intlayer VS Code Extension :