@props(['alternates' => null]) @php $supportedLocales = config('wasoria.supported_locales', ['fr', 'en']); $defaultLocale = config('wasoria.default_locale', 'fr'); if (! $alternates) { // Auto-generate alternates from current route name $currentRouteName = Route::currentRouteName() ?? ''; // Strip locale prefix: "fr.approach" → "approach" $baseName = preg_replace('/^(' . implode('|', $supportedLocales) . ')\./', '', $currentRouteName); $routeParams = Route::current()?->parameters() ?? []; $alternates = []; foreach ($supportedLocales as $locale) { try { $alternates[$locale] = route("{$locale}.{$baseName}", $routeParams, true); } catch (\Throwable) { // Route may not exist for this locale } } } @endphp @foreach($alternates as $locale => $url) @if($locale !== 'x-default') @endif @endforeach @if(isset($alternates['x-default'])) @elseif(isset($alternates[$defaultLocale])) @endif