Feature Description
Add full internationalization to Wora so that all UI text can be translated and switched at runtime (or auto-detected from the user’s OS locale).
- Translation framework – propose
next-intl, next-i18next, or react-i18next with server-side support for Nextron/Electron.
- Locale files – e.g.
/locales/en.json, /locales/ru.json, … containing every display string.
- Language switcher in Settings plus automatic locale fallback (e.g.
fr-FR → fr).
- Build-time extraction / linting of hard-coded strings to streamline contributor translations (CLI such as
i18next-scanner).
Problem and Solution
Wora is currently English-only. Users in non-English regions must navigate in a second language, limiting usability and adoption. Community members have offered to translate, but no infrastructure exists to accept or manage those contributions.
Proposed solution
-
Select an i18n framework
next-intl – lightweight, works well with Next 13/14/15.
react-i18next – battle-tested, clear Electron examples.
-
Ship initial locales
- Provide
en (default) and one additional language (e.g. es) to validate the pipeline.
- Keep all strings in JSON; remove inline literals from components.
-
Electron integration
- Detect OS locale via
app.getLocale() in background.ts and pass it to the renderer via preload or IPC.
-
Settings UI
- Add a “Language” dropdown in
/settings.
- Persist the choice in the existing
settings table.
-
Contributor workflow
- Document how to add/update a locale (single JSON file, PR template).
Additional Context
No response
Potential Issues
No response
Wora Version
v0.4.0-beta2
Discord Username
No response
Code of Conduct
Feature Description
Add full internationalization to Wora so that all UI text can be translated and switched at runtime (or auto-detected from the user’s OS locale).
next-intl,next-i18next, orreact-i18nextwith server-side support for Nextron/Electron./locales/en.json,/locales/ru.json, … containing every display string.fr-FR→fr).i18next-scanner).Problem and Solution
Wora is currently English-only. Users in non-English regions must navigate in a second language, limiting usability and adoption. Community members have offered to translate, but no infrastructure exists to accept or manage those contributions.
Proposed solution
Select an i18n framework
next-intl– lightweight, works well with Next 13/14/15.react-i18next– battle-tested, clear Electron examples.Ship initial locales
en(default) and one additional language (e.g.es) to validate the pipeline.Electron integration
app.getLocale()inbackground.tsand pass it to the renderer via preload or IPC.Settings UI
/settings.settingstable.Contributor workflow
Additional Context
No response
Potential Issues
No response
Wora Version
v0.4.0-beta2
Discord Username
No response
Code of Conduct