/**
 * Store module i18n (en)
 *
 * Note: merged into `store.*` namespace during i18n init.
 */
export default {
  list: {
    search: {
      keyword: 'Keyword',
      keywordPlaceholder: 'Store name/code',
      merchantId: 'Merchant ID',
      merchantIdPlaceholder: 'Enter merchant ID',
      auditStatus: 'Audit Status',
      businessStatus: 'Business Status',
      ownershipType: 'Ownership Type'
    },
    table: {
      name: 'Store Name',
      code: 'Store Code',
      ownershipType: 'Ownership Type',
      auditStatus: 'Audit Status',
      businessStatus: 'Business Status',
      phone: 'Phone',
      createdAt: 'Created At'
    },
    action: {
      create: 'Create Store',
      detail: 'View Detail',
      edit: 'Edit',
      toggleStatus: 'Toggle Status',
      submitAudit: 'Submit Audit'
    }
  },
  form: {
    createTitle: 'Create Store',
    editTitle: 'Edit Store',
    tabs: {
      basic: 'Basic Info',
      location: 'Location',
      settings: 'Settings',
      services: 'Services'
    },
    merchantId: 'Merchant ID',
    merchantIdPlaceholder: 'Enter merchant ID',
    code: 'Store Code',
    codePlaceholder: 'Enter store code',
    name: 'Store Name',
    namePlaceholder: 'Enter store name',
    phone: 'Phone',
    phonePlaceholder: 'Enter phone number',
    managerName: 'Manager Name',
    managerNamePlaceholder: 'Enter manager name',
    status: 'Store Status',
    signboardImageUrl: 'Signboard Image',
    signboardImageUrlPlaceholder: 'Enter signboard image URL',
    ownershipType: 'Ownership Type',
    categoryId: 'Category ID',
    categoryIdPlaceholder: 'Enter category ID',
    deliveryRadiusKm: 'Delivery Radius (km)',
    locationTitle: 'Location',
    province: 'Province',
    provincePlaceholder: 'Enter province',
    city: 'City',
    cityPlaceholder: 'Enter city',
    district: 'District',
    districtPlaceholder: 'Enter district',
    address: 'Address',
    addressPlaceholder: 'Enter address',
    coordinate: 'Coordinates',
    coordinatePlaceholder: 'e.g. 39.695954,116.074058',
    coordinatePasteAction: 'Paste',
    coordinatePickerAction: 'Open coordinate picker',
    coordinateHint: 'Supports lat,lng or lng,lat; copy from Tencent picker',
    coordinatePasteUnavailable: 'Clipboard access is unavailable',
    coordinatePasteEmpty: 'Clipboard is empty, copy coordinates first',
    coordinateInvalid: 'Invalid coordinate format',
    settingsTitle: 'Service Settings',
    announcement: 'Announcement',
    announcementPlaceholder: 'Enter announcement',
    tags: 'Tags',
    tagsPlaceholder: 'Comma-separated tags',
    supportsDineIn: 'Supports Dine-in',
    supportsPickup: 'Supports Pickup',
    supportsDelivery: 'Supports Delivery',
    supportsReservation: 'Supports Reservation',
    supportsQueueing: 'Supports Queueing'
  },
  rules: {
    merchantId: 'Merchant ID is required',
    code: 'Store code is required',
    name: 'Store name is required',
    signboardImageUrl: 'Signboard image is required',
    ownershipType: 'Select ownership type',
    coordinateText: 'Coordinates are required',
    coordinateTextFormat: 'Use lat,lng or lng,lat format'
  },
  detail: {
    title: 'Store Detail',
    empty: 'No store data',
    back: 'Back to List',
    fields: {
      name: 'Store Name',
      code: 'Store Code',
      auditStatus: 'Audit Status',
      businessStatus: 'Business Status',
      ownershipType: 'Ownership Type',
      phone: 'Phone',
      address: 'Address',
      createdAt: 'Created At'
    },
    tabs: {
      basic: 'Basic Info',
      qualification: 'Qualifications',
      businessHours: 'Business Hours',
      temporaryHours: 'Temporary Adjustments',
      deliveryZone: 'Delivery Zones',
      fee: 'Fee Config'
    }
  },
  qualification: {
    warningTitle: 'Qualification Alerts',
    complete: 'Complete',
    incomplete: 'Incomplete',
    expiringSoon: 'Expiring soon {count}',
    expired: 'Expired {count}',
    action: {
      add: 'Add Qualification',
      edit: 'Edit Qualification'
    },
    table: {
      type: 'Type',
      documentNumber: 'Document No.',
      expiresAt: 'Expires At',
      status: 'Status'
    },
    form: {
      type: 'Type',
      fileUrl: 'File URL',
      fileUrlPlaceholder: 'Enter file URL',
      documentNumber: 'Document No.',
      documentNumberPlaceholder: 'Enter document number',
      issuedAt: 'Issued At',
      expiresAt: 'Expires At',
      sortOrder: 'Sort Order'
    },
    rules: {
      type: 'Select qualification type',
      fileUrl: 'File URL is required',
      documentNumber: 'Document number is required',
      expiresAt: 'Select expiry date'
    },
    status: {
      valid: 'Valid',
      expiringSoon: 'Expiring Soon',
      expired: 'Expired'
    },
    type: {
      businessLicense: 'Business License',
      foodService: 'Food Service License',
      storefront: 'Storefront Photo',
      interior: 'Interior Photo'
    },
    deleteTitle: 'Delete Qualification',
    deleteConfirm: 'Are you sure to delete this qualification?'
  },
  businessHours: {
    tip: 'Cross-day hours are supported and overlap validation will run on save.',
    action: {
      add: 'Add Slot',
      save: 'Save'
    },
    table: {
      dayOfWeek: 'Day',
      hourType: 'Type',
      startTime: 'Start Time',
      endTime: 'End Time',
      capacityLimit: 'Capacity',
      notes: 'Notes',
      notesPlaceholder: 'Notes'
    },
    days: {
      sunday: 'Sunday',
      monday: 'Monday',
      tuesday: 'Tuesday',
      wednesday: 'Wednesday',
      thursday: 'Thursday',
      friday: 'Friday',
      saturday: 'Saturday'
    },
    hourType: {
      normal: 'Normal',
      reservation: 'Reservation Only',
      pickup: 'Pickup/Delivery',
      closed: 'Closed'
    }
  },
  temporaryHours: {
    tip: 'Set closures, temporary openings, or adjusted hours for specific dates',
    allDay: 'All Day',
    action: {
      add: 'Add Adjustment'
    },
    table: {
      dateRange: 'Date Range',
      timeRange: 'Time Range',
      overrideType: 'Type',
      reason: 'Note'
    },
    overrideType: {
      closed: 'Closed',
      temporaryOpen: 'Temporary Open',
      modifiedHours: 'Modified Hours'
    },
    dialog: {
      addTitle: 'Add Temporary Adjustment',
      editTitle: 'Edit Temporary Adjustment'
    },
    form: {
      dateRange: 'Date Range',
      isAllDay: 'All Day',
      timeRange: 'Time Range',
      overrideType: 'Type',
      reason: 'Note',
      reasonPlaceholder: "e.g., Chinese New Year closure, Valentine's extended hours"
    },
    rules: {
      dateRequired: 'Please select date range',
      typeRequired: 'Please select adjustment type',
      timeRequired: 'Time range is required when not all-day'
    },
    deleteConfirm: 'Are you sure you want to delete this adjustment?'
  },
  deliveryZone: {
    tip: 'Use GeoJSON polygons to define delivery zones and test delivery checks.',
    action: {
      add: 'Add Zone',
      edit: 'Edit Zone'
    },
    table: {
      zoneName: 'Zone Name',
      minimumOrderAmount: 'Minimum Order',
      deliveryFee: 'Delivery Fee',
      estimatedMinutes: 'ETA (min)'
    },
    form: {
      zoneName: 'Zone Name',
      zoneNamePlaceholder: 'Enter zone name',
      polygonGeoJson: 'GeoJSON',
      polygonPlaceholder: 'Enter GeoJSON polygon',
      drawPolygon: 'Draw Area',
      drawPolygonTitle: 'Draw Delivery Zone',
      editPolygon: 'Edit',
      clearPolygon: 'Clear',
      drawHint: 'Finish drawing and confirm to apply to GeoJSON',
      mapKeyMissing: 'Tencent map key is not configured, cannot load the drawing tool.',
      mapKeyMissingHint: 'Set VITE_TENCENT_MAP_KEY in your environment variables.',
      minimumOrderAmount: 'Minimum Order',
      deliveryFee: 'Delivery Fee',
      estimatedMinutes: 'ETA (min)',
      sortOrder: 'Sort Order'
    },
    rules: {
      zoneName: 'Zone name is required',
      polygonGeoJson: 'GeoJSON is required'
    },
    deleteTitle: 'Delete Delivery Zone',
    deleteConfirm: 'Are you sure to delete this zone?',
    check: {
      title: 'Delivery Check',
      action: 'Check',
      longitude: 'Longitude',
      latitude: 'Latitude',
      inRange: 'In range',
      outOfRange: 'Out of range',
      distance: 'Distance',
      zoneName: 'Matched Zone'
    }
  },
  fee: {
    title: 'Fee Config',
    minimumOrderAmount: 'Minimum Order',
    deliveryFee: 'Delivery Fee',
    packagingFeeMode: 'Packaging Fee Mode',
    fixedPackagingFee: 'Fixed Packaging Fee',
    freeDeliveryThreshold: 'Free Delivery Threshold',
    packagingMode: {
      fixed: 'Fixed',
      perItem: 'Per Item'
    },
    preview: {
      title: 'Fee Preview',
      action: 'Preview',
      orderAmount: 'Order Amount',
      itemCount: 'Item Count',
      itemsTitle: 'Items',
      addItem: 'Add Item',
      skuId: 'SKU',
      quantity: 'Qty',
      packagingFee: 'Packaging Fee',
      result: {
        totalAmount: 'Total Amount',
        totalFee: 'Total Fee',
        deliveryFee: 'Delivery Fee',
        packagingFee: 'Packaging Fee',
        meetsMinimum: 'Meets Minimum',
        shortfall: 'Shortfall'
      }
    }
  },
  auditStatus: {
    draft: 'Draft',
    pending: 'Pending',
    activated: 'Activated',
    rejected: 'Rejected',
    unknown: 'Unknown'
  },
  businessStatus: {
    title: 'Business Status',
    targetStatus: 'Target Status',
    closureReason: 'Closure Reason',
    closureReasonText: 'Details',
    closureReasonTextPlaceholder: 'Enter details',
    forceClosedTip: 'This store is force closed and cannot be changed by tenant.',
    rules: {
      status: 'Select status',
      reason: 'Select a reason'
    },
    open: 'Open',
    resting: 'Resting',
    forceClosed: 'Force Closed',
    unknown: 'Unknown'
  },
  ownership: {
    same: 'Same Entity',
    different: 'Different Entity'
  },
  closureReason: {
    equipment: 'Equipment Maintenance',
    vacation: 'Owner Vacation',
    outOfStock: 'Out of Stock',
    temporarilyClosed: 'Temporarily Closed',
    other: 'Other'
  },
  status: {
    closed: 'Closed',
    preparing: 'Preparing',
    operating: 'Operating',
    suspended: 'Suspended'
  },
  action: {
    save: 'Save',
    edit: 'Edit',
    delete: 'Delete',
    refresh: 'Refresh'
  },
  message: {
    createSuccess: 'Created successfully',
    updateSuccess: 'Updated successfully',
    deleteSuccess: 'Deleted successfully',
    statusUpdated: 'Status updated',
    submitAuditSuccess: 'Audit submitted'
  },
  audit: {
    stats: {
      pending: 'Pending',
      overdue: 'Overdue',
      approved: 'Approved',
      rejected: 'Rejected',
      avgProcessing: 'Avg Processing (hours)'
    },
    search: {
      keyword: 'Keyword',
      keywordPlaceholder: 'Store name/merchant name',
      tenantId: 'Tenant ID',
      tenantIdPlaceholder: 'Enter tenant ID',
      dateRange: 'Submitted Range',
      dateRangeStart: 'Start',
      dateRangeEnd: 'End',
      overdueOnly: 'Overdue Only'
    },
    table: {
      storeName: 'Store Name',
      storeCode: 'Store Code',
      tenantName: 'Tenant',
      merchantName: 'Merchant',
      ownershipType: 'Ownership',
      submittedAt: 'Submitted At',
      waitingDays: 'Waiting Days',
      qualificationCount: 'Qualifications',
      overdue: 'Overdue'
    },
    action: {
      detail: 'View Detail',
      approve: 'Approve',
      reject: 'Reject',
      riskControl: 'Risk Control'
    },
    overdue: 'Overdue',
    notOverdue: 'Normal',
    detail: {
      title: 'Audit Detail',
      empty: 'No data',
      loadFailed: 'Failed to load detail',
      viewFile: 'View File',
      tabs: {
        basic: 'Basic',
        qualification: 'Qualifications',
        history: 'History'
      },
      sections: {
        tenant: 'Tenant',
        merchant: 'Merchant'
      },
      fields: {
        storeName: 'Store Name',
        storeCode: 'Store Code',
        auditStatus: 'Audit Status',
        ownershipType: 'Ownership Type',
        phone: 'Phone',
        address: 'Address',
        submittedAt: 'Submitted At',
        signboard: 'Signboard',
        tenantName: 'Tenant',
        tenantContact: 'Contact',
        tenantPhone: 'Phone',
        merchantName: 'Merchant',
        merchantLegal: 'Legal Name',
        merchantCredit: 'Credit Code',
        file: 'File'
      }
    },
    history: {
      action: 'Action',
      operator: 'Operator',
      remark: 'Remark',
      createdAt: 'Time'
    },
    approve: {
      prompt: 'Optional remark for approval',
      placeholder: 'Enter remark',
      success: 'Approved successfully'
    },
    reject: {
      title: 'Reject Audit',
      reason: 'Reason',
      reasonText: 'Details',
      reasonTextPlaceholder: 'Enter details',
      remark: 'Remark',
      remarkPlaceholder: 'Enter remark',
      success: 'Rejected successfully',
      rules: {
        reason: 'Select a reason',
        reasonText: 'Enter reason details'
      },
      reasonOptions: {
        licenseMissing: 'Missing documents',
        photoBlur: 'Blurry photos',
        inconsistent: 'Inconsistent information',
        other: 'Other'
      }
    },
    riskControl: {
      title: 'Risk Control',
      storeName: 'Current store: {name}',
      action: 'Action',
      forceClose: 'Force Close',
      reopen: 'Reopen',
      reason: 'Reason',
      reasonPlaceholder: 'Enter reason',
      remark: 'Remark',
      remarkPlaceholder: 'Enter remark',
      forceCloseSuccess: 'Store force closed',
      reopenSuccess: 'Store reopened',
      rules: {
        action: 'Select action',
        reason: 'Reason is required'
      }
    }
  },
  alerts: {
    summary: {
      expiringSoon: 'Expiring Soon',
      expired: 'Expired'
    },
    search: {
      tenantId: 'Tenant ID',
      tenantIdPlaceholder: 'Enter tenant ID',
      daysThreshold: 'Threshold (days)',
      expired: 'Expired'
    },
    table: {
      storeName: 'Store Name',
      storeCode: 'Store Code',
      tenantName: 'Tenant',
      qualificationType: 'Qualification',
      expiresAt: 'Expires At',
      daysUntilExpiry: 'Days Left',
      status: 'Status',
      businessStatus: 'Business Status'
    },
    status: {
      expiring: 'Expiring Soon',
      expired: 'Expired'
    }
  }
}
