python 制作一个翻译软件
废话不多说,直接上代码:from tkinter import *
from tkinter import ttk
import requests
import json
class Application(Tk):
def __init__(self):
super().__init__()
self.title('翻译')
self.geometry('540x380')
self.resizable(False, False)
self.init_widgets()
def init_widgets(self):
trans_type1List = ["自动检测", "中文", "英文"]
trans_type2List = ["中文", "英文"]
label1 = Label(self, text='翻译成——>', font=('微软雅黑', 14))
label1.place(x=168, y=8, width=120, height=33)
trans_button = Button(self, text='翻译', command=self.translate_text)
trans_button.place(x=450, y=8, width=70, height=33)
self.type_dict = {
"自动检测": "auto-detect",
"中文": "zh-Hans",
"英文": "en"
}
self.trans_type1 = ttk.Combobox(self, values=trans_type1List, font=('微软雅黑', 14))
self.trans_type1.current(0)
self.trans_type1.bind("<Key>", lambda e: "break")
self.trans_type1.place(x=16, y=8, width=130, height=33)
self.trans_type2 = ttk.Combobox(self, values=trans_type2List, font=('微软雅黑', 14))
self.trans_type2.current(1)
self.trans_type2.place(x=310, y=8, width=130, height=33)
self.origin_text = Text(self, font=('微软雅黑', 14))
self.origin_text.insert("1.0", "原文")
self.origin_text.place(x=0, y=56, width=540, height=150)
self.trans_text = Text(self, font=('微软雅黑', 14))
self.trans_text.insert("1.0", "翻译")
self.trans_text.configure(state=DISABLED)
self.trans_text.place(x=0, y=210, width=540, height=180)
def translate_text(self):
text = self.origin_text.get("1.0", "end")
type1 = self.type_dict
type2 = self.type_dict
self.trans_text.configure(state=NORMAL)
self.trans_text.delete("1.0", "end")
self.trans_text.insert("1.0", self.translate(text, type1, type2))
self.trans_text.configure(state=DISABLED)
def translate(self, text, type1, type2):
url = "https://cn.bing.com/ttranslatev3?isVertical=1&&IG=B82C0E46ED384A0FA9E24E5DBFE84EBF&IID=translator.5024.1"
form_data = {
"fromLang": f"{type1}",
"text": f"{text}",
"to": f"{type2}"
}
headers = {
"user-agent": 'Mozilla/5.0 (Windows NT 10; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94412.3 Safari/537.36'
}
res = requests.post(url, data=form_data, headers=headers)
content = json.loads(res.text)
return content["translations"]["text"]
if __name__ == '__main__':
app = Application()
app.mainloop()
效果:
如果想看教程的话,可以到这个链接:
**** Hidden Message *****
如果上面的链接失效了的话或者感觉我的公众号还不错的话,希望各位鱼油们可以关注一下我的公众号。
https://mp.weixin.qq.com/mp/qrcode?scene=10000004&size=102&__biz=MzUyMDk4NjkzOQ==&mid=100000064&idx=1&sn=70b82f1d81ec1f9eea05aa130098a44b&send_time=1613375092
大佬牛皮!{:10_257:} weiter 发表于 2021-2-15 16:43
大佬牛皮!
我更喜欢百度翻译{:10_256:},你有没有兴趣参加NOIP{:10_256:} 厉害 牛 {:5_106:} 很想知道调用了什么接口 厉害{:5_106:} {:9_227:} 厉害呀 厉害
看看 牛啊,i了 厉害 www厉害 zhiweng07 发表于 2021-2-16 08:49
很想知道调用了什么接口
微软的 {:10_275:} 感谢 建议增加按回车键就可以翻译的功能
不增加输入完内容还得用鼠标点“翻译”按钮 tkinter