Skip to content

goldendict

日期:2023-12-20
更新:2024-09-20

GoldenDict是一款开源的桌面端词典检索应用,跨平台,支持多种词典格式。它有十分丰富的可配置项,包括字典组,拼写检查、单词发音、语音合成、在线翻译等等。GoldenDict-ng是基于前者重写的新一代GoldenDict,修复了一些长期累积的问题,目前仍然处于积极开发中,更多地说明见GoldenDict-ng文档

二者操作相近,配置文件几乎可以共用(但不推荐)。GoldenDict-ng采用了更新的技术,而GoldenDict向前兼容了一些像Windows XP之类的老旧系统。这里就主要以配置GoldenDict为例。软件版本为GoldenDict 1.5.0GoldenDict-ng-v24.05.05

配置文件的位置#

同于大多数的软件的安装版,GoldenDict的配置文件也位于C:\Users\<User>\AppData\Roaming<软件名>。如果要保存GoldenDict的配置,可备份此处的config文件。

如果使用Scoop安装,需要删除C:\Users\<User>\scoop\apps\goldendict\current\portable目录,也就是断开了和Scoop配置目录里的系统目录链接,位于C:\Users\<User>\scoop\persist\goldendict。见issue

文章分为「基础篇」和「番外篇」。基础篇主要涉及「黑暗主题」、各类的「词典」、「取词方式」等。「番外篇」更多地涉及了「程序」这一功能,具有更多的实验性和Bug,也提及了一些和语言相关的第三方工具,如LanguageTool等。

窗口布局#

主窗口的布局可在菜单栏的「查看」中设置。

窗口大小可手动调整。对于弹窗窗口,参考该issue

我个人在主窗口只保留了「查询面板」,窗口尺寸约为屏幕高的3/4,宽的1/3,弹窗的尺寸约为屏幕高的1/2,宽的1/4

黑暗主题#

git clone https://github.com/yozhic/GoldenDict-Full-Dark-Theme

参考Installation段落安装样式。

原样式有几处圆角边框,我额外进行了一些调整。可以编辑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;
}

编辑 → 首选项 → 附加样式 → Dark

修改字典字体#

首先去下载并安装收录全、完成度高的字体,例如思源黑体霞鹜文楷等。

还是编辑article-style.css,在开头添加:

// 添加本地字体
@font-face {
  font-family: <FontName>;
  src: local('<Font Name>') url('file:C:\\Users\\<User>\\AppData\\Local\\Microsoft\\Windows\\Fonts\\<FontName>.ttf') format('truetype');
  font-weight: normal;
  font-style:  normal;
}

在末尾添加:

body
{
  font-family: "<Font Name>", NotoSans;
  font-size:   9.5pt;
}

.dsl_t
{
  font-family: "<Font Name>", NotoSerif;
}

字体不会生效于有内置样式的词典,或者ZIM档案。

为了更好地显示脚本,我个人目前使用的是等宽字体Sarasa Term SC Nerd 字体

修改字典内置样式#

例如编辑ODE 3/e里的ODE.css

// 让字更小
.Od3 {
    font-size: 102%;
    line-height: 97%;
}

添加词典#

下载词典文件,例如:

编辑 → 词典 → 词典来源 → 文件 → 添加 → … → 递归搜索 (On) → 应用。

需要注意,.dict格式和StarDict词典应用都是开源。而.mdx属于专有软件MDict的词典格式,更多信息见fileformat

添加词典群组#

  1. 词典 → 群组 → 添加群组 → <Group> → 将词典拖入群组 → 应用
  2. GoldenDict的主界面 → 查找于 → <Group>

我目前常用的default分组中,除开翻译脚本和语音、拼写检查等功能词典,大部分都是StarDict格式:

在线翻译脚本
单词发音
专业词汇词典
简明英汉字典(仅含释义)
21世纪英汉汉英双向词典
词源词典
GNU版国际协作英语词典
维基英英词典
拼写词库

添加拼写词库#

通常称为「Hunspell Dictionary」,包含了所需的.aff.dic文件。GoldenDict已内置了部分拼写词库,在这里勾选所需即可:

编辑 → 词典 → 词典来源 → 构词法规则库

如果你添加了较新版本的词库,例如English Spell Checker Dictionaries上的「en_US」、LibreOffice Hunspell dictionaries里的en\en_US.*

构词法规则库 → 变更 → .aff.dic文件所在目录 → 勾选库中条目 → 应用

添加单词音频库#

对于英语语音资料pronunciations,在v1版本里,它似乎清理了旧版本里的约2GB的文件,而使用generate.sh脚本。这里就仅留作参考:

词典 → 词典来源 → 音频文件目录 → 添加 → pronunciations/所在 → 应用

对于Forvo的多语言资料,可使用qBittorrent一类的工具,从该帖下载,参考帖子内容:

  1. .opus格式的体积更小,音质同.mp3也十分相近,所以下载时只勾选Forvo_pronunciations/export/opus。约24GB大小,下载完成后不需要解压
  2. 某个成员提到了GoldenDict的「音频文件目录」功能:不方便也不可靠,建议使用.dsl文件。类似目录文件,指出音频文件的位置
  3. MEGA分享链接下载新版本的.dsl文件,下载后解压ForvoDSL-20220513.7z到同名文件夹
  4. ForvoDSL-20220513里的.dsl文件,需要同Forvo_pronunciations/export/opus里的.zip,放入同一个文件夹,例如Forvo_pron/。这里,也可以使用mklink创建系统链接完成,如mklink ...\Forvo_pron\ForvoEnglish.dsl.files.zip ...\en.zip
  5. 修改.zip文件的文件名,一一对应。例如将en.zip重命名为ForvoEnglish.dsl.files.zip,对应ForvoEnglish.dsl
  6. 词典 → 词典来源 → 文件 → 添加 → Forvo_pron/所在 → 应用

对于所有语音包,因为这些压缩档案包含了大量小文件,移动、复制、解压上都很慢。所以这里参考ForvoDSL-20220513/00README.txt的内容,使用Windows批处理脚本mklink_forvo_pron.bat或者Bash脚本mklink_forvo_pron.sh进行批量操作。运行前,需编辑脚本4-8行,参考我的目录设置,填写你的实际的目录位置。

在Windows上运行时:

命令提示符 → mklink_forvo_pron.batEnter

最后:

词典 → 词典来源 → 文件 → 添加 → Forvo_pron/所在 → 应用

添加语音引擎#

在Windows 10上:

  1. 设置 → 时间和语言 → 语音 → 管理语音 → 添加语音
  2. 词典 → 词典来源 → 语音合成 → 预览 → 可用语音引擎 → Microsoft David Desktop - English (United States) → 添加 → 应用

添加离线维基(仅gd-ng)#

Kiwix是一个离线的维基阅读器,也适用别的网络内容,如StackExchange(Stack Overflow)、Project Gutenberg等等,可用来提供高速、稳定的档案访问服务。它支持高度压缩的.zim格式,该格式可包含元数据、HTML、图像等资源。配置步骤:

  1. Content in all languages的列表中选择档案,例如「wikipedia (English)」,型号「all maxi」。这个型号包含了除音频、视频等大型媒体文件外的所有内容。关于各型号的详细说明,见issue1issue2
  2. 下载档案
  3. GoldenDict-ng → 编辑 → 词典 → 词典来源 → 文件 → 添加 → .zim所在目录
  4. 等待GoldenDict-ng创建索引

对于大型档案,无论是搜索条目,还是「全文搜索」,其速度称得上「很快」。例如,如果我需要检索「古腾堡计划」的电子书库中提到某个词的段落:

GoldenDict-ng → 搜索 → 全文搜索 → <Word> → 搜索 → 单击条目

题外话:也可使用Kiwix客户端或者Kiwix JS for PWA阅读.zim档案。

设置鼠标取词#

GoldenDictOCR是一个AutoHotKey脚本,在它的「鼠标选择取词」模式下,可通过「双击选词、划词」来查词。需要配合GoldenDict的默认查词快捷键Ctrl+C+C来使用。

git clone https://github.com/VimWei/GoldenDictOCR
cd GoldenDictOCR

编辑IncludeAHK/GdOcrTool.ahk,填写GoldenDict.exe所在的正确位置:

Global GoldenDictFileName := "...\GoldenDict.exe"

运行GoldenDictOCR.ahk后,按Alt+i即可开关「鼠标选择取词」。

如果需要修改键位,例如:

  1. 编辑 → 首选项 → 热键 → 使用下列热键翻译剪切板中的单词 → Alt+Z
  2. 编辑GoldenDict.ahk,修改两处: - 118行附近,此处的Send ^{c 2},即Ctrl+C+C,修改为了Send !z,即Alt+Z - 37行附近,此处的!i::,即Alt+I,修改为了^!g::,即Ctrl+Alt+G

设置OCR取词#

Umi-OCR是一款开源、可离线、功能灵活的OCR软件。用于一般OCR时,它可提供高速稳定、准确率较高的中英文混合识别。

V1版本里,可配置一组快捷键,在OCR后触发GoldenDict查词,即「截图联动」

对于V2版本,或者说更通用的情况是,只需勾选「复制OCR结果」,在进行OCR后,接GoldenDict查词快捷键就可以了。配置步骤:

Umi-OCR → 添加 → 截图OCR → 设置 → 识图后的操作 → 复制结果 (On)

一些实用键位#

我目前常用的有:

  • Ctrl+L 聚焦到输入框
  • Alt+Left/Right 前个/后个查询记录

所有的快捷键在:

帮助 → GoldenDict帮助 → Shortcuts