En el mercado global actual, las aplicaciones deben admitir múltiples idiomas, lo que convierte la traducción en una tarea esencial pero que consume mucho tiempo. Nuestro equipo experimentó de primera mano los desafíos de construir y mantener estructuras de traducción, gestionar traducciones manuales y garantizar una implementación precisa en todas las aplicaciones. Para superar estos obstáculos, aprovechamos nuestra experiencia en IA para crear una potente plataforma que automatiza y simplifica el proceso de traducción utilizando software de traducción por IA avanzado y herramientas de traducción con inteligencia artificial.
Descubra cómo nuestras innovadoras plataformas de traducción con aprendizaje automático no solo aceleran el desarrollo de aplicaciones multilingües, sino que también mejoran la colaboración con los clientes, proporcionando una experiencia fluida desde la traducción hasta la implementación. Sumérjase en nuestro caso de estudio para ver cómo transformamos una tarea tediosa en un flujo de trabajo eficiente y optimizado, beneficiando tanto a nuestro equipo como a nuestros clientes. Autor: Luis Álvarez, Desarrollador del Equipo Cactai.
¿Por qué lo estamos haciendo? ¿Cuál es el problema que teníamos?
Hoy en día, casi todas las aplicaciones están destinadas a funcionar con muchos idiomas, y nos enfrentamos a las tareas tediosas y que consumen mucho tiempo que normalmente implica traducir una aplicación. Por ejemplo:- Construir la estructura de traducción inicial en un archivo JSON o XML;
- Traducir manualmente cada uno de los valores de ese archivo a todos los idiomas deseados;
- Implementar los archivos de traducción en la aplicación, siguiendo el formato correcto, basado en la librería de traducción que el equipo está utilizando;
- Controlar el estado de la traducción de cada término;
- Tener un control de versiones fiable para las actualizaciones de los archivos de traducción.
¿Cómo abordamos el problema? ¿Cómo superamos los problemas que debían solucionarse?
- Decidimos crear una plataforma donde pudiéramos gestionar y abordar todos estos problemas. En primer lugar, creamos un POC (Prueba de Concepto) en Python para asegurarnos de que podíamos traducir un archivo JSON sin cambiar ningún valor de propiedad utilizando software de traducción por IA, y… ¡funcionó a la perfección!
- Después de resolver el problema principal (ya que solo hablamos inglés… y klingon, LOL), nos enfrentamos a los problemas restantes: construir la estructura de traducción inicial como un archivo JSON y aplicar esa traducción cambiando los textos actuales con las herramientas de traducción con inteligencia artificial deseadas (en este caso, estábamos usando la librería Transloco). Para este propósito, creamos un microservicio para manejar el escaneo de textos en la aplicación para crear la estructura JSON inicial y también para aplicar las propiedades recién creadas en toda la aplicación, cambiando los textos por llamadas a la librería de traducción.

¿Qué implementamos? ¿Qué herramientas utilizamos?
- La decisión fue fácil: dividir responsabilidades en dos APIs backend diferentes.
- Una de ellas es para gestionar la integración de IA para traducir archivos JSON o propiedades individuales.
- Otra es para gestionar todo lo relacionado con la lectura/escritura en archivos para crear el archivo de traducción JSON inicial y también para cambiar textos con llamadas a la librería de traducción. Esta también tendrá una conexión a una BD para guardar JSON y solicitudes de cambio de los clientes.
- También queríamos un frontend útil, no solo para que los desarrolladores apliquen traducciones, sino también para que los clientes revisen las traducciones de sus proyectos y puedan modificarlas si es necesario. Este frontend gestiona proyectos, archivos de traducción dentro de esos proyectos, e incluye un visor/editor para revisar todas las propiedades en los archivos seleccionados y procesar las solicitudes de cambio de los clientes.
- Desde el frontend, tenemos diferentes módulos para desencadenar las acciones necesarias, como:
- Una sección para generar el archivo de traducción JSON inicial y ver el resultado;
- Una sección para cambiar textos en archivos por llamadas a la librería de traducción con las propiedades correctas;
- Una base de datos para almacenar archivos de traducción, solicitudes de cambio e información del proyecto, evitando la necesidad de realizar nuevos escaneos frecuentes.
