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."]]";
	}
Beispiel #2
0
		$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']);