引言:為何要重複造輪子?
在前端開發領域,國際化(i18n)是一個常見但流程繁瑣的需求。雖然已有 i18n Ally 這樣優秀的插件珠玉在前,但在實際開發中,我發現了一些可以進一步優化的痛點,尤其是在國內開發環境和團隊協作流程中。這便是 i18n Mage 項目的起點。
i18n Mage 並非簡單的功能堆砌,而是希望為前端開發者提供一個 開箱即用、自動化、智能化 的全鏈路解決方案。經過近一年的開發與迭代,它現已正式發佈,並完全開源。
一、 設計理念與核心差異點
與現有解決方案相比,i18n Mage 在以下幾個方面進行了重點投入:
- 面向國內開發環境的深度優化:內置百度、騰訊、DeepSeek 等國內翻譯 API以及谷歌翻譯,無需複雜配置,開箱即用。
- 極致的自動化體驗:不僅僅是提示,更致力於自動修復問題。核心的 “未定義詞條一鍵修復” 功能,旨在將開發者從手動 CV 的重複勞動中徹底解放出來。
- 契合本土的團隊協作模式:提供了簡單直接的 Excel 導入導出 功能,極大降低了與非技術角色(如運營、翻譯)的協作成本。
- 更強的詞條管理能力:在詞條使用率分析上採用了更積極的策略,對動態 Key 的識別更精準,幫助項目更好地“瘦身”。
二、 核心功能技術實現簡介
2.1 智能補全缺漏翻譯
對於已定義Key但缺少某種語言翻譯的情況,插件可以批量掃描所有缺失項,並調用翻譯API一鍵填充,支持預覽和人工校對。
2.2 智能修復未定義詞條 (t('中文') -> t('key'))
這是 i18n Mage 的亮點功能。其工作流程如下:
- 語法分析:統計 t() 函數中未被定義的字符串文本。
- 智能匹配:優先在已有詞條中查找文本匹配項,若找到則直接替換為對應 Key,避免產生冗餘詞條。
- Key 生成:若未匹配,則根據配置的命名風格(駝峯、蛇形等)和翻譯文本,自動生成新的 Key。
- 翻譯與寫入:調用配置的翻譯服務,獲取目標語言的翻譯結果,並自動寫入到對應的語言文件中。
- 代碼替換:最後,將源代碼中的原始文本替換為新生成的 Key。
整個過程在秒級內完成,實現了真正的“一鍵修復”。
2.3 翻譯內聯提示
在代碼編寫時,直接在 t() 函數處顯示翻譯文本,無需跳轉文件即可確認內容,極大提升開發效率。
2.4 檢測未使用詞條
插件能智能分析項目代碼,檢測出未被使用的冗餘詞條,並提供一鍵刪除或忽略功能,幫助項目減負。
三、 快速開始與最佳實踐
3.1 安裝
在 VSCode 擴展商店中搜索 i18n Mage 並安裝。
3.2 基本配置
- 設置語言目錄:通常插件會自動識別 locales, lang, i18n 等目錄。若未識別,可在插件面板選擇設置目錄。
- 設置語言:打開插件面板,“同步情況”區域會顯示所有有效的語言文件名稱,可右鍵將某語言設置為“顯示語言”或“翻譯源語言”。
- 配置翻譯API:為獲得最佳體驗,建議配置翻譯服務。路徑:設置 -> 擴展 -> i18n Mage -> 翻譯服務。支持百度、騰訊、DeepSeek等,只需填入相應平台的SecretId/Key即可。
3.3 常用工作流
- 開發新功能時:直接書寫 t('中文文案'),完成後使用 Ctrl+Alt+F (修復命令) 一鍵轉換。
- 接收翻譯文件時:使用面板中的“導入”功能,將翻譯人員提供的 Excel 文件直接導入項目。
- 項目迭代後:使用“檢查”功能分析詞條使用情況,安全清理未使用的詞條。
四、 總結與展望
i18n Mage 是我對“如何提升國際化開發效率”這一問題的實踐與答案。它也許不是最完美的,但它在自動化、本土化和協作流程上做出了深入的探索。
未來,我計劃在智能提取中文文案、支持更多國際化框架等方面進行持續迭代。項目的健康發展離不開社區的反饋與貢獻。
如果 i18n Mage 的功能切中了你的痛點,歡迎體驗、反饋和貢獻代碼。
- GitHub 開源地址:https://github.com/baimohui/i18n-mage
- VSCode 插件市場:https://marketplace.visualstudio.com/items?itemName=jensen-we...
- Open Vsx 插件市場:https://open-vsx.org/extension/jensen-wen/i18n-mage
非常期待能與各位開發者交流想法,共同打造更高效的前端開發工具鏈。