Pour écrire une date complète en français, anglais, espagnol ou autre langue, c'est souvent compliqué et il faut utiliser la fonction setlocale() pour choisir sa langue puis la fonction strftime() pour la formater. Un vrai casse tête et ça marche pas à tout les coups et sur toutes les plates-formes.

L'idée c'est deux tableaux l'un contenant la liste des jours et l'autre contenant la liste des mois.

Il suffit de créer un tableau par langue pour en avoir la traduction. Ou bien autre solution placer ses deux tableaux dans un fichier lang_fr.inc.php3, lang_us.inc.php3 ... et faire un include du fichier qui correspond à la langue choisis. J'utilise ici la deuxième solution.

<?php

// fichier de langue Française lang_fr.inc.php3

$jour = array("Dimanche", "Lundi", "Mardi","Mercredi", "Jeudi", "Vendredi", "Samedi");
$moi = array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Decembre"); 

?>

<?php

// fichier de langue Anglaise lang_us.inc.php3

$jour = array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");
$moi = array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"); 

?>

<?php
// script d'affichage

if(!empty($langue))
{
    include("lang_".$langue.".inc.php3");
}
else
{
    include("lang_fr.inc.php3");
}


if($langue=="us")
    print $jour[strftime("%w")].", ".date("jS")." ".$moi[(strftime("%m")+1)]." ".date("Y"); 
else
    print $jour[strftime("%w")]." ".date("j")." ".$moi[(strftime("%m")+1)]." ".date("Y"); 


?>
Le script utilise par defaut la langue française. Pour une autre langue, passez la variable $langue en paramètre avec le nom correspondant à aux lettres du fichier de langue (fr,us,sp,de).

Consulter le lien