PHP ile Çoklu Dil Yapmak

Türk Full Stack Developer

PHP ile Çoklu Dil Yapmak

Globalleşen web dünyası ile birlikte artık yapılan her web sitesinde birden çok dil entegrasyonu müşterilerimiz tarafından haklı olarak istenmeye başlandı. PHP ile Çoklu Dil Yapmak PHP’ye yeni başlayan birisi için zor bir kavramdır. İlerleyen zamanlarda ve PHP ile uygulamalar yazdıktan sonra ise daha basit hale gelmektedir. Bende bu yazımda PHP ile Çoklu Dil Yapmak konusunu ele almak istedim.

Tüm PHP konularıma Buradan ulaşabilirsiniz

Avantajları

PHP ile çoklu dil yapımının bir çok avantajı vardır. Öncelikle yapılan web sitesi global hale gelmektedir. Türkçe olarak yapılan bir web sitesi sadece Türklere hitap ederken, birden çok dil ekleyerek uygulama global milletlere hitap etmeye başlar. Bu nedenle özellikle satış amacı güdülen uygulamalarda daha fazla kar elde etmek mümkündür. Tüm bunların yanında daha fazla millete hitap eden özellikle Saç Ekimi, Güzellik Merkezleri, E-Ticaret Siteleri, Turizm siteleri gibi pek çok alanda kullanılmaktadır.

PHP ile Çoklu Dil Yapmak İçin Neler Gerekli ?

Öncellikle PHP’de Junior diye tabir ettiğimiz acemilik dönemini atlatmak gerekiyor. Bunun dışında PHP’de sabit değişken kavramına yabancı olmamak gerekiyor. Ayrıca MySQL veya diğer veritabanı dillerinde normalizasyon kavramını da bilmek gerekiyor.

Kaç türü var

PHP’de çoklu dil yapımının iki türü var diyebilirim.

  1. Sınırsız Dil
  2. Belirli Diller

Bizim bu konuda ele alacağımız belirli dillerin yapımı olacak. Sınırsız dil olayını da başka bir konumda ele almayı düşünüyorum.

Eğer hazırsak anlatıma geçebiliriz.

Öncelikle uygulamamızda Türkçe ve İngilizce dillerinin olduğunu varsayalım.

  1. Veritabanımızda turkcedil ve ingilizcedil şeklinde 2 tablo oluşturalım. Tabloların her ikisinde de id, baslik, karsilik alanları olsun ve id otomatik artan ve birincil anahtar niteliğinde olsun.
  2. uygulamamıza diller isminde bir klasör açalım ve içerisinde TR.php, EN.php şeklinde 2 PHP dosyası açalım.
  3. oluşturduğumuz tablolara sırası ile id -> 1 header_başlık->anasayfa karsilik->Anasayfa şeklinde kayıtlar girelim
  4. oluşturduğumuz ingilizce tablosundaki kaydımızın karsilik alanındaki Anasayfa değerini Home yapalım.

PHP ile Çoklu Dil Yapmak

Dil dosyalarının içerikleri

TR.php dosyasına aşağıdaki kodları yazalım

<?php
$db->VeriOkuCoklu("turkcedil");
foreach($db->bilgial as $row)
{
        define("$row->baslik","$row->karsilik");
}
?> 

EN.php dosyasına aşağıdaki kodları yazalım

<?php
$db->VeriOkuCoklu("ingilizcedil");
foreach($db->bilgial as $row)
{
        define("$row->baslik","$row->karsilik");
}
?> 

Uyarı : Ben burada kendi yazdığım veritabanı sınıfını kullandım. Yapılan işlem tablodaki tüm alanları çekip döngüye sokup sabit değişken haline getirmektir.

Şimdi index.php dosyamızı oluşturalım ve içerisine şu kodları yazalım

<?php
if(isset($_GET["dil"]))
{
   $dil = $_GET["dil"];
}else
{
   $dil = "TR";
}

echo header_başlık;

Burada yaptığımız işlem Eğer GET’den gelen bir dil parametresi varsa dili o parametreye eşitlemek. Eğer yoksa dili varsayılan olarak TÜRKÇE olarak açmak olacak. daha sonra header_baslik isimli dil değişkenimizi yazdırıyoruz.

Şimdi index.php dosyamıza index.php?dil=TR şeklinde girersek Anasayfa index.php?dil=EN olarak girersek Home yazdığını göreceksiniz.

Bunun bir ileri versiyonunda veritabanına kayıtlarımızı türkçe ve ingilizce olarak eklemek var. Şimdi veritabanımıza index isimli bir tablo oluşturalım ve id,baslikTR,baslikEN alanlarını oluşturalım. Kayıt olarak id->1, baslikTR->Türkçe İçerik,baslikEN->İngilizce içerik girelim.

index.php dosyamızı aşağıdaki gibi güncelleyelim

<?php
if(isset($_GET["dil"]))
{
   $dil = $_GET["dil"];
}else
{
   $dil = "TR";
}

echo header_başlık;
echo"<br>";
if($_GET["dil"]=="TR")
{
echo $db->VeriOkuTek("index","baslikTR","id",1);
}else
{
echo $db->VeriOkuTek("index","baslikEN","id",1);
}

Not ben burada kendi yazdığım veritabanı sınıfımı kullandım aslında yapılan işlem index tablosundan eğer dil TR ise baslikTR, değilse baslikEN alanını çekmektir.

Şimdi index.php’yi index.php?dil=TR olarak çalıştırdığınızda Anasayfa ve Türkçe İçerik, index.php?dil=EN olarak çalıştırdığınızda Home ve İngilizce İçerik yazılarını göreceksiniz

Hepsi bu kadar. Ben bu yazımda basite indirgeyerek anlatmaya çalıştım. Tabi tüm bu işlemleri otomatik hale getiren daha ileri metotlar var ama hepsi bu yazıdaki temele dayanmaktadır.

2 Yorum

  1. Makale çok güzel olmuş ellerinize sağlık. Yalnız sizden bir de sınırsız dil sistemini nasıl yapabilirim bunu anlatmanı rica ediyorum.

    1. Bu konu çok ayrı ve çok tecrübe isteyen konulardan birisidir. Sinirsiz dilli olacaksa her kaydın her dil için kopyasını tutmalisiniz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir


grandpashabet
grandpashabet
bets10
bets10 giriş
hacklink paneli
hair transplant
kavbet
grandpashabet
jojobet
jojobet güncel
İstanbul Escorts
Beşiktaş Escort
Şişli Escort
1
marsbahis
hacklink