Linux的Unbuntu划词翻译

划词翻译

这是一个可以运行在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脚本

  1. 定义一个zzqtrans的脚本

shell脚本名:zzqtrans

#!/bin/bash
#python执行翻译脚本,python是python2,我没有安装,所以只能使用python3来执行
python3 /home/zzq/Code/Sheel/PythonScript/custom_notification.py
  1. zzqtrans脚本执行权利

    chmod 755 zzqtrans
  2. 将脚本放到/usr/local/bin目录里

    cp zzqtrans /usr/local/bin

通过拷贝命令将zzqtrans复制到/usr/local/bin

设置ubuntu快捷键绑定脚本

  1. 进入设置

  2. 选择键盘

![https://gitee.com/zz--yy/mark-down-image/raw/master/image/202404222202546.png)

  1. 点击:查看及自定义快捷键

  2. 点击:自定义快捷键

  3. 点击:+

  1. 设置快捷键:名称和命令

8.    点解设置快捷键,将命令和快捷键进行绑定

点击进去后,同时按住alt键和f键,就可以设置绑定上组合键:alt+f

这样就完成了

效果

这里是执行效果这里通过一个显示按键的工具,将我按按键的过程记录下了,我先输入:

alt+f组合键翻译:完成,然后输出其翻译,这个脚本可以实现英文翻译中文,和中文翻译成英文

在使用ctrl+print组合键(这个截图方式是我自己设置的)进行截图

这样就实现了脚本翻译了

这个脚本可以ubuntu上到处用,你可以在ubuntu的软件中选择词进行翻译,可以在浏览器上选择词进行翻译等等

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值