public static function setMessage(Zend_Translate $message) { if (!$message->getAdapter() instanceof Core_Translate_Message) { throw new InvalidArgumentException('O adapter dever ser Core_Translate_Message'); } static::set(static::MESSAGE, $message); }
function fileToDbAction() { $translator = new Zend_Translate('ini', APPLICATION_PATH . '/languages/tran_en.ini', 'en'); $data = $translator->getAdapter()->getDataList(); foreach ($data['en'] as $key => $value) { echo " {$key} => {$value}"; $ln = new Sys_Model_Translation(); $ln->setKey($key); $ln->setEn($value); $ln->save(); } /* $translator = new Zend_Translate('ini', APPLICATION_PATH . '/languages/tran_th.ini', 'en'); $data = ($translator->getAdapter()->getDataList()); foreach ($data['en'] as $key => $value){ echo " $key => $value"; $ln = new Sys_Model_Translation(); $ln->setKey($key); $ln->setLanguage('EN'); $ln->setValue($value); $ln->save(); } */ $this->_helper->redirector('index'); $this->render('blank', null, true); }
public function setIniFilenameScanTranslator($path, $defaultLanguage, $language = null) { require_once 'Zend/Translate.php'; $translate = new Zend_Translate(Zend_Translate::AN_INI, $path, $defaultLanguage, array('scan' => Zend_Translate::LOCALE_FILENAME)); if ($translate->isAvailable($language)) { $translate->setLocale($language); } $this->setTranslator($translate->getAdapter()); }
/** * Returns a translate adaptor * * @return \Zend_Translate_Adapter */ protected function getTranslateAdapter() { if ($this->translate instanceof \Zend_Translate) { return $this->translate->getAdapter(); } if (!$this->translate instanceof \Zend_Translate_Adapter) { $this->translate = new \MUtil_Translate_Adapter_Potemkin(); } return $this->translate; }
/** * Set a static reference to a global Zend_Translate object * usable through self::_() function * If called more then one time, from the second call * the $translator object will be appended to the previous one * @param Zend_Translate $translator */ public static function initTranslator(Zend_Translate $translator) { //if ( true ) self::$_stringsWriter = new StringsWriter(); if (is_null(self::$_translator)) { self::$_translator = $translator; X_Debug::i("Translator enabled"); } else { self::$_translator->getAdapter()->addTranslation($translator); } }
public function testSetAdapter() { $lang = new Zend_Translate(Zend_Translate::AN_GETTEXT, dirname(__FILE__) . '/Translate/_files/testmsg_en.mo', 'en'); $lang->setAdapter(Zend_Translate::AN_ARRAY, array()); $this->assertTrue($lang->getAdapter() instanceof Zend_Translate_Adapter_Array); try { $lang->xxxFunction(); $this->fail("exception expected"); } catch (Zend_Translate_Exception $e) { // success } }
/** * Sets a translation Adapter for translation * * @param Zend_Translate|Zend_Translate_Adapter $translate * @return Zend_View_Helper_HeadTitle */ public function setTranslator($translate) { if ($translate instanceof Zend_Translate_Adapter) { $this->_translator = $translate; } elseif ($translate instanceof Zend_Translate) { $this->_translator = $translate->getAdapter(); } else { require_once 'Zend/View/Exception.php'; throw new Zend_View_Exception("You must set an instance of Zend_Translate or Zend_Translate_Adapter"); } return $this; }
/** * Sets a translation Adapter for translation * * @param Zend_Translate|Zend_Translate_Adapter $translate * @return Zend_View_Helper_HeadTitle */ public function setTranslator($translate) { if ($translate instanceof Zend_Translate_Adapter) { $this->_translator = $translate; } elseif ($translate instanceof Zend_Translate) { $this->_translator = $translate->getAdapter(); } else { $e = new Zend_View_Exception("You must set an instance of Zend_Translate or Zend_Translate_Adapter"); $e->setView($this->view); throw $e; } return $this; }
/** * Set translator * * @param Zend_Translate|Zend_Translate_Adapter|null $translator * @return Zend_View_Helper_FormElement */ public function setTranslator($translator = null) { if (null === $translator) { $this->_translator = null; } elseif ($translator instanceof Zend_Translate_Adapter) { $this->_translator = $translator; } elseif ($translator instanceof Zend_Translate) { $this->_translator = $translator->getAdapter(); } else { $e = new Zend_View_Exception('Invalid translator specified'); $e->setView($this->view); throw $e; } return $this; }
/** * 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); } } } }
/** * Function that checks the setup of this class/traight * * This function is not needed if the variables have been defined correctly in the * source for this object and theose variables have been applied. * * return @void */ protected function initTranslateable() { if ($this->translateAdapter instanceof \Zend_Translate_Adapter) { // OK return; } if ($this->translate instanceof \Zend_Translate) { // Just one step $this->translateAdapter = $this->translate->getAdapter(); return; } if ($this->translate instanceof \Zend_Translate_Adapter) { // It does happen and if it is all we have $this->translateAdapter = $this->translate; return; } // Make sure there always is an adapter, even if it is fake. $this->translateAdapter = new \MUtil_Translate_Adapter_Potemkin(); }
/** * Setup * * @return void */ public function setup(Zend_Config $config) { // Setup Cache if ($config->get('cache')) { $cache = Zym_Cache::factory('Core'); Zend_Translate::setCache($cache); } $adapter = $config->get('adapter'); $data = $this->_parseDataPath($config->get('data')); $locale = $config->get('locale'); $options = $this->_parseOptions($config->get('options')->toArray()); $translate = new Zend_Translate($adapter, $data, null, $options); // Weird Zend_Translate issues // We cannot set a locale in the constructor $translate->getAdapter()->setLocale($locale); if ((bool) $config->get('registry')->get('enabled')) { /** * @see Zend_Registry */ require_once 'Zend/Registry.php'; Zend_Registry::set($config->get('registry')->get('key'), $translate); } }
/** * init translation */ protected function _initTranslation() { try { // init config $this->bootstrap('config'); // init cache $this->bootstrap('cache'); // init session $this->bootstrap('session'); // get config $config = Knowledgeroot_Registry::get('config'); // get cache $cache = Knowledgeroot_Registry::get('cache'); // get session $session = new Zend_Session_Namespace('user'); // check if session has a locale $locale = null; if (!empty($session->language)) { $locale = $session->language; } else { $locale = $config->base->locale; } // load translations $translate = new Knowledgeroot_Translation(); $translate->loadTranslations($config->translation->folder); $translate->setLocale($locale); // save in registry Knowledgeroot_Registry::set('translate', $translate); // create zend translate object $zTranslate = new Zend_Translate(array('adapter' => 'gettext', 'content' => $translate->getLocaleFile(), 'locale' => $translate->getLocale())); foreach ($translate->getTranslations() as $key => $value) { $zTranslate->getAdapter()->addTranslation(array('adapter' => 'gettext', 'content' => $value, 'locale' => $key, 'clear' => false)); } // set default locale $zTranslate->getAdapter()->setLocale($locale); // set cache $zTranslate->setCache($cache); // save in Zend_Translate in registry Knowledgeroot_Registry::set('Zend_Translate', $zTranslate); } catch (Zend_Exception $e) { echo $e->getMessage(); die('no translation'); } }
/** * Sets a translation Adapter for translation * * @param Zend_Translate|Zend_Translate_Adapter $translate Instance of Zend_Translate * @throws Zend_View_Exception When no or a false instance was set * @return Zend_View_Helper_Translate */ public function setTranslator($translate) { if ($translate instanceof Zend_Translate_Adapter) { $this->_translator = $translate; } else { if ($translate instanceof Zend_Translate) { $this->_translator = $translate->getAdapter(); } else { require_once 'Zend/View/Exception.php'; $e = new Zend_View_Exception('You must set an instance of Zend_Translate or Zend_Translate_Adapter'); $e->setView($this->view); throw $e; } } return $this; }
/** * Set translation object * * @param Zend_Translate|Zend\Translate\Adapter\Adapter|null $translator * @return Zend\Filter\InputFilter */ public function setTranslator($translator = null) { if (null === $translator || $translator instanceof TranslationAdapter) { $this->_translator = $translator; } elseif ($translator instanceof Translator) { $this->_translator = $translator->getAdapter(); } else { throw new Validator\Exception('Invalid translator specified'); } return $this; }
/** * Set translator object for localization * * @param Zend_Translate|null $translator * @return Zend_Form_Element */ public function setTranslator($translator = null) { if (null === $translator) { $this->_translator = null; } elseif ($translator instanceof Zend_Translate_Adapter) { $this->_translator = $translator; } elseif ($translator instanceof Zend_Translate) { $this->_translator = $translator->getAdapter(); } else { throw new Zend_Form_Exception('Invalid translator specified'); } return $this; }
/** * Set global default translator object * * @param Zend_Translate|Zend_Translate_Adapter|null $translator * @return void */ public static function setDefaultTranslator($translator = null) { if (null === $translator) { self::$_translatorDefault = null; } elseif ($translator instanceof Zend_Translate_Adapter) { self::$_translatorDefault = $translator; } elseif ($translator instanceof Zend_Translate) { self::$_translatorDefault = $translator->getAdapter(); } else { //require_once 'Zend/Form/Exception.php'; throw new Zend_Form_Exception('Invalid translator specified'); } }
public function _($text, $locale = null) { return $this->translate->getAdapter()->_($text, $locale); }
public function saveTranslateAction() { $modelName = $this->_request->getParam("model", 'Eau_Model_Company'); $translator = new Zend_Translate('ini', DATA_PATH . '/languages/tran_en.ini', 'en'); $translator->addTranslation(DATA_PATH . '/languages/tran_th.ini', 'th'); $dataEn = $translator->getAdapter()->getMessages('en'); $dataTh = $translator->getAdapter()->getMessages('th'); $dataPost = array(); foreach ($_POST as $key => $value) { list($type, $field, $ln) = explode("_", $key); if ($type == 'label') { $dataPost[$field]['key'] = $value; } elseif ($type == 'msg') { $dataPost[$field]['msg'][$ln] = $value; } } foreach ($dataPost as $field => $data) { $key = $data['key']; $en = $data['msg']['english']; $th = $data['msg']['thai']; $dataEn[$key] = $en; $dataTh[$key] = $th; } App_Util::writTranslateMessages('en', $dataEn); App_Util::writTranslateMessages('th', $dataTh); $this->_helper->redirector('translate', null, null, array('model' => $modelName)); $this->render('blank', null, true); //$this->_helper->redirector('index'); $this->render('blank', null, true); }
/** * Set translation object * * @param Zend_Translate|Zend_Translate_Adapter|null $translator * @return Zend_Filter_Input */ public function setTranslator($translator = null) { if (null === $translator || $translator instanceof Zend_Translate_Adapter) { $this->_translator = $translator; } elseif ($translator instanceof Zend_Translate) { $this->_translator = $translator->getAdapter(); } else { require_once PHP_LIBRARY_PATH . 'Zend/Validate/Exception.php'; throw new Zend_Validate_Exception('Invalid translator specified'); } return $this; }
/** * format interval (use NumberFormatter if intl extension is found) * * @param integer $number * @param Zend_Translate $translation * @param NumberFormatter|null $numberFormatter * @return string */ protected function _formatInterval($number, $translation, $numberFormatter = null) { if ($numberFormatter === null && extension_loaded('intl')) { $locale = new Zend_Locale($translation->getAdapter()->getLocale()); $numberFormatter = new NumberFormatter((string) $locale, NumberFormatter::ORDINAL); } $result = $numberFormatter ? $numberFormatter->format($number) : $this->_getIntervalTranslation($number, $translation); return $result; }
/** * http://stackoverflow.com/questions/3479336/why-is-there-no-translation-for-the-language-en-us * http://stackoverflow.com/questions/1875851/application-wide-locales-with-gettext-and-zend-translate * Enter description here ... * @throws Exception */ public function initLanguage() { $config = Zend_Registry::get('config'); try { if (!Zend_Session::isStarted()) { Zend_Session::start(); } $languageSession = new Zend_Session_Namespace('language'); } catch (Zend_Session_Exception $e) { } $lang = $this->_request->getParam('lang'); if ($lang == null) { if (!isset($languageSession->current_lang)) { $lang = $config['site']['language']; if ($languageSession->isLocked()) { $languageSession->unlock(); } $languageSession->current_lang = $lang; } else { $lang = $languageSession->current_lang; } } else { if ($languageSession->isLocked()) { $languageSession->unlock(); } $languageSession->current_lang = $lang; } $languageSession->setExpirationSeconds(1 * 60 * 60 * 12); $languageSession->lock(); $this->view->lang = $lang; Zend_Registry::set('lang', $lang); $options = array('separator' => '='); try { $p_module = $this->_request->getModuleName(); // get language file $languageDir = PATH_PROJECT . $config['site']['language_dir'] . $lang . DIRECTORY_SEPARATOR; $languageModuleDir = $languageDir . $p_module . DIRECTORY_SEPARATOR; $translate = new Zend_Translate('ini', $languageDir . "{$lang}.ini", "{$lang}", $options); $translate->getAdapter()->addTranslation($languageModuleDir . "module.lang.ini", "{$lang}", $options); //store translate object to the registry Zend_Registry::set('Zend_Translate', $translate); $this->view->translate = $translate; } catch (Exception $e) { throw new Exception($e->getMessage()); } }
/** * Sets the translator * * @param \Zend_Translate $translate * @return \MUtil_Controller_Action */ public function setTranslate(\Zend_Translate $translate) { $this->translate = $translate; $this->translateAdapter = $translate->getAdapter(); return $this; }
public function testTestingCacheHandling() { require_once 'Zend/Cache.php'; $cache = Zend_Cache::factory('Core', 'File', array('lifetime' => 120, 'automatic_serialization' => true), array('cache_dir' => dirname(__FILE__) . '/_files/')); Zend_Translate::setCache($cache); $cache = Zend_Translate::getCache(); $this->assertTrue($cache instanceof Zend_Cache_Core); $this->assertTrue(Zend_Translate::hasCache()); $lang = new Zend_Translate(Zend_Translate::AN_ARRAY, array('msg1' => 'Message 1 (en)'), 'en'); $adapter = $lang->getAdapter(); $this->assertTrue($adapter instanceof Zend_Translate_Adapter_Array); $adaptercache = $adapter->getCache(); $this->assertTrue($adaptercache instanceof Zend_Cache_Core); Zend_Translate::clearCache(); $this->assertTrue(Zend_Translate::hasCache()); Zend_Translate::removeCache(); $this->assertFalse(Zend_Translate::hasCache()); }
public function testSetAdapter() { $lang = new Zend_Translate(Zend_Translate::AN_GETTEXT, dirname(__FILE__) . '/Translate/_files/testmsg_en.mo', 'en'); $lang->setAdapter(Zend_Translate::AN_ARRAY, array()); $this->assertTrue($lang->getAdapter() instanceof Zend_Translate_Adapter_Array); }
$language = $defaultLanguage; $translate = new Zend_Translate('tmx', strval($config->framework->language->dir) . 'common.xml', $language); } // Change language according to browsers if ($automatic) { $acceptLanguage = explode(',', $_SERVER["HTTP_ACCEPT_LANGUAGE"]); $acceptLanguage = $acceptLanguage[0]; $language = explode('-', $acceptLanguage); $language = strtolower($language[0]); if (!in_array($language, $translate->getAdapter()->getList())) { $language = $defaultLanguage; } $translate = new Zend_Translate('tmx', strval($config->framework->language->dir) . 'common.xml', $language); } //load language files $translate->getAdapter()->addTranslation(strval($config->framework->language->dir) . 'admin.xml', $language); $translate->getAdapter()->addTranslation(strval($config->framework->language->dir) . 'campaign.xml', $language); $translate->getAdapter()->addTranslation(strval($config->framework->language->dir) . 'campaignemail.xml', $language); $translate->getAdapter()->addTranslation(strval($config->framework->language->dir) . 'campaigninformation.xml', $language); $translate->getAdapter()->addTranslation(strval($config->framework->language->dir) . 'campaigninvitation.xml', $language); $translate->getAdapter()->addTranslation(strval($config->framework->language->dir) . 'common.xml', $language); $translate->getAdapter()->addTranslation(strval($config->framework->language->dir) . 'commonemail.xml', $language); $translate->getAdapter()->addTranslation(strval($config->framework->language->dir) . 'consumer.xml', $language); $translate->getAdapter()->addTranslation(strval($config->framework->language->dir) . 'conversation.xml', $language); $translate->getAdapter()->addTranslation(strval($config->framework->language->dir) . 'gift.xml', $language); $translate->getAdapter()->addTranslation(strval($config->framework->language->dir) . 'history.xml', $language); $translate->getAdapter()->addTranslation(strval($config->framework->language->dir) . 'home.xml', $language); $translate->getAdapter()->addTranslation(strval($config->framework->language->dir) . 'login.xml', $language); $translate->getAdapter()->addTranslation(strval($config->framework->language->dir) . 'point.xml', $language); $translate->getAdapter()->addTranslation(strval($config->framework->language->dir) . 'profilesurvey.xml', $language); $translate->getAdapter()->addTranslation(strval($config->framework->language->dir) . 'register.xml', $language);
/** * Set default translation object for all validate objects * * @param Zend_Translate|Zend_Translate_Adapter|null $translator * @return void */ public static function setDefaultTranslator($translator = null) { if (null === $translator || $translator instanceof Zend_Translate_Adapter) { self::$_defaultTranslator = $translator; } elseif ($translator instanceof Zend_Translate) { self::$_defaultTranslator = $translator->getAdapter(); } else { #require_once 'Zend/Validate/Exception.php'; throw new Zend_Validate_Exception('Invalid translator specified'); } }
/** * Set default translation object for all validate objects * * @param Zend_Translate|\Zend\Translate\Adapter|null $translator * @return void */ public static function setDefaultTranslator($translator = null) { if (null === $translator || $translator instanceof Translator\Adapter) { self::$_defaultTranslator = $translator; } elseif ($translator instanceof Translator\Translator) { self::$_defaultTranslator = $translator->getAdapter(); } else { throw new Exception('Invalid translator specified'); } }
/** * Set translator object for localization * * @param Zend_Translate|null $translator * @return Zend_File_Transfer_Abstract * @throws Zend_File_Transfer_Exception */ public function setTranslator($translator = null) { if (null === $translator) { $this->_translator = null; } elseif ($translator instanceof Zend_Translate_Adapter) { $this->_translator = $translator; } elseif ($translator instanceof Zend_Translate) { $this->_translator = $translator->getAdapter(); } else { // require_once 'Zend/File/Transfer/Exception.php'; throw new Zend_File_Transfer_Exception('Invalid translator specified'); } return $this; }
/** * gets translated value * * NOTE: This is needed for values like Yes/No, Datetimes, etc. * * @param string $_field * @param mixed $_value * @param Zend_Translate $_translation * @param string $_timezone * @return string */ public static function getTranslatedValue($_field, $_value, $_translation, $_timezone) { if ($_value instanceof Tinebase_DateTime) { $locale = new Zend_Locale($_translation->getAdapter()->getLocale()); return Tinebase_Translation::dateToStringInTzAndLocaleFormat($_value, $_timezone, $locale, 'datetime', true); } switch ($_field) { case 'transp': return $_value && $_value == Calendar_Model_Event::TRANSP_TRANSP ? $_translation->_('No') : $_translation->_('Yes'); case 'organizer': if (!$_value instanceof Addressbook_Model_Contact) { $organizer = Addressbook_Controller_Contact::getInstance()->getMultiple($_value, TRUE)->getFirstRecord(); } return $organizer instanceof Addressbook_Model_Contact ? $organizer->n_fileas : ''; case 'rrule': if ($_value) { $rrule = $_value instanceof Calendar_Model_Rrule ? $_value : new Calendar_Model_Rrule($_value); return $rrule->getTranslatedRule($_translation); } default: return $_value; } }