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; }
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; }
/** * @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); } }
/** * @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); } }