如何在Excel和WPS中进行翻译

server/2025/2/13 15:16:31/

文档翻译我们可以用在线翻译工具,Excel工作表的翻译使用在线翻译工具就不是特别方便,那么如何快速进行翻译呢,我们今天介绍在不同的场景下如何利用翻译函数和Python程序来实现单元格的快速翻译。

一、在wps中进行翻译

WPS是我们常用的办公软件,由金山公司出品。自从有了wpsai后,金山公司推出了多项实用的功能,这其中就包括翻译功能,新版的WPS中已经有了翻译函数,支持使用wpsai.translate()来对单元格的内容进批量翻译,目前仅支持英译中和中译英。

利用WPSA进行翻译

例如,我们要把A列的中文内容翻译成B列,就可以采用下面的翻译方法。

=WPSAI.TRANSLATE(A1,"英文")

如果是中译英则可以使用

=WPSAI.TRANSLATE(A1,"中文")

而且这种方法无论是否是wpsai会员都可以使用。

二、在Excel中进行翻译

Excel 365中有翻译函数:translate(),但有时受网络影响,不是特别稳定,如下图所示。

在Excel 365中调用翻译函数

我们可以利用webservice()函数,采用下面的方法,调用有道翻译的内容,翻译完A1的内容后,再双击右下角十字进行批量填充。

=WEBSERVICE("http://e.anyoupin.cn/eh3/?youdao~" & A1)

这种方法的优势是可以自动检测A1是中文还是英文,所以相对简单方便。需要注意的是,此种方法仅能在Excel中使用,在WPS中无效。其翻译质量一般,可能比不上AI翻译,所以追求翻译质量的朋友就不要用这种方法。

在Excel中实现自动翻译

三、在Google Sheets中翻译

如果能够打开http://docs.google.com,那么就可以利用其自带的翻译函数:Googletranslate(单元格,语言1,语言2)进行翻译。这种方法调用的是内置的谷歌翻译,支持多个语种,但需要有特殊网络支持。

在Google Sheets中进行翻译

四、利用Python进行在线文档翻译

在WPS在线文档中已经支持调用Python,并且自带有requests等常用模型。所以,我们可以编写以下翻译代码,调用360翻译工具,免费进行单元格翻译。以下代码是对于Sheet1中A1:A2单元格内容的进行汉译英,如果是要英译汉则需要把data中的'eng'改为'1'即可。

import requestsurl = 'https://fanyi.so.com/index/search'# 读取Excel的A列内容
df = xl("$A$1:$A$2", headers=None, sheet_name="Sheet1")# 初始化起始写入位置
start_row = 1for word in df[0]:try:data = {'eng': '2','validate': '','ignore_trans': '0','query': word,}headers = {'useragent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Mobile Safari/537.36 Edg/128.0.0.0','pro': 'fanyi'}response = requests.post(url=url, headers=headers, data=data).json()# 获取翻译结果translated_text = response['data']['fanyi']# 将翻译结果写入B列对应的单元格write_xl(translated_text, f"$C${start_row}", sheet_name="Sheet1")# 增加行号以写入下一行start_row += 1except Exception as exc:print(exc)

五、调用翻译API进行翻译

如果是多个Excel文档的翻译,为了提高翻译速度,保证翻译质量,我们还是需要借助Python来调用机器翻译的api,这样可以更加快速地实现翻译,而且准确度相对较高。比如,我们可以利用Python调用小牛翻译的API,因为它每天都赠送20万的免费翻译额度,足够我们的日常翻译了。代码如下:

import openpyxl
import os
import json
import random
from hashlib import md5
import requestsapikey="<小牛机器翻译API>"
workbooks = [wb for wb in os.listdir(os.getcwd()) if wb.endswith('.xlsx')]
def lang():with open("config.txt","r",encoding="utf-8") as f:line=f.readlines()from_lang,to_lang=line[0].strip().split("|")return from_lang,to_langdef get_lst():for workbook in workbooks:wb = openpyxl.load_workbook(workbook)ws = wb.activefor cell_0, cell_1 in zip(ws['A'], ws['B']):if cell_0.value is not None:try:cell_1.value = translate(str(cell_0.value).strip())except Exception as exc:print(exc)wb.save(workbook)def make_md5(s, encoding='utf-8'):return md5(s.encode(encoding)).hexdigest()def translate(sentence):from_lang, to_lang = lang()apikey="<小牛机器翻译的API>"url = 'http://api.niutrans.com/NiuTransServer/translation?'data = {"from": from_lang, "to": to_lang, "apikey": apikey, "src_text": sentence}res = requests.post(url, data = data)res_dict = json.loads(res.text)if "tgt_text" in res_dict:result = res_dict['tgt_text']else:result = ""return result
get_lst()

此外,还需要编写一个配置文件:config.txt,输入下面内容,并与py文件放在同一目录下面。这个文件的功能是设置翻译文本的语言对,如果是从英语翻译成中文就可以设置成:en|zh。其中第一个en也可以设置为auto,这样就可以自动检测语种了。

en|zh

六、学后总结

当前,翻译功能已经渗透到了各个办公软件当中,大家可以根据自己的使用场景的不同进行有效的选择。以上方较为简单实用,适合于对翻译质量要求不高的职场人士。如果想更加严谨和准确一些,我们还可以借用于CAT工具,或者大语言模型进行翻译,然后进行译后编辑和校对。

总之,单文件的翻译建议使用Excel和WPS中的翻译函数,多文档的翻译可以利用Python程序或者CAT工具调用机器翻译API,或者调用小牛机器翻译的文档翻译API接口进行翻译。


http://www.ppmy.cn/server/167357.html

相关文章

Golang Web单体项目目录结构最佳实践

在Golang 开发Web 项目的过程中&#xff0c;如何组织目录结构是一项至关重要的任务。合理的目录结构不仅能提高代码的可维护性&#xff0c;还能为团队协作提供清晰的代码规范。 为什么要设计合理的目录结构&#xff1f; 在 Golang 项目中&#xff0c;代码的组织方式会影响开发…

android 自定义文件名和日期——android 打包技巧——不覆盖历史成功文件和版本-默认打包缺陷

一、传统方式 传统方式打包在 文件夹”app\release“下生成”app-release.apk“ 1. 多应用易混淆问题 同一项目多变体场景 当项目存在多个不同的构建变体时&#xff0c;例如不同的渠道包&#xff08;如应用宝渠道、华为应用市场渠道等&#xff09;、不同的版本类型&#xff08;…

大模型微调工具

大模型微调(Fine-tuning)工具库可以帮助开发者高效地微调大模型,减少计算资源消耗,提高适配性。以下是一些常见的微调工具库: 1. Unsloth 特点: 专注于高效 LoRA(Low-Rank Adaptation)微调,优化计算速度。兼容 Hugging Face Transformers,支持 LLaMA、Mistral 等模型…

Java 实现:在 Word 模板指定位置贴二维码并生成 PDF 电子凭证文档

在实际业务场景中&#xff0c;我们常常需要在 Word 模板的指定位置贴上二维码&#xff0c;然后将其转换为 PDF 电子凭证文档。下面将详细介绍如何使用 Java 完成这一任务&#xff0c;我们会借助 Apache POI 处理 Word 文档&#xff0c;ZXing 生成二维码&#xff0c;以及 Docx4J…

mysql基本使用

什么是数据库&#xff1f; 数据库是按照数据结构来组织、存储和管理数据的仓库。 什么是数据库管理系统(DBMS)&#xff1f; 数据库管理系统&#xff08;DBMS&#xff09;是用于创建、管理和维护数据库的软件。 什么是SQL&#xff1f; SQL&#xff08;Structured Query Lan…

什么是蒸馏大型语言模型

文章目录 前言概念目标核心思想步骤优势应用例子总结 前言 蒸馏大型语言模型&#xff08;Distillation of Large Language Models, LLMs&#xff09; 是一种知识压缩技术&#xff0c;用于将一个大型、计算量大、性能优秀的模型&#xff08;通常称为“教师模型”&#xff09;的…

LabVIEW多电机CANopen同步

核心问题与解决方案 通信层配置 节点ID与波特率冲突问题&#xff1a;在多电机系统中&#xff0c;节点ID重复或波特率不匹配常导致通信中断或数据丢失。案例&#xff1a;某3轴贴片机因步科驱动器的默认节点ID均为1&#xff0c;触发了总线仲裁错误。解决方案&#xff1a;通过配置…

一键查看电脑各硬件详细信息 轻松查看电脑硬件参数

今天为大家推荐两款非常实用的电脑硬件查看软件&#xff0c;它们能够一键快速查看电脑的各种配置信息&#xff0c;使用起来非常方便。 一键查看电脑各硬件详细信息 这款软件是绿色版的&#xff0c;无需安装&#xff0c;打开即可使用&#xff0c;文件大小仅为900多KB&#xff0…