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); }
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; } }
/** * 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; }
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); }
/** @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); }
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(); } }
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); }
/** 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); } } }
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); }
/** * 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); }
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); }
/** * (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; }
/** * 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; }
/** * 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); } } } }
/** * 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'); }
/** * 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); }
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()); } } } }
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')); }
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')); }
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); } }
/** * 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); } }
$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 {
/** * @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); } }
/** * @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); } }