Php ile Dil Desteği
Tarih: Şubat 8th, 2009 | Yazar: Ertuğrul Erkan | Kategori: Php | Etiketler: define, dil, php, php ile dil, php ile dil desteği, php ile dil desteği sağlamak, php ile dil yapımı, php ile dil yapmak | 2 Yorum »Merhaba arkadaşlar. Sağolsun bir okuyucum sayesinde bugün de ne yazayım diye düşünmekten kurtultum. Gayet güzel, bilgilendirici ve önemli bir konuyu anlatacağım. Php ile nasıl dil desteği sağlarız? Profesyonel scriptler .mo uzantılı bir dosyaya tüm dilleri kaydederler ve include ettiklerinde kelimeleri çevirirler. Fakat biz bu kadar profesyonel birşey yerine oldukça hızlı, güzel mantıklı bir yöntem kullanıcaz.
Bu yazıda sizlere daha doğrusu kullanıcılarınıza kolaylık sağlayacak ufak methodlar da göreceğiz. Mesela dilimiz otomatik olarak algılanacak. Tabi ki tek kötü tarafı içeride kullanacağız tüm string değerli yazıların her iki dilini de belirtmeniz lazım. Malesef bundan kurtuluş yok. .mo uzantılı yöntemi yapsak bile yine de her türlü kelimeyi belirtmemiz lazımdı.
Öncelikle kodlarımızı verelim;
index.php;
<?php
$kul_ad=$_GET["ad"];
$kul_sifre=$_GET["sifre"];
$dil_ham = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
$dil = $dil_ham[0].$dil_ham[1];
switch ($dil) {
case "tr":
include "tr.php";
break;
case "en":
include "en.php";
break;
}
echo kul_ad." ".$kul_ad."<br>";
echo kul_sifre." ".$kul_sifre;
?>
tr.php;
<?php
define("kul_ad", "Kullanici Adi:");
define("kul_sifre", "Kullanici Sifresi:");
?>
en.php;
<?php
define("kul_ad", "User Name:");
define("kul_sifre", "User Pass:");
?>
Şimdi tek tek açıklayalım. Bu gördüğünüz ufak scriptde birşeyler yapmaya çalıştım. Kullanıcı adını çekiyor falan. İşte bu yüzden ilk önce get methodu ile adres satırından kullanıcı adı ile şifresini çekiyoruz.
Sonra otomatik olarak dil belirleyebilmek için
$dil_ham = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
diyoruz. Bu kod ile server tarafından browser tarafına ulaşıyoruz. Fakat $dil_ham ı ekrana yazdırınca;
tr-TR,tr;q=0.8,en-us;q=0.5,en;q=0.3
Çıkıyor. Burada bizim için en önemli kısım tr başlangıcı. Bizde dil hamı sanki bir dizi gibi gösterip ( diziler 0 dan başlar ) 0 yani ilk ve 1 yani ikinci karakteri alıp birleştiriyoruz. Bu sayede elimize sadece tr ( duruma göre en ) geliyor. Ardından bir switch deyimi kuruyoruz. Eğer ki tr ise tr.php yi include et, en ise en.php yi include et diyoruz…
Buraya kadar herşey tamam. Şimdi alt satırı bırakıp define fonksiyonunu anlatayım;
define fonksiyonun da string yani metin tabanlı metinleri değişken gibi gösterip ekranda yorumlanması için anlam veriyoruz. Yani demek istediğim; define(“sifre”,”gizli”); dersek echo sifre hata vermeyecek ve ekrana gizli yazdıracaktır. Bir nevi metinleri değişken gibi gösteriyoruz. Özellikte tasarım üzerine kurulan sistemlerde define önemli bir yer tutar. Php de tasarım tabanını destekleyen smarty sınıfı da define üstüne kurulmuştur…
Neyse gördüğünüz gibi kelimelere tr.php de ve en.php de ayrı ayrı isim atıyoruz. Duruma göre yüklendiğinde ise eğer ki dil tr ve adres satırı Ertugrul,12345 ise ekranda;
Kullanici Adi: Ertugrul
Kullanici Sifresi: 12345
yazaktır. İşte bu kadar basit!..
Herkese iyi günler, iyi çalışmalar…
Benzer Yazılar;
- Nasıl birkaç günde programlama dili öğrenilir?
- Video Ders: Php ile OOP Programlama Bölüm 1
- Php Bot Mantığı ile Backlink Hesaplayıcısı Yapımı
- Php ile Basit Bir Resim Galerisi Yapalım!
- Php ile Bot Yapımı

Mükemmel makale. Daha iyi anlatılamazdı
[...] sessiz olan bloguma yeni ve güzel bir konu ile tekrar merhaba diyorum. Bugün bir okuyucumun Php ile Dil Desteği isimli yazımda bahsettiğim define ile tema sistemi konusunu [...]