我在我的数据库有两个语言(恩& FR)如何改变语言笨
我如何加载它们通过不同的只是更改URL
例如
保存产品名称localhost/mysite/en/products/
加载 “en_name” 我的表
和
localhost/mysite/fr/products/
为我加载“fr_name”?
我在我的数据库有两个语言(恩& FR)如何改变语言笨
我如何加载它们通过不同的只是更改URL
例如
保存产品名称localhost/mysite/en/products/
加载 “en_name” 我的表
和
localhost/mysite/fr/products/
为我加载“fr_name”?
我认为最简单的方法可能是将uri段传递给查询的where子句。
http://ellislab.com/codeigniter/user-guide/libraries/uri.html http://ellislab.com/codeigniter/user-guide/database/active_record.html#select
喜欢的东西:
$lang = $this-uri->segment(3);
$this->db->where('language', $lang);
$this->db->get('table');
,如果你想在不同的语言文本存储在一个文件(它将包含在页),而不是语言库用于在数据库中。因此,如果语言文本存储在数据库中,您需要检查负责检查url段的方法,以检查url是否包含en
或fr
并加载相应的语言。
所以使用的方法是:
$this->uri->segment(n)
关于如何使用它
更多信息:
http://ellislab.com/codeigniter/user-guide/libraries/uri.html
和你的情况应该是这样的:
编辑
if($this->uri->segment(1) == "fr"){
$this->session->set_userdata('lang', 'fr');
}else{
$this->session->set_userdata('lang', 'en');
}
现在你可以很容易地检查f或通过检查lang
会议
我终于有这个CI扩展i18n做到了,这里的值从model
(数据库文件),选择的语言是我的代码:
$lang = $this->uri->segment(1);
echo $prodct[$lang."_name"];
所以现在,如果我进入我的网址这样
localhost/mysite/en/products/
它会得到从数据库这些字段是像“en_name”, 同样为“FR”了。
你到目前为止试过的东西? –
我试过这样做的语言库,但我不知道如何告诉它从我的分贝加载名称:( –