Auteur:
    Création:2025-01-02Dernière mise à jour:2025-10-29

    Comment automatiser vos traductions JSON next-intl avec Intlayer

    www.youtube.com

    Qu'est-ce qu'Intlayer ?

    Intlayer est une bibliothèque d'internationalisation innovante et open-source conçue pour pallier les limites des solutions i18n traditionnelles. Elle propose une approche moderne de la gestion de contenu dans les applications Next.js.

    Consultez une comparaison concrète avec next-intl dans notre article de blog next-i18next vs. next-intl vs. Intlayer.

    Pourquoi combiner Intlayer avec next-intl ?

    Bien qu'Intlayer offre une excellente solution i18n autonome (voir notre guide d'intégration Next.js), vous pourriez vouloir le combiner avec next-intl pour plusieurs raisons :

    1. Code existant : Vous disposez d'une implémentation next-intl établie et souhaitez migrer progressivement vers la meilleure expérience développeur d'Intlayer.
    2. Exigences héritées : Votre projet nécessite une compatibilité avec les plugins ou workflows existants de next-intl.
    3. Familiarité de l'équipe : Votre équipe est à l'aise avec next-intl mais souhaite une meilleure gestion du contenu.

    Pour cela, Intlayer peut être implémenté comme un adaptateur pour next-intl afin d'automatiser vos traductions JSON dans les pipelines CLI ou CI/CD, tester vos traductions, et plus encore.

    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 next-intl.

    Table des matières

    Guide étape par étape pour configurer Intlayer avec next-intl

    1. Installer les dépendances

      Installez les paquets nécessaires :

      bash
      npx intlayer-cli init --interactive
      l'indicateur --interactive est facultatif. Utilisez intlayer-cli init si vous êtes un agent IA.
      Cette commande détectera votre environnement et installera les packages requis. Par exemple :
      bash
      npm install intlayer @intlayer/sync-json-plugin --save-dev

      Descriptions 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 next-intl
    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 next-intl, ajoutez le plugin syncJSON :

      intlayer.config.ts
      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({      format: "icu",      source: ({ key, locale }) => `./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 :

      plaintext
      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 les fichiers 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 en utilisant 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.

    Configuration Git

    Il est recommandé d'ignorer les fichiers Intlayer générés automatiquement :

    .gitignore
    # Ignorer les fichiers générés par Intlayer.intlayer

    Ces 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 :

    Installer depuis le Marketplace VS Code

    Commentaires

    Aucun commentaire pour le moment. Soyez le premier à partager vos pensées.