{
  "common": {
    "copy": "Copy",
    "share": "Share",
    "open": "Open",
    "viewAll": "View all",
    "back": "Back",
    "save": "Save",
    "cancel": "Cancel",
    "loading": "Loading...",
    "error": "Something went wrong",
    "saveSuccess": "Saved successfully",
    "language": "Language",
    "guest": "Guest",
    "unavailable": "unavailable",
    "add": "Add",
    "continue": "Continue",
    "saving": "Saving...",
    "none": "None",
    "unknown": "Unknown",
    "backHome": "Back to home",
    "done": "Done",
    "close": "Close"
  },
  "app": {
    "loading": "Loading",
    "errorBoundary": {
      "message": "PonsLink could not finish loading.",
      "reload": "Reload"
    }
  },
  "cookieConsent": {
    "message": "We use cookies to keep you signed in and remember your preferences.",
    "accept": "Accept",
    "reject": "Reject"
  },
  "nav": {
    "menu": "Menu",
    "home": "Home",
    "inbox": "Inbox",
    "calendar": "Calendar",
    "aliases": "Aliases",
    "contacts": "Contacts",
    "email": "Email",
    "lounge": "Lounge",
    "requests": "Requests",
    "reservations": "Reservations",
    "aliasManagement": "Alias Management",
    "friends": "Friends",
    "profile": "Profile",
    "emailGuidance": "Email guidance",
    "logOut": "Log out",
    "meetingRecords": "Meeting Records",
    "records": "Records"
  },
  "lounge": {
    "dashboard": "Dashboard",
    "subtitle": "Conversation command center",
    "account": "Account",
    "workspace": "Personal link workspace",
    "primaryNavigation": "Lounge primary navigation",
    "mobileNavigation": "Lounge mobile navigation",
    "activeLink": "Active Link",
    "personalLinkStudio": "Your personal link studio for managing conversations.",
    "openRequestPage": "Open request page",
    "visitorsSendRequests": "Visitors send requests and receive email confirmations on this page.",
    "requestEmailTest": "Request / email test entry point",
    "requestEmailTestDesc": "Opening this link lets you write a request from a visitor's perspective and verify the full email, calendar, and call link flow after acceptance.",
    "openPublicRequestPage": "Open public request page",
    "quickAccess": "Quick Access",
    "noConfirmedReservations": "No confirmed reservations",
    "linkActive": "Link active",
    "guest": "Guest",
    "visitor": "Visitor",
    "fallbackHeadline": "Requests and meetings in one place.",
    "events": {
      "meeting_request_received": "New meeting request",
      "meeting_request_sent": "Request sent",
      "meeting_request_accepted": "Meeting accepted",
      "meeting_request_declined": "Meeting declined",
      "meeting_time_counter_proposed": "New time proposed",
      "visitor_waiting_in_room": "Visitor waiting in room",
      "meeting_update": "Meeting update"
    },
    "dashboardPage": {
      "openRoom": "Open room",
      "setUpLink": "Set up link",
      "publicLinkTitle": "Your public link",
      "publicLinkDescription": "Visitors use this link to request a meeting.",
      "completeProfile": "Complete your profile to create a link",
      "needsAttention": "Needs attention",
      "pendingRequests": "Pending requests",
      "upcomingMeetings": "Upcoming meetings",
      "identifiers": "Identifiers",
      "frontDeskSummary": "Front desk summary",
      "requestGateHealth": "Request gate health",
      "usingLocalCounts": "Using local counts",
      "hostOperationsDesk": "Host operations desk",
      "shareTitle": "My PonsLink",
      "newToday": "New today",
      "needsFollowUp": "Needs follow-up",
      "upcomingSessions": "Upcoming sessions",
      "frontDeskNote": "Read-only counts from existing requests and reservations. PonsLink does not intermediate user-to-user payments; connected users handle post-connection arrangements directly.",
      "nextRequest": "Next request",
      "nextMeeting": "Next meeting",
      "noPendingRequests": "No pending requests.",
      "noConfirmedMeetings": "No confirmed meetings.",
      "meetingActivity": "Meeting activity",
      "noMeetingUpdates": "No meeting updates yet.",
      "quickActions": "Quick actions",
      "planAndPricing": "Plan",
      "roomSettings": "Room settings",
      "newRequestToast": "New request received. {{count}} pending.",
      "deleteRequestConfirm": "Delete this request from your lounge activity?",
      "requestRemoved": "Request removed from your lounge.",
      "requestDeleteFailed": "Could not delete this request. Please try again.",
      "deleteRequest": "Delete request",
      "deleteRequestAria": "Delete request from meeting activity",
      "nextConfirmedMeeting": "Next confirmed meeting",
      "confirmedMeetingTime": "Confirmed meeting time · final agreed schedule",
      "paymentHistory": "Payment History",
      "checkoutConfirmedTitle": "Payment confirmed.",
      "checkoutConfirmedBody": "The new plan has been applied to your account.",
      "checkoutConfirmedToast": "Payment confirmed. Your plan has been applied.",
      "checkoutCancelledTitle": "Payment cancelled.",
      "checkoutCancelledBody": "Your existing plan is unchanged. You can restart checkout when needed.",
      "checkoutCancelledToast": "Payment cancelled. Your existing plan is unchanged.",
      "checkoutFailedTitle": "Payment confirmation failed.",
      "checkoutFailedBody": "The payment provider returned a failed status. Check your Polar payment history before paying again to avoid duplicates.",
      "checkoutTimeoutTitle": "Payment confirmation is still delayed.",
      "checkoutTimeoutBody": "Polar webhook processing is taking longer than expected. Refresh shortly or check your payment history.",
      "checkoutPendingTitle": "Confirming payment.",
      "checkoutPendingBody": "The browser returned from checkout. Plan access is completed after the Polar webhook is confirmed.",
      "accountStatus": "Account status and auxiliary tasks",
      "bookingCount": "{{count}} bookings",
      "bookingSoon": "Booking soon",
      "confirmBooking": "Confirm booking",
      "confirmedSession": "Confirmed session",
      "confirmingPayment": "Confirming payment",
      "copyLink": "Copy link",
      "copyPublicLink": "Copy public link",
      "defaultRequestMessage": "No message was included with this request.",
      "deskSettings": "Desk settings",
      "flowStep1Desc": "Visitors send requests through your public desk.",
      "flowStep1Title": "Collect requests",
      "flowStep2Desc": "Review context and confirm the right next step.",
      "flowStep2Title": "Review and decide",
      "flowStep3Desc": "Meet in the room and keep records connected.",
      "flowStep3Title": "Meet and follow up",
      "followUpBadge": "Follow-up",
      "followUpCount": "{{count}} follow-ups",
      "followUpNeeded": "Follow-up needed",
      "frontDeskLoading": "Loading front desk",
      "heroDescription": "Manage public requests, confirmed bookings, and follow-up work from one lounge.",
      "idle": "Idle",
      "idleDescription": "No urgent lounge work is waiting right now.",
      "linkNotSet": "Link not set",
      "linkSetupRequired": "Set up your public link first.",
      "live": "Live",
      "newRequestHere": "New request here",
      "nextBooking": "Next booking",
      "nextBookingTitle": "Next confirmed booking",
      "noBookings": "No bookings yet",
      "noConfirmedBooking": "No confirmed booking",
      "noFollowUp": "No follow-up needed",
      "noNewRequests": "No new requests",
      "openRequestList": "Open request list",
      "pendingReviewCount": "{{count}} pending reviews",
      "prepareNextSession": "Prepare next session",
      "publicDesk": "Public desk",
      "publicDeskDescription": "Share your desk so visitors can request a meeting with context.",
      "publicDeskFeatures": "Requests, scheduling, and room access stay connected.",
      "publicDeskOpen": "Open public desk",
      "publicProfileSaveHint": "Save your public profile to activate the link.",
      "qrLogoTooLarge": "Logo image must be 2 MB or smaller.",
      "qrLogoTypeError": "Use PNG, JPEG, WebP, or SVG files only.",
      "queueAllRequests": "Queue all requests",
      "recentActivity": "Recent activity",
      "requestBookingRecordFlow": "Request → booking → record flow",
      "requestCount": "{{count}} requests",
      "requestReviewNeeded": "Request review needed",
      "reviewRequest": "Review request",
      "reviewRequestBtn": "Review request",
      "riskStatusFirst": "Handle requests that need a decision first.",
      "serviceFlowGuide": "Service flow guide",
      "setupNeeded": "Setup needed",
      "setupPublicLink": "Set up public link",
      "setupPublicLinkFirst": "Set up your public link first",
      "share": "Share",
      "summaryApiError": "Could not load the lounge summary.",
      "todayFirstTask": "First task today",
      "todayNewRequests": "New requests today",
      "todaySessionDesk": "Today’s session desk",
      "valueCount": "{{count}} items",
      "viewVisitorScreen": "View visitor screen",
      "visitor": "Visitor",
      "visitorAdmissionOpen": "Visitor admission open",
      "visitorScreen": "Visitor screen"
    },
    "onboardingPage": {
      "loginRequired": "Login required.",
      "basicInfo": "Basic Info",
      "linkSetup": "Link Setup",
      "preferences": "Preferences",
      "imageTooLarge": "Image must be under 5MB.",
      "imageTypeError": "Only jpg, png, webp allowed.",
      "nameRequired": "Name is required.",
      "saveFailed": "Failed to save profile.",
      "howKnowYou": "How should others know you?",
      "profileAlt": "profile",
      "profilePhoto": "Profile photo",
      "displayNameRequired": "Display name *",
      "yourName": "Your name",
      "createPersonalLink": "Create your personal link.",
      "personalLinkSlug": "Personal link slug *",
      "slugPlaceholder": "yourname",
      "headlinePlaceholder": "One-line intro",
      "bioPlaceholder": "Tell visitors about yourself...",
      "connectPreference": "How do you want to connect?",
      "defaultSessionType": "Default session type",
      "liveAt": "Your link will be live at",
      "settingsLater": "You can update these settings later in your lounge profile.",
      "settingUp": "Setting up...",
      "launch": "Launch your lounge"
    },
    "aliasesPage": {
      "eyebrow": "Public link",
      "title": "Public link",
      "description": "Review the public URL and alias status visitors use to reach your desk.",
      "editSettings": "Edit in public desk settings",
      "emptyTitle": "No public link configured yet",
      "emptyDescription": "Link status appears here once you save a slug and intake policy in public desk settings.",
      "primaryAlias": "Primary alias",
      "headlineFallback": "Add a sharper headline in profile so visitors understand what this alias is for.",
      "status": "Status",
      "visibility": "Visibility",
      "response": "Response",
      "publicReach": "Public reach",
      "timezone": "Timezone",
      "availability": "Availability",
      "requestTypes": "Request types",
      "noneEnabled": "None enabled",
      "openPublicAlias": "Open public link",
      "refineInProfile": "Refine in desk settings"
    },
    "friendsPage": {
      "eyebrow": "Trusted contacts",
      "title": "Trusted contacts",
      "description": "Quietly manage repeat visitors and blocked contacts with only the details needed for access decisions.",
      "contactsCount": "{{count}} contacts",
      "emptyTitle": "No trusted contacts yet",
      "emptyDescription": "Add a slug to keep repeat visitors easy to find, block, or remove.",
      "friendSlug": "Contact slug",
      "block": "Block",
      "remove": "Remove"
    },
    "requestsPage": {
      "title": "Meeting requests",
      "description": "Review the visitor, requested time, live room link, and response options from one queue.",
      "total": "Total",
      "requestSuffix": "{{type}} request",
      "joinVisitorRoom": "Join visitor room",
      "missingAccess": "Meeting access link is missing. Check your online connection or create the request again.",
      "preferred": "Preferred: {{time}}",
      "noRequestedDate": "No requested date",
      "requestedNotPassed": "Requested date has not passed",
      "requestedPassed": "Requested date has passed",
      "systemDate": "System date: {{date}}",
      "requestedDate": "Requested: {{requested}} · System date: {{system}}",
      "countdown": "Countdown: {{time}}",
      "noMeetingTime": "No meeting time set",
      "timePassedNotice": "Requested time has passed. Keep the visitor room link available and set a new session window if you accept.",
      "timePassedDetailNotice": "Requested time has passed. Keep the visitor room link available and set a new session window if you respond.",
      "registeredVisitor": "registered visitor",
      "guestVisitor": "guest visitor",
      "expires": "Expires {{date}}",
      "details": "Details",
      "response": "Response",
      "responseDescription": "Set a session window only if you accept or reschedule.",
      "start": "Start",
      "end": "End",
      "startTimeFor": "Start time for {{name}}",
      "endTimeFor": "End time for {{name}}",
      "sessionType": "Session type",
      "sessionTypeFor": "Session type for {{name}}",
      "reschedule": "Reschedule",
      "rescheduleMeeting": "Reschedule meeting",
      "guestRescheduleBlocked": "Guest visitors can only send a meeting request, so PonsLink cannot email them a reschedule request.",
      "validTimeRequired": "Enter a valid meeting time.",
      "acceptedMessage": "Request accepted. The visitor status link will open the meeting when it is time.",
      "acceptedDetailMessage": "Request accepted. The visitor room opens when the session window starts.",
      "rescheduleSent": "Reschedule request sent to the visitor.",
      "declinedMessage": "Request declined.",
      "emptyTitle": "No requests yet",
      "emptyDescription": "Share your public link so visitors can leave their purpose and preferred time.",
      "acceptConfirmationCardAria": "Accept confirmation card",
      "guestContactCtasAria": "Guest contact actions",
      "acceptedHandoffCardAria": "Accepted handoff card",
      "acceptFailed": "Could not accept the request.",
      "approve": "Approve",
      "awaitingDecision": "Awaiting decision",
      "confirmDecision": "Confirm decision",
      "confirmDecisionHelp": "Choose whether to approve, propose a time, or decline this request.",
      "decision": "Decision",
      "decisionActions": "Decision actions",
      "decisionCard": "Decision card",
      "decisionDescription": "Review the request context before sending a response.",
      "decisionQueue": "Decision queue",
      "declineFailed": "Could not decline the request.",
      "emailGuest": "Email guest",
      "missingVisitorLink": "Visitor link is missing.",
      "newRequest": "New request",
      "noRequestsSuffix": "No requests match this view.",
      "openVisitorLink": "Open visitor link",
      "proposeTime": "Propose time",
      "requestedTimeInPast": "Requested time is in the past.",
      "rescheduleFailed": "Could not propose a new time.",
      "responseNeeded": "Response needed",
      "sentAndReady": "Sent and ready",
      "sentAndReadyHelp": "The visitor has been notified and the meeting is ready.",
      "statApproved": "Approved",
      "statPending": "Pending",
      "visitorLink": "Visitor link",
      "what": "What",
      "when": "When",
      "who": "Who"
    },
    "requestDetailPage": {
      "notFound": "Request not found.",
      "loading": "Loading request…",
      "loadError": "We couldn’t load this request. Please try again.",
      "retry": "Retry",
      "brandSubtitle": "Request review and session prep",
      "eyebrow": "Request detail",
      "visitorMessage": "Visitor message",
      "preferredTime": "Preferred time",
      "noPreferredTime": "The visitor did not leave a preferred time.",
      "expiresAt": "Expires at",
      "actions": "Actions",
      "meetOrRespond": "Meet or respond",
      "description": "Open the visitor room, reset the time for registered visitors, or decline.",
      "visitorBlocked": "This visitor is blocked.",
      "blockVisitor": "Block visitor",
      "blockHidden": "Visitor block actions are currently hidden on this screen because they are not yet available in the online lounge.",
      "visitorBlockedMessage": "Visitor blocked. New requests from them will be prevented.",
      "directArrangementBoundary": "PonsLink does not create checkout links or hold user-to-user payments. Confirm the schedule here, then coordinate any compensation directly with the visitor.",
      "handoffTitle": "Host session destination",
      "handoffHelp": "Choose where the approved session will happen. PonsLink room is selected by default.",
      "handoffPonslink": "PonsLink room",
      "handoffExternal": "External session link",
      "externalProvider": "Provider",
      "externalLink": "Session URL",
      "externalGeneric": "Other HTTPS link",
      "externalLinkInvalid": "Enter a safe HTTPS session link before approving.",
      "price": "Price",
      "proposalMessage": "Proposal message",
      "defaultPrice": "$50 / 30 minutes",
      "defaultProposal": "After we confirm the schedule in PonsLink, we can coordinate any compensation directly. If you want to proceed, reply with your preferred time.",
      "aiDraftCopied": "AI reply draft copied.",
      "aiDraftCopyFailed": "Could not copy the AI reply draft.",
      "aiAssistant": "AI assistant",
      "aiTitle": "Request summary and reply draft",
      "aiDescription": "Generate a reviewable summary and reply draft from this request.",
      "summarizing": "Summarizing...",
      "summarize": "Summarize",
      "regenerate": "Regenerate summary",
      "aiDisabled": "AI processing was disabled when this request was submitted.",
      "aiFailed": "Summary failed. Retry to try again.",
      "aiReplyFailed": "Reply draft failed. Retry to try again.",
      "aiExternalProviderDisclosure": "AI features send request content to a configured external AI provider for summarization or reply drafting. Do not include sensitive information.",
      "summaryReady": "Summary ready.",
      "replyReady": "Reply draft ready.",
      "actionFailed": "The request action failed. Check the connection and try again.",
      "drafting": "Drafting...",
      "draftReply": "Draft reply",
      "aiLimitReached": "Monthly AI action limit reached. Upgrade or wait for next month to generate more AI help.",
      "aiUnavailable": "AI actions are not available on this plan or entitlement has not loaded yet.",
      "recommendedAction": "Recommended action",
      "missingInfo": "Missing: {{info}}",
      "replyDraft": "Reply draft",
      "copyDraft": "Copy draft",
      "draftFollowUp": "Draft follow-up for missing information",
      "emailDraft": "Email visitor",
      "followUpEmailSubject": "Follow-up regarding your request",
      "aiActionsRemaining": "AI actions remaining this month: {{remaining}} / {{limit}}",
      "noAttachments": "No attachments",
      "section01Title": "Request overview",
      "section02Title": "Visitor context",
      "section03Title": "Decision and schedule",
      "section04Title": "Follow-up",
      "informationRequested": "Information requested",
      "informationAwaiting": "Awaiting visitor information",
      "requestInformation": "Ask visitor for more information",
      "informationPrompt": "Information request message",
      "informationSent": "Information request sent.",
      "informationFailed": "Could not send the information request.",
      "sendInformationRequest": "Send request"
    },
    "bookingsPage": {
      "title": "Session schedule",
      "description": "Track confirmed session times, join readiness, and rescheduling needs in one place.",
      "count": "{{count}} reservations.",
      "pastCount": "{{count}} archived.",
      "emptyTitle": "No confirmed reservations yet",
      "emptyDescription": "Accept a request to create a confirmed appointment time, then proceed to session prep and email guidance.",
      "status": "Status · {{status}}",
      "starts": "Appointment time {{date}}",
      "upcomingTitle": "Upcoming reservations",
      "upcomingDescription": "Confirmed appointments ordered by the agreed meeting time.",
      "confirmedTime": "Confirmed meeting time",
      "confirmedFromRequest": "Confirmed from the visitor requested schedule.",
      "nextConfirmed": "Next confirmed time",
      "recentlyScheduled": "Recently scheduled",
      "details": "View details",
      "joinRoom": "Join meeting room",
      "noOtherUpcomingTitle": "No other upcoming reservations",
      "noOtherUpcomingDescription": "The confirmed appointment stays pinned above. New accepted requests will appear here.",
      "startsIn": "Starts in {{duration}}",
      "startedAgo": "Started {{duration}} ago",
      "startingNow": "Starting now",
      "hideFromBoard": "Hide from board",
      "archivedTitle": "Past reservations",
      "archivedDescription": "Past confirmed appointment times are kept here instead of the active board.",
      "archivedTime": "Archived appointment time",
      "boardTitle": "Session schedule",
      "pendingTitle": "Pending",
      "providerTitle": "Provider",
      "loadingBoard": "Loading reservation board",
      "loadError": "Reservation board could not load",
      "loadedBounded": "Loaded {{count}} of {{total}} reservations from a quick lookup.",
      "loadingMore": "Loading more…",
      "loadMore": "Load more reservations",
      "queuedCount": "{{count}} queued",
      "showingQueued": "Showing first {{shown}} of {{total}} queued reservations to keep this board responsive.",
      "needsMeetingTime": "Needs meeting time",
      "needsMeetingTimeDescription": "These reservations are visible for follow-up but are not counted as upcoming or past until a schedule is reported.",
      "showingArchived": "Showing first {{shown}} of {{total}} past reservations.",
      "actionQueueTitle": "Action Queue",
      "actionQueueDescription": "Pending decisions from B-user requests.",
      "noPendingActions": "No pending request actions.",
      "showingPending": "Showing first {{shown}} of {{total}} pending requests.",
      "boardDetailTitle": "Board Detail",
      "bUser": "B-user",
      "visitorMessage": "Visitor message",
      "email": "Email",
      "calendar": "Calendar",
      "payment": "Payment",
      "openDetails": "Open details",
      "selectReservation": "Select a reservation to inspect request and delivery state.",
      "guestVisitor": "Guest",
      "ponsLinkMember": "PonsLink member",
      "missingTime": "Meeting time missing",
      "noEmailCaptured": "No email captured",
      "noEndTimeReported": "No end time reported",
      "noScheduleReported": "No schedule reported",
      "noVisitorNote": "No visitor note",
      "proposedTime": "Proposed meeting time",
      "requestedTime": "Requested meeting time",
      "endsAt": "Ends {{time}}",
      "noLiveStatus": "No live status",
      "noMessageAttached": "No message attached.",
      "notReported": "Not reported",
      "timeSummary": "{{label}}: {{time}}",
      "whySummary": "Why: {{reason}}",
      "whereSummary": "Where: {{roomType}}",
      "openRequest": "Open request",
      "expandDetails": "Expand details",
      "collapseDetails": "Collapse details",
      "joinMeetingRoom": "Join meeting room"
    },
    "bookingDetailPage": {
      "eyebrow": "Booking Detail",
      "notFound": "Booking not found.",
      "emailGuidance": "Email guidance",
      "recipient": "Recipient: {{email}}",
      "joinLink": "Join link: {{url}}",
      "operations": "operations",
      "sessionOperations": "Meeting progress",
      "description": "Enter the room when it is time. Keep email resend as a secondary helper if the guest needs the link again.",
      "createdMessage": "Meeting link and email guidance sent.",
      "emailRegenerated": "Latest meeting email resent.",
      "reschedulingNeeded": "Rescheduling needed.",
      "recordedNoShow": "Recorded as no-show.",
      "cancelled": "Booking cancelled.",
      "reset": "Booking reset to scheduled.",
      "dangerZone": "Danger zone",
      "dangerZoneHelp": "Use reset for test data or delete only for mistaken bookings. Deletion removes it from the board.",
      "resetConfirm": "Reset this booking back to scheduled?",
      "deleteConfirm": "Delete this booking from the board? This cannot be undone.",
      "remoteHidden": "Booking status change actions are currently hidden on this screen because they are not yet available in the online lounge.",
      "confirmedTime": "Confirmed meeting time",
      "confirmedTimeHelp": "This is the final schedule agreed through the request flow.",
      "calendarTime": "Calendar time: {{time}}",
      "meetingProgress": "Meeting progress",
      "enterMeetingRoom": "Enter meeting room",
      "visitorWaitingAlert": "Visitor waiting in room alert",
      "visitorWaitingTitle": "{{visitor}} is already in the room",
      "visitorWaitingDescription": "Because PonsLink entry is asymmetric, visitors may arrive first. Enter now or send a quick wait message so the guest is not left uncertain.",
      "visitorWaitingEnter": "Enter and respond now",
      "visitorWaitingEmail": "Send “please wait” email",
      "missingTime": "Meeting time missing",
      "missingTimeHelp": "Add a confirmed schedule before sending calendar, email, or join guidance.",
      "noScheduleReported": "No schedule reported",
      "scheduleRequired": "Calendar, email, and join guidance are hidden until a confirmed schedule is reported.",
      "guestVisitor": "Guest",
      "ponsLinkMember": "PonsLink member",
      "requestContext": "Request context",
      "requestVisitor": "Visitor: {{name}}",
      "requestEmail": "Email: {{email}}",
      "requestTimezone": "Timezone: {{timezone}}",
      "requestType": "Request type: {{type}}",
      "requestPreferredTime": "Preferred time: {{time}}",
      "requestMessage": "Message: {{message}}",
      "requestCreatedAt": "Created: {{date}}",
      "completedFollowUpDescription": "Review the meeting record and send any follow-up while the context is fresh.",
      "completedFollowUpTitle": "Follow-up complete",
      "createFollowUpMeeting": "Create follow-up meeting",
      "handoff": "Handoff",
      "handoffStatusCard": "Handoff status",
      "readyToNotify": "Ready to notify",
      "roomReady": "Room ready",
      "roomWillBePrepared": "The room will be prepared after the booking is confirmed.",
      "secondaryOperations": "Secondary operations",
      "sentAndReady": "Sent and ready",
      "sentAndReadyDescription": "The visitor has the access details and the meeting room is ready.",
      "viewMeetingRecords": "View meeting records",
      "visitorNotification": "Visitor notification",
      "visitorNotified": "Visitor notified"
    },
    "emailDeliveriesPage": {
      "eyebrow": "Delivery log",
      "title": "Email delivery log",
      "description": "Track delivery status for schedule notifications and join links sent to visitors.",
      "sentCount": "{{count}} sent",
      "emptyTitle": "No email delivery log yet",
      "emptyDescription": "Delivery records are created when you prepare a session from booking detail.",
      "link": "Link: {{url}}",
      "status": "Status · {{status}}",
      "created": "Created {{date}}"
    },
    "profilePage": {
      "overviewAria": "Public desk overview",
      "formAria": "Public desk settings form",
      "quickLinksAria": "Public desk quick links",
      "identity": "Public desk",
      "title": "Public desk settings",
      "description": "Shape the name, intro, intake link, and QR code visitors see first. Keep only the settings that make the public desk feel clear.",
      "profileScore": "Profile score",
      "scoreDescription": "Core profile fields completed",
      "visibility": "Visibility",
      "publicReady": "Public-ready",
      "visibilityDescription": "Aligned to your personal link page",
      "responseMode": "Response mode",
      "approveFirst": "Approve first",
      "responseDescription": "Requests are reviewed before booking",
      "preview": "Public desk preview",
      "previewDescription": "This is the first impression visitors see.",
      "profileAlt": "public desk profile",
      "addDisplayName": "Add a display name",
      "previewHeadline": "Write the one-line introduction visitors should see first.",
      "previewBio": "Use this space to explain what kinds of requests you accept, what people can expect, and how you like to respond.",
      "usingGoogleImage": "Using your Google profile image as the default avatar.",
      "toneGuide": "Tone guide",
      "toneGuideDescription": "What makes a public profile feel trustworthy fast",
      "toneItems": {
        "name": "Match the display name to the name you actually use in sessions",
        "headline": "Make the headline filter the right requests before they reach you",
        "bio": "Explain what you help with, not just who you are",
        "image": "Keep the image aligned with the same trust level as your public link"
      },
      "quickLinks": "Quick links",
      "quickLinksDescription": "Move between the profile studio and the rest of the lounge",
      "loungeHome": "Lounge home",
      "loungeHomeDescription": "Return to the request, reservation, and dashboard flow",
      "aliasManagement": "Alias management",
      "aliasManagementDescription": "Review the slug and visibility rules tied to your public link",
      "currentStatus": "Current status",
      "currentStatusDescription": "The Google account image acts as the default profile image until you upload a custom one. If you remove a custom image, the page falls back to the Google avatar again instead of leaving the preview blank.",
      "editFields": "Desk details",
      "unsavedChanges": "Unsaved changes",
      "refineTitle": "Public desk basics",
      "refineDescription": "Keep the details short and focused on what visitors need before they leave a request.",
      "displayNameDescription": "The name visitors see and the name used inside the session",
      "namePlaceholder": "Name",
      "publicAlias": "Public desk address",
      "publicAliasDescription": "This is the public address people use to leave a request. Your internal unique number stays private.",
      "publicAliasAria": "Public desk address",
      "aliasPlaceholder": "your-alias",
      "publicLink": "Public link",
      "internalUniqueNumber": "Internal unique number",
      "issuedAfterLogin": "Issued after login",
      "inactiveLink": "Set an alias to activate your room link",
      "headlineDescription": "A one-line promise that helps the right people self-select",
      "headlinePlaceholder": "One-line introduction",
      "bioDescription": "Explain what you help with, the context you care about, and how you usually respond",
      "bioPlaceholder": "Profile bio",
      "defaultSessionType": "Default session type",
      "roomPresetDescription": "The room preset every new booking opens with",
      "currentPreset": "Current preset",
      "profileImage": "Profile image",
      "imageRequirements": "jpg, png, webp / max 5MB",
      "uploadImage": "Upload image",
      "removeImage": "Remove image",
      "saveProfile": "Save desk settings",
      "aiProcessing": {
        "title": "AI request processing",
        "description": "Request content may be sent to a configured external AI provider for summaries and missing-context detection. Disable processing without closing the request desk; existing summaries remain available. Do not include sensitive information.",
        "toggleLabel": "Allow AI request processing",
        "loading": "Loading the saved AI preference…",
        "loadFailed": "The saved AI preference could not be loaded. AI processing remains off until the profile can be loaded."
      },
      "imageTooLarge": "Images must be 5MB or smaller.",
      "imageTypeError": "Only jpg, png, and webp images are supported.",
      "imageUploaded": "Profile image uploaded.",
      "imageUploadFailed": "Image upload failed. Please try again.",
      "customImageRemoved": "Removed custom image. Google profile image is now shown.",
      "imageRemoved": "Profile image removed.",
      "removeImageFailed": "Failed to remove image. Please try again.",
      "profileSaved": "Profile saved.",
      "shareTemplateTitle": "Share message template",
      "shareTemplate": "If you receive consultation requests by DM, leave the goal and situation through my PonsLink first. I review the request before opening the right session: {{link}}",
      "firstRequestChecklistTitle": "First request checklist",
      "firstRequestChecklist": {
        "copy": "Copy the public desk link.",
        "place": "Place it in your profile, DM reply, or content footer.",
        "watch": "Watch for the first real request before changing more settings."
      },
      "publishFailed": "Could not save this alias online. Visitors cannot send requests until it is saved.",
      "qrTitle": "QR code",
      "qrDescription": "A scannable shortcut to your public desk. Color, reliability, and a small logo are enough for a clean branded code.",
      "qrEmpty": "Save a public desk address to create a QR code.",
      "qrForeground": "QR color",
      "qrBackground": "Background",
      "qrReliability": "Scan reliability",
      "qrDensity": "Density step",
      "qrDensityDescription": "Higher steps give dense links and logos more room.",
      "qrLogo": "Center logo",
      "qrLogoDescription": "png, jpg, webp / max 1MB. Keep reliability high when using a logo.",
      "uploadQrLogo": "Add logo",
      "removeQrLogo": "Remove logo",
      "downloadQr": "Download QR",
      "qrDownloaded": "QR code downloaded.",
      "qrDownloadFailed": "Could not download the QR code.",
      "qrLogoUploaded": "QR logo added.",
      "qrLogoRemoved": "QR logo removed.",
      "qrLogoTooLarge": "QR logo must be 1MB or smaller.",
      "qrLogoTypeError": "Only png, jpg, and webp images are supported.",
      "identitySectionLabel": "Identity",
      "profileBasics": "Profile basics",
      "roleTitleLabel": "Role title",
      "roleTitleHelp": "Shown on your request desk preview so visitors know what kind of help to request.",
      "roleTitlePlaceholder": "Request desk role, e.g. Product advisor",
      "publicDeskSectionLabel": "Public desk",
      "howVisitorsFindYou": "How visitors find you",
      "publishIssues": {
        "displayName": "Add your display name.",
        "publicAlias": "Set your public desk address.",
        "roleTitle": "Add your role title.",
        "proofLinksMax": "Proof links must have at most 8 links.",
        "pinnedProofLinksMax": "Pinned proof links must have at most 4 links.",
        "proofLinkLabel": "Proof link {{number}} label must be 1-40 characters.",
        "proofLinkUrl": "Proof link {{number}} URL must be an http or https URL.",
        "proofLinkDescription": "Proof link {{number}} description must be at most 100 characters.",
        "screeningQuestionsMax": "Screening questions must have at most 3 enabled custom questions.",
        "screeningQuestionLabel": "Screening question {{number}} label must be 5-120 characters.",
        "screeningQuestionHelper": "Screening question {{number}} help text must be at most 120 characters.",
        "screeningQuestionPlaceholder": "Screening question {{number}} placeholder must be at most 120 characters.",
        "acceptingItems": "Best-fit requests need enough short items.",
        "bestRequestIncludes": "What to include needs enough short items.",
        "notFitItems": "Not-a-fit items are too long.",
        "preparationItems": "Preparation items are too long.",
        "screeningQuestionOptionsRequired": "Screening question {{number}} needs choices.",
        "screeningQuestionOptionsMax": "Screening question {{number}} can have at most 6 options."
      },
      "requestDeskStudio": {
        "title": "Public desk setup",
        "subtitle": "A simple profile and message desk for your QR link",
        "simpleDescription": "Set what visitors see, what kind of messages you welcome, and where they can learn more. Advanced questions and QR settings stay tucked away.",
        "viewVisitorPage": "View visitor page",
        "remove": "Remove",
        "contactIntent": {
          "title": "What can people contact you about?",
          "description": "One clear note is easier than a long qualification form.",
          "accepting": "Welcome messages",
          "acceptingPlaceholder": "Project inquiries, consulting requests, collaboration ideas...",
          "response": "Reply note",
          "responsePlaceholder": "Usually replies within 1–2 days."
        },
        "links": {
          "title": "Links to show",
          "addLink": "Add link",
          "description": "Add social, website, portfolio, or proof links. The visitor page keeps the first few simple.",
          "labelAria": "Link label",
          "labelPlaceholder": "LinkedIn, Website, Portfolio...",
          "urlAria": "Link URL"
        },
        "advanced": {
          "title": "Advanced settings"
        },
        "requestFit": {
          "title": "Request Fit",
          "bestFit": "Best-fit requests",
          "notFit": "Not a fit",
          "whatToInclude": "What to include"
        },
        "screening": {
          "title": "Additional questions",
          "addQuestion": "Add question",
          "description": "Optional. Keep this off unless you truly need extra details before replying.",
          "questionAria": "Screening question {{number}}",
          "questionPlaceholder": "Question visitors should answer",
          "required": "Required",
          "limitReached": "Screening questions max 3 reached."
        },
        "proof": {
          "title": "Proof links",
          "addProofLink": "Add proof link",
          "description": "Add up to 8 links that help visitors trust the request desk. The first 4 can appear as pinned proof links.",
          "labelAria": "Proof link label",
          "labelPlaceholder": "Label",
          "urlAria": "Proof link URL",
          "limitReached": "Proof links max 8 reached."
        },
        "preview": {
          "aria": "Live mobile request desk preview",
          "label": "Live mobile preview",
          "heading": "{{name}} request desk",
          "addRoleTitle": "Add a role title",
          "defaultSummary": "request-first session desk",
          "defaultExpectation": "review before booking",
          "beforeRequesting": "Before requesting",
          "requestSession": "Request a session"
        },
        "publish": {
          "title": "Setup checklist",
          "blocked": "Setup needed: {{issue}}",
          "needsSetup": "Needs setup",
          "ready": "Ready. Share your QR or public desk link."
        }
      },
      "qrNoSlug": "Set up a public link first.",
      "qrCopy": "Copy",
      "qrCopied": "Copied",
      "qrSectionDescription": "Download the QR code or copy it to the clipboard.",
      "profileCharacter": "Profile character",
      "profileCharacterDescription": "This character appears in voice rooms and when your camera is muted. Speaking changes its pose for other participants too.",
      "selectProfileCharacter": "Select {{label}}",
      "qrLogoAlt": "QR logo",
      "qrLogoAdded": "Logo added",
      "qrLogoRequirements": "png, jpg, webp, svg · 1MB",
      "advancedSettings": "Advanced",
      "calendarApiMissing": "Remote API URL is required to connect Google Calendar.",
      "calendarConnectFailed": "Could not start Google Calendar connection.",
      "calendarConnected": "Google Calendar connected.",
      "calendarConnectedDetail": "Accepted meetings will sync to Google Calendar.",
      "calendarConnectedStatus": "Connected",
      "calendarDisconnectedStatus": "Not connected",
      "calendarSyncDescription": "When you accept a scheduled request, PonsLink creates a Google Calendar event and invites the guest automatically.",
      "calendarSyncTitle": "Google Calendar sync",
      "connectGoogleCalendar": "Connect Google Calendar",
      "copyPublicLink": "Copy public link",
      "meetingSettings": "Meeting settings",
      "meetingSettingsDescription": "Tune how visitors request and join meetings with you.",
      "publicLinkCopied": "Public link copied.",
      "publicLinkCopyFailed": "Could not copy the public link.",
      "qrReliabilityBalanced": "Balanced",
      "qrReliabilityMax": "Max",
      "qrReliabilityStrong": "Strong"
    },
    "roomTypes": {
      "audio-one-to-one": {
        "title": "1:1 Audio",
        "tone": "Quiet depth",
        "summary": "Focus calls and lowers barrier-to-entry for quick scheduling.",
        "cadence": "Best for high-signal coaching and strategic sessions."
      },
      "video-one-to-one": {
        "title": "1:1 Video",
        "tone": "Present and visual",
        "summary": "Show products, whiteboards, and gestures in real time.",
        "cadence": "Use when visual context changes outcomes."
      },
      "audio-group": {
        "title": "N:N Audio",
        "tone": "Open roundtable",
        "summary": "Keep every voice clear while reducing visual fatigue.",
        "cadence": "Great for mentoring circles and panel check-ins."
      },
      "video-group": {
        "title": "N:N Video",
        "tone": "Studio mode",
        "summary": "Best when shared screens, expressions, and status signals matter.",
        "cadence": "Useful for workshops, demos, and team planning."
      }
    },
    "labels": {
      "requestType": {
        "general": "General request",
        "schedule": "Schedule request",
        "mentoring": "Mentoring",
        "collab": "Collaboration"
      },
      "requestStatus": {
        "pending": "Pending",
        "accepted": "Accepted",
        "counter_proposed": "New time proposed",
        "confirmed": "Confirmed",
        "declined": "Declined",
        "blocked": "Blocked",
        "expired": "Expired"
      },
      "bookingStatus": {
        "proposed": "Proposed",
        "confirmed": "Confirmed",
        "cancelled": "Cancelled",
        "completed": "Completed",
        "no_show": "No-show",
        "reschedule_needed": "Reschedule needed"
      },
      "deliveryStatus": {
        "queued": "Queued",
        "sent": "Sent",
        "failed": "Failed",
        "read": "Read",
        "opened": "Opened"
      },
      "roomType": {
        "audio-one-to-one": "1:1 audio",
        "video-one-to-one": "1:1 video",
        "audio-group": "Group audio",
        "video-group": "Group video"
      },
      "visibility": {
        "public": "Public",
        "private": "Private",
        "unlisted": "Direct-link only"
      },
      "response": {
        "open": "Open",
        "paused": "Paused",
        "approve_before_booking": "Review before booking"
      },
      "requestTypeShort": {
        "general": "General",
        "schedule": "Schedule",
        "mentoring": "Mentoring",
        "collab": "Collaboration"
      },
      "availabilityNotConfigured": "Availability not configured yet",
      "active": "Active",
      "paused": "Paused",
      "weekdays": {
        "0": "Sun",
        "1": "Mon",
        "2": "Tue",
        "3": "Wed",
        "4": "Thu",
        "5": "Fri",
        "6": "Sat"
      }
    },
    "meetingRecordsPage": {
      "eyebrow": "Session records",
      "title": "Session records",
      "description": "Review cloud-saved session records and summaries from your Lounge. Eligible participants can reopen records later.",
      "recordCount": "{{count}} records",
      "untitled": "Untitled meeting record",
      "summaryStatus": "Summary: {{status}}",
      "expiringSoon": "Expires soon",
      "summaryFailedBody": "Transcript saved. AI summary failed and can be retried when retry support is available.",
      "startedAt": "Started {{date}}",
      "duration": "Duration {{duration}}",
      "unknownParticipants": "Unknown participants",
      "consentedOnly": "Consented final captions only",
      "sharedWithEligible": "Shared with eligible participants",
      "expiresAt": "Expires {{date}}",
      "linkedContext": "Linked context: {{context}}",
      "openRecord": "Open record",
      "downloadMarkdown": "Download Markdown",
      "metrics": {
        "total": "Total records",
        "totalDescription": "Cloud-saved Room records",
        "active": "Recording / Finalizing",
        "activeDescription": "Pinned while saving",
        "ready": "Ready",
        "readyDescription": "Transcript and summary ready",
        "expiringSoon": "Expiring soon",
        "expiringSoonDescription": "Retention window ending",
        "usage": "Usage"
      },
      "usage": {
        "reportsWithRemaining": "{{count}} used · {{remaining}} remaining this month",
        "reportsUnlimited": "{{count}} used · unlimited reports",
        "reportsUsed": "{{count}} used",
        "storageWithLimit": "{{usedMb}} MB of {{limitMb}} MB",
        "storageUsed": "{{usedMb}} MB used",
        "storageLine": "{{usage}} storage"
      },
      "filters": {
        "ariaLabel": "Meeting record filters",
        "all": "All",
        "recording": "Recording",
        "finalizing": "Finalizing",
        "ready": "Ready",
        "summary_failed": "Summary failed",
        "expiring_soon": "Expiring soon"
      },
      "status": {
        "recording": {
          "label": "Recording",
          "description": "Saving live captions"
        },
        "finalizing": {
          "label": "Finalizing",
          "description": "Preparing record"
        },
        "ready": {
          "label": "Ready",
          "description": "Summary and transcript ready"
        },
        "summaryFailed": {
          "label": "Summary failed",
          "description": "Transcript saved · summary failed"
        },
        "expired": {
          "label": "Expired",
          "description": "Retention period ended"
        },
        "other": {
          "label": "Other",
          "description": "Unknown lifecycle state"
        }
      },
      "empty": {
        "title": "No meeting records yet",
        "description": "Turn on meeting minutes in a Room; eligible authenticated participants can find the saved record here even without downloading.",
        "filtered": "No records match this filter."
      },
      "context": {
        "booking": "Booking {{id}}",
        "request": "Request {{id}}",
        "session": "Session {{id}}"
      }
    },
    "meetingRecordDetail": {
      "notFound": "Meeting record not found.",
      "back": "← Back to Meeting Records",
      "summaryStatus": "Summary {{status}}",
      "meta": "{{roomTitle}} · {{startedAt}}{{endedAt}} · {{duration}}",
      "description": "Cloud-saved Room meeting record. Eligible participants can reopen it from Lounge without relying on a Markdown download.",
      "copyFollowUp": "Copy follow-up draft",
      "downloadMarkdown": "Download Markdown",
      "unknownParticipants": "Unknown participants",
      "status": {
        "summaryFailed": "Transcript saved · summary failed",
        "recording": "Saving live captions",
        "finalizing": "Preparing record",
        "ready": "Ready",
        "expired": "Expired",
        "other": "Other: {{status}}"
      },
      "summary": {
        "title": "Summary",
        "failed": "AI summary failed, but the transcript remains available below.",
        "pending": "Summary is not available yet. Transcript segments may still be saving or finalizing.",
        "actionItems": "Action items",
        "followUpDraft": "Follow-up draft",
        "retryUnavailable": "Retry summary unavailable in this build"
      },
      "transcript": {
        "title": "Transcript",
        "description": "Final captions from consenting speakers only.",
        "empty": "No transcript segments are available yet."
      },
      "lifecycle": {
        "title": "Lifecycle",
        "steps": {
          "recording": "Recording",
          "finalizing": "Finalizing",
          "ready": "Ready"
        }
      },
      "privacy": {
        "title": "Access & privacy",
        "access": "Host and eligible authenticated participants can access this record.",
        "consentOnly": "Only consent-granted final speech is saved as transcript.",
        "participants": "Participants: {{names}}"
      },
      "retention": {
        "title": "Retention & links",
        "expires": "Expires: {{date}}",
        "noExpiry": "No expiry returned",
        "openBooking": "Open booking context",
        "openRequest": "Open request context",
        "sessionReservation": "Session reservation: {{id}}"
      },
      "export": {
        "title": "Export",
        "description": "Download Markdown is a secondary export. The Lounge record is the source of truth while retained."
      }
    },
    "common": {
      "all": "All",
      "approved": "Approved",
      "cancelled": "Cancelled",
      "declined": "Declined",
      "done": "Done",
      "guest": "Guest",
      "noRequestMessage": "No request message",
      "pending": "Pending",
      "registeredVisitor": "Registered visitor",
      "sendEmail": "Send email",
      "timeNotSet": "Time not set",
      "upcoming": "Upcoming",
      "visitorLink": "Visitor link"
    },
    "firstRunChecklist": {
      "title": "Set up your public desk",
      "intro": "Copy your public desk link and paste it into DMs or your profile.",
      "items": [
        "Copy the public desk link to DMs or profile",
        "Review new request cards",
        "Approve prepared requests before opening a session"
      ],
      "cta": "Open public desk settings"
    }
  },
  "requests": {
    "workspace": "Personal link workspace",
    "inbox": "Request inbox",
    "noRequests": "No requests yet",
    "shareYourLink": "Share your public link so visitors can leave their purpose and preferred time.",
    "visitorTimezone": "Visitor timezone",
    "recommendedTimezone": "Recommended timezone",
    "sortTimezone": "Sort timezone",
    "accept": "Accept",
    "decline": "Decline",
    "blockVisitor": "Block visitor",
    "requestReview": "Request review and session prep"
  },
  "bookings": {
    "board": "Reservation board",
    "status": "Status",
    "prepareSession": "Prepare session",
    "resendEmail": "Resend email",
    "checkSessionEntry": "Check session entry",
    "rescheduleNeeded": "Reschedule needed",
    "markNoShow": "Mark no-show",
    "cancelBooking": "Cancel booking",
    "resetBooking": "Reset booking",
    "deleteBooking": "Delete booking",
    "bookingNotFound": "Booking not found.",
    "sendMeetingLink": "Send meeting link",
    "resendMeetingEmail": "Resend meeting email"
  },
  "friends": {
    "addFriend": "Add friend",
    "friendSlugPlaceholder": "Friend slug"
  },
  "profile": {
    "title": "Profile",
    "headline": "Headline",
    "bio": "Bio",
    "roomType": "Default room type",
    "selectRoomType": "Select room type",
    "audioOneToOne": "1:1 Audio",
    "videoOneToOne": "1:1 Video"
  },
  "onboarding": {
    "createLink": "Create your personal link",
    "slugPlaceholder": "your-name",
    "headlinePlaceholder": "e.g. Product designer open for 1:1s",
    "bioPlaceholder": "Tell visitors what you are open to talk about...",
    "backToLounge": "Back to lounge"
  },
  "sessionAccess": {
    "checking": "Checking your meeting link",
    "checkingBody": "This usually takes a moment. If everything is ready, we will move you into the room automatically.",
    "eyebrow": "Entry check",
    "emailMismatch": "This link is for another email",
    "emailMismatchBody": "Open the latest meeting email and try again.",
    "bookingEmail": "Invited email",
    "resendHelp": "Ask the host to send the meeting email again if needed.",
    "goHome": "Go to home",
    "tokenRequired": "Open the latest meeting email",
    "tokenRequiredBody": "This page needs the secure meeting link from your email.",
    "tokenRequiredDetail": "If the link is old or incomplete, ask the host to send a new one.",
    "openLatestEmailLink": "Open latest email link",
    "waiting": "It is not time to enter yet",
    "waitingBody": "Come back at the scheduled entry time.",
    "waitingDetail": "Check the schedule in your email and calendar.",
    "backHome": "Back to home",
    "expired": "Entry time has ended",
    "expiredBody": "A new time is needed.",
    "expiredDetail": "Ask the host to send a fresh meeting link after rescheduling.",
    "backLogin": "Back to login",
    "pendingHostConfirmationTitle": "Host confirmation is needed before entry",
    "pendingHostConfirmationBody": "Ask the host to confirm the meeting, then return with the same meeting link.",
    "pendingHostConfirmationDetail": "The room will open after the host confirms the meeting.",
    "notFound": "Meeting link not found",
    "notFoundBody": "Open the latest meeting email and try again.",
    "notFoundDetail": "If the link is old or incomplete, ask the host to send a new one.",
    "retryTitle": "We could not check this meeting link",
    "retryBody": "A network or server issue interrupted the check. Try again with the same emailed link.",
    "retryDetail": "If this keeps happening, reopen the latest email or ask the host to send the link again.",
    "retryAccess": "Check again",
    "checkAgain": "Check again",
    "readinessTitle": "Quick readiness check",
    "cameraCheck": "Camera preview can be adjusted after you enter.",
    "microphoneCheck": "Make sure the microphone you want to use is available.",
    "speakerCheck": "Use headphones if you are in a shared space.",
    "securityNote": "For safety, use the latest link sent to your email.",
    "joinWindowStartsAt": "Entry opens at {{startAt}}",
    "opensIn": "Opens in {{opensIn}}",
    "denied": "This meeting link cannot be used",
    "deniedBody": "The link may be invalid, cancelled, or no longer active.",
    "deniedDetail": "Send a new request or ask the host to send the latest guest link.",
    "entryEyebrow": "Session entry",
    "nextStepTitle": "Next step",
    "preparingEntryTitle": "Preparing your meeting entry",
    "preparingEntryBody": "We are checking your link and opening the shortest path into the room.",
    "preparingEntryDetail": "This usually takes a moment. Keep this page open.",
    "retryEntryTitle": "We could not prepare entry yet",
    "retryEntryBody": "The link check was interrupted. Try again with the same emailed link.",
    "retryEntryDetail": "If this keeps happening, reopen the latest email or ask the host to send the link again.",
    "waitingRoomTitle": "Your room is not open yet",
    "waitingRoomBody": "You are in the right place. We will re-check entry when you ask, and the same link will work when the room opens.",
    "expiredEntryTitle": "This room is closed",
    "expiredEntryBody": "The entry time has ended, so this guest link can no longer enter the room.",
    "permissionGateAria": "Email permission gate",
    "permissionGateBody": "This page verifies the session token sent by email before opening the room. The email link is your entry path.",
    "permissionGateTitle": "Email link required"
  },
  "login": {
    "backHome": "Back to home",
    "title": "Sign in to PonsLink",
    "description": "Manage your personal link, requests, and meetings.",
    "signingIn": "Signing in...",
    "continueAs": "Continue as {{name}}",
    "continueGoogle": "Continue with Google",
    "googleFailed": "Google sign-in failed. Please try again.",
    "originHelpPrefix": "Add",
    "originHelpSuffix": "to your Google Cloud Console OAuth authorized origins.",
    "termsPrefix": "By continuing, you agree to PonsLink's",
    "terms": "Terms",
    "and": "and",
    "privacy": "Privacy Policy",
    "googleOnly": "Only Google accounts are supported at this time.",
    "illustrationTitle": "Start the first step toward smarter meeting filtering",
    "illustrationBody": "PonsLink goes beyond simple scheduling,\nhelping you focus only on real business opportunities.",
    "secureAuth": "Secure authentication",
    "quickSetup": "Quick setup",
    "freeStart": "Start free",
    "checkoutUnavailable": "We could not open the checkout page."
  },
  "notFound": {
    "title": "Oops! Page not found",
    "description": "The page you're looking for doesn't exist or has been moved.",
    "returnHome": "Return to Home"
  },
  "landing": {
    "title": "Open a live room.",
    "description": "Choose a room mode, name the space, then join Lobby.",
    "note": "Unregistered room names open immediately. Personal identifiers still use request approval.",
    "header": {
      "homeAria": "Go to PonsLink home",
      "tagline": "Private link communication"
    },
    "mode": {
      "aria": "Choose room mode",
      "audio-one-to-one": {
        "title": "1:1 Audio",
        "description": "Private audio room. Max 2 participants. Camera hidden."
      },
      "audio-group": {
        "title": "Group Audio (8)",
        "description": "Group audio room. Max 8 participants. Mobile users are recommended to keep rooms at 6 or fewer."
      },
      "video-one-to-one": {
        "title": "1:1 Video",
        "description": "Private 1:1 video room. Max 2 participants."
      },
      "video-group": {
        "title": "Group Video (4)",
        "description": "Group video room. Max 4 participants."
      }
    },
    "room": {
      "aria": "Room details",
      "titleLabel": "Room Title",
      "titlePlaceholder": "Enter the room title",
      "nicknameLabel": "Nickname",
      "optional": "optional",
      "random": "Random",
      "nicknamePlaceholder": "Leave empty for a surprise...",
      "joinLobby": "Join Lobby",
      "nicknameGenerated": "Nickname generated",
      "selectRoomType": "Please select a room type",
      "enterRoomTitle": "Please enter a room title"
    }
  },
  "roomGate": {
    "opening": "Opening room...",
    "eyebrow": "PonsLink room gate",
    "description": "This personal room only opens for the identifier owner or an approved visitor. Send a request first when access has not been issued yet.",
    "checking": "Checking meeting access...",
    "pending": "This meeting request is still waiting for the host response.",
    "declined": "This meeting request was declined.",
    "invalid": "This meeting access link is invalid or expired.",
    "error": "Meeting access could not be verified right now.",
    "fullNotice": "This 1:1 room is full right now. Send a reservation request and PonsLink will issue a visitor link for the host to reconnect with you.",
    "status": "Status",
    "cards": {
      "requestRequired": {
        "title": "Request required",
        "body": "This room opens only from an approved session entry link. Send your meeting request from the public desk first.",
        "action": "Open public desk"
      },
      "pending": {
        "title": "Request awaiting host response",
        "body": "You are on the list. Keep this page or come back from your email once the host accepts.",
        "action": "Check email for updates"
      },
      "declined": {
        "title": "Request declined",
        "body": "The host declined this request. Send a new request only if the meeting details changed.",
        "action": "Send a new request"
      },
      "expired": {
        "title": "Session entry link expired",
        "body": "This access link is invalid or expired. Use the newest email link or request a fresh appointment.",
        "action": "Request a fresh link"
      },
      "paymentRequired": {
        "title": "Host confirmation required",
        "body": "The host must confirm this appointment before the room can open. PonsLink does not process user-to-user payments.",
        "action": "Review request status"
      },
      "waiting": {
        "title": "Entry opens soon",
        "body": "This meeting has been approved, but the join window has not opened yet. Come back closer to the scheduled time.",
        "action": "Refresh status"
      },
      "unavailable": {
        "title": "Room unavailable",
        "body": "This room cannot open right now. Send a request and the host can propose another time.",
        "action": "Request another time"
      },
      "error": {
        "title": "Access check unavailable",
        "body": "Session entry access could not be verified right now. Try again, or request a fresh appointment if the problem continues.",
        "action": "Request a fresh link"
      }
    },
    "entry": {
      "aria": "Session entry checklist",
      "eyebrow": "Ready to enter",
      "title": "Reservation access confirmed",
      "description": "Allow camera and microphone permissions, then enter the session. Keep this link to reopen with the same reservation status.",
      "enter": "Enter session",
      "copy": "Copy reservation link",
      "copied": "Link copied",
      "checklist": {
        "aria": "Pre-entry checklist",
        "network": "Network connection checked",
        "hostAccess": "Host access confirmed",
        "reservationAccess": "Reservation link access confirmed",
        "identity": "Entry path confirmed"
      }
    }
  },
  "room": {
    "loadingInfo": "Loading room information...",
    "nicknamePrompt": {
      "title": "Enter Pons-Link",
      "description": "Choose a name and connect to the live lounge. Leave it blank to join with a random nickname.",
      "placeholder": "Enter nickname",
      "joiningShort": "Joining",
      "joining": "Joining...",
      "join": "Join",
      "enterLounge": "Enter lounge",
      "randomAria": "Generate random nickname",
      "generating": "Generating...",
      "random": "Random",
      "randomNickname": "Random nickname",
      "permissionNote": "PonsLink will check microphone and camera permissions when you join."
    },
    "minutes": {
      "saved": "Your final captions are being saved to Chat.",
      "excluded": "Your final captions are excluded from Chat.",
      "pending": "Your final captions are not being saved until you respond.",
      "recording": "Minutes recording",
      "startedBy": "Started by {{nickname}}",
      "consentTitle": "Allow your speech in Meeting Minutes?",
      "consentDescription": "Room minutes are active. Consent to save your finalized captions into Chat, or decline to keep your speech out of Meeting Minutes.",
      "allow": "Allow Minutes",
      "decline": "Decline"
    },
    "upgrade": {
      "title": "Switch to a video room?",
      "description": "{{nickname}} requested switching this audio room to a video room.",
      "decline": "Decline",
      "approve": "Approve"
    },
    "toasts": {
      "mediaPermission": "Failed to access camera/microphone. Please allow permissions.",
      "micPermission": "Microphone access permission is required. Please check your settings.",
      "roomMissing": "Room not specified.",
      "joinedAs": "Joined as {{nickname}}",
      "joinFailed": "Failed to join room. Please try again.",
      "genericError": "An error occurred. Please try again.",
      "randomNickname": "Random nickname: {{nickname}}"
    },
    "video": {
      "switchCamera": "Switch camera",
      "connectingTo": "Connecting to {{nickname}}...",
      "connectionLost": "Connection to {{nickname}} lost.",
      "switchToVideo": "Switch to {{nickname}}'s video",
      "enlargeView": "Enlarge view",
      "switchToMain": "Switch to main",
      "tileFullscreenAria": "{{nickname}} video tile. Press Enter or F to toggle fullscreen",
      "reframeCamera": "Reframe camera",
      "displaySettings": "Video display settings",
      "enterFullscreen": "Enter fullscreen",
      "fullscreenHint": "Double-click or press F for fullscreen",
      "exitFullscreenHint": "Press ESC to exit fullscreen",
      "speakerWaitingTitle": "No participants connected yet",
      "speakerWaitingSubtitle": "When someone joins, they will appear on the main stage.",
      "viewerWaitingTitle": "Waiting for a participant to display",
      "viewerWaitingSubtitle": "When participants join, you can select the main screen from the gallery below.",
      "showVideos": "Show videos",
      "showHiddenVideos": "Show hidden videos",
      "switchToMainForParticipant": "Switch {{nickname}} to the main view",
      "viewModes": {
        "grid": "Grid",
        "viewer": "Focus",
        "speaker": "Speaker"
      },
      "status": {
        "screenSharing": "Screen sharing",
        "ponsCast": "PonsCast",
        "relay": "Relay",
        "captionsLive": "Captions live",
        "relaying": "Relaying"
      },
      "localParticipantSuffix": "(You)",
      "cameraStatusAria": "Camera status: {{status}}",
      "enablePlaybackAria": "Enable {{nickname}} playback",
      "tapToEnablePlayback": "Tap to enable playback",
      "cameraFraming": "Camera Framing",
      "moveToSpeakerAria": "Move to {{nickname}} speaker area",
      "moveToSpeaker": "Move to speaker area",
      "focusParticipant": "Focus this participant",
      "hideVideo": "Hide video",
      "displayOptions": {
        "balanced": {
          "label": "Balanced",
          "description": "Show your full camera frame with a subtle filled backdrop."
        },
        "reframe": {
          "label": "Center Face",
          "description": "Fill the tile and keep your face centered when detection is available."
        },
        "fill": {
          "label": "Fill Tile",
          "description": "Fill the tile edge to edge. Edges may crop."
        },
        "fit": {
          "label": "Full Frame",
          "description": "Show the entire camera frame with simple side padding."
        }
      }
    },
    "audio": {
      "summaryAria": "Audio room summary",
      "sharedStageAria": "Audio shared stage",
      "participantGridAria": "Voice lounge participant grid",
      "eyebrow": "Voice lounge",
      "title": "Audio room focused on voice",
      "description": "Participants stay visible while shared media takes the stage only when someone starts presenting.",
      "connected": "{{connected}}/{{total}} connected",
      "avatarPresence": "Avatar-first presence",
      "audioFocus": "Audio room focus",
      "peoplePresent": "People present",
      "peoplePresentDesc": "Everyone stays visible through lightweight presence tiles.",
      "speakingCues": "Speaking cues",
      "speakingCuesDesc": "Voice activity remains the primary motion language.",
      "sharedSurface": "Shared surface",
      "sharedSurfaceDesc": "Shared media takes over only when it is active.",
      "sharedSurfaceLive": "Shared surface live",
      "sharedParticipant": "{{nickname}} is currently carrying the room surface."
    },
    "controls": {
      "chooseViewMode": "Choose room view mode",
      "switchViewModeAria": "Switch to {{mode}} view",
      "captionsStreaming": "Live captions streaming",
      "captionsFallbackStreaming": "Live captions fallback streaming",
      "captionsNeedAttention": "Live captions need attention",
      "captionsStarting": "Live captions starting",
      "callEnded": "Call ended.",
      "confirmEndRelay": "Return to your camera and end relay?",
      "roomInfoNotReady": "Current room information is not ready.",
      "clickCapReady": "ClickCap is ready. Open ClickCap and click Share Screen after selecting area.",
      "clickCapStartFailed": "ClickCap Capture could not start.",
      "view": "View",
      "muteShortcut": "Mute (Alt+M)",
      "unmuteShortcut": "Unmute (Alt+M)",
      "muteMicrophone": "Mute microphone",
      "unmuteMicrophone": "Unmute microphone",
      "restoreCamera": "Restore camera",
      "stopVideo": "Stop video",
      "startVideo": "Start video",
      "leaveRoom": "Leave room",
      "chatShortcut": "Chat (Alt+C)",
      "openChatUnread": "Open chat, {{count}} unread messages",
      "openChat": "Open chat",
      "stopSharing": "Stop sharing",
      "shareScreen": "Share screen",
      "stopScreenSharing": "Stop screen sharing",
      "disableCaptions": "Disable live captions",
      "enableCaptions": "Enable live captions",
      "mediaRelayShortcut": "Media Relay (Alt+R)",
      "openMediaRelay": "Open media relay panel",
      "coWatchShortcut": "CoWatch (Alt+O)",
      "openCoWatch": "Open CoWatch panel",
      "moreOptions": "More options",
      "openMoreControls": "Open more room controls",
      "whiteboard": "Whiteboard",
      "mediaRelay": "Media Relay",
      "requestVideoUpgrade": "Request Video Upgrade",
      "settings": "Settings",
      "on": "On",
      "mute": "Mute",
      "unmute": "Unmute",
      "restore": "Restore",
      "stop": "Stop",
      "start": "Start",
      "chat": "Chat",
      "more": "More",
      "options": "Options",
      "optionsDescription": "Choose an option to customize your experience",
      "viewMode": "View mode",
      "liveCaptions": "Live Captions",
      "onParenthetical": "(On)",
      "leave": "Leave",
      "leaveTemporarilyDisabled": "Leave button temporarily disabled",
      "showControls": "Show controls",
      "viewModeWithValue": "View mode: {{mode}}"
    },
    "shortcuts": {
      "eyebrow": "Desktop controls",
      "title": "Keyboard shortcuts",
      "description": "Use shortcuts outside text inputs. Press Esc to close panels.",
      "closeAria": "Close keyboard shortcuts",
      "showKeyboardShortcuts": "Show keyboard shortcuts",
      "closeShortcutsOrPanel": "Close shortcuts or active panel",
      "toggleChat": "Toggle chat",
      "toggleWhiteboard": "Toggle whiteboard",
      "toggleSettings": "Toggle settings",
      "toggleMediaRelay": "Toggle media relay",
      "togglePonsCast": "Toggle PonsCast",
      "toggleCoWatch": "Toggle CoWatch",
      "cycleRoomView": "Cycle room view",
      "muteOrUnmuteMicrophone": "Mute or unmute microphone"
    },
    "ponsCast": {
      "cameraViewAria": "{{nickname}} camera view",
      "returnedToCamera": "Returned to camera",
      "waitingForCameraFrame": "Waiting for the next PonsCast or camera frame from {{nickname}}.",
      "streamAria": "PonsCast stream from {{nickname}}",
      "receiving": "Receiving PonsCast",
      "waitingForMedia": "Waiting for media",
      "initializing": "Initializing PonsCast...",
      "ended": "PonsCast ended",
      "waitingForSharedMedia": "Waiting for the next shared media.",
      "playbackUnsupported": "PonsCast playback is not supported",
      "playbackInterrupted": "PonsCast playback interrupted",
      "retryPlayback": "Retry playback",
      "returnToCamera": "Return to camera",
      "fileMessage": {
        "loadingInfo": "File info loading...",
        "downloadLinkError": "Download link could not be prepared. Please try again.",
        "filesCount": "{{count}} files",
        "folder": "Folder",
        "saveToDisk": "Save to disk",
        "assemblingTitle": "File Assembling",
        "assemblingDescription": "Receiving chunks and assembling into a file...",
        "assemblingMode": "Assembling ({{mode}})",
        "disk": "Disk",
        "memory": "Memory",
        "finalizing": "Finalizing",
        "pendingChunks": "{{count}} pending",
        "waiting": "Waiting...",
        "eta": "ETA: {{value}}",
        "calculating": "Calculating...",
        "folderSent": "Folder Sent",
        "sendComplete": "Send Complete",
        "averageSpeed": "Average: {{value}}",
        "sendCancelled": "Send Cancelled",
        "status": {
          "preparing": "Preparing...",
          "transferring": "Transferring...",
          "receiving": "Receiving...",
          "verifying": "Verifying...",
          "assembling": "File Assembling...",
          "paused": "Paused",
          "complete": "Complete",
          "cancelled": "Cancelled",
          "error": "Error"
        },
        "download": {
          "folder": "Folder Download",
          "image": "Image Download",
          "file": "File Download"
        }
      },
      "fileSelector": {
        "toasts": {
          "filesAdded": "{{count}} files added to playlist",
          "loadFailed": "Failed to load this file into PonsCast.",
          "largeFile": "Large file detected ({{size}}GB). Streaming may take time.",
          "videoUnsupported": "This video format may not be fully supported",
          "fileUnsupported": "This file type may not be fully supported"
        },
        "types": {
          "video": "Video",
          "image": "Image",
          "text": "Text",
          "file": "File"
        },
        "dropToAdd": "Drop to add to the playlist",
        "clickOrDrop": "Click or drop media here",
        "helper": "Add one file to cue it now, or add several files to build a visible queue.",
        "nowCued": "Now cued",
        "removeCurrent": "Remove current item",
        "streamQuality": "Stream Quality:",
        "quality": {
          "low": "Low (15fps, 480p)",
          "medium": "Medium (24fps, 720p)",
          "high": "High (30fps, 1080p)"
        },
        "qualityHelp": {
          "low": "Best for slow connections",
          "medium": "Balanced quality and performance",
          "high": "Best quality, requires good connection"
        }
      },
      "streamControls": {
        "toasts": {
          "noParticipants": "No connected participants to receive this PonsCast."
        },
        "liveInRoom": "Live in room",
        "readyToShare": "Ready to share",
        "buildQueue": "Build the queue",
        "addMediaFirst": "Add media first. The selected item will appear in the playlist and preview.",
        "narrateWithMicrophone": "Narrate with microphone",
        "microphoneDefaultOff": "Default off: room hears PonsCast media audio only.",
        "shareToRoom": "Share to room",
        "chooseMediaFirst": "Choose media first",
        "stopSharing": "Stop sharing",
        "returnToCamera": "Return to camera",
        "returning": "Returning...",
        "camera": "Camera",
        "sharing": "Sharing",
        "viewers": "{{count}} viewer",
        "viewers_plural": "{{count}} viewers",
        "noViewersYet": "No viewers yet"
      },
      "subtitles": {
        "toasts": {
          "loaded": "Subtitle loaded: {{name}}",
          "loadFailed": "Failed to load subtitle"
        },
        "title": "Subtitles",
        "load": "Load",
        "close": "Close",
        "track": "Track",
        "selectTrack": "Select track",
        "noSubtitle": "No subtitle",
        "enabled": "Enabled",
        "onOff": "On/Off",
        "position": "Position",
        "positions": {
          "top": "Top",
          "bottomCenter": "Bottom Center",
          "bottomLeft": "Bottom Left",
          "custom": "Custom",
          "bottom": "Bottom"
        },
        "vertical": "Vertical",
        "fontSize": "Font Size",
        "sizes": {
          "small": "Small",
          "medium": "Medium",
          "large": "Large",
          "xlarge": "Extra Large"
        },
        "fontWeight": "Font Weight",
        "weights": {
          "normal": "Normal",
          "bold": "Bold"
        },
        "textColor": "Text Color",
        "background": "Background",
        "backgroundOpacity": "Background Opacity",
        "edge": "Edge",
        "edges": {
          "dropShadow": "Drop Shadow",
          "raised": "Raised",
          "depressed": "Depressed",
          "uniform": "Uniform"
        },
        "preview": "Subtitle preview",
        "styleSettings": "Style Settings",
        "subtitleStyle": "Subtitle Style",
        "remoteSubtitle": "Remote Subtitle",
        "backgroundColor": "Background Color",
        "edgeStyle": "Edge Style",
        "resetToDefault": "Reset to Default",
        "colors": {
          "white": "White",
          "yellow": "Yellow",
          "green": "Green",
          "cyan": "Cyan",
          "magenta": "Magenta",
          "black": "Black",
          "darkGray": "Dark Gray",
          "gray": "Gray",
          "transparent": "Transparent"
        },
        "cc": "CC"
      },
      "panel": {
        "noQueue": "No queue",
        "liveMediaSurface": "Live media surface",
        "toasts": {
          "exitingFullscreen": "Exiting fullscreen to minimize...",
          "startStreamingFirst": "Start streaming first to minimize",
          "returnToCameraFailed": "Failed to return to camera",
          "repeatMode": "Repeat {{mode}}",
          "noSupportedFiles": "No supported files found in folder",
          "folderFilesAdded": "Added {{count}} files from {{folder}}",
          "itemRemoved": "Item removed from playlist",
          "metadataExported": "Playlist metadata exported. Re-select local files to play it again.",
          "useJsonExport": "Use JSON metadata export for large local videos.",
          "playlistSaved": "Playlist files saved in this browser.",
          "noSavedPlaylist": "No saved PonsCast playlist in this browser.",
          "savedFilesLoaded": "Loaded {{count}} saved files.",
          "metadataLoaded": "Metadata loaded. Choose the matching local files/folder next.",
          "metadataImportFailed": "Failed to import playlist metadata: {{error}}",
          "filesMatched": "Matched {{matched}} files. {{missing}} missing."
        },
        "playlistQueue": "Playlist queue",
        "itemCount": "{{count}} item",
        "itemCount_plural": "{{count}} items",
        "streamingMinimizeHintShort": "File is being streamed. You can minimize this panel.",
        "streamingMinimizeHint": "File is currently being streamed. You can minimize this panel to continue working.",
        "optimizedForIosSafari": "- Optimized for iOS Safari",
        "confirmStopScreenShare": "Stop screen sharing to start file streaming?",
        "nowSharing": "Now sharing",
        "nextInline": " · Next: {{name}}",
        "nextItemName": "Next: {{name}}",
        "emptyPlaylist": "Add media to create a visible room playlist.",
        "selectMediaToCue": "Select media to cue the room.",
        "tapDropZoneOrFolder": "Tap the drop zone or add a folder.",
        "buildPlaylistHint": "Build a playlist, then double-click any item to start instantly.",
        "cued": "Cued",
        "imageSecondsShort": "Image sec",
        "pdfSecondsShort": "PDF sec",
        "sharingToRoom": "Sharing to room",
        "previewReady": "Preview ready",
        "selectMediaToPreview": "Select media to preview",
        "prepareRoomReadySurface": "Prepare a room-ready surface before going live.",
        "imageAutoNextSeconds": "Image auto-next seconds",
        "pdfSlideshowSeconds": "PDF slideshow seconds",
        "noMediaSelected": "No media selected",
        "pickFilePreview": "Pick a file on the left. Preview it here before you share it.",
        "keyboard": {
          "close": "ESC: Close",
          "minimize": "M: Minimize",
          "debug": "D: Debug"
        },
        "actions": {
          "toggleDebugAria": "Toggle PonsCast debug panel",
          "toggleDebugTitle": "Toggle debug panel (D)",
          "minimizeAria": "Minimize PonsCast",
          "minimizeTitle": "Minimize (M)",
          "startStreamingToMinimize": "Start streaming to minimize",
          "returnToCameraAria": "Return PonsCast to camera",
          "closeAria": "Close PonsCast panel",
          "stopStreamingFirst": "Stop streaming first",
          "closeTitle": "Close panel (ESC)",
          "previousItem": "Previous playlist item",
          "nextItem": "Next playlist item",
          "shuffle": "Shuffle playlist",
          "repeatModeAria": "Repeat playlist mode: {{mode}}",
          "repeatModeTitle": "Repeat: {{mode}}",
          "clear": "Clear playlist",
          "exportMetadata": "Export playlist metadata",
          "saveLocal": "Save files locally",
          "loadSaved": "Load saved files",
          "importMetadata": "Import metadata and match files",
          "playItem": "Play playlist item {{name}}",
          "moveUp": "Move {{name}} up",
          "moveDown": "Move {{name}} down",
          "removeItem": "Remove {{name}} from playlist",
          "addFolder": "Add Folder",
          "exitFullscreenAria": "Exit PonsCast fullscreen",
          "openFullscreenAria": "Open PonsCast fullscreen",
          "exitFullscreenTitle": "Exit fullscreen (F)",
          "enterFullscreenTitle": "Enter fullscreen (F)",
          "minimize": "Minimize",
          "restore": "Restore"
        }
      },
      "debug": {
        "iosDeviceDetected": "iOS Device Detected",
        "strategy": "Strategy",
        "canvasReady": "Canvas Ready",
        "streamCreated": "Stream Created",
        "streamActive": "Stream Active",
        "audioEnabled": "Audio Enabled",
        "tracks": "Tracks",
        "peers": "Peers",
        "drops": "Drops",
        "queue": "Queue",
        "send": "Send",
        "optimized": "Optimized",
        "networkStatus": "Network Status",
        "quality": "Quality",
        "stability": "Stability",
        "window": "Window",
        "phase": "Phase",
        "buffer": "Buffer",
        "speed": "Speed",
        "qualityValues": {
          "excellent": "Excellent",
          "good": "Good",
          "fair": "Fair",
          "poor": "Poor"
        },
        "slowStart": "Slow Start",
        "congestionAvoidance": "Congestion Avoidance",
        "video": "Video",
        "recentErrors": "Recent Errors"
      },
      "common": {
        "live": "LIVE"
      },
      "viewer": {
        "previous": "Previous",
        "next": "Next",
        "zoomOut": "Zoom out",
        "zoomIn": "Zoom in",
        "rotate90": "Rotate 90°",
        "rotate": "Rotate"
      },
      "image": {
        "resetView": "Reset view",
        "reset": "Reset",
        "streamingActive": "Image streaming active. Controls affect all viewers.",
        "toasts": {
          "rotated": "Image rotated to {{degrees}}°",
          "zoom": "Zoom: {{percent}}%",
          "viewReset": "View reset"
        }
      },
      "pdf": {
        "errorTitle": "PDF Error",
        "ofPages": "of {{total}}",
        "loading": "Loading PDF...",
        "loadingDocument": "Loading PDF document...",
        "liveStreamingToParticipants": "🔴 Live streaming to {{count}} participant",
        "liveStreamingToParticipants_plural": "🔴 Live streaming to {{count}} participants",
        "pageIndicator": "Page {{current}}/{{total}}",
        "toasts": {
          "loaded": "PDF loaded: {{count}} pages",
          "sharingPage": "Sharing page {{page}} of {{total}}"
        },
        "errors": {
          "loadFailed": "Failed to load PDF: {{error}}",
          "renderFailed": "Failed to render page: {{error}}"
        },
        "canvas": {
          "previewError": "PDF Preview Error",
          "unableToLoad": "Unable to load PDF file",
          "file": "File: {{name}}",
          "size": "Size: {{size}} MB"
        }
      },
      "miniPlayer": {
        "unknownFile": "Unknown",
        "maximize": "Maximize",
        "playing": "Playing",
        "paused": "Paused",
        "peerCount": "to {{count}} peer",
        "peerCount_plural": "to {{count}} peers",
        "streamingActive": "● Streaming active",
        "stop": "Stop",
        "toasts": {
          "stopped": "File streaming stopped"
        }
      },
      "video": {
        "hidePreview": "Hide preview",
        "showPreview": "Show preview",
        "hidePreviewShort": "Hide Preview",
        "showPreviewShort": "Show Preview",
        "exitFullscreen": "Exit fullscreen",
        "enterFullscreen": "Enter fullscreen",
        "loading": "Loading video...",
        "ready": "Ready",
        "buffering": "Buffering...",
        "iosPlayTitle": "Play video on iOS",
        "iosPlayDescription": "Video autoplay is restricted by iOS policy. Please tap the play button below.",
        "playVideo": "Play video",
        "iosOnlyHint": "This button is only shown on iOS devices",
        "liveStreamingToParticipants": "Live streaming to {{count}} participant",
        "liveStreamingToParticipants_plural": "Live streaming to {{count}} participants",
        "toasts": {
          "iosPlayPrompt": "To play the video on iOS, please tap the play button directly.",
          "iosAutoplayRestricted": "Autoplay is restricted by iOS policy.",
          "loadFailed": "Failed to load video file",
          "videoError": "Video error: {{error}}",
          "initializeFailed": "Failed to initialize video preview.",
          "playbackStarted": "Video playback has started.",
          "playFailed": "Failed to play the video. Please try again."
        },
        "errors": {
          "loadFailed": "Video preview failed to load. Try another file format or reload the media.",
          "initializeFailed": "Video preview failed to initialize. Try another browser or file format.",
          "unknown": "Unknown error"
        }
      }
    },
    "media": {
      "cameraChanging": "Changing",
      "camera": "Camera",
      "cameraSwitch": "Camera switch",
      "youSuffix": "(You)",
      "speakingNow": "Speaking now",
      "localProfile": "Local profile",
      "screen": "Screen",
      "voiceActivity": "Voice activity",
      "voiceActivitySpeaking": "Speaking now. Voice energy is reacting in real-time.",
      "voiceActivityQuiet": "Quiet now. The card will come alive when you start speaking.",
      "voiceActivityMuted": "Microphone is off. Voice activity is not being detected.",
      "switchToParticipant": "Switch to {{name}}",
      "main": "Main"
    },
    "whiteboard": {
      "toolbar": {
        "background": "Background",
        "backgroundColor": "Background Color",
        "gridType": "Grid Type",
        "currentColor": "Current: {{value}}",
        "currentGrid": "Grid: {{value}}",
        "followView": "Follow view",
        "followMode": "Follow mode",
        "shareMyView": "Share my view",
        "colors": "Colors",
        "custom": "Custom",
        "width": "Width:",
        "cut": "Cut",
        "paste": "Paste",
        "delete": "Delete",
        "clearAll": "Clear All",
        "backgroundColors": {
          "white": "White",
          "black": "Black",
          "dark": "Dark",
          "lightGray": "Light Gray",
          "lightBlue": "Light Blue"
        },
        "gridTypes": {
          "none": "No Grid",
          "lines": "Lines"
        },
        "toasts": {
          "followingUser": "{{nickname}} is being followed.",
          "followEnded": "Follow mode has ended.",
          "noOperations": "You have no operations to clear",
          "clearedMine": "Cleared {{count}} of your operations",
          "canvasEmpty": "Canvas is already empty",
          "clearedAll": "Cleared all {{count}} operations from everyone",
          "followMeEnabled": "Follow Me enabled - Others will see your view",
          "followMeDisabled": "Follow Me disabled"
        },
        "clear": {
          "title": "Clear Whiteboard",
          "description": "Choose what to clear from the whiteboard. This action cannot be undone.",
          "yourOperations": "Your operations: {{count}}",
          "totalOperations": "Total operations: {{count}}",
          "mineOnly": "Clear My Work Only",
          "everything": "Clear Everything"
        },
        "titles": {
          "selectTool": "Select Tool (V)",
          "panTool": "Pan Tool (Space)",
          "penTool": "Pen Tool (P)",
          "eraserTool": "Eraser Tool (E)",
          "laserPointer": "Laser Pointer (L)",
          "rectangleTool": "Rectangle Tool (R)",
          "circleTool": "Circle Tool (C)",
          "arrowTool": "Arrow Tool (A)",
          "textTool": "Text Tool (T)",
          "strokeColor": "Stroke Color",
          "strokeWidth": "Stroke Width",
          "backgroundSettings": "Background Settings",
          "followView": "Follow view — follow a remote user's viewport",
          "zoomOut": "Zoom Out",
          "zoomIn": "Zoom In",
          "resetZoom": "Reset Zoom (Fit to Screen)",
          "undo": "Undo (Ctrl+Z)",
          "redo": "Redo (Ctrl+Y)",
          "copySelected": "Copy Selected (Ctrl+C)",
          "cutSelected": "Cut Selected (Ctrl+X)",
          "paste": "Paste from Clipboard (Ctrl+V)",
          "deleteSelected": "Delete Selected (Delete)",
          "clearCanvas": "Clear Canvas Options"
        },
        "status": {
          "tool": "Tool",
          "selected": "Selected",
          "total": "Total: {{count}} items",
          "background": "Background",
          "grid": "Grid"
        },
        "color": {
          "hexCode": "Hex Code",
          "red": "Red",
          "green": "Green",
          "blue": "Blue",
          "cmykInfo": "CMYK Info"
        }
      },
      "panel": {
        "openedToast": "Whiteboard opened. Start drawing!",
        "title": "Whiteboard",
        "collaborativeTitle": "Collaborative Whiteboard",
        "help": "Help",
        "close": "Close",
        "exitFullscreen": "Exit Fullscreen",
        "fullscreen": "Fullscreen",
        "closeEsc": "Close (Esc)",
        "mobileHint": "Touch to draw • Pinch to zoom • Two fingers to pan",
        "tabletHint": "Touch to draw. Scroll to zoom.",
        "desktopHint": "Use mouse/touch to draw. Scroll to zoom. Space to pan.",
        "shortcuts": "Shortcuts: V(Select), P(Pen), E(Eraser), T(Text), Ctrl+Z(Undo)",
        "resizeAria": "Resize whiteboard panel"
      },
      "textEditor": {
        "placeholder": "Enter text... (Ctrl+Enter to save, Esc to cancel)"
      }
    },
    "coWatch": {
      "title": "CoWatch",
      "eyebrow": "WATCH TOGETHER",
      "roles": {
        "host": "Host",
        "viewer": "Viewer"
      },
      "restore": "Restore",
      "minimize": "Minimize",
      "minimizeToPip": "Minimize to PIP",
      "help": "Help",
      "load": "Load",
      "watchTogether": "Watch together",
      "noVideoLoaded": "No video loaded",
      "noVideoLoadedYet": "No video loaded yet",
      "loadingVideo": "Loading video...",
      "prepareVideo": "Please wait while we prepare your video",
      "addVideoLink": "Add a video link",
      "addVideoHelper": "Paste a YouTube link to start a synced room watch.",
      "emptyHelper": "Paste a YouTube link above, load it, then everyone in the room can watch in sync.",
      "hostControlOnly": "Only the host can control playback",
      "toggleMuteAll": "Toggle mute for all",
      "toggleMuteSelf": "Toggle mute for yourself",
      "byOwner": "by {{name}}",
      "helpTitle": "CoWatch Help",
      "helpHostControls": "Host Controls",
      "helpHostControlsBody": "As a host, you can control playback, seek, and adjust volume for all viewers.",
      "helpViewerExperience": "Viewer Experience",
      "helpViewerExperienceBody": "As a viewer, you watch in sync with the host. You can adjust your local volume without affecting others.",
      "helpPanelModes": "Panel Modes",
      "helpFullMode": "Full Mode:",
      "helpFullModeBody": "Complete panel with all controls",
      "helpPipMode": "PIP Mode:",
      "helpPipModeBody": "Floating window you can drag anywhere",
      "helpMinimizedMode": "Minimized:",
      "helpMinimizedModeBody": "Collapsed to draggable button",
      "helpTips": "Tips",
      "tipMultiplePanels": "Multiple panels can be open at once",
      "tipBringToFront": "Click on a panel to bring it to front",
      "tipPip": "Use PIP mode to watch while using other features",
      "tipDrag": "Drag the PIP window or minimized button anywhere on screen",
      "tipContinues": "The video continues playing in all modes",
      "aria": {
        "minimizedPlayer": "Minimized CoWatch player",
        "pipPlayer": "CoWatch picture-in-picture player",
        "restorePanel": "Restore CoWatch panel",
        "minimize": "Minimize CoWatch",
        "closePanel": "Close CoWatch panel",
        "minimizeToPip": "Minimize CoWatch to picture-in-picture",
        "openHelp": "Open CoWatch help",
        "closeHelp": "Close CoWatch help",
        "youtubeLink": "YouTube link for CoWatch",
        "loadVideo": "Load CoWatch video",
        "playVideo": "Play CoWatch video",
        "pauseVideo": "Pause CoWatch video",
        "muteAudio": "Mute CoWatch audio",
        "unmuteAudio": "Unmute CoWatch audio",
        "volume": "CoWatch volume"
      },
      "toasts": {
        "youtubeLoadFailed": "Failed to load YouTube video",
        "invalidUrl": "Invalid YouTube URL",
        "loadFailedRetry": "Failed to load video. Please try again.",
        "minimizedToPip": "CoWatch minimized to Picture-in-Picture",
        "minimized": "CoWatch minimized",
        "enterUrl": "Please enter a YouTube URL",
        "invalidUrlFormat": "Invalid YouTube URL format",
        "alreadyLoaded": "This video is already loaded",
        "loadFailed": "Failed to load video",
        "hostPlaybackOnly": "Only the host can control playback",
        "hostSeekOnly": "Only the host can seek the video"
      }
    },
    "relay": {
      "eyebrow": "Media Relay",
      "title": "Relay Control",
      "description": "Route camera, screen, or audio to another participant without leaving the room.",
      "panelAria": "Media relay control panel",
      "closePanel": "Close media relay panel",
      "targets": "{{count}} targets",
      "signalScope": "Signal scope",
      "availableParticipants": "available participants",
      "currentSource": "Current source",
      "recentTargets": "Recent targets",
      "oneTapSend": "one-tap send",
      "quickSendAria": "Quick send relay to {{name}}",
      "stepOne": "Step 01",
      "chooseDestination": "1 Choose destination",
      "liveRoute": "Live route",
      "recipient": "Recipient",
      "selectRecipient": "Select media relay recipient",
      "chooseParticipant": "Choose a participant...",
      "noUsers": "No users available",
      "refreshHelper": "Refresh the room list to discover active participants.",
      "refreshList": "Refresh list",
      "sending": "Sending...",
      "sendRequest": "Send Relay Request",
      "toggleSessions": "Toggle active relay sessions",
      "activeSessions": "{{count}} active relay sessions",
      "sessionsHelper": "Monitor routed streams and send quick feedback.",
      "closeSessionAria": "Close relay session with {{name}}",
      "messagePlaceholder": "Send a message...",
      "sendMessageAria": "Send relay message to {{name}}",
      "requestRestart": "Request Restart",
      "source": {
        "screenShare": "Screen share",
        "camera": "Camera",
        "audioOnly": "Audio only",
        "screen": "Screen",
        "video": "Video",
        "audio": "Audio"
      },
      "toast": {
        "sending": "Sending relay request...",
        "sent": "Relay sent successfully!",
        "failed": "Failed to send relay",
        "unknownError": "Unknown error",
        "closed": "Relay connection closed",
        "messageSent": "Message sent",
        "restartRequested": "Restart requested"
      },
      "requestToast": {
        "wantsToRelay": "wants to relay \"{{stream}}\"",
        "useMySlot": "Use my slot"
      }
    }
  },
  "marketing": {
    "language": {
      "label": "Language"
    },
    "nav": {
      "homeAria": "PonsLink home",
      "flow": "How it works",
      "features": "Features",
      "useCases": "Use cases",
      "login": "Log in",
      "start": "Start with your link"
    },
    "hero": {
      "badge": "Personal link based meeting operations",
      "title": "One link for requests, scheduling, and live meetings.",
      "description": "PonsLink helps you collect meeting requests, approve them with context, and meet in one room with video, audio, chat, file sharing, captions, notes, and more.",
      "primaryCta": "Start with your link",
      "secondaryCta": "Open a free room",
      "imageAlt": "PonsLink live room preview with video participants and collaboration cues"
    },
    "flow": {
      "eyebrow": "Flow preview",
      "heading": "Requests, approval, lobby, room, and follow-up stay connected.",
      "steps": {
        "collect": {
          "title": "Collect requests",
          "desc": "Visitors send their reason, preferred time, language, and context through your public PonsLink."
        },
        "approve": {
          "title": "Approve with context",
          "desc": "Review who wants to meet and decide whether to accept, reschedule, decline, or follow up."
        },
        "meet": {
          "title": "Meet in one room",
          "desc": "Approved people move through the lobby into video, audio, chat, files, captions, and notes."
        }
      }
    },
    "features": {
      "eyebrow": "Core capabilities",
      "heading": "Inside every session, the room keeps the context alive.",
      "imageAlt": "{{title}} feature artwork for PonsLink room page",
      "capabilities": {
        "video": "Video",
        "audio": "Audio",
        "screenShare": "Screen Share",
        "mediaStream": "Media stream",
        "coWatch": "CoWatch",
        "chat": "Chat",
        "fileHandoff": "File handoff",
        "whiteboard": "Whiteboard"
      },
      "rooms": {
        "voice": {
          "title": "Voice mode",
          "tag": "Audio-first presence",
          "desc": "Jump into lighter rooms when voice is enough. Mute fast, keep the pressure low, and stay present without forcing camera time."
        },
        "video": {
          "title": "Video rooms",
          "tag": "Face-to-face energy",
          "desc": "Switch on camera, keep the grid alive, and move from a request link to a real conversation without changing products."
        },
        "whiteboard": {
          "title": "Collaborative whiteboard",
          "tag": "Draw together live",
          "desc": "Sketch, annotate, zoom, and follow each other on the same canvas with pen, shapes, text, and shared focus tools."
        },
        "chat": {
          "title": "Live chat",
          "tag": "Keep context moving",
          "desc": "Chat stays inside the room with replies, reactions, message flow, and file handoff support when talking alone is too slow."
        },
        "ponscast": {
          "title": "PonsCast",
          "tag": "Stream media to the room",
          "desc": "Share videos, PDFs, images, and playlists as a live room surface instead of asking everyone to hunt for separate links."
        },
        "cowatch": {
          "title": "YouTube CoWatch",
          "tag": "Watch together, react together",
          "desc": "Open synchronized shared viewing with a dedicated CoWatch control so the room can talk around the same moment in real time."
        },
        "fileTransfer": {
          "title": "File transfer",
          "tag": "Send it without leaving",
          "desc": "Move files directly between participants with transfer progress, pause-resume controls, and room-native delivery instead of email ping-pong."
        }
      }
    },
    "trust": {
      "eyebrow": "Trust strip",
      "heading": "Built for people whose time needs context.",
      "items": {
        "private": "Private by design",
        "time": "Save time",
        "workflow": "All-in-one workflow"
      }
    }
  },
  "publicDesk": {
    "header": {
      "eyebrow": "PonsLink public profile",
      "defaultTitle": "Public Desk Gate",
      "hostTitle": "Desk for {{hostSlug}}",
      "description": "Meet with context, not cold calls. Review the host profile and send the right request before a room opens.",
      "slug": "Slug: {{hostSlug}}"
    },
    "profile": {
      "timezone": "Timezone: {{timezone}}",
      "defaultRoom": "Default room: {{roomType}}",
      "hostEyebrow": "Host",
      "defaultHeadline": "A simple way to reach this person",
      "defaultRole": "PonsLink host",
      "defaultBio": "Check who this is, leave a short message, and the host can reply with the next step."
    },
    "intro": {
      "eyebrow": "Request gate",
      "title": "Send a request before entering the room.",
      "badge": "Context first",
      "description": "Share who you are, why you want to meet, and when works for you. The host can approve the right conversation and issue a focused meeting link.",
      "steps": {
        "profileVerified": "Profile verified",
        "requestReviewed": "Request reviewed",
        "roomLinkFollows": "Room link follows"
      }
    },
    "requestTypes": {
      "label": "Request type",
      "disabledHint": "Unavailable types are disabled",
      "general": {
        "label": "General",
        "desc": "Start a conversation"
      },
      "schedule": {
        "label": "Schedule",
        "desc": "Find a meeting time"
      },
      "mentoring": {
        "label": "Mentoring",
        "desc": "Ask for guidance"
      },
      "collab": {
        "label": "Collab",
        "desc": "Propose work together"
      }
    },
    "form": {
      "title": "Meeting request",
      "description": "Keep the visible form short; add timing context only if it matters.",
      "name": "Your name",
      "namePlaceholder": "Your name",
      "email": "Email for replies and meeting link",
      "emailPlaceholder": "you@example.com",
      "emailHelp": "Email is required so the host can reply and send your meeting link. Anonymous/no-contact requests are not supported yet.",
      "timezone": "Timezone",
      "timezonePlaceholder": "e.g. America/Los_Angeles",
      "requestType": "Request type",
      "message": "Message",
      "messagePlaceholder": "What would you like to discuss?",
      "messageDeskEyebrow": "Message desk",
      "messageDeskTitle": "Leave a message",
      "messageDeskDescription": "Share who you are, how to reach you, and what you want to talk about. The host can reply with the next step.",
      "aiRequestProcessingNotice": "Your submitted request content may be sent to a configured external AI provider to summarize it and detect missing context for the host.",
      "sensitiveDataNotice": "Do not enter passwords, payment-card or bank details, government IDs, health data, or other sensitive private information.",
      "preferredTimeNote": "Preferred time note",
      "preferredTimePlaceholder": "Suggested times...",
      "sendFailed": "Could not send this request. Please check the desk link and try again.",
      "sending": "Sending...",
      "send": "Send request",
      "errors": {
        "nameRequired": "Please enter your name",
        "emailRequired": "Please enter your email",
        "emailInvalid": "Please enter a valid email",
        "messageRequired": "Please enter a message",
        "purposeRequired": "Please enter a purpose",
        "currentSituationRequired": "Please enter the current situation",
        "desiredOutcomeRequired": "Please enter the desired outcome",
        "screeningRequired": "Please answer the required question"
      },
      "preferredStartAt": "Preferred date and time",
      "preferredStartAtHelp": "Optional. Times are saved with your timezone for the host.",
      "durationMinutes": "Duration (minutes)",
      "quickTimeTitle": "Preferred schedule",
      "quickTimeHelp": "Pick a simple option first. Choose a date only when you already know one.",
      "quickTimeAsap": "As soon as possible",
      "quickTimeToday": "Today if available",
      "quickTimeTomorrow": "Tomorrow if available",
      "quickTimeCustom": "Choose a date",
      "timezoneAuto": "Timezone detected automatically: {{timezone}}",
      "advancedOptions": "Meeting options",
      "advancedOptionsHelp": "Optional — default duration is based on the request type.",
      "requestTypeSummary": "{{label}} · about {{duration}} min",
      "preferredTimeOptions": {
        "asap": "As soon as possible",
        "today": "Today",
        "thisWeek": "This week",
        "coordinate": "Let the host suggest",
        "custom": "Choose date & time"
      },
      "timezoneAutoDetected": "Timezone detected automatically: {{timezone}}. Default duration: {{duration}} minutes.",
      "timezoneUnknown": "your local timezone",
      "preferredSchedule": "When would you like to meet?",
      "advancedTiming": "Optional timing details",
      "structuredEyebrow": "Structured request",
      "structuredTitle": "Tell the host what you need before asking for a room",
      "structuredDescription": "PonsLink is request-first: purpose, context, outcome, materials, then timing.",
      "purpose": "Purpose",
      "purposePlaceholder": "What do you want to discuss or solve?",
      "currentSituation": "Current situation",
      "currentSituationPlaceholder": "What is happening now? What have you tried?",
      "desiredOutcome": "Desired outcome",
      "desiredOutcomePlaceholder": "What decision, answer, or deliverable should come out of the session?",
      "referenceText": "Reference links or notes",
      "referenceTextPlaceholder": "Links, documents, screenshots, or extra notes",
      "preferredTiming": "Preferred timing",
      "contactName": "Name",
      "contactNamePlaceholder": "Jane Visitor",
      "contactEmail": "Email",
      "contactEmailPlaceholder": "you@example.com",
      "reschedulePurpose": "Reschedule request",
      "rescheduleCurrentSituation": "Existing meeting: {{rescheduleFor}}",
      "rescheduleDesiredOutcome": "I would like to confirm a new available time.",
      "scheduleOptions": {
        "asap": "As soon as possible",
        "thisWeek": "This week",
        "custom": "Choose directly"
      },
      "ponsLinkAccountEditable": "Your name and email were filled automatically, but you can edit them or use another email.",
      "ponsLinkAccountRequest": "Requesting with your PonsLink account",
      "templateHint": "Use a short message so the host can prepare before replying."
    },
    "submitted": {
      "title": "Request submitted",
      "description": "Your request has been sent. You will receive a response with next steps via the provided contact information.",
      "host": "Host: {{hostSlug}}",
      "requestId": "Request saved",
      "openRoomAccess": "Open room access",
      "saved": "Your request is saved. Keep the waiting room link open for updates.",
      "createLinkCta": "Create your PonsLink link",
      "createLinkDescription": "You can create a PonsLink later. This request will continue without registration.",
      "createLinkTitle": "Want to create your own meeting link too?",
      "openStatus": "Check request status"
    },
    "status": {
      "remoteUnavailable": "This public desk is temporarily unavailable. Please use the latest desk link from the host or try again later.",
      "loading": "Loading public profile...",
      "inactive": "This public desk link is inactive or no longer available. Check that you opened the latest link from the host.",
      "notAccepting": "This public desk is not accepting new requests right now. Please use another contact method from the host or come back later.",
      "noRequestTypes": "This desk is visible, but it is not accepting new request types right now."
    },
    "footer": {
      "agreement": "By sending a request, you agree to PonsLink's <terms>Terms</terms> and <privacy>Privacy Policy</privacy>."
    },
    "concierge": {
      "aria": "Public request desk",
      "howItWorksAria": "How this desk works",
      "identityEyebrow": "Host desk",
      "emailChannelTitle": "Email is the reply and permission channel",
      "emailChannelBody": "Email is the reply and permission channel. The room opens only after the host reviews your request.",
      "formAria": "Leave your session request",
      "formEyebrow": "Request details",
      "formTitle": "Leave your session request",
      "formDescription": "Choose the purpose, leave a reachable email, and describe the context the host should review before opening a room."
    },
    "chrome": {
      "badge": "Request desk"
    },
    "fit": {
      "eyebrow": "Request fit",
      "defaultTitle": "Good requests include",
      "canHelpWith": "I can help with",
      "bestRequestsInclude": "Best requests include",
      "notFitWhen": "Not a fit when",
      "prepareBeforeSending": "Prepare before sending",
      "defaultAccepting": "Focused session requests with clear context",
      "defaultOne": "You can explain the purpose before asking for time.",
      "defaultTwo": "You have enough current context for the host to judge fit.",
      "defaultThree": "You know what outcome would make the session useful."
    },
    "proofLinks": {
      "eyebrow": "Proof links"
    },
    "next": {
      "eyebrow": "What happens next",
      "steps": {
        "review": "Host reviews fit",
        "reply": "Host replies or asks follow-up",
        "approved": "Approved session opens"
      }
    }
  },
  "mobileVideo": {
    "noRemoteParticipants": "No participants are connected yet",
    "localVideoUnavailable": "Your video is unavailable",
    "switchToMain": "Switch {{nickname}} to the main view"
  },
  "selfUnderstanding": {
    "nav": {
      "home": "Home",
      "profile": "Profile",
      "traits": "Traits",
      "relationships": "Relationships",
      "growth": "Growth",
      "archive": "Archive",
      "settings": "Settings"
    },
    "saveInsight": {
      "button": "Save this sentence",
      "saved": "Saved to your archive."
    }
  },
  "requestStatus": {
    "eyebrow": "Meeting waiting room",
    "title": "Meeting waiting room",
    "description": "Keep this page open. You can see the host decision and join from here when the room is ready.",
    "refresh": "Refresh",
    "loading": "Preparing your meeting waiting room...",
    "notFound": "We could not find this request status link.",
    "error": "We could not refresh this request right now.",
    "goHome": "Go to home",
    "timelineLabel": "Detailed progress",
    "countdown": "Opens in {{count}}",
    "emailDelivery": "Email {{status}}",
    "joinNow": "Join meeting",
    "openJoinLink": "Prepare to join",
    "newRequest": "Send another request",
    "changeTime": "Change requested time",
    "waitForHost": "Keep this page open; refresh is automatic while the host and room get ready.",
    "recoverRequest": "Send a new request",
    "currentStep": "Current step",
    "nextAction": "Next action",
    "requestSummary": "Request summary",
    "detailsSummary": "View request details",
    "autoRefresh": "Auto-refresh is on.",
    "emailBackup": "We also send important updates by email.",
    "submittedTitle": "Request sent",
    "submittedNext": "The host will review it and choose a time.",
    "reviewingTitle": "Host is reviewing",
    "reviewingNext": "No action needed. We will update this page when the host responds.",
    "acceptedTitle": "Meeting accepted",
    "acceptedNext": "The room is being prepared. Join from this page when the button becomes active.",
    "readyTitle": "Ready to join",
    "readyNext": "Use the join button to enter the room.",
    "pendingWindowTitle": "Meeting time is coming up",
    "pendingWindowNext": "You can join when the entry window opens.",
    "endedTitle": "This request is no longer active",
    "endedNext": "Send a new request if you still need to meet.",
    "lobbyEyebrow": "PonsLink waiting room",
    "lobbyTitle": "Meeting waiting room",
    "lobbyDescription": "See whether you can enter now, what happens next, and keep this page open for automatic updates.",
    "enterRoom": "Enter meeting room",
    "checkingEntry": "Checking entry...",
    "entryWaiting": "The room is almost ready. Keep this waiting room open and try again when the entry time opens.",
    "entryExpired": "This meeting link is no longer active. Send a new request to meet again.",
    "entryPaymentRequired": "A payment or host action is needed before this meeting can open.",
    "entryDenied": "This link cannot be used. Open the latest email or send a new request.",
    "entryError": "We could not check the meeting link. Please try again.",
    "requestMessageTitle": "Your note to the host",
    "statusLabels": {
      "submitted": "Request sent",
      "reviewing": "Host is reviewing",
      "accepted": "Host accepted",
      "counter_proposed": "New time proposed",
      "declined": "Request declined",
      "reservation_created": "Meeting confirmed",
      "email_delivered": "Guest link sent",
      "join_window_pending": "Room opens soon",
      "join_window_open": "Ready to enter",
      "waiting_for_host": "Waiting for host",
      "waiting_for_guest": "Waiting for guest",
      "connecting": "Entering room",
      "connected": "Connected",
      "completed": "Completed",
      "expired": "Expired",
      "error": "Needs attention"
    },
    "completedFollowUpDescription": "Completed meetings stay read-only. To meet again, start a fresh request with this host.",
    "completedFollowUpTitle": "Meeting completed",
    "createPonsLink": "Create my PonsLink link",
    "enableNotify": "Get notifications",
    "meetAgain": "Request another meeting",
    "paymentRequiredHelp": "PonsLink does not process consultation payments. Arrange payment directly with the host outside PonsLink, then ask the host to confirm the meeting.",
    "requestReschedule": "Request reschedule",
    "lobbyReadyBody": "Use the entry button when you are ready. We will keep checking this page in the background.",
    "acceptedCountdownNext": "Your room link is ready. The room opens in {{count}}; we will check the entry time before moving you in.",
    "acceptedReadyNext": "Your room link is ready. Enter to finish the access check and wait for the host if needed.",
    "declinedTitle": "This request was declined",
    "declinedNext": "You can send a new request if you still need to meet with the host.",
    "expiredTitle": "This request expired",
    "expiredNext": "Send a fresh request to choose a new meeting time.",
    "counterProposedTitle": "The host proposed another time",
    "counterProposedNext": "Review the new timing and send another request if the proposed time does not work.",
    "completedTitle": "This meeting is complete",
    "completedNext": "The previous meeting is read-only now. Start a new request if you want to meet this host again.",
    "guestFallback": "Guest",
    "countdownHoursMinutes": "{{hours}}h {{minutes}}m",
    "countdownMinutes": "{{minutes}}m",
    "informationRequiredTitle": "More information is needed",
    "informationResponseLabel": "Your response",
    "informationSubmit": "Send response",
    "informationSending": "Sending…",
    "informationSent": "Response sent",
    "informationError": "We could not send your response. Check your connection and try again.",
    "informationExpired": "This information request link has expired.",
    "informationReplayed": "This information request was already answered."
  },
  "plan": {
    "title": "Plan",
    "freeLabel": "Free Plan",
    "proLabel": "Pro Plan",
    "ultraLabel": "Annual Plan",
    "soloLabel": "Solo Pro Plan",
    "studioLabel": "Studio Plan",
    "businessLabel": "Business Plan",
    "viewDetails": "Plan",
    "trialNote": "You are in a trial period.",
    "pastDueWarning": "Payment is overdue. Please update your payment information.",
    "suspendedWarning": "Your subscription is suspended. Renew to resume access.",
    "status": {
      "active": "Active",
      "trialing": "Trialing",
      "pastDue": "Past Due",
      "suspended": "Suspended",
      "cancelled": "Cancelled",
      "expired": "Expired",
      "cancelScheduled": "Cancellation scheduled"
    },
    "usage": {
      "requests": "New Requests",
      "aiActions": "AI Actions",
      "meetingReports": "AI Meeting Reports",
      "unlimited": "Unlimited",
      "unlimitedIncluded": "Unlimited usage is included.",
      "unavailable": "Usage information unavailable.",
      "checkRequired": "Usage check required"
    },
    "unit": {
      "count": ""
    },
    "cancel": {
      "cta": "Cancel Subscription",
      "confirm": "Are you sure you want to cancel? You can continue using until the end of your current period.",
      "success": "Subscription cancelled. You can continue using until the end of your current period.",
      "error": "Failed to cancel subscription."
    },
    "reactivate": {
      "cta": "Reactivate Subscription",
      "success": "Subscription reactivated.",
      "error": "Failed to reactivate subscription."
    },
    "upgrade": {
      "cta": "Upgrade to Pro Plan",
      "success": "Plan updated.",
      "error": "Upgrade failed.",
      "providerErrors": {
        "providerNotConfigured": "The payment system is not configured yet. Please try again later.",
        "checkoutFailed": "Failed to create the checkout session. Please try again later.",
        "alreadySubscribed": "You are already subscribed to this plan.",
        "planNotSubscribable": "This plan is not available for subscription.",
        "noActiveSubscription": "No active subscription is available to upgrade. Subscribe to a plan first."
      }
    },
    "renew": {
      "cta": "Renew Payment"
    }
  },
  "errorBoundary": {
    "title": "Something went wrong",
    "subtitle": "This page could not be displayed.",
    "retry": "Try again",
    "reload": "Reload"
  },
  "paymentHistory": {
    "title": "Payment History",
    "empty": "No payment history",
    "amount": "Amount",
    "status": "Status",
    "date": "Date",
    "product": "Product",
    "receipt": "Receipt",
    "paid": "Paid",
    "pending": "Pending",
    "failed": "Failed",
    "refunded": "Refunded"
  },
  "paymentLegacy": {
    "lemonsqueezyCancelTitle": "Legacy Lemon Squeezy payment was cancelled",
    "paypalCancelTitle": "Legacy PayPal payment was cancelled",
    "cancelBody": "No charge was made. PonsLink connects users but does not process user-to-user consultation payments.",
    "lemonsqueezyReturnIncompleteTitle": "Lemon Squeezy return link is incomplete",
    "paypalReturnIncompleteTitle": "PayPal return link is incomplete",
    "returnInactiveBody": "PonsLink no longer processes user-to-user consultation payments.",
    "lemonsqueezyReturnInactiveTitle": "Lemon Squeezy return is no longer used",
    "paypalReturnInactiveTitle": "PayPal return is no longer used",
    "lemonsqueezyReturnInactiveBody": "PonsLink connects users but does not process user-to-user consultation payments. This legacy Lemon Squeezy return link no longer confirms payment in the browser.",
    "paypalReturnInactiveBody": "PonsLink connects users but does not process user-to-user consultation payments. This legacy PayPal return link will not capture payment in the browser.",
    "backToRequest": "Back to request",
    "backToRequests": "Back to requests"
  },
  "pricingPage": {
    "plansAria": "PonsLink pricing plans"
  },
  "legalPolicy": {
    "policyLinksAria": "PonsLink policy links",
    "eyebrow": "PonsLink policy"
  },
  "publicShell": {
    "nav": {
      "navAria": "PonsLink home",
      "howItWorks": "How it works",
      "features": "Features",
      "guides": "Guides",
      "templates": "Templates",
      "compare": "Compare",
      "examples": "Examples",
      "blog": "Blog",
      "bible": "Bible",
      "pricing": "Pricing",
      "login": "Log in",
      "getStarted": "Get started",
      "lounge": "Go to lounge",
      "menu": "Open menu",
      "closeMenu": "Close menu",
      "mainNavigationAria": "Main navigation",
      "back": "Back",
      "about": "About",
      "faq": "FAQ"
    },
    "footer": {
      "description": "PonsLink designs the gateway\nto meaningful connections.",
      "featureDescription": "PonsLink connects the first request gate\nto the session record after the call.",
      "product": "Product",
      "resources": "Resources",
      "legal": "Legal",
      "howItWorks": "How it works",
      "features": "Features",
      "guides": "Guides",
      "pricing": "Pricing",
      "templates": "Templates",
      "examples": "Request examples",
      "contact": "Contact us",
      "privacy": "Privacy policy",
      "terms": "Terms of service",
      "copyright": "© {{year}} PonsLink. All rights reserved.",
      "refund": "Refunds",
      "cancellation": "Cancellation"
    },
    "seo": {
      "breadcrumb": "Breadcrumb",
      "workflow": "Workflow",
      "lastUpdated": "Last updated: 2026-06-15",
      "teamReviewed": "Reviewed by PonsLink team"
    }
  },
  "requestAction": {
    "brandLabel": "PonsLink request action",
    "tokenMissingTitle": "Action link unavailable",
    "tokenMissingMessage": "This request link is missing its action token.",
    "invalidActionTitle": "Invalid action",
    "invalidActionMessage": "This action link is not supported.",
    "backToPonsLink": "Back to PonsLink",
    "titleAccept": "Accept this meeting?",
    "titleProposeTime": "Propose another time",
    "titleDirectCall": "Call request",
    "titleDecline": "Decline request",
    "actionDescription": "This public email action only uses the one-time token in your link. You do not need to log in, and PonsLink keeps the recipient identity private.",
    "acceptOpeningNote": "Opening this email link only shows this confirmation page. The visitor is notified and the booking is confirmed only after you press Confirm meeting.",
    "acceptConfirmScheduleTitle": "Confirm the visitor's requested schedule",
    "acceptConfirmScheduleDescription": "Pressing Confirm meeting accepts the time the visitor requested. To suggest a different start or end time, use the Propose another time link instead.",
    "acceptConfirmButton": "Confirm meeting",
    "acceptConfirming": "Confirming...",
    "acceptConfirmingStatus": "Confirming this meeting...",
    "acceptMeetingAccepted": "Meeting accepted",
    "acceptVisitorNotified": "The visitor received their guest access link. You are not redirected to the visitor session-access link.",
    "acceptBackToRequest": "Back to request",
    "acceptViewReservations": "View reservations",
    "tryAgain": "Try again",
    "startTimeLabel": "Start time",
    "endTimeLabel": "End time",
    "messageLabel": "Message",
    "sending": "Sending...",
    "proposeSendButton": "Send proposed time",
    "proposeTimeSent": "Proposed time sent.",
    "directCallButton": "Request live call",
    "directCallQueued": "Call request queued.",
    "directCallSent": "Call request sent.",
    "directCallViewStatus": "View request status",
    "declineDescription": "Declining this request will notify the visitor status page and close this one-time action link.",
    "declining": "Declining...",
    "declineButton": "Decline request",
    "declineSuccessTitle": "Request declined",
    "declineSuccessMessage": "The visitor status page will show that this request was declined.",
    "scheduledFor": "Scheduled for {{date}}, {{startTime}} to {{endTime}} ({{timezone}}).",
    "meetingConfirmed": "The meeting has been confirmed.",
    "validationInvalidTime": "Enter a valid start and end time.",
    "validationEndTimeOrder": "End time must be after the start time.",
    "errorExpired": "This request link has expired or was already used.",
    "errorNotFound": "This request could not be found.",
    "errorAlreadyHandled": "This request was already handled.",
    "errorInvalidAction": "This request action is no longer valid. Please open the latest link from the sender.",
    "errorGeneric": "We could not complete this request action. Please try again."
  },
  "betaPage": {
    "betaSeats": "20 beta seats",
    "heading": "Join the PonsLink beta test.",
    "description": "Enter one email address. We will send the beta tester signup to <strong>info@ponslink.com</strong> and contact you there.",
    "emailLabel": "Your email",
    "placeholder": "you@example.com",
    "submit": "Join beta",
    "submitting": "Submitting…",
    "emailFallback": "Email instead",
    "gmailFallback": "Gmail fallback",
    "statusSubmitting": "Submitting your beta signup…",
    "statusSent": "Done. Your beta tester signup was sent to PonsLink.",
    "statusFallback": "Your signup was saved, but email delivery needs confirmation. Please tap the email button once.",
    "statusErrorFallback": "Automatic signup failed. Please use the email button below.",
    "invalidEmail": "Please enter a valid email address."
  },
  "chat": {
    "panel": {
      "ariaLabel": "Room chat panel",
      "resizeAria": "Resize chat panel"
    },
    "header": {
      "roomEyebrow": "PonsLink room",
      "title": "Chat",
      "messageCount": "{{count}} messages",
      "description": "Messages, files, and meeting records stay in one timeline.",
      "downloadMeetingRecords": "Download meeting records",
      "downloadMeetingRecordsCount": "Download {{count}} meeting records",
      "search": "Search",
      "searchMessages": "Search messages",
      "enterFullscreen": "Enter fullscreen",
      "exitFullscreen": "Exit fullscreen",
      "close": "Close",
      "closeChat": "Close chat",
      "minutes": "Minutes",
      "minutesRecording": "Recording"
    },
    "input": {
      "selectEmoji": "Select emoji",
      "selectGif": "Select GIF",
      "sendMessageEnter": "Send message (Enter)",
      "typeMessage": "Type a message",
      "sendMessage": "Send message",
      "typeMessageBeforeSending": "Type a message before sending",
      "draftAutosaved": "Draft autosaved"
    },
    "reply": {
      "cancel": "Cancel reply",
      "placeholder": "Type your reply...",
      "send": "Reply"
    },
    "actions": {
      "open": "Open message actions",
      "addReaction": "Add reaction",
      "reply": "Reply",
      "edit": "Edit",
      "delete": "Delete"
    },
    "message": {
      "mediaMessage": "Media message",
      "replyingTo": "Replying to {{name}}",
      "edited": "Edited",
      "liveSpeech": "Live speech"
    },
    "meetingMinutes": {
      "title": "Meeting minutes",
      "shortLabel": "Minutes",
      "minutes": "minutes",
      "start": "Start meeting minutes",
      "stop": "Stop meeting minutes",
      "recordSavedToLounge": "Meeting record saved to Lounge.",
      "finishSaveFailed": "Could not finish saving meeting minutes. Transcript segments already sent remain in Lounge when available.",
      "startConfirm": "Start meeting minutes?\n\nConsented final speech will autosave locally every {{minutes}} minutes. You can download a Markdown file yourself whenever needed.",
      "autosaveOn": "Meeting minutes autosave is on.",
      "cloudUnavailable": "Cloud meeting record storage is unavailable. Local download still works.",
      "autosavedLocally": "Meeting minutes autosaved locally.",
      "recordSavedAfterEnded": "Meeting record saved after the meeting ended.",
      "startedBy": "Started by {{name}}",
      "finalSpeechRecord": "Final speech record",
      "pendingDescription": "Choose whether your speech can be saved. Live Caption remains independent.",
      "declinedDescription": "Your speech is not saved. Other consenting participants may still be recorded.",
      "activeDescription": "Meeting minutes are autosaved locally every {{minutes}} minutes. Download remains available when you want a Markdown file.",
      "activeDescriptionFinalizing": "Meeting minutes are autosaved locally every {{minutes}} minutes and finalizing in Lounge. Download remains available when you want a Markdown file.",
      "consent": {
        "actionNeeded": "Action needed",
        "notRecorded": "You are not recorded",
        "canBeRecorded": "Your speech can be recorded",
        "roomRecordingActive": "Room recording active"
      },
      "buttons": {
        "consent": "Consent",
        "doNotRecordMe": "Do not record me",
        "stopRecordingMe": "Stop recording me",
        "joinRecord": "Join record",
        "stopAll": "Stop all"
      }
    },
    "files": {
      "noDirectRecipients": "No direct file recipients are connected.",
      "sendFileTo": "Send file to",
      "chooseRecipients": "Choose direct WebRTC recipients for {{count}} file.",
      "chooseRecipients_plural": "Choose direct WebRTC recipients for {{count}} files.",
      "selectedCount": "{{selected}} of {{total}} selected",
      "all": "All",
      "none": "None",
      "directTransferHelp": "Direct transfer uploads once per selected recipient. For large files, select only the people who need the file.",
      "send": "Send"
    },
    "emoji": {
      "pickerAria": "Emoji picker",
      "categories": "Categories",
      "favorites": "Favorites",
      "loading": "Loading emojis...",
      "noFavorites": "No favorite emojis yet."
    },
    "gif": {
      "pickerAria": "GIF picker",
      "searchPlaceholder": "Search GIFs...",
      "close": "Close GIF picker",
      "tooManyRequests": "Too many requests. Please try again shortly.",
      "busy": "GIF search is busy. Please try again in 1 minute.",
      "notConfigured": "GIF search is not configured yet.",
      "unknownError": "An unknown error occurred.",
      "notEnabledHelp": "GIF search is not enabled yet. Add the GIPHY key in your PonsLink service settings and restart the service.",
      "retry": "Retry",
      "noResults": "No search results.",
      "trending": "Trending GIFs",
      "imageAlt": "GIF",
      "loadMore": "Load more"
    }
  },
  "lobby": {
    "loading": "Loading...",
    "toasts": {
      "roomTitleRequired": "Room title is required.",
      "initializing": "Initializing...",
      "mediaStreamUnavailable": "Media stream is not available.",
      "enteringRoom": "Entering room...",
      "nicknameUpdated": "Nickname updated successfully."
    },
    "identity": {
      "aria": "Lobby identity",
      "audioLounge": "Audio lounge",
      "openRoom": "Open room",
      "eyebrow": "Ready before entry",
      "voiceLobby": "Voice Lobby",
      "lobby": "Lobby",
      "description": "Set your identity, check your signal, and step into the room without friction.",
      "room": "Room",
      "displayName": "Display name",
      "nicknamePlaceholder": "Enter nickname",
      "saveNickname": "Save nickname",
      "audioGroupGuidance": "Audio group rooms are optimized for voice-first participation. Keep mobile sessions smaller for steadier calls."
    },
    "readiness": {
      "aria": "Readiness panel",
      "eyebrow": "Readiness",
      "title": "Check controls before entry",
      "description": "Your identity, devices, and media state will carry into the room.",
      "identity": "Identity",
      "mic": "Mic",
      "live": "Live",
      "muted": "Muted",
      "muteMicrophone": "Mute microphone",
      "unmuteMicrophone": "Unmute microphone",
      "turnMicrophoneOn": "Turn microphone on",
      "camera": "Camera",
      "off": "Off",
      "turnCameraOff": "Turn camera off",
      "turnCameraOn": "Turn camera on",
      "mediaAccessWarning": "Camera or microphone access is not ready yet. Check browser permissions before joining.",
      "audioCheck": "Audio check"
    },
    "preview": {
      "aria": "Preview stage",
      "eyebrow": "Presence preview",
      "voicePresence": "Voice-first presence",
      "cameraReady": "Camera preview ready",
      "audioFirstTitle": "Audio-first preview",
      "audioFirstDescription": "Camera stays off here. Voice and profile lead the room."
    },
    "join": {
      "aria": "Join footer",
      "enterVoiceRoom": "Enter Voice Room",
      "joinRoom": "Join Room",
      "cameraOff": "Camera stays off",
      "voiceFirstEntry": "Voice-first entry",
      "micTestReady": "Mic test ready",
      "mediaReady": "Your media is ready for the room.",
      "waitingForPermission": "Waiting for camera or microphone permission."
    },
    "avatar": {
      "selectedAlt": "Selected character {{label}}",
      "activeVoiceProfile": "Active voice profile",
      "readOnlyDescription": "Guests receive a random room character. Members can set one in Lounge profile.",
      "description": "This character represents you when voice leads or your camera is muted.",
      "selectCharacter": "Select character {{label}}"
    }
  },
  "settings": {
    "panelAria": "Room Settings",
    "headerEyebrow": "ROOM SETTINGS",
    "title": "Settings",
    "description": "Tune devices, sharing, captions, and controls without leaving the room.",
    "closeAria": "Close settings panel",
    "devices": {
      "eyebrow": "INPUTS",
      "title": "Devices",
      "description": "Pick the microphone and camera people will hear and see.",
      "microphone": "Microphone",
      "camera": "Camera",
      "selectMicrophone": "Select microphone...",
      "selectCamera": "Select camera..."
    },
    "quality": {
      "eyebrow": "QUALITY",
      "title": "Media Quality",
      "description": "Choose how PonsLink captures your camera and processes your microphone.",
      "videoQuality": "Video Quality",
      "audioProcessing": "Audio Processing",
      "meetingMinutesAutosave": "Meeting Minutes Autosave",
      "meetingMinutesAutosaveDescription": "When meeting minutes are on, final captions are saved locally at this interval and again when the meeting or browser session ends.",
      "videoOptions": {
        "auto": {
          "label": "Auto",
          "description": "Let PonsLink balance clarity and connection stability."
        },
        "data-saver": {
          "label": "Data Saver",
          "description": "Lower resolution and frame rate for weak networks."
        },
        "standard": {
          "label": "HD",
          "description": "720p camera quality for most meetings."
        },
        "hd": {
          "label": "Full HD",
          "description": "Prefer 1080p when the camera and network support it."
        }
      },
      "audioOptions": {
        "voice-focus": {
          "label": "Voice Focus",
          "description": "Noise suppression, echo cancellation, and auto gain for calls."
        },
        "natural": {
          "label": "Natural Voice",
          "description": "Keeps protection on while reducing voice processing."
        },
        "original-sound": {
          "label": "Original Sound",
          "description": "Minimizes browser processing for music or room audio."
        }
      }
    },
    "framing": {
      "eyebrow": "FRAMING",
      "title": "Camera Framing",
      "description": "Choose whether your camera fills the tile, keeps the full frame, or uses smart padding.",
      "mirrorSelfView": "Mirror Self View",
      "mirrorSelfViewDescription": "Flip only your local preview. Other participants receive the normal camera feed."
    },
    "privacy": {
      "eyebrow": "PRIVACY",
      "title": "Appearance & Privacy",
      "description": "Decide whether your camera or avatar is sent to the room.",
      "options": {
        "camera": {
          "label": "Camera",
          "description": "Send the selected camera normally."
        },
        "avatar": {
          "label": "Avatar",
          "description": "Send your avatar instead of the camera video."
        },
        "live-avatar": {
          "label": "Live Avatar",
          "description": "Track your face locally and send an animated avatar."
        }
      }
    },
    "sharing": {
      "eyebrow": "SCREEN",
      "title": "Sharing",
      "description": "Decide whether your camera appears when you share your screen.",
      "includeCamera": "Include Camera",
      "includeCameraDescription": "When sharing the screen, your camera view appears as a small companion window."
    },
    "captions": {
      "eyebrow": "LIVE TEXT",
      "title": "Captions & Translation",
      "description": "Create readable live captions and optional translated text for the room.",
      "realTimeSubtitles": "Real-time Subtitles",
      "realTimeSubtitlesDescription": "Show live captions on your screen. Meeting minutes are controlled from Chat because they are a room record.",
      "voiceLanguage": "Voice Language",
      "translationLanguage": "Translation Language",
      "selectLanguage": "Select Language...",
      "browserLanguageDefault": "The default follows the browser language."
    },
    "diagnostics": {
      "eyebrow": "NETWORK",
      "title": "Connection Diagnostics",
      "description": "Check the active ICE route, TURN relay use, RTT, bitrate estimate, and DataChannel queue.",
      "liveWebRtcPath": "Live WebRTC Path",
      "liveWebRtcPathDescription": "Confirms whether the selected ICE pair is direct P2P or TURN relay.",
      "refresh": "Refresh",
      "empty": "No connected peer diagnostics yet. Join with another device, then reopen Settings or tap Refresh.",
      "checkingIcePath": "Checking ICE path",
      "turnRelayPath": "TURN relay path",
      "directP2pPath": "Direct P2P path",
      "checking": "checking",
      "notYet": "not yet",
      "localCandidate": "Local candidate",
      "remoteCandidate": "Remote candidate",
      "outgoingEstimate": "Outgoing estimate",
      "sentReceived": "Sent / Received",
      "dataChannelBuffer": "DataChannel buffer",
      "bufferedQueued": "{{buffered}} buffered · {{queued}} queued",
      "channel": "Channel",
      "state": "State",
      "buffered": "Buffered",
      "queued": "Queued",
      "lastUpdated": "Last updated: {{time}}. Relay means TURN is on the active path; srflx/prflx without relay means direct NAT traversal."
    },
    "interface": {
      "eyebrow": "CONTROLS",
      "title": "Interface",
      "description": "Scale the room control bar to match your screen and distance.",
      "controlBarSize": "Control Bar Size",
      "small": "Small",
      "medium": "Medium",
      "large": "Large"
    },
    "mobile": {
      "eyebrow": "MOBILE",
      "description": "Choose where the dock sits and how quickly it gets out of the way.",
      "autoHide": "Auto Hide",
      "autoHideDescription": "The dock hides automatically when there is no activity for 3 seconds.",
      "dockPosition": "Dock Position",
      "dockSize": "Dock Size",
      "left": "Left",
      "bottom": "Bottom",
      "right": "Right"
    }
  }
}
