@@ -39,8 +44,9 @@ export default function LanguageSwitcherContent({
{languages[key]}
{isActive ? : null}
diff --git a/components/LanguageSwitcher/LanguageSwitcherContent/utils.ts b/components/LanguageSwitcher/LanguageSwitcherContent/utils.ts
new file mode 100644
index 000000000..ee9c27a1d
--- /dev/null
+++ b/components/LanguageSwitcher/LanguageSwitcherContent/utils.ts
@@ -0,0 +1,19 @@
+export function replaceUrlPart(currentPath: string, newPart: string): string {
+ const pathSegments = currentPath.split("/").filter((segment) => segment)
+
+ const newPathSegments = newPart
+ .replace(/\/$/, "")
+ .split("/")
+ .filter((segment) => segment)
+
+ const isFullPathReplacement = newPathSegments.length > 1
+
+ if (isFullPathReplacement) {
+ return `/${newPathSegments.join("/")}`
+ }
+
+ const updatedPathSegments = pathSegments.slice(1)
+ const updatedPath = `/${newPathSegments.concat(updatedPathSegments).join("/")}`
+
+ return updatedPath
+}
diff --git a/components/LanguageSwitcher/index.tsx b/components/LanguageSwitcher/index.tsx
index f087502c0..7eb47c90c 100644
--- a/components/LanguageSwitcher/index.tsx
+++ b/components/LanguageSwitcher/index.tsx
@@ -36,6 +36,7 @@ export default function LanguageSwitcher({
isHeaderLanguageSwitcherMobileOpen,
isHeaderLanguageSwitcherOpen,
} = useDropdownStore()
+
const languageSwitcherRef = useRef(null)
const isFooter = type === LanguageSwitcherTypesEnum.Footer
const isHeader = !isFooter