Polyglot
您的 App 與網站字串,以您的自有模型翻譯成 43 種語言,並逐字串進行檢查。
- Linux or macOS
- Python 3.9+
- Local LLM
- 6 file formats

功能說明
Polyglot 會取得您的應用程式與網站現有的英文字串,並使用您自行執行的模型,將它們翻譯成最多 42 種其他語言,寫入各平台預期的檔案與資料夾中。每個字串都會經過檢查:若佔位符、標籤或您保留的名稱遺失,或答案不符合該語言的文字系統,該字串會被要求重新翻譯;若仍失敗,則會排除該字串並回報,而不是直接發布損壞的內容。
- 您使用的格式。 JSON 訊息檔(i18next、vue-i18n、next-intl、react-intl)、Flutter ARB、Android strings.xml、Apple .strings、gettext .po 與 Markdown 文件,寫入 values-de、de.lproj、app_de.arb 或 locale/de。
- 逐字串檢查。 %1$s、{name}、{{count}}、HTML 標籤、換行符、URL 以及您保留的名稱必須原樣返回;必須使用正確的文字系統,無空白或失控的答案,且不得殘留英文。
- 真正的複數形式。 俄語有一、少、多及其他四種形式,阿拉伯語有六種形式,日語只有一種形式:Android 複數與 ICU 訊息遵循各語言自身的規則。
- 僅處理變更部分。 每個正確的翻譯都會被記住,因此編輯一個英文字符串只會發送一個字符串,而非整個檔案。
- 您的語氣與術語。 產品描述、語氣、永不翻譯的名稱以及詞彙表會納入每個請求,您的註解也會作為備註一併傳遞。
- 您的模型,您的機器。 任何 OpenAI-compatible 伺服器:vLLM、llama.cpp、Ollama 或 LM Studio,或者如果您選擇,也可使用託管 API。無按字計費。
已在真實模型上測試
- 真實模型、六種格式、五種腳本:一個包含 70 個字串的範例應用程式,涵蓋 JSON、Flutter ARB、Android、Apple .strings、gettext 與 Markdown,翻譯成德文、俄文、日文、阿拉伯文與西班牙文,使用由 vLLM 在我們自有機器上託管的開放式 Qwen 模型(Qwen3.8-Flash-Next,量化為 4 位元):在繁忙的共享伺服器上,7.5 分鐘內有 346 個字串通過入站檢查(共 350 個)。
- 未通過的四個字串 是我們的檢查錯誤,而非模型的問題:一個德語外來詞、一個電子郵件地址與一個日語複數訊息。我們修正了檢查機制;下一次執行僅發送這四個字串,並在 45 秒內寫入全部 350 個字串。
- 複數形式一次正確: 俄語有一、少、多及其他形式,阿拉伯語有六種形式,日語只有一種形式。
- 全部 42 種語言:將範例中的 22 個網頁字串翻譯成 Polyglot 支援的每一種語言,從阿姆哈拉語到繁體中文:15 分鐘內寫入 924 個字串中的 924 個。
- 檢查無法發現的問題:在高棉語中,「You are offline」被翻譯成「you are online」。這是完美的高棉語,因此通過了檢查。這就是為什麼文件建議對最重要的字串請母語人士審核。
套件內容
翻譯器
批次傳送至您的模型、執行檢查、標明問題後重試、翻譯記憶庫、並行處理多種語言。
六種格式
讀取器與寫入器,保留各平台的跳脫字元、資料夾結構與複數規則。
檢查工具
可獨立使用:將您現有的翻譯與英文原文進行比對檢查。
範例應用程式
一個小型應用程式,涵蓋全部六種格式並附帶設定檔,供您在使用自己的專案前先試用於此。
系統需求
- Linux 或 macOS,搭配 Python 3.9 或更新版本;無需透過 pip 安裝任何套件。
- 具備多語指令模型的 OpenAI-compatible 模型伺服器;我們使用的是開放式 Qwen 模型(Qwen3.8-Flash-Next,量化為 4 位元)。
使用須知
- 檢查工具能捕捉導致應用程式故障的問題,但無法捕捉語意錯誤:請母語人士審閱您的商店商品頁、付費牆與法律文字。
- 在此版本中,gettext 複數條目仍保留為英文。
- 速度取決於您的模型。
- 檢查工具為免費且開放原始碼:GitHub 上的 translation-checks。套件增加了翻譯器、六種格式、複數形式、記憶庫以及一年的更新。
來自我們的現場筆記
常見問題
支援哪些語言?
從英文翻譯至:阿拉伯語、阿姆哈拉語、保加利亞語、捷克語、德語、希臘語、西班牙語、波斯語、芬蘭語、菲律賓語、法語、蘇格蘭蓋爾語、希伯來語、海地克里奧爾語、匈牙利語、亞美尼亞語、印尼語、義大利語、日語、高棉語、卡納達語、韓語、馬其頓語、馬來語、荷蘭語、挪威語、奧羅莫語、旁遮普語、波蘭語、葡萄牙語(巴西)、羅馬尼亞語、俄語、斯洛伐克語、斯洛維尼亞語、塞爾維亞語、瑞典語、泰語、土耳其語、烏克蘭語、越南語以及簡體中文和繁體中文。
需要 GPU 嗎?
Polyglot 本身不需要;由您的模型伺服器決定。小型模型可在 CPU 上執行,但速度較慢;使用 GPU 則可在幾分鐘內完成多種語言的大型檔案處理。
模型出錯的字串會怎樣處理?
系統會單獨重新請求該字串,並標明問題所在。若仍然失敗,則將其從檔案中排除,因此您的應用程式會針對該字串顯示英文原文,且執行紀錄會列出該字串及其失敗原因。不會寫入任何損壞的內容。
我可以使用託管 API 嗎?
可以:任何具備 OpenAI-compatible 聊天端點的服務皆可。請將其基礎 URL 與模型名稱填入 polyglot.json,並將金鑰存放在檔案中。
已更新: