Skip to content

Comments

Language support#79

Open
tomipoch wants to merge 4 commits intoplaywora:mainfrom
tomipoch:language-support
Open

Language support#79
tomipoch wants to merge 4 commits intoplaywora:mainfrom
tomipoch:language-support

Conversation

@tomipoch
Copy link
Contributor

@tomipoch tomipoch commented Sep 9, 2025

Complete Internationalization (i18n) in Wora

Summary

Full internationalization (i18n) support has been implemented in Wora, allowing users and contributors to switch the interface language in real time and making it easy for the community to add new languages in the future.


Key Features

  • Real-time translation of the entire UI using react-i18next.
  • Automatic detection of the system language on first launch (app.getLocale() in Electron).
  • New language selector in Settings; user preference is stored in the database (settings.language).
  • Instant language switching—no need to reload the app.
  • Initial support for English (en) and Spanish (es).
  • All UI texts extracted and centralized in /locales/*.json.
  • The system is ready for easy contribution of new languages by the community.

Technical Details

  • Stack: Next.js + Electron (Nextron) with react-i18next.
  • Localization files are structured as /locales/en/translation.json, /locales/es/translation.json, etc.
  • The language is auto-detected on first run; manual selection always takes precedence.
  • The selected language is persisted in the database (settings.language), even after restarts.
  • The process for contributing new languages is fully documented.

How to Add or Edit a Language

  1. Create a folder for the new language inside /locales/ (e.g., /locales/fr/ for French).
  2. Copy the translation.json file from /locales/en/ as a template.
  3. Translate all strings into the target language.
  4. Submit a Pull Request with the new or updated translation file.

Example structure:
/locales/fr/translation.json


Issue Resolution

Closes #68


Next Steps

  • Implement translations for the global menu (macOS, Windows, Linux).
  • Add support for additional languages.

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.

[Feature]: Internationalization (i18n) Support

2 participants