# OmegaT

OmegaT est un outil de traduction assistée par ordinateur (TAO) écrit dans le langage de programmation Java. Il s’agit d’un logiciel libre dont le développement initial par Keith Godfrey en 2000 est aujourd’hui assuré par le projet OmegaT, un groupe de traducteurs et programmeurs indépendants. Son équipe de développement est dirigée par Aaron Madlon-Kay.
Conçu pour les traducteurs professionnels, OmegaT est un outil puissant proposant de nombreuses fonctionnalités avancées, notamment une segmentation personnalisable utilisant les expressions régulières, une mémoire de traduction avec extraction/insertion des correspondances partielles et propagation des correspondances, la recherche dans les glossaires et dictionnaires, la recherche dans les mémoires de traduction et dans les documents de référence ainsi qu’une vérification de l’orthographe incorporée basée sur l’utilisation des dictionnaires d’orthographe de Hunspell.
OmegaT fonctionne avec Java 8 sur Linux, MacOS, Microsoft Windows et Solaris. Le logiciel est disponible en 27 langues. D’après un sondage mené en 2010 auquel ont participé 458 traducteurs professionnels, 6 % d’entre eux utilisent OmegaT, soit autant d’utilisateurs que STAR Transit ou Across, un tiers de la part d’utilisation de Wordfast, Deja Vu et MemoQ, et un huitième de la part d’utilisation de Trados, le leader sur le marché.

## Histoire

En 2000, Keith Godfrey développe OmegaT. À l’origine, le logiciel est écrit en C++.
La première version publique qui sort en février 2001 est écrite en Java ; elle utilise un format propriétaire de mémoire de traduction, permet de traduire les fichiers texte non formatés ainsi que les fichiers HTML, et n’autorise qu’une segmentation en mode bloc (paragraphes au lieu de phrases).

## Développement et versions du logiciel

Le développement d’OmegaT est hébergé sur SourceForge ; il est réalisé par une équipe sous la conduite d’Aaron Madlon-Kay. Comme pour beaucoup de projets open source, les publications de nouvelles versions sont fréquentes. Elles comportent généralement quelques corrections de bogue et des mises à jour de fonctionnalités. La version « standard » est fournie avec une documentation complète, contrairement à la version la plus récente (« Latest ») qui intègre de nouvelles fonctionnalités mais dont la documentation n’est pas encore à jour. Les sources actuelles peuvent être téléchargées depuis le dépôt de code source sur Sourceforge.

## Comment travailler dans OmegaT

OmegaT gère un travail de traduction comme un projet, une hiérarchie de dossiers avec des noms spécifiques. La première étape consiste à créer un projet OmegaT. Ce projet contient des sous-dossiers prédéfinis et destinés à stocker différents fichiers. L’utilisateur (ici traducteur) copie les documents source dans le sous-dossier /source/ (ou ses composants). OmegaT analyse les documents source, segmente le contenu à traduire et l’affiche dans un volet d’édition sous forme de « segments » individuels pour la traduction, un segment à la fois.
À la fin du processus de traduction, On peut demander à OmegaT de générer les versions (partiellement ou non) traduites dans le sous-dossier /target/.
Le traducteur peut en outre placer d’éventuels documents (fichiers) de référence dans les sous-dossiers prédéfinis, d’autres dossiers nommés incluent ceux pour la consultation automatique au sein du programme : /tm/ pour les paires de traduction existantes au format .tmx, /tm/auto/ pour la traduction automatique des correspondances à 100 %, /glossary/ pour les glossaires, /dictionary/ pour StarDict (et dictionnaires .tbx).
Au cours de la traduction, OmegaT examine les mémoires de traduction et affiche les analogies et les correspondances partielles dans le volet Correspondances. Le traducteur peut les reprendre dans le volet d’édition via un raccourci clavier.
Lorsque l’utilisateur va traduire un segment dans le volet Éditeur, OmegaT recherche automatiquement dans les fichiers .tmx de la hiérarchie /tm/ les paires de traductions précédentes avec des phrases sources similaires et les affiche dans le volet Correspondances floues pour insertion dans le volet Éditeur avec un raccourci clavier. Les volets Glossaire et Dictionnaire fournissent des fonctions de recherche automatique similaires pour tous les glossaires et dictionnaires dans les dossiers nommés correspondants dans le projet. Le volet de traduction automatique en option affiche les traductions automatiques de Google Translate et de services similaires.
Finalement, OmegaT crée les fichiers cible et exporte les unités de traduction dans la mémoire de traduction du projet. Lorsque l’utilisateur quitte un segment, OmegaT ajoute normalement d’abord la paire source-cible à sa base de données en mémoire. Il enregistre ensuite cette base de données sur disque au format Translation Memory eXchange (.tmx) pour une utilisation un autre jour, dans d’autres projets, par d’autres traducteurs et même avec d’autres outils de TAO. Aucun changement, assez naturellement, ne signifie pas une telle mise à jour. La version 3.1 a ajouté un paramètre pour bloquer les cibles égales à leurs sources, un bordereau commun, ainsi qu’un raccourci clavier pour le remplacer : nombres, code source dans les manuels de programmation, etc.
À tout moment, l’utilisateur peut créer des versions partiellement traduites des fichiers sources. Notez qu’OmegaT copie les segments source textuellement s’ils n’ont pas encore été traduits. Avant de le faire, cependant, il est conseillé à l’utilisateur d’utiliser la commande de menu Valider pour vérifier la balise et d’autres erreurs. La version 3.1 a ajouté une commande de menu (et un raccourci clavier) pour limiter l’opération au fichier actuel, pour une livraison partielle ou une mise à jour rapide, par exemple.

## Fonctions

OmegaT propose toutes les fonctions standard d’un outil de TAO : création, importation et exportation de mémoires de traduction, correspondances partielles à partir des mémoires de traduction, recherche dans les glossaires, de même que dans les documents de référence et dans les concordances.
OmegaT intègre également toute une série de fonctionnalités pouvant faire défaut dans d’autres outils de TAO courants :
* Les projets multifichiers et multiformats sont pris en charge, ainsi que l’interrogation simultanée de différentes mémoires de traduction, glossaires et dictionnaires (en fonction de la mémoire disponible sur l’ordinateur de travail).
* L’extension et l’encodage des fichiers sont personnalisables pour les types de fichiers pris en charge. Pour différents types de document, il est possible de spécifier les éléments à traduire (inclure ou non les repères de texte des fichiers OpenOffice.org Writer, les notes de bas de page des fichiers Microsoft Office 2007/2010, les textes alternatifs (attributs ALT) dans les fichiers HTML, etc.) et l’affichage des éléments non standard contenus dans les mémoires de traduction externes est également définissable.
* Les règles de segmentation d’OmegaT sont basées sur les expressions régulières. La segmentation peut être configurée en fonction de la langue ou du format de fichier ; les règles de segmentation consécutives héritent les valeurs de l’autre.
* La conception du volet d’édition est conviviale et permet d’accéder directement au segment non traduit suivant ou de naviguer dans l’historique. On y retrouve les mêmes fonctions que dans un éditeur de texte moderne : annuler/rétablir la dernière action, copier/coller et basculer la casse. L’affichage du texte source peut être activé pour tous les segments préalablement traduits dans le fichier. La vérification orthographique lors de la frappe utilise les dictionnaires Hunspell et la correction interactive fonctionne à l’aide de la souris.
* L’insertion des correspondances partielles s’effectue via les raccourcis clavier ou à l’aide de la souris (correspondances facilement identifiables grâce aux couleurs d’affichage). Des informations concernant l’auteur, la date et l’heure de la traduction peuvent être affichées pour le segment en cours d’édition ou pour tous les segments traduits. Les termes identifiés dans les glossaires et dictionnaires peuvent être insérés par glisser-déposer dans la ligne d’édition active. En outre, il est possible de définir le contenu de la ligne d’édition des segments non traduits en y insérant le texte source ou la meilleure correspondance partielle identifiée).
* Le volet de recherche permet d’effectuer des recherches dans le texte source des fichiers du projet en cours, de même que dans d’autres mémoires de traduction et dans les documents de référence. Les recherches peuvent tenir compte de la casse et utiliser des expressions régulières. Un double-clic sur un résultat de recherche renvoie au segment concerné dans la fenêtre d’édition.
* Une fonction de validation des balises permet de détecter et de corriger d’éventuelles erreurs de balise en fin de traduction. Des statistiques sont effectuées automatiquement sur les fichiers et mémoires de traduction ; elles sont mises à jour en cours de traduction pour permettre une meilleure évaluation de la progression du projet.
* La fonction de traduction automatique permet d’interroger les moteurs de traduction automatique Apertium, Belazar et Google Translate ; les propositions correspondantes sont affichées dans un volet séparé.
* L’agencement de l’environnement d’édition d’OmegaT est flexible : il est possible d’agrandir et de réduire les différents volets, de les déplacer et de définir leur disposition ainsi que de les organiser sous forme d’onglets.
* Au lancement de l’application, avant d’ouvrir un projet, un tutoriel de prise en main récapitule les procédures et fonctions principales dans le volet intitulé « Pour commencer tout de suite », affiché à la place de l’éditeur.

## Formats de document pris en charge

OmegaT accepte de nombreux types de fichiers qu’il permet de traduire directement et qu’il détermine à l’aide des extensions de fichier respectives. Il est possible remplacer les paramètres par défaut et de personnaliser la gestion des extensions ainsi que l’encodage préféré.
Pareillement aux autres outils de TAO commerciaux, OmegaT convertit les formatages des documents en balises.

### Formats avec prise en charge directe

Synopsis des formats de fichiers acceptés par OmegaT :
| Formats de fichier | Masques d’extension de fichier |
| Formats de documentation ||
| Texte brut (tout format de texte pouvant être traité par Java) dans divers encodages, dont Unicode | .txt, .txt1, .txt2, .utf8 |
| HTML/XHTML | .html, .htm, .xhtml, .xht |
| StarOffice, OpenOffice.org et OpenDocument (ODF) | .sx?, .st?, .od?, .ot? |
| Microsoft Office Open XML | .doc?, .xls?, .ppt? |
| Help & Manual | .xml, .hmxp |
| HTML Help Compiler | .hhc, .hhk |
| LaTeX | .tex, .latex |
| DokuWiki | .txt |
| CopyFlow Gold pour QuarkXPress | .tag, .xtg |
| DocBook | .xml, .dbk |
| Formats de fichiers de ressources pour la localisation ||
| Ressources Android | .xml |
| Ressources Java properties | .properties |
| Typo3 LocManager | .xml |
| Mozilla DTD | .dtd |
| Ressources Windows | .rc |
| Localisation WiX | .wxl |
| ResX | .resx |
| Textes de structure « Clé=Valeur » | .ini, .lng |
| Formats de fichiers multilingues pour la localisation ||
| XLIFF | .xlf, .sdlxliff |
| Portable Object (PO) | .po, .pot |
| Autres formats ||
| Sous-titres SubRip | .srt |
| Images SVG | .svg |

### Formats sans prise en charge directe

Deux méthodes permettent de contourner la non-prise en charge de certains formats avec OmegaT :
* enregistrer l’extension de fichier du format concerné dans le filtre de fichier préféré (généralement tout format texte brut),
* convertir le format dans un format directement pris en charge.

#### Prise en charge via XLIFF

L’application Rainbow du logiciel intégré Okapi permet de convertir certains formats de fichier en fichiers XLIFF pris en charge par OmegaT. Rainbow peut également créer des projets OmegaT à partir des documents générés.

#### Prise en charge via Gettext PO

OmegaT prend en charge les fichiers Gettext Portable Object (PO). Certains formats peuvent être convertis au préalable : le programme po4a de Debian Linux peut convertir les formats LaTeX, TeX et POD ; le Translate Toolkit peut convertir les fichiers .properties et dtd de Mozilla, les fichiers CSV, certains fichiers .ts de Qt ainsi que certains fichiers XLIFF.

#### Prise en charge via Office Open XML ou ODF

Les documents Microsoft Word, Excel et PowerPoint des versions 97 à 2003 peuvent être convertis au préalable en format Office Open XML (Microsoft Office 2007/2010) ou ODF (OpenOffice.org). La conversion n’est pas tout à fait sans perte et peut conduire à une perte de formatage.

## Mémoires et glossaires : formats pris en charge
### Mémoires de traduction au format TMX

La mémoire de traduction interne d’OmegaT travaille à l’arrière-plan et effectue des sauvegardes systématiques du projet en cours, autrement dit, toute unité de traduction nouvellement traduite ou modifiée est exportée automatiquement et ajoutée à trois fichiers TMX : une mémoire TMX native OmegaT, une mémoire TMX niveau 1 et une mémoire TMX niveau 2.
* Le fichier TMX natif est destiné aux projets créés avec OmegaT.
* Le fichier TMX niveau 1 préserve les informations textuelles et est compatible avec les outils de TAO prenant en charge les TMX niveaux 1 et 2.
* Le fichier TMX niveau 2 préserve les informations textuelles ainsi que les repères de formatage et est compatible avec les outils de TAO prenant en charge les TMX niveau 2.
Dans les fichiers niveau 2 exportés, les balises internes d’OmegaT sont encapsulées dans des balises TMX permettant de générer des correspondances avec les outils de TAO prenant en charge les TMX niveau 2. Les tests exécutés avec Trados et SDLX ont été concluants.
OmegaT assure l’importation des fichiers niveaux 1 et 2 du format TMX jusqu’à la version 1.4b. La conversion des balises TMX niveau 2 de la mémoire de traduction externe étant également prise en charge, les fichiers niveau 2 importés génèrent des correspondances de même niveau. Les tests exécutés avec des fichiers TMX créés par Transit ont été concluants.

### Glossaires

OmegaT lit les glossaires existant sous forme de fichiers texte brut délimités par des tabulations (encodage UTF-8 recommandé). Un glossaire est une liste de termes contenue dans un fichier structuré en trois colonnes : terme source, terme cible et commentaire optionnel. Ce type de document peut facilement être créé à l’aide d’un éditeur de texte.
Les fichiers au format CSV standard respectant cette structure sont également pris en charge, de même que les fichiers TBX.

## Participation de la communauté des utilisateurs
### Le projet OmegaT

Le projet OmegaT désigne un groupe international de contributeurs bénévoles (développeurs, traducteurs-localisateurs et utilisateurs) dont l’objectif est de réaliser un produit répondant au mieux aux exigences des métiers de la traduction, par conséquent à la demande des traducteurs, en matière d’outils informatiques. Les utilisateurs sont appelés à participer à l’avancée du projet ; ils peuvent notamment apporter leur contribution par l’écriture d’un code ou par le biais d’utilitaires ou autres ressources complémentaires au produit principal.

### Localisation

L’interface utilisateur et la documentation d’OmegaT ont été traduites dans une trentaine de langues. Les tâches de localisation couvrent l’interface utilisateur, le tutoriel de prise en main « Pour commencer tout de suite », le manuel de l’utilisateur ainsi que le site Web. Les traducteurs bénévoles peuvent s’investir et apporter leur contribution en fonction de leurs compétences et du temps dont ils disposent. La distribution standard d’OmegaT comporte l’ensemble des fichiers de ressources traduites ainsi que toutes les traductions du manuel de l’utilisateur (ces dernières en fonction de leur avancement).

### Utilitaires complémentaires

L’une des facettes de la communauté des utilisateurs d’OmegaT est son aptitude à réagir aux carences du logiciel par la réalisation de macros, scripts et programmes fournissant des fonctionnalités complémentaires – nombre de ces fonctions ont d’ailleurs depuis été intégrées à OmegaT. Parmi les contributions passées : une macro OpenOffice.org exécutant une segmentation par phrase alors qu’OmegaT se limitait encore à une segmentation par paragraphes, un script de fusion de MT dédié à l’exploitation automatique des MT, et aussi des scripts ou autres solutions intégrant la vérification de l’orthographe au processus de traduction avec OmegaT.
Parmi les utilitaires complémentaires, on compte actuellement un utilitaire destiné à la conversion des fichiers TTX (Trados TagEditor), deux utilitaires d’alignement ainsi qu’un outil de traitement des balises en transposables.

## Logiciels basés sur OmegaT
### Autshumato Integrated Translation Environment

L’environnement de traduction intégré Autshumato fournit un outil de TAO, un outil d’alignement, un extracteur de fichiers PDF, un éditeur de fichiers TMX, une mémoire de traduction publique basée sur des données récupérées, ainsi qu’un gestionnaire de terminologie et un traducteur automatique. L’outil de TAO est basé sur OmegaT et fonctionne avec OpenOffice.org. Le développement est financé par le ministère des arts et de la culture de la République d’Afrique du Sud.

### Benten

Benten est une solution offrant un outil de TAO, un assistant de processus de traduction ainsi qu’un éditeur XLIFF (basé sur Eclipse). Le logiciel utilise le code d’OmegaT pour gérer le processus de concordance des MT. Il est en partie financé par le gouvernement japonais.

### Boltran

Boltran est un outil de TAO autonome qui copie les processus d’un projet OmegaT. Basé sur le code source d’OmegaT, Boltran peut traiter les mêmes contenus ; la gestion des glossaires et la fonction de concordance sont quasiment identiques à celles d’OmegaT. À l’heure actuelle, le seul serveur Boltran public est celui du site Web de développement. Cependant, il est théoriquement possible à quiconque de configurer un serveur Boltran public ou privé.

### OmegaT+

OmegaT+ est un outil de TAO basé sur OmegaT 1.4.5. Le fonctionnement d’OmegaT+ est identique à celui d’OmegaT, à l’exception des paquets de projet qui ne sont pas interchangeables.