Outils de traduction - 1e partie
Cette page est une annexe du Manuel du traducteur du projet GNU.
Les renseignements qui suivent sont essentiellement tirés de http://www.gnu.org/software/trans-coord/manual, et de l'expérience du groupe.
Le format PO
Les fichiers traduits en français ont l'extension « .fr.po ». Ce format sert à automatiser la mise à jour des traductions du site dans toutes les langues : un script sur le serveur www.gnu.org est exécuté plusieurs fois par jour pour transformer les fichiers .fr.po, .de.po, .it.po, .ar.po, etc., en pages HTML.
Les fichiers PO contiennent en alternance les paragraphes en anglais et leur traduction. Ces paragraphes sont appelés « chaînes ».
Chaque chaîne à traduire est annoncée par « msgid » ; la chaîne traduite est annoncée par « msgstr ». Les chaînes sont délimitées par des guillemets.
Voici à quoi ressemble une chaîne avant traduction :
msgid "Software Patents and Literary Patents" msgstr ""
et après traduction :
msgid "Software Patents and Literary Patents" msgstr "Brevets logiciels et brevets littéraires"
L'en-tête du fichier .fr.po contient des renseignements sur le document, la langue de traduction, les traducteurs et relecteurs, la date de dernière modification etc.
Le fichier non traduit a l'extension « .pot » (po template). Il est commun à toutes les langues et son en-tête ne contient pas tous ces renseignements. Pour le transformer en fichier .fr.po, il suffit de modifier l'en-tête et de le renommer. C'est tout. :-)
L'en-tête du fichier DOCUMENT.fr.po ressemble à ceci :
# French translation of http://www.gnu.org/SECTION/DOCUMENT.html # Copyright (C) 2012 Free Software Foundation, Inc. <-- date de première traduction # This file is distributed under the same license as the original article. # Jean Dupont <jean.dupont AT domaine.fr>, 2012. <-- traducteur # msgid "" msgstr "" "Project-Id-Version: DOCUMENT.html" "POT-Creation-Date: 2012-01-25 16:25-0300" "PO-Revision-Date: 2012-02-04 17:28+0100" "Last-Translator: Jean Dupont <jean.dupont AT domaine.fr>" "Language-Team: French <trad-gnu@april.org>" "MIME-Version: 1.0" "Content-Type: text/plain; charset=utf-8" "Content-Transfer-Encoding: 8bit"
Les fichiers DOCUMENT.fr.po et DOCUMENT.pot se trouvent dans le dossier : http://www.gnu.org/SECTION/po/
Traduire dans un éditeur de texte
Il est tout à fait possible de faire la traduction dans un simple éditeur de texte (de préférence configuré pour colorer les balises) en l'insérant entre les guillemets déjà présents dans le fichier non traduit, et dans ce cas il n'est pas absolument nécessaire de remplir les en-têtes. Ce sera fait à une étape ultérieure.
Il y a quelques précautions à prendre, cependant :
- utiliser l'encodage utf-8 (dans Windows/Notepad, il faut changer la configuration ; dans les systèmes GNU/Linux c'est la configuration par défaut),
- ne pas ajouter de retour à la ligne,
- et surtout ne jamais modifier la chaîne originale.
Pour visualiser les espaces insécables dans gedit, il faut activer le greffon ad hoc et le configurer :
- dans Édition > Préférences > onglet « Greffons », cocher « Indicateur d'espaces » ;
- sélectionner le greffon pour accéder à son menu « Préférences », et cocher « Indiquer les espaces insécables ».
Utiliser un éditeur de PO
Un éditeur de PO a beaucoup d'avantages, entre autres :
- la chaîne originale ne peut pas être modifiée,
- les paires chaîne à traduire/traduction sont présentées une par une (moins de risque d'erreur),
- l'éditeur de PO est capable de détecter certaines erreurs,
- il effectue le formatage final (sauf poedit, voir ci-dessous),
- il enregistre une fois pour toutes le profil du traducteur,
- il inscrit la date de modification et le nom du traducteur à l'enregistrement,
- il peut visualiser les espaces insécables, ce qui permet de les introduire directement au clavier (par exemple AltGr-espace avec le clavier France (Obsolète) Autre de Debian Squeeze),
- etc.
Voici quelques éditeurs de PO (https://www.gnu.org/software/trans-coord/manual/web-trans/html_node/PO-Editors.html) :
- GNU emacs en mode PO ;
- OmegaT (multiplateforme) : outil professionnel avec mémoire de traduction ;
- Poedit (multiplateforme) ; ce dernier est cependant temporairement à éviter tant qu'un léger bogue l'affectant au niveau du formatage des chaînes n'est pas corrigé dans les paquets disponibles ;
- GNOME Translation Editor (formerly Gtranslator) ;
- Lokalize, l'éditeur PO de KDE 4 ;
- po.vim, un plugin assez ancien pour l'éditeur Vim.
Mode d'emploi détaillé de Poedit :
Voir How to Translate Using PO Files, sur le site gnu.org.
Problèmes (résolus) rencontrés avec Gtranslator :
1. Il existe un raccourci clavier pour copier la chaîne originale dans la chaîne traduite. Dans certaines configurations, la barre d'espace active ce raccourci ; le clavier devient donc pratiquement inutilisable. Nous avons détecté ce problème avec
- Gtranslator 1.9.5 et Windows 7,
- Gtranslator 1.9.11 et les claviers France Autre de Debian Squeeze et Ubuntu Lucid, ou Français (variante) d'Ubuntu Precise (ça semble être le même clavier).
Il y a deux solutions sous Debian/Ubuntu :
- 1e solution - utiliser le clavier France (Obsolète) Autre ou Français (variante obsolète) ;
- 2e solution - reconfigurer le clavier France Autre ou Français (variante) avec les options suivantes :
- Touche sélectionnant le 3e niveau - Alt droite,
- Utiliser la barre d'espace pour insérer un espace insécable - espace insécable au 3e niveau.
Si vous avez une solution pour Windows, n'hésitez pas à l'ajouter ici.
2. Une ancienne version de Gtranslator (1.6.9) du dépôt Ubuntu Lucid main n'enregistre pas. On peut cependant installer une version plus récente non boguée à partir d'un dépôt PPA.
Traduction des chaînes répétitives
Certaines chaînes reviennent souvent en fin de fichier : il est inutile de les traduire puisque cette tâche répétitive a été automatisée grâce à un compendium.
« Copyright » ne se traduit pas. On recopie la chaîne telle quelle.
« Translator's credits » (à ajouter à la main) :
msgstr "" "Traduction : Jean Dupont<br /> Révision : <a " "href=\"mailto:trad-gnu@april.org\">trad-gnu@april.org</a>"
Chaînes ajoutées automatiquement grâce à un compendium :
msgstr "" "Veuillez envoyer les requêtes concernant la FSF et GNU à <<a href=" "\"mailto:gnu@gnu.org\">gnu@gnu.org</a>>. Il existe aussi <a href=\"/" "contact/\">d'autres moyens de contacter</a> la FSF. Les liens orphelins et " "autres corrections ou suggestions peuvent être signalés à <<a href=" "\"mailto:webmasters@gnu.org\">webmasters@gnu.org</a>>."
msgstr "" "Merci d'adresser vos commentaires sur les pages en français à <<a href=" "\"mailto:trad-gnu@april.org\">trad-gnu@april.org</a>>, et sur les " "traductions en général à <<a href=\"mailto:web-translators@gnu.org\">web-" "translators@gnu.org</a>>. Si vous souhaitez y contribuer, vous trouverez " "dans le <a href=\"/server/standards/README.translations.html\">guide de " "traduction</a> les infos nécessaires."
msgstr "" "Cette page peut être utilisée suivant les conditions de la licence <a rel=" "\"license\" href=\"http://creativecommons.org/licenses/by-nd/4.0/deed.fr" "\">Creative Commons attribution, pas de modification, 4.0 internationale " "(CC BY-ND 4.0)</a>."
msgstr "Dernière mise à jour :"
Remarque : " " est l'entité HTML correspondant à l'espace fine insécable. Dans le compendium, ce caractère a en fait été introduit directement au clavier. On peut le visualiser dans les éditeurs de texte ou de PO.
Diff
Pour faciliter la relecture, il est souvent utile de faire un « fichier de différences », ou « diff » , entre la version initiale et la version modifiée. Pour qu'un diff soit vraiment utile, il faut que le texte soit formaté de manière standard, par exemple par Gtranslator, que les modifications n'entraînent pas un reformatage trop poussé.
Il existe de nombreuses méthodes pour générer de tels fichiers, soit autonomes, soit par exemple intégrées aux gestionnaires CVS.
Une des possibilités :
$ diff -u DOCUMENT.fr.po DOCUMENT-1.fr.po > DOCUMENT-1.fr.diff
Si les chaînes sont très longues et les modifications importantes, il peut être utile de les ajouter dans un éditeur de texte ordinaire sans changer la place des guillemets délimitant les lignes. Cela détruira le formatage mais les retours à la ligne se feront toujours au même endroit du texte. Le diff sera ainsi plus lisible. Une fois le diff créé, le fichier modifié sera reformaté avec un éditeur de PO (sauf Poedit, voir plus haut), ou au cours de la validation par GNUnited Nations.
On peut aussi entourer les modifs de deux astérisques, dans le diff. Il suffit alors d'une recherche sur * pour les trouver (il n'y a pratiquement jamais d'astérisque dans le texte à traduire).
Notes de traduction
Il est beaucoup plus facile d'ajouter les notes dans un éditeur de PO que dans un éditeur de texte ordinaire, l'éditeur de PO ayant un code spécial pour les retours à la ligne qui ne perturbe pas le fonctionnement de GNUN.
Les notes sont sous forme de liste ordonnée. Elles sont appelées par des chiffres s'il n'y a pas de note de bas de page dans le texte original. Sinon, on modifie le format de liste pour utiliser des lettres minuscules, en appelant une feuille de style de gnu.org (style.fr.css) qui est propre à notre groupe. Les renvois sont en début de ligne et utilisent des flèches pointant vers le haut (style Wikipedia).
Balises à ajouter dans le texte
Les notes sont ajoutées après la ponctuation lorsque cette dernière est accolée au texte, sans espace ou éventuellement avec une espace fine insécable puisque le chiffre ou la lettre est en exposant.
Notes appelées par des chiffres :
<a id="TransNote1-rev" href="#TransNote1"><sup>1</sup></a>
Notes appelées par des lettres (lorsque le document original contient déjà des notes de bas de page) :
<a id="TransNote1-rev" href="#TransNote1"><sup>a</sup></a>
Chaîne « GNUN-SLOT: TRANSLATOR'S NOTES »
Remarques :
- Pour séparer les notes de traduction du texte traduit, on ajoute <hr /> sauf si le texte se termine par un élément qui fait office de séparateur, note encadrée par exemple.
- La classe "nounderline" (voir style.fr.css) désactive le soulignage de la flèche de renvoi.
- Les retours à la ligne (\n) facilitent le copié-collé des notes (comparer les exemples 1 et 2) et améliorent la lisibilité du HTML.
Exemple 1 (notes appelées par des chiffres) : licenses/license-list.fr.po
msgstr "" "<hr /><b>Notes de traduction</b><ol>\n" "<li><a id=\"TransNote1\" href=\"#TransNote1-rev\" class=\"nounderline" "\">↑</a> \n" "Les liens extérieurs [...]</li>\n" "\n" "<li><a id=\"TransNote2\" href=\"#TransNote2-rev\" class=\"nounderline" "\">↑</a> \n" "Autre traduction [...]</li>\n" "\n" "<li><a id=\"TransNote3\" href=\"#TransNote3-rev\" class=\"nounderline" "\">↑</a> \n" "En droit français, l'auteur [...]</li>\n" [...] "</ol>"
Exemple 2 (notes appelées par des lettres) : philosophy/copyright-versus-community.fr.po
msgstr "" "<hr /><b>Notes de traduction</b><ol id=\"translator-notes-alpha\">\n" "<li><a id=\"TransNote1\" href=\"#TransNote1-rev\" class=\"nounderline" "\">↑</a> \n" "nz-libs : liste de discussion [...]</li>\n" "<li><a id=\"TransNote2\" href=\"#TransNote2-rev\" class=\"nounderline" "\">↑</a> \n" "<i>Ponga</i> : fougère arborescente [...]</li>\n" "<li><a id=\"TransNote3\" href=\"#TransNote3-rev\" class=\"nounderline" "\">↑</a> \n" "La traversée en ferry [...]</li>\n" "</ol>"