如何在Excel和WPS中进行翻译
如何在Excel和WPS中进行翻译
在日常工作中,我们常常需要对Excel或WPS中的文档进行翻译。虽然可以使用在线翻译工具,但在处理大量数据时,使用在线翻译工具就不是特别方便。本文将介绍如何在不同的场景下利用翻译函数和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翻译,所以追求翻译质量的朋友就不要用这种方法。
三、在Google Sheets中翻译
四、利用Python进行在线文档翻译
在WPS在线文档中已经支持调用Python,并且自带有requests等常用模型。所以,我们可以编写以下翻译代码,调用360翻译工具,免费进行单元格翻译。以下代码是对于Sheet1中A1:A2单元格内容的进行汉译英,如果是要英译汉则需要把data中的'eng'改为'1'即可。
url = 'https://fanyi.so.com/index/search'
df = xl("$A$1:$A$2", headers=None, sheet_name="Sheet1")
response = requests.post(url=url, headers=headers, data=data).json()
translated_text = response['data']['fanyi']
write_xl(translated_text, f"$C${start_row}", sheet_name="Sheet1")
五、调用翻译API进行翻译
如果是多个Excel文档的翻译,为了提高翻译速度,保证翻译质量,我们还是需要借助Python来调用机器翻译的api,这样可以更加快速地实现翻译,而且准确度相对较高。比如,我们可以利用Python调用小牛翻译的API,因为它每天都赠送20万的免费翻译额度,足够我们的日常翻译了。代码如下:
workbooks = [wb for wb in os.listdir(os.getcwd()) if wb.endswith('.xlsx')]
with open("config.txt","r",encoding="utf-8") as f:
from_lang,to_lang=line[0].strip().split("|")
for workbook in workbooks:
wb = openpyxl.load_workbook(workbook)
for cell_0, cell_1 in zip(ws['A'], ws['B']):
if cell_0.value is not None:
cell_1.value = translate(str(cell_0.value).strip())
def make_md5(s, encoding='utf-8'):
return md5(s.encode(encoding)).hexdigest()
from_lang, to_lang = lang()
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']
此外,还需要编写一个配置文件:config.txt,输入下面内容,并与py文件放在同一目录下面。这个文件的功能是设置翻译文本的语言对,如果是从英语翻译成中文就可以设置成:en|zh。其中第一个en也可以设置为auto,这样就可以自动检测语种了。
en|zh
六、学后总结
当前,翻译功能已经渗透到了各个办公软件当中,大家可以根据自己的使用场景的不同进行有效的选择。以上方较为简单实用,适合于对翻译质量要求不高的职场人士。如果想更加严谨和准确一些,我们还可以借用于CAT工具,或者大语言模型进行翻译,然后进行译后编辑和校对。
总之,单文件的翻译建议使用Excel和WPS中的翻译函数,多文档的翻译可以利用Python程序或者CAT工具调用机器翻译API,或者调用小牛机器翻译的文档翻译API接口进行翻译。