TFTutoOmegaT

Introduction

Dans ce document, nous essayons de décrire les différents éléments du processus de traduction de l' environnement NetBeans en français. Bien que les modes opératoires proposés ici ne sont pas les seuls, nous les avons choisi à cause de leur simplicité et leur facilité de mise en oeuvre. Nous supposerons l'utilisation de l'outil OmegaT qui n'est cependant pas obligatoire. Pour ceux qui désirent procéder différemment, nous vous conseillons de vous adresser à la liste de diffusion où vous trouverez l'aide qui vous convient.

[[{TableOfContentsWHERETitle=Plan} | {TableOfContents WHERE title=Plan}]]

Vocabulaire

Avant d'entrer dans le vif du sujet, voici un certain nombre de termes que nous utilisons dans la suite et qui peuvent poser des problèmes d'interprétation.

  • sources: ensembles des fichiers de l'environnement NetBeans dont le contenu sera traduit via le processus de traduction que nous décrivons ici et qui est celui utilisé par la communauté francophone.
  • module: les sources sont regroupés en ensembles fonctionnels que nous appelerons modules. A ne pas confondre avec le terme module ou plugin de NetBeans (en fait il y a une relation entre les deux aspects). Vous trouverez des modules prêts à l'utilisation avec OmegaT ici.

Le processus de traduction

Le processus de traduction de l' IDE NetBeans est simple. Dans cette page, nous fournirons un maximum d'informations qui permettront de clarifier le mode opératoire de chaque rôle identifié dans cette communauté. Voici quelques informations utiles pour la suite:

Préparer l'environnement

  • Télécharger les modules pour OmegaT et les placer dans un répertoire que nous appelerons traduction.
  • Dézipper les différents fichiers téléchargés.

Chaque fichier .zip (chaque module) est un projet OmegaT. Une fois dézippé, chaque module (par exemple core) produit un dossier (par exemple core) ayant la structure suivante: core: -- omegat

 -- project_save.tmx  //mémoire de traduction. Nous reviendrons dessus.
 -- project_stats.txt // Statistiques sur le projet.

-- glossary //généralement vide -- source // les sources à traduire

 -- core   // sources du module core, en anglais

-- target // résultats de la traduction des sources

 -- core //en français

-- tm // généralement vide -- omegat.project //fichier des propriétés du projet

Le dossier Omegat

Il contient au moins deux fichiers: project_save.tmx et project_stats.txt. Le fichier project_save.tmx est très important car c'est dans ce fichier que sont stockés toutes les correspondances entre le texte anglais d'origine et le texte français fourni par le traducteur. Lorsque vous aurez fini votre travail, que ce soit la traduction, la relecture ou autre tâche, le résultat de votre travail sera stocké dans ce fichier que vous devez mettre alors sur le wiki pour utilisation ultérieure par le processus. C'est la seule chose qui vous est demandé de votre travail, car à partir des informations qui y sont contenus, on peut regénérer les fichiers en français à partir des sources. Nous y reviendrons. Le fichier project_stats.txt contient quelques informations statistiques sur le projet.

Le dossier source

Il contient les packages (au sens java) contenant les ressources (ou sources) à traduire. Une ressource peut être un fichier de propriété (Bundle.properties par exemple), un fichier html, xml etc.

Le dossier target

Il a le même contenu que le dossier source, sauf que ici les ressources sont traduites. Ainsi, si dans le dossier source il y a un fichier core/Bundle.properties, le résultat de la traduction de ce fichier sera mis dans target/core/Bundle_fr.properties. Remarquer que le nom du fichier traduit peut être modifiés lors de sa génération. Il faut donc faire attention d'avoir bien configurer la langue cible dans OmegaT.

Les autres répertoires sont pour le moment de moindre importance.

Les mémoires de traduction au centre du processus

Lorsqu'on effectue un travail comme celui de la traduction d'un IDE tel que NetBeans, il est important de pouvoir partager les résultats du travail qu'on a effectué. Ainsi, OmegaT, qui voit chaque document comme un ensemble de "phrases" que nous appelerons SEGMENTS, va proposer au traducteur, pour chaque segment du document source en anglais, de fournir une version française. Exemple: File:Fig segments omegat.jpg Sur cette figure, la partie en vert est non modifiable et represent le segment d'origine (version anglaise) tandis que la partie en bleu représente le texte à modifier. Dans la figure, le texte d'origine a déjà été modifié en la version française. Voyons donc comment cette information est stockée dans les mémoires de traduction.

Pourquoi utilise-t-on les fichiers tmx?

Les mémoires de traduction sont utilisés pour stocker les correspondances entre version anglaise d'un segment et sa traduction. Ces fichiers sont aussi utilisés comme moyen d'échanger les données issus du travail de chaque traducteur/relecteur/validateur. Il permet aussi de réutiliser ces données, nous verrons comment.

Comment utilise-t-on les fichiers tmx?

En principe, lorsque l'on utilise OmegaT pour la traduction/relecture/validation, on a pas besoin de manipuler directement les fichiers tmx (mémoires). Mais il peut arriver que pour une raison ou pour une autre (on ne veut pas utiliser OmegaT mais un simple éditeur de texte par exemple), on soit obligé de manipuler directement le fichier mémoire (tmx). Voici à quoi il ressemblera:

//l'entete xml car les tmx sont des fichiers xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tmx SYSTEM "tmx11.dtd">
//ensuite l'entete du format tmx en lui même
<tmx version="1.1">
  <header
    creationtool="OmegaT"
    creationtoolversion="1.6.1"
    segtype="sentence"
    o-tmf="OmegaT TMX"
    adminlang="EN-US"
    srclang="EN-US"  //la langue source est l'anglais américain
    datatype="plaintext"
  >
  </header>
// fin de l'entete et début du corps proprement dit
  <body>
    <tu>  //unité de traduction
      <tuv lang="EN-US"> //segment source dont le contenu est en anglais américain
        <seg>WARNING: the monitor filter must be the first filter in the chain.</seg> // contenu du segment
      </tuv> 
      <tuv lang="FR-FR"> //traduction en francais (de france) du segment précédent
        <seg>AVERTISSEMENT : le filtre du moniteur doit correspondre au premier filtre dans la chaîne.</seg>
      </tuv>
    </tu> //fin de l'unité de traduction.
    <tu> //seconde unité de traduction et on recommence
      <tuv lang="EN-US">
        <seg>WARNING: this attribute has become invalid</seg>
      </tuv>
      <tuv lang="FR-FR">
        <seg>AVERTISSEMENT : cet attribut n''est plus valide.</seg>
      </tuv>
    </tu>
  </body>

Ainsi, on peut voir que l'on peut contribuer au projet sans avoir à utiliser Omegat, si on est capable de modifier directement la partie <seg> de toutes les <tuv lang="FR-FR">. Etant donné que pour le traitement des contributions seuls les tmx comptent, le reste de la communauté pourra tirer profit de votre contribution. De même, ce fichier est utilisé pour regénérer les fichiers traduits (via Omegat). En fait, chaque fois que OmegaT rencontrera une "phrase" ayant exactement le même contenu que la partie <tuv lang="EN-US">, il la remplacera par la valeur de <seg> de la partie <tuv lang="FR-FR"> de chaque unité de traduction. C'est la raison pour laquelle les tmx seules sont requis comme résultat d'un travail.

Comment procéder lorsque je commence la traduction d'un nouveau module?

Supposons que nous ayons dans notre répertoire <chemin traduction> le sous répertoire core qui correspond au module core.zip que nous avons téléchargé. Pour commencer la traduction de ce module en utilisant OmegaT, nous procéderons ainsi:

  1. Lancer OmegaT: à partir de la ligne de commande, on peut saisir:
    java -jar <chemin Omegat.jar>/Omegat.jar
  2. cliquer sur Projet> Ouvrir
  3. dans la boîte de dialogue qui apparaît, naviguer jusqu'au répertoire traduction et sélectionner le sous répertoire core

OmegaT va charger le projet core et vous proposer d'importer les fichiers sources du projet. Cliquer sur Importer.

Comment procéder lorsque je relis la traduction faite par quelqu'un d'autre?

Comment procéder lorsque je valide une relecture?

Comment procéder pour réaliser un merge

Comment tester le travail?

Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo