SCI翻译小助手

news/2024/11/9 2:41:14/

文章目录

  • 翻译小助手
  • 一、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


http://www.ppmy.cn/news/529279.html

相关文章

Tkinter之GUI界面布局介绍

Tkinter之GUI界面布局介绍 关于Python 的Tkinter窗口基础可参见https://blog.csdn.net/cnds123/article/details/127227651 Tkinter 本身没有提供拖拽和放置控件的方式创建 GUI 界面,而是提供了pack、grid和place三种几何管理器方法,每种geometry mana…

这18个被全网吹爆了的AI绘画工具,分享给你!

伴随着ChatGPT的横空出世,一场史无前例的科技革命正在拉开序幕。 AI 拥有强大的信息储备和数据处理能力,无论是速度、质量,还是思维模式,都让人只呼不得了!写代码、造论文丝毫不在话下,甚至还能和你探讨茶…

举例说明什么是批量梯度下降算法

批量梯度下降算法(Batch Gradient Descent)是一种求解机器学习模型参数的优化算法,主要应用于线性回归、逻辑回归等模型的训练过程中。它的主要思想是在每次迭代过程中,计算整个数据集的梯度来更新模型参数,以最小化损…

四大电商对垒价格战:家电高库存或是推手

摘要:[京东、苏宁、国美、天猫等电商在家电领域的价格战,更多是定价方家电厂商的倒逼]  “五一”期间,电商企业发起的价格战硝烟仍未消散,如今战火又起。一种较为普遍的看法是,此次价格战,正是各家电商企…

vivox3android系统,vivo X3手机系统是什么 vivo X3手机能升级安卓4.3

相信不少人都在使用vivox3这部手机,有用户就在问,vivo X3手机系统是什么?能升级安卓4.3吗?下面,有好奇的小伙伴就和小编一起来了解一下吧。 vivo X3的手机系统是什么 vivo X3的手机系统是Android 4.2。 vivox3 vivo X3…

vivox3android系统,vivo X3深入评测:Smart vivo ROM系统功能

Smart vivo ROM系统 vivo X3搭载了基于Android 4.2.2开发的vivo定制ROM,类似于之前的vivo Xplay上的系统,但是更换了主题和背景,系统顶部换成了透明的样式,手机采用的是简单实用的双层逻辑,即解锁完之后只有主屏&#…

gsm计算机网络,GSM是什么意思 GSM是什么网络【详细介绍】

GSM 是什么意思?GSM是什么网络?下面我们来了解一下GSM网络。 GSM 简介 GSM是Global System For Mobile Communications的缩写,由欧洲电信标准组织ETSI制订的一个数字移动通信标准,GSM是全球移动通信系统(Global System for Mobile communications) 的简…

关于GSM的频段

全球GSM频段分为4段,即850/900/1800/1900(MHz),这4个频段又分为两个阵营,美国及北美地区使用的是850/1900(MHz)频段,中国、欧洲等其它大部分地区使用的是900/1800(MHz&am…