背景
譬如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
大部分可以省略。
- 从github上克隆pyglossary,打包下载再解压也可。
2.安装Xcode,或者只安装Command Line Tools for Xcode。
【注】只安装Command Line Tools for Xcode的方法笔者没有尝试过,新版本的Xcode中包含有Command Line Tools for Xcode。
- 下载Dictionary Development Kit。
首先,在苹果的开发者网站用自己(或其它人)的账号免费申请开通成为开发者,
然后在更多下载中找到 Additional Tools for Xcode的最新版本,下载。
【注】迅雷等下载器下载可能会失败,尽量使用safari直接下载。
下载好后装载,应该包含:
在其中的Utilities文件夹中,找到Dictionary Development Kit,复制。
在应用程序文件夹中找到“实用工具”文件夹,在其中创建一个DictionaryDevelopmentKit文件夹(无空格),粘贴。
- 安装python-lzo
终端输入:
sudo pip3 install python-lzo
【注】出现问题参考解决方法
- 安装BeautifulSoup4
终端输入:
sudo pip3 install lxml beautifulsoup4 html5lib
- 【可选】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]
即可(参考意见)。
- 转换
终端中输入:
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
- 完成
可以在词典应用的偏好设置中修改词典顺序已经是否显示。制作好的词典可以在词典文件夹中找到。
【注】如果制作前已经打开了词典应用,可能刷不出新制作的词典,重新打开词典应用即可。