Çoklu Dil Kullanımı

Titan Mini Framework birden fazla dil ile içerik yayınlamayı destekler. Bunun için sisteme bir kütüphane dahil edilmesi gerekmez.


Çoklu dil ile ilgili ayarlar /app/config dizininde bulunan language.php dosyasında yer alır.

return [
	'languages'			=> ['tr' => 'Turkish', 'en' => 'English'], // Sistemde yer alan diller
	'default_language'	=> 'tr' // Varsayılan dil
];

Varsayılan Dili Belirleme

Sistem ilk çalıştığında varsayılan dil, config dosyasından okunarak belirlenir. Varsayılan dili sistem içerisinde el ile belirlemek için set_lang() fonksiyonu kullanılır. İlgili dile ait dil kodunu parametre olarak alır.

set_lang('tr'); // Varsayılan dil Türkçe.
set_lang('en'); // Varsayılan dil İngilizce.

Varsayılan Dili Öğrenme

Varsayılan olarak belirlenen dili öğrenmek için get_lang() fonksiyonu kullanılır.

echo get_lang();

Dil Dosyası Oluşturma

Titan Mini Framework'te dillere özel içerik oluşturmak için /app/languages dizini içerisinde, kullanılacak diller için yeni dizinler oluşturulmalıdır. Örneğin sistemde Türkçe ve İngilizce olmak üzere iki dilde içerik sunulacaksa, turkish ve english dizinleri oluşturulur. Her bir sayfaya ait dil dosyaları, oluşturulan bu dizinler içerisinde tutulur.

Örneğin, anasayfaya ait Türkçe ve İngilizce dil dosyaları;
- /app/languages/turkish/home.php,
- /app/languages/english/home.php
şeklinde olmalıdır.

Oluşturulan dil dosyaları içerisinde yer alacak çeviriler, bir dizi değişken içerisinde aşağıdaki formatta tutulur;
$lang['dosya_adi']['key'] = 'ceviri';


- Home.php sayfası dil dosyası örnekleri

// Türkçe dil dosyası içeriği
$lang['home']['contact'] = 'İletişim';

// İngilizce dil dosyası içeriği
$lang['home']['contact'] = 'Contact Us';

- Urunler.php sayfası dil dosyası örnekleri

// Türkçe dil dosyası içeriği
$lang['urunler']['name'] = 'Ürün Adı';

// İngilizce dil dosyası içeriği
$lang['urunler']['name'] = 'Product Name';

Çeviri Yapma

Bir verinin aktif dilde çevirisini bulmak için lang() fonksiyonu kullanılır. 3 Parametre alır; dil dosyası, çevirisi yapılacak veri ve varsa değişkenler.

Parametre Veri Tipi
$file String
$key String
$change String|Array

Örnek

Üye bilgilerinin yer aldığı üye detay sayfası üzerinde çoklu dil kullanımı aşağıdaki gibidir;

/app/languages/turkish/profile.php

$lang['profile']['username']    = 'Kullanıcı Adı';
$lang['profile']['email']     	= 'E-Posta Adresi';
$lang['profile']['welcome']   	= 'Hoşgeldin %s';
$lang['profile']['messages']    = '%s1 okunmamış, toplam %s2 mesajınız var.';

/app/controllers/Profile.php

echo lang('profile', 'username'); // Kullanıcı Adı
echo lang('profile', 'email'); // E-Posta Adresi
echo lang('profile', 'welcome', 'NickName'); // Hoşgeldin NickName
echo lang('profile', 'messages', ['%s1' => 2, '%s2' => 18]); // 2 okunmamış, toplam 18 mesajınız var.