изменить название месяца на французский

У меня есть этот код:

<?php echo "'".$sgps_newsletter->getEmail()."' demande en ".date('dMY', strtotime($sgps_newsletter->getCreatedAt())) ?> 

но название месяца написано на английском языке. Что я могу сделать, чтобы показать его на французском? Я изменил settings.yml умолчанию на французский, но ничего не происходит.

С http://php.net/manual/en/function.date.php :

Чтобы форматировать даты на других языках, вы должны использовать функции setlocale () и strftime () вместо даты ().

Использовать strftime : http://php.net/manual/en/function.strftime.php

 <?php setlocale(LC_TIME, "fr_FR"); echo strftime(" in French %d.%M.%Y and"); 

(не уверен, что% d.% M.% Y, но вы можете прочитать документацию)

Я знаю, что это старо, но для тех, кто все еще смотрит на это, более полный ответ для вашей даты на французском языке будет следующим:

 //set locale setlocale(LC_TIME, "fr_FR"); 

затем

 //echo date/formatting based on your locale, in this case, for French echo strftime("le %d %B, %Y", strtotime( $sgps_newsletter->getCreatedAt()) )); //without day of the week = le 18 septembre, 2013 

ИЛИ

 echo strftime("%A le %d %B, %Y", strtotime( $sgps_newsletter->getCreatedAt()) )); //with day of the week = mercredi le 18 septembre, 2013 

ИЛИ

 echo strftime("%d/%m/%Y", strtotime( $sgps_newsletter->getCreatedAt()) )) //numerical, separated by '/' = 18/9/2013 
 # -------------------- # METHOD 1 # -------------------- # set locale first setlocale (LC_TIME, 'fr_FR.utf8','fra'); // setlocale(LC_TIME, 'fr_FR.UTF8'); // setlocale(LC_TIME, 'fr_FR'); // setlocale(LC_TIME, 'fr'); // setlocale(LC_TIME, 'fra_fra'); # Examples using current time echo strftime('%Y-%m-%d %H:%M:%S'); // 2015-03-02 17:58:50 echo strftime('%A %d %B %Y, %H:%M'); // lundi 02 mars 2015, 17:58 echo strftime('%d %B %Y'); // 02 mars 2015 echo strftime('%d/%m/%y'); // 02/03/15 # Example with given timestamp $timestamp = time () ; // Any timestamp will do echo strftime( "%d %B %Y", $timestamp ) ; // 02 mars 2015 # -------------------- # METHOD 2 # -------------------- # using arrays without setting the locale ( not recommanded ) $day = array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"); $month = array("janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre"); // Now $date = explode('|', date("w|d|n|Y")); // Given time $timestamp = time () ; $date = explode('|', date( "w|d|n|Y", $timestamp )); echo $day[$date[0]] . ' ' . $date[1] . ' ' . $month[$date[2]-1] . ' ' . $date[3] ; // Lundi 02 mars 2015 

использовать strftime