LinuxFR
Dans le monde de la traduction professionnelle, vous savez, les gens qui vous produisent des notices tellement bien écrites que, si vous avez le choix, vous préférez les lire en anglais, eh bien dans ce monde-là, il existe un outil intéressant (en fait, il y en a plusieurs, mais l'article se concentre sur l'un d'eux) : la mémoire de traduction.

Contrairement à ce que son nom pourrait suggérer, il s'agit bien un logiciel. Celui-ci permet aux traducteurs d'enregistrer au format TMX, un format XML standardisé et ouvert, la concordance entre un segment dans une langue source et un segment dans une langue cible.

Décrit ainsi, cela ne semble pas vraiment intéressant ? Vous vous demandez peut-être ce que cela apporte par rapport aux bibliothèques Gettext (NdM : voir les entrées Fuzzy ) ? Vous ne voyez pas en quoi cela aide un traducteur ?

Eh bien, lisez le reste de l'article.

Le système que je propose, Mémoires Libres, est utilisable dès à présent, il n'attend que des contributeurs et c'est le but de cette dépêche que d'en trouver. Bien sûr, je vais aussi contacter les listes de diffusion liées à la traduction de logiciels libres. N'hésitez pas à critiquer le projet, que ce soit au niveau du site Web, de son organisation ou autre chose, ça lui permettra d'avancer.

NdM : KBabel et POedit disposent aussi d'outils de recherche dans des dictionnaires de chaînes traduites.

liens

Mémoires libres [fr] http://memoireslibres.tuxfamily.org
Pour contribuer à mémoires libres [fr] http://memoireslibres.tuxfamily.org/HTML/contribuer.html
OmegaT (GPL) [fr] http://www.omegat.org/fr/omegat.html

2ème partie

La mémoire de traduction est une interface qui enregistre dans un fichier chacune des correspondances que l'utilisateur établie lors de la traduction. La mémoire inscrit dans un fichier qu'un segment dans telle langue correspond à tel segment dans une autre langue. La segmentation, c'est-à-dire le découpage du texte en segments, se fait selon des règles définies par le traducteur, il peut découper le texte par phrase, par paragraphe ou même fixer des règles bien plus complexes.

En quoi cela aide-t-il le traducteur ? Lors de la traduction de son texte, la mémoire enregistre chaque concordance dans un fichier TMX et à chaque fois que le traducteur aborde un nouveau segment, la mémoire regarde dans les fichiers TMX s'il existe des traductions similaires, elle précise (à l'aide d'un taux) le degré de similitude entre les segments sources. Le traducteur sait donc comment il a traduit le (ou les) segment(s) similaire(s) et connaît les termes ou la tournure de phrase utilisés précédemment et la typographie employée.

Cependant, un traducteur, en particulier dans le monde du libre, ne travaille pas seul et l'un des intérêts des mémoires de traduction, c'est qu'elles permettent à une ou plusieurs équipes de traducteurs de collaborer. Ainsi, la mémoire de traduction conserve les choix de traduction (typographie, la phraséologie, la terminologie, les options, unités de mesure et sigles par exemple) dans les fichiers TMX et fournit un moyen de les partager au sein des équipes de traduction.

Un autre intérê des mémoires de traduction est l'accumulation des fichiers TMX afin d'avoir accès lors de la traduction à un large panel de concordances. Par le biais d'un dépôt entreposant les fichiers TMX, le traducteur (ou l'équipe de traducteurs) possède un stock de concordances qui lui permet, à chaque fois qu'il aborde un nouveau projet (que ce soit un logiciel, une documentation, un site Web), de ne pas retraduire mais au contraire de s'inspirer de ce qui a déjà été fait.

J'espère qu'à ce stade, vous entrevoyez les possibilités dans le monde du logiciel libre. Il existe deux mémoires de traduction libres, à ma connaissance, l'une est OmegaT?, un logiciel en Java (fonctionnant avec IcedTea), l'autre étant Lokalize (anciennement Kaider). OmegaT? est celui que je connais le mieux, étant donné qu'il existe depuis quelques années et l'ayant déjà utilisé. C'est un logiciel stable, pratique et dont l'interface est plutôt simple lorsque le concept de mémoire de traduction est connu. C'est un logiciel à part entière (certaines mémoires de traduction sont intégrées dans l'interface de Word), il permet d'importer plusieurs fichiers TMX à la fois, de ne modifier que les caractères du texte et non sa mise en page, de faire une couche d'abstraction entre les formats de fichier à traduire et le fichier TMX par le biais d'un système de filtre. Cela permet d'utiliser ses fichiers TMX avec divers formats et donc une meilleure réutilisation de celles-ci.

Concernant Lokalize, je ne l'ai pas encore testé, celui-ci n'étant pas encore en version stable à ma connaissance, il semble cependant prometteur.

Maintenant que vous connaissez un peu les concepts, voyons l'application que je propose.
L'idée est d'avoir un système qui permette de partager et de gérer les fichiers TMX libres. Les problèmes sont multiples, licences différentes (la traduction d'un document devant avoir la même licence que le document source), gestion des contextes (une traduction n'ayant de sens que dans un certain contexte, un autre contexte aurait possiblement entraîné une autre traduction), gestion des langues bien-sûr :), et, évidemment, tous les problèmes liés à la gestion d'une communauté, communication, rapport d'erreurs et demande. J'ai donc mis en place un site afin de présenter le projet, un dépôt Subversion pour gérer les fichiers TMX et le gestionnaire de tâches Flyspray, il y a aussi des listes de diffusion.

Le format TMX et les mémoires de traduction ne gérant pas encore d'elles-mêmes la contextualisation des segments (c'est-à-dire un système de balises qui permettrait par exemple d'indiquer : ce segment a pour contexte la traduction de l'interface d'un navigateur Web), il me fallait penser à une solution dans mon coin et rapporter ce problème en amont en espérant qu'il soit pris en considération. Une interface PHP/Python/base de données avec une gestion des balises pourrait résoudre le problème mais préférant avoir quelque chose de rapidement utilisable (mes compétences en développement ne sont que naissantes), j'ai simplement crée un système de dossiers pour trier les fichiers TMX par domaine puis par projet. Ainsi un traducteur pourra facilement retrouver tous les fichiers TMX liés à un même domaine, il devra en revanche faire davantage d'efforts pour trouver les mémoires d'un même projet (KDE, GNOME).

Les objectifs de ce projet sont divers et ambitieux, tout d'abord aider la traduction des logiciels libres afin qu'elle soit plus rapide et permettre d'harmoniser les traductions entre les divers projets ; arrêter de voir sur les listes de diffusion des traducteurs de logiciels libres toujours les mêmes questions sur des termes, typographies et autres questions que les mémoires de traduction résoudraient naturellement. Sur le long terme, donner la possibilité aux distributions de choisir leur traduction, par le biais d'une gestion poussée des fichiers TMX, permettre à différents projets, tels que GNOME et KDE, d'harmoniser leurs traductions. Il est même possible qu'un jour des traductions soient l'objet de recommandations par Freedesktop, ceci afin d'améliorer l'accessibilité.
Il n'y a pas de commentaire sur cette page. [Afficher commentaires/formulaire]