如何在Excel和WPS中进行翻译

文档翻译我们可以用在线翻译工具,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.rhkb.cn/news/16659.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Docker Desktop Windows 之 安装 SqlServer

Docker 安装SqlServer 》》拉取 Pull docker pull mcr.microsoft.com/mssql/server:2022-latest 》》运行 run docker run -e “ACCEPT_EULAY” -e “MSSQL_SA_PASSWORDSA12345” -p 1400:1433 --name sql-server2022 -h sql-server2022 -d mcr.microsoft.com/mssql/server:20…

【STM32】ADC|多通道ADC采集

本次实现的是ADC实现数字信号与模拟信号的转化&#xff0c;数字信号时不连续的&#xff0c;模拟信号是连续的。 1.ADC转化的原理 模拟-数字转换技术使用的是逐次逼近法&#xff0c;使用二分比较的方法来确定电压值 当单片机对应的参考电压为3.3v时&#xff0c;0~ 3.3v(模拟信…

pdf.js默认显示侧边栏和默认手形工具

文章目录 默认显示侧边栏(切换侧栏)默认手形工具(手型工具) 大部分的都是在viewer.mjs中的const defaultOptions 变量设置默认值,可以使用数字也可以使用他们对应的变量枚举值 默认显示侧边栏(切换侧栏) 在viewer.mjs中找到defaultOptions,大概在732行,或则搜索sidebarViewOn…

使用DeepSeek和Kimi快速自动生成PPT

目录 步骤1&#xff1a;在DeepSeek中生成要制作的PPT主要大纲内容。 &#xff08;1&#xff09;在DeepSeek网页端生成 &#xff08;2&#xff09;在本地部署DeepSeek后&#xff0c;使用chatBox生成PPT内容 步骤2&#xff1a;将DeepSeek成的PPT内容复制到Kimi中 步骤3&…

PADS多层板减少层数

前提 PADS是硬件工程师必备的画图软件&#xff0c;相信很多朋友遇到过为降低成本把6层板改为4层&#xff0c;或8层改为6层的经历&#xff0c;正常是把不需要的两层上所有东西删掉&#xff0c;然后修改层设置&#xff0c;下面举例说明。 首先是将要删除的层上的数据全部删除&a…

Spring 项目接入 DeepSeek,分享两种超简单的方式!

⭐自荐一个非常不错的开源 Java 面试指南&#xff1a;JavaGuide &#xff08;Github 收获148k Star&#xff09;。这是我在大三开始准备秋招面试的时候创建的&#xff0c;目前已经持续维护 6 年多了&#xff0c;累计提交了 5600 commit &#xff0c;共有 550 多位贡献者共同参与…

【LeetCode】689、三个无重叠子数组的最大和

【LeetCode】689、三个无重叠子数组的最大和 文章目录 一、dp1.1 dp 二、多语言解法 一、dp 1.1 dp // go // 输入: nums[] // 计算: 找三段长度为 k 的不重叠的子数组. 要求这 3k 个元素之和最大 // 输出: 三段子数组的 起始位置. 若有多个结果, 返回字典序最小的一个 func …

transformer

导语&#xff1a; 2017年&#xff0c;一篇名为《Attention is All You Need》的论文横空出世&#xff0c;提出了Transformer模型&#xff0c;彻底改变了自然语言处理&#xff08;NLP&#xff09;领域的格局。Transformer以其独特的结构和强大的性能&#xff0c;迅速成为NLP领域…

DeepScaleR:仅用 1.5B 参数超越 OpenAI O1-Preview 的强化学习模型

1. 项目概述 1.1 项目目标与意义 DeepScaleR 项目旨在通过强化学习技术推动人工智能模型的性能提升,以更低的成本实现更优的推理能力。其核心目标是开发出在特定任务上超越现有模型的高效模型,同时为开源社区提供技术参考,促进技术的普惠和创新。 技术突破:DeepScaleR-1.…

深入理解指针初阶:从概念到实践

一、引言 在 C 语言的学习旅程中&#xff0c;指针无疑是一座必须翻越的高峰。它强大而灵活&#xff0c;掌握指针&#xff0c;能让我们更高效地操作内存&#xff0c;编写出更优化的代码。但指针也常常让初学者望而生畏&#xff0c;觉得它复杂难懂。别担心&#xff0c;本文将用通…

八、OSG学习笔记-

前一章节&#xff1a; 七、OSG学习笔记-碰撞检测-CSDN博客https://blog.csdn.net/weixin_36323170/article/details/145558132?spm1001.2014.3001.5501 一、了解OSG图元加载显示流程 本章节代码&#xff1a; OsgStudy/wids CuiQingCheng/OsgStudy - 码云 - 开源中国https:…

在 ARM64 架构系统离线安装 Oracle Java 8 全流程指南

在 ARM64 架构系统离线安装 Oracle Java 8 全流程指南 文章目录 在 ARM64 架构系统离线安装 Oracle Java 8 全流程指南一、引言二、下载前的准备2.1 确认系统架构2.2 注册 Oracle 账号 三、从 Oracle 官方下载 Java 8 for ARM643.1 访问 Oracle Java 存档页面3.2 选择合适的版本…

栈的简单介绍

一.栈 栈是一种先进后出的结构&#xff1a;&#xff08;先出来的是45&#xff0c;要出12就必须先把前面的数据全部出完。&#xff09; 2.实例化一个栈对象&#xff1a; 3.入栈&#xff1a; 4.出栈&#xff1a;&#xff08;当走完pop就直接弹出45了。&#xff09; 5.出栈的…

java韩顺平最新教程,Java工程师进阶

简介 HikariCP 是用于创建和管理连接&#xff0c;利用“池”的方式复用连接减少资源开销&#xff0c;和其他数据源一样&#xff0c;也具有连接数控制、连接可靠性测试、连接泄露控制、缓存语句等功能&#xff0c;另外&#xff0c;和 druid 一样&#xff0c;HikariCP 也支持监控…

HCIA项目实践--RIP相关原理知识面试问题总结回答

9.4 RIP 9.4.1 补充概念 什么是邻居&#xff1f; 邻居指的是在网络拓扑结构中与某一节点&#xff08;如路由器&#xff09;直接相连的其他节点。它们之间可以直接进行通信和数据交互&#xff0c;能互相交换路由信息等&#xff0c;以实现网络中的数据转发和路径选择等功能。&am…

【ThreeJS Basics 1-3】Hello ThreeJS,实现第一个场景

文章目录 环境创建一个项目安装依赖基础 Web 页面概念解释编写代码运行项目 环境 我的环境是 node version 22 创建一个项目 首先&#xff0c;新建一个空的文件夹&#xff0c;然后 npm init -y , 此时会快速生成好默认的 package.json 安装依赖 在新建的项目下用 npm 安装依…

【JavaEE进阶】依赖注入 DI详解

目录 &#x1f334;什么是依赖注入 &#x1f384;依赖注入的三种方法 &#x1f6a9;属性注⼊(Field Injection) &#x1f6a9;Setter注入 &#x1f6a9;构造方法注入 &#x1f6a9;三种注⼊的优缺点 &#x1f333;Autowired存在的问题 &#x1f332;解决Autowired存在的…

在Mac arm架构终端中运行 corepack enable yarn 命令,安装yarn

文章目录 1. 什么是 Corepack&#xff1f;2. 运行 corepack enable yarn 的作用3. 如何运行 corepack enable yarn4. 可能遇到的问题及解决方法问题 1&#xff1a;corepack 命令未找到问题 2&#xff1a;Yarn 未正确安装问题 3&#xff1a;权限问题 5. 验证 Yarn 是否启用成功6…

16.React学习笔记.React更新机制

一. 发生更新的时机以及顺序## image.png props/state改变render函数重新执行产生新的VDOM树新旧DOM树进行diff计算出差异进行更新更新到真实的DOM 二. React更新流程## React将最好的O(n^3)的tree比较算法优化为O(n)。 同层节点之间相互比较&#xff0c;不跨节点。不同类型的节…

SQL数据清理:去除字段值中的多余符号(Demo例子)

目录 前言1. 基础2. 进阶 前言 Excel中有大量不合法的符号&#xff0c;导入到系统之后&#xff0c;数据库有很多脏数据&#xff0c;对此下述展开sql的清洗教程 在数据库的文本字段中&#xff0c;可能会存在多余的逗号或符号&#xff0c;如,销售,, 或 二手车,销售,,这种情况 希…