Auteur:
    Création:2025-08-23Dernière mise à jour:2026-08-30

    Documentation Intlayer

    Bienvenue dans la documentation officielle d'Intlayer ! Ici, vous trouverez tout ce dont vous avez besoin pour intégrer, configurer et maîtriser Intlayer pour tous vos besoins en internationalisation (i18n), que vous travailliez avec Next.js, React, Vite, Express ou un autre environnement JavaScript.

    Introduction

    Qu'est-ce qu'Intlayer ?

    Intlayer est une bibliothèque d'internationalisation conçue spécifiquement pour les développeurs JavaScript. Elle permet la déclaration de votre contenu partout dans votre code. Elle convertit les déclarations de contenu multilingue en dictionnaires structurés pour s'intégrer facilement dans votre code. Grâce à TypeScript, Intlayer rend votre développement plus robuste et plus efficace.

    Intlayer fournit également un éditeur visuel optionnel qui vous permet de modifier et de gérer facilement votre contenu. Cet éditeur est particulièrement utile pour les développeurs qui préfèrent une interface visuelle pour la gestion de contenu, ou pour les équipes qui génèrent du contenu sans avoir à se soucier du code.

    Exemple d'utilisation

    bash
    .
    └── Components
        └── MyComponent
            ├── index.content.ts
            └── index.tsx
    
    src/components/MyComponent/index.content.ts
    import { t, type Dictionary } from "intlayer";
    
    const componentContent = {
      key: "component-key",
      content: {
        myTranslatedContent: t({
          en: "Hello World",
          es: "Hola Mundo",
          fr: "Bonjour le monde",
        }),
      },
    } satisfies Dictionary;
    
    export default componentContent;
    
    src/components/MyComponent/index.tsx
    import type { FC } from "react";
    import { useIntlayer } from "react-intlayer";
    
    export const MyComponent: FC = () => {
      const { myTranslatedContent } = useIntlayer("component-key");
    
      return <span>{myTranslatedContent}</span>;
    };
    

    Pourquoi Intlayer plutôt que des alternatives ?

    Par rapport aux solutions principales telles que next-intl ou i18next, Intlayer est une solution dotée d'optimisations intégrées telles que :

    Au lieu de charger de lourds fichiers JSON dans vos pages, ne chargez que le contenu strictement nécessaire. Intlayer vous aide à réduire la taille de votre bundle et de vos pages jusqu'à 50 %.

    Déclarer le contenu directement au plus près de vos composants facilite la maintenance des applications de grande envergure. Vous pouvez dupliquer ou supprimer le dossier d'une fonctionnalité sans le fardeau mental de devoir passer en revue toute votre base de code de contenu. De plus, Intlayer est entièrement typé pour garantir l'exactitude de vos traductions.

    La colocalisation du contenu réduit le contexte nécessaire aux grands modèles de langage (LLM). Intlayer est également livré avec une suite d'outils, tels qu'une CLI pour vérifier les traductions manquantes, un LSP, un MCP et des agent skills, afin de rendre l'expérience développeur (DX) encore plus fluide pour les agents IA.

    Automatisez les traductions dans votre pipeline CI/CD en utilisant le LLM de votre choix au coût de votre propre fournisseur d'IA. Intlayer propose également un compilateur pour automatiser l'extraction de contenu, ainsi qu'une plateforme web pour vous aider à traduire en arrière-plan.

    Associer de gros fichiers JSON à vos composants peut ralentir les performances et impacter la réactivité. Intlayer optimise le chargement du contenu directement au moment du build.

    Bien plus qu'une simple solution i18n, Intlayer propose un éditeur visuel auto-hébergé et un CMS complet pour gérer votre contenu multilingue en temps réel. Cela rend la collaboration avec les traducteurs, concepteurs-rédacteurs et autres membres de l'équipe extrêmement simple. Le contenu peut être stocké localement et/ou à distance.

    Caractéristiques principales

    Intlayer propose une variété de fonctionnalités adaptées aux besoins du développement web moderne. Voici les fonctionnalités clés, avec des liens vers la documentation détaillée de chacune :

    • Support de l'internationalisation : Améliorez la portée mondiale de votre application grâce à un support intégré de l'internationalisation.
    • Éditeur Visuel : Améliorez votre flux de travail de développement avec des plugins d'éditeur conçus pour Intlayer. Consultez le Guide de l'Éditeur Visuel.
    • Flexibilité de Configuration : Personnalisez votre configuration avec des options détaillées dans le Guide de Configuration.
    • Outils CLI Avancés : Gérez vos projets efficacement à l'aide de l'interface en ligne de commande d'Intlayer. Explorez les capacités dans la Documentation des outils CLI.

    Concepts Clés

    Dictionnaire

    Organisez votre contenu multilingue à proximité de votre code pour garder le tout cohérent et maintenable.

    • Commencer
      Apprenez les bases de la déclaration de votre contenu dans Intlayer.

    • Traduction
      Comprenez comment les traductions sont générées, stockées et utilisées dans votre application.

    • Énumération
      Gérez facilement des ensembles de données répétés ou fixes dans différentes langues.

    • Condition
      Apprenez à utiliser la logique conditionnelle dans Intlayer pour créer du contenu dynamique.

    • Insertion
      Découvrez comment insérer des valeurs dans une chaîne de caractères en utilisant des espaces réservés d'insertion.

    • Récupération par Fonction
      Découvrez comment récupérer dynamiquement du contenu avec une logique personnalisée pour correspondre au flux de travail de votre projet.

    • Markdown
      Apprenez à utiliser le Markdown dans Intlayer pour créer du contenu enrichi.

    • Intégrations de fichiers
      Découvrez comment intégrer des fichiers externes dans Intlayer pour les utiliser dans l'éditeur de contenu.

    • Imbrication
      Comprenez comment imbriquer du contenu dans Intlayer pour créer des structures complexes.

    Environnements & Intégrations

    Nous avons conçu Intlayer avec la flexibilité à l'esprit, offrant une intégration fluide à travers les frameworks et outils de build populaires :

    Chaque guide d'intégration comprend les meilleures pratiques pour utiliser les fonctionnalités d'Intlayer, telles que le rendu côté serveur, le routage dynamique ou le rendu côté client, afin de maintenir une application rapide, optimisée pour le référencement (SEO) et hautement scalable.

    Contribution & Retours

    Nous apprécions la force de l'open-source et du développement axé sur la communauté. Si vous souhaitez proposer des améliorations, ajouter un nouveau guide ou corriger des problèmes dans nos documentations, n'hésitez pas à soumettre une Pull Request ou à ouvrir une issue sur notre dépôt GitHub.

    Prêt à traduire votre application plus rapidement et plus efficacement ? Plongez dans nos documentations pour commencer à utiliser Intlayer dès aujourd'hui. Découvrez une approche robuste et simplifiée de l'internationalisation qui maintient votre contenu organisé et votre équipe plus productive.

    Questions fréquentes

    Intlayer est une bibliothèque d'internationalisation (i18n) pour les applications JavaScript et TypeScript. Vous déclarez le contenu d'un composant à côté de ce composant dans un fichier .content.ts, Intlayer compile ces déclarations en dictionnaires typés au moment du build, et vos composants les lisent via un hook tel que useIntlayer. Elle couvre la traduction, les règles de pluriel, le genre, le Markdown, le routage sensible à la locale, les métadonnées SEO, la traduction assistée par IA et un éditeur visuel pour les non-développeurs.

    Bien moins qu'une configuration basée sur des espaces de noms, car une page ne télécharge jamais un catalogue qu'elle n'affiche pas. Le balisage rendu côté serveur résout son contenu sur le serveur, et le compilateur au moment du build remplace les appels useIntlayer par les entrées de dictionnaire exactes qu'un composant utilise, si bien que les clés inutilisées et les langues inutilisées sont éliminées. Les dictionnaires dynamiques répartissent le reste par locale. Mesuré face aux alternatives habituelles, Intlayer réduit la taille du bundle et des pages jusqu'à 50 %. Voir l'optimisation du bundle et le benchmark.

    Oui, et il existe deux voies. Vous pouvez migrer le contenu progressivement avec le guide de migration i18next ou le guide de migration next-intl. Ou vous pouvez conserver entièrement votre API actuelle : les adaptateurs de compatibilité exposent exactement la même API que i18next, react-i18next, next-intl, next-i18next, react-intl, use-intl, vue-i18n et Lingui, mais servie par des dictionnaires Intlayer : seuls les imports changent, pas le code des composants.

    Oui. Le plugin de synchronisation JSON conserve vos fichiers /messages/{locale}/{namespace}.json comme source de vérité et génère les dictionnaires Intlayer à partir d'eux, dans les deux sens. Un plugin de synchronisation PO fait de même pour les catalogues gettext, et les fichiers par locale permettent de séparer le contenu par langue au lieu de regrouper les locales dans un seul fichier.

    Non. Lancez npx intlayer extract et Intlayer lit vos fichiers source, en extrait les chaînes destinées aux utilisateurs et écrit un fichier .content à côté de chacun, de sorte que vous relisez un diff plutôt que de copier des chaînes dans un catalogue une par une. Voir la commande extract.

    Pour un pipeline entièrement automatisé, le compilateur Intlayer fait la même chose au moment du build sur du code source JSX, TSX, Vue et Svelte, en générant les dictionnaires à chaque changement, de sorte qu'il n'y a aucune clé à maintenir à la main. Il fonctionne par analyse statique : les chaînes qui n'existent qu'à l'exécution restent hors de portée, et il a besoin de quelques annotations pour distinguer le texte destiné aux utilisateurs de la logique applicative.

    Cinq éléments, tous optionnels :

    • Extension VS Code : passez d'une clé useIntlayer au fichier de contenu qui la déclare, extrayez du contenu depuis un composant, et lancez build, fill, test, push et pull depuis la palette de commandes ou un onglet Intlayer dédié.
    • Serveur LSP : la même connaissance dans tout éditeur qui parle LSP, avec aller à la définition, rechercher toutes les références, aperçus au survol d'une valeur traduite, autocomplétion des clés et des champs, et un avertissement lorsqu'une clé n'est déclarée nulle part. Il résout aussi les appels i18next, react-i18next, next-intl et use-intl, ce qui aide pendant la migration.
    • Serveur MCP : expose la documentation et la CLI d'Intlayer à Cursor, VS Code, Claude Desktop, Claude Code et ChatGPT, afin qu'un assistant réponde à partir de la documentation actuelle au lieu de deviner, et puisse exécuter lui-même des commandes telles que intlayer fill.
    • Compétences d'agent : des compétences ciblées telles que intlayer-config, intlayer-cli et intlayer-content, plus une par framework, qui apprennent à un agent votre configuration de routage et les types de nœuds de contenu.
    • Plugin ESLint : no-raw-text signale les chaînes codées en dur, avec d'autres règles pour les clés de dictionnaire statiques et le contenu inutilisé.