Cette page a pour but de recenser
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).
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).
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.
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
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
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….
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.
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.
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.
* Argos https://github.com/argosopentech/argos-translate
Voici une liste non exhaustive de quelques outils de traduction dans divers domaines d'activité :
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.
Reportez-vous à la page qui traite de la configuration du clavier et ses pages connexes.
Auteur : inconnu.
Dernière modification : 28 octobre 2017.
Contributeurs : eagle08 : typos, liens connexes, Accessiweb, formatage du texte pour lecture transversale.