feat(ui): add i18n support with English and Chinese translations#3218
feat(ui): add i18n support with English and Chinese translations#3218m7rick wants to merge 7 commits intomaximhq:mainfrom
Conversation
|
Important Review skippedToo many files! This PR contains 183 files, which is 33 over the limit of 150. ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (183)
You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Tip 💬 Introducing Slack Agent: The best way for teams to turn conversations into code.Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.
Built for teams:
One agent for your entire SDLC. Right inside Slack. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
- Add react-i18next with language switcher component - Add English (en) and Chinese (zh) locale files - Translate sidebar, all workspace pages, enterprise fallback views - Set English as default language - Add language switcher to sidebar footer
8fc5e5e to
a608863
Compare
|
I've updated the branch with the latest upstream/main and resolved the merge conflicts. The remaining Snyk failure appears to be due to the private test quota limit, and the workflows are awaiting maintainer approval. |
- Add translations for OAuth client ID, secret, authorization URL, token URL, registration URL - Add scopes label and placeholder - Update mcpClientForm to use i18n.t() for all OAuth-related hardcoded strings - Add corresponding Chinese translations
# Conflicts: # ui/app/workspace/mcp-registry/views/mcpClientSheet.tsx # ui/app/workspace/providers/dialogs/addNewCustomProviderSheet.tsx
Summary
Add comprehensive internationalization (i18n) support to the Bifrost UI, enabling multi-language translations and making it easy for the community to contribute additional languages. Initial support includes English (en) and Chinese (zh).
Changes
react-i18nextwithi18next-browser-languagedetectorfor UI internationalizationui/lib/i18n/locales/en.tsandzh.tslocale filesLanguageSwitchercomponent in the sidebar footerTranslation coverage:
Sidebar navigation (all menu items, sub-items, descriptions)
All workspace pages (providers, logs, dashboard, governance, plugins, observability, routing-rules, mcp-registry, model-catalog, model-limits, virtual-keys, custom-pricing, config, etc.)
All enterprise fallback unlock views (rbac, scim, businessUnits, teams, users, adaptiveRouting, cluster, guardrails, accessProfiles, auditLogs, apiKeys, mcpToolGroups, login, etc.)
Common texts (error pages, 404, empty states, buttons, tooltips, etc.)
Default language set to English (
lng: "en"), users can switch to Chinese via the language switcherLanguage preference persisted in
localStorage(key:bifrost_language)Type of change
Affected areas
How to test
cd ui npm install npm run buildValidation steps:
make dev)Screenshots/Recordings
(Attach English/Chinese switch screenshots)
Breaking changes
Related issues
(Add related issues if applicable, e.g. Closes #xxx)
Security considerations
No security implications. This PR only affects frontend UI text display — no API keys, authentication, or data processing changes.
Checklist
docs/contributing/README.mdand followed the guidelines