IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  sohbet

 Kayıt ol  Topluluk
1Beğeni(ler)
  • 1 Post By SeckiN

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 04 Eylül 2013, 23:53   #1
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Çok Dilli Web Sitesi Yapmak




Bu makalede web sitelerine çoklu dil desteği ekleme konusunu anlatmaya çalışacağım.

Niçin Gerekli?
Günümüzde firmalar için uluslar arası pazara erişmek oldukça kolay. Bu sebeple artık web sitelerinde birden fazla dil seçeneği zorunlu bir özellik haline geldi.

Nasıl?
Aslında mantık oldukça basit. Dile göre değişen kısımları bir değişkene atayacağız ve dil seçimine göre bu değişkenlerin değerini değiştireceğiz.

Uygulama
Şimdi örnek bir web sitesi düşünelim. Ben konuyu anlatmak adına sitenin menüsü üzerinden gideceğim. Siz de aynı mantıkla sitenin diğer kısımlarına bunu uygulayabilirsiniz. Örneğin sitemizde menümüz şu şekilde olsun.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
<ul> <li><a href= "index.php">Anasayfa</a></li> <li><a href= "hakkimizda.php">Hakkımızda</a></li> <li><a href= "iletisim.php">İletişim</a></li> </ul>

Şimdi menüde yer alan menü isimleri yerine değişkenler yazıyoruz. Böylece menü isimlerinin dinamik bir hal almasını sağlıyoruz.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
<ul> <li><a href= "index.php"><?php echo $diller[’anasayfa’];?></a></li> <li><a href= "hakkimizda.php"><?php echo $diller[’hakkimizda’];?></a></li> <li><a href= "iletisim.php"><?php echo $diller[’iletisim’];?></a></li> </ul>

Artık menü isimlerimiz dinamik. Sıradaki işlem bu değişkenlere seçilen dile göre uygun veriyi getirmek.
Öncelikle sitemizin menü isimlerini tanımlayacağımız dil dosyaları oluşturacağız. Bunun için dil isimli bir klasör oluşturup içine tr.php ve en.php adında iki adet dil dosyası oluşturalım ve değişkenlerimizi burada tanımlayalım.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
//tr.php $diller[’title’] = "Test Sayfası - zaferkorucu.com"; $diller[’anasayfa’] = "Anasayfa"; $diller[’hakkimizda’] = "Hakkımızda"; $diller[’iletisim’] = "İletişim"; //en.php $diller[’title’] = "Test Page - zaferkorucu.com"; $diller[’anasayfa’] = "Home"; $diller[’hakkimizda’] = "About Us"; $diller[’iletisim’] = "Contact";

Burada her dil dosyasında her bir menünün Türkçe ve İngilizce karşılığı için bir değişken oluşturuyoruz.
Şimdi dil seçimi olayına bakalım. Dil seçimini session ile tutacağız.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
# Seçili dili kontrol ediyoruz if ($_SESSION[’dil’] == "en") { $dil = "en"; } elseif ($_SESSION[’dil’] == "tr") { $dil = "tr"; } else { # Eğer dil seçilmemişse tarayıcı dilini varsayılan dil olarak seçiyoruz $dil = substr($_SERVER[’HTTP_ACCEPT_LANGUAGE’],0,2); }

Burada sistemde seçilmiş bir dil varsa bu seçimi session’dan alıp değişkene atıyoruz. Eğer herhangi bir seçim yapılmamışsa tarayıcı dilini alıp onu varsayılan dil yapıyoruz.
Sonraki aşama olarak dil seçme butonlarına bakalım. Dil seçim butonları yardımı ile kullanıcı seçimini kodlarımıza iletiyoruz. Ben normalde bu işi jQuery ile yapıyorum ancak burada get metodu üzerinden örnek vereceğim.

Dil butonlarımız şu şekilde olsun.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
<a class="dilSec" href= "?dil=tr">TR</a> <a class="dilSec" href= "?dil=en">En</a>

Burada dil seçimini get metodu ile gönderiyoruz.
Son olarak seçilen dilin sessiona atanması olayına bakalım. Burada get ile gelen dil verimizi session’a atıyoruz.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
# Dil seçimi yapılmışsa if($_GET[’dil’]) { # Dil seçimini session’a ata. $_SESSION[’dil’] = $_GET[’dil’]; # Anasayfa’ya yönlendir. header("Location:index.php"); }

Şimdi kodları toparlayıp yapıya genel olarak bakalım. Kodları sadece link ile veriyorum.

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

Buraya kadar olan kısım sistemin temeli ve bu temelin sitenin ana yapısı üzerine uygulanışı üzerine idi. Ancak çoklu dil yapısında dil seçimi değiştiğinde seçilen dile uygun içeriği de getirmeniz gerekir. Bu kısım sizin veri tabanı yapınız ile alakalı. Ben her bir dildeki veri için ayrı bir kayıt girildiği duruma göre olayı kısaca anlatacağım.


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
//Tablo Yapısı id baslik icerik 1 Hakkımızda Hakkımızda Yazısı. 2 About US About us text.

Buna göre hakkimizda.php’de şöyle bir kod yapısı işimizi görecektir.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
if ($dil == "en") { $ID = 2; }else { $ID = 1; } sorgu-> ... WHERE id = ’$ID’

Dil yapısı genel olarak böyle. Bu mantık üzerine kodları kendi sisteminize uyarlayabilirsiniz.

NOT: Bu makaledeki kodlar sadece çok dilli yapının mantığını anlatmak amacıyla örnek olarak verilmiştir ve kod güvenlik kontrolleri bulunmamaktadır. Kodları kendi sisteminize entegre ederken gerekli güvenlik önlemlerini alın.

Alıntı

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları reklam ver Benimmekan Mobil Sohbet
Cevapla

Etiketler
cok, dilli, sitési, web, yapmak


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Sohbet sitesi ile Link değişimi yapmak isteyenler.. fRee Link değişimi 9 06 Temmuz 2011 22:07
Sohbet Sitesi Link Değişimi yapmak İsteyenler. 15 Linkle Sınırlıdır. KaRaKuLe1 Link değişimi 11 18 Haziran 2011 15:55
Pr0 İslami Sohbet Sitesi Link Değişimi Yapmak İsteyenler HfZ_aLi_1990 Link değişimi 17 13 Kasım 2010 21:17
Aynı üyeleri kullanan iki PHPnuke sitesi yapmak. SoS PHP 0 25 Aralık 2005 16:11