Una herramienta de interfaz de línea de comandos para traducir automáticamente los catálogos .xcstring
utilizando OpenAI.
Inglés · Chino (simplificado) · Francés · Español · Alemán
Configuración · Uso · Configuración · Markdown · Problemas comunes · Motivación · Colaborar · Colaboradores
tranzlate_demo.mov
La versión mínima soportada de Node.js es v14
-
Instala tranzlate globalmente:
npm install -g tranzlate.js
-
Recupera tu clave API de OpenAI
Nota: Si aún no lo has hecho, tendrás que crear una cuenta y configurar la facturación.
-
Establece la clave para que tranzlate pueda usarla. Puedes hacer esto ejecutando:
echo export OPENAI_API_KEY=<tu token> >> ~/.bashrc
o alternativamente, proporciona la clave al ejecutar el comando
tranzlate
Luego obtendrás una salida como esta, que te guiará a través del proceso de traducción de un catálogo de strings:
┌ tranzlate: traducción de strings automática
│
◇ Introduce el archivo de entrada
│ Localizable.xcstrings
│
◇ Introduce el archivo de salida
│ Localizable.xcstrings
│
◆ Selecciona los idiomas para traducir.
│ ◻ Árabe
│ ◻ Catalán
│ ◻ Chino (simplificado)
│ ◻ Chino (tradicional)
│ ◻ Croata
│ ◼ Checo
│ ◼ Danés
│ ◻ Holandés
│ ◻ Inglés
│ ◻ Inglés (Australia)
│ ◻ Inglés (Canadá)
│ ◻ Inglés (Reino Unido)
│ ◻ Inglés (EE.UU.)
│ ◻ Finlandés
│ ◻ Francés
│ ◻ Francés (Canadá)
│ ◻ Alemán
│ ◻ Griego
│ ◻ Hebreo
│ ◻ Hindi
│ ◻ Húngaro
│ ◼ Indonesio
│ ◻ Italiano
│ ◻ Japonés
│ ◻ Coreano
│ ◻ Malay
│ ◻ Noruego
│ ◻ Polaco
│ ◼ Portugués (Brasil)
│ ◻ Portugués (Portugal)
│ ◻ Rumano
│ ◻ Ruso
│ ◻ Eslovaco
│ ◻ Español (México)
│ ◼ Español (España)
│ ◻ Sueco
│ ◻ Tailandés
│ ◻ Turco
│ ◼ Ucraniano
└ ◻ Vietnamita
multiple-languages.mov
Como sería irónico que una utilidad de traducción sólo soportara un solo idioma, admitimos el cambio de idioma de configuración. Puedes configurar tu idioma ejecutando:
tranzlate set-language <idioma>
Donde <idioma>
es uno de los siguientes:
Idioma | Llave |
---|---|
Inglés | en |
Chino simplificado | zh-Hans |
Chino tradicional | zh-Hant |
Español | es |
Japonés | ja |
Koreano | ko |
Francés | fr |
Alemán | de |
Ruso | ru |
Ucraniano | uk |
Vietnamita | vi |
Árabe | ar |
Portugués | pt-BR |
Turco | tr |
Por ejemplo, si quieres cambiar a chino simplificado, puedes hacerlo estableciendo el valor LANGUAGE a zh-Hans:
tranzlate set-language zh-Hans
Esto configurará tu idioma a chino simplificado.
Se admite la traducción de markdown. Para entrar en el modo markdown, ejecuta:
tranzlate markdown
Se te pedirá un archivo markdown o glob para traducir. Las traducciones de salida añaden el código de idioma ISO al final de cada nombre de archivo. Por ejemplo, si traduces README.md
a Chino Simplificado (zh-Hans), el archivo de salida será README.zh-Hans.md
.
┌ tranzlate: traducción automática de markdown
│
◇ Introduce un archivo markdown o glob
│ ./README.md
│
◇ Selecciona los idiomas a los que traducir
│ fi - Finés, hu - Húngaro, pl - Polaco, ru - Ruso
│
◇ Selecciona un modelo
│ gpt-3.5-turbo
◆ Traduciendo README.md...
Nota: La traducción de Markdown está en beta. Por favor, informa de cualquier problema que encuentres.
Algunos usuarios informan de un error 429 de OpenAI. Esto se debe a una configuración de facturación incorrecta o a un uso excesivo de la cuota. Por favor, sigue esta guía para solucionarlo.
Puedes activar la facturación en este enlace. Asegúrate de añadir un método de pago si no estás bajo una subvención activa de OpenAI.
No soy un experto en idiomas. Mi competencia en la traducción sólo se extiende hasta el español de nivel de escuela secundaria. Sin embargo, creo en el software y en su importancia. Para quién se desarrolla el software importa. La localización no es ni nunca debería ser una reflexión posterior. Al utilizar herramientas de traducción de IA, se puede hablar antes sobre el impacto que el software tiene en diferentes comunidades durante el desarrollo del producto, no después.
Acelerar las conversaciones sobre el impacto del software conduce a cambios significativos antes de que se establezcan los conjuntos de características. Por eso creo en el poder de las herramientas de traducción de IA, a menudo imperfectas. No dejes que lo perfecto sea enemigo de lo bueno.
La fácil traducción, de catálogos de cadenas, y espero que muchos más formatos de archivos en el futuro, es por lo que creé tranzlate.
Si quieres ayudar a solucionar un error o implementar una característica en Issues, por favor hazlo. El desarrollo en Swift es algo nuevo para mí, por lo que agradecería la retroalimentación de la comunidad.
Gracias a ai-shell por su README que usé como plantilla.