Ship LNURL mint pages, indexing UI, and reviews rewrite.

Add lnurl list/detail routes, OG fixtures, i18n strings, and the write/
index client flows so the site surfaces the new mint type end to end.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
michilis
2026-08-22 03:44:43 +02:00
co-authored by Cursor
parent 2a9444942b
commit c74c7fc187
66 changed files with 7603 additions and 1241 deletions
+120 -3
View File
@@ -115,6 +115,8 @@
"card.reviewed": "revăzut{when}",
"card.noReviews": "nu există comentarii încă",
"mint.title": "{name}· Cashu monetărie recenzii",
"mint.titleFedimint": "{name} · Recenzii ale federației Fedimint",
"mint.titleLnurl": "{name} · Recenzii ale mintului LNURL",
"mint.breadcrumb": "Cremă de pâine",
"mint.crumbMints": "Caju muntetării",
"mint.copyUrl": "Copiază URL- ul monetărie",
@@ -338,7 +340,7 @@
"reviews.validate.short": "Scrie cel puţin{n} caractere, astfel încât revizuirea este utilă.",
"reviews.validate.long": "Revizuirile sunt limitate la{n}Personaje.",
"feed.title": "Ultimele reviste monetărie și federație · Casumints.space",
"feed.description": "Fiecare recenzie a unei monetării sau federații, pe măsură ce este publicată: {reviews} recenzii pentru {mints} monetării Cashu și {federations} federații Fedimint, semnate pe Nostr și afișate aici de la cea mai nouă. Filtrează după ecosistem, evaluare sau nume.",
"feed.description": "Fiecare recenzie de mint, federație și mint LNURL pe măsură ce este publicată: {reviews} recenzii pentru {mints} mint-uri Cashu, {federations} federații Fedimint și {lnurl} mint-uri LNURL, semnate pe Nostr și de citit aici de la cele mai noi. Filtrează după ecosistem, evaluare sau nume.",
"feed.heading": "Ultimele recenzii",
"feed.lede": "Fiecare recenzie a fiecărei federații Cashu monetărie și Fedimint, cea mai nouă primă, citește în direct de la releele Nostr. Fiecare este semnată de autorul său și trăiește pe relee, nu în baza noastră de date.",
"feed.label": "Revizuiri",
@@ -414,7 +416,14 @@
"notfound.fb.reviews": "Revizuiri",
"notfound.fb.software": "Programe",
"notfound.fb.lastOnline": "Ultima dată online",
"notfound.fb.note": "Această monetărie a fost indexată după ce site-ul a fost construit ultima dată, astfel încât acesta este un rezumat al API live. Pagina completă cu recenzii apare la următoarea reconstrucție.",
"notfound.fb.note": "Acest mint a fost indexat după ultima construire a site-ului, deci acesta e un rezumat din API-ul live, cu recenziile dedesubt. Pagina completă apare la următoarea construire.",
"notfound.resolve.checking": "Prima vizită: verific acest mint acum.",
"notfound.resolve.failed": "Acest mint nu a putut fi adăugat",
"notfound.resolve.failedFedimint": "Această federație nu a putut fi adăugată",
"notfound.resolve.retry": "Încearcă altă adresă",
"notfound.resolve.switch": "Deschide-l ca mint {kind}",
"notfound.resolve.fedimint": "Adresa paginii unei federații nu conține codul ei de invitație, așa că aceasta nu poate fi găsită doar din link. Lipește codul de invitație și va fi adăugată.",
"notfound.resolve.ambiguous": "Această adresă nu poate fi dedusă doar din link. Lipește URL-ul complet al mintului și va fi adăugat.",
"wallets.title": "Portofele caju · Casumints.space",
"wallets.description": "Portofelele Cashu care lucrează cu monetării enumerate aici, prin telefon mobil, web, browser și linia de comandă, cu ceea ce fiecare este bun la.",
"wallets.heading": "Portofele",
@@ -675,5 +684,113 @@
"footer.allFedimints": "Toate federațiile",
"reviews.dialog.bodyPlaceholder.cashu": "Cum a funcţionat menţinerea, topirea şi susţinerea?",
"reviews.dialog.bodyPlaceholder.fedimint": "Cum s-a realizat aderarea, plăţile pentru fulger şi sprijinul acordat?",
"fedimint.details.title": "Detaliile Federaţiei"
"fedimint.details.title": "Detaliile Federaţiei",
"nav.lnurlMints": "Mint-uri LNURL",
"footer.allLnurlMints": "Toate mint-urile LNURL",
"lnurlMints.title": "Mint-uri LNURL: mint-uri de bilete la purtător lnurlcash, cu recenzii | Cashumints.space",
"lnurlMints.description": "Toate cele {total} mint-uri LNURL indexate din rețeaua Nostr: {online} online, {offline} offline. Evaluări ale comunității, limite de retragere și funcții pentru fiecare.",
"lnurlMints.heading": "Mint-uri LNURL",
"lnurlMints.lede": "Fiecare mint LNURL pe care îl cunoaște acest site. Un mint LNURL emite bilete la purtător lnurlcash: bilete Lightning pe care le păstrezi ca pe un secret și care pot fi rotite, împărțite, unite sau topite înapoi într-o plată Lightning. Fiecare este verificat prin HTTPS la câteva minute.",
"lnurlMints.search.label": "Caută mint-uri LNURL",
"lnurlMints.search.placeholder": "Caută după nume sau adresă…",
"lnurlMints.sort.label": "Sortează mint-urile LNURL după",
"lnurlMints.hideOffline": "Ascunde offline",
"lnurlMints.showing": "Se afișează {total} mint-uri LNURL ({online} online, {offline} offline)",
"lnurlMints.showingFiltered": "Se afișează {shown} din {total} mint-uri LNURL ({online} online, {offline} offline)",
"lnurlMints.noResults": "Niciun mint LNURL nu corespunde.",
"lnurlMints.emptyIndex": "Niciun mint LNURL nu este indexat încă.",
"lnurl.crumb": "Mint-uri LNURL",
"lnurl.breadcrumb": "Firimituri de navigare",
"lnurl.copyAddress": "Copiază adresa",
"lnurl.more.title": "Mai multe mint-uri LNURL",
"lnurl.more.all": "Toate mint-urile LNURL →",
"lnurl.disclaimer": "Un mint LNURL îți păstrează sat-ii cât timp tu îi păstrezi biletele, deci folosirea lui înseamnă să ai încredere în operatorul său. Evaluările sunt păreri ale comunității, iar online înseamnă accesibil, nu demn de încredere.",
"lnurl.features.title": "Funcții",
"lnurl.features.none": "Acest mint nu a anunțat ce acceptă.",
"lnurl.features.note": "Funcțiile sunt ceea ce operatorul mint-ului a anunțat pe Nostr. Acolo unde acest site poate verifica una prin HTTPS, o face, și semnalează când ceva anunțat nu este disponibil chiar acum.",
"lnurl.features.notListed": "neanunțat",
"lnurl.features.unavailable": "indisponibil",
"lnurl.feature.mint": "Mint prin Lightning (LUD-06)",
"lnurl.feature.melt": "Topire către Lightning",
"lnurl.feature.notes": "Rotire / împărțire / unire bilete",
"lnurl.feature.lud16": "Adresă Lightning",
"lnurl.feature.lud21": "Verificarea plății (LUD-21)",
"lnurl.feature.signed-notes": "Bilete semnate (verificare offline)",
"lnurl.feature.onion": "Adresă Tor",
"lnurl.feature.rotate": "Rotește un bilet",
"lnurl.feature.split": "Împarte un bilet",
"lnurl.feature.merge": "Unește bilete",
"lnurl.feature.lud06": "LUD-06 payRequest",
"lnurl.feature.lud03": "LUD-03 withdrawRequest",
"lnurl.limits.label": "Limite de retragere",
"lnurl.limits.notPublished": "nepublicat",
"lnurl.limits.withdrawRow": "Retragere",
"lnurl.limits.disabled": "dezactivat",
"lnurl.limits.sats.one": "{n} sat",
"lnurl.limits.sats.few": "{n} sați",
"lnurl.limits.sats.other": "{n} de sați",
"lnurl.details.title": "Detalii mint",
"lnurl.details.address": "Adresă Lightning",
"lnurl.details.mintPubkey": "Cheia publică a mint-ului",
"lnurl.details.onion": "Adresă Tor",
"lnurl.details.fee": "Comision de mint",
"lnurl.details.node": "Nod",
"lnurl.details.capacity": "Capacitate anunțată",
"lnurl.kind.lightningAddress": "adresă Lightning",
"lnurl.kind.mintPubkey": "cheia publică a mint-ului",
"lnurl.kind.onionAddress": "adresă Tor",
"lnurl.confirmed.label": "Ultima confirmare",
"lnurl.confirmed.when": "confirmat {when}",
"lnurl.fee.base.one": "{n} sat",
"lnurl.fee.base.few": "{n} sați",
"lnurl.fee.base.other": "{n} de sați",
"lnurl.fee.percent": "{percent}%",
"home.topLnurl.title": "Top mint-uri LNURL",
"home.topLnurl.sub": "clasate după recenzii și evaluare",
"home.topLnurl.all": "Toate cele {n} mint-uri LNURL →",
"feed.ecosystem.lnurl": "LNURL",
"reviews.dialog.bodyPlaceholder.lnurl": "Cum au mers mint-ul, topirea și rotirea biletelor? Fii concret.",
"reviews.byUrl.open": "Scrie o recenzie",
"reviews.byUrl.title": "Scrie o recenzie",
"reviews.byUrl.lede": "Lipește adresa. Dacă site-ul nu o cunoaște încă, o verifică și o adaugă acum.",
"reviews.byUrl.label.cashu": "URL-ul mintului",
"reviews.byUrl.label.fedimint": "Codul de invitație al federației",
"reviews.byUrl.label.lnurl": "URL-ul mintului LNURL",
"reviews.byUrl.placeholder.cashu": "mint.example.com",
"reviews.byUrl.placeholder.fedimint": "fed11…",
"reviews.byUrl.placeholder.lnurl": "mint.example.com",
"reviews.byUrl.check": "Verifică această adresă",
"reviews.byUrl.checking": "Se verifică…",
"reviews.byUrl.back": "Folosește altă adresă",
"reviews.byUrl.existing": "Deja în listă",
"reviews.byUrl.indexed": "Tocmai adăugat",
"reviews.byUrl.confirmClose": "Închizi? Adresa scrisă nu se păstrează.",
"reviews.byUrl.detected": "Acea adresă a răspuns ca un mint {kind}.",
"reviews.byUrl.switchTo": "Recenzează-l ca mint {kind}",
"reviews.byUrl.error.empty": "Scrie mai întâi o adresă.",
"reviews.byUrl.error.badUrl": "Asta nu pare un URL de mint.",
"reviews.byUrl.error.badInvite": "Acesta nu e un cod de invitație Fedimint. Codurile încep cu fed11.",
"reviews.byUrl.error.badInput": "Site-ul nu poate verifica acea adresă.",
"reviews.byUrl.error.blocked": "Nu e o adresă publică, deci nu poate fi verificată.",
"reviews.byUrl.error.notAMint": "Acea adresă a răspuns, dar nu ca un mint de acest fel.",
"reviews.byUrl.error.wrongType": "Acea adresă a răspuns, dar ca un alt fel de mint.",
"reviews.byUrl.error.unverifiable": "Nimic nu a răspuns la acea adresă și nu există încă nicio urmă a ei pe Nostr.",
"reviews.byUrl.error.rateLimited.one": "Sunt multe verificări de pe o singură conexiune. Încearcă din nou în aproximativ {n} minut.",
"reviews.byUrl.error.rateLimited.other": "Sunt multe verificări de pe o singură conexiune. Încearcă din nou în aproximativ {n} de minute.",
"reviews.byUrl.error.network": "Indexul nu a putut fi contactat. Verifică-ți conexiunea și încearcă din nou.",
"seo.lnurl.titleNoReviews": "{name}: informații și recenzii despre mint-ul LNURL | Cashumints.space",
"seo.desc.statusWithdraw": "{status}, retragere {min}–{max} sat.",
"mint.chip.noFunding": "Fără mint / topire",
"mint.warnings.lnurlWithdrawalsDisabled.lead": "Retrageri dezactivate.",
"mint.warnings.lnurlWithdrawalsDisabled.body.online": "Acest mint anunță o retragere maximă de zero, deci niciun bilet emis de el nu poate fi schimbat pe nimic. Nu face mint aici până nu se schimbă asta.",
"mint.warnings.lnurlWithdrawalsDisabled.body.offline": "La ultimul contact, acest mint anunța o retragere maximă de zero, deci niciun bilet emis de el nu putea fi schimbat pe nimic. Nu face mint aici până nu se schimbă asta.",
"mint.warnings.lnurlWithdrawalsDisabled.meta.online": "Retrageri dezactivate în prezent",
"mint.warnings.lnurlWithdrawalsDisabled.meta.offline": "Retragerile erau dezactivate la ultimul contact",
"mint.warnings.lnurlInvalid.lead": "Endpoint-ul răspunde, dar este invalid.",
"mint.warnings.lnurlInvalid.body": "Gazda răspunde, dar nu cu un anunț de mint pe care acest site îl poate citi, așa că retragerile s-ar putea să nu funcționeze. Mai jos este ultima stare care a putut fi citită, iar recenziile funcționează în continuare.",
"mint.warnings.lnurlInvalid.meta": "Răspunde, dar nu cu un anunț de mint valid",
"mint.warnings.lnurlNoFunding.lead": "Mint și topire indisponibile.",
"mint.warnings.lnurlNoFunding.body": "Biletele existente pot fi în continuare rotite, împărțite sau unite, dar chiar acum nimic nu intră și nu iese prin Lightning. Mint-ul în sine funcționează și răspunde; nodul Lightning din spatele lui nu îi este accesibil.",
"mint.warnings.lnurlNoFunding.meta": "Mint și topire indisponibile",
"mint.warnings.also.noFunding": "Și nodul său Lightning era inaccesibil, deci nu se putea face mint sau topire."
}