google翻译 中文文本大量翻译成英文

本文分享如何应对大量中文文本翻译需求,尤其是在google翻译API收费后,利用开源项目进行批量翻译,同时解决字符串长度限制和防止IP被禁的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如题,我遇到了一下情况,需要将大量wiki百科的中文文本翻译成英文

面对这个问题,有以下几点困难

  • google 翻译的API 已经开始收费了。不在提供免费的API服务。
  • 纯手工在google翻译的网页上翻译,对程序猿来说,你是认真的吗?
  • 在使用github上的开源项目时,发现即使通过web脚本调用google网页翻译的免费服务时,依然存在着字符串长度限制,已经会发生长度超出,翻译失败。

在我解决了这个问题之后,我想还是在这里和大家分享一下吧。

首先,先介绍下使用的开源项目:googletrans
具体如下下载就请参考项目的介绍文档。

假如你就是简单翻译几句短文本,
查看 样例 就完全可以了。

>>> from googletrans import Translator
>>> translator = Translator()
>>> translator.translate('안녕하세요.')
# <Translated src=ko dest=en text=Good evening. pronunciation=Good evening.>
>>> translator.translate('안녕하세요.', dest='ja')
# <Translated src=ko dest=ja text=こんにちは。 pronunciation=Kon'nichiwa.>
>>> translator.translate('veritas lux mea', src='la')
# <Translated src=la dest=en text=The truth is my light pronunciation=The truth is my light>

如果你和我一样需要翻译大量的文本,那么请看下面?

(以下代码处理几百个文件依然没有被禁IP,请自己酌情改小sleep时间,以加快翻译速度)

#首先导入需要的包
from googletrans import Translator
from tqdm import tqdm
import os
import random
import time
import re

#声明源文件目录 和 生成文件的放置目录
home = os.environ['HOME']
path = home + "/study/project/chineseSegment/artifical/test"
dest = home + "/study/project/chineseSegment/artifical/en"
files = os.listdir(path)
s = []

# 把长文本切分成短文本,当时google担心会检查文本长度,所以随机了长度,应该没这么严格,想写成固定的也可以
def getText(string):
    list = []
    randline = random.random() * 500 
    while len(string) > 1500:
        index = string.find(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值