<?php
////// constants //////////////////////
define('PATH_TO_LANGUAGES' , 'languages');
define('PATH_TO_FLAGS' , 'assets/images/flags/');
define('DB_FILES_EXTENSION', '.txt');
// the following constants use for easy use language name with or without commas
define('en','en'); //English
define('ru','ru'); //???????
define('ee','ee'); //?????????
define ('lv','lv'); //??????????
define ('lt','lt'); //?????????
define('md','md'); //??????????
define('ua','ua'); // ??????????
define ('by','by'); //??????????
define ('ge','ge'); //??????????
define ('ar','ar'); //
define ('az','az'); //
define ('kr','kr'); //??????????
define('uz','uz'); // ?????????
define('kz','kz'); //?????????
define ('td','td'); // ??????????
define ('tm','tm'); // ???????????
define('cn','cn'); // ?????????
define('cz','cz'); // Cesky
define('de','de'); // German
define('it','it'); // Italian
define('fr','fr'); // France
define('tk','tk'); // Turkish
define('en','en'); // English
define('jp','jp'); // Japan
define('vn','vn'); // Vietnam
define("cn",'cn'); // China
define("es",'es'); // Espaņol
define("pt",'pt'); // Portuguęs
define("ro",'ro'); // Romanian
//--------------const default-------------------------------|
define ('DEFAULT_LANG', en);
///////// GLOBALS /////////////////////////////////////////////
$langs= array(en, ru, cz, ee, lv, lt, md,ua, by,gr, ar, az, kr, ge, lt, uz, it, jp, cn,tk,fr, vn, es, pt);
$lang_title=array(
ua => '???????????',
lt => 'lietuvi?',
lv => 'latviski',
uz => "o'zbek",
ru => '???????',
ge => '???????',
by => '??????????',
en => 'English',
de => 'Deutch',
cn => '???',
cz => '?esky',
ee => 'eesti keel',
it => 'Italian',
fr => 'France',
jp => '??',
vn => 'Ti?ng Vi?t',
tu => 'Türkmenler',
tk => 'T?????',
kz => '???????',
md => 'moldovenesc',
ro => 'Romanian',
es => 'Espaņol',
pt => 'Portuguęs',
pl => 'Polski',
kr => '???'
);
///////////// functions /////////////////////////////////
// The labels are in the files with name "en.txt" , "cz.txt",... and so on.
function get_labels(){
GLOBAL $lng; // get access to the global var $lng
$ret=[]; // here we will store the result
$r_ = file(PATH_TO_LANGUAGES.DIRECTORY_SEPARATOR.$lng.".txt"); // read the label file
foreach($r_ as $key=>$value)
$ret[$key] = trim($value); // clear from unused symbols
array_unshift($ret, "[".$lng. "]"); // insert the string to harmonize the number of string (in the db editor) with the index of approptiated variable in the code for easy human reading the content of db
return $ret;
}
// when trigger this function you can use other arguments in array \$args for use it in other scripts
function create_request($args=[]){
GLOBAL $lng;
$ret ="?lng=" . $lng;
if (!is_array($args)) echo("<div class=\"err_mess\" Error in " . basename(__file__) ." l. " . _LINE_ . ": incorrect data type in \$args</div>");
foreach($args as $key=>$value){
$ret .= "&".$key."=".$value;
}
return $ret;
}
//-------------- automatically create needed for translate file
function check_available_lang($f){
GLOBAL $lng, $lang_title;
if(!file_exists($f)) {
$ff = PATH_TO_LANGUAGES . DIRECTORY_SEPARATOR . DEFAULT_LANG. DB_FILES_EXTENSION;
$t = copy($ff, $f);
$tf = copy('readme/ReadMe_en.txt', 'readme/ReadMe_' . $lng . '.txt' );
if($t){
echo ("<div class = 'success'><h2>Warning!</h2> New file <strong> $f </strong> for ". strtoupper($lang_title[$lng]) . " language is created. <br> Please translate it from " . $lang_title[DEFAULT_LANG] . " language.</div>");
}else{
echo("<div class = 'warning'>Something wrong!<br> Can not create the file<strong> " . $f . ".</strong></div>" );
}
if($tf){
echo ("<div class = 'success'><h2>Warning!</h2> New file <strong> 'readme/ReadMe_ $lng .txt' </strong> for ". strtoupper($lang_title[$lng]) . " language is created. <br> Please translate it from " . $lang_title[DEFAULT_LANG] . " language.</div>");
}else{
echo("<div class = 'warning'>Something wrong!<br> Can not create the file<strong> " . $f . ".</strong></div>" );
}
}
}
//----------- automatically create the ReadMe_lng.txt
/* use this code if there are a most of mistakes
$lng = DEFAULT_LANG; // select default language
// check the cookie if we have saved lng in the cookie
if(array_key_exists(('lng', $_COOKIE){
if(sizeof(array_intersect($langs, $_COOKIE))==1){ // test on errors
$lng= $_COOKIE['lng']; // if all is ok change the language to language saved in Cookie
} else {
echo("Something wrong! Check the languages names array and Cookie");
}
}
//--------------------------------------------------- // check the request if lng is changed?
if(array_key_exists(('lng', $_REQUEST){
if(sizeof(array_intersect($langs, $_REQUEST))==1){ //test on errors
$lng= $_REQUEST['lng']; // if all is ok change the language to language sent in \$_REQUEST
} else {
echo("Something wrong! Check the languages names in array and in \$_REQUEST");
}
}
*/
//---- easy code (without testing of errors) as an alternative of rows before from 58 up to 74
$lng = (array_key_exists('lng' , $_REQUEST))? $_REQUEST['lng']:DEFAULT_LANG;
//---------------- create the language panel
$lang_panel ='<div style="margin-top:0px">';
if(array_key_exists("show_lang_panel",$_REQUEST)) { //check if flag was clicked firts time
foreach($langs as $key=>$value){ // if so - show language panel with enabled flags (languages)
$lang_panel .= '<a href="?lng='.$value.'"><img src="assets/images/flags/'.$value.'.png" class="flags" title ="' .
$lang_title[$value].'"></a> ';
}
} else{
$lang_panel.='<a href="?lng='. $lng .'&show_lang_panel=1">
<img src="' . PATH_TO_FLAGS . $lng.'.png" class="flags" title ="Current language is ' .$lang_title[$lng].'. ' . $labels[1] .' ">
</a>';
}
$lang_panel .='</div>';
?>
|