コード例 #1
0
ファイル: TranslateAdmin.php プロジェクト: ngocanh/pimcore
 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;
 }
コード例 #2
0
 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);
                 }
             }
         }
     }
 }