Codeigniter ve Çoklu Dil

Emir Buğra KÖKSALAN tarafından tarihinde yayınlandı

Bu makalemde CI ile multilanguage olayının nasıl olabileceğini açıklamaya çalışacağım. Bunun birçok yolu var. Örneğin dilin sessionda saklanması ve bu yüzden URL’de görünmemesi. Yada şuanki dilin URL’de görünmesi ve sessiona gerek kalmaması yada her ikisi falan filan. Olayın mantığını değiştiren şey bu aslında. URL’de görünecek mi görünmeyecek mi? Örneğin ingilizce anasayfa için şöyle bir adres: siteadi.com/en/main. Türkçe anasayfa için: siteadi.com/tr/anasayfa, siteadi.com/tr/main vs vs vs. Öncelikle bunu belirlememiz lazım. Dil nasıl değişecek? URL’de görünecek mi görünmeyecek mi? Bu soruların cevabını vermemiz gerekiyor. Çünkü cevaplara göre izlenecek yöntem değişir.

Arama motorları tarafından indexlenmek için URL’de görünmesi daha iyidir. Hatta dil ile HTML dökümanındaki “lang” parametresinin eşzamanlı olarak değişmesi gerekir. Yani ingilizce arayüz için URL siteadi.com/en/ olduğu zaman HTML dökümanı <html lang=”en”> olmalı. Aynı şey Türkçe ve diğer diller içinde geçerli tabi. Hatta direction bile ayarlanabilir arapça diller için. Hepsini bu makalede toparlayamam ama bunu bir yazı dizisi halinde yayınlamaya çalışacağım. Hatalarım olursa affola. Geri bildirim yaparsanız düzeltmeye çalışırız. Burada dil nasıl değiştirilir, textler nereden alınır falan filan gibi konulara değineceğim.

Öncelikle pseudo kod ile neler istendiğini belirleyelim.

  • Diller link ile değişecek. Yani URL üzerinden. URL’de şöyle görünmeli: siteadi.com/ci/[dil_kodu]/[controller]/[method]/[parametreler]
  • Örneğin bir adresteyken dil değiştiği zaman yine aynı adresin yeni diline gidilmeli. Yani siteadi.com/ci/en/about linkinden Türkçe linkine tıklayınca siteadi.com/ci/tr/hakkimizda olmalı.

Ben eclipse kullanıyorum ve apache’ye workspace’i görecek şekilde alias ekledim. Böylece workspace’de yaptığım her değişikliği anında localhosttan görebiliyorum. Bunun için buraya bakabilirsiniz.

Öncelikle Eclipse’de yeni bir PHP projesi oluşturduktan sonra “src” isimli bir klasör oluşturuyoruz ve yeni indirdiğimiz Codeigniter dosyalarını buraya import ediyoruz. (Anlaşılmayan birşey varsa buraya bakabilirsiniz.)

 

DEVAM EDECEK

 

Kategoriler: CodeIgniterPHP

Emir Buğra KÖKSALAN

Java & PHP Developer

0 yorum

Bir yanıt yazın

Avatar yer tutucu

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Time limit is exhausted. Please reload the CAPTCHA.

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.