Phase 6: Translate User Pages - exchange, trades, invites, profile

- Expand exchange.json with all exchange page strings (page, steps, detailsStep, bookingStep, confirmationStep, priceDisplay)
- Create trades.json translation files for es, en, ca
- Create invites.json translation files for es, en, ca
- Create profile.json translation files for es, en, ca
- Translate exchange page and all components (ExchangeDetailsStep, BookingStep, ConfirmationStep, StepIndicator, PriceDisplay)
- Translate trades page (titles, sections, buttons, status labels)
- Translate invites page (titles, sections, status badges, copy button)
- Translate profile page (form labels, hints, placeholders, messages)
- Update IntlProvider to load all new namespaces
- All frontend tests passing
This commit is contained in:
counterweight 2025-12-25 22:19:13 +01:00
parent 7dd13292a0
commit 246553c402
Signed by: counterweight
GPG key ID: 883EDBAA726BD96C
22 changed files with 559 additions and 115 deletions

View file

@ -8,10 +8,70 @@
},
"direction": {
"buy": "COMPRAR BTC",
"sell": "VENDRE BTC"
"sell": "VENDRE BTC",
"buyShort": "Comprar BTC",
"sellShort": "Vendre BTC"
},
"transferMethod": {
"onchain": "Onchain",
"lightning": "Lightning"
},
"page": {
"title": "Intercanviar Bitcoin",
"subtitle": "Compra o ven Bitcoin amb una prima del 5%",
"viewExistingTrade": "Veure la teva operació existent →"
},
"steps": {
"details": "Detalls de l'Intercanvi",
"booking": "Reservar Cita",
"confirm": "Confirmar"
},
"detailsStep": {
"paymentMethod": "Mètode de Pagament",
"required": "*",
"lightningThreshold": "Els pagaments Lightning només estan disponibles per importants fins a €{max}",
"amount": "Quantitat (EUR)",
"summaryBuy": "Compres {sats}, vens {eur}",
"summarySell": "Compres {eur}, vens {sats}",
"continueToBooking": "Continuar a Reserva"
},
"bookingStep": {
"yourExchange": "El Teu Intercanvi",
"edit": "Editar",
"buy": "Comprar",
"sell": "Vendre",
"receiveVia": "Rebre via",
"sendVia": "Enviar via",
"selectDate": "Seleccionar una Data",
"existingTradeWarning": "Ja tens una operació reservada en aquest dia. Només pots reservar una operació per dia.",
"viewExistingTrade": "Veure la teva operació existent →",
"availableSlots": "Espais Disponibles per a",
"loadingSlots": "Carregant espais...",
"noSlots": "No hi ha espais disponibles per a aquesta data"
},
"confirmationStep": {
"appointment": "Cita",
"edit": "Editar",
"confirmTrade": "Confirmar Operació",
"time": "Hora:",
"direction": "Direcció:",
"eur": "EUR:",
"btc": "BTC:",
"rate": "Taxa:",
"payment": "Pagament:",
"receiveVia": "Rebre via",
"sendVia": "Enviar via",
"booking": "Reservant...",
"priceStale": "Preu Desactualitzat",
"confirmBuy": "Confirmar Compra",
"confirmSell": "Confirmar Venda",
"back": "Enrere"
},
"priceDisplay": {
"loading": "Carregant preu...",
"market": "Mercat:",
"ourPrice": "El nostre preu:",
"updated": "Actualitzat",
"stale": "(desactualitzat)"
}
}

View file

@ -0,0 +1,17 @@
{
"page": {
"title": "Les Meves Invitacions",
"subtitle": "Comparteix els teus codis d'invitació amb amics perquè s'uneixin",
"noInvites": "Encara no tens invitacions.",
"noInvitesHint": "Contacta amb un administrador si necessites codis d'invitació per compartir.",
"available": "Disponibles ({count})",
"availableHint": "Comparteix aquests enllaços amb les persones que vulguis convidar",
"used": "Usades ({count})",
"revoked": "Revocades ({count})",
"copyLink": "Copiar Enllaç",
"copied": "Copiat!",
"usedBy": "per {email}",
"usedStatus": "Usada",
"revokedStatus": "Revocada"
}
}

View file

@ -0,0 +1,33 @@
{
"page": {
"title": "El Meu Perfil",
"subtitle": "Gestiona la teva informació de contacte"
},
"form": {
"email": "Correu Electrònic",
"emailHint": "Aquest és el teu correu d'inici de sessió i no es pot canviar aquí.",
"invitedBy": "Convidat Per",
"invitedByHint": "L'usuari que et va convidar a unir-te.",
"readOnly": "Només lectura",
"contactDetails": "Detalls de Contacte",
"contactDetailsHint": "Aquests són només per a fins de comunicació — no afectaran el teu inici de sessió.",
"contactEmail": "Correu de Contacte",
"telegram": "Telegram",
"signal": "Signal",
"nostrNpub": "Nostr (npub)",
"saving": "Desant...",
"saveChanges": "Desar Canvis"
},
"messages": {
"loadError": "Error en carregar el perfil",
"saveSuccess": "Perfil desat amb èxit!",
"fixErrors": "Si us plau, corregeix els errors a continuació",
"networkError": "Error de xarxa. Si us plau, intenta-ho de nou."
},
"placeholders": {
"contactEmail": "alternate@example.com",
"telegram": "@username",
"signal": "username.01",
"nostrNpub": "npub1..."
}
}

View file

@ -0,0 +1,16 @@
{
"page": {
"title": "Les Meves Operacions",
"subtitle": "Veure i gestionar les teves operacions de Bitcoin",
"loadingTrades": "Carregant operacions...",
"noTrades": "Encara no tens operacions.",
"startTrading": "Començar a operar",
"upcoming": "Properes ({count})",
"history": "Historial ({count})"
},
"trade": {
"rate": "Taxa:",
"cancel": "Cancel·lar",
"viewDetails": "Veure Detalls"
}
}