TermBase eXchange 格式

在 4.5 版被加入.

在 5.12 版的變更.

TBX是術語資料交換的XML格式。

支援的功能

副檔名

.tbx

語言能力 ⓘ

雙語言

支援複數 ⓘ

No

支援描述 ⓘ

Yes

支援解釋 ⓘ

Yes

支援情境 ⓘ

Yes

支援位置 ⓘ

No

支援旗標 ⓘ

Yes

API 辨識碼

tbx

支援唯讀字串 ⓘ

No

支援移除已不再使用的字串 ⓘ

No

術語替代項

每個 TBX 概念都是一個字串,內含彼此獨立的來源與目標替代項清單。Weblate 會讀取所選語言中每一個直接位於父元素下的 <tig>;ID 可省略,也不會用來配對不同語言的替代項。所有來源替代項都能在詞彙表中比對,且每個允許的目標替代項都能分別複製。系統會將術語狀態和備註與各替代項一同顯示。

品質檢查、自動修正和機器翻譯如何處理替代項,請參閱 多值格式。

編輯替代項時,系統會先比對未變更的文字,包括重複出現的項目。其餘替代項會依原始順序重用尚未配對的術語,並保留其 ID 和中繼資料。因此,同時重新命名和刪除替代項時,重新命名的術語可能會套用第一個未配對術語的中繼資料。新增的替代項不會有 ID。Weblate 中的術語中繼資料為唯讀。

若缺少目標語言,只要來源語言存在,概念就會保留。DNT 術語可以使用相符的來源替代項,不必建立翻譯。語言代碼仍須符合組件設定。

解釋

Weblate 會從 TBX 檔案載入及儲存說明,並顯示於 詞彙表。

  • 翻譯說明儲存於 <note from="translator"></note> 標籤中。

  • 來源字串說明儲存於 <descrip></descrip> 標籤中。

  • 來源字串描述儲存於 <descrip type="Usage note"></descrip> 標籤中。

概念備註會共用。語言備註僅供查看所選語言,術語備註則屬於各自的替代項。編輯目標語言的說明不會覆寫其他語言的備註。

TBX 組件提供原生 TBX 和產生的 TBX 下載檔。無法轉換為使用文法複數形式的格式,因為那些格式無法保留彼此獨立的來源與目標替代項。

產生的 TBX 下載檔會保留可表示的旗標、說明、替代項 ID、狀態及備註範圍。Weblate 旗標使用與原生 TBX 儲存方式相同的 weblate-flags 屬性。直接編輯原生檔案也會保留無法識別的 XML 和未選取的語言;產生的匯出檔則只包含所選語言配對。

詞彙表旗標與唯讀中繼資料

Weblate 將 <termNote type="administrativeStatus"> 中管理狀態為 forbidden 或 obsolete 的術語匯入為 禁止的翻譯。

含 <descrip type="Translation needed">No</descrip> 的術語被匯入為唯讀字串,見 不可翻譯的術語.

匯入詞彙表檔案

TBX 可以在單一 XML 檔案中儲存多種語言,但 Weblate 仍會使用組件檔案遮罩,將各組件檔案對應至翻譯語言。對於 TBX 詞彙表組件,組件來源語言用於來源詞彙,而從檔名剖析出的語言則作為目標詞彙表語言。

避免以組件來源語言的相同語言代碼命名 TBX 翻譯檔案,因為來源語言已存在於 Weblate 中,該檔案可能會被偵測為重複語言。

使用「新增」上傳方式將 TBX 匯入 TBX 詞彙表時,會保留替代項 ID、狀態和範圍限定的備註。

範例檔案

範例檔案:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE martif PUBLIC "ISO 12200:1999A//DTD MARTIF core (DXFcdV04)//EN" "TBXcdv04.dtd">
<martif type="TBX" xml:lang="en">
    <martifHeader>
        <fileDesc>
            <sourceDesc>
                <p>Translate Toolkit</p>
            </sourceDesc>
        </fileDesc>
    </martifHeader>
    <text>
        <body>
            <termEntry>
                <langSet xml:lang="en">
                  <tig>
                    <term>address bar</term>
                  </tig>
                </langSet>
                <langSet xml:lang="cs">
                  <tig>
                    <term>adresní řádek</term>
                  </tig>
                </langSet>
            </termEntry>
            <termEntry weblate-flags="terminology">
                <langSet xml:lang="en">
                  <tig>
                    <term>administrator</term>
                  </tig>
                </langSet>
                <langSet xml:lang="cs">
                  <tig>
                    <term>správce</term>
                  </tig>
                </langSet>
            </termEntry>
            <termEntry>
                <descrip>Example source string explanation text</descrip>
                <descrip type="Usage note">Example source string description text</descrip>
                <langSet xml:lang="en">
                  <tig>
                    <term>administrate</term>
                  </tig>
                </langSet>
                <langSet xml:lang="cs">
                  <tig>
                    <term>spravovat</term>
                    <note from="translator">Example translation string explanation text</note>
                  </tig>
                </langSet>
            </termEntry>
            <termEntry>
                <descrip type="Translation needed">No</descrip> <!-- mark as untranslateable -->
                <langSet xml:lang="en">
                  <tig>
                    <term>Weblate</term>
                  </tig>
                </langSet>
            </termEntry>
            <termEntry>
                <langSet xml:lang="en">
                  <tig>
                    <term>example forbidden term</term>
                    <termNote type="administrativeStatus">forbidden</termNote>
                  </tig>
                </langSet>
                <langSet xml:lang="cs">
                  <tig>
                    <term>příklad zakázaného výrazu</term>
                  </tig>
                </langSet>
            </termEntry>
        </body>
    </text>
</martif>

Weblate 設定

典型的 Weblate 組件設定

檔案遮罩

tbx/*.tbx

單語言基底語言檔案

空白

新翻譯的範本

空白

檔案格式

TermBase eXchange 檔案