Traducción i18n con CLI
El CLI de traducción de Logto es una herramienta poderosa diseñada para desarrolladores que contribuyen a los esfuerzos de i18n de Logto. Con este CLI, puedes centrarte en escribir contenido en inglés y luego traducirlo fácilmente a todos los idiomas compatibles.
Para los usuarios habituales de Logto que buscan traducciones personalizadas sin contribuir al proyecto, por favor consulta nuestra guía de localización.
A partir de la versión v1.20.0, el comando de traducción se eliminó de @logto/cli
y se mantiene como un paquete independiente @logto/translation
en el monorepo de Logto. En consecuencia, la forma de ejecución es ligeramente diferente.
Migrar desde @logto/cli
Aquí tienes una comparación de los métodos de ejecución del CLI antiguo y nuevo:
Método antiguo (antes de v1.20.0):
pnpm cli translate <command> [options]
Método nuevo:
pnpm translate <command> [options]
Sincronizar claves
Supongamos que hicimos algunos cambios en las claves de traducción en la carpeta en
del paquete phrases
. Queremos sincronizar estos cambios con la carpeta pt-BR
. Ejecuta el siguiente comando para sincronizar las claves de traducción y la estructura de archivos:
pnpm translate sync-keys --target pt-BR
Este comando leerá todas las claves de traducción de la carpeta del idioma fuente (en
por defecto) y las sincronizará con la carpeta del idioma objetivo (pt-BR
en este ejemplo).
- Si la carpeta del idioma objetivo no existe, se creará automáticamente;
- Si la carpeta del idioma objetivo ya existe, se actualizará con nuevas claves y se eliminarán las claves obsoletas.
Para cada clave de traducción:
- Si falta una clave en el objetivo, se añadirá con un comentario para indicar que la frase no está traducida (marcada con
/** UNTRANSLATED */
); - Si falta una clave en la línea base, se eliminará del objetivo;
- Si una clave existe tanto en la línea base como en el objetivo, se usará el valor del objetivo.
Para sincronizar claves para todos los idiomas en el paquete phrases
, ejecuta el siguiente comando:
pnpm translate sync-keys --target all
De esta manera, podemos centrarnos en actualizar las claves de traducción en la carpeta del idioma fuente, y las claves de traducción en otros idiomas se actualizarán automáticamente.
Este comando se ejecuta para el paquete phrases
por defecto. Puedes especificar el nombre del paquete con la opción --package
. Por ejemplo, usa --package phrases-experience
para sincronizar claves para el paquete phrases-experience
.
Después de sincronizar las claves, podemos traducir las claves usando la API de ChatGPT.
Traducir claves usando ChatGPT
Ejecuta el siguiente comando para traducir claves usando ChatGPT:
pnpm translate sync
Este comando traducirá todas las claves no traducidas (marcadas con /** UNTRANSLATED */
) en todos los idiomas en los paquetes phrases
y phrases-experience
. Ten en cuenta que se requiere una variable de entorno OPENAI_API_KEY
para ejecutar este comando.