Traducción

Cómo traducir tu proyecto

Uso

Ejecuta esto en tu canalización de CI antes de compilar tu aplicación 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 de tu proyecto y traduce cualquier contenido envuelto en un componente <T> o que use las funciones useGT.

Además, incluye contenido del archivo de diccionario (si se proporciona).

Este comando es la forma principal de usar la General Translation API y los servicios relacionados.

¡Solo para uso en producción!

Este comando está destinado a 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 también especificar tu clave de API de producción (GT_API_KEY) y tu Project ID (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 cómo esté configurado 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 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 las traducciones de tu proyecto.

npx gtx-cli translate

De forma predeterminada, las traducciones se guardan en el GT CDN.

Sin embargo, si deseas guardar las traducciones en tu repositorio de código, agrega la propiedad gt al objeto files en el archivo gt.config.json.

gt-next y gt-react permiten servir traducciones localmente, además de usar el CDN público de General Translation. Recomendamos usar el CDN para reducir la latencia, mejorar el rendimiento y disminuir el tamaño del bundle.

Consulta la documentación de configuración de la CLI para más detalles.

Método 3: Valida los componentes <T> y el archivo dictionary de tu proyecto.

Este método es útil para validar los componentes <T> y el archivo dictionary 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 especifica la opción --dry-run.

npx gtx-cli translate --dry-run

Flags

ParameterDescriptionTypeOptionalDefault
--api-keyEspecifica una clave de API de producciónstringtrue
--project-idEspecifica el ID del proyectostringtrue
--version-idEspecifica un ID de versión (de forma predeterminada, 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 del diccionariostringtrue
--inlineIncluye etiquetas <T> en línea además del diccionariobooleantruetrue
--timeoutTiempo de espera de la solicitud de traducción en segundosnumbertrue600
--new, --locales <locales>Locales a las que traducir tu proyecto[string]true
--default-locale <locale>La 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á definida.

Hay algunos parámetros clave:

ParameterDescription
--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 las que traducir tu proyecto. Se agregarán a las locales especificadas 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 sobre 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á de forma recursiva contenido traducible en tu proyecto.

De forma predeterminada, busca en los siguientes directorios:

  • ./src
  • ./app
  • ./pages
  • ./components

Puedes especificar directorios alternativos para la búsqueda usando la opción --src, o modificando la propiedad src en tu archivo gt.config.json.

Sobrescritura de traducciones

De forma predeterminada, la CLI no sobrescribirá los cambios que hayas realizado localmente en las traducciones, a menos que el contenido de origen haya cambiado.

Si quieres volver a traducir contenido del proyecto que ya fue traducido, puedes usar la opción --force.

Usar --force sobrescribirá todas las traducciones existentes y no conservará los cambios que hayas realizado localmente.

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 realizado localmente en las traducciones y descargará las 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 especificar un archivo de diccionario alternativo usando la opción --dictionary, o modificando la propiedad dictionary en tu archivo gt.config.json.

¿Qué te ha parecido esta guía?

Traducción