lang = 'en'; else $this->lang = $lang; if (!$path) $path = DEFAULT_TEMPLATE; if (!is_dir(LAYOUT.$path.LANG)) $path = ''; $this->mofile = LAYOUT.$path.LANG.$this->lang.".mo"; // check if get a readable mofile if (is_readable($this->mofile)) $this->input = new FileReader($this->mofile); else $this->input = false; $this->l10n = new gettext_reader($this->input); } // reloads the mofile, if the location of the lang file changes public function l10nReloadMOfile($lang, $path = DEFAULT_TEMPLATE) { $old_mofile = $this->mofile; $old_lang = $this->lang; $this->lang = $lang; if (!is_dir(LAYOUT.$path.LANG)) $path = ''; $this->mofile = LAYOUT.$path.LANG.$this->lang.".mo"; // check if get a readable mofile if (is_readable($this->mofile)) { $this->input = new FileReader($this->mofile); $this->l10n = new gettext_reader($this->input); } else { // else fall back to the old ones $this->mofile = $old_mofile; $this->lang = $old_lang; } } public function __($text) { return $this->l10n->translate($text); } public function _e($text) { echo $this->l10n->translate($text); } // Return the plural form. public function __ngettext($single, $plural, $number) { return $this->l10n->ngettext($single, $plural, $number); } } ?>