{ "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", "firstName": "First name", "lastName": "Last name", "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" }, "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 clean", "streak_days_other": "days clean", "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 CBT coach", "welcome": "Hi! I'm Lyra, your personal coach. How are you doing today? I'm here to listen and help.", "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." }, "blocker": { "title": "Blocker", "subtitle": "208,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": "Block domain", "add_sheet_label": "Domain", "add_sheet_placeholder": "e.g. bet365.com", "add_sheet_invalid": "Please enter a valid domain (e.g. example.com)", "add_sheet_warning_free": "This domain stays on your list permanently — you cannot remove it later.", "add_sheet_warning_pro": "This domain is permanent. You can release it to the global blocklist — the slot becomes free again and it will protect every ReBreak user.", "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.", "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: 208k+ 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 208,000+ domains + up to 10 custom", "protection_subtitle_pro": "Protected against 208,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", "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 back on", "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.", "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 runs directly in iOS as a content filter. Gambling sites are blocked locally on your device — no traffic leaves your iPhone.", "faq2_q": "How many sites are blocked?", "faq2_a": "Over 208,000 domains from a curated global blocklist — online casinos, sports betting, gambling platforms and related sites. The list is updated regularly.", "faq3_q": "Can I add my own domains?", "faq3_a": "Yes. From the domain list on the blocker page you can add custom domains that get blocked in addition to the global list.", "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.", "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_open_settings": "Open Settings", "app_lock_coming_soon_badge": "Soon", "app_lock_coming_soon_desc": "App lock coming soon — filter protection is already active." }, "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." } }, "settings": { "title": "Settings", "account_section": "Account", "prefs_section": "Preferences", "danger_section": "Danger Zone", "edit_profile": "Edit profile", "devices": "Devices", "devices_desc": "Manage registered devices", "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", "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", "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", "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" }, "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" }, "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", "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", "image_attachment": "Image", "file_attachment": "File", "upload_failed": "Upload failed", "member_count": "%{n} members", "pending_request": "Join requests", "approve": "Approve", "reject": "Reject", "avatar_updated": "Group photo updated", "send": "Send" }, "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!" }, "streak": { "label_one": "day", "label_other": "days", "label_suffix": "clean" }, "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": "STREAK", "streak_days_protected": "days protected", "streak_since": "since {{date}}", "streak_longest": "Longest streak: {{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" } } }, "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": "Protection across up to 3 devices — whichever one you use.", "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", "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 you've installed it, tap \"I've installed it\" — then I'll count the Mac as a protected device.", "download_button": "Download profile to Mac", "confirm_installed": "I've installed it ✓", "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_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." }, "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" }, "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" } }