关于还原单词原形的问题——我感觉还是安卓版GoldenDict Mobile最好

经过尝试,感觉在手机平板上,还原单词原形上还是早已停更的安卓版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也会同时显示hopedhophope三个词条的释义,而DictTango只会显示hoped(如果有辞典正好有这个词条)或者hop(没有辞典有hoped这个词条)的释义。实际上hoped的原形是hopehopped的原形才是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. hopehoped 的链接(正常路径)

en_US.dic 中:
有显式条目 hoped st:hope,强制将 hoped 的词干(stem)指向 hope
→ 所以搜索 hoped 时,必然链回 hope


2. hophoped 的链接(“陷阱”路径)

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]
不以 ey 结尾的词,直接加 ed 构成过去式。

  • hopp 结尾,符合条件,因此 hop + ed = hoped(注意:这里是单 p)。

关键点:英语中 hop 的正确过去式本应是双写 p 的 hopped,但由于这条词缀规则没有条件判断辅音双写,它机械地生成了 hoped(单 p)。为了修正拼写检查,词典才特意添加了显式条目 hopped st:hop 来覆盖正确形式。
然而,在索引生成阶段,Hunspell 依然会根据规则 hop/SMDRG 将变体 hoped(单 p)纳入索引,并将其词干指向 hop

感谢指路,一直苦于没有激活码,原来下架是因为战争的问题,因为战争将词典应用下架,这种制裁有点…

英、日、德、西班牙语Hunspell文件
DSL格式的MacMillan英语词典
BGL格式的新牛津英汉词典
GoldenDict Android用词典 链接:https://pan.baidu.com/s/16zxdX0lOVwSEz_k5UToCnA?pwd=1234 提取码:1234 复制这段内容后打开百度网盘手机App,操作更方便哦
DSL、BGL往往自带一些简单颜色的排版,比用pyglossary把MDX转换成StarDict那个全素排版好看点。

简明英汉必应版,GoldenDict Mobile安卓版选择下载StarDict的版本

https://zhuanlan.zhihu.com/p/31493883

中文词典就直接用DictTango查MDX好了,中文不涉及词形变化,而且DictTango自带繁简通查。