import { messagesFr } from "./messages-fr";
import { messagesEn } from "./messages-en";

export const LOCALE_COOKIE = "locale";

export const LOCALES = ["fr", "en"] as const;
export type Locale = (typeof LOCALES)[number];
export const DEFAULT_LOCALE: Locale = "fr";

export const LOCALE_LABELS: Record<Locale, string> = {
  fr: "Français",
  en: "English",
};

export type Messages = typeof messagesFr;

const dictionaries: Record<Locale, Messages> = {
  fr: messagesFr,
  en: messagesEn,
};

export function getMessages(locale: Locale): Messages {
  return dictionaries[locale];
}

export function isLocale(value: string | undefined): value is Locale {
  return !!value && (LOCALES as readonly string[]).includes(value);
}
