/** * Author: Simon-Pierre Boucher * Contact: contact@spboucher.ai * Project: Hilmacorp.ai — Web Platform * File: lib/i18n.ts * Description: Locale definitions and typed message dictionary loader (FR/EN) */ import fr from "@/messages/fr.json"; import en from "@/messages/en.json"; export const locales = ["fr", "en"] as const; export type Locale = (typeof locales)[number]; export const defaultLocale: Locale = "fr"; export type Messages = typeof fr; const dictionaries: Record = { fr, en }; export function isLocale(value: string): value is Locale { return (locales as readonly string[]).includes(value); } export function getMessages(locale: Locale): Messages { return dictionaries[locale]; } export function otherLocale(locale: Locale): Locale { return locale === "fr" ? "en" : "fr"; }