Traducir
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 API de producción! Consigue 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 utilice las funciones useGT()
.
Además, incluye contenido del archivo de diccionario (si se proporciona uno).
Este comando es la forma principal de utilizar 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, por favor asegúrate de estar en la rama que se utilizará para producción.
Recuerda también especificar tu clave 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 ayudarte a configurar tu proyecto antes de ejecutar el comando translate
.
Dependiendo de cómo esté configurado tu proyecto, el comportamiento del comando translate puede variar.
Método 1: Traduce los archivos JSON de tu proyecto.
Si estás utilizando otras librerías 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 base de código.
Para usar la herramienta 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 librería de i18n leyendo tu archivo package.json
, y traducirá tus archivos JSON respetando la sintaxis de tu librería de i18n.
Método 2: Traduce tu proyecto 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
Por defecto, las traducciones se guardan en el CDN de GT.
Sin embargo, si deseas 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 localmente, así como usar el CDN público de General Translation.
Recomendamos usar el CDN para reducir la latencia, mejorar el rendimiento y obtener paquetes más pequeños.
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 asegura que tu proyecto esté correctamente configurado y que las traducciones sean válidas y precisas.
No se generarán traducciones si se proporciona la bandera --dry-run
.
npx gtx-cli translate --dry-run
Flags
Parámetro | Descripción | Tipo | Opcional | Por defecto |
---|---|---|---|---|
--api-key | Especificar una clave de API de producción | string | true | |
--project-id | Especificar el ID del proyecto | string | true | |
--version-id | Especificar un ID de versión (por defecto, un hash del contenido) | string | true | |
--config <path> | Especificar una ruta al archivo de configuración GT | string | true | "gt.config.json" |
--tsconfig, --jsconfig <path> | Especificar una ruta al archivo de configuración TS o JS | string | true | |
--src <paths> | Especificar el directorio(s) fuente a escanear | [string] | true | ./src && ./app && ./pages && ./components |
--dictionary <path> | Especificar una ruta al archivo de diccionario | string | true | |
--inline | Incluir etiquetas <T> en línea además del diccionario | boolean | true | true |
--timeout | El tiempo de espera para la solicitud de traducción en segundos | number | true | 600 |
--new, --locales <locales> | Idiomas a los que traducir tu proyecto | [string] | true | |
--default-locale <locale> | El idioma fuente para el proyecto | string | true | en |
--ignore-errors | Ignorar errores y forzar la traducción para contenido válido | flag | true | false |
--dry-run | Ejecutar el comando en modo de prueba | flag | true | false |
Todos estos parámetros son opcionales.
¡No agregues tu clave de API al archivo gt.config.json
!
Deberías configurarla como una variable de entorno en su lugar. El CLI leerá automáticamente GT_API_KEY
si está configurada.
Hay algunos parámetros clave:
Parámetro | Descripción |
---|---|
--dry-run | Esta bandera hará que el CLI analice y valide tu proyecto, pero no se comunicará con la API de GT. Esto es útil para validar tu base de código. |
--api-key | A menos que estés usando --dry-run , debes proporcionar una clave de API de producción. |
--project-id | De manera similar, a menos que estés usando --dry-run , debes proporcionar un ID de proyecto. |
--new, --locales <locales> | Idiomas a los que traducir tu proyecto. Estos se agregarán a los idiomas especificados en tu archivo gt.config.json . |
Archivo de configuración
Al ejecutar la herramienta 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 utilizan para traducir tu contenido.
Lee más sobre el archivo gt.config.json
aquí.
Consejos Importantes
Fuentes de Contenido
El comando translate
buscará recursivamente contenido traducible en tu proyecto.
Por defecto, busca en los siguientes directorios:
./src
./app
./pages
./components
Puedes especificar directorios alternativos para buscar usando la bandera --src
,
o modificando la propiedad src
en tu archivo gt.config.json
.
Archivo de Diccionario
El comando translate
detectará 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 un archivo de diccionario alternativo usando la bandera --dictionary
,
o modificando la propiedad dictionary
en tu archivo gt.config.json
.
¿Qué te parece esta guía?