export type CdcGpsfMeetingRequestUiLang = "km" | "en";

export type CdcGpsfMeetingRequestStatus =
  | "Drafted"
  | "Under Review"
  | "Submitted"
  | "Scheduled"
  | "Completed";

export function getCdcGpsfMeetingRequestFont(
  lang: CdcGpsfMeetingRequestUiLang,
): string {
  return lang === "km"
    ? "var(--font-khmer)"
    : '"Inter","Segoe UI",Arial,sans-serif';
}

const cdcGpsfMeetingRequestMessages = {
  km: {
    title: "សំណើប្រជុំ PSWG",
    breadcrumb: "WG / សំណើប្រជុំ PSWG",
    exportAsXlsx: "នាំចេញជា XLSX",
    workingGroup: "ក្រុមការងារ",
    governmentAgency: "ស្ថាប័នរដ្ឋាភិបាល",
    meetingStatus: "ស្ថានភាពប្រជុំ",
    meetingDate: "កាលបរិច្ឆេទប្រជុំ",
    list: "បញ្ជី",
    grid: "ក្រឡា",
    viewDetail: "មើលលម្អិត",
    no: "ល.រ",
    meetingTitle: "ចំណងជើងកិច្ចប្រជុំ",
    meetingDescription: "ការពិពណ៌នាកិច្ចប្រជុំ",
    issuesCount: "ចំនួនបញ្ហា",
    meetingRequest: "សំណើប្រជុំ",
    action: "សកម្មភាព",
    description: "ការពិពណ៌នា",
    requestDetails: "ព័ត៌មានសំណើ",
    meetingRequestDetail: "ព័ត៌មានលម្អិតសំណើប្រជុំ",
    submitDetails: "ព័ត៌មានដាក់ស្នើ",
    meetingUpdate: "ព័ត៌មានកិច្ចប្រជុំ",
    submittedDate: "កាលបរិច្ឆេទដាក់ស្នើ",
    status: "ស្ថានភាព",
    meetingRequestDocument: "ឯកសារសំណើប្រជុំ",
    issueSubmitted: "បញ្ហាដែលបានដាក់ស្នើ",
    classification: "ប្រភេទ",
    issueDescription: "ការពិពណ៌នាបញ្ហា",
    recommendation: "សេចក្តីណែនាំ",
    sentBy: "ផ្ញើដោយ",
    receivedBy: "ទទួលដោយ",
    meetingReferenceDocument: "ឯកសារយោងកិច្ចប្រជុំ",
    participant: "អ្នកចូលរួម",
    previous: "ថយក្រោយ",
    next: "បន្ទាប់",
    statuses: {
      Drafted: "ព្រាង",
      "Under Review": "កំពុងពិនិត្យ",
      Submitted: "បានដាក់ស្នើ",
      Scheduled: "បានកំណត់កាលវិភាគ",
      Completed: "បានបញ្ចប់",
    },
  },
  en: {
    title: "PSWG Meeting Request",
    breadcrumb: "WG / PSWG Meeting Request",
    exportAsXlsx: "Export as XLSX",
    workingGroup: "Working Group",
    governmentAgency: "Government Agency",
    meetingStatus: "Meeting Status",
    meetingDate: "Meeting Date",
    list: "List",
    grid: "Grid",
    viewDetail: "View Detail",
    no: "No.",
    meetingTitle: "Meeting Title",
    meetingDescription: "Meeting Description",
    issuesCount: "# of Issues",
    meetingRequest: "Meeting Request",
    action: "Action",
    description: "Description",
    requestDetails: "Request Details",
    meetingRequestDetail: "Meeting Request Detail",
    submitDetails: "Submit Details",
    meetingUpdate: "Meeting Update",
    submittedDate: "Submitted Date",
    status: "Status",
    meetingRequestDocument: "Meeting Request Document",
    issueSubmitted: "Issue Submitted",
    classification: "Category",
    issueDescription: "Issue Description",
    recommendation: "Recommendation",
    sentBy: "Sent by",
    receivedBy: "Received by",
    meetingReferenceDocument: "Meeting Reference Document",
    participant: "Participant",
    previous: "Previous",
    next: "Next",
    statuses: {
      Drafted: "Drafted",
      "Under Review": "Under Review",
      Submitted: "Submitted",
      Scheduled: "Scheduled",
      Completed: "Completed",
    },
  },
} as const;

export function cdcGpsfMeetingRequestI18n(lang: CdcGpsfMeetingRequestUiLang) {
  return cdcGpsfMeetingRequestMessages[lang] ?? cdcGpsfMeetingRequestMessages.km;
}
