嗨,任何人都可以向我展示如何编写多语言网站的方法,该网站不仅可以更改菜单,还可以更改文章的标题和内容。
基本上,我想每次写一篇文章,我都会把它分别写成2种语言,然后插入到mysql中。当我在前端更改语言时,一切都会更改为另一种语言并保持该语言,直到我将其更改回来
所以,任何人都向我展示了一个最好的方法。请我急需
提前致谢
嗨,任何人都可以向我展示如何编写多语言网站的方法,该网站不仅可以更改菜单,还可以更改文章的标题和内容。
基本上,我想每次写一篇文章,我都会把它分别写成2种语言,然后插入到mysql中。当我在前端更改语言时,一切都会更改为另一种语言并保持该语言,直到我将其更改回来
所以,任何人都向我展示了一个最好的方法。请我急需
提前致谢
内容如:菜单、按钮、消息不必进入数据库。使用 CI 和语言类来处理这些。
如果您有动态内容,例如博客文章或新闻和文章,请使用不同语言的数据库。
控制器将是这样的:
class Language extends CI_Controller{
function Language(){
parent::__construct();
}
function change($language = null){
$language = urldecode($language);
switch($language){
case "English":
$this->session->set_userdata('lang_id', 2);
$this->session->set_userdata('lang_name', 'english');
redirect($_SERVER['HTTP_REFERER'], 'refresh');
break;
case "Deutsch":
$this->session->set_userdata('lang_id', 3);
$this->session->set_userdata('lang_name', 'deutsch');
redirect($_SERVER['HTTP_REFERER'], 'refresh');
break;
default:
$this->session->set_userdata('lang_id', 3);
$this->session->set_userdata('lang_name', 'deutsch');
redirect($_SERVER['HTTP_REFERER'], 'refresh');
break;
}
}
}
并转到页面/类的索引:
//LOAD LANGUAGE SETTINGS
$lang = $this->session->userdata('lang_name');
if($lang != ''){
//load default language folder
$this->lang->load('home');
$this->lang->load('extra_menu');
$this->lang->load('base_menu');
$this->lang->load('breadcrumbs');
}else{
//load language file and folder
$this->lang->load('home', $this->session->userdata('lang_name'));
$this->lang->load('extra_menu', $this->session->userdata('lang_name'));
$this->lang->load('base_menu', $this->session->userdata('lang_name'));
$this->lang->load('breadcrumbs', $this->session->userdata('lang_name'));
}
H,
使用 codeigniter 语言类http://ellislab.com/codeigniter/user_guide/libraries/language.html
这里有一些较旧的帖子。看看 使 codeigniter 网站多语言的最佳方法。从 lang 数组调用取决于 lang 会话?
问候
iijb