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