github-chinese README

The project's README from github.com/maboloshi/github-chinese. As one markdown file: README.md.

GitHub 中文化插件

让 GitHub 界面全面中文化 | 源自 52cik/github-hans

简体中文 · 繁體中文 · 反馈问题

GitHub stars GitHub forks GitHub issues license GPL-3.0 GreasyFork installs

Featured|HelloGitHub

[!warning] 本项目从未发布至 GitCode,如您发现请截图并保留证据

目录树

TOC

🌟 功能特性

🌐 兼容环境

浏览器类型 支持的脚本管理器
Chrome / Chromium 内核 Tampermonkey, Violentmonkey
Safari(全平台) Tampermonkey, Macaque, Stay
Firefox / Gecko 内核 Tampermonkey, Violentmonkey
Via(Android) 内置管理器
VS Code 集成浏览器

💻 安装指南

浏览器(Tampermonkey)

  1. 安装用户脚本管理器:
  2. 基于 Chrome / Chromium 内核浏览器:
    1. 务必开启 “扩展程序” 管理中的 “开发者模式”[^1]
    2. 务必开启 “扩展程序” 管理中脚本管理器扩展的 “允许运行用户脚本”
    3. 具体可参考 Tampermonkey 官方指引
  3. 选择安装源:
  4. 刷新页面后,插件即可生效
  5. 必要时,重启浏览器

[^1]: Chrome 切换到 Manifest V3后,使用问题

[!NOTE] 版本说明:

  • 🚀 开发版:实时更新,每周五自动更新词库
  • 🛡️ 稳定版:每周一同步开发版词库,更稳定

VS Code 集成浏览器

请参考扩展的自述文件。

🔧 本地调试

  1. 安装 Tampermonkey,并启用 “允许访问文件网址”。
  2. 下载词库文件到本地(如:D:\github-chinese\locals.js)
  3. 在脚本管理器中修改引用路径:
    // 原始路径
    // @require https://raw.githubusercontent.com/...
    
    // 修改为
    // @require file:///D:/github-chinese/locals.js
    
  4. 刷新页面生效

[!IMPORTANT] 若无效:

  1. 进入 Tampermonkey 插件设置页
  2. 将 通用 - 配置模式 设置为高级,进入高级设置模式
  3. 找到 安全 - 允许脚本访问本地文件 并设置为 外部(@require 和 @resource)

[!TIP] 💡 温馨提示: 您可以将词库文件拖拽至浏览器地址栏,复制路径直接使用。

🔄 更新日志

最新版本

v1.9.4.4 (2026-06-20)

  1. 兼容修复1.9.2.4,1.9.4.4:
    • 区分 React GlobalNav 与页面主体共享的 Primer 弹层,恢复下拉菜单即时、完整翻译。

v1.9.4.3 (2026-06-17)

  1. 兼容修复1.9.2.3,1.9.4.3:
    • 收窄 React 搜索模块忽略范围,恢复仓库议题页和搜索页主体区域翻译。

v1.9.4.2 (2026-06-17)

  1. 兼容修复1.9.2.2,1.9.4.2:
    • 在保持 React 头部搜索框稳定的前提下,恢复头部导航、菜单、搜索弹层和提示翻译。

v1.9.4.1 (2026-06-16)

  1. 临时修复1.9.2,1.9.4:
    • 关于 GitHub 引入 React 机制导致头部搜索框消失。副作用整个头部导航全部加入忽略规则,无法翻译。

v1.9.4 (2026-05-17)

  1. 代码重构:
    • 全面结构化重组:抽离配置常量 CONFIG、状态管理器 State
    • 引入 safe() 错误边界包裹关键函数,便于排错
    • 函数拆分细化:watchUpdate → setupMutationObserver + processMutations,transDesc → handleTransClick + requestRemoteTrans + showTransResult
    • processMutations 祖先去重:同一批 mutation 中后代节点不再重复遍历
  2. 新增功能:
    • 翻译结果 UI 暗色主题适配(CSS 变量 + prefers-color-scheme 媒体查询),使用 GM_addStyle 插入
    • 未命中词条管理器 MissedTermsManager(记录、导出 JSON、清空、统计、菜单)
    • 开发者模式(CONFIG.DEV)控制未命中词条菜单显隐
    • Tampermonkey onurlchange 事件支持(setupUrlChangeListener)
  3. 修复:
    • 修复翻译 API 响应 XSS 漏洞:innerHTML 模板拼接改为 textContent 安全赋值(由 #692 报告)
    • 修复 TreeWalker 过滤器在 ignoreSelectors 为空时抛出 SyntaxError
    • 修复翻译按钮可能重复添加的问题(nextSibling 空值检查)
    • 修复 RELATIVE-TIME shadowRoot 为 null 时的崩溃
    • 修复从未识别页面离开后 State.pageConfig 未清空,导致旧配置残留的问题
  4. 性能优化:减少无效迭代,消除不必要的 DOM 遍历

v1.9.3 (2024-08-18)

  1. 新增功能:通过设置中文环境,自动本地化时间元素,仅保留on开头的时间正则,并停用时间元素监视
  2. 优化突变翻译处理:
    • 引入characterDataPage规则,对特定页面启用筛选字符数据的变更
    • 引入ignoreMutationSelectorPage规则,忽略特定突变元素
  3. 合并reIgnoreClass,reIgnoreItemprop,ignoreId,ignoreTag为ignoreSelectorPage规则,处理全局及特定页面,忽略特定元素
  4. 引入全局缓存模式,减少重复构建包括不限于基于page变化的忽略规则、正则规则数组等
  5. 调整:更新讯飞听见翻译引擎v2.0
  6. 优化:梳理、优化脚本
  7. 调整:调整词库语言代码为zh-CN, 与环境语言设置一致
查看更多历史版本

v1.9.2 (2024-06-14)

  1. 适配www.githubstatus.com
  2. 适配skills.github.com

v1.9.1 (2024-05-23)

  1. 更新切换正则功能按钮

v1.9.0 (2023-12-09)

  1. 重新定义版本号规则, 如1.9.0-2023-12-09。
    • 1.9.0: 主版本号(由项目所有者更新)
    • 2023-12-09:词库发布版本号(由 GitHub Action 自动更新)
  2. 加强: GitHub 源【开发版】每周一凌晨自动更新词库发布版本号
  3. 加强: GreasyFork 源【稳定版】每周五凌晨自动更新词库发布版本号, 词库内容同上一次GitHub 源【开发版】
  4. 加强:在 README.md 中自动更新贡献者头像
  5. 更新: 忽略规则, 词条等

v1.8.5 (2023-08-31)

  1. 优化: transDesc 函数代码
  2. 修复: 重复添加translate-me翻译按钮
  3. 加强:watchUpdate 函数新增节点文本更新的情况
  4. 调整: transBySelector和transDesc函数延迟执行时间
  5. 更新: 忽略规则, 词条等

v1.8.4 (2023-08-08)

  1. 修复: Itemprop过滤规则, 依然使用正则方式
  2. 修复: tooltipped样式提示, 依然使用正则方式

v1.8.3 (2023-08-07)

  1. 梳理、优化脚本
  2. 更新: 忽略规则, 大量词条等

v1.8.2 (2023-05-15)

  1. greasyfork 托管源切换到按页面精细化词条模式
  2. 调整词库格式
  3. 功能加强: 优化元素筛选器翻译逻辑
  4. 更新: 忽略规则, 大量词条等

v1.8.1 (2023-01-22)

  1. 修复: #8 与 dark reader 扩展发生冲突,导致时间显示出现问题
  2. GitHub源开始切换到按页面精细化词条模式(开发版), 词库未完全迁移适配
  3. 停止greasyfork源词库文件的同步更新

v1.8.0 (2023-01-18)

  1. 删除: TURBO-FRAME框架处理代码. Github 已调整新动态加载模式, 直接检测url的变化就能获取对应的page信息
  2. 新增: 支持时间元素的Shadow DOM翻译, 并监听变化
  3. 新增: 启用并更新时间元素翻译专项正则词条
  4. 新增: 仅当page有效才翻译页面
  5. 修复: 原简介翻译引擎GitHub中文社区失效, 改为讯飞引擎(测试)
  6. 修复: 追加公共正则重复迭代的问题
  7. 修复: 正则标记变量RegExp与构造函数new RegExp冲突
  8. 更新: 忽略规则, 词条等

预告, 下次将细化page匹配规则, 导致词库文件结构大调整, 词库文件会适当变大, 页面正则更精细效率会提升

v1.7.9 (2022-07-17)

GitHub 的 ajax 载入方式逐步从 defunkt/jquery-pjax 切换到 hotwired/turbo, 导致已有的动态监测方式逐步失效

目前, 通过以下修复:

  1. 新增 BODY 元素新增监视
  2. 解析 TURBO-FRAME 框架, 获取对应的 page
  3. 修复 github 新动态加载模式, 导致翻译描述返回值无法插入
  4. 修复 github 新动态加载模式, 导致chrome浏览器自带翻译功能卡死页面

其他更新:

  1. 修复rePagePath,rePagePathRepo,rePagePathOrg匹配规则,限制路径匹配层次,排除干扰
  2. 直接使用网页URLdocument.URL变化触发标题翻译和JS 筛选器翻译
  3. 修复关闭正则无法生效, 需要刷新页面才生效
  4. 日常更新词库和忽略规则
  5. 更新JS 筛选器规则

v1.7.8 (2022-06-29)

  1. 紧急修复: GitHub 变更了document.body和title更新机制, 导致原有的监测更新规则部分失效, 目前使用document.documentElement监视整个页面 DOM 的变更
  2. 跳过<HEAD>标签
  3. 标题翻译和JS 筛选器翻译, 依据 URL变化更新

v1.7.7 (2022-06-26)

  1. 新增时间元素翻译功能
  2. 重写页面标题翻译函数
  3. 梳理遍历节点函数逻辑
  4. 优化transPage函数,默认翻译公共部分
  5. 调整getPage函数, 使ClassName匹配规则优先
  6. 优化translate函数, 跳过不存在英文字母和符号,., 保留首尾空白部分等
  7. 部分函数重命名,使用es6新语法
  8. 日常更新词库和忽略规则,修复一个JS 选择器规则

v1.7.6 (2022-05-12)

  1. 日常更新词库和忽略规则
  2. 添加手动开启/禁用正则翻译,添加切换菜单
  3. 优化翻译文本函数:避免已翻译词汇二次匹配,提高效率;局部翻译优先于全局

📌 待办事项

  1. 添加 GitHub 专用名词解释
  2. 整理 Git & GitHub 学习资料
  3. 完善文档翻译,需大家 PR 共同翻译

🤝 参与贡献

欢迎通过以下方式参与贡献:

  1. 完善词库翻译(编辑 locals.js)
  2. 提交议题报告,参与话题讨论
  3. 改进代码逻辑

翻译参考资源:

  1. Pro Git 第二版 简体中文
  2. Pro Git: 翻译约定
  3. Git 官方软件包的简体中文翻译
  4. GitHub 词汇表官方译本
  5. CSS 选择器 用于编写忽略规则

查看详细贡献指南

🖼️ 效果预览

🙏 特别鸣谢

核心团队

贡献者墙

一如既往,感谢我们出色的贡献者❤️!

沙漠之子 楼教主 陈生杂物房 wyc-26 其智乃反不能及 PtJade Ceramic Tang Yuan Lu Yifei Matt Van Horn Mr.Baoboer 大叶子 cat-kun 人民的勤务员 叹号大帝 poney Pecasha Kise Platinyl AlanWang Oliver Lin Sebastion OSS create new ██████╗  ██╔══██╗ ██████╔╝ ██╔══██╗ ██████╔╝ ╚═════╝    ██╗    ██╗   ██║    ██║   ██║    ██║   ██║    ██║   ╚█████╔╝    ╚═════╝  ███████╗ ██╔════╝  ██║████═╗  ██║    ██ ║ ╚██████╔╝   ╚══════╝ dayday pangshitong saime428 wang4yu6peng13 wmwlwmwl 前端小武 学渣驹 小莫 益生君 苓𥤚 TNTXZ Shuwn Hsu NyA!K0 MaydayV KS-OTO InfinityLoop Imgbot Heavenless Flint Scophire neveler Aethersailor

贡献者列表,由 [GitHub Action][update-contributors-images] 自动生成

📈 项目统计

Star History Chart

Alt

🎁 欢迎打赏

赞赏列表

微信赞赏 支付宝赞赏
WeChat QRcode
☕喝点咖啡继续干☕
AliPay QRcode
🌶️来包辣条吧~🍪

github-chinese (maboloshi/github-chinese)

Searching Database…

Что это такое?Пользовательский скрипт, который переводит весь интерфейс GitHub (меню, заголовки, кнопки и т. д.) на китайский язык. Он основан на более раннем проекте 52cik/github-hans.
Это расширение для браузера или самостоятельное приложение?Это пользовательский скрипт, который работает внутри менеджера скриптов вроде Tampermonkey, а не самостоятельное расширение для браузера (хотя есть и версия в виде расширения для VS Code из VS Code Marketplace).
Как установить и пользоваться?Установите менеджер скриптов (рекомендуется Tampermonkey). Для браузеров на базе Chromium включите «Режим разработчика» и «Разрешить запуск пользовательских скриптов». Затем установите скрипт из одного из указанных источников: исходный код версии dev на GitHub, зеркало NJU или стабильная версия с GreasyFork. После этого обновите страницу GitHub.
Какие менеджеры скриптов поддерживаются?Tampermonkey и Violentmonkey в Chrome/Chromium и Firefox/Gecko, а также Tampermonkey, Macaque или Stay на всех платформах Safari и встроенный менеджер Via на Android.
Перевод всегда работает идеально?Нет. Постоянный переход GitHub на React неоднократно ломал отдельные части перевода (например, поле поиска в заголовке и выпадающие меню), поэтому часто требовались патчи совместимости, которые отмечены в истории изменений (changelog).
Есть ли разница между версией dev и стабильной версией?Да. Версия dev с GitHub автоматически обновляет глоссарий каждую пятницу, а стабильная версия с GreasyFork синхронизирует его с глоссарием dev каждый понедельник, что обеспечивает большую стабильность.
Отправляет ли он мои данные куда-нибудь?Он обращается к удалённому API перевода (раньше это был движок перевода китайского сообщества GitHub, теперь iFlytek), чтобы переводить описания репозиториев. То есть текст описаний отправляется стороннему сервису перевода.
Что происходит, если слово переведено неправильно?В скрипте есть MissedTermsManager, который записывает пропущенные и непереведённые термины. Его можно экспортировать в JSON, посмотреть статистику или очистить, а для управления им есть меню в режиме разработчика.
Поддерживается ли тёмная тема для всплывающего окна перевода?Да, начиная с версии 1.9.4 окно с результатом перевода поддерживает тёмную тему. Это реализовано с помощью переменных CSS и медиазапроса prefers-color-scheme.
Можно ли использовать свой локальный глоссарий вместо размещённого?Да. Скачайте файл глоссария locals.js, в Tampermonkey включите «Разрешить доступ к файловым URL-адресам», в расширенных настройках безопасности разрешите скриптам доступ к локальным файлам и укажите в @require путь к своему локальному файлу.
Как поддерживается глоссарий в актуальном состоянии?GitHub Actions автоматически обновляет и синхронизирует глоссарий (раз в неделю для версий dev и стабильной). Он также автоматически обновляет аватары участников, которые показаны в README.
Creator
maboloshi
Size
75.7 MB
Stars
35.7K
Updated
CommitOct 14
Age
5y
Commits · 90 Days