feat(i18n): add locale dictionaries and pilot surfaces

This commit is contained in:
2026-06-11 04:55:47 +02:00
parent 2c6d6bffcd
commit ac3dfe69cd
15 changed files with 354 additions and 19 deletions
+21
View File
@@ -0,0 +1,21 @@
export const SUPPORTED_LOCALES = ["en", "es"] as const
export type Locale = (typeof SUPPORTED_LOCALES)[number]
export const FALLBACK_LOCALE: Locale = "en"
export const DEFAULT_LOCALE_ENV_VAR = "STOCK_MANAGER_DEFAULT_LOCALE"
export const LOCALE_COOKIE_NAME = "stock-manager-locale"
export function isLocale(value: unknown): value is Locale {
return (
typeof value === "string" && SUPPORTED_LOCALES.includes(value as Locale)
)
}
export function resolveDefaultLocale(value: unknown): Locale {
return isLocale(value) ? value : FALLBACK_LOCALE
}
export function resolveLocale(value: unknown, fallback: Locale): Locale {
return isLocale(value) ? value : fallback
}