Example #1
0
    protected function _initLanguages()
    {
        $languageDir = APPLICATION_PATH . DIRECTORY_SEPARATOR . 'languages';
        Zend_Registry::set('languageDir', $languageDir);

        $translate = new Zend_Translate(
            'gettext', $languageDir
        );

        $translate->addTranslation($languageDir . DIRECTORY_SEPARATOR . 'en_GB.mo', 'en');
        $translate->addTranslation($languageDir . DIRECTORY_SEPARATOR . 'fr_FR.mo', 'fr');
        $translate->addTranslation($languageDir . DIRECTORY_SEPARATOR . 'it_IT.mo', 'it');
        $translate->addTranslation($languageDir . DIRECTORY_SEPARATOR . 'ru_RU.mo', 'ru');

        $locale = new Zend_Session_Namespace('locale');
        if ($locale->value === null) {

            $config_model  = new Default_Model_Configuration();
            $locale_config = $config_model->getKey('locale');

            isset($locale_config) ? $locale->value = $locale_config : $locale->value = 'en';
        }

        $translate->setLocale($locale->value);

        Zend_Registry::set('tr', $translate);
        Zend_Registry::set('Zend_Translate', $translate);
        Zend_Registry::set('Zend_Locale', $locale);
    }
Example #2
0
 protected function _initTranslate()
 {
     $registry = Zend_Registry::getInstance();
     $this->_translate = $registry->get('Zend_Translate');
     $this->_translate->addTranslation(array('adapter' => 'array', 'content' => dirname(__FILE__) . DIRECTORY_SEPARATOR . 'locales', 'scan' => Zend_Translate::LOCALE_DIRECTORY));
     $registry->set('Zend_Translate', $this->_translate);
     return $registry;
 }
 /**
  * @param array $files
  */
 protected function _loadFromFiles(array $files)
 {
     $translate = new Zend_Translate('Array', $files['en'], 'en');
     /** @var Zend_Translate_Adapter_Array $translate */
     $translate->addTranslation(array('content' => $files['nl'], 'locale' => 'nl'));
     return $translate;
 }
 public function preDispatch(Zend_Controller_Request_Abstract $request)
 {
     //set lang var to session
     $nsLang = new Zend_Session_Namespace("Language");
     $lang = "vi";
     if ($request->getParam("lang") != "") {
         $lang = $request->getParam("lang");
     } else {
         if ($nsLang->language != "") {
             $lang = $nsLang->language;
         }
     }
     $nsLang->language = $lang;
     //Set back to session
     $options = array('disableNotices' => true, 'logUntranslated' => false);
     $commonLang = new Zend_Translate("tmx", APP_PATH . "/languages/common.tmx", $lang, $options);
     $controller = $request->getControllerName();
     $langPath = APP_PATH . "/languages/" . $controller . ".tmx";
     if (file_exists($langPath)) {
         $commonLang->addTranslation($langPath, $lang);
     }
     $registry = Zend_Registry::getInstance();
     $registry->set("translate", $commonLang);
     return $lang;
 }
 /**
  * Create a new GettextZendTranslator and configure it with passed params
  * @param string|Zend_Locale $given_locale
  * @param string $filename
  * @param boolean $default_instance If none instance yet, this instance will be used whatever this param value is
  */
 public function __construct($given_locale = null, $filename = null, $default_instance = true)
 {
     if ($filename != null) {
         $this->filename = $filename;
     }
     self::$absolutePath = Config::getInstance()->getString('appRootDir') . self::DIR_LOCALES;
     $this->debugMode = Config::getInstance()->getBoolean('i18n/gettextZendTranslator/debug', false);
     $path = self::$absolutePath . self::DEFAULT_LOCALE . '/' . $this->filename;
     parent::__construct(self::GETTEXT, $path, self::DEFAULT_LOCALE);
     // Adding other existing locales
     $locales = $this->getAvailableLocales();
     foreach ($locales as $locale) {
         if ($locale != self::DEFAULT_LOCALE) {
             parent::addTranslation(self::$absolutePath . $locale . '/' . $this->filename, $locale);
         }
     }
     if ($given_locale == null) {
         if (($given_locale = Zend_Registry::get('Zend_Locale')) == null) {
             $given_locale = self::DEFAULT_LOCALE;
         }
     }
     $this->setLocale($given_locale);
     Zend_Registry::set('Zend_Translator', $this);
     if ($default_instance || self::$instance == null) {
         self::$instance = $this;
     }
 }
Example #6
0
 /**
  * Retturn translation string
  * example $l->translate('Field %1 is incorrect', 'FieldName');
  *
  * @param string $msg Message to transalte.
  */
 public function translate($msg)
 {
     $translated = $msg;
     if ($this->translate->isTranslated($msg, true, $this->locale)) {
         $translated = $this->translate->translate($msg);
     } else {
         foreach ($this->translationsPaths as $name => $value) {
             if (!$this->translate->isAvailable($name)) {
                 try {
                     $this->translate->addTranslation($this->translationsPaths[$name], $name);
                     $this->translate->setLocale($this->getLocale());
                 } catch (Zend_Translate_Exception $e) {
                     continue;
                 }
             }
             if ($this->translate->isTranslated($msg, $name)) {
                 $translated = $this->translate->translate($msg, $name);
                 break;
             }
         }
     }
     if (func_num_args() > 1) {
         $params = func_get_args();
         $params[0] = $translated;
         $translated = @call_user_func_array("sprintf", $params);
         //add shield for incorrect translations(warning about incorrect number of arguments)
     }
     return $translated;
 }
Example #7
0
 protected function _initTranslate()
 {
     $translate = new Zend_Translate('gettext', APPLICATION_PATH . '/data/languages/zh.mo', 'zh');
     $translate->addTranslation(APPLICATION_PATH . '/data/languages/en.mo', 'en');
     //$translate->setLocale('zh');
     $translate->setLocale('en');
     Zend_Registry::set('translate', $translate);
 }
Example #8
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);
 }
Example #9
0
 protected function _initLanguage()
 {
     try {
         $translate = new Zend_Translate('csv', APPLICATION_PATH . '/languages/en.csv', 'en');
         $translate->addTranslation(APPLICATION_PATH . '/languages/br.csv', 'br');
         Zend_Registry::set('Zend_Translate', $translate);
     } catch (Exception $e) {
         echo $e->getMessage();
     }
 }
Example #10
0
 public function routeShutdown(Zend_Controller_Request_Abstract $request)
 {
     $locale = new Zend_Locale();
     $options = array('scan' => Zend_Translate::LOCALE_FILENAME, 'clear' => false, 'disableNotices' => true);
     Zend_Translate::setCache(Zend_Registry::get('cache'));
     if (isset($_COOKIE['language_select'])) {
         $language = $_COOKIE['language_select'];
     } else {
         $language = 'en';
     }
     $translate = new Zend_Translate('csv', APPLICATION_PATH . '/languages', 'auto', $options);
     $translate->addTranslation(APPLICATION_PATH . '/languages/ot');
     $translate->addTranslation(APPLICATION_PATH . '/../overrides/languages');
     if (!$translate->isAvailable($language)) {
         throw new Exception('Language ' . $language . ' is not available');
     }
     $locale->setLocale($language);
     $translate->setLocale($locale);
     Zend_Registry::set('Zend_Locale', $locale);
     Zend_Registry::set('Zend_Translate', $translate);
 }
Example #11
0
 /** Loads the site interface locale.
  * @param string $locale = null The locale to load (for instance: 'en_US'). If empty we'll use the currently active locale
  */
 public function addSiteInterfaceLanguage($locale = null)
 {
     if (is_object($this->translate)) {
         if (!(is_string($locale) && strlen($locale))) {
             $locale = $this->translate->getLocale();
         }
         $path = DIR_LANGUAGES_SITE_INTERFACE . '/' . $locale . '.mo';
         if (is_file($path)) {
             $this->translate->addTranslation($path, $locale);
         }
     }
 }
Example #12
0
 public function _initTranslate()
 {
     $locale = new Zend_Locale(Zend_Locale::BROWSER);
     $translate = new Zend_Translate(array('adapter' => 'csv', 'content' => APPLICATION_PATH . '/configs/languages/lang.en', 'locale' => 'en'));
     $translate->addTranslation(array('content' => APPLICATION_PATH . '/configs/languages/lang.hi', 'locale' => 'hi'));
     if ($translate->isAvailable($locale->getLanguage())) {
         $translate->setLocale($locale);
     } else {
         $translate->setLocale('en');
     }
     Zend_Registry::set('Translate', $translate);
 }
Example #13
0
 /**
  * Setup test
  *
  * @return void
  */
 public function setUp()
 {
     // Backup server array
     $this->_server = $_SERVER;
     // Clean host env
     unset($_SERVER['HTTP_HOST'], $_SERVER['HTTPS'], $_SERVER['SERVER_NAME'], $_SERVER['SERVER_PORT']);
     // Set translator
     $translator = new Zend_Translate('array', array('foo' => 'en_foo', 'bar' => 'en_bar'), 'en');
     $translator->addTranslation(array('foo' => 'de_foo', 'bar' => 'de_bar'), 'de');
     $translator->setLocale('en');
     Zend_Registry::set('Zend_Translate', $translator);
 }
Example #14
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);
 }
Example #15
0
 /**
  * (non-PHPdoc)
  * @see Zend_Application_Resource_Resource::init()
  * @return Zend_Translate
  */
 public function init()
 {
     $options = $this->getOptions();
     $adapter = $options['adapter'];
     $defaultTranslation = $options['default']['file'];
     $defaultLocale = $options['default']['locale'];
     $translate = new Zend_Translate($adapter, $defaultTranslation, $defaultLocale);
     foreach ($options['translation'] as $locale => $translation) {
         $translate->addTranslation($translation, $locale);
     }
     Zend_Registry::set('Zend_Translate', $translate);
     return $translate;
 }
Example #16
0
 /**
  * Creates a Zend_Translate object using configuration paratemeters, and
  * also uses gettext as adapter
  *
  * @param array $config
  * @return Zend_Translate
  */
 protected function _createTranslate($config = array())
 {
     if (!empty($config)) {
         $path = realpath($config['path']) . "/%s/default.mo";
         $translate = new Zend_Translate('gettext', sprintf($path, $config['default']), $config['default'], $config['options']);
         foreach ($config['languages'] as $lang) {
             if ($lang != $config['default']) {
                 $translate->addTranslation(sprintf($path, $lang), $lang);
             }
         }
         $translate->setLocale($config['default']);
         return $translate;
     }
     return false;
 }
 protected function _initTranslator($language = DEFAULT_LANGUAGE_CODE)
 {
     $translate = new Zend_Translate(array('adapter' => 'csv', 'content' => APPLICATION_PATH . '/languages/' . $language . '/main.csv', 'locale' => $language, 'delimiter' => ';'));
     // add translation source of all modules
     $front = Zend_Controller_Front::getInstance();
     $modules = $front->getControllerDirectory();
     foreach (array_keys($modules) as $module) {
         $file = APPLICATION_PATH . '/modules/' . ucwords($module) . '/languages/' . $language . '/main.csv';
         if (file_exists($file)) {
             $translate->addTranslation(array('adapter' => 'csv', 'content' => $file, 'locale' => $language, 'delimiter' => ';'));
         }
     }
     Zend_Registry::set('Zend_Translate', $translate);
     return $translate;
 }
Example #18
0
 /**
  * Reads all available component translations and adds them to the translation object
  */
 private function _scanTranslations()
 {
     // check for valid translation object
     if (is_object($this->_translate)) {
         foreach ($this->_extensionRegistry as $component => $settings) {
             // check if component owns translation
             if (isset($settings->languages) && is_readable($settings->path . $settings->languages)) {
                 // keep current locale
                 $locale = $this->_translate->getAdapter()->getLocale();
                 $this->_translate->addTranslation($settings->path . $settings->languages, null, array('scan' => Zend_Translate::LOCALE_FILENAME));
                 // reset current locale
                 $this->_translate->setLocale($locale);
             }
         }
     }
 }
Example #19
0
 /**
  * Sets up the fixture, for example, opens a network connection.
  * This method is called before a test is executed.
  *
  * Set up the translation adapter and set locale to 'en'
  */
 protected function setUp()
 {
     date_default_timezone_set('Europe/Amsterdam');
     // date_default_timezone_set('GMT');
     // date_default_timezone_set('America/Los_Angeles');
     // \Zend_Locale::setDefault('en');          // Does not override the browser or system locale
     \Zend_Registry::set('Zend_Locale', 'nl');
     // Just set the locale to en in the registry to set a default
     $this->object = new \MUtil_Date();
     $english = array('%s ago' => '%s ago', '%s to go' => '%s to go', 'second' => array(0 => 'second', 1 => 'seconds'), 'minute' => array(0 => 'minute', 1 => 'minutes'), 'hour' => array(0 => 'hour', 1 => 'hours'), 'day' => array(0 => 'day', 1 => 'days'), 'week' => array(0 => 'week', 1 => 'weeks'), 'month' => array(0 => 'month', 1 => 'months'), 'year' => array(0 => 'year', 1 => 'years'), 'decade' => array(0 => 'decade', 1 => 'decades'));
     $dutch = array('%s ago' => '%s geleden', '%s to go' => 'over %s', 'second' => array(0 => 'seconde', 1 => 'seconden'), 'minute' => array(0 => 'minuut', 1 => 'minuten'), 'hour' => array(0 => 'uur', 1 => 'uur'), 'day' => array(0 => 'dag', 1 => 'dagen'), 'week' => array(0 => 'week', 1 => 'weken'), 'month' => array(0 => 'maand', 1 => 'maanden'), 'year' => array(0 => 'jaar', 1 => 'jaren'), 'decade' => array(0 => 'decennium', 1 => 'decennia'));
     $translate = new Zend_Translate(array('adapter' => 'array', 'content' => $english, 'locale' => 'en'));
     $translate->addTranslation(array('content' => $dutch, 'locale' => 'nl'));
     $this->translate = $translate;
     $this->translate->setLocale('en');
 }
Example #20
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);
 }
Example #21
0
 protected function _initTranslator()
 {
     $websiteHelper = Zend_Controller_Action_HelperBroker::getStaticHelper('website');
     $this->_translator = Zend_Registry::get('Zend_Translate');
     $langsPath = $websiteHelper->getPath() . 'plugins/' . strtolower(get_called_class()) . '/' . $this->_languagesPath;
     if (is_dir($langsPath) && is_readable($langsPath)) {
         $locale = Zend_Registry::get('Zend_Locale');
         if (!file_exists($langsPath . $locale->getLanguage() . '.lng')) {
             if (Tools_System_Tools::debugMode()) {
                 error_log('Language file ' . $locale->getLanguage() . '.lng does not exist');
             }
             return false;
         }
         try {
             $this->_translator->addTranslation(array('content' => $langsPath . $locale->getLanguage() . '.lng', 'locale' => $locale->getLanguage(), 'reload' => true));
             Zend_Registry::set('Zend_Translate', $this->_translator);
         } catch (Exception $e) {
             if (Tools_System_Tools::debugMode()) {
                 error_log("(plugin: " . strtolower(get_called_class()) . ") " . $e->getMessage() . "\n" . $e->getTraceAsString());
             }
         }
     }
 }
Example #22
0
 protected function _initLanguages()
 {
     $_COOKIE["_lang"] = isset($_COOKIE["_lang"]) ? $_COOKIE["_lang"] : $this->getSystemSetting(Ht_Model_SystemSetting::KEY_DEFAULT_LANGUAGE);
     $languageDir = APPLICATION_PATH . DIRECTORY_SEPARATOR . 'languages';
     Zend_Registry::set('languageDir', $languageDir);
     $translate = new Zend_Translate('gettext', $languageDir);
     $translate->addTranslation($languageDir . DIRECTORY_SEPARATOR . $_COOKIE["_lang"] . DIRECTORY_SEPARATOR . 'messages.mo', $_COOKIE["_lang"]);
     $translate->setLocale($_COOKIE["_lang"]);
     Zend_Registry::set('tr', $translate);
     Zend_Registry::set('Zend_Translate', $translate);
 }
 public function testTranslate()
 {
     $lang = new Zend_Translate(Zend_Translate::AN_ARRAY, array('msg1' => 'Message 1 (en)'), 'en');
     $lang->addTranslation('ru', array('msg1' => 'Message 1 (ru)'));
     $this->assertEquals($lang->_('msg1'), 'Message 1 (en)');
     $this->assertEquals($lang->_('msg1', 'ru'), 'Message 1 (ru)');
     $this->assertEquals($lang->_('msg2'), 'msg2');
     $this->assertEquals($lang->_('msg2', 'ru'), 'msg2');
     $this->assertEquals($lang->translate('msg1'), 'Message 1 (en)');
     $this->assertEquals($lang->translate('msg1', 'ru'), 'Message 1 (ru)');
     $this->assertEquals($lang->translate('msg2'), 'msg2');
     $this->assertEquals($lang->translate('msg2', 'ru'), 'msg2');
 }
 /**
  * @group ZF-2736
  */
 public function testDoubleReroutingForTranslations()
 {
     $translate = new Zend_Translate(array('adapter' => Zend_Translate::AN_ARRAY, 'content' => dirname(__FILE__) . '/Translate/Adapter/_files/testarray/', 'locale' => 'auto', 'scan' => Zend_Translate::LOCALE_FILENAME, 'ignore' => array('.', 'ignoreme', 'LC_TEST'), 'route' => array('ja' => 'en_US', 'en_US' => 'ja')));
     $translate2 = new Zend_Translate(array('adapter' => Zend_Translate::AN_CSV, 'content' => dirname(__FILE__) . '/Translate/Adapter/_files/translation_en.csv', 'locale' => 'en_US'));
     $translate->addTranslation($translate2);
     $langs = $translate->getList();
     $this->assertFalse(array_key_exists('de_DE', $langs));
     $this->assertTrue(array_key_exists('ja', $langs));
     $this->assertTrue(array_key_exists('en_US', $langs));
     $this->assertEquals('Message 5 (en)', $translate->translate('Message 5', 'ja'));
     $this->assertEquals('Message 5 (en)', $translate->translate('Message 5', 'ja'));
 }
Example #25
0
 public function testCanTranslateWithOptions()
 {
     $trans = new Zend_Translate('array', array('one' => 'eins', "two %1\$s" => "zwei %1\$s", "three %1\$s %2\$s" => "drei %1\$s %2\$s"), 'de');
     $trans->addTranslation(array('one' => 'uno', "two %1\$s" => "duo %2\$s", "three %1\$s %2\$s" => "tre %1\$s %2\$s"), 'it');
     $trans->setLocale('de');
     $this->helper->setTranslator($trans);
     $this->assertEquals("drei 100 200", $this->helper->translate("three %1\$s %2\$s", "100", "200"));
     $this->assertEquals("tre 100 200", $this->helper->translate("three %1\$s %2\$s", "100", "200", 'it'));
     $this->assertEquals("drei 100 200", $this->helper->translate("three %1\$s %2\$s", array("100", "200")));
     $this->assertEquals("tre 100 200", $this->helper->translate("three %1\$s %2\$s", array("100", "200"), 'it'));
 }
Example #26
0
 public static function initTranslations($instance)
 {
     //add translations to registry
     $coreLanguageFile = Pimcore_Tool_Admin::getLanguageFile("en");
     $translator = new Zend_Translate('csv', $coreLanguageFile, 'en', array('delimiter' => ','));
     $availableLanguages = Pimcore_Tool_Admin::getLanguages();
     foreach ($availableLanguages as $lang) {
         if ($lang != "en") {
             $languageFile = Pimcore_Tool_Admin::getLanguageFile($lang);
             $translator->addTranslation($languageFile, $lang);
         }
     }
     if (Zend_Registry::isRegistered("Zend_Locale")) {
         $locale = Zend_Registry::get("Zend_Locale");
         @$translator->setLocale($locale->getLanguage());
     }
     Zend_Registry::set("Zend_Translate", $translator);
     if ($instance) {
         $instance->setTranslator($translator);
     }
 }
Example #27
0
 /**
  * Init the db
  */
 protected function _initDb()
 {
     if (!Zend_Registry::isRegistered('db')) {
         #         $config = new Zend_Config_Ini( APPLICATION_PATH . '/config.ini', APPLICATION_ENV );
         $config = new Zend_Config_Ini(APPLICATION_PATH . '/config.ini', ENVIRONMENT);
         $db = Zend_Db::factory($config->resources->db);
         Zend_Db_Table_Abstract::setDefaultAdapter($db);
         Zend_Registry::set('db', $db);
     }
     //   setup language
     if (!Zend_Registry::isRegistered('translate')) {
         $translate = new Zend_Translate('csv', SERVER_BASE . LANGUAGES . 'en.csv', 'en');
         $actual = $translate->getLocale();
         //          $language  = get_session( 'language' );
         $language = Zend_Registry::isRegistered('language') ? Zend_Registry::get('language') : '';
         if ($language == '' or $language == '*') {
             $language = substr(get_ip(), 0, 3) == '58.' ? 'zh-Hans' : LANGUAGE;
             //               set_session( 'language', $language );
             Zend_Registry::set('language', $language);
         }
         $translate->addTranslation(SERVER_BASE . LANGUAGES . $language . '.csv', substr($language, 0, 2));
         $locale = new Zend_Locale('en_US');
         Zend_Registry::set('translate', $translate);
     }
 }
Example #28
0
$db_bacula = Zend_Db::factory($config->general->db->adapter, $params);
Zend_Db_Table::setDefaultAdapter($db_bacula);
Zend_Registry::set('db_bacula', $db_bacula);
unset($params);
// setup controller, exceptions/errors handler
$frontController = Zend_Controller_Front::getInstance();
$frontController->setControllerDirectory('../application/controllers');
$frontController->throwExceptions(false);
//$frontController->setParam('useDefaultControllerAlways', true); // handle 404 errors
// translate
//auto scan lang files may be have bug in ZF ? $translate = new Zend_Translate('gettext', '../languages', null, array('scan' => Zend_Translate::LOCALE_DIRECTORY));
$translate = new Zend_Translate('gettext', '../languages/en/webacula_en.mo', 'en');
/*$translate = new Zend_Translate('gettext', '../languages', null, array('scan' => Zend_Translate::LOCALE_DIRECTORY));*/
// additional languages
// see also http://framework.zend.com/manual/en/zend.locale.appendix.html
$translate->addTranslation('../languages/en/webacula_en.mo', 'en_US');
$translate->addTranslation('../languages/de/webacula_de.mo', 'de');
$translate->addTranslation('../languages/fr/webacula_fr.mo', 'fr');
$translate->addTranslation('../languages/ru/webacula_ru.mo', 'ru');
$translate->addTranslation('../languages/ru/webacula_ru.mo', 'ru_RU');
$translate->addTranslation('../languages/pt/webacula_pt_BR.mo', 'pt_BR');
$translate->addTranslation('../languages/it/webacula_it.mo', 'it');
$translate->addTranslation('../languages/es/webacula_es.mo', 'es');
$translate->addTranslation('../languages/cs/webacula_cs.mo', 'cs');
if (isset($config->general->locale)) {
    // locale is user defined
    $locale = new Zend_Locale(trim($config->general->locale));
} else {
    // autodetect locale
    // Search order is: given Locale, HTTP Client, Server Environment, Framework Standard
    try {
Example #29
0
 /**
  * @param $instance
  * @throws \Zend_Exception
  */
 public static function initTranslations($instance)
 {
     $language = "en";
     $locale = $instance->getLanguage();
     if ($locale) {
         $locale = new \Zend_Locale($locale);
         foreach ([(string) $locale, $locale->getLanguage()] as $localeVariant) {
             if (in_array($localeVariant, AdminTool::getLanguages())) {
                 $language = $localeVariant;
                 break;
             }
         }
     }
     //add translations to registry
     $coreLanguageFile = AdminTool::getLanguageFile($language);
     $translator = new \Zend_Translate('Pimcore\\Translate\\Adapter\\Json', $coreLanguageFile, $language);
     $languageFile = AdminTool::getLanguageFile($language);
     $translator->addTranslation($languageFile, $language);
     if (\Zend_Registry::isRegistered("Zend_Locale")) {
         $locale = \Zend_Registry::get("Zend_Locale");
         @$translator->setLocale($locale);
     }
     \Zend_Registry::set("Zend_Translate", $translator);
     if ($instance) {
         $instance->setTranslator($translator);
     }
 }
Example #30
0
 /**
  * @param $instance
  * @throws \Zend_Exception
  */
 public static function initTranslations($instance)
 {
     //add translations to registry
     $coreLanguageFile = AdminTool::getLanguageFile("en");
     $translator = new \Zend_Translate('Pimcore\\Translate\\Adapter\\Json', $coreLanguageFile, 'en');
     $availableLanguages = AdminTool::getLanguages();
     foreach ($availableLanguages as $lang) {
         if ($lang != "en") {
             $languageFile = AdminTool::getLanguageFile($lang);
             $translator->addTranslation($languageFile, $lang);
         }
     }
     if (\Zend_Registry::isRegistered("Zend_Locale")) {
         $locale = \Zend_Registry::get("Zend_Locale");
         @$translator->setLocale($locale);
     }
     \Zend_Registry::set("Zend_Translate", $translator);
     if ($instance) {
         $instance->setTranslator($translator);
     }
 }