当前位置: 首页> 健康> 母婴 > 百度翻译API翻译Qt LinguistTools的ts文件

百度翻译API翻译Qt LinguistTools的ts文件

时间:2025/9/23 20:11:14来源:https://blog.csdn.net/qq_40135848/article/details/141882892 浏览次数:0次
# coding=utf-8import http.client
import hashlib
import urllib
import random
import json
import xml.etree.ElementTree as ET
import timeappid = ''  # 填写你的appid
secretKey = ''  # 填写你的密钥def translate_text(text):httpClient = Nonemyurl = 'https://fanyi-api.baidu.com/api/trans/vip/translate'result = ''fromLang = 'zh'  # 原文语种toLang = 'en'  # 译文语种salt = random.randint(32768, 65536)#text = '苹果'sign = appid + text + str(salt) + secretKeysign = hashlib.md5(sign.encode()).hexdigest()myurl = myurl + '?appid=' + appid + '&q=' + urllib.parse.quote(text) + '&from=' + fromLang + '&to=' + toLang + '&salt=' + str(salt) + '&sign=' + signtry:httpClient = http.client.HTTPConnection('api.fanyi.baidu.com')httpClient.request('GET', myurl)# response是HTTPResponse对象response = httpClient.getresponse()result_all = response.read().decode("utf-8")result = json.loads(result_all)print(result)result = result['trans_result'][0]['dst']return result;except Exception as e:print(e)finally:if httpClient:httpClient.close()def translate_ts_file(input_file, output_file):# 解析 TS 文件tree = ET.parse(input_file)root = tree.getroot()# 遍历所有的消息for context in root.findall('context'):for message in context.findall('message'):source = message.find('source')if source is not None:text_to_translate = source.textif text_to_translate:print(f'Translating: {text_to_translate}')translated_text = translate_text(text_to_translate)translation = message.find('translation')if translation is None:translation = ET.SubElement(message, 'translation', type="unfinished")else:translation.set('type', 'finished')  # 更新 type 属性translation.text = translated_texttime.sleep(1);# 写入翻译后的 TS 文件tree.write(output_file, encoding='utf-8', xml_declaration=True)print(f'Translated TS file saved as: {output_file}')if __name__ == "__main__":filename = input("请输入ts文件名(en):")translate_ts_file(filename, filename)

由于API限制访问频率,所以加了sleep


推荐一个零声学院项目课,个人觉得老师讲得不错,分享给大家:
零声白金学习卡(含基础架构/高性能存储/golang云原生/音视频/Linux内核)
https://xxetb.xet.tech/s/3Zqhgt

关键字:百度翻译API翻译Qt LinguistTools的ts文件

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: