1 082 превода имаха дума в грешната азбука. Проверките ни ги пропуснаха всички.
Езици
На 31 октомври открихме унгарско изречение на един от сайтовете ни с китайски думи в средата. Потърсихме в съхранените преводи на всеки сайт, който поддържаме, букви, които не принадлежат на съответния език, и намерихме 1 082 превода като този, 581 от тях на публикувани страници. Всеки един беше минал през проверките ни.
Какво открихме
Всичко това беше написано от локалните модели, които превеждат сайтовете ни, и всички са една и съща грешка: една или две думи на друг език. От съхранените преводи и от тези, отхвърлени след това:
- Китайски в други езици: „they are“ като 它们是 в средата на тайландско изречение; китайският превод на „track“, 跟踪, с унгарско окончание („támadók跟踪ására“); подобни думи на полски и гръцки.
- Руски в гръцки, арменски, иврит и словенски: „full house“ на гръцки излезе като „φουλ хаус“, втората дума е на кирилица.
- Букви, подобни на други: кирилска „о“ или „а“ в края на финландска или чешка дума. Никой, който чете страницата, няма да забележи; търсачка или четец на екрана ще го направят.
- Съседни писмености: бенгалска буква в каннадска дума, деванагари в каннадски.
- Цели редове на тайландски на кхмерски страници: заглавия, етикети и клетки на таблици на кхмерските страници на два сайта бяха просто написани на тайландски.
Магазинът ни имаше седем такива реда от собствените си. В един от тях „planted values“ излезе на румънски като „valori植入“.
Защо проверките ги пропуснаха
Проверката на писмеността питаше дали поне 45% от буквите в превода са в писмеността на езика. Това хваща останалия на място английски, за което е създадена. Две китайски букви в унгарско изречение от сто букви не променят дела, а една единствена кирилска буква го променя още по-малко.
Краткият текст имаше различно правило. Под 25 букви на английски проверката само се уверяваше, че отговорът не е останал на английски. Кхмерска клетка на таблица, написана на тайландски, не съдържа изобщо английски, затова мина.
Правилото, което ги хваща
Буква, която принадлежи на писменост, която езикът не използва, и която не се съдържа в английския оригинал, е грешка. Три изключения не позволяват на правилото да бие тревога напразно:
- Латинските букви винаги са разрешени: марките, кодът и мерните единици се срещат във всеки език.
- Китайският, японският и корейският не се проверяват, защото японският смесва кана и канджи, а корейският може да използва ханджа.
- Сръбският и пенджабският, всеки от които се пише с два скрипта, се проверяват само за китайски, японски и корейски букви.
Пуснахме правилото върху всичко, което сайтовете ни бяха съхранили, и всеки ред, който то маркира и който ние прочетохме, беше грешен. От 31 октомври то е отхвърлило 1 652 превода в момента на създаването им, 1 549 от тях на кхмерски: моделът не е спрял да пише тайски за кхмерски, но сега му се задава въпросът отново, вместо да се публикува.
Почистване
Съхранените преводи се проверяват отново само когато езикът им се преведе отново, затова всеки засегнат език беше преведен отново: 61 от тях в единадесет сайта. Два реда се върнаха със същата грешка за втори път: румънският „valori植入“ и един гръцки ред, съдържащ 面向. Написахме тези два реда на ръка. На 2 ноември нито една публикувана страница от нашите нямаше буква от друг скрипт.
Къде живее правилото сега
То е в translation-checks 1.1.0, безплатно в GitHub, до нова проверка, че всяко число се връща и знае, че „3 million“ е 300万 на японски. Пуснати срещу 568 574-те приети превода на нашите сайтове, новите проверки не предизвикаха нито един фалшив сигнал. Polyglot 1.1.0 ги включва също. Първият път, когато нашите проверки бяха проблемът, е в по-ранна бележка.