| | import { languageKeys, type LanguageCode } from '@/languages/lib/languages' |
| |
|
| | |
| | |
| | |
| | |
| | export function extractLanguageFromPath(path: string): LanguageCode { |
| | try { |
| | const pathSegments = path.split('/') |
| | const firstSegment = pathSegments[1] |
| |
|
| | if (firstSegment && languageKeys.includes(firstSegment)) { |
| | return firstSegment as LanguageCode |
| | } |
| | } catch (error) { |
| | console.warn('Failed to extract language from path:', error) |
| | } |
| | return 'en' |
| | } |
| |
|
| | |
| | |
| | |
| | export function hasLanguagePrefix(path: string): boolean { |
| | const pathSegments = path.split('/') |
| | const firstSegment = pathSegments[1] |
| | return Boolean(firstSegment && languageKeys.includes(firstSegment)) |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | export function stripLanguagePrefix(path: string): string { |
| | if (hasLanguagePrefix(path)) { |
| | const pathSegments = path.split('/') |
| | return `/${pathSegments.slice(2).join('/')}` |
| | } |
| | return path |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | export function addLanguagePrefix(path: string, language: LanguageCode): string { |
| | if (hasLanguagePrefix(path)) { |
| | return path |
| | } |
| | return `/${language}${path === '/' ? '' : path}` |
| | } |
| |
|