เว็บไซต์หลายภาษาใน CodeIgniter

ฉันเพิ่งอ่านคู่มือผู้ใช้ Codeigniter 3 จบ ฉันไม่พบสิ่งใดเกี่ยวกับสถานที่นั้น (ในเฟรมเวิร์กอื่น จะใช้สถานที่นั้นใน URL จากนั้นเฟรมเวิร์กจะดูแลการใช้การแปลของสถานที่ปัจจุบัน ...)

มีวิธีปฏิบัติที่ดีที่สุดในการสร้างเว็บไซต์หลายภาษาด้วย Codeigniter 3 หรือไม่?

ฉันจะใช้ 'en' และ 'fr'

คำตอบที่ฉันโพสต์ด้านล่างแก้ปัญหาได้เพียงครึ่งเดียว เพราะตอนนี้เพื่อให้สามารถใช้ลิงก์ 'fr' และ 'en' ในเทมเพลตส่วนหัวได้ ฉันต้องเพิ่มสิ่งนี้ลงในคอนโทรลเลอร์:

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

และฉันต้องทำเพื่อหาวิธีใหม่ๆ ที่เพิ่มเข้ามา

ขอบคุณ


person Karim Mtl    schedule 02.03.2017    source แหล่งที่มา


คำตอบ (1)


นี่คือสิ่งที่ฉันค้นพบ:

นี่คือเส้นทางของฉัน:

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

ในตัวควบคุมข่าวของฉัน ฉันมีดังต่อไปนี้:

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

แน่นอนคุณต้องเพิ่มไฟล์การแปล โปรดอย่าลังเลที่จะแนะนำการปรับปรุง

ขอบคุณ

person Karim Mtl    schedule 02.03.2017