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:
parent
7dd13292a0
commit
246553c402
22 changed files with 559 additions and 115 deletions
|
|
@ -19,6 +19,7 @@ import { StepIndicator } from "./components/StepIndicator";
|
|||
import { ExchangeDetailsStep } from "./components/ExchangeDetailsStep";
|
||||
import { BookingStep } from "./components/BookingStep";
|
||||
import { ConfirmationStep } from "./components/ConfirmationStep";
|
||||
import { useTranslation } from "../hooks/useTranslation";
|
||||
|
||||
type ExchangeResponse = components["schemas"]["ExchangeResponse"];
|
||||
|
||||
|
|
@ -57,6 +58,7 @@ const styles = {
|
|||
|
||||
export default function ExchangePage() {
|
||||
const router = useRouter();
|
||||
const t = useTranslation("exchange");
|
||||
const { user, isLoading, isAuthorized } = useRequireAuth({
|
||||
requiredPermission: Permission.CREATE_EXCHANGE,
|
||||
fallbackRedirect: "/",
|
||||
|
|
@ -281,8 +283,8 @@ export default function ExchangePage() {
|
|||
<main style={layoutStyles.main}>
|
||||
<Header currentPage="exchange" />
|
||||
<div style={styles.content}>
|
||||
<h1 style={typographyStyles.pageTitle}>Exchange Bitcoin</h1>
|
||||
<p style={typographyStyles.pageSubtitle}>Buy or sell Bitcoin with a 5% premium</p>
|
||||
<h1 style={typographyStyles.pageTitle}>{t("page.title")}</h1>
|
||||
<p style={typographyStyles.pageSubtitle}>{t("page.subtitle")}</p>
|
||||
|
||||
{error && (
|
||||
<div style={bannerStyles.errorBanner}>
|
||||
|
|
@ -290,7 +292,7 @@ export default function ExchangePage() {
|
|||
{existingTradeId && (
|
||||
<div style={styles.errorLink}>
|
||||
<a href={`/trades/${existingTradeId}`} style={styles.errorLinkAnchor}>
|
||||
View your existing trade →
|
||||
{t("page.viewExistingTrade")}
|
||||
</a>
|
||||
</div>
|
||||
)}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue