Ö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.