{
    "app_name": "Investment Platform",
    "nav": {
        "dashboard": "Dashboard",
        "investor_traders": "Investor Traders",
        "investors": "Investors",
        "settings": "Settings",
        "email_logs": "Email Logs",
        "order_logs": "Order Logs",
        "sahme_api_brokers": "Sahme API Brokers",
        "sahme_api_wt5": "Sahme API - WT5",
        "copy_trading_api": "Copy Trading API",
        "custom_menu_links": "Custom Menu Links",
        "copy_trade_instruments": "Copy Trade Instruments",
        "employees": "Employees & Permissions",
        "logout": "Logout",
        "trading_market": "Trading Market",
        "portfolio": "Portfolio",
        "followers": "Followers",
        "statement": "Statement",
        "revenue_report": "Revenue Report",
        "profile": "Profile",
        "traders": "Traders"
    },
    "auth": {
        "login_title": "Sign In",
        "email": "Email Address",
        "password": "Password",
        "login_btn": "Sign In",
        "logging_in": "Signing in...",
        "login_error": "Invalid email or password",
        "rate_limited": "Too many attempts. Please try again later.",
        "session_expired": "Session expired. Please login again.",
        "forgot_password_link": "Forgot password?",
        "forgot_password_title": "Forgot Password",
        "forgot_password_subtitle": "Enter your email and we'll send you a link to reset your password.",
        "forgot_password_error": "Something went wrong. Please try again.",
        "reset_email_sent_generic": "If an account exists for that email, a password reset link has been sent.",
        "send_reset_link": "Send Reset Link",
        "sending": "Sending...",
        "back_to_login": "Back to Sign In",
        "reset_password_title": "Reset Password",
        "reset_password_subtitle": "Choose a new password for your account.",
        "reset_password_btn": "Reset Password",
        "reset_password_error": "Something went wrong. Please try again.",
        "resetting": "Resetting...",
        "reset_success_message": "Your password has been reset successfully.",
        "reset_token_missing": "This password reset link is invalid or has expired.",
        "request_new_link": "Request a new link",
        "go_to_login": "Go to Sign In",
        "new_password": "New Password",
        "confirm_password": "Confirm Password",
        "password_hint": "Min 8 chars, 1 uppercase, 1 lowercase, 1 number",
        "passwords_mismatch": "Passwords do not match"
    },
    "users": {
        "title_traders": "Investor Traders",
        "title_investors": "Investors",
        "add_new": "Add New",
        "search_placeholder": "Search by name or email...",
        "table": {
            "name": "Name",
            "email": "Email",
            "phone": "Phone",
            "assigned_trader": "Assigned Trader",
            "status": "Status",
            "created": "Created",
            "broker": "Broker",
            "actions": "Actions"
        },
        "status_active": "Active",
        "status_inactive": "Inactive",
        "status_banned": "Banned",
        "form": {
            "create_title_trader": "Create Investor Trader",
            "edit_title_trader": "Edit Investor Trader",
            "create_title_investor": "Create Investor",
            "edit_title_investor": "Edit Investor",
            "name": "Full Name",
            "email": "Email Address",
            "phone": "Phone Number",
            "spencer_account_id": "Spencer Account ID",
            "copy_ratio": "Copy Ratio",
            "copy_ratio_hint": "Calculated automatically from the account balance.",
            "copy_ratio_source": "From balance",
            "password": "Password",
            "password_hint": "Min 8 chars, 1 uppercase, 1 lowercase, 1 number",
            "password_edit_hint": "Leave empty to keep current password",
            "status": "Status",
            "save": "Save",
            "cancel": "Cancel",
            "saving": "Saving...",
            "name_required": "Full Name is required (min 2 characters)",
            "email_invalid": "Invalid email format",
            "password_required_msg": "Password is required",
            "send_welcome_email": "Send welcome email with login credentials",
            "send_password_reset_email": "Email the new password to the user",
            "generate_password": "Generate",
            "copy_ratio_manual_hint": "Set manually. 1 means the follower trades the same volume as the trader."
        },
        "delete": {
            "title": "Delete User",
            "confirm": "Are you sure you want to delete",
            "warning": "This action cannot be undone.",
            "delete_btn": "Delete",
            "deleting": "Deleting..."
        },
        "ban": {
            "ban_title": "Ban User",
            "ban_confirm": "Are you sure you want to ban",
            "ban_warning": "This user will be immediately logged out and unable to log in until unbanned.",
            "ban_btn": "Ban",
            "banning": "Banning...",
            "unban_title": "Unban User",
            "unban_confirm": "Are you sure you want to unban",
            "unban_warning": "This user will regain access and be able to log in again.",
            "unban_btn": "Unban",
            "unbanning": "Unbanning..."
        },
        "messages": {
            "created": "User created successfully",
            "updated": "User updated successfully",
            "deleted": "User deleted successfully",
            "banned": "User banned successfully",
            "unbanned": "User unbanned successfully",
            "error": "An error occurred. Please try again.",
            "created_email_failed": "Investor created, but the welcome email could not be sent",
            "password_reset_email_failed": "Password updated, but the notification email could not be sent"
        },
        "empty": "No users found",
        "no_broker": "Not connected",
        "loading": "Loading...",
        "settings": {
            "title": "Trader Settings",
            "tabs": {
                "performance": "Starting Performance",
                "baseline": "Starting Trade Baseline"
            },
            "performance": {
                "hint": "Set this trader's performance percentage for each month. Shown on the investor-facing performance chart, and used as a fallback on the trader's own dashboard chart for any month with no real trade data yet.",
                "save": "Save Performance",
                "saving": "Saving...",
                "saved": "Performance saved successfully"
            },
            "baseline": {
                "hint": "If this trader already had trades before joining the platform (e.g. in an old system), enter their totals here once. The trader's dashboard adds these on top of their real, ongoing trades.",
                "total_trades": "Starting Total Trades",
                "profitable_trades": "Starting Profitable Trades",
                "pl_percent": "Starting P/L %",
                "save": "Save Baseline",
                "saving": "Saving...",
                "saved": "Baseline saved successfully"
            }
        }
    },
    "months": {
        "jan": "Jan",
        "feb": "Feb",
        "mar": "Mar",
        "apr": "Apr",
        "may": "May",
        "jun": "Jun",
        "jul": "Jul",
        "aug": "Aug",
        "sep": "Sep",
        "oct": "Oct",
        "nov": "Nov",
        "dec": "Dec"
    },
    "pagination": {
        "previous": "Previous",
        "next": "Next",
        "showing": "Showing",
        "of": "of",
        "entries": "entries"
    },
    "dashboard": {
        "welcome": "Welcome back",
        "total_traders": "Total Investor Traders",
        "total_investors": "Total Investors",
        "recent_activity": "Recent Activity",
        "combined_users": "Combined Users",
        "combined_users_sub": "Traders + Investors combined",
        "orders_today_pill": "Today",
        "orders_today": "Orders Placed Today",
        "view_order_logs": "View order logs",
        "last_30_days": "Last 30 days",
        "success_rate": "Order Success Rate",
        "executed": "executed",
        "email_delivery": "Email Delivery Rate",
        "view_email_logs": "View email logs",
        "system_health": "System Health",
        "sahme_brokers": "Sahme API Brokers",
        "copy_trading_apis": "Copy Trading APIs",
        "no_activity": "No recent activity yet.",
        "unknown_user": "Unknown user",
        "time_just_now": "Just now",
        "time_minutes_ago": "{n} minutes ago",
        "time_minute_ago": "{n} minute ago",
        "time_hours_ago": "{n} hours ago",
        "time_hour_ago": "{n} hour ago",
        "time_days_ago": "{n} days ago",
        "time_day_ago": "{n} day ago",
        "time_months_ago": "{n} months ago",
        "time_month_ago": "{n} month ago",
        "time_years_ago": "{n} years ago",
        "time_year_ago": "{n} year ago",
        "activity": {
            "login": "signed in",
            "logout": "signed out",
            "created_user": "created a user",
            "updated_user": "updated a user",
            "deleted_user": "deleted a user",
            "investor_register": "registered as an investor",
            "trader_order_place": "placed an order",
            "trader_broker_connect": "connected a broker",
            "trader_broker_disconnect": "disconnected a broker",
            "investor_broker_connect": "connected a broker",
            "investor_broker_disconnect": "disconnected a broker",
            "placed_copy_trade": "placed a copy trade",
            "created_api_broker": "added an API broker",
            "updated_settings": "updated platform settings",
            "sent_test_email": "sent a test email",
            "reset_password": "reset their password",
            "created_employee": "created an employee",
            "updated_employee": "updated an employee",
            "updated_employee_permissions": "updated an employee's permissions",
            "deleted_employee": "deleted an employee"
        }
    },
    "settings": {
        "page_subtitle": "Manage email delivery and platform branding.",
        "tabs": {
            "email": "Email",
            "branding": "Branding",
            "email_templates": "Email Templates",
            "trader_layout": "Trader Layout",
            "investor_limits": "Broker Limits",
            "copy_trading": "Copy Trading"
        },
        "groups": {
            "communication": "Communication",
            "appearance": "Appearance",
            "trading": "Trading Rules"
        },
        "investor_registration": {
            "title": "Investor Registration",
            "subtitle": "Control whether new investors can create their own account.",
            "enabled_label": "Allow investor self-registration",
            "enabled_hint": "When enabled, anyone can create an investor account from the sign-up page. When disabled, the sign-up page is closed and new accounts can only be created by an admin.",
            "saving": "Saving...",
            "saved": "Registration setting saved successfully",
            "error": "An error occurred. Please try again."
        },
        "investor_limits": {
            "title": "Broker Account Limits",
            "subtitle": "Control how many broker accounts each investor may connect at once.",
            "label": "Max broker accounts per investor",
            "hint": "Investors will be blocked from adding another broker connection once they reach this number.",
            "footer_note": "Lowering this value won't disconnect existing broker accounts — investors already at or above the new limit simply won't be able to add another one until they're back under it.",
            "save": "Save Changes",
            "saving": "Saving...",
            "saved": "Broker limit saved successfully",
            "error": "An error occurred. Please try again."
        },
        "copy_trading": {
            "title": "Copy Trading",
            "subtitle": "Control whether traders can choose which followers receive each copy trade.",
            "allow_follower_selection_label": "Let traders select followers",
            "allow_follower_selection_hint": "When enabled, the Buy/Sell Copy Trading form lets the trader uncheck individual followers before opening a trade. When disabled, every eligible follower is always included.",
            "deny_investor_close_label": "Prevent investors from closing trades",
            "deny_investor_close_hint": "When enabled, investors won't see a Close button on their Copy Trades portfolio and can't close their positions themselves.",
            "allow_unlink_followers_label": "Let traders unlink followers",
            "allow_unlink_followers_hint": "When enabled, traders get an Unlink button on their Followers page to remove an investor from following them. When disabled, only the investor can end that relationship (by picking a different trader).",
            "copy_ratio_mode_label": "Copy ratio",
            "copy_ratio_mode_hint": "How each follower's lot multiplier is decided. Automatic sizes it from their account balance; Manual lets you set it per follower on the Investors page.",
            "copy_ratio_mode_auto": "Automatic (from account balance)",
            "copy_ratio_mode_manual": "Manual (set per follower)",
            "balance_per_unit_label": "Balance per multiplier",
            "balance_per_unit_hint": "A follower gets one unit of the trader's volume for every this much in their account, whole units only. At 2500, a 5,000 balance trades at 2x. Never below 1x.",
            "footer_note": "These settings apply platform-wide and take effect immediately for all traders and investors — no restart or re-login required.",
            "save": "Save Changes",
            "saving": "Saving...",
            "saved": "Copy trading settings saved successfully",
            "error": "An error occurred. Please try again."
        },
        "trader_layout": {
            "title": "Trader Layout",
            "subtitle": "Choose the main colors used across the trader portal (dashboard and sign-in page).",
            "preview_hint": "Preview",
            "primary_color": "Primary Color",
            "secondary_color": "Secondary Color",
            "reset_default": "Reset to Default",
            "save": "Save Changes",
            "saving": "Saving...",
            "saved": "Trader layout saved successfully",
            "error": "An error occurred. Please try again."
        },
        "branding": {
            "title": "Branding",
            "subtitle": "Customize how your platform's name appears across the site.",
            "favicon": "Favicon",
            "favicon_hint": "Shown in the browser tab on every page. PNG, ICO or JPG, up to 512KB.",
            "favicon_choose": "Choose File",
            "favicon_upload": "Upload",
            "favicon_uploading": "Uploading...",
            "favicon_saved": "Favicon updated successfully",
            "favicon_error": "Could not upload the favicon. Please try again.",
            "site_name": "Website Name",
            "site_name_hint": "Shown in the sidebar and browser tab across the admin panel.",
            "save": "Save Changes",
            "saving": "Saving...",
            "saved": "Branding saved successfully",
            "error": "An error occurred. Please try again."
        },
        "email": {
            "title": "Email (Mailgun)",
            "subtitle": "Configure your Mailgun credentials below, then send a test email to confirm everything works.",
            "checking": "Checking configuration...",
            "configured": "Mailgun is configured and ready to send",
            "not_configured": "Mailgun is not fully configured. Fill in the API key, domain, and from address below and save.",
            "api_key": "Mailgun API Key",
            "api_key_placeholder": "key-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
            "api_key_hint": "Get this from your Mailgun dashboard.",
            "api_key_hint_edit": "Leave blank to keep the current key.",
            "domain": "Domain",
            "region": "Region",
            "region_us": "US",
            "region_eu": "EU",
            "from": "From Address",
            "from_name": "From Name",
            "save": "Save Settings",
            "saving": "Saving...",
            "saved": "Settings saved successfully",
            "test_title": "Send Test Email",
            "test_label": "Send a test email to",
            "test_placeholder": "you@example.com",
            "send_test": "Send Test Email",
            "sending": "Sending...",
            "sent": "Test email sent successfully",
            "invalid_email": "Enter a valid email address",
            "sandbox_note": "If using a Mailgun sandbox domain, the recipient must be added as an Authorized Recipient in your Mailgun dashboard first.",
            "error": "An error occurred. Please try again."
        },
        "email_templates": {
            "subject_label": "Subject",
            "body_label": "Body",
            "save": "Save Templates",
            "saving": "Saving...",
            "saved": "Templates saved successfully",
            "error": "An error occurred. Please try again.",
            "test_label": "Send a test of this template to",
            "send_test": "Send Test Email",
            "sending": "Sending...",
            "test_sent": "Test email sent successfully",
            "types": {
                "welcome_investor": {
                    "tab_label": "Welcome Email",
                    "tab_hint": "Sent when an investor account is created",
                    "title": "Welcome Email",
                    "subtitle": "Content sent to a new investor when their account is created, per language.",
                    "placeholders_hint": "Available placeholders: {{name}}, {{email}}, {{password}}, {{login_url}}, {{app_name}}"
                },
                "welcome_trader": {
                    "tab_label": "Trader Welcome Email",
                    "tab_hint": "Sent when a trader account is created",
                    "title": "Trader Welcome Email",
                    "subtitle": "Content sent to a new trader when their account is created, per language.",
                    "placeholders_hint": "Available placeholders: {{name}}, {{email}}, {{password}}, {{login_url}}, {{app_name}}"
                },
                "password_reset": {
                    "tab_label": "Reset Password Email",
                    "tab_hint": "Sent when a user requests a password reset",
                    "title": "Reset Password Email",
                    "subtitle": "Content sent when a user requests a password reset link, per language.",
                    "placeholders_hint": "Available placeholders: {{name}}, {{email}}, {{reset_url}}, {{app_name}}, {{expiry_minutes}}"
                },
                "welcome_employee": {
                    "tab_label": "Employee Welcome Email",
                    "tab_hint": "Sent when an employee account is created",
                    "title": "Employee Welcome Email",
                    "subtitle": "Content sent to a new employee when their account is created, per language.",
                    "placeholders_hint": "Available placeholders: {{name}}, {{email}}, {{password}}, {{login_url}}, {{app_name}}"
                }
            }
        }
    },
    "email_logs": {
        "title": "Email Logs",
        "subtitle": "All emails sent by the platform, with delivery status.",
        "search_placeholder": "Search by recipient or subject...",
        "filter_all": "All Statuses",
        "filter_sent": "Sent",
        "filter_failed": "Failed",
        "table": {
            "recipient": "Recipient",
            "subject": "Subject",
            "type": "Type",
            "status": "Status",
            "sent_at": "Sent At",
            "actions": "Actions"
        },
        "status_sent": "Sent",
        "status_failed": "Failed",
        "type_welcome_investor": "Welcome Email",
        "type_welcome_trader": "Trader Welcome Email",
        "type_password_reset": "Password Reset Email",
        "type_test_email": "Test Email",
        "view_details": "View Details",
        "details": {
            "title": "Email Log Details",
            "recipient": "Recipient",
            "subject": "Subject",
            "type": "Type",
            "status": "Status",
            "sent_at": "Sent At",
            "triggered_by": "Triggered By",
            "message_id": "Provider Message ID",
            "error": "Error",
            "close": "Close"
        },
        "empty": "No email logs found",
        "loading": "Loading...",
        "messages": {
            "error": "An error occurred. Please try again."
        }
    },
    "order_logs": {
        "title": "Order Logs",
        "subtitle": "Every buy/sell order request placed by traders, with WT5 request/response details.",
        "search_placeholder": "Search by trader name or email...",
        "login_placeholder": "Filter by login ID...",
        "filter_all_sides": "All Sides",
        "side_buy": "Buy",
        "side_sell": "Sell",
        "filter_all_statuses": "All Statuses",
        "status": {
            "executed": "Executed",
            "notification_timeout": "Unconfirmed (Timeout)",
            "order_place_timeout": "Unconfirmed (Placement Timeout)",
            "notification_rejected": "Rejected by Broker",
            "wt5_rejected": "Rejected (WT5 Error)",
            "validation_failed": "Validation Failed",
            "instrument_not_tradable": "Instrument Not Tradable",
            "instrument_not_found": "Instrument Not Found",
            "session_expired": "Session Expired",
            "broker_not_connected": "Broker Not Connected",
            "wt5_account_error": "WT5 Account Error",
            "wt5_instrument_error": "WT5 Instrument Error"
        },
        "table": {
            "id": "ID",
            "trader": "Trader",
            "login": "Login ID",
            "side": "Side",
            "amount": "Amount",
            "status": "Status",
            "placed_at": "Placed At",
            "actions": "Actions"
        },
        "view_details": "View Details",
        "refresh_status": "Re-check status against WT5",
        "details": {
            "title": "Order Log Details",
            "id": "Log ID",
            "trader": "Trader",
            "login": "Login ID",
            "broker": "Broker",
            "instrument_id": "Instrument ID",
            "side": "Side",
            "amount": "Amount",
            "sl": "Stop Loss",
            "tp": "Take Profit",
            "status": "Status",
            "http_status": "HTTP Status",
            "request_id": "WT5 Request ID",
            "ip_address": "IP Address",
            "placed_at": "Placed At",
            "request_payload": "Request (from browser)",
            "wt5_request_payload": "Request sent to WT5",
            "wt5_response_payload": "Response from WT5",
            "response_payload": "Response sent to browser",
            "close": "Close"
        },
        "empty": "No order logs found",
        "loading": "Loading...",
        "messages": {
            "error": "An error occurred. Please try again."
        }
    },
    "common": {
        "loading": "Loading...",
        "error": "Error",
        "success": "Success",
        "warning": "Warning",
        "close": "Close",
        "language": "Language",
        "confirm": "Confirm",
        "cancel": "Cancel"
    },
    "api_brokers": {
        "title": "Sahme API Brokers",
        "subtitle": "Manage external broker connections",
        "search_placeholder": "Search by name...",
        "add_new": "Add Broker",
        "table": {
            "name": "Name",
            "api_connection": "API Connection",
            "status": "Status",
            "created": "Created",
            "actions": "Actions"
        },
        "default_badge": "Default",
        "wt5_set": "WT5 set",
        "wt5_not_set": "WT5 not set",
        "status_active": "Active",
        "status_inactive": "Inactive",
        "actions_edit": "Edit",
        "actions_delete": "Delete",
        "loading": "Loading...",
        "empty": "No brokers found",
        "modal": {
            "add_title": "Add Broker",
            "edit_title": "Edit Broker"
        },
        "form": {
            "name": "Name",
            "name_placeholder": "e.g. Sahmee",
            "wt5_api_url": "WT5 API URL",
            "wt5_api_url_placeholder": "https://pro.sahmeetrading.com/wt5",
            "active": "Active",
            "set_default": "Set as Default",
            "cancel": "Cancel",
            "save": "Save",
            "saving": "Saving...",
            "name_required": "Name is required (min 2 characters)"
        },
        "messages": {
            "created": "Broker created successfully",
            "updated": "Broker updated successfully",
            "deleted": "Broker deleted successfully",
            "error": "An error occurred. Please try again."
        },
        "delete": {
            "title": "Delete Broker",
            "confirm": "Are you sure you want to delete",
            "warning": "This action cannot be undone.",
            "cancel": "Cancel",
            "delete_btn": "Delete",
            "deleting": "Deleting..."
        }
    },
    "copy_trading_api": {
        "title": "Copy Trading API",
        "subtitle": "Manage copy trading API connections",
        "search_placeholder": "Search by URL...",
        "add_new": "Add API",
        "table": {
            "url": "URL",
            "api_key": "API Key",
            "created": "Created",
            "actions": "Actions"
        },
        "actions_edit": "Edit",
        "actions_delete": "Delete",
        "loading": "Loading...",
        "empty": "No entries found",
        "modal": {
            "add_title": "Add API",
            "edit_title": "Edit API"
        },
        "form": {
            "url": "URL",
            "url_placeholder": "https://example.com/copy-trading",
            "api_key": "API Key",
            "api_key_placeholder": "Enter API key",
            "cancel": "Cancel",
            "save": "Save",
            "saving": "Saving...",
            "url_required": "URL is required",
            "api_key_required": "API Key is required (min 2 characters)"
        },
        "messages": {
            "created": "Entry created successfully",
            "updated": "Entry updated successfully",
            "deleted": "Entry deleted successfully",
            "error": "An error occurred. Please try again."
        },
        "delete": {
            "title": "Delete API Entry",
            "confirm": "Are you sure you want to delete",
            "warning": "This action cannot be undone.",
            "cancel": "Cancel",
            "delete_btn": "Delete",
            "deleting": "Deleting..."
        }
    },
    "custom_menu_links": {
        "title": "Custom Menu Links",
        "subtitle": "Manage extra links shown in the investor sidebar menu",
        "search_placeholder": "Search by title...",
        "add_new": "Add Link",
        "table": {
            "title": "Title",
            "url": "URL",
            "order": "Order",
            "status": "Status",
            "actions": "Actions"
        },
        "status_active": "Active",
        "status_inactive": "Inactive",
        "actions_edit": "Edit",
        "actions_delete": "Delete",
        "loading": "Loading...",
        "empty": "No links found",
        "modal": {
            "add_title": "Add Link",
            "edit_title": "Edit Link"
        },
        "form": {
            "title": "Title",
            "title_placeholder": "e.g. Support",
            "url": "URL",
            "url_placeholder": "https://example.com",
            "sort_order": "Sort Order",
            "is_active": "Active",
            "cancel": "Cancel",
            "save": "Save",
            "saving": "Saving...",
            "title_required": "Title is required",
            "url_required": "URL is required"
        },
        "messages": {
            "created": "Link created successfully",
            "updated": "Link updated successfully",
            "deleted": "Link deleted successfully",
            "error": "An error occurred. Please try again."
        },
        "delete": {
            "title": "Delete Link",
            "confirm": "Are you sure you want to delete",
            "warning": "This action cannot be undone.",
            "cancel": "Cancel",
            "delete_btn": "Delete",
            "deleting": "Deleting..."
        }
    },
    "copy_trade_instruments": {
        "title": "Copy Trade Instruments",
        "subtitle": "Map symbols to Spencer (copy-trading-api) instrument ids",
        "search_placeholder": "Search by symbol...",
        "add_new": "Add Mapping",
        "table": {
            "symbol": "Symbol",
            "instrument_id": "Instrument ID",
            "created": "Created",
            "actions": "Actions"
        },
        "actions_edit": "Edit",
        "actions_delete": "Delete",
        "loading": "Loading...",
        "empty": "No mappings found",
        "modal": {
            "add_title": "Add Mapping",
            "edit_title": "Edit Mapping"
        },
        "form": {
            "symbol": "Symbol",
            "symbol_placeholder": "EURUSD",
            "instrument_id": "Instrument ID",
            "instrument_id_placeholder": "42",
            "cancel": "Cancel",
            "save": "Save",
            "saving": "Saving...",
            "symbol_required": "Symbol is required",
            "instrument_id_invalid": "Instrument ID must be a positive number"
        },
        "messages": {
            "created": "Mapping created successfully",
            "updated": "Mapping updated successfully",
            "deleted": "Mapping deleted successfully",
            "error": "An error occurred. Please try again."
        },
        "delete": {
            "title": "Delete Mapping",
            "confirm": "Are you sure you want to delete",
            "warning": "This action cannot be undone.",
            "cancel": "Cancel",
            "delete_btn": "Delete",
            "deleting": "Deleting..."
        }
    },
    "portal": {
        "trader_portal": "Trader Portal",
        "investor_portal": "Investor Portal",
        "admin_panel": "Admin Panel",
        "menu": "Menu",
        "main_menu": "Main Menu",
        "system": "System",
        "logs": "Logs",
        "api": "API",
        "links": "Links"
    },
    "admin": {
        "manage_investors": "Manage investor accounts"
    },
    "broker_modal": {
        "title": "Connect Broker",
        "broker_label": "Broker",
        "login_label": "Login ID",
        "password_label": "Password",
        "loading_brokers": "Loading brokers...",
        "remember": "Remember my credentials so this broker reconnects automatically",
        "cancel": "Cancel",
        "connect": "Connect",
        "connect_btn": "Connect Broker",
        "disconnect_title": "Disconnect Broker",
        "disconnect_confirm": "Are you sure you want to log out of",
        "disconnect": "Disconnect"
    },
    "footer": {
        "balance": "Balance",
        "equity": "Equity",
        "floating_pl": "Floating P/L",
        "free_margin": "Free Margin",
        "used_margin": "Used Margin",
        "margin_level": "Margin Level",
        "idle": "Idle",
        "stream_error": "Live stream disconnected. Prices may be outdated."
    },
    "trader_dash": {
        "page_title": "Dashboard",
        "no_broker_title": "No broker connected",
        "no_broker_desc": "Connect your trading account to see your dashboard and performance.",
        "connect_broker": "Connect Broker",
        "welcome": "Welcome back,",
        "active_trader": "Active Trader",
        "trading_performance": "Trading Performance",
        "perf_12m": "All relative values are shown for last 12 months",
        "followers": "Followers",
        "pl": "P/L",
        "total_trades": "Total Trades",
        "profitable_trades": "Profitable Trades",
        "performance": "Performance",
        "baseline_note": "* Estimated from an admin-entered starting baseline (no trade data yet for that month)"
    },
    "trademarket": {
        "page_title": "Trading Market",
        "no_broker_title": "No broker connected",
        "no_broker_desc": "Connect your trading account to see all available symbols and live prices.",
        "connect_broker": "Connect Broker",
        "loading_instruments": "Loading instruments...",
        "load_error": "Could not load instruments",
        "instruments": "Instruments",
        "search_symbol": "Search symbol...",
        "th_symbol": "Symbol",
        "th_type": "Type",
        "th_bid": "Bid",
        "th_ask": "Ask",
        "th_actions": "Actions",
        "no_instruments": "No instruments match your search.",
        "stream_error": "Live stream disconnected. Prices may be outdated.",
        "retry": "Retry",
        "buy_copy_trade": "Buy Copy Trading",
        "sell_copy_trade": "Sell Copy Trading",
        "copy_trade_price": "Price",
        "copy_trade_volume": "Volume in amount",
        "order_type": "Order Type",
        "order_type_market": "Market",
        "order_type_limit": "Limit",
        "desired_price": "Desired Price",
        "desired_price_hint": "The order rests until the market reaches this price.",
        "copy_trade_investors": "Investors",
        "select_all": "Select all",
        "select_none": "Select none",
        "open_trade": "Open Trade",
        "optional": "Optional",
        "copy_trade_intro": "Opens this trade for your Spencer account plus every follower with a Spencer account id configured, via copy-trading-api."
    },
    "portfolio": {
        "page_title": "Portfolio",
        "no_broker_title": "No broker connected",
        "no_broker_desc_trader": "Connect your trading account to see your open positions and trade history.",
        "no_broker_desc_investor": "Connect your broker account to see your open positions and trade history.",
        "connect_broker": "Connect Broker",
        "tab_positions": "Positions",
        "tab_orders": "Orders",
        "tab_history": "History",
        "refresh": "Refresh",
        "all_time": "All time",
        "today": "Today",
        "yesterday": "Yesterday",
        "this_week": "This Week",
        "this_month": "This Month",
        "last_month": "Last Month",
        "from": "From",
        "to": "To",
        "origin_all": "All",
        "origin_platform": "Platform",
        "origin_copy_trades": "Copy Trades",
        "clear": "Clear",
        "search_symbol": "Search symbol...",
        "th_symbol": "Symbol",
        "th_direction": "Direction",
        "th_amount": "Amount",
        "th_open_rate": "Open Rate",
        "th_order_rate": "Order Rate",
        "th_sl": "SL",
        "th_tp": "TP",
        "th_commission": "Commission",
        "th_pl": "P/L",
        "th_origin": "Origin",
        "th_actions": "Actions",
        "th_rate": "Rate",
        "th_close_rate": "Close Rate",
        "th_close_time": "Close Time",
        "th_time": "Time",
        "th_profit": "Profit",
        "th_details": "Details",
        "empty_positions": "No open positions.",
        "empty_orders": "No pending orders.",
        "empty_history": "No closed deals for the selected period.",
        "load_error": "Could not load data",
        "error_msg": "An error occurred. Please try again."
    },
    "followers": {
        "page_title": "Followers",
        "total_followers": "Total Followers",
        "investors_following": "Investors Following You",
        "refresh": "Refresh",
        "loading": "Loading...",
        "load_error": "Could not load data",
        "error_msg": "An error occurred. Please try again.",
        "th_investor": "Investor",
        "th_email": "Email",
        "th_login": "Login",
        "th_status": "Status",
        "th_copy_ratio": "Ratio",
        "th_joined": "Joined",
        "th_actions": "Actions",
        "empty": "No one is following you yet.",
        "unlink_title": "Unlink Follower",
        "unlink_confirm": "Are you sure you want to unlink",
        "unlink_desc": "They'll stop following you and stop receiving your copy trades.",
        "unlink_btn": "Unlink"
    },
    "statement": {
        "page_title": "Statement",
        "not_configured_title": "Statement not available",
        "not_configured_desc": "Your copy trading account isn't configured yet. Contact an admin to get set up.",
        "refresh": "Refresh",
        "loading": "Loading...",
        "load_error": "Could not load data",
        "error_msg": "An error occurred. Please try again.",
        "filter_from": "From",
        "filter_to": "To",
        "apply": "Apply",
        "clear": "Clear",
        "opening_balance": "Opening Balance",
        "closing_balance": "Closing Balance",
        "total_deposits": "Total Deposits",
        "total_withdrawals": "Total Withdrawals",
        "total_closed_pnl": "Total Closed P/L",
        "net": "Net",
        "th_date": "Date",
        "th_type": "Type",
        "th_reference": "Reference",
        "th_details": "Details",
        "th_amount": "Amount",
        "th_balance": "Balance",
        "type_deposit": "Deposit",
        "type_withdrawal": "Withdrawal",
        "type_closed_pnl": "Closed P/L",
        "empty": "No entries for the selected period."
    },
    "revenue_report": {
        "page_title": "Revenue Report",
        "not_configured_title": "Revenue report not available",
        "not_configured_desc": "You don't have any followers with a connected account yet, or copy trading isn't configured. Contact an admin if this looks wrong.",
        "total_trades": "Total Trades",
        "total_lots": "Total Lots",
        "total_commission": "Total Commission",
        "total_markup": "Total Markup",
        "total_revenue": "Total Revenue",
        "total_pnl": "Total P/L",
        "th_account": "Account",
        "th_follower": "Follower",
        "th_ticket": "Ticket",
        "th_symbol": "Symbol",
        "th_direction": "Direction",
        "th_lots": "Lots",
        "th_rate": "Rate",
        "th_sl": "SL",
        "th_tp": "TP",
        "th_commission": "Commission",
        "th_markup": "Markup",
        "th_revenue": "Revenue",
        "th_pnl": "P/L",
        "direction_buy": "Buy",
        "direction_sell": "Sell",
        "empty": "No closed trades for the selected period."
    },
    "profile": {
        "page_title": "Profile",
        "subtitle": "This is what investors see when they view your profile before choosing to follow you.",
        "photo_hint": "PNG, JPG, or WEBP — up to 3MB",
        "headline_label": "Headline",
        "headline_placeholder": "e.g. Forex trader, 8 years experience",
        "headline_hint": "A short line investors see at a glance.",
        "bio_label": "Bio",
        "bio_placeholder": "Tell investors about your trading style, experience, and approach...",
        "bio_hint": "Shown on your public profile.",
        "save": "Save Changes",
        "saving": "Saving...",
        "saved": "Profile saved successfully",
        "save_error": "Could not save profile. Please try again."
    },
    "investor_dash": {
        "page_title": "Dashboard",
        "no_broker_title": "No broker connected",
        "no_broker_desc": "Connect your broker account to continue setting up your dashboard.",
        "connect_broker": "Connect Broker",
        "no_trader_title": "Pick a trader to follow",
        "no_trader_desc": "Choose a trader and your dashboard will show their monthly performance.",
        "loading_traders": "Loading traders...",
        "follow_trader": "Follow This Trader",
        "welcome": "Welcome back,",
        "active_investor": "Active Investor",
        "following_trader": "Following trader",
        "change_trader": "Change Trader",
        "unfollow_trader": "Unfollow",
        "unfollow_confirm": "Are you sure you want to unfollow this trader? You can always follow another one later.",
        "unfollowed": "You have unfollowed the trader",
        "trader_performance": "Trader Performance",
        "perf_12m": "All relative values are shown for last 12 months",
        "performance": "Performance",
        "broker_accounts": "Your Broker Accounts",
        "add_broker": "Add Broker"
    },
    "investor_traders": {
        "page_title": "Traders",
        "available_traders": "Available Traders",
        "all_traders": "All Traders",
        "empty": "No traders available yet.",
        "load_error": "Could not load data",
        "error_msg": "An error occurred. Please try again.",
        "refresh": "Refresh"
    },
    "traders": {
        "follow_warning": "By following this trader, copy trades may be placed on your broker account on their behalf. Make sure you understand the risks before continuing. Continue?",
        "switch_warning": "Switching trader will move all future copy trades to the new trader. Your open positions are not affected. Continue?",
        "unfollowed": "You have unfollowed this trader"
    },
    "account": {
        "page_title": "Account Settings",
        "nav_label": "Account",
        "profile_section": "Profile Information",
        "password_section": "Change Password",
        "name_label": "Full Name",
        "language_label": "Language",
        "current_password": "Current Password",
        "new_password": "New Password",
        "save_profile": "Save Changes",
        "save_password": "Change Password",
        "saving": "Saving...",
        "profile_saved": "Changes saved successfully",
        "password_saved": "Password changed successfully",
        "field_required": "This field is required",
        "error": "An error occurred. Please try again.",
        "admin_subtitle": "Change your display name or password."
    },
    "export": {
        "csv": "Export CSV"
    },
    "copy_trade_orders": {
        "page_title": "Copy Trade Orders",
        "nav_label": "Copy Trade Orders",
        "subtitle": "All copy-trade batches placed by traders, with per-follower success counts.",
        "followers": "Followers",
        "success": "Success"
    },
    "ratio_report": {
        "page_title": "Ratio Report",
        "nav_label": "Ratio Report",
        "subtitle": "Look up exactly how a copy-trade batch's follower lots were sized.",
        "trade_id_label": "Master Trade ID",
        "trade_id_placeholder": "e.g. 48213",
        "lookup_btn": "Look Up",
        "hint": "Any leg's trade id works — master or follower — the whole batch it belongs to is shown either way.",
        "empty_title": "Enter a trade ID above",
        "empty_subtitle": "The batch summary and per-follower ratio breakdown will show here.",
        "order_amount": "Order Amount",
        "followers": "Followers",
        "success": "Succeeded",
        "placed_at": "Placed",
        "th_role": "Role",
        "th_account": "Account",
        "th_trade_id": "Trade ID",
        "th_balance": "Balance",
        "th_multiplier": "Multiplier",
        "th_lots": "Lots",
        "th_status": "Status"
    },
    "employees": {
        "title": "Employees & Permissions",
        "subtitle": "Manage employee accounts and what they can access",
        "search_placeholder": "Search by name or email...",
        "add_new": "Add Employee",
        "table": {
            "permissions": "Permissions",
            "pages": "pages",
            "no_access": "No access"
        },
        "empty": "No employees found",
        "form": {
            "create_title": "Create Employee",
            "edit_title": "Edit Employee",
            "permissions": "Page Access",
            "logs_explorer": "Logs Explorer"
        },
        "delete": {
            "title": "Delete Employee"
        }
    }
}
