Codeigniter’a birden fazla dil özelliği ekleme

Kategori: Codeigniter, Php
Tarih: 13th Aralık 2011

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";

Optimization WordPress Plugins & Solutions by W3 EDGE