Bildiğiniz gibi date() fonksiyonu ile tarihleri ve saatleri öğrenebiliyorduk ancak günler ve aylar maalesef İngilizce oluyordu. İngilizceden Türkçeye çevirmenin bildiğim 2 yolunu anlatacağım. 1. yol PHP'nin setlocale() fonksiyonunu kullanarak, 2. yol ise str_replace() fonksiyonunu kullanarak basit bir array işlemiyle yapabiliriz.
1. Yol: setlocale() Fonksiyonu
setlocale() fonksiyonu yereli ayarlar. Örneğin; yerel para birimi, karakter dönüşümleri, ondalık ayraçlar, tarih ve saat gibi. 2 parametre alır. 1. parametre hangi özelliğin yerelleştirileceğini, 2. parametre ise hangi dile dönüştürüleceğini belirtir.
setlocale(LC_TIME,"Turkish"); // LC_TIME tarihin, Turkish ise tarihin Türkçeye dönüştürüleceğini gösterir
Örnek
<?php
setlocale(LC_TIME,"Turkish");
echo strftime("%d %B %A %Y");
// Çıktı: 23 Haziran Salı 2015
?>
2. Yol: str_replace() Fonksiyonu
str_replace() fonksiyonu ile string içindeki ya da dizi içindeki istediğimiz değerleri değiştirebiliyoruz. Öncelikle İngilizce ve Türkçe olarak ay ve gün isimlerini ayrı ayrı dizilere atayıp daha sonra da bu fonksiyonu kullanarak dönüşüm işlemini yapacağız.
Örnek
<?php
date_default_timezone_set('Europe/Istanbul');
$tarih = date("d F l");
echo $tarih;
// Çıktı: 23 June Tuesday
$ing_aylar = array("January","February","March","May","April","June","July","August","September","October","November","December");
$tr_aylar = array("Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık");
$ing_gunler = array("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday");
$tr_gunler = array("Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi","Pazar");
$tarih = str_replace($ing_aylar,$tr_aylar,$tarih);
$tarih = str_replace($ing_gunler,$tr_gunler,$tarih);
echo $tarih;
// Çıktı: 23 Haziran Salı
?>
YORUMLAR