AyanDict 3.0.0 已发布

Lobsters Hottest 产品

摘要

AyanDict 3.0.0,一个基于Qt、用Go编写的跨平台桌面词典应用已发布。它支持StarDict词典格式,适用于Linux、Windows和macOS。

<p><a href="https://lobste.rs/s/mjbwfn/ayandict_3_0_0_released">评论</a></p>
查看原文
查看缓存全文

缓存时间: 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.exeayandict)。

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 + LeftCtrl + Left:返回历史记录(“History”标签页)
  • Alt + RightCtrl + 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

Product Hunt

TongueType 是一款适用于 macOS 的本地听写应用,无需订阅。

Gram 2.0.0 发布

Lobsters Hottest

Gram 2.0.0 是一款面向开发者的代码编辑器,现已发布,带来了更新的默认设置、改进的语言服务器管理、平滑滚动以及 Markdown 预览中的 Mermaid 图表支持。

altic-dev/FluidVoice

GitHub Trending (daily)

FluidVoice 是一款适用于 macOS 的开源语音转文字听写应用,通过名为 Fluid Intelligence 的独立私有本地运行时实现设备端 AI 增强。1.6.0 版本带来了更快的 Parakeet 支持、改进的主题样式以及焕然一新的入门体验。