1.082 traducciones tenían una palabra en el alfabeto equivocado. Nuestras comprobaciones las aprobaron todas.
Idiomas
El 31 de octubre encontramos una frase en húngaro en uno de nuestros sitios con palabras chinas en medio. Buscamos en las traducciones almacenadas de todos los sitios que gestionamos letras que no pertenecen a su idioma y encontramos 1.082 traducciones así, 581 de ellas en páginas publicadas. Todas habían pasado nuestras comprobaciones.
Lo que encontramos
Todo lo escribió los modelos locales que traducen nuestros sitios, y todo es el mismo desliz: una o dos palabras en otro idioma. De las traducciones almacenadas, y de las rechazadas desde entonces:
- Chino dentro de otros idiomas: «they are» como 它们是 en medio de una frase en tailandés; el chino para «track», 跟踪, con una terminación húngara («támadók跟踪ására»); palabras similares en polaco y griego.
- Ruso dentro de griego, armenio, hebreo y esloveno: «full house» en griego salió como «φουλ хаус», la segunda palabra en cirílico.
- Letras parecidas: una «о» o una «а» cirílica al final de una palabra finlandesa o checa. Nadie que lea la página lo notaría; un buscador o un lector de pantalla sí.
- Escrituras vecinas: una letra bengalí dentro de una palabra kannada, devanagari dentro de kannada.
- Líneas enteras en tailandés en páginas jemeres: títulos, etiquetas y celdas de tabla en las páginas jemeres de dos sitios estaban simplemente escritas en tailandés.
Nuestra tienda tenía siete líneas así de las suyas. En una, «planted values» salió en rumano como «valori植入».
Por qué las comprobaciones las aprobaron
La comprobación de escritura preguntaba si al menos el 45% de las letras de una traducción estaban en la escritura de su idioma. Eso detecta el inglés que queda en su sitio, que es para lo que se creó. Dos letras chinas en una frase húngara de cien letras no cambian la proporción, y una sola letra cirílica la cambia aún menos.
El texto corto tenía una regla diferente. Con menos de 25 letras de inglés, la comprobación solo aseguraba que la respuesta no hubiera quedado en inglés. Una celda de tabla jemere escrita en tailandés no contiene nada de inglés, así que pasó.
La regla que los detecta
Una letra que pertenece a una escritura que el idioma no usa, y que la fuente en inglés no contiene, es un error. Tres excepciones evitan que la regla salte por nada:
- Las letras latinas siempre se permiten: los nombres de marca, el código y las unidades aparecen en todos los idiomas.
- El chino, el japonés y el coreano no se comprueban, porque el japonés mezcla kana y kanji y el coreano puede usar hanja.
- El serbio y el punyabí, cada uno escrito en dos alfabetos, solo se comprueban en busca de letras chinas, japonesas y coreanas.
Aplicamos la regla a todo lo que nuestros sitios tenían almacenado, y cada línea que marcó y que pudimos leer estaba mal. Desde el 31 de octubre ha rechazado 1.652 traducciones al crearse, 1.549 de ellas en jemer: el modelo no ha dejado de escribir tailandés para el jemer, pero ahora se le vuelve a pedir en lugar de publicarse.
Limpieza
Las traducciones almacenadas se vuelven a comprobar solo cuando su idioma se traduce de nuevo, por lo que se volvieron a traducir todos los idiomas afectados: 61 de ellos en once sitios. Dos líneas volvieron con el mismo error por segunda vez: la rumana «valori植入» y una línea griega con 面向. Escribimos esas dos a mano. El 2 de noviembre, ninguna página publicada nuestra tenía una letra de otro alfabeto.
Dónde vive la regla ahora
Está en translation-checks 1.1.0, gratis en GitHub, junto a una nueva comprobación de que cada número vuelve y sabe que «3 million» es 300万 en japonés. Ejecutadas contra las 568.574 traducciones aceptadas de nuestros sitios, las nuevas comprobaciones no dieron ninguna falsa alarma. Polyglot 1.1.0 también las incluye. La primera vez que nuestras comprobaciones fueron el problema está en una nota anterior.