Linux 下的划词翻译小工具
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
popupdict Release v0.3.2. Fix #6 Aug 14, 2018
screenshots Update README Jan 4, 2018
.editorconfig Initialize Dec 13, 2017
.gitignore Initialize Dec 13, 2017
Changelog.md
Development.md Release v0.3 Apr 6, 2018
LICENSE Initialize Dec 13, 2017
MANIFEST.in
README.md Fix link Aug 13, 2018
requirements.txt Initialize Dec 13, 2017
setup.py Release v0.3.1 Jul 17, 2018

README.md

popup-dict

Linux 下的划词翻译工具,支持使用有道等多种翻译服务。

使用 Python 3 + Gtk+ 3 编写,适用于 Gnome 桌面环境。

screenshots

功能特点:

  • 目前只支持英文->中文翻译,支持单词和短语
  • 主要针对 Gnome 桌面环境,不保证其它环境下的正常使用
  • 鼠标划词翻译,弹窗显示
  • 智能处理选中内容(去除两端非英文字符、压缩空白字符、删除换行符等)
  • 弹窗显示一段时间后自动关闭。若鼠标在弹窗中,延迟关闭
  • 点击弹窗中链接可打开有道词典网页版

本工具主要受 @idningyoudao-dict-for-ubuntu 启发。

依赖

安装

确保已安装 PyGObject

PyPI:

sudo pip install popupdict

运行

popup-dict

# 查看帮助
popup-dict -h

可使用 Gnome Shell Extension popup-dict-switcher 一键打开/关闭 popup-dict

配置

应用默认加载以下位置中第一个存在的配置文件:

  • ~/.config/popup-dict/config.ini
  • /etc/popup-dict/config.ini

也可通过命令参数指定配置文件位置。

默认配置:

[global]
# 弹窗显示时间。单位:秒;类型:float
popup_timeout = 3
# 是否使用 Gtk Global Dark Theme。不设置或设为空则使用系统默认设置。类型: boolean
prefer_dark_theme =
# 调试模式
debug = false
# 缓存翻译结果和音频文件
cache = true
# 最大缓存条目数,仅针对单个查询客户端或发音下载器
max_cache_items = 1000

# 查询客户端配置
[query]
# 查询客户端 id
client = youdao-zhiyun

# 发音配置
[speech]
# 启用发音
enabled = true
# 自动播放
auto_play = true
# 发音客户端 id
client = youdao

# 各查询客户端的默认配置,可在各客户端的配置中覆盖
[query-client]
# 请求超时时间。单位:秒;类型:float
request_timeout = 3

# 各发音下载器的默认配置
[speech-client]
request_timeout = 5


##### 各查询客户端配置 ######

# 有道词典网页版
[query:youdao-web]

# 有道智云
# http://ai.youdao.com/doc.s#guide
[query:youdao-zhiyun]
app_id =
app_secret =


##### 各发音客户端配置 ######
[speech:youdao]

Todo

  • 实现有道词典网页版查询客户端
  • 根据选中文本位置而非鼠标位置定位弹窗(应对不用鼠标选中文本的情况;避免遮盖选中文本)
  • 支持 Wayland
  • 支持多显示器
  • 展示某些错误提示(比如 API 授权错误)
  • test
  • 进程退出时删除 pid 文件
  • 打包到 AUR
  • 版本更新提示
  • 实现 status, start, stop, restart 命令
  • 解决偶现的弹窗中列表显示异常
  • 选中内容在连字符("-")处换行时,区分是一个单词被断开还是本来就包含连字符的合成词
  • 生词本

类似工具

GUI:

Console:

License

This project is licensed under the terms of the MIT license.