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 » : différence entre les versions

De MoodleDocs
Aller à :navigation, rechercher
m (Contenu multilingue déplacé vers Contenus multilingues)
 
(9 versions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
{{En cours de traduction}}
Le filtre ''Contenus multilingues'' permet de créer des ressources en plusieurs langues. Quand il est activé, il cherche des balises <nowiki><span lang="xx" class="multilang"></nowiki> 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.


Moodle permet de faire apparaitre différentes ressources en fonction du langage des utilisateurs. Il existe un filtre nommé ''Contenus multilingues'' (voir [[Filtres (administrateur)]]) qui devrait être activé. Cette page détaille plusieurs façons d'afficher des ressources à l'utilisateur en fonction de son langage.
{{Moodle 1.8}}La syntaxe du filtre multilingue a été modifiée dès Moodle 1.8. La syntaxe <nowiki><lang></nowiki> n'est plus supportée. Il est en outre nécessaire d'ajouter ''class="multilang"'' dans chaque balise <nowiki><span></nowiki> 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.


== Présentation du multi langage ==
== 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 :


Voir aussi : [[Filtres_%28administrateur%29#Contenus_multilingues]]
  <nowiki><span lang="XX" class="multilang">votre contenu ici</span>
  <span lang="YY" class="multilang">votre contenu dans une autre langue ici</span></nowiki>


Le filtre ''Contenus multilingues'' permet à des ressources d'être crées en plusieurs langues. Quand il est activé, il cherche des balises <nowiki><span lang="xx" class="multilang"></nowiki> qui indiquent qu'un texte contient des langages multiples. Ensuite, il sélectionne et utilise le meilleur langage pour l'utilisateur. Le langage d'une ressource changera si l'utilisateur change son langage préféré.
Pour saisir ces balises, il est impératif d'être en '''Mode code HTML''' (cliquez sur <nowiki>[<>]</nowiki> 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.


La syntaxe multilangue change avec Moodle 1.8. <nowiki><lang></nowiki> n'est plus supporté. Il est nécessaire d'ajouter ''class="multilang"'' dans chaque balise <nowiki><span></nowiki> d'un bloc multilangue. La nouvelle syntaxe est compatible avec les anciens plugins, ce qui signifie qu'elle peut être utilisée avec d'anciennes versions de Moodle.
Le code suivant NE fonctionne PAS
  <nowiki><lang="XX">votre contenu ici</lang>
  <lang="YY">votre contenu dans une autre langue ici</lang></nowiki>


== Comment l'utiliser ==
L'ancienne syntaxe
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 multilangue) par les balises suivantes :
  <nowiki><lang lang="XX">votre contenu ici</lang>
  <lang lang="YY">votre contenu dans une autre langue ici</lang>


      <nowiki><span lang="XX" class="multilang">votre contenu ici</span>
  <span lang="XX">votre contenu ici</span>
      <span lang="YY" class="multilang">votre contenu dans une autre langue ici</span></nowiki>
  <span lang="YY">votre contenu dans une autre langue ici</span></nowiki>
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.


Il est nécessaire d'être en '''Mode code HTML''' (appuyez <nowiki>[<>]</nowiki> dans l'éditeur HTML), lorsque vous saisissez ces balises, pour qu'elles fonctionnent. Seuls les espaces, tabulations et retours à la ligne peuvent être utilisés entre les différents langages d'un bloc multilangue. Notez que ''class="multilang"'' n'est pas nécessaire avant Moodle 1.8.
== Comment cela fonctionne en interne ? ==


Le code suivant
# Le filtre cherche d'abord les ''blocs multilingues'' dans le texte.
      <nowiki><lang="XX">votre contenu ici</lang>
# Pour chaque bloc multilingue :
      <lang="YY">votre contenu dans une autre langue ici</lang></nowiki>
#* s'il y a des textes dans la langue active, le filtre les affiche ;
ne fonctionne PAS.
#* 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.
L'ancien balisage HTML
# Les textes en dehors des blocs multilingues sont toujours affichés
      <nowiki><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></nowiki>
ne fonctionnera pas avec 1.8 et ultérieur. En 1.8 l'attribut lang sans ''class="multilang"'' peut être utilisé pour marquer le langage du texte - voir http://www.w3.org/TR/html4/struct/dirlang.html
 
== Comment cela fonctionne en interne ==
 
# Le filtre cherche d'abord les ''blocs multilangue'' dans le texte
# pour chaque bloc multilangue :
## s'il y a des textes dans la langue active, les affiche
## sinon, s'il y a des textes dans la langue parente de la langue active, les affiche
## sinon, affiche la première langue trouvée dans le texte
# les textes en dehors des blocs multilangue sont toujours affichés


== Résumé de cours et balise de titre ==
== Résumé de cours et balise de titre ==
Pour pouvoir changer également les titres et résumés des ressources, vous devez choisir ''Filtrer toutes les chaines'' dans les choix d'administration.
Pour que le filtre fonctionne également dans les titres, la [[Barre de navigation|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.
  <nowiki> <span lang="en" class="multilang">Matematically</span> <span lang="sv" class="multilang">Matematiskt (svenska)</span></nowiki>
  <nowiki><span lang="en" class="multilang">Mathematics</span> <span lang="fr" class="multilang">Mathématiques</span></nowiki>
would function as English or Swedish title.
formera un titre en anglais et en français.


Il semble que cela ne fonctionne pas correctement pour les titres de cours (qu'ils soient longs ou courts), ni pour les catégories de cours...
Cela fonctionne de la même façon dans le résumé du cours :
 
Dans le résumé du cours :


  <nowiki><span lang="en" class="multilang">Growth is often a major concern in planning society.
  <nowiki><span lang="en" class="multilang">Growth is often a major concern in planning society.
How can one avoid superficial conclusions? <br>
How can one avoid superficial conclusions?</span>
(Exists in Swedish too. Finns på svenska också)</span>
<span lang="fr" class="multilang">La croissance est souvent une difficulté majeure de la planification
<span lang="sv" class="multilang">Tillväxt är ofta använt i samhällsdebatten.
Comment peut-on éviter les conclusions superficielles ?</span></nowiki>
Hur kan man undvika ytliga slutsatser?  
(Finns på engelska också. Exists in English too.)
<br /></span> </nowiki>
 
Can show in the chosen language (and point out that the other language is there). Notez que ''class="multilang"'' n'est pas nécessaire avant Moodle 1.8.


== Traductions avec balises ==  
== Traductions avec balises ==  
If I were to want to translate a word or phrase to a chosen language in an English text:
Si l'on souhaite traduire un mot ou une phrase dans une langue choisie dans un texte en français :


  <nowiki>If I want to include an explanation <span lang="en"> </span>
  <nowiki><span lang="fr" class="multilang>Si je veux intégrer une explication dans un texte, puis-je le faire ?</span>
<span lang="sv" class="multilang">(sv: förklaring)</span> in a running text can I do it?
Si je veux intégrer une explication <span lang="fr"> </span>
<br />
    <span lang="en" class="multilang">(en:explanation)</span> dans un texte, puis-je le faire ?
<br /><span lang="en" class="multilang>If I want to include an explanation in a running text
<span lang="en" class="multilang>Si je veux intégrer une explication (en:explanation)
can I do it? </span>
    dans un texte, puis-je le faire ?</span></nowiki>
<span lang="sv" class="multilang>If I want to include an explanation (sv: förklaring) in a
running text can I do it?</span></nowiki>


would both work, but not:
les 3 formulations ci-dessus fonctionneront toutes, mais pas les 2 suivantes :


  <nowiki>If I want to include an explanation <span lang="en" class="multilang></span>
  <nowiki>Si je veux intégrer une explication <span lang="fr" class="multilang></span>
<span lang="sv" class="multilang>(sv: förklaring)</span> in a running text can I do it?
    <span lang="en" class="multilang>(en:explanation)</span> dans un texte, puis-je le faire ?
<br />If I want to include an explanation <span lang="sv" class="multilang>(sv: förklaring)</span>
Si je veux intégrer une explication <span lang="en" class="multilang>(en:explanation)</span>
in a running text can I do it?<br /></nowiki>
    dans un texte, puis-je le faire ?</nowiki>
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.
Qui afficheront le texte anglais, même si le français était la langue choisie. NOTEZ qu'avant 1.8, "span lang=fr" doit contenir quelque chose, au moins un espace.


== Nouvelle syntaxe multilingue ==
== Nouvelle syntaxe multilingue ==
{{Moodle 1.8}}
{{Moodle 1.8}}
* <nowiki><span lang="xx"> et <lang></nowiki> ne devraient plus être utilisés
* Les balises <nowiki><span lang="xx"> et <lang></nowiki> ne doivent plus être utilisées.
* le contenu existant peut être mis à jour en utilisant le script admin/multilangupgrade.php, il y a un lien sur la page de notification administrateur si la mise à jour est requise
* 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 multilangue peut être configuré pour utiliser uniquement l'ancienne syntaxe - voir ''Multi-Language Content Settings''; ce paramètre pourra être supprimé en 1.9
* 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.
* new syntax is forced during new installation in 1.8, for upgraded sites the new syntax is enabled after the Multilang upgrade
* 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.


== Problèmes communs ==
== Résolution de problèmes habituels ==
* Multilang filter is not enabled - go to filter settings and enable it
* '''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.
* ''Filter all strings'' not enabled on sites that need multilang in titles, navigation, headings, etc.
* '''Les titres et la barre de navigation ne fonctionnent 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.
* extra characters between language span tags - editor might add <nowiki><br /></nowiki> or other tags, please review the html in source view
* '''Des caractères parasites s'affichent entre les textes des différentes langues''' : l'éditeur WYSIWYG ajoute parfois des <nowiki><br /></nowiki> ou d'autres balises. Contrôlez votre texte en mode HTML.
* extra spaces in language span tag
* Des espaces supplémentaires dans la balise span lang
* Il n'est pas simple d'accéder au menu déroulant de changement de langue ! C'est possible uniquement depuis la page d'accueil, ou an modifiant le profil. Si vous voulez changer cela, voir [http://tracker.moodle.org/browse/MDL-11531 MDL-11531]


== Voir aussi ==
== Voir aussi ==
[[Filtres (administrateur)]]
* [[Filtres (administrateur)]]
 
Les discussions suivantes sur Using Moodle (en anglais) :
Discussion http://moodle.org/mod/forum/discuss.php?d=51603 (en anglais)
*[http://moodle.org/mod/forum/discuss.php?d=51603 Multilanguage filter - does not work ...]
*[http://moodle.org/mod/forum/discuss.php?d=74340 Problems with multilang filter and SPAN tags]
*[http://moodle.org/mod/forum/discuss.php?d=94006 Multilingual Content]


[[Category:Administrateur]]
[[Catégorie:Administrateur]]
[[Category:Filtre]]
[[Catégorie:Enseignant]]
[[Catégorie:Filtre]]
[[Catégorie:Langue]]


[[en:Multi language content]]
[[en:Multi language content]]

Dernière version du 20 mai 2008 à 12:24

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

Si l'on souhaite traduire un mot ou une phrase dans une langue choisie dans un texte en français :

<span lang="fr" class="multilang>Si je veux intégrer une explication dans un texte, puis-je le faire ?</span>
Si je veux intégrer une explication <span lang="fr"> </span>
     <span lang="en" class="multilang">(en:explanation)</span> dans un texte, puis-je le faire ?
<span lang="en" class="multilang>Si je veux intégrer une explication (en:explanation)
     dans un texte, puis-je le faire ?</span>

les 3 formulations ci-dessus fonctionneront toutes, mais pas les 2 suivantes :

Si je veux intégrer une explication <span lang="fr" class="multilang></span>
     <span lang="en" class="multilang>(en:explanation)</span> dans un texte, puis-je le faire ?
Si je veux intégrer une explication <span lang="en" class="multilang>(en:explanation)</span>
     dans un texte, puis-je le faire ?

Qui afficheront le texte anglais, même si le français était la langue choisie. NOTEZ qu'avant 1.8, "span lang=fr" doit contenir quelque chose, au moins un espace.

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 fonctionnent 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.
  • Des espaces supplémentaires dans la balise span lang
  • Il n'est pas simple d'accéder au menu déroulant de changement de langue ! C'est possible uniquement depuis la page d'accueil, ou an modifiant le profil. Si vous voulez changer cela, voir [https://tracker.moodle.org/browse/MDL-11531 MDL-11531]

Voir aussi

Les discussions suivantes sur Using Moodle (en anglais) :