Aller au contenu principal
EMT Blog
  • Article d’actualité
  • 10 mai 2022
  • 14 min de lecture

Traduction multiposte et logiciels de TAO libres : OmegaT en situation

Par Lilian FAEDI et Ismaël GARIN, étudiants de UFR Arts, Lettres et Langues Metz – Université de Lorraineencadrés par Jean-Christophe Helary, tuteur du stage, traducteur et membre de l’équipe de développement d’OmegaT.

Cet article a été co-écrit par Lilian FAEDI et Ismaël GARIN, dans le cadre d’un stage de fin de Master 2 Technologies de la Traduction (TeTra), UFR Arts, Lettres et Langues Metz – Université de Lorraine. L’écriture a été encadrée par Jean-Christophe Helary, tuteur du stage, traducteur et membre de l’équipe de développement d’OmegaT.

Introduction

Cet article a pour buts principaux d'introduire le lecteur à la traduction multiposte dans OmegaT, de faire la démonstration des fonctions les plus utiles dans le cadre d’une utilisation multiposte et de présenter certains principes généraux qui sous-tendent le fonctionnement d’OmegaT. Il s'agit d'un logiciel libre et gratuit, avec lequel il est possible de travailler gratuitement dans une configuration multiposte. Cela permet d’offrir aux professionnels des solutions facilement accessibles et ce, à une époque où le télétravail permet paradoxalement une plus grande collaboration entre collègues.

Une question se pose donc : travailler dans un projet multiposte avec OmegaT, comment ça marche ?

OmegaT, un logiciel libre

L’enjeu ici est de savoir ce qu’un logiciel libre peut apporter au travail collaboratif de manière générale. La licence d’utilisation d’OmegaT permet son utilisation en toute liberté, dont découle la gratuité du logiciel. Les libertés qui sont garanties à l’utilisateur sont définies de manière très précise par sa licence d’utilisation (GPL, version 3) :

https://fr.wikipedia.org/wiki/Licence_publique_générale_GNU

On peut résumer ces libertés ainsi :

  • La liberté d’exécuter le programme, pour tous les usages ;
  • La liberté d’étudier le fonctionnement du programme et de l’adapter à ses besoins ;
  • La liberté de redistribuer des copies du programme (ce qui implique la possibilité aussi bien de donner que de vendre des copies) ;
  • La liberté d’améliorer le programme et de distribuer ces améliorations au public, pour en faire profiter toute la communauté. L’accès au code source est une condition d’exercice des libertés 1 et 3.

OmegaT est un logiciel professionnel de TAO qui existe depuis 20 ans, et a bénéficié de contributions de code de la part de la DGT, du gouvernement sud-africain, et d’entreprises du monde de la TAO telles que weLocalize ou Kilgray. Tout cela sans compter la multitude d’entreprises moins connues qui ont offert du code et des fonctionnalités au projet :

https://omegat.org/sponsorship.html

Projet multiposte : partage et intégrité des données

OmegaT en lui-même ne permet pas le partage des données. En revanche, il comprend des fonctions qui lui permettent d’utiliser des systèmes de partage de données.

On distingue trois types de systèmes de partage de données :

  • Les systèmes qui ne vérifient pas l’intégrité des données lors d’un accès simultané par plusieurs utilisateurs (de type « DropBox ») ;
  • Les systèmes qui garantissent l’intégrité des données en limitant leur accès à un utilisateur à la fois (de type « base de données » en mode client-serveur) ;
  • Les systèmes qui proposent une copie des données à chaque utilisateur et synchronisent les modifications en les fusionnant régulièrement sur la version « mère » tout en proposant un système de gestion des fusions potentiellement conflictuelles (de type « systèmes de contrôle de version » utilisés en ligne dans des projets d’écriture de code multidéveloppeurs).

OmegaT a choisi la troisième option pour les raisons suivantes :

  • Les systèmes de type « DropBox » ne garantissent pas l’intégrité des données en accès simultané ;
  • Les systèmes de bases de données sont lourds à installer et demandent des connaissances techniques avancées ;
  • Les systèmes de développement collaboratif sont omniprésents sur internet. Ils ne demandent pas d’installation supplémentaire de logiciels, et les connaissances requises ne dépassent pas celles d'un utilisateur lambda en outils de bureautique.

OmegaT Screenshot number 1

Plateforme de développement collaboratif « Gitea » hébergé par l’association April

Projet multiposte pour OmegaT

Cet article n’aborde pas la partie paramétrage du projet qui sera développée ultérieurement. Nous présentons donc le projet multiposte tel qu’il a été mis à notre disposition pour la durée de notre stage. Ce projet est en accès libre, mais en écriture restreinte et est consultable ici :

https://forge.chapril.org/brandelune/documentation_emacs

L’accès à un projet multiposte est déterminé par les paramètres d’accès du site où les fichiers sont hébergés :

  • Le projet peut être invisible à des personnes qui n’en sont pas membres (cas type d’un projet d’agence) ;
  • Le projet peut être visible au grand public, mais limité en écriture aux membres (cas type d’un projet bénévole ouvert) ;
  • Le projet peut être visible au grand public et ouvert en écriture (cas type d’un projet test).

Comme tout projet OmegaT (multiposte ou local), il est composé d’un fichier `omegat.project` qui contient les paramètres du projet, d’un dossier `omegat/` qui contient entre autres la mémoire de traduction au format `TMX` partagée en lecture et en écriture, et d’un dossier `glossary/` qui contient entre autres le glossaire au format `TSV` (encodé en `UTF-8`), partagé lui aussi en lecture et en écriture.

La gestion des accès, les conflits d’écriture et autres sont intégralement de la responsabilité du système `gitea`. OmegaT va interagir avec lui de manière totalement transparente pour l’utilisateur.

L’accès au projet multiposte se fait à partir de l’interface du logiciel qui va copier localement la totalité des fichiers du projet et autoriser une synchronisation souple (paramétrable, par défaut toutes les trois minutes, ce qui rend possible la traduction en mode « non connecté » pour synchronisation décalée).

Pour cela, chaque membre doit ouvrir le logiciel et cliquer sur l’option « Télécharger projet en équipe » (disponible dans la fenêtre principale, via le menu « Projet ») :

OmegaT capture d'écran n° 2

Télécharger projet en équipe

OmegaT capture d'écran n° 3

Saisir l’adresse du projet et l’emplacement pour la copie locale

Chaque participant au projet est enregistré par le gestionnaire de projet comme ayant le droit d’écrire sur les fichiers placés en ligne. Après le téléchargement, OmegaT va demander les codes pour y accéder.

OmegaT capture d'écran n° 4

Saisir les paramètres d’accès individuels

OmegaT va maintenant afficher la liste des fichiers du projet. On remarque que les fichiers sources au sein du projet ne sont pas hébergés sur le site de gestion correspondant, mais plutôt dans un dépôt séparé qui est paramétré dans le fichier `omegat.project` explicité ci-dessus :

https://forge.chapril.org/brandelune/documentation_emacs/src/branch/main/omegat.project

La ligne `30` du fichier nous donne l’adresse du dépôt, que nous pouvons consulter directement :

https://git.sr.ht/~brandelune/emacs_documentation_repository/tree

Une fois les fichiers affichés dans l’interface d’OmegaT, il est possible de les traduire un par un, de valider la traduction avec `Entrée` pour que, une fois le temps paramétré d’enregistrement passé, OmegaT synchronise les contenus traduits. Le partenaire va récupérer ces contenus au moment où lui aussi se synchronisera. Les conflits éventuels (dans un cas où un même segment a été traduit de deux manières différentes entre deux synchronisations) sont affichés dans l’interface d’OmegaT à destination de l’utilisateur « conflictuel » par le biais d'une fenêtre où il est invité à choisir entre sa version et la version qui vient d’être proposée par la synchronisation.

OmegaT capture d'écran n° 5

Conflit lors de l’ajout du segment

Les mémoires de traduction dans OmegaT

Mémoire du projet

Parler des mémoires de traduction est essentiel pour comprendre leur fonction dans le logiciel. Tout d’abord, OmegaT crée par défaut une mémoire de traduction par projet. L’utilisateur n’a jamais besoin de créer une mémoire et de l’associer à un projet. Un projet OmegaT **est une mémoire de traduction**, qui est au coeur de ce dernier. Elle est alimentée par le travail du traducteur et, en mode multiposte, par les traductions synchronisées des autres participants au projet. Elle est aussi, comme nous l’avons écrit plus haut, située dans le dossier `omegat/` :

https://forge.chapril.org/brandelune/documentation_emacs/src/branch/main/omegat

Toutes les mémoires utilisées par OmegaT sont au format de la norme TMX. Ce format permet l’interopérabilité avec d’autres logiciels de TAO.

Mémoires auxiliaires

Un projet OmegaT est une hiérarchie de fichiers dans laquelle on trouve, au même niveau que les dossiers `omegat/`, `source/`, `glossary/`, un dossier `tm/` ayant pour vocation de recevoir des mémoires de référence (par principe au format `TMX`, mais également dans les autres formats bilingues pris en charge par OmegaT : `XLIFF`, `PO`, etc.). Ce dossier peut être divisé en sous-dossiers pour mieux gérer ces références. Certains d'entre eux ont des fonctions particulières que le traducteur pourra utiliser librement :

  • `tm/auto/` va contenir les mémoires que le traducteur veut propager automatiquement dans le projet de traduction, comme s’il s’agissait de la mémoire par défaut du projet ;
  • `tm/enforce/` va contenir des mémoires qui ont la priorité sur les contenus déjà enregistrés dans le projet. Les nouveaux contenus vont donc écraser les contenus déjà enregistrés dans la mémoire du projet ;
  • `tm/mt/` va contenir des mémoires qui sont issues de systèmes de traduction automatique, auxquels le traducteur doit particulièrement faire attention. Ces contenus seront affichés sur fond rouge lorsqu’ils sont insérés dans un segment ;
  • `tm/penalty-010/` va contenir des mémoires dont le pourcentage de correspondance sera pénalisé du nombre donné après le tiret (`10 %` ici) ;
  • `tm/tmx2source/` va contenir des mémoires qui proviennent d’une traduction du document dans une autre langue cible et va permettre au traducteur de voir la traduction dans l’autre langue cible directement sous le segment à traduire.

Il suffit de copier une mémoire dans le dossier `tm/` pour qu’elle soit immédiatement prise en charge dans le projet et, de la même manière, il suffit de la retirer du dossier pour que ses contenus ne soient plus référencés.

Mémoires à partager

À chaque fois que l’utilisateur crée les documents cibles, OmegaT va générer trois fichiers `TMX` qui contiennent *exclusivement* les segments traduits des fichiers source en cours de traduction, et donc *jamais* l’intégralité du contenu de la mémoire globale du projet. Ces trois fichiers ont les spécificités suivantes :

  • `[nom du projet]-omegat.tmx`, qui contient les traductions accompagnées des balises utilisées en interne par OmegaT pour utilisation dans d’autres projets OmegaT ;
  • `[nom du projet]-level1.tmx`, qui contient des données `TMX 1.4b level 1`, c’est à dire exclusivement les contenus textuels des traductions, sans balises ;
  • `[nom du projet]-level2.tmx`, qui contient des données `TMX 1.4b level1 2`, c’est-à-dire les contenus textuels des traductions, avec les balises dans leur syntaxe définie par le standard `TMX`.

https://www.gala-global.org/tmx-14b#SectionIntroduction

Ces mémoires peuvent être partagées avec d’autres utilisateurs, être stockées pour référence ultérieure, etc.

Glossaires

En parallèle des mémoires de traduction, OmegaT utilise lui aussi des glossaires. Au sein du dossier `glossary/` dans le projet partagé, chaque membre de l’équipe de traduction peut ajouter son ou ses propres glossaires. Il s'agit d'un fichier texte simple au format `TSV` (Tab Separated Values) encodé en `UTF-8`.

Pour en exploiter un, l’utilisateur doit simplement créer un fichier texte (avec l’extension `.txt`). À l’intérieur, s’il veut entrer ou ajouter un nouveau terme, voici les éléments (séparés par des tabulations) qu’il doit prendre en compte :

  • Le terme source (ex. : *and so on*) ;
  • Le terme cible (ex. : *et ainsi de suite*) ;
  • Un commentaire (ex. : *expression idiomatique à conserver*).

OmegaT capture d'écran n° 6

Glossaire ouvert dans un éditeur de texte

On peut accéder directement aux glossaires par deux moyens :

  • Soit se rendre dans « Projet » > « Accéder au contenu du projet » > « Glossaire en écriture » ;
  • Soit cliquer sur la roue dentée en haut à droite de la fenêtre de Glossaire (si celle-ci est ouverte lors de la traduction).

Les modifications apportées sont immédiatement prises en compte au sein du projet dès l’enregistrement des modifications dans l’éditeur de texte.

L’interface d’OmegaT permet d’ajouter directement des termes sans avoir à utiliser d’éditeur de texte avec le menu « Edition > Créer une entrée de glossaire ». Ces entrées sont ajoutées au glossaire en écriture du projet qui sera synchronisé dans le projet multiposte.

OmegaT capture d'écran n° 7

Comment s’affichent les glossaires dans OmegaT

Communication entre les membres du projet avec les notes synchronisées

Les « Notes » dans OmegaT sont utiles à des fins variées ; l’une d’entre elles étant la relecture. Chacun peut rédiger une note attachée à un segment particulier pour donner des indications diverses sur la correction à apporter, ou des remarques/conseils en lien avec le glossaire ou la cohérence de la traduction. Il s’agit de l’outil de base pour les relecteurs.

OmegaT capture d'écran n° 8

Fenêtre « Notes » qui indique la note associée au segment courant

Les notes d’OmegaT sont des éléments du standard `TMX` :

https://www.gala-global.org/tmx-14b#note

Le contenu des notes est donc synchronisé dans un projet multiposte et permet une communication entre les partenaires.

Via le menu « Affichage », il est possible de mettre en surbrillance des segments associés à des notes avec l’option « Marquer les segments annotés » (qui sont, par défaut, colorisés en bleu clair). Dans la fenêtre principale de traduction, ces segments sont maintenant clairement mis en valeur :

OmegaT Screenshot number 9

Les segments annotés parmi les segments traduits

Le contenu des notes peut faire partie d’une recherche pour afficher les segments concernés. Il est ainsi possible de ne chercher que les segments qui sont associés à des notes et de travailler en particulier sur ceux-ci.

Outils de contrôle de qualité

Il existe de nombreuses fonctions de contrôle de qualité et de relecture dans OmegaT. D’autres articles en font déjà état :

Rôles en projet multiposte

Un projet multiposte permet de diviser les tâches entre membres du projet.

Chaque partenaire est identifié par le nom qu’il a enregistré dans les paramètres d’OmegaT. Le nom d'utilisateur sera enregistré dans chaque segment de la mémoire `TMX`, soit en tant que personne qui a créé le segment, soit en tant que personne qui a modifié le segment avec un code date-heure.

https://forge.chapril.org/brandelune/documentation_emacs/src/branch/main/omegat/project_save.tmx#L43

OmegaT n’offre pas de fonctions d’assignation de rôle, mais offre suffisamment de fonctions clairement identifiées pour que les membres d’un projet puissent se diviser les tâches. Par exemple, on peut avoir :

  • Une personne qui peut effectuer la traduction d’un fichier ;
  • Une autre personne qui va relire la traduction, éventuellement avec seulement quelques dizaines de minutes de décalages ;
  • Une troisième personne qui peut effectuer des modifications globales d’homogénéisation des contenus (lexique, références, etc.) ;
  • Une quatrième qui peut générer les fichiers sources et en faire une relecture dans le contexte du format final, pour ensuite reporter des modifications dans le projet.

La fonction de recherche est extrêmement puissante et permet d’effectuer des recherches sur les noms, les dates, les contenus (avec ou sans expressions régulières), que ce soit en source ou en cible. Il est donc facile d’identifier les segments traduits par un membre entre deux instants donnés.

L’interface de recherche permet de filtrer les segments trouvés pour imposer à OmegaT de n’afficher que ces derniers dans l’éditeur.

Pour conclure

Cet article a permis de présenter les fonctions multipostes qui font d’OmegaT un outil de premier plan pour travailler sur des projets de traduction complexes. La synchronisation permise par l’utilisation de sites de développement collaboratif offre à l’utilisateur (et à l’équipe de traduction en général) la possibilité de disposer de tous les éléments d’un projet et de les mettre à jour continuellement. Les mémoires de traduction, ainsi synchronisées, sont au cœur de ce qui fait la force d’OmegaT dans un projet partagé multiposte. Couplée aux glossaires partagés, aux notes et aux autres outils de relecture, la traduction se révèle facilitée, de même que les tâches de vérification des contenus.

Détails

Date de publication
10 mai 2022
Langue
  • anglais
  • français
Catégorie EMT
  • Technologies de la traduction