Ejemplo n.º 1
0
 /**
  * Adds a text message to the session message stream, translated into the currently selected language.
  *
  * @param string $type The type of message, indicating how it will be styled when outputted.  Should be set to "success", "danger", "warning", or "info".
  * @param string $message The message id for the message to be added to the message stream.
  * @param array $placeholders An optional hash of placeholder names => placeholder values to substitute into the translated message.
  * @return MessageStream this MessageStream object.
  */
 public function addMessageTranslated($type, $message_id, $placeholders = [])
 {
     if (!static::$_message_translator) {
         throw new \Exception("No translator has been set!  Please call MessageStream::setTranslator first.");
     }
     $message = static::$_message_translator->translate($message_id, $placeholders);
     return $this->addMessage($type, $message);
 }
Ejemplo n.º 2
0
 private function transformValidator($field_name, $validator_name, $validator)
 {
     $params = [];
     // Message
     if (isset($validator['message'])) {
         $validator = array_merge(["self" => $field_name], $validator);
         $params["message"] = $this->_translator->translate($validator['message'], $validator);
     }
     $transformedValidatorJson = [];
     switch ($validator_name) {
         // Required validator
         case "required":
             $transformedValidatorJson['notEmpty'] = $params;
             break;
         case "length":
             if (isset($validator['min'])) {
                 $params['min'] = $validator['min'];
             }
             if (isset($validator['max'])) {
                 $params['max'] = $validator['max'];
             }
             $transformedValidatorJson['stringLength'] = $params;
             break;
         case "integer":
             $transformedValidatorJson['integer'] = $params;
             break;
         case "numeric":
             $transformedValidatorJson['numeric'] = $params;
             break;
         case "range":
             if (isset($validator['min'])) {
                 $params['min'] = $validator['min'];
             }
             if (isset($validator['max'])) {
                 $params['max'] = $validator['max'];
             }
             if (isset($validator['min']) && isset($validator['max'])) {
                 $transformedValidatorJson['between'] = $params;
             } else {
                 if (isset($validator['min'])) {
                     $transformedValidatorJson['greaterThan'] = $params;
                 } else {
                     if (isset($validator['max'])) {
                         $transformedValidatorJson['lessThan'] = $params;
                     }
                 }
             }
             break;
         case "array":
             if (isset($validator['min'])) {
                 $params['min'] = $validator['min'];
             }
             if (isset($validator['max'])) {
                 $params['max'] = $validator['max'];
             }
             $transformedValidatorJson['choice'] = $params;
             break;
         case "email":
             $transformedValidatorJson['emailAddress'] = $params;
             break;
         case "matches":
             if (isset($validator['field'])) {
                 $params['field'] = $validator['field'];
             }
             $transformedValidatorJson['identical'] = $params;
             break;
         case "not_matches":
             if (isset($validator['field'])) {
                 $params['field'] = $validator['field'];
             }
             $transformedValidatorJson['different'] = $params;
             break;
         case "member_of":
             if (isset($validator['values'])) {
                 $params['regexp'] = "^" . implode("|", $validator['values']) . "\$";
             }
             $transformedValidatorJson['regexp'] = $params;
             break;
         case "not_member_of":
             if (isset($validator['values'])) {
                 $params['regexp'] = "^(?!" . implode("|", $validator['values']) . "\$).*\$";
             }
             $transformedValidatorJson['regexp'] = $params;
             break;
         default:
             break;
     }
     return $transformedValidatorJson;
 }
Ejemplo n.º 3
0
 public function testFallsBackToLanguageIfTranslationForSpecifiedLanguageIsNotAvailable()
 {
     $messages = new ArrayMessageBundle(['en' => ['one' => 'one']]);
     $translator = new MessageTranslator(Locale::parse('en'), $messages);
     $this->assertEquals('one', $translator->translate('one', [], Locale::parse('es')));
 }
Ejemplo n.º 4
0
 /**
  * Adds a text message to the session message stream, translated into the currently selected language.
  *
  * @param string $type The type of message, indicating how it will be styled when outputted.  Should be set to "success", "danger", "warning", or "info".
  * @param string $message The message id for the message to be added to the message stream.
  * @param array $placeholders An optional hash of placeholder names => placeholder values to substitute into the translated message.
  * @return MessageStream this MessageStream object.
  */
 public function addMessageTranslated($type, $message_id, $placeholders = [])
 {
     $message = $this->_message_translator->translate($message_id, $placeholders);
     return $this->addMessage($type, $message);
 }