Ana Sayfa   -   Forum   -   Dersler   -   Dosyalar   -   Kaynak Siteler   -   E - Kitaplar   -   Etiketler

Çok dil desteği olan siteler yapmak
Ana Sayfa / Makaleler / Php | 1 Yorum | 822 Okuma
Gönderen: altayalp | Tarih: 21 Ağustos 2008 Perşembe
Özellikle kurumsal siteler yaparken, vazgeçilmez özellikler arasında sitenin birden fazla dili desteklemesi bulunur. Bunu php'nin bazı özelliklerini kullanarak kolayca yapabiliriz. Bunun için php'nin :

define ve sabitler
session (oturum)
switch ifadeleri

özelliklerini kullanacağız ve ayrıca dil değiştirmek için dildegistir.php, tr.php, en.php sayfalarımıza ihtiyacımız olacak. Eğer session, sabitler ve switch ifadeleri hakkında bilginiz yoksa ilgili makaleleri dersler.org'dan okumanızı tavsiye ederim. İlk olarak tr.php ve en.php dosyalarımızı oluşturalım. Bu dosyalar sabitlerden oluşmakta ve dil seçeneğine göre cümleler barındırmaktadır.


PHP:
tr.php
<?php
define
("baslik", "Sayfamızın Dili Türkçe'dir.");
define("hosgeldin", "Web sitemize hoşgeldiniz.");
?>




PHP:
en.php
<?php
define
("baslik", "The page language is English");
define("hosgeldin", "Welcome to our websites.");
?>


Gördüğünüz gibi her iki sayfada bulunan sabitlerin adı aynı. Nedeni ise sayfaya göre sabit kullanmayacağız. Dil seçeneğine göre dil sayfalarını sayfamıza dahil edeceğiz. Gelelim dil değiştirecek olan dildegistir.php sayfamıza:


PHP:
<?php
session_start
(); // oturum başlatılıyor
$_SESSION['dil'] = $_GET['dil']; // get metodu ile adres çubuğundan gelen değişken session'a aktarılıyor
header("location: index.php"); // index.php sayfasına yönlendiriliyor
?>


dildegistir.php sayfası çok basit kodlardan oluşuyor ve kodlar arasında gerekli açıklamalar bulunuyor. Bu yüzden açıklama yapmadan sitemizin ana sayfası olan index.php sayfasını oluşturalım ve kodlarımızı inceleyelim.


PHP:
<?php
session_start
();
$varsayilandil = 'tr.php';
switch(
$_SESSION['dil'])
{
case
'tr':
include(
'tr.php');
break;
case
'en':
include(
'en.php');
break;
default:
// eğer herhangi bir dil seçilmemişse
include("$varsayilandil"); // varsayılan olarak ayarladığımız tr.php dil dosyasını dahil et
break;
}
// switch bitişi
echo baslik . "<br />";
echo
hosgeldin;
?>
<br />
<a href="dildegistir.php?dil=tr">Türkçe</a> | <a href="dildegistir.php?dil=en">English</a>


Sayfamızda ilk olarak session_start() fonksiyonu ile oturum başlatıyoruz. İkinci satırda $varsayilandil değişkenine sitemizin varsayılan dil değerini aktarıyoruz. Biz sayfamızda varsayılan dili tr olarak yani Türkçe olarak ayarladık. Daha sonra switch ifadelerinden yararlanarak oturum değişkeninde depolanan dil seçeneğine göre dil dosyasını sayfamıza dahil ediyoruz. Eğer herhangi bir dil tercihi yapılmamışsa varsayılan dil ile ziyaretçimizi karşıladık.

Çalışan örneğini görmek için tıklayın Herkese kolay gelsin.
[ Makaleyi İndir ] [ Yazıcı Görüntüsü ] [ Tavsiye Et ] [ Takibe Al ] [ Yorum Ekle ]
Bu sayfayı Paylaşın : del.icio.us | Furl | Digg | Technorati | Reddit | Google Bookmarks | Simpy
 
Toplam 1 Yorum Yapılmış

Sadece bir yerde | plawyer | 27 Aralık 2008 Cumartesi
vallahi yardımların için çok sağol ama bende yine bi sorun var :)

dil ayarları sadece en son verdiğin php kodları içinde çalışıyor ama ?> bu kodun dışına çıkıp menüler için ayrı bir <? kodu içine echo baslik yerleştirdiğimde bomboş sayfa çıkıyor

Makale Yazarı
Kullanıcı Adı: altayalp
Diğer Makaleleri ( 100 )
21 Ağustos 2008 Perşembe

Bu Kategoriye Yeni Makale Ekle

Üye Alanı
Toplam Üye: 2611
Üye Adı:
Şifre:
Yükleniyor
İşlem Yapılıyor Lütfen Bekleyin...
Şifremi Unuttum
Üye Olmak İçin Tıklayın

Çevrimiçi: 1 Ziyaretçi, 0 Üye Toplam 1 Kişi Bulunmakta

Dersler

Aklınıza Takılan Herhangi Bir Sorun Mu Var? Forumlarımızdan Yardım İsteyebilirsiniz...

Dersler.Org altyapı olarak kendi kodladığımız Enderûn İçerik Yönetim Sistemini kullanmaktadır.

Tüm AYYILDIZ sevdalılarına, Aziz ŞEHİTLERE, VATAN kutsaldır diyen yiğitlere ithaf olunmuştur.


© altayalp 2007 Her Hakkı Saklıdır
İzinsiz kullanılamaz. Enderûn İçerik Yönetim Sistemi
Ubuntu, Linux
Çalmak, Çırpmak Haliyle Yasaktır
ve maalesef en iyi internet explorer ile izlenir
eXTReMe Tracker