Dosya Dil Kütüphanesi


    × Bunları biliyor muydunuz?
"Dinamik bir kütüphaneyi tanımlarken sınıf isminin başına Internal ön eki getirirerek statik erişimli hale getirebilirsiniz. "


Dosya bazlı çok dil yapısı oluşturmak için tasarlanmış kütüphanedir. ZN Framework kendi içerisinde bu kütüphaneyi kullanmaktadır. Dahili veya tüm projeler için ortak dil dosyaları External/Languages/ içinde bulunmaktadır. Ön tanımlı olarak Türkçe ve İngilizce için dil dosyaları bulunmaktadır. Projenize özel dil dosyaları oluşturmak için ilgili proje içinde yer alan Languages/ dizininden yararlanabilirsiniz. Eğer aynı dil dosyalarını diğer projeleriniz içinde kullanmayı planlıyorsanız External/Languages/ dizinini kullanmayı unutmayın.

 

 

# Kurulum


ZN dağıtımları için kurulum gerekmez.

↓ composer require znframework/package-language

 

 

# Yöntemler


Lang::set(string $l = NULL) : bool
Lang::get() : string
Lang::current() : string
Lang::select(string $file = NULL, string $str = NULL, mixed $changed = NULL) : string

 

 

# Set


Sitenin dil içeriğini ayarlamak için kullanılır. Parametrenin varsayılan değeri tr, yani türkçedir. Sistemde varsayılan olarak iki dil ayarı mevcuttur. Bunlar; tr ve en 'dir. Bu ayarları değiştirmek için gerekli ayarlamaları Config/Project.php dosyasından yapmanız gerekmektedir.

Parametreler

string $lang = NULL Dil Kısaltması
return bool

Kullanımı

echo Lang::get();

Lang::set('tr');

echo Lang::get();
en
tr

 

 

# Get


Sitenin ayarlanmış dilini öğrenmek için kullanılır. Bu işlemi gerçekleştirmek için iki yöntem vardır. Bunlardan birincisi Lang::get() fonksiyonudur diğeri ise Lang::current() fonksiyonudur. Ancak Lang::current() kullanımı bir kaç duruma bağlı olarak sonuç verir.

Parametreler

return string

Kullanımı

echo Lang::get();     

Lang::set('tr');

echo Lang::get();
en
tr

 

 

# Current


Aktif dili öğrenmek için kullanılır. Ancak ayar bölümünden aktif dil seçeneğinin true olarak ayarlanması gerekmektedir. Kullanım olarak Lang::get() yöntemine benzerlik gösterir. Esasen ikisinin de yaptığı iş aynıdır ancak aralarında bir fark vardır. Bu fark Lang::current() yönteminin kullanılabilmesi için Config/Services.php dosyasındaki uri:lang = false değerinin true olarak ayarlanması gerektiğidir.

Parametreler

return string

Kullanımı

echo Lang::current();
en
Not: Bu ayar false olarak ayarlanırsa Lang::current() yöntemi false değeri döndürür.

 

 

# Select


Sistemde tanımlı olan veya sizin oluşturacağınız dil dosyalarını kullanmak için bu yöntemden yararlanılır.

Parametreler

string $file Ayar dosyası adı.
string $key = NULL Ayar adı.
mixed $replace = NULL Değişecek değerler.
return mixed

Kullanımı

echo Lang::select('Database', 'parameterError');       
echo Lang::select('Database', 'parameterError', 'TEST');
echo Lang::select('Database', 'parameterError', ['%' => 'TEST']);
% parametre eksik veya boş!
TEST parametre eksik veya boş!
TEST parametre eksik veya boş!

Sihirli Çağrım

Yöntem adı olarak çağıracağınız dil dosyasının adını da kullanabilirsiniz. 

echo Lang::database('parameterError');
echo Lang::database('parameterError', 'TEST');
% parametre eksik veya boş!
TEST parametre eksik veya boş!