"Enter"a basıp içeriğe geçin

Diller ve Kullanımı

Projenizde kullanacağınız dil dosyalarını “/PHPXI/APPLICATION/Languages/” oluşturmalısınız. Bu dizin içerisinde kullanacağınız her dil için doğru şekilde isimlendirilmiş yeni bir dizin/klasör oluşturmalısınız.

Not: Kullanım kolaylığı için oluşturacağınız klasör/dizin ismini dillin 2 karakterli kısaltmasından/kodlamasından oluşturmanızı tavsiye ederiz.

Dil Dosyasını Oluşturma

/PHPXI/APPLICATION/Languages/

dizininin içine eklemek istediğiniz dil için yeni bir dizin açın ve onun içine app.php isimli bir dosya oluşturun.

Örneğin İngilizce dil dosyasının konumu aşağıdaki şekilde olacaktır.

/PHPXI/APPLICATION/Languages/en/app.php

Dil Dosyasının (app.php) İçeriği

PHPXI dil dosyalarını $lang adında bir dizi/array olan değişken üzerinden çeker. Bu yüzden dil dosyanızın içeriği aşağıdakine benzer olmalıdır.

$lang = array(
"lang_keyword_one" => "Bu birinci dil labelı",
"lang_keyword_two" => "İkinci dil labelı"
);

ve ya

$lang = [
"lang_keyword_one" => "Bu birinci dil labelı",
"lang_keyword_two" => "İkinci dil labelı"
];

ya da

$lang = array();
$lang["lang_keyword_one"] = "Bu birinci dil labelı";
$lang["lang_keyword_two"] = "Bu ikinci dil labelı";

şeklinde de oluşturulabilir.

Kullanacağınız sayfaların başında dil kütüphanesini kullanmak istediğinizi belirtmelisiniz;

use Lang;

ve ya

use \PHPXI\Libraries\Language\Language;

Dil Seçme/Değiştirme

PHPXI ilk açılışta hangi dili yüklemesi gerektiğini Language.php yapılandırma dosyası içindeki $config['default'] yapılanmasından öğrenir ve dili dosyasını otomatik olarak yükler.

Yine de bazı durumlarda proje içerisinde bazı bölümlerde başka bir dil seçmek isteyebilirsiniz. Bunun için;

Lang::set("en");

kullanılır.

Not: Aldığı parametre dil dosyasının klasör/dizin adı ile aynı olmalıdır.

Seçili Dili Öğrenme

Hangi dilin çalıştığını öğrenmek için;

Lang::get();

Projede Kullanımı

Proje içinde kontrolcülerde, modellerde ya da görünüm dosyalarında dil dosyası içerisinden bir değeri çekmek için;

Lang::r("lang_keyword_one");

ekrana bastırmak için;

Lang::e("lang_keyword_one");

dil dosyasında belirtilen anahtar için bir tanımlama yapılmamış ise anahtarın kendisini döndürür ya da ekrana basar.

Değişken Değerlerle Kullanımı

Bir metin içerisinde değişken değerler kullanmak isteyebilirsiniz. Bunun için yapmanız gereken bunu doğru şekilde yapılandırmaktır.

Dil dosyasında (app.php) buna uygun tanımlamaları yapmak için;

$lang["variable_welcome_message"] = "Merhaba {0}, Tarih : {1}";

Değişken olacak yerler süslü parantesler içinde 0 dan başlayarak belirtilir.

Çağırmak için;

Lang::r("variable_welcome_message", ["PHPXI", date("d-m-Y")]);

Ekrana bastırmak için;

Lang::e("variable_welcome_message", ["PHPXI", date("d-m-Y)]);

Bu örnekte çıktı aşağıdakine benzer şekilde olacaktır.

Merhaba PHPXI, Tarih : 01-01-2020

Dil dosyasındaki tanımlama şu şekilde de olabilirdi.

$lang["variable_welcome_message"] = "Tarih {1} - Merhaba {0}";

Ekrana basmak için;

Lang::e("variable_welcome_message", ["Benim Adım", date("d-m-Y")]);

Çıktısı şuna benzer;

Tarih : 01-01-2020 - Merhaba Benim Adım