sublime text 没有靠谱划词翻译插件,因st插件生态不支持网络请求、剪贴板监听等必要能力,且st4移除旧模块导致多数插件失效;唯一可行方案是translateselection插件+自建flask代理服务。

Sublime Text 本身不提供划词翻译功能,也没有官方支持的翻译插件;所有所谓“一键划词翻译”方案都依赖第三方 Python 插件 + 外部翻译 API,且多数在 ST4 上已失效或存在严重兼容问题。
为什么找不到靠谱的划词翻译插件
Sublime Text 的插件生态以轻量、快速为设计原则,核心不处理网络请求、不内置浏览器上下文、也不暴露系统剪贴板监听能力。划词翻译需要同时满足:实时选中文本 → 调用翻译 API(如 Google/Baidu/Youdao)→ 弹出浮动提示或插入结果 → 支持中英互译 → 不卡主线程。这些能力超出了 ST 插件的标准接口范围。
常见失败现象包括:ImportError: No module named 'requests'、右键菜单无“Translate”选项、快捷键触发后无响应、翻译结果乱码或返回空字符串。
- ST4 移除了对
urllib2和部分旧版 SSL 模块的支持,导致大量基于 Python 2.7 或早期 Python 3 的翻译插件直接崩溃 - 插件若尝试调用系统命令(如
curl或wget)会因 Windows 默认无curl、macOS/Linux 版本差异而行为不一致 - 多数插件未适配 ST4 的新事件循环模型,
on_selection_modified触发后无法及时弹出 UI,或阻塞编辑器响应
目前唯一可手动验证的可行方案:TranslateSelection + 自建 API 代理
该方案绕过插件直连翻译服务的风险,改用本地 HTTP 代理转发请求,规避证书、跨域、频率限制等问题。需自行准备一个轻量代理服务(例如用 Flask 写个几行的中转接口),再配置插件指向它。
实操步骤:
- 安装插件:
Ctrl+Shift+P→ 输入Package Control: Install Package→ 搜索并安装TranslateSelection(注意拼写,不是 TranslateTool 或 Sublime-Translator) - 确认插件生效:打开 Preferences > Package Settings > TranslateSelection > Settings,右侧用户设置中添加如下内容(必须是 JSON 格式,双引号包裹):
{ "api_url": "http://localhost:5000/translate", "source_lang": "auto", "target_lang": "zh-CN" } - 启动本地代理服务(示例用 Python Flask):
from flask import Flask, request, jsonify import requests app = Flask(__name__) @app.route('/translate', methods=['POST']) def translate(): text = request.json.get('text', '') resp = requests.post('https://api-free.deepl.com/v2/translate', data={'auth_key': 'your-free-key', 'text': text, 'source_lang': 'auto', 'target_lang': 'ZH'}) return jsonify(resp.json())保存为proxy.py,运行python proxy.py - 选中文本 → 右键 →
Translate Selection,或按默认快捷键Ctrl+Alt+T
别踩这些坑
很多教程推荐的 Sublime-Translator、GoogleTranslate、QuickTranslate 插件,在 2026 年的 ST4 环境下基本不可用:
-
Sublime-Translator依赖已下线的 Bing Translate API v2,调用返回404或Invalid Authorization -
GoogleTranslate使用非官方爬虫方式,Google 已增加人机验证,插件会卡在Waiting for response...长达数秒后超时 -
QuickTranslate的配置项google_api_key实际无效——Google Cloud Translation API v3 要求 OAuth2 或服务账号密钥,纯 API Key 不再支持免费翻译 - 所有试图通过
subprocess.Popen调用浏览器翻译页面的插件,在 ST4 中因沙箱策略升级而被拦截,控制台报错PermissionError: [WinError 5] Access is denied
真正能稳定工作的划词翻译,不是靠装一个插件就完事,而是要确认你用的翻译后端是否还活着、API 是否开放、插件是否真适配了 ST4 的 Python 3.8+ 运行时——这三个条件缺一不可。多数人卡在第二步,却以为是自己没重启编辑器。











