Sadece fikir olması açısından fazla üzerinde düşünmeden yazacağım. Yazdıklarım eğer bir sitenin global öğelerinin dile göre değiştirilmesini istiyorsanız geçerli. Dinamik içerikler, haberler, sayfalar vs. için geçerli değil. Ancak anasayfa = homepage, iletişim = contact us gibi çevirilerden bahsettiğinizi düşünerek yazıyorum.

Bu tarz global değişkenleri ben olsam veritabanında tutardım. Yine veritabanında da json olarak tutabilirsiniz bu size kalmış. Diyelim ki tutmadık.

dilyonetimi tablomuz olsun.

Siz statik olarak TR ve EN adında iki alan eklediniz bu tabloya, veriler ise şu şekilde.

1 - Anasayfa - Homepage
2 - İletişim - Contact Us
3 - Hakkımızda - About Us
4 - Ekibimiz - Team
.
.
.
şeklinde gidiyor.

Site ilk çağırıldığında varsayılan bir dil zaten seçtiriyorsunuz. Ve ziyaretçi başka bir dil seçene kadar yaptığınız mysql sorgusunu önbelleğe alıyorsunuz. Ziyaretçi varsayılan dil olan TR yerine EN seçerse, sorguyu yineleyip bu sefer dönen sonucu önbelleğe alabilirsiniz. Bu şekilde yönetim panelinden sınırsız dil ekleyebilir ve ona göre çalışma yapabilirsiniz. Yine ek olarak, dil dosyalarını yine json olarak tutup dosya üzerinden de okutabilirsiniz ancak, çok yoğun trafik almayacaksanız, mysql kısmında önbellek kullanmasanız bile hız olarak gözle görülür fark olmayacaktır. Yine de sorguyu önbelleğe alarak işlem yapabilirsiniz.

Dediğim gibi üzerinde çok düşünmedim, görünce yazayım dedim. İyi forumlar.