Traduction

Révision de 28 décembre 2008 à 12:15 par Nicolas Martignoni (discussion | contributions) (Création d'un nouveau paquetage de langue)

Attention : vous consultez actuellement la documentation dédiée aux versions 1.x de Moodle. La documentation pour les versions 2.x de Moodle est consultable ici : Traduction et celle pour Moodle 3.x est consultable là : Traduction.

Moodle a été conçu pour l'internationalisation. Chaque chaîne de caractères ou page de texte faisant partie de l'interface est tirée d'un ensemble de fichiers de langue.

Structure des paquetages de langue de Moodle

Tous les paquetages de langue de Moodle sont situés dans le dossier lang, chaque langue dans son propre dossier, dénommé suivant le code abrégé de la langue (par exemple en, fr, nl, es, ...). À partir de la version 1.6 de Moodle, vous trouverez ce dossier lang dans votre dossier de données (en principe moodledata), et les noms des paquetages y sont assortis d'une indication claire de leur encodage UTF-8 (par exemple es_utf8, fr_utf8, etc). Le paquetage de langue par défaut, l'anglais (en_utf8), est quant à lui situé dans le dossier moodle/lang.

Tous les fichiers principaux sont dans le dossier lang/xx_utf8. Leur nom se termine par l'extension .php (par exemple moodle.php, resource.php, etc.). Ces fichiers contiennent de courtes phrases ou expressions, appelées chaînes de caractères ou plus simplement chaînes. Chaque chaîne permet la substitution de variables, afin de prendre en compte l'ordre des termes des différentes langues, comme dans cet exemple :

$strdueby = get_string("assignmentdueby", "assignment", userdate($date));

Si une chaîne n'existe pas dans une langue, l'équivalent anglais est alors utilisé automatiquement en lieu et place.

Un dossier nommé help, dans le dossier xx_utf8, contient les fichiers HTML (extension .html) affichés dans les fenêtres d'aide contextuelle.

Les paquetages de langue utilisés durant l'installation de Moodle se trouvent dans le dossier install/lang. Ils ne contiennent que les chaînes de caractères nécessaires au processus d'installation de Moodle. Les fichiers sont générés automatiquement chaque jour par le serveur download.moodle.org à partir des fichiers de langues. Ils ne doivent donc pas être modifiés manuellement. Pour les traducteurs, c'est une expérience inhabituelle, car les chaînes ajoutées ou modifiées qui sont utilisées dans le processus d'installation ne seront visibles qu'après un nouveau téléchargement de Moodle (version 1.6 ou ultérieure), au maximum 24 heures plus tard.

Création d'un nouveau paquetage de langue

Si votre langue n'est pas encore supportée par Moodle, vous pouvez essayer de commencer une nouvelle traduction. Veuillez dans ce cas contacter Koen Roggemans, notre coordonnateur des traductions (translation@moodle.org). Vous pouvez également poster un message dans l'espace Using Moodle, sur le forum Languages.

Par défaut, un administrateur ne peut modifier que les paquetages de langue locaux, et non les paquetages de langue principaux. Si vous êtes impliqué dans des travaux de traduction de Moodle, vous ne devriez travailler que sur votre paquetage de langue local afin de vous assurer que vos modifications ne sont pas écrasées lors de chaque mise à jour de Moodle ou des paquetages de langue de Moodle.

Depuis la version 1.9 de Moodle, si vous voulez modifier les paquetages de langue principaux, vous devez vous donner l'autorisation de les modifier. Pour ce faire, connectez-vous en tant qu'administrateur, rendez-vous sur Administration du site > Utilisateurs > Permissions > Définition des rôles, puis modifiez le rôle Administrateur en lui mettant la capacité Modifier les paquetages de langues préinstallés sur Autoriser.

Tout ce dont vous avez besoin, c'est de créer un nouveau dossier dans le dossier lang, en le dénommant du code à 2 lettres de votre langue. Vous trouverez ces codes standards dans le fichier lib/languages.php. Si vous désirez faire une variation locale d'une autre langue, utilisez le code de cette langue avec un caractère souligné et une extension significative de 2 lettres (par exemple, pt est le code du portugais et pt_br désigne la variation brésilienne du paquetage en portugais). Si vous faites une version Unicode, ajoutez _utf8 à la fin (par exemple sr_utf8). Les paquetages créés avec une version 1.6 de Moodle sont toujours en Unicode et doivent donc avoir le suffixe _utf8.

Ensuite, copiez le fichier langconfig.php d'une autre langue dans votre nouveau dossier. Celui du dossier "en_utf8" est celui qui convient le mieux.

Vous êtes maintenant prêt à ajouter de nouvelles chaînes de caractères. Voyez plus bas pour de plus amples informations à ce sujet.

Notez que votre nouveau paquetage de langue n'apparaîtra pas tout de suite dans le menu déroulant de la configuration de votre site, notamment si le paramètre langcache est activé.

Moodle1.6


À partir de la version 1.6 de Moodle, le seul jeu de caractères permis est UTF-8. L'encodage des fichiers est déterminé par la chaîne thischarset dans le fichier langconfig.php. Il ne doit pas être modifié. Tous les autres réglages de votre paquetage de langue, comme la notation des dates, le code locale, la direction, etc. se trouvent aussi dans ce fichier et peuvent y être modifiés, à condition de le faire avec circonspection ! ;-)

Modification d'un paquetage de langue existant

Effectuer de petites adaptations

Si vous voulez juste modifier quelques termes de l'interface pour mieux coller à vos besoins, ne modifiez pas une des langues existantes de la distribution de Moodle. Si vous le faites, vos modifications seront perdues la prochaine fois que vous mettrez à jour votre version de Moodle.

Plutôt que de procéder ainsi, créez un tout nouveau paquetage de langue comme indiqué ci-dessus, en ajoutant la chaîne parentlanguage (dans le fichier langconfig.php) avec le code à 2 lettres de la langue dont vous voulez faire une variante. Cette langue sera utilisée pour toutes les chaînes manquant dans votre variante.

Moodle1.5 Dans les versions 1.5.x et antérieures de Moodle, un nom intelligent pour une version locale du français serait fr_local, et la variable parentlanguage serait fr ou fr_ca.

$string['parentlanguage'] = 'fr';

Vous devrez aussi créer une chaîne thislanguage dans le fichier moodle.php de votre variante fr_local :

$string['thislanguage'] = 'Français de la HEP';

Il faudra ensuite vous assurer que chaque utilisateur choisisse votre nouveau paquetage de langue. Les utilisateurs peuvent changer ce réglage dans leur profil, ou vous pouvez lancer une commande SQL dans la base de données pour modifier ce paramètre pour tous les utilisateurs, puis restreindre les langues disponibles dans Administration >> Configuration >> Paramètres techniques.

Moodle1.6


À partir de la version 1.6 de Moodle, la meilleure façon pour disposer d'une variante est de créer un nouveau dossier de langue et de le dénommer xxxx_local, où xxxx est le nom du paquetage de langue que vous voulez adapter, par exemple fr_utf8 ou fr_ca_utf8. Ce paquetage de langue sera pris en compte par Moodle avant le paquetage standard correspondant. Il suffit de placer dans ce paquetage de langue uniquement les chaînes modifiées (il est inutile de copier la totalité de la langue dont vous faites une variante). Rien ne sera modifié dans le menu des langues et vos utilisateurs ne s'apercevront de rien, sinon de la modification des termes. Aucun réglage n'est à modifier.

La méthode parentlanguage décrite ci-dessus pour Moodle 1.5 fonctionne également, au cas où vous voudriez créer plus d'une variante d'une langue. Dans ce cas, il vous faudra tout de même ajouter la chaîne thislanguage, mais dans le cas d'une version 1.6, vous l'ajouterez au fichier langconfig.php et non au fichier moodle.php.

Traduction des fichiers de langue de l'interface

  1. Connectez-vous en tant qu'administrateur sur votre Moodle
  2. Allez dans Administration >> Configuration >> Langue, qui est la page d'administration des langues.
  3. Sur cette page, choisissez votre langue dans le menu Langue active et cliquez ensuite sur le lien Modifier les chaînes de caractères.
  4. Un formulaire s'affiche, grâce auquel vous pourrez modifier chaque fichier. Si vous ne pouvez pas faire de modification, assurez-vous que les fichiers soient modifiables sur le serveur. Il vous faudra peut-être modifier les autorisations d'accès de votre dossier web.
  5. Les formulaires ont trois colonnes : la première contient le nom de chaque chaîne, la deuxième la chaîne elle-même en anglais et la dernière la traduction dans la langue active.
  6. Lors de la modification des chaînes manquantes, qui sont surlignées en couleur, souvenez-vous de cliquer le bouton Enregistrez les modifications à la fin de l'opération.
  7. Vous pouvez sans problème laisser des chaînes vides : Moodle utilisera alors en lieu et place la chaîne correspondante dans la langue parente. Vous pouvez définir la langue parente dans le fichier langconfig.php, faute de quoi l'anglais sera toujours utilisé par défaut.
  8. Une façon rapide de voir toutes les chaînes qui ne sont pas encore traduites est l'utilisation du lien Vérifier les textes manquants sur la page Administration >> Configuration >> Langue. Pour que cet outil fonctionne correctement, laissez vide les chaînes non traduites !

Traduction des fichiers d'aide

Un éditeur intégré à Moodle permet de modifier les fichiers d'aide. On y accède en cliquant sur le lien Modifier les fichiers d'aide dans la page Administration >> Configuration >> Langue. Cet éditeur utilise le paquetage en_utf8 comme langue de référence. Nous vous recommandons vigoureusement d'utiliser cet outil : il permet d'éviter divers problèmes possibles, vous rend attentif aux anciennes traductions, marque (avec un astérisque dans le menu déroulant) les fichiers périmés et s'occupe de l'encodage Unicode.

Si vous voulez utiliser une autre langue que l'anglais comme langue de référence (ce qui n'est pas une bonne idée), vous pouvez copier les fichiers d'aide de cette autre langue et les placer au même endroot dans votre paquetage de langue. Vous pourrez ensuite utiliser un éditeur de texte supportant l'encodage Unicode pour traduire le fichier, en vous assurant de ne pas modifier les balises HTML du fichier (il n'y a habituellement pas d'autres codes). N'UTILISEZ PAS DE LOGICIEL DE TRAITEMENT DE TEXTE pour modifier ces fichiers, sans quoi plus rien de fonctionnera. Ne laissez pas de fichiers non traduits ni de fichiers vides dans votre paquetage de langue.

Prenez soin d'écrire les fichiers d'aide en code conforme à la norme XHTML. Cela signifie notamment que :

  • toutes les balises doivent être fermées :
    <p>lalala</p>
  • tous les éléments doivent être emboîtés :
    <p>lalala <em>lalala</em> </p>
  • tous les éléments et tous les attributs doivent être en minuscules
  • tous les attributs doivent être écrits en entier et entourés de guillemets droits :
    <p align="right"> lalala </p>
  • Les éléments vides doivent se terminer par />. Un espace doit être ajouté avant le symbole / (barre oblique) :
    <br /> <hr />
  • Une balise <img doit avoir un attribut alt="" (qui peut être vide) et doit être fermée comme n'importe quel élément vide avec un espace et />, par exemple
    <img alt="" src="picture.gif" />
  • les codes PHP <?= and <? doivent être remplacés par
    <?php
  • il ne doit y avoir AUCUNE balise de police (font). Les balises
    <p>, <em>, <h1>, <h2>
    etc. devraient suffir pour les fichiers d'aide.

Aucun des fichiers dans le dossier help ne doit avoir de doc type, ni de balises html, body, head (ouvrante ou fermante) : ces fichiers sont affichés par l'intermédiaire de help.php. Ce script s'occupera de bien former les pages. Cela signifie également qu'il n'y a pas de place pour la créativité en HTML ! Conformez-vous à l'exemple des fichiers d'aide en anglais.

Moodle1.6


Les fichiers du dossier docs doivent être totalement conforme au XHTML, y compris le doc type, l'entête, etc. Ces fichiers seront peu à peu migrés vers MoodleDocs.

En cliquant sur le lien Vérifier les textes manquants dans la page d'administration des langues, Moodle vous indiquera quels fichiers n'existent pas encore dans le paquetage de langue actif. Lorsqu'un fichier est manquant, Moodle utilise en lieu et place le fichier correspondant de la langue mère. Pour cette raison, il ne faut pas placer dans votre paquetage de copies vides ou non traduites des fichiers d'aide, faute de quoi cet outil ne fonctionnera pas.

Proposer vos fichiers de langue au projet Moodle

En mettant votre traduction à la disposition du projet Moodle, vous aiderez les autres personnes parlant votre langue. Votre langue sera alors disponible dans de futures versions de Moodle.

Faites simplement une archive compressée de votre dossier de langue complet (fichier ZIP) et envoyez-le par courriel à translation@moodle.org.

Nous vous contacterons avec de plus amples informations.

Voici une liste de points à vérifier avant de nous proposer votre paquetage de langue :

  • Pas de fichier vide ?
  • Pas de fichier, ni de chaîne de caractères non traduite ?
  • Pas de fichier d'aide modifié avec un traitement de texte ?
  • Fichier README contenant le nom de la langue, le nom et l'adresse de courriel du traducteur ?
  • Nom du dossier correct, y compris le code de la langue (voir fichier moodle\lib\languages.php) ?
  • Le paquetage de langue fonctionne sans erreur sur un site Moodle de test ?
  • Les chaînes et les fichiers sont conformes au XHTML ?
  • Le fichier langconfig.php existe et est rempli correctement ?

Maintenance des paquetages de langue standards

Si vous vous adonnez à la maintenance d'une langue de Moodle, le mieux est d'utiliser le CVS de Moodle, afin de disposer toujours de la version tout à fait actuelle de Moodle et pour incorporer vos modifications directement dans le projet Moodle.

Moodle1.6


Veuillez utiliser toujours le tronc (HEAD) pour effectuer la traduction. Plutôt que de modifier votre paquetage de langue dans les fichiers d'installation de Moodle, comme c'était le cas avant Moodle 1.6, vous le modifierez dans votre dossier moodledata/lang.

Remarque : pour effectuer les manipulations, vous devrez avoir un compte nominatif sur le serveur CVS de Moodle. Voir pour cela CVS pour développeurs.

  • Téléchargez (effectuez un checkout de) la dernière version de développement de Moodle.
  • Mettez à jour votre site. Utilisez bien sûr pour cela un serveur qui n'est pas en production.
  • Placez-vous dans votre dossier moodledata et téléchargez-y le nouveau dossier lang à partir du CVS de la façon suivante, si vous travaillez sur Mac OS X, Unix ou Linux
  cd moodledata    (par exemple)
  cvs -z3 -d:ext:USERNAME@cvs.moodle.org:/cvsroot/moodle co lang
ou pour télécharger un seul paquetage de langue (français par exemple) :
  cd moodledata    (par exemple)
  cvs -z3 -d:ext:USERNAME@cvs.moodle.org:/cvsroot/moodle co lang/fr_utf8
ou comme cela sous Windows avec Tortoise,
  clic-droit sur votre dossier moodledata, sélectionner "CVS Checkout", 
  champ CVSROOT : :ext:USERNAME@cvs.moodle.org:/cvsroot/moodle
  Module : lang
  • Continuez la modification de la langue à l'aide de l'interface de Moodle, comme vous le faisiez avant Moodle 1.6.

Pour déposer vos modifications dans le CVS de Moodle, placez-vous dans le dossier moodledata/lang et effectuez un commit.

Si vous voulez continuer à mettre à jour votre paquetage de langue pour les versions 1.5.x et antérieures, veuillez compresser votre dossier de langue (format ZIP) et l'envoyer par courriel à translation@moodle.org. Les droits CVS d'écriture sur moodle/lang/xx seront déplacés vers lang/xx_utf8.

Si vous avez besoin d'aide pour mettre en place ceci, contactez translation@moodle.org !

Traduction d'un plugin

Vous utilisez un plugin (bloc ou activité) très intéressant, mais qui ne semble pas exister en français ? Vous pouvez facilement le traduire :

  • Repérez dans le répertoire du plugin un dossier nommé en_utf8 lui même normalement placé dans un dossier nommé lang
  • Copiez / collez ce dossier au même endroit en le renommant fr_utf8
  • Dans le dossier nouvellement créé, éditez chacun des fichiers présents en traduisant les termes anglais, en faisant attention à ces points :
    • dans une chaîne de caractère, $a sera remplacé par un terme dans l'utilisation de ce plugin, il faut parfois faire des essais pour savoir comment l'exploiter correctement
    • méfiez vous des ' et des ". Ils sont considérés comme les caractères de début et de fin de chaine. Si vous voulez les utiliser dans votre traduction, il est souvent utile d'insérer un caractère d'échappement / avant ce caractère
  • Essayez sans arrêt votre traduction en cours de rédaction, si votre site est en français, ces fichiers seront automatiquement utilisés.


N'oubliez pas d'envoyer votre fichier de traduction au concepteur du module qui l'intégrera dans sa distribution. Cela évitera à chacun d'entre nous de faire et refaire ce travail !

Voir aussi

  • Le forum Languages (en anglais) de Using Moodle : nouvelles et discussions sur les développements affectant les traductions.
  • Remerciements aux traducteurs (en anglais)
  • Pour rester en contact jour après jour avec l'évolution du projet, abonnez-vous à la liste de distribution CVS. Cela vous permettra de conserver à jour votre traduction.