Ahora hay varias formas en que podríamos abordar la solución del problema, dependiendo de los recursos que tengamos disponibles. Pero para el propósito de esta charla, supongamos que no tenemos mucho presupuesto para dedicar a esta función, ni tenemos un equipo que pueda traducir contenido para nosotros. Así que nuestra solución debe ser de bajo costo y requerir interacción humana solo para validar los resultados.
Este es un caso de uso fantástico para la IA y la automatización. Cuando mi equipo comenzó a abordar este problema, por razones obvias miramos primero a Azure. A través de esa investigación, encontré el servicio de traductor de Azure AI. Este servicio no solo permite la traducción de texto ad hoc, donde envías texto directamente a través del traductor y devuelve el texto traducido como JSON, sino que también ofrece traducción de documentos, que toma como entrada uno o más archivos de un contenedor de almacenamiento de blobs, los traduce y produce los archivos traducidos en un contenedor de almacenamiento de blobs diferente.
Además, el servicio de traductor de Azure AI tiene algunas características clave que finalmente nos convencieron de que era la opción adecuada para nuestras necesidades. La primera característica clave que fue importante para nosotros fue el soporte de idiomas. Mi equipo en Microsoft ejecuta un programa de mejora de habilidades y recapacitación que opera en todo el mundo. Por lo tanto, es importante para nosotros que cualquier solución multilingüe pueda acomodar cualquier idioma o dialecto que queramos soportar. Con más de 100 idiomas y dialectos diferentes soportados, incluso incluyendo Klingon, el traductor de Azure AI fue definitivamente la elección correcta para nosotros.
La siguiente característica clave para nosotros fue el costo. El traductor de Azure AI tiene un nivel gratuito generoso de hasta 2 millones de caracteres traducidos por mes. Así que dependiendo de la cantidad de contenido en tu sitio y con qué frecuencia traduces tu contenido, es posible que ni siquiera incurras en un costo. Otra característica importante es la precisión. El traductor de Azure AI utiliza lo que llaman Traducción Automática Neuronal o NMT, que en sus propias palabras es una mejora sobre los enfoques anteriores de traducción automática estadística, SMT, ya que utiliza muchas más dimensiones para representar tokens, como palabras, morfemas y puntuación del texto fuente y objetivo. Además, explican que usando el enfoque NMT, la traducción tomará en contexto la oración completa en lugar de solo unas pocas palabras en una ventana deslizante que utiliza SMT y producirá traducciones más fluidas y con apariencia de traducción humana. Para nosotros, esto significa traducciones más contextualmente precisas, lo que significa menos ajustes, si es que se necesitarían. Esto es lo que hace posible para nosotros integrar traducciones en nuestro flujo de trabajo CI CD.
La última característica clave para nosotros es la capacidad de usar glosarios personalizados para ajustar el proceso de traducción, lo cual es útil para omitir la traducción de terminología específica de la industria y/o texto relacionado con la marca, así como para asegurar que ciertas palabras o frases se traduzcan de una manera que retenga el significado original. No todo es color de rosa, así que también quería tomar un momento para señalar algunas de las limitaciones del traductor de Azure AI. Aunque el servicio puede manejar muchos tipos de archivos diferentes, actualmente no puede manejar MDX o JSX TSX, por lo que tu contenido necesitará ser almacenado por separado de estos archivos para ser traducido. Otra limitación es que todas las respuestas de traducción se devuelven como texto horizontal, de izquierda a derecha o de derecha a izquierda, por lo que es posible que necesites agregar lógica de renderizado si deseas mostrar contenido en un formato vertical para los idiomas aplicables. Finalmente, como con cualquier implementación de IA, aún querrás validar los resultados antes de desplegarlos en producción, y es posible que encuentres que se necesiten ajustes adicionales, lo que también requeriría un nuevo despliegue y revalidación.
Bien, suficiente charla sobre el traductor de Azure AI, vamos a entrar en cómo vamos a diseñar este flujo de trabajo. Dependiendo de cómo se almacene el contenido, hay esencialmente tres opciones para cómo traducirlo. Opción 1, tu contenido se almacena como JSON. Como puedes ver en este fragmento de JSON, tenemos un array de publicaciones, que son objetos que contienen los diversos datos que nuestro frontend necesitaría para renderizar cada publicación. Si tu contenido se almacena de esta manera, lo más probable es que desees traducir el contenido durante el tiempo de ejecución usando la API de Azure Translator, probablemente usando un componente de servidor de React o una API personalizada separada que almacenaría en caché el contenido traducido para reducir la frecuencia con la que se ejecuta el servicio de traducción, lo que en última instancia mantendrá tus costos bajos.
Comments