平时经常在网上翻译一些单词,突发奇想,可不可以直接调某些免费翻译网站的接口呢?然后做一个图形界面的翻译小工具?下面开始实践

1.先找一下有哪些免费翻译的接口

百度了一下关键字“免费翻译接口”,然后找到一篇帖子,是介绍有哪些免费翻译接口的,上面有谷歌翻译、百度翻译、有道翻译、必应翻译等等,最终选择了有道翻译

2.使用requests库请求

代码构造如下

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

import requests

string = str(input("请输入一段要翻译的文字:"))

data = {

'doctype': 'json',

'type': 'AUTO',

'i':string

}

url = "http://fanyi.youdao.com/translate"

r = requests.get(url,params=data)

result = r.json()

print(result)

运行结果如下

可以看到“tgt”就是翻译结果,提取翻译结果,如下

translate_result = result['translateResult'][0][0]["tgt"]

print(translate_result)

3.利用tkinter做一个GUI界面程序

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

import requests

from requests.exceptions import RequestException

import tkinter as tk

class Translate():

def __init__(self):

self.window = tk.Tk() #创建window窗口

self.window.title("简易翻译器") # 定义窗口名称

self.window.resizable(0,0) # 禁止调整窗口大小

self.input = tk.Entry(self.window, width=80) # 创建一个输入框,并设置尺寸

self.info = tk.Text(self.window, height=18) # 创建一个文本展示框,并设置尺寸

# 添加一个按钮,用于触发翻译功能

self.t_button = tk.Button(self.window, text='翻译', relief=tk.RAISED, width=8, height=1, command=self.fanyi)

# 添加一个按钮,用于触发清空输入框功能

self.c_button1 = tk.Button(self.window, text='清空输入', relief=tk.RAISED, width=8, height=1, command=self.cle_e)

# 添加一个按钮,用于触发清空输出框功能

self.c_button2 = tk.Button(self.window, text='清空输出', relief=tk.RAISED,width=8, height=1, command=self.cle)

# 添加一张图标

self.image_file = tk.PhotoImage(file='py128.png')

self.label_image = tk.Label(self.window, image=self.image_file)

def gui_arrang(self):

"""完成页面元素布局,设置各部件的位置"""

self.input.grid(row=0,sticky="W",padx=1)

self.info.grid(row=1)

self.t_button.grid(row=0,column=1,padx=2)

self.c_button1.grid(row=0, column=2, padx=2)

self.c_button2.grid(row=0,column=3,padx=2)

self.label_image.grid(row=1, column=1,columnspan=3)

def fanyi(self):

"""定义一个函数,完成翻译功能"""

original_str = self.input.get() # 定义一个变量,用来接收输入框输入的值

data = {

'doctype': 'json',

'type': 'AUTO',

'i': original_str # 将输入框输入的值,赋给接口参数

}

url = "http://fanyi.youdao.com/translate"

try:

r = requests.get(url, params=data)

if r.status_code == 200:

result = r.json()

translate_result = result['translateResult'][0][0]["tgt"]

self.info.delete(1.0, "end") # 输出翻译内容前,先清空输出框的内容

self.info.insert('end',translate_result) # 将翻译结果添加到输出框中

except RequestException:

self.info.insert('end', "发生错误")

def cle(self):

"""定义一个函数,用于清空输出框的内容"""

self.info.delete(1.0,"end") # 从第一行清除到最后一行

def cle_e(self):

"""定义一个函数,用于清空输入框的内容"""

self.input.delete(0,"end")

def main():

t = Translate()

t.gui_arrang()

tk.mainloop()

if __name__ == '__main__':

main()

效果如下

标签:翻译,python,self,翻译器,简易,window,tk,清空,result

用python简易英汉互译界面_python之做一个简易的翻译器(一)相关推荐

  1. 爬虫的一个小案例:python实现英汉互译

    什么是网络爬虫? 网络爬虫又称网络蜘蛛,是指按照某种规则在网络上爬取所需内容的脚本程序.众所周知,每个网页通常包含其他网页的入口,网络爬虫则通过一个网址依次进入其他网址获取所需内容. 一个小案例:py ...

  2. 用python设计一个简易的英汉互译界面_使用python一步一步搭建微信公众平台(二)----搭建一个中英互译的翻译工具...

    距离上次写使用python一步一步搭建微信公众平台(一)已经有几个月了,当中自已也搭建了一个中英文互译的小应用,可是由于英文翻中文好弄,中文翻译成英文一直有问题,知道是编码的问题,但是一直搞不定,于是 ...

  3. python爬虫之英汉互译(爬虫+pyqt5)

    简单的爬虫与图形化界面的结合 源码转载自[https://blog.csdn.net/qq_38534107/article/details/90440403] 作者:耳森Paulson 在此十分感谢 ...

  4. Python 小工具:调用「百度翻译API」实现英汉互译及多语言翻译

    Python 小工具:调用「百度翻译 API」实现英汉互译及多语言翻译 API 简介 过程详解 完整代码 结果展示 附:官方 Demo - Python 2 版本 Python 小工具:调用「百度翻译 ...

  5. 英汉互译在线翻译-英汉互译在线翻译器-英汉互译在线翻译网站

    英汉互译在线翻译软件如下图 免费英汉互译在线翻译软件支持各种语言互相翻译,批量文章文字内容翻译,自动采集翻译,导入文件互译翻译,同时还是各种互译比如:中文翻译英文再翻译回中文.仅支持批量互译翻译,同时 ...

  6. 计算机科学与技术中英翻译,[精品]计算机科学与技术外文翻译、中英对照、英汉互译.doc...

    [精品]计算机科学与技术外文翻译.中英对照.英汉互译 毕业设计(论文)外文资料翻译 学院(系): 计算机科学与技术学院 专 业: 计算机科学与技术 姓 名: 学 号: (用外文写)外文出处: (用外文 ...

  7. c语言英汉互译编程,用C语言编辑简单英汉互译词典.doc

    疥详刁呆害獭荆羞哈沮蒜赫夜内淮牺彻蔼纤凤虹锥硝够唬古进淋牡振拘铅笺元扳与醒靳蹋销钡胶致石衙钦目妈而炸赚鹤邓穷窍瘴笼旬房殆查恨蠢煌沧祥斥瞩骤敌晤屏莲匆目穷妖暗屹码冬息摊挎傍啡坟范给羹哥皱做斋绥甭焕睫苍苫 ...

  8. [渝粤教育] 上海师范大学 英汉互译 参考 资料

    教育 -英汉互译-章节资料考试资料-上海师范大学[] Quiz 1 1.[判断题]English is an analytic language whereas Chinese is a synthe ...

  9. 英汉互译在线翻译器如何语音互译中英文

    英汉互译在线翻译器如何语音互译中英文?我们在生活中或多或少都会遇到中英文翻译问题,特别是中英文语音互译.今天小编将要分享一个中英文在线语音互译的方法,希望可以帮助到大家. 1:在手机应用市场打开翻译工 ...

最新文章

  1. frame框架的显示隐藏操作 (转)
  2. Windows Server 2016软件定义存储:Storage Spaces Direct介绍
  3. 记录一次与大神们的关于GAN应用于NLP的讨论
  4. 【Android开发】用户界面设计-开发自定义的View
  5. 笔记本软件页面分辨率低_AMD宠粉日 适合设计师的高色域笔记本电脑
  6. 亚太地区数学建模优秀论文_数学建模美赛强势来袭!
  7. 刚copy试探发表了一篇文章文章,oschina感觉良好
  8. 百度网盘搜索源码,新加分词功能,内容相关度聚合更高
  9. 编程基础(四)——cache之一
  10. FishC笔记—14 讲 字符串:各种奇葩的内置方法
  11. 我们开发中常用的常用浏览器常用插件,比如FeHelper,React Developer Tools, Vue Devtools,沙拉查词,Infinity,OneTab,AdGuard等
  12. 佳能最新版DPP免CD安装
  13. stm32f103读取红外接收HS0038A2
  14. 程序员如何提高自己的能力
  15. watchfit会升级鸿蒙么,要点曝光:华为watchfit活力版质量好吗?主要的优势在哪里?...
  16. 拓扑学+计算机,拓扑学是什么
  17. kube-apiserver启动时报错并且不能操作etcd
  18. c语言printf打印浮点型,printf以%d输出浮点数
  19. 数据库中视图与表的区别以及如何创建视图、创建表
  20. 计算机非全日制硕士 选校,非全日制硕士研究生,到底值不值得报考?看完这篇就懂了!...

热门文章

  1. linux把m4s格式转换mp4,史上最详细!如何将B站缓存的m4s文件无损转换为mp4格式
  2. 判断一个数是否是质数
  3. EDAthon2020-P4 Floorplanning问题 BSG + Simulated Annealing解决方案
  4. PHP5 session 详解【经典】
  5. 你的“电动爹”,国庆又又又趴窝了吗
  6. CSS关于传统网页中的三大布局方式,手动码字+大白话
  7. 平衡二叉树——如何实现不平衡二叉树到平衡二叉树
  8. 【HNU分布式与云计算系统】MPI实现矩阵乘矩阵运算
  9. 中文版sublime text3的下载网址和注意方法
  10. Axon 4.4 中文版文档(十四)