CodeIgniter中的多语言站点

最后发布: 2017-03-02 19:32:45


问题

我刚刚阅读完Codeigniter 3的用户指南。我没有找到有关语言环境的任何信息(在其他框架中,URL中使用了语言环境,然后该框架负责使用当前语言环境的翻译...)。

是否有使用Codeigniter 3创建多语言网站的最佳实践方法?

我将使用“ en”和“ fr”。

我在下面发布的答案仅解决了一半问题,因为现在,要能够在标题模板中使用“ fr”和“ en”链接,我必须在控制器中添加它:

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

对于添加的新方法,我必须这样做。

谢谢

codeigniter localization codeigniter-3 multilingual
回答

到目前为止,这是我的发现:

这是我的路线:

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

当然,您需要添加翻译文件。 请不要犹豫,提出改进建议。

谢谢