Как сделать свои placeholders, например: Поле \"__FIELDS__\" должно иметь как минимум __COUNT__ __WORD__. Я делал таким образом: PHP: class DecodingMsg extends \Core { protected $CodeMap=[ '1'=>"Пожалуйста, заполните все поля.", '2'=>"Неверная электронная почта.", '3'=>"Поле \"__FIELDS__\" должно иметь как минимум __COUNT__ __WORD__.", '4'=>'TestMsg', '5'=>'Вы успешно создали новую учетную запись!', '6'=>'Такой логин уже занят.', '7'=>'Такая электронная почта уже используется.', '8'=>'Неверный логин или пароль.', '9'=> 'Вы успешно авторизировались! <a href="/" style="color:#bbbbbb">Продолжить.</a>', 'A1'=>'Error Authorization. Please report this error to administrations. (Code: #A1)', 'A2'=>'Error Authorization. Please report this error to administrations. (Code: #A2)', ]; private function DeclinationNumerals($number, $after) { $cases = [2, 0, 1, 1, 1, 2]; return $after[ ($number%100>4 && $number%100<20)? 2: $cases[min($number%10, 5)] ]; } private function GetNameInput($input, $capitalLetter=0) { $input=explode('/', $input)[1]; if( $input == 'Login' ) { if( $capitalLetter==0) return 'логин'; if( $capitalLetter==1) return 'Логин'; } if( $input == 'Email' ) { if( $capitalLetter==0) return 'электронная почта'; if( $capitalLetter==1) return 'Электронная почта'; } if( $input == 'Password' ) { if( $capitalLetter==0) return 'пароль'; if( $capitalLetter==1) return 'Пароль'; } if( $input == 'rPassword' ) { if( $capitalLetter==0) return 'повторите пароль'; if( $capitalLetter==1) return 'Повторите пароль'; } } private function Replace($str, $error) { if( strripos($str, '__FIELDS__') ) { $str=str_replace('__FIELDS__', $this->GetNameInput($error), $str); } if( strripos($str, '__COUNT__') ) { $str=str_replace('__COUNT__', explode('/', $error)[2], $str); } if( strripos($str, '__WORD__') ) { $str=str_replace('__WORD__', $this->DeclinationNumerals(explode('/', $error)[2], [ 'символ', 'символа', 'символов' ]) , $str); } return $str; } public function Msg($error) { if( explode('/', $error)[1] ) { return $this->Replace($this->CodeMap[explode('/', $error)[0]], $error); } else return $this->CodeMap[$error]; } } Возможно это не правильное решение... echo (new DecodingMsg)->Msg('3/4/8');