
Ghostty 多語言翻譯實操手冊【免費下載鏈接】ghostty Ghostty is a fast, feature-rich, and cross-platform terminal emulator that uses platform-native UI and GPU acceleration.項目地址: https://gitcode.com/GitHub_Trending/gh/ghostty界面仍是英文翻譯鏈路斷在哪一環克隆 Ghostty 倉庫并執行zig build run后你看到窗口里的菜單、右鍵上下文菜單和對話框全部是英文切換到中文系統重啟也一樣。打開po/目錄查看通常是兩種情況你所在語言根本沒有.po文件或者文件存在但里面有大量msgstr 空條目。本文走通翻譯貢獻的完整鏈路編輯現有條目、初始化新語言文件、本地驗證加載效果、準備提交 PR。不覆蓋.pot模板提取屬于開發者側工作流程見po/README_CONTRIBUTORS.md。macOS 的本地化尚未實現所有驗證請在 Linux/GTK 平臺完成。安裝 gettext 并驗證前置依賴zig驅動全部構建命令用zig version驗證。gettextGNU 國際化工具集提供msginit、msgfmt等命令用gettext -V驗證。平臺安裝方式備注Debian/Ubuntusudo apt install gettextmacOSbrew install gettextkeg-only可能需手動加入 PATHWindowsscoop install gettext或winget install gettext文檔明確不推薦 GnuWin32 包成功標志是gettext -V輸出形如gettext (GNU gettext-runtime) 0.21.1的版本信息。若缺少 GTK 構建環境按HACKING.md的說明補齊。從編輯 .po 到本地驗證的完整流程編輯 .po 條目并用 msgfmt 校驗格式先選取一個語言文件例如po/zh_CN.po為空的msgstr填寫譯文同時更新文件頭部的PO-Revision-Date與Last-Translator元數據。完成后用 msgfmtPO 格式校驗器驗證$ msgfmt --check po/zh_CN.po成功標志無輸出、無報錯。報語法錯誤時輸出中的行號直接指向出錯的條目。用 msginit 從模板生成新語言文件語言文件不存在時從模板生成sr替換為你的 locale 名$ msginit -i po/com.mitchellh.ghostty.pot -l sr -o po/sr.pomsginit會提示填寫郵箱按提示輸入即可。成功標志生成po/sr.po首個條目為元數據段其余條目包含模板里全部msgid。在 i18n_locales.zig 與 CODEOWNERS 注冊新 locale再編輯兩個文件讓構建系統識別新語言。在src/os/i18n_locales.zig的 locales 數組中加入 locale 名對順序不確定時放在列表末尾pub const locales [_][:0]const u8{ // ...現有條目... sr, // ← 替換為實際語言 };然后在CODEOWNERS的# Localization區塊追加一行團隊名始終包含語言碼與地區碼/po/zh_CN.po ghostty-org/zh_CN /po/sr.po ghostty-org/sr_RS # ← 替換為實際團隊成功標志zig build通過且無與語言相關的報錯新語言 PR 在至少兩名維護者認領前不會被合并請在 PR 描述中說明。zig build run 指定 language 本地驗證先構建再通過命令行參數或LANGUAGE環境變量指定語言運行$ zig build run -- --languagesr $ LANGUAGEsr ./zig-out/bin/ghostty成功標志菜單、對話框中出現你填寫的新字符串。在 KDE Plasma 等桌面環境上默認的服務端裝飾會隱藏標題欄大量字符串追加--window-decorationclient才能看到完整集合。機制速覽.pot、.po 與 .mo 的分工所有可翻譯字符串被提取到po/com.mitchellh.ghostty.pot該文件不手改CI 會在每個 PR 上檢查其是否同步。構建時每個.po編譯為二進制.mo運行時經 libintlGNU C 國際化運行庫加載。src/os/i18n_locales.zig的 locales 數組是構建與運行時共用的語言白名單其順序決定缺少地區碼時的回退匹配。高頻坑與排錯macOS 上翻譯始終不生效→ macOS 本地化尚未實現 → 改用 Linux/GTK 驗證這屬于平臺缺口而非配置問題。KDE Plasma 上只翻譯了少量字符串→ 服務端裝飾替代標題欄隱藏了頭部菜單 →zig build run -- --window-decorationclient。diff 里混入 X-Generator 版本噪音→ 翻譯工具會自動寫入并更新該字段 → 提交前刪掉.po元數據中的X-Generator行。省略號被譯成三個句點→ 英文源串使用省略號字符…而非...→ 直接從msgid中復制…。--language參數疑似無效→zig build run之后程序參數必須跟在--之后 →zig build run -- --languagesr。延伸入口完成首個翻譯 PR 之后還可以做這三件事加入對應語言的本地化團隊成為CODEOWNERS中的維護者職責與退出方式見po/README_TRANSLATORS.md的 Localization teams 一節。上游新增字符串后你會收到模板同步的 PR同步機制描述在po/README_CONTRIBUTORS.md。PR 標題建議使用i18n: update sr translations這類格式合并后會出現在版本說明中。po/下的翻譯文件是所有 locale 貢獻的唯一入口模板與譯文保持同步這條鏈路就能持續運轉。【免費下載鏈接】ghostty Ghostty is a fast, feature-rich, and cross-platform terminal emulator that uses platform-native UI and GPU acceleration.項目地址: https://gitcode.com/GitHub_Trending/gh/ghostty創作聲明:本文部分內容由AI輔助生成(AIGC),僅供參考