locale.json文件存在但中文不生效,首要原因是内容格式不严格:必须为单行{"locale":"zh-cn"}(无换行、空格、注释、bom,全小写连字符,英文双引号),且路径须为用户级正确目录;工作区或远程环境设置可能覆盖该配置;后台进程残留或权限错误也会导致静默失败。

locale.json文件存在但中文不生效?先验证内容格式
VS Code 只接受严格格式的 locale.json,任何偏差都会导致静默失败——界面照旧英文,也不报错。常见问题包括:
• 内容不是单行 JSON:{"locale":"zh-cn"}(不能换行、不能有空格、不能有注释)
• 用了中文引号、单引号或全角字符
• zh-cn 写成 zh-CN、zh_CN、zh-hans 或 Chinese (Simplified)
• 文件编码含 BOM(尤其 Windows 记事本默认保存带 BOM 的 UTF-8)
• 多了一个逗号、冒号后多了空格、或引号不闭合
locale.json路径放错位置?确认是用户级而非工作区路径
locale.json 必须放在用户数据目录下,**不能**放在项目根目录的 .vscode/ 里,也不能放在远程机器的任意位置。正确路径如下:
• Windows:%APPDATA%\Code\User\locale.json
• macOS:$HOME/Library/Application Support/Code/User/locale.json
• Linux:$HOME/.config/Code/User/locale.json
如果当前打开的是文件夹(即处于工作区),还要检查 .vscode/settings.json 是否存在并写了 "locale": "en" —— 工作区设置会覆盖用户级配置,直接导致 locale.json 失效。
远程开发(SSH / WSL)下 locale.json 为什么不起作用?
Remote-SSH 和 WSL 启动的是独立的 VS Code Server 实例,它完全不读你本地的 locale.json,而是读远程机器上对应路径的文件。常见误操作是只在本地配好,就以为远程也汉化了。
• 连入远程后,先确认 VS Code Server 已启动:终端运行 code --list-extensions
• 找到远程的 locale 路径:~/.vscode-server/data/Machine/abc123.../locale.json(哈希目录名每次连接可能不同)
• 在该目录下创建或编辑 locale.json,内容严格为:{"locale":"zh-cn"}
• 保存后,在**远程窗口内**执行 Developer: Reload Window(不是本地窗口)
手动写入 locale.json 后仍无效?检查进程残留与权限
VS Code 常驻后台进程(如 Code Helper)可能锁住配置或缓存旧状态,导致新 locale.json 不加载。
• Windows:任务栏右键 VS Code 图标 → “退出”,或任务管理器中结束所有 code.exe 进程
• macOS/Linux:终端执行 killall code 或 pkill -f 'code'
• 检查路径权限:Linux/macOS 下若曾用 sudo code 启动过,$HOME/.config/Code/User/ 所有者可能变成 root,需修复:sudo chown -R $USER:$USER $HOME/.config/Code/User/
• 切勿以管理员/Root 身份运行 VS Code——这反而会因 UAC 或沙盒策略阻止向用户目录写入,造成循环失败。











