Skip to content

Conversation

@meifu2027
Copy link
Contributor

Description:
This PR fixes and enhances the application's internationalization features:

  • Language Picker Modal: Fully functional language selection modal with close button.

  • Multi-Scenario Support: Translations now correctly apply across all pages and components, including Dashboard, Plugins, Session, Settings, and Templates.

  • Dynamic Language Switching: Users can switch languages in the settings, and the selected language persists across sessions.

  • Type Safety & State Management: Added language type definitions and centralized management of current language state.

  • Improved UX: Translated text dynamically updates when the user changes the language.

This ensures a seamless multi-language experience throughout the application.

hx_meifu added 6 commits January 21, 2026 13:17
- Add translation functionality and close button to the language selector component
- Update the dashboard page to use dynamic translated text
- Integrate multi-language text on the plugin page
- Add internationalization support to the session page
- Implement language switching in the settings page
- Create a modal component for language selection
- Add language type definitions and manage current language state
- Add translation functionality and close button to the language selector component
- Update the dashboard page to use dynamic translated text
- Integrate multi-language text on the plugin page
- Add internationalization support to the session page
- Implement language switching in the settings page
- Create a modal component for language selection
- Add language type definitions and manage current language state
…ssues

# Conflicts:
#	src/app/pages/session.tsx
- Add translation functionality and close button to the language selector component
- Update the dashboard page to use dynamic translated text
- Integrate multi-language text on the plugin page
- Add internationalization support to the session page
- Implement language switching in the settings page
- Create a modal component for language selection
- Add language type definitions and manage current language state
- Add translation functionality and close button to the language selector component
- Update the dashboard page to use dynamic translated text
- Integrate multi-language text on the plugin page
- Add internationalization support to the session page
- Implement language switching in the settings page
- Create a modal component for language selection
- Add language type definitions and manage current language state
@benjaminshafii
Copy link
Member

@meifu2027 we did a small refactor you'll need to rebase/merge your branch

@benjaminshafii
Copy link
Member

Automated message: strong i18n push, but a few blockers:

  • Duplicate modal file at src/app/components/language-picker-modal.tsx (wrong path) — please remove and keep only the packages/desktop/src/app component.
  • The language picker modal is rendered in both app.tsx and settings.tsx; pick one owner to avoid double state.
  • showAnticipatoryCursor now compares busyLabel to a translated string; busyLabel is still a status key. Use busyLabel === 'status.running' (or compare keys) instead.
  • Settings hardcodes language labels; use LANGUAGE_OPTIONS for consistency.

PR is also CONFLICTING; please rebase on dev.

@benjaminshafii
Copy link
Member

would prefer to isolate this functionality purely in the settings from a UX perspective and not have state spread out across the app.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants