export const enUS = {
  common: {
    cancel: 'Cancel',
    confirm: 'Confirm',
    delete: 'Delete',
    close: 'Close',
    clear: 'Clear',
    loading: 'Loading...'
  },
  app: {
    projectConflict: {
      title: 'Project Already Open',
      desc: 'Project "{name}" is already active in another tab. Editing is blocked here to avoid IndexedDB conflicts.',
      countdown: 'This page will try to close automatically in {seconds} seconds. You can open another project in a new tab first.',
      opened: '(Opened)',
      lastEdited: 'Last edited: {time}',
      openDefault: 'Open Default Project',
      createAndOpen: 'Create and Open'
    }
  },
  home: {
    title: 'Engineering Calculation Entry',
    subtitle: 'Project Budget · Quick Calc · Import Data',
    projectCalcTab: 'Project Calculation',
    quickCalcTab: 'Quick Calculation',
    cards: {
      heroTitle: 'One-Click Smart Budget',
      heroSubTitle: 'Accelerate standards adoption',
      heroDesc: 'Cost consulting fee calculator for transport construction projects',
      projectBudget: 'Project Budget',
      projectBudgetDesc: 'For full project-level calculation across multiple contracts with import/export support',
      quickCalc: 'Quick Calc',
      quickCalcDesc: 'Suitable for single service trial, select industry, consultation type, engineering specialty, input base number and get results in seconds',
      importData: 'Import Data',
      importDataDesc: 'Import a ".zw" package and create a new project automatically to restore the data without overriding existing projects',
      enter: 'Enter',
      developing: 'In Development',
      pickFile: 'Choose File',
      pickExisting: 'Choose Existing',
      relatedFiles: 'Related Files',
      relatedFilesDesc: 'View related fee documents, tender files, contract files, service content, and work requirements',
      openRelatedFiles: 'Open Page'
    },
    dialog: {
      newProject: 'New Project',
      chooseIndustryDesc: 'Choose an industry and enter project calculation directly.',
      industry: 'Industry',
      selectIndustry: 'Select industry',
      entering: 'Entering...',
      enterProjectCalc: 'Enter Project Calculation',
      confirmImport: 'Confirm Import',
      confirmImportDesc: 'Import "{file}"',
      confirmImportAction: 'Import and Create Project',
      chooseExistingProject: 'Choose Existing Project',
      chooseExistingProjectDesc: 'Select a project from the list and enter workspace directly.',
      noProjectYet: 'No project available. Create a new project first.'
    }
  },
  tab: {
    toolbar: {
      light: 'Light',
      dark: 'Dark',
      language: 'Lang',
      importExport: 'Import/Export',
      importData: 'Import',
      exportData: 'Export',
      exportReport: 'Export Report',
      userGuide: 'Guide',
      reset: 'Reset',
      resetting: 'Resetting...',
      projectList: 'Projects',
      projectCount: 'Projects: {count}',
      createProject: 'New Project',
      backHome: 'Back Home',
      resetAll: 'Reset All',
      opened: '(Opened)',
      lastEdited: 'Last edited: {time}'
    },
    menu: {
      closeAll: 'Close All',
      closeLeft: 'Close Left',
      closeRight: 'Close Right',
      closeOther: 'Close Others'
    },
    dialog: {
      resetTitle: 'Confirm Reset',
      resetDesc: 'All project data will be cleared and the default page will be restored. Continue?',
      confirmReset: 'Confirm Reset',
      importOverrideTitle: 'Confirm Override Import',
      importOverrideDesc: 'Use "{file}" to override all local data for current project. Continue?',
      confirmOverride: 'Confirm Override',
      newProjectTitle: 'New Project',
      newProjectDesc: 'Choose an industry, then open the new project calculation page in a new tab.',
      createAndOpen: 'Create & Open',
      creating: 'Creating...',
      projectLimitTitle: 'Project Limit Reached',
      projectLimitDesc: 'Project count has reached {max}. Delete one project before adding a new one.',
      iKnow: 'OK',
      deleteProjectTitle: 'Confirm Delete Project',
      deleteCurrentProjectDesc: 'Delete current project "{name}"? Data will be cleared and you will return to home.',
      deleteProjectDesc: 'Delete project "{name}"? This will remove local data for that project.'
    },
    guide: {
      title: 'User Guide',
      later: 'Later',
      prev: 'Prev',
      next: 'Next',
      finish: 'Finish and Disable Auto Popup',
      jumpToStep: 'Jump to step {index}',
      steps: {
        step1: {
          title: 'Project Calculation Overview',
          description: 'This guide only explains the main project-calculation flow: project setup -> contract segments -> service pricing -> report export.',
          point1: 'The entry is the "Project Card", and the left flow line guides you through the setup in order.',
          point2: 'Forms and grids auto-save locally, so manual save is usually unnecessary.',
          point3: 'Project-level data affects later segment calculation and report output, so fill it first.'
        },
        step2: {
          title: 'Project-Level Setup',
          description: 'Project-level setup mainly includes Basic Info, Scale Info, Consult Category Factor, and Major Factor.',
          point1: 'Basic Info: maintain project name, industry, and other base data.',
          point2: 'Scale Info: fill project scale by major as input for later budget values.',
          point3: 'The two factor pages maintain budget values and notes used to adjust calculation.'
        },
        step3: {
          title: 'Fill Basic Info First',
          description: 'Complete the Basic Info page first. Project name and industry are core inputs for later project calculation.',
          point1: 'Project name is used in the home list, tab labels, and exported reports.',
          point2: 'Project industry determines the scale structure, major tree, and part of the budget logic.',
          point3: 'If project name is left empty, the system falls back to the default project name.'
        },
        step4: {
          title: 'Maintain Scale Info',
          description: 'The Scale Info page stores project-level scale data, which is one of the base inputs of project calculation.',
          point1: 'Fill scale values by major. These numbers participate in later service budget values and summary.',
          point2: 'The grid supports direct edit, batch paste, and undo/redo for fast multi-row input.',
          point3: 'Grouped rows and the pinned summary row are calculated automatically for quick checking.'
        },
        step5: {
          title: 'Maintain Project Factors',
          description: 'Consult Category Factor and Major Factor are used to adjust project budget values and should be reviewed before segment calculation.',
          point1: 'Consult Category Factor page: maintain budget values and notes by consult category.',
          point2: 'Major Factor page: maintain budget values and notes by major tree.',
          point3: 'Both pages support batch paste and undo/redo for efficient maintenance.'
        },
        step6: {
          title: 'Enter Segment Calculation',
          description: 'After project-level setup is complete, go to Contract Segment Management and calculate each segment one by one.',
          point1: 'Create a contract segment first, then open its detail page to continue.',
          point2: 'Scale data under one segment belongs only to that segment and does not affect others.',
          point3: 'The consulting service page generates service rows and acts as the entry for pricing methods.'
        },
        step7: {
          title: 'Choose Pricing Methods',
          description: 'From consulting service details inside a segment, open the service pricing page and fill method data based on the service.',
          point1: 'Common methods include investment scale, land scale, workload, and hourly pricing.',
          point2: 'Different services can enable different methods, and the system summarizes them into subtotal and final amount.',
          point3: 'If the default calculated value needs adjustment, edit the final amount or note fields directly.'
        },
        step8: {
          title: 'Review and Export',
          description: 'After project-level and segment-level calculation is complete, review the final summary and then export the report.',
          point1: 'Check project name, scale info, factors, and segment service amounts before exporting.',
          point2: 'Export uses the current project data and generates the final report accordingly.',
          point3: 'If you make large changes, export a backup first before continuing.'
        }
      }
    },
    toast: {
      export: 'Export Report',
      success: 'Export Success',
      failed: 'Export Failed',
      saveSuccess: 'Save Success',
      saveFailed: 'Save Failed'
    },
    messages: {
      defaultProjectLabel: 'Default Project',
      defaultProjectName: 'Cost Project',
      projectNamePrefix: 'Project-{id}',
      contractFallbackName: 'Contract-{index}',
      reportFileSuffix: 'Budget Report',
      reportGenerating: 'Generating report file...',
      reportExportDone: 'Report export completed',
      reportExportFailedRetry: 'Report export failed, please retry',
      importFailedTitle: 'Import Failed',
      importProjectIdMissing: 'This package does not contain project ID (legacy export). Import is blocked to avoid cross-project overwrite.',
      importProjectMismatch: 'This package belongs to another project and cannot override current project.',
      importInvalidFile: 'File is invalid, corrupted, or modified.',
      importCryptoUnavailable: 'This runtime does not support secure archive decryption. Please open the site over HTTPS or another secure local context and try again.',
      importWriteError: 'An error occurred while writing local data.',
      openFile: 'Open file'
    }
  },
  typeLine: {
    copy: 'Copy',
    copied: 'Copied',
    copyFailed: 'Copy failed',
    brandAlt: 'Zhongwei',
    supportText: 'This website is supported by Zhongwei Engineering Consulting Co., Ltd.',
    aboutTitle: 'About Us',
    companyName: 'Zhongwei Engineering Consulting Co., Ltd.',
    openOfficialSiteAria: 'Open official website',
    officialSiteTitle: 'Official Website',
    aboutParagraph1: 'Zhongwei Engineering Consulting Co., Ltd. was founded in 2009, focusing on whole-process consulting for project cost and cost control. It is a preferred audit vendor for Guangdong government. The company serves multi-domain and diverse clients, with cumulative project investment over one trillion CNY, deep participation in major national projects such as the Hong Kong-Zhuhai-Macao Bridge and Hengqin Campus of the University of Macau, and participation in over 30 national/provincial/municipal standards.',
    aboutParagraph2: 'Based in the Greater Bay Area and expanding globally, the company has offices in Macau and Sri Lanka, with cross-border and overseas delivery capabilities. With 15 years of expertise and trillion-level project experience, it provides precise and reliable engineering consulting services.'
  },
  agGrid: {
    resetDefault: 'Reset to default'
  },
  ht: {
    title: 'Contract Segments',
    projectTotalBudget: 'Project Total Budget: {amount}',
    budgetLoading: 'Calculating...',
    selectedCount: '{count} selected',
    exportSelected: 'Export Selected',
    deleteSelected: 'Delete Selected',
    cancelSelect: 'Cancel',
    addContract: 'Add Segment',
    batchDelete: 'Batch Delete',
    exportContracts: 'Export Segments',
    importContracts: 'Import Segments',
    searchPlaceholder: 'Search by segment name or ID',
    clearFilter: 'Clear Filter',
    searchingHint: 'Searching ({filtered} / {total}), drag sorting is disabled',
    selectModeExportHint: 'Export mode: select segments and click "Export Selected"',
    selectModeDeleteHint: 'Delete mode: select segments and click "Delete Selected"',
    setupRequiredHint: 'Set project industry in "Basic Info" before adding or importing segments',
    listLayout: 'List',
    gridLayout: 'Grid',
    dragSort: 'Drag to Sort',
    dragSortSearchOff: 'Drag Sort (Disabled in Search)',
    edit: 'Edit',
    remove: 'Delete',
    idLabel: 'ID: {id}',
    contractBudget: 'Budget: {amount}',
    contractBudgetLine: 'Segment Budget: {amount}',
    createdAt: 'Created: {time}',
    emptyTitle: 'No Contract Segments',
    emptyDesc: 'Add one to get started',
    notFound: 'No matching contract segment',
    backToTop: 'Back to Top',
    editContract: 'Edit Segment',
    createContract: 'New Segment',
    contractTabTitle: 'Segment {name}',
    contractName: 'Segment Name',
    contractNamePlaceholder: 'Enter segment name',
    save: 'Save',
    ok: 'OK',
    toastSuccessTitle: 'Success',
    createSuccess: 'Created successfully',
    editSuccess: 'Updated successfully',
    deleteSuccess: 'Deleted successfully',
    sortDone: 'Sort completed',
    exportSuccess: 'Exported successfully ({count} segments)',
    importSuccess: 'Imported successfully ({count} segments)',
    deleteBatchSuccess: 'Deleted successfully ({count} segments)',
    tipTitle: 'Notice',
    exportFailedTitle: 'Export Failed',
    importFailedTitle: 'Import Failed',
    batchDeleteFailedTitle: 'Batch Delete Failed',
    retry: 'Please try again.',
    selectAtLeastOne: 'Please select at least one contract segment.',
    noContractsToDelete: 'No contract segment found to delete.',
    industryMissingForExport: 'Project industry is missing. Please set it in "Basic Info" first.',
    importIndustryMismatch: 'Industry mismatch (package: {importIndustry}, current: {currentIndustry}).',
    importCurrentIndustryMissing: 'Current project industry is not set. Please set it in "Basic Info" first.',
    importPackageIndustryMissing: 'Import package missing industry info. Re-export with latest version and try again.',
    importFileInvalid: 'Invalid or corrupted file, or not a contract-segment package.',
    importCryptoUnavailable: 'This runtime does not support secure archive decryption. Please open the site over HTTPS or another secure local context and try again.',
    deleteSingleTitle: 'Confirm Delete Segment',
    deleteSingleDesc: 'Delete "{name}" and all related service/pricing data. Continue?',
    deleteBatchTitle: 'Confirm Batch Delete',
    deleteBatchDesc: 'Delete {count} segments and related service/pricing data. Continue?'
  },
  htCard: {
    title: 'Segment: {name}',
    subtitle: 'Segment ID: {id}',
    metaBudget: 'Segment Budget: {amount}',
    currencySuffix: 'CNY',
    categories: {
      baseInfo: 'Basic Info',
      scaleInfo: 'Scale Info',
      services: 'Consulting Services',
      consultFactor: 'Consult Category Factor',
      majorFactor: 'Major Factor',
      additionalFee: 'Additional Fee',
      reserveFee: 'Reserve Fee',
      summary: 'Summary'
    }
  },
  htBaseInfo: {
    title: 'Basic Info',
    defaultQuality: 'The comprehensive evaluation of cost consulting services should reach "Good" or a score of 90.',
    qualityLabel: 'Quality Requirement',
    qualityPlaceholder: 'Enter quality requirement',
    durationLabel: 'Duration Requirement',
    durationPlaceholder: 'Enter duration requirement'
  },
  htFactors: {
    consultCategoryTitle: 'Consult Category Factor Details',
    majorTitle: 'Major Factor Details'
  },
  htFee: {
    additionalTitle: 'Additional Work Fee',
    reserveTitle: 'Reserve Fee'
  },
  htInfo: {
    scaleDetailTitle: 'Contract Scale Details'
  },
  htFeeRate: {
    baseLabel: 'Base (total budget of all service fees)',
    reserveBaseLabel: 'Base (consulting services total + additional work fee total)',
    rateLabel: 'Rate (%)',
    ratePlaceholder: 'Enter rate, suggested 1 ~ 5',
    budgetFeeLabel: 'Budget Fee (Auto)',
    remarkLabel: 'Remark',
    remarkPlaceholder: 'Enter remark'
  },
  htZxFw: {
    title: 'Consulting Service Details',
    warning: 'Please review and adjust recommended limits/special values in the specification, then update final fee if needed.',
    editTabTitle: 'Service Edit-{name}',
    subtotal: 'Subtotal',
    edit: 'Edit',
    resetDefault: 'Reset',
    delete: 'Remove',
    processDraft: 'Draft',
    processReview: 'Review',
    columns: {
      code: 'Code',
      name: 'Name',
      process: 'Process',
      investScale: 'Investment Scale',
      landScale: 'Land Scale',
      workload: 'Workload',
      hourly: 'Hourly',
      subtotal: 'Subtotal',
      finalFee: 'Final Fee ✎',
      finalFeeTooltip: 'This column supports manual edits and will auto-sync to the fixed subtotal row.',
      remark: 'Remark',
      actions: 'Actions'
    },
    dialog: {
      resetTitle: 'Confirm Reset to Default',
      resetDesc: 'This will recalculate default data from latest scale/factor values and overwrite current data for "{name}". Continue?',
      confirmReset: 'Confirm Reset',
      deleteTitle: 'Confirm Delete Service',
      deleteDesc: 'This will logically remove "{name}". Existing entered data is kept and will restore if re-selected. Continue?'
    }
  },
  htSummary: {
    title: 'Contract Summary',
    total: 'Total',
    remark: 'Remark',
    placeholder: 'Fill consulting services / additional work fee / reserve fee first',
    additionalPrefix: 'Additional Work Fee',
    reservePrefix: 'Reserve Fee',
    explainByRate: 'By rate {rate}%, calculated {fee} CNY',
    explainByHourly: 'By hourly method, calculated {fee} CNY',
    explainByQuantity: 'By quantity-unit-price method, calculated {fee} CNY',
    columns: {
      code: 'Code',
      name: 'Name',
      investScale: 'Investment Scale',
      landScale: 'Land Scale',
      workload: 'Workload',
      hourly: 'Hourly',
      subtotal: 'Subtotal',
      finalFee: 'Final Fee'
    }
  },
  htFeeGrid: {
    subtotal: 'Subtotal',
    currentRow: 'Current Row',
    unnamed: 'Unnamed',
    edit: 'Edit',
    clear: 'Clear',
    add: 'Add',
    editTabTitle: 'Fee Edit-{name}',
    columns: {
      name: 'Name',
      rateFee: 'Rate Fee',
      hourlyFee: 'Hourly',
      quantityUnitPriceFee: 'Quantity Unit Price',
      subtotal: 'Subtotal',
      actions: 'Actions'
    },
    dialog: {
      clearTitle: 'Confirm Clear',
      clearDesc: 'This will clear editable and auto-calculated data for "{name}" and its edit page. Continue?',
      confirmClear: 'Confirm Clear'
    }
  },
  xmFactorGrid: {
    clickToInput: 'Click to input',
    columns: {
      standardFactor: 'Standard Factor',
      budgetValue: 'Budget Value',
      remark: 'Remark',
      groupName: 'Major Code and Major Name'
    }
  },
  serviceSelector: {
    title: 'Select Services',
    clear: 'Clear',
    empty: 'No services'
  },
  zxFwView: {
    contractPrefix: 'Contract: {name}',
    calcSuffix: ' Calculation',
    contractId: 'Contract ID: {id}',
    workContentTitle: 'Work Content',
    categories: {
      investmentScale: 'Investment Scale',
      investmentScaleFormula: 'Investment Scale Formula',
      landScale: 'Land Scale',
      landScaleFormula: 'Land Scale Formula',
      workload: 'Workload',
      hourly: 'Hourly',
      workContent: 'Work Content'
    },
    formulaColumns: {
      subtitle: 'Shows the latest detail rows from the current pricing-method store and stays in sync with store updates.',
      amount: 'Amount (CNY)',
      basicFormula: 'Basic Work Formula',
      optionalFormula: 'Optional Work Formula'
    },
    unavailable: {
      investmentScaleTitle: 'Investment Scale Not Applicable',
      investmentScaleMessage: 'Scale method is not enabled for this service, so Investment Scale is not editable.',
      landScaleTitle: 'Land Scale Not Applicable',
      landScaleMessage: 'This service only supports Investment Scale, so Land Scale is not editable.',
      workloadTitle: 'Workload Not Applicable',
      workloadMessage: 'Workload method is not enabled for this service, so Workload is not editable.',
      hourlyTitle: 'Hourly Not Applicable',
      hourlyMessage: 'Hourly method is not enabled for this service, so Hourly is not editable.'
    }
  },
  htFeeDetail: {
    subtotal: 'Subtotal',
    currentRow: 'Current Row',
    clickToInput: 'Click to input',
    addRow: 'Add Row',
    columns: {
      no: 'No.',
      feeItem: 'Fee Item',
      unit: 'Unit',
      quantity: 'Quantity',
      unitPrice: 'Unit Price (CNY)',
      budgetFee: 'Budget Fee (CNY)',
      remark: 'Remark',
      actions: 'Actions'
    },
    dialog: {
      deleteTitle: 'Confirm Delete Row',
      deleteDesc: 'Delete row "{name}"?'
    }
  },
  workContent: {
    title: 'Work Content',
    addCustom: 'Add Custom Content',
    clickToInput: 'Click to input',
    clickToInputContent: 'Click to input work content',
    currentRow: 'Current Row',
    unnamed: 'Unnamed',
    ungrouped: 'Ungrouped',
    type: {
      basic: 'Basic Work',
      optional: 'Optional Work',
      daily: 'Daily Advisory',
      special: 'Special Advisory',
      additional: 'Additional Work',
      custom: 'Custom'
    },
    columns: {
      no: 'No.',
      content: 'Content',
      type: 'Type',
      remark: 'Remark',
      actions: 'Actions'
    },
    dialog: {
      deleteTitle: 'Confirm Delete Row',
      deleteDesc: 'Delete row "{name}"?'
    }
  },
  quickCalc: {
    projectName: 'Quick Calculation',
    industryLabel: 'Industry {name}',
    selectIndustry: 'Select industry',
    saving: 'Saving...',
    synced: 'Industry synced',
    notSelectedIndustry: 'Industry not selected',
    notSelected: 'Not selected',
    consultCategory: 'Consult Category',
    majorCategory: 'Major',
    types: {
      consult: {
        label: 'Consult Category (Common)',
        hint: 'Select consult category first, then complete scale and budget parameters.'
      },
      general: {
        label: 'General Major',
        hint: 'Cross-industry common compensation and other expense majors.'
      },
      road: {
        label: 'Highway Major',
        hint: 'Shown by default when industry is Highway Engineering.'
      },
      railway: {
        label: 'Railway Major',
        hint: 'Shown by default when industry is Railway Engineering.'
      },
      waterway: {
        label: 'Waterway Major',
        hint: 'Shown by default when industry is Waterway Engineering.'
      }
    },
    fields: {
      industry: 'Industry',
      code: 'Code',
      investScale: 'Investment Scale (10k CNY)',
      landScale: 'Land Scale (mu)',
      formula: 'Formula',
      amount: 'Amount (CNY)',
      consultFactor: 'Consult Category Factor',
      majorFactor: 'Major Factor',
      workEnvCoefficient: 'Work environment coefficient',
      workEnvCoefficientPlaceholder: 'Default 1',
      budgetAmount: 'Budget Amount (CNY)'
    },
    sections: {
      currentSelection: 'Current Selection',
      basicInfo: 'Basic Info',
      scaleBase: 'Scale Base',
      benchmarkBudget: 'Benchmark Budget',
      serviceBudget: 'Service Budget',
    },
    empty: {
      selectIndustry: 'Select an industry first. Then choose consult category and matched majors will appear.',
      selectConsult: 'Select a consult category first. Matched general and major categories will then appear.',
      scaleUnavailable: 'The selected consult category does not support scale method, so major categories are hidden.',
      consultCostOnly: 'The selected consult category is priced by industry summary. Major factor is auto-applied by industry.'
    },
    placeholder: {
      selectConsultFirst: 'Select consult category first',
      scaleUnavailable: 'Current category does not support scale method',
      selectMajorFirst: 'Select major first',
      preferLandScale: 'Current major is priced by land scale',
      investUnavailable: 'Current major does not support investment scale',
      consultCostOnly: 'Current category supports investment scale only',
      landUnavailable: 'Current major does not support land scale',
      input: 'Please input',
      selectScaleFirst: 'Select and input a scale value first'
    }
  },
  methodUnavailable: {
    defaultTitle: 'This Service Is Not Applicable to Current Pricing Method'
  },
  xmCard: {
    categories: {
      info: 'Basic Info',
      scaleInfo: 'Scale Info',
      consultCategoryFactor: 'Consult Category Factor',
      majorFactor: 'Major Factor',
      contract: 'Contract Segment Management'
    }
  },
  htFeeMethodTypeLine: {
    feeDetail: 'Fee Details',
    unnamed: 'Unnamed',
    title: 'Segment: {contractName} · {rowName}',
    contractId: 'Contract ID: {id}',
    quantityUnitPrice: 'Quantity Unit Price'
  },
  pricingScale: {
    totalInvestmentByIndustry: '{industryName} Total Investment',
    totalInvestment: 'Total Investment',
    clickToInput: 'Optional, enter manually, numeric, 4 decimals',
    projectLabel: 'Project {index}',
    columns: {
      investAmount: 'Cost Amount (10k CNY)',
      landArea: 'Land Area (mu)',
      benchmarkBudget: 'Benchmark Budget (CNY)',
      basicWork: 'Basic Work',
      optionalWork: 'Optional Work',
      subtotal: 'Subtotal',
      budgetFee: 'Budget Fee',
      consultCategoryFactor: 'Consult Category Factor',
      majorFactor: 'Major Factor',
      workStageFactor: 'Work Stage Factor (Draft/Review)',
      workRatio: 'Work Ratio (%)',
      total: 'Total',
      remark: 'Remark',
      majorGroup: 'Major Code and Major Name'
    },
    tooltip: {
      resetInvestAmount: 'Click ↻ to restore default cost amount for this column',
      resetLandArea: 'Click ↻ to restore default land area for this column',
      resetConsultCategoryFactor: 'Click ↻ to restore default consult category factor for this column',
      resetMajorFactor: 'Click ↻ to restore default major factor for this column'
    }
  },
  pricingPane: {
    projectCount: 'Project Count',
    clearTitle: 'Confirm Clear Current Details',
    confirmClear: 'Confirm Clear',
    useDefault: 'Use Default Data',
    overrideTitle: 'Confirm Override Current Details',
    confirmOverride: 'Confirm Override',
    investment: {
      title: 'Investment Scale Details',
      clearDesc: 'This will clear current investment scale details. Continue?',
      overrideDesc: 'Use contract default data to override current investment scale details. Continue?'
    },
    land: {
      title: 'Land Scale Details',
      clearDesc: 'This will clear current land scale details. Continue?',
      overrideDesc: 'Use contract default data to override current land scale details. Continue?'
    }
  },
  workloadPricing: {
    title: 'Workload Details',
    unavailableTitle: 'Workload Method Not Applicable',
    unavailableMessage: 'No workload tasks are associated with this service. No input is needed.',
    clickToInput: 'Click to input',
    none: 'N/A',
    total: 'Grand Total',
    columns: {
      code: 'Code',
      name: 'Name',
      budgetBase: 'Budget Base',
      budgetReferenceUnitPrice: 'Budget Reference Unit Price',
      budgetAdoptedUnitPrice: 'Budget Adopted Unit Price',
      workload: 'Workload',
      consultCategoryFactor: 'Consult Category Factor',
      serviceFee: 'Service Fee (CNY)',
      remark: 'Remark'
    }
  },
  hourlyFeeGrid: {
    title: 'Hourly Method Details',
    clickToInput: 'Click to input',
    total: 'Grand Total',
    columns: {
      code: 'Code',
      name: 'Name',
      technician: 'Technician',
      assistantEngineer: 'Assistant Engineer',
      midEngineer: 'Intermediate Engineer (or Level 2 Cost Engineer)',
      seniorEngineer: 'Senior Engineer (or Level 1 Cost Engineer)',
      profSeniorEngineer: 'Professor-level Senior Engineer',
      unitPrice: 'Unit Price (CNY/workday)',
      workdayCount: 'Workday Count',
      subtotal: 'Subtotal (CNY)',
      avgUnitPrice: 'Average Unit Price (CNY/workday)',
      remark: 'Remark'
    }
  },
  xmScaleGrid: {
    syncToastTitle: 'Consulting Services Synced',
    syncToastDesc: 'Scale info synced to consulting services ({serviceCount} services, {methodCount} pricing pages, {rowCount} rows)'
  },
  xmInfo: {
    defaultProjectName: 'xxx Cost Consulting Service',
    defaultDesc: 'When providing cost consulting services, penalties should be graded by service quality. For scores >=85 and <90, penalty is 10% of budget fee; >=80 and <85: 20%; >=75 and <80: 30%; >=70 and <75: 40%; <70: 50% or above.',
    industryHint: 'Changing industry requires reset and re-selection',
    industryHintAria: 'Industry hint',
    createFromHomeFirst: 'Please create a project from Home before entering this page.',
    fields: {
      projectName: 'Project Name',
      projectIndustry: 'Industry',
      overview: 'Project Overview',
      preparedBy: 'Prepared By',
      reviewedBy: 'Reviewed By',
      preparedCompany: 'Prepared Company',
      preparedDate: 'Prepared Date',
      desc: 'Other Notes'
    },
    placeholders: {
      overview: 'Enter project overview',
      preparedBy: 'Enter preparer',
      reviewedBy: 'Enter reviewer',
      preparedCompany: 'Enter prepared company'
    }
  }
} as const
