Skip to content

feat(i18n): implement comprehensive internationalization (i18n) #24

Description

@0dillon

Summary

As HaloPay expands into LATAM and Francophone Africa, English-only interfaces are a hard blocker for adoption. The codebase currently has dozens of hardcoded English strings scattered across React components, making localization impossible.

We need to architect a robust internationalization layer using next-intl. This requires extracting every user-facing string into structured JSON dictionaries. The architecture must support dynamic locale routing, allow the merchant to switch languages seamlessly via the settings modal, and automatically detect the device's native language preference on first boot.

Acceptance Criteria

  • Integrate next-intl and configure locale routing.
  • Extract all hardcoded strings into en.json, es.json, and fr.json.
  • Build a language selector dropdown in the Merchant Settings modal.
  • Ensure formatting for currencies and dates respects the active locale.

Tech Stack

Next.js 14, next-intl, React.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions