我目前正在使用 codeigniter 2.1.2 构建一个网站。现在我遇到了有效构建多语言网站的问题。
我已经通读了语言课教程和助手,并存储了两个语言文件夹“中文”和“英文”。
我打算做的是我想要一个名为“lang”的语言会话变量。我想要以下内容:
- 如果不存在会话变量“lang”,我将创建一个并将其指向“english”
- 如果会话变量已设置并且用户单击更改语言,则会话变量将从“中文”更改为“英文”或“英文”更改为“中文”。
我对 PHP 和 Codeigniter 还很陌生,我现在能想到的就是以下内容。任何人都可以对我如何有效地允许用户更改我的网站上的语言有所了解吗?
我不知道如何根据用户的点击事件更改会话变量。
// Load Language Files
if(!$this->session->userdata('lang')) {
$this->session->set_userdata('lang','english');
$lang = 'english';
} else {
$lang = 'chinese';
}
$this->lang->load('pages/header',$lang);
我创建了一个语言控制器并设置了会话变量,然后将页面重定向回上一页。这是一个好方法吗?
<?php
Class language Extends CI_Controller {
function index() {
if(!$this->session->userdata('lang')) {
$this->session->set_userdata('lang','english');
} else {
$lang = $this->session->userdata('lang');
if ($lang =="chinese") {
$this->session->set_userdata('lang','english');
} elseif ($lang == "english") {
$this->session->set_userdata('lang','chinese');
} else {
$this->session->set_userdata('lang','english');
}
}
header('Location: ' . $_SERVER['HTTP_REFERER']);
}
}