La localización en producción traduce párrafos y cadenas aislados. Un flujo de trabajo de CI/CD compara con la versión anterior y vuelve a traducir lo que ha cambiado: una cadena de la interfaz, un tooltip, un párrafo modificado. Cada solicitud llega al LLM de forma aislada: sin la página que la rodea, sin el contexto completo del documento, sin ninguna señal de si ese texto es prosa jurídica de la UE o copy de marketing. Sin contexto de dominio inyectado en tiempo de inferencia, cada solicitud aislada es una nueva oportunidad para que la terminología se desvíe.
La localización aumentada por recuperación (RAL) cierra esa brecha al enriquecer cada solicitud de traducción con términos del glosario, reglas de voz de marca e instrucciones específicas del idioma en tiempo de inferencia: el mismo patrón de recuperar e inyectar que hay detrás de Retrieval Augmented Generation (RAG). En una evaluación controlada con cinco proveedores de LLM y cinco idiomas europeos, RAL redujo los errores terminológicos entre un 16,6 % y un 44,6 %.
Conclusiones clave:
- RAL redujo los errores terminológicos entre un 16,6 % y un 44,6 % en los cinco proveedores de LLM evaluados
- Las puntuaciones holísticas de calidad (GEMBA-DA) no pudieron detectar estas diferencias. Deltas de 0,0007-0,0178, mientras que MQM contabilizó miles de errores menos
- Los modelos con peores puntuaciones terminológicas de partida fueron los que más mejoraron: Mistral (-44,6 %) y Deepseek (-42,1 %) frente a Anthropic (-24,4 %) y Google (-16,6 %)
- El portugués mostró la mayor mejora por idioma; el francés, la menor. Cuanto más se aleja la terminología de dominio de los datos de entrenamiento, más ayuda RAL
El problema del aislamiento#
La unidad de la localización en producción es pequeña: un párrafo, una cadena, un diff. Rara vez supera las 200 palabras. A menudo se queda por debajo de 50. Un archivo JSON de idioma contiene claves individuales, cada una con una frase u oración. Una página de CMS se compone de bloques, y cada uno se traduce de forma independiente.
Cuando el modelo se encuentra con "provider" en un párrafo aislado en inglés, tiene que decidir: ¿se traduce al portugués como "fornecedor" (la palabra habitual) o como "prestador" (el término jurídico oficial de la UE)? Sin contexto de dominio, elige la opción habitual. Si multiplicas esto por cada término específico de dominio en cada idioma, la deriva terminológica pasa a ser la norma.
Nos propusimos medir exactamente cuán grande es esa brecha y si inyectar contexto de glosario en tiempo de inferencia permite cerrarla.
El primer intento no mostró nada#
Nuestro experimento inicial utilizó 37 términos de glosario por par de idiomas y evaluó las traducciones a nivel de artículo: cada artículo (de 200 a 700 palabras) se evaluó como una sola unidad. ¿El resultado? GEMBA-DA, el prompt holístico de calidad ganador de WMT23, arrojó 0,952 para raw y 0,952 para configured. La anotación de errores MQM produjo puntuaciones de 0,985-0,999 para todas las traducciones. Ninguna señal. Ninguna diferencia. Según todas las métricas, la salida sin configurar y la salida aumentada con glosario eran idénticas.
Estuvimos a punto de publicar un resultado nulo. Entonces analizamos el porqué.
Había dos problemas. Primero, 37 términos de glosario eran demasiado pocos: muchos párrafos de prueba no contenían ninguna coincidencia con el glosario, así que el motor configurado no tenía ninguna ventaja. Segundo, la evaluación a nivel de artículo comprime matemáticamente las diferencias de calidad hasta convertirlas en ruido. Las puntuaciones MQM se calculan como 1 - penalty / wordCount. Un solo error terminológico grave en un artículo de 500 palabras: 1 - 5/500 = 0.99. El mismo error en un párrafo de 50 palabras: 1 - 5/50 = 0.90. El error es idéntico. La puntuación no. A nivel de artículo, cualquier diferencia real de calidad desaparece por encima de 0,98.
Y no es solo un problema de medición de nuestro estudio. Se aplica a cualquier benchmark de traducción que evalúe a nivel de página o de artículo. Los errores están ahí. La métrica no puede verlos.
Cambiamos el enfoque#
En la segunda iteración, introdujimos cuatro cambios.
Primero, ampliamos el glosario de 37 a 72 términos por par de idiomas, extraídos de un conjunto de entrenamiento de artículos distinto del conjunto de prueba usado para la evaluación. Segundo, evaluamos a nivel de párrafo (50-200 palabras), ajustándonos a la unidad real de traducción en producción. Tercero, añadimos traducciones humanas de referencia al prompt de evaluación MQM para que los jueces pudieran comparar la terminología directamente. Cuarto, redujimos el número de jueces de seis a cuatro. Deepseek y QWEN señalaron solo 1-3 errores por párrafo, frente a los 5-15 de los jueces más estrictos: eran demasiado indulgentes para aportar señal.
La señal apareció de inmediato.
Diseño del estudio#
Conjunto de datos. Queríamos el tipo de texto con mayor densidad terminológica disponible para poner a prueba la inyección de glosario en condiciones exigentes. El Reglamento de IA de la UE (Reglamento 2024/1689) encajaba a la perfección: un texto normativo formal en el que cada párrafo contiene términos con traducciones específicas definidas oficialmente. EUR-Lex publica traducciones humanas oficiales en los cinco idiomas de destino, lo que permite evaluar párrafo por párrafo frente a una referencia real. 15 artículos, del inglés al alemán, francés, español, portugués e italiano.
Motores. Cada proveedor se probó con dos configuraciones del motor de localización: un motor raw (el LLM por sí solo, sin glosario, sin recuperación, traduciendo únicamente a partir de lo aprendido en el entrenamiento) y un motor aumentado con RAL (el mismo modelo, con un glosario de dominio, un perfil de voz de marca e instrucciones específicas del idioma aplicados en tiempo de inferencia). Diez motores en total, todos con la misma configuración en los motores aumentados con RAL.
| Proveedor | Modelo | Motor raw | Motor RAL |
|---|---|---|---|
| Anthropic | claude-opus-4.6 | solo modelo | glosario + voz de marca + instrucciones |
| OpenAI | gpt-5.4 | solo modelo | glosario + voz de marca + instrucciones |
| gemini-3.1-pro-preview | solo modelo | glosario + voz de marca + instrucciones | |
| Mistral | mistral-large-2512 | solo modelo | glosario + voz de marca + instrucciones |
| Deepseek | deepseek-v3.2 | solo modelo | glosario + voz de marca + instrucciones |
QWEN se incluyó inicialmente, pero se descartó en el conjunto final: las traducciones eran lentas y poco fiables, el mismo problema que lo descalificó como juez.
Configuración de RAL. Cada motor aumentado contenía 72 términos de glosario por par de idiomas (70 traducciones personalizadas más 2 no traducibles), un perfil de voz de marca (registro regulatorio formal de la UE) y 13 instrucciones específicas del idioma. Los términos del glosario se extrajeron de un conjunto de entrenamiento de artículos separado del conjunto de prueba usado para la evaluación. Ejemplos de entradas: EN "provider" → PT "prestador" (no "fornecedor"); EN "high-risk AI system" → PT "sistema de IA de risco elevado" (no "sistema de IA de alto risco"). En tiempo de inferencia, solo se recuperan y se pasan al modelo los términos que coinciden con el párrafo actual: el tamaño del glosario no infla la ventana de contexto. Los motores se configuraron en Lingo.dev como motores de localización con estado: contexto persistente aplicado a cada solicitud.
Evaluación. Cada párrafo traducido fue evaluado por cuatro jueces LLM, y se calculó la media para suavizar el sesgo individual de cada uno. Cada juez evalúa las salidas de todos los proveedores, no solo las suyas:
| Juez | Modelo |
|---|---|
| Anthropic | claude-sonnet-4.6 |
| OpenAI | gpt-4.1 |
| gemini-2.5-flash | |
| Mistral | mistral-large-2512 |
GEMBA-MQM. MQM (Multidimensional Quality Metrics) es un marco estándar para evaluar la calidad de traducción, normalmente aplicado por anotadores humanos formados. GEMBA-MQM, el método de evaluación ganador de WMT23, sustituye a los anotadores humanos por un LLM, pero sigue el mismo protocolo MQM: el juez lee la traducción y señala cada error, asignándole una categoría y una gravedad.
Categorías de error: precisión, fluidez, estilo, terminología. Los pesos de gravedad siguen el estándar oficial de MQM: menor = 1, grave = 5, crítico = 25.
Puntuación MQM por párrafo: max(0, 1 - weighted penalty / word count). Un párrafo de 50 palabras con un error terminológico grave obtiene 1 - 5/50 = 0.90. Un párrafo perfecto obtiene 1,0. Los recuentos de errores en las tablas de resultados se suman entre los cuatro jueces y todos los párrafos de un proveedor y un idioma determinados.
Un cambio con respecto al prompt estándar de GEMBA-MQM: añadimos la traducción humana de referencia. GEMBA-MQM está diseñado para funcionar sin referencia: el juez evalúa la calidad sin ver la respuesta "correcta". Añadimos referencias porque EUR-Lex publica traducciones oficiales del Reglamento de IA de la UE en los cinco idiomas de destino, lo que da a los jueces una referencia real con la que comparar la terminología.
GEMBA-DA. Una puntuación holística de calidad de 0 a 1 usando el prompt GEMBA-DA (también ganador de WMT23). A diferencia de MQM, produce una sola puntuación sin anotaciones de errores. La incluimos como comprobación básica: como muestran los resultados, no puede detectar diferencias a nivel terminológico.
Deepseek se excluyó del panel de jueces por una evaluación excesivamente indulgente (1-3 errores por párrafo frente a 5-15 de jueces más estrictos). Promediar entre cuatro jueces suaviza el sesgo individual, y la mejora relativa entre raw y RAL es consistente en todos ellos.
Tamaño de la muestra. 535 observaciones emparejadas de párrafos por proveedor (107 párrafos × 5 idiomas). Más de 42.000 evaluaciones individuales de calidad en total (535 párrafos × 5 proveedores × 2 configuraciones × 8 puntuaciones cada una).
Los errores terminológicos caen entre un 16,6 % y un 44,6 %#
| Proveedor | Errores raw | Errores RAL | Reducción |
|---|---|---|---|
| Mistral | 3,336 | 1,847 | -44.6% |
| Deepseek | 3,672 | 2,127 | -42.1% |
| OpenAI | 2,276 | 1,508 | -33.7% |
| Anthropic | 1,559 | 1,179 | -24.4% |
| 1,901 | 1,586 | -16.6% |
Recuentos de errores terminológicos según MQM en 15 artículos, 5 idiomas y 4 jueces.
La mejora siguió una relación inversa con la puntuación de partida. Mistral y Deepseek, con los recuentos de errores raw más altos, registraron reducciones del 42,1 % al 44,6 %. Anthropic y Google, que ya reflejaban más terminología jurídica de la UE en el entrenamiento, obtuvieron mejoras menores. El patrón es claro: RAL compensa lo que el modelo todavía no sabe.
Mientras tanto, GEMBA-DA —la puntuación holística— arrojó un delta de 0,0007-0,0178 entre raw y RAL en todos los proveedores. Las mismas traducciones en las que MQM detectó entre un 16,6 % y un 44,6 % más de errores terminológicos recibieron puntuaciones holísticas casi idénticas. Esa es la brecha de medición: la evaluación holística, con cualquier nivel de granularidad, no puede detectar diferencias de calidad a nivel terminológico.
Los errores totales (todas las categorías de MQM) mostraron una reducción menor, pero constante, en los cinco proveedores:
| Proveedor | Total bruto | Total con RAL | Variación |
|---|---|---|---|
| Deepseek | 10,423 | 9,014 | -13.5% |
| Mistral | 8,846 | 7,812 | -11.7% |
| OpenAI | 7,563 | 7,155 | -5.4% |
| 7,793 | 7,545 | -3.2% | |
| Anthropic | 6,232 | 6,039 | -3.1% |
La diferencia entre la reducción de errores terminológicos (16.6-44.6%) y la reducción total (3.1-13.5%) se explica en gran parte por el estilo. Los jueces LLM tienden a marcar un texto como "forzado" cuando se aleja de las preferencias de sus datos de entrenamiento, incluso si ese desvío lo acerca a la referencia oficial: una limitación conocida como sesgo de autopreferencia. La terminología y la precisión están ancladas a la referencia; el estilo no tiene más anclaje que el propio criterio del juez sobre lo que suena natural.
Significación estadística#
La reducción de errores terminológicos se evaluó por proveedor mediante la prueba de rangos con signo de Wilcoxon para muestras apareadas (unilateral, con corrección de Holm-Bonferroni aplicada a cinco proveedores). Los recuentos de errores terminológicos por párrafo se sumaron entre cuatro jueces y luego se emparejaron por párrafo (misma fuente, mismos jueces, bruto frente a RAL).
| Proveedor | Párrafos emparejados | Reducción media por párrafo | IC del 95% | d de Cohen | p (ajustada) |
|---|---|---|---|---|---|
| Mistral | 532 | 2.80 | [2.42, 3.21] | 0.60 | < 0.001 |
| Deepseek | 526 | 2.94 | [2.45, 3.44] | 0.50 | < 0.001 |
| OpenAI | 535 | 1.44 | [1.12, 1.77] | 0.37 | < 0.001 |
| Anthropic | 533 | 0.71 | [0.50, 0.93] | 0.28 | < 0.001 |
| 533 | 0.59 | [0.34, 0.85] | 0.20 | < 0.001 |
Los cinco proveedores muestran reducciones estadísticamente significativas de los errores terminológicos (p < 0.001 tras la corrección de Holm-Bonferroni para comparaciones múltiples), con intervalos de confianza del 95% que excluyen el cero. Los tamaños del efecto van de moderado-alto (Mistral, d = 0.60) a pequeño (Google, d = 0.20), en línea con el patrón según el cual los modelos con menor cobertura terminológica de partida se benefician más de RAL.
Dónde más importa RAL#
El portugués mostró las mayores mejoras terminológicas en todos los proveedores. La terminología jurídica en portugués difiere notablemente del portugués de uso diario, y los términos jurídicos de la UE en portugués están infrarrepresentados en los datos de entrenamiento de los LLM. El francés mostró las menores mejoras: los términos jurídicos en francés están bien representados en los corpus de entrenamiento.
Caso práctico: OpenAI en portugués
La salida bruta de OpenAI tradujo la Ley de IA de la UE al portugués usando "alto risco" 71 veces (el "high risk" coloquial), "fornecedores" 39 veces y "fornecedor" 36 veces. Las traducciones oficiales de EUR-Lex usan "risco elevado" y "prestadores". Con RAL, los errores terminológicos de OpenAI en portugués bajaron de 648 a 266: una reducción del 59%.
El patrón se generaliza: los idiomas cuya terminología especializada está más alejada de la distribución de entrenamiento del LLM se benefician más de RAL.
El mecanismo#
El mecanismo es sencillo. En tiempo de inferencia, el motor descompone el texto de entrada en frases n-gram y las vectoriza. Después, ejecuta una búsqueda por similitud del coseno en el índice vectorial del glosario para encontrar términos coincidentes. Los términos encontrados se inyectan en la ventana de contexto del LLM junto con el texto fuente. El modelo no adivina "fornecedor" o "prestador": ve la correspondencia correcta en contexto y la utiliza. Estructuralmente, es idéntico a RAG: vectorizar, recuperar, inyectar, generar.
Ranking de proveedores por calidad bruta#
Sin RAL: solo la salida bruta del modelo:
| Puesto | Proveedor | MQM medio |
|---|---|---|
| 1 | Anthropic | 0.955 |
| 2 | OpenAI | 0.942 |
| 3 | 0.938 | |
| 4 | Mistral | 0.915 |
| 5 | Deepseek | 0.883 |
La diferencia de 0.072 entre Anthropic y Deepseek representa aproximadamente entre 3 y 4 errores más por párrafo de 100 palabras. RAL redujo esa brecha: Mistral con RAL (0.940 de media) se acercó a la calidad bruta de Google (0.938). Un modelo con una fracción del coste por token, reforzado con un glosario de 72 términos, igualó la precisión terminológica de un modelo más caro sin glosario.
Qué significa esto en producción#
La brecha de calidad entre la salida bruta de un LLM y una localización lista para producción es un problema de contexto, y además se acumula. Tras diez lanzamientos sin RAL, conviven en el producto tres traducciones incorrectas distintas de "provider".
RAL rompe este patrón. El glosario es persistente: se aplica a todas las solicitudes, independientemente de lo que haya cambiado. El glosario de 72 términos que redujo los errores entre un 16.6% y un 44.6% en nuestro estudio no es una mejora puntual. Es una capa de consistencia para cada solicitud de traducción a lo largo de toda la vida del producto.
Dos conclusiones para los equipos que lanzan traducciones con LLM: en primer lugar, las puntuaciones globales de calidad no detectan problemas a nivel terminológico. GEMBA-DA, el método ganador de WMT23, puntuó las traducciones brutas y las reforzadas con RAL con una diferencia de solo 0.0007-0.0178. MQM contabilizó entre un 16.6% y un 44.6% menos de errores terminológicos. Si evalúas a nivel de página con una única puntuación, no estás viendo el cuadro completo.
En segundo lugar, la solución es más sencilla de lo que parece. Un glosario de dominio inyectado en tiempo de inferencia redujo los errores terminológicos en todos los proveedores que probamos. El modelo que mejor traduce (Anthropic, MQM 0.955) también mejoró. El modelo con la tasa de error de partida más alta (Deepseek, MQM 0.883) fue el que más mejoró.
RAL es para la localización lo que RAG es para la generación: la capa de ingeniería entre el modelo y producción.

