export const en = {
  app: {
    name: 'EMA Portal',
    authority: 'Ethiopian Maritime Authority',
    tagline: 'Maritime licensing & certification services',
  },

  msg: {
    genericError: 'Something went wrong. Please try again.',
    serverError: 'Server error. Please try again later.',
    validationError: 'Please check your input and try again.',
    authError: 'Your session has expired. Please sign in again.',
    permissionError: "You don't have permission to perform this action.",
    notFoundError: 'The requested item was not found.',
    fileTooLarge: 'The file is too large to upload.',
    networkError: 'Network error. Check your connection and try again.',
  },

  language: {
    label: 'Language',
    en: 'English',
    am: 'አማርኛ',
  },

  nav: {
    groupLicensing: 'Licensing',
    groupSeafarer: 'Seafarer Services',
    groupVessels: 'Vessels',
    groupExaminations: 'Examinations',
    groupAdministration: 'Administration',
    groupAccount: 'Account',
    soon: 'Soon',
    details: 'Details',
    locations: 'Locations',
    myApplications: 'My Applications',
    dashboard: 'Dashboard',
    seafarerRegistry: 'Seafarer Registry',
    seafarerRegistration: 'Seafarer Registration',
    exams: 'Examinations',
    seaRecords: 'My Sea Records',
    myApplication: 'My Application',
    vesselRegistration: 'Vessel Registration',
    vesselRegistrationDashboard: 'Vessel Registration Dashboard',
    ownershipTransfer: 'Ownership Transfer',
    logisticsDashboard: 'Logistics Licenses Dashboard',
    freightForwarderLicense: 'Freight Forwarder License',
    shippingAgentLicense: 'Shipping Agent License',
    combinedLicense: 'Combined License',
    jointInvestmentLicense: 'Joint Investment License',
    mtoLicense: 'MTO License',
    waiver: 'Waiver',
    certificates: 'Certificates',
    endorsements: 'Endorsements',
    vesselRegistrations: 'Vessel Registration',
    vesselTransfers: 'Vessel Transfers',
    documents: 'My Documents',
    notifications: 'Notifications',
    profile: 'Profile',
    support: 'Help & Support',
    collapseSidebar: 'Collapse',
    expandSidebar: 'Expand sidebar',
    sectionSeafarerServices: 'Seafarer Services',
    sectionVesselServices: 'Vessel Services',
    sectionLogisticsLicensing: 'Logistics and Licensing',
    sectionAccountManagement: 'Account Management',
  },

  common: {
    back: 'Back',
    continue: 'Continue',
    submit: 'Submit',
    cancel: 'Cancel',
    save: 'Save changes',
    saved: 'Changes saved',
    viewAll: 'View all',
    viewDetails: 'View details',
    search: 'Search',
    download: 'Download',
    print: 'Print',
    filter: 'Filter',
    all: 'All',
    status: 'Status',
    date: 'Date',
    actions: 'Actions',
    loading: 'Loading…',
    none: 'None',
    optional: 'optional',
    required: 'Required',
    of: 'of',
    backToList: 'Back to list',
    notFound: 'Not found',
    learnMore: 'Learn more',
    toggleTheme: 'Toggle light / dark mode',
    welcome: 'Welcome',
    switchCalendar: 'Switch calendar type',
    time: 'Time',
  },

  auth: {
    login: 'Log in',
    logout: 'Log out',
    signup: 'Sign up',
    account: 'Account',
    guest: 'Guest user',
  },

  dashboard: {
    title: 'Dashboard',
    quickActions: 'Quick actions',
  },

  applications: {
    title: 'Licence applications',
    subtitle: 'Track everything you have filed with EMA.',
    newApplication: 'New application',
    tabs: {
      applications: 'Applications',
      licences: 'Licences',
      apply: 'Apply',
    },
    stats: {
      needsYou: 'Needs your action',
      inProgress: 'In progress',
      completed: 'Completed',
      activeLicences: 'Active licences',
    },
    filters: {
      search: 'Search',
      searchPlaceholder: 'Number or applicant',
      status: 'Status',
      any: 'Any',
      from: 'From',
      to: 'To',
      clear: 'Clear',
    },
    empty: {
      noneTitle: 'You have not filed any applications yet',
      noneBody: 'Pick a licence from the Apply tab to get started.',
      noMatchTitle: 'No applications match these filters',
      noMatchBody: 'Try widening or clearing the filters.',
      clearFilters: 'Clear filters',
      browse: 'Browse licences',
    },
    card: {
      submitted: 'Submitted {{date}}',
      notFiled: 'Not filed yet',
      feeDue: 'Fee due',
    },
    table: {
      licence: 'Licence',
      applicant: 'Applicant',
      progress: 'Progress',
    },
    actions: {
      continue: 'Continue',
      fixResubmit: 'Fix & resubmit',
      pay: 'Pay {{amount}} {{currency}}',
      certificate: 'Certificate',
      view: 'View',
      bypass: 'Bypass payment',
      renew: 'Renew',
    },
    notice: {
      paymentReceived:
        'Your payment has been received. The certificate is being prepared and will appear under Licences once it is issued.',
      expiringSoon_one: 'A licence is expiring soon',
      expiringSoon_other: '{{count}} licences are expiring soon',
    },
    licences: {
      empty: 'No licence has been issued to you yet. One appears here once an application is approved and paid.',
    },
    status: {
      DRAFT: 'Draft',
      SUBMITTED: 'Submitted',
      UNDER_REVIEW: 'Under Review',
      UNDER_EVALUATION: 'Under Evaluation',
      RESUBMIT_REQUIRED: 'Resubmit Required',
      INSPECTION_PENDING: 'Inspection Pending',
      INSPECTION_COMPLETED: 'Inspection Completed',
      APPROVED: 'Approved',
      REJECTED: 'Rejected',
      ON_HOLD: 'On Hold',
      PAYMENT_PENDING: 'Payment Pending',
      PAID: 'Paid',
      PAYMENT_CONFIRMED: 'Preparing Certificate',
      CERTIFICATE_ISSUED: 'Certificate Issued',
      COMPLETED: 'Completed',
    },
  },

  /** Field labels shared by the completeness nudge and the requirement gates. */
  profileFields: {
    firstName: 'First name',
    middleName: 'Middle name',
    lastName: 'Last name',
    gender: 'Gender',
    dob: 'Date of birth',
    pob: 'Place of birth',
    maritalStatus: 'Marital status',
    professionId: 'Profession',
    idType: 'ID type',
    idNumber: 'ID number',
    nationality: 'Nationality',
    primaryPhoneNumber: 'Phone number',
    email: 'Email address',
    regionId: 'Region',
    cityId: 'City',
    subCityId: 'Sub-city',
    woredaId: 'Woreda',
    streetAddress: 'Street address',
    emergencyContactName: 'Emergency contact name',
    emergencyContactPhone: 'Emergency contact phone',
    emergencyContactRelation: 'Emergency contact relationship',
  },

  profileNudge: {
    title: 'Finish setting up your profile',
    body: 'Still needed: {{fields}}',
    andMore: 'and {{count}} more',
    action: 'Complete profile',
    dismiss: 'Dismiss',
  },

  profileGate: {
    title_one: 'We need {{count}} more detail before you continue',
    title_other: 'We need {{count}} more details before you continue',
    addDetails: 'Add these details',
    viewProfile: 'View full profile',
    seafarerReason:
      'Seafarer registration is built from your profile — these details fill it in for you.',
    seafarerRedirect: 'Finish your profile to register as a seafarer. Still needed: {{fields}}',
  },

  profileSections: {
    personal: 'Personal',
    address: 'Identity & Address',
    emergency: 'Emergency Contact',
    documents: 'Documents',
    completeness: '{{value}}% complete',
    saveSection: 'Save this section',
    sectionSaved: 'Saved',
  },

  profile: {
    title: 'My Profile',
    subtitle: 'Manage your account details and preferences.',
    personal: 'Personal information',
    contact: 'Contact',
    preferences: 'Preferences',
    security: 'Security',
    securityHint: 'Choose a strong password you do not use anywhere else.',
    changePassword: 'Change password',
    updatePassword: 'Update password',
    updateProfile: 'Save changes',
    savePreferences: 'Save preferences',
    cancel: 'Cancel',
    verified: 'Verified',
    unverified: 'Unverified',
    tabs: {
      profile: 'Profile',
      security: 'Security',
      preferences: 'Preferences',
    },
    personalHint: 'Your name as it appears on official EMA documents.',
    languageTitle: 'Language',
    languageHint: 'Choose the language used across the EMA portal.',
    appearance: {
      title: 'Appearance',
      subtitle: 'Select how the portal looks on your device.',
      light: 'Light',
      dark: 'Dark',
      system: 'System',
    },
    twoStep: {
      title: 'Two-step verification',
      desc: 'Require a one-time code from your phone each time you sign in.',
    },
    notifications: {
      title: 'Email notifications',
      desc: 'Receive updates about your license applications and account activity by email.',
    },
    strength: {
      label: 'Password strength',
      weak: 'Weak',
      fair: 'Fair',
      good: 'Good',
      strong: 'Strong',
    },
    profileUpdated: 'Profile updated successfully',
    passwordChanged: 'Password changed successfully',
    updateFailed: 'Could not update profile. Please try again.',
    passwordFailed:
      'Could not change password. Check your current password and try again.',
    fields: {
      fullNameEn: 'Full name (English)',
      fullNameAm: 'Full name (Amharic)',
      username: 'Username',
      usernameHint: 'Username cannot be changed',
      organization: 'Organization',
      email: 'Email address',
      phone: 'Phone number',
      address: 'Address',
      language: 'Preferred language',
      currentPassword: 'Current password',
      newPassword: 'New password',
      confirmPassword: 'Confirm new password',
    },
    validation: {
      nameRequired: 'Name is required',
      emailInvalid: 'Enter a valid email',
      usernameRequired: 'Username is required',
      phoneRequired: 'Phone number is required',
      passwordMin: 'Password must be at least 8 characters',
      passwordMismatch: 'Passwords do not match',
    },
  },

  country: {
    select: 'Select a country',
    notFound: 'No countries found',
  },

  location: {
    select: 'Select...',
    noOptions: 'No options found',
    noLocationsAvailable: 'No locations available',
    chooseFirst: 'Choose a location first',
    loading: 'Loading locations...',
    loadFailed: 'Could not load locations',
  },

  support: {
    title: 'Help & Support',
    subtitle: 'Guidance, contact channels and answers to common questions.',
    contact: 'Contact the Authority',
    phone: 'Phone',
    email: 'Email',
    office: 'Head office',
    officeValue: 'Addis Ababa, Ethiopia',
    hours: 'Working hours',
    hoursValue: 'Mon–Fri, 8:30 AM – 5:00 PM',
    faq: 'Frequently asked questions',
    faqs: {
      q1: 'How long does licence processing take?',
      a1: 'Most applications are reviewed within 5–15 working days, depending on the licence type and completeness of your documents.',
      q2: 'What happens after I submit an application?',
      a2: 'Your application is assigned to a licensing officer who verifies your documents. You can track every status change from the My Applications page.',
      q3: 'How do I renew an expiring licence?',
      a3: 'Open the licence from My Licences and choose Renew, or start a new application and select the Renewal request type.',
      q4: 'What if EMA requests more information?',
      a4: 'You will see an "Action required" notice on the application. Provide the requested document or detail to resume the review.',
    },
  },

  waiver: {
    title: 'Maritime Waiver',
    subtitle: 'Apply for a waiver when Ethiopian Shipping & Logistics cannot carry your shipment. Approval issues the bank waiver letter.',
    preWaiver: {
      title: 'Pre-waiver',
      body: 'The cargo has not yet arrived. Applying before arrival avoids the post-waiver penalty.',
      apply: 'Apply for a pre-waiver',
    },
    postWaiver: {
      title: 'Post-waiver',
      body: 'The cargo has already arrived. Granted once per shipment, and only against a settled penalty with the receipt attached.',
      apply: 'Apply for a post-waiver',
    },
    oneShipmentNotice: 'Each waiver covers one shipment, identified by its bill of lading. A second application quoting the same bill of lading is refused while the first is live.',
    inProgress: 'Applications in progress',
    issuedLetters: 'Issued waiver letters',
    emptyLetters: 'No waiver letters issued yet.',
    columns: {
      reference: 'Reference',
      kind: 'Kind',
      issued: 'Issued',
      status: 'Status',
    },
    letter: 'Letter',
    fetchFailed: 'Could not fetch the letter',
    licenseStatus: {
      ACTIVE: 'Active',
      EXPIRED: 'Expired',
      SUSPENDED: 'Suspended',
      CANCELLED: 'Cancelled',
      SUPERSEDED: 'Superseded',
    },
  },
};

export type Translations = typeof en;
