CodeIgniter: создание многоязычной системы ERP с базой данных - PullRequest
0 голосов
/ 22 января 2019

Я выполнил настройку для мультиязычности в моем проекте и получения слов / контента из файлов.Но мне нужно то же самое с моей базой данных, для извлечения данных на основе выбранного языка (с сеансом / cookie).Как я могу справиться с этим.Я считаю, что многострочный метод лучше для меня.Мне нужно изменить каждый существующий запрос, чтобы сделать выбор / вставку / обновление и т. Д. Или есть другой способ. Мой пример таблицы в БД

У меня есть эти контроллеры

 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());
       }
    }
 }

В моих хуках у меня есть это

    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');
        }
    }
}
...