PHP date bilingue de mise à jour de page

Résolu
Sebas22 Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   -  
Sebas22 Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

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


A voir également:

6 réponses

Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
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
1
Sebas22 Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   5
 
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
1
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
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...
1
Sebas22 Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   5
 
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
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
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
1
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Ah oui, aussi, ce serait plus efficace d'utiliser des tableaux pour les str_replace :

$anglais = array("Monday", "Tuesday", "Wednesday", ...);
$francais = array("Lundi", "Mardi", "Mercredi", ...);

$date = str_replace($anglais, $francais, $date);
0
Sebas22 Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   5
 
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
1