Codeigniter多语言网址

时间:2012-06-12 10:38:52

标签: codeigniter

请帮帮我。我搜索了2个小时,但没有看到任何解决方案。我的客户要求我使用多语言,但他们希望链接为:

http://site.com/controller_name/lang_code或 http://site.com/controller_name/paramenter1/parameter2/lang_code

语言代码始终位于最后一段。它存储在会话中。网址也可能

http://site.com/controller_name/或 http://site.com/controller_name/paramenter1/parameter2/

在这种情况下。将加载存储在会话中的语言,但该URL不需要显示它。

我尝试i18n库,但它无法解决我的问题。任何人都可以帮助我

2 个答案:

答案 0 :(得分:2)

在路线中,您只需忽略语言代码,这样就不会影响链接和表单帖子。

$route['^fr/(.+)$'] = "$1";
$route['^en/(.+)$'] = "$1";
$route['^es/(.+)$'] = "$1";
$route['^pl/(.+)$'] = "$1";
$route['^tr/(.+)$'] = "$1";

此外,您需要制作基本网址,使其包含语言代码,然后阅读语言代码并根据需要更改语言。

答案 1 :(得分:0)

你试过这个http://codeigniter.com/wiki/URI_Language_Identifier/吗? 如果您希望最后使用语言代码,则必须将路径更改为以下内容:

$route['((.*)/\w{2})'] = '$1';