feat: localisation with lyricist

This commit is contained in:
2026-06-05 23:57:05 +02:00
parent 890dd0004a
commit 5af1dc32ca
3 changed files with 441 additions and 0 deletions
@@ -0,0 +1,144 @@
package com.bitcointxoko.gudariwallet.i18n
import cafe.adriel.lyricist.LyricistStrings
@LyricistStrings(languageTag = "es")
val EsHomeStrings = AppStrings(
// ── 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!",
// ── 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" },
)