-1

请帮我。我搜索了 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/

在这种情况下。保存在 session 中的语言会被加载,但 url 不需要显示。

我尝试了 i18n 库,但它不能解决我的问题。谁能帮我

4

2 回答 2

2

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

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

您还需要制作基本网址,使其包含语言代码,然后阅读语言代码并相应地更改语言。

于 2012-12-04T09:18:16.830 回答
0

您是否尝试过这个http://codeigniter.com/wiki/URI_Language_Identifier/。如果您想要最后的语言代码,则必须将路线更改为以下内容:

$route['((.*)/\w{2})'] = '$1';
于 2012-06-12T10:48:56.080 回答