--- import { locales, localeMeta, type Locale } from "../i18n/config"; interface Props { lang: Locale; /** Sprachneutraler Pfad der aktuellen Seite, z.B. "/shop/" oder "/produkt/foo/". */ path: string; /** Seite existiert nur auf Deutsch (z.B. Rechtstexte) — alle Optionen führen zur DE-Version, * damit der Umschalter niemals auf eine 404-Seite verlinkt. */ legalOnly?: boolean; } const { lang, path, legalOnly = false } = Astro.props; function hrefFor(target: Locale) { if (legalOnly) return path; // immer die deutsche Original-URL const prefix = target === "de" ? "" : `/${target}`; return `${prefix}${path}` || "/"; } function globeStyle(l: Locale) { const m = localeMeta[l]; return `--globe-color:${m.color}; --globe-glow:${m.glow}; --flag-1:${m.flag[0]}; --flag-2:${m.flag[1]}; --flag-3:${m.flag[2]}`; } ---