TermBase eXchange format

Added in version 4.5.

Changed in version 5.12.

TBX is an XML format for the exchange of terminology data.

Supported features

File extensions

.tbx

Linguality

Bilingual

Supports plural

No

Supports descriptions

Yes

Supports explanation

Yes

Supports context

Yes

Supports location

No

Supports flags

Yes

API identifier

tbx

Supports read-only strings

No

Explanations

Weblate loads and saves explanation from TBX files to be displayed in Glossary.

  • Translation explanation is stored as <note from="translator"></note> tag.

  • Source string explanation is stored as <descrip></descrip> tag.

  • Source string description is stored as <descrip type="Usage note"></descrip> tag.

Glossary flags and read-only metadata

Weblate imports terms with forbidden or obsolete administrative status in <termNote type="administrativeStatus"> as Forbidden translations.

Terms with <descrip type="Translation needed">No</descrip> are imported as read-only strings, see Untranslatable terms.

Importing glossary files

TBX can store multiple languages in one XML file, but Weblate still maps each component file to a translation language using the component file mask. For a TBX glossary component, the component source language is used for source terms and the language parsed from the file name is used as the target glossary language.

Avoid naming a TBX translation file with the same language code as the component source language, because the source language already exists in Weblate and the file can be detected as a duplicate language.

Example files

Example file:

<?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>
                <langSet xml:lang="cs">
                  <tig>
                    <term></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 configuration

Typical Weblate Component configuration

File mask

tbx/*.tbx

Monolingual base language file

Empty

Template for new translations

Empty

File format

TermBase eXchange file