diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index 203848d9..05025199 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -27,7 +27,7 @@ class Kernel extends HttpKernel */ protected $middlewareGroups = [ 'web' => [ - \Illuminate\Cookie\Middleware\EncryptCookies::class, + \App\Http\Middleware\EncryptCookies::class, \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, \Illuminate\Session\Middleware\StartSession::class, \Illuminate\View\Middleware\ShareErrorsFromSession::class, diff --git a/app/Http/Middleware/DetectLanguagePrefer.php b/app/Http/Middleware/DetectLanguagePrefer.php index 1a325b74..455805cb 100644 --- a/app/Http/Middleware/DetectLanguagePrefer.php +++ b/app/Http/Middleware/DetectLanguagePrefer.php @@ -2,6 +2,7 @@ namespace App\Http\Middleware; +use Cookie; use Illuminate\Support\Arr; use Illuminate\Http\Request; use Illuminate\Http\Response; @@ -10,13 +11,12 @@ class DetectLanguagePrefer { public function handle($request, \Closure $next) { - $locale = $request->input('lang') ?? session('locale') ?? $request->getPreferredLanguage(); + $locale = $request->input('lang') ?? $request->cookie('locale') ?? $request->getPreferredLanguage(); if (($info = Arr::get(config('locales'), $locale)) && ($alias = Arr::get($info, 'alias'))) { $locale = $alias; } app()->setLocale($locale); - session(['locale' => $locale]); - + Cookie::queue('locale', $locale); return $next($request); } } diff --git a/app/Http/Middleware/EncryptCookies.php b/app/Http/Middleware/EncryptCookies.php new file mode 100644 index 00000000..b46067d5 --- /dev/null +++ b/app/Http/Middleware/EncryptCookies.php @@ -0,0 +1,17 @@ +