Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 即时更改语言代码点火器_Php_Codeigniter_Internationalization - Fatal编程技术网

Php 即时更改语言代码点火器

Php 即时更改语言代码点火器,php,codeigniter,internationalization,Php,Codeigniter,Internationalization,我有一个欢迎控制器,它允许用户选择一种语言(en或fr),然后指向它各自的控制器(en或fr),因此url看起来像www.xxx.com/en/func/func。我想这样可以有一个链接,可以改变语言,我想它切换语言,但留在同一页。只需从适当的语言文件中获取相应的语言行 哪种方法最好?简单的方法是在更改语言链接中添加重新加载页面后需要保存的变量 因此,在代码中查找所有导航变量,只需将它们添加到语言链接中即可您目前是如何实现I18N的? 每当我在一个站点上处理多种语言时,我都使用parser类,因

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


哪种方法最好?

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


因此,在代码中查找所有导航变量,只需将它们添加到语言链接中即可

您目前是如何实现I18N的? 每当我在一个站点上处理多种语言时,我都使用parser类,因为它允许非常容易地添加多种语言

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


如果“在运行中”是指在不重新加载页面的情况下更改语言,那么这完全是另一回事。

您应该在
路由中使用路由。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
}

页面必须重新加载。基本上是一个链接,但我希望页面是相同的,只是从正确的语言文件中提取单词这就是我所做的
,然后,简单地
,其中“hello”是我要提取的语言文件中的行