• 28-08-2020, 21:19:28
    #10
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Çoklu dil olayını session, sql ile yapmanı kesinlike önermem.

    Text verilerinin veritabanından çekilmesi gereksiz bir işlemdir, önemsiz verilerin dbde saklanmasını ve sürekli getirilmesini istemezsiniz. json, xml dosyalarında tutulabilir, array olarak ayarlanıp her dil için bir php dosyasında tutulabilir. Böylesi daha mantıklı olacaktır.
  • 28-08-2020, 21:27:57
    #11
    Admin panelden düzenlenebilmesi için illa veritabanı kaydı mı tutulmalı anlamadım ?
  • 28-08-2020, 21:54:35
    #12
    Üyeliği durduruldu
    Ufak projeniz ve kullanıcı az olursa yormaz fakat. Eğeri projei global olarak düşündüğünüz için Dil sistemi Veritabanı için uygun olmaz. Bunun için Php dosyasında array olarak işlem sağlayın bunu gene admin panelinde düzenleme yapabilirsiniz Daha kolay işlem sağlamış olursunuz ve hızlı sonuçlar alırsınız.

    Örnek:
    @$lang_ = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0,2);
    
    if ($lang_ == 'tr') {
        require_once($_SERVER['DOCUMENT_ROOT'].'/lang/lang_tr.php');
    }elseif ($lang_ == 'en') {
        require_once($_SERVER['DOCUMENT_ROOT'].'/lang/lang_en.php');
    }else{
        require_once($_SERVER['DOCUMENT_ROOT'].'/lang/lang_tr.php');
    }
    Dil dosyası:
    <?php
    $lang = array(
    "lang_tr"                                        => "Türkçe",
    "lang_en"                                        => "İngilizce",
    "lang_ru"                                        => "Rusça",
    "search_input"                                    => "Arancak Kelime",
    "btn_sign_login"                                => "Giriş Yap",
    "btn_sign_register"                                => "Kayıt Ol",
    "btn_sign_out"                                    => "Oturumu Kapat",
    Kendinize göre mantık kurarak geliştirebilirsiniz.
  • 28-08-2020, 23:14:19
    #13
    Json olarak yapın. Güncellemeyi de ftp kullanmadan yaptırabilirsiniz. Dosyasan veriyi file_get_contents ile alın json_decode ederek diziye çevirin ve admin panelinde gösterin. Admin panelinde düzenlenmiş halini json_encode edip tekrar dosyaya yazın..
  • 28-08-2020, 23:14:38
    #14
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Projelerinizde Framework kullanın. Spagetti kodlamayla hem kendinizi gereksiz yere yorar hem de müşterilerinizi üzersiniz.
    Dil olayına gelecek olursak:
    1)Sabit kelimeler kesinlikle dosya olarak tutulmalı. Json,xml,php veya po olarak fark etmez.
    2)Dinamik alanlarınızı veri tabanında tutun. Örneğin: Sitenizde hakkımızda sayfası var bunun diğer dilleri de veri tabanında olması gerekir.
    Bu 2 seçenekte de admin panelinden güncellenebilir şekilde yapabilirsiniz.
  • 28-08-2020, 23:16:44
    #15
    Admin panelinden dil dosyası oluşturmak json olarak kaydedip site ayarlarından dosyanın adını değişken olarak tutmak kullanıcının tarayıcı diline göre ilgili json dosyasını çağırmak daha mantıklı geliyor
  • 29-08-2020, 00:50:09
    #16
    Veritabanındada tutsan genelde site bilgileri, dil bilgileri, ayar bilgileri gibi konularda cache kullanmanı öneririm, mümkün olduğunca select sorgusundan uzak durmalısın.
    Örnek siteye kullanıcı girdi memcachede dil bilgisi yok süresi dolmuş sorgula al onu cacheye 12 saat veya 24 saat kalsın. Adminden güncelleme mi yaptın silip hemen tekrar cache mekanizmasını devreye sok.
    Veritabanına dil ayarlarını kaydetmen bana göre daha mantıklıdır eğer çok dilli diyorsan şu şekilde olması muhtemel mimarin;
    Yeni dil ekle => dil adı, dil ikonu, dil
    Dile kelimeleri eşleştirme => default dil yanında yeni eklediğin dil ve içi boş inputlar olarak düşün solda Merhaba dünya sağda ise yeni dilin merhaba dünya karşılığı.
    Dolayısıyla bu şekilde dinamik olarak bir çok dili ekletebilirsin ancak json yaparsan yeni dilde eklendiğinde uğraşırsın.
    Ayrıca yeni bir içerik eklediğinde eklenmiş dilleri görebilir, ilgili içeriğin ilgili dil'in idsine eşleştirdiğinde o dilin içeriği var ise gösterebilirsin.
    Son bir bilgide çok dilli sistemlerde artık içerik dili değiştiğinde url de değişiyor yapını buna göre yapmanı tavsiye ederim.
    bu ne demek; Örnek benimsitem.com/hakkimizda - benimsitem.com/about-us Bu sayfalarda pek bişi fark etmez desenizde çok dilli bi e-ticaret sitesinde binlerce ürünün her ürüne özel ilgili dile uygun url olması büyük avantaj sağlar.
  • 29-08-2020, 02:21:20
    #17
    Tüm cevaplar için çok teşekkür ederim jsonda tutup oradan çekmeye karar verdim çünkü sayfalarda cache kullanmam pek mümkün değil json dosyalarını da admin panel üzerinden değiştirme hakkı vereceğim kullanıcıya