312 lines
20 KiB
Kotlin
312 lines
20 KiB
Kotlin
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",
|
||
)
|