Php Çoklu Dil Sistemi

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    solstice
    solstice's avatar
    Kayıt Tarihi: 04/Nisan/2008
    Erkek

    Merhaba arkadaşlar,

    içerisinde 40-50 arası dilin olacağı, aynı zamanda blog sisteminde mevcut olacağı yani kullanıcının da kendi gireceği içeriği bolca mevcut olacak olan bir sistemde dil yapısını nasıl oluşturuyorsunuz ?


    https://www.youtube.com/watch?v=k6LrGZGqYn8
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    pSkpt
    pSkpt's avatar
    Kayıt Tarihi: 10/Aralık/2010
    Erkek

    Kullanıcıya özel dil seçimi olacak mı yoksa sadece sitenin dili mi değiştirilecek?


    İmza...
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    solstice
    solstice's avatar
    Kayıt Tarihi: 04/Nisan/2008
    Erkek

    pSkpt hocam,

    yukarda bahsettiğim kullanıcı burda yönetici aslında,

    yönetim paneline girip blog da içeriklerini yayınlayacak. Ama içeriklerinde her dil için ayrı ayrı yazması gerekiyor.

    Yani blogda 30 tane içerik varsa bunlar 30 ayrı dile çevirip yazacak.

    Yani içerikler ile beraber sitenin de dili değişecek. Doğal olarak yönetici dili seçmesi gerekecek.

    Dışardan gelen kullanıcıda lokalizasyona göre kendi diline yönlendirilecek. kendine uygun dil yoksa varsayılan olarak ingilizce açılacak.

    Örnek olarak kullanıcı türk ise site üzerindeki tüm içerikleri türkçe görecek. ingilizceyi seçerse herşey ingilizce olacak.

    Yani böyle çok fazla dilli sistemlerde nasıl bir yol izlenmek gerekir ?


    https://www.youtube.com/watch?v=k6LrGZGqYn8
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Ccaglayan
    Ccaglayan's avatar
    Kayıt Tarihi: 23/Kasım/2011
    Erkek

    bir dil klasörün olucak ve her dil için içerisinde ayrı bir klasör olucak

    language > TR > admin.php

    şeklinde yapabilirsin bunun içerisindede değişkenleri array içerisinde kullanarak hazırlayabilirsin misal admin.php içi

    <?php
    
    $lang['login'] = 'Giriş';
    
    $lang['logout'] = 'Çıkış';
    
    ?>

    gibi örnekle yaparsın fonksiyon olarakda şöyle bişi hazırlarsın kişinin dilini session'a yazarsın bi default değerin olur kullanıcı değiştirirse onuda değiştirmiş olur. Birde veritabanında tutarsın ki her giriş yaptığında default değer gelmesin sessiona veritabanındaki değeri yazsın.

    Hızlı bir şekilde yazdım şuan işteyim akşam eve geçince elimde önceden hazırladığım bişiler varsa paylaşırım olmazsa. Bu arada Codeigniter frameworküne bak derim onda dil altyapısı gayet güzel kullanılıyor framework üzerinden yaparsan sistemi daha rahat geliştirirsin.

  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    AsortiC
    AsortiC's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    Session ile çözersin hocam örnek; 

    Kullanıcı siteye girdiğinde default dil türkçe ise session turkçe eşitlersin eğer ingilizce ikonuna tıklarsa sessionu ingilizce ile eşitlersin tablo bağlantısındada dil seçeneğini sessionla eşitledin mi tamamdır

  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    solstice
    solstice's avatar
    Kayıt Tarihi: 04/Nisan/2008
    Erkek

    Evet sitenin statik bölgelerini php de array üzerinde tutucam. (Belki onlarıda veritabanına taşırım)

    içerik alanlarınıda database e bağlıcam.

    Kontrolüde session la sağlıyacam.

    Tamamdır hocalar saolun.


    https://www.youtube.com/watch?v=k6LrGZGqYn8
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Ccaglayan
    Ccaglayan's avatar
    Kayıt Tarihi: 23/Kasım/2011
    Erkek
    solstice bunu yazdı

    Evet sitenin statik bölgelerini php de array üzerinde tutucam. (Belki onlarıda veritabanına taşırım)

    içerik alanlarınıda database e bağlıcam.

    Kontrolüde session la sağlıyacam.

    Tamamdır hocalar saolun.

    aman dil dosyalarını veritabanında tutma çok fazla işlem olduğunda veritabanı sunucusunu kitlersin. Yada noSql veritabanlarına aşinaysan ona koy derim yoksa ilerde başın çok ağrır bu arada küçük bi örnek de var burda inceleyebilirsin http://www.sitepoint.com/multi-language-support-in-codeigniter/ 

  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    solstice
    solstice's avatar
    Kayıt Tarihi: 04/Nisan/2008
    Erkek
    Ccaglayan bunu yazdı
    solstice bunu yazdı

    Evet sitenin statik bölgelerini php de array üzerinde tutucam. (Belki onlarıda veritabanına taşırım)

    içerik alanlarınıda database e bağlıcam.

    Kontrolüde session la sağlıyacam.

    Tamamdır hocalar saolun.

    aman dil dosyalarını veritabanında tutma çok fazla işlem olduğunda veritabanı sunucusunu kitlersin. Yada noSql veritabanlarına aşinaysan ona koy derim yoksa ilerde başın çok ağrır bu arada küçük bi örnek de var burda inceleyebilirsin http://www.sitepoint.com/multi-language-support-in-codeigniter/ 

    Anladım hocam dil dosyalarını koymam. yalnız dinamik içerik kısımlarını mecbur dbye bağlıcaz. nosql için şimdilik vakit yok. daha önceden bakmadığım için zaman kaybederim.


    https://www.youtube.com/watch?v=k6LrGZGqYn8
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    snnyk
    snnyk's avatar
    Kayıt Tarihi: 28/Mayıs/2007
    Erkek

    opencartın language yapısını inceleyiver hocam 


    snnyk.com - code is poetry all that i know...
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    solstice
    solstice's avatar
    Kayıt Tarihi: 04/Nisan/2008
    Erkek
    snnyk bunu yazdı

    opencartın language yapısını inceleyiver hocam 

    tamam hocam.


    https://www.youtube.com/watch?v=k6LrGZGqYn8
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    pSkpt
    pSkpt's avatar
    Kayıt Tarihi: 10/Aralık/2010
    Erkek

    Öncelikle site yapısında yani Anasayfa linkinin yazısı Resimler linkinin yazısı gibi template bağlı yazıları değişkenlere atayıp bunu bir dosya içerisinde ya da database'de tutabilirsin.

    lang_tr.php

    $lang['link_Anasayfa'] = 'Anasayfa';
    $lang['link_Resimler'] = 'Resimler';

    ...

    lang_en.php

    $lang['link_Anasayfa'] = 'Homepage';
    $lang['link_Resimler'] = 'Images';

    ...

    Kullanacağın yerde

    <a href="index.php"><?php echo $lang['link_Anasayfa']; ?></a>

    tarzında kullanırsın.

    Diğer kullanıcıların gireceği blog vs. içinse blogları kaydederken dil seçeneğini de ekleyeceksin. Burada sıkıntı şu olacaktır.

    ben "Kır Gezisi" başlıklı bir blog yazdım, Türkçe, İngilizce ve Fransızca bunları 3 kere yazıp kaydettim.

    Türkçe olan blogun ID'si 278

    İngilizce olan blogun ID'si 375

    Fransızca olan blogun ID'si 389 gibi farklı değerler olacaktır. Sen Google'da tek link olacak

    http://site.com/blog/kir-gezisi-278.html

    diyorsan yani adam yukarıdaki linke girip o yazıyı Fransızca da okuyabilir, İngilizce de ama link Türkçe sabit kalacak diyorsan o zaman blogu kaydederken "seo_link" diye bir alan oluşturup yazılan yazının seo_linkini o an oluşturmalı veya isteğe bağlı kullanıcıya bırakabilirsin.

    Böylelikle elinde

    http://site.com/blog/kir-gezisi.html

    diye bir linkin oluşacak ve google 3 ayrı dil olsa da tek link görecektir. Tabi bunları içeriği ve başlığı değişik olacağı için seo açısından nasıl bir sonuç oluşturur orasını bilemiyorum. :)

    http://site.com/blog/kir-gezisi-tr.html

    http://site.com/blog/kir-gezisi-fr.html

    http://site.com/blog/kir-gezisi-en.html

    tarzında linklerde olusturabilirsin sana kalmış :)


    İmza...
Toplam Hit: 1077 Toplam Mesaj: 11