{
  "common": {
    "loading": "One moment...",
    "cancel": "Cancel",
    "continue": "Continue",
    "back": "Back",
    "error": "Error",
    "success": "Success",
    "ok": "OK",
    "confirm": "Confirm",
    "retry": "Try again",
    "unknown_error": "Unknown error"
  },
  "auth": {
    "welcomeBack": "Welcome back",
    "signinSubtitle": "Sign in to continue.",
    "signin": "Sign in",
    "signingIn": "One moment...",
    "signup": "Sign up",
    "signupTitle": "Create account",
    "signupSubtitle": "Join the community.",
    "signOut": "Sign out",
    "email": "Email",
    "emailPlaceholder": "Email",
    "emailRequired": "Email *",
    "password": "Password",
    "passwordPlaceholder": "Password",
    "passwordRequired": "Password * (min. 8 characters)",
    "passwordMin8": "Password must be at least 8 characters.",
    "newPassword": "New password",
    "nickname": "Username",
    "nicknamePlaceholder": "Username * (visible to others)",
    "noAccount": "No account yet?",
    "alreadyRegistered": "Already registered?",
    "fillRequired": "Please fill in all required fields.",
    "googleSignin": "Sign in with Google",
    "appleSignin": "Sign in with Apple",
    "googleSignup": "Sign up with Google",
    "appleSignup": "Sign up with Apple",
    "orWithEmail": "or with email",
    "forgotPassword": "Forgot password?",
    "resetPasswordTitle": "Reset password",
    "resetPasswordSubtitle": "Enter your email and we'll send you a reset link.",
    "resetPasswordSend": "Send link",
    "resetPasswordSent": "Email sent",
    "resetPasswordSentDesc": "Check your inbox. The link is valid for 60 minutes.",
    "resetPasswordSentDescPrefix": "Check your inbox for ",
    "resetPasswordSentDescSuffix": ". The link is valid for 60 minutes.",
    "backToLogin": "← Back to sign in",
    "backToLoginPlain": "Back to sign in",
    "backToSignup": "← Back to sign up",
    "chooseAvatar": "Choose avatar",
    "privacyNotice": "Your data is stored securely on servers in Germany. We never sell data to third parties.",
    "acceptTerms": "I accept the",
    "acceptTermsSuffix": " and have read the privacy policy.",
    "termsLink": "Terms of Service",
    "pleaseAcceptTerms": "Please accept the Terms of Service.",
    "confirmEmailTitle": "Confirm email",
    "confirmEmailDesc": "We sent a 6-digit code to %{email}.",
    "confirmEmailLine1": "We sent a 6-digit code to",
    "confirmEmailLine2": "",
    "confirmBtn": "Confirm",
    "confirmed": "Confirmed! Redirecting...",
    "confirming": "Confirming sign-in...",
    "confirmSuccess": "Successfully signed in!",
    "confirmTimeout": "Timed out – please try again.",
    "confirmFailed": "Confirmation failed.",
    "resend": "Resend",
    "resendCooldown": "Resend (%{seconds}s)",
    "noCode": "Didn't receive a code?",
    "deviceLimitTitle": "Device limit reached",
    "deviceLimitDesc": "Your current plan doesn't allow more devices. Free up another device or upgrade your plan to continue on this device.",
    "deviceLimitUpgrade": "Upgrade plan",
    "toLogin": "Back to sign in",
    "oauthFailed": "Sign in failed",
    "loginFailed": "Sign in failed",
    "registerFailed": "Registration failed",
    "device_locked_headline": "This device is locked",
    "device_locked_body": "You tried to sign in on this device. It is bound to a different Rebreak account. This lock protects you from bypassing your own protection setup in a moment of urge.",
    "device_locked_countdown": "Release in progress — %{remaining} left",
    "device_locked_email_hint": "If you no longer know your original account: check your email inbox for 'Rebreak device locked' — we sent you a message.",
    "device_locked_use_original": "Sign in with original account",
    "device_locked_back": "Back to sign in",
    "resetOtpTitle": "Enter code",
    "resetOtpLine1": "We sent a 6-digit code to",
    "resetOtpLine2": "Please enter it below.",
    "resetOtpConfirmBtn": "Continue",
    "resetOtpResend": "Resend code",
    "resetOtpBackToForgot": "Back",
    "newPasswordTitle": "New password",
    "newPasswordSubtitle": "Choose a password with at least 8 characters.",
    "newPasswordPlaceholder": "New password",
    "newPasswordConfirmPlaceholder": "Confirm password",
    "newPasswordSave": "Save password",
    "newPasswordSaved": "Password updated.",
    "newPasswordMismatch": "Passwords don't match.",
    "newPasswordCancelLink": "Cancel and sign in again"
  },
  "landing": {
    "appName": "Rebreak",
    "tagline": "You're not walking alone.",
    "start": "Sign up"
  },
  "splash": {
    "tagline": "You will never walk alone!",
    "subtitle": "Together we'll make it.",
    "madeInGermany": "Made in Germany"
  },
  "applock": {
    "title": "Rebreak is locked",
    "subtitle": "Unlock the app to continue.",
    "unlock": "Unlock",
    "prompt": "Unlock Rebreak",
    "signOut_title": "Sign out?",
    "signOut_body": "You can sign back in with your email and password afterwards."
  },
  "appHeader": {
    "appName": "ReBreak",
    "sosLabel": "SOS",
    "sosTagline": "we're here for you",
    "sosSubtitle": "Tap if you need help",
    "editProfile": "Edit profile",
    "settings": "Settings",
    "signOut": "Sign out"
  },
  "headerMenu": {
    "profile": "Profile",
    "settings": "Settings",
    "games": "ReBreak Games",
    "debug": "Debug",
    "logout": "Sign out"
  },
  "tabs": {
    "home": "Home",
    "chat": "Chat",
    "coach": "Coach",
    "blocker": "Blocker",
    "mail": "Mail",
    "profile": "Profile"
  },
  "games": {
    "title": "ReBreak Games",
    "subtitle": "Casual play outside SOS — Memory, Snake, Tetris and Tic-Tac-Toe.",
    "back_to_picker": "Games",
    "last_score": "Score: %{score}",
    "skeleton_footer": "Skeleton — Highscore leaderboard coming in Phase C"
  },
  "home": {
    "tagline": "You're not walking alone.",
    "start": "Get started",
    "greeting_morning": "Good morning",
    "greeting_day": "Good afternoon",
    "greeting_evening": "Good evening",
    "streak_days_one": "day gambling-free",
    "streak_days_other": "days gambling-free",
    "streak_start": "Start your first day",
    "quote_of_day": "Thought of the day",
    "quick_access": "Quick access",
    "stats_urges": "Urges",
    "stats_chats": "Chats",
    "stats_mails": "Mails blocked"
  },
  "coach": {
    "title": "Lyra",
    "subtitle": "Your companion",
    "welcome": "Hi, I'm Lyra. Glad you're here — what's on your mind right now?",
    "input_placeholder": "Write to me...",
    "new_chat": "New chat",
    "lyra": "Lyra",
    "modeBadge": {
      "coach": "Coach",
      "sos": "SOS"
    },
    "placeholder": "What's on your mind?",
    "speaking": "Lyra is speaking...",
    "recording": "Recording...",
    "transcribing": "Processing...",
    "feedback_saved": "Feedback saved",
    "welcome_back": "Welcome back",
    "online": "online",
    "thinking": "typing …",
    "error": "Something went wrong. Please try again.",
    "crisis_bar_label": "Crisis support"
  },
  "blocker": {
    "title": "Blocker",
    "subtitle": "300,000+ domains blocked",
    "status_active": "Active",
    "status_inactive": "Inactive",
    "filter_label": "Gambling Filter",
    "filter_active_desc": "All gambling sites are being blocked",
    "filter_inactive_desc": "Filter is disabled",
    "tamper_title": "Tamper protection",
    "tamper_desc": "The filter is secured against easy disabling. Unlocking requires a 6-hour cooldown period.",
    "custom_domains": "Custom Domains",
    "add_domain": "Add",
    "help_link": "Help & FAQ about Blocker",
    "status_approved": "Approved",
    "status_rejected": "Rejected",
    "status_pending": "Pending",
    "add_sheet_title": "Add filter",
    "add_sheet_label": "Domain or email address",
    "add_sheet_placeholder": "e.g. casino.com or info@casino.com",
    "add_sheet_invalid": "Please enter a valid domain or email address",
    "add_sheet_help": "We automatically detect whether it's a website or an email sender.",
    "preview_web": "Domain filter: %{value}",
    "preview_mail": "Email filter: %{value}",
    "preview_invalid": "Invalid format",
    "custom_filter_overview_title": "Your Filters",
    "custom_filter_overview_count": "%{count} of %{max}",
    "add_sheet_warning_free": "This domain stays on your list permanently — you cannot remove it later.",
    "add_sheet_warning_pro": "This domain occupies a slot in your custom list. You can remove it later — the slot frees up again. Plan limit: Pro 10, Legend 20.",
    "add_sheet_confirm_permanent": "I understand this domain is permanent.",
    "add_sheet_add_failed": "Failed to add domain.",
    "add_sheet_already_global": "%{domain} is already on the global blocklist — no slot needed.",
    "add_sheet_already_protected": "%{domain} is already fully protected — on the blocklist AND in your VIP second layer. Nothing to do.",
    "add_sheet_in_global_not_vip": "%{domain} is already on our blocklist (Layer 1). You can additionally add it to your VIP second layer — then it stays blocked even if Layer 1 is ever off. No slot is used.",
    "add_sheet_add_to_vip_cta": "Add to VIP list",
    "cooldown_banner_title": "Cooldown running",
    "deactivation_actionsheet_title": "Start 24-hour cooldown?",
    "deactivation_actionsheet_message": "Protection stays active during this time. You can cancel anytime.",
    "deactivation_start_cta": "Start cooldown",
    "deactivation_failed_msg": "Could not start cooldown.",
    "deactivation_heading": "Before you deactivate",
    "deactivation_title": "We get it.",
    "deactivation_intro": "Before you turn off protection, here's what you should know:",
    "deactivation_bullet1_title": "24-hour cooldown",
    "deactivation_bullet1_text": "Protection stays active for 24 hours even after you start the cooldown. This time gives you space to let the urge pass.",
    "deactivation_bullet2_title": "You can cancel anytime",
    "deactivation_bullet2_text": "If the urge fades: one tap and the cooldown is gone. Protection just stays on.",
    "deactivation_bullet3_title": "Other tools are here",
    "deactivation_bullet3_text": "Breathing exercise, Lyra, your streak — everything stays available while you wait.",
    "deactivation_breathe_cta": "Breathe for 3 min",
    "deactivation_start_anyway": "Start cooldown anyway",
    "deactivation_starting": "Starting cooldown…",
    "deactivation_cancel_failed": "Could not cancel cooldown.",
    "domain_section_title": "Custom domains",
    "domain_add_a11y": "Add domain",
    "domain_limit_title": "Limit reached",
    "domain_limit_desc": "Pro: 300k+ domains, refill on release — tap for details",
    "domain_empty": "No custom domains yet.\nTap + to add one.",
    "domain_badge_voting": "Voting",
    "domain_badge_pruefung": "Review",
    "domain_badge_rejected": "Rejected",
    "domain_badge_active": "Active",
    "domain_btn_freigeben": "Release",
    "domain_btn_erneut": "Retry",
    "domain_btn_in_abstimmung": "In voting",
    "domain_btn_rebreak_prueft": "ReBreak reviewing",
    "domain_confirm_legend_resubmit": "Resubmit to ReBreak?",
    "domain_confirm_legend_first": "Send domain to ReBreak?",
    "domain_confirm_community_resubmit": "Resubmit to community vote?",
    "domain_confirm_community_first": "Release domain to community vote?",
    "domain_confirm_legend_message": "%{domain} will be sent directly to the ReBreak team for manual review.",
    "domain_confirm_community_message": "%{domain} will be released to the community vote (yes/no voting).",
    "domain_success_legend_title": "Domain submitted",
    "domain_success_community_title": "Domain in voting",
    "domain_success_legend_message": "The ReBreak team is reviewing this domain manually. You'll get a notification with the result.",
    "domain_success_community_message": "The community can now vote. You'll be notified once the result is in.",
    "upgrade_alert_title": "Pro upgrade",
    "upgrade_alert_desc": "Stripe checkout is coming in step 11.",
    "protection_card_title": "ReBreak protection",
    "protection_card_locked_title": "ReBreak protection active",
    "protection_subtitle_inactive": "Tap to activate protection",
    "protection_subtitle_cooldown": "Cooldown running — protection still active",
    "protection_subtitle_free": "Filter active — %{count} custom domains",
    "protection_subtitle_legend": "Protected against 300,000+ domains + up to 10 custom",
    "protection_subtitle_pro": "Protected against 300,000+ domains + 5 custom",
    "protection_settings_a11y": "Protection settings",
    "protection_stat_domains": "Domains",
    "protection_stat_method": "Method",
    "protection_stat_method_dns": "DNS",
    "protection_stat_method_native": "Native",
    "protection_stat_status": "Status",
    "protection_stat_status_live": "Live",
    "permission_denied": {
      "title": "Protection was denied",
      "body": "iOS didn't install the filter because \"Don't Allow\" was tapped in the system dialog. We can try again — this time please tap \"Allow\".",
      "retry_cta": "Try again",
      "retry_loading": "One moment...",
      "settings_cta": "Open Settings",
      "fallback_label": "If the dialog doesn't appear",
      "fallback_body": "Settings → Screen Time → Content & Privacy — VPN/Filter must be allowed. As a last resort: delete the app and reinstall via TestFlight."
    },
    "family_controls_error": {
      "title": "App-Lock couldn't activate",
      "body": "iOS can't communicate with the Screen Time service right now. This sometimes happens after \"Don't Allow\" or when the background service is stuck.",
      "retry_cta": "Try again",
      "retry_loading": "One moment...",
      "settings_cta": "Open Settings",
      "fallback_label": "If it still doesn't work",
      "fallback_body": "1. Restart your iPhone. 2. In Settings, make sure you're signed in with your Apple ID and Screen Time is enabled. 3. Last resort: delete the app and reinstall via TestFlight."
    },
    "activate_url_failed_title": "Could not activate URL filter",
    "activate_url_failed_msg": "Unknown error.\nYou can try again or check System Settings.",
    "activate_settings_btn": "Settings",
    "protection_off_title": "Protection is off",
    "protection_off_message": "The filter isn't running but should be. Want to turn it back on?",
    "reactivate_btn": "Turn protection back on",
    "protection_off_later": "Later",
    "activate_app_lock_failed_title": "Could not activate App Lock",
    "activate_app_lock_failed_msg": "The required permission was denied. You can try again.",
    "sync_list_failed_title": "Filter list could not be loaded",
    "sync_list_failed_msg": "Please try again later.",
    "activation_failed_title": "Activation failed",
    "details_done": "Done",
    "details_title": "Protection details",
    "details_active_title": "Protection active",
    "details_domains_blocked": "%{value} domains blocked",
    "details_layers_heading": "Active layers",
    "details_layer_url_label": "Network filter",
    "details_layer_url_desc": "Blocks gambling domains system-wide (NEFilter Extension)",
    "details_layer_applock_label": "App lock",
    "details_layer_applock_desc": "ReBreak cannot be deleted impulsively",
    "details_layer_vpn_label": "VPN filter",
    "details_layer_vpn_desc": "Local DNS filter via VpnService",
    "details_layer_a11y_label": "Browser filter",
    "details_layer_a11y_desc": "Detects URL input in browser apps",
    "details_layer_tamper_label": "Tamper lock",
    "details_layer_tamper_desc": "Watchdog against external deactivation",
    "details_lyra_cta_title": "Don't need protection anymore?",
    "details_lyra_cta_subtitle": "Talk to Lyra about it — she's listening.",
    "details_deactivate_link": "Deactivate anyway",
    "layers_url_filter_title": "URL filter",
    "layers_url_filter_subtitle_active": "System-wide filter active",
    "layers_url_filter_subtitle_inactive": "Blocks gambling sites in Safari + apps",
    "layers_app_lock_title": "App lock",
    "layers_app_lock_subtitle_active": "Locked — disable only via the cooldown",
    "layers_app_lock_subtitle_inactive": "Stops you from switching off ReBreak or the filter on impulse",
    "layers_app_lock_warning": "Once active, you can only disable protection through a 24-hour cooldown. That's by design.",
    "layers_app_lock_locked_hint": "System-locked. Only disable via iOS Settings → Screen Time → Management by ReBreak.",
    "screentime_title": "Lock Screen Time (Layer 3)",
    "screentime_desc": "Set a code only ReBreak knows — so nobody can disable Screen Time to bypass the uninstall protection.",
    "screentime_generate_cta": "Generate code",
    "screentime_code_label": "Your code — remember it",
    "screentime_step1": "① Tap \"Open Screen Time\" below",
    "screentime_step2": "② Scroll to the bottom, then tap \"Use Screen Time Passcode\"",
    "screentime_step3": "③ Enter the code shown above",
    "screentime_step_note": "Not set up yet? Tap \"Turn On Screen Time\" first.",
    "screentime_open_settings_cta": "Open Screen Time ↗",
    "screentime_confirm_cta": "I've set the code ✓",
    "screentime_confirmed_title": "Screen Time locked ✓",
    "screentime_confirmed_desc": "Your protection is now triple-layered. ReBreak can no longer be uninstalled without going through the cooldown.",
    "layers_a11y_subtitle_active": "Accessibility active — app protection armed",
    "layers_a11y_subtitle_inactive": "Accessibility not enabled — set it up now",
    "kpi_global_label": "Domains blocked worldwide",
    "kpi_global_subtitle": "Active entries in the global blocklist",
    "delta_week": "this week",
    "delta_month": "this month",
    "kpi_submissions_title": "Your submitted domains",
    "kpi_submissions_subtitle": "Status of your contributions to the global list",
    "kpi_my_submissions": "total",
    "kpi_status_active": "active",
    "kpi_status_vote": "in vote",
    "kpi_status_review": "in review",
    "kpi_in_vote": "In vote",
    "kpi_in_review": "In review",
    "kpi_avg_per_user": "Avg. domains per user",
    "kpi_avg_wait": "Avg. wait",
    "kpi_days_suffix": "days",
    "faq_heading": "FAQ",
    "faq1_q": "How does protection work?",
    "faq1_a": "Protection has two layers. Layer 1 is a device-wide URL filter that blocks around 330,000 known gambling sites directly on your iPhone — no traffic leaves your device. Layer 2 is a curated VIP list of the top gambling sites in your country plus your own custom domains — a second line of defence if Layer 1 ever has a gap.",
    "faq2_q": "How many sites are blocked?",
    "faq2_a": "Layer 1 (URL filter) covers around 330,000 domains — online casinos, sports betting, gambling platforms and related sites. Layer 2 adds the top gambling sites for your country as well as any domains you have added yourself. Both lists are updated regularly.",
    "faq3_q": "Can I add my own domains?",
    "faq3_a": "Yes. On the blocker page you can add your own trigger sites — they get blocked on both protection layers. Once added, you cannot remove them yourself. This is intentional: it protects you from impulsive decisions in the moment of urge.",
    "faq4_q": "Why can't I turn protection off immediately?",
    "faq4_a": "In the moment of urge, you often want to disable fast — and regret it after. The 24-hour cooldown gives you time for the urge to pass. You can cancel the cooldown anytime — protection then simply stays on.",
    "faq5_q": "What is Lock Mode?",
    "faq5_a": "Lock Mode is the strongest protection option. ReBreak is installed so that you can no longer delete the app yourself or disable the filter on your own. Ideal for phases when you feel you can't trust yourself and the risk of bypassing is high. Activated via RebreakMagic — a small Mac app that completes the setup in ~2 minutes.",
    "faq6_q": "How do I know if my iPhone is in Lock Mode?",
    "faq6_a": "Go to Settings → General → About. If it says \"This iPhone is supervised and managed by Rebreak GmbH\" at the top — Lock Mode is active. If nothing is shown there: you're using normal mode (VPN-based).",
    "faq7_q": "How do I activate Lock Mode?",
    "faq7_a": "You need a Mac once with the RebreakMagic tool. Download it, plug your iPhone in via USB, open RebreakMagic, and click through the setup — in ~2 minutes your iPhone is in Lock Mode. Important: once activated, only your trustee (or RebreakMagic again at the Mac) can unlock it.",
    "faq8_q": "How do I deactivate Lock Mode?",
    "faq8_a": "Not from the iPhone alone — that's the design principle. Options: 1) Your trustee. 2) Mac + USB cable + RebreakMagic (reset flow inside the tool). 3) iPhone Recovery Mode + Factory Reset (all data lost). Before doing that: talk to Lyra. Sometimes a reframe is all it takes.",
    "faq9_q": "What happens if I lose my iPhone or switch to a new one?",
    "faq9_a": "A factory reset or wipe removes Lock Mode along with everything else. On a new iPhone you'll need to set up Lock Mode again — using RebreakMagic once more. If you lose and then find your device, everything continues as before.",
    "more_info_title": "Disable protection",
    "cooldown_elapsed_title": "Protection is off",
    "cooldown_elapsed_message": "The cooldown has elapsed — protection was disabled. You can now turn off the ReBreak accessibility service in Settings.",
    "cooldown_elapsed_message_ios": "The cooldown has elapsed — protection was disabled.",
    "cooldown_elapsed_open_settings": "Open Settings",
    "app_lock_coming_soon_badge": "Soon",
    "app_lock_coming_soon_desc": "App lock coming soon — filter protection is already active.",
    "type_web": "Website",
    "type_mail": "Email",
    "add_web_label": "Domain",
    "add_web_placeholder": "e.g. casino.com",
    "add_web_help": "This website will be blocked on all your protected devices.",
    "add_mail_label": "Email address or domain",
    "add_mail_placeholder": "e.g. newsletter@casino.com or casino.com",
    "add_mail_help": "Email address or mail domain. We block all emails from this sender.",
    "add_mail_invalid": "Please enter a pattern.",
    "add_sheet_cta": "Add",
    "section_domains": "Your Domains",
    "section_mails": "Your Email Filters",
    "count_label": "%{count}/%{max}",
    "error_web_limit_reached": "You've used all your domain slots. Remove a domain or upgrade to Pro/Legend.",
    "error_mail_limit_reached": "You've used all your email slots. Remove an email pattern or upgrade to Pro/Legend.",
    "error_limit_reached": "All domain slots are full. Submit a domain for review — a slot frees up once it's accepted.",
    "error_invalid_mail": "Please enter a full email address or mail domain (e.g. info@only4-subscribers.com).",
    "error_invalid_input": "Please enter a valid domain or email address.",
    "error_public_domain": "That's a public email provider (e.g. icloud.com, gmail.com) — we can't block it without affecting all your email. Block the casino domain from the link inside the email instead.",
    "error_duplicate": "You've already added this entry — it's in your filter list.",
    "kind_override_label": "This is an email address / mail sender",
    "empty_web": "No custom domains yet.\nTap + to add one.",
    "empty_mail": "No mail domains yet. Tap + to block an email address or domain.",
    "vip_section_title": "My blocked sites",
    "vip_empty": "No custom sites yet.\nTap + to block a website.",
    "vip_global_hint": "+ %{count} known gambling sites automatically protected",
    "my_filters_title": "My Filters",
    "my_filters_empty": "No filters yet. Tap + to block a website or email.",
    "vip_layer2_title": "VIP List",
    "vip_layer2_desc": "Second-layer protection: this list activates if the URL filter (Layer 1) has a technical issue. It includes your custom domains plus a curated global portion.",
    "vip_layer2_global_hint": "+ %{count} known gambling sites automatically protected",
    "vip_layer2_count": "%{count} sites in your VIP list",
    "vip_section_custom_title": "My VIP domains",
    "vip_section_curated_title": "Top predefined sites",
    "vip_section_custom_count": "%{count} custom",
    "vip_section_curated_count": "%{count} curated",
    "remove_domain_sheet_heading": "Remove domain",
    "remove_domain_title": "Take a moment.",
    "remove_domain_intro": "You're about to remove this site from your personal blocklist. This takes effect immediately — the site would be reachable again.",
    "remove_domain_bullet1_title": "Other sites stay protected",
    "remove_domain_bullet1_text": "The global blocklist with 200,000+ domains stays active. Only this one site would be unblocked.",
    "remove_domain_bullet2_title": "This is risky in a craving moment",
    "remove_domain_bullet2_text": "You added this site yourself — probably for a good reason. Wait until the urge passes.",
    "remove_domain_keep_cta": "Keep protection",
    "remove_domain_remove_anyway": "Remove anyway",
    "remove_domain_removing": "Removing…",
    "remove_domain_failed": "Remove failed.",
    "remove_domain_actionsheet_title": "Really remove domain?",
    "remove_domain_actionsheet_message": "%{domain} will be immediately deleted from your blocklist.",
    "remove_domain_confirm_cta": "Remove",
    "vip_swap_title": "VIP list is full",
    "vip_swap_desc": "Your VIP list is full. Choose one of your domains to be replaced in 24 hours — it stays protected until then, after which the new domain takes over.",
    "vip_swap_pick": "Which domain should be replaced?",
    "vip_swap_cta": "Swap",
    "vip_swap_no_candidates": "No swappable domains found.",
    "vip_swap_error": "Swap failed. Please try again.",
    "vip_evict_badge": "replaced in %{hours}h",
    "suggest_curated_link": "+ Suggest a site",
    "suggest_curated_title": "Suggest a site",
    "suggest_curated_explanation": "Suggest a gambling site for your country's list — the ReBreak team reviews it and adds it if suitable.",
    "suggest_curated_input_label": "Domain",
    "suggest_curated_input_placeholder": "e.g. casino.com",
    "suggest_curated_cta": "Submit suggestion",
    "suggest_curated_success_title": "Suggestion submitted",
    "suggest_curated_success_body": "The team will review your suggestion and add the site to the list if it qualifies.",
    "suggest_curated_error_invalid_domain": "Please enter a valid domain (e.g. casino.com).",
    "suggest_curated_error_already_suggested": "This domain has already been suggested and is currently under review.",
    "suggest_curated_error_already_approved": "This domain is already in the curated list.",
    "suggest_curated_error_already_rejected": "This suggestion has already been reviewed and rejected.",
    "suggest_curated_error_generic": "Suggestion failed. Please try again later.",
    "protection_subtitle_mdm": "NEFilter active via system profile — no VPN needed",
    "protection_stat_method_nefilter": "NEFilter",
    "protection_stat_method_mdm": "MDM",
    "mdm_info_hint": "In MDM mode protection runs permanently. To disable, contact your trustee or use Apple Configurator (USB).",
    "mdm_deactivate_title": "MDM mode: deactivation via external means",
    "mdm_deactivate_body": "In MDM mode protection can only be disabled by your trustee or via Apple Configurator (USB). The cooldown flow is not available in this mode.",
    "setup_progress_label": "Step %{current} of 3",
    "setup_step1_title": "Activate app lock",
    "setup_step1_subtitle_pending": "Stops you from switching off ReBreak or the filter on impulse",
    "setup_step1_subtitle_done": "App lock is active",
    "setup_step1_cta": "Activate app lock",
    "setup_step2_title": "Set Screen Time passcode",
    "setup_step2_subtitle_pending": "Prevents uninstall by locking Screen Time",
    "setup_step2_subtitle_done": "Screen Time is locked",
    "setup_step3_title": "Activate URL filter",
    "setup_step3_subtitle_pending": "Blocks 300,000+ gambling sites system-wide",
    "setup_step3_subtitle_done": "Filter running, you are protected",
    "setup_step3_cta": "Activate URL filter",
    "setup_step3_warning": "Once active, you can only disable protection through a 24-hour cooldown. That's by design.",
    "setup_complete_title": "Protection fully active",
    "setup_complete_subtitle": "All three protection layers are set up.",
    "setup_step_locked_hint": "Complete step %{step} first",
    "android_step1_title": "Activate VPN",
    "android_step1_subtitle_pending": "Blocks 300,000+ gambling sites system-wide via DNS filter",
    "android_step1_subtitle_done": "VPN filter running",
    "android_step1_cta": "Activate VPN",
    "activating": "Activating VPN …",
    "android_step2_title": "ReBreak Protection",
    "android_step2_subtitle_pending": "",
    "android_step2_subtitle_done": "Accessibility service active",
    "android_step2_instruction1": "① Tap \"Open accessibility settings\" below",
    "android_step2_instruction2": "② Select ReBreak in the list",
    "android_step2_instruction3": "③ Switch the toggle on",
    "android_step2_cta": "Open accessibility settings",
    "android_step2_note": "Find ReBreak in the list and switch it on. Then tap the button again to finish activating the protection.",
    "android_battery_title": "Turn off battery optimization",
    "android_battery_subtitle_pending": "So your phone can't put the protection to sleep",
    "android_battery_subtitle_done": "Battery optimization turned off",
    "android_battery_body": "Without this exception your phone puts ReBreak to sleep — and the protection silently fails. Tap below and choose \"Allow\".",
    "android_battery_cta": "Allow battery exception",
    "android_battery_samsung_hint": "Not working? On Samsung: App settings → Battery → \"Unrestricted\", and remove it from \"Sleeping apps\".",
    "android_step3_title": "Activate device administrator",
    "android_step3_subtitle_pending": "Closes the boot gap: protection is active immediately after restart",
    "android_step3_subtitle_done": "Device administrator active — protection complete",
    "android_step3_cta": "Activate device administrator",
    "android_step3_warning": "Once active, you can only disable protection through a 24-hour cooldown. That's by design.",
    "android_admin_failed_title": "Device administrator could not be activated",
    "android_admin_failed_msg": "Please confirm the dialog when it appears."
  },
  "onboarding": {
    "lyra": {
      "welcome": {
        "body": "Hi, I'm Lyra. Glad you're here — the first step is often the hardest, and you've already taken it."
      },
      "privacy": {
        "body": "Before we start — a promise. We only know you by your alias. No real name, no trackers, no ads. You're safe here."
      },
      "nickname": {
        "body": "What should I call you? Pick an alias — only the community sees it, no real name needed."
      },
      "diga_choice": {
        "body": "Do you have a prescription code from your health insurance? Then everything's unlocked for you."
      },
      "diga_code": {
        "body": "Type your code — I'll check it for you."
      },
      "plan": {
        "body": "To keep the protection running on your device, we need a plan — first 14 days are free. What feels right for you?"
      },
      "payment": {
        "body": "Quick step: confirm your trial. You can cancel anytime — it all runs through Apple."
      },
      "protection": {
        "body": "Now the important part — the protection on your device. Ready?"
      },
      "protection_url": {
        "body": "An iOS dialog is coming. Tap \"Allow\" — the bottom button (not the big blue one on top — that's the trap)."
      },
      "protection_lock": {
        "body": "Now the app lock. iOS asks for Screen Time access — tap \"Continue\", again the bottom button (not the blue one)."
      },
      "protection_url_android": {
        "body": "Android will ask for VPN permission. Tap \"OK\" — this isn't a real VPN; the filter runs locally on your device."
      },
      "protection_lock_android": {
        "body": "Last step: I'll open Accessibility settings now. Find \"ReBreak\" there and flip the switch on — then come right back."
      },
      "done": {
        "body": "Done. Day 1 of your new streak — and you're not walking alone."
      },
      "audio_play": "Enable voice",
      "audio_loading": "Loading voice...",
      "audio_stop": "Stop playback",
      "audio_disable": "Disable voice"
    },
    "welcome": {
      "cta_primary": "Let's go",
      "bullet_anon": "Anonymous — no real name needed",
      "bullet_protect": "Gambling sites get blocked",
      "bullet_community": "Others walking the same path"
    },
    "privacy": {
      "cta_primary": "Got it",
      "promise_alias": "Only your alias is visible",
      "promise_minimal": "We store as little as possible",
      "promise_no_ads": "No trackers, no ads",
      "promise_germany": "Servers in Germany · GDPR-compliant"
    },
    "nickname": {
      "cta_primary": "Save",
      "label": "YOUR ALIAS",
      "placeholder": "e.g. wanderer84",
      "hint": "3–32 characters. Changeable anytime.",
      "error_too_short": "Minimum 3 characters.",
      "error_too_long": "Maximum 32 characters.",
      "error_profanity": "Please pick a neutral alias.",
      "error_taken": "This alias is already taken."
    },
    "diga_choice": {
      "cta_yes": "Yes, I have a code",
      "cta_no": "No, show me plans",
      "hint": "A DiGA code is issued by your health insurance and gives you full access without payment."
    },
    "diga_code": {
      "cta_primary": "Redeem",
      "cta_secondary": "No code after all — back",
      "label": "PRESCRIPTION CODE",
      "hint": "Internal test codes: REBREAK-TEST-001 to -010",
      "error_not_found": "This code doesn't exist. Check the spelling please.",
      "error_already_used": "This code has already been redeemed.",
      "error_expired": "This code has expired.",
      "error_invalid_input": "Please enter a valid code."
    },
    "plan": {
      "cta_trial": "Start 14 days free",
      "cta_legend": "Choose Legend",
      "billing_monthly": "Monthly",
      "billing_yearly": "Yearly",
      "billing_savings": "2 months free",
      "tier_pro_badge": "Recommended",
      "tier_pro_price_monthly": "€3.99 / month",
      "tier_pro_price_yearly": "€3.33 / month",
      "tier_pro_anchor_yearly": "€47.88",
      "tier_pro_total_yearly": "€39.90 / year",
      "tier_pro_subline_monthly": "First 14 days free",
      "tier_pro_subline_yearly": "14 days free + 2 months gift",
      "tier_legend_price_monthly": "€7.99 / month",
      "tier_legend_price_yearly": "€6.66 / month",
      "tier_legend_anchor_yearly": "€95.88",
      "tier_legend_total_yearly": "€79.90 / year",
      "tier_legend_subline_monthly": "For multi-device protection",
      "tier_legend_subline_yearly": "2 months gift · multi-device",
      "feat_blocklist": "300,000+ gambling domains blocked",
      "feat_lyra": "Lyra coach unlimited",
      "feat_mail": "Mail filter for casino spam",
      "feat_community": "Community + streaks",
      "feat_legend_all_pro": "Everything in Pro",
      "feat_legend_multi_device": "Protection on Mac + Windows",
      "feat_legend_voice": "Premium Lyra voice",
      "disclaimer": "Auto-renew. Cancel anytime in iOS Settings.",
      "hardship_link": "Tight on money? Write to us."
    },
    "payment": {
      "cta_dev_skip": "Continue (dev skip)",
      "dev_label": "Dev stub",
      "dev_body": "The real payment sheet (RevenueCat / StoreKit) is coming in the next phase. For now we set step='pre_protection' and move on to protection setup."
    },
    "protection": {
      "cta_primary": "Activate protection",
      "cta_open_a11y": "Open Accessibility settings",
      "cta_check_a11y": "I've enabled ReBreak",
      "url_title": "Step 1 of 2 — Content filter",
      "lock_title": "Step 2 of 2 — App lock",
      "url_title_android": "Step 1 of 2 — DNS filter",
      "lock_title_android": "Step 2 of 2 — Tamper protection",
      "tap_marker_hint": "Apple puts the big blue button on top (\"Don't Allow\") — please tap the BOTTOM button, not the top one.",
      "tap_marker_hint_android_vpn": "Android will show a VPN permission request. Tap \"OK\" — we only use the VPN API locally as a DNS filter; no traffic leaves your device.",
      "tap_marker_hint_android_a11y": "Once you flip the ReBreak switch on, the service protects your settings from accidental disabling. Then come back to the app.",
      "android_a11y_pending_title": "Waiting for Accessibility activation",
      "android_a11y_pending_body": "If you didn't enable Accessibility, open it again and turn ReBreak on.",
      "dialog_button_allow": "Tap \"Allow\"",
      "dialog_button_continue": "Tap \"Continue\"",
      "dialog_button_vpn_ok": "Tap \"OK\"",
      "dialog_button_a11y_toggle": "Toggle the switch",
      "android_restart_title": "Quick restart recommended",
      "android_restart_body": "On some Samsung devices, full protection only applies reliably after a reboot. Please restart your device once now.",
      "android_restart_now": "Restart now",
      "android_restart_later": "Later",
      "applock_failed_title": "App lock failed",
      "applock_failed_msg": "You can try again or skip this step — the URL filter is already running.",
      "applock_skip": "Skip",
      "error_title": "Protection couldn't be activated",
      "error_unknown": "Unknown error. Please try again.",
      "feat_blocklist_title": "Global filter",
      "feat_blocklist_desc": "Gambling domains blocked in browsers + apps.",
      "feat_ios_title": "iOS NEFilter",
      "feat_ios_desc": "Apple's Network Extension — secure and deep in the system.",
      "feat_android_title": "Android VPN filter",
      "feat_android_desc": "Local DNS filter — no external server.",
      "feat_cooldown_title": "Cooldown protection",
      "feat_cooldown_desc": "24h friction before you can disable protection.",
      "permission_note": "In the next iOS / Android dialog: please tap \"Allow\"."
    },
    "done": {
      "cta_primary": "Enter the app",
      "headline": "You're in.",
      "subhead": "Day 1 of your streak. You're not alone — the community is here, Lyra too.",
      "faq_section_title": "Frequently asked"
    },
    "step_progress": "Step %{current} of %{total}",
    "block_spotlight": {
      "body": "Activate protection now. Tap here — iOS will ask if ReBreak can block gambling sites."
    },
    "nickname_spotlight": {
      "title": "Pick your alias",
      "body": "This is your only name on rebreak. No one sees your email or real name.",
      "finish": "Got it"
    },
    "protection_confirm": {
      "checkbox": "I understand",
      "cta": "Continue",
      "vpn_title": "VPN permission",
      "vpn_body": "Android will now ask for VPN permission. Tap “Allow/OK” in the dialog — it’s not a real VPN, the filter runs locally on your device.",
      "deviceadmin_title": "Device protection",
      "deviceadmin_body": "Tap “Activate” in the next dialog. This keeps protection on right from restart — no further rights are requested.",
      "applock_title": "App lock",
      "applock_body": "Heads up in the next dialog: tap the BOTTOM button — not the blue one. That’s the only way the app lock turns on.",
      "urlfilter_title": "Content filter",
      "urlfilter_body": "iOS will now ask permission for the filter. Tap “Allow”.",
      "a11y_title": "Accessibility",
      "a11y_body": "Just follow the ReBreak hint — it guides you step by step to the switch in Settings. Nothing to memorise.",
      "a11y_step1": "Tap “Installed services”.",
      "a11y_step2": "Tap ReBreak (you’ll recognise it by the logo).",
      "a11y_indicator": "ReBreak guides you step by step",
      "a11y_step3": "Turn the switch on, confirm the dialog — then come back to the app.",
      "usage_title": "One-time: enable step-by-step guidance",
      "usage_body": "The accessibility menu can be fiddly. So I can guide you step by step, give ReBreak “Usage access” once — I’ll open the page now. Turn ReBreak on there, come back and tap protection again.",
      "overlay_title": "One-time: allow the hint overlay",
      "overlay_body": "So my hint sits visibly in front of Settings (instead of hidden in the notification shade), give ReBreak “Display over other apps” once — I’ll open the page. Turn ReBreak on there, come back and tap protection again."
    },
    "protection_skip": {
      "label": "Not working? Set up later",
      "title": "Set up protection later?",
      "body": "Protection isn’t active yet. You can still continue and set it up anytime under “Protection”.",
      "confirm": "Set up later"
    }
  },
  "protection_onboarding": {
    "sheet_title": "Set up protection",
    "sheet_intro": "Set up both protection layers in this order. Once the app lock is active, you won't be able to open VPN settings anymore.",
    "step_vpn_title": "Enable VPN protection",
    "step_vpn_desc": "Blocks gambling domains system-wide via DNS on your device. Must be set up first.",
    "step_vpn_cta": "Enable VPN protection",
    "step_a11y_title": "Enable app lock",
    "step_a11y_desc": "Prevents you from impulsively disabling ReBreak or the VPN filter. Only available after the VPN step.",
    "step_a11y_cta": "Enable app lock",
    "skip_cta": "Set up later"
  },
  "mail": {
    "title": "Mail Shield",
    "subtitle": "Automatically block gambling emails",
    "plan_free": "Free",
    "stat_accounts": "Mailbox",
    "stat_domains": "Domains",
    "stat_interval": "Scan interval",
    "connect_title": "Connect your mailbox",
    "connect_desc": "Rebreak automatically scans for gambling emails and blocks them — without reading your emails.",
    "connect_cta": "Connect now",
    "privacy_1": "Only subject + sender are checked",
    "privacy_2": "No access to email content",
    "privacy_3": "GDPR-compliant, servers in Germany",
    "providers_title": "Supported providers",
    "provider_other": "Other providers",
    "empty_title": "No emails blocked yet",
    "empty_subtitle": "Connect your mailbox so Rebreak can protect you automatically.",
    "connect_sheet_title": "Connect mailbox",
    "connect_sheet_subtitle": "Choose your email provider. Rebreak deletes gambling emails automatically — your message content is never read.",
    "provider_gmail": "Gmail",
    "provider_icloud": "iCloud Mail",
    "provider_outlook": "Outlook",
    "provider_outlook_disabled_badge": "Coming soon",
    "provider_outlook_disabled_hint": "Microsoft accounts need a new sign-in method, we're working on it.",
    "provider_yahoo": "Yahoo Mail",
    "provider_gmx": "GMX / Web.de",
    "app_password_required_title": "App password required",
    "app_password_guide_gmail": "Gmail requires an app-specific password (not your regular Google password). Enable 2FA and create an app password at myaccount.google.com/apppasswords.",
    "app_password_guide_icloud": "iCloud requires an app-specific password. Go to appleid.apple.com → Sign in → App-specific passwords.",
    "app_password_guide_outlook": "Outlook with Microsoft account: Enable 2FA and create an app password at account.microsoft.com/security.",
    "app_password_guide_yahoo": "Yahoo requires an app password. Enable 2FA and create it at login.yahoo.com/account/security.",
    "app_password_guide_gmx": "GMX / Web.de: Enable IMAP in settings and use your regular password or an app password if 2FA is active.",
    "app_password_guide_other": "Enter your email address and app password. Rebreak detects your provider automatically from the domain (e.g. IONOS, Strato, 1&1). An app password is recommended if available.",
    "app_password_open_link": "Create app password now",
    "form_email_label": "Email address",
    "form_email_placeholder": "your@email.com",
    "form_password_label": "App password",
    "form_password_placeholder": "App password (not your login password)",
    "form_privacy_note": "Your password is stored AES-encrypted. The content of your emails is never read — only subject and sender.",
    "form_connect_btn": "Connect mailbox",
    "form_fields_required": "Email and password are required.",
    "connect_failed": "Connection failed. Please check your credentials.",
    "section_accounts": "Mailboxes",
    "add_account_a11y": "Add mailbox",
    "empty_state_title": "No mailbox connected",
    "empty_state_subtitle": "Connect your first mailbox — Rebreak will delete gambling emails automatically before you see them.",
    "empty_state_cta": "Connect first mailbox",
    "account_active": "Active",
    "account_inactive": "Inactive",
    "account_last_scan": "%{time} ago",
    "account_never_scanned": "Not scanned yet",
    "account_just_now": "just now",
    "account_stat_blocked": "Blocked",
    "account_stat_scanned": "Scanned",
    "account_stat_block_rate": "Block rate",
    "account_disconnect_confirm_title": "Disconnect mailbox?",
    "account_disconnect_confirm_message": "%{email} will be disconnected and all scan data will be deleted.",
    "account_disconnect_confirm_btn": "Disconnect",
    "stats_blocked": "Blocked",
    "stats_accounts": "Mailboxes",
    "stats_next_scan": "Next scan",
    "stats_next_scan_soon": "soon",
    "stats_mode": "Mode",
    "stats_account_summary": "across %{count} mailbox(es)",
    "scheduled": "Scheduled",
    "account_of_scanned": "of %{scanned} scanned",
    "activity_log_count": "%{count} mail(s) blocked",
    "connect_success_title": "Mailbox connected",
    "connect_success_message": "Rebreak will now automatically scan for gambling emails.",
    "upgrade_alert_title": "More mailboxes",
    "upgrade_alert_desc": "Upgrade to Pro for up to 3 mailboxes, or Legend for unlimited.",
    "add_account": "Add mailbox",
    "section_accounts_count": "%{used} of %{max} connected",
    "section_accounts_count_unlimited": "%{used} connected · unlimited",
    "live": "Live",
    "disconnect": "Disconnect",
    "loading": "Loading…",
    "app_password_placeholder": "App password",
    "scan_interval_label": "Scan interval",
    "realtime_desc": "Real-time blocking via IMAP IDLE",
    "free_scan_interval_hint": "Free plan: fixed 4h interval. Upgrade for 1h.",
    "account_change_password": "Change password",
    "edit_account_title": "Update password",
    "edit_account_subtitle": "Enter the new app password for %{email}. The previous password will be replaced.",
    "edit_account_save": "Save",
    "activity_log_title": "Recently blocked",
    "activity_log_subtitle": "Mails blocked in the last 24h",
    "activity_log_empty": "No mails blocked in the last 24h",
    "activity_log_more": "+ %{count} more",
    "activity_no_subject": "(no subject)",
    "chart_title": "Last 7 days",
    "chart_week_total": "%{count} this week",
    "status_auth_error": "Auth Error",
    "status_connect_error": "Connection Error",
    "status_error_tap_hint": "Tap to fix",
    "status_stale": "Stale",
    "status_stale_last_scan": "last scan %{rel}",
    "status_live_idle": "IDLE active since %{rel}",
    "status_live_no_new_mail": "connected · no new mail since %{rel}",
    "status_waiting_first_connect": "Waiting for first connection",
    "auth_error_title": "App Password invalid",
    "auth_error_subtitle": "The app password for %{email} has expired or is incorrect. Please renew it and enter it below.",
    "auth_error_renew_link": "Create new app password",
    "errors": {
      "auth_failed": "The app password is incorrect. Please regenerate it at your mail provider and enter it here.",
      "app_password_required": "Your mail provider requires an app-specific password. Create one in your account settings.",
      "connection_failed": "Could not connect to the mail server. Please try again later.",
      "host_unreachable": "Mail server unreachable. Check your internet connection — or your provider may not be supported yet. Write to: support@rebreak.org",
      "tls_error": "Secure connection to the mail server failed. Please contact your provider.",
      "rate_limited": "Too many connection attempts. Please wait a few minutes and try again.",
      "unknown": "Connection failed. Check your app password or write us at support@rebreak.org — we'll add your provider."
    },
    "consent": {
      "title": "Before you connect your inbox",
      "intro": "Rebreak scans your inbox specifically for gambling promotional emails and deletes them automatically. This processing may allow conclusions to be drawn about a gambling disorder — we treat this as a special category of data under Art. 9 GDPR.",
      "legal_text": "By connecting my email inbox, I expressly consent to Rebreak scanning my inbox specifically for gambling promotional emails and deleting them. I acknowledge that this processing may allow conclusions to be drawn about a gambling disorder, and I expressly consent to this processing of health-related data pursuant to Art. 9(2)(a) GDPR. I may withdraw this consent at any time with future effect by disconnecting the mail connection in the app settings.",
      "checkbox_label": "I expressly consent",
      "cta_next": "Continue",
      "more_link": "More about this processing",
      "reminder_title": "Important privacy update",
      "reminder_body_one": "We have updated our consent wording for mail processing. Your existing mailbox connection requires your renewed explicit consent — otherwise we will pause automatic deletion.",
      "reminder_body_other": "We have updated our consent wording for mail processing. Your %{count} existing mailbox connections require your renewed explicit consent — otherwise we will pause automatic deletion.",
      "reminder_legal_short": "I consent to the processing of my mailbox contents under Art. 9(2)(a) GDPR.",
      "reminder_cta_consent": "I consent",
      "reminder_cta_later": "Later",
      "reminder_cta_disconnect": "Disconnect now",
      "reminder_consent_error": "Failed to save consent. Please try again."
    },
    "title_label": "Label",
    "title_placeholder": "e.g. Personal Gmail, Work",
    "title_edit_title": "Edit label",
    "title_save": "Save",
    "settings_section_label": "Settings",
    "row_title": "Label",
    "row_email": "Email",
    "row_password": "Password",
    "row_disconnect": "Disconnect",
    "account_chart_unavailable": "Daily chart loading …",
    "disconnect_confirm_title": "Disconnect mailbox?",
    "disconnect_confirm_body": "%{email} will be disconnected and all scan data deleted.",
    "more_infos_title": "More Info",
    "more_infos_subtitle": "Blocked — last 30 days",
    "stats": {
      "blocked_per_day_heading": "Blocked",
      "blocked_per_day_sublabel": "%{total} mails blocked · %{avg} last week",
      "blocked_per_week_heading": "Blocked — recent weeks",
      "blocked_per_month_heading": "Blocked — recent months",
      "distribution_heading": "Distribution by mailbox",
      "distribution_center_label": "total",
      "distribution_other": "Others",
      "distribution_other_n": "+%{n} more",
      "empty_title": "No mails blocked yet",
      "empty_body": "Once mails are blocked, an overview will appear here."
    },
    "filter": {
      "all": "All"
    },
    "oauth": {
      "warning_title": "Note on visibility in your Microsoft account",
      "warning_body": "Microsoft will show you a permission dialog. The app name \"Rebreak\" will appear there and will be visible in your Microsoft account overview under App permissions. If your Microsoft account is shared with others, you should take this into account.",
      "warning_continue": "Understood, sign in with Microsoft",
      "warning_cancel": "Back to selection",
      "pending_label": "Microsoft sign-in in progress…",
      "pending_hint": "Complete the step in your browser and then return here.",
      "error_aborted": "Sign-in cancelled.",
      "error_no_code": "OAuth failed — no authorization code received.",
      "error_callback_failed": "Connection could not be completed. Please try again.",
      "disconnect_hint_title": "Connection removed",
      "disconnect_hint_body": "The tokens have been deleted from our database. Unfortunately Microsoft does not support server-side revocation by third-party apps. To fully remove Rebreak's permission from your Microsoft account: account.microsoft.com → Security → App permissions → find Rebreak → Remove.",
      "disconnect_hint_open_ms": "Open Microsoft",
      "google_warning_title": "Note on visibility in your Google account",
      "google_warning_body": "Google will show you a permission dialog. The app name \"Rebreak\" will appear there and will be visible in your Google account overview under Third-party apps. If your Google account is shared with others, you should take this into account.",
      "google_warning_continue": "Understood, sign in with Google",
      "google_pending_label": "Google sign-in in progress…"
    },
    "account_chart_collecting_title": "Collecting data",
    "account_chart_collecting_body": "Analysis available after 24h",
    "scan_now": "Scan now",
    "scan_running": "Scanning…",
    "scan_done": "%{count} blocked",
    "scan_error": "Scan failed",
    "email_change_not_supported": "Email change coming soon"
  },
  "settings": {
    "title": "Settings",
    "account_section": "Account",
    "prefs_section": "Preferences",
    "danger_section": "Danger Zone",
    "edit_profile": "Edit profile",
    "devices": "Devices",
    "devices_desc": "Manage registered devices",
    "rebreak_magic": "Rebreak Magic",
    "rebreak_magic_desc": "Protect Mac & Windows PC, bind iPhone",
    "subscription": "Subscription",
    "subscription_desc": "Plan & upgrade path",
    "subscription_plan_free": "Free",
    "subscription_plan_pro": "Pro",
    "subscription_plan_legend": "Legend",
    "subscription_sheet_title": "Your subscription",
    "subscription_sheet_body": "Manage your subscription at rebreak.org — upgrade, downgrade or cancel there.",
    "subscription_sheet_cta": "Go to rebreak.org/account",
    "plan_free": "Free",
    "push_notifications": "Push notifications",
    "streak_reminders": "Streak reminders",
    "language": "Language",
    "language_desc": "German / English / French / Arabic",
    "language_current": "English",
    "upgrade_cta": "Upgrade to Pro — €29/year",
    "delete_account": "Delete account",
    "delete_desc": "All data will be permanently deleted.",
    "sign_out": "Sign out",
    "coming_soon_title": "Coming soon",
    "coming_soon_desc": "Settings will be wired up in Phase 3. Currently skeleton only.",
    "soon_badge": "Soon",
    "skeleton_footer": "Settings skeleton — see ops/UI_MIGRATION_PLAN.md",
    "section_profile": "Profile",
    "profile_edit": "Nickname & avatar",
    "profile_edit_desc": "Nickname, avatar image, personal data",
    "profile_avatar": "Choose avatar",
    "profile_avatar_desc": "Preset library or your own photo",
    "section_theme": "Theme & language",
    "theme": "Theme",
    "theme_desc": "Light / Dark / System",
    "section_notifications": "Notifications",
    "notifications_push": "Push notifications",
    "notifications_push_desc": "Toggle individual categories",
    "notifications_streak": "Streak reminders",
    "notifications_streak_desc": "Daily nudges to stay on track",
    "section_devices": "Devices & subscription",
    "section_lyra": "Lyra (Legend)",
    "lyra_voice": "Lyra voice",
    "lyra_voice_desc": "Voice picker — Legend-plan exclusive",
    "lyra_voice_only_legend": "Legend plan only",
    "theme_picker_title": "Choose theme",
    "theme_system": "System",
    "theme_light": "Light",
    "theme_dark": "Dark",
    "language_picker_title": "Choose language",
    "language_de": "Deutsch",
    "language_en": "English",
    "language_fr": "Français",
    "language_ar": "العربية",
    "lyra_voice_default": "Default",
    "lyra_voice_1": "Voice 1",
    "lyra_voice_2": "Voice 2",
    "lyra_voice_picker_title": "Choose Lyra voice",
    "lyra_voice_sarah": "Sarah (warm)",
    "lyra_voice_aria": "Aria (calm)",
    "lyra_voice_charlotte": "Charlotte (clear)",
    "lyra_voice_alice": "Alice (neutral)",
    "lyra_voice_bill": "Bill (deep)",
    "section_debug": "Debug",
    "debug_llm": "LLM provider",
    "debug_llm_desc": "Model & prompt tuning (DEV)",
    "debug_tts": "TTS provider",
    "debug_tts_desc": "Cartesia / ElevenLabs / Gemini (DEV)",
    "debug_plan": "Override plan (DEV)",
    "debug_plan_desc": "POST /api/dev/set-plan — staging only",
    "debug_realtime": "Realtime connection (DEV)",
    "debug_realtime_desc": "Connection state, channels, event log",
    "devices_page_title": "Registered devices",
    "devices_slots": "Device slots",
    "devices_slots_desc": "Your %{plan} plan allows this many simultaneous devices.",
    "devices_this_device": "This device",
    "devices_since": "since",
    "devices_just_now": "just active",
    "devices_mins_ago": "%{count}m ago",
    "devices_hours_ago": "%{count}h ago",
    "devices_days_ago": "%{count}d ago",
    "devices_empty": "No devices registered",
    "devices_hint": "Devices you remove will re-register on next sign-in. This device cannot be removed while you are signed in.",
    "devices_remove_title": "Remove device",
    "devices_remove_desc": "The device slot will be freed. It can re-register on next sign-in.",
    "devices_remove_confirm": "Remove",
    "section_security": "Security",
    "app_lock": "App lock",
    "app_lock_desc": "Unlock with Face ID, Touch ID or passcode when opening",
    "app_lock_unavailable": "Not available on this device",
    "app_lock_desc_android": "Unlock with fingerprint, face unlock or PIN when opening",
    "notifications_push_sublabel": "Reminders, Lyra messages, streak updates",
    "notifications_streak_time": "Reminder time",
    "notifications_streak_time_desc": "When should the daily reminder appear?",
    "notifications_streak_time_picker_title": "Choose reminder time",
    "notifications_streak_time_picker_desc": "Select hour and minute for your daily streak reminder.",
    "notifications_hour": "Hour",
    "notifications_minute": "Minute",
    "calls_in_recents": "Show calls in iOS Recents",
    "calls_in_recents_desc": "Show ReBreak calls in the native Phone app. Warning: call list is synced via iCloud.",
    "calls_in_recents_restart": "This setting takes effect on next app launch.",
    "section_help": "Help & Support",
    "help_faq": "FAQ",
    "help_faq_desc": "Common questions about the app",
    "help_contact": "Contact",
    "help_contact_desc": "Write to us — we reply within 24–48h",
    "help_about": "About Rebreak",
    "help_about_desc": "Mission, privacy, DiGA path",
    "help_crisis": "Crisis help",
    "help_crisis_desc": "External counselling & emergency numbers",
    "rtl_restart_title": "Restart required",
    "rtl_restart_body": "Please close the app and reopen it to apply the new text direction."
  },
  "device_limit": {
    "title": "Device limit reached",
    "subtitle": "%{count} of %{max} device slots used (%{plan}) — remove a device to continue",
    "hint": "Removed devices can re-register on next sign-in.",
    "remove_cta": "Remove device",
    "this_device": "This device",
    "approve_on_other": "Approve on another device"
  },
  "device_approval": {
    "incoming_title": "Approve new device?",
    "incoming_subtitle": "%{device} is trying to sign in to your ReBreak account.",
    "code_label": "Verification code",
    "compare_hint": "Compare this code with the one shown on the new device. If they match, tap Allow.",
    "replace_which": "Which device should be replaced?",
    "all_devices_locked": "All devices are plan-locked — please release one first.",
    "approve": "Allow",
    "reject": "Reject",
    "pick_to_replace": "Please pick a device to replace.",
    "pending_title": "Approval required",
    "pending_subtitle": "Confirm this code on another signed-in device, or via email.",
    "pending_approved_title": "Approved",
    "pending_approved_subtitle": "Your device is now linked. You can continue.",
    "pending_rejected_title": "Rejected",
    "pending_rejected_subtitle": "The sign-in was rejected on another device.",
    "pending_expired_title": "Expired",
    "pending_expired_subtitle": "The code has expired. Please try again.",
    "waiting": "Waiting for approval…",
    "send_email": "Send via email",
    "email_already_sent": "Email already sent",
    "continue": "Continue",
    "close": "Close",
    "cancel": "Cancel"
  },
  "urge": {
    "title": "SOS — Breathing exercise",
    "step_dashboard": "Start",
    "step_emotion": "Emotion",
    "step_breathing": "Breathing",
    "step_games": "Lyra games",
    "step_result": "Reflection",
    "step_done": "Done",
    "feel_urge": "Feeling a strong urge right now?",
    "feel_urge_desc": "We'll guide you through a short reset, step by step.",
    "yes_urge": "Yes, I need help",
    "just_play": "Just play",
    "this_week": "This week",
    "total_urges": "Urges",
    "overcome_count": "Overcome",
    "breathing_exercises": "Breathing sessions",
    "having_urge": "You're not alone.",
    "how_feeling": "How are you feeling right now?",
    "emotion_stress": "Stress",
    "emotion_sadness": "Sadness",
    "emotion_anger": "Anger",
    "emotion_empty": "Emptiness",
    "emotion_boredom": "Boredom",
    "emotion_other": "Other",
    "lets_breathe": "Let's breathe for a minute",
    "breathing_desc": "Just 3 rounds. Your mind usually feels calmer afterwards.",
    "round": "Round %{current} / %{total}",
    "round_simple": "Round %{current} / %{total}",
    "intro": "Deep breathing helps overcome the urge.",
    "inhale": "Inhale",
    "hold": "Hold",
    "exhale": "Exhale",
    "start": "Start exercise",
    "start_exercise": "Start breathing",
    "skip": "Skip",
    "game_offer_title": "Lyra games",
    "game_offer_text": "Pick a short game. 2-3 minutes are often enough to break the urge.",
    "just_play_lyra": "Need a quick focus reset? Pick a game.",
    "game_memory": "Memory",
    "game_tictactoe": "Tic-Tac-Toe",
    "game_snake": "Snake",
    "game_tetris": "Tetris",
    "game_memory_desc": "Find pairs and regain focus",
    "game_tictactoe_desc": "Quick duel for clear decisions",
    "game_snake_desc": "Rhythm over rumination",
    "game_tetris_desc": "Organize patterns, calm your mind",
    "skip_games": "Skip games",
    "back": "Back",
    "open_lyra": "Open with Lyra",
    "game_start_title": "Start game",
    "game_start_desc": "%{game} will be started with Lyra.",
    "how_overcome": "How did it go afterwards?",
    "answer_helps": "Your answer helps you spot patterns and get stronger.",
    "i_overcame": "I overcame the urge",
    "i_gave_in": "I gave in",
    "overcame_msg": "Strong. Every resisted urge rewires your brain.",
    "gave_in_msg": "No judgment. Honesty is the start of the next win.",
    "save": "Save",
    "done_title": "Well done!",
    "done_desc": "You completed the breathing exercise. Your nervous system has calmed down.",
    "done_back": "Back",
    "well_done": "Great job",
    "chin_up": "Keep your head up",
    "overcame_result": "You broke the urge loop. Stay close to what helps you.",
    "gave_in_result": "A setback is not the end. Breathe and restart.",
    "back_to_dashboard": "Back to dashboard"
  },
  "notifications": {
    "title": "Notifications",
    "empty_title": "No notifications",
    "empty_subtitle": "You're all caught up.",
    "mark_all_read": "Mark all as read",
    "liked_post": "liked your post",
    "commented_post": "commented on your post",
    "voted_domain": "voted on your domain",
    "domain_accepted": "is now in the global blocklist",
    "domain_accepted_sub": "Tap to open your blocklist",
    "domain_rejected": "was rejected and removed from your list",
    "new_follower": "started following you",
    "generic": "sent you a notification",
    "just_now": "just now",
    "min_ago": "%{n} min ago",
    "hours_ago": "%{n} h ago",
    "days_ago": "%{n} d ago"
  },
  "chat": {
    "title": "Chat",
    "dms": "Direct Messages",
    "rooms": "Groups",
    "groups": "Groups",
    "direct": "Direct",
    "no_chats": "No chats yet",
    "no_rooms": "No groups yet",
    "start_dm": "Start new DM",
    "placeholder": "Write a message…",
    "you": "You: ",
    "just_now": "just now",
    "voice_message": "Voice message",
    "call_audio": "Audio call",
    "call_missed": "Missed call",
    "call_no_answer": "No answer",
    "call_declined": "Call declined",
    "call_failed": "Call failed",
    "photo": "Photo",
    "media_sent": "Media",
    "new_conversation": "New conversation",
    "no_users_found": "No users found",
    "start_conversation": "Send a first message",
    "loading": "Loading…",
    "send_failed": "Failed to send message.",
    "create_group": "Create group",
    "create": "Create",
    "room_name": "Group name",
    "room_description": "Description (optional)",
    "public_room": "Public group",
    "join_mode": "Join mode",
    "join_mode_approval": "With approval",
    "join_mode_invite": "Invite only",
    "join": "Join",
    "join_pending": "Join request pending…",
    "join_required": "Join the group to participate.",
    "members": "Members",
    "settings": "Settings",
    "info": "Info",
    "leave_room": "Leave group",
    "reply": "Reply",
    "reply_to": "Replying to",
    "like": "Like",
    "unlike": "Unlike",
    "copy": "Copy",
    "delete": "Delete",
    "message_deleted": "Message deleted",
    "delete_confirm_title": "Delete message?",
    "delete_confirm_msg": "This message will be deleted for everyone — this can't be undone.",
    "image_attachment": "Image",
    "file_attachment": "File",
    "upload_failed": "Upload failed",
    "save": "Save",
    "image_saved": "Image saved to Photos",
    "save_failed": "Could not save image",
    "save_needs_rebuild": "Saving needs an app update — please try again after the next build.",
    "call": "Call",
    "call_coming_soon": "Voice calls are coming soon — we're building this feature.",
    "member_count": "%{n} members",
    "member_count_online": "%{n} members · %{online} online",
    "pending_request": "Join requests",
    "approve": "Approve",
    "reject": "Reject",
    "avatar_updated": "Group photo updated",
    "send": "Send",
    "search_placeholder": "Search conversations…",
    "photo_access_title": "Photo access",
    "photo_access_body": "Please allow photo access in Settings.",
    "mic_access_title": "Microphone access",
    "mic_access_body": "Please allow microphone access in Settings."
  },
  "dm": {
    "view_profile": "View profile",
    "shared_media": "Shared Media",
    "no_shared_media": "No shared media yet"
  },
  "community": {
    "compose_placeholder": "What's on your mind?",
    "compose_default_user": "You",
    "compose_photo_perm_title": "Photo access",
    "compose_photo_perm_desc": "Please allow access to your photos in iOS Settings.",
    "image": "Image",
    "cancel": "Cancel",
    "share": "Share",
    "no_posts": "Be the first to share something",
    "cat_all": "All",
    "cat_games": "Games",
    "cat_domain": "Domain Votes",
    "cat_lyra": "Lyra",
    "cat_rebreak": "ReBreak",
    "like": "Like",
    "comment": "Comment",
    "comments_title": "Comments",
    "comments_empty": "No comments yet – be the first!",
    "reply": "Reply",
    "reply_to": "Replying to",
    "send": "Send",
    "comment_placeholder": "Write a comment…",
    "filter": "Filter",
    "published": "Published",
    "post_failed": "Failed to publish post.",
    "anonymous_label": "Anonymous",
    "tier_starter": "Starter",
    "tier_pro": "Pro",
    "tier_legend": "Legend",
    "bot_admin": "Admin",
    "bot_ai": "AI",
    "reposted_suffix": "reposted",
    "domain_proposal_label": "Blocklist proposal",
    "domain_added_to_blocklist": "Added to global blocklist",
    "domain_added": "In the global blocklist",
    "domain_proposed": "Proposed for inclusion",
    "domain_vote_own": "You can't vote on your own proposal.",
    "vote_yes": "Yes",
    "vote_no": "No",
    "vote_rejected": "Rejected",
    "vote_in_review": "Under review",
    "voted_thanks": "Thanks for your vote!",
    "recent_posts": "RECENT POSTS"
  },
  "streak": {
    "label_one": "day",
    "label_other": "days",
    "label_suffix": "gambling-free"
  },
  "profile": {
    "edit_title": "Edit profile",
    "edit_save": "Save",
    "edit_photo_cta": "Choose your own photo",
    "edit_photo_perm_title": "Photo access",
    "edit_photo_perm_desc": "Please allow access to your photos in iOS Settings.",
    "edit_preset_label": "Choose avatar",
    "edit_nickname_label": "Nickname",
    "edit_nickname_hint": "Visible to other members — max. 32 characters.",
    "crop_title": "Choose crop",
    "crop_confirm": "Apply",
    "crop_hint": "Move and zoom the image to select the desired crop area.",
    "crop_reset": "Reset",
    "streak_section_label": "PROTECTION COVERAGE",
    "streak_days_protected": "days protected",
    "streak_since": "since %{date}",
    "streak_longest": "Longest streak: %{days} days",
    "coverage_center_label": "days protected",
    "coverage_unprotected_label": "unprotected",
    "coverage_no_data": "No protection data yet",
    "coverage_no_data_hint": "Activate protection to start tracking your coverage.",
    "streak_phase_label": "CURRENT PROTECTION PHASE",
    "streak_to_record": "%{days} days to your record",
    "streak_new_record": "New record! %{days} days",
    "streak_first_phase": "Your first protection phase: %{days} days",
    "cooldown": {
      "heading": "COOLDOWN HISTORY",
      "window_label": "last %{weeks}W",
      "week_label": "W%{n}",
      "none": "No cooldowns in the last 8 weeks",
      "count_one": "1 cooldown over %{weeks} weeks",
      "count_other": "%{n} cooldowns over %{weeks} weeks",
      "avg_last": "Ø 1 every %{avg} weeks · last %{date}",
      "patterns": {
        "toggle_label": "More insights",
        "hour_heading": "When do you start cooldowns?",
        "day_heading": "Which days?",
        "reason_heading": "Common terms",
        "cancel_rate": "Cooldowns cancelled: %{pct}%",
        "not_enough": "Not enough patterns yet",
        "weekday_mon": "Mon",
        "weekday_tue": "Tue",
        "weekday_wed": "Wed",
        "weekday_thu": "Thu",
        "weekday_fri": "Fri",
        "weekday_sat": "Sat",
        "weekday_sun": "Sun",
        "hour_morning": "Morning",
        "hour_afternoon": "Afternoon",
        "hour_evening": "Evening",
        "hour_night": "Night"
      }
    },
    "privacy_section_title": "Privacy",
    "show_online_status": "Show online status",
    "show_online_status_hint": "Only people you follow see when you're online",
    "allow_calls": "Allow calls",
    "allow_calls_hint": "Only people you follow back can call you. Turn off to receive no calls"
  },
  "demographics": {
    "employment_status_employed": "employed",
    "employment_status_self_employed": "self-employed",
    "employment_status_in_training": "in education / training",
    "employment_status_unemployed": "unemployed / job-seeking",
    "employment_status_retired": "retired / pensioned",
    "employment_status_homemaking": "homemaking / care work",
    "employment_status_other": "other",
    "industry_it_software": "IT / Software",
    "industry_healthcare": "Healthcare / Medicine",
    "industry_education": "Education / Teaching",
    "industry_hospitality": "Hospitality / Hotels",
    "industry_construction": "Construction / Trades",
    "industry_banking_finance": "Banking / Finance",
    "industry_sales_marketing": "Sales / Marketing",
    "industry_public_admin": "Public administration",
    "industry_logistics": "Logistics / Transport",
    "industry_creative_media": "Creative / Media",
    "industry_other": "other",
    "tenure_less_1y": "less than 1 year",
    "tenure_1_3y": "1-3 years",
    "tenure_3_5y": "3-5 years",
    "tenure_5_10y": "5-10 years",
    "tenure_more_10y": "more than 10 years",
    "shift_work_yes": "Yes",
    "shift_work_no": "No",
    "shift_work_unknown": "n/a",
    "section_beruf": "EMPLOYMENT",
    "section_wohnort": "LOCATION",
    "field_status": "Status",
    "field_shift_work": "Shift work",
    "field_industry": "Industry",
    "field_job_tenure": "In job since",
    "field_bundesland": "State",
    "field_city": "City",
    "picker_employment_status": "Employment status",
    "picker_industry": "Industry",
    "picker_job_tenure": "Time in current job",
    "picker_bundesland": "State"
  },
  "devices": {
    "section_title_this": "This device",
    "section_title_others": "Other protected devices",
    "subtitle_legend": "Seamless protection on up to 5 devices — 3 mobile, 2 desktop.",
    "subtitle_free": "Current device protected.",
    "add_mac": "Add Mac",
    "add_windows": "Add Windows (coming soon)",
    "upgrade_cta": "Upgrade to Legend",
    "status_pending": "Ready to install",
    "status_active": "Active",
    "status_revoked": "Removed",
    "status_online": "Online",
    "status_cooldown": "Cooldown · %{time} left",
    "status_cooldown_short": "Cooldown",
    "status_unprotected": "Unprotected",
    "status_unprotected_since": "Unprotected · for %{time}",
    "label_placeholder": "e.g. MacBook Pro",
    "label_default": "MacBook Pro",
    "label_question": "What should this Mac be called?",
    "prepare_profile": "Prepare profile",
    "lyra_intro": "Three steps. I'll walk you through each one — if something goes wrong, tap Help.",
    "step_1_title": "Download the profile",
    "step_1_body": "Tap the button below. If you're on your Mac, it opens the profile file directly. On your phone? You'll get a QR code — scan it on your Mac to get the file.",
    "step_2_title": "Install the profile",
    "step_2_body": "On the Mac: double-click the downloaded file → System Settings opens → \"Install Profile\" → enter your Mac password → done.",
    "step_3_title": "Use a standard account",
    "step_3_body": "Important: use a standard account on the Mac, not admin. If you ever have an urgent need to remove the profile, you'll need the admin password — ideally held by someone you trust (partner, friend). That's the real protection layer.",
    "step_4_title": "Done",
    "step_4_body": "Once installed, just open any website in a browser or app on your Mac — we'll detect it automatically and activate protection.",
    "download_button": "Download profile to Mac",
    "confirm_installed": "I've installed it ✓",
    "waiting_install": "Waiting for profile installation on your Mac…",
    "waiting_hint": "As soon as you open a website in a browser or app, we'll automatically activate your device.",
    "activated_toast": "Mac connected!",
    "need_help": "I need help",
    "success_title": "Mac protected!",
    "success_body": "You can add more devices whenever you like.",
    "remove_warning_title": "Remove profile manually",
    "remove_warning_body": "We can't delete the profile remotely. On the Mac: System Settings → Profiles → ReBreak → Remove (admin password required).",
    "add_device": "Add new device",
    "progress_label": "%{count} of %{max} devices",
    "progress_at_limit": "Maximum reached",
    "add_windows_enabled": "Add Windows PC",
    "windows_label_question": "What should this Windows PC be called?",
    "windows_label_default": "Windows PC",
    "windows_label_placeholder": "e.g. Gaming PC",
    "windows_lyra_intro": "Five quick steps. I'll walk you through each one — if something goes wrong, tap Help.",
    "windows_step_1_title": "Download the file",
    "windows_step_1_body": "Tap the button below — on your Windows PC. The .reg file will be downloaded.",
    "windows_step_2_title": "Run the .reg file",
    "windows_step_2_body": "Double-click the downloaded .reg file. Windows will ask: 'Do you want to add keys to the registry?' → Click 'Yes'.",
    "windows_step_3_title": "Confirm UAC prompt",
    "windows_step_3_body": "If a blue UAC prompt appears: click 'Yes'. This is the admin confirmation.",
    "windows_step_4_title": "Activate DNS",
    "windows_step_4_body": "Open Windows Settings → Network & Internet → click your Wi-Fi → DNS server assignment → 'Edit' → choose 'Encrypted only (DNS over HTTPS)' → select 'rebreak-...' from the list.",
    "windows_step_5_title": "Done",
    "windows_step_5_body": "Once you've saved the DNS selection, tap 'I've installed it' and I'll count your PC as a protected device.",
    "windows_download_button": "Download file to Windows PC",
    "windows_success_title": "Windows PC protected!",
    "windows_success_body": "You can add more devices whenever you like.",
    "windows_remove_warning_body": "We can't delete the registry entry remotely. On the PC: Regedit → HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\DoHSvc → remove the key.",
    "bound_badge": "Bound",
    "release_request_title": "Release device?",
    "release_request_body": "The device will be released after 24 hours. You can cancel the release at any time before that.",
    "release_request_confirm": "Start release",
    "release_countdown": "Release in %{remaining}",
    "release_cancel": "Cancel release",
    "release_cancel_confirm": "Really cancel the release?",
    "release_cancel_body": "The device will remain bound to your account.",
    "release_cancel_cta": "Yes, cancel",
    "subtitle_pro": "Protection for your phone and your computer — where it really matters.",
    "progress_mobile": "Mobile",
    "progress_total": "Total",
    "progress_desktop": "Computer",
    "detail_connection": "Connection",
    "detail_added": "Connected since",
    "detail_last_seen": "Last active",
    "detail_coverage_label": "Protection history",
    "detail_this_device_protected": "days protected",
    "detail_before_binding": "before binding"
  },
  "plan": {
    "change": {
      "header_upgrade": "You're switching to {{to}}.",
      "header_downgrade": "You're switching from {{from}} to {{to}}.",
      "section_gains": "What you're getting",
      "section_keeps": "What stays the same",
      "section_changes": "What changes",
      "downgrade_reassurance": "Your core protection keeps running.",
      "downgrade_no_delete_title": "Nothing gets deleted.",
      "downgrade_no_delete_body": "Everything paused comes back immediately when you upgrade again.",
      "downgrade_recovery_note": "If this change weakens your protection at a moment when you feel uncertain — write to Lyra. Or write to us. We'll find a solution.",
      "billing_hint": "Manage your subscription at rebreak.org.",
      "grace_days_one": "expires in {{count}} day",
      "grace_days_other": "expires in {{count}} days",
      "cta_confirm_upgrade": "Let's go",
      "cta_confirm_downgrade": "Got it, continue",
      "cta_stay": "Stay on {{plan}}",
      "action_keep": "stays",
      "action_limited": "will be limited",
      "action_paused": "will be paused",
      "action_grace": "Grace period",
      "action_degraded": "protection ending",
      "action_unlocked": "unlocked"
    }
  },
  "plan_limit": {
    "mail_banner_title": "Mailboxes over plan limit",
    "mail_banner_body_one": "You have {{used}} mailbox, {{plan}} protects {{max}} — {{over}} is paused.",
    "mail_banner_body_other": "You have {{used}} mailboxes, {{plan}} protects {{max}} — {{over}} are paused.",
    "mail_account_paused": "Paused (plan downgrade)",
    "mail_add_disabled_hint": "Remove a mailbox first or upgrade.",
    "blocker_domain_over_limit": "You have {{used}} custom domains, {{plan}} allows {{max}} — all stay active, you can't add new ones until you're under {{max}}.",
    "blocker_add_disabled_hint": "Remove a domain first or upgrade.",
    "blocker_basic_protection": "Basic protection active — full protection against all known gambling sites: Pro/Legend.",
    "device_degraded_title": "Protection expired",
    "device_degraded_body": "The profile is still installed on the device. Remove it manually or get Legend back.",
    "device_add_limit_hint": "All {{max}} device slots are used. Remove a device or upgrade.",
    "device_add_limit_short": "Limit reached"
  },
  "gameOver": {
    "title": "Game over",
    "score": "Score",
    "best": "Best",
    "newBest": "New best",
    "retry": "Play again",
    "exit": "Exit",
    "motivational_0": "You gave yourself a short break. That counts.",
    "motivational_1": "Every minute of focus is a minute for you.",
    "motivational_2": "Training your attention — that's exactly what you just did.",
    "motivational_3": "Well played. And good that you're here.",
    "motivational_4": "Small pauses, big impact.",
    "lyra_title_record": "New record!",
    "lyra_body_record": "You surpassed yourself. Impressive.",
    "lyra_title_good": "Excellent!",
    "lyra_body_good": "You were fully in the zone — the urge had no chance.",
    "lyra_title_ok": "Keep going",
    "lyra_body_ok": "Every round moves you forward. Stay with it.",
    "lyra_title_low": "Next time",
    "lyra_body_low": "Showing up already counts. You've got this.",
    "rating_saved": "Rating saved",
    "save_rating": "Save rating",
    "feedback_placeholder": "What did you like or miss?",
    "share_result": "Share to community",
    "share_to_community": "Share your result",
    "share_challenge": "Can you beat this?",
    "share_loading": "Lyra is writing...",
    "post_to_community": "Post",
    "posted": "Posted to the community feed",
    "post_error": "Posting failed, please try again",
    "regen_suggestion": "New suggestion",
    "regen_confirm_title": "Discard text?",
    "regen_confirm_body": "Discard your current text and fetch a new suggestion?",
    "regen_confirm_ok": "Discard"
  },
  "alert": {
    "error_generic": "Something went wrong — please try again.",
    "error_file_too_large": "The image is too large.",
    "details_label": "Details",
    "compress_error_title": "Could not process image"
  },
  "help": {
    "faq_title": "FAQ",
    "faq_q1": "What is Rebreak?",
    "faq_a1": "Rebreak is a German app that helps people with problematic gambling behaviour stay gambling-free. It combines a technical blocking mechanism with an AI coach (Lyra), community support and email protection — fully GDPR-compliant on German servers.",
    "faq_q2": "How does the blocker work?",
    "faq_a2": "The blocker uses two protection layers. Layer 1 is a device-wide URL filter that blocks around 330,000 gambling domains directly on your iPhone — no traffic leaves your device. Layer 2 is a second line of defence with a curated list of the top gambling sites in your country plus your own custom domains. Disabling protection requires a 24-hour cooldown.",
    "faq_q3": "How does the Mac DNS profile work?",
    "faq_a3": "You download a configuration profile that activates a DNS-over-HTTPS filter on your Mac. Gambling domains are blocked system-wide — in Safari, Chrome, Firefox and all other apps. Removing the profile requires the admin password.",
    "faq_q4": "Can I cancel my subscription?",
    "faq_a4": "Yes. Manage your subscription at rebreak.org/account — cancel, downgrade or upgrade there. Your subscription runs until the end of the paid period.",
    "faq_q5": "What happens to my data?",
    "faq_a5": "Your data is stored exclusively on servers in Germany (Hetzner). We never sell data to third parties. Lyra chat histories remain private. The full privacy policy is at rebreak.org/datenschutz.",
    "faq_q6": "How do I report bugs or give feedback?",
    "faq_a6": "Write to us at hilfe@rebreak.org. We reply within 24–48 hours on business days. For urgent technical issues please use the subject line 'Bug: ...'.",
    "faq_q7": "What if I added a domain by mistake?",
    "faq_a7": "Custom domains are permanent — you cannot remove them yourself. This protects you from impulsive decisions. If you genuinely added one by mistake, write to us at hilfe@rebreak.org and we will correct it manually.",
    "faq_q8": "What is DiGA?",
    "faq_a8": "DiGA stands for Digitale Gesundheitsanwendung (Digital Health Application) — a certification by Germany's Federal Institute for Drugs and Medical Devices (BfArM). DiGA-certified apps can be prescribed by doctors and reimbursed by health insurers. Rebreak is on the DiGA certification path.",
    "faq_q9": "What is Lock Mode?",
    "faq_a9": "Lock Mode is the strongest protection option. ReBreak is installed so that you can no longer delete the app yourself or disable the filter on your own. Ideal for phases when you feel you can't trust yourself and the risk of bypassing is high. Activated through a short configuration step in iPhone Settings.",
    "faq_q10": "How do I know if my iPhone is in Lock Mode?",
    "faq_a10": "Go to Settings → General → About. If it says \"This iPhone is supervised and managed by Rebreak GmbH\" at the top — Lock Mode is active. If nothing is shown there: you're using normal mode (VPN-based).",
    "faq_q11": "How do I activate Lock Mode?",
    "faq_a11": "You need Safari and a few minutes. We'll send you the instructions via push notification — just let Lyra know when you're ready. Important: once activated, only your trustee (or a USB cable + Mac) can unlock it again. That's by design — the protection works because it stands against impulsive self-override.",
    "faq_q12": "How do I deactivate Lock Mode?",
    "faq_a12": "Not from the iPhone alone — that's the design principle. Options: 1) Your trustee has the instructions. 2) Mac + USB cable + Apple Configurator. 3) iPhone Recovery Mode + Factory Reset (all data lost). Before doing that: talk to Lyra. Sometimes a reframe is all it takes.",
    "faq_q13": "What happens if I lose my iPhone or switch to a new one?",
    "faq_a13": "A factory reset or wipe removes Lock Mode along with everything else. On a new iPhone you'll need to set up Lock Mode again. If you lose and then find your device, everything continues as before.",
    "contact_title": "Contact",
    "contact_email_label": "Support by email",
    "contact_email_desc": "Write to us for technical help, feedback or privacy requests. We reply within 24–48 hours on business days.",
    "contact_email_cta": "Send email",
    "contact_address_label": "Address",
    "contact_address_block": "Rebreak\nhilfe@rebreak.org\n\nGermany",
    "about_title": "About Rebreak",
    "about_headline": "Rebreak",
    "about_body": "Rebreak is a German app for gambling addiction — we're building the first DiGA-certified companion for problematic gambling.\n\nOur approach combines technical protection (blocker, mail filter, DNS profiles) with an AI coach based on cognitive behavioural therapy methods. Everything runs on German servers at Hetzner, fully GDPR-compliant.\n\nRebreak is not a substitute for professional therapy. We see ourselves as a complement — a 24/7 tool for moments when you're alone with the urge.",
    "about_fact_diga": "DiGA certification path active",
    "about_fact_servers": "Servers exclusively in Germany (Hetzner)",
    "about_fact_privacy": "GDPR-compliant — no data shared with third parties",
    "crisis_title": "Crisis help",
    "crisis_section_gambling": "Gambling counselling",
    "crisis_section_general": "General crisis support",
    "crisis_bzga_label": "BZgA Gambling Helpline",
    "crisis_bzga_sublabel": "0800 1 372 700 · free · 24/7",
    "crisis_checkdein_label": "check-dein-spiel.de",
    "crisis_checkdein_sublabel": "Online counselling & self-test",
    "crisis_anonyme_label": "Anonyme Spieler",
    "crisis_anonyme_sublabel": "www.anonyme-spieler.org · self-help groups",
    "crisis_seelsorge_label": "Telefonseelsorge",
    "crisis_seelsorge_sublabel": "0800 111 0 111 · free · 24/7",
    "crisis_emergency_label": "Acute suicidal thoughts?",
    "crisis_emergency_desc": "If you or someone nearby is in immediate danger, call emergency services immediately.",
    "crisis_emergency_cta": "112 — Emergency",
    "crisis_disclaimer": "These services are independent of Rebreak. We refer you onward but do not offer counselling ourselves."
  },
  "call": {
    "title": "Call",
    "calling": "Calling…",
    "incoming": "Incoming call",
    "connecting": "Connecting…",
    "declined": "Declined",
    "no_answer": "No answer",
    "failed": "Call failed",
    "ended": "Call ended",
    "decline": "Decline",
    "accept": "Accept",
    "mute": "Mute",
    "unmute": "Unmute",
    "speaker_on": "Speaker",
    "speaker_off": "Earpiece",
    "hang_up": "End",
    "needs_rebuild": "Calls need an app update — available after the next build."
  },
  "presence": {
    "online": "Online",
    "typing": "typing",
    "just_now": "just now",
    "minutes_ago": "%{minutes} min ago",
    "hours_ago": "%{hours} h ago",
    "days_ago": "%{days} d ago"
  },
  "diga_milestone": {
    "badge": "Day %{days} gambling-free",
    "title": "%{days} days without gambling",
    "body": "That's extraordinary — and you help us get ReBreak officially certified as a DiGA (Digital Health Application). We need anonymous demographic data for that. Voluntary, 2 minutes.",
    "cta": "Fill in data",
    "later": "Maybe later"
  },
  "magic": {
    "tagline_mac": "Bind your iPhone & protect your Mac — in 30 seconds.",
    "tagline_windows": "Gambling protection for your Windows PC — set up in 2 minutes.",
    "platform_question": "Which computer do you want to protect?",
    "step1_title": "1. Download the %{app}",
    "step1_body_mac": "Open on your Mac (min. macOS %{version}).",
    "step1_body_windows": "Open on your Windows PC (min. Windows %{version}).",
    "open_download": "Open download",
    "send_link_mac": "Send link to my Mac",
    "send_link_windows": "Send link to my PC",
    "step2_title": "2. Generate pairing code",
    "limit_reached": "Desktop limit reached (%{count}/%{max}).",
    "limit_hint_legend": "Remove a connected computer first.",
    "limit_hint_pro": "Remove a computer first — or upgrade to Legend for 2 desktop devices.",
    "code_explainer": "Generate a 6-digit code and enter it in the %{app}. Valid for 10 minutes, single use.",
    "generating": "Generating…",
    "generate_new": "Generate new code",
    "generate": "Generate code",
    "enter_in_app": "Enter in the %{app}:",
    "expires_in": "Expires in %{time}",
    "copy": "Copy",
    "discard_code": "Discard code",
    "connected_title": "Connected computers",
    "connected_empty": "No computer connected yet. As soon as you redeem a pairing code in the Mac or Windows app, it will appear here.",
    "generate_error": "Failed to generate code",
    "app_mac": "Mac app",
    "app_windows": "Windows app",
    "manual_fallback": "No app? Install the DNS profile manually"
  }
}
