Dosya Dil Kütüphanesi


    × Bunları biliyor muydunuz?
"Basit bir konsol komutu ile projenin orijinal haline dokunmadan restorasyon çalışması yapabilirsiniz."


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