Add i18n support for the updated settings, home, sidebar, and git UI flows#581
Add i18n support for the updated settings, home, sidebar, and git UI flows#581DamnCrab wants to merge 1 commit intoDimillian:mainfrom
Conversation
DamnCrab
commented
Mar 24, 2026
Bring the fork back on top of upstream/main while keeping only the translation-related work that is suitable for an upstream PR. What changed: - adopt the upstream sidebar/composer/home/git UI refactors instead of keeping the older fork-only structure - re-apply i18n integration on top of the new upstream component split - add the missing locale keys required by the upstream UI changes - update locale-sensitive tests so they validate translated behavior without depending on one specific relative-time wording - drop fork-only GitHub Actions workflow changes from the final diff Why: - keep the PR reviewable for upstream by reducing history noise - make the fork compatible with the latest upstream UI architecture - ensure translated strings remain complete after the upstream refactor
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: dc09a642a6
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| if (nextLang) { | ||
| void i18n.changeLanguage(nextLang); | ||
| } else { | ||
| void i18n.changeLanguage(undefined); |
There was a problem hiding this comment.
Clear cached language when selecting system default
Choosing the “System default” option sets language to null but calls i18n.changeLanguage(undefined) without clearing the cached i18nextLng key. Since src/i18n.ts configures detection order as localStorage before navigator, the previous explicit language remains sticky across restarts, so users cannot actually return to OS language once they have picked a language. Clear the detector cache (or bypass localStorage for this case) when nextLang is null.
Useful? React with 👍 / 👎.