摘要:有客户反馈,今天 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 的输出里已经不是偶尔夹几句日文,而是整段解释、任务状态、代码说明都被日语接管了。

这种情况很容易让人误判:

实际排查下来,最有效的解决方法是:

/config -> Language -> 设置为中文

设置完之后,Claude Code 输出恢复正常。

2. 为什么重开session没用

很多人第一反应是重开 session。

但重开 session 不一定能解决语言问题,因为 Claude Code 的语言偏好可能不是只存在当前对话上下文里。

它可能来自几类信号:

信号来源 可能影响
Claude Code 配置 Language 保持默认或被设置成其他语言
终端环境变量 LANGLC_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 决定。

更常见的是多个信号叠加:

日本节点
  + 终端语言默认值
  + Claude Code Language 未显式设置
  + 会话里出现日文
  -> 模型误以为应该用日语

所以排障顺序建议是:

先改 /config 语言
再检查终端 locale
再换非日本节点验证
最后检查项目提示词和历史上下文

不要一上来就认定是模型或中转站问题。

6. 和4sAPI有没有关系

这类问题通常和 4sAPI 的 API 转发本身关系不大。

4sAPI 负责的是:

模型最终用什么语言输出,更多取决于:

当然,如果你通过 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 日志里请求是否带日文上下文

对客户来说,这个问题的处理重点是“显式设置语言”,不要依赖模型自动判断。