# \[跨平台 Mac/Win/Linux\] 词典APP Medict （开发者预览版）讨论

**URL:** <https://forum.freemdict.com/t/topic/6985>\
**Category:** 软件经验交流展望\
**Tags:** 词典软件制作, mdx工具\
**Created:** [2021 年6 月 26 日 15:05 UTC](https://forum.freemdict.com/t/topic/6985 "2021-06-26T15:05:40Z")\
**Posts on this page:** 20\
**Page:** 10

<div class="post-metadata">

作者： ![hahaya](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/h/77aa72/32.png) [@hahaya](https://forum.freemdict.com/u/hahaya)\
发布日期： [2021 年8 月 10 日 03:22 UTC](https://forum.freemdict.com/t/topic/6985/183 "2021-08-10T03:22:42Z")

</div>

请问目前是否支持批量添加词典？

---

<div class="post-metadata">

作者： ![terasum](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/terasum/32/18724_2.png) [@terasum](https://forum.freemdict.com/u/terasum)\
发布日期： [2021 年8 月 10 日 03:34 UTC](https://forum.freemdict.com/t/topic/6985/184 "2021-08-10T03:34:24Z")

</div>

目前只能一个一个词典添加

---

<div class="post-metadata">

作者： ![青稚Quentin](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/%E9%9D%92%E7%A8%9Aquentin/32/14413_2.png) [@青稚Quentin](https://forum.freemdict.com/u/%E9%9D%92%E7%A8%9AQuentin)\
发布日期： [2021 年8 月 10 日 09:00 UTC](https://forum.freemdict.com/t/topic/6985/185 "2021-08-10T09:00:27Z")

</div>

嵌入到网页中，我也不太清楚；  
我使用的时候 ，点击了 箭头 ，悬浮在词典内无法即使选中 甚至选中盒子内的元素，会直接选中盒子  
如果能将某个单词 直接保存成html 文件 ，这个功能其实可以不做的。 导出放到专门的IDE内修改 然后运行Chrome就可以看见效果

---

<div class="post-metadata">

作者： ![青稚Quentin](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/%E9%9D%92%E7%A8%9Aquentin/32/14413_2.png) [@青稚Quentin](https://forum.freemdict.com/u/%E9%9D%92%E7%A8%9AQuentin)\
发布日期： [2021 年8 月 10 日 09:03 UTC](https://forum.freemdict.com/t/topic/6985/186 "2021-08-10T09:03:10Z")

</div>

目前导出html怎么导出，没找到？ 还没实现这个功能吗？

---

<div class="post-metadata">

作者： ![terasum](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/terasum/32/18724_2.png) [@terasum](https://forum.freemdict.com/u/terasum)\
发布日期： [2021 年8 月 10 日 09:13 UTC](https://forum.freemdict.com/t/topic/6985/187 "2021-08-10T09:13:22Z")

</div>

@青稚Quentin 他有两个开发工具按钮，在查词主界面的那个 “虫子” 图标是用来调试查出来的词条内容的，在设置界面是用来调试APP的，我理解你的需求是想用 “虫子” 图标的那个调试工具，你说的选中的功能支持的，我就是这么用的。

---

<div class="post-metadata">

作者： ![terasum](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/terasum/32/18724_2.png) [@terasum](https://forum.freemdict.com/u/terasum)\
发布日期： [2021 年8 月 10 日 09:14 UTC](https://forum.freemdict.com/t/topic/6985/188 "2021-08-10T09:14:10Z")

</div>

> [@terasum](#):
>
> 导出为HTML可以是可以的

@青稚Quentin 现在还不支持，目前还没有办法把图片和样式完整导出

---

<div class="post-metadata">

作者： ![endnote](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/e/9de0a6/32.png) [@endnote](https://forum.freemdict.com/u/endnote)\
发布日期： [2021 年8 月 11 日 04:49 UTC](https://forum.freemdict.com/t/topic/6985/189 "2021-08-11T04:49:50Z")

</div>

运行v2.0.3，怎么出现不了设置等图标？

 ![image](https://forumcdn.freemdict.com/uploads/default/original/2X/b/bafa6b4e8fe2dcfb2239efbe5cdc963a77b3bf98.png)

win10系统

---

<div class="post-metadata">

作者： ![terasum](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/terasum/32/18724_2.png) [@terasum](https://forum.freemdict.com/u/terasum)\
发布日期： [2021 年8 月 11 日 05:03 UTC](https://forum.freemdict.com/t/topic/6985/190 "2021-08-11T05:03:39Z")

</div>

初始宽度设置小了，拉伸一下窗口就出来了，这个今天我修复一下

---

<div class="post-metadata">

作者： ![endnote](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/e/9de0a6/32.png) [@endnote](https://forum.freemdict.com/u/endnote)\
发布日期： [2021 年8 月 11 日 05:10 UTC](https://forum.freemdict.com/t/topic/6985/191 "2021-08-11T05:10:49Z")

</div>

> [@terasum](#):
>
> 拉伸一下窗口就出来了

原来如此。

另外，建议翻译API增加 [Google 翻译](https://translate.google.cn/)  
这个没有被墙，挺好用的。

---

<div class="post-metadata">

作者： ![endnote](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/e/9de0a6/32.png) [@endnote](https://forum.freemdict.com/u/endnote)\
发布日期： [2021 年8 月 11 日 09:22 UTC](https://forum.freemdict.com/t/topic/6985/192 "2021-08-11T09:22:48Z")

</div>

查询有些MDX还有问题：

> [@现代汉语词典第7版-2022.02.02 及由startle美化修改的版本](https://forum.freemdict.com/t/topic/4445/):
>
> 之前想找志愿志一起和我校正现汉7的内容来着，但是我看大家兴趣都不大，只有一个人私信我，但是我怕到时候格式问题还得重新改，索性最后还是自己做了。做这个东西主要原因还是因为自己不喜欢图片词典，喜欢文字版的。 Bug记录： 2020.12.26 【已解决】不带西文词条和异体字，应该是69992个词条，目前有些问题。 现在还是比较需要大家再注意一下词典内的文本错误，因为数据过多，难免有错误的地方，如…

只能查到“干” 前三个义项？

---

<div class="post-metadata">

作者： ![terasum](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/terasum/32/18724_2.png) [@terasum](https://forum.freemdict.com/u/terasum)\
发布日期： [2021 年8 月 11 日 09:51 UTC](https://forum.freemdict.com/t/topic/6985/193 "2021-08-11T09:51:11Z")

</div>

v2.0.4

> **[Releases · terasum/medict](https://github.com/terasum/medict/releases)**
>
> medict a cross platform dictionary application,support mdict (\*.mdx/\*.mdd) dictionary format - terasum/medict

1. 修复了 windows UI 的问题
2. 优化了翻译、插件界面的UI

---

<div class="post-metadata">

作者： ![terasum](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/terasum/32/18724_2.png) [@terasum](https://forum.freemdict.com/u/terasum)\
发布日期： [2021 年8 月 11 日 09:51 UTC](https://forum.freemdict.com/t/topic/6985/194 "2021-08-11T09:51:26Z")

</div>

好的，这个我跟进一下

---

<div class="post-metadata">

作者： ![青稚Quentin](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/%E9%9D%92%E7%A8%9Aquentin/32/14413_2.png) [@青稚Quentin](https://forum.freemdict.com/u/%E9%9D%92%E7%A8%9AQuentin)\
发布日期： [2021 年8 月 11 日 10:49 UTC](https://forum.freemdict.com/t/topic/6985/195 "2021-08-11T10:49:27Z")

</div>

刚刚2.0.3版本无法添加词典， 我卸载后更换了2.0.4版本依旧有这个问题  
词典名称、词典别名、mdx、mdd文件添加成功后，点击【添加】 没有任何反应，也无法做出任何操作。退出后重新操作依旧是此问题。

系统：macOS Big Sur 11.5  
版本：2.0.4

 ![CleanShot 2021-08-11 at 18.24.49@2x](https://forumcdn.freemdict.com/uploads/default/original/2X/3/36c11fe2fa613a954d3ebca3bc9cb0bc94279150.png)

---

<div class="post-metadata">

作者： ![青稚Quentin](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/%E9%9D%92%E7%A8%9Aquentin/32/14413_2.png) [@青稚Quentin](https://forum.freemdict.com/u/%E9%9D%92%E7%A8%9AQuentin)\
发布日期： [2021 年8 月 11 日 10:51 UTC](https://forum.freemdict.com/t/topic/6985/196 "2021-08-11T10:51:09Z")

</div>

词典别名输入过 “ Oxford Learner’s Thesaurus ” ，后又重新操作输入中文 依旧是此问题

---

<div class="post-metadata">

作者： ![abs](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/a/c2a13f/32.png) [@abs](https://forum.freemdict.com/u/abs)\
发布日期： [2021 年8 月 11 日 11:54 UTC](https://forum.freemdict.com/t/topic/6985/197 "2021-08-11T11:54:31Z")

</div>

![123](https://forumcdn.freemdict.com/uploads/default/original/2X/f/f3a4f90ebdb72281e09d845367682476e1768853.png)

作者你好，想提个小建议，不知道上图里左边相同的词头，能不能合并一下再显示？词典在下面的链接里。

> [@求好用的同义词词典（最好是双语）](https://forum.freemdict.com/t/topic/7633/4):
>
> 可以可以，就是我想不起来这是谁发的了，也许不是这个站，如果哪位大神看到见谅或者可以告知我 这个版本支持英文全文索引（比纸质版更方便）且配了译文，这样也方便全文检索汉语，如果你没看过纸质原版的介绍，要留意下，牛津OLT每条同义词组的内部顺序是按照使用频率降序的，增加了实用性 另外哪位大佬路过发现更好的同义词词典欢迎推荐，我目前觉得朗文LLA 和 牛津这个OLT不错; 至于TFD的online有点…

---

<div class="post-metadata">

作者： ![terasum](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/terasum/32/18724_2.png) [@terasum](https://forum.freemdict.com/u/terasum)\
发布日期： [2021 年8 月 11 日 12:13 UTC](https://forum.freemdict.com/t/topic/6985/198 "2021-08-11T12:13:05Z")

</div>

你这个问题是这样的，别名只能是英文字符，而且不能超过12个字符我记得，主要是为了防止在下拉框显示的时候出问题，你可以先试试，我后面的版本会放开限制

---

<div class="post-metadata">

作者： ![terasum](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/terasum/32/18724_2.png) [@terasum](https://forum.freemdict.com/u/terasum)\
发布日期： [2021 年8 月 11 日 12:13 UTC](https://forum.freemdict.com/t/topic/6985/199 "2021-08-11T12:13:39Z")

</div>

这个可能不好弄，因为相同词条有的词典意思不同的

---

<div class="post-metadata">

作者： ![abs](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/a/c2a13f/32.png) [@abs](https://forum.freemdict.com/u/abs)\
发布日期： [2021 年8 月 11 日 12:19 UTC](https://forum.freemdict.com/t/topic/6985/200 "2021-08-11T12:19:14Z")

</div>

还有就是现在相同的词条，内容是有重复的。

take1显示 take1，take2，take3 的解释。  
take2显示 take2，take3 的解释。  
take3显示 take3 的解释。  
take4显示 take4，take5，take6，take7，take8，take9 的解释。  
take5显示 take5，take6，take7，take8，take9 的解释。  
…

---

<div class="post-metadata">

作者： ![terasum](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/terasum/32/18724_2.png) [@terasum](https://forum.freemdict.com/u/terasum)\
发布日期： [2021 年8 月 11 日 14:23 UTC](https://forum.freemdict.com/t/topic/6985/201 "2021-08-11T14:23:07Z")

</div>

我测试了一下你的输入，我这边是可以添加的：

 ![image](https://forumcdn.freemdict.com/uploads/default/original/2X/2/25b9e74bfc8b6826d801f3f9a11936e35e62f090.png)

---

<div class="post-metadata">

作者： ![terasum](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/terasum/32/18724_2.png) [@terasum](https://forum.freemdict.com/u/terasum)\
发布日期： [2021 年8 月 11 日 14:37 UTC](https://forum.freemdict.com/t/topic/6985/202 "2021-08-11T14:37:56Z")

</div>

鉴于目前遇到了好多种词典在特定词条可能出现查询不到的情况，我需要解释一下Medict现在的查词逻辑：

首先先解析 mdx 文件中的 `keyBlockInfo`, 这个结构是由 `[startKey,endKey]` 组成的，如果当前所查询的词条为在特定的 `keyBlockInfo` 范围中，也就是 `startKey<=key<=endKey` 时，再读取这个`keyBlockInfo`对应的 `recordBlockInfo`, 在该 `recordBlockInfo` 中有 `[startKey->endKey]` 的所有词条，然后遍历这些词条得到最后的结果。

在上面的过程当中，有几个问题：

1. `[startKey, endKey]` 是大小写敏感的，实际测试时，存在大写词条和小写词条即使首字母相同，也不一定在同一个`keyBlockInfo`中的情况
2. 在词典词条比较时，会将词条进行 Strip 操作这个会把特殊符号去除，最后再进行比较，这个操作实测会把一些词条修改为词典中不存在的词条
3. 词条解释终结符问题，因为词条设计的时候没有定义词条长度，是使用终结符来表示当前词条定义的结束位置的，一般情况下是正确截断的，但是如果词典终结符有问题，就有可能把后面词条的解释合并到当前词条解释中

* * *

Medict 是不需要建立索引的，采用的是mdx格式设计的索引方式查词，效率目前看还行，就是由于排序方式和比较方式的问题，导致有些场景词会查不出来，当然也存在无法大小写模糊查询的问题。

想请问大家，如果Medict改成和 gd 一样先建立词条索引是否能够接受呢？这样就会有一个建立索引的过程，可能在首次启动的时候，或是添加词典之后需要花点时间建立索引才能使用

[上一页](https://forum.freemdict.com/t/topic/6985.md?page=9)

[下一页](https://forum.freemdict.com/t/topic/6985.md?page=11)
