asyncapi / asyncapi/website

[FEATURE] implement i18n framework and multi-language support for the language dropdown.

Open
#4,759 6 comments 1 reaction 0 assignees View on GitHub
enhancement stale
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.