Ожидается что при нажатии на ссылку во вьюхе произойдет переключение языка с русского на английский (если установлен русский) и наоборот (если установлен английский).
Но этого не происходит. Язык не меняется.
Вьюха:
<html>
<body>
<a href="{{route('change_locale', trans('country.others.locale'))}}">@lang('country.others.change_locale')</a>
</body>
</html>
Роут:
Route::get('locale/{locale}', 'SystemsController@changeLocale')->name('change_locale');
Контроллер:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\App;
class SystemsController extends Controller
{
public function changeLocale($locale)
{
if (in_array($locale, ['ru', 'en'])) {
session()->put('locale', $locale);
App::setLocale(session('locale'));
}
return redirect()->back();
}
}
en/country.php
<?php
return [
'form' => [
'description' => "Enter new countries name",
'send' => 'Send'
],
'others' => [
'change_locale' => 'Change language',
'locale' => 'ru'
]
];
ru/country.php
<?php
return [
'form' => [
'description' => 'Введите название новой страны',
'send' => 'Отправить',
],
'others' => [
'change_locale' => 'Сменить язык',
'locale' => 'en'
]
];