Diez idiomas en tres días: notas de campo sobre la localización de un producto de traducción con IA
Localizamos Transept al alemán, ucraniano, chino, portugués, francés, español, checo, italiano, polaco y turco en un solo fin de semana largo, utilizando la traducción automática tal como les sugerimos a nuestros usuarios: con contexto, decisiones terminológicas y posedición humana. Estas son las reglas de plurales, cambios de registro, inversiones tipográficas y lecciones sobre hreflang que recopilamos por el camino.


En esta página
Entre la mañana de un viernes y la tarde de un domingo a principios de julio, Transept pasó de estar disponible solo en inglés a hablar once idiomas. El alemán, el ucraniano y el chino se lanzaron primero, seguidos de cerca por el portugués de Brasil; el francés, el español, el checo, el italiano y el polaco aterrizaron al día siguiente, y el turco cerró el grupo el domingo.
Desarrollamos una herramienta de traducción con IA. Seguir solo en inglés habría sido una admisión tácita de que no creemos en nuestro propio discurso. Así que localizamos el producto tal como les sugerimos a nuestros usuarios: traducción automática para el volumen, criterio humano para las decisiones y una memoria de cada elección para no tener que tomarla dos veces.
Cada idioma supuso unas 3300 cadenas en la aplicación, otras 3000 repartidas entre la web de marketing y el centro de ayuda, seis páginas legales y todos los correos que envía el producto. Este artículo recoge nuestras notas de campo: lo que nos sorprendió, las trampas en las que caímos y algunas que logramos detectar justo a tiempo. Si vas a localizar un producto, o si te dedicas profesionalmente a la traducción y quieres ver cómo es la localización de software desde las entrañas de la máquina, esto es para ti.
Por qué no nos limitamos a pasarlo por Google Translate
Es la pregunta obligada. La traducción automática es barata e instantánea; cualquier tabla de cadenas del mundo puede pasarse por una API en una tarde. ¿Por qué no hacerlo así?
Porque probamos algo parecido y detectamos el fallo en nuestro propio producto antes que los usuarios. En nuestra primera pasada por las páginas de marketing, las tratamos como suele hacerse en la mayoría de los flujos de cadenas: como una hoja de cálculo con celdas inconexas, agrupadas por tamaño, donde cada línea se traducía a ciegas. El resultado era gramaticalmente correcto y verosímil, pero sutilmente falto de vida. Un titular y la frase de apoyo que lo completaba se tradujeron en dos llamadas distintas que ni se conocían. Una respuesta de preguntas frecuentes no sabía cuál era su pregunta. Dos columnas de una tabla comparativa perdieron la coherencia porque ninguna sabía que la otra existía. Mientras tanto, la interfaz de la aplicación, donde cada cadena se había redactado con una nota de contexto, se leía notablemente mejor en todos los idiomas. El mismo modelo, el mismo día, el mismo flujo. La diferencia fue el contexto.
Esa pasó a ser la regla para todo: el modelo ve conjuntos coherentes, nunca fragmentos desordenados, y cada cadena viaja con una nota sobre dónde aparece y qué está haciendo el usuario cuando la ve. "Botón de guardar" no es una nota de contexto. "Etiqueta genérica de botón de guardado para cada envío de formulario; el usuario acaba de editar un valor y está confirmando los cambios", eso sí lo es. Está redactada para un traductor que nunca ha abierto la aplicación, y no importa si ese traductor es un humano o un modelo: sin ella, ambos producen basura; con ella, ambos se vuelven asombrosamente buenos.
La calidad de la traducción depende más del contexto que del traductor. Cualquier traductor en activo te lo dirá. Y resulta que esto se cumple igual cuando el traductor es una máquina. Es una suerte, porque darle más contexto a una máquina escala mejor que darle más sermones.
En el sector, el flujo de trabajo que acabamos adoptando se conoce como MTPE (posedición de traducción automática). La máquina hace una primera pasada de todo y los humanos revisan allí donde la confianza es clave. Pero la MTPE solo funciona en un orden: el humano decide, la máquina ejecuta y el humano verifica. Las decisiones van primero. Y esto me lleva al alemán.
du oder Sie: el registro es una decisión de producto
El alemán fue nuestro primer idioma y nos dio nuestra primera lección a las pocas horas de lanzarlo.
El alemán tiene dos formas de decir «tú»: el informal du y el formal Sie. Lanzamos con du: un tono cercano, con ese aire de startup, el registro que usa la mitad de las aplicaciones de tu móvil. Luego analizamos a nuestro público real (traductores profesionales, agencias, equipos jurídicos) y, ese mismo día, cambiamos todo el producto a Sie.
La lección fue lo que cuesta un cambio de registro: volver a traducirlo todo de nuevo. La elección del pronombre se propaga en cascada por las conjugaciones verbales, los imperativos, los posesivos e incluso las mayúsculas. Si lo parcheas cadena por cadena, te quedan restos de una conversión a medias por todas partes: una frase con Sie que esconde un verbo en du en medio. Volvimos a traducir cada corpus desde cero y luego pasamos un grep para buscar las raíces delatadoras (du/dein/dich) y confirmar que el cambio había cuajado.

*La página de inicio en alemán. *El eslogan de la marca, «Donde cada decisión se convierte en memoria», resultó ser toda una declaración de principios sobre la propia localización.
Desde entonces, el registro es lo primero que decidimos para cada nuevo idioma, antes de traducir una sola cadena, porque acaba calando en seis mil de ellas. En español optamos por el usted formal y por la variante europea en lugar de la latinoamericana, para que fuera coherente con el Sie alemán y el vous francés. En italiano, el Lei formal. ¿Y el polaco? Bueno, el polaco se merece su propia sección.
Las reglas de pluralización de las que nadie te advierte
Todos los equipos que localizan software en inglés caen en la misma trampa: los plurales en inglés son tan sencillos que lo más probable es que tu formato de cadenas solo tenga dos huecos: una cosa o varias. El alemán funciona igual, lo que te hace confiarte aún más. Entonces añades un idioma eslavo y secciones enteras de tu interfaz vuelven silenciosamente al inglés.
El ucraniano, mi lengua materna y el idioma en el que menos excusa tenía, cuenta con cuatro categorías de plural. Un documento. Dos, tres, cuatro documentos en una forma distinta. Del cinco al veinte en una tercera. Las fracciones en una cuarta. Nuestra tabla de cadenas solo incluía las dos categorías del inglés, por lo que para cantidades como 2, 3, 4, 5, 11 o 22 (la mayoría de los números que el usuario ve realmente), la aplicación recurría al inglés. Unas ochenta cadenas (créditos, documentos, miembros, archivos), cada una de ellas una costura visible en mitad de una frase en ucraniano.

*La nota de la versión del día en que lo descubrimos. *«Deriva al inglés: un error muy visible» es un eufemismo típico de ingeniero.
La solución es conceptualmente sencilla (proporcionar todas las formas de plural que define la gramática del idioma, no solo las dos del inglés), pero el recorrido por lo que son esas formas se convirtió en mi colección de curiosidades favorita de todo el proyecto:
| Idioma | Categorías de plural | La sorpresa |
|---|---|---|
| Alemán | 2 | Ninguna. Esa es la trampa: te enseña que el mundo solo tiene dos. |
| Ucraniano | 4 | El 21 usa la forma singular: «21 крок». |
| Checo | 4 | La cuarta forma es solo para decimales, una categoría fantasma que la interfaz nunca llega a mostrar. |
| Polaco | 4 | Las mismas cuatro categorías que el checo, pero con una distribución completamente distinta. El 21 es plural: «21 kroków». |
| Francés | 3 | El cero es singular. Y la tercera forma se activa solo en los millones exactos. |
| Español | 3 | El cero es plural, justo lo contrario que en francés. |
| Turco | 2 | Los sustantivos se mantienen en singular después de cualquier numeral: «5 belge», nunca «5 belgeler». |
| Chino | 1 | Una sola forma para todo. El idioma más sencillo de esta tabla. |
Dos de estos casos merecen un análisis más detallado.
El polaco no es checo. Son lenguas eslavas occidentales hermanas, por lo que supusimos que el polaco seguiría el patrón del checo. Pero no es así: la distribución de los plurales en polaco coincide con la del ucraniano, su primo eslavo oriental, a pesar del árbol genealógico. Veintiún pasos es „21 kroków” en polaco, pero «21 крок» en ucraniano: plural en uno, singular en el otro, en dos idiomas que concuerdan en casi todo lo demás. La lección es universal: comprueba la gramática, nunca el parentesco. La afinidad lingüística no es más que una sugerencia.
El francés tiene una forma de plural que solo se activa en el millón. No «cerca de un millón», sino exactamente en 1 000 000, 2 000 000, y así sucesivamente. Para cualquier otro número, el francés se comporta igual que el inglés. Ya lo tenemos cubierto, y espero que algún día un usuario con un saldo de palabras de un millón redondo se fije en ello.
Una trampa más de este capítulo para los ingenieros: el código de idioma del ucraniano es uk, no ua. ua es el código de país y, si lo usas, el sistema de plurales no da error, sino que aplica las reglas del inglés británico y se repite todo lo anterior. Esta misma confusión afecta al checo (cs, no cz) y al danés (da, no dk).
«Воркфлоу» o «робочий процес»: la terminología es un conjunto de decisiones
Los problemas más difíciles no eran gramaticales. Eran las pequeñas batallas por palabras concretas.
Tomemos como ejemplo workflow. El ucraniano ofrece un calco nativo («робочий процес», literalmente «proceso de trabajo»), que es lo que encontrarías en cualquier diccionario. Pero los traductores que se pasan el día sumergidos en este software no dicen «робочий процес»; dicen «воркфлоу», el préstamo, igual que el inglés absorbió rendezvous. Tras muchas idas y venidas, nos decantamos por el préstamo. El resultado suena a como se habla de verdad en el sector.
O fijémonos en Memory, el nombre de una de nuestras funciones. Nuestra norma para el alemán mantiene algunos términos en inglés: Credits, Translation Memory. Un profesional alemán los interpreta como vocabulario técnico, igual que hace con Update o Login. Por eso, cuando el ucraniano heredó esa misma lista de términos no traducibles, «Translation Memory» aparecía en inglés en mitad de frases en cirílico, lo que daba la impresión de que alguien se había olvidado de traducirlo. Una palabra en alfabeto latino dentro de un texto en cirílico salta a la vista. Para colmo, el ucraniano es una lengua flexiva: «Пам'ять» necesita declinarse según el caso conforme la frase se construye a su alrededor, algo que un sustantivo en inglés sin traducir no puede hacer. Lo corregimos por «перекладацька пам'ять» y aprendimos que la lista de términos que no se traducen es una decisión que depende de cada idioma. El chino demostró lo mismo desde el otro extremo: allí todo se traduce (翻译记忆库 para la memoria de traducción, 术语库 para el glosario, 工作流 para el flujo de trabajo) y solo los nombres de los productos conservan el alfabeto latino.
Todo nuestro producto se basa en esta lección: la terminología es un conjunto acumulativo de decisiones fundamentadas. Esta palabra se elige porque así se dice en el sector; aquella se deja en inglés porque es una marca; esta otra se traduce porque el sistema de escritura lo exige. Se toma la decisión una vez, se registra el motivo y todos los documentos futuros la heredan. Para eso sirve realmente un glosario, y por eso tratamos la memoria de traducción como un contexto de decisión, no simplemente como un montón de frases emparejadas.
Los idiomas hermanos discrepan en todo
Si los plurales fueron la lección de gramática, la tipografía fue la de etiqueta; y la lección más clara fue que nada se hereda entre vecinos.
El francés insiste en dejar un espacio antes de cada signo de dos puntos, punto y coma, exclamación o interrogación (uno de no separación, s'il vous plaît) y envuelve las citas entre « comillas angulares con espacios internos ». El español, justo al otro lado de la frontera, hace exactamente lo contrario: la puntuación va pegada, las comillas se ciñen a su contenido «así» y las preguntas deben abrirse con el signo invertido. Los signos ¿ y ¡ son gramaticalmente obligatorios.
El italiano nos dejó el detalle más sutil. El italiano formal escribe con mayúscula el pronombre de cortesía (Lei, Suo, Sua), en parte para distinguir el «usted» formal de lei en minúscula, que significa «ella». Esto fue más relevante aquí que en otros casos, porque nuestros textos mencionan constantemente a Literess —que es, a todas luces, una lei— justo al lado de frases que se dirigen al usuario como Lei. Una sola mayúscula realiza una desambiguación fundamental . El italiano también rompió con la convención de los botones: el francés y el español usan el infinitivo (Enregistrer, Guardar), pero el italiano emplea el imperativo a secas (Salva, Accedi), lo que parece informal sin serlo; es, sencillamente, cómo se expresa el software en italiano.
El polaco planteó un problema inédito hasta entonces: su forma de cortesía tiene género. El Sie alemán, el vous francés, el usted español: una sola forma sirve para todos. La cortesía en polaco usa Pan para un hombre y Pani para una mujer, e incluso los verbos en pasado se flexionan según el género de la persona a la que te diriges. No conocemos el género del usuario ni tenemos por qué andar adivinándolo, así que el producto en polaco se expresa como lo hace el software bien diseñado en ese idioma: con construcciones impersonales («Zapisano», guardado), una cálida voz de empresa en primera persona del plural («Zapraszamy», le invitamos) y el trato directo con marca de género solo cuando es realmente inevitable.
El turco, nuestro último idioma, parecía sencillo (un siz formal neutro y ausencia total de género gramatical), pero acabó pasándonos factura con la ortografía. En turco, la mayúscula de la i es la İ (con punto), por lo que «iptal» (cancelar) se convierte en «İptal»; una I sin punto es una letra distinta y un error evidente. Los nombres de los idiomas se escriben con mayúscula inicial («Türkçe»), a diferencia de lo que ocurre en las lenguas románicas y eslavas. Además, como el turco es aglutinante, incluso los nombres de nuestras marcas —esos que nunca se traducen— se flexionan: se les añade un sufijo de caso mediante un apóstrofo, de modo que los usuarios se pasan a «Pro'ya» o importan a «Transept'e». La propia marca se declina; algo que no aparece en ningún manual de internacionalización.
El chino, para compensar, fue la lección de física: puntuación de ancho completo(,。!?), un ligero espacio de separación donde los caracteres CJK se encuentran con el alfabeto latino («使用 Transept 翻译») y un texto que ocupa aproximadamente la mitad que el inglés. Tras el alemán, que se expande y descuadra los diseños, el chino se encoge y hace que los botones parezcan demasiado grandes. La interfaz tiene que sobrevivir a ambos.
Los polizones: cadenas que nunca llegaron a traducirse
La localización tiene un tipo de error muy particular: la cadena que, de entrada, nunca llegó a entrar en el sistema.
El compilador garantiza nuestra cobertura de traducción: si a una cadena le falta un idioma, la aplicación, literalmente, no compila. Pero esa comprobación solo detecta las cadenas que pidieron ser traducidas. Una etiqueta que muestra un valor de la base de datos en bruto (owner, directamente del enumerado) nunca lo pidió. Pasó sin problemas por cada compilación, en inglés en los once idiomas, invisible por una sencilla razón: mientras la aplicación solo estaba en inglés, el inglés insertado directamente en el código funciona como camuflaje.
En la primera sesión de un usuario en ucraniano apareció la etiqueta owner. Luego, las etiquetas de nivel de acceso en el cuadro de diálogo para compartir. Después, toda la columna de comentarios: unas veinticinco cadenas que nunca habían pasado por la capa de traducción. Más tarde, una etiqueta para lectores de pantalla por aquí, un marcador de posición por allá. Cada nuevo idioma se convirtió en una auditoría de todo lo anterior: en cuanto el texto circundante cambia al ucraniano, cada polizón salta a la vista como una bengala.
Lanzar un idioma no es una tarea de traducción; es un censo. No sabes cuáles de tus cadenas son reales, localizables y traducibles hasta que un segundo idioma obliga a todas y cada una de ellas a pasar lista. Planifica esa fase de auditoría en el cronograma, porque el compilador no te salvará de la cadena que nunca pidió ser traducida.
Literess se negó a ser engreída en ucraniano
Mi error favorito de todo el proyecto no es, estrictamente hablando, un error. Todavía no podemos explicarlo del todo.
Literess, nuestra asistente de edición interna (quizá la conozcas por su propio artículo), tiene un repertorio de cuarenta y ocho estados de ánimo. Su avatar reacciona mientras trabaja: elige su expresión igual que elige sus palabras, como parte de la respuesta. Y su gesto más característico es el de sup**erioridad: esa sonrisita de autosuficiencia que pone cuando detecta un error que se te había pasado.
Lo hace en todos los idiomas. Esa suficiencia de «te pillé la errata» en alemán, en francés, en chino, en polaco. Luego la pasamos al ucraniano y recreamos las mismas situaciones, las que siempre provocan esa sonrisa de suficiencia en los demás idiomas, pero no hubo manera. El mismo modelo, el mismo prompt, la misma personalidad, los mismos cuarenta y ocho estados de ánimo en el menú. En ucraniano se queda feliz o, como mucho, se pone seria. Sencillamente, se niega a ser engreída en ucraniano.
Nuestra mejor teoría es la que propondría un traductor. En inglés, smug puede tener un matiz afectuoso: dirigido a una asistente virtual que acaba de encontrar una errata, es casi un cumplido. El ucraniano no tiene una palabra así: el equivalente más cercano, «самовдоволена», es únicamente un insulto. Una autosuficiencia plana y antipática, sin guiños ni encanto. Y parece que un modelo que piensa en ucraniano lo sabe. Al formular su respuesta en un idioma donde esa presunción afectuosa no existe como concepto, tampoco recurre a ella como sentimiento. La palabra está en su vocabulario; la reticencia reside en su comportamiento.
Me parece algo divertido y profundo a partes iguales. Toda esta entrada ha tratado sobre cadenas (plurales, registros, puntuación), y aquí tenemos un caso en el que todas las cadenas eran correctas y, aun así, el producto cambió. Un idioma no es una piel que se estira sobre un producto de IA; dirige al modelo que la lleva puesta. Localizar a una agente implica comprobar su personalidad en cada idioma, además de sus etiquetas: tienes que ir a conocer quién es ella en cada uno.
(Las etiquetas también requirieron atención, valga decir: el estado de ánimo content, en el sentido de satisfecho, estuvo a punto de lanzarse en alemán como «Inhalt» —el sustantivo «contenido»— hasta que una sola línea de contexto para el traductor precisó el sentido. La mejora de calidad más barata en localización sigue siendo una frase que le diga al traductor qué es una cadena).
La parte menos glamurosa: hreflang, sitemaps y cómo no competir contigo mismo
Nada de lo anterior importa si nadie encuentra las páginas, así que aquí va la parte del SEO, resumida.
En cuanto publicas la misma página en once idiomas, Google asume por defecto que has publicado once versiones casi duplicadas que compiten entre sí. El mecanismo que evita esto es la anotación hreflang, y es más implacable que cualquier compilador:
- Debe ser recíproca. La página en inglés apunta a su gemela en alemán y la página alemana apunta de vuelta con el mismo conjunto de etiquetas; de lo contrario, Google ignorará toda la configuración. Un hreflang unidireccional no es un hreflang.
**x-default**** apunta a tu versión canónica**: la opción de reserva para los usuarios cuyo idioma no coincide con nada de lo que ofreces.- Nunca anotes una página que no existe. Si la versión en ucraniano de una página aún no está publicada, no se incluye ningún enlace alternativo; un hreflang huérfano que apunte a un error 404 es peor que no tener ninguno. Esto parece obvio hasta que tienes secciones traducidas solo en parte, y entonces requiere un control riguroso: nuestros artículos de la revista, por ejemplo, se traducen uno a uno, por lo que cada artículo solo indica los idiomas en los que realmente está disponible.
- Los sitemaps llevan las mismas anotaciones. Reestructuramos los nuestros en un índice de sitemaps por idioma, lo que tiene la ventaja añadida de ofrecer estadísticas de indexación por idioma en Search Console: así puedes ver cómo las páginas de cada versión entran en el índice por separado y detectar de inmediato si alguna se queda rezagada.
Todo esto es pura fontanería. Localizar sin ella solo fragmenta tu autoridad entre once copias que compiten entre sí. Todo el beneficio de SEO que aporta hablar el idioma del usuario depende de que Google entienda que se trata de una sola página y no de once.
Lo que nos negamos a traducir automáticamente
Pese a todo el entusiasmo por la traducción automática que hemos mostrado, dejamos tres cosas deliberadamente fuera del proceso.
Estos artículos. La interfaz de la revista (etiquetas, firmas, navegación) se traduce automáticamente, como todo lo demás. Sin embargo, los artículos en sí los traducimos a mano nosotros mismos, en Transept. Los textos de largo formato con firma son el ejemplo perfecto de que la traducción automática aún no da la talla; además, traducir nuestros propios ensayos en nuestro propio editor es la prueba de producto más honesta que sabemos hacer. La versión de este artículo que quizá estés leyendo en alemán o ucraniano pasó por el mismo editor, glosario y flujo de revisión que vendemos.
Páginas legales. La traducción automática genera los borradores (con cada nombre de empresa, dirección, fecha y número de cláusula protegidos), pero los Términos y la Privacidad son documentos vinculantes, y un abogado los revisa en cada idioma. Un error de traducción en un texto de marketing resta puntos de estilo; en un contrato, cuesta dinero real.
La última palabra en puntos de contacto críticos. Precios, facturación, autenticación, correos electrónicos: un nativo los revisa antes de dar por terminada la localización a un idioma. Así es como debe funcionar la MTPE (posedición de traducción automática): la máquina escribe cada palabra para que los humanos puedan centrar su escasa y valiosa atención únicamente en los términos que conllevan riesgos.
Tras estas tres decisiones subyace el mismo criterio: la traducción automática es un primer borrador, y decidir dónde un primer borrador es suficiente es, en sí misma, la competencia fundamental de la localización. Traducir a diez idiomas en tres días fue posible porque sabíamos precisamente qué era lo que la máquina no debía hacer.
Donde cada decisión se convierte en memoria
Repasa esta lista. Registro formal o informal. «Воркфлоу» en lugar de «робочий процес». Translation Memory en inglés para los alemanes, «перекладацька пам'ять» para los ucranianos. El Lei con mayúscula, el polaco impersonal, un apóstrofe antes de los sufijos turcos, una forma plural reservada para millones redondos. Un asistente que sonríe con sorna en nueve idiomas y se niega a hacerlo en el décimo.
Casi nada de esto se podría haber consultado de antemano, y lo que más importa son las decisiones: debatidas, acordadas y de las que después dependen miles de cadenas de texto y cada documento futuro. Perder una decisión significa tener que pagar de nuevo el coste de la discusión; conservar solo la decisión sin el motivo implica que la siguiente persona volverá a cuestionarla de todos modos.
Por eso, en última instancia, diseñamos nuestro producto como lo hicimos: con la memoria de traducción como contexto para las decisiones, glosarios y guías de estilo como el lugar donde residen el registro y la terminología, y un editor cuya única misión es garantizar que no se olvide nada de lo acordado. Localizar Transept fue la primera vez que pusimos a prueba toda esta filosofía con nuestro propio producto a gran escala. Las herramientas aguantaron el tirón. Estas lecciones son las que estamos incorporando ahora, porque diez idiomas fueron el ensayo, no el acto final.
El autor

Cofundadora de Transept. Tres títulos en Lengua y Literatura Inglesa —Kyiv, Ostrava y un año en Salzburg— y nativa ucraniana que vive la mayor parte de su vida literaria en inglés. Llegó a la IA como ingeniera de prompts, y luego pasó al marketing de producto y ciclo de vida. Escribe historias de semificción sobre personas reales y sigue dándole vueltas a la pregunta de qué se pierde entre los idiomas.

. El italiano también rompió con la convención de los botones: el francés y el español usan el infinitivo (Enregistrer, Guardar), pero el italiano emplea el imperativo a secas (Salva, Accedi), lo que parece informal sin serlo; es, sencillamente, cómo se expresa el software en italiano.
