Добрый вечер!
Использую пакет
Mcamara - laravel-localization.
Оставил два доступных языка: russian и hebrew. По умолчанию в конфиге выставлен русский язык. Если перейду по адресу
site.ru/ru , то главная страница будет на русском. Если перейду по
sire.ru/he - на иврите.
Но дело в том, что когда я перехожу на
sire.ru или, например,
sire.ru/search, то автоматически подставляется язык, который указан по умолчанию (ru). Пример:
sire.ru/ru/searchRoute.php:Route::group([
'prefix' => LaravelLocalization::setLocale(),
'middleware' => ['localeCookieRedirect', 'localizationRedirect']
], function() {
Route::group(['middleware' => 'guest'], function() {
Route::get('/authorization', 'UserController@auth');
Route::post('/authorization', 'UserController@enter');
});
Route::get('/language/{lang}', 'UserController@setLocale'); // Сам переключатель.
});
Kernel.php:protected $routeMiddleware = [
'auth' => \App\Http\Middleware\Authenticate::class,
'active' => \App\Http\Middleware\LastActive::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'can' => \Illuminate\Foundation\Http\Middleware\Authorize::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
'localize' => \Mcamara\LaravelLocalization\Middleware\LaravelLocalizationRoutes::class,
'localizationRedirect' => \Mcamara\LaravelLocalization\Middleware\LaravelLocalizationRedirectFilter::class,
'localeCookieRedirect' => \Mcamara\LaravelLocalization\Middleware\LocaleCookieRedirect::class
];
Код переключателя:public function setLocale($lang)
{
$locale = ($lang == 'hebrew') ? 'he' : 'ru';
$supported = LaravelLocalization::getSupportedLocales();
if (array_key_exists($locale, $supported)) {
$cookie = Cookie::forever('locale', $locale);
}
return redirect()->to(LaravelLocalization::getNonLocalizedURL(url()->previous()))->withCookie($cookie);
}
Это последний способ задания cookie.
Подскажите, пожалуйста, как реализовать смену языка сайта с использованием cookie или session с данным пакетом?