initialize($lang); } return self::$me[$lang]; } private function initialize($lang) { $this->loadLanguage($lang); } public function loadLanguage($lang) { $this->translations = Translations::fromPoFile(APP_BASE_PATH.'lang/'.$lang.'.po'); $t = new Translator(); $t->loadTranslations($this->translations); $t->register(); $this->translator = $t; } private static function getCurrentLang() { $user = BaseService::getInstance()->getCurrentUser(); if (empty($user) || empty($user->lang) || $user->lang == "NULL") { $lang = SettingsManager::getInstance()->getSetting('System: Language'); LogManager::getInstance()->info("System Lang:".$lang); } else { $supportedLang = new SupportedLanguage(); $supportedLang->Load("id = ?", array($user->lang)); $lang = $supportedLang->name; } if (empty($lang) || !file_exists(APP_BASE_PATH.'lang/'.$lang.'.po')) { $lang = 'en'; } return $lang; } public static function getTranslations($lang = null) { $me = self::getInstance($lang); return Json::toString($me->translations); } public static function getTranslationsObject($lang = null) { $me = self::getInstance($lang); return $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