1.082 traduzioni contenevano una parola nell'alfabeto sbagliato. I nostri controlli le hanno superate tutte.
Lingue
Il 31 ottobre abbiamo trovato una frase in ungherese su uno dei nostri siti con parole cinesi nel mezzo. Abbiamo cercato nelle traduzioni archiviate di tutti i siti che gestiamo lettere che non appartengono alla loro lingua e ne abbiamo trovate 1.082 come questa, 581 delle quali su pagine pubblicate. Tutte avevano superato i nostri controlli.
Cosa abbiamo trovato
Tutto era stato scritto dai modelli locali che traducono i nostri siti, e tutto è lo stesso errore: una o due parole in un'altra lingua. Dalle traduzioni archiviate, e da quelle rifiutate da allora:
- Cinese dentro altre lingue: "they are" come 它们是 nel mezzo di una frase in thai; il cinese per "track", 跟踪, con una desinenza ungherese ("támadók跟踪ására"); parole simili in polacco e greco.
- Russo dentro greco, armeno, ebraico e sloveno: "full house" in greco è uscito come "φουλ хаус", la seconda parola in cirillico.
- Lettere simili: una "о" o una "а" cirillica alla fine di una parola finlandese o ceca. Nessun lettore della pagina se ne sarebbe accorto; un motore di ricerca o un lettore di schermo sì.
- Scritture vicine: una lettera bengalese dentro una parola kannada, devanagari dentro kannada.
- Interi righi in thai su pagine khmer: titoli, etichette e celle di tabella sulle pagine khmer di due siti erano semplicemente scritte in thai.
Il nostro negozio aveva sette di queste righe sue. In una, "planted values" è uscito in rumeno come "valori植入".
Perché i controlli le hanno superate
Il controllo della scrittura chiedeva se almeno il 45% delle lettere di una traduzione fosse nella scrittura della sua lingua. Questo intercetta l'inglese lasciato al suo posto, che è ciò per cui è stato costruito. Due lettere cinesi in una frase ungherese di cento lettere non cambiano la percentuale, e una singola lettera cirillica la cambia ancora meno.
Il testo breve aveva una regola diversa. Sotto le 25 lettere di inglese, il controllo si assicurava solo che la risposta non fosse rimasta in inglese. Una cella di tabella khmer scritta in thai non contiene affatto inglese, quindi è passata.
La regola che le intercetta
Una lettera che appartiene a una scrittura che la lingua non usa, e che la fonte inglese non contiene, è un errore. Tre eccezioni impediscono alla regola di gridare al lupo:
- Le lettere latine sono sempre ammesse: nomi di marca, codice e unità appaiono in ogni lingua.
- Cinese, giapponese e coreano non vengono controllati, perché il giapponese mescola kana e kanji e il coreano può usare gli hanja.
- Serbo e punjabi, ciascuno scritto in due alfabeti, vengono controllati solo per le lettere cinese, giapponese e coreana.
Abbiamo applicato la regola a tutto ciò che i nostri siti avevano archiviato, e ogni riga segnalata che abbiamo letto era errata. Dal 31 ottobre ha rifiutato 1.652 traduzioni al momento della loro creazione, 1.549 delle quali in khmer: il modello non ha smesso di scrivere thai per il khmer, ma ora viene interrogato di nuovo invece di essere pubblicato.
Pulizia
Le traduzioni archiviate vengono ricontrollate solo quando la loro lingua viene ritradotta, quindi ogni lingua interessata è stata ritradotta: 61 in undici siti. Due righe sono tornate con lo stesso errore una seconda volta: la riga rumena "valori植入" e una riga greca contenente 面向. Abbiamo scritto quelle due a mano. Il 2 novembre nessuna delle nostre pagine pubblicate conteneva una lettera di un altro alfabeto.
Dove vive ora la regola
Si trova in translation-checks 1.1.0, gratuito su GitHub, accanto a un nuovo controllo che verifica che ogni numero ritorni e sappia che "3 million" è 300万 in giapponese. Eseguite contro le 568.574 traduzioni accettate dei nostri siti, i nuovi controlli non hanno generato falsi allarmi. Polyglot 1.1.0 li include anch'esso. Il primo caso in cui i nostri controlli erano il problema è in una nota precedente.