Cómo traducir String Catalogs con IA de manera fácil
Marcelo Laprea
27 noviembre, 20243min de lectura
Los String Catalogs son una herramienta que permite gestionar las cadenas localizables de tu aplicación de manera centralizada. Con ellos, puedes supervisar el estado de las traducciones, manejar variantes y añadir nuevos idiomas con rapidez, todo desde un solo archivo. Sin embargo, surge un problema común: traducir las cadenas a múltiples idiomas puede ser tedioso. Afortunadamente, la inteligencia artificial (IA) puede simplificar esta tarea.
¿Quieres aprender más sobre String Catalogs? No te pierdas nuestro artículo
Una forma manual de traducir tu app es ir cadena por cadena, copiando y pegando en herramientas como ChatGPT u otras opciones similares. Aunque funcional, este proceso se vuelve ineficiente cuando trabajas con numerosas claves y soportas varios idiomas.
Por eso te presentamos Swift Translate, un proyecto código abierto alojado en GitHub que automatiza la traducción de String Catalogs de forma rápida y sencilla.
Veamos cómo usar Swift Translate para traducir tus String Catalogs:
Clonar el repositorio
Clona el repositorio desde el terminal ejecutando: git clone https://github.com/hidden-spectrum/swift-translate.git
Abrir y configurar el proyecto en Xcode
Abre el proyecto en Xcode y localiza el archivo llamado OpenAIModel
. Este archivo incluye dos modelos de ChatGPT: "gpt-3.5-turbo" y "gpt-4o". Si necesitas añadir otro modelo, como "gpt-4o-mini" para ahorrar costos, simplemente modifícalo en el enumerado:
public enum OpenAIModel: String, ExpressibleByArgument {case gpt3_5Turbo = "gpt-3.5-turbo"case gpt4o = "gpt-4o"case gpt4oMini = "gpt-4o-mini"}
Para cambiar el modelo por defecto a "gpt4o-mini", edita la variable model
en el archivo SwiftTranslate
así:
private var model: OpenAIModel = .gpt4oMini
.
Ejecutar el script
Desde el terminal, navega al directorio donde clonaste el proyecto y ejecuta el siguiente comando:
swift run swift-translate -k "OpenAI-APIKey" path/to/Localizable.xcstrings --lang es --verbose --overwrite
Parámetros explicados:
-k
: tu API Key de OpenAI.path
: ruta completa del archivo.xcstrings
a traducir.--lang
: idiomas a traducir. Ejemplo:es
para español. Lista de idiomas soportados: ar, ca, zh-HK, hr, cs, da, nl, en, fi, fr, de, el, he, hi, hu, id, it, ja, ko, ms, nb, pl, pt-BR, pt-PT, ro, ru, sk, es, sv, th, tr.--verbose
: muestra detalles del proceso.--overwrite
: sobrescribe el archivo existente. Sin este parámetro, se crea una copia nueva.
Al ejecutar el comando, el script comenzará a traducir las claves de tu archivo .xcstrings
. Si una clave ya está traducida, el script la omitirá automáticamente para ahorrar tiempo.
En pocos minutos, tendrás las traducciones listas en todos los idiomas seleccionados, de manera rápida, fácil y económica.
Swift Translate es una solución poderosa para los desarrolladores que buscan optimizar la localización de aplicaciones. Gracias a esta herramienta, puedes integrar nuevos idiomas y gestionar traducciones de forma eficiente, reduciendo el tiempo y el esfuerzo necesarios.
Empieza hoy mismo con Swift Translate en GitHub y lleva la experiencia de usuario de tu aplicación a otro nivel.