Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
karakter kaldı

Birden çok dile sahip siteler için en iyi veritabanı yapısı?

Merhaba bir süredir birden fazla dile sahip siteler için uygun bir veritabanı üzerinde araştırma yapıyorum.Klasik yöntemler dışında şuan kullandığım yöntem aşağıda(Halen eksikleir var).Diğer klasik yöntemler hakkında da bilgim var.Ürünler,sayfalar vb uygulamalar için sizce en iyi veritabanı yapısı nasıldır ?
--
-- Tablo için tablo yapısı `page_categories`
--

CREATE TABLE IF NOT EXISTS `page_categories` (
  `category_id` int(11) NOT NULL AUTO_INCREMENT,
  `category_parent_id` int(11) NOT NULL,
  `category_active` enum('true','false') NOT NULL DEFAULT 'false',
  PRIMARY KEY (`category_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;

--
-- Tablo döküm verisi `page_categories`
--

INSERT INTO `page_categories` (`category_id`, `category_parent_id`, `category_active`) VALUES
(1, 0, 'true');

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

--
-- Tablo için tablo yapısı `page_container`
--

CREATE TABLE IF NOT EXISTS `page_container` (
  `article_id` int(11) NOT NULL AUTO_INCREMENT,
  `category_id` int(11) NOT NULL,
  `article_active` enum('true','false') NOT NULL DEFAULT 'false',
  PRIMARY KEY (`article_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=9 ;

--
-- Tablo döküm verisi `page_container`
--

INSERT INTO `page_container` (`article_id`, `category_id`, `article_active`) VALUES
(1, 1, 'true'),
(3, 1, 'true'),
(4, 1, 'true'),
(5, 1, 'true'),
(6, 1, 'true'),
(7, 1, 'true'),
(8, 1, 'true');

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

--
-- Tablo için tablo yapısı `page_language`
--

CREATE TABLE IF NOT EXISTS `page_language` (
  `language_id` int(11) NOT NULL AUTO_INCREMENT,
  `content_id` int(11) NOT NULL COMMENT 'kategorilerin ve sayfanin icerigini tutan alanin id''si',
  `language_content` longtext NOT NULL,
  `language_type` enum('category_title','category_content','category_seo','article_title','article_content','article_seo') NOT NULL,
  `language_language` enum('tr','en','de','fr') NOT NULL,
  PRIMARY KEY (`language_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=30 ;

--
-- Tablo döküm verisi `page_language`
--

INSERT INTO `page_language` (`language_id`, `content_id`, `language_content`, `language_type`, `language_language`) VALUES
(1, 1, 'Genel', 'category_title', 'tr'),
(2, 1, 'genel', 'category_seo', 'tr'),
(3, 1, 'Sayfa Basligi', 'article_title', 'tr'),
(4, 1, 'Sayfa icerigi Steve', 'article_content', 'tr'),
(5, 1, 'sayfa-basligi', 'article_seo', 'tr'),
(6, 2, 'Steve Jobs', 'article_title', 'tr'),
  • Merak ettiğim bir konu var sorun hakkında. Yapmak istediğin şey her bir sayfanın bir şekilde (bir çok yöntem var çünkü) karşılığı var ise istenilen dildeki karşılığına geçmek mi yoksa sadece iki ayrı yapı olarak aynı database üzerinde çalışan iki farklı ve birbirinden bağımsız bir arayüz olarak her dil geçişinde o dilin ana sayfasına gitmek mi?
    wwwonrsoftcom 4 hafta önce yazdı
  • Yapmak istediğim ilk bahsettiğiniz klasik sayfanın ingilizce karşılığı varsa ona geçiş yapmak.Klasik sessionlarla dili sorgularım üzerinden değiştirmek.Umarım açıklayabilmişimdir.
    xuma 3 hafta önce yazdı
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Cevaplar

  • Avatar of secginli
    3 hafta önce
    27 cevap - 3 soru
    Bu gibi bir yapıyla bizde bir süre önce bişeyler yaptık. En sağlıklı çözüm sayfa bazında değerleri xml içinde tutup xml erişimi ile mevcut dil karşılığı olan bilgileri yükletmek oldu. Database hali çok sağlıklı değil. Ortalama ziyarette ya maliyetleri arttırıp sistemi ayakta tutman gerekir yada sistem bir süre sonra iyice yıpranır.
    • Avatar of xuma xuma
      Özellikle kullandığım bu yapıda herbir dil karşılığı için text,longtext alanları kullanmak çok gereksiz ama yapı olarak gerekli.Bu yüzden araştırmalarım devam ediyor.Halen veritabanı üzerinden daha basit çözümlere bakıyorum.
      Açık kaynaklı kullandığım birkaç sistemde kullanılan xml dil sistemlerinide inceliyorum.
      3 hafta önce yazılmış