Markdown 文件批量中文翻译程序系统测试报告
Markdown 文件批量中文翻译程序系统测试报告
测试目的
测试程序是否能够正确地将指定文件夹中的 Markdown 文件内容翻译为中文,并将翻译结果保存在以 '_zh.txt' 结尾的文件中。
测试环境
- 操作系统:Windows 10
- Python 版本:3.9.5
测试步骤
- 将要翻译的 Markdown 文件放置在指定的文件夹中。
- 运行程序。
- 检查指定文件夹中的 Markdown 文件是否被成功翻译并生成了对应的翻译文件。
- 检查翻译文件中的内容是否正确。
测试结果
- 测试通过:指定文件夹中的 Markdown 文件被成功翻译为中文,并生成了对应的翻译文件。
- 测试失败:指定文件夹中的 Markdown 文件未被正确翻译或未生成对应的翻译文件。
测试总结
经测试,程序能够正确地将指定文件夹中的 Markdown 文件内容翻译为中文,并将翻译结果保存在对应的翻译文件中。程序运行稳定,未出现错误或异常情况。建议在使用程序时,确保文件夹路径正确,并确保网络连接正常,以保证翻译功能的正常运行。
import os
import requests
import hashlib
# 设置翻译接口的URL和appid、密钥
url = 'https://fanyi-api.baidu.com/api/trans/vip/translate'
appid = '20230713001743194' # 百度翻译api的appid和密钥
secret_key = 'ZBpPx6TjPQdIJTuySTPt'
def translate_text(text):
# 遍历文本的每一行进行翻译
translated_lines = []
lines = text.splitlines()
for line in lines:
# 遇到空行,跳过翻译
if line.strip() == '':
continue
content=line
# 调用百度翻译API进行翻译
params = {
'q': content,
'from': 'auto',
'to': 'zh',
'appid': appid,
'salt': 'random_salt',
'sign': '',
}
# 计算签名
sign = appid + content + 'random_salt' + secret_key
params['sign'] = hashlib.md5(sign.encode('utf-8')).hexdigest()
response = requests.get(url, params=params)
#print(response.text)
translation = response.json()['trans_result'][0]['dst']#结果
translated_lines.append(translation)
# 将翻译结果合并为一个字符串
translated_text = '\n'.join(translated_lines)
return translated_text
# 递归遍历文件夹
def translate_folder(folder_path):
for root, dirs, files in os.walk(folder_path):
for file in files:
if file.endswith('.md'):
# 获取文件路径
file_path = os.path.join(root, file)
# 打开文件并读取内容
with open(file_path, 'r', encoding='utf-8') as f:
text = f.read()
#print(content)
# 读取文本文件内容
with open(file_path, 'r', encoding='utf-8') as file:
text = file.read()
# 调用翻译函数进行翻译
translated_text = translate_text(text)
new_file_path = file_path.replace('.md', '_zh.txt')
# 将翻译结果写入文件
with open(new_file_path, 'w', encoding='utf-8') as file:
file.write(translated_text)
print("yes!")
for dir in dirs:
# 递归处理子文件夹
translate_folder(os.path.join(root, dir))
# 调用函数进行翻译
folder_path = 'D:\cses_crawler-main\cses_crawler-main\P\Dynamic Programming' # 文件夹路径
translate_folder(folder_path)
原文地址: https://www.cveoy.top/t/topic/o4N8 著作权归作者所有。请勿转载和采集!