划词翻译
这是一个可以运行在linux平台上的划词翻译脚本
编写python脚本
文件名:custom_notification.py
nano custom_notification.py
使用nano创建该文件,使用其他编辑器创建也可以
python文件内容:
#! /usr/bin/env python3
# vim:fenc=utf-8
#
# Copyright © 2024 zzq
#
# Distributed under terms of the MIT license.
# 一个命令没有执行成功会导致后续命令也无法执行
"""
"""
import subprocess
import notify2
import requests
# 保存日志的文件路径,自己可以设计
log_file_path="/home/zzq/Code/Sheel/PythonScript/log.txt"
# 弹出窗口的标示图片
icon_path="/home/zzq/Pictures/girl_icon.jpeg"
### 百度单词翻译api
url = 'https://fanyi.baidu.com/sug' # network 找到接口
# 读取剪贴板中的单词
word = subprocess.check_output("xclip -out", shell=True, text=True).strip()
try:
# 将读取到待翻译的单词记录到log文件里
subprocess.check_output(f"echo {word} > {log_file_path}", shell=True, text=True).strip()
data= {
"kw": word
}
# 访问远程链接,获取返回的json结果的数据
response = requests.post(url,json=data)
mean_list = response.json().get('data')
# 从json数据中解析出:单词译文 到mean变量里,
# 如果json返回数据为空,则放mean中保存:"抱歉~~~~~未能查到+_+"
mean = mean_list[0].get('v') if mean_list else "抱歉~~~~~未能查到+_+"
# 关闭请求
response.close()
# 将译文记录到log文件中
subprocess.check_output(f"echo '{mean}' >> {log_file_path}", shell=True, text=True).strip()
# 捕获上面代码执行是否出现异常
except subprocess.CalledProcessError as e:
subprocess.check_output(f"echo '命令执行失败: {e}' >> {log_file_path}", shell=True, text=True).strip()
except requests.RequestException as e:
subprocess.check_output(f"echo '请求失败: {e}' >> {log_file_path}", shell=True, text=True).strip()
except Exception as e:
subprocess.check_output(f"echo '发生未知错误: {e}' >> {log_file_path}", shell=True, text=True).strip()
# 将译文以弹窗的方式显示出,同时显示icon_path指示的图标
subprocess.run(["notify-send", "单词释义", mean, "-i", icon_path, "-t", "10000"])
给py文件赋执行权限
chmod +x custom_notification.py
效果
我使用的是
使用sheel脚本调用python脚本
- 定义一个zzqtrans的脚本
shell脚本名:zzqtrans
#!/bin/bash
#python执行翻译脚本,python是python2,我没有安装,所以只能使用python3来执行
python3 /home/zzq/Code/Sheel/PythonScript/custom_notification.py
-
给
zzqtrans
脚本执行权利chmod 755 zzqtrans
-
将脚本放到
/usr/local/bin
目录里cp zzqtrans /usr/local/bin
通过拷贝命令将zzqtrans复制到/usr/local/bin
设置ubuntu快捷键绑定脚本
-
进入设置
-
选择键盘
![https://gitee.com/zz--yy/mark-down-image/raw/master/image/202404222202546.png)
-
点击:查看及自定义快捷键
-
点击:自定义快捷键
-
点击:
+
- 设置快捷键:名称和命令
8. 点解设置快捷键,将命令和快捷键进行绑定
点击进去后,同时按住alt键和f键,就可以设置绑定上组合键:alt+f
这样就完成了
效果
这里是执行效果这里通过一个显示按键的工具,将我按按键的过程记录下了,我先输入:
alt+f组合键翻译:完成,然后输出其翻译,这个脚本可以实现英文翻译中文,和中文翻译成英文
在使用ctrl+print组合键(这个截图方式是我自己设置的)进行截图
这样就实现了脚本翻译了
这个脚本可以ubuntu上到处用,你可以在ubuntu的软件中选择词进行翻译,可以在浏览器上选择词进行翻译等等