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

总结

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

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

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

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

相关文章
|
12天前
|
数据安全/隐私保护 Python
1178: 密码翻译(python)
1178: 密码翻译(python)
|
13天前
|
存储 缓存 JavaScript
python实战篇:利用request库打造自己的翻译接口
python实战篇:利用request库打造自己的翻译接口
26 1
python实战篇:利用request库打造自己的翻译接口
|
2月前
|
Unix 程序员 Apache
从 Python 之父的对话聊起,关于知识产权、知识共享与文章翻译
从 Python 之父的对话聊起,关于知识产权、知识共享与文章翻译
27 0
|
2月前
|
监控 Python
使用Python编写的电脑上网时间控制软件:实现家长监管功能
在当今数字化时代,孩子们对互联网的依赖程度越来越高,但是过度使用互联网可能会对他们的健康和学业产生负面影响。为了帮助家长有效地监管孩子们的上网行为,我们开发了一款基于Python的电脑上网时间控制软件,具有家长监管功能。
164 1
|
2月前
|
Python
Python 3.10 版本采纳了首个 PEP,中文翻译即将推出
Python 3.10 版本采纳了首个 PEP,中文翻译即将推出
18 3
|
3月前
|
前端开发 Python
【Python • 项目实战】pytesseract+pyqt实现图片识别软件小项目——(二)实现QQ截图功能
【Python • 项目实战】pytesseract+pyqt实现图片识别软件小项目——(二)实现QQ截图功能
62 0
|
6天前
|
Web App开发 测试技术 网络安全
|
4月前
|
算法 数据可视化 定位技术
【python实操】如何通过简单拖拽直接开发软件,避免手写界面布局
【python实操】如何通过简单拖拽直接开发软件,避免手写界面布局
55 0
|
29天前
|
存储 UED 开发者
Python语言的软件打包及发布
Python语言的软件打包及发布
|
1月前
|
JSON 监控 安全
用Python编写内网网管软件的关键功能
在现代企业环境中,内网网管软件的重要性日益突显。这些软件能够监控网络活动、管理设备状态以及提供安全性和性能方面的支持。Python作为一种灵活且功能强大的编程语言,被广泛应用于开发这类网络管理工具。本文将介绍用Python编写内网网管软件的关键功能,并通过举例说明其实现方式。
103 1