摘要:有客户反馈,今天 Claude Code 返回内容突然全是日语,重开 session 之后仍然没有恢复。截图里可以看到,Claude Code 在中文项目里输出了大量日文说明。这个问题通常不是模型坏了,也不是 API 中转站返回异常,而是语言偏好被环境信号影响了:例如代理节点在日本、终端语言环境偏日文、Claude Code 自动推断语言失败,或者历史会话上下文把语言带偏。最直接的解决方法是进入 Claude Code 的
/config,把Language显式设置成中文。本文用一个真实排障案例讲清楚原因、修复步骤和长期预防方法。
关键词:Claude Code、大模型API中转站、4sAPI、Claude返回日语、Claude Code语言设置、/config、Language、终端语言、代理节点、日本节点
适合读者:Claude Code 用户、国内开发者、4sAPI 用户、AI 编程工具使用者、技术支持同学,以及遇到“模型突然用日语/英文/其他语言回复”的用户。
1. 开篇:Claude Code突然全程日语
客户反馈的问题很典型:
今天 Claude Code 返回全是日语。
重新开 session,还是这个情况。
从截图看,Claude Code 的输出里已经不是偶尔夹几句日文,而是整段解释、任务状态、代码说明都被日语接管了。
这种情况很容易让人误判:
- 是不是 Claude 模型出问题了;
- 是不是 4sAPI 中转异常;
- 是不是账号地区被识别成日本;
- 是不是新 session 污染了;
- 是不是项目提示词里混进了日文。
实际排查下来,最有效的解决方法是:
/config -> Language -> 设置为中文
设置完之后,Claude Code 输出恢复正常。
2. 为什么重开session没用
很多人第一反应是重开 session。
但重开 session 不一定能解决语言问题,因为 Claude Code 的语言偏好可能不是只存在当前对话上下文里。
它可能来自几类信号:
| 信号来源 | 可能影响 |
|---|---|
| Claude Code 配置 | Language 保持默认或被设置成其他语言 |
| 终端环境变量 | LANG、LC_ALL、系统区域影响语言推断 |
| 代理节点地区 | 日本节点可能让服务侧或工具侧更倾向日语 |
| 历史上下文 | 上一轮任务里日语输出被继续继承 |
| 项目文件 | README、注释、日志或输入里混有日文 |
| 模型自动判断 | 模型根据上下文误判用户偏好 |
所以,如果语言偏好来自配置或环境,单纯重开 session 只是换一轮对话,不会改掉底层语言信号。
这也是为什么客户重开后仍然全是日语。
3. 最快解决方案:进入/config设置Language
在 Claude Code 里输入:
/config
进入配置界面后,找到:
Language
如果它显示:
Default (English)
或者没有明确设置中文,就手动选择中文。
根据你提供的截图,操作路径就是:
/config
-> Config
-> Language
-> 选择中文
设置完成后,建议重新开一个 Claude Code 会话,或者直接发一句明确指令验证:
之后请始终使用简体中文回答。
如果输出恢复中文,说明问题基本定位完成。
4. 如果/config后仍然异常,再检查终端语言
如果 /config 设置中文后,仍然偶尔跑日语,可以继续检查终端语言环境。
4.1 macOS / Linux
在终端执行:
locale
重点看:
LANG
LC_ALL
LC_MESSAGES
如果里面出现了类似:
ja_JP.UTF-8
可以临时设置成中文:
export LANG=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
然后重新启动 Claude Code。
如果你希望长期生效,可以写入 shell 配置文件,例如:
~/.zshrc
~/.bashrc
4.2 Windows PowerShell
Windows 下可以先查看区域语言和环境变量:
Get-Culture
Get-UICulture
Get-ChildItem Env:LANG
Get-ChildItem Env:LC_ALL
如果终端里设置过日语相关变量,可以临时改成中文:
$env:LANG="zh_CN.UTF-8"
$env:LC_ALL="zh_CN.UTF-8"
然后重新打开 Claude Code。
Windows 更常见的情况是系统区域、终端字体、输入法和代理节点一起影响模型判断,所以 /config 的显式语言设置更关键。
5. 代理节点在日本,会不会导致Claude回日语
有可能,但通常不是唯一原因。
如果你的梯子节点在日本,可能会带来几种间接影响:
- 服务侧看到的出口 IP 在日本;
- 某些工具根据网络环境推断区域;
- 模型收到的隐式上下文更偏日区;
- 终端或 WebView 的地区信息和语言推断混在一起。
但要注意:模型回复语言通常不会只由 IP 决定。
更常见的是多个信号叠加:
日本节点
+ 终端语言默认值
+ Claude Code Language 未显式设置
+ 会话里出现日文
-> 模型误以为应该用日语
所以排障顺序建议是:
先改 /config 语言
再检查终端 locale
再换非日本节点验证
最后检查项目提示词和历史上下文
不要一上来就认定是模型或中转站问题。
6. 和4sAPI有没有关系
这类问题通常和 4sAPI 的 API 转发本身关系不大。
4sAPI 负责的是:
- API 地址;
- Key;
- 模型路由;
- 日志;
- 额度;
- 计费;
- 请求转发。
模型最终用什么语言输出,更多取决于:
- 用户 prompt;
- Claude Code 系统提示;
- Claude Code 配置;
- 终端环境;
- 项目上下文;
- 模型自动语言判断。
当然,如果你通过 4sAPI 看日志,可以帮助定位问题:
- 请求内容里有没有日文;
- 系统提示里有没有指定语言;
- 用户消息是否混入日文;
- 是否每次都是同一个模型;
- 是否只有某个节点或某台机器出现。
所以,4sAPI 在这个问题里的价值是“帮助排查”,不是“导致日语输出”。
7. 推荐给客户的标准回复
如果客户反馈“Claude 今天全是日语”,可以直接这样回复:
这个通常不是模型异常,而是 Claude Code 的语言偏好被环境信号带偏了。
请在 Claude Code 里输入 /config,进入 Config 页面后找到 Language,把语言显式设置成中文。
如果设置后仍然偶发日语,再检查两点:
1. 当前代理节点是否在日本,可以临时换到香港/新加坡/美国节点测试;
2. 终端语言环境是否是 ja_JP,可以把 LANG / LC_ALL 改成 zh_CN.UTF-8。
设置完成后,重新开一个 session,并发送:
“之后请始终使用简体中文回答。”
这段话适合客服、技术支持或群里直接发。
8. 最佳实践:把语言要求写进项目规则
如果团队里经常用 Claude Code,建议不要只依赖默认语言判断。
可以在项目的 CLAUDE.md 里加一条明确规则:
# Output Language
- Always respond in Simplified Chinese unless the user explicitly asks for another language.
- Keep code identifiers, API names, CLI commands, and error messages in their original language.
如果是个人偏好,不想提交到 Git,可以写在 CLAUDE.local.md:
# Personal Preference
- 默认使用简体中文回答。
- 除非我明确要求,否则不要切换到日语或英文。
这样即使 /config 默认值被环境影响,项目层也能再加一层约束。
9. 排障清单
遇到 Claude Code 突然日语输出,按这个顺序查:
1. 输入 /config
2. 找到 Language
3. 显式设置为中文
4. 重新开 session
5. 发送“之后请始终使用简体中文回答”
6. 检查代理节点是否在日本
7. 检查终端 locale 是否是 ja_JP
8. 检查 CLAUDE.md / CLAUDE.local.md 是否有语言规则
9. 检查项目上下文里是否大量日文
10. 用 4sAPI 日志确认请求内容是否被日文污染
一般情况下,做到第 3 步就能解决。
10. 总结:语言问题优先查配置,不要先怀疑模型
Claude Code 突然全是日语,最常见原因不是模型坏了,也不是中转站异常,而是语言偏好被环境或配置带偏。
最短解决路径:
/config -> Language -> 中文
如果还不稳,再检查:
代理节点是否在日本
终端 LANG / LC_ALL 是否偏日语
CLAUDE.md 是否明确要求中文
4sAPI 日志里请求是否带日文上下文
对客户来说,这个问题的处理重点是“显式设置语言”,不要依赖模型自动判断。