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 translate

Nota: 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 translate

La 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 translate

De 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-run

Flags

ParámetroDescripciónTipoOpcionalPredeterminado
--api-keyEspecifica una clave de API de producciónstringtrue
--project-idEspecifica el ID del proyectostringtrue
--version-idEspecifica un ID de versión (por defecto, un hash del contenido)stringtrue
--config <path>Especifica la ruta al archivo de configuración de GTstringtrue"gt.config.json"
--tsconfig, --jsconfig <path>Especifica la ruta al archivo de configuración de TS o JSstringtrue
--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 diccionariostringtrue
--inlineIncluye etiquetas <T> inline además del diccionariobooleantruetrue
--timeoutTiempo de espera para la solicitud de traducción, en segundosnumbertrue600
--new, --locales <locales>Locales a los que traducir tu proyecto[string]true
--default-locale <locale>El locale de origen del proyectostringtrueen
--ignore-errorsIgnora errores y fuerza la traducción del contenido válidoflagtruefalse
--dry-runEjecuta el comando en modo de pruebaflagtruefalse
--forceFuerza una retraducción de tu proyectoflagtruefalse
--force-downloadFuerza la descarga de todas las traducciones del proyectoflagtruefalse

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ámetroDescripción
--dry-runEste 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-keyA menos que uses --dry-run, debes proporcionar una clave de API de producción.
--project-idDe 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.
--forceEste flag forzará una retraducción de tu proyecto y sobrescribirá todas las traducciones existentes.
--force-downloadEste 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?