Пример #1
0
 /**
  * Generating all the error messages
  * @param   Object \Ilch\Translator $translator The translator instance
  * @returns Array  An array with translated error messages
  */
 public function getErrors(\Ilch\Translator $translator)
 {
     if (empty($this->errors)) {
         return null;
     }
     $errorMessages = [];
     $validationErrors = [];
     foreach ($this->errors as $errors) {
         if (!$this->breakChain) {
             foreach ($errors as $error) {
                 $validationErrors[] = $error;
             }
         } else {
             $validationErrors[] = $errors;
         }
     }
     foreach ($validationErrors as $error) {
         $params = [];
         foreach ($error->getParams() as $param) {
             if ($param['translate'] === true) {
                 $params[] = $translator->trans($param['value']);
             } else {
                 $params[] = $param['value'];
             }
         }
         $field = isset(self::$customFieldAliases[$error->getField()]) ? self::$customFieldAliases[$error->getField()] : $error->getField();
         $args = [$error->getKey(), $translator->trans($field)];
         $args = array_merge($args, $params);
         $errorMessages[] = call_user_func_array([$translator, 'trans'], $args);
     }
     return $errorMessages;
 }
Пример #2
0
 /**
  * Tests if the Translator replaces the placeholder withing the translated text
  * with multiple replacements.
  */
 public function testTransMultiplePlaceholder()
 {
     $translator = new Translator('en_EN');
     $translator->load(__DIR__ . '/_files');
     $this->assertEquals('Welcome, Hans, ur last login was yesterday', $translator->trans('welcomeUserExtended', 'Hans', 'yesterday'), 'The text wasnt returned with the placeholder.');
 }