懒人翻译

简介: 前言编码演示总结前言越来越懒了,懒到不想动动鼠标打开翻页网页的界面。尤其是在不一个IDE下,更不想切换了。Chrome浏览器有翻译插件,但是不能自动翻译PDF上的英文; Eclipse可以很方便的查看源码,但是不能自动翻译单词的含义;总的来说吧,可以归结为两个方面。

前言

越来越懒了,懒到不想动动鼠标打开翻页网页的界面。尤其是在不一个IDE下,更不想切换了。

Chrome浏览器有翻译插件,但是不能自动翻译PDF上的英文;
Eclipse可以很方便的查看源码,但是不能自动翻译单词的含义;

总的来说吧,可以归结为两个方面。

  • 一是我太懒,多动几下鼠标又死不了人╭(╯^╰)╮。
  • 二是我英语还有待提升,提上到不用翻译软件就好了。

最后呢,我还是懒得多点那几下鼠标,拷贝粘贴,英语水平也没能到不用翻译就能看懂的地步。

于是我写了个懒人工具,减少鼠标的操作。能少点几下就少点几下。能少按键就少按键。

编码

代码其实很简单的。思路更是清晰。

  • 获取电脑剪切板的内容。
  • 交给翻译接口,获取返回结果。
  • 将结果交给电脑,调用win32api,弹出对话框。
# coding: utf8
import win32clipboard as wc
import win32con

## win32api
import win32api

import sys
from random import randint
import time


from urllib2 import *
from urllib import quote
import json

def getCopyText():
    wc.OpenClipboard()
    copytext = wc.GetClipboardData(win32con.CF_TEXT)
    wc.CloseClipboard()
    return str(copytext)

def getTransText(rawtext):
    translate_url = "http://fanyi.baidu.com/v2transapi?query=%s"%quote(rawtext)
    data = urlopen(translate_url).read()
    data = json.loads(data)
    return data['trans_result']['data'][0]['dst']

if __name__ == '__main__':
    second = sys.argv[1] if sys.argv[1] else 3
    while True:
        time.sleep(int(second))
        try:
            rawtext = getCopyText()
            transtext = getTransText(rawtext)
            # show the details info.
            title = rawtext + "\' s translation result "
            win32api.MessageBox(0, transtext, title, win32con.MB_OK)
        except Exception as e:
            print 'Something is wrong, maybe your text is too long.'
            print "-----------------------------------------"
            continue
        print transtext
        print "-----------------------------------------"

演示

使用起来也很简单。如下:

python trans.py seconds

这个seconds就是你想让这段代码多长时间工作一次。

只要你复制了一些内容到了电脑的剪切板中,这段脚本就能每隔seconds秒,帮你查询翻译的结果。还可以翻译句子哦。

使用效果截图

总结

最后来总结一下,这个工具哪里还能改进一下。

轮询的方式稍微有点消耗计算资源,可以尝试着使用信号量,每当剪切板中有了数据,就触发翻译事件,再来显示翻译结果。

其次就是改进一下编码,我这边因为是自己用,所以没有添加注释,但是这确实是不对的。引以为戒好了。

目录
相关文章
|
4月前
ChatGPT提问获取高质量答案的艺术PDF下载书籍推荐分享
**掌握ChatGPT高质量Prompt技巧的指南,教你艺术性提问以获取卓越答案。适用于各层次用户,提升内容创作效率。了解Prompt工程,作为对话模式触发器,有效引导ChatGPT生成人类般文本。点击获取PDF资源:[ChatGPT提问艺术](https://zhangfeidezhu.com/?p=334)**
52 0
ChatGPT提问获取高质量答案的艺术PDF下载书籍推荐分享
|
6月前
|
Web App开发 存储 前端开发
【4万字长文吐血整理】LaTeX基础使用【助你熟练玩转LaTeX】
【4万字长文吐血整理】LaTeX基础使用【助你熟练玩转LaTeX】
|
算法
算法创作|神奇语言问题解决方法
算法创作|神奇语言问题解决方法
67 1
如何利用ChatPDF快速阅读英文论文,帮你写文章
如何利用ChatPDF快速阅读英文论文,帮你写文章
162 0
|
缓存 程序员 API
【翻译】阅读优秀的代码
【翻译】阅读优秀的代码
90 0
|
API Python
03 奇妙的Python库之【googletrans(翻译)】
03 奇妙的Python库之【googletrans(翻译)】
|
JavaScript 前端开发 程序员
英语翻译太难?我一怒之下写了两个翻译脚本
它来了!它来了!作为一名程序员,英语句子不会翻译,这我不能忍,必须安排脚本!!!
151 1
英语翻译太难?我一怒之下写了两个翻译脚本
|
Python
想学Python又看不懂英文 ?20秒教会你PyCharm如何设置中文 !
想学Python又看不懂英文 ?20秒教会你PyCharm如何设置中文 !
9222 0
想学Python又看不懂英文 ?20秒教会你PyCharm如何设置中文 !
|
Linux iOS开发 MacOS
【论文写作】LaTeX排版工具 | 写给初学者的一篇容易上手的文档 上
【论文写作】LaTeX排版工具 | 写给初学者的一篇容易上手的文档
442 0
【论文写作】LaTeX排版工具 | 写给初学者的一篇容易上手的文档 上
|
算法
【论文写作】LaTeX排版工具 | 写给初学者的一篇容易上手的文档 下
【论文写作】LaTeX排版工具 | 写给初学者的一篇容易上手的文档
192 0
【论文写作】LaTeX排版工具 | 写给初学者的一篇容易上手的文档 下