folder Tahribat.com Forumları
linefolder Webmaster ve Yazılım Geliştiriciler
linefolder Bir Siteye Çoklu Dil Nasıl Yaparsınız?



Bir Siteye Çoklu Dil Nasıl Yaparsınız?

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    cemnet
    cemnet's avatar
    Kayıt Tarihi: 18/Eylül/2007
    Erkek

    Selam arkadaşlar, dinamik güncellenen bir siteye çoklu dil yapılcak olsa. Atıyorum 30 tane. Bunu nasıl bir sistem ile çözersiniz.

     

    Normalde 2-3 dil olduğundan ben ilgili table'ın dilli olan sutunlarına adi_ing, adi_fr, adi_de şeklinde ek sutunlar çözerek yapardım.

     

    Ama işin içinde 30 tane olunca bu pek kullanışlı olmaz.

     

    Fikir yürütelim, büyük siteler nasıl çözer bu olayı?

     

    (Not: Google translate script'i ekle demeyin :D) 

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    1-618-GR
    1-618-GR's avatar
    Kayıt Tarihi: 29/Haziran/2011
    Erkek

    Hacım yinede bazı yerlerde eksik olur scrpit'i olasada, her menü her şey aynı olmadığı için yine bir yerde o dili bilen birine ihtayaç duyulması söz konusu olabilir ki öyledir diye tahmin ediyorum.

    O yüzden 30 dil :D 30 çalışan insan demek : |


    Bir domino taşıyım yıktığına sevinme....
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    cemnet
    cemnet's avatar
    Kayıt Tarihi: 18/Eylül/2007
    Erkek

    1-618-GR bunu yazdı:
    -----------------------------

    Hacım yinede bazı yerlerde eksik olur scrpit'i olasada, her menü her şey aynı olmadığı için yine bir yerde o dili bilen birine ihtayaç duyulması söz konusu olabilir ki öyledir diye tahmin ediyorum.

    O yüzden 30 dil :D 30 çalışan insan demek : |


    -----------------------------

     

    Hacım boşver işin 30 çalışan kısmını yaw :)

     

    Gerek DB yapısı, gerek sayfadaki sabit yazı yapısı bakımından en olurunu konuşalım biz ..

  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    yawuz
    yawuz's avatar
    Kayıt Tarihi: 17/Temmuz/2005
    Erkek

    en kıralı kaç dil varsa o kadar db o kadar sayfa :) 


    tahribat.com a can feda
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    FCN
    FCN's avatar
    Kayıt Tarihi: 28/Eylül/2007
    Erkek

    asp.net  için resourse dosyaları ile halledebilirsin.  stringleri resourse dosyasında tutup içinden kullanabiliyorsun.

    edit: sanırım verilerde değişcekmiş gelen giden verileride db de farklı tablolarda tutmak en mantıklısı. aynı tabloda tutup farklı kolonda dilini belirlersen boşuna içerik tekrarı olur tablon şişer buda performans kaybı yaşatır.

  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    cemnet
    cemnet's avatar
    Kayıt Tarihi: 18/Eylül/2007
    Erkek

    create table dbo.Yazi

    (

    id int identity(1,1)primary key,

    adi nvarchar(200),

    durum smallint

    )

     

    en basitinden sitede fix yazıları tuttuğumuz tablo yapısı yukardadır. Şimdi buna 30 dil eklemek isteyelim işin DB tarfında ne yapalım performansı göz onunde tutarak?

  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    KopukKopca
    KopukKopca's avatar
    Kayıt Tarihi: 14/Kasım/2007
    Erkek

    Bir Dil tablosu aç onun Id sini yazilar tablosuna foreign key ile bağla olsun bitsin genel olarak button vb. nesnelerinde text değerlerini standart bir xml yapısı geliştirip oradan çekebilirsin.Bu arada bu verileri cache de tutarsan her kullanıcı için daha iyi olur...


    2 x pi x re x pi x pi x mi x 7
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ThundeR
    ThundeR's avatar
    Kayıt Tarihi: 08/Mart/2007
    Erkek

    mesela alttaki gibi..

    sabit içeriklerinide vt de tutabilirsin, yada xml dosyasında tutabilirsin

    Dil
    ------
    ID
    Ad

    *********

    Haber
    --------
    ID
    DilID
    Baslik
    Resim
    Icerik

  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    camarade
    ontedi
    ontedi's avatar
    Kayıt Tarihi: 04/Eylül/2005
    Erkek
    Facebook bildiğim kadarıyla javascript ile yapmış. Bir ara incelemiştim.

    Matematikçi ve Yazılımcı. http://www.ontedi.com ve http://www.cizgi.site Siteme beklerim herkesi.
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    TeRRoR
    TeRRoR's avatar
    Kayıt Tarihi: 06/Nisan/2007
    Erkek

    30 Dil yapacaksan yazı tablosunda 30 tane kolon eklemen mantıksız olur. 30 tane Dil_yazı tablosu yaparsın, dil'e göre Join işlemini farkı yaparsın.

    Şöyleki:

    YazıTablo
    ID
    YazarID
    Tarih

    DilID

     

    ENYazıTbl 

    ID

    YazıTabloID

     

    FRYazıTbl 

    ID

    YazıTabloID

     

    TRYazıTbl 

    ID

    YazıTabloID

     

     

    string session_Dil = session["dil"];

    sqlCümlesi = "select * from YazıTablo y

    inner join "+session_Dil+"YazıTbl y on yt.YazıTabloID = y.RID

    where y.RID =@YazıID";

     

    Syntax sallama oldu ama anlarsın umarım (c#-TeRRoR syntax karışık oldu) 

      


    herkes programcı olmak zorunda değildir, lütfen bir zorunluluk gibi programlama dilleri öğrenmeye çalışmayın. yabancı dil filan öğrenin amq.// s.kimin etini yerim, kasaba minnet etmem.// ince düşünene kalın girer.//
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    TeRRoR
    TeRRoR's avatar
    Kayıt Tarihi: 06/Nisan/2007
    Erkek

    ontedi bunu yazdı:
    -----------------------------
    Facebook bildiğim kadarıyla javascript ile yapmış. Bir ara incelemiştim.
    -----------------------------

     

    Bazı php dilli sistemlerdede böyle sayfadaki sabit yazıları javascript methodu ile çağırıyorsun, ve sayfaya yüklenen dil_source javascript klasörüne göre verileri replace ediyor ve lokalize ediyor.


    herkes programcı olmak zorunda değildir, lütfen bir zorunluluk gibi programlama dilleri öğrenmeye çalışmayın. yabancı dil filan öğrenin amq.// s.kimin etini yerim, kasaba minnet etmem.// ince düşünene kalın girer.//
Toplam Hit: 3809 Toplam Mesaj: 18