翻譯記憶

Weblate 帶有內建的翻譯記憶,其組成部分為:

  • 手動匯入的翻譯記憶(請參閱 使用者介面)。

  • 自動儲存 Weblate 中進行的翻譯(取決於 翻譯記憶範圍)。

  • 自動匯入了過去的翻譯。

翻譯記憶中的內容可以透過多種方式套用於字串:

  • 使用者可以在編輯字串時從 自動建議 標籤頁接受建議。

  • 可以從 操作 選單使用 自動翻譯 處理所選的字串。

  • 自動翻譯 附加元件可以自動將變更應用於新的和現有的字串。

對於安裝提示,請參閱 Weblate 翻譯記憶,它預設是開啟的。

翻譯記憶範圍

翻譯記憶的範圍確保不同專案和使用者的隱私。也可以用來共享譯文。

備註

從較舊的 Weblate 發行版本升級時,既有翻譯記憶項目會由定期 Celery 背景工作轉換成不同作用範圍。在回填完成前,既有項目可能暫時不會出現在建議和翻譯記憶管理檢視中。升級後請讓 Celery 保持執行,以便定期工作開始或繼續移轉。網站管理員可以在 管理 > 效能報告 中監看回填及重複項目整併作業。

已匯入的翻譯記憶

使用 import_memory 指令匯入任何翻譯記憶資料會使記憶內容可用於所有使用者與專案。

每個使用者的翻譯記憶

在每個單獨使用者的個人翻譯記憶中自動儲存使用者的翻譯。

系統會依 自動清理翻譯記憶 設定自動調整新使用者的預設值。如果啟用自動清除,這項設定預設會停用,以免重新加入不一致的翻譯。

每個專案的翻譯記憶

專案內的所有翻譯都自動儲存在專案翻譯記憶中,這個翻譯記憶只在專案內可用。

歸屬於現有受限組件的項目,只有可存取該組件的使用者才能使用。透過 REST API 下載或存取專案記憶時,此規則同樣適用。

無法歸屬於目前組件的舊項目會使用專案存取規則。組件路徑變更或組件遭移除時,可能會發生這種情況。

工作空間翻譯記憶

同一工作空間中的專案可以共用翻譯記憶,而不必啟用全域共用翻譯記憶。工作空間設定和個別專案工作流程設定都必須啟用工作空間翻譯記憶。

歸屬於現有受限組件的項目,只有可存取該組件的使用者才能使用,即使他們可存取工作區中的其他專案也一樣。未歸屬的舊項目會使用工作區存取規則。

共用翻譯記憶

開啟翻譯記憶共享的專案內的所有翻譯都儲存在共享的翻譯記憶中,可用於所有專案。關閉對共享翻譯記憶的貢獻會阻止之前貢獻的自動條目被用作共享的建議。

受限組件不會將新項目加入共享翻譯記憶。在 Hosted Weblate 中,含有受限組件的專案無法啟用共享翻譯記憶;專案使用共享翻譯記憶時,也無法將組件設為受限。

已存在於共享翻譯記憶、但未歸屬的舊項目會使用共享翻譯記憶的存取規則。

對於分享的 Weblate 安裝,請仔細考慮是否開啟這個特性,因為可能導致嚴重的影響:

  • 翻譯可以被任何人使用。

  • 這會導致洩露秘密資訊。

  • 請確保您共享的譯文品質上乘。

翻譯記憶狀態

在 5.13 版被加入.

Translation memory entries can have two different statuses: active and pending. Pending entries are included in suggestions, but with a quality penalty applied. Depending on the configured score threshold, the penalty can exclude even exact matches from suggestions and automatic translation. Entries imported from translation memory files are stored as active. If 自動清理翻譯記憶 is enabled, matching pending entries are removed when a translation becomes active.

自動清理翻譯記憶

在 5.13 版被加入.

對專案啟用後,當翻譯生效時 Weblate 替換舊的自動產生的翻譯記憶條目:

  • 啟用 啟用檢閱 時,清理在批准翻譯時發生。

  • 如果沒有審校,譯文一轉為已翻譯狀態就會被清理。

對於同一來源字串、組件、情境和源/目標語言對,Weblate 從翻譯記憶中刪除相符的非檔案條目,包括目標文字不同的條目。這應用於個人、專案和共享的翻譯記憶範圍。然後目前翻譯被在為此變更啟用的範圍中再次儲存為活躍條目。

不自動清理從外部翻譯記憶匯入的條目。保留情境不同的條目。

在 Docker 容器中這可以使用 WEBLATE_DEFAULT_AUTOCLEAN_TM 設定。

備註

開啟自動清理還會將新使用者個人資料的預設值變更為不錄入個人翻譯記憶。這防止重新引入打算要清理的不一致的譯文。

管理翻譯記憶

使用者介面

可以從 Weblate 使用者介面的幾個地方管理翻譯記憶:

  • 開啟使用者選單,選擇 翻譯記憶 管理您的個人翻譯記憶。

  • 開啟專案,從專案選單選擇 翻譯記憶 來管理專案的翻譯記憶。

  • 開啟工作空間,選擇 操作翻譯記憶,即可管理自動建立的該工作空間翻譯記憶。需要具備編輯工作空間權限。

  • 開啟 管理,選擇 翻譯記憶 管理整個 Weblate 執行個體的已上傳的翻譯記憶。

翻譯記憶頁面顯示所選範圍的條目數。根據範圍不同,頁面還按照來源、組件或語言對列出條目。所列條目可下載為 JSON 或 TMX。有所需權限的使用者可以刪除條目,專案檢視可以從目前翻譯重建整個專案或單獨組件的翻譯記憶。

移除組件時,預設會保留其自動建立的翻譯記憶。由於移除後已不存在該組件的存取規則,保留的項目會使用其剩餘翻譯記憶範圍的存取規則。若要在移除組件時一併刪除這些項目,請在移除表單中選取 刪除由這個組件建立的翻譯記憶。移除分類時,也能為該分類及其巢狀分類中的每個組件選擇相同選項。這會移除已歸屬的項目,以及與目前組件路徑相符的舊項目,但不會推斷組件或分類重新命名或移動前使用的路徑。這類無法比對的項目可依來源在專案或工作區翻譯記憶管理中刪除,也可使用 REST API 刪除。REST API 在移除組件及分類時,接受要求內容或查詢字串中的 delete_memory 布林值。個人項目及上傳的項目會予以保留。

專案檢視還顯示專案是否啟用了共享的翻譯記憶和自動清理翻譯記憶,當使用者可以編輯專案時會顯示到專案工作流設定的連結。

工作空間檢視可重建目前所有參與的專案,或個別參與的組件。僅管理工作空間範圍的自動項目。無法將翻譯記憶檔案上傳至工作空間範圍。

可在同一頁面匯入翻譯記憶檔案。上傳的檔案會在請求期間處理、以作用中狀態儲存,並加入選取的範圍:

  • 個人上傳在個人翻譯記憶中。

  • 專案上傳在所選專案的翻譯記憶中。

  • 管理性質的上傳作為上傳的共享條目對整個執行個體可用。

提示

Weblate 可以匯入各種格式的翻譯記憶。TMX 格式是為了與其他工具進行互通而提供的。所有支援格式為 TMX 、 JSON 、 XLIFF 、 PO 與 CSV。

如果 XLIFF、PO 或 CSV 檔案本身未提供語言資訊,那麼上傳這些型別的檔案時必須選擇來源語言和目標語言。

../_images/memory.webp

您可以在搜尋翻譯記憶的同時編輯來自 自動建議 分頁的字串。

管理介面

管理型使用者擁有額外的翻譯記憶管理控制。在 管理 > 翻譯記憶 中,此頁面列出 Weblate 執行個體的已上傳共享條目、共享條目和總條目。根據權限不同,它可匯入上傳的共享記憶庫,刪除上傳的條目,下載已上傳的、共享的、或者所有條目為 JSON 或 TMX 檔案。

在 4.12 版被加入.

專案翻譯記憶檢視也可重建部分或整個專案翻譯記憶。會刪除選取組件或專案自動產生的項目,並在背景依目前翻譯重新填入記憶。從檔案匯入的項目會保留。

管理介面

有幾個管理指令可以控制翻譯記憶的內容。這些指令將翻譯記憶視同一個整體進行操作,不受範圍影響(除非透過引數進行請求):

dump_memory

匯出記憶至 JSON

import_memory

將 TMX 或 JSON 檔案匯入翻譯記憶

cleanup_memory

從翻譯記憶中移除所有狀態為待處理的項目

在 4.14 版被加入.

Weblate API 涵蓋了翻譯記憶。這允許出於不同目的或基於翻譯週期事件的自動操控。