1. Help Center
  2. Supported formats

TMX

A brief introduction to TMX: What is a TMX file and what is it used for?

File Extensions .tmx
API Extension tmx
Import Yes
Export Yes
Pluralization supported? No
Descriptions supported? Yes


TMX is short for Translation Memory Exchange. It is an XML-based file used by CAT-tools for the storage, update, and exchange of translated paired strings. Although different CAT-tools may vary in their default file formats for Translation Memory, generally they all support TMX files. You may convert your CAT-tool specific Translation Memory Files to a TMX, or import external TMXs to expand your TM database. In this sense, TMX is the industry-standard file format for Translation Memory Management.

Code Sample

<?xml version="1.0" encoding="UTF-8"?>
<tmx version="1.4">
  <header creationtool="phraseapp.com" datatype="PlainText" segtype="paragraph" adminlang="en-US" srclang="de-DE" creationdate="2018-06-11 05:09:06 UTC" o-encoding="utf8"/>
  <body>
    <tu tuid="boolean_key" datatype="Text">
      <prop type="x-Project">Project</prop>
      <tuv xml:lang="de-DE">
        <seg>--- true
</seg>
      </tuv>
      <tuv xml:lang="en-GB">
        <seg>--- true
</seg>
      </tuv>
    </tu>
    <tu tuid="empty_string_translation" datatype="Text">
      <prop type="x-Project">Project</prop>
      <tuv xml:lang="de-DE">
        <seg/>
      </tuv>
      <tuv xml:lang="en-GB">
        <seg/>
      </tuv>
    </tu>
    <tu tuid="key_with_description" datatype="Text">
      <note>This is the proper description for that key!</note>
      <prop type="x-Project">Project</prop>
      <tuv xml:lang="de-DE">
        <seg>Dieser Key hat eine Beschreibung!</seg>
      </tuv>
      <tuv xml:lang="en-GB">
        <seg>This key has a description!</seg>
      </tuv>
    </tu>
    <tu tuid="key_with_line-break" datatype="Text">
      <prop type="x-Project">Project</prop>
      <tuv xml:lang="de-DE">
        <seg>Diese Übersetzung hat
einen Zeilenumbruch.</seg>
      </tuv>
      <tuv xml:lang="en-GB">
        <seg>This translations contains
a line-break.</seg>
      </tuv>
    </tu>
    <tu tuid="nested.deeply.key" datatype="Text">
      <prop type="x-Project">Project</prop>
      <tuv xml:lang="de-DE">
        <seg>Ich bin ein tief verschachtelter Key</seg>
      </tuv>
      <tuv xml:lang="en-GB">
        <seg>I'm a deeply nested key.</seg>
      </tuv>
    </tu>
    <tu tuid="nested.key" datatype="Text">
      <prop type="x-Project">Project</prop>
      <tuv xml:lang="de-DE">
        <seg>Dieser Key ist innerhalb eines Namensraumes verschachtelt.</seg>
      </tuv>
      <tuv xml:lang="en-GB">
        <seg>This key is nested inside a namespace.</seg>
      </tuv>
    </tu>
    <tu tuid="null_translation" datatype="Text">
      <prop type="x-Project">Project</prop>
      <tuv xml:lang="de-DE">
        <seg/>
      </tuv>
      <tuv xml:lang="en-GB">
        <seg/>
      </tuv>
    </tu>
    <tu tuid="pluralized_key_one" datatype="Text">
      <prop type="x-Project">Project</prop>
      <tuv xml:lang="de-DE">
        <seg>Es wurde nur ein Hund gefunden.</seg>
      </tuv>
      <tuv xml:lang="en-GB">
        <seg>Only one dog was found.</seg>
      </tuv>
    </tu>
    <tu tuid="pluralized_key_other" datatype="Text">
      <prop type="x-Project">Project</prop>
      <tuv xml:lang="de-DE">
        <seg>Hey, du hast %s Hunde!</seg>
      </tuv>
      <tuv xml:lang="en-GB">
        <seg>Hey, you have %s dogs!</seg>
      </tuv>
    </tu>
    <tu tuid="pluralized_key_zero" datatype="Text">
      <prop type="x-Project">Project</prop>
      <tuv xml:lang="de-DE">
        <seg>Du hast keine Hunde.</seg>
      </tuv>
      <tuv xml:lang="en-GB">
        <seg>You have no dogs.</seg>
      </tuv>
    </tu>
    <tu tuid="sample_collection" datatype="Text">
      <prop type="x-Project">Project</prop>
      <tuv xml:lang="de-DE">
        <seg>---
- erstes Item
- zweites Item
</seg>
      </tuv>
      <tuv xml:lang="en-GB">
        <seg>---
- first item
- second item
- third item
</seg>
      </tuv>
    </tu>
    <tu tuid="simple_key" datatype="Text">
      <prop type="x-Project">Project</prop>
      <tuv xml:lang="de-DE">
        <seg>Einfacher Key, einfache Nachricht./seg>
      </tuv>
      <tuv xml:lang="en-GB">
        <seg>Simple key, simple message.</seg>
      </tuv>
    </tu>
    <tu tuid="unverified_key" datatype="Text">
      <prop type="x-Project">Project</prop>
      <tuv xml:lang="de-DE">
        <seg>Diese Übersetzung ist noch nicht bestätigt aber wartet drauf!</seg>
      </tuv>
      <tuv xml:lang="en-GB">
        <seg>This translation is not yet verified but is waiting for it. (At least in some formats we also export this status)</seg>
      </tuv>
    </tu>
  </body>
</tmx>

 
More information