Php ile yapılan projelerde Php' nin GETTEXT fonksiyonu ile kolay bir şekilde çoklu dil kullana biliyoruz. Nasıl mı? bir örnekle açıklayalım.

fonksiyonu  “_()” bu şekilde alt tire yaparak kullanabiliyoruz. 

echo _('Mesaj');

Site klasörünüz içerisine sırasıyla şu klasör ve dosyaları ekleyin.

1. lang isminde bir klasör oluşturun

2. lang klasörü içerinde ingilizce için, en_US isminde bir klasör oluşturun. Diğer diller için örneğin türkçe için yine lang klasörü içerisinde tr_TR şeklinde oluştura bilirsiniz.

3.Oluşturduğunuz en_US klasörü içerisinde LC_MESSAGES diye bir klasör oluşturun. Diğer diller içinde aynı isimde oluştura bilirsiniz.

Sitenizde bulunan text alanlarını "_()"  fonksiyonundan geçirdikten sonra, tüm sayfalarınıza dahil ettiğiniz (include) bir sayfaya, (bu ayar.php olabilir) aşağıdaki kodları ekleyin.

$session_id = session_id();
if (empty($session_id)) {
session_start();
}

$_SESSION['default_lang'] = "tr";
@$lang = $_REQUEST['lang'];
if (isset($lang) && strlen($lang) > 0) {
$_SESSION['lang'] = $lang;
} else {
@$lang = $_SESSION['lang'];
if (!isset($lang) || strlen($lang) == 0) {
$lang = $_SESSION['default_lang'];
$_SESSION['lang'] = $lang;
}
}

if($secilendil=="en"){
$locale="en_US.UTF-8";
setlocale(LC_ALL, $locale);
$domain = 'en';
bindtextdomain($domain, './lang');
textdomain($domain);
bind_textdomain_codeset($domain, 'UTF-8');
}elseif($secilendil=="tr"){} // default dil türkçe olduğunu varsayın ama birden çok dil varsa ingilizce olan if sorgusunu çoğaltıp diğerlerinede uygulayın .

Sıra geldi po edit programı ile .po dosyası oluşturmaya bunun için önce poedit bilgisayarınıza indirin ve kurun.

php çoklu dil kullanımı

 

po edit kullanımı

 

po edit php gettext kullanımı

po edit php gettext

po edit php kullanımı