@php use App\Models\User; use App\Services\Localization\LocaleResolver; $plane = $plane ?? 'admin'; $showPreference = (bool) ($showPreference ?? true); $embedded = (bool) ($embedded ?? false); /** @var LocaleResolver $localeResolver */ $localeResolver = app(LocaleResolver::class); $localeContext = request()->attributes->get(LocaleResolver::REQUEST_ATTRIBUTE); $localeContext = is_array($localeContext) ? $localeContext : $localeResolver->resolve(request(), $plane); $localeOptions = LocaleResolver::localeOptions(); $currentLocale = (string) ($localeContext['locale'] ?? 'en'); $source = (string) ($localeContext['source'] ?? LocaleResolver::SOURCE_SYSTEM_DEFAULT); $sourceLabel = __('localization.source.'.$source); $user = auth()->user(); $preferredLocale = $user instanceof User ? $user->preferred_locale : null; @endphp
{{ __('localization.shell.current_language') }}
{{ $localeOptions[$currentLocale] ?? strtoupper($currentLocale) }}
{{ __('localization.shell.language_source', ['source' => $sourceLabel]) }}
@csrf @foreach ($localeOptions as $locale => $label) @endforeach
@if ($source === LocaleResolver::SOURCE_EXPLICIT_OVERRIDE)
@csrf @method('DELETE')
@endif @if ($showPreference && $user instanceof User)
@csrf @foreach ($localeOptions as $locale => $label) @endforeach
@endif