Manuel du traducteur

Attention : Ce document contient des pages largement obsolètes. Nous sommes en train de le mettre à jour, merci de votre compréhension. Vos suggestions sont les bienvenues.

Ce document est à destination des personnes qui souhaitent participer à la traduction de drupal et de ses modules. Il développe les instructions que le traducteur doit suivre lorsqu’il effectue une traduction. Une partie est consacrée à la configuration du logiciel poedit et à son utilisation.

Le commencement

Pour participer à la traduction, il faut connaître les démarches à suivre afin que les traductions fournies soient les plus cohérentes possible avec les traductions déjà existantes, que le travail effectué puisse être visible aux yeux des personnes qui sont en attente de traductions, et que les traductions déjà réalisées par une personne puissent être facilement reprise par une autre personne. En respectant les démarches, nous rendont le travail plus efficace et surtout pérenne dans le temps.

La traduction en elle même consiste à la traduction de fichiers texte dans lesquels sont écrit les messages qui apparaissent dans drupal. Un simple éditeur de texte pourrai suffire, mais il existe des logiciels qui ont été développé, afin de rendre le travail du traducteur plus efficace et évite une certaine redondance dans le travail lorsque l’on traduit de nombreux fichiers. Ces logiciels permettent aussi une vérification de la syntaxe des traductions ainsi que de l’orthographe. Bref ces logiciels sont indispensables et il en existe plusieurs :

Manuel de traduction de Drupal et de ses modules

Bienvenue

Ce manuel a pour objectif de vous guider dans votre démarche de traduction afin que vous puissiez contribuer à la traduction de Drupal et de ses différents modules. De cette façon, vous serez en conformité avec les efforts d’homogénéité et de méthode que le groupe de traduction francophone a mis en place depuis la Drupalcon Paris en septembre 2009.

Voici les points requis pour collaborer efficacement au projet de traduction.
Prenez 10 minutes pour les parcourir afin de bien comprendre la façon dont les membres du groupe travaillent et produire des traductions de qualité en accord avec le travail des autres.

Merci d'avance pour votre contribution.

 

Localize

http://localize.drupal.org est le site qui regroupe toutes les chaînes de caractères de Drupal et de ses modules et qui offre un outil de travail collaboratif de traduction dans toutes les langues.

Le site fonctionne de la façon suivante :

Pour pouvoir proposer des suggestions, vous devez vous enregistrer sur le site (à moins que vous ayez déjà un compte sur http://drupal.org) et rejoindre la "French team" (= le groupe en charge de la traduction française).

Attention : avant de proposer une suggestion, vérifiez qu'aucune traduction et/ou suggestion(s) n'existent déjà ou qu'elles vous semblent incorrecte. En effet, trop de suggestions ralenti le travail des administrateurs.

Consulter le tutoriel sur localize (prochainement)

 

Glossaire

Le glossaire est LE document de référence pour la traduction des termes employés dans Drupal. Il sert à homogénéiser les traductions entre les différents traducteurs. Vous devez vous y référer fréquemment, même pour des termes qui peuvent paraître évidents, et, qui plus est, à chaque fois que l'on souhaite traduire un terme technique (par exemple : "node", "post", "view", "settings"...).

Malgré nos efforts, il peut s'avérer que le glossaire soit incomplet. Dans ce cas, vous pouvez (et c'est même recommandé) ajouter dans le glossaire au statut "à valider" les termes (ou expressions) manquants. Il peut être utile de préciser le contexte - par exemple dans quelle(s) chaîne(s) on trouve ce terme - et de faire si possible des propositions de traductions.

Une bonne ressource pour cela, qui alimente souvent nos recherches sans être obligatoirement notre référence, est le glossaire inter-projet : http://glossaire.traduc.org/

Les propositions du glossaire seront mises au statut "validé" lors d'une réunion formelle (sprint) avec l'ensemble des contributeurs présents à laquelle vous êtes bien entendu conviés.

/!\ Utilisez de préférence les traductions du glossaire qu'à partir du moment où elles ont été validées. Dans le cas contraire, alertez-nous (nous laisserons un contact sur le glossaire). Et la meilleure option : changez la traduction du terme au cas où elle diffère de la traduction provisoire, si le module n'a pas été corrigé !

/!\ En aucun cas vous ne devez changer un terme qui a déjà été validé !
Celui-ci a fait l’objet d’un temps plus ou moins long de discussion et a été approuvé collégialement. Si toutefois vous trouviez une erreur ou un autre sens à ce terme, vous pouvez ajouter une suggestion et l’argumenter dans la zone de commentaire. Elle sera débattue lors du prochain sprint.

Vous ne serez peut-être pas toujours d'accord avec les choix qui ont été opérés (par exemple : "courriel" a été préféré à "email", "e-mail", "courrier électronique", etc.).
S'il-vous-plaît, respectez l'effort collectif en utilisant les termes validés : il en va de notre GROS effort d'homogénéisation. Vous pourrez ensuite personnaliser facilement vos traductions en local comme bon vous semble.

Le nouveau glossaire

 

Contribution

Les suggestions trouvées sur Localize sont souvent le fruit d’un travail individuel que chacun a accompli pour ses besoins propres ou pour un client et qu'il a souhaité partager ensuite avec la communauté. Vous trouverez à ce sujet un tutoriel sur la traduction des modules avec les fichiers .po et l’éditeur poEdit : Tutoriel de poEdit.

Le travail collectif est là pour tenter d'harmoniser ces entreprises individuelles.
Il s'organise autour de sprints qui servent essentiellement à la validation des nouveaux termes du glossaire et des chaînes de traduction de Localize.

Note : il est évident que si les individus tiennent compte du travail collectif et suivent les recommandations qui en découlent, celui-ci s'en trouve facilité et les traductions sont de meilleure qualité, d'où cette documentation ! :)

Un sprint commence par une réunion de coordination (en fonction de l’actualité, des discussions sur les forums, des réunions de l’association, etc.).

Les points suivants y sont définis :

A la fin du sprint, on fait une rétrospective qui permet :

Il faut distinguer 2 types de sprint :

Suivant le contexte, le nombre de participants et l'objectif du sprint, les contributeurs porteront leur attention sur certaines tâches.

4 types d'activités sont envisageables :

Les sprints sont le meilleur moyen de comprendre les enjeux et les problématiques liés à la traduction de l'environnement de Drupal, et de prendre part si on le désire à l'activité du groupe.

Ils sont de plus un excellent moyen de connaître les autres participants du groupe et de partager ses difficultés dans un moment de convivialité.

 

Aide

Les sources d'aide à la traduction sont les suivantes :

 

Page rédigée par montesq, corrigée et complétée par lor, sbordage et pomliane.

Les démarches à suivre

Comme il a été expliqué précédemment, il est important que tout le monde suive correctement les démarches.

1 - Vérifier que le travail n'a pas déjà été fait
Avant de se lancer dans la traduction d'un module, vous devez vous assurer que celui-ci n'a pas déjà été traduit. S'il n'existe pas de fichier fr.po dans le répertoire se trouvant dans l'archive contenant le module, il y a de fortes chances que le module n'ait pas été traduit, mais il se peut que le travail soit déjà commencé. Vous devez savoir une chose concernant le développement des modules, c'est que le travail qui est effectué par les développeurs ainsi que les traducteurs est centralisé sur ce que l'on appel un serveur CVS. Vous pouvez visualiser les fichiers qui se trouvent sur ce serveur en vous rendant sur la page du WebCVS de drupal. En visitant cette page, vous y verrez ceci :

Une page affichant une arborescence tout comme pourrait le faire un gestionnaire de fichier. On y voit deux répertoires, l'un nommé "contributions" et le deuxième "drupal". Le premier contient toutes les contributions à drupal, c'est-à-dire : les modules supplémentaires, les traductions, les thèmes. Le second contient seulement drupal. Si je veux me rendre dans le répertoire où se trouve le module "image", je dois me rendre dans contributions/modules/image. On peut y voir tous les fichiers qui appartiennent au module "image". On remarque qu'une liste de sélection apparaît en bas de la page. Cette liste permet d'afficher les différentes versions du module, et c'est là que je veux en venir : un module (une traduction, un thème...) existe sur le serveur CVS dans toutes ses versions, et certaines de ces versions sont étiquetées. Sur la capture d'écran suivante on voit que le module image à plusieurs étiquettes :
Branches

...
Non-branch tags

Si vous souhaitez traduire le module dans sa version 4.6, alors il faut vérifier qu'il n'existe pas de fichier fr.po dans le répertoire po pour la version 4.6. Si c'est le cas (la traduction n'existe pas) vous pouvez aussi regarder dans pour les autres versions 4.5, 4.4.. ainsi que dans la branche HEAD si il n'existe pas de fichier fr.po pour ces versions. Cela vous permettra de ne pas partir de zéro si une personne avait auparavant traduit le module pour une version antérieure. Pour préciser un peu les choses, la branche Main correspond à la dernière version stable du module (dans notre exemple la version 4.6), et ce que l'on appelle HEAD correspond à la version de développement du module qui deviendra la future version stable (ici se sera probablement la version 4.7).

2- Réserver votre module
Vous devez annoncer votre souhait de traduire tel module sur le forum Réservation de module de ce site. Cette étape est importante car elle annonce que vous avez l'intention de faire une traduction, et elle permet d'éviter que deux personnes ne travaillent sur la même traduction sans qu'elles n'en soient informées. Cette méthode permet aussi de pouvoir être contacté si des personnes veulent se joindre à vous pour cette traduction.

3- Récupérer le fichier à traduire
Les fichiers à traduire sont les fichiers qui portent le nom "nom_du_module.pot" (pour le module image, ce sera image.pot). Ce fichier est présent dans l'archive que vous avez téléchargez lorsque vous vous êtes procuré le module.

4- Traduire le module
Cette étape est détaillé dans les pages suivantes. il y a certaines règles à respecter lorsque que l'on traduit un module.

5 - Annoncer votre travail
Une fois que vous avez terminé votre traduction, vous devez l'annoncer sur le forum en utilisant le même sujet que pour la réservation (cela évite d'ouvrir un nouveau sujet et si discussion il y a eu, le fil ne sera pas perdu, et ce sera plus facile à suivre pour les autres). Il faut alors qu'une personne ait relue votre travail.

6- Diffuser votre traduction
Une fois que la traduction a été relue, il vous faut contacter une des personnes qui possède un accès CVS. Ces personnes sont les suivantes :

Configurer son éditeur

La traduction d'un module ou de drupal lui même revient à éditer un simple fichier texte. Malgré tout, il existe des logiciels qui permettent de simplifier la traduction. Un de ceux là s'appelle [url=http://www.poedit.net]poEdit[/url]. L'avantage de celui-ci est qu'il est disponible sous Windows, MacOS et Linux. Nous allons donc détailler la configuration de poedit pour une utilisation optimale.

[b]Configuration de PoEdit[/b]

[i]Onglet Personnalise[/i] Lors du premier lancement de poedit, celui ci vous demande de configurer le logiciel. La première fenêtre que vous voyez vous demande de remplir deux champs avec votre Nom et votre adresse email. Ces informations seront entrées dans le fichier traduit lors de l'enregistrement de votre travail. Cela permet connaître le nom du dernier traducteur ainsi que son adresse mail.

[i]Onglet Editeur[/i] Dans la partie "Comportement" vous pouvez décocher la première option. Ceci évitera que le logiciel ne compile le fichier mo correspondant au ficher sur lequel vous êtes en train de travailler. Les fichiers mo sont utilisés pour les logiciels compilés (ceux écrit en C, C++...) drupal ne sait pas gérer ce format donc c'est inutile d'avoir cette option. [center] [img]sites/drupalfrancais.zapto.org/files/articles/poedit-editeur.png[/img] [/center]

[i]Onglet Mémoire de traduction[/i] Cet onglet va nous permettre de configurer l'une des fonctionnalités les plus importantes de poedit : la mémoire de traduction. A quoi ça sert? Et bien imaginons que vous avez traduit le module image dans sa version 4.6. Le travail effectué est distribué et tout se passe bien. Arrive le jour où l'auteur du module sort une nouvelle version (disons la 4.7). Vous vous dites que vous allez traduire à nouveau le module image dans sa nouvelle version. Et là vous prenez conscience du fait qu'il faudra tout reprendre à zéro alors que la majorité des expressions à traduire existaient déjà dans la version précédente. Et bien c'est là qu'intervient la "Mémoire de traduction". Il suffit de faire mémoriser à poedit toutes les traductions que vous avez faites, et lorsque vous commencerez une nouvelle traduction, vous pourrez utiliser l'option "Traduction automatique avec TM" qui va effectuer la traduction de toutes les expressions que vous avez déjà rencontré lors de vos précédentes traductions et que vous avez mises en mémoire.

[center] [img]sites/drupalfrancais.zapto.org/files/articles/poedit-TM.png[/img] [/center] Cliquez sur le bouton "Ajouter" et choisissez "fr". Ensuite cliquez sur le bouton "Construire la base de données".

[center] [img]sites/drupalfrancais.zapto.org/files/articles/poedit-TM2.png[/img] [/center] Vous verrez alors apparaître une fenêtre vous demandant de choisir les répertoires dans lesquels sont stockeés vos traductions. Supprimez tous les répertoires par défaut ajoutez ceux dans lesquels vous travaillez. [center] [img]sites/drupalfrancais.zapto.org/files/articles/poedit-TM3.png[/img] [/center] Cliquez sur suivant. Puis à cet endroit je vous conseille d'ajouter le fichier de la traduction de la dernière version de drupal (le fichier qui vous sert à mettre drupal en Français) histoire de ne pas commencer sans rien et de bénéficier de la traduction déjà effectuée. Cliquez sur Fin. [center] [img]sites/drupalfrancais.zapto.org/files/articles/poedit-analyse.png[/img] [/center] Là poedit analyse tous les fichiers po qui sont dans les répertoires que vous avez sélectionné plus le fichier que vous venez de rajouter, et remplit sa base de données avec les traductions qu'il a trouvées.

La configuration de poedit est terminée. Vous pouvez désormais attaquer la traduction d'un module.

Traduire avec poedit : comment bien faire

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 oublié que de cette manière les traductions effectuées sont approximatives et sont marquées comme tel. 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»

Comment traduire un module ?

Cette page de livre est destinée à vous présenter la méthode de création des fichiers nécessaires a la traduction de modules de Drupal, elle est une version condensée du guide du traducteur.

Depuis la version 4.5.0, Drupal est doté du module «locale» qui permet d’utiliser des fichier de type GNU gettext pour assurer la traduction en plusieurs langues. On pourra trouver la traduction française et son état d’avancement sur la page des traductions.

1. Traduire la version officielle de Drupal :

Pour cela, il faut tout d’abord récupérer les fichiers .pot, ensuite installer un logiciel comme poedit et enfin s’atteler à la traduction suivant les règles énoncées : Ressources et philosophies de traduction.

2. Traduire les modules hors distribution :

Pour la distribution de Drupal, il n’y a pas de problèmes, les fichiers .po sont créés automatiquement, cependant, pour les modules, généralement ce n’est pas le cas.
Tout d’abord, vérifiez dans le CVS qu’un fichier .pot existe ou non (dans le répertoire du module, il y aura ou non un dossier po). Cependant, il peut être bien de régénérer soi même ce fichier afin d’éviter les lacunes.
Pour ce faire, on utilisera le script extractor.php. Les instructions sont dans le fichier README.txt, sinon il suffit de taper depuis la ligne de commande :

php extractor.php .php includes/.inc modules/.module themes///

C’est un example pour extraire les fichier pot de Drupal. Generalement pour un module, un simple

php extractor.php mon_module.module

suffit.
Un petite note pour les développeurs de modules, n’oubliez pas de d’appeler toutes vos phrase via la fonction t(‘Hello World’) pour que cette chaîne soit traduite.

3.Trucs et astuces :

Statut de traduction :
Malheureusement il ne s’applique que pour la traduction de la distribution de Drupal, néanmoins, il peut être consulté.

Regrouper plusieurs fichier po en un seul :
Mettez-les tous dans un même dossier et cette commande (nix seulement) fera le travail.

$ msgcat --use-first general.po [^g]

.po | msgattrib —no-fuzzy -o fr.po

Recycler des traductions anciennes :
Afin d’optimiser une traduction en cours, il peut être utile de récuperer une traduction ancienne pour éviter de retraduire des phrases identiques.
Je vous conseilles de vous referer au guide.

Ressources et philosophies de traduction

Ressources

Il existe de nombreuses ressources de traduction sur le web. En voici quelques unes. Attentions aux traducteurs automatiques qui offrent une traduction parfois trop littérale !

Philosophie

Voici le point le plus contentieux de toute l’affaire. Un brève introduction est de mise pour mettre les choses en perspective globale, car de partout dans le monde on viendra pour utiliser notre traduction de Drupal. Bien sur, il faut prendre tout ceci à la légère.

Il y a les puristes Français, qui ne jurent que par le Petit Robert. Frustration garantie chez tous les québécois qui voient l’académie française approuver des mots comme e-mail alors que courriel est d’usage commun chez-eux.

Il y a les puristes Québécois, qui ont développé la fierté de parler français, qui font du magasinage de fin de semaine plutôt que du shopping le week-end, et qui profitent de leur cinéma-maison le samedi soir, plutôt que de leur cinéma-home.

Il y a les puristes populaires, qui n’hésitent pas à remplacer root par racine, dénaturant le mot anglais qui pourtant est encore mieux traduit par souche ou par répertoire de tête.

Il y a les batards, qui n’arrivant pas à se décider sur une tradution, adoptent le mot anglais et lui accorde un genre arbitraire, le node ou encore plus laid la node parce que noeud dénature trop le terme anglais node.

Il y a les entre-deux, ceux qui veulent à tout prix être compris, et qui utilisent le mot traduit en le faisant suivre entre parenthèses du mot original anglais : le noeud (node).

Bien sur j’oublie les franco-ontariens, qui vont voir un film au théâtre plutôt que d’aller au cinéma, et qui disent «je l’ai besoin» plutôt que «j’en ai besoin» et tous les autres fancophones de la planète qui ont leur manière bien à eux d’utiliser la langue française !

Cohérence de traduction

Il est important de garder une cohérence en ce qui concerne la traduction des termes communs aux différents modules.

Pour plus d’informations : rendez-vous sur le forum Cohérence de traduction.

Documentation à revoir

Ce chapitre regroupe l’ensemble des documentations à revalider, corriger ou supprimer.

Liste des modules traduits

Modules de la distribution

Les modules de la distribution sont les modules fourni en standard avec Drupal. Pour connaître l’état d’avancement de la traduction de ces modules, rendez vous ici.

Modules hors distribution

Les modules hors distributions sont des modules généreusement offerts par des programmeurs mais qui ne font pas partie de la distribution officielle de Drupal. Ces modules sont externes à Drupal et doivent être installés séparément.

Liste des modules hors distribution traduits

  • Audio
  • Buddylist
  • Chat
  • E-Commerce
  • Gallery
  • Image
  • Notify
  • Poormanscron
  • Smileys
  • Workspace

Chacun des modules listés ci-dessus est disponible avec sa traduction lorsque vous téléchargez le module.