在 Windows 下用 QTranslate 可以划词翻译,调用谷歌或百度翻译引擎,不需要本地词典。
在 Ubuntu 下可以自己写脚本实现一个简陋的版本。
步骤如下:
- 安装 xsel,
sudo apt install xsel
- 安装 translate-shell
然后把以下代码复制进一个 notify-translate.sh 文件中,
#!/usr/bin/env bash
# Need https://github.com/soimort/translate-shell installed.
# Need xsel or xclip installed.
se=$(xsel -b -n -o | tr '\n' ' '| tr '\r' ' ' | sed 's/ / /g') # xclip -selection clipboard -o
echo $se
re=$(/home/xuewei/bin/CopyTranslator/trans -b en:zh "$se")
echo $re
notify-send "$se" "$re" -i accessories-dictionary -t 2000
chmod a+x notify-translate.sh
然后在系统设置中添加快捷键运行 notify-translate.sh 脚本。
打开任意软件,选词,按Ctrl+C复制,然后按下之前设置的快捷键,就会弹出系统通知显示翻译了。
除xsel之外,也可以安装xclip,然后把xsel -b -n -o
替换为xclip -selection clipboard -o
。
脚本中se
存储选中的词,re
存储翻译结果。
使用 translate-shell 是获取翻译的一种方式,使用其他方式也可以。比如用 wget 调用谷歌翻译或百度翻译的 API,或者写 Python 脚本打开谷歌翻译网址,解析页面获取翻译等等。
使用系统通知显示翻译结果也只是显示翻译结果的一种方式,也可以写一个 Python 脚本使用 Tkinter 显示结果,鼠标离开时就销毁窗口?
END
2018.5.3