예제 #1
0
 public function jsonTranslationsSystemAction()
 {
     $this->getResponse()->setHeader("Content-Type", "text/javascript", true);
     $language = $this->_getParam("language");
     $languageFile = Pimcore_Tool_Admin::getLanguageFile($language);
     if (!is_file($languageFile)) {
         $languageFile = Pimcore_Tool_Admin::getLanguageFile("en");
     }
     $row = 1;
     $handle = fopen($languageFile, "r");
     while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
         $translations[$data[0]] = $data[1];
     }
     fclose($handle);
     $broker = Pimcore_API_Plugin_Broker::getInstance();
     $pluginTranslations = $broker->getTranslations($language);
     //$pluginTranslations = $this->getApiPluginBroker()->getTranslations($language);
     $translations = array_merge($pluginTranslations, $translations);
     $this->view->translations = $translations;
 }
예제 #2
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);
     }
 }