Calendrier: changer le nom des mois

Calendrier: changer le nom des mois

par Patricia Wilet,
Nombre de réponses : 4

Bonsoir à tous,

Je crée en ce moment un environnement Moodle pour des débutants en langue, et j'essaie donc d'adapter la plate-forme en conséquence. Je souhaite notamment pouvoir afficher certaines informations du calendrier dans la langue cible, à savoir uniquement le nom des jours et des mois. J'ai pu sans problème faire le changement dans le fichier php du calendrier en ce qui concerne les jours; mais je n'ai pas réussi pour ce qui est des mois, car le réglage de leur nom ne semble pas se faire au même endroit. J'ai examiné une partie des fichiers php situés dans le dossier pour voir sur lequel était située cette variable, mais je n'ai pas pu trouver celui qui correspondait.

Quelqu'un connaissant le fonctionnement php de Moodle saurait-il où je dois aller pour pouvoir faire ce changement?

Moyenne des évaluations  -
En réponse à Patricia Wilet

Re: Calendrier: changer le nom des mois

par Alexandre Scherbyna,

Bonsoir Patricia,

Hélas, vous avez raison. Le format de dates (les noms des mois etc.) est  défini au niveau de serveur et pas au niveau de Moodle 1.X. Mais dans Moodle 2.X si l’utilisateur choisit une autre langue d’interface alors la langue de noms des mois et des jours se change aussi.

Mais si vous le voulez, vous pouvez essayer de remplacer la fonction userdate dans le fichier lib/moodlelib.php par la fonction proposée ici et ajouter les noms des mois dans les fichiers lang/en/calendar.php et lang/ ??(votre langue)/calendar.php.

Mais attention. Ça fonctionnait en 2006. Il faut vérifier si ça fonctionne toujours pour Moodle 1.9 actuel.  

Moyenne des évaluations Utile (1)
En réponse à Alexandre Scherbyna

Re: Calendrier: changer le nom des mois

par Pascal Boulerie,

Le code indiqué par Alexandre se trouve plus précisément ici :

http://moodle.org/mod/forum/discuss.php?d=36397&parent=174128

(c'est une discussion en russe, mais le code est intelligible sans traduction en français)

 

à devoir changer le fichier ./lib/moodlelib.php

une solution de bourrin peut être de faire une série de modifications directes vers la ligne 1283 :

            $datestring = str_replace('January', 'janvier', $datestring) ;
            $datestring = str_replace('February', 'février', $datestring) ;

à insérer en dessous de la section :

/// If we are running under Windows convert from windows encoding to UTF-8
/// (because it's impossible to specify UTF-8 to fetch locale info in Win32)

   if ($CFG->ostype == 'WINDOWS') {
       if ($localewincharset = get_string('localewincharset')) {
           $textlib = textlib_get_instance();
           $datestring = $textlib->convert($datestring, $localewincharset, 'utf-8');
       }
   }

PS ça marche sur un serveur 1.9.x

En réponse à Pascal Boulerie

Re: Calendrier: changer le nom des mois

par Patricia Wilet,

Bonsoir à tous les deux, et merci pour vos réponses.  J'essaie pour le moment de défricher un peu tout cela, n'ayant que des notions très élémentaires en PHP. J'en profite également pour tenter de comprendre un peu le fonctionnement technique de la plate-forme: en ce qui concerne le calendrier justement, comment le serveur arrive-t-il à afficher le nom des mois dans la langue que l'on choisit pour faire fonctionner Moodle? Ne va-t-il à aucun moment chercher l'information dans les divers packs de langue que l'on a téléchargé?

En réponse à Patricia Wilet

Re: Calendrier: changer le nom des mois

par Pascal Boulerie,

C'est expliqué ici :

http://moodle.org/mod/forum/discuss.php?d=71466&mode=1

 

Moodle fonctionne en étant hébergé par un serveur existant.

Le serveur fonctionne sur un système d'exploitation tel que Debian Linux.

Les informaticiens qui ont développé Debian Linux utilisent leurs propres fichiers de configuration.

Moodle vient au dessus du système. Mais dans le cas particulier du calendrier, c'est dans la couche logicielle en dessous que l'information de date est traitée.