Clean up for locale resolution?

This commit is contained in:
David Bomba 2023-11-21 14:43:02 +11:00
parent 2757f3ef81
commit 6eb63c14f1

View File

@ -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());