-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add picker for interface language to Settings #1250
Comments
|
Including English like in P9 makes that dropdown far more cluttered than it needs to be. If you know and can read a language it is much easier to find without the English. Including English certainly helps the majority culture but no one else. |
For a first go, a simple Select input is likely sufficient. A bit of an upgrade would be a multiselect, orderable combo box like Later on we'll need ways for people to localize. We'll also need a more complex picker for content language. |
UX conclusion for the presentation of languages:
In settings the currently selected value should show up in the dropdown placeholder. UX task to evaluate existing SIL language picker is here: https://github.com/paranext/ux/issues/169 |
Bloom's EthnoLib Language picker (Storybook Demo)
|
Since we're talking about a "simple" UI language chooser, presumably, we would not want anything like the Ethnolib Language picker, since the list is never likely to contain hundreds of choices requiring a complex search. Ian mentioned today that the need to choose ordered fallback languages is a fairly special case and we wouldn't want that need to eclipse the basic need of a user to select the one primary UI language (with English as the automatic fallback). |
Neither of these really offer a convenient way to sort the selected options. User has to select them in the desired order. |
@tjcouch-sil , I'm guessing they're using the ISO 639 reference name, a canonical anglicized name (as described by Ethnologue). Either that or it's based on the interface language, but I don't think we have non-English localization information for language names. @tombogle agreed. I suggest a progressive design and development approach. It would even be fine to separate the tasks of selecting one language versus many. something like…
|
I talked to john_hatton@sil.org, and they're currently improving it—about to ship. I documented some issues for them. |
I've started a thread in Discord about this topic. Wasn't recognizing discussion was happening in here. |
When the user selects a (primary) UI language, we want the dropdown to close, correct? (Apparently the default behavior for a Shadcn Select is to keep it open.) |
According to what I can see on the website, the
but not closing for the new |
In an effort to make this less complicated, here are some thoughts: User stories
For either user story:
Therefore the UI should have two components:
Rationale:
|
@ianhewubs I think you're stories cover 99.99% of the need. I could still see a possible rare edge case for a user who wants to use a very incomplete local language, followed by a regional LWC, followed by a national language. So if we can come up with a UI for that that doesn't really make the more common cases harder, that would be sweet. If we just used a multi-select for the fallback language(s), that might be simple enough, but we'd probably have to test that theory. |
…omponent. Still need to get languages to load properly from localization service.
Could those be described as phases, where we would implement the first or second now and the rest later?
|
Changing the interface language currently requires an application restart before taking effect. I've created https://github.com/paranext/ux/issues/208 to meet the need for a flow to ask the user if they want to restart. |
…tionally independent of the other two
…e (also allowing it to do validation)
Testing Repo Steps:
|
User Story
As a user, I want to be able to select a language so that I can easily manipulate settings that handle language.
Description
Investigate possible language dropdown someone in SIL has already made - John Hatton might know...?type your own language code inCombobox
is probably a good place to start if SIL doesn't have a fitting oneAdd this component to the settings as a special case for the specific settings that handle language? Look at the data type and use this if the setting default value is an array of strings that includes the string 'en'...?
Implementation idea
See the links below for UX design doc and mockup:
The text was updated successfully, but these errors were encountered: