python做翻译软件详解,小白也看得明白
作者:弈鸣敲代码 发布时间:2023-08-08 06:25:44
标签:python,翻译,软件,脚本
前言
对于我这种英语比较差的人来说,无论是敲代码还是看文档,
那都是离不开翻译软件的,于是我想自己用python做一个翻译软件,
花了一个小时,终于做了出来了,支持各种语言的翻译
一、需要的库
translate:
谷歌翻译的第三方包,可以实现多种语言之间的相互翻译。
tkinter:
Tkinter 是 Python 的标准 GUI 库。Python 使用 Tkinter 可以快速的创建 GUI 应用程序。
没有安装的话,复制下面的命令,直接安装
pip install translate
pip install tkinter
二、分析处理
1.步骤
要实现翻译软件,需要完成两样东西:
1.翻译过程的代码实现
2.图形界面代码的实现
2.思路
我的思路是先整体完成翻译的代码,然后再结合图形界面的代码重新整合,开搞!
三.代码的实现
1.翻译部分
翻译部分的代码:
from translate import Translator
lang1=input("想翻译的语言:")
lang2=input("翻译为: ")
trans_all=Translator(from_lang = lang1.capitalize(), to_lang=lang2.capitalize())
text=input("需要翻译的文本")
text_to=trans_all.translate(text)
print(text_to)
展示一手:
这部分完成后我们来完成图形界面
2.图形界面代码
这是我设置的界面的大小:
图形界面初始化:
# 初始化,画布大小
root = Tk()
root.geometry('340x540')
# 输入语言提示
lb1 = Label(root, text="language " "\t""-->" "\t" + " language")
lb1.place(relx=0.1, rely=0.05, relwidth=0.8, relheight=0.05)
# 第一个语言输入框
inp1 = Entry(root)
inp1.place(relx=0.1, rely=0.1, relwidth=0.3, relheight=0.1)
# 第二个语言输入框
inp2 = Entry(root)
inp2.place(relx=0.6, rely=0.1, relwidth=0.3, relheight=0.1)
效果如下:
有强迫症的我,在这个地方调了好久好久…最后终于对称了…心累
然后完成翻译按钮和文本的输入,输出框
# 调用翻译
# 文字提示
lb2 = Label(root, text="输入需要翻译的文本")
lb2.place(relx=0.1, rely=0.25, relwidth=0.8, relheight=0.05)
# 输入需要翻译的文本
inp3 = Entry(root)
inp3.place(relx=0.1, rely=0.35, relwidth=0.8, relheight=0.15)
# 翻译按钮
btn1 = Button(root, text='翻译', command=translate_to)
btn1.place(relx=0.4, rely=0.5, relwidth=0.2, relheight=0.1)
# 翻译的结果
txt = Text(root)
txt.place(rely=0.7, relheight=0.2)
root.mainloop()
最后呈现的效果:
到这里他只是一个躯壳,还没有灵魂,接下来,我们为他注入灵魂。
3.整合
将翻译的代码一起整合后,终于大功告成
先上效果展示,再上代码:
ohhhhh完美!!
代码:
from translate import Translator
from tkinter import *
def translate_to():
lang1 = inp1.get() # 被翻译的语言
lang2 = inp2.get() # 翻译出的语言
from_to = Translator(from_lang=lang1.capitalize(), to_lang=lang2.capitalize())
text = inp3.get() # 得到输入框的文本
ans = from_to.translate(text) # 执行翻译
txt.insert(END, ans) # 将翻译的结果给到文本框txt
inp3.delete(0, END) # 清空输入框
# 初始化,画布大小
root = Tk()
root.geometry('340x540')
# 输入语言提示
lb1 = Label(root, text="language " "\t""-->" "\t" + " language")
lb1.place(relx=0.1, rely=0.05, relwidth=0.8, relheight=0.05)
# 第一个语言输入框
inp1 = Entry(root)
inp1.place(relx=0.1, rely=0.1, relwidth=0.3, relheight=0.1)
# 第二个语言输入框
inp2 = Entry(root)
inp2.place(relx=0.6, rely=0.1, relwidth=0.3, relheight=0.1)
# 调用翻译
# 文字提示
lb2 = Label(root, text="输入需要翻译的文本")
lb2.place(relx=0.1, rely=0.25, relwidth=0.8, relheight=0.05)
# 输入需要翻译的文本
inp3 = Entry(root)
inp3.place(relx=0.1, rely=0.35, relwidth=0.8, relheight=0.15)
# 翻译按钮
btn1 = Button(root, text='翻译', command=translate_to)
btn1.place(relx=0.4, rely=0.5, relwidth=0.2, relheight=0.1)
# 翻译的结果
txt = Text(root)
txt.place(rely=0.7, relheight=0.2)
root.mainloop()
来源:https://blog.csdn.net/m0_53088614/article/details/119905908


猜你喜欢
- 一、php中pcntl_fork函数概述pcntl_fork()函数是php中用于创建子进程的一个函数,返回创建的子进程的pid。该函数创建
- 这篇文章主要介绍了基于python实现从尾到头打印链表,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋
- 问题分析在关闭数据库的命令发现mysql关不了,提示Warning: World-writable config file '/et
- pyyaml模块在python中用于处理yaml格式数据,主要使用yaml.safe_dump()、yaml.safe_load()函数将p
- 什么是分页技术 分页,是一种将所有数据分段展示给用户的技术.用户每次看到的不是全部数据,而是其中的一部分,如果在其中没有找到自习自
- 安装方法:Windows:在终端输入命令:pip install scrapy;mac:在终端输入命令:pip3 install scrap
- 网络I/O模型人多了,就会有问题。web刚出现的时候,光顾的人很少。近年来网络应用规模逐渐扩大,应用的架构也需要随之改变。C10k的问题,让
- 首先 下载 jedis.jar包然后再 工程设置里面找到Libraries,点击+。添加下载好的jedis.jar包。点击OK退出即可创建J
- 本文实例为大家分享了pygame实现简单五子棋游戏的具体代码,供大家参考,具体内容如下看代码:①Gomuku2.py:import sysi
- 背景在某些场景下,我们可能会大量的使用字节数组,比如IO操作、编解码,如果不进行优化,大量的申请和释放字节数组会造成一定的性能损耗,因此有必
- js中报404是经常出现的问题,下列是一些高频原因;<script src="${pageContext.request.c
- 创建索引:MySql创建索引的语法如下:CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name
- 引言 上一篇介绍完了观察者模式的原理,本篇想就此再介绍一个小应用,虽然我也就玩了一下午,是当时看observer正好找到的,以及还有Djan
- @click @tap重叠事件区分点击remove事件会触发details事件,使用@click.stop官方介绍<ul>??
- 清除浮动这个问题的提出,在现在来说应该算是一个非常古老的问题了,很多人对解决办法估计也能烂记于心了,但是我这个落后了不少的前端开发程序员,太
- 配置说明Linux系统:CentOS-7.0MySQL版本:5.7.21Linux系统下启动多个MySQL实例,目前知道有两种方法,一种是通
- 额……首先呢说说这个标题吧,实在不知道叫什么好,因为这个demo呢其实一个艾文王今天中午给丢给我一个图。他说这个是一个面试题,给我看看。这样
- 前言在Python爬虫中,使用requests发送请求,访问指定网站,是常见的做法。一般是发送GET请求或者POST请求,对于GET请求没有
- PyTorch中数据读取的一个重要接口是torch.utils.data.DataLoader,该接口定义在dataloader.py脚本中
- Pytorch统计参数网络参数数量def get_parameter_number(net): total_num