有一个chm文件,我想将它翻译为英文。但是解压后的html文件多达200多个,有没有办法快速免费的翻译。类似直接批量导入HTML文件然后再输出新的html文件的这种办法。求各位老哥解答!
1条回答 默认 最新
关注本答案参考 多次询问 ChatGPT-3.5 后选择的最佳回答,若是满意,还请采纳,谢谢
要快速批量翻译CHM文件中的HTML内容,推荐以下方法:
解压 CHM 文件:使用
7-Zip或chm2html工具将CHM文件解压为多个HTML文件。批量翻译 HTML 文件:
- 使用
Python结合translate和beautifulsoup4库处理翻译。具体步骤如下:- 编写一个Python脚本,遍历解压后的HTML文件,使用Google Translate API或类似的免费翻译API(如
deep_translator)。 - 使用
beautifulsoup4库解析HTML,翻译所有文本节点,保留HTML结构。 - 将翻译后的内容保存为新的HTML文件。
- 编写一个Python脚本,遍历解压后的HTML文件,使用Google Translate API或类似的免费翻译API(如
- 使用
示例代码:
from bs4 import BeautifulSoup from deep_translator import GoogleTranslator import os # 配置路径 input_dir = "解压后的html目录" output_dir = "翻译后保存目录" os.makedirs(output_dir, exist_ok=True) for filename in os.listdir(input_dir): if filename.endswith(".html"): with open(os.path.join(input_dir, filename), "r", encoding="utf-8") as file: soup = BeautifulSoup(file, "html.parser") # 翻译所有文本内容 for tag in soup.find_all(string=True): translated_text = GoogleTranslator(source='auto', target='en').translate(tag) tag.replace_with(translated_text) # 保存翻译后的文件 with open(os.path.join(output_dir, filename), "w", encoding="utf-8") as file: file.write(str(soup))运行脚本:在Python环境中运行此脚本,它将自动读取每个HTML文件,翻译后生成新文件。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录