工程開發
generate-translations avatar

generate-translations

自動化 Payload CMS 核心套件與插件的在地化翻譯字串生成與同步。

簡介

此技能專為在 Payload CMS 生態系統中維護核心套件或自訂插件多語言支援的開發人員所設計。它負責協調翻譯工作流程,確保新的英文翻譯鍵能系統性地推廣至所有支援的語言。透過利用 OpenAI 進行機器翻譯,它大幅減少了維護國際化字串同步、一致性以及跟上最新功能更新所需的人力。

此工具特別適合維護複雜應用程式的團隊,這些應用程式的 UI 元件需要精確的在地化。它簡化了翻譯鍵的生命週期,從英文原始檔案中的初始定義,到在地化對應檔案的自動產生。它強制執行嚴格的命名慣例與目錄結構,確保核心套件與獨立插件皆能遵循專案的翻譯管理標準。

  • 使用 OpenAI 整合自動化產生翻譯,確保所有地區的內容皆能快速更新。

  • 支援核心 Payload 翻譯(packages/ui, packages/payload 等)與插件特定翻譯的獨立工作流程。

  • 處理插件翻譯目錄結構的建構,包含類型定義 (types)、索引檔案 (index) 與語言佔位符。

  • 管理客戶端翻譯鍵的註冊,協助與瀏覽器端的管理介面 UI 元件進行無縫整合。

  • 提供一致的命令列介面 (CLI),可透過 pnpm 指令碼觸發翻譯產生。

  • 需要設定 OPENAI_KEY 環境變數才能運作,因為產生指令碼依賴基於 LLM 的翻譯。

  • 在執行產生指令碼之前,請務必先在英文來源檔案(例如 packages/translations/src/languages/en.ts)中定義翻譯鍵。

  • 針對插件翻譯,請先驗證翻譯目錄是否存在;若不存在,請依照說明文件中提供的標準結構進行建構。

  • 確保所有產生的檔案皆納入版本控制,因為該指令碼僅作為儲存庫翻譯資產的自動化輔助工具。

  • 新增客戶端使用的翻譯鍵時,請記得使用冒號標記法 (例如 namespace:key) 在 clientKeys.ts 中註冊。

倉庫統計

Star 數
42,104
Fork 數
3,644
Open Issue 數
660
主要語言
TypeScript
預設分支
main
同步狀態
閒置
最近同步時間
2026年4月29日 上午08:52
在 GitHub 查看