-
Notifications
You must be signed in to change notification settings - Fork 5
Description
What do we need?
The app currently lacks full multilingual support. While Rocket.Chat i18n is used
for settings labels, most user-facing strings (messages, modals, commands, and
notifications) are hardcoded in English.
We need a centralized internationalization (i18n) system so that all user-facing
text can be translated and displayed based on the user's preferred language or
Rocket.Chat locale.
This solves the issue where non-English users receive English-only responses
even when Rocket.Chat is configured for another language.
Without full i18n support:
- The app is not accessible to global users
- Language consistency is broken
- Adding new languages in the future is difficult
Proper multilingual support makes the app production-ready and usable by
international teams.
Acceptance Criteria
- Create a centralized translation configuration (i18n module)
- Replace hardcoded English strings with translation keys
- Update mainAppResponses to return localized strings
- Localize all modals (titles, buttons, body text)
- Localize slash command descriptions and help messages
- Store and retrieve user language preference
- Fallback to English when translation is missing
- Ensure no user-facing runtime text is hardcoded
Relevant ScreenShots
N/A – issue identified via code inspection.
Affected files include:
- mainAppResponses.ts
- Command handlers
- Modal components (GetLocationModal, ReminderModal)
- Slash command definitions
Further Comments
This feature can leverage Rocket.Chat’s existing i18n infrastructure while adding
app-level translation management.
Optional future enhancement:
- Auto-detect language from Rocket.Chat locale
- Add a slash command to manually set preferred language