PHP date bilingue de mise à jour de page
Résolu
Bonjour,
Voilà j'ai adapté un script sur ce forum mais cela ne marche pas en Français (ça marche en Anglais).
Un coup de pouce pour un presque débutant ?
Merci !
Seb
Voilà j'ai adapté un script sur ce forum mais cela ne marche pas en Français (ça marche en Anglais).
<?
function date_fr($date)
{
$date=str_replace("Monday","Lundi",$date);
$date=str_replace("Tuesday","Mardi",$date);
$date=str_replace("Wednesday","Mercredi",$date);
$date=str_replace("Thursday","Jeudi",$date);
$date=str_replace("Friday","Vendredi",$date);
$date=str_replace("Saturday","Samedi",$date);
$date=str_replace("Sunday","Dimanche",$date);
$date=str_replace("January","Janvier",$date);
$date=str_replace("February","Février",$date);
$date=str_replace("March","Mars",$date);
$date=str_replace("April","Avril",$date);
$date=str_replace("May","Mai",$date);
$date=str_replace("June","Juin",$date);
$date=str_replace("July","Juillet",$date);
$date=str_replace("August","Août",$date);
$date=str_replace("September","Septembre",$date);
$date=str_replace("October","Octobre",$date);
$date=str_replace("November","Novembre",$date);
$date=str_replace("December","Décembre",$date);
return ($date);
}
setlocale (LC_TIME, 'fr_FR','fra');
echo "Actualisation ".date("l j F Y", getlastmod(), $date);
echo " / Updating ".date("l j F Y", getlastmod());
?>
Un coup de pouce pour un presque débutant ?
Merci !
Seb
6 réponses
-
Bonjour,
Qu'est-ce qui ne marche pas exactement ? Tu as un message d'erreur ?
Dans le code que tu nous donnes, il n'y a aucun appel à la fonction date_fr() que tu redéfinis.
Xavier -
Bonjour Reivax
C'est simple, ça affiche:
<
Actualisation (puis rien) / Updating suivi de la date en Anglais d'actualisation
>
Je pense que l'os vient de $date après getlastmod().
Je pensais appeler la fonction de la sorte, mais c'est pas bon.
Merci, Seb -
En fait, ton $date n'est jamais défini en dehors de la fonction.
Or, ton "echo" est bel et bien en dehors de la fonction dont le } se situe juste avant... -
Bonjour Reivax et merci de ton soutien.
J'ai essayé diverses options qui "rentre" mon echo dans la fonction mais le Français ne s'affiche pas.
J'obtiens seulement:
Actualisation / Updating Tuesday 10 May 2011, avec le code suivant:
<code>
<?
setlocale (LC_TIME, 'fr_FR','fra');
echo "Actualisation ";
echo $date;
function date_fr($date)
{
date("l j F Y", getlastmod());
$date=str_replace("Monday","Lundi",$date);
$date=str_replace("Tuesday","Mardi",$date);
$date=str_replace("Wednesday","Mercredi",$date);
$date=str_replace("Thursday","Jeudi",$date);
$date=str_replace("Friday","Vendredi",$date);
$date=str_replace("Saturday","Samedi",$date);
$date=str_replace("Sunday","Dimanche",$date);
$date=str_replace("January","Janvier",$date);
$date=str_replace("February","Février",$date);
$date=str_replace("March","Mars",$date);
$date=str_replace("April","Avril",$date);
$date=str_replace("May","Mai",$date);
$date=str_replace("June","Juin",$date);
$date=str_replace("July","Juillet",$date);
$date=str_replace("August","Août",$date);
$date=str_replace("September","Septembre",$date);
$date=str_replace("October","Octobre",$date);
$date=str_replace("November","Novembre",$date);
$date=str_replace("December","Décembre",$date);
return ($date);
}
echo " / Updating ".date("l j F Y", getlastmod());
?>
<code>
Alternativement si je te suis bien (pas sûr!), je pourrai définir $date par
define("$date", Valeur); à la place de echo $date; mais avec quelle valeur... je nage.
Seb -
Bonjour,
Essaie plutôt comme ça :<?php function date_fr($date) { $date=str_replace("Monday","Lundi",$date); $date=str_replace("Tuesday","Mardi",$date); $date=str_replace("Wednesday","Mercredi",$date); $date=str_replace("Thursday","Jeudi",$date); $date=str_replace("Friday","Vendredi",$date); $date=str_replace("Saturday","Samedi",$date); $date=str_replace("Sunday","Dimanche",$date); $date=str_replace("January","Janvier",$date); $date=str_replace("February","Février",$date); $date=str_replace("March","Mars",$date); $date=str_replace("April","Avril",$date); $date=str_replace("May","Mai",$date); $date=str_replace("June","Juin",$date); $date=str_replace("July","Juillet",$date); $date=str_replace("August","Août",$date); $date=str_replace("September","Septembre",$date); $date=str_replace("October","Octobre",$date); $date=str_replace("November","Novembre",$date); $date=str_replace("December","Décembre",$date); return ($date); } setlocale (LC_TIME, 'fr_FR','fra'); $date = date("l j F Y", getlastmod()) $datefr = date_fr($date); echo "Actualisation $datefr"; echo " / Updating $date"; ?>
Xavier -
Bonjour Xavier,
Ah je vois que j'étais encore loin du compte.
Merci vivement !
J'ai testé et j'ai eu : Parse error: syntax error, unexpected T_VARIABLE in xxxxxxxxx on line 136
Mais je suis un presque débutant et il a suffi d'ajouter un point-virgule après getlastmod()) pour devenir nickel
Donc c'est résolu, merci 1000 fois et comme le code peut servir à d'autres, je le copie ci-après avec la (petite) correction:
<?php
function date_fr($date)
{
$date=str_replace("Monday","Lundi",$date);
$date=str_replace("Tuesday","Mardi",$date);
$date=str_replace("Wednesday","Mercredi",$date);
$date=str_replace("Thursday","Jeudi",$date);
$date=str_replace("Friday","Vendredi",$date);
$date=str_replace("Saturday","Samedi",$date);
$date=str_replace("Sunday","Dimanche",$date);
$date=str_replace("January","Janvier",$date);
$date=str_replace("February","Février",$date);
$date=str_replace("March","Mars",$date);
$date=str_replace("April","Avril",$date);
$date=str_replace("May","Mai",$date);
$date=str_replace("June","Juin",$date);
$date=str_replace("July","Juillet",$date);
$date=str_replace("August","Août",$date);
$date=str_replace("September","Septembre",$date);
$date=str_replace("October","Octobre",$date);
$date=str_replace("November","Novembre",$date);
$date=str_replace("December","Décembre",$date);
return ($date);
}
setlocale (LC_TIME, 'fr_FR','fra');
$date = date("l j F Y", getlastmod());
$datefr = date_fr($date);
echo "Actualisation $datefr";
echo " / Updating $date";
?>
Seb