python脚本实现将代码中的中文翻译为其他语言

如果我们写的代码中带有中文的字符提示,现在要将其翻译成为其他国家的语言,在没有做多国语言配置的情况下只能自己手动复制翻译。这种机械重复性动作完全可以交给程序来做。于是我写了一个python脚本用来帮我处理源码文档。下面就是脚本代码,一共不到100行,却实实在在地解决了一个大麻烦。废话不多说,直接上代码。

import hashlib
import random
import re
import time
import requests
import os# 百度api
apiurl = 'http://api.fanyi.baidu.com/api/trans/vip/translate'
appid = '202*******9' # 百度翻译api的appid
secretKey = 'jBal*******tJ' # 百度翻译api的secretKey # 查找文本中的中文字符,并将连续的中文字符以列表返回
def find_chinese(text):regStr = ".*?([\u4E00-\u9FA5]+).*?"aa = re.findall(regStr, text)return aa# 翻译内容 源语言 翻译后的语言
def translateBaidu(content, fromLang='zh', toLang='pt'):salt = str(random.randint(32768, 65536))sign = appid + content + salt + secretKey  # appid+q+salt+密钥 的MD5值sign = hashlib.md5(sign.encode("utf-8")).hexdigest()  # 对sign做md5,得到32位小写的signtry:# 根据技术手册中的接入方式进行设定paramas = {'appid': appid,'q': content,'from': fromLang,'to': toLang,'salt': salt,'sign': sign}response = requests.get(apiurl, paramas)jsonResponse = response.json()  # 获得返回的结果,结果为json格式dst = str(jsonResponse["trans_result"][0]["dst"])  # 取得翻译后的文本结果return dstexcept Exception as e:print(e)# 读取文件,翻译成葡萄牙语,返回一个翻译好的文档的每行的list
def text_deal(filename, fromLang='zh', toLang='pt'):'''读取文件,翻译成葡萄牙语,返回一个翻译好的文档的每行的list:param filename: 翻译的文档路径:return: 翻译好的每行的list'''file = open(filename, encoding="utf-8")while 1:lines = file.readlines(100000)if not lines:break# 遍历每一行代码i = 0newline = []for line in lines:i += 1linea = line.lstrip()  # 去除了左方空行# 判断是否是注释,是注释则跳过if linea[0:2] == "//" or linea[0:4] == "<!--":newline.append(line)continue# 查找中文字符chineses = find_chinese(linea)if chineses:print("[" + str(i) + "]: ", linea)# 查找到中文字符,并调用翻译api翻译进行字符串替换for c in chineses:time.sleep(2)translate_str = translateBaidu(c, fromLang, toLang)line = line.replace(c, translate_str)print(c + " ----> " + translate_str)newline.append(line)file.close()return newline# 调用函数处理文档
files = os.listdir("./translate")
for file in files:print("=====================")print("正在处理文件:" + file)newlines = text_deal("./translate/" + file, "zh", "pt")fw = open("./translated/" + file, "a",encoding="utf-8")for l in newlines:fw.write(l)fw.close()

项目目录:

python脚本实现将代码中的中文翻译为其他语言相关推荐

  1. Python使用正则表达式识别代码中的中文、英文和数字实例演示

    Python 正则表达式识别代码中的中文.英文和数字 识别中文 识别英文 识别数字 拓展 在文本处理和数据分析中,有时候需要从代码中提取出其中包含的中文.英文和数字信息.正则表达式是一种强大的工具,可 ...

  2. Python正则表达式工具类文件的封装实例,提供了多个实例,并且在代码中包含中文注释

    Python正则表达式工具类文件的封装实例,提供了多个实例,并且在代码中包含中文注释 import reclass RegexUtils:'''正则表达式工具类'''def __init__(self ...

  3. python画图显示中文乱码_解决Python pandas plot输出图形中显示中文乱码问题

    解决方式一: import matplotlib #1. 获取matplotlibrc文件所在路径 matplotlib.matplotlib_fname() #Out[3]: u'd:\\Anaco ...

  4. python图片显示中文_解决Python pandas plot输出图形中显示中文乱码问题

    解决方式一: import matplotlib #1. 获取matplotlibrc文件所在路径 matplotlib.matplotlib_fname() #Out[3]: u'd:\\Anaco ...

  5. 2018-11-02 在代码中进行中文命名实践的短期目标

    对中文命名的意义不再赘述, 请参看之前的对在代码中使用中文命名的质疑与回应. 去年中文命名实践的阻力和应对之后, 在一些小项目中继续实践了中文命名(Java/JS/Python等, 详见之前的专栏文章 ...

  6. 【python】使用python脚本将LFW数据中1672组同一个人多张照片拷贝出来

    使用python脚本将LFW数据中1672组同一个人多张照片拷贝出来 dataCleaning4multiple.py 源码如下: import os, random, shutil import s ...

  7. 四、使用python+selenium搭建一个ppt翻译小程序(将ppt中的中文翻译为英文)

    一.前言 本翻译小程序功能为将ppt中的中文翻译称为英文.项目文件结构如下: 1.newppt:转换成英文之后所存的ppt: 2.oldppt:需要转换的ppt: 3.chromedriver:需要自 ...

  8. 举个栗子~Tableau 技巧(241):用 Python 脚本提取文本内容中的关键词

    经常有数据粉反馈:在处理文本内容的时候,是否有快速提取内容关键词的方法呢? 方法有的,可以试试 Python.这里,我们来分享:如何在 Tableau 中利用 Python 脚本从文本内容提取关键词. ...

  9. 怎样将PPT中的中文翻译成英文?实现中英互译简单的方法是什么?

    对于一篇PPT文档我们见到最多的都是中文的形式,但是由于工作需要,我们不得不将中文翻译成英文,很多小伙伴为此很烦恼,如果要是将中文一句句的复制进浏览器中进行查找的话太耽误时间了,也不是一个首选方法,除 ...

最新文章

  1. 智能角阀中的电子芯片_电子科技大学胡维昊教授:人工智能在可再生能源系统中的应用...
  2. php做gui,php7 图形用户界面GUI如何开发
  3. guava Throwables类文档翻译及用法入门
  4. 《压缩感知理论及其研究进展》读书笔记
  5. OWIN and Katana
  6. asm 比 ucontext 快
  7. 软件工程个人作业(2)
  8. POJ - 3074 Sudoku(DLX)
  9. 微商分销代理商城源码-代理等级和升级条件
  10. clipboard.js使用方法
  11. 190321每日一句
  12. 共226款Html5小游戏源码分享
  13. python代码检查工具(静态代码审查)
  14. 基于Zigbee和LabView的无线温度采集系统
  15. Django教程 —— 站点后台管理
  16. SEO优化:关于网站降权的方方面面!!!
  17. 系统调用【简单总结】
  18. 安装Ubuntu 20.04后要做的几件事(换源,精简,定制)
  19. 奶茶封口膜-市场现状及未来发展趋势
  20. 乐事薯片:价格涨了,质量降了,年轻人的快乐没有了

热门文章

  1. java生成一天内不重复的随机4位数字编号
  2. MySQL密码不要用0开头!!!
  3. ARM逻辑驱动学习笔记
  4. 尚硅谷第五天课0722班 java-面向对象学习的三条主线-面向对象的思想概述- 类的元素- java类及类的成员-类的成员之方 法
  5. 零成本系列丨盏茶的功夫,零成本搭建了一个自己的博客网站
  6. Hive(总)看完这篇,别说你不会Hive!
  7. java 窗口模态_JAVA- GUI基础(模态窗口)
  8. Squid 代理服务器之 ACL 访问控制
  9. 木偶然-2013.7.28
  10. Condition用法