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

export const i18n = {
  en: {
    title: "Meeting Requests",
    badgeCount: "1",
    allMeetings: "All Meetings",
    status: "Status",
    year: "Year",
    numberOfIssues: "Number of issues",
    export: "Export",
    calendarComingSoon: "Calendar view coming soon",
    tabs: {
      table: "Table",
      calendar: "Calendar",
    },
    language: {
      en: "EN",
      km: "ខ្មែរ",
    },
    theme: {
      light: "Light",
      dark: "Dark",
    },
    statusLabels: {
      Submitted: "Submitted",
      Draft: "Draft",
      "Under Review": "Under Review",
      Scheduled: "Scheduled",
      Completed: "Completed",
      Approved: "Approved",
      Rejected: "Rejected",
      Solved: "Solved",
      "In Progress": "In Progress",
      "Not Addressed": "Not Addressed",
      Saved: "Saved",
      "New Submission": "New Submission",
    },
    table: {
      no: "No.",
      meetingTitle: "Meeting Title",
      status: "Status",
      issues: "# of Issues",
      meetingRequest: "Meeting Request Letter",
      requestedDate: "Requested Date",
      requestedBy: "Requested By",
      action: "Action",
      viewDetail: "View Detail",
      createMeeting: "Create Meeting",
    },
    detail: {
      back: "Back",
      title: "Meeting Request Details",
      breadcrumb: "All Meetings / Meeting Detail",
      startReview: "Start Review",
      createMeeting: "Create Meeting",
      startReviewDescription: "Do you want to start reviewing this meeting request?",
      confirm: "Confirm",
      cancel: "Cancel",
      listOfIssues: "List of Issues",
      submitDetails: "Submit Details",
      privateSectorWg: "Private Sector WG",
      submittedDate: "Submitted Date",
      meetingRequest: "Meeting Request Letter",
      submittedBy: "Submitted By",
      coChairRequestedBy: "Co-chair requested by",
      descriptions: "Descriptions",
      no: "No.",
      issue: "Issue",
      categoryOfIssue: "Category of Issue",
      issueDescription: "Issue Description",
      recommendation: "Recommendation",
      govtPrimaryAgency: "Gov't primary Agency",
      govtSecondAgency: "Gov't second Agency",
      govtThirdAgency: "Gov't third Agency",
      govtFourthAgency: "Gov't fourth Agency",
      govtFifthAgency: "Gov't fifth Agency",
      status: "Status",
      action: "Action",
      noIssuesFound: "No issues found.",
      viewDetail: "View Detail",
      issuesDetail: "Issues Detail",
      submittedByLower: "Submitted by",
      issueDocument: "Issue Document",
      categoryOfIssues: "Category of Issues",
      governmentAgency: "Government Agency",
      issueDescriptions: "Issue Descriptions",
      recommendations: "Recommendations",
      noData: "no data",
      loading: "Loading meeting request...",
      failedToLoad: "Failed to load meeting request.",
      waitForProfile: "Please wait until your user profile is loaded.",
      notLoaded: "Meeting request is not loaded.",
      meetingScheduledSuccess: "Meeting scheduled and invitations sent successfully.",
      meetingDraftSuccess: "Meeting draft saved successfully.",
      reviewStartedSuccess: "Meeting request review started successfully.",
    },
    meetingCalendar: {
      title: "Meeting Calendar",
      subtitle: "Meeting Calendar",
      createMeeting: "Create Meeting",
      allMeetings: "All Meetings",
      calendar: "Calendar",
      filters: {
        status: "Status",
        year: "Year",
        issueCount: "Number of issues",
      },
      table: {
        no: "No.",
        meetingTitle: "Meeting Title",
        workingGroupName: "Working Group Name",
        description: "Description",
        issueCount: "# of Issues",
        meetingReference: "Meeting Reference",
        meetingDate: "WG Meeting Date",
        timeRange: "Start & End Time",
        status: "Status",
        action: "Action",
        empty: "No meetings match the selected filters.",
      },
      actions: {
        viewDetail: "View Detail",
        edit: "Edit",
        viewMeetingSummary: "View Meeting Summary",
        createMeetingSummary: "Create Meeting Summary",
        openActions: "Open actions for",
      },
      detail: {
        meetingDetail: "Meeting Detail",
        issueDetail: "Issue Detail",
        submitDetails: "Submit Details",
        wgMeeting: "WG Meeting",
        submittedBy: "Submitted by",
        submittedDate: "Submitted Date",
        meetingReference: "Meeting Reference",
        governmentAgency: "Government Agency",
        status: "Status",
        sentBy: "Sent by",
        meetingInformation: "Meeting Information",
        date: "Date",
        time: "Time",
        location: "Location",
        descriptions: "Descriptions",
        issueDocument: "Issue Document",
        categoryOfIssues: "Category of Issues",
        issueDescriptions: "Issue Descriptions",
        recommendations: "Recommendations",
        listOfIssues: "List of Issues",
        noData: "No data",
        noIssuesSubmitted: "No issues submitted.",
        close: "Close",
      },
      issueTable: {
        no: "No.",
        issue: "Issue",
        categoryOfIssue: "Category of Issue",
        issueDescription: "Issue Description",
        recommendation: "Recommendation",
        govtPrimaryAgency: "Gov't primary Agency",
        govtSecondAgency: "Gov't second Agency",
        govtThirdAgency: "Gov't third Agency",
        govtFourthAgency: "Gov't fourth Agency",
        govtFifthAgency: "Gov't fifth Agency",
        status: "Status",
        action: "Action",
        viewDetail: "View Detail",
        notUploaded: "Not Uploaded",
      },
      loadMeetingsError: "Could not load meetings.",
      loadDetailError: "Could not load meeting detail.",
      loadEditError: "Could not load meeting for editing.",
      updatedSuccess: "Meeting updated.",
    },
    meetingCreate: {
      createMeeting: "Create Meeting",
      editMeeting: "Edit Meeting",
      print: "Print",
      saveDraft: "Save Draft",
      saveChange: "Save Change",
      saving: "Saving...",
      scheduleAndSendInvites: "Schedule and Send Invites",
      scheduling: "Scheduling...",
      titleMeeting: "Title Meeting",
      titlePlaceholder: "Write a meeting title",
      description: "Description",
      descriptionPlaceholder: "Write a description............",
      date: "Date",
      datePlaceholder: "dd MMMM yyyy",
      today: "Today",
      previousMonth: "Previous month",
      nextMonth: "Next month",
      startTime: "Start Time",
      endTime: "End Time",
      addLocation: "Add location",
      locationPlaceholder: "Enter location",
      addGuest: "Add guest",
      documentReference: "Document Reference",
      uploading: "Uploading",
      completed: "Completed",
      replaceDocument: "Replace document",
      clickToUpload: "Click to upload",
      dragAndDrop: "or drag and drop",
      pdfUpTo10Mb: "PDF up to 10 MB",
      listOfIssues: "List of Issues",
      linkMeetingRequest: "Link Meeting Request",
      addIssue: "Add Issue",
      scheduleConfirmTitle: "Schedule and send invites?",
      scheduleConfirmDescription: "This meeting will be scheduled and invitations will be sent to all guests.",
      scheduleAndSend: "Send",
      invitePeople: "Invite People",
      guestsInvited: "guest(s) invited",
      inviteByEmail: "Invite people via this email address",
      addEmail: "Add by email",
      validEmailHint: "Type a valid email and press Enter to add",
      loadingUsers: "Loading…",
      noMatchingUsers: "No matching users",
      noUsersFound: "No users found",
      noAgencySelected: "No government agency selected",
      unableSaveMeeting: "Unable to save meeting.",
      draftSavedOnDevice: "Draft saved on this device.",
      addIssueTitle: "Add Issue",
      workingGroupName: "Working Group Name",
      governmentAgency: "Government Agency",
      issue: "Issue",
      issuePlaceholder: "Write Issue title",
      issueCategory: "Issue Category",
      issueCategoryPlaceholder: "Select issue category",
      issueDescription: "Description of the Issue",
      issueDescriptionPlaceholder: "Write description .........",
      recommendation: "Recommendation",
      recommendationPlaceholder: "Write Recommendation.........",
      issueAttachment: "Issue Attachment",
      cancel: "Cancel",
      save: "Save",
      allMeetingRequests: "All Meeting Requests",
      addNow: "Add now",
      loadingMeetingRequests: "Loading meeting requests...",
      noMeetingRequests: "No meeting requests available.",
      unableLoadMeetingRequests: "Unable to load meeting requests.",
      pswg: "PSWG",
      addIssueSaved: "Issue added to the meeting request successfully.",
      addIssueFailed: "Unable to add the issue.",
      linkRequestFailed: "Unable to link the meeting request.",
    },
    pagination: {
      previous: "Previous",
      next: "Next",
    },
  },
  km: {
    title: "សំណើប្រជុំ",
    badgeCount: "1",
    allMeetings: "ការប្រជុំទាំងអស់",
    status: "ស្ថានភាព",
    year: "ឆ្នាំ",
    numberOfIssues: "ចំនួនបញ្ហា",
    export: "ទាញយក",
    calendarComingSoon: "ទម្រង់ប្រតិទិននឹងមានក្នុងពេលឆាប់ៗ",
    tabs: {
      table: "តារាង",
      calendar: "ប្រតិទិន",
    },
    language: {
      en: "EN",
      km: "ខ្មែរ",
    },
    theme: {
      light: "ភ្លឺ",
      dark: "ងងឹត",
    },
    statusLabels: {
      Submitted: "បានដាក់ស្នើ",
      Draft: "ព្រាង",
      "Under Review": "កំពុងពិនិត្យ",
      Scheduled: "បានកំណត់កាលវិភាគ",
      Completed: "បានបញ្ចប់",
      Approved: "បានអនុម័ត",
      Rejected: "បានបដិសេធ",
      Solved: "បានដោះស្រាយ",
      "In Progress": "កំពុងដំណើរការ",
      "Not Addressed": "មិនទាន់ដោះស្រាយ",
      Saved: "បានរក្សាទុក",
      "New Submission": "ការដាក់ស្នើថ្មី",
    },
    table: {
      no: "ល.រ",
      meetingTitle: "ចំណងជើងប្រជុំ",
      status: "ស្ថានភាព",
      issues: "ចំនួនបញ្ហា",
      meetingRequest: "លិខិតស្នើសុំប្រជុំ",
      requestedDate: "កាលបរិច្ឆេទស្នើ",
      requestedBy: "ស្នើដោយ",
      action: "សកម្មភាព",
      viewDetail: "មើលព័ត៌មានលម្អិត",
      createMeeting: "បង្កើតកិច្ចប្រជុំ",
    },
    detail: {
      back: "ថយក្រោយ",
      title: "ព័ត៌មានលម្អិតសំណើប្រជុំ",
      breadcrumb: "ការប្រជុំទាំងអស់ / ព័ត៌មានលម្អិតកិច្ចប្រជុំ",
      startReview: "ចាប់ផ្តើមពិនិត្យ",
      createMeeting: "បង្កើតកិច្ចប្រជុំ",
      startReviewDescription: "តើអ្នកចង់ចាប់ផ្តើមពិនិត្យសំណើប្រជុំនេះមែនទេ?",
      confirm: "បញ្ជាក់",
      cancel: "បោះបង់",
      listOfIssues: "បញ្ជីបញ្ហា",
      submitDetails: "ព័ត៌មានដាក់ស្នើ",
      privateSectorWg: "ក្រុមការងារវិស័យឯកជន",
      submittedDate: "កាលបរិច្ឆេទដាក់ស្នើ",
      meetingRequest: "លិខិតស្នើសុំប្រជុំ",
      submittedBy: "ដាក់ស្នើដោយ",
      coChairRequestedBy: "ស្នើដោយសហប្រធាន",
      descriptions: "ការពិពណ៌នា",
      no: "ល.រ",
      issue: "បញ្ហា",
      categoryOfIssue: "ប្រភេទបញ្ហា",
      issueDescription: "ការពិពណ៌នាបញ្ហា",
      recommendation: "អនុសាសន៍",
      govtPrimaryAgency: "ស្ថាប័នរដ្ឋាភិបាលចម្បង",
      govtSecondAgency: "ស្ថាប័នរដ្ឋាភិបាលទី២",
      govtThirdAgency: "ស្ថាប័នរដ្ឋាភិបាលទី៣",
      govtFourthAgency: "ស្ថាប័នរដ្ឋាភិបាលទី៤",
      govtFifthAgency: "ស្ថាប័នរដ្ឋាភិបាលទី៥",
      status: "ស្ថានភាព",
      action: "សកម្មភាព",
      noIssuesFound: "រកមិនឃើញបញ្ហា។",
      viewDetail: "មើលព័ត៌មានលម្អិត",
      issuesDetail: "ព័ត៌មានលម្អិតបញ្ហា",
      submittedByLower: "ដាក់ស្នើដោយ",
      issueDocument: "ឯកសារបញ្ហា",
      categoryOfIssues: "ប្រភេទបញ្ហា",
      governmentAgency: "ស្ថាប័នរដ្ឋាភិបាល",
      issueDescriptions: "ការពិពណ៌នាបញ្ហា",
      recommendations: "អនុសាសន៍",
      noData: "មិនមានទិន្នន័យ",
      loading: "កំពុងផ្ទុកសំណើប្រជុំ...",
      failedToLoad: "មិនអាចផ្ទុកសំណើប្រជុំបានទេ។",
      waitForProfile: "សូមរង់ចាំរហូតដល់ទម្រង់អ្នកប្រើប្រាស់របស់អ្នកត្រូវបានផ្ទុក។",
      notLoaded: "សំណើប្រជុំមិនទាន់ត្រូវបានផ្ទុកទេ។",
      meetingScheduledSuccess: "បានកំណត់កាលវិភាគប្រជុំ និងផ្ញើការអញ្ជើញដោយជោគជ័យ។",
      meetingDraftSuccess: "បានរក្សាទុកពង្រាងប្រជុំដោយជោគជ័យ។",
      reviewStartedSuccess: "បានចាប់ផ្តើមពិនិត្យសំណើប្រជុំដោយជោគជ័យ។",
    },
    meetingCalendar: {
      title: "ប្រតិទិនប្រជុំ",
      subtitle: "ប្រតិទិនប្រជុំ",
      createMeeting: "បង្កើតកិច្ចប្រជុំ",
      allMeetings: "ការប្រជុំទាំងអស់",
      calendar: "ប្រតិទិន",
      filters: {
        status: "ស្ថានភាព",
        year: "ឆ្នាំ",
        issueCount: "ចំនួនបញ្ហា",
      },
      table: {
        no: "ល.រ",
        meetingTitle: "ចំណងជើងប្រជុំ",
        workingGroupName: "ឈ្មោះក្រុមការងារ",
        description: "ការពិពណ៌នា",
        issueCount: "ចំនួនបញ្ហា",
        meetingReference: "ឯកសារយោងប្រជុំ",
        meetingDate: "កាលបរិច្ឆេទប្រជុំ WG",
        timeRange: "ពេលវេលាចាប់ផ្តើម និងបញ្ចប់",
        status: "ស្ថានភាព",
        action: "សកម្មភាព",
        empty: "រកមិនឃើញកិច្ចប្រជុំដែលត្រូវនឹងតម្រងដែលបានជ្រើសរើសទេ។",
      },
      actions: {
        viewDetail: "មើលព័ត៌មានលម្អិត",
        edit: "កែសម្រួល",
        viewMeetingSummary: "មើលសេចក្តីសង្ខេបកិច្ចប្រជុំ",
        createMeetingSummary: "បង្កើតសេចក្តីសង្ខេបកិច្ចប្រជុំ",
        openActions: "បើកសកម្មភាពសម្រាប់",
      },
      detail: {
        meetingDetail: "ព័ត៌មានលម្អិតកិច្ចប្រជុំ",
        issueDetail: "ព័ត៌មានលម្អិតបញ្ហា",
        submitDetails: "ព័ត៌មានដាក់ស្នើ",
        wgMeeting: "កិច្ចប្រជុំ WG",
        submittedBy: "ដាក់ស្នើដោយ",
        submittedDate: "កាលបរិច្ឆេទដាក់ស្នើ",
        meetingReference: "ឯកសារយោងប្រជុំ",
        governmentAgency: "ស្ថាប័នរដ្ឋាភិបាល",
        status: "ស្ថានភាព",
        sentBy: "ផ្ញើដោយ",
        meetingInformation: "ព័ត៌មានកិច្ចប្រជុំ",
        date: "កាលបរិច្ឆេទ",
        time: "ពេលវេលា",
        location: "ទីតាំង",
        descriptions: "ការពិពណ៌នា",
        issueDocument: "ឯកសារបញ្ហា",
        categoryOfIssues: "ប្រភេទបញ្ហា",
        issueDescriptions: "ការពិពណ៌នាបញ្ហា",
        recommendations: "អនុសាសន៍",
        listOfIssues: "បញ្ជីបញ្ហា",
        noData: "មិនមានទិន្នន័យ",
        noIssuesSubmitted: "មិនមានបញ្ហាដែលបានដាក់ស្នើទេ។",
        close: "បិទ",
      },
      issueTable: {
        no: "ល.រ",
        issue: "បញ្ហា",
        categoryOfIssue: "ប្រភេទបញ្ហា",
        issueDescription: "ការពិពណ៌នាបញ្ហា",
        recommendation: "អនុសាសន៍",
        govtPrimaryAgency: "ស្ថាប័នរដ្ឋាភិបាលចម្បង",
        govtSecondAgency: "ស្ថាប័នរដ្ឋាភិបាលទី២",
        govtThirdAgency: "ស្ថាប័នរដ្ឋាភិបាលទី៣",
        govtFourthAgency: "ស្ថាប័នរដ្ឋាភិបាលទី៤",
        govtFifthAgency: "ស្ថាប័នរដ្ឋាភិបាលទី៥",
        status: "ស្ថានភាព",
        action: "សកម្មភាព",
        viewDetail: "មើលព័ត៌មានលម្អិត",
        notUploaded: "មិនទាន់ផ្ទុកឡើង",
      },
      loadMeetingsError: "មិនអាចផ្ទុកកិច្ចប្រជុំបានទេ។",
      loadDetailError: "មិនអាចផ្ទុកព័ត៌មានលម្អិតកិច្ចប្រជុំបានទេ។",
      loadEditError: "មិនអាចផ្ទុកកិច្ចប្រជុំសម្រាប់កែសម្រួលបានទេ។",
      updatedSuccess: "បានធ្វើបច្ចុប្បន្នភាពកិច្ចប្រជុំ។",
    },
    meetingCreate: {
      createMeeting: "បង្កើតកិច្ចប្រជុំ",
      editMeeting: "កែសម្រួលកិច្ចប្រជុំ",
      print: "បោះពុម្ព",
      saveDraft: "រក្សាទុកពង្រាង",
      saveChange: "រក្សាទុកការផ្លាស់ប្តូរ",
      saving: "កំពុងរក្សាទុក...",
      scheduleAndSendInvites: "កំណត់កាលវិភាគ និងផ្ញើការអញ្ជើញ",
      scheduling: "កំពុងកំណត់កាលវិភាគ...",
      titleMeeting: "ចំណងជើងកិច្ចប្រជុំ",
      titlePlaceholder: "សរសេរចំណងជើងកិច្ចប្រជុំ",
      description: "ការពិពណ៌នា",
      descriptionPlaceholder: "សរសេរការពិពណ៌នា............",
      date: "កាលបរិច្ឆេទ",
      datePlaceholder: "ថ្ងៃ ខែ ឆ្នាំ",
      today: "ថ្ងៃនេះ",
      previousMonth: "ខែមុន",
      nextMonth: "ខែបន្ទាប់",
      startTime: "ពេលវេលាចាប់ផ្តើម",
      endTime: "ពេលវេលាបញ្ចប់",
      addLocation: "បន្ថែមទីតាំង",
      locationPlaceholder: "បញ្ចូលទីតាំង",
      addGuest: "បន្ថែមអ្នកចូលរួម",
      documentReference: "ឯកសារយោង",
      uploading: "កំពុងផ្ទុកឡើង",
      completed: "បានបញ្ចប់",
      replaceDocument: "ប្តូរឯកសារ",
      clickToUpload: "ចុចដើម្បីផ្ទុកឡើង",
      dragAndDrop: "ឬអូសនិងទម្លាក់",
      pdfUpTo10Mb: "PDF ដល់ ១០ MB",
      listOfIssues: "បញ្ជីបញ្ហា",
      linkMeetingRequest: "ភ្ជាប់សំណើប្រជុំ",
      addIssue: "បន្ថែមបញ្ហា",
      scheduleConfirmTitle: "កំណត់កាលវិភាគ និងផ្ញើការអញ្ជើញ?",
      scheduleConfirmDescription: "កិច្ចប្រជុំនេះនឹងត្រូវបានកំណត់កាលវិភាគ ហើយការអញ្ជើញនឹងត្រូវបានផ្ញើទៅអ្នកចូលរួមទាំងអស់។",
      scheduleAndSend: "ផ្ញើ",
      invitePeople: "អញ្ជើញអ្នកចូលរួម",
      guestsInvited: "អ្នកចូលរួមបានអញ្ជើញ",
      inviteByEmail: "អញ្ជើញមនុស្សតាមអាសយដ្ឋានអ៊ីមែលនេះ",
      addEmail: "បន្ថែមតាមអ៊ីមែល",
      validEmailHint: "វាយអ៊ីមែលត្រឹមត្រូវ ហើយចុច Enter ដើម្បីបន្ថែម",
      loadingUsers: "កំពុងផ្ទុក…",
      noMatchingUsers: "រកមិនឃើញអ្នកប្រើប្រាស់ដែលត្រូវគ្នា",
      noUsersFound: "រកមិនឃើញអ្នកប្រើប្រាស់",
      noAgencySelected: "មិនទាន់ជ្រើសរើសស្ថាប័នរដ្ឋាភិបាល",
      unableSaveMeeting: "មិនអាចរក្សាទុកកិច្ចប្រជុំបានទេ។",
      draftSavedOnDevice: "បានរក្សាទុកពង្រាងនៅលើឧបករណ៍នេះ។",
      addIssueTitle: "បន្ថែមបញ្ហា",
      workingGroupName: "ឈ្មោះក្រុមការងារ",
      governmentAgency: "ស្ថាប័នរដ្ឋាភិបាល",
      issue: "បញ្ហា",
      issuePlaceholder: "សរសេរចំណងជើងបញ្ហា",
      issueCategory: "ប្រភេទបញ្ហា",
      issueCategoryPlaceholder: "ជ្រើសរើសប្រភេទបញ្ហា",
      issueDescription: "ការពិពណ៌នាបញ្ហា",
      issueDescriptionPlaceholder: "សរសេរការពិពណ៌នា .........",
      recommendation: "អនុសាសន៍",
      recommendationPlaceholder: "សរសេរអនុសាសន៍.........",
      issueAttachment: "ឯកសារភ្ជាប់បញ្ហា",
      cancel: "បោះបង់",
      save: "រក្សាទុក",
      allMeetingRequests: "សំណើប្រជុំទាំងអស់",
      addNow: "បន្ថែមឥឡូវនេះ",
      loadingMeetingRequests: "កំពុងផ្ទុកសំណើប្រជុំ...",
      noMeetingRequests: "មិនមានសំណើប្រជុំទេ។",
      unableLoadMeetingRequests: "មិនអាចផ្ទុកសំណើប្រជុំបានទេ។",
      pswg: "PSWG",
      addIssueSaved: "បានបន្ថែមបញ្ហាទៅសំណើប្រជុំដោយជោគជ័យ។",
      addIssueFailed: "មិនអាចបន្ថែមបញ្ហាបានទេ។",
      linkRequestFailed: "មិនអាចភ្ជាប់សំណើប្រជុំបានទេ។",
    },
    pagination: {
      previous: "មុន",
      next: "បន្ទាប់",
    },
  },
} as const;

export type MeetingRequestDetailLabels = (typeof i18n)[UiLang]["detail"];
export type MeetingCalendarLabels =
  (typeof i18n)[UiLang]["meetingCalendar"];

export function getMeetingRequestFont(lang: UiLang) {
  return lang === "km"
    ? '"Kantumruy Pro", "Noto Sans Khmer", "Inter", sans-serif'
    : '"Inter", "Kantumruy Pro", "Noto Sans Khmer", sans-serif';
}
