I have made configuration for multi-language in my project, and retrieving words/content from files. But i need the same with my database, to retrieving data based on selected language (with session/cookie). How can i manage this. I find Multi-row method is best for me. Do i need to change every existing query to make selection/insertion/updating etc. Or there is another way. My db table example
I have this controlers
class AddLanguage extends CI_Controller
{
public function __construct() {
parent::__construct();
$this->lang->load("menu","english");
}
function index() {
$data['shipping'] = $this->lang->line('menu_shipping');
$this->load->view('templates/navigation', $data);
}
}
class LangSwitch extends CI_Controller
{
public function __construct() {
parent::__construct();
$this->load->helper('url');
}
function switchLanguage($language = "") {
$language = ($language != "") ? $language : "english";
$this->session->set_userdata('site_lang', $language);
if(!empty($_SERVER['HTTP_REFERER'])){
redirect($_SERVER['HTTP_REFERER']);
} else {
redirect(base_url());
}
}
}
In my hooks i have this
class LanguageLoader
{
function initialize() {
$ci =& get_instance();
$ci->load->helper('language');
$site_lang = $ci->session->userdata('site_lang');
if ($site_lang) {
$ci->lang->load('menu',$ci->session->userdata('site_lang'));
} else {
$ci->lang->load('menu','english');
}
}
}