{
    "errors": {
        "default_api": "An error occurred, please try again."
    },
    "contact": {
        "seo_title": "Contact Support | BotChain",
        "seo_description": "Get in touch with the BotChain team for support or inquiries.",
        "title": "Contact Support",
        "subtitle": "How can we help you today?",
        "form": {
            "name_label": "Full Name",
            "name_placeholder": "John Doe",
            "email_label": "Email Address",
            "email_placeholder": "john@example.com",
            "subject_label": "Subject",
            "subject_placeholder": "How can we help?",
            "message_label": "Message",
            "message_placeholder": "Your message here...",
            "submit_button": "Send Message",
            "sending": "Sending...",
            "success": "Message sent successfully!",
            "success_with_name": "Thank {{name}}. We'll get back to you.",
            "error": "Failed to send message. Please try again.",
            "mailto_cta": "Prefer your own email app?"
        },
        "info": {
            "title": "Other Ways to Connect",
            "desc": "Join our community or check our documentation for quick answers.",
            "telegram": "Telegram Community",
            "email": "Direct Email"
        },
        "status_online": "Status: Online",
        "direct_line": "Direct Line",
        "transmission_received": "Transmission Received",
        "error_detected": "Error Detected",
        "support_inquiry_fallback": "Support Inquiry"
    },
    "common": {
        "na": "N/A",
        "menu": "Open menu",
        "none": "None",
        "loading": "Loading...",
        "initializing": "Initializing Cockpit...",
        "processing": "Processing...",
        "error_occurred": "Error during processing (likely a non-archivable alert).",
        "error": "An error occurred, please try again.",
        "error_loading": "Error loading data.",
        "confirm": "Confirm",
        "cancel": "Cancel",
        "back": "Back",
        "dismiss": "Dismiss",
        "got_it": "Got it",
        "no_data": "No data available",
        "no_results": "No results found",
        "search": "Search records...",
        "clear_search": "Clear search",
        "network": {
            "internet_lost": "Internet lost. Please check your connection.",
            "connection_restored": "Network connection restored.",
            "error_occurred": "An error occurred, please try again."
        },
        "errors": {
            "default": "An error occurred, please try again.",
            "unexpected": "An unexpected error occurred. Please try again later.",
            "invalid_date_range": "Invalid date range.",
            "id_required": "ID is required.",
            "not_found": "Resource not found.",
            "missing_parameters": "Missing required parameters."
        },
        "messages": {
            "success": "Success",
            "deleted": "Deleted"
        },
        "close": "Close",
        "close_sidebar": "Close sidebar",
        "search_stats": "Showing <countSpan>{{count}}</countSpan> of <totalSpan>{{total}}</totalSpan> records",
        "not_found": {
            "title": "Lost in the Blockchain?",
            "desc": "The page you are looking for has not been mined yet or does not exist. Let's get you back to the Botchain.",
            "cta_home": "Back Home",
            "error_code": "ERR_ROUTE_NOT_FOUND",
            "seo_title": "Page Not Found",
            "seo_desc": "The requested BotChain page could not be found."
        },
        "pagination": {
            "showing": "Showing",
            "to": "to",
            "of": "of",
            "page": "Page",
            "first": "First page",
            "prev": "Previous page",
            "next": "Next page",
            "last": "Last page"
        },
        "used": "used",
        "unknown": "Unknown",
        "loading_screen": {
            "loading_alt": "BotChain Loading",
            "initializing": "Initializing System"
        }
    },
    "nav": {
        "home": "Home",
        "overview": "Overview",
        "my_bots": "My Bots",
        "strategies": "Strategies",
        "analytics": "Analytics",
        "settings": "Settings",
        "sign_out": "Sign Out",
        "pricing": "Pricing",
        "strategy": "Strategy",
        "website": "Website",
        "docs": "Docs",
        "launch": "Launch Bot",
        "dashboard": "Dashboard",
        "logout": "Logout",
        "language": "Language",
        "contact": "Contact",
        "sign_out_mobile": "Sign Out"
    },
    "auth": {
        "errors": {
            "password_mismatch": "Both passwords do not match.",
            "incorrect_password": "Incorrect password.",
            "email_not_found": "Email not registered, please create an account.",
            "email_exists": "This new email is already registered.",
            "email_already_verified": "Email already verified.",
            "code_expired": "Code expired, please request a new one.",
            "incorrect_code": "Incorrect code."
        },
        "login": {
            "seo_title": "Login",
            "seo_description": "Sign in to your BotChain account.",
            "title": "Welcome Back",
            "subtitle": "Where Traders and Bots Converge",
            "email_label": "Email Address",
            "email_placeholder": "name@example.com",
            "password_label": "Password",
            "password_placeholder": "••••••••",
            "forgot_password": "Forgot password?",
            "submit_button": "Sign In",
            "no_account": "Don't have an account?",
            "create_account": "Create one"
        },
        "forgot_password": {
            "seo_title": "Forgot Password",
            "seo_description": "Recover your BotChain account password.",
            "title": "Recover Password",
            "subtitle": "Enter your email to receive a new password",
            "email_label": "Email Address",
            "email_placeholder": "name@example.com",
            "submit_button": "Recover",
            "success_message": "Recovery password has been sent by email. Please check your inbox.",
            "back_to_login": "Back to Login"
        },
        "register": {
            "seo_title": "Create Account",
            "seo_desc": "Create a BotChain account to deploy crypto trading bots.",
            "title": "Create Account",
            "subtitle": "Start automating your crypto trading",
            "name_label": "Full Name",
            "name_placeholder": "John Doe",
            "email_label": "Email Address",
            "email_placeholder": "name@example.com",
            "password_label": "Password",
            "password_placeholder": "••••••••",
            "confirm_password_label": "Confirm Password",
            "agree_disclaimer": "By creating an account, I agree to the <terms>Terms of Service</terms> and <privacy>Privacy Policy</privacy>.",
            "submit_button": "Create Account",
            "already_have_account": "Already have an account?",
            "sign_in": "Sign In"
        },
        "verification": {
            "seo_title_required": "Authentication Required",
            "seo_desc_required": "Sign in to verify your BotChain account.",
            "title_required": "Authentication Required",
            "return_to_login": "Return to Login",
            "seo_title_verify": "Verify Email",
            "seo_desc_verify": "Verify your email address to access BotChain.",
            "title_check_inbox": "Check your inbox",
            "subtitle_sent_code": "We've sent a verification code to <email>{{email}}</email>",
            "code_label": "Verification Code",
            "code_placeholder": "123456",
            "submit_button": "Verify Email",
            "no_code": "Didn't receive the code?",
            "resending": "Sending...",
            "resend_cta": "Click to resend",
            "session_expired": "Session expired. Please login again.",
            "success": "Email verified successfully!",
            "code_sent": "Verification code sent to your email."
        }
    },
    "exchange": {
        "connected": "Exchange Connected",
        "not_linked": "Exchange Not Linked"
    },
    "dashboard": {
        "overview": {
            "title": "Live Cockpit",
            "description": "Real-time operational command center. Monitoring <countSpan>{{count}} active bots</countSpan> and current market exposure.",
            "server_time": "Server Time",
            "utc": "UTC",
            "launch_bot": "Launch A Bot",
            "metrics": {
                "active_sessions": "Active Sessions",
                "open_trades": "{{count}} Open Trades",
                "realized_profit": "Realized Profit",
                "fees": "Fees: {{amount}}",
                "todays_result": "Today's Result",
                "performance_24h": "24h Performance",
                "unrealized_pl": "Unrealized P/L",
                "open_positions": "Open positions"
            },
            "widgets": {
                "portfolio_exposure": {
                    "title": "Live Exposure",
                    "invested_principal": "Invested Principal",
                    "invested_principal_formula": "Total deployed funds",
                    "net_equity": "Net Equity",
                    "net_equity_formula": "Principal + Unrealized P/L",
                    "unrealized_pl": "Unrealized P/L",
                    "deployed": "{{pct}}% Deployed",
                    "total_available": "Total Available",
                    "assets_allocation": "Assets Allocation",
                    "allocation_label": "Allocation",
                    "no_data": "No allocation data",
                    "exposure_label": "Exposure",
                    "assets_count_one": "{{count}} Asset",
                    "assets_count_other": "{{count}} Assets",
                    "assets_count": "Assets Count"
                },
                "tax_summary": {
                    "title": "Tax Report",
                    "loading": "Loading {{year}} data...",
                    "no_data": "No data available",
                    "realized_profit": "Realized Profit",
                    "trades_summary": "From {{sellCount}} completed sell trades • {{totalCount}} total orders",
                    "exchange_fees": "Exchange Fees",
                    "fees_desc": "Total exchange commissions paid in {{year}}",
                    "tax_report_title": "Tax Summary",
                    "net_taxable_profit": "Net Taxable Profit",
                    "net_taxable_desc": "Realized Profit - Fees",
                    "total_pl": "Total P/L",
                    "total_pl_desc": "Realized + Unrealized - Fees",
                    "unrealized_breakdown": "↳ Unrealized (Open Positions)",
                    "total_volume": "Total Volume",
                    "prev_year": "Previous year",
                    "next_year": "Next year"
                },
                "system_health": {
                    "title": "System Notices",
                    "types": {
                        "error": "Error",
                        "warning": "Warning",
                        "mismatch": "Data Mismatch",
                        "log": "Security Log",
                        "optimizer": "Optimizer update",
                        "optimizer_active": "Strategy updated",
                        "optimizer_waiting": "Optimizer waiting safely",
                        "optimizer_attention": "Optimizer needs attention"
                    },
                    "archive": {
                        "title": "Archive Notice",
                        "subtitle": "Remove from dashboard visibility",
                        "message": "Are you sure you want to archive this {{type}} for {{bot}}? This action is permanent and helpful for keeping your cockpit clean once a situation is understood.",
                        "confirm_btn": "Archive",
                        "hint": "Click on any notice to archive it.",
                        "success": "Notice for {{bot}} archived successfully.",
                        "all_cleared": "All notices have been cleared successfully."
                    },
                    "review_optimizer": "Review this optimizer deployment",
                    "archive_notice": "Archive notice for {{bot}}",
                    "clear_all": "Clear All"
                },
                "live_feed": {
                    "title": "Live Feed",
                    "latest_trades": "Latest Trades",
                    "no_activity": "No recent activity",
                    "empty_desc": "Trades will appear here as they execute"
                }
            }
        },
        "alerts": {
            "no_alerts": "All Systems Clear",
            "no_alerts_desc": "No active notices or system alerts at this time.",
            "qty_mismatch": "Quantity mismatch detected between Bot and Exchange",
            "security_login": "Login detected from {{location}} ({{ip}})",
            "security_password_update": "Update Password detected from {{location}} ({{ip}})"
        },
        "session": {
            "index": "Session #{{index}}",
            "status": {
                "live": "Live",
                "open": "OPEN"
            },
            "summary": {
                "started": "Started",
                "closed": "Closed"
            },
            "metrics": {
                "volume": "Volume",
                "volume_short": "Vol",
                "trades": "Trades",
                "floating": "Floating",
                "profit": "Profit",
                "profit_short": "PnL",
                "floating_pl": "Floating PnL",
                "realized_profit": "Realized PnL"
            },
            "details": {
                "quantity_label": "Quantity",
                "fees_label": "Exchange Fees",
                "empty": "No executed trades in this session."
            },
            "strategy": {
                "cover": "Cover {{index}}",
                "session": "Session"
            },
            "export": {
                "csv": "CSV",
                "pdf": "PDF",
                "pdf_report_title": "Trading Session #{{index}} Report",
                "pdf_bot_asset": "Bot Asset",
                "pdf_generated": "Generated",
                "pdf_profit": "Session Profit",
                "pdf_volume": "Total Volume"
            },
            "table": {
                "cols": {
                    "id": "ID",
                    "side": "Side",
                    "date_time": "Date & Time",
                    "price": "Price",
                    "qty": "Qty",
                    "amount": "Amount",
                    "profit": "Profit",
                    "info": "Info",
                    "trade_info": "Trade Info",
                    "fee_label": "Fee",
                    "time": "Time",
                    "trade": "Trade",
                    "profit_short": "PnL"
                },
                "tooltips": {
                    "platform_fee": "Platform Fee",
                    "gross_profit": "Gross: {{amount}}"
                }
            }
        },
        "risk": {
            "title": "Risk Analysis",
            "level": "Risk: {{level}}",
            "emergency_stop": {
                "section_label": "Emergency Controls",
                "title": "Emergency Stop",
                "desc": "Immediately deactivate all running bots and sell all active positions at market price. You cannot retrieve the positions once sold.",
                "button": "ACTIVATE EMERGENCY STOP",
                "confirm": "ARE YOU SURE? ALL BOTS WILL BE STOPPED AND OPEN POSITIONS SOLD.",
                "confirm_btn": "Confirm Emergency Stop (Sell All)",
                "success": "Emergency stop triggered successfully",
                "modal_title": "Emergency Stop Settings",
                "modal_subtitle": "{{count}} active bots will be stopped",
                "warning_sell_title": "Sell All Open Positions",
                "warning_sell_desc": "This action will pause all active bots immediately and sell all open positions at market price. You cannot retrieve the positions once sold.",
                "loading_positions": "Loading position details...",
                "aggregated_position": "Aggregated Positions",
                "sell_subtitle": "Realize <diffSpan>{{diff}}</diffSpan> {{type}}",
                "warning_sell_single_desc": "This action will pause this specific bot immediately and sell all its open positions at market price. You cannot retrieve the positions once sold."
            },
            "metrics": {
                "unrealized_pl": "Unrealized P/L",
                "total_pl": "Total P/L",
                "avg_hold_time": "Avg Hold Time",
                "avg_profit_trade": "Avg Profit / Trade",
                "best_trade": "Best Trade",
                "active_capital": "Active Capital",
                "bot_concentration": "Bot Concentration",
                "grid_depth": "Grid Depth (Active)",
                "reserved_capital": "Reserved Capital (Forward Risk)",
                "distance_next_cover": "Distance to Next Cover"
            },
            "explanations": {
                "unrealized_pl": {
                    "title": "Unrealized P/L",
                    "text": "Real-time profit or loss on all open positions. Computed from live market prices vs. average entry price for each active bot."
                },
                "total_pl": {
                    "title": "Total P/L",
                    "text": "Realized profits (from closed sell trades) + Unrealized P/L (live position value). This is your true account performance at this moment."
                },
                "avg_hold_time": {
                    "title": "Avg Holding Time",
                    "text": "Average duration from buy order fill to corresponding sell. Measured from closed buy trades. Shorter times = higher capital turnover efficiency."
                },
                "avg_profit_trade": {
                    "title": "Avg Profit / Trade",
                    "text": "Mean profit per completed sell trade. Computed from all closed sell trades and their profit_user values. Represents grid strategy efficiency."
                },
                "active_capital": {
                    "title": "Active Capital",
                    "text": "Percentage of total allocated capital currently deployed in open positions. In grid/DCA strategy, high values indicate deep market drawdown with most covers filled - a risk signal, not efficiency."
                },
                "best_trade": {
                    "title": "Best Trade",
                    "text": "Highest realized profit achieved in a single sell trade. Represents the peak performance of your strategy."
                },
                "concentration": {
                    "title": "Bot Concentration",
                    "text": "How much of your total allocated capital is in your single largest bot. High concentration = portfolio risk is heavily tied to one asset."
                },
                "grid_depth": {
                    "title": "Grid Depth",
                    "text": "Average % of covers filled across active bots. Only counts distinct open buy trades with valid cover indices. High depth = market has dropped significantly."
                },
                "reserved_capital": {
                    "title": "Reserved Capital",
                    "text": "Capital reserved for unfilled grid covers. Shows how much more would deploy if the market keeps dropping, based on strategy configuration. A percentage greater than 100% means you will have to deploy more capital than you have allocated to buy all the covers."
                },
                "cover_gap": {
                    "title": "Next Cover Distance",
                    "text": "Average cover percentage of the next unfilled cover across active bots. This is the strategy-defined % drop needed to trigger the next buy."
                }
            },
            "helpers": {
                "based_on_sells": "Based on {{count}} sells",
                "no_completed_trades": "No completed trades yet",
                "deep_market_exposure": "Deep market exposure",
                "moderate_exposure": "Moderate exposure",
                "healthy_reserve": "Healthy reserve",
                "in_largest_bot": "{{pct}} in largest bot",
                "covers_triggered": "{{pct}} covers triggered",
                "lightly_invested": "Lightly invested",
                "moderately_deep": "Moderately deep",
                "heavily_invested": "Heavily invested",
                "reserved_for_covers": "{{pct}} reserved for unfilled covers",
                "covers_remaining": "{{count}} covers remaining",
                "drop_to_trigger": "{{pct}} drop to trigger",
                "no_active_positions": "No active positions",
                "next_buy_close": "⚠ Next buy trigger is very close",
                "strategy_defined_drop": "Strategy-defined % drop required to trigger next buy"
            },
            "warning": "RISK WARNING: Trading crypto-assets involves a high degree of risk and can result in the loss of your invested capital. Past performance is not indicative of future results. Please ensure you fully understand the risks involved before trading."
        },
        "prognosis": {
            "index_title": "Fear & Greed Index",
            "unable_to_load": "Unable to load Fear & Greed Index",
            "live_data": "Live Data",
            "updated": "Updated: {{time}}",
            "what_is_it": {
                "title": "What is the Fear & Greed Index?",
                "text_1": "The Fear & Greed Index analyzes emotions and sentiments from different sources to produce a score between <fear>0 (Extreme Fear)</fear> and <greed>100 (Extreme Greed)</greed>.",
                "text_2": "Lower values indicate fear in the market (potential buying opportunity), while higher values indicate greed (potential caution zone). The index considers volatility, market momentum, social media sentiment, surveys, Bitcoin dominance, and Google search trends."
            },
            "sentiments": {
                "extreme_fear": "Extreme Fear",
                "fear": "Fear",
                "neutral": "Neutral",
                "greed": "Greed",
                "extreme_greed": "Extreme Greed"
            }
        },
        "bots": {
            "bot_card": {
                "running": "Running",
                "paused": "Paused",
                "warning": "Warning",
                "error": "Error",
                "delete": "Delete Bot",
                "view_details": "View Details",
                "pause_bot": "Pause bot",
                "start_bot": "Start bot",
                "funds": "Funds",
                "balance": "Balance",
                "quantity": "Quantity",
                "avg_price": "Avg Price",
                "avg_price_original": "Original Price:",
                "avg_price_reduced": "Reduced Price",
                "total_profit": "Total Profit",
                "created_at": "Created on {{date}}",
                "compound": "Compound",
                "reinvesting_profits": "Reinvesting profits",
                "profits_isolated": "Profits isolated",
                "profit_reinjected": "Profit Reinjected",
                "archived": "Archived"
            },
            "delete_modal": {
                "title": "Delete Bot",
                "warning_permanent": "This action is permanent",
                "warning_desc": "This bot will be <archived>archived</archived> and <cannotRestore>cannot be restored or reactivated</cannotRestore>. Archived bots remain visible for historical consultation only.",
                "loading_positions": "Loading position data…",
                "current_position": "Current Position",
                "quantity_held": "Quantity Held",
                "none": "None",
                "invested_amount": "Invested Amount",
                "open_trades": "Open Trades",
                "avg_entry_price": "Avg Entry Price",
                "pending_profit": "Pending Profit if Sold Now",
                "pending_loss": "Pending Loss if Sold Now",
                "what_happens_next": "What Happens Next",
                "step_1": "The bot will be <deactivated>immediately deactivated</deactivated> and stop trading.",
                "step_2": "All trade history and session data are <preserved>permanently preserved</preserved> for consultation.",
                "step_3": "The archived bot <cannotRestore>cannot be restored or reactivated</cannotRestore>.",
                "delete_sell_title": "Delete & Sell All Positions",
                "delete_sell_subtitle": "Market sell {{qty}} {{currency}} • <diffSpan>{{diff}}</diffSpan> estimated {{type}}",
                "profit": "profit",
                "loss": "loss",
                "delete_no_sell_title": "Delete Without Selling",
                "delete_no_sell_subtitle": "Keep {{qty}} {{currency}} in your exchange wallet",
                "tax_disclaimer": "This bot will no longer be tracked. The current unrealized profit/loss will be snapshotted and used for tax reporting, even if its value varies later on the exchange. This limits Botchain tracking only to actively managed currencies.",
                "no_positions_desc": "No open positions - archive this bot directly",
                "cancel_keep": "Cancel - Keep Bot Active"
            },
            "details": {
                "close_price": "Close Price",
                "bot_buys": "Bot Buys",
                "bot_sells": "Bot Sells",
                "avg_price": "AVG",
                "actions_paused_desc": "Targets appear when the bot has open positions",
                "bot_not_running": "Bot is not running",
                "waiting_for_position": "Waiting for an open position",
                "created": "Created {{date}}",
                "loading": "Loading bot details...",
                "not_found": "Bot not found",
                "running": "Running",
                "paused": "Paused",
                "configuration": "Configuration",
                "pause_bot": "Pause Bot",
                "start_bot": "Start Bot",
                "sell_all": "Sell All",
                "total_profit": "Total Profit",
                "invested": "Invested",
                "sessions": "Sessions",
                "uptime": "Uptime",
                "capital": "Capital",
                "break_even": "Avg Price Reduced",
                "active_entry": "Active Price",
                "scalp_reduction": "Scalp Reduction",
                "live_tracking": "Live Tracking",
                "break_even_info": "Avg price is the break-even point of the session (no profit/loss).",
                "price_saved": "Value Saved",
                "available": "Available",
                "in_positions": "In positions",
                "next_actions": "Next Bot Actions",
                "session_sell": "Session TP",
                "scalp_sell": "Scalp TP",
                "no_active_positions": "No active positions",
                "since_creation": "Since creation",
                "no_profit_data": "No profit data yet",
                "no_profit_desc": "Complete some trades to see your performance",
                "recent_activity": "Recent Activity",
                "no_recent_activity": "No recent activity",
                "trades_appear_here": "Trades will appear here",
                "status_success": "Bot {{status}} successfully",
                "started": "started",
                "paused_msg": "paused",
                "status_error": "Failed to update bot status",
                "sell_all_success_msg": "Sell All initiated successfully. Stopping bot...",
                "sell_all_error": "Failed to initiate Sell All",
                "market_chart": "Trades Chart",
                "fetching_data": "Synchronizing exchange data...",
                "no_chart_data": "No market data found",
                "try_diff_dates": "Try expanding the date span or selecting a different timeline scale.",
                "reset_7_days": "Reset to Last 7 Days",
                "invalid_dates": "Start date must be before end date",
                "chart_fetch_error": "Failed to fetch chart data",
                "autonomous_grid": "Autonomous Grid",
                "buy_order": "BUY ORDER",
                "sell_order": "SELL ORDER",
                "price": "Price",
                "quantity": "Quantity",
                "cover": "Cover",
                "profit": "Profit",
                "market_price": "Market Price:",
                "history": {
                    "title": "Trading History",
                    "title_combined": "Trading History",
                    "desc_combined": "Historical breakdown of recent executions and trading sessions.",
                    "desc": "Detailed breakdown of bot sessions",
                    "error": "Could not load trading history.",
                    "no_history": "No trading history",
                    "no_history_desc": "No trading history available yet."
                },
                "capital_deployed": "{{percent}} deployed",
                "all_time_profit": "Cumulative realized net return",
                "equity": "Live equity",
                "capital_deployment": "Capital deployment",
                "available_cash": "Reserve cash",
                "cumulative_curve": "Cumulative profit curve",
                "current_position": "Current Position",
                "open_trades_count": "{{count}} open trades",
                "distance_to_target": "Distance to break-even",
                "trading_activity_desc": "Executed orders for this bot",
                "session_state": "Session State",
                "session_mode": "{{mode}} mode",
                "action_distance_desc": "Distance from live market price",
                "next_buy_helper": "Next cover",
                "session_target": "Full session",
                "scalp_target": "Independent scalp",
                "pullback_awaited": "Pullback awaited",
                "retracement_awaited": "Profit retracement awaited",
                "sell_only_helper": "Buys disabled",
                "no_next_cover": "Max cover reached",
                "risk_guard": {
                    "title": "Crash Protection",
                    "buying_paused": "Buying paused — crash protection active",
                    "crash_detected_shadow": "Crash detected — monitoring mode",
                    "crash_detected_off": "Crash detected — protection is off",
                    "desc_on": "Pauses new buy orders during flash crashes. Sells and take-profits always continue. Buying resumes automatically once the market stabilizes.",
                    "desc_off": "Off — the bot keeps buying through crashes exactly as configured.",
                    "trip_details": "{{symbol}} dropped {{drop}}% in {{minutes}} min (safety threshold: {{threshold}}%).",
                    "explain_blocked": "New grid buys (covers) are on hold even when their target drop is reached. Sell and take-profit orders keep working normally.",
                    "explain_resume": "Buying resumes automatically once the market stays calm (~{{minutes}} min).",
                    "explain_shadow": "The crash was detected but no orders are blocked: protection is calibrating in monitoring mode. The bot trades exactly as configured.",
                    "explain_disabled": "Protection is disabled for this bot: it keeps buying into the drop exactly as configured.",
                    "state_on": "Protected",
                    "state_off": "Unprotected",
                    "paused": "Paused",
                    "paused_helper": "Crash protection — resumes automatically",
                    "toggle_on_success": "Crash protection enabled",
                    "toggle_off_success": "Crash protection disabled — the bot will buy through crashes",
                    "toggle_error": "Failed to update crash protection"
                },
                "optimizer_fetch_error": "Failed to load optimizer data",
                "win_rate": "Win Rate",
                "high": "High",
                "low": "Low",
                "buys": "Buys",
                "sells": "Sells",
                "grid": "Grid",
                "avg": "AVG",
                "drag_to_scale": "Drag to scale / Double-click to reset",
                "drag_to_pan": "Drag to move chart vertically",
                "execution_inspector": "Execution Inspector",
                "latest_trade": "Latest Trade",
                "no_execution_selected": "No execution selected",
                "select_marker": "Select a buy or sell marker to inspect the fill.",
                "cover_grid": "Cover Grid",
                "range_context": "Range Context",
                "provider": "Provider",
                "interval": "Interval",
                "candles": "Candles",
                "visible_fills": "Visible fills",
                "data_start": "Data start",
                "data_end": "Data end",
                "market": "Market",
                "range": "Range",
                "close": "Close",
                "reset_view": "Reset view",
                "update": "Update",
                "fills": "Fills",
                "realized_pl": "Realized P&L",
                "trade_volume": "Trade Volume",
                "no_grid_data": "No grid data",
                "archived": "Archived",
                "avg_reduced": "AVG Reduced",
                "change": "Change",
                "chart_fetch_error_copy": "The market data provider did not return data for this selection.",
                "chart_fetch_error_title": "Chart unavailable",
                "market_candle": "MARKET CANDLE",
                "market_ohlc": "Market OHLC",
                "optimizer_action_error": "Failed to apply recommendation",
                "optimizer_manual_only_warning": "Recommendations are available for manual review, but none currently qualify for automatic deployment.",
                "optimizer_no_run_warning": "No recent successful optimization run was found. Run a fresh study before relying on these parameters.",
                "optimizer_run_error": "Failed to start optimization run",
                "optimizer_stale_days_warning": "Optimizer Stale Days Warning",
                "optimizer_stale_warning_title": "Optimizer output may be stale",
                "quantity_mismatch": "Quantity mismatch",
                "readonly_history": "Read-only history",
                "selected_buy": "Selected buy",
                "selected_sell": "Selected sell",
                "selected_trade": "Selected Trade",
                "session": "Session",
                "session_sell_order": "SESSION SELL",
                "type": "Type",
                "volume": "Volume",
                "optimizer_rate_limited": "Optimization request limit reached. Please wait before requesting again.",
                "back_to_bots": "Back to bots",
                "try_again": "Try again",
                "load_failed": "Bot details are unavailable",
                "load_failed_desc": "The latest bot state could not be loaded. Check the connection and try again.",
                "status_error_label": "Error",
                "status_protected_pause": "Buys protected",
                "status_attention": "Needs attention",
                "updating_status": "Updating…",
                "archived_desc": "This bot is archived. Monitoring data is preserved, but operational controls are unavailable.",
                "execution_error": "Bot execution requires attention",
                "execution_error_desc": "The bot reported an execution error. Review its configuration and exchange connection before restarting it.",
                "quantity_mismatch_desc": "BotChain and the exchange report different position quantities. Avoid manual orders until the position is reconciled.",
                "bot_warning": "Bot warning",
                "bot_warning_desc": "Some bot operations may be delayed. Review recent activity and exchange connectivity.",
                "refresh_delayed": "Live refresh delayed",
                "refresh_delayed_desc": "The last confirmed bot state remains visible while BotChain reconnects.",
                "exchange_data_partial": "Exchange position data unavailable",
                "exchange_data_partial_desc": "Core bot data is available, but live position P&L may be incomplete.",
                "attention": "Attention",
                "last_update": "Updated {{time}}",
                "performance": "Performance",
                "performance_since_start": "Capital performance since launch",
                "allocated_capital": "Allocated",
                "estimated_value": "Est. bot value",
                "performance_chart_accessible": "Cumulative realized profit chart",
                "buy_sell_split": "Buy / sell",
                "position_open": "Position open",
                "scanning_market": "Scanning market",
                "session_paused": "Session paused",
                "session_number": "Session {{number}}",
                "current_session": "Current session",
                "live": "Live",
                "next_cover": "Next cover",
                "average_entry": "Average entry",
                "position_size": "Position size",
                "scalp_available": "Scalp target also active",
                "next_scalp_trigger": "Scalp TP: {{price}}",
                "next_scalp_pct": "Scalp TP: {{pct}}",
                "scalp_tp_distance": "Scalp TP: {{pct}}",
                "target_price": "Target: {{price}}",
                "price_range": "Session price range",
                "to_target": "to target",
                "tooltip_unrealized_pl": "Floating profit or loss on open positions based on live market price.",
                "tooltip_today_profit": "Net realized profit generated from trades closed today.",
                "tooltip_allocated_capital": "Total capital assigned to this bot for its DCA and scalp strategy.",
                "tooltip_estimated_value": "Estimated total bot equity combining free balance and open position value.",
                "tooltip_position_size": "Total quantity of base asset currently held in this session.",
                "tooltip_in_positions": "Current market value of all base asset held in open session orders.",
                "tooltip_distance_from_breakeven": "Percentage price move required to reach the average entry price.",
                "tooltip_current_cover": "Highest DCA cover level reached in the current trading session.",
                "tooltip_total_trades": "Total count of executed buy and sell orders since launch.",
                "tooltip_buy_sell_split": "Breakdown of completed buy orders versus completed sell orders.",
                "cover_number": "Cover C{{number}}",
                "running_strategy": "Active strategy",
                "strategy_grid_title": "Strategy & execution targets",
                "strategy_grid_desc": "Automated take-profit targets, trailing pullbacks, and safety grid parameters governing active orders.",
                "edit_strategy_action": "Edit strategy",
                "pillar_session_dca": "Session DCA",
                "pillar_session_dca_desc": "Position exit",
                "pillar_scalp_engine": "Scalp engine",
                "pillar_scalp_engine_desc": "Grid bounces",
                "pillar_order_allocation": "Order allocation",
                "pillar_order_allocation_desc": "Capital sizing",
                "tooltip_session_tp": "Price increase above average entry required to trigger take-profit for the full position.",
                "tooltip_session_retracement": "Trailing pullback from the peak price required to execute the session take-profit exit.",
                "tooltip_scalp_tp": "Profit target percentage required to close individual scalping orders on price bounces.",
                "tooltip_scalp_retracement": "Trailing pullback percentage required before locking in scalping order profits.",
                "tooltip_initial_order": "Percentage of session capital deployed into the initial market entry order.",
                "tooltip_grid_capacity": "Total capital and number of configured levels reserved for DCA safety covers.",
                "tooltip_compounding_active": "Profits are automatically reinvested into capital for subsequent sessions.",
                "tooltip_compounding_isolated": "Profits remain isolated and are not reinvested into new sessions.",
                "tooltip_session_mode_cycle": "Continuous mode: automatically starts a new session upon completion.",
                "tooltip_session_mode_single": "Single run: pauses the bot after the current session completes.",
                "cover_triggered": "Triggered",
                "cover_current": "Current",
                "cover_next": "Next",
                "cover_queued": "Queued",
                "cover_levels": "{{count}} levels",
                "cover_reached": "{{count}} reached",
                "cover_up_next": "C{{number}} up next",
                "drop": "Price drop",
                "order_size": "Order size",
                "pullback": "Pullback",
                "behavior": "Behavior",
                "keep_profit": "Keep {{percent}}% profit",
                "show_relevant_covers": "Show relevant levels",
                "show_all_covers": "Show all {{count}} levels",
                "session_tp": "DCA target",
                "session_retracement": "DCA retracement",
                "scalp_tp": "Scalp target",
                "scalp_retracement": "Scalp retracement",
                "initial_allocation": "Initial order",
                "grid_allocation": "Cover capacity",
                "take_profit": "Take profit",
                "optimizer_automatic": "Automatic",
                "optimizer_observe": "Observe",
                "optimizer_manual": "Manual",
                "optimizer_eyebrow": "Strategy intelligence",
                "optimizer_title": "Optimizer recommendations",
                "optimizer_desc": "Compare the running strategy with AI generated recommendations when you need them.",
                "activity_eyebrow": "Audit trail",
                "trade_count_short": "{{count}} trades",
                "distance_from_breakeven": "Break-even",
                "all_bots": "Bots",
                "covers": "Covers",
                "collapse_grid": "Collapse cover grid",
                "edit_basics": "Edit bot basics",
                "edit_strategy_covers": "Edit strategy & covers",
                "expand_grid": "Expand cover grid",
                "active": "active"
            },
            "title": "My Bots",
            "description": "Manage and monitor your automated strategies.",
            "resume_all": "Resume All",
            "pause_all": "Pause All",
            "deploy_new_bot": "Deploy New Bot",
            "empty_state": {
                "title": "No bots deployed yet",
                "desc": "Start your automated trading journey by creating your first bot strategy.",
                "action": "Create your first bot"
            },
            "bulk_resume_modal": {
                "title": "Resume All Bots?",
                "message": "Are you sure you want to resume all paused bots? Trading will start immediately according to strategy parameters."
            },
            "bulk_pause_modal": {
                "title": "Pause All Bots?",
                "message": "Are you sure you want to pause all active bots? This involves stopping trading activities immediately."
            },
            "snackbars": {
                "bot_started": "Bot started successfully",
                "bot_paused": "Bot paused successfully",
                "bot_update_failed": "Failed to update bot status",
                "bulk_action_success": "All bots {{action}} successfully",
                "bulk_action_no_change": "No bots required any changes.",
                "bulk_action_failed": "Bulk action failed",
                "delete_selling": "Bot deletion initiated - selling open positions and archiving.",
                "delete_success": "Bot archived successfully without selling positions.",
                "delete_failed": "Failed to delete bot. Please try again.",
                "paused": "paused",
                "resumed": "resumed"
            },
            "errors": {
                "no_bot_found": "No bot found.",
                "symbol_not_found": "Symbol {{symbol}} not found on the selected exchange.",
                "missing_currency_data": "Missing currency data.",
                "pair_unavailable_exchange": "Pair {{symbol}} is not available on {{provider}}.",
                "pair_restricted_plan": "Pair {{symbol}} is restricted by your subscription plan.",
                "verify_availability_failed": "Could not verify pair availability.",
                "permission_denied": "Permission denied: this bot is not yours.",
                "settings_not_found": "Basics Error: No settings found for bot {{bot_id}}."
            },
            "messages": {
                "delete_initiated": "Bot {{bot_id}} deletion initiated. Selling open positions and archiving.",
                "archived_no_sell": "Bot {{bot_id}} has been archived without selling open positions.",
                "sell_all_triggered": "Bot {{bot_id}} stopped. Sell process triggered."
            },
            "emergency": {
                "errors": {
                    "fetch_failed": "Failed to fetch panic info.",
                    "sell_trigger_failed": "Failed to trigger sell process. Please try again.",
                    "activate_failed": "Failed to activate emergency stop."
                },
                "messages": {
                    "activated_one": "Emergency stop activated. 1 bot has been paused and sell orders initiated.",
                    "activated_other": "Emergency stop activated. {{count}} bots have been paused and sell orders initiated."
                }
            },
            "filter_active": "Active",
            "filter_archived": "Archived",
            "migration": {
                "action_btn": "Migrate exchange",
                "title": "Migrate to another exchange",
                "currently_on": "currently on {{exchange}}",
                "transfer_first": "Transfer this bot's funds ({{stablecoin}} balance and any open {{currency}} position) to the target exchange BEFORE migrating. The checks below verify the funds have arrived.",
                "select_target": "Target exchange",
                "no_targets": "No other exchange is connected. Add one in Settings → Exchange first.",
                "checks_title": "Safety checks",
                "rerun_checks": "Re-run",
                "confirm_btn": "Confirm migration",
                "confirm_subtitle": "The bot stays paused; restart it after migrating",
                "confirm_with_warnings": "All blocking checks passed — review the warnings above",
                "confirm_blocked": "All checks must pass before migrating",
                "success": "Bot migrated. Review the checks, then restart it when ready.",
                "detail_funds": "{{available}} available / {{required}} required {{asset}}",
                "detail_dust": "{{dust}} will remain as unsellable dust on the source exchange",
                "detail_unsellable": "{{count}} open trade(s) would be too small to sell on the target",
                "detail_min_notional": "{{count}} trade(s) below the target's minimum order value — they will only close via a session sell",
                "detail_inflight": "Wait a minute for pending operations to settle, then re-run the checks",
                "checks": {
                    "target_distinct": "Target differs from current exchange",
                    "bot_paused": "Bot is paused",
                    "no_inflight_activity": "No in-flight orders",
                    "pair_available": "Trading pair available on target",
                    "credentials_valid": "Target API credentials valid",
                    "stablecoin_funds": "Stablecoin funds present on target",
                    "base_asset_quantity": "Open position inventory present on target",
                    "precision_compat": "Open trades compatible with target precision",
                    "min_notional": "Individual trades above target minimum order size"
                },
                "errors": {
                    "load_exchanges": "Could not load your connected exchanges",
                    "preflight_error": "Migration checks failed to run",
                    "preflight_failed": "A safety check failed — migration was not performed",
                    "migrate_error": "Migration failed — nothing was changed"
                }
            }
        },
        "strategies": {
            "tabs": {
                "templates": "Templates",
                "learn": "Learning Center"
            },
            "title": "Strategy Hub",
            "description": "Understand the logic behind BotChain's automated trading systems. Choose a pre-configured template or customize your own approach.",
            "risk_disclosure": {
                "title": "Important Risk Disclosure",
                "desc": "Crypto-asset trading involves a high degree of risk and is volatile. Past performance is not indicative of future results. BotChain provides an <layer>automated execution layer</layer> and does not offer financial advice. You remain solely responsible for your investment decisions and the configuration of your strategies. Ensure you understand the risks before trading."
            },
            "architecture": {
                "title": "Non-Custodial Architecture",
                "subtitle": "How BotChain interacts with your funds",
                "zero_withdrawal": {
                    "title": "Zero Withdrawal Rights",
                    "desc": "Your API keys are encrypted and strictly limited to <readOnly>\"Read-Only\"</readOnly> and <enableSpot>\"Enable Spot & Margin Trading\"</enableSpot>. BotChain <cannotWithdraw>cannot withdraw</cannotWithdraw> your funds under any circumstances."
                },
                "execution_layer": {
                    "title": "Execution Layer Only",
                    "desc": "BotChain acts as a technical bridge, sending buy/sell orders to your connected exchange on your behalf based on <rules>your predefined rules</rules>. Your assets always remain in your exchange wallet."
                }
            },
            "resources": {
                "title": "Educational Resources",
                "desc": "Master crypto trading with Binance Academy or learn how to securely manage your API keys.",
                "binance_academy": "Binance Academy",
                "api_management": "API Management"
            },
            "mechanics": {
                "title": "Strategy Mechanics",
                "dca": {
                    "title": "DCA (Dollar Cost Averaging)",
                    "desc": "Strategically buys more assets as the price drops to lower your <avgEntry>Average Entry Price</avgEntry>. This technique turns market volatility into an opportunity by reducing the break-even point for your position."
                },
                "scalping": {
                    "title": "Scalping Engine",
                    "desc": "Executes rapid, small trades to capture profit from minor price movements within a larger trend. It acts as a <generator>continuous revenue generator</generator> while the main position matures."
                },
                "safety_grid": {
                    "title": "Safety Grid",
                    "desc": "A predefined web of safety orders (\"Covers\") placed below the current price. As the market dips, these covers are filled automatically, increasing your position size in a controlled, <math>mathematically calculated</math> manner."
                }
            },
            "reinvestment": {
                "title": "Profit Reinvestment Strategy",
                "subtitle": "How \"Keep Profit\" accelerates session completion and capital efficiency",
                "mechanism_title": "The Mechanism",
                "mechanism_desc_1": "Each cover in your strategy has a <keepProfit>keep_profit</keepProfit> parameter (0-100%). This determines what percentage of scalping profits generated at that cover level should be <reinvested>reinvested into the position</reinvested> instead of being locked as realized profit.",
                "mechanism_desc_2": "When profits are reinvested, they are <injected>injected into the average price calculation</injected>, effectively lowering your break-even point. This allows the session to exit profitably at a <lowerRecovery>lower price recovery</lowerRecovery>, freeing up your capital faster.",
                "initial_investment": "Initial Investment",
                "scalp_profit": "Scalp Profit",
                "reinvested": "Reinvested",
                "avg_price_impact": "Avg Price Impact",
                "impact_none": "None",
                "impact_lower": "{{pct}} lower",
                "example_without": {
                    "title": "Without Reinvestment",
                    "amount": "$1,000",
                    "profit": "+$50",
                    "note": "Position must recover to original entry price to exit profitably",
                    "reinvested": "Reinvested"
                },
                "example_with": {
                    "title": "With 80% Reinvestment",
                    "amount": "$1,000",
                    "profit": "+$50",
                    "reinvested": "$40",
                    "note": "Session can exit profitably with less price recovery needed"
                },
                "strategic_benefits": "Strategic Benefits",
                "benefit_1": {
                    "title": "Faster Exits",
                    "desc": "Lower break-even means quicker session completion"
                },
                "benefit_2": {
                    "title": "Capital Efficiency",
                    "desc": "Free up funds sooner for new opportunities"
                },
                "benefit_3": {
                    "title": "Compounding Effect",
                    "desc": "Each scalp makes the next exit easier to achieve"
                }
            },
            "pro_tip": {
                "title": "Pro Tip",
                "desc": "Higher <keepProfit>keep_profit</keepProfit> values (70-100%) are ideal for deeper covers where you want to accelerate recovery. Lower values (0-30%) on early covers preserve more realized profit while still allowing some reinvestment.",
                "ui_vs_exchange_title": "Important: UI Display vs. Exchange Reality",
                "ui_vs_exchange_desc": "When a scalp trade executes, <profit>100% of the profit is realized in your exchange account</profit>. However, the BotChain UI only displays the portion defined by <keep>keep_profit</keep> as \"realized profit.\" The remaining percentage is <hidden>hidden from the UI</hidden> because it's automatically reinvested into the average price calculation. This is purely an <accounting>accounting distinction</accounting> - your exchange balance reflects the full profit, but the bot's internal logic treats part of it as capital reinvestment to lower your break-even point."
            },
            "session_works": {
                "title": "How a Session Works",
                "step_1": {
                    "title": "Session Start",
                    "desc": "The bot enters the market with an initial buy order (or multiple scalping orders) based on current analysis."
                },
                "step_2": {
                    "title": "Cover Execution (if needed)",
                    "desc": "If the price drops, the bot executes \"Covers\" to average down. If price rises, it takes profit immediately."
                },
                "step_3": {
                    "title": "Take Profit & Exit",
                    "desc": "Once the target profit percentage (e.g., +1.5%) is reached on the total position, the bot sells everything and closes the session."
                }
            },
            "card": {
                "active": "ACTIVE",
                "risk_level": "Risk Level",
                "grid_levels": "Grid Levels",
                "covers_one": "{{count}} Cover",
                "covers_other": "{{count}} Covers",
                "configure_strategy": "Configure Strategy",
                "view_details": "View Details",
                "configure_grid": "Configure Grid",
                "covers": "Covers"
            },
            "editor": {
                "details_title": "Strategy Details",
                "edit_title": "Edit Strategy",
                "read_only": "Read Only",
                "details_desc": "View the configuration of this strategy.",
                "edit_desc": "Customize your grid levels. Drag to reorder.",
                "add_cover": "Add New Cover",
                "summary": "{{count}} covers • Total Exposure: ${{amount}}",
                "summary_no_amount_one": "{{count}} cover",
                "summary_no_amount_other": "{{count}} covers",
                "close": "Close",
                "cancel": "Cancel",
                "save_changes": "Save",
                "max_covers_error": "Maximum 100 covers allowed.",
                "table": {
                    "headers": {
                        "type": "Type",
                        "drop": "Drop %",
                        "multiplier": "Multiplier",
                        "amount": "Amount",
                        "pullback": "Pullback",
                        "keep_profit": "Keep Profit"
                    },
                    "tooltips": {
                        "type": "The trading strategy encompasses two distinct types of covers: DCA and scalping orders. DCA orders lower the average purchase price of the session and are sold in their entirety at the end of the session, while scalping orders are meticulously managed on an individual basis.",
                        "drop": "Initiate the cover purchase when the price experiences a decline of -X% in comparison to the previous cover's purchase price. *The purchase is executed upon detecting a pullback.",
                        "multiplier": "Purchase an amount equivalent to X times the reference amount / initial cover's one for this specific cover.",
                        "amount": "Dollar amount of the cover, i.e. 'Initial Cover Amount' x 'Buy X Time'. *Minimum trade size depends on the selected exchange.",
                        "pullback": "PULLBACK : Buying condition defined by the percentage of price increase from the lowest point since the previous cover. Avoids buying during a sudden price drop.",
                        "keep_profit": "SCALPING : Percentage of pure profit secured by the user. The remaining of the profit will be used to lower the average purchase price of the session. DCA : All the profits from the sales are for the user because session just ended in this case.",
                        "limit_funds_reached": "Limit funds reached"
                    },
                    "empty_state": {
                        "title": "No covers defined yet.",
                        "desc": "Add a new cover to start building your grid."
                    },
                    "next_cover_tip": "The highlighted cover indicates the next cover that will be bought in the grid.",
                    "min_warning": "Min Warning"
                },
                "summary_no_amount": "Summary No Amount"
            },
            "templates": {
                "conservative": {
                    "name": "Conservative Accumulator",
                    "description": "Low risk, wide coverage. Best for long-term accumulation."
                },
                "balanced": {
                    "name": "Balanced Grid",
                    "description": "Moderate risk/reward. Balanced approach for ranging markets."
                },
                "aggressive": {
                    "name": "Aggressive Scalper",
                    "description": "High frequency, tight grid. Captures small movements."
                },
                "custom": {
                    "name": "Custom Strategy",
                    "description": "Your personalized strategy. Fully customizable covers."
                }
            },
            "errors": {
                "limit_reached": "Maximum number of covers reached (300)."
            },
            "risks": {
                "low": "Low",
                "medium": "Medium",
                "high": "High",
                "variable": "Variable"
            }
        },
        "analytics": {
            "title": "Intelligence Lab",
            "description": "Historical performance analysis and long-term efficiency metrics.<br/>Data shown here represents <realized>realized results</realized> and closed sessions.",
            "account_age": "Account Age",
            "days": "{{count}} Days",
            "export_report": "Export Report",
            "metrics": {
                "cumulative_profit": "Cumulative Profit",
                "total_trades": "Total Trades",
                "total_volume": "Total Volume",
                "monthly_growth": "Monthly Growth",
                "buys": "Buy",
                "sells": "Sells",
                "net_realized_gains": "Net realized gains all-time",
                "total_traded_volume": "Total traded volume",
                "avg_capital_growth": "Average capital growth"
            },
            "charts": {
                "cumulative_returns": "Cumulative Returns",
                "realized_profit_progression": "Realized Profit Progression",
                "realized_profit": "Realized Profit",
                "net": "NET",
                "performance": "{{period}} Performance",
                "daily": "Daily",
                "weekly": "Weekly",
                "monthly": "Monthly",
                "net_profit": "Net Profit",
                "trades": "Trades",
                "volume": "Volume"
            },
            "ranking": {
                "title": "Performance Ranking",
                "subtitle": "{{count}} bots tracked · All-time data",
                "sort_by": "Sort:",
                "cols": {
                    "rank": "#",
                    "bot_pair": "Bot / Pair",
                    "profit_roi": "Profit / ROI",
                    "volume_trades": "Volume / Trades",
                    "per_session": "Trades / Session",
                    "avg_trade": "Avg/Trade"
                },
                "stats": {
                    "roi": "{{roi}}% ROI",
                    "trades": "{{count}} trades",
                    "sessions": "{{count}} sessions",
                    "trades_per_session": "{{count}} trades/session",
                    "per_trade": "per trade"
                },
                "empty": {
                    "title": "No Bots Yet",
                    "desc": "Create your first bot to start tracking performance rankings and see how they compare."
                }
            },
            "intelligence": {
                "title": "Session Intelligence",
                "hint": "Click metrics for details",
                "footer": "Profit, duration, and efficiency metrics computed from {{count}} completed sessions.",
                "metrics": {
                    "avg_profit": "Avg. Net Profit / Session",
                    "avg_duration": "Avg Duration",
                    "sessions": "Sessions",
                    "avg_volume": "Avg Volume",
                    "trades_session": "Trades/Session",
                    "best_session": "Best Session",
                    "capital_eff": "Capital Eff.",
                    "avg_buy_size": "Avg Buy Size",
                    "avg_sell_size": "Avg Sell Size"
                }
            },
            "explanations": {
                "avgProfit": {
                    "title": "Average Net Profit",
                    "text": "Mean realized profit per completed session. Computed only from sessions where all positions have been closed (mother sell executed). Active sessions are excluded to avoid diluting the average."
                },
                "duration": {
                    "title": "Session Duration",
                    "text": "Average time from first buy to final sell in completed sessions. Only measures sessions that have fully closed their DCA cycle."
                },
                "sessions": {
                    "title": "Total Sessions",
                    "text": "Total number of unique sessions across all bots (including active ones). Reflects overall trading activity and strategy execution frequency."
                },
                "avgVolume": {
                    "title": "Average Volume",
                    "text": "Mean total volume (buys + sells) per session. Reflects the typical capital turnover during each DCA cycle."
                },
                "trades": {
                    "title": "Trades per Session",
                    "text": "Average number of orders (buy + sell) executed per session. Higher counts indicate deeper DCA penetration or more scalp activity."
                },
                "bestSession": {
                    "title": "Best Session",
                    "text": "Highest total realized profit from a single completed session. Represents the peak performance a session has achieved."
                },
                "capitalEfficiency": {
                    "title": "Capital Efficiency",
                    "text": "Average ratio of (session profit ÷ session volume × 100) across completed sessions. Measures how effectively traded volume is converted into profit."
                },
                "avgBuy": {
                    "title": "Average Buy Order",
                    "text": "Mean dollar value of individual buy orders. Reflects typical position sizing for grid entries."
                },
                "avgSell": {
                    "title": "Average Sell Order",
                    "text": "Mean dollar value of individual sell orders. Comparing to Avg Buy Size reveals profit margins and capital growth per cycle."
                }
            },
            "loading": "Loading Intelligence...",
            "error": "Failed to load analytics data. Please try again.",
            "retry": "Retry"
        }
    },
    "landing": {
        "hero": {
            "badge": "No Experience Required",
            "headline_prefix": "Deploy Powerful",
            "headline_highlight": "Bots That Trade For You.",
            "subheadline": "Deploy institutional-grade grid bots in seconds. Accumulate assets, manage risk, and secure profits automatically while funds remain in your connected Spot exchange account.",
            "cta_start": "Start Trading",
            "cta_demo": "Strategy Demo",
            "binance_connection": "Direct Exchange Connection",
            "trust_security": "No Withdrawal Access",
            "chart": {
                "buy": "Buy",
                "sell": "Sell",
                "net_profit": "Net Profit",
                "status": "Status",
                "active": "Active"
            }
        },
        "features": {
            "headline_prefix": "The Botchain Engine.",
            "headline_suffix": "Advanced Logic, Simplified.",
            "description": "A sophisticated trading system built on grid principles, designed to maximize efficiency and control. Real market monitoring through professional dashboards and analytics built for trust, not hype.",
            "cards": {
                "grid_engine": {
                    "title": "Advanced Grid Engine",
                    "desc": "Automated low-buy/high-sell strategy organized into sessions for continuous market engagement."
                },
                "scalping": {
                    "title": "Hybrid Scalping",
                    "desc": "Combining DCA for accumulation with independent scalping orders for fast, consistent profits."
                },
                "smart_dca": {
                    "title": "Smart Accumulation",
                    "desc": "Strategic Dollar-Cost Averaging to average entry prices and reduce risk during volatility."
                },
                "customization": {
                    "title": "Full Customization",
                    "desc": "Built-in presets fully customizable to give granular control over every aspect of your trading strategy."
                }
            }
        },
        "security": {
            "title": "Your Funds. Your Keys. Your Control.",
            "description": "Botchain communicates with your connected exchange via encrypted API endpoints. We never require withdrawal permissions, and your assets stay exactly where they belong: in your Spot exchange account.",
            "description_2": "Botchain operates strictly as an execution layer, never as a custodian. All trading activity occurs within your connected exchange account, ensuring full transparency, traceability, and independence."
        },
        "cta": {
            "headline_prefix": "Ready to automate your",
            "headline_highlight": "crypto trading?",
            "description": "A platform where traders and bots converge. No credit card required for the first bot.",
            "button": "Launch Your First Bot",
            "footer": "Takes less than 5 minutes • Cancel anytime"
        },
        "pricing": {
            "title": "Fair and transparent pricing.",
            "subtitle": "No hidden fees, no surprises.",
            "most_popular": "Most Popular",
            "no_fees": "No extra fees, ever",
            "per_year": "/year",
            "get_started": "Get Started",
            "all_plans": "All Plans Include",
            "elevate": {
                "title": "Elevate Your Trading Journey",
                "text": "No matter your current plan or the new one you choose, any remaining validity effortlessly extends to your upgraded license. We value your investment, and every paid moment counts towards your trading success."
            },
            "plans": {
                "free": {
                    "name": "Free Plan",
                    "desc": "Launch your first bot now and experience powerful automated trading for free.",
                    "features": [
                        "Launch 1 Bot",
                        "Stablecoin: USDC available",
                        "Standard Grid Logic",
                        "Email Support (Response within 24h)",
                        "Limited Trading Pairs (Most popular)"
                    ]
                },
                "advanced": {
                    "name": "Advanced Plan",
                    "desc": "Take your trading to the next level with advanced features.",
                    "features": [
                        "Launch 3 Bots",
                        "Stablecoins: USDC & TUSD",
                        "Custom Grid Parameters",
                        "Direct Support Line",
                        "Unlimited Trading Pairs"
                    ]
                },
                "pro": {
                    "name": "Pro Plan",
                    "desc": "Unleash the power of our most comprehensive trading plan.",
                    "features": [
                        "Launch Unlimited Bots",
                        "Stablecoins: USDC, TUSD, DAI & EURI",
                        "Custom Grid Parameters",
                        "Direct Support Line",
                        "Unlimited Trading Pairs"
                    ]
                }
            },
            "included_features": [
                "Customizable Ready-to-Use Strategies",
                "Integrated Risk Management",
                "Real-Time Profit Tracking",
                "Performance Analytics Dashboard",
                "In-Depth Bot Stats & Analysis",
                "Optimized Position Taking",
                "Responsive Design",
                "Real-Time Market Monitoring",
                "Upcoming Sale Order Indicators",
                "Interactive Trading History",
                "Contextual Help Suggestions",
                "Visual Data Representation",
                "Intelligent Search & Filtering",
                "Sophisticated Customization",
                "Data Encryption & Secure Protocols",
                "Seamless License Renewal"
            ]
        },
        "testimonials": {
            "label": "Community",
            "headline_prefix": "Where Traders and",
            "headline_highlight": "Bots",
            "headline_suffix": " Converge.",
            "items": [
                {
                    "quote": "I've tried several grid trading bots. BotChain is the first one that feels like a professional tool, not a toy. The UI is incredible.",
                    "author": "Alix B.",
                    "role": "Trader",
                    "result": "+24% APY"
                },
                {
                    "quote": "The non-custodial aspect was the dealbreaker for me. I prefer to know my funds stay on my exchange, not on a third-party wallet.",
                    "author": "Mat F.",
                    "role": "Crypto Investor",
                    "result": "Accumulating BTC"
                },
                {
                    "quote": "Setting up my first bot took literally 2 minutes. The preset strategies are surprisingly efficient.",
                    "author": "Lucas P.",
                    "role": "Engineer",
                    "result": "Automated"
                }
            ]
        },
        "market_access": {
            "badge": "1500+ Pairs",
            "title": "No Coin Left Behind",
            "description": "Expand your trading potential by deploying bots across a wide range of cryptocurrencies. With provider-aware symbol discovery across supported exchanges, Botchain gives you the flexibility to execute your strategy on your own terms. <br/> Whether you want to diversify, explore emerging opportunities, or focus on top performers, our platform ensures you never miss a market move.",
            "more_coins": "+500"
        }
    },
    "strategy_page": {
        "hero": {
            "title": "Advanced Trading Strategy,",
            "subtitle": "Simple, Powerful, Automated.",
            "description": "Botchain leverages a sophisticated grid-trading strategy built on a simple principle: buy low, sell high. Your funds stay secure on your exchange while we handle the automation.",
            "cta": "Activate Strategy"
        },
        "order_types": {
            "title": "Why Botchain Uses Two Types of Orders",
            "description": "Botchain combines DCA orders and Scalping orders within each session to give you the best of both worlds—strategic accumulation and fast, flexible profit-taking. Both are important, but Scalping orders are the real engine for consistent gains, especially in dynamic markets.",
            "scalping": {
                "title": "1. Scalping Orders",
                "subtitle": "Fast, Independent Profits",
                "desc": "Scalping orders are designed to capture opportunities as they happen. Each order is bought independently and can be sold individually, without closing the entire session.",
                "benefits": [
                    "React instantly to market fluctuations—even small price movements generate profit.",
                    "Keep the session running continuously, so new opportunities aren’t lost while waiting for other orders to reach their target.",
                    "Reinvest a portion of profits to reduce the average cost of open positions, compounding your gains automatically."
                ],
                "summary": "In short, Scalping ensures you’re making profits even in volatile or sideways markets, turning small price changes into steady returns. It’s the feature that keeps your session active, profitable, and flexible."
            },
            "dca": {
                "title": "2. DCA Orders",
                "subtitle": "Strategic Accumulation",
                "desc": "DCA (Dollar-Cost Averaging) orders complement scalping by building positions across multiple price levels. Bought individually but sold together in bulk, DCA helps you:",
                "benefits": [
                    "Average your entry price, reducing the impact of sudden market swings.",
                    "Sell strategically when the session reaches predefined take-profit and pullback conditions.",
                    "Open a new session automatically, ensuring your long-term strategy keeps running smoothly."
                ],
                "summary": "While DCA provides a structured, risk-managed foundation, Scalping is where the session truly earns regular, actionable profit."
            },
            "conclusion": "The combination of both in the default strategy gives you stability and speed: DCA accumulates intelligently, and Scalping captures every market movement that matters.",
            "buy_entry": "Buy Entry",
            "sell_target": "Sell Target"
        },
        "grid": {
            "title": "Precision Control with Grids",
            "description_1": "A <cover>Cover</cover> represents a single buy order within the session’s grid. Each session is built from a structured set of covers, and every cover defines when and how much the bot will buy as the market moves.",
            "description_2": "In the default grid strategy, each cover is assigned a reference buy amount (a percentage of the funds allocated to the bot). A multiplier is then applied across the grid to adjust the size of each buy order dynamically, allowing the strategy to <accumulate>accumulate more efficiently</accumulate> as the price declines.",
            "execution_logic": {
                "title": "Smart Execution Logic",
                "description": "A buy order is triggered for a specific cover when two conditions are met:",
                "condition_1": "The market price has dropped by a predefined percentage (e.g., -2%) compared to the previous cover’s buy level.",
                "condition_2": "A <pullback>pullback</pullback> is detected, confirming that the price has temporarily reversed upward."
            },
            "quotes": {
                "confirmation": "This ensures that the bot does not simply 'buy while falling,' but instead seeks confirmation before entering the market. The result is consistent execution, controlled risk exposure, and optimized position-building.",
                "adaptation": "The virtual grid continuously adapts to real-time price behavior, making each buy execution truly intelligent rather than mechanical."
            }
        },
        "grid_visualization": {
            "cover_1": "Cover #1 (-2.0%)",
            "cover_2": "Cover #2 (-5.0%)",
            "triggered_1": "Triggered after -3.7% (not -2%)",
            "triggered_2": "Triggered after -9.3% (not -5%)",
            "pullback_detected": "PULLBACK Detected",
            "smart_entry": "SMART ENTRY",
            "market": "MARKET",
            "dumping": "DUMPING",
            "strategy": "STRATEGY",
            "active": "ACTIVE",
            "dynamic_logic_title": "Dynamic Pullback Logic",
            "dynamic_logic_desc": "Bot waits for a green confirmation candle (pullback) before executing cover orders. This avoids buying falling knives and optimizes entry price."
        },
        "session": {
            "tag_session": "Session",
            "tag_active": "ACTIVE",
            "title": "What is a Session?",
            "subtitle": "The Core Operational Unit",
            "description": "A Session is the core operational unit of Botchain. Think of it as a structured trading cycle - a carefully organized set of buy and sell orders that work together to execute your strategy automatically. Each session is designed to maximize profit opportunities while managing risk, so you can trade confidently without constant supervision.",
            "structure": {
                "title": "Structured Set of Orders",
                "desc": "A session consists of multiple buy orders placed across different price levels according to a grid. These buys allow the bot to accumulate your chosen cryptocurrency efficiently, taking advantage of market fluctuations.",
                "note": "Each buy order is paired with corresponding sell logic, ensuring that profits are captured at the optimal moment."
            },
            "lifecycle": {
                "title": "Session Lifecycle",
                "step1": "A session begins when the first buy order is executed.",
                "step2": "The bot tracks all orders in the session, adjusting and managing them dynamically as the market moves.",
                "step3": "Once all conditions for selling are met, the session closes automatically.",
                "step4": "Optionally, a new session can start immediately, continuing your strategy without manual intervention."
            },
            "benefits": {
                "org_title": "Clear Organization",
                "org_desc": "All orders are grouped into a session, giving you full transparency and control over what’s active in the market.",
                "profit_title": "Profit Optimization",
                "profit_desc": "The combination of DCA and Scalping within a session ensures that you can capture profits in both trending and volatile markets."
            }
        }
    },
    "footer": {
        "description": "Premium trading experience with institutional-grade automation logic. Secure, non-custodial and designed for high performance.",
        "product": "Product",
        "strategies": "Strategies",
        "legal": "Legal",
        "privacy": "Privacy Policy",
        "terms": "Terms of Use",
        "rights": "All rights reserved.",
        "risk_warning": {
            "title": "Risk warning:",
            "text": "Cryptocurrency trading is subject to market risk. BotChain will make the best efforts to provide high-quality services, but will not be responsible for your trading losses. Please trade with caution."
        }
    },
    "payment": {
        "errors": {
            "plan_unavailable": "The selected plan is unavailable.",
            "fulfillment_failed": "Order fulfillment failed."
        }
    },
    "settings": {
        "title": "Account",
        "description": "Manage your Botchain identity and preferences.",
        "security_score": "Security Score: {{score}}%",
        "score_breakdown": {
            "title": "Score Breakdown",
            "base": "Base Security (50%)",
            "email_verified": "Email Verified (+20%)",
            "exchange_connected": "Exchange Connected (+20%)",
            "login_notifications": "Login Notifications (+10%)"
        },
        "tabs": {
            "general": "General",
            "exchange": "Exchange",
            "security": "Security",
            "billing": "Billing",
            "notifications": "Notifications"
        },
        "tab_descs": {
            "general": "Profile & Preferences",
            "exchange": "Exchange Connections",
            "security": "Password & 2FA",
            "billing": "Plan & Invoices",
            "notifications": "Email & Push"
        },
        "actions": {
            "sign_out": "Sign Out",
            "save_changes": "Save Changes",
            "cancel": "Cancel",
            "update_keys": "Update Keys",
            "connect_exchange": "Connect Exchange",
            "send_code": "Send Verification Code",
            "verify_update": "Verify & Update Email",
            "resend_code": "Resend code",
            "edit": "Edit Settings",
            "sync": "Sync",
            "save": "Save Changes"
        },
        "common": {
            "active": "Active",
            "inactive": "Inactive"
        },
        "loading": "Loading Settings...",
        "snackbars": {
            "profile_updated": "Profile updated successfully",
            "profile_update_failed": "Failed to update profile",
            "email_code_sent": "Verification code sent to new email",
            "email_code_failed": "Failed to send code. Check password.",
            "email_updated": "Email updated successfully",
            "email_invalid_code": "Invalid verification code",
            "exchange_updated": "Exchange connection updated.",
            "exchange_established": "Exchange connection established.",
            "exchange_failed": "Failed to update exchange keys",
            "password_mismatch": "New passwords do not match",
            "password_updated": "Password updated successfully",
            "password_failed": "Failed to update password",
            "ip_copied": "IP Copied to clipboard",
            "notification_updated": "Notification settings updated",
            "checkout_failed": "Checkout failed. Please try again."
        },
        "general": {
            "personal_info": "Personal Information",
            "personal_info_desc": "Update your public profile and preferences.",
            "display_name": "Display Name",
            "display_name_placeholder": "Enter your name",
            "timezone": "Timezone",
            "current_password": "Current Password (Required for saving profile updates)",
            "current_password_placeholder": "Enter password to confirm changes",
            "email_address": "Email Address",
            "current_email": "Current Email",
            "verified": "VERIFIED",
            "change_email_desc": "You can change your email below. An update requires security verification.",
            "new_email": "New Email Address",
            "new_email_placeholder": "new@example.com",
            "verification_code": "Verification Code",
            "code_sent": "We've sent a verification code to <emailSpan>{{email}}</emailSpan>. Please enter it below."
        },
        "exchange": {
            "connect_title": "Connect Exchange",
            "connect_desc": "Botchain communicates with your selected exchange via encrypted API endpoints.",
            "update_title": "Update Connection",
            "manage_title": "Exchange Connection",
            "manage_desc": "Manage your selected exchange API connection.",
            "connected": "Connected",
            "unknown_key": "Unknown Key",
            "status": "Status",
            "status_ok": "Operational",
            "permission": "Permission",
            "permission_spot": "Spot Trading",
            "last_sync": "Last sync date",
            "last_sync_now": "Just now",
            "safety_notice": "Safety Notice",
            "safety_notice_desc": "If you update your keys, active bots on this exchange may be paused until the connection is re-verified. Please ensure your new keys have read and Spot Trading permissions enabled.",
            "form": {
                "title": "Exchange Connection",
                "non_custodial": "Non-Custodial",
                "non_custodial_desc": "We do not hold your funds. Your assets remain in your exchange account.",
                "aes_256": "AES-256",
                "aes_256_desc": "Your keys are encrypted with AES-256 encryption and stored in isolated vaults.",
                "supported": "Supported",
                "trusted_ip": "Trusted IP",
                "ip_tooltip": "Open your exchange API settings, restrict access to trusted IPs only, then paste this IP.",
                "execution_layer_desc": "Botchain operates strictly as an <layer>execution layer</layer>, never as a custodian. All trading activity occurs within your connected exchange account.",
                "api_key": "API Key",
                "api_key_tooltip": "Create a new API key in your exchange account.",
                "api_key_placeholder": "Paste key...",
                "secret_key": "Secret Key",
                "secret_key_placeholder": "Paste secret...",
                "missing_credentials": "Missing API Credentials",
                "missing_passphrase": "Missing OKX API passphrase",
                "reenter_secret": "Please re-enter Secret Key to update.",
                "connection_failed": "Connection failed",
                "permissions_checklist": "Permissions Checklist:",
                "enable_reading": "Enable Reading",
                "enable_spot": "Enable Spot Trading",
                "enable_withdrawals": "Enable Withdrawals (OFF)",
                "required_spot": "Required: <spot>Spot Trading</spot> enabled.",
                "okx_passphrase": "OKX Passphrase",
                "okx_passphrase_placeholder": "API passphrase"
            },
            "errors": {
                "bnb_refill_error": "BNB Refill Error: please contact support.",
                "no_active_license": "User has no active license.",
                "stablecoin_not_allowed": "Stablecoin {{stablecoin}} not allowed with {{plan}} License.",
                "invalid_binance_symbol": "The pair {{symbol}} is not available on Binance."
            },
            "required_spot": "Required: <spot>Spot Trading</spot> enabled.",
            "bnb_refill_title": "BNB Auto-Refill",
            "bnb_refill_desc": "Automatically buy BNB when your balance falls below a trigger amount to pay for trading fees.",
            "bnb_refill_disclaimer": "Keep enough BNB in your account to cover trading fees. If not, fees will be taken from the traded asset, which can cause quantity mismatches and affect your strategy.",
            "bnb_refill_benefit": "Using BNB for fees ensures accurate execution and reduces costs.",
            "bnb_updated_success": "BNB settings updated successfully",
            "sync_success": "Exchange connection and cache synchronized successfully",
            "sync_tooltip": "Forces immediate balance synchronisation with the selected exchange (e.g. if funds were moved externally). Does not affect API credentials.",
            "update_keys_tooltip": "Allows updating the API key and secret credentials of your exchange connection.",
            "enable_bnb_refill": "Enable Auto-Refill",
            "enable_bnb_refill_desc": "When active, we will automatically execute a market order for BNB if your Spot balance is low.",
            "quantity_trigger": "Trigger Amount (BNB)",
            "quantity_buy": "Buy Amount (BNB)",
            "stablecoin_bnb": "Funding Stablecoin",
            "stablecoin_bnb_desc": "Select the stablecoin used to purchase BNB.",
            "trigger": "Trigger Buy At",
            "buy_amount": "Purchase Amount",
            "funding": "Funding Source",
            "update_desc": "Update your API keys to restore or change connection."
        },
        "notifications": {
            "title": "Notification Preferences",
            "desc": "Choose how you want to stay updated on your bot's performance and account security.",
            "email": "Email Notifications",
            "in_app": "In-app Notifications",
            "save": "Save Preferences",
            "critical_alerts": "Critical Alerts Only",
            "critical_alerts_desc": "Only notify for errors or emergency stops.",
            "categories": {
                "trading": "Trading Activity",
                "optimizer": "Optimizer",
                "system": "System Alerts"
            },
            "channels": {
                "email": {
                    "title": "Email Alerts",
                    "desc": "Delivered directly to your inbox for important events when away from the platform."
                },
                "in_app": {
                    "title": "In-App Dashboard",
                    "desc": "Displayed as dashboard banners, timeline entries, and activity logs directly within Botchain."
                }
            },
            "items": {
                "trade_exec": {
                    "label": "Trade Execution",
                    "desc": "Get notified when a buy or sell order fills."
                },
                "session_close": {
                    "label": "Session Completion",
                    "desc": "Receive specific summary when a session closes."
                },
                "profit_milestone": {
                    "label": "Profit Milestones",
                    "desc": "Celebrate when a bot hits 10% profit."
                },
                "optimizer_apply": {
                    "label": "Optimizer Deployments",
                    "desc": "Get notified when an optimizer recommendation is applied, deferred, or blocked.",
                    "rate_limit_badge": "Max 1 blocked email / 24h per bot"
                },
                "risk_guard": {
                    "label": "Crash Protection",
                    "desc": "Get notified when a market crash pauses buying on your bots (sells always continue)."
                },
                "errors": {
                    "label": "Errors & Warnings",
                    "desc": "Critical issues with exchange connection or API."
                },
                "login": {
                    "label": "New Login Detected",
                    "desc": "Security alert for unrecognized devices."
                }
            }
        },
        "security": {
            "title": "Security & Authentication",
            "desc": "Manage your password and security preferences.",
            "change_password": "Change Password",
            "change_password_desc": "We recommend using a unique password that you don't use anywhere else.",
            "current_password": "Current Password",
            "current_password_placeholder": "Enter current password",
            "new_password": "New Password",
            "new_password_placeholder": "New password",
            "confirm_password": "Confirm Password",
            "confirm_password_placeholder": "Confirm new password",
            "update_password": "Update Password",
            "password_requirements": "Password Requirements:",
            "req_length": "At least 8 characters long",
            "req_complex": "Include numbers and special characters",
            "req_unique": "Not the same as your current password",
            "two_factor": "Two-Factor",
            "email_verify": "Email Verify",
            "email_verify_desc": "Enabled by default for all sensitive actions.",
            "authenticator": "Authenticator",
            "authenticator_desc": "Google Authenticator support is currently in development.",
            "recent_activity": "Recent Activity",
            "table": {
                "action": "Action",
                "location": "Location",
                "ip": "IP Address",
                "time": "Time",
                "loading": "Loading activity...",
                "no_results": "No recent activity found."
            }
        },
        "billing": {
            "active_bots": "Active Bots",
            "stablecoins": "Stablecoins",
            "title": "Billing & Subscription",
            "desc": "Manage your plan and view payment history.",
            "current_plan": "CURRENT PLAN",
            "expires_on": "Expires on {{date}}",
            "interval": {
                "month": "month",
                "year": "year"
            },
            "actions": {
                "cancel": "Cancel Subscription",
                "upgrade": "Upgrade Plan",
                "manage_stripe": "Manage in Stripe Portal"
            },
            "payment_method": "Payment Method",
            "stripe_secure": "Stripe Secure Checkout",
            "history": "Billing History",
            "table": {
                "invoice": "Invoice",
                "status": "Status",
                "amount": "Amount",
                "date": "Date",
                "download": "Download"
            },
            "no_history": "No billing history found",
            "no_history_desc": "Once you subscribe to a plan, your invoices will appear here for you to download mapping your expenses."
        }
    },
    "wizard": {
        "nav": {
            "exchange": {
                "label": "Connect",
                "description": "Link Exchange"
            },
            "basics": {
                "label": "Identity",
                "description": "Basics & Funds"
            },
            "strategy": {
                "label": "Strategy",
                "description": "Execution Logic"
            },
            "review": {
                "label": "Review",
                "description": "Final Check"
            }
        },
        "create": {
            "loading": "Loading bot configuration...",
            "back_to_details": "Back to Bot Details",
            "back_to_dashboard": "Back to Dashboard",
            "editing_bot": "Editing Bot",
            "capital_at_risk": "Capital at risk",
            "connect_exchange_title": "Connect Exchange",
            "connect_exchange_desc": "Securely connect your exchange account. Enable only read and Spot Trading permissions.",
            "controls": {
                "back": "Back",
                "processing": "Processing...",
                "save": "Save",
                "deploy": "Deploy",
                "next": "Next",
                "save_changes": "Save Changes",
                "deploy_bot": "Deploy Bot",
                "continue": "Continue"
            },
            "alerts": {
                "load_failed": "Failed to load bot data. Redirecting...",
                "assets_failed": "Failed to load available assets",
                "pair_unavailable": "Trading pair not available.",
                "pair_verify_failed": "Failed to verify pair availability. Please try again.",
                "config_saved": "Bot configuration saved!",
                "draft_saved": "Bot saved as draft!",
                "bot_updated": "Bot updated successfully!",
                "bot_deployed": "Bot deployed successfully!",
                "exchange_success": "Exchange connected successfully!",
                "exchange_failed": "Failed to save exchange credentials"
            },
            "verifying": "Verifying..."
        },
        "basics": {
            "title": "Basics & Configuration",
            "subtitle": "Define what your bot trades and how it manages capital.",
            "edit_title": "Edit Configuration",
            "edit_subtitle": "Modify your bot's settings. Note: The trading pair cannot be changed.",
            "exchange_label": "Linked Exchange",
            "exchange_description": "Select the configured exchange account this bot will use for market data, balances, and orders.",
            "exchange_configured": "Configured",
            "exchange_not_configured": "Not Configured",
            "exchange_unavailable": "No configured exchange available",
            "exchange_change_hint": "Changing exchange reloads the available trading pairs for this bot.",
            "loading_assets": "Loading markets...",
            "base_label": "Base Asset (Buy)",
            "base_tooltip": "The asset you want to accumulate (e.g. BTC)",
            "quote_label": "Quote Asset (Spend)",
            "quote_tooltip": "The stablecoin used to purchase the base asset (e.g. USDT)",
            "amount_label": "Amount Allocated ({{quote}})",
            "amount_placeholder": "e.g. 1000 {{quote}}",
            "amount_description": "Capital allocated to this bot for trading (maximum amount it may use)",
            "min_amount_error": "Minimum amount is 50 {{quote}}.",
            "rec_amount_warning": "Recommended amount is 600+ {{quote}} for optimal performance.",
            "bot_name_label": "Bot Identity",
            "bot_name_placeholder": "e.g. BTC Accumulator",
            "compounding_label": "Compounding",
            "compounding_description": "Automatically reinvest realized profits into the next cycle.",
            "cycle_mode_label": "Continuous Cycle",
            "cycle_mode_description": "Immediately restart a new session after previous one ends.",
            "sell_only_mode_label": "Sell-Only Mode",
            "sell_only_mode_description": "Prevents any new buy orders. The bot will only sell existing positions when targets are met.",
            "select_asset": "Select asset",
            "search_placeholder": "Search...",
            "no_assets_found": "No assets found",
            "locked": "Locked"
        },
        "strategy": {
            "title": "Strategy Configuration",
            "description": "Select a template or customize your autonomous trading execution logic.",
            "default_desc": "Automated execution strategy.",
            "reference_amount": {
                "title": "Reference Amount",
                "desc": "Percentage of allocated funds",
                "entry_label": "Entry & Reference Amount",
                "total": "Total: {{amount}} USDT"
            },
            "session_targets": {
                "title": "Session Targets",
                "desc": "Goals for the entire trading cycle.",
                "tp": "Take Profit",
                "retracement": "Retracement"
            },
            "scalp_targets": {
                "title": "Scalping Targets",
                "desc": "Independent take-profit targets for individual scalping orders.",
                "tp": "Take Profit",
                "retracement": "Retracement"
            },
            "execution_grid": {
                "title": "Execution Grid",
                "levels_configured": "{{count}} Levels configured",
                "min_5": "(Min 5)",
                "prefilled_note": "*Prefilled from the strategy template - overrides apply per bot",
                "customize_btn": "Customize Grid"
            },
            "optimized": {
                "title": "AI-optimized strategy",
                "subtitle": "Backtested grid for {{pair}} on {{provider}}",
                "loading": "Checking for optimized parameters…",
                "confidence": "Confidence",
                "test_roi": "Test ROI",
                "max_drawdown": "Max drawdown",
                "grid": "Grid",
                "levels": "{{count}} levels",
                "regime_match": "Optimized for the current market condition ({{regime}}).",
                "regime_generic": "Best available output — built for {{regime}} conditions.",
                "apply": "Use optimized strategy",
                "applied": "Optimized strategy applied",
                "none": "No optimized parameters exist for this pair yet. Queue a study now — it runs in the background while you finish setup.",
                "request": "Generate recommendation",
                "run_pending": "An optimization study is running for this pair ({{progress}}%). You can deploy now — apply the result later from the bot's Optimizer tab, or enable auto-apply.",
                "rate_limited": "Optimization budget reached. Try again in about {{hours}}h.",
                "request_failed": "Could not queue the optimization. Please try again later."
            }
        },
        "review": {
            "title_editing": "Review Changes",
            "title_creating": "Ready to Launch",
            "subtitle_editing": "Review your configuration changes before saving.",
            "subtitle_creating": "Review your setup before deploying. Adjustments can be made later.",
            "bot_identity": "Bot Identity",
            "linked_exchange": "Linked Exchange",
            "trading_pair": "Trading Pair",
            "total_investment": "Total Investment",
            "strategy_type": "Strategy Type",
            "custom_strategy": "Custom Strategy",
            "compounding": "Compounding",
            "cycle_mode": "Cycle Mode",
            "sell_only_mode": "Sell-Only Mode",
            "enabled": "Enabled",
            "disabled": "Disabled",
            "continuous": "Continuous",
            "one_time": "One-time",
            "immediate_update_info": "Your changes will be applied immediately. The bot will continue operating with the updated configuration.",
            "launch_info": "Launching the bot will immediately place the initial buy order for <amount>${{amount}}</amount> of <coin>{{coin}}</coin> at market price, establishing the entry position.",
            "delay_info": "You may delay this by selecting",
            "save_for_later": "Save for later",
            "risk_warning_editing": "Changes to bot configuration may affect current trading positions.",
            "risk_warning_creating": "By deploying, you accept the risks associated with automated trading."
        }
    },
    "checkout": {
        "success": {
            "title": "Payment Successful!",
            "subtitle": "Your {{plan}} license is now active.",
            "amount": "Amount Paid",
            "expiry": "Valid Until",
            "launch": "Launch Cockpit",
            "details": "View Billing Details",
            "verified": "Verified by Stripe Internal Ledger"
        },
        "error": {
            "title": "Verification Failed",
            "subtitle": "We couldn't verify your session or the payment was cancelled. If you believe this is a mistake, please contact support.",
            "back": "Back to Billing",
            "return": "Return to Dashboard"
        }
    },
    "optimizer": {
        "command": {
            "target": "Optimization target",
            "live_market": "Live market",
            "recommendation": "Recommendation",
            "rollout": "Bot rollout",
            "automatic": "Automatic approval enabled",
            "manual": "Manual approval required"
        },
        "decision_rail": {
            "title": "How this recommendation moves forward",
            "desc": "BotChain creates a recommendation, checks it for safety, follows your approval settings, and updates your bot only when it is safe to do so.",
            "aria_label": "Recommendation activation steps"
        },
        "baseline": {
            "title": "Recommendation vs running strategy",
            "desc": "Both strategies were replayed head-to-head over the same unseen market windows.",
            "pending_title": "Direct comparison with running strategy",
            "pending_desc": "This recommendation is validated on unseen market data. A paired head-to-head replay against your active settings is computed in the background, and you can review and apply the strategy directly.",
            "edge_confirmed": "Performance advantage confirmed",
            "edge_unconfirmed": "Edge not strong enough for automatic update",
            "conservative_uplift": "Estimated return advantage",
            "lower_bound": "95% confidence lower-bound vs running bot, not a profit forecast",
            "outperforms_running": "Outperforms running strategy",
            "underperforms_running": "Underperforms running strategy",
            "equal_performance": "Equal return performance",
            "drawdown": "Worst decline (Max Drawdown)",
            "running_label": "Running",
            "recommended_label": "Recommended",
            "current_to_recommended": "Running → recommended",
            "drawdown_reduced": "{{delta}} lower decline (safer)",
            "drawdown_increased": "{{delta}} higher decline",
            "drawdown_equal": "Identical decline risk",
            "drawdown_help": "Simulated peak-to-trough drop on identical market data",
            "evidence_depth": "Test depth & switch cost",
            "windows": "test periods",
            "switching_cost": "Estimated switch cost: {{value}}%",
            "zero_friction": "No switch cost",
            "same_chronology": "Tested over identical market periods including simulated trading fees",
            "explanation_unconfirmed": "The recommendation does not show a statistically positive return advantage over your active bot (estimated difference: {{edge}}%). Your bot keeps its current settings.",
            "explanation_confirmed": "The recommendation outperforms your active bot with 95% statistical confidence and meets all risk constraints."
        },
        "regime_library": {
            "title": "Market-regime strategy library",
            "desc": "The current market match is prioritized. Select another regime to inspect its latest validated strategy or earlier versions.",
            "available": "{{count}} regimes available",
            "updated": "Updated",
            "test_return": "Test return",
            "safety": "Safety",
            "live_market": "Live market",
            "active_strategy": "Active",
            "saved_strategy": "Saved strategy",
            "stale_title": "Review freshness before deployment",
            "stale_auto": "These strategies remain available for inspection, but stale evidence does not qualify for automatic rollout.",
            "stale_manual": "These strategies were generated from older market data. Request a fresh study before relying on them.",
            "versions": "{{count}} saved versions",
            "versions_desc": "The latest version is selected. Earlier evidence remains available for audit.",
            "latest": "Latest",
            "version": "Version {{number}}"
        },
        "strategy_diff": {
            "title": "What will change",
            "desc": "Only material differences are shown. Timing reflects the latest persisted deployment plan when one exists.",
            "count": "{{count}} changes",
            "dynamic": "Dynamic settings",
            "dynamic_desc": "Exit and profit-taking rules that may be changed without rebuilding the cover ladder.",
            "structural": "Structural settings",
            "structural_desc": "Sizing and grid-shape changes that may wait for a safe session boundary.",
            "dca_tp": "DCA take profit",
            "dca_retracement": "DCA profit retracement",
            "scalp_tp": "Scalping take profit",
            "scalp_retracement": "Scalping profit retracement",
            "initial_allocation": "Initial allocation",
            "cover_count": "Cover ladder",
            "cover_depth": "Downside coverage",
            "no_changes": "Recommended settings are already active",
            "no_changes_desc": "No material strategy difference was found in the settings available for comparison.",
            "direction": {
                "increased": "Increased",
                "decreased": "Decreased",
                "added": "Added",
                "removed": "Removed"
            },
            "timing": {
                "immediate": "Can apply now",
                "guarded_exit": "Applies after protected exits",
                "future_tail": "Applies to future covers",
                "deferred": "Next safe session",
                "blocked": "Blocked",
                "no_change": "Already active",
                "dynamic_preview": "Usually immediate",
                "structural_preview": "Usually next session"
            }
        },
        "manual": {
            "review_apply": "Review & apply manually",
            "auto_blocked": "Automatic application is blocked: {{reason}} Review the failed policy gates to choose a deliberate manual action.",
            "blocked_title": "Automatic application was blocked",
            "blocked_desc": "Review every failed safety-policy gate and its risk before deciding whether to continue.",
            "risk_label": "Risk:",
            "normally_safe_title": "What can normally be applied safely",
            "normally_safe_desc": "A partial apply rechecks live positions, capital, exchange limits, and each field. Eligible exit settings can be applied while unsafe sizing or cover-grid changes remain unchanged and are reported with reasons.",
            "continue_action": "Continue after review",
            "choose_title": "Choose how to continue",
            "choose_desc": "Choose a state-aware partial apply or explicitly overwrite the complete strategy.",
            "partial_title": "Partial apply",
            "partial_desc": "Apply only parameters currently considered safe and eligible. Other settings and covers stay unchanged and are reported with reasons.",
            "partial_action": "Apply safe parameters only",
            "complete_title": "Complete strategy override",
            "complete_desc": "Replace the bot's settings and entire cover grid with this recommendation. Failed safety-policy gates are bypassed, but invalid data and impossible exchange orders remain blocked.",
            "complete_confirmation": "I understand that the bot's existing settings and all cover rows will be overwritten by the selected recommendation.",
            "complete_action": "Overwrite settings and covers",
            "request_deployment": "Request deployment",
            "review_desc": "The execution worker will revalidate live positions, capital, exchange limits, and the active strategy before committing any change.",
            "review_drawdown": "Worst decline",
            "review_evidence": "evidence",
            "review_eyebrow": "Deployment review",
            "review_note": "Requesting deployment does not guarantee every field changes immediately. The persisted deployment result will record what changed, what waited, and why.",
            "review_regime": "Designed for",
            "review_return": "Blind-test return",
            "review_safety": "Strategy safety",
            "review_title": "Review what BotChain will request"
        },
        "experience": {
            "title": "Strategy optimizer",
            "navigation": "Optimizer navigation",
            "attention_bypass_note": "Manual review can bypass disclosed safety-policy gates. Data integrity and exchange-order constraints always remain enforced.",
            "review_bypass_note": "Manual review can bypass disclosed safety-policy gates. Data integrity and exchange-order constraints always remain enforced.",
            "snapshot_market": "Live market",
            "market_confirmed": "Condition confirmed",
            "market_stabilizing": "Still confirming this condition",
            "market_safe_wait": "No changes without a confirmed reading",
            "snapshot_recommendation": "Recommendation",
            "study_in_progress": "Study in progress",
            "none_yet": "None yet",
            "recommendation_for": "For {{regime}} conditions",
            "recommendation_waiting": "Validated results will appear here",
            "snapshot_deployment": "Bot deployment",
            "deployment_full": "Fully active",
            "deployment_partial": "Partially active",
            "deployment_waiting": "Waiting for a safe point",
            "deployment_previous_partial": "Previous strategy partially active",
            "deployment_previous": "Previous strategy active",
            "deployment_queued": "Queued automatically",
            "deployment_not_applied": "Not applied",
            "deployment_none": "No deployment",
            "deployment_live_detail": "Bot settings reflect this recommendation",
            "deployment_waiting_detail": "No settings changed; the worker will evaluate the request again at its recorded trigger",
            "deployment_previous_detail": "A newer recommendation is waiting",
            "deployment_auto_detail": "Automatic mode is enabled",
            "deployment_manual_detail": "You approve every change",
            "nav_overview": "Overview",
            "nav_overview_help": "State and next action",
            "nav_changes": "Strategy changes",
            "nav_changes_help": "What would change",
            "nav_evidence": "Evidence",
            "nav_evidence_help": "Tests and methodology",
            "nav_automation": "Deployment",
            "nav_automation_help": "Approval and safety rules",
            "nav_history_help": "Past recommendations",
            "nav_engine_help": "Administrator controls",
            "tuned_for": "Tuned for",
            "evidence_title": "The evidence that matters",
            "evidence_desc": "Performance measured on separate market data that was not used to create or select this strategy.",
            "not_forecast": "Historical simulation · not a profit forecast",
            "blind_return": "Blind-test return",
            "blind_return_help": "Performance on unseen market data",
            "worst_decline": "Worst decline",
            "worst_decline_help": "{{level}} simulated drawdown",
            "state": {
                "active": "Live",
                "partial": "Update scheduled",
                "waiting": "Waiting safely",
                "ready": "Ready to review",
                "automatic": "Auto-apply ready",
                "deploying": "Deploying",
                "analyzing": "Analyzing",
                "review": "Review required",
                "attention": "Needs attention",
                "paused": "Paused safely",
                "empty": "Not set up"
            },
            "headline": {
                "active": "Your bot is using the recommended strategy",
                "partial": "Optimized settings are active",
                "waiting": "The optimized strategy is waiting for a safe point",
                "ready": "A validated strategy is ready",
                "automatic": "A validated strategy is ready",
                "deploying": "The optimized strategy is being deployed",
                "analyzing": "The optimizer is studying this market",
                "review": "A recommendation is available, but it needs your review",
                "attention": "Automatic deployment needs attention",
                "paused": "Automatic optimization is temporarily paused"
            },
            "description": {
                "active": "The latest validated settings are active and the optimizer is watching for meaningful market changes.",
                "partial": "The compatible changes are active. The remaining updates will wait until they can be applied safely.",
                "waiting": "Your current strategy stays active until the update can be made safely.",
                "ready": "It matches the current market and passed the checks required for deployment. Review the evidence, then decide when to apply it.",
                "automatic": "It meets your automatic update rules and is ready to be applied safely.",
                "deploying": "BotChain is applying eligible settings while protecting any open positions.",
                "analyzing": "It is validating market conditions and strategy settings. Your live bot remains unchanged while the study runs.",
                "review": "Some checks need your review before the strategy can be applied.",
                "attention": "The recommendation could not be applied automatically. Review it before deciding what to do.",
                "paused": "The live market model is recovering, so BotChain will not deploy optimizer changes."
            },
            "header": {
                "active": "Recommended settings are live and monitored",
                "partial": "Safe changes are active; every retained field has a recorded trigger",
                "waiting": "No settings changed; the request is waiting for its recorded safety trigger",
                "ready": "A validated strategy is waiting for your decision",
                "automatic": "A validated strategy qualifies for automatic deployment",
                "deploying": "Eligible settings are being applied safely",
                "analyzing": "A market study is running; your current settings stay unchanged",
                "review": "A recommendation is available with conditions to review",
                "attention": "The latest deployment needs review",
                "paused": "Deployment is paused while the live model recovers",
                "empty": "Create a market-tested strategy recommendation"
            },
            "automatic_active_desc": "Automatic deployment is active with evidence threshold safeguards.",
            "manual_active_desc": "Manual review is active. Changes require explicit confirmation.",
            "loading_desc": "Checking live market conditions and latest recommendations...",
            "loading_detail": "Checking...",
            "automatic_mode": "Automatic",
            "automatic_mode_desc": "Eligible recommendations deploy when market conditions are confirmed and deployment evidence clears your threshold.",
            "automation_rules_desc": "Timing, confirmation, and position-protection rules",
            "automation_rules_title": "How automatic mode decides",
            "automation_title": "Choose how strategy changes are approved",
            "beginner_friendly": "Best for getting started",
            "decision_candidate": "Candidate",
            "decision_evaluated": "Evaluated",
            "decision_evidence": "{{value}} evidence",
            "decision_log_desc": "Inspect the service inputs behind the current automation state",
            "decision_log_title": "Latest deployment decision",
            "decision_model": "Live model",
            "decision_model_ready": "Ready",
            "decision_model_waiting": "Not ready",
            "decision_no_candidate": "No matching recommendation",
            "decision_not_evaluated": "No evaluation recorded",
            "decision_service_record": "Optimizer service record",
            "deployability": "Evidence score",
            "deployability_help": "Readiness score, not expected profit",
            "empty_benefit_control": "Nothing changes without your approval",
            "empty_benefit_market": "Adapts to current market conditions",
            "empty_benefit_validate": "Validated before you see it",
            "empty_desc": "BotChain will study this trading pair, find grid settings that fit its behavior, and test them on unseen data before making a recommendation.",
            "empty_title": "Build a strategy for this market",
            "first_study": "Your first market study",
            "how_it_works": "How the optimizer works",
            "how_it_works_desc": "Four safeguards from market data to recommendation",
            "manual_mode": "Manual review",
            "manual_mode_desc": "BotChain explains each recommendation and waits for you to approve it. Nothing changes on its own.",
            "manual_desc": "Manual review mode is enabled. Your bot will not update until you explicitly approve the recommendation.",
            "auto_mode": "Auto-Apply",
            "auto_desc": "Automatic updates trigger when evidence score exceeds {{threshold}}% and all safety gates pass.",
            "approval_title": "Approval policy",
            "ready_badge": "Ready",
            "waiting_badge": "Waiting",
            "passed": "Passed",
            "market_mismatch_desc": "The live market is {{current}}, while this strategy targets {{recommended}}. Automatic deployment stays blocked until they match.",
            "market_mismatch_title": "This strategy was built for a different market condition",
            "more_responsive": "More responsive",
            "more_selective": "More selective",
            "requirements_ready": "All automatic deployment conditions are satisfied",
            "requirements_review": "See why automatic deployment is waiting",
            "requirements_title": "Deployment requirements",
            "safety_always_on": "Safety checks always stay on.",
            "safety_always_on_desc": "Changing this threshold never bypasses market matching, freshness, model health, or validation requirements.",
            "safety_checks": "Backtest checks",
            "safety_title": "Backtest safety checks",
            "safety_all_desc": "Every simulated stress check passed across unseen market scenarios without excessive decline.",
            "safety_review_desc": "One or more simulated stress tests require your review prior to deployment.",
            "safety_passed": "Every persisted simulation check passed",
            "safety_review": "Open the requirements to review",
            "threshold_plain": "Higher thresholds wait for stronger evidence. Recommendations below the threshold remain visible for manual review.",
            "why_desc": "See the signals behind the reliability rating",
            "why_title": "Why BotChain recommends this",
            "broader_split_desc": "Evaluated across multi-cycle search selection data",
            "broader_split_label": "Broader Validation Split:",
            "val_return": "Val ROI:"
        },
        "automation_settings": {
            "title": "Auto-apply strategy switcher",
            "desc": "The optimizer confirms the live market regime, compares eligible candidates with the active strategy, and queues only the best same-epoch candidate when its deployment evidence clears your threshold.",
            "saving": "Saving...",
            "saved": "Saved",
            "save_error": "The approval setting could not be saved. Please try again.",
            "cadence_label": "Cadence",
            "cadence_value": "4h prediction window",
            "cadence_desc": "The daemon wakes every 5 minutes, but regime inference is based on 4h candles.",
            "hysteresis_label": "Hysteresis",
            "hysteresis_value": "1–3 completed candles",
            "hysteresis_desc": "Defensive market regimes confirm faster; other changes must persist longer to reduce short-lived noise.",
            "guard_label": "Deployment guard",
            "guard_value": "Protected active grids",
            "guard_desc": "Open covers remain protected; order sizes can lock when capital is insufficient.",
            "toggle_label": "Toggle Auto-Apply",
            "confidence_threshold": "Confidence threshold",
            "evidence_threshold": "Evidence threshold",
            "current_threshold": "Current threshold:",
            "threshold_tooltip": "Minimum deployment evidence required before a recommendation can be applied automatically. Live regime probability is validated separately.",
            "aggressive": "Aggressive",
            "conservative": "Conservative",
            "enabled": "Enabled",
            "manual_review": "Manual review",
            "balanced": "Balanced",
            "active_badge": "Active",
            "threshold_notice": "Recommendations below this evidence threshold remain available for manual review."
        },
        "adaptive": {
            "title": "Strategy deployment",
            "operation_mode": "Operation mode",
            "bypassed_gates": "Safety gates bypassed: {{gates}}",
            "no_bypassed_gates": "No safety-policy gate was bypassed.",
            "loading": "Loading deployment status…",
            "awaiting_title": "Deployment status is not available yet",
            "awaiting_desc": "Your current strategy remains unchanged while the deployment worker connects.",
            "updated": "Updated",
            "reason": "Reason",
            "market": "Current market",
            "unconfirmed": "Not confirmed",
            "regime_probability": "Regime probability",
            "stable": "stable",
            "stabilizing": "still stabilizing",
            "market_wait": "No change is made without a healthy market reading",
            "selected": "Selected candidate",
            "none_selected": "None selected",
            "none_selected_detail": "The current strategy remains the incumbent",
            "evidence": "Evidence",
            "effective": "Active strategy",
            "revision": "Revision {{revision}}",
            "active_baseline": "Current bot configuration",
            "pending": "Pending target",
            "no_pending": "Nothing waiting",
            "no_pending_detail": "The active strategy has no queued replacement",
            "next_trigger": "Next trigger",
            "pending_checks": "Waiting for the next worker evaluation",
            "review": "Review",
            "change_summary": "Change summary",
            "applied_count": "{{count}} ready or applied now",
            "deferred_count": "{{count}} waiting",
            "blocked_count": "{{count}} blocked",
            "champion_retained": "Candidate #{{considered}} was reviewed, but #{{selected}} remained the safer choice.",
            "plan_title": "Parameter changes",
            "plan_summary": "See exactly what changes now, what stays unchanged, and why.",
            "gates_title": "Safety and eligibility checks",
            "gates_summary": "{{passed}} of {{total}} checks passed. Open for the ordered decision record.",
            "acknowledged": "safety policy bypassed manually",
            "hard_gate": "Mandatory data or exchange validation",
            "technical_title": "Revision and provenance",
            "technical_summary": "Configuration hashes and parameter sources for advanced troubleshooting.",
            "effective_hash": "Active configuration hash",
            "target_hash": "Target configuration hash",
            "sources_title": "Effective parameter sources",
            "short_hash_hint": "Short active hash {{hash}}",
            "timeline": "Recent deployment activity",
            "timeline_summary": "Open the persisted event history and notification delivery status.",
            "delivery_status": "Notification delivery status",
            "delivery_attempts": "{{count}} attempts",
            "integrity_title": "Automatic changes are paused",
            "integrity_desc": "A trading-state consistency issue requires review. The active strategy remains unchanged.",
            "outcome": {
                "reviewed": "The deployment worker recorded the latest decision without changing the active strategy.",
                "active": "The selected strategy is fully active. No parameter is waiting to change.",
                "partial": "Safe changes are active. Existing positions keep their original policy while the remaining changes wait for a recorded trigger.",
                "deferred": "No strategy change has been made. The current strategy remains active until the recorded trigger is reached and every safety check passes again.",
                "processing": "The request is recorded and the execution worker is completing its live safety checks.",
                "retryable": "No strategy change was made. A temporary safety condition is being monitored and the worker will reconsider this request automatically.",
                "blocked": "No strategy change was made because a safety-policy gate was not acknowledged or a mandatory data/exchange validation failed.",
                "adapted": "The complete optimized grid is active with a safety adaptation. This is an intentional effective revision, not configuration drift."
            },
            "actions": {
                "immediate": "Apply now",
                "guarded_exit": "Guarded exit update",
                "future_tail": "Future levels only",
                "deferred": "Waiting",
                "blocked": "Blocked",
                "no_change": "Already active"
            },
            "status": {
                "active": "Active",
                "no_change": "Already active",
                "partial": "Partially active",
                "deferred": "Waiting safely",
                "planned": "Plan ready",
                "considered": "Reviewed",
                "eligible": "Eligible",
                "queued": "Queued",
                "applying": "Applying safely",
                "activating": "Activating",
                "retryable": "Paused safely",
                "blocked": "Not deployable",
                "retrying": "Retrying",
                "failed": "Failed",
                "preview": "Preview only",
                "cancelled": "Cancelled",
                "superseded": "Replaced"
            },
            "affected": "Affected",
            "applied_fields_title": "Applied in this deployment",
            "next_action": "Next action",
            "no_fields_applied": "No parameter was applied.",
            "no_fields_pending": "No eligible parameter is waiting.",
            "pending_fields_title": "Not applied",
            "prevented_reasons": "Why the remaining changes were not applied",
            "review_failed_check": "Review the failed safety check before retrying."
        },
        "strategy_tab": {
            "comparison_title": "Strategy Details",
            "comparison_desc": "Compare the bot's current strategy with the active recommendation parameters.",
            "automation_desc": "Configure how optimizer recommendations are deployed. You can require manual review or allow the optimizer to apply changes automatically when a condition is met."
        },
        "comparison_table": {
            "not_available": "Not available",
            "active": "Active",
            "optimized": "Optimized",
            "impact_title": "Before / After Grid Impact",
            "impact_subtitle": "What will change if you apply it",
            "impact_desc": "This compares the active configuration with the selected candidate. The persisted Deployment plan decides what can change now, later, or not at all.",
            "changed_settings": "Differences found",
            "active_grid": "Active grid",
            "optimized_grid": "Optimized grid",
            "parameter": "Parameter",
            "active_grid_header": "Active Grid",
            "recommendation_header": "Recommendation",
            "delta_header": "Delta",
            "stat_terminal_depth": "Terminal depth",
            "stat_terminal_depth_tooltip": "Compounded distance from the entry price to the deepest cover. Each cover's drop chains off the previous cover's price, so the full ladder reaches much further below entry than any single gap.",
            "stat_buy_weight": "Total buy weight",
            "stat_buy_weight_tooltip": "Sum of cover buy multipliers. Higher weight can improve averaging power but reserves more capital.",
            "stat_mix": "Scalp / DCA mix",
            "stat_mix_tooltip": "Number of scalp covers versus DCA covers. Scalp covers aim for smaller independent exits; DCA covers prioritize full-session averaging.",
            "no_change": "No change",
            "rows": {
                "initial_buy_size": {
                    "label": "Reference amount",
                    "subLabel": "Reference buy amount (1X) for order sizes",
                    "tooltip": "Percentage of bot funds used as the 1X reference buy amount to compute order and grid sizes."
                },
                "dca_tp": {
                    "label": "DCA take profit",
                    "subLabel": "Session-level exit target",
                    "tooltip": "Profit threshold used to close the full DCA session after averaging down."
                },
                "dca_pb": {
                    "label": "DCA pullback",
                    "subLabel": "Trailing exit buffer",
                    "tooltip": "Price retracement required after the DCA take-profit mark is reached. Higher values wait longer before selling."
                },
                "scalp_tp": {
                    "label": "Scalp take profit",
                    "subLabel": "Independent cover exit target",
                    "tooltip": "Profit target used for scalp covers that close independently while the main DCA session remains open."
                },
                "scalp_pb": {
                    "label": "Scalp pullback",
                    "subLabel": "Scalp trailing buffer",
                    "tooltip": "Trailing pullback used before closing individual scalp covers after their target is reached."
                },
                "grid_levels": {
                    "label": "Grid levels",
                    "subLabel": "Total buy layers",
                    "tooltip": "Number of cover levels available for price drawdowns."
                }
            },
            "changed_settings_tooltip": "Configuration differences only. Open Deployment for the authoritative field-by-field action and trigger.",
            "levels_differ": "{{count}} cover level(s) differ between the active ladder and the recommendation (spacing, buy weight, type or trailing settings).",
            "sync": {
                "in_sync_applied_title": "Applied - your bot is in sync",
                "in_sync_title": "Your bot already matches this recommendation",
                "in_sync_desc": "Every compared setting and cover level already matches. Applying it again would change nothing.",
                "drift_title": "Applied, but the bot differs today",
                "drift_desc": "{{count}} difference(s) remain between the bot and this recommendation. Open Deployment to see whether each field is active, retained, deferred, or blocked.",
                "show_details": "Show the full comparison",
                "hide_details": "Hide the full comparison"
            }
        },
        "grid_visualizer": {
            "no_levels": "No grid levels",
            "levels": "Levels",
            "depth": "Depth",
            "buy_weight": "Buy Weight",
            "price_drop": "Gap from previous:",
            "buy_multiplier": "Buy Multiplier:",
            "pullback": "Pullback:",
            "keep_profit": "Keep Profit:",
            "entry": "Entry",
            "cover_num": "Cover #{{index}}",
            "terminal_drop": "{{drop}} terminal depth",
            "cumulative_depth": "Below entry:",
            "depth_tooltip": "Terminal depth: the compounded distance from the entry price to the deepest cover of the ladder.",
            "buy_weight_tooltip": "Sum of all cover buy multipliers. The capital reserved for covers is this weight times the initial buy amount."
        },
        "empty_state": {
            "title": "No optimization data yet",
            "desc": "The optimizer studies this market and suggests grid settings tuned to current conditions. Every suggestion is tested on unseen data before it shows up here.",
            "waiting": "Waiting for the next scheduled optimizer run",
            "admin_hint": "As an administrator, you can launch an optimization now to generate the first recommendations for this pair.",
            "configure_run": "Configure & run optimization",
            "hide_form": "Hide configuration",
            "steps": {
                "fetch": {
                    "label": "Collect market data",
                    "text": "Gather recent price history for this trading pair."
                },
                "classify": {
                    "label": "Read market conditions",
                    "text": "Detect whether the market is trending, ranging, or turbulent."
                },
                "optimize": {
                    "label": "Search best settings",
                    "text": "Test many grid configurations to find the strongest performers."
                },
                "safety": {
                    "label": "Validate & protect",
                    "text": "Keep only settings that pass strict checks on unseen data."
                }
            },
            "admin_controls": "Administrator controls"
        },
        "header": {
            "how_it_works": "How it works"
        },
        "explainer": {
            "tab_overview": "What is the Optimizer?",
            "badge_ai": "AI Advisor",
            "tab_generation": "How Recommendations are Created",
            "badge_backtest": "Walk-Forward",
            "tab_autoapply": "How Auto-Apply Works",
            "badge_automation": "Automated",
            "tab_safety": "Capital & Trade Protection",
            "badge_safety": "Safe Deployment",
            "modal_title": "Understanding Strategy Optimizer",
            "modal_subtitle": "Learn how BotChain uses Walk-Forward simulations and safety gates to protect your capital.",
            "overview_heading": "An Autonomous AI Trading Advisor",
            "overview_desc": "Crypto markets constantly switch between trending, ranging, and high-volatility regimes. A grid trading setup that works well in a bull trend may struggle during consolidation. The Strategy Optimizer acts as your personal Quant analyst, continuously analyzing market conditions and historical data to recommend ideal strategy parameters.",
            "step1_title": "1. Market Sensing",
            "step1_desc": "Detects current market regime (Bullish, Bearish, Rangebound, Volatile) using live exchange data.",
            "step2_title": "2. Simulation & Testing",
            "step2_desc": "Simulates thousands of grid & DCA cover configurations across historical market windows to prevent overfitting.",
            "step3_title": "3. Safety Gating",
            "step3_desc": "Verifies confidence score, drawdown limits, and regime matches before approving a recommendation.",
            "gen_heading": "Multi-Phase Walk-Forward Methodology",
            "gen_desc": "To avoid 'overfitting' (building a strategy that only looks good on past data but fails live), BotChain splits historical data into 3 distinct windows:",
            "train_phase_title": "In-Sample Training",
            "train_phase_desc": "The optimizer tests thousands of combinations of grid steps, DCA multipliers, and profit targets to find promising candidates.",
            "val_phase_title": "Validation Phase",
            "val_phase_desc": "The top candidates are validated on separate, unseen historical data to refine hyper-parameters.",
            "test_phase_title": "Out-of-Sample Blind Test",
            "test_phase_desc": "The final candidate is tested on completely hidden recent market data. The resulting 'Blind-Test Return' is the true indicator of readiness.",
            "auto_heading": "Hands-Free Optimization with Safety Controls",
            "auto_desc": "You can choose between Manual approval or Automatic mode. In Automatic mode, BotChain monitors new recommendations and applies them automatically when key safety conditions are met.",
            "auto_rule1_title": "Confidence Threshold",
            "auto_rule1_desc": "Only recommendations with an Evidence Score above your threshold (e.g. 75%) are eligible for auto-apply.",
            "auto_rule2_title": "Safety Gate Approval",
            "auto_rule2_desc": "The recommendation must pass all mandatory risk checks (Max drawdown ceiling, win rate floor, regime match).",
            "safety_heading": "Zero Forced Liquidations or Broken Trades",
            "safety_desc": "When a new recommendation is applied (manually or automatically), BotChain never force-closes your active grid trades or risks your open orders. It uses Adaptive Deployment.",
            "protection_1_title": "Active Position & Take-Profit Updating",
            "protection_1_desc": "New take-profit targets apply to active positions immediately, while filled entry prices and bought quantities remain preserved.",
            "protection_2_title": "Future Cover & Grid Updating",
            "protection_2_desc": "New grid steps or unexecuted covers inherit the optimized settings immediately without disturbing active trades.",
            "protection_3_title": "Worker Pre-Flight Revalidation",
            "protection_3_desc": "Before committing changes on the exchange, the execution worker verifies account balance, API permissions, and order precision.",
            "footer_note": "BotChain non-custodial strategy optimizer"
        },
        "pipeline": {
            "header": "Optimization & Safety Pipeline",
            "realtime": "Real-Time Verification",
            "sensing": "Detecting market regime...",
            "running_sim": "Running simulations...",
            "sim_passed": "Walk-Forward verified",
            "awaiting_sim": "No active study",
            "gates_passed": "All safety gates passed",
            "gates_review": "Requires review",
            "awaiting_recommendation": "Awaiting results",
            "deployed_live": "Live on Binance",
            "partially_active": "Update in progress",
            "ready_to_deploy": "Ready to apply",
            "idle": "Inactive",
            "step1_name": "Market Sensing",
            "step2_name": "Validation",
            "step3_name": "Safety Check",
            "step4_name": "Deployment",
            "status_complete": "Passed",
            "status_active": "Active",
            "status_review": "Review",
            "status_idle": "Standby"
        },
        "overview": {
            "mismatch_title": "Market condition changed",
            "mismatch_notice": "The live market condition is currently {{current}}, and no fresh strategy exists for it yet. You are viewing the closest available strategy, built for {{rec}}. It remains safe to apply — the auto-adaptation service will switch parameters when a matching strategy becomes available.",
            "mismatch_notice_alternative": "The live market condition has shifted to {{current}}. You are viewing the strategy currently running on this bot, built for {{rec}}. A matching strategy for {{current}} is available.",
            "match_unavailable": "no matching recommendation passed the publication requirements"
        },
        "section": {
            "running_bg": "Optimization running in background...",
            "tab_overview": "Overview & Compare",
            "tab_backtest": "Backtest Evidence",
            "tab_history": "History",
            "run_engine": "Run Engine",
            "engine_title": "Optimizer Engine",
            "recommendation_desc": "{{regime}} recommendation | {{confidence}} confidence",
            "fallback_desc": "Regime-aware grid recommendations and backtest evidence.",
            "safety_checked": "Safety checked",
            "review": "Review",
            "gmm_hmm": "AI-Powered ML Model",
            "run_status_msg": "Mode: {{mode}} | Status: {{status}} | Progress: {{progress}}%",
            "tab_recommendation": "Recommendation",
            "tab_analysis": "Analysis",
            "recommendation_ready_desc": "Strategy ready for {{regime}} — {{trust}}",
            "analyzing_desc": "Analyzing this market — recommendations are on the way",
            "working_chip": "Working",
            "automation_title": "Automation",
            "automation_on": "Auto-apply is on — validated strategies deploy on confirmed condition changes",
            "automation_off": "Auto-apply is off — every change requires your review",
            "tab_validation": "Validation",
            "tab_strategy": "Strategy"
        },
        "status": {
            "waiting": "Pending",
            "waiting_match": "Waiting for condition match",
            "health": "Optimizer Engine",
            "market": "Live Market",
            "awaiting_condition": "Awaiting stable market reading",
            "strategy": "Active Strategy",
            "no_live_regime": "Awaiting detection",
            "trigger": "Trigger"
        },
        "lifecycle": {
            "waiting": "Waiting",
            "unknown_title": "Optimizer readiness unknown"
        },
        "parameters_preview": {
            "sheet_title": "Detailed strategy sheet",
            "backtest_capital": "Backtest capital",
            "backtest_capital_tooltip": "Initial simulated capital used to run the backtest for this recommendation.",
            "fee_assumption": "Fee assumption",
            "fee_assumption_tooltip": "Standard trading fee rate assumed by the simulator for buy and sell operations on {{exchange}}.",
            "optimized_grid_shape": "Optimized grid shape",
            "grid_levels": "Grid levels",
            "grid_levels_tooltip": "Total cover levels and their split between scalp and DCA execution.",
            "initial_buy": "Reference buy allocation",
            "initial_buy_helper": "1X unit allocation %",
            "initial_buy_tooltip": "Reference allocation percentage used to calculate the 1X position size for new covers and session initial buys.",
            "reference_buy": "Reference buy allocation",
            "reference_buy_helper": "1X unit allocation %",
            "reference_buy_tooltip": "Reference allocation percentage used to calculate the 1X position size for new covers and session initial buys.",
            "progressive_tail": "Progressive active grid",
            "progressive_tail_helper": "unexecuted tail levels updated",
            "progressive_tail_tooltip": "Active session progressive update applies changes to unexecuted tail levels while leaving executed positions intact.",
            "terminal_depth": "Terminal depth",
            "terminal_depth_helper": "deepest cover below entry",
            "terminal_depth_tooltip": "Compounded distance between the entry price and the deepest cover of the ladder. Each cover's drop is measured from the previous cover, so depths multiply down the grid.",
            "dca_tp": "DCA take profit",
            "dca_tp_helper": "full-session target",
            "dca_tp_tooltip": "Profit target used when closing the entire DCA session.",
            "dca_pb": "DCA pullback",
            "dca_pb_helper": "trailing sell buffer",
            "dca_pb_tooltip": "Retracement tolerated after target is reached before the session sell executes.",
            "scalp_tp": "Scalp take profit",
            "scalp_tp_helper": "independent cover target",
            "scalp_tp_tooltip": "Profit target for scalp covers that may sell independently of the main DCA session.",
            "scalp_pb": "Scalp pullback",
            "scalp_pb_helper": "scalp trailing buffer",
            "scalp_pb_tooltip": "Retracement tolerated after scalp target is reached before selling the scalp cover.",
            "buy_weight": "Buy weight",
            "buy_weight_helper": "sum of cover multipliers",
            "buy_weight_tooltip": "Total cover multiplier weight after the initial order. Higher values require more reserved capital.",
            "avg_pb": "Avg pullback",
            "avg_pb_helper": "across cover levels",
            "avg_pb_tooltip": "Average pullback configured across cover levels.",
            "sheet_summary": "{{count}} covers | {{depth}} terminal depth | {{weight}}x buy weight",
            "grid_levels_helper": "{{scalp}} scalp / {{dca}} DCA"
        },
        "recommendation_card": {
            "confidence": "Confidence",
            "net_profit": "Active-regime return",
            "legacy_test_return": "Legacy test return",
            "max_dd": "Max DD",
            "safety": "Safety",
            "safety_gate": "Safety gate",
            "applied": "Applied",
            "historical": "Historical",
            "apply_desc": "Applying updates the bot strategy settings and eligible future cover levels.",
            "fitness_tooltip": "Validation Fitness (Strategy Quality): Measures how well these grid parameters performed in backtest simulations, summarizing net profit, Sharpe ratio, and drawdown control.",
            "confidence_tooltip": "Regime Confidence (Market Certainty): The machine learning model's certainty that the current live market matches this regime. Used by Auto-Apply to deploy parameters.",
            "sharpe": "Sharpe",
            "sharpe_tooltip": "Risk-adjusted return ratio.",
            "win_rate": "Win rate",
            "win_rate_tooltip": "Share of completed simulated sessions that closed profitably.",
            "sessions": "Sessions",
            "sessions_tooltip": "Completed sessions in the saved backtest metrics.",
            "overfit_gap": "Overfit gap",
            "overfit_gap_tooltip": "Train fitness minus validation fitness, in score points on the 0-100 scale. Lower is better; the safety gate fails above 30 points.",
            "expand": "Expand recommendation details",
            "collapse": "Collapse recommendation details",
            "applying": "Applying...",
            "apply_btn": "Apply Recommendation",
            "tooltip_validation_fitness": "Validation Fitness (Strategy Quality): Measures how well these grid parameters performed in backtest simulations, summarizing net profit, Sharpe ratio, and drawdown control.",
            "tooltip_confidence": "Legacy deployment-evidence score. Live regime probability is shown separately.",
            "tooltip_evidence": "Deployment evidence combines validation quality, safety, robustness and deployability checks. It is not live regime probability or a profit forecast.",
            "tooltip_sharpe": "Risk-adjusted return ratio.",
            "tooltip_win_rate": "Share of completed simulated sessions that closed profitably.",
            "tooltip_sessions": "Completed sessions in the saved backtest metrics.",
            "tooltip_overfit_gap": "Train fitness minus validation fitness, in score points on the 0-100 scale. Lower is better; the safety gate fails above 30 points."
        },
        "recommendation_list": {
            "no_history_title": "No recommendation history yet",
            "no_history_desc": "Completed optimizer runs will appear here by regime and creation date.",
            "history_title": "Recommendation History",
            "last_successful_run": "Last successful run",
            "loaded_count_one": "{{count}} loaded recommendation",
            "loaded_count_other": "{{count}} loaded recommendations",
            "latest_output": "Latest saved output:",
            "load_more": "Load More",
            "loaded_count": "Loaded Count"
        },
        "regime_status": {
            "current_market_regime": "Current market regime",
            "waiting_data": "Waiting for optimizer or live classifier data.",
            "active_market_regime": "Active market regime",
            "matching_recommendation": "Matching recommendation",
            "no_matching_recommendation": "No exact recommendation match",
            "family": "Family",
            "detected": "Detected",
            "tooltip_classifier": "The market regime classifier maps current trend, volatility, and volume conditions into a structural state. Recommendations are generated per regime because one grid does not behave equally well in every market.",
            "confidence_label": "{{confidence}} confidence",
            "current_regime": "Current market regime",
            "tooltip": "The market regime classifier maps current trend, volatility, and volume conditions into a structural state. Recommendations are generated per regime because one grid does not behave equally well in every market.",
            "active_regime": "Active market regime",
            "matching_rec": "Matching recommendation",
            "no_match": "No exact recommendation match",
            "warming_title": "Market condition detection warming up",
            "warming_desc": "The live classifier refreshes every 4 hours and publishes a condition once it has analyzed this market. Recommendations below remain usable — each one states the condition it was built for.",
            "live_market_condition": "Live market condition",
            "live": "Live",
            "stabilizing": "Stabilizing",
            "stabilizing_tooltip": "A condition is confirmed after 3 consecutive 4-hour readings agree. Until then this is the latest raw reading."
        },
        "run_optimization": {
            "run_in_progress": "Optimization run in progress",
            "progress": "Progress",
            "run_engine": "Run Optimizer Engine",
            "run_engine_desc": "Queue an optimizer study for this bot pair. A full run can take hours and saves only recommendations that pass validation and safety checks.",
            "start_run": "Start Run",
            "optuna_trials": "Optuna trials",
            "trials_desc": "Higher trials can improve local refinement but increase runtime. Fetch-only ignores this value.",
            "walk_forward_title": "Walk-forward",
            "walk_forward_desc": "12m train, 6m validation, 3m out-of-sample test.",
            "search_title": "Search",
            "search_desc": "Differential Evolution seeds Optuna TPE for regime-specific grids.",
            "saved_output_title": "Saved output",
            "saved_output_desc": "Only deployable recommendations are saved to history.",
            "run_failed": "Last run failed",
            "run_completed": "Last run completed"
        },
        "walk_forward": {
            "title": "Walk-forward validation",
            "tooltip": "Walk-forward validation searches on train data, selects parameters on validation data, then checks the selected setup on unseen test data. Stable validation and test scores are more credible than a high train score alone.",
            "desc": "Evidence quality depends on how much performance survives outside the optimization sample.",
            "gap_pct": "Δ {{gap}} pts",
            "retained": "{{pct}}% retained",
            "train": {
                "label": "Train",
                "sub": "search sample",
                "tooltip": "Train fitness is the score from the historical sample used to search parameter candidates. It is useful, but easiest to overfit."
            },
            "val": {
                "label": "Validation",
                "sub_fallback": "selection sample",
                "tooltip": "Validation fitness is measured on later data not used for the initial search. The optimizer uses it to choose a more robust candidate."
            },
            "test": {
                "label": "Test",
                "sub_fallback": "unseen sample",
                "tooltip": "Test fitness is measured on the final unseen slice. This is the closest proxy for how well the recommendation generalized."
            }
        },
        "backtest_tab": {
            "returns_title": "Returns & Benchmark",
            "risk_title": "Risk Profile",
            "execution_title": "Execution Dynamics",
            "readiness_title": "Validation & Readiness",
            "sessions_count_helper": "{{count}} completed sessions (min {{min}})",
            "capital": "Capital",
            "sharpe": "Sharpe",
            "sessions": "Sessions",
            "stuck_rate": "Stuck Rate",
            "deployability": "Deployability",
            "active_exposure": "Active exposure",
            "days_count": "{{count}} days",
            "occurrences_count": "{{count}} occurrences ({{evaluated}} evaluated)",
            "occurrences_count_short": "{{count}} episodes",
            "episode_quality": "Episode quality",
            "median_episode_return": "median {{value}} per episode",
            "median_episode_return_short": "median {{value}}",
            "benchmark_excess": "Vs active buy & hold",
            "benchmark_helper": "percentage-point excess",
            "no_metrics": "No backtest metrics found.",
            "phases": {
                "train_desc": "Global and local parameter search happens here.",
                "val_desc": "Candidates are selected on later unseen data.",
                "test_desc": "Final blind evaluation used for deployability evidence."
            },
            "validated_title": "How this recommendation was validated",
            "validated_desc": "The engine optimizes on historical regime episodes, validates parameter decay, then evaluates the selected setup on a blind test window using the high-fidelity spot-grid simulator.",
            "exchange": "Exchange",
            "profile": "Study depth",
            "profile_standard": "Standard",
            "profile_advanced": "Advanced validation",
            "search_space": "Search space",
            "epoch": "Epoch",
            "test_budget": "test budget",
            "test_split": "test split",
            "risk_adjusted": "risk-adjusted",
            "ceiling_pct": "ceiling {{pct}}",
            "closed_sessions": "closed sessions",
            "minimum_count": "minimum {{count}}",
            "limit_pct": "limit {{pct}}",
            "simulator_score": "simulator score",
            "safety_gate_checklist": "Safety gate checklist",
            "production_checks_desc": "Every production check must pass before saving.",
            "dataset_slices_title": "Dataset slices and testing conditions",
            "historical_range": "Historical range:",
            "interval": "Interval:",
            "mode": "Mode:",
            "grid_structure": "Grid structure",
            "scalp": "Scalp",
            "dca": "DCA",
            "optimization_pipeline": "Optimization pipeline",
            "classifier": "Classifier",
            "classifier_desc": "4h features, Viterbi decoding, stable label alignment.",
            "stage1": "Stage 1",
            "de": "Differential Evolution",
            "de_desc": "{{count}} generations, global search.",
            "stage2": "Stage 2",
            "optuna": "Optuna TPE",
            "optuna_desc_runs": "{{count}} local refinement trials.",
            "pchip_desc": "The grid is projected from an 18-dimensional smooth PCHIP search space instead of optimizing every cover independently, which keeps spacing and capital allocation coherent.",
            "simulator_assumptions": "Simulator assumptions",
            "fee_rate": "Fee rate",
            "min_notional": "Min notional",
            "capital_at_risk": "Capital at risk",
            "ending_dd": "Ending floating DD",
            "simulation_desc": "Simulation includes compounding, buy/sell fees, adverse deterministic slippage, and time-weighted exposure tracking.",
            "multifold_robustness": "Multi-fold robustness",
            "robustness": "Robustness",
            "stability": "Stability",
            "folds": "Folds",
            "overfit_ratio": "Overfit ratio",
            "robustness_helper": "0-100 composite score",
            "folds_helper": "Validated windows",
            "stability_helper": "Validation fitness standard deviation",
            "overfit_ratio_helper": "(train - validation) / train",
            "regime_coverage": "Regime coverage",
            "deployable_coverage": "Deployable coverage",
            "reduced_coverage": "Reduced coverage",
            "candles_count": "{{count}} candles",
            "search_diagnostics": "Search diagnostics",
            "unique_candidates": "Unique candidates",
            "duplicate_collapse": "Duplicate collapse",
            "best_de_fitness": "Best DE fitness",
            "win_rate": "Win rate",
            "tooltip_capital": "Simulated capital used for every backtest ($). Profit and return figures are measured against this budget - not against your bot's real funds.",
            "tooltip_net_profit": "Mark-to-market return produced only during evaluated occurrences of this target regime in the blind test. Episode returns are chained on the full simulated capital allocation; the line below shows the same total P&L in dollars.",
            "tooltip_legacy_test_return": "Legacy recommendations used the former full-test-period return calculation. Regenerate the recommendation to obtain regime-active mark-to-market evidence.",
            "tooltip_active_exposure": "Elapsed time and number of occurrences in which the target regime was present in the blind test. Calendar gaps between occurrences are excluded.",
            "tooltip_episode_quality": "Share of evaluated target-regime episodes with a positive mark-to-market return. The median helps reveal whether one exceptional occurrence dominates the total.",
            "tooltip_benchmark_excess": "Strategy return minus a frictionless buy-and-hold return over the same target-regime episodes. This context metric is not used to inflate ranking or pass safety gates.",
            "tooltip_sharpe": "Risk-adjusted return ratio. Higher values indicate better return per unit of volatility.",
            "tooltip_max_dd": "Maximum observed drawdown during the blind test window.",
            "tooltip_win_rate": "Share of completed sessions that closed in profit.",
            "tooltip_sessions": "Completed grid sessions in the test split. Too few sessions can make performance unreliable.",
            "tooltip_stuck": "Ratio of simulated sessions that remained unresolved. Lower is better.",
            "tooltip_score": "Internal simulator score representing how safely the configuration can be deployed.",
            "tooltip_robustness": "Engine-computed composite: average validation fitness weighted at 60%, stability penalty at 20%, and overfit penalty at 20%. Displayed as score points.",
            "tooltip_folds": "Number of completed walk-forward folds used in the optional robust validation run.",
            "tooltip_stability": "Standard deviation of validation fitness across completed folds, displayed in score points. Lower is steadier.",
            "tooltip_overfit_ratio": "Average train-to-validation degradation across folds: (train fitness - validation fitness) / train fitness. Negative means validation outperformed training.",
            "classifier_value": "Edge GMM-HMM",
            "net_profit_usd": "{{amount}} $ mark-to-market P&L on {{capital}} $",
            "engine_verdict": "Engine verdict",
            "engine_verdict_tooltip": "This verdict was computed and stored by the optimization engine itself when the study finished — it is not re-derived by the dashboard.",
            "data_advisory_title": "Limited native candle history on this exchange",
            "data_advisory_desc": "This study trained on {{months}} months of {{exchange}} history — the full train/validation/test window needs about {{required}} months. Using Binance's deeper history as the training baseline would give a more reliable foundation, while fees, order constraints and the resulting recommendations stay specific to {{exchange}}.",
            "data_baseline_note": "Trained on the {{dataExchange}} data baseline for deeper history. Fees, order constraints and this recommendation remain specific to {{exchange}}.",
            "compact_windows": "Compact windows",
            "tooltip_compact_windows": "History was too short for the standard 12/6/3-month windows, so shorter 6/3/2-month windows were used. The scores are genuine out-of-sample results but rest on less data.",
            "wf_insufficient_title": "Not enough history for multi-fold validation",
            "wf_insufficient_desc": "No walk-forward fold contained enough exclusive data for this market condition ({{months}} months of history available). The scores are intentionally left blank instead of showing misleading zeros — the holdout validation above still applies.",
            "folds_validated": "{{validated}} / {{count}}",
            "folds_validated_helper": "Validated windows / folds",
            "passed": "Passed",
            "performance_safety_desc": "Key metrics, Walk-Forward fitness score & production safety gates",
            "performance_safety_title": "Performance Metrics & Safety Checklist",
            "completed_cycles": "Completed Cycles",
            "max_drawdown_label": "Max Drawdown",
            "scalps_short": "scalps",
            "sess_short": "sess",
            "sharpe_label": "Sharpe Ratio"
        },
        "overview_tab": {
            "no_params_title": "No optimized parameters exist for the current regime.",
            "no_params_desc": "Run the engine to fetch data, train the regime model, optimize grids, and save recommendations that pass safety validation.",
            "run_btn": "Run Optimizer Now",
            "type_label": "Regime-specific recommendation",
            "applied_badge": "Currently applied",
            "title": "Recommended grid for {{regime}}",
            "description": "Generated from the optimizer's 18-parameter smooth grid search, tuned for this market regime, and tested on walk-forward train, validation, and out-of-sample data.",
            "created": "Created",
            "search_mode": "Search mode",
            "trials": "Trials",
            "interval": "Interval",
            "validation_fitness": "Validation fitness",
            "test_net_profit": "Test net profit",
            "out_of_sample_split": "out-of-sample split",
            "max_drawdown": "Max drawdown",
            "completed_sessions_count": "{{count}} completed sessions",
            "safety_desc": "Saved recommendations are expected to pass the gate before deployment. Older payloads may omit some detailed metrics.",
            "deployment_path": "Deployment path",
            "est_remaining_capital": "Est. remaining capital: {{remaining}} / {{available}} {{unit}}",
            "execution_model": "Execution model",
            "high_fidelity_simulator": "High-fidelity simulator",
            "execution_model_desc": "Test metrics include compounding, buy and sell fees, deterministic slippage, and time-weighted capital utilization.",
            "execution_details": "Fee: {{fee}} | Utilization: {{utilization}}",
            "apply_notice": "Applying updates live configuration on {{exchange}}. Active grids are protected by index and remaining-capital checks before cover sizes are changed.",
            "applying": "Applying recommendation...",
            "apply_btn": "Apply Optimized Grid",
            "applied_label": "Recommendation Applied",
            "tooltip_created": "When this optimized recommendation was generated by the engine.",
            "tooltip_search_mode": "The search strategy algorithm used to scan parameters.",
            "tooltip_trials": "Number of strategy backtests simulated during the optimization run.",
            "tooltip_interval": "Historical data candle resolution used for backtest simulation.",
            "tooltip_confidence": "Regime Confidence (Market Certainty): Machine learning classifier's certainty that the current live market structure matches this regime. Auto-Apply uses this score against the configured threshold to activate parameters.",
            "tooltip_validation_fitness": "Validation Fitness (Strategy Quality): Measures how well these grid parameters performed in validation backtests, weighting returns, Sharpe ratio, drawdown control, and capital utilization.",
            "tooltip_test_net_profit": "Net profit measured on the final blind test period. This is the most relevant profitability evidence.",
            "tooltip_max_drawdown": "Largest peak-to-trough drawdown observed during the test simulation.",
            "tooltip_win_rate": "Share of completed simulated sessions that closed profitably."
        },
        "run_panel": {
            "modes": {
                "full": {
                    "label": "Full Pipeline",
                    "desc": "Fetch data, train GMM-HMM classifier, optimize, validate, safety-gate, and save recommendations."
                },
                "optimize": {
                    "label": "Optimize Only",
                    "desc": "Reuse available market data/model artifacts and run the parameter search plus validation."
                },
                "fetch": {
                    "label": "Fetch Data Only",
                    "desc": "Refresh candles without creating recommendations."
                }
            },
            "running_title": "Optimization run in progress",
            "started_at": "Started",
            "status_label": "Status {{status}}",
            "progress": "Progress",
            "title": "Run Optimizer Engine",
            "desc": "Queue an optimizer study for this bot pair. A full run can take hours and saves only recommendations that pass validation and safety checks.",
            "start_btn": "Start Run",
            "optuna_trials": "Optuna trials",
            "optuna_desc": "Higher trials can improve local refinement but increase runtime. Fetch-only ignores this value.",
            "walk_forward": "Walk-forward",
            "walk_forward_desc": "12m train, 6m validation, 3m out-of-sample test.",
            "search": "Search",
            "search_desc": "Differential Evolution seeds Optuna TPE for regime-specific grids.",
            "saved_output": "Saved output",
            "saved_output_desc": "Only deployable recommendations are saved to history.",
            "last_failed": "Last run failed",
            "last_completed": "Last run completed",
            "created_count": "Created {{count}}",
            "rejected_count": "Rejected {{count}}",
            "mode_label": "Pipeline mode",
            "profile_label": "Study depth",
            "effective_cap": "Effective cap on {{profile}}: ~{{count}} trials",
            "walk_forward_na": "Not applicable to this mode.",
            "profiles": {
                "standard": {
                    "label": "Standard",
                    "desc": "Faster study using holdout validation"
                },
                "advanced": {
                    "label": "Advanced validation",
                    "desc": "Deeper search with walk-forward robustness"
                }
            },
            "data_baseline": "Binance data baseline",
            "data_baseline_suggested": "Suggested",
            "data_baseline_desc": "Train on Binance's deeper candle history instead of this exchange's native archive. Fees, order constraints and the saved recommendations stay specific to this exchange.",
            "data_baseline_desc_suggested": "Only {{months}} months of native candle history are available here — below the ~21 months the full train/validation/test window needs. Training on Binance's deeper history gives a more reliable baseline; fees, order constraints and the saved recommendations stay specific to this exchange.",
            "admin_notice": "Admin Notice",
            "insufficient_exchange_data_desc": "The target exchange ({{exchange}}) lacks the 2 years of continuous candle data required for reliable regime modeling. The optimizer will automatically use the Binance deep candle baseline for training and walk-forward validation, while preserving {{exchange}} taker fees, minimum notional constraints, and live order execution rules.",
            "insufficient_exchange_data_title": "Target Exchange History Advisory"
        },
        "presentation": {
            "unknown_regime": "Unknown regime",
            "confidence": {
                "high": {
                    "label": "High conviction",
                    "desc": "The classifier strongly maps current market data to this regime."
                },
                "moderate": {
                    "label": "Moderate conviction",
                    "desc": "The regime match is usable, but price structure can still rotate."
                },
                "low": {
                    "label": "Low conviction",
                    "desc": "Treat the regime signal as uncertain and prefer manual review."
                }
            },
            "evidence": {
                "high": {
                    "label": "Strong evidence",
                    "desc": "The candidate has strong deployment evidence across the persisted validation gates."
                },
                "moderate": {
                    "label": "Moderate evidence",
                    "desc": "The candidate is usable, but its deployment evidence warrants closer review."
                },
                "low": {
                    "label": "Limited evidence",
                    "desc": "Prefer manual review until stronger validation evidence is available."
                }
            },
            "fitness": {
                "strong": {
                    "label": "Strong evidence"
                },
                "balanced": {
                    "label": "Balanced evidence"
                },
                "thin": {
                    "label": "Thin evidence"
                }
            },
            "drawdown": {
                "controlled": {
                    "label": "Controlled drawdown"
                },
                "elevated": {
                    "label": "Elevated drawdown"
                },
                "high": {
                    "label": "High drawdown"
                }
            },
            "overfitting": {
                "stable": {
                    "label": "Stable validation"
                },
                "warning": {
                    "label": "Overfit Warning"
                },
                "risk": {
                    "label": "Overfit risk"
                }
            },
            "regime": {
                "capitulation": {
                    "family": "Capitulation"
                },
                "shock": {
                    "family": "Shock"
                },
                "crash": {
                    "desc": "Abrupt downside pressure. The optimizer should favor wider spacing, capital preservation, and slower re-entry.",
                    "bias": "Wider downside coverage, lower urgency, tighter capital control."
                },
                "downtrend": {
                    "family": "Defensive trend",
                    "desc": "Downward trend structure. Recommended grids usually avoid overbuying early and reserve capital for deeper covers.",
                    "bias": "Deeper cover ladder with more caution before scaling in."
                },
                "uptrend": {
                    "family": "Momentum trend",
                    "desc": "Upside trend structure. The optimizer can keep the grid closer to price and prioritize faster realization.",
                    "bias": "Closer entries, quicker profit capture, less idle capital."
                },
                "high_vol_range": {
                    "family": "High-volatility range"
                },
                "range": {
                    "family": "Range market",
                    "desc": "Mean-reverting or sideways structure. The optimizer should balance frequent scalp exits with enough depth for false breaks.",
                    "bias": "Balanced spacing with higher emphasis on scalp recycling."
                },
                "low_vol": {
                    "family": "Low-volatility accumulation",
                    "desc": "Quiet accumulation structure. The optimizer can use tighter, smoother entries but should avoid assuming breakout momentum.",
                    "bias": "Tighter incremental gaps with measured scalp recycling."
                },
                "mixed": {
                    "family": "Mixed regime",
                    "desc": "Mixed market structure. Review deployment evidence and backtest stability before applying automatically.",
                    "bias": "Balanced grid with no single directional assumption."
                }
            },
            "safety": {
                "overfitting": {
                    "label": "Overfitting gap",
                    "desc": "Train fitness should not exceed validation fitness by too much."
                },
                "profit": {
                    "label": "Active-regime P&L",
                    "desc": "Target-regime episodes in the blind test must have positive mark-to-market P&L on allocated capital."
                },
                "drawdown": {
                    "label": "Max drawdown",
                    "desc": "Out-of-sample drawdown must stay inside the configured risk ceiling."
                },
                "sessions": {
                    "label": "Completed sessions",
                    "desc": "Avoids saving strategies that only won one oversized or stuck trade."
                },
                "stuck": {
                    "label": "Stuck sessions",
                    "desc": "Limits sessions that remain unresolved at the end of simulation."
                },
                "ending_drawdown": {
                    "label": "Ending floating DD",
                    "desc": "Prevents hiding a large unrealized loss at the end of the test window."
                },
                "roi": {
                    "label": "Active-regime ROI",
                    "desc": "Chained target-regime episodes in the blind test must clear the configured return on allocated capital."
                },
                "degradation": {
                    "label": "Val-to-test decay",
                    "desc": "Checks whether performance decayed too much between validation and blind test data."
                },
                "profit_factor": {
                    "desc": "Economic gains must outweigh realized losses, fees, and terminal unrealized losses.",
                    "label": "Profit factor"
                },
                "return_over_drawdown": {
                    "desc": "Requires enough return for the drawdown incurred.",
                    "label": "Return / drawdown"
                },
                "sharpe": {
                    "desc": "Requires positive risk-adjusted out-of-sample returns.",
                    "label": "Test Sharpe"
                }
            },
            "deployment": {
                "structural_label": "Structural update likely",
                "dynamic_label": "Dynamic-only fallback possible",
                "active_desc": "Active positions are protected. Bought levels remain intact; future covers may be rebuilt only if balance and index checks pass.",
                "inactive_desc": "No active exposure is detected, so the recommendation can replace the full grid structure."
            },
            "score_points": "{{value}} pts"
        },
        "deployment": {
            "full_badge": "Full",
            "partial_badge": "Partial",
            "full_title": "Recommendation fully deployed",
            "partial_title": "Dynamic update applied; grid structure preserved",
            "full_practical": "The bot now uses the optimized execution settings and the eligible grid levels from this recommendation. Already-open positions remain preserved.",
            "partial_practical": "The bot now uses the optimized take-profit and retracement behavior. Position sizing and the ladder shape remain anchored to the active grid until a full structural update is safe.",
            "reason_label": "Why partial:",
            "updated_now": "Updated now",
            "updated_now_tooltip": "These execution settings (take-profit, pullback) are dynamic and take effect on the very next price update without affecting existing open positions.",
            "left_unchanged": "Left unchanged",
            "left_unchanged_tooltip": "These structural parameters (order sizes, multipliers, covers) are locked during active sessions to protect open positions.",
            "structural_result": "Structural result",
            "structural_result_tooltip": "These structural parameters (order sizes, multipliers, covers) have been successfully written to the bot configuration.",
            "covers_deleted_from_index": "Deleted starting from index",
            "cover_rows_deleted": "Cover rows deleted",
            "cover_rows_written": "Cover rows written",
            "cover_rows_updated": "Covers updated in-place",
            "structural_skipped": "Structural updates",
            "skipped_status": "Skipped (active positions open)",
            "no_dynamic_details": "Dynamic settings were applied.",
            "partial_locked_defaults": "Initial order size, buy multipliers, and cover count were not rewritten.",
            "full_structural_defaults": "Eligible cover rows were rebuilt from the recommendation.",
            "retry_full_btn": "Re-evaluate remaining changes",
            "partial_scheduled_title": "Optimized settings live — grid restructure scheduled",
            "scheduled_badge": "Scheduled",
            "timeline_title": "Deployment timeline",
            "timeline_now": "Applied immediately",
            "timeline_now_desc": "Take-profit, retracement and safe grid adjustments — active on the very next price tick.",
            "timeline_pending": "Grid restructure — scheduled",
            "timeline_pending_badge": "Next session start",
            "timeline_pending_desc": "Initial order size, buy multipliers and cover count are rebuilt automatically the moment the current session closes and a new one begins — the exact point where no open position can be disrupted. No action is needed from you.",
            "pending_next_session": "Grid restructure is scheduled automatically for the next session start."
        },
        "advisor": {
            "badge": "AI recommendation",
            "headline": "Grid tuned for {{regime}} conditions",
            "generated": "Generated",
            "aging": "Aging data",
            "reliability": "Reliability",
            "trust_tooltip": "Aggregated from the safety gate verdict, deployability confidence, data freshness, and whether the strategy matches the live market condition.",
            "fact_return": "Backtested return",
            "fact_return_helper": "3-month blind test",
            "fact_return_helper_usd": "{{amount}} on {{capital}} test capital",
            "tooltip_return": "Return produced on the most recent 3 months of data, which the optimizer never saw during training. Past performance does not guarantee future results.",
            "fact_drawdown": "Worst drawdown",
            "tooltip_drawdown": "Largest peak-to-trough loss during the blind test. This is the kind of temporary loss you should be prepared to sit through.",
            "fact_safety": "Safety checks",
            "fact_safety_ok": "All production gates passed",
            "fact_safety_warn": "Review before applying",
            "tooltip_safety": "Independent checks on unseen data: profitability, drawdown ceiling, overfitting, completed sessions, stuck sessions and decay. The verdict shown is the engine's own decision at optimization time.",
            "fact_confidence": "Confidence",
            "fact_confidence_helper": "Deployability score",
            "tooltip_confidence": "How confident the engine is that this configuration can be deployed as-is, based on data coverage, validation consistency and simulator behavior. Not a profit prediction.",
            "mismatch_notice": "The live market condition is currently {{current}}, and no fresh strategy exists for it yet. You are viewing the closest available strategy, built for {{rec}}. It remains safe to apply — the auto-adaptation service will switch parameters when a matching strategy becomes available.",
            "how_built": "How this was built"
        },
        "trust": {
            "high": "High reliability",
            "medium": "Moderate reliability",
            "low": "Use with caution",
            "reason_gate_ok": "Passed every out-of-sample safety check",
            "reason_gate_fail": "Failed {{count}} safety check(s) on unseen data",
            "reason_confidence_ok": "Solid deployability confidence ({{pct}}%)",
            "reason_confidence_low": "Modest deployability confidence ({{pct}}%)",
            "reason_evidence_ok": "Solid deployment evidence ({{pct}}%)",
            "reason_evidence_low": "Limited deployment evidence ({{pct}}%)",
            "reason_fresh": "Built on recent market data",
            "reason_aging": "{{days}} days old — market has moved since",
            "reason_regime_match": "Tuned for the market condition detected right now",
            "reason_regime_mismatch": "Tuned for a different market condition than the current one",
            "reason_regime_unknown": "Live market condition not confirmed yet"
        },
        "gate": {
            "safety_ok": "All production safety gates passed",
            "safety_fail": "{{count}} safety gate(s) failed on unseen data",
            "safety_desc": "The recommendation must pass every out-of-sample check (profitability, drawdown, overfitting, stuck sessions, decay).",
            "fresh": "Recommendation is fresh",
            "freshness_desc": "Recommendations older than 30 days are blocked until a fresh study is generated.",
            "model_fail": "Live market model is unavailable or recovering",
            "model_desc": "The online regime classifier must report a healthy state before any strategy can be deployed.",
            "regime_unconfirmed": "Market condition is not yet confirmed",
            "regime_confirmed_desc": "A condition is confirmed after 3 consecutive 4-hour readings agree. This prevents acting on transient noise.",
            "epoch_fail": "Recommendation is not synchronized with the live model",
            "epoch_desc": "The recommendation, the live classifier, and the optimizer state must all share the same model epoch.",
            "regime_unknown": "Live market condition not confirmed yet",
            "match_desc": "The recommendation's target regime must match the confirmed live regime to be deployable.",
            "checklist_title": "Application requirements",
            "epoch_ok": "Model generation is synchronized",
            "match": "Strategy matches the live market condition",
            "mismatch": "Strategy does not match the live market condition",
            "model_ok": "Live market model is healthy",
            "regime_confirmed": "Market condition is confirmed",
            "stale": "Recommendation is {{days}} days old"
        },
        "request_panel": {
            "queued_title": "Study queued",
            "queued_desc": "Your request is in line behind other studies. It starts automatically — feel free to close this page; results are saved for every bot trading this pair.",
            "running_title": "Analyzing this market",
            "running_desc": "Fetching market history, classifying conditions and searching for robust parameters. A full study can take a while — results appear here automatically.",
            "started": "Started",
            "refresh_title": "Refresh recommendations",
            "refresh_desc": "Recommendations refresh automatically every week. A manual refresh is available once the current ones become stale.",
            "generate_title": "Generate recommendations for this pair",
            "generate_desc": "Launch a full study for this market: about two years of price history, market condition classification, and a validated parameter search. Results are shared with every bot trading this pair.",
            "last_study": "Last completed study:",
            "refresh_btn": "Request refresh",
            "generate_btn": "Generate now",
            "reused_msg": "Your recommendations are already fresh — a new study would produce nearly identical results. A refresh becomes available once they are older than 30 days.",
            "budget_msg": "The daily budget for on-demand studies is used up — this protects execution quality for live bots. Your pair stays in line for the automatic daily sweep.",
            "cooldown_msg": "You recently requested a study. You can request another one {{delay}}.",
            "failed_msg": "The study could not be dispatched. Please try again in a few minutes.",
            "retry_soon": "shortly",
            "retry_hours": "in about {{count}} hours",
            "retry_minutes": "in about {{count}} minutes"
        },
        "stages": {
            "starting": "Preparing the study",
            "fetching": "Fetching market history",
            "training": "Training the market condition model",
            "preparing": "Slicing data by market condition",
            "optimizing": "Optimizing strategy {{counts}} — {{regime}}",
            "finalizing": "Validating and saving the recommendation set",
            "publishing": "Detecting the current market condition",
            "done": "Completed",
            "failed": "Failed",
            "sub_nsga": "Refinement",
            "sub_scenarios": "Scenario Testing",
            "sub_sobol": "Exploration",
            "sub_wf": "Walk-Forward fold{{folds}}"
        },
        "snackbars": {
            "apply_success": "Recommendation applied successfully",
            "apply_partial": "Safe changes are active; every remaining field has a recorded trigger.",
            "deployment_queued": "Deployment request queued for a safe, state-aware evaluation.",
            "partial_queued": "Partial apply queued; only currently safe and eligible parameters will change.",
            "complete_queued": "Complete strategy override queued; settings and the full cover grid will be replaced after hard validation.",
            "apply_failed": "Failed to apply recommendation"
        },
        "deployment_errors": {
            "general_error": {
                "title": "Deployment Failed",
                "desc": "An unexpected error occurred while applying the recommendation."
            },
            "regime_mismatch": {
                "title": "Market Condition Mismatch",
                "desc": "This recommendation targets a different market condition than what is currently confirmed live. Automatic deployment is blocked until conditions match."
            },
            "model_not_ready": {
                "title": "Optimizer Model Warming Up",
                "desc": "The live market classifier is currently initializing or updating. Please wait a few minutes before requesting a deployment."
            },
            "stale_recommendation": {
                "title": "Recommendation Too Old",
                "desc": "This recommendation was generated over 30 days ago. The market has moved since then, so deployment is blocked."
            },
            "strategy_integrity": {
                "title": "Strategy Integrity Error",
                "desc": "The target configuration failed internal validation checks or conflicts with the bot's current state version."
            },
            "active_session": {
                "title": "Session Containment",
                "desc": "The bot is currently running an active trading session. Disruptive changes are blocked to protect open positions."
            },
            "config_version": {
                "title": "Configuration Version Mismatch",
                "desc": "The bot's configuration was updated in another window since you loaded this page."
            },
            "deployment_in_progress": {
                "title": "Deployment Already Running",
                "desc": "A deployment or evaluation is already in progress for this bot."
            },
            "safety_gate": {
                "title": "Safety Checks Failed",
                "desc": "This recommendation failed production safety and backtest checks on unseen market data."
            },
            "schema_compatibility": {
                "title": "Incompatible Artifact",
                "desc": "This recommendation uses an unsupported parameter schema or missing artifact manifest."
            },
            "exchange_mismatch": {
                "title": "Exchange or Pair Mismatch",
                "desc": "This recommendation belongs to a different trading pair or exchange than the current bot."
            },
            "action_run_study": "Run new study",
            "action_refresh": "Refresh page",
            "action_retry": "Retry deployment"
        },
        "application_method": {
            "automatic": "Automatic",
            "manual": "Manual",
            "scheduled": "Scheduled"
        },
        "gates": {
            "active_session_hard_containment": {
                "label": "Active Trading Session",
                "message": "The bot is managing active trades. Strategy updates are deferred until position is flat."
            },
            "config_version_mismatch": {
                "label": "Updated Dashboard Version",
                "message": "Please refresh your page to synchronize with the latest server configuration."
            },
            "configuration_schema_supported": {
                "label": "Compatible Strategy Format",
                "message": "This recommendation uses an older or unsupported strategy format that cannot be deployed automatically."
            },
            "deployment_in_progress": {
                "label": "Deployment In Progress",
                "message": "Another deployment request is currently being processed for this bot."
            },
            "deployment_plan_blocked": {
                "label": "Active Trading Session",
                "message": "The bot is managing active trades. Settings will update automatically when the session completes."
            },
            "effective_revision_consistent": {
                "label": "Synchronized Bot Configuration",
                "message": "Your bot settings were modified directly. Please save your current strategy settings before deploying a new recommendation."
            },
            "exchange_match": {
                "label": "Matching Exchange",
                "message": "The recommendation exchange does not match this bot's exchange."
            },
            "live_regime_confirmed": {
                "label": "Stable Market Environment",
                "message": "Market conditions are currently changing too quickly. The system requires a stable market analysis before applying adjustments.",
                "risk": "The recommendation may not fit the regime that is active when orders are placed."
            },
            "live_state_in_distribution": {
                "label": "Normal Market Activity",
                "message": "Current market volatility is outside the model's tested safety boundaries, so changes are paused for your protection.",
                "risk": "Performance outside the model's tested distribution is unknown and losses may be materially larger than simulated."
            },
            "model_artifact_ready": {
                "label": "Ready Optimizer File",
                "message": "The system is still finalizing the optimizer AI file required to calculate recommendation decisions.",
                "risk": "The recommendation cannot be checked against the currently active model artifact."
            },
            "model_epoch_match": {
                "label": "Synchronized Model Version",
                "message": "This recommendation was generated with an older version of the AI model. A fresh analysis is recommended.",
                "risk": "Model assumptions may have changed since this recommendation was generated."
            },
            "model_ready": {
                "label": "Active Optimizer Engine",
                "message": "The optimization engine is currently performing background updates and will be ready shortly.",
                "risk": "Current model health has not been confirmed for this deployment."
            },
            "parameter_integrity": {
                "label": "Valid Strategy Parameters",
                "message": "The recommendation parameters failed numerical range or safety checks."
            },
            "recommendation_artifact_published": {
                "label": "Published Recommendation File",
                "message": "This strategy recommendation is missing its official verified configuration file or is no longer valid.",
                "risk": "Publication provenance or eligibility cannot be verified even though the parameter data itself remains schema-valid."
            },
            "recommendation_fresh": {
                "label": "Fresh Recommendation",
                "message": "This recommendation is too old. Run a new optimization study to generate up-to-date settings.",
                "risk": "Older market evidence may no longer represent current volatility, liquidity, or trend behavior."
            },
            "regime_match": {
                "label": "Matching Market Strategy",
                "message": "This recommendation was designed for a different market condition than what is currently active (e.g. trending vs. ranging).",
                "risk": "A strategy tuned for another regime may enter too often, miss exits, or deepen drawdowns."
            },
            "safety_gate": {
                "label": "Risk & Protection Checks",
                "message": "One or more optimizer validation checks failed.",
                "risk": "The recommendation may be overfit, unprofitable, under-tested, or expose the bot to excessive drawdown."
            },
            "safety_gate_overfitting": {
                "label": "Overfitting check",
                "message": "Training performance did not hold up in validation.",
                "risk": "The strategy may fit historical noise and fail in live markets."
            },
            "safety_gate_profit": {
                "label": "Out-of-sample profit check",
                "message": "The recommendation did not meet the required test profit.",
                "risk": "The strategy may lose money under unseen market data."
            },
            "safety_gate_drawdown": {
                "label": "Maximum drawdown check",
                "message": "Test drawdown exceeded the configured ceiling.",
                "risk": "Losses and recovery time may exceed the accepted risk limit."
            },
            "safety_gate_sessions": {
                "label": "Completed sessions check",
                "message": "Too few simulated trading sessions completed.",
                "risk": "The evidence sample is too small to support reliable conclusions."
            },
            "safety_gate_stuck": {
                "label": "Stuck-session check",
                "message": "Too many simulated sessions remained open.",
                "risk": "Capital may remain trapped in positions for long periods."
            },
            "safety_gate_ending_drawdown": {
                "label": "Ending exposure check",
                "message": "The test ended with excessive unrealized drawdown.",
                "risk": "Reported results may hide unresolved losing positions."
            },
            "safety_gate_roi": {
                "label": "Return-on-investment check",
                "message": "Test ROI did not meet the minimum requirement.",
                "risk": "Expected returns may not compensate for capital use and trading risk."
            },
            "safety_gate_degradation": {
                "label": "Validation-to-test degradation check",
                "message": "Performance degraded too sharply on the unseen test period.",
                "risk": "The recommendation may not generalize beyond its validation data."
            },
            "search_space_supported": {
                "label": "Supported Optimization Version",
                "message": "This recommendation was created with a legacy optimization search space."
            },
            "strategy_integrity_clear": {
                "label": "Valid Strategy Parameters",
                "message": "The strategy settings contain invalid or out-of-range parameters."
            },
            "symbol_match": {
                "label": "Matching Trading Pair",
                "message": "The recommendation trading symbol does not match this bot's configured symbol."
            },
            "auto_apply_disabled": {
                "label": "Auto-Apply Status",
                "message": "Automatic optimizer deployment is disabled for this bot. Candidate recommendations are held for manual review."
            },
            "automatic_candidate_selection": {
                "label": "Automatic Rollout Evaluation",
                "message": "No recommendation was selected for automatic rollout. Your current strategy remains active."
            },
            "evidence_below_threshold": {
                "label": "Confidence Threshold Unmet",
                "message": "Recommendation evidence score is below your bot's configured auto-apply threshold."
            },
            "incumbent_evidence_mismatch": {
                "label": "Baseline Evidence Mismatch",
                "message": "Baseline evidence mismatch against your bot's active strategy configuration."
            },
            "evidence_invalid": {
                "label": "Incomplete Validation Evidence",
                "message": "The optimizer evidence payload is incomplete or inconsistent."
            },
            "artifact_identity_mismatch": {
                "label": "Optimizer File Mismatch",
                "message": "The optimizer file does not match its published recommendation."
            },
            "regime_not_stable": {
                "label": "Unstable Market Regime",
                "message": "Market regime shift detected; waiting for a stable market analysis."
            },
            "uplift_not_material": {
                "label": "Insufficient Profit Gain",
                "message": "The estimated gain from this strategy update is too small to justify changing settings right now."
            },
            "drawdown_regression": {
                "label": "Drawdown Risk Limit Exceeded",
                "message": "Recommendation drawdown exceeds allowable safety limits."
            },
            "cooldown_active": {
                "label": "Waiting Period Active",
                "message": "To prevent excessive parameter changes, the system requires a brief waiting period between strategy updates."
            },
            "change_budget_exhausted": {
                "label": "Daily Change Budget Reached",
                "message": "Daily change budget limit reached."
            },
            "automatic_change_already_selected_this_candle": {
                "label": "Candle Adjustment Limit",
                "message": "A strategy adjustment was already applied in the current 4-hour market candle."
            },
            "bot_paused": {
                "label": "Bot Execution Status",
                "message": "The bot is currently paused and will reconsider optimizer recommendations upon resume."
            },
            "confidence_threshold": {
                "label": "Confidence Threshold",
                "message": "The recommendation evidence score does not clear the bot's minimum confidence threshold."
            },
            "recommendation_available": {
                "label": "Recommendation Available",
                "message": "A strategy recommendation is available and analyzed for the active market regime."
            },
            "paired_evidence_unavailable": {
                "label": "Baseline Comparison Pending",
                "message": "A paired comparison for this bot's active strategy baseline is not available yet."
            }
        },
        "sample_context": {
            "avg": "avg",
            "card_subtitle": "Contextual sample size and multi-phase validation comparison",
            "card_title": "Regime Occurrences & Split Breakdown",
            "edu_desc": "A modest Test ROI often reflects that this market condition occurred only briefly during the blind test period, limiting the number of completed trade cycles. Compare against the Validation Split below to evaluate performance across broader market cycles.",
            "edu_title": "Understanding Sample Size & ROI",
            "episode": "episode",
            "episodes": "episodes",
            "header_tooltip": "Occurrences & average duration of this regime in the test split. Brief market regimes may complete fewer cycles in test; check validation split details below.",
            "test_share_badge": "Test Window Presence:",
            "test_split_title": "Test Split (Blind Holdout)",
            "val_roi": "Validation ROI",
            "val_split_title": "Validation Split (Search Selection)"
        },
        "brief": {
            "autoApply": "Auto-apply",
            "autoEnabled": "Eligible recommendations can update this bot automatically.",
            "autoDisabled": "You review and approve each recommendation.",
            "on": "On",
            "off": "Off",
            "minimumConfidence": "Minimum confidence",
            "save": "Save",
            "autoChecks": "Only recommendations that also pass market, testing and bot safety checks can be applied automatically. Open positions may delay some changes.",
            "integrityBlocked": "Automatic updates are paused because the bot’s strategy state needs reconciliation. Check the bot’s alerts before retrying.",
            "marketData": "Market data",
            "testPeriod": "Final test period",
            "notRecorded": "Not recorded",
            "dataSource": "Data source",
            "testCapital": "Simulated capital",
            "quoteCurrency": "in the pair’s quote currency",
            "fees": "Trading fee per order",
            "testEpisodes": "Market episodes tested",
            "methodology": "Configurations are selected using earlier market data, then checked against later historical periods. Return includes open-position value and simulated trading costs. These are simulations, not live trading results.",
            "historical": "Historical test results",
            "historicalHelp": "How these settings performed in a simulation of past market conditions.",
            "return": "Return",
            "drawdown": "Maximum drawdown",
            "sessions": "Completed sessions",
            "stuck": "Stuck sessions",
            "simulationRisk": "Historical performance is not a forecast. Capital can remain tied up in open positions.",
            "missingTest": "A recorded final test is not available for this result.",
            "status": {
                "loading": "Checking your optimizer",
                "loadingHelp": "Loading market conditions and recommendations.",
                "unavailable": "Updates unavailable",
                "queued": "Update queued",
                "applying": "Applying recommendation",
                "partial": "Partially applied",
                "deferred": "Update waiting",
                "waitingHelp": "The server is checking when these settings can take effect.",
                "applied": "Recommendation applied",
                "appliedHelp": "Your bot is using these settings. You can check for an update as market conditions change.",
                "stale": "Recommendation needs a refresh",
                "staleHelp": "The available study no longer reflects the latest market analysis. Request an updated recommendation.",
                "blocked": "Update not applied",
                "available": "Recommendation available",
                "availableHelp": "A strategy has been tested for this market. Compare it with your current settings before deciding.",
                "analyzing": "Analyzing your market",
                "analyzingHelp": "We’re comparing settings against past market conditions. Your bot keeps its current settings.",
                "failed": "Analysis could not finish",
                "noHistory": "There is not enough historical market data to run this study yet.",
                "failedHelp": "The study did not complete, so no new result is ready. Try requesting the recommendation again.",
                "waiting": "Waiting for market confirmation",
                "waitingMarket": "A fresh market condition is not available. Saved recommendations are listed below.",
                "insufficient": "No current recommendation",
                "insufficientHelp": "Check whether another strategy suits this market. Requesting an analysis won’t change your bot’s settings."
            },
            "applyBlocked": "The last update could not proceed. Review it again to see the current reason.",
            "marketUnknown": "Awaiting market analysis",
            "marketUnknownHelp": "A current market condition has not been confirmed yet.",
            "stage": {
                "queued": "Waiting to start",
                "market": "Analyzing market",
                "validation": "Validating configurations",
                "testing": "Testing suitable configurations",
                "publishing": "Preparing recommendations",
                "running": "Analysis in progress"
            },
            "field": {
                "takeProfit": "Session take profit",
                "retracement": "Session profit retracement",
                "scalpProfit": "Scalping take profit",
                "scalpRetracement": "Scalping profit retracement",
                "initialBuy": "Initial buy",
                "grid": "Cover orders"
            },
            "timing": {
                "immediate": "Apply now",
                "guarded": "After protected exits",
                "future": "Future cover orders",
                "deferred": "Waiting for a safe update",
                "blocked": "Cannot apply",
                "unchanged": "Already matches",
                "pending": "Awaiting evaluation"
            },
            "title": "Strategy optimizer",
            "yourBot": "Your bot",
            "collapse": "Collapse",
            "expand": "Open optimizer",
            "currentMarket": "Current market",
            "marketSettling": "This condition is still being confirmed.",
            "lastAnalysis": "Last analysis",
            "recommendation": "Recommendation",
            "confidence": "Confidence",
            "confidenceHelp": "Strength of historical evidence, not a probability of profit.",
            "retry": "Retry connection",
            "cached": "Reused from an earlier study",
            "generated": "Generated",
            "dataThrough": "Data through",
            "appliedStale": "Your settings remain applied, but the study needs refreshing before assessing a new change.",
            "why": "Why this recommendation",
            "marketMatch": "Selected for {{regime}} conditions by the latest market analysis.",
            "validationPassed": "The configuration passed the optimizer’s historical safety checks.",
            "validationLimited": "Historical safety checks are incomplete or have limitations. Review the details before applying.",
            "autoEligible": "It meets the study’s automatic-use requirements. Your bot still needs a live check.",
            "manualOnly": "This result has not met every automatic-use requirement. A manual review may be needed.",
            "limitedHistory": "Some test periods contain too little history for this market condition, limiting confidence.",
            "confidenceUnavailable": "A current confidence score was not recorded for this result.",
            "applyHelp": "Review exactly what changes before confirming. Open positions may delay some settings.",
            "details": "Settings and validation details",
            "previousPublication": "Previous publication",
            "cacheDateHelp": "This is a reused result; its row publication is not a new historical test.",
            "limitations": "Recorded limitations",
            "refreshHelp": "Requests reuse a suitable existing study or start a new one. Current market conditions take priority.",
            "requesting": "Requesting…",
            "checkRecommendation": "Check for an update",
            "generate": "Request recommendation",
            "backgroundFailed": "The latest study did not finish. The previously published result remains available with its recorded data dates.",
            "how": "How the optimizer works",
            "explanation": "BotChain analyzes the market, identifies its current condition, tests suitable configurations and validates candidates against historical data. The current market is prioritized; saved results for other conditions can be reused. A published recommendation may still need additional checks before it can update your bot.",
            "savedResults": "Saved market recommendations",
            "savedHelp": "These strategies were saved for other market conditions. Compare their settings and test dates before considering them for your bot. Each update is checked again before it can take effect.",
            "published": "Previously published study",
            "usedByBot": "Used by this bot",
            "viewSaved": "View saved settings and results",
            "settings": "Strategy settings",
            "current": "Current",
            "recommended": "Recommended",
            "initialBuyHelp": "Share of allocated capital",
            "coverPlan": "Recommended cover orders",
            "order": "Order",
            "priceDrop": "Price drop",
            "buySize": "Buy multiplier",
            "pullback": "Pullback",
            "type": "Type",
            "keepProfit": "Retained profit",
            "updateRequested": "Update requested. Waiting for the bot to confirm activation.",
            "reviewApply": "Review and apply",
            "reviewTitle": "Review your bot update",
            "close": "Close",
            "reviewHelp": "Review the recommended settings and when the server can apply them. Your bot is checked again when you confirm.",
            "checkingPlan": "Checking the update with your bot…",
            "planReady": "These are the planned changes for your bot.",
            "changeTiming": "Planned changes",
            "manualReview": "This update needs your acknowledgement",
            "manualReviewHelp": "Some checks need your attention. Read each warning before choosing how to apply.",
            "warningFallback": "This requirement is not met.",
            "partialOption": "Apply only settings that can change safely now",
            "completeOption": "Replace all settings and cover orders",
            "completeRisk": "This overrides safety policy warnings. Mandatory capital and exchange checks still apply.",
            "typeConfirmation": "Type {{phrase}} to confirm the complete replacement.",
            "cancel": "Cancel",
            "confirmApply": "Confirm and apply",
            "backgroundRun": "You can review the existing recommendation while the next analysis runs.",
            "runHelp": "You can leave this page. The results will be here when they’re ready.",
            "refreshError": "Live optimizer updates could not be loaded. Reconnect and retry before applying settings.",
            "reused": "An existing study is still available. Its original market data is shown below.",
            "requestError": "The study could not start. Please try again later.",
            "applyError": "The update could not be checked. Refresh the optimizer and try again.",
            "settingsError": "Settings could not be saved. Please try again.",
            "previewError": "Recommendations could not be loaded. Retry before choosing a strategy.",
            "requestAccepted": "Recommendation request accepted.",
            "savedMismatch": "Saved for {{regime}} conditions; it is not a confirmed match for the current market.",
            "strategySelected": "Strategy selected",
            "useStrategy": "Use these settings",
            "wizardApplyHelp": "This fills in your bot settings. Review them before creating the bot.",
            "regime": {
                "STRONG_UPTREND": {
                    "label": "Strong uptrend",
                    "description": "Prices are rising with strong directional momentum."
                },
                "WEAK_UPTREND": {
                    "label": "Gentle uptrend",
                    "description": "Prices are trending upward with less consistent momentum."
                },
                "RANGE_MARKET": {
                    "label": "Range market",
                    "description": "Prices are moving sideways within a range."
                },
                "HIGH_VOL_RANGE": {
                    "label": "Volatile range",
                    "description": "Prices are swinging widely without a sustained direction."
                },
                "DOWNTREND": {
                    "label": "Downtrend",
                    "description": "Prices are trending downward."
                },
                "CAPITULATION": {
                    "label": "Sharp sell-off",
                    "description": "The market is experiencing abrupt selling pressure."
                },
                "LOW_VOL_ACCUMULATION": {
                    "label": "Quiet market",
                    "description": "Price movements are relatively small and subdued."
                }
            },
            "plannedCovers": "Cover orders after this update",
            "savedStale": "The server reports that the published study needs refreshing. Review saved results with their own data dates.",
            "incompleteSettings": "The recommendation has incomplete settings. Request an updated result before using it.",
            "outlook": {
                "title": "Strategy outlook",
                "collapse": "Collapse strategy outlook",
                "expand": "Expand strategy outlook",
                "nextStep": "Your next move",
                "reviewHelp": "See exactly what changes and when. You confirm before anything is applied.",
                "activationHelp": "This page updates when your bot confirms the changes.",
                "activeHelp": "These settings are now part of your bot’s strategy.",
                "context": "Behind this recommendation",
                "unrated": "Not rated",
                "limitedEvidence": "Testing has limitations. Review the results before applying.",
                "checksFailed": "This recommendation has not passed all strategy checks. Additional review is needed.",
                "details": "Settings & test results",
                "allChanges": "The full settings comparison",
                "studyDetails": "Study dates, method & limitations",
                "buyMore": "Use more of your allocated capital for the first buy.",
                "buyLess": "Use less of your allocated capital for the first buy.",
                "widerTrail": "Allow a larger pullback before taking profit.",
                "tighterTrail": "Take profit after a smaller pullback from the peak.",
                "higherTarget": "Wait for a larger price rise before taking profit.",
                "lowerTarget": "Target a smaller price rise before taking profit.",
                "impact": "What would change",
                "reviewFull": "Review the full settings and cover orders below to see how this recommendation compares.",
                "impactNote": "Setting changes describe how your bot would trade. They do not predict higher returns.",
                "automation": "Automatic updates",
                "automationPaused": "Needs attention",
                "automatic": "Auto-apply on",
                "manual": "You approve changes",
                "botUpdate": "Your bot · Strategy update",
                "requestAccepted": "Update requested",
                "confirmHelp": "Your bot is checked before any change. Review the planned changes and their timing before confirming.",
                "reviewUnavailable": "This update cannot be confirmed right now. Close this review and refresh your bot.",
                "backToBot": "Back to bot",
                "checking": "Checking…"
            },
            "cancelRun": "Cancel optimization",
            "cancelling": "Cancelling…"
        }
    }
}
