Yeni Üretilenler
Sende Tıkla
Etiketler

Php Türkçe tarih nasıl yapılır ?

Cumartesi, Şubat 14th, 2009 | php, wordpress | ercani

Önceleri benimde kafamda soru işareti oluşturan bir meseleydi bu. Özellikle wp temalarında o günkü tarih gösterilirken hep ingilizce çıktı verildiği görülür. Bunun nedenini ve çözümünü aşağıda anlatmaya çalışayım.

PHP de sistem tarihini göstermek için date() fonksiyonu kullanılır. Bu fonksiyon tanımlandığı sistemin tarihini baz alarak bir çıktı verir. Yani sitelerimizin server larındaki tarih formatı nasılsa bize öyle bir çıktı verir. O yüzden genelde ingilice çıktı alırız.

Date() fonksiyonunun içinde kullanabileceğimiz değişik parametreler vardır.
Örneğin;
date(“m.d.y”); // 03.10.01 formatında çıktı verecektir.
Buna benzer uygulamaları aşağıda görebilirsiniz.

<?php
// Sistem tarihimiz : March 10th, 2001, 5:16:18 pm olsun. Parametrelere göre çıktılar aşağıdaki gibi olacaktır.

date(“F j, Y, g:i a”); // March 10, 2001, 5:16 pm
date(“m.d.y”); // 03.10.01
date(“j, n, Y”); // 10, 3, 2001
date(“Ymd”); // 20010310
date(‘h-i-s, j-m-y, it is w Day z ‘); // 05-16-17, 10-03-01, 1631 1618 6 Fripm01
date(‘\i\t \i\s \t\h\e jS \d\a\y.’); // It is the 10th day.
date(“D M j G:i:s T Y”); // Sat Mar 10 15:16:08 MST 2001
date(‘H:m:s \m \i\s\ \m\o\n\t\h’); // 17:03:17 m is month
date(“H:i:s”); // 17:16:17
?>
Kod kaynak php.net

Peki bu çıktıları türkçe yapmak için ne yapmalıyız?
Bunun için aşağıdaki kod parçasını kullanabilirsiniz. Bu kod parçası, date() fonksiyonundaki ay ve günleri türkçe karşılıkları ile değiştirmektedir.


<?php
function tarih($zaman) {
$gunler = array(
"Pazar",
"Pazartesi",
"Sal&#305;",
"&#231;arsamba",
"Per&#351;embe",
"Cuma",
"Cumartesi"
);
$aylar =array(
NULL,
"Ocak",
"&#351;ubat",
"Mart",
"Nisan",
"May&#305;s",
"Haziran",
"Temmuz",
"A&#287;ustos",
"Eylül",
"Ekim",
"Kas&#305;m",
"Aral&#305;k"
);
$tarih = date("d",$zaman)." ".$aylar[date("n",$zaman)]."
".date("Y",$zaman)." ".$gunler[date("w",$zaman)];
return $tarih;
}

$zaman = time();
$tarih = tarih($zaman);
echo "$tarih";
?> 

Bu kod parçasını göstermek istediğiniz yere tanımlayabilirsiniz. Ama bu şekilde çok yer kaplayacaktır. Ve başka yerde göstermek istediğinizde yine bu kod parçasını yapıştırmak zorunda kalacaksınız. Bunun yerine kodun sonundaki yeşil ile gösterdiğim echo “$tarih”; kodunu silip, tarihi göstermek istediğimiz yere aşağıdaki kodu eklememiz yeterli olacaktır;

<?php echo "$tarih"; ?>

Bu söylediklerimi wp ye uygulamak için;
Öncelikle türkçe tarih çıktısı verecek yukarıdaki uzun kod parçasını echo “$tarih”; kodu silinmiş bir şekilde functions.php içine atalım. Daha sonra tarihi göstermek istediğimiz yere aşağıdaki kodu yapıştıralım;


<?php echo "$tarih"; ?>

2. yöntem olarak bu linkteki kodları indiriyoruz.
Daha sonra tarihi göstermek istediğimiz yere aşağıdaki kodu veriyoruz;


<?php include   "tarih.php"; ?>

Eğer wp kullanıyorsan linkteki dosyayı temanın anaklasörüne atıyoruz. Daha sonra aşağıdaki kodu göstermek istediğimiz yere yapıştırıyoruz.


<?php include(TEMPLATEPATH . "/tarih.php"); ?>

Hepsi bu kadar. Umarım anlatabilmişimdir.

13 KonuşmaBakalım Kim Ne Demiş?


1
Mehmet
14 Şubat 2009

Çok teşekkürler Ercan paylaşımın için.


2
Salih S. DEMİR
16 Şubat 2009

Bu zamana kadar böyle bir sorun yaşamadım, serverim İstanbul’da :) WP de kullandığım şekil ise date(“j F Y”)


3
ercani
16 Şubat 2009

Benim serverda türkiyede ama yinede bu hatayı çok aldım.


4
Cengiz Bayram
23 Şubat 2009

Biraz optimize ettim :)


5
ercani
23 Şubat 2009

kodlar çıkmamış txt halinde bir yere atarsan ordan bakayım.


6
Güray Çelik
27 Şubat 2009

Ercani çok güzel bir konu paylaşmışsın teşekkürler. Birşey belirtmek istiyorum. tarih.php dosyasındaki
“çarsamba” ve “şubat” yazılarındaki harfler (ç ve ş) küçük olarak gözüküyor. Büyük için ise şöyle olması gerekiyor.
“Çarsamba”
“Şubat”


7
Güray Çelik
27 Şubat 2009

pardon arkadaşlar kod olduklarını ve çalışacaklarını unuttum :D tekrar yazıyorum.
"şubat"ve "çarsamba"
"Şubat""Çarsamba"


8
Güray Çelik
27 Şubat 2009

Nedense kod linkinin arasında vermeme rağmen yapmıyor. Şöyle açıklayayım. 351 olan 350, 231 olan 199 olacak.


9
ercani
27 Şubat 2009

Evet bu yorum kısmını düzenlemem lazım kod verilemiyor.
Oraları fazla önemsemedim açıkçası o yüzden öyle verdim.


10
Tanerkaymaz
21 Temmuz 2009

arkadaslar ben comfy magazine teması kullanıyorum acaba onun sol üstteki tarih kısmı hangi php de oluyor yani data() kodu hangi php içerisinde :?:


11
Tanerkaymaz
21 Temmuz 2009

yada soyle soyleyeyim ben o kısma nasıl ekleme yapacagım hic bir sey bilmiyorum ona göre :)


12
ercani
21 Temmuz 2009

Taner, ben türkçesini çevirdim o temanın. türkçe indir orada içinde tarih.php var. Ve header.php içerisine üstte anlattığım gibi include edildi.


13
Tanerkaymaz
22 Temmuz 2009

Teşekkürler

~Sadece Düşünme Sende Konuş~

Markup Controls
Emoticons Smile Grin Sad Surprised Shocked Confused Cool Mad Razz Neutral Wink Lol Red Face Cry Evil Twisted Roll Exclaim Question Idea Arrow Mr Green

NOT:Kod Eklerken, kodu yazdıktan sonra kodları işaretleyip "Kod Ekle" butonuna basalım.