Codeigniter’ın zaten yerleşik dil dosyaları var. Normal şartlarda sayfanın dilini urlin sonundan okuyacağınız varsayılmış.
http://www…com/kayit/ekle/tr
http://www…com/haber/oku/id66/en
Siz controler a gelen veriyi inceleyip dili tespit edip istenilen dil dosyasını göstereceksiniz. Mevcut halde dil verisi her seferinde farklı yerdedir. (ilk url de 3. “/” karakterinden sonra, 2. url de 4. “/” karakterinden sonra ) Bu hem sayfa linklerini oluştururken – okurken zorluk çıkarır hemde çirkin bir url görüntüsü oluşturur. Bunu yerine sadece ./config/routes.php dosyasını düzenleyerek linklerini aşağıdaki gibi kullanabilirsiniz.
http://www…com/tr/kayit/ekle
http://www…com/en/haber/oku/id66
Dil bilgisi hep 1. “/” karakterinden sonra olur. Dil bilgisine istediğiniz sayfa içinde $dil=$this->uri->segment(1); şeklinde erişebilirsiniz. “./config/routes.php” sayfasına eklemeniz gereken kod aşağıdadır.
Not: dil verisinin tr, en, es… gibi iki karakter girildiği varsayılmıştır.
//Dil Yönlendirmeleri $route['^..'] = $route['default_controller']; $route['^../(.+)'] = "$1";