Agent Skills
返回列表
GitHub Desktop 汉化插件

GitHub Desktop 汉化插件

开发编程 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_741dc82b/github-desktop-zh。

技能介绍

问题背景

GitHub Desktop 是一个流行的图形化 Git 客户端,但官方并未提供中文界面。对于习惯中文环境的开发者或团队,纯英文界面可能影响操作效率和熟悉度。直接修改官方安装包既复杂又容易引入错误,因此需要一种可靠、可逆的方式来实现界面的中文化,同时不破坏应用的稳定性。

工作原理

此技能通过一个自动化脚本解决上述问题,其核心工作流程如下:

  • 自动探测安装路径与模式

- 脚本首先检测操作系统(Windows、macOS 或 Linux),并自动定位 GitHub Desktop 的安装目录。
- 它能识别两种常见的资源打包模式:
- loose 模式:资源文件以松散形式存储在 resources\app 目录下(如 main.js)。
- asar 模式:所有资源被打包压缩在单个 resources\app.asar 文件中。

  • 核心汉化执行流程

- 智能词典加载:使用内置的中英文词典映射表。词典格式要求每行一个条目,并支持通过 # @gh-version: 3.* 这样的声明限定适用版本。
- 混合匹配替换策略:为确保替换准确性,采用两层匹配:
1. 字面量优先:精确匹配被相同引号包裹的完整字符串字面量(例如 ("Submit")('Cancel')),这是最安全的模式。
2. 子串回退:对于长度 ≥10 且包含空格的源串(通常是长段UI文本),在字面量未命中时,会进行子串匹配。这种回退策略能有效翻译拼接或动态生成的文本,同时因目标明确,误伤变量名或注释的概率较低。
- 安全替换顺序:脚本严格按源字符串长度从长到短进行替换,避免了短字符串(如 "a" 或 "go")先替换后,破坏长字符串(如 "a long sentence")的匹配问题。

  • 全流程安全与验证机制

- 自动备份与回滚:操作前会备份目标文件。脚本会保留最近 5 个时间戳的备份,并自动清理更早的版本。执行回滚时,还会将当前文件备份为 .pre_rollback_* 后缀,提供双重保障。
- 部署后语法校验:如果运行环境中存在 node 命令,脚本会在替换后自动对所有修改过的 .js 文件执行 node --check 语法检查。若发现语法错误,会发出告警,防止因替换不当导致应用崩溃。
- 明确的流程断点:脚本在依赖检查、探测、词典加载、解包、备份、替换等每个关键步骤后,都会检查输出和退出码。一旦失败(输出 [ERROR] 或退出码非 0),立即中断并向用户报告具体原因,例如缺少 asar 工具或探测失败需手动指定 --src 参数。

注意点与适用边界

  • 模式依赖:对于 asar 模式,执行前必须全局安装 @electron/asar 工具(通过 npm install -g @electron/asar)。脚本会自动检查此依赖。
  • 自定义与覆盖:虽然提供了内置词典,但用户可以通过自定义词典文件来添加或覆盖翻译条目。注意,重复条目会自动去重,且自定义词典需遵循脚本识别的格式。
  • 运行时环境:强烈建议在执行汉化前完全退出 GitHub Desktop。在应用运行时修改其核心文件可能导致不可预知的冲突或数据损坏。
  • 文件修改的固有风险:尽管有备份和语法校验,直接修改应用程序文件总存在风险。建议首先在备份的副本或测试环境中运行,确认无误后再操作。
  • 局限性:此插件专注于 UI 文本字符串的替换,无法处理图片、布局或更复杂的国际化(i18n)问题。

使用场景

  • 团队统一工作环境时,为全员的 GitHub Desktop 客户端执行批量或单次汉化,确保操作界面一致。
  • 个人开发者希望快速将 GitHub Desktop 的菜单、按钮和提示文本替换为中文,以降低使用陌生感。
  • 在汉化过程中或之后发现翻译有误,需要利用内置的回滚功能恢复到上一个已知正确的备份状态。
  • 默认词典未覆盖特定项目术语,通过创建自定义词典文件,为这些专有词汇添加精确的中文翻译。

适合人员

  • 非英语母语的开发团队负责人,需要统一和简化团队成员使用 GitHub Desktop 时的语言环境。
  • 独立开发者或小型工作室,希望以最低成本快速完成个人开发工具的界面中文化。
  • 对命令行和 Git 概念不熟悉,但依赖 GitHub Desktop 图形界面进行日常代码提交的非核心开发人员。
  • 需要临时修改 GitHub Desktop 界面文本以进行特定演示或测试的 QA 工程师。