# gt: General Translation CLI tool: gt translate URL: https://generaltranslation.com/es/docs/cli/reference/commands/translate.mdx --- title: gt translate description: Traduce un proyecto mediante la API de General Translation. Referencia de la API para el comando gt translate. --- Traduce tu proyecto. Lee `gt.config.json` para encontrar tus archivos, analiza tu código fuente en busca de contenido inline cuando usas una biblioteca del framework, incluye tu diccionario y guarda las traducciones en tu base de código o en la CDN. Este es el comando principal para usar la API de General Translation. Ejecútalo en CI antes de una compilación de producción. Para ver el flujo de trabajo completo, consulta [Generación de traducciones](/docs/cli/guides/generating-translations). Internamente, `translate` ejecuta `stage` y `download` en un solo paso; para ejecutar esas partes por separado, usa [`gt stage`](/docs/cli/reference/commands/stage), [`gt upload`](/docs/cli/reference/commands/upload), [`gt enqueue`](/docs/cli/reference/commands/enqueue) y [`gt download`](/docs/cli/reference/commands/download). *Nota: Solo para uso en producción. Configura `GT_API_KEY` y `GT_PROJECT_ID` de producción como variables de entorno, y nunca almacenes tu clave de API en `gt.config.json`.* ```bash npx gt translate ``` ## Cómo funciona [#how-it-works] 1. Lee `gt.config.json` para determinar las configuraciones regionales de destino, los archivos que se traducirán y sus rutas de salida. 2. En proyectos `gt-next`, `gt-react`, `gt-react-native` y `gt-tanstack-start`, analiza los globs de `src` en busca de contenido inline — componentes [``](/docs/react/reference/components/t) y llamadas a [`useGT`](/docs/react/reference/hooks/use-gt) — e incluye tu archivo de diccionario. 3. Detecta automáticamente una biblioteca de i18n de terceros en `package.json` — `next-intl` o `i18next` (con soporte para `i18next-icu`) — y traduce sus archivos JSON respetando la sintaxis de esa biblioteca. 4. Prepara el contenido recopilado y descarga los resultados en un solo paso. Internamente, esto equivale a [`gt stage`](/docs/cli/reference/commands/stage) seguido de [`gt download`](/docs/cli/reference/commands/download); usa los comandos por separado para ejecutar cada parte de forma independiente. 5. Guarda las traducciones en tu base de código y en la CDN cuando se establece `--publish` o la clave de configuración [`publish`](/docs/cli/reference/config#publish). De forma predeterminada, la CLI no sobrescribe los cambios en las traducciones locales a menos que el contenido de origen haya cambiado. Usa `--force` para volver a traducirlo todo, o `--force-download` para volver a descargar sin volver a traducir. ## Flags [#flags] | Parámetro | Descripción | Tipo | Opcional | Predeterminado | | ---------------------------- | ----------------------------------------------------------------------------------------------- | ---------- | -------- | ------------------ | | `--api-key ` | Clave de API de producción. | `string` | Sí | `GT_API_KEY` | | `--project-id ` | ID del proyecto. | `string` | Sí | `GT_PROJECT_ID` | | `--version-id ` | ID de versión de la ejecución. | `string` | Sí | Hash del contenido | | `-c, --config ` | Ruta al archivo de configuración. | `string` | Sí | `gt.config.json` | | `--default-locale ` | configuración regional de origen del proyecto. | `string` | Sí | `en` | | `--locales ` | configuraciones regionales de destino adicionales, añadidas a `locales` de la configuración. | `string[]` | Sí | — | | `--timeout ` | Tiempo de espera de la traducción en segundos. | `number` | Sí | `900` | | `--dry-run` | Analiza y valida sin llamar a la API. | `boolean` | Sí | `false` | | `--force` | Vuelve a traducir todo el contenido y sobrescribe las traducciones existentes. | `boolean` | Sí | `false` | | `--force-download` | Vuelve a descargar todas las traducciones y sobrescribe los cambios locales. | `boolean` | Sí | `false` | | `--save-local` | Guarda las ediciones locales antes de ponerlas en cola. | `boolean` | Sí | `false` | | `--publish` | Publica las traducciones en la CDN. | `boolean` | Sí | `false` | | `--enable-branching` | Habilita el seguimiento basado en ramas. | `boolean` | Sí | `false` | | `--branch ` | Nombre de la rama en lugar de detectarla automáticamente. | `string` | Sí | — | | `--disable-branch-detection` | Usa solo la rama especificada, sin detectar relaciones. | `boolean` | Sí | `false` | | `--remote-name ` | Remoto de Git usado para la detección de ramas. | `string` | Sí | `origin` | | `--omit-config-ids` | No escribe `_versionId` ni `_branchId` en `gt.config.json`. | `boolean` | Sí | — | | `--tag [value]` | Etiqueta la ejecución; se obtiene automáticamente de Git cuando no se proporciona ningún valor. | `string` | Sí | — | | `-m, --message ` | Mensaje adjunto a la etiqueta de traducción. | `string` | Sí | — | ### Flags de escaneo del código fuente [#source] Se aplican al escanear código fuente en proyectos `gt-next`, `gt-react`, `gt-react-native` y `gt-tanstack-start`. | Parámetro | Descripción | Tipo | Opcional | Predeterminado | | ------------------------------- | ---------------------------------------------------------- | ---------- | -------- | -------------------------------------------- | | `--src ` | Patrones glob para source files. | `string[]` | Sí | globs de `src`, `app`, `pages`, `components` | | `--dictionary ` | Ruta al archivo de diccionario. | `string` | Sí | — | | `--tsconfig, --jsconfig ` | Ruta a un archivo de configuración de TS o JS. | `string` | Sí | Detectado automáticamente | | `--inline` | Incluye contenido inline como `` y `useGT`. | `boolean` | Sí | `true` | | `--ignore-errors` | Ignora los errores encontrados al escanear contenido inline. | `boolean` | Sí | `false` | ### Flags experimentales [#experimental] | Parámetro | Descripción | Tipo | Opcional | Predeterminado | | ----------------------------------------- | ------------------------------------------------------------------------------------ | --------- | -------- | -------------- | | `--experimental-localize-static-urls` | Localiza las URL en archivos `md`/`mdx` traducidos. | `boolean` | Sí | `false` | | `--experimental-hide-default-locale` | Oculta la configuración regional predeterminada en las rutas localizadas. | `boolean` | Sí | `false` | | `--experimental-flatten-json-files` | Combina los archivos JSON en un solo archivo. | `boolean` | Sí | `false` | | `--experimental-localize-static-imports` | Localiza las importaciones estáticas en archivos `md`/`mdx` traducidos. | `boolean` | Sí | `false` | | `--experimental-localize-relative-assets` | Reescribe las URL relativas de recursos de imagen en archivos `md`/`mdx` traducidos. | `boolean` | Sí | `false` | | `--experimental-clear-locale-dirs` | Limpia los directorios de configuración regional antes de descargar. | `boolean` | Sí | `false` | ## Ejemplo [#example] ```bash # Traducir usando gt.config.json, leyendo GT_API_KEY y GT_PROJECT_ID del entorno npx gt translate # Analizar y validar el proyecto sin llamar a la API npx gt translate --dry-run # Guardar las traducciones localmente y publicarlas en el CDN para carga en runtime npx gt translate --publish # Etiquetar la ejecución para identificarla fácilmente en el panel de control npx gt translate --tag v2.1.0 -m "Added checkout page translations" ``` ## Otras notas [#notes] * **Fuentes de contenido:** el CLI analiza `src`, `app`, `pages` y `components` de forma predeterminada. Puedes cambiarlo con `--src` o con la clave de configuración [`src`](/docs/cli/reference/config#src). * **Diccionario:** cuando no se establece `--dictionary`, el CLI busca `dictionary.[json|ts|js]` en `./src` y `./`. * **Sobrescritura:** `--force` sobrescribe todas las traducciones existentes y cobra las nuevas; `--force-download` sobrescribe las ediciones locales con las traducciones más recientes sin volver a traducir. * **Etiquetado:** el etiquetado no bloquea la ejecución: si falla la creación de la etiqueta, la ejecución continúa. Pasa `--tag` sin valor para usar el commit hash y el mensaje actuales de git. * **Publicación:** habilita la CDN en la configuración del proyecto antes de usar `--publish`. Si la CDN no está habilitada, la ejecución traduce correctamente, pero el paso de publicación falla con una advertencia. * **Ramificación:** pasa `--enable-branching` para hacer seguimiento de las traducciones por rama de git. Consulta [Seguimiento de traducciones por rama](/docs/cli/guides/branching). * **Seguridad:** nunca almacenes tu clave de API en `gt.config.json`. El CLI lee `GT_API_KEY` y `GT_PROJECT_ID` del entorno automáticamente.