猫史档案馆


【纯属瞎搞】tkinter,requests制作的翻译器

用户:悦qr8R悦qr8R查看:0 回复:1 评论:0 创建时间:2023-02-05T10:20:22


编辑器:visualstudiocode (不知道为什么海龟编辑器显示不出tkinter窗口) /lib/ext.py support_launguage={ "zh":"中文", "en":"英语", "yue":"粤语", "wyw":"文言文", "jp":"日语", "kor":"韩语", "fra":"法语", "spa":"西班牙语", "th":"泰语", "ara":"阿拉伯语", "ru":"俄语", "pt":"葡萄牙语", "de":"德语", "it":"喵语", "el":"希腊语", "nl":"荷兰语", "pl":"波兰语", "bul":"保加利亚语", "est":"爱沙尼亚语", "dan":"丹麦语", "fin":"芬兰语", "cs":"捷克语", "rom":"罗马尼亚语", "slo":"斯洛文尼亚语", "swe":"瑞典语", "hu":"匈牙利语", "cht":"繁体中文", "vie":"越南语" } lib/trans.py importrequestsasr importrandom,hashlib,urllib #这是一个翻译软件的核心翻译部分。 #使用百度api,最多可以翻译50000个字母,28个语言. salt=str(random.randint(32768,65536)) deftrans(launguage,text,appid,key): #launguage:翻译的目标语言 #text:翻译的单词,句子,段落。 #APPID,key:你的百度apikey. sign=f"{appid}{text}{salt}{key}" sign=hashlib.md5(sign.encode()).hexdigest()#获取签名 data=r.get(f"http://api.fanyi.喵/api/trans/vip/translate?q=apple&from=auto&to={launguage}&q={urllib.parse.quote(text)}&appid={appid}&salt={salt}&sign={sign}").content returndata if__name__=="__main__": print(trans("zh","apple","20230202001547742","oCx9t8YYc7GvmzD_mQ1V")) main.pyw(为了只显示图形化界面而改名为pyw) """ 这是一个使用百度api的翻译程序。 使用tkinter,requests作为GUI与爬虫实现库。 """ importos try: importrequests,tkinter exceptImportError: print("你好像没有安装相关库。") os.system("pause") exit(0) fromtkinterimport* fromtkinterimportttk,messagebox fromlibimporttrans,ext importjson lan=ext.support_launguage tk=Tk() tk.title("翻译程序") tk.geometry("700x400+0+0") l=Label(tk,text="输入你要翻译的文本",justify="left") tk.resizable(0,0) box=Text(tk,width=700) comb=ttk.Combobox(tk) comb["value"]=( "选择目标语言", "中文", "英语", "粤语", "文言文", "日语", "韩语", "法语", "西班牙语", "泰语", "阿拉伯语", "俄语", "葡萄牙语", "德语", "喵语", "希腊语", "荷兰语", "波兰语", "保加利亚语", "爱沙尼亚语", "丹麦语", "芬兰语", "捷克语", "罗马尼亚语", "斯洛文尼亚语", "瑞典语", "匈牙利语", "繁体中文", "越南语" ) defformat_comb(): g=comb.get() forkinlan.items(): ifgink: #print(k[0]) returnk[0] deftran(laun,word): data=trans.trans(laun,word,"20230202001547742","oCx9t8YYc7GvmzD_mQ1V") returndata text_content=[] deflast_command(data): result=json.loads(data) #print(result) box.insert(END,"\n结果:\n%s"%result["trans_result"][0]["dst"]) defget_alldata(t): globalfinal_text final_text="" foriint: final_text+=i pass #print(final_text) return_data=tran(format_comb(),final_text) ifreturn_data==b'{"error_code":"54000","error_msg":"PARAM_FROM_TO_OR_Q_EMPTY"}': messagebox.showwarning("警告","你必须输入一个单词") return else: #print(return_data) l.config(text="成功!") last_command(return_data) defgetData(): text_content=box.get("0.0","end").split("\n") text_content.pop() get_alldata(text_content) bt=Button(tk,text="翻译",justify="left",anchor="w",relief="groove",command=getData) l.pack() comb.current(0) comb.pack() box.pack() bt.place(y=369) tk.mainloop() 许可证:GPL2.0 还有,社区可不可以做一个帖子编辑器(更高级的) 可以防抄袭的那种


回复

上一页1 页 / 共 1下一页
小苏打_小苏打_

?小心泄露百度api的keyemotion_doge

点赞0


评论