经过尝试,感觉在手机平板上,还原单词原形上还是早已停更的安卓版GoldenDict Mobile最好。
核心原因:
安卓版GoldenDict Mobile和PC版一样,使用了hunspell拼写检查文件来还原单词原形。这样做的好处:
用户可以像增加辞典文件一样自主增加新的语言支持。DictTango只有中文的繁简通查、英文和日文的还原单词原形。相比之下,GoldenDict Mobile和PC版一样,可以轻松在网上找到的德文或者西班牙文的hunspell文件。
GoldenDict的「还原单词原形」支持同时显示单词的屈折形和原形。比如划词的时候选中“rims”,GoldenDict会同时显示rims和rim的释义。
RIMS
abbr. 远程信息管理系统(Remote Information Management System)
rim
[rɪm] - ★
n. 边,边缘;轮辋;圆圈
而DictTango在发现某本英文词典里面有RIMS这个条目之后,就不会尝试再将其还原原形。
GoldenDict的「还原单词原形」还支持同时显示单词的不同原形。比如说「かって」,有可能就是名词/2形容词(形容动词)的「かって(勝手)」,也有可能是「かう(買う)」「かつ(勝つ)」「かる(狩る)」的て型(「買って」「勝って」「狩って」)。「行って」有可能是「行く(いく)」的て型「行って(いって)」,也有可能是「行う(おこなう)」的て型「行って(おこなって)」。德语则有 fällt,既是fällen又是fallen的陈述式现在时单数第三人称。用GoldenDict搜索,这些都会在同一个页面中显示出来,学习者可以自己辨别究竟那个才是学习者需要的。DictTango对于「かって」只显示「かって(勝手)」的结果,对「行って」只显示「行く(いく)」的结果。
我不懂俄语,但是AI说俄语(GoldenDict的原作者,Konstantin Isakov的母语)也有一个屈折形式对应多个原形的问题:
同时,由于GoldenDict的「还原单词原形」还支持同时显示单词的不同原形,所以哪怕遇到英语“hoped”这样的词,GoldenDict也会同时显示hoped、hop、hope三个词条的释义,而DictTango只会显示hoped(如果有辞典正好有这个词条)或者hop(没有辞典有hoped这个词条)的释义。实际上hoped的原形是hope,hopped的原形才是hop;但是由于DictTango只会寻找一个原形,所以在找到正确的原形之前DictTango就停下了,而GoldenDict列出了所有可能的原形,就把错的和正确的都列出来了。而对划词翻译来说,「良莠不齐」还是比「直接给了个莠的、还要手动输入正确词形」来得方便吧?
苹果的自带辞典,查hoped只有hope,查hopped只有hop。苹果的效果最好,有可能是苹果辞典直接内置了一个个的词形变化的路由,不需要像Hunspell那样通过规则推导。因此可能没有通用性。苹果的自带工具,每个语言可能就那么一两本(比如苹果自带的英英词典就只有牛津的NOAD和ODE);而GoldenDict的用户可能有不止一本辞典。这些辞典可能是维基百科、维基词典,可能是自制的词典,可能是著作权过了期的古代辞典,可能是复制出来的版权词典。为每个辞典整一套词形变化的映射是很累的。有了Hunspell,辞典本典只记录原形就能用了。它允许 GoldenDict 把“词形还原”这一重体力劳动从“每本辞典的内容层面”剥离到了“引擎层面”。
hunspell拼写检查文件还能轻松支持平假名和片假名、半角片假名和全角片假名之间的转换。就拿「これくしょん」来说,这个词一般是写作「コレクション」的,但是舰娘游戏中却写作「これくしょん」。DictTango中搜索「これくしょん」,要么什么都找不到,要么找到「これ」。hunspell就会提出拼写建议:コレクション。在修改了MrCorn0-0的Hunspell拼写文件之后,查询「コレクション」也能轻松找到コレクション。
GoldenDict Mobile安卓版曾经是收费五美元的专有软件。不过,俄乌战争之后,作者也喜提Google制裁,于是现在现在把它放网上免费下载:
注册号也能自动生成了:
问题是安卓版不支持MDict格式辞典,所以我用pyglossary把一部分MDX转换成了StarDict:
能找到毛子的DSL格式的辞典更好,那个往往有彩色排版,比MDX转换成的StarDict效果好。
另外一个问题是许久不更新了,而Google设置从 Android 14 开始,无法安装 targetSdkVersion 低于 23 的应用。
只能说且用且珍惜吧,恐怕以后只能在Waydroid这样的容器而不是ARM真机上运行
GoldenDict Mobile安卓版了。
为什么在GoldenDict中搜索“hoped”,可以同时查到hoped、hop、hope?
en_US.dic中相关词条如下:
hop/SMDRG
hope/SM
hoped st:hope
hoped/U
hopeful/SPY
hopefulness/MS
hopeless/YP
hopelessness/SM
hoper/M
hoping st:hope
hopped
hopped st:hop
hopper/MS
hopping st:hop
hopping/M
1. hope → hoped 的链接(正常路径)
在 en_US.dic 中:
有显式条目 hoped st:hope,强制将 hoped 的词干(stem)指向 hope。
→ 所以搜索 hoped 时,必然链回 hope。
2. hop → hoped 的链接(“陷阱”路径)
在 en_US.dic 中:
词条 hop/SMDRG 带有后缀标志 D。
查看 en_US.aff 中的 SFX D 规则,如下:
SFX D Y 4
SFX D 0 d e #有e就直接加d,例:hope→hoped
SFX D y ied [^aeiou]y #倒数第二个字母非aeiou,最后一个字母是y,则去y加ied,例:rally→rallied
SFX D 0 ed [^ey] #最后一个字母不是e或者y,直接加ed
SFX D 0 ed [aeiou]y #倒数第二个字母aeiou,最后一个字母y,直接加ed,例:sway→swayed
有一条是:
SFX D 0 ed [^ey]
即不以 e 或 y 结尾的词,直接加 ed 构成过去式。
hop以p结尾,符合条件,因此hop+ed=hoped(注意:这里是单 p)。
关键点:英语中
hop的正确过去式本应是双写 p 的hopped,但由于这条词缀规则没有条件判断辅音双写,它机械地生成了hoped(单 p)。为了修正拼写检查,词典才特意添加了显式条目hopped st:hop来覆盖正确形式。
然而,在索引生成阶段,Hunspell 依然会根据规则hop/SMDRG将变体hoped(单 p)纳入索引,并将其词干指向hop。
