
Claude Desktop Localization
Finds untranslated Claude Desktop strings and adds Chinese translation mappings.
Install
npx skills add javaht/claude-desktop-zh-cn --skill claude-desktop-zh-localize -g -a claude-code -y- Repository
- javaht/claude-desktop-zh-cn8.1k
- Category
- Engineering
- Updated
- 4d ago
- License
- MIT
- Context cost
- Mediumabout 1,594 tokens
- Runs scripts
- Yes, review before use
What it does
为 claude-desktop-zh-cn 项目补全 Claude Desktop 未汉化界面。当用户发来 Claude Desktop 界面截图并指出未翻译的英文(如"这些没汉化"、"帮我汉化一下"),或要求为新版 UI 增加简体/繁体中文翻译时立即使用。覆盖 i18n 键值词表、硬编码词表与 DOM 动态正则三层,并自动验证映射命中率。
Claude Desktop 中文补丁 · 汉化工作流
本项目是 Claude Desktop 的本地中文补丁。界面文本通过三层机制汉化,新增翻译时必须按目标文本的性质选择正确的层,三层全部落位后统一验证。
三层汉化机制
| 层 | 文件 | 作用范围 |
|---|---|---|
| 1. i18n 键值词表 | resources/frontend-zh-{zh-CN,zh-TW,zh-HK}.json | 走 react-intl 的标准组件。合并进应用的 zh-*.json,有 key 即原生显示中文 |
| 2. 硬编码词表 | resources/frontend-hardcoded-zh-*.json([源文, 译文] 二元组列表) | 未走 i18n 的前端 bundle 文本(安装时静态替换 JS),同时并入在线 DOM 翻译映射 |
| 3. DOM 动态正则 | scripts/patch_claude_zh_cn.py 的 build_online_dom_translation_script() 中 G=[...] 数组;Windows 同款模板在 scripts/install_windows.ps1 | 动态文本:计数、日期、时间区间、带变量的句子。两个引擎必须同步修改 |
桌面壳层文本(极少)放 resources/desktop-zh-*.json。
工作流
第 1 步:定位 i18n key
在已安装应用的英文语言包中按值精确匹配(项目词表只保留当前版本存在的 key):
import json
en = json.load(open("/Applications/Claude.app/Contents/Resources/ion-dist/i18n/en-US.json"))
for text in ["Theme", "Chat font"]:
print(text, {k for k, v in en.items() if v == text})
- 精确匹配不到时用小写子串模糊搜索,并去前端 bundle(
/Applications/Claude.app/Contents/Resources/ion-dist/assets/v1/*.js;新版 Claude 可能改名或换层级,安装脚本会自动探测,找不到时在ion-dist下递归搜含index-*.js的目录)里确认组件写法。 - 截图里的文本往往是多个 DOM 节点拼出来的(链接前后各一个 text node),要分别找。
第 2 步:确定三地译文
zh-CN / zh-TW / zh-HK 各写一份,遵守下方术语表。同一个英文值若有多个 key,全部都要写。
第 3 步:写入词表
关键机制(实测踩坑后确认):配置窗口(配置第三方推理)和主窗口首页走 react-intl + 语言包 key,DOM 注入层对它们无效!因此每条翻译必须同时写入:
frontend-zh-*.json(必须有 key, , 在en-US.json里按值反查;只写硬编码对在该窗口不生效);frontend-hardcoded-zh-*.json(覆盖在线 DOM 层与本地 bundle 静态替换)。
用脚本一次性更新三个 frontend-zh-*.json(dict,key: 译文)和三个 frontend-hardcoded-zh-*.json(list of [source, target])。硬编码词表注意:
