Fichier de traduction TMX (Translation Memory eXchange) - XML Facile!

11.Fichier de traduction TMX (Translation Memory eXchange)

11.1.Introduction

La norme TMX (Translation Memory eXchange) décrit un format de fichier basé sur le standard XML. TMX est tout particulièrement destiné à fournir des traductions de phrases dans différentes langues.
L'avantage de ce format: L'inconvénient que l'on peut y trouver:
Ce format libre est géré par LISA (Localization Industry Standards Association) dont le site (en anglais) est disponible à l'adresse [LISA TMX].

11.2.Structure d'un fichier TMX

Le fichier TMX le plus simple (i.e. ne contenant que les champs obligatoires et un exemple à minima) ressemble à:
<?xml version="1.0" ?>
<tmx version="1.4">
    <!-- segtype: block, paragraph, sentence, phrase -->
    <!-- adminlang: note and prop -->
    <!-- datatype: html, plaintext, xml, etc. -->
    <header creationtool="eclipse"
            creationtoolversion="3.4" 
            segtype="sentence" 
            o-tmf="n/a"
            adminlang="fr-FR"
            scrlang="fr-FR"
            datatype="plaintext">
    </header>
    <body>
        <tu tuid="bonjour">
            <tuv xml:lang="en">
                <seg>hello</seg>
            </tuv>
            <tuv xml:lang="fr">
                <seg>bonjour</seg>
            </tuv>
        </tu>
    </body>
</tmx>
Il s'agit bien d'un fichier XML (encodé par défaut en UTF-8). La balise racine est une balise tmx, il est recommandé de préciser la version de la norme utilisée (par défaut, il s'agit de la dernière. C'est à dire 1.4 à ce jour). La balise tmx doit obligatoirement contenir un bloc header et body (dans cet ordre).
Pour la balise header il faut obligatoirement renseigner les attributs suivants:
Le bloc body contient une liste de blocs tu.
Chaque bloc tu contient un attribut tuid identifiant unique (au sein du fichier) de la phrase traduite. Cet identifiant est la clé de traduction qui permettra de retrouver la traduction dans une langue donnée. Ce bloc tu contient une liste de blocs tuv.
Chaque bloc tuv contient un attribut xml:lang indiquant la langue (format ISO) de traduction. Ce bloc tuv contient un bloc seg.
Chaque bloc seg contient la phrase traduite.