Edu-Dict + English Learning Materials: Mdict词库:免费下载mdx/mdd/css文件资源,支持欧路,深蓝,goldendict电子词典

https://mdict.org
https://github.com/xiaolai/apple-computer-literacy/blob/main/Install-Mdict-Dictionaries-to-macOS-Dictionary.md

https://downloads-direct.freemdict.com/Language_Learning_Videos/英语/
https://downloads.freemdict.com
https://mdx.mdict.org

Mdict词库:免费下载mdx/mdd/css文件资源,支持欧路,深蓝,goldendict电子词典
Mdict 词典转换

  1. Mdict 格式词典下载

freemdict.com 和 mdict.org上有很多 Mdict 格式的词典文件。Mdict 的词典文件,通常由一个 .mdx 文件和一个 .mdd 文件构成,声音和图片都打包在 .mdd 文件之中。需要同时下载两个文件,放到同一个目录中进行处理。

推荐

Cambridge Advanced Learner's Dictionary 4ed
Merriam-Webster's Collegiate Dictionary 11ed (Pic&Sound)
Longman Dictionary of Contemporary English 6ed
Longman Language Activator
Collins CoBuild Advanced Learner's Dictionary
American Heritage Dictionary 5ed
Oxford Collocation Dictionary
事实上,前两个就已经足够了(都是有声词典)……

  1. 所需工具与环境

Python (python 3.11.5 specified)

conda create -n mdict python=3.11.5
conda activate mdict
pip install pyglossary lxml beautifulsoup4 html5lib

install Homebrew; if brew already installed, skip this section.

/bin/bash -c "\((curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" echo 'export PATH="/usr/local/bin:\)PATH"' >> ~/.zshrc
source ~/.zshrc

speex for converting spx to wav

brew install speex

ffmpeg for converting wav to mp3

brew install ffmpeg
另外,还需要下载 Dictionary Development Kit

下载地址:Additional Tools for Xcode

下载与操作系统中安装的 xcode 匹配的 “Additional Tools for Xcode”

check out xcode version

xcodebuild -version
将其中 Utilities 下的 Dictionary Development Kit 目录整体拷贝粘贴到本机 /Applications/Utilities 下

用以下代码替换 /Applications/Utilities/Dictionary Development Kit/bin/build_dict.sh 的第 221 行:

rsync -a "\(OTHER_RSRC_DIR"/ "\)OBJECTS_DIR"/dict.dictionary/"$CONTENTS_DATA_PATH" || error "Error."
3. 转换 mdx

pyglossary 使用方法如下:

pyglossary --write-format=AppleDict <mdx_file> <output_dir>
以 Merriam-Webster's_Collegiate_Dictionary_11th(Pic&Sound).mdx 为例:

pyglossary --write-format=AppleDict Merriam-Webster's_Collegiate_Dictionary_11th(Pic&Sound).mdx "Merriam-Webster's Collegiate Dictionary"
4. spx 文件的转换

如果 OtherResources 目录里的声音文件原本就是 .mp3 就可以跳过这一步。但,如果是 .spx 的话,就需要将 .spx 文件转换为 .mp3 文件:

long time needed, possibly up to an hour or more...

for file in *.spx; do
# Decode the SPX to WAV
speexdec "\(file" "\){file%.spx}.wav"
# Encode the WAV to MP3
ffmpeg -i "\({file%.spx}.wav" -f mp3 "\){file%.spx}.mp3"
# Optionally remove the intermediate SPX file
rm "\(file" # Optionally remove the intermediate WAV file rm "\){file%.spx}.wav"
done
而后,xml 文件里的声音文件名也需要转换(可以提前用 vscode 或者 sublime text 打开 xml 查看一下,根据需要批量替换的字符串修改以下命令)

sed -i '' 's/.spx/.mp3/g' file.xml
如果需要将 .wav 文件批量转换为 .mp3:

for file in *.wav; do
ffmpeg -i "\(file" -f mp3 "\){file%.wav}.mp3"
# Optionally remove the intermediate WAV file
rm "$file"
done
5. 其它定制信息

pyglossary 生成的文件中,.css 文件,可根据自己需要修改。

macOS 原生词典里面是不支持 base64 格式的字体文件的,所以我们需要手动将原先css里面base64格式的字体转换成它原来的样子并放到 Contents 文件夹下。

Base64 Online - base64 decode and encode (motobit.com)

.plist 文件中,CFBundleName 是词典缩写(显示在词典的标签栏上),CFBundleDisplayName 是词典名称的完整名称(显示在 Preference 对话框中),可根据自己需要修改。

  1. 安装词典

cd "Merriam-Webster's Collegiate Dictionary"
make
生成的词典在 objects 目录中。

安装词典到 ~/Library/Dictionaries:

make install
而后就可以在 Dictionary 里,cmd+, 在对话框里选择新安装的词典了。

  1. 删除词典

在 ~/Library/Dictionaries 目录中将词典的整个目录删掉即可。

  1. 捷径

可以在百度网盘下载一个压缩包,解压缩后,把其中六个词典目录挪到 ~/Library/Dictionaries 目录之下即可,重新启动 Dictionary.app,cmd+, 在对话框里选择新安装的词典。

链接: https://pan.baidu.com/s/1TpYyYYdvFGsMLI65i7NBog?pwd=buqn 提取码: buqn

Cambridge Advanced Learner's Dictionary.dictionary
Collins COBUILD Advanced Learner's Dictionary.dictionary
Merriam-Webster's Collegiate Dictionary.dictionary
Longman Dictionary of Contemporary English 6ed.dictionary
Longman Language Activator.dictionary
Oxford Collocation Dictionary.dictionary

posted @ 2024-02-15 11:36  abaelhe  阅读(4247)  评论(0)    收藏  举报