export const siteAttendanceEn = {
  // Check-in page
  todayStatus: "Today's Status",
  checkIn: 'Check-in',
  checkOut: 'Check-out',
  checkInBtn: 'Check In',
  checkOutBtn: 'Check Out',
  checkinSuccess: 'Check-in successful!',
  checkoutSuccess: 'Check-out successful!',
  todayEvents: "Today's Events",
  todayDuration: 'Today on-site',
  avgDuration: 'Avg on-site',
  totalDuration: 'Total on-site',
  locationDeniedHint: 'Open browser settings to allow location for this site, then tap Refresh location.',
  morning: 'Good morning',
  afternoon: 'Good afternoon',
  evening: 'Good evening',
  lateNight: 'Working late',
  notStartedYet: 'Not started',
  onBreak: 'On break',
  workingNow: 'Working',
  notStartedToday: "Today hasn't started yet",
  tapToBegin: 'Tap Check In below to begin',
  logout: 'Logout',
  openInBrowserHint: 'For login persistence, open this page in your default browser.',
  durationHourMin: '{h}h {m}m',
  durationMinOnly: '{m}m',
  chooseMethod: 'Choose how to continue',
  loginContinue: 'Log in to continue',
  guestContinue: 'Continue without login',
  selectIdentity: 'Select your identity',
  searchPlaceholder: 'Enter name, email or employee ID',
  noResults: 'No matching users found',
  searching: 'Searching...',
  locating: 'Locating...',
  locationReady: 'Location ready',
  locationDenied: 'Location denied',
  locationUnavailable: 'Location unavailable',
  noNetwork: 'Please check your network',
  checkpointUnavailable: 'Checkpoint unavailable',
  refreshLocation: 'Refresh location',
  geoBlocked: 'Check-in blocked: {reason}',
  alreadyCheckedIn: 'Already checked in today',
  alreadyCheckedOut: 'Already checked out today',
  duplicateSubmit: 'Please wait before trying again',
  rateLimited: 'Just submitted. Please wait {n}s before trying again.',
  switchUser: 'Log out',
  mustCheckInFirst: 'Please check in first',
  alreadyCheckedInErr: 'Already checked in, please check out first',
  alreadyCheckedOutErr: 'Already checked out, please check in',

  // Admin — common
  checkpoints: 'Checkpoints',
  checkpointsDesc: 'Manage attendance check-in locations',
  createCheckpoint: 'Create Checkpoint',
  editCheckpoint: 'Edit Checkpoint',
  noCheckpoints: 'No checkpoints yet',
  loading: 'Loading...',
  saving: 'Saving...',
  notFound: 'Checkpoint not found',

  // Admin — form
  basicInfo: 'Basic Information',
  name: 'Name',
  description: 'Description',
  timezone: 'Timezone',
  latitude: 'Latitude',
  longitude: 'Longitude',
  latLngHint: 'Used for location validation — calculates distance from employee device to checkpoint',
  getCurrentLocation: 'Use Current Location',
  locationObtained: 'Location obtained',
  locationFailed: 'Failed to get location, please enter manually',
  geoSettings: 'Location Validation',
  geoPolicy: 'Geo Policy',
  geoPolicySkip: 'Skip — No location validation',
  geoPolicySkipShort: 'Skip',
  geoPolicyFlag: 'Allow with Flag — Allow check-in but mark anomaly',
  geoPolicyFlagShort: 'Allow w/ Flag',
  geoPolicyBlock: 'Strict Block — Block check-in on failure',
  geoPolicyBlockShort: 'Strict Block',
  geoRadius: 'Radius (meters)',
  geoRadiusHint: 'The maximum allowed distance between the employee and the checkpoint. Beyond this distance the event is treated as out of range.',
  accuracyThreshold: 'Accuracy Threshold (meters)',
  accuracyThresholdHint: 'The GPS result includes an error range. If that error is larger than this threshold, the location is treated as unreliable.',
  accessSettings: 'Access Settings',
  accessStatus: 'Access & Status',
  allowGuest: 'Allow check-in without login',
  active: 'Active',
  inactive: 'Inactive',
  activeHint: 'When disabled, employees cannot check in at this checkpoint',
  guestAccess: 'Guest Access',

  // Admin — detail page
  todaySummary: "Today's Summary",
  qrCode: 'QR Code',
  downloadQr: 'Download QR Code',
  openLink: 'Open Link',
  copyLink: 'Copy Link',
  linkCopied: 'Copied!',
  configuration: 'Configuration',
  checkedIn: 'Checked In',
  checkedOut: 'Checked Out',
  notCheckedOut: 'Not Checked Out',
  user: 'User',
  type: 'Type',
  time: 'Time',
  auth: 'Auth',
  authLogin: 'Login',
  authGuest: 'Guest',
  geoStatus: 'Geo Status',
  noEventsToday: 'No events today',
  noEvents: 'No events',
  enabled: 'Enabled',
  disabled: 'Disabled',
  location: 'Location',
  events: 'Attendance Events',
  date: 'Date',
  locationDisplay: 'Checkpoint Location',
  currentUser: 'Current User',
  currentUserHint: 'Today status and the next action will be performed for this user',
  prevPage: 'Previous',
  nextPage: 'Next',
  totalRecords: '{count} records',
  export: 'Export',
  address: 'Address',
  userName: 'User',
  allTypes: 'All Types',
  filterByUser: 'Filter by user',
  currentLocation: 'Current Location',
  checkpointLocation: 'Checkpoint Location',
  eventLocation: 'Event Location',
  currentLocationUnavailable: 'No usable current device location yet',
  resolvingLocation: 'Resolving current location...',
  geoNotRequired: 'Location validation is not required for this checkpoint',
  accuracyValue: 'Accuracy',
  distanceValue: 'Distance to checkpoint',
  radiusValue: 'Allowed radius',
  mapSearchPlaceholder: 'Search for an address, city or landmark',
  mapSearchHint: 'Search first, then click the map to fine tune the exact checkpoint location.',
  searchingPlaces: 'Searching places...',
  noPlacesFound: 'No matching places found',

  // GeoStatus display
  geoValid: 'Valid',
  geoOutOfRange: 'Out of Range',
  geoLowAccuracy: 'Low Accuracy',
  geoPermissionDenied: 'Permission Denied',
  geoUnavailable: 'Unavailable',
  geoTimeout: 'Timeout',
  geoSkipped: 'Skipped',

  // v1.5 Shared check-in
  dispatchTitle: 'Select your company',
  dispatchHint: 'Scan completed — pick the company you belong to',
  switchCompany: 'Switch company',
  signInAt: 'Sign in at',
  dispatchLoading: 'Loading options...',
  dispatchNotEnabled: 'Shared check-in is not enabled for this checkpoint',
  dispatchFailed: 'Failed to dispatch',
  // Errors
  qrTokenExpired: 'QR code has expired. Please scan the latest QR code at the front desk.',
  qrTokenInvalid: 'Invalid QR code',
  qrTokenMissing: 'Please check in via the front-desk QR code',
  ticketExpired: 'The check-in link has expired. Please scan again.',
  ticketAlreadyUsed: 'This check-in link has already been used. Please scan again.',
  ticketInvalid: 'Invalid check-in link',
  ticketTargetMismatch: 'Check-in link does not match this checkpoint',
  ticketOriginNotAllowed: 'Untrusted check-in source',
  errorRetry: 'Retry',
  errorBackToHome: 'Back to home',
  errorBackToDispatch: 'Back to dispatch',
  // Display page
  displayRefreshAt: 'Next refresh at',
  displayServiceUnavailable: 'QR service unavailable. Please refresh the page.',
  // Admin v1.5
  accessModeLabel: 'Access mode',
  accessModePublic: 'Public',
  accessModePublicHint: 'Anyone with the URL can check in (compatible with printed static QR)',
  accessModeSigned: 'Signed',
  accessModeSignedHint: 'Requires a signed URL; use the display page for a rotating QR',
  qrRotationLabel: 'QR rotation',
  qrRotationPermanent: 'Permanent (no rotation)',
  qrRotationRotating: 'Scheduled rotation',
  qrRotationPeriod: 'Rotation period',
  qrRotation10m: '10 minutes',
  qrRotation30m: '30 minutes',
  qrRotation1h: '1 hour',
  qrRotation4h: '4 hours',
  qrRotation1d: '1 day',
  qrRotationCustom: 'Custom (seconds)',
  qrGraceLabel: 'Grace period (seconds)',
  sharedSectionTitle: 'Shared check-in',
  sharedCheckinEnabled: 'Enable shared check-in',
  sharedCompanyIdLabel: 'Company ID',
  sharedCompanyIdHint: 'Lowercase letters / digits / hyphen / underscore',
  sharedCompanyLabelLabel: 'Company name',
  partnersSection: 'Partner companies',
  partnerColCompanyId: 'Company ID',
  partnerColCompanyLabel: 'Company name',
  partnerColDisplayLabel: 'Display label',
  partnerColTargetUrl: 'Check-in URL',
  partnerColActive: 'Active',
  partnerColActions: 'Actions',
  partnerAdd: 'Add partner',
  partnerEdit: 'Edit partner',
  partnerDeleteConfirm: 'Delete this partner?',
  partnerHostNotAllowed:
    'Host not in allowed list. Ask ops to add it to SHARED_CHECKIN_ALLOWED_HOSTS.',
  addressSectionTitle: 'Access URLs',
  addressStandaloneSignin: 'Standalone sign-in page',
  addressStandaloneHint: 'Signed mode requires a token; direct access will be rejected',
  addressDisplay: 'Display page (rotating QR)',
  addressSharedDispatch: 'Shared dispatch page',
  addressCopy: 'Copy',
  addressOpen: 'Open',
  addressCopied: 'Copied',
};
