用translate包和tkinter写一个简单的桌面翻译软件。
1、窗口设置&引入包:
from tkinter import *
from tkinter.ttk import *
from tkinter.messagebox import *
import translate
win=Tk()
win.title('翻译')
win.geometry("600x400")
win.mainloop()
2、设置语言和对应的简写
list_in=['汉语','英语','日语','西班牙语','法语','俄语']
list_out=list_in
lg_d={'汉语':'ZH'
,'英语':'EN-US'
,'日语':'JA'
,'西班牙语':'ES'
,'俄语':'RU'
,'法语':'FR'}
3、设置各个部件和按钮
#语言选择和翻译按钮
Cb_in=Combobox(win,width=10,textvariable=StringVar(),values=list_in)
Cb_in.current(0)
Cb_in.grid(row=0,column=0)
btn=Button(win,text='翻译',command=fanyi)
btn.grid(row=1,column=1)
Cb_out=Combobox(win,width=10,textvariable=StringVar(),values=list_out)
Cb_out.current(0)
Cb_out.grid(row=0,column=2)
#输入框
text_in=Text(win,width=30,height=25)
text_in.grid(row=1,column=0)
#输出框
text_out=Text(win,width=30,height=25)
text_out.grid(row=1,column=2)
4、设置翻译功能
def fanyi():
#读取输入框
t_in=text_in.get('0.0',END)
#读取来源和目标语言
lg_in=Cb_in.get()
lg_out=Cb_out.get()
if len(lg_out .strip())==0 or lg_in not in list_in:
#验证语言选择是否正确
showwarning('警告','请正确选择语言类型!')
elif len(lg_out .strip())==0 or lg_out not in list_out:
#验证语言选择是否正确
showwarning('警告','请正确选择语言类型!')
elif t_in=='' or len(t_in.strip())==0:
#验证输入框是否输入
showwarning('警告', '请输入需要翻译的文本!')
else:
tran = translate.Translator(from_lang=lg_d[lg_in], to_lang=lg_d[lg_out])
t_out = tran.translate(t_in)
#print(t_out)
text_out.delete('0.0',END)
text_out.insert(INSERT,t_out)
运行验证:
正常情况:
不正常输入/选择