# gt: General Translation CLI tool: Configuration URL: https://generaltranslation.com/fr/docs/cli/reference/config.mdx --- title: Configuration description: Configurez la CLI de General Translation avec le fichier gt.config.json. Référence API de gt.config.json. --- Le fichier `gt.config.json` définit ce que la CLI traduit et où les résultats sont enregistrés. Placez-le à la racine de votre projet. Créez-le avec [`gt init`](/docs/cli/reference/commands/init) ou [`gt configure`](/docs/cli/reference/commands/configure), ou créez-le manuellement. *Remarque : ajoutez le [JSON Schema](https://assets.gtx.dev/config-schema.json) avec une clé `$schema` pour la validation et l’autocomplétion dans votre éditeur. Le schéma publié n’inclut pas encore les clés `lottie` et `fonts` ajoutées dans `gt` 2.16.0 ; les éditeurs peuvent donc signaler ces paramètres valides jusqu’à l’actualisation du schéma.* ## Options [#options] | Option | Description | Type | Optional | Default | | ------------------------------------ | ----------------------------------------------------------------------------- | ---------- | -------- | ------------------ | | [`defaultLocale`](#default-locale) | Paramètre régional dans lequel votre contenu source est rédigé. | `string` | Oui | `en` | | [`locales`](#locales) | Paramètres régionaux cibles vers lesquels effectuer la traduction. | `string[]` | Oui | — | | [`files`](#files) | Fichiers à traduire et emplacement où les enregistrer. | `object` | Oui | — | | [`fonts`](#fonts) | Fichiers de polices à mettre à disposition des tâches de traduction Lottie. | `object` | Oui | — | | [`publish`](#publish) | Publier les fichiers traduits sur le CDN. | `boolean` | Oui | `false` | | [`stageTranslations`](#stage) | Utiliser le workflow de mise en attente avant de télécharger les traductions. | `boolean` | Oui | `false` | | [`requiresReview`](#requires-review) | Politique de révision par défaut pour tous les fichiers traduits. | `boolean` | Oui | `false` | | [`src`](#src) | Motifs glob des fichiers source analysés à la recherche de contenu inline. | `string[]` | Oui | Voir [`src`](#src) | | [`dictionary`](#dictionary) | Chemin vers un fichier de dictionnaire. | `string` | Oui | — | | [`branchOptions`](#branch-options) | Paramètres de suivi des traductions par branche. | `object` | Oui | — | | [`customMapping`](#custom-mapping) | Aliases de paramètres régionaux et remplacements de propriétés. | `object` | Oui | — | ## `defaultLocale` [#default-locale] **Type** `string` · **Facultatif** · **Par défaut** `en` Le paramètre régional dans lequel votre contenu source est rédigé. C’est à partir de ce paramètre régional que la CLI traduit, et il sert également de paramètre régional de contenu de secours lorsque vous utilisez `gt-next` ou `gt-react`. ```json title="gt.config.json" { "defaultLocale": "en" } ``` ## `locales` [#locales] **Type** `string[]` · **Facultatif** · **Par défaut** — Les paramètres régionaux cibles dans lesquels traduire. Consultez les [paramètres régionaux pris en charge](/docs/platform/dashboard/reference/supported-locales) pour connaître les codes acceptés. Lorsque vous utilisez `gt-next` ou `gt-react`, ce sont également les paramètres régionaux pris en charge par votre application. ```json title="gt.config.json" { "locales": ["fr", "es", "ja"] } ``` ## `files` [#files] **Type** `object` · **Facultatif** · **Par défaut** — Objet contenant une clé par type de fichier à traduire. Chaque type est associé à un objet de paramètres. Consultez [Formats de fichier](/docs/cli/reference/formats/gt-jsx-files) pour des indications propres à chaque type. ### Types de fichiers pris en charge | Clé | Type de fichier | Référence | | ------------------- | ----------------------------------------------------------------------------- | ------------------------------------------------------------------- | | `gt` | Fichiers General Translation pour `gt-next`, `gt-react` et `gt-react-native`. | [GT](/docs/cli/reference/formats/gt-jsx-files) | | `json` | Fichiers JSON. | [JSON](/docs/cli/reference/formats/json-files) | | `yaml` | Fichiers YAML (`.yaml` et `.yml`). | [YAML](/docs/cli/reference/formats/yaml-files) | | `pot` | Fichiers gettext PO/POT. | [PO / POT](/docs/cli/reference/formats/po-pot-files) | | `mdx` | Fichiers MDX. | [MDX et Markdown](/docs/cli/reference/formats/mdx-md-files) | | `md` | Fichiers Markdown. | [MDX et Markdown](/docs/cli/reference/formats/mdx-md-files) | | `ts` | Fichiers TypeScript. | [TypeScript et JavaScript](/docs/cli/reference/formats/ts-js-files) | | `js` | Fichiers JavaScript. | [TypeScript et JavaScript](/docs/cli/reference/formats/ts-js-files) | | `html` | Fichiers HTML. | [HTML](/docs/cli/reference/formats/html-files) | | `txt` | Fichiers texte brut. | [Texte brut](/docs/cli/reference/formats/plain-text-files) | | `twilioContentJson` | Modèles Twilio Content JSON. | — | | `lottie` | Fichiers d’animation dotLottie (`.lottie`). | [Lottie](/docs/cli/reference/formats/lottie-files) | ### Clés de type de fichier Chaque type de fichier accepte les clés suivantes. * `include` — un tableau de motifs glob correspondant aux fichiers à traduire. Utilisez l’espace réservé `[locale]` : la CLI le remplace par `defaultLocale` pour trouver les fichiers source, puis par chaque code cible pour enregistrer les traductions. Obligatoire pour tous les types sauf `gt`. * `exclude` — un tableau de motifs glob à ignorer. L’espace réservé `[locale]` est facultatif ici ; utilisez `[locales]` pour exclure un chemin pour tous les paramètres régionaux. * `transform` — remappe les noms des fichiers de sortie. Une chaîne contenant le joker `*` remappe l’extension (par exemple `*.[locale].json`). Un objet avec `match` et `replace` prend en charge les groupes de capture regex et les espaces réservés de paramètre régional dans [Espaces réservés de paramètre régional](#locale-placeholders). * `transformationFormat` — génère des fichiers traduits dans un format différent de celui de la source. Par exemple, des sources `pot` avec `"transformationFormat": "PO"` produisent des fichiers `.po`. * `requiresReview` — soumet les fichiers traduits à une révision humaine. Accepte `true`/`false`, ou un objet avec des tableaux glob `include` et `exclude`, où `exclude` est prioritaire. * `output` — pour les fichiers `gt` uniquement, le chemin d’enregistrement local avec un espace réservé `[locale]`, tel que `public/i18n/[locale].json`. * `parsingFlags` — pour les fichiers `gt` uniquement, des indicateurs qui contrôlent l’analyse du contenu inline. Voir [`autoderive`](/docs/cli/guides/using-autoderive) et [l’injection JSX automatique](/docs/cli/guides/using-auto-jsx). ```json title="gt.config.json" { "files": { "gt": { "output": "public/i18n/[locale].json" }, "mdx": { "include": ["content/docs/[locale]/**/*.mdx"], "transform": "*.[locale].mdx" }, "json": { "include": ["resources/[locale]/**/*.json"], "exclude": ["resources/[locale]/exclude/**/*.json"] } } } ``` ### Espaces réservés de paramètres régionaux [#locale-placeholders] La valeur `replace` d’un objet `transform` accepte des espaces réservés `{...}` qui sont remplacés par les propriétés du paramètre régional cible. Les noms non reconnus sont conservés tels quels dans la sortie. | Espace réservé | Description | Exemple pour `pt-BR` | | -------------------- | -------------------------------------------------------------------------------------------------- | ---------------------- | | `{locale}` | Le paramètre régional tel qu’il est écrit dans [`locales`](#locales). `{localeCode}` est un alias. | `pt-BR` | | `{localeName}` | Nom anglais du paramètre régional, y compris sa région. | `Brazilian Portuguese` | | `{localeNativeName}` | Nom natif du paramètre régional, y compris sa région. | `português (Brasil)` | | `{languageCode}` | Sous-balise de langue seule. | `pt` | | `{regionCode}` | Sous-balise de région seule. | `BR` | | `{scriptCode}` | Sous-balise d’écriture seule. | `Latn` | | `{minimizedCode}` | Forme non ambiguë la plus courte de la balise. | `pt` | | `{maximizedCode}` | Balise entièrement développée, y compris l’écriture. | `pt-Latn-BR` | | `{emoji}` | Émoji de drapeau associé au paramètre régional. | 🇧🇷 | Les autres champs de [`LocaleProperties`](/docs/platform/core/reference/types/locale-properties) sont également acceptés par leur nom, notamment `languageName`, `nativeLanguageName`, `regionName`, `nativeRegionName`, `scriptName`, `nativeScriptName`, `nameWithRegionCode`, `nativeNameWithRegionCode`, `maximizedName`, `nativeMaximizedName`, `minimizedName` et `nativeMinimizedName`. `{locale}` utilise la graphie indiquée dans votre configuration plutôt que la forme canonique BCP-47. Ainsi, un paramètre régional configuré comme `fr-ca` produit `fr-ca`, et non `fr-CA`. Cela correspond à l’espace réservé `[locale]` dans `include`, `exclude` et `output`, afin que les chemins d’accès aux fichiers et les URL localisées soient cohérents. Utilisez plutôt `{minimizedCode}`, `{maximizedCode}` ou `{regionCode}` si vous avez besoin d’une balise normalisée. ```json title="gt.config.json" { "files": { "json": { "include": ["locales/[locale]/**/*.json"], "transform": { "match": "locales/(.*)/(.*)\\.json", "replace": "locales/{locale}/$2.{languageCode}.json" } } } } ``` ## `fonts` [#fonts] **Type** `object` · **Facultatif** · **Par défaut** — Fichiers de polices à téléverser avant l’exécution des tâches de traduction. Utilisez les motifs glob `include` et, facultativement, `exclude`, résolus depuis la racine du projet. Ciblez les fichiers `.ttf` et `.otf` ; la CLI les lit comme données binaires et les téléverse en tant qu’assets persistants de l’Organization pour le traitement de la mise en page Lottie. | Propriété | Description | Type | Facultatif | Par défaut | | --------- | --------------------------------------------- | ---------- | ---------- | ---------- | | `include` | Motifs glob des polices à téléverser. | `string[]` | Non | — | | `exclude` | Motifs glob pour exclure des correspondances. | `string[]` | Oui | `[]` | ```json title="gt.config.json" { "fonts": { "include": ["public/fonts/**/*.{ttf,otf}"], "exclude": ["public/fonts/legacy/**"] } } ``` La CLI synchronise les polices correspondantes avant d’exécuter [`gt stage`](/docs/cli/reference/commands/stage), [`gt upload`](/docs/cli/reference/commands/upload), [`gt enqueue`](/docs/cli/reference/commands/enqueue) et [`gt translate`](/docs/cli/reference/commands/translate) lorsqu’ils mettent de nouvelles tâches en file d’attente. Lorsque `stageTranslations` est activé, [`gt translate`](/docs/cli/reference/commands/translate) télécharge uniquement la version mise en attente et ne synchronise pas les polices. L’échec de la synchronisation des polices génère un avertissement, mais n’interrompt pas la traduction ; le traitement Lottie se poursuit avec des polices de secours. Consultez [Téléverser les ressources du projet](/docs/platform/openapi/reference/project/upload-assets) pour connaître le comportement de validation et de stockage des polices. ## `publish` [#publish] **Type** `boolean` · **Facultatif** · **Par défaut** `false` Lorsque cette option vaut `true`, les fichiers traduits sont publiés sur le CDN de General Translation après [`translate`](/docs/cli/reference/commands/translate), [`upload`](/docs/cli/reference/commands/upload) ou [`save-local`](/docs/cli/reference/commands/save-local). Les traductions Lottie restent disponibles uniquement via l’API et les téléchargements CLI ; définir `publish` ne rend pas les fichiers `.lottie` disponibles depuis le CDN. Voir [la publication sur le CDN](#cdn-publishing) pour un contrôle au niveau du fichier et de la commande. ```json title="gt.config.json" { "publish": true } ``` ## `stageTranslations` [#stage] **Type** `boolean` · **Facultatif** · **Par défaut** `false` Lorsque `true`, la CLI ne télécharge que les versions soumises avec [`gt stage`](/docs/cli/reference/commands/stage). La CLI active automatiquement ce paramètre la première fois que vous exécutez [`gt stage`](/docs/cli/reference/commands/stage). Utilisez le workflow de mise en attente pour la révision humaine et les formats asynchrones tels que [Lottie](/docs/cli/reference/formats/lottie-files) ; les paramètres de révision du projet déterminent également si les traductions terminées doivent être approuvées. ## `requiresReview` [#requires-review] **Type** `boolean` · **Facultatif** · **Par défaut** `false` Valeur par défaut à l’échelle du projet pour l’exigence de validation : lorsque `true`, les artefacts traduits doivent être approuvés avant d’être utilisés par le client. Cette valeur doit être un booléen — utilisez la clé par fichier [`files..requiresReview`](#files) (qui accepte un booléen ou des globs `{ include, exclude }`) pour les dérogations définies par glob. Une politique par fichier est prioritaire ; les fichiers ne correspondant ni à un glob `include` ni à un glob `exclude` reviennent à cette valeur par défaut de niveau supérieur. ```json title="gt.config.json" { "requiresReview": true } ``` ## `src` [#src] **Type** `string[]` · **Facultatif** · **Par défaut** motif glob `src`, `app`, `pages`, `components` Un tableau de motifs glob pour les fichiers source analysés à la recherche de contenu inline lorsque vous utilisez `gt-next`, `gt-react` ou `gt-react-native`. ```json title="gt.config.json" { "src": [ "src/**/*.{js,jsx,ts,tsx}", "app/**/*.{js,jsx,ts,tsx}", "pages/**/*.{js,jsx,ts,tsx}", "components/**/*.{js,jsx,ts,tsx}" ] } ``` ## `dictionary` [#dictionary] **Type** `string` · **Facultatif** · **Par défaut** — Le chemin relatif d’un fichier de dictionnaire. S’il n’est pas indiqué, le CLI recherche `dictionary.[json|ts|js]` dans `./src` et `./`. ```json title="gt.config.json" { "dictionary": "./dictionary.json" } ``` ## `branchOptions` [#branch-options] **Type** `object` · **Facultatif** · **Par défaut** — Configure le suivi des traductions par branche. Consultez [Suivre les traductions par branche](/docs/cli/guides/branching). Les options de la CLI prévalent sur ces valeurs. | Propriété | Description | Type | Facultatif | Par défaut | | -------------------- | ---------------------------------------------------------------- | --------- | ---------- | ---------- | | `enabled` | Active la gestion des branches pour le projet. | `boolean` | Oui | `false` | | `currentBranch` | Remplace le nom de la branche détectée. | `string` | Oui | — | | `autoDetectBranches` | Détecte les relations entre les branches entrantes et extraites. | `boolean` | Oui | `true` | | `remoteName` | Nom du dépôt distant Git utilisé pour détecter les branches. | `string` | Oui | `origin` | ```json title="gt.config.json" { "branchOptions": { "enabled": true, "currentBranch": "my-feature-branch", "autoDetectBranches": true, "remoteName": "origin" } } ``` ## `customMapping` [#custom-mapping] **Type** `object` · **Facultatif** · **Par défaut** — Associe un paramètre régional à un autre code via un alias et, éventuellement, remplace ses propriétés. Par exemple, associez l'alias `cn` au code officiel `zh`. ```json title="gt.config.json" { "customMapping": { "cn": { "code": "zh", "name": "Mandarin" } } } ``` ## Publication sur le CDN [#cdn-publishing] Par défaut, la CLI ne publie pas sur le CDN. Lorsque le CDN est activé dans les Paramètres du projet, vous pouvez contrôler la publication globalement, par fichier ou par commande. * **Global :** définissez [`publish`](#publish) à la racine sur `true`, ou passez `--publish` à [`translate`](/docs/cli/reference/commands/translate), [`upload`](/docs/cli/reference/commands/upload) ou [`save-local`](/docs/cli/reference/commands/save-local). * **Fichiers GT uniquement :** définissez `publish: true` sous `files.gt`. * **Par fichier :** dans le tableau `include`, remplacez une simple chaîne glob par un objet avec `pattern` et `publish` pour inclure ou exclure explicitement de la publication les fichiers correspondants. ```json title="gt.config.json" { "files": { "json": { "include": [ { "pattern": "locales/[locale]/*.json", "publish": true }, { "pattern": "locales/[locale]/internal/**/*.json", "publish": false } ] } } } ``` Pour n’importe quel fichier, la CLI détermine la publication dans cet ordre de priorité : un `"publish": false` explicite, puis un `"publish": true` explicite, puis le paramètre global `publish`. Si aucune configuration de publication n’existe à quelque niveau que ce soit, l’étape de publication est ignorée. ## Exemple de configuration [#example] ```json title="gt.config.json" { "$schema": "https://assets.gtx.dev/config-schema.json", "defaultLocale": "en", "locales": ["fr", "es"], "files": { "gt": { "output": "public/i18n/[locale].json" }, "mdx": { "include": ["content/docs/[locale]/**/*.mdx"], "transform": "*.[locale].mdx" }, "json": { "include": ["resources/[locale]/**/*.json"], "exclude": ["resources/[locale]/exclude/**/*.json"] } } } ``` Une seule exécution de [`gt translate`](/docs/cli/reference/commands/translate) avec cette configuration traduit les fichiers MDX dans `content/docs/en` (enregistrés dans `content/docs/fr` et `content/docs/es` avec les extensions `.fr.mdx` et `.es.mdx`), les fichiers JSON dans `resources/en` (à l’exception de `resources/en/exclude`), ainsi que tous les composants [``](/docs/react/reference/components/t) inline et les entrées de dictionnaire. Les traductions GT sont enregistrées dans `public/i18n/fr.json` et `public/i18n/es.json`.