ILN is a global protocol. The foundation for multi-language support must be established early to avoid expensive refactoring later. Even if only English ships initially, all user-facing strings must be externalised.
Requirements and context
- Install and configure
next-intl or next-i18next
- Externalise all user-facing strings to
messages/en.json
- Set up locale routing (
/en/, future /fr/, /es/)
- Number formatting must use locale-aware formatters (amount display, date display)
- Document how to add a new locale in
CONTRIBUTING.md
- No visible change for English users — this is an architectural foundation
Suggested execution
git checkout -b feat/i18n-foundation
- Install
next-intl
- Extract all strings to
messages/en.json
- Configure locale routing
- Apply locale-aware number and date formatting
Example commit message
feat: add i18n foundation with next-intl and string externalisation
ILN is a global protocol. The foundation for multi-language support must be established early to avoid expensive refactoring later. Even if only English ships initially, all user-facing strings must be externalised.
Requirements and context
next-intlornext-i18nextmessages/en.json/en/, future/fr/,/es/)CONTRIBUTING.mdSuggested execution
next-intlmessages/en.jsonExample commit message
feat: add i18n foundation with next-intl and string externalisation