Мультиязычный сайт в 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