工程開發
go-i18n avatar

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
在 GitHub 查看