必须用 locale.json 而非 settings.json,因 vs code 1.70+ 已完全忽略后者中的 "locale" 字段;locale.json 是启动时唯一读取的语言开关,须置于用户数据目录、内容为严格格式的 {"locale":"zh-cn"},且需彻底退出进程后重启验证。

直接改 locale.json 是最稳的汉化方式,但必须路径对、内容准、重启净,三者缺一不可;装插件或改 settings.json 都不能替代它。
为什么必须用 locale.json 而不是 settings.json
VS Code 从 1.70 版本起已完全忽略 settings.json 中的 "locale" 字段——写进去也不会读,不报错也不生效。官方只认用户数据目录下的 locale.json 文件,且只在启动时加载一次。这个文件本质是“语言开关”,不是配置项,所以不能混在 settings.json 里。
-
settings.json里加"locale": "zh-cn"属于无效操作,纯属浪费时间 -
locale.json必须独立存在,且只能放在用户级路径下(不是工作区.vscode/目录) - 如果
locale.json存在但格式非法,VS Code 会静默跳过,回退英文,不提示任何错误
locale.json 的路径和内容必须严格匹配
路径写错、文件名大小写不对、编码带 BOM,都会导致失效。别依赖记忆,直接按系统查:
- Windows:
%APPDATA%\Code\User\locale.json(不是%USERPROFILE%\AppData\Roaming\Code\User\的别名路径) - macOS:
$HOME/Library/Application Support/Code/User/locale.json(注意Application Support中间有空格) - Linux:
$HOME/.config/Code/User/locale.json(.config是隐藏目录,别漏点)
文件内容只允许一行合法 JSON:
用于端到端视频本地化流程的轻量编排器,路由至四个专注子技能——/wjs-transcribing-audio、/wjs-translating-subtitles...
{"locale":"zh-cn"}
- 必须是双引号,不是中文引号或单引号
-
zh-cn全小写、连字符、无空格、无下划线 - 不能有多余逗号、换行、注释或空格(哪怕开头多一个空格也失败)
- 务必保存为 UTF-8 无 BOM 编码——用 VS Code 自己新建并保存该文件最保险
改完不生效?大概率是进程没杀干净
VS Code 启动后会在后台驻留 Code.exe(Windows)、Code Helper(macOS)或 Electron 进程,这些残留会继续读旧配置。单纯关窗口不等于退出进程。
- Windows:打开任务管理器,结束所有
Code.exe和Code Helper进程 - macOS:活动监视器中搜索
Code,结束全部相关进程(包括Code Helper (Renderer)) - Linux:执行
pkill -f "code.*--no-sandbox"或手动查ps aux | grep code - 重启后右下角状态栏会显示当前语言代码(如
zh-cn),点它可快速验证是否加载成功
哪些地方显示英文不是配置失败
终端(Terminal)、调试控制台(Debug Console)、Git 命令输出、部分插件弹窗(如 Live Server 提示)天生不走 VS Code 的 locale 配置。它们的语言取决于:
- 系统区域设置(如 macOS 的
LANG环境变量) - Shell 自身本地化(如 zsh/bash 的
LC_MESSAGES) - 插件是否内置中文翻译资源(比如 Python 插件的配置页仍英文,是它自己没翻译,不是你配错了)
真正验证汉化是否成功的唯一标准,只有三处:文件/编辑/视图 顶部菜单栏、命令面板(Ctrl+Shift+P)上方提示语、设置界面(Ctrl+,)左侧导航栏。这三处全中文,locale.json 就算真正生效了。










