1 082 översättningar hade ett ord i fel alfabet. Våra kontroller godkände samtliga.
Språk
Den 31 oktober hittade vi en ungersk mening på en av våra sidor med kinesiska ord mitt i. Vi sökte igenom de lagrade översättningarna för alla sidor vi driver efter bokstäver som inte hör till språket och hittade 1 082 översättningar som denna, varav 581 på publicerade sidor. Samtliga hade klarat våra kontroller.
Vad vi hittade
Allt detta skrevs av de lokala modellerna som översätter våra sidor, och allt är samma misstag: ett eller två ord på ett annat språk. Från de lagrade översättningarna, och från de som avvisats sedan dess:
- Kinesiska i andra språk: "they are" som 它们是 mitt i en thailändsk mening; det kinesiska ordet för "track", 跟踪, med en ungersk ändelse ("támadók跟踪ására"); liknande ord i polska och grekiska.
- Ryska i grekiska, armeniska, hebreiska och slovenska: "full house" på grekiska blev "φουλ хаус", där det andra ordet var i kyrilliska.
- Se likadana ut: en kyrillisk "о" eller "а" i slutet av ett finskt eller tjeckiskt ord. Ingen som läser sidan skulle märka det; en sökmotor eller en skärmläsare skulle det.
- Närliggande skriftspråk: en bengalisk bokstav i ett kannada-ord, devanagari i kannada.
- Hela rader på thailändska på khmer-sidor: titlar, etiketter och tabellceller på två sidors khmer-sidor var helt enkelt skrivna på thailändska.
Vår butik hade sju sådana rader av eget slag. I en av dem blev "planted values" på rumänska "valori植入".
Varför kontrollerna godkände dem
Skriftkontrollen frågade om minst 45 % av en översättnings bokstäver fanns i språkets skriftsystem. Det fångar engelska som lämnats kvar, vilket var syftet. Två kinesiska bokstäver i en ungersk mening på hundra bokstäver ändrar inte andelen, och en enda kyrillisk bokstav ändrar den ännu mindre.
Kort text hade en annan regel. Under 25 bokstäver på engelska kontrollerade vi bara att svaret inte hade stannat på engelska. En khmer-tabellcell skriven på thailändska innehåller ingen engelska alls, så den godkändes.
Regeln som fångar dem
En bokstav som tillhör ett skriftsystem som språket inte använder, och som inte finns i den engelska källan, är ett misstag. Tre undantag gör att regeln inte larmar i onödan:
- Latinska bokstäver tillåts alltid: varumärken, kod och enheter förekommer i alla språk.
- Kinesiska, japanska och koreanska kontrolleras inte, eftersom japanska blandar kana och kanji och koreanska kan använda hanja.
- Serbiska och punjabi, som vardera skrivs med två skriftsystem, kontrolleras endast efter kinesiska, japanska och koreanska tecken.
Vi lät regeln gå igenom allt som våra webbplatser hade lagrat, och varje rad den flaggade som vi läste var felaktig. Sedan den 31 oktober har den avvisat 1 652 översättningar när de gjordes, varav 1 549 var khmer: modellen har inte slutat skriva thai för khmer, men nu ombeds den igen istället för att publiceras.
Städning
Lagrade översättningar kontrolleras igen endast när språket översätts igen, så varje berört språk översattes igen: 61 av dem över elva webbplatser. Två rader kom tillbaka med samma fel en andra gång: den rumänska "valori植入" och en grekisk rad med 面向 i sig. Vi skrev de två raderna för hand. Den 2 november hade ingen publicerad sida hos oss ett tecken från ett annat skriftsystem.
Var regeln finns nu
Den finns i translation-checks 1.1.0, gratis på GitHub, bredvid en ny kontroll som ser till att varje nummer kommer tillbaka och vet att "3 million" är 300万 på japanska. Körd mot våra webbplatser 568 574 godkända översättningar gav de nya kontrollerna inga falsklarm. Polyglot 1.1.0 levereras också med dem. Den första gången våra kontroller var problemet finns i en tidigare anteckning.