用python做一个翻译软件

简介: 文章目录前言一、需要的库二、分析处理1.步骤2.思路三.代码的实现1.翻译部分2.图形界面代码3.整合总结

前言

对于我这种英语比较差的人来说,无论是敲代码还是看文档,

那都是离不开翻译软件的,于是我想自己用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.整合

将翻译的代码一起整合后,终于大功告成

先上效果展示,再上代码:

4b5f717f911840ce943fa8b1f9709ac4.gif

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()

总结

这个小软件或许不是很高大上,

但是每一种尝试和发现,都能成为我进步的阶梯

结果是看客们茶余饭后的谈资

过程是亲历者经年留影的宝藏

相关文章
|
1月前
|
测试技术 数据安全/隐私保护 开发者
自动化测试的奥秘:如何用Selenium和Python提升软件质量
【9月更文挑战第35天】在软件开发的海洋中,自动化测试是那艘能引领我们穿越波涛的帆船。本文将揭开自动化测试的神秘面纱,以Selenium和Python为工具,展示如何构建一个简单而强大的自动化测试框架。我们将从基础出发,逐步深入到高级应用,让读者能够理解并实现自动化测试脚本,从而提升软件的质量与可靠性。
|
2月前
|
Python
python 翻译,调用有道翻译
python 翻译,调用有道翻译
|
1月前
|
IDE API 定位技术
Python--API编程:IP地址翻译成实际的物理地址
Python--API编程:IP地址翻译成实际的物理地址
|
1月前
|
存储 IDE 开发工具
编写Python参考手册速查软件(一)
编写Python参考手册速查软件(一)
|
1月前
|
Python
编写Python参考手册速查软件(二)
编写Python参考手册速查软件(二)
|
3月前
|
数据采集 开发工具 Python
海康威视工业相机SDK+Python+PyQt开发数据采集系统(支持软件触发、编码器触发)
该系统基于海康威视工业相机SDK,使用Python与PyQt开发,支持Gige与USB相机设备的搜索及双相机同时显示。系统提供软件触发与编码器触发模式,并可在数据采集过程中实时保存图像。此外,用户可以调节曝光时间和增益,并进行信息输入,这些信息将被保存至配置文件以便下次自动加载。参数调节与实时预览等功能进一步增强了系统的实用性。
196 1
|
3月前
|
数据采集 XML 前端开发
Python爬虫实战:利用代理IP爬取百度翻译
Python 爬虫实战:利用代理 IP 爬取百度翻译
187 2
|
4月前
|
达摩院 语音技术 异构计算
语音识别-免费开源的语音转文本软件Whisper的本地搭建详细教程,python版本是3.805,ffmpeg是专门处理音视频的,ffmpeg的下载链接,现在要求安装python和ffmpeg
语音识别-免费开源的语音转文本软件Whisper的本地搭建详细教程,python版本是3.805,ffmpeg是专门处理音视频的,ffmpeg的下载链接,现在要求安装python和ffmpeg
|
4月前
|
机器学习/深度学习 存储 自然语言处理
使用Python实现深度学习模型:语言翻译与多语种处理
【7月更文挑战第21天】 使用Python实现深度学习模型:语言翻译与多语种处理
178 0
|
4月前
|
监控 网络协议 安全
由于楼层自动化系统的复杂性和多样性,很难给出一个通用的Python代码示例,因为每个系统可能使用不同的硬件、通信协议和软件接口。
由于楼层自动化系统的复杂性和多样性,很难给出一个通用的Python代码示例,因为每个系统可能使用不同的硬件、通信协议和软件接口。