Пример #1
0
 public function jsonTranslationsSystemAction()
 {
     $this->getResponse()->setHeader("Content-Type", "text/javascript", true);
     $language = $this->getParam("language");
     $languageFile = Tool\Admin::getLanguageFile($language);
     if (!is_file($languageFile)) {
         $languageFile = Tool\Admin::getLanguageFile("en");
     }
     $row = 1;
     $handle = fopen($languageFile, "r");
     while (($data = fgetcsv($handle, 0, ",")) !== 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 function jsonTranslationsSystemAction()
 {
     $this->getResponse()->setHeader("Content-Type", "text/javascript", true);
     $language = $this->getParam("language");
     $languageFiles = [$language => Tool\Admin::getLanguageFile($language), "en" => Tool\Admin::getLanguageFile("en")];
     $translations = [];
     foreach ($languageFiles as $langKey => $languageFile) {
         if (file_exists($languageFile)) {
             $rawTranslations = json_decode(file_get_contents($languageFile), true);
             foreach ($rawTranslations as $entry) {
                 if (!isset($translations[$entry["term"]])) {
                     $translations[$entry["term"]] = $entry["definition"];
                 }
             }
         }
     }
     $broker = \Pimcore\API\Plugin\Broker::getInstance();
     $pluginTranslations = $broker->getTranslations($language);
     $translations = array_merge($pluginTranslations, $translations);
     $this->view->translations = $translations;
 }
Пример #3
0
 /**
  * @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);
     }
 }
Пример #4
0
 /**
  * @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);
     }
 }