inputTranslator 输入翻译小助手

输入翻译助手,你只需要触发热键(例如大键盘右侧的Ctrl),即可轻松编辑框中内容翻译成指定语言。

节省你跨软件操作的时间。和异国友人轻松对话。

inputTranslator 输入翻译小助手_Qwen

❓解决什么问题?

我需要一款输入后翻译的小助手,在聊天中方便我快速翻译回复,不想跨软件操作。

但是,目前网上没有一款好用的软件,手机端百度和微信的输入法支持此需求,但我大部分使用场景在PC端,于是有了这个工具。

日常使用场景:

  • 复制--翻译--粘贴,
  • 划词--翻译--复制--粘贴

有了这个工具,我只要在编辑框中输入内容,按下热键,即可完成翻译。

🌟 项目简介

实时输入翻译小助手是一个基于Python的键盘监听工具,能够实时翻译用户选择的文本内容。

目前支持(我只需要用到的三种,更多自己改)中文英语印地语

用户可以通过按下特定的键盘组合来切换语言、切换翻译接口、触发翻译或退出程序。

默认使用千问模型,也支持谷歌翻译(免费),其他接口,函数写好了,自己解决token之类的东西。

▶ 演示

inputTranslator 输入翻译小助手_阿里云_02

❤ 实现原理

实时检测用户键盘输入,当按下特定的热键后(如下图Ctrl):

inputTranslator 输入翻译小助手_阿里云_03

软件经历的流程

  1. 全选当前编辑框中的内容,并复制到剪贴板。
  2. 获取剪贴板中的内容,传给翻译接口,并翻译成指定语言。
  3. 将翻译结果粘贴到当前光标位置。

🛠 版本说明

  • v0.0.1: 第一版本完成基本功能,基于千问模型、deep_translator谷歌翻译源(免token使用),支持三种个人需要的语言切换、固定热键翻译。

🛠 功能概述

  • 语言切换: 按下 Tab 键可在三种语言(中文、英语、印地语)之间循环切换。
  • 翻译接口切换: 按下 左Shift 键可在三种翻译接口(千问模型、谷歌、百度、必应)之间循环切换。
  • 实时翻译: 按下 右CtrlAlt 键将会触发翻译功能,翻译剪贴板中的内容并将翻译结果粘贴到当前光标位置。
  • 退出程序: 按下 Esc 键退出程序。

📦服务器信息

本工具使用阿里云八代实例(g8i)+xFasterTransformer+Qwen-7B-Chat模型搭建而成

inputTranslator 输入翻译小助手_AIGC_04

安装xft

主要是用docker镜像安装xft

sudo docker pull registry.openanolis.cn/openanolis/xfastertransformer:1.7.3-23
sudo docker run -it --name xFT -h xFT --privileged --shm-size=16g --network host -v /mnt:/mnt -w /mnt/xFasterTransformer registry.openanolis.cn/openanolis/xfastertransformer:1.7.3-23

inputTranslator 输入翻译小助手_翻译助手_05

安装Qwen-7B-Chat模型

下载模型

git clone https://www.modelscope.cn/qwen/Qwen-7B-Chat.git /mnt/data/qwen-7b-chat

启动模型服务

1、在容器中,依次执行以下命令,安装WebUI相关依赖软件。

cd /root/xFasterTransformer/examples/web_demo
pip install -r requirements.txt

2、执行以下命令,启动WebUI。

OMP_NUM_THREADS=$(($(lscpu | grep "^CPU(s):" | awk '{print $NF}') / 2)) GRADIO_SERVER_NAME="0.0.0.0" numactl -C $(seq -s, 0 2 $(($(lscpu | grep "^CPU(s):" | awk '{print $NF}') - 2))) -m 0 python Qwen.py -t /mnt/data/qwen-7b-chat -m /mnt/data/qwen-7b-chat-xft -d bf16

当出现如下信息时,表示WebUI服务启动成功。

inputTranslator 输入翻译小助手_Qwen_06

安装/运行/打包说明

📦 库安装

# 主要依赖库
pip install pynput pyperclip deep_translator
# 其他
pip install requests tabulate art

🚀 运行方法

注意:安装好依赖库后,直接运行 xx.py 即可。

python inputTranslator.py

📦 打包执行文件方法

pip install pyinstaller
pyinstaller --onefile inputTranslator.py

运行后,可以最小化到后端运行,不要关闭就可以了。

##作品发布地址