feat: option to change UI language #3087
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
First time contributor checklist:
Contributor checklist:
clearnet
branchyarn ready
run passes successfully (more about tests here)Description
Feature request: #1877
This PR adds option to change app's UI language in settings under Appearance tab.
I've used native
<select>
tag and hardcoded all languages as<option>
tags.I've used dynamic CSS variables for theming and
transition: var(--default-duration)
for theme animation.I've used userConfig which stores data to config.json (
uiLanguage
property) to save and load language set by user. If language isn't set yet, it falls back to default language, evaluating this:process.env.LANGUAGE || app.getLocale() || 'en'
. After choosing language, app is restarted usingapp.relaunch(); app.exit();
I've added two events to ipc:
get-ui-language
,set-ui-language
.I've added two translation keys:
uiLanguage
,uiLanguageDescription
.