class Lang
{
private $prefix;
private $lines = array();
private static $instance = false;
public function __construct($prefix)
{
$this->prefix = $prefix;
$this-> set_lang();
} // end __construct
private function instance()
{
//echo $prefix;
if(self::$instance == false)
{
self::$instance = new Lang(DEFAULT_LANG);
}
return self::$instance;
} // end instance
private function set_lang()
{
{
//echo $prefix;
//$_SESSION['lang'] = $this->prefix;
//echo 'wybrano:.....'.$this->prefix;
}
elseif(isset($_SESSION['lang'])) {
$_SESSION['lang'] = $this->prefix;
}
else
{
}
$this-> load_lang_file();
} // end set_lang
private function load_lang_file()
{
{
//echo 'istnieje';
include './lang/'.$this->prefix.'.lang'.EXT;
$this->lines = $lang;
}
} // end load_lang_file
public static function get
($key = false) {
//var_dump($key);
//echo '<span style=color:red>'.$key.'</span>';
//return vsprintf(self::instance()-> lines[$key], $params);
if(isset(self::instance()->lines[$key])) {
return vsprintf(self::instance()-> lines[$key], false); }
else
{
return false;
}
}// end get
} // end class Lang
Dlaczego kod
w metodzie load_lang_file() wyświetla dwa razy tą samą tablice?
Plik z tłumaczeniem wygląda tak:
'mobile_version' => 'wersja mobilna',
'site_map' => 'mapa witryny',
'contact' => 'kontakt'
);
Ten post edytował !*! 8.09.2011, 08:05:08