马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
文档翻译我们可以用在线翻译工具,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 requests
- url = 'https://fanyi.so.com/index/search'
- # 读取Excel的A列内容
- df = xl("$A$1:$A$2", headers=None, sheet_name="Sheet1")
- # 初始化起始写入位置
- start_row = 1
- for 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 += 1
- except 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 requests
- apikey="<小牛机器翻译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_lang
- def get_lst():
- for workbook in workbooks:
- wb = openpyxl.load_workbook(workbook)
- ws = wb.active
- for 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,如许就可以主动检测语种了。
六、学后总结
当前,翻译功能已经渗出到了各个办公软件当中,各人可以根据本身的利用场景的差别举行有用的选择。以上方较为简单素用,恰当于对翻译质量要求不高的职场人士。假如想更加严谨和精确一些,我们还可以借用于CAT工具,大概大语言模子举行翻译,然后举行译后编辑和校对。
总之,单文件的翻译发起利用Excel和WPS中的翻译函数,多文档的翻译可以利用Python步伐大概CAT工具调用呆板翻译API,大概调用小牛呆板翻译的文档翻译API接口举行翻译。
|