import { i18n } from "@lingui/core"; const SUPPORTED = ["en", "fr"] as const; type Locale = (typeof SUPPORTED)[number]; function detectLocale(): Locale { const stored = localStorage.getItem("locale"); if (stored && (SUPPORTED as readonly string[]).includes(stored)) { return stored as Locale; } return navigator.language.startsWith("fr") ? "fr" : "en"; } export async function loadCatalog(locale: Locale = detectLocale()) { const { messages } = await import(`./locales/${locale}.po`); i18n.load(locale, messages); i18n.activate(locale); localStorage.setItem("locale", locale); } export { i18n }; export type { Locale };