# gt: General Translation CLI tool: Generación de traducciones
URL: https://generaltranslation.com/es/docs/cli/guides/generating-translations.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Genera traducciones y guárdalas en tu base de código o en la CDN con el CLI de General Translation.

El comando [`gt translate`](/docs/cli/reference/commands/translate) es la forma principal de traducir tu proyecto. Lee `gt.config.json` para localizar tus archivos, analiza tu código fuente en busca de contenido inline y genera traducciones mediante la API de General Translation.

*Nota: Ejecuta [`translate`](/docs/cli/reference/commands/translate) en tu flujo de CI antes de compilar para producción. No está pensado para desarrollo; en ese caso, usa una API key de desarrollo para la traducción on-demand.*

## Antes de empezar [#before]

* Configura tu proyecto con un `gt.config.json`. Consulta [Configuración de la CLI](/docs/cli/guides/configuring).
* Establece una `GT_API_KEY` y un `GT_PROJECT_ID` de producción como variables de entorno.
* Cámbiate a la rama desde la que compilas para producción.

## Traduce tu proyecto [#translate]

Ejecuta el comando desde la raíz del proyecto.

```bash
npx gt translate
```

La CLI traduce cada archivo que coincida con `gt.config.json`. Si usas `gt-next`, `gt-react` o `gt-react-native`, también analiza tu código fuente en busca de contenido inline, como los componentes [`<T>`](/docs/react/reference/components/t) y las llamadas a [`useGT`](/docs/react/reference/hooks/use-gt), e incluye tu archivo de diccionario. Las traducciones se guardan en tu base de código, listas para hacer commit.

Si usas `next-intl`, `react-i18next` o `next-i18next`, la CLI detecta la biblioteca en tu `package.json` y traduce tus archivos conservando la sintaxis de strings de esa biblioteca.

## Añádelo a tu compilación [#build]

Ejecuta [`translate`](/docs/cli/reference/commands/translate) antes del comando de compilación para que la versión de producción siempre se publique con las traducciones actualizadas.

```json title="package.json"
{
  "scripts": {
    "translate": "npx gt translate",
    "build": "npm run translate && <your build command>"
  }
}
```

## Controla qué contenido se traduce [#content]

De forma predeterminada, la CLI busca contenido inline en `src`, `app`, `pages` y `components`. Puedes cambiar este comportamiento con el campo `src` en `gt.config.json` o con la opción `--src`.

```bash
npx gt translate --src "lib/**/*.{ts,tsx}"
```

Para traducir a locales adicionales en una sola ejecución sin editar tu configuración, pasa `--locales`. Estos se agregan a los `locales` de `gt.config.json`.

```bash
npx gt translate --locales de it
```

## Validate sin traducir [#validate]

Usa `--dry-run` para analizar y validar tu proyecto sin llamar a la API. Esto es útil para detectar errores en CI antes de una ejecución real.

```bash
npx gt translate --dry-run
```

## Volver a traducir contenido existente [#retranslate]

De forma predeterminada, la CLI solo traduce el contenido cuyo texto fuente ha cambiado, conserva los cambios locales y puede reutilizar una traducción coincidente de una versión anterior del mismo archivo, no solo de la versión más reciente. Un segmento se vuelve a traducir cuando cambia su texto de origen. Para cambiar ese comportamiento:

* `--force` vuelve a traducir todo el contenido y sobrescribe las traducciones existentes. Se pierden los cambios locales y se te cobra por las nuevas traducciones.
* `--force-download` vuelve a descargar las traducciones y sobrescribe los cambios locales sin volver a traducir.

```bash
npx gt translate --force
```

## Etiqueta una ejecución de traducción [#tagging]

Usa `--tag` y `-m` para etiquetar una ejecución con un identificador fácil de leer, lo que facilita el seguimiento de las versiones en el panel de control.

```bash
npx gt translate --tag v2.1.0 -m "Added checkout page translations"
```

Pasa `--tag` sin ningún valor para usar el hash del commit actual de Git como etiqueta y el mensaje del commit como mensaje. El etiquetado no bloquea: si falla, la ejecución de la traducción continúa.

## Publicar en la CDN [#publish]

De forma predeterminada, las traducciones se guardan localmente. Agrega `--publish` para publicarlas también en la CDN de General Translation, de modo que puedan cargarse en tiempo de ejecución.

```bash
npx gt translate --publish
```

*Nota: Primero habilita la CDN en la configuración de tu proyecto. Sin ella, la ejecución de traducción se completa correctamente, pero el paso de publicación falla con una advertencia.*

## Next steps

- /docs/cli/guides/managing-translations
- /docs/cli/guides/branching
- /docs/cli/guides/configuring
- /docs/cli/guides/using-autoderive

## Sitemap

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