[FEATURE] implement i18n framework and multi-language support for the language dropdown.
- Dominant language
- TypeScript
- Stars
- 716
- Forks
- 1.2k
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 35
Description
### Why do we need this improvement?
While the application currently features a language selection dropdown in the UI, it is restricted to "English" only. This creates an accessibility barrier for the global AsyncAPI community. Non-English speaking users cannot effectively navigate the tool, which limits the project's reach and inclusivity.
### How will this change help?
Now, non-english user can also effectively navigate the tool.
### Screenshots
_No response_
### How could it be implemented/designed?
I propose implementing a robust Internationalization (i18n) framework to transition the app from a hard-coded English string model to a dynamic, key-based translation system.
My technical proposal includes:
Framework Integration: Integrating a standard library such as i18next or react-i18next (depending on the project's stack) to manage translations.
Resource Management: Creating a centralized locales/ directory to house JSON or YAML translation files (e.g., en.json, es.json, fr.json).
Dynamic UI: Updating the existing language dropdown to fetch available locales dynamically and update the application state without requiring a full page reload.
### 🚧 Breaking changes
Yes
### 👀 Have you checked for similar open issues?
- [x] I checked and didn't find a similar issue
### 🏢 Have you read the Contributing Guidelines?
- [x] I have read the [Contributing Guidelines](https://github.com/asyncapi/.github/blob/master/CONTRIBUTING.md)
### Are you willing to work on this issue?
None
Contributor guide
Research direction
Start by locating the existing language dropdown and the hard-coded English strings, then review the TypeScript/React/Next.js setup before selecting an i18n library. Done means the interface uses centralized locale resources, supports the available languages, and switches language without a full page reload.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- nextjs, react, typescript
- Domain
- frontend, internationalization, web-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100