TypeScript 93.3%
JavaScript 4.4%
CSS 2.3%
1/**2 * Author: Simon-Pierre Boucher3 * Contact: contact@spboucher.ai4 * Project: Hilmacorp.ai — Web Platform5 * File: lib/i18n.ts6 * Description: Locale definitions and typed message dictionary loader (FR/EN)7 */89import fr from "@/messages/fr.json";10import en from "@/messages/en.json";1112export const locales = ["fr", "en"] as const;13export type Locale = (typeof locales)[number];14export const defaultLocale: Locale = "fr";1516export type Messages = typeof fr;1718const dictionaries: Record<Locale, Messages> = { fr, en };1920export function isLocale(value: string): value is Locale {21 return (locales as readonly string[]).includes(value);22}2324export function getMessages(locale: Locale): Messages {25 return dictionaries[locale];26}2728export function otherLocale(locale: Locale): Locale {29 return locale === "fr" ? "en" : "fr";30}31