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