Skip to content

feat(settings): add multi-language support and optimize settings UI#88

Merged
alecdotdev merged 1 commit intoalecdotdev:masterfrom
maxrks:feat/i18n
Mar 31, 2026
Merged

feat(settings): add multi-language support and optimize settings UI#88
alecdotdev merged 1 commit intoalecdotdev:masterfrom
maxrks:feat/i18n

Conversation

@maxrks
Copy link
Copy Markdown
Contributor

@maxrks maxrks commented Mar 31, 2026

Multi-Language Support Expansion & Settings UI Improvements

Summary

This commit significantly expands the application's internationalization (i18n) capabilities by adding support for 16 new languages and improving the multilingual experience across the settings UI.

Changes

1. Expanded Language Support (26 Languages Total)

Added comprehensive translations for 16 new languages:

  • European: Italian (it), Polish (pl), Dutch (nl), Swedish (sv), Portuguese/European (pt), Romanian (ro), Hungarian (hu), Czech (cs), Slovak (sk), Greek (el), Finnish (fi), Danish (da), Norwegian (no)
  • Asian: Vietnamese (vi), Indonesian (id), Turkish (tr)

Combined with existing languages (English, Japanese, Chinese Simplified/Traditional, Korean, Russian, Spanish, French, German, Portuguese/Brazil), the app now supports 26 languages.

2. New Translation Sections

Added colors translation section to all 26 languages for the highlight color picker:

  • default, yellow, orange, red, pink, purple, blue, cyan, green

3. Settings UI Improvements

  • Language Dropdown: Now sorted alphabetically by language code for easier navigation
  • Highlight Color Picker: Color names are now fully translated based on selected language
  • Settings Layout: Optimized organization of appearance settings

4. Code Quality

  • Changed all Chinese comments to English for consistency
  • Updated LanguageCode type with English comments
  • Added proper language detection for all new languages in detectSystemLanguage()

Files Modified

  • src/lib/utils/i18n.ts - Added translations for 16 new languages + colors section
  • src/lib/stores/settings.svelte.ts - Updated SUPPORTED_LANGUAGES, LanguageCode type, and detectSystemLanguage()
  • src/lib/components/Settings.svelte - Updated color picker to use translation keys
  • src-tauri/Cargo.lock - Dependency updates

Testing

  • Type checking passes (npm run check)
  • All 26 languages load correctly
  • Color picker displays translated color names
  • Language dropdown is properly sorted
  • OS language detection works for new languages

Screenshots

N/A - UI changes are primarily text/translation updates

Breaking Changes

None - all changes are backward compatible

Related Issues

  • It is recommended that new phrases added in future development continue to use English, and the i18n translations be updated regularly and uniformly.

- Expand supported language list with over 20 new languages including Italian and Polish
- Improve language selector implementation using localized display names
- Optimize settings layout and adjust internationalized display for color pickers
- Add image directory and macOS screenshot scaling settings
@alecdotdev alecdotdev merged commit faa3210 into alecdotdev:master Mar 31, 2026
1 check passed
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