feat: add internationalization (i18n) and multi-language support - #293
Open
emelichev wants to merge 2 commits into
Open
feat: add internationalization (i18n) and multi-language support#293emelichev wants to merge 2 commits into
emelichev wants to merge 2 commits into
Conversation
added 2 commits
August 27, 2026 22:02
✅ Deploy Preview for opencost-ui ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR change?
Adds full translation resources for 4 languages:
English (en) — Default
Russian (ru)
Chinese Simplified (zh-CN)
Chinese Traditional (zh-TW)
Adds a Language selector dropdown to the Settings page under Display preferences (alongside the Currency selector) with automatic localStorage persistence and browser language detection.
Localizes all core UI pages, layouts, and components:
Sidebar navigation & global search shortcuts
Home dashboard & Cost Summary cards
Dashboards list and Dashboard builder views
Reports list and Report Builder with configuration side-panel
Cost Allocation widgets (charts, breakdown tables, filters)
Cloud Cost and Infrastructure Assets widgets, tables, and time filters
Settings, theme switches, table pagination, and common action buttons
Fixes CommonJS lodash import compatibility for Vite SSR/dev mode.
Does this PR relate to any other PRs?
How will this PR impact users?
The chosen language persists across browser sessions in localStorage.
All text and metrics labels adapt dynamically without affecting existing dashboard configurations, API queries, or currency formatting.
Does this PR address any GitHub or Zendesk issues?
How was this PR tested?
Tested language switching and verified UI rendering across all routes (/, /dashboards, /dashboard/:id, /reports, /report/:id, /settings) using browser and headless automation.
Tested persistence of selected locale in localStorage and fallback behavior to English for missing keys.
Does this PR require changes to documentation?
Have you labeled this PR and its corresponding Issue as "next release" if it should be part of the next OpenCost release? If not, why not?
Yes, labeled as "next release" for inclusion in the upcoming OpenCost release.