GoldenDict是一款开源的桌面端词典检索应用,跨平台,支持多种词典格式。它有十分丰富的可配置项,包括字典组,拼写检查、单词发音、语音合成、在线翻译等等。GoldenDict-ng是基于前者重写的新一代GoldenDict,修复了一些长期累积的问题,目前仍然处于积极开发中,安装时可看发行版块和打包的版本。
GoldenDict向前兼容一些Windows XP之类的老旧系统,我个人也一般使用软件的稳定版,这里就以配置GoldenDict为例。软件版本为GoldenDict 1.5.0、GoldenDict-ng-v23.09.29的6.5.2-****.zip
。二者在菜单的配置步骤上,可能有小部分差异,而配置文件几乎可以共用(不推荐)。更多的使用说明见GoldenDict文档和GoldenDict-ng文档。
安装上,我使用了Scoop上的便携版,额外要手动删除C:\Users\YourName\scoop\apps\goldendict\current\portable
目录,也就是挂掉配置文件夹C:\Users\YourName\scoop\persist\goldendict
里的系统目录链接,而使用安装版的配置文件位置C:\Users\YourName\AppData\Roaming\GoldenDict
,见issue。可以备份这里的`config`文件。
在配置上,我主要的需求是「词典」「在线翻译」「语法检查」「可离线使用」。
黑暗主题
下载GoldenDict-Full-Dark-Theme。原样式有几处圆角边框,我额外进行了一些调整,可以跳过。
编辑GoldenDict-Full-Dark-Theme\styles\Dark\article-style.css
:
// 词典框的圆角改为直角等
.gdarticle
{
border-radius: 0;
}
.programs_plaintext, .programs_html {
margin-top: 20px;
}
.gdactivearticle .gddictname {
border: none;
}
.gddictname {
border: none;
border-radius: 0;
}
// 处理「语音合成」词典的文字的显示问题
.voiceengines_play {
margin-top: 22.5px;
}
一些字典内置的样式也可以修改,例如编辑ODE 3/e里的ODE.css
:
// 字更小
.Od3 {
font-size: 102%;
line-height: 97%;
}
参考Installation段落安装样式。
GoldenDict → 编辑 → 首选项 → 附加样式 → Dark
主窗口的布局可在菜单栏的「查看」中设置,窗口大小可手动调整。对于弹窗窗口,参考该issue来操作。我个人使用的布局是:主窗口只保留「查询面板」,尺寸约为屏幕的3/4,宽的1/3;弹窗的尺寸约为屏幕高的1/2,宽的1/4。
修改字典字体
去下载并安装收录全、完成度高的字体,例如思源黑体、霞鹜文楷。
还是编辑article-style.css
,在开头添加:
// 添加本地字体
@font-face {
font-family: YourFont;
src: local('Your Font') url('file:C:\\Users\\YourName\\AppData\\Local\\Microsoft\\Windows\\Fonts\\YourFont.ttf') format('truetype');
font-weight: normal;
font-style: normal;
在末尾添加:
body
{
font-family: "Your Font", NotoSans;
font-size: 9.5pt;
}
.dsl_t
{
font-family: "Your Font", NotoSerif;
}
字体不会生效于有内置样式的词典,或者.zim
档案。我个人目前使用的是更纱黑体的等宽字体。
添加词典
首先去下载字典文件,例如:
- Mdict.org上的新牛津英汉双解词典、企鹅英语词典、柯林斯COBUILD英语用法大全、韦氏发音词典等等
- http://Mdict.org上的汉语词典,推荐
汉语大词典(简体精排).mdx
、漢語大詞典.mdx
- 简明英汉字典增强版(CSS 版本)
- 离线的Online Etymology Dictionary
- 工具书,如翻译人名等等
- 别的语种,Latin dictionaries上的拉丁语词典、proteusx制作的古希腊语词典等等
GoldenDict → 编辑 → 词典 → 词典来源/文件 → 添加 → 词典文件们所在的目录 → 递归搜索 On → 应用。
添加词典群组
- ... 词典 → 群组 → 添加群组 →
TheGroup
→ 将可用词典拖入群组 → 应用 - GoldenDict主界面 → 查找于 →
TheGroup
我目前使用的分组是:
default
在线翻译
简明英汉字典(仅含中文释义)
专业词汇词典
单词拼写检查
write
句子语法检查
双解词典(带例句)
etymology
词源词典
其他语种
单词发音
语音引擎
添加拼写检查词库
GoldenDict已内置了部分的拼写词库,勾选条目即可。
如果需要额外添加词库:
- 搜索并下载名「Hunspell Dictionary」,里面有
.aff
、.dic
文件,例如English Spell Checker Dictionaries上的「en_US」。要添加多个词库时,需要将所有的.aff
、.dic
文件放在同一目录下,例如新建一个文件夹gd_hunspell
- ... 词典 → 词典来源/构词法规则库 → 变更 →
gd_hunspell
所在 → 勾选库中条目 → 应用 - ... 群组 → 将拼写词典拖入词典群组
添加单词发音
- 下载语音资料pronunciations。仅英语,约2GB大小,下载过程略麻烦
- 下载后, 解压各个压缩包到同名的文件夹
- ... 词典 → 词典来源/音频文件目录 → 添加 → 解压后的文件所在 → 应用
对于更多的语言,可以从该帖下载Forvo档案,使用qBittorrent Enhanced一类的工具。依据帖子内容来操作:
.opus
格式的体积更小,音质也十分相近,所以下载时只勾选Forvo_pronunciations/export/opus
。约24GB大小,下载完成后不需解压- 成员提到了GoldenDict的「音频文件目录」这个功能不方便也不可靠,推荐使用
.dsl
文件。可以当成是目录册,指向音频文件的位置 - 新版本的
.dsl
文件被补充了,需要从MEGA分享链接 下载,下载后解压ForvoDSL-20220513.7z
这里,ForvoDSL/ForvoDSL-20220513
里的.dsl
文件,需要同Forvo_pronunciations/export/opus
里的zip
,放入同一个文件夹,例如gd_forvo
。并且修改文件名,一一对应,例如将en.zip
重命名为ForvoEnglish.dsl.files.zip
,对应ForvoEnglish.dsl
。然后:
... 词典 → 词典来源/文件 → 添加 → gd_forvo
所在 → 应用
如果要添加所有的发音词典,且考虑不去移动文件夹Forvo_pronunciations
,不重命名文件,可以进行批量mklink
操作。
- 利用
ForvoDSL/ForvoDSL-20220513
里的00README.txt
包含的信息,可编辑成一个多行的命令脚本。或者直接下载mklink_manytimes.bat - 编辑脚本,批量替换所有
...
为正确的路径 - 在终端中运行
mklink_manytimes.bat
- ... 词典 → 词典来源/文件 → 添加 →
gd_forvo
所在 → 应用
添加语音引擎
- ... 词典 → 词典来源/语音合成 → 预览/可用语音引擎 →
Microsoft Huihui Desktop - Chinese (Simplified)
→ 添加 - ... 预览/可用语音引擎 →
Microsoft David Desktop - English (United States)
→ 添加
此处的语音引擎来自:Windows设置 → 时间和语言 → 语音 → 语音/选择语音。
添加离线维基(仅gd-ng)
Kiwix是一个离线的维基阅读器,也适用于另一些网络内容,例如StackExchange(Stack Overflow)、Project Gutenberg等等,可用来提供高速、稳定的档案访问服务。它支持高度压缩的.zim
格式,该格式可包含元数据、HTML、图像等资源。配置步骤:
- 从Content in all languages列表中选择档案,例如「wikipedia (English)」,型号「all maxi」表示包含了除音频、视频等大型媒体文件外的所有内容。各型号的详细说明见该issue1,issue2
- 下载档案。建议大体积的
.zim
单独放置,例如下载wikipedia_en_all_maxi_****.zim
到gd_wikipedia
文件夹内3 - GoldenDict-ng → 编辑 → 词典 → 词典来源/文件 → 添加 →
.zim
所在 - 等待GoldenDict-ng创建完索引
对于大型档案,无论是搜索条目,还是「全文搜索」,其速度算得上「快」。例如,我需要检索「古腾堡计划」的电子书库中提到某个词的段落:
GoldenDict-ng → 搜索 → 全文搜索 → TheWord
→ 搜索 → 单击条目。
额外地,也可使用Kiwix客户端阅读zim
档案。或者Kiwix JS for PWA,如果要部署到本地,可参考笔记kiwix-js-pwa.md。缺点是检索功能相比GoldenDict-ng,较为不便,仅能从搜索框搜索条目,或者页内搜索。
设置鼠标取词
用到了AutoHotKey脚本GoldenDictOCR。在它的「鼠标选择取词」模式,可以双击选词、划词来查词。GoldenDict默认的查词快捷键是Ctrl+C+C
,如果已被占用,可修改为其他键。脚本中的键位也就需要一并修改。例如我用的是Alt+Z
:
GoldenDict → 编辑 → 首选项 → 热键 → 使用下列热键翻译剪切板中的单词 → Alt+Z
。
git clone https://github.com/VimWei/GoldenDictOCR
cd GoldenDictOCR
编辑IncludeAHK/GdOcrTool.ahk
,填写GoldenDict.exe
所在的正确位置:
Global GoldenDictFileName := "...\GoldenDict.exe"
编辑GoldenDict.ahk
,修改两处键位:
Send ^{c 2} // 118行附近,此处的Ctrl+C+C改为Alt+Z,即Send !z
!i:: // 37行附近,此处的Alt+I改为Alt+Shift+G,即^!g::
启动GoldenDictOCR.ahk
后,按Ctrl+Alt+G
即可开关「鼠标选择取词」。
设置OCR取词
Umi-OCR是一款开源、可离线、功能灵活的OCR软件。用于一般OCR时,它可提供高速稳定、准确率较高的中英文混合识别。
在V1版本里可以再配置一组快捷键,在OCR后触发GoldenDict查词,即「截图联动」。配置步骤:
- Umi-OCR → 设置 → 截图联动 On → 快捷键/修改 → 例如
Win+Shift+X
- ... 联动发送按键/修改 →
Alt+Z
按Win+Shift+X
进行框选即可查词。
对于V2版本,或者说更通用的情况,只需要勾选「复制OCR结果」,在OCR之后按`Alt+Z`就可以了。配置步骤:
Umi-OCR → 添加 → Screenshot OCR → Action after recognition → Copy result (开)
一些实用键位
全部快捷键 ,也可在主菜单的「帮助」中查看。以及一些常用快捷键,如:
Ctrl+L
聚焦到输入框Alt+Left/Right
前个/后个查询记录