Created src/lib/i18n/locales.ts as single source of truth for: - SUPPORTED_LOCALES array - LOCALE_COOKIE name - DEFAULT_LOCALE - LOCALE_CONFIG (labels, flags, Saleor locale mapping) - Helper functions (isValidLocale, getSaleorLocale, getLocaleFromPath) Updated all files to use centralized constants: - middleware.ts - Header.tsx - ProductCard.tsx - sitemap.ts - root layout and locale layout - routing.ts Benefits: - Adding new locale only requires updating ONE file (locales.ts) - No more hardcoded locale lists scattered across codebase - Cookie name defined in one place - Type-safe locale validation
9 lines
259 B
TypeScript
9 lines
259 B
TypeScript
import { defineRouting } from "next-intl/routing";
|
|
import { SUPPORTED_LOCALES, DEFAULT_LOCALE } from "@/lib/i18n/locales";
|
|
|
|
export const routing = defineRouting({
|
|
locales: SUPPORTED_LOCALES,
|
|
defaultLocale: DEFAULT_LOCALE,
|
|
localePrefix: "as-needed",
|
|
});
|