dictd

来自 ArchWiki
(重定向自 Dict

官方网站 将 dictd 描述为

客户端/服务器软件、人类语言词典数据库以及支持 DICT 协议(RFC:2229)的工具。

安装

安装 dictd 软件包。

图形前端

有各种图形应用程序可以通过 DICT 协议 访问 dictd

  • GoldenDict — 功能丰富的词典查询程序,支持多种词典格式。
http://goldendict.org || goldendict-gitAUR
  • gnome-dictionary — 一个 GNOME 应用程序,用于查找定义。
https://wiki.gnome.org/Apps/Dictionary || gnome-dictionary
  • xfce4-dict — Xfce 面板的词典插件。类似于 Gnome 词典。
https://docs.xfce.org/apps/xfce4-dict/start || xfce4-dict
  • MATE Dictionary — MATE 应用程序,用于在词典源中查找单词。类似于 Xfce Dictionary。
https://github.com/mate-desktop/mate-utils || mate-utils
  • Emacs — 这个可扩展的编辑器有一个内置的 dictd 客户端,可以在窗口中或编写时查找单词。
https://www.masteringemacs.org/article/wordsmithing-in-emacs || emacs

用法

可以通过以下方式查询词典

$ dict word

要查询特定的词典数据库,您可以使用 -d 标志。例如,要查询英西词典数据库,您可以使用

$ dict -d eng-spa word

在没有进一步配置的情况下,dictd 很可能查询在线数据库。请参阅下文以设置离线词典。

配置

默认情况下,dictd 尝试首先查询离线数据库,然后查询在线数据库。但是,除非启用 dictd.service,正确设置本地化并安装离线词典(见下文),否则离线数据库将不可用。

可以通过注释掉 /etc/dict/dict.conf 中的 server dict.org 来禁用在线模式。相反,可以通过注释掉 server localhost 来禁用离线模式。

本地化

默认情况下,dictd 配置为使用 en_US.UTF-8 本地化。如果您的系统没有编译此本地化,则 dictd.service 将无法启动,且不会显示有用的错误消息。

您可能希望将其配置为使用其他本地化

/etc/default/dictd
DICTD_ARGS="--locale your locale"

托管离线词典

可以通过启用 dictd.service 来配置 Dictd 以托管离线词典,并且需要将 dict 配置为在 /etc/dict/dict.conf.dictrc 中使用 localhost 作为服务器。

首先,需要安装离线词典。词典可以通过 Arch 用户仓库 使用搜索词 dictd 获得。一些流行的英语词典包括

FreeDict 项目还提供了许多与 dictd 兼容的双语词典,这些词典通常在 AUR 上可用。

安装后,如果需要访问新提供的词典,请重启 dictd.service。之后,可以按照上述说明查询词典。

提示: 可以通过执行 dict -I 查询所有可用词典的列表。

故障排除

解析错误

以下错误

/etc/dict/dictd.conf:25: syntax error, unexpected $end
/etc/dict/dictd.conf:25: #LASTLINE
/etc/dict/dictd.conf:25:          ^
dictd (yyerror): parse error
parse error

表示 dictd 找不到词典数据库。这些可以手动添加到 /etc/dict/dictd.conf。例如

database eng-spa {
	data /usr/share/dictd/eng-spa.dict.dz
	index /usr/share/dictd/eng-spa.index
}

添加由 dict-freedict-eng-spaAUR 安装的英西词典。对于其他词典,复制并粘贴上面的数据库声明,但请务必更改数据库名称,即 eng-spa,并更改上面的 dataindex 路径以指定正确的文件。