AccueilBac à sableShowcaseAppDocBlog
    • Englishanglais
      EN
    • русскийrusse
      RU
    • 日本語japonais
      JA
    • françaisfrançais
      FR
    • 한국어coréen
      KO
    • 中文chinois
      ZH
    • españolespagnol
      ES
    • Deutschallemand
      DE
    • العربيةarabe
      AR
    • italianoitalien
      IT
    • British Englishanglais britannique
      EN-GB
    • portuguêsportugais
      PT
    • हिन्दीhindi
      HI
    • Türkçeturc
      TR
    • polskipolonais
      PL
    • Indonesiaindonésien
      ID
    • Tiếng Việtvietnamien
      VI
    • українськаukrainien
      UK
    /
    Filtrer la documentation par framework
    Alt+←
    Pourquoi Intlayer ?
    Commencer
    Concept
    • Comment Intlayer fonctionne
    • Configuration
    • TestFillBuildWatchExtractLoginPushPullConfigurationListVersionEditorLiveDebugDoc ReviewDoc TranslateSDK
    • Éditeur visuel
    • CMS
    • Intégration CI/CD
    • TraductionPlurielÉnumérationConditionGenreInsertionFichierImbricationMarkdownHTMLRécupération de fonction
    • Fichier par locale
    • Compilateur
    • Remplissage automatique
    • Tests
    • Optimisation de bundle
    Environnement
    • Next.js 14 et App RouterNext.js 15Next.js sans locale URLNext.js et Page RouterCompiler
    • Tanstack Start Solid
    • Astro et ReactAstro et SvelteAstro et VueAstro et SolidAstro et PreactAstro et LitAstro et Vanilla JS
    • React Router v7React Router v7 (fs-routes)Compiler
    • Nuxt et Vue
    • Vite et Solid
    • SvelteKit
    • Vite et Preact
    • Vite et Vanilla JS
    • Vite et Lit
    • Angular 19 (Webpack)Analog
    • React CRA
    • React Native et Expo
    • Express.jsNestJSFastifyHonoAdonis
    • Lynx et React
    Plugins
    • JSON
    • gettext (.po)
    Extension VS Code
    Agent
    • Serveur MCP
    • Compétences de l’agent
    Versions
    • v8
    • v7
    • v6
    Benchmark
    • Next.js
    • TanStack
    • Vue
    • Solid
    • Svelte
    Blog
    Poser une question
    1. Documentation
    2. Concept
    3. Intégration CI/CD

    Génération Automatique des Traductions dans un Pipeline CI/CD

    Intlayer permet la génération automatique des traductions pour vos fichiers de déclaration de contenu. Plusieurs méthodes existent selon votre flux de travail.

    Utilisation du CMS

    Avec Intlayer, vous pouvez adopter un flux de travail où une seule locale est déclarée localement, tandis que toutes les traductions sont gérées à distance via le CMS. Cela permet de détacher complètement le contenu et les traductions de la base de code, offrant plus de flexibilité aux éditeurs de contenu et permettant le rechargement dynamique du contenu (pas besoin de reconstruire l'application pour appliquer les modifications).

    Exemple de Configuration

    intlayer.config.ts
    import { Locales, type IntlayerConfig } from "intlayer";const config: IntlayerConfig = {  internationalization: {    locales: [Locales.ENGLISH, Locales.SPANISH, Locales.FRENCH],    requiredLocales: [Locales.ENGLISH], // Les locales optionnelles seront gérées à distance    defaultLocale: Locales.ENGLISH,  },  editor: {    dictionaryPriorityStrategy: "distant_first", // Le contenu distant a la priorité    applicationURL: process.env.APPLICATION_URL, // URL de l'application utilisée par le CMS    clientId: process.env.INTLAYER_CLIENT_ID, // Identifiants du CMS    clientSecret: process.env.INTLAYER_CLIENT_SECRET,  },  ai: {    applicationContext: "This is a test application", // Aide à garantir une génération cohérente des traductions  },};export default config;

    Pour en savoir plus sur le CMS, consultez la documentation officielle.

    Utilisation de Husky

    Vous pouvez intégrer la génération de traductions dans votre flux de travail Git local en utilisant Husky.

    Exemple de Configuration

    intlayer.config.ts
    import { Locales, type IntlayerConfig } from "intlayer";const config: IntlayerConfig = {  internationalization: {    locales: [Locales.ENGLISH, Locales.SPANISH, Locales.FRENCH],    requiredLocales: [Locales.ENGLISH], // Les locales optionnelles sont gérées à distance    defaultLocale: Locales.ENGLISH,  },  editor: {    clientId: process.env.INTLAYER_CLIENT_ID,    clientSecret: process.env.INTLAYER_CLIENT_SECRET,  },  ai: {    provider: "openai",    apiKey: process.env.OPENAI_API_KEY, // Utilisez votre propre clé API    applicationContext: "This is a test application", // Aide à garantir une génération cohérente des traductions  },};export default config;
    .husky/pre-push
    npx intlayer build                          # Pour s'assurer que les dictionnaires sont à journpx intlayer fill --unpushed --mode fill    # Remplit uniquement le contenu manquant, ne met pas à jour les contenus existants
    Pour plus d'informations sur les commandes CLI d'Intlayer et leur utilisation, consultez la documentation CLI.
    Si vous avez plusieurs applications dans votre dépôt utilisant des instances intlayer séparées, vous pouvez utiliser l'argument --base-dir comme ceci :
    .husky/pre-push
    # Application 1npx intlayer build --base-dir ./app1npx intlayer fill --base-dir ./app1 --unpushed --mode fill# Application 2npx intlayer build --base-dir ./app2npx intlayer fill --base-dir ./app2 --unpushed --mode fill

    Utilisation de GitHub Actions

    Intlayer fournit une commande CLI pour remplir automatiquement et réviser le contenu du dictionnaire. Cela peut être intégré dans votre workflow CI/CD en utilisant GitHub Actions.

    .github/workflows/intlayer-translate.yml
    name: Remplissage automatique Intlayeron:  push:    branches: [ main ]    paths:      - 'src/**'  pull_request:    branches: [ main ]    paths:      - 'src/**'  workflow_dispatch: {}concurrency:  group: 'autofill-${{ github.ref }}'  cancel-in-progress: truejobs:  autofill:    runs-on: ubuntu-latest    env:      INTLAYER_CLIENT_ID: ${{ secrets.INTLAYER_CLIENT_ID }}      INTLAYER_CLIENT_SECRET: ${{ secrets.INTLAYER_CLIENT_SECRET }}      OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}    steps:      - name: ⬇️ Récupérer le dépôt        uses: actions/checkout@v3        with:          persist-credentials: true      - name: 🟢 Configurer Node.js        uses: actions/setup-node@v3        with:          node-version: 20      - name: 📦 Installer les dépendances        run: npm ci      - name: ⚙️ Compiler le projet Intlayer        run: npx intlayer build      - name: 🤖 Remplir automatiquement les traductions manquantes        run: npx intlayer fill --git-diff --mode fill      - name: 📤 Créer ou mettre à jour la PR de traduction        uses: peter-evans/create-pull-request@v4        with:          commit-message: chore: remplissage automatique des traductions manquantes [skip ci]          branch: auto-translations          title: chore: mise à jour des traductions manquantes          labels: translation, automated
    Comme pour Husky, dans le cas d'un monorepo, vous pouvez utiliser l'argument --base-dir pour traiter séquentiellement chaque application.
    Par défaut, l'argument --git-diff filtre les dictionnaires qui incluent les modifications de la base (par défaut origin/main) vers la branche courante (par défaut : HEAD).
    Pour plus d'informations sur les commandes Intlayer CLI et leur utilisation, consultez la documentation CLI.
    Création:2025-05-20Dernière mise à jour:2025-06-29
    Référencez cette doc à votre assistant AI préféré
    ChatGPT
    Claude
    DeepSeek
    Google AI mode
    Gemini
    Perplexity
    Mistral
    Grok

    Posez votre question et obtenez un résumé du document en referencant cette page et le Provider AI de votre choix

    Ce document n'est pas à jour, la version de base a été mise à jour le 13 août 2025.

    Aller à la doc anglaise

    Historique des versions

    1. "Historique initial"
      v5.5.1029/06/2025

    Le contenu de cette page a été traduit à l'aide d'une IA.

    Voir la dernière version du contenu original en anglais
    Modifier cette documentation

    Si 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 documentation
    Copier

    Copier le Markdown du doc dans le presse-papiers

    Copier le code

    Copier le code dans le presse-papiers

    Copier le code

    Copier le code dans le presse-papiers

    Copier le code

    Copier le code dans le presse-papiers

    Copier le code

    Copier le code dans le presse-papiers

    Copier le code

    Copier le code dans le presse-papiers

    CMS
    Déclaration de contenu
    Alt+→

    Dans cette page

      Les discussions sont anonymes et régulièrement analysées pour traiter les problèmes fréquents. N'hésitez pas à partager vos idées de fonctionnalités, vos retours sur la documentation ou tout ce qui concerne Intlayer, nous utilisons ces retours pour construire notre roadmap et améliorer le produit.