Смена локали в контроллере в Laravel
Можно сменить локаль прямо для
заданного действия контроллера.
Это делается с помощью специального
метода App::setLocale.
Давайте посмотрим на практике. Пусть у нас есть следующий контроллер:
<?php
use Illuminate\Support\Facades\App;
class TestController extends Controller
{
public function index()
{
return view('test.index');
}
}
?>
Установим для нашего действия контроллера другую локаль:
<?php
use Illuminate\Support\Facades\App;
class TestController extends Controller
{
public function index()
{
App::setLocale('ru'); // switch locale
return view('test.index');
}
}
?>
В действии контроллера установите
локаль ru через
App::setLocale и верните
представление.
Смените локаль на en
в том же действии и убедитесь,
что смена влияет только на
текущий запрос.