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

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

  1. Flatic – 超齐全的 Web 元素界面素材库免费下载

    Flatic 是一个庞大的用户界面工具包,包含数以百计的网页元素,这将有助于你在 Photoshop 中轻松设计整个网站.成套的图标和动作都已包含在套件中.该素材包包括超过100个 PSD 元素.您可 ...

  2. paip.输入法英文词库的处理 python 代码 o4

    paip.输入法英文词库的处理 python 代码 o4 目标是eng>>>中文>>atian 当输入非atian词的时候儿,能打印出 atian pinyin > ...

  3. Rime中州韵导入极点五笔词库(附:自制词库)

    前言 之前写了一篇文章,[输入法]Rime-中州韵 基本设置 附:官方定制指南,其中导入词库这一块引用其它博主的文章,最近发现那个工具链接已经过期了,参考了百度贴吧的说明,不要直接使用工具去导入会更好 ...

  4. (转载)Rime输入法—鼠须管(Squirrel)词库添加及配置

    为什么用Rime 13年底的时候,日本爆出百度的日本版本输入法的问题,要求政府人员停用,没当回事,反正我没用,当然了,有关搜狗和用户隐私有关的问题就一直没有中断过,也没太在意.但,前几天McAfee爆 ...

  5. (转载)Windows下小狼毫输入法(Rime)的安装与配置(含导入搜狗词库)

    div id="cnblogs_post_body" class="blogpost-body"> 最近彻底烦透了搜狗拼音输入法的各种流氓行为,自动升级不 ...

  6. Fcitx使用搜狗词库与皮肤

    在 \(\text{Linux}\) 环境下,\(\text{Fcitx}\) 确实是最好用的开源输入法之一.然而 \(\text{Windows}\) 下的巨头输入法 -- 搜狗,对 \(\text ...

  7. python jieba分词(结巴分词)、提取词,加载词,修改词频,定义词库 -转载

    转载请注明出处  “结巴”中文分词:做最好的 Python 中文分词组件,分词模块jieba,它是python比较好用的分词模块, 支持中文简体,繁体分词,还支持自定义词库. jieba的分词,提取关 ...

  8. 中州韵输入法(rime)导入搜狗词库

    rime是一个非常优秀的输入法,linux平台下的反应速度远超搜狗,也没有隐私风险.2012年开始接触它,到后来抛弃了它,因为rime自带的词库真的太弱了,也懒得折腾.最近发现一个词库转换软件叫ime ...

  9. 深蓝词库转换2.2发布,支持手心输入法和Win10微软拼音

    距离上一次大版本的发布已经很久很久了,中间是不是会收到一些用户的来信,提出新的需求,于是只是做小版本的更新,终于积累了一些更新后,打算做个大版本的发布了. 深蓝词库转换是一个输入法的词库互转和生成软件 ...

  10. solr6.3.0升级与IK动态词库自动加载

    摘要:对于中文的搜索来说,词库系统是一个很比较重要的模块,本篇以IK分词器为例子,介绍如何让分词器从缓存或文件系统中自动按照一定频次进行加载扩展词库 Lucene.Solr或ElasticStack如 ...

随机推荐

  1. python 处理word 分页符、分节符

    import docx doc1 =docx.Document(r"C:\Users\Administrator\Desktop\test.docx") doc1.paragrap ...

  2. 数据库连接池 - Pymysql

    最近想用小程序来做个移动BI, 然后涉及后端接口部分打算用 Python 的 flask 框架整一波, 主要听闻它比较轻量, 简单和可灵活配置, 这就和我很对味. 毕竟我主要搞数据用的就是 sql 而 ...

  3. Python实验4 列表与字典应用

    目的 :熟练操作组合数据类型. 试验任务: 基础:生日悖论分析.如果一个房间有23 人或以上,那么至少有两 个人的生日相同的概率大于50%.编写程序,输出在不同随机样本数 量下,23 个人中至少两个人 ...

  4. WindowsPE文件格式入门05.PE加载器LoadPE

    https://bpsend.net/thread-316-1-1.html LoadPE - pe 加载器 壳的前身 如果想访问一个程序运行起来的内存,一种方法就是跨进程读写内存,但是跨进程读写内存 ...

  5. openssl头文件出现DEPRECATEDIN_1_1_0导致引入头文件时程序无法编译

    我使用的是unbuntu20.04版本中,通过apt安装的openssl,发现openssl中的多个库文件中会出现类似'DEPRECATEDIN_1_1_0(unsigned char *ASN1_S ...

  6. 洛谷 P1416 攻击火星 排版重构

    洛谷 P1416 攻击火星 原题P1416 Update 20210307 修复了挂掉的图片 20210307 重构排版 Solution understand 首先,你弄明白了什么是度吗? 一个点的 ...

  7. Linux下如何使用perf/gdb/pstack分析性能与问题排查

    本文分享自天翼云开发者社区<Linux下如何使用perf/gdb/pstack分析性能与问题排查>,作者:5****m 在Linux系统中,perf.gdb和pstack是三个常用的性能分 ...

  8. 2022 电赛C题 巡线基础模块代码(带控制)

    巡线功能模块 from maix import camera, display, gpio, pwm class FindLine(): def __init__(self): self.THRESH ...

  9. 基于Fastapi的区分聊天房间的聊天转发功能接口示例

    基于房间码(eCode)和用户uid,区分不同的聊天房间进行消息转发. 前端将收到的消息根据房间码(eCode)过滤到不同的聊天记录显示页面 后端demo代码如下: from fastapi impo ...

  10. linux系统qcow2镜像的制作

    一.简单说明 PS: 最近有客户需要在云平台上部署我们的产品,好久没有做过qcow2镜像了,这里还是把制作流程记录下来. QCOW2镜像格式是Qemu支持的磁盘镜像格式之一.它可以使用一个文件来表示一 ...