{
  "$comment": "Shared key list — da/sv/en MUST stay parallel (same keys, no empty values; test/i18n.test.ts enforces). da is the SOURCE language; en serves both ie and uk (Heres Law). Placeholders in braces, e.g. {email}, are substituted at runtime. Support phone/email are NOT in i18n: ie and uk share this bundle but have DIFFERENT numbers/inboxes, so they come from per-MARKET MARKET_CONTACT in app.js, copied from email-templates/src/brand.ts.",
  "meta.pageTitle": "Book a meeting",
  "skip.toContent": "Skip to content",
  "brand.logoAlt": "Heres Law",
  "step.details": "Your details",
  "step.time": "Choose a time",
  "step.confirm": "Confirm",
  "step.progress": "Step {current} of {total}: {label}",
  "common.minutes": "{minutes} min",
  "info.confidential": "Confidential — your details go only to your advisor.",
  "info.needHelp": "Need help?",
  "info.eventFallback": "Meeting",
  "info.regionLabel": "About the meeting",
  "landing.title": "Book a meeting",
  "landing.intro": "Enter your details and we'll find an available time for you.",
  "landing.name": "Name",
  "landing.nameHint": "Your full name",
  "landing.email": "Email",
  "landing.emailHint": "We'll send your confirmation here",
  "landing.phone": "Phone number",
  "landing.phoneHint": "So we can call if anything changes",
  "phone.countryAria": "Country calling code",
  "phone.searchCountries": "Search countries…",
  "landing.required": "(required)",
  "landing.optional": "(optional)",
  "landing.submit": "Continue",
  "landing.submitting": "One moment …",
  "landing.callUsLabel": "Would you rather speak to us?",
  "landing.callUs": "Call us",
  "tz.pillAria": "Change timezone (showing times in {tz})",
  "tz.change": "Change timezone",
  "tz.detectedLabel": "Times shown in",
  "slots.title": "Choose a time",
  "slots.prevMonth": "Previous month",
  "slots.nextMonth": "Next month",
  "slots.weekdayMon": "Mon",
  "slots.weekdayTue": "Tue",
  "slots.weekdayWed": "Wed",
  "slots.weekdayThu": "Thu",
  "slots.weekdayFri": "Fri",
  "slots.weekdaySat": "Sat",
  "slots.weekdaySun": "Sun",
  "slots.weekdayMonFull": "Monday",
  "slots.weekdayTueFull": "Tuesday",
  "slots.weekdayWedFull": "Wednesday",
  "slots.weekdayThuFull": "Thursday",
  "slots.weekdayFriFull": "Friday",
  "slots.weekdaySatFull": "Saturday",
  "slots.weekdaySunFull": "Sunday",
  "slots.calendarLabel": "Calendar — choose a day",
  "slots.dayUnavailable": "No times available",
  "slots.dayHasTimes": "Times available",
  "slots.timesForDay": "Times available on {date}",
  "slots.pickDayPrompt": "Choose a day in the calendar to see available times.",
  "slots.noneOnDay": "No times available on this day — please choose another day.",
  "slots.emptyMonth": "No openings in {month}.",
  "slots.morning": "Morning",
  "slots.afternoon": "Afternoon",
  "slots.evening": "Evening",
  "slots.selected": "Selected: {time}",
  "slots.selectedAria": "Selected time: {when}. Press Continue to book.",
  "slots.continue": "Continue",
  "slots.back": "Back",
  "confirm.title": "Confirm and book",
  "confirm.detailsHeading": "Your details",
  "confirm.edit": "Edit",
  "confirm.editDone": "Done",
  "confirm.summaryHeading": "Your meeting",
  "confirm.when": "When",
  "confirm.duration": "Duration",
  "confirm.where": "Where",
  "confirm.timezone": "Timezone",
  "confirm.questionsHeading": "A few questions",
  "confirm.chooseOne": "Choose …",
  "confirm.other": "Other",
  "confirm.note": "Note for the advisor",
  "confirm.noteHint": "Briefly tell us what the meeting is about (optional)",
  "confirm.legal": "When you book, we process your details to hold the meeting.",
  "confirm.book": "Book the meeting",
  "confirm.booking": "Booking your meeting …",
  "confirm.back": "Back",
  "success.title": "Your meeting is booked",
  "success.subtitle": "We look forward to speaking with you.",
  "success.when": "When",
  "success.advisor": "Advisor",
  "success.duration": "Duration",
  "success.where": "Where",
  "success.join": "Open the video meeting",
  "success.sent": "We've sent a confirmation and a calendar invite to {email}.",
  "success.addToCalendar": "Add to your calendar",
  "success.addGoogle": "Google Calendar",
  "success.addOutlook": "Outlook",
  "success.addIcs": "Apple / .ics",
  "success.manage": "View or change your booking",
  "success.whatNext": "Your advisor will contact you at the agreed time. You can always change or cancel using the link above.",
  "gate.heading": "You already have a meeting booked",
  "gate.blockedGeneric": "You already have a meeting booked with us.",
  "gate.existingHeading": "Your meeting",
  "gate.existingWhen": "When",
  "gate.existingWith": "Advisor",
  "gate.existingWhere": "Where",
  "gate.existingType": "Meeting type",
  "gate.existingJoin": "Open the video meeting",
  "gate.nextStepHeading": "What to do next",
  "gate.nextStepBody": "To change it or book a new one, please call or email us — we'll be glad to help.",
  "gate.callUs": "Call us",
  "gate.emailUs": "Email us",
  "manage.title": "Your booking",
  "manage.loading": "Loading your booking …",
  "manage.when": "When",
  "manage.advisor": "Advisor",
  "manage.duration": "Duration",
  "manage.where": "Where",
  "manage.join": "Open the video meeting",
  "manage.reschedule": "Choose a new time",
  "manage.cancel": "Cancel the meeting",
  "manage.rescheduleWith": "With {advisor}",
  "manage.currentlyBooked": "Currently booked: {when}",
  "manage.confirmReschedule": "Confirm new time",
  "manage.rescheduling": "Moving your meeting …",
  "manage.cancelHeading": "Cancel your meeting?",
  "manage.cancelBody": "Are you sure you want to cancel your meeting {when}?",
  "manage.cancelReason": "Reason (optional)",
  "manage.cancelReasonHint": "Feel free to tell us briefly why — it helps us.",
  "manage.keepBooking": "Keep the meeting",
  "manage.confirmCancel": "Cancel the meeting",
  "manage.cancelling": "Cancelling …",
  "manage.invalidHeading": "This link no longer works",
  "manage.invalidBody": "The link to change your booking has expired or has already been used. Please call or email us and we'll help.",
  "manage.outdatedHeading": "This link is outdated",
  "manage.outdatedBody": "Your booking has changed since this link was sent. Please use the link in your most recent email to change or cancel.",
  "manage.bookNew": "Book a new meeting",
  "rescheduled.title": "Your meeting has been moved",
  "rescheduled.body": "We've sent an updated confirmation and calendar invite to your email.",
  "rescheduled.newTime": "New time",
  "rescheduled.close": "You can now close this page.",
  "cancelled.title": "Your meeting has been cancelled",
  "cancelled.body": "We've sent a confirmation of the cancellation to your email.",
  "cancelled.rebook": "Book a new meeting",
  "cancelled.close": "You can now close this page.",
  "challenge.help": "Please confirm you're not a robot to continue.",
  "location.google_meet": "Google Meet (video call)",
  "location.phone": "Phone call",
  "location.physical": "In-person meeting",
  "error.heading": "Something went wrong",
  "error.generic": "Something went wrong — please call us and we'll help you.",
  "error.unavailable": "The service is temporarily unavailable — please try again shortly.",
  "error.slotTaken": "That time was just taken, unfortunately. Please choose another.",
  "error.sessionExpired": "Your session expired. Please start again.",
  "error.invalidEmail": "Please enter a valid email address.",
  "error.invalidPhone": "Please enter a valid phone number.",
  "error.nameRequired": "Please enter your name.",
  "error.answerRequired": "Please answer this question.",
  "error.tryAgain": "Try again",
  "error.startOver": "Start again",
  "error.callUs": "Call us",
  "live.routing": "Finding available times …",
  "live.slotsLoading": "Loading available times …",
  "live.slotsLoaded": "Available times loaded.",
  "live.tzUpdated": "Times now shown in {tz}.",
  "live.bookingConfirmed": "Your meeting is booked.",
  "advisor.pickHeading": "Choose your advisor",
  "advisor.pickBody": "Select the advisor you would like to book a meeting with.",
  "advisor.bookWith": "Book a meeting",
  "advisor.noneHeading": "Choose an advisor to book",
  "advisor.noneBody": "This page requires you to book with a specific advisor. Choose an advisor below to continue.",
  "advisor.contactHeading": "Need help?"
}
