vs code 不支持双语界面,locale.json 仅允许单个合法 locale 字符串(如"zh-cn"),多值、数组、注释或格式错误会导致文件被静默忽略而回退英文;所谓“中英混排”实为不同组件语言来源不同,并非 vs code 主动提供双语能力。

VS Code 不支持双语界面——locale.json 只能指定一个 locale 值,整个 UI 语言强制统一。所谓“中英混排”“菜单中文、报错英文”等现象,是部分组件未被翻译或受系统/终端环境影响,并非 VS Code 主动提供双语能力。
为什么 locale.json 里写两个值会失败
VS Code 解析 locale.json 时只读取顶层 locale 字段,且要求是单个字符串(如 "zh-cn" 或 "en")。尝试写成 {"locale": ["zh-cn", "en"]} 或添加额外字段,会导致 JSON 格式非法,VS Code 启动时静默忽略该文件,回退到系统语言或内置英文。
-
locale.json是严格的一行标准 JSON,不能有注释、多余空格、逗号或 BOM - 值必须小写、带连字符(
zh-cn),zh_CN、ZH-CN、zh-hans均不被识别 - 没有
fallback、alternatives或priority等扩展字段,VS Code 不解析它们
哪些地方看起来像“双语”,其实是假象
用户常误以为某些区域“自动双语”,实际是不同模块语言来源不同:
使用固定的 Next.js/Tailwind/Prisma 技术栈构建并记录独立 SaaS 项目,仅将 FastAPI 用于 Python 工作负载,并遵循严格的架构规范。
- 顶部菜单栏、设置页、命令面板:由
locale.json决定,严格单语 - 集成终端(Terminal)里的
git、node、python输出:取决于 shell 环境变量(如LANG、LC_ALL),和 VS Code 无关 - 调试控制台(Debug Console)中的错误堆栈:由运行时(如 Node.js、Python 解释器)的语言环境决定
- GitLens、Prettier 等插件的提示文字:取决于插件自身是否适配当前
locale,多数仅支持 en/zh 二选一
真需要中英对照怎么办
没有配置开关,但可临时组合使用:
- 保持
locale.json为{"locale":"zh-cn"},盯住菜单和设置页中文;遇到不熟悉的英文报错,右键复制 → 粘贴到浏览器查译 - 在终端里手动切语言环境(仅影响该终端会话):
LANG=en_US.UTF-8 git status(Linux/macOS)或set LANG=en(Windows CMD) - 远程开发(WSL/SSH)需单独配
locale.json:它在远程路径(如~/.vscode-server/data/Machine/xxx/locale.json),本地设置不影响远程 UI - 工作区级覆盖可用:
.vscode/locale.json可设为{"locale":"en"},只对当前项目生效——但这仍是单语切换,不是同时显示两种
真正容易被忽略的是:VS Code 的语言逻辑非常“干净”,它不做推测、不兜底、不 fallback 到近似语言。你写了什么,就显示什么;写错、多写、少写,它就当没这回事。想靠配置文件实现双语,就像给电灯泡接两根火线——物理上就不成立。










