1
0
mirror of https://github.com/GOSTSec/gostcoin.i2p synced 2025-03-13 05:41:09 +00:00
gostco.in/class/language.php
Warlock-Dalbaeb b3609dcc4a Multilagual PHP version
by Plaz
2017-05-28 14:16:31 +03:00

66 lines
1.6 KiB
PHP

<?php
class language
{
protected $lang;
protected function ReadSomeFile($file)
{
if($file == NULL) return 0;
$content = "";
while ( !feof($file) )
$content .= fread($file, PARTOFFILE);
fclose($file);
return $content;
}
public function checkExistLang($filename)
{
if(file_exists(LANG.$filename.".ini")) return 1;
if(file_exists(LANG.$filename.".json")) return 1;
return 0;
}
public function _($string) // ...
{
$langArray = $this->LanguageConstantGet($this->lang);
$keys = array_keys($langArray);
foreach ($keys as &$tmp)
$tmp = "{".$tmp."}";
unset($tmp);
return str_replace($keys, array_values($langArray), $string );
}
protected function getLang()
{
if(
isset($_COOKIE['lang']) &&
is_string($_COOKIE['lang']) &&
file_exists(LANG.$_COOKIE['lang'].".ini")
) return $_COOKIE['lang'];
elseif( $this->checkExistLang( locale_accept_from_http($_SERVER['HTTP_ACCEPT_LANGUAGE']) ) )
return locale_accept_from_http($_SERVER['HTTP_ACCEPT_LANGUAGE']);
else
return DEFAULT_LANG;
}
protected function GetLangFile($filename)
{
if(file_exists(LANG.$filename.".ini"))
return parse_ini_file(LANG.$filename.".ini");
elseif(file_exists(LANG.$filename.".json"))
return json_decode($this->ReadSomeFile(LANG.$filename.".json"),1);
else
return die("Not can find a language file".$filename."<br>");
}
protected function LanguageConstantGet($lang=NULL)
{
if($lang == NULL)
return $this->GetLangFile(DEFAULT_LANG);
return $this->GetLangFile($lang);
////////////////////////////////////////////////////////////////////////
}
}
?>