public function translate($key) { $translated = $key; if ($key) { $locale = $_REQUEST["systemLocale"]; if ($locale) { try { $translation = Translation_Admin::getByKey($key); } catch (Exception $e) { } if ($translation instanceof Translation_Admin) { if ($translation->getTranslation($locale)) { $translated = $translation->getTranslation($locale); } else { if (PIMCORE_DEBUG) { $translated = "+" . $key . "+"; } } } else { $t = new Translation_Admin(); $availableLanguages = Pimcore_Tool_Admin::getLanguages(); $t->setKey($key); $t->setDate(time()); foreach ($availableLanguages as $lang) { $t->addTranslation($lang, ""); } try { $t->save(); } catch (Exception $e) { Logger::debug(get_class($this), ": could not save new translation for key [ {$key} ]"); } } } } return $translated; }
public function addAdminTranslationKeysAction() { $this->removeViewRenderer(); $keys = $this->_getParam("keys"); if ($keys) { $availableLanguages = Pimcore_Tool_Admin::getLanguages(); $data = Zend_Json_Decoder::decode($keys); foreach ($data as $translationData) { $t = null; // reset try { $t = Translation_Admin::getByKey($translationData); } catch (Exception $e) { Logger::log($e); } if (!$t instanceof Translation_Admin) { $t = new Translation_Admin(); $t->setKey($translationData); $t->setDate(time()); foreach ($availableLanguages as $lang) { $t->addTranslation($lang, ""); } try { $t->save(); } catch (Exception $e) { Logger::log($e); } } } } }