{
  "blogPage": {
    "hubH1": "Home Service Tips, Guides & Costs",
    "relatedPostsTitle": "Related guides",
    "relatedCtaTitle": "Book this service on Beedy"
  },
  "orderIssues": {
    "title": "Requests & disputes",
    "photos": "Damage photos",
    "badge_one": "{{count}} issue",
    "badge_other": "{{count}} issues",
    "labels": {
      "damageClaim": "Damage claim",
      "changeRequest": "Change request",
      "timeChange": "Time change",
      "extension": "Extension request"
    },
    "severity": {
      "low": "Low",
      "medium": "Moderate",
      "high": "High"
    },
    "claimStatus": {
      "pending_pro_response": "Waiting for the pro",
      "pro_scheduled_repair": "Repair scheduled",
      "repaired": "Repaired",
      "refund_issued": "Refund issued",
      "rebooked_other_seller": "Rebooked with another pro",
      "escalated_support": "Escalated to support",
      "closed_no_action": "Closed without action",
      "pending_client_validation": "Waiting for client confirmation"
    },
    "changeStatus": {
      "pending_pro_quote": "Waiting for the pro’s quote",
      "pro_quoted": "Quote sent",
      "accepted": "Accepted",
      "rejected_by_client": "Rejected by the client",
      "withdrawn": "Withdrawn"
    },
    "timeChangeStatus": {
      "pending_pro_slots": "Waiting for pro slots",
      "slots_proposed": "Slots proposed",
      "confirmed": "Confirmed",
      "cancelled_by_user": "Cancelled by the client",
      "cancelled_by_pro": "Cancelled by the pro",
      "withdrawn": "Withdrawn"
    },
    "extensionStatus": {
      "pending_client": "Waiting for the client",
      "approved_unconditional": "Approved",
      "approved_with_discount": "Approved with discount",
      "rejected_by_client": "Rejected by the client",
      "escalated_support": "Escalated to support",
      "withdrawn": "Withdrawn"
    },
    "source": {
      "on_site": "Reported on site",
      "after_visit": "Reported after the visit"
    },
    "openedOn": "Opened {{date}}",
    "deadline": "Repair deadline",
    "deadlineDaysLeft": "{{count}} days left",
    "deadlineOverdue": "Overdue by {{count}} days",
    "repairScheduledFor": "Repair scheduled for {{date}}",
    "suspicionScore": "AI suspicion {{score}}/100",
    "proposedTotal": "Proposed new total: {{amount}}",
    "additionalDays": "+{{count}} days",
    "resolutionSummary": "Resolution: {{kind}} — {{amount}}",
    "resolution": {
      "repaired_by_same_pro": "Repaired by the same pro",
      "partial_refund": "Partial refund",
      "full_refund": "Full refund",
      "rebook_no_commission": "Rebooked without commission",
      "support_closed": "Closed by support"
    },
    "resolve": {
      "button": "Resolve",
      "dialogTitle": "Resolve the damage claim",
      "kind": {
        "partial_refund": "Partial refund",
        "full_refund": "Full refund",
        "rebook_no_commission": "Rebook without commission",
        "support_closed": "Close without refund"
      },
      "stepsTitle": "Steps & escrow",
      "stepReleased": "Released to the pro",
      "stepEscrowed": "Still in escrow",
      "prefillStep": "Use this step",
      "releasedTotal": "Released to the pro: {{amount}}",
      "capInfo": "Still in escrow (default cap): {{amount}}",
      "amountLabel": "Refund amount",
      "amountRequired": "Enter a positive refund amount.",
      "overrideWarning": "This exceeds the unreleased escrow: the pro will be clawed back for work already paid out (shared pending pool) or the platform books a shortfall.",
      "overrideToggle": "Authorize beyond escrow (clawback / shortfall)",
      "noCancelNote": "The order itself is NOT cancelled by this resolution.",
      "confirmCta": "Confirm the resolution",
      "executing": "Processing…",
      "success": "Claim resolved.",
      "successWithAmount": "Claim resolved — {{amount}} refunded.",
      "refundInProgress": "This order allows one active refund per order — finish or reject the open one in the Refunds queue first.",
      "overCapRejected": "The amount exceeds the unreleased escrow — tick the override to claw back paid-out work.",
      "alreadyResolved": "This claim was already resolved.",
      "contextError": "Could not load the escrow breakdown — amounts are uncapped here, the server still enforces the cap."
    },
    "hold": {
      "holdButton": "Freeze the mission",
      "holdConfirmTitle": "Freeze this mission?",
      "holdConfirmBody": "The order moves to on_hold: per-step escrow releases and the J+14 auto-validation are paused while the claim is arbitrated. The pro and the client are notified.",
      "holdSuccess": "Mission frozen (on hold).",
      "resumeButton": "Resume the mission",
      "resumeConfirmTitle": "Resume this mission?",
      "resumeConfirmBody": "Escrow releases restart: a 14-day verification window that expired during the freeze will auto-release the 20% retainer on the next nightly run — resolve the claim first if the retainer is disputed.",
      "resumeSuccess": "Mission resumed (in progress).",
      "forceTitle": "Force the resume?",
      "forceBody": "A client start approval is pending or rejected on this order. Forcing bypasses the client consent gate (audited admin override).",
      "error": "Action failed — try again."
    }
  },
  "smsConsent": {
    "disclosure": "Message and data rates may apply. Any recurring SMS notifications are optional and are never a condition of using Beedy.",
    "privacyLink": "Privacy Policy",
    "termsLink": "Terms",
    "privacyNotice": "SMS messaging: your mobile number and SMS consent are used only to send account and service messages (verification codes, booking and quote-request updates). Your mobile information will not be sold or shared with third parties for promotional or marketing purposes.",
    "optInLabel": "Yes, text me about new job requests and booking updates from Beedy. Message frequency varies. Message & data rates may apply. Reply STOP to opt out, HELP for help."
  },
  "phoneCapture": {
    "title": "Add a phone number",
    "description": "Share a number so the professional can reach you about this job. It's only used to coordinate the visit.",
    "fieldHelp": "Used only to coordinate your appointment.",
    "confirm": "Save and continue",
    "skip": "Skip for now"
  },
  "orderPhotos": {
    "fromClient": "Client photos",
    "fromPro": "Pro photos",
    "providerNote": "Pro's note"
  },
  "orderHistory": {
    "loadMore": "Load more",
    "loadingMore": "Loading…",
    "empty": "No orders to show yet",
    "error": "Couldn't load orders",
    "retry": "Retry",
    "showing": "Showing {{count}} of {{total}}",
    "searchPlaceholder": "Search by order number or description"
  },
  "back": "Back",
  "skipToMainContent": "Skip to main content",
  "cookieBanner": {
    "regionLabel": "Cookie notice banner",
    "title": "We use cookies and similar technologies",
    "description": "Beedy uses cookies for sign-in, fraud prevention, language, currency, and product analytics (Google Analytics, PostHog) to keep the marketplace running and improve it. Strictly-necessary cookies are required; others can be turned off below. Residents of California, Florida, and other US states with applicable privacy laws can also exercise the right to opt out of \"sale\" or \"sharing\" of personal information by visiting \"Your Privacy Choices\". We honor the Global Privacy Control (GPC) browser signal automatically.",
    "acceptButton": "Allow",
    "rejectButton": "Use only necessary",
    "learnMore": "See our Cookie Policy",
    "privacyChoices": "Your Privacy Choices"
  },
  "publicPages": {
    "backToHome": "Back to home",
    "partnerTitle": "Become a partner",
    "partnerHero": "Join the Beedy network of verified professionals",
    "partnerHeroDesc": "Get more clients, set your schedule, and grow your business with our AI-powered platform.",
    "partnerBenefitsTitle": "Why join Beedy?",
    "partnerBenefit1": "Access to thousands of clients looking for your skills",
    "partnerBenefit2": "Transparent pricing and secure payments",
    "partnerBenefit3": "Flexible schedule — work when you want",
    "partnerCta": "Join as a professional",
    "cookiesTitle": "Cookie policy",
    "cookiesIntro": "We use cookies and similar technologies to provide and improve our service.",
    "cookiesWhatTitle": "What we use",
    "cookiesWhatDesc": "Essential cookies for security and session, analytics to improve the product, and preferences you choose.",
    "cookiesManageTitle": "Managing cookies",
    "cookiesManageDesc": "You can control non-essential cookies in your browser settings. See our Privacy Policy for full details.",
    "registerBusiness": {
      "heroTitle": "Register your business on Beedy",
      "heroDesc1": "Reach thousands of local customers actively searching for businesses like yours.",
      "heroDesc2": "Manage your offers, reviews and customer relationships from a single platform.",
      "heroDesc3": "Get started in minutes — no setup fees, no commitment.",
      "signupCardTitle": "Sign up for free",
      "signupBullet1": "Build a community around your customers and boost retention with loyalty points.",
      "signupBullet2": "Choose between reservation requests and instant bookings.",
      "signupBullet3": "We process and secure payments for your services and products.",
      "startNow": "Start now",
      "tab": {
        "ariaLabel": "Page sections",
        "peaceOfMind": "Peace of mind",
        "standOut": "Stand out",
        "allInOne": "All-in-one",
        "testimonials": "Testimonials",
        "contact": "Contact us"
      },
      "partners": {
        "label": "API integration for sellers:"
      },
      "peaceOfMind": {
        "heading": "Register your business with complete peace of mind",
        "f1": {
          "title": "Promotion in a specific location",
          "desc": "Using precise demographic and behavioural data, Beedy helps service providers reach their target audience in specific geographic areas."
        },
        "f2": {
          "title": "Highly targeted promotion",
          "desc": "Easily reach your local customers with targeted advertising campaigns, maximising your return on investment."
        },
        "f3": {
          "title": "Creation of promotional campaigns",
          "desc": "Beedy lets service providers promote special events, product launches and seasonal offers."
        },
        "f4": {
          "title": "Protection against liability claims",
          "desc": "You are protected against liability claims from customers up to €1,000,000 / £1,000,000 / $1,000,000 per reservation."
        },
        "f5": {
          "title": "Regular, secure payments",
          "desc": "With Beedy Payments you enjoy guaranteed payouts and protection against fraud."
        },
        "f6": {
          "title": "Security and reliability",
          "desc": "Benefit from a secure system for every transaction, designed to protect sensitive data, ensure secure payments and prevent fraud."
        }
      },
      "standOut": {
        "heading": "Stand out from the start",
        "f1": {
          "title": "Import your customer reviews",
          "desc": "We import the reviews you've received on other platforms and display them on your Beedy page so you don't have to start from scratch."
        },
        "f2": {
          "title": "Import your customer file",
          "desc": "Strengthen loyalty, increase repeat business and build a community around your business through personalised, targeted communications."
        },
        "f3": {
          "title": "Import your offers",
          "desc": "Easily import information about your business from other platforms and sync your availability calendar to avoid double bookings."
        }
      },
      "allInOne": {
        "heading": "Take advantage of an all-in-one system",
        "top1": {
          "title": "Community events & collaborations",
          "desc": "Organise special events or promotions in collaboration with other local businesses through Beedy."
        },
        "top2": {
          "title": "Reward your customers",
          "desc": "Offer loyalty points with every purchase or interaction, encouraging repeat visits and customer loyalty."
        },
        "top3": {
          "title": "Tracking and analysis",
          "desc": "Use our tracking tools to analyse your customers' purchasing habits and adjust your loyalty programmes to maximise their effectiveness."
        },
        "bottom1": {
          "title": "Integrated solution",
          "desc": "Create your ideal store without any hassle. Everything is at your disposal to easily offer your services, products, events and articles, and grow your business effortlessly."
        },
        "bottom2": {
          "title": "Continuous engagement",
          "desc": "Keep your customers informed and engaged for long-term loyalty. Track interactions, personalise communications and offer an exceptional customer experience."
        },
        "bottom3": {
          "title": "Personalised programmes",
          "desc": "Create loyalty programmes tailored to your needs and those of your customers, boosting engagement and satisfaction."
        }
      },
      "mockup": {
        "dashTitle": "Business Overview",
        "statBookings": "Bookings",
        "statRevenue": "Revenue",
        "statPoints": "Points",
        "weeklyBookings": "This week's bookings",
        "shopCategory": "Wellness & Beauty",
        "review1": "\"Setup took 15 min — I had my first customer the same day.\"",
        "review1Author": "Chiara R.",
        "review2": "\"Best decision I made for my business this year.\"",
        "review2Author": "Marc T.",
        "offerBadge": "-20% this weekend — Summer Special"
      },
      "testimonials": {
        "heading": "What entrepreneurs like you are saying",
        "role": "Wellness centre manager",
        "q1": "I signed up in just 15 minutes, and less than two hours later, I had my first booking.",
        "q2": "The setup was so easy I had my first customer the same day.",
        "q3": "Local discovery means I no longer have to advertise on social networks.",
        "q4": "Payments arrive on time, every time.",
        "q5": "Their support team feels like part of my staff.",
        "q6": "Best decision I made this year for my business.",
        "name1": "Chiemeka Yobachukwu",
        "name2": "Dai Jiang",
        "name3": "Tokunaga Yae",
        "name4": "Ren Xue",
        "name5": "Marie Dubois",
        "name6": "Jenny Murtaugh"
      },
      "contact": {
        "formHeading": "Send us an email",
        "formSubheading": "Feel free to write",
        "firstName": "First name",
        "lastName": "Last name",
        "email": "Email",
        "phone": "Phone",
        "message": "Message",
        "submit": "Send message",
        "submitToast": "Thanks — we'll get back to you within 24 hours.",
        "helpHeading": "Need any help?",
        "helpSubheading": "Get in touch with us",
        "byPhone": {
          "title": "Have a question?",
          "value": "+33 1 48 88 49 49"
        },
        "byEmail": {
          "title": "Write to us",
          "value": "support@beedy.app"
        },
        "bySupport": {
          "title": "Support chat",
          "value": "Click the chat icon at the bottom right of the screen."
        },
        "visit": {
          "title": "Visit anytime",
          "value": "12 avenue Charles de Gaulle, 75008 Paris, France"
        }
      },
      "step": {
        "title": "Discover Beedy.app",
        "desc": "Before you can start accepting reservations on our platform, you need to set up your business page and ensure all required information has been provided.",
        "next": "Go to the next step"
      },
      "guides": {
        "heading": "Guides to help you grow",
        "card1": {
          "title": "Find the best offer at the best price.",
          "desc": "Publish your needs, receive the best proposals through our digital call for tenders, and collaborate with qualified local service providers at the best price."
        },
        "card2": {
          "title": "24/7 legal service to anticipate any incident and ensure continuous protection.",
          "desc": "We've developed a dedicated legal service to give you complete peace of mind at every stage of your purchasing experience."
        },
        "cta": "Learn more"
      },
      "finalCta": {
        "heading": "Sign up and start promoting your offers to your local customers today!"
      }
    }
  },
  "save": "Save",
  "cancel": "Cancel",
  "close": "Close",
  "confirm": "Confirm",
  "delete": "Delete",
  "edit": "Edit",
  "send": "Send",
  "search": "Search",
  "loading": "Loading...",
  "submit": "Submit",
  "next": "Next",
  "previous": "Previous",
  "yes": "Yes",
  "no": "No",
  "ok": "OK",
  "done": "Done",
  "all": "All",
  "none": "None",
  "logout": "Log out",
  "login": "Log in",
  "signup": "Sign up",
  "guest": "Guest",
  "proNumberLabel": "Professional ID",
  "editProfile": "Edit profile",
  "premium": "Premium",
  "premiumDesc": "Get 20% off all services",
  "upgrade": "Upgrade now",
  "help": {
    "eyebrow": "Help Center",
    "heroTitle": "How can we help you today?",
    "heroDesc": "Browse our knowledge base, search for an answer, or chat with our team. Most questions are answered in seconds.",
    "searchPlaceholder": "Search articles, e.g. \"cancel booking\", \"payment methods\"…",
    "searchShortcut": "Press ⌘ K or Ctrl+K to focus the search bar.",
    "popularLabel": "Popular questions",
    "comingSoon": "Coming soon",
    "s1Title": "Get help fast",
    "s1Intro": "Pick the channel that fits the urgency of your request — most users find their answer in seconds.",
    "s2Title": "Frequently Asked Questions",
    "s2Intro": "Browse by category or use the search bar above. Let us know if an article helped — your feedback shapes what we improve.",
    "quick": {
      "videoGuides": {
        "title": "Video guides",
        "body": "Short tutorials covering bookings, payments and account essentials."
      },
      "liveChat": {
        "title": "Live chat",
        "body": "Chat with a human on weekdays from 09:00 to 19:00."
      },
      "contact": {
        "title": "Contact us",
        "body": "Email, phone or contact form — pick what works best for you."
      },
      "hours": {
        "title": "Business hours",
        "body": "Sun–Thu 09:00–19:00, Fri 09:00–14:00. Sat closed."
      }
    },
    "category": {
      "all": "All",
      "getting-started": "Getting started",
      "booking": "Bookings",
      "payment": "Payments",
      "ai": "AI engine",
      "guarantee": "Guarantee",
      "account": "Account"
    },
    "faq": {
      "getting1": {
        "q": "How do I get started with Beedy?",
        "a": "Create a free account in 30 seconds, share your location, and search for the service you need. Browse the matching pros, send a request — or accept an instant quote — and book in two clicks. No subscription, no upfront fees."
      },
      "getting2": {
        "q": "Is there a fee to sign up?",
        "a": "No. Creating an account and browsing pros is completely free. You only pay for the service you book — Beedy adds no booking fee on top."
      },
      "booking1": {
        "q": "How long does it take to receive a quote?",
        "a": "Most quotes arrive within minutes. For some specialty trades or off-hours requests, count up to a few hours. You'll get a notification as soon as your first quote lands."
      },
      "booking2": {
        "q": "Am I obliged to accept a quote?",
        "a": "Never. Quotes are non-binding — you can compare, reply with questions, or simply ignore them. You only commit once you accept and the booking is confirmed."
      },
      "booking3": {
        "q": "How do I cancel a booking?",
        "a": "Go to your active bookings, open the one you want to cancel and tap 'Cancel booking'. Refund eligibility depends on the cancellation policy of the booking — flexible plans allow free cancellation up to a deadline, non-refundable plans do not."
      },
      "payment1": {
        "q": "What payment methods do you accept?",
        "a": "Most major credit and debit cards (Visa, MasterCard, American Express), Apple Pay, and Google Pay. For some categories, on-site cash payment is also available — you'll see the option at checkout."
      },
      "payment2": {
        "q": "When am I charged?",
        "a": "Card details are captured at booking but you are not charged immediately. Most categories charge once the service is delivered; some (with prepayment plans) charge at booking confirmation. The exact moment is shown on the booking summary."
      },
      "payment3": {
        "q": "Are the prices shown including VAT?",
        "a": "Yes. All prices displayed on Beedy include applicable VAT and Beedy fees. No surprise charges at checkout."
      },
      "ai1": {
        "q": "What is the Beedy AI engine?",
        "a": "Our AI engine helps match you with the best pros in your area based on the job description, your past activity, real-time availability and aggregated reviews. It also estimates a fair price range to help you compare quotes."
      },
      "ai2": {
        "q": "How accurate are the AI price estimates?",
        "a": "Within ±15% on most jobs, based on similar bookings in your region over the past 90 days. Final quotes from pros may differ depending on materials, urgency or job complexity."
      },
      "guarantee1": {
        "q": "What does Beedy's guarantee cover?",
        "a": "Every booking is covered by the Beedy guarantee: secure payment, identity-verified pros and a re-do / refund policy if a service does not match what was agreed. Subject to fair-use limits — full terms in the dedicated guarantee article."
      },
      "guarantee2": {
        "q": "What if the pro does not show up?",
        "a": "Mark the booking as a no-show within 48 hours from the scheduled time. We will refund any prepayment in full and offer to rebook with another pro at the same price. The no-show is also logged on the pro's profile to keep the marketplace trusted."
      },
      "account1": {
        "q": "How do I change my account details?",
        "a": "Open Settings → Profile to update your name, email, phone number, language and notification preferences. Some changes (email, phone) require a quick verification step."
      },
      "account2": {
        "q": "How do I delete my account?",
        "a": "Open Settings → Security & privacy → Delete account. Your profile and personal data are erased within 30 days, except records (invoices, tax documents) we are legally required to keep."
      }
    },
    "resultsCount_one": "{{count}} article found",
    "resultsCount_other": "{{count}} articles found",
    "noResultsTitle": "No matching article",
    "noResultsBody": "Try a different keyword, or browse another category. Our team is also one message away.",
    "wasHelpful": "Was this article helpful?",
    "yes": "Yes",
    "no": "No",
    "thanksFeedback": "Thanks for the feedback — it helps us improve our help center.",
    "relatedArticles": "Related articles",
    "finalCtaTitle": "Still need a hand?",
    "finalCtaDesc": "Our support team is here for you on weekdays. Drop us an email, give us a call, or open the contact form — we usually reply within a couple of hours.",
    "emailUs": "Email us",
    "callUs": "Call us",
    "moreOptions": "More options"
  },
  "settingsLabel": "Settings",
  "notifications": "Notifications",
  "messages": "Messages",
  "noResults": "No results",
  "placeholders": {
    "email": "e.g. email@example.com",
    "password": "••••••••",
    "passwordShort": "••••",
    "amount": "0.00",
    "phone": "050-0000000",
    "year": "2022",
    "licensePlate": "123-45-678",
    "code": "000000",
    "codeLong": "000000000",
    "date": "DD/MM/YYYY",
    "time": "HH:MM",
    "dash": "--",
    "duration": "1-2h",
    "minutes": "min",
    "hours": "h",
    "proEmail": "pro@business.com",
    "yourEmail": "your@email.com"
  },
  "error": {
    "generic": "An error occurred",
    "network": "Network error",
    "loadApp": "Error loading application",
    "refreshPage": "Please refresh the page",
    "errorDetails": "Error details",
    "startupError": "An error occurred starting the application. Please refresh the page.",
    "newVersionTitle": "A new version is available",
    "newVersionBody": "Reload the page to get the latest version.",
    "reload": "Reload"
  },
  "nav": {
    "overview": "Overview",
    "requests": "Requests",
    "newRequests": "New requests",
    "orders": "Orders",
    "activeOrdersBadge_one": "{{count}} active order",
    "activeOrdersBadge_other": "{{count}} active orders",
    "messages": "Messages",
    "calendar": "Calendar",
    "finance": "Finance",
    "stats": "Statistics",
    "profile": "Profile",
    "refunds": "Refunds",
    "loyaltyClub": "Loyalty club",
    "favorites": "Favorites",
    "offers": "Offers",
    "business": "My Business",
    "help": "Help",
    "label": "Main navigation",
    "myPros": "My pros"
  },
  "header": {
    "searchPlaceholder": "Search for a service... (plumber, electrician)",
    "noMatchingPros": "No matching professionals",
    "km": "km",
    "address": "Address",
    "useMyLocation": "Use my location",
    "filters": "Filters",
    "proArea": "Service area",
    "loginAccount": "Log in to account",
    "closeSearch": "Close search",
    "searchService": "Search service",
    "clearSearch": "Clear search",
    "profile": "Profile",
    "clearLocation": "Clear location",
    "nav": {
      "categories": "Categories",
      "map": "Map",
      "about": "About",
      "proDiscover": "For professionals"
    },
    "home": "Home"
  },
  "map": {
    "loadingMap": "Loading map...",
    "secureContextRequired": "Location access requires a secure (HTTPS) connection.",
    "errorMapLoadTitle": "Error loading map",
    "errorMapboxMissing": "Mapbox key is missing. Please check your .env file and restart the server.",
    "errorMapboxInvalidFormat": "Invalid Mapbox key format. The key should start with \"pk.\"",
    "errorRtlPlugin": "Error loading RTL text plugin",
    "errorMapboxInvalidOrExpired": "Mapbox key is invalid or expired. Please check the key in .env and make sure it is active in the Mapbox Dashboard.",
    "errorLoadingMap": "Error loading map: {{details}}. Try refreshing the page.",
    "errorMapTimeout": "The map is taking too long to load. Try refreshing the page.",
    "errorInitMap": "Error initializing map: {{details}}",
    "unknownError": "Unknown error",
    "retry": "Try again",
    "yourCurrentLocation": "Your current location",
    "approximateLocation": "Jacksonville (approximate location)",
    "currentLocation": "Current location",
    "enterAddress": "Enter address *",
    "additionalDetails": "Additional details",
    "detailsPlaceholder": "Floor, apartment, entry code...",
    "locateMe": "Locate me",
    "clearAddress": "Clear address",
    "trackingLocationClickToStop": "Tracking your location - click to stop",
    "locating": "Locating...",
    "retryLocation": "Retry locating your position",
    "locationUnavailable": "Unable to locate your position. Please enter an address manually.",
    "locationPermissionDenied": "Location access denied. Please enter an address manually.",
    "locationInfoUnavailable": "Location information is unavailable. Please enter an address manually.",
    "locationTimeout": "Location request timed out. Please enter an address manually.",
    "browserNoGeolocation": "Your browser does not support geolocation services. Please enter an address manually.",
    "mapShownBelowManualEntry": "The map is shown below. You can enter an address manually or click the location button to try again.",
    "pleaseEnterValidAddress": "Please enter a valid address",
    "addAddress": "Add address",
    "addAddressInSettings": "Add address in settings",
    "addressSaved": "Address saved in settings",
    "rate": "Rate",
    "ratePerHour": "{{price}}/hr",
    "offers": "Offers",
    "from": "From",
    "more": "more",
    "requestQuote": "Request a quote",
    "notVerified": "unverified",
    "prospectNotBookable": "This pro is completing sign-up — available soon",
    "providerPhotos": "Provider photos",
    "previousPhoto": "Previous photo",
    "nextPhoto": "Next photo",
    "orderDetails": "Order details",
    "setLocationForPickup": "Set location for quick pickup",
    "backToHome": "Back to home",
    "now": "Now",
    "scheduled": "Scheduled",
    "selectDateAndTime": "Select date and time",
    "date": "Date",
    "time": "Time",
    "selectTime": "Select time",
    "scheduledFor": "Scheduled for: {{datetime}}",
    "whatAreWeFixing": "What are we fixing today?",
    "start": "Start",
    "confirmOrder": "Order",
    "selectServiceToContinue": "Select a service to continue",
    "mustLoginToContinue": "* You must log in to continue",
    "mustEnterAddressAndService": "* You must enter an address and select a service",
    "mustSelectService": "* You must select a service to continue",
    "loginToContinue": "Log in to continue",
    "loginToYourAccount": "Log in to your account",
    "quickSignup": "Quick sign up",
    "createAccountInSeconds": "Create a new account in seconds",
    "signupAndContinue": "Sign up and continue",
    "loginAndContinue": "Log in and continue",
    "signupWithGoogle": "Sign up with Google",
    "loginWithGoogle": "Log in with Google",
    "googleLoginFailed": "Google login failed",
    "googleLoginNotConfigured": "Google sign-in (not configured)",
    "orViaEmail": "or via email",
    "fullName": "Full name",
    "confirmPassword": "Confirm password",
    "loginInvalidCredentials": "Invalid login credentials",
    "loginSuccessRedirect": "Logged in successfully! Redirecting to order page...",
    "registerSuccessRedirect": "Registered successfully! Redirecting to order page...",
    "passwordsMismatch": "Passwords do not match",
    "emailAlreadyRegistered": "This email address is already registered",
    "errorTryAgain": "An error occurred. Please try again.",
    "selectDate": "Select date"
  },
  "currency": {
    "approximate": "~",
    "converted": "converted"
  },
  "time": {
    "minutes": "min",
    "minutesShort": "min",
    "hours": "hours",
    "days": "days"
  },
  "orders": {
    "orderDetails": "Order details",
    "copyOrderNumber": "Copy",
    "copied": "Copied",
    "copyFailed": "Could not copy",
    "serviceAddress": "Service address",
    "price": "Price",
    "skipToContent": "Skip to main content",
    "checkout": "Complete booking",
    "backToOffers": "Back to offers",
    "distanceFromYou": "{{distance}} km from your location",
    "currentAddress": "Current address",
    "addAddressDetails": "Add details (floor, apt., entry code)",
    "additionalDetails": "Additional details",
    "addressDetailsPlaceholder": "Floor, apartment, entry code...",
    "defaultStep1Title": "Visit and diagnosis",
    "defaultStep1Description": "Initial inspection",
    "defaultStep2Title": "Repair and maintenance",
    "defaultStep2Description": "Perform repair",
    "defaultStep3Title": "Final check",
    "defaultStep3Description": "Verify and recommend",
    "estimatedArrival": "Estimated arrival time",
    "todayAsap": "Today, as soon as possible",
    "onSelectedDate": "On the selected date",
    "arrivalEstimate": "Estimated arrival: {{time}}",
    "arrivalByPhone": "Arrival time to be coordinated by phone",
    "serviceDuration": "Service duration",
    "durationHours": "{{count}} hours",
    "durationHours_one": "1 hour",
    "durationMinutes": "{{count}} minutes",
    "projectMilestones": "Project milestones",
    "proposedTimes": "Times proposed by the professional",
    "selectFromProposedTimes": "Select a date and time from the options proposed by the professional",
    "selectDate": "Select date",
    "selectTime": "Select time",
    "today": "Today",
    "tomorrow": "Tomorrow",
    "noAvailability": "No availability on this date. Please select a different date.",
    "occupied": "Occupied",
    "timeSlotOccupied": "Time {{time}} occupied",
    "timeSlot": "Time {{time}}",
    "occupiedLegend": "Marked as occupied = unavailable on selected date",
    "service": "Service",
    "escrow": {
      "title": "Active escrow protection",
      "description": "Your money is safe and secure. Payment will only be released to the professional after you approve the service.",
      "securePayment": "Secure payment via Stripe",
      "securePaymentStripe": "Secure payment via Stripe",
      "fundsRelease": "Funds released after approval",
      "refundGuarantee": "Guaranteed refund in case of issues"
    },
    "insurance": {
      "recommended": "Highly recommended",
      "title": "Insurance Plus - {{price}}",
      "extendedWarranty": "Extended warranty from 14 to 30 days",
      "description": "Coverage includes a follow-up visit by the professional for an additional thorough inspection of the issue, at no extra cost. Peace of mind guaranteed."
    },
    "paymentBreakdown": "Payment breakdown",
    "servicePrice": "Service price",
    "serviceFee": "Service fee ({{percent}}%)",
    "insurancePlus": "Insurance Plus",
    "total": "Total to pay",
    "pointsEarnedWithOrder": "You will earn {{count}} points with this order",
    "closeErrorMessage": "Close error message",
    "backToOffersAndHome": "Back to offers and home",
    "paymentMethod": "Payment method",
    "creditCard": "Credit card",
    "paypal": "PayPal",
    "securePayment": "Secure payment",
    "termsPrefix": "By confirming the booking, I agree to the",
    "termsOfService": "Terms of Service",
    "termsAnd": "and the",
    "refundPolicy": "Refund Policy",
    "selectDateTimeAbove": "Please select a date and time above before payment",
    "selectDateTimeBeforePayment": "Please select a date and time before payment",
    "selectPaymentMethod": "Please select a payment method",
    "payWithPayPalBelow": "Click the PayPal button below to pay securely.",
    "processingPayment": "Processing payment...",
    "payAndBook": "Pay {{total}} & Book",
    "alreadyPaid": "This order has already been paid.",
    "syncingOrder": "Syncing order with server...",
    "orderSynced": "Order synced with server",
    "offerFrom": "Offer from {{name}}",
    "errors": {
      "orderCreatedOffline": "The order was created without a server connection. Click \"Confirm & Pay\" — we will try to sync the order with the server (make sure the server is running) and then proceed to payment.",
      "loginRequired": "Please log in to complete payment.",
      "pleaseLogin": "Please log in",
      "paymentOnlyOnline": "Payment is only available for orders created when the server is connected. Please create a new service request from the main screen (make sure the server is running) and then select an offer for payment.",
      "paymentError": "Payment error",
      "paymentCreationFailed": "Error creating payment",
      "paymentServerUnavailable": "Payment server is unavailable or returned a page instead of a response. Make sure the server is running (try opening the API URL in a browser) and set VITE_API_URL if needed.",
      "stripeKeysNotConfigured": "Payment is not configured. Add STRIPE_SECRET_KEY, STRIPE_PUBLISHABLE_KEY and STRIPE_WEBHOOK_SECRET to the .env file and restart the server (npm run server).",
      "rapydKeysNotConfigured": "Rapyd keys are not configured. Add RAPYD_ACCESS_KEY and RAPYD_SECRET_KEY to the .env file at the project root and then restart the server (npm run server).",
      "orderNotFound": "Order not found in the system. If the offer request was closed, create a new service request from the main screen and then select an offer to complete payment.",
      "amountTooLow": "The minimum booking amount is {{amount}}. Please pick an offer at or above this amount."
    },
    "cardBrands": "Visa, Mastercard, Amex"
  },
  "settings": {
    "general": "General Settings",
    "generalDesc": "Customize your Beedy experience.",
    "languageRegion": "Language & Region",
    "interfaceLanguage": "Interface language",
    "selectLanguage": "Select language",
    "mainCurrency": "Main currency",
    "selectCurrency": "Select currency",
    "appearance": "Appearance",
    "darkMode": "Dark Mode",
    "darkModeDesc": "Switch to dark theme for comfortable night viewing"
  },
  "dataCollection": {
    "milestonePlan": {
      "title": "Break the job into steps (optional)",
      "subtitle": "Sketch the work as a few steps so pros understand your need and quote faster. No prices — the pro sets those.",
      "optionalHint": "Optional — skip this and pros will plan the steps themselves."
    },
    "categories": {
      "cleaning": "Cleaning",
      "plumbing": "Plumbing",
      "electrical": "Electrical",
      "beauty": "Beauty",
      "locksmith": "Locksmith",
      "appliances": "Appliances",
      "renovation": "Renovation",
      "gardening": "Gardening",
      "ac": "Air Conditioning",
      "painting": "Painting",
      "moving": "Moving"
    },
    "questions": {
      "tellUsAboutCleaning": "Tell us about the cleaning needed",
      "whatTypeOfCleaning": "What type of cleaning do you need?",
      "whatSpaceSize": "What is the space size?",
      "accessibility": "Location accessibility?",
      "howManyHours": "How many hours of service needed?",
      "whenDoYouNeedService": "When do you need the service?",
      "aiDiagnosis": "AI diagnosis and self-solutions",
      "tellUsAboutProblem": "Tell us about the problem",
      "whatPlumbingProblem": "What is the plumbing problem?",
      "pipeType": "Pipe type?",
      "accessibilityShort": "Accessibility?",
      "urgencyLevel": "Urgency level?",
      "tellUsAboutElectrical": "Tell us about the electrical problem",
      "whatElectricalService": "What electrical service?",
      "workComplexity": "Work complexity?",
      "whereProblemLocated": "Where is the problem located?",
      "tellUsWhatLooking": "Tell us what you are looking for",
      "whatBeautyTreatment": "What beauty treatment are you looking for?",
      "treatmentLevel": "Treatment level?",
      "whereReceiveTreatment": "Where would you like to receive the treatment?",
      "estimatedDuration": "Estimated treatment duration?",
      "tellUsAboutRenovation": "Tell us about the renovation needed",
      "whatRenovationType": "What type of renovation do you need?",
      "workScope": "Work scope?",
      "whoProvidesMaterials": "Who provides the materials?",
      "expectedTimeline": "Expected timeline?",
      "whenStartRenovation": "When would you like to start?",
      "tellUsAboutGardening": "Tell us about the gardening work",
      "whatGardeningService": "What gardening service do you need?",
      "areaSize": "Area size?",
      "serviceFrequency": "Service frequency?",
      "equipmentNeeded": "Equipment needed?",
      "tellUsAboutAC": "Tell us about the AC issue",
      "whatACService": "What air conditioning service?",
      "howManyUnits": "How many units?",
      "acType": "AC type?",
      "installationAccessibility": "Installation accessibility?",
      "tellUsAboutPainting": "Tell us about the painting work",
      "whatToPaint": "What needs to be painted?",
      "areaSizePainting": "Area size?",
      "wallCondition": "Wall condition?",
      "whoProvidesPaint": "Who provides the paint?",
      "whenStartPainting": "When would you like to start?",
      "tellUsAboutMoving": "Tell us about the move",
      "whatMovingType": "What type of move?",
      "itemQuantity": "Item quantity?",
      "floorsOriginDest": "Floors (origin and destination)?",
      "packingServices": "Packing services?",
      "whenMoving": "When is the move?",
      "describeYourNeed": "Briefly describe your need",
      "projectSize": "What is the project size?"
    },
    "options": {
      "deepCleaning": "Deep cleaning",
      "regularCleaning": "Regular cleaning",
      "moveInOut": "Move-in/out cleaning",
      "postConstruction": "Post-renovation cleaning",
      "smallStudio": "Small (studio - 2 rooms)",
      "medium3_4": "Medium (3-4 rooms)",
      "large5plus": "Large (5+ rooms)",
      "groundFloor": "Ground floor",
      "floorWithElevator": "Floor with elevator",
      "floorNoElevator": "Floor without elevator",
      "twoHours": "Two hours",
      "threeHours": "3 hours",
      "fourHours": "4 hours",
      "fivePlusHours": "5+ hours",
      "dontKnow": "Don't know (as needed)",
      "todayTomorrow": "Today / Tomorrow",
      "thisWeek": "This week",
      "leak": "Leak",
      "clog": "Clog",
      "equipmentInstall": "Equipment installation",
      "waterHeater": "Water heater (solar/electric)",
      "visiblePipe": "Visible pipe",
      "semiHidden": "Semi-hidden",
      "hiddenInWall": "Hidden in wall",
      "easyAccess": "Easy access",
      "mediumAccess": "Medium access",
      "difficultAccess": "Difficult access",
      "oneHour": "One hour",
      "threePlusHours": "3+ hours",
      "emergencyActiveLeak": "Emergency (active leak)",
      "canBeDelayed": "Can be delayed",
      "outletSwitch": "Outlet / Switch",
      "lighting": "Lighting",
      "electricalPanel": "Electrical panel",
      "wiring": "Wiring",
      "simpleReplacement": "Simple (replacement)",
      "mediumInstallation": "Medium (installation)",
      "complexNewCircuit": "Complex (new circuit)",
      "easilyAccessible": "Easily accessible",
      "atHeight": "At height",
      "behindWallCeiling": "Behind wall/ceiling",
      "urgentShortFault": "Urgent (short/fault)",
      "canBePlanned": "Can be planned",
      "hairCutColor": "Hair (cut/color)",
      "nailsManicurePedicure": "Nails (manicure/pedicure)",
      "makeup": "Makeup",
      "facialTreatments": "Facial treatments",
      "massage": "Massage",
      "hairRemoval": "Hair removal",
      "basic": "Basic",
      "advanced": "Advanced",
      "premiumSpecialEvent": "Premium / Special event",
      "atMyHome": "At my home",
      "atTherapistSalon": "At therapist's salon",
      "upToOneHour": "Up to one hour",
      "oneToTwoHours": "1-2 hours",
      "moreThanTwoHours": "More than two hours",
      "nextWeek": "Next week",
      "bathroomRenovation": "Bathroom renovation",
      "kitchenRenovation": "Kitchen renovation",
      "roomRenovation": "Room renovation",
      "fullApartment": "Full apartment renovation",
      "tilingCovering": "Tiling / Covering",
      "drywallCeilings": "Drywall / Ceilings",
      "smallUpTo10sqm": "Small (up to 10 sqm)",
      "medium10_30sqm": "Medium (10-30 sqm)",
      "largeOver30sqm": "Large (over 30 sqm)",
      "contractorProvides": "Contractor provides",
      "clientProvides": "I provide",
      "partialByAgreement": "Partial (by agreement)",
      "fewDays": "A few days",
      "oneWeek": "One week",
      "fewWeeks": "A few weeks",
      "monthPlus": "A month or more",
      "asSoonAsPossible": "As soon as possible",
      "flexibleSchedule": "Flexible / To be arranged",
      "lawnMowing": "Lawn mowing",
      "treeShrubPruning": "Tree/shrub pruning",
      "plantingGardenSetup": "Planting and garden setup",
      "irrigationSystem": "Irrigation system",
      "cleanupWasteRemoval": "Cleanup and waste removal",
      "gardenDesign": "Garden design",
      "smallUpTo50sqm": "Small (up to 50 sqm)",
      "medium50_200sqm": "Medium (50-200 sqm)",
      "largeOver200sqm": "Large (over 200 sqm)",
      "once": "Once",
      "monthly": "Monthly",
      "biweekly": "Twice a month",
      "weekly": "Weekly",
      "gardenerBringsEquipment": "Gardener brings equipment",
      "clientHasEquipment": "I have equipment",
      "flexible": "Flexible",
      "newACInstall": "New AC installation",
      "acRepair": "AC repair",
      "cleaningMaintenance": "Cleaning and maintenance",
      "gasFill": "Gas fill",
      "acRelocation": "AC relocation",
      "oneUnit": "One unit",
      "twoUnits": "Two units",
      "threePlusUnits": "Three or more",
      "miniCentralSplit": "Mini central (split)",
      "windowAC": "Window AC",
      "centralAC": "Central AC",
      "dontKnowShort": "Don't know",
      "easyLowFloor": "Easy (low floor)",
      "mediumNeedsLadder": "Medium (needs ladder)",
      "difficultHighFloorCrane": "Difficult (high floor/crane)",
      "urgentNoCooling": "Urgent (no cooling)",
      "singleRoom": "Single room",
      "wholeApartment": "Whole apartment",
      "exteriorBalconyFacade": "Exterior (balcony/facade)",
      "ceilingOnly": "Ceiling only",
      "furniture": "Furniture",
      "smallUpTo20sqm": "Small (up to 20 sqm)",
      "medium20_60sqm": "Medium (20-60 sqm)",
      "largeOver60sqm": "Large (over 60 sqm)",
      "readyForPainting": "Ready for painting",
      "minorPrep": "Minor prep needed (small cracks)",
      "majorPrep": "Major prep needed (peeling/plaster)",
      "painterProvides": "Painter provides",
      "apartmentMove": "Apartment move",
      "officeMove": "Office move",
      "singleFurnitureItem": "Single item (furniture)",
      "largeAppliance": "Large appliance",
      "storageTransfer": "Storage transfer",
      "fewUpToOneRoom": "Few (up to one room)",
      "medium2_3Rooms": "Medium (2-3 rooms)",
      "manyFullApartment": "Many (full apartment)",
      "groundToGround": "Ground to ground",
      "hasElevator": "Has elevator",
      "noElevatorCarrying": "No elevator (manual carrying)",
      "noPackingReady": "No packing needed (already packed)",
      "partialPacking": "Partial packing",
      "fullPacking": "Full packing",
      "specificDate": "Specific date",
      "small": "Small",
      "medium": "Medium",
      "large": "Large",
      "now": "Now"
    },
    "subProblems": {
      "leak": "Leak",
      "clog": "Clog",
      "waterHeater": "Water heater",
      "installation": "Installation",
      "outlet": "Outlet",
      "lighting": "Lighting",
      "panel": "Electrical panel",
      "wiring": "Wiring",
      "deepCleaning": "Deep cleaning",
      "regularCleaning": "Regular cleaning",
      "moveInOut": "Move-in/out",
      "postConstruction": "Post-renovation",
      "bathroom": "Bathroom",
      "kitchen": "Kitchen",
      "room": "Room",
      "full": "Full renovation",
      "tiles": "Tiling",
      "drywall": "Drywall",
      "apartment": "Apartment",
      "exterior": "Exterior",
      "ceiling": "Ceiling",
      "furniture": "Furniture",
      "repair": "Repair",
      "maintenance": "Maintenance",
      "gas": "Gas",
      "relocation": "Relocation",
      "lawn": "Lawn",
      "pruning": "Pruning",
      "planting": "Planting",
      "irrigation": "Irrigation",
      "cleanup": "Cleanup",
      "design": "Design",
      "office": "Office",
      "appliance": "Appliance",
      "storage": "Storage",
      "hair": "Hair",
      "nails": "Nails",
      "makeup": "Makeup",
      "skincare": "Skincare",
      "massage": "Massage",
      "waxing": "Hair removal"
    },
    "professionals": {
      "plumber": "Plumber",
      "emergencyPlumber": "Emergency plumber",
      "plumberDesc": "Expert in leak repair, source detection, and professional fixing",
      "emergencyPlumberDesc": "24/7 availability for urgent leak repairs",
      "plumberClogDesc": "Expert in clearing clogs with professional equipment",
      "sewerCleaner": "Sewer cleaner",
      "sewerCleanerDesc": "Expert in severe clogs and sewer line cleaning",
      "waterHeaterTech": "Water heater technician",
      "waterHeaterTechDesc": "Expert in repairing and replacing solar and electric water heaters",
      "plumberInstallDesc": "Expert in installing faucets, sinks, and plumbing equipment",
      "electrician": "Electrician",
      "electricianOutletDesc": "Expert in repairing and replacing outlets and switches",
      "electricianLightingDesc": "Expert in installing and repairing lighting systems",
      "certifiedElectrician": "Certified electrician",
      "certifiedElectricianDesc": "Expert in electrical panels and electrical circuits",
      "electricianWiringDesc": "Expert in wiring and electrical cable repair",
      "professionalCleaner": "Professional cleaner",
      "professionalCleanerDesc": "Expert in deep cleaning with professional equipment and materials",
      "cleaner": "Cleaner",
      "cleanerDesc": "Expert in regular cleaning and routine maintenance",
      "movingCleaner": "Move-in/out cleaner",
      "movingCleanerDesc": "Expert in cleaning before move-in or after move-out",
      "postRenoCleaner": "Post-renovation cleaner",
      "postRenoCleanerDesc": "Expert in removing construction dust, paint, and renovation debris",
      "renovationContractor": "Renovation contractor",
      "renovationBathroomDesc": "Expert in bathroom renovation including plumbing and tiling",
      "renovationKitchenDesc": "Expert in kitchen renovation including cabinets and tiling",
      "renovationRoomDesc": "Expert in room renovation including drywall and painting",
      "renovationFullDesc": "Expert in complete apartment renovation",
      "tiler": "Tiler",
      "tilerDesc": "Expert in floor tiling and wall covering",
      "drywallWorker": "Drywall worker",
      "drywallWorkerDesc": "Expert in drywall work and drop ceilings",
      "painter": "Painter",
      "painterRoomDesc": "Expert in room and interior wall painting",
      "painterApartmentDesc": "Expert in complete apartment painting",
      "exteriorPainter": "Exterior painter",
      "exteriorPainterDesc": "Expert in exterior painting and sealing",
      "painterCeilingDesc": "Expert in ceiling painting",
      "furniturePainter": "Furniture painter",
      "furniturePainterDesc": "Expert in furniture painting and finishing",
      "acTechnician": "AC technician",
      "acInstallDesc": "Expert in new AC installation",
      "acRepairDesc": "Expert in AC repair and troubleshooting",
      "acMaintenanceDesc": "Expert in AC cleaning and maintenance",
      "acGasDesc": "Expert in gas filling and leak repair",
      "acRelocationDesc": "Expert in AC relocation",
      "gardener": "Gardener",
      "gardenerLawnDesc": "Expert in lawn mowing and garden maintenance",
      "gardenerPruningDesc": "Expert in tree and shrub pruning",
      "gardenerPlantingDesc": "Expert in planting and garden design",
      "irrigationExpert": "Irrigation expert",
      "irrigationExpertDesc": "Expert in installing and maintaining irrigation systems",
      "gardenerCleanupDesc": "Expert in garden cleanup and waste removal",
      "gardenDesigner": "Garden designer",
      "gardenDesignerDesc": "Expert in garden planning and design",
      "mover": "Mover",
      "moverApartmentDesc": "Expert in apartment moves and relocations",
      "officeMover": "Office mover",
      "officeMoverDesc": "Expert in office moves and office equipment",
      "moverFurnitureDesc": "Expert in moving furniture and large items",
      "moverApplianceDesc": "Expert in moving large electrical appliances",
      "moverStorageDesc": "Expert in storage transfers and storage",
      "hairDesigner": "Hair designer",
      "hairDesignerDesc": "Expert in haircuts, hair coloring, and styling",
      "manicurist": "Manicurist",
      "manicuristDesc": "Expert in manicure and pedicure",
      "makeupArtist": "Makeup artist",
      "makeupArtistDesc": "Expert in event makeup",
      "cosmetician": "Cosmetician",
      "cosmeticianDesc": "Expert in facial treatments and skincare",
      "masseur": "Masseur",
      "masseurDesc": "Expert in massages and body treatments",
      "hairRemovalTherapist": "Hair removal therapist",
      "hairRemovalTherapistDesc": "Expert in hair removal",
      "genericPlumber": "Expert in all types of plumbing work",
      "genericElectrician": "Expert in all types of electrical work",
      "genericCleaner": "Expert in all types of cleaning",
      "genericContractor": "Expert in all types of renovation",
      "genericPainter": "Expert in all types of painting",
      "genericACTech": "Expert in all types of AC work",
      "genericGardener": "Expert in all types of gardening work",
      "genericMover": "Expert in all types of moving",
      "beautyTherapist": "Beauty therapist",
      "genericBeauty": "Expert in all types of beauty treatments",
      "professional": "Professional",
      "professionalDesc": "Expert in the required field",
      "recommended": "Recommended"
    },
    "severity": {
      "low": "Low",
      "medium": "Medium",
      "high": "Complex"
    },
    "urgency": {
      "urgent": "Urgent",
      "planned": "Planned",
      "withinTwoHours": "Within 2 hours",
      "within24_48Hours": "Within 24-48 hours",
      "within12_24Hours": "Within 12-24 hours"
    },
    "diagnosis": {
      "title": "Comprehensive AI Diagnosis",
      "subtitle": "Full analysis of the problem using artificial intelligence",
      "avgRating": "Average rating:",
      "responseTime": "Response time:",
      "fullWarranty": "Warranty",
      "warrantyFull": "Full",
      "analyzingProblem": "Analyzing the problem...",
      "aiAnalyzingAll": "AI is analyzing all the information you provided - description, photos, and answers - to produce a comprehensive diagnosis",
      "diagnosisError": "Diagnosis error",
      "canContinueToPro": "You can continue to order a professional - they will diagnose on-site.",
      "cannotGenerateDiagnosis": "Cannot generate diagnosis at this time",
      "diagnosisGenerationError": "Error generating diagnosis",
      "limitRemovedRefresh": "AI usage limit has been removed. Try refreshing the page (F5) and trying again.",
      "aiDiagnosisTitle": "AI Diagnosis",
      "basedOnAllInfo": "Based on all the information you provided",
      "possibleCauses": "Possible causes:",
      "aiUrgencyAssessment": "AI urgency assessment:",
      "projectSummary": "Project summary",
      "allCollectedDetails": "All collected details",
      "category": "Category",
      "problemType": "Problem type",
      "files": "Files",
      "urgencyLabel": "Urgency",
      "response": "Response",
      "costEstimate": "Cost estimate",
      "costEstimateAI": "AI Cost Estimate",
      "basedOnAIAnalysis": "Based on AI analysis of the problem",
      "estimatedPriceRange": "Estimated price range",
      "priceRange": "Price range",
      "averagePrice": "Average price:",
      "estimatedWorkTime": "Estimated work time:",
      "priceDisclaimer": "The final price may vary based on on-site findings. The professional will update you before performing additional work.",
      "continueToOrderPro": "Continue to order a professional",
      "noCommitment": "No commitment - Free cancellation up to 24 hours before the visit"
    },
    "header": {
      "stepOf": "Step {{current}} of {{total}}"
    },
    "analyzing": {
      "analyzingRequest": "Analyzing your request...",
      "aiAnalyzingWithMedia": "AI is analyzing the image/video and searching for the best professionals",
      "aiAnalyzingNoMedia": "AI is analyzing your needs and searching for the best professionals",
      "videoImageAnalysis": "Video/image analysis using computer vision",
      "issueIdentification": "Identifying issues and required materials",
      "reportGeneration": "Generating detailed report",
      "priceCalculation": "Calculating guaranteed prices",
      "dataAnalysis": "Data analysis",
      "priceCalc": "Price calculation",
      "proSearch": "Searching professionals"
    },
    "form": {
      "optional": "Optional",
      "aiCustomQuestion": "AI-customized question",
      "multiSelectHint": "You can pick several",
      "otherOption": "Other",
      "otherOptionPlaceholder": "Write your answer...",
      "aiPreparingQuestions": "AI is preparing customized questions...",
      "analyzingForQuestions": "Analyzing the problem you described to create relevant questions",
      "detectedFromPhotos": "Detected from photos",
      "whenDateAndTime": "What date and time?",
      "scheduledFor": "Scheduled for:",
      "callForTendersDuration": "How long for the professional competition?",
      "fifteenMin": "15 min",
      "thirtyMin": "30 min",
      "oneHourDuration": "1 hour",
      "twoHoursDuration": "2 hours",
      "sixHoursDuration": "6 hours",
      "oneDayDuration": "1 day",
      "twoDaysDuration": "2 days",
      "threeDaysDuration": "3 days",
      "oneWeekDuration": "1 week",
      "prosWillCompeteFor": "Professionals will compete for",
      "day": "day",
      "days_2": "2 days",
      "week": "week",
      "daysCount": "{{count}} days",
      "hourSingle": "hour",
      "hoursCount": "hours",
      "minutesCount": "minutes",
      "smartDescriptionSubtitle": "No technical terms needed — just write what's going on.",
      "howItWorks": "How does it work?",
      "describeInYourWords": "Describe the problem in your own words",
      "descriptionPlaceholder": "E.g. describe the problem, the location and how urgent it is in a few sentences...",
      "improvedByAI": "Improved by AI",
      "tipMoreDetail": "More detail = a more accurate quote",
      "addPhotosOrVideo": "Add photos or video",
      "requiredMark": "Required *",
      "uploadAtLeastOnePhoto": "* You must upload at least one photo or video to continue",
      "photosAffectWarranty": "Photos affect your warranty!",
      "photosWarrantyDetail": "The more clear photos of the problem you upload, the more eligible you are for extended warranty on the work. Quality photos allow the expert to better evaluate the job.",
      "noCameraAccess": "No camera access",
      "tryAgain": "Try again",
      "uploadFile": "Upload file",
      "recordVideo": "Record video",
      "withYourCamera": "With your camera",
      "uploadPhotos": "Upload files",
      "canUploadMultiple": "Photos, videos, PDF & Office documents",
      "takePhotoWithCamera": "Take a photo",
      "withYourCameraStill": "With your camera",
      "capturePhotoButton": "Capture",
      "cancelPhotoCapture": "Cancel",
      "recording": "Recording...",
      "stopRecording": "Stop recording",
      "filesUploaded": "{{count}} files uploaded",
      "videoSaved": "Video saved",
      "photoAdded": "Photo added",
      "proCanSeeFiles": "The professional will be able to see the files to evaluate the job",
      "deleteAll": "Delete all",
      "video": "Video",
      "photoNumber": "Photo {{number}}",
      "analyzing": "Analyzing...",
      "addMore": "Add more",
      "aiAnalysisResults": "AI Analysis - Results",
      "imageInfoTitle": "Image info",
      "anonymousAiConsent": "I agree to send this photo to OpenAI for automatic analysis to get a quick diagnosis. Without consent, the photo is forwarded to a human professional only.",
      "mustClickAnswers": "You must click answers to the questions below each image to continue to the next step",
      "file": "File",
      "imageRejected": "Image rejected",
      "imageNotRelevant": "The image is not relevant for analysis",
      "additionalPhotoNeeded": "Additional photo needed",
      "suggestExtraPhotoTitle": "To improve the diagnosis",
      "differentProSuggestion": "Suggestion: A different expert may be more suitable",
      "switchTo": "Switch to {{category}}",
      "continueWith": "Continue with {{category}}",
      "detailedTechAnalysis": "Detailed technical analysis:",
      "urgencyLevelLabel": "Urgency level:",
      "critical": "Critical",
      "severityMedium": "Medium",
      "severityLow": "Low",
      "aiCustomQuestions": "AI custom questions:",
      "preparedQuestions": "Pre-prepared questions:",
      "aiGeneratedQuestionsHelp": "Questions generated by AI to help the professional prepare in the best way",
      "fallbackQuestionsHelp": "Pre-prepared questions - AI service is currently unavailable (check OpenAI key)",
      "clickAnswerRequired": "Click one answer per question - required to continue",
      "aiAnalyzingSmartQuestions": "AI analyzing and preparing smart questions...",
      "summary": "Summary:",
      "issuesDetected": "Issues detected:",
      "objectsDetected": "Objects detected:",
      "recommendations": "Recommendations:",
      "confidenceLevel": "Confidence level:",
      "suggestionProfessionalIntervention": "Professional intervention recommended",
      "size": "Size:",
      "resolution": "Resolution:",
      "duration": "Duration:",
      "seconds": "seconds",
      "toContinue": "To continue:",
      "addDescriptionHint": "Add a description of the problem (at least 3 characters)",
      "uploadAtLeastOnePhotoHint": "Upload at least one photo",
      "answerAiQuestionsHint": "Answer the AI questions below the image",
      "enhancingWithPhoto": "Enhancing description with photo...",
      "descriptionImproved": "Description improved! Click again for further improvement",
      "improveWithAIPhoto": "Improve description with AI based on photo",
      "improveWithAIAddDescPhoto": "Improve description with AI based on photo (add description and upload photo)",
      "improveWithAIAnswerQuestions": "Improve description with AI based on photo (answer questions below image)",
      "enhanceError": "Could not improve description. Please try again.",
      "enhanceErrorPrefix": "Error:",
      "aiServiceUnavailable": "AI service is currently unavailable. Please try again later.",
      "viewOffers": "View offers",
      "tipUploadMore": "Tip: Uploading {{count}} more photos will improve your warranty!",
      "excellentEnoughPhotos": "Excellent! You have enough photos for extended warranty",
      "MB": "MB"
    },
    "errors": {
      "cameraNotAccessible": "Cannot access the camera.",
      "permissionDenied": "Permission denied. Please allow camera access in your browser settings, then try again.",
      "noCameraFound": "No camera found on this device. Please use the file upload option instead.",
      "cameraInUse": "The camera is already in use by another application. Close the other apps and try again.",
      "cameraSettingsIncompatible": "Camera settings are incompatible. Please use the file upload option.",
      "technicalError": "Technical error. Please use the file upload option instead.",
      "loginRequired": "You must log in to submit a request. The request will be linked to your profile.",
      "sessionExpired": "Your session has expired. Please log in again to submit your request.",
      "orderSaveFailed": "Could not save the request. Check the server connection and try again.",
      "serverUnavailable": "Could not create request - server unavailable. Make sure the server is running and try again.",
      "saveFailed": "Failed to save request: {{message}}. Check VITE_API_URL and run the server (npm run server).",
      "requestTimeout": "The request is taking too long. Check the server connection and try again.",
      "aiQuestionsTitle": "Couldn't generate the questions",
      "aiQuestionsFailed": "Something went wrong while generating questions. Please try again.",
      "aiLimitExceeded": "Limit reached. Please try again in a few minutes."
    },
    "media": {
      "takePhoto": "Take a photo",
      "photoHelpsAI": "Helps AI better estimate the work",
      "cameraAccessDenied": "Camera access denied",
      "retry": "Retry",
      "importFile": "Import a file",
      "recordLive": "Record live",
      "withYourCamera": "With your camera",
      "import": "Import",
      "photoOrVideo": "Photo or video",
      "whyVideo": "Why a video?",
      "whyVideoDescription": "A short video (15-30s) allows AI to precisely analyze the problem and professionals to provide an exact quote. No camera? Import an existing photo or video.",
      "recording": "Recording...",
      "stopRecording": "Stop recording",
      "videoRecorded": "Video recorded",
      "photoAdded": "Photo added",
      "proWillSeeFile": "The professional will be able to see this file to better evaluate your needs",
      "previewUnavailableConverted": "Preview not available in this browser. The video will be converted and sent to the professional.",
      "browserNoCamera": "Your browser does not support camera access. Use the import option instead.",
      "browserNoRecording": "Video recording not supported by your browser. Use the import option."
    },
    "accessOption": {
      "standard": "Standard access",
      "difficult": "Difficult access",
      "easy": "Easy access",
      "medium": "Medium access",
      "ground_floor": "Ground floor",
      "elevator": "With elevator",
      "no_elevator": "No elevator",
      "accessible": "Accessible",
      "height": "Elevated",
      "hidden": "Hidden"
    },
    "actions": {
      "retry": "Retry",
      "editDescription": "Edit description"
    }
  },
  "callForTenders": {
    "steps": {
      "analyzingTitle": "Analyzing request...",
      "analyzingSubtitle": "AI is processing your details",
      "scanningTitle": "Scanning service area...",
      "scanningSubtitle": "Finding available professionals nearby",
      "negotiatingTitle": "Negotiating in real time...",
      "negotiatingSubtitle": "Getting the best price on your behalf",
      "finalizingTitle": "Offers are ready!",
      "finalizingSubtitle": "Perfect matches found for you"
    },
    "portfolio": {
      "verified": "Verified",
      "client": "Client",
      "title": "Portfolio",
      "recentWork": "Recent work and clients",
      "clickToEnlarge": "Click to enlarge",
      "imageAlt": "Portfolio - image {{index}}",
      "fullView": "Portfolio - full view",
      "previousImage": "Previous image",
      "nextImage": "Next image"
    },
    "professional": "Professional",
    "emptyOffersYet": "No offers yet. Professionals can submit offers while your request is open — check back shortly.",
    "minutesShort": "{{count}} min",
    "categories": {
      "cleaning": "Cleaning",
      "plumbing": "Plumbing",
      "electrical": "Electrical",
      "beauty": "Beauty",
      "renovation": "Renovation",
      "gardening": "Gardening",
      "ac": "Air Conditioning",
      "painting": "Painting",
      "moving": "Moving"
    },
    "cancelledByClient": "Cancelled by client",
    "requestCancelled": "Request cancelled",
    "cancelError": "Error cancelling request",
    "callForTendersClosed": "Call for tenders closed",
    "timeRemainingHours": "{{hours}}:{{minutes}} hours remaining",
    "timeRemainingMinutes": "{{minutes}}:{{seconds}} remaining",
    "updatingPrice": "Updating price...",
    "checkingAvailability": "Checking availability...",
    "calculatingRoute": "Calculating route...",
    "vehicles": {
      "scooter": "Scooter",
      "car": "Car",
      "van": "Van"
    },
    "priceLevelLow": "$",
    "priceLevelMedium": "$$",
    "priceLevelHigh": "$$$",
    "nearbyOffers": "Nearby offers",
    "availableProfessionals": "{{count}} professionals available now",
    "fastest": "Fastest: {{minutes}} min",
    "cheapest": "Cheapest: {{price}}",
    "editRequest": "Edit request",
    "cancelRequest": "Cancel request",
    "offerRequestSummary": "Offer request summary",
    "allDetailsEntered": "All the details you entered during the request",
    "formSelectionsTitle": "Form responses",
    "topRated": "Top rated",
    "bestValue": "Best value",
    "viewProfile": "View profile",
    "top": "Top",
    "serviceExpertAvailable": "Service expert - Available now",
    "nearYou": "Near you",
    "activeCallForTenders": "Active call for tenders",
    "finalOffer": "Final offer",
    "ordinalOffer": "{{ordinal}} offer",
    "priceRange": "Price range",
    "arrivingWith": "Arriving with {{vehicle}}",
    "offerTabsLabel": "Offers from this pro",
    "providerDetails": "Provider details",
    "orderNow": "Order now",
    "aiAnalysis": "AI analysis and more details",
    "summary": "Summary",
    "recommendations": "Recommendations",
    "mock": {
      "name1": "Yossi Cohen",
      "name2": "Daniel Levy",
      "name3": "Ronit Almog",
      "name4": "Avi Yitzhak",
      "desc1": "Expert in quick plumbing repairs",
      "desc2": "Certified plumber with advanced equipment",
      "desc3": "VIP service and full warranty",
      "desc4": "Infrastructure and sewage work"
    },
    "sourcesEnteredInRequest": "Sources entered in request",
    "source": {
      "serviceCategory": "Service category",
      "problemDescription": "Problem description",
      "urgencyLevel": "Urgency level",
      "address": "Address",
      "competitionDuration": "Competition duration",
      "subTopic": "Sub-topic",
      "addressDetails": "Address details",
      "media": "Media",
      "complexity": "Complexity",
      "accessibility": "Accessibility",
      "scheduledDateTime": "Scheduled date and time",
      "requestNumber": "Request number",
      "orderNumber": "Order number",
      "competitionEndTime": "Competition end time"
    },
    "competitionEndsAt": "Competition ends on {{date}} at {{time}}",
    "urgencyNow": "Now",
    "urgencyCanWait": "Can wait",
    "complexity": {
      "standard": "Standard",
      "complex": "Complex",
      "critical": "Urgent/Critical"
    },
    "accessibility": {
      "standard": "Standard access",
      "difficult": "Difficult access"
    },
    "duration": {
      "oneDay": "1 day",
      "twoDays": "2 days",
      "oneWeek": "1 week",
      "days": "{{count}} days",
      "oneHour": "1 hour",
      "hours": "{{count}} hours"
    },
    "media": {
      "video": "Video",
      "photos": "{{count}} photos",
      "photosAndVideosEntered": "Photos and videos entered",
      "allMediaAttached": "All photos and videos you attached to the request",
      "photoIndex": "Photo {{index}}",
      "photoEnlarge": "Photo {{index}} - click to enlarge",
      "videoAttached": "Video attached to request",
      "noMediaAttached": "No photos or videos were attached to the request",
      "imageView": "Image view"
    },
    "professionalCompetition": "Competition between professionals",
    "professionalsWillCompete": "Professionals will compete for {{duration}}",
    "aiDiagnosisAndSolutions": "AI Diagnosis and self-solutions",
    "optional": "Optional",
    "comprehensiveAiDiagnosis": "Comprehensive AI diagnosis",
    "fullAiAnalysisDesc": "Full analysis of the problem using artificial intelligence",
    "averageRating": "Average rating",
    "responseTime": "Response time",
    "withinTwoHours": "Within 2 hours",
    "within24to48Hours": "Within 24-48 hours",
    "warranty": "Warranty",
    "full": "Full",
    "aiDiagnosis": "AI Diagnosis",
    "basedOnAllInfo": "Based on all the information you provided",
    "possibleCauses": "Possible causes",
    "aiUrgencyAssessment": "AI urgency assessment",
    "urgentSituationDesc": "The situation is very urgent and may require immediate attention to prevent further damage.",
    "nonUrgentSituationDesc": "Treatment can be coordinated within 24-48 hours based on availability.",
    "selectionMode": {
      "title": "How would you like to proceed?",
      "callForTendersTitle": "Launch call for tenders",
      "callForTendersDesc": "Local professionals receive your request and submit competitive offers",
      "selectProTitle": "Choose a professional",
      "selectProDesc": "Browse available professionals on the map and contact one directly"
    },
    "windowClosedTitle": "Offer window closed",
    "windowClosedSubtitle": "No offer accepted. Extend the search to receive more offers.",
    "renewalsRemaining": "{{remaining}}/{{cap}} renewals remaining",
    "renewalsResetIn": "More extensions available in {{hours}}h {{minutes}}m",
    "renewRequest": "Extend the search",
    "renewError": "Unable to extend the search",
    "renewSuccess": "Search extended"
  },
  "offers": {
    "viewOffer": "View the offer",
    "milestonesTitle": "Proposed steps"
  },
  "offerChat": {
    "title": "Chat about this offer",
    "open": "Chat",
    "closed": "This offer is no longer pending — chat is closed.",
    "empty": "No messages yet — say hi!",
    "placeholder": "Type a message…",
    "loadError": "Could not load messages.",
    "sendError": "Could not send message. Try again.",
    "unreadCount": "{{count}} unread"
  },
  "offerProposal": {
    "attemptCounter": "Attempt {{count}}/3",
    "attemptLimitReached": "Offer limit reached (3/3)",
    "editOfferTitle": "Edit offer price",
    "submitOfferTitle": "Submit offer price",
    "urgencyImmediate": "Urgent",
    "aiAnalysis": "AI Analysis",
    "issuesDetected": "issues detected",
    "materials": "materials",
    "accuracy": "accuracy",
    "photos": "Photos",
    "photo": "Photo",
    "projectSummary": "Project summary",
    "marketSnapshot": "Market snapshot",
    "youAreFirst": "You're first!",
    "noCompetitorsYet": "No competitors yet",
    "yourPrice": "Your price",
    "messageToClient": "Message to client (optional)",
    "messagePlaceholder": "E.g.: Price includes parts...",
    "min": "Min",
    "avg": "Avg",
    "sendOffer": "Send offer",
    "slotLabel": "Proposed slot (2h)",
    "chooseSlot": "Choose a slot",
    "slotRequired": "Choose an appointment slot.",
    "minPriceError": "The minimum offer amount is {{amount}}.",
    "updatingOffer": "Updating offer",
    "agreeToTerms": "By submitting you agree to the terms of use",
    "toastOfferSent": "Offer sent successfully!",
    "toastOfferUpdated": "Offer updated successfully!",
    "seeMore": "See more",
    "seeLess": "See less",
    "showExtraDetails": "More details",
    "hideExtraDetails": "Hide details",
    "showRequest": "View request",
    "hideRequest": "Hide request",
    "otherProOffers": "Other pros' offers",
    "competitorAnonymous": "Pro #{{n}}",
    "offersInRange": "{{count}} offer(s) between ${{min}} and ${{max}}",
    "avgShort": "Avg",
    "yourOfferMarker": "Your offer",
    "pricePosition": {
      "lowest": "Among the lowest on this job",
      "average": "Close to market average",
      "above": "Above market average"
    },
    "estimatedArrival": "Estimated arrival",
    "milestones": {
      "diagnosticLocked": "On-site diagnostic (locked)",
      "verificationLocked": "Functionality verification (14 days)",
      "addStep": "Add step",
      "removeStep": "Remove step",
      "stepTitlePlaceholder": "Step name",
      "stepDescPlaceholder": "Details (optional)",
      "stepPrice": "Price",
      "stepDuration": "Duration",
      "stepDurationUnit": "Duration unit",
      "aiGenerate": "Suggest steps (AI)",
      "aiGenerating": "Generating…",
      "aiError": "Could not generate steps. Please try again.",
      "sumOk": "Steps match the remaining amount",
      "sumOff": "Steps do not add up to the remaining amount",
      "optionalHint": "Steps are optional — leave empty to bill the whole job in one go.",
      "milestonesTitle": "Break into steps (optional)",
      "milestonesTitleRequired": "Break into steps (required)",
      "requiredBadge": "Required",
      "requiredHint": "Add at least one step to send your offer.",
      "requiredError": "Add at least one step before sending your offer.",
      "planTotal": "Offer total"
    }
  },
  "duration": {
    "unitLabel": {
      "minutes": "min",
      "hours": "h",
      "days": "days",
      "weeks": "weeks"
    }
  },
  "chat": {
    "orderSeparator": "Order #{{number}}",
    "goBack": "Go back",
    "imageOf": "Photo of {{name}}",
    "connectedNow": "Online now",
    "callTo": "Call {{name}}",
    "moreOptions": "More options",
    "today": "Today",
    "typeMessage": "Type a message...",
    "sendMessage": "Send message",
    "responses": {
      "received": "Got it, thanks!",
      "onIt": "Sure, handling it right away.",
      "allGood": "All good!",
      "onMyWay": "I'm on my way.",
      "heardUpdate": "Heard, thanks for the update."
    },
    "onHoldBanner": "Request on hold — chat remains active",
    "attachFile": "Attach file",
    "removeAttachment": "Remove {{name}}",
    "attachmentUploadFailed": "Couldn't upload {{name}}"
  },
  "proDashboard": {
    "callNoPhone": "No phone number on file for this client — opening the chat instead.",
    "callNoPhoneAria": "No phone number for this client — use Message",
    "callNumberCopied": "Number copied: {{phone}}",
    "callNumber": "Client number: {{phone}}",
    "professional": "Professional",
    "client": "Client",
    "myRequest": "My request",
    "general": "General",
    "home": "Home",
    "diary": "Diary",
    "more": "More",
    "myMissions": "My missions",
    "myOffers": "My Offers",
    "history": "History",
    "missions": "missions",
    "activeMissionsCountAriaSuffix": "active",
    "unreadCountAriaSuffix": "unread",
    "noActiveMissions": "No active missions",
    "missionsSubtitle": "Track and manage your active missions",
    "newJobWillAppear": "New jobs will appear here when accepted",
    "goToNewRequests": "Go to new requests",
    "ordersLoadError": "Could not refresh orders. If this keeps happening, wait a minute and try again.",
    "fixedPrice": "Fixed price",
    "confirmed": "Confirmed",
    "waitingToStart": "Waiting to start",
    "missionDate": "Mission date",
    "atTime": "at",
    "changeDate": "Change date",
    "distance": "Distance",
    "arrivalTime": "Arrival time",
    "workDuration": "Work duration",
    "aiAccuracy": "AI accuracy",
    "navigateWaze": "Waze",
    "aiAnalysis": "AI Analysis",
    "issuesDetected": "issues detected",
    "materialsNeeded": "materials needed",
    "photosFromClient": "Photos from client",
    "hideDetails": "Hide details",
    "showDetails": "Show details",
    "materialsEstimate": "Materials estimate",
    "detectedIssues": "Detected issues",
    "call": "Call",
    "message": "Message",
    "viewOrder": "View order",
    "startMission": "Start mission",
    "continueWork": "Continue work",
    "activeMissions": "Active missions",
    "callClient": "Call client",
    "sendMessage": "Send message",
    "cancelMission": "Cancel mission",
    "estimatedPrice": "Estimated price",
    "offerAccepted": "Offer accepted! Price: ${{price}}",
    "offerRejected": "Your offer was rejected",
    "cancelledByPro": "Cancelled by professional",
    "jobCancelled": "Job cancelled successfully",
    "cancelError": "Failed to cancel job",
    "offerSent": "Offer sent successfully!",
    "offerError": "Failed to send offer",
    "statusUpdated": "Status updated",
    "statusError": "Failed to update status",
    "statusError403": "You're not signed in as this job's pro. Switch to your pro account and try again.",
    "statusError401": "Your session expired. Please sign in again.",
    "statusError404": "This job no longer exists. Refresh the page.",
    "statusErrorConflict": "This job already changed status. Refresh the page.",
    "taskTitleRequired": "Task title is required",
    "taskAdded": "Task added successfully!",
    "backToHome": "Back to home",
    "createQuote": "Create quote",
    "gpsActive": "GPS active",
    "gpsError": "GPS error",
    "gpsRetry": "Retry",
    "gpsSearching": "GPS searching...",
    "gpsImprecise": "Imprecise GPS",
    "gpsSignalLost": "Signal lost",
    "setHomeTooltip": "Set current location as home base",
    "homeLocationSet": "Home location saved",
    "setHomeFailed": "Failed to save home location",
    "editLocation": "Edit location",
    "setLocation": "Set location",
    "editLocationTitle": "Update your location",
    "searchAddress": "Search for an address...",
    "orLabel": "or",
    "useMyGps": "Use my current GPS",
    "currentLocation": "Current",
    "availableForWork": "Available for work",
    "unavailable": "Unavailable",
    "visibleOnMap": "Visible on map",
    "hiddenFromMap": "Hidden from map",
    "cancelModal": {
      "title": "Cancel mission",
      "confirmMessage": "Are you sure you want to cancel the mission for {{client}}?",
      "irreversible": "This action is irreversible.",
      "reasonLabel": "Cancellation reason (optional)",
      "reasonPlaceholder": "Describe the cancellation reason...",
      "confirmButton": "Yes, cancel mission",
      "refundNote": "The client is refunded for steps not yet validated — credited to their Beedy balance, which they can reuse or send back to their card. Steps already validated stay yours."
    },
    "changeDateModal": {
      "title": "Request date change",
      "newDate": "New date",
      "newTime": "New time",
      "selectDateAndTime": "Please select a date and time",
      "requestSent": "Date change request sent to client",
      "requestSentDesc": "New date: {{date}} at {{time}}",
      "sendRequest": "Send request"
    },
    "taskModal": {
      "title": "Add new task",
      "subtitle": "Create a task to track your work",
      "titleLabel": "Title",
      "titlePlaceholder": "e.g. Fix front door",
      "descriptionLabel": "Description (optional)",
      "descriptionPlaceholder": "More details about the task...",
      "dueDateLabel": "Due date (optional)",
      "priorityLabel": "Priority",
      "priorityLow": "Low",
      "priorityMedium": "Medium",
      "priorityHigh": "High",
      "saveTask": "Save task"
    },
    "clients": "Clients",
    "clientFiche": {
      "title": "Client file",
      "proposeQuote": "Message / quote",
      "scheduleAppointment": "Schedule",
      "back": "Back",
      "notFound": "Client not found",
      "favorite": "Favorite",
      "call": "Call",
      "email": "Email",
      "message": "Message",
      "kpiOrders": "Orders",
      "kpiSpent": "Total spent",
      "kpiLastOrder": "Last order",
      "kpiClientSince": "Client since",
      "tabOverview": "Overview",
      "tabOrders": "Orders",
      "tabReviews": "Reviews",
      "contactTitle": "Contact",
      "editContact": "Edit contact",
      "save": "Save",
      "cancel": "Cancel",
      "contactSaved": "Contact updated",
      "locationTitle": "Location",
      "phone": "Phone",
      "address": "Address",
      "notesTitle": "Private notes",
      "notesLabel": "Notes about this client",
      "notesPlaceholder": "Add a private note about this client…",
      "notesSave": "Save",
      "notesSaved": "Notes saved",
      "tagAddPlaceholder": "Add a tag…",
      "tagRemove": "Remove tag",
      "noOrders": "No orders yet",
      "noReviews": "No reviews yet",
      "yourReview": "Your review",
      "clientReview": "Client's review",
      "activityInProgress": "In progress",
      "activityNextAppointment": "Next appointment",
      "statCompletionRate": "Completion rate",
      "statAvgRating": "Avg rating",
      "statAvgOrderValue": "Avg order value",
      "orderStatus": {
        "completed": "Completed",
        "cancelled": "Cancelled",
        "in_progress": "In progress",
        "payment_pending": "Payment pending"
      }
    },
    "clientsTab": {
      "title": "My Clients",
      "subtitle": "Manage your client relationships",
      "searchPlaceholder": "Search a client...",
      "addClient": "Insert client file",
      "addManual": "Add manually",
      "importFile": "Import file",
      "export": "Export",
      "exportCsv": "Export CSV",
      "exportExcel": "Export Excel",
      "sortBy": "Sort by",
      "statusAll": "All",
      "statusNew": "New",
      "statusRegular": "Regular",
      "statusVip": "VIP",
      "statusInactive": "Inactive",
      "sourceOrder": "Order",
      "sourceManual": "Manual",
      "sourceImported": "Imported File",
      "columnName": "Name",
      "columnPhone": "Number phone",
      "columnEmail": "Mail",
      "columnAddress": "Address",
      "columnOrders": "Orders",
      "columnLastOrder": "Last order",
      "columnSource": "Source",
      "columnStatus": "Status",
      "columnFavorite": "Note",
      "selectAll": "Select All",
      "showing": "Showing",
      "of": "of",
      "order": "order",
      "previous": "Previous",
      "next": "Next",
      "noClients": "No clients yet",
      "noClientsDesc": "Clients from your orders will appear here automatically",
      "addModalTitle": "Add New Client",
      "addModalName": "Full name",
      "addModalPhone": "Phone number",
      "addModalEmail": "Email",
      "addModalAddress": "Address",
      "addModalSave": "Save",
      "addModalCancel": "Cancel",
      "importModalTitle": "Import Clients",
      "importModalDesc": "Upload a CSV or Excel file with client data",
      "importModalDrop": "Drop your file here or click to browse",
      "importModalFormats": "Accepted formats: .csv, .xlsx",
      "importModalPreview": "Preview",
      "importModalConfirm": "Import",
      "importModalCancel": "Cancel",
      "importSuccess": "Successfully imported {{count}} clients",
      "importSkipped": "{{count}} clients skipped",
      "addSuccess": "Client added successfully",
      "favoriteToggled": "Favorite updated",
      "exportSuccess": "Export downloaded",
      "sortByName": "Name",
      "sortByLastOrder": "Last Order",
      "sortByTotalOrders": "Total Orders",
      "sortByDateAdded": "Date Added",
      "toggleFavorite": "Toggle favourite"
    },
    "aiWorkDescription": "Work to perform",
    "accessDifficulty": "Difficult access",
    "taskSaveError": "Could not save task",
    "taskUpdateError": "Could not update task",
    "taskDeleteError": "Could not delete task",
    "closeMiniMapAriaLabel": "Close map",
    "sidebarGroups": {
      "home": "Home",
      "business": "Business",
      "clients": "Clients",
      "setup": "Setup",
      "work": "Work"
    },
    "mobileNavAriaLabel": "Primary",
    "notificationsAriaLabel": "Notifications",
    "primaryNavAriaLabel": "Pro navigation",
    "cancelDecision": {
      "title": "Reschedule instead of cancelling?",
      "subtitle": "You can propose a new time to {{client}} instead of cancelling.",
      "proposeButton": "Propose another time",
      "cancelButton": "Cancel anyway"
    },
    "damageClaimReported": "Damage reported",
    "damageRepairOn": "Repair on {{date}}",
    "damageAwaitingClient": "Waiting for the client",
    "damageOpenOrder": "Handle the damage"
  },
  "landing": {
    "searchPlaceholder": "Search for a service... (plumber, electrician)",
    "currentLocation": "Your current location",
    "ctaStart": "Start",
    "poweredBy": "Home Services, On Demand",
    "heroLine1": "Your Beedy pro arrives in",
    "heroLine2": "10 minutes.",
    "heroLine3": "You choose the best.",
    "heroSubtitle": "Live call for tenders between verified local pros.",
    "heroDescription": "You only pay when the job is done.",
    "findProNow": "Find a pro now",
    "joinAsPro": "Join as a pro",
    "noSubscription": "No subscription fees",
    "fullWarranty": "Secure payment",
    "instantResponse": "Instant response",
    "enterValidAddress": "Please enter a valid address",
    "findProFor": "Order",
    "selectServiceToContinue": "Select a service to continue",
    "enterAddressAndService": "Please enter an address and select a service",
    "enterFullAddress": "Please enter a full address from the autocomplete list",
    "selectServiceRequired": "Please select a service to continue",
    "howTenderWorks": "How does the call for tenders work?",
    "smartTenderProcess": "Smart call for tenders process",
    "tenderSteps": {
      "request": "Request",
      "analysis": "Analysis",
      "offers": "Offers",
      "execution": "Execution"
    },
    "tenderAiDescription": "scans hundreds of professionals in your area in real time, and automatically negotiates on your behalf to get the best price.",
    "warranty14Days": "14-day warranty",
    "homeService": "Home service",
    "popularServices": "Popular services",
    "discoverCategories": "Discover our categories",
    "certifiedPros": "Certified professionals for all your home needs",
    "categories": {
      "cleaning": {
        "name": "Cleaning",
        "description": "Professional cleaning services for home and business"
      },
      "plumbing": {
        "name": "Plumbing",
        "description": "Leak repairs, installations, and upgrades"
      },
      "electrical": {
        "name": "Electrical",
        "description": "Certified electricians for all types of work"
      },
      "beauty": {
        "name": "Beauty",
        "description": "Manicure, pedicure, makeup, and hair styling"
      },
      "renovation": {
        "name": "Renovation",
        "description": "Apartment, house, and office renovations"
      },
      "gardening": {
        "name": "Gardening",
        "description": "Garden care, pruning, and landscaping"
      },
      "ac": {
        "name": "Air Conditioning",
        "description": "Installation, repair, and maintenance"
      },
      "painting": {
        "name": "Painting",
        "description": "Interior and exterior painting, sealing, and finishing"
      },
      "moving": {
        "name": "Moving",
        "description": "Reliable apartment and office moving"
      },
      "petGrooming": {
        "name": "Pet Grooming",
        "description": "Bathing, haircuts, and full grooming"
      },
      "carWash": {
        "name": "Car Wash",
        "description": "Exterior, interior wash, and polishing"
      },
      "locksmith": {
        "name": "Locksmith",
        "description": "Door unlocking and lock replacement"
      }
    },
    "badges": {
      "popular": "Popular",
      "inDemand": "In demand"
    },
    "orderService": "Order service",
    "viewAllCategories": "View all categories",
    "featuredServiceCity": {
      "title": "Popular services in your city",
      "subtitle": "Compare verified pros near you, city by city.",
      "viewMap": "Explore the map"
    },
    "bestPrice": {
      "title": "How to get the best price",
      "subtitle": "Our system turns the tables: instead of chasing professionals, they compete for you.",
      "subtitleLine2": "This is how we guarantee a fair price and excellent service.",
      "step1": {
        "title": "AI fault detection",
        "desc": "Not sure what the problem is? Take a photo or short video. Our AI will analyze the situation in real time, identify the source of the fault, and estimate the expected repair cost before you even book.",
        "benefit": "Instant accurate diagnosis"
      },
      "step2": {
        "title": "Real-time call for tenders",
        "desc": "Your request is instantly sent to recommended professionals in your area. They see the budget cap and submit attractive quotes within minutes to win the job.",
        "benefit": "Responses within 60 seconds"
      },
      "step3": {
        "title": "Choose with peace of mind",
        "desc": "Compare offers not just by price, but also by the professional's rating, estimated arrival time, and photos from previous work. Choose the best and get started.",
        "benefit": "Full control is yours"
      }
    },
    "tryTenderFree": "Try the call for tenders now - free",
    "noCommitment": "No commitment - No subscription fees",
    "features": {
      "title": "Why choose Beedy?",
      "subtitle": "We're changing the way you take care of your home. Smarter, faster, safer.",
      "aiTech": {
        "title": "AI technology for fair pricing",
        "description": "Our algorithm analyzes thousands of similar jobs and sets a fair and accurate price upfront. No surprises, no 'we'll price it at the end'. You know exactly what you'll pay."
      },
      "verifiedPros": {
        "title": "Verified professionals",
        "description": "Every professional undergoes rigorous screening, background checks, and credential verification. Only 5% of applicants are accepted."
      },
      "availability": {
        "title": "Instant availability",
        "description": "Stuck with a burst pipe? Our system will find the nearest available professional right now. Average arrival time: 45 minutes."
      },
      "warrantyCard": {
        "title": "Full warranty on every job",
        "description": "We're so confident in our professionals that we guarantee every job. Something not right? We'll make sure it gets fixed.",
        "readMore": "Read more about the warranty"
      }
    },
    "warranty": {
      "badge": "Warranty & service",
      "title": "Your peace of mind,",
      "titleHighlight": "guaranteed.",
      "subtitle": "We're here for you even after the job is done. Choose the level of peace of mind that suits you.",
      "standard": {
        "title": "Standard coverage",
        "description": "Every order on the app is automatically protected for 14 days. If the work wasn't done properly, we arrange a re-fix or a full refund.",
        "feature1": "14-day warranty",
        "feature2": "Basic support",
        "feature3": "Money protection",
        "includedFree": "Included for free"
      },
      "premium": {
        "title": "Insurance Plus",
        "description": "Upgrade your peace of mind to the maximum with our premium package.",
        "feature1": "Extended 30-day warranty",
        "feature2": "Top priority support (VIP)",
        "feature3": "Comprehensive coverage for every scenario",
        "feature4": "Free expert follow-up visit",
        "addToOrder": "Add to order"
      }
    },
    "proSection": {
      "badge": "Professional zone",
      "title": "Your business,",
      "titleHighlight": "next level.",
      "description": "Join our elite team of professionals. Get quality leads directly to your phone, manage your schedule smartly, and grow your income - no subscription fees and no commitment.",
      "joinAsProvider": "Join as a service provider",
      "howItWorks": "How does it work?",
      "stats": {
        "clientsCount": "20k+",
        "clientsLabel": "Clients per month",
        "transactionsValue": "$150m",
        "transactionsLabel": "Transaction value"
      },
      "mockup": {
        "name": "Daniel Cohen",
        "rating": "4.9 (128 ratings)",
        "available": "Available for work",
        "jobTitle": "Sink leak repair",
        "jobLocation": "Downtown Miami - 1.2 km",
        "submitOffer": "Submit offer",
        "monthlyIncome": "Monthly income",
        "avgRating": "Average rating"
      }
    },
    "cta": {
      "title": "Ready to get started?",
      "subtitle": "Find the perfect professional in just a few clicks",
      "button": "Start now"
    },
    "footer": {
      "tagline": "AI-powered home services platform",
      "taglineDesktop": "AI-powered home services platform. Guaranteed prices, verified professionals.",
      "socialLinks": "Social networks",
      "navLabel": "Footer navigation",
      "services": "Services",
      "plumbing": "Plumbing",
      "electrical": "Electrical",
      "cleaning": "Cleaning",
      "beauty": "Beauty",
      "renovation": "Renovation",
      "gardening": "Gardening",
      "ac": "Air Conditioning",
      "painting": "Painting",
      "moving": "Moving",
      "company": "Company",
      "about": "About",
      "becomePartner": "Become a partner",
      "discoverBeedy": "Discover Beedy",
      "helpLink": "Help",
      "policy": "Policy",
      "contact": "Contact us",
      "support": "Support",
      "helpCenter": "Help center",
      "termsOfUse": "Terms of use",
      "privacy": "Privacy",
      "allRightsReserved": "All rights reserved.",
      "terms": "Terms",
      "accessibility": "Accessibility",
      "accessibilityStatement": "Accessibility statement",
      "cookies": "Cookies",
      "privacyChoices": "Your Privacy Choices",
      "admin": "Admin",
      "allCategories": "All categories",
      "mapView": "Professionals map",
      "registerBusiness": "Register your business",
      "proDiscover": "For pros",
      "proSetup": "Pro setup",
      "proOptimization": "Pro optimization",
      "proCommunication": "Customer communication",
      "proOperations": "Customer operations",
      "ipNotice": "IP & Copyright",
      "copyrightBeedyMarket": "Beedy, LLC",
      "blog": "Blog"
    },
    "addressLabels": {
      "home": "Home",
      "work": "Work",
      "parents": "Parents"
    },
    "quickAddressKeys": {
      "home": "Home",
      "work": "Work",
      "parents": "Parents"
    },
    "addressDefaults": {
      "homeAddress": "100 Biscayne Blvd, Miami",
      "homeCity": "Miami",
      "workAddress": "120 Brickell Ave, Miami",
      "workCity": "Miami",
      "parentsAddress": "50 Ocean Dr, Miami Beach",
      "parentsCity": "Miami Beach"
    },
    "new": "NEW",
    "tagline": "Pros compete on prices."
  },
  "proOffers": {
    "sectionTitle": "Offers",
    "title": "My Offers",
    "subtitle": "Manage your proposed services",
    "newOffer": "New Offer",
    "aiShort": "AI",
    "titleAndDescriptionRequired": "Title and description are required",
    "aiGenerate": "AI Generate",
    "editOffer": "Edit Offer",
    "deleteOffer": "Delete Offer",
    "deleteConfirm": "Are you sure you want to delete this offer?",
    "offerTitle": "Title",
    "offerDescription": "Description",
    "offerCategory": "Category",
    "offerPrice": "Price",
    "offerDuration": "Estimated Duration",
    "durationOptional": "Not specified",
    "offerImages": "Images",
    "addImages": "Add images",
    "aiImageGenerate": "Generate AI photo",
    "aiImageGenerating": "Generating...",
    "aiImageGenerated": "AI photo generated successfully",
    "aiImageError": "Failed to generate image",
    "titleRequired": "Title is required to generate an AI image",
    "maxImagesReached": "Maximum {{max}} images per offer",
    "imageTooLarge": "Image too large (max 5 MB)",
    "invalidImageFormat": "Invalid format. Accepted: JPEG, PNG, GIF, WebP",
    "priceFrom": "From ",
    "priceFixed": "Fixed price",
    "priceQuote": "On quote",
    "noOffers": "No offers yet",
    "noOffersDesc": "Add your services so clients can find you",
    "save": "Save",
    "cancel": "Cancel",
    "showMore": "Show more",
    "showLess": "Show less",
    "active": "Active",
    "inactive": "Inactive",
    "allCategories": "All",
    "describe": {
      "title": "Describe what you do",
      "subtitle": "We'll use this to suggest offers. Edit it freely.",
      "placeholder": "e.g. I'm a plumber specialized in leak repair and bathroom renovations…",
      "drafting": "Writing a draft…",
      "regenerate": "Regenerate with AI",
      "generateOffers": "Generate proposals",
      "generating": "Generating proposals…",
      "draftFailed": "Couldn't write a draft — you can write your own.",
      "saveFailed": "Couldn't save the description to your profile."
    },
    "ai": {
      "panelTitle": "AI — {{title}}",
      "compareOriginal": "Original",
      "compareEnhanced": "Enhanced",
      "enhance": "Enhance with AI",
      "suggest": "Improvement suggestions",
      "generate": "Generate new offers",
      "enhancing": "Enhancing...",
      "suggesting": "Generating suggestions...",
      "generating": "Generating new offers...",
      "enhanced": "Description enhanced successfully",
      "accept": "Accept",
      "reject": "Reject",
      "acceptAll": "Accept All",
      "preview": "Preview",
      "apply": "Apply changes",
      "revert": "Revert to original",
      "addSelected": "Add selected",
      "enhancementFailed": "Enhancement failed",
      "failedToApply": "Failed to apply",
      "failedToLoadSuggestions": "Failed to load suggestions",
      "failedToApplySuggestion": "Failed to apply suggestion",
      "generationFailed": "Generation failed",
      "failedToAddOffers": "Failed to add offers"
    },
    "failedToLoadOffers": "Failed to load offers",
    "deleteFailed": "Delete failed",
    "aiGenerationFailed": "AI generation failed",
    "failedToAddOffer": "Failed to add offer",
    "errorSavingOffer": "Error saving offer"
  },
  "proConnect": {
    "title": "Connect Stripe",
    "description": "Stripe Connect lets you receive payments directly to your bank account. Pick your country to start identity verification.",
    "countryLabel": "Country",
    "startButton": "Start",
    "startError": "Could not start Stripe verification",
    "statusError": "Could not load Stripe status",
    "refreshError": "Could not generate a new Stripe link",
    "errors": {
      "unavailable": "Stripe is temporarily unavailable. Please try again in a moment; if the problem persists, contact support.",
      "notConfigured": "Payments aren't enabled on the platform yet. Please contact support.",
      "countryInvalid": "Invalid country. Pick a country from the list and try again."
    },
    "returnPendingTitle": "Verification in progress",
    "returnPendingDescription": "Stripe is reviewing your information. You will be paid out as soon as verification completes.",
    "returnRestrictedTitle": "Information missing",
    "returnRestrictedDescription": "Stripe is requesting more information to activate your account.",
    "returnEnabledTitle": "Account activated",
    "returnEnabledDescription": "Your Stripe account is ready to receive payments.",
    "returnNotConnectedTitle": "Onboarding not complete",
    "returnNotConnectedDescription": "You haven't finished onboarding. Resume it to activate your account.",
    "refreshButton": "Resume verification",
    "backToDashboard": "Back to dashboard",
    "requirements": "Required information",
    "country": {
      "IL": "Israel",
      "US": "United States",
      "FR": "France",
      "GB": "United Kingdom",
      "CA": "Canada"
    }
  },
  "proOverview": {
    "pendingActivation": "Pending Stripe activation",
    "activateStripeCta": "Activate Stripe to receive it",
    "greeting": "Hello!",
    "greetingWithName": "Hello, {{name}}!",
    "businessSummary": "Here is a summary of your business activity",
    "availableBalance": "Available balance",
    "stripeBalance": "Stripe balance",
    "walletBalance": "Wallet balance (legacy)",
    "connectStripeCta": "Connect Stripe to receive your payments",
    "manageOnStripe": "Manage my Stripe account",
    "grossIncome": "Collected income (total)",
    "deductibleExpenses": "Deductible expenses",
    "noData": "No data",
    "estimatedVat": "VAT (estimate)",
    "monthlyIncome": "Monthly income",
    "completedJobs": "Completed jobs",
    "averageRating": "Rating",
    "averageRatingLabel": "Average rating",
    "uniqueClients": "Unique clients",
    "thisMonth": "This month",
    "alerts": "Alerts",
    "recentUpdates": "Recent updates",
    "noNewAlerts": "No new alerts",
    "viewAll": "View all",
    "chatMessages": "Messages",
    "chatWithClients": "Chat with clients",
    "noConversationsYet": "No conversations yet",
    "openLiveChat": "Open live chat",
    "notes": "Notes",
    "tasksAndReminders": "Tasks and reminders",
    "addNote": "Add note",
    "newOpportunities": "New opportunities",
    "mySchedule": "My schedule",
    "newOrders": "New orders",
    "startRide": "Start ride",
    "navigateWaze": "Navigate with Waze",
    "arrived": "I arrived",
    "startWork": "Start work",
    "continueWork": "Continue work",
    "workInProgress": "Work in progress...",
    "finishWork": "Finish work",
    "workCompletedSuccess": "Work completed successfully!",
    "statusAccepted": "Accepted",
    "statusEnRoute": "On the way",
    "statusArrived": "Arrived",
    "statusInProgress": "In progress",
    "statusCompleted": "Completed",
    "pending": "Pending",
    "closedSales": "Closed sales",
    "sold": "Sold",
    "km": "km",
    "yourOffer": "Your offer",
    "soldAt": "Sold at",
    "suggestedPrice": "Suggested price",
    "new": "New",
    "urgent": "Urgent",
    "clientProblem": "Client's problem",
    "clientRequestsService": "The client requests professional service",
    "issuesDetectedCount": "{{count}} issues detected",
    "materialsRequiredCount": "{{count}} materials required",
    "distance": "Distance",
    "travelTime": "Travel time",
    "min": "min",
    "workDuration": "Work duration",
    "hours": "hours",
    "aiAccuracy": "AI accuracy",
    "requestedDate": "Requested date",
    "atTime": "at",
    "requestChange": "Request change",
    "aiAnalysisAvailable": "AI analysis available",
    "issuesDetected": "Issues detected",
    "materialsAndTools": "Materials and tools required",
    "recommendations": "Recommendations",
    "problemPhotos": "Problem photos",
    "openInMaps": "Open in Maps",
    "serviceLocation": "Job location",
    "mapUnavailableHint": "Map unavailable without exact coordinates — see address above.",
    "yourOfferLabel": "Your offer: {{symbol}}{{price}}",
    "updated": "Updated",
    "canChangeOffer": "You can change your offer until the client decides",
    "leadingOffer": "Leading offer",
    "lowestPrice": "Lowest price",
    "ratedPro": "Pro rated 5.0",
    "competingPros": "{{count}} competing professionals",
    "average": "Average",
    "additionalOffersSubmitted": "{{count}} additional offers submitted",
    "priceRange": "Price range: {{symbol}}{{min}} - {{symbol}}{{max}}",
    "changeOffer": "Change offer",
    "submitOffer": "Submit offer",
    "pendingDemands": "Pending demands",
    "noPendingDemands": "No pending demands",
    "noScheduledTasks": "No scheduled tasks",
    "noScheduledTasksDesc": "When you get new jobs, they will appear here.",
    "goToOpportunities": "Go to new opportunities",
    "jobPrice": "Job price",
    "aiAnalysis": "AI analysis",
    "call": "Call",
    "message": "Message",
    "viewOrder": "View order",
    "cancelTask": "Cancel task",
    "cancelTaskConfirm": "Are you sure you want to cancel the task for",
    "cancelTaskWarning": "This action cannot be undone and may affect your rating.",
    "cancel": "Cancel",
    "confirmCancel": "Confirm cancellation",
    "clientLabel": "Client",
    "noMessages": "No messages",
    "customize": "Customize",
    "customizeAriaLabel": "Customize overview sections",
    "customizeTitle": "Show on this page",
    "deleteNoteAriaLabel": "Delete note",
    "openFinance": "Open finance",
    "openFinanceAriaLabel": "Open finance details",
    "resetCustomization": "Reset",
    "saveNoteAriaLabel": "Save note",
    "sections": {
      "actionsTitle": "Needs your attention",
      "actionsSubtitle": "Messages, notifications & opportunities",
      "healthSubtitle": "Wallet & monthly performance",
      "healthTitle": "Business health",
      "kpiTitle": "Indicators"
    },
    "statsRowAriaLabel": "Monthly performance KPIs",
    "cancelNoteAriaLabel": "Cancel",
    "tasksListAriaLabel": "Tasks",
    "activity": {
      "ordersTitle": "New orders",
      "revenueTitle": "Revenue",
      "empty": "No data yet",
      "period": {
        "day": "Day",
        "week": "Week",
        "month": "Month"
      },
      "window": {
        "day": "Last 30 days",
        "week": "Last 12 weeks",
        "month": "Last 12 months"
      }
    },
    "availableOn": "Available on {{date}}",
    "reconcile": {
      "title": "Understanding your figures",
      "realized": "Realized income (total)",
      "onStripe": "Available on your Stripe account",
      "explanation": "Your income is collected by the platform, then paid out to your Stripe account once it is activated."
    },
    "onboarding": {
      "title": "Finish setting up your account",
      "subtitle": "A complete profile receives more requests and can get paid.",
      "progress": "{{done}}/{{total}}",
      "payoutTitle": "Set up your payouts",
      "payoutDescription": "Connect your bank account so you can get paid for your jobs.",
      "payoutCta": "Set up payouts",
      "offersTitle": "Publish your first offer",
      "offersDescription": "Offers tell clients what you do and at what price.",
      "offersCta": "Add an offer",
      "areasTitle": "Choose your service areas",
      "areasDescription": "You only receive requests from the cities you serve.",
      "areasCta": "Choose areas",
      "portfolioTitle": "Add at least 3 photos",
      "portfolioDescription": "Profiles with at least 3 photos get twice as many leads.",
      "portfolioCta": "Add photos",
      "photoTitle": "Add a profile photo",
      "photoDescription": "A real face builds trust before the first message.",
      "photoCta": "Add photo"
    }
  },
  "proRequests": {
    "sortBy": "Sort by",
    "sort": {
      "match": "Best match",
      "distance": "Distance",
      "closing": "Closing soon",
      "urgency": "Urgency",
      "newest": "Newest"
    },
    "filterAll": "All",
    "filterAllCategories": "All categories",
    "noMatchFilters": "No request matches these filters.",
    "offerAttempt": "Offer {{count}}/3",
    "offerLimitReached": "Limit reached (3/3)",
    "title": "New Requests",
    "availableRequests": "{{count}} available requests in your area",
    "loadingRequests": "Loading requests...",
    "noNewRequests": "No new requests",
    "newRequestsWillAppear": "New requests from clients will appear here",
    "noCategory": {
      "title": "Your category isn't set yet",
      "body": "Complete your profile to receive requests that match your trade.",
      "cta": "Complete my profile"
    },
    "recommendedPrice": "Recommended price",
    "matchPercent": "{{score}}% match",
    "callForTendersClosed": "Call for tenders closed",
    "timeRemaining": "{{time}} remaining",
    "skillMatch": "Skill match",
    "moreCapabilities": "+{{count}} more capabilities",
    "clientProblem": "Client problem",
    "urgent": "Urgent",
    "planned": "Planned",
    "clientRequestsProfessionalService": "Client requests professional service",
    "issuesIdentified": "issues identified",
    "materialsRequired": "materials required",
    "distance": "Distance",
    "km": "km",
    "arrivalTime": "Arrival time",
    "travelTime": "Travel time",
    "minutesShort": "min",
    "workDuration": "Work duration",
    "aiAccuracy": "AI accuracy",
    "requestedAppointment": "Requested appointment",
    "atTime": "at",
    "requestChange": "Request change",
    "messageFromClient": "Message from client",
    "projectSummary": "Project summary",
    "aiAnalysisAvailable": "AI analysis available",
    "materialsAndTools": "Materials and tools required",
    "openInMaps": "Open in Maps",
    "serviceLocation": "Job location",
    "mapUnavailableHint": "Map unavailable without exact coordinates — see address above.",
    "problemPhotos": "Problem photos",
    "photoAlt": "Photo {{index}}",
    "closeGallery": "Close gallery",
    "previousPhoto": "Previous photo",
    "nextPhoto": "Next photo",
    "more": "more",
    "yourOffer": "Your offer",
    "updated": "Updated",
    "canEditOrMessage": "You can edit your offer or send a message to the client",
    "leadingOffer": "Leading offer",
    "lowestPrice": "Lowest price",
    "ratedProfessional": "Top rated professional",
    "competingProfessionals": "{{count}} competing professionals",
    "refreshOffers": "Refresh",
    "average": "Average",
    "additionalOffersSubmitted": "{{count}} additional offers submitted",
    "priceRange": "Price range",
    "changeOffer": "Change offer",
    "submitOffer": "Submit offer",
    "offerSentAlert": "Offer of {{amount}} sent with message: {{message}}",
    "availableForAllPros": "Available for all professionals",
    "statusNew": "New",
    "statusPending": "Pending",
    "statusAccepted": "Accepted",
    "statusCompleted": "Completed",
    "closed": "Closed",
    "daysCount": "{{count}} days",
    "hoursCount": "{{hours}}:{{minutes}}",
    "lessThanMinute": "Less than a minute",
    "loadFailedTitle": "Could not load requests",
    "loadFailed": "The server is busy or rate-limited. Wait a moment and refresh the page.",
    "justNow": "Just now",
    "minutesAgo": "{{count}} min ago",
    "hoursAgo": "{{count}}h ago",
    "daysAgo": "{{count}}d ago",
    "receivedAtPrefix": "Received at",
    "floor": "Floor",
    "apartment": "Apt",
    "buildingCode": "Code",
    "conclusionCategory": "Category: {{value}}",
    "conclusionSubcategory": "Issue type: {{value}}",
    "conclusionComplexity": "Complexity: {{value}}",
    "conclusionUrgency": "Urgency: {{value}}",
    "conclusionAddress": "Address: {{value}}",
    "conclusionDescription": "Description: {{value}}",
    "conclusionBudget": "Estimated budget: {{value}}",
    "conclusionNotSpecified": "Not specified",
    "urgencyEmergency": "Emergency",
    "urgencyUrgent": "Urgent",
    "urgencyNormal": "Normal",
    "complexityStandard": "Standard",
    "complexityComplex": "Complex",
    "complexityCritical": "Critical",
    "aiWorkDescription": "Work to perform",
    "accessDifficulty": "Difficult access",
    "fallbackClientName": "Customer"
  },
  "proFinance": {
    "title": "Finances",
    "subtitle": "Manage your income, expenses and financial reports",
    "availableBalance": "Available balance",
    "balancePendingActivation": "Pending Stripe activation",
    "pending": "Pending",
    "grossIncome": "Gross income",
    "deductibleExpenses": "Deductible expenses",
    "noData": "No data",
    "estimatedVat": "VAT (estimate)",
    "withdrawFunds": "Withdraw funds",
    "setPinPrompt": "Set up a PIN for secure withdrawals",
    "setUpNow": "Set up now",
    "monthlyCashFlow": "Monthly cash flow",
    "income": "Income",
    "expenses": "Expenses",
    "recentTransactions": "Recent transactions",
    "viewAllTransactions": "View all",
    "loadingTransactions": "Loading transactions...",
    "noTransactions": "No transactions yet",
    "categoryService": "Service",
    "categoryFuel": "Fuel",
    "categoryEquipment": "Equipment",
    "categoryParts": "Parts",
    "categoryMaterials": "Materials",
    "categoryOther": "Other",
    "taxInvoiceReceipt": "Tax invoice receipt",
    "deductibleExpense": "Deductible expense",
    "scanExpense": "Scan expense",
    "autoOcrRecognition": "Automatic OCR recognition from receipt photo",
    "reportTitle": "Financial Report",
    "exportForAccountant": "Export report for your accountant",
    "createQuote": "Create quote",
    "createQuoteTitle": "Create Quote",
    "clientName": "Client name",
    "clientNamePlaceholder": "Enter client name",
    "phone": "Phone",
    "workBreakdown": "Work breakdown",
    "serviceDescriptionPlaceholder": "Service description",
    "price": "Price",
    "addLine": "Add line",
    "subtotalBeforeVat": "Subtotal before VAT",
    "vatPercent": "VAT (17%)",
    "totalToPay": "Total to pay",
    "printPreview": "Print preview",
    "sentSuccessfully": "Sent successfully!",
    "sending": "Sending...",
    "sendToClientWhatsApp": "Send to client via WhatsApp",
    "exportReportTitle": "Export Financial Report",
    "reportPeriod": "Report period",
    "reportPeriodOptions": {
      "nov2024": "November 2024",
      "oct2024": "October 2024",
      "q4_2024": "Q4 2024",
      "year2024": "Year 2024"
    },
    "periodSummary": "Period summary",
    "netProfit": "Net profit",
    "pdfForPrint": "PDF for printing",
    "readyForAccountant": "Ready for accountant",
    "forDataProcessing": "For data processing",
    "reportFileName": "financial_report",
    "period": "Period",
    "transactionDetails": "Transaction details",
    "dateLabel": "Date",
    "descriptionLabel": "Description",
    "amountLabel": "Amount",
    "categoryLabel": "Category",
    "incomeFrom": "Income from {{client}}",
    "client": "Client",
    "defaultLineItem": "Installation/repair service",
    "mockVendor": "Parts supplier",
    "months": {
      "january": "January",
      "february": "February",
      "march": "March",
      "april": "April",
      "may": "May",
      "june": "June",
      "july": "July",
      "august": "August",
      "september": "September",
      "october": "October",
      "november": "November",
      "december": "December"
    },
    "analyzingReceipt": "Analyzing receipt...",
    "aimAtReceipt": "Aim at the receipt",
    "smartExpenseScanner": "Smart Expense Scanner",
    "scannerDescription": "Take a photo of a receipt and we will automatically recognize the details",
    "scanning": "Scanning...",
    "takePhoto": "Take photo",
    "mockMaterialStore": "Building materials store",
    "orSelectFromGallery": "Or select from gallery",
    "expenseDetected": "Expense detected!",
    "reviewAndConfirm": "Review the details and confirm",
    "vendor": "Vendor",
    "expenseSavedSuccess": "Expense saved successfully!",
    "scanAgain": "Scan again",
    "saving": "Saving...",
    "saveExpense": "Save expense",
    "expenseAmountRequired": "Enter an amount greater than zero",
    "expenseSaveError": "Could not save expense",
    "quoteGenerated": "Quote generated",
    "generating": "Generating…",
    "generateQuote": "Generate quote (PDF)",
    "quoteTitle": "Quote",
    "quoteClientName": "Client",
    "quoteClientPhone": "Phone",
    "quoteTotal": "Total",
    "subtotal": "Subtotal",
    "disputesTitle": "Disputes",
    "disputeChargebackDebit": "Chargeback debit",
    "disputeChargebackReversal": "Chargeback reversal",
    "disputeRefundExternal": "External refund debit",
    "addExpenseTitle": "Add an expense",
    "addExpenseDescription": "Record a business expense for your reports",
    "allPeriods": "All time",
    "connectOnboardingBanner": "Connect your Stripe account to receive your payments automatically.",
    "connectStripeCta": "Connect my Stripe account",
    "autoPayoutTitle": "Payouts are automatic",
    "autoPayoutDescription": "Your balance is sent to your Stripe account, then paid out to your bank automatically.",
    "manageOnStripe": "Manage my Stripe account",
    "viewWallet": "View my wallet"
  },
  "proStats": {
    "title": "Statistics",
    "subtitle": "Track your business performance",
    "monthlyRevenue": "Monthly revenue",
    "completedJobs": "Completed jobs",
    "averageRating": "Average rating",
    "monthlyClients": "Unique clients",
    "monthlyRevenueChart": "Monthly revenue chart",
    "yearlyTotal": "Yearly total",
    "monthlyAverage": "Monthly average",
    "bestMonth": "Best month",
    "recentJobs": "Recent jobs",
    "noCompletedJobs": "No completed jobs yet",
    "performance": "Performance",
    "acceptRate": "Accept rate",
    "completionRate": "Completion rate",
    "clientSatisfaction": "Client satisfaction",
    "client": "Client",
    "service": "Service",
    "categoryLabels": {
      "cleaning": "Cleaning",
      "plumbing": "Plumbing",
      "electrical": "Electrical",
      "painting": "Painting",
      "renovation": "Renovation",
      "ac": "Air Conditioning",
      "gardening": "Gardening",
      "beauty": "Beauty",
      "moving": "Moving",
      "locksmith": "Locksmith",
      "carWash": "Car Wash",
      "petGrooming": "Pet Grooming"
    },
    "months": {
      "jan": "Jan",
      "feb": "Feb",
      "mar": "Mar",
      "apr": "Apr",
      "may": "May",
      "jun": "Jun",
      "jul": "Jul",
      "aug": "Aug",
      "sep": "Sep",
      "oct": "Oct",
      "nov": "Nov",
      "dec": "Dec"
    },
    "monthlyRevenueChartAriaLabel": "Monthly revenue for the last 12 months"
  },
  "proAuth": {
    "proZone": "Pro Zone",
    "heroTitle": "Manage your business",
    "heroTitleHighlight": "with Beedy",
    "heroDescription": "Join the largest network of professionals. Receive clients, manage your schedule, and increase your revenue.",
    "benefits": {
      "hotLeads": "Hot leads in real-time",
      "zeroMarketingCost": "Zero marketing cost",
      "guaranteedPayment": "Guaranteed payment",
      "advancedTools": "Advanced management tools"
    },
    "stats": {
      "avgMonthlyIncome": "Avg. monthly income",
      "installationFee": "Installation fee"
    },
    "backToSite": "Back to site",
    "partnerLogin": "Partner Login",
    "manageYourWork": "Manage your work and clients easily",
    "loginToAccount": "Login",
    "newRegistration": "Register",
    "registerSubtitle": "Create your partner account in one click or with your email.",
    "loginWithGoogle": "Login with Google",
    "registerWithGoogle": "Sign up with Google",
    "orViaEmail": "or via email",
    "continueWithEmail": "Continue with email",
    "businessEmail": "Business email",
    "password": "Password",
    "forgotPassword": "Forgot password?",
    "connectingWithGoogle": "Connecting with Google...",
    "welcomeCompleteRegistration": "Welcome! Please complete your registration.",
    "loginSuccess": "Login successful!",
    "errors": {
      "generic": "An error occurred. Please try again.",
      "googleUnavailable": "Google login is not available at the moment.",
      "noProviderAccount": "No professional account found. Please register first.",
      "invalidCredentials": "Invalid email or password.",
      "emailAlreadyRegistered": "This email is already registered.",
      "userCreationFailed": "Account creation failed. Please try again.",
      "unexpectedResponse": "Unexpected response from server.",
      "fillAllFields": "Please fill in all fields.",
      "googleLoginFailed": "Google login failed. Please try again.",
      "emailAlreadyUsed": "This email is already registered. Use the form below with a different address to create a partner account.",
      "phoneNotVerified": "We couldn't send the code via WhatsApp. Make sure WhatsApp is installed on this number, or contact support.",
      "invalidPhoneFormat": "Invalid phone number format. Please check and try again."
    },
    "phoneLogin": {
      "loginWithPhone": "Login with phone number",
      "orPhone": "or with phone number",
      "phoneLabel": "Phone number",
      "countryCodeLabel": "Country code",
      "sendCode": "Send verification code",
      "codeSent": "Verification code sent.",
      "codeSentTo": "Code sent to",
      "resendIn": "Resend in {{count}}s",
      "resendCode": "Resend code",
      "codeResent": "Code sent again.",
      "changePhone": "Change phone number",
      "backToEmail": "Back to email login",
      "invalidPhone": "Please enter a valid phone number.",
      "phoneHelpText": "If this number is not registered, you will be redirected to registration.",
      "countries": {
        "il": "Israel",
        "fr": "France",
        "be": "Belgium",
        "ch": "Switzerland",
        "ca": "Canada",
        "us": "United States",
        "gb": "United Kingdom",
        "es": "Spain"
      }
    }
  },
  "userLogin": {
    "backToSite": "Back to site",
    "proAccountDetected": "Professional account detected. Switching to the pro experience.",
    "welcomeBack": "Welcome back!",
    "createNewAccount": "Create a new account",
    "loginSubtitle": "Enter your details to sign in",
    "registerSubtitle": "Fill in your details to join the community",
    "loginTab": "Login",
    "registerTab": "Register",
    "loginWithGoogle": "Login with Google",
    "registerWithGoogle": "Register with Google",
    "orViaEmail": "or via email",
    "fullName": "Full name",
    "fullNamePlaceholder": "John Doe",
    "email": "Email",
    "password": "Password",
    "forgotPassword": "Forgot password?",
    "submitLogin": "Login",
    "submitRegister": "Register",
    "ageGateLabel": "I confirm I am at least 18 years old and have legal capacity to enter into the Beedy Terms of Service.",
    "ageGateError": "You must confirm you are 18 or older to create a Beedy account.",
    "loadingText": "Loading...",
    "demoLogin": "Quick demo login",
    "connectingWithGoogle": "Connecting with Google...",
    "fillAllFields": "Please fill in all fields.",
    "registrationSuccess": "Registration successful!",
    "demoModeConnected": "Connected in demo mode!",
    "joinUsersCount": "Join 20,000+ users",
    "smartWay": "The smartest way",
    "toManageHomeAndBusiness": "to manage home and business.",
    "heroDescription": "Get instant access to Florida's highest quality professionals, manage your orders easily, and enjoy complete peace of mind.",
    "heroBenefits": {
      "saveCosts": "Save up to 40% on costs",
      "verifiedPros": "Verified and rated professionals",
      "fullWarranty": "Full warranty on all work",
      "support247": "24/7 human support"
    },
    "mfa": {
      "title": "Two-Factor Authentication",
      "subtitle": "Enter the 6-digit code from your authenticator app",
      "enterSixDigitCode": "Please enter the 6-digit code",
      "verifying": "Verifying...",
      "verifyCode": "Verify code",
      "cantGetCode": "Can't get a code? Check your authenticator app (Google Authenticator, etc.).",
      "close": "Close",
      "digitLabel": "Digit"
    },
    "errors": {
      "genericError": "An error occurred. Please try again.",
      "invalidCredentials": "Invalid email or password.",
      "emailAlreadyExists": "This email is already registered.",
      "accountCreationFailed": "Account creation failed.",
      "googleUnavailable": "Google login is currently unavailable.",
      "googleNotConfigured": "Google login is not configured.",
      "googleAuthFailed": "Google authentication failed.",
      "googleBlocked": "Google login was blocked.",
      "serverConnectionFailed": "Server connection failed.",
      "googleLoginFailed": "Google login failed. Make sure the site URL is added in Google Cloud Console."
    }
  },
  "userTypeSwitch": {
    "client": "Individual",
    "pro": "Professional",
    "ariaLabel": "Choose account type"
  },
  "booking": {
    "serviceOrder": "Service Order",
    "quickWizard": "Quick booking wizard",
    "immediate": "Immediate",
    "scheduled": "Scheduled",
    "selectDateAndTime": "Select date and time",
    "date": "Date",
    "time": "Time",
    "selectTime": "Select time",
    "scheduledFor": "Scheduled for:",
    "selectedService": "Selected service",
    "noServiceSelected": "No service selected",
    "selectCategory": "Select a category",
    "clearAddress": "Clear address",
    "currentLocation": "Current location",
    "serviceAddress": "Service address",
    "noAddressEntered": "No address entered",
    "yourCurrentLocation": "Your current location",
    "typeAddressHere": "Type address here...",
    "enterAddress": "e.g. 12 Rue de Rivoli, Paris",
    "locateMe": "Locate me",
    "locatingAddress": "Locating...",
    "additionalDetails": "Additional details",
    "noAdditionalDetails": "No additional details",
    "floorAptCode": "Floor, apartment, entry code...",
    "home": "Home",
    "work": "Work",
    "parents": "Parents",
    "addAddress": "Add address",
    "addAddressInSettings": "Add address in settings",
    "selected": "Selected",
    "selectDate": "Select date"
  },
  "mission": {
    "actionBlocked": "Action blocked",
    "cannotTransition": "Cannot transition to this step",
    "codeRequired": "Code verification required",
    "verifyCodeBeforeWork": "Verify the security code before starting work",
    "photoRequired": "Photo required",
    "photoBeforeStart": "Take a photo of the work area before starting",
    "photoAfterWork": "Take a photo of the completed work",
    "statusUpdated": "Status updated",
    "updateError": "Update error",
    "cannotUpdateStatus": "Cannot update status",
    "statusUpdateError": "An error occurred updating the status",
    "codeVerifiedSuccess": "Security code verified successfully!",
    "wrongCode": "Wrong code",
    "codeMismatch": "The code entered does not match",
    "confirmCancelMission": "Are you sure you want to cancel this mission?",
    "cancelledByPro": "Cancelled by professional",
    "missionCancelled": "Mission cancelled",
    "floor": "Floor",
    "apartment": "Apt.",
    "estimatedPrice": "Estimated price:",
    "drivingTo": "Driving to",
    "distance": "Distance",
    "km": "km",
    "openWaze": "Open navigation in Waze",
    "callClient": "Call client",
    "onTheWay": "On the way...",
    "clientNotifiedOnWay": "The client has been notified that you are on the way.",
    "gpsActiveTracking": "GPS active - sending location updates",
    "openNavigation": "Open navigation",
    "verifySecurityCode": "Security code verification",
    "askClientForCode": "Ask the client for the 4-digit security code",
    "enterCode": "Enter code",
    "securityCode": "Security code",
    "verify": "Verify",
    "wrongCodeRetry": "Wrong code, try again",
    "codeVerified": "Code verified successfully",
    "requiredBeforeWork": "Required before starting work",
    "photoToPreventDisputes": "Take a photo of the work area to prevent future disputes.",
    "photoBeforeUploaded": "Before photo uploaded",
    "clickToPhotoBeforeWork": "Click to take a photo before work",
    "photoReceived": "Photo received successfully",
    "clickToTakePhoto": "Click here to take a photo",
    "workTime": "Work time",
    "completionChecklist": "Completion checklist:",
    "cleanWorkArea": "Clean the work area",
    "checkWithClient": "Check functionality with client",
    "photoAfterUploaded": "After photo uploaded",
    "clickToPhotoAfterWork": "Click to take a photo after work",
    "photoAttached": "Photo attached",
    "attachPhotoToFinish": "Attach photo to finish",
    "waitingForPayment": "Waiting for payment",
    "clientNotifiedForPayment": "The client has been notified for approval and payment.",
    "amountToPay": "Amount to pay:",
    "paymentWithin24h": "The money will be transferred to your account within 24 hours after client approval.",
    "workCompleted": "Work completed!",
    "paymentReceivedTransfer": "Payment received. The money will be transferred to your account within 24 hours.",
    "backToMain": "Back to main screen",
    "startedDriving": "Started driving",
    "arrivedAtDest": "Arrived at destination",
    "startWork": "Start work",
    "finishWork": "Finish work",
    "waitingPayment": "Waiting for payment...",
    "loadingMission": "Loading mission...",
    "error": "Error",
    "back": "Back",
    "noActiveMission": "No active mission",
    "noActiveMissionDesc": "No active mission found at the moment",
    "close": "Close",
    "goBack": "Go back",
    "activeMission": "Active mission",
    "missionProgress": "Mission progress",
    "updating": "Updating...",
    "cancelMission": "Cancel mission"
  },
  "proBooking": {
    "perHour": "/hour",
    "viewAvailability": "View availability",
    "bookNow": "Book now",
    "termsAndProtection": "Terms and consumer protection",
    "soldBy": "Sold by",
    "securePayment": "Payment: Secure transaction",
    "reportProblem": "Problem? Report to team",
    "bookingDetails": "Booking details",
    "swipeDownToClose": "Swipe down to close"
  },
  "proService": {
    "asNeeded": "As needed",
    "excellent": "Excellent",
    "veryGood": "Very good",
    "good": "Good",
    "realTimeTracking": "Real-time service status tracking",
    "arrivalUpdates": "Arrival updates, delays or changes.",
    "flexibleCancel": "Flexible cancellation",
    "cancel24h": "Cancel up to 24 hours before the appointment.",
    "verifiedPro": "Verified professional",
    "qualityWork": "Quality work and transparent pricing.",
    "realTimeTrackingDescription": "You can track the status of your service in real-time. This includes updates on the service provider's arrival, any potential delays, or schedule changes.",
    "beedyCommitment": "Beedy Commitment",
    "secure": "Secure",
    "guarantee": "Guarantee",
    "guaranteeDetail": "min 14 days guarantee",
    "securityPrivacy": "Security & Privacy",
    "securityPrivacyDetail": "Safe payment, secure your data"
  },
  "proSecurity": {
    "title": "With beedy, your security is our priority.",
    "subtitle": "Upon arrival, simply open your reservation and complete the payment. We guarantee:",
    "support247": "Support 24/7",
    "guarantee14": "Guarantee 14 days",
    "legalService": "Legal service",
    "followUp": "Follow up",
    "loyaltyPoints": "Loyalty points",
    "community": "Community"
  },
  "proAbout": {
    "about": "About",
    "noDescription": "No description available.",
    "showLess": "Show less",
    "readMore": "Read more"
  },
  "proGallery": {
    "proView": "Professional view",
    "image": "Image",
    "zoom": "Zoom",
    "next": "Next",
    "previous": "Previous",
    "viewAllPhotos": "View all photos",
    "scrollThumbsUp": "Scroll thumbnails up",
    "scrollThumbsDown": "Scroll thumbnails down"
  },
  "proAvailability": {
    "proAvailableTimes": "Times the professional offers",
    "selectDateTimeFromPro": "Select a date and time from the professional's options",
    "selectDate": "Select date",
    "today": "Today",
    "tomorrow": "Tomorrow",
    "previousDay": "Previous day",
    "nextDay": "Next day",
    "selectTime": "Select time",
    "noSlotsThisDay": "No time slots on this day. The professional has not set hours for this day or is closed.",
    "unavailableNote": "Marked = not available on selected date",
    "bookSlot": "Book this slot",
    "atTime": "at",
    "duration": "Estimated duration: {{duration}}"
  },
  "proReviews": {
    "mostRelevant": "Most relevant",
    "to": "to",
    "of": "of",
    "ratingLabel": "Rating",
    "reviews": "reviews",
    "stars": "stars",
    "communication": "Communication",
    "recommendation": "Recommend to friend",
    "matchDescription": "Matches description",
    "all": "All",
    "noReviews": "No reviews to display.",
    "noReviewsYet": "No reviews yet. Be the first to leave a review!",
    "loadingReviews": "Loading reviews...",
    "reviewsLoadError": "Reviews could not be loaded.",
    "retry": "Try again",
    "loadMore": "View more reviews",
    "viewMoreReviews": "View more reviews",
    "googleRatingLabel": "Google rating",
    "googleReviewsCount": "({{n}} Google reviews)"
  },
  "proFacts": {
    "details": "Details",
    "yearsExperience": "Years of experience",
    "responseTime": "Response time",
    "serviceArea": "Service area",
    "insuranceLicense": "Insurance / License",
    "languages": "Languages",
    "availability": "Availability"
  },
  "proLocation": {
    "location": "Location",
    "mapUnavailable": "Location map unavailable",
    "mapLoadError": "Error loading map",
    "mapInitError": "Error initializing map",
    "openInMaps": "Open in maps",
    "getDirections": "Get directions",
    "serviceRadius": "Serves within a {{radius}} km radius"
  },
  "proPortfolio": {
    "portfolio": "Portfolio",
    "viewAll": "View all {{count}} photos",
    "showLess": "Show less"
  },
  "proMyPage": {
    "title": "My Page",
    "subtitle": "Customize your public page visible to clients",
    "portfolio": "Portfolio",
    "addPhotos": "Add photos",
    "noPhotosYet": "No photos in your portfolio",
    "clickToAdd": "Click to add your first photos",
    "maxPhotosReached": "Maximum {{max}} photos reached",
    "imageTooLarge": "Image too large (max {{max}} MB)",
    "photosAdded": "{{count}} photo(s) added",
    "uploadError": "Upload error",
    "description": "Description",
    "descriptionPlaceholder": "Describe your activity, experience and specialties...",
    "noDescription": "No description added",
    "businessInfo": "Business information",
    "businessName": "Business name",
    "businessNamePlaceholder": "Your business or activity name",
    "experienceYears": "Years of experience",
    "yearsExperience": "{{count}} years of experience",
    "serviceRadius": "Service radius",
    "serviceAreas": "Service areas",
    "noServiceAreas": "No areas defined",
    "addServiceAreaPlaceholder": "Add a city or area...",
    "add": "Add",
    "notSpecified": "Not specified",
    "save": "Save",
    "saving": "Saving...",
    "saved": "Page updated successfully",
    "saveError": "Error saving changes",
    "openingHours": "Opening hours",
    "noOpeningHours": "No opening hours defined",
    "closed": "Closed",
    "aiResume": "AI Resume",
    "aiResumeSubtitle": "Auto-generated summary of your profile",
    "regenerateAiResume": "Regenerate",
    "regenerating": "Generating...",
    "aiResumeGenerated": "AI resume updated successfully",
    "aiResumeError": "Failed to generate AI resume",
    "generateAiResume": "Generate AI Resume",
    "noAiResume": "No AI resume yet",
    "yourDescription": "Your Description",
    "bannerPhoto": "Cover photo",
    "changeBanner": "Change cover",
    "removeBanner": "Remove cover",
    "noBannerYet": "No cover photo",
    "bannerUpdated": "Cover photo updated",
    "bannerRemoved": "Cover photo removed",
    "generateBanner": "Professional photo",
    "generatingBanner": "Loading...",
    "bannerGenerated": "Cover photo added successfully",
    "bannerGenerateError": "Failed to load cover photo",
    "generatePortfolioPhoto": "Professional photo",
    "generatingPortfolioPhoto": "Loading...",
    "portfolioPhotoGenerated": "Portfolio photo added successfully",
    "portfolioPhotoGenerateError": "Failed to load portfolio photo"
  },
  "proSkills": {
    "specialties": "Areas of expertise"
  },
  "proProfile": {
    "verified": "Verified",
    "notAccepting": "Not accepting clients",
    "share": "Share",
    "map": "Map",
    "aboutMe": "about me",
    "add": "add",
    "yearsExp": "{{count}} years experience",
    "addSpecialty": "add specialty",
    "availability": "availability",
    "averageMarketRate": "average market rate",
    "baseHourlyRate": "base hourly rate",
    "bioPlaceholder": "bio placeholder",
    "clickDayToChangeAvailability": "click day to change availability",
    "completedJobs": "{{count}} jobs completed",
    "dayFri": "day fri",
    "dayMon": "day mon",
    "daySat": "day sat",
    "daySun": "day sun",
    "dayThu": "day thu",
    "dayTue": "day tue",
    "dayWed": "day wed",
    "finalPriceNote": "final price note",
    "greenDaysAvailable": "green days available",
    "jobs": "jobs",
    "manageProfessionalInfo": "manage professional info",
    "marketRateRange": "market rate range",
    "memberSince": "Member since {{year}}",
    "myProfile": "my profile",
    "perHour": "per hour",
    "pricing": "pricing",
    "profileImageUpdated": "profile image updated",
    "profileUpdated": "profile updated",
    "recentReviews": "recent reviews",
    "reviewsCount": "reviews count",
    "reviewsTotal": "reviews total",
    "saveChanges": "save changes",
    "saveError": "save error",
    "saving": "saving",
    "showAllReviews": "show all reviews",
    "showLess": "show less",
    "specialties": "specialties",
    "specialtyAdded": "specialty added",
    "specialtyNamePlaceholder": "specialty name placeholder"
  },
  "proUserFiche": {
    "totalRevenue": "Total Revenue",
    "completedJobs": "Completed Jobs",
    "averageRating": "Average Rating",
    "uniqueClients": "Unique Clients",
    "overview": "Overview",
    "professionalDetails": "Professional Details",
    "missions": "Missions",
    "reviews": "Reviews",
    "accountInfo": "Account Information",
    "businessInfo": "Business Information",
    "businessName": "Business Name",
    "aiSummary": "AI Summary",
    "categories": "Categories",
    "skills": "Skills",
    "serviceAreas": "Service Areas",
    "availability": "Availability",
    "pricing": "Pricing",
    "editProfile": "Edit Profile",
    "viewPublicPage": "My Public Page",
    "shareProfile": "Share",
    "noMissions": "No missions",
    "noMissionsDesc": "Your missions will appear here once you start working.",
    "noReviews": "No reviews",
    "noReviewsDesc": "Client reviews will appear here.",
    "revenueByMonth": "Monthly Revenue",
    "jobsByMonth": "Jobs by Month",
    "memberSince": "Member since",
    "hourlyRate": "Hourly Rate",
    "experienceYears": "Experience",
    "years": "years",
    "backToFiche": "Back to profile",
    "notVerified": "Not verified",
    "available": "Available",
    "unavailable": "Unavailable",
    "goOnline": "Go online",
    "goOffline": "Go offline",
    "linkCopied": "Link copied!",
    "phone": "Phone",
    "verified": "Verified",
    "proNumber": "Pro number",
    "revenue": "Revenue",
    "completed": "Completed",
    "cancelled": "Cancelled",
    "noRevenueData": "No revenue data available",
    "noJobsData": "No job data available",
    "days": {
      "sunday": "Sun",
      "monday": "Mon",
      "tuesday": "Tue",
      "wednesday": "Wed",
      "thursday": "Thu",
      "friday": "Fri",
      "saturday": "Sat"
    }
  },
  "auth": {
    "verifyAccount": "Account Verification",
    "otpSent": "We sent a 6-digit verification code to",
    "verifyAndContinue": "Verify and continue",
    "didntReceiveCode": "Didn't receive the code?",
    "resendIn": "Resend in 00:45",
    "backToLogin": "Back to login",
    "resetPassword": "Reset Password",
    "resetPasswordDesc": "It happens to the best of us. Enter your email and we'll send you a reset link.",
    "emailAddress": "Email address",
    "sendResetLink": "Send reset link"
  },
  "feedback": {
    "trackPro": "Track your professional in real time",
    "unexpectedError": "Unexpected Error",
    "serverErrorDesc": "We encountered a temporary issue with our servers. The technical team has been notified and is already working on a fix.",
    "tryAgain": "Try again",
    "reportIssue": "Report an issue",
    "paymentFailed": "Payment Failed",
    "paymentFailedDesc": "We couldn't charge your payment method. The card may be expired or have insufficient funds.",
    "processingError": "Processing error ({{errorCode}})",
    "retryOrContact": "Please try again or contact support.",
    "contactSupport": "Contact support",
    "paymentSuccess": "Payment received successfully!",
    "paymentSuccessDesc": "All set! Your money is held in escrow. Payment will be transferred to the professional only after service approval.",
    "verifyingPayment": "Verifying payment...",
    "verifyingPaymentDesc": "If the payment was made, the page will update in a few seconds. Don't leave the page.",
    "paymentVerificationError": "Error verifying payment",
    "transactionId": "Transaction ID",
    "date": "Date",
    "backToHome": "Back to home",
    "downloadInvoice": "Download invoice",
    "receiptEmailed": "A receipt has been sent to your email.",
    "amountPaid": "Amount paid",
    "proLabel": "Professional",
    "addressLabel": "Address",
    "underMaintenance": "We're under renovation",
    "maintenanceDesc": "The hive is being upgraded to improve your experience.",
    "maintenanceBack": "We'll be back to full operation in a few minutes.",
    "refreshPage": "Refresh page",
    "notFoundTitle": "Oops, we got lost in the hive",
    "notFoundDesc": "The page you were looking for may have been removed, renamed, or is temporarily unavailable. Don't worry, the way back is short.",
    "notFoundCategoriesHeading": "Or browse popular services",
    "notFoundReportLink": "Found a broken link? Let us know",
    "goBack": "Go back",
    "backToDashboard": "Back to dashboard",
    "estimatedTime": "Estimated: {{time}}",
    "maintenanceMode": "Maintenance Mode",
    "pageNotFound": "Page Not Found",
    "internalServerError": "Internal Server Error"
  },
  "legal": {
    "faqTitle": "Help Center & FAQ",
    "faqSubtitle": "Find answers to common questions or contact our support team.",
    "searchPlaceholder": "Search for an answer...",
    "faqSectionTitle": "Frequently Asked Questions",
    "faqQ1": "How can I change my password?",
    "faqA1": "You can change your password through the settings screen under the \"Security\" category. Enter your old password and the new one for verification.",
    "faqQ2": "Is using the app free?",
    "faqA2": "The app offers a basic free plan and premium plans with advanced business management features. You can see the full pricing on the pricing page.",
    "faqQ3": "How do I issue a tax invoice?",
    "faqA3": "In the \"Finances\" screen, click the plus button and select \"New invoice\". The system will generate a digitally signed invoice that can be sent to the client by email or WhatsApp.",
    "faqQ4": "Is my information secure?",
    "faqA4": "Yes, we use the strictest security standards and store data on secure servers with daily backups.",
    "stillNeedHelp": "Still need help?",
    "supportHours": "Our support team is available Sun-Thu between 09:00-18:00",
    "openSupportTicket": "Open a support ticket",
    "lastUpdated": "Last updated: November 30, 2024",
    "privacyTitle": "Privacy Policy",
    "privacyIntro": "Your privacy is important to us. This document explains what information we collect and how we use it to improve the service for you.",
    "privacySection1Title": "1. Information We Collect",
    "personalInfo": "Personal information",
    "personalInfoDesc": "name, email address, phone number, and business details.",
    "financialInfo": "Financial information",
    "financialInfoDesc": "transaction history and payment details (stored by a secure payment provider).",
    "technicalInfo": "Technical information",
    "technicalInfoDesc": "IP address, device type, and site usage data.",
    "privacySection2Title": "2. Use of Information",
    "privacySection2Intro": "We use the information to:",
    "privacyUse1": "Provide and operate the services.",
    "privacyUse2": "Improve user experience and personalization.",
    "privacyUse3": "Send operational and marketing updates (subject to your consent).",
    "privacyUse4": "Prevent fraud and maintain system security.",
    "privacySection3Title": "3. Sharing Information with Third Parties",
    "privacySection3Desc": "We do not sell your personal information. We may share data with service providers (such as cloud and payment services) solely for providing the service.",
    "privacySection4Title": "4. Data Security",
    "privacySection4Desc": "We invest significant resources in data security and use advanced encryption technologies (SSL/TLS) to protect your data.",
    "termsTitle": "Terms of Service",
    "termsIntro": "Welcome to Beedy (\"the Platform\"). Use of the platform and related services is subject to the terms detailed below. Using the platform constitutes agreement to these terms.",
    "termsSection1Title": "1. General",
    "termsSection1Desc": "The service is intended for professionals (\"Providers\") and end customers (\"Clients\"). Beedy serves as a technology platform connecting the parties and providing management tools.",
    "termsSection2Title": "2. Registration and Account Use",
    "termsSection2Desc": "Use of the service requires registration and providing accurate and correct details. The user is solely responsible for maintaining the confidentiality of their access credentials.",
    "termsSection3Title": "3. Payments and Fees",
    "termsSection3Desc": "Some services involve subscription fees or transaction commissions. Rates are published on the site and may change from time to time with prior notice.",
    "termsSection4Title": "4. Limitation of Liability",
    "termsSection4Desc": "Beedy is not responsible for the quality of service provided by professionals or for payments between parties. Professional liability rests entirely with the service provider.",
    "backToHome": "Back to home",
    "breadcrumbLegal": "Legal",
    "contactTitle": "Contact",
    "contactIntro": "Questions? Contact us.",
    "accessibilityTitle": "Accessibility Statement",
    "accessibilityIntro": "At Beedy, we place the highest importance on providing equal service to all customers and users, and on improving the service provided to customers with disabilities. We invest significant resources in making the site and app accessible.",
    "accessibilityLevelTitle": "Accessibility Level",
    "accessibilityLevelDesc": "The site and app are adapted to the requirements of the Americans with Disabilities Act (ADA) and Section 508 of the Rehabilitation Act. Adaptations were made according to the international WCAG 2.1 standard for web content accessibility at AA level.",
    "accessibilityFeature1": "The site provides a semantic structure for assistive technologies and supports standard keyboard navigation patterns.",
    "accessibilityFeature2": "Adapted for display in popular browsers and for mobile phone use.",
    "accessibilityFeature3": "For the best browsing experience with screen reader software, we recommend using the latest NVDA software.",
    "physicalAccessibilityTitle": "Physical Accessibility Arrangements",
    "physicalAccessibilityDesc": "Our company operates as a digital company and does not receive visitors at company offices. You can contact us through digital channels or the phone center.",
    "accessibilityCoordinator": "Accessibility Coordinator Details",
    "accessibilityContact": "If you encounter a problem or have suggestions for improvement, we'd love to hear from you.",
    "email": "Email",
    "phone": "Phone"
  },
  "interview": {
    "firstQuestion": "Tell us, what is your main profession or service?",
    "selectCategory": "Select a category",
    "enterBusinessName": "Enter a business name",
    "enterAddress": "Enter an address",
    "businessDetails": "Business Details",
    "fillManually": "Fill in the details manually",
    "businessName": "Business name",
    "businessNamePlaceholder": "Your business name",
    "category": "Category",
    "address": "Address",
    "addressPlaceholder": "e.g. Miami, Coral Gables",
    "serviceRadius": "Service radius: {{radius}} km",
    "back": "Back",
    "continue": "Continue",
    "cat_cleaning": "Cleaning",
    "cat_plumbing": "Plumbing",
    "cat_electrical": "Electrical",
    "cat_beauty": "Beauty & Care",
    "cat_renovation": "Renovation",
    "cat_gardening": "Gardening",
    "cat_ac": "Air Conditioning",
    "cat_moving": "Moving",
    "cat_painting": "Painting",
    "aiError": "Error communicating with AI. Try again or fill manually.",
    "aiBadge": "Smart AI Interview",
    "tellUsAbout": "Tell us about your business",
    "wellAskQuestions": "We'll ask a few questions to understand your service",
    "tryAgain": "Try again",
    "fillManuallyShort": "Fill manually",
    "profileSummary": "Your profile summary",
    "continueToNext": "Continue to next step",
    "typePlaceholder": "Type your answer...",
    "preferManualForm": "Prefer to fill a form manually?"
  },
  "tracking": {
    "professional": "Professional",
    "workCompleted": "Work completed!",
    "proReportedFixed": "{{name}} reported the issue is fixed.",
    "totalWithTip": "Total to pay (including tip)",
    "tipFor": "tip for {{name}}",
    "wantToTip": "Want to leave a tip?",
    "tipGoesTo": "100% goes to {{name}}",
    "noTip": "None",
    "rateService": "Rate the service",
    "thankYouPaid": "Thank you! Paid ${{total}}",
    "includingTip": "Including ${{tipAmount}} tip for {{name}}!",
    "invoiceSent": "The invoice has been sent to your email",
    "confirmAndPay": "Confirm and pay ${{total}}",
    "proEta": "{{name}} ({{minutes}} min)",
    "help": "Help",
    "onTheWay": "{{name}} is on the way",
    "arrived": "{{name}} has arrived!",
    "workingOnIt": "Working on the issue...",
    "etaInfo": "Estimated arrival: 10:30 (12 minutes away)",
    "startedAt": "Started working at 10:35",
    "working": "Working",
    "safetyMessage": "For your safety, all payments on Beedy are made through the app only. Do not pay in cash.",
    "accessDifficulty": "Difficult access",
    "yourPhotos": "Your photos & videos",
    "stageBefore": "Before",
    "stageDuring": "In progress",
    "stageAfter": "After"
  },
  "orderDetail": {
    "tabs": {
      "tracking": "Tracking",
      "details": "Details",
      "price": "Price"
    },
    "actionBar": {
      "yourPro": "Your pro",
      "message": "Message",
      "call": "Call",
      "startApproval": "The pro is waiting for your approval",
      "respond": "Respond",
      "extra": "Additional work proposed",
      "review": "Review",
      "validate": "A step is ready to validate",
      "validateCta": "Validate",
      "pay": "Payment due",
      "payCta": "Confirm & pay",
      "rate": "Job complete",
      "rateCta": "Rate the pro"
    },
    "back": "Back",
    "help": "Help",
    "noOrderNumber": "Loading order…",
    "notFound": "We couldn’t load this order.",
    "retry": "Retry",
    "statusPill": {
      "searching": "Searching",
      "pendingAcceptance": "Pending",
      "accepted": "Accepted",
      "enRoute": "On the way",
      "arrivingSoon": "Arriving soon",
      "arrived": "Arrived",
      "inProgress": "In progress",
      "paymentPending": "Payment pending",
      "completed": "Completed",
      "cancelled": "Cancelled",
      "onHold": "On hold"
    },
    "proCard": {
      "waiting": "Waiting for a pro to accept your request…",
      "message": "Message",
      "call": "Call",
      "viewFullProfile": "View full profile",
      "completedJobs_one": "{{count}} job done",
      "completedJobs_other": "{{count}} jobs done",
      "fallbackPro": "the pro",
      "messageUnavailable": "Pro not assigned yet.",
      "callNumberCopied": "{{phone}} copied",
      "callNumber": "Call {{phone}}"
    },
    "map": {
      "proEta": "{{name}} • {{minutes}} min",
      "etaShort": "{{minutes}} min"
    },
    "rateLimited": "Too many requests right now — wait a few seconds and retry.",
    "timeline": {
      "title": "Order progress",
      "step": {
        "accepted": "Accepted",
        "en_route": "On the way",
        "arrived": "Arrived",
        "in_progress": "Working",
        "completed": "Done"
      },
      "onHold": "On hold"
    },
    "urgency": {
      "urgent": "Urgent",
      "emergency": "Emergency"
    },
    "request": {
      "title": "Your request",
      "yourPhotos_one": "Photo you sent ({{count}})",
      "yourPhotos_other": "Photos you sent ({{count}})",
      "aiBriefTitle": "What the pro will do",
      "requiredProducts": "Required products",
      "estimatedDuration": "Estimated duration: {{minutes}} min",
      "formResponses": "Form responses"
    },
    "location": {
      "title": "Address & appointment",
      "openInMaps": "Open in Maps",
      "floor": "Floor {{value}}",
      "apartment": "Apt {{value}}",
      "accessCode": "Access code: {{value}}",
      "accessCodeLabel": "Access code",
      "show": "Show",
      "hide": "Hide",
      "showCode": "Show access code",
      "hideCode": "Hide access code",
      "difficultAccess": "Difficult access",
      "googleCalendar": "Google Calendar",
      "calendarSummary": "{{service}} – Beedy",
      "calendarWithPro": "With {{name}}",
      "addToCalendar": "Add to calendar",
      "calendarDownloaded": "File downloaded. You can add it to your calendar."
    },
    "price": {
      "title": "Price",
      "subtotal": "Subtotal",
      "base": "Service",
      "extra": "Extra",
      "fee": "Service fee",
      "tax": "Sales tax",
      "tip": "Tip",
      "total": "Total",
      "badge": {
        "searching": "To be paid",
        "pending_acceptance": "To be paid",
        "accepted": "Held in escrow",
        "en_route": "Held in escrow",
        "arrived": "Held in escrow",
        "in_progress": "Held in escrow",
        "payment_pending": "Payment pending",
        "completed": "Paid",
        "cancelled": "Refunded"
      }
    },
    "proPhotos": {
      "title": "Photos from the pro",
      "subtitle": "Photos your pro took on arrival."
    },
    "changeRequest": {
      "title": "The pro sent an updated quote",
      "declineHint": "If you decline, the work continues with the original scope.",
      "requestedLabel": "Your request",
      "proMessageLabel": "Pro’s note",
      "newTotalLabel": "New total price",
      "chargeNotice": "Accepting charges {{amount}} more into escrow — no extra service fee.",
      "refundNotice": "Accepting refunds {{amount}} back to your payment method.",
      "acceptAndPay": "Accept & pay",
      "accept": "Accept the new price",
      "paying": "Processing…",
      "reject": "Decline",
      "error": "Something went wrong. Please try again."
    },
    "damageClaim": {
      "reportCta": "Report damage caused by the pro",
      "reportHint": "Describe the damage — the pro has 14 days to come back and repair it.",
      "reportPlaceholder": "Describe the damage (what and where)…",
      "severityLabel": "How serious is it?",
      "severityLow": "Minor",
      "severityMedium": "Moderate",
      "severityHigh": "Severe",
      "reportSubmit": "Send the report",
      "reportSending": "Sending…",
      "reportCancel": "Cancel",
      "reportSent": "Damage reported — the pro has 14 days to schedule a repair.",
      "reportError": "Something went wrong. Please try again.",
      "openTitle": "Damage claim in progress",
      "pendingPro": "The pro must schedule a repair visit.",
      "pendingProBy": "The pro must propose a repair slot by {{date}}.",
      "deadlineHint": "If nothing is scheduled by {{date}}, our support team takes over.",
      "scheduledOn": "Repair visit scheduled for {{date}}.",
      "escalated": "Our support team is handling this claim.",
      "addPhotos": "Add photos (optional)",
      "photoUploading": "Uploading…",
      "photoCount": "{{count}} photo(s) attached",
      "escalateCta": "Request a refund from support",
      "escalateSending": "Requesting…",
      "escalateHint": "You can request a refund from support if the pro hasn't responded by {{date}}.",
      "escalateSent": "Our support team will take over your claim.",
      "escalateError": "Could not request support. Please try again.",
      "validateTitle": "The pro says the damage is repaired.",
      "validateHint": "Confirm that the repair works for you.",
      "validateAutoOn": "Without a response, the repair is confirmed automatically on {{date}}.",
      "validateCta": "Yes, it's repaired",
      "validateSending": "Confirming…",
      "validatedToast": "Repair confirmed — thank you!",
      "contestCta": "No, the problem persists",
      "contestedToast": "Our support team is taking over.",
      "validateError": "Could not record your answer. Please try again.",
      "validateStale": "This claim was already updated — refreshing…",
      "validateConfirmTitle": "Confirm the repair?",
      "validateConfirmBody": "You confirm the damage is repaired. The claim will be closed.",
      "contestConfirmTitle": "Report that the problem persists?",
      "contestConfirmBody": "Our support team will take over and decide (repair, refund…)."
    },
    "evolution": {
      "title": "Work progress",
      "empty": "The pro hasn’t shared progress photos yet.",
      "milestoneReady": "\"{{title}}\" is ready for your approval.",
      "milestoneHint": "Confirm you’re satisfied before the pro starts the next step.",
      "milestoneReleaseHint": "Validating releases {{amount}} to your pro.",
      "validateCta": "Validate this step",
      "validating": "Validating…",
      "validated": "Step validated!",
      "validateError": "Could not validate, please retry.",
      "validateOutOfOrder": "Steps must be validated in order.",
      "changeRequestAlert": "A change request is open — the pro will propose an updated price you can accept or decline right here.",
      "reportIssueCta": "Report a problem / request a rework",
      "reportIssueHint": "Describe what needs to change — the pro will answer with an updated price you can accept or decline. Nothing is charged until you accept.",
      "reportIssuePlaceholder": "Describe what was done wrong or what you’d like changed…",
      "reportIssueSubmit": "Send request",
      "reportIssueSending": "Sending…",
      "reportIssueCancel": "Cancel",
      "reportIssueSent": "Request sent — the pro will propose an updated price.",
      "reportIssueOpenConflict": "A change request is already open on this order.",
      "reportIssueError": "Something went wrong. Please try again.",
      "damageClaimAlert": "A damage claim is open — the pro must schedule a repair visit within 14 days. Track it on this page.",
      "planTitle": "Project steps",
      "statusValidated": "Validated",
      "statusInProgress": "In progress",
      "statusUpcoming": "Upcoming",
      "lockedLabel": "Locked",
      "allStepsDone": "All steps validated",
      "stepProgress": "Step {{current}}/{{total}}",
      "stepCount": "{{completed}}/{{total}} validated"
    },
    "completion": {
      "title": "Wrap things up",
      "tipLabel": "Leave a tip for {{name}}",
      "noTip": "None",
      "rateLabel": "How was the service?",
      "rateAria": "Rate {{value}} stars",
      "confirm": "Confirm & pay",
      "confirming": "Confirming…",
      "alreadyPaid": "Paid",
      "thankYou": "Thanks! Your tip and rating were saved.",
      "tipSaved": "Tip applied to your invoice.",
      "completedOn": "Completed on {{date}}",
      "completed": "Order completed",
      "thanks": "Thanks for using Beedy — we hope {{name}} did a great job.",
      "onTime": "On time",
      "late": "Late",
      "orderNumber": "Order",
      "totalPaid": "Total paid",
      "ratingSaved": "Thanks! Your rating was saved.",
      "saveFailed": "We couldn't save your rating. Please try again."
    },
    "review": {
      "commentLabel": "Add a comment (optional)",
      "commentPlaceholder": "Tell others how it went…",
      "submit": "Send my review",
      "edit": "Edit my review",
      "submitting": "Saving…",
      "thanks": "Thanks for your feedback!",
      "saved": "Thanks! Your review was saved.",
      "saveFailed": "We couldn't save your review. Please try again."
    },
    "receipt": {
      "download": "Download receipt",
      "downloading": "Preparing…",
      "failed": "We couldn't generate your receipt. Please try again."
    },
    "amountLabel": "Total",
    "safety": {
      "message": "For your safety, all payments and communication stay inside Beedy. Don’t pay in cash.",
      "needHelp": "Need help with this order?"
    },
    "extras": {
      "title": "Additional work proposed",
      "documentation": "Documentation",
      "requiredHint": "The pro cannot continue without this.",
      "optionalHint": "If you decline, the work continues as agreed.",
      "suspicionAlert": "Our AI flagged this proposal as unusual for this kind of job. Take a moment before accepting.",
      "payNotice": "Accepting charges {{amount}} now into escrow — no extra service fee.",
      "acceptAndPay": "Accept & pay",
      "reject": "Decline",
      "paying": "Processing…",
      "processing": "Payment processing…",
      "error": "Something went wrong. Please try again."
    }
  },
  "aiPanel": {
    "summary": "AI summary",
    "aiAnalysisAvailable": "AI analysis available",
    "confidence": "Confidence",
    "detectedIssues": "Detected issues",
    "recommendations": "Recommendations",
    "estimatedMaterials": "Estimated materials",
    "workDescription": "Work to be done",
    "requiredProducts": "Required products",
    "estimatedDuration": "Est. duration",
    "complexity": "Complexity",
    "urgencyNote": "Urgency note",
    "minutesShort": "min",
    "issuesShort": "issues",
    "materialsShort": "materials",
    "empty": "AI analysis not available yet"
  },
  "errors": {
    "serverNotResponding": "Server not responding",
    "loginRequired": "You must log in to continue",
    "noPermission": "You don't have permission for this action",
    "networkError": "Network error - check your internet connection",
    "serverError": "Server error - try again later",
    "rateLimited": "Too many requests - wait a moment and try again",
    "invalidData": "Invalid data - check the details you entered",
    "generic": "An error occurred - try again",
    "unexpected": "An unexpected error occurred"
  },
  "gps": {
    "permissionRequired": "Location permission required",
    "positionUnavailable": "Cannot get location",
    "timeout": "Location request timed out",
    "genericError": "Error getting location",
    "notSupported": "Browser does not support GPS location",
    "enableLiveTitle": "Enable live location",
    "enableLiveDesc": "Turn on GPS so the client can see you on the way and the route appears.",
    "enableLiveButton": "Enable location",
    "httpsRequired": "HTTPS required for GPS"
  },
  "categories": {
    "cleaning": {
      "name": "Cleaning",
      "description": "Professional cleaning services for home and business",
      "longDescription": "Our professional cleaners offer comprehensive cleaning services for your home or office. From regular cleaning to deep cleaning, we have the perfect solution.",
      "service1Name": "Regular Cleaning",
      "service1Price": "From $30/h",
      "service1Desc": "Complete cleaning of your home or apartment",
      "service2Name": "Deep Cleaning",
      "service2Price": "From $50/h",
      "service2Desc": "Intensive cleaning for spotless results",
      "service3Name": "Window Cleaning",
      "service3Price": "From $25/h",
      "service3Desc": "Sparkling windows and glass surfaces",
      "service4Name": "Move-in/out Cleaning",
      "service4Price": "From $40/h",
      "service4Desc": "Complete cleaning before or after moving",
      "feature1": "Eco-friendly products included",
      "feature2": "Verified professionals",
      "feature3": "Satisfaction guaranteed",
      "feature4": "Flexible booking"
    },
    "plumbing": {
      "name": "Plumbing",
      "description": "Expert plumbers for all your needs",
      "longDescription": "Our qualified plumbers respond quickly to all your plumbing emergencies and projects. Installation, repair, and maintenance.",
      "service1Name": "Leak Repair",
      "service1Price": "From $60",
      "service1Desc": "Detection and repair of water leaks",
      "service2Name": "Drain Cleaning",
      "service2Price": "From $80",
      "service2Desc": "Unclogging of drains and sinks",
      "service3Name": "Fixture Installation",
      "service3Price": "Quote based",
      "service3Desc": "Installation of faucets, toilets, showers",
      "service4Name": "Water Heater",
      "service4Price": "Quote based",
      "service4Desc": "Water heater installation and repair",
      "feature1": "Fast response",
      "feature2": "Free quotes",
      "feature3": "Work guaranteed",
      "feature4": "Available 7 days a week"
    },
    "electrical": {
      "name": "Electrical",
      "description": "Certified electricians for your safety",
      "longDescription": "Our certified electricians handle all your electrical work safely. Installation, troubleshooting, and upgrades.",
      "service1Name": "Electrical Repair",
      "service1Price": "From $70",
      "service1Desc": "Diagnosis and repair of electrical faults",
      "service2Name": "Outlet Installation",
      "service2Price": "From $45/outlet",
      "service2Desc": "Installation of outlets and switches",
      "service3Name": "Electrical Panel",
      "service3Price": "Quote based",
      "service3Desc": "Panel upgrades and replacements",
      "service4Name": "Lighting",
      "service4Price": "From $40",
      "service4Desc": "Light fixture and LED installation",
      "feature1": "Certified electricians",
      "feature2": "Code compliant",
      "feature3": "24/7 emergencies",
      "feature4": "Transparent quotes"
    },
    "beauty": {
      "name": "Beauty & Care",
      "description": "Professional beauty services at home",
      "longDescription": "Enjoy professional beauty services in the comfort of your home. Manicure, hair styling, makeup, and more.",
      "service1Name": "Manicure & Pedicure",
      "service1Price": "From $35",
      "service1Desc": "Professional nail care at home",
      "service2Name": "Hair Styling",
      "service2Price": "From $40",
      "service2Desc": "Cut, color, and styling at home",
      "service3Name": "Makeup",
      "service3Price": "From $50",
      "service3Desc": "Professional makeup for any occasion",
      "service4Name": "Facial Treatment",
      "service4Price": "From $45",
      "service4Desc": "Personalized facial treatments",
      "feature1": "Certified professionals",
      "feature2": "Premium products",
      "feature3": "Home service",
      "feature4": "Impeccable hygiene"
    },
    "renovation": {
      "name": "Renovation",
      "description": "Complete renovation services for your home",
      "longDescription": "Our renovation experts transform your living space. From design to completion, we manage your project from start to finish.",
      "service1Name": "Bathroom Renovation",
      "service1Price": "Quote based",
      "service1Desc": "Complete bathroom renovation",
      "service2Name": "Kitchen Renovation",
      "service2Price": "Quote based",
      "service2Desc": "Modernize your kitchen",
      "service3Name": "Tiling",
      "service3Price": "From $35/m²",
      "service3Desc": "Floor and wall tile installation",
      "service4Name": "Partition & Plaster",
      "service4Price": "Quote based",
      "service4Desc": "Creating and modifying partitions",
      "feature1": "Qualified craftsmen",
      "feature2": "Turnkey project",
      "feature3": "On-time delivery",
      "feature4": "10-year guarantee"
    },
    "gardening": {
      "name": "Gardening",
      "description": "Garden maintenance and landscaping",
      "longDescription": "Our professional gardeners take care of your green spaces. Regular maintenance, landscaping, and hedge trimming.",
      "service1Name": "Lawn Mowing",
      "service1Price": "From $30",
      "service1Desc": "Mowing and lawn maintenance",
      "service2Name": "Hedge Trimming",
      "service2Price": "From $25/h",
      "service2Desc": "Trimming and maintaining your hedges",
      "service3Name": "Landscaping",
      "service3Price": "Quote based",
      "service3Desc": "Design and creation of your garden",
      "service4Name": "Tree Pruning",
      "service4Price": "From $80",
      "service4Desc": "Tree pruning and removal",
      "feature1": "Experienced gardeners",
      "feature2": "Professional equipment",
      "feature3": "Waste removal",
      "feature4": "Regular maintenance"
    },
    "ac": {
      "name": "Air Conditioning",
      "description": "AC installation and maintenance",
      "longDescription": "Our specialized technicians handle installation, maintenance, and repair of your air conditioning system.",
      "service1Name": "AC Installation",
      "service1Price": "Quote based",
      "service1Desc": "Air conditioning system installation",
      "service2Name": "Annual Maintenance",
      "service2Price": "From $90",
      "service2Desc": "Maintenance and cleaning of your AC",
      "service3Name": "Repair",
      "service3Price": "From $70",
      "service3Desc": "Diagnosis and fault repair",
      "service4Name": "Heat Pump",
      "service4Price": "Quote based",
      "service4Desc": "Heat pump installation",
      "feature1": "Certified technicians",
      "feature2": "All brands",
      "feature3": "Fast response",
      "feature4": "Maintenance contract"
    },
    "painting": {
      "name": "Painting",
      "description": "Interior and exterior painting services",
      "longDescription": "Our professional painters handle all your painting needs. Interior, exterior, wall decoration, and finishes.",
      "service1Name": "Interior Painting",
      "service1Price": "From $20/m²",
      "service1Desc": "Wall and ceiling painting",
      "service2Name": "Exterior Painting",
      "service2Price": "From $25/m²",
      "service2Desc": "Facade and exterior painting",
      "service3Name": "Wallpaper",
      "service3Price": "From $15/m²",
      "service3Desc": "Wallpaper installation and removal",
      "service4Name": "Plaster & Finishes",
      "service4Price": "From $18/m²",
      "service4Desc": "Skim coat and finishing work",
      "feature1": "Qualified painters",
      "feature2": "Eco-friendly paints",
      "feature3": "Furniture protection",
      "feature4": "Fine finishes"
    },
    "moving": {
      "name": "Moving",
      "description": "Professional moving services",
      "longDescription": "Our professional movers ensure a stress-free move. Packing, transport, and setup.",
      "service1Name": "Full Moving Service",
      "service1Price": "Quote based",
      "service1Desc": "Complete management of your move",
      "service2Name": "Furniture Transport",
      "service2Price": "From $50",
      "service2Desc": "Transport of furniture and heavy items",
      "service3Name": "Packing",
      "service3Price": "From $30/h",
      "service3Desc": "Professional packing of your belongings",
      "service4Name": "Furniture Assembly",
      "service4Price": "From $40",
      "service4Desc": "Disassembly and reassembly of furniture",
      "feature1": "Professional movers",
      "feature2": "Insurance included",
      "feature3": "Materials provided",
      "feature4": "Punctuality guaranteed"
    }
  },
  "proVerification": {
    "title": "Verification",
    "identityTitle": "Identity verification",
    "identityCta": "Verify my identity",
    "identityPending": "Verification in progress — come back in a minute.",
    "identityFailed": "Verification failed. Please try again.",
    "identityDone": "Identity verified",
    "refresh": "Refresh",
    "credentialsTitle": "Professional credentials",
    "credentialRequired": "A license or diploma is required for this category",
    "credentialSatisfied": "Credential approved",
    "uploadSoon": "Document upload is coming soon — an admin will contact you.",
    "later": "Later",
    "bannerPending": "Verification pending — you can't receive missions yet.",
    "bannerFailed": "Identity verification failed — please retry.",
    "bannerSuspended": "Your account is suspended — contact support.",
    "bannerCta": "Complete verification"
  },
  "proRegistration": {
    "joinProcess": "Joining process",
    "step1Title": "Personal details",
    "step1Desc": "Create account and contact details",
    "step1FormDesc": "Let's start with the basic details to create your account",
    "step2Title": "Business details",
    "step2Desc": "Fields of work and service areas",
    "step3Title": "Availability",
    "step3Desc": "Set business hours",
    "backToLogin": "Back to login",
    "profilePhoto": "Profile photo",
    "uploadPhoto": "Upload photo",
    "maxFileSize": "Maximum 5MB",
    "firstName": "First name",
    "firstNamePlaceholder": "John",
    "lastName": "Last name",
    "lastNamePlaceholder": "Doe",
    "email": "Email",
    "mobilePhone": "Mobile phone",
    "password": "Password",
    "passwordPlaceholder": "At least 6 characters",
    "confirmPassword": "Confirm password",
    "confirmPasswordPlaceholder": "Enter password again",
    "businessHours": "Business hours",
    "businessHoursDesc": "When can customers book you?",
    "closed": "Closed",
    "smartTimeTitle": "Smart time management",
    "smartTimeDesc": "Setting precise business hours will help our AI match you with jobs only when you're available. You can change this anytime in settings.",
    "processing": "Processing...",
    "finishAndJoin": "Finish and join",
    "registrationSuccess": "Registered successfully! Welcome to the Beedy team",
    "days": {
      "sunday": "Sunday",
      "monday": "Monday",
      "tuesday": "Tuesday",
      "wednesday": "Wednesday",
      "thursday": "Thursday",
      "friday": "Friday",
      "saturday": "Saturday"
    },
    "categories": {
      "cleaning": "Cleaning",
      "plumbing": "Plumbing",
      "electrical": "Electrical",
      "beauty": "Beauty & Care",
      "renovation": "Renovation",
      "gardening": "Gardening",
      "ac": "Air Conditioning",
      "moving": "Moving",
      "painting": "Painting"
    },
    "errors": {
      "fileTooLarge": "File is too large. Maximum 5MB",
      "nameRequired": "First name and last name are required",
      "invalidEmail": "Invalid email address",
      "phoneRequired": "Phone number is required",
      "phoneVerificationRequired": "Please verify your phone number before continuing.",
      "passwordMinLength": "Password must be at least 6 characters",
      "passwordsMismatch": "Passwords do not match",
      "registrationFailed": "Registration failed. Please try again.",
      "profileUpdateFailed": "Profile update failed. Please try again.",
      "emailAlreadyExists": "This email is already registered",
      "phoneAlreadyUsed": "This phone number is already used by a professional account",
      "genericError": "An error occurred. Please try again.",
      "invalidEmailFormat": "Invalid email address",
      "invalidOtpCode": "Invalid verification code. Please try again."
    },
    "success": {
      "registered": "Registration successful! Welcome to Beedy",
      "phoneCodeSent": "Verification code sent to your phone.",
      "phoneVerified": "Phone number verified successfully."
    },
    "steps": {
      "joinProcess": "Join Process",
      "personalDetails": "Personal Details",
      "personalDetailsDesc": "Create account and contact info",
      "businessDetails": "Business Details",
      "businessDetailsDesc": "Services and service areas",
      "availability": "Availability",
      "availabilityDesc": "Set working hours",
      "verification": "Verification",
      "verificationDesc": "Verify your identity and credentials"
    },
    "form": {
      "backToLogin": "Back to login",
      "personalDetailsTitle": "Personal Details",
      "personalDetailsSubtitle": "Let's start with the basic details for your account",
      "profilePhoto": "Profile Photo",
      "uploadPhoto": "Upload photo",
      "maxFileSize": "Maximum 5MB",
      "changePhoto": "Change photo",
      "firstName": "First Name",
      "firstNamePlaceholder": "John",
      "lastName": "Last Name",
      "lastNamePlaceholder": "Doe",
      "email": "Email",
      "phone": "Mobile Phone",
      "phoneVerified": "Phone verified",
      "sendCode": "Send code",
      "resendCode": "Resend code",
      "resendCodeIn": "Resend in {{count}}s",
      "phoneVerificationCode": "Verification code",
      "verifyCode": "Verify code",
      "verifyingCode": "Verifying...",
      "password": "Password",
      "passwordPlaceholder": "At least 6 characters",
      "passwordHint": "At least 6 characters",
      "confirmPassword": "Confirm Password",
      "confirmPasswordPlaceholder": "Enter password again",
      "passwordsMismatchInline": "Passwords do not match",
      "continue": "Continue",
      "previous": "Previous",
      "processing": "Processing...",
      "finishAndJoin": "Finish & Join"
    },
    "schedule": {
      "title": "Working Hours",
      "subtitle": "When can clients book you?",
      "closed": "Closed",
      "smartTitle": "Smart Scheduling",
      "smartDesc": "Setting precise working hours will help our AI match you with jobs only when you're available. You can change this anytime in settings."
    },
    "interview": {
      "firstQuestion": "Tell us, what is your main profession or service?",
      "aiInterview": "Smart AI Interview",
      "title": "Tell us about your business",
      "subtitle": "We'll ask a few questions to understand your service",
      "profileSummary": "Your Profile Summary",
      "back": "Back",
      "nextStep": "Continue to next step",
      "typeAnswer": "Type your answer...",
      "preferManual": "Prefer to fill out a form manually?",
      "editDescription": "Edit description",
      "saveDescription": "Save",
      "cancelEdit": "Cancel",
      "categoryLabel": "Category",
      "selectCategoryPlaceholder": "Choose a category...",
      "retry": "Try again",
      "fillManually": "Fill manually",
      "allServices": "All",
      "aiError": "Error communicating with AI. Try again or fill manually."
    },
    "fallback": {
      "title": "Business Details",
      "subtitle": "Fill in the details manually",
      "businessName": "Business Name",
      "businessNamePlaceholder": "Your business name",
      "category": "Category",
      "address": "Address",
      "addressPlaceholder": "e.g. New York, NY",
      "serviceRadius": "Service Radius",
      "km": "km",
      "back": "Back",
      "continue": "Continue",
      "selectCategory": "Select a category",
      "enterBusinessName": "Enter business name",
      "enterAddress": "Enter address"
    }
  },
  "paypal": {
    "paymentSuccess": "Payment successful!",
    "escrowNotice": "Funds will be held in escrow for 14 days",
    "processingError": "Payment processing error",
    "tryAgainOrContact": "Please try again or contact support",
    "paymentCancelled": "Payment cancelled",
    "loadError": "Error loading PayPal",
    "paymentError": "PayPal payment error",
    "cannotLoadPaypal": "Cannot load PayPal at this time",
    "tryAgain": "Try again",
    "amountToPay": "Amount to pay:",
    "escrowNotice14days": "Funds will be held in escrow for 14 days after service completion",
    "loading": "Loading PayPal...",
    "processingPayment": "Processing payment...",
    "securePayment": "Secure payment via PayPal",
    "ssl": "🔒 SSL",
    "protected": "💳 Protected",
    "warranty14days": "✓ 14-day warranty"
  },
  "home": {
    "currentLocation": "Current location",
    "defaultCity": "San Francisco, CA",
    "searchPlaceholder": "Search for services...",
    "browseServices": "Browse Services",
    "services": {
      "cleaning": "Cleaning",
      "cleaningDesc": "Home & office cleaning",
      "plumbing": "Plumbing",
      "plumbingDesc": "Repairs & installations",
      "electrical": "Electrical",
      "electricalDesc": "Wiring & fixtures",
      "beauty": "Beauty",
      "beautyDesc": "Hair, nails & makeup",
      "handyman": "Handyman",
      "handymanDesc": "General repairs",
      "gardening": "Gardening",
      "gardeningDesc": "Lawn & garden care",
      "painting": "Painting",
      "paintingDesc": "Interior & exterior",
      "moving": "Moving",
      "movingDesc": "Packing & moving"
    },
    "popularThisWeek": "Popular This Week",
    "deepHomeCleaning": "Deep Home Cleaning",
    "emergencyPlumbing": "Emergency Plumbing",
    "mobileManicure": "Mobile Manicure",
    "startingAt": "Starting at {{price}}"
  },
  "proMessages": {
    "yesterday": "Yesterday",
    "sendFailed": "Failed to send message",
    "searchConversation": "Search conversation...",
    "loadingConversations": "Loading conversations...",
    "noClientConversations": "No client conversations",
    "conversationWillOpenAutomatically": "A conversation will open automatically when a client contacts you",
    "client": "Client",
    "noMessages": "No messages",
    "orderNumber": "Order #{{number}}",
    "connectingToCall": "Connecting to call...",
    "loadingMessages": "Loading messages...",
    "noMessagesYet": "No messages yet",
    "sendFirstMessageToClient": "Send the first message to the client",
    "typeMessage": "Type a message...",
    "clientConversations": "Client Conversations",
    "selectConversationToView": "Select a conversation to view messages",
    "noConversationsYet": "No conversations yet",
    "adminConversationWillAppear": "Conversations with the system admin will appear here",
    "systemAdmin": "System Admin",
    "online": "Online",
    "callWithAdmin": "Call with system admin",
    "connectingToVideoCall": "Connecting to video call...",
    "videoCallWithAdmin": "Video call with system admin",
    "today": "Today",
    "typeMessageToStartWithAdmin": "Type a message to start a conversation with the admin",
    "fileAttached": "File {{name}} attached",
    "imageAttached": "Image attached",
    "support": "Support",
    "adminConversationWillAppearSendFirst": "Send a message to start a conversation with the system admin",
    "selectConversationToViewAdmin": "Select a conversation to view messages",
    "clientsTab": "Clients",
    "supportTab": "Support",
    "categories": {
      "plumbing": "Plumbing",
      "electrical": "Electrical",
      "cleaning": "Cleaning",
      "ac": "AC",
      "renovation": "Renovation",
      "gardening": "Gardening",
      "general": "General"
    },
    "supportByRequestTab": "Support by request",
    "supportByRequestEmpty": "No support chat linked to your missions yet.",
    "inboxAriaLabel": "Inbox channels"
  },
  "proOrderDetail": {
    "disputeStatus": {
      "pending_pro_response": "Awaiting the pro",
      "pro_scheduled_repair": "Repair scheduled",
      "repaired": "Repaired",
      "refund_issued": "Refund issued",
      "rebooked_other_seller": "Rebooked (other pro)",
      "escalated_support": "Escalated to support",
      "closed_no_action": "Closed, no action",
      "pending_pro_quote": "Awaiting quote",
      "pro_quoted": "Quote sent",
      "accepted": "Accepted",
      "rejected_by_client": "Declined by client",
      "withdrawn": "Withdrawn",
      "pending_client": "Awaiting client",
      "approved_unconditional": "Approved",
      "approved_with_discount": "Approved with discount",
      "pending_pro_slots": "Awaiting slots",
      "slots_proposed": "Slots proposed",
      "confirmed": "Confirmed",
      "cancelled_by_user": "Cancelled by client",
      "cancelled_by_pro": "Cancelled by pro"
    },
    "extensionDays": "+{{n}} days",
    "openMissionView": "Mission view",
    "addAfterPhotos": "Add “after” photos (optional)",
    "addEvidence": "Add a supporting photo",
    "addExtra": "Add an extra",
    "adjustPlaceholder": "Adjustment (± e.g. 15)",
    "adjustPrice": "Adjust the price",
    "adjustReason": "Reason for the adjustment",
    "announceEta": "Announce an arrival time",
    "areaOnly": "Approximate area",
    "arrived": "I’ve arrived",
    "arrivedBanner": "You’ve arrived. Ask the client for approval to start.",
    "awaitingClient": "Waiting for the client’s decision…",
    "back": "Back",
    "basePrice": "Base price",
    "callClient": "Call the client",
    "cancel": "Cancel",
    "cancellationSummary": "Cancellation",
    "changeRequest": {
      "title": "The client requests a change",
      "titleDisputed": "Scope change reported",
      "quoteHint": "Quote the NEW TOTAL price for the mission — the difference with the current price will be charged to or refunded to the client.",
      "pricePlaceholder": "New total price",
      "messagePlaceholder": "Message for the client (optional)",
      "sending": "Sending…",
      "sendQuote": "Send the quote",
      "awaitingClient": "Quote sent — awaiting the client’s decision.",
      "invalidPrice": "Enter a valid new total price.",
      "quoteSent": "Quote sent to the client."
    },
    "damageClaim": {
      "title": "The client reported damage",
      "respondBy": "Propose a repair slot to the client by {{date}}.",
      "deadline": "You have until {{date}} to step in.",
      "severityLow": "Minor",
      "severityMedium": "Moderate",
      "severityHigh": "Severe",
      "scheduleHint": "Propose a repair visit date.",
      "dateLabel": "Repair visit date",
      "schedule": "Propose this date",
      "scheduling": "Sending…",
      "invalidDate": "Pick a valid visit date.",
      "scheduledToast": "Repair visit proposed to the client.",
      "awaiting": "Repair visit scheduled for {{date}}.",
      "markRepaired": "Mark as repaired",
      "repairedToast": "Repair reported — waiting for the client's confirmation.",
      "reschedule": "Change the date",
      "slotLabel": "Repair slot (2h)",
      "chooseSlot": "Choose a slot",
      "awaitingClient": "The client must confirm the repair.",
      "autoConfirmOn": "Without a response from the client, it is confirmed automatically on {{date}}.",
      "noSlotsToday": "No slots left today — pick another date.",
      "awaitingInvalidDate": "Invalid visit date — propose a new date."
    },
    "clientRefused": "The client declined the start.",
    "clientSection": "Client and address",
    "close": "Close",
    "completing": "Finishing…",
    "completionNote": "Note for the client (optional)",
    "confirmAndFinish": "Confirm and finish",
    "depart": "I’m on my way now",
    "estimated": "estimated",
    "etaSent": "Arrival time sent.",
    "extraName": "Label",
    "extraPhoto": "Supporting photo (required)",
    "extraPrice": "Price",
    "extras": "Extras",
    "fieldAddress": "Address",
    "fieldCategory": "Category",
    "fieldScheduled": "Time slot",
    "finance": "Earnings",
    "finishAndBill": "Finish and bill",
    "finishGated": "Finish all the steps first.",
    "lateBanner": "You are late for the time slot. The client can request a cancellation.",
    "messagesEmpty": "No messages.",
    "netLabel": "You receive (net)",
    "onTheWay": "On the way to the client",
    "enRouteTitle": "Mission in progress",
    "enRouteSubtitle": "You're on your way. The client can track your location live.",
    "orderInfo": "Information",
    "orderSummary": "Order summary",
    "photosAfter": "After photos",
    "photosAttached": "photo(s) attached",
    "photosBefore": "Before photos",
    "photosSelected": "{{n}} photo(s)",
    "platformFee": "Platform fee",
    "proposeAgain": "Propose again",
    "proposeExtra": "Propose to the client",
    "refundLine": "Client refund",
    "reqChange": "Scope change",
    "reqDamage": "Damage claim",
    "reqExtension": "Extension request",
    "reqTimeChange": "Time change",
    "requestApproval": "Request the client’s approval",
    "requestsDisputes": "Requests and disputes",
    "salesTax": "Tax",
    "sendEta": "Send the time",
    "startWork": "Start the work",
    "steps": "Job steps",
    "stepsEmpty": "No steps recorded.",
    "subtotal": "Subtotal (escrow)",
    "support": "Help",
    "tabDetails": "Details",
    "tabMessages": "Messages",
    "timeline": "History",
    "timelineEmpty": "No events.",
    "total": "Total",
    "untitled": "Job",
    "uploading": "Uploading…",
    "viewClientFile": "View client file",
    "withdraw": "Withdraw the request",
    "workTime": "Work time"
  },
  "proActiveJob": {
    "milestoneValidatedByClient": "Client validated: {{title}}",
    "extraAcceptedByClient": "Client accepted an extra.",
    "extrasAwaitingClient": "Awaiting client",
    "extrasAwaitingHint": "Not included in the total until the client pays",
    "milestoneFallbackTitle": "your step",
    "statusUpdateFailed": "Update failed, please try again.",
    "photoUploadFailed": "Photo upload failed.",
    "afterPhotoRequired": "Add at least one \"after\" photo to finish.",
    "departNow": "I'm leaving now",
    "uploading": "Uploading…",
    "sending": "Sending…",
    "proposeExtraCta": "Propose to client",
    "extraInvalid": "Enter a valid label and price.",
    "extraPhotoRequired": "Add a justification photo.",
    "extraFailed": "Could not send the extra.",
    "extraProposed": "Extra proposed to the client.",
    "extraAccepted": "Accepted",
    "extraRejected": "Declined",
    "extraPending": "Pending",
    "extraPaymentPending": "Awaiting client payment",
    "extraWithdrawn": "Withdrawn",
    "guard": {
      "missingBeforePhoto": "Take a \"before\" photo on site to start work.",
      "beforePhotoOutOfWindow": "The \"before\" photo must be taken after you arrive.",
      "missingAfterPhoto": "Add an \"after\" photo to complete the job.",
      "afterPhotoOutOfWindow": "The \"after\" photo must be taken after work starts.",
      "tooFarFromLocation": "You must be within 500m of the job location to confirm arrival.",
      "locationRequired": "Turn on your location to confirm your arrival.",
      "orderNoLocation": "This order has no location on file — contact support to mark arrival."
    },
    "milestones": {
      "title": "Mission steps",
      "nextUpTitle": "Your steps",
      "startingNow": "Step to start",
      "upNext": "Next step",
      "lastStep": "Last step",
      "empty": "No steps planned for this mission.",
      "start": "Start step",
      "addPhoto": "Step photo",
      "requestValidation": "Request client validation",
      "requestValidationHint": "Add at least one photo to request validation",
      "requestValidationError": "Something went wrong, please retry.",
      "locked": "Locked until previous steps are validated",
      "outOfOrder": "Finish the previous steps first",
      "awaitingValidation": "Awaiting client validation",
      "inProgress": "In progress",
      "validated": "Validated by client",
      "photosAdded": "Added photos",
      "photoPreview": "Photo preview",
      "estimatedTime": "Estimated time",
      "remaining": "{{time}} left",
      "overBy": "Over by {{time}}",
      "setTime": "Set time",
      "editTime": "Edit time",
      "timeValue": "Duration",
      "timeUnit": "Unit",
      "actualTime": "Done in {{time}}",
      "estimateInline": "est. {{time}}",
      "diffOver": "+{{time}}",
      "diffUnder": "−{{time}}",
      "lessThanMinute": "< 1 min",
      "totalTimeTitle": "Total time spent",
      "totalStepsDone": "{{n}} steps completed"
    },
    "clientWaitingMessage": "Hello, I'm waiting for you! Let me know when you're on your way",
    "supportGreeting": "Hello! How can we help you?",
    "imageRequired": "You must take a photo or video of the item",
    "minimizeScreen": "Minimize screen",
    "contactSupport": "Contact support",
    "activeMission": "Active Mission",
    "orderNumber": "Order #48291",
    "statusTraveling": "On the way",
    "statusArrivingSoon": "Arriving soon",
    "statusArrived": "Arrived",
    "statusWorking": "Working",
    "statusSummary": "Summary & Payment",
    "defaultClientName": "Danny Cohen",
    "defaultAddress": "100 Biscayne Blvd, Miami, FL 33132",
    "estimatedTime": "Estimated time",
    "minutes": "min",
    "minutesFull": "minutes",
    "distance": "Distance",
    "km": "km",
    "navigateWithWaze": "Navigate with Waze",
    "arrivingSoon": "Arriving soon (< 5 min)",
    "arrivedAtDestination": "Arrived at destination",
    "haveProblemContactSupport": "Having a problem? Contact support",
    "arrivedAtDestinationTitle": "You've arrived!",
    "arrivedAtDestinationDesc": "The client has been notified you're here. Please verify job details with the client before starting.",
    "service": "Service",
    "defaultService": "Leak repair",
    "estimatedPrice": "Estimated price",
    "startWork": "Start Work (Start Timer)",
    "offerAccepted": {
      "title": "The client accepted your offer",
      "price": "Price confirmed: {{price}}",
      "extrasHint": "The base price is locked. You can add extras once the work has started."
    },
    "startApproval": {
      "adjustPrice": "Adjust price",
      "priceLabel": "Intervention price",
      "basePriceLabel": "Order price",
      "adjustmentLabel": "Adjustment (+ / −)",
      "newTotalLabel": "New total",
      "reasonPlaceholder": "Reason for the adjustment",
      "evidencePhotoCta": "Add a photo justifying the adjustment",
      "evidencePhotoAdded": "Photo added ({{count}})",
      "evidenceRequired": "Add a reason and a photo to justify the price change.",
      "requestButton": "Ask the client to approve the start",
      "sending": "Sending request…",
      "waitingTitle": "Waiting for the client's approval",
      "waitingDesc": "The client must accept the start before you can launch the timer.",
      "requestedPrice": "Requested price: {{price}}",
      "withdraw": "Cancel request",
      "approvedTitle": "Approval received",
      "approvedDesc": "The client accepted. You can start the intervention.",
      "rejectedTitle": "The client declined",
      "rejectedDesc": "The order is on hold. You can propose again or contact support.",
      "proposeAgain": "Propose again",
      "errorGeneric": "Action failed. Please try again.",
      "priceInvalid": "Enter a valid amount.",
      "increaseWarningTitle": "If the client declines this increase",
      "increaseWarningBody": "The order goes on hold and the amount locked for this order is not paid out to you. Your trip is not compensated.",
      "errorNotArrived": "This order is no longer active — resume it before asking the client to start.",
      "errorAlreadyOpen": "A start request is already awaiting the client's answer.",
      "errorNotPending": "This request can no longer be cancelled.",
      "errorCannotResume": "This order can't be resumed. Refresh, or contact support.",
      "errorForbidden": "This order isn't assigned to you.",
      "errorNotFound": "This order no longer exists. Refresh your list.",
      "errorBadRequest": "Something went wrong with the request. Refresh and try again.",
      "errorSession": "Your session has expired. Sign in again and retry.",
      "errorServer": "The server is momentarily unavailable. Please try again.",
      "errorRateLimited": "Too many requests — please wait a moment, then try again."
    },
    "chatWithSupport": "Chat with support agent",
    "peekShowMap": "Show the map",
    "peekShowInfo": "Show details",
    "addItemPart": "Add item/part",
    "itemName": "Item name",
    "itemNamePlaceholder": "e.g.: Rubber tube",
    "priceLabel": "Price ($)",
    "documentationRequired": "Documentation (required)",
    "captureOrUploadRequired": "Take or upload photo/video (required)",
    "addToInvoice": "Add to invoice",
    "workTime": "Work time",
    "extrasPartsMaterials": "Extras (parts/materials)",
    "addExtra": "+ Add",
    "noItemsAdded": "No items added",
    "finishAndCharge": "Finish work & charge",
    "finishAndChargeLocked": "Complete and get every step validated before charging.",
    "orderSummary": "Order Summary",
    "verifyDetailsWithClient": "Please verify details with client",
    "workDuration": "Work ({{minutes}} min)",
    "totalPayment": "Total payment",
    "sendPaymentRequest": "Review & finish",
    "jobCompletedSuccess": "Job completed successfully!",
    "redirectingToSummary": "Redirecting to summary...",
    "jobCompleted": "Job Completed!",
    "pleaseConfirmSummary": "Please confirm the summary details",
    "jobDetails": "Job Details",
    "serviceType": "Service type",
    "clientName": "Client name",
    "basePrice": "Base price",
    "extras": "Extras",
    "addNoteOptional": "Add note (optional)",
    "addNotesPlaceholder": "Add notes about the work, recommendations for client, etc...",
    "beforeAfterDocumentation": "Before/after documentation (optional)",
    "documentation": "Documentation",
    "uploadPhotos": "Upload photos",
    "completing": "Completing...",
    "confirmAndFinish": "Confirm & Finish",
    "close": "Close",
    "technicalSupport": "Technical Support",
    "availableNow": "Available now",
    "writeMessageToAgent": "Write a message to agent...",
    "client": "Client",
    "writeMessageToClient": "Write a message to client...",
    "milestoneTitlePlaceholder": "e.g. Diagnosis complete",
    "youLabel": "You",
    "addMissionStep": "Add mission step",
    "milestoneNeedsOrder": "This mission is not linked to a server order yet; milestones cannot be saved.",
    "recap": {
      "title": "Before/after summary",
      "before": "Before",
      "after": "After",
      "step": "Step {{n}}",
      "empty": "No photos yet."
    },
    "arrivalEta": {
      "label": "Announce a new arrival time",
      "announce": "Announce",
      "sent": "Arrival time sent to the client",
      "invalid": "Invalid time",
      "past": "That time is already in the past",
      "tooFar": "That time is too far away",
      "wrongStatus": "You can only announce a time while on the way",
      "failed": "Could not announce this time"
    }
  },
  "aboutUs": {
    "backToHome": "Back to home",
    "hero": {
      "badge": "Gen 3.0 • The future of service marketplaces",
      "headline": "We're building the trust infrastructure for a $600B global home services market",
      "subhead": "Live call for tenders between verified local pros. You only pay when the job is done.",
      "ctaPrimary": "Find a pro",
      "ctaSecondary": "Join as a pro"
    },
    "stats": {
      "title": "Beedy in numbers",
      "subtitle": "Early signals from our private beta and research",
      "registeredUsers": "Registered users",
      "averageRating": "Average rating",
      "disputeRate": "Dispute rate",
      "retention": "Retention rate",
      "ltvCac": "LTV / CAC",
      "interviews": "User interviews"
    },
    "problem": {
      "badge": "The problem",
      "title": "Local home services are stressful, opaque, and inefficient",
      "buyerTitle": "For homeowners",
      "buyerStory": "Yaël needs a plumber. She calls 6 numbers, waits 3 days, gets overcharged by 40%, and risks poor-quality work with no guarantee.",
      "buyerStat": "40%",
      "buyerStatLabel": "average overcharge",
      "proTitle": "For local professionals",
      "proStory": "Service providers struggle to find nearby customers, chase payments, and manage fragmented tools.",
      "proStat": "80%",
      "proStatLabel": "of pros are overwhelmed by volume"
    },
    "solution": {
      "badge": "The solution",
      "title": "The Beedy way",
      "subtitle": "Verified pros compete live for your job, delivering the best possible offer",
      "step1Title": "Request",
      "step1Desc": "Video-based, AI-categorized in seconds",
      "step2Title": "Live offers",
      "step2Desc": "Real-time competition between verified local pros",
      "step3Title": "Escrow",
      "step3Desc": "Funds secured upfront — pay only when done",
      "step4Title": "Done",
      "step4Desc": "Instant payout and verified review"
    },
    "evolution": {
      "badge": "Market evolution",
      "title": "The evolution of service marketplaces",
      "subtitle": "Moving away from inefficient lead generation toward a guaranteed, transactional economy",
      "gen1Label": "Gen 1.0",
      "gen1Title": "Directories",
      "gen1Examples": "Yelp, Yellow Pages",
      "gen1Pain": "Pay-to-play visibility. No guarantees on service quality.",
      "gen2Label": "Gen 2.0",
      "gen2Title": "Lead generation",
      "gen2Examples": "Thumbtack, Angi",
      "gen2Pain": "Professionals pay for leads that don't convert. High friction.",
      "gen3Label": "Gen 3.0",
      "gen3Title": "Managed marketplace",
      "gen3Examples": "Beedy",
      "gen3Pain": "No cure, no pay. Funds secured and verified. Guaranteed trust."
    },
    "team": {
      "badge": "Leadership",
      "title": "The founding team",
      "subtitle": "A mission-driven team with the strategic clarity and operational depth to turn early signals into a scalable marketplace",
      "yonathanRole": "CEO — Product & Vision",
      "yonathanSuperpower": "Market logic & visionary strategy",
      "yonathanBio1": "Bridging user needs and tech for global execution",
      "yonathanBio2": "Turns complex problems into scalable products",
      "yonathanBio3": "Delivers fast, reliable, frictionless products",
      "hilaRole": "CSO — Market Economics",
      "hilaSuperpower": "Economics & market strategy",
      "hilaBio1": "Economist turning insights into trust and user loyalty",
      "hilaBio2": "Defines core economic strategies for the company",
      "hilaBio3": "Translates complex dynamics into growth models",
      "barRole": "CTO — Product Development",
      "barSuperpower": "Scalable systems & data infrastructure",
      "barBio1": "AppsFlyer alum — senior engineer & team lead, 8+ years",
      "barBio2": "Specialist in scalable data infrastructure",
      "barBio3": "Former IDF software team lead (mission-critical), 7+ years",
      "shyRole": "Head of Marketing — Growth & Brand",
      "shySuperpower": "Global brand & acquisition",
      "shyBio1": "Sony Pictures alum — storytelling and global scaling",
      "shyBio2": "Expert in community-led, high-conversion models",
      "shyBio3": "Brand and performance marketing at scale",
      "alexRole": "Head of Ops & Sales",
      "alexSuperpower": "Operational scaling & success",
      "alexBio1": "Scaling performance and reliability across tech teams",
      "alexBio2": "Supply integrity — partner success and top-tier quality",
      "alexBio3": "Builds robust systems for rapid market expansion"
    },
    "roadmap": {
      "badge": "Roadmap",
      "title": "Where we're going",
      "subtitle": "A focused path from POC to global marketplace",
      "statusCompleted": "Completed",
      "statusInProgress": "In progress",
      "statusUpcoming": "Upcoming",
      "m1Year": "2025",
      "m1Title": "POC & early onboarding",
      "m1Desc": "Interviewed 200+ homeowners and 300 pros",
      "m2Year": "2026",
      "m2Title": "Public launch & scale",
      "m2Desc": "12 cities, 1K active pros, $10.8M GMV",
      "m3Year": "2026–27",
      "m3Title": "Traction & monetization",
      "m3Desc": "Break-even, >15% take rate",
      "m4Year": "2027",
      "m4Title": "Series A readiness",
      "m4Desc": "$30M GMV"
    },
    "engine": {
      "badge": "Our technology",
      "title": "Beedy AI — the decision engine behind every match",
      "subtitle": "Our core IP isn't just a marketplace — it's a decision engine optimizing every interaction",
      "f1Title": "Dynamic pricing",
      "f1Desc": "Fair market prices set live, not listed",
      "f2Title": "Smart matching",
      "f2Desc": "Right pro for the right job — nearby and available",
      "f3Title": "Anti-collusion AI",
      "f3Desc": "Detects and blocks manipulated offers",
      "f4Title": "Refund process",
      "f4Desc": "No cure, no pay — escrow-backed guarantee"
    },
    "cta": {
      "title": "Join us in building the trust infrastructure",
      "subtitle": "Whether you're a homeowner or a local pro, there's a place for you at Beedy",
      "primary": "Get started",
      "secondary": "Join as a pro",
      "contactLabel": "Investors & partnerships"
    }
  },
  "accessibility": {
    "eyebrow": "Accessibility",
    "heroTitle": "A platform built to be used by everyone.",
    "heroDesc": "Beedy is designed and developed to follow WCAG 2.2 AA guidelines so everyone — regardless of ability — can browse pros, book services and manage their account without friction.",
    "lastUpdated": "Last updated: 12 May 2026",
    "tocCommitment": "Our commitment",
    "tocVisual": "Visual accessibility",
    "tocAuditory": "Auditory accessibility",
    "tocMotor": "Motor accessibility",
    "tocCognitive": "Cognitive accessibility",
    "tocLimitations": "Known limitations",
    "tocFeedback": "Feedback & support",
    "tocFaq": "Frequently Asked Questions (FAQ)",
    "s1Title": "Our commitment",
    "s1Para1": "Accessibility is a core product principle at Beedy. We treat it like any other quality requirement: it's baked into our design system, reviewed before every release, and audited by an independent third party every 12 months.",
    "s1Para2": "When something doesn't work well for assistive technologies — or just for a customer who happens to use the platform differently — we treat it as a bug worth fixing fast.",
    "standardLabel": "Standard followed",
    "standardBody": "Beedy targets WCAG 2.2 Level AA conformance, which is the de facto standard for compliance with Title III of the Americans with Disabilities Act (42 U.S.C. §§ 12181–12189) for places of public accommodation. We also align with Section 508 of the Rehabilitation Act (29 U.S.C. § 794d) where federal-procurement nexus applies. Internal audits run on every major release; the latest external audit was conducted in March 2026.",
    "visualTitle": "Visual accessibility",
    "visualIntro": "For users who rely on screen readers, magnification, custom colors or simply struggle with low contrast.",
    "visualCardTitle": "What we've shipped",
    "visual1Title": "High color contrast",
    "visual1Body": "All text, icons and interactive elements meet at least the WCAG AA contrast ratio (4.5:1 for body text, 3:1 for large text and graphics).",
    "visual2Title": "Alt text on every image",
    "visual2Body": "Each photo, illustration and decorative icon has an appropriate alt attribute (or aria-hidden when purely decorative) so screen readers convey the right context.",
    "visual3Title": "Resizable text and zoom-friendly layouts",
    "visual3Body": "The interface stays usable up to 200% browser zoom; respecting your OS font-size preference works the same on web and mobile.",
    "auditoryTitle": "Auditory accessibility",
    "auditoryIntro": "For deaf or hard-of-hearing users — and for anyone who prefers reading over listening.",
    "auditoryCardTitle": "What we've shipped",
    "auditory1Title": "Captions on every video",
    "auditory1Body": "Help-center tutorials and marketing videos ship with synced captions in every supported language.",
    "auditory2Title": "Transcripts",
    "auditory2Body": "Audio-only content (e.g. podcasts) is paired with a full text transcript next to the player.",
    "auditory3Title": "No audio-only critical info",
    "auditory3Body": "Notifications and important alerts never rely on sound alone — there is always a visual or textual equivalent.",
    "motorTitle": "Motor accessibility",
    "motorIntro": "For users navigating with a keyboard, switch device or voice control.",
    "motorCardTitle": "What we've shipped",
    "motor1Title": "Full keyboard navigation",
    "motor1Body": "Every interactive element is reachable via Tab and operable via Enter/Space. Skip-to-content links jump past the header.",
    "motor2Title": "Clear focus indicators",
    "motor2Body": "A visible focus ring (or high-contrast outline) appears on every focused element — never relying on color alone.",
    "motor3Title": "Generous touch targets",
    "motor3Body": "Buttons and inputs are at least 44×44 px on mobile, meeting Apple HIG and WCAG 2.5.5 (target size) recommendations.",
    "cognitiveTitle": "Cognitive accessibility",
    "cognitiveIntro": "Clarity helps everyone — but it's essential for users with dyslexia, ADHD, anxiety, or anyone in a stressful moment.",
    "cognitiveCardTitle": "What we've shipped",
    "cognitive1Title": "Plain language",
    "cognitive1Body": "Copy is written in straightforward sentences. Legal pages and help articles avoid jargon and explain technical terms inline.",
    "cognitive2Title": "Consistent layout",
    "cognitive2Body": "Navigation, terminology and visual hierarchy stay consistent across the platform so muscle memory works.",
    "cognitive3Title": "No surprise actions",
    "cognitive3Body": "Destructive actions (delete account, cancel booking) always require a confirmation step and clearly describe the consequence.",
    "s6Title": "Known limitations",
    "s6Intro": "We aim for full WCAG 2.2 AA conformance but a few areas remain in progress. We list them publicly so you know exactly what to expect and how to work around them.",
    "limitationLabel": "In-progress items",
    "limitationBody": "Some third-party embeds (legacy map provider, certain payment iframes) are not yet fully accessible to screen readers. We are migrating these dependencies over the next two releases.",
    "s7Title": "Feedback & support",
    "s7Intro": "Run into an accessibility issue? We'd love to hear about it — every report ends up on our backlog with a target turnaround of 7 days for AA-level bugs. We acknowledge every email within 2 business days.",
    "feedbackEmailLabel": "Accessibility team",
    "faqTitle": "Frequently Asked Questions (FAQ)",
    "faq1Q": "Which accessibility standard does Beedy follow?",
    "faq1A": "WCAG 2.2 Level AA, recognized as the conformance benchmark for ADA Title III (US public-accommodation accessibility) and aligned with Section 508. An external audit is conducted every 12 months and our latest report is available on request.",
    "faq2Q": "Does Beedy support screen readers?",
    "faq2A": "Yes. We test on VoiceOver (iOS/macOS), NVDA (Windows), TalkBack (Android) and JAWS. If you hit a screen-reader-specific bug, please email us with the page URL and the assistive software version.",
    "faq3Q": "Can I navigate the entire app with a keyboard?",
    "faq3A": "Yes. Every interactive element is reachable via Tab, operable via Enter/Space and dismissable via Escape. Skip-to-content links appear at the start of each page for fast navigation.",
    "faqHelpPrefix": "More accessibility questions? Reach out to our team.",
    "faqHelpCta": "Contact support",
    "finalCtaTitle": "Spotted an accessibility issue? Tell us.",
    "finalCtaDesc": "We treat accessibility bugs the same way as any other — they go straight to the engineering backlog. Drop us a line and we'll work with you to find a fix.",
    "finalCtaButton": "Contact our team"
  },
  "account": {
    "delete": {
      "appSettings": "app settings",
      "confirmationLabel": "confirmation label",
      "confirmationPlaceholder": "confirmation placeholder",
      "customerDetails": "customer details",
      "dangerDescription": "danger description",
      "dangerZone": "danger zone",
      "deleteMyAccount": "delete my account",
      "orderHistory": "order history",
      "permanentDescription": "permanent description",
      "permanentTitle": "permanent title",
      "serviceAccess": "service access",
      "whatWillBeDeleted": "what will be deleted"
    },
    "editProfile": {
      "bioHint": "bio hint",
      "bioLabel": "bio label",
      "bioPlaceholder": "bio placeholder",
      "changePhoto": "change photo",
      "description": "description",
      "emailCannotChange": "email cannot change",
      "emailLabel": "email label",
      "firstName": "first name",
      "firstNameDefault": "first name default",
      "lastName": "last name",
      "lastNameDefault": "last name default",
      "phoneLabel": "phone label",
      "profileStrength": "profile strength",
      "saveChanges": "save changes",
      "title": "title"
    },
    "general": {
      "appearance": "appearance",
      "darkMode": "dark mode",
      "darkModeDesc": "dark mode desc",
      "description": "description",
      "interfaceLanguage": "interface language",
      "languageRegion": "language region",
      "mainCurrency": "main currency",
      "privacyAi": {
        "title": "Privacy & AI",
        "signInPrompt": "Sign in to manage your privacy preferences.",
        "aiProcessingLabel": "AI photo analysis",
        "aiProcessingDesc": "Allow Beedy to send your uploaded photos and videos to our AI provider so we can give you an instant diagnosis. You can turn this off at any time.",
        "marketingEmailLabel": "Marketing emails",
        "marketingEmailDesc": "Receive product news, tips and special offers by email.",
        "marketingWhatsappLabel": "Marketing on WhatsApp",
        "marketingWhatsappDesc": "Receive product news and special offers on WhatsApp.",
        "saved": "Preferences saved.",
        "saveError": "Could not save your preference. Please try again.",
        "loadError": "Could not load your privacy preferences."
      },
      "selectCurrency": "select currency",
      "selectLanguage": "select language",
      "title": "title"
    },
    "notifications": {
      "description": "description",
      "marketingAndNews": "marketing and news",
      "missionsAndOrders": "missions and orders",
      "orderStatusUpdate": "order status update",
      "orderStatusUpdateDesc": "order status update desc",
      "promotionsAndOffers": "promotions and offers",
      "promotionsAndOffersDesc": "promotions and offers desc",
      "securityAlerts": "security alerts",
      "securityAlertsDesc": "security alerts desc",
      "securityAlertsWarning": "security alerts warning",
      "systemAndSecurity": "system and security",
      "taskReminder": "task reminder",
      "taskReminderDesc": "task reminder desc",
      "title": "title",
      "weeklyNewsletter": "weekly newsletter",
      "weeklyNewsletterDesc": "weekly newsletter desc"
    },
    "security": {
      "back": "back",
      "backupCodesRemaining": "backup codes remaining",
      "confirmDisable2FA": "confirm disable 2 f a",
      "confirmRemoveDevice": "confirm remove device",
      "connectedDevices": "connected devices",
      "connectedDevicesDesc": "connected devices desc",
      "continue": "continue",
      "copied": "copied",
      "copyAllCodes": "copy all codes",
      "deviceMarkedTrusted": "device marked trusted",
      "deviceRemoved": "device removed",
      "disableTwoFa": "disable two fa",
      "enableTwoFa": "enable two fa",
      "enterCodeFromApp": "enter code from app",
      "enterSixDigitCode": "enter six digit code",
      "error": "error",
      "markAsTrusted": "mark as trusted",
      "noDevicesFound": "no devices found",
      "orEnterManually": "or enter manually",
      "recommendNewBackupCodes": "recommend new backup codes",
      "revokeTrust": "revoke trust",
      "saveBackupCodesDescription": "save backup codes description",
      "saveBackupCodesWarning": "save backup codes warning",
      "savedFinish": "saved finish",
      "scanQrCode": "scan qr code",
      "setupError": "setup error",
      "title": "title",
      "trusted": "trusted",
      "twoFaDescription": "two fa description",
      "twoFaDisabled": "two fa disabled",
      "twoFaEnabled": "two fa enabled",
      "twoFaEnabledSuccess": "two fa enabled success",
      "twoFaSubtitle": "two fa subtitle",
      "twoFaTitle": "two fa title",
      "unknownDevice": "unknown device",
      "verificationError": "verification error",
      "verifyCode": "verify code",
      "wrongCodeTryAgain": "wrong code try again"
    }
  },
  "activeOrderTracking": {
    "amountToPay": "amount to pay",
    "callProvider": "call provider",
    "confirmAndPayNow": "confirm and pay now",
    "demo": {
      "address": "address",
      "carInfo": "car info",
      "providerName": "provider name",
      "providerRole": "provider role",
      "service": "service"
    },
    "demoChangeStatus": "demo change status",
    "demoMode": "demo mode",
    "expert": "expert",
    "goBack": "go back",
    "liveTracking": "live tracking",
    "liveTrackingDescription": "live tracking description",
    "openChatWith": "open chat with",
    "orderDetails": "order details",
    "paymentSecuredViaPayPal": "payment secured via pay pal",
    "paymentsOnlyThroughApp": "payments only through app",
    "professional": "professional",
    "providerPhoto": "provider photo",
    "securityCode": "security code",
    "service": "service",
    "status": {
      "cancelled": "cancelled",
      "completed": "completed",
      "orderConfirmed": "order confirmed",
      "pending": "pending",
      "pendingApproval": "pending approval",
      "pendingPayment": "pending payment"
    },
    "theProvider": "the provider",
    "trackingAutoActivate": "tracking auto activate",
    "workCompleted": "work completed",
    "workCompletedDescription": "work completed description"
  },
  "adaptiveQuestions": {
    "ac": {
      "acProblem": "ac problem",
      "acType": "ac type",
      "badSmell": "bad smell",
      "centralIndustrial": "central industrial",
      "doesntTurnOn": "doesnt turn on",
      "fourPlusAC": "four plus a c",
      "fourPlusCentral": "four plus central",
      "howManyForMaintenance": "how many for maintenance",
      "howManyUnits": "how many units",
      "multiSplit": "multi split",
      "notCooling": "not cooling",
      "oneAC": "one a c",
      "oneUnit": "one unit",
      "regularWallMounted": "regular wall mounted",
      "twoThreeAC": "two three a c",
      "twoThreeUnits": "two three units",
      "unusualNoise": "unusual noise",
      "waterDripping": "water dripping"
    },
    "categories": {
      "ac": "ac",
      "acShort": "ac short",
      "beauty": "beauty",
      "cleaning": "cleaning",
      "electrical": "electrical",
      "gardening": "gardening",
      "moving": "moving",
      "painting": "painting",
      "plumbing": "plumbing",
      "renovation": "renovation"
    },
    "cleaning": {
      "deep": {
        "combined": "combined",
        "dustDirt": "dust dirt",
        "greaseKitchen": "grease kitchen",
        "halfYearPlus": "half year plus",
        "howLongSinceCleaning": "how long since cleaning",
        "mainDirtType": "main dirt type",
        "moldMoisture": "mold moisture",
        "oneToThreeMonths": "one to three months",
        "petHair": "pet hair",
        "yearPlusBadCondition": "year plus bad condition"
      },
      "move": {
        "afterMoveOut": "after move out",
        "apartmentCondition": "apartment condition",
        "badConditionNeglected": "bad condition neglected",
        "beforeMoveIn": "before move in",
        "beforeOrAfter": "before or after",
        "both": "both",
        "mediumCondition": "medium condition",
        "reasonableCondition": "reasonable condition"
      },
      "postConstruction": {
        "dirtType": "dirt type",
        "drywallPlaster": "drywall plaster",
        "dustLightDirt": "dust light dirt",
        "fullRenovation": "full renovation",
        "heavyDirt": "heavy dirt",
        "paintGluePlaster": "paint glue plaster",
        "painting": "painting",
        "renovationType": "renovation type",
        "tiling": "tiling",
        "windowCleaningNeeded": "window cleaning needed"
      },
      "regular": {
        "frequency": "frequency",
        "onceAWeek": "once a week",
        "oneTime": "one time",
        "twiceAWeek": "twice a week"
      }
    },
    "detectedFromPhotos": "detected from photos",
    "dontKnow": "dont know",
    "electrical": {
      "damagedBurned": "damaged burned",
      "gettingHot": "getting hot",
      "lighting": {
        "ceilingLight": "ceiling light",
        "dimLight": "dim light",
        "doesntTurnOn": "doesnt turn on",
        "flickering": "flickering",
        "fullLightingSystem": "full lighting system",
        "newInstall": "new install",
        "newInstallWiring": "new install wiring",
        "outdoorLight": "outdoor light",
        "problem": "problem",
        "replaceFixture": "replace fixture",
        "spotlights": "spotlights",
        "type": "type",
        "wallLight": "wall light",
        "workType": "work type"
      },
      "loose": "loose",
      "notWorking": "not working",
      "outlet": {
        "addNewOutlet": "add new outlet",
        "multipleNewWiring": "multiple new wiring",
        "outletProblem": "outlet problem",
        "repairReplace": "repair replace",
        "whichRoom": "which room",
        "workType": "work type"
      },
      "panel": {
        "addCircuit": "add circuit",
        "breakerTrips": "breaker trips",
        "burningSmell": "burning smell",
        "fullReplacementUpgrade": "full replacement upgrade",
        "panelProblem": "panel problem",
        "repairReplaceBreaker": "repair replace breaker",
        "unusualNoise": "unusual noise",
        "upgradeNeeded": "upgrade needed",
        "whatNeeded": "what needed"
      },
      "sparking": "sparking",
      "wiring": {
        "damagedCables": "damaged cables",
        "exposedCables": "exposed cables",
        "newWiringNeeded": "new wiring needed",
        "sparksShorts": "sparks shorts",
        "wiringCondition": "wiring condition"
      }
    },
    "keywords": {
      "accumulated": "accumulated",
      "breaker": "breaker",
      "cable": "cable",
      "ceiling": "ceiling",
      "clog": "clog",
      "construction": "construction",
      "floor": "floor",
      "leak": "leak",
      "leaking": "leaking",
      "lighting": "lighting",
      "movingApartment": "moving apartment",
      "outlet": "outlet",
      "panel": "panel",
      "renovation": "renovation",
      "thorough": "thorough",
      "wall": "wall",
      "water": "water",
      "wiring": "wiring"
    },
    "no": "no",
    "notSure": "not sure",
    "painting": {
      "balconySingleWall": "balcony single wall",
      "buildingLargeArea": "building large area",
      "ceilingHeight": "ceiling height",
      "exteriorArea": "exterior area",
      "high27To4": "high 27 to 4",
      "howManyRooms": "how many rooms",
      "largeRoomOver20": "large room over 20",
      "mediumRoom12To20": "medium room 12 to 20",
      "multipleExteriorWalls": "multiple exterior walls",
      "normalUpTo27": "normal up to 27",
      "roomSize": "room size",
      "sixPlusRooms": "six plus rooms",
      "smallRoomUpTo12": "small room up to 12",
      "veryHighOver4": "very high over 4"
    },
    "plumbing": {
      "clog": {
        "accessToDrain": "access to drain",
        "bathtub": "bathtub",
        "clogSeverity": "clog severity",
        "clogWhere": "clog where",
        "didntTry": "didnt try",
        "externalSewerManhole": "external sewer manhole",
        "firstTime": "first time",
        "fullyBlockedOverflow": "fully blocked overflow",
        "happensOften": "happens often",
        "occasionally": "occasionally",
        "openAccessibleDrain": "open accessible drain",
        "partiallyBlocked": "partially blocked",
        "repeatedlyComesBack": "repeatedly comes back",
        "sewerDrain": "sewer drain",
        "shower": "shower",
        "sink": "sink",
        "slowDrain": "slow drain",
        "toilet": "toilet",
        "triedDidntHelp": "tried didnt help",
        "triedSolving": "tried solving",
        "underSinkBath": "under sink bath",
        "yesWithChemical": "yes with chemical",
        "yesWithPlunger": "yes with plunger"
      },
      "installation": {
        "equipmentPurchased": "equipment purchased",
        "faucetSimple": "faucet simple",
        "fullSystem": "full system",
        "needAdvice": "need advice",
        "noNeedToBuy": "no need to buy",
        "sinkToiletShower": "sink toilet shower",
        "whatToInstall": "what to install",
        "yesHaveEquipment": "yes have equipment"
      },
      "leak": {
        "accessToLeak": "access to leak",
        "behindCabinetFurniture": "behind cabinet furniture",
        "canShutWater": "can shut water",
        "ceilingAccess": "ceiling access",
        "ceilingFloor": "ceiling floor",
        "ceilingLeakWhere": "ceiling leak where",
        "ceilingRoof": "ceiling roof",
        "centerCeiling": "center ceiling",
        "cornerHardPlace": "corner hard place",
        "easyWithLadder": "easy with ladder",
        "exactLocation": "exact location",
        "exposedFloor": "exposed floor",
        "exposedPipe": "exposed pipe",
        "externalWall": "external wall",
        "faucetSink": "faucet sink",
        "fewDays": "few days",
        "fewHours": "few hours",
        "fewWeeks": "few weeks",
        "floorLeakWhere": "floor leak where",
        "floorOption": "floor option",
        "hardHighAccess": "hard high access",
        "hardToAccess": "hard to access",
        "hiddenInWallCeiling": "hidden in wall ceiling",
        "internalWall": "internal wall",
        "justStarted": "just started",
        "leakDuration": "leak duration",
        "leakIntensity": "leak intensity",
        "leakWhere": "leak where",
        "loadBearingWall": "load bearing wall",
        "nearWall": "near wall",
        "noJustWater": "no just water",
        "noWaterFlowing": "no water flowing",
        "slowDrip": "slow drip",
        "specialEquipment": "special equipment",
        "steadyFlow": "steady flow",
        "stopped": "stopped",
        "strongFlow": "strong flow",
        "subFloor": "sub floor",
        "visibleAccessible": "visible accessible",
        "wallLeakWhere": "wall leak where",
        "wallOption": "wall option",
        "waterDamage": "water damage",
        "yesButNotSureWhere": "yes but not sure where",
        "yesMainValveClosed": "yes main valve closed",
        "yesMinorDamage": "yes minor damage",
        "yesVisibleDamage": "yes visible damage"
      },
      "waterHeater": {
        "balconyUtilityRoom": "balcony utility room",
        "boilerAge": "boiler age",
        "boilerType": "boiler type",
        "electricBoiler": "electric boiler",
        "fiveToTenYears": "five to ten years",
        "gasBoilerDontKnow": "gas boiler dont know",
        "hardToAccessPlace": "hard to access place",
        "leakingWater": "leaking water",
        "lessThan2Years": "less than 2 years",
        "needsReplacement": "needs replacement",
        "noHotWater": "no hot water",
        "onRoofLadder": "on roof ladder",
        "overTenYears": "over ten years",
        "solarBoiler": "solar boiler",
        "temperatureIssue": "temperature issue",
        "twoToFiveYears": "two to five years",
        "unusualNoise": "unusual noise",
        "whatProblem": "what problem",
        "whereIsBoiler": "where is boiler"
      }
    },
    "renovation": {
      "bathroomRoom": "bathroom room",
      "drywallWorkType": "drywall work type",
      "fourFiveRooms": "four five rooms",
      "fullIncludingTiling": "full including tiling",
      "howManyRooms": "how many rooms",
      "largeOver10": "large over 10",
      "medium5To10": "medium 5 to 10",
      "over30sqm": "over 30sqm",
      "paintingOnly": "painting only",
      "paintingPlusDrywall": "painting plus drywall",
      "partitionDropCeiling": "partition drop ceiling",
      "renovationScope": "renovation scope",
      "repairCompletion": "repair completion",
      "roomSize": "room size",
      "sixPlusRooms": "six plus rooms",
      "smallUpTo5": "small up to 5",
      "tenTo30sqm": "ten to 30sqm",
      "theKitchen": "the kitchen",
      "tilingArea": "tiling area",
      "twoThreeRooms": "two three rooms",
      "upTo10sqm": "up to 10sqm",
      "wholeRoomComplex": "whole room complex"
    },
    "rooms": {
      "bedroom": "bedroom",
      "kitchen": "kitchen",
      "livingRoom": "living room",
      "outside": "outside",
      "toiletBathroom": "toilet bathroom"
    },
    "yes": "yes"
  },
  "admin": {
    "orderDetails": {
      "actions": {
        "cancelNoCharge": "cancel no charge",
        "fullRefund": "full refund",
        "partialRefund": "partial refund",
        "reassignPro": "reassign pro",
        "editArrivalTime": "Edit arrival time",
        "cancelMission": "Cancel mission"
      },
      "layout": {
        "cancel": "Cancel",
        "clientCardTitle": "Client",
        "copyId": "Copy ID",
        "copyIdSuccess": "ID copied to clipboard",
        "createdOn": "Created {{date}}",
        "descriptionTitle": "Description",
        "fallbackTitle": "Service order",
        "fieldAddress": "Address",
        "fieldCategory": "Category",
        "fieldCreated": "Created on",
        "fieldScheduled": "Scheduled for",
        "fieldStartedCompleted": "Started / completed",
        "invoice": "Invoice",
        "markPaid": "Mark as paid",
        "markPaidHint": "This action is not wired to your payment provider yet. Confirm payment in your console if needed.",
        "messagesEmpty": "No messages on this order yet.",
        "moreActions": "More",
        "noProYet": "Waiting for assignment",
        "notesTitle": "Notes",
        "openMap": "Open map",
        "orderInfoTitle": "Order information",
        "paymentCardTitle": "Payment",
        "paymentMethod": "Method",
        "paymentMethodPlaceholder": "—",
        "print": "Print",
        "proCardTitle": "Professional",
        "proJobs": "jobs",
        "tabDetails": "Details",
        "tabMessages": "Messages ({{count}})",
        "tabTimeline": "Timeline ({{count}})",
        "tabsAria": "Order sections",
        "viewProfile": "View profile",
        "viewProProfile": "View professional",
        "bottomChat": "Chat",
        "bottomLogs": "Logs",
        "mapUnavailable": "No map coordinates for this order.",
        "accessDifficulty": "Difficult access"
      },
      "backToOrders": "back to orders",
      "chat": {
        "title": "title"
      },
      "client": {
        "appVersion": "app version",
        "buildingCode": "building code",
        "defaultName": "default name",
        "device": "device",
        "floor": "floor",
        "rating": "rating",
        "title": "title"
      },
      "evidence": {
        "after": "after",
        "afterPhoto": "after photo",
        "before": "before",
        "beforePhoto": "before photo",
        "by": "by",
        "captureTime": "capture time",
        "client": "client",
        "device": "device",
        "during": "during",
        "duringPhoto": "during photo",
        "exifData": "exif data",
        "noPhotos": "no photos",
        "professional": "professional",
        "title": "title",
        "uploaded": "uploaded",
        "waitingForPhotos": "waiting for photos"
      },
      "finance": {
        "commission": "commission",
        "netToPro": "net to pro",
        "netToProLabel": "Net to pro",
        "platformFeeLabel": "Platform fee",
        "salesTaxLabel": "Sales tax",
        "paidAt": "paid at",
        "paymentStatus": "payment status",
        "refund": "refund",
        "refundAmount": "refund amount",
        "refundDate": "refund date",
        "refundDetails": "refund details",
        "refundId": "refund id",
        "refundReason": "refund reason",
        "stripeId": "stripe id",
        "tip": "tip",
        "title": "title",
        "total": "total"
      },
      "logs": {
        "title": "title"
      },
      "map": {
        "elapsed": "elapsed",
        "geofence": "geofence",
        "pointAClient": "point a client",
        "pointBPro": "point b pro",
        "route": "route"
      },
      "orderNotFound": "order not found",
      "orderNotFoundDesc": "order not found desc",
      "payment": {
        "statusAuthorized": "status authorized",
        "statusCaptured": "status captured",
        "statusFailed": "status failed",
        "statusPartialRefund": "status partial refund",
        "statusPending": "status pending",
        "statusRefunded": "status refunded"
      },
      "pro": {
        "accuracy": "accuracy",
        "appVersion": "app version",
        "currentLocation": "current location",
        "device": "device",
        "lastUpdate": "last update",
        "rating": "rating",
        "title": "title"
      },
      "service": {
        "description": "description",
        "emergency": "emergency",
        "estimatedDuration": "estimated duration",
        "photosFromClient": "photos from client",
        "title": "title",
        "urgent": "urgent"
      },
      "status": {
        "accepted": "accepted",
        "arrived": "arrived",
        "cancelled": "cancelled",
        "completed": "completed",
        "dispute": "dispute",
        "enRoute": "en route",
        "inProgress": "in progress",
        "paymentPending": "payment pending",
        "pending": "pending",
        "pendingAcceptance": "pending acceptance",
        "searching": "searching",
        "onHold": "on hold"
      },
      "subcategory": {
        "ac": "ac",
        "clog": "clog",
        "deep": "deep",
        "faucet": "faucet",
        "leak": "leak",
        "outlet": "outlet",
        "regular": "regular",
        "switch": "switch",
        "toilet": "toilet"
      },
      "timeline": {
        "jobCompleted": "job completed",
        "jobStarted": "job started",
        "orderCreated": "order created",
        "proAccepted": "pro accepted",
        "proArrived": "pro arrived",
        "title": "title"
      },
      "refundRequest": {
        "title": "Pending refund request",
        "description": "A refund request is open for this order. The client is not refunded until it is approved and processed.",
        "approve": "Approve refund"
      }
    },
    "status": {
      "unknown": "Unknown",
      "order": {
        "active": "In progress",
        "completed": "Completed",
        "cancelled": "Cancelled",
        "pending": "Pending",
        "accepted": "Accepted",
        "enRoute": "En route",
        "arrivingSoon": "Arriving soon",
        "inProgress": "In progress",
        "searching": "Searching",
        "pendingAcceptance": "Pending acceptance",
        "arrived": "Arrived",
        "paymentPending": "Payment pending",
        "onHold": "On hold",
        "refunded": "Refunded"
      },
      "user": {
        "active": "Active",
        "inactive": "Inactive",
        "new": "New"
      },
      "transaction": {
        "completed": "Paid",
        "pending": "Pending",
        "refunded": "Refunded",
        "failed": "Failed"
      },
      "refund": {
        "pending": "Pending",
        "approved": "Approved",
        "processed": "Processed",
        "rejected": "Rejected",
        "refund_failed": "Failed"
      }
    },
    "orderEvolution": {
      "loading": "Loading mission progress…",
      "loadError": "Could not load order evolution",
      "refresh": "Refresh",
      "sectionTimeline": "System timeline",
      "sectionMilestones": "Mission milestones",
      "sectionBefore": "Before photos",
      "sectionAfter": "After photos",
      "milestonesEmpty": "No custom milestones yet. The professional can add steps during the job.",
      "timelineEmpty": "No timeline events yet.",
      "messagesPreview": "Recent chat ({{shown}} / {{total}})",
      "eventMilestoneCreated": "Milestone added: {{title}}",
      "eventMilestoneStatus": "Milestone {{status}}",
      "eventProviderPhoto": "Professional photo uploaded",
      "eventClientPhoto": "Client photo uploaded",
      "eventStatusChange": "Status {{from}} → {{to}}",
      "eventSystem": "System event",
      "validateStep": "Validate step",
      "validateStepAria": "Validate step “{{title}}”",
      "validateConfirmTitle": "Validate this step?",
      "validateConfirmBody": "Confirm validation of “{{title}}”?",
      "validateConfirmBodyAmount": "Validating “{{title}}” releases {{amount}} to the professional. Confirm?",
      "actor": {
        "client": "Client",
        "provider": "Professional",
        "admin": "Admin",
        "system": "System"
      }
    },
    "userPages": {
      "common": {
        "subtitleForUser": "For {{name}}"
      },
      "addresses": {
        "title": "Addresses",
        "subtitle": "Saved addresses",
        "subtitleManage": "Manage addresses for {{name}}",
        "emptyTitle": "No addresses",
        "emptyDescription": "This user has not added any addresses yet.",
        "emptyHint": "Add an address to get started",
        "addAddress": "Add address",
        "addShort": "Add",
        "default": "Default",
        "defaultBadge": "DEFAULT",
        "typeHome": "Home",
        "typeWork": "Work",
        "typeOther": "Other",
        "instructions": "Instructions",
        "coordinates": "Coordinates",
        "newAddressTitle": "New address",
        "nameLabel": "Name",
        "typeLabel": "Type",
        "addressLineLabel": "Address",
        "cityLabel": "City",
        "zipLabel": "Postal code",
        "instructionsAccess": "Access instructions",
        "instructionsPlaceholder": "Stair, floor, intercom…",
        "placeholderLabelEx": "e.g. Home",
        "placeholderStreet": "Street and number",
        "placeholderCity": "City",
        "placeholderZip": "Postal code",
        "setDefaultTitle": "Set as default",
        "editTitle": "Edit",
        "deleteTitle": "Delete"
      },
      "payments": {
        "title": "Payments",
        "subtitle": "Payment methods and transactions",
        "subtitleManage": "Payment methods and transactions for {{name}}",
        "totalSpent": "Total spent",
        "refunded": "Refunded",
        "transactions": "Transactions",
        "cards": "Cards",
        "tabMethods": "Payment methods",
        "tabTransactions": "Transactions ({{count}})",
        "cardActive": "Active",
        "cardExpired": "Expired",
        "cardExpiringSoon": "Expiring soon",
        "cardholder": "Cardholder",
        "expires": "Expires",
        "setDefault": "Set as default",
        "defaultBadge": "DEFAULT",
        "edit": "Edit",
        "delete": "Delete",
        "addCard": "Add a card",
        "addCardBrands": "Visa, Mastercard, Amex",
        "txHistory": "Transaction history",
        "order": "Order",
        "amount": "Amount",
        "method": "Method",
        "date": "Date",
        "description": "Description",
        "cardBrandVisa": "VISA",
        "cardBrandMastercard": "MASTERCARD",
        "cardBrandAmex": "AMEX"
      },
      "reviews": {
        "title": "Reviews left",
        "subtitle": "Ratings and reviews",
        "subtitleAll": "All reviews left by {{name}}",
        "reviewsCount": "{{count}} reviews",
        "statsTitle": "Statistics",
        "stat5Stars": "5-star reviews",
        "statWithProReply": "With pro reply",
        "statHelpfulVotes": "Total “helpful” votes",
        "statProsRated": "Pros rated",
        "prosCount": "{{count}} pros",
        "prosUnit": "{{count}} pros",
        "topProsTitle": "Most reviewed pros",
        "filterAll": "All ({{count}})",
        "proResponse": "Professional reply",
        "helpfulLabel": "{{count}} helpful",
        "viewOrder": "Order",
        "report": "Report",
        "emptyTitle": "No reviews found",
        "emptyFilter": "No reviews with this rating",
        "emptyNone": "This user has not submitted any ratings yet.",
        "loadErrorTitle": "Could not load reviews",
        "noCommentInDb": "No written review is stored for this rating.",
        "loadErrorBody": "Try again later.",
        "unknownPro": "Professional"
      },
      "security": {
        "title": "Security",
        "subtitle": "Sessions and security settings",
        "subtitleManage": "Sessions, sign-ins and security settings for {{name}}",
        "ban": "Ban",
        "resetPassword": "Reset password",
        "statEmailVerified": "Email verified",
        "statPhoneVerified": "Phone verified",
        "stat2fa": "2FA",
        "statPasswordStrength": "Password strength",
        "tabSessions": "Active sessions ({{count}})",
        "tabHistory": "History ({{count}})",
        "tabSettings": "Settings",
        "sessionsSummary": "{{count}} active session(s)",
        "disconnectAll": "Sign out all",
        "sessionCurrent": "CURRENT SESSION",
        "disconnect": "Sign out",
        "loginHistoryTitle": "Sign-in history",
        "failedBadge": "FAILED",
        "authTitle": "Authentication",
        "passwordTitle": "Password",
        "alertsTitle": "Security alerts",
        "passwordStrength": "Password strength",
        "lastPasswordChange": "Last change",
        "forceReset": "Force reset",
        "sendResetLink": "Send reset link",
        "enabled": "Enabled",
        "disabled": "Disabled"
      },
      "notifications": {
        "title": "Notifications",
        "subtitle": "Notification preferences and history",
        "subtitleManage": "Notification history and preferences for {{name}}",
        "markAllRead": "Mark all as read",
        "statTotal": "Total",
        "statUnread": "Unread",
        "statOrders": "Orders",
        "statMessages": "Messages",
        "tabAll": "All ({{count}})",
        "tabUnread": "Unread ({{count}})",
        "tabPreferences": "Preferences",
        "filterAll": "All",
        "filterOrders": "Orders",
        "filterReviews": "Reviews",
        "filterPayments": "Payments",
        "filterMessages": "Messages",
        "filterSystem": "System",
        "filterPromos": "Promos",
        "viewAction": "View",
        "markRead": "Read",
        "emptyTitle": "No notifications",
        "emptyUnreadHint": "All notifications have been read",
        "emptyTypeHint": "No notifications of this type",
        "prefTitle": "Notification preferences",
        "prefColType": "Type",
        "prefColEmail": "Email",
        "prefColPush": "Push",
        "prefColSms": "SMS"
      },
      "supportThread": {
        "title": "Support thread",
        "subtitle": "Conversation details",
        "loadError": "Could not load this ticket.",
        "notFound": "Ticket not found.",
        "back": "Back",
        "openingWorkspace": "Opening support workspace…",
        "statusOpen": "OPEN",
        "statusResolved": "RESOLVED",
        "markResolved": "Mark resolved",
        "reopen": "Reopen",
        "categoryFallback": "Support",
        "openedOn": "Opened on {{date}}",
        "conversationTitle": "Conversation ({{count}} messages)",
        "emptyThread": "No messages in this thread.",
        "replyPlaceholder": "Reply as admin…",
        "infoTitle": "Information",
        "client": "Client",
        "assignedTo": "Assigned to",
        "unassigned": "Unassigned",
        "relatedOrder": "Related order",
        "messagesLabel": "Messages",
        "roleClient": "Client",
        "roleAdmin": "Admin",
        "sendError": "Could not send message.",
        "statusUpdateError": "Could not update ticket status.",
        "markResolvedSuccess": "Ticket marked as resolved.",
        "reopenSuccess": "Ticket reopened."
      },
      "orderDetail": {
        "title": "Order",
        "subtitle": "Order details",
        "loadError": "Could not load this order.",
        "notFound": "Order not found.",
        "back": "Back",
        "copyId": "Copy ID",
        "print": "Print",
        "tabDetails": "Details",
        "tabMessages": "Messages ({{count}})",
        "tabTimeline": "Timeline ({{count}})",
        "createdOn": "Created on {{date}}",
        "sectionOrderTitle": "Order details",
        "sectionCommTitle": "Communication summary",
        "sectionProviderTitle": "Provider",
        "sectionPaymentTitle": "Payment",
        "labelService": "Service",
        "labelCategory": "Category",
        "labelAppointment": "Appointment",
        "labelFinalPrice": "Final price",
        "commEmpty": "No messages on this order.",
        "providerFallback": "Provider",
        "proProfileLine": "Provider profile",
        "addressNA": "Address not available",
        "paymentStatus": "Status: {{status}}",
        "messagesTitle": "Messages ({{count}})",
        "messagesEmpty": "No messages available.",
        "timelineSectionTitle": "Timeline",
        "timelineCreated": "Order created",
        "timelineCompleted": "Order completed",
        "timelineScheduled": "Appointment scheduled",
        "timelinePayment": "Payment",
        "sectionAiSummary": "AI Request Summary",
        "sectionPhotos": "Attached Photos",
        "sectionAiAnswers": "AI Analysis",
        "aiSummaryEmpty": "No AI summary available.",
        "aiDetectedIssues": "Detected Issues",
        "aiEstimatedMaterials": "Estimated Materials",
        "aiRecommendations": "Recommendations",
        "aiConfidence": "Confidence",
        "aiWorkDescription": "Work Description",
        "aiRequiredProducts": "Required Products",
        "aiEstimatedDuration": "Estimated Duration",
        "aiComplexity": "Complexity",
        "aiUrgencyNote": "Urgency Note",
        "aiMinutes": "{{count}} min",
        "labelDescription": "Description",
        "labelSubcategory": "Subcategory",
        "labelUrgency": "Urgency",
        "labelAddress": "Address",
        "labelEstimate": "Estimate",
        "photosCount": "{{count}} photo(s)",
        "noPhotos": "No photos available.",
        "urgencyNormal": "Normal",
        "urgencyUrgent": "Urgent",
        "urgencyEmergency": "Emergency"
      }
    },
    "proDetail": {
      "noDevices": "no registered device",
      "noActiveChannels": "No active channel (preferences saved)",
      "notifOrders": "orders",
      "notifPromos": "promos"
    }
  },
  "adminActions": {
    "actionError": "Action failed",
    "actionSuccess": "Action successful",
    "categories": {
      "plumbing": "plumbing"
    },
    "closedByAdmin": "closed by admin",
    "emailSendError": "email send error",
    "for30Days": "for 30 days",
    "for7Days": "for 7 days",
    "full": "full",
    "identityRejected": "identity rejected",
    "identityVerified": "identity verified",
    "invoiceForOrder": "invoice for order",
    "invoiceNotReady": "Invoice not ready",
    "invoiceNotReadyDescription": "The invoice will be available once the order is completed.",
    "invoiceLoadError": "Could not load the invoice",
    "mockPros": {
      "aviPlumber": "avi plumber",
      "daniPlumbing": "dani plumbing",
      "moshePipes": "moshe pipes",
      "yuvalPlumbing": "yuval plumbing"
    },
    "newProfessional": "new professional",
    "noFees": "no fees",
    "orderCancelled": "order cancelled",
    "orderReassigned": "order reassigned",
    "partial": "partial",
    "passwordResetSent": "password reset sent",
    "permanently": "permanently",
    "platformFee": "platform fee",
    "refundProcessed": "{{type}} refund of {{amount}} processed",
    "sentTo": "sent to",
    "service": "service",
    "showingInvoice": "showing invoice",
    "ticketAssignError": "ticket assign error",
    "ticketAssigned": "ticket assigned",
    "ticketAssignedTo": "ticket assigned to",
    "ticketCloseError": "ticket close error",
    "ticketClosed": "ticket closed",
    "ticketMarkedResolved": "ticket marked resolved",
    "tryAgainLater": "Please try again later",
    "userSuspended": "user suspended",
    "withProFees": "with pro fees",
    "arrivalTimeUpdated": "Arrival time updated",
    "orderCancelledRefunded": "Order cancelled — {{amount}} refunded to the client",
    "orderCancelledNoRefund": "Order cancelled — no refund issued"
  },
  "adminBookings": {
    "cancelledByClient": "cancelled by client",
    "categories": {
      "ac": "ac",
      "cleaning": "cleaning",
      "electrical": "electrical",
      "gardening": "gardening",
      "locksmith": "locksmith",
      "moving": "moving",
      "plumbing": "plumbing",
      "renovation": "renovation"
    },
    "customer": "customer",
    "general": "general",
    "mockAddressNotes": {
      "brownDoor": "brown door"
    },
    "mockAddresses": {
      "allenby80": "flagler 80",
      "benYehuda30": "ocean 30",
      "bialik8": "collins 8",
      "dizengoff150": "biscayne 150",
      "dizengoff50": "biscayne 50",
      "florentin22": "brickell 22",
      "gordon25": "washington 25",
      "herzl123": "lincoln 123",
      "herzl15": "lincoln 15",
      "nahlatBinyamin35": "alton 35",
      "rothschild45": "collins 45",
      "shenkin10": "meridian 10",
      "yehudaHalevi60": "española 60"
    },
    "mockBookings": {
      "ord001": {
        "category": "category",
        "title": "title"
      },
      "ord002": {
        "category": "category",
        "title": "title"
      },
      "ord003": {
        "category": "category",
        "title": "title"
      },
      "ord004": {
        "category": "category",
        "title": "title"
      },
      "ord005": {
        "category": "category",
        "title": "title"
      },
      "ord006": {
        "category": "category",
        "title": "title"
      },
      "ord007": {
        "category": "category",
        "title": "title"
      },
      "ord008": {
        "category": "category",
        "title": "title"
      },
      "ord009": {
        "category": "category",
        "title": "title"
      },
      "ord010": {
        "category": "category",
        "title": "title"
      }
    },
    "mockChat": {
      "greatThanks": "great thanks",
      "thanksForGreatWork": "thanks for great work",
      "whenCanYouArrive": "when can you arrive",
      "willArriveOnTime": "will arrive on time"
    },
    "mockCustomers": {
      "alonDavid": "alon david",
      "amitRozen": "amit rozen",
      "aviGabai": "avi gabai",
      "daniCohen": "dani cohen",
      "michalLevi": "michal levi",
      "noaBarak": "noa barak",
      "oriMizrachi": "ori mizrachi",
      "roniSpector": "roni spector",
      "ronitShapira": "ronit shapira",
      "saraAharoni": "sara aharoni",
      "tamarAvraham": "tamar avraham",
      "yaelGoldberg": "yael goldberg",
      "yoniBiton": "yoni biton"
    },
    "mockMessages": {
      "msg1": {
        "preview": "preview",
        "sender": "sender"
      },
      "msg2": {
        "preview": "preview",
        "sender": "sender"
      },
      "msg3": {
        "preview": "preview",
        "sender": "sender",
        "time": "time"
      },
      "msg4": {
        "preview": "preview",
        "sender": "sender",
        "time": "time"
      },
      "msg5": {
        "preview": "preview",
        "sender": "sender",
        "time": "time"
      }
    },
    "mockPros": {
      "acPlus": "ac plus",
      "amirRenovations": "amir renovations",
      "artistPainter": "artist painter",
      "cityMovers": "city movers",
      "electricDirect": "electric direct",
      "fastPlumbing": "fast plumbing",
      "galilRenovations": "galil renovations",
      "gardenAndView": "garden and view",
      "goldenKeys": "golden keys",
      "yossiClean": "yossi clean"
    },
    "mockStats": {
      "averageResponseTime": "average response time"
    },
    "mockTickets": {
      "t101": {
        "category": "category",
        "subject": "subject"
      },
      "t102": {
        "category": "category",
        "subject": "subject"
      },
      "t103": {
        "category": "category",
        "subject": "subject"
      },
      "t104": {
        "category": "category",
        "subject": "subject"
      },
      "t105": {
        "category": "category",
        "subject": "subject"
      }
    },
    "professional": "professional",
    "timeline": {
      "afterPhotoUploaded": "after photo uploaded",
      "beforePhotoUploaded": "before photo uploaded",
      "cancelledBySystem": "cancelled by system",
      "clientFiledComplaint": "client filed complaint",
      "disputeOpened": "dispute opened",
      "enteredGeofence": "entered geofence",
      "estimatedDistance": "estimated distance",
      "geofenceRadius": "geofence radius",
      "jobCompleted": "job completed",
      "jobStarted": "job started",
      "offerSentToPros": "offer sent to pros",
      "orderCancelled": "order cancelled",
      "orderCreated": "order created",
      "paymentProcessed": "payment processed",
      "proAcceptedJob": "pro accepted job",
      "proArrived": "pro arrived",
      "proEnRoute": "pro en route"
    },
    "unknownAddress": "unknown address",
    "unknownCustomer": "unknown customer",
    "user": "user",
    "waitingForAssignment": "waiting for assignment",
    "bookingNotFound": "Booking not found",
    "userNotFound": "User not found",
    "failedToFetchAdminData": "Failed to fetch admin data"
  },
  "adminUserDetails": {
    "backToDashboard": "Back to admin",
    "openProfile": "Open user profile (admin)",
    "unnamed": "Unnamed user",
    "contactTitle": "Contact",
    "actionsTitle": "Admin actions",
    "banUser": "Suspend user",
    "verifyIdentity": "Verify identity",
    "resetPassword": "Send password reset",
    "statusVerified": "Verified",
    "statusBanned": "Banned",
    "statusPending": "Pending verification",
    "joined": "Registered",
    "updated": "Last updated",
    "lastLogin": "Last activity",
    "statsTitle": "Overview",
    "totalBookings": "Total bookings",
    "completedBookings": "Completed",
    "cancelledBookings": "Cancelled",
    "totalSpent": "Total spent (USD)",
    "ratingGiven": "Avg. ratings given",
    "ratingReceived": "Avg. ratings received",
    "bookingsTitle": "Recent bookings",
    "bookingService": "Service",
    "bookingStatus": "Status",
    "bookingPro": "Professional",
    "bookingPrice": "Amount",
    "bookingDate": "Created",
    "transactionsTitle": "Recent payments",
    "supportTitle": "Support",
    "messagesTitle": "Messages",
    "activityTitle": "Activity",
    "noBookings": "No bookings",
    "noTransactions": "No payments",
    "noSupport": "No support threads",
    "messagesCount": "messages",
    "loadError": "Could not load this user.",
    "retry": "Retry",
    "profileSubtitle": "360° client view for supervision and quick actions.",
    "topCustomer": "Top customer",
    "userInformation": "User information",
    "activityHistory": "Activity history",
    "noActivity": "No activity yet",
    "locationTitle": "Location",
    "locationHint": "Location details are not available for this user.",
    "loyaltyTitle": "Loyalty",
    "loyaltyPoints": "Points",
    "reviewTitle": "Review"
  },
  "adminDashboard": {
    "backToSite": "Back to site",
    "activity": {
      "events": {
        "created": "New order",
        "cancelled": "Order cancelled",
        "completed": "Order completed",
        "accepted": "Order accepted",
        "status_change": "Status update",
        "provider_reassigned": "Pro reassigned"
      },
      "lineWithOrder": "{{event}} — {{order}}",
      "lineGeneric": "{{event}}"
    },
    "categories": {
      "add": "add",
      "confirmDelete": "Permanently delete this category? This action cannot be undone.",
      "newCategoryName": "new category name",
      "placeholder": "placeholder",
      "professionalsCount": "professionals count",
      "removed": "Category deleted",
      "removeError": "Could not delete category",
      "inUse": "Cannot delete: {{pros}} pro(s), {{orders}} order(s), {{offers}} offer(s) reference this category. Deactivate it or reassign them first.",
      "addError": "Could not add category",
      "addSuccess": "Category \"{{label}}\" added in 5 languages",
      "statusError": "Could not update category",
      "translationsFailed": "Category created, but translations failed. The label will fall back to the slug."
    },
    "header": {
      "categoriesManagement": "Category management",
      "hideMenu": "Hide menu",
      "inbox": "Inbox",
      "mainDashboard": "Dashboard",
      "operationsTower": "Live operations",
      "missionLab": "Mission preview",
      "orders": "Orders",
      "users": "Users",
      "professionals": "Pros",
      "noResults": "No results found",
      "orderDetail": "Order detail",
      "userProfile": "User profile",
      "professionalProfile": "Professional profile",
      "connectedUserId": "ID: {{id}}",
      "markAllRead": "Mark all as read",
      "menu": "Menu",
      "notifications": "Notifications",
      "ordersManagement": "Orders",
      "finance": "Finance",
      "prosManagement": "Professionals",
      "quickSearch": "Quick search",
      "showMenu": "Show menu",
      "supportCenter": "Support",
      "supportWorkspace": "Support workspace",
      "systemAdmin": "System administrator",
      "supportChat": "Support chat",
      "viewAllNotifications": "View all notifications",
      "adminUser": "Administrator",
      "closeMenu": "Close menu"
    },
    "finance": {
      "sections": {
        "overview": "Overview",
        "payments": "Payments",
        "refunds": "Refunds",
        "settings": "Settings"
      },
      "overview": {
        "escrowTitle": "Escrow & payouts",
        "loadError": "Failed to load escrow figures.",
        "inEscrow": "Held in escrow",
        "missionsCount": "{{total}} missions",
        "paidOut": "Released to pros",
        "payoutsCount": "{{total}} payouts",
        "platformFees": "Platform fees collected",
        "openStuckPayments": "Stuck payments",
        "openRefunds": "Refund queue"
      },
      "settings": {
        "description": "Rates applied at checkout and on pro withdrawals. Each order snapshots the rate in force when it is paid.",
        "customerFeeLabel": "Client service fee",
        "customerFeeHelp": "Charged to the client at checkout, as a share of the subtotal.",
        "withdrawalFeeLabel": "Pro withdrawal fee",
        "withdrawalFeeHelp": "Charged on pro wallet withdrawals.",
        "edit": "Edit",
        "save": "Save",
        "cancel": "Cancel",
        "invalidRate": "Enter a rate between 0% and 100%.",
        "confirmTitle": "Update {{label}}?",
        "confirmDescription": "The rate will change from {{from}} to {{to}}. New checkouts pick it up within about a minute.",
        "saved": "Rate updated.",
        "saveError": "Failed to update the rate.",
        "loadError": "Failed to load platform fee settings.",
        "lastUpdated": "Last updated {{date}}"
      }
    },
    "lightbox": {
      "label": "Image preview"
    },
    "loadingData": "Loading…",
    "login": {
      "email": "Email",
      "emailPlaceholder": "your@email.com",
      "invalidCredentials": "Invalid email or password",
      "networkUnreachable": "Cannot reach the API. Start the backend on this machine (npm run server:dev or npm run dev:full). For local dev, set VITE_API_URL to http://localhost:5001.",
      "password": "Password",
      "passwordPlaceholder": "••••••••",
      "signIn": "Sign in",
      "subtitle": "Sign in with your administrator account",
      "title": "Administration"
    },
    "messages": {
      "activeConversation": "active conversation",
      "errorLoadingThreads": "error loading threads",
      "loadingMessages": "loading messages",
      "loadingThreads": "loading threads",
      "noConversations": "no conversations",
      "noMessages": "no messages",
      "noThreads": "no threads",
      "professional": "professional",
      "searchMessages": "search messages",
      "selectConversation": "select conversation",
      "writeMessage": "write message"
    },
    "notifications": {
      "insuranceExpiring": "insurance expiring",
      "newOrderPending": "new order pending",
      "newProRegistered": "new pro registered",
      "newSupportTicket": "new support ticket",
      "oneHourAgo": "one hour ago",
      "paymentReceived": "payment received",
      "tenMinutesAgo": "ten minutes ago",
      "threeMinutesAgo": "three minutes ago",
      "twentyFiveMinutesAgo": "twenty five minutes ago",
      "twoHoursAgo": "two hours ago",
      "orderAccepted": "Order accepted",
      "orderCancelled": "Order cancelled",
      "orderCompleted": "Order completed"
    },
    "userDetail": {
      "quoteRequests": {
        "total": "Total",
        "open": "Open",
        "withoutBid": "No offer yet",
        "awaitingPayment": "Awaiting payment",
        "empty": "No quote request for this client.",
        "offersCount": "{{count}} offers",
        "renewed": "Renewed {{count}}×"
      }
    },
    "orders": {
      "actions": "actions",
      "address": "address",
      "allOrders": "all orders",
      "allStatuses": "all statuses",
      "quoteRequests": "Quote requests",
      "manualDispatchBadge": "Manual dispatch",
      "manualDispatchOnly": "Manual dispatch only",
      "bidsReceived": "Bids",
      "confirmedOrders": "Orders",
      "applyFilter": "apply filter",
      "clearAll": "clear all",
      "complexityComplex": "complexity complex",
      "complexityCritical": "complexity critical",
      "complexityStandard": "complexity standard",
      "customer": "customer",
      "filterAccepted": "filter accepted",
      "filterCancelled": "filter cancelled",
      "filterCompleted": "filter completed",
      "filterInProgress": "filter in progress",
      "filterOrders": "filter orders",
      "filterSearching": "filter searching",
      "fromDate": "from date",
      "invoice": "invoice",
      "loading": "loading",
      "noOrdersFound": "no orders found",
      "ordersCount": "orders count",
      "phone": "phone",
      "price": "price",
      "professional": "professional",
      "refund": "refund",
      "requestOrderNumber": "request order number",
      "searchPlaceholder": "search placeholder",
      "service": "service",
      "status": "status",
      "statusAccepted": "status accepted",
      "statusActive": "status active",
      "statusCancelled": "status cancelled",
      "statusCompleted": "status completed",
      "statusEnRoute": "status en route",
      "statusLabel": "status label",
      "statusPending": "status pending",
      "statusRefunded": "status refunded",
      "toDate": "to date",
      "urgency": "urgency",
      "urgencyEmergency": "urgency emergency",
      "urgencyNormal": "urgency normal",
      "urgencyUrgent": "urgency urgent",
      "view": "view",
      "dispatch": {
        "title": "Dispatch & offers",
        "loading": "Loading…",
        "error": "Couldn't load the dispatch information.",
        "notifiedTitle": "Pros who received the request",
        "noneNotified": "No pro notified.",
        "hasBid": "Submitted an offer",
        "offersTitle": "Submitted offers",
        "noOffers": "No offer yet.",
        "eta": "{{n}} min",
        "messagesTitle": "Messages",
        "noMessages": "No messages.",
        "summary": {
          "notified": "Pros notified",
          "inboxSeen": "In-app seen",
          "email": "Emails sent",
          "push": "Push",
          "sms": "SMS",
          "offers": "Offers"
        },
        "channel": {
          "inbox": "In-app",
          "email": "Email",
          "push": "Push",
          "sms": "SMS"
        },
        "status": {
          "sent": "Sent",
          "skipped": "Skipped",
          "failed": "Failed",
          "unknown": "Unknown"
        },
        "role": {
          "client": "Client",
          "provider": "Pro"
        }
      },
      "bids": {
        "loading": "Loading offers…",
        "error": "Couldn't load the offers.",
        "empty": "No offer on this request yet.",
        "eta": "{{n}} min",
        "showProsAria": "Show the pros who bid",
        "status": {
          "pending": "Pending",
          "accepted": "Accepted",
          "rejected": "Rejected",
          "expired": "Expired"
        }
      }
    },
    "realtime": {
      "newRequestReceived": "New quote request received",
      "manualDispatchNeeded": "A request needs manual dispatch"
    },
    "overview": {
      "activeOrders": "Active orders",
      "fiveMinutesAgo": "five minutes ago",
      "monthlyRevenue": "Net revenue (month)",
      "noOrdersTrendData": "No monthly data yet. New orders will appear in this chart.",
      "noRecentActivity": "No recent activity.",
      "months": {
        "apr": "apr",
        "feb": "feb",
        "jan": "jan",
        "jun": "jun",
        "mar": "mar",
        "may": "may"
      },
      "newOrderReceived": "new order received",
      "newUsers": "New users this month",
      "ordersTrend": "Orders per month",
      "monthlyRevenueChart": "Monthly revenue",
      "monthlyOrdersChart": "Monthly orders",
      "noRevenueTrendData": "No revenue data yet. Revenue will appear in this chart.",
      "revenue": "Revenue",
      "realTimeOrderStatus": "Orders by status",
      "recentActivity": "Recent activity",
      "serviceCalls": "Support threads",
      "statusAccepted": "Accepted",
      "statusCancelled": "Cancelled",
      "statusCompleted": "Completed",
      "statusEnRoute": "En route",
      "statusInProgress": "In progress",
      "statusPending": "Pending",
      "statusSearching": "Searching",
      "statusPaymentPending": "Payment pending",
      "statusOnHold": "On hold",
      "avgFirstResponse": "Avg. first admin reply",
      "stuckPayments": "Stuck paid orders",
      "stuckPaymentsHint": "Open payment monitoring → Stuck",
      "manualDispatch": "Requests needing manual dispatch",
      "manualDispatchHint": "Open requests → manual dispatch",
      "unassignedTickets": "Open tickets (unassigned)",
      "unassignedTicketsHint": "Assign in Support workspace",
      "openLiveOps": "Open live operations",
      "totalOrders": "Total orders",
      "activePipeline": "Active pipeline",
      "terminalLabel": "Terminal",
      "attentionLabel": "Attention needed",
      "allClear": "All clear — no operational alerts",
      "onHoldOrders": "Orders on hold",
      "onHoldOrdersHint": "Review and resume or cancel",
      "openTickets": "Open support tickets",
      "openTicketsHint": "Review in Support workspace",
      "stuckRefunds": "Refunds needing attention",
      "stuckRefundsHint": "Failed or stuck >48h → open Refunds",
      "pendingRefunds": "Refunds awaiting decision",
      "pendingRefundsHint": "Approve or reject in Refunds",
      "statsError": "Failed to load the latest stats — figures below may be stale.",
      "retry": "Retry",
      "newUsersSplit": "{{clients}} clients · {{pros}} pros",
      "walletDrift": "Wallet / ledger drift",
      "walletDriftHint": "Balances diverge from the ledger — reconcile",
      "damageClaimsDue": "Damage claims due <24h",
      "damageClaimsDueHint": "4-day pro response window about to expire",
      "damageClaims": "Open damage claims",
      "damageClaimsHint": "Track in Live operations",
      "changeRequests": "Pending change requests",
      "changeRequestsHint": "Quotes awaited from pros",
      "changeRequestsSuspicionHint": "{{count}} flagged for possible price gaming",
      "pendingDocuments": "Pro documents to review",
      "pendingDocumentsHint": "Approve or reject in Pros",
      "failedWebhooks": "Failed Stripe webhooks (7d)",
      "failedWebhooksHint": "Events left unprocessed — inspect Payments",
      "failedPayments": "Failed payments (7d)",
      "failedPaymentsHint": "Review in Payments → Recent",
      "escrowPending": "Escrow owed to pros",
      "escrowAvailable": "Available in pro wallets",
      "monthlyRevenueNetHint": "Net of refunds; Stripe fees not deducted",
      "finance": {
        "title": "Finances (Stripe)",
        "stripeBalance": "Stripe balance (available)",
        "stripePending": "Pending: {{amount}}",
        "monthlyVolume": "Captured this month (net)",
        "volumeBreakdown": "Gross {{gross}} · refunds {{refunded}}",
        "stripeFees": "Stripe fees (month)",
        "netAfterFees": "Net after fees: {{amount}}",
        "platformCommission": "Beedy commission (month)",
        "notConfigured": "Stripe is not configured — live platform figures are unavailable.",
        "error": "Failed to load Stripe finance figures.",
        "partialData": "Partial data — transaction volume exceeded the sweep limit"
      }
    },
    "payments": {
      "title": "Payment monitoring",
      "refresh": "Refresh",
      "totalRevenue": "Total revenue (successful)",
      "successfulPayments": "Successful payments",
      "pendingPayments": "Pending",
      "failedPayments": "Failed",
      "subTabs": {
        "recent": "Recent payments",
        "stuck": "Stuck orders",
        "escrow": "Escrow (legacy)"
      },
      "recentPayments": "Recent payments",
      "orderId": "Order ID",
      "checkoutId": "Checkout ID",
      "provider": "Provider",
      "status": "Status",
      "amount": "Amount",
      "amountAgorot": "Amount (agorot)",
      "created": "Created",
      "searchPlaceholder": "Search by order, checkout, provider…",
      "viewOrder": "Open order",
      "noPayments": "No payments yet",
      "noSearchResults": "No payments match your search",
      "order": "Order",
      "orderStatus": "Order status",
      "paymentStatus": "Payment status",
      "paymentUpdated": "Payment updated",
      "stuckOrdersTitle": "Paid orders with unexpected status ({{count}})",
      "stuckOrdersDescription": "These orders have a successful payment but the order is not in an expected post-payment state. Review and take action if needed.",
      "noStuckOrders": "No stuck orders",
      "noStuckOrdersHint": "All successful payments align with order lifecycle.",
      "escrow": {
        "title": "Funds in escrow",
        "heldInEscrow": "Total held (customer amounts)",
        "escrowCount": "Transactions in escrow",
        "payoutsTitle": "Payouts and fees",
        "paidOut": "Total paid to professionals",
        "platformFees": "Platform fees collected",
        "paidOutCount": "Completed payouts"
      }
    },
    "pros": {
      "bulkBar": {
        "deleteSelected": "Delete selected ({{count}})",
        "deleteConfirmTitle": "Delete selected pros?",
        "deleteConfirmBody": "{{count}} pro(s) will be removed from the list and the map. Reversible in the database.",
        "deleteSuccess": "{{count}} pro(s) deleted.",
        "deleteError": "Deletion failed.",
        "selectedCount_one": "{{count}} pro selected",
        "selectedCount_other": "{{count}} pros selected",
        "clearSelection": "Clear",
        "sendWhatsApp": "Send WhatsApp",
        "selectAll": "Select all",
        "selectRow": "Select row"
      },
      "actions": "actions",
      "emptyList": "No professionals yet",
      "emptyListHint": "Import a file from the Add professionals tab or register pros from the app — they will appear here after sync.",
      "addProfessionals": "add professionals",
      "ban": "ban",
      "category": "category",
      "country": "Country",
      "documents": "documents",
      "importedDemo": "imported demo",
      "importedToDB": "imported to d b",
      "name": "name",
      "phone": "phone",
      "prosList": "pros list",
      "rating": "rating",
      "resetPassword": "reset password",
      "statusLabel": "status label",
      "statusNew": "status new",
      "statusPending": "status pending",
      "statusVerified": "status verified",
      "verify": "verify",
      "connection": "Connection",
      "connectedNow": "Online",
      "notConnectedNow": "Offline",
      "listTabDescription": "All provider accounts in the database. “Online” means a live session is open (pro app with socket connected).",
      "goToImportTab": "Open import tab",
      "addSinglePro": "Add a pro",
      "bulkImport": "Bulk import",
      "subtabActive": "Verified pros",
      "subtabProspects": "Prospects to activate"
    },
    "prospects": {
      "categoryFilterLabel": "Filter by category",
      "categoryAll": "All",
      "categoryUncategorized": "Uncategorized",
      "countryUnknown": "Unknown country",
      "cityUnknown": "Unlocated",
      "selectAll": "Select all",
      "clearSelection": "Clear",
      "selectRow": "Select",
      "selectedCount": "{{count}} selected",
      "bulkDelete": "Delete selected ({{count}})",
      "bulkDeleteConfirmTitle": "Delete selected prospects?",
      "bulkDeleteConfirmBody": "{{count}} prospect(s) will be removed from the list and the map. Reversible in the database.",
      "bulkDeleteSuccess": "{{count}} prospect(s) deleted.",
      "bulkDeleteError": "Deletion failed.",
      "title": "Prospects to activate",
      "description": "Imported pros not yet activated. Send an invitation so they claim their profile — once activated they become \"verified\" and receive requests.",
      "invite": "Invite",
      "reinvite": "Re-invite",
      "inviteSent": "SMS invitation sent to {{name}}",
      "inviteCreatedNotSent": "Invitation created, SMS not sent ({{reason}}). Link: {{url}}",
      "blockedUs": "US (+1) number blocked: A2P/TCPA registration required before any SMS.",
      "blockedOptOut": "This pro has disabled SMS.",
      "inviteError": "Failed to send the invitation.",
      "statusPending": "Not invited",
      "statusInvited": "Invited",
      "statusClaimed": "Profile claimed",
      "statusRegistered": "Registered",
      "statusOpened": "Link opened",
      "statusEmailOpened": "Email opened",
      "statusActive": "Activated",
      "sectionActivated": "Activated",
      "activatedDescription": "Pros who claimed and activated their profile. The channel shows how they signed up.",
      "channelEmail": "Email",
      "channelSms": "SMS",
      "viaChannel": "via {{channel}}",
      "activatedCapNote": "{{shown}} most recent shown.",
      "inviteAll": "Invite all ({{count}})",
      "inviteEmailSent": "Email invitation sent to {{name}}",
      "bulkSummary": "{{sent}} sent, {{failed}} not delivered, {{skipped}} skipped",
      "bulkError": "Bulk send failed.",
      "channelBoth": "Both",
      "channelDelivered": "sent",
      "channelNotDelivered": "not delivered",
      "channelSkipped": "skipped",
      "emailMissing": "Real email missing (import placeholder)",
      "blockedPlaceholderEmail": "Placeholder email from import — set the pro's real address first.",
      "blockedEmailOptOut": "This pro unsubscribed from Beedy emails.",
      "emptyTitle": "No prospects to activate",
      "emptyBody": "Imported, non-activated pros will appear here for invitation.",
      "editTitle": "Edit prospect",
      "editName": "Full name",
      "editPhone": "Phone",
      "editEmail": "Email",
      "editEmailHint": "Set a real address to unlock the email invitation.",
      "editSave": "Save",
      "editSuccess": "Information updated",
      "editError": "Update failed.",
      "editNameRequired": "Name is required",
      "deleteConfirmTitle": "Delete this prospect?",
      "deleteConfirmBody": "{{name}} will be removed from the list and the map. Reversible in the database.",
      "deleteConfirm": "Delete",
      "deleteSuccess": "Prospect deleted.",
      "deleteError": "Deletion failed.",
      "previewTitle": "Profile preview",
      "previewSubtitle": "What the pro will see when they sign up",
      "previewError": "Could not load the preview.",
      "callTitle": "Call with the AI assistant",
      "callStarted": "Call started to {{name}}",
      "callError": "Call failed.",
      "callBlockedDoNotCall": "This pro asked not to be called again.",
      "callBlockedWindow": "Outside the legal calling window (8am–9pm local time).",
      "callBlockedNoPhone": "Unusable phone number.",
      "callBlockedActive": "This profile is already active.",
      "callNotConfigured": "Voice calling is not configured (missing VAPI_* variables).",
      "bulkCall": "Call selection ({{count}})",
      "bulkCallError": "Bulk calls failed.",
      "bulkCallSummary": "{{placed}} call(s) started, {{skipped}} skipped",
      "doNotCall": "Do not call",
      "doNotCallHint": "This pro asked not to be called again — calling is blocked.",
      "callFailed": "Call failed",
      "callInterested": "Link requested",
      "callCallback": "Callback requested",
      "callDone": "Called",
      "callInProgress": "Call in progress"
    },
    "bulkImportAI": {
      "sourceText": "Text (AI)",
      "sourcePlaces": "Google Places",
      "places": {
        "description": "Search businesses on Google Places and pre-fill the cards. Review and create as usual. Website, hours and address are fetched automatically.",
        "queryLabel": "Search",
        "queryPlaceholder": "plumber in Jacksonville, FL",
        "categoryLabel": "Category",
        "maxLabel": "Max",
        "discoverButton": "Discover",
        "discovering": "Searching...",
        "queryTooShort": "Enter a search (e.g. \"plumber in Jacksonville, FL\")",
        "notConfigured": "Google Places is not configured (missing API key).",
        "error": "Discovery failed. Please try again.",
        "noProsFound": "No pro found for this search.",
        "found": "{{count}} pros found",
        "foundWithHidden": "{{count}} pros found · {{hidden}} already present hidden",
        "skippedClosed": "{{count}} permanently closed businesses skipped",
        "outOfState": "{{count}} pros outside Florida in the results — check the addresses",
        "photosEphemeral": "Public image storage (R2) is not configured on the server — imported photos and logos will not be kept (empty gallery and avatar). Configure R2_PUBLIC_BUCKET and R2_PUBLIC_BASE_URL before importing.",
        "enrichLabel": "Enrich from the pro's website (email, services, photos)",
        "activityTypeLabel": "Activity type",
        "logoLabel": "Logo (URL)",
        "shortDescriptionLabel": "Short description",
        "keywordsLabel": "Keywords (comma-separated)",
        "progressSearching": "Searching for businesses…",
        "progressBatch": "{{done}} / {{total}} businesses analysed",
        "cancel": "Cancel",
        "cancelled": "Discovery stopped",
        "batchPartialFailure": "{{count}} of {{total}} batches failed — run it again to complete",
        "timedOut": "{{count}} business(es) too slow to analyse, skipped"
      },
      "title": "Bulk import with AI",
      "pasteDescription": "Paste multiple professional profiles at once (Google Maps listings, business cards, emails, Pages Jaunes...). The AI will automatically split them and extract structured information for each.",
      "pastePlaceholder": "Paste multiple pros here. Example:\n\nJean Dupont - Plumber\n12 rue de la Paix, 75002 Paris\nTel: 06 12 34 56 78\nEmail: jean@plomberie-dupont.fr\n10 years of experience...\n\n---\n\nMarie Martin - House cleaner\nLyon 69003\n06 98 76 54 32\nMon-Fri 9am-5pm\nRate: 20€/hour",
      "analyzeButton": "Analyze with AI",
      "analyzing": "Analyzing...",
      "rawTooShort": "Text is too short (min {{min}} characters)",
      "rawTooLong": "Text is too long (max {{max}} characters)",
      "noProsFound": "AI did not find any pro in the text",
      "analyzed": "{{count}} pros extracted",
      "analyzedWithHidden": "{{count}} pros extracted · {{hidden}} already present hidden",
      "allExisting": "All the pros found are already in Beedy.",
      "analyzeError": "Failed to analyze. Please try again.",
      "hintTitle": "How it works",
      "hintBody": "The AI detects where one pro ends and the next begins. You will see a reviewable list of cards where you can edit every field, reject a pro, and create each account individually or all at once.",
      "review": {
        "title": "Review and create",
        "countLabel": "{{total}} pros detected · {{created}} created · {{remaining}} pending",
        "skippedNoEmailCount": "{{count}} skipped: no real email",
        "createAll": "Create all remaining ({{count}})",
        "creatingAll": "Creating all...",
        "startOver": "Start over",
        "inviteBySms": "Invite by SMS on creation",
        "hiddenExisting": "{{count}} already present (prospects or pros), hidden",
        "createAllSummary": "{{created}} created · {{failed}} failed · {{skipped}} skipped",
        "revivedCount": "{{count}} pros reactivated (soft-deleted accounts)",
        "emailYield": "Analyzed batch, hidden duplicates included: {{noEmail}} of {{total}} without an email ({{noWebsite}} have no website)",
        "emailYieldNoEnrich": "Analyzed batch, hidden duplicates included: {{noEmail}} of {{total}} without an email — website enrichment was off, so no site was read",
        "enrichFailedCount": "{{count}} website(s) could not be read",
        "cardsWithoutEmail": "{{count}} card(s) below cannot be created without an email"
      },
      "card": {
        "createButton": "Create",
        "creatingLabel": "Creating...",
        "createdBadge": "Created",
        "rejectButton": "Reject",
        "tempPasswordLabel": "Temp password",
        "copyPassword": "Copy",
        "passwordCopied": "Password copied",
        "missingRequired": "Name, phone and category are required",
        "noRealEmail": "Real email required — pros without an email are not imported",
        "proNumber": "Pro number",
        "unnamed": "(unnamed)",
        "offersCount": "{{count}} offers detected",
        "scheduleSummary": "{{count}} active days in schedule",
        "fullDescriptionLabel": "Full description",
        "photosLabel": "{{count}} photos",
        "removePhotoLabel": "Remove photo",
        "googleRatingLabel": "Google rating",
        "businessStatusClosedTemporarily": "Temporarily closed",
        "businessStatusClosedPermanently": "Permanently closed",
        "websiteLabel": "Website",
        "socialsLabel": "Social networks",
        "addPhotoPlaceholder": "https://…",
        "addPhotoButton": "Add photo",
        "invalidPhotoUrl": "Invalid photo URL (must start with http:// or https://)",
        "offersSectionTitle": "Offers ({{count}})",
        "offersAddButton": "Add an offer",
        "offersRemoveLabel": "Remove offer",
        "offersTitleLabel": "Title",
        "offersDescriptionLabel": "Description",
        "offersPriceFromLabel": "Price from",
        "offersPriceTypeLabel": "Price type",
        "offersPriceTypeFrom": "From",
        "offersPriceTypeFixed": "Fixed",
        "offersPriceTypeQuote": "Quote",
        "offersDurationLabel": "Estimated duration",
        "scheduleSectionTitle": "Schedule ({{count}} active days)",
        "invalidPhone": "Invalid phone number",
        "duplicateError": "A pro with this phone or email already exists",
        "revivedBadge": "Pro reactivated",
        "scheduleDay0": "Sunday",
        "scheduleDay1": "Monday",
        "scheduleDay2": "Tuesday",
        "scheduleDay3": "Wednesday",
        "scheduleDay4": "Thursday",
        "scheduleDay5": "Friday",
        "scheduleDay6": "Saturday",
        "warnSchedule": "opening hours not saved",
        "warnPortfolio": "photos not saved",
        "warnVideos": "videos not saved",
        "warnInvite": "invitation not sent",
        "warnOffers": "{{failed}} of {{total}} services not saved",
        "partialWarnings": "Account created, but: {{items}}",
        "findEmailTitle": "Find an email",
        "emailSuggestionsLabel": "Suggested addresses",
        "emailSourceWebsite": "Pro website",
        "emailSourcePageText": "Page text",
        "emailSourceAi": "Read by AI",
        "emailSourceDirectory": "Directory",
        "openContactPage": "Open contact page",
        "searchHarder": "Search harder",
        "searchingHarder": "Searching...",
        "searchHarderNone": "No address found — open the contact page and read it there",
        "searchHarderError": "Search failed — try again",
        "emailSourceUnknown": "Unverified source",
        "emailSuggestionInUse": "in use",
        "emailAlternativesHint": "Auto-picked from these — click another to replace it, or “Also send” to invite a second address too",
        "emailSecondaryToggle": "Also send here",
        "emailSecondaryAdd": "Also send",
        "emailSecondaryInUse": "also sent",
        "noWebsiteToSearch": "No website to read — look the pro up on Google or call them",
        "openGoogleMaps": "Open the Google listing",
        "callPro": "Call {{phone}}",
        "searchHarderInvalidWebsite": "This website cannot be read — fix the address above",
        "searchHarderRateLimited": "Too many searches at once — wait a minute before retrying",
        "searchHarderServerError": "Search refused by the server ({{status}}) — try again later"
      }
    },
    "addPro": {
      "step1Title": "Basic Info",
      "step2Title": "AI Description",
      "step3Title": "Offers",
      "step4Title": "Schedule",
      "step5Title": "Preview",
      "basicInfoTitle": "Professional Information",
      "name": "Full Name",
      "namePlaceholder": "John Doe",
      "email": "Email",
      "emailPlaceholder": "pro@example.com",
      "phone": "Phone",
      "phonePlaceholder": "+33 6 12 34 56 78",
      "address": "Address",
      "addressPlaceholder": "City, Country",
      "addressAutoDetected": "Leave empty to auto-detect from the description.",
      "category": "Service Category",
      "categoryAutoDetected": "Leave empty to auto-detect from the description.",
      "descriptionTitle": "Business Description",
      "businessName": "Business Name",
      "businessNamePlaceholder": "My Business",
      "bio": "Description",
      "bioPlaceholder": "Professional description...",
      "generateAI": "Generate with AI",
      "generating": "Generating...",
      "aiGenerated": "AI description generated",
      "aiError": "Failed to generate AI description",
      "createFirstForAI": "The account will be created in the next step. You can then generate the AI description.",
      "serviceAreas": "Service Areas",
      "serviceAreaPlaceholder": "Add a city or area...",
      "offersTitle": "Service Offers",
      "addOffer": "Add Offer",
      "noOffers": "No offers yet. Add one or skip this step.",
      "offerNumber": "Offer {{n}}",
      "offerTitle": "Title",
      "offerTitlePlaceholder": "e.g. Plumbing Repair",
      "offerDescription": "Description",
      "offerDescriptionPlaceholder": "Describe the service...",
      "offerPrice": "Price",
      "offerPriceType": "Price Type",
      "priceFrom": "From",
      "priceFixed": "Fixed",
      "priceQuote": "Quote",
      "offerDuration": "Duration",
      "offerDurationPlaceholder": "2 hours",
      "scheduleTitle": "Working Hours",
      "scheduleDescription": "Set the weekly availability for this professional.",
      "closed": "Closed",
      "successTitle": "Professional Created Successfully",
      "successDescription": "The account is ready. Share the credentials below with the professional.",
      "credentials": "Login Credentials",
      "proNumber": "Pro Number",
      "tempPassword": "Temp Password",
      "copied": "Copied to clipboard",
      "summary": "Profile Summary",
      "offersCount": "{{count}} offer(s)",
      "viewProfile": "View Public Page",
      "finish": "Finish & Return to List",
      "back": "Back",
      "next": "Next",
      "saving": "Saving...",
      "createAndContinue": "Create Account & Continue",
      "accountCreated": "Professional account created",
      "offersSaved": "Offers saved",
      "offersError": "Failed to save offers",
      "scheduleSaved": "Schedule saved",
      "scheduleError": "Failed to save schedule",
      "pasteTitle": "Paste a Professional Description",
      "pasteDescription": "Copy-paste a professional's listing from Google, Pages Jaunes, a business card, or any source. The AI will automatically extract all information.",
      "pastePlaceholder": "Paste the professional's description here...\n\nExample:\nJohn Smith - Plumber\n12 Main St, New York, NY\nTel: +1 555 123 4567\nEmail: john@smith-plumbing.com\nHours: Mon-Fri 8am-6pm\nServices: Leak Repair, Drain Cleaning, Pipe Installation\nRate: from $60\n10 years experience...",
      "analyzeWithAI": "Analyze with AI",
      "analyzing": "Analyzing with AI...",
      "aiParsed": "AI has extracted all information",
      "aiParseError": "Failed to analyze description. Try again or fill manually.",
      "descriptionTooShort": "Description too short (min 10 characters)",
      "reviewTitle": "Review Extracted Information",
      "reviewDescription": "The AI has extracted the following information. Review and edit if needed, then click Next.",
      "resetAndPasteAgain": "Reset and paste another description",
      "stockPhotoPickerTitle": "Stock Photos",
      "stockPhotoPickerDescription": "Select a photo from our curated library",
      "stockPhotoPickerNoCategory": "Please select a service category first to see relevant photos.",
      "stockPhotoPickerEmpty": "No photos available for this category.",
      "stockPhotoPickerConfirm": "Add {{count}} photo(s)",
      "stockPhotoPickerCancel": "Cancel",
      "stockPhotoAlreadyUsed": "Already added",
      "chooseFromStock": "Stock Photos",
      "bannerPhoto": "Banner Photo",
      "bannerPhotoDescription": "Displayed at the top of the professional's profile page.",
      "noBanner": "No banner selected",
      "profilePhoto": "Profile Photo",
      "profilePhotoDescription": "The professional's avatar/profile picture.",
      "offerImages": "Offer Images",
      "addStockPhotos": "Add Stock Photos",
      "unsplashAttribution": "Photos provided by Unsplash",
      "portfolioImages": "Portfolio Images",
      "imagesDetected": "{{count}} image(s) detected",
      "addAllToPortfolio": "Add all",
      "clickToAdd": "Click to add to portfolio",
      "addImageUrlPlaceholder": "Paste an image URL...",
      "invalidImageUrl": "This URL does not look like an image",
      "portfolioError": "Failed to save portfolio images"
    },
    "proDetailPanels": {
      "notifications": {
        "title": "Notifications",
        "received": "Received by the pro",
        "emptyReceived": "No notification sent to this pro.",
        "adminAlerts": "Admin alerts about this pro",
        "emptyAdminAlerts": "No admin alert about this pro.",
        "unread": "Unread"
      },
      "tabs": {
        "finance": "Finance"
      },
      "banBanner": {
        "title": "This pro is banned",
        "reason": "Reason: {{reason}}",
        "noReason": "No reason recorded.",
        "until": "Until {{date}}",
        "permanent": "Permanent",
        "since": "Banned on {{date}}",
        "suspendedBadge": "Suspended"
      },
      "extraFields": {
        "phoneVerified": "Phone verified",
        "preferredLanguage": "Preferred language",
        "smsChannels": "SMS / WhatsApp opt-in",
        "skills": "Skills",
        "serviceAreas": "Service areas",
        "locationUpdatedAt": "GPS updated",
        "googleSyncedAt": "Google rating synced"
      },
      "compliance": {
        "title": "Compliance & licence",
        "source": "Profile source",
        "sourceDbpr": "DBPR registry import",
        "sourceSelf": "Self-registered",
        "identityStatus": "Identity (Stripe)",
        "identity": {
          "not_started": "Not started",
          "pending": "Pending",
          "verified": "Verified",
          "failed": "Failed"
        },
        "identityVerifiedAt": "Identity verified on",
        "suspendedAt": "Suspended since",
        "licenseNumber": "Licence number",
        "licenseStatus": "Licence status",
        "licenseType": "Licence type",
        "licenseExpires": "Licence expires",
        "expired": "expired",
        "dbprSyncedAt": "DBPR synced on",
        "notLicensed": "No DBPR licence on file"
      },
      "stripeConnect": {
        "title": "Stripe Connect",
        "notConnected": "No Stripe Connect account — payouts go to the internal wallet only.",
        "accountId": "Account",
        "accountStatus": "Account status",
        "chargesEnabled": "Charges enabled",
        "payoutsEnabled": "Payouts enabled",
        "connectedAt": "Connected on",
        "requirementsDue": "Requirements due",
        "noRequirements": "None"
      },
      "financePanel": {
        "title": "Realized revenue (payment-verified)",
        "noData": "No captured payment yet.",
        "thisMonth": "{{amount}} this month",
        "jobs": "{{count}} paid job(s)",
        "monthlyTitle": "Last 12 months ({{currency}})",
        "realizedTotal": "Realized",
        "statusFunnelTitle": "Orders by status (all time)",
        "unavailable": "Finance summary unavailable — showing legacy stats on the Orders tab."
      },
      "wallet": {
        "title": "Internal wallet",
        "noWallet": "No wallet yet (created on first credit).",
        "available": "Available",
        "pending": "Pending",
        "recentEntries": "Recent ledger entries"
      },
      "penalties": {
        "title": "Penalties",
        "total": "{{count}} · {{amount}}",
        "none": "No penalty on record.",
        "reason": {
          "client_changed_mind": "Client changed mind",
          "client_no_show": "Client no-show",
          "client_other": "Client (other)",
          "provider_unavailable": "Pro unavailable",
          "provider_no_show": "Pro no-show",
          "provider_other": "Pro (other)",
          "no_provider_available": "No pro available",
          "admin_action": "Admin action",
          "payment_failed": "Payment failed",
          "system_timeout": "System timeout"
        }
      },
      "damageClaims": {
        "title": "Damage claims",
        "open": "{{count}} open",
        "totalCount": "{{count}} total",
        "none": "No damage claim against this pro."
      },
      "verifDocs": {
        "title": "Verification documents",
        "none": "No verification document submitted.",
        "type": {
          "diploma": "Diploma",
          "license": "Licence",
          "certification": "Certification",
          "insurance": "Insurance",
          "id_document": "ID document"
        },
        "status": {
          "pending": "Pending",
          "approved": "Approved",
          "rejected": "Rejected",
          "expired": "Expired"
        },
        "autoVerified": "auto",
        "expiresAt": "Expires {{date}}",
        "reviewedAt": "Reviewed {{date}}",
        "rejectionReason": "Rejected: {{reason}}",
        "privateNote": "Files are stored privately; review them through the verification queue."
      },
      "paymentsCard": {
        "title": "Payments (last 25)",
        "none": "No payment recorded."
      },
      "aiProfile": {
        "secondaryCategories": "Secondary categories",
        "capabilities": "Capabilities",
        "specialties": "Specialties",
        "expertiseKeywords": "Expertise keywords",
        "problemTypes": "Problem types",
        "workStyle": "Work style",
        "matchingTags": "Matching tags",
        "generatedAt": "Generated",
        "profileVersion": "v"
      }
    },
    "proDetail": {
      "pageTitle": "Business",
      "notifications": "Notifications",
      "loading": "Loading professional…",
      "loadError": "Could not load this professional.",
      "notFound": "Professional not found.",
      "retry": "Retry",
      "back": "Back to admin",
      "footerHint": "Country is resolved from profile, address, or phone when available.",
      "documentsHint": "Structured documents stored on the provider profile (e.g. insurance).",
      "hero": {
        "message": "Message",
        "call": "Call"
      },
      "summary": {
        "totalPayment": "Total payment (recent)",
        "totalOrders": "Total orders",
        "openSupport": "Open support"
      },
      "offerActive": "Active",
      "offerInactive": "Inactive",
      "yes": "Yes",
      "no": "No",
      "stats": {
        "totalOrders": "Total orders",
        "completed": "Completed",
        "active": "Active (non-final)",
        "activeHint": "Orders not completed or cancelled",
        "revenue": "Completed revenue (USD)"
      },
      "sections": {
        "account": "Account & identity",
        "businessInfo": "Business information",
        "businessInfoHint": "Contact and identifiers",
        "nextActivity": "Next activity",
        "nextActivityHint": "Open orders from recent data",
        "activityHistory": "Activity history",
        "activityHistoryHint": "Recently completed jobs",
        "location": "Location",
        "loyalty": "Loyalty",
        "offerTypes": "Offer categories",
        "reportsFromUsers": "Reports & tickets",
        "reportsFromUsersHint": "Support threads linked to this professional",
        "messages": "Messages",
        "revenueTrend": "Revenue trend",
        "completionTrend": "Completion rate",
        "schedule": "Schedule preview",
        "reviews": "Reviews",
        "proProfile": "Professional profile",
        "aiProfile": "AI-enriched profile",
        "category": "Category",
        "documents": "Documents & compliance",
        "orders": "Recent orders",
        "payments": "Payments",
        "ratings": "Ratings received",
        "offers": "Service offers",
        "support": "Support threads"
      },
      "placeholders": {
        "loyaltyHint": "No pro loyalty program in API — internal engagement score for quick context.",
        "scheduleHint": "Visual week preview — connect to booking data when available."
      },
      "loyalty": {
        "internalEngagement": "Internal engagement",
        "internalEngagementHint": "Derived from completed jobs and reviews count (indicative only)."
      },
      "location": {
        "openMaps": "Open in Maps",
        "noCoords": "No coordinates on file"
      },
      "messages": {
        "inbox": "Inbox ({{count}} threads with messages)",
        "viewAll": "View all",
        "snippet": "{{count}} messages in thread",
        "threadId": "Thread #{{id}}"
      },
      "support": {
        "genericThread": "Support thread",
        "thread": "Thread"
      },
      "charts": {
        "fromRecentOrders": "Based on recent orders in this view (not full history).",
        "empty": "Not enough time-series data in the recent sample.",
        "noData": "No data yet",
        "revenue": "Revenue ($)",
        "revenueTitle": "Revenue trend",
        "orderStats": "Order statistics",
        "cancelledLabel": "Cancelled",
        "completionDescription": "Share of completed vs. all orders per month (recent sample).",
        "completedShare": "Completed share"
      },
      "schedule": {
        "sampleTitle": "Sample slot",
        "sampleTime": "10:00 – 11:30"
      },
      "sidebar": {
        "actions": "Quick actions",
        "actionsHint": "Shortcuts for admins — some require backend wiring.",
        "bankAccount": "Bank account",
        "modifyReservation": "Modify reservation",
        "contact": "Contact",
        "message": "Message",
        "report": "Report",
        "suspension": "Suspension"
      },
      "status": {
        "completed": "Completed",
        "active": "ACTIVE",
        "pending": "PENDING",
        "new": "NEW",
        "verified": "✓ VERIFIED"
      },
      "fields": {
        "id": "User ID",
        "email": "Email",
        "phone": "Phone",
        "emailVerified": "Email verified",
        "identityVerified": "Identity verified (user)",
        "createdAt": "Created at",
        "updatedAt": "Updated at",
        "banned": "Banned",
        "bannedYes": "Yes",
        "defaultAddress": "Default address (profile)",
        "businessName": "Business name",
        "proVerified": "Profile verified",
        "bio": "Bio",
        "hourlyRate": "Hourly rate",
        "experienceYears": "Experience (years)",
        "acceptingClients": "Accepting clients",
        "serviceRadius": "Service radius",
        "location": "Last known location",
        "skills": "Skills (JSON)",
        "serviceAreas": "Service areas",
        "portfolio": "Portfolio images",
        "primaryCategory": "Primary category",
        "experienceLevel": "Experience level",
        "aiSummary": "AI summary",
        "secondaryCategories": "Secondary categories",
        "capabilities": "Capabilities",
        "priceFrom": "Price",
        "displayRating": "Display rating (account)",
        "profileAvgRating": "Profile avg rating (provider_profiles)",
        "googleRating": "Google rating",
        "googleReviews": "reviews",
        "googleNotLinked": "Not linked"
      },
      "googleLink": {
        "manage": "Google rating",
        "linkButton": "Link Google",
        "title": "Link a Google listing",
        "subtitle": "Pick the matching Google Business listing for {{name}}.",
        "searching": "Searching Google…",
        "noCandidates": "No Google listings found for this professional.",
        "reviewsShort": "{{n}} reviews",
        "viewOnGoogle": "View on Google",
        "select": "Select",
        "linked": "Linked",
        "refresh": "Refresh rating",
        "unlink": "Unlink",
        "notConfigured": "Google Places is not configured on the server.",
        "linkSuccess": "Google rating linked.",
        "refreshSuccess": "Google rating refreshed.",
        "unlinkSuccess": "Google listing unlinked.",
        "error": "Something went wrong. Please try again.",
        "alreadyLinked": "This listing is already linked to another professional."
      },
      "table": {
        "order": "Order",
        "category": "Category",
        "status": "Status",
        "client": "Client",
        "price": "Price",
        "amount": "Amount",
        "created": "Date",
        "rating": "Rating",
        "from": "From"
      },
      "empty": {
        "orders": "No orders yet.",
        "payments": "No payments linked to this pro’s orders.",
        "ratings": "No ratings received yet.",
        "offers": "No published offers.",
        "support": "No support threads.",
        "nextActivity": "No active orders in the recent list.",
        "activityHistory": "No completed orders in the recent list.",
        "offerCategories": "No categories from offers yet.",
        "activity": "No activity recorded",
        "ordersDesc": "Orders will appear here once created",
        "messages": "No messages",
        "noPhone": "No phone number",
        "noCategory": "No category assigned"
      },
      "tabs": {
        "overview": "Overview",
        "overviewShort": "Overview",
        "services": "Services",
        "servicesShort": "Services",
        "orders": "Orders",
        "ordersShort": "Ord",
        "activity": "Activity",
        "documents": "Documents",
        "documentsShort": "Docs",
        "messages": "Messages",
        "messagesShort": "Msg",
        "planning": "Schedule",
        "planningShort": "Plan"
      },
      "timeline": {
        "orderCompleted": "Order completed",
        "orderCancelled": "Order cancelled",
        "newOrder": "New order",
        "paymentReceived": "Payment received",
        "reviewReceived": "Review received",
        "fromUser": "from {{name}}"
      },
      "actions": {
        "edit": "Edit",
        "add": "Add",
        "delete": "Delete",
        "viewProfile": "View profile",
        "verify": "Verify",
        "resetPassword": "Reset password",
        "ban": "Ban",
        "unban": "Unban",
        "close": "Close",
        "sendWhatsApp": "Send WhatsApp",
        "enableMatching": "Enable matching",
        "disableMatching": "Remove from matching",
        "matchingEnabledToast": "Pro activated: they now receive incoming requests.",
        "matchingDisabledToast": "Pro removed from matching.",
        "matchingErrorToast": "Failed to update matching eligibility."
      },
      "filters": {
        "all": "All",
        "active": "Active",
        "completed": "Completed",
        "cancelled": "Cancelled"
      },
      "orders": {
        "unknownClient": "Unknown client — open the order from the dashboard"
      },
      "priceTypes": {
        "quote": "Quote",
        "fixed": "Fixed price",
        "from": "Starting from",
        "hourly": "Hourly"
      },
      "services": {
        "offersCount": "Service offers ({{count}})",
        "price": "Price:",
        "confirmDelete": "Delete this offer?",
        "deleteSuccess": "Offer deleted"
      },
      "documents": {
        "maxUpload": "Maximum 20 images per upload",
        "fileTooLarge": "{{name}} is too large (max 5 MB)",
        "uploadError": "Upload error",
        "uploadSuccess": "{{count}} image(s) added to portfolio",
        "uploadErrorGeneric": "Error uploading images",
        "deleteError": "Error deleting image",
        "deleteSuccess": "Image removed from portfolio",
        "uploading": "Uploading...",
        "addPhotos": "Add photos to portfolio",
        "emptyPortfolio": "No photos in portfolio",
        "emptyPortfolioHint": "Click \"Add photos to portfolio\" to get started.",
        "portfolioCount": "Portfolio ({{count}} image(s))",
        "deleteImage": "Delete this image",
        "insuranceRaw": "Insurance / documents (raw JSON)"
      },
      "videos": {
        "title": "YouTube videos",
        "placeholder": "Paste a YouTube URL (youtu.be / youtube.com / shorts)",
        "addVideo": "Add",
        "invalidUrl": "This URL doesn't look like a YouTube link.",
        "addSuccess": "Video added",
        "addError": "Error adding the video",
        "deleteSuccess": "Video removed",
        "deleteError": "Error removing the video",
        "empty": "No videos yet",
        "emptyHint": "Paste a YouTube link above to add a video to this pro's page.",
        "count": "{{count}} video(s)",
        "deleteVideo": "Remove this video"
      },
      "planning": {
        "noScheduleWarning": "No mission dates on recent orders",
        "noScheduleDetail": "The schedule uses COALESCE(scheduled_time, accepted_at) per order. As long as none of these values are set, the calendar will remain empty even if there are active orders.",
        "calendar": "Calendar",
        "upcoming": "Upcoming appointments",
        "noUpcoming": "No upcoming appointments",
        "noUpcomingHint": "Slots appear when active orders have a date (scheduled_time or acceptance).",
        "confirmed": "Confirmed",
        "pending": "Pending",
        "availability": "Registered availability",
        "noAvailability": "No slots in provider_availability (same as public pro setting).",
        "editSlots": "Edit",
        "quickStats": "Quick stats",
        "activeOrders": "Active orders",
        "completedThisMonth": "Completed this month",
        "displayRating": "Display rating",
        "ratingsCount": "Reviews in database",
        "activeOffers": "Active offers"
      },
      "quickAccess": {
        "title": "Quick access",
        "ratings": "Reviews received",
        "ratingsDesc": "{{count}} reviews in database • display rating {{rating}}/5 (as pro profile)",
        "security": "Security",
        "notifications": "Notifications",
        "revenuePayments": "Revenue & Payments",
        "revenuePaymentsDesc": "{{count}} latest payments listed • completed revenue {{revenue}}"
      },
      "notifs": {
        "emailNotVerified": "Email not verified",
        "emailNotVerifiedMsg": "The user has not yet verified their email address ({{email}}).",
        "resendEmail": "Resend email",
        "docsMissing": "Documents missing",
        "docsMissingMsg": "No documents have been uploaded. The profile cannot be verified.",
        "requestDocs": "Request documents",
        "newPro": "New professional",
        "newProMsg": "This account is recent and has no orders yet.",
        "activeOrder": "Active order",
        "activeOrderMsg": "{{count}} order(s) currently in progress for this professional.",
        "viewOrder": "View order",
        "emailSubject": "Email verification — Beedy",
        "emailBody": "Hello,\n\nPlease finalize the verification of your email address from the Beedy app.\n\n— Support"
      },
      "avatar": {
        "tooLarge": "Image too large (max 2.5 MB)",
        "changeError": "Error changing photo",
        "changeSuccess": "Profile photo updated",
        "editTitle": "Edit profile photo",
        "importPhoto": "Import a photo",
        "fromPortfolio": "Choose from portfolio",
        "noPortfolio": "No photos in portfolio"
      },
      "header": {
        "addLocation": "Add location",
        "editLocation": "Edit location",
        "reviewCount": "({{count}} reviews)",
        "joinedOn": "Joined on {{date}}"
      },
      "error": "Error",
      "editCategoryModal": {
        "title": "Assign a category",
        "placeholder": "Choose a category...",
        "save": "Save",
        "saveSuccess": "Category updated",
        "saveError": "Failed to save category"
      },
      "contactModal": {
        "title": "Contact {{name}}",
        "channelEmail": "Email",
        "channelMessage": "In-app message",
        "channelWhatsApp": "WhatsApp",
        "chooseTemplate": "Template",
        "templatePlaceholder": "Choose a template…",
        "freeText": "Free message",
        "subjectLabel": "Subject",
        "bodyLabel": "Message",
        "sendViaPlatform": "Send via Beedy",
        "openMailClient": "Open my mail app",
        "send": "Send",
        "sending": "Sending…",
        "cancel": "Cancel",
        "emailSentSuccess": "Email sent to {{name}}.",
        "emailSentError": "Failed to send the email.",
        "messageSentSuccess": "Message sent to {{name}}.",
        "messageSentError": "Failed to send the message.",
        "placeholderEmailError": "Missing or placeholder email — set the real address first.",
        "noPhoneError": "This pro has no phone number.",
        "noEmailNotice": "No real email on file — only WhatsApp / in-app message are available.",
        "noPhoneNotice": "No phone on file — WhatsApp is unavailable.",
        "activationInAppWarning": "This template asks the pro to activate their account: until they do, they cannot read in-app messages. Prefer WhatsApp.",
        "previewPlaceholderError": "This message still contains unreplaced sample text. Select the template again."
      },
      "sendWhatsAppModal": {
        "title": "Send WhatsApp to {{name}}",
        "subtitle": "Choose a pre-defined message to send to this pro",
        "chooseMessage": "Choose a message",
        "chooseMessagePlaceholder": "— Select —",
        "preview": "Preview",
        "noMessageSelected": "Select a message above to see the preview",
        "previewLanguageNote": "Preview in your admin language. The pro will receive the message in their preferred language.",
        "warning24h": "The pro must have messaged Beedy via WhatsApp within the last 24 hours to receive this message.",
        "cancel": "Cancel",
        "send": "Send",
        "sending": "Sending…",
        "sentSuccess": "Message sent via WhatsApp",
        "sentError": "Error while sending",
        "businessVerificationPending": "Meta is blocking sends — Beedy's business verification is pending submission. Submit documents at business.facebook.com/settings/info (1-3 business days for Meta approval). Meanwhile, add a test phone in WhatsApp Manager → API setup → Test numbers for QA.",
        "noPhoneError": "This pro has no phone number",
        "templatePlainTextFallback": "Meta template in review — will be sent as plain text",
        "messages": {
          "profile_complete": {
            "label": "Request profile completion"
          },
          "documents_approved": {
            "label": "Documents approved"
          },
          "documents_required": {
            "label": "Documents required"
          },
          "support_contact": {
            "label": "Support contact required"
          },
          "welcome": {
            "label": "Generic welcome (re-engagement)"
          },
          "inactive_warning": {
            "label": "Inactivity warning"
          },
          "welcome_admin_added": {
            "label": "🆕 Welcome (profile created by team)"
          }
        },
        "bulk": {
          "title": "Send WhatsApp to {{count}} pros",
          "subtitle": "Each pro receives the message with their own first name and category.",
          "previewNote": "Name and category are substituted per recipient automatically.",
          "namePlaceholder": "[first name]",
          "categoryPlaceholder": "[category]",
          "templateBackedNote": "Meta-approved template — delivers to everyone, even pros who never messaged Beedy before.",
          "warning24hBulk": "Plain text: only delivered to pros with an active WhatsApp 24-hour conversation window.",
          "sendButton": "Send to {{count}}",
          "close": "Close",
          "sentLabel": "Sent",
          "skippedLabel": "Skipped",
          "failedLabel": "Failed",
          "totalNote": "Total: {{total}} pros",
          "successToast": "{{sent}} of {{total}} messages sent",
          "errorGeneric": "Bulk send failed"
        }
      }
    },
    "missionLab": {
      "bannerTitle": "Preview mode",
      "bannerBody": "This screen uses sample data for UI exploration. Use Live ops, Orders, and Support for real data."
    },
    "sidebar": {
      "categories": "Categories",
      "collapseMenu": "Collapse menu",
      "dashboard": "Dashboard",
      "operationsTower": "Live ops",
      "missionLab": "Mission preview",
      "expandMenu": "Expand menu",
      "messages": "Messages",
      "orders": "Orders",
      "finance": "Finance",
      "professionals": "Professionals",
      "support": "Support",
      "workspace": "Support workspace",
      "users": "Users",
      "supportChat": "Support chat",
      "createAdmin": "Create admin",
      "notifications": "Notifications"
    },
    "createAdmin": {
      "title": "Create administrator",
      "subtitle": "Add a new admin user to the platform",
      "formTitle": "New administrator",
      "fields": {
        "fullName": "Full name",
        "email": "Email address",
        "phone": "Phone number (optional)",
        "password": "Password",
        "confirmPassword": "Confirm password"
      },
      "placeholders": {
        "fullName": "John Doe",
        "email": "support@beedy.app",
        "phone": "+1 (305) 555-0100",
        "password": "At least 8 characters",
        "confirmPassword": "Repeat password"
      },
      "errors": {
        "fullNameRequired": "Full name is required",
        "emailRequired": "Email is required",
        "emailInvalid": "Invalid email address",
        "passwordRequired": "Password is required",
        "passwordTooShort": "Password must be at least 8 characters",
        "passwordMismatch": "Passwords do not match",
        "generic": "An error occurred. Please try again."
      },
      "submit": "Create administrator",
      "submitting": "Creating...",
      "successToast": "Administrator created successfully",
      "successMessage": "Administrator account created successfully!",
      "addButton": "Add an administrator",
      "listTitle": "Administrators",
      "table": {
        "name": "Name",
        "email": "Email",
        "phone": "Phone",
        "createdAt": "Created"
      },
      "emptyState": "No administrators found.",
      "listLoadError": "Could not load administrators.",
      "listLoadErrorWithDetail": "Could not load administrators: {{detail}}",
      "listLoadErrorHint": "Check that the API server is running (e.g. npm run server:dev) and try again.",
      "listRetry": "Retry"
    },
    "support": {
      "addDocumentation": "add documentation",
      "addressLabel": "address label",
      "after": "after",
      "afterPhoto": "after photo",
      "amount": "amount",
      "assign": "assign",
      "attachments": "attachments",
      "avgResponseTime": "avg response time",
      "before": "before",
      "beforePhoto": "before photo",
      "cancel": "cancel",
      "cancelOrder": "cancel order",
      "category": "category",
      "client": "client",
      "closeTicket": "close ticket",
      "closedByAdmin": "closed by admin",
      "hoursAgo": "hours ago",
      "lessThanAnHourAgo": "less than an hour ago",
      "loadingTickets": "loading tickets",
      "messagesCount": "messages count",
      "noAfterPhotos": "no after photos",
      "noBeforePhotos": "no before photos",
      "noOpenTickets": "no open tickets",
      "number": "number",
      "openTickets": "open tickets",
      "orderAccepted": "order accepted",
      "orderCancelled": "order cancelled",
      "orderCompleted": "order completed",
      "orderEnRoute": "order en route",
      "orderInProgress": "order in progress",
      "orderPending": "order pending",
      "photoAdded": "photo added",
      "photoNumber": "photo number",
      "priorityCritical": "priority critical",
      "priorityHigh": "priority high",
      "priorityLow": "priority low",
      "priorityMedium": "priority medium",
      "professionalLabel": "professional label",
      "professionalShort": "professional short",
      "reassignPro": "reassign pro",
      "refund": "refund",
      "relatedOrder": "related order",
      "reopenTicket": "reopen ticket",
      "reply": "reply",
      "replyPlaceholder": "reply placeholder",
      "replyToTicket": "reply to ticket",
      "sendReply": "send reply",
      "statistics": "statistics",
      "statusClosed": "status closed",
      "statusInProgress": "status in progress",
      "statusLabel": "status label",
      "statusOpen": "status open",
      "statusResolved": "status resolved",
      "statusWaitingUser": "status waiting user",
      "ticketReopened": "ticket reopened",
      "totalTickets": "total tickets",
      "viewOrder": "view order",
      "viewConversation": "Conversation",
      "assignedTo": "Assigned: {{name}}",
      "reopenTicketError": "Could not reopen ticket.",
      "replySendError": "Could not send reply.",
      "replySent": "Reply sent.",
      "replySending": "Sending…",
      "yesterday": "yesterday",
      "resolutionNotePrompt": "Resolution note (optional)",
      "markInProgressError": "Failed to update ticket",
      "resolveTicket": "Resolve…",
      "resolveTicketError": "Failed to resolve ticket",
      "unassign": "Unassign",
      "unassignError": "Failed to unassign",
      "markInProgress": "Mark in progress",
      "ticketInProgress": "Ticket marked in progress",
      "ticketResolved": "Ticket resolved",
      "ticketUnassigned": "Ticket unassigned"
    },
    "admin": "Admin",
    "supportChat": {
      "admin": "Support",
      "proConversation": "Pro conversation",
      "generalThread": "General conversation",
      "title": "Support chat by request",
      "subtitle": "All support and pro-admin conversations in one place.",
      "all": "All",
      "supportTickets": "Support",
      "proAdmin": "Pro-Admin",
      "noThreads": "No support chats at the moment.",
      "requestNumber": "Request",
      "needsReply": "Pending",
      "noMessages": "No message"
    },
    "workspace": {
      "itemTitle": {
        "order": "Order #{{number}}",
        "supportEmail": "Support — {{email}}",
        "general": "General support",
        "proFallback": "Pro"
      },
      "title": "Support workspace",
      "subtitle": "Support tickets, general threads, and pro–admin messages with order context.",
      "loadError": "Failed to load inbox",
      "emptyInbox": "No conversations",
      "pickConversation": "Select a conversation",
      "contextHint": "Context appears when a thread is selected.",
      "ticketActions": "Ticket",
      "links": "Shortcuts",
      "userProfile": "User profile",
      "proProfile": "Professional profile",
      "noContextLinks": "No profile shortcuts for this thread.",
      "order": "Order",
      "conversation": "Conversation",
      "filterOrderSupport": "Order support",
      "filterGeneral": "General",
      "chatOpenError": "Could not open this support thread.",
      "backToInbox": "Inbox",
      "backToChat": "Back to chat",
      "detailsTitle": "Ticket details",
      "viewDetails": "View ticket details",
      "currentAdmin": "Current admin",
      "queueLabel": "Support queue",
      "loadMore": "Load more",
      "assignedTo": "Assigned: {{name}}",
      "unassigned": "Unassigned",
      "queue": {
        "active": "Active",
        "all": "All statuses",
        "open": "Open",
        "in_progress": "In progress",
        "resolved": "Resolved",
        "closed": "Closed"
      },
      "ticketStatus": {
        "open": "Open",
        "in_progress": "In progress",
        "waiting_user": "Waiting on user",
        "resolved": "Resolved",
        "closed": "Closed"
      }
    },
    "users": {
      "title": "User management",
      "subtitle": "List of all users, clients and professionals.",
      "searchPlaceholder": "Search by name or email...",
      "all": "All",
      "clients": "Clients",
      "providers": "Pros",
      "admins": "Admins",
      "noUsers": "No users found.",
      "name": "Name",
      "email": "Email",
      "phone": "Phone",
      "role": "Role",
      "status": "Status",
      "joined": "Joined",
      "banned": "Banned",
      "verified": "Verified",
      "pending": "Pending",
      "loadError": "Could not load users.",
      "loadErrorHint": "If this keeps happening, restart the server after a database update.",
      "retry": "Retry",
      "country": "Country",
      "countryUnknown": "Not set",
      "countryAll": "All countries",
      "countryNotSet": "Not set",
      "countryFilter": "Filter by country",
      "sortLabel": "Sort",
      "sortByCountry": "By country (A–Z)",
      "sortByCreated": "Newest first"
    },
    "editLocation": {
      "invalidLat": "Invalid latitude (between -90 and 90)",
      "invalidLng": "Invalid longitude (between -180 and 180)",
      "updateError": "Error updating coordinates",
      "updateSuccess": "Coordinates updated",
      "unexpectedError": "Unexpected error",
      "title": "Edit GPS coordinates",
      "searchLabel": "Search for an address",
      "searchPlaceholder": "Type an address...",
      "mapLabel": "Place the pin on the map",
      "mapHint": "Click on the map or drag the marker to adjust the position",
      "manualHint": "or enter coordinates manually:",
      "latitude": "Latitude",
      "longitude": "Longitude",
      "cancel": "Cancel",
      "save": "Save"
    },
    "locationDiag": {
      "sourceLive": "Live GPS",
      "sourceServiceArea": "Service area",
      "sourceDefault": "Default (Miami)",
      "diagError": "Error loading location diagnostic",
      "confirmClear": "Clear GPS coordinates? The pro will appear via service area or default.",
      "error": "Error",
      "clearSuccess": "GPS coordinates cleared",
      "unexpectedError": "Unexpected error",
      "loadFailed": "Unable to load location diagnostic.",
      "title": "Location diagnostic",
      "resolvedPosition": "Resolved position on map",
      "noLocationFound": "No location found",
      "noLocationDetail": "This professional has no active GPS or geocodable service area. They appear by default at the center of Miami, Florida.",
      "diagnosticLabel": "Diagnostic",
      "gpsPresent": "GPS coordinates present",
      "noGps": "No GPS coordinates recorded",
      "gpsFresh": "GPS fresh (< 30 min)",
      "gpsNa": "N/A — no GPS",
      "gpsStaleNoTs": "Stale — no timestamp",
      "serviceAreasDefined": "Service areas defined",
      "noServiceAreas": "No service areas configured",
      "notGeocodable": "Not geocodable",
      "cityExtracted": "City extracted from text (bio / name)",
      "noCityDetected": "No city detected in text",
      "gpsUpdatedAgo": "Updated {{age}} ago",
      "gpsStale": "Stale — last updated {{age}} ago",
      "cityResult": "\"{{city}}\" — {{status}}",
      "geocoded": "geocoded",
      "editCoords": "Edit coordinates",
      "clearGps": "Clear GPS",
      "editZones": "Edit zones",
      "recalculate": "Recalculate"
    },
    "liveCall": {
      "queued": "Queued",
      "ringing": "Ringing",
      "inProgress": "In progress",
      "ended": "Ended",
      "failed": "Failed",
      "close": "Close",
      "waiting": "Waiting for the conversation…",
      "noTranscript": "No conversation.",
      "rolePro": "Pro",
      "roleAssistant": "Assistant",
      "endedReason": "Reason: {{reason}}",
      "sayPlaceholder": "Make the assistant say something…",
      "say": "Say",
      "saySent": "Phrase sent",
      "transferPlaceholder": "Transfer to a number…",
      "transfer": "Transfer",
      "transferred": "Call transferred",
      "hangUp": "Hang up",
      "hungUp": "Call hung up",
      "errAlreadyEnded": "This call has already ended.",
      "errNoControl": "This call cannot be controlled.",
      "errGeneric": "The action failed.",
      "listen": "Listen",
      "stopListen": "Stop listening",
      "listenHint": "Listen to the call live",
      "errNoAudio": "This browser does not support live audio."
    }
  },
  "adminModals": {
    "banUser": {
      "confirmButton": "confirm button",
      "duration30Days": "duration 30 days",
      "duration7Days": "duration 7 days",
      "durationLabel": "duration label",
      "permanent": "permanent",
      "reasonLabel": "reason label",
      "reasonPlaceholder": "reason placeholder",
      "title": "title",
      "warningDescription": "warning description"
    },
    "cancelMission": {
      "applyFeesDescription": "apply fees description",
      "applyFeesToPro": "apply fees to pro",
      "billingOptions": "billing options",
      "cancellationFee": "cancellation fee",
      "confirmButton": "confirm button",
      "orderNumber": "order number",
      "reasonLabel": "reason label",
      "title": "title",
      "warning": "warning",
      "warningDescription": "warning description",
      "refundLabel": "Refund the client",
      "refundChoice": {
        "none": "No refund",
        "full": "Full",
        "partial": "Partial"
      },
      "refundNonePreview": "No refund",
      "refundMax": "Max {{max}}",
      "refundExceedsMax": "Amount exceeds what the client paid",
      "clientReceives": "Client receives"
    },
    "common": {
      "processing": "Processing…",
      "unsupportedAction": "unsupported action"
    },
    "documentReview": {
      "approve": "approve",
      "backToAllDocuments": "back to all documents",
      "confirmRejection": "confirm rejection",
      "docTypes": {
        "certificate": "certificate",
        "id": "id",
        "license": "license"
      },
      "reject": "reject",
      "rejectionReasonLabel": "rejection reason label",
      "rejectionReasonPlaceholder": "rejection reason placeholder",
      "title": "title",
      "uploadedDocuments": "uploaded documents",
      "zoomedDocumentAlt": "zoomed document alt",
      "noDocuments": "No documents uploaded yet."
    },
    "excelImporter": {
      "columnCategory": "column category",
      "columnName": "column name",
      "columnPhone": "column phone",
      "confirmImport": "confirm import",
      "dragOrClick": "drag or click",
      "errorTitle": "error title",
      "invalidFileType": "invalid file type",
      "noValidData": "no valid data",
      "readError": "read error",
      "recordsFound": "records found",
      "requiredColumns": "required columns",
      "selectFile": "select file",
      "title": "title"
    },
    "reassignPro": {
      "current": "current",
      "distanceKm": "distance km",
      "jobsCount": "jobs count",
      "noProsFound": "no pros found",
      "reasonLabel": "reason label",
      "reasonPlaceholder": "reason placeholder",
      "searchPlaceholder": "search placeholder",
      "selectPro": "select pro",
      "sortDistance": "sort distance",
      "sortJobs": "sort jobs",
      "sortRating": "sort rating",
      "switchTo": "switch to",
      "title": "title"
    },
    "refund": {
      "amountExceedsMax": "Amount exceeds the original payment",
      "amountToPro": "Amount to pro",
      "beedyCommission": "Beedy commission",
      "confirmButton": "confirm button",
      "enterAmount": "Enter amount",
      "fullRefund": "Full refund",
      "originalAmount": "Original amount",
      "partialAmountLabel": "Amount to refund (max {{max}})",
      "partialRefund": "Partial refund",
      "paymentBreakdown": "Payment breakdown",
      "reasonLabel": "Reason (optional)",
      "reasonPlaceholder": "Why is this order being refunded?",
      "refundAmount": "Refund amount",
      "refundType": "Refund type",
      "title": "Issue refund",
      "reviewTitle": "Review refund",
      "irreversibleWarning": "This action is irreversible — a Stripe refund will be issued immediately.",
      "noReason": "No reason provided",
      "back": "Back",
      "confirmRefund": "Confirm refund of {{amount}}",
      "continueButton": "Continue",
      "salesTax": "Sales tax",
      "totalCharged": "Total charged",
      "alsoCancelOrder": "Also cancel the order",
      "alsoCancelOrderOn": "The order will be cancelled.",
      "alsoCancelOrderOff": "The order stays active (goodwill refund).",
      "estimatedWarning": "This order isn't billed yet — the total shown is an estimate. The exact refunded amount is computed from the captured payment.",
      "orderOutcome": "Order",
      "willCancel": "Will be cancelled",
      "willStayActive": "Stays active"
    },
    "resetPassword": {
      "sendResetTo": "send reset to",
      "sending": "sending",
      "theUser": "the user",
      "title": "title",
      "userWillReceiveEmail": "user will receive email"
    },
    "invoice": {
      "title": "Invoice",
      "notFound": "No invoice found for this order.",
      "client": "Client",
      "provider": "Provider",
      "category": "Category",
      "orderId": "Order ID",
      "issuedAt": "Issued on",
      "description": "Description",
      "amount": "Amount",
      "subtotal": "Subtotal",
      "customerFee": "Service fee",
      "total": "Total"
    },
    "editArrivalTime": {
      "title": "Edit arrival time",
      "orderNumber": "Order {{orderId}}",
      "description": "Set a new expected arrival time for the pro. The client and the pro are notified, and the late-arrival window is recalculated.",
      "dateLabel": "New arrival time",
      "reasonLabel": "Reason (optional)",
      "reasonPlaceholder": "e.g. the pro reported a delay",
      "pastTimeError": "Pick a time in the future.",
      "confirmButton": "Update arrival time"
    }
  },
  "aiClientService": {
    "aiNotConfigured": "The AI assistant is not configured.",
    "ensureServerRunning": "ensure server running",
    "networkError": "network error",
    "serverUnavailable": "server unavailable",
    "fileTooLarge": "File too large (maximum {{maxMB}} MB)."
  },
  "app": {
    "backToProfile": "back to profile",
    "defaultUser": "default user",
    "loginError": "login error",
    "milestones": {
      "finalCheck": "final check",
      "initialInspection": "initial inspection",
      "performRepair": "perform repair",
      "repairAndMaintenance": "repair and maintenance",
      "verifyAndRecommend": "verify and recommend",
      "visitAndDiagnosis": "visit and diagnosis"
    },
    "minutesShort": "minutes short",
    "noRequestDetails": "no request details",
    "now": "now",
    "offerRequestSummary": "offer request summary",
    "professional": "professional",
    "scheduled": "scheduled",
    "service": "service"
  },
  "availabilityService": {
    "friday": "friday",
    "monday": "monday",
    "saturday": "saturday",
    "sunday": "sunday",
    "thursday": "thursday",
    "tuesday": "tuesday",
    "wednesday": "wednesday"
  },
  "availableSlots": {
    "dateAtTime": "date at time"
  },
  "callForTendersEngine": {
    "availableForEmergency": "available for emergency",
    "byAppointment": "by appointment",
    "distanceFromYou": "distance from you",
    "excellentRating": "excellent rating",
    "fastResponseTime": "fast response time",
    "minutesShort": "minutes short",
    "yearsExperience": "years experience"
  },
  "callConfirmModal": {
    "call": "call",
    "callTo": "call to",
    "cancel": "cancel",
    "closeWindow": "close window",
    "photoOf": "photo of"
  },
  "capabilityMatching": {
    "availableForUrgentCalls": "available for urgent calls",
    "capabilities": {
      "ac_emergency": "AC Emergency",
      "ac_install": "AC Installation",
      "ac_maintenance": "AC Maintenance",
      "ac_repair": "AC Repair",
      "car_lockout": "Car Lockout",
      "carpet_clean": "Carpet Cleaning",
      "circuit_breaker": "Circuit Breaker",
      "coloring": "Hair Coloring",
      "deep_clean": "Deep Cleaning",
      "dishwasher": "Dishwasher",
      "dishwasher_repair": "Dishwasher Repair",
      "drain_cleaning": "Drain Cleaning",
      "dryer_repair": "Dryer Repair",
      "emergency": "Emergency",
      "emergency_electrical": "Electrical Emergency",
      "emergency_lock": "Emergency Locksmith",
      "facial": "Facial",
      "faucet_repair": "Faucet Repair",
      "fridge_repair": "Fridge Repair",
      "haircut": "Haircut",
      "inspection": "Inspection",
      "key_copy": "Key Copy",
      "kitchen_clean": "Kitchen Cleaning",
      "leak_repair": "Leak Repair",
      "light_fixtures": "Light Fixtures",
      "lock_open": "Lock Opening",
      "lock_replace": "Lock Replacement",
      "makeup": "Makeup",
      "manicure": "Manicure",
      "massage": "Massage",
      "microwave_repair": "Microwave Repair",
      "move_out": "Move-Out Cleaning",
      "office_clean": "Office Cleaning",
      "outlet_install": "Outlet Installation",
      "oven_repair": "Oven Repair",
      "panel_repair": "Panel Repair",
      "pedicure": "Pedicure",
      "pipe_replacement": "Pipe Replacement",
      "post_construction": "Post-Construction Cleaning",
      "regular_clean": "Regular Cleaning",
      "renovation": "Renovation",
      "safe_open": "Safe Opening",
      "shower_install": "Shower Installation",
      "sink_install": "Sink Installation",
      "smart_home": "Smart Home",
      "toilet_install": "Toilet Installation",
      "washer_repair": "Washer Repair",
      "washing_machine": "Washing Machine",
      "water_heater": "Water Heater",
      "waxing": "Waxing",
      "window_clean": "Window Cleaning",
      "wiring": "Wiring"
    },
    "categories": {
      "ac": "Air Conditioning",
      "appliances": "Appliances",
      "beauty": "Beauty",
      "cleaning": "Cleaning",
      "electrical": "Electrical",
      "gardening": "Gardening",
      "locksmith": "Locksmith",
      "moving": "Moving",
      "painting": "Painting",
      "plumbing": "Plumbing",
      "renovation": "Renovation"
    },
    "completedJobsCount": "completed jobs count",
    "expertIn": "expert in",
    "highMatchToRequirements": "high match to requirements",
    "matchesCategoryOf": "matches category of",
    "noCategoryMatch": "no category match",
    "noRequirementsMatch": "no requirements match",
    "partialMatchToRequirements": "partial match to requirements",
    "ratingStars": "rating stars",
    "specializesIn": "specializes in",
    "suitableForComplexJobs": "suitable for complex jobs"
  },
  "categoryPage": {
    "hubH1": "Home Services in Florida — All Categories",
    "availablePros": "available pros",
    "averageRating": "average rating",
    "averageResponseTime": "average response time",
    "fullInsurance": "full insurance",
    "getInstantQuote": "get instant quote",
    "howItWorks": "how it works",
    "instantAvailability": "instant availability",
    "minutes": "minutes",
    "needCategory": "need category",
    "orderNow": "order now",
    "orderService": "order service",
    "popularServices": "popular services",
    "step1Description": "step 1 description",
    "step1Title": "step 1 title",
    "step2Description": "step 2 description",
    "step2Title": "step 2 title",
    "step3Description": "step 3 description",
    "step3Title": "step 3 title",
    "trustLine": "trust line",
    "warrantyBadge": "warranty badge"
  },
  "serviceCity": {
    "topProsBody": "{{proCount}} verified {{service}} pros are available in {{city}} — book in minutes.",
    "h1": "{{service}} in {{city}}",
    "tagline": "Compare quotes from verified pros in minutes",
    "intro": "Find the right {{service}} pro in {{city}} without calling 10 vendors. Compare fixed-price quotes, ratings and response times, then book in one click.",
    "ctaPrimary": "Get a quote",
    "ctaSecondary": "See top pros",
    "ctaMap": "View on map",
    "stats": {
      "verifiedPros": "Verified pros",
      "avgRating": "Average rating",
      "responseTime": "Average response time",
      "warranty": "14-day warranty",
      "priceFromLine": "Fixed-price quotes from {{price}}"
    },
    "localContextTitle": "Good to know in {{city}}",
    "whyBeedyTitle": "Why Beedy for {{service}} in {{city}}",
    "whyBeedy1": "Every pro is identity-verified, insured and licensed before going live.",
    "whyBeedy2": "Transparent fixed-price quotes — no surprises at the end.",
    "whyBeedy3": "Secure payment: the pro is only paid after you confirm the job is done.",
    "whyBeedy4": "Built-in 14-day warranty on every booking.",
    "topProsTitle": "Top {{service}} pros in {{city}}",
    "pricingTitle": "Average prices for {{service}} in {{city}}",
    "responseTimeTitle": "Typical response time",
    "faqTitle": "Frequently asked questions",
    "faq": {
      "q1": "How much does {{service}} cost in {{city}}?",
      "a1": "Pricing for {{service}} in {{city}} depends on scope and urgency. On Beedy you get fixed-price quotes from 3 pros with no upfront payment.",
      "q2": "Are Beedy pros really verified?",
      "a2": "Yes. Every pro is checked for ID, professional license and liability insurance before they can accept bookings.",
      "q3": "How quickly will I find a pro?",
      "a3": "Most users receive 3–7 quotes within 5 minutes, and the chosen pro shows up the same or next day depending on your availability.",
      "q4": "What if something goes wrong?",
      "a4": "Every Beedy booking is covered by a 14-day warranty. If something is off, our team handles it with you directly."
    },
    "relatedCitiesTitle": "{{service}} in nearby cities",
    "relatedServicesTitle": "Other services in {{city}}",
    "backToCategory": "Back to {{service}}",
    "comingSoonStats": "Live stats coming soon"
  },
  "subServiceCity": {
    "h1": "{{subService}} in {{city}}",
    "tagline": "Vetted local pros, upfront fixed-price quotes",
    "ctaPrimary": "Get a quote",
    "stats": {
      "verifiedPros": "Verified pros",
      "avgRating": "Average rating",
      "responseTime": "Average response time",
      "warranty": "14-day warranty"
    },
    "whatIncludedTitle": "What's included",
    "faqTitle": "Frequently asked questions",
    "localContextTitle": "Local insight for {{city}}",
    "relatedTitle": "Related services in {{city}}",
    "backToService": "Back to {{service}} in {{city}}"
  },
  "contactUs": {
    "address": "address",
    "addressLine1": "address line 1",
    "addressLine2": "address line 2",
    "backToHome": "back to home",
    "breadcrumbContact": "Contact",
    "businessHours": "business hours",
    "callUs": "call us",
    "comeVisitUs": "come visit us",
    "email": "email",
    "emailLabel": "email label",
    "emergency": "emergency",
    "emergencyDescription": "emergency description",
    "faq": "faq",
    "faqDescription": "faq description",
    "followUs": "follow us",
    "followUsDescription": "follow us description",
    "friday": "friday",
    "fullAddress": "full address",
    "fullName": "full name",
    "fullNamePlaceholder": "full name placeholder",
    "humanResponseNotBots": "human response not bots",
    "loginRequiredTitle": "Log in to send a message",
    "loginRequiredDescription": "You need to be signed in to submit the contact form. You can also reach us by email or phone above.",
    "message": "message",
    "messagePlaceholder": "message placeholder",
    "messageSent": "message sent",
    "navigateWithWaze": "navigate with waze",
    "phone": "phone",
    "phoneOptional": "phone optional",
    "quickSupport": "quick support",
    "quickSupportDescription": "quick support description",
    "responseWithin2Hours": "response within 2 hours",
    "selectSubject": "select subject",
    "sendMessage": "send message",
    "sendUsEmail": "send us email",
    "sendUsMessage": "send us message",
    "subject": "subject",
    "subjectBilling": "subject billing",
    "subjectComplaint": "subject complaint",
    "subjectFeedback": "subject feedback",
    "subjectGeneral": "subject general",
    "subjectPartnerships": "subject partnerships",
    "subjectTechnicalSupport": "subject technical support",
    "subtitle": "subtitle",
    "sundayToThursday": "sunday to thursday",
    "supportInHebrewAndEnglish": "support in hebrew and english",
    "title": "title",
    "toHelpCenter": "to help center",
    "weWillGetBack": "we will get back"
  },
  "dashboardWelcome": {
    "activeOrdersLabel": "Active orders",
    "newMessagesLabel": "New messages",
    "activeOrders": "{{count}} active orders",
    "hello": "Hello {{name}}",
    "newMessages": "{{count}} new messages",
    "verified": "Verified",
    "viewOrders": "View orders",
    "viewWallet": "View wallet",
    "myWallet": "My wallet",
    "evolution": "Evolution",
    "evolutionEmpty": "No activity this year",
    "walletBalance": "Beedy Cash",
    "pending": "Pending",
    "welcomeBack": "Welcome back"
  },
  "devTools": {
    "currentEnvironment": "current environment",
    "environment": "environment",
    "mockDataSafe": "mock data safe",
    "realDataWarning": "real data warning",
    "switchToDev": "switch to dev",
    "switchToDevConfirm": "switch to dev confirm",
    "switchToProd": "switch to prod",
    "switchToProdConfirm": "switch to prod confirm",
    "title": "title"
  },
  "diyAdvice": {
    "categories": {
      "cleaning": "cleaning",
      "electrical": "electrical",
      "plumbing": "plumbing"
    },
    "cleaning": {
      "deepCleaning": {
        "callPro1": "call pro 1",
        "callPro2": "call pro 2",
        "callPro3": "call pro 3",
        "callPro4": "call pro 4",
        "description": "description",
        "roomByRoom": {
          "step1": "step 1",
          "step2": "step 2",
          "step3": "step 3",
          "step4": "step 4",
          "time": "time",
          "title": "title",
          "tool1": "tool 1",
          "tool2": "tool 2",
          "tool3": "tool 3",
          "tool4": "tool 4"
        },
        "title": "title"
      },
      "moveInOut": {
        "callPro1": "call pro 1",
        "callPro2": "call pro 2",
        "callPro3": "call pro 3",
        "callPro4": "call pro 4",
        "checklist": {
          "step1": "step 1",
          "step2": "step 2",
          "step3": "step 3",
          "step4": "step 4",
          "step5": "step 5",
          "time": "time",
          "title": "title",
          "tool1": "tool 1",
          "tool2": "tool 2",
          "tool3": "tool 3",
          "tool4": "tool 4"
        },
        "description": "description",
        "title": "title"
      },
      "postConstruction": {
        "callPro1": "call pro 1",
        "callPro2": "call pro 2",
        "callPro3": "call pro 3",
        "callPro4": "call pro 4",
        "description": "description",
        "initialClean": {
          "step1": "step 1",
          "step2": "step 2",
          "step3": "step 3",
          "step4": "step 4",
          "time": "time",
          "title": "title",
          "tool1": "tool 1",
          "tool2": "tool 2",
          "tool3": "tool 3",
          "warning": "warning"
        },
        "title": "title"
      },
      "regularCleaning": {
        "callPro1": "call pro 1",
        "callPro2": "call pro 2",
        "callPro3": "call pro 3",
        "description": "description",
        "thirtyMinRoutine": {
          "step1": "step 1",
          "step2": "step 2",
          "step3": "step 3",
          "time": "time",
          "title": "title",
          "tool1": "tool 1",
          "tool2": "tool 2",
          "tool3": "tool 3"
        },
        "title": "title"
      }
    },
    "difficulty": {
      "easy": "easy",
      "hard": "hard",
      "medium": "medium"
    },
    "electrical": {
      "installation": {
        "callPro1": "call pro 1",
        "callPro2": "call pro 2",
        "callPro3": "call pro 3",
        "description": "description",
        "title": "title"
      },
      "lighting": {
        "callPro1": "call pro 1",
        "callPro2": "call pro 2",
        "callPro3": "call pro 3",
        "callPro4": "call pro 4",
        "checkSwitch": {
          "step1": "step 1",
          "step2": "step 2",
          "step3": "step 3",
          "time": "time",
          "title": "title"
        },
        "description": "description",
        "replaceBulb": {
          "step1": "step 1",
          "step2": "step 2",
          "step3": "step 3",
          "step4": "step 4",
          "time": "time",
          "title": "title",
          "tool1": "tool 1",
          "tool2": "tool 2"
        },
        "title": "title"
      },
      "outlet": {
        "callPro1": "call pro 1",
        "callPro2": "call pro 2",
        "callPro3": "call pro 3",
        "callPro4": "call pro 4",
        "callPro5": "call pro 5",
        "checkBreaker": {
          "step1": "step 1",
          "step2": "step 2",
          "step3": "step 3",
          "step4": "step 4",
          "time": "time",
          "title": "title"
        },
        "description": "description",
        "testOtherDevice": {
          "step1": "step 1",
          "step2": "step 2",
          "step3": "step 3",
          "time": "time",
          "title": "title"
        },
        "title": "title"
      },
      "panel": {
        "callPro1": "call pro 1",
        "callPro2": "call pro 2",
        "callPro3": "call pro 3",
        "callPro4": "call pro 4",
        "callPro5": "call pro 5",
        "description": "description",
        "resetBreaker": {
          "step1": "step 1",
          "step2": "step 2",
          "step3": "step 3",
          "step4": "step 4",
          "time": "time",
          "title": "title",
          "warning": "warning"
        },
        "title": "title"
      },
      "wiring": {
        "callPro1": "call pro 1",
        "callPro2": "call pro 2",
        "callPro3": "call pro 3",
        "callPro4": "call pro 4",
        "callPro5": "call pro 5",
        "callPro6": "call pro 6",
        "callPro7": "call pro 7",
        "description": "description",
        "title": "title",
        "visualCheck": {
          "step1": "step 1",
          "step2": "step 2",
          "step3": "step 3",
          "step4": "step 4",
          "time": "time",
          "title": "title",
          "warning": "warning"
        }
      }
    },
    "plumbing": {
      "clog": {
        "bakingSoda": {
          "step1": "step 1",
          "step2": "step 2",
          "step3": "step 3",
          "step4": "step 4",
          "time": "time",
          "title": "title",
          "tool1": "tool 1",
          "tool2": "tool 2",
          "tool3": "tool 3",
          "warning": "warning"
        },
        "callPro1": "call pro 1",
        "callPro2": "call pro 2",
        "callPro3": "call pro 3",
        "callPro4": "call pro 4",
        "description": "description",
        "plunger": {
          "step1": "step 1",
          "step2": "step 2",
          "step3": "step 3",
          "step4": "step 4",
          "time": "time",
          "title": "title",
          "tool1": "tool 1"
        },
        "title": "title"
      },
      "installation": {
        "callPro1": "call pro 1",
        "callPro2": "call pro 2",
        "callPro3": "call pro 3",
        "callPro4": "call pro 4",
        "description": "description",
        "showerHead": {
          "step1": "step 1",
          "step2": "step 2",
          "step3": "step 3",
          "step4": "step 4",
          "time": "time",
          "title": "title",
          "tool1": "tool 1",
          "tool2": "tool 2"
        },
        "title": "title"
      },
      "leak": {
        "callPro1": "call pro 1",
        "callPro2": "call pro 2",
        "callPro3": "call pro 3",
        "callPro4": "call pro 4",
        "checkSeal": {
          "step1": "step 1",
          "step2": "step 2",
          "step3": "step 3",
          "step4": "step 4",
          "time": "time",
          "title": "title",
          "tool1": "tool 1",
          "tool2": "tool 2"
        },
        "description": "description",
        "tightenConnections": {
          "step1": "step 1",
          "step2": "step 2",
          "step3": "step 3",
          "time": "time",
          "title": "title",
          "tool1": "tool 1",
          "tool2": "tool 2"
        },
        "title": "title"
      },
      "waterHeater": {
        "callPro1": "call pro 1",
        "callPro2": "call pro 2",
        "callPro3": "call pro 3",
        "callPro4": "call pro 4",
        "callPro5": "call pro 5",
        "checkTimer": {
          "step1": "step 1",
          "step2": "step 2",
          "step3": "step 3",
          "time": "time",
          "title": "title"
        },
        "description": "description",
        "reset": {
          "step1": "step 1",
          "step2": "step 2",
          "step3": "step 3",
          "step4": "step 4",
          "time": "time",
          "title": "title"
        },
        "title": "title"
      }
    },
    "severity": {
      "high": "high",
      "low": "low",
      "medium": "medium"
    }
  },
  "excelImporter": {
    "defaultCategory": "default category"
  },
  "geoUtils": {
    "close": "close",
    "far": "far",
    "inArea": "in area",
    "kilometers": "kilometers",
    "mediumDistance": "medium distance",
    "meters": "meters",
    "veryClose": "very close"
  },
  "googleMapsResultsMap": {
    "errorInitMap": "error init map",
    "errorLoadingGoogleMaps": "error loading google maps",
    "googleMapsKeyMissing": "google maps key missing",
    "loadingMap": "loading map",
    "noProfessionalsAvailable": "no professionals available",
    "tryExpandSearchArea": "try expand search area",
    "tryRefreshPage": "try refresh page"
  },
  "gpsTracking": {
    "browserNotSupported": "browser not supported",
    "error": "error",
    "permissionRequired": "permission required",
    "positionUnavailable": "position unavailable",
    "timeout": "timeout"
  },
  "helpCenter": {
    "backToHome": "Back to home",
    "businessHours": "Business hours",
    "businessHoursValue": "Sun–Thu 9:00–18:00, Fri 9:00–14:00",
    "callUs": "Call us",
    "categoryAI": "AI",
    "categoryAccount": "Account",
    "categoryAll": "All",
    "categoryBookings": "Bookings",
    "categoryGettingStarted": "Getting started",
    "categoryGuarantee": "Guarantee",
    "categoryPayments": "Payments",
    "comingSoon": "Coming soon",
    "contactSummary": "{{phone}} | {{email}}",
    "contactUs": "Contact us",
    "faqAIAccuracy": "faq a i accuracy",
    "faqAIAccuracyAnswer": "faq a i accuracy answer",
    "faqCancelBooking": "faq cancel booking",
    "faqCancelBookingAnswer": "faq cancel booking answer",
    "faqChangeAccountDetails": "faq change account details",
    "faqChangeAccountDetailsAnswer": "faq change account details answer",
    "faqDeleteAccount": "faq delete account",
    "faqDeleteAccountAnswer": "faq delete account answer",
    "faqFileWarrantyClaim": "faq file warranty claim",
    "faqFileWarrantyClaimAnswer": "faq file warranty claim answer",
    "faqHowToStart": "faq how to start",
    "faqHowToStartAnswer": "faq how to start answer",
    "faqObligatedToAccept": "faq obligated to accept",
    "faqObligatedToAcceptAnswer": "faq obligated to accept answer",
    "faqPaymentMethods": "faq payment methods",
    "faqPaymentMethodsAnswer": "faq payment methods answer",
    "faqPricesIncludeVAT": "faq prices include v a t",
    "faqPricesIncludeVATAnswer": "faq prices include v a t answer",
    "faqProfessionalNoShow": "faq professional no show",
    "faqProfessionalNoShowAnswer": "faq professional no show answer",
    "faqQuoteTime": "faq quote time",
    "faqQuoteTimeAnswer": "faq quote time answer",
    "faqRegistrationCost": "faq registration cost",
    "faqRegistrationCostAnswer": "faq registration cost answer",
    "faqWarrantyIncludes": "faq warranty includes",
    "faqWarrantyIncludesAnswer": "faq warranty includes answer",
    "faqWhatIsAIEngine": "faq what is a i engine",
    "faqWhatIsAIEngineAnswer": "faq what is a i engine answer",
    "faqWhenCharged": "faq when charged",
    "faqWhenChargedAnswer": "faq when charged answer",
    "frequentlyAskedQuestions": "frequently asked questions",
    "liveChat": "Live chat",
    "liveChatDescription": "Chat with our support team in real time.",
    "noResultsDescription": "Try another search term or browse categories.",
    "noResultsFound": "No results found",
    "searchPlaceholder": "Search for help...",
    "sendUsEmail": "Send us an email",
    "stillNeedHelp": "Still need help?",
    "stillNeedHelpDescription": "Our team is here to answer your questions.",
    "subtitle": "Find answers and get support",
    "title": "Help Center",
    "videoGuides": "Video guides",
    "videoGuidesDescription": "Step-by-step tutorials and how-to videos.",
    "breadcrumbHelp": "Help",
    "gettingStarted": "Popular articles",
    "articlesCount": "{{count}} articles",
    "wasThisHelpful": "Was this helpful?",
    "yes": "Yes",
    "no": "No",
    "thanksFeedback": "Thanks for your feedback.",
    "relatedArticles": "Related articles",
    "searchShortcut": "Press Ctrl+K or Cmd+K to focus search"
  },
  "history": {
    "cancelled": "cancelled",
    "completed": "completed",
    "defaultProvider": "default provider",
    "defaultService": "default service",
    "noOrders": "no orders",
    "orderAgain": "order again",
    "telAviv": "miami",
    "title": "title"
  },
  "investorSection": {
    "breakthroughTech": "Breakthrough Technology",
    "breakthroughTechDesc": "AI-powered smart matching algorithm connecting customers with the best professionals.",
    "description": "Beedy is revolutionizing the home services market with cutting-edge technology, a scalable business model, and exponential growth.",
    "estimatedTAM": "Estimated TAM",
    "exponentialGrowth": "Exponential Growth",
    "exponentialGrowthDesc": "40% monthly growth rate with 85% customer retention.",
    "globalExpansion": "Global Expansion",
    "headlinePart1": "The Future of Home",
    "headlinePart2": "Services",
    "inSafetyAndReliability": "In Safety & Reliability",
    "investmentOpportunity": "Investment Opportunity",
    "marketLeaders": "Market Leaders",
    "scalableModel": "Scalable Model",
    "scalableModelDesc": "Platform designed to scale to millions of users with minimal marginal costs.",
    "targets": "United States, Florida, North America",
    "preSeed": "Pre-Seed",
    "gmvTarget": "GMV Target"
  },
  "inviteUser": {
    "description": "description",
    "shareWhatsApp": "share whats app",
    "skipToNext": "skip to next",
    "title": "title",
    "yourLink": "your link"
  },
  "jobService": {
    "client": "client",
    "professional": "professional"
  },
  "jobStatus": {
    "accepted": "accepted",
    "arrived": "arrived",
    "arrivingSoon": "arriving soon",
    "cancelled": "cancelled",
    "completed": "completed",
    "enRoute": "en route",
    "inProgress": "in progress",
    "paymentPending": "payment pending",
    "pendingAcceptance": "pending acceptance",
    "searching": "searching",
    "onHold": "on hold"
  },
  "liveOperations": {
    "acceptedCount": "accepted count",
    "activeJobsList": "active jobs list",
    "activeJobsSummary": "active jobs summary",
    "ago": "ago",
    "allStatuses": "all statuses",
    "client": "client",
    "clientLocation": "client location",
    "closeDetails": "close details",
    "enRouteCount": "en route count",
    "eventsCount": "events count",
    "filterByStatus": "filter by status",
    "inProgressCount": "in progress count",
    "jobDetails": "job details",
    "jobEventLog": "job event log",
    "jobItem": "job item",
    "jobList": "job list",
    "loadingJobs": "loading jobs",
    "loadingLogs": "loading logs",
    "logActions": {
      "adminAction": "admin action",
      "jobCancelled": "job cancelled",
      "jobCreated": "job created",
      "paymentCompleted": "payment completed",
      "paymentFailed": "payment failed",
      "paymentInitiated": "payment initiated",
      "priceUpdated": "price updated",
      "providerAssigned": "provider assigned",
      "providerLocationUpdated": "provider location updated",
      "securityCodeVerified": "security code verified",
      "statusChanged": "status changed",
      "systemEvent": "system event"
    },
    "noActiveJobs": "no active jobs",
    "noOpenJobsInSystem": "no open jobs in system",
    "noRecordedEvents": "no recorded events",
    "pendingCount": "pending count",
    "provider": "provider",
    "providerLocation": "provider location",
    "refreshData": "refresh data",
    "searchJobs": "search jobs",
    "searchPlaceholder": "search placeholder",
    "searchingCount": "searching count",
    "securityCode": "security code",
    "securityCodeAria": "security code aria",
    "skipToJobList": "skip to job list",
    "technicalDetails": "technical details",
    "technicalLog": "technical log",
    "title": "title",
    "trackingMap": "tracking map",
    "tryChangingFilter": "try changing filter",
    "unknown": "unknown",
    "updated": "updated"
  },
  "liveOperationsList": {
    "tabs": {
      "active": "Active operations"
    },
    "title": "Active operations",
    "subtitle": "{{count}} orders to supervise",
    "subtitle_one": "{{count}} order to supervise",
    "searchPlaceholder": "Search by client, professional, address…",
    "loading": "Loading orders…",
    "empty": {
      "title": "No active orders",
      "subtitle": "Active orders will appear here",
      "noMatch": "No orders match your search"
    },
    "columns": {
      "title": "Title",
      "client": "Client",
      "pro": "Professional",
      "status": "Status",
      "address": "Address",
      "category": "Category",
      "price": "Price",
      "createdAt": "Created",
      "elapsed": "Elapsed"
    },
    "statuses": {
      "pending": "Pending",
      "searching": "Searching",
      "pending_acceptance": "Awaiting acceptance",
      "accepted": "Accepted",
      "en_route": "En route",
      "arriving_soon": "Arriving soon",
      "arrived": "Arrived",
      "in_progress": "In progress",
      "payment_pending": "Payment pending",
      "on_hold": "On hold"
    }
  },
  "ordersToContact": {
    "tabLabel": "Orders to contact",
    "title": "Orders to contact",
    "subtitle": "{{count}} to contact",
    "subtitle_one": "{{count}} to contact",
    "loading": "Loading…",
    "empty": {
      "title": "Nobody to contact",
      "subtitle": "Late pros and support requests will appear here"
    },
    "columns": {
      "reason": "Reason",
      "order": "Order",
      "whoToContact": "Who to contact",
      "contact": "Contact"
    },
    "reason": {
      "latePro": "Pro late",
      "contactRequest": "Contact request"
    },
    "target": {
      "pro": "Contact the pro",
      "client": "Contact the client"
    },
    "email": "Email",
    "openThread": "Open thread",
    "viewOrder": "View order"
  },
  "locationProvider": {
    "browserNotSupported": "Your browser doesn't support location services. Please enter an address manually.",
    "defaultAddress": "default address",
    "locationUnavailable": "We couldn't find your location. Please enter an address manually.",
    "permissionDenied": "Location access denied. Please enter an address manually.",
    "positionUnavailable": "Location information unavailable. Please enter an address manually.",
    "timeout": "Location request timed out. Please enter an address manually.",
    "yourCurrentLocation": "your current location"
  },
  "loyaltyService": {
    "tiers": {
      "bronze": "bronze",
      "gold": "gold",
      "platinum": "platinum",
      "silver": "silver"
    }
  },
  "mapView": {
    "general": "general",
    "locationBadge": {
      "liveShort": "Live",
      "liveTitle": "Live GPS position (recently updated)",
      "staleShort": "Stale",
      "staleTitle": "Last known GPS may be outdated",
      "areaShort": "Area",
      "areaTitle": "Approximate location from service area (not live GPS)",
      "defaultProfileShort": "Base",
      "defaultProfileTitle": "Default professional location (office/home)",
      "defaultTitle": "Approximate location",
      "defaultShort": "~"
    },
    "diagnostics": {
      "apiError": "Could not load professionals on the map. Check your connection and try again.",
      "apiEmpty": "No professionals are available on the map right now.",
      "noMapLocation": "Professionals are listed but none can be placed on the map yet (location missing).",
      "categoryFilter": "No professionals match this category for your area. Try another category or adjust filters.",
      "locationRadius": "No professionals in range for this address. Try a different location or check back later.",
      "generic": "No professionals to show for the current map filters."
    },
    "cluster": {
      "count": "{{count}} pros",
      "title": "{{count}} pros in {{city}}",
      "titleNoCity": "{{count}} pros in this area",
      "aria": "Group of {{count}} professionals, click to zoom",
      "tapToOpen": "Tap a pro to see details"
    }
  },
  "matchingApiExample": {
    "availableForEmergency": "available for emergency",
    "badges": {
      "certified": "certified",
      "emergency247": "emergency 247",
      "emergencyExpert": "emergency expert",
      "experience15plus": "experience 15plus",
      "fairPrice": "fair price",
      "waterHeaterExpert": "water heater expert"
    },
    "closeToYou": "close to you",
    "competitivePrice": "competitive price",
    "completedJobs": "completed jobs",
    "distanceFromYou": "distance from you",
    "emergencyMessage": "emergency message",
    "exampleAddress": "example address",
    "exampleDescription": "example description",
    "excellentRating": "excellent rating",
    "fastResponseTime": "fast response time",
    "highRating": "high rating",
    "keywords": {
      "flooding": "flooding",
      "urgent": "urgent"
    },
    "mediumAccessWarning": "medium access warning",
    "pro1Name": "pro 1 name",
    "pro2Name": "pro 2 name",
    "pro3Name": "pro 3 name",
    "responseTimeLessThan": "response time less than"
  },
  "mediaAnalysis": {
    "categories": {
      "ac": "ac",
      "acShort": "ac short",
      "automotive": "automotive",
      "beauty": "beauty",
      "cleaning": "cleaning",
      "electrical": "electrical",
      "gardening": "gardening",
      "moving": "moving",
      "painting": "painting",
      "plumbing": "plumbing",
      "renovation": "renovation"
    },
    "detectedIssues": {
      "acIssueDetected": "ac issue detected",
      "acSystemCheckNeeded": "ac system check needed",
      "accumulatedDirtDetected": "accumulated dirt detected",
      "activeLeakDetected": "active leak detected",
      "areasNeedCleaning": "areas need cleaning",
      "beautyTreatmentNeeded": "beauty treatment needed",
      "breakerCheckNeeded": "breaker check needed",
      "circuitCheckNeeded": "circuit check needed",
      "cleaningAreasIdentified": "cleaning areas identified",
      "cleaningNeeded": "cleaning needed",
      "clogDetected": "clog detected",
      "constructionDirtDetected": "construction dirt detected",
      "damagedAreaDetected": "damaged area detected",
      "damagedExposedCables": "damaged exposed cables",
      "damagedOutletDetected": "damaged outlet detected",
      "deepCleaningNeeded": "deep cleaning needed",
      "dustAndBuildingMaterials": "dust and building materials",
      "gardenAreaIdentified": "garden area identified",
      "gardeningWorkDetected": "gardening work detected",
      "heatingSystemCheckNeeded": "heating system check needed",
      "installationAreaPrep": "installation area prep",
      "installationNeedsCheck": "installation needs check",
      "issueDetectedFromDescription": "issue detected from description",
      "lightingIssueDetected": "lighting issue detected",
      "limitedFlow": "limited flow",
      "moveCleaningNeeded": "move cleaning needed",
      "movingAreaIdentified": "moving area identified",
      "movingNeeded": "moving needed",
      "paintingAreaIdentified": "painting area identified",
      "paintingWorkDetected": "painting work detected",
      "panelIssueDetected": "panel issue detected",
      "plumbingInstallationNeeded": "plumbing installation needed",
      "possibleOverheating": "possible overheating",
      "postRenovationCleaningNeeded": "post renovation cleaning needed",
      "problemAreaLocated": "problem area located",
      "professionalDiagnosisNeeded": "professional diagnosis needed",
      "regularCleaningNeeded": "regular cleaning needed",
      "renovationWorkDetected": "renovation work detected",
      "thoroughCleaningBeforeAfterMove": "thorough cleaning before after move",
      "treatmentAreaIdentified": "treatment area identified",
      "visibleMoisture": "visible moisture",
      "waterHeaterIssue": "water heater issue",
      "waterLeakingFromCeilingWall": "water leaking from ceiling wall",
      "wiringIssueDetected": "wiring issue detected",
      "workAreaIdentified": "work area identified",
      "workAreasIdentified": "work areas identified"
    },
    "imageRejectedNotRelevant": "image rejected not relevant",
    "issueDetectedNeedMoreInfo": "issue detected need more info",
    "keywords": {
      "active": "active",
      "apartment": "apartment",
      "badSmell": "bad smell",
      "balcony": "balcony",
      "bathroomRoom": "bathroom room",
      "bathtub": "bathtub",
      "blocked": "blocked",
      "boiler": "boiler",
      "breaker": "breaker",
      "bulb": "bulb",
      "bush": "bush",
      "cable": "cable",
      "ceiling": "ceiling",
      "cleaning": "cleaning",
      "clog": "clog",
      "comingBack": "coming back",
      "construction": "construction",
      "danger": "danger",
      "deep": "deep",
      "dirty": "dirty",
      "drip": "drip",
      "drywall": "drywall",
      "dust": "dust",
      "electricAdj": "electric adj",
      "electricity": "electricity",
      "entering": "entering",
      "exposed": "exposed",
      "exterior": "exterior",
      "floor": "floor",
      "furniture": "furniture",
      "gas": "gas",
      "glue": "glue",
      "grease": "grease",
      "hair": "hair",
      "hairColor": "hair color",
      "haircut": "haircut",
      "hot": "hot",
      "hotWater": "hot water",
      "immediate": "immediate",
      "including": "including",
      "installation": "installation",
      "irrigationWord": "irrigation word",
      "kitchen": "kitchen",
      "lamp": "lamp",
      "lawn": "lawn",
      "leak": "leak",
      "leakShort": "leak short",
      "leaking": "leaking",
      "leaving": "leaving",
      "light": "light",
      "lighting": "lighting",
      "mainElectrical": "main electrical",
      "maintenanceWord": "maintenance word",
      "makeup": "makeup",
      "malfunction": "malfunction",
      "manicure": "manicure",
      "massage": "massage",
      "moisture": "moisture",
      "movingApartment": "moving apartment",
      "mowing": "mowing",
      "nails": "nails",
      "new": "new",
      "newApartment": "new apartment",
      "normal": "normal",
      "notDraining": "not draining",
      "notWorking": "not working",
      "office": "office",
      "outlet": "outlet",
      "paint": "paint",
      "panel": "panel",
      "pedicure": "pedicure",
      "planting": "planting",
      "plantingTrees": "planting trees",
      "plaster": "plaster",
      "plug": "plug",
      "pruning": "pruning",
      "regular": "regular",
      "renovation": "renovation",
      "repair": "repair",
      "room": "room",
      "shortCircuit": "short circuit",
      "showerUnit": "shower unit",
      "switch": "switch",
      "thorough": "thorough",
      "tile": "tile",
      "tiling": "tiling",
      "toInstall": "to install",
      "transition": "transition",
      "tree": "tree",
      "urgent": "urgent",
      "wall": "wall",
      "water": "water",
      "weekly": "weekly",
      "wet": "wet",
      "wholeApartment": "whole apartment",
      "wiring": "wiring"
    },
    "mediaTypes": {
      "image": "image",
      "video": "video"
    },
    "needsAnotherPhotoMessage": "For a more accurate diagnosis, please add if possible: a close-up of the problem area; a wider view of the space.",
    "objects": {
      "ceilingWall": "ceiling wall",
      "clogArea": "clog area",
      "connections": "connections",
      "dirt": "dirt",
      "drainPipe": "drain pipe",
      "electricalOutlet": "electrical outlet",
      "electricalPanel": "electrical panel",
      "faucet": "faucet",
      "imageChecked": "image checked",
      "installationArea": "installation area",
      "leakArea": "leak area",
      "leakingWater": "leaking water",
      "mainElementDetected": "main element detected",
      "moisture": "moisture",
      "piping": "piping",
      "plumbingEquipment": "plumbing equipment",
      "problemArea": "problem area",
      "sink": "sink",
      "surfaceToClean": "surface to clean",
      "wall": "wall",
      "water": "water",
      "wiring": "wiring",
      "workArea": "work area"
    },
    "questions": {
      "ac": {
        "acProblem": "ac problem",
        "lastMaintenance": "last maintenance",
        "notCoolingEnough": "not cooling enough",
        "whichRoomAC": "which room a c"
      },
      "cleaning": {
        "allAbove": "all above",
        "bathrooms": "bathrooms",
        "cleanerBrings": "cleaner brings",
        "closetsCorners": "closets corners",
        "constructionDust": "construction dust",
        "dirtType": "dirt type",
        "dontCare": "dont care",
        "everything": "everything",
        "glueGrout": "glue grout",
        "iSupply": "i supply",
        "kitchenGrease": "kitchen grease",
        "monthAgo": "month ago",
        "moreThanMonthAgo": "more than month ago",
        "noOnlyFloorsWalls": "no only floors walls",
        "noPets": "no pets",
        "onlyWindows": "only windows",
        "paint": "paint",
        "petsAtHome": "pets at home",
        "specialAttention": "special attention",
        "stillInProgress": "still in progress",
        "weekAgo": "week ago",
        "whenRenovationEnded": "when renovation ended",
        "whoSuppliesMaterials": "who supplies materials",
        "windowCleaningNeeded": "window cleaning needed",
        "windows": "windows",
        "yesCat": "yes cat",
        "yesDog": "yes dog",
        "yesIncludingWindows": "yes including windows",
        "yesOther": "yes other"
      },
      "electrical": {
        "breakerTrips": "breaker trips",
        "burningSmell": "burning smell",
        "burningSmellHeat": "burning smell heat",
        "cableCondition": "cable condition",
        "checkedPanel": "checked panel",
        "checkedSwitch": "checked switch",
        "damagedWiringLocation": "damaged wiring location",
        "dangerSigns": "danger signs",
        "devicesConnected": "devices connected",
        "didntCheck": "didnt check",
        "dimLight": "dim light",
        "doesntTurnOn": "doesnt turn on",
        "electricalPointsAffected": "electrical points affected",
        "exposedDamaged": "exposed damaged",
        "exposedOutside": "exposed outside",
        "few13": "few 13",
        "fewSameRoom": "few same room",
        "flickering": "flickering",
        "inCeiling": "in ceiling",
        "insideWall": "inside wall",
        "lightPointsAffected": "light points affected",
        "lightingProblem": "lighting problem",
        "lookFineNotWorking": "look fine not working",
        "looseDamaged": "loose damaged",
        "many7plus": "many 7plus",
        "medium46": "medium 46",
        "multipleRooms": "multiple rooms",
        "noDanger": "no danger",
        "none": "none",
        "notWorking": "not working",
        "one": "one",
        "oneOrTwo": "one or two",
        "outletCondition": "outlet condition",
        "overheating": "overheating",
        "panelProblem": "panel problem",
        "replacedBulb": "replaced bulb",
        "simultaneousDevices": "simultaneous devices",
        "singlePoint": "single point",
        "sparking": "sparking",
        "sparkingCables": "sparking cables",
        "sparks": "sparks",
        "threePlusSplitter": "three plus splitter",
        "triedNothing": "tried nothing",
        "turnsOnOff": "turns on off",
        "unusualNoisePanel": "unusual noise panel",
        "whatTriedAlready": "what tried already",
        "whichRoomPanel": "which room panel",
        "wholeApartment": "whole apartment",
        "wholeRoom": "whole room",
        "yesAllFine": "yes all fine",
        "yesBreakerTripped": "yes breaker tripped"
      },
      "generic": {
        "diagnosisAdvice": "Diagnosis or advice",
        "expectations": "What do you expect from the professional?",
        "immediateExecution": "Quick intervention",
        "isGettingWorse": "Is the problem getting worse over time?",
        "no": "No",
        "noKnowledge": "I don't know",
        "phoneConsultation": "Phone consultation",
        "quoteThenDecide": "Quote then I decide",
        "stable": "Stable, no change",
        "triedFixing": "Have you already tried to fix it yourself?",
        "varies": "It varies",
        "yes": "Yes",
        "yesFailed": "Yes, without success",
        "yesGettingWorse": "Yes, it's getting worse",
        "yesPartially": "Yes, partially"
      },
      "plumbing": {
        "aLittle": "a little",
        "badSmell": "bad smell",
        "bathroomSink": "bathroom sink",
        "boilerProblem": "boiler problem",
        "boilerType": "boiler type",
        "brownRusty": "brown rusty",
        "calledProBefore": "called pro before",
        "clearClean": "clear clean",
        "continuously": "continuously",
        "didntNotice": "didnt notice",
        "didntTry": "didnt try",
        "dontKnow": "dont know",
        "electricBoiler": "electric boiler",
        "equipmentPurchased": "equipment purchased",
        "existingConnection": "existing connection",
        "floorAboveAccess": "floor above access",
        "gasBoiler": "gas boiler",
        "hasAtticAccess": "has attic access",
        "hasExistingConnection": "has existing connection",
        "hasFloorAboveAccess": "has floor above access",
        "howWaterFlows": "how water flows",
        "installerWillProvide": "installer will provide",
        "intermittentDrip": "intermittent drip",
        "kitchenSink": "kitchen sink",
        "lastInspection": "last inspection",
        "leaks": "leaks",
        "lessThanYear": "less than year",
        "mainSewer": "main sewer",
        "murkyDirty": "murky dirty",
        "never": "never",
        "newFaucet": "new faucet",
        "no": "no",
        "noAccess": "no access",
        "noConnectionNeedNew": "no connection need new",
        "noHotWater": "no hot water",
        "noNeedAdvice": "no need advice",
        "notRelevant": "not relevant",
        "notSure": "not sure",
        "oneToThreeYears": "one to three years",
        "onlyWhenOpen": "only when open",
        "onlyWhenRain": "only when rain",
        "partially": "partially",
        "shower": "shower",
        "showerDrain": "shower drain",
        "sink": "sink",
        "solarBoiler": "solar boiler",
        "toilet": "toilet",
        "toiletUnit": "toilet unit",
        "triedChemicals": "tried chemicals",
        "triedPlunger": "tried plunger",
        "triedSolving": "tried solving",
        "unusualNoise": "unusual noise",
        "waterColor": "water color",
        "waterNotHotEnough": "water not hot enough",
        "whatIsClogged": "what is clogged",
        "whatToInstall": "what to install",
        "whichRoom": "which room",
        "yesAllReady": "yes all ready",
        "yesStrong": "yes strong"
      },
      "renovation": {
        "areaClear": "area clear",
        "canCoverInPlace": "can cover in place",
        "furnitureInArea": "furniture in area",
        "generalIdea": "general idea",
        "hasPlans": "has plans",
        "livingDuringReno": "living during reno",
        "needConsulting": "need consulting",
        "noApartmentEmpty": "no apartment empty",
        "onlyRepair": "only repair",
        "partially": "partially",
        "yesNeedToMove": "yes need to move",
        "yesPlan": "yes plan"
      },
      "rooms": {
        "bathroom": "bathroom",
        "bedroom": "bedroom",
        "kitchen": "kitchen",
        "laundry": "laundry",
        "livingRoom": "living room",
        "office": "office",
        "other": "other",
        "toilet": "toilet"
      }
    },
    "rejectionNotRelevant": "rejection not relevant",
    "rejectionScreenshot": "rejection screenshot",
    "rejectionTextDocument": "rejection text document",
    "rejectionTooDark": "rejection too dark",
    "sceneDescriptions": {
      "analysisSuccessful": "analysis successful"
    },
    "specificIssues": {
      "activeCeilingLeak": "active ceiling leak",
      "activeLeakGeneric": "active leak generic",
      "ceilingLeakDamage": "ceiling leak damage",
      "damagedOutlet": "damaged outlet",
      "engineIssue": "engine issue",
      "floorLeak": "floor leak",
      "genericTechnical": "generic technical",
      "pipeClog": "pipe clog",
      "wallLeak": "wall leak",
      "warningLight": "warning light",
      "wiringIssue": "wiring issue"
    },
    "suggestions": {
      "avoidAggressiveChemicals": "avoid aggressive chemicals",
      "checkDamageExtent": "check damage extent",
      "checkElectricalCircuit": "check electrical circuit",
      "mechanicalUncloggingRecommended": "mechanical unclogging recommended",
      "professionalInterventionRecommended": "professional intervention recommended",
      "shutWaterBeforeIntervention": "shut water before intervention",
      "thoroughCleaningRecommended": "thorough cleaning recommended",
      "turnOffBreakerBeforeIntervention": "turn off breaker before intervention",
      "urgentRepairRecommended": "urgent repair recommended",
      "useProfessionalProducts": "use professional products"
    },
    "summary": {
      "analysisPrefix": "analysis prefix",
      "imageSentToExpert": "image sent to expert",
      "receivedGeneric": "received generic",
      "receivedWillSendToExpert": "received will send to expert",
      "videoAnalyzed": "video analyzed"
    },
    "aiUnavailable": {
      "unauthenticated": "Enable AI analysis to get an instant diagnosis. The image will be sent to a professional in the meantime.",
      "consent_not_granted": "Enable AI analysis to get an instant diagnosis. The image will be sent to a professional in the meantime.",
      "not_configured": "AI analysis isn't available right now. The image will be sent to a professional for review.",
      "rate_limited": "Too many requests. Please try again in a few minutes.",
      "captcha_failed": "Captcha verification failed. Reload the page and try again.",
      "network": "Couldn't reach the AI service. The image will be sent to a professional for review.",
      "unknown": "AI analysis isn't available right now. The image will be sent to a professional for review.",
      "manageCta": "Manage settings",
      "enableInlineCta": "Enable AI analysis",
      "enabling": "Enabling…",
      "enableFailed": "Couldn't enable AI analysis. Try again."
    },
    "aiConsentModal": {
      "title": "Enable AI analysis",
      "description": "Tick the box below to let our AI inspect your photo and produce an instant diagnosis. Without consent the photo is only sent to a human expert.",
      "captchaHint": "Solve the captcha to confirm you are not a bot.",
      "captchaUnavailable": "Captcha is unavailable right now. The photo will still be sent to a human expert when you upload it.",
      "cancel": "Cancel",
      "continue": "Continue"
    }
  },
  "missionControl": {
    "adminGhostMode": "admin ghost mode",
    "adminGhostModeDesc": "admin ghost mode desc",
    "after": "after",
    "afterUpper": "after upper",
    "amount": "amount",
    "beedyCommission": "beedy commission",
    "before": "before",
    "beforeUpper": "before upper",
    "cancelMission": "cancel mission",
    "cancelMissionTitle": "cancel mission title",
    "cancelMissionWarning": "cancel mission warning",
    "cleaning3h": "cleaning 3h",
    "confirmCancel": "confirm cancel",
    "control": "control",
    "duration": "duration",
    "financialDetails": "financial details",
    "financialDetailsTitle": "financial details title",
    "grossClientAmount": "gross client amount",
    "inProgressCount": "in progress count",
    "interventionInProgress": "intervention in progress",
    "live": "live",
    "missionCancelled": "mission cancelled",
    "missionNumber": "mission number",
    "paymentCaptured": "payment captured",
    "paymentStatus": "payment status",
    "pleaseSelectReason": "please select reason",
    "plumbingLeak": "plumbing leak",
    "pro": "pro",
    "proof": "proof",
    "providerOnSite": "provider on site",
    "providerPayment": "provider payment",
    "realTimeStatus": "real time status",
    "reasonClientRequest": "reason client request",
    "reasonFraud": "reason fraud",
    "reasonOther": "reason other",
    "reasonProUnavailable": "reason pro unavailable",
    "reasonTechnical": "reason technical",
    "requestPhoto": "request photo",
    "searchMissionPlaceholder": "search mission placeholder",
    "selectReason": "select reason",
    "statusCompleted": "status completed",
    "statusInProgress": "status in progress",
    "unifiedTimeline": "unified timeline",
    "vat": "vat",
    "writeToClientAndProvider": "write to client and provider",
    "workspaceTitle": "Mission control",
    "timelineEventFallback": "Order event",
    "loadError": "Failed to load mission",
    "noActiveMissions": "No active missions right now.",
    "openOrders": "Open orders",
    "recentCompleted": "Recent completed",
    "mission": "Mission",
    "selectMissionFirst": "Select a mission first",
    "noAddress": "No address on file",
    "noTimeline": "No events yet.",
    "supportCtaBody": "Messaging clients from here is not connected. Open the support workspace to handle order-linked threads.",
    "openSupportWorkspace": "Open support workspace",
    "financialEstimateNote": "Commission and VAT shown are estimates for admin review.",
    "mediaHint": "Photos & evidence: use Support workspace or order detail",
    "jobLocation": "Job",
    "noGpsData": "No GPS data available for this mission",
    "stale": "stale",
    "openOrderDetail": "Open order",
    "tabMissions": "Missions",
    "tabMap": "Map",
    "tabTimeline": "Timeline"
  },
  "missionUpdates": {
    "justNow": "Just now",
    "minutesAgo": "{{count}} min ago",
    "hoursAgo": "{{count}} h ago",
    "daysAgo": "{{count}} d ago",
    "orderCreated": "Order created",
    "orderCreatedDesc": "The client submitted this booking.",
    "providerAssigned": "Professional assigned",
    "providerAssignedDesc": "{{name}} was assigned to this mission.",
    "missionAccepted": "Mission accepted",
    "missionAcceptedDesc": "The professional accepted the job.",
    "providerEnRoute": "On the way",
    "providerEnRouteDesc": "The professional is en route.",
    "providerArrived": "Arrived on site",
    "providerArrivedDesc": "The professional arrived at the location.",
    "workStarted": "Work started",
    "workStartedDesc": "The professional started the service.",
    "photosUploaded": "Photos uploaded",
    "photosUploadedDesc": "{{count}} photo(s) added.",
    "missionCompleted": "Mission completed",
    "missionCompletedDesc": "The mission was marked complete.",
    "missionCancelled": "Mission cancelled",
    "missionCancelledDesc": "This mission was cancelled.",
    "latestUpdates": "Latest updates",
    "updates": "updates",
    "realTimeActivity": "Real-time activity",
    "actorProvider": "Pro",
    "actorClient": "Client",
    "actorAdmin": "Admin",
    "showLess": "Show less",
    "showMore": "Show {{count}} more"
  },
  "missionsMap": {
    "errorInitMap": "error init map",
    "errorLoadingMap": "error loading map",
    "errorMapboxMissing": "error mapbox missing",
    "loadingMap": "loading map",
    "missionsOnMap": "missions on map",
    "missionsWillAppearHere": "missions will appear here",
    "noMissionsToday": "no missions today"
  },
  "notificationService": {
    "address": "address",
    "category": "category",
    "complexity": "complexity",
    "description": "description",
    "newProject": "new project",
    "notSpecified": "not specified",
    "pleaseSendEstimate": "please send estimate",
    "problemType": "problem type",
    "urgency": {
      "emergency": "emergency",
      "normal": "normal",
      "urgent": "urgent"
    },
    "urgencyLabel": "urgency label"
  },
  "orderCategory": {
    "ac": "ac",
    "appliances": "appliances",
    "beauty": "beauty",
    "cleaning": "cleaning",
    "electrical": "electrical",
    "locksmith": "locksmith",
    "plumbing": "plumbing"
  },
  "orderControlTower": {
    "afterWork": "After Work",
    "beforeWork": "Before Work",
    "cancelFailed": "Failed to cancel order",
    "client": "Client",
    "clientRatingOrders": "Rating & Orders",
    "confirmEmergencyCancel": "Cancel this order? This action cannot be undone.",
    "contactParties": "Contact Parties",
    "createdAt": "Created at",
    "creditCard": "Credit Card",
    "defaultClient": "Default Client",
    "defaultPro": "Default Professional",
    "demoAddress": "Demo Address",
    "demoClient": "Demo Client",
    "demoDescription": "Demo Description",
    "demoPro": "Demo Professional",
    "emergencyCancel": "Emergency Cancel",
    "eventLog": "Event Log",
    "evidenceTitle": "Evidence",
    "liveGpsTracking": "Live GPS Tracking",
    "loadingOrderData": "Loading order data...",
    "noCompletionPhotos": "No completion photos yet",
    "noEvidenceYet": "No evidence yet",
    "orderCancelled": "Order cancelled",
    "orderTitle": "Order Title",
    "photosWillUpload": "Photos will upload soon",
    "proRatingSpecialty": "Rating & Specialty",
    "professional": "Professional",
    "loadError": {
      "back": "Back",
      "description": "This order could not be loaded. It may have been removed or a network error occurred.",
      "title": "Order unavailable"
    }
  },
  "orderService": {
    "serverUnavailable": "server unavailable"
  },
  "orderStateMachine": {
    "mustPhotoBeforeComplete": "must photo before complete",
    "mustPhotoBeforeStart": "must photo before start",
    "statuses": {
      "accepted": "accepted",
      "cancelled": "cancelled",
      "completed": "completed",
      "created": "created",
      "disputed": "disputed",
      "inProgress": "in progress",
      "matched": "matched",
      "onRoute": "on route",
      "onSite": "on site",
      "paid": "paid",
      "arrivingSoon": "arriving soon",
      "onHold": "on hold"
    }
  },
  "orderStatus": {
    "accepted": "accepted",
    "arrived": "arrived",
    "cancelled": "cancelled",
    "completed": "completed",
    "enRoute": "en route",
    "inProgress": "in progress",
    "paymentPending": "payment pending",
    "pendingAcceptance": "pending acceptance",
    "searching": "searching",
    "onHold": "on hold",
    "arrivingSoon": "arriving soon"
  },
  "orderStore": {
    "matchesCategoryAndLocation": "matches category and location",
    "newServiceRequest": "new service request",
    "newUser": "new user",
    "professional": "professional",
    "serverUnavailable": "server unavailable",
    "bidSubmitFailed": "Failed to submit bid"
  },
  "pin": {
    "verify": {
      "enterPin": "enter pin",
      "failedToVerify": "failed to verify",
      "invalidPin": "invalid pin",
      "subtitle": "subtitle",
      "temporaryLockTitle": "temporary lock title",
      "title": "title",
      "tooManyAttempts": "too many attempts",
      "tryAgainIn": "try again in",
      "verifyAndWithdraw": "verify and withdraw",
      "verifying": "verifying",
      "walletLockedDesc": "wallet locked desc",
      "walletLockedShort": "wallet locked short",
      "walletLockedTitle": "wallet locked title",
      "wrongPin": "wrong pin"
    }
  },
  "pinSetupModal": {
    "confirmPinCode": "confirm pin code",
    "instructions": "instructions",
    "pinCode": "pin code",
    "pinSaved": "pin saved",
    "savePin": "save pin",
    "saving": "saving",
    "subtitle": "subtitle",
    "title": "title",
    "walletSecured": "wallet secured"
  },
  "preProfessionalTasks": {
    "categories": {
      "cleaning": "cleaning",
      "electrical": "electrical",
      "plumbing": "plumbing"
    },
    "cleaning": {
      "clearPersonalItems": {
        "description": "description",
        "title": "title"
      }
    },
    "electrical": {
      "clearPanelArea": {
        "description": "description",
        "title": "title"
      },
      "turnOffBreaker": {
        "description": "description",
        "title": "title"
      }
    },
    "general": {
      "clearWorkArea": {
        "description": "description",
        "title": "title"
      },
      "ensureAccess": {
        "description": "description"
      },
      "prepareLocation": {
        "description": "description",
        "title": "title"
      },
      "prepareProblemDetails": {
        "description": "description",
        "title": "title"
      },
      "ventilateRoom": {
        "description": "description",
        "title": "title"
      }
    },
    "keywords": {
      "clog": "clog",
      "leak": "leak",
      "outlet": "outlet",
      "ventilation": "ventilation"
    },
    "plumbing": {
      "cleanSpilledWater": {
        "description": "description",
        "title": "title"
      },
      "clearAreaForAccess": {
        "description": "description"
      },
      "shutMainValve": {
        "description": "description",
        "title": "title"
      }
    },
    "priorities": {
      "high": "high",
      "low": "low",
      "medium": "medium"
    },
    "taskCategories": {
      "general": "general",
      "information": "information",
      "preparation": "preparation",
      "prevention": "prevention",
      "safety": "safety"
    },
    "times": {
      "fifteenToTwentyMin": "fifteen to twenty min",
      "fiveMin": "five min",
      "fiveToTenMin": "five to ten min",
      "oneMin": "one min",
      "tenMin": "ten min",
      "tenToFifteenMin": "ten to fifteen min",
      "twoMin": "two min",
      "twoToFiveMin": "two to five min",
      "twoToThreeMin": "two to three min"
    }
  },
  "privacyPolicy": {
    "title": "Privacy Policy",
    "eyebrow": "Privacy Policy",
    "readingTime": "~ 12 min read",
    "version": "Version 2026.05.08",
    "lastUpdated": "Last updated: 8 May 2026",
    "backToHome": "Back to home",
    "tableOfContents": "Table of contents",
    "summary": {
      "heading": "The essentials in 30 seconds",
      "body": "Beedy connects individuals with home-service professionals in the United States and the European Union. To run this service, we process your identity, contact details, address, the photos, videos and descriptions you send us, your location when you consent to share it, and the information needed for payment. We use OpenAI's AI to analyse the content you send us and offer suggestions; these analyses never replace a human decision and you can opt out. We never sell your data. At any time, you can export your data, delete your account, or withdraw your consent directly from the app."
    },
    "scope": {
      "heading": "Scope of application",
      "body": "This policy applies to the website beedy.app, to our iOS and Android mobile applications, and to interactions on the WhatsApp Business channel associated with the Beedy phone number. It covers all data processed in the context of connecting individuals with professionals, payments and related notifications."
    },
    "dataCollected": {
      "heading": "Data we collect",
      "intro": "We only collect the data necessary to provide our services:",
      "identity": {
        "label": "Identity data",
        "body": "First name, last name, date of birth (if provided), profile picture."
      },
      "contact": {
        "label": "Contact details",
        "body": "Email address, phone number, postal address where relevant to the service."
      },
      "content": {
        "label": "Content you send us",
        "body": "Text descriptions of your requests, attached photos and videos, voice recordings, messages exchanged with professionals and with our support team."
      },
      "location": {
        "label": "Location",
        "body": "Service address, GPS coordinates at the time a request is created, and — for professionals only — real-time position while travelling to a customer (with your consent and always toggleable)."
      },
      "payment": {
        "label": "Payment data",
        "body": "Payment history, invoices, order details, payment token. Card numbers never reach our servers: they are handled by our PCI-DSS-certified providers Stripe and PayPal."
      },
      "technical": {
        "label": "Technical data",
        "body": "IP address, device type, browser, operating system, session identifiers, push notification tokens (FCM / APNs)."
      },
      "aiDerived": {
        "label": "AI-derived data",
        "body": "Analysis of your photos, videos and audio by OpenAI: suggested category, detected difficulties, transcription, indicative price range — all stored on the order they relate to."
      }
    },
    "purposes": {
      "heading": "Purposes and legal bases",
      "intro": "We process your data for the following purposes, with the associated legal bases:",
      "service": {
        "purpose": "Provide, operate and maintain the Beedy services.",
        "basis": "Performance of a contract (GDPR art. 6.1.b)"
      },
      "legal": {
        "purpose": "Comply with our legal, accounting and tax obligations.",
        "basis": "Legal obligation (GDPR art. 6.1.c)"
      },
      "improvement": {
        "purpose": "Improve our services, prevent fraud and run statistical analytics.",
        "basis": "Legitimate interest (GDPR art. 6.1.f)"
      },
      "aiAssist": {
        "purpose": "Analyse your photos, videos and audio with AI to provide category and price suggestions.",
        "basis": "Consent (GDPR art. 6.1.a) — \"Enhance my request with AI\" option"
      },
      "whatsappComms": {
        "purpose": "Notify you of your order status and exchange with a professional via WhatsApp.",
        "basis": "Performance of a contract (GDPR art. 6.1.b) or marketing consent if the message is non-transactional"
      },
      "pushNotif": {
        "purpose": "Send push notifications (order updates, message received).",
        "basis": "Performance of a contract / OS-level consent"
      },
      "marketing": {
        "purpose": "Send you promotional communications and newsletters.",
        "basis": "Consent (GDPR art. 6.1.a) — one-click unsubscribe"
      },
      "security": {
        "purpose": "Ensure the security of the platform, prevent abuse and handle litigation.",
        "basis": "Legitimate interest (GDPR art. 6.1.f)"
      }
    },
    "aiProcessing": {
      "heading": "Artificial intelligence processing",
      "intro": "Beedy uses the services of OpenAI, Inc. (United States) to analyse certain content you send us:",
      "photos": "Photos and videos attached to a request are analysed by OpenAI's vision models (gpt-4.1) to identify the service category, possible difficulties and an indicative price estimate.",
      "audio": "Voice recordings are transcribed by OpenAI's Whisper model and then processed as text.",
      "text": "Text descriptions (your request, your professional bio) may be rewritten or summarised by the gpt-4o-mini model.",
      "images": "Banners and category icons displayed in the app may be generated by DALL·E.",
      "safeguards": "Content sent to OpenAI is transmitted over TLS 1.2+ via API. Transfers to the United States are made under the EU-U.S. Data Privacy Framework. In accordance with our agreement with OpenAI, this content is not used to train the models. No automated decision producing legal effects on you is made by AI — these are only suggestions intended for an operator or for you.",
      "optOut": "You can opt out of AI analysis by disabling the \"Enhance my request with AI\" option when creating your request, or globally in your account preferences."
    },
    "sharing": {
      "heading": "Sharing and sub-processors",
      "intro": "Your data may be shared with:",
      "professionals": "The professionals you have chosen (only the information necessary for the service: first name, address, description, photos).",
      "processors": "Our technical sub-processors: OpenAI (AI analysis), Stripe / PayPal (payment), Twilio (SMS / OTP), Meta WhatsApp Business (WhatsApp messaging if opted in), Resend (transactional emails), Sentry (error monitoring), PostHog & Google Analytics 4 (audience measurement, subject to your consent), Google OAuth & Calendar (login / calendar), Firebase Cloud Messaging and Apple Push Notification Service (mobile push notifications), Mapbox & OpenStreetMap (mapping / geocoding), Novu (notification orchestration), Railway (application hosting and database).",
      "linkSubProcessors": "The full and up-to-date list is available on our sub-processors page.",
      "linkSubProcessorsCta": "View the full list of sub-processors",
      "authorities": "Competent authorities upon legal request.",
      "noSale": "Beedy does not sell, rent or trade your personal data for commercial purposes."
    },
    "transfers": {
      "heading": "International transfers",
      "intro": "Your data may be transferred outside the European Economic Area:",
      "us": "United States (OpenAI, Google, Meta, Twilio, Sentry, Resend, Mapbox, Novu, Railway): transfers under the EU-U.S. Data Privacy Framework or, failing that, under Standard Contractual Clauses approved by the European Commission (decision 2021/914).",
      "il": "United States: transfers under the EU-U.S. Data Privacy Framework or, failing that, under Standard Contractual Clauses approved by the European Commission (decision 2021/914). For US users, processing is governed by the CCPA and applicable state privacy laws.",
      "uk": "United Kingdom: adequacy decision of 28 June 2021.",
      "request": "For any request to obtain a copy of the transfer safeguards (SCCs, DPF certifications), write to privacy@beedy.app."
    },
    "retention": {
      "heading": "Retention periods",
      "intro": "We retain your data only for as long as necessary for the purposes pursued:",
      "account": "Active account: duration of use + 3 years after the last activity.",
      "transactions": "Transactional data and invoices: retained for the period required by applicable EU and national tax and accounting law (generally up to 10 years).",
      "media": "Photos, videos and audio attached to a request: 12 months after the order is completed, except where required for litigation.",
      "aiPayloads": "Content sent to OpenAI: 30 days on the OpenAI side (zero-retention configuration); 12 months on the Beedy side for audit purposes.",
      "aiLogs": "AI usage logs (ai_usage_logs): 12 months.",
      "whatsappMessages": "WhatsApp Business messages: 24 months (Meta Business Solution Terms).",
      "otp": "OTP codes: 10 minutes, then automatically purged.",
      "pushTokens": "Push notification tokens (FCM / APNs): lifetime of the device + 90 days.",
      "googleTokens": "Google Calendar tokens: as long as the connection is active; deleted on disconnection.",
      "logs": "Technical logs and order events: 13 months.",
      "idempotency": "Payment idempotency keys: 48 hours.",
      "analytics": "Analytics data (PostHog, GA4, anonymised IP): 14 months.",
      "sentry": "Sentry error data (without PII thanks to beforeSend scrubbing): 90 days.",
      "legalProof": "Acceptance of the Terms and cookie consent: 5 years (proof, GDPR art. 7).",
      "marketingConsent": "Marketing consent: 3 years after the last contact."
    },
    "rights": {
      "heading": "Your rights",
      "intro": "Under the EU GDPR (EU users) and the California Consumer Privacy Act (CCPA) and equivalent U.S. state privacy laws (U.S. users), you have the following rights:",
      "access": {
        "label": "Right of access",
        "body": "Obtain a copy of the personal data we hold about you."
      },
      "rectification": {
        "label": "Right to rectification",
        "body": "Have inaccurate or incomplete data corrected."
      },
      "erasure": {
        "label": "Right to erasure",
        "body": "Request the deletion of your data (\"right to be forgotten\")."
      },
      "portability": {
        "label": "Right to data portability",
        "body": "Receive your data in a structured, machine-readable format."
      },
      "objection": {
        "label": "Right to object",
        "body": "Object to processing based on legitimate interest or for marketing purposes."
      },
      "restriction": {
        "label": "Right to restriction",
        "body": "Request the suspension of certain processing activities."
      },
      "withdrawConsent": {
        "label": "Withdrawal of consent",
        "body": "Withdraw your consent at any time, without affecting the lawfulness of past processing."
      },
      "humanReview": {
        "label": "Right to human intervention",
        "body": "Request human intervention, express your point of view and contest any decision involving automated processing (GDPR art. 22)."
      },
      "howToExercise": "To exercise these rights, write to",
      "inAppActions": {
        "label": "Actions available directly in the app:",
        "deleteAccount": "Delete my account",
        "exportData": "Export my data (JSON)",
        "manageCookies": "Manage my cookies",
        "marketingPreferences": "Marketing preferences"
      },
      "sla": "We are committed to responding to any request within one month (GDPR art. 12.3), extended by a further two months for complex requests.",
      "complaint": {
        "label": "Right to lodge a complaint",
        "eu": "EU: you may lodge a complaint with the data-protection supervisory authority of your country of residence — find yours via the European Data Protection Board (edpb.europa.eu).",
        "il": "United States: you may contact the U.S. Federal Trade Commission (FTC) and, for California residents, the California Privacy Protection Agency (CPPA).",
        "uk": "United Kingdom: ICO — ico.org.uk."
      }
    },
    "security": {
      "heading": "Security",
      "body": "We implement appropriate technical and organisational measures to protect your data:",
      "encryption": "Encryption of data in transit (HTTPS/TLS) and at rest.",
      "access": "Strict access controls, multi-factor authentication on administrator accounts, and audit logs.",
      "monitoring": "Continuous monitoring, regular vulnerability testing, and automated PII scrubbing of Sentry error logs (beforeSend configuration).",
      "breach": "In case of a personal data breach likely to result in a risk to your rights, we will notify you and the competent authorities within 72 hours, in accordance with Articles 33 and 34 of the GDPR."
    },
    "cookies": {
      "heading": "Cookies and similar technologies",
      "intro": "We use cookies and local storage to operate the site and improve your experience. Non-essential cookies require your prior consent (banner shown on first access). You can withdraw your consent at any time from \"Manage my cookies\".",
      "table": {
        "name": "Name",
        "purpose": "Purpose",
        "duration": "Duration",
        "type": "Type",
        "owner": "Issuer"
      },
      "purpose": {
        "auth_token": "Keep you logged in to your account",
        "refresh_token": "Silent session renewal (httpOnly)",
        "beedy_language": "Remember your display language",
        "beedy_theme": "Remember light / dark mode",
        "sidebar_state": "Remember the sidebar state",
        "beedy_currency": "Remember the displayed currency",
        "beedy_analytics_consent": "Remember your cookie consent choice",
        "beedy_payment_pending_booking": "Resume the order after payment",
        "chunk_error_reload": "Automatic recovery after an app update",
        "ga": "GA4 audience measurement (anonymised IP)",
        "posthog": "PostHog product analytics",
        "cf_bm": "Cloudflare anti-bot (where applicable)"
      },
      "duration": {
        "session": "Session",
        "persistent": "Persistent (localStorage)",
        "thirty_days": "30 days",
        "seven_days": "7 days",
        "thirteen_months": "13 months",
        "fourteen_months": "14 months",
        "twelve_months": "12 months",
        "thirty_minutes": "30 minutes"
      },
      "type": {
        "essential": "Essential",
        "preference": "Preferences",
        "functional": "Functional",
        "essential_proof": "Essential (proof)",
        "analytics": "Analytics (consent)",
        "essential_security": "Essential security"
      },
      "owner": {
        "beedy": "Beedy",
        "google": "Google",
        "posthog": "PostHog",
        "cloudflare": "Cloudflare"
      },
      "control": "You can delete your cookies and your local storage at any time through your browser settings."
    },
    "minors": {
      "heading": "Minors",
      "body": "Beedy is not intended for persons under the age of 18. In the United States, minors under the age of 18 cannot enter into binding contracts without a parent or legal guardian, so we do not create service accounts for known minors. In accordance with Article 8 of the GDPR, the threshold for consent to information society services is set by each EU member state at between 13 and 16 years; where an EU user is below that threshold, a holder of parental responsibility must give or authorise consent. We do not knowingly collect personal information from children under 13 (in compliance with the U.S. Children's Online Privacy Protection Act, COPPA). If you believe a minor has shared information with us without parental authorisation, please contact privacy@beedy.app so that we can delete it without delay."
    },
    "automated": {
      "heading": "Automated decisions and profiling",
      "body": "No decision producing legal effects or significantly affecting you is made on a purely automated basis. OpenAI's AI models are used for indicative purposes (category suggestions, price estimates, rewriting) and never autonomously trigger the acceptance, refusal or pricing of an order, which remain decided by you or by a human professional. In accordance with Article 22 of the GDPR, you have the right to request human intervention, express your point of view and contest any decision involving automated processing: write to privacy@beedy.app."
    },
    "changes": {
      "heading": "Changes and version history",
      "body": "We may update this policy. The date shown at the top of the page reflects the version in force. Any material change will be notified to you by email or via the app at least 30 days before it takes effect.",
      "changelogTitle": "Version history",
      "v20260727llc": "Legal entity update: the operating and contracting entity is now Beedy, LLC, a Delaware limited liability company (Delaware file no. 10637738), replacing Beedy, Inc. The registered office and operational headquarters are unchanged. The reference to a parent company has been removed.",
      "v20260526us": "US compliance overhaul: rewrite of Terms, Privacy and Cookies content for CCPA/CPRA, FDBR, VCDPA, CPA, CTDPA, UCPA, TDPSA and equivalent state laws; binding AAA arbitration with FL seat and class-action waiver; 18+ age gate at signup; dedicated 'Your Privacy Choices' page with Do-Not-Sell/Share opt-out and Global Privacy Control honoring; DMCA-style takedown procedure for IP; international transfer notice for processing in the United States.",
      "v202605": "Complete overhaul: addition of the Scope of application, AI processing and Automated decisions sections; full inventory of sub-processors and cookies; expanded retention table; integration of in-app links to exercise your rights.",
      "v202604": "First structured public version."
    },
    "contact": {
      "heading": "Contact us and complaints",
      "body": "For any question regarding your personal data, write to:",
      "privacyEmailLabel": "Main email",
      "privacyEmail": "privacy@beedy.app",
      "dpoLabel": "Data Protection Officer",
      "dpoEmail": "dpo@beedy.app",
      "postalLabel": "Postal address",
      "postal": "[TO CONFIRM: postal address of the registered office]",
      "complaintsLabel": "Supervisory authorities",
      "cnil": "Your national EU data-protection authority — find yours at edpb.europa.eu",
      "ppa": "U.S. Federal Trade Commission (FTC) — reportfraud.ftc.gov — and the California Privacy Protection Agency (CPPA) — cppa.ca.gov",
      "edpb": "EDPB (European Data Protection Board) — edpb.europa.eu"
    }
  },
  "subProcessors": {
    "title": "Sub-processors",
    "subtitle": "List of third parties that process your data on behalf of Beedy",
    "lastUpdated": "Last updated: 2 June 2026",
    "backToHome": "Back to home",
    "backToPrivacy": "Back to the privacy policy",
    "intro": "This page lists all sub-processors to which Beedy may transmit personal data. Each sub-processor is bound by an agreement compliant with Article 28 of the GDPR. For any question, write to privacy@beedy.app.",
    "table": {
      "vendor": "Sub-processor",
      "role": "Role",
      "dataShared": "Data shared",
      "country": "Country",
      "safeguard": "Transfer safeguard",
      "links": "Links"
    },
    "links": {
      "website": "Website",
      "privacy": "Policy",
      "dpa": "DPA"
    },
    "safeguard": {
      "dpf": "EU-U.S. Data Privacy Framework",
      "sccs": "Standard Contractual Clauses (SCCs)",
      "eu": "EU hosting — no transfer outside the EEA",
      "il": "US transfer safeguards (DPF / SCCs)"
    },
    "role": {
      "openai": "AI analysis of photos, videos, audio and text",
      "stripe": "Payment collection and payouts to professionals (PCI-DSS gateway, Stripe Connect)",
      "paypal": "Payment and payout to professionals",
      "twilio": "Sending SMS and OTP codes",
      "whatsapp": "WhatsApp Business messaging (notifications, exchanges)",
      "resend": "Sending transactional emails",
      "sentry": "Error and application performance monitoring",
      "posthog": "Product analytics (funnel, events)",
      "ga4": "Web audience measurement",
      "googleOAuth": "Google authentication",
      "googleCalendar": "Synchronisation of professionals' appointments",
      "fcm": "Android push notifications",
      "apns": "iOS push notifications",
      "mapbox": "Mapping and geocoding",
      "osm": "Fallback geocoding",
      "novu": "Multi-channel notification orchestration",
      "unsplash": "Category image library (no user data)",
      "prerender": "SEO pre-rendering for bots (no logged-in user)",
      "railway": "Application hosting and database"
    },
    "dataShared": {
      "openai": "Photos, videos, audio, text descriptions, professional bios",
      "stripe": "Email, payment token, amount; for professionals: account identity and bank details for payouts (Stripe Connect)",
      "paypal": "Order ID, amount, recipient email",
      "twilio": "Phone number, OTP code, message",
      "whatsapp": "Phone number, message content, delivery status",
      "resend": "Recipient email, email content",
      "sentry": "Error trace, user ID (PII scrubbed)",
      "posthog": "User ID, usage events and properties",
      "ga4": "Client ID, events, anonymised IP",
      "googleOAuth": "Email, name, profile picture",
      "googleCalendar": "OAuth token, mission addresses, names",
      "fcm": "Device token, notification title and body",
      "apns": "Device token, notification title and body",
      "mapbox": "GPS coordinates, addresses",
      "osm": "Plain-text address for geocoding",
      "novu": "Email, phone number, name, notification content",
      "unsplash": "Searched category (no user data)",
      "prerender": "Bot URL and user-agent (no user data)",
      "railway": "All application data (encrypted)"
    },
    "footer": "Beedy updates this list before adding any new sub-processor. You can contact us to object to a specific transfer."
  },
  "proCalendar": {
    "address": "Address",
    "aiAnalysis": "AI analysis",
    "appointments": "Appointments",
    "callClient": "Call client",
    "calling": "Calling",
    "confidencePercent": "{{percent}}% confidence",
    "dateAndTime": "Date & time",
    "day": "Day",
    "dayFri": "Fri",
    "dayMon": "Mon",
    "dayNameFri": "Friday",
    "dayNameMon": "Monday",
    "dayNameSat": "Saturday",
    "dayNameSun": "Sunday",
    "dayNameThu": "Thursday",
    "dayNameTue": "Tuesday",
    "dayNameWed": "Wednesday",
    "daySat": "Sat",
    "daySun": "Sun",
    "dayThu": "Thu",
    "dayTue": "Tue",
    "dayView": "Day view",
    "dayViewHeader": "{{day}} {{date}} {{month}}",
    "dayWed": "Wed",
    "detectedIssues": "Detected issues",
    "distance": "{{distance}}",
    "durationHours": "{{count}}h",
    "expectedRevenue": "Expected revenue",
    "hoursCount": "{{count}} hours",
    "month": "Month",
    "monthApr": "April",
    "monthAug": "August",
    "monthDec": "December",
    "monthFeb": "February",
    "monthJan": "January",
    "monthJul": "July",
    "monthJun": "June",
    "monthMar": "March",
    "monthMay": "May",
    "monthNov": "November",
    "monthOct": "October",
    "monthSep": "September",
    "navigateToAddress": "Navigate to address",
    "noUpcomingAppointments": "No upcoming appointments",
    "openingNavigation": "Opening navigation",
    "plannedHours": "Planned hours",
    "price": "Price",
    "requiredMaterials": "Required materials",
    "subtitle": "Manage your schedule",
    "title": "Calendar",
    "today": "Today",
    "upcomingAppointments": "Upcoming appointments",
    "week": "Week",
    "weekView": "Week view",
    "weeklySummary": "Weekly summary"
  },
  "proCategoryIconMap": {
    "ac": "ac",
    "car": "car",
    "cleaning": "cleaning",
    "electricity": "electricity",
    "gas": "gas",
    "handyman": "handyman",
    "home": "home",
    "insurance": "insurance",
    "leaks": "leaks",
    "license": "license",
    "outlet": "outlet",
    "painting": "painting",
    "plumbing": "plumbing"
  },
  "proHistory": {
    "allOrders": "All orders",
    "attachPhotos": "Attach photos",
    "callAction": "Call",
    "callingClient": "Calling the client",
    "categories": {
      "ac": "AC",
      "cleaning": "Cleaning",
      "electrical": "Electrical",
      "gardening": "Gardening",
      "general": "General",
      "plumbing": "Plumbing",
      "renovation": "Renovation"
    },
    "clickToUploadEvidence": "Click to upload evidence",
    "client": "Client",
    "clientEvidence": "Client evidence",
    "clientNotifiedNewDate": "Client notified of the new date: {{date}} at {{time}}",
    "clientWillReceiveResponse": "The client will receive your response",
    "disputeInReview": "In review",
    "disputePending": "Pending",
    "disputeRefundedMoney": "Refunded",
    "durationHours": "{{count}} h",
    "escalateToSupport": "Escalate to support",
    "escalatedToSupport": "Escalated to support",
    "evidenceNumber": "Evidence {{number}}",
    "issue": "Issue",
    "issuesAndRefunds": "Issues & refunds",
    "loadError": "Could not load your history",
    "loadErrorHint": "Please check your connection and try again.",
    "newDate": "New date",
    "newDateSet": "New date set",
    "noOrdersToShow": "No orders to show",
    "openIssuesCount": "{{count}} open issues",
    "openedAt": "Opened on {{date}}",
    "ordersCount": "{{count}} orders",
    "ordersWillAppearHere": "Your orders will appear here",
    "photoNumber": "Photo {{number}}",
    "photosAddedSuccess": "Photos added",
    "pleaseEnterResponse": "Please enter a response",
    "pleaseSelectDateTime": "Please select a date and time",
    "quickResponse1": "Sorry for the inconvenience, let's find a solution together.",
    "quickResponse2": "I can come back to fix this at no extra charge.",
    "quickResponse3": "I'd like to offer you a partial refund.",
    "quickResponses": "Quick responses",
    "refund": "Refund",
    "refundDescription": "A refund of {{price}} has been sent to the client",
    "refundRequestSent": "Refund request sent",
    "rescheduleInfoNote": "The client will be notified and can confirm the new date.",
    "respondToClient": "Respond to client",
    "responseSentToClient": "Response sent to the client",
    "scheduleNewDate": "Propose a new date",
    "selectTime": "Select a time",
    "sendProposalToClient": "Send proposal to client",
    "sendResponse": "Send response",
    "service": "Service",
    "setNewDate": "Set a new date",
    "statusCompleted": "Completed",
    "statusDisputed": "Disputed",
    "statusRefunded": "Refunded",
    "statusResolved": "Resolved",
    "subtitle": "Review the history of your jobs",
    "supportWillContact": "Support will contact you shortly",
    "time": "Time",
    "title": "Order history",
    "writeResponsePlaceholder": "Write your response to the client...",
    "yourResponse": "Your response",
    "cancelledCount": "{{count}} cancelled",
    "cancelledTab": "Cancelled",
    "statusCancelled": "Cancelled",
    "statusPaymentPending": "Payment pending"
  },
  "proMatchingEngine": {
    "filters": {
      "byDistance": "by distance",
      "bySpecialization": "by specialization"
    },
    "keywords": {
      "activeLeak": "active leak",
      "emergency": "emergency",
      "fast": "fast",
      "flooding": "flooding",
      "immediately": "immediately",
      "now": "now",
      "overflowing": "overflowing",
      "urgent": "urgent"
    },
    "matchReasons": {
      "availableEmergency": "available emergency",
      "closeToYou": "close to you",
      "completedJobs": "completed jobs",
      "distanceFromYou": "distance from you",
      "excellentRating": "excellent rating",
      "fastResponse": "fast response",
      "highRating": "high rating",
      "yearsExperience": "years experience"
    },
    "reasons": {
      "canHandleNotSpecialized": "can handle not specialized",
      "doesNotHandleComplex": "does not handle complex",
      "expertComplexWork": "expert complex work"
    },
    "severity": {
      "dangerous": "dangerous",
      "difficult": "difficult",
      "light": "light",
      "malfunction": "malfunction",
      "problem": "problem",
      "severe": "severe",
      "small": "small"
    },
    "synonyms": {
      "blocked": "blocked",
      "boiler": "boiler",
      "breaker": "breaker",
      "bulb": "bulb",
      "clog": "clog",
      "drip": "drip",
      "electrical": "electrical",
      "electricalPanel": "electrical panel",
      "hotWater": "hot water",
      "installation": "installation",
      "leak": "leak",
      "lighting": "lighting",
      "new": "new",
      "outlet": "outlet",
      "water": "water"
    }
  },
  "proNotifications": {
    "loadError": "Could not load notifications",
    "loadErrorHint": "Check your connection and try again.",
    "retry": "Retry",
    "allMarkedAsRead": "all marked as read",
    "empty": {
      "all": "all",
      "orders": "orders",
      "system": "system",
      "unread": "unread"
    },
    "filters": {
      "orders": "orders",
      "system": "system",
      "unread": "unread"
    },
    "loadingNotifications": "loading notifications",
    "markAllAsRead": "mark all as read",
    "noNewNotifications": "no new notifications",
    "noNotifications": "no notifications",
    "showingCount": "showing count",
    "time": {
      "daysAgo": "{{count}} days ago",
      "hoursAgo": "{{count}} h ago",
      "justNow": "just now",
      "minutesAgo": "{{count}} min ago",
      "yesterday": "yesterday"
    },
    "unreadCount": "unread count"
  },
  "proResources": {
    "achieved": "Achieved",
    "activate24Hours": "Activate for 24 Hours",
    "activateAndCharge": "Activate & Charge",
    "addItemForSale": "Add Item for Sale",
    "basedOnVerifiedReviews": "Based on verified reviews",
    "businessManagement": "Business Management",
    "businessSubtitle": "Manage your business tools and resources",
    "callAction": "Call",
    "categoryElectrical": "Electrical",
    "categoryEquipment": "Equipment",
    "categoryParts": "Parts",
    "categoryPlumbing": "Plumbing",
    "categoryTools": "Tools",
    "cityPlaceholder": "Enter city name",
    "comments": "Comments",
    "community": "Community",
    "communityDesc": "Connect with other professionals, ask questions, and share knowledge.",
    "comingSoonTitle": "Coming Soon",
    "comingSoonDesc": "This feature is under development.",
    "comprehensiveCoverage24h": "Comprehensive 24-hour coverage",
    "conditionForRepair": "For Repair",
    "conditionLabel": "Condition",
    "conditionLikeNew": "Like New",
    "conditionUsed": "Used",
    "coverageUpTo2M": "Coverage up to $2M",
    "dailyCost": "Daily Cost",
    "dailyInsuranceExpress": "Daily Insurance Express",
    "excellentScore": "Excellent",
    "fillNameAndPrice": "Please fill in the item name and price.",
    "haveQuestion": "Have a question?",
    "hundredJobs": "100+ Jobs",
    "inProgress": "In Progress",
    "insuranceActive": "Insurance Active",
    "insuranceDescription": "Protect your business with comprehensive insurance coverage for every job.",
    "insuranceSubtitle": "Professional liability coverage for service providers",
    "insuranceTitle": "Professional Insurance",
    "itemName": "Item Name",
    "itemNamePlaceholder": "e.g. Cordless Drill, Pipe Wrench",
    "itemPublished": "Item published successfully!",
    "kmDistance": "{{km}} km away",
    "likes": "Likes",
    "locationLabel": "Location",
    "myReputation": "My Reputation",
    "navigate": "Navigate",
    "newCommunityQuestion": "New Community Question",
    "noDeductible": "No Deductible",
    "noSuppliersFound": "No suppliers found",
    "november2024": "November 2024",
    "openHoursLabel": "Open Hours",
    "perfectRating": "Perfect Rating",
    "policyDisclaimer": "Policy terms and conditions apply. See full details before activating.",
    "priceLabel": "Price",
    "publish": "Publish",
    "questionPlaceholder": "Type your question here...",
    "questionPublished": "Question published successfully!",
    "recentAchievements": "Recent Achievements",
    "recentReviews": "Recent Reviews",
    "reputationSummary": "Reputation Summary",
    "searchEquipment": "Search equipment...",
    "searchSupplierPlaceholder": "Search for a supplier...",
    "secondHand": "Second Hand",
    "secondHandDesc": "Buy and sell used tools and equipment with other professionals.",
    "serviceChampion": "Service Champion",
    "suppliers": "Suppliers",
    "suppliersDesc": "Find trusted suppliers for parts, tools, and equipment near you.",
    "suppliersFoundInArea": "Suppliers found in your area",
    "suppliersList": "Suppliers List",
    "thousandsOfProsHere": "Thousands of pros are here",
    "tomorrowAt0800": "Tomorrow at 08:00",
    "validAllWorkTypes": "Valid for all work types",
    "validUntil": "Valid until"
  },
  "proSettings": {
    "demo": {
      "firstName": "Michael",
      "lastName": "Cohen",
      "bio": "Certified plumber with 15 years of experience. Specializing in leak repair, unblocking and installations.",
      "vehicleType": "Commercial vehicle",
      "vehicleMake": "Fiat",
      "vehicleModel": "Ducato",
      "vehicleColor": "White",
      "city1": "Miami",
      "city2": "Miami Beach",
      "city3": "Coral Gables",
      "city4": "Hialeah"
    },
    "addCity": "add city",
    "adjustSize": "adjust size",
    "bioPlaceholder": "bio placeholder",
    "cancel": "cancel",
    "cancelChanges": "cancel changes",
    "certifiedProfessional": "certified professional",
    "changePhoto": "change photo",
    "changesCancelled": "changes cancelled",
    "chooseFromDevice": "choose from device",
    "color": "color",
    "colorPlaceholder": "color placeholder",
    "commercialVehicle": "commercial vehicle",
    "confirmNewPassword": "confirm new password",
    "currentPassword": "current password",
    "changePassword": "Change password",
    "password": {
      "changed": "Password changed successfully",
      "changeError": "Could not change password",
      "errorMissing": "Please fill in all password fields",
      "errorTooShort": "New password must be at least 8 characters",
      "errorMismatch": "New passwords do not match",
      "errorSamePassword": "New password must differ from the current one"
    },
    "dragAndDropImage": "drag and drop image",
    "dropImageHere": "drop image here",
    "emailAddress": "email address",
    "emailNotificationsDesc": "email notifications desc",
    "emailNotificationsLabel": "email notifications label",
    "enableTwoFactor": "enable two factor",
    "firstName": "first name",
    "fromCurrentLocation": "from current location",
    "imageFormatsLimit": "image formats limit",
    "imageUploadedSuccess": "image uploaded success",
    "jobs": "jobs",
    "km": "km",
    "lastName": "last name",
    "licensePlate": "license plate",
    "lightTruck": "light truck",
    "manufacturer": "manufacturer",
    "manufacturerPlaceholder": "manufacturer placeholder",
    "manufacturingYear": "manufacturing year",
    "marketingNotificationsDesc": "marketing notifications desc",
    "marketingNotificationsLabel": "marketing notifications label",
    "maxDailyJobs": "max daily jobs",
    "maxServiceRadius": "max service radius",
    "defaultLocationPlaceholder": "Enter your office or home address",
    "coordinates": "Coordinates",
    "citySearchPlaceholder": "Search for a city...",
    "cityAlreadyAdded": "Already added",
    "noCitiesFound": "No cities found",
    "model": "model",
    "modelPlaceholder": "model placeholder",
    "motorcycle": "motorcycle",
    "newPassword": "new password",
    "notifications": "notifications",
    "notificationsAndMessages": "notifications and messages",
    "or": "or",
    "personalProfile": "personal profile",
    "phoneNumber": "phone number",
    "photoTips": "photo tips",
    "preferredCities": "preferred cities",
    "preview": "preview",
    "privateVehicle": "private vehicle",
    "profilePhotoUpdated": "profile photo updated",
    "pushNotificationsDesc": "push notifications desc",
    "pushNotificationsLabel": "push notifications label",
    "removeImage": "remove image",
    "reset": "reset",
    "saveChanges": "save changes",
    "savePhoto": "save photo",
    "security": "security",
    "securityAndPassword": "security and password",
    "serviceArea": "service area",
    "serviceAreaDescription": "service area description",
    "settings": "settings",
    "settingsDescription": "settings description",
    "avatarFileTooLarge": "Image must be under 2.5 MB. Try exporting at a lower resolution or compressing the file.",
    "settingsSaveError": "settings save error",
    "settingsSavedSuccess": "settings saved success",
    "shortDescription": "short description",
    "smsNotificationsDesc": "sms notifications desc",
    "smsNotificationsLabel": "sms notifications label",
    "tipCleanBackground": "tip clean background",
    "tipClearFace": "tip clear face",
    "tipGoodLighting": "tip good lighting",
    "twoFactorAuth": "two factor auth",
    "twoFactorAuthDescription": "two factor auth description",
    "twoFactorCodeSent": "two factor code sent",
    "updateProfilePhoto": "update profile photo",
    "uploading": "uploading",
    "vehicleDetails": "vehicle details",
    "vehicleDetailsDescription": "vehicle details description",
    "vehicleType": "vehicle type",
    "whyImportant": "why important",
    "whyImportantDescription": "why important description",
    "defaultLocationDescription": "This location is displayed on the map when you are not connected. Use your office or home address.",
    "capturingGps": "Capturing...",
    "clearDefaultLocation": "Clear default location",
    "defaultLocation": "Default location (shown when offline)",
    "gpsLocationCaptured": "GPS location captured",
    "useMyLocation": "Use my location"
  },
  "providerDetail": {
    "about": "About",
    "active": "Active",
    "add": "Add",
    "asNeeded": "As needed",
    "availableToday": "Available today",
    "back": "Back",
    "bookNow": "Book now",
    "busy": "Busy",
    "cancel": "Cancel",
    "close": "Close",
    "delete": "Delete",
    "descriptionPlaceholder": "Enter a description...",
    "distanceFromYou": "{{distance}} from you",
    "edit": "Edit",
    "imageAlt": "Photo {{number}}",
    "imageView": "Image viewer",
    "videos": {
      "title": "Videos",
      "playAria": "Play video {{number}}",
      "viewAll": "See all {{count}} videos",
      "showLess": "Show less",
      "close": "Close",
      "dialogLabel": "Video player",
      "iframeTitle": "YouTube video"
    },
    "milestones": {
      "finalCheckDesc": "Final inspection and quality check before handover.",
      "finalCheckTitle": "Final check",
      "repairDesc": "Execution of the agreed repair or service work.",
      "repairTitle": "Service work",
      "visitDesc": "On-site assessment and diagnosis of the issue.",
      "visitTitle": "Initial visit"
    },
    "moveDown": "Move down",
    "moveUp": "Move up",
    "next": "Next",
    "noDescription": "No description available.",
    "noMilestones": "No milestones defined",
    "noProposals": "No proposals to display",
    "showDetails": "Show details",
    "moreDetails": "More details",
    "previous": "Previous",
    "priceProposals": "Price proposals",
    "proProfile": "Professional profile",
    "report": "Report listing",
    "section": {
      "reviews": "Reviews"
    },
    "projectMilestones": "Project milestones",
    "proposal": "Proposal",
    "proposalPrice": "Proposed price",
    "requestNumber": "Request #",
    "save": "Save",
    "service": "Service",
    "specialties": "Specialties",
    "serviceAreas": "Service areas",
    "languages": "Languages",
    "titlePlaceholder": "Enter a title...",
    "unavailable": "Unavailable",
    "reviews": {},
    "profileLoadError": "Some profile details could not be loaded.",
    "offlineNotice": "You appear to be offline. Some information may not be up to date.",
    "tryAgain": "Try again",
    "missingProTitle": "No professional selected",
    "missingProBody": "This page opens when you choose a professional on the map or from your offers. Go to the map and tap a pin to view their profile.",
    "missingProMapCta": "Open the map",
    "missingProHowTitle": "How does it work?",
    "missingProStep1Title": "Open the map",
    "missingProStep1Desc": "Browse available professionals near you",
    "missingProStep2Title": "Choose a professional",
    "missingProStep2Desc": "Tap a pin to see their profile and reviews",
    "missingProStep3Title": "View their profile",
    "missingProStep3Desc": "Check their work, availability and book directly",
    "sidebar": {
      "follow": "Follow",
      "storeRating": "Store rating",
      "communication": "Communication",
      "positiveReviews": "Positive reviews",
      "top": "Top",
      "openingHours": "Opening hours",
      "location": "Location",
      "contact": "Contact",
      "network": "Network",
      "message": "Message",
      "telephone": "Phone",
      "closed": "Closed",
      "openNow": "Open now",
      "closedNow": "Closed",
      "seeAllHours": "See all hours",
      "hideHours": "Hide",
      "hoursNotAvailable": "Hours not available",
      "metricsAria": "Rating summary",
      "instagram": "Instagram",
      "website": "Website",
      "linkedin": "LinkedIn",
      "insuranceOrLicense": "Insurance & License",
      "day": {
        "sunday": "Sunday",
        "monday": "Monday",
        "tuesday": "Tuesday",
        "wednesday": "Wednesday",
        "thursday": "Thursday",
        "friday": "Friday",
        "saturday": "Saturday"
      },
      "missionContract": "Mission contract"
    },
    "nav": {
      "actuality": "Actuality",
      "home": "Home",
      "about": "About",
      "services": "Services",
      "offers": "Offers",
      "availability": "Availability",
      "map": "Map",
      "product": "Product",
      "articles": "Articles",
      "portfolio": "Portfolio",
      "weCommunity": "WeCommunity",
      "request": "Request",
      "loyalty": "Loyalty",
      "reviews": "Reviews",
      "message": "Message",
      "call": "Call"
    },
    "navBarMessage": "Message",
    "navBarCall": "Call",
    "requestQuote": "Request a quote",
    "messageLoginRequired": "Sign in to message this professional.",
    "messageCannotMessageSelf": "You cannot message yourself.",
    "messageOpenError": "Could not open the conversation. Try again.",
    "messageOpening": "Opening your messages…"
  },
  "quoteModal": {
    "addLine": "add line",
    "attnTo": "attn to",
    "backToEdit": "back to edit",
    "businessNumberLabel": "business number label",
    "businessNumberShort": "business number short",
    "clientName": "client name",
    "clientNamePlaceholder": "client name placeholder",
    "date": "date",
    "defaultNotes": "default notes",
    "description": "description",
    "generatedByBeedy": "generated by beedy",
    "notes": "notes",
    "notesPlaceholder": "notes placeholder",
    "phone": "phone",
    "preview": "preview",
    "price": "price",
    "priceQuote": "price quote",
    "quoteNumber": "quote number",
    "sendToClient": "send to client",
    "sending": "sending",
    "sentSuccessfully": "sent successfully",
    "serviceDescriptionPlaceholder": "service description placeholder",
    "subtotalBeforeVat": "subtotal before vat",
    "totalToPay": "total to pay",
    "vat": "vat",
    "verified": "verified",
    "workDetails": "work details"
  },
  "payment": {
    "errors": {
      "cannotConnectToServer": "Cannot connect to payment server",
      "checkApiUrl": "Check API URL",
      "ensureBackendRunning": "Ensure backend is running",
      "invalidResponse": "Invalid response",
      "invalidServerResponse": "Invalid server response",
      "noPaymentServerUrl": "No payment server URL configured",
      "serverReturnedHtml": "Server returned HTML",
      "startBackendServer": "Start the backend server"
    }
  },
  "rapydPayment": {
    "errors": {
      "cannotConnectToServer": "cannot connect to server",
      "checkApiUrl": "check api url",
      "ensureBackendRunning": "ensure backend running",
      "invalidResponse": "invalid response",
      "invalidServerResponse": "invalid server response",
      "noPaymentServerUrl": "no payment server url",
      "serverReturnedHtml": "server returned html",
      "startBackendServer": "start backend server"
    }
  },
  "refundService": {
    "statuses": {
      "approved": "approved",
      "pending": "pending",
      "processed": "processed",
      "rejected": "rejected"
    },
    "reasons": {
      "client_changed_mind": "Changed your mind",
      "client_no_show": "You missed the appointment",
      "client_other": "Other reason",
      "provider_unavailable": "Pro unavailable",
      "provider_no_show": "Pro didn't show up",
      "provider_other": "Pro-side reason",
      "no_provider_available": "No pro available",
      "admin_action": "Adjusted by support",
      "payment_failed": "Payment issue",
      "system_timeout": "Request expired"
    }
  },
  "resultsMap": {
    "errorInitMap": "error init map",
    "loadingMap": "loading map",
    "mapboxKeyMissing": "mapbox key missing",
    "noProfessionalsAvailable": "no professionals available",
    "tryExpandSearchArea": "try expand search area",
    "tryRefreshPage": "try refresh page"
  },
  "sidebar": {
    "languageAndCurrency": "Language & currency",
    "offers": "offers"
  },
  "smartDataCollection": {
    "addDescriptionMinChars": "Add a description of the problem (at least a few words)",
    "descriptionTooShortToEnhance": "Write a few sentences before using the AI.",
    "aiServiceUnavailable": "AI service unavailable",
    "answerAiQuestionsUnderPhoto": "Answer the AI questions under the photo",
    "enhanceDescriptionFailed": "Could not improve the description. Try again.",
    "enhanceWithAiAddDescAndPhoto": "Improve with AI (add a description and a photo)",
    "enhanceWithAiAnswerQuestions": "Improve with AI (answer the questions under the photo)",
    "enhancingWithPhoto": "Improving description with photo...",
    "enoughPhotosForWarranty": "Great! You have enough photos for extended warranty",
    "error": "Error",
    "next": "Next",
    "tipUploadMorePhotos": "Additional photos will improve your warranty",
    "toContinue": "To continue:",
    "uploadAtLeastOnePhoto": "Upload at least one photo",
    "viewOffers": "View offers",
    "continueAndEnhanceWithAi": "Continue and improve description with AI",
    "aiAnalysisRequiredToContinue": "Waiting for AI analysis to continue",
    "aiUnavailableTeamAlerted": "AI temporarily unavailable — our team has been alerted",
    "continueAnyway": "Continue anyway"
  },
  "termsOfService": {
    "addressValue": "address value",
    "backToHome": "back to home",
    "cancellationsAndRefunds": "cancellations and refunds",
    "changesToTerms": "changes to terms",
    "changesToTermsDescription1": "changes to terms description 1",
    "changesToTermsDescription2": "changes to terms description 2",
    "clientDefinition": "client definition",
    "clientDefinitionDescription": "client definition description",
    "contactUs": "contact us",
    "contactUsDescription": "contact us description",
    "definitions": "definitions",
    "eligibility": "eligibility",
    "eligibilityDescription": "eligibility description",
    "general": "general",
    "generalDescription1": "general description 1",
    "generalDescription2": "general description 2",
    "importantToKnow": "important to know",
    "importantToKnowDescription": "important to know description",
    "lastUpdated": "last updated",
    "liabilityAndLimitation": "liability and limitation",
    "liabilityDescription1": "liability description 1",
    "liabilityDescription2": "liability description 2",
    "orderCancellation": "order cancellation",
    "orderCancellationDescription": "order cancellation description",
    "orderingServices": "ordering services",
    "orderingServicesDescription": "ordering services description",
    "ourResponsibility": "our responsibility",
    "payment": "payment",
    "paymentDescription": "payment description",
    "platformDefinition": "platform definition",
    "platformDefinitionDescription": "platform definition description",
    "platformUsage": "platform usage",
    "professionalDefinition": "professional definition",
    "professionalDefinitionDescription": "professional definition description",
    "prohibitedUse": "prohibited use",
    "prohibitedUse1": "prohibited use 1",
    "prohibitedUse2": "prohibited use 2",
    "prohibitedUse3": "prohibited use 3",
    "prohibitedUse4": "prohibited use 4",
    "prohibitedUse5": "prohibited use 5",
    "prohibitedUseIntro": "prohibited use intro",
    "refunds": "refunds",
    "refundsDescription": "refunds description",
    "responsibility1": "responsibility 1",
    "responsibility2": "responsibility 2",
    "responsibility3": "responsibility 3",
    "responsibility4": "responsibility 4",
    "serviceDescription": "service description",
    "serviceDescriptionText": "service description text",
    "servicesAndOrders": "services and orders",
    "title": "title",
    "userAccount": "user account",
    "userAccountDescription": "user account description",
    "userDefinition": "user definition",
    "userDefinitionDescription": "user definition description"
  },
  "unifiedTrackingMap": {
    "waitingForDeparture": "Waiting for the pro to depart",
    "addressUnavailable": "Address unavailable",
    "approaching": "{{name}} on the way",
    "arrived": "Arrived",
    "destination": "Destination",
    "destinationLocation": "Destination location",
    "eta": "ETA",
    "etaLabel": "Estimated time of arrival: {{value}}",
    "etaCalculating": "Calculating…",
    "minutes": "{{count}} min",
    "minutesUnit": "min",
    "workInProgress": "Work in progress"
  },
  "mediaLightbox": {
    "label": "Photo viewer",
    "close": "Close",
    "previous": "Previous",
    "next": "Next",
    "imageAlt": "Photo {{index}}"
  },
  "useCategories": {
    "ac": "Air Conditioning",
    "appliances": "Appliances",
    "beauty": "Beauty",
    "cleaning": "Cleaning",
    "electrical": "Electrical",
    "gardening": "Gardening",
    "locksmith": "Locksmith",
    "moving": "Moving",
    "painting": "Painting",
    "plumbing": "Plumbing",
    "renovation": "Renovation"
  },
  "userLiveTracking": {
    "approximatePosition": "Approximate position",
    "milestoneOverrun": "A step is taking longer than planned.",
    "startApproval": {
      "title": "The provider wants to start",
      "arrivedDesc": "{{name}} has arrived and is asking for your approval to begin the intervention.",
      "arrivedDescGeneric": "The provider has arrived and is asking for your approval to begin the intervention.",
      "currentPrice": "Agreed price: {{price}}",
      "newPrice": "New price: {{price}}",
      "oldPrice": "Previous price: {{price}}",
      "topupNotice": "Amount due now: {{amount}} (no additional service fee). It is held in escrow until the work is complete.",
      "refundNotice": "The difference of {{amount}} will be refunded to your original payment method.",
      "declineHoldNotice": "If you decline, the order is put on hold and the locked amount is not released to the provider.",
      "reasonLabel": "Provider's reason:",
      "photosLabel": "Provider's photos:",
      "accept": "Accept and start",
      "acceptAndPay": "Pay the difference and accept",
      "reject": "Decline",
      "paying": "Paying…",
      "processing": "Processing…",
      "rejectedTitle": "Start declined",
      "rejectedDesc": "The order is on hold. The provider can propose a new agreement.",
      "error": "Action failed. Please try again.",
      "approvedToast": "Approved — your pro can get started.",
      "rejectedToast": "Request declined.",
      "onHoldBanner": "Order on hold — awaiting a new agreement."
    },
    "actions": "actions",
    "arrived": "arrived",
    "callProvider": "call provider",
    "callTo": "call to",
    "collapseDetails": "collapse details",
    "demoMode": "demo mode",
    "etaMinutes": "eta minutes",
    "expandDetails": "expand details",
    "goBack": "go back",
    "licensePlate": "license plate",
    "liveOrderTracking": "live order tracking",
    "openChat": "open chat",
    "orderNumber": "order number",
    "photoOf": "photo of",
    "providerDetails": "provider details",
    "providerDetailsOf": "provider details of",
    "ratingOutOf": "rating out of",
    "securityCode": "security code",
    "skipToMain": "skip to main",
    "statusEnRoute": "status en route",
    "statusInProgress": "status in progress",
    "statusOnSite": "status on site",
    "statusOrderTracking": "status order tracking",
    "statusPaymentPending": "status payment pending",
    "workInProgressMessage": "work in progress message",
    "arrivingAt": "Arriving around {{time}}"
  },
  "userProfile": {
    "supportChatChooseRequest": "Choose a request",
    "supportChatChooseRequestDesc": "Select the request you'd like to contact support about.",
    "supportChatNoOrders": "No requests yet.",
    "assistanceMessagerieSelectRequest": "Select a conversation from the list.",
    "activity": {
      "activeOrders": "active orders",
      "activeRequest": "active request",
      "activeRequests": "active requests",
      "calendarAndOrders": "calendar and orders",
      "completed": "completed",
      "favorites": "favorites",
      "gold": "gold",
      "goToCalendar": "go to calendar",
      "lastMessage": "Last message",
      "myRating": "my rating",
      "onTime": "on time",
      "ordersLabel": "orders label",
      "outOf5": "out of 5",
      "points": "points",
      "professionals": "professionals",
      "recentActivity": "recent activity",
      "requestsAwaitingApproval": "requests awaiting approval",
      "requestsInProgress": "Requests in progress",
      "total": "total",
      "totalExpenses": "total expenses",
      "viewAllMessages": "View all messages",
      "viewAllRequests": "View all requests",
      "tabOrders": "Active order",
      "tabRequests": "Request",
      "noActiveOrders": "No active order",
      "noActiveRequestsCard": "No active request",
      "viewAllOrders": "View all orders",
      "panelAria": "Activity",
      "minimizedOrdersNotice": "Your active order is minimized.",
      "minimizedRequestsNotice": "Your request is minimized.",
      "restoreMinimized": "Show"
    },
    "addAnotherCard": "add another card",
    "addPhotos": "add photos",
    "address": "address",
    "addresses": {
      "demoAddress1": "demo address 1",
      "demoAddress2": "demo address 2",
      "demoAddress3": "demo address 3",
      "holon": "hialeah",
      "home": "home",
      "parents": "parents",
      "telAviv": "miami",
      "work": "work"
    },
    "agreedPrice": "agreed price",
    "atTime": "at time",
    "back": "back",
    "backToOrders": "back to orders",
    "callForTendersClosed": "Call for tenders closed",
    "timeRemaining": "{{time}} remaining",
    "bottomNav": {
      "messages": "Messages",
      "orders": "Orders",
      "overview": "Overview",
      "settings": "Settings"
    },
    "cameraNotWorking": "camera not working",
    "cancel": "cancel",
    "cancelModal": {
      "attention": "Important",
      "cancelOrder": "Cancel order",
      "cancelReason": "Cancellation reason",
      "cancelReasonPlaceholder": "Briefly describe your reason…",
      "cancelRequest": "Cancel request",
      "confirmCancel": "Confirm cancellation",
      "defaultEta": "Soon",
      "enRouteCancelWarning": "The provider is already on the way. Cancelling now may incur a fee according to our policy.",
      "finalWarning": "This action cannot be undone. Fees may apply under our cancellation policy.",
      "providerOnWay": "Provider on the way",
      "workStartedTitle": "Work has started",
      "workStartedWarning": "The pro is paid for the steps already validated; you are refunded the remaining amount still held in escrow.",
      "refundSummary": {
        "title": "Refund summary",
        "loading": "Calculating your refund…",
        "paid": "Amount paid",
        "refunded": "Refunded to you",
        "paidToPro": "Paid to the pro (work done)",
        "withheld": "Beedy fee withheld"
      }
    },
    "cancellationReasons": {
      "changedMind": "I changed my mind",
      "foundOther": "I found another provider",
      "wrongDetails": "Service details were incorrect",
      "priceIssue": "Price or estimate issue",
      "timingIssue": "Scheduling or timing issue",
      "other": "Other"
    },
    "cancelOrder": "cancel order",
    "cancelledByClient": "cancelled by client",
    "capture": "capture",
    "captureProfilePhoto": "capture profile photo",
    "changeProfilePhoto": "change profile photo",
    "chat": {
      "conversations": "Conversations",
      "emptyCta": "View my orders",
      "noConversations": "Your conversations will appear here",
      "noMessages": "No messages yet",
      "online": "Online",
      "orderToStartChat": "Book a service, then message your provider from your order.",
      "typePlaceholder": "Type a message",
      "viewOrder": "view order",
      "welcomeProvider": "welcome provider",
      "welcomeSystem": "welcome system"
    },
    "chooseFromGallery": "choose from gallery",
    "close": "close",
    "completed": "completed",
    "complexity": {
      "complex": "complex",
      "urgent": "urgent"
    },
    "contactUs": "contact us",
    "createAISummary": "create a i summary",
    "creatingSummary": "creating summary",
    "dashboard": "dashboard",
    "date": "date",
    "dateAndTime": "date and time",
    "default": "default",
    "defaultUser": "default user",
    "details": "details",
    "devices": {
      "current": "current",
      "disconnect": "disconnect",
      "disconnectAllOthers": "disconnect all others",
      "onlyCurrentDevice": "only current device",
      "empty": "No devices connected yet.",
      "unknownDevice": "Unknown device"
    },
    "edit": "edit",
    "editOrder": "edit order",
    "editOrderModal": {
      "additionalDetails": "additional details",
      "addressPlaceholder": "address placeholder",
      "apartment": "apartment",
      "buildingCode": "building code",
      "floor": "floor",
      "maxPhotosHint": "max photos hint",
      "photos": "photos",
      "quickLocations": "quick locations",
      "serviceCategory": "service category",
      "title": "title",
      "additionalDetailsPlaceholder": "Additional details..."
    },
    "editProfile": "edit profile",
    "error": "error",
    "errors": {
      "fillNames": "fill names",
      "invalidPhone": "invalid phone"
    },
    "faq": {
      "a1": "Go to your orders, select the order and choose \"Cancel\". Refunds follow our cancellation policy.",
      "a2": "Payment is made online by card or transfer after the service is completed.",
      "a3": "Go to your orders, select the order to cancel and follow the steps.",
      "a4": "Contact support via chat or email; we will resolve the issue quickly.",
      "a5": "After the order is confirmed you can message the professional from your messages.",
      "q1": "How can I cancel an order?",
      "q2": "How do I pay for my service?",
      "q3": "How do I cancel a booking?",
      "q4": "What if I'm not satisfied with the service?",
      "q5": "How do I contact my professional?",
      "title": "Frequently Asked Questions"
    },
    "faqAndContact": "FAQ and contact",
    "helpAndSupport": "Help and Support",
    "helpCenter": "Help Center",
    "howCanWeHelp": "How can we help?",
    "logout": "logout",
    "loyalty": {
      "benefits": "benefits",
      "completeOrdersToEarnPoints": "complete orders to earn points",
      "currentBalance": "current balance",
      "dedicatedSupport": "dedicated support",
      "discount5": "discount 5",
      "freeCancellation": "free cancellation",
      "highestTier": "highest tier",
      "noPointsHistoryYet": "no points history yet",
      "pointsByProvider": "points by provider",
      "pointsHistory": "points history",
      "pointsToNextTier": "points to next tier",
      "priorityOrder": "priority order",
      "pts": "pts",
      "redeemPoints": "redeem points",
      "referralBonus": "referral bonus",
      "serviceOrder": "service order",
      "tier": "tier",
      "tierUpgrade": "tier upgrade",
      "totalPoints": "total points"
    },
    "manage": "manage",
    "menu": {
      "calendar": "calendar",
      "closeMenu": "close menu",
      "help": "help",
      "loyalty": "loyalty",
      "menuLabel": "menu label",
      "messages": "messages",
      "orders": "orders",
      "overview": "overview",
      "refunds": "refunds",
      "requests": "requests",
      "settings": "settings"
    },
    "message": "message",
    "months": {
      "apr": "apr",
      "aug": "aug",
      "dec": "dec",
      "feb": "feb",
      "jan": "jan",
      "jul": "jul",
      "jun": "jun",
      "mar": "mar",
      "may": "may",
      "nov": "nov",
      "oct": "oct",
      "sep": "sep"
    },
    "more": "more",
    "noActiveRequests": "no active requests",
    "noAnswerFound": "no answer found",
    "noCardDefined": "no card defined",
    "noOrders": "no orders",
    "notCharged": "not charged",
    "notifications": {
      "channels": "channels",
      "chooseNotifications": "choose notifications",
      "electronicMail": "electronic mail",
      "general": "general",
      "inApp": "in app",
      "msg": {
        "accepted": "accepted",
        "arrived": "arrived",
        "cancelled": "cancelled",
        "completed": "completed",
        "enRoute": "en route",
        "inProgress": "in progress"
      },
      "newsletter": "newsletter",
      "newsletterDesc": "newsletter desc",
      "orderCancelled": "order cancelled",
      "orderConfirmed": "order confirmed",
      "orderUpdates": "order updates",
      "orderUpdatesDesc": "order updates desc",
      "pointsReceived": "points received",
      "preferences": "preferences",
      "promotions": "promotions",
      "promotionsDesc": "promotions desc",
      "providerArrived": "provider arrived",
      "providerOnWay": "provider on way",
      "textMessages": "text messages",
      "thanksForOrders": "thanks for orders",
      "types": "types",
      "workCompleted": "work completed",
      "workStarted": "work started"
    },
    "orderDetails": "order details",
    "orderNumber": "order number",
    "orderTracking": "order tracking",
    "orders": {
      "active": "Active",
      "allOrders": "All orders",
      "cancelled": "Cancelled",
      "completed": "Completed",
      "loading": "Loading…",
      "noOrdersFound": "No orders found",
      "noOrdersToShow": "No orders to display",
      "ordersAppearHere": "Your orders will appear here",
      "searchPlaceholder": "Search order",
      "trackRealTime": "Track in real time",
      "stepProgress": "Step {{current}}/{{total}}",
      "stepProgressAria": "Step {{current}} of {{total}}",
      "lifecycleStep": "Step {{current}}/{{total}}",
      "lifecycleStepAria": "Step {{current}} of {{total}}: {{status}}",
      "stepReady": "“{{title}}” is ready for your approval",
      "releaseHint": "releases {{amount}}",
      "validateStep": "Validate this step",
      "validateStepAria": "Validate the step “{{title}}”",
      "validateConfirmTitle": "Validate this step?",
      "validateConfirmBody": "Confirm validation of “{{title}}”?",
      "validateConfirmBodyAmount": "Validating “{{title}}” releases {{amount}} to your pro. Confirm?",
      "tryChangingSearch": "Try changing your search",
      "viewOrder": "View order",
      "step": {
        "accepted": "Accepted",
        "enRoute": "On the way",
        "arrived": "Arrived",
        "inProgress": "In progress",
        "completed": "Completed"
      },
      "stepCancelled": "Cancelled"
    },
    "passwordModal": {
      "confirmNewPassword": "confirm new password",
      "currentPassword": "current password",
      "enterCurrentPassword": "enter current password",
      "enterNewPassword": "enter new password",
      "enterPasswordAgain": "enter password again",
      "newPassword": "new password",
      "savePassword": "Save Password",
      "errorMissing": "All fields are required.",
      "errorTooShort": "New password must be at least 8 characters.",
      "errorMismatch": "The two new passwords do not match.",
      "errorSamePassword": "New password must differ from the current one.",
      "errorIncorrectCurrent": "Current password is incorrect.",
      "errorGeneric": "Could not update password. Please try again."
    },
    "paymentMethods": "payment methods",
    "photoAlt": "photo alt",
    "points": "points",
    "premium": "premium",
    "priceNotSet": "price not set",
    "provider": "provider",
    "rateModal": {
      "experience": "How was your experience with {{name}}?",
      "selected": "{{value}} of 5 stars selected",
      "submitRating": "Submit rating",
      "submitting": "Submitting…"
    },
    "rateProvider": "Rate provider",
    "recommendations": "recommendations",
    "redeemPoints": {
      "notEnough": "not enough",
      "redeem": "redeem",
      "selectReward": "select reward",
      "title": "title"
    },
    "refund": "refund",
    "refundPolicy": {
      "intro": "Your refund depends on your project's price tier and how far ahead you cancel. The full schedule is below.",
      "afterStartNote": "Once the Pro has arrived or the work has started, the booking is no longer refundable.",
      "contactNote": "A question about a refund? Contact us at",
      "gotIt": "Got it"
    },
    "refunds": {
      "approved": "Approved",
      "attachedPhotos": "Attached photos",
      "fullPolicy": "Refund policy",
      "newRefundRequest": "New refund request",
      "pending": "Pending",
      "policy": "Policy",
      "policySummary": "Summary of our refund policy.",
      "readFullPolicy": "Read full policy",
      "reason": "Reason",
      "refundRequests": "Refund requests",
      "selectFromHistory": "Select from history",
      "selectOrderForRefundDesc": "Select an order to request a refund.",
      "processed": "Refunded",
      "rejected": "Rejected",
      "failed": "Failed"
    },
    "requestAnalysisSummary": "request analysis summary",
    "requestId": "request id",
    "requests": {
      "activeRequestsCount": "active requests count",
      "allApproved": "all approved",
      "awaitingApproval": "awaiting approval",
      "cancelRequest": "cancel request",
      "goToCallForTenders": "go to call for tenders",
      "loading": "loading",
      "myRequests": "my requests",
      "offersReceived": "offers received",
      "oneOfferReceived": "one offer received",
      "providerReviewing": "provider reviewing",
      "searchingProvider": "searching provider",
      "estimatedArrival": "Arrives in {{minutes}} min",
      "priceProposed": "Proposed price",
      "previousPrice": "Previous price",
      "viewAllOffers": "See all offers",
      "compareOffers": "Compare offers",
      "acceptOffer": "Accept offer",
      "viewDetails": "Offer details",
      "renewRequest": "Renew",
      "editRequest": "Edit",
      "moreActions": "More actions",
      "renewRequestTooltip": "{{remaining}} of {{cap}} renewals left",
      "renewing": "Renewing…",
      "renewConfirmTitle": "Renew request",
      "renewConfirmBody": "Renewing relaunches call for tenders and re-notifies available providers. Renewals left: {{remaining}}/{{cap}}.",
      "renewConfirmCta": "Renew",
      "renewNotice": "Previous offers will be archived and providers will receive a fresh notification.",
      "renewSuccess": "Request renewed — providers re-notified.",
      "renewError": "Renewal failed. Try again.",
      "renewCapReached": "Renewal limit reached ({{cap}}). Please create a new request.",
      "renewStillActive": "Call for tenders window is still active.",
      "renewNoLongerEligible": "This request is no longer eligible for renewal.",
      "offerAccepted": "Accepted",
      "offerDeclined": "Declined",
      "offerExpired": "Expired",
      "accepting": "Accepting…",
      "cancelledRelaunchNote": "This request was cancelled — start a new request to receive offers.",
      "closedOffersTag": "Closed",
      "startNewRequest": "New request for offers",
      "prosCompeting": "{{count}} pros competing",
      "prosCompetingOne": "1 pro competing",
      "liveBadge": "Live",
      "bestPrice": "Best price",
      "fastest": "Fastest",
      "topRated": "Top rated",
      "arrivalLabel": "Arrival",
      "priceLabel": "Price",
      "minutesShort": "{{minutes}} min",
      "chooseAnotherPro": "Choose another pro",
      "reopenSuccess": "Request reopened — choose a new pro from the offers.",
      "reopenError": "Could not reopen the request. Try again.",
      "reopenNotCancelled": "This order can no longer be reopened.",
      "reopenNoProvider": "No pro to replace — start a new request."
    },
    "rewards": {
      "discount10": "discount 10",
      "discount20": "discount 20",
      "freeDelivery": "free delivery",
      "freeService": "free service",
      "premiumUpgrade": "premium upgrade"
    },
    "save": "save",
    "saveChanges": "save changes",
    "savedSuccessfully": "saved successfully",
    "saving": "saving",
    "schedule": {
      "activeNow": "active now",
      "myCalendar": "my calendar",
      "noUpcomingOrders": "no upcoming orders",
      "orderNewService": "order new service",
      "recentlyCompleted": "recently completed",
      "tracking": "tracking",
      "upcomingOrders": "upcoming orders"
    },
    "searchingProvider": "searching provider",
    "security": {
      "activeDevices": "active devices",
      "additionalProtection": "additional protection",
      "changePassword": "change password",
      "changePasswordBtn": "change password btn",
      "connectedDevices": "connected devices",
      "lastUpdated30Days": "last updated 30 days",
      "subtitle": "subtitle",
      "twoFactorAuth": "two factor auth"
    },
    "sendEmail": "Send email",
    "service": "service",
    "setAsDefault": "set as default",
    "settings": {
      "addAddress": "add address",
      "addCard": "add card",
      "city": "city",
      "email": "email",
      "emailLabel": "Email",
      "emailChannel": "email channel",
      "expiry": "expiry",
      "firstName": "first name",
      "lastName": "last name",
      "loadingPaymentMethods": "loading payment methods",
      "manageAddresses": "manage addresses",
      "editAddress": "Edit address",
      "deleteAddress": "Delete address",
      "manageCards": "manage cards",
      "notifications": "notifications",
      "paymentMethods": "payment methods",
      "personalInfo": "personal info",
      "phoneNumber": "phone number",
      "savedAddresses": "saved addresses",
      "securityAndPassword": "security and password",
      "streetAndNumber": "street and number",
      "title": "Settings",
      "updateYourDetails": "update your details",
      "zipCode": "zip code",
      "defaultAddress": "Default Address"
    },
    "showAll": "show all",
    "startCamera": "start camera",
    "status": {
      "accepted": "accepted",
      "arrived": "arrived",
      "arrivingSoon": "Arriving soon",
      "cancelled": "cancelled",
      "completed": "completed",
      "enRoute": "en route",
      "inProgress": "in progress",
      "paymentPending": "payment pending",
      "pendingAcceptance": "pending acceptance",
      "searching": "searching",
      "onHold": "On hold",
      "awaitingClientResponse": "Awaiting your response"
    },
    "subcategory": {
      "ac": "ac",
      "clog": "clog",
      "deep": "deep",
      "faucet": "faucet",
      "leak": "leak",
      "outlet": "outlet",
      "regular": "regular",
      "switch": "switch",
      "toilet": "toilet",
      "toit_endommage": "Roof damage"
    },
    "supportChat": "support chat",
    "table": {
      "plannedDate": "planned date",
      "price": "price",
      "provider": "provider",
      "service": "service",
      "status": "status"
    },
    "takePhoto": "take photo",
    "teamAvailable247": "team available 247",
    "theProvider": "the provider",
    "time": {
      "daysAgo": "{{count}} days ago",
      "hour": "hour",
      "hoursAgo": "{{count}} h ago",
      "minutesAgo": "{{count}} min ago",
      "now": "now",
      "yesterday": "yesterday"
    },
    "toast": {
      "addressAdded": "address added",
      "addressDeleted": "address deleted",
      "addressDeleteError": "Could not delete the address. Please try again.",
      "setDefaultError": "Could not set the default address. Please try again.",
      "addressSaveError": "address save error",
      "addressUpdated": "address updated",
      "allDevicesDisconnected": "all devices disconnected",
      "cameraAccessDenied": "camera access denied",
      "cancelError": "cancel error",
      "cannotAnalyzePhotos": "cannot analyze photos",
      "cannotOpenAddCard": "cannot open add card",
      "cardAdded": "card added",
      "cardRemoved": "card removed",
      "changesCancelled": "changes cancelled",
      "demoOrder": "demo order",
      "demoOrderShort": "demo order short",
      "deviceDisconnected": "device disconnected",
      "emailDisabled": "email disabled",
      "emailEnabled": "email enabled",
      "enterCancelReason": "enter cancel reason",
      "fillNameAndAddress": "fill name and address",
      "genericError": "generic error",
      "newsletterDisabled": "newsletter disabled",
      "newsletterEnabled": "newsletter enabled",
      "noOtherDevices": "no other devices",
      "noPointsHistory": "no points history",
      "offerAcceptFailed": "offer accept failed",
      "offerAccepted": "offer accepted",
      "offerApproveError": "offer approve error",
      "openChat": "open chat",
      "openingSupportChat": "opening support chat",
      "orderAccepted": "order accepted",
      "orderCancelled": "order cancelled",
      "orderUpdated": "order updated",
      "orderUpdatesDisabled": "order updates disabled",
      "orderUpdatesEnabled": "order updates enabled",
      "passwordChanged": "password changed",
      "photoAdded": "photo added",
      "photoCaptured": "photo captured",
      "profilePhotoUpdated": "profile photo updated",
      "profileSaved": "profile saved",
      "profileSavedLocally": "profile saved locally",
      "profileSavedSuccess": "profile saved success",
      "profileUpdated": "profile updated",
      "promotionsDisabled": "promotions disabled",
      "promotionsEnabled": "promotions enabled",
      "providerAccepted": "provider accepted",
      "pushDisabled": "push disabled",
      "pushEnabled": "push enabled",
      "ratingError": "rating error",
      "ratingSaved": "rating saved",
      "rewardAdded": "reward added",
      "selectCancelReason": "select cancel reason",
      "selectOrderForRefund": "select order for refund",
      "setAsDefault": "set as default",
      "smsDisabled": "sms disabled",
      "smsEnabled": "sms enabled",
      "summaryCreated": "summary created",
      "summaryFailed": "summary failed",
      "totalPointsActivities": "total points activities",
      "twoFactorDisabled": "Two-factor authentication disabled",
      "twoFactorEnabled": "Two-factor authentication enabled",
      "twoFactorSetupFailed": "Could not start 2FA setup. Please try again.",
      "twoFactorDisableFailed": "Could not disable 2FA. Please try again.",
      "allNotificationsRead": "All notifications marked as read.",
      "deviceDisconnectFailed": "Could not disconnect this device. Please try again.",
      "dataExported": "Your data has been exported successfully.",
      "dataExportFailed": "Export failed. Please try again later.",
      "accountDeleted": "Your account has been deleted.",
      "deleteAccountFailed": "Could not delete account. Please contact support.",
      "profileSavedLocallyOnly": "Changes saved locally — sync to the server failed.",
      "whatsappComingSoon": "whatsapp coming soon"
    },
    "today": "today",
    "track": "track",
    "tracking": {
      "estimatedArrival": "estimated arrival",
      "navigateWaze": "navigate waze",
      "orderDetails": "order details",
      "securityCode": "security code",
      "shareCodeWithProvider": "share code with provider",
      "noActiveOrder": "No active order to track right now."
    },
    "understood": "understood",
    "uploadFromDevice": "upload from device",
    "useCamera": "use camera",
    "verified": "verified",
    "viewPhotos": "View photos",
    "paymentModal": {
      "addCreditCard": "Add Credit Card",
      "continueToRapyd": "Continue to Secure Payment",
      "continueToPayPal": "Continue to Secure Payment",
      "loadError": "Unable to load the payment form. Check your connection.",
      "loadingForm": "Loading payment form…",
      "notConfigured": "Card payment is not configured at this time.",
      "paypalDescription": "Secure payment via PayPal",
      "rapydDescription": "Secure payment via PayPal",
      "stripeDescription": "Secure payment via Stripe",
      "retry": "Retry",
      "saveCard": "Save card"
    },
    "notificationsPanel": {
      "markAllRead": "Mark all as read",
      "empty": "No notifications yet."
    },
    "twoFactorModal": {
      "title": "Enable two-factor authentication",
      "scanQrPrompt": "Scan this QR code with Google Authenticator or a similar app, then enter the 6-digit code.",
      "backupCodesTitle": "Backup codes",
      "backupCodesHint": "Save these in a safe place — each works only once.",
      "enterCode": "6-digit code",
      "invalidCode": "Invalid code. Check your app and try again.",
      "verifyButton": "Verify and enable"
    },
    "twoFactorDisable": {
      "title": "Disable two-factor authentication?",
      "description": "Your account will be less protected. You can re-enable it any time.",
      "confirm": "Disable"
    },
    "privacy": {
      "title": "Privacy & account",
      "subtitle": "Your GDPR rights: export your data or permanently delete your account.",
      "exportTitle": "Export my data",
      "exportSubtitle": "Download everything we store about your account.",
      "exportButton": "Export",
      "deleteTitle": "Delete my account",
      "deleteSubtitle": "Irreversible. Your data will be anonymized per GDPR.",
      "deleteButton": "Delete"
    },
    "deleteAccount": {
      "title": "Delete my account",
      "warningTitle": "This action cannot be undone.",
      "warningBody": "Your profile will be anonymized. Some invoices and logs may be retained for legal obligations (tax, anti-fraud).",
      "confirmPrompt": "To confirm, type {{keyword}} below.",
      "confirm": "Permanently delete"
    },
    "favorites": {
      "title": "My favorites",
      "count": "{{count}} saved professional(s)",
      "emptyTitle": "No favorites yet",
      "emptySubtitle": "Save a professional to find them again later.",
      "discoverButton": "Discover pros",
      "removed": "{{name}} removed from favorites",
      "removeFailed": "Could not remove favorite. Please try again.",
      "remove": "Remove",
      "unnamed": "Professional"
    },
    "help": {
      "supportPhone": "1800-123-456",
      "supportEmail": "support@beedy.app",
      "whatsappNumber": ""
    },
    "authGuard": {
      "title": "Please sign in",
      "description": "You need to be logged in to access your dashboard.",
      "signIn": "Sign in"
    },
    "addressModal": {
      "addAddress": "Add Address",
      "chooseSavedAddress": "Choose a saved address",
      "addressCompletion": "Address Completion",
      "cityPlaceholder": "City",
      "description": "Add or edit a saved address",
      "editAddress": "Edit Address",
      "fullAddress": "Full Address",
      "nameLabel": "Address Name",
      "namePlaceholder": "e.g. Home, Work",
      "streetPlaceholder": "Street and number",
      "setAsDefault": "Set as Default"
    },
    "card": {
      "searchingProvider": "Looking for a professional",
      "viewOffers": "View offers",
      "finalizePayment": "Finalize payment",
      "track": "Track order",
      "viewOrder": "View order",
      "call": "Call",
      "message": "Message",
      "showDetails": "Show details",
      "hideDetails": "Hide details",
      "offersReceived": "{{count}} offers received",
      "yourPhotos": "Your photos",
      "phoneCopied": "Number copied: {{phone}}"
    },
    "attention": {
      "title": "Needs your attention",
      "subtitle": "Messages, notifications & opportunities",
      "alertsTitle": "Alerts",
      "alertsSubtitle": "Recent updates",
      "messagesTitle": "Messages",
      "messagesSubtitle": "Chat with your pros",
      "openChat": "Open live chat",
      "noConversations": "No conversations yet",
      "noAlerts": "No new alerts",
      "viewAll": "View all",
      "reviewsTitle": "Reviews to leave",
      "reviewsSubtitle": "Rate your services",
      "noReviews": "No reviews pending",
      "rate": "Rate",
      "viewHistory": "View history"
    },
    "requestRefund": {
      "orderLabel": "Which order?",
      "choosePlaceholder": "Choose an order…",
      "reasonPlaceholder": "Describe what went wrong…",
      "reviewNote": "Requests after the service is delivered are reviewed by our team before any refund.",
      "submit": "Submit request",
      "empty": "You have no past orders eligible for a refund request yet.",
      "success": "Your refund request was submitted.",
      "error": "Could not submit your request. Please try again."
    },
    "providers": {
      "title": "My pros",
      "subtitle": "Every professional you've ordered from",
      "emptyTitle": "No pros yet",
      "emptyText": "Professionals you order from will appear here.",
      "ordersCount": "{{n}} orders",
      "pointsCount": "{{n}} pts",
      "viewAll": "View my pros",
      "back": "Back",
      "notFound": "Pro not found",
      "verified": "Verified",
      "status_new": "New",
      "status_regular": "Regular",
      "status_vip": "VIP",
      "call": "Call",
      "message": "Message",
      "kpiOrders": "Orders",
      "kpiSpent": "Total spent",
      "kpiPoints": "Loyalty points",
      "kpiMyRating": "My rating",
      "tabOverview": "Overview",
      "tabOrders": "Orders",
      "tabReviews": "My reviews",
      "tabRefunds": "Refunds",
      "summaryTitle": "Relationship",
      "firstOrder": "First order",
      "lastOrder": "Last order",
      "completedOrders": "Completed",
      "cancelledOrders": "Cancelled",
      "rewardsRefundsTitle": "Points & refunds",
      "refundCount": "Refund requests",
      "refundTotal": "Total refunded",
      "noOrders": "No orders with this pro yet",
      "noReviews": "You haven't reviewed this pro yet",
      "noRefunds": "No refunds with this pro",
      "orderStatus": {
        "searching": "Searching",
        "pending_acceptance": "Pending",
        "accepted": "Accepted",
        "en_route": "On the way",
        "arriving_soon": "Arriving soon",
        "arrived": "Arrived",
        "in_progress": "In progress",
        "payment_pending": "Payment pending",
        "completed": "Completed",
        "cancelled": "Cancelled",
        "on_hold": "On hold"
      },
      "refundStatus": {
        "pending": "Pending",
        "approved": "Approved",
        "rejected": "Rejected",
        "processed": "Processed"
      },
      "memberSince": "Client since {{date}}",
      "emailAction": "Email"
    },
    "header": {
      "createRequest": "New request",
      "setLocation": "My location",
      "editLocationTitle": "Edit my location",
      "searchAddress": "Search an address",
      "useMyGps": "Use my location",
      "orLabel": "or",
      "currentLocation": "Current location"
    }
  },
  "serviceProviders": {
    "scheduledAppointment": "Scheduled Appointment",
    "noProvidersAvailable": "No providers available",
    "workingOnAddingPros": "We're working on adding more professionals in your area.",
    "services": "Services",
    "providersAvailable": "{{count}} providers available",
    "reviews": "reviews",
    "perHour": "/hr",
    "distanceAway": "{{distance}} mi away"
  },
  "jobContext": {
    "failedToLoadJobStatus": "Failed to load job status",
    "failedToCreateJobRequest": "Failed to create job request",
    "jobAcceptedByAnother": "Job may have been accepted by another provider",
    "failedToAcceptJob": "Failed to accept job",
    "failedToUpdateJobStatus": "Failed to update job status",
    "failedToCancelJob": "Failed to cancel job"
  },
  "categorySelector": {
    "scrollLeft": "Scroll left",
    "scrollRight": "Scroll right"
  },
  "wallet": {
    "title": "Wallet",
    "beedyCashBalance": "Beedy Cash Balance",
    "loading": "Loading...",
    "pending": "Pending",
    "load": "Load",
    "comingSoon": "Coming Soon",
    "transfer": "Transfer",
    "paymentMethods": "Payment Methods",
    "noPaymentMethods": "No payment methods yet",
    "preferredCard": "Preferred",
    "expires": "Expires {{date}}",
    "addPaymentMethodComingSoon": "Adding payment methods coming soon",
    "addPaymentMethod": "Add Payment Method",
    "setAsDefault": "Set as default",
    "removeCard": "Remove",
    "removeCardConfirmTitle": "Remove card?",
    "removeCardConfirmMessage": "Remove {{brand}} •••• {{lastFour}} from your saved payment methods?",
    "removeCardConfirm": "Remove card",
    "cancel": "Cancel",
    "setDefaultSuccess": "Default payment method updated",
    "setDefaultError": "Failed to set default card",
    "removeCardSuccess": "Card removed",
    "removeCardError": "Failed to remove card",
    "loginRequiredTitle": "Log in to view your wallet",
    "loginRequiredMessage": "Sign in to see your Beedy Cash balance, payment methods, and transactions.",
    "logInToView": "Log in",
    "recentTransactions": "Recent Transactions",
    "noTransactionsYet": "No transactions yet",
    "transactionsWillAppear": "Your transactions will appear here",
    "txType": {
      "payment_pending_credit": "Payment received — on hold",
      "pending_to_available": "Funds released — available",
      "milestone_release": "Milestone released — available",
      "withdrawal_debit": "Withdrawal",
      "withdrawal_fee": "Withdrawal fee",
      "withdrawal_payout": "Payout to your account",
      "withdrawal_compensation": "Withdrawal refunded",
      "refund_debit": "Refund to customer",
      "refund_debit_external": "Refund to customer",
      "chargeback_debit": "Chargeback",
      "chargeback_reversal_credit": "Chargeback reversed"
    },
    "loadMoneyTitle": "Load Money",
    "amountNIS": "Amount ($)",
    "amount": "Amount",
    "currency": "Currency",
    "processing": "Processing...",
    "continueToPayment": "Continue to Payment",
    "transferMoneyTitle": "Transfer Money",
    "availableBalance": "Available Balance",
    "recipientEmail": "Recipient Email",
    "transferMoney": "Transfer Money",
    "insufficientBalance": "Insufficient balance",
    "transferSuccess": "Transfer successful",
    "transferError": "Transfer failed",
    "errorLoadingBalance": "Error loading balance",
    "enterValidAmount": "Enter a valid amount",
    "loadComingSoon": "Loading money coming soon",
    "enterValidEmail": "Enter a valid email",
    "connectOnboardingBanner": "Connect your Stripe account to get paid automatically.",
    "connectStripeCta": "Connect my Stripe account",
    "autoPayoutTitle": "Payouts are automatic",
    "autoPayoutDescription": "Your balance is transferred to your Stripe account, then paid out to your bank — no manual withdrawal needed.",
    "connectedStatus": "Stripe account connected"
  },
  "pinSetup": {
    "pinMustBe4to6Digits": "PIN must be 4-6 digits",
    "pinsDoNotMatch": "PINs do not match",
    "failedToSetupPin": "Failed to setup PIN"
  },
  "importClients": {
    "failedToParseFile": "Failed to parse file",
    "noValidClients": "No valid clients found in file"
  },
  "claim": {
    "pagePreviewTitle": "Preview of your page",
    "ratingNew": "New",
    "portfolio": "Work",
    "viewFullPage": "View my full page",
    "loading": "Loading your profile...",
    "invalidPhone": "Please enter a valid phone number",
    "otpSent": "Verification code sent!",
    "otpResent": "New code sent!",
    "profileSaved": "Profile updated!",
    "welcomeTitle": "Claim your profile",
    "welcomeSubtitle": "Enter your phone number to verify your identity",
    "phonePlaceholder": "050-123-4567",
    "sendCode": "Send verification code",
    "verifyTitle": "Enter verification code",
    "verifySubtitle": "Code sent to",
    "resendIn": "Resend in",
    "resendCode": "Resend code",
    "changePhone": "Change phone number",
    "reviewTitle": "Your profile is ready!",
    "reviewSubtitle": "Review your information and activate your profile",
    "category": "Category",
    "description": "Description",
    "serviceAreas": "Service areas",
    "specialties": "Specialties",
    "activateProfile": "Confirm & activate my profile",
    "editProfile": "Edit my information",
    "editTitle": "Edit your profile",
    "editSubtitle": "Update the information you want to change",
    "fullName": "Full name",
    "businessName": "Business name",
    "bio": "Professional description",
    "bioHint": "This description was generated by AI. Feel free to modify it.",
    "successTitle": "Profile activated!",
    "successSubtitle": "Your professional profile is now live. Clients can find you on Beedy.",
    "goToDashboard": "Go to my dashboard",
    "errorTitle": "Link not valid",
    "tryWithPhone": "Try with your phone number",
    "footer": "Secured by Beedy",
    "footerPrivacy": "Privacy Policy",
    "whyPhone": "Your phone number is only used to confirm this profile belongs to you. No password needed.",
    "activationExplainer": "Activating publishes this page on Beedy so clients can contact you. Free, no subscription. We'll first confirm your phone with a one-time code.",
    "activationExplainerAuthed": "Activating publishes this page on Beedy so clients can contact you. Free, no subscription.",
    "activating": "Publishing your page…",
    "editsStaged": "Saved. Your changes will be published when you activate.",
    "notYourPhone": "Not your number anymore?",
    "errorInvalidBody": "This link is not valid. If you received it by email, make sure you opened the most recent one.",
    "errorNetworkTitle": "Connection problem",
    "errorNetworkBody": "We could not reach Beedy. Check your connection and try again.",
    "errorExpiredTitle": "This link has expired",
    "errorExpiredBody": "Invitation links are valid for 30 days. Request a fresh one and we will send it the same way you received this one.",
    "requestNewLink": "Send me a new link",
    "newLinkSent": "If this profile can be renewed, a fresh link is on its way.",
    "errorClaimedTitle": "Profile already claimed",
    "errorClaimedBody": "This profile has already been claimed. If that was you, log in with your phone number.",
    "loginWithPhone": "Log in with your phone",
    "errorDeclinedTitle": "Profile removed",
    "errorDeclinedBody": "This profile was removed from Beedy at its owner's request. This link can no longer be used.",
    "backToHome": "Back to beedy.app",
    "editServiceAreasHint": "Select the Florida cities you serve.",
    "editSpecialtiesHint": "Up to 10 specialties, shown on your page.",
    "addSpecialtyPlaceholder": "Add a specialty and press Enter",
    "decline": {
      "loading": "Loading your invitation…",
      "invalidLink": "This link is invalid.",
      "failed": "Something went wrong. Please try again.",
      "title": "Remove your profile from Beedy?",
      "titleNamed": "Remove {{name}} from Beedy?",
      "body": "Your draft profile and the data we collected for it (photos, descriptions, contact details) will be deleted. Nothing was or will be published. This cannot be undone.",
      "confirmCta": "Yes, remove my profile",
      "submitting": "Removing…",
      "changedYourMind": "Changed your mind?",
      "reviewInstead": "Review my profile instead",
      "doneTitle": "Your profile has been removed",
      "doneBody": "Nothing was published, and the data we collected has been deleted. If you change your mind later, you can always sign up on Beedy as a new pro — for free.",
      "errorTitle": "We could not process this request"
    }
  },
  "sectionError": {
    "loadError": "This section could not be loaded.",
    "retry": "Try again"
  },
  "seo": {
    "blog": {
      "title": "Blog — Home Service Tips, Guides & Costs | Beedy",
      "description": "Expert guides on hiring home service pros in Florida: what to check, real cost ranges, and how to avoid common mistakes for plumbing, AC, electrical and more."
    },
    "title": "Beedy – Book Home Services: Plumbing, Electrical & Cleaning",
    "description": "Find top professionals for home services - plumbing, electrical, cleaning and more. Get fixed-price quotes in minutes with full warranty. No subscription fees.",
    "ogLocale": "en_US",
    "languageName": "English",
    "inLanguage": "en-US",
    "keywords": "home services, marketplace, plumber, electrician, cleaning, professionals, Florida, Miami, repair, maintenance, AI booking",
    "category": {
      "title": "Home Service Categories — Plumbing, Electrical, Cleaning & More | Beedy",
      "description": "Browse top-rated professionals across every home service category. Get instant fixed-price quotes for plumbing, electrical, cleaning, AC, painting, gardening and renovation.",
      "keywords": "service categories, plumbing, electrical, cleaning, AC repair, painting, gardening, renovation, moving, beauty"
    },
    "map": {
      "title": "Find Home Service Pros Near You — Live Map | Beedy",
      "description": "Search verified home service professionals on an interactive map. See ratings, distance and availability in real time across Florida."
    },
    "about": {
      "title": "About Beedy — Our Mission to Modernize Home Services",
      "description": "Beedy connects homeowners with vetted professionals through a transparent, AI-powered marketplace. Learn about our mission, team and values."
    },
    "help": {
      "title": "Help Center & FAQ — Beedy",
      "description": "Frequently asked questions about booking, payments, refunds, professional ratings and more. Get the help you need from the Beedy team."
    },
    "contact": {
      "title": "Contact Beedy — Customer Support",
      "description": "Reach out to the Beedy team for customer support, partnership inquiries or press requests."
    },
    "notFound": {
      "title": "Page Not Found — Beedy",
      "description": "The page you're looking for doesn't exist or has moved. Browse our home service categories or contact support to find what you need."
    },
    "accessibility": {
      "title": "Accessibility Statement — Beedy",
      "description": "Beedy is committed to digital accessibility. Read about our standards, ongoing efforts and how to report issues."
    },
    "partner": {
      "title": "Become a Beedy Partner — Join as a Verified Professional",
      "description": "Join the Beedy network. Get more clients, set your own schedule and grow your home services business with our AI-powered platform.",
      "keywords": "become a professional, partner, professional registration, work as a contractor, Beedy network"
    },
    "discoverBeedy": {
      "title": "Discover Beedy — Your Partner Onboarding Guide",
      "description": "Discover how the Beedy local services marketplace can add value to your business. Learn the key steps to launch and grow as a Beedy partner."
    },
    "terms": {
      "title": "Terms of Service — Beedy",
      "description": "Read the Beedy terms of service governing the use of our home services marketplace."
    },
    "privacy": {
      "title": "Privacy Policy — Beedy",
      "description": "Learn how Beedy collects, uses and protects your personal information."
    },
    "policy": {
      "title": "How Beedy works — Payments, Cancellations, Disputes",
      "description": "Operations policy for every Beedy booking: 3-tier refund schedule, cooling-off windows, no-show handling, security code, photo evidence, dispute mediation. For customers and Pros."
    },
    "cookies": {
      "title": "Cookie Policy — Beedy",
      "description": "How Beedy uses cookies and similar technologies to provide and improve our service."
    },
    "subProcessors": {
      "title": "Sub-processors — Beedy",
      "description": "Public list of the third-party processors that handle data on behalf of Beedy, with country and transfer safeguards."
    },
    "proDetail": {
      "title": "Verified Professional Profile | Beedy",
      "description": "View this professional's services, ratings, reviews and book directly on Beedy."
    },
    "proFaq": {
      "hoursQ": "What are {{name}}'s hours?",
      "hoursA": "{{name}} is open: {{hours}}.",
      "areaQ": "Which areas does {{name}} serve?",
      "areaA": "{{name}} works in: {{area}}.",
      "rateQ": "What is {{name}}'s rate?",
      "rateA": "{{name}}'s hourly rate starts at {{rate}}.",
      "verifiedQ": "Is {{name}} verified?",
      "verifiedA": "Yes — {{name}} is a verified professional on Beedy.",
      "languagesQ": "What languages does {{name}} speak?",
      "languagesA": "{{name}} speaks: {{langs}}."
    },
    "providerProfile": {
      "title": "Service Provider Profile | Beedy",
      "description": "See verified credentials, ratings, gallery and reviews. Book trusted professionals on Beedy."
    },
    "registerBusiness": {
      "title": "Register Your Business on Beedy — Reach Local Customers",
      "description": "Sign up free, manage offers and reviews, and accept secure payments. Join thousands of local businesses growing with Beedy."
    },
    "proDiscover": {
      "title": "Beedy for Pros — Join Our Local Services Marketplace",
      "description": "Discover Beedy: how our local services marketplace connects partners with customers, drives visibility, and helps your business thrive."
    },
    "proSetup": {
      "title": "Set Up Your Beedy Business Page — Photos, Payments, Promotions",
      "description": "A complete guide to setting up your Beedy business page: page validation checklist, Beedy Payments, final tasks, and how to open for bookings."
    },
    "proOptimization": {
      "title": "Optimize Your Business Page on Beedy — Boost Visibility and Bookings",
      "description": "Discover how to optimize your Beedy business page: photos, pricing plans, payments and promotions to boost bookings and stand out."
    },
    "proCommunication": {
      "title": "Communicating with Customers on Beedy — Tools, Templates, Automation",
      "description": "Learn the communication tools and best practices for talking to customers on Beedy: reservation messages, customer questions, automated responses."
    },
    "proOperations": {
      "title": "Manage Customer Operations on Beedy — Payments, Cancellations, Conditions",
      "description": "Master Beedy customer operations: payment methods, Beedy Payments, cancellations, no-shows, security deposits, and how to report inappropriate behavior."
    },
    "serviceCity": {
      "title": "{{service}} in {{city}} — Verified Pros, Instant Quotes | Beedy",
      "description": "Find a verified {{service}} pro in {{city}}. Compare fixed-price quotes in 2 minutes, 14-day warranty, no booking fee.",
      "keywords": "{{service}}, {{city}}, home services, verified pros, beedy"
    },
    "subServiceCity": {
      "title": "{{subService}} in {{city}} — Verified Local Pros | Beedy",
      "description": "Book a vetted {{subService}} pro in {{city}}. Upfront fixed-price quotes, 14-day warranty, no booking fee.",
      "keywords": "{{subService}}, {{city}}, plumber, verified pros, beedy"
    },
    "ipNotice": {
      "title": "IP & Copyright Notice — Beedy, LLC",
      "description": "Intellectual property notice for the Beedy platform. The interface, design and BEEDY brand are protected under US Copyright Act, DMCA, Lanham Act, Defend Trade Secrets Act, Berne Convention and trademark laws. Cloning, scraping and AI training prohibited."
    },
    "privacyChoices": {
      "title": "Your Privacy Choices — Do Not Sell or Share My Personal Information | Beedy",
      "description": "Exercise your CCPA/CPRA right to opt out of the sale or sharing of your personal information. Beedy honors the Global Privacy Control browser signal automatically."
    }
  },
  "policyPage": {
    "backToHome": "Back to home",
    "eyebrow": "Operations Policy",
    "title": "How Beedy bookings work — payments, cancellations, disputes",
    "subtitle": "A plain-language guide to the operational rules that govern every Beedy booking — for customers and pros alike. Covers payments, cancellations, no-shows, service execution, deposits, disputes, and how to report bad behaviour.",
    "tableOfContents": "Table of contents",
    "intro": "This page summarises Beedy's operational rules. The binding legal text — including the full per-tier refund schedule and the limitation of liability — is in our Terms of Service, Section 5. Where this page differs from the Terms, the Terms control.",
    "payment": {
      "title": "1. Payment",
      "intro": "When a customer confirms a Booking, Beedy charges the agreed price plus a transparent platform fee (5% by default; the exact percentage is shown at checkout). Beedy holds the funds and pays the Pro after the service is marked complete and the dispute window has elapsed.",
      "commissionDisclosure": "The 5% platform fee covers payment processing, dispute mediation, fraud protection, and the technology that connects you with verified Pros. The fee is shown line-by-line on the checkout screen — there are no hidden charges.",
      "processorsTitle": "Payment processors",
      "processorsBody": "Card and PayPal payments are processed by Stripe and PayPal under PCI-DSS Level 1 standards. Beedy never stores raw card numbers — only tokens.",
      "fraudTitle": "Fraud protection",
      "fraudBody": "Beedy actively monitors transactions for suspicious activity (identity mismatch, repeated chargebacks, anomalous IPs). Flagged transactions go to manual review by a Beedy operator before any payout."
    },
    "cancellations": {
      "title": "2. Cancellations & refunds",
      "intro": "Cancellation is free up to a cut-off that depends on the size of the Booking and how close it is to the scheduled service. The refund percentage is computed automatically by Beedy at the moment of cancellation.",
      "canonicalSource": "The **canonical refund schedule** — three tiers (Small / Medium / Large) with full per-bucket percentages and the cooling-off exception — lives in **Section 5 of the Terms of Service**. The summary below is informational; the Terms control if there is any difference.",
      "tier1": {
        "name": "Tier 1 — Small project",
        "range": "Up to USD 250 · 5 min to 8 h of work",
        "headline": "100% / 85% / 60% / 40% (48h+ / 24-48h / 0-24h / on the way). Cooling-off: 30 min after booking."
      },
      "tier2": {
        "name": "Tier 2 — Medium project",
        "range": "USD 250–800 · 5 min to 1 day of work",
        "headline": "100% / 80% / 65% / 50% (4d+ / 24h-4d / 0-24h / on the way). Cooling-off: 8 h after booking."
      },
      "tier3": {
        "name": "Tier 3 — Large project",
        "range": "USD 800–5,000 · 5 min to 3 days of work",
        "headline": "100% / 85% / 70% / 60% (7d+ / 24h-7d / 0-24h / on the way). Cooling-off: 24 h after booking."
      },
      "fullGridCta": "Open the full grid in the Terms (Section 5)",
      "consumerLabel": "Your consumer rights",
      "consumerBody": "Nothing on this page waives mandatory consumer-protection rights under the Florida Deceptive and Unfair Trade Practices Act (FDUTPA), applicable U.S. federal and state consumer-protection law, or EU consumer-protection law. Where statutory rights are more favourable than the schedule above, statutory rights apply."
    },
    "noShows": {
      "title": "3. No-shows",
      "intro": "A no-show is when one side doesn't show up at the scheduled time without a valid prior cancellation. Beedy handles each side differently.",
      "customerTitle": "Customer no-show",
      "customerBody": "If the customer doesn't appear within 30 minutes of the scheduled start time and doesn't respond to the Pro's calls or in-app messages, the booking is closed as a no-show. The customer forfeits the same percentage as the closest applicable cancellation bucket (typically 40-60%, see Section 5).",
      "proTitle": "Pro no-show",
      "proBody": "If the Pro doesn't appear within 30 minutes of the scheduled start time and doesn't respond, the customer can declare a Pro no-show in the app. Beedy refunds the customer in full and the Pro is automatically reviewed for the penalty system below.",
      "proPenaltyNote": "Pro no-shows trigger a penalty (currently $50) and count toward the auto-ban threshold (3 penalties in a rolling 90-day window leads to an automatic Pro account suspension pending manual review)."
    },
    "serviceExecution": {
      "title": "4. Service execution",
      "intro": "Three operational features keep every Beedy service trustworthy from start to finish.",
      "securityCodeTitle": "Security code",
      "securityCodeBody": "When the Pro arrives, the customer is shown a 4-digit security code in the app. The Pro can only start the timer / mark the service as begun after the customer reads the code aloud. This protects against impersonation and unauthorised entry.",
      "evidenceTitle": "Photo evidence",
      "evidenceBody": "The Pro takes before and after photos that are stored on the booking record. These photos are required for dispute mediation and serve as proof of service quality and condition.",
      "completionTitle": "Completion confirmation",
      "completionBody": "The customer confirms in-app that the service is complete and satisfactory. This unlocks the Pro's payout (after the dispute window) and triggers the review prompt."
    },
    "deposit": {
      "title": "5. Deposits & prepayment",
      "p1": "For most Bookings, the full service price is captured at the time of Booking (held by Beedy) and only paid to the Pro after completion. There is no separate security deposit by default.",
      "p2": "For high-value Bookings (Tier 3) or for service categories that require materials advances, the Pro may request a partial prepayment disclosed at the call for tenders stage. Any prepayment is non-refundable only to the extent of materials actually purchased — the labour portion follows the refund schedule in Section 5."
    },
    "disputes": {
      "title": "6. Disputes & resolution",
      "intro": "If a service is not delivered as agreed — wrong work, damage, missing items, no-show — open a dispute within seven (7) days of the scheduled service date.",
      "step1Title": "Talk to the other side first",
      "step1Body": "Most issues resolve through the in-app chat in under 24 hours. Be specific about what went wrong and what you want as a remedy.",
      "step2Title": "Open a Beedy mediation",
      "step2Body": "If the in-app chat doesn't resolve it, tap \"Open a dispute\" on the booking screen. Beedy support reviews the booking record (messages, photos, security code, timestamps) and proposes a fair outcome.",
      "step3Title": "Beedy decision",
      "step3Body": "Beedy may issue a partial refund, full refund, re-do credit, or Pro account suspension. The decision is based on the booking record and the policies on this page.",
      "step4Title": "External recourse",
      "step4Body": "If you disagree with the Beedy decision, you keep all your statutory rights — including chargeback through your card issuer and consumer-protection complaints in your country of residence. See ToS Section 10 for governing law and venue.",
      "escalationLabel": "Service that caused damage or injury",
      "escalationBody": "If the service caused property damage or personal injury, contact support@beedy.app immediately and do not delete any evidence. These claims are escalated to a senior reviewer and may be referred to the Pro's professional liability insurance. Beedy will preserve the booking record, help you obtain the Pro's identity and (where disclosed) insurance information from our verified records, and may suspend the Pro pending investigation. Beedy does NOT pay damages directly — the Pro is liable. We recommend you also contact the Pro's professional liability insurer (if disclosed at onboarding) and, where the incident is serious, your own homeowner's / health insurance and local authorities."
    },
    "report": {
      "title": "7. Reporting bad behaviour",
      "intro": "Beedy is a marketplace for everyone — harassment, discrimination, fraud, and any unlawful behaviour are grounds for permanent removal.",
      "customerReportTitle": "A Pro behaved badly",
      "customerReportBody": "Open the booking → tap \"Report Pro\" → select a reason. Reports are reviewed within 48 hours; for safety incidents (harassment, threats), reports are reviewed within 4 hours.",
      "proReportTitle": "A Customer behaved badly",
      "proReportBody": "From the booking, tap \"Report Customer\" → select a reason. Pros who report a safety incident can pause new bookings from that customer immediately while the report is reviewed.",
      "deadlineNote": "Reports should be submitted within 7 days of the incident, with as much detail and evidence as possible. Beedy may share reports with law enforcement when legally required or when a credible safety risk exists."
    },
    "faq": {
      "title": "Frequently Asked Questions (FAQ)",
      "q1": "How is the refund percentage calculated?",
      "a1": "Automatically, at the moment you cancel. Beedy checks (a) which tier your Booking is in (Small / Medium / Large by price), (b) how much time is left before the scheduled service, and (c) whether the Pro is already on the way. The full grid is in Terms Section 5.",
      "q2": "What if I'm within the cooling-off window?",
      "a2": "You get a 100% refund regardless of any other factor. The cooling-off window is 30 minutes (Tier 1), 8 hours (Tier 2), or 24 hours (Tier 3) after booking confirmation. The deadline is shown to you in the booking confirmation email.",
      "q3": "What's refunded — only the service price?",
      "a3": "Refund percentages apply to the price paid to the Pro. Beedy's 5% platform fee and any third-party payment-processor fees are non-refundable, even at a 100% refund. This is disclosed at checkout and in Section 5 of the Terms.",
      "q4": "What if I'm not satisfied even after the service is marked complete?",
      "a4": "Open a dispute within 7 days of the scheduled service date. Beedy reviews the booking record (messages, photos, completion timestamp) and may issue a partial refund or re-do credit. After 7 days the Pro's payout is released and disputes are harder to win.",
      "q5": "Where do I report harassment or a safety incident?",
      "a5": "support@beedy.app — or use the in-app \"Report\" button on the booking. Safety incidents are reviewed within 4 hours; if there is an immediate physical threat, call local emergency services (911 in the US, 112 in the EU) before contacting Beedy.",
      "moreQuestions": "Have more questions? Ask us in the chat or contact our support team."
    },
    "contact": {
      "sendEmail": "Send an email",
      "feelFreeToWrite": "Feel free to write",
      "name": "Your name",
      "email": "Your email",
      "question": "Your question",
      "submit": "Submit",
      "needHelp": "Need any help?",
      "getInTouch": "Get in touch with us",
      "haveQuestion": "Have any question?",
      "phone": "+1 (305) 555-0100",
      "writeEmail": "Write email",
      "emailAddress": "support@beedy.app",
      "supportChat": "Write to the support chat",
      "supportChatDesc": "Click on the chat icon at the bottom right of the screen to start chatting",
      "replyAnytime": "Reply anytime",
      "address": "Beedy, LLC, 131 Continental Dr Suite 305, Newark, DE 19713, USA"
    },
    "cta": {
      "title": "Still have a question about this policy?",
      "body": "Our support team replies to general inquiries within 24 hours and to disputes within 48 hours. For safety incidents we reply within 4 hours, 24/7.",
      "button": "Contact support"
    }
  },
  "discoverBeedy": {
    "backToHome": "Back to home",
    "pageTitle": "Discover Beedy",
    "steps": {
      "step1": "Discover Beedy",
      "step2": "Set up your business page",
      "step3": "Optimize your business page",
      "step4": "Communicate with customers",
      "step5": "Manage customer operations"
    },
    "hero": {
      "title": "Discover Beedy",
      "subtitle": "Discover how the local services and products marketplace can add value to your business."
    },
    "sidebar": {
      "discover": "Discover Beedy",
      "marketplace": "Our marketplace",
      "demand": "Responding to demand",
      "succeed": "Helping you succeed",
      "before": "Before proceeding",
      "faq": "FAQ"
    },
    "discover": {
      "heading": "Discover Beedy",
      "paragraph1": "Welcome to Beedy! Just became a partner? We'll introduce you to our local marketplace and cover the key concepts to help you kick-start your business on our platform.",
      "paragraph2": "Beedy was created with the mission of making local services and products accessible to everyone. We connect thousands of local providers with their customers, making it easy to access a wide range of services in your community.",
      "paragraph3": "As a partner provider, your peace of mind is our priority. We offer a comprehensive range of tools to help you manage your business professionally and deliver the best service to your customers."
    },
    "marketplace": {
      "heading": "Our marketplace has a global perspective.",
      "intro": "At Beedy, we've built a local marketplace that connects the demand from customers in your community with the supply offered by partners like you. Here's how our platform works for booking local services:",
      "requestTitle": "Request",
      "requestDesc": "Customers are individuals who search for and book quality services and products in stores like yours, listed on Beedy. As a partner, you gain access to a customer base in your local environment.",
      "offerTitle": "Offer",
      "offerDesc": "Partners like you register their businesses on our platform, and we promote them to local customers. We facilitate the booking process from start to finish.",
      "customersTitle": "Customers",
      "customersDesc": "Local people in your area looking for trusted professionals to solve real problems.",
      "partnersTitle": "Partners",
      "partnersDesc": "Verified businesses ready to deliver high-quality services and products."
    },
    "demand": {
      "heading": "Responding to Demand",
      "intro": "As a Beedy partner, you gain immediate access to a wide range of tools, products, and services designed to help you build a solid foundation and excel in the areas that matter most.",
      "item1Title": "Visibility",
      "item1Desc": "On Beedy, local customers can discover your services and products in just a few clicks. We help you improve your position in the search results of the customers who matter most to your business.",
      "item2Title": "Conversion",
      "item2Desc": "A good ranking in search results is important, but your ultimate goal is to secure bookings. Our platform provides a smooth and secure booking experience that encourages customers to return."
    },
    "succeed": {
      "heading": "Helping You Succeed",
      "intro": "At Beedy, we go above and beyond to contribute to the success of your business. To provide you with industry-leading tools, market insights, and support, we focus on four key actions:",
      "item1Title": "Improve your results",
      "item1Desc": "We help enhance your performance by enabling you to make informed decisions that drive your growth on our platform.",
      "item2Title": "Communicate our added value",
      "item2Desc": "We believe in transparent sharing of our initiatives and investments, so you know what we're doing to secure the future of your business.",
      "item3Title": "Deepen our relationship",
      "item3Desc": "We strengthen our connection with you by adding depth and meaning to our partnership with each interaction.",
      "item4Title": "Support when you need it",
      "item4Desc": "We're here to assist you by equipping you with the tools and resources that will help your business thrive."
    },
    "promise": {
      "heading": "Our Promise",
      "tagline": "Our mission is to make acquiring a local service or product accessible to everyone, quickly and without worry — and we can only achieve this with your help."
    },
    "before": {
      "heading": "Before proceeding further",
      "body": "We're excited to start this journey with you! Before proceeding, please ensure that your registration is complete. If it is, great! If not, you can finish your registration in just 15 minutes.",
      "tip": "Is your business already listed on another website? To speed up the process when registering, you can import content (e.g. photos) from your other listings."
    },
    "cta": {
      "registerMyBusiness": "Register my business"
    },
    "faq": {
      "heading": "Frequently Asked Questions (FAQ)",
      "q1": "What happens if a customer decides to cancel their reservation?",
      "a1": "Beedy applies a clear cancellation policy. Depending on the timing and the conditions you set on your business page, you may be entitled to compensation. Our support team handles disputes for you.",
      "q2": "Is registering on Beedy free?",
      "a2": "Yes, creating your business page is free. We only take a small commission on completed transactions.",
      "q3": "How quickly will I receive customer requests?",
      "a3": "Most partners receive their first qualified request within days of completing their business page.",
      "moreQuestions": "Have more questions? Ask us in the chat or contact our support team."
    },
    "nextStep": {
      "heading": "Set up your business page",
      "body": "Before you can start accepting reservations on our platform, you need to set up your business page and ensure all necessary information has been provided.",
      "cta": "Go to the next step"
    },
    "contact": {
      "heading": "Send us an email",
      "subtitle": "Feel free to write",
      "kicker": "Send us an email",
      "firstNameLabel": "First name",
      "firstNamePlaceholder": "First name",
      "lastNameLabel": "Last name",
      "lastNamePlaceholder": "Last name",
      "emailLabel": "Email",
      "emailPlaceholder": "Email",
      "phoneLabel": "Phone",
      "phonePlaceholder": "Phone",
      "messageLabel": "Message",
      "messagePlaceholder": "Message",
      "submit": "Send message",
      "submitted": "Thanks — your message has been sent.",
      "submittedDesc": "Our team will get back to you shortly.",
      "error": "Couldn't send your message. Please try again.",
      "needHelpHeading": "Get in touch with us",
      "needHelpKicker": "Need any help?",
      "methodPhoneLabel": "Have any question?",
      "methodPhoneValue": "Free +(33) 48 88 49 49",
      "methodEmailLabel": "Write email",
      "methodEmailValue": "support@beedy.app",
      "methodChatLabel": "Write to the support chat",
      "methodChatValue": "Click on the chat icon at the bottom right of the screen to start.",
      "methodLocationLabel": "Visit anytime",
      "methodLocationValue": "12 avenue Charles de Gaulle, Paris 12, 77515 France"
    },
    "guides": {
      "heading": "Guides to help you grow",
      "guide1Title": "Find the best offer at the best price.",
      "guide1Desc": "Publish your needs, receive the best proposals through our digital call for tenders, and collaborate with qualified local services at the best price.",
      "guide1Cta": "Learn more",
      "guide2Title": "Legal service available 24/7 to anticipate any incident and ensure continuous protection.",
      "guide2Desc": "We've developed a dedicated legal service to provide you with complete peace of mind at every stage of your purchasing experience.",
      "guide2Cta": "Learn more"
    }
  },
  "proOnboarding": {
    "stepperLabel": "Onboarding progress",
    "step1": "Discover Beedy.app",
    "step2": "Set up your business page",
    "step3": "Optimize Your Business Page",
    "step4": "Communicating with Customers",
    "step5": "Manage Customer Operations"
  },
  "proOpt": {
    "stepperLabel": "Onboarding progress",
    "step1": "Discover Beedy.app",
    "step2": "Set up your business page",
    "step3": "Optimize Your Business Page",
    "step4": "Communicating with Customers",
    "step5": "Manage Customer Operations",
    "heroTitle": "Optimize Your Business Page",
    "heroDesc": "Discover the tools that can set your accommodation apart from others, boost your bookings, and increase your revenue.",
    "tocReview": "Regularly review and update the key elements of your accommodation page.",
    "tocPayment": "Enjoy peace of mind with a seamless payment experience.",
    "tocPricing": "Carefully consider your pricing plans.",
    "tocPromotions": "Regularly review and update the key elements of your accommodation page.",
    "s1Title": "Regularly review and update the key elements of your accommodation page.",
    "s1Para1": "Welcome to the next stage of your onboarding, where we'll provide more information on optimizing your local service or business page. We'll also explore different ways to enhance this page to maximize your visibility on Beedy.",
    "s1Para2": "If your business hasn't gone live yet, please follow the steps outlined in your extranet to open it for bookings, and then return to this page.",
    "s1Para3": "Would you like to pick up where you left off with your registration?",
    "qualityTitle": "Stand out through the quality of your accommodation page.",
    "qualityIntro": "Once your accommodation is open for bookings, don't overlook its page. Based on what you see in the market or the goals you set, we recommend regularly updating your accommodation page to ensure it always reflects what you offer to your customers.",
    "quality1Title": "Add at least 5 photos and keep them up to date",
    "quality1Body": "We recommend uploading at least 5 photos showcasing your accommodation (both exterior and interior). Additionally, we advise adding photos of each bookable accommodation option for customers.",
    "quality2Title": "Show what makes your accommodation unique",
    "quality2Body": "Amenities and special features, including proximity to major attractions, play a key role in customers' booking decisions. Ensuring that these are clearly listed helps you stand out.",
    "s2Title": "Enjoy peace of mind with a seamless payment experience.",
    "s2Para1": "With Beedy Payments, you can offer a wide range of trusted payment options to customers worldwide.",
    "s2Para2": "We will cover this topic in greater detail in a later stage of your onboarding. However, it's important to note that Beedy attracts customers from around the globe. Therefore, it is essential to accept all familiar payment systems, allowing guests to easily book and enjoy your accommodation.",
    "s2Para3": "You can also manage payments independently. For example, you may choose to accept cash payments in your local currency or credit card payments. Keep in mind that payments managed on your own are not guaranteed, and you are responsible for collecting all due payments from your customers, including fees and prepayments.",
    "s3Title": "Carefully consider your pricing plans.",
    "s3Intro": "Flexibility and competitive pricing are two of the most popular search criteria on Beedy. This is why your pricing plans are so important. They can help you offer the flexibility and pricing options that travelers are looking for.",
    "plan1Label": "Extra flexible",
    "plan1Body": "rates are the most booked on our platform. Customers are often willing to pay a bit more for the option to adjust their plans, but keep in mind that this can also lead to more cancellations.",
    "plan2Label": "Non-refundable",
    "plan2Body": "pricing plans are generally cheaper than extra flexible ones. While you may earn slightly less on each booking, the reservations you receive are guaranteed.",
    "s3Closing1": "By offering a combination of extra flexible and non-refundable pricing plans, you can increase your bookings and attract more customers, as their needs vary.",
    "s3Closing2": "We recommend carefully considering your pricing plan options and selecting the ones that align with your goals. You can even create a custom pricing plan by combining these elements:",
    "s4Title": "Regularly review and update the key elements of your accommodation page.",
    "s4Para1": "If you're a new partner with Beedy, you can also take advantage of the New Accommodation Offer to boost your visibility on the platform. This special offer allows you to give your customers a 20% discount on their booking, making your accommodation more appealing compared to others. This offer is available for the first 90 days of our partnership or once you've received 3 bookings.",
    "s4Para2": "Offers and discounts can be powerful tools to attract customers. They can be customized specifically for your business. Here are some effective offers or discounts you can implement:",
    "s4Sub1Title": "Stand out through the quality of your accommodation page.",
    "s4Sub1Body": "A well-designed, complete, and attractive page captures the attention of potential customers and reassures them about the quality of your service. By providing clear descriptions, high-quality photos, and detailed information about your services and amenities, you enhance your visibility and increase your chances of receiving bookings. Ensure that your page reflects the best of what you offer to attract more customers and differentiate yourself from the competition.",
    "s4Sub2Title": "Create loyalty promotion",
    "s4Sub2Body": "Special offers, such as temporary discounts or exclusive perks, encourage customers to choose your services. Whether you're looking to fill available slots, promote a launch, or build customer loyalty, promotions help you stand out and increase your visibility on the platform. Take advantage of Beedy's tools to create customized promotions that align with your goals and meet the expectations of your clientele.",
    "s4Para3": "By using promotions and offers on Beedy, you can effectively target potential customers and encourage them to book your accommodation. For example, you can offer a discount on a specific pricing plan or accommodation type, or set up a special rate for a specific period.",
    "faqTitle": "Frequently Asked Questions (FAQ)",
    "faq1Q": "What happens if a customer decides to cancel their reservation?",
    "faq1A": "Cancellation handling depends on the pricing plan associated with the booking. Extra flexible plans allow free cancellation up to the deadline you set, while non-refundable plans guarantee your earnings even if the customer cancels.",
    "faq2Q": "How can I update my pricing plans?",
    "faq2A": "You can manage your pricing plans at any time from your extranet under the Pricing section. Changes take effect within minutes for new bookings.",
    "faq3Q": "How do promotions affect my visibility on Beedy?",
    "faq3A": "Active promotions boost your placement in search results and badge your listing as discounted, which significantly increases click-through and booking rates.",
    "faqHelpPrefix": "Have more questions? Ask us in the chat or contact our support team.",
    "faqHelpCta": "Contact support",
    "cta": "Continue my registration"
  },
  "proDiscover": {
    "heroTitle": "Discover Beedy.app",
    "heroDesc": "Discover how the local services and products marketplace can add value to your business.",
    "tocDiscover": "Discover Beedy.app",
    "tocMarketplace": "Our marketplace has a global perspective.",
    "tocDemand": "Responding to Demand",
    "tocSucceed": "Helping You Succeed",
    "tocBeforeFurther": "Before proceeding further",
    "tocFaq": "Frequently Asked Questions (FAQ)",
    "welcomeIntro": "Welcome to Beedy! Have you just become a partner? We'll introduce you to our local marketplace and cover some key concepts to help you kick-start your business on our platform. Let the adventure begin!",
    "s1Title": "Discover Beedy.app",
    "s1Para1": "Beedy was created with the mission of making local services and products accessible to everyone. We connect thousands of local providers with their customers, making it easy to access a wide range of services and products in your community.",
    "s1Para2": "As a partner provider, your peace of mind is our priority. We offer a comprehensive range of products and services to help you manage your business professionally and make informed decisions, so you can deliver the best service to your customers.",
    "s2Title": "Our marketplace has a global perspective.",
    "s2Intro": "At Beedy, we've built a local marketplace that connects the demand from customers in your community with the supply offered by partners like you. While we also offer various services, here's how our platform works for booking local services.",
    "requestTitle": "Request",
    "requestBody": "Customers are individuals who search for and book quality services and products in stores like yours, listed on Beedy.app. As a partner, you gain access to a customer base within your local environment.",
    "offerTitle": "Offer",
    "offerBody": "Partners like you register their businesses on our platform, and we promote them to local customers. We facilitate the booking process from start to finish.",
    "s3Title": "Responding to Demand",
    "s3Para1": "As a Beedy partner, you gain immediate access to a wide range of tools, products, and services designed to help you establish a solid foundation and excel in the areas that matter most to you.",
    "s3Para2": "You will discover these features as you go through your onboarding journey with us. To start, let's break it down simply by focusing on two key areas where Beedy provides real added value:",
    "demand1Label": "Visibility",
    "demand1Body": "On Beedy, local customers can discover your services and products in just a few clicks. We help you identify opportunities to improve your position in the search results of the customers who matter most to you and your business.",
    "demand2Label": "Conversion",
    "demand2Body": "A good ranking in search results is important, but your ultimate goal is to secure bookings for your business. Our platform provides a smooth and secure booking experience, encouraging customers to return to your business, helping you gain more reservations.",
    "s4Title": "Helping You Succeed",
    "s4Para1": "At Beedy, we go above and beyond to contribute to the success of your business. To provide you with industry-leading tools, products, market insights, and support, we are committed to continuously improving our platform.",
    "s4Para2": "Our goal is to bring you customers you might not have reached otherwise, simplify your operations, and provide data and marketing tools to grow your business. To make a positive impact on our partners, we focus on four key actions:",
    "help1Title": "Improve Your Results",
    "help1Body": "We will help enhance your performance by enabling you to make informed decisions that drive your growth on our platform.",
    "help2Title": "Communicate About Our Added Value",
    "help2Body": "We believe in transparent sharing of our initiatives and investments with you, so you know what we are doing to secure the future of your business on our platform.",
    "help3Title": "Deepen Your Relationship",
    "help3Body": "We aim to strengthen our connection with you by adding depth and meaning to our partnership with each interaction.",
    "help4Title": "Provide You with Support",
    "help4Body": "We are here to assist you by equipping you with tools and resources that will help your business thrive.",
    "promiseTitle": "Our Promise",
    "promiseBody": "Our mission is to make acquiring a local service or product accessible to everyone, quickly and without worry, and we can only achieve this with your help.",
    "s5Title": "Before proceeding further",
    "s5Para1": "We are excited to start this journey with you! Before proceeding, please ensure that your registration is complete. If it is, that's great! If not, you can finish your registration in just 15 minutes.",
    "tipBody": "Is your business already listed on another website? To speed up the process, when registering your business, you can import content (e.g., photos) from your other listings.",
    "registerCta": "Register My Business",
    "faqTitle": "Frequently Asked Questions (FAQ)",
    "faq1Q": "What happens if a customer decides to cancel their reservation?",
    "faq1A": "Cancellation handling depends on the pricing plan associated with the booking. Extra flexible plans allow free cancellation up to the deadline you set, while non-refundable plans guarantee your earnings even if the customer cancels.",
    "faq2Q": "How do I get my first bookings on Beedy?",
    "faq2A": "Once your business page is live and optimized with photos, descriptions and pricing, customers in your area can find and book you. New partners are also eligible for the New Partner boost, which highlights your listing for the first 90 days.",
    "faq3Q": "How long does the registration process take?",
    "faq3A": "On average, registering your business on Beedy takes about 15 minutes. You can save your progress and continue later at any time.",
    "faqHelpPrefix": "Have more questions? Ask us in the chat or contact our support team.",
    "faqHelpCta": "Contact support",
    "nextStepTitle": "Set up your business page",
    "nextStepBody": "Before you can start accepting reservations on our platform, you need to set up your business page and ensure all necessary information has been provided.",
    "nextStepCta": "Go to the next step"
  },
  "proSetup": {
    "heroTitle": "Set up your business page",
    "heroDesc": "Before you can start accepting reservations on our platform, you need to set up your business page and ensure all necessary information has been provided.",
    "tocChecklist": "Complete the checklist for your business page validation.",
    "tocPayments": "Simplify payments with Beedy Payments.",
    "tocFinal": "Complete the final tasks before opening",
    "tocOpen": "Open Your Business for Booking",
    "tocBeforeMoving": "Before moving forward...",
    "tocFaq": "Frequently Asked Questions (FAQ)",
    "welcomeIntro": "Whether you're completing your registration or doing a final review before opening your business for bookings, here's everything you need to know about your business page. Want to pick up where you left off with your registration?",
    "s1Title": "Complete the checklist for your business page validation.",
    "s1Intro": "Before going live with your business page, ensure you provide useful information to potential customers, as well as all the necessary details to accept and manage bookings — refer to this checklist during the registration process:",
    "cl1Title": "Name and Location",
    "cl1Body": "Even though it's just a few words, choosing a relevant name for your business is important, as it will be how it's listed on our platform. Give it a unique name and avoid abbreviations, symbols, and emojis. Choose a short, informative name with standard spelling. By specifying your location, for example, 'Family Chalet, Lake Tahoe,' you provide travelers with useful information and help them book exactly what they're looking for.",
    "cl2Title": "Business Information",
    "cl2Body": "Outline the layout of your establishment by listing the different types of accommodations you offer, specifying their occupancy and bed configurations. Be sure to include available amenities — as these can influence the booking decisions of potential customers.",
    "cl3Title": "Service and Product Details",
    "cl3Body": "By listing the services you offer (e.g., home delivery, maintenance, consultations, etc.), you make it easier for customers to find you through filters and help them book what they're looking for. We also recommend providing important information so that customers can make informed decisions when choosing your services.",
    "cl4Title": "Establishment Photos",
    "cl4Body": "Photos are essential as they help customers decide whether to book. Upload at least 5 photos to make your business stand out from the competition. Show images of your storefront, interiors, and any available equipment or services. Clear and attractive images will increase your chances of attracting new customers.",
    "s2Title": "Simplify payments with Beedy Payments.",
    "s2Para1": "Depending on your business location, you may be eligible for the Beedy Payments service, which can be set up during the registration process. This service simplifies online payments for your clients, ensuring secure transfers to your bank account for all transactions, in accordance with the booking terms set for your business.",
    "s2Para2": "The time it takes to receive payments via bank transfer depends on your business location. To activate client payments, we are legally required to verify the location of your establishment and request specific information, such as your tax details.",
    "paymentsSubTitle": "Client Payment Methods Setup",
    "paymentsSubBody": "You can join the Beedy Payments service during the registration process. If you wish to set up additional payment options for clients, such as credit card payments or cash on site, you can do so after registration through the Accounting tab in the extranet.",
    "paymentsCta": "Set Up Payments",
    "s3Title": "Complete the final tasks before opening",
    "ft1Title": "Sending the \"Know Your Partner\" form",
    "ft1Body": "In accordance with current laws and regulations, all our partner businesses are required to complete the \"Know Your Partner\" form. If you wish to make any modifications after submitting the form, you will need to contact Customer Service, who will reopen the form so you can make the necessary changes.",
    "ft2Title": "Submitting the \"Know Your Partner\" form",
    "ft2Body": "For customers who have chosen Beedy Payments, we may ask you to verify your business location in accordance with applicable laws and for reasons of convenience and security. Depending on your business location and other factors, you may receive a letter or a call from us, or even be required to upload a video of your establishment to complete this verification process.",
    "s4Title": "Open Your Business for Booking",
    "s4Para1": "Once you've set up your business page and provided the necessary information, we'll ask you to preview how your page will appear on our platform. Review the details for accuracy and make any necessary changes.",
    "s4Para2": "When your business page is ready, a banner will appear on the homepage of the extranet with a 'Put My Business Online' button. Click this button to change your business status to 'Open/Bookable' so you can start receiving bookings.",
    "tipBody": "Is your business already listed on another website? To speed up the process, when registering your business, you can import content (e.g., photos) from your other listings.",
    "registerCta": "Register My Business",
    "s5Title": "Before moving forward...",
    "s5Para1": "Before proceeding to the next step, please ensure that your business page is up to date, the location is verified, and it is open for bookings on Beedy.app.",
    "faqTitle": "Frequently Asked Questions (FAQ)",
    "faq1Q": "What happens if a customer decides to cancel their reservation?",
    "faq1A": "Cancellation handling depends on the pricing plan associated with the booking. Flexible plans allow free cancellation up to the deadline you set, while non-refundable plans guarantee your earnings even if the customer cancels.",
    "faq2Q": "How many photos should I upload?",
    "faq2A": "We recommend at least 5 high-quality photos covering your storefront, interiors and any equipment or services you offer. Listings with 5+ photos receive significantly more bookings than those with fewer.",
    "faq3Q": "When can I start accepting bookings?",
    "faq3A": "Once your page passes validation, you'll see a 'Put My Business Online' banner on the extranet homepage. Clicking it switches your status to Open/Bookable and bookings start flowing in.",
    "faqHelpPrefix": "Have more questions? Ask us in the chat or contact our support team.",
    "faqHelpCta": "Contact support",
    "nextStepTitle": "Optimize Your Business Page",
    "nextStepBody": "Discover the tools that can set your business apart from the competition, boost your bookings, and increase your revenue.",
    "nextStepCta": "Go to the next step"
  },
  "proCommunication": {
    "heroTitle": "Communicating with Customers",
    "heroDesc": "To ensure an excellent customer experience for travelers staying at your accommodation, you can use various communication tools — from the time of booking until their departure.",
    "tocContact": "Contact Your Customers",
    "tocTools": "Communication Tools",
    "tocAutomated": "Automated Responses",
    "tocFaq": "Frequently Asked Questions (FAQ)",
    "welcomeIntro": "Congratulations, you've received your first bookings on Beedy! This is an important milestone. To offer a seamless and successful customer experience, we recommend preparing your communication tools and channels in advance. Taking the time to set up effective communication can lead to positive customer reviews and build a loyal clientele.",
    "s1Title": "Contact Your Customers",
    "s1Para1": "Your customers' journey begins long before they actually use your services. By utilizing the right communication tools before, during, and after the service, you can ensure that your customers have all the information they need and feel confident in their decision.",
    "s1Para2": "Proactively responding to messages also helps build a positive relationship with your customers, reducing the risk of cancellations and contributing to excellent reviews and feedback.",
    "s2Title": "Communication Tools",
    "s2Intro": "Effective communication is essential to providing excellent service and creating memorable experiences for your customers. By using the communication tools available to you, you can easily manage and respond to customer messages, address questions, and provide helpful information.",
    "tool1Label": "Reservation Messages",
    "tool1Body": "On this page, you can view and respond to messages from customers who have upcoming bookings at your accommodation. If you want to reach out to your customers and provide them with all the necessary information before their arrival, this is the place to do it.",
    "tool2Label": "Beedy.app Messages",
    "tool2Body": "On this page, you can view all the messages we send you regarding your accommodation, account, or our partnership, and respond to them. We want to keep you informed, so be sure to check this section regularly.",
    "tool3Label": "Customer Questions",
    "tool3Body": "On this page, you can respond to potential customers’ inquiries about your accommodation. Your answers will be publicly displayed on your accommodation page, so make sure to provide helpful and comprehensive responses to these questions.",
    "s3Title": "Automated Responses",
    "s3Intro": "You can also set up automated responses for frequently asked questions, such as those related to check-in and check-out times, or parking. At Beedy, we categorize automated responses into two groups.",
    "auto1Label": "Responses to Questions About Applicable Booking Conditions",
    "auto1Body": "The automated response to these inquiries typically involves confirming the request. For example, if a customer asks, \"Can I use the kitchen appliances?\" you can set up an automated response stating, \"Customers are welcome to use all amenities in the accommodation, including kitchen appliances.\"",
    "auto2Label": "Responses to Inquiries Not Related to Applicable Booking Conditions",
    "auto2Body": "The automated responses to these inquiries typically involve declining the request. These automated responses can be paired with message templates that include additional explanations, such as \"Unfortunately, we do not allow pets in the accommodations.\"",
    "s3Closing1": "While automated message templates can save you time, it's important to remember that customers appreciate more personal interactions. Taking the time to respond personally to the messages you receive can help you build strong relationships with your clientele and lead to better customer reviews.",
    "s3Closing2": "Congratulations on reaching this stage of your onboarding! Before moving on to the next step, we'd like to summarize some best communication practices that could be helpful for you.",
    "tip1Title": "Consistency is key",
    "tip1Body": "When communicating with customers, it's important to be well-prepared and consistent. Effective communication is a crucial factor in providing an exceptional customer experience, and it often starts even before guests arrive at your accommodation.",
    "tip2Title": "Utilize message templates and automation whenever possible",
    "tip2Body": "Message templates can help streamline your communication and reduce your workload. They can also provide peace of mind to customers staying at your accommodation.",
    "tip3Title": "Monitor your response score",
    "tip3Body": "Generally, responding quickly to customers is beneficial for everyone. However, it's important to ensure that your unique identity and sense of hospitality shine through when using automation or responding promptly to messages.",
    "faqTitle": "Frequently Asked Questions (FAQ)",
    "faq1Q": "How quickly should I respond to customer messages?",
    "faq1A": "We recommend responding within 24 hours. Faster replies (within a couple of hours) significantly improve booking conversion and your response score in search results.",
    "faq2Q": "Can I customize automated responses?",
    "faq2A": "Yes — automated responses are fully customizable. You can write your own templates or adapt Beedy's suggested templates to match your tone and policies.",
    "faq3Q": "Where do customers see my replies?",
    "faq3A": "Replies to reservation messages and Beedy.app messages are private (only visible to the relevant customer). Answers to public Customer Questions are displayed on your accommodation page for everyone to see.",
    "faqHelpPrefix": "Have more questions? Ask us in the chat or contact our support team.",
    "faqHelpCta": "Contact support",
    "cta": "Continue my registration",
    "nextStepTitle": "Managing Customer Operations",
    "nextStepBody": "Discover how to manage all customer-related operations, such as payments, cancellations, and setting conditions, with confidence and ease.",
    "nextStepCta": "Proceed to the next step"
  },
  "proOperations": {
    "heroTitle": "Manage Customer Operations",
    "heroDesc": "Discover how to confidently and calmly manage all customer-related operations, such as payments, cancellations, and setting conditions.",
    "tocPayment": "Choose a Customer Payment Method",
    "tocCancellations": "Managing Cancellations and No-Shows",
    "tocSecurityDeposit": "Security Deposit and Prepayment Conditions",
    "tocFaq": "Frequently Asked Questions (FAQ)",
    "welcomeIntro": "This section outlines the payment options available on our platform, as well as the essential conditions that allow you to maintain control over your bookings. It also addresses cancellations and no-shows, providing tips to minimize their impact. With these insights, you will be able to manage customer-related operations with confidence and ease.",
    "s1Title": "Choose a Customer Payment Method",
    "s1Intro": "When a customer books a stay at your accommodation, you have the option to offer them various payment methods, such as online payment, on-site payment, or both. How your customers pay you depends on the payment options and conditions you set up during registration. You can find these in the Accounting tab of your extranet.",
    "beedyPaymentsTitle": "Beedy Payments",
    "beedyPaymentsPara1": "Depending on your business location, you may be eligible for the Beedy Payments service. With this service, we manage all customer payments for you. You receive guaranteed bank transfers for all your bookings, in accordance with the conditions set for your business.",
    "beedyPaymentsPara2": "The time it takes to receive bank transfers may vary based on your business location. Please note that payments may be temporarily suspended until your location is verified and your tax information is provided.",
    "benefit1Title": "More Payment Options for Your Customers",
    "benefit1Body": "It is easier for travelers from all countries to book your accommodation — we partner with payment providers worldwide.",
    "benefit2Title": "Fewer Cancellations",
    "benefit2Body": "People who opt for online payment at the time of booking are less likely to cancel their stay compared to those who choose to pay on site.",
    "benefit3Title": "Secure Card Handling and Fraud Protection",
    "benefit3Body": "We securely manage all aspects of the payment process on your behalf, including issues related to invalid credit cards, payment disputes, and fraudulent bookings.",
    "independentTitle": "Manage Customer Payments Independently",
    "independentPara1": "If you prefer to manage your customers' payments independently or if you are not yet eligible for Beedy Payments, you will be responsible for all aspects of the payment process, including any associated fees.",
    "independentCreditCardTitle": "If you accept credit cards,",
    "independentCreditCardBody": "you can charge customers before their arrival, upon arrival, or at departure, depending on the terms of their booking.",
    "independentNoCardTitle": "If you do not accept credit cards, customers can pay in your local currency upon arrival or departure.",
    "independentNoCardBody": "If you wish to request a prepayment or a security deposit, you will need to contact the customer to agree on a payment timeline and handle that payment yourself.",
    "s2Title": "Managing Cancellations and No-Shows",
    "s2Para1": "When a customer cancels a booking, your cancellation policies will determine whether they need to pay any cancellation fees. By offering free cancellation options, you can attract more travelers, but it's important to minimize the impact of cancellations and no-shows on your business.",
    "s2Para2": "If you decide to waive the fees for a no-show, we will ask that you mark the reservation as a no-show within 48 hours of the scheduled departure date. This simple step will prevent you from having to pay the commission for that booking.",
    "bestPracticesTitle": "Best Practices for Cancellations and No-Shows",
    "bestPracticesIntro": "There are several conditions and practices you can implement to reduce the impact of cancellations and no-shows on your business. Here are some best practices recommended by Beedy.",
    "bp1Title": "Review Your Conditions and Rates",
    "bp1Body": "You may consider making your cancellation policies stricter during certain periods when cancellations are more frequent. Alternatively, you could offer attractive rates to attract new customers at the last minute.",
    "bp2Title": "Diversify Your Pricing Plans",
    "bp2Body": "Set up different pricing plans in the extranet, combining flexible options with non-refundable rates and plans for early bookings. By offering more choices to your potential customers, you can secure more bookings and reduce cancellations, while ensuring revenue through non-refundable rates.",
    "s3Title": "Security Deposit and Prepayment Conditions",
    "s3Para1": "Establishing conditions related to security deposits and prepayments can help you strike a balance between protecting your interests and providing the flexibility your customers seek. These conditions inform customers whether they need to make a payment before their stay and the date they will be charged.",
    "s3Para2": "Unexpected situations can arise that prevent a traveler from honoring their reservation. In such cases, being flexible can contribute to a more positive customer experience and lead to more favorable feedback.",
    "reportTitle": "How to Report Inappropriate Customer Behavior?",
    "reportPara1": "In the unlikely event of a negative experience with a customer, we are here to help. You can report any incident to Beedy through the extranet or the Pulse app by using the 'Report Inappropriate Customer Behavior' feature.",
    "reportPara2": "All reports must correspond to one of the scenarios provided in the reporting tool and must be submitted within a timeframe ranging from the customer's arrival date to 7 days after their departure.",
    "faqTitle": "Frequently Asked Questions (FAQ)",
    "faq1Q": "When will I receive payments via Beedy Payments?",
    "faq1A": "Bank transfer timing depends on your business location and the conditions set for your account. In most cases, payments arrive within a few business days after the booking is completed.",
    "faq2Q": "Can I change my cancellation policy after my page is live?",
    "faq2A": "Yes — you can update cancellation policies anytime from the extranet. Changes apply to new bookings only; existing reservations keep the policy that was active at booking time.",
    "faq3Q": "What if a customer doesn't show up at all?",
    "faq3A": "Mark the reservation as 'no-show' in the extranet within 48 hours of the scheduled departure. This prevents Beedy from charging commission and triggers any no-show fees defined in your cancellation policy.",
    "faqHelpPrefix": "Have more questions? Ask us in the chat or contact our support team.",
    "faqHelpCta": "Contact support",
    "finalCtaTitle": "Sign up and start promoting your offers to your local customers today!",
    "finalCtaDesc": "You've completed the partner onboarding journey. Register your business now and start receiving bookings from customers in your community.",
    "finalCtaButton": "Register My Business"
  },
  "privacy": {
    "eyebrow": "Privacy Policy",
    "heroTitle": "Your privacy, our priority.",
    "heroDesc": "This policy explains what personal information Beedy collects, why, with whom we share it, how long we keep it, and the choices you have under the Florida Information Protection Act (FIPA, Fla. Stat. § 501.171), the Florida Digital Bill of Rights (Fla. Stat. § 501.701 et seq.), and the federal Children's Online Privacy Protection Act (COPPA). California, Colorado, Virginia, and similar state-privacy rights are honored where applicable.",
    "lastUpdated": "Last updated: 27 July 2026",
    "tocOverview": "1. Overview & Data Controller",
    "tocCollected": "2. Information We Collect & Sources",
    "tocUsage": "3. How We Use Your Information & Legal Bases",
    "tocSharing": "4. Sharing, Third Parties & International Transfers",
    "tocAi": "5. AI Features & Automated Decisions",
    "tocRetention": "6. How Long We Keep Your Data",
    "tocRights": "7. Your Rights & How to Exercise Them",
    "tocChildren": "8. Children's Privacy",
    "tocSecurity": "9. Data Security & Breach Notification",
    "tocCookies": "10. Cookies",
    "tocChanges": "11. Changes to This Policy",
    "tocContact": "12. Contact Us & Supervisory Authority",
    "tocFaq": "Frequently Asked Questions (FAQ)",
    "s1Title": "1. Overview & Data Controller",
    "s1Para1": "At Beedy, we believe privacy is a fundamental right. This policy explains how we collect, use, share, and protect your personal information when you use beedy.app (the \"Platform\"), the marketplace operated by Beedy, LLC It is written in plain language while satisfying the disclosure requirements of the California Consumer Privacy Act / California Privacy Rights Act (CCPA/CPRA), the Florida Digital Bill of Rights (FDBR, Fla. Stat. § 501.701 et seq.), the Virginia Consumer Data Protection Act (VCDPA), the Colorado Privacy Act (CPA), the Connecticut Data Privacy Act (CTDPA), the Utah Consumer Privacy Act (UCPA), the Texas Data Privacy and Security Act (TDPSA), the federal Children's Online Privacy Protection Act (COPPA), and FTC Act §5.",
    "s1Para2": "If anything is unclear, contact our privacy team at privacy@beedy.app. You have the right at any time to receive a clear explanation of how we use your information, to exercise the rights listed in Section 7, and to file a complaint with your state Attorney General or the Federal Trade Commission.",
    "s1ControllerTitle": "Who's responsible for your data",
    "s1ControllerBody": "Beedy, LLC is a Delaware limited liability company (Delaware file no. 10637738) operating the beedy.app platform, with registered office at 131 Continental Dr Suite 305, Newark, DE 19713, USA and headquartered in Miami, Florida. For US users, Beedy is the \"Business\" within the meaning of CCPA/CPRA §1798.140(d) and the \"Controller\" within the meaning of the Florida Digital Bill of Rights and equivalent state laws. Privacy contact: privacy@beedy.app. To exercise the rights described in Section 7, write to privacy@beedy.app or submit a request via /privacy-choices. International transfer notice: your personal information will be processed primarily in the United States (primary cloud hosting); EU/EEA users' data transferred to the U.S. is protected under the EU-U.S. Data Privacy Framework or Standard Contractual Clauses — see Section 4 for transfer safeguards.",
    "s2Title": "2. Information We Collect & Sources",
    "s2Intro": "We only collect the information needed to operate the Platform, secure accounts, comply with legal obligations, and improve the service. The categories below capture what we process; the next section explains the legal bases.",
    "data1Title": "Identity & contact",
    "data1Body": "Your name, email address, phone number, and — for pros — business name, EIN or sole-proprietor tax ID, professional license references (e.g., DBPR / CILB number for Florida contractors), and identity-verification documents. Pros operating as sole proprietors are individual consumers under FIPA for the personal portion of this data.",
    "data2Title": "Service usage",
    "data2Body": "Bookings you make or receive, messages exchanged with the other party in a Booking, reviews, ratings, search and browsing history within the Platform, and metadata about your platform activity (timestamps, device fingerprint for fraud prevention).",
    "data3Title": "Payment data",
    "data3Body": "Card details tokenized by Stripe — Beedy never stores raw card numbers; billing address, transaction history, and chargeback / dispute records. For tax-invoice and anti-fraud purposes we retain transaction metadata for the period required by IRS, Florida Department of Revenue (Form DR-15 sales-tax records), and PCI DSS retention rules (see Section 6).",
    "data4Title": "Technical data",
    "data4Body": "Device, browser, IP address, language preference, approximate location derived from IP, analytics events, error logs. Where you grant explicit permission, precise geolocation. Technical data is used for security, fraud detection, accessibility, and product improvement (anonymised aggregate analytics).",
    "s2SourceTitle": "Where the data comes from",
    "s2SourceBody": "We receive most personal information directly from you (when you register, place a Booking, message a counterparty, or submit a review). For Pros: we may also receive verification data from public state business registries (Florida Sunbiz, DBPR license lookup) and from third-party verification providers (Checkr for background checks, Sterling for identity verification). Customers and Pros each receive the other party's contact and Booking details strictly to perform the service contract between them.",
    "s3Title": "3. How We Use Your Information",
    "s3Intro": "Each purpose below is paired with the underlying reason we process the data. We do not use your personal information for any purpose other than those disclosed here. We do not sell your personal information (Fla. Stat. § 501.715).",
    "legalBasisLabel": "Why",
    "usage1Title": "Run the Platform",
    "usage1Body": "Matching Customers with Pros, handling Bookings, processing payments, delivering customer support, sending transactional notifications related to your Bookings, and providing access to the features you signed up for.",
    "usage1Basis": "Required to perform the Beedy Terms of Service and the underlying Booking — you can't get the service you signed up for without us using this information.",
    "usage2Title": "Security & fraud prevention",
    "usage2Body": "Verifying identities, detecting suspicious activity, account-takeover prevention, chargeback fraud detection (in coordination with Stripe), abuse prevention, and protecting the rights, property, and safety of Beedy, our users, and third parties.",
    "usage2Basis": "Necessary to operate a safe marketplace under FDUTPA (Fla. Stat. § 501.204) and to meet anti-money-laundering and PCI DSS obligations tied to payment processing.",
    "usage3Title": "Product improvement & analytics",
    "usage3Body": "Anonymized or pseudonymized analytics to understand usage patterns, fix bugs, prioritize development, and measure feature performance. Where strictly necessary, we may process identifiable data to debug an issue you reported.",
    "usage3Basis": "Strictly-necessary analytics rely on our legitimate marketplace-operations interest; non-essential analytics cookies (PostHog beyond first-party usage stats, Microsoft Clarity heatmaps) fire only after you opt in via the cookies banner.",
    "usage4Title": "Communications & marketing",
    "usage4Body": "Onboarding tips, transactional notifications (always sent — required for the service), and marketing communications about new features, promotions, or related services.",
    "usage4Basis": "Marketing emails and SMS (Twilio) are sent only with your express prior opt-in consent (TCPA-compliant for SMS) and you can opt out at any time — reply STOP to any SMS, or use the unsubscribe link in every marketing email. Transactional notifications stay on as long as your account is active.",
    "s3LegalBasisNote": "You can object to any non-essential processing at any time by writing to privacy@beedy.app or via Settings → Security & privacy. We honor opt-outs within 15 business days (Florida Digital Bill of Rights timing).",
    "s4Title": "4. Sharing, Third Parties & International Transfers",
    "s4Para1": "We share your personal information only when strictly necessary, with documented categories of recipients: (i) the other party in a Booking (e.g., your Pro receives your service address; your Customer receives your Pro profile and contact details once a Booking is confirmed); (ii) our payment and infrastructure service providers (Stripe, TaxJar for sales-tax calculation, Twilio for SMS, Resend for email, Railway for hosting); (iii) AI service providers for limited assistive features (Section 5); (iv) legal, tax, and accounting advisors under confidentiality obligations; (v) law enforcement, regulatory authorities, or courts where a valid legal request is received.",
    "s4Para2": "We do not sell your personal information to advertisers or data brokers, and we do not engage in cross-context behavioral advertising — both within the meaning of the Florida Digital Bill of Rights (Fla. Stat. § 501.702(28) and (10)) and parallel laws in California (CCPA/CPRA), Colorado (CPA), Virginia (VCDPA), and other states. Period.",
    "s4Tip": "Curious which processors handle your data? Our public sub-processors page lists every vendor we work with, their function, and their location. We update the list as we onboard or offboard processors.",
    "s4TransferTitle": "Where your data is stored",
    "s4TransferIntro": "Beedy, LLC is based in Florida. Personal information is stored primarily in US-region cloud infrastructure (Railway, AWS us-east-1). Some service providers (e.g., OpenAI for assistive AI) process limited data in the United States only; others (Mapbox for map tile rendering, Sentry for error monitoring) may process pseudonymized technical telemetry across their global edge networks. Specific safeguards:",
    "transfer1": "Production data resides in US data centers covered by SOC 2 Type II and ISO 27001 attestations (or equivalent).",
    "transfer2": "Cross-border transfers — if a service provider replicates pseudonymized data outside the US — happen only under written data-processing agreements with confidentiality, security, and breach-notification obligations matching or exceeding US standards (NIST SP 800-53 controls).",
    "transfer3": "Sensitive personal information (per Fla. Stat. § 501.702(31)) — e.g., precise geolocation, government-issued ID numbers — is encrypted end-to-end and processed only inside US infrastructure.",
    "sAiTitle": "5. AI Features & Automated Decisions",
    "sAiPara1": "Beedy uses AI tools, including third-party large-language-model providers such as OpenAI (under a subprocessor agreement), for limited assistive features. These features are advisory — they help the operator or you make a decision, but they do not autonomously bind anyone or make decisions with legal effect on you.",
    "sAiPara2": "Personal data sent to AI subprocessors is transmitted over TLS 1.2+ encrypted connections via API. Under our contractual arrangement, AI providers do not train their models on Beedy User Content, and content is not retained beyond what is necessary to process the request. We monitor regulatory developments under the EU AI Act and U.S. federal and state AI guidance and update this policy as we deploy new AI features.",
    "sAiFeaturesTitle": "AI features in use",
    "aiUse1": "Photo analysis — assistive review of uploaded photos for content moderation (e.g., flagging clearly unsafe or non-compliant content). Final moderation decisions are reviewed by a human before suspension or removal.",
    "aiUse2": "Content moderation — assistive screening of reviews, messages, and listings for community-guideline violations. Outputs are advisory; enforcement decisions involve human review.",
    "aiUse3": "Category & price suggestion — for Pros, AI may suggest a service category or a price range based on similar Bookings. Suggestions are non-binding; the Pro sets the final terms.",
    "aiUse4": "Customer-support assistance — AI may suggest draft responses to support agents. Agents review and edit every response before it is sent to you.",
    "sAiArt22Title": "Automated decisions — your right to human review",
    "sAiArt22Body": "Beedy does NOT make solely-automated decisions that produce legal or similarly significant effects on you. Acceptance, refusal, or pricing of a Booking is decided by you or by a human Pro, with AI providing optional assistance only. You can request human review of any decision that materially affects you by writing to privacy@beedy.app — a right also expressly recognized under the Florida Digital Bill of Rights (Fla. Stat. § 501.705(3)(d)). For fraud-prevention scoring (which may temporarily flag a transaction), no automated final decision is taken — a human reviewer evaluates flagged transactions before suspension.",
    "sRetentionTitle": "6. How Long We Keep Your Data",
    "sRetentionIntro": "We keep personal information only for as long as needed for the purpose for which we collected it. Where law requires longer retention (e.g., IRS recordkeeping, Florida Department of Revenue sales-tax records), the longer period prevails.",
    "retain1Title": "Active account data",
    "retain1Body": "Identity, contact, and service-usage data are retained for as long as your account is active and for thirty (30) days thereafter, after which personal information is deleted or de-identified — except for the items below.",
    "retain2Title": "Invoices & tax records",
    "retain2Body": "Tax invoices, payment receipts, sales-tax filings (Form DR-15), and accounting records are retained for seven (7) years to satisfy the IRS recordkeeping rules under 26 CFR § 1.6001-1 and Florida Department of Revenue Rule 12A-1.0915.",
    "retain3Title": "Anti-fraud & dispute records",
    "retain3Body": "Records relating to identified or suspected fraud, Stripe chargebacks, and disputes are retained for five (5) years after the last related event to support PCI DSS investigation requirements and Florida's four-year statute of limitations on FDUTPA claims (Fla. Stat. § 95.11(3)(f)).",
    "retain4Title": "Consent & cookie preferences",
    "retain4Body": "Records of consent (for marketing, SMS opt-in under TCPA, cookies, terms acceptance) are retained for five (5) years as proof of opt-in. You may withdraw consent at any time; we keep the record of withdrawal for the same period.",
    "retain5Title": "Server logs & technical data",
    "retain5Body": "Security logs (IP, access timestamps): retained for twelve (12) months for security and incident investigation. Analytics events: pseudonymized after ninety (90) days; aggregated thereafter.",
    "s5Title": "7. Your Rights & How to Exercise Them",
    "s5Intro": "You stay in control of your personal information. Under the Florida Digital Bill of Rights (Fla. Stat. § 501.705) — and parallel rights under California (CCPA/CPRA), Colorado (CPA), Virginia (VCDPA), and other state privacy laws — you may exercise the following rights, free of charge unless requests are manifestly unfounded or excessive:",
    "right1Title": "Right to know / access",
    "right1Body": "Confirm whether we process your data and receive a copy of the data plus the information required by Fla. Stat. § 501.705(2)(a) (categories collected, purposes, recipients, retention). Up to two free copies per twelve-month period.",
    "right2Title": "Right to correct",
    "right2Body": "Correct inaccurate or incomplete personal information without undue delay.",
    "right3Title": "Right to delete",
    "right3Body": "Request deletion of your personal information. Exceptions: data we are legally required to keep (sales-tax records under FL DOR Rule 12A-1.0915, IRS recordkeeping, anti-fraud records), data needed to complete a pending transaction, and data needed to establish or defend a legal claim.",
    "right4Title": "Right to data portability",
    "right4Body": "Receive your data in a structured, commonly used, machine-readable format (e.g., JSON) and transmit it to another controller where technically feasible.",
    "right5Title": "Right to opt out",
    "right5Body": "Opt out of the sale of personal information (we don't sell, but you have the right to confirm that), targeted advertising, profiling that produces legal effects, and the processing of sensitive personal information. Opt-outs honored within 15 business days.",
    "right6Title": "Right to limit sensitive data use",
    "right6Body": "Limit our use of sensitive personal information (precise geolocation, government-issued ID, etc.) to what is strictly necessary to perform the service. Toggle in Settings → Security & privacy.",
    "right7Title": "Right against automated profiling",
    "right7Body": "Where automated processing has a legal or similarly significant effect, request human review (see Section 5 — Beedy does not make solely-automated significant decisions today).",
    "rightsCta": "Manage my account & data",
    "s5ExerciseTitle": "How to exercise your rights",
    "s5ExerciseBody": "Most rights can be exercised directly in Settings → Security & privacy, or by writing to privacy@beedy.app. We respond within forty-five (45) days of receipt (extendable by 45 days for complex requests, with prior notice — matching FL § 501.706). We may ask for proof of identity before acting on a request involving non-public data, to protect you from impersonation. There's no fee unless the request is manifestly unfounded, excessive, or repetitive.",
    "s5ComplaintTitle": "How to escalate",
    "s5ComplaintBody": "If you believe we mishandled your personal information, you can: (a) appeal our decision by writing to privacy@beedy.app — we respond within 60 days; (b) file a complaint with the Florida Attorney General (myfloridalegal.com/contact); or (c) file a complaint with the Federal Trade Commission (reportfraud.ftc.gov). For Children's data: COPPA complaints go directly to the FTC.",
    "sChildrenTitle": "8. Children's Privacy",
    "sChildrenPara1": "Beedy is not intended for persons under the age of eighteen (18). We do not knowingly collect personal information from children under thirteen (13) without verifiable parental consent, in compliance with the federal Children's Online Privacy Protection Act (COPPA, 15 U.S.C. § 6501 et seq. and 16 CFR Part 312). If we discover we have collected such information without proper consent, we will delete it without undue delay.",
    "sChildrenPara2": "Under Florida law, minors under 18 lack capacity to enter into binding contracts without a parent or guardian; the Florida Digital Bill of Rights adds extra protections for processing the personal information of known minors under 18 (no targeted advertising or sale, no profiling for significant decisions). We will not enter into a service contract with a known minor.",
    "sChildrenTip": "If you believe a minor has shared information with us without proper authorization, please contact privacy@beedy.app so we can investigate and delete the data without delay.",
    "s6Title": "9. Data Security & Breach Notification",
    "s6Para1": "We use industry-standard technical and organisational measures to protect your data, proportionate to the risk: encryption in transit (TLS 1.2+) and at rest (AES-256 for sensitive fields), role-based access controls with least-privilege defaults, multi-factor authentication for staff, audit logging, regular vulnerability assessments, and incident-response procedures.",
    "s6Para2": "Our infrastructure is hosted on cloud providers with SOC 2 Type II / ISO 27001 certification (or equivalent). We segregate production data from development environments. Access by Beedy staff is logged and limited to a documented business need.",
    "s6Para3": "No system is 100% impenetrable. We run a coordinated-disclosure program for security researchers — vulnerabilities should be reported to security@beedy.app with a 48-hour acknowledgement commitment, and we will not pursue good-faith research conducted within the program's scope.",
    "s6BreachTitle": "Breach notification commitment",
    "s6BreachBody": "If a personal-information breach is reasonably likely to result in identity theft or other financial harm, we will notify affected Florida residents and the Florida Department of Legal Affairs within thirty (30) days of confirming the breach, as required by FIPA (Fla. Stat. § 501.171(4) and § 501.171(3)). Residents of other states are notified per their applicable state breach-notification statute. We will also notify card brands per PCI DSS when payment-card data is involved.",
    "s7Title": "10. Cookies",
    "s7Para1": "We use cookies and similar storage technologies to keep you logged in, remember your preferences, secure sessions, and measure platform performance. Cookies fall into four categories: strictly necessary (always on), preferences, analytics, and marketing. The latter two require your explicit consent — managed via the cookies banner and the cookies policy page.",
    "cookiesCardTitle": "Manage your cookie preferences",
    "cookiesCardBody": "Review the full cookie inventory (purpose, lifetime, provider, transfer mechanism) and update your choices at any time. Strictly necessary cookies cannot be disabled — turning them off would prevent the Platform from functioning.",
    "cookiesCta": "Open cookies settings",
    "sChangesTitle": "11. Changes to This Policy",
    "sChangesPara1": "We may update this Privacy Policy from time to time to reflect new features, processing activities, regulatory developments, or operational changes. The \"last updated\" date at the top of this page always reflects the current version.",
    "sChangesPara2": "Where a change is material — adding a new processing purpose, expanding the scope of personal data collected, or introducing a new category of recipient — we will notify you in advance via in-app notification and email, and (where required by law) seek renewed consent before applying the change to data already collected. Non-material changes (clarifications, typo fixes) may be made without notice; previous versions remain available on request.",
    "sChangesTip": "We recommend reviewing this page periodically. You may also subscribe to a notification list (write to privacy@beedy.app) to be alerted of every update.",
    "s8Title": "12. Contact Us & Supervisory Authority",
    "s8Para1": "Questions, requests, or concerns about your privacy or this policy? Our privacy team is here for you. We respond within five (5) business days for general inquiries, and within forty-five (45) days for formal rights requests (extendable by 45 days for complex matters, with prior notice).",
    "contactLabel": "Privacy team",
    "s8AuthorityBody": "If you are not satisfied with our response, you can appeal under Section 7, file a complaint with the Florida Attorney General (myfloridalegal.com), or contact the Federal Trade Commission (reportfraud.ftc.gov). You may also bring an action in a court of competent jurisdiction where law so provides, subject to the dispute-resolution clause in our Terms of Service.",
    "faqTitle": "Frequently Asked Questions (FAQ)",
    "faq1Q": "How do I delete my account and personal data?",
    "faq1A": "Open Settings → Security & privacy → Delete account. Your profile and personal information will be erased within 45 days, except for records we are legally required to keep (sales-tax records for 7 years, anti-fraud and chargeback records for 5 years, dispute history for the applicable statutory period). See Section 6 for full retention details.",
    "faq2Q": "Can I export my data?",
    "faq2A": "Yes. From your account settings you can request a personal-data export. We deliver a JSON archive within 45 days of the request, containing the data we hold about you in a structured, machine-readable format — exercising your right to data portability under the Florida Digital Bill of Rights (Fla. Stat. § 501.705(2)(e)).",
    "faq3Q": "Where is my data stored?",
    "faq3A": "Beedy, LLC is a Delaware limited liability company headquartered in Miami, Florida, and we store production data in US-region cloud infrastructure (Railway, AWS us-east-1). A few service providers process limited, pseudonymized telemetry across their global networks (Mapbox for map tiles, Sentry for error monitoring). See Section 4 for details and our sub-processors page for the full vendor list.",
    "faqHelpPrefix": "Have more questions? Reach out via the chat or contact our privacy team.",
    "faqHelpCta": "Contact support",
    "finalCtaTitle": "Any privacy question? Talk to our team.",
    "finalCtaDesc": "We've designed Beedy with privacy as a default — minimum data collection, explicit consent where required, and full transparency on AI subprocessors. If something feels off, or if you simply want to know more about how we protect your data, write to us.",
    "finalCtaButton": "Contact our team"
  },
  "terms": {
    "eyebrow": "Terms of Service",
    "heroTitle": "Rules that keep Beedy fair and protect everyone.",
    "heroDesc": "These terms govern your use of Beedy — the local-services marketplace operated by Beedy, LLC (a Delaware limited liability company). We've written them in plain language so you can quickly understand your rights and responsibilities; the legally binding scope is set out below. PLEASE READ SECTION 10 CAREFULLY — IT REQUIRES BINDING ARBITRATION AND A CLASS-ACTION WAIVER.",
    "lastUpdated": "Last updated: 27 July 2026",
    "tocOverview": "1. Overview & Acceptance",
    "tocDefinitions": "2. Definitions",
    "tocAccount": "3. Your Account & Eligibility",
    "tocUsing": "4. Using Beedy",
    "tocPayments": "5. Payments, Cancellations & Refunds",
    "tocIpLiability": "6. Marketplace Role, IP & AI Features",
    "tocLiability": "7. Disclaimers & Limitation of Liability",
    "tocIndemn": "8. Indemnification, Termination & Suspension",
    "tocMisc": "9. Miscellaneous",
    "tocChanges": "10. Changes, Governing Law & Dispute Resolution",
    "tocContact": "11. Contact",
    "tocFaq": "Frequently Asked Questions (FAQ)",
    "s1Title": "1. Overview & Acceptance",
    "s1Para1": "By creating a Beedy account, browsing the marketplace, or booking a service through beedy.app (the \"Platform\"), you accept these Terms of Service (\"Terms\"). They form a binding agreement between you (\"User\", \"you\") and Beedy, LLC, a Delaware limited liability company (Delaware file no. 10637738) with registered office at 131 Continental Dr Suite 305, Newark, DE 19713, USA (\"Beedy\", \"we\", \"us\"). If you do not agree, you must not use the Platform. By accepting these Terms, you (a) consent to the application of US federal and Florida state substantive law to govern the contract (Section 10) and to binding arbitration in Miami-Dade County, Florida under the American Arbitration Association (AAA) Consumer Rules; and (b) acknowledge that Beedy is a Delaware limited liability company with its principal place of business in the United States (Miami, Florida) and that international data transfers may occur for users outside the United States.",
    "s1Para2": "These Terms apply to both customers (who book services) and pros (who provide them). Where a section applies to only one group, that distinction is noted. By using Beedy on behalf of a company or other entity, you represent that you have authority to bind that entity to these Terms.",
    "s1NoticeTitle": "Important: Beedy is a marketplace, not a service provider.",
    "s1NoticeBody": "Beedy operates the marketplace technology that connects users with independent local professionals (\"Pros\"). Pros are not employees, agents, or partners of Beedy. The service contract for any booking is formed directly between the customer and the Pro — Beedy is not a party to that contract and does not perform the underlying services. See Section 6 for the full marketplace disclaimer and Section 7 for the resulting allocation of liability.",
    "s2Title": "2. Definitions",
    "s2Intro": "Capitalized terms in these Terms have the meanings below:",
    "def1Term": "Beedy / \"we\" / \"us\"",
    "def1Body": "Beedy, LLC, a Delaware limited liability company (Delaware file no. 10637738) formed in the State of Delaware, USA, registered office at 131 Continental Dr Suite 305, Newark, DE 19713, USA — operating the beedy.app platform and owner of the BEEDY brand and marks. For US users, the contracting party under these Terms is Beedy, LLC; consent to Delaware/US law and AAA Miami arbitration is set out in Section 10.",
    "def2Term": "Customer",
    "def2Body": "Any individual or business that uses Beedy to discover, contact, or book services from a Pro.",
    "def3Term": "Pro / Partner",
    "def3Body": "An independent professional, contractor, or business that lists services on Beedy and accepts bookings from Customers. Pros are not employees or agents of Beedy.",
    "def4Term": "Booking",
    "def4Body": "A confirmed service request between a Customer and a Pro through the Platform, including the agreed price, date, scope of work, and any commission disclosed by Beedy.",
    "s3Title": "3. Your Account & Eligibility",
    "s3Para1": "To use Beedy you must be at least eighteen (18) years old (the age of majority in Florida — Fla. Stat. § 743.07), legally capable of entering binding contracts, and not barred from using the service under applicable law or these Terms. Beedy may require age and identity verification at any time.",
    "s3Para2": "Your account is personal and non-transferable. You are solely responsible for all activity that occurs under your account, including activity by anyone you allow to use your credentials. Pros must provide accurate business information (legal name, EIN or sole-proprietor tax ID, professional licensing where required — e.g., DBPR / CILB license number for Florida contractors, electricians, plumbers, HVAC pros) and keep it current.",
    "s3Bullet1Title": "Accurate information",
    "s3Bullet1Body": "You agree to provide truthful identity, contact, and (for Pros) business and licensing information. Beedy may verify, request supplementary documents, or refuse / suspend an account at its discretion if information appears false, incomplete, or fraudulent.",
    "s3Bullet2Title": "Account security",
    "s3Bullet2Body": "Use a strong password, enable two-factor authentication where available, never share credentials, and notify us at security@beedy.app immediately of any suspected unauthorized access. You remain responsible for losses arising from your failure to maintain account security.",
    "s4Title": "4. Using Beedy",
    "s4Intro": "You may use Beedy to browse Pros, request quotes, place Bookings, message the other party, and submit reviews. Your use of the Platform must at all times comply with these Terms, our Community Guidelines below, our Privacy Policy, and all applicable laws — including consumer protection, tax, professional licensing, and health and safety regulations in your jurisdiction.",
    "s4ConductTitle": "Community guidelines (prohibited conduct)",
    "conduct1Title": "Respect other users",
    "conduct1Body": "No harassment, discrimination, hate speech, threats, or abusive behaviour in messages, reviews, or listings. Reviews must reflect genuine, lawful experience and remain constructive.",
    "conduct2Title": "No fraud or misrepresentation",
    "conduct2Body": "Do not impersonate any person or business, post fake reviews (a violation of FTC Endorsement Guides, 16 CFR Part 255), manipulate ratings, conceal material information, attempt to defraud another user, or engage in chargeback fraud against Beedy. We refer identifiable fraud to local law enforcement, the Florida Department of Law Enforcement, and the FTC.",
    "conduct3Title": "Keep transactions on-platform",
    "conduct3Body": "Pros must not solicit off-platform payment or contact details from Customers introduced through Beedy, nor encourage circumvention of the Platform for repeat bookings within the engagement that originated on Beedy. This protects payment security, dispute-resolution rights, review integrity, and tax reporting. Off-platform circumvention is a material breach of these Terms.",
    "conduct4Title": "Comply with the law",
    "conduct4Body": "You must hold any required licenses (general contractor, electrical, plumbing, HVAC — DBPR / CILB in Florida), maintain general liability + workers' comp insurance where applicable (Fla. Stat. ch. 440), comply with federal, state, and local health, safety, employment, and tax laws applicable to your activity, and respect third-party intellectual-property rights. Pros are solely responsible for the legality and quality of the services they deliver.",
    "s5Title": "5. Payments, Cancellations & Refunds",
    "s5Para1": "Customers pay through Beedy at the time of Booking. Beedy collects a platform commission disclosed at sign-up and at Booking; rates may be updated with at least thirty (30) days' advance notice for material increases affecting active subscriptions. Payment processing is provided by Stripe; that provider's own terms apply to the payment leg. Florida sales tax is calculated at checkout (state 6% + county discretionary surtax up to 1.5%, per Fla. Stat. § 212.054) and remitted by Beedy to the Florida Department of Revenue on Form DR-15.",
    "s5Para2": "Cancellation and refund are governed by the tier-based schedule below, which applies according to the project size (estimated value of the work and time the Pro spends to deliver). Each tier has its own short cooling-off window during which a 100% refund is granted regardless of timing. Nothing here waives your non-waivable consumer-protection rights under the Florida Deceptive and Unfair Trade Practices Act (FDUTPA, Fla. Stat. §§ 501.201-501.213) or any other applicable mandatory state or federal consumer-protection law.",
    "s5CardTitle": "Refunds & dispute resolution",
    "s5CardBody": "If a service is not delivered as agreed, contact support@beedy.app within seven (7) days of the scheduled service date. Beedy acts as a neutral intermediary, applies these Terms and the underlying service contract, and may issue partial refunds, re-do credits, or Pro account suspensions based on its review. Final liability for service quality, professional malpractice, or damage rests with the Pro.",
    "s6Title": "6. Marketplace Role, Intellectual Property & AI Features",
    "s6Para1": "Beedy operates the Platform as a technology marketplace. Beedy verifies the identity and basic eligibility of Pros but does NOT employ them, supervise their work, control how services are performed, or guarantee the quality, safety, legality, or fitness for purpose of any service offered. The Pro is the sole counterparty to the Customer for the underlying service and is solely responsible for performance, defects, damage, injury, tax obligations, and statutory consumer rights arising from that service.",
    "s6Para2": "All Beedy intellectual property — the beedy.app source code, design, logos, trademarks (including the BEEDY brand and word mark), trade dress, documentation, AI models developed by Beedy, and curated platform data — belongs exclusively to Beedy, LLC and is protected by US Copyright Law (17 U.S.C.), the Lanham Act (15 U.S.C. § 1051 et seq.), the Florida Trademark Act (Fla. Stat. ch. 495), and applicable trade-dress and unfair-competition laws. You may not copy, modify, reverse-engineer, decompile, redistribute, scrape, or otherwise exploit any Beedy intellectual property without prior written consent. You may not use the BEEDY name, marks, or logos except as expressly permitted in writing by Beedy.",
    "s6Para3": "You retain ownership of content you upload (photos, descriptions, reviews, messages — \"User Content\"). By uploading User Content you grant Beedy a worldwide, royalty-free, non-exclusive, sub-licensable license to host, reproduce, display, adapt for technical reasons (resize, format, transcode), and otherwise use that User Content solely to operate, secure, promote, and improve the Platform — including reasonable use in marketing about the Platform itself. You represent and warrant that you have all rights necessary to grant this license and that your User Content does not infringe any third-party right. Beedy uses AI tools (including third-party large-language-model providers such as OpenAI under our service-provider agreement) for limited assistive features (photo analysis, content moderation, category suggestion, price estimation). AI outputs are advisory only and do not produce solely-automated decisions with legal or similarly significant effect on you. Beedy does not authorize providers to train models on identifiable User Content, and personal information sent to AI service providers is governed by our Privacy Policy.",
    "s6TipTitle": "Marketplace disclaimer",
    "s6Tip": "Beedy is NOT a party to any service contract between a Customer and a Pro. We are not a general contractor, real-estate broker, locksmith, electrician, plumber, HVAC technician, transportation provider, or any other licensed or regulated service provider. Liability for service delivery, professional malpractice, property damage, personal injury, and product defects rests with the Pro under applicable Florida and federal law.",
    "s7Title": "7. Disclaimers & Limitation of Liability",
    "s7Para1": "Except where mandatory law provides otherwise, the Platform is provided \"AS IS\" and \"AS AVAILABLE\", without warranties of any kind, whether express, implied, or statutory. Beedy specifically disclaims any warranty of merchantability, fitness for a particular purpose, non-infringement, uninterrupted or error-free operation, accuracy of listings or estimates, or the existence, identity, qualifications, conduct, or solvency of any Pro or Customer.",
    "s7Para2": "Beedy does not guarantee any minimum availability of Pros, any specific outcome of a service performed by a Pro, the accuracy of AI-generated suggestions (price estimates, category recommendations, content-moderation outcomes), or the recoverability of disputed payments. Use of the Platform is at your own risk.",
    "s7Para3": "To the maximum extent permitted by applicable law, Beedy, its officers, directors, employees, agents, affiliates, and subprocessors shall not be liable for indirect, incidental, consequential, special, exemplary, or punitive damages; lost profits, lost revenue, lost business opportunities, lost goodwill, or lost data; or damages arising from the conduct or non-performance of any Pro or Customer — even if Beedy was advised of the possibility of such damages and even if a limited remedy fails of its essential purpose. To remove doubt: Beedy is not responsible for, and shall not reimburse, damage, injury, loss, or harm caused by a Pro during service execution — whether to property, to person, or to digital data; such claims must be made against the Pro directly. Beedy's role is limited to refund of the service price per Section 5 (less Beedy's commission and processor fees) and removal of the Pro from the Platform for cause.",
    "s7CapTitle": "Aggregate liability cap",
    "s7CapBody": "Beedy's total aggregate liability arising out of or relating to these Terms or your use of the Platform — whether in contract, tort (including negligence), statute, or any other legal theory — is capped at the GREATER of: (a) the total fees actually paid by you to Beedy in the twelve (12) months immediately preceding the event giving rise to the claim, or (b) one thousand US dollars (USD 1,000) for users who paid no fees in that period. This cap is essential consideration for making the Platform available to you.",
    "s7CarveoutTitle": "Carveouts (cap does not apply)",
    "s7CarveoutIntro": "The cap and the exclusions of damages above do NOT apply to Beedy's liability for:",
    "carveout1": "Gross negligence or willful misconduct by Beedy or its officers.",
    "carveout2": "Death or personal injury caused by Beedy's negligence.",
    "carveout3": "Fraud or fraudulent misrepresentation by Beedy.",
    "carveout4": "Beedy's breach of statutory obligations under the Florida Information Protection Act (FIPA, Fla. Stat. § 501.171), the Florida Digital Bill of Rights, COPPA, or any other privacy or consumer-protection law where such liability cannot lawfully be limited by contract.",
    "carveout5": "Any other liability that cannot lawfully be excluded or limited under applicable mandatory law, including statutory consumer-protection rights under FDUTPA.",
    "s7ConsumerTitle": "Consumer rights",
    "s7ConsumerBody": "Nothing in these Terms limits or excludes any non-waivable statutory right you have as a consumer under FDUTPA, the Magnuson-Moss Warranty Act, the FTC Act §5, or any other applicable mandatory US federal or state consumer-protection law.",
    "s8Title": "8. Indemnification, Termination & Suspension",
    "s8IndemnTitle": "Your indemnification of Beedy",
    "s8IndemnIntro": "To the maximum extent permitted by applicable law, you agree to defend, indemnify, and hold harmless Beedy, LLC, its officers, directors, employees, agents, and service providers from and against any third-party claim, demand, loss, liability, damage, judgment, fine, or expense (including reasonable legal fees) arising out of or related to:",
    "indemn1": "Your User Content — including any claim that your photos, reviews, or descriptions infringe a third party's intellectual property, defame any person, violate privacy law, or are otherwise unlawful.",
    "indemn2": "Your breach of these Terms, our Community Guidelines, our Privacy Policy, or any applicable law (including tax, licensing, employment, and health-and-safety laws applicable to a Pro's activity).",
    "indemn3": "For Pros: any claim by a Customer or third party arising from the services you provided — professional malpractice, property damage, injury, defective work, tax non-compliance, and failure to hold required licences or insurance.",
    "indemn4": "Your fraudulent activity, chargeback fraud, or off-platform circumvention in breach of Section 4.",
    "s8TermTitle": "Beedy's right to suspend or terminate",
    "s8TermBody1": "Beedy may suspend or terminate your account, remove any listing, withhold disputed payouts, or refuse a Booking, with immediate effect and without prior notice, where Beedy reasonably believes: (i) you are in material breach of these Terms; (ii) you have engaged in fraud, abusive behaviour, or off-platform circumvention; (iii) continued service creates a legal, security, or reputational risk to Beedy or other users; (iv) law enforcement, regulatory authority, or court order requires action; or (v) your account has been compromised.",
    "s8TermBody2": "Outside the immediate-action grounds above, Beedy may terminate any user account for any reason or no reason on thirty (30) days' written notice (by email to the address associated with your account). You may close your account at any time via Settings → Security & privacy → Delete account; closure does not relieve you of liabilities that accrued before closure.",
    "s8EffectTitle": "Effects of termination",
    "s8EffectBody": "Upon termination or suspension: (a) your right to access the Platform ends; (b) Beedy will retain records required by law (tax, anti-fraud, dispute history) for the applicable statutory period and otherwise delete or anonymise personal data per our Privacy Policy; (c) provisions that by their nature survive — including Sections 6 (IP), 7 (Disclaimers & Liability), 8 (Indemnification), 9 (Miscellaneous), and 10 (Governing Law) — continue in force.",
    "s9Title": "9. Miscellaneous",
    "s9Intro": "The following general provisions apply to these Terms:",
    "miscForceTitle": "Force majeure",
    "miscForceBody": "Beedy is not liable for any failure or delay in performance caused by events beyond its reasonable control — including natural disasters, war, terrorism, civil unrest, pandemic, government action, internet or telecommunications outage, denial-of-service attack, or third-party infrastructure failure.",
    "miscSeverTitle": "Severability",
    "miscSeverBody": "If any provision of these Terms is found unenforceable by a court of competent jurisdiction, the remaining provisions continue in full force; the unenforceable provision is to be modified to the minimum extent necessary to make it enforceable while preserving its intent.",
    "miscWaiverTitle": "No waiver",
    "miscWaiverBody": "Beedy's failure to enforce any right or provision is not a waiver of that right or provision. Any waiver must be in writing signed by Beedy.",
    "miscAssignTitle": "Assignment",
    "miscAssignBody": "You may not assign these Terms or any of your rights under them without Beedy's prior written consent. Beedy may assign these Terms freely, including in connection with a merger, acquisition, reorganisation, or sale of all or substantially all of its assets.",
    "miscEntireTitle": "Entire agreement",
    "miscEntireBody": "These Terms, together with the Privacy Policy, the Cookies Policy, and any pricing plan or product terms expressly incorporated by reference, constitute the entire agreement between you and Beedy regarding the Platform and supersede any prior agreement, oral or written, on that subject matter.",
    "miscNoticeTitle": "Electronic communications & notices",
    "miscNoticeBody": "You consent to receive notices from Beedy electronically (by email to the address on your account, by WhatsApp or SMS to your verified phone, or by in-app notification). Legal notices to Beedy must be sent in writing to legal@beedy.app and, for matters requiring formal service of process, by registered international mail (or international courier such as FedEx/DHL) to Beedy, LLC, 131 Continental Dr Suite 305, Newark, DE 19713, USA, with a copy by email to legal@beedy.app. Service of process for AAA arbitration is governed by AAA Rules.",
    "s10Title": "10. Changes, Governing Law, Arbitration & Class-Action Waiver",
    "s10Para1": "Beedy may update these Terms from time to time to reflect new features, regulations, or operational changes. Material updates trigger an in-app notification and, where required by law or by the nature of the change, renewed consent before continued use of the Platform. The \"last updated\" date at the top of this page always reflects the current version. Continued use of the Platform after a material update constitutes acceptance.",
    "s10Para2": "These Terms are governed by the laws of the State of Florida, without regard to its conflict-of-laws principles. Subject to the arbitration clause below, the state and federal courts located in Miami-Dade County, Florida have exclusive jurisdiction for any dispute that is not subject to arbitration. Mandatory consumer-protection rights under FDUTPA and federal law continue to apply where they grant more favorable protection.",
    "s10Para3": "PLEASE READ CAREFULLY — BINDING ARBITRATION AND CLASS-ACTION WAIVER. (a) Any dispute, claim, or controversy arising out of or relating to these Terms or the Platform (a \"Dispute\") that is not resolved by 30 days of good-faith pre-suit negotiation initiated by written notice to legal@beedy.app will be resolved by binding individual arbitration administered by the American Arbitration Association (\"AAA\") under its Consumer Arbitration Rules then in effect, conducted by a single arbitrator in Miami-Dade County, Florida (or by telephone/video at your election if you reside outside Florida). The Federal Arbitration Act (9 U.S.C. § 1 et seq.) governs the interpretation and enforcement of this clause. (b) YOU AND BEEDY EACH WAIVE THE RIGHT TO A JURY TRIAL AND THE RIGHT TO PARTICIPATE IN A CLASS ACTION, CLASS ARBITRATION, OR REPRESENTATIVE ACTION. (c) Carveouts — the following Disputes are NOT subject to arbitration and may be brought in court: (i) small-claims actions filed in your home jurisdiction; (ii) actions to enforce intellectual-property rights or confidentiality; (iii) any other claim that cannot lawfully be subject to predispute arbitration. (d) Opt-out — you may opt out of the arbitration provision by sending written notice to legal@beedy.app within thirty (30) days of first accepting these Terms; opting out does not affect any other part of these Terms.",
    "s11Title": "11. Contact",
    "s11Para1": "For anything related to these Terms — interpretation, complaints, or formal notices — please contact our legal team at legal@beedy.app. For privacy-specific matters (data-access requests, deletion, FIPA / Florida Digital Bill of Rights / CCPA inquiries) use privacy@beedy.app. For security incidents, security@beedy.app. DMCA takedown notices go to dmca@beedy.app per Section 6.",
    "contactLabel": "Legal team",
    "faqTitle": "Frequently Asked Questions (FAQ)",
    "faq1Q": "Do I need to accept these Terms to use Beedy?",
    "faq1A": "Yes. Creating an account or placing a Booking confirms your acceptance of these Terms, our Privacy Policy, and our Cookies Policy. If you do not agree, do not use the Platform.",
    "faq2Q": "What happens if a Pro doesn't deliver the service as agreed?",
    "faq2A": "Contact support@beedy.app within 7 days. We act as a neutral intermediary — we review the Booking, messages, and evidence, and may issue a partial or full refund, re-do credit, or Pro suspension. Primary legal responsibility for service quality, professional malpractice, and damage rests with the Pro, not Beedy. See Sections 6 and 7.",
    "faq3Q": "Can I close my account at any time?",
    "faq3A": "Yes. Go to Settings → Security & privacy → Delete account. Your personal data is deleted within 30 days, except records we are legally required to keep (tax invoices, anti-fraud records, dispute history for the applicable statutory period).",
    "faqHelpPrefix": "Still have questions about the Terms? Reach out to our support team.",
    "faqHelpCta": "Contact support",
    "finalCtaTitle": "Got a legal question? Talk to our team.",
    "finalCtaDesc": "Our legal team is available for clarifications, dispute resolution, or compliance matters relating to these Terms. We aim to acknowledge within 5 business days.",
    "finalCtaButton": "Contact our team",
    "s6DesignTitle": "Design, UI/UX & Anti-Cloning Protection",
    "s6DesignBody": "The complete look-and-feel of the Platform — including its visual design, layout, color palette, typography hierarchy, iconography, illustration style, animations, micro-interactions, navigation patterns, page architecture, component library, and overall user experience — is the original creative work of Beedy, LLC It is protected by US Copyright Law (17 U.S.C.), the Lanham Act (15 U.S.C. § 1051 et seq.) for trade dress, the Defend Trade Secrets Act (18 U.S.C. § 1836), the Florida Uniform Trade Secrets Act (Fla. Stat. ch. 688), and applicable common-law unfair-competition principles.",
    "s6ProhibitedIntro": "You may not, and you must not authorize anyone else to:",
    "prohibited1": "Clone, mirror, copy, replicate, or otherwise reproduce the Platform — in whole or in substantial part — for any competing or derivative service, whether free or commercial, on any medium (web, mobile, desktop, embedded).",
    "prohibited2": "Imitate, adapt, or substantially derive the Platform's look-and-feel, UI components, page layouts, navigation patterns, animations, color scheme, or visual identity in a way that creates a likelihood of confusion or that exploits the goodwill of the BEEDY brand.",
    "prohibited3": "Scrape, crawl, harvest, mine, index, or otherwise extract data from the Platform by automated or systematic means (bots, scrapers, headless browsers, screen-capture tools) beyond what a standard search-engine crawler is expressly allowed by our robots.txt; bulk extraction of listings, prices, reviews, or user profiles is prohibited regardless of method.",
    "prohibited4": "Reverse engineer, decompile, disassemble, or attempt to derive the source code, underlying ideas, algorithms, file formats, or APIs of the Platform, except to the limited extent any such restriction is prohibited by applicable mandatory law.",
    "prohibited5": "Incorporate any Beedy code, design files, icons, illustrations, animations, or UI components into another product, service, training dataset, AI model, template, theme, design system, or library — whether you redistribute it or not.",
    "prohibited6": "Use the Platform, its content, or its outputs (including AI-generated suggestions) to train, fine-tune, evaluate, or benchmark any machine-learning model, large-language model, or generative-AI system, except where you have prior written authorization from Beedy.",
    "prohibited7": "Circumvent, disable, or interfere with any technical measure intended to control access to or use of the Platform — including rate limits, CAPTCHA, authentication, watermarks, or content protection — or with the security and integrity of the Platform.",
    "s6RemedyLabel": "Remedies",
    "s6RemedyBody": "Any breach of this Section is a material breach of these Terms. Beedy may suspend or terminate your access immediately and without notice; seek statutory damages, lost profits, and injunctive relief in any court of competent jurisdiction (including TRO / preliminary injunction to stop ongoing infringement); recover its reasonable attorneys' fees and costs; and report the conduct to applicable authorities (FBI IC3, US Copyright Office, USPTO). Statutory damages under 17 U.S.C. § 504(c) may reach USD 150,000 per willful infringement plus attorneys' fees.",
    "s6TakedownTitle": "DMCA infringement notice & takedown",
    "s6TakedownBody": "If you believe content on the Platform infringes your copyright, send a written DMCA notice (17 U.S.C. § 512(c)) to our designated agent at dmca@beedy.app including: (a) identification of the copyrighted work claimed to be infringed; (b) identification of the allegedly infringing material with URL or screenshot; (c) your contact information; (d) a statement made in good faith that the use is unauthorized; (e) a statement under penalty of perjury that the information is accurate and you are authorized to act for the rights holder; (f) your physical or electronic signature. We respond within ten (10) business days, remove or disable access to material we determine in good faith is infringing, and forward the counter-notice procedure to the uploader. Repeat infringers are terminated under our § 512(i) policy.",
    "s6ReservationBody": "© Beedy, LLC All rights reserved. The BEEDY name and logo are trademarks of Beedy, LLC (USPTO application pending where not yet registered). No license, right, or interest in any Beedy intellectual property is granted by implication, estoppel, or otherwise — only those rights expressly granted in writing in these Terms or in a separate written agreement signed by an authorized officer of Beedy, LLC",
    "s5TiersTitle": "Refund schedule by project tier",
    "s5TiersIntro": "Refund percentages are calculated on the service price excluding Beedy's platform commission (see disclosure below). The applicable tier is determined at booking based on the service price and the Pro's estimated effort.",
    "s5CoolingLabel": "Cooling-off exception",
    "s5T1Title": "Tier 1 — Small project",
    "s5T1Range": "Up to USD 250 · 5 minutes to 8 hours of Pro work",
    "s5T1Refund1": "48 hours or more before service: 100% refund",
    "s5T1Refund2": "24 to 48 hours before service: 85% refund",
    "s5T1Refund3": "Less than 24 hours before service: 60% refund",
    "s5T1Refund4": "Pro already on the way: 40% refund",
    "s5T1Cooling": "Cancel within 30 minutes of booking confirmation → 100% refund regardless of the schedule above.",
    "s5T2Title": "Tier 2 — Medium project",
    "s5T2Range": "USD 250 to USD 800 · 5 minutes to 1 day of Pro work",
    "s5T2Refund1": "4 days or more before service: 100% refund",
    "s5T2Refund2": "24 hours to 4 days before service: 80% refund",
    "s5T2Refund3": "Less than 24 hours before service: 65% refund",
    "s5T2Refund4": "Pro already on the way: 50% refund",
    "s5T2Cooling": "Cancel within 8 hours of booking confirmation → 100% refund regardless of the schedule above.",
    "s5T3Title": "Tier 3 — Large project",
    "s5T3Range": "USD 800 to USD 5,000 · 5 minutes to 3 days of Pro work",
    "s5T3Refund1": "7 days or more before service: 100% refund",
    "s5T3Refund2": "24 hours to 7 days before service: 85% refund",
    "s5T3Refund3": "Less than 24 hours before service: 70% refund",
    "s5T3Refund4": "Pro already on the way: 60% refund",
    "s5T3Cooling": "Cancel within 24 hours of booking confirmation → 100% refund regardless of the schedule above.",
    "s5CommissionLabel": "Refunds exclude Beedy's commission",
    "s5CommissionBody": "All refund percentages apply to the service price paid to the Pro. Beedy's platform commission and any third-party payment-processor fees are non-refundable and retained even when a 100% refund is granted. The exact commission is shown to you at the time of Booking.",
    "s5MandatoryRightsTitle": "Your mandatory consumer rights override this schedule where more favorable",
    "s5MandatoryRightsBody": "If a service is not delivered as agreed, is defective, or breaches our representations, you retain full statutory rights under the Florida Deceptive and Unfair Trade Practices Act (FDUTPA, Fla. Stat. §§ 501.201-501.213), the federal Magnuson-Moss Warranty Act (15 U.S.C. § 2301 et seq.), the FTC Act §5 (15 U.S.C. § 45), and any other applicable consumer-protection law. Those rights cannot be waived by these Terms and prevail over the schedule above wherever they are more favorable to you.",
    "s6OpLimitTitle": "Damages caused by the Pro — Beedy's operational limit",
    "s6OpLimitBody": "Beedy is a marketplace. We hold your payment during the dispute window and we can refund the price of the service to you (minus Beedy's commission and payment-processor fees, which are non-refundable) per Section 5. We can also suspend or remove the Pro from the Platform for cause. But Beedy DOES NOT reimburse damages caused by the Pro — property damage, personal injury, lost or damaged items, defective work, or any other harm arising from the Pro's performance. For those claims, your recourse is against the Pro directly (in tort, in contract, or through the Pro's general-liability / professional-liability insurance, where the Pro carries one). Beedy will support you by providing the booking record (messages, photos, timestamps, the Pro's identity, license number, and contact information as verified at onboarding) on legitimate legal request.",
    "s6OpLimitConsumerLabel": "Your mandatory consumer rights still apply",
    "s6OpLimitConsumerBody": "Mandatory consumer-protection rights under FDUTPA (Fla. Stat. §§ 501.201-501.213), the Magnuson-Moss Warranty Act, the FTC Act §5, the Florida Home Solicitation Sales Act (Fla. Stat. ch. 501 part II) where applicable, and any other applicable consumer-protection law continue to apply where they are more favorable to you than the rule above. Nothing in this clause waives those statutory rights.",
    "faq4Q": "What if the Pro damages my property or hurts me during the service?",
    "faq4A": "Beedy is the marketplace operator, not the service provider — the Pro is solely responsible for damages caused during service execution. Operationally, Beedy can refund the price of the service per Section 5 (less Beedy's commission and processor fees), suspend or remove the Pro from the Platform, and provide you with the booking record (messages, photos, timestamps, Pro's identity + license number) on legitimate legal request. Beedy does NOT pay damages directly. For property damage, injury, lost items, or defective work, your recourse is against the Pro (in tort, in contract, or through the Pro's general-liability / professional-liability insurance). Mandatory consumer rights under FDUTPA and federal consumer law remain unaffected.",
    "s5FundsTitle": "Client Funds Custody",
    "s5FundsBody": "Payment for services flows between the Client and the Pro via Beedy's third-party payment processor, Stripe. Beedy does not aggregate, hold, or escrow Client funds beyond the technical processing window required and does not act as a money transmitter under Florida's Money Services Business law (Fla. Stat. ch. 560).",
    "s5StartApprovalTitle": "On-Arrival Price Adjustments and Declined Starts",
    "s5StartApprovalBody": "Once on site, the Pro may request the Client's approval to start the work, with or without a price adjustment. If the Client declines the start, the order is placed on hold and no funds are released to the Pro; travel and arrival are not separately compensated. Amounts already paid remain held with the payment processor. If the order is subsequently cancelled, the refund follows the cancellation schedule above. A proposed price increase is only charged after the Client approves it.",
    "s5InvoiceTitle": "Tax Invoices & Sales Tax",
    "s5InvoiceBody": "Beedy collects, files, and remits Florida sales tax (state 6% + applicable county surtax, per Fla. Stat. § 212.054) on the service portion of every Booking and issues the customer a receipt itemizing the tax. The obligation to report the underlying service revenue and pay self-employment / income tax (federal Form 1040 Schedule C or business return) rests with the Pro. Beedy issues IRS Form 1099-K to each Pro whose annual processed volume meets the federal reporting threshold (26 U.S.C. § 6050W).",
    "s5ChargebackTitle": "Chargeback Handling",
    "s5ChargebackBody": "Chargebacks against your credit-card payment must be initiated through your card issuer. Beedy cooperates with Stripe's chargeback workflow, will provide the booking record (messages, photos, timestamps, the Pro's identity) on legitimate request, and will trigger the internal dispute-resolution mechanism in Section 5 where relevant. Fraudulent chargebacks are a material breach of these Terms (see Section 4) and may be referred to the FBI's Internet Crime Complaint Center (IC3).",
    "s6SupportScopeTitle": "Scope of Beedy Customer Support",
    "s6SupportScopeBody": "Beedy support to Clients is limited to platform matters: user account, professional search, technical issues, and neutral dispute resolution under Section 5. Questions about service quality, scheduling, individual pricing, professional liability, or defective work claims must be directed to the Pro, who is the sole party to the service contract. Inquiries to support@beedy.app concerning the service itself will be forwarded to the Pro.",
    "faq5Q": "Does Beedy manage my money, issue my invoice, or handle chargebacks?",
    "faq5A": "Mostly no — Beedy is a marketplace platform. Payment for the service flows through Stripe between the Client and the Pro; the service-revenue tax reporting (Form 1040 Schedule C or equivalent) is the Pro's responsibility, with Beedy issuing IRS Form 1099-K to Pros that meet the federal volume threshold. Beedy DOES, however, collect and remit Florida sales tax (state 6% + county surtax) on every Booking — it's automatic at checkout. Chargebacks against your card must be initiated through your card issuer; Beedy cooperates with Stripe's chargeback workflow. Beedy customer support is limited to platform matters — for claims about the service itself, contact the Pro. See Sections 5 and 6 for full details.",
    "s5DuringWorkTitle": "Cancelling after work has started",
    "s5DuringWorkBody": "You may cancel an order at any time, including after the Pro has arrived or work is underway. Once work has started, the Pro is paid for the steps already validated and you are refunded the remaining amount still held in escrow; if no step has been validated yet, you are refunded in full. Cancellations before work begins follow the cooling-off and tier schedule above."
  },
  "cookies": {
    "eyebrow": "Cookies Policy",
    "heroTitle": "How we use cookies — explained simply.",
    "heroDesc": "Cookies and similar storage technologies keep you logged in, remember your preferences and help us understand what works. This page tells you exactly what we set, why, and how to manage your choices.",
    "lastUpdated": "Last updated: 12 May 2026",
    "tocOverview": "Overview",
    "tocCategories": "Cookie categories",
    "tocInventory": "Cookie inventory",
    "tocManage": "Manage your preferences",
    "tocFaq": "Frequently Asked Questions (FAQ)",
    "s1Title": "Overview",
    "s1Para1": "A cookie is a tiny text file stored in your browser when you visit a website. We use cookies — plus a few related technologies like localStorage and sessionStorage — to make Beedy work, remember who you are, keep your data secure, and measure how the platform performs.",
    "s1Para2": "We're transparent about every storage entry we set: scroll down to see the full inventory, and learn how to opt out of the ones you don't need.",
    "s2Title": "Cookie categories",
    "s2Intro": "We group every storage entry into one of four categories. You can accept or refuse each category individually (except strictly necessary ones, which keep the platform running).",
    "cat": {
      "strict": {
        "title": "Strictly necessary",
        "body": "Required for basic functionality: keeping you logged in, securing your session, preventing fraud. You cannot disable these — turning them off would break the site."
      },
      "preferences": {
        "title": "Preferences",
        "body": "Remember your choices — language, currency, dark mode, recently-used filters — so the platform feels personalized between visits."
      },
      "analytics": {
        "title": "Analytics",
        "body": "Anonymized usage data that tells us which features matter, which screens lag, and which bugs need fixing. Set only after you opt in."
      },
      "marketing": {
        "title": "Marketing",
        "body": "Used by our marketing partners to measure ad performance and tailor relevant promotions. Always opt-in, and you can turn them off at any time."
      }
    },
    "s3Title": "Cookie inventory",
    "s3Intro": "Everything we store in your browser, in one table. The same list powers section 12 of our Privacy Policy — the two pages can never disagree about what is set.",
    "inventoryFootnote": "* Durations are upper bounds: cookies may be cleared earlier when you log out, manually clear your browser data, or revoke your consent.",
    "s4Title": "Manage your preferences",
    "s4Intro": "You stay in control. Three ways to update or revoke your cookie choices:",
    "manage1Title": "In-app consent banner",
    "manage1Body": "The first time you visit Beedy, a banner asks for your consent on non-essential cookies. You can revisit your choice anytime from the in-app cookie settings.",
    "manage2Title": "Browser settings",
    "manage2Body": "Every major browser (Chrome, Firefox, Safari, Edge) lets you block, accept, or wipe cookies — globally or for a specific site like beedy.app. Check your browser help center for the steps.",
    "manage3Title": "Opt out at vendor level",
    "manage3Body": "For analytics and marketing, you can also opt out directly with the vendor (e.g. Google Analytics opt-out add-on). The full vendor list is in the inventory table.",
    "manageTip": "Blocking strictly-necessary cookies will break sign-in, payment, and most interactive features. We recommend keeping these on and only tuning the preferences / analytics / marketing categories.",
    "faqTitle": "Frequently Asked Questions (FAQ)",
    "faq1Q": "Do you use third-party cookies?",
    "faq1A": "Yes, but only for analytics and payment processing — the vendors are listed in the inventory table above. We never share cookie data with advertisers or data brokers.",
    "faq2Q": "What happens if I refuse all non-essential cookies?",
    "faq2A": "The site stays fully functional. You'll just lose some quality-of-life features (remembered language, personalized search ranking) and we lose the anonymized stats we use to improve the product.",
    "faq3Q": "How long do cookies last on my device?",
    "faq3A": "Most session cookies disappear when you close the browser. Persistent cookies expire after the duration shown in the inventory table — typically between a few days and 12 months. You can wipe them anytime via your browser settings.",
    "faqHelpPrefix": "Have more questions about cookies? Reach out to our team.",
    "faqHelpCta": "Contact support",
    "finalCtaTitle": "Want the full picture?",
    "finalCtaDesc": "Our Privacy Policy covers everything else: what we collect, how we use it, who we share it with, and your rights. Same plain language, just more depth.",
    "finalCtaButton": "Read the Privacy Policy"
  },
  "contact": {
    "eyebrow": "Contact Us",
    "heroTitle": "We're here to help.",
    "heroDesc": "Got a question, a request, or some feedback? Pick the channel that suits you best — our team usually replies within a couple of hours during business hours.",
    "tocChannels": "Quick Contact",
    "tocMessage": "Send Us a Message",
    "tocOffices": "Offices & Hours",
    "tocFaq": "Frequently Asked Questions (FAQ)",
    "s1Title": "Quick Contact",
    "s1Intro": "Three direct ways to reach us — pick the one that suits the urgency of your request.",
    "channel_email_title": "Email",
    "channel_email_body": "For anything non-urgent. We aim to reply within 24 hours, often sooner.",
    "channel_phone_title": "Phone",
    "channel_phone_body": "For urgent matters during business hours, Sunday to Friday.",
    "channel_help_title": "Help Center",
    "channel_help_body": "Browse our FAQ and step-by-step guides — most questions are answered there in seconds.",
    "channel_help_cta": "Go to Help Center",
    "s2Title": "Send Us a Message",
    "s2Intro": "Fill in the form below. The more context you give us, the faster we can help.",
    "loginRequiredTitle": "Log in to send a message",
    "loginRequiredBody": "You need to be signed in to submit the contact form. You can still reach us by email or phone — see the quick-contact cards above.",
    "loginRequiredCta": "Log in",
    "fieldName": "Full name",
    "fieldNamePlaceholder": "Jane Doe",
    "fieldEmail": "Email",
    "fieldEmailPlaceholder": "jane@example.com",
    "fieldPhone": "Phone (optional)",
    "fieldPhonePlaceholder": "+1 (305) 555-0100",
    "fieldSubject": "Subject",
    "fieldSubjectPlaceholder": "Select a subject…",
    "subject_general": "General question",
    "subject_technical": "Technical support",
    "subject_billing": "Billing & payments",
    "subject_feedback": "Product feedback",
    "subject_partnerships": "Partnerships",
    "subject_complaint": "Complaint",
    "fieldMessage": "Your message",
    "fieldMessagePlaceholder": "Tell us how we can help…",
    "formHint": "Sending this form shares the above information with our support team. We reply within 24 hours.",
    "formSubmit": "Send message",
    "formSubmitting": "Sending…",
    "formSent": "Message sent — thank you!",
    "s3Title": "Office & support hours",
    "s3Intro": "Reach our support team during business hours — we usually reply within a few hours.",
    "hoursTitle": "Business hours",
    "hours_weekdays": "Sun – Thu",
    "hours_friday": "Friday",
    "hours_saturday": "Saturday",
    "hours_closed": "Closed",
    "addressTitle": "Registered office",
    "addressLine1": "Beedy, LLC",
    "addressLine2": "131 Continental Dr, Suite 305, Newark, DE 19713, USA",
    "addressDirections": "Get directions",
    "faqTitle": "Frequently Asked Questions (FAQ)",
    "faq1Q": "How quickly do you reply?",
    "faq1A": "We aim to reply to any contact within 24 hours during business days. Urgent technical issues and active-booking incidents are usually handled within 2 hours during business hours.",
    "faq2Q": "Can I attach files to my message?",
    "faq2A": "Not yet through this form. If your request needs screenshots or documents, send them to support@beedy.app referencing the same subject and our team will pick it up.",
    "faq3Q": "Is there an emergency line?",
    "faq3A": "For active bookings with a same-day issue, please call us — our phone line is the fastest route. For everything else, the message form or email is the best way to reach us.",
    "faqHelpPrefix": "Looking for a quicker answer? Check our help center.",
    "faqHelpCta": "Go to Help Center",
    "finalCtaTitle": "Find your answer in seconds.",
    "finalCtaDesc": "Most questions are already covered in our help center — searchable guides, step-by-step articles and troubleshooting tips.",
    "finalCtaButton": "Visit Help Center"
  },
  "partner": {
    "eyebrow": "For pros",
    "heroTitle": "Grow your business with Beedy.",
    "heroDesc": "Join thousands of local pros already on Beedy. Get more visibility, secure payments, and the freedom to run your business your way.",
    "heroCta": "Join as a pro",
    "tocWhy": "Why partner with Beedy",
    "tocHow": "How it works",
    "tocBenefits": "Benefits",
    "tocPricing": "Pricing & fees",
    "tocStarted": "Getting started",
    "tocFaq": "Frequently Asked Questions (FAQ)",
    "s1Title": "Why partner with Beedy",
    "s1Para1": "Beedy is the local marketplace where customers book trusted services with confidence — from plumbing to home cleaning, from beauty to electrical work. We bring the demand, you bring the craft.",
    "s1Para2": "Whether you're an independent pro just starting out or a team scaling up, Beedy gives you the tools to find new customers, manage bookings and grow predictably — without paying for ads or building your own site.",
    "stat1Value": "50k+",
    "stat1Label": "Customers per month",
    "stat2Value": "4.8★",
    "stat2Label": "Average pro rating",
    "stat3Value": "< 24h",
    "stat3Label": "Time to first booking",
    "s2Title": "How it works",
    "s2Intro": "Three simple steps from sign-up to your first booking.",
    "howStep1Title": "Sign up & set up your page",
    "howStep1Body": "Create your business profile, add photos, list your services and prices. We verify your identity to keep the marketplace trusted.",
    "howStep2Title": "Get matched with customers",
    "howStep2Body": "Customers in your area find you through search and recommendations. They book directly — no negotiation back-and-forth needed.",
    "howStep3Title": "Deliver, get paid, get reviewed",
    "howStep3Body": "Provide the service, receive secure payment via Beedy, and collect reviews that build your reputation. Repeat customers will come back.",
    "s3Title": "Benefits",
    "s3Intro": "Everything you need to run your business with peace of mind.",
    "benefit1Title": "More visibility",
    "benefit1Body": "Show up in front of local customers actively searching for your craft — no marketing budget required.",
    "benefit2Title": "Secure payments",
    "benefit2Body": "Guaranteed bank transfers via Beedy Payments. No more chasing invoices or worrying about fraud.",
    "benefit3Title": "Flexible scheduling",
    "benefit3Body": "Set your own availability, accept or decline requests, and block off time when you need a break.",
    "benefit4Title": "Built-in protection",
    "benefit4Body": "Verified profiles, secure messaging, and our support team to help with disputes — so you can focus on the work.",
    "s4Title": "Pricing & fees",
    "s4Intro": "Transparent and predictable. You only pay Beedy when you earn.",
    "pricingCardTitle": "Commission on completed bookings",
    "pricingCardBody": "Beedy takes a percentage commission on each completed booking, disclosed clearly during sign-up. No monthly subscription, no listing fees, no surprises.",
    "pricingDisclaimer": "* Exact commission rate depends on category and region. You'll see it before accepting your first booking.",
    "s5Title": "Getting started",
    "s5Intro": "Sign-up takes about 15 minutes. Here's what you'll need to have ready.",
    "started1Title": "Identity & business documents",
    "started1Body": "A government-issued ID and (if applicable) your business license or tax registration number.",
    "started2Title": "Photos & a short description",
    "started2Body": "A few quality photos of your work, your workspace, and a short bio that tells customers who you are.",
    "started3Title": "Bank account for payouts",
    "started3Body": "An IBAN or bank account in your name to receive your earnings via secure transfer after each booking.",
    "startedTip": "You can save your progress and continue later at any time — onboarding remembers where you left off.",
    "faqTitle": "Frequently Asked Questions (FAQ)",
    "faq1Q": "How much does it cost to join Beedy?",
    "faq1A": "Nothing upfront. There are no subscription or listing fees — Beedy only earns when you earn, via a commission on completed bookings.",
    "faq2Q": "How quickly will I get my first booking?",
    "faq2A": "Most pros receive their first booking within 24 to 48 hours of going live, especially if their profile is complete with photos and reviews. New partners also benefit from a 90-day visibility boost.",
    "faq3Q": "Can I leave the platform whenever I want?",
    "faq3A": "Yes. There is no minimum commitment. You can pause your profile or close your account at any time from the extranet, and complete any in-progress bookings before leaving.",
    "faqHelpPrefix": "Have more questions? Reach out to our team.",
    "faqHelpCta": "Contact support",
    "finalCtaTitle": "Ready to grow your business?",
    "finalCtaDesc": "Join the Beedy community of local pros today. Sign-up takes 15 minutes and your first bookings can land within the day.",
    "finalCtaButton": "Become a partner"
  },
  "about": {
    "tocStats": "Beedy in numbers",
    "tocProblem": "The problem",
    "tocSolution": "The solution",
    "tocEvolution": "Market evolution",
    "tocEngine": "Our technology",
    "tocTeam": "The team",
    "tocRoadmap": "Roadmap",
    "tocFaq": "Frequently Asked Questions (FAQ)",
    "evolutionCurrent": "Where Beedy lives",
    "tocPress": "Press & media",
    "press": {
      "title": "Press & media",
      "body": "Beedy is the fastest, easiest, and safest way to book home services in Florida. For interviews, press inquiries, or brand assets, reach out — we usually reply within one business day.",
      "contactPrefix": "Press inquiries:",
      "logoDownload": "Download the Beedy logo (512×512 PNG)",
      "bannerDownload": "Download the Beedy banner (1200×630 JPG)"
    },
    "faqTitle": "Frequently Asked Questions (FAQ)",
    "faq0Q": "What is Beedy?",
    "faq0A": "Beedy (spelled B-e-e-d-y, one word) is Florida's home services marketplace, operated by Beedy, LLC. You describe your job on beedy.app, vetted local pros send fixed-price quotes within about an hour, and your payment stays in secure escrow until the work is done. Beedy covers plumbing, electrical, cleaning, painting, gardening, beauty, renovation, air conditioning and moving in Miami, Orlando, Tampa, Jacksonville, Fort Lauderdale and other Florida cities.",
    "faq1Q": "Who is Beedy for?",
    "faq1A": "Beedy is built for two audiences: homeowners looking for trustworthy local pros (plumbers, electricians, cleaners, beauty professionals…) and the pros themselves, who want a steady flow of bookings without paying for ads or hunting leads.",
    "faq2Q": "How is Beedy different from a classic directory?",
    "faq2A": "Directories (Yelp, Yellow Pages) charge pros to show up. Lead-generation platforms charge them per click. Beedy is a true marketplace: pros only pay when they actually book a job. You — the customer — only pay when the service is delivered.",
    "faq3Q": "Are you hiring?",
    "faq3A": "We're a small team but always interested in talented people who care about local commerce and AI. Tell us why Beedy and we'll get back to you within a few business days.",
    "faqHelpPrefix": "Want to dig deeper or talk to our team? Reach out.",
    "faqHelpCta": "Contact us"
  },
  "pagesMenu": {
    "trigger": "Menu",
    "proOnboarding": "Pro Onboarding",
    "company": "Company",
    "legal": "Legal"
  },
  "proModification": {
    "modalTitle": "Propose a new appointment",
    "modalSubtitle": "Suggest a new date and time to the client",
    "currentAppointment": "Current appointment: {{date}}",
    "newDateLabel": "New date",
    "newTimeLabel": "New time",
    "selectTime": "Select a time",
    "reasonLabel": "Reason for the change",
    "reasonPlaceholder": "Briefly explain why you need to change the appointment…",
    "reasonCounter": "{{count}}/500",
    "cancel": "Cancel",
    "submit": "Send proposal",
    "submitting": "Sending…",
    "submitted": "Proposal sent to the client",
    "failed": "Failed to send the proposal",
    "validationDateRequired": "Date is required",
    "validationTimeRequired": "Time is required",
    "validationReasonRequired": "A reason is required",
    "validationReasonTooShort": "Reason must be at least 3 characters",
    "pendingExists": "A modification request is already pending on this order",
    "orderNotModifiable": "This order can no longer be modified",
    "providerBusy": "You are already busy at this time slot",
    "statusPending": "Waiting for the client to respond",
    "statusAcceptedByClient": "The client accepted your proposal",
    "rejectedByClient": "The client declined your proposal"
  },
  "proLate": {
    "title": "Your pro is running late",
    "subtitle": "{{providerName}} did not arrive at the booked time. You can cancel for free (full refund), or accept a new time if your pro proposes one.",
    "freeCancel": "Cancel for free (full refund)",
    "rescheduleHint": "Prefer to wait? If your pro proposes a new time, you can accept it below.",
    "yourPro": "Your pro",
    "cancelFullRefund": "Because your pro is late, this cancellation is free — you will be refunded in full."
  },
  "clientModification": {
    "cardTitle": "Modification request",
    "proposesNewAppointment": "{{providerName}} is proposing a new appointment",
    "proposedFor": "New proposed date",
    "reasonLabel": "Reason",
    "accept": "Accept",
    "reject": "Decline",
    "accepting": "Accepting…",
    "rejecting": "Declining…",
    "accepted": "New appointment confirmed: {{date}}",
    "rejected": "Modification declined",
    "acceptFailedConflict": "This time slot conflicts with another appointment. Ask the pro to propose a different slot.",
    "acceptFailed": "Couldn't accept right now. Please try again."
  },
  "refundCard": {
    "title": "Cancellation & refund schedule for this booking",
    "intro": "If you cancel, your refund follows the schedule below — the tier is set by the price of this booking. The applicable amount is computed automatically at the moment you cancel.",
    "coolingOffDeadlinePreview": "100% refund if you cancel before {{deadline}}.",
    "commissionExcluded": "Refund percentages apply to the price paid to the Pro. Beedy's platform commission and payment-processing fees are non-refundable.",
    "consumerRightsReminder": "Your mandatory consumer-protection rights under FDUTPA (Fla. Stat. §§ 501.201–501.213), the federal Magnuson-Moss Warranty Act (15 U.S.C. § 2301 et seq.), the FTC Act §5 (15 U.S.C. § 45), and any other applicable state consumer-protection law continue to apply where they are more favourable than this schedule."
  },
  "ipNotice": {
    "eyebrow": "Intellectual Property Notice",
    "heroTitle": "The Beedy interface and brand are protected.",
    "heroDesc": "This notice tells anyone — whether or not they have a Beedy account — what is owned by Beedy, LLC, under what laws it is protected, and what is prohibited. Designed to complement Section 6 of the Terms of Service and to put non-users on notice.",
    "lastUpdated": "Last updated: 27 July 2026",
    "tocOverview": "1. Overview",
    "tocOwner": "2. Owner & scope",
    "tocLaws": "3. Applicable laws",
    "tocProhibited": "4. Prohibited acts",
    "tocRemedies": "5. Remedies",
    "tocTakedown": "6. Takedown & contact",
    "s1Title": "1. Overview",
    "s1Para1": "This Intellectual Property Notice sets out the rights that protect the Beedy platform, brand, and content. It complements — and stands independently of — Section 6 of the Terms of Service. Section 6 binds users who accepted the Terms; this notice is addressed to anyone, registered or not, who visits, copies, scrapes, or otherwise interacts with any part of Beedy's content or interface.",
    "s1Para2": "By accessing beedy.app or any related surface, you acknowledge the notice below and the consequences described.",
    "s2Title": "2. Owner & what is owned",
    "s2Intro": "Beedy, LLC (Delaware file no. 10637738), registered office at 131 Continental Dr Suite 305, Newark, DE 19713, USA — a Delaware limited liability company formed in the State of Delaware, USA — is the exclusive owner of:",
    "owned1": "The beedy.app source code and all of its subsystems (front-end, back-end, mobile clients, internal tooling).",
    "owned2": "The entire visual identity — design, layouts, color palette, typography, iconography, illustrations, animations, micro-interactions, navigation patterns and component library.",
    "owned3": "The BEEDY name and logo — word mark and figurative mark.",
    "owned4": "Curated databases (listings, profiles, reviews, market data).",
    "owned5": "AI models, prompts, embeddings, and evaluation datasets developed by Beedy.",
    "owned6": "Technical and marketing documentation, white papers, blog content, and product copy.",
    "s3Title": "3. Applicable laws",
    "s3Intro": "Beedy's IP is protected under multiple cumulative regimes — US federal and state laws apply to use of the Platform and to Beedy's ownership, and international conventions extend that protection abroad:",
    "law1": "US Copyright Act, 17 U.S.C. §§ 101–1332 — automatic protection of code, graphic, audio-visual, and literary works; statutory damages up to USD 150,000 per willful infringement (17 U.S.C. § 504(c)).",
    "law2": "Digital Millennium Copyright Act (DMCA), 17 U.S.C. § 512 — notice-and-takedown safe harbor and remedies for circumvention of technical protection measures (17 U.S.C. § 1201).",
    "law3": "Lanham Act, 15 U.S.C. § 1051 et seq. — federal trademark protection for the BEEDY name and logo, plus federal unfair-competition remedies (15 U.S.C. § 1125(a)).",
    "law4": "Defend Trade Secrets Act, 18 U.S.C. § 1836 — federal cause of action for misappropriation of Beedy trade secrets (including ranking algorithms and proprietary tooling).",
    "law5": "Florida Uniform Trade Secrets Act, Fla. Stat. ch. 688, and other state UTSA enactments — state-level trade secret protection.",
    "law6": "Florida Deceptive and Unfair Trade Practices Act (FDUTPA), Fla. Stat. §§ 501.201–501.213, and common-law misappropriation — state-level protection of Beedy's brand, content, and goodwill.",
    "law7": "Berne Convention for the Protection of Literary and Artistic Works — international copyright protection in all signatory countries (including the US and the European Union).",
    "law8": "Applicable common-law and statutory unfair-competition principles, trade-dress doctrine, and computer-fraud statutes (Computer Fraud and Abuse Act, 18 U.S.C. § 1030).",
    "s4Title": "4. Prohibited acts",
    "s4Intro": "Without prior written authorisation from Beedy, LLC, no person may:",
    "prohibited1": "Clone, mirror, copy, replicate, or otherwise reproduce the Beedy interface — in whole or in substantial part — for any competing or derivative service, free or commercial, on any medium.",
    "prohibited2": "Imitate, adapt, or substantially derive the look-and-feel, UI components, page layouts, navigation patterns, animations, color scheme, or visual identity in a way that creates a likelihood of confusion or exploits BEEDY's goodwill.",
    "prohibited3": "Scrape, crawl, harvest, mine, index or otherwise extract data from beedy.app by automated or systematic means beyond what is expressly allowed by our robots.txt for standard search-engine crawlers. Bulk extraction of listings, prices, reviews, or user profiles is prohibited regardless of method.",
    "prohibited4": "Reverse engineer, decompile, disassemble, or attempt to derive the source code, ideas, algorithms, file formats or APIs of the Beedy platform, except to the limited extent any such restriction is prohibited by applicable mandatory law.",
    "prohibited5": "Incorporate any Beedy code, design files, icons, illustrations, animations, or UI components into another product, service, AI training dataset, template, theme, design system, or library — whether redistributed or not.",
    "prohibited6": "Use the platform or its content (including AI-generated outputs) to train, fine-tune, evaluate, or benchmark any machine-learning model, large-language model, or generative-AI system without prior written authorisation.",
    "prohibited7": "Circumvent, disable, or interfere with any technical measure intended to control access to or use of the platform — including rate limits, CAPTCHA, authentication, watermarks, or content protection — or with the security and integrity of the platform.",
    "s5Title": "5. Remedies",
    "s5Para1": "Any violation of this notice is actionable under the laws cited in Section 3. Beedy may seek immediate injunctive relief in any court of competent jurisdiction (including ex parte / emergency TRO and preliminary injunction to stop ongoing infringement), statutory and actual damages, lost profits, recovery of its reasonable attorneys' fees, and may report the conduct to applicable authorities (US FBI Internet Crime Complaint Center / IC3, US Copyright Office, USPTO, and the Florida Department of Law Enforcement cybercrime unit).",
    "s5Para2": "Where the infringer is also a Beedy user, account suspension or termination is automatic and immediate under Section 8 of the Terms of Service.",
    "s5StatutoryLabel": "Statutory damages",
    "s5StatutoryBody": "Under US Copyright Act 17 U.S.C. § 504(c), statutory damages of up to USD 150,000 per willful infringement may be awarded without proof of actual damage, plus full recovery of attorneys' fees and costs (17 U.S.C. § 505). State trade-secret and unfair-competition statutes provide additional, cumulative remedies. Either regime alone is sufficient grounds for liability.",
    "s6Title": "6. DMCA Notice & Takedown — Designated Agent",
    "s6Intro": "To report a suspected infringement of Beedy's intellectual property — or content posted on the Platform that infringes your own copyright — send a written DMCA notice (17 U.S.C. § 512(c)(3)) to Beedy's designated agent including all of the following elements (omitting any element may delay processing):",
    "takedown1": "(a) Identification of the copyrighted work claimed to be infringed — title, registration number where available, and a representative copy or URL of the original.",
    "takedown2": "(b) Identification of the allegedly infringing material with sufficient detail to locate it — direct URL, screenshot, archive link (web.archive.org snapshot recommended), and date observed.",
    "takedown3": "(c) Your physical or electronic signature, full legal name, mailing address, telephone number, and email; a statement of your authority to act on behalf of the rights holder; and a good-faith statement that the use is unauthorized by the rights holder, its agent, or the law.",
    "takedown4": "(d) A statement made under penalty of perjury that the information in the notice is accurate. Counter-notices follow the procedure in 17 U.S.C. § 512(g); Beedy's repeat-infringer policy (17 U.S.C. § 512(i)) results in account termination after two substantiated notices within twelve months. Designated DMCA agent: Beedy, LLC, attn: DMCA Agent, 131 Continental Dr Suite 305, Newark, DE 19713, USA — email dmca@beedy.app (acknowledgement within 10 business days). Beedy is in the process of registering the agent with the US Copyright Office DMCA Directory (37 CFR § 201.38); until registration is final, this notice is the public publication required for safe-harbor eligibility.",
    "contactLabel": "Legal team",
    "reservation": "© Beedy, LLC All rights reserved. No license, right, or interest in any Beedy intellectual property is granted by implication, estoppel, or otherwise — only rights expressly granted in writing in these Terms or in a separate written agreement signed by an authorised officer of Beedy, LLC",
    "finalCtaTitle": "Need to request a license, or report infringement?",
    "finalCtaDesc": "Our legal team responds within ten (10) business days. For urgent infringement cases (ongoing public copying of the Beedy interface) mention \"URGENT — IP INFRINGEMENT\" in the subject line for priority handling.",
    "finalCtaButton": "Contact our legal team"
  },
  "privacyChoices": {
    "eyebrow": "Your Privacy Choices",
    "heroTitle": "Do Not Sell or Share My Personal Information",
    "heroDesc": "Under the California Consumer Privacy Act (CCPA/CPRA §1798.135), the Florida Digital Bill of Rights, and equivalent laws in Virginia, Colorado, Connecticut, Utah, Texas, Oregon, Montana, Iowa, Tennessee, Delaware, New Hampshire, New Jersey, Indiana, and Maryland, you have the right to opt out of the \"sale\" or \"sharing\" of your personal information for cross-context behavioral advertising. Use this page to turn that opt-out on or off — your choice applies to this browser and, if you sign in, to your Beedy account.",
    "lastUpdated": "Last updated: 26 May 2026",
    "gpcDetectedTitle": "Global Privacy Control signal detected",
    "gpcDetectedBody": "Your browser is sending a Global Privacy Control (GPC) signal, which California and Colorado regulations require us to honor as an opt-out request. We have automatically recorded your opt-out — you do not need to take any further action. Turning GPC off in your browser will let you change the choice below.",
    "sToggleTitle": "Toggle your opt-out",
    "sToggleBody": "Beedy does not engage in monetary \"sales\" of personal information, but our use of analytics (Google Analytics, PostHog) for product-improvement purposes may be treated as \"sharing\" for cross-context behavioral advertising under CCPA/CPRA. When you opt out, we suppress those analytics, do not load any cookies categorized as advertising or cross-context targeting, and propagate the choice to our service providers under written contract.",
    "toggleLabel": "Sale / Share opt-out",
    "toggleOnDesc": "Opt-out active — analytics and any advertising / cross-context sharing are turned off for this browser.",
    "toggleOffDesc": "Opt-out is off — analytics cookies may load and we may share usage signals with our analytics providers under contract. We never sell personal information for money.",
    "optOutCta": "Opt out — Do Not Sell or Share",
    "optedOutLabel": "Opted out — turn opt-out off",
    "saving": "Saving…",
    "savedFlash": "Your choice has been saved.",
    "gpcLockedNote": "While Global Privacy Control is active in your browser, the opt-out cannot be turned off here. Disable GPC in your browser settings if you want to change this choice.",
    "recordedAt": "Last recorded: {{date}}",
    "sCoverageTitle": "What the opt-out covers",
    "sCoverageBody": "When you opt out, we apply the change to:",
    "cov1": "Cookies and trackers categorised as analytics or cross-context behavioral advertising (Google Analytics, PostHog).",
    "cov2": "Any future advertising / re-targeting pixel we add to the Platform (not currently deployed).",
    "cov3": "Sharing with third-party analytics / ad-tech vendors for purposes that count as \"sale\" or \"sharing\" under CCPA/CPRA — we currently have no such transfers, and the opt-out flag forecloses adding them without re-consent.",
    "coverageNote": "Strictly-necessary cookies (authentication, fraud detection, payment processing) and our first-party preference cookies (language, theme, currency) are not affected — they are essential to operate the Platform and are not \"sold\" or \"shared\" under any state law.",
    "sStateRightsTitle": "Other state privacy rights",
    "sStateRightsBody": "In addition to the opt-out above, residents of California, Florida, Virginia, Colorado, Connecticut, Utah, Texas, Oregon, Montana, Iowa, Delaware, New Hampshire, New Jersey, Tennessee, Indiana, and Maryland have the right to know, delete, correct, and obtain a portable copy of their personal information; to limit our use of sensitive personal information (none currently collected by Beedy); and to appeal denied requests. Children's data rights under COPPA also apply where relevant — Beedy does not knowingly collect data from anyone under 18.",
    "sStateRightsHow": "To exercise any of these other rights, write to privacy@beedy.app or use the in-app account-deletion / export flow under Settings → Security & privacy. We respond within forty-five (45) days.",
    "sContactTitle": "Contact our privacy team",
    "sContactBody": "Questions about your privacy choices or any other privacy matter? Our privacy team is here for you. We acknowledge within five (5) business days and resolve formal requests within forty-five (45) days.",
    "contactLabel": "Privacy team",
    "linkPrivacy": "Read the Privacy Policy",
    "linkCookies": "See the Cookies Policy"
  },
  "bidReschedule": {
    "awaitingProTitle": "Waiting for the pro to confirm the time slot.",
    "awaitingPro": "Waiting for the pro",
    "proposeButton": "Propose a new time slot",
    "validationDateRequired": "Please choose a date.",
    "validationTimeRequired": "Please choose a time.",
    "validationInPast": "The time slot must be in the future.",
    "failed": "Could not send the reschedule request.",
    "pendingExists": "A request is already pending on this offer.",
    "orderNotSearching": "This request is no longer open to offers.",
    "bidNotReschedulable": "This offer can no longer be rescheduled.",
    "submitted": "Request sent to the pro. You'll be notified as soon as they respond.",
    "modalTitle": "Propose a new time slot",
    "cancel": "Cancel",
    "modalSubtitle": "The pro ({{provider}}) must accept the new time slot before you can confirm the offer.",
    "newDateLabel": "New date",
    "newTimeLabel": "New time",
    "selectTime": "Select a time.",
    "reasonLabel": "Message (optional)",
    "reasonPlaceholder": "Briefly explain the change (optional).",
    "submitting": "Sending…",
    "submit": "Send request"
  },
  "bidRescheduleInbox": {
    "acceptFailed": "Couldn't accept this request. Please try again.",
    "acceptOk": "Time slot confirmed to the client.",
    "rejectFailed": "Couldn't decline this request. Please try again.",
    "rejectOk": "Request declined. The client has been notified.",
    "title": "New time slot requests",
    "subtitle": "A client is proposing a new time slot for your offer. Accept to confirm the appointment, or decline to stay available.",
    "unknownClient": "Client",
    "yourBid": "Your offer",
    "proposedFor": "New time slot proposed",
    "accept": "Accept",
    "reject": "Decline"
  },
  "print": "Print",
  "modificationBanner": {
    "singleTitle": "Reschedule request pending",
    "review": "View",
    "subtitle": "The provider is proposing a new time — your confirmation is required.",
    "multiTitle_one": "{{count}} reschedule request pending",
    "multiTitle_other": "{{count}} reschedule requests pending"
  },
  "lang": "en",
  "unsubscribe": {
    "working": "Processing your request…",
    "doneTitle": "You're unsubscribed",
    "doneBody": "You will no longer receive marketing emails from Beedy.",
    "doneBodyEmail": "{{email}} will no longer receive marketing emails from Beedy.",
    "errorTitle": "This link is invalid or expired",
    "errorBody": "You can manage your email preferences from your account settings, or contact support@beedy.app."
  },
  "common": {
    "close": "Close",
    "cancel": "Cancel"
  },
  "proActivate": {
    "codeExpired": "Code expired — request a fresh one.",
    "deliveryFailed": "Could not send the code. Please try again.",
    "genericError": "Something went wrong. Try again.",
    "rateLimited": "Too many attempts — please try again in 30 minutes.",
    "wrongCode": "Wrong code — {{attempts}} attempt(s) left."
  },
  "verifyEmail": {
    "notice": {
      "title": "Check your email",
      "subtitle": "We sent a confirmation link to {{email}}. Click it to activate your account.",
      "resend": "Resend the email",
      "resent": "Email sent — check your inbox.",
      "backToLogin": "Back to login",
      "spam": "Can't find it? Check your spam folder."
    },
    "page": {
      "verifying": "Confirming your email…",
      "successTitle": "Email confirmed!",
      "successSubtitle": "Your account is now active. Redirecting…",
      "invalidTitle": "Invalid link",
      "expiredTitle": "This link has expired",
      "invalidHelp": "Enter your email to receive a new confirmation link.",
      "emailPlaceholder": "Your email address",
      "resendCta": "Send a new link",
      "goToLogin": "Go to login"
    },
    "loginError": "Please confirm your email address before signing in. We sent you a link."
  },
  "retry": "Retry",
  "adminRefunds": {
    "title": "Refunds",
    "refresh": "Refresh",
    "loadError": "Failed to load refund requests",
    "unknownOrder": "Order",
    "filters": {
      "pending": "Pending",
      "failed": "Failed",
      "approved": "Approved",
      "processed": "Processed",
      "rejected": "Rejected",
      "all": "All"
    },
    "kpi": {
      "pending": "Pending review",
      "failed": "Failed",
      "processed": "Processed",
      "processedTotal": "Total refunded"
    },
    "columns": {
      "order": "Order",
      "amount": "Amount",
      "policy": "Policy",
      "status": "Status",
      "reason": "Reason",
      "requested": "Requested",
      "actions": "Actions",
      "adminNotes": "Admin note"
    },
    "empty": {
      "title": "No refund requests",
      "description": "Refund requests will appear here for review."
    },
    "actions": {
      "approve": "Approve",
      "reject": "Reject",
      "retry": "Retry"
    },
    "approveConfirm": {
      "title": "Approve this refund?",
      "description": "{{amount}} will be refunded to the customer via Stripe immediately. This cannot be undone."
    },
    "retryConfirm": {
      "title": "Retry this refund?"
    },
    "reject": {
      "title": "Reject refund",
      "description": "Tell the customer why this refund is being rejected.",
      "reasonLabel": "Rejection reason",
      "reasonPlaceholder": "e.g. work was already completed",
      "submit": "Reject refund"
    },
    "toast": {
      "approveSuccess": "Refund approved and processed",
      "approveFailed": "Refund could not be processed",
      "approveFailedHint": "It was marked as failed — you can retry it.",
      "rejectSuccess": "Refund rejected",
      "actionError": "Something went wrong"
    },
    "decidedByOn": "By {{name}} · {{date}}"
  },
  "termsReacceptanceBanner": {
    "title": "Our Terms of Service have been updated",
    "description": "We've updated our Terms of Service and Privacy Policy. Please review and accept the new terms.",
    "ctaLabel": "Review & accept",
    "accepted": "Thanks — your acceptance has been recorded.",
    "error": "Couldn't record your acceptance. Please try again."
  },
  "currentMission": {
    "title": "Active mission",
    "minimize": "Minimize",
    "seeOffers": "See offers",
    "actionFailed": "Action failed, please retry.",
    "pro": {
      "confirmDeparture": "Confirm departure",
      "arrived": "I've arrived",
      "openMission": "Open mission",
      "newDemandes": "{{n}} new request(s)",
      "damageReported": "Damage reported — schedule the repair",
      "damageRepairOn": "Repair on {{date}}",
      "damageAwaitingClient": "Repair awaiting the client"
    },
    "awaitingDeparture": "Waiting for the pro to leave",
    "enRoute": "The pro is on the way",
    "etaAbout": "~{{n}} min",
    "seeAllOffers": "See all {{n}} offers",
    "offersList": "Received offers",
    "offerRowAria": "Offer from {{name}} at {{price}}",
    "offerProviderFallback": "Pro",
    "arrivingAt": "Arriving ~{{time}}"
  },
  "adminNotifications": {
    "byPro": {
      "title": "Notifications by pro",
      "subtitle": "Every notification grouped by professional",
      "searchPlaceholder": "Search a pro (name or number)…",
      "filterType": "Filter by type",
      "allTypes": "All types",
      "unreadOnly": "Unread only",
      "empty": "No pro has notifications yet",
      "emptyFiltered": "No pro matches the filters",
      "totalLabel": "{{count}} notifications",
      "unreadLabel": "{{count}} unread",
      "lastActivity": "Last activity",
      "expand": "Show notifications",
      "collapse": "Hide notifications",
      "drawerEmpty": "No notification for this pro",
      "types": {
        "order_status": "Order update",
        "new_bid": "New bid",
        "bid_accepted": "Bid accepted",
        "new_demande": "New request",
        "connect_onboarding_reminder": "Connect onboarding",
        "review_received": "Review received",
        "provider_activated": "Account activated",
        "verification_required": "Verification required",
        "admin_alert": "Admin alert"
      }
    },
    "bellLabel": "Notifications",
    "panelTitle": "Notifications",
    "markAllRead": "Mark all as read",
    "empty": "No notifications",
    "loading": "Loading notifications…",
    "loadError": "Could not load notifications",
    "retry": "Retry",
    "severity": {
      "critical": "Critical",
      "warning": "Warning",
      "info": "Info"
    },
    "time": {
      "justNow": "Just now",
      "minutesAgo": "{{count}} min ago",
      "hoursAgo": "{{count}}h ago",
      "yesterday": "Yesterday",
      "daysAgo": "{{count}}d ago"
    },
    "viewAll": "View all",
    "page": {
      "title": "Notifications",
      "subtitle": "All operational alerts for the admin team",
      "searchPlaceholder": "Search notifications…",
      "filterCategory": "Filter by category",
      "filterSeverity": "Filter by severity",
      "filterState": "Filter by status",
      "allCategories": "All categories",
      "allSeverities": "All severities",
      "stateAll": "Read and unread",
      "stateUnread": "Unread",
      "stateRead": "Read",
      "markRead": "Mark read",
      "markUnread": "Mark unread",
      "delete": "Delete",
      "deleteSelected": "Delete selection",
      "deleteRead": "Delete read",
      "confirmDeleteRead": "Confirm deleting read notifications?",
      "open": "Open",
      "selection": "{{count}} selected",
      "selectRow": "Select notification",
      "selectAll": "Select all",
      "empty": "No notifications",
      "emptyFiltered": "No notifications match the filters",
      "paginationPrev": "Previous",
      "paginationNext": "Next",
      "paginationInfo": "{{from}}–{{to}} of {{total}}"
    },
    "categories": {
      "order_new": "New order",
      "order_accepted": "Order accepted",
      "bid_new": "New bid",
      "message_new": "New message",
      "refund_request": "Refund request",
      "refund_approved": "Refund approved",
      "refund_shortfall": "Refund shortfall",
      "dispute": "Bank dispute",
      "damage_claim": "Damage claim",
      "change_request": "Change request",
      "payout_blocked": "Payout blocked",
      "kyc": "KYC verification",
      "payment_failed": "Payment failed",
      "no_show": "Pro no-show",
      "pro_late": "Pro running late",
      "cancellation": "Cancellation",
      "manual_dispatch": "Manual dispatch",
      "order_stuck": "Order stuck",
      "system": "System"
    }
  },
  "phoneAuth": {
    "signUpWithPhone": "Sign up with phone number",
    "loginWithPhone": "Log in with phone number",
    "orPhone": "or with phone number",
    "phoneLabel": "Phone number",
    "countryCodeLabel": "Country code",
    "nameLabel": "Full name",
    "namePlaceholder": "John Doe",
    "helpText": "We'll text you a verification code. No password needed.",
    "sendCode": "Send verification code",
    "codeSent": "Verification code sent.",
    "codeSentTo": "Code sent to",
    "codeResent": "Code sent again.",
    "resendIn": "Resend in {{count}}s",
    "resendCode": "Resend code",
    "changePhone": "Change phone number",
    "back": "Back",
    "invalidPhone": "Please enter a valid phone number.",
    "verifying": "Verifying…",
    "errors": {
      "generic": "Something went wrong. Please try again.",
      "invalidCode": "Invalid code. Please try again.",
      "tooManyRequests": "Too many requests. Please try again later.",
      "sendFailed": "Couldn't send the code. Please try again later.",
      "ambiguous": "Multiple accounts use this number. Please sign in with email instead.",
      "notActivated": "This account isn't activated yet. Please finish registration first."
    }
  }
}
