Remote-SSH连接后界面仍是英文,是因为远程机器缺少~/.vscode-server/data/Machine/locale.json文件或内容不合法;必须通过SSH登录后手动创建该文件,严格写入{"locale":"zh-cn"}(UTF-8无BOM),并确保权限属远程用户,否则远程VS Code Server无法加载中文界面。

Remote-SSH 连接后界面仍是英文,是因为远程端没配 locale.json
本地 VS Code 设成中文,对 Remote-SSH 启动的远程 VS Code Server 完全无效。它运行在远端机器上,只读取自己进程能访问到的配置文件,路径通常是 ~/.vscode-server/data/Machine/locale.json(VS Code ≥ 1.85)或旧版的 ~/.vscode-remote/data/Machine/locale.json。不手动创建或修正这个文件,远程 UI 就永远是英文。
必须用 {"locale":"zh-cn"} 写进远程 locale.json,不能靠同步或插件自动带过去
Remote-SSH 不会把本地已安装的 MS-CEINTL.vscode-language-pack-zh-hans 扩展复制到远程,也不同步 settings.json 或语言设置。远程 Server 自带多语言资源,但只在检测到合法 locale.json 时才加载中文翻译。
- 先 SSH 登录目标机器:
ssh user@host - 确认路径存在(若无则新建):
mkdir -p ~/.vscode-server/data/Machine/ - 写入严格格式的 JSON:
{"locale":"zh-cn"},保存为 UTF-8 无 BOM 编码 - 不要写成
"zh_CN"、"zh"或带注释/空格的变体,否则整个文件被忽略
WSL 下中文不生效?检查 locale.json 路径和 VS Code Server 实例位置
WSL 的 VS Code Server 数据目录不是 ~/.vscode-server/data/Machine/ 那么简单——新版会加哈希后缀(如 ~/.vscode-server/data/Machine/abc123def456/locale.json),且每次更新可能变动。直接进 ~/.vscode-server/data/Machine/ 目录下找最新子目录更可靠。
- 在 WSL 终端里执行:
ls -t ~/.vscode-server/data/Machine/ | head -n1看最新文件夹名 - 进去后检查是否有
locale.json;没有就新建,内容仍为{"locale":"zh-cn"} - 改完别 reload window,必须完全断开当前远程连接,再重新打开一个窗口
右下角显示 “SSH: user@host” 但点不开语言菜单?说明远程 locale.json 未被识别
远程命令面板里搜 Configure Display Language 没反应,或状态栏点击后无 zh-cn 选项,基本可判定远程 Server 没读到有效配置。这时候别反复重装插件,优先验证三件事:
-
cat ~/.vscode-server/data/Machine/*/locale.json 2>/dev/null | grep zh-cn—— 看是否真有且内容正确 -
ps aux | grep code确认没有残留的旧 Server 进程干扰 - 临时在远程终端运行:
code --install-extension MS-CEINTL.vscode-language-pack-zh-hans --force强制注册语言包(仅调试用)
真正容易被忽略的是:远程端的 locale.json 必须由远程用户权限写入,如果用 sudo 创建或权限设成 root 所有,VS Code Server 启动时会跳过加载。











