Skip to content

Dapp i18n (ES/EN) with next-intl #40

Description

@Cbiux

Summary

Add i18n (ES/EN) to the dapp with next-intl — eliminate mixed Spanish/English copy across auth and dashboard.


Background

Current UX mixes languages (e.g. Spanish errors in wallet-network.ts, English page titles). Landing is EN-first; LatAm users need consistent ES.


Implementation

Library: next-intl (App Router)

Front/messages/en.json
Front/messages/es.json
Front/i18n/request.ts
Front/middleware.ts          # locale prefix or cookie

Scope (v1 pages):

  • /, /login, /register
  • /dashboard/*
  • wallet-auth-card.tsx, api-errors.ts user-facing strings

Locale switcher: footer toggle in DappShell

Default: en; persist choice in cookie


Acceptance criteria

  • No hardcoded user-facing strings on scoped pages
  • npm run build passes with both locales
  • Locale switcher works without full page break
  • CONTRIBUTING.md section: how to add translation keys
  • API error messages stay English (server); map in api-errors.ts

Out of scope

  • Server-side i18n
  • RTL languages

Metadata

Metadata

Assignees

No one assigned

    Labels

    GrantFox OSSPart of the GrantFox OSS programMaybe RewardedThis issue may receive a reward or bountyOfficial CampaignPart of an official ZCore campaignenhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions