文章目录
- 翻译小助手
- 一、API申请
- 二、使用步骤
- 1.登录API
- 2.功能介绍
- 总结
翻译小助手
本人英文水平很差,把论文翻译成英文的时候往往需要多种翻译软件,来对翻译的语句进行对比修改,于是为了免受这种折磨,写了一个汇集百度翻译、有道翻译和腾讯翻译的小软件,代码开源在gitee上供大家参考,指导。
一、API申请
百度翻译和腾讯翻译每月都有百万字符的免费额度,有道翻译免费送100元翻译额度(用了好久才用了3块钱),url如下:
百度翻译:https://fanyi-api.baidu.com/
有道翻译:https://ai.youdao.com/login.s
腾讯翻译:https://cloud.tencent.com/document/product/551/15611
申请API的时候可能比较繁琐(需要安装相应的包)。
二、使用步骤
1.登录API
登录界面:
输入API ID和Password点击Login就会把密钥放进配置文件App.ini里,输入一次即可(代码太多不放片段参考gitee)。
2.功能介绍
一、翻译功能:
调用翻译API接口获取翻译文本(具体参考gitee)
清空按钮清空输入框和翻译框的所有文字,复制按钮复制翻译框的所有文字。
def text_get(): #将获取翻译的文本,写入翻译框if T_2 == False:var_text = T_1.get(1.0, 'end')var_text_str = str(var_text)var_translation_1 = translation_baidu(var_text_str)var_translation_2 = translation_youdao(var_text_str)var_translation_3 = translation_tengxun(var_text_str)all_translation = var_translation_1 + var_translation_2 + var_translation_3T_2.insert('insert', all_translation)else:T_2.delete(1.0, 'end')var_text = T_1.get(1.0, 'end')var_text_str = str(var_text)var_translation_1 = translation_baidu(var_text_str)var_translation_2 = translation_youdao(var_text_str)var_translation_3 = translation_tengxun(var_text_str)all_translation = var_translation_1 + var_translation_2 + var_translation_3T_2.insert('insert', all_translation)
def text_clear():T_1.delete(1.0, 'end')T_2.delete(1.0, 'end')
def text_copy():t_copy=T_2.get(1.0,'end')pyperclip.copy(str(t_copy))pyperclip.paste()
每个按钮为了防止出现卡死现象,加入了多线程处理。
def text_get_thread():th=threading.Thread(target=text_get)th.setDaemon(True)th.start()
def text_get_EC_thread():th=threading.Thread(target=text_get_EC)th.setDaemon(True)th.start()
二、导入(导出)文件:
支持导入 .docx 和 .txt (将文件导入到输入框)
def File_DOCX():f_docx=askopenfilename(title='上传文件',initialdir='C:',filetypes=[('.docx', '*.docx')])file=docx.Document(str(f_docx))for paper in file.paragraphs:T_1.insert('insert',paper.text)
def File_TXT():f_txt = askopenfilename(title='上传文件', initialdir='C:', filetypes=[('.txt', '*.txt')])with open(file=f_txt, mode='r+', encoding='utf-8') as f:b = f.read()T_1.insert('insert', b)
支持到处 .docx文件 (将翻译结果以 .docx文件导出到电脑)
def output_File_DOCX():f_output = askdirectory(title='上传文件', initialdir='C:')d_suffix = '/导出文件.docx'folder_directory = str(f_output) + d_suffixdocument = docx.Document()t_text=T_2.get(1.0,'end')document.add_paragraph(str(t_text))document.save(folder_directory)
注:因为使用的为免费的翻译接口,控制文件文字在1000字左右
三、GUI主题
使用tkinter自带的调色板,将颜色保存到配置文件theme.ini文件里
def window_color():w_color=askcolor(title='界面颜色')w_color_str=w_color[1] #得到颜色字符window.config(bg=w_color_str)config = cp.ConfigParser() #打开ini配置文件config.read("theme.ini", encoding="utf-8") #读取配置文件config['theme']['window_clor'] = w_color_str #将用户的设置写入到配置文件with open('theme.ini', 'w') as f:config.write(f)
总结
之前都在使用matlab,刚学的python编程所以写的代码有些臃肿(400行左右),不过通过编写这个小软件确实学到了不少东西,希望大家可以提供一些宝贵的意见,gitee仓库 : https://gitee.com/liu15/project.git