Traducción
Cómo traducir tu proyecto
Uso
Ejecuta esto en tu pipeline de CI antes de compilar tu app para producción.
npx gtx-cli translateNota: Este comando requiere una clave de API de producción. Obtén una en la plataforma.
Descripción general
El comando gtx-cli translate traduce tu proyecto.
Recorre el árbol de archivos del proyecto y traduce cualquier contenido envuelto en el componente <T> o que use las funciones useGT.
Además, incluye el contenido del archivo de diccionario (si se proporciona).
Este comando es la vía principal para utilizar la General Translation API y los servicios relacionados.
¡Solo para producción!
Este comando está pensado para compilaciones de producción y no debe usarse en desarrollo.
Antes de ejecutarlo, asegúrate de estar en la rama que se desplegará en producción.
Recuerda especificar también tu clave de API de producción (GT_API_KEY) y el ID de proyecto (GT_PROJECT_ID) en tus variables de entorno.
Uso
Hay 3 formas de usar el comando translate. Los métodos 1 y 2 requieren una clave de API de producción:
Recomendamos ejecutar el asistente de configuración: npx gtx-cli configure para configurar tu proyecto antes de ejecutar el comando translate.
Según la configuración de tu proyecto, el comportamiento del comando translate puede variar.
Método 1: Traduce los archivos JSON de tu proyecto.
Si usas otras bibliotecas de i18n como next-intl, react-i18next o next-i18next, puedes usar este método para traducir los archivos JSON de tu proyecto.
Las traducciones se guardarán automáticamente en tu código.
Para usar la CLI y traducir los archivos JSON de tu proyecto, modifica tu archivo gt.config.json para incluir json en la propiedad files.
Consulta la documentación de configuración de la CLI para más detalles.
npx gtx-cli translateLa herramienta CLI detectará automáticamente tu biblioteca de i18n leyendo el archivo package.json y traducirá tus archivos JSON respetando la sintaxis de tu biblioteca de i18n.
Método 2: Traduce tu proyecto de GT.
Si tu proyecto utiliza gt-next o gt-react, puedes usar este método para generar traducciones para tu proyecto.
npx gtx-cli translateDe forma predeterminada, las traducciones se guardan en el GT CDN (red de distribución de contenido).
Sin embargo, si quieres guardar las traducciones en tu base de código, agrega la propiedad gt al objeto files en el archivo gt.config.json.
gt-next y gt-react permiten servir traducciones de forma local, así como usar el CDN público de General Translation.
Recomendamos usar el CDN para reducir la latencia, mejorar el rendimiento y disminuir el tamaño de los bundles.
Consulta la documentación de configuración de la CLI para más detalles.
Método 3: Valida los componentes <T> y el archivo de diccionario de tu proyecto.
Este método es útil para validar los componentes <T> y el archivo de diccionario de tu proyecto.
Esto garantiza que tu proyecto esté correctamente configurado y que las traducciones sean válidas y precisas.
No se generarán traducciones si se proporciona la opción --dry-run.
npx gtx-cli translate --dry-runFlags
| Parámetro | Descripción | Tipo | Opcional | Predeterminado |
|---|---|---|---|---|
--api-key | Especifica una clave de 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 <path> | Especifica la ruta al archivo de configuración de GT | string | true | "gt.config.json" |
--tsconfig, --jsconfig <path> | Especifica la ruta al archivo de configuración de TS o JS | string | true | |
--src <paths> | Lista de patrones glob separados por espacios para coincidir con archivos fuente. Deben ser rutas relativas 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 <path> | Especifica la ruta al archivo de diccionario | string | true | |
--inline | Incluye etiquetas <T> inline además del diccionario | boolean | true | true |
--timeout | Tiempo de espera para la solicitud de traducción, en segundos | number | true | 600 |
--new, --locales <locales> | Locales a los que traducir tu proyecto | [string] | true | |
--default-locale <locale> | El locale de origen del proyecto | string | true | en |
--ignore-errors | Ignora 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 retraducción de tu proyecto | flag | true | false |
--force-download | Fuerza la descarga de todas las traducciones del proyecto | flag | true | false |
Todos estos parámetros son opcionales.
¡No agregues tu clave de API al archivo gt.config.json!
En su lugar, configúrala 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 | Este flag hará que la CLI analice y valide tu proyecto, pero no se comunicará 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 de API de producción. |
--project-id | De forma similar, a menos que uses --dry-run, debes proporcionar un ID de proyecto. |
--new, --locales <locales> | Locales a los que traducir tu proyecto. Se agregarán a los locales especificados en tu archivo gt.config.json. |
--force | Este flag forzará una retraducción de tu proyecto y sobrescribirá todas las traducciones existentes. |
--force-download | Este flag forzará la descarga de todas las traducciones y sobrescribirá cualquier cambio que hayas hecho localmente en las traducciones. |
Archivo de configuración
Al ejecutar la 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 usan para traducir tu contenido.
Obtén más información sobre el archivo gt.config.json aquí.
Consejos clave
Fuentes de contenido
El comando translate buscará recursivamente contenido traducible en tu proyecto.
De forma predeterminada, busca en los siguientes directorios:
./src./app./pages./components
Puedes especificar directorios alternativos en los que buscar usando la opción --src,
o modificando la propiedad src en tu archivo gt.config.json.
Sobrescritura de traducciones
De forma predeterminada, la herramienta CLI no sobrescribirá ningún cambio que hayas hecho localmente en las traducciones a menos que el contenido de origen haya cambiado.
Si deseas volver a traducir contenido del proyecto que ya ha sido traducido, puedes usar la opción --force.
Usar --force sobrescribirá todas las traducciones existentes y no conservará ningún cambio que hayas hecho localmente en las traducciones.
Si ya has obtenido las traducciones más recientes del proyecto y deseas descargarlas de nuevo, puedes usar la opción --force-download.
Usar --force-download sobrescribirá cualquier cambio que hayas hecho localmente en las traducciones y descargará las traducciones más recientes. No volverá a traducir ningún contenido.
Archivo de diccionario
El comando translate detectará automáticamente el archivo de diccionario en tu proyecto.
De forma predeterminada, busca un archivo llamado dictionary.[json|ts|js] en los siguientes directorios:
./src./
Puedes indicar un archivo de diccionario alternativo con la opción --dictionary, o modificar la propiedad dictionary en tu archivo gt.config.json.
¿Qué te parece esta guía?