[RESOLU] Je vous soumet une énigme à résoudre...

Eléphant du PHP | 57 Messages

29 août 2012, 17:53

eh les copains ! ne vous faites pas une indigestion cérébrale pour moi, ça n'en vaut pas la peine !!! :D

Tant que j'y suis, je vous explique pourquoi je voulais faire mes
 if ('$date_m' ==01) $date_m2 = 'janvier';
        if ('$date_m' ==02) $date_m2 = 'février';
        if ('$date_m' ==03) $date_m2 = 'mars';
        if ('$date_m' ==04) $date_m2 = 'avril';
        if ('$date_m' ==05) $date_m2 = 'mai';
        if ('$date_m' ==06) $date_m2 = 'juin';
        if ('$date_m' ==07) $date_m2 = 'juillet';
        if ('$date_m' ==08) $date_m2 = 'aout';
        if ('$date_m' ==09) $date_m2 = 'septembre';
        if ('$date_m' ==10) $date_m2 = 'octobre';
        if ('$date_m' ==11) $date_m2 = 'novembre';
        if ('$date_m' ==12) $date_m2 = 'decembre';  
c'est parce que mon site va être, au final, en multi-langue. et pour ça, j'aurais transformé ma liste de "if...." ci dessus en :
   if ('$date_m' ==01) $date_m2 = 'TEXT_janvier';
           ......
           if ('$date_m' ==12) $date_m2 = 'TEXT_decembre'; 
les 'TEXT_janvier', ..., 'TEXT_decembre' se transformant "tous seuls" en janvier (si c'est un visiteur francophone), enero (si c'est un visiteur qui cause espagnol), january (pr un anglophone), etc... C'est pour cela que je voulais éviter les "formules magiques" qui m'affichent automatiquement le mois de la date actuelle. Voilà, vous savez le pourquoi du comment de mon idée farfelue ! mais vu la galère que ça va être pour faire ça, il vaut peut-être mieux que je reste avec l'affichage jj - mm - YYYY avec le texte devant qui change de langue quand même. Au moins tous mes visiteurs comprendront, quelque que soient leurs langues !

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

29 août 2012, 18:55

c'est super simple avec ce que j'ai mis, il te suffit de modifier le masque.

Tu as déjà celui pour la plus part des cas, pour les anglais c'est plutôt
$français = 'nous sommes le %A %d %B %Y et il est %T'
$anglais  = 'Today is %A, %B %d %Y and it is %r';
if($locale == 'fr_FR')
   $lng = $français;
if($locale == 'en_EN')
    $lng = $anglais;
setlocale(LC_TIME, $locale);
echo  strftime($lng, strtotime('now'));
$locale est définie a partir de ton système de changement de langue.

A partir de la tu aura la date que tu veux :)


@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 57 Messages

29 août 2012, 19:22

Merci :mrgreen: