在CodeIgniter中为同一个控制器使用多语言视图

时间:2010-11-06 15:57:22

标签: php codeigniter frameworks

如何根据url参数在控制器中使用多语言视图? 我在CodeIgniter中有一个英文版的网站。我希望在不更改模型和控制器的情况下制作本网站的希腊语和阿拉伯语版本。任何人都知道如何做到这一点,以便我可以让CodeIgniter显示同一个控制器的不同视图到URL中的语言参数。比如下面的网址

http://www.example.com/en/英语

http://www.example.com/ar/阿拉伯语

http://www.example.com/gk/希腊语

提前致谢

2 个答案:

答案 0 :(得分:2)

试试这个:

<强> Internationalization (i18n) library for CodeIgniter

我在我的项目中使用它几乎没有修改,它真的很棒。

答案 1 :(得分:0)

如果每种语言都有不同的模板/视图,则可以选择执行以下操作。

$lang = $this->uri->segment(1);

$this->load->view("view_folder/".$lang."/main_page");

然后你可以存储每种不同的语言:

view_folder/en/main_page.php
view_folder/ar/main_page.php
view_folder/gk/main_page.php

请记住编辑路线,以便使用相同的控制器。我会在路由系统中使用Regex,如下所示:

$route['([a-z_A-Z]+)/controller'] = 'controller';

然后,当您执行http://www.example.com/en/controller时,您应该被重定向到控制器,并且$this->uri->segment(1);可用于语言选择。