Lokalisierung
Lokalisierung ist URL-first: Die Locale reist als Pfad-Präfix (/de/products/…) — Erkennung
und Persistenz übernimmt das SDK.
Erkennung & Pfade
Abschnitt betitelt „Erkennung & Pfade“Aus @kotao/storefront:
localeFromRequest(request)— die aktive Locale (Pfad-Präfix, dann Cookie, dannAccept-Language).localizePath(path, locale)— einen Pfad für eine Ziel-Locale präfixen.stripLocalePrefixFromRequest(request)— der Request, den dein Route-Matching sieht, Präfix entfernt (der Worker-Entry des Scaffolds wendet das an; auch aus/react-routerre-exportiert).
Der Umschalter
Abschnitt betitelt „Der Umschalter“Der Scaffold bringt eine Lokalisierungs-Action-Route mit — ein Formular-Post wechselt die Locale und setzt das Cookie:
import { handleLocalizationPost } from "@kotao/storefront";
export async function action({ request }: Route.ActionArgs) { return handleLocalizationPost(request);}Richte das <Form method="post"> deines Sprachwählers mit der Ziel-Locale darauf; der
Handler setzt LOCALIZATION_COOKIE und leitet auf den lokalisierten Pfad um.
Lokalisierte Inhalte
Abschnitt betitelt „Lokalisierte Inhalte“Übersetzte Shop-Inhalte (Produkte, Seiten, Navigation) liefert die Storefront-API für die aktive Locale — deine Queries ändern sich nicht. Die eigenen UI-Strings deines Themes gehören dir; halte sie in einer Locale-Map, geschlüsselt über die aktive Locale aus dem Loader.