/* English (en). Mirrors ko key shape (enforced by Translations type). */
import type { Translations } from '../types';

export const en: Translations = {
  common: {
    appName: 'KINTEX AI Exhibition',
    loading: 'Checking…',
    retry: 'Retry',
    cancel: 'Cancel',
    close: 'Close',
    user: 'User',
    none: '-',
    unknown: 'Unknown',
    error: 'Error',
  },
  lang: {
    title: 'Language',
    subtitle: 'Choose the app language. Your choice is saved on this device.',
    ko: '한국어',
    en: 'English',
    zh: '中文',
    ja: '日本語',
  },
  roles: {
    ORGANIZER: 'Organizer',
    EXHIBITOR: 'Exhibitor',
    CONTRACTOR: 'Contractor',
    HALL_MANAGER: 'Hall Manager',
  },
  nav: {
    register: 'Sign up',
    forgotPassword: 'Find password',
    profile: 'My Info',
    checklist: 'Site Checklist',
    inspection: 'Site Inspection',
    ticketsIndex: 'My Tickets',
    ticketsSelect: 'Book Ticket',
    tabHome: 'Home',
    tabField: 'Site',
    tabGallery: 'Gallery',
    tabMore: 'More',
  },
  login: {
    brandTitle: 'The moment you apply,\nsee the post-build photo first',
    brandCaption: 'AI-generated preview · may differ from the actual build',
    compromised:
      'This device shows security risks (root/hook/debugger). To protect your data and tickets, please use a normal device.',
    title: 'Sign in',
    email: 'Email',
    emailPlaceholder: 'name@company.com',
    password: 'Password',
    passwordPlaceholder: 'Password',
    otpLabel: 'Two-factor code',
    otpPlaceholder: '6-digit code',
    otpHelper: '6-digit code from your authenticator (TOTP)',
    remember: 'Remember email',
    submit: 'Sign in',
    submitOtp: 'Verify & sign in',
    forgot: 'Find password',
    register: 'Sign up',
    errEmpty: 'Please enter your email and password.',
    errOtpEmpty: 'Please enter the two-factor code.',
    errOtpRequired: 'A two-factor code is required. Enter the code from your authenticator app.',
    errOtpInvalid: 'The code is incorrect or expired.',
    errLocked: 'Account locked after too many attempts. Please try again later.',
    errGeneric: 'Sign in failed.',
  },
  register: {
    title: 'Create account',
    email: 'Email',
    emailPlaceholder: 'name@company.com',
    name: 'Name',
    namePlaceholder: 'John Doe',
    password: 'Password',
    passwordPlaceholder: '8+ characters',
    passwordHelper: '8–100 characters',
    company: 'Company (optional)',
    companyPlaceholder: 'Zioinfo',
    invite: 'Invite code (optional)',
    invitePlaceholder: 'Event invite code',
    submit: 'Sign up',
    goLogin: 'Go to sign in',
    errInvalid: 'Please check email, name and password (8+ characters).',
    errEmailTaken: 'This email is already registered.',
    errGeneric: 'Sign up failed.',
    doneJoined: 'Registration complete and linked to the invited event. Please sign in.',
    done: 'Registration complete. Please sign in.',
  },
  forgot: {
    title: 'Reset password',
    email: 'Email',
    emailPlaceholder: 'name@company.com',
    request: 'Request reset code',
    code: 'Reset code',
    codePlaceholder: '6-digit code',
    newPassword: 'New password',
    newPasswordPlaceholder: '8+ characters',
    newPasswordHelper: '8–100 characters',
    submit: 'Change password',
    errEmail: 'Please enter your email.',
    errFields: 'Please check the reset code and new password (8+ characters).',
    errCode: 'The reset code is incorrect or expired.',
    errRequest: 'Request failed.',
    errReset: 'Reset failed.',
  },
  home: {
    hello: 'Hello, {{name}}',
    noEvent: 'You are not part of any event — check your invite link or code.',
    progress: 'Progress',
    stepApply: 'Apply',
    stepApprove: 'Approve',
    stepBuild: 'Build',
    stepInspect: 'Inspect',
    actionChecklist: 'Site Checklist',
    actionInspection: 'Site Inspection',
    actionGallery: 'Visualization Gallery',
    memberInternal: 'KINTEX internal account (Hall Manager)',
    memberGeneral: 'General account',
  },
  field: {
    title: 'Site Work',
    guide: 'Site features are available to contractors (checklist) and hall managers (inspection).',
    checklistTitle: 'Site Checklist',
    checklistDesc: 'Check work steps · attach photos · request inspection',
    inspectionTitle: 'Site Inspection',
    inspectionDesc: 'Approved drawing vs site photo · pass/fail decision',
  },
  gallery: {
    infoBar: 'AI-generated images cannot be used for contracts or reviews — drawings are the build standard',
    degraded: 'Cannot reach the server image history; showing samples (degraded).',
    empty: 'No images yet — generate preview photos in the design studio.',
    retry: 'Regenerate',
    studioNote: 'Edit the design studio on desktop',
    notice: 'AI-generated images cannot be used for contracts or reviews (drawings are the standard)',
  },
  more: {
    accountInternal: 'KINTEX internal account (Hall Manager)',
    accountGeneral: 'General account',
    openProfile: 'Open my info',
    apiServer: 'API server',
    serverStatus: 'Server status',
    statusUp: 'Healthy (UP)',
    statusDown: 'Unreachable (degraded)',
    signOut: 'Sign out',
    version: 'KINTEX AI Exhibition · v0.1.0',
  },
  profile: {
    sectionInfo: 'My Info',
    sectionEventRoles: 'Event Roles',
    sectionSecurity: 'Account · Security',
    sectionBiometric: 'Biometric Lock',
    sectionNotify: 'Notifications',
    labelName: 'Name',
    labelUserId: 'User ID',
    labelGlobalRole: 'Global role',
    labelTenant: 'Venue (tenant)',
    labelType: 'Type',
    typeInternal: 'KINTEX internal (Hall Manager)',
    typeGeneral: 'General account',
    photoChange: 'Change profile photo',
    photoTitle: 'Profile photo',
    photoSelect: 'Choose a photo',
    photoLibrary: 'Library',
    photoCamera: 'Camera',
    photoApply: 'Apply',
    photoApplying: 'Applying…',
    photoCaption: 'Displayed as a circle.',
    photoPending: 'The selected photo is shown on this device only — server sync is in preparation.',
    photoPickerUnavailable: 'Image selection is not available on this device.',
    loadErr: 'Failed to load your info.',
    uploadErr: 'Photo upload failed.',
    otpTitle: 'Two-factor (OTP)',
    otpOnAuth: 'Enabled · Authenticator (OTP)',
    otpOnMethod: 'Enabled · {{method}}',
    otpOff: 'Not set — 2-step authenticator (TOTP) is used at sign in.',
    on: 'On',
    off: 'Off',
    bioTitle: 'Fingerprint · Face lock',
    bioDesc:
      'When on, you re-authenticate with fingerprint or Face when opening My Info. Sign-in 2FA remains unchanged.',
    bioUnsupported:
      'This device does not support biometrics or has no fingerprint/Face enrolled. Enroll biometrics in device settings and try again.',
    bioFailed: 'Biometric authentication failed. Please try again.',
    biometric: 'Biometrics',
    lockTitle: 'Biometric lock',
    lockHint: 'Unlock with fingerprint or Face.',
    notifyDeadline: 'Deadline D-day alerts',
    notifyApproval: 'Approval · inspection alerts',
    notifyPayment: 'Payment · settlement alerts',
    notifyNote: 'Notification settings are saved on this device. Server sync is in preparation.',
    signOut: 'Sign out',
    signOutConfirm: 'Sign out?',
    version: 'KINTEX AI Exhibition · My Info',
  },
  tickets: {
    offline: 'Offline — showing saved tickets',
    badgeNotice: 'Check in with the ticket QR at the venue to switch to a mobile badge',
    footNote: 'Tickets shown are samples — replaced with live data when the ticket backend (M10) is connected.',
    emptyTitle: 'You have no tickets',
    emptyBody: 'Book an entry pass and your tickets will appear here.',
    emptyBtn: 'Book entry pass',
    detailTitle: 'Booking detail · cancel',
  },
};
