Saltar al contenido principal

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.

info

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.

info

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.