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

Contenus multilingues

De MoodleDocs
Révision datée du 20 mars 2007 à 20:16 par Nicolas Martignoni (discussion | contributions) (Quelques améliorations)
Aller à :navigation, rechercher

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.


Le filtre Contenus multilingues permet de créer des ressources en plusieurs langues. Quand il est activé, il cherche des balises <span lang="xx" class="multilang"> qui indiquent qu'un texte contient plusieurs langues. Ensuite, il sélectionne et utilise la langue à présenter pour l'utilisateur. La langue d'une ressource changera si l'utilisateur change la langue dans son profil.

Moodle1.8

La syntaxe du filtre multilingue a été modifiée dès Moodle 1.8. La syntaxe <lang> n'est plus supportée. Il est en outre nécessaire d'ajouter class="multilang" dans chaque balise <span> d'un bloc multilingue. La nouvelle syntaxe est compatible avec les anciens filtres, ce qui signifie qu'elle peut être utilisée avec d'anciennes versions de Moodle.

Comment utiliser le filtre multilingue ?

Pour utiliser cette fonctionnalité, vous devez d'abord créer votre contenu dans plusieurs langues (dans la même ressource). Ensuite, encadrez le bloc de chaque langue (bloc multilingue) par les balises suivantes :

      <span lang="XX" class="multilang">votre contenu ici</span>
      <span lang="YY" class="multilang">votre contenu dans une autre langue ici</span>

Pour saisir ces balises, il est impératif d'être en Mode code HTML (cliquez sur [<>] dans l'éditeur WYSIWYG). Seuls les espaces, tabulations et retours à la ligne peuvent être utilisés entre les différentes langues d'un bloc multilingue. Notez que class="multilang" n'est pas nécessaire avant Moodle 1.8.

Le code suivant NE fonctionne PAS

      <lang="XX">votre contenu ici</lang>
      <lang="YY">votre contenu dans une autre langue ici</lang>

L'ancienne syntaxe

      <lang lang="XX">votre contenu ici</lang>
      <lang lang="YY">votre contenu dans une autre langue ici</lang>

      <span lang="XX">votre contenu ici</span>
      <span lang="YY">votre contenu dans une autre langue ici</span>

ne fonctionnera pas avec les versions 1.8 et ultérieures de Moodle. Dès la version 1.8, l'attribut lang sans class="multilang" peut être utilisé pour marquer la langue du texte - voir http://www.w3.org/TR/html4/struct/dirlang.html.

Comment cela fonctionne en interne ?

  1. Le filtre cherche d'abord les blocs multilingues dans le texte.
  2. Pour chaque bloc multilingue :
    • s'il y a des textes dans la langue active, le filtre les affiche ;
    • sinon, s'il y a des textes dans la langue parente de la langue active, le filtre les affiche ;
    • sinon, le filtre affiche la première langue trouvée dans le texte.
  3. Les textes en dehors des blocs multilingues sont toujours affichés

Résumé de cours et balise de titre

Pour que le filtre fonctionne également dans les titres, la barre de navigation et les résumés des ressources, il faut activer l'option Filtrer toutes les chaînes de caractères dans l'administration du site, sous Présentation > Réglages filtres.

 <span lang="en" class="multilang">Mathematics</span> <span lang="fr" class="multilang">Mathématiques</span>

formera un titre en anglais et en français.

Cela fonctionne de la même façon dans le résumé du cours :

<span lang="en" class="multilang">Growth is often a major concern in planning society.
 How can one avoid superficial conclusions?</span>
 <span lang="fr" class="multilang">La croissance est souvent une difficulté majeure de la planification
 Comment peut-on éviter les conclusions superficielles ?</span>

Traductions avec balises

If I were to want to translate a word or phrase to a chosen language in an English text:

If I want to include an explanation <span lang="en"> </span>
 <span lang="sv" class="multilang">(sv: förklaring)</span> in a running text can I do it?
<br />
<br /><span lang="en" class="multilang>If I want to include an explanation in a running text
 can I do it? </span>
<span lang="sv" class="multilang>If I want to include an explanation (sv: förklaring) in a 
running text can I do it?</span>

would both work, but not:

If I want to include an explanation <span lang="en" class="multilang></span>
 <span lang="sv" class="multilang>(sv: förklaring)</span> in a running text can I do it?
<br />If I want to include an explanation <span lang="sv" class="multilang>(sv: förklaring)</span>
 in a running text can I do it?<br />

which would show the Swedish even if English was the chosen language. NOTE taht before 1.8 the "span lang=en" must contain something, at least a space.

Nouvelle syntaxe multilingue

Moodle1.8


  • Les balises <span lang="xx"> et <lang> ne doivent plus être utilisées.
  • Les contenus existants peuvent être mis à jour en utilisant le script admin/multilangupgrade.php. Un lien vers ce script est présenté sur la page de notification administrateur si la mise à jour est requise.
  • Le filtre multilingue peut être configuré pour utiliser uniquement l'ancienne syntaxe. Voir l'option Imposer l'ancienne syntaxe du filtre multilingue dans les paramètres du filtre. Ce paramètre est susceptible d'être supprimé en 1.9.
  • La nouvelle syntaxe est imposée dans les nouvelles installations de Moodle 1.8. Pour les sites mis à jour, la nouvelle syntaxe est activée après la mise à jour des contenus multilingues.

Résolution de problèmes habituels

  • Les contenus de toutes les langues sont affichés : le filtre Contenus multilingues n'est pas activé. Activez-le dans l'administration du site, sous Modules > Filtres.
  • Les titres et la barre de navigation ne fonctionne pas comme prévu : l'option Filtrer toutes les chaînes de caractères n'est pas activée. Activez-la dans l'administration du site, sous Présentation > Réglages filtres.
  • Des caractères parasites s'affichent entre les textes des différentes langues : l'éditeur WYSIWYG ajoute parfois des <br /> ou d'autres balises. Contrôlez votre texte en mode HTML.

Voir aussi