You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在VSCode中选中所有白色编码文本以提升网页翻译效率?

解决方案:批量翻译HTML页面文本(印地语)

一、VSCode正则+插件快速处理(适合轻度需求)

  • 步骤1:批量提取可见文本
    打开VSCode全局查找替换(Ctrl+Shift+F),启用正则模式,用以下正则匹配标签间的可见文本:
    >\s*([^<>\s].*?)\s*<
    
    点击「查找全部」,所有匹配的文本会被选中,复制到新文件中。
  • 步骤2:批量翻译
    安装VSCode插件Translate,选中所有复制的文本,右键选择「Translate Selection」,将目标语言设为印地语(Hindi),翻译完成后复制结果。
  • 步骤3:批量替换
    回到原查找替换界面,在「替换」框中使用>$1<的捕获组逻辑,按对应位置替换翻译后的文本(注意保持文本顺序一致,避免错位)。

二、Python脚本自动化(高效处理120页)

这是大数量文件的最优方案,全程自动化:

  1. 安装依赖
    在终端执行:
    pip install beautifulsoup4 requests
    
  2. 编写处理脚本
    创建translate_html.py文件,内容如下:
    from bs4 import BeautifulSoup
    import requests
    import os
    import time
    
    def translate_text(text, target_lang="hi"):
        try:
            # 简单调用谷歌翻译接口,若有频率限制可添加延时
            url = f"https://translate.googleapis.com/translate_a/single?client=gtx&sl=en&tl={target_lang}&dt=t&q={text}"
            response = requests.get(url)
            result = response.json()
            return result[0][0][0] if result else text
        except Exception as e:
            print(f"翻译失败:{e}")
            return text
    
    def process_html_files(folder_path):
        for filename in os.listdir(folder_path):
            if filename.endswith(".html"):
                file_path = os.path.join(folder_path, filename)
                with open(file_path, "r", encoding="utf-8") as f:
                    soup = BeautifulSoup(f.read(), "html.parser")
                
                # 排除script、style标签,只翻译可见文本节点
                for element in soup.find_all(text=True):
                    if element.parent.name not in ["script", "style"] and element.strip():
                        translated_text = translate_text(element.strip())
                        element.replace_with(translated_text)
                        time.sleep(0.5)  # 避免请求频率过高
                
                # 保存翻译后的HTML
                with open(file_path, "w", encoding="utf-8") as f:
                    f.write(str(soup))
                print(f"已处理:{filename}")
    
    # 替换为你的HTTrack保存的网站文件夹路径
    process_html_files("./your_httrack_output_folder")
    
  3. 运行脚本
    终端执行python translate_html.py,脚本会自动遍历所有HTML文件,翻译可见文本并保存。

三、注意事项

  • 若翻译API触发频率限制,可延长脚本中的time.sleep时长。
  • 先拿1-2个文件测试,确保标签结构未被破坏。
  • 若HTML文件编码非UTF-8,需调整脚本中的encoding参数。

内容的提问来源于stack exchange,提问作者Hashibul Hussain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 18:45:30