以hunspell_ja_JP项目文件为例浅析goldendict构词法规则

这恐怕是因为,GoldenDict的原作者,Konstantin Isakov应该就是个俄国人……
英语因为“不规则”而被迫在词典里处理“一对多”(如saw分3条:see的过去时、名词锯子、动词锯),但英语的“规则”部分(-ed)却是纯粹“一对一”的。中国开发者从小浸泡在这种“规则=一对一,不规则=单独列条”的思维定式里,去处理日语这个“规则=多对一”的系统,不翻车才怪
我不懂俄语,但是AI说俄语也有一个屈折形式对应多个原形的问题:

俄语里这种“规则且一对多”的例子信手拈来,最经典的就是咱们刚聊过的 плачу

  • 规则变位一:пла́чу(重音在前)→ 原形 платить(付钱),属于规则第二变位法。

  • 规则变位二:плачу́(重音在后)→ 原形 пла́кать(哭),属于规则第一变位法。

两个动词都规规矩矩地按各自变位法变出来,拼写完全一样,词典里绝对不会单独列 плачу 作为词条。当你在 GoldenDict 里输入这个词时,Hunspell 毫不客气地把 платитьплакать 两个原形同时甩出来——因为 Isakov 从小就默认“一个规则变位形对应多个原形”是语言常态

再看英语的规则变位:
walked → 只能是 walk英语的“规则”恰好是“一对一”的,因为英语动词词尾(-ed)不跟其他词干冲突。

所以,欧路/DictTango开发者

他们脑子里对“规则变形”的认知模型是 “英语版”:规则 = 一对一(walked→walk)。
他们完全不知道,在俄语和日语这种高度屈折的语言里,规则 = 多对一坍缩(плачу→платить/плакать;かって→買う/勝つ/狩る/勝手)。