import type { CdcIssueMatrixRow } from "./cdc-issue-matrix-data";

export type CdcIssueMatrixLanguage = "en" | "kh";

export type CdcIssueMatrixTranslation = {
  title: string;
  breadcrumb: string;
  search: string;
  export: string;
  newIssue: string;
  list: string;
  grid: string;
  noData: string;
  viewDetail: string;
  gridCard: {
    no: string;
    ministry: string;
    status: string;
    categoryOfIssue: string;
    issue: string;
    escalation: string;
    issueDescription: string;
    recommendation: string;
    rgcDecision: string;
    remark: string;
    plenary: string;
    notPlenary: string;
  };
  totalIssues: string;
  solved: string;
  inProgress: string;
  notAddressed: string;
  totalPrimaryAgencies: string;
  filters: {
    categories: string;
    status: string;
    pswgs: string;
    year: string;
    plenaryEscalation: string;
  };
  columns: Partial<Record<keyof CdcIssueMatrixRow, string>>;
  detail: {
    back: string;
    pageTitle: string;
    breadcrumb: string;
    submitDetailLabels: {
      submitDetail: string;
      ministryName: string;
      submittedBy: string;
      submissionDate: string;
      status: string;
      categoryOfIssues: string;
      issueDocument: string;
      ministry: string;
      plenaryEscalation: string;
    };
    sections: {
      issueDescription: string;
      recommendation: string;
      rgcDecision: string;
      indicators: string;
      progressSolution: string;
      implementationChallenges: string;
      request: string;
      nextStep: string;
      sourceOfVerification: string;
      linkToVerificationSource: string;
    };
  };
};

export function normalizeCdcIssueMatrixLanguage(
  language?: string,
): CdcIssueMatrixLanguage {
  if (language === "kh" || language === "km") return "kh";
  return "en";
}

export const cdcIssueMatrixText: Record<
  CdcIssueMatrixLanguage,
  CdcIssueMatrixTranslation
> = {
  en: {
    title: "All Issues",
    breadcrumb: "All Issues",
    search: "Search",
    export: "Export",
    newIssue: "New",
    list: "List",
    grid: "Grid",
    noData: "No data found",
    viewDetail: "View Detail",
    gridCard: {
      no: "No.",
      ministry: "Ministry",
      status: "Status",
      categoryOfIssue: "Category of Issue",
      issue: "Issue",
      escalation: "Escalation",
      issueDescription: "Issue Description",
      recommendation: "Recommendation",
      rgcDecision: "RGC Decision",
      remark: "Remark",
      plenary: "Plenary",
      notPlenary: "-",
    },

    totalIssues: "Total Issues",
    solved: "Solved",
    inProgress: "In Progress",
    notAddressed: "Not Addressed",
    totalPrimaryAgencies: "Total Primary Agencies",

    filters: {
      categories: "Categories",
      status: "Status",
      pswgs: "PSWGs",
      year: "Year",
      plenaryEscalation: "Plenary Escalation",
    },

    columns: {
      id: "No.",
      workingGroup: "Working Group Name",
      issue: "Issue",
      category: "Category of Issue",
      issueDescription: "Issue Description",
      recommendation: "Recommendation",
      governmentDecision: "RGC Decision",
      primaryAgency: "Ministry",
      plenaryEscalation: "Plenary Escalation",
      status: "Status",
      nextStep: "Next Step",
      remark: "Remark",
      action: "Action",
    },

    detail: {
      back: "Back",
      pageTitle: "Issue Details",
      breadcrumb: "Issue Detail",
      submitDetailLabels: {
        submitDetail: "Submit Detail",
        ministryName: "Ministry Name",
        submittedBy: "Submitted By",
        submissionDate: "Submission Date",
        status: "Status",
        categoryOfIssues: "Category of Issues",
        issueDocument: "Issue Document",
        ministry: "Ministry",
        plenaryEscalation: "Plenary Escalation",
      },
      sections: {
        issueDescription: "Issues Description",
        recommendation: "Recommendations",
        rgcDecision: "RGC Decision",
        indicators: "Indicators",
        progressSolution: "Progress Solution",
        implementationChallenges: "Implementation Challenges",
        request: "Request",
        nextStep: "Next Step",
        sourceOfVerification: "Source of Verification",
        linkToVerificationSource: "Link to Verification Source",
      },
    },
  },

  kh: {
    title: "បញ្ហាទាំងអស់",
    breadcrumb: "បញ្ហាទាំងអស់",
    search: "ស្វែងរក",
    export: "នាំចេញ",
    newIssue: "ថ្មី",
    list: "បញ្ជី",
    grid: "ក្រឡាចត្រង្គ",
    noData: "មិនមានទិន្នន័យ",
    viewDetail: "មើលលម្អិត",
    gridCard: {
      no: "ល.រ",
      ministry: "ក្រសួង",
      status: "ស្ថានភាព",
      categoryOfIssue: "ប្រភេទបញ្ហា",
      issue: "បញ្ហា",
      escalation: "ការលើកឡើង",
      issueDescription: "ការពិពណ៌នាបញ្ហា",
      recommendation: "អនុសាសន៍",
      rgcDecision: "សេចក្តីសម្រេចរបស់រាជរដ្ឋាភិបាល",
      remark: "កំណត់សម្គាល់",
      plenary: "អង្គប្រជុំពេញអង្គ",
      notPlenary: "-",
    },

    totalIssues: "បញ្ហាសរុប",
    solved: "បានដោះស្រាយ",
    inProgress: "កំពុងដំណើរការ",
    notAddressed: "មិនទាន់ដោះស្រាយ",
    totalPrimaryAgencies: "ស្ថាប័នទទួលបន្ទុកសរុប",

    filters: {
      categories: "ប្រភេទ",
      status: "ស្ថានភាព",
      pswgs: "ក្រុមការងារ PSWG",
      year: "ឆ្នាំ",
      plenaryEscalation: "ការលើកឡើងក្នុងអង្គប្រជុំពេញអង្គ",
    },

    columns: {
      id: "ល.រ",
      workingGroup: "ឈ្មោះក្រុមការងារ",
      issue: "បញ្ហា",
      category: "ប្រភេទបញ្ហា",
      issueDescription: "ការពិពណ៌នាបញ្ហា",
      recommendation: "អនុសាសន៍",
      governmentDecision: "សេចក្តីសម្រេចរបស់រាជរដ្ឋាភិបាល",
      primaryAgency: "ក្រសួង",
      plenaryEscalation: "ការលើកឡើងក្នុងអង្គប្រជុំពេញអង្គ",
      status: "ស្ថានភាព",
      nextStep: "ជំហានបន្ទាប់",
      remark: "កំណត់សម្គាល់",
      action: "សកម្មភាព",
    },

    detail: {
      back: "ត្រឡប់ក្រោយ",
      pageTitle: "ព័ត៌មានលម្អិតបញ្ហា",
      breadcrumb: "ព័ត៌មានលម្អិតបញ្ហា",
      submitDetailLabels: {
        submitDetail: "ព័ត៌មានដាក់ស្នើ",
        ministryName: "ឈ្មោះក្រសួង",
        submittedBy: "ដាក់ស្នើដោយ",
        submissionDate: "កាលបរិច្ឆេទដាក់ស្នើ",
        status: "ស្ថានភាព",
        categoryOfIssues: "ប្រភេទបញ្ហា",
        issueDocument: "ឯកសារបញ្ហា",
        ministry: "ក្រសួង",
        plenaryEscalation: "ការលើកឡើងក្នុងអង្គប្រជុំពេញអង្គ",
      },
      sections: {
        issueDescription: "ការពិពណ៌នាបញ្ហា",
        recommendation: "អនុសាសន៍",
        rgcDecision: "សេចក្តីសម្រេចរបស់រាជរដ្ឋាភិបាល",
        indicators: "សូចនាករ",
        progressSolution: "ដំណើរការដោះស្រាយ",
        implementationChallenges: "បញ្ហាក្នុងការអនុវត្ត",
        request: "សំណើ",
        nextStep: "ជំហានបន្ទាប់",
        sourceOfVerification: "ប្រភពផ្ទៀងផ្ទាត់",
        linkToVerificationSource: "តំណភ្ជាប់ទៅប្រភពផ្ទៀងផ្ទាត់",
      },
    },
  },
};
