public function _initFormErrorMessages()
 {
     Zend_Form::setDefaultTranslator(
         new Zend_Translate(
             'array', APPLICATION_PATH. '/translations/forms.php', 'pl'
         )
     );
 }
Exemple #2
0
 /**
  */
 public function preDispatch(Zend_Controller_Request_Abstract $request)
 {
     switch ($request->getModuleName()) {
         case 'default':
             Zend_Form::setDefaultTranslator(Zend_Registry::get('Zend_Translate'));
             break;
     }
 }
Exemple #3
0
 /**
  * Sets the application locale and translation based on the locale param, if
  * one is not provided it defaults to english
  *
  * @param Zend_Controller_Request_Abstract $request
  * @return Void
  */
 public function routeShutdown(Zend_Controller_Request_Abstract $request)
 {
     $config = Zend_Registry::get('config');
     $frontController = Zend_Controller_Front::getInstance();
     $params = $request->getParams();
     $registry = Zend_Registry::getInstance();
     // Steps setting the locale.
     // 1. Default language is set in config
     // 2. TLD in host header
     // 3. Locale params specified in request
     $locale = $registry->get('Zend_Locale');
     // Check host header TLD.
     $tld = preg_replace('/^.*\\./', '', $request->getHeader('Host'));
     // Provide a list of tld's and their corresponding default languages
     $tldLocales = $frontController->getParam('tldLocales');
     if (is_array($tldLocales) && array_key_exists($tld, $tldLocales)) {
         // The TLD in the request matches one of our specified TLD -> Locales
         $locale->setLocale(strtolower($tldLocales[$tld]));
     } elseif (isset($params['locale'])) {
         // There is a locale specified in the request params.
         $locale->setLocale(strtolower($params['locale']));
     }
     // Now that our locale is set, let's check which language has been selected
     // and try to load a translation file for it.
     $language = $locale->getLanguage();
     $translate = Garp_I18n::getTranslateByLocale($locale);
     Zend_Registry::set('Zend_Translate', $translate);
     Zend_Form::setDefaultTranslator($translate);
     if (!$config->resources->router->locale->enabled) {
         return;
     }
     $path = '/' . ltrim($request->getPathInfo(), '/\\');
     // If the language is in the path, then we will want to set the baseUrl
     // to the specified language.
     $langIsInUrl = preg_match('/^\\/' . $language . '\\/?/', $path);
     $uiDefaultLangIsInUrl = false;
     $uiDefaultLanguage = false;
     if (isset($config->resources->locale->uiDefault)) {
         $uiDefaultLanguage = $config->resources->locale->uiDefault;
         $uiDefaultLangIsInUrl = preg_match('/^\\/' . $uiDefaultLanguage . '\\/?/', $path);
     }
     if ($langIsInUrl || $uiDefaultLangIsInUrl) {
         if ($uiDefaultLangIsInUrl) {
             $frontController->setBaseUrl($frontController->getBaseUrl() . '/' . $uiDefaultLanguage);
         } else {
             $frontController->setBaseUrl($frontController->getBaseUrl() . '/' . $language);
         }
     } elseif (!empty($config->resources->router->locale->enabled) && $config->resources->router->locale->enabled) {
         $redirectUrl = '/' . $language . $path;
         if ($frontController->getRouter()->getCurrentRouteName() === 'admin' && !empty($config->resources->locale->adminDefault)) {
             $adminDefaultLanguage = $config->resources->locale->adminDefault;
             $redirectUrl = '/' . $adminDefaultLanguage . $path;
         } elseif ($uiDefaultLanguage) {
             $redirectUrl = '/' . $uiDefaultLanguage . $path;
         }
         $this->getResponse()->setRedirect($redirectUrl, 301);
     }
 }
 protected function _setupTranslation()
 {
     if (self::getDefaultTranslator()) {
         return;
     }
     $path = dirname(dirname(dirname(__FILE__))) . '/translate/forms.php';
     $translate = new Zend_Translate('array', $path, 'en');
     Zend_Form::setDefaultTranslator($translate);
 }
Exemple #5
0
 /**	@brief Changement de langue.
  * 
  * Exploitation du cache de l'application pour stocker l'instance de Zend_Translate correspondant.
  * Si le cache n'est pas présent, une nouvelle instance est créée, puis stockée dans le cache de Zend_Translate.
  * 
  * @see		Controller/Plugin/Zend_Controller_Plugin_Abstract::routeShutdown()
  * @throws	exception Projet_Exception en cas d'erreur au cours de la requête.
  * @return	void.
  */
 public function routeShutdown(Zend_Controller_Request_Abstract $request)
 {
     parent::routeShutdown($request);
     // Récupération du paramètre de langue passée dans l'URL
     $sLocal = $this->getRequest()->getParam('language') ? $this->getRequest()->getParam('language') : self::DEFAULT_LANGUAGE;
     // Récupération du local dans une combinaison du type "fr_FR"
     $aLanguage = explode("_", $sLocal);
     $sLanguage = isset($aLanguage[0]) ? $aLanguage[0] : self::DEFAULT_LANGUAGE;
     # Récupération de "fr"
     $sCountry = isset($aLanguage[1]) ? $aLanguage[1] : self::DEFAULT_COUNTRY;
     # Récupération de "FR"
     // Fonctionnalité réalisée si le fichier de langue n'existe pas
     if (!file_exists(LANGUAGE_PATH . $sLanguage . '.ini')) {
         $sLanguage = self::DEFAULT_LANGUAGE;
     }
     // Récupération du cache de la langue en cours dans le cache de Zend_Translate
     if ((bool) APP_CACHE) {
         $oCacheTranslate = Zend_Translate::getCache();
         $oTranslate = $oCacheTranslate->load($sLanguage);
     } else {
         $oTranslate = null;
     }
     // Fonctionnalité réalisé si
     if (empty($oTranslate)) {
         // Initialisation de la langue
         try {
             // Chargement du Zend_Translate
             $oTranslate = new Zend_Translate(array('adapter' => 'ini', 'content' => LANGUAGE_PATH . $sLanguage . '.ini', 'locale' => $sLocal));
             $sFichier = LANGUAGE_PATH . $sLanguage . '.php';
             if (file_exists($sFichier)) {
                 //traduction des erreurs de formulaires
                 $oTranslate->addTranslation(array('content' => new Zend_Translate('array', $sFichier, $sLanguage)));
             }
             if ((bool) APP_CACHE) {
                 // Enregistrement de la langue dans le cache
                 $oCacheTranslate = Zend_Translate::getCache();
                 $oCacheTranslate->save($oTranslate, $sLanguage);
             }
         } catch (Exception $e) {
             if ((bool) APP_CACHE) {
                 // Suppression du cache
                 $oCacheTranslate->remove($sLanguage);
             }
             // Création d'une exception au niveau du projet
             die($e->getMessage());
             throw new Projet_Exception($e->getMessage(), __METHOD__, $e);
         }
     }
     // Enregistrement du Zend_Translate dans les fonctionnalités de l'application
     Zend_Registry::set("Zend_Locale", $sLocal);
     Zend_Registry::set("Zend_Translate", $oTranslate);
     // Potentiellement inutile vu la ligne précédente...
     Zend_Form::setDefaultTranslator($oTranslate);
     Zend_Validate_Abstract::setDefaultTranslator($oTranslate);
     // Language par défaut pour toutes les routes
     Zend_Controller_Front::getInstance()->getRouter()->setGlobalParam('language', $sLocal);
 }
Exemple #6
0
 public function init()
 {
     //initialization function
     $this->locale = Zend_Registry::get('Zend_Locale');
     $this->view->translate = Zend_Registry::get('Zend_Translate');
     Zend_Form::setDefaultTranslator($this->view->translate);
     $this->lobjform = new App_Form_Search();
     //local object for Search Form
     $this->lobjschemesetupmodel = new Reports_Model_DbTable_Mhssetup();
     $this->gobjsessionsis = Zend_Registry::get('sis');
 }
Exemple #7
0
 protected function _initLocale()
 {
     Zend_Loader::loadClass('Zend_Locale');
     Zend_Locale::setDefault('fr');
     $session = new Zend_Session_Namespace();
     $session->locale = !empty($session->locale) ? $session->locale : DEFAULT_LOCALE;
     $translator = new Zend_Translate(array('adapter' => 'array', 'content' => APPLICATION_PATH . '/languages/' . $session->locale . '.php', 'locale' => $session->locale));
     Zend_Validate_Abstract::setDefaultTranslator($translator);
     Zend_Form::setDefaultTranslator($translator);
     Zend_Validate::setDefaultTranslator($translator);
     Zend_Registry::set("Zend_Translate", $translator);
 }
 protected function _initTranslator()
 {
     $session = Zend_Registry::get('session');
     Zend_Locale::setDefault('en');
     $locale = isset($session->locale) ? $session->locale : new Zend_Locale(Zend_Locale::ZFDEFAULT);
     Zend_Registry::set('Zend_Locale', $locale);
     $session->locale = $locale;
     $translator = new Zend_Translate(array('adapter' => 'array', 'content' => INSTALL_PATH . DIRECTORY_SEPARATOR . 'system/languages/', 'scan' => Zend_Translate::LOCALE_FILENAME, 'locale' => $locale->getLanguage(), 'ignore' => array('.'), 'route' => array('fr' => 'en', 'it' => 'en', 'de' => 'en')));
     Zend_Form::setDefaultTranslator($translator);
     Zend_Registry::set('Zend_Translate', $translator);
     Zend_Registry::set('session', $session);
 }
Exemple #9
0
 public function preDispatch(Zend_Controller_Request_Abstract $request)
 {
     // Die CSV-Dateien laden
     $translate = new Zend_Translate('csv', '../application/config/lang.de.csv', 'de');
     $translate->addTranslation('../application/config/lang.en.csv', 'en');
     // sprache einstellen
     $translate->setLocale('de');
     // translateobjekt in der registry speichern
     $registry = Zend_Registry::getInstance();
     $registry->set('translate', $translate);
     // für alle Formular der Klasse Zend_Form das standard translate objekt setzen
     Zend_Form::setDefaultTranslator($translate);
 }
Exemple #10
0
 public function _initLocale()
 {
     $config = $this->getOptions();
     try {
         $locale = new Zend_Locale(Zend_Locale::BROWSER);
     } catch (Zend_Locale_Exception $e) {
         $locale = new Zend_Locale($config['resources']['locale']['default']);
     }
     Zend_Registry::set('Zend_Locale', $locale);
     $translator = new Zend_Translate(array('adapter' => 'Csv', 'content' => APPLICATION_PATH . '/../data/lang/', 'scan' => Zend_Translate::LOCALE_DIRECTORY, 'delimiter' => ',', 'disableNotices' => true));
     if (!$translator->isAvailable($locale->getLanguage())) {
         $translator->setLocale($config['resources']['locale']['default']);
     }
     Zend_Registry::set('Zend_Translate', $translator);
     Zend_Form::setDefaultTranslator($translator);
 }
Exemple #11
0
 function init()
 {
     Zend_Registry::set('languages', array('en' => 'English', 'es' => 'Español', 'ca' => 'Català', 'gl' => 'Galego', 'eu' => 'Euskara', 'nl' => 'Nederlands', 'de' => 'Deutsch', 'fr' => 'Français', 'pt' => 'Português', 'it' => 'Italiano'));
     $activelangs = array('en' => 0, 'es' => 0, 'ca' => 1, 'gl' => 1, 'eu' => 1, 'nl' => 1, 'de' => 1, 'fr' => 1, 'pt' => 1, 'it' => 1);
     Zend_Registry::set('activelangs', $activelangs);
     $this->lang = $this->getRequest()->getParam("language");
     if ($this->lang == null) {
         $auth = Zend_Auth::getInstance();
         if ($auth->hasIdentity()) {
             $this->lang = $auth->getIdentity()->lang;
         }
     }
     if ($this->lang == null && isset($_COOKIE['lang'])) {
         $this->lang = $_COOKIE['lang'];
     }
     $locale = new Zend_Locale();
     // El setLocale del Zend está malito...
     // uso también el nativo de php
     $locale->setLocale($this->lang . '_' . strtoupper($this->lang) . '.utf8');
     setlocale(LC_ALL, $this->lang . '_' . strtoupper($this->lang) . '.utf8');
     if (!isset($activelangs[$locale->getLanguage()])) {
         $locale->setLocale('es_ES.utf8');
     }
     $this->lang = $locale->getLanguage();
     $this->langtest = $activelangs[$this->lang] == 1;
     $options = array('scan' => Zend_Translate::LOCALE_FILENAME);
     $translate = new Zend_Translate('csv', APPLICATION_PATH . '/languages/', $this->lang, $options);
     if ($translate->isAvailable($this->lang)) {
         $translate->setLocale($locale);
         Zend_Form::setDefaultTranslator($translate);
         Zend_Registry::set('Zend_Translate', $translate);
     } else {
         header('Location: /es');
         exit;
     }
     if ($this->langtest && (!isset($_COOKIE['langtest']) || $_COOKIE['langtest'] != "0")) {
         $controller = $this->getActionController();
         if (isset($controller->view)) {
             $controller->view->extra .= " advices";
             if (!$controller->view->advices) {
                 $controller->view->advices = array();
             }
             $controller->view->advices["langtest"] = $controller->view->translate("BetaTranslation", "/{$this->lang}/page/translate?lang={$this->lang}");
             $controller->view->headScript()->appendFile('/js/jquery.advice.js');
         }
     }
 }
Exemple #12
0
 /**
  * Referência:
  * http://www.codeforest.net/multilanguage-support-in-zend-framework
  */
 protected function _initTranslate()
 {
     $locale = new Zend_Locale();
     if (!Zend_Locale::isLocale($locale, TRUE, FALSE)) {
         if (!Zend_Locale::isLocale($locale, FALSE, FALSE)) {
             throw new Zend_Locale_Exception("The locale '{$locale}' is no known locale");
         }
         $locale = new Zend_Locale($locale);
     }
     //$locale = "pt_BR";
     $translatorArray = new Zend_Translate(array('adapter' => 'array', 'content' => APPLICATION_PATH . '/../resources/languages', 'locale' => $locale, 'scan' => Zend_Translate::LOCALE_DIRECTORY));
     $translate = new Zend_Translate('gettext', APPLICATION_PATH . "/langs/", $locale, array('scan' => Zend_Translate::LOCALE_DIRECTORY));
     $translate->addTranslation($translatorArray);
     $registry = Zend_Registry::getInstance();
     $registry->set('Zend_Translate', $translate);
     Zend_Validate_Abstract::setDefaultTranslator($translate);
     Zend_Form::setDefaultTranslator($translate);
 }
Exemple #13
0
 /**
  * This is where we set up the locale and set the translation adapters
  * @deprecate this could be set in the site.ini using resoruces
  * @return void
  */
 protected function _initLocale()
 {
     //this is the locale
     try {
         $locale = new Zend_Locale(Zend_Locale::BROWSER);
     } catch (Zend_Locale_Exception $e) {
         $locale = new Zend_Locale('en_US');
     }
     Zend_Locale::setDefault($locale);
     // here we define the translator
     $translatePath = APPLICATION_PATH . '/languages/translate.xml';
     $options = array('log' => Zend_Registry::get('logger'), 'disableNotices' => false, 'logMessage' => "Untranslated message within '%locale%': %message% : %word%");
     $translate = new Zend_Translate('tmx', $translatePath, $locale, $options);
     // hwere we add the translator to the registry
     Zend_Registry::set('translate', $translate);
     // here we set all forms attached to the translator
     // this will translate everything on the form
     Zend_Form::setDefaultTranslator($translate);
 }
Exemple #14
0
 public function __construct($app)
 {
     parent::__construct($app);
     date_default_timezone_set('America/Lima');
     $this->bootstrap('multidb');
     /* ejecuta un recurso */
     $db = $this->getPluginResource('multidb')->getDb('db');
     /* obtiene los datos del recurso */
     Zend_Db_Table::setDefaultAdapter($db);
     /* registra el adaptador */
     Zend_Registry::set('db', $db);
     /*registra la clase adaptadora*/
     Zend_Form::setDefaultTranslator(new Zend_Translate('array', APPLICATION_PATH . '/configs/lang/es.php', 'es'));
     $this->getResourceLoader()->addResourceType('entity', 'entitys/', 'Entity');
     $this->getResourceLoader()->addResourceType('service', 'services/', 'Service');
     $response = new Zend_Controller_Response_Http();
     $response->setHeader('Content-Type', 'text/html; charset=utf-8')->setHeader('Accept-Encoding', 'gzip, deflate')->setHeader('Expires', 'max-age=' . 20, true)->setHeader('Cache-Control', 'private', 'must-revalidate')->setHeader('Pragma', 'no-cache', true);
     $response->sendResponse();
 }
Exemple #15
0
 /**
  * Sets the application locale and translation based on the lang param.
  *
  * If a lang param is not provided, it will default to english.
  *
  * @param Zend_Controller_Request_Abstract $request
  */
 public function routeShutdown(Zend_Controller_Request_Abstract $request)
 {
     $registry = Zend_Registry::getInstance();
     $locale = $registry->get('Zend_Locale');
     $translate = $registry->get('Zend_Translate');
     $params = $this->getRequest()->getParams();
     $localeParam = isset($params['lang']) ? $param['lang'] : false;
     if (false === $localeParam) {
         $localeParam = $locale->getLanguage();
     }
     if (!$translate->isAvailable($localeParam)) {
         $localeParam = 'en';
         $this->getRequest()->setParam('lang', 'en');
     }
     $locale->setLocale($localeParam);
     $translate->setLocale($locale);
     Zend_Form::setDefaultTranslator($translate);
     setcookie('lang', $locale->getLanguage(), null, '/');
 }
 public function init()
 {
     Zend_Loader::loadClass('Zend_Validate_Regex');
     Zend_Loader::loadClass('Zend_Validate_EmailAddress');
     // translate
     $this->translate = Zend_Registry::get('translate');
     Zend_Form::setDefaultTranslator(Zend_Registry::get('translate'));
     $this->setMethod('post');
     $this->setDecorators(array(array('ViewScript', array('viewScript' => 'forgot-password.phtml'))));
     /*
      * username
      */
     $login = $this->createElement('text', 'login', array('decorators' => $this->elDecorators, 'required' => true, 'label' => $this->translate->_('Username'), 'size' => 25, 'maxlength' => 50));
     $login->addDecorator('FormElements', array('tag' => 'div', 'style' => 'width:10em; background-color:#E0F0FF;'));
     $login_validator = new Zend_Validate_Regex('/^[a-z0-9\\-_@\\.]+$/i');
     $login_validator->setMessage($this->translate->_('Login characters incorrect. Allowed: alphabetical characters, digits, and "- . _ @" characters.'));
     $login->addValidator($login_validator)->addValidator('stringLength', false, array(1, 50))->setRequired(true);
     /*
      * email
      */
     $email = $this->createElement('text', 'email', array('decorators' => $this->elDecorators, 'required' => true, 'label' => $this->translate->_('Email'), 'size' => 25, 'maxlength' => 50));
     $email->addDecorator('FormElements', array('tag' => 'div', 'style' => 'width:10em; background-color:#E0F0FF;'));
     $email_validator = new Zend_Validate_Regex('/^(.+)@([^@]+)$/');
     // $email_validator = new Zend_Validate_EmailAddress();
     $email_validator->setMessage($this->translate->_('Email address incorrect.'));
     $email->addValidator($email_validator)->setRequired(true);
     /*
      * submit
      */
     $submit = $this->createElement('submit', 'submit', array('decorators' => array('ViewHelper', 'Errors'), 'class' => 'forgot-btn', 'id' => 'submit', 'label' => $this->translate->_('Submit new password')));
     /*
      * create captcha
      */
     $captcha = $this->createElement('captcha', 'captcha', array('label' => $this->translate->_('Type the characters:'), 'captcha' => array('captcha' => 'Figlet', 'wordLen' => 5, 'timeout' => 120)));
     // And finally add some CSRF protection
     $csrf = $this->createElement('hash', 'csrf', array('ignore' => true));
     // add elements to form
     $this->addElement($login)->addElement($email)->addElement($submit)->addElement($captcha)->addElement($csrf);
 }
Exemple #17
0
 public function preDispatch(Zend_Controller_Request_Abstract $request)
 {
     //$config = Zend_Registry::get('config');
     // Get languages
     $locale = new Zend_Locale();
     $options = array('scan' => Zend_Translate::LOCALE_FILENAME, 'disableNotices' => true);
     $cache = Zend_Registry::get('cache');
     Zend_Translate::setCache($cache);
     $translate = @new Zend_Translate('tmx', APPLICATION_PATH . '/languages/', 'auto', $options);
     $params = $this->getRequest()->getParams();
     $language = 'en';
     /*
     if(isset($params['language']))
     {
     	$language = $params['language'];
     }
     
     if($language == false)
     {
     	$language = $translate->isAvailable($locale->getLanguage) ? $locale->getLanguage() : $config->language->default;
     }
     
     if(!$translate->isAvailable($language))
     {
     	$language = 'en';
     	//throw new Zend_Controller_Action_Exception('This page does not exist', 404);
     }
     */
     //else
     //{
     $locale->setLocale($language);
     $translate->setLocale($locale);
     Zend_Form::setDefaultTranslator($translate);
     //setcookie('lang', $locale->getLanguage(), null, '/');
     Zend_Registry::set('Zend_Locale', $locale);
     Zend_Registry::set('Zend_Translate', $translate);
     Zend_Registry::set('Available_Translations', $translate->getList());
     //}
 }
Exemple #18
0
 /**
  * Sets up the fixture, for example, open a network connection.
  * This method is called before a test is executed.
  *
  * @return void
  */
 public function setUp()
 {
     Zend_Registry::_unsetInstance();
     Zend_Form::setDefaultTranslator(null);
     $this->element = new Zend_Form_Element_Submit('foo');
 }
 /**
  * Initialize the translation system
  *
  * @return void
  */
 protected function _initTranslator()
 {
     $this->bootstrap('Locale');
     //Extract some info from the request
     $lang = Zend_Registry::get('Zend_Locale')->getLanguage();
     $translationFile = ROOT_PATH . '/library/App/Translations/' . $lang . '.mo';
     //Check if the translations file is available, if not fallback default to english
     if (!file_exists($translationFile)) {
         $translationFile = APPLICATION_PATH . '/modules/' . CURRENT_MODULE . '/translations/en.mo';
     }
     $options = array('adapter' => 'gettext', 'content' => $translationFile, 'locale' => $lang, 'disableNotices' => App_DI_Container::get('ConfigObject')->translations->disable_notices, 'logMessage' => "Missing translation: %message%", 'logUntranslated' => App_DI_Container::get('ConfigObject')->translations->log_missing_translations);
     //Create a zend_log for missing translations
     if (App_DI_Container::get('ConfigObject')->translations->log_missing_translations) {
         $pathLog = ROOT_PATH . '/logs/' . CURRENT_MODULE . '/missing_translations/' . date('Ymd') . '_' . $lang . '.log';
         $writer = new Zend_Log_Writer_Stream($pathLog);
         $logger = new Zend_Log($writer);
         $options['log'] = $logger;
     }
     $translate = new Zend_Translate($options);
     Zend_Registry::set('Zend_Translate', $translate);
     Zend_Validate_Abstract::setDefaultTranslator($translate);
     Zend_Form::setDefaultTranslator($translate);
 }
Exemple #20
0
    public function testLocalTranslatorPreferredOverDefaultGlobalTranslator()
    {
        $this->assertNull($this->form->getTranslator());
        $translatorDefault = new Zend_Translate('array', array());
        Zend_Form::setDefaultTranslator($translatorDefault);

        $received = $this->form->getTranslator();
        $this->assertSame($translatorDefault->getAdapter(), $received);

        $translator = new Zend_Translate('array', array());
        $this->form->setTranslator($translator);
        $received = $this->form->getTranslator();
        $this->assertNotSame($translatorDefault->getAdapter(), $received);
        $this->assertSame($translator->getAdapter(), $received);
    }
 public function setUp()
 {
     Zend_Form::setDefaultTranslator(null);
     $this->form = new Zend_Form_SubForm();
 }
Exemple #22
0
 /**
  * Translation object setup
  */
 public function setTranslationObject()
 {
     // set language
     if (isset($this->requestLang)) {
         $lg = $this->requestLang;
     } else {
         $lg = $this->config->general->lang;
     }
     if ($lg == '' || !$lg) {
         $lg = 'en';
     }
     $this->registry->set('language', $lg);
     $translate = new Zend_Translate('csv', $this->corePath . '/application/language/en.csv', $this->config->general->lang);
     $translate->setLocale($this->config->general->locale);
     Zend_Validate_Abstract::setDefaultTranslator($translate);
     Zend_Form::setDefaultTranslator($translate);
     $this->registry->set('Zend_Translate', $translate);
     $path1 = $this->corePath . '/application/language/';
     $path2 = Sydney_Tools::getLocalPath() . '/application/language/';
     // general global translations
     if (is_dir($path1) && file_exists($path1 . $lg . '.csv')) {
         $translate->addTranslation($path1 . $lg . '.csv', $lg);
     }
     if (is_dir($path2) && file_exists($path2 . $lg . '.csv')) {
         $translate->addTranslation($path2 . $lg . '.csv', $lg);
     }
     // Create a log instance
     if ($this->debugTranslationsNotFound) {
         $writer = new Zend_Log_Writer_Stream(Sydney_Tools_Paths::getLogPath() . '/' . $lg . '-translation-notfound.log');
         $log = new Zend_Log($writer);
         // Attach it to the translation instance
         $translate->setOptions(array('log' => $log, 'logUntranslated' => $this->config->general->env != 'PROD'));
     }
 }
Exemple #23
0
 protected function _initTranslation()
 {
     $translator = new Zend_Translate(array('adapter' => 'array', 'content' => APPLICATION_PATH . '/../languages/Zend_Validate', 'scan' => Zend_Translate::LOCALE_DIRECTORY));
     Zend_Form::setDefaultTranslator($translator);
 }
 protected function _init()
 {
     set_include_path(implode(PATH_SEPARATOR, array(SP_LIB_PATH, SP_APP_PATH . DIRECTORY_SEPARATOR . 'modules', get_include_path())));
     require_once 'Zend/Loader/Autoloader.php';
     $autoloader = Zend_Loader_Autoloader::getInstance();
     $autoloader->setFallbackAutoloader(false);
     $autoloader->registerNamespace('SP_');
     $autoloader->registerNamespace('Apache_');
     //for solr
     try {
         Zend_Session::start();
     } catch (Zend_Session_Exception $error) {
         Zend_Session::writeClose();
         Zend_Session::start();
         Zend_Session::regenerateId();
         trigger_error($error->getMessage());
     }
     self::_setAutoloader();
     self::_setConfig();
     self::_setView();
     self::_setRouter();
     self::_setDbAdapter();
     self::_setLog();
     self::_setCache();
     self::_setACL();
     self::_setAuthAdapter();
     self::_setLayout();
     self::_setTranslate();
     self::_setActionHelper();
     $front = Zend_Controller_Front::getInstance();
     $front->setRouter(self::$_router)->addModuleDirectory(SP_APP_PATH . '/modules')->setDefaultModule('default')->setModuleControllerDirectoryName('controllers')->throwExceptions(true)->returnResponse(false)->setDefaultControllerName('Index')->setDefaultAction('index')->setParam('prefixDefaultModule', true)->setParam('noViewRenderer', true)->setParam('useDefaultControllerAlways', false);
     //register some useful plugins
     $front->registerPlugin(new SP_Controller_Plugin_AppPlugin());
     //set default db table adapter
     Zend_Db_Table::setDefaultAdapter(self::$_db);
     //set default translator for Zend_Form
     Zend_Form::setDefaultTranslator(self::$_translate);
 }
Exemple #25
0
 /**
  * Initializes translator
  *
  * @return Zend_Translate_Adapter
  */
 public function _initTranslate()
 {
     $log = new Zend_Log();
     if (APPLICATION_ENV == 'development') {
         $log = new Zend_Log();
         $log->addWriter(new Zend_Log_Writer_Firebug());
         //$log->addWriter(new Zend_Log_Writer_Stream(APPLICATION_PATH . '/temporary/log/translate.log'));
     } else {
         $log->addWriter(new Zend_Log_Writer_Null());
     }
     $params['log'] = $log;
     // Create the object and add a language
     $translate = new Zend_Translate('Array', APPLICATION_PATH . '/languages/vi/vi.php', 'vi_VN');
     // Add another translation
     $translate->addTranslation(APPLICATION_PATH . '/languages/en/en.php', 'en_US');
     // Set nb_NO as default translation
     $translate->setLocale('vi_VN');
     Zend_Registry::set('Zend_Translate', $translate);
     Zend_Validate_Abstract::setDefaultTranslator($translate);
     Zend_Form::setDefaultTranslator($translate);
     Zend_Controller_Router_Route::setDefaultTranslator($translate);
     return $translate;
 }
 /**
  * Translations & languages
  */
 protected function _initSetTranslations()
 {
     $session = new Zend_Session_Namespace('Default');
     $available_languages = array();
     // load all php files from languages folder
     foreach (glob(APPLICATION_PATH . '/languages/*.php') as $file) {
         unset($data, $init);
         require_once $file;
         if (!isset($translate)) {
             $translate = new Zend_Translate('array', $data, $init['short']);
         }
         $translate->addTranslation($data, $init['short']);
         $available_languages[$init['short']] = $init['name'];
     }
     if (empty($available_languages)) {
         die('Error: language file is missing ' . APPLICATION_PATH . '/languages/*.php');
     }
     // init Zend_Locale
     $locale = new Zend_Locale();
     // set default language from options
     $default_language = Zend_Registry::get('config')->get('default_language');
     if (!in_array($default_language, $translate->getList())) {
         // in case someone forgot to update settings -> general
         reset($available_languages);
         $default_language = key($available_languages);
     }
     $translate->setLocale($default_language);
     $locale->setLocale($default_language);
     Zend_Registry::set('locale', $default_language);
     // set current language based on user session
     if ($session->language && in_array($session->language, $translate->getList())) {
         $translate->setLocale($session->language);
         $locale->setLocale($session->language);
         Zend_Registry::set('locale', $session->language);
     }
     // push translator to registry
     Zend_Registry::set('Zend_Translate', $translate);
     // push translator to views
     $this->_view->translate = $translate;
     // push translator to forms
     Zend_Form::setDefaultTranslator($translate);
     // sort default as first & save array for forms
     $available_languages_sorted = array();
     if (isset($available_languages[$default_language])) {
         $available_languages_sorted = array($default_language => $available_languages[$default_language]);
         unset($available_languages[$default_language]);
     }
     $available_languages_sorted = array_merge($available_languages_sorted, $available_languages);
     Zend_Registry::set('languages_array', $available_languages_sorted);
 }
Exemple #27
0
 public function testGetTranslatorRetrievesGlobalDefaultWhenAvailable()
 {
     $this->testNoTranslatorByDefault();
     $translator = new Zend_Translate('array', array('foo' => 'bar'));
     Zend_Form::setDefaultTranslator($translator);
     $received = $this->group->getTranslator();
     $this->assertSame($translator->getAdapter(), $received);
 }
Exemple #28
0
 public function getTwitterForm($name, $locale = null, $horizontal = true)
 {
     $this->getLanguages();
     $table = new Formbuilder_Formbuilder();
     $id = $table->getIdByName($name);
     if (is_numeric($id) == true) {
         if (file_exists(PIMCORE_PLUGINS_PATH . "/Zendformbuilder/data/form/form_" . $id . ".ini")) {
             $config = new Zend_Config_Ini(PIMCORE_PLUGINS_PATH . "/Zendformbuilder/data/form/form_" . $id . ".ini", 'config');
             $trans = $this->translateForm($id, $locale);
             Zend_Form::setDefaultTranslator($trans);
             if ($horizontal == true) {
                 $form = new Twitter_Bootstrap_Form_Horizontal($config->form);
             } else {
                 $form = new Twitter_Bootstrap_Form_Vertical($config->form);
             }
             $form->setDisableTranslator(true);
             if ($locale != null && $locale != "") {
                 $form->setTranslator($trans);
             }
             return $form;
         } else {
             return false;
         }
     } else {
         return false;
     }
 }
Exemple #29
0
 /**
  * @group ZF-9275
  */
 public function testValidatorsDefaultTranslatorDoesntOverrideFormsDefaultTranslator()
 {
     $formTranslations = array('alphaInvalid' => 'Form message');
     $formTranslate = new Zend_Translate('array', $formTranslations);
     Zend_Form::setDefaultTranslator($formTranslate);
     $validatorTranslations = array('alphaInvalid' => 'Validator message');
     $validatorTranslate = new Zend_Translate('array', $validatorTranslations);
     Zend_Validate_Abstract::setDefaultTranslator($validatorTranslate);
     // the default validate translator should beat the registry one
     $this->element->addValidator('Alpha');
     $this->assertFalse($this->element->isValid(123));
     $messages = $this->element->getMessages();
     $this->assertEquals('Form message', $messages['alphaInvalid']);
 }
Exemple #30
0
 protected function _initTranslation()
 {
     $oSiteSession = new Zend_Session_Namespace("site");
     $sRequestLang = null;
     if (!isset($sRequestLang)) {
         if ($oSiteSession->lang == "en") {
             $sRequestLang = $oSiteSession->lang;
         } else {
             $oLocale = new Zend_Locale();
             $sLang = $oLocale->getLanguage();
             if (in_array($sLang, array("pl", "en"))) {
                 $this->_sBrowserLanguage = $sLang;
                 $sRequestLang = $sLang;
             } else {
                 $sRequestLang = "pl";
             }
         }
         $oSiteSession->lang = $sRequestLang;
     } else {
         if (in_array($sRequestLang, array("pl", "en"))) {
             $oSiteSession->lang = $sRequestLang;
         } else {
             $sRequestLang = "pl";
             $oSiteSession->lang = $sRequestLang;
         }
     }
     if ($sRequestLang == "pl") {
         $sArrayFilePath = APPLICATION_PATH . "/resources/languages/" . $sRequestLang . "/Zend_Validate.php";
         if (file_exists($sArrayFilePath)) {
             $aTranslate = array("adapter" => "array", "content" => $sArrayFilePath, "locale" => $sRequestLang, "scan" => Zend_Translate::LOCALE_DIRECTORY);
             $oTranslator = new Zend_Translate($aTranslate);
             Zend_Validate_Abstract::setDefaultTranslator($oTranslator);
         }
     }
     if ($sRequestLang == "en") {
         $sArrayFilePath = APPLICATION_PATH . "/resources/languages/" . $sRequestLang . "/" . $sRequestLang . "_" . strtoupper($sRequestLang) . ".php";
         if (file_exists($sArrayFilePath)) {
             $aTranslate = array("adapter" => "array", "content" => $sArrayFilePath, "locale" => $sRequestLang, "scan" => Zend_Translate::LOCALE_DIRECTORY);
             $oTranslator = new Zend_Translate($aTranslate);
             Zend_Registry::set("Zend_Translate", $oTranslator);
             Zend_Form::setDefaultTranslator($oTranslator);
             Zend_Validate_Abstract::setDefaultTranslator(null);
         }
     }
     return $sRequestLang;
 }