Update:
1. 关于跳转超链:超大量交叉跳转是macmillan词典的一大特色,释义、例句、短语中无处不在,我本想对跳转超链加下划线区分的,发现加上后全是下划线……不好看,而且我ebdic即使源词典没设超链也能随意跳转,所以就没加,缺点是不好区分哪些是超链可以点~
2. RelatedWords框内的内容是可以滚动显示的,虽然有的词典内不无法显示滚动条
3. 更新了css,主要是隐藏了thes词条中show me more 和 show me less 文字,全部内容直接显示、relatedwords 样式修改、删除释义重复序号(感谢Android大佬)等微调。
4. 更新了下mdx文件——
整合了由一奇葩bug引发的6个词条没整合到一起的错误;
修正了2个单词释义重复显示问题(可能仍有纰漏);
删除了buzzWord中的28个特殊广告标记;
同时提供了大小写是否敏感两个mdx版本。
这部词典现在的策略是精准匹配,因此只要与词条有一丁点不匹配就查询不到(包括大小写不同)……这肯定会给实际使用带来一些问题。
解决的方案比较理想的是引入模糊匹配策略。但这个模糊匹配按理是应该由词典软件来统一提供的,而不是由每个mdx文件来处理(mdx当前的机制也不太适合处理)。
我理解的模糊匹配有两块内容:
一、模糊处理由用户主导,方式主要是引入通配符或更厉害的正则,这块实现相对简单些,我手机端ebdic是支持的,比如ebdic中输入 in*fact就可以在本mdx文件中匹配到对应的词条啦~
二、模糊处理由词典软件主导,方式主要是根据关键词相似度及其他逻辑知识对输入的查询词进行模糊处理,实现智能纠错&智能推荐,比如输入teech自动按teach查,这个由于推荐的结果不一定就是用户真正想要的,基本上都只是在输查询词时在下方给出一些提示或建议。
最后,如果只从mdx文件着手,由于你提到的这些短语属于3大类:有/或()或仅在单词的释义中出现,比较原始的处理策略就是拆分增加词条,比如针对here you are/go,新增here you are和here you go两个词条就行了,计算机处理的话主要是字符串处理(正则匹配等),不难但复杂组合下也还是有一定的工作量,由于本人目前对这方面需求并不是很强,也需后续空闲时会更新一下
补充说明一些东西:
1. 关于跳转超链:超大量交叉跳转是macmillan词典的一大特色,释义、例句、短语中无处不在,我本想对跳转超链加下划线区分的,发现加上后全是下划线……不好看,而且我ebdic即使源词典没设超链也能随意跳转,所以就没加,缺点是不好区分哪些是超链可以点~
2. 更新了css,主要是隐藏了thes词条中show me more 和 show me less 文字,全部内容直接显示。
3. RelatedWords框内的内容是可以滚动显示的,虽然有的词典内不无法显示滚动条
4. 更新了下mdx文件,删除了大佬指出的cuckoo重复释义, 同时直接把Related Words 那个框上面的Other entries for this word那个链接删掉了(本来想css隐藏的,但觉得对自己没用~)