軟體介紹#

此專題是一套針對 Qt Linguist .ts 翻譯流程 所設計的 前端導向翻譯系統,目標是在引入大型語言模型(LLM)進行翻譯的同時,確保格式安全、流程可控並能穩定寫回原始專案

支援以下兩種翻譯流程:

  1. Online GPT API
    於瀏覽器端直接呼叫 OpenAI 相容 API 完成翻譯。

  2. 本機 LLM(Local LLM)
    由頁面產生可執行的 Jupyter Notebook,於使用者電腦(CPU / GPU)離線完成翻譯。

無論採用哪一種流程,皆提供 詞彙表提示格式與佔位符保護批次處理與進度追蹤、以及 即時原文 / 譯文對照 等能力,協助將 QGIS 等專案中的字串穩定轉換為 繁體中文


兩種翻譯方案怎麼選?#

方案

運作方式

適合情境

特色與限制

Online GPT API

瀏覽器端呼叫使用者設定的 API 即時翻譯

希望快速上手、直接在網頁完成翻譯

內建進度條與對照表,一鍵輸出 .ts

本機 LLM

產生含設定區塊的 .ipynb,於本機執行

需離線處理、使用自有 GPU 或測試開源模型

可高度客製化模型與參數,但需自行準備環境


快速開始#

A. Online GPT API(建議先試這個)#

  1. 進入 ChatGPT API 翻譯頁面app_api)。

  2. 設定 API KeyBase URLModel

  3. 上傳待翻譯的 .ts 檔案。

  4. (可選)上傳 GlossaryCSV / ODS,欄位為 en, zh英文名稱, 中文名稱)。

  5. 設定 Batch處理筆數上限,先進行小量試跑。

  6. 執行翻譯,即時檢視原文 / 譯文對照與進度。

  7. 確認無格式問題後,下載輸出檔 qgis_zh-Hant.ts

B. 本機 LLM(離線執行)#

  1. 進入 本機 LLM 翻譯頁面app_local)。

  2. 設定模型、Batch、Token 限制、Glossary 路徑等參數。

  3. 下載系統產生的 .ipynb

  4. 於本機 Jupyter 環境安裝相依套件並執行 Notebook。


核心功能說明#

翻譯與術語一致性#

  • 採用批次翻譯策略,確保輸入與輸出段落一一對齊。

  • 透過 Glossary + LCS 比對,自動偵測句內關鍵詞並提示模型使用既定譯名
    (例如:raster 網格),以降低術語漂移。

格式與結構保護#

  • 自動保護並還原:

    • HTML 標籤與實體

    • placeholder(%n%1{0} 等)

    • .ts 原始結構與 DOCTYPE

  • 支援 numerus="yes"<numerusform> 的正確寫回。

批次處理與可檢視性#

  • 可設定 Batch 與翻譯筆數上限。

  • 提供即時進度條與原文 / 譯文對照表,方便人工抽檢。

匯出與整合#

  • 以瀏覽器下載方式產出 .ts,不需後端伺服器。

  • 可直接用於後續編譯 .qm 或版本合併流程。


寫回前驗證(系統保證範圍)#

在輸出 .ts 檔案前,系統會檢查:

  • XML 是否可正常解析

  • numerus="yes"<numerusform> 是否完整

  • placeholder 是否遺失或數量不符

  • HTML 標籤是否未閉合或被破壞

若驗證失敗,該筆翻譯不會直接寫回,以避免產生不可用的 .ts

Note

本專題以 瀏覽器 + Pyodide 執行,不依賴伺服器 及 Python 環境。