Claude 官方至今不支持简体中文界面。这个扩展解决了这个问题。
安装后,Claude Web 的语言菜单里会出现 中文(中国) 选项。点一下,超过 15,000 条 UI 文本瞬间切换为中文。不需要代理,不需要配置,不需要等 Anthropic 哪天心情好了才支持。
⚡ 30 秒搞定,无需任何技术知识
- Chrome Web Store: Claude i18n
- Microsoft Edge Add-ons: Claude i18n
🧪 面向 Firefox Desktop 与 macOS Safari Userscripts 的实验性版本
非 Chromium 系列浏览器用户可以试用用户脚本版本。Firefox 推荐使用 userscript/claude-i18n.user.js + Tampermonkey / Violentmonkey;Greasemonkey 为 best-effort 实验支持。Safari 可试用 userscript/claude-i18n.safari.user.js,目前仅验证 macOS Safari + Userscripts App。
- 在 Firefox Desktop 安装 Tampermonkey、Violentmonkey 或 Greasemonkey
- 或在 macOS Safari 安装 Userscripts App,并允许访问
claude.ai - 按浏览器选择对应的
.user.js脚本并保存 - 打开 claude.ai,点击左下角用户名 → 语言 → 中文(中国) ✓
详细说明见 userscript/README.md。
- 前往 Releases 页面,下载最新版本的
.crx文件 - 打开 Chrome / Edge,进入
chrome://extensions/ - 打开右上角的 开发者模式
- 将下载的
.crx文件直接拖进浏览器窗口 - 点击「添加扩展程序」确认安装
- 打开 claude.ai,点击左下角用户名 → 语言 → 中文(中国) ✓
git clone https://github.com/Pectics/claude-i18n.git
cd claude-i18n然后在 chrome://extensions/ 中打开开发者模式,选择「加载已解压的扩展程序」,选择项目的 extension/ 目录。
Claude 的后端接口仍然不接受 zh-CN 这种扩展 locale。这个扩展在前端模拟支持了 zh-CN,并在实际请求中把后端部分统一回退为 en-US,再在浏览器端把语言状态和语言包替换回扩展 locale。
你点击「中文」
↓
hook.js 在 document_start + MAIN world 提前注入
↓
Claude Web 构建官方语言数组时,扩展把远端 locales.json 里的扩展语言追加进去
↓
PUT / GET /api/account_profile、bootstrap、experience 等接口按规则回退为 en-US
↓
GET /i18n/*.json、/i18n/dynamic/*.json 命中扩展语言后,交给扩展后台处理
↓
后台先查本地缓存,再按 /version/{locale}.json 的 hash 决定是否更新语言文件
↓
返回 zh-CN 主语言包与 dynamic 语言包
↓
UI 按 Claude 自己的语言流程切换为中文
当前实现分成三层:
hook.js:运行在页面主世界,负责 Array 代理、fetch拦截,以及account_profile/bootstrap/experience/i18n这些关键请求的改写。script.js:负责页面和扩展后台之间的桥接通信。service.js:负责访问远端 Vercel 站点、读取/locales.json和/version/{locale}.json,并维护本地缓存。
缓存策略:
- 扩展语言列表:先读
localStorage中缓存的locales.json,再 lazy load 远端版本;只有版本或内容变化时才替换本地缓存。 - 语言文件版本信息:存放在
chrome.storage.local,按 locale 记录最近一次/version/{locale}.json的 hash。 - 语言文件正文:存放在
Cache Storage,只有 hash 变化时才重新下载对应的*.json/*.dynamic.json文件。 /i18n/*.overrides.json:当前直接由扩展返回空对象{}。
| 语言 | 条目数量 | 状态 |
|---|---|---|
| 中文(中国) (zh-CN) | 15,058 条 | ✅ 可用 |
| 更多语言 | — | 欢迎贡献 |
当 Claude.ai 上游新增、修改或删除 UI key 时,CI 会每 6 小时自动拉取最新 .original/ 文件并生成差异 PR。PR 合并前,需要手动完成翻译:
# 1. 为 zh-CN 准备翻译任务(生成分块 JSONL)
node scripts/locale-update/prepare_translation.mjs --locale zh-CN
# 2. 翻译 .pending/locale-update/translation/zh-CN/chunks/ 下的分块文件
# 推荐使用项目内置的翻译工作流 Skill:
# Claude Code: /offline-chunk-translation
# Codex: /offline-chunk-translation
# Skill 会自动读取 chunk、翻译、写入 out/ 目录,并校验占位符/ICU/标签完整性
# 手动翻译也可:每个 chunk 是 JSONL,每行 { key, en, ja, op },输出加 "zh" 字段
# 3. 校验并应用翻译结果
node scripts/locale-update/apply_translation.mjs --locale zh-CN三个脚本的职责:
build_diff.mjs:对比新旧.original/生成 key 差异(add / update / remove)prepare_translation.mjs:将差异拆分为可控大小的翻译分块apply_translation.mjs:校验翻译完整性(占位符、URL、HTML 标签等),合并回zh-CN/zh-CN.json
主界面翻译位于 zh-CN/zh-CN.json。如果是 gated_messages / Dynamic 相关文案,请编辑 zh-CN/zh-CN.dynamic.json。
原文主包对照在 .original/en-US.json。
直接编辑 JSON 文件提 PR 即可,结构非常简单:
{
"some.ui.key": "对应的中文翻译"
}- 在
locales.json的locales数组中追加 locale 字符串(如"zh-TW") - 创建对应目录和两个翻译文件:
zh-TW/zh-TW.jsonzh-TW/zh-TW.dynamic.json - 运行
./build.sh,确认会生成:dist/locales.jsondist/zh-TW/version.json - 提交 PR
- 全局替换
statsig关键字为dynamic以适配 Claude.ai 的最新重构
- 将扩展 locale 的请求改写逻辑从按路径特判,重构为按协议形状匹配:统一检查 query 中的
locale与请求 body 中的locale - 通用 body 改写链路现已支持
application/json、application/x-www-form-urlencoded、URLSearchParams与FormData - same-origin JSON 响应会统一回写顶层
locale与gated_messages.locale,不再依赖account_profile、bootstrap、experiences等固定接口名 - 将远端
locales.json简化为纯字符串数组结构,并同步调整构建与扩展侧的 lazy cache 读取逻辑
- 重构扩展运行链路为
hook.js、script.js、service.js三层,分别负责页面拦截、桥接通信与后台缓存 - 扩展 locale 的后端请求统一回退为
en-US,并在account_profile、bootstrap/app_start等响应里恢复为扩展 locale - 扩展语言列表改为从远端
/locales.jsonlazy load,并缓存到localStorage - 语言文件改为通过
/version/{locale}.json做 hash 校验,版本信息存chrome.storage.local,正文存Cache Storage - 补齐
experiences/claude_web、/i18n/*.overrides.json等请求链路兼容处理
- 跟进 Claude Web 最近的前端逻辑更新,恢复自定义语言切换能力
- 调整 page hook 注入方式,避免 runtime i18n store 因时序问题捕获失败
- 兼容新版
gated-messages请求链路,防止切换到扩展语言时被 404 HTML 响应中断 - 增加坏缓存自清理逻辑,旧的无效 HTML 响应不会再长期污染语言包缓存
- 前端逆向成功,打通 Claude Web 运行时语言覆盖入口
- 语言切换变为无刷新即时生效,整体体验明显更顺滑
- 菜单注入、运行时切换、语言包拦截与本地缓存链路正式闭环
- 初始 MVP 版本发布
- 在 Claude Web 语言菜单中注入简体中文入口
- 提供基础中文语言包分发、请求拦截与浏览器端加载能力
切换语言后没有效果?
确认扩展已启用,然后刷新 claude.ai 页面。
会影响我的 Claude 账号吗?
不会。扩展只在浏览器端工作,不修改任何账号设置或与 Anthropic 服务器交互(除了正常的语言包拉取)。
切换回英文还能正常用吗?
完全没问题。在语言菜单选择任意官方支持的语言,扩展会自动退出中文模式。
语言包会自动更新吗?
会。扩展通过版本哈希检测远端更新,有新版本时自动下拉最新语言包。





