Dil dosyamız, süreklilik arz eden bir gelişim ve güncelleme sürecindedir. Bazı eklentiler dil dosyası değişikliklerine ve eklemeline sahiptir. Bu değişiklikleri yaptığımızda dil dosyasının bütünlüğü zarar görmüş olur.
Dil dosyalarımız için güncelleme yayınlamak çok fazla değişiklik olduğu için çok zor olmakta. Dosya güncellendiğinde, bu güncellemeyi en kolay adapte etmek için, eklediğiniz eklentilerin dil değişiklikleri ön gördükleri şekilde değil, bu konuda yazacağım şekilde eklemelisiniz.
Giriş
Dil dosyaları birer betik dosyasıdır, betikler web sunucu tarafından yukarıdan aşağıya doğru okunur ve okuma bitiğinde kullanıcıya gönderilir.
Dil dosyasına geçmeden önce olayın mantığını anlamanız için basit bir php örneği vereyim:
- Kod: Tümünü seç
$degisken = 'kullanıcı';
$degisken = 'üye';
echo $degisken;
Kodların sonundaki echo, hangi değişkeni yazar? Elbette ikinci değişken olan "üye" ifadesini yazar. Yukarıdan aşağı okurken, ilk değişken ikinci değişken tarafından değiştirildi (replace edildi). İşte dil dosyamızdaki değişikleri bu mantığa göre yapacağız.
Dil dosyası değişiklikleri
Şimdi yukarıdaki mantığı dil dosyamıza uygulayalım. Eklentimiz aşağıdaki dil değişikliğini ön görsün:
[ AÇ ]
language/tr/common.php
[ BUL ]
- Kod: Tümünü seç
'FORUM_INDEX' => 'Pano anasayfası',
[ BUNUNLA DEĞİŞTİR ]
- Kod: Tümünü seç
'FORUM_INDEX' => 'Mesaj panosu',
[ BİTTİ ]
Bu değişikliği dil dosyamıza zarar vermeden, orjinalliğini bozmadan çalışabileceğimiz bir şekle dönüştürelim, bu dönüştürme işlemini ayrı bir belge de değil, direk mantık çerçevesinde dosya içinde uygulayın:
[ AÇ ]
language/tr/common.php
[ BUL ]
- Kod: Tümünü seç
?>
[ ÖNCESİNE EKLE ]
- Kod: Tümünü seç
$lang = array_merge($lang, array(
// xxx eklentisi 1.0.0
'FORUM_INDEX' => 'Mesaj panosu',
));
[ BİTTİ ]
Bu değişiklik FORUM_INDEX değişkenine, önceki ifadeleri değiştirerek "Mesaj panosu" ifadesini atayacaktır.
Yararı nedir, nasıl kullanılır
Bu tür bir uygulamanın yararı, orijinal dil dosyasına zarar vermeden istediğiniz değişiklikleri ve eklemeleri yapmış olursunuz. Dil dosyası güncellendiğinde, güncelleme için yapmanız gereken tek işlem, yeni dil dosyalarına, eskilerin sonundaki toplu alanı yapıştırmak olacak sadece. Bu güncelleme için harcayacağız zamanı kısaltacak, kafanızı da hiç karıştırmayacak.
Mesela, common.php dosyasının sonuna ben iki alan açtım, ilk alana DEĞİŞTİR tarzı kodları, ikinci alana ise EKLE tarzı kodları yapıştırıyorum:
- Kod: Tümünü seç
//----------- [ DEĞİŞİKLİKLER ] ------------------------------------------------------
//
$lang = array_merge($lang, array(
// xxx eklentisi 1.0.0
'FORUM_INDEX' => 'Mesaj panosu',
));
//----------- [ EKLEMELER ] -----------------------------------------------------------
//
$lang = array_merge($lang, array(
// deneme eklentisi 1.0.0
'DENEME' => 'Deneme',
'DENEME_INDEX' => 'Deneme Sayfası',
));
//
//----------- [ DOSYA SONU ] ----------------------------------------------------------