{
  "Metadata": {
    "signIn": "Sign In - ReputRadar",
    "signInMetaDesc": "Sign in to ReputRadar to manage Google Business reviews, automations, and reporting for your locations.",
    "signUp": "Sign Up - ReputRadar",
    "signUpMetaDesc": "Create a free ReputRadar account to centralize Google Business reviews, AI-assisted replies, and multi-location reporting.",
    "forgotPassword": "Forgot Password - ReputRadar",
    "forgotPasswordMetaDesc": "Reset your ReputRadar password. Enter your email and we’ll send a secure link to get back into your Google Business reviews workspace.",
    "resetPassword": "Reset Password - ReputRadar",
    "createPassword": "Create Password - ReputRadar",
    "acceptInvitation": "Accept Invitation - ReputRadar",
    "verify2FA": "Verify 2FA - ReputRadar",
    "pendingEmailVerification": "Confirm your email - ReputRadar",
    "accountCreated": "Account created - ReputRadar",
    "onboarding": "Onboarding - ReputRadar",
    "choosePlan": "Choose Plan",
    "newOrganization": "New Organization - ReputRadar",
    "dashboard": "Dashboard - ReputRadar",
    "reviews": "Reviews - ReputRadar",
    "locations": "Locations - ReputRadar",
    "locationDetail": "{name} - ReputRadar",
    "locationAdmins": "{name} - Google admins - ReputRadar",
    "locationFallback": "Location - ReputRadar",
    "posts": "Posts - ReputRadar",
    "media": "Media - ReputRadar",
    "templates": "Templates - ReputRadar",
    "users": "Users - ReputRadar",
    "aiResponses": "AI Responses - ReputRadar",
    "automations": "Automations - ReputRadar",
    "notifications": "Notifications - ReputRadar",
    "reports": "Reports - ReputRadar",
    "reportsTrends": "Trends - ReputRadar",
    "reportsPerformance": "Performance - ReputRadar",
    "reportsInsights": "Insights - ReputRadar",
    "askAi": "Ask AI - ReputRadar",
    "settings": "Settings - ReputRadar",
    "security": "Security - ReputRadar",
    "subscription": "Subscription - ReputRadar",
    "privacyPolicy": "Privacy Policy - ReputRadar",
    "termsOfService": "Terms of Service - ReputRadar",
    "title": "ReputRadar | Google Business Reviews Manager",
    "description": "Manage your Google Business Profile reviews across all locations from a single dashboard.",
    "brand": "ReputRadar",
    "language": "Language",
    "english": "English",
    "spanish": "Español",
    "openDashboard": "Open dashboard",
    "getStarted": "Get started",
    "tagline": "Google Business Reviews",
    "headline": "One dashboard for all your locations",
    "startFree": "Start free",
    "privacy": "Privacy",
    "terms": "Terms",
    "privacyPolicyMetaDesc": "Privacy policy for ReputRadar. How we collect, use, and protect your data when you use our Google Business reviews management service.",
    "termsOfServiceMetaDesc": "Terms of service for ReputRadar. Rules and conditions for using our Google Business reviews management service.",
    "reportsGroup": "Group Comparison - ReputRadar",
    "jobQueues": "Job Queues - ReputRadar",
    "adminOrganizations": "Organizations - ReputRadar",
    "adminOrganizationDetail": "{name} - ReputRadar",
    "adminAuthentication": "Authentication overview - ReputRadar",
    "adminAuthenticationUsers": "User accounts · ReputRadar",
    "adminAuthenticationUserDetail": "{email} · ReputRadar",
    "adminAuthenticationUserMissing": "User not found · ReputRadar"
  },
  "Landing": {
    "brand": "ReputRadar",
    "seoTitle": "AI Google Review Management for Multiple Locations | ReputRadar",
    "seoDescription": "Manage Google reviews for every location in one inbox: AI replies in your brand voice, auto-reply rules, review links, alerts and reports. Free plan; from $9/mo.",
    "seoKeywords": "Google reviews management, Google Business Profile reviews, multi-location review software, AI review replies, ask questions about reviews, review insights AI, reputation management, local SEO reviews, review response automation, Google Business dashboard",
    "ogImageAlt": "ReputRadar — Google Business review software for multi-location teams with AI replies, Ask AI, and automations",
    "signIn": "Sign in",
    "getStarted": "Get started",
    "openDashboard": "Open dashboard",
    "startFree": "Start free",
    "tagline": "Google Business Profile — on steroids",
    "heroHeadline": "Every review, every location. <accent>Google reviews on autopilot.</accent>",
    "description": "One inbox for every location. AI and automations keep replies moving; templates, rules, or fully manual when you want the wheel. Ask AI turns your synced Google Business reviews into something you can actually interrogate—plain-language questions, answers tied to real quotes and citations. Roll-up reporting across locations—overview, trends, performance, and insights—without living in spreadsheets.",
    "heroPriceHint": "Free to start · Paid plans from $9/mo",
    "freePlanNoteFree": "Free plan",
    "freePlanNoteNoCard": "No credit card",
    "freePlanNoteCancel": "Cancel anytime",
    "trustGoogleAccess": "Connects through Google’s official Business Profile API. You can revoke access from your Google account at any time.",
    "trustNoAutoPost": "Nothing is posted to Google unless you send it or turn on an automation.",
    "trustSupport": "Questions? Email <link>{email}</link>",
    "trustPrivacyLink": "Privacy policy",
    "heroSecondaryCta": "Watch the demo",
    "demoSectionTitle": "See it in action",
    "heroDemoCaption": "Interactive demo · Full workspace walkthrough",
    "proofEyebrow": "Google Business Profile",
    "proofTitle": "Reviews aren’t busywork—they’re how you win local",
    "proofLead": "Google ties review volume, ratings, and public replies to prominence in local results and to the story shoppers see on Maps & Search. Teams that run reviews like revenue—not a side inbox—compound that advantage across every location.",
    "proofCard1Title": "Earn a stronger local position",
    "proofCard1Body": "Google lists prominence among the signals behind who shows up for nearby searches—and says more reviews and positive ratings can help your business’s local ranking.",
    "proofCard2Title": "Show up when the decision happens",
    "proofCard2Body": "Reviews appear next to your Business Profile on Maps and Search. Google highlights them as the proof people use to pick where to go—before they ever hit your website.",
    "proofCard3Title": "Signal an operator, not a ghost town",
    "proofCard3Body": "Google recommends replying to reviews: it shows you value feedback, and positive reviews with helpful replies can help your business stand out. Consistent responses read as an active, trustworthy operation.",
    "proofFootnote": "Summarized from Google Business Profile Help (local ranking & reviews). Google is a trademark of Google LLC; ReputRadar is not affiliated with Google.",
    "heroAsidePreviewAriaLabel": "Sample product preview: Google reviews inbox with an AI-generated reply",
    "heroAsideInboxTitle": "Reviews inbox",
    "heroAsideInboxSubtitle": "Live · 3 locations",
    "heroAsideReview1Name": "Mara K.",
    "heroAsideReview1Location": "McDonald's Manhattan",
    "heroAsideReview1Body": "Stopped in after a show—line moved fast, crew was friendly, and the fries were actually hot. Best McDonald’s run I’ve had in Manhattan.",
    "heroAsideReview2Name": "James T.",
    "heroAsideReview2Location": "Subway, Millenia Mall",
    "heroAsideReview2Body": "Great footlongs at the Millenia Mall Subway. Only gripe is weekend parking around the mall can be a mess.",
    "heroAsideReview3Name": "Sofia R.",
    "heroAsideReview3Location": "Harbor & Grain · Seaport",
    "heroAsideReview3Body": "We held our company dinner at Harbor & Grain—food, drinks, and the seaport view were incredible. Your team made it effortless.",
    "heroAsideAiDraftLabel": "AI draft",
    "heroAsideAiResponse": "Thank you so much, Sofia! We’re thrilled your company dinner at Harbor & Grain was a hit—our whole crew loved hosting you by the water. We’d be honored to welcome you back anytime.",
    "painEyebrow": "Sound familiar?",
    "painLead": "Teams juggling Google reviews across locations hit the same walls—until everything runs from one workspace.",
    "painPointsTitle": "The pain points we solve every day",
    "pain1Title": "Hours lost replying manually",
    "pain1Desc": "Stop spending team time writing repetitive replies and switching tabs all day. Centralize and accelerate review responses.",
    "pain2Title": "Location management chaos",
    "pain2Desc": "Run every Google Business location from one workspace instead of juggling disconnected accounts and spreadsheets.",
    "pain3Title": "No detailed reporting",
    "pain3Desc": "Move beyond basic star averages with trend, performance, and insight reports that help you prioritize action.",
    "pain4Title": "Weak access control for teams",
    "pain4Desc": "Use role-based access controls so each team member gets exactly the permissions they need—nothing more, nothing less.",
    "startEyebrow": "~10 minutes",
    "startTitle": "A straight line from signup to automation",
    "startLead": "This is the path the product is built around—no workshop, just the same screens you’ll use day to day.",
    "timelineStepLabel": "Step {step}",
    "timelineStep1Title": "Sign up & open your workspace",
    "timelineStep1Hint": "~2 min",
    "timelineStep1Body": "Create your account, name your organization and timezone, then choose Free or a paid plan—you land in the dashboard with the guided checklist ready.",
    "timelineStep2Title": "Connect Google & import a location",
    "timelineStep2Hint": "~3 min",
    "timelineStep2Body": "Link the Google account behind your Business Profile and add at least one location so reviews sync into your unified inbox.",
    "timelineStep3Title": "Create your AI voice",
    "timelineStep3Hint": "~3 min",
    "timelineStep3Body": "In AI Responses, set tone and optional rules so drafts match your brand before you send—or wire template-based replies from Templates when you prefer fixed wording.",
    "timelineStep4Title": "Turn on automations",
    "timelineStep4Hint": "~2 min",
    "timelineStep4Body": "Open Automations and add AI reply rules or template rules so repeat scenarios don’t start from a blank box every time.",
    "timelineStep5Title": "Enjoy calmer days",
    "timelineStep5Hint": "Ongoing",
    "timelineStep5Body": "Let drafts and automations carry the repetitive replies—you step in when you want to refine tone, handle edge cases, or see what went out.",
    "reportsEyebrow": "Reporting",
    "reportsTitle": "Reports your leaders will actually use",
    "reportsLead": "Roll every location into one workspace: health at a glance, multi-period trends, Google Business Profile performance, and AI topic insights—without exporting to spreadsheets or rebuilding charts every Monday.",
    "reportsCard1Title": "Organization overview",
    "reportsCard1Body": "Rating distribution, response rate, sentiment, monthly momentum, and a clear “needs attention” queue—so you see risk before it hits the executive inbox.",
    "reportsCard2Title": "Trends across the footprint",
    "reportsCard2Body": "Volume, day-of-week patterns, location comparisons, and rating trajectories with period filters—built for operators who run dozens of sites, not a single storefront.",
    "reportsCard3Title": "Google Business Profile performance",
    "reportsCard3Body": "Impressions, Search vs Maps, customer actions, keywords, and funnel-style views from the profiles you already connected—no CSV gymnastics.",
    "reportsCard4Title": "AI-powered topic insights",
    "reportsCard4Body": "Surface recurring themes across thousands of reviews so product, ops, and local leads align on what customers actually say—not just the average star count.",
    "reportsFootnote": "Full reporting unlocks on paid plans once locations are connected. Free accounts can explore the layout; live metrics populate after sync.",
    "navSectionsLabel": "On this page",
    "navWhy": "Why ReputRadar",
    "navSetup": "How it works",
    "navAskAi": "Ask AI",
    "navReports": "Reports",
    "navProduct": "Product",
    "navPricing": "Pricing",
    "navFaq": "FAQ",
    "navMobileMenuLabel": "On This Page",
    "navMenuOpenLabel": "Open Menu",
    "navMenuCloseLabel": "Close Menu",
    "askAiShowcaseEyebrow": "Ask AI",
    "askAiShowcaseTitle": "Your review history, finally queryable",
    "askAiShowcaseLead": "Stop guessing from star averages. Ask AI searches your synced Google Business reviews and answers in plain language—with citations to the exact feedback behind each claim. Not the open web. Not a generic chatbot.",
    "askAiShowcaseHowTitle": "How it works",
    "askAiShowcaseStep1Title": "Sync your reviews",
    "askAiShowcaseStep1Desc": "Connect Google Business locations so every new review lands in one workspace your whole team can see.",
    "askAiShowcaseStep2Title": "Open Ask AI",
    "askAiShowcaseStep2Desc": "From the dashboard, start a conversation—the same surface where you already triage and reply.",
    "askAiShowcaseStep3Title": "Ask like you mean it",
    "askAiShowcaseStep3Desc": "Compare locations, hunt themes, pressure-test a hunch—typed like a message to a colleague, backed by your own review data.",
    "askAiShowcaseStep4Title": "Verify and act",
    "askAiShowcaseStep4Desc": "Jump to cited reviews, align ops or marketing, then respond—or fix what customers keep repeating.",
    "askAiShowcaseWindowTitle": "Ask AI",
    "askAiShowcaseWindowSub": "Your synced reviews · answers with sources",
    "askAiShowcaseBadge": "Live",
    "askAiShowcaseUserLabel": "You",
    "askAiShowcaseUserMsg": "What are customers complaining about most this month?",
    "askAiShowcaseAssistantLabel": "Assistant",
    "askAiShowcaseAssistantMsg": "The strongest pattern is wait times at lunch and parking on weekends—open any of these reviews to read the full context.",
    "askAiShowcaseSourcesTitle": "Citations",
    "askAiShowcaseSourceChip1": "Downtown",
    "askAiShowcaseSourceChip2": "Airport",
    "askAiShowcaseWindowSubQuery": "Natural-language search · answers cite your reviews",
    "askAiShowcaseQueryLabel": "Query",
    "askAiShowcaseSearching": "Searching {reviewCount} synced reviews…",
    "askAiShowcaseMatchesTitle": "Evidence from your history",
    "askAiShowcaseSnippet1Quote": "Lunch rush was a mess—we waited at the door for 20 minutes before anyone seated us.",
    "askAiShowcaseSnippet2Quote": "Food was great, but Saturday parking was a nightmare.",
    "productEyebrow": "Platform",
    "productTitle": "One surface for every review workflow",
    "productSubtitle": "Thirteen connected workspaces—from unified inbox to AI rules, Ask AI over your real review text, automations, and executive reporting—designed the way serious teams run Google Business programs.",
    "bentoCardCta": "Get started",
    "productGuidesTitle": "Explore by workflow",
    "productGuideAutomate": "Automate Google review responses",
    "productGuideAiReplies": "AI Google review replies",
    "productGuideNegative": "Respond to negative reviews automatically",
    "productGuideDashboard": "Google review dashboard",
    "productGuideMultiLocation": "Manage reviews for multiple locations",
    "productGuideIndustries": "Review management by industry",
    "productGuideElectrician": "Electricians",
    "productGuideHomeServices": "Home services",
    "productGuideInsurance": "Insurance agencies",
    "productGuideRestaurants": "Restaurants",
    "productGuideDental": "Dental clinics",
    "featMeta01": "Overview",
    "featMeta02": "Unified inbox",
    "featMeta03": "Google Business",
    "featMeta04": "Local presence",
    "featMeta05": "Business Profile photos",
    "featMeta06": "Brand voice",
    "featMeta07": "Team access",
    "featMeta08": "AI drafting",
    "featMeta09": "Workflows",
    "featMeta10": "Alerts",
    "featMeta11": "Analytics",
    "featMeta12": "Control plane",
    "featMeta13": "Ask your reviews",
    "capDashboardDesc": "Open with health at a glance: pending replies, ratings, and activity across connected locations.",
    "capReviewsDesc": "Work the full review lifecycle—read, reply, flag, templates, and AI-assisted drafts—in one inbox.",
    "capLocationsDesc": "Connect and organize Google Business locations, permissions, and sync status without switching accounts.",
    "capPostsDesc": "Plan and publish Google posts alongside reviews so local messaging stays consistent.",
    "capMediaDesc": "Keep photos and assets organized for profiles and campaigns tied to each location.",
    "capTemplatesDesc": "Save approved snippets and response patterns your team can reuse for speed and brand voice.",
    "capUsersDesc": "Invite teammates and align access with what each role should see or change.",
    "capAiResponsesDesc": "Tune AI response rules per location so drafts stay on-policy before anyone hits send.",
    "capAutomationsDesc": "Automate recurring review workflows, including bulk actions and template-driven replies.",
    "capNotificationsDesc": "Get alerted when reviews need attention or when important events happen in the workspace.",
    "capReportsDesc": "Go from overview to trends, performance, and AI-powered insights without exporting spreadsheets.",
    "capSettingsDesc": "Manage organization profile, security, billing, and subscription from a dedicated control center.",
    "capAskAiDesc": "Interrogate your synced reviews in plain language—answers cite real feedback so you go from hunch to proof without reading hundreds of threads by hand.",
    "pricingTitle": "Hard-to-beat value",
    "pricingSubtitle": "Powerful functionality and advanced controls without enterprise-level pricing.",
    "pricingSchemaOfferDescription": "Free plan and paid plans from $9/month to $149/month (USD). Toggle monthly or annual billing on the pricing section.",
    "pricingCompare": "Most alternatives charge significantly more for this level of feature completeness across reviews, reporting, automations, and RBAC.",
    "pricingSocialProof": "Secure checkout with Stripe. Cancel anytime. Every paid plan includes a 7-day free trial.",
    "faqTitle": "Frequently asked questions",
    "faq1Q": "What is ReputRadar?",
    "faq1A": "ReputRadar is a review operations platform that helps multi-location teams manage Google Business reviews from one dashboard, reply faster with AI-assisted drafts, and get detailed reports and automations with role-based access.",
    "faq2Q": "How do I connect my Google Business locations?",
    "faq2A": "Sign in with Google and we'll import your locations and reviews. You can manage all locations from a single workspace and control who can see or reply per location.",
    "faq3Q": "Can I try it before paying?",
    "faq3A": "Yes. Start free with one location and upgrade when you need more. You can change or cancel your plan anytime.",
    "faq4Q": "Is there a long-term contract?",
    "faq4A": "No long-term lock-in. Pay month-to-month, or choose annual billing to save roughly 20% (charged once per year). You can upgrade, downgrade, or cancel whenever you want.",
    "faq5Q": "Do you support review sites besides Google?",
    "faq5A": "Today ReputRadar is built specifically for Google Business Profile—locations, reviews, posts, and media sync through Google’s APIs. Other platforms aren’t supported yet.",
    "faq6Q": "Does AI post replies without my approval?",
    "faq6A": "In the inbox you generate drafts and choose when to send. In Automations, each rule can require your approval before posting, or send automatically with timing you set—immediate, fixed delay, or a random delay window for a more natural cadence.",
    "faq7Q": "How do AI reply limits work?",
    "faq7A": "Each plan includes a monthly allowance of AI-assisted replies. The free tier includes a small number to try the flow; paid plans scale up with your subscription. If you need more in a busy month, you can purchase additional AI credit packs from Billing in Settings.",
    "faq8Q": "Can my team work together with different access levels?",
    "faq8A": "Yes. Invite teammates from Users, assign roles, and the app enforces permissions—so people only see dashboards, locations, automations, or reports that match their role. Location access can be scoped so managers stay focused on their stores.",
    "faq9Q": "Can I publish Google posts or update photos from ReputRadar?",
    "faq9A": "Yes. Use Posts to create and publish Business Profile updates, and Media to manage photos and videos for your locations—alongside the unified review inbox.",
    "faq10Q": "How will I know when there’s a new review?",
    "faq10A": "New activity shows up in your unified inbox as reviews sync. You can enable email notifications, configure alerts per location, and optionally connect Telegram for real-time updates in a chat or group.",
    "faq11Q": "Can I ask questions about what customers actually wrote?",
    "faq11A": "Yes. Ask AI is built for exactly that: a conversational layer on top of your organization’s synced Google Business reviews. You type in plain language; answers point back to specific review text you can open—so themes, complaints, and praise come from your data, not a generic model’s imagination. Availability follows your plan.",
    "finalCtaTitle": "Upgrade your review workflow today",
    "finalCtaDesc": "Spend less time on repetitive review tasks and more time improving customer experience across every location.",
    "privacy": "Privacy",
    "terms": "Terms",
    "language": "Language",
    "english": "English",
    "spanish": "Español",
    "demoVideoAria": "Product demo: ReputRadar reviews inbox with AI draft and approval",
    "demoVideoMaximize": "Full screen demo (click again to exit)",
    "footerBlurb": "Google Business review operations for teams that scale—one inbox, AI-assisted replies, automations, and reporting across every location.",
    "footerLegalTitle": "Legal",
    "footerPrivacyLink": "Privacy policy",
    "footerTermsLink": "Terms of service",
    "footerProductTitle": "Product",
    "footerDemoLink": "Demo",
    "footerGuidesTitle": "Guides",
    "footerGuideAutomate": "Automate review responses",
    "footerGuideAiReplies": "AI Google review replies",
    "footerGuideDashboard": "Google reviews dashboard",
    "footerGuideMultiLocation": "Multiple locations",
    "footerGuideNegative": "Negative review responses",
    "footerGuideAskAi": "Ask your Google reviews (AI)",
    "footerCopyright": "© {year} ReputRadar. All rights reserved.",
    "footerFeaturesTitle": "Features",
    "footerIndustriesTitle": "Industries",
    "footerCompareTitle": "Compare",
    "footerHowToTitle": "How to respond",
    "footerLinkPricing": "Pricing",
    "footerLinkManagementSoftware": "Google review management software",
    "footerLinkMonitoring": "Google review monitoring",
    "footerLinkAlerts": "Google review alerts",
    "footerLinkRequestLinks": "Google review request links",
    "footerLinkQrCodes": "Google review QR codes",
    "footerLinkReplyGenerator": "Google review reply generator",
    "footerLinkTemplates": "Google review response templates",
    "footerLinkResponseTime": "Google review response time",
    "footerLinkGbpReviews": "Google Business Profile reviews",
    "footerLinkBirdeye": "Birdeye alternative",
    "footerLinkPodium": "Podium alternative",
    "footerLinkBirdeyePricing": "Birdeye pricing",
    "footerLinkPodiumPricing": "Podium pricing",
    "footerLinkBirdeyeVsPodium": "Birdeye vs Podium",
    "footerLinkAlternatives": "All alternatives",
    "footerLinkHowRespond": "How to respond to Google reviews",
    "footerLinkRespondNegative": "Negative reviews",
    "footerLinkRespond1Star": "1-star reviews",
    "footerLinkRespond5Star": "5-star reviews",
    "footerLinkRespondFake": "Fake reviews",
    "footerLinkRemoveFake": "Remove fake Google reviews",
    "footerLinkRespondUnfair": "Unfair reviews",
    "footerLinkRespondNoComment": "Reviews with no comment",
    "footerLinkRespondPrice": "Reviews about price",
    "footerLinkRespondWait": "Reviews about wait time",
    "footerLinkRespondEmployee": "Reviews mentioning an employee",
    "footerIndRestaurants": "Restaurants",
    "footerIndHotels": "Hotels",
    "footerIndDental": "Dental clinics",
    "footerIndMedSpa": "Med spas",
    "footerIndSalon": "Salons",
    "footerIndGym": "Gyms",
    "footerIndChiropractor": "Chiropractors",
    "footerIndVeterinary": "Veterinary clinics",
    "footerIndUrgentCare": "Urgent care",
    "footerIndOphthalmology": "Ophthalmology clinics",
    "footerIndSeniorLiving": "Senior living",
    "footerIndHomeServices": "Home services",
    "footerIndHvac": "HVAC",
    "footerIndPlumbing": "Plumbing",
    "footerIndRoofing": "Roofing",
    "footerIndElectrician": "Electricians",
    "footerIndPestControl": "Pest control",
    "footerIndMoving": "Moving companies",
    "footerIndAutoDealers": "Auto dealerships",
    "footerIndLawFirms": "Law firms",
    "footerIndInsurance": "Insurance agencies",
    "footerIndMortgage": "Mortgage brokers",
    "footerIndRealEstate": "Real estate",
    "footerIndPropertyManagement": "Property management",
    "footerIndSelfStorage": "Self storage",
    "footerIndFranchise": "Franchises",
    "schemaFeatureList": "Unified Google Business Profile review inbox | AI-drafted review replies | Auto-reply automation rules | Response templates | Ask AI: natural-language questions over your reviews with citations | Review request links and QR codes | Email and Telegram review alerts | Multi-location reports | Role-based access by location"
  },
  "VideoPromo": {
    "brand": "ReputRadar",
    "tagline": "Google Business reviews, on autopilot.",
    "painScatteredTitle": "5 locations. 5 inboxes. 0 overview.",
    "painScatteredLocations": "Downtown|Uptown|Airport|Westside|Marina",
    "painSlowNumber": "3",
    "painSlowLabel": "days to reply",
    "painSlowSub": "Customers moved on yesterday.",
    "painBlindTitle": "What are customers actually saying?",
    "painBlindAnswer": "You don't know.",
    "pivotTitle": "One platform. Everything handled.",
    "featureReviewsTitle": "Every Google review. ",
    "featureReviewsAccent": "One inbox.",
    "featureReviewsSub": "All locations, all ratings — searchable, filterable, actionable.",
    "featureReviewsChips": "Filter by rating|Filter by location|Reply in one click",
    "featureAiTitle": "AI drafts replies ",
    "featureAiAccent": "in your voice.",
    "featureAiSub": "Set tone, business context, and strategy per location.",
    "featureAiPill": "Context-aware · Brand-consistent · Seconds, not hours",
    "featureAskTitle": "Ask your reviews ",
    "featureAskAccent": "anything.",
    "featureAskSub": "Natural language Q&A across locations — spot patterns, compare sites, and cite real feedback.",
    "featureAutoTitle": "Automations that never sleep.",
    "featureAutoSub": "Set it once — replies go out on schedule.",
    "featureAutoItems": "AI rules|Template rules|Bulk reply",
    "featureLocationsPrefix": "Connect every ",
    "featureLocationsAccent": "Google Business",
    "featureLocationsSuffix": " location.",
    "featureLocationsSub": "Sync reviews, posts, and media — per location, in real time.",
    "featureReportsTitle": "Reports that tell the whole story.",
    "featureReportsPillars": "Overview|Trends|Performance|Insights",
    "featureTeamTitle": "Your whole team. Roles. Permissions.",
    "featureTeamSub": "Invite teammates, assign roles, control access.",
    "featureMoreTitle": "And everything else, built in.",
    "featureMoreItems": "Posts|Media|Templates|Notifications",
    "ctaPrice": "From $9/mo · Free to start",
    "ctaButton": "Start free today",
    "promoUiOrgName": "Acme Coffee Co.",
    "promoUiNavDashboard": "Dashboard",
    "promoUiNavReviews": "Reviews",
    "promoUiNavLocations": "Locations",
    "promoUiNavAiResponses": "AI responses",
    "promoUiShowingResults": "Showing 1–1 of 1",
    "promoUiSelectAll": "Select all",
    "promoUiFilterPlaceholder": "All ratings · All locations",
    "promoUiReviewerName": "Jordan M.",
    "promoUiReviewTime": "2d ago",
    "promoUiLocation": "Downtown Cafe",
    "promoUiReviewBody": "Great espresso and friendly staff. Will definitely come back.",
    "promoUiPendingBadge": "Pending approval",
    "promoUiDraftReply": "Thank you so much for the kind words — we can’t wait to welcome you back.",
    "promoUiApprove": "Approve",
    "promoUiEditReply": "Edit reply",
    "promoUiReject": "Reject",
    "promoAiMockRuleTitle": "Brand voice · Downtown",
    "promoAiMockMode": "Specific locations",
    "promoAiMockStrategy": "Professional · Empathize first",
    "promoAiMockLocationsLine": "3 locations · English (US)",
    "promoReportsNavReports": "Reports",
    "promoReportsPageTitle": "Performance",
    "promoReportsPageSubtitle": "Search & Maps · Last 14 days",
    "promoReportsMetricImpressions": "Total impressions",
    "promoReportsMetricImpressionsValue": "18,432",
    "promoReportsMetricClicks": "Website clicks",
    "promoReportsMetricClicksValue": "942",
    "promoReportsMetricCalls": "Phone calls",
    "promoReportsMetricCallsValue": "128",
    "promoReportsMetricDirections": "Direction requests",
    "promoReportsMetricDirectionsValue": "89",
    "promoReportsTrendSnippet": "+124 vs prior period",
    "promoReportsChartImpressionsTitle": "Impressions over time",
    "promoReportsChartImpressionsDesc": "Google Search and Maps visibility",
    "promoReportsLegendSearch": "Google Search",
    "promoReportsLegendMaps": "Google Maps",
    "promoReportsLegendTrend": "Linear trend",
    "promoAiHeroReviewName": "Sofia R.",
    "promoAiHeroReviewTime": "2h ago",
    "promoAiHeroReviewLocation": "Harbor & Grain · Waterfront",
    "promoAiHeroReviewBody": "Our company dinner was perfect — the team still talks about the view.",
    "promoAiDraftLabel": "AI draft",
    "promoAiStreamFullText": "Thank you so much, Sofia! We’re thrilled your company dinner at Harbor & Grain was a hit—our whole crew loved hosting you by the water. We’d be honored to welcome you back anytime.",
    "promoAskNewChat": "New chat",
    "promoAskHistoryLabel": "History",
    "promoAskHistoryItems": "Common complaints this week|Compare service across locations",
    "promoAskEmptyKicker": "Ask AI",
    "promoAskEmptyTitle": "What would you like to know?",
    "promoAskEmptyDescription": "Ask questions about your reviews in natural language. Compare locations and find hidden patterns.",
    "promoAskChips": "What are the most common complaints?|Compare service quality across locations|What do guests praise the most?|Recurring issues in the last 3 months",
    "promoAskStreamAnswer": "Wait time and noise lead your 3★ complaints — Downtown spikes on weekends; Marina’s team earns praise. I can cite exact reviews or compare any two locations."
  },
  "Auth": {
    "brand": "ReputRadar",
    "heroTitle": "Manage your reviews\nin one place",
    "heroDescription": "Connect your Google Business Profile, monitor reviews across all locations, and respond to customers — all from a single dashboard.",
    "or": "or"
  },
  "SignIn": {
    "title": "Welcome back",
    "description": "Sign in to your account to continue",
    "passkey": "Sign in with passkey",
    "google": "Continue with Google",
    "lastUsed": "Last used",
    "email": "Email",
    "emailPlaceholder": "you@example.com",
    "password": "Password",
    "forgotPassword": "Forgot password?",
    "submit": "Sign in",
    "submitting": "Signing in...",
    "noAccount": "Don't have an account?",
    "signUp": "Sign up",
    "errorDefault": "Failed to sign in",
    "passkeyFailed": "Sign in with passkey failed",
    "passkeyCancelled": "Sign-in with passkey was cancelled or took too long. Please try again.",
    "subtitle": "Sign in to your account to continue",
    "passkeyButton": "Sign in with passkey",
    "googleButton": "Continue with Google",
    "or": "Or",
    "emailLabel": "Email",
    "passwordLabel": "Password",
    "submitButton": "Sign in",
    "signUpLink": "Sign up",
    "emailNotVerified": "Please confirm your email before signing in. We sent you a new verification link.",
    "googlePermissionsDenied": "Google sign-in was cancelled or the required permissions were not granted. Please try again and accept all requested permissions.",
    "googleSignInFailed": "Something went wrong during Google sign-in. Please try again."
  },
  "AccountCreated": {
    "title": "You’re all set — one more step",
    "subtitleWithEmail": "Your account is ready. We sent a verification link to {email}.",
    "subtitleNoEmail": "Your account is ready. We sent you a verification link by email.",
    "inboxHint": "Open the email and tap the link to confirm your address. You can close this tab until then.",
    "goToSignIn": "Back to sign in"
  },
  "PendingEmailVerification": {
    "title": "Confirm your email",
    "descriptionWithEmail": "We sent a link to {email}. Open it to activate your account.",
    "descriptionNoEmail": "We sent you a confirmation link. Open it to activate your account.",
    "resend": "Resend confirmation email",
    "resending": "Sending…",
    "resendSuccess": "If that address has an unverified account, we sent another email.",
    "resendError": "Could not send the email. Try again in a moment.",
    "missingEmail": "We could not determine your email. Sign out and sign up again, or contact support.",
    "signOut": "Sign out",
    "backToSignIn": "Back to sign in",
    "openGmail": "Open Gmail",
    "openOutlook": "Open Outlook",
    "spamHint": "Can’t find it? Check your spam or promotions folder, or search your inbox for “ReputRadar”.",
    "afterVerifyHint": "After you confirm, you’ll connect your Google Business Profile and your reviews will appear."
  },
  "SignUp": {
    "title": "Create an account",
    "google": "Continue with Google",
    "name": "Your name",
    "namePlaceholder": "John Doe",
    "email": "Email",
    "emailPlaceholder": "you@example.com",
    "password": "Password",
    "orgName": "Organization name",
    "orgNamePlaceholder": "Acme Inc.",
    "orgNameHelp": "Your team workspace — you can rename it later.",
    "submit": "Create account",
    "submitting": "Creating account...",
    "hasAccount": "Already have an account?",
    "signIn": "Sign in",
    "errorDefault": "Failed to create account",
    "subtitleInvitation": "Create an account to accept your invitation and join the organization.",
    "subtitle": "Get started with ReputRadar",
    "googleButton": "Continue with Google",
    "or": "Or",
    "nameLabel": "Your name",
    "emailLabel": "Email",
    "passwordLabel": "Password",
    "confirmPasswordLabel": "Confirm password",
    "passwordsMismatch": "Passwords do not match.",
    "submitButton": "Create account",
    "signInLink": "Sign in",
    "timezoneLabel": "Timezone",
    "languageLabel": "Language",
    "googlePermissionsDenied": "Google sign-up was cancelled or the required permissions were not granted. Please try again and accept all requested permissions.",
    "googleSignUpFailed": "Something went wrong during Google sign-up. Please try again.",
    "googleHint": "Fastest option: no email verification step.",
    "emailDivider": "Or sign up with email",
    "nextStepsTitle": "What happens next",
    "nextStepVerify": "Verify your email: we send the link right away (skipped with Google).",
    "nextStepConnect": "Connect your Google Business Profile.",
    "nextStepReviews": "Your Google reviews appear in ReputRadar, ready to reply."
  },
  "ForgotPassword": {
    "title": "Forgot password?",
    "description": "Enter your email and we'll send you a link to reset your password.",
    "successTitle": "Check your email",
    "successDescription": "If an account exists for {email}, we sent a password reset link. It may take a minute to arrive.",
    "backToSignIn": "Back to sign in",
    "email": "Email",
    "emailPlaceholder": "you@example.com",
    "submit": "Send reset link",
    "submitting": "Sending link...",
    "errorDefault": "Something went wrong. Please try again.",
    "tryDifferentEmail": "Try a different email",
    "subtitle": "Enter your email and we'll send you a link to reset your password.",
    "emailLabel": "Email",
    "submitButton": "Send reset link"
  },
  "ResetPassword": {
    "requestNewLink": "Request a new link",
    "successTitle": "Password reset",
    "successDescription": "Your password has been updated. You can now sign in with your new password.",
    "signIn": "Sign in",
    "title": "Reset your password",
    "description": "Enter a new password for your account.",
    "newPassword": "New password",
    "passwordPlaceholder": "At least 8 characters",
    "showPassword": "Show password",
    "hidePassword": "Hide password",
    "confirmPassword": "Confirm password",
    "submit": "Reset password",
    "submitting": "Resetting...",
    "backToSignIn": "Back to sign in",
    "errorMinLength": "Password must be at least 8 characters.",
    "errorMismatch": "Passwords do not match.",
    "errorDefault": "Failed to reset password. The link may have expired.",
    "signInButton": "Sign in",
    "subtitle": "Enter a new password for your account.",
    "newPasswordLabel": "New password",
    "confirmPasswordLabel": "Confirm password",
    "confirmPasswordPlaceholder": "Re-enter your password",
    "submitButton": "Reset password",
    "resetPassword": "Reset Password",
    "invalidLinkTitle": "Invalid link",
    "invalidLinkDescription": "This password reset link is invalid or has expired. Please request a new one."
  },
  "CreatePassword": {
    "title": "Create a password",
    "description": "You signed in with Google. Set a password so you can still sign in if you lose access to your Google account.",
    "password": "Password",
    "passwordPlaceholder": "At least 8 characters",
    "showPassword": "Show password",
    "hidePassword": "Hide password",
    "confirmPassword": "Confirm password",
    "submit": "Create password",
    "submitting": "Creating password...",
    "errorMinLength": "Password must be at least 8 characters.",
    "errorMismatch": "Passwords do not match.",
    "subtitle": "You signed in with Google. Set a password so you can still sign in if you lose access to your Google account.",
    "passwordLabel": "Password",
    "confirmPasswordLabel": "Confirm password",
    "confirmPasswordPlaceholder": "Repeat your password",
    "submitButton": "Create password"
  },
  "AcceptInvitation": {
    "title": "Accept invitation",
    "description": "{inviterEmail} has invited you to join {organizationName} on ReputRadar.",
    "accepting": "Accepting…",
    "loading": "Loading invitation…",
    "goToDashboard": "Go to dashboard",
    "signIn": "Sign in",
    "acceptInvitation": "Accept Invitation",
    "invalidLink": "Invalid invitation link. No invitation ID was provided.",
    "invitationExpired": "This invitation is invalid, expired, or has already been used.",
    "notFoundOrExpired": "Invitation not found or expired.",
    "acceptError": "Failed to accept invitation. Please try again.",
    "rejectError": "Failed to reject invitation. Please try again.",
    "acceptButton": "Accept invitation",
    "rejecting": "Rejecting…",
    "declineButton": "Decline"
  },
  "AcceptWithPassword": {
    "title": "Join the team",
    "description": "{inviter} invited you to join {organizationName}. Set a password to create your account and accept.",
    "name": "Your name",
    "namePlaceholder": "Jane Doe",
    "email": "Email",
    "password": "Password",
    "passwordPlaceholder": "At least 8 characters",
    "showPassword": "Show password",
    "hidePassword": "Hide password",
    "confirmPassword": "Confirm password",
    "submit": "Create account & join",
    "submitting": "Creating account…",
    "signInToAccept": "Sign in to accept",
    "hasAccount": "Already have an account?",
    "errorMinLength": "Password must be at least 8 characters.",
    "errorMismatch": "Passwords do not match.",
    "errorDefault": "Failed to create account.",
    "joinError": "Account created but failed to join. Try signing in.",
    "accountExists": "An account with this email already exists. Sign in to accept the invitation.",
    "genericError": "Something went wrong. Please try again.",
    "nameLabel": "Your name",
    "emailLabel": "Email",
    "passwordLabel": "Password",
    "confirmPasswordLabel": "Confirm password",
    "confirmPasswordPlaceholder": "Repeat your password",
    "submitButton": "Create account & join"
  },
  "Verify2FA": {
    "title": "Two-factor authentication",
    "description": "Enter the 6-digit code from your authenticator app",
    "submit": "Verify",
    "submitting": "Verifying...",
    "errorDefault": "Invalid code. Please try again.",
    "errorIncomplete": "Enter the 6-digit code from your authenticator app.",
    "subtitle": "Enter the 6-digit code from your authenticator app",
    "submitButton": "Verify"
  },
  "Nav": {
    "navSectionWorkspace": "Workspace",
    "navSectionPreferences": "Preferences",
    "dashboard": "Dashboard",
    "reviews": "Reviews",
    "locations": "Locations",
    "posts": "Posts",
    "media": "Media",
    "templates": "Templates",
    "users": "Users",
    "aiResponses": "AI Responses",
    "askAi": "Ask AI",
    "automations": "Automations",
    "notifications": "Notifications",
    "reports": "Reports",
    "overview": "Overview",
    "trends": "Trends",
    "performance": "Performance",
    "insights": "Insights",
    "settings": "Settings",
    "proShort": "Pro",
    "signOut": "Sign out",
    "group": "Group",
    "adminMenu": "Admin",
    "organizations": "Organizations",
    "jobQueues": "Job Queues",
    "authentication": "Authentication",
    "authUsers": "User accounts",
    "impersonatePickOrg": "Choose organization",
    "impersonatePickMember": "Choose member",
    "impersonateDescriptionOrgs": "Pick a workspace, then a member to sign in as. The session ends after one hour or when you stop impersonating.",
    "impersonateDescriptionMembers": "Select a member to open the app as that user.",
    "impersonateBackOrgs": "Back to organizations",
    "impersonateLoading": "Loading…",
    "impersonateNoOrganizations": "No organizations yet.",
    "impersonateNoMembers": "No members in this organization.",
    "impersonateOwnerBadge": "Owner",
    "impersonateCannotSelf": "You cannot impersonate your own account.",
    "impersonateDirectoryError": "Could not load directory.",
    "impersonateStop": "Stop impersonating",
    "impersonateBanner": "You are viewing the app as another user.",
    "impersonateError": "Could not start impersonation.",
    "impersonateMenu": "Impersonate user…",
    "impersonateStopError": "Could not stop impersonation."
  },
  "JobQueues": {
    "title": "Job Queues",
    "subtitle": "Monitor background jobs across all queues",
    "paused": "Paused",
    "totalJobs": "total jobs",
    "noJobs": "No jobs in this state",
    "jobId": "Job ID",
    "jobName": "Name",
    "created": "Created",
    "attempts": "Attempts",
    "error": "Error",
    "processedOn": "Processed",
    "finishedOn": "Finished",
    "delay": "Delay",
    "duration": "Duration",
    "dataPreview": "Data",
    "progress": "Progress",
    "metadata": "Metadata",
    "payload": "Payload",
    "returnValue": "Return Value",
    "options": "Options",
    "retry": "Retry",
    "promote": "Promote",
    "remove": "Remove",
    "pagination": "{from}–{to} of {total}",
    "state_waiting": "Waiting",
    "state_active": "Active",
    "state_delayed": "Delayed",
    "state_completed": "Completed",
    "state_failed": "Failed",
    "schedulers": "Schedulers",
    "every": "every",
    "next": "next",
    "timeline": "Timeline",
    "timelineCreated": "Created",
    "timelineProcessed": "Started processing",
    "timelineFinished": "Finished",
    "timelineFailed": "Failed",
    "recentFailures": "Recent failures",
    "queue": "Queue",
    "lastActivity": "Last completed",
    "recentRunLatency": "Recent run time",
    "activeByQueue": "Active jobs by queue",
    "runNumber": "Run {n}",
    "refresh": "Refresh",
    "retryAllFailed": "Retry all failed",
    "cleanCompleted": "Clean completed"
  },
  "AdminOrganizations": {
    "title": "Organizations",
    "subtitle": "All workspaces on the platform",
    "name": "Name",
    "slug": "Slug",
    "created": "Created",
    "members": "Members",
    "locations": "Locations",
    "reviews": "Reviews",
    "plan": "Plan",
    "subscriptionStatus": "Status",
    "empty": "No organizations yet.",
    "view": "View",
    "unknownPlan": "—",
    "statsMembers": "Members",
    "statsLocations": "Locations",
    "statsReviews": "Reviews",
    "subscription": "Subscription",
    "subscriptionHint": "Billing record for this organization (Stripe / Better Auth).",
    "seats": "Seats",
    "extraLocations": "Extra locations",
    "membersSection": "Members",
    "locationsSection": "Locations",
    "role": "Role",
    "email": "Email",
    "user": "User",
    "address": "Address",
    "googleLocationId": "Google location ID",
    "noMembers": "No members.",
    "noLocations": "No locations.",
    "joined": "Joined",
    "actions": "Actions",
    "stripeSection": "Stripe & billing",
    "stripeSectionHint": "Same data as the organization’s subscription settings: Stripe IDs, usage, upcoming charge, cards on file, and recent invoices.",
    "stripeNoCustomer": "This organization has no Stripe customer ID yet.",
    "stripeIds": "Stripe identifiers",
    "stripeIdsHint": "Use these in the Stripe Dashboard for support and reconciliation.",
    "stripeCustomerIdLabel": "Customer",
    "stripeSubscriptionIdLabel": "Subscription",
    "stripeScheduleIdLabel": "Subscription schedule",
    "stripeOpenDashboard": "Open in Stripe",
    "stripeInvoiceLinks": "Links"
  },
  "AdminAuthentication": {
    "title": "Authentication overview",
    "subtitle": "A plain-language snapshot of who has accounts, how they sign in, and what is still waiting (invites, email checks). Passwords and secret codes are never shown here.",
    "pageIntro": "Start with the summary cards, then scroll to the tables for recent examples. Numbers are totals across the whole product; each table shows only the latest rows, not full history.",
    "statsRowUsageTitle": "People and workspaces",
    "statsRowSecurityTitle": "Security and sign-in methods",
    "statUsers": "Registered people",
    "statUsersVerifiedHint": "{verified} confirmed their email ({pct}% of everyone listed)",
    "statOrganizations": "Workspaces",
    "statMembershipsHint": "{count} total seats—each time someone belongs to a workspace",
    "statActiveSessions": "Logged in right now",
    "statActiveSessionsHint": "Browser or app sessions that have not expired yet. One person may appear more than once if they use several devices.",
    "statPendingInvites": "Open invitations",
    "statPendingInvitesHint": "We sent these people an email to join a workspace; they have not finished signing up yet.",
    "statVerificationRecords": "Verification steps on file",
    "statVerificationHint": "Each count is a temporary step we created—like “confirm your email” or “reset your password.” The actual link or code is never stored in this view.",
    "statTwoFactor": "Two-step sign-in (2FA)",
    "statTwoFactorHint": "People who turned on an extra check after entering their password.",
    "statPasskeys": "Passkeys",
    "statPasskeysHint": "Sign-in with a device, fingerprint, or security key instead of typing a password.",
    "statOAuthAccounts": "Social sign-ins linked",
    "statPasswordUsersHint": "{count} people can also sign in with email and password they chose here",
    "providerCredential": "Email & password",
    "providerGoogle": "Google",
    "providerGitHub": "GitHub",
    "providerApple": "Apple",
    "providerMicrosoft": "Microsoft",
    "providerOther": "Other ({id})",
    "sectionProviders": "How people sign in (totals)",
    "sectionProvidersHint": "Each chip is one way people authenticate. “Email & password” is our built-in login; other labels are services they connected, such as Google.",
    "emptyProviders": "No sign-in methods recorded yet.",
    "providerChipCount": "{count} linked accounts",
    "sectionUsers": "Recent people",
    "sectionUsersLead": "Newest accounts first. For billing, plans, and full member lists per workspace, open Organizations.",
    "sectionSessions": "Recent logins",
    "sectionSessionsHint": "Secret session tokens are hidden on purpose—only safe metadata for support and audits.",
    "sectionSessionsLead": "Each row is one login session (for example one browser). “Login status” tells you if that session still works today.",
    "sectionVerification": "Email checks & password resets",
    "sectionVerificationHint": "When someone must confirm an email or reset a password, we create a short-lived record. You see who it was for—not the secret token.",
    "sectionVerificationLead": "Latest activity first. If this list is empty, there may simply be nothing recent to show.",
    "sectionAccounts": "Connected sign-in services",
    "sectionAccountsHint": "When someone uses “Sign in with Google” (or similar), we remember which service and their ID there—not their password on that service.",
    "sectionAccountsLead": "Recent connections only. Useful to spot unexpected providers or duplicate links.",
    "sectionInvitations": "Invitations waiting",
    "sectionInvitationsHint": "Valid until the date shown; after that the invite usually stops working.",
    "sectionInvitationsLead": "These people were invited by email but have not joined the workspace yet.",
    "emptyVerifications": "No verification records in this recent list.",
    "emptyInvitations": "No open invitations right now.",
    "linkOrganizations": "Open Organizations admin",
    "linkUserDirectory": "Browse all user accounts →",
    "colName": "Display name",
    "colEmail": "Email",
    "colEmailVerified": "Email confirmed",
    "col2fa": "Extra sign-in step",
    "colRole": "Role in app",
    "colBanned": "Account status",
    "colLanguage": "Language",
    "colCreated": "Joined",
    "colSessionRef": "Internal reference",
    "colSessionStatus": "Login status",
    "colUser": "Person",
    "colExpires": "Valid until",
    "colIp": "Network address",
    "colUserAgent": "Browser or app",
    "colActiveOrg": "Workspace in use",
    "colImpersonator": "Admin viewing as user",
    "colIdentifier": "Email or user ID",
    "colProvider": "Sign-in service",
    "colExternalId": "ID at that service",
    "colLinkedAt": "Connected on",
    "colOrganization": "Workspace",
    "colInviteExpires": "Invite valid until",
    "badgeEmailVerified": "Confirmed",
    "badgeEmailNotVerified": "Not confirmed",
    "badge2faOn": "On",
    "badge2faOff": "Off",
    "badgeUserActive": "Active",
    "badgeUserBlocked": "Blocked",
    "sessionActive": "Still valid",
    "sessionExpired": "Ended"
  },
  "AdminAuthenticationUsers": {
    "title": "User accounts",
    "subtitle": "Search and open anyone who has an account. Columns show workspace memberships, how they can sign in, active sessions, and security options.",
    "breadcrumbAuth": "Authentication",
    "breadcrumbUsers": "Users",
    "searchPlaceholder": "Search by name or email",
    "searchLabel": "Search users",
    "searchSubmit": "Search",
    "searchClear": "Clear",
    "resultsSummary": "Showing {from}–{to} of {total} people",
    "colPerson": "Person",
    "colWorkspaces": "Workspaces",
    "colSignInMethods": "Sign-in methods",
    "colActiveSessions": "Open sessions",
    "colSecurity": "Security",
    "colView": "View",
    "emptySearch": "No one matches that search.",
    "empty": "No users yet.",
    "badgeBlocked": "Blocked",
    "badgeEmailPending": "Email not confirmed",
    "badge2fa": "2FA",
    "badgePasskeys": "{count} passkeys",
    "badgePassword": "Password",
    "openDetail": "Open",
    "pageStatus": "Page {page} of {totalPages}",
    "prevPage": "Previous",
    "nextPage": "Next",
    "backToList": "Back to user list",
    "badgeAccountOk": "Active",
    "badgeEmailConfirmed": "Email confirmed",
    "badge2faOn": "2FA on",
    "roleLabel": "App role",
    "sectionProfile": "Profile & flags",
    "sectionProfileHint": "Information stored on the user record. Passwords and tokens are never listed here.",
    "fieldUserId": "User ID",
    "fieldLocaleTz": "Language & timezone",
    "fieldJoined": "Joined",
    "fieldUpdated": "Last updated",
    "fieldPasswordSet": "Password added on",
    "fieldStripeCustomer": "Stripe customer ID",
    "fieldBanReason": "Block reason",
    "fieldBanExpires": "Block until",
    "field2faRecord": "2FA enrollment record",
    "yesStored": "Yes (secret hidden)",
    "notStored": "No",
    "fieldMetadata": "App metadata (JSON)",
    "sectionAccounts": "Connected sign-in services",
    "sectionAccountsHint": "Ways this person can log in. Access tokens and passwords are never shown.",
    "emptyAccounts": "No linked sign-in methods.",
    "colSignInService": "Sign-in service",
    "colExternalId": "ID at that service",
    "colLinkedAt": "Connected on",
    "colTokensHint": "Token scheduling",
    "badgeHasPassword": "Password on file",
    "tokensScheduledExpiry": "Has OAuth expiry timestamps",
    "tokensNotShown": "—",
    "sectionSessions": "Sessions",
    "sectionSessionsHint": "Recent browser and app sessions, newest first. Session secrets are hidden.",
    "emptySessions": "No sessions on file.",
    "colSessionStatus": "Login status",
    "colExpires": "Valid until",
    "colSessionRef": "Internal reference",
    "colActiveOrg": "Workspace in use",
    "colImpersonator": "Admin viewing as user",
    "colUserAgent": "Browser or app",
    "colIp": "Network address",
    "sessionActive": "Still valid",
    "sessionExpired": "Ended",
    "sectionMemberships": "Workspace memberships",
    "sectionMembershipsHint": "Teams this person belongs to and their role in each.",
    "emptyMemberships": "Not in any workspace yet.",
    "colWorkspace": "Workspace",
    "colMemberRole": "Role",
    "colAllLocations": "All locations",
    "colJoinedMember": "Member since",
    "colAdminOrg": "Admin",
    "openOrg": "Open",
    "yes": "Yes",
    "no": "No",
    "sectionPasskeys": "Passkeys",
    "sectionPasskeysHint": "Device sign-in (sensitive key material is not shown).",
    "emptyPasskeys": "No passkeys registered.",
    "unnamedPasskey": "Unnamed passkey",
    "passkeyBackedUp": "Backed up",
    "sectionInvites": "Pending invitations for this email",
    "sectionInvitesHint": "Workspace invites that match this address and are still valid.",
    "emptyInvites": "No pending invitations.",
    "sectionVerifications": "Verification activity",
    "sectionVerificationsHint": "Recent rows for this email or user ID. Codes and links stay hidden.",
    "emptyVerifications": "No matching rows.",
    "colIdentifier": "Email or user ID",
    "colCreated": "Created"
  },
  "Dashboard": {
    "title": "Dashboard",
    "metricsSectionLabel": "Review summary",
    "avgRatingHeroLabel": "Average rating",
    "pendingCellTitle": "Inbox",
    "ratingContext": "from {count} reviews",
    "noRatingYet": "No reviews yet",
    "pendingReviewsTeaser": "{count} reviews have no reply yet.",
    "pendingOpenReviews": "View pending",
    "totalReviews": "Total Reviews",
    "avgRating": "Avg. Rating",
    "pendingReplies": "Pending Replies",
    "recentReviews": "Recent Reviews",
    "dashboard": "Dashboard",
    "breadcrumb": "Dashboard",
    "noReviewsDescription": "Connect a location to start seeing your reviews here.",
    "connectLocation": "Connect a location",
    "viewAll": "View all",
    "replied": "Replied",
    "pending": "Pending",
    "statTotalReviews": "Total Reviews",
    "statPendingReplies": "Pending Replies",
    "statLocations": "Locations",
    "yourReply": "Your reply"
  },
  "Reviews": {
    "title": "Reviews",
    "pageSubtitle": "Read and respond to Google reviews across your locations. Filters apply to the list below.",
    "breadcrumb": "Reviews",
    "emptyTitle": "No reviews yet",
    "emptyDescription": "Sync your Google reviews or adjust the filters above.",
    "deletedFromGoogle": "Deleted from Google",
    "flagged": "Flagged",
    "safe": "Safe",
    "markAsSafe": "Mark as Safe",
    "cancel": "Cancel",
    "editReply": "Edit reply",
    "reply": "Reply",
    "deleteReply": "Delete reply",
    "deleteReplyTitle": "Delete this reply?",
    "deleteReplyDescription": "Your reply will be removed from this review on Google. This cannot be undone.",
    "deleting": "Deleting…",
    "reviewUnavailableTitle": "Review unavailable",
    "reviewUnavailableDescription": "This review was removed from Google — either by the reviewer or by Google's moderation. Your reply couldn't be delivered.",
    "reviewUnavailableNote": "The review will stay in your dashboard for reference but is now marked as deleted. No further replies can be sent.",
    "understood": "Understood",
    "replyPlaceholder": "Write your reply...",
    "replyInvalid": "Reply must be between 1 and {max} characters.",
    "useTemplate": "Use Template",
    "createTemplate": "Create Template",
    "aiGenerate": "AI Generate",
    "noAiRule": "No AI rule for this location",
    "createAiRule": "Create AI Rule",
    "aiLimitReached": "Your monthly AI reply quota is used up and you have no remaining credits.",
    "aiLimitUpgrade": "Upgrade plan",
    "aiLimitBuyCredits": "Buy credits",
    "sending": "Sending...",
    "updateReply": "Update Reply",
    "replyUnchanged": "No changes to save",
    "sendReply": "Send Reply",
    "reviews": "Reviews",
    "noReviewsTitle": "No reviews found",
    "noReviewsDescription": "Try adjusting your filters or sync your latest reviews.",
    "flagReasonDefault": "This review may not be relevant to your business.",
    "initialSyncTitle": "Importing reviews",
    "initialSyncDescriptionSingle": "Fetching all reviews for {location}. They will appear as they are imported.",
    "initialSyncDescriptionMultiple": "Fetching reviews for {count, number} locations: {locations}. They will appear as they are imported.",
    "initialSyncCompleteTitle": "Import complete",
    "initialSyncCompleteDescription": "All reviews have been imported and are ready to view.",
    "noTemplatesAvailable": "No templates available",
    "generating": "Generating...",
    "showingResults": "Showing {start}–{end} of {total} reviews",
    "noReviewsFound": "No reviews found",
    "showOriginal": "Show original",
    "hideOriginal": "Hide original",
    "filtersRegionLabel": "Filter reviews",
    "filterStatus": "Status",
    "filterAllReviews": "All Reviews",
    "filterPending": "Pending",
    "filterReplied": "Replied",
    "filterRating": "Rating",
    "filterAllRatings": "All Ratings",
    "filterStars": "{count} Stars",
    "filterStar": "{count} Star",
    "filterNeedsApproval": "Needs Approval",
    "filterLocation": "Location",
    "filterAllLocations": "All Locations",
    "customerFallback": "Customer",
    "pendingApproval": "Pending Approval",
    "approve": "Approve",
    "reject": "Reject",
    "approveSelected": "Approve selected",
    "selectedCount": "{count} selected",
    "selectAll": "Select all pending",
    "filterScheduled": "Scheduled",
    "scheduled": "Scheduled",
    "scheduledIn": "AI reply posting in {time}",
    "scheduledProcessing": "AI reply processing now…",
    "postNow": "Post now",
    "editScheduled": "Edit reply",
    "saveEdit": "Save",
    "cancelScheduled": "Cancel reply",
    "deleteReplyError": "Failed to delete reply.",
    "replyDeleted": "Reply deleted.",
    "replySendError": "Couldn't send the reply. Please try again.",
    "yourReply": "Your reply",
    "bulkBannerTitle": "Bulk reply in progress",
    "bulkBannerDescription": "A {mode} bulk reply job is currently processing reviews.",
    "bulkBannerLink": "View job details",
    "bulkBannerTemplate": "Template"
  },
  "Locations": {
    "title": "Locations",
    "breadcrumb": "Locations",
    "description": "Manage your connected Google Business locations.",
    "emptyTitle": "No locations connected",
    "emptyDescription": "Connect your Google Business locations to start managing reviews.",
    "connectDialogTitle": "Connect Google Business Location",
    "connectDialogDescription": "Select the locations you want to manage from your linked Google Business accounts.",
    "addingLocations": "Adding locations…",
    "fetchingLocations": "Fetching your Google Business locations...",
    "fetchError": "Failed to fetch locations. Make sure your Google account is connected.",
    "goToLocations": "Go to Locations",
    "locationCount": "{count} {count, plural, one {location} other {locations}}",
    "connected": "Connected",
    "inUseElsewhere": "In use elsewhere",
    "connect": "Connect",
    "alreadyConnected": "Already connected to this organization.",
    "bulkResultTitle": "Add all locations — result",
    "bulkAdded": "{count} added",
    "bulkFailed": "{count} could not be added",
    "locations": "Locations",
    "subtitle": "Manage your connected Google Business locations.",
    "locationDetail": "{name}",
    "locationFallback": "Location",
    "noLocationsTitle": "No locations connected",
    "noLocationsDescription": "Connect your Google Business locations to start managing reviews.",
    "connectLocation": "Connect Location",
    "permissionsNeedUpdating": "Google permissions need updating",
    "permissionsDescription": "Your Google account needs to be re-authorized with Business Profile permissions.",
    "reauthorizeGoogle": "Re-authorize Google",
    "noGoogleAccounts": "No Google Business Profile accounts",
    "noGoogleAccountsConnectFirst": "Connect a Google account in Settings first to access Business Profile locations.",
    "goToSettings": "Go to Settings",
    "takenByOtherOrg": "This location is already connected by another organization.",
    "addedCount": "Added ({count})",
    "couldNotAdd": "Could not add ({count})",
    "usageLabel": "locations",
    "limitReached": "Limit reached",
    "slotsRemaining": "{count} {count, plural, one {location} other {locations}} left",
    "addMultiple": "Add multiple",
    "selectedCount": "{selected} of {max} selected",
    "cancel": "Cancel",
    "connectSelected": "Connect {count} {count, plural, one {location} other {locations}}",
    "limitReachedTitle": "Location limit reached",
    "limitReachedDescription": "You've used all {used} of your {limit} available locations. Upgrade your plan or add extra locations to connect more.",
    "upgradeOption": "Upgrade plan",
    "upgradeOptionDescription": "Get more locations included with a higher plan",
    "addExtraOption": "Add extra locations",
    "addExtraDescription": "Add locations to your current plan at {price}/mo each",
    "freeUpgradeOnly": "Upgrade to a paid plan to add more locations.",
    "connectLocationTitle": "Connect location?",
    "connectLocationDescription": "This will connect {name} and start importing all its reviews. This may take a few moments.",
    "connectLocationConfirm": "Connect",
    "disconnectLocationTitle": "Disconnect location?",
    "disconnectLocationDescription": "This will remove {name} and all its synced reviews. You can reconnect it later, but reviews will need to be re-imported.",
    "disconnectLocationConfirm": "Disconnect",
    "disconnectLocationAriaLabel": "Disconnect {name}",
    "locationNotVerifiedConnect": "This listing is not verified on Google Business Profile. Verify it in Google first, then connect it here.",
    "locationNotVerifiedDialogTitle": "This listing isn’t verified yet",
    "locationNotVerifiedDialogDescription": "{name} must be verified on Google Business Profile before you can connect it here. Open the listing in Google to complete verification or check its status, then try connecting again.",
    "openListingInGoogle": "Open in Google",
    "notVerifiedDialogGotIt": "Got it",
    "googlePermissionsDenied": "Google authorization was cancelled or the required permissions were not granted. Please try again and accept all requested permissions.",
    "googleLinkFailed": "Something went wrong while linking your Google account. Please try again."
  },
  "LocationDetail": {
    "breadcrumb": "Locations",
    "open": "Open",
    "unknown": "Unknown",
    "viewOnMaps": "View on Maps",
    "googleSuggestedUpdates": "Google has suggested updates for this location. Review and apply them in your Google Business dashboard.",
    "businessDetails": "Business Details",
    "services": "Services",
    "featuresAmenities": "Features & Amenities",
    "categoriesLabels": "Categories & Labels",
    "quickLinks": "Quick Links",
    "businessHours": "Business Hours",
    "specialHours": "Special Hours",
    "serviceArea": "Service Area",
    "notAvailable": "Not Available",
    "businessName": "Business Name",
    "address": "Address",
    "phone": "Phone",
    "additionalPhones": "Additional Phones",
    "website": "Website",
    "whoCanEdit": "Who can edit",
    "viewAdministrators": "View administrators",
    "notSet": "Not set",
    "noDescription": "No description set",
    "googleMapsListing": "Google Maps Listing",
    "reviewLink": "Review Link",
    "copyReviewLink": "Copy review link",
    "copiedReviewLink": "Review link copied",
    "downloadReviewQrCode": "Download review QR code",
    "downloadDirectReviewQrCode": "Download direct review QR",
    "downloadingQrCode": "Downloading QR code...",
    "noTracking": "No tracking",
    "reviewLinkTracking": "Review link tracking",
    "reviewLinkOpens": "Link opens",
    "reviewLinkQrOpens": "QR opens",
    "lastOpenedShort": "Last opened",
    "reviewLinkNoRecentOpen": "No opens yet",
    "reviewLinkMetricsHint": "Link opens and QR scans are counted separately; neither is unique visitors. Retries and shared Wi‑Fi can increase numbers.",
    "reviewLinkMetricsHintLabel": "How review link metrics work",
    "additionalCategories": "Additional Categories",
    "labels": "Labels",
    "closed": "Closed",
    "statusOpen": "Open",
    "statusClosedPermanently": "Permanently Closed",
    "statusClosedTemporarily": "Temporarily Closed",
    "statusUnknown": "Unknown",
    "description": "Description",
    "linksSocialProfiles": "Links & Social Profiles",
    "hoursNotAvailable": "Hours not available",
    "editListingButton": "Edit listing",
    "editCancel": "Cancel",
    "editListing": "Edit on Google Business Profile",
    "editListingDescription": "Changes are saved via the Business Information API to your live listing. Phone updates must include the primary number and up to two additional lines.",
    "saveToGoogle": "Save to Google",
    "saving": "Saving…",
    "editSaved": "Listing updated on Google.",
    "editSavedLodgingDescriptionNote": "Listing updated on Google. For hotel and lodging listings, Google does not allow changing the business description—not in third-party tools and not in Google Business Profile. Your name, website, and phones were saved.",
    "lodgingDescriptionReadOnlyHelp": "For hotel and lodging listings, Google does not allow editing the business description anywhere—including the Google Business Profile dashboard. You can still update the business name, website, and phone numbers here.",
    "editValidationError": "Check the form: some fields are invalid.",
    "editForbidden": "You do not have permission to edit this listing.",
    "editReauthorize": "Reconnect Google in Settings with Business Profile access.",
    "editSaveError": "Google could not save changes. Try again or verify the listing in Google Business Profile.",
    "additionalPhone1": "Additional phone 1",
    "additionalPhone2": "Additional phone 2",
    "googleDiffMaskLabel": "Suggested fields",
    "googlePendingMaskLabel": "Pending fields",
    "pendingEditsOnGoogle": "This listing has edits pending publication on Google.",
    "listingMetadata": "Listing metadata",
    "placeId": "Google Place ID",
    "parentChain": "Chain",
    "serviceAreaType": "Service area type",
    "seoCardTitle": "Local SEO & Google Business Profile",
    "seoCardSubtitle": "AI suggestions based on your Google Business Profile listing data. Editable fields here are name, description (750 characters), website, and phones; everything else is a checklist for Google Business Profile.",
    "seoGenerate": "Generate suggestions",
    "seoSummaryHeading": "Summary",
    "seoSuggestedDescriptionHeading": "Suggested business description",
    "seoCopyDescription": "Copy",
    "seoUseInEditor": "Use in editor",
    "seoPrioritiesHeading": "Priorities",
    "seoImpact_high": "High impact",
    "seoImpact_medium": "Medium impact",
    "seoImpact_low": "Lower impact",
    "seoCategoryInApp": "In ReputRadar",
    "seoCategoryGbp": "In Google Business Profile",
    "seoPolicyHeading": "Policy & quality",
    "seoChecklistHeading": "Google Business Profile checklist",
    "seoPaywallTitle": "Unlock AI listing optimization",
    "seoPaywallDescription": "Upgrade to a paid plan to get AI-powered local SEO suggestions tailored to this location.",
    "seoPaywallCta": "View plans",
    "seoAiUnavailable": "Suggestions are temporarily unavailable. Try again later.",
    "seoAiError": "Could not load suggestions. Try again.",
    "seoDescriptionApplied": "Description inserted into the editor. Review and save when ready.",
    "seoCopySuccess": "Copied",
    "seoCopyError": "Could not copy",
    "seoBusinessLanguageLabel": "Language for listing text",
    "seoBusinessLanguageHelp": "Choose the language your public Google Business Profile should use. All suggestions and the draft description will be written in this language (same options as AI review replies)."
  },
  "LocationAdmins": {
    "breadcrumbAdmins": "Google admins",
    "reauthorizeTitle": "Reconnect Google",
    "reauthorizeDescription": "We could not read location admins from Google. Reconnect your Google account in Settings with Business Profile management permission.",
    "openSettings": "Open Settings",
    "loadErrorTitle": "Could not load admins",
    "sectionEyebrow": "Google Business Profile",
    "locationAdminsTitle": "Location managers",
    "locationAdminsDescription": "People who can manage this listing in Google Business Profile",
    "emptyList": "No location admins returned.",
    "columnAdmin": "Admin",
    "columnRole": "Role",
    "columnStatus": "Status",
    "statusPending": "Invite pending",
    "statusActive": "Active",
    "rolePrimaryOwner": "Primary owner",
    "roleOwner": "Owner",
    "roleManager": "Manager",
    "roleSiteManager": "Site manager",
    "roleUnspecified": "Unspecified",
    "apiAttribution": "Inviting or removing managers still happens in Google Business Profile."
  },
  "Posts": {
    "title": "Posts",
    "breadcrumb": "Posts",
    "pageSubtitle": "Publish updates, events, and offers to your Google Business Profile.",
    "description": "Posts across your locations",
    "noPosts": "No posts yet. Create your first one.",
    "emptyTitle": "No posts yet",
    "emptyDescription": "Create your first one.",
    "createPost": "Create Post",
    "createDialogTitle": "Create a new post",
    "createDialogDescription": "Publish an update, event, or offer to your Google Business Profile.",
    "location": "Location",
    "selectLocation": "Select location",
    "event": "Event",
    "offer": "Offer",
    "content": "Content",
    "startDate": "Start date",
    "endDate": "End date",
    "pickDate": "Pick a date",
    "couponCode": "Coupon code (optional)",
    "termsConditions": "Terms & conditions (optional)",
    "photoOptional": "Photo (optional)",
    "cancel": "Cancel",
    "publish": "Publish",
    "publishing": "Publishing...",
    "saving": "Saving...",
    "save": "Save",
    "edit": "Edit",
    "delete": "Delete",
    "view": "View",
    "imagePreview": "Image preview",
    "topicStandard": "Update",
    "topicEvent": "Event",
    "topicOffer": "Offer",
    "topicAlert": "Alert",
    "ctaBook": "Book",
    "ctaOrder": "Order",
    "ctaShop": "Shop",
    "ctaLearnMore": "Learn more",
    "ctaSignUp": "Sign up",
    "ctaCall": "Call",
    "allLocations": "All locations",
    "orPasteUrl": "or paste a URL",
    "posts": "Posts",
    "filterAllLocations": "All locations",
    "filterAllTypes": "All types",
    "subtitle": "{count} posts across your locations",
    "dropImageHere": "Drop image here",
    "dragDropImage": "Drag & drop an image",
    "orClickBrowse": "or click to browse",
    "add": "Add",
    "createPostDialogTitle": "Create a new post",
    "createPostDialogDescription": "Publish an update, event, or offer to your Google Business Profile.",
    "labelLocation": "Location",
    "labelPostType": "Post type",
    "typeStandardUpdate": "Standard update",
    "labelContent": "Content",
    "placeholderContent": "Write your post content...",
    "labelEventTitle": "Event title",
    "labelOfferTitle": "Offer title",
    "placeholderTitle": "Title",
    "labelStartDate": "Start date",
    "labelEndDate": "End date",
    "labelCouponCodeOptional": "Coupon code (optional)",
    "labelRedeemUrlOptional": "Redeem URL (optional)",
    "labelTermsOptional": "Terms & conditions (optional)",
    "labelCtaOptional": "Call to action (optional)",
    "labelPhoto": "Photo",
    "labelCta": "Call to action",
    "labelEventDetails": "Event details",
    "labelOfferDetails": "Offer details",
    "placeholderStartDate": "Start date",
    "placeholderEndDate": "End date",
    "labelOffer": "Offer",
    "placeholderCouponCode": "Coupon code",
    "placeholderRedeemUrl": "Redeem URL",
    "placeholderTerms": "Terms & conditions",
    "placeholderPhotoUrlExample": "https://example.com/photo.jpg",
    "placeholderCouponCodeExample": "SAVE20",
    "placeholderRedeemUrlExample": "https://example.com/redeem",
    "placeholderCtaUrlExample": "https://example.com/offer",
    "couponCodeLabel": "Code: {code}",
    "deletePostTitle": "Delete this post?",
    "deletePostDescription": "This will permanently delete this post from your Google Business Profile. This action cannot be undone.",
    "deleteSuccess": "Post deleted",
    "deleteError": "Failed to delete post",
    "imageUploadCors": "Image upload failed. Check your connection and try again.",
    "createError": "Failed to create post",
    "eventDateRangeHint": "Use start and end times for the event window. On the same day, the end time must be after the start time (Google Business Profile requires a full date-and-time interval).",
    "labelEventStartTime": "Start time",
    "labelEventEndTime": "End time",
    "eventInvalidTime": "Enter valid start and end times.",
    "eventEndTimeBeforeStart": "End time must be after start time on the same day.",
    "eventEndBeforeStartDateTime": "End date and time must be after start date and time.",
    "eventEndBeforeStart": "End date cannot be before the start date.",
    "eventStartPast": "Event start date cannot be before today.",
    "createSuccess": "Post created",
    "saveError": "Failed to save post",
    "saveSuccess": "Post saved",
    "deleting": "Deleting...",
    "subtitleScheduledOnly": "You have scheduled posts. Published posts will appear below when available.",
    "scheduledSectionTitle": "Scheduled posts",
    "noPublishedPostsYet": "No published posts yet. Scheduled posts above will go live at the chosen time.",
    "scheduleForLater": "Schedule for later",
    "publishTimingHint": "Turn on to pick a date and time at least 10 minutes from now. Leave off to publish immediately when you submit.",
    "labelScheduleDate": "Publish date",
    "labelScheduleTime": "Publish time",
    "scheduleUsesProfileTimezone": "Date and time are in your account timezone ({tz}). You can change this in Settings.",
    "schedulePickDateTime": "Choose a date and time for the scheduled post.",
    "scheduleTooSoon": "Scheduled time must be at least 10 minutes from now.",
    "scheduleSuccess": "Post scheduled",
    "scheduleError": "Failed to schedule post",
    "scheduling": "Scheduling...",
    "schedule": "Schedule",
    "scheduledBadge": "Scheduled",
    "statusScheduled": "Scheduled",
    "statusPublishing": "Publishing",
    "statusFailed": "Failed",
    "cancelSchedule": "Cancel schedule",
    "cancelScheduleTitle": "Cancel this scheduled post?",
    "cancelScheduleDescription": "The post will not be published. Uploaded images stored for this schedule will be removed.",
    "cancelScheduleConfirm": "Cancel schedule",
    "cancelScheduleSuccess": "Scheduled post cancelled",
    "cancelScheduleError": "Could not cancel scheduled post",
    "editScheduled": "Edit",
    "editScheduledTitle": "Edit scheduled post",
    "editScheduledDescription": "Change publish time, content, or photo. Uses your account timezone from Settings.",
    "editScheduledSuccess": "Scheduled post updated",
    "editScheduledError": "Could not update scheduled post"
  },
  "Media": {
    "title": "Media",
    "breadcrumb": "Media",
    "pageSubtitle": "Upload and manage photos that appear on your Google Business Profile listings.",
    "description": "Photos across your locations",
    "noPhotos": "No photos yet. Upload your first one.",
    "emptyTitle": "No photos yet",
    "emptyDescription": "Upload your first one.",
    "uploadDialogTitle": "Upload a photo",
    "uploadDialogDescription": "Add a photo to your Google Business Profile. Drag & drop an image, or paste a public URL.",
    "location": "Location",
    "selectLocation": "Select location",
    "category": "Category",
    "orPasteUrl": "or paste a URL",
    "preview": "Preview",
    "cancel": "Cancel",
    "upload": "Upload",
    "uploading": "Uploading...",
    "deleting": "Deleting...",
    "delete": "Delete",
    "byAttribution": "By {name}",
    "allLocations": "All locations",
    "catCover": "Cover",
    "catProfile": "Profile",
    "catLogo": "Logo",
    "catExterior": "Exterior",
    "catInterior": "Interior",
    "catProduct": "Product",
    "catAtWork": "At Work",
    "catFoodDrink": "Food & Drink",
    "catMenu": "Menu",
    "catCommonArea": "Common Area",
    "catRooms": "Rooms",
    "catTeams": "Teams",
    "catAdditional": "Additional",
    "catCoverPhoto": "Cover photo",
    "catProfilePhoto": "Profile photo",
    "media": "Media",
    "filterAllLocations": "All locations",
    "filterAllCategories": "All categories",
    "subtitle": "{count} photos across your locations",
    "businessPhoto": "Business photo",
    "deletePhotoTitle": "Delete this photo?",
    "deletePhotoDescription": "This will permanently remove this photo from your Google Business Profile. This action cannot be undone.",
    "deleteSuccess": "Photo deleted",
    "deleteError": "Failed to delete photo",
    "uploadError": "Failed to upload photo",
    "uploadSuccess": "Photo uploaded",
    "showingResults": "Showing {start}–{end} of {total}",
    "uploadPhoto": "Upload Photo",
    "labelLocation": "Location",
    "labelPhoto": "Photo",
    "dropImageHere": "Drop image here",
    "dragDropImage": "Drag & drop an image",
    "orClickBrowse": "or click to browse",
    "photoRequirements": "Min 250px on short edge, 10KB+. Public URL or upload from device.",
    "labelCategory": "Category",
    "labelDescriptionOptional": "Description (optional)",
    "placeholderDescription": "Describe this photo...",
    "placeholderPhotoUrlExample": "https://example.com/photo.jpg"
  },
  "Templates": {
    "title": "Templates",
    "breadcrumb": "Templates",
    "pageSubtitle": "Create reusable reply snippets with variables. Use them when answering reviews on Google.",
    "description": "Reply templates for reviews",
    "templateCount": "{count} reply {count, plural, one {template} other {templates}}",
    "noTemplatesYetCreate": "No templates yet. Create your first one.",
    "emptyTitle": "No templates yet",
    "emptyDescription": "Create your first one.",
    "newTemplate": "New Template",
    "createDialogTitle": "Create reply template",
    "createDialogDescription": "Create a reusable template for replying to reviews. Use variables like <variable>Reviewer Name</variable> for dynamic content.",
    "editDialogTitle": "Edit template",
    "editDialogDescription": "Update your reply template. Changes will apply the next time you use it.",
    "fieldTemplateName": "Template name",
    "fieldTemplateNamePlaceholder": "e.g. Thank you (5 star)",
    "fieldReplyBody": "Reply body",
    "fieldReplyBodyPlaceholder": "Start typing your reply template...",
    "fieldAvailability": "Availability",
    "allLocations": "All locations (including future)",
    "availabilityAll": "All locations (including future)",
    "availabilitySpecific": "Specific locations only",
    "availabilityNone": "No locations (disabled)",
    "fieldSelectLocations": "Select locations",
    "noLocationsConnected": "No locations connected",
    "starRatings": "Available for star ratings",
    "fieldStarRatings": "Available for star ratings",
    "starRatingsLabel": "Star ratings",
    "allRatings": "All ratings",
    "allRatingsDefault": "All ratings",
    "noRatings": "No ratings selected",
    "star": "{count} Star",
    "stars": "{count} Stars",
    "starCount": "{count, plural, one {{count} Star} other {{count} Stars}}",
    "activeLabel": "Active (visible when replying to reviews)",
    "inactive": "Inactive",
    "modeAll": "All locations",
    "modeNone": "No locations",
    "modeSpecific": "Specific",
    "cancel": "Cancel",
    "create": "Create Template",
    "createTemplate": "Create Template",
    "creating": "Creating...",
    "save": "Save Changes",
    "saveChanges": "Save Changes",
    "saving": "Saving...",
    "edit": "Edit",
    "delete": "Delete",
    "deleting": "Deleting...",
    "deleteTemplateTitle": "Delete this template?",
    "deleteTemplateDescription": "This will permanently delete \"{name}\". This action cannot be undone.",
    "deleteSuccess": "Template deleted",
    "deleteError": "Failed to delete template",
    "createError": "Failed to create template",
    "createSuccess": "Template created",
    "saveError": "Failed to save template",
    "saveSuccess": "Template saved",
    "createdDate": "Created {date}",
    "varReviewerName": "Reviewer Name",
    "varStarRating": "Star Rating",
    "varLocationName": "Location Name",
    "varLocationAddress": "Location Address",
    "templates": "Templates"
  },
  "TimezoneSelect": {
    "selectPlaceholder": "Select timezone…",
    "searchPlaceholder": "Search timezone…",
    "empty": "No timezone found."
  },
  "AIResponses": {
    "title": "AI Responses",
    "breadcrumb": "AI Responses",
    "pageSubtitle": "Define how AI drafts replies for reviews—tone, language, and which locations each rule applies to.",
    "description": "AI rules for reply drafts",
    "ruleCount": "{count} AI {count, plural, one {rule} other {rules}}",
    "noRulesYetCreate": "No AI rules yet. Create your first one.",
    "emptyTitle": "No AI rules yet",
    "emptyDescription": "Create your first AI response rule to start generating replies automatically.",
    "infoTitle": "How AI Responses work",
    "infoDescription": "Create rules to control how the AI generates reply drafts for your Google reviews. Configure tone, language, and behavior per location. Only one \"All locations\" rule is allowed per organization — it acts as the default for every location. Rules assigned to specific locations override the global rule for those locations. Reviews that seem irrelevant to your business will be flagged automatically.",
    "newAiRule": "New AI Rule",
    "createRule": "Create Rule",
    "creating": "Creating...",
    "saveChanges": "Save Changes",
    "saving": "Saving...",
    "edit": "Edit",
    "delete": "Delete",
    "deleting": "Deleting...",
    "deleteRuleTitle": "Delete this AI rule?",
    "deleteRuleDescription": "This will permanently delete \"{name}\". Locations using this rule will no longer have AI-generated responses. This action cannot be undone.",
    "ruleDeleted": "AI rule deleted",
    "deleteError": "Failed to delete AI rule",
    "createError": "Failed to create rule",
    "ruleCreated": "Rule created",
    "ruleSaved": "Rule saved",
    "saveError": "Failed to save rule",
    "cancel": "Cancel",
    "back": "Back",
    "next": "Next",
    "stepProgress": "Step {current} of {total}",
    "inactive": "Inactive",
    "allLocations": "All locations",
    "modeAll": "All locations",
    "modeSpecific": "Specific",
    "modeInactive": "Inactive",
    "createdDate": "Created {date}",
    "voice": "Voice",
    "cardVoice": "Voice",
    "fieldVoice": "Voice",
    "cardEmoji": "Emoji",
    "language": "Language",
    "cardLanguage": "Language",
    "negative": "Negative",
    "cardNegative": "Negative",
    "cardFiveStar": "5-star",
    "cardAddressing": "Addressing",
    "cardClosesWith": "Closes with: \"{text}\"",
    "exampleCount": "{count} {count, plural, one {example} other {examples}}",
    "keywords": "Keywords",
    "customInstructions": "Custom instructions",
    "langAuto": "Auto-detect",
    "langAutoFull": "Auto-detect (match review language)",
    "fieldAutoFallbackLanguage": "Fallback language",
    "fieldAutoFallbackLanguageHint": "When a review has no text, the AI will reply in this language instead of English.",
    "fallbackDefault": "English (default)",
    "cardFallbackLang": "Fallback: {lang}",
    "langEn": "English",
    "langEs": "Spanish",
    "langZh": "Mandarin Chinese",
    "langHi": "Hindi",
    "langAr": "Arabic",
    "langFr": "French",
    "strategyApologize": "Apologize sincerely",
    "strategyEmpathize": "Empathize",
    "strategyEmpathizeFull": "Empathize without admitting fault",
    "strategyProfessional": "Professional & brief",
    "strategyProfessionalFull": "Keep it professional and brief",
    "strategySolutionFocused": "Solution focused",
    "strategySolutionFocusedFull": "Focus on offering a solution",
    "nameFullName": "Full name",
    "nameFirstName": "First name",
    "nameNone": "No name",
    "nameFirstNameOnly": "First name only",
    "nameDontAddress": "Don't address by name",
    "emojiNone": "No emojis",
    "emojiSubtle": "Subtle",
    "emojiSubtleFull": "Subtle (1-2 where appropriate)",
    "emojiFrequent": "Frequent",
    "emojiFrequentFull": "Frequent (expressive and fun)",
    "voiceI": "I (owner)",
    "voiceIFull": "First person singular — \"I appreciate...\"",
    "voiceWe": "We (team)",
    "voiceWeFull": "First person plural — \"We appreciate...\"",
    "voiceBrand": "Brand name",
    "voiceBrandFull": "Brand name — \"The team at [business] appreciates...\"",
    "positiveThankInvite": "Thank & invite back",
    "positiveKeepShort": "Simple thank-you",
    "positiveMentionSpecifics": "Reference specifics",
    "positiveEncourageReferral": "Encourage referral",
    "toneProfessional": "Professional",
    "toneFriendly": "Friendly",
    "toneCasual": "Casual",
    "toneFormal": "Formal",
    "toneEmpathetic": "Empathetic",
    "toneEnthusiastic": "Enthusiastic",
    "toneWitty": "Witty",
    "nonFiveAskFeedback": "Ask for feedback if they didn't say what went wrong",
    "nonFiveAskAlways": "Always ask what could be improved",
    "nonFiveAcknowledge": "Acknowledge and promise to improve (don't ask questions)",
    "nonFiveInviteContact": "Invite them to contact you directly to resolve it",
    "stepBusiness": "Business",
    "stepBusinessDesc": "Tell us about your business",
    "stepVoice": "Voice",
    "stepVoiceDesc": "How should replies look and sound?",
    "stepHandling": "Handling",
    "stepHandlingDesc": "How to handle different reviews",
    "stepExamples": "Examples",
    "stepExamplesDesc": "Teach the AI your style",
    "stepLocations": "Locations",
    "stepLocationsDesc": "Where does this rule apply?",
    "ruleName": "Rule name",
    "fieldRuleName": "Rule name",
    "fieldRuleNamePlaceholder": "e.g. Main restaurant rule",
    "businessType": "Business type",
    "fieldBusinessType": "Business type",
    "fieldBusinessTypePlaceholder": "e.g. Italian Restaurant, Hair Salon, Auto Shop",
    "businessDetails": "Business details",
    "fieldBusinessDetails": "About your business",
    "fieldBusinessDetailsPlaceholder": "Describe your business, services/products, specialties, unique selling points...",
    "fieldBusinessDetailsHint": "The more detail you provide, the better the AI can handle varied reviews and flag irrelevant ones.",
    "optional": "(optional)",
    "tone": "Tone",
    "fieldTone": "Tone",
    "fieldToneHint": "Select one or more tones for AI-generated replies.",
    "fieldTonePlaceholder": "Select tone...",
    "fieldToneAllLabel": "All tones",
    "emojiUsage": "Emoji usage",
    "fieldEmojiUsage": "Emoji usage",
    "responseLanguage": "Response language",
    "fieldResponseLanguage": "Response language",
    "nameAddressing": "Name addressing",
    "fieldNameAddressing": "Name addressing",
    "closingText": "Closing text",
    "fieldClosingText": "Closing text",
    "fieldClosingTextPlaceholder": "e.g. Kindly, Tom's Burgers",
    "fieldClosingTextHint": "Always end replies with this text if provided.",
    "fieldNegativeHandling": "Negative review handling",
    "fieldNonFiveStar": "Non-5-star reviews",
    "fieldNonFiveStarHint": "When a review is less than 5 stars, how should the AI respond? If the guest already explained what went wrong, the AI will address it directly regardless of this setting.",
    "fieldFiveStar": "5-star reviews",
    "fieldFiveStarHint": "How should the AI respond to glowing 5-star reviews?",
    "keywordsToInclude": "Keywords to include",
    "fieldKeywords": "Keywords to include",
    "fieldKeywordsPlaceholder": "e.g. family-owned, artisan coffee, free parking, loyalty program...",
    "fieldKeywordsHint": "Words or phrases the AI should try to work into replies naturally.",
    "exampleResponses": "Example responses",
    "fieldExampleResponses": "Example responses",
    "fieldExampleResponsesHint": "Paste replies you love. The AI will learn your style from these examples.",
    "optionalUpTo": "optional — up to {max}",
    "fieldExamplePlaceholder": "Example reply {number}...",
    "addExample": "Add example",
    "fieldCustomInstructions": "Custom instructions",
    "fieldCustomInstructionsPlaceholder": "e.g. Always mention we've been family-owned since 1985. Never use exclamation marks. Reference our rooftop seating when people mention the view...",
    "fieldCustomInstructionsHint": "Any additional instructions for the AI that aren't covered by other settings.",
    "fieldAvailability": "Availability",
    "availabilityAll": "All locations (including future)",
    "alreadyAssigned": "already assigned",
    "availabilitySpecific": "Specific locations only",
    "availabilityInactive": "Inactive",
    "fieldSelectLocations": "Select locations",
    "noLocationsConnected": "No locations connected",
    "assignedTo": "assigned to \"{name}\"",
    "allRuleTakenHint": "\"{name}\" already covers all locations. Only one global rule is allowed per organization.",
    "activeLabel": "Active (enables AI response generation)",
    "aiResponses": "AI Responses",
    "automationInUseWarning": "This rule is used by AI Reply Automation. Update or disable the automation in Automations settings first."
  },
  "Automations": {
    "title": "Automations",
    "breadcrumb": "Automations",
    "description": "Configure scheduled background tasks for your organization.",
    "aiReplyRulesTitle": "AI Reply Automation Rules",
    "ruleCount": "{count, plural, one {# rule} other {# rules}}",
    "noRulesYetCreate": "No automation rules yet. Create one to get started.",
    "createRule": "Create Rule",
    "editRule": "Edit",
    "deleteRule": "Delete",
    "deleteRuleTitle": "Delete automation rule?",
    "deleteRuleDescription": "The rule \"{name}\" will be permanently deleted. Active scheduled replies will not be affected.",
    "deleting": "Deleting...",
    "cancel": "Cancel",
    "ruleName": "Rule name",
    "ruleNamePlaceholder": "e.g. Main locations auto-reply",
    "active": "Active",
    "inactive": "Inactive",
    "ruleActivated": "Rule activated",
    "ruleDeactivated": "Rule deactivated",
    "toggleError": "Failed to update rule status",
    "ruleDeleted": "Rule deleted",
    "deleteError": "Failed to delete rule",
    "createError": "Failed to create rule",
    "ruleCreated": "Rule created",
    "ruleSaved": "Rule saved",
    "saveError": "Failed to save rule",
    "allLocations": "All locations",
    "specificLocations": "Specific locations",
    "selectLocations": "Select locations",
    "noLocations": "No locations connected yet.",
    "locationScope": "Location scope",
    "modeAll": "All locations",
    "modeSpecific": "Specific locations",
    "aiReplyTiming": "When to post the reply",
    "immediately": "Immediately after review arrives",
    "fixedDelay": "After a fixed delay",
    "randomDelay": "Random delay (human-like)",
    "delayMinutesLabel": "Delay",
    "minutes": "minutes",
    "to": "to",
    "randomDelayRange": "Random delay range",
    "requireApproval": "Require approval before posting",
    "requireApprovalDescription": "AI replies will be saved for review instead of posting automatically.",
    "noAiRuleWarning": "{count, plural, one {# location doesn't} other {# locations don't}} have an AI rule configured — they won't receive auto-replies.",
    "uncoveredLocationsTitle": "Locations without AI rule",
    "uncoveredLocationsDesc": "{count, plural, one {# location doesn't} other {# locations don't}} have an AI rule configured — they won't receive automatic replies.",
    "goBack": "Go back",
    "createAnyway": "Create anyway",
    "starRatings": "Star ratings",
    "starRatingsDescription": "Only reviews with these star ratings will receive an AI reply.",
    "emptyTitle": "No automation rules",
    "emptyDescription": "Create a rule to automatically reply to new Google reviews with AI.",
    "createRuleDialogTitle": "Create Automation Rule",
    "editRuleDialogTitle": "Edit Automation Rule",
    "creating": "Creating...",
    "create": "Create",
    "updating": "Updating...",
    "update": "Update",
    "cardRuleTypeAi": "AI reply automation",
    "cardRuleTypeTemplate": "Template reply automation",
    "cardDetailEyebrowReply": "Reply",
    "cardDetailEyebrowRatings": "Matching reviews",
    "cardDetailEyebrowLocations": "Locations",
    "cardDetailEyebrowTemplates": "Templates by rating",
    "cardNoStarFilter": "No star filter — all ratings",
    "cardAiReplyWhenImmediately": "Posts an AI-generated reply immediately after each qualifying review arrives.",
    "cardAiReplyWhenFixedDelay": "Posts an AI-generated reply after a fixed delay once the review arrives.",
    "cardAiReplyWhenFixedDelayMinutes": "Posts an AI-generated reply {minutes, plural, one {# minute} other {# minutes}} after the review arrives.",
    "cardAiReplyWhenRandomDelay": "Posts an AI-generated reply after a random, human-like delay once the review arrives.",
    "cardAiReplyWhenRandomDelayRange": "Posts an AI-generated reply after a random delay between {min} and {max} minutes once the review arrives.",
    "cardTplReplyWhenImmediately": "Posts the saved template reply immediately after each qualifying review arrives.",
    "cardTplReplyWhenFixedDelay": "Posts the saved template reply after a fixed delay once the review arrives.",
    "cardTplReplyWhenFixedDelayMinutes": "Posts the saved template reply {minutes, plural, one {# minute} other {# minutes}} after the review arrives.",
    "cardTplReplyWhenRandomDelay": "Posts the saved template reply after a random, human-like delay once the review arrives.",
    "cardTplReplyWhenRandomDelayRange": "Posts the saved template reply after a random delay between {min} and {max} minutes once the review arrives.",
    "cardReplyApprovalNote": "Held for your approval before publishing to Google.",
    "cardApproval": "Requires approval",
    "cardLastRun": "Last run",
    "createdDate": "Created {date}",
    "locationAssigned": "Already assigned to \"{ruleName}\"",
    "templateReplyRulesTitle": "Template Reply Automation Rules",
    "templateEmptyTitle": "No template automation rules",
    "templateEmptyDescription": "Create a rule to automatically reply to new Google reviews using your templates.",
    "templateBadge": "Template",
    "createTemplateRule": "Create Template Rule",
    "templateRuleNamePlaceholder": "e.g. Thank you / apology auto-replies",
    "selectTemplate": "Select a template…",
    "noTemplatesForRating": "No templates available for this rating",
    "ratingDisabled": "Disabled — no auto-reply",
    "templatesMissingSummary": "{count, plural, one {# enabled rating has} other {# enabled ratings have}} no templates available.",
    "createTemplateLink": "Create templates",
    "unknownTemplate": "Unknown template",
    "requireApprovalDescriptionTemplate": "Template replies will be saved for review instead of posting automatically.",
    "templateReplyTiming": "When to post the reply",
    "tplStepBasics": "Rule basics",
    "tplStepBasicsDesc": "Name your rule and choose which locations it applies to.",
    "tplStepMappings": "Template mappings",
    "tplStepMappingsDesc": "Pick a template for each star rating you want to auto-reply to.",
    "tplStepTiming": "Timing & approval",
    "tplStepTimingDesc": "Choose when replies are posted and whether they need approval.",
    "tplStepProgress": "Step {current} of {total}",
    "tplNext": "Next",
    "tplBack": "Back",
    "tplBlockedByAiAll": "Cannot create template rule",
    "tplBlockedByAiAllDesc": "An AI automation rule already covers all locations. Remove or change it to specific locations before creating a template rule.",
    "aiBlockedByTplAll": "Cannot create AI rule",
    "aiBlockedByTplAllDesc": "A template automation rule already covers all locations. Remove or change it to specific locations before creating an AI rule.",
    "tplGoToAiRules": "Go to AI reply rules →",
    "aiGoToTplRules": "Go to template reply rules →",
    "aiPageDescription": "AI replies read each review and craft a unique, context-aware response using your custom instructions, tone, and business details. This is the recommended option — replies feel authentic and adapt naturally to what each reviewer says.",
    "tplPageDescription": "Template replies send a fixed pre-written message based on the star rating. Useful for simple, predictable responses, but they don't adapt to the review content. For more authentic replies, consider using AI rules instead.",
    "automationsSections": "Automations sections",
    "subNavScrollNext": "Show more sections",
    "subNavScrollPrev": "Show previous sections",
    "aiRules": "AI Replies",
    "templateRules": "Template Replies",
    "bulkReply": "Bulk Reply",
    "bulkReplyTitle": "Bulk Reply",
    "bulkReplyDescription": "Reply to all pending reviews at once using your existing automation rules.",
    "bulkMode": "Reply mode",
    "bulkModeDescription": "Choose how replies will be generated for matching reviews.",
    "bulkModeAi": "AI replies",
    "bulkModeAiDescription": "Uses your existing AI automation rules to craft unique, context-aware replies.",
    "bulkModeTemplate": "Template replies",
    "bulkModeTemplateDescription": "Uses your existing template automation rules to send pre-written replies.",
    "bulkPublishMode": "Publishing",
    "bulkPublishImmediate": "Publish immediately",
    "bulkPublishImmediateDescription": "Replies are posted to Google as soon as they are generated.",
    "bulkPublishApproval": "Require approval",
    "bulkPublishApprovalDescription": "Replies are saved for your review before posting.",
    "bulkLocations": "Locations",
    "bulkAllLocationsDescription": "Process reviews from every connected location.",
    "bulkSpecificLocationsDescription": "Choose which locations to include in this job.",
    "bulkRatings": "Star ratings",
    "bulkRatingsDescription": "Only reviews with these ratings will be processed.",
    "bulkPreviewLoading": "Counting matching reviews…",
    "bulkPreviewCount": "{count, plural, one {# review} other {# reviews}} will be processed",
    "bulkPreviewNoMatches": "No unreplied reviews match the current filters.",
    "bulkInsufficientCredits": "Not enough AI credits",
    "bulkInsufficientCreditsDetail": "You need {needed} credits but only have {available} available ({monthly} monthly + {purchased} purchased).",
    "bulkBuyCredits": "Purchase more credits →",
    "bulkCreateJob": "Create bulk reply job",
    "bulkCreatingJob": "Creating job…",
    "bulkRecentJobs": "Recent jobs",
    "bulkNoJobs": "No bulk reply jobs yet",
    "bulkNoJobsHint": "Create your first job above to get started.",
    "bulkJobQueued": "Bulk reply job queued successfully.",
    "bulkJobFailed": "Failed to queue bulk reply job.",
    "bulkJobPending": "Waiting to start processing…",
    "bulkStatus_queued": "Queued",
    "bulkStatus_running": "Processing",
    "bulkStatus_completed": "Completed",
    "bulkStatus_processingReplies": "Generating replies…",
    "bulkProcessingRepliesCount": "{count, plural, one {# reply} other {# replies}} still being generated",
    "bulkGoToApproval": "Review pending approvals",
    "bulkStatus_failed": "Failed",
    "bulkStatTotal": "Total",
    "bulkStatQueued": "Queued",
    "bulkStatProcessed": "{done} / {total} replies generated",
    "bulkStatSkipped": "Skipped",
    "bulkStatFailed": "Failed",
    "bulkNoRulesForMode": "No configuration found",
    "bulkNoRulesForModeDesc": "You need to configure AI responses or reply templates for your locations before creating a bulk reply job.",
    "bulkGoToAiResponses": "Configure AI responses →",
    "bulkGoToTemplates": "Manage reply templates →",
    "bulkPartialCoverage": "{count, plural, one {# location} other {# locations}} ({names}{extra, plural, =0 {} other { +{extra} more}}) won't be processed — no AI response or template configured.",
    "bulkNoCoverageInScope": "None of the selected locations have this mode configured. Reviews won't be processed."
  },
  "Notifications": {
    "title": "Notifications",
    "breadcrumb": "Notifications",
    "pageSubtitle": "Manage how you receive alerts and updates.",
    "saved": "Saved",
    "personalChat": "Personal chat",
    "groupChat": "Group {chatId}",
    "disconnectDescription": "This chat will be unlinked immediately and a notification will be sent to confirm the disconnection. You won't receive alerts there anymore.",
    "cancel": "Cancel",
    "disconnect": "Disconnect",
    "disconnecting": "Disconnecting...",
    "pendingGroupLink": "Pending group link",
    "revoke": "Revoke",
    "revoking": "Revoking...",
    "copied": "Copied!",
    "copy": "Copy",
    "openInTelegram": "Open in Telegram",
    "copyCommand": "Copy command",
    "revokeCode": "Revoke code",
    "connectTelegram": "Connect your Telegram account or a group chat to receive notifications instantly.",
    "addGroup": "Add a group",
    "notifications": "Notifications",
    "telegramNotifications": "Telegram Notifications",
    "telegramNotificationsDesc": "Receive instant alerts on Telegram — works with private chats and groups.",
    "connected": "Connected",
    "disconnectPersonalTitle": "Disconnect personal chat?",
    "disconnectGroupTitle": "Disconnect group?",
    "chatUnlinked": "Chat unlinked",
    "unlinkError": "Failed to unlink chat",
    "linkRevoked": "Link code revoked",
    "revokeError": "Failed to revoke link code",
    "revokeLinkCodeTitle": "Revoke link code?",
    "revokeLinkCodeDesc": "This will invalidate the pending code. Anyone who hasn't used it yet won't be able to link.",
    "groupLinkInstructions": "Add the bot to your Telegram group, then send the command below in the group chat:",
    "telegramLinkInstructions": "Open the link below in Telegram to connect your personal chat. For group chats, add the bot to your group and send /link {code} instead.",
    "afterLinkingRefresh": "After linking, refresh this page to see your preferences.",
    "connectTelegramDesc": "Connect your Telegram account or a group chat to receive notifications instantly.",
    "rulesTitle": "Notification Rules",
    "rulesDescription": "Choose which reviews trigger notifications, per business and per channel.",
    "defaultRuleTitle": "All Businesses (Default)",
    "defaultRuleDescription": "Applies to every location that doesn't have a specific override below.",
    "emailChannel": "Email",
    "telegramChannel": "Telegram",
    "newReviews": "New reviews",
    "googleUpdatesLabel": "Google profile updates",
    "starRatings": "Star ratings",
    "allRatings": "All ratings",
    "allRatingsDefault": "All ratings",
    "noRatings": "No ratings selected",
    "starCount": "{count, plural, one {{count} Star} other {{count} Stars}}",
    "addOverride": "Add location override",
    "addOverrideDesc": "Select a location to customize its notification rules",
    "applyDefaultToAll": "Reset all to default",
    "applyDefaultToAllConfirm": "Remove all location overrides? The default rule will apply to every location.",
    "telegramConfigCallout": "To configure Telegram notifications, connect your Telegram account or a group in the section below first.",
    "pushChannel": "Push Notifications",
    "pushNotifications": "Push Notifications",
    "pushNotificationsDesc": "Receive instant notifications directly in your browser or phone, even when the app is closed.",
    "pushNotSupported": "Push notifications are not supported in this browser. Try using Chrome, Edge, or Firefox on desktop, or add the app to your home screen on mobile.",
    "pushActiveDevice": "This device",
    "pushEnable": "Enable push notifications on this device",
    "pushEnableDesc": "Allow browser notifications to receive real-time alerts for new reviews and updates.",
    "pushDisable": "Disable",
    "pushDisabling": "Disabling...",
    "pushDisableTitle": "Disable push notifications?",
    "pushDisableDesc": "You will no longer receive push notifications on this device. You can re-enable them at any time.",
    "pushEnabled": "Push notifications enabled",
    "pushDisabled": "Push notifications disabled",
    "pushPermissionDenied": "Notification permission was denied. Please allow notifications in your browser settings.",
    "pushPermissionBlocked": "Notifications are blocked by your browser. Open your browser settings and allow notifications for this site to continue.",
    "pushConfigCallout": "To receive push notifications, enable them on your device in the section below first.",
    "noLocations": "No locations connected yet. Connect a location first to configure notification rules.",
    "selectLocation": "Select a location",
    "enabled": "Enabled",
    "disabled": "Disabled",
    "overrideCount": "{count, plural, =0 {No overrides} one {1 override} other {# overrides}}",
    "saveRules": "Save Rules",
    "savingRules": "Saving...",
    "rulesSaved": "Rules saved",
    "generateLinkError": "Failed to generate link",
    "linkGenerated": "Link generated",
    "saveRulesError": "Failed to save notification rules"
  },
  "Reports": {
    "title": "Reports",
    "breadcrumb": "Reports",
    "reportsSubNavAria": "Report sections",
    "overviewPageSubtitle": "Review volume, ratings, sentiment, and response quality across your locations. Filters apply to the metrics below.",
    "trendsPageSubtitle": "Spot patterns in review timing, volume, and ratings. Filters apply to the charts below.",
    "insightsPageSubtitle": "Topic and sentiment analysis from your recent reviews. Filters apply to the analysis below.",
    "overview": "Overview",
    "trends": "Trends",
    "performance": "Performance",
    "insights": "Insights",
    "performanceDescription": "Compare performance across locations.",
    "totalReviews": "Total Reviews",
    "avgRating": "Average Rating",
    "responseRate": "Response Rate",
    "ratingDistribution": "Rating Distribution",
    "reviewsOverTime": "Reviews Over Time",
    "period": "Period",
    "last30Days": "Last 30 days",
    "last90Days": "Last 90 days",
    "last12Months": "Last 12 months",
    "allTime": "All time",
    "allLocations": "All locations",
    "stars": "{count} stars",
    "star": "{count} star",
    "reviews": "reviews",
    "hours": "hours",
    "days": "days",
    "reports": "Reports",
    "noLocationsTitle": "No locations connected",
    "noLocationsOverviewDesc": "Connect a location to see your review overview.",
    "goToLocations": "Go to Locations",
    "overviewSummary": "{count} reviews with an average of {avg} stars",
    "noReviewsInPeriod": "No reviews in the selected period.",
    "noDataTitle": "No data yet",
    "noDataOverviewDesc": "There are no reviews in the selected period. Try changing the filters.",
    "reportsPerformance": "Performance",
    "noLocationsPerformanceDesc": "Connect a location to see Google Business Profile performance data.",
    "performanceSummary": "Showing performance data for the last {days} days.",
    "noPerformanceData": "No performance data available for the selected period.",
    "noPerformanceDataTitle": "No performance data",
    "noPerformanceDataDesc": "There is no performance data for the selected period. Try adjusting the filters.",
    "timePeriod": "Time period",
    "last3Months": "Last 3 months",
    "last6Months": "Last 6 months",
    "last18Months": "Last 18 months",
    "location": "Location",
    "vsPriorPeriod": "vs prior period",
    "totalImpressions": "Total Impressions",
    "websiteClicks": "Website Clicks",
    "phoneCalls": "Phone Calls",
    "directionRequests": "Direction Requests",
    "messages": "Messages",
    "bookings": "Bookings",
    "foodOrders": "Food Orders",
    "menuViews": "Menu Views",
    "impressionsOverTime": "Impressions Over Time",
    "impressionsOverTimeDesc": "Search and Maps impressions over the selected period",
    "customerActions": "Customer Actions",
    "customerActionsDesc": "Website clicks, phone calls, and direction requests over time",
    "searchVsMaps": "Search vs Maps",
    "searchVsMapsDesc": "Where your impressions come from",
    "googleSearch": "Google Search",
    "ofImpressions": "{pct}% of impressions",
    "googleMaps": "Google Maps",
    "desktopVsMobile": "Desktop vs Mobile",
    "desktopVsMobileDesc": "Device breakdown of your impressions",
    "desktop": "Desktop",
    "mobile": "Mobile",
    "weeklyActionsBreakdown": "Weekly Actions Breakdown",
    "weeklyActionsDesc": "Customer actions aggregated by week",
    "searchTerms": "Search Terms",
    "topSearchTerms": "Top {count} search terms by impressions",
    "showingTopSearchTerms": "Showing top {count} of all search terms",
    "directions": "Directions",
    "conversionRate": "Conversion Rate",
    "conversionRateDesc": "Percentage of impressions that led to actions",
    "overallActionRate": "overall action rate",
    "totalActionsFromImpressions": "{actions} total actions from {impressions} impressions",
    "impressions": "Impressions",
    "periodComparison": "Period Comparison",
    "periodComparisonDesc": "Last {recent} days vs prior {prior} days",
    "dayOfWeekPerformance": "Day of Week Performance",
    "dayOfWeekPerformanceDesc": "Average impressions and actions by day of week",
    "topLowPerformingDays": "Top & Low Performing Days",
    "topLowPerformingDaysDesc": "Days with the highest and lowest impressions",
    "bestDays": "Best days",
    "lowestDays": "Lowest days",
    "totalActions": "Total Actions",
    "visibilityToActionFunnel": "Visibility to Action Funnel",
    "visibilityToActionFunnelDesc": "How impressions convert into customer actions",
    "conversion": "conversion",
    "reportsTrends": "Trends",
    "noLocationsTrendsDesc": "Connect a location to see review trends.",
    "trendsSummary": "Analyzing {count} reviews in the selected period.",
    "noTrendDataTitle": "No trend data",
    "noTrendDataDesc": "There are no reviews in the selected period to analyze trends.",
    "reportsInsights": "Insights",
    "noLocationsInsightsDesc": "Connect a location to see review insights.",
    "insightsSummary": "{count} reviews analyzed with an average of {avg} stars.",
    "insightsTopicSampleHeading": "Topic modeling scope",
    "insightsTopicSampleNote": "Topic modeling uses up to {sampled, number} of your newest reviews ({total, number} in this period).",
    "insightsPriorVolUp": "+{countFormatted} reviews vs prior period",
    "insightsPriorVolDown": "−{countFormatted} reviews vs prior period",
    "insightsPriorVolFlat": "Same review volume vs prior period",
    "insightsPriorVolNew": "No reviews in the prior window — new activity this period",
    "insightsPriorRatingNeedBaseline": "Star average compares once the prior window has reviews",
    "insightsPriorRatingUp": "+{value} avg stars vs prior period",
    "insightsPriorRatingDown": "−{value} avg stars vs prior period",
    "insightsPriorRatingFlat": "Same avg stars vs prior period",
    "aiInsightsTitle": "AI summary",
    "aiInsightsSubtitle": "Overview of themes and sentiment from your recent reviews, in your language.",
    "noInsightsTitle": "No insights available",
    "noInsightsNoReviewsDesc": "There are no reviews to analyze in the selected period.",
    "noInsightsNotEnoughDesc": "There aren't enough reviews yet to generate topic insights.",
    "ratingBreakdown": "Rating Breakdown",
    "totalReviewsCount": "{count} total reviews",
    "responseRateDesc": "Percentage of reviews you've replied to",
    "responded": "responded",
    "total": "Total",
    "replied": "Replied",
    "pending": "Pending",
    "moreLastMonth": "{count} more than last month",
    "fewerLastMonth": "{count} fewer than last month",
    "monthlyReviewVolume": "Monthly review volume",
    "avgRatingTrend": "Average Rating Trend",
    "overThePeriod": "over the period",
    "howRatingChanged": "How your average rating changed",
    "dailyActivity": "Daily Activity",
    "reviewsInLast30Days": "{count} reviews in the last 30 days",
    "reviewsByLocation": "Reviews by Location",
    "compareLocations": "Compare review volume across locations",
    "reviewsCount": "{count} reviews",
    "repliedPercent": "{rate}% replied",
    "locationPerformance": "Location Performance",
    "locationPerformanceDesc": "Detailed breakdown by location",
    "locationColumn": "Location",
    "reviewsColumn": "Reviews",
    "avgRatingColumn": "Avg Rating",
    "repliedColumn": "Replied",
    "responsePercentColumn": "Response %",
    "positive": "Positive",
    "stars4to5": "4-5 stars",
    "neutral": "Neutral",
    "stars3": "3 stars",
    "negative": "Negative",
    "stars1to2": "1-2 stars",
    "sentimentBreakdown": "Sentiment Breakdown",
    "sentimentDesc": "Based on {count} reviews",
    "reviewsCountDot": "{count} reviews",
    "responseSpeed": "Response Speed",
    "responseSpeedDesc": "How quickly you respond to reviews",
    "average": "Average",
    "median": "Median",
    "within24h": "Within 24 hours",
    "within48h": "Within 48 hours",
    "within72h": "Within 72 hours",
    "within96h": "Within 96 hours",
    "includeUnansweredReviews": "Include unanswered reviews",
    "includeUnansweredReviewsHint": "When enabled, pending reviews are measured up to now.",
    "responseTimeHint": "Faster response times lead to better customer satisfaction and show that you care.",
    "peakReviewDays": "Peak Review Days",
    "busiestDay": "{day} is the busiest with {count} reviews",
    "whenCustomersLeaveReviews": "When customers leave reviews",
    "whatCustomersTalkAbout": "What Customers Talk About",
    "topicsMentions": "{count} total mentions across all topics",
    "whatPeopleLove": "What people love",
    "notEnoughData": "Not enough data",
    "needsImprovement": "Needs improvement",
    "mixedSentiment": "Mixed sentiment",
    "showFewer": "Show fewer",
    "showAllTopics": "Show all {count} topics",
    "needsAttention": "Needs Attention",
    "needsAttentionDesc": "Recent negative reviews without a reply",
    "replyNow": "Reply now",
    "chartReviews": "Reviews",
    "chartAvgImpressions": "Avg. Impressions",
    "chartAvgActions": "Avg. Actions",
    "chartLinearTrend": "Linear trend",
    "daySun": "Sun",
    "dayMon": "Mon",
    "dayTue": "Tue",
    "dayWed": "Wed",
    "dayThu": "Thu",
    "dayFri": "Fri",
    "daySat": "Sat",
    "group": "Group comparison",
    "groupDescription": "Enterprise benchmarking across locations: response-time targets, sentiment mix, group deltas, and operational KPIs for multi-site teams.",
    "noLocationsGroupDesc": "Add locations to start comparing group performance.",
    "groupNeedsTwoLocationsTitle": "At least two locations required",
    "groupNeedsTwoLocationsDesc": "This report compares performance between locations. Add a second location to unlock group benchmarking.",
    "addAnotherLocation": "Add another location",
    "groupTotalLocations": "Locations in group",
    "groupTotalReviews": "Total reviews",
    "groupAvgRating": "Group average rating",
    "groupPendingReviews": "{count} pending reviews",
    "groupSummary": "{count} reviews across {locations} locations",
    "groupReviewVolume": "Reviews by location",
    "groupReviewVolumeDesc": "Total review count per location in the selected period.",
    "groupLocationOverview": "Location performance",
    "groupLocationOverviewDesc": "Rating, response rate, and speed at a glance.",
    "groupLocationComparison": "Location comparison",
    "groupLocationComparisonDesc": "All columns use the same period. Δ values show how far each location is above or below the group average—not change since last month.",
    "groupVsNetworkShort": "vs group",
    "groupAvgRepliedShort": "{time} avg reply",
    "groupDurationHours": "{hours}h",
    "groupDurationDaysOnly": "{days}d",
    "groupDurationDaysHours": "{days}d {hours}h",
    "groupOrgWithin24h": "Replied within 24h (group)",
    "groupOrgWithin24hDesc": "Share of replied reviews answered within 24 hours (all locations).",
    "groupOrgWithin48h": "Replied within 48h (group)",
    "groupOrgWithin48hDesc": "Share of replied reviews answered within 48 hours (all locations).",
    "groupAvgRepliedHours": "Avg. reply time (replied)",
    "groupAvgRepliedHoursDesc": "Mean time from review to reply for replied reviews (uses days when over 24 hours).",
    "groupTextReviewRate": "Reviews with text",
    "groupTextReviewRateDesc": "Share of reviews that include written feedback.",
    "groupActiveLocations": "Active locations (30d)",
    "groupActiveLocationsDesc": "Locations that received at least one review in the last 30 days.",
    "groupRatingSpread": "Rating spread (locations)",
    "groupRatingSpreadDesc": "Lowest and highest average rating across locations with reviews.",
    "groupNetworkPending": "Group pending",
    "groupNetworkPendingDesc": "Unreplied reviews across all locations in this period.",
    "groupViewLocation": "Open location",
    "groupLeadersTitle": "Leaders & laggards",
    "groupLeadersDesc": "Standout locations and those that need the most support.",
    "groupLeaderTopRating": "Highest average rating",
    "groupLeaderNeedsAttention": "Lowest average (≥5 reviews)",
    "groupLeaderFastestWithin24h": "Fastest within 24h (replied)",
    "groupLeaderVolume": "Most reviews",
    "groupLeaderEmpty": "Not enough data",
    "groupRiskTitle": "Locations with elevated low-star share",
    "groupRiskLine": "{pct}% of reviews are 1–2 stars ({count} reviews)",
    "groupMonthlyTrendTitle": "Group review volume by rating",
    "groupMonthlyTrendDesc": "Monthly review counts stacked by star rating across all locations (selected period).",
    "groupChartTooltipTotalReviews": "Total: {count} reviews",
    "groupRatingMixTitle": "Star mix by location",
    "groupRatingMixDesc": "100% stacked distribution — compare sentiment shape, not just averages.",
    "groupTableBenchmarkHint": "Group averages this period (for comparison): {rating}★ rating, {rate}% response rate.",
    "groupTableSectionVolumeRating": "Volume & ratings",
    "groupTableSectionResponse": "Response",
    "groupTableSectionMixSla": "Mix & reply speed",
    "groupTableSectionActivity": "Activity",
    "groupTableColumnHelpAria": "What this column means",
    "groupTableHintLocation": "Business or place name. Open the location for details.",
    "groupTableHintResponseRate": "This location's share of reviews in this period that have a reply.",
    "groupTableHintDeltaRating": "How this location's average rating compares to the group average for this period. Positive means higher than the group.",
    "groupTableHintDeltaResponse": "How this location's response rate compares to the group average for this period. Positive means you reply to a larger share of reviews than the group.",
    "groupTableHintPending": "This location's reviews in this period that still have no reply.",
    "groupTableHintLowStars": "This location's share of reviews with 1–2 stars (lower is usually better).",
    "groupTableHintTextPct": "This location's share of reviews that include written feedback.",
    "groupTableHintWithin24h": "Among this location's replied reviews, share answered within 24 hours of the review.",
    "groupTableHintWithin48h": "Among this location's replied reviews, share answered within 48 hours of the review.",
    "groupTableHintAvgReplied": "Average time from review posted to your reply for this location (replied reviews only).",
    "groupTableEmpty": "No locations with reviews in this period.",
    "groupColVsNetRating": "Δ Rating",
    "groupColVsNetResponse": "Δ Response %",
    "groupColPending": "Pending",
    "groupColLowStars": "Low %",
    "groupColTextPct": "Text %",
    "groupColWithin24h": "≤24h %",
    "groupColWithin48h": "≤48h %",
    "groupColAvgReplied": "Avg reply",
    "groupColLastReview": "Last review",
    "groupSectionOperations": "Operations & response targets",
    "groupSectionOperationsDesc": "Response discipline, coverage, and reply speed across the whole group.",
    "groupSectionTrends": "Volume & distribution",
    "groupSectionTrendsDesc": "How review flow and star mix compare across locations.",
    "groupSectionDetail": "Detailed comparison",
    "groupSectionDetailDesc": "Compact cards on laptops and smaller; a full comparison table on large desktops.",
    "llmExportTitle": "Ask an AI assistant",
    "llmExportDescription": "Copy this report as plain text to paste into ChatGPT or another AI. Open in ChatGPT only opens the website—use Copy first, then paste into the chat.",
    "llmExportMetaHeading": "Report filters (from dashboard URL)",
    "llmExportPeriodCode": "Period parameter",
    "llmExportLocationCode": "Location parameter",
    "llmExportDateRange": "Google performance API range (inclusive dates)",
    "llmExportPromptFooter": "Given the report data above, summarize key insights, risks, and 3–5 actionable recommendations for our team.",
    "copyForLlm": "Copy for AI",
    "openInChatGpt": "Open in ChatGPT",
    "llmCopySuccess": "Report copied to clipboard",
    "llmCopyError": "Could not copy. Try again or copy manually.",
    "qaPlaceholder": "Ask a question about your reviews…",
    "qaLimitReached": "AI credit limit reached. Purchase more credits or wait for the next billing cycle.",
    "qaError": "Something went wrong. Please try again.",
    "qaReviewCount": "Based on {count} reviews"
  },
  "AskAi": {
    "heading": "Ask AI",
    "description": "Ask questions about your reviews in natural language. Compare locations, find recurring complaints, and discover hidden patterns.",
    "inputHeading": "What would you like to know?",
    "suggestion1": "What are the most common complaints?",
    "suggestion2": "Compare service quality across locations",
    "suggestion3": "What do guests praise the most?",
    "suggestion4": "Recurring issues in the last 3 months",
    "history": "History",
    "newChat": "New chat",
    "noHistory": "No conversations yet",
    "deleteChat": "Delete",
    "deleteChatConfirm": "Delete this conversation?",
    "you": "You",
    "loadingChat": "Loading conversation…",
    "generatingAnswer": "Generating answer… You can leave this page; it will finish in the background.",
    "searching": "Searching reviews…",
    "embeddingIndexingTitle": "Review embed jobs running",
    "embeddingIndexingDescriptionSingle": "{count, number} review embed job(s) queued or running for {location}. Ask AI may miss those reviews until the jobs finish.",
    "embeddingIndexingDescriptionMultiple": "{count, number} locations have review embed jobs in the queue: {locations}. Ask AI may be incomplete there until jobs finish.",
    "embeddingIndexingReloadHint": "Reload this page to refresh queue status."
  },
  "Settings": {
    "title": "Settings",
    "breadcrumb": "Settings",
    "description": "Manage your organization and integrations.",
    "general": "General",
    "security": "Security",
    "securityDescription": "Two-factor authentication, passkeys, and active sessions.",
    "securityPageSubtitle": "Two-factor authentication, passkeys, and active sessions.",
    "manageSecurity": "Manage security →",
    "settingsSections": "Settings sections",
    "subNavScrollNext": "Show more sections",
    "subNavScrollPrev": "Show previous sections",
    "googleConnection": "Google Connection",
    "connected": "Connected",
    "disconnected": "Disconnected",
    "googleConnectedMessage": "Your Google Business Profile is linked and ready.",
    "googleDisconnectedMessage": "Connect your Google account to manage reviews.",
    "connect": "Connect",
    "googleAccounts": "Connected Google Accounts",
    "googleAccountsDescription": "Connect Google accounts to access their Business Profile locations. You can also sign in with any of these accounts.",
    "addGoogleAccount": "Add Google Account",
    "noGoogleAccountsConnected": "No Google accounts connected",
    "noGoogleAccountsConnectedDescription": "Add a Google account to start managing Business Profile locations.",
    "locationCount": "{count} {count, plural, one {location} other {locations}}",
    "removeConnectionTitle": "Remove Google Account",
    "removeConnectionBlocked": "{email} is still linked to {count} {count, plural, one {location} other {locations}}. Disconnect {count, plural, one {that location} other {those locations}} from the Locations page before removing this account.",
    "removeConnectionConfirm": "Are you sure you want to remove {email}? Enter your password to confirm.",
    "removeConnectionNoPassword": "You need to set a password in Security settings before you can remove a Google account.",
    "removeConnectionError": "Failed to remove connection.",
    "connectionRemoved": "Connection removed.",
    "confirmPassword": "Password",
    "passwordRequired": "Please enter your password.",
    "incorrectPassword": "Incorrect password. Please try again.",
    "googlePermissionsDenied": "Google authorization was cancelled or the required permissions were not granted. Please try again and accept all requested permissions.",
    "googleLinkFailed": "Something went wrong while linking your Google account. Please try again.",
    "googlePermissionsNeedUpdating": "Google permissions need updating",
    "googleMissingScopeDescription": "Your Google account was connected but is missing the Business Profile permission. Re-authorize to grant full access.",
    "googleMissingRefreshDescription": "Your Google account was connected but the session could not be saved. Re-authorize to fix this.",
    "reauthorizeGoogle": "Re-authorize Google",
    "cancel": "Cancel",
    "understood": "Understood",
    "remove": "Remove",
    "orgDetails": "Organization Details",
    "orgName": "Organization name",
    "save": "Save Changes",
    "saveChanges": "Save Changes",
    "saving": "Saving...",
    "saved": "Saved",
    "languageTitle": "Language",
    "languageDescription": "Choose the display language for the application.",
    "languageLabel": "Display language",
    "english": "English",
    "spanish": "Español",
    "timezoneTitle": "Timezone",
    "timezoneDescription": "Choose your preferred timezone for displaying dates and times.",
    "timezoneLabel": "Timezone",
    "timezoneDetect": "Detect from browser",
    "timezoneSaved": "Timezone updated",
    "timezoneError": "Failed to update timezone",
    "settings": "Settings",
    "subscription": "Subscription",
    "subscriptionDescription": "Manage your plan, usage, and payment details.",
    "currentPlan": "Current plan",
    "planStatus_active": "Active",
    "planStatus_trialing": "Trialing",
    "planStatus_free": "Free",
    "planStatus_past_due": "Past due",
    "planStatus_unpaid": "Unpaid",
    "renewsOn": "Renews on {date}",
    "cancelingOn": "Cancels on {date}",
    "upgradePlan": "Upgrade plan",
    "usageTitle": "Usage",
    "usageLocations": "Locations",
    "usageSeats": "Users",
    "usageAiReplies": "AI replies this month",
    "purchasedCreditsLabel": "Purchased credits",
    "purchasedCreditsDescription": "Never expire — used only after your monthly quota runs out",
    "noPaymentMethod": "No payment method on file.",
    "expires": "Expires {month}/{year}",
    "nextPaymentTitle": "Next payment",
    "nextPaymentDate": "Due on {date}",
    "nextPaymentRenewalScheduleHeading": "Renewal schedule",
    "nextPaymentRenewalDue": "Due {date}",
    "nextPaymentMixedCadenceCaption": "Your plan and monthly add-ons renew on separate dates.",
    "nextPaymentTotal": "Estimated total",
    "billingCadenceBadgeMonthly": "Monthly",
    "billingCadenceBadgeAnnual": "Annual",
    "invoiceLinePlan": "{plan} plan ({interval})",
    "invoiceLineExtraLocations": "{count, plural, one {# extra location} other {# extra locations}} ({interval})",
    "invoiceLineAiCredits": "AI Reply Credits – {count, number} {count, plural, one {credit} other {credits}}",
    "invoiceIntervalMonth": "monthly",
    "invoiceIntervalYear": "annual",
    "invoicesTitle": "Billing history",
    "billing": "Billing",
    "changePlan": "Change plan",
    "changePlanTitle": "Change plan",
    "changePlanDescription": "Compare plans and choose the one that fits your needs.",
    "currentPlanBadge": "Current plan",
    "upgrade": "Upgrade",
    "downgrade": "Downgrade",
    "switchToAnnual": "Switch to Annual",
    "switchToMonthly": "Switch to Monthly",
    "prorationTitle": "Confirm plan change",
    "unusedTimeOn": "Unused time on {plan} after {date}",
    "remainingTimeOn": "Remaining time on {plan} after {date}",
    "dueNow": "Due now",
    "dueNowNote": "Charged to your payment method on file",
    "nextPaymentOn": "Next payment: {amount} on {date}",
    "prorationExplainer": "You only pay the difference for the remaining time on your current billing period. This ensures you're always charged fairly.",
    "endTrialTitle": "End trial & switch plan",
    "endTrialChargeNow": "Charged now",
    "endTrialExtraLocations": "{count, plural, one {# extra location} other {# extra locations}}",
    "endTrialExplainer": "Your free trial will end immediately and you'll be charged for the new plan. Your billing cycle starts today.",
    "confirmSwitch": "Confirm change",
    "switching": "Switching…",
    "switchSuccess": "Plan updated",
    "switchSuccessDescription": "Your plan has been changed successfully.",
    "scheduleTitle": "Schedule plan change",
    "scheduleDescription": "Your plan will change to {plan} on {date}.",
    "scheduleNoCharge": "You won't be charged until then. You can cancel this change at any time from your subscription settings.",
    "scheduleNextPayment": "Next payment",
    "confirmSchedule": "Schedule change",
    "scheduling": "Scheduling…",
    "scheduleSuccess": "Change scheduled",
    "scheduleSuccessDescription": "Your plan will change to {plan} on {date}.",
    "pendingChange": "Scheduled change",
    "pendingChangeDescription": "Switching to {plan} ({interval}) on {date}",
    "cancelSchedule": "Cancel scheduled change",
    "cancelScheduleToChange": "To make changes to your plan, first cancel the scheduled change above.",
    "cancelingSchedule": "Canceling…",
    "scheduleCanceled": "Scheduled change canceled",
    "intervalMonthly": "Monthly",
    "intervalAnnual": "Annual",
    "cancelSubscriptionTitle": "Downgrade to Free",
    "cancelSubscriptionDescription": "Your current plan will remain active until {date}. After that, you'll be on the Free plan.",
    "cancelReasonLabel": "Why are you downgrading? (optional)",
    "cancelReasonPlaceholder": "Tell us what we could improve…",
    "cancelReasonTooExpensive": "Too expensive",
    "cancelReasonNotUsing": "Not using it enough",
    "cancelReasonMissingFeatures": "Missing features I need",
    "cancelReasonSwitchingService": "Switching to another service",
    "cancelReasonOther": "Other",
    "confirmCancel": "Confirm downgrade",
    "canceling": "Scheduling…",
    "cancelSuccess": "Downgrade scheduled",
    "cancelSuccessDescription": "Your plan will switch to Free on {date}.",
    "currentPeriod": "Current period",
    "periodDates": "{start} – {end}",
    "paymentMethods": "Payment methods",
    "addPaymentMethod": "Add payment method",
    "addCard": "Add card",
    "addingCard": "Adding card…",
    "deleteCard": "Delete",
    "deleteCardConfirm": "Remove this card? This cannot be undone.",
    "cannotDeleteLastCard": "You must keep at least one payment method.",
    "setDefault": "Set as default",
    "defaultBadge": "Default",
    "cardAdded": "Payment method added and set as your default.",
    "setNewCardDefaultFailed": "Card was saved, but it couldn’t be set as the default. Choose “Set as default” in Billing.",
    "cardDeleted": "Payment method removed.",
    "defaultUpdated": "Default payment method updated.",
    "cardExpiry": "Expires {month}/{year}",
    "billingHistoryInvoiceRef": "Invoice {number}",
    "invoiceDescription": "Description",
    "invoiceDate": "Date",
    "invoiceAmount": "Amount",
    "invoicePdfDocumentTitle": "Invoice {invoiceId}",
    "invoicePdfTitle": "Invoice",
    "invoicePdfInvoiceNumber": "Invoice number",
    "invoicePdfPaymentMethod": "Payment method",
    "invoicePdfBillTo": "Bill to",
    "invoicePdfGeneratedOn": "Generated on {date}",
    "viewInvoice": "View invoice",
    "downloadInvoice": "Download invoice",
    "downloadPdf": "Download PDF",
    "buyCreditsShort": "Buy more",
    "buyCreditsTitle": "Buy AI credits",
    "buyCreditsDescription": "Each credit equals one AI response. Credits never expire — your monthly quota is used first, and credits are only consumed once it runs out.",
    "credits": "credits",
    "creditPackPerCredit": "{price} per credit",
    "continue": "Continue",
    "payAmount": "Pay {amount}",
    "processing": "Processing…",
    "confirmPurchaseTitle": "Confirm purchase",
    "confirmCreditChargeNote": "Your default payment method will be charged immediately. Credits never expire and are used automatically once your monthly quota runs out.",
    "paymentDetails": "Payment details",
    "orderTotal": "Total",
    "creditsAdded": "Credits added!",
    "creditsAddedDescription": "{countFormatted} AI credits have been added to your account.",
    "creditPurchaseErrorUnexpected": "Something went wrong. Check your connection and try again. If it keeps happening, contact support.",
    "creditPurchaseErrorCardDeclined": "Your bank declined this payment. Try another card or contact your bank for details.",
    "creditPurchaseErrorInsufficientFunds": "This card has insufficient funds. Use a different payment method or try again later.",
    "creditPurchaseErrorExpiredCard": "This card has expired. Update your default card in Billing or try another payment method.",
    "creditPurchaseErrorIncorrectCvc": "The card’s security code (CVC) wasn’t accepted. Double-check it and try again.",
    "creditPurchaseErrorIncorrectNumber": "That card number doesn’t look valid. Check the number or use a different card.",
    "creditPurchaseErrorAuthenticationRequired": "Your bank needs you to verify this payment. Try again (you may be prompted to confirm with your bank) or use another card.",
    "creditPurchaseErrorTryAgain": "The payment couldn’t be completed right now. Wait a moment and try again, or use another payment method.",
    "creditPurchaseErrorInvalidPaymentMethod": "This payment method can’t be charged. Add or select a different card in Billing.",
    "creditPurchaseErrorGeneric": "We couldn’t complete the purchase. Try another payment method or contact support if the issue continues.",
    "creditPurchaseAddCardHint": "Save another card to your account — set it as default under Billing if you want it charged for one-click purchases.",
    "addLocationsShort": "Add more",
    "buyLocationsTitle": "Add extra locations",
    "buyLocationsDescription": "Add more locations to your current plan. Extra locations are billed monthly alongside your subscription.",
    "includedInPlan": "Included in plan",
    "alreadyAdded": "Additional",
    "totalLocations": "Total",
    "extraLocationsCount": "+{count} extra {count, plural, one {location} other {locations}}",
    "perLocationPerMonth": "{currencySymbol}{price} {currencyCode}/mo per location",
    "locationsToAdd": "Locations to add",
    "proratedCharge": "Due now (prorated)",
    "recurringCharge": "Then {amount}/mo starting {date}",
    "confirmLocationPurchase": "Add {count} {count, plural, one {location} other {locations}}",
    "proratedExplanation": "You only pay for the remaining days in your current billing cycle — not the full month. From your next renewal, the standard rate applies. No double charges, ever.",
    "locationPurchaseNote": "Your default payment method will be charged for the prorated amount immediately. The recurring charge will be added to your next invoice.",
    "locationsAdded": "Locations added!",
    "locationsAddedDescription": "{count} extra {count, plural, one {location has} other {locations have}} been added to your plan.",
    "locationPurchaseError": "Failed to add extra locations. Please try again.",
    "paymentError_card_declined": "Your card was declined. Please try another card or contact your bank.",
    "paymentError_insufficient_funds": "Insufficient funds. Try a different payment method.",
    "paymentError_expired_card": "Your card has expired. Update your card in Billing settings.",
    "paymentError_incorrect_cvc": "Incorrect security code (CVC). Please check and try again.",
    "paymentError_incorrect_number": "Invalid card number. Check the number or use a different card.",
    "paymentError_authentication_required": "Your bank needs verification. Try again or use another card.",
    "paymentError_try_again": "Payment could not be completed. Please wait a moment and try again.",
    "paymentError_invalid_payment_method": "This payment method can't be charged. Add a different card in Billing.",
    "paymentError_generic": "Payment failed. Try another payment method or contact support.",
    "previewingPrice": "Calculating price…",
    "needExtraLocationsError": "You have more connected locations than this plan includes. Please buy additional location slots first, or disconnect locations you no longer need.",
    "extraLocationTrimSavings": "Your new plan already includes more locations, so {removed} paid add-on {removed, plural, one {slot} other {slots}} will be removed — you won't pay for capacity you no longer need. ({previous} → {next} add-ons)",
    "removeLocationsShort": "Remove",
    "manageExtraLocationsTitle": "Remove extra locations",
    "manageExtraLocationsDescription": "Remove paid add-on location slots to lower your recurring charges. If you have more locations than the new limit, you'll need to choose which ones to disconnect.",
    "removeExtraLocationsCount": "Slots to remove",
    "removeExtraLocationsSavingsNote": "You'll save {savings} {currencyCode}/mo on your subscription",
    "removeExtraLocationsExcessWarning": "You'll need to disconnect {count} {count, plural, one {location} other {locations}} to proceed",
    "removeExtraLocationsPreviewTitle": "Review changes",
    "removeExtraLocationsPreviewError": "Failed to preview changes. Please try again.",
    "removeExtraLocationsLoadError": "Failed to load locations. Please try again.",
    "removeExtraLocationsError": "Failed to remove extra locations. Please try again.",
    "removeExtraLocationsRemoving": "Removing {count} add-on {count, plural, one {slot} other {slots}}",
    "removeExtraLocationsNewTotal": "{count} add-on {count, plural, one {slot remains} other {slots remain}}",
    "removeExtraLocationsCredit": "Account credit (prorated)",
    "removeExtraLocationsRecurringSavings": "Recurring savings",
    "removeExtraLocationsSavingsExplanation": "Your next bill will reflect the lower add-on count. Any unused time on removed slots is credited to your account.",
    "removeExtraLocationsConfirmTitle": "Confirm removal",
    "removeExtraLocationsDisconnecting": "{count} {count, plural, one {location} other {locations}} will be disconnected:",
    "removeExtraLocationsWarning": "Disconnected locations will lose all review data, automations, and settings. This action cannot be undone.",
    "removeExtraLocationsConfirmButton": "Confirm",
    "removeExtraLocationsSuccess": "Add-on locations removed",
    "removeExtraLocationsSuccessDescription": "{count} add-on {count, plural, one {slot has} other {slots have}} been removed from your plan. Your recurring charge has been updated.",
    "removeExtraLocationsPickTitle": "Select locations to disconnect",
    "removeExtraLocationsPickDescription": "You need to disconnect exactly {count} {count, plural, one {location} other {locations}} before you can reduce your add-on slots.",
    "removeExtraLocationsSelected": "{selected} of {required} selected",
    "loadingLocations": "Loading locations…",
    "perMonth": "/mo"
  },
  "Members": {
    "title": "Members",
    "invite": "Invite member",
    "email": "Email",
    "emailPlaceholder": "colleague@company.com",
    "role": "Role",
    "selectRole": "Select a role",
    "cancel": "Cancel",
    "send": "Send invitation",
    "sending": "Sending...",
    "owner": "Owner",
    "roleAdmin": "Admin",
    "roleMember": "Member",
    "pending": "Pending",
    "resend": "Resend",
    "editInvitation": "Edit invitation",
    "cancelInvitation": "Cancel invitation",
    "remove": "Remove",
    "failedToSendInvitation": "Failed to send invitation.",
    "failedToCancelInvitation": "Failed to cancel invitation.",
    "failedToResendInvitation": "Failed to resend invitation.",
    "resendInvitationSuccess": "Invitation email sent again.",
    "failedToUpdateInvitation": "Failed to update invitation.",
    "noMembersYet": "No members yet.",
    "noPendingInvitations": "No pending invitations.",
    "you": "(you)",
    "pendingInvitations": "Pending invitations",
    "expires": "Expires",
    "resending": "Resending…",
    "edit": "Edit",
    "cancelling": "Cancelling…",
    "inviteComboboxSearch": "Search…",
    "comboboxEmpty": "No results.",
    "inviteMember": "Invite member",
    "inviting": "Inviting…",
    "sendInvite": "Send invite",
    "locations": "Locations",
    "selectLocations": "Select locations",
    "allAccessibleLocations": "All accessible locations",
    "saving": "Saving…",
    "saveChanges": "Save changes",
    "accessAllCurrentAndFutureLocations": "All current and future locations",
    "manageMemberLocations": "Location access",
    "memberLocationsTitle": "Location access",
    "saveLocationAccess": "Save",
    "seatLimitReachedTitle": "User limit reached",
    "seatLimitReachedDescription": "You've used all {used} of your {limit} available user seats (members + pending invitations). Upgrade your plan to invite more users.",
    "upgradePlan": "Upgrade plan",
    "createRoleBeforeInvite": "Create a custom role in the Roles section below before inviting people.",
    "inviteDisabledNoRolesHint": "Create a custom role first to invite team members.",
    "inviteRequiresCustomRole": "Create at least one custom role before inviting members.",
    "roleNotAssignable": "Choose a valid custom role for this organization.",
    "invitationMustUseCustomRole": "Invitations can only use custom roles you create in this organization. Built-in roles (owner, admin, and member) cannot be assigned by invitation.",
    "cannotResendInvalidInvitationRole": "This invitation uses a role that is no longer valid. Cancel it and send a new invitation with a custom role."
  },
  "Roles": {
    "title": "Roles",
    "createRole": "Create role",
    "roleName": "Role name",
    "roleNamePlaceholder": "e.g. Editor",
    "permissions": "Permissions",
    "cancel": "Cancel",
    "create": "Create role",
    "creating": "Creating...",
    "save": "Save Changes",
    "saving": "Saving...",
    "delete": "Delete",
    "deleting": "Deleting...",
    "edit": "Edit",
    "builtIn": "Built-in",
    "loadingRoles": "Loading roles…",
    "deleteRoleTitle": "Delete this role?",
    "deleteRoleDescription": "Are you sure you want to delete the \"{role}\" role? Members with this role will need to be reassigned. This action cannot be undone.",
    "deleteRoleError": "Failed to delete role.",
    "roleDeleted": "Role deleted.",
    "permissionsFor": "Permissions for {role}",
    "ownerAllPermissions": "The owner role has full access to all permissions.",
    "enabledPermissionsHint": "Enabled permissions for this role are shown below.",
    "additionalPermissions": "Additional permissions",
    "roleNameRequired": "Role name is required.",
    "cannotUseBuiltinRoleName": "The name \"{role}\" is reserved for a built-in role (owner, admin, or member). Choose a different name.",
    "roleNameAlreadyExists": "A role with this name already exists.",
    "failedToCreateRole": "Failed to create role.",
    "permissionsHint": "Select the permissions this role should have.",
    "failedToUpdateRole": "Failed to update role.",
    "editRole": "Edit role",
    "permissionsHintEdit": "Update the permissions for this role.",
    "saveChanges": "Save changes",
    "resOrganization": "Organization",
    "resMembers": "Members",
    "resInvitations": "Invitations",
    "resAccessControl": "Access control",
    "resAutomationsAi": "AI automations",
    "resAutomationsTemplate": "Template automations",
    "permOrganizationTitle": "Organization",
    "permOrganizationDesc": "Update organization settings or delete the organization.",
    "permOrganizationUpdate": "Update organization",
    "permOrganizationDelete": "Delete organization",
    "permMembershipTitle": "Member management",
    "permMembershipDesc": "Invite members and update or remove memberships.",
    "permMembershipCreate": "Invite members",
    "permMembershipUpdate": "Change member roles",
    "permMembershipDelete": "Remove members",
    "permInvitationTitle": "Invitations",
    "permInvitationDesc": "Send and manage pending invitations.",
    "permInvitationCreate": "Create and resend invitations",
    "permInvitationCancel": "Cancel invitations",
    "permAccessControlTitle": "Roles & access control",
    "permAccessControlDesc": "Create, view, edit, and delete custom roles.",
    "permAcCreate": "Create roles",
    "permAcRead": "View roles",
    "permAcUpdate": "Edit roles",
    "permAcDelete": "Delete roles",
    "resReportOverview": "Report: Overview",
    "resReportTrends": "Report: Trends",
    "resReportPerformance": "Report: Performance",
    "resReportInsights": "Report: Insights",
    "actView": "View",
    "actReply": "Reply",
    "actUseAi": "Use AI",
    "actUseTemplates": "Use templates",
    "actCreate": "Create",
    "actUpdate": "Update",
    "actCancel": "Cancel",
    "actRead": "Read",
    "actEdit": "Edit",
    "actDelete": "Delete",
    "actAdd": "Add",
    "permReviewsTitle": "Reviews",
    "permReviewsDesc": "Manage and respond to customer reviews.",
    "permReviewsView": "View reviews",
    "permReviewsReply": "Reply to reviews",
    "permReviewsUseAi": "Use AI to reply",
    "permReviewsUseTemplates": "Use templates to reply",
    "permMediaTitle": "Media",
    "permMediaDesc": "Manage photos for your locations.",
    "permMediaView": "View media",
    "permMediaAdd": "Upload media",
    "permMediaDelete": "Delete media",
    "permPostsTitle": "Posts",
    "permPostsDesc": "Create and manage posts for your locations.",
    "permPostsView": "View posts",
    "permPostsAdd": "Create posts",
    "permPostsDelete": "Delete posts",
    "permLocationsTitle": "Locations",
    "permLocationsDesc": "Manage connected business locations.",
    "permLocationsView": "View locations",
    "permLocationsConnect": "Connect locations",
    "permLocationsEdit": "Edit listings on Google",
    "permLocationsDisconnect": "Disconnect locations",
    "permTemplatesTitle": "Templates",
    "permTemplatesDesc": "Manage reply templates.",
    "permTemplatesView": "View templates",
    "permTemplatesEdit": "Edit templates",
    "permTemplatesDelete": "Delete templates",
    "permAiTitle": "AI Responses",
    "permAiDesc": "Manage AI response rules and settings.",
    "permAiView": "View AI responses",
    "permAiEdit": "Edit AI responses",
    "permAiDelete": "Delete AI responses",
    "permAutomationsAiTitle": "AI automations",
    "permAutomationsAiDesc": "Automated replies powered by AI rules.",
    "permAutomationsAiView": "View AI automations",
    "permAutomationsAiCreate": "Create AI automations",
    "permAutomationsAiEdit": "Edit AI automations",
    "permAutomationsAiDelete": "Delete AI automations",
    "permAutomationsTemplateTitle": "Template automations",
    "permAutomationsTemplateDesc": "Automated replies using templates.",
    "permAutomationsTemplateView": "View template automations",
    "permAutomationsTemplateCreate": "Create template automations",
    "permAutomationsTemplateEdit": "Edit template automations",
    "permAutomationsTemplateDelete": "Delete template automations",
    "permBillingTitle": "Billing & Subscription",
    "permBillingDesc": "View and manage billing, invoices, and subscription.",
    "permBillingView": "View billing",
    "permBillingUpdate": "Manage billing",
    "resBilling": "Billing",
    "permReportsTitle": "Reports",
    "permReportsDesc": "Access performance and analytics reports.",
    "permReportsOverview": "Overview report",
    "permReportsTrends": "Trends report",
    "permReportsPerformance": "Performance report",
    "permReportsInsights": "Insights report",
    "resReportGroup": "Report: Group comparison",
    "resAskAi": "Ask AI",
    "permReportsGroup": "Group comparison report",
    "permAskAiTitle": "Ask AI",
    "permAskAiDesc": "Ask natural-language questions about reviews.",
    "permAskAiView": "Use Ask AI"
  },
  "SecuritySettings": {
    "changePassword": "Change Password",
    "changePasswordDescription": "Update your account password.",
    "currentPassword": "Current password",
    "enterCurrentPassword": "Enter current password",
    "newPassword": "New password",
    "atLeast8Characters": "At least 8 characters",
    "confirmNewPassword": "Confirm new password",
    "repeatNewPassword": "Repeat new password",
    "showPassword": "Show password",
    "hidePassword": "Hide password",
    "passwordMinLength": "Password must be at least 8 characters.",
    "passwordsDoNotMatch": "New passwords do not match.",
    "failedToChangePassword": "Failed to change password.",
    "passwordUpdatedSuccess": "Password changed successfully.",
    "updating": "Updating...",
    "twoFactorAuth": "Two-Factor Authentication",
    "twoFactorEnabledMessage": "Two-factor authentication is enabled for your account.",
    "twoFactorDisabledMessage": "Add an extra layer of security with TOTP-based 2FA.",
    "enable2FA": "Enable 2FA",
    "disable2FA": "Disable 2FA",
    "generateBackupCodes": "Generate backup codes",
    "failedToEnable2FA": "Failed to enable 2FA.",
    "enter6DigitCode": "Enter the 6-digit code from your authenticator app.",
    "invalidCodeTryAgain": "Invalid code. Please try again.",
    "enableTwoFactorTitle": "Enable Two-Factor Authentication",
    "enable2FAPasswordStep": "Enter your password to begin setting up 2FA.",
    "enable2FAQrStep": "Scan the QR code with your authenticator app.",
    "enable2FAVerifyStep": "Enter the code from your authenticator app to verify.",
    "enable2FABackupStep": "Save your backup codes in a safe place.",
    "password": "Password",
    "cancel": "Cancel",
    "continue": "Continue",
    "enabling": "Enabling...",
    "qrCodeAlt": "2FA QR Code",
    "scanQrCode": "Scan this QR code with your authenticator app",
    "hideManualEntry": "Hide manual entry",
    "cantScanEnterManually": "Can't scan? Enter manually",
    "manualEntrySecret": "Manual entry secret",
    "copySecret": "Copy secret",
    "iHaveScannedQr": "I have scanned the QR code",
    "enterCodeFromApp": "Enter the code from your authenticator app",
    "back": "Back",
    "verifying": "Verifying...",
    "verify": "Verify",
    "copied": "Copied!",
    "copyCodes": "Copy codes",
    "downloadAsTxt": "Download as .txt",
    "done": "Done",
    "disableTwoFactorTitle": "Disable Two-Factor Authentication",
    "disableTwoFactorDescription": "This will remove the extra layer of security from your account. Enter your password to confirm.",
    "disabling": "Disabling...",
    "backupCodesTitle": "Backup Codes",
    "backupCodesSaveMessage": "Save these codes in a safe place. Each code can only be used once.",
    "backupCodesGenerateMessage": "Enter your password to generate new backup codes.",
    "generating": "Generating...",
    "generateCodes": "Generate codes",
    "passkeys": "Passkeys",
    "passkeysDescription": "Sign in securely with biometrics or a security key.",
    "addPasskey": "Add passkey",
    "loadingPasskeys": "Loading passkeys...",
    "noPasskeysYet": "No passkeys registered yet.",
    "passkey": "Passkey",
    "added": "Added {date}",
    "removePasskey": "Remove",
    "failedToLoadPasskeys": "Failed to load passkeys.",
    "failedToAddPasskey": "Failed to add passkey.",
    "passkeyCancelledOrTimeout": "Passkey setup was cancelled or timed out.",
    "failedToRemovePasskey": "Failed to remove passkey.",
    "activeSessions": "Active Sessions",
    "sessionsDescription": "Manage your active sessions across devices.",
    "loadingSessions": "Loading sessions...",
    "noActiveSessions": "No other active sessions.",
    "thisDevice": "This device",
    "expired": "Expired",
    "signedIn": "Signed in {time}",
    "revokeSession": "Revoke",
    "signOutOtherDevices": "Sign out other devices",
    "signOutAllTitle": "Sign out all other devices?",
    "signOutAllDescription": "This will sign out {count} other {count, plural, one {session} other {sessions}}. You'll remain signed in on this device.",
    "failedToLoadSessions": "Failed to load sessions.",
    "failedToRevokeSession": "Failed to revoke session.",
    "failedToRevokeOtherSessions": "Failed to revoke other sessions.",
    "revokeSessionError": "Failed to revoke session.",
    "sessionRevoked": "Session revoked.",
    "allSessionsRevoked": "All other sessions signed out.",
    "revokeSessionsError": "Failed to revoke other sessions.",
    "failedToDisable2FA": "Failed to disable 2FA.",
    "failedToGenerateBackupCodes": "Failed to generate backup codes.",
    "backupCodesFileTitle": "ReputRadar – Two-factor backup codes",
    "backupCodesFileMessage": "Save these codes in a safe place. Each can be used once if you lose access to your authenticator app."
  },
  "GooglePermissionsGate": {
    "title": "Google permissions required",
    "missingScopeDescription": "To manage your reviews, ReputRadar needs access to your Google Business Profile. It looks like this permission wasn't granted during sign-up.",
    "missingRefreshDescription": "Your Google connection has expired or is incomplete. Please re-authorize so ReputRadar can continue accessing your Business Profile.",
    "howToFixStep1": "You'll be redirected to Google's consent screen.",
    "howToFixStep2": "Make sure to check the \"Google Business Profile\" permission.",
    "howToFixStep3": "You'll be brought back here automatically.",
    "grantPermissions": "Grant Google permissions"
  },
  "Onboarding": {
    "freePlanTitle": "You're on the free plan",
    "freePlanDescription": "You get {locations} location and {aiReplies} AI replies per month. Upgrade for more locations, AI replies, and advanced features.",
    "step_connect_google_title": "Connect your Google account",
    "step_connect_google_description": "Link a Google account so we can access your Business Profile and reviews.",
    "step_connect_google_action": "Connect Google account",
    "step_connect_location_title": "Connect a location",
    "step_connect_location_description": "Add at least one Google Business location to manage its reviews from this dashboard.",
    "step_connect_location_action": "Add location",
    "step_create_ai_tone_title": "Create an AI tone",
    "step_create_ai_tone_description": "Set up an AI response style so draft replies match your brand voice.",
    "step_create_ai_tone_action": "Create AI tone",
    "step_setup_automations_title": "Set up automations",
    "step_setup_automations_description": "Add AI reply or template rules so repeat scenarios get handled automatically—with approval or on a schedule you control.",
    "step_setup_automations_action": "Open automations",
    "step_set_notifications_title": "Set up notifications",
    "step_set_notifications_description": "Choose how you want to be notified about new reviews (email, Telegram, or both).",
    "step_set_notifications_action": "Set up notifications",
    "step_check_reviews_title": "Check your reviews",
    "step_check_reviews_description": "See and reply to your Google reviews from one place.",
    "step_check_reviews_action": "View reviews",
    "step_check_reports_title": "Explore reports",
    "step_check_reports_description": "Review performance, trends, and insights across your locations.",
    "step_check_reports_action": "Explore reports",
    "back": "Back",
    "cancel": "Cancel",
    "done": "Done",
    "stepCompletedCallout": "You've already completed this step.",
    "continueToNextStep": "Continue to next step",
    "dontShowAgain": "Don't show again",
    "omitStep": "Omit this step",
    "omittingStep": "Saving…",
    "skipSetup": "Skip setup",
    "skipToWorkspace": "Skip to workspace setup",
    "continueSetup": "Continue setup",
    "badge": "Guided launch",
    "menuItem": "Onboarding",
    "greeting": "Hello, {name}!",
    "greetingFallback": "Let's get started",
    "subtitle": "Let's set up your first workspace.",
    "completionTitle": "You're ready to go!",
    "completionMessage": "You've set up your workspace. Keep an eye on automations, manage reviews, and explore reports when you're ready.",
    "completionCta": "Got it",
    "title": "Launch your reputation engine in minutes",
    "description": "We’ll guide you from setup to your first automated response flow so your team can move fast with confidence.",
    "orgEyebrow": "Workspace setup",
    "orgTitle": "Name your workspace",
    "orgDescription": "This keeps locations, reviews, users, and automations neatly organized for your team.",
    "orgName": "Organization name",
    "orgNamePlaceholder": "Acme Inc.",
    "orgNameHelp": "This is your team workspace. You can rename it later.",
    "language": "Language",
    "timezone": "Timezone",
    "submit": "Continue",
    "submitting": "Continuing...",
    "nextStepHint": "Next: choose your plan, connect Google, and publish your first workflow.",
    "setupSidebarHint": "Next you’ll pick a plan. You can change it anytime in settings.",
    "steps": {
      "connectGoogle": {
        "title": "Connect your Google Business Profile",
        "description": "Import locations and reviews instantly to centralize every customer signal."
      },
      "activateAI": {
        "title": "Enable AI responses and templates",
        "description": "Generate brand-consistent replies faster while keeping full control."
      },
      "launchAutomation": {
        "title": "Launch smart automations",
        "description": "Route alerts, detect trends, and respond before issues escalate."
      }
    },
    "includedTitle": "Everything in one command center",
    "included": {
      "eyebrow": "What's included",
      "metaReviews": "Inbox",
      "metaAi": "AI",
      "metaAutomations": "Automations",
      "metaReports": "Reports",
      "headlineReviews": "All reviews in one stream",
      "headlineAi": "Drafts & templates powered by AI",
      "headlineAutomations": "Rules that reply for you",
      "headlineReports": "Reports that drive action",
      "reviews": "Unified inbox for reviews across all locations",
      "ai": "AI-powered response drafts and reusable templates",
      "automations": "AI and template rules with timing, locations, and optional approval",
      "reports": "Performance reports with trends and actionable insights"
    }
  },
  "ChoosePlan": {
    "title": "Choose your plan",
    "description": "Start free or pick a plan that fits your needs. You can change anytime.",
    "monthly": "Monthly",
    "annual": "Annual",
    "annualDiscount": "Save ~20%",
    "currencyLabel": "Currency",
    "currencyUsd": "USD - US Dollar",
    "currencyMxn": "MXN - Mexican Peso",
    "perMonth": "/mo",
    "perYear": "/yr",
    "currentPlan": "Current",
    "popular": "Most Popular",
    "freePlan": "Free",
    "freeDescription": "Get started with the basics",
    "starterPlan": "Starter",
    "starterDescription": "All features for one location",
    "proPlan": "Pro",
    "proDescription": "For multi-location businesses",
    "businessPlan": "Business",
    "businessDescription": "Scale with priority support",
    "agencyPlan": "Agency",
    "agencyDescription": "For large franchises and agencies",
    "continueFree": "Continue with Free",
    "startTrial": "Start 7-day free trial",
    "subscribe": "Subscribe",
    "locations": "{count, plural, one {{count, number} location} other {{count, number} locations}}",
    "extraLocations": "+{price, number}/mo per extra",
    "seats": "{count, number} users",
    "oneSeat": "1 seat",
    "aiReplies": "{count, number} AI replies/mo",
    "allFeatures": "All features included",
    "basicFeatures": "Basic features",
    "prioritySupport": "Priority support",
    "confirmPayment": "Confirm payment",
    "cancel": "Cancel",
    "processing": "Processing...",
    "startTrialTitle": "Start {plan} trial",
    "subscribeTitle": "Subscribe to {plan}",
    "paymentFailed": "Payment failed. Please try again.",
    "paymentFailedTitle": "Payment failed",
    "errorTitle": "Something went wrong",
    "decline_card_declined": "Your card was declined. Please try a different payment method.",
    "decline_insufficient_funds": "Your card has insufficient funds. Please try a different card.",
    "decline_expired_card": "Your card has expired. Please update your payment method.",
    "decline_incorrect_cvc": "The security code (CVC) is incorrect. Please check and try again.",
    "decline_processing_error": "There was a processing error. Please try again in a moment.",
    "decline_incorrect_number": "The card number is incorrect. Please check and try again.",
    "decline_card_not_supported": "This card is not supported. Please try a different payment method.",
    "decline_currency_not_supported": "This card does not support the requested currency.",
    "decline_duplicate_transaction": "A duplicate transaction was detected. Please wait a moment before retrying.",
    "decline_fraudulent": "This transaction was flagged. Please contact your bank or try a different card.",
    "decline_generic": "Your payment could not be processed. Please try a different payment method or contact your bank.",
    "activationFailed": "Payment succeeded but activation failed. Please refresh the page.",
    "subscriptionError": "Could not create subscription. Please try again.",
    "step1Label": "Create organization",
    "step2Label": "Choose plan",
    "step3Label": "Get started",
    "sidebarHint": "You can change your plan anytime from settings.",
    "extraLocationsAddon": "Extra locations",
    "extraLocationsIncluded": "{count, number} included in plan",
    "extraLocationsCost": "+{price}/mo each additional",
    "billedAnnually": "billed annually",
    "trialBadge": "{days}-day free trial",
    "todayCharge": "Due today",
    "todayChargeTrialNote": "No charge during your free trial",
    "firstCharge": "First charge",
    "chargeImmediateNote": "Charged immediately after confirmation",
    "trialCancelNote": "Your paid subscription begins on {date}. Cancel anytime before then and you won't be charged.",
    "immediateStartNote": "Your subscription starts immediately after payment. You can cancel anytime from settings.",
    "paymentDetailsTitle": "Payment details",
    "continueToPayment": "Continue to payment",
    "back": "Back",
    "switchToAnnual": "Switch to annual billing",
    "annualSavingsDetail": "Save {savings}/year — pay {monthlyEquivalent}/mo instead of {currentMonthly}/mo",
    "switchAnnualBtn": "Switch",
    "switchingToAnnual": "Switching to annual...",
    "activateFreeTitle": "Activate {plan} plan",
    "activateFreePlan": "Activate free plan",
    "freeCardNote": "No credit card required",
    "freeCardInfoNote": "Your free plan starts immediately after confirmation.",
    "addCard": "Add card",
    "downgradeToFree": "Downgrade to Free",
    "choosePaymentMethod": "Payment method",
    "addNewCard": "Add a new card",
    "confirmingPlan": "Confirming…",
    "confirmDetails": "Confirm subscription",
    "payingWith": "Paying with",
    "confirmAndSubscribe": "Confirm",
    "planActivated": "You're all set!",
    "planActivatedDescription": "Your {plan} plan is now active.",
    "goToDashboard": "Go to dashboard",
    "aiCreditsHint": "Need more AI replies? Buy credit packs for any paid plan — they never expire.",
    "aiCreditsViewPricing": "View credit pricing",
    "aiCreditsPricingTitle": "AI credit packs",
    "aiCreditsPricingDescription": "Purchase credits anytime from settings. Your monthly quota is used first — purchased credits are only consumed once it runs out.",
    "aiCreditsLabel": "credits",
    "aiCreditsEach": "ea",
    "aiCreditsNeverExpireNote": "Purchased credits never expire and carry over indefinitely. Available on all paid plans.",
    "aiCreditsGotIt": "Got it",
    "trustCancel": "Cancel anytime",
    "trustTrial": "7-day free trial on paid plans",
    "compareTableCaption": "Plan feature comparison",
    "compareFeatureColumn": "Feature",
    "compareIncluded": "Included",
    "compareNotIncluded": "Not included",
    "compareSectionTitle": "Compare all features",
    "compareCollapsibleTrigger": "Compare all features across plans",
    "compareRowReviews": "Review inbox & replies",
    "compareRowDashboard": "Dashboard overview",
    "compareRowAiReplies": "AI replies (monthly quota)",
    "compareRowAutomations": "Automations",
    "compareRowNotifications": "Notifications & alerts",
    "compareRowPosts": "Posts & scheduling",
    "compareRowMedia": "Business Profile photos",
    "compareRowReports": "Reports & insights",
    "compareRowPriority": "Priority support",
    "compareRowTeam": "Team members",
    "compareRowLocations": "Locations",
    "compareRowExtraLocationPrice": "Price per additional location",
    "compareExtraLocationNotAvailable": "Not available"
  },
  "PremiumUpsell": {
    "wallEyebrow": "Premium workspace",
    "proBadge": "Pro",
    "ctaUpgrade": "Upgrade to unlock",
    "ctaTrial": "Start 7-day free trial",
    "previewPanelTitle": "Product preview",
    "paywallAsideEyebrow": "Simple billing",
    "paywallAsideTitle": "Upgrade in minutes",
    "paywallAsideLead": "Same account and team—unlock this feature (and the rest of Pro) for every location you manage.",
    "paywallAsidePoint1": "Secure checkout with Stripe.",
    "paywallAsidePoint2": "Cancel anytime — no long-term lock-in.",
    "paywallAsidePoint3": "Covers your whole organization.",
    "paywallAsidePlansLink": "Compare plans & pricing",
    "previewPanelCaption": "Illustrative sample — not your organization’s data.",
    "feature_automations_ai_title": "AI replies on autopilot",
    "feature_automations_ai_subtitle": "Generate contextual replies to new Google reviews with your tone, guardrails, and per-location rules — a paid-plan feature.",
    "feature_automations_ai_bullet1": "Rules by star rating, location scope, and timing (immediate or delayed)",
    "feature_automations_ai_bullet2": "Optional approval before anything goes live on Google",
    "feature_automations_ai_bullet3": "Uses your business context so answers feel human, not generic",
    "feature_automations_ai_more": "Upgrade to let AI draft and post (or queue) replies automatically—so high-star praise and sensitive low-star reviews both get a thoughtful response without manual triage.",
    "feature_automations_templates_title": "Template automations that stay on-brand",
    "feature_automations_templates_subtitle": "Send the right saved message for each star rating, per location, with delays and approval when you want them.",
    "feature_automations_templates_bullet1": "Map each rating to a template you already trust",
    "feature_automations_templates_bullet2": "All locations or hand-picked venues — same rule, different footprints",
    "feature_automations_templates_bullet3": "Control when replies post and who approves them",
    "feature_automations_templates_more": "Paid plans unlock template-based automation so every tier of review gets a consistent, approved message—without copy-pasting from a doc.",
    "feature_automations_bulk_title": "Bulk reply for review backlogs",
    "feature_automations_bulk_subtitle": "Catch up on every unreplied review that’s piled up over time—one job across locations and star filters, using AI or templates, then publish or send to approval.",
    "feature_automations_bulk_bullet1": "Choose AI or template mode to match how you already automate",
    "feature_automations_bulk_bullet2": "Preview how many unreplied reviews match—including older threads you never got to",
    "feature_automations_bulk_bullet3": "Publish immediately or stage everything for review first",
    "feature_automations_bulk_more": "Upgrade to work through months of backlog, fresh imports, busy stretches, or handoffs—not just today’s inbox, and without opening every thread one by one.",
    "feature_notifications_title": "Stay ahead of every review",
    "feature_notifications_subtitle": "Email and Telegram alerts tailored per location — unlock with any paid plan.",
    "feature_notifications_bullet1": "Per-location routing and star filters",
    "feature_notifications_bullet2": "Telegram instant pings",
    "feature_notifications_bullet3": "Team-wide visibility without inbox overload",
    "feature_notifications_more": "Paid plans let you wire email and Telegram alerts per location and star rating, so owners and staff only get what matters.",
    "feature_posts_title": "Publish updates at scale",
    "feature_posts_subtitle": "Create and schedule Google posts with media — a paid-plan capability.",
    "feature_posts_bullet1": "Multi-location post composer",
    "feature_posts_bullet2": "Drafts and scheduling",
    "feature_posts_bullet3": "Brand-consistent campaigns",
    "feature_posts_more": "Paid plans include multi-location scheduling and drafts so marketing updates ship on time across every storefront.",
    "feature_media_title": "Photos for your Google Business Profile",
    "feature_media_subtitle": "Upload, organize, and publish photos to each location’s Business Profile — what customers see on Google Maps and Search. Included on paid plans.",
    "feature_media_bullet1": "Per-location gallery synced with Google",
    "feature_media_bullet2": "Manage cover, logo, and listing photos in one place",
    "feature_media_bullet3": "Keep every storefront looking current and on-brand",
    "feature_media_more": "Paid plans sync your Business Profile photo library with Google so cover, logo, and gallery images stay accurate everywhere customers find you.",
    "feature_reports_overview_title": "Reputation snapshot across every location",
    "feature_reports_overview_subtitle": "One overview for rating mix, reply health, sentiment, and response times—filtered by period or all-time so you see today’s pulse and years of history.",
    "feature_reports_overview_bullet1": "Star distribution and average with full review counts",
    "feature_reports_overview_bullet2": "Reply rate, pending queue, and how fast you actually respond",
    "feature_reports_overview_bullet3": "Sentiment split and response-time benchmarks for the whole org",
    "feature_reports_overview_more": "Upgrade to replace sample tiles with live numbers from your Google review history—rolling windows or everything you’ve ever imported.",
    "feature_reports_trends_title": "See momentum before it shows in the headline score",
    "feature_reports_trends_subtitle": "Volume, average rating, daily activity, weekday patterns, and location comparisons—charted from your cumulative reviews, not a single week.",
    "feature_reports_trends_bullet1": "Monthly review volume and average-rating trend lines",
    "feature_reports_trends_bullet2": "Last-30-day activity and day-of-week seasonality",
    "feature_reports_trends_bullet3": "Side-by-side location stats when you run multiple stores",
    "feature_reports_trends_more": "Paid plans unlock the full trends workspace so you can explain spikes, coach teams, and prove impact over quarters—not just glance at a static average.",
    "feature_reports_performance_title": "Search & Maps performance beyond star ratings",
    "feature_reports_performance_subtitle": "Impressions, website clicks, calls, and direction requests from Google Business Profile—trended and broken down for the date range you pick.",
    "feature_reports_performance_bullet1": "KPI summary cards with period-over-period movement",
    "feature_reports_performance_bullet2": "Impression and customer-action charts from Google data",
    "feature_reports_performance_bullet3": "Funnels, device mix, and keyword visibility where available",
    "feature_reports_performance_more": "Upgrade to connect performance metrics to the same locations you already manage—ideal for marketers who need proof from Maps and Search, not only reviews.",
    "feature_reports_insights_title": "Themes customers repeat in their own words",
    "feature_reports_insights_subtitle": "Topic phrases extracted from review text with frequency, average stars, and sentiment—surfacing patterns buried across months or years of feedback.",
    "feature_reports_insights_bullet1": "Recurring phrases ranked by how often they appear",
    "feature_reports_insights_bullet2": "Sentiment per theme so you know what to fix vs double down",
    "feature_reports_insights_bullet3": "Grounded in your actual customer reviews—not generic industry guesses",
    "feature_reports_insights_more": "Paid plans run the full insights pipeline on your historical reviews so training, ops, and marketing priorities come from what guests actually say.",
    "feature_ask_ai_title": "Ask anything about your reviews",
    "feature_ask_ai_subtitle": "Natural-language Q&A powered by AI that searches across all your reviews to answer questions, compare locations, and surface hidden patterns.",
    "feature_ask_ai_bullet1": "Ask questions in plain language and get sourced answers",
    "feature_ask_ai_bullet2": "Compare complaints and praise across locations",
    "feature_ask_ai_bullet3": "Every answer cites the real reviews it's based on",
    "feature_ask_ai_more": "Paid plans unlock AI-powered review Q&A so you can interrogate your entire review history in seconds instead of reading thousands of reviews manually.",
    "mockAutomationsRule1Title": "Thank 4–5★ reviews (AI)",
    "mockAutomationsRule2Title": "Escalate 1–2★ (template)",
    "mockAutomationsRule3Title": "3★ reviews — spaced AI replies",
    "mockTemplateRulesRule1Title": "5★ thank-you & 4★ follow-up",
    "mockTemplateRulesRule2Title": "1–2★ recovery scripts",
    "mockTplWarmThanks": "Warm thank-you",
    "mockTplInviteBack": "Thanks + invite back",
    "mockTplRecovery": "Recovery + private link",
    "mockPostPreview1Summary": "This weekend we’re extending brunch on the patio with live acoustic sets Saturday and Sunday. Book a table for groups of four or more and we’ll reserve the garden room—ideal for birthdays, anniversaries, and team outings.",
    "mockPostPreview2Summary": "Our spring tasting menu is rolling out citywide: citrus-forward starters, a new charcoal-grilled entrée, and a strawberry–rhubarb dessert the pastry team finally nailed after weeks of tweaks. Invite-only preview for regulars first; full service goes live Monday.",
    "mockPostPreview2EventTitle": "Spring menu preview night — chef walkthrough & paired pours",
    "mockMediaName1": "team-kitchen.png",
    "mockMediaName2": "hero-winter.jpg",
    "mockMediaName3": "storefront-dusk.webp",
    "mockMediaName4": "plated-dish-01.jpg",
    "mockMediaName5": "logo-mark.svg",
    "mockMediaName6": "interior-wide.jpg",
    "mockMediaName7": "chef-portrait.png",
    "mockMediaName8": "promo-valentine.jpg",
    "mockMediaName9": "review-highlight.png",
    "mockMediaName10": "parking-map.jpg",
    "mockMediaLocationNikeMillenia": "Nike @ Millenia",
    "mockLocDowntown": "Ledger Row Tavern — West Loop",
    "mockLocUptown": "Campbell House Kitchen — Lincoln Park",
    "mockReportInsightTopic1": "Friendly staff and fast service",
    "mockReportInsightTopic2": "Wait times on busy nights",
    "mockReportInsightTopic3": "Parking and directions",
    "mockReportInsightTopic4": "Food quality and portion size",
    "mockReportInsightTopic5": "Noise level and atmosphere",
    "mockReportInsightTopic6": "Reservations and seating",
    "mockReportNeedsName1": "Jordan M.",
    "mockReportNeedsComment1": "We waited over 40 minutes past our reservation with no update from the host stand.",
    "mockReportNeedsName2": "Sam K.",
    "mockReportNeedsComment2": "Food was fine but the room was freezing and the music was too loud for a weekday lunch.",
    "mockReportSearchKw1": "brunch near me",
    "mockReportSearchKw2": "family restaurant downtown",
    "mockReportSearchKw3": "outdoor seating",
    "mockReportSearchKw4": "happy hour specials",
    "mockReportSearchKw5": "private dining room",
    "mockReportSearchKw6": "late night kitchen",
    "mockNotifBranchTitle": "Campbell House Kitchen",
    "mockNotifBranchAddress": "2147 N Sheffield Ave · Chicago, IL 60614"
  },
  "Errors": {
    "title": "Something went wrong",
    "description": "An unexpected error occurred. Please try again.",
    "retry": "Try again",
    "goHome": "Go to homepage"
  },
  "PermissionDenied": {
    "title": "You don’t have access to this page",
    "description": "Your role doesn’t include permission to view this area. Ask an organization owner or admin to adjust your role if you need access.",
    "goHome": "Go to homepage"
  },
  "NotFound": {
    "title": "404",
    "headline": "We couldn’t find that page.",
    "description": "The link may be wrong, or the page was moved. You can go back home and continue from there.",
    "backHome": "Back to home"
  },
  "ReviewLinkUnavailable": {
    "metaTitle": "Review link unavailable - ReputRadar",
    "code": "?",
    "headline": "This review link is not ready yet.",
    "description": "The business may still be finishing setup in ReputRadar, or the link may be wrong. Ask the team to open the location once in the dashboard, or share an updated link.",
    "backHome": "Back to home"
  },
  "TooManyRequests": {
    "metaTitle": "Too Many Requests - ReputRadar",
    "title": "Slow down a moment",
    "description": "You've made too many requests in a short period. Please wait a moment before trying again.",
    "retry": "Back to dashboard",
    "goToDashboard": "Go to homepage",
    "countdownLabel": "You can try again in"
  },
  "Common": {
    "save": "Save",
    "cancel": "Cancel",
    "delete": "Delete",
    "edit": "Edit",
    "create": "Create",
    "loading": "Loading...",
    "error": "Something went wrong. Please try again.",
    "dashboard": "Dashboard",
    "back": "Back",
    "copied": "Copied!",
    "copy": "Copy",
    "saved": "Saved",
    "saving": "Saving…",
    "done": "Done",
    "updatingData": "Updating data",
    "emailDomainNoMx": "That email address does not look reachable. Double-check it or try another.",
    "invalidLocaleOrTimezone": "Choose a supported language and a valid time zone.",
    "multiselectSelectAll": "Select all",
    "multiselectClear": "Clear",
    "multiselectAndMore": "and __COUNT__ more"
  },
  "Users": {
    "users": "Users",
    "breadcrumb": "Users",
    "title": "Users & Roles",
    "pageSubtitle": "Manage team members and permissions for your organization.",
    "members": "Members",
    "roles": "Roles",
    "usageLabel": "users"
  },
  "OrgSwitcher": {
    "selectOrganization": "Select Organization",
    "organizations": "Organizations",
    "createOrganization": "Create Organization",
    "active": "Active"
  },
  "NewOrganization": {
    "eyebrow": "New workspace",
    "title": "Create a new organization",
    "subtitle": "Launch a separate workspace for another team, brand, or business — with its own locations, automations, and billing.",
    "nameLabel": "Organization name",
    "namePlaceholder": "Acme Inc.",
    "nameHelp": "This is your team workspace. You can rename it later.",
    "submit": "Continue to plan selection",
    "submitting": "Continuing...",
    "bullet1": "Independent locations, reviews & automations",
    "bullet2": "Separate billing and subscription plan",
    "bullet3": "Invite different team members per workspace",
    "asideEyebrow": "What happens next",
    "asideTitle": "Choose a plan & activate",
    "asideLead": "After naming your workspace you'll pick a plan, add a payment method, and you're ready to go.",
    "asideStep1": "Pick a plan that fits your needs",
    "asideStep2": "Add a payment method securely",
    "asideStep3": "Start connecting locations immediately"
  },
  "PrivacyPolicy": {
    "title": "Privacy Policy",
    "lastUpdated": "Last updated: March 22, 2026",
    "s1Title": "1. Introduction",
    "s1Body": "ReputRadar (\"ReputRadar\", \"we\", \"our\", or \"us\") provides software for managing Google Business Profile locations, reviews, posts, media, automations, and team workflows. This Privacy Policy explains what information we collect, how we use it, how we share it, how long we keep it, and what rights you may have. By using the Service, you acknowledge this Privacy Policy.",
    "s2Title": "2. Information We Collect",
    "s2Intro": "Depending on how you use the Service, we may collect:",
    "s2AccountData": "<strong>Account and organization data</strong> — name, email, profile image, authentication identifiers, organization membership, role, permissions, billing profile details, and communication preferences.",
    "s2GoogleData": "<strong>Connected platform data (including Google)</strong> — Google Business Profile locations, reviews, review replies, profile updates, media metadata, post data, and access tokens/refresh tokens needed to sync and act on your instructions.",
    "s2UsageData": "<strong>Technical and usage data</strong> — log data, IP address, device/browser details, page and feature events, job/queue diagnostics, and security events used to operate, troubleshoot, and protect the Service.",
    "s3Title": "3. How We Use Your Information",
    "s3Body": "We use your information to provide and maintain the Service; authenticate users; sync external account data; generate or send requested review replies, alerts, and automation actions; process subscriptions, credits, invoices, and receipts; prevent fraud, abuse, and security incidents; comply with legal obligations; communicate product, account, and policy updates; and improve quality, reliability, and performance.",
    "s4Title": "4. Google API Services",
    "s4Body": "Our use and transfer of information received from Google APIs adheres to the",
    "s4LinkText": "Google API Services User Data Policy",
    "s4BodyEnd": ", including the Limited Use requirements. We only request scopes required for product functionality, and you can revoke Google permissions in your Google account at any time.",
    "s5Title": "5. Data Retention and Security",
    "s5Body": "We retain personal data as long as reasonably necessary for account operation, contractual obligations, support, legal compliance, dispute resolution, and legitimate business records. Retention periods vary by data type. We implement administrative, technical, and organizational safeguards (such as access controls, encryption in transit where supported, auditing, and least-privilege practices), but no method of transmission or storage is completely secure.",
    "s6Title": "6. Your Rights",
    "s6Body": "Depending on your location and applicable law, you may have rights to request access, correction, deletion, portability, objection, restriction, or withdrawal of consent for certain processing. Organization admins can also manage workspace data and member access. You may disconnect integrations (including Google), but some functionality may stop working. We may need to verify your identity before fulfilling requests.",
    "s7Title": "7. Contact",
    "s7Body": "For privacy requests or questions, contact us using the support/contact information shown in the app or on our website. If your jurisdiction grants complaint rights, you may also contact your local data protection authority. We may update this Privacy Policy periodically and will revise the \"Last updated\" date when changes are posted."
  },
  "TermsOfService": {
    "title": "Terms of Service",
    "lastUpdated": "Last updated: March 22, 2026",
    "s1Title": "1. Acceptance of Terms",
    "s1Body": "These Terms of Service (\"Terms\") govern your access to and use of ReputRadar, including our websites, dashboards, APIs, communications, and related services (collectively, the \"Service\"). By creating an account, connecting an integration, or otherwise using the Service, you agree to these Terms. If you use the Service for an organization, you represent that you are authorized to bind that organization.",
    "s2Title": "2. Description of Service",
    "s2Body": "ReputRadar is software that helps businesses monitor and manage location data, reviews, replies, posts, media, notifications, analytics, templates, and automation workflows. Some features depend on third-party platforms (including Google and payment providers). Your use of third-party integrations is also subject to those providers' terms and policies.",
    "s3Title": "3. Your Account and Responsibilities",
    "s3Intro": "You agree to the following account and use obligations:",
    "s3Item1": "Provide accurate information, keep account details current, and promptly notify us of unauthorized use.",
    "s3Item2": "Maintain credential security, use strong authentication practices, and control user access within your organization.",
    "s3Item3": "Use the Service only for lawful business purposes and in compliance with applicable laws and third-party platform terms.",
    "s3Item4": "Do not misuse, reverse engineer (except where prohibited by law), disrupt, scrape without authorization, or attempt unauthorized access to the Service.",
    "s4Title": "4. Acceptable Use",
    "s4Body": "You may not use the Service to send unlawful content, harassment, spam, deceptive communications, malware, or content that violates intellectual property, privacy, publicity, consumer protection, or other rights. You may not use outputs (including AI-generated suggestions) in a misleading, fraudulent, discriminatory, or harmful way. We may investigate violations and suspend or terminate access as needed to protect users, third parties, or the Service.",
    "s5Title": "5. Intellectual Property",
    "s5Body": "The Service, including software, design, branding, and related content, is owned by ReputRadar or its licensors and protected by applicable law. Subject to these Terms, we grant you a limited, non-exclusive, non-transferable, revocable right to use the Service for your internal business operations. You retain ownership of your content and data, and you grant us the rights needed to host, process, transmit, and display that data solely to operate and improve the Service.",
    "s6Title": "6. Disclaimers",
    "s6Body": "The Service is provided \"as is\" and \"as available.\" To the maximum extent permitted by law, we disclaim warranties of merchantability, fitness for a particular purpose, non-infringement, and uninterrupted or error-free operation. We are not responsible for third-party products, platform outages, policy changes, API limitations, or your business decisions made using analytics, alerts, or generated content.",
    "s7Title": "7. Limitation of Liability",
    "s7Body": "To the maximum extent permitted by law, ReputRadar and its affiliates, officers, employees, and partners are not liable for any indirect, incidental, special, consequential, exemplary, or punitive damages, or for lost profits, revenues, goodwill, data, or business interruption. Our aggregate liability for all claims arising out of or related to the Service will not exceed the amounts paid by you for the Service during the twelve (12) months before the claim, unless applicable law requires otherwise.",
    "s8Title": "8. Changes",
    "s8Body": "We may modify the Service, features, plans, prices, or these Terms at any time. When we make material changes, we will post an updated version and update the \"Last updated\" date. Unless otherwise stated, changes become effective when posted. Continued use after the effective date means you accept the revised Terms.",
    "s9Title": "9. Contact",
    "s9Body": "For questions about these Terms, billing, legal notices, or data processing terms, contact us using the support/contact details provided in the app or on our website. Additional product-specific terms, order forms, or negotiated agreements (if any) control over conflicting provisions in these Terms for the covered subject matter."
  },
  "Emails": {
    "verifySubject": "Verify your ReputRadar email address",
    "verifyPreview": "Verify your ReputRadar email address",
    "verifyHeading": "Verify your email",
    "verifyBody": "Thanks for signing up! Please verify your email address to get started.",
    "verifyButton": "Verify email address",
    "verifyExpires": "This link expires in 24 hours.",
    "verifyFooter": "If you did not create an account, no action is needed. If you don't see the email, check your spam folder.",
    "resetSubject": "Reset your ReputRadar password",
    "resetPreview": "Reset your ReputRadar password",
    "resetHeading": "Reset your password",
    "resetBody": "We received a request to reset your password. Click the button below to choose a new one.",
    "resetBodyIgnore": "If you didn't request this, you can safely ignore this email — your password won't change.",
    "resetButton": "Reset password",
    "resetExpires": "This link expires in 1 hour.",
    "resetFooter": "If you did not request a password reset, no action is needed.",
    "newReviewSubject": "New {rating}-star review for {locationName}",
    "newReviewPreview": "{reviewer} left a {rating}-star review for {locationName}",
    "newReviewHeading": "New Review",
    "newReviewOriginal": "Original:",
    "newReviewNoComment": "No comment",
    "newReviewButton": "View review",
    "newReviewFooter": "You're receiving this because you have email notifications enabled in ReputRadar.",
    "googleUpdateSubject": "Google update for {locationName}",
    "googleUpdatePreview": "Google has suggested changes to {locationName}",
    "googleUpdateHeading": "Google Profile Update",
    "googleUpdateBody": "Google has suggested changes to your listing. Open your Google Business Profile to review the update.",
    "googleUpdateButton": "Open in Google Business Profile",
    "googleUpdateFooter": "You're receiving this because you have email notifications enabled in ReputRadar.",
    "orgInviteSubject": "You're invited to join {orgName} on ReputRadar",
    "orgInvitePreview": "{inviter} invited you to join {orgName} on ReputRadar",
    "orgInviteHeading": "Organization Invitation",
    "orgInviteBody": "{inviter} ({inviterEmail}) has invited you to join {orgName} on ReputRadar.",
    "orgInviteBodyAction": "Click the button below to accept the invitation and get started.",
    "orgInviteButton": "Accept invitation",
    "orgInviteExpires": "This invitation expires on {date}.",
    "orgInviteFooter": "If you did not expect this invitation, you can safely ignore this email.",
    "pastDueSubject": "Action required: payment failed for {orgName}",
    "pastDuePreview": "Your subscription for {orgName} is past due — update your payment method to avoid service interruption",
    "pastDueHeading": "Payment Failed",
    "pastDueBody": "We were unable to process the latest payment for {orgName}. Your subscription is now past due.",
    "pastDueBodyAction": "Please update your payment method to restore full access to your account.",
    "pastDueButton": "Update payment method",
    "pastDueFooter": "If you believe this is an error, check your card details in your bank or contact support.",
    "activation1Subject": "Connect Google to see your reviews in ReputRadar",
    "activation1Preview": "It takes about two minutes, and your reviews show up as soon as you connect.",
    "activation1Heading": "Your reviews are one step away",
    "activation1Body": "Hi {name}, your ReputRadar account is ready, but it isn’t connected to Google yet. Connect your Google Business Profile and your reviews will appear in one inbox, ready to reply.",
    "activation1Button": "Connect Google Business Profile",
    "activation2Subject": "Reply to your Google reviews from one place",
    "activation2Preview": "Connect Google once, then read and answer every review in ReputRadar.",
    "activation2Heading": "What changes once Google is connected",
    "activation2Body": "Hi {name}, once your Business Profile is connected, ReputRadar brings in your Google reviews, drafts replies you can edit, and posts them to Google when you hit send. The free plan covers one location.",
    "activation2Button": "Connect Google",
    "activation3Subject": "Need a hand connecting Google?",
    "activation3Preview": "Two things to check if connecting your Business Profile didn’t work.",
    "activation3Heading": "Stuck connecting Google?",
    "activation3Body": "Hi {name}, the two most common snags: the Google account you sign in with must be an owner or manager of the Business Profile, and the listing must be verified by Google. If something still isn’t working, reply to this email and we’ll help.",
    "activation3Button": "Try connecting again",
    "activationFooter": "You’re receiving this because you created a ReputRadar account. These reminders stop once you connect a location.",
    "activationUnsubscribe": "Stop these reminders",
    "activationUnsubscribedTitle": "You’re unsubscribed",
    "activationUnsubscribedBody": "You won’t get more setup reminders from ReputRadar. Account and security emails, like password resets, are not affected.",
    "activationUnsubscribedInvalid": "This unsubscribe link is not valid.",
    "activationUnsubscribedBack": "Go to ReputRadar"
  },
  "Telegram": {
    "newReview": "{stars} *New {rating}\\-star review*\n📍 {locName}\n👤 {reviewer}",
    "googleUpdate": "🔔 *Google Profile Update*\n📍 {locName}\n\nGoogle has suggested changes to your listing\\. Review the update in your Google Business Profile dashboard\\.",
    "googleUpdateLinkText": "Open in Google Business Profile",
    "linkSuccess": "Linked! You'll now receive ReputRadar notifications here.\n\nSend /unlink to disconnect this chat.",
    "linkAdded": "Added this chat! You'll now receive ReputRadar notifications here.\n\nSend /unlink to disconnect this chat.",
    "linkInvalid": "Invalid or expired link code. Please generate a new one from the Notifications page.",
    "linkAlreadyLinked": "This chat is already linked!",
    "linkPersonalExists": "A personal chat is already linked. Use /link CODE in a group chat to add a group.",
    "unlinkSuccess": "Unlinked. You won't receive notifications here anymore.",
    "unlinkNotFound": "No linked account found for this chat.",
    "listHeader": "This chat is currently linked to these organizations:",
    "listEmpty": "This chat is not linked to any organizations yet.",
    "listHelp": "Use /unlink to disconnect this chat from all linked organizations.",
    "welcome": "Welcome to ReputRadar! To link your account, generate a link code from the Notifications page and use:\n\n/link YOUR_CODE"
  },
  "BillingResolve": {
    "pastDueTitle": "Payment Required",
    "pastDueDescription": "Your subscription for {orgName} has an overdue payment.",
    "pastDueExplanation": "Your subscription has an open invoice after a failed charge. Enter your card details below to pay the amount due. Your data and settings are safe — nothing has been deleted.",
    "pastDueBreadcrumbHome": "Dashboard",
    "pastDueBreadcrumbCurrent": "Pay balance",
    "pastDueInvoiceDetails": "Invoice details",
    "pastDueDueDate": "Due {date}",
    "pastDueLineItem": "Subscription charge",
    "pastDueTotal": "Total",
    "pastDuePaymentDetails": "Payment method",
    "pastDuePayNow": "Pay {amount}",
    "pastDuePrepareErrorNoInvoice": "We could not find a payable invoice for this subscription. If this keeps happening, contact support.",
    "pastDuePrepareErrorMissingStripe": "Billing is not fully set up for this organization. Contact support.",
    "pastDuePrepareErrorNotPastDue": "Your account is not in a past-due state. You can return to the dashboard.",
    "pastDuePrepareErrorGeneric": "Something went wrong loading the payment form. Please refresh and try again.",
    "pastDueFooter": "After a successful payment, Stripe updates your subscription and you will have full access again within a few moments.",
    "reactivateBreadcrumbHome": "Dashboard",
    "reactivateTitle": "Subscription Expired",
    "reactivateDescription": "The subscription for {orgName} has been canceled due to non-payment.",
    "reactivateExplanation": "Your {plan} plan was canceled after payment retries were exhausted. You can resubscribe to restore full access, or switch to the free plan.",
    "resubscribe": "Resubscribe",
    "switchToFree": "Switch to free plan instead",
    "switchToFreeConfirmTitle": "Switch to Free Plan?",
    "switchToFreeConfirmDescription": "You will lose access to paid features including automations, notifications, reports, posts, and media. Your data will be preserved but some limits will apply.",
    "exceedsLimitsTitle": "Usage exceeds free plan limits",
    "exceedsLocations": "You have {current} locations but the free plan allows {limit}. Remove locations first.",
    "exceedsMembers": "You have {current} members but the free plan allows {limit}. Remove members first.",
    "confirmSwitchToFree": "Confirm switch to free",
    "switching": "Switching…",
    "switchToFreeError": "Failed to switch to free plan. Please try again.",
    "cancel": "Cancel",
    "pastDueContactAdmin": "You don't have permission to manage billing. Please contact your organization owner or admin to resolve this payment.",
    "reactivateContactAdmin": "You don't have permission to manage billing. Please contact your organization owner or admin to reactivate the subscription.",
    "downgradeSwitch": "Switch to free plan instead",
    "downgradeTitle": "Switch to Free Plan?",
    "downgradeDescription": "Your paid subscription will be canceled and your account will move to the free plan with limited features.",
    "downgradeWarningAutomations": "All automations will be deactivated",
    "downgradeWarningNotifications": "Notifications will be disabled",
    "downgradeWarningFeatures": "Reports, posts, and media features will be unavailable",
    "downgradeWarningMembers": "{count, plural, one {1 team member} other {# team members}} will be removed — only the owner will remain",
    "downgradePickLocation": "The free plan allows 1 location. Choose which one to keep:",
    "downgradeConfirm": "Switch to free plan",
    "pastDueSuccessTitle": "Payment successful",
    "pastDueSuccessDescription": "Your subscription has been restored. All features are now active again.",
    "pastDueSuccessGoToDashboard": "Go to dashboard"
  },
  "FreeToolsNav": {
    "title": "Free tools",
    "hub": "All free tools",
    "reviewLink": "Review link & QR generator",
    "ratingCalculator": "Google rating calculator",
    "replyTemplates": "Reply template generator",
    "requestMessages": "Review request messages"
  }
}
