import type { DeepPartial, FuturesPageMessages } from '../../futuresPage.i18n'

/** 合约页 UI：在 buildEn 基础上覆盖为西班牙语 */
export const esUiOverlay: DeepPartial<FuturesPageMessages> = {
  perpetual: 'Contratos perpetuos',
  perpetualTag: 'Perpetuo',
  pairSearchPlaceholder: 'Buscar',
  pairEmpty: 'Sin coincidencias',
  stats: {
    change24h: 'Cambio 24h',
    markPrice: 'Marca',
    high24h: 'Máx 24h',
    low24h: 'Mín 24h',
    volume24h: 'Volumen 24h',
    fundingCountdown: 'Financiación / Cuenta atrás',
  },
  mobileTabs: { chart: 'Gráfico', trade: 'Operar' },
  chartSub: { chart: 'Gráfico', coinInfo: 'Info moneda', fundingHistory: 'Historial financiación' },
  chartTools: { fullscreen: 'Pantalla completa', alert: 'Alertas' },
  draw: {
    cursor: 'Cursor',
    trend: 'Línea tendencia',
    hline: 'Horizontal',
    ray: 'Ray',
    channel: 'Canal',
    fib: 'Fibonacci',
    text: 'Texto',
    clearAll: 'Borrar dibujos',
    zoomOut: 'Alejar',
  },
  ohlcv: {
    open: 'A',
    high: 'M',
    low: 'm',
    close: 'C',
    volume: 'Volumen',
    changePct: 'Cambio',
    amplitude: 'Rango',
  },
  coinInfo: {
    marketCap: 'Cap. mercado',
    circulating: 'Suministro circulante',
    issuePrice: 'Precio emisión',
    ath: 'Máx histórico',
    athDate: 'Fecha ATH',
    whitepaper: 'Whitepaper',
    empty: 'Sin info de moneda',
    reload: 'Recargar',
  },
  fundingPanel: {
    rate: 'Tasa financiación',
    period: 'Período liquidación',
    nextCountdown: 'Próxima cuenta atrás',
    noChart: 'Sin datos de gráfico',
    settleTime: 'Liquidación',
    rateCol: 'Tasa financiación',
    empty7d: 'Sin datos últimos 7 días',
  },
  book: {
    orderBook: 'Libro órdenes',
    trades: 'Operaciones',
    priceQuote: 'Precio (USDT)',
    amountBase: 'Cantidad ({base})',
    totalBase: 'Total ({base})',
    time: 'Hora',
    buy: 'Compra',
    sell: 'Venta',
    buyRatio: 'Compra {n}%',
    sellRatio: '{n}% Venta',
    noTrades: 'Sin operaciones',
  },
  margin: { cross: 'Cruzado', split: 'Aislado', experience: 'Bonus' },
  amountUnit: { lots: 'Contratos', usdt: 'USDT' },
  leverage: { adjustTitle: 'Ajustar apalancamiento' },
  order: {
    limit: 'Límite',
    market: 'Mercado',
    conditional: 'Condicional',
    condMarket: 'Mercado condicional',
    condLimit: 'Límite condicional',
    available: 'Disponible',
    maxOpen: 'Máx a abrir',
    triggerPriceLabel: 'Disparador ({q})',
    priceLabel: 'Precio ({q})',
    latestBtn: 'Último',
    marketExe: 'Mercado',
    condMarketExe: 'Mercado después disparador',
    qtyLabel: 'Cantidad ({u})',
    transferTitle: 'Transferir',
    openLong: 'Comprar / Long',
    openShort: 'Vender / Short',
    contractInfoTitle: 'Info contrato',
    indexSource: 'Fuentes índice',
    marginCoin: 'Activo margen',
    maxLeverage: 'Apalancamiento máx',
    maintMargin: 'Tasa margen mantenimiento',
    openFee: 'Comisión apertura',
    closeFee: 'Comisión cierre',
    contractValue: 'Valor contrato',
    minOrder: 'Mín. orden',
    maxOrder: 'Máx. orden',
  },
  placeholders: {
    searchPair: 'Buscar',
    triggerPrice: 'Ingresar precio disparador',
    price: 'Ingresar precio',
    amount: 'Ingresar cantidad',
  },
  bottom: {
    positions: 'Posiciones',
    openOrders: 'Órdenes abiertas',
    historyOrders: 'Historial órdenes',
    historyPositions: 'Historial posiciones',
    tradeDetails: 'Operaciones',
    fundingFlow: 'Flujo fondos',
    assets: 'Activos',
    closeAllPositions: 'Cerrar todas',
    cancelAllOrders: 'Cancelar todas',
    loginPromptOr: 'o',
    registerNow: 'Registrarse',
    startTrading: 'para operar',
  },
  table: {
    contract: 'Contrato',
    dirLeverage: 'Dir./Ap.',
    openPrice: 'Apertura',
    markPrice: 'Marca',
    positionSize: 'Tamaño',
    margin: 'Margen',
    marginRate: 'Tasa margen',
    unrealizedPnl: 'PnL no realizado',
    roe: 'ROE',
    liqPrice: 'Precio liquidación',
    openTime: 'Hora apertura',
    action: 'Acción',
    type: 'Tipo',
    orderPrice: 'Precio',
    entrustPriceHist: 'Precio orden',
    triggerPrice: 'Disparador',
    orderAmt: 'Cantidad orden',
    filled: 'Ejecutada',
    tpPrice: 'Take profit',
    slPrice: 'Stop loss',
    time: 'Hora',
    orderTime: 'Hora orden',
    fillTime: 'Hora ejecución',
    profitUsdt: 'PnL (USDT)',
    tradedVol: 'Cantidad ejecutada',
    closeAvg: 'Media cierre',
    profitRate: 'ROE',
    closeTime: 'Hora cierre',
    directionOpenClose: 'Lado/A-C',
    dealPrice: 'Precio ejecución',
    fee: 'Comisión',
    fundType: 'Tipo',
    amount: 'Cantidad',
    coin: 'Moneda',
    settlementTime: 'Liquidación',
    fundingRate: 'Tasa financiación',
    totalBal: 'Saldo futuros',
    availMargin: 'Margen disponible',
    usedMargin: 'Margen usado',
    unrealized: 'PnL no realizado',
    spotWalletBal: 'Saldo cuenta retirable',
    fundTransfer: 'Transferir',
    avgOpenPrice: 'Media apertura',
    feeHint: 'Comisión (USDT)',
    estimatedPnlRow: 'PnL estimado',
    triggerUsdt: 'Disparador (USDT)',
    orderPriceUsdt: 'Precio orden (USDT)',
    openAvgUsdt: 'Media entrada (USDT)',
    closeAvgUsdt: 'Media salida (USDT)',
    tpUsdt: 'TP (USDT)',
    slUsdt: 'SL (USDT)',
    marginUsdtBracket: 'Margen (USDT)',
    notionalUsdt: 'Valor posición (USDT)',
    estLiqPx: 'Liq. estimada',
    profitBracketUsdt: 'PnL (USDT)',
    entrustVolCoin: 'Orden ({base})',
    filledVolCoin: 'Ejecutada ({base})',
    closeAvail: 'Cerrable:',
    markPriceBtn: 'Marca',
  },
  empty: {
    noPositions: 'Sin posiciones',
    noOrders: 'Sin órdenes',
    noHistPositions: 'Sin historial posiciones',
    noHistOrders: 'Sin historial órdenes',
    noTradeRecords: 'Sin ejecuciones',
    noFunding: 'Sin registros financiación',
  },
  modal: {
    confirmDefaultTitle: 'Confirmar',
    positionDetailTitle: 'Detalle posición',
    orderDetailTitle: 'Detalle orden',
    histPositionDetailTitle: 'Posición histórica',
    histOrderDetailTitle: 'Orden histórica',
    closePositionTitlePrefix: 'Cerrar',
    modifyTpSl: 'Editar TP/SL',
    setTpSl: 'Configurar TP/SL',
    posQtyLabel: 'Tamaño:',
    currentTpSlSection: 'Órdenes TP/SL activas',
    modifyToSection: 'Cambiar a',
    setPricesSection: 'Precios',
    tpTriggerLabel: 'Disparador take-profit ',
    tpHintOptionalClear: '(Vacío para borrar TP)',
    slTriggerLabel: 'Disparador stop-loss ',
    slHintOptionalClear: '(Vacío para borrar SL)',
    placeholderTpTrigger: 'Precio disparador TP',
    placeholderSlTrigger: 'Precio disparador SL',
    confirmCloseBtn: 'Confirmar cierre',
    ok: 'OK',
    closeTypeLiquidation: 'Liquidado',
    tpBadge: 'TP',
    slBadge: 'SL',
    tpPriceWord: 'TP ',
    slPriceWord: 'SL ',
    volLabel: 'Cantidad:',
    marginSplitMode: 'Cruzado / Aislado',
    directionLabel: 'Lado',
    entrustTypeLabel: 'Tipo orden',
    leverageLabel: 'Apalancamiento',
  },
  actions: { tpSl: 'TP/SL', reverse: 'Invertir', close: 'Cerrar', marketCloseAll: 'Cerrar todas mercado', cancelOrder: 'Cancelar' },
  positionRow: { hintCross: 'Cruzado', hintExperience: 'Bonus' },
  errors: {
    enterTriggerPrice: 'Ingresar precio disparador',
    enterPrice: 'Ingresar precio',
    priceNotReadyConvert: 'Precio no disponible — no se puede convertir',
    invalidQtyCheckMin: 'Cantidad inválida — revisar mínimo',
    priceNotReadyRetry: 'Precio no disponible, inténtelo de nuevo',
    enterQty: 'Ingresar cantidad',
    qtyExceedAvail: 'Cantidad excede límite cierre',
    closeFailed: 'Error al cerrar',
    modifyTpSlFailed: 'Error al actualizar — inténtelo más tarde',
    txFallback: 'Tipo {n}',
  },
  confirm: {
    reverseTitle: 'Invertir posición',
    reverseBody: 'Invertir {pair} {side}?',
    cancelAllTitle: 'Cancelar todas',
    cancelAllBody: 'Cancelar {n} órdenes?',
    closeAllTitle: 'Cerrar todas',
    closeAllBody: 'Cerrar {n} posiciones en mercado?',
    sideLongWord: 'long',
    sideShortWord: 'short',
  },
  directions: {
    long: 'Long',
    short: 'Short',
    openLong: 'Abrir long',
    openShort: 'Abrir short',
    closeShort: 'Cerrar short',
    closeLong: 'Cerrar long',
    openTag: 'A',
    closeTag: 'C',
  },
  orderTypes: { limit: 'Límite', plan: 'Disparador', takeProfit: 'Take profit', stopLoss: 'Stop loss', marketShort: 'Mercado' },
  orderStatus: { filled: 'Ejecutada', open: 'Abierta', cancelled: 'Cancelada', failed: 'Fallida' },
  closeTypes: {
    market: 'Cierre mercado',
    oneClick: 'Cierre un clic',
    reverseOpen: 'Abrir opuesta',
    tpSl: 'TP/SL',
    liquidation: 'Liquidación',
    admin: 'Cierre admin',
  },
}