y1zhh 2024-11-13 10:45 采纳率: 100%
浏览 10
已结题

chm文件快速批量翻译

有一个chm文件,我想将它翻译为英文。但是解压后的html文件多达200多个,有没有办法快速免费的翻译。类似直接批量导入HTML文件然后再输出新的html文件的这种办法。求各位老哥解答!

  • 写回答

1条回答 默认 最新

  • JavaPub-rodert 领域专家: 后端开发技术领域 2024-11-13 10:52
    关注

    本答案参考 多次询问 ChatGPT-3.5 后选择的最佳回答,若是满意,还请采纳,谢谢

    要快速批量翻译CHM文件中的HTML内容,推荐以下方法:

    1. 解压 CHM 文件:使用 7-Zipchm2html 工具将CHM文件解压为多个HTML文件。

    2. 批量翻译 HTML 文件

      • 使用 Python 结合 translatebeautifulsoup4 库处理翻译。具体步骤如下:
        • 编写一个Python脚本,遍历解压后的HTML文件,使用Google Translate API或类似的免费翻译API(如 deep_translator)。
        • 使用 beautifulsoup4 库解析HTML,翻译所有文本节点,保留HTML结构。
        • 将翻译后的内容保存为新的HTML文件。
    3. 示例代码

      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))
      
    4. 运行脚本:在Python环境中运行此脚本,它将自动读取每个HTML文件,翻译后生成新文件。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 12月18日
  • 已采纳回答 12月10日
  • 创建了问题 11月13日