Cevaplara yorum özelliği eklendi. Lütfen tartışmalar için yorumları kullanın. Tüm güncellemeler

Çoklu Dil Desteği Olan Uygulamada Veritabanı

Merhaba. Çoklu dil desteği olan bir sistem geliştiriyorum.Bu sistemde admin panelden yeni bir dil ekleyebilir veya silebilir olacak o yüzden veritabanından

column_tr,column_en gibi yapmak çok zahmet alacağından bende language adında bir tablo yaptım


CREATE TABLE `tbl_language` (
  `language_id` int(11) NOT NULL,
  `language_key` varchar(7) COLLATE utf8_turkish_ci DEFAULT NULL,
  `language_description` varchar(255) COLLATE utf8_turkish_ci DEFAULT NULL,
  `isActive` int(1) NOT NULL,
  `createdAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_turkish_ci;

her tablodada bu

language kolonu ekleyip hangi dile aitse aldım buraya kadar sorun yok. Ancak bu sefer kategori olayında örneğin ;


Kategoriler

kategori id=1 // Devam Eden İşler // language= tr

kategori id=2 // Work In Progress // language= en

kategori id=3 // Tamamlanan işler // language= tr

kategori id=4 // Completed // language= en


Projeler

kategori_id = 1 // Deneme Proje


projenin kategorisi devam eden işler oluyor ancak ingilizce veya başka bir dil seçince bu sefer ingilizce kategorisi olmadığından projeyi göstermiyor.

Bunu bir performans kaybı olmadan nasıl çözerim.






5

Cevaplar (5)

İşlem devam ediyor, lütfen bekleyin..
Serkan Kuyu
@serkankuyu
2 ay önce

Session'da tutarak dil dosyalarını oluşturursan daha iyi performans alırsın diye düşünüyorum.

İşlem devam ediyor, lütfen bekleyin..
SELAHATTİN KAĞAN CİN
@kaannc7
2 ay önce

dil seçeneğini session da tutuyorum zaten ancak dil dosyalarını session da nasıl tutabilirim :D

İşlem devam ediyor, lütfen bekleyin..
Serkan Kuyu
@serkankuyu
2 ay önce [Güncellendi]

Aşağıdaki adresten nasıl yapıldığına dair öğrenebilirsin.

https://okandiyebiri.com/php-coklu-dil-dosyasi-yapimi/

Cevapla @kaannc72 ay önce
@serkankuyu, siz benim demek istediğimi anlamadınız. ben sitedeki sabir metinleri zaten php dosyasında tutuyorum orda problem yok ben veritabanındaki proje tablomun diğer dilleri için soruyorum
Cevapla @serkankuyu2 ay önce
@kaannc7, ben kendi projelerimde tüm dil dosyalarını aynı şekilde kullanıyorum. Size tavsiyem bu şekilde kullanırsanız veritabanınızı fazla yormaz, iyi performans alırsınız.
İşlem devam ediyor, lütfen bekleyin..
Murat OSMA
@MuratOSMA
2 ay önce [Güncellendi]

Ben bunu kullanıyorum.. TR, EN, DE için yaptım.

http://dosya.co/5g65i7g722iq/Php-Coklu-Dil-Uygulamasi.rar.html



Cevapla @kaannc72 ay önce
@MuratOSMA, benim istediğim kelimelerin diğer dillerde karşılığı değil benim veritabanımda projeler kolonu var mesela projenin özellikleri kat planı vs. yazıyor. Onların diğer dillere uyarlaması için diyorum. Sitedeki sabit metinleri değiştirmek için değil.
İşlem devam ediyor, lütfen bekleyin..
Bayram Arif
@Bayramito
2 ay önce

Çoklu dil sistemini neden veritaba'nında tutuyorsun ki fazla meşakkatli bir iş değil mi, dosya da dize şeklinde yada json formatında tutmak daha mantıklı değil mi?hem okunurluğu hem de kullanımı kolay olması bakımından :)

Cevapla @kaannc72 ay önce
@Bayramito, veritabanındaki verilerimi neden dosyada tutayım ki dil seçeneğimi ve sitedeki sabit yazıları dosyada tutuyorum ama bir projenin ingilizce açıklamasını neden bir dosyada tutayım bu daha zahmetli değil mi
Cevapla @Fire2 ay önce
Dil için bir sütun ekle tabloya o tabloda tr,en,de diye dil parametresini tut ve ona göre sorgu yapmak en mantıklısı uzak durman gereken yöntem title_en, title_tr gibi sütunlar açmak :)
Cevapla @Bayramito2 ay önce
@kaannc7, Tayfun'un prototurk te bir dil sistemi var göz at derim ona ^^
İşlem devam ediyor, lütfen bekleyin..

Cevap yaz Sadece sorunun cevabını yazın