# gt: General Translation CLI tool: Configurar la CLI
URL: https://generaltranslation.com/es/docs/cli/guides/configuring.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Cómo configurar un archivo gt.config.json de General Translation con tus locales, archivos y opciones de almacenamiento.

La CLI lee un archivo `gt.config.json` en la raíz de tu proyecto para decidir qué traducir y dónde se guardan los resultados. Esta guía te muestra cómo crear y editar ese archivo.

*Nota: Esta guía cubre las opciones de configuración más habituales. Para ver todos los campos disponibles, consulta la [referencia de configuración](/docs/cli/reference/config).*

## Crea el archivo de configuración [#create]

Puedes crear `gt.config.json` de tres formas. Elige la que mejor se adapte a tu flujo de trabajo.

### a) Ejecuta el asistente de configuración completo

Ejecuta [`gt init`](/docs/cli/reference/commands/init) para detectar tu framework, instalar las dependencias, crear el archivo de configuración y generar las credenciales cuando sea necesario.

```bash
npx gt init
```

En un monorepo, ejecuta el comando desde la app que quieras localizar, no desde la raíz del workspace. Para las apps de Vite React, el asistente instala `gt-react`, configura [`initializeGTSPA`](/docs/react/reference/config#initialize-spa) antes del punto de entrada existente de la app y configura la carga de traducciones desde un origen local o una CDN.

### b) Crea solo el archivo de configuración

Ejecuta [`gt configure`](/docs/cli/reference/commands/configure) para crear `gt.config.json` sin instalar dependencias ni modificar la configuración de tu framework.

```bash
npx gt configure
```

### c) Escríbelo manualmente

Crea el archivo tú mismo y añade la referencia `$schema` para la validación del editor y el autocompletado.

```json title="gt.config.json"
{
  "$schema": "https://assets.gtx.dev/config-schema.json",
  "defaultLocale": "en",
  "locales": ["fr", "es"]
}
```

## Configura tus locales [#locales]

Configura `defaultLocale` con el idioma en el que está escrito tu contenido de origen e indica tus idiomas de destino en `locales`.

```json title="gt.config.json"
{
  "defaultLocale": "en",
  "locales": ["fr", "es", "ja"]
}
```

Ambos usan códigos de configuración regional estándar, como `en`, `en-US` o `zh`. Consulta [locales compatibles](/docs/platform/dashboard/reference/supported-locales) para ver la lista completa.

Para usar un alias personalizado para una configuración regional —por ejemplo, `cn` en lugar de `zh`—, agrega una entrada en `customMapping` que apunte al código oficial.

```json title="gt.config.json"
{
  "customMapping": {
    "cn": { "code": "zh" }
  }
}
```

## Elige qué archivos traducir [#files]

Agrega un objeto `files` con una clave para cada tipo de archivo que quieras traducir. La mayoría de los tipos aceptan una lista `include` de patrones glob que usan el marcador de posición `[locale]` para localizar los archivos de origen y guardar los archivos traducidos. Los [catálogos `.xcstrings`](/docs/cli/reference/formats/xcstrings-files) son la excepción, porque todas las configuraciones regionales se almacenan en un único archivo que se actualiza en el mismo documento.

```json title="gt.config.json"
{
  "defaultLocale": "en",
  "locales": ["fr", "es"],
  "files": {
    "json": {
      "include": ["locales/[locale]/**/*.json"]
    },
    "mdx": {
      "include": ["content/docs/[locale]/**/*.mdx"]
    }
  }
}
```

La CLI reemplaza `[locale]` por `defaultLocale` cuando busca archivos de origen, y por cada código de destino cuando guarda las traducciones. Las opciones por tipo se documentan en [Formatos de archivo](/docs/cli/reference/formats/gt-jsx-files), y las coincidencias avanzadas en [`include`](/docs/cli/reference/config#files).

## Elige dónde se almacenan las traducciones [#storage]

Si usas `gt-next`, `gt-react` o `gt-react-native`, decide cómo se distribuyen las traducciones.

* **Guarda localmente** para incluir las traducciones en tu app. Agrega una entrada de `gt` con una ruta `output` que incluya `[locale]`.
* **Publica en la CDN** para cargar las traducciones en tiempo de ejecución en lugar de incluirlas en la app. Establece `publish` en `true`.

```json title="gt.config.json"
{
  "files": {
    "gt": {
      "output": "public/i18n/[locale].json"
    }
  }
}
```

(Consulta [la publicación en CDN](/docs/cli/reference/config#cdn-publishing) para gestionar la publicación a nivel global, por archivo o por comando).

## Añade tus credenciales [#credentials]

El comando [`translate`](/docs/cli/reference/commands/translate) necesita una API key de producción y el project ID. No los incluyas en `gt.config.json`; configúralos como variables de entorno en su lugar.

```bash title=".env"
GT_API_KEY=your-api-key
GT_PROJECT_ID=your-project-id
```

Ejecuta [`gt auth`](/docs/cli/reference/commands/auth) para generarlos y escribirlos automáticamente en `.env.local`.

## Next steps

- /docs/cli/guides/generating-translations
- /docs/cli/guides/managing-translations
- /docs/cli/guides/using-auto-jsx
- /docs/cli/guides/branching

## Sitemap

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