userinfo['userid']) { $languageid = $bugsys->userinfo['languageid']; $language = bugdar::$datastore['language']["$languageid"]; } if (!$languageid AND is_array(bugdar::$datastore['language'])) { foreach (bugdar::$datastore['language'] AS $language) { if ($bugsys->options['defaultlanguage'] == $language['languageid']) { $languageid = $language['languageid']; $language = bugdar::$datastore['language']["$languageid"]; break; } } } $lang['id'] = $language['languageid']; $lang['charset'] = $language['charset']; $lang['direction'] = $language['direction']; $lang['langcode'] = $language['langcode']; return $lang; } /** * Translation function. This will take in a native (English) string and return either * a translated version or, if it cannot find one, the native string back. * * @param string Native string * * @return string Translated string */ function T($str) { global $bugsys; static $mo; if ($mo === null) { require_once './includes/class_mo.php'; $info = fetch_user_language(); if ($info['langcode'] == null) { $bugsys->debug("cannot translate '$str'"); return $str; } $mo = new MOReader("locale/$info[langcode]/LC_MESSAGES/messages.mo"); } return $mo->T($str); }