Salta ai contenuti

Localizzazione

La localizzazione è URL‑first: il locale è un prefisso di percorso (/de/products/…), rilevato e persistito per te dallo SDK.

Da @kotao/storefront:

  • localeFromRequest(request) — la locale attiva (prefisso del percorso, poi cookie, poi Accept-Language).
  • localizePath(path, locale) — aggiungi un prefisso di percorso per la locale di destinazione.
  • stripLocalePrefixFromRequest(request) — la richiesta che vede il tuo route matching, prefisso rimosso (l’entry Worker del scaffold applica questo; esportato anche da /react-router).

Il scaffold include un route di azione di localizzazione — un form post cambia la locale e imposta il cookie:

app/routes/localization.tsx
import { handleLocalizationPost } from "@kotao/storefront";
export async function action({ request }: Route.ActionArgs) {
return handleLocalizationPost(request);
}

Point your language selector’s <Form method="post"> at it with the target locale; the handler sets LOCALIZATION_COOKIE and redirects to the localized path.

Il contenuto del negozio tradotto (prodotti, pagine, navigazione) è servito dall’API Storefront per la locale attiva — le tue query non cambiano. Le stringhe UI del tuo tema sono tue da gestire; tienile in una mappa locale chiavi per la locale attiva dal loader.