export enum Lang {
  en = "en",
  sv = "sv",
  no = "no",
  fi = "fi",
  da = "da",
  de = "de",
}

export const languages = {
  [Lang.da]: "Dansk",
  [Lang.de]: "Deutsch",
  [Lang.en]: "English",
  [Lang.fi]: "Suomi",
  [Lang.no]: "Norsk",
  [Lang.sv]: "Svenska",
}

export const localeToLang = {
  en: Lang.en,
  "en-US": Lang.en,
  "en-GB": Lang.en,
  "en-DE": Lang.en,
  "en-DK": Lang.en,
  "en-SE": Lang.en,
  "en-FI": Lang.en,

  sv: Lang.sv,
  "se-SE": Lang.sv,
  "sv-SE": Lang.sv,
  "sv-FI": Lang.sv,

  fi: Lang.fi,
  "fi-FI": Lang.fi,
  "se-FI": Lang.fi,
  "smn-FI": Lang.fi,

  dk: Lang.da,
  da: Lang.da,
  "da-DK": Lang.da,
  "fo-DK": Lang.da,

  de: Lang.de,
  "de-DE": Lang.de,
  "dsb-DE": Lang.de,
  "ksh-DE": Lang.de,
  "nds-DE": Lang.de,
  "hsb-DE": Lang.de,
  "de-CH": Lang.de,
  "de-AU": Lang.de,

  no: Lang.no,
  nb: Lang.no,
  "nb-NO": Lang.no,
  "nn-NO": Lang.no,
  "se-NO": Lang.no,
} as const

export function findLang(pathname: string) {
  return Object.values(Lang).find(
    (l) => pathname.startsWith(`/${l}/`) || pathname === `/${l}`
  )
}
