# gt: General Translation CLI tool: translate URL: https://generaltranslation.com/es/docs/cli/translate.mdx --- title: translate description: Cómo traducir tu proyecto --- ## Uso Ejecuta esto en tu pipeline **antes** de compilar tu aplicación para producción. ```bash npx gt translate ``` **Nota:** Este comando requiere una clave API de producción. Obtén una en la [plataforma](https://generaltranslation.com/dashboard). ## Resumen El comando `gt translate` traduce tu proyecto leyendo primero el archivo `gt.config.json` para determinar qué archivos traducir. Si usas [`gt-next`](/docs/next), [`gt-react`](/docs/react), o [`gt-react-native`](/docs/react-native), también buscará contenido en línea en el código fuente de tu proyecto (como componentes `` y hooks `useGT`) y generará los archivos de traducción necesarios. Además, incluye contenido del archivo de diccionario (si se proporciona). Este comando es la forma principal de usar la API de General Translation y los servicios relacionados. **¡Solo para uso en producción!** Este comando está pensado para compilaciones de producción y **no debe usarse en desarrollo**. Antes de ejecutar este comando, asegúrate de estar en la rama que se usará para producción. Recuerda especificar también tu clave API de producción (`GT_API_KEY`) y el ID del proyecto (`GT_PROJECT_ID`) en tus variables de entorno. ## Uso Hay 2 formas principales de usar el comando `translate`. El primer método requiere una clave API de producción. Recomendamos ejecutar el asistente de configuración: [`npx gt configure`](/docs/cli/configure) para que te ayude a configurar tu proyecto antes de ejecutar el comando `translate`. Según cómo esté configurado tu proyecto, el comportamiento del comando `translate` puede cambiar. ### Método 1: Traduce tu proyecto [#translate] ```bash npx gt translate ``` El comando `translate` leerá tu archivo `gt.config.json` para determinar qué archivos traducir, además de buscar contenido traducible en el código fuente de tu proyecto, antes de generar los archivos de traducción necesarios. Las traducciones se guardarán automáticamente en tu base de código. Consulta la [documentación de configuración de la CLI](/docs/cli/reference/config#files) para más detalles. {/* These links point to our own SDK docs intentionally — we want to show how our CLI handles these libraries, not link to the external library sites */} Si usas [`next-intl`](/docs/next), [`react-i18next`](/docs/react), o [`next-i18next`](/docs/react-native), la herramienta CLI detectará automáticamente tu biblioteca de i18n leyendo tu archivo `package.json` y traducirá tus archivos JSON respetando la sintaxis de tu biblioteca de i18n. ### Método 2: Valida los componentes `` y el archivo de diccionario de tu proyecto. [#validate] ```bash npx gt translate --dry-run ``` Si usas [`gt-next`](/docs/next), [`gt-react`](/docs/react) o [`gt-react-native`](/docs/react-native), puedes usar este método para validar los componentes `` y el archivo de diccionario de tu proyecto. Esto garantiza que tu proyecto esté configurado correctamente y que las traducciones sean válidas y precisas. No se generarán traducciones si se proporciona la opción `--dry-run`. *** ## Opciones | Parámetro | Descripción | Tipo | Opcional | Predeterminado | | ------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ---------- | -------- | ------------------------------------------------------------------------------------------------------------------------------- | | `--api-key` | Especifica una clave API de producción | `string` | `true` | | | `--project-id` | Especifica el ID del proyecto | `string` | `true` | | | `--version-id` | Especifica un ID de versión (por defecto, un hash del contenido) | `string` | `true` | | | `--config ` | Especifica una ruta al archivo de configuración de GT | `string` | `true` | `"gt.config.json"` | | `--tsconfig, --jsconfig ` | Especifica una ruta al archivo de configuración de TS o JS | `string` | `true` | | | `--src ` | Lista de patrones glob, separados por espacios, para coincidir con archivos de origen. Debe ser relativa al directorio raíz. | `[string]` | `true` | `[ 'src/**/*.{js,jsx,ts,tsx}', 'app/**/*.{js,jsx,ts,tsx}', 'pages/**/*.{js,jsx,ts,tsx}', 'components/**/*.{js,jsx,ts,tsx}', ]` | | `--dictionary ` | Especifica una ruta al archivo de diccionario | `string` | `true` | | | `--inline` | Incluye etiquetas `` en línea además del diccionario | `boolean` | `true` | `true` | | `--timeout` | El tiempo de espera de la solicitud de traducción, en segundos | `number` | `true` | `600` | | `--new, --locales ` | Configuraciones regionales a las que traducir tu proyecto | `[string]` | `true` | | | `--default-locale ` | La configuración regional de origen del proyecto | `string` | `true` | `en` | | `--ignore-errors` | Ignora los errores y fuerza la traducción del contenido válido | `flag` | `true` | `false` | | `--dry-run` | Ejecuta el comando en modo de prueba | `flag` | `true` | `false` | | `--force` | Fuerza una nueva traducción de tu proyecto | `flag` | `true` | `false` | | `--force-download` | Fuerza la descarga de todas las traducciones del proyecto | `flag` | `true` | `false` | | `--save-local` | Detecta y guarda los cambios locales antes de poner en cola las traducciones | `flag` | `true` | `false` | | `--enable-branching` | Habilita el uso de ramas para el proyecto | `flag` | `true` | `false` | | `--branch ` | Especifica un nombre de rama personalizado para usar en las traducciones | `string` | `true` | | | `--disable-branch-detection` | Deshabilita la detección automática de ramas y usa solo la rama especificada manualmente | `flag` | `true` | `false` | Todos estos parámetros son opcionales. No añadas tu clave API al archivo `gt.config.json`. En su lugar, debes establecerla como una variable de entorno. La CLI leerá automáticamente `GT_API_KEY` si está establecida. Hay algunos parámetros clave: | Parámetro | Descripción | | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `--dry-run` | Esta opción hace que la CLI analice y valide tu proyecto, pero no se comunique con la API de GT. Es útil para validar tu base de código. | | `--api-key` | A menos que uses `--dry-run`, debes proporcionar una clave API de producción. | | `--project-id` | Del mismo modo, a menos que uses `--dry-run`, debes proporcionar un ID del proyecto. | | `--new, --locales ` | Configuraciones regionales a las que traducir tu proyecto. Se añadirán a los `locales` especificados en tu archivo `gt.config.json`. | | `--force` | Esta opción forzará una nueva traducción de tu proyecto y sobrescribirá todas las traducciones existentes. | | `--force-download` | Esta opción forzará la descarga de todas las traducciones y sobrescribirá cualquier cambio que hayas hecho de forma local en las traducciones. | | `--save-local` | Detecta y guarda cualquier cambio local en los archivos de traducción antes de poner en cola las traducciones. Consulta [`save-local`](/docs/cli/save-local) para más detalles. | | `--enable-branching` | Habilita el uso de ramas para hacer un seguimiento separado de las traducciones en diferentes ramas de git. Consulta [branching](/docs/cli/branching) para más detalles. | | `--branch ` | Especifica un nombre de rama personalizado en lugar de detectarlo automáticamente desde git. | | `--disable-branch-detection` | Al usar `--branch`, desactiva la detección adicional de relaciones entre ramas (ramas entrantes/rama de origen). | ### Archivo de configuración Cuando ejecutes la herramienta CLI por primera vez, intentará crear un archivo `gt.config.json` en la raíz de tu proyecto. Este archivo contiene metadatos de tu proyecto que se utilizan para traducir tu contenido. leer el archivo `gt.config.json` [aquí](/docs/cli/reference/config). ## Consejos importantes ### Ubicaciones del contenido El comando `translate` buscará de forma recursiva contenido traducible en tu proyecto. Por defecto, busca en los siguientes directorios: * `./src` * `./app` * `./pages` * `./components` Puedes especificar directorios alternativos donde buscar con la opción `--src`, o modificando la propiedad `src` en tu archivo [`gt.config.json`](/docs/cli/reference/config). ### Sobrescribir traducciones Por defecto, la herramienta CLI no sobrescribirá ningún cambio que hayas hecho de forma local en las traducciones, a menos que el contenido de origen haya cambiado. Si quieres volver a traducir contenido del proyecto que ya se ha traducido, puedes usar la opción `--force`. Al usar `--force`, **se sobrescribirán todas las traducciones existentes y se generarán otras nuevas**. Se perderán todos los cambios que hayas hecho en las traducciones de forma local. Se te cobrará por todas las traducciones nuevas. Si ya has obtenido las traducciones más recientes del proyecto y quieres volver a descargarlas, puedes usar la opción `--force-download`. Al usar `--force-download`, se sobrescribirá cualquier cambio que hayas hecho de forma local en las traducciones y se descargarán las traducciones más recientes. No volverá a traducirse ningún contenido. ### Archivo de diccionario El comando `translate` detecta automáticamente el archivo de diccionario en tu proyecto. Por defecto, busca un archivo llamado `dictionary.[json|ts|js]` en los siguientes directorios: * `./src` * `./` Puedes especificar otro archivo de diccionario con la opción `--dictionary` o modificar la propiedad `dictionary` en tu archivo [`gt.config.json`](/docs/cli/reference/config).