You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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).
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
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-intlsetup andmessages/en.json).Prerequisites
messages/en.jsonmust exist with all English strings already extractedWhat Needs to Be Done
1. Create
messages/ha.jsonTranslate every key from
messages/en.jsoninto Hausa. The file structure must be identical toen.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:{ code: 'ha', label: 'Hausa (HA)', enabled: true }3. RTL check
Hausa is written left-to-right — no RTL changes needed. Confirm this in the PR description.
4. Translation quality
// TODO: verify translationnext to any uncertain entriesAcceptance Criteria
messages/ha.jsoncovers every key inmessages/en.jsonnpm run buildandnpm run lintpassComplexity: High — 200 points