AyanDict 3.0.0 已发布
摘要
AyanDict 3.0.0,一个基于Qt、用Go编写的跨平台桌面词典应用已发布。它支持StarDict词典格式,适用于Linux、Windows和macOS。
查看缓存全文
缓存时间: 2026/09/02 06:21
ilius/ayandict 来源: https://github.com/ilius/ayandict
AyanDict
一个基于Qt框架、使用Go语言编写的简单跨平台桌面词典应用程序,采用StarDict词典格式。AyanDict支持Linux、Windows和macOS系统。请查阅各版本发布页面(https://github.com/ilius/ayandict/releases)获取当前可下载的二进制文件。其他Qt 6桌面平台未进行常规测试,但在启用CGO的情况下从源码构建可能有效。目前仅支持StarDict格式,默认读取~/.stardict/dic文件夹中的所有StarDict词典。您可以通过配置更改文件夹或添加更多文件夹。
安装
如果系统中没有Go语言环境,您可以查看发布页面(https://github.com/ilius/ayandict/releases),下载适合您平台的最新二进制文件(如已提供)。Windows x86-64版本是适用于Windows 10 1809或更新版本以及Windows 11的独立可执行文件。Qt 6.11.2及所需插件已链接到ayandict.exe中,无需单独安装Qt。Linux x86-64 GUI发布版本采用动态链接方式。它需要glibc 2.35或更高版本,以及包含Widgets、Network、Multimedia和Multimedia Widgets模块的Qt 6.4或更高版本。请使用适用于您发行版的命令安装所需的Qt运行时库:
Ubuntu 24.04或更新版本:
sh sudo apt install libqt6network6t64 libqt6multimediawidgets6
Fedora:
sh sudo dnf install qt6-qtbase-gui qt6-qtmultimedia
openSUSE Tumbleweed:
sh sudo zypper install libQt6Network6 libQt6MultimediaWidgets6
Arch Linux:
sh sudo pacman -S --needed qt6-base qt6-multimedia
从源码构建GUI版本需要Go 1.24或更高版本、CGO、C++编译器以及Qt 6 Base和Multimedia的开发文件。请使用适用于您发行版的命令安装原生依赖项:
Ubuntu 24.04或更新版本:
sh sudo apt install build-essential qt6-base-dev qt6-multimedia-dev
Fedora:
sh sudo dnf install gcc-c++ qt6-qtbase-devel qt6-qtmultimedia-devel
openSUSE Tumbleweed:
sh sudo zypper install gcc-c++ qt6-base-devel qt6-multimedia-devel
Arch Linux:
sh sudo pacman -S --needed base-devel qt6-base qt6-multimedia
然后您可以编译并安装最新代码:
sh go install github.com/ilius/ayandict/v3@latest
或克隆仓库后进入目录运行go build,这将在当前目录生成二进制文件(ayandict.exe或ayandict)。
Web界面
通过在配置文件中设置web_enable = true并运行程序,您可以使用Web界面。端口由local_server_ports值设置(使用列表中第一个可用端口),URL会输出到标准输出。如果您完全不想使用Qt GUI并仅以Web模式运行,可以在命令行中传递-no-gui参数。您也可以构建不依赖Qt的独立Web或无GUI命令:
sh go build ./cmd/ayandict-web/ go build ./cmd/ayandict-nogui/
这在无法构建Qt GUI的系统上尤其有用。
截图
Linux - 深色主题 + 收藏夹
Linux - 浅色主题
Windows - 浅色主题
Windows - 深色主题
最常用查询
词典对话框
杂项标签页
配置
要更改配置(包含大多数用户设置),您需要编辑配置文件(我们未提供图形界面,且不打算添加,抱歉!)。运行程序后,您可以点击“Config”按钮(如截图所示),它会在默认文本编辑器(用于TOML文件)中打开config.toml文件。如果config.toml不存在,将创建并填充默认配置。修改config.toml后,您可以点击“Reload”按钮(位于“Config”按钮旁)应用更改。
config.toml文件的完整路径:
- Linux:
~/.config/ayandict/config.toml- 如果设置了
$XDG_CONFIG_HOME:$XDG_CONFIG_HOME/ayandict/config.toml
- 如果设置了
- Windows:
C:\Users\USERNAME\AppData\Roaming\AyanDict\config.toml- 或更准确地说:
%APPDATA%\AyanDict\config.toml
- 或更准确地说:
- Mac:
~/Library/Preferences/AyanDict/config.toml此处提供了所有配置参数列表。
词典
如截图所示,有一个名为“Dicts”或“Dictionaries”的按钮。它会打开对话框,允许您禁用、启用或更改词典顺序。每个词典都有一个“Symbol”,默认是其名称首字母的花括号形式(例如WordNet的[W])。此符号显示在窗口左侧的查询结果列表中,如截图所示,旨在让您一眼就能看出结果来自哪个词典。您可以通过“Dictionaries”对话框更改此符号。符号可以为空,也可以任意长度(尽管默认是3个字符)。
转换其他词典格式
您可以使用PyGlossary(https://github.com/ilius/pyglossary)将其他各种格式转换为StarDict格式供本应用使用。此处提供了支持格式列表(https://github.com/ilius/pyglossary#supported-formats),点击各格式链接可获取更多信息。
下载词典
有许多网页提供各种可用词典的下载,但这是我整理的一个列表(欢迎提交拉取请求补充):
- kaikki.org (https://kaikki.org/dictionary/index.html)
- library.kiwix.org (https://library.kiwix.org/)
- freedict.org (https://freedict.org/downloads/) 和 @freedict/fd-dictionaries (https://github.com/freedict/fd-dictionaries)
- wikdict.com (https://download.wikdict.com/dictionaries/tei/recommended/):更多FreeDict(TEI)词典
- @reader-dict/monolingual (https://github.com/reader-dict/monolingual):适用于电子书的StarDict词典
- @Vuizur/Wiktionary-Dictionaries (https://github.com/Vuizur/Wiktionary-Dictionaries)
- @xxyzz/wiktionary_stardict (https://github.com/xxyzz/wiktionary_stardict/releases):每月(15日)从kaikki.org (https://kaikki.org) 生成
- @itkach/slob/wiki/Dictionaries (https://github.com/itkach/slob/wiki/Dictionaries)
- goldendict.org (http://goldendict.org/dictionaries.php)
- huzheng.org (http://www.huzheng.org/stardict/)
- 我的仓库:@ilius/dict (https://github.com/ilius/dict) 和 FreeDict中的波斯语Aryanpour (https://github.com/ilius/aryanpour-tei)
- tuxor1337.frama.io (https://tuxor1337.frama.io/firedict/dictionaries.html)
- SourceForge上的XDXF (https://sourceforge.net/projects/xdxf/files/)
- SourceForge上的GoldenDict (https://sourceforge.net/projects/goldendict/files/dictionaries/)
- kdr2.com (https://kdr2.com/resource/stardict.html)
- GDrive上的BGL文件合集 (https://drive.google.com/drive/mobile/folders/0BzrQwK2v03aKWjlsQ3NsaWJKalU?resourcekey=0-DtgqOJiVFSDI231ugoQgiQ)
- 阿拉伯语BGL文件 (https://www.ahmadwadan.com/download.html)
键盘绑定/快捷键
+或=:放大(文章/定义/翻译)-:缩小(文章/定义/翻译)- Ctrl + F:在文章文本中搜索
- Ctrl+G:转到下一个匹配项(通过Ctrl+F)
- Escape:
- 当搜索栏可见时:隐藏搜索栏
- 当查询输入框获得焦点时:焦点离开输入框
- 其他情况:清除查询和结果
- 空格:(当查询输入框未获得焦点时)将键盘焦点切换到查询输入框
- Alt + Left 或 Ctrl + Left:返回历史记录(“History”标签页)
- Alt + Right 或 Ctrl + Right:前进历史记录(“History”标签页中的所选术语)
- Alt + Down:转到下一个结果
- Alt + Up:转到上一个结果
- Ctrl + Q:退出应用程序
- F1:显示关于窗口
一些有用的(不明显的)功能
- 按住Ctrl / Command点击Clear以清除历史记录(和查询)
- 按住Ctrl / Command点击Reload以重新加载配置、词典和用户样式
- 按住Shift点击Reload以重新加载配置和用户样式
- 右键点击收藏夹图标(在OK下方)查看多个术语并添加/移除收藏
- 点击About然后点击Keyboard Shortcuts查看快捷键
搜索算法
默认搜索是模糊的,基于由Levenshtein距离(https://en.wikipedia.org/wiki/Levenshtein_distance)计算的相似度分数。我们还将词条分割为单词,例如如果您输入“language”(或拼写有误,如“languge”),首先显示“language”,然后显示如“language learning”等术语,但也可能显示如“sign language”等术语。如果您特别想要以“language”作为第二个单词的术语,可以输入“* language”。模糊模式下不支持模式匹配,您只能单独使用*(不能作为模式的一部分)。任何相似度分数达到70%的术语都会列出(例如“languge”与“language”的相似度为87%)。但我们限制了显示的结果数量,默认为40个。您可以通过配置参数max_results_total进行更改。这在大多数情况下效果很好,但唯一的限制是查询的首字母必须与目标单词的首字母匹配。例如,如果您输入“symmetry”,它不会匹配术语“asymmetry”,即使它们足够接近(相似度分数很高),因为它们的首字母不同。但我们也有以下搜索模式:
- 以…开头,显示所有以给定查询字符串开头的术语(在v2.0中添加)
- 正则表达式(Regular expression),例如
symm.*y(在v2.0中添加) - Glob匹配,例如
symm*y(在v2.0中添加) - 单词匹配(Word Match)(在v2.2.4和v3.0中添加)
- 与查询(单个单词)精确匹配术语中的任何单词
在所有这些模式中,较短的匹配术语会获得更高的分数。例如,在正则表达式模式下,查询为
symm.*y时,术语“symmetry”由于长度较短且分数较高,会出现在“symmetrically”之前。如果您设置soundex_words_file配置参数,还可以启用额外的搜索模式“Soundex”。这用于查找发音相似的单词(主要用于英语)。例如您听过但不知道如何拼写、以至于无法通过模糊或其他模式找到的单词。更多信息请见维基百科(https://en.wikipedia.org/wiki/Soundex)。
- 与查询(单个单词)精确匹配术语中的任何单词
在所有这些模式中,较短的匹配术语会获得更高的分数。例如,在正则表达式模式下,查询为
相似文章
TongueType for macOS
TongueType 是一款适用于 macOS 的本地听写应用,无需订阅。
Type Switch 3.0 for macOS
Type Switch 3.0 for macOS 让多语言 Mac 用户能够即时切换语言。
Gram 2.0.0 发布
Gram 2.0.0 是一款面向开发者的代码编辑器,现已发布,带来了更新的默认设置、改进的语言服务器管理、平滑滚动以及 Markdown 预览中的 Mermaid 图表支持。
TextGen 现已成为原生桌面应用,是 LM Studio(前身为 text-generation-webui)的开源替代方案。
TextGen(前身为 text-generation-webui)已更新为 Windows、Linux 和 macOS 的原生、免安装桌面应用程序,提供增强的隐私保护、ik_llama.cpp 支持以及原生工具调用功能,作为 LM Studio 的开源替代方案。
altic-dev/FluidVoice
FluidVoice 是一款适用于 macOS 的开源语音转文字听写应用,通过名为 Fluid Intelligence 的独立私有本地运行时实现设备端 AI 增强。1.6.0 版本带来了更快的 Parakeet 支持、改进的主题样式以及焕然一新的入门体验。