1,082 条译文混入了错误字母表的字符。我们的检查全部通过。

语言

10 月 31 日,我们在其中一个网站上发现一句匈牙利语中夹杂着中文词汇。我们检查了所有运营网站中存储的译文,寻找不属于其语言的字母,共发现 1,082 条类似译文,其中 581 条位于已发布页面。它们此前均通过了我们的检查。

我们发现的问题

这些问题均出自翻译我们网站的本地模型,且都是同一种失误:夹杂一两个其他语言的词汇。以下来自存储的译文,以及此后被拒绝的译文:

我们的商店也有 7 行此类译文。其中一行将“planted values”译为罗马尼亚语“valori植入”。

为何检查未能发现

文字系统检查要求译文中至少 45% 的字母属于该语言的文字系统。这能捕获未翻译的英文,也正是其设计初衷。100 个字母的匈牙利语句子中夹杂 2 个中文字符,不会改变比例;单个西里尔字母的影响更小。

短文本采用不同规则。对于少于 25 个英文字母的文本,检查仅确保译文未保留英文。用泰语书写的高棉语表格单元格不含任何英文,因此通过了检查。

捕获此类问题的规则

若某字母属于该语言未使用的文字系统,且英文原文中也不包含该字母,则视为错误。以下三项例外可避免误报:

我们用该规则检查了网站存储的所有内容,它标记出的每一行经我们阅读确认都是错误的。自 10 月 31 日以来,它在翻译生成时拒绝了 1,652 条译文,其中 1,549 条是高棉语:模型仍会为高棉语写出泰文,但现在会被要求重新翻译,而不是直接发布。

清理工作

存储的译文仅在其语言被重新翻译时才会再次检查,因此所有受影响的语言都重新进行了翻译:共 61 种语言,覆盖十一个网站。有两行第二次返回时仍带有相同的错误:罗马尼亚语的“valori植入”和一行包含“面向”的希腊语译文。这两行由我们手动修正。11 月 2 日,我们已发布的页面中不再含有其他书写系统的字符。

规则现在的所在位置

它位于 translation-checks 1.1.0 中,在 GitHub 上免费获取,旁边还有一个新检查项,确保每个数字都能正确返回,并知道日语中的“3 million”是 300万。针对我们网站已接受的 568,574 条译文运行新检查项,未产生误报。Polyglot 1.1.0 也包含了这些检查项。我们的检查项首次成为问题所在的情况见早前的一篇笔记。

已更新: