Dosya Dil Kütüphanesi


    × Bunları biliyor muydunuz?
"ZN Framework'te Masterpage kütüphanesi ile çok basit bir şekilde web iskeleti oluşturabilirsiniz."


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 SE ve ZN CE dağıtımları için terminal kurulum komutu.

↓ composer require znframework/package-language

 

 

# Yöntemler


Bool set(String $l = NULL)
String get(Void)
String current(Void)
String select(String $file = NULL, String $str = NULL, Mixed $changed = NULL)

 

 

# Set (ZN >= 5.0.0)


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 (ZN >= 5.0.0)


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

Void
Return String

Kullanımı

echo Lang::get();     

Lang::set('tr');

echo Lang::get();
en
tr

 

 

# Current (ZN >= 5.0.0)


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

Void
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 (ZN >= 0.0.1)


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ş!