# gt: General Translation CLI tool: Configuración URL: https://generaltranslation.com/es/docs/cli/reference/config.mdx --- title: Configuración description: Configura la CLI de General Translation con el archivo gt.config.json. Referencia de la API de gt.config.json. --- El archivo `gt.config.json` define qué traduce la CLI y dónde se guardan los resultados. Colócalo en la raíz de tu proyecto. Créalo con [`gt init`](/docs/cli/reference/commands/init) o [`gt configure`](/docs/cli/reference/commands/configure), o escríbelo manualmente. *Nota: Añade el [JSON Schema](https://assets.gtx.dev/config-schema.json) con una clave `$schema` para la validación y el autocompletado en el editor.* ## Opciones [#options] | Opción | Descripción | Tipo | Opcional | Predeterminado | | ------------------------------------ | ----------------------------------------------------------------------------------- | ---------- | -------- | ---------------------- | | [`defaultLocale`](#default-locale) | Configuración regional en la que está escrito el contenido fuente. | `string` | Sí | `en` | | [`locales`](#locales) | Configuraciones regionales de destino a las que traducir. | `string[]` | Sí | — | | [`files`](#files) | Qué archivos traducir y dónde guardarlos. | `object` | Sí | — | | [`publish`](#publish) | Publicar los archivos traducidos en la CDN. | `boolean` | Sí | `false` | | [`stageTranslations`](#stage) | Exigir revisión humana antes de servir las traducciones. | `boolean` | Sí | `false` | | [`requiresReview`](#requires-review) | Política predeterminada de revisión obligatoria para todos los archivos traducidos. | `boolean` | Sí | `false` | | [`src`](#src) | Patrones glob de archivos fuente que se analizan en busca de contenido inline. | `string[]` | Sí | Consulta [`src`](#src) | | [`dictionary`](#dictionary) | Ruta a un archivo de diccionario. | `string` | Sí | — | | [`branchOptions`](#branch-options) | Configuración para el seguimiento de traducciones por rama. | `object` | Sí | — | | [`customMapping`](#custom-mapping) | Alias de configuración regional y sobrescrituras de propiedades. | `object` | Sí | — | ## `defaultLocale` [#default-locale] **Tipo** `string` · **Opcional** · **Predeterminado** `en` La configuración regional en la que está escrito tu contenido de origen. Esta es la configuración regional desde la que traduce la CLI y la configuración regional de respaldo cuando usas `gt-next` o `gt-react`. ```json title="gt.config.json" { "defaultLocale": "en" } ``` ## `locales` [#locales] **Tipo** `string[]` · **Opcional** · **Predeterminado** — Las configuraciones regionales de destino a las que se traducirá. Consulta [configuraciones regionales compatibles](/docs/platform/dashboard/reference/supported-locales) para ver los códigos aceptados. Cuando usas `gt-next` o `gt-react`, estas también son las configuraciones regionales que admite tu aplicación. ```json title="gt.config.json" { "locales": ["fr", "es", "ja"] } ``` ## `files` [#files] **Tipo** `object` · **Opcional** · **Predeterminado** — Un objeto con una clave por cada tipo de archivo que se traduzca. Cada tipo corresponde a un objeto de configuración. Consulta [Formatos de archivo](/docs/cli/reference/formats/gt-jsx-files) para ver la guía específica de cada tipo. ### Tipos de archivo admitidos | Clave | Tipo de archivo | Referencia | | ------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------ | | `gt` | Archivos de General Translation para `gt-next`, `gt-react` y `gt-react-native`. | [GT](/docs/cli/reference/formats/gt-jsx-files) | | `json` | Archivos JSON. | [JSON](/docs/cli/reference/formats/json-files) | | `yaml` | Archivos YAML (`.yaml` y `.yml`). | [YAML](/docs/cli/reference/formats/yaml-files) | | `pot` | Archivos gettext PO/POT. | [PO / POT](/docs/cli/reference/formats/po-pot-files) | | `mdx` | Archivos MDX. | [MDX y Markdown](/docs/cli/reference/formats/mdx-md-files) | | `md` | Archivos Markdown. | [MDX y Markdown](/docs/cli/reference/formats/mdx-md-files) | | `ts` | Archivos TypeScript. | [TypeScript y JavaScript](/docs/cli/reference/formats/ts-js-files) | | `js` | Archivos JavaScript. | [TypeScript y JavaScript](/docs/cli/reference/formats/ts-js-files) | | `html` | Archivos HTML. | [HTML](/docs/cli/reference/formats/html-files) | | `txt` | Archivos de texto sin formato. | [Texto sin formato](/docs/cli/reference/formats/plain-text-files) | | `twilioContentJson` | Plantillas de Twilio Content JSON. | — | ### Claves por tipo de archivo Cada tipo de archivo acepta las siguientes claves. * `include` — una lista de patrones glob que coinciden con los archivos que se van a traducir. Usa el marcador de posición `[locale]`: la CLI lo reemplaza por `defaultLocale` para encontrar los archivos fuente y por cada código de destino para guardar las traducciones. Obligatorio para todos los tipos excepto `gt`. * `exclude` — una lista de patrones glob que se omiten. El marcador de posición `[locale]` es opcional aquí; usa `[locales]` para excluir una ruta en todas las configuraciones regionales. * `transform` — reasigna los nombres de los archivos de salida. Una cadena con el comodín `*` reasigna la extensión (por ejemplo, `*.[locale].json`). Un objeto con `match` y `replace` admite grupos de captura regex y el marcador de posición `{locale}`. * `transformationFormat` — genera archivos traducidos en un formato distinto del archivo fuente. Por ejemplo, los archivos fuente `pot` con `"transformationFormat": "PO"` producen archivos `.po`. * `requiresReview` — hace que los archivos traducidos requieran revisión humana. Acepta `true`/`false` o un objeto con listas glob `include` y `exclude`, donde `exclude` tiene prioridad. * `output` — solo para archivos `gt`, la ruta de guardado local con un marcador de posición `[locale]`, como `public/i18n/[locale].json`. * `parsingFlags` — solo para archivos `gt`, flags que controlan el análisis del contenido inline. Consulta [`autoderive`](/docs/cli/guides/using-autoderive) y [inyección automática de JSX](/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] **Tipo** `boolean` · **Opcional** · **Predeterminado** `false` Cuando es `true`, los archivos traducidos se publican en la CDN de General Translation después de [`translate`](/docs/cli/reference/commands/translate), `upload` o `save-local`. Consulta [la publicación en la CDN](#cdn-publishing) para controlar esto por archivo y por comando. ```json title="gt.config.json" { "publish": true } ``` ## `stageTranslations` [#stage] **Tipo** `boolean` · **Opcional** · **Predeterminado** `false` Cuando es `true`, las traducciones requieren revisión humana antes de servirse. La CLI configura esta opción automáticamente la primera vez que ejecutas [`gt stage`](/docs/cli/reference/commands/stage). Una vez habilitado, `translate` solo descarga las traducciones de las versiones que hayas marcado con `gt stage`; si no has marcado ninguna, no habrá nada que descargar. ## `requiresReview` [#requires-review] **Tipo** `boolean` · **Opcional** · **Predeterminado** `false` El valor predeterminado a nivel de proyecto para exigir revisión: cuando es `true`, los artefactos traducidos requieren aprobación antes de que el cliente los use. Debe ser un valor booleano; usa la clave [`files..requiresReview`](#files) por archivo (que acepta un booleano o globs `{ include, exclude }`) para las anulaciones por glob. La política por archivo tiene prioridad; los archivos que no coincidan ni con un glob de `include` ni con uno de `exclude` usarán este valor predeterminado de nivel superior. ```json title="gt.config.json" { "requiresReview": true } ``` ## `src` [#src] **Tipo** `string[]` · **Opcional** · **Predeterminado** globs de `src`, `app`, `pages`, `components` Una lista de patrones glob para los archivos fuente que se analizan en busca de contenido inline cuando usas `gt-next`, `gt-react` o `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] **Tipo** `string` · **Opcional** · **Valor predeterminado** — La ruta relativa de un archivo de diccionario. Si se omite, la CLI busca `dictionary.[json|ts|js]` en `./src` y `./`. ```json title="gt.config.json" { "dictionary": "./dictionary.json" } ``` ## `branchOptions` [#branch-options] **Tipo** `object` · **Opcional** · **Predeterminado** — Configura el seguimiento de traducciones por rama. Consulta [Seguimiento de traducciones por rama](/docs/cli/guides/branching). Los flags de la CLI tienen prioridad sobre estos valores. | Propiedad | Descripción | Tipo | Opcional | Predeterminado | | -------------------- | -------------------------------------------------------------- | --------- | -------- | -------------- | | `enabled` | Activa el uso de ramas para el Project. | `boolean` | Sí | `false` | | `currentBranch` | Sobrescribe el nombre de la rama detectada. | `string` | Sí | — | | `autoDetectBranches` | Detecta las relaciones entre ramas entrantes y la rama actual. | `boolean` | Sí | `true` | | `remoteName` | Remoto de Git usado para detectar ramas. | `string` | Sí | `origin` | ```json title="gt.config.json" { "branchOptions": { "enabled": true, "currentBranch": "my-feature-branch", "autoDetectBranches": true, "remoteName": "origin" } } ``` ## `customMapping` [#custom-mapping] **Tipo** `object` · **Opcional** · **Predeterminado** — Asigna un alias a una configuración regional con un código diferente y, opcionalmente, anula sus propiedades. Por ejemplo, asigna el alias `cn` al código oficial `zh`. ```json title="gt.config.json" { "customMapping": { "cn": { "code": "zh", "name": "Mandarin" } } } ``` ## Publicación en CDN [#cdn-publishing] De forma predeterminada, la CLI no publica en la CDN. Cuando la CDN está habilitada en la configuración de tu Project, puedes controlar la publicación de forma global, por archivo o por comando. * **Global:** establece la opción [`publish`](#publish) de nivel superior en `true`, o pasa `--publish` a `translate`, `upload` o `save-local`. * **Solo archivos GT:** establece `publish: true` en `files.gt`. * **Por archivo:** en un arreglo `include`, reemplaza una cadena glob por un objeto con `pattern` y `publish` para incluir o excluir explícitamente los archivos coincidentes. ```json title="gt.config.json" { "files": { "json": { "include": [ { "pattern": "locales/[locale]/*.json", "publish": true }, { "pattern": "locales/[locale]/internal/**/*.json", "publish": false } ] } } } ``` Para cualquier archivo, la CLI resuelve la publicación en este orden: una exclusión explícita con `"publish": false`, luego una inclusión explícita con `"publish": true`, y después la configuración global de `publish`. Si no existe ninguna configuración de publicación en ningún nivel, se omite el paso de publicación. ## Configuración de ejemplo [#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"] } } } ``` Una sola ejecución de [`gt translate`](/docs/cli/reference/commands/translate) con esta configuración traduce los archivos MDX de `content/docs/en` (que se guardan en `content/docs/fr` y `content/docs/es` como `.fr.mdx` y `.es.mdx`), los archivos JSON de `resources/en` (excepto `resources/en/exclude`) y cualquier componente [``](/docs/react/reference/components/t) inline, así como las entradas del diccionario. Las traducciones de GT se guardan en `public/i18n/fr.json` y `public/i18n/es.json`.