diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index 117ae74..113187b 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -21,6 +21,7 @@ class Kernel extends HttpKernel \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class, \App\Http\Middleware\TrimStrings::class, \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class, + 'web_localization', ]; /** @@ -65,5 +66,6 @@ class Kernel extends HttpKernel 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, 'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class, 'check_october_session' => \App\Http\Middleware\CheckOctoberSession::class, + 'web_localization' => \App\Http\Middleware\WebLocalization::class ]; } diff --git a/app/Http/Middleware/WebLocalization.php b/app/Http/Middleware/WebLocalization.php new file mode 100644 index 0000000..9f1c46c --- /dev/null +++ b/app/Http/Middleware/WebLocalization.php @@ -0,0 +1,28 @@ +session()->get('locale'); + if (in_array($raw_locale, Config::get('app.locales'))) { + $locale = $raw_locale; + } + else $locale = Config::get('app.locale'); + $request->session()->put('locale', $locale ?? 'en'); + app()->setLocale($locale); + return $next($request); + } +} \ No newline at end of file