La traducción de IA omite la localización portuguesa (pt): el artículo se tradujo a todos los idiomas excepto el portugués

Tras una investigación exhaustiva, he identificado que lo que parecía ser un problema de traducción es en realidad tres problemas distintos ocurriendo simultáneamente, lo cual generó una confusión significativa.

Un agradecimiento especial a Richard de Communiteq por su comunicación, competencia y, especialmente, por sugerir el enfoque del Explorador de Datos; fue mediante consultas SQL que finalmente pude identificar los tres problemas. Gran respeto.


Problema 1: Detección incorrecta de la configuración regional por parte del LLM

El LLM utilizado para la detección de la configuración regional está clasificando incorrectamente las publicaciones escritas en inglés pero que contienen nombres de lugares en portugués.

Ejemplo: La publicación titulada “La exposición WA de Hanamaro Chaki se inaugura en la Fortaleza de São João do Pico” está escrita completamente en inglés. Sin embargo, el detector de configuración regional la clasificó como pt-BR, probablemente debido a los nombres de lugares en portugués en el texto (“Fortaleza de São João do Pico”, “Casa da Cultura de Santa Cruz”).

La consecuencia: como el sistema creía que la publicación ya estaba en portugués, nunca la tradujo al portugués. En su lugar, la tradujo al inglés, tratando el inglés como el idioma “faltante”.

Esto es particularmente problemático en comunidades multilingües donde las publicaciones en un idioma suelen referenciar nombres de lugares o sustantivos propios en otro idioma.

Solución propuesta: Utilizar un modelo más capaz para la detección de la configuración regional (por ejemplo, Mistral Large), que comprenda mejor el contexto y distinga entre el idioma del texto principal y los sustantivos propios incrustados en él.


Problema 2: Errores 503 devueltos por la API de Mistral que provocan fallos intermedios en trabajos por lotes

Mistral devuelve intermitentemente errores 503 unreachable_backend. Aunque la reposición finalmente reintenta algunos de estos, el trabajo Jobs::LocalizeTopics se detiene a mitad de ejecución cuando se encuentra un error 503, dejando los temas restantes del lote sin traducir hasta la próxima ejecución programada.

Esto crea un patrón impredecible de traducciones faltantes para configuraciones regionales aleatorias en temas aleatorios.

Evidencia de registro:

DiscourseAi::Translation: Se tradujeron 13 temas al de
[fallo en localize_topics.rb:57]

El trabajo tradujo 13 temas y luego se detuvo. Los temas restantes no recibieron traducción al alemán hasta el siguiente ciclo de reposición.


Problema 3: Categorías objetivo de traducción por IA — autocompletado inconsistente de subcategorías

En mi caso, nunca agregué manualmente ninguna categoría a la configuración de “Categorías objetivo de traducción por IA”; parecían haberse agregado automáticamente. Sin embargo, dos subcategorías (Puntos de vista y Playas) no se agregaron automáticamente, aunque existían y contenían contenido.

Mi hipótesis: el sistema agrega automáticamente una subcategoría a la lista de objetivos solo cuando se crea una nueva publicación en ella después de habilitar la traducción. Dado que Puntos de vista y Playas se poblaron antes de activar la traducción, nunca se agregaron automáticamente y, por lo tanto, nunca se tradujeron.

Este es un comportamiento confuso. Si existe la lógica de autocompletado, debería ser consistente y retroactiva, o la interfaz de usuario debería dejar mucho más claro que las subcategorías necesitan agregarse manualmente.


Resumen

Los tres problemas ocurrieron simultáneamente, lo que hizo extremadamente difícil el diagnóstico. Una publicación podía estar sin traducir debido a una detección incorrecta de la configuración regional, un fallo por error 503 o simplemente porque su categoría faltaba en la lista de objetivos, y no había forma de distinguir entre estos casos sin un análisis profundo de registros y consultas SQL.

La consulta del Explorador de Datos sugerida por Richard fue la clave que desbloqueó la investigación. Espero que este desglose detallado sea útil para el equipo. Estoy dispuesto a proporcionar registros o ejemplos adicionales si es necesario.

¡Gracias al equipo por su actividad en este tema!

1 me gusta