You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
route the Desktop intro fallback copy through the existing i18n catalog instead of hardcoded English in intro.tsx
move the Mixture of Agents settings copy and stale auxiliary-model warning into settings.model
add typed English source strings plus zh catalog entries for the newly exposed keys
Why
This follow-up came from the RU Desktop localization QA in #46634. The remaining English screenshots were not only missing Russian copy: some strings were still hardcoded in components, so they need a small shared catalog/component change before any locale can translate them cleanly.
Keeping this separate lets #46634 stay focused on adding the Russian locale, while this PR handles the cross-locale Desktop i18n surface.
Thanks for splitting the shared Desktop i18n surface out of the Russian-locale work.
Problems
This changes catalog selection in apps/desktop/src/components/chat/intro.tsx and localized warning/MoA rendering in apps/desktop/src/app/settings/model-settings.tsx, but adds no regression tests. Existing intro coverage only checks layout clearance at apps/desktop/src/components/assistant-ui/thread/streaming.test.tsx:426-430; existing warning tests assert the English path at apps/desktop/src/app/settings/model-settings.test.tsx:151-180.
Suggested changes
Add a focused Intro i18n test and a ModelSettings test under I18nProvider with the zh locale, covering the catalog-backed fallback and stale-aux/MoA strings.
Thanks for the focused review. I added the requested regression coverage in commit 88704f8c2:
apps/desktop/src/components/chat/intro.test.tsx covers the Intro catalog fallback path under I18nProvider with the zh locale.
apps/desktop/src/app/settings/model-settings.test.tsx now wraps ModelSettings in a real QueryClientProvider harness and adds a zhI18nProvider case covering the localized stale-aux warning plus MoA preset/reference/aggregator strings.
Updated this PR onto current main (head 415cea968) and resolved the i18n catalog conflict by preserving the newer upstream fallback-model keys while keeping the MoA / Intro / stale-aux strings catalog-backed.\n\nValidation on the refreshed branch:\n- git diff --check\n- npm run typecheck --workspace apps/desktop\n- npm run test:ui --workspace apps/desktop -- src/i18n/languages.test.ts src/i18n/runtime.test.ts src/i18n/context.test.tsx src/components/language-switcher.test.tsx src/components/chat/intro.test.tsx src/app/settings/model-settings.test.tsx -> 6 files / 31 tests passed\n\nThe PR remains scoped to the shared Desktop i18n surface and does not include the Russian locale itself.
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
area/i18nLocalization, locales, translationscomp/desktopElectron desktop app (apps/desktop/*)P3Low — cosmetic, nice to havesweeper:blast-moderateSweeper blast radius: moderate — a subsystem or single platformsweeper:risk-compatibilitySweeper risk: may break existing users, config, migrations, defaults, or upgradestype/featureNew feature or request
3 participants
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.
Summary
intro.tsxsettings.modelWhy
This follow-up came from the RU Desktop localization QA in #46634. The remaining English screenshots were not only missing Russian copy: some strings were still hardcoded in components, so they need a small shared catalog/component change before any locale can translate them cleanly.
Keeping this separate lets #46634 stay focused on adding the Russian locale, while this PR handles the cross-locale Desktop i18n surface.
Validation
git diff --checknpm install --workspace apps/desktopnpm run typecheck --workspace apps/desktopnpm run test:ui --workspace apps/desktop -- src/i18n/languages.test.ts src/i18n/runtime.test.ts src/i18n/context.test.tsx src/components/language-switcher.test.tsx→ 4 files / 22 tests passedRelated: #46634