Situs multibahasa di CodeIgniter

Saya baru saja selesai membaca panduan pengguna Codeigniter 3. Saya tidak menemukan apa pun tentang lokal (Dalam kerangka lain, lokal digunakan di URL dan kemudian kerangka tersebut menangani penggunaan terjemahan dari lokal saat ini ...).

Apakah ada cara praktik terbaik untuk membuat situs web multibahasa dengan Codeigniter 3?

Saya akan menggunakan 'en' dan 'fr'.

Jawaban yang saya posting di bawah ini hanya menyelesaikan setengah dari masalah, karena sekarang, untuk dapat menggunakan link 'fr' dan 'en' di template header saya harus menambahkan ini di controller:

  $data['urls'] = array(
     'en' => base_url('en/news'),
     'fr' => base_url('fr/nouvelles'),
  );

DAN saya harus melakukannya untuk metode baru yang menambahkan.

Terima kasih


person Karim Mtl    schedule 02.03.2017    source sumber


Jawaban (1)


Inilah temuan saya sejauh ini:

Inilah rute saya:

$route['en/news'] = 'news';
$route['fr/nouvelles'] = 'news';

Di pengontrol berita saya, saya memiliki yang berikut:

class News extends CI_Controller {

   public function __construct() {
      parent::__construct();
      $this->load->model('newsModel');
      $this->load->helper('url_helper');
      $this->lang->load('news', strtok(uri_string(), '/'));
   }

   public function index() {

      echo $this->lang->line('news');
      exit;
   }
}

Tentu saja Anda perlu menambahkan file terjemahan. Harap jangan ragu untuk menyarankan perbaikan.

Terima kasih

person Karim Mtl    schedule 02.03.2017