import type { MeetingSummaryStatus } from "./meeting-summary-data";

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

export function normalizeMeetingSummaryLanguage(
  language?: string | null,
): UiLang {
  return language === "kh" || language === "km" ? "km" : "en";
}

export const meetingSummaryI18n = {
  en: {
    title: "All Meeting Summary",
    subtitle: "All Meeting Summary",
    add: "Add Meeting Summary",
    status: "Status",
    year: "Year",
    issues: "Number of issues",
    issue: "Issue",
    issuePlural: "Issues",
    previous: "Previous",
    next: "Next",
    viewDetail: "View Detail",
    viewDetails: "View Details",
    edit: "Edit",
    update: "Update",
    submitReport: "Submit Report",
    emptySummaries: "No meeting summaries match the selected filters.",
    submitSuccess: "Submitted to CDC successfully.",
    draftSaved: "Draft saved successfully.",
    summarySaved: "Meeting summary saved successfully.",
    moreActions: "More actions",
    common: {
      back: "Back",
      save: "Save",
      saving: "Saving...",
      cancel: "Cancel",
      confirm: "Confirm",
      print: "Print",
      submitting: "Submitting...",
      uploading: "Uploading",
      completed: "Completed",
      notUploaded: "Not Uploaded",
      noData: "No data",
      closeNotification: "Close notification",
    },
    columns: {
      no: "No.",
      summaryTitle: "Summary Title",
      meetingDate: "Meeting Date",
      issueCount: "# of Issue",
      meetingRequest: "Meeting Request",
      meetingSummary: "Meeting Summary",
      governmentAgency: "Government Agency",
      pswg: "PSWG",
      status: "Status",
      meetingPswg: "Meeting PSWG",
      action: "Action",
    },
    statusLabels: {
      DRAFT: "Draft",
      REVIEWED: "Reviewed",
      SUBMITTED: "Submitted",
      COMPLETED: "Completed",
    } satisfies Record<MeetingSummaryStatus, string>,
    submitDialog: {
      title: "Submit to CDC",
      description: "Are you sure you want to submit to CDC?",
      submit: "Submit",
      error: "Could not submit meeting summary.",
    },
    header: {
      addTitle: "Add Meeting Summary",
      editTitle: "Edit Meeting Summary",
      breadcrumbRoot: "All Meeting Summary",
      saveDraft: "Save Draft",
      shareWithPswg: "Share With PSWG",
      sharing: "Sharing...",
      alreadyShared: "Already Shared",
      submitToCdc: "Submit to CDC",
      submitConfirmTitle: "Submit to CDC",
      submitConfirmDescription: "Are you sure you want to submit to CDC?",
      shareConfirmTitle: "Share with PSWG",
      shareConfirmDescription:
        "Do you want to share this summary with PSWG?",
    },
    view: {
      title: "View Meeting Summary",
      breadcrumbCurrent: "View Meeting Summary",
      shareConfirmDescription: "Do you want to share with PSWG?",
      sharedSuccess: "Shared with PSWG.",
      shareError: "Could not share with PSWG. Please try again.",
    },
    details: {
      meetingRequest: "Meeting Request",
      privateSectorWg: "Private Sector WG",
      meetingRequestDocument: "Meeting Request Letter",
      meetingDetails: "Meeting Details",
      wgMeeting: "WG Meeting",
      meetingDocument: "Meeting Document",
      governmentAgency: "Government Agency",
      sentBy: "Sent by",
      time: "Time",
      date: "Date",
      location: "Location",
      summaryReference: "Summary Meeting Reference",
    },
    participants: {
      title: "List of Participants",
      add: "Add Participants",
      update: "Update",
      updatePswg: "Update PSWG Participants",
      updateMinistry: "Update Ministry Participants",
      pswgTitle: "PSWG Participants",
      ministryTitle: "Ministry Participants",
      pswg: "PSWG",
      ministry: "Ministry",
      group: "Group",
      reporterName: "Reporter Name",
      reporterPosition: "Reporter Position",
      representativeName: "Representative Name",
      representativePosition: "Representative Position",
      enterName: "Enter name",
      enterPosition: "Enter position",
      enterReporterName: "Enter reporter name",
      enterReporterPosition: "Enter reporter position",
      enterRepresentativeName: "Enter representative name",
      enterRepresentativePosition: "Enter representative position",
    },
    issueTable: {
      title: "List of Issues",
      noIssues: "No issues found.",
      wgName: "WG Name",
      issue: "Issue",
      category: "Category of Issue",
      description: "Issue Description",
      recommendation: "Recommendation",
      rgcDecision: "RGC Decision",
      nextStep: "Next Step",
      remark: "Remark",
      issueReference: "Issue Reference",
      status: "Status",
      primaryAgency: "Gov't primary Agency",
      secondAgency: "Gov't second Agency",
      thirdAgency: "Gov't third Agency",
      fourthAgency: "Gov't fourth Agency",
      fifthAgency: "Gov't fifth Agency",
      escalation: "Issue Escalation",
      action: "Action",
      viewDetail: "View Detail",
      update: "Update",
    },
    issueDialog: {
      updateTitle: "Update Issue",
      detailTitle: "Issue Details",
      submitDetail: "Submit Detail",
      submittedBy: "Submitted By",
      submittedDate: "Submitted Date",
      issueDocument: "Issue Document",
      category: "Category of Issues",
      governmentAgency: "Government Agency",
      descriptions: "Issue Descriptions",
      recommendations: "Recommendations",
      status: "Status",
      escalation: "Issue Escalation",
      solutionReference: "Solution Reference",
      rgcDecision: "RGC Decision",
      nextStep: "Next Step",
      remark: "Remark",
      writeRgcDecision: "Write RGC Decision.........",
      writeNextStep: "Write next step.........",
      writeRemark: "Write remark.........",
      selectStatus: "Select status",
      loading: "Loading...",
      noEscalation: "No Escalation",
      selectAgency: "Select agency",
      newSubmitted: "New Submitted",
      solved: "Solved",
      inProgress: "In Progress",
      notAddressed: "Not Addressed",
    },
    upload: {
      title: "Summary Meeting Reference",
      clickToUpload: "Click to upload",
      dragAndDrop: "or drag and drop",
      pdfLimit: "PDF up to 10 MB",
      replaceDocument: "Replace document",
      issuesReferenceDocument: "Issues Reference Document",
      pdfTypeError: "Only PDF files are allowed.",
      sizeError: "PDF file size must not exceed 10 MB.",
    },
    createDialog: {
      title: "Create Meeting Summary",
      allMeetingRequests: "All Meeting Requests",
      allMeetings: "All Meetings",
      searchPlaceholder: "Search meeting requests",
      noRequests: "No meeting requests found.",
      noMeetingsToSummarize: "No meetings are waiting for a summary.",
      unableLoadMeetings: "Unable to load meetings.",
      create: "Create",
      addNow: "Add now",
    },
    errors: {
      meetingNotFound: "Meeting not found.",
      summaryNotFound: "Meeting summary not found.",
      loadMeeting: "Could not load meeting details.",
      loadSummary: "Could not load meeting summary.",
      saveSummary: "Could not save meeting summary.",
      saveParticipants: "Could not save participants.",
      saveIssue: "Could not save issue resolution.",
      updateSharing: "Could not update PSWG sharing.",
      issueUpdated: "Issue updated successfully.",
      participantsUpdated: "Participants updated successfully.",
      shared: "Shared with PSWG.",
    },
  },
  km: {
    title: "របាយការណ៍សង្ខេបកិច្ចប្រជុំទាំងអស់",
    subtitle: "របាយការណ៍សង្ខេបកិច្ចប្រជុំទាំងអស់",
    add: "បន្ថែមរបាយការណ៍សង្ខេបកិច្ចប្រជុំ",
    status: "ស្ថានភាព",
    year: "ឆ្នាំ",
    issues: "ចំនួនបញ្ហា",
    issue: "បញ្ហា",
    issuePlural: "បញ្ហា",
    previous: "មុន",
    next: "បន្ទាប់",
    viewDetail: "មើលលម្អិត",
    viewDetails: "មើលព័ត៌មានលម្អិត",
    edit: "កែសម្រួល",
    update: "ធ្វើបច្ចុប្បន្នភាព",
    submitReport: "ដាក់ស្នើរបាយការណ៍",
    emptySummaries: "គ្មានរបាយការណ៍សង្ខេបកិច្ចប្រជុំត្រូវនឹងតម្រងដែលបានជ្រើសរើសទេ។",
    submitSuccess: "បានដាក់ស្នើទៅ CDC ដោយជោគជ័យ។",
    draftSaved: "បានរក្សាទុកសេចក្តីព្រាងដោយជោគជ័យ។",
    summarySaved: "បានរក្សាទុករបាយការណ៍សង្ខេបកិច្ចប្រជុំដោយជោគជ័យ។",
    moreActions: "សកម្មភាពបន្ថែម",
    common: {
      back: "ត្រឡប់",
      save: "រក្សាទុក",
      saving: "កំពុងរក្សាទុក...",
      cancel: "បោះបង់",
      confirm: "បញ្ជាក់",
      print: "បោះពុម្ព",
      submitting: "កំពុងដាក់ស្នើ...",
      uploading: "កំពុងបង្ហោះ",
      completed: "បានបញ្ចប់",
      notUploaded: "មិនទាន់បានបង្ហោះ",
      noData: "មិនមានទិន្នន័យ",
      closeNotification: "បិទការជូនដំណឹង",
    },
    columns: {
      no: "ល.រ",
      summaryTitle: "ចំណងជើងសង្ខេប",
      meetingDate: "កាលបរិច្ឆេទកិច្ចប្រជុំ",
      issueCount: "ចំនួនបញ្ហា",
      meetingRequest: "សំណើកិច្ចប្រជុំ",
      meetingSummary: "សង្ខេបកិច្ចប្រជុំ",
      governmentAgency: "ស្ថាប័នរាជរដ្ឋាភិបាល",
      pswg: "ក្រុមការងារវិស័យឯកជន",
      status: "ស្ថានភាព",
      meetingPswg: "កិច្ចប្រជុំក្រុមការងារវិស័យឯកជន",
      action: "សកម្មភាព",
    },
    statusLabels: {
      DRAFT: "សេចក្តីព្រាង",
      REVIEWED: "បានពិនិត្យ",
      SUBMITTED: "បានដាក់ស្នើ",
      COMPLETED: "បានបញ្ចប់",
    } satisfies Record<MeetingSummaryStatus, string>,
    submitDialog: {
      title: "ដាក់ស្នើទៅ CDC",
      description: "តើអ្នកប្រាកដថាចង់ដាក់ស្នើទៅ CDC មែនទេ?",
      submit: "ដាក់ស្នើ",
      error: "មិនអាចដាក់ស្នើរបាយការណ៍សង្ខេបកិច្ចប្រជុំបានទេ។",
    },
    header: {
      addTitle: "បន្ថែមរបាយការណ៍សង្ខេបកិច្ចប្រជុំ",
      editTitle: "កែសម្រួលរបាយការណ៍សង្ខេបកិច្ចប្រជុំ",
      breadcrumbRoot: "របាយការណ៍សង្ខេបកិច្ចប្រជុំទាំងអស់",
      saveDraft: "រក្សាទុកសេចក្តីព្រាង",
      shareWithPswg: "ចែករំលែកជាមួយក្រុមការងារ",
      sharing: "កំពុងចែករំលែក...",
      alreadyShared: "បានចែករំលែករួចហើយ",
      submitToCdc: "ដាក់ស្នើទៅ CDC",
      submitConfirmTitle: "ដាក់ស្នើទៅ CDC",
      submitConfirmDescription:
        "តើអ្នកប្រាកដថាចង់ដាក់ស្នើទៅ CDC មែនទេ?",
      shareConfirmTitle: "ចែករំលែកជាមួយក្រុមការងារ",
      shareConfirmDescription:
        "តើអ្នកចង់ចែករំលែករបាយការណ៍សង្ខេបនេះជាមួយក្រុមការងារមែនទេ?",
    },
    view: {
      title: "មើលរបាយការណ៍សង្ខេបកិច្ចប្រជុំ",
      breadcrumbCurrent: "មើលរបាយការណ៍សង្ខេបកិច្ចប្រជុំ",
      shareConfirmDescription:
        "តើអ្នកចង់ចែករំលែកជាមួយក្រុមការងារមែនទេ?",
      sharedSuccess: "បានចែករំលែកជាមួយក្រុមការងារដោយជោគជ័យ។",
      shareError: "មិនអាចចែករំលែកជាមួយក្រុមការងារបានទេ។ សូមព្យាយាមម្តងទៀត។",
    },
    details: {
      meetingRequest: "សំណើកិច្ចប្រជុំ",
      privateSectorWg: "ក្រុមការងារវិស័យឯកជន",
      meetingRequestDocument: "លិខិតស្នើសុំប្រជុំ",
      meetingDetails: "ព័ត៌មានលម្អិតកិច្ចប្រជុំ",
      wgMeeting: "កិច្ចប្រជុំក្រុមការងារ",
      meetingDocument: "ឯកសារកិច្ចប្រជុំ",
      governmentAgency: "ស្ថាប័នរាជរដ្ឋាភិបាល",
      sentBy: "ផ្ញើដោយ",
      time: "ម៉ោង",
      date: "កាលបរិច្ឆេទ",
      location: "ទីតាំង",
      summaryReference: "ឯកសារយោងសង្ខេបកិច្ចប្រជុំ",
    },
    participants: {
      title: "បញ្ជីអ្នកចូលរួម",
      add: "បន្ថែមអ្នកចូលរួម",
      update: "ធ្វើបច្ចុប្បន្នភាព",
      updatePswg: "ធ្វើបច្ចុប្បន្នភាពអ្នកចូលរួមក្រុមការងារ",
      updateMinistry: "ធ្វើបច្ចុប្បន្នភាពអ្នកចូលរួមក្រសួង",
      pswgTitle: "អ្នកចូលរួមក្រុមការងារ",
      ministryTitle: "អ្នកចូលរួមក្រសួង",
      pswg: "ក្រុមការងារ",
      ministry: "ក្រសួង",
      group: "ក្រុម",
      reporterName: "ឈ្មោះអ្នករាយការណ៍",
      reporterPosition: "តួនាទីអ្នករាយការណ៍",
      representativeName: "ឈ្មោះតំណាង",
      representativePosition: "តួនាទីតំណាង",
      enterName: "បញ្ចូលឈ្មោះ",
      enterPosition: "បញ្ចូលតួនាទី",
      enterReporterName: "បញ្ចូលឈ្មោះអ្នករាយការណ៍",
      enterReporterPosition: "បញ្ចូលតួនាទីអ្នករាយការណ៍",
      enterRepresentativeName: "បញ្ចូលឈ្មោះតំណាង",
      enterRepresentativePosition: "បញ្ចូលតួនាទីតំណាង",
    },
    issueTable: {
      title: "បញ្ជីបញ្ហា",
      noIssues: "រកមិនឃើញបញ្ហា។",
      wgName: "ឈ្មោះក្រុមការងារ",
      issue: "បញ្ហា",
      category: "ប្រភេទបញ្ហា",
      description: "ការពិពណ៌នាបញ្ហា",
      recommendation: "អនុសាសន៍",
      rgcDecision: "សេចក្តីសម្រេចរបស់រាជរដ្ឋាភិបាល",
      nextStep: "ជំហានបន្ទាប់",
      remark: "កំណត់សម្គាល់",
      issueReference: "ឯកសារយោងបញ្ហា",
      status: "ស្ថានភាព",
      primaryAgency: "ស្ថាប័នរដ្ឋាភិបាលចម្បង",
      secondAgency: "ស្ថាប័នរដ្ឋាភិបាលទី២",
      thirdAgency: "ស្ថាប័នរដ្ឋាភិបាលទី៣",
      fourthAgency: "ស្ថាប័នរដ្ឋាភិបាលទី៤",
      fifthAgency: "ស្ថាប័នរដ្ឋាភិបាលទី៥",
      escalation: "ការបញ្ជូនបញ្ហាទៅថ្នាក់លើ",
      action: "សកម្មភាព",
      viewDetail: "មើលលម្អិត",
      update: "ធ្វើបច្ចុប្បន្នភាព",
    },
    issueDialog: {
      updateTitle: "ធ្វើបច្ចុប្បន្នភាពបញ្ហា",
      detailTitle: "ព័ត៌មានលម្អិតបញ្ហា",
      submitDetail: "ព័ត៌មានដាក់ស្នើ",
      submittedBy: "ដាក់ស្នើដោយ",
      submittedDate: "កាលបរិច្ឆេទដាក់ស្នើ",
      issueDocument: "ឯកសារបញ្ហា",
      category: "ប្រភេទបញ្ហា",
      governmentAgency: "ស្ថាប័នរាជរដ្ឋាភិបាល",
      descriptions: "ការពិពណ៌នាបញ្ហា",
      recommendations: "អនុសាសន៍",
      status: "ស្ថានភាព",
      escalation: "ការបញ្ជូនបញ្ហាទៅថ្នាក់លើ",
      solutionReference: "ឯកសារយោងដំណោះស្រាយ",
      rgcDecision: "សេចក្តីសម្រេចរបស់រាជរដ្ឋាភិបាល",
      nextStep: "ជំហានបន្ទាប់",
      remark: "កំណត់សម្គាល់",
      writeRgcDecision: "សរសេរសេចក្តីសម្រេចរបស់រាជរដ្ឋាភិបាល.........",
      writeNextStep: "សរសេរជំហានបន្ទាប់.........",
      writeRemark: "សរសេរកំណត់សម្គាល់.........",
      selectStatus: "ជ្រើសរើសស្ថានភាព",
      loading: "កំពុងផ្ទុក...",
      noEscalation: "មិនមានការបញ្ជូនទៅថ្នាក់លើ",
      selectAgency: "ជ្រើសរើសស្ថាប័ន",
      newSubmitted: "ការដាក់ស្នើថ្មី",
      solved: "បានដោះស្រាយ",
      inProgress: "កំពុងដំណើរការ",
      notAddressed: "មិនទាន់ដោះស្រាយ",
    },
    upload: {
      title: "ឯកសារយោងសង្ខេបកិច្ចប្រជុំ",
      clickToUpload: "ចុចដើម្បីបង្ហោះ",
      dragAndDrop: "ឬអូសហើយទម្លាក់",
      pdfLimit: "ឯកសារ PDF ទំហំមិនលើសពី ១០ MB",
      replaceDocument: "ជំនួសឯកសារ",
      issuesReferenceDocument: "ឯកសារយោងបញ្ហា",
      pdfTypeError: "អនុញ្ញាតតែឯកសារ PDF ប៉ុណ្ណោះ។",
      sizeError: "ទំហំឯកសារ PDF មិនត្រូវលើសពី ១០ MB ទេ។",
    },
    createDialog: {
      title: "បង្កើតរបាយការណ៍សង្ខេបកិច្ចប្រជុំ",
      allMeetingRequests: "សំណើកិច្ចប្រជុំទាំងអស់",
      allMeetings: "កិច្ចប្រជុំទាំងអស់",
      searchPlaceholder: "ស្វែងរកសំណើកិច្ចប្រជុំ",
      noRequests: "រកមិនឃើញសំណើកិច្ចប្រជុំ។",
      noMeetingsToSummarize: "មិនមានកិច្ចប្រជុំដែលរង់ចាំរបាយការណ៍សង្ខេបទេ។",
      unableLoadMeetings: "មិនអាចផ្ទុកកិច្ចប្រជុំបានទេ។",
      create: "បង្កើត",
      addNow: "បន្ថែមឥឡូវនេះ",
    },
    errors: {
      meetingNotFound: "រកមិនឃើញកិច្ចប្រជុំ។",
      summaryNotFound: "រកមិនឃើញរបាយការណ៍សង្ខេបកិច្ចប្រជុំ។",
      loadMeeting: "មិនអាចផ្ទុកព័ត៌មានលម្អិតកិច្ចប្រជុំបានទេ។",
      loadSummary: "មិនអាចផ្ទុករបាយការណ៍សង្ខេបកិច្ចប្រជុំបានទេ។",
      saveSummary: "មិនអាចរក្សាទុករបាយការណ៍សង្ខេបកិច្ចប្រជុំបានទេ។",
      saveParticipants: "មិនអាចរក្សាទុកអ្នកចូលរួមបានទេ។",
      saveIssue: "មិនអាចរក្សាទុកដំណោះស្រាយបញ្ហាបានទេ។",
      updateSharing: "មិនអាចធ្វើបច្ចុប្បន្នភាពការចែករំលែកជាមួយក្រុមការងារបានទេ។",
      issueUpdated: "បានធ្វើបច្ចុប្បន្នភាពបញ្ហាដោយជោគជ័យ។",
      participantsUpdated: "បានធ្វើបច្ចុប្បន្នភាពអ្នកចូលរួមដោយជោគជ័យ។",
      shared: "បានចែករំលែកជាមួយក្រុមការងារដោយជោគជ័យ។",
    },
  },
} as const;

export type MeetingSummaryText = (typeof meetingSummaryI18n)[UiLang];

export function getMeetingSummaryFont(lang: UiLang) {
  return lang === "km" ? "'Kantumruy Pro', sans-serif" : "inherit";
}
