import { futuresPageByLocale } from './futuresPage.i18n'
import { financePageByLocale } from './financePage.i18n'

export default {
  nav: {
    home: 'Inicio',
    market: 'Mercado',
    spot: 'Spot',
    futures: 'Futuros',
    copyTrade: 'Copy Trading',
    finance: 'Inversiones',
    idoPresale: 'Preventa IDO',
    claimAirdrop: 'Reclamar Airdrop',
    announcements: 'Anuncios',
    download: 'Descargar',
  },
  lang: {
    title: 'Idioma',
    zhCN: '简体中文',
    zhTW: '繁體中文',
    en: 'English',
    ko: '한국어',
    ja: '日本語',
    hi: 'हिन्दी',
    id: 'Bahasa Indonesia',
    es: 'Español',
    ru: 'Русский',
    pt: 'Português',
    de: 'Deutsch',
    fr: 'Français',
    tr: 'Türkçe',
    vi: 'Tiếng Việt'
  },
  header: {
    login: 'Iniciar Sesión',
    register: 'Registrarse',
    account: 'Mi Cuenta',
    assets: 'Mis Activos',
    security: 'Seguridad',
    broker: 'Broker',
    logout: 'Cerrar Sesión',
    logoutShort: 'Salir',
    downloadTitle: 'Descargar',
    brokerApplyTitle: 'Solicitar ser Broker',
    brokerApplyDesc: 'Aún no eres broker. El sistema enviará tu solicitud con los datos de tu cuenta, podrás usar las funciones tras aprobación.',
    cancel: 'Cancelar',
    applyNow: 'Solicitar Ahora',
    viewApplyList: 'Ver Estado Solicitud',
    submitting: 'Enviando…',
    menu: 'Menú',
  },
  common: {
    loading: 'Cargando...',
    retry: 'Reintentar',
    cancel: 'Cancelar',
    confirm: 'Confirmar',
    submit: 'Enviar',
    save: 'Guardar',
    send: 'Enviar',
    back: 'Volver',
    next: 'Siguiente',
    done: 'Listo',
    noData: 'Sin Datos',
    noRecord: 'Sin Registros',
    search: 'Buscar',
    all: 'Todo',
    max: 'Máx',
    copied: 'Copiado',
    networkError: 'Error de red, reintenta',
    loadFailed: 'Fallo al cargar',
    operationFailed: 'Operación fallida, reintenta',
    saveSuccess: 'Guardado correctamente',
    more: 'Más',
    perpetual: 'Perpetuo',
    set: 'Configurado',
    notSet: 'Sin configurar',
    change: 'Modificar',
    bind: 'Vincular',
    unbind: 'Desvincular',
    on: 'Activado',
    off: 'Desactivado',
    status: 'Estado',
    time: 'Fecha',
    amount: 'Cantidad',
    type: 'Tipo',
    coin: 'Moneda',
    from: 'Desde',
    to: 'Hasta',
    close: 'Cerrar',
    contactService: 'Contactar Soporte',
  },
  home: {
    heroTitle: 'Seguro · Eficiente · Plataforma Global\nde Activos Digitales',
    heroDesc: 'iBit brinda servicios de trading estables, transparentes y profesionales para usuarios globales con arquitectura tecnológica líder y estrictos controles de riesgo.',
    register: 'Registrarse',
    viewMarket: 'Ver Mercados',
    downloadApp: 'Descargar App',
    coreAdvantages: 'Ventajas Principales',
    assetSafetyTitle: 'Seguridad de Activos',
    assetSafetyDesc: 'Carteras frías/calientes separadas, firma múltiple y control de permisos con monitoreo 24h para proteger tus fondos.',
    highPerfTitle: 'Alto Rendimiento',
    highPerfDesc: 'Motor de emparejamiento propio con procesamiento en milésimas de segundo para operaciones fluidas y estables.',
    globalComplianceTitle: 'Cumplimiento Global',
    globalComplianceDesc: 'Cumplimos normativas internacionales para ofrecer un entorno de trading confiable en todo el mundo.',
    transparentFeeTitle: 'Comisiones Transparentes',
    transparentFeeDesc: 'Estructura de tarifas clara sin costos ocultos para optimizar tus gastos en trading.',
    aboutUs: 'Sobre Nosotros',
    aboutDesc: 'iBit es una plataforma global de intercambio de activos digitales enfocada en seguridad, estabilidad y eficiencia mediante innovación y regulación.',
    foundedYear: 'Fundada en 2023',
    headquarters: 'Sede y registro en Dubái, contamos con licencias en EE.UU., Canadá, Australia y Dubái.',
    ourVision: 'Nuestra Visión',
    visionSubtitle: 'Construir infraestructura de trading digital confiable a nivel mundial',
    ecoTitle: 'Ecosistema',
    ecoDesc: 'Desarrollar un nuevo ecosistema de trading de criptomonedas',
    missionTitle: 'Misión',
    missionDesc: 'Impulsar la circulación global del valor digital',
    purposeTitle: 'Propósito',
    purposeDesc: 'Facilitar la gestión e inversión en activos criptográficos a los usuarios',
    heroImageAlt: 'Plataforma de trading iBit',
    aboutImageAlt: 'Sobre Nosotros',
  },
  market: {
    title: 'Mercado en Vivo',
    desc: 'Precios en tiempo real, volúmenes y variaciones para monitorear la evolución del mercado.',
    hot: 'Populares',
    topVolume: 'Mayor Volumen',
    gainers: 'Subidas',
    losers: 'Bajadas',
    perpetual: 'Perpetuo',
    name: 'Nombre',
    latestPrice: 'Precio',
    change24h: 'Var. 24h',
    turnover: 'Volumen',
    searchPair: 'Buscar pares',
    searchMarket: 'Buscar monedas, pares, futuros',
    price: 'Precio',
    change24hShort: 'Var 24h',
    high24h: 'Máx 24h',
    low24h: 'Mín 24h',
    volume24hLabel: 'Volumen 24h',
  },
  auth: {
    loginTitle: 'Iniciar Sesión',
    emailLogin: 'Acceso por Correo',
    emailPlaceholder: 'Ingresa tu correo',
    password: 'Contraseña',
    passwordPlaceholder: 'Ingresa tu contraseña',
    forgotPassword: '¿Olvidaste tu contraseña?',
    loginBtn: 'Ingresar',
    noAccount: '¿No tienes cuenta?',
    registerNow: 'Regístrate',
    verifyTitle: 'Ingresa Código de Verificación',
    codeSentDesc: 'Código enviado a {email}, revisa tu bandeja de entrada.',
    codeSendDesc: 'Pulsa el botón para enviar código a {email}.',
    countdownResend: 'Reenviar en {n}s',
    resendCode: 'Reenviar Código',
    confirmBtn: 'Confirmar',
    sendCode: 'Enviar Código',
    forgotVerify: '¿Olvidaste método de verificación?',
    loginSuccess: 'Sesión iniciada correctamente',
    codeSentAgain: 'Código reenviado',
    registerTitle: 'Registro',
    emailRegister: 'Registro por Correo',
    inviteCodeLabel: 'Código Invitación (opcional)',
    inviteCodePlaceholder: 'Ingresa código de invitación',
    hasAccount: '¿Ya tienes cuenta?',
    loginNow: 'Inicia Sesión',
    verifyPageTitle: 'Verificación de Seguridad',
    emailVerifyLabel: 'Verificación por Correo',
    codePlaceholder: 'Ingresa código',
    sendBtn: 'Enviar',
    passwordTitle: 'Crear Contraseña',
    backBtn: '‹ Volver',
    inputPasswordLabel: 'Contraseña',
    confirmPasswordLabel: 'Confirmar Contraseña',
    confirmPasswordPlaceholder: 'Repite tu contraseña',
    doneBtn: 'Listo',
    resetSuccess: 'Contraseña restablecida, accede con tu nueva clave.',
    registerSuccess: 'Registro Exitoso',
    welcomeJoin: 'Bienvenido a iBit',
    loginNowBtn: 'Iniciar Sesión',
    forgotPasswordTitle: 'Restablecer Contraseña',
    emailLabel: 'Correo',
    emailRegisteredPlaceholder: 'Ingresa tu correo registrado',
    codeSentToast: 'Código enviado',
  },
  error: {
    emailRequired: 'Ingresa tu correo',
    emailInvalid: 'Formato de correo inválido',
    passwordRequired: 'Ingresa contraseña',
    code6Required: 'Ingresa código de 6 dígitos',
    codeRequired: 'Ingresa código de verificación',
    loginFailed: 'Correo o contraseña incorrectos',
    networkError: 'Fallo de red, inténtalo luego',
    emailAlreadyRegistered: 'Este correo ya está registrado, inicia sesión',
    confirmPasswordRequired: 'Repite tu contraseña',
    passwordMismatch: 'Las contraseñas no coinciden',
    loadFailed: 'No se pudo cargar datos de seguridad',
    refreshFailed: 'Error al actualizar',
    statusUpdated: 'Estado actualizado',
    currentPasswordRequired: 'Ingresa contraseña actual',
    sixDigitCode: 'Ingresa código de 6 dígitos del correo',
    sixDigitGoogleCode: 'Ingresa código de 6 dígitos de Google',
    sendFailed: 'Fallo al enviar',
    operationFailed: 'Operación fallida',
  },
  security: {
    title: 'Configuración de Seguridad',
    back: '‹ Volver',
    warningBanner: 'Completa verificación de correo, Google Authenticator y contraseña de fondos para proteger tu cuenta.',
    accountSecurity: 'Seguridad de Cuenta',
    loginPassword: 'Contraseña de Acceso',
    loginPasswordDesc: 'Cambia tu clave periódicamente para mayor seguridad',
    emailVerify: 'Verificación de Correo',
    emailVerifyDesc: 'Vincula correo para recuperación y validaciones',
    googleAuth: 'Autenticación Google',
    googleAuthDesc: 'Vincula Google Authenticator para reforzar la seguridad',
    fundPassword: 'Contraseña de Fondos',
    fundPasswordDesc: 'Establece clave exclusiva para operaciones de retiro y transferencia',
    set: 'Config',
    notSet: 'Sin config',
    change: 'Modificar',
    bind: 'Vincular',
    set2: 'Establecer',
    statusUpdated: 'Estado actualizado',
    loadFailed: 'Fallo carga datos seguridad',
    refreshFailed: 'Error refrescar',
    bound: 'Vinculado',
    notBound: 'Sin vincular',
    refresh: 'Refrescar',
    googleHelpTitle: 'Ayuda Google Authenticator',
    googleHelpDesc: 'Si no recibes código o quieres desvincular, contacta soporte.',
    changeLoginPassword: 'Cambiar Contraseña de Acceso',
    changePasswordHint: 'Tras modificar usa la nueva contraseña, código enviado al correo vinculado.',
    currentPassword: 'Contraseña Actual',
    newPassword: 'Nueva Contraseña',
    confirmNewPassword: 'Confirmar Nueva Clave',
    emailCode: 'Código Correo',
    sendCode: 'Enviar Código',
    codeSent: 'Código enviado al correo',
    changeSuccess: 'Contraseña modificada correctamente',
    confirmChange: 'Confirmar Cambio',
    submitting: 'Enviando…',
    setFundPassword: 'Establecer Clave de Fondos',
    resetFundPassword: 'Restablecer Clave de Fondos',
    fundPasswordHint: 'Clave requerida para retiros y movimientos, guárdala bien.',
    fundPasswordResetHint: 'Restablece tu clave, código enviado al correo registrado.',
    newFundPassword: 'Nueva Clave Fondos',
    confirmFundPassword: 'Confirmar Clave',
    fundPasswordUpdated: 'Clave fondos actualizada',
    fundPasswordSet: 'Clave fondos configurada',
    bindGoogle: 'Vincular Google Authenticator',
    boundEmail: 'Correo vinculado:',
    googleQrStep: '1. Escanea QR o ingresa clave manual',
    googleCodeStep: '2. Código dinámico Google (6 dígitos)',
    emailCodeStep: '3. Código de correo',
    copyKey: 'Copiar Clave',
    keyCopied: 'Clave copiada',
    copyFailed: 'No se pudo copiar, selecciona el texto manualmente',
    clipboardDeniedMac: 'Sin permiso portapapeles: configura permisos desde el candado de la URL',
    clipboardDenied: 'Permiso portapapeles denegado, habilítalo en ajustes del navegador',
    invalidSecret: 'Clave inválida, refresca página',
    googleCodeRequired: 'Ingresa código Google de 6 dígitos',
    emailCodeSent: 'Código correo enviado',
    bindSuccess: 'Vinculación completada',
    confirmBind: 'Confirmar Vinculación',
    googleAuthLead: 'Descarga Google Authenticator o Microsoft Authenticator desde tienda de apps.',
    googleAuthTip1: 'Tras vincular necesitarás el código de 6 dígitos en accesos y operaciones sensibles.',
    googleAuthTip2: 'Conserva tu dispositivo seguro; si pierdes acceso contacta soporte.',
    googleAuthStart: 'Lo tengo instalado, vincular ahora',
  },
  assets: {
    title: 'Mis Activos',
    totalAssets: 'Valor Total Activos',
    todayPnl: 'Gan/Pér Hoy',
    deposit: 'Depositar',
    withdraw: 'Retirar',
    transfer: 'Transferir',
    history: 'Historial',
    spot: 'Spot',
    futures: 'Futuros',
    copyTrade: 'Copy',
    fund: 'Retirable',
    walletBalance: 'Saldo Billetera',
    unrealizedPnl: 'Gan/Pér No Realizada',
    positions: 'Posiciones',
    noPositions: 'Sin posiciones',
    assetBalance: 'Saldo Activo',
    unavailable: 'No Disponible',
    depositCoin: 'Depósito',
    withdrawCoin: 'Retiro',
    depositRecord: 'Historial Depósitos',
    withdrawRecord: 'Historial Retiros',
    transferRecord: 'Historial Transferencias',
    assetRecord: 'Movimientos',
    overview: 'Resumen',
    spotAccount: 'Cuenta Spot',
    swapAccount: 'Cuenta Futuros',
    followAccount: 'Cuenta Copy',
    fundAccount: 'Cuenta Retirable',
    spotTradingAccount: 'Cuenta Trading Spot',
    ibitAccount: 'Cuenta iBit',
    lockedStakingAccount: 'Cuenta Bloqueada',
    stakingTab: 'Bloqueos',
    ibitUnit: 'iBit',
    releaseTotal: 'Total Liberado',
    totalLockedBalance: 'Saldo Total Bloqueado(iBit)',
    myStakingOrders: 'Mis Órdenes Bloqueo',
    stakingOrderNo: 'Nº Orden',
    purchaseQty: 'Cantidad Comprada',
    stakingTotal: 'Total Bloqueado',
    released: 'Liberado',
    pendingRelease: 'Pendiente Liberación',
    startTime: 'Fecha Inicio',
    subscribing: 'En Suscripción',
    releasing: 'En Liberación',
    completed: 'Finalizado',
    pullToRefresh: 'Desliza abajo para actualizar',
    releaseToRefresh: 'Suelta para refrescar',
    refreshing: 'Actualizando...',
    totalAccount: 'Valor Total Cuenta',
    showBalance: 'Mostrar Saldo',
    hideBalance: 'Ocultar Saldo',
    followBalance: 'Saldo Copy',
    accountTransfer: 'Transferencia entre Cuentas',
    transferFrom: 'Origen',
    transferTo: 'Destino',
    available: 'Disponible',
    freeTransfer: 'Transferencia gratuita, abono instantáneo',
    followPositions: 'Posiciones Copy Activas',
    noFollowPositions: 'Sin posiciones copy',
    followLoading: 'Cargando…',
    long: 'Largo',
    short: 'Corto',
    trader: 'Trader',
    openPrice: 'Precio Apertura',
    currentPrice: 'Precio Actual',
    amountLever: 'Cantidad · Apalancamiento',
    closing: 'Cerrando…',
    closePosition: 'Cerrar',
    noLossPosition: 'Las órdenes copy sin pérdida no se pueden cerrar manualmente',
    invalidPosition: 'Datos posición erróneos, no cerrar',
    confirmClose: '¿Cerrar esta posición? Perderás acceso a beneficios finales de la orden.',
    closeSuccess: 'Posición cerrada correctamente',
    closeFailed: 'Fallo al cerrar posición',
    sameAccountError: 'Origen y destino no pueden ser la misma cuenta',
    amountError: 'Ingresa cantidad válida',
    insufficientBalance: 'Saldo disponible insuficiente',
    transferSuccess: 'Transferencia exitosa',
    transferFailed: 'Fallo transferencia',
    goCopyTrade: 'Copy Trading',
    goSpotTrade: 'Ir a Trading',
    hideZeroBalance: 'Ocultar activos sin saldo',
    depositRecord2: 'Historial Depósitos',
    amountUsdt: 'Cantidad (USDT)',
    amountCoin: 'Cantidad ({coin})',
    availableCoin: 'Disponible: {available} {coin}',
    transferring: 'Transfiriendo…',
    confirmTransferBtn: 'Confirmar Transferencia',
    statementPageTitle: 'Extracto de Movimientos',
    statementStartDate: 'Fecha Inicio',
    statementEndDate: 'Fecha Fin',
    statementReset: 'Restablecer',
    statementSearch: 'Buscar',
    statementSearching: 'Buscando…',
    statementEmpty: 'Sin registros',
    statementDirectionOpen: 'Apertura',
    statementDirectionClose: 'Cierre',
    statementTypes: {
      '43': 'Ganancia Spot',
      '44': 'Pérdida Spot',
      '45': 'Comisión Spot',
      '46': 'Reembolso Spot',
      '48': 'Operación Spot',
      '49': 'Staking',
      '50': 'Desbloqueo Staking',
      '51': 'Recompensa Airdrop',
      '52': 'Ingreso cartera staking',
      '53': 'Salida cartera staking',
    },
  },
  finance: {
    ...financePageByLocale.es,
  },
  copyTrade: {
    comprehensive: 'General',
    winRate14d: 'Tasa Gan. 14d',
    profit14d: 'Rentab.14d',
    normal: 'Copy Normal',
    lossless: 'Copy Sin Pérdida',
    favorite: 'Favoritos',
    topTraders: 'Mejores Traders',
    twoWeekReturn: 'Rentab. 2 Sem',
    followers: 'Seguidores',
    days: 'Días',
    applyTrader: 'Ser Trader Líder',
    myFollowing: 'Mis Copias',
    myTrading: 'Mis Operaciones',
    traderIdentity: 'Trader Líder',
    myFollowingAccount: 'Mi Cuenta Copy',
    leadManage: 'Panel Líder',
    applyLead: 'Solicitar Ser Líder',
    pageTitle: 'Copy Trading',
    heroDesc: 'Copia operaciones de traders expertos con un clic para rentabilizar tu inversión.',
    traderOverview: 'Resumen Trader',
    copyFollowersCount: 'Seguidores Copy',
    cumulativeTradingDays: 'Días totales operando',
    cumulativeLeadProfit: 'Ganancia total copy',
    goLeadManage: 'Ir al panel líder →',
    copyWalletTitle: 'Saldo Cuenta Copy',
    cumulativePnlUsdt: 'Ganancia total Copy (USDT)',
    availableUsdt: 'Disponible (USDT)',
    unrealizedPnlUsdtShort: 'Gan/Pér No Real.(USDT)',
    followingTradersSummary: 'Siguiendo a {n} traders',
    newBadge: 'NUEVO',
    losslessShieldTitle: 'Protección Sin Pérdida',
    losslessShieldDesc: ': Si tu copy genera pérdidas la plataforma compensa dentro de los límites definidos.',
    learnHowItWorks: 'Saber más →',
    myStarredTraders: 'Traders Guardados',
    traderTotalCount: '{count} traders disponibles',
    filterLoadingShort: 'Cargando…',
    loadTraderListFailed: 'Fallo al cargar lista traders',
    loadFavoritesFailed: 'No se pudo cargar favoritos',
    favoritedToast: 'Añadido a favoritos',
    defaultTraderName: 'Trader',
    levelJunior: 'Junior',
    badgeLossless: 'Sin Pérdida',
    metaDaysTrades: '{days}d · {trades} ops',
    followAction: 'Copiar',
    profitUsdtBracket: 'Ganancia (USDT)',
    profitShareRate: '% Reparto Ganancias',
    trend14Days: 'Gráfico 14 días',
    emptyFavoriteHint: 'Sin favoritos aún, descubre traders',
    emptyTraderListDefault: 'Sin traders disponibles',
    emptyTraderListLossless: 'Sin traders copy sin pérdida',
    browseTraders: 'Ver Traders',
    losslessInfoHeading: 'Funcionamiento Copy Sin Pérdida',
    llInfoCard1Title: 'Protección Condicional',
    llInfoCard1Body: 'La compensación se activa solo al cumplir reglas definidas por control de riesgos.',
    llInfoCard2Title: 'Responsabilidad Limitada',
    llInfoCard2Body: 'La plataforma solo compensa hasta el límite fijado por cada operación copy.',
    llInfoCard3Title: 'Prioridad Gestión Riesgo',
    llInfoCard3Body: 'Ante pérdidas extremas se activa sistema de protección para equidad del copy.',
    llInfoCard4Title: 'Aviso Riesgo',
    llInfoCard4Body: 'El trading cripto es de alto riesgo; copy sin pérdida no es garantía de ganancia.',
    followingPlaza: 'Plaza Copy',
    followingWalletFail: 'Error carga datos cuenta copy',
    followingTabPositions: 'Posiciones Abiertas',
    followingTabTraders: 'Mis Traders',
    followingTabHistory: 'Historial Copy',
    followingHistEmpty: 'Sin historial copy',
    followingNoTradersYet: 'No sigues ningún trader',
    followingGoPlaza: 'Ir a plaza copy',
    confirmStopFollow: '¿Dejar de seguir a "{name}"?',
    noLossManualCloseTooltip: 'Copy sin pérdida no admite cierre manual',
    followingThContract: 'Contrato',
    followingThDirection: 'Sentido',
    followingThOpenPrice: 'Precio Apertura',
    followingThCurPrice: 'Precio Actual',
    followingThQty: 'Cantidad',
    followingThLever: 'Apalanc.',
    followingThUnrealized: 'Gan/Pér No Real',
    followingThOpenTime: 'Fecha Apertura',
    followingThAction: 'Acción',
    followingOpenLong: 'Apertura Larga',
    followingOpenShort: 'Apertura Corta',
    closeQtyWithBase: 'Cantidad Cierre({base})',
    followingRealizedPnlUsdt: 'Gan/Pér Real(USDT)',
    followingYieldRate: 'Rentabilidad',
    followingAvgOpenUsdt: 'Precio Medio Apertura(USDT)',
    followingAvgCloseUsdt: 'Precio Medio Cierre(USDT)',
    marginCrossMode: 'Todo en común',
    marginIsolatedMode: 'Apalanc. Aislado',
    stopFollowing: 'Dejar de Seguir',
    lead: {
      pageTitle: 'Mis Operaciones Líder',
      navMyFollowing: 'Mis Copias →',
      becomeTitle: 'Conviértete en Trader Líder',
      becomeDesc: 'Cumple los requisitos para enviar tu solicitud.',
      condMinBalance: 'Saldo cuenta futuros ≥ {min} USDT',
      goTransfer: 'Transferir',
      condNotFollowing: 'No puedes seguir a otro trader',
      agreePrefix: 'He leído y acepto el',
      agreeLink: 'Acuerdo de Trader',
      submitting: 'Enviando…',
      submitApply: 'Enviar Solicitud',
      applyFailed: 'Solicitud fallida, reintenta luego',
      reviewingTitle: 'Solicitud en Revisión',
      reviewingDesc: 'Tu solicitud está en proceso, podrás liderar tras aprobación.',
      agreementTitle: 'Acuerdo de Trader',
      agreementEmpty: 'No se pudo cargar el acuerdo, inténtalo después.',
      leadingBadge: 'Liderando',
      noBio: 'Sin descripción',
      cancelLeadProcessing: 'Procesando…',
      cancelLeadApply: 'Solicitar dejar de liderar',
      confirmCancelLead: '¿Dejar de ser líder? Se cancelarán todas las copias activas.',
      operationFailed: 'Operación fallida',
      statFollowers: 'Seguidores actuales',
      statRegisterDays: 'Días en plataforma',
      statCapital: 'Solvencia',
      statCumulativeProfit: 'Ganancia total copy(USDT)',
      statTotalFollowers: 'Total seguidores históricos',
      statTradingDays: 'Días totales operando',
      tabFollowers: 'Seguidores ({n})',
      tabCurrent: 'Operaciones Activas',
      tabHistory: 'Historial Liderazgo',
      tabSettings: 'Ajustes Trader',
      emptyFollowers: 'Sin seguidores',
      removeFollower: 'Eliminar',
      followerEquity: 'Saldo Cuenta(USDT)',
      followerTotalShare: 'Reparto total ganancias(USDT)',
      followerLastShare: 'Último reparto',
      followerSince: 'Sigue desde: {time}',
      emptyCurrent: 'Sin operaciones activas',
      emptyHistory: 'Sin historial liderazgo',
      settingsBasic: 'Datos Básicos',
      avatar: 'Foto Perfil',
      nickname: 'Alias',
      nicknamePlaceholder: 'Máx 10 caracteres',
      bio: 'Descripción',
      bioPlaceholder: 'Máx 25 caracteres',
      saveSuccess: 'Guardado correctamente',
      saveBasicProcessing: 'Guardando…',
      saveBasic: 'Guardar Datos',
      leadSymbols: 'Contratos para Liderar',
      saveProcessing: 'Guardando…',
      save: 'Guardar',
      tagsTitle: 'Etiquetas (máx 4)',
      confirmRemoveFollower: '¿Eliminar seguidor "{name}"?',
      saveFailed: 'Fallo al guardar',
      uploadFailed: 'Error subir archivo',
      defaultFollower: 'Seguidor',
      defaultUser: 'Usuario',
    },
  },
  footer: {
    aboutSection: 'Sobre Nosotros',
    companyIntro: 'Presentación Empresa',
    brand: 'Marca',
    community: 'Únete a nuestra Comunidad',
    riskWarning: 'Aviso de Riesgo',
    terms: 'Términos de Servicio',
    privacy: 'Política Privacidad',
    futuresTrade: 'Trading Futuros',
    spotTrade: 'Trading Spot',
    losslessCopy: 'Copy Sin Pérdida',
    beginnerGuide: 'Guía Principiantes',
    helpCenter: 'Centro Ayuda',
    glossary: 'Glosario',
    compliance: 'Normativa Legal',
    products: 'Productos',
    resources: 'Recursos',
  },
  announcements: {
    title: 'Anuncios del Sistema',
    noAnnouncements: 'Sin anuncios',
    back: 'Volver',
    backToList: 'Volver Lista',
    loadMore: 'Cargar Más',
  },
  download: {
    title: 'Descargar iBit',
    heroTitle: 'Mercado en Tiempo Real\nOpera en Cualquier Momento',
    desc: 'Controla cotizaciones y opera desde cualquier lugar',
    appDesc: 'Todas las funciones disponibles en app, trading desde móvil',
    latestVersion: 'Última Versión',
    updateNotes: 'Notas Actualización',
    ios: 'Descargar iOS',
    iosNotReleased: 'iOS no disponible',
    android: 'Descargar Android',
    androidNotReleased: 'Android no disponible',
    scanToDownload: 'Escanea para descargar',
  },
  account: {
    title: 'Centro de Cuenta',
    uid: 'UID',
    email: 'Correo',
    profile: 'Perfil',
    security: 'Seguridad',
    securityDesc: 'Contraseñas, verificaciones y clave fondos',
    assets: 'Mis Activos',
    assetsDesc: 'Depósito, retiro y transferencias',
    inviteCode: 'Código Invitación',
    inviteFriends: 'Invitar Amigos',
    inviteDesc: 'Invita usuarios y obtén comisiones por sus operaciones',
    helpSupport: 'Ayuda y Soporte',
    helpDesc: 'Preguntas frecuentes y tickets',
    broker: 'Broker',
    brokerDesc: 'Gestión comisiones y equipo',
    logout: 'Cerrar Sesión',
    securityScore: 'Puntuación Seguridad',
    twofa: 'Autenticación Google',
    supportTitle: 'Contactar Soporte',
    supportHours: 'Atención 7×24h',
    onlineSupport: 'Chat Online',
    instantChat: 'Chat Directo',
    telegramSupport: 'Soporte Telegram',
    emailSupport: 'Soporte Correo',
    applySubmitted: 'Solicitud enviada, pendiente aprobación',
    scoreHigh: 'Excelente',
    scoreMedium: 'Regular',
    scoreLow: 'Mejorable',
  },
  transfer: {
    title: 'Transferencia',
    amount: 'Cantidad a Transferir',
    amountPlaceholder: 'Ingresa cantidad',
    maxTransferable: 'Máximo Transferible',
    success: 'Transferencia Exitosa',
    selectCoin: 'Seleccionar Moneda',
    enterAmount: 'Ingresa importe',
    histEmpty: 'Sin registros transferencia',
    balanceLabel: 'Saldo',
  },
  withdraw: {
    title: 'Retirar Fondos',
    network: 'Red',
    networkTip: 'Confirma coincidencia de red con plataforma destino o puedes perder tus activos.',
    address: 'Dirección Retiro',
    addressPlaceholder: 'Ingresa dirección destino',
    amount: 'Cantidad Retiro',
    received: 'Importe Recibido',
    fee: 'Comisión',
    submitted: 'Solicitud de retiro enviada',
    fundPassword: 'Clave Fondos',
    emailCode: 'Código Correo',
    googleCode: 'Código Google',
    securityVerification: 'Verificación Seguridad',
    recordTitle: 'Historial Retiros',
    recordEmpty: 'Sin retiros registrados',
    confirmCancelApply: '¿Cancelar esta solicitud de retiro?',
    withdrawCancelledToast: 'Cancelado',
    withdrawCancelFailedToast: 'Fallo al cancelar',
    statusPending: 'En revisión',
    statusReleasing: 'En proceso de pago',
    statusWithdrawFailed: 'Fallido',
    statusWithdrawSuccess: 'Completado',
    statusWithdrawCancelled: 'Cancelado',
    typeInternalTransfer: 'Transferencia Interna',
    typeOnChainWithdraw: 'Retiro en Cadena',
    cancelApplyBtn: 'Cancelar',
    initFailed: 'Error inicialización',
    submitOnChainFailed: 'Fallo envío retiro cadena',
    transferSubmitFailed: 'Fallo transferencia interna',
    availWithdrawBalance: 'Saldo retirable:',
    availTransferBalance: 'Saldo transferible:',
    coinLabel: 'Moneda',
    subCoin: 'Submoneda',
    mainCoinLabel: 'Moneda Principal',
    transferMainCoinHint: 'Transferencia interna solo monedas principales, no tokens derivados (TUSDT/EUSDT).',
    withdrawNetworkLabel: 'Red Retiro',
    withdrawAmountUsdt: 'Cantidad Retiro (USDT)',
    withdrawAmountCoin: 'Cantidad Retiro ({coin})',
    transferAmountUsdt: 'Cantidad Transferencia (USDT)',
    transferAmountCoin: 'Cantidad Transferencia ({coin})',
    addressForCoin: 'Ingresa dirección {coin}',
    expectedArrival: 'Estimado recibo',
    minWithdrawRowLabel: 'Retiro Mínimo',
    internalTransferFeeLabel: 'Comisión Transfer. Interna',
    free: 'Gratis',
    minTransferRowLabel: 'Transferencia Mínima',
    recipientUidLabel: 'UID Destino',
    recipientUidPlaceholder: 'Ingresa UID del destinatario',
    addressForNetwork: 'Dirección USDT-{network}',
    codePlaceholder6Digits: 'Código 6 dígitos',
    googlePlaceholder6: 'Código autenticador 6 dígitos',
    sendVerificationCode: 'Enviar Código',
    confirmWithdrawSubmit: 'Confirmar Retiro',
    confirmTransferSubmit: 'Confirmar Transferencia',
    codeSentToEmailToast: 'Código enviado al correo',
    onchainSubmittedPendingToast: 'Retiro enviado, pendiente revisión',
    transferSubmittedToast: 'Transferencia interna enviada',
    submitFailed: 'Fallo envío',
    detailTitleOnChain: 'Detalle Retiro Cadena',
    detailTitleTransfer: 'Detalle Transferencia Interna',
    amountHeroWithdraw: 'Cantidad Retirada',
    amountHeroTransfer: 'Cantidad Transferida',
    stepApplied: 'Enviada',
    stepDone: 'Finalizada',
    recipientLabel: 'Destinatario',
    appliedAt: 'Fecha Envío',
    finishedAt: 'Fecha Finalización',
    cancelApplyFull: 'Anular Solicitud',
    copyBtn: 'Copiar',
    bindGoogleFirst: 'Primero vincula autenticación Google',
    errFillAddressBeforeCode: 'Completa dirección antes de pedir código',
    errFillAmountBeforeCode: 'Ingresa importe antes de solicitar código',
    errFillUidBeforeCode: 'Completa UID destino antes de código',
    errFillTransferAmtBeforeCode: 'Ingresa importe transferencia primero',
    errEnterWithdrawAddress: 'Escribe dirección retiro',
    errEnterWithdrawAmount: 'Ingresa cantidad a retirar',
    errMinWithdrawWithAmt: 'Retiro mínimo {min} {coin}',
    errMinWithdrawWithAmtUsdt: 'Retiro mínimo {min} USDT',
    errExceedWithdrawBalance: 'Supera saldo retirable',
    errEnterFundPassword: 'Ingresa clave fondos',
    errEnterEmailCode: 'Ingresa código correo',
    errEnterGoogleCode: 'Ingresa código Google',
    errEnterRecipientUid: 'Escribe UID destinatario',
    errEnterTransferAmount: 'Ingresa importe transferencia',
    errMinTransferWithAmt: 'Transferencia mínima {min} {coin}',
    errMinTransferWithAmtUsdt: 'Transferencia mínima {min} USDT',
    errExceedTransferBalance: 'Supera saldo transferible',
  },
  deposit: {
    title: 'Depositar',
    address: 'Dirección Depósito',
    network: 'Red',
    saveQrCode: 'Guardar Código QR',
    addressCopied: 'Dirección Copiada',
    minDeposit: 'Depósito Mínimo',
    arrivals: 'Confirmaciones',
    coin: 'Moneda',
    protocol: 'Red / Protocolo',
    subCoin: 'Submoneda',
    contract: 'Contrato',
    depositAmount: 'Importe Depósito',
    amountPlaceholder: 'Ingresa cantidad',
    generateOrder: 'Crear Orden',
    generating: 'Generando…',
    notice: 'Aviso',
    notice1: 'Crea orden antes de transferir, usa dirección e importe de la orden.',
    notice2: 'No envíes fondos a red o contrato erróneo, pérdida irreversible.',
    notice3: 'Tras transferir envía hash de transacción para confirmar abono.',
    intro: 'Explicación',
    introText: 'Elige moneda y red, define importe, genera orden con dirección exclusiva; tras transferir en cadena adjunta TxHash.',
    newDeposit: '← Nuevo Depósito',
    orderInfo: 'Datos Orden',
    orderNo: 'Nº Orden',
    status: 'Estado',
    coinLabel: 'Moneda',
    networkLabel: 'Red',
    amount: 'Importe',
    payAddress: 'Dirección Recepción',
    payAddressHint: 'Transfiere el importe exacto con red y moneda igual a la orden',
    qrTitle: 'Pago QR',
    qrHint: 'Escanea con tu billetera, no modifiques dirección ni valor',
    contractAddress: 'Dirección Contrato',
    copy: '⎘ Copiar',
    copyAddress: 'Copiar Dirección',
    submitHash: 'Enviar Hash Transacción',
    submittingHash: 'Enviando…',
    hashPlaceholder: 'Pega Hash cadena / TxID Tron',
    orSubmitHash: 'O envía hash tras completar transferencia',
    hashRequired: 'Ingresa hash de transacción',
    statusNotSubmittable: 'No admite envío hash en este estado',
    orderCreated: 'Orden creada, transfiere a la dirección indicada',
    orderFailed: 'Fallo creación orden',
    addressCopy: 'Dirección copiada',
    orderNoCopy: 'Número orden copiado',
    hashSubmitted: 'Enviado, esperando confirmación cadena',
    hashFailed: 'Fallo envío hash',
    broadcastSuccess: 'Transacción emitida, hash registrado',
    tronBroadcastSuccess: 'Tx Tron emitida, TxID registrado',
    noNetwork: 'Sin redes disponibles',
    noSubCoin: 'Sin submonedas en esta red',
    amountRequired: 'Ingresa importe depósito',
    amountPositive: 'El valor debe ser superior a 0',
    submittedHash: 'Hash enviado: ',
    manualDepositTab: 'Depósito Manual',
    walletDepositTab: 'Depósito con Billetera',
    walletPayEvm: 'Conectar billetera EVM y pagar',
    walletPayingEvm: 'Procesando billetera EVM…',
    walletPayTron: 'Conectar billetera Tron y pagar',
    walletPayingTron: 'Procesando billetera Tron…',
    histLink: 'Historial Depósitos',
    retryBtn: 'Reintentar',
    backWithArrow: '‹ Volver',
    rechargeStatus0: 'Pendiente Pago',
    rechargeStatus1: 'Pendiente Confirmación Cadena',
    rechargeStatus2: 'Completado',
    rechargeStatus3: 'Cancelado',
    rechargeStatus4: 'Fallido',
    statusUnknown: 'Estado {status}',
    qrAlt: 'QR dirección depósito',
    loadNetworksFailed: 'Fallo carga redes',
    wcHintEvmConfigured:
      'Conecta WalletConnect EVM para pagar automáticamente, verifica red y moneda coincidan.',
    wcHintEvmUnconfigured:
      'Falta VITE_WALLETCONNECT_PROJECT_ID, usa depósito manual y envía hash.',
    wcHintTronConfigured:
      'WalletConnect Tron firma y envía operación, adjunta TxID Tron sin prefijo 0x.',
    wcHintTronUnconfigured:
      'Sin configuración WalletConnect Tron, usa depósito manual con TxID.',
    wcHintTronManualOnly:
      'No soporta conexión automática para esta red, usa depósito manual.',
    walletPayFallback: 'Fallo pago billetera EVM',
    tronWalletPayFallback: 'Fallo pago billetera Tron',
    currentPrefix: 'Actual:',
    histEmpty: 'Sin registros depósito',
    histOrderNo: 'Nº Orden',
    histTx: 'TX:',
    histLoadMore: 'Cargar más',
    histLoadedAll: 'Todos los registros cargados',
  },
  broker: {
    title: 'Centro Broker',
    applyTitle: 'Solicitar Ser Broker',
    myBrokerCode: 'Mi Código Broker',
    referralCount: 'Usuarios Referidos',
    totalCommission: 'Comisión Total',
    applyStatus: 'Estado Solicitud',
    pending: 'En Revisión',
    approved: 'Aprobado',
    rejected: 'Rechazado',
    defaultName: 'Broker',
    greeting: 'Hola, {name}',
    uidLabel: 'UID: {uid}',
    introBanner: 'Gana comisiones por cada operación de tus invitados, abono diario instantáneo.',
    statNewToday: 'Nuevos hoy (usuarios)',
    statTradeToday: 'Operantes hoy (usuarios)',
    statRebateToday: 'Comisión hoy (USDT)',
    inviteList: 'Lista Invitados',
    emptyInviteList: 'Sin invitados',
    thAccount: 'Cuenta',
    thLevel: 'Nivel',
    thPerpCopy: 'Perpetuo / Copy',
    levelBroker: 'Broker',
    levelNormal: 'Estándar',
    editRateTooltip: 'Modificar % comisión',
    todayRebate: 'Comisiones Hoy',
    emptyTodayRebate: 'Sin comisiones hoy',
    thId: 'ID',
    rebateUsdt: 'Comisión (USDT)',
    teamDetails: 'Detalles Equipo',
    filterAll: 'Todo',
    filterWeek: 'Últimos 7 días',
    filterToday: 'Hoy',
    filterMonth: 'Este Mes',
    teamTotalAssets: 'Activos Totales Equipo',
    rebateHistory: 'Historial Comisiones',
    emptyRebateHistory: 'Sin registros comisión',
    amountUsdt: 'Importe (USDT)',
    loadMore: 'Cargar más',
    loadingMore: 'Cargando…',
    loadedAll: 'Todos cargados',
    editModalTitle: 'Editar % Comisión',
    perpRebateRate: '% Comisión Futuros Perpetuos',
    copyRebateRate: '% Comisión Copy Trading',
    editTip: 'Los cambios aplican inmediatamente, modifica con precaución.',
    perpRateError: '% perpetuo debe ser entero entre 0 y 100',
    copyRateError: '% copy debe ser entero entre 0 y 100',
    setSuccess: 'Guardado, cambios activos',
  },
  help: {
    title: 'Centro de Ayuda',
    supportTitle: 'Ayuda y Soporte',
    search: 'Buscar',
    searchPlaceholder: 'Palabras clave',
    telegramSupport: 'Soporte Telegram',
    quickResponse: 'Respuesta Rápida',
    emailSupport: 'Soporte Correo',
    docs: 'Documentación',
    viewFullGuide: 'Ver Guía Completa',
    detailTitle: 'Detalle Ayuda',
    backToHelp: 'Volver Centro Ayuda',
  },
  invite: {
    title: 'Invitar Amigos',
    myCode: 'Mi Código Invitación',
    copy: 'Copiar Código',
    copied: 'Código Copiado',
    share: 'Compartir Enlace',
    shareLink: 'Copiar Enlace',
    linkCopied: 'Enlace Copiado',
    desc: 'Invita amigos y obtén comisiones por sus operaciones',
    totalInvited: 'Total Invitados',
    totalReward: 'Comisión Total',
    noRecord: 'Sin registros invitación',
    heroLine1: 'Invita Amigos',
    heroLine2: 'Gana Comisiones',
    heroDesc:
      'Cada usuario registrado por tu enlace te habilita para el plan de comisiones según reglas oficiales.',
    myInviteInfo: 'Mis Datos Invitación',
    inviteCodeLabel: 'Código Invitación',
    inviteLinkShort: 'Enlace Invitación',
    qrCodeLabel: 'Código QR',
    copyShort: 'Copiar',
    copiedDone: 'Copiado ✓',
    qrInviteAlt: 'QR Invitación',
    scanToRegister: 'Escanea para registrarse',
    rebateRulesTitle: 'Normativa Comisiones',
    step1Title: 'Comparte tu código',
    step1Desc: 'Envía código o enlace exclusivo a tus contactos',
    step2Title: 'Registro Amigo',
    step2Desc: 'El usuario completa registro desde tu enlace',
    step3Title: 'Obtén Comisión',
    step3Desc: 'Recibes porcentaje de las comisiones generadas por sus operaciones',
  },
  futuresPage: futuresPageByLocale.es,
  spot: {
    tag: 'Spot',
    side: { buy: 'Comprar', sell: 'Vender' },
    orderType: { limit: 'Limitada', market: 'Mercado' },
    orderStatus: {
      pending: 'Abierta',
      partial: 'Parcialmente Ejecutada',
      filled: 'Ejecutada',
      cancelled: 'Cancelada',
      pending_cancel: 'Cancelando',
      expired: 'Expirada',
      init: 'Inicializando',
    },
    recordType: {
      transferIn: 'Ingreso Fondos',
      transferOut: 'Salida Fondos',
      orderFreeze: 'Bloqueo por Orden',
      cancelUnfreeze: 'Desbloqueo Cancelación',
      trade: 'Operación',
      fee: 'Comisión',
      unfreeze: 'Desbloqueo',
      unknown: 'Tipo {type}',
    },
    tabs: {
      currentOrders: 'Órdenes Abiertas',
      historyOrders: 'Historial Órdenes',
      trades: 'Historial Operaciones',
      funding: 'Movimientos Fondos',
    },
    table: {
      pair: 'Par',
      side: 'Sentido',
      type: 'Tipo',
      price: 'Precio',
      orderPrice: 'Precio Orden',
      amount: 'Cantidad',
      orderAmount: 'Cantidad Orden',
      filled: 'Ejecutado',
      status: 'Estado',
      time: 'Fecha',
      action: 'Acción',
      dealPrice: 'Precio Ejecución',
      dealVolume: 'Volumen Ejecutado',
      turnover: 'Volumen Total',
      recordType: 'Tipo Mov.',
      quantity: 'Cantidad',
      coin: 'Moneda',
    },
    trade: {
      buy: 'Comprar',
      sell: 'Vender',
      limit: 'Limitada',
      market: 'Mercado',
      processing: 'Procesando...',
      buySymbol: 'Comprar {symbol}',
      sellSymbol: 'Vender {symbol}',
      priceUsdt: 'Precio (USDT)',
      limitPlaceholder: 'Precio límite',
      marketHint: 'Compra/venta al mejor precio disponible',
      amountUsdt: 'Importe (USDT)',
      amountBase: 'Cantidad ({base})',
      available: 'Disponible',
      transfer: 'Transferir',
      loginForBalance: 'Inicia sesión para ver saldo',
      spotAssets: 'Saldo Spot',
    },
    order: { cancel: 'Cancelar', cancelAll: 'Cancelar Todas' },
    empty: {
      loginLink: 'Iniciar Sesión',
      loginOrdersPrompt: '{link} para ver órdenes',
      loginViewPrompt: '{link} para consultar',
      noOrders: 'Sin órdenes abiertas',
      noHistoryOrders: 'Sin historial órdenes',
      noTrades: 'Sin operaciones',
      noFunding: 'Sin registros',
    },
    errors: {
      symbolNotReady: 'Par de cotización no disponible',
      invalidAmount: 'Ingresa cantidad válida',
      invalidPrice: 'Precio no válido',
      minLimitVolume: 'Cantidad mínima {min}',
      minMarketBuy: 'Compra mercado mínimo {min} USDT',
      minMarketSell: 'Venta mercado mínima {min}',
      orderSubmitted: 'Orden enviada',
      orderFailed: 'Fallo envío orden',
      cancelSuccess: 'Orden cancelada',
      cancelFailed: 'Fallo cancelación',
      cancelAllSuccess: 'Todas canceladas',
      cancelAllPartialFailed: 'Algunas no pudieron cancelarse',
    },
    loadedAll: 'Todos cargados',
    ticker: {
      change24h: 'Var.24h',
      high24h: 'Máx 24h',
      low24h: 'Mín 24h',
      turnover24h: 'Volumen 24h',
    },
    chartSub: { chart: 'Gráfico', coinInfo: 'Datos Moneda' },
    tf: {
    	m1: '1m', 
    	m5: '5m', 
    	m15: '15m', 
    	m30: '30m', 
    	h1: '1h', 
    	h4: '4h', 
    	d1: '1d',
    	w1: '1w',
    	mo1: '1mon',
    	mo3: '3mon'
    },
    ohlcv: {
      spotLabel: 'Spot',
      open: 'Apert',
      high: 'Máx',
      low: 'Mín',
      close: 'Cierr',
      volume: 'Vol',
      changePct: 'Var%',
    },
    draw: {
      cursor: 'Cursor',
      trend: 'Línea Tendencia',
      hline: 'Línea Horizontal',
      ray: 'Rayo',
      channel: 'Canal',
      fib: 'Fibonacci',
      text: 'Texto',
      clearAll: 'Borrar Todo',
      zoomOut: 'Alejar',
    },
    mobileTab: { chart: 'Mercado', trade: 'Operar' },
        pair: {
          search: 'Buscar',
          loading: 'Cargando…',
          noMatch: 'Sin resultados',
          retryLater: ', reintenta más tarde'
        },
        book: {
          waiting: 'Esperando datos…',
          orderbook: 'Libro de órdenes',
          trades: 'Operaciones',
          priceUsdt: 'Precio (USDT)',
          amountBase: 'Cantidad ({base})',
          total: 'Total',
          buyRatio: 'Compra {n}%',
          sellRatio: '{n}% Venta',
          price: 'Precio',
          amount: 'Cantidad',
          time: 'Fecha',
          pricePrecision: 'Precisión de precio'
        },
        coinInfo: {
          marketCap: 'Capitalización',
          circulating: 'Suministro circulante',
          issuePrice: 'Precio de emisión',
          ath: 'Máximo histórico',
          athDate: 'Fecha máximo histórico',
          whitepaper: 'Libro blanco',
          empty: 'Sin datos de la moneda',
          reload: 'Recargar'
        },
        transferModal: {
          title: 'Transferencia',
          selectCoin: 'Moneda',
          amount: 'Cantidad',
          amountPlaceholder: 'Ingresa importe',
          availableUsdt: 'Disponible USDT:',
          availableCoin: 'Disponible {coin}:',
          transferring: 'Transfiriendo...',
          invalidAmount: 'Ingresa un importe válido',
          insufficientBalance: 'El importe supera el saldo disponible',
          transferFailed: 'Fallo de transferencia, reintenta'
        },
      },
    }