mirror of
https://github.com/arabianq/pipewire-soundpad.git
synced 2026-07-27 06:06:59 +00:00
The interface followed the system locale with no way to override it. Settings now carry a language picker, stored as forced_lang in gui.json, with "System" listed first so the choice stays undoable. rust-i18n keeps the current locale in a process-wide atomic and t! reads it on every lookup, so switching takes effect on the next frame without a restart. Languages are listed by their own name rather than a translated one, since that is what a reader looking for their language recognises. A test asserts every shipped locale has such a name, so adding a translation without naming it fails rather than silently showing a bare language code. Co-authored-by: Claude Opus 5 <noreply@anthropic.com>