refactor: i18n HistoryStrings

This commit is contained in:
2026-06-11 23:34:48 +02:00
parent b053da6a05
commit 868869fd88
11 changed files with 980 additions and 535 deletions
@@ -141,117 +141,117 @@ val EsHomeStrings = AppStrings(
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 ───────────────────────────────────────────────────
statusSuccess = "Completado",
statusPending = "Pendiente",
statusFailed = "Fallido",
statusUnknown = "Desconocido",
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",
paymentRowFailed = "Fallido",
//// ── 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 ───────────────────────────────────────────────────
// statusSuccess = "Completado",
// statusPending = "Pendiente",
// statusFailed = "Fallido",
// statusUnknown = "Desconocido",
// 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",
// paymentRowFailed = "Fallido",
onboarding = OnboardingStrings(
@@ -360,6 +360,120 @@ val EsHomeStrings = AppStrings(
receiveVmWithdrawFailed = "Error al retirar",
),
history = HistoryStrings(
// ── 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 ───────────────────────────────────────────────────
statusSuccess = "Completado",
statusPending = "Pendiente",
statusFailed = "Fallido",
statusUnknown = "Desconocido",
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",
paymentRowFailed = "Fallido",
),
nwc = NwcStrings(
// ── Shared ────────────────────────────────────────────────────────────────
back = "Atrás",