Sujet : Les dates affichées sont en anglais

Bonjour,

Pouvez-vous faire le nécessaire ou me donner le bon code ou une autre commande
LC_TIME en francais
Voila la commande testée :
$loc_fr = setlocale(LC_TIME, 'fr_FR','fr','FR','french','fra','france','French','fr_FR.ISO8859-1','fr_FR.ISO_8859-1','FR_fr','');
echo "L'identifiant sur ce système est '$loc_fr'";

J'obtiens 'C'..


Help me please !!!

2

Re: Les dates affichées sont en anglais

Passe pas un JavaScript ou avec une boucle pour que le mois soit bon...

Ton truc est vachement long pour donner une date big_smile

3

Re: Les dates affichées sont en anglais

Euh, je n'ai pas tout compris moi...
Je viens d'installer GRR (gestion de ressources léger pour réservation de salles, de matériel, etc) et le calendrier est en anglais (jours et mois).
Que faut-il faire pour mettre tout ça en français?
Merci !

4

Re: Les dates affichées sont en anglais

Bonsoir,

Pourtant ca devrait marcher, la locale fr_FR est installée sur le système:

# locale -a
C
en_US.utf8
fr_FR.utf8
POSIX
lesCigales.ORG sysadm1n
L'hébergeur qui sent bon la lavande - Un control panel qu'il est chouette - Viendez nous parler!
"All that is necessary for evil to triumph is for good men to do nothing."

5

Re: Les dates affichées sont en anglais

J'ai regénéré les locales francaises, veuillez réessayer et me dire si ca ne marche toujours pas.

lesCigales.ORG sysadm1n
L'hébergeur qui sent bon la lavande - Un control panel qu'il est chouette - Viendez nous parler!
"All that is necessary for evil to triumph is for good men to do nothing."

6

Re: Les dates affichées sont en anglais

Les dates et calendriers sont toujours en français.

7

Re: Les dates affichées sont en anglais

Ok en fait je répondais à Cyril, pour votre problème je vous recommande de vous renseigner dans la documentation de votre logiciel ou sur leur forum.

lesCigales.ORG sysadm1n
L'hébergeur qui sent bon la lavande - Un control panel qu'il est chouette - Viendez nous parler!
"All that is necessary for evil to triumph is for good men to do nothing."

8

Re: Les dates affichées sont en anglais

Dans les FAQ, la question a déjà été posée et il semble que ce soit une question de paramétrage du serveur PHP, et voici la réponse :

Je rencontre un problème de configuration des dates dans GRR : les noms des jours et des mois s’affichent en anglais alors que tout le reste de l’application est en français.

Cela tient sans doute à la configuration du serveur PHP concernant les "locales". Parmi les "locales" testées par GRR dans le fichier /include/language.inc.php (fr_FR, fr_FR@euro, fr_FR.ISO8859-1, French, france ...) aucune n’est disponible dans votre système.

Si vous avez accès au serveur, essayez en mode console, la commande "locale -a" afin de savoir quelles sont les locales disponibles.

Une solution consiste alors à ajouter sur votre serveur une locale reconnue par GRR sur votre système (recherche sur Google pour savoir comment faire).

Par exemple, sur une distribution linux basée sur debian, la commande suivante, suivie d’un redémarrage du serveur apache devrait suffire :
apt-get install locales-all

A noter également qu’on rencontre le problème sur certains serveurs qui ont bien le support fr_Fr mais pas par défaut. La variable setlocale de php ne semble prendre en compte que la valeur par défaut de la variable locale du système. Le problème est alors résolu en mettant par défaut fr_FR.

9

Re: Les dates affichées sont en anglais

Bonjour seb31,

Alors au risque de me répéter, je m'auto-quote:

Le maitre de l'univers a écrit:

J'ai regénéré les locales francaises, veuillez réessayer et me dire si ca ne marche toujours pas.

Il avait aussi dit.. a écrit:

Bonsoir,

Pourtant ca devrait marcher, la locale fr_FR est installée sur le système:
[..]

En privé, il s'est étonné: a écrit:

Mais ils sont aveugles ces utilisateurs !

lesCigales.ORG sysadm1n
L'hébergeur qui sent bon la lavande - Un control panel qu'il est chouette - Viendez nous parler!
"All that is necessary for evil to triumph is for good men to do nothing."

10

Re: Les dates affichées sont en anglais

Eh bien je suis peut-être aveugle, mais désolé ça ne marche pas, c'est toujours en anglais. J'ai déjà utilisé ce logiciel et le calendrier apparaissait bien en français.
Voici ce que cela donne :
http://espacelangues.lescigales.org/
Voilà un exemple en français :
http://espacelangues.olympe-network.com/

11

Re: Les dates affichées sont en anglais

Oui je comprends, mais je ne vois pas trop d'où ca pourrait venir vu que la locale fr_FR est bien présente sur le serveur.

N'hésitez pas à m'envoyer toute information disponible sur le sujet.

lesCigales.ORG sysadm1n
L'hébergeur qui sent bon la lavande - Un control panel qu'il est chouette - Viendez nous parler!
"All that is necessary for evil to triumph is for good men to do nothing."

12

Re: Les dates affichées sont en anglais

Si j'ai bien compris, il y a plusieurs types de "locales" différentes qui ne sont pas forcément toutes installées sur le serveur, certaines n'étant pas reconnues par GRR, d'où le conseil qu'ils donnent de le installer toutes d'après ce que j'ai lu. Je vous renvoie à mon précédent message de 9h23 ce même jour ci-dessus dans lequel j'ai inséré la réponse trouvée dans la FAQ de GRR quant à ce problème.
Il semblerait aussi que lorsque la locale fr_Fr est disponible, il faut qu'elle le soit par défaut, sinon ça ne marche pas (voir ci-dessus là encore).
Je ne suis qu'utllisateur de ce logiciel et je ne fais que constater sans avoir plus de compétences techniques que ça.
Voici le site de GRR : http://grr.mutualibre.org/
Ce n'est pas que ce problème soit absolument fondamental, mais le moins qu'on puisse dire c'est que cela ne fait pas très "propre", et vu qu'il s'agit d'un site pour gérer un espace multimédia destiné à l'enseignement des langues vivantes, je vois tout de suite des sensibilités "non-anglophones" protester vigoureusement contre l'invasion de l'anglais...

13

Re: Les dates affichées sont en anglais

Le calendrier est toujours en anglais.
Pas de nouvelles ?

14

Re: Les dates affichées sont en anglais

Avez vous demandé des précisions aux gens qui gèrent ce logiciel ?

lesCigales.ORG sysadm1n
L'hébergeur qui sent bon la lavande - Un control panel qu'il est chouette - Viendez nous parler!
"All that is necessary for evil to triumph is for good men to do nothing."

15

Re: Les dates affichées sont en anglais

Voici une réponse que j'ai obtenue :

Les locales installées précédemment sur le serveur:
/var/www/grrv2/include# locale -a
C
fr_FR.utf8
POSIX

J'ai rajouté comme locale fr_FR.iso88591:
# locale -a
C
français
french
fr_FR
fr_FR.iso88591
fr_FR.utf8
POSIX*
*
Maintenant les semaines et les mois sont en français.)

Cela semble correspondre à ce ue j'avais trouvé dans la FAQ (voir plus haut).

16

Re: Les dates affichées sont en anglais

Je viens de regarder le code de grr + de faire quelques tests sur le serveur

Le code suivant renvoie bien une date francaise:

setlocale(LC_TIME, 'fr_FR.utf8');
echo strftime("%A %e %B", time()); // affiche samedi 13 novembre

Malheureusement GRR semble avoir été écrit avant tout pour un public francais et le support UTF8 / langues différentes est particulier:
- la traduction de textes se fait selon des tableaux (au lieu d'utiliser gettext et donc setlocale())
- la traduction des données relatives au temps se fait grâce à gettext (setlocale(LC_TIME))
- l'exploitation d'UTF8 doit être configurée manuellement comme le montre ce bout de code de la version 197d:

if ($unicode_encoding) {
 
               if (setlocale(LC_TIME,'fr_FR.utf-8') == TRUE) $ok = 'yes';
 
               else if (setlocale(LC_TIME,'fr_FR.utf8') == TRUE) $ok = 'yes';
 
               else if (setlocale(LC_TIME,'fr-utf-8') == TRUE) $ok = 'yes';
 
            } else {

source: includes/language.inc.php

Et la variable à configurer se trouve dans includes/config.inc.php:

# Positionner la valeur $unicode_encoding à 1 pour utiliser l'UTF-8 dans toutes les pages et dans la base
# Dans le cas contraire, les textes stockés dans la base dépendent des différents encodage selon la langue selectionnée par l'utilisateur
# Il est fortement conseillé de lire le fichier notes-utf8.txt à la racine de cette archive
$unicode_encoding = 0;

Mais cela semble modifier également l'usage de la base qui est à convertir (la méthode est expliquée dans la documentation).

lesCigales.ORG sysadm1n
L'hébergeur qui sent bon la lavande - Un control panel qu'il est chouette - Viendez nous parler!
"All that is necessary for evil to triumph is for good men to do nothing."

17

Re: Les dates affichées sont en anglais

Je pense que ce genre de logiciels aurait tout à gagner en packagant sa propre traduction gettext pour tous les textes ainsi que les données de temps smile

lesCigales.ORG sysadm1n
L'hébergeur qui sent bon la lavande - Un control panel qu'il est chouette - Viendez nous parler!
"All that is necessary for evil to triumph is for good men to do nothing."

18

Re: Les dates affichées sont en anglais

J'ai déjà vérifié le fichier de configuration en question et la variable
$unicode_encoding = 0;
est déjà sur 0.
J'avais vu cette explication dans les archives, mais ce n'est visiblement pas ça.

19

Re: Les dates affichées sont en anglais

Heu..
Il faut justement mettre cette variable à 1.. prière de prendre le temps de lire.

lesCigales.ORG sysadm1n
L'hébergeur qui sent bon la lavande - Un control panel qu'il est chouette - Viendez nous parler!
"All that is necessary for evil to triumph is for good men to do nothing."

20

Re: Les dates affichées sont en anglais

Ok. J'avais sans doute mal lu, j'avais compris qu'il fallait garder la valeur 0.
J'ai mis 1 et apparemment ça marche.
Je n'ai pas touché à rien sur la base, vu que ça a l'air de fonctionner comme ça, mais à suivre.
Je n'ai pas tout compris (je ne suis pas informaticien) mais tant que ça marche...
Merci beaucoup  !

21

Re: Les dates affichées sont en anglais

Salut,

C'est étrange leur manière d'utiliser la fonction setlocale() pour modifier les informations de localisation.

if (setlocale(LC_TIME,'fr_FR.utf-8') == TRUE) $ok = 'yes';
else if (setlocale(LC_TIME,'fr_FR.utf8') == TRUE) $ok='yes';
else if (setlocale(LC_TIME,'fr-utf-8') == TRUE) $ok = 'yes';

Car d'après la documentation de la fonction...

string setlocale ( int $category , string $locale [, string $... ] )

La valeur retournée est une chaine de caractère en cas de succès...

Valeur de retour
Retourne la nouvelle configuration locale, ou FALSE si la localisation n'est pas implémentée sur votre plate-forme, si la variable de localisation n'existe pas, ou si la catégorie spécifiée n'est pas valide.

Ils auraient dû écrire...

if (setlocale(LC_TIME,'fr_FR.utf-8') !== false) $ok = 'yes';
else if (setlocale(LC_TIME,'fr_FR.utf8') !== false) $ok='yes';
else if (setlocale(LC_TIME,'fr-utf-8') !== false) $ok = 'yes';

Mais d'après la documentation concernant le(s) paramètre(s) $locale...

Si locale est un tableau ou bien est suivi par des paramètres additionnels, alors chaque élément du tableau ou chaque paramètre tente d'être défini comme nouvelle locale jusqu'à ce qu'un réussisse. Cela est pratique si la locale est connue sous différents noms sur des systèmes différents ou bien pour prévoir une autre valeur en cas de non disponibilité de la locale choisie.

Il aurait été plus simple d'écrire...

if(setlocale(LC_TIME,'fr_FR.utf-8','fr_FR.utf8','fr-utf-8')!==false)$ok='yes';

Non ?

22 Dernière modification par seb31 (14-11-2010 00:20:45)

Re: Les dates affichées sont en anglais

Trop calé pour moi tout ça même si y a clairement quelque-chose qui coince car la question semble revenir souvent.
En attendant, j'ai le, calendrier en français mais les é sont remplacés par ?
et quand je règle ça dans firefox (iso 8859-1) ça ne reste pas dès que je recharge la page ou que je me reconnete.

23

Re: Les dates affichées sont en anglais

Ah oui les ? faut toucher à la base de données.
Galère ça.
Retour à l'anglais faute de temps. On verra plus tard c'est pas terrible comme ça mais franchement ça devient lourd.

24

Re: Les dates affichées sont en anglais

Pas forcément Eric, la notation if (quelque chose) revient automatiquement à demander si if (quelque chose != false) donc ca passe..

Ce qui aurait été peut être plus souhaitable dans ce code est d'avoir quelque chose qui permette de lister les locales installées sur le serveur au lieu de chercher 'au pif'.

lesCigales.ORG sysadm1n
L'hébergeur qui sent bon la lavande - Un control panel qu'il est chouette - Viendez nous parler!
"All that is necessary for evil to triumph is for good men to do nothing."

25

Re: Les dates affichées sont en anglais

Bien  j'ai effectué la sauvegarde de la base de données pour la convertir en utf8 et je me suis aperçu qu'elle était déjà à ce format. Pourtant j'ai des ? au lieu des accents si je mets en utf8 dans le fichier de config.