快速更改语言codeigniter

时间:2012-02-27 19:05:49

标签: php codeigniter internationalization

我有一个欢迎控制器,它允许用户选择一种语言(en或fr),然后指向它各自的控制器(en或fr),所以网址看起来像这样www.xxx.com/en/func/ FUNC。我想这样可以有一个可以改变语言的链接,我希望它能切换语言但保持同一页面。只需从适当的语言文件中获取相应的语言行即可。

这是最好的方法吗?

3 个答案:

答案 0 :(得分:2)

您应该使用路由,在routes.php中添加此内容:

$route['([a-z]{2})/(:any)'] = 'yourdefaulthomecontroller/$2/lang/$1'; // rearrange as you like

然后在您的默认控制器中,您可以找到rsegment并将其用于您需要的任何内容。

print_r($this->uri->rsegment_array()); // This will print out the routes

实际上:

if($this->uri->rsegment(3) == 'lang' && $this->uri->rsegment(4))
{
    // Do something
}

答案 1 :(得分:0)

简单的方法是在页面重新加载后添加您需要保存的变更语言链接变量

所以请查看代码中的所有导航变量,然后将它们添加到您的语言链接

答案 2 :(得分:0)

您目前如何实现I18N? 每当我在网站上处理多种语言时,我都会使用解析器类,因为它允许非常容易地添加多种语言。

通过使用它,通过确定URL中请求的语言来切换语言非常容易。

如果“在运行中”你的意思是改变语言而不重写页面那么这就是另外一件事。