1.082 de traduceri conțineau un cuvânt în alfabetul greșit. Verificările noastre le-au validat pe toate.
Limbi
Pe 31 octombrie, am găsit pe unul dintre site-urile noastre o propoziție în maghiară cu cuvinte chinezești la mijloc. Am căutat în traducerile stocate ale tuturor site-urilor pe care le gestionăm litere care nu aparțin limbii respective și am găsit 1.082 de traduceri de acest tip, 581 dintre ele pe pagini publicate. Toate trecuseră de verificările noastre.
Ce am găsit
Totul a fost scris de modelele locale care traduc site-urile noastre și totul este aceeași eroare: unul sau două cuvinte într-o altă limbă. Din traducerile stocate și din cele respinse de atunci:
- Chineză în alte limbi: „they are” ca 它们是 în mijlocul unei propoziții în thailandeză; cuvântul chinezesc pentru „track”, 跟踪, cu o terminație maghiară („támadók跟踪ására”); cuvinte similare în poloneză și greacă.
- Rusă în greacă, armeană, ebraică și slovenă: „full house” în greacă a ieșit ca „φουλ хаус”, al doilea cuvânt fiind în chirilică.
- Litere care seamănă: un „о” sau un „а” chirilic la sfârșitul unui cuvânt în finlandeză sau cehă. Nimeni care citește pagina nu ar observa; un motor de căutare sau un cititor de ecran ar observa.
- Scrieri vecine: o literă bengaleză într-un cuvânt kannada, devanagari în kannada.
- Rânduri întregi în thailandeză pe pagini khmer: titlurile, etichetele și celulele de tabel de pe paginile khmer a două site-uri erau pur și simplu scrise în thailandeză.
Magazinul nostru avea șapte astfel de rânduri proprii. În unul, „planted values” a ieșit în română ca „valori植入”.
De ce le-au trecut verificările
Verificarea scrierii întreba dacă cel puțin 45% dintre literele unei traduceri erau în scrierea limbii respective. Aceasta prinde engleza lăsată pe loc, ceea ce era scopul pentru care a fost construită. Două litere chinezești într-o propoziție maghiară de o sută de litere nu schimbă proporția, iar o singură literă chirilică o schimbă și mai puțin.
Textul scurt avea o regulă diferită. Sub 25 de litere în engleză, verificarea se asigura doar că răspunsul nu rămăsese în engleză. O celulă de tabel khmer scrisă în thailandeză nu conține deloc engleză, deci a trecut.
Regula care le prinde
O literă care aparține unei scrieri pe care limba nu o folosește și pe care sursa în engleză nu o conține este o greșeală. Trei excepții împiedică regula să dea alarme false:
- Literele latine sunt întotdeauna permise: numele de marcă, codul și unitățile apar în fiecare limbă.
- Chineza, japoneza și coreeana nu sunt verificate, deoarece japoneza amestecă kana și kanji, iar coreeana poate folosi hanja.
- Sârba și punjabi, fiecare scrise în două alfabeturi, sunt verificate doar pentru literele chinezești, japoneze și coreene.
Am rulat regula peste tot ce stocaseră site-urile noastre, și fiecare linie semnalată pe care am citit-o era greșită. De la 31 octombrie a respins 1.652 de traduceri pe măsură ce erau făcute, 1.549 dintre ele fiind în khmeră: modelul nu a încetat să scrie thai pentru khmeră, dar acum este întrebat din nou în loc să fie publicat.
Curățare
Traducerile stocate sunt verificate din nou doar când limba lor este tradusă din nou, deci fiecare limbă afectată a fost tradusă din nou: 61 dintre ele pe unsprezece site-uri. Două linii au revenit cu aceeași greșeală a doua oară: „valori植入” în română și o linie în greacă cu 面向 în ea. Le-am scris pe cele două de mână. Pe 2 noiembrie nicio pagină publicată de-a noastră nu avea o literă din alt alfabet.
Unde se află acum regula
Se află în translation-checks 1.1.0, gratuit pe GitHub, lângă o verificare nouă care asigură că fiecare număr revine și știe că „3 million” este 300万 în japoneză. Rulate pe cele 568.574 de traduceri acceptate ale site-urilor noastre, verificările noi nu au ridicat nicio alarmă falsă. Polyglot 1.1.0 le include și el. Prima dată când verificările noastre au fost problema este într-o notă anterioară.