VSCode汉化后hover提示仍为英文是正常现象,因函数签名、参数名、错误信息等由语言服务器直接返回原始英文字符串,不经过界面本地化流程;需借助Translate Dict或Comment Translate等插件实现双语hover。

VSCode汉化后 hover 提示还是英文?这是正常现象
VSCode 界面汉化(locale 设为 zh-cn)只影响菜单、设置面板、命令面板等 UI 文本,而函数签名、参数名、类型提示、错误信息这些内容由语言服务器(如 tsserver、Pylance)直接返回原始字符串,**不会被翻译**。你看到的 Array.prototype.map(callback, thisArg) 或 TypeError: Cannot read property 'x' of undefined 本来就是英文,汉化插件管不了——这不是 bug,是设计使然。
想实现 hover 双语显示?得靠翻译类插件,不是语言包
要让 hover 同时显示中英,必须引入额外插件,且需明确区分使用场景:
-
查单词/短语:用
Translate Dict或Quick Translate,悬停触发本地词库匹配,响应快但不处理长句; -
翻注释:用
Comment Translate,默认只作用于//和/* */内容,光标停在注释里按Ctrl+Shift+T即可原地双语渲染; -
变量命名辅助:用
Comment Translate的Ctrl+Shift+N,把中文描述转成驼峰式英文名,但不会自动插入代码。
注意:Comment Translate 的 commentTranslate.source 必须设为 "en",commentTranslate.targetLanguage 设为 "zh-CN",否则识别方向反了,英文注释不会触发翻译。
为什么 hover 没反应?检查这三处配置
常见失效原因不是插件没装,而是关键开关被关了:
-
editor.hover.enabled在设置里被手动关掉(全局或当前工作区); - 插件自身 hover 开关未启用,比如
translateDict.hoverEnabled或commentTranslate.hover.enabled是false; - 鼠标悬停目标不在插件支持范围内:例如
Translate Dict不处理字符串字面量("error"),Comment Translate默认跳过变量名和函数调用。
组合词如 devDependencies 通常无法整词识别,得手动选中 Dependencies 部分再悬停。
离线能做双语 hover 吗?可以,但有局限
Translate Dict 支持纯离线,词库存在本地,hover 延迟约 160–200ms,适合查单个技术词(promise、middleware)。但它不做语义分析,长句或带上下文的提示(如 Argument of type 'string | number' is not assignable to parameter of type 'string')会遍历全库匹配,结果不可靠甚至卡顿。
真正稳定的双语方案其实是“混合用”:界面用官方 Chinese (Simplified) Language Pack 汉化,hover 查词用 Translate Dict,注释翻译用 Comment Translate,三者互不干扰。别指望一个插件解决所有问题——它们的职责边界很清晰,混用反而容易冲突。


















