问题:
我怎样才能使我的URL语言具体化,例如:
其他信息:
将来,我计划将不同语言的用户重定向到不同的子域,例如lt.website.com,但是现在我希望根据用户语言翻译URI段。
我想说清楚:
我的(不好)想法
我认为这可以通过翻译的路由地址完成
$route[lang('url_market')] = 'market/index';
但是当完成路由时,语言库并没有被加载。
答案 0 :(得分:1)
基于@AdrienXL答案,这是一个不使用数据库的示例。
$config['routes_translation']['en'] = array(
'home' => 'home'
);
$config['routes_translation']['fr'] = array(
'home' => 'accueil'
);
显然,您知道使用会话的用户的语言,并且您拥有控制器名称,您可以通过访问配置项轻松获得翻译。
$translatedNamed = $config['routes_translation'][$language_code][$controller]
哪个应该为你提供en'和' 'accueil'为fr
答案 1 :(得分:0)
我看到的唯一方法是通过数据库。
构建一个如下所示的表:
routes_translation
*****************************************
*id | controller | translation | lang*
*****************************************
* 1 | home | home | en *
* 2 | home | accueil | fr *
...
*****************************************
然后在您的routes.php
中require_once( BASEPATH .'database/DB'. EXT );
$db =& DB();
$query = $db->get('routes_translation');
$result = $query->result();
foreach( $result as $row )
{
$route[$row->translation] = $row->controller;
}
答案 2 :(得分:0)
简单....
例如:$ this-> lang-> load(“message”,$ SESSION ['selected_language']);