# gt: General Translation CLI tool: Génération des traductions
URL: https://generaltranslation.com/fr/docs/cli/guides/generating-translations.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Comment générer des traductions et les enregistrer dans votre base de code ou sur le CDN avec la CLI General Translation.

La commande [`gt translate`](/docs/cli/reference/commands/translate) est le principal moyen de traduire votre projet. Elle lit `gt.config.json` pour repérer vos fichiers, analyse votre code source à la recherche de contenu inline et génère des traductions via l’API General Translation.

*Remarque : exécutez [`translate`](/docs/cli/reference/commands/translate) dans votre pipeline CI avant de lancer un build de Production. Elle n’est pas conçue pour le développement, où vous utilisez plutôt une clé API de développement pour la traduction à la demande.*

## Avant de commencer [#before]

* Configurez votre projet avec un `gt.config.json`. Consultez [Configurer le CLI](/docs/cli/guides/configuring).
* Définissez une `GT_API_KEY` de production ainsi que `GT_PROJECT_ID` comme variables d&#39;environnement.
* Basculez sur la branche utilisée pour générer la version de production.

## Traduisez votre projet [#translate]

Exécutez la commande à la racine de votre projet.

```bash
npx gt translate
```

La CLI traduit tous les fichiers correspondant aux motifs définis dans `gt.config.json`. Si vous utilisez `gt-next`, `gt-react` ou `gt-react-native`, elle analyse aussi votre code source pour repérer le contenu inline — comme les composants [`<T>`](/docs/react/reference/components/t) et les appels à [`useGT`](/docs/react/reference/hooks/use-gt) — et inclut votre fichier de dictionnaire. Les traductions sont enregistrées dans votre base de code, prêtes à être commitées.

Si vous utilisez `next-intl`, `react-i18next` ou `next-i18next`, la CLI détecte la bibliothèque à partir de votre `package.json` et traduit vos fichiers en préservant la syntaxe des chaînes de cette bibliothèque.

## Ajoutez-le à votre build [#build]

Exécutez [`translate`](/docs/cli/reference/commands/translate) avant votre commande de build pour que votre version de production inclue toujours les traductions à jour.

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

## Contrôler le contenu traduit [#content]

Par défaut, la CLI recherche le contenu inline dans `src`, `app`, `pages` et `components`. Vous pouvez remplacer ce comportement avec le champ `src` dans `gt.config.json` ou l’option `--src`.

```bash
npx gt translate --src "lib/**/*.{ts,tsx}"
```

Pour traduire vers des locales supplémentaires le temps d’une seule exécution, sans modifier votre configuration, passez `--locales`. Elles sont ajoutées aux locales de `gt.config.json`.

```bash
npx gt translate --locales de it
```

## Validate sans traduire [#validate]

Passez `--dry-run` pour analyser et valider votre projet sans appeler l’API. Cela permet de repérer les erreurs dans la CI avant une exécution réelle.

```bash
npx gt translate --dry-run
```

## Retraduire le contenu existant [#retranslate]

Par défaut, le CLI ne traduit que le contenu dont la source a changé, conserve les modifications locales et peut réutiliser une traduction correspondante provenant d’une version antérieure du même fichier — et pas uniquement de la version la plus récente. Un segment est de nouveau traduit lorsque son texte source change. Pour changer ce comportement :

* `--force` retraduit tout le contenu et écrase les traductions existantes. Les modifications locales sont perdues et les nouvelles traductions vous sont facturées.
* `--force-download` retélécharge les traductions et écrase les modifications locales sans les retraduire.

```bash
npx gt translate --force
```

## Ajouter un tag à une exécution de traduction [#tagging]

Utilisez `--tag` et `-m` pour attribuer à une exécution un identifiant explicite, afin de faciliter le suivi des versions dans le Dashboard.

```bash
npx gt translate --tag v2.1.0 -m "Added checkout page translations"
```

Passez `--tag` sans valeur pour utiliser le hash du commit Git actuel comme tag et le message du commit comme message. L’ajout du tag n’est pas bloquant — s’il échoue, l’exécution de la traduction continue.

## Publier sur le CDN [#publish]

Par défaut, les traductions sont enregistrées localement. Ajoutez `--publish` pour les publier également sur le CDN de General Translation afin de les charger à l’exécution.

```bash
npx gt translate --publish
```

*Remarque : activez d’abord le CDN dans les paramètres du projet. Sans cela, l’exécution de la traduction s’effectue correctement, mais l’étape de publication échoue avec un avertissement.*

## Next steps

- /docs/cli/guides/managing-translations
- /docs/cli/guides/branching
- /docs/cli/guides/configuring
- /docs/cli/guides/using-autoderive

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
