# gt: General Translation CLI tool: gt translate
URL: https://generaltranslation.com/fr/docs/cli/reference/commands/translate.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Traduisez un projet via l’API de General Translation. Référence de l’API pour la commande gt translate.

Traduit votre projet. Cette commande lit `gt.config.json` pour trouver vos fichiers, analyse votre code source à la recherche de contenu inline si vous utilisez une bibliothèque de framework, inclut votre dictionnaire et enregistre les traductions dans votre base de code ou sur le CDN.

Il s’agit de la commande principale pour utiliser l’API de General Translation. Exécutez-la dans votre CI avant un build de production. Pour le workflow complet, consultez [Generating translations](/docs/cli/guides/generating-translations). En arrière-plan, `translate` met en attente et télécharge en une seule étape ; pour exécuter ces parties séparément, utilisez [`gt stage`](/docs/cli/reference/commands/stage), [`gt upload`](/docs/cli/reference/commands/upload), [`gt enqueue`](/docs/cli/reference/commands/enqueue) et [`gt download`](/docs/cli/reference/commands/download). Les animations Lottie doivent être mises en attente avant un téléchargement ultérieur, car leur traitement de mise en page est asynchrone.

*Remarque : pour une utilisation en production uniquement. Définissez une `GT_API_KEY` de production et `GT_PROJECT_ID` comme variables d’environnement, et ne stockez jamais votre clé API dans `gt.config.json`.*

```bash
npx gt translate
```

## Fonctionnement [#how-it-works]

1. Lit `gt.config.json` pour déterminer les paramètres régionaux cibles, les fichiers à traduire et leurs chemins de sortie.
2. Pour les projets `gt-next`, `gt-react`, `gt-react-native`, `gt-tanstack-start` et `gt-vue`, analyse les motifs glob de `src` à la recherche de contenu inline. Cela inclut les composants [`<T>`](/docs/react/reference/components/t) et les appels à [`useGT`](/docs/react/reference/hooks/use-gt) de la famille React, ainsi que les templates Vue et les appels à [`t()`](/docs/vue/reference/functions/t) au niveau du module, et inclut votre fichier de dictionnaire.
3. Détecte automatiquement une bibliothèque d’i18n tierce à partir de `package.json` — `next-intl` ou `i18next` (avec prise en charge de `i18next-icu`) — et traduit ses fichiers JSON en respectant la syntaxe de cette bibliothèque.
4. Met en attente le contenu collectté avec [`gt stage`](/docs/cli/reference/commands/stage) : il téléverse les sources, détecte et enregistre éventuellement les modifications locales lorsque `--save-local` ou [`options.saveLocal: true`](/docs/cli/reference/config#save-local) est défini, puis met en file d’attente les tâches de traduction. Étant donné que le traitement de la mise en page Lottie est asynchrone, un projet comportant des fichiers `.lottie` s’arrête avant cette étape lorsque `stageTranslations` est `false`, sans rien téléverser ni mettre en file d’attente, et vous redirige vers le flux distinct.
5. Télécharge les résultats avec [`gt download`](/docs/cli/reference/commands/download). Utilisez les commandes distinctes pour exécuter la mise en attente et le téléchargement séparément.
6. Enregistre les traductions dans votre base de code, ainsi que sur le CDN lorsque `--publish` ou la clé de configuration [`publish`](/docs/cli/reference/config#publish) est définie.

Par défaut, la CLI ne synchronise pas les modifications apportées aux traductions locales avant de commencer de nouvelles tâches. Passez `--save-local` pour les synchroniser, `--force` pour tout retraduire, ou `--force-download` pour retélécharger sans retraduire.

## Options [#flags]

| Paramètre                       | Description                                                                                       | Type       | Facultatif | Par défaut       |
| ------------------------------- | ------------------------------------------------------------------------------------------------- | ---------- | ---------- | ---------------- |
| `--api-key <key>`               | Clé API de production.                                                                            | `string`   | Oui        | `GT_API_KEY`     |
| `--project-id <id>`             | ID du projet.                                                                                     | `string`   | Oui        | `GT_PROJECT_ID`  |
| `--version-id <id>`             | Accepté, mais sans effet ; consultez la note ci-dessous.                                          | `string`   | Oui        | —                |
| `-c, --config <path>`           | Chemin du fichier de configuration.                                                               | `string`   | Oui        | `gt.config.json` |
| `--default-locale <locale>`     | Paramètre régional source du projet.                                                              | `string`   | Oui        | `en`             |
| `--locales <locales...>`        | Paramètres régionaux cibles supplémentaires, ajoutés aux locales de la configuration.             | `string[]` | Oui        | —                |
| `--timeout <seconds>`           | Délai d’attente pour la traduction, en secondes.                                                  | `number`   | Oui        | `900`            |
| `--dry-run`                     | Analyser et valider sans appeler l’API.                                                           | `boolean`  | Oui        | `false`          |
| `--force`                       | Retraduire tout le contenu en écrasant les traductions existantes.                                | `boolean`  | Oui        | `false`          |
| `--force-download`              | Retélécharger toutes les traductions en écrasant les modifications locales.                       | `boolean`  | Oui        | `false`          |
| `--save-local, --no-save-local` | Activer ou désactiver l’enregistrement des modifications locales avant la mise en file d’attente. | `boolean`  | Oui        | `false`          |
| `--publish`                     | Publier les traductions sur le CDN.                                                               | `boolean`  | Oui        | `false`          |
| `--enable-branching`            | Activer la gestion des branches.                                                                  | `boolean`  | Oui        | —                |
| `--branch <branch>`             | Nom de la branche au lieu de la détecter automatiquement. Implique `--enable-branching`.          | `string`   | Oui        | —                |
| `--disable-branch-detection`    | Utiliser uniquement la branche spécifiée, sans détecter les relations.                            | `boolean`  | Oui        | `false`          |
| `--remote-name <name>`          | Remote Git utilisé pour détecter la branche.                                                      | `string`   | Oui        | `origin`         |
| `--omit-config-ids`             | Ne pas écrire `_versionId` ou `_branchId` dans `gt.config.json`.                                  | `boolean`  | Oui        | —                |
| `--tag [value]`                 | Tag de l’exécution ; résolu automatiquement depuis git si aucune valeur n’est fournie.            | `string`   | Oui        | —                |
| `-m, --message <message>`       | Message associé au tag de traduction.                                                             | `string`   | Oui        | —                |

### Options d’analyse des sources [#source]

Ces options s’appliquent lors de l’analyse du code source dans les projets `gt-next`, `gt-react`, `gt-react-native`, `gt-tanstack-start` et `gt-vue`.

| Paramètre                       | Description                                                                                                                   | Type       | Facultatif | Par défaut                           |
| ------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ---------- | ---------- | ------------------------------------ |
| `--src <paths...>`              | Motifs glob pour les fichiers source.                                                                                         | `string[]` | Oui        | Motifs glob spécifiques au framework |
| `--dictionary <path>`           | Chemin vers le fichier de dictionnaire.                                                                                       | `string`   | Oui        | —                                    |
| `--tsconfig, --jsconfig <path>` | Chemin vers un fichier de configuration TS ou JS.                                                                             | `string`   | Oui        | Détecté automatiquement              |
| `--inline`                      | Inclure le contenu inline comme [`<T>`](/docs/react/reference/components/t) et [`useGT`](/docs/react/reference/hooks/use-gt). | `boolean`  | Oui        | `true`                               |
| `--ignore-errors`               | Ignorer les erreurs détectées lors de l’analyse du contenu inline.                                                            | `boolean`  | Oui        | `false`                              |

### Flags expérimentaux [#experimental]

| Paramètre                                 | Description                                                                            | Type      | Facultatif | Par défaut |
| ----------------------------------------- | -------------------------------------------------------------------------------------- | --------- | ---------- | ---------- |
| `--experimental-localize-static-urls`     | Localiser les URL dans les fichiers `md`/`mdx` traduits.                               | `boolean` | Oui        | `false`    |
| `--experimental-hide-default-locale`      | Masquer le paramètre régional par défaut dans les chemins localisés.                   | `boolean` | Oui        | `false`    |
| `--experimental-flatten-json-files`       | Fusionner les fichiers JSON en un seul fichier.                                        | `boolean` | Oui        | `false`    |
| `--experimental-localize-static-imports`  | Localiser les imports statiques dans les fichiers `md`/`mdx`.                          | `boolean` | Oui        | `false`    |
| `--experimental-localize-relative-assets` | Réécrire les URL relatives des ressources image dans les fichiers `md`/`mdx` traduits. | `boolean` | Oui        | `false`    |
| `--experimental-clear-locale-dirs`        | Effacer les répertoires de paramètres régionaux avant le téléchargement.               | `boolean` | Oui        | `false`    |

## Exemple [#example]

```bash
# Traduire en utilisant gt.config.json, en lisant GT_API_KEY et GT_PROJECT_ID depuis l'environnement
npx gt translate

# Analyser et valider le projet sans appeler l'API
npx gt translate --dry-run

# Enregistrer les traductions localement et les publier sur le CDN pour le chargement en runtime
npx gt translate --publish

# Taguer l'exécution pour l'identifier facilement dans le dashboard
npx gt translate --tag v2.1.0 -m "Added checkout page translations"
```

## Autres remarques [#notes]

* **Sources de contenu :** la CLI utilise des valeurs par défaut spécifiques au framework. Les projets de la famille React analysent `src`, `app`, `pages` et `components` ; les projets Vue couvrent également les fichiers `.vue` à la racine ainsi que les répertoires conventionnels de Vue et Nuxt. Vous pouvez remplacer ce comportement avec `--src` ou la clé de configuration [`src`](/docs/cli/reference/config#src).
* **Dictionnaire :** lorsque `--dictionary` n&#39;est pas défini, la CLI recherche `dictionary.[json|ts|js]` dans `./src` et `./`.
* **Modifications locales :** la synchronisation des modifications locales est désactivée par défaut. Passez `--save-local` pour une exécution ou définissez [`options.saveLocal`](/docs/cli/reference/config#save-local) sur `true`.
* **Écrasement :** `--force` écrase toutes les traductions existantes et facture les nouvelles ; `--force-download` écrase les modifications locales avec les dernières traductions sans relancer la traduction.
* **Lottie :** traduisez les animations avec [`gt stage`](/docs/cli/reference/commands/stage), puis réexécutez [`gt download`](/docs/cli/reference/commands/download) jusqu&#39;à ce que chaque paramètre régional soit prêt. Consultez la [référence du format Lottie](/docs/cli/reference/formats/lottie-files).
* **Étiquetage :** l&#39;étiquetage n&#39;est pas bloquant — si la création du tag échoue, l&#39;exécution continue. Passez `--tag` sans valeur pour utiliser le hachage et le message du commit git actuel.
* **Publication :** activez le CDN dans les paramètres de votre projet avant d&#39;utiliser `--publish`. Si le CDN n&#39;est pas activé, l&#39;exécution de la traduction aboutit, mais l&#39;étape de publication échoue avec un avertissement.
* **Gestion des branches :** passez `--enable-branching` pour suivre les traductions par branche git, ou `--branch <name>`, qui active à lui seul la gestion des branches. Lorsqu&#39;aucun des deux indicateurs n&#39;est défini, la CLI se replie sur `branchOptions.enabled` dans `gt.config.json` ; si cette valeur n&#39;est pas définie, la gestion des branches est désactivée. Voir [Suivre les traductions par branche](/docs/cli/guides/branching).
* **`--version-id` n&#39;a aucun effet.** L&#39;indicateur est analysé, mais n&#39;est utilisé nulle part : les identifiants de version sont des hachages de contenu propres à chaque fichier, et les commandes qui nécessitent une version au niveau de l&#39;exécution lisent `_versionId` dans `gt.config.json`. Définissez plutôt [`_versionId`](/docs/cli/reference/config) à cet emplacement.
* **Sécurité :** ne stockez jamais votre clé API dans `gt.config.json`. La CLI lit automatiquement `GT_API_KEY` et `GT_PROJECT_ID` depuis l&#39;environnement.

### Historique des versions

| Version  | Modifications                                                                                                        |
| -------- | -------------------------------------------------------------------------------------------------------------------- |
| `2.20.3` | Les modifications locales deviennent optionnelles ; `--save-local` active cette étape.                               |
| `2.16.1` | Les modifications locales sont enregistrées par défaut ; utilisez `--no-save-local` pour désactiver ce comportement. |

## Sitemap

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