package com.bitcointxoko.gudariwallet.i18n import cafe.adriel.lyricist.LyricistStrings @LyricistStrings(languageTag = "es") val EsHomeStrings = AppStrings( // ── WalletScreen ────────────────────────────────────────────────────────── tabReceive = "Recibir", tabSend = "Enviar", scanContentDescription = "Escanear", dismissContentDescription = "Cerrar", clipboardInvoiceDetected = "Factura detectada en el portapapeles", clipboardLnurlDetected = "LNURL detectado en el portapapeles", clipboardAddressDetected = "Dirección Lightning detectada en el portapapeles", clipboardPaymentDetected = "Pago detectado en el portapapeles", clipboardTapToOpen = "Toca para abrir", clipboardTapToPay = "Toca para pagar", nfcInvoiceDetected = "Factura detectada por NFC", nfcLnurlDetected = "LNURL detectado por NFC", nfcAddressDetected = "Dirección Lightning detectada por NFC", nfcPaymentDetected = "Pago detectado por NFC", nfcTapToOpen = "Toca para abrir", nfcTapToPay = "Toca para pagar", // ── HomeTab ─────────────────────────────────────────────────────────────── loadingBalance = "Cargando saldo…", sats = "sats", hideBalance = "Ocultar saldo", revealBalance = "Mostrar saldo", changeCurrency = "Cambiar moneda", showFiat = "+ Mostrar fiat", updatedAt = { label -> "Actualizado $label" }, justNow = "justo ahora", minAgo = {min -> "hace $min min"}, atTime = {time -> "a las $time"}, viewHistory = "Ver historial", selectCurrency = "Seleccionar moneda", currencyNone = "Ninguna", hideFiatEquivalent = "Ocultar equivalente fiat", selected = "Seleccionado", search = "Buscar…", noCurrenciesAvailable = "No hay monedas disponibles", noCurrenciesMatch = { query -> "Ninguna moneda coincide con \"$query\"" }, couldNotRefresh = "No se pudo actualizar — desliza hacia abajo para reintentar", couldNotLoadBalance = "No se pudo cargar el saldo — desliza hacia abajo para reintentar", // ── Shared ──────────────────────────────────────────────────────────────── cancel = "Cancelar", tryAgain = "Reintentar", amount = "Cantidad", next = "Siguiente", back = "← Atrás", done = "Hecho", details = "Detalles", enterValidAmount = "Introduce una cantidad válida", satsUnit = { sats -> "$sats sats" }, // ── ReceiveScreen — general ─────────────────────────────────────────────── receive = "Recibir", // ── ReceiveScreen — error ───────────────────────────────────────────────── receiveError = "Error", // ── ReceiveScreen — QR / share ──────────────────────────────────────────── lightningAddressQrCode = "Código QR de dirección Lightning", lightningAddressLabel = "Dirección Lightning", shareLightningAddress = "Compartir dirección Lightning", lightningInvoiceQrCode = "Código QR de factura Lightning", invoiceLabel = "Factura", shareInvoice = "Compartir factura", // ── ReceiveScreen — amount step ─────────────────────────────────────────── amountInSats = "Cantidad (sats)", satsRange = { min, max -> "$min – $max sats" }, // ── ReceiveScreen — memo step ───────────────────────────────────────────── memoOptional = "Nota (opcional)", memoPlaceholder = "¿Para qué es esto?", creatingInvoice = "Creando factura…", createInvoice = "Crear factura", // ── ReceiveScreen — invoice ready ───────────────────────────────────────── waiting = "Esperando…", invoiceExpired = "Factura expirada", newInvoice = "Nueva factura", // ── ReceiveScreen — lnurl withdraw ──────────────────────────────────────── withdrawFrom = "Retirar de", minimumSats = { min -> "Mínimo es $min sats" }, maximumSats = { max -> "Máximo es $max sats" }, withdrawButton = "Retirar", withdrawButtonAmount = { amount -> "Retirar $amount sats" }, // ── ReceiveScreen — success ─────────────────────────────────────────────── paymentReceived = "¡Pago recibido!", // ── AmountDisplay ───────────────────────────────────────────────────────── amountDisplaySats = { amount -> "$amount ${if (amount == 1L) "sat" else "sats"}" }, // ── BrightnessToggleButton & QrDisplayCard ──────────────────────────────── brightnessReduce = "Reducir brillo", brightnessBoost = "Aumentar brillo", qrShare = "Compartir", qrCopy = "Copiar", qrNfcStop = "Detener NFC", qrNfcStart = "Compartir por NFC", // ── ReceiveViewModel ────────────────────────────────────────────────────── receiveVmFailedToCreateInvoice = "No se pudo crear la factura", receiveVmWithdrawRejected = "El servicio de retiro rechazó la factura", receiveVmWithdrawFailed = "Error al retirar", // ── SendScreen — general ────────────────────────────────────────────────── send = "Enviar", paste = "Pegar", continueButton = "Continuar", clear = "Limpiar", sendAnother = "Enviar otro", // ── SendScreen — input field ────────────────────────────────────────────── sendInputLabel = "Factura, LNURL o dirección Lightning", sendInputPlaceholder = "lnbc… / lnurl1… / usuario@dominio.com", tapNfcHint = "Acerca un dispositivo NFC para recibir la factura", // ── SendScreen — states ─────────────────────────────────────────────────── resolving = "Resolviendo…", sendingPayment = "Enviando pago…", // ── SendScreen — payment sent ───────────────────────────────────────────── paymentSent = "¡Pago enviado!", amountSats = { sats -> "$sats sats" }, fiatEquivalent = { fiatStr -> "≈ $fiatStr" }, noFees = "Sin comisiones", routingFee = { sats, ppmSuffix -> "Comisión de enrutamiento: $sats sat${if (sats == 1L) "" else "s"}$ppmSuffix" }, // ── ConfirmCard ─────────────────────────────────────────────────────────── invoiceDetails = "Detalles de la factura", payingTo = { label -> "Pagando a $label" }, confirmAmount = { sats -> "$sats sats" }, confirmAmountWithFiat = { sats, fiat -> "$sats sats · $fiat" }, memo = "Nota", destination = "Destino", created = "Creado", expiresIn = "Expira en", hash = "Hash", invoice = "Factura", expiryExpired = "Expirado", expirySeconds = { s -> "${s}s" }, expiryMinutes = { m, s -> "${m}m ${s}s" }, expiryHours = { h, m -> "${h}h ${m}m" }, createdToday = { time -> "Hoy, $time" }, createdYesterday = { time -> "Ayer, $time" }, payButton = { sats -> "Pagar $sats sats" }, payButtonWithFiat = { sats, fiat -> "Pagar $sats sats · $fiat" }, sendBiometricPrompt = { sats -> "Enviar $sats sats" }, sendBiometricPromptTo = { sats, label -> "Enviar $sats sats a $label" }, // ── LnurlPayForm ───────────────────────────────────────────────────────── lnurlAmountError = { min, max -> "Introduce una cantidad entre $min y $max sats" }, lnurlFiatRange = { minFiat, maxFiat -> "$minFiat – $maxFiat" }, lnurlSatsAndFiatRange = { min, max, minFiat, maxFiat -> "$min – $max sats · $minFiat – $maxFiat" }, commentOptional = { max -> "Comentario (opcional, máx. $max caracteres)" }, commentCounter = { current, max -> "$current/$max" }, lnurlPayButton = { sats -> "Pagar $sats sats" }, lnurlPayButtonWithFiat = { sats, fiat -> "Pagar $sats sats · $fiat" }, // ── RouteHintWarning ────────────────────────────────────────────────────── routeHintHighFees = "Comisiones de enrutamiento altas en la factura", routeHintElevatedFees = "Comisiones de enrutamiento elevadas en la factura", routeHintForcedChannel = { node -> "Esta factura obliga a pagar a través de un canal privado operado por $node." }, routeHintFeeRate = { effectivePpm, worstPpm -> "Tasa de comisión efectiva: $effectivePpm ppm ($worstPpm ppm)" }, routeHintFeeRateBase = { effectivePpm, worstPpm, baseLabel -> "Tasa de comisión efectiva: $effectivePpm ppm ($worstPpm ppm + $baseLabel base)" }, routeHintEstimatedFee = { sats -> "Comisión extra estimada en este pago: ~$sats sat${if (sats == 1L) "" else "s"}" }, routeHintShowDetails = "Ver detalles ▾", routeHintHideDetails = "Ocultar detalles ▴", routeHintHopsHeader = "Saltos de ruta privada", routeHintHopFees = { ppm, baseLabel -> "$ppm ppm · $baseLabel base" }, // ── SendViewModel ───────────────────────────────────────────────────────── sendVmLnurlAuthNotSupported = "Lightning Login (LNURL-auth) aún no está disponible", sendVmUnrecognisedInput = "Entrada no reconocida — pega una factura BOLT-11, LNURL o dirección Lightning", sendVmPaymentFailed = "Pago fallido", sendVmCouldNotFetchInvoice = "No se pudo obtener la factura del destinatario", sendVmCouldNotDecodeInvoice = "No se pudo decodificar la factura", sendVmAuthFailed = { msg -> "Autenticación fallida: $msg" }, sendVmOnChainNotSupported = "Los pagos Bitcoin en cadena no están disponibles — comparte un URI BIP-21 con el parámetro lightning=", sendVmChannelRequestNotSupported = "Las solicitudes de canal (lnurlc) no están disponibles", sendVmCouldNotResolveAddress = "No se pudo resolver la dirección", sendVmEmptyResponse = "Respuesta vacía del servidor", sendVmUnsupportedType = { tag -> "Tipo no compatible: $tag" }, sendVmPaymentFailedRescan = "Pago fallido — no se pudo volver a obtener la dirección", // ── HistoryScreen ───────────────────────────────────────────────────────── historyTitle = "Historial", historyClose = "Cerrar", historySearchPayments = "Buscar pagos", historyFilterPayments = "Filtrar pagos", historyRetry = "Reintentar", historyNoPayments = "Aún no hay pagos.", historySearchPlaceholder = "Buscar transacciones", historySearchHelp = "Ayuda de búsqueda", historySearchPaste = "Pegar", historySearchClear = "Limpiar búsqueda", historySearchChip = { tail -> "búsqueda: …$tail" }, historyClearSearch = "Limpiar búsqueda", filterDirectionOutgoing = "Salientes", filterDirectionIncoming = "Entrantes", filterClearDirection = "Quitar filtro de dirección", filterStatusCompleted = "Completado", filterStatusPending = "Pendiente", filterStatusFailed = "Fallido", filterRemoveStatus = "Quitar filtro de estado", filterRemoveType = "Quitar filtro de tipo", filterAmountRange = { min, max -> "$min–$max sats" }, filterAmountMin = { min -> "≥ $min sats" }, filterAmountMax = { max -> "≤ $max sats" }, filterClearAmount = "Quitar filtro de cantidad", filterDateThisWeek = "Esta semana", filterDateThisMonth = "Este mes", filterDateThisYear = "Este año", filterDateRange = { from, to -> "$from–$to" }, filterDateFrom = { from -> "Desde $from" }, filterDateUntil = { until -> "Hasta $until" }, filterClearDate = "Quitar filtro de fecha", // ── FilterBottomSheet ───────────────────────────────────────────────────── filterSheetTitle = "Filtrar pagos", filterSectionDirection = "Dirección", filterDirectionAll = "Todos", filterSectionStatus = "Estado", filterSectionType = "Tipo", filterSectionAmount = "Cantidad (sats)", filterAmountMin_label = "Mín.", filterAmountMax_label = "Máx.", filterAmountSuffix = "sats", filterSectionDate = "Fecha", filterDateFrom_label = "Desde", filterDateTo_label = "Hasta", filterDialogOk = "Aceptar", filterDialogCancel = "Cancelar", // ── SearchInfoSheet ─────────────────────────────────────────────────────── searchInfoTitle = "¿Qué puedo buscar?", searchInfoSubtitle = "Escribe cualquier parte de lo siguiente para encontrar un pago:", searchInfoMemoTitle = "Nota", searchInfoMemoDesc = "El mensaje o descripción adjunto a un pago. " + "Por ejemplo, \"café\" o \"alquiler marzo\".", searchInfoInvoiceTitle = "Factura", searchInfoInvoiceDesc = "La solicitud de pago que escaneaste o pegaste para enviar un pago. " + "Normalmente empieza por \"lnbc…\". " + "Puedes pegar solo los primeros o últimos caracteres.", searchInfoHashTitle = "Hash", searchInfoHashDesc = "Un código único que identifica este pago en la " + "red Lightning. Útil si alguien te pide que " + "confirmes una transacción específica.", searchInfoPreimageTitle = "Preimagen", searchInfoPreimageDesc = "Un código secreto que demuestra que se recibió un pago. " + "Solo disponible después de que un pago se complete correctamente.", searchInfoNodeAliasTitle = "Alias del nodo", searchInfoNodeAliasDesc = "El nombre del nodo Lightning al que enviaste un pago. " + "Por ejemplo, \"ACINQ\" o \"Wallet of Satoshi\". " + "Los alias se resuelven automáticamente para pagos salientes.", searchInfoNodeIdTitle = "ID del nodo (clave pública)", searchInfoNodeIdDesc = "La clave pública del nodo de destino. " + "Una cadena hexadecimal de 66 caracteres — puedes pegar solo los primeros.", searchInfoFooter = "Puedes pegar un valor completo o buscar con solo unos pocos caracteres — " + "las coincidencias parciales también funcionan.", // ── PaymentDetailScreen ─────────────────────────────────────────────────── detailOutgoingTitle = "Pago saliente", detailIncomingTitle = "Pago entrante", detailBack = "Atrás", detailCouldNotLoad = "No se pudieron cargar los detalles completos", detailFeeLabel = { feeSat, fiatPart, ppmPart -> "Comisión: $feeSat sats$fiatPart$ppmPart" }, detailSectionDetails = "Detalles", detailRowDate = "Fecha", detailRowMemo = "Nota", detailRowMemoEmpty = "—", detailRowType = "Tipo", detailRowComment = "Comentario", detailSectionSuccessAction = "Acción de éxito", detailSuccessMessage = "Mensaje", detailSuccessUrl = "URL", detailSuccessDescription = "Descripción", detailSectionTechnical = "Técnico", detailRowPaymentHash = "Hash", detailRowPreimage = "Preimagen", detailRowDestination = "Destino", detailCopyNodeId = "Copiar ID del nodo", detailRowBolt11 = "BOLT11", // ── PaymentRow ──────────────────────────────────────────────────────────── paymentRowSentCD = "Enviado", paymentRowReceivedCD = "Recibido", paymentRowNoMemo = "Sin nota", paymentRowPending = "Pendiente", // ── OnboardingScreen ────────────────────────────────────────────────────── onboardingTitle = "Conectar a LNbits", onboardingSubtitle = "Introduce la URL de tu servidor LNbits y las claves API.", onboardingServerUrl = "URL del servidor", onboardingServerUrlHint = "https://bitcointxoko.org", onboardingInvoiceKey = "Clave de factura (solo lectura)", onboardingAdminKey = "Clave de administrador (para enviar)", onboardingHideAdminKey = "Ocultar", onboardingShowAdminKey = "Mostrar", onboardingFieldsRequired = "Todos los campos son obligatorios.", onboardingConnect = "Conectar", )