Иногда нужно перевести что-то стандартное в Laravel. Например, сообщения валидации, авторизации или завести свои шаблоны сообщений.

Создаем структуру

Для автоматического создание структуры есть команда (команда скопирует встроенные сообщения для en локализации):

1
php artisan lang:publish

Будут созданы следующие файлы:

  • auth.php - сообщения для аутентификации и авторизации;
  • pagination.php - тексты для кнопок/ссылок пагинации;
  • passwords.php - сообщения для процесса сброса пароля;
  • validation.php - сообщения дл встроенных валидаций.

Для локализации на свой язык нужно либо скопировать папке en в папку с кодом своего языка, либо создать папку с кодом своего языка и создать “соответствующие” файлы с заполнением только нужных сообщения.

Так же сработает если создать папку для своего языка в /resources/lang/[lang_code] руками.

Переключаем язык приложения

Язык приложения можно задать через переменную окружения конфиг файл /config/app.php по ключу locale в нем или вызвав код:

1
2
3
use Illuminate\Support\Facades\App;

App::setLocale($locale);

При этом в конфиг файле можно привязаться к переменной окружения, а вариант с php кодом позволит “менять” локализаци в зависимости от путей роутинга или скажем middleware на сайте.