loadLanguage();
}
return self::$me;
}
private function loadLanguage(){
$lang = $this->getCurrentLang();
$this->translations = Translations::fromPoFile(APP_BASE_PATH.'lang/'.$lang.'.po');
if(file_exists(APP_BASE_PATH.'lang/'.$lang.'-ext.po')){
$this->translations->addFromPoFile(APP_BASE_PATH.'lang/'.$lang.'-ext.po');
}
$t = new Translator();
$t->loadTranslations($this->translations);
$t->register();
$this->translator = $t;
}
private function getCurrentLang(){
$user = BaseService::getInstance()->getCurrentUser();
LogManager::getInstance()->info("User:".json_encode($user));
if(empty($user) || empty($user->lang) || $user->lang == "NULL"){
$lang = SettingsManager::getInstance()->getSetting('System: Language');
LogManager::getInstance()->info("System Lang:".$lang);
}else{
$lang = $user->lang;
}
if(empty($lang) || !file_exists(APP_BASE_PATH.'lang/'.$lang.'.po')){
$lang = 'en';
}
LogManager::getInstance()->info("Current Language:".$lang);
return $lang;
}
public static function getTranslations(){
$me = self::getInstance();
return Gettext\Generators\Json::toString($me->translations);
}
public static function tran($text){
$me = self::getInstance();
return $me->translator->gettext($text);
}
public static function translateTnrText($string){
$me = self::getInstance();
$pattern = "#(.*?)#";
preg_match_all($pattern, $string, $matches);
for($i = 0;$i