请问Merriam-Webster s Dictionary这个mdx怎么修啊

如题,这本应该是tg群大佬sss修改的Merriam-Webster s Dictionary,但是查insight词条会出现sight词条,本论坛dicttango和欧路会出现这种问题,但是golden不会,导出txt后并没有看到
insight
@@@LINK=sight
不知道有没有大佬出手修一修!
词典在此

hi,这是我用百度网盘分享的内容~复制这段内容打开「百度网盘」APP即可获取
链接:https://pan.baidu.com/s/109DeBhMwxkoN5WDWGedyBA?pwd=1a1m
提取码:1a1m

你应该在 dict.txt 内排查词条 in sight

你肯定没有搞清楚insight和in sight
in sight才会跳转到sight

in sight
@@@LINK=sight
</>

in sight 是词条 sight 内短语,不建议直接重定向。

楼主提到的两款软件,对词头空格的处理极不合理。

原来是因为空格导致查insight查到了in sight了,看来golden还是好啊

可以参考一下MDX作者R大的说明,如果你不想查insight搜索到in siight,生成词典时不用勾选StripKey

1 Like

感谢指点,确实可以

DictTango和欧路的表现是正常的,这里只是看起来不合理,是因为词典制作的时候设置了stripkey,并且把in sight排在了insight前面,而这个in sight又指定跳转到的了sight,就出现了这样的结果。

2 Likes

个人觉得,应该区别对待空格,Python 的 string.punctuation 也不包含空格。当一本词典有词条 insight 和 in sight 时,查 insight,结果靠前的是 in sight,不合理。

只要设置了stripkey,官方的词典制作工具mdxbuilder,和mdict-utils都会对空格进行处理。

https://github.com/liuyug/mdict-utils/blob/master/mdict_utils/writer.py#L154

pattern = '[%s ]+' % string.punctuation
regex_strip = re.compile(pattern)

>>> pattern
'[!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~ ]+'

我认为这是 stripkey 没做好的地方。词典软件也许能对之进行修正。下半年我会开始写自用的词典软件。

1 Like

制作词典前,把文本文件里的in sight移动到insight后面就好了,这样显示的时候insight就在in sight前面,或者直接把所有跳转移动到文本最末尾,也可以达到类似效果。