Ben de dokümanlarda pellempus'un söylediğini görmüştüm. Fakat bir ilave yapacağım. Türkçe locale ayarları sistemden sisteme değişiklik gösterebilmektedir ve bu yüzden setlocale ayarı bazen iş görmemektedir. Bunun için öncelikle sistemin tercih ettiği locale ifadesi öğrenilirse tam sonuç alınabilir (php.net/manual/en/function.setlocale.php Örnek 1 ve 2'ye bakınız). Örneğin aşağıdaki kodu
http://www.phpfiddle.org/lite/ sitesinde deneyip çalıştırdığımda, yorum olarak açıkladım sonuçları alıyorum. Yani o sistemde 'tr_TR'yi kabul ediyor. Turkish'i kabul etmiyor.
setlocale(LC_TIME, 'Turkish');
echo strftime("%A %d %B %Y", mktime(0, 0, 0, 9, 9, 2013));
/* Çıktı: Monday 09 September 2013 */
$loc_tr = setlocale(LC_TIME, 'tr_TR@TL', 'tr_TR', 'tr', 'Turkish');
echo "Sistemin Türkçe için tercihi '$loc_tr'";
/* Çıktı: Sistemin Türkçe için tercihi 'tr_TR' */
setlocale(LC_TIME, 'tr_TR');
echo strftime("%A %d %B %Y", mktime(0, 0, 0, 9, 9, 2013));
/* Çıktı: Pazartesi 09 Eylül 2013 */