static function getTranslation($messageKey) { if ($translation=self::translationFromCache($messageKey)) return $translation; $lang=LPC_Language::getCurrent(); $entry=new LPC_I18n_message(); $entries=$entry->search( array('message_key','language'), array($messageKey,$lang->id) ); if (!$entries) $entries=$entry->search( array('message_key','language'), array($messageKey,LPC_language::getDefault()->id) ); if ($entries) { $translation=$entries[0]->getAttr('translation'); self::translationToCache($messageKey,$translation); return $translation; } self::checkReference($messageKey); return "[[".$messageKey."]]"; }
$ref->save(); } else { $ref->setAttrs(array( 'comment'=>$msgData['comment'], 'system'=>$msgData['system'], )); $ref->insertWithId(); } foreach($msgData['translations'] as $trnData) { $msg=new LPC_I18n_message(); $msgs=$msg->search( array( 'language', 'message_key', ), array( $langMapping[$trnData['language']], $ref->id ) ); if ($msgs) { $msg=$msgs[0]; $msg->load(); } else { $msg=new LPC_I18n_message(); $msg->setAttrs(array( 'language'=>$langMapping[$trnData['language']], 'message_key'=>$ref->id, )); } $msg->setAttr('translation',$trnData['translation']);