diff --git a/app/Http/Middleware/Locale.php b/app/Http/Middleware/Locale.php index 5f7f2006f3e5..3cbf90217dc7 100644 --- a/app/Http/Middleware/Locale.php +++ b/app/Http/Middleware/Locale.php @@ -17,6 +17,48 @@ use Illuminate\Support\Facades\App; class Locale { + private array $locales = [ + 'en', + 'it', + 'de', + 'fr', + 'pt_BR', + 'nl', + 'es', + 'nb_NO', + 'da', + 'ja', + 'sv', + 'es_ES', + 'fr_CA', + 'lt', + 'pl', + 'cs', + 'hr', + 'sq', + 'el', + 'en_GB', + 'pt_PT', + 'sl', + 'fi', + 'ro', + 'tr_TR', + 'th', + 'mk_MK', + 'zh_TW', + 'ru_RU', + 'ar', + 'fa', + 'lv_LV', + 'sr', + 'sk', + 'et', + 'bg', + 'he', + 'km_KH', + 'hu', + 'fr_CH', + ]; /** * Handle an incoming request. * @@ -25,10 +67,10 @@ class Locale * @return mixed */ public function handle($request, Closure $next) - { + { /*LOCALE SET */ - if ($request->has('lang') && is_string($request->input('lang'))) { - $locale = $request->string('lang','en'); + if ($request->has('lang') && in_array($request->input('lang','en'), $this->locales) ) { + $locale = $request->input('lang'); App::setLocale($locale); } elseif (auth()->guard('contact')->user()) { App::setLocale(auth()->guard('contact')->user()->client()->setEagerLoads([])->first()->locale());