import manifest from '../localization/ROUTE_MANIFEST_v1.0.json'; type Locale = 'en' | 'fr' | 'ar'; export function localizedPath(routeId: string, locale: Locale): string { const route = manifest.routes.find((item) => item.id === routeId); if (!route) throw new Error(`Unknown route: ${routeId}`); const slug = route.slugs[locale]; return slug ? `/${locale}/${slug}` : `/${locale}`; } export function hreflangLinks(origin: string, routeId: string) { const alternates = manifest.locales.map((locale) => ({ rel: 'alternate', hreflang: locale, href: new URL(localizedPath(routeId, locale as Locale), origin).href, })); alternates.push({ rel: 'alternate', hreflang: 'x-default', href: new URL(localizedPath(routeId, 'en'), origin).href, }); return alternates; }