[英]How to change CodeIgniter's URI segments based on a language
題:
如何使我的URL語言特定,例如:
附加信息:
將來,我計划將不同語言的用戶重定向到不同的子域,例如lt.website.com,但是現在我希望根據用戶的語言來翻譯URI段。
我想明確指出:
我的(壞)想法:
我認為可以通過轉換后的路由地址完成$route[lang('url_market')] = 'market/index';
但是在完成路由后,語言庫尚未加載。
基於@AdrienXL答案,這是不使用數據庫的示例。
$config['routes_translation']['en'] = array(
'home' => 'home'
);
$config['routes_translation']['fr'] = array(
'home' => 'accueil'
);
顯然,您知道使用會話的用戶所使用的語言,並且擁有控制器名稱,您可以通過訪問config項輕松獲得翻譯。
$translatedNamed = $config['routes_translation'][$language_code][$controller]
其中應該為您提供“住所”和“應計”的fr
我看到的唯一方法是通過數據庫。
建立一個看起來像這樣的表:
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;
}
簡單....
例如:$ this-> lang-> load(“ message”,$ SESSION ['selected_language']);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.