Skip to content

[V2 200pts] Add Hausa (HA) language translation — full messages/ha.json covering all keys from messages/en.json #345

Description

@portableDD

Summary

Add Hausa language translation to NexaFx. Hausa is the most widely spoken language in northern Nigeria and is one of the three priority expansion languages for the platform. This builds on the i18n infrastructure from issue #45 (next-intl setup and messages/en.json).

Prerequisites

  • Issue Update Contribution.md #45 (i18n setup) must be completed and merged before this issue is started
  • messages/en.json must exist with all English strings already extracted

What Needs to Be Done

1. Create messages/ha.json

Translate every key from messages/en.json into Hausa. The file structure must be identical to en.json — same keys, Hausa values.

Key translations to prioritise:

{
  "auth": {
    "login": {
      "title": "Shiga NexaFx",
      "emailLabel": "Adireshin imel",
      "passwordLabel": "Kalmar sirri",
      "submitButton": "Shiga",
      "forgotPassword": "Manta da kalmar sirri?",
      "noAccount": "Ba ku da asusun?",
      "signUp": "Yi rajista"
    }
  },
  "dashboard": {
    "balances": {
      "title": "Gibin ku",
      "error": "Ba a iya loda gibin — don Allah sake sabuntawa",
      "empty": "Ba a sami gibin ba"
    }
  }
}

(Continue for all keys in en.json.)

2. Update language switcher

In components/shared/language-switcher.tsx:

  • Enable Hausa: { code: 'ha', label: 'Hausa (HA)', enabled: true }
  • Remove "Coming soon" disabled state for Hausa

3. RTL check

Hausa is written left-to-right — no RTL changes needed. Confirm this in the PR description.

4. Translation quality

  • All translations must be natural Hausa, not machine-translated without review
  • If any string is difficult to translate directly, use a clear descriptive Hausa equivalent
  • Leave a comment // TODO: verify translation next to any uncertain entries

Acceptance Criteria

  • messages/ha.json covers every key in messages/en.json
  • Switching to Hausa in the language switcher renders the full UI in Hausa
  • No English strings visible anywhere in the UI when Hausa is selected
  • Language switcher shows Hausa as an enabled option (not "Coming soon")
  • npm run build and npm run lint pass

⚠️ IMPORTANT — READ BEFORE SUBMITTING YOUR PR
Your pull request MUST target the v2 branch.
PRs targeting main or any other branch will not be reviewed and will not be merged.

Base branch: v2   ✅
Base branch: main ❌  → will be closed without review

Complexity: High — 200 points

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions