Example #1
0
 /**
  * get translation with Zend_Translate_Adapter_Gettext
  *
  * @see Zend_Translate_Adapter_Gettext
  * @param string $file
  * @return array
  */
 protected function _getGettextFileData($file)
 {
     $data = array();
     if (file_exists($file)) {
         $gettextTranslator = new Zend_Translate(array('adapter' => 'Zend_Translate_Adapter_Gettext', 'content' => $file));
         $data = $gettextTranslator->getMessages();
     }
     return $data;
 }
 public function getJsTranslation()
 {
     if (!$this->_jstranslation) {
         try {
             $locale = Mage::app()->getLocale()->getLocaleCode();
             $translator = new Zend_Translate(array('adapter' => 'csv', 'content' => Mage::getBaseDir('locale') . '/' . $locale . '/' . 'Mirasvit_Helpdesk.csv', 'locale' => substr($locale, 0, 2), 'delimiter' => ','));
             $this->_jstranslation = json_encode($translator->getMessages());
         } catch (Exception $e) {
             // If we had unexpected exception (non-standard locale, for example), return empty
             return array();
         }
     }
     return $this->_jstranslation;
 }
 /**
  * Tests getting of all messages
  */
 public function testGettingAllMessages()
 {
     $lang = new Zend_Translate(Zend_Translate::AN_ARRAY, array('msg1' => 'Message 1', 'msg2' => 'Message 2'), 'en');
     $lang->addTranslation(array('msg1' => 'Message 1 (ru)'), 'ru');
     $this->assertEquals(array('msg1' => 'Message 1 (ru)'), $lang->getMessages());
     $this->assertEquals(array('msg1' => 'Message 1', 'msg2' => 'Message 2'), $lang->getMessages('en'));
     $this->assertEquals(array('en' => array('msg1' => 'Message 1', 'msg2' => 'Message 2'), 'ru' => array('msg1' => 'Message 1 (ru)')), $lang->getMessages('all'));
 }
Example #4
0
 /** Try to load current translations */
 protected function _loadTranslations($locale, $module, $adapter)
 {
     $profile = $this->_getProfile();
     $path = $this->_getLocalesPath($locale, $module);
     $content = $path . '/' . $module . '.' . $this->_adapters[$adapter];
     try {
         $translate = new Zend_Translate(array('adapter' => $adapter, 'content' => $content, 'locale' => $locale, 'disableNotices' => true));
     } catch (Exception $e) {
         if (!file_exists($content)) {
             return array();
             // The file will be created later
         }
         throw $e;
         // File exists, but consist from unkown format
     }
     // Translation file can be empty, thus this check
     if ($messageIds = $translate->getMessageIds()) {
         return array_combine($messageIds, $translate->getMessages());
     }
     return array();
 }
Example #5
0
}
// Timezone
date_default_timezone_set($conf->general->timezone);
$locale = $conf->general->locale;
if (!file_exists(APPLICATION_DIRECTORY . "/Joobsbox/Languages/{$locale}")) {
    $locale = "en";
}
try {
    // Translation
    $translate = new Zend_Translate('gettext', APPLICATION_DIRECTORY . '/Joobsbox/Languages/' . $locale . '/LC_MESSAGES/main.mo', $locale, array('disableNotices' => true));
    Zend_Registry::set("Zend_Locale", new Zend_Locale($locale));
} catch (Exception $e) {
    Zend_Registry::set("Zend_Locale", new Zend_Locale("en"));
    $translate = new Zend_Translate('gettext', APPLICATION_DIRECTORY . '/Joobsbox/Languages/en/LC_MESSAGES/main.mo', 'en');
}
Zend_Registry::set("Translation_Hash", $translate->getMessages());
Zend_Registry::set('Zend_Translate', $translate);
// Database parameters
if (file_exists(APPLICATION_DIRECTORY . '/config/db.xml')) {
    try {
        $dbconf = new Zend_Config_Xml(APPLICATION_DIRECTORY . '/config/db.xml', 'zend_db');
        $db = Zend_Db::factory($dbconf->dbadapter, $dbconf);
        Zend_Db_Table_Abstract::setDefaultAdapter($db);
        Zend_Registry::set("db", $db);
        if (strlen($dbconf->start)) {
            $db->query($dbconf->start);
        }
    } catch (Exception $e) {
        @rename(APPLICATION_DIRECTORY . "/config/db.xml", APPLICATION_DIRECTORY . "/config/db.xml.bak");
        throw $e;
        exit;
Example #6
0
 /**
  * Reads a translation file (gettext) and merges it to the messages array
  *
  * @param string $file
  * @param array $messages
  */
 private function mergeTranslationFile($file, &$messages)
 {
     if (file_exists($file)) {
         $translate = new Zend_Translate('gettext', $file, $this->locale);
         $new_messages = $translate->getMessages();
         if (is_array($new_messages)) {
             $messages = array_merge($messages, $new_messages);
         }
     }
 }