跳至內容

除非您接受,否則可選的分析、工作階段錄製和廣告將保持關閉。您可以拒絕它們並繼續使用 Transglot。隨時可在 Cookie 偏好設定 中更改您的選擇。 Cookie 政策

適合每天合併程式碼的團隊

持續本地化: 每次合併,所有語言皆就緒。

持續本地化會在程式碼變更時同步翻譯新增與修改的字串,而非在每次發布前另闢階段處理。每種語言都能隨時隨程式碼一併發布。

此為兩種工作模式的模擬演示,並非實際測量數據。請點擊「合併變更」並閱讀右側欄位:這代表該語言使用者所見的內容。
acme / web
mainAdd a gift cardcheckout.gift_card
frAjouter une carte cadeau已翻譯
deGeschenkkarte hinzufügen已翻譯
jaギフトカードを追加已翻譯
arأضف بطاقة هدية已翻譯
pt-BRAdicionar vale-presente已翻譯
目前可發布的語言5 / 5
落後主分支的字串無
簡要說明

什麼是持續本地化?

持續本地化是一種工作流程,當字串新增或變更時會自動進入翻譯流程,且譯文會直接回傳至產品中,無需人工排程。

由於翻譯從未停止,因此不存在獨立的翻譯階段。開發人員合併字串後,譯文會隨程式碼同步流動,發布作業不再受制於任何人的檔案交付。

這是持續交付中的本地化環節。若團隊每天合併程式碼卻每幾週才移交翻譯,大多數時間各語言版本都會落後於程式碼。持續本地化能將此落差縮短至單一執行週期。

這不代表未經審閱的機器翻譯結果會直接上線。您可以決定哪些字串需要人工處理,而發布版本僅包含已審閱的內容。

持續 vs. 傳統本地化

差異在於翻譯發生的時機, 而非由誰執行。

譯者、審稿人員和術語庫同時存在於兩欄中。不同的是工作開始的時刻以及每項工作的規模。
並排顯示
翻譯發生的時機
在每次發布前的階段
觸發條件
有人匯出檔案
每項工作的規模
一次處理數週的字串
發布前需等待的事項
等待檔案回傳
臨時的文案變更
另一次往返
譯者的工作依據
字串試算表
上線時的語言
分批進行,一波接一波
從頭到尾處理一個字串

持續本地化的運作方式

追蹤一個新字串在流程中的路徑。每個步驟都呈現您實際會看到的畫面。

您的終端,或您的 CI 日誌
+ "checkout.gift_card": "Add a {brand} gift card"
$ git push origin main
$ transglot push --wait
push locales/en.json (en, json_nested)
Batch: #4182
$ transglot pull
written locales/fr.json
written locales/ja.json
checkout.gift_card
來源Add a {brand} gift card
frAjouter une carte cadeau {brand}Glossa 草稿
de{brand}-Geschenkkarte hinzufügen來自記憶庫,0 字
ja{brand} ギフトカードを追加Glossa 草稿
arأضف بطاقة هدية {brand}Glossa 草稿
四道關卡,一次運行
預留位置1 已修復
複數形式通過
術語通過
時長通過
ja · 佔位符丟失,修復一次,再次檢查ギフトカードを追加{brand} ギフトカードを追加
cart.save
源已更改Save Save draft
frEnregistrer經人員審查:保留,並向您報告建議: Enregistrer le brouillon
deEntwurf speichern機器行:再次翻譯
拉取請求就地更新
更新翻譯transglot/sync → main開啟,每個存儲庫一個
locales/fr.json+3 −1
locales/de.json+3 −1
locales/ja.json+3 −1
或者,在 GitHub 的拉取請求上評論/translate

變更透過 CLI、GitHub Action 或 Git 主機上的應用程式傳送至 Transglot。系統會以 20 種原生格式之一解析原始檔,並將每個字串與專案中現有的內容進行比對。只有新增和變更的字串會進入後續流程。

翻譯記憶庫中的完全匹配會填滿該行且不計字數。剩餘內容將連同您的術語表、風格指南以及該鍵的上下文一起送至 Glossa。

每次運行都會檢查每一行的佔位符、複數形式、術語和長度。損壞的佔位符、缺失的複數形式或禁用的術語會被修復並再次檢查;若第二次仍失敗則拒絕發布。僅超長的行會被寫入,Team 方案可自動批准或由 QA 運行標記以供審查。

運行絕不會覆蓋人員編輯或審查過的行。如果其源文本後來發生變化,現有文本將保留,運行會統計該行並通知您;在 Team 方案中,建議的更新會等待有人接受。

Git 應用將語言環境文件提交到一個同步分支,並保持一個拉取請求為最新狀態。在 GitHub 上,對拉取請求評論 /translate,文件將進入該拉取請求的專屬分支。或者發布到 CDN,正在運行的產品無需發布即可讀取更改。

團隊受挫之處

持續本地化出錯的六種方式,以及如何避免

運行覆蓋了人員的工作成果

每位編寫者首先檢查行的狀態:運行、記憶庫匹配和推送。人員編輯或審查過的行將保留,並由運行報告。

法文,已審閱,原文剛變更

保留、計數、回報

損壞的字串進入生產環境

每個輸入的權杖都必須完整輸出。在 ICU 專案中,會在轉譯時引發錯誤的訊息不會進入拉取請求、連接器或 CDN 套件,且執行作業會將其命名標記。

{count, plural, one {# article}

排除於檔案之外,並在執行作業中命名

儲存庫充斥著機器人發起的拉取請求

每個儲存庫僅使用一個同步分支與一個拉取請求。兩次快速推送會匯聚至該分支,而非開啟第二個拉取請求。

#812 #815 #819 #823 本地化更新

#812 transglot/sync,就地更新

原文編輯導致舊翻譯過時

每個目標列都會記錄其撰寫時對應的原文,因此一旦字串變更,系統會立即識別所有語言版本均已過時,並僅重新執行該金鑰的作業。

「儲存」變更為「儲存為草稿」。法文、德文、日文仍顯示「儲存」

法文、德文、日文針對該單一金鑰重新執行

每次執行都會對整個專案再次計費

執行規模取決於變更內容。未變更的字串不會傳送,完全符合記憶庫的內容不計字數,而由人員擁有的列會在產生任何費用前被拒絕處理。

檔案包含 48,000 個字

本次執行:60 個字

未完成的拉取請求清空地區設定檔案

若伺服器回報某地區設定無任何項目,拉取請求將拒絕覆寫含有內容的檔案,並退出代碼 1 以停止管線流程。

拉取:日文 0 個項目,檔案包含 1,204 個項目

拒絕以空套件覆寫 locales/ja.json

  • run 4182 法文:草稿缺少預留位置,重試後已修復
  • run 4182 德文:保留 3 個列,由人員擁有
  • run 4182 日文:41 個列來自記憶庫,0 個字
  • run 4183 阿拉伯文:重試後缺少複數形式,該列遭拒絕
  • pull 已寫入 locales/pt-BR.json
  • sync transglot/sync 已更新,拉取請求 #812
依據您正在比較的兩者進行評估

這三者皆連線至您的儲存庫。 差異在於合併時的處理方式。

資料擷取自各公司於 2026 年 11 月 5 日的官方頁面。價格欄位來自下方連結的比較頁面,其中顯示方案與計算方式。價格與方案可能會變動,請在決定前再次確認。

Transglot
新字串已合併
預設進行翻譯
推送會啟動執行作業。專案設定可將其關閉。
翻譯未通過檢查
修復一次,隨後拒絕
針對損壞的預留位置、複數形式或禁止用語,會在每次執行的每一列中處理。長度超限會被記錄。在 ICU 專案中,損壞的列不會納入拉取請求、連接器和 CDN。
人員已編輯該列
執行作業拒絕寫入
記憶體比對和推送也是如此。如果來源稍後發生變更,執行作業會回報該列。
繁忙儲存庫中的拉取請求
一個分支,一個拉取請求
每次推送時就地更新。
方案計費項目
翻譯字數,每種語言計一次
完全匹配無需付費。儲存字串也無需付費。
AI 費用來源
方案包含的字數
不另行計費。
相同工作:10 種語言的 5,000 個字串
每月 $39
Team,已含翻譯
GitHub、GitLab、Bitbucket、Azure Repos、CLI 及 MCP 伺服器
全部支援
Git 應用程式從 Team 方案開始提供,涵蓋雲端版本。
使用您已運行的工具

從字串所在位置啟動。 每種方式都通向同一條管線。

無論字串透過哪種方式進入,都使用相同的記憶庫、術語表、閘道與審查流程。
.github/workflows/translations.yml
on:
push:
branches: [main]
jobs:
translations:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v7
- uses: transglot/transglot-action@v1
with:
token: ${{ secrets.TRANSGLOT_TOKEN }}
首要步驟

如何設定持續本地化

  1. 從程式碼中提取字串

    每個面向使用者的字串都需要在區域檔案中擁有穩定的金鑰。Transglot 支援 20 種格式,因此您可以保留現有的格式。

  2. 連接儲存庫

    初始化指令會尋找您的區域檔案,透過瀏覽器讓您登入,上傳您已有的內容,並執行首次翻譯。

  3. 在每次合併時執行

    新增 GitHub Action、從任何其他 CI 呼叫 CLI,或為 GitHub、GitLab、Bitbucket 或 Azure Repos 安裝應用程式。

  4. 決定哪些項目需要人工介入

    在拉取規則上將 min_state 設為 reviewed,該檔案就只會包含經人工審閱的字串。若不設定,草稿也會發布。

根據您的數據自行計算

每次合併執行的成本: 變更的字詞。

「字詞」指的是來源字詞,每種目標語言計算一次。執行規模取決於變更內容,因此即使專案龐大,若合併僅涉及五種語言中的十二個字詞,總計也僅為六十個字詞。

25
40
6
20,000
每月字數26,000基於這些數字 · 每週 25 次合併,每次 40 個字詞,共 6 種語言

符合 Starter 方案:$19/mo,每月 300,000 個字詞。

這約佔配額的 9%。

首次執行,一次性120,000您每種語言中現有的字串。您匯入的翻譯不會再次翻譯。

此計算僅包含翻譯。品質檢查、品牌語氣草稿和修補也計為字詞,而來自記憶庫的精確匹配則不收費。CLI 和 GitHub Action 從 Starter 方案開始支援,而適用於 GitHub、GitLab、Bitbucket 和 Azure Repos 的應用程式則從 Team 方案開始支援。

它無法為您做的事項

持續本地化無法解決的三件事

字串仍卡在程式碼中

流水線只能翻譯它讀取到的內容。硬編碼的字串以及由多個部分拼湊而成的句子必須先修正,這通常是導致發布停滯的主要原因。

無人負責文案

自動化會移動字串,但不會決定產品如何命名事物。必須有人負責管理詞彙表,否則無人閱讀的語言可能會在不知不覺中產生偏差。

需要人工判斷的文案

法律條款、定價和品牌標語應由人工處理。將它們送交審核,並在獲得批准前不要將其包含在發布檔案中。

持續本地化常見問題

團隊在啟用此功能前常問的問題。

什麼是持續本地化?
一種工作方式,當新增或變更字串時,系統會自動將其送至翻譯,而翻譯後的文字無需排程交接即可返回產品中。它以每次變更後的小型執行作業,取代了發布前的翻譯階段。
傳統本地化會將字串批次放入檔案中,在接近發布時送出並等待結果。持續本地化則會在每次變更發生時立即處理,因此每個部分都很小,各語言可同時上線,且後續的文案變更只需重新執行單一鍵值,而非再次來回往返。
不是。CI/CD 負責建構、測試和發布程式碼。持續本地化則讓翻譯工作與之同步進行。兩者在流水線中匯合:執行測試的推送動作也可以同時發送字串進行翻譯,並將檔案取回。
不需要。GitHub、GitLab、Bitbucket 和 Azure Repos 的應用程式會在推送時作出反應,無需在您的流水線中新增任何內容;而內容連接器則會對 CMS 或商店中的變更作出反應。如果您希望將其整合到自己的工作流程中,也可以使用 CLI 和 GitHub Action。
不是。草稿可以直接發布,或者拉取規則可以設定為僅包含經人工審核通過的內容(逐個檔案)。審核人員可以在編輯器中工作,每行旁邊都會顯示詞彙表術語、記憶庫匹配結果和螢幕截圖。
不會。執行作業、記憶庫匹配和推送都會先檢查該行,經人工編輯或審核過的行將保持不變。如果其來源稍後發生變更,文字將保留,執行作業會計算該行並報告,而在 Team 方案中,系統會附加建議更新供人員接受。
這對小型團隊往往最為重要,因為沒有人專門負責執行交接工作。如果您只使用一種語言發布且沒有第二種語言的計畫,那麼可以暫時擱置。
執行作業在開始前就會確定規模。免費方案有嚴格上限。付費方案會在達到配額時停止,除非您開啟計量超額功能,該功能會在達到您設定的支出上限時停止。在 CI 中,當執行作業即將超過限制時,CLI 會以代碼 3 退出,以便流水線採取相應措施。
是的,支援 GitLab.com、Bitbucket Cloud 和 Azure DevOps Services。這些應用程式不涵蓋自行託管的 GitLab 或 Bitbucket Data Center,但 CLI 可以在任何具有 Node 22 且能存取 API 的 CI 環境中運行。
可以。內容連接器會從 CMS、商店或幫助中心讀取資料,雙向連接器會將審核過的語言寫回。有些連接器僅支援匯入,每個連接器的頁面都會說明其支援的功能。
是的。將語言環境發布至 CDN,您的產品即可透過執行階段 SDK 在執行期間讀取。最新網址會快取六十秒,每個已發布的版本皆擁有專屬網址,並保留最近二十個版本。
匯入工具可從 Lokalise, Phrase, Crowdin, Transifex, Weblate and POEditor 匯入專案、鍵值及現有翻譯。匯入的翻譯視為人工成果,因此不會被覆寫。所有方案皆可免費使用,且僅執行一次。