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 MCPLe 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
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
Copier le code dans le presse-papiers
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
Copier le code dans le presse-papiers
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;
Copier le code dans le presse-papiers
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 :
Copier le code dans le presse-papiers
# 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.
Copier le code dans le presse-papiers
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.
Historique de la documentation
- 5.5.10 - 2025-06-29 : Historique initial