三份文件定位不重疊: - README.md:參考手冊(功能、架構、規則對照表、相容性) - QUICKSTART.md:操作指南(安裝、自訂翻譯、自訂跳過、FAQ) - SUMMARY.md:開發故事線(v0.6→v0.15 順序敘事、設計心得)
4.2 KiB
快速上手
1. 安裝瀏覽器擴充套件
三選一皆可:
- ScriptCat(推薦,開源)
- Tampermonkey
- Violentmonkey
2. 安裝腳本
方法 A:直接貼
- 開啟 ScriptCat / Tampermonkey 管理面板
- 點「建立新腳本」
- 把
github-zh-tw.user.js全文貼上 - 儲存(Cmd/Ctrl + S)
方法 B:從網址安裝
把腳本掛到任何 raw 檔案網址(GitHub Gist、Gitea raw URL、自架 web server)然後進該網址,擴充套件會自動跳出安裝視窗。
3. 驗證
打開 https://github.com ,側欄應該變成:
Code → 原始碼
Issues → 問題
Pull requests → 拉取請求
62.8k stars → 6.3 萬 星標
3 days ago → 3 天前
沒作用?看本檔最後 常見問題。
自訂翻譯
新增一個詞
打開腳本,找 TRANSLATION_MAP:
const TRANSLATION_MAP = new Map([
['Code', '原始碼'],
// ...
['My custom term', '我的自訂詞'], // ← 加在這裡
]);
存檔後重新載入 GitHub 頁面即可。
長詞優先規則
若你加了 Open pull request,就算已經有 Open → 開啟中,長詞會先被匹配。所以遇到半翻情況(像 開啟 pull request),直接加整句進去。
多種譯法選擇
同一個英文詞在不同語境可能想要不同翻譯(例如 Open 當 tab vs. 動詞)。做不到—regex 是大小寫不敏感的。
取捨原則:保留使用頻率高、不翻會更奇怪的那個意思。
自訂「不翻」範圍
不想翻某個 class / 元素
打開腳本找 SKIP_CONTEXT_SELECTOR,加一行:
const SKIP_CONTEXT_SELECTOR = [
// ...
'.my-custom-dont-translate', // ← 加這
'[data-no-translate]', // 或用屬性
].join(',');
該元素與所有子孫的文字節點都會被跳過,但它的屬性(如 aria-label)仍會翻;若連屬性都不想翻,請從 ATTR_SELECTOR 那邊獨立處理(罕見)。
不想翻整個網域 / 路徑
改腳本開頭的 @match:
// @match https://github.com/*
// @match https://github.com/yourorg/* ← 只翻這個 org
// @exclude https://github.com/settings/* ← 排除設定頁
更新
從來源倉庫複製最新 github-zh-tw.user.js 全文,貼回 ScriptCat / Tampermonkey 的編輯器覆蓋儲存。不需要重裝擴充套件。
常見問題
Q1:安裝後沒變化
- 確認 ScriptCat / Tampermonkey 擴充套件是開啟狀態
- 確認腳本在
https://github.com/*頁面顯示為「已執行」 - 重新載入頁面(Cmd/Ctrl + Shift + R 強制重載)
Q2:某些詞還是英文
- 可能是剛加入 GitHub 的新 UI,詞庫還沒收錄 → 依上方「新增一個詞」加入
- 可能是文字在被跳過的區塊(README、程式碼、Issue 標題…)→ 這是刻意的
Q3:搜尋功能壞了
原因:state:open 這類過濾語法被翻。這不該發生 — 若發生,檢查是否有第三方腳本干擾,或 GitHub 改版了搜尋元件的 class。
暫時停用腳本可恢復。
Q4:檔名被翻成中文
原因:GitHub 改版導致檔案列表 class 變動,跳過規則失效。
修法:檢查該檔名元素的 DevTools,找穩定的 class / 屬性加進 SKIP_CONTEXT_SELECTOR。
Q5:效能變慢、Chrome 高 CPU
- 先停用本腳本看是否為本腳本造成
- 若是,檢查自己是否改過腳本讓 debounce 失效 / MutationObserver 範圍過大
- 保持預設
150msdebounce 通常不會有感卡頓
Q6:看到「Active 分支清單」這種半翻
詞庫中 Branches 被單獨翻了卻沒有整句版本。加整句進 TRANSLATION_MAP 即可(長詞會優先匹配)。
Q7:自己伺服器上的 Gitea / GitHub Enterprise 也想用
改 @match 指向你的網域。注意 GHES 的 class 可能與 github.com 有差異,部分跳過規則需要調整。
回報 / 建議
看到沒翻或誤翻的地方,最快回報方式:
- 截圖有問題的頁面
- DevTools 右鍵檢查,把該元素的 HTML 片段一起附上
- 提 Issue 或直接在詞庫 PR