前言
对于我这种英语比较差的人来说,无论是敲代码还是看文档,
那都是离不开翻译软件的,于是我想自己用python做一个翻译软件,
花了一个小时,终于做了出来了,支持各种语言的翻译
一、需要的库
translate:
谷歌翻译的第三方包,可以实现多种语言之间的相互翻译。
tkinter:
tkinter 是 python 的标准 gui 库。python 使用 tkinter 可以快速的创建 gui 应用程序。
没有安装的话,复制下面的命令,直接安装
1
2
|
pip install translate pip install tkinter |
二、分析处理
1.步骤
要实现翻译软件,需要完成两样东西:
1.翻译过程的代码实现
2.图形界面代码的实现
2.思路
我的思路是先整体完成翻译的代码,然后再结合图形界面的代码重新整合,开搞!
三.代码的实现
1.翻译部分
翻译部分的代码:
1
2
3
4
5
6
7
8
9
10
|
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.图形界面代码
这是我设置的界面的大小:
图形界面初始化:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
# 初始化,画布大小 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 ) |
效果如下:
有强迫症的我,在这个地方调了好久好久…最后终于对称了…心累
然后完成翻译按钮和文本的输入,输出框
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# 调用翻译 # 文字提示 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完美!!
代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
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() |
总结
这个小软件或许不是很高大上,
但是每一种尝试和发现,都能成为我进步的阶梯
结果是看客们茶余饭后的谈资
过程是亲历者经年留影的宝藏
如果喜欢的话,给个关注和点赞吧
到此这篇关于python做翻译软件详解,小白也看得明白的文章就介绍到这了,更多相关python翻译软件内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://blog.csdn.net/m0_53088614/article/details/119905908