Где в Yii2 файлы ошибок 404 и 403(хочется перевести эти страницы)?
Здравствуйте товарищи программисты.
---
Не так страшен код, как его трактуют ))
Подсказку к этому вопросу как ни странно, я нашёл в папке "views/site/"
Файл: error.php
===
Разработчики поняли, что программисты столкнуться с таким вопросом, поэтому оставили подсказки:<?php

use yii\helpers\Html;

/* @var $this yii\web\View */
/* @var $name string */
/* @var $message string */
/* @var $exception Exception */

$this->title = $name;
?>
Из них мы видим, что переменную <?=$name?>
нам даёт <?=$this->title;?>
А свалился этот нейм на наши головы из класса View !
Проведя рефакторинг, я понял, что за <?=$message;?>
Отвечает языковой пакет Yii2/
А именно. /vendor/yiisoft/yii2/messages/ru/
Если конечно вы в конфиге файла main.php указали русский язык. Там их куча, вы можете в этом убедится, да и сам класс показал, что используется модель подставки сообщений, через конструкцию: <?=Yii::t('yii','значение');?>
Вы спросите, а нахера такой геморрой нужен??
Отвечаю, во-первых, это не геморрой, а очень даже классное решение! Убивает сразу двух зайцев наповал!  Мультиязычность - раз, Повторяющиеся элементы - два! Благодаря такому решению не надо ковырять весь код, достаточно заменяющие элементы заменить такой конструкцией, и всё, поменял текст или дизайн кнопки "обновить", сделал это в одном месте, в файле yii.php и всё, дизайн и текст поменялся во всём сайте, а отредактировали один файл!!! Это невероятно удобно. Так и с ошибками и с сообщениями, зачем писать на каждой страничке ручками "ваше сообщение успешно отправлено", если можно прописать значение = перевод. Так вот, в голове кода была ещё одна подсказка /* @var $exception Exception */
и в самом классе ссылка на мануал php7 - php.net/manual/ru/exception.getmessage.php
Таким образом мы имеем:class HttpException extends UserException
{
    /**
     * @var int HTTP status code, such as 403, 404, 500, etc.
     */
    public $statusCode;


    /**
     * Constructor.
     * @param int $status HTTP status code, such as 404, 500, etc.
     * @param string $message error message
     * @param int $code error code
     * @param \Exception $previous The previous exception used for the exception chaining.
     */
    public function __construct($status, $message = null, $code = 0, \Exception $previous = null)
    {
        $this->statusCode = $status;
        parent::__construct($message, $code, $previous);
    }

    /**
     * @return string the user-friendly name of this exception
     */
    public function getName()
    {
        if (isset(Response::$httpStatuses[$this->statusCode])) {
            return Response::$httpStatuses[$this->statusCode];
        } else {
            return 'Error';
        }
    }
}
Ну так, раз мы можем указать код ошибки, public $statusCode;
То можно тупо и условия поставить, например:<?=($exception->statusCode == '404') ? $this->title = "Ошибка 404" : ''; ?>
<?=($exception->statusCode == '403') ? $this->title = "Доступ запрещён" : ''; ?>
<?=($exception->statusCode == '500') ? $this->title = "Внутренняя ошибка сервера" : ''; ?>
А текст ошибки под заголовком редактируется в языковом пакете:/vendor/yiisoft/yii2/messages/ru/yii.php$message<?php
return [
...
'Page not found.' => 'Страница не найдена.',
'You are not allowed to perform this action.' => 'Вам не разрешено производить данное действие.',
'An internal server error occurred.' => 'Возникла внутренняя ошибка сервера.',
...
];
Выводится как <?=Yii::t('yii', 'Page not found.');?> и т д...
Но вам выводить ничего не надо, класс сам определит код ошибки и выведет её текст.
Как заменить заголовок ошибки я уже написал выше.
--
Это был полный разбор страницы ошибок, благодарю всех за внимание. Пока :)
Сам разобрался:
vendor\yiisoft\yii2-gii\Module.phpif (Yii::$app instanceof \yii\web\Application && !$this->checkAccess()) {
            throw new ForbiddenHttpException('You are not allowed to access this page.');
        }