只有typescript自带诊断能变中文,需同时满足:安装官方中文语言包、配置typescript.locale为zh-cn、重启ts server且未被工作区设置覆盖;其他如eslint、python解释器、终端命令等错误均由外部进程生成,vs code无法翻译。

VSCode 本身不翻译编译器、解释器或语言服务器输出的英文错误提示,Cannot find name 'xxx'、Module not found: Error: Can't resolve 'react-router-dom' 这类文本由 TypeScript Server、Node.js、Webpack 等外部进程直接生成,VS Code 只负责显示,无法干预内容。
为什么改了界面语言,Problems 面板还是英文?
因为 VS Code 的界面语言(locale)和语言服务的诊断语言完全解耦。菜单变中文 ≠ 报错变中文。TypeScript Server 默认读系统 locale,不看 VS Code 设置;Python 的 NameError: name 'xxx' is not defined 是解释器原生输出;ESLint、Prettier、Volar 等插件各自控制提示语言,互不相通。
-
typescript.locale是唯一能影响 TS 自带诊断语言的配置项,设为zh-cn后必须执行Developer: Restart TS Server才生效 - ESLint 官方插件目前无中文错误文案支持,社区插件如
eslint-plugin-chinese只能补充规则说明,不改报错原文 - Pylance 的类型推导提示暂不支持 locale 切换;Python 解释器抛出的异常(如
SyntaxError)永远是英文,改不了 - 终端里
tsc、npm、python的输出取决于系统环境变量(如LANG),VS Code 不做任何翻译或重写
哪些错误能真正变中文?
只有 TypeScript 自带诊断(非 JS/JSX/HTML)在满足以下全部条件时才会显示中文:
- 已安装 Microsoft 官方
Chinese (Simplified) Language Pack for Visual Studio Code - 用户或工作区设置中明确配置
"typescript.locale": "zh-cn"(必须用下拉菜单选,别手输) - 执行过
Developer: Restart TS Server,且确认 TS Server 进程已更新(可查Developer: Show Running Extensions) - 没被 workspace
settings.json里的同名配置覆盖(建议先清空用户设置中的typescript.locale,只留工作区级)
验证方式:在 .ts 文件里写 consol.log(),看 hover 或 Problems 面板是否出现「无法找到名称“consol”」。
划词翻译比全自动翻译更可靠
目前没有插件能稳定、完整地翻译整块错误堆栈(尤其含路径、代码片段、多行堆栈时)。实测有效的做法是手动选中关键错误短语,用轻量插件即时翻译:
- 推荐
vscode-translator或Caiyun Translator:双击/右键/Ctrl+Alt+T 即可翻译选中文本 - 务必关闭「自动检测源语言」,手动设
translate.defaultSourceLanguage为en,translate.defaultTargetLanguage为zh(不是zh-cn) - 避免用
yzane.translate(已停更两年)、Google Translate 插件(M1/M2/M3 Mac 上大概率静默失效) - 搭配
ErrorLens使用时,它只渲染原始文本——能否中文,完全取决于上游语言服务是否返回中文
最容易被忽略的是 TS Server 缓存:设完 typescript.locale 没重启 Server,或工作区配置覆盖了用户设置,都会导致看似配了却无效。关掉所有文件夹再重新 File > Open Folder,比单纯重启 VS Code 更彻底。











