From dde66fefbcda8f1dbd3dea08a9143febace2272e Mon Sep 17 00:00:00 2001 From: ivanchenkoandriy Date: Thu, 25 Sep 2025 12:05:07 +0300 Subject: [PATCH] Fix locale comparison in URL parsing logic # .env APP_LOCALE=en_AE # config/laravellocalization.php 'localesMapping' => [ 'en_AE' => 'en-ae', ], 'hideDefaultLocaleInURL' => true, # test $routeUrl = route('site.home'); $result = LaravelLocalization::localizeURL($routeUrl); $result = 'http://my.site/en-ae'; # must be $result = 'http://my.site'; --- src/Mcamara/LaravelLocalization/LaravelLocalization.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Mcamara/LaravelLocalization/LaravelLocalization.php b/src/Mcamara/LaravelLocalization/LaravelLocalization.php index 7052929..213f649 100644 --- a/src/Mcamara/LaravelLocalization/LaravelLocalization.php +++ b/src/Mcamara/LaravelLocalization/LaravelLocalization.php @@ -329,7 +329,7 @@ public function getLocalizedURL($locale = null, $url = null, $attributes = [], $ $locale = $this->getLocaleFromMapping($locale); if (!empty($locale)) { - if ($forceDefaultLocation || $locale != $this->getDefaultLocale() || !$this->hideDefaultLocaleInURL()) { + if ($forceDefaultLocation || $locale != $this->getLocaleFromMapping($this->getDefaultLocale()) || !$this->hideDefaultLocaleInURL()) { $parsed_url['path'] = $locale.'/'.ltrim($parsed_url['path'], '/'); } }