File Extensions |
.tmx |
API Extension |
tmx |
Import |
Yes |
Export |
Yes |
Plural forms support |
No |
Description support |
Yes |
TMX (Translation Memory Exchange) 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. CAT tool specific Translation Memory Files can be converted to a TMX, or external TMXs can be imported to expand a TM database. 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>