Welcome Guest, Not a member yet? Register   Sign In
language file load
#1

[eluser]hamzakhan[/eluser]
i am two language on my website english and chines.
user can change the lange from drop down.
and every time on controoller i am checking which file to load.
i am loding file usign cookie
1st
is it good idea to use cookies for lanugages change or checking.
2nd
i dont want to repeat language checking code every controller

plz help

heare is a my language function which i am loading on every controller
plz tell me should i

Code:
// load language file
      if( get_cookie('lang_en')=="en" ) {
          $this->lang->load('fusers', 'english');
      }else{
          $this->lang->load('fusers', 'chines');
      }



function load_language()
{
        
        $cookie_en = array(
                   'name'   => 'lang_en',
                   'value'  => 'en',
                   'expire' => time()+86500,
                   'domain' => '',
                   'path'   => '/',
                   'prefix' => '',
               );
        $cookie_ch = array(
                   'name'   => 'lang_ch',
                   'value'  => 'ch',
                   'expire' => time()+86500,
                   'domain' => '',
                   'path'   => '/',
                   'prefix' => '',
               );
        // var_dump(get_cookie('lang'));
        if (isset($_POST['lang']) && $_POST['lang']=='en') {
            // delete chines
            if (get_cookie('lang_ch')) { delete_cookie("lang_ch");    }
            // en not already set
            if (!get_cookie('lang_en')) {
                set_cookie($cookie_en);
            }
        } else if (isset($_POST['lang']) && $_POST['lang']=='ch')  {
            // delete english
            if (get_cookie('lang_en')) { delete_cookie("lang_en");    }
            // ch not already set
            if (!get_cookie('lang_ch')) {
                // set chines
                set_cookie($cookie_ch);
            }
        } else {
            // no language set then set english
            if (!get_cookie('lang_en') && !get_cookie('lang_ch') ) { set_cookie($cookie_en);}
        }

}
#2

[eluser]Flemming[/eluser]
there's nothing wrong with using cookie to remember language choice Smile

if you don't want to do the check in every controlller, you could create MY_Controller in application/libraries. Then you can put your lang check in the constructor of that controller.

All of your other controllers can then extend MY_Controller rather than Controller

search the forums or the user guide for extending controllers and I hope that helps you!
#3

[eluser]vitoco[/eluser]
Use the pre_controller HOOK, no MY_Controller needed.

Saludos




Theme © iAndrew 2016 - Forum software by © MyBB