Files
stock-manager/src/i18n/locales.ts
T

22 lines
676 B
TypeScript

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
}