Table des matières

, , ,

international-globe.jpg

Logiciels de traduction : Tux devient polyglotte

Cette page a pour but de recenser

  1. les techniques de "localisation" d'un logiciel (sa traduction et l'affichage de cette traduction lors du lancement du logiciel)
  2. les logiciels de traduction fonctionnant sur Ubuntu ainsi que les outils à la disposition du linguiste.

En complément, on pourra consulter cette page d'aide à la traduction qui liste des ressources (hors logiciels) utiles aux traducteurs.

À tout seigneur tout honneur : Une rapide introduction à la traduction d’Ubuntu (guide d'utilisation de l'outil de traduction en ligne Launchpad).

LOCALISATION - Format et extensions des fichiers utilisés dans le domaine de la traduction

Avant toute chose, il est fortement conseillé de se familiariser avec les formats et extensions utilisés dans le domaine de la traduction.

Plutôt que de réinventer le fil à couper le beurre, veuillez consultez la note de bas de page « Liste des logiciels informatiques et formats de fichiers couramment utilisés dans la gestion documentaire »1) , dont la documentation wiki « Équipe de traduction : Les fichiers PO et POT » fait partie. — source : openSUSE France.

Sous linux, l'utilitaire de traduction dominant pour un logiciel est gnu gettext. Il est compatible avec la plupart des langages, qui savent l'appeler. Il permet à un logiciel d'appeler une traduction en sa basant sur la langue du système. Par exemple, si la langue du système est l'italien, c'est la traduction italienne qui sera automatiquement affichée (si elle existe).

LOCALISATION - Exemple simple de traduction

En théorie, tout peut être géré à la main (sans outils), ce qui suffit pour de petits projets, ou permet de mieux comprendre le fonctionnement sous-jacent à ces outils.

Par convention, le texte à traduire est en Anglais, et les fichiers de traduction sont dans les langues cibles. Si le fichier de traduction manque pour une langue, c'est la version en anglais qui sera affichée.

Exemple avec un petit programme en bash appelé test.sh :

#!/bin/bash
#=====================================
# Définir emplacement des traductions
#=====================================
TEXTDOMAIN=test				# Nom du programme ET des fichiers de traduction
TEXTDOMAINDIR="/usr/share/locale"	# path des fichiers de traduction - pour des test, on peut définir un autre répertoire
 
# Programme
echo $"hello, world"	# c'est le $"" qui indique à bash et à gnu gettext que le contenu entre les "" est à traduire
echo $"How do you do ?"

Fichier de traduction en français test.fr.po :

msgid ""
msgstr ""
"Project-Id-Version: test\n"
"Report-Msgid-Bugs-To: FULL NAME <cage.christophe@orange.fr>\n"
"PO-Revision-Date: 2020-04-24 10:10+0100\n"
"Language-Team: xx\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: \n"
"POT-Creation-Date: \n"
"Last-Translator: \n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"Language: fr\n"

msgid "hello, world"
msgstr "Bonjour, le monde"

msgid "How do you do ?"
msgstr "Comment allez vous ?"

Les lignes msgid doivent correspondre au détail prêt à la ligne $"xx" dans le programme, sinon la traduction ne fonctionne pas.

Une fois le fichier .po créé, on peut créer ("compiler") le fichier.mo, qui sera le VRAI fichier de traduction. Et on en profite pour le placer au bon endroit (celui qu'on a défini au début du programme test.sh pour les fichiers de traductions).

On se place dans le répertoire avec le fichier .po et on lance une commande du type :

sudo msgfmt test.fr.po -o /usr/share/locale/fr/LC_MESSAGES/test.mo

si on a un fichier de traduction en italien, ce sera :

sudo msgfmt test.it.po -o /usr/share/locale/it/LC_MESSAGES/test.mo

Les fichiers de traduction en .mo ont tous le même nom, c'est leur répertoire de langue qui change.

S'il n'existe pas encore, n'oubliez pas de créer le répertoire d'accueil des fichiers .mo (par exemple /usr/share/locale/fr/LC_MESSAGES). Si vous utilisez les répertoire officiels de traduction, cette création n'est pas nécessaire, ils existent normalement déjà.

Désormais, quand vous lancez test.sh, les textes du programme s'afficheront dans la langue d'installation de votre Ubuntu (ou linux) : en français, par exemple. Si aucun fichier de traduction correspondant à votre langue n'est trouvé, c'est la langue utilisée dans le programme qui s'affiche, donc normalement l'anglais.

Bien sur, les outils de traduction vous aident à automatiser de nombreuses étapes, et offrent des options non étudiées ici.

LOCALISATION - Manipulations des fichiers de traduction et de localisation

Convertisseurs de fichiers au format *.PO

Utilisez la commande :

msgfmt mon_fichier.po -o mon_fichier.mo

Et dans l'autre sens (un fichier au format *.MO vers un fichier au format *.PO) :

msgunfmt mon_fichier.mo >mon_fichier.po

Convertisseurs de fichiers au format *.TS

Pour toutes les applications qui utilisent l'interpréteur QT, le format des fichiers de langues est le *.TS3).
Pour pouvoir être lu par les logiciels concernés il faut les convertir au format *.QM.
Ce que vous pouvez faire avec la commande :

lrelease file.ts

Mettre à jour un fichier au format *.PO

Il se peut que de nouvelle ligne soit apparues dans votre application à traduire, il peut donc être utile de fusionner les nouvelles lignes avec celle déjà traduites.
Ceci peut se faire avec POedit4).
⇒ Allez dans Catalogue → Mettre à jour depuis les sources.
Avant cela il aura fallu préciser le chemin vers les sources, toujours dans Catalogue → Propriétés… dans l'onglet Chemin des sources. Si vous n'avez pas le dossier des sources vous pouvez mettre à jour à partir du fichier pot, Catalogue → Mettre à jour depuis un fichier pot….

Extraire les lignes à traduire des sources

Pour extraire les lignes à traduire des sources d'un logiciel vous pouvez utiliser la commande xgettext :

xgettext -o sortie.pot -a *.cpp --from-code UTF-8

Le fichier sortie.pot sera votre modèle pour les langues dans lesquelles traduire. *.cpp désigne le type de fichier dans lesquelles extraire les lignes internationalisées.

LOCALISATION - Éditeurs de fichiers de traduction

Les outils en ligne

Ce sont des outils propriétaires (non libres) gratuits. Les qualités se sont sans cesse améliorées, et sont (en 2020) plutôt bonnes.

La traduction professionnelle

Le marché de la traduction assistée par ordinateur (TAO) est dominé par le logiciel SDL Trados Studio, qui n'est pas disponible pour les systèmes Linux. La seule solution pour l'utiliser sous Ubuntu est d’exécuter Windows dans une machine virtuelle. Cependant, d'autres outils de TAO — libres comme propriétaires — sont proposés en version Linux.

Les outils professionnels libres

omegat_logo.jpg * Argos https://github.com/argosopentech/argos-translate

Les logiciels propriétaires et commerciaux

Outils connexes de traduction

Voici une liste non exhaustive de quelques outils de traduction dans divers domaines d'activité :

Outils et ressources du traducteur, linguiste

Dictionnaires et logiciels d'apprentissage des langues

Voir la page consacrée aux dictionnaires et encyclopédies dans la documentation.

Voir aussi la page consacrée à l'apprentissage des langues dans la documentation.

La configuration du clavier

Reportez-vous à la page qui traite de la configuration du clavier et ses pages connexes.

Les langues

Voir aussi


Auteur : inconnu.
Dernière modification : 28 octobre 2017.
Contributeurs : eagle08 : typos, liens connexes, Accessiweb, formatage du texte pour lecture transversale.

1) , 2) , 4) , 5)
Liste des logiciels informatiques et formats de fichiers couramment utilisés dans la gestion documentaire :
Les termes rencontrés dans le domaine de la traduction :
- TM ou Mémoire de traduction.
- Glossaire des termes de traductique et de l'informatique.
Les formats rencontrés dans le domaine de la traduction
- le format *.MO : fichiers de traduction Gettext.
- La documentation WIKI « Équipe de traduction : Les fichiers PO et POT » . — source : openSUSE France.
- le format *.QM : fichiers de l’interpréteur QT.
- le format *.TS : fichiers de l’interpréteur QT.
Les termes rencontrés dans le domaine de la traduction et de l'informatique :
- Glossaire des termes de traductique et de l'informatique.
3)
Liste des logiciels informatiques et formats de fichiers couramment utilisés dans la gestion documentaire :
Les termes rencontrés dans le domaine de la traduction :
- TM ou Mémoire de traduction.
- Glossaire des termes de traductique et de l'informatique.
Les formats rencontrés dans le domaine de la traduction
- le format *.MO : fichiers de traduction Gettext.
- La documentation wiki « Équipe de traduction : Les fichiers PO et POT » . — source : openSUSE France.
- le format *.QM : fichiers de l’interpréteur QT.
- le format *.TS : fichiers de l’interpréteur QT.
Les termes rencontrés dans le domaine de la traduction et de l'informatique :
- Glossaire des termes de traductique et de l'informatique.
6)
Source : Enquête 2015 sur les pratiques professionnelles des métiers de la traduction, Société française des traducteurs, 2015, p. 30