Sublime Text 没有稳定的一键划词翻译插件,可用方案仅有两种:一是 TranslateSelection 插件配合本地 Flask 代理,二是 trans 命令行工具结合 Build System;前者需手动配置 API 地址与语言选项并运行代理服务,后者更稳定高效且不阻塞编辑器。

Sublime Text 没有真正“自动翻译选中单词”的稳定插件,所有宣称一键划词即译的方案,要么在 ST4 上失效,要么依赖外部服务且配置极易出错。能用的只有两种路径:一种是 TranslateSelection 插件 + 自建 Flask 代理;另一种是用 trans 命令行工具 + Build System。前者适合想弹窗看结果的人,后者更稳、更快、不卡编辑器。
为什么 TranslateSelection 是目前唯一可手动验证的插件方案
它不直接发网络请求,而是把选中文本 POST 到你本地运行的 HTTP 接口,绕过了 ST 插件不能用 requests、不支持 SSL/TLS 验证、无法处理跨域等硬伤。但必须自己搭个中转服务,否则插件只是个空壳。
- 安装后必须进
Preferences > Package Settings > TranslateSelection > Settings,在右侧用户设置里写入 JSON 配置,"api_url"必须是http://localhost:5000/translate这种格式,不能带 trailing slash -
"source_lang"设为"auto"才能识别中英混杂文本;设成"en"后,中文选中会返回空或报错 - 插件默认绑定快捷键
ctrl+alt+t(Windows/Linux)或cmd+alt+t(macOS),但右键菜单不会自动出现 —— 这不是 bug,是设计如此 - 如果按快捷键没反应,先检查 Sublime 控制台(
ctrl+`)有没有ImportError: No module named 'flask',说明代理服务根本没跑起来
trans 命令行 + Build System 是更推荐的落地方式
它不走插件机制,完全绕开 ST 的事件循环限制,选中文字 → Ctrl+B → 翻译结果直接输出到面板,不阻塞编辑、不依赖 Python 环境、Windows 用户也能用(前提是 WSL 已装好)。
-
shell_cmd中的${selected_text}是 Sublime 内置变量,必须用单引号包裹,否则含空格或括号时命令会崩 - 一定要加
-brief参数,否则trans默认返回带音标、词性、例句的完整结构,粘贴回代码里会污染注释格式 -
-e google必须显式指定,避免 fallback 到已关闭的 Bing 翻译接口,导致返回空字符串或 403 错误 -
selector设为"comment"后,Ctrl+B 只在注释区域生效;若想全局可用,可删掉该行,但要注意非注释文本可能被误译 - Windows 用户别在 cmd 或 PowerShell 里装
trans—— 它对 UTF-8 换行处理不可靠,中文必丢字,必须用 WSL(如 Ubuntu 22.04+)
ChineseLocalization 插件和翻译功能无关,别混淆
它只负责界面汉化(菜单、设置项、对话框),和划词翻译完全不沾边。装了它,TranslateSelection 或 trans 依然要单独配;不装它,翻译功能照常工作。有人以为装完 ChineseLocalization 就能翻译,其实是把“界面语言”和“内容翻译”两个维度搞混了。
- 装 ChineseLocalization 后必须在用户设置里加
"locale": "zh_CN",且彻底退出 Sublime(包括托盘进程)才生效,否则菜单还是英文 - 这个插件和任何翻译逻辑无耦合,它的配置文件里没有 API 密钥、没有语言选项、也不监听选区变化
- 如果你看到某个“汉化+翻译一体插件”,基本是旧版 fork 或打包了失效 API 的半成品,2026 年已全部不可用
真正卡住人的从来不是“怎么装”,而是忽略 ST4 的事件模型限制、没校验 ${selected_text} 是否为空、或者在 Windows 上硬用原生命令行跑 trans。能跑通的配置,90% 都败在这些细节上。


















