Bonjour,
Pourquoi faire compliqué quand on peut faire très très simple, c’est-à-dire sans rajouter et donc alourdir le code. Si vous voulez une belle date dans la langue de Molière pas la peine d’alourdir le script. Voilà comment que j’ai fait. D’abord trouver le script qui gère la date >:( >:( >:(... après avoir trouvé le bon fichier trouver parmi les 3250 lignes laquelle est la bonne >:( >:( >:( >:( >:(
Il s’agit en l’occurrence du fichier siteCache.idx.php à partir de la ligne 321. Voici à quoi que ça ressemble :
$s['DateTime'] = '/**
* DateTime
* Makes a date and time... thingy.
*
*/
if(!isset($timestamp)) {
$timestamp=time();
}
return strftime("%d-%m-%Y %H:%M:%S", $timestamp);';
Il faut juste faire deux modifications :
1/ changer le pas beau format de date de la ligne 332
return strftime("%d-%m-%Y %H:%M:%S", $timestamp);';
En local sous Windows %e (numéro du jour du mois avec une numérotation de 1 à 31 et un espace pour les chiffres

) et %G (différent de %Y voir question des nombres de semaines) ne sont pas lus... donc pas de surprise si cela ne fonctionne pas en local donc on utilisera %d et %Y en local et %e et %G en ligne sur un bon serveur UNIX.
Par :
return strftime("%A %d %B %Y %H:%M:%S", $timestamp);';
Sur serveur UNIX
return strftime("%A %e %B %G %H:%M:%S", $timestamp);';
et là on a quelque chose comme :
Wednesday 19 April 2006
Mah !!! ça est de l’anglois !
Effectivement, il manque quelque chose une information ("locale") qui dise au serveur dans quelle langue afficher les variables de temps. Vous pouvez donc afficher cette commande dans n’importe quelle langue.
Il faut ajouter à la ligne 326 ceci :
setlocale(LC_TIME, "fr");
J’ai insérer ces petites précisions qui peuvent paraître totalement inintéressantes pour un spécialiste pour quatre raisons :
1/ éviter un codage lourd utilisant un array() avec tous les jours de la semaine et les noms des mois mentionnés et des substitutions de chaînes alors que les fonctions comme setlocale() permettent de faire en une ligne ce qui en exigerait cinq ou six et qui ne sera pas transposable simplement dans une autre langue, il faudra traduire toute la liste des mois et des jours de la semaine.
2/ setlocale gère toutes les variables locales donc si vous voulez afficher ce code en italien en finnois ou autre il suffit juste de mettre à la place de "fr" la valeur souhaitée, pour l’Italie je crois que c’est "it" etc.
3/ j’ai perdu beaucoup de temps à trouver comment modifier l’affichage de la date dans un format français avec un code simple
4/ tout le monde ne passe pas son temps dans les manuels de php ou dans la doc et si je ne m’abuse (pas trop j’espère) parce que je pense qu’un CMS appartient tout autant aux utilisateurs qui veulent diffuser leurs contenus sans s’arracher les cheveux avec le code et il y en a beaucoup, aux designers soucieux d’offrir des sites beaux et ergonomiques qu’aux développeurs proprement dits
Donc si ça intéresse quelqu’un je n’aurai pas perdu mon temps.
Si vous voulez que yé fasse oun topo sur l’affichage de la date et les variables de localisation je suis à vos ordres...
Le Phil