Problème de "locale" sous Windows 2003 Server

Problème de "locale" sous Windows 2003 Server

par Rudy Potdevin,
Nombre de réponses : 12
Avatar Moodleurs particulièrement utiles
Bonjour,
J'ai un souci (je sais que je ne suis pas le seul) avec les dates en anglais dans le Calendrier (et ailleurs). J'ai lu sur le sujet dans divers posts mais je ne trouve pas de solution pour autant sous Windows 2003 Server. J'utilise Moodle 1.8.3+ et l'originalité est que les dates sont parfois en anglais et parfois en français ! J'ai tenté de forcer la locale dans les paramètres d'administration en fr_FR.UTF-8 (et d'autres) mais les symptomes restent identiques. J'ai vérifié dans les options linguistiques du serveur que les langues Français (Belgique) et Français (France) était bien installé. Que puis-je faire ? Qui aurait un indice ? Que feriez-vous à ma place ?
Merci d'avance !
Annexe dates.jpg
Moyenne des évaluations  -
En réponse à Rudy Potdevin

Re: Problème de "locale" sous Windows 2003 Server

par Valery Fremaux,

En effet, nous sommes nombreux à observer ce comportement. Parfois, rajouter une ligne

            setLocale(LC_TIME, substr(current_language(), 0, 2));

dans le code fonctionne, mais pas toujours !!

Ca a marché pour use_stat, mais ce n'est pas satisfaisant !!

En réponse à Rudy Potdevin

Re: Problème de "locale" sous Windows 2003 Server

par Association fsf,

Bonjour,

Nous avons aussi le même problème que nous cherchons à régler (serveur Oxito et Moodle 1.8.3+).

Au début lors de l'installation, nous ne pouvions pas télécharger la langue durant l'installation. Après avoir contacté l'administrateur sur ce problème, sa réponse :

Je suppose que cela doit être du à l'utilisation de la fonction "fopen" pour le téléchargement des langues qui est bloquée par défaut.

Vous pouvez me donner un site sur lequel je peux activer la fonction "fopen" pour faire le test.

Meilleures salutations

Après activation, le pb a été réglé. Nous avons repris l'installation de la façon suivante :

1) Destruction de la base de données à partir de l'interface de oxito

2) Création d'une nouvelle base de données ( avec le même nom)

3) Destruction du fichier config.php

4) Reprise de l'installation ( cette fois-ci, il est possible de télécharger le paquetage français. L'installation se déroule sans problèmes

5) LE CALENDRIER RESTE ENCORE AVEC LES MOIS EN ANGLAIS MALGRE UNE INSTALLATION EN FRANÇAIS

( le cache a été vidé )

L'administrateur ayant été encore avisé, voici sa réponse:

L'utilisation des locales sur nos serveurs est tout à fait possible, vous pouvez par exemple spécifier simplement dans le code : setlocale (LC_TIME, 'fr_FR'); et ça devrait fonctionner.

Nous venons dans ce forum pour savoir où sont les fichiers qui contiennent ce script à modifier?

En espérant que cette information vous soit utile

En réponse à Association fsf

Re: Problème de "locale" sous Windows 2003 Server

par Nicolas Martignoni,
Avatar Développeurs Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

Bonjour Association (je présume qu'il s'agit du prénom clin d’œil),

Tu devrais jeter un coup d'oeil sur cette discussion pour être au clair sur les "locales". L'utilisation du script de Joseph disponible dans cette discussion te permettra de connaître les "locales" effectivement disponibles sur ta machine. Cependant, je rappelle que le champ doit en principe être vide pour permettre le changement de langue des utilisateurs. Dans un environnement strictement monolingue, il peut être renseigné à l'aide du locale adéquat, qui sera alors figé.

Le problème que tu évoques concernant le chargement des paquetages de langue n'est pas lié. Le diagnostic de ton administrateur concernant l'utilisation de la fonction fopen est correct.

En réponse à Association fsf

Re: Problème de "locale" sous Windows 2003 Server

par Rudy Potdevin,
Avatar Moodleurs particulièrement utiles

Bonjour et merci à tous pour vos réponses !

Personnellement j'ai ajouté la ligne de Valery : "setLocale(LC_TIME, substr(current_language(), 0, 2));" dans le fichier \blocks\calendar_month\block_calendar_month.php (notre page d'accueil proposant un bloc calendrier). Je n’arrive plus à reproduire le problème ! Ca ne veut pas dire qu’il est résolu, mais bien que je n’arrive plus à le reproduire pour l'instant clin d’oeil A suivre...

Encore merci !

En réponse à Rudy Potdevin

Re: Problème de "locale" sous Windows 2003 Server

par Rudy Potdevin,
Avatar Moodleurs particulièrement utiles

Bonjour à tous,

Je relance cette discussion pour y fournir une meilleure solution (une fois n'est pas coutume). Après ma petite modification dans le calendrier, j’ai encore constaté le problème des dates en anglais à d’autres endroits. Finalement, je pense avoir trouvé une solution plus globale en ajoutant la fameuse ligne :

setLocale(LC_TIME, substr(current_language(), 0, 2));

dans le fichier \lib\moodlelib.php au début de la fonction userdate qui est utilisée un peu partout dans Moodle pour afficher des dates (insertion à la ligne 1000 du fichier). Plus aucun symptôme depuis lors.

J'espère que cela sera utile à d'autres...

Moyenne des évaluations Utile (1)
En réponse à Rudy Potdevin

Re: Problème de "locale" sous Windows 2003 Server

par Étienne Rozé,
Si cela se confirme, cela vaudrait une entrée dans le bugtracker !
Moyenne des évaluations Utile (1)
En réponse à Étienne Rozé

Re: Problème de "locale" sous Windows 2003 Servere

par Séverin Terrier,
Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs
Tout à fait sourire

Et de toute façon, cela pourrait être proposé : au pire, les développeurs constateraient un éventuel problème, et ne feraient pas la modif, ou ils feraient mieux clin d’œil

De plus, déclarer un bug, avec une solution, peut faire gagner des points pour le bugathon sourire clin d’œil
En réponse à Séverin Terrier

Re: Problème de "locale" sous Windows 2003 Server

par Rudy Potdevin,
Avatar Moodleurs particulièrement utiles

Salut !

Si l'un de vous deux participe au bugathon, je lui laisse volontiers le soin de signaler le bug et sa solution à son nom (mon anglais étant très approximatif rouge). On ne m'a plus signalé de dates en anglais depuis lors, et j'ai vérifié à de nombreux endroits moi-même en insistant (calendrier, modules d'activités, logs). Toutefois, je constate que la version 1.8.4 vient de sortir. Peut-être cette correction vient-elle d'être apportée dans celle-ci ? Je vais vérifier cette semaine.

En réponse à Rudy Potdevin

Re: Problème de "locale" sous Windows 2003 Server

par Rudy Potdevin,
Avatar Moodleurs particulièrement utiles
Pardon, j'avais complètement oublié de revenir à cette discussion après la mise à jour vers la version 1.8.4. J'ai bien dû appliquer la même correction au même fichier.
En réponse à Rudy Potdevin

mois dans le calendrier affiché en anglais

par Pascal Boulerie,
Problème : le mois dans le calendrier est affiché en anglais.

Exemple :
Calendrier
July 2009. (ou August 2009)
Di Lu Ma Me Je Ve Sa


Pour Windows 2003 Server, voir cette autre discussion de 2007 : http://moodle.org/mod/forum/discuss.php?d=86738

Si le serveur est un Linux Debian, se référer à cette discussion de 2007 :
http://moodle.org/mod/forum/discuss.php?d=71466



Remarque : pour savoir si un serveur Linux est un serveur Debian, il faut vérifier s'il existe un fichier /etc/debian_version
En réponse à Rudy Potdevin

Re: Problème de "locale" sous Windows 2003 Server

par Pascal Boulerie,
A quel endroit du fichier block_calendar_month.php faut-il le faire précisément : au début de la fonction init() de la classe ?