Ainsi, vous avez envie de donner un coup de main pour traduire Moodle ?

Super ! :-) Merci de consulter la liste des paquetages de langue sans mainteneur. Si votre langue est dans cette liste et que vous avez envie de vous porter volontaire pour devenir le mainteneur d'un paquetage de langue, envoyez une courriel à notre coordinateur des traductions, Koen, translation@moodle.org.

Dans le cas contraire, consultez les remerciements aux traducteurs et contactez le mainteneur de votre paquetage de langue pour demander si vous pouvez aider. Le nom du mainteneur est le premier de la liste de chaque langue (si vous ne recevez pas de réponse au bout d'une durée raisonnable, envoyez une courriel à Koen, translation@moodle.org).

Pour la langue française, le mainteneur est Nicolas Martignoni. Si vous avez envie de participer à la traduction francophone, veuillez lire Participer à la traduction de Moodle, puis vous annoncer sur le forum de traduction de Moodle en français sur moodle.org.

Pour commencer

Le portail de traduction de Moodle http://lang.moodle.org/ permet aux traducteurs de travailler collaborativement sur les paquetages de langue et de proposer les traductions au moyen d'un outil Moodle spécifique appelé AMOS.

Pour participer à la traduction de Moodle

  1. créez un compte sur le portail, en vous assurant d'indiquer votre nom complet (afin que vous puissiez être crédité pour votre travail de traduction) et votre adresse de courriel ;
  2. lisez l'aide (en anglais) Help for newcomers. Si vous voulez traduire en français, lisez également Participer à la traduction de Moodle
  3. accédez à l'outil de traduction AMOS via le lien dans le bloc de navigation et consultez la documentation sur AMOS.

Si vous avez des questions, inscrivez-vous au cours Translating Moodle course (en anglais) ou au forum de traduction en français et participez aux discussions.

Structure d'un paquetage de langue pour Moodle 2.x

La distribution standard de Moodle ne comporte que le paquetage de langue anglais. Tous les autres paquetages doivent être installés dans votre Moodle, via Administration du site > Langue > Paquetages langue. Dans certains cas, il sera nécessaire de les installer manuellement par FTP dans le dossier moodledata, dans un dossier dénommé lang.

Les chaînes en anglais pour le cœur de Moodle, c'est-à-dire ses sous-systèmes principaux (administration, rôles, etc.) se trouvent dans le dossier lang/en de la distribution de Moodle. Les chaînes de caractères des autres composants de Moodle (modules d'activité, blocs, plugins d'inscription, etc.) se trouvent dans un dossier lang/en situé dans le dossier du composant concerné. Par exemple, les chaînes du module Atelier se trouvent dans le fichier mod/workshop/lang/en/workshop.php.

Les traductions sont quant à elles situées dans le dossier de données moodledata de Moodle, dans le sous-dossier lang. Par exemple, la traduction en italien se trouve dans le dossier lang/it/ de moodledata. Les traductions de tous les composants préinstallés (coeur et plugins) y sont stockées. La traduction française du module Atelier est par exemple stockée dans moodledata/lang/fr/workshop.php et celle des chaînes concernant l'évaluation des activités dans moodledata/lang/fr/grades.php (notez la différence par rapport aux chaînes de caractères du paquetage anglais).

Les fichiers de langue ont tous l'extension .php (comme moodle.php ou admin.php). Ces fichiers contiennent de brèves expressions ou phrases, appelées chaînes de caractères ou simplement chaînes. Les chaînes contiennent parfois des paramètres pour la substitution de variables, entre deux accolades (voir ci-dessous). Ces paramètres sont remplacés par certaines valeurs lorsque la chaîne est affichée. Les chaînes sont stockées dans un tableau PHP dénommé $string. La clef du tableau est appelée identifiant de la chaîne ou nom de la chaîne. Exemples :

$string['addnewcourse'] = 'Ajouter un cours';
$string['hidesection'] = 'Cacher la section {$a}';
$string['uploadedfileto'] = '{$a->file} déposé dans {$a->directory}';

Si une chaîne n'est pas traduite dans une langue, Moodle essaie de la trouver dans une langue dite parente. S'il n'y a pas de langue parente définie pour cette langue ou que la langue parente ne définit pas non plus la chaîne, c'est le texte anglais qui est alors utilisé automatiquement. Il est donc possible de voir sur certains sites Moodle des termes traduits et d'autres encore en anglais.

Les chaînes de caractères utilisées pour l'installation de Moodle sont un cas particulier. Elles se trouvent dans le dossier install/lang de la distribution de Moodle et ne contiennent que les chaînes nécessaires au processus d'installation. Les fichiers nécessaires sont générés automatiquement à partir de la traduction normale. Ils ne doivent pas être modifiés manuellement. Les modifications aux chaînes utilisées lors de l'installation ne sont donc reportées qu'avec un léger délai, jusqu'à ce que le script ne soit lancé et que les modifications soient incorporées aux sources de Moodle.

Chaînes non traduisibles

Certaines chaînes en anglais ne sont pas encore traduisibles au moyen de AMOS.

Les plugins classés dans la catégorie Autre (Other) ne sont pas traduisibles. Il est cependant possible d'utiliser l'utilitaire de traduction de votre propre installation de Moodle pour en traduire les chaînes, produire le fichier .php de ces chaînes et l'envoyer au mainteneur du plugin, afin qu'il puisse l'y ajouter.

Résumé des modifications depuis Moodle 1.x

  • Les traductions ne sont plus gérées dans le CVS. Elles sont stockées dans une base de données sur http://lang.moodle.org
  • Une application web est utilisée pour le processus de traduction
  • Tous les plugins définissent maintenant leurs chaînes de caractères dans leur propre dossier, y compris les plugins officiels, comme c'était déjà le cas pour les plugins contribués par des tiers
  • Le nom des dossiers des paquetages de langue ne comportent plus le suffixe _utf8
  • Les fichiers d'aide HTML ont été remplacés par des chaînes de caractères d'aide dont l'identifiant comporte le suffixe _help
  • Les paramètres pour variables **doivent** être entourés d'accolades, par exemple {$a} ou {$a->blabla}
  • Il n'y a plus besoin de placer une barre oblique inversée avant les guillemets droits dans les chaînes de caractères