vscode中文语言包仅汉化界面,不处理代码字符串、错误提示等;typescript-i18n-plugin可将ts错误码映射为中文解释;html/css/js内联字符串不可汉化,应通过i18n工具管理。

VSCode 默认中文语言包只翻译界面,不处理代码内字符串、错误提示、调试器输出等——这不是插件问题,是设计如此。
Chinese (Simplified) Language Pack for Visual Studio Code 为什么只汉化菜单却不汉化报错?
这个插件只负责 UI 层语言切换,所有 console.error、TS2339 类型错误、调试器变量名、断点提示框里的英文,都不在它的作用范围内。它修改的是 VS Code 自身的 package.nls.zh-cn.json,而非 Node.js、TypeScript Server 或浏览器 DevTools 的本地化资源。
- 安装后必须执行
Configure Display Language命令并重启,否则只是“假汉化” - 即使设为
zh-CN,终端里运行node或tsc输出仍是英文——这是底层工具链决定的,和 VS Code 无关 - Vue/React 框架的警告(如
[Vue warn])也来自运行时,无法被该插件覆盖
想让 TypeScript 错误提示变中文?试试 typescript-i18n-plugin
这是一个社区维护的轻量插件,通过拦截 TypeScript Server 的诊断信息,在 VS Code 编辑器中将常见错误码(如 TS2345、TS2532)映射为中文解释,不改编译结果,只改显示内容。
- 支持 VS Code 1.80+,需配合启用
"typescript.preferences.includePackageJsonAutoImports": "auto" - 对
any类型滥用、可选链调用、泛型约束失败等高频错误有较完整翻译 - 不支持动态生成的错误(如自定义类型守卫失败提示),这类仍显示英文原句
- 安装后无需配置,默认生效;禁用时直接停用插件即可,不影响 TS Server 正常工作
HTML/CSS/JS 内联字符串、属性值能汉化吗?不能,但可以辅助理解
代码中出现的 "Please select an option"、aria-label="Close navigation" 这类文本,属于项目源码的一部分,任何语言包插件都不会、也不应该擅自替换——否则会破坏语义、影响 i18n 流程,甚至导致构建失败。
- 如果你看到某些插件号称“自动翻译注释或字符串”,大概率是调用在线 API,存在隐私泄露和网络延迟风险
- 更安全的做法是配合
i18n-ally插件管理多语言键值,把button.close映射到不同 locale 的实际文案 - 对调试时看到的 DOM 属性值(如
data-testid)、console.log输出,建议统一用英文命名,避免团队协作混乱
真正容易被忽略的点是:汉化 ≠ 本地化。界面看得懂,不代表开发上下文就清晰。比如 Cannot find name 'Ref' 翻成“找不到名称‘Ref’”依然需要知道它是 Vue 的响应式 API —— 这时候一个精准的跳转定义 + 类型提示,比中文翻译更有用。











