messages = $this->createMessages($options['element']); } public function isTranslated($messageId, $original = false, $locale = null) { return array_key_exists($messageId, $this->messages); } public function translate($messageId, $locale = null) { if (array_key_exists($messageId, $this->messages)) { return $this->messages[$messageId]; } return $messageId; } protected function createMessages($element) { $label = $element->getLabel() ?: $element->getName(); return array( Zend_Validate_NotEmpty::IS_EMPTY => sprintf(t('%s is required and must not be empty'), $label), Zend_Validate_File_MimeType::FALSE_TYPE => sprintf( t('%s (%%value%%) has a false MIME type of "%%type%%"'), $label ), Zend_Validate_File_MimeType::NOT_DETECTED => sprintf(t('%s (%%value%%) has no MIME type'), $label), WritablePathValidator::NOT_WRITABLE => sprintf(t('%s is not writable', 'config.path'), $label), WritablePathValidator::DOES_NOT_EXIST => sprintf(t('%s does not exist', 'config.path'), $label), ReadablePathValidator::NOT_READABLE => sprintf(t('%s is not readable', 'config.path'), $label), DateTimeValidator::INVALID_DATETIME_FORMAT => sprintf( t('%s not in the expected format: %%value%%'), $label ) ); } protected function _loadTranslationData($data, $locale, array $options = array()) { // nonsense, required as being abstract otherwise... } public function toString() { return 'ErrorLabeller'; // nonsense, required as being abstract otherwise... } }