Example #1
0
 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);
 }
Example #3
0
 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;
 }
Example #5
0
 /**
  * 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
     }
 }
Example #7
0
 /**
  * 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;
 }
Example #8
0
 /**
  * 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;
 }
Example #9
0
 /**
  * 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;
 }
Example #10
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);
             }
         }
     }
 }
 /**
  * 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();
 }
Example #12
0
 /**
  * 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);
     }
 }
Example #13
0
 /**
  * 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');
     }
 }
Example #14
0
 /**
  * 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;
 }
Example #15
0
 /**
  * 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;
 }
Example #16
0
 /**
  * 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;
 }
Example #17
0
 /**
  * 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);
 }
Example #20
0
 /**
  * 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;
 }
Example #22
0
 /**
  * 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());
     }
 }
Example #23
0
 /**
  * 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);
 }
Example #26
0
     $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);
Example #27
0
 /**
  * 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');
     }
 }
Example #28
0
 /**
  * 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;
     }
 }