工程開發
go-i18n
管理 Go CLI 多語言國際化規則,包含語言環境檔案結構、基於環境變數的語言偵測以及 Key 命名規範。
簡介
go-i18n 技能為 Skills-X CLI 提供了一套標準化的國際化管理框架。它專為需要新增使用者介面文案、翻譯 CLI 輸出或更新現有語言檔案的開發者所設計,旨在維護儲存庫的一致性。透過集中化語言偵測與翻譯邏輯,此技能確保所有 CLI 指令均支援動態語言切換,這對於開發者工具鏈的全球化普及至關重要。
-
自動處理語言偵測優先順序,支援 SKILLS_LANG、LANG 與 LC_ALL 環境變數。
-
定義嚴格的 Key 命名規範,使用如 app_, cmd_, list_, init_, err_ 等分類前綴,以防止衝突並提升可讀性。
-
實作雙檔案語言環境系統 (zh.yaml 與 en.yaml),要求每次新增字串時必須保持雙方同步。
-
整合 Go embed 指令,將翻譯資料於建置時直接封裝進二進位檔案,確保執行時期的高效能與無依賴性。
-
提供 i18n.T 與 i18n.Tf 輔助函式,用於簡化字串檢索與格式化訊息注入。
-
務必在應用程式啟動流程初期使用 i18n.MustInit() 初始化 i18n 模組。
-
同時新增翻譯至 zh.yaml 與 en.yaml;若遺失 Key 將會返回原始 Key 名稱,此機制可作為內建的偵錯方式。
-
嚴禁在單一翻譯 Key 中混用中英文;必要時應將字串拆分為不同元件。
-
修改任何 YAML 設定後,請務必執行完整重建 (make build) 以確保變更被正確封裝。
-
使用包含 SKILLS_LANG 環境變數的測試指令,在合併程式碼前驗證字串是否能正確於支援的語言環境間切換。
倉庫統計
- Star 數
- 18
- Fork 數
- 1
- Open Issue 數
- 0
- 主要語言
- Go
- 預設分支
- main
- 同步狀態
- 閒置
- 最近同步時間
- 2026年5月3日 下午05:42