【词典】Mdict转换为macOS Dictionary

背景

譬如pdawiki的MDict 词库资源区等网站中有大量网友制作并精心排版的mdict词典,也非常容易下载,但是事实上Mac OS自带的词典相当好用……只是词典资源少。
那么言归正传,如何将Mdict格式的词典转换为macOS Dictionary呢?
【注】本文默认读者已经下载好词典文件并且.mdx与.mdd在同一个文件夹中。

参考

Mdict to macOS Dictionary转换笔记
How to Convert Mdict to Mac OS X dictionary

笔者的配置

macOS High Sierra 10.13.4
python 2.7(系统自带)
python 3.6(需要安装)
Xcode 9.3(需要安装)

操作过程

【注】文中终端输入的sudo大部分可以省略。

  1. 从github上克隆pyglossary,打包下载再解压也可。

2.安装Xcode,或者只安装Command Line Tools for Xcode

【注】只安装Command Line Tools for Xcode的方法笔者没有尝试过,新版本的Xcode中包含有Command Line Tools for Xcode。

  1. 下载Dictionary Development Kit。

首先,在苹果的开发者网站用自己(或其它人)的账号免费申请开通成为开发者,
然后在更多下载中找到 Additional Tools for Xcode的最新版本,下载。
【注】迅雷等下载器下载可能会失败,尽量使用safari直接下载。
下载好后装载,应该包含:


在其中的Utilities文件夹中,找到Dictionary Development Kit,复制。
在应用程序文件夹中找到“实用工具”文件夹,在其中创建一个DictionaryDevelopmentKit文件夹(无空格),粘贴。

  1. 安装python-lzo

终端输入:

sudo pip3 install python-lzo

【注】出现问题参考解决方法

  1. 安装BeautifulSoup4

终端输入:

sudo pip3 install lxml beautifulsoup4 html5lib
  1. 【可选】Macport安装——针对音频转换

【注】笔者未进行音频转换操作,详细内容可以参照How to Convert Mdict to Mac OS X dictionar,其中更新macport的操作使用:
sudo port selfupdate,对sources.conf的修改使用
rsync://rsync.macports.org/release/tarballs/ports.tar [default]即可(参考意见)。

  1. 转换

终端中输入:

cd 词典文件夹
#如: cd downloads/mwaled
python pyglossary文件夹路径/pyglossary.pyw --read-options=resPath=OtherResources --write-format=AppleDict 词典缩写.mdx 词典缩写.xml
#如:python Downloads/pyglossary/pyglossary.pyw --read-options=resPath=OtherResources --write-format=AppleDict mwaled.mdx mwaled.xml

【注】如出现ImportError: No module named builtins问题,查看解决方法

等待程序运行结束,使用文本编辑打开makefile,


修改DICT_BUILD_TOOL_DIR为自己的Dictionary Development Kit文件夹路径,并保存。如图中所示为 "/Applications/Utilities/DictionaryDevelopmentKit/Dictionary Development Kit"。
【注】DICT_NAME是生成文件的名字。
【另注】Makefile.plist可以修改词典的参数,详见How to Convert Mdict to Mac OS X dictionar
【另注】可以使用Mdict词典制作者提供的css文件(如果有)代替生成的css文件(参考意见)。
终端中输入:

make && make install
  1. 完成

可以在词典应用的偏好设置中修改词典顺序已经是否显示。制作好的词典可以在词典文件夹中找到。
【注】如果制作前已经打开了词典应用,可能刷不出新制作的词典,重新打开词典应用即可。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 用到的组件 1、通过CocoaPods安装 2、第三方类库安装 3、第三方服务 友盟社会化分享组件 友盟用户反馈 ...
    SunnyLeong阅读 14,946评论 1 180
  • 今天晚上休息晚了,因为听问大家分享感受很深,又看了看好多伙伴的直播,大家分享很棒,感觉自己真的是心里有就是不能...
    正能量哥阅读 1,046评论 0 0
  • 我们已经长大,日子一天天的在过去。 每一天都是会有不一样的事情在等待着我们去面对,不断地会使我们的情绪变得...
    一个人回家阅读 1,898评论 1 0
  • 随着年龄增长,忽然间觉得爱情很无聊。 情歌永远唱的动人又好听。然而对于爱情里受过伤的人而言,爱情有时就像一场无聊的...
    angelacherry秋丽阅读 2,490评论 3 1
  • 自从有了微信以后,QQ空间就很少用了,现在的我们习惯于点赞,而不是评论了。 静谧的夜黑得只剩下手机的光亮,失眠的夜...
    娜小妖儿阅读 3,173评论 0 1