# General Translation Knowledge Base: Comment maintenir les traductions à jour à chaque déploiement ?
URL: https://generaltranslation.com/fr/kb/translations-in-ci.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Exécutez la traduction comme une étape du pipeline avant chaque compilation de production, afin que les nouveaux textes soient livrés traduits avec le déploiement qui les ajoute. Le CLI gt de General Translation s’en charge avec npx gt translate, à l’aide d’une clé API de projet et d’un identifiant de projet stockés comme secrets CI.
Category: Outils de workflow
Last updated: 2026-10-21
Authors: Kevin Liu, Kevin Wu
Published: 2026-10-21

Maintenir les traductions à jour à chaque déploiement, c’est ce qu’on appelle la localisation continue : la traduction s’exécute comme une étape du pipeline avant la compilation de chaque livraison, si bien que chaque modification est livrée dans toutes les langues avec le déploiement qui l’introduit. L’exercice est délicat, car cette étape s’exécute en CI (intégration continue) : elle nécessite un identifiant d’authentification qui fonctionne sans connexion manuelle, elle ne doit traduire que ce qui a changé pour que les compilations restent rapides, et elle doit se terminer avant la commande de compilation, faute de quoi les nouveaux textes partent en production sans être traduits.

## Video

The video is narrated in English, with English captions.

[How do I keep translations up to date on every deploy?](https://caxecubb9c64cezv.public.blob.vercel-storage.com/films/kb-translations-in-ci.mp4) (48 s)

General Translation keeps translations current when your CI runs `npx gt translate` before the build. Create an API key for CI with the file read, file write, context write and translation queue permissions, store it and your project ID as `GT_API_KEY` and `GT_PROJECT_ID` in your CI provider's secrets, put `npx gt translate` before the build command in your build script, and run that build on every push to main. Each build then translates new and changed text and ships current translations.

## Comment garder les traductions à jour

| Approche                                                                                                                                                                                           | Ses points forts                                                                                                                                                                                                                                           | Quand la traduction a lieu                                                                 | Ce qui reste à votre charge                                                                                                                                                                                                                                                                                        |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Une bibliothèque d’internationalisation (i18n) seule (`i18next`, `react-intl`, `next-intl`)                                                                                                        | Des environnements d’exécution éprouvés pour afficher les traductions et formater les valeurs                                                                                                                                                              | Chaque fois que quelqu’un met à jour les fichiers, souvent par lots entre deux livraisons  | Extraire les nouvelles chaînes dans des fichiers de clés, ajouter chaque traduction dans un fichier par langue et faire traduire tous les fichiers avant la livraison                                                                                                                                              |
| Une synchronisation avec un [système de gestion de la traduction](/kb/general-translation-vs-tms) ([Crowdin](/kb/general-translation-vs-crowdin), [Lokalise](/kb/general-translation-vs-lokalise)) | Un CLI ou une intégration GitHub téléverse les nouvelles chaînes sources et récupère les traductions terminées                                                                                                                                             | Lorsque les traducteurs ont terminé, souvent après le déploiement qui a introduit le texte | Des fichiers de clés pour chaque chaîne, la configuration de la synchronisation, et le choix entre retarder la livraison ou publier du texte non traduit en attendant les traductions                                                                                                                              |
| Un script personnalisé reposant sur une API de traduction automatique ou d’IA (DeepL, OpenAI API, Claude API)                                                                                      | Traduit directement dans le pipeline, quel que soit le volume envoyé                                                                                                                                                                                       | Dans une étape de CI que vous écrivez et maintenez                                         | Repérer les chaînes nouvelles et modifiées, fournir le contexte et une terminologie cohérente à chaque requête, réinjecter les résultats et assurer la relecture                                                                                                                                                   |
| General Translation (le CLI `gt`)                                                                                                                                                                  | [`npx gt translate`](/docs/cli/reference/commands/translate) analyse les composants [`<T>`](/docs/react/reference/components/t), les appels à `useGT` et les fichiers déclarés dans `gt.config.json`, et ne traduit que le contenu dont la source a changé | En CI, avant la commande de compilation                                                    | Encapsuler le nouveau texte d’IU dans [`<T>`](/docs/react/reference/components/t) ou le passer à la fonction `gt` renvoyée par `useGT`, stocker une clé API de projet et l’identifiant de projet comme secrets de CI, et relire les traductions dans le tableau de bord si vous souhaitez une vérification humaine |

Optez pour une bibliothèque d’i18n seule si les traducteurs gèrent les fichiers de langue et que chaque livraison peut attendre leur travail, et pour une synchronisation avec un système de gestion de la traduction si les traducteurs doivent approuver chaque chaîne avant sa publication. Un script personnalisé convient à une traduction ponctuelle d’un texte qui n’évoluera plus. Une étape de traduction en CI s’impose lorsque la plupart des livraisons modifient du texte. Si le texte ne change qu’occasionnellement, une configuration plus simple suffit : exécutez [`npx gt translate`](/docs/cli/reference/commands/translate) en local après [`gt login`](/docs/cli/reference/commands/login), avec `projectId` défini dans `gt.config.json`, puis commitez les fichiers générés.

## Ajouter une étape de traduction à la CI

La CLI `gt` de General Translation exécute cette étape avec [`npx gt translate`](/docs/cli/reference/commands/translate). Comme [`gt login`](/docs/cli/reference/commands/login) requiert une validation manuelle, la CI utilise à la place une clé de projet :

1. Créez une clé dans **Projet &gt; Clés API** avec des autorisations **Personnalisées** : réglez **Fichiers** sur **Écriture**, **File d’attente de traduction** sur **Activée** et, si le pipeline génère du contexte, **Contexte** sur **Écriture**.
2. Enregistrez la clé sous le nom `GT_API_KEY` et l’identifiant de projet sous le nom `GT_PROJECT_ID` dans les paramètres de secrets de votre fournisseur de CI.
3. Lancez la traduction avant la compilation :

   ```json title="package.json"
   {
     "scripts": {
       "translate": "npx gt translate",
       "build": "npm run translate && <your build command>"
     }
   }
   ```

## Ce que fait chaque exécution

Avec General Translation, chaque exécution traduit uniquement le contenu dont la source a été modifiée, applique les groupes de contexte (glossaire et instructions personnalisées) attribués au projet afin que la terminologie reste cohérente d&#39;une livraison à l&#39;autre, puis enregistre les résultats dans votre base de code pour qu&#39;ils soient intégrés à la compilation (ou les publie sur le CDN de General Translation avec `--publish`, afin que l&#39;application les charge à l&#39;exécution). Le guide [Génération de traductions](/docs/cli/guides/generating-translations) détaille toutes les étapes.

## Related questions

- [Comment internationaliser une application avec Cursor ou Claude Code ?](https://generaltranslation.com/fr/kb/ai-agent-i18n-setup.mdx): Commencez par le prompt Setup for Agents de General Translation dans Cursor ou Claude Code, choisissez une fonctionnalité et des langues cibles, puis laissez l’agent implémenter et vérifier le résultat. La connexion via le navigateur, la documentation lisible par machine et les outils MCP font le lien entre la configuration initiale, la traduction et la relecture. Utilisez Locadex pour automatiser la localisation continue au moyen de pull requests.
- [Comment relire et modifier les traductions ?](https://generaltranslation.com/fr/kb/review-translations.mdx): Comparez chaque traduction avec sa source et les autres paramètres régionaux, puis corrigez ce qui sonne faux. Avec General Translation, vous modifiez les traductions sur la page Translations du tableau de bord et suivez la relecture à l’aide d’étiquettes et de commentaires ; la prochaine exécution de traduction de Locadex, son agent IA, intègre ensuite vos modifications dans une pull request.
- [Que fait l’agent Locadex ?](https://generaltranslation.com/fr/kb/what-is-locadex.mdx): Locadex est l’agent IA de General Translation qui internationalise votre code et traduit votre contenu dans votre dépôt GitHub. Ses automatisations s’exécutent à l’ouverture d’une pull request, lors du push d’un commit ou lorsque vous les lancez vous-même, et chaque modification arrive sous forme de pull request.
- [Peut-on faire de l’i18n sans fichiers de traduction ?](https://generaltranslation.com/fr/kb/i18n-without-translation-files.mdx): Oui. Les bibliothèques gt-react et gt-next de General Translation permettent d’internationaliser React et Next.js sans clés de traduction ni fichier JSON par langue à maintenir. Le texte reste intégré au JSX, dans le composant `<T>`, et la commande gt translate génère les traductions de chaque langue lors de la compilation, en s’appuyant sur le contexte de votre code. Locadex peut les tenir à jour via des pull requests.

## Previous and next questions

- Previous question: [Comment internationaliser une application avec Cursor ou Claude Code ?](https://generaltranslation.com/fr/kb/ai-agent-i18n-setup.mdx)
- Next question: [Comment relire et modifier les traductions ?](https://generaltranslation.com/fr/kb/review-translations.mdx)

## Sitemap

See the [Knowledge Base sitemap](https://generaltranslation.com/fr/kb/sitemap.md) for every article.
