5月11日这一天,Lexi 的划词翻译连着修了六处。六个提交标题挨在一起,从上往下读,像是同一个毛病在换着法子修。

5月11日

先是等选区稳定了再翻,接着是同时到的请求要去重,然后是过期的翻译要能取消,选区卡片同一时间只留一张,一个文档里的翻译要加锁,最后是等 selectionchange 稳定了再触发。前四个在不到四十分钟里挨着来,加锁的那个隔了一个多小时,最后一个又隔了将近两个小时。中间夹着一个只是让预期内的回退别再报错的,当天更早还有一个标题里只写了 Twitter 的,这两个我都没算进这六个。

我觉得这六个问的是同一件事,什么时候不该动手。选区没停稳就别翻,已经在翻就别再翻。五月之后我翻到的,也有不少是这一类:加一条规则,让它在某些时候别动。

8月12日

后来的规则开始管用户这个人了。

这天悬浮提示变成了一张可以点的卡片,上面多了一个「认识了」。点一下,这个词归档,页面上当场还原成中文,也从自动替换的池子和复习队列里退出去。以后你自己再划一次它,它才会回来。

同一个提交里还有曝光衰减:一个词前4次出现不受限,从第5次起,每多出现一次,冷却时间多加12小时,最多7天。提交说明里说,这样页面上被替换的词会越来越少。一个多小时后,另一个提交把它放松了:前6次不受限,上限从7天改成3天。为什么放松,提交里没写。

产品文档里的反面清单写得很干脆:不做连续打卡、积分、彩带那一套,也不制造学习焦虑。我觉得认识了这个按钮是照这个来的,词学会了,就从页面上退出去。

9月3日

仓库里有份竞品记录,9月3日写的。里面说,同类的一个插件,早期版本有一块逐句阅读的面板,后来的版本里删掉了,记录里还列了两个 PR 号做证据。记录里的说法是,竞品试过并放弃了这个形态,算不上 Lexi 漏掉的空缺。另外还有两条理由:按篇计费太贵,视线也离开了正文,和产品文档里「留在阅读流里」那一条对不上。所以没做。

值得拿的是另一样:按熟练程度决定解释讲多深。Lexi 已经有一个9级的设置,只是眼下只管到词汇替换。同一份记录还把配置项列成了当前的瓶颈,每个设置后面写了要收到什么程度。

9月中旬

隔了三个半小时有两个提交,管的也都是别乱动。

一个是「验证」。单独一个「验证」,可以是动词,也可以是名词,换成英文就是 validate 或者 validation,语法角色差了一截。原来每个匹配到的句子都用同一条短记录去换,账号安全页面上就冒出了半中半英、读不通的句子。现在这类通用词,得带着一个至少4个汉字的短语才允许改页面,比如「验证您的身份」换成 validate your identity。短的通用词还留在本地的学习和复习记录里,只是不再动页面上的字,短的技术词不受影响。

这类通用词是8月12日才开始让 AI 去提取的,一个月后多了这条限制,我觉得多半有关系,提交里没直说。

另一个是语言。以前保存的页面规则按网址、站点或正则匹配,一条为英文文档存的规则,会连带匹配到同一个站点的中文页面,然后开始整页翻译,双击修饰键的快捷键也一样,悄悄就翻了。现在先判断这一页的语言:只取正文栏采样,每块至少120个字,英文的站点导航就没法替一篇中文文章说话了;目标语言要占到采样文字的60%、置信度到0.7,才会停手。侧边栏会写明读到了什么语言,不再只是一句跳过。混合语言的页面,已经是目标语言的块,在交给任何翻译服务之前就丢掉,页面里的中文引文原样留着。

距离那份竞品记录两周,提交里出现了双语的句子对齐:鼠标放在一边,另一边对应的那句跟着亮。接入路线的文档把它归在页面翻译的双语高亮底下,要的只是看得见对应关系,和没做的那块逐句面板不是一回事。