1. Bi fonksiyon yaz 3 4 tane olsun veri tabanın hangisi olacaksa çağır gelsin işte neresi zor olcak.
2. rob33n dediği gibi makale_icerigi (makale_id, dil_secenegi (tr-TR, en-EN, fr-FR), yazacaksın tek id ile her dili halledeceksin. Extra bir dil seçeneği daha geldi bi ekleme yapacasın arapçayı ar diye =) heryerde mis gibi olacak.
Çoklu Dil Seçimli Projeler
14
●2.039
- 09-07-2015, 22:49:41Eğer yabancı dil şablonunu sql'e yazdıracaksan
title -> text
arrayı da serialize ettirip dbye yazdır
örnek
function Cevir($array=array(), $dil="default", $cikti = false) { if(is_array($array)) { if(isset($array[$dil])) { $ceviri = $array[$dil]; } else if(isset($array["default"])) { $ceviri = $array["default"]; } else { $ceviri = "Çeviri yapılamadı"; } } else { $ceviri = "Çeviri yapılamadı"; } if($cikti) { echo $ceviri; } else { return $ceviri; } } $link_baslik = array("tr"=>"Anasayfa","en"=>"Home","default"=>"Index"); $link_baslik = serialize($link_baslik); mysqli_query("Insert INTO diller (id, tanim, deger) values('', 'anasayfa_link', '$link_baslik')"); $q = mysqli_query("select from diller where tanim='anasayfa_link'"); $sonuc = mysqli_fetch_assoc($q); $dil = unserialize($sonuc["deger"]); //Kullanımı echo Cevir($dil); //Çıktı Index echo Cevir($dil, "tr",false); // Çıktı Anasayfa echo Cevir($dil, "tr"); // Çıktı Anasayfa Cevir($dil, "en",true); // Çıktı Home Cevir($dil, "arapca",true); // Çıktı IndexDenemedim ama çalışır muhtemelen kodlama hatası varsa bildirirsiniz.
Bu çevirileri tek tek sql den çağırmak yerine json dosyasına cacheleyebilirsin.
Ayrıca statik çeviri için gettext kullanmak şuan için en mantıklısı bunun dışında (bence). - 10-07-2015, 00:47:37hangisini tavsiye edersiniz laravel mi codeingehtır mı yakında başlayacağımBHCoder adlı üyeden alıntı: mesajı görüntüle
- 10-07-2015, 04:44:32Üyeliği durdurulducodeigniter yeter size, apple bile kullanıyor ne olsun, sonra uzman olunca laravel vs geçiş yaparsınız.U_uR adlı üyeden alıntı: mesajı görüntüle
bol bol codeigniter pratik yapınız.
takıldığınız yerde konu açın yardımcı oluruz.
- 10-07-2015, 09:13:37Bukadar koda gerek var mı?Kaplan adlı üyeden alıntı: mesajı görüntüle
id - tag - tr - en - ru - ar şeklinde tablo yapısını oluştursun.
tag kısmına etiketini belirtsin. Örneğin lang_home
$language değişkeninde de sessionda tuttuğun tr,en,ru,ar dil kısaltmalarından biri olsun.
$translation = $database->prepare('SELECT * from table_translation'); $translation->execute(); foreach($translation as $lang) { $tag[$lang['tag']] = stripcslashes(stripcslashes($lang[$language])); } extract($tag);Dediğin zaman veritabanındaki tagın olur sana değişken.
Örneğin anasayfa linkine<?php echo $lang_home; ?>
dediğin zaman session daki dil neyse ona göre veriyi ekrana basar.