Traduire avec poedit : comment bien faire

La documentation Drupal 6 n'est plus maintenue et en cours de dépublication.


Consultez le guide utilisateur Drupal en français directement sur drupal.org.

Traduire drupal ou un de ses modules c'est mettre en Français des phrases qui sont en Anglais. Certes, mais pour cela on utilise un outils qu'il faut appendre à connaître sous peine de se donner du travail supplémentaire pour rien.

Démarrer une traduction
Pour démarrer une traduction à partir de zéro, nous avons besoin d'ouvrir un fichier pot qui contient toutes les chaînes de caractère à traduire, et créer un fichier fr.po dans lequel nous feront la traduction.

1- créer le fichier po
Il nous faut ouvrir le fichier pot qui se trouve avec le module. Dans notre exemple, nous allons traduire le module image. Nous ouvrons donc le fichier image.pot du répertoire "po" en allant dans "Fichier/Nouveau catalogue depuis un fichier POT". Là poedit affiche une boite de configuration qui sert à configurer l'entête du fichier fr.po que nous allons créer, et que nous allons remplir comme sur la capture d'écran.

Après avoir validé, poedit nous propose d'enregistrer notre fichier avec comme nom par défaut "fr.po". Il ne nous reste plus qu'à valider une nouvelle fois.

2- faire le débrouillage avec la traduction automatique
Nous avons maintenant sous les yeux la fenêtre principale de poedit avec notre fichier po chargé. La première chose que nous allons faire, c'est de demander à poedit de nous aider dans la traduction en traduisant les termes qui sont proches de ceux qu'il possède déjà dans sa base de données des traductions (on pourra la remplir avec le fichier fr.po de drupal voir page précédente). Pour cela il faut faire "Catalogue/Traduire automatiquement avec TM".
Après l'opération, on voit que poedit à traduit 74 chaînes sur un total de 170, ce qui est pas mal, mais il ne faut pas oublier que de cette manière les traductions effectuées sont approximatives et sont marquées comme telles. Les messages approximatifs, sont sur fond jaune. Voici quelques exemples de traductions automatiques :

list -> liste
add gallery -> Ajouter une langue
Directory to scan -> répondre à ce commentaire

Dans ces 3 exemples, le premier donne bien la bonne traduction. Il faut alors lui enlever sa marque "approximatif" an faisant Alt+U ou en allant dans "Edition/La traduction est approximative". De cette manière, le message est traduit et on peut le voir car il est affiché sur fond blanc. La seconde traduction est fausse, mais on remarque que la traduction donnée est proche de ce qu'elle sera, et on remarque la structure "Ajouter ..." que l'on va conserver.
La troisième est complètement fausse, et il nous faut la refaire.

3- continuer la traduction
Il ne nous reste plus qu'à traduire tout ce qui ne l'a pas été. Mais pendant votre traduction, vous rencontrerez sans doute des messages dans lesquels apparaissent des variables.
Exemple :"%t image gallery"
Une variable est une chaîne de caractères précédée du signe "%". Ici %t est une variable. Dans ce cas, le message traduit doit aussi contenir la variable "%t" et cette variable doit être écrite tel quelle. Donc dans un message comme "Posted by: %name" la traduction sera "Posté par : %name" et non "Posté par : %nom"