1.082 traduções tinham uma palavra no alfabeto errado. Nossas verificações passaram todas.
Idiomas
Em 31 de outubro, encontramos uma frase em húngaro em um de nossos sites com palavras em chinês no meio dela. Buscamos nas traduções armazenadas de todos os sites que mantemos por letras que não pertencem ao seu idioma e encontramos 1.082 traduções assim, 581 delas em páginas publicadas. Todas haviam passado em nossas verificações.
O que encontramos
Tudo foi escrito pelos modelos locais que traduzem nossos sites, e tudo é o mesmo deslize: uma ou duas palavras em outro idioma. Das traduções armazenadas, e das recusadas desde então:
- Chinês dentro de outros idiomas: "they are" como 它们是 no meio de uma frase em tailandês; o chinês para "track", 跟踪, com uma terminação húngara ("támadók跟踪ására"); palavras semelhantes em polonês e grego.
- Russo dentro de grego, armênio, hebraico e esloveno: "full house" em grego saiu como "φουλ хаус", a segunda palavra em cirílico.
- Letras parecidas: um "о" ou "а" cirílico no final de uma palavra finlandesa ou tcheca. Ninguém lendo a página notaria; um mecanismo de busca ou um leitor de tela notaria.
- Escritas vizinhas: uma letra bengali dentro de uma palavra kannada, devanágari dentro de kannada.
- Linhas inteiras em tailandês em páginas em khmer: títulos, rótulos e células de tabela nas páginas em khmer de dois sites foram simplesmente escritos em tailandês.
Nossa loja tinha sete dessas linhas próprias. Em uma, "planted values" saiu em romeno como "valori植入".
Por que as verificações passaram
A verificação de escrita perguntava se pelo menos 45% das letras de uma tradução estavam na escrita do seu idioma. Isso pega o inglês deixado no lugar, que é para o que foi construído. Duas letras chinesas em uma frase húngara de cem letras não mudam a proporção, e uma única letra cirílica muda ainda menos.
Texto curto tinha uma regra diferente. Abaixo de 25 letras de inglês, a verificação apenas garantia que a resposta não tivesse permanecido em inglês. Uma célula de tabela em khmer escrita em tailandês não contém nada de inglês, então passou.
A regra que os pega
Uma letra que pertence a uma escrita que o idioma não usa, e que a fonte em inglês não contém, é um erro. Três exceções impedem que a regra crie alarmes falsos:
- Letras latinas são sempre permitidas: nomes de marcas, código e unidades aparecem em todos os idiomas.
- Chinês, japonês e coreano não são verificados, porque o japonês mistura kana e kanji e o coreano pode usar hanja.
- Sérvio e punjabe, cada um escrito em dois alfabetos, são verificados apenas quanto a letras chinesas, japonesas e coreanas.
Aplicamos a regra a tudo o que nossos sites armazenavam, e cada linha que ela sinalizou e que lemos estava errada. Desde 31 de outubro, ela recusou 1.652 traduções no momento em que foram feitas, 1.549 delas em khmer: o modelo não parou de escrever tailandês para khmer, mas agora é solicitado novamente em vez de publicado.
Limpeza
As traduções armazenadas são verificadas novamente apenas quando seu idioma é traduzido novamente, por isso todos os idiomas afetados foram traduzidos novamente: 61 deles em onze sites. Duas linhas voltaram com o mesmo erro uma segunda vez: a linha romena "valori植入" e uma linha grega com 面向 nela. Escrevemos essas duas manualmente. Em 2 de novembro, nenhuma página publicada nossa tinha uma letra de outro alfabeto.
Onde a regra está agora
Ela está em translation-checks 1.1.0, gratuita no GitHub, ao lado de uma nova verificação que garante que cada número retorne e saiba que "3 million" é 300万 em japonês. Executada contra as 568.574 traduções aceitas de nossos sites, as novas verificações não geraram nenhum falso alarme. Polyglot 1.1.0 também as inclui. A primeira vez que nossas verificações foram o problema está em uma nota anterior.