Python使用Google多语言翻译Excel文档

一、前言

最近产品需要上架多语言,相比手动一个个去翻译,我想试试看看可不可以用python去实现多语言快速翻译,看过百度翻译官方文档,虽然很友好的提供了接口,同时也有免费额度,但是有些语言并不支持,所以,还是准备找找Google翻译,毕竟是服务于全球的翻译。

二、轮子

出于能不自己写就不自己写的心态,打开了GitHub。最终找到了google_trans_new,废话不多说,直接上代码

import xlrd
from xlutils import copy
from google_trans_new import google_translator

def translate_base(text, lang_tgt):
	t = google_translator(timeout=20)
	translate_text = t.translate(text, lang_tgt)
	print(translate_text)
	return translate_text

excel_file = "本地化语言.xls" # 设置excel文件名
file = xlrd.open_workbook(excel_file) # 读取excel文件
write_file = copy.copy(file)
write_sheet = write_file.get_sheet(0)
sheet = file.sheet_by_index(0) #获取所有的sheet页
sheet_rows = sheet.nrows # 获取当前sheet行数
sheet_cols = sheet.ncols # 获取当前sheet列数
for sheet_row in range(1, sheet_rows):
	sheet_value = str(sheet.cell(sheet_row,0).value)
	write_sheet.write(sheet_row, 1, translate_base(sheet_value, 'en'))
	write_sheet.write(sheet_row, 2, translate_base(sheet_value, 'pl'))
	write_sheet.write(sheet_row, 3, translate_base(sheet_value, 'de'))
	write_sheet.write(sheet_row, 4, translate_base(sheet_value, 'ru'))
	write_sheet.write(sheet_row, 5, translate_base(sheet_value, 'fr'))
	write_sheet.write(sheet_row, 6, translate_base(sheet_value, 'ko'))
	write_sheet.write(sheet_row, 7, translate_base(sheet_value, 'nl'))
	write_sheet.write(sheet_row, 8, translate_base(sheet_value, 'ms'))
	write_sheet.write(sheet_row, 9, translate_base(sheet_value, 'no'))
	write_sheet.write(sheet_row, 10, translate_base(sheet_value, 'pt'))
	write_sheet.write(sheet_row, 11, translate_base(sheet_value, 'ja'))
	write_sheet.write(sheet_row, 12, translate_base(sheet_value, 'sv'))
	write_sheet.write(sheet_row, 13, translate_base(sheet_value, 'th'))
	write_sheet.write(sheet_row, 14, translate_base(sheet_value, 'tr'))
	write_sheet.write(sheet_row, 15, translate_base(sheet_value, 'es'))
	write_sheet.write(sheet_row, 16, translate_base(sheet_value, 'el'))
	write_sheet.write(sheet_row, 17, translate_base(sheet_value, 'it'))
	write_sheet.write(sheet_row, 18, translate_base(sheet_value, 'id'))
	write_sheet.write(sheet_row, 19, translate_base(sheet_value, 'vi'))
	write_sheet.write(sheet_row, 20, translate_base(sheet_value, 'zh-hk'))
write_file.save(excel_file)

开发思想

首先读取xls格式文件,将需要翻译单元格提出来后,翻译完成后写入相应位置。
有关语言格式 任意门
有关测试文档及代码 任意门

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

倾云鹤

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值