# 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.* ## 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 | — | | [`publish`](#publish) | Publier les fichiers traduits sur le CDN. | `boolean` | Oui | `false` | | [`stageTranslations`](#stage) | Exiger une révision humaine avant la diffusion des 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. | — | ### 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 l’espace réservé `{locale}`. * `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"] } } } ``` ## `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` ou `save-local`. 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`, les traductions nécessitent une relecture humaine avant d’être fournies. La CLI active automatiquement ce paramètre la première fois que vous exécutez [`gt stage`](/docs/cli/reference/commands/stage). Une fois activé, `translate` ne télécharge que les traductions des versions que vous avez mises en attente avec `gt stage` ; si rien n’a été mis en attente, il n’y a rien à télécharger. ## `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`, `upload` ou `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`.