Skills

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
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 注入层对它们无效!因此每条翻译必须同时写入:

  1. frontend-zh-*.json(必须有 key, , 在 en-US.json 里按值反查;只写硬编码对在该窗口不生效);
  2. frontend-hardcoded-zh-*.json(覆盖在线 DOM 层与本地 bundle 静态替换)。

用脚本一次性更新三个 frontend-zh-*.json(dict,key: 译文)和三个 frontend-hardcoded-zh-*.json(list of [source, target])。硬编码词表注意:

Read the whole SKILL.md on GitHub

More in Engineering