//! English UI strings.

use super::Strings;

pub static EN: Strings = Strings {
    status: "Status",
    orders: "orders",
    positions: "positions",
    markets: "markets",
    quit: "quit",
    txid: "ledger",

    balance: "Balance",
    wallet: "Wallet",
    perps: "Perps",
    upnl: "uPnL",
    deposit: "Deposit",
    withdraw: "Withdraw",
    amt: "Amt",

    trade: "Trade",
    not_loaded: "Not loaded",
    notional: "Notional",
    lev: "Lev",
    buy: "BUY",
    sell: "SELL",
    mkt: "MKT",
    lmt: "LMT",
    stp: "STP",
    size: "Size",
    px: "Px",
    market_order: "market order",
    limit_order: "limit order",
    stop_order: "stop-market order",
    close: "close",
    set: "set",
    cancel: "cancel",
    confirm: "CONFIRM",
    close_position: "CLOSE POSITION",
    cancel_all_orders: "CANCEL ALL ORDERS",
    no_position: "No Position",
    liq: "Liq",

    long_label: "LONG",
    short_label: "SHORT",

    vol: "Vol",
    oi: "OI",
    mark: "Mark",
    index_price: "Index",
    funding: "Funding",
    waiting_data: "Waiting for market data\u{2026}",
    asks: "Asks",
    bids: "Bids",
    slot: "Slot",
    trader: "Trader",
    depth: "Depth",
    bid_abbrev: "B",
    ask_abbrev: "A",
    no_spread: "no spread",
    microprice_ema: "Microprice EMA",

    select: "select",
    back: "back",
    view_market: "view market",
    close_pos: "close pos",
    close_all: "close all",
    cxl_order: "cxl order",
    cxl_all: "cxl all",

    market: "Market",
    side: "Side",
    entry: "Entry",
    notional_col: "Notional",
    pnl: "PnL",
    liq_col: "Liq",
    lev_col: "Lev",
    no_open_positions: "No open positions",

    order_type: "Type",
    price: "Price",
    filled: "Filled",
    flags: "Flags",
    no_open_orders: "No open orders",

    pct_change: "% Change",
    leverage: "Leverage",
    vol_24h: "24h Volume",

    config: "Config",
    rpc_url: "RPC URL",
    language: "Language",
    clob_orders: "Show CLOB orders",
    clob_orders_note: "uses extra bandwidth",
    fanout_public_rpc: "Public RPC fanout",
    fanout_public_rpc_note: "also sends txs to api.mainnet-beta.solana.com",
    skip_order_confirmation: "Skip order confirm",
    skip_order_confirmation_note: "submits new orders without [Y/N] prompt",
    skip_preflight: "Skip preflight",
    skip_preflight_note: "sends txs with skip_preflight=true",
    cu_price: "CU price",
    cu_price_note: "microlamports per compute unit",
    cu_limit: "CU limit / position",
    cu_limit_note: "compute units per trader position",
    cu_default: "<default>",
    cu_auto: "auto",
    st_cu_price_set: "Compute unit price set to",
    st_cu_limit_set: "Compute unit limit set to",
    st_cu_cleared: "Reverted to default",
    st_cu_invalid: "Invalid value — enter a positive integer",
    on: "On",
    off: "Off",
    save_reconnect: "save & reconnect",
    edit: "edit",
    toggle: "toggle",
    rpc_default: "<using env / default>",

    quit_confirm: "Quit?",

    ledger_title: "ledger",
    ledger_col_time: "Time",
    ledger_col_action: "Action",
    ledger_empty: "No actions yet — your submitted trades will appear here",
    ledger_copied: "Copied to clipboard:",
    ledger_copy_failed: "Could not copy to clipboard",

    top_positions_title: "top positions",
    liquidations_title: "liquidations",
    liq_feed_live: "live",
    liq_feed_backfilling: "backfilling\u{2026}",
    liq_feed_scroll: "scroll",
    liq_feed_open_market: "open market",
    liq_feed_waiting: "waiting for liquidations\u{2026}",
    top_positions_loading: "Loading top positions from on-chain\u{2026}",
    top_positions_empty: "No active positions on Phoenix",
    top_positions_rank: "#",
    top_positions_trader: "Trader",
    top_positions_no_trader: "Trader pubkey not yet resolved \u{2014} try again in a moment",
    top_positions_copy_hint: "copy trader",

    st_loading_ctx: "Loading Phoenix trading context — fetching exchange metadata\u{2026}",
    st_wallet_disconnected: "Wallet disconnected — press [w] to reconnect",
    st_wallet_not_loaded: "Wallet not loaded — press [w] to connect",
    st_wallet_connected: "Wallet connected",
    st_load_wallet_title: "Load Wallet",
    st_load_wallet_action: "load",
    st_wallet_path_label: "Path, base58, or [byte,array]:",
    st_wallet_load_failed: "Load failed:",
    st_ctx_loading: "Trading context still loading — wait a moment and try again",
    st_switching_market: "Switching market — reconnecting to feed\u{2026}",
    st_lim_cleared: "Limit price cleared — orders will execute at market",
    st_lim_must_positive: "Limit price must be a positive number",
    st_invalid_price: "Invalid price — enter a number like 185.50",
    st_market_mode: "Switched to Market order mode",
    st_no_mark_price: "No mark price available — press [e] to set limit price",
    st_enter_price: "Enter limit price and press Enter (Esc to cancel)",
    st_enter_stop_price: "Enter stop trigger price and press Enter (Esc to cancel)",
    st_stop_cleared: "Stop trigger cleared — switching back to Market",
    st_stop_must_positive: "Stop trigger price must be a positive number",
    st_stop_set: "Stop trigger price set to $",
    st_switched_stop: "Switched to Stop-Market @ $",
    st_enter_size: "Enter order size and press Enter (Esc to cancel)",
    st_invalid_size: "Invalid size — enter a number like 0.1",
    st_invalid_amount: "Invalid amount — enter a number like 100.00",
    st_type_deposit: "Type USDC amount to Deposit and press Enter\u{2026}",
    st_type_withdraw: "Type USDC amount to Withdraw and press Enter\u{2026}",
    st_close_all_yn: "Close ALL positions? (Y/N)",
    st_no_positions: "No positions to close",
    st_no_positions_matched: "No positions matched a known market config — nothing to close",
    st_no_orders: "No orders to cancel",
    st_rpc_unchanged: "RPC URL unchanged",
    st_rpc_cleared: "RPC URL cleared — falling back to env/default, reconnecting\u{2026}",
    st_no_position_to_close: "No position to close",
    st_cancelled_close_pos: "Cancelled: close position",
    st_cancelled_close_all: "Cancelled: close all positions",
    st_cancelled_cancel_all: "Cancelled: cancel all orders",

    st_switching_to: "Switching to",
    st_switched_to: "Switched to",
    st_market_switch_failed: "Market switch failed: no config for",
    st_market_switch_failed_suf: "",
    st_wallet_connected_as: "Wallet connected \u{2014}",
    st_lim_set: "Limit price set to $",
    st_switched_limit: "Switched to Limit @ $",
    st_switched_limit_hint: "\u{2014} press [e] to change price",
    st_size_set: "Size manually set to",
    st_language_set: "Language set to",
    st_clob_set: "CLOB orders",
    st_fanout_set: "Public RPC fanout",
    st_skip_order_confirmation_set: "Skip order confirmation",
    st_skip_preflight_set: "Skip preflight",
    st_reconnecting: "Reconnecting to",
    st_failed_save: "Failed to save config:",
    st_cannot_close: "Cannot close",
    st_no_market_cfg: "no market config found",
    st_closing: "Closing",
    st_position_s: "position(s)",
    st_order_s: "order(s)",
    st_cancelling: "Cancelling",
    st_submitting: "Submitting",
    st_submitting_limit: "Submitting LIMIT",
    st_submitting_stop: "Submitting STOP",
    st_submitting_deposit: "Submitting Deposit",
    st_submitting_withdraw: "Submitting Withdrawal",
    st_confirm: "Confirm",
    st_confirm_limit: "Confirm LIMIT",
    st_confirm_stop: "Confirm STOP",
    st_confirm_close: "Confirm Close",
    st_confirm_deposit_st: "Confirm Deposit",
    st_confirm_withdraw_st: "Confirm Withdraw",
    st_cancel_order_yn: "Cancel",
    st_cancel_all_yn: "Cancel ALL",
    st_open_orders_yn: "open order(s)?",
    st_close_by_sym_yn: "Close",
    st_yn: "(Y/N)",
    st_cancelled: "Cancelled:",
    st_usdc_deposit_noun: "USDC deposit",
    st_usdc_withdraw_noun: "USDC withdrawal",

    tx_reduce_only: "(reduce-only)",
    tx_failed_build_params: "Failed to build order params",
    tx_failed_build_ix: "Failed to build order instruction",
    tx_broadcasting: "Preparing transaction",
    tx_failed_prepare: "❌ Failed to prepare",
    tx_awaiting_confirm: "Broadcast sent; awaiting confirmation",
    tx_order_confirmed: "✅ Order confirmed:",
    tx_tx_rejected: "❌ Transaction rejected",
    tx_order_not_confirmed: "Confirmation still pending",
    tx_order_failed: "❌ Order failed",
    tx_err_stop_opposite_direction: "Stop loss order must be in opposite direction of trader \
                                     position",
    tx_err_not_enough_sol: "Not enough SOL",
    tx_err_balance_too_low: "Balance too low",
    tx_err_order_size_nonzero: "Order size must be greater than zero. Set a non-zero size before \
                               submitting.",
    tx_err_post_only_no_cross: "Market in post-only mode",
    tx_err_isolated_only_cross_margin: "Cross margin disabled. Use isolated",
    tx_err_capability_denied: "Trader account lacks permissions. Register via phoenix.trade \
                               with an invite code first.",
    tx_err_trader_frozen: "Trader account is frozen. Register at phoenix.trade with an invite \
                            code to activate.",
    tx_err_withdraw_insufficient_margin: "Withdrawal request rejected: InsufficientMargin",
    tx_err_insufficient_balance: "Insufficient balance.",
    tx_err_insufficient_funds: "Insufficient funds.",
    tx_err_insufficient_compute_units: "Insufficient compute units.",
    tx_err_computational_budget_exceeded: "Computational budget exceeded",
    tx_err_program_failed_to_complete:
        "ProgramFailedToComplete — verify your compute units / limit",
    tx_err_failed_prefix: "Tx Failed: ",
    tx_flow_deposit: "deposit",
    tx_flow_withdraw: "withdraw",
    tx_failed_build_deposit: "❌ Failed to build deposit",
    tx_failed_build_withdrawal: "❌ Failed to build withdrawal",
    tx_deposit_confirmed: "✅ Deposit of",
    tx_withdrawal_confirmed: "✅ Withdrawal of",
    tx_usdc_confirmed: "USDC confirmed!",
    tx_transfer_not_confirmed: "Transfer confirmation still pending",
    tx_transfer_failed: "❌ Transfer failed",
    tx_building_close_all: "Building close-all for",
    tx_not_found_skip: "not found, skipping",
    tx_close_all_aborted: "Close-all aborted: no valid close instructions could be built",
    tx_close_label: "close",
    tx_batch: "Batch",
    tx_broadcasting_batch: "Preparing batch",
    tx_confirming_batch: "Confirming batch",
    tx_failed_prepare_batch: "❌ Failed to prepare batch",
    tx_batch_confirmed_suf: "confirmed:",
    tx_batch_rejected_suf: "rejected by the network",
    tx_batch_not_confirmed_suf: "confirmation still pending",
    tx_batch_exec_failed_suf: "failed on-chain",
    tx_close_all_complete: "✅ Close-all complete",
    tx_building_cancel: "Building cancel for",
    tx_cancel_aborted: "Cancel aborted: no valid cancel instructions could be built",
    tx_cancel_label: "cancel",
    tx_cancel_batch: "Cancel batch",
    tx_broadcasting_cancel_batch: "Preparing cancel batch",
    tx_confirming_cancel_batch: "Confirming cancel batch",
    tx_failed_prepare_cancel_batch: "❌ Failed to prepare cancel batch",
    tx_cancel_complete: "✅ Cancel complete",

    splash_risk_disclaimer: "Perpetuals are risky — trade at your own risk",

    tx_registering_referral: "🐦‍🔥 Registering with COSMIC referral (10% fee discount)…",
    tx_registered_referral: "🐦‍🔥 Registered with COSMIC referral — 10% fee discount applied",
    tx_registration_failed: "❌ Phoenix registration failed",

    referral_modal_title: "Custom Referral Code",
    referral_modal_label: "Phoenix invite / referral code:",
    referral_modal_action: "register",
    referral_modal_skip: "skip",
    referral_modal_help: "Leave empty + Esc to skip and self-register at phoenix.trade.",
    tx_registering_custom_prefix: "🐦‍🔥 Registering with referral",
    tx_registered_custom_prefix: "🐦‍🔥 Registered with referral",

    referral_choice_title_prefix: "",
    referral_choice_title_suffix: " Registration",
    referral_choice_intro:
        "This wallet has no Phoenix account yet. Pick a referral to register with:",
    referral_choice_cosmic: "Use COSMIC referral — 10% fee discount 🔥",
    referral_choice_cosmic_note: "Cinder earns a share of fees from COSMIC-referred wallets.",
    referral_choice_custom: "Enter a custom referral / invite code",
    referral_choice_skip: "Skip — continue without a referral",
    referral_choice_nav: "select",
    referral_choice_action: "choose",
    referral_choice_sticky_note:
        "Attribution is permanent on Phoenix's side and cannot be changed later.",

    twap: "TWAP",
    twap_order: "configure TWAP",
    twap_modal_title: "new TWAP",
    twap_modal_intro: "Splits one market order into evenly-spaced slices.",
    twap_field_market: "Market",
    twap_field_side: "Side",
    twap_field_size: "Total Size",
    twap_field_total_time: "Total Time",
    twap_field_hours: "Hours",
    twap_field_mins: "Minutes",
    twap_field_secs: "Seconds",
    twap_unit_hr: "hr",
    twap_unit_min: "min",
    twap_unit_sec: "sec",
    twap_unit_slices: "slices",
    twap_nav_field: "field",
    twap_toggle_side: "toggle side",
    twap_cycle_market: "cycle market",
    twap_start: "start",
    twap_summary_placeholder: "—",
    twap_err_size: "Size must be a positive number",
    twap_err_duration: "Total Time must be a positive duration",
    twap_err_too_short: "Total Time must be at least 1 minute",
    twap_err_size_too_small:
        "Each slice rounds to zero base lots \u{2014} shorten Total Time or increase size",
    twap_err_no_wallet: "Wallet not loaded \u{2014} press [w] to connect before starting a TWAP",
    twap_started: "🐦‍🔥 TWAP started",
    twap_completed: "🐦‍🔥 TWAP done",
    twap_slice_sent: "TWAP slice sent",
    twap_slice_word: "slice",

    bots_title: "bots",
    bots_empty: "No bots running \u{2014} press [t] to TWAP and [Enter] to configure one",
    bots_kind: "Kind",
    bots_progress: "Progress",
    bots_interval: "Interval",
    bots_next: "Next",
    bots_state: "State",
    bots_pause_resume: "pause/resume",
    bots_stop: "stop",
    bots_restart: "restart",
    bots_remove: "remove",
    bots_status_running: "RUNNING",
    bots_status_paused: "PAUSED",
    bots_status_stopped: "STOPPED",
    bots_status_completed: "DONE",
    bots_paused_status: "TWAP paused",
    bots_resumed_status: "TWAP resumed",
    bots_stopped_status: "TWAP stopped",
    bots_restarted_status: "TWAP restarted",
    bots_removed_status: "TWAP removed",
    twap_waiting_market_cfg: "waiting for market config",
    twap_waiting_trader_sync: "waiting for trader state to sync",
    twap_waiting_active_market: "switch to this market to resume slices",
    twap_waiting_wallet: "wallet disconnected \u{2014} bot stopped",
    twap_waiting_authority: "different wallet connected \u{2014} bot will not fire",
    twap_restart_wallet_mismatch: "Restart refused: this bot was created with a different wallet",
    twap_slice_confirmed: "slice confirmed",
    twap_slice_failed: "slice failed",
    twap_slice_unconfirmed: "slice broadcast (confirmation unknown)",
    twap_confirm_start: "Start TWAP? [Y/N]",
    twap_confirm_restart: "Restart will fire all slices again. Continue? [Y/N]",
    twap_confirm_stop: "Stop bot? Pending slices will not fire. [Y/N]",
    twap_confirm_remove: "Remove bot from list? [Y/N]",
};
