/** * Retrieve locale object * * @static * @return Zend_Locale */ public static function getLocale() { if (!Zend_Registry::isRegistered('Zend_Locale')) { if (Axis_Area::isFrontend() && Axis_Controller_Router_Route_Front::hasLocaleInUrl()) { self::setLocale(Axis_Controller_Router_Route_Front::getCurrentLocale()); } elseif (Axis_Area::isBackend() && isset(Axis::session()->locale)) { self::setLocale(Axis::session()->locale); } elseif (Axis_Area::isInstaller() && isset(Axis::session('install')->current_locale)) { self::setLocale(Axis::session('install')->current_locale); } elseif (Axis_Area::isInstaller()) { self::setLocale(self::DEFAULT_LOCALE); } else { self::setLocale(Axis::config('locale/main/locale')); } } return Zend_Registry::get('Zend_Locale'); }
/** * Translates given text * * @param array $args * @return string */ public function translate(array $args) { $text = array_shift($args); if (!Axis_Area::isInstaller() && Axis::config('core/translation/autodetect') && !$this->getAdapter()->isTranslated($text)) { $this->writeTranslationToFile($text, $this->_module); } $translated = $this->getAdapter()->translate($text); if (!count($args)) { return $translated; } return @vsprintf($translated, $args); }