export interface LocaleData { locale: string; messages: Record; } let loadedLocale: LocaleData | undefined; export function setLocale(locale: LocaleData) { loadedLocale = locale; } export function getLocale(): LocaleData { if (!loadedLocale) { if (process.env.NODE_ENV === 'development') { throw new Error('getLocale() called before any locale has been set'); } else { return { locale: 'unknown', messages: {} }; } } return loadedLocale; } export function isLocaleLoaded() { return !!loadedLocale; }