Skip to content

什麼是 ai-i18n-tools?

ai-i18n-tools 是一個命令列工具和工具包,可協助您使用偏好的 LLM 供應商翻譯應用程式和文件。您可以透過單一設定檔控制所有內容,選擇要啟用哪些翻譯功能。使用「sync」命令一次執行您需要的模式。

翻譯模式

  • UI 字串 — 從 JS/TS 原始碼中擷取 t("…") 呼叫(及類似標記),為每個語系寫入扁平的 JSON 檔案,供 i18next 或靜態查詢使用。指令:extracttranslate-ui。指南:UI 字串
  • 文件 — 翻譯列於 docs[].contentPaths 中的 Markdown、MDX 與 .astro 頁面。支援 VitePress、Starlight、Docusaurus、Nextra、Fumadocs、Astro 及其他靜態文件網站。指令:translate-docs。指南:文件
  • JSON — 翻譯定義於頂層 json[] 中的巢狀 JSON 語系套件(主題標籤、i18n 覆寫、不在原始碼中的應用程式文案)。指令:translate-json。指南:JSON
  • SVG — 翻譯 SVG 插圖(<text><title><desc>)中的可見文字,並為每個語系寫入一個輸出檔案。與文件翻譯分開 — translate-docs 不會修改 SVG 資產。指令:translate-svg。指南:SVG 翻譯

所有四種模式都使用作用中的 LLM 供應商,共用相同的設定檔,並重複使用 SQLite 快取,因此重新執行只會將新的或變更的文字傳送給模型。

我應該使用哪一個?

您的內容模式命令
原始碼使用 t() 或 HTML data-i18n 標記UI 字串extract / translate-ui
本地化頁面或文件網站文件translate-docs
獨立的巢狀 JSON 地區設定檔案JSONtranslate-json
帶有 SVG 標籤的圖表或插圖SVGtranslate-svg

許多專案結合了多種模式 — 例如,VitePress 網站的 UI 字串加上文件,或帶有插圖指南的文件加上 SVG。請參閱 快速入門 以取得腳手架範本,並參閱 設定 以取得完整的設定架構。

範例

儲存庫在 examples/ 下提供了可執行的範例專案 — 每個專案都有自己的設定、已提交的地區設定輸出和 README。您無需 API 金鑰即可瀏覽翻譯檔案;重新執行翻譯需要供應商金鑰(請參閱 供應商和模型)。

範例顯示內容
console-app最小的端到端應用程式:t() UI 字串加上 README 翻譯
nextjs-appNext.js UI、複數、SVG、巢狀 Docusaurus 文件、扁平 README、儀表板
docusaurus-docs獨立 Docusaurus 文件網站
astro-websiteAstro 行銷網站:全頁 HTML 翻譯加上 t() 字串
astro-docsAstro Starlight 文件網站
vitepress-docsVitePress 文件加上主題目錄
nextra-docsNextra 文件加上 _meta.ts 側邊欄標籤與主題字典
fumadocs-docsFumadocs 文件,加上 meta.json 側邊欄標籤與 UI 目錄
multi-provider比較同一文件上的 LLM 供應商
test-markdownMarkdown 管線壓力測試(CJK、天城文、邊緣案例)

請參閱 範例 以取得 npx degit 複製命令和選擇指南。

後續步驟

  1. 安裝 — 安裝套件並設定您的供應商 API 金鑰。
  2. 快速入門 — 建立設定並執行您的第一次翻譯。
  3. 供應商和模型 — 選擇供應商、模型備用鏈和 -P 覆寫。

以 MIT 授權發布。