From 5c759356415d0bafc5e944aa0867d3458d5d67d2 Mon Sep 17 00:00:00 2001 From: Lukas Heller Date: Fri, 19 Sep 2025 10:00:59 +0200 Subject: [PATCH] Refactor locale route handling with prefix logic --- src/Localize/TransRoute.php | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/Localize/TransRoute.php b/src/Localize/TransRoute.php index 122f8e2..06b823a 100644 --- a/src/Localize/TransRoute.php +++ b/src/Localize/TransRoute.php @@ -107,17 +107,19 @@ protected function makeTransRouteForLocale($uri, $action, $locale) { $uri = $this->compileUri($uri, $locale); - if ($locale != $this->getFallbackLocale()) { - $route = Route::prefix($locale) - ->as("{$locale}.") - ->get($uri, $action) - ->translator(fn ($locale) => request()->route()->parameters()); + // Determine if the locale prefix should be used in the route URI. + $shouldUsePrefix = config('translatable.default_locale_url_prefix', true) === true + || $locale !== $this->getFallbackLocale(); + + if ($shouldUsePrefix) { + $routeBuilder = Route::prefix($locale)->as("{$locale}."); } else { - $route = Route::as("{$locale}.") - ->get($uri, $action) - ->translator(fn ($locale) => request()->route()->parameters()); + $routeBuilder = Route::as("{$locale}."); } + $route = $routeBuilder + ->get($uri, $action) + ->translator(fn ($locale) => request()->route()->parameters()); return $route; }