Sublime Text 无法提供真正的中文错误提示,因其仅显示外部工具(如Python解释器、linter)输出的原始英文报错,ChineseLocalization插件仅汉化UI界面,不处理stdout/stderr;错误信息本地化需依赖工具链自身支持,非插件可解决。

Sublime Text 本身不提供“全中文错误提示插件”——所谓“中文错误提示”,实际是编辑器底层报错(如 Python 解释器、linter 工具、构建系统输出)的原始英文信息,Sublime 不翻译也不拦截,它只负责显示。你看到的 IndentationError、SyntaxError、ModuleNotFoundError 这些,全是 Python 或其他工具抛出的原生异常,不是 Sublime 自己生成的。
为什么装了 ChineseLocalization 也看不到中文报错?
ChineseLocalization 插件只汉化 Sublime 自身 UI:菜单栏、设置项、命令面板、对话框标题等。它**不处理任何外部进程的标准输出(stdout/stderr)**,比如:
- 运行
python file.py时终端打印的 traceback - 使用
SublimeLinter或flake8检查时侧边栏/状态栏显示的警告文本 - 构建系统(Build System)执行后控制台输出的错误行
这些内容来自 Python 解释器、Node.js、Go 编译器等外部程序,Sublime 只做“搬运工”,无法也不该翻译它们。
想让错误信息变中文,得改源头,不是装插件
真正起作用的是你使用的语言环境或工具本身是否支持中文输出。常见路径如下:
-
python命令默认不输出中文错误;但某些 Windows 系统上,若 locale 是zh_CN.UTF-8,且 Python 版本 ≥ 3.7,部分内置异常(如FileNotFoundError)会尝试本地化——但这不可靠,且仅限极少数异常类型 - 第三方 linter 如
pylint有--msg-template参数可自定义提示格式,但模板里写中文 ≠ 错误本身被翻译 - VS Code 的中文错误提示,本质是其集成的 Python 扩展调用了微软维护的本地化资源包;Sublime 没这类配套机制
能做的实际优化(非翻译,但提升可读性)
虽然不能把 TypeError: expected str, bytes or os.PathLike object, not int 自动转成中文,但你可以让错误更易定位、更结构化:
- 用
SublimeLinter+SublimeLinter-pylint,配合pylint配置文件启用--enable=all和--msg-template="{path}:{line}:{column}: {msg_id} ({symbol}) {msg}",让错误带行号+ID,方便查文档 - 在构建系统中加
"shell_cmd": "python -u \"$file\" 2>&1 | iconv -f utf-8 -t gbk 2>/dev/null"(仅 Windows cmd 场景,防乱码,非翻译) - 禁用硬件加速:
"hardware_acceleration": "none"在Preferences.sublime-settings — User中,避免中文字符渲染错位(尤其老显卡)
别搜“Sublime 中文错误提示插件”——所有声称能自动翻译 traceback 的方案,要么是伪造界面(只改几个固定字符串)、要么已失效、要么偷偷调用在线翻译 API(不稳定且隐私风险)。真正稳定的做法,是统一开发环境语言(如设系统 locale)、用支持本地化的工具链(如 VS Code + Python Extension),或直接阅读英文错误——它比任何翻译都准确。


















