Windows或Linux下有能达到接近Mac OS下词典的应用吗?

无论是iOS还是Mac OS,词典的体验可以说确实甩其它系统一截。选中之后右键自带的查阅词典功能真的非常强大。

Win和Linux下我使用的是GoldenDict,功能上其实也非常强大,但不得不说的是,划词翻译功能真的相当不好用。默认的快捷键是C-c c,先不谈和Emacs快捷键的冲突问题,我一开始试图把快捷键设置为F11,但无论怎么按,都没有反应,后来才意识到,所谓的划词翻译功能,事实上是执行了“Goldendict搜索剪贴板上内容”这一操作,因此如果没有开头的C-c,就不会有剪贴板内容,自然什么也查不到。私以为这样的设计实在是有点多此一举了,有隔靴搔痒之嫌。

Goldendict有一个非官方的Goldendict++版本,似乎支持更便捷的划词翻译,甚至还包括了OCR功能,但由于版权的原因,也颇受到原作者的一些谴责。

请问有什么能让Goldendict变得更好用,更顺手的方案吗?

我2013年给有道词典Linux版开发这个功能的时候就已经实现了全屏的取词:

  1. 根据光标的位置, 通过X11截取附近的图片
  2. 用 PaddleOCR 来分析附近图片的字体矩形块,然后和光标的坐标进行交叉对比
  3. 提取出光标的单词翻译即可

这种方式都不用划词, 软件也不需要做什么支持, 甚至是你打开一个KFC的图片都是可以做到实时取词的。

为什么我的goldendict和你的不一样,我的直接选中就会取词,试了一下浏览器和emacs,qt creator 都可以,不过我一般都是关闭的,取词弹窗太烦了,会和ide的弹窗冲突,需要了复制一下到词典app里查询也不麻烦吧

这个版本可以设置成这样来只从 x11 的 Selection 来滑词


抛砖引玉:一个配合 tesseract 用来的小脚本。

(p.s. 我觉得 “用 PaddleOCR 来分析附近图片的字体矩形块,然后和光标的坐标进行交叉对比” 可以作为单独的应用,获取文字结果后可以传入给任意的其它工具。)

e9ca95b2b286525ead0e706319914599633b4f40

#!/usr/bin/env bash

set -e

case $DESKTOP_SESSION in
    sway)
        grim -g "$(slurp)" /tmp/tmp.just_random_name.png
    ;;
    plasmawayland | plasma)
        spectacle --region --nonotify --background \
        --output /tmp/tmp.just_random_name.png
    ;;
    *)
        echo "Failed to know desktop type"
        exit 1
    ;;
esac

# note that tesseract will apppend .txt to output file
tesseract /tmp/tmp.just_random_name.png /tmp/tmp.just_random_name --oem 1  -l eng

goldendict "$(cat /tmp/tmp.just_random_name.txt)"

rm /tmp/tmp.just_random_name.png
rm /tmp/tmp.just_random_name.txt

这是在linux下独占的功能吗?Windows下没有相应的设置。

是。

Windows 上目前只支持监控剪切板变化。