请帮帮我。我搜索了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库,但它无法解决我的问题。任何人都可以帮助我
答案 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';