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

@ -1,6 +1,7 @@
"use client";
import { CSSProperties } from "react";
import { useTranslation } from "../../hooks/useTranslation";
type WizardStep = "details" | "booking" | "confirmation";
@ -58,6 +59,7 @@ const styles: Record<string, CSSProperties> = {
* Shows which step the user is currently on and which steps are completed.
*/
export function StepIndicator({ currentStep }: StepIndicatorProps) {
const t = useTranslation("exchange");
return (
<div style={styles.stepIndicator}>
<div
@ -67,7 +69,7 @@ export function StepIndicator({ currentStep }: StepIndicatorProps) {
}}
>
<span style={styles.stepNumber}>1</span>
<span style={styles.stepLabel}>Exchange Details</span>
<span style={styles.stepLabel}>{t("steps.details")}</span>
</div>
<div style={styles.stepDivider} />
<div
@ -81,7 +83,7 @@ export function StepIndicator({ currentStep }: StepIndicatorProps) {
}}
>
<span style={styles.stepNumber}>2</span>
<span style={styles.stepLabel}>Book Appointment</span>
<span style={styles.stepLabel}>{t("steps.booking")}</span>
</div>
<div style={styles.stepDivider} />
<div
@ -91,7 +93,7 @@ export function StepIndicator({ currentStep }: StepIndicatorProps) {
}}
>
<span style={styles.stepNumber}>3</span>
<span style={styles.stepLabel}>Confirm</span>
<span style={styles.stepLabel}>{t("steps.confirm")}</span>
</div>
</div>
);