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

Traduction 2.0

De MoodleDocs
Aller à :navigation, rechercher
La version imprimable n’est plus prise en charge et peut comporter des erreurs de génération. Veuillez mettre à jour les signets de votre navigateur et utiliser à la place la fonction d’impression par défaut de celui-ci.

Moodle2.0


Moodle 1.x

Le texte ci-dessous décrit le processus de traduction de Moodle pour les versions 2.0 et ultérieures. Pour Moodle 1.x, veuillez consulter la page Traduction.

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

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 ajoutés manuellement à votre installation. Les chaînes en anglais pour le cœur de Moodle, c'est-à-dire ses sous-systèmes principaux (administration, carnet de notes, rôles, etc.) se trouvent dans le dossier lang/en de la distribution de Moodle. Par exemple, les chaînes concernant l'évaluation des activités sont définies dans le fichier lang/en/grades.php. Les chaînes de caractères de tous les 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 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/. 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. 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}';

La définition de ces chaînes est utilisée par la fonction get_string() pour être affichée (voir lib/moodlelib.php). 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.

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.

Utiliser l'outil de traduction AMOS

L'outil de traduction AMOS n'est pas encore localisable, et l'interface se présente donc complètement en anglais. La terminologie des concepts ci-dessous est par conséquent conservée pour l'instant dans la langue anglaise originale.

Les responsables officiels de la maintenance des paquetages de langue peuvent créer un compte sur AMOS, à l'adresse http://lang.moodle.org/, et envoyer un courriel à translation@moodle.org pour que leur compte soit activé de façon à leur permettre de travailler sur leur traduction.

AMOS offre la possibilité de travailler collaborativement à la traduction de Moodle. Des volontaires peuvent ainsi proposer des traductions. Si vous désirez participer, créez simplement un compte sur AMOS, à l'adresse http://lang.moodle.org/. Il n'est dans ce cas pas nécessaire d'annoncer manuellement votre compte à translation@moodle.org. En revanche, assurez-vous de contacter le responsable officiel de la traduction de Moodle dans votre langue, afin de coordonner votre travail.

Pour la langue française, veuillez vous annoncer sur le forum de traduction de Moodle en français.

Concepts de base

AMOS est constitué de plusieurs outils, accessibles au travers du bloc de navigation principal, ainsi que d'un dépôt où sont stockés les chaînes de caractères.

Les outils sont : Translator, Stage, Stash et Log. Le dépôt est le Repository.

  • Translator : l'outil permettant d'afficher et de filtrer les chaînes sur lesquelles on veut travailler et de saisir les traductions
  • Stage : une zone de dépôt temporaire contenant les chaînes traduites durant la session en cours
  • Stash : la sauvegarde d'un stage. Analogue à un fichier de votre ordinateur dans lequel vous enregistreriez votre travail. Il est possible de partager votre stash avec le responsable officiel de la traduction de votre langue par ce que l'on appelle une pull request. Au pluriel, on écrit stashes.
  • Repository : une base de données de toutes les chaînes de caractères de l'interface de Moodle, ainsi que leur historique : anciennes versions de la traduction, etc. Le repository est hébergé sur le serveur lang.moodle.org
  • Log : affichage de l'historique de toutes les modifications des chaînes de caractères de Moodle.
Workflow de AMOS

Utilisation de Translator

Les filtres de Translator permettent d'afficher les chaînes que vous voulez traduire. De nombreuses options de filtrage sont disponibles. Il est possible de travailler sur un seul composant ou sur toutes les chaînes manquantes. On peut rechercher les chaînes contenant une expression donnée (en anglais ou dans la chaîne traduite), etc. Il est également possible de consulter les chaînes des anciennes versions de Moodle, mais celles-ci sont en lecture seule et ne peuvent pas être modifiées dans AMOS. Elles sont importées vers AMOS à partir du CVS.

En cliquant sur le champ destiné à recevoir la traduction, celui-ci devient modifiable et l'on peut y entrer la traduction. Pour valider la traduction et l'envoyer vers le Stage, il suffit de cliquer en dehors du champ.

Utilisation de Stage

Les chaînes traduites sont placées dans une zone temporaire dénommée stage dès que le curseur quitte leur champ d'édition. La stage conserve votre travail avant qu'il soit copié vers le repository (si vous êtes le responsable officiel de la traduction) ou qu'il soit stocké dans une stash et proposé au responsable pour incorporation dans le paquetage officiel.

Lors de la déconnexion de votre compte, la stage est détruite. Vous devez explicitement soit copier la stage vers le repository, soit la stocker vers une stash pour l'enregistrer de façon permanente. Si vous oubliez une de ces étapes, ou si la connexion à AMOS est interrompue inopinément, par exemple si le navigateur plante, une copie de votre stage la plus récente est automatiquement enregistrée dans la stash AUTOSAVE.

Si vous êtes le responsable officiel de la traduction de Moodle dans une langue, vous pouvez copier (commit) le contenu de la stage vers le repository afin que le travail effectué soit enregistré et que les modifications de la traduction soient intégrées dans le paquetage de langue officiel. Les paquetages de langue en format ZIP sont générés chaque heure (à la 45e minute) et publiés sur http://download.moodle.org/langpack/2.0/. Simultanément, ils sont disponibles pour la mise à jour automatique des langues des installations de Moodle.

Importation de fichier

Remarque : la traduction de cet article n'est pas terminée. N'hésitez pas à traduire tout ou partie de cette page ou à la compléter. Vous pouvez aussi utiliser la page de discussion pour vos recommandations et suggestions d'améliorations.


Les chaînes de caractères peuvent être traduites dans un autre outil et importées dans AMOS ultérieurement. Le seul format d'importation supporté actuellement est le format PHP habituellement utilisé par Moodle, dans lequel les chaînes sont définies dans un tableau associatif dénommé $string. Pour des raisons évidentes de sécurité, AMOS ne peut pas exécuter des fichiers PHP déposés par des utilisateurs. En revanche, il analyse le fichier déposé, comme le ferait l'analyseur de PHP, et y détecte les définitions valides de chaînes de caractères (cela a pour conséquence que du code PHP valide n'est pas toujours une définition de chaîne Moodle valide). L'analyseur de AMOS requiert les conditions suivantes :

  • le nom de fichier est un nom de composant valide utilisé par Moodle, par exemple moodle.php, enrol_manual.php ou workshop.php ;
  • le fichier est un fichier PHP valide, sans erreur de syntaxe ; cela signifie qu'il passe avec succès l'analyse de l'outil de vérification de syntaxe PHP lint ;
  • les chaînes de caractères sont définies comme des éléments du tableau global $string ;
  • les chaînes sont des constantes délimitées par des apostrophes droites simples.

Voici un exemple de fichier valide pouvant être importé dans AMOS (nom de fichier countries.php, traduction en français)

<?php

$string['AE'] = 'Émirats Arabes Unis';
$string['AX'] = 'Îles Åland';
$string['CH'] = 'Suisse';
$string['CZ'] = 'République Tchèque';
$string['VA'] = 'Saint-Siège (État de la Cité du Vatican)';

?>

Au cours de l'importation, les chaînes détectées dans le fichier sont ajoutées à votre stage comme si elles avaient été saisies directement dans AMOS. Vous pouvez alors les transférer dans le repository si vous possédez les autorisations adéquates.

Utilisation de Stash

À tout instant, il est possible d'enregistrer l'état actuel de la stage. Un tel enregistrement est appelé stash. Les chaînes enregistrées dans une stash sont conservées indéfiniment, jusqu'à ce que leur auteur les efface manuellement (merci de ne pas abuser de cette largesse et de ne pas exagérer la taille de vos stashes). Une stash peut être recopiée vers la stage.

Votre stash peut également être proposée au responsable officiel de la traduction dans votre langue pour être incorporée dans le repository. Après avoir traduit quelques chaînes dans votre stage, vous les enregistrez dans une stash et créez une pull request. Cela marquera la stash comme disponible pour le responsable de la traduction, qui aura alors la possibilité de la copier dans sa propre stage, de la contrôler et de la modifier au besoin, puis de la copier dans le paquetage de langue. Veuillez noter que les responsables de traduction ne sont pas informés automatiquement — ni par courriel, ni par une annonce lors de leur connexion à AMOS — de l'existence des pull requests (intentionnellement, pour éviter le spam). Veuillez informer le responsable de votre contribution par d'autres moyens, par exemple avec un message personnel de Moodle, via un forum ou directement par courriel. Nous recommandons de toute manière que les contributeurs à la traduction soient en contact avec le responsable officiel de la traduction. AMOS n'est pas destiné à remplacer ces communications.

Votre pull request est mise à disposition des responsables de toutes les langues que vous modifiez dans votre stash. Après réception d'une confirmation de la part du responsable que votre travail a été accepté, il vous est conseillé de supprimer (drop) la stash proposée.

Une stash spéciale, appelée AUTOSAVE, conserve automatiquement la version la plus récente de la stage. Elle vous sera utile si vous perdez la stage actuelle, par exemple si votre navigateur se plante, si la connexion à Internet est interrompue ou si vous retirez accidentellement de la stage (unstage) les chaînes traduites. Quand cela arrive, il vous suffit de recopier la stash AUTOSAVE dans votre stage pour récupérer votre travail. La stash AUTOSAVE est mise à jour chaque fois qu'une chaîne est traduite dans la stage. Ainsi, si votre stage est vide et que AUTOSAVE est remplie de chaînes et que vous allez dans le translator avant de copier la stash dans la stage, AUTOSAVE sera remplacée par la chaîne nouvellement traduite. Nous vous recommandons de vous entraîner à utiliser cette fonctionnalité.

Utilisation de Log

Cet outil affiche les modifications effectuées dans les chaînes de caractères de Moodle. Il n'est pas encore complètement implémenté. Des filtres sont prévus, qui permettront de rechercher des modifications spécifiques de chaînes, de façon analogue à l'outil Translator.

Contribuer à un paquetage de langue

AMOS permet aux membres de la communauté d'aider à la traduction des chaînes de caractères de Moodle. À l'heure actuelle, la fonctionnalité est un peu expérimentale et l'interface utilisateur et le processus lui-même devraient être simplifiés à l'avenir (vous pouvez fournir des retours d'expérience, et des idées d'amélioration !). Les étapes suivantes décrivent le cycle de la contribution :

Les étapes pour le contributeur :

  1. Utiliser l'interface de traduction AMOS pour traduire les chaînes manquantes ou modifier la traduction actuelle
  2. Aller sur la page stage
  3. Sauvegarder le contenu actuel de la stage dans une nouvelle stash. Vous devez déjà savoir que stash est un instantané de la stage actuelle.
  4. Aller sur la page stashes
  5. Appuyer sur le bouton "Pull request" à côté de la stash que vous voulez soumettre au responsable de la traduction
  6. Attendre le message du responsable de la traduction

Les étapes pour le responsable de la traduction :

  1. Aller sur la page stashes, vous pourrez voir les "Pull request" en attente
  2. Appliquer la stash contribuée. Les chaînes seront copiés dans votre stage.
  3. Aller sur la page stage
  4. Examiner, éventuellement modifier et/ou valider
  5. Prévenir le contributeur qu'il devrait supprimer la stash partagée