translator.py

# -*- coding: utf-8 -*-

# author: inspurer(月小水长)

# pc_type lenovo

# create_time: 2019/4/6 15:44

# file_name: translator.py

# github https://github.com/inspurer

# qq邮箱 2391527690@qq.com

# 微信公众号 月小水长(ID: inspurer)

import requests

from HandleJs import Py4Js

import win32clipboard as w

import win32con

import time

def getText():#读取剪切板

# 打开剪贴板

w.OpenClipboard()

# 读取剪贴板的内容

d = w.GetClipboardData(win32con.CF_TEXT)

# 关闭剪贴板

w.CloseClipboard()

try:

return d.decode('utf-8')

except:

return d.decode('gbk')

def setText(aString):#写入剪切板

w.OpenClipboard()

w.EmptyClipboard()

w.SetClipboardText(aString)

w.CloseClipboard()

def translate(tk, content):

if len(content) > 4891:

print("翻译的长度超过限制!!!")

return

param = {'tk': tk, 'q': content}

result = requests.get("""http://translate.google.cn/translate_a/single?client=t&sl=en

&tl=zh-CN&hl=zh-CN&dt=at&dt=bd&dt=ex&dt=ld&dt=md&dt=qca&dt=rw&dt=rm&dt=ss

&dt=t&ie=UTF-8&oe=UTF-8&clearbtn=1&otf=1&pc=1&srcrom=0&ssel=0&tsel=0&kc=2""", params=param)

data = result.json()

# print(data)

print(data[0][0][0])

print(data[0][1][2])

return data[0][0][0]

def main():

js = Py4Js()

ls = ''

while(True):

# 如果剪贴板正在被占用

try:

cs = getText()

except:

time.sleep(1)

cs = getText()

print('cs',cs)

if cs and cs != ls:

print('准备翻译')

content = getText()

tk = js.getTk(content)

res = translate(tk, content)

setText(res)

time.sleep(1)

ls = res

if __name__ == "__main__":

main()

# i am a girl

# i am a boy

HandleJs.py

# -*- coding: utf-8 -*-

# author: inspurer(月小水长)

# pc_type lenovo

# create_time: 2019/4/6 15:49

# file_name: HandleJs.py

# github https://github.com/inspurer

# qq邮箱 2391527690@qq.com

# 微信公众号 月小水长(ID: inspurer)

import execjs

class Py4Js():

def __init__(self):

self.ctx = execjs.compile("""

function TL(a) {

var k = "";

var b = 406644;

var b1 = 3293161072;

var jd = ".";

var $b = "+-a^+6";

var Zb = "+-3^+b+-f";

for (var e = [], f = 0, g = 0; g < a.length; g++) {

var m = a.charCodeAt(g);

128 > m ? e[f++] = m : (2048 > m ? e[f++] = m >> 6 | 192 : (55296 == (m & 64512) && g + 1 < a.length && 56320 == (a.charCodeAt(g + 1) & 64512) ? (m = 65536 + ((m & 1023) << 10) + (a.charCodeAt(++g) & 1023),

e[f++] = m >> 18 | 240,

e[f++] = m >> 12 & 63 | 128) : e[f++] = m >> 12 | 224,

e[f++] = m >> 6 & 63 | 128),

e[f++] = m & 63 | 128)

}

a = b;

for (f = 0; f < e.length; f++) a += e[f],

a = RL(a, $b);

a = RL(a, Zb);

a ^= b1 || 0;

0 > a && (a = (a & 2147483647) + 2147483648);

a %= 1E6;

return a.toString() + jd + (a ^ b)

};

function RL(a, b) {

var t = "a";

var Yb = "+";

for (var c = 0; c < b.length - 2; c += 3) {

var d = b.charAt(c + 2),

d = d >= t ? d.charCodeAt(0) - 87 : Number(d),

d = b.charAt(c + 1) == Yb ? a >>> d: a << d;

a = b.charAt(c) == Yb ? a + d & 4294967295 : a ^ d

}

return a

}

""")

def getTk(self, text):

return self.ctx.call("TL", text)

python离线翻译包下载_Python翻译相关推荐

  1. python动态表情包下载_Python从eif中导出qq表情的gif图片

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #!/usr/bin/python 'Test' from sys import stdout from time import sleep f=file ...

  2. python的本地包下载地址

    python的本地包下载地址 python本地包下载地址

  3. 麒麟桌面虚拟机密码破解方法,qcow2格式麒麟操作系统忘记密码处理方法,麒麟qcow2镜像v10版本操作系统下载,麒麟ubuntu离线deb包下载地址并离线安装

    文章目录 破译密码 前提准备 1.重启虚拟机并按e进入救援模式 2.修改密码 3.重启虚拟机 4.测试[版本查看] 5.使用说明 麒麟v10的qcow镜像 麒麟ubuntu离线deb包下载地址并离线安 ...

  4. 谷歌浏览器安卓版_谷歌翻译(在线翻译)下载-谷歌翻译下载安装安卓版v5.12.0...

    软件介绍 谷歌翻译安卓版是一款可以很快进行翻译的app,用户可以利用文档扫描,快速翻译,出国旅游,商务翻译都可以使用这款软件.谷歌翻译安卓版功能很全面,超多的语音翻译可以选择,实现在线翻译,是全世界通 ...

  5. python:osmnx包下载城市路网数据

    OSMnx 是一个可从 OpenStreetMap 下载地理空间数据的软件包,并对真实世界的街道网络和任何其他地理空间几何进行建模.投影.可视化和分析.但是这个包在使用时遇到了一些让人头疼的问题,在这 ...

  6. linux版高德导航软件下载,【高德导航离线地图包下载】高德地图离线包 -ZOL软件下载...

    高德导航离线地图包正宗好地图正宗好应用,欢迎使用由pc操作系统领导企业微软为您冠名的windows8中国好地图--高德导航离线地图包. Win8系统第一款支持3d的地图应用,7500万用户的选择. 高 ...

  7. windows离线补丁包下载路径-云盾安骑士

    我们有一台阿里云服务器,只有内网可以访问,无外网资源. 阿里云账户邮箱反复收到阿里云云盾的漏洞报警通知,推荐安装安骑士组件. 安骑士组件是收费服务.阿里云服务器,无法连上外网,无法自动安装补丁.需要将 ...

  8. 语音识别翻译app下载-语音识别翻译 安卓版v1.2.9-PC6安卓网

    语音识别翻译app是一款能够精准的识别并翻译语音的软件.语音识别翻译软件相比起文字识别或者拍照更加方便和简单,只需对着语音识别翻译app说话就能翻译! 软件介绍 语音识别翻译app是一款主打语音翻译的 ...

  9. python苹果电脑如何下载_python for Mac|python Mac版V2.7.10下载(暂未上线)_预约_飞翔下载...

    pythonfor mac是一种即译式的,互动的,面向对象的编程语言,它包含了模组式的操作,异常处理,动态资料形态,十分高层次的动态资料结构,以及类别的使用.如果因为网络原因,去 Python 官网无 ...

最新文章

  1. SpringBoot整合MQTT服务器实现消息的发送与订阅(推送消息与接收推送)
  2. 多项式的ln、exp、快速幂和开根学习小记
  3. GitHub Research:超过50%的Java记录语句写错了
  4. 关于vue打包的问题
  5. UFIDL稀疏自编码代码实现及解释
  6. 【script】lambda的使用
  7. 按照 ASCII 码从小到大进行排序
  8. C#二次开发金橙子MarkEzd.dll激光打标机
  9. 傲腾内存 可以用ghost系统_光影精灵傲腾版笔记本安装win10系统操作教程
  10. 1 分析计算机上网时断时续的原因,网络丢包现象分析与解决方案
  11. CentOS7修改主机名称(hostname)总是不成功的原因及解决办法
  12. 远程桌面连接计算机是什么,远程桌面连接是什么意思?
  13. 可爱的病毒——电脑病毒竟然被程序员当宠物养!
  14. 图像工作回顾之六:视频质量诊断
  15. 无限乱斗哪个服务器有,《LOL》国服无限乱斗什么时候出 国服2020无限乱斗上线时间...
  16. SharePoint专家新闻轮转器WebPart----亲测力推之Web部件
  17. 什么是 Python ?聊一聊Python程序员找工作的六大技巧
  18. GPU跑TensorFlow的各种显卡下的电脑配置(1080ti)
  19. FPGA|通过AS下载固化
  20. 一个快速出名的捷径让你你平步青云

热门文章

  1. linux进入vi界面后命令,教你Linux-vi编辑器的常用命令
  2. maven的settings配置文件详解
  3. 计算机二级c语言考上机考试吗,计算机二级c语言上机考试操作步骤及流程
  4. java基础提升(六):缓冲流、转换流、序列化流、打印流
  5. H264/AVC 视频编解码一些基本知识
  6. global.fun.php
  7. lrtimelapse中文教程_LRTimelapse中文教程
  8. 窗前花相映 一抹杏腮红 | 腮红用户画像分析
  9. 商务部公布跨国公司港澳台企业捐款详情
  10. 新款武侠游戏 请名人献声