• 09-07-2015, 22:30:44
    #10
    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.
  • 09-07-2015, 22:41:13
    #11
    Üyeliği durduruldu
    framework öğrenin bunların hepsi zaten yapısında mevcut, basit uygularsınız
  • 09-07-2015, 22:49:41
    #12
    Eğ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ı Index
    Denemedim 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:37
    #13
    BHCoder adlı üyeden alıntı: mesajı görüntüle
    framework öğrenin bunların hepsi zaten yapısında mevcut, basit uygularsınız
    hangisini tavsiye edersiniz laravel mi codeingehtır mı yakında başlayacağım
  • 10-07-2015, 04:44:32
    #14
    Üyeliği durduruldu
    U_uR adlı üyeden alıntı: mesajı görüntüle
    hangisini tavsiye edersiniz laravel mi codeingehtır mı yakında başlayacağım
    codeigniter yeter size, apple bile kullanıyor ne olsun, sonra uzman olunca laravel vs geçiş yaparsınız.
    bol bol codeigniter pratik yapınız.
    takıldığınız yerde konu açın yardımcı oluruz.

  • 10-07-2015, 09:13:37
    #15
    Kaplan adlı üyeden alıntı: mesajı görüntüle
    Eğ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ı Index
    Denemedim 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).
    Bukadar koda gerek var mı?

    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.