import type { Lang } from "./i18n";

const dictionaries = {
  ko: {
    nav: {
      home: "Home",
      people: "People",
      research: "Research",
      publications: "Publications",
      news: "News",
      contact: "Contact",
    },
    home: {
      researchAreas: "Research Areas",
      viewAllResearch: "View all research areas",
      latestNews: "Latest News",
      viewAllNews: "View all news",
      recentPubs: "Recent Publications",
      viewAllPubs: "View all publications",
      ctaTitle: "연구에 관심이 있으신가요?",
      ctaSubtitle: "열정적인 학생과 연구자를 항상 환영합니다.",
      ctaButton: "Contact Us",
      notice: "공지",
      news: "소식",
    },
    people: {
      title: "People",
      subtitle: "구성원 소개",
      overline: "Our Team",
      empty: "등록된 구성원이 없습니다.",
    },
    research: {
      title: "Research",
      subtitle: "연구 분야",
      overline: "Explore",
      empty: "등록된 연구 분야가 없습니다.",
    },
    publications: {
      overline: "Archive",
      title: "Scientific",
      titleAccent: "Contributions",
      subtitle: "본 연구실의 학술지, 학회 논문 및 기술 보고서의 기록입니다.",
      empty: "등록된 논문이 없습니다.",
    },
    news: {
      latestAnnouncement: "Latest Announcement",
      readMore: "Read More",
      readStory: "Read Story",
      categories: "Categories",
      allUpdates: "All Updates",
      notice: "Notice",
      newsLabel: "News",
      archive: "Archive",
      empty: "등록된 게시글이 없습니다.",
      backToList: "목록으로",
      pinned: "Pinned",
    },
    contact: {
      title: "Contact",
      subtitle: "연락처 및 지원 안내",
      overline: "Get in Touch",
      joinUs: "Join Us",
      contactInfo: "Contact Info",
      address: "주소",
      contactDetails: "연락처",
      noMap: "지도가 등록되지 않았습니다.",
      noJoinUs: "모집 관련 내용이 아직 등록되지 않았습니다.",
    },
    roles: {
      professor: "Professor",
      postdoc: "Postdoctoral Researcher",
      msphd: "MS/PhD Integrated",
      phd: "PhD Students",
      ms: "MS Students",
      intern: "Undergraduate / Intern",
      alumni: "Alumni",
    } as Record<string, string>,
    footer: {
      labName: "Software Engineering Laboratory",
      quote: "\u201CBuilding reliable software through rigorous engineering and innovative research.\u201D",
      lab: "Lab",
      resources: "Resources",
    },
  },
  en: {
    nav: {
      home: "Home",
      people: "People",
      research: "Research",
      publications: "Publications",
      news: "News",
      contact: "Contact",
    },
    home: {
      researchAreas: "Research Areas",
      viewAllResearch: "View all research areas",
      latestNews: "Latest News",
      viewAllNews: "View all news",
      recentPubs: "Recent Publications",
      viewAllPubs: "View all publications",
      ctaTitle: "Interested in our research?",
      ctaSubtitle: "We are always looking for motivated students and researchers to join our team.",
      ctaButton: "Contact Us",
      notice: "Notice",
      news: "News",
    },
    people: {
      title: "People",
      subtitle: "Meet our team members",
      overline: "Our Team",
      empty: "No members registered yet.",
    },
    research: {
      title: "Research",
      subtitle: "Research Areas",
      overline: "Explore",
      empty: "No research areas registered yet.",
    },
    publications: {
      overline: "Archive",
      title: "Scientific",
      titleAccent: "Contributions",
      subtitle: "An indexed record of our laboratory\u2019s peer-reviewed journals, conference proceedings, and technical manuscripts.",
      empty: "No publications registered yet.",
    },
    news: {
      latestAnnouncement: "Latest Announcement",
      readMore: "Read More",
      readStory: "Read Story",
      categories: "Categories",
      allUpdates: "All Updates",
      notice: "Notice",
      newsLabel: "News",
      archive: "Archive",
      empty: "No posts yet.",
      backToList: "Back to list",
      pinned: "Pinned",
    },
    contact: {
      title: "Contact",
      subtitle: "Contact & Recruitment Information",
      overline: "Get in Touch",
      joinUs: "Join Us",
      contactInfo: "Contact Info",
      address: "Address",
      contactDetails: "Contact",
      noMap: "Map not available.",
      noJoinUs: "No recruitment information available.",
    },
    roles: {
      professor: "Professor",
      postdoc: "Postdoctoral Researcher",
      msphd: "MS/PhD Integrated",
      phd: "PhD Students",
      ms: "MS Students",
      intern: "Undergraduate / Intern",
      alumni: "Alumni",
    } as Record<string, string>,
    footer: {
      labName: "Software Engineering Laboratory",
      quote: "\u201CBuilding reliable software through rigorous engineering and innovative research.\u201D",
      lab: "Lab",
      resources: "Resources",
    },
  },
};

export type Dictionary = typeof dictionaries.ko;

export function getDictionary(lang: Lang): Dictionary {
  return dictionaries[lang] ?? dictionaries.ko;
}
