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, celle pour les versions 3.x de Moodle est consultable ici : Traduction et celle pour Moodle 4.x est consultable là : Traduction.

« Traduction » : différence entre les versions

De MoodleDocs
Aller à :navigation, rechercher
Ligne 4 : Ligne 4 :
== Structure des paquetages de langue de Moodle ==
== Structure des paquetages de langue de Moodle ==
{{Moodle 1.6}}
{{Moodle 1.6}}
*Tous les paquetages de langues 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''), reste quant à lui dans le dossier ''moodle/lang'', avec une version minimale non encore encodée en UTF-8 (''en''), utilisée lors de la migration de la version 1.5 à la version 1.6, avant que le processus de migration de la base de donnée n'ait lieu.
*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''), reste quant à lui dans le dossier ''moodle/lang'', avec une version minimale non encore encodée en UTF-8 (''en''), utilisée lors de la migration de la version 1.5 à la version 1.6, avant que le processus de migration de la base de donnée n'ait lieu.


*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 :
*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 :

Version du 31 mai 2006 à 15:37

Remarque : cet article est en cours de rédaction. N'hésitez pas à le compléter. Veuillez utiliser la page de discussion pour vos recommandations et suggestions d'améliorations.


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

Moodle1.6


  • 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), reste quant à lui dans le dossier moodle/lang, avec une version minimale non encore encodée en UTF-8 (en), utilisée lors de la migration de la version 1.5 à la version 1.6, avant que le processus de migration de la base de donnée n'ait lieu.
  • 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 autre dossier help est là pour contenir les fichiers HTML (extension .html) des fenêtres contenant l'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 l'installation de la version 1.6 de Moodle, 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.

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.

Dans les versions de Moodle antérieures à 1.6, 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';

Dans les versions 1.5.x et antérieures, 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. Il 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 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 cet autre langue et le 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.

Clicking on "Check for missing strings" in the language administration screen will also show you what files you are missing. If you have missing files then Moodle will use the parent language instead, so don't leave copies of untranslated help files in your language pack or this handy tool won't work.

Proposer vos fichiers de langue au projet Moodle

Sharing your translation with Moodle will ensure that you help other people who speak your language. Your interface language will be available in future versions of Moodle.

Simply archive your whole new language directory as a zip file and email it to translation AT moodle DOT org.

We will get back to you with further details.

Checklist you can use before committing:

  • No empty files?
  • No untranslated files or strings?
  • Help files not edited with a wordprocessor?
  • README file contains language, name and emailadress of the translator?
  • Foldername is the right language code (check moodle\lib\languages.php)?
  • Does the language pack run errorfree on a testsite?
  • Are the strings and files XHTML compliant?
  • Does langconfig.php exists and is it correct?

Maintenance de fichiers de langue standards

If you are committed to maintaining a language in Moodle, it's best to use Moodle CVS so that you have an up-to-date version of Moodle, and can easily "check in" your changes directly into the Moodle project. Moodle1.6


You should always use HEAD to do translation. Instead of modifying the lang pack within your main code tree as it was until Moodle 1.6, you will now be modifying the one within your dataroot/lang directory.

  • Always check out the very latest Moodle code
  • Upgrade your site. Of course you use a NON-PRODUCTION server for this.
  • Go to your dataroot directory and check out the new lang directory from CVS there like this on Unix/Linux
  cd moodledata    (for example)
  cvs -z3 -d:ext:me@moodle.cvs.sourceforge.net:/cvsroot/moodle co lang

or like this with Tortoise on Windows,

  right click on your dataroot folder, choose "CVS Checkout", 
  CVSROOT field:  :ext:sfusername@moodle.cvs.sourceforge.net:/cvsroot/moodle
  Module: lang
  • Continue editing languages from within the Moodle GUI as you did before Moodle 1.6.

To check them into CVS, just go into the dataroot/lang directory and commit your changes.

If you really want to continue updating the language packs for 1.5.x or earlier, then you should zip the folder of your langpack and mail it to translation AT moodle DOT org. CVS write rights on moodle/lang/xx will be moved to lang/xx

Contact translation AT moodle DOT org if you need help setting this up.

You must also subscribe to the Languages Forum for news and discussion about issues that affect translations.

Finally, to keep in touch with changes in the project on a day-to-day basis it is a very good idea to subscribe to the CVS mailing list. This helps to keep your translation as close to the English text as possible.