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
UI language: when changing NVDA's UI language, clicking cancel button at the warning dialog causes NVDA to present certain messages in the new language #4561
Comments
Comment 1 by jteh on 2014-10-21 07:40 |
Comment 3 by nvdakor on 2015-05-18 23:20 |
The easiest fix is probably to not call setLanguage in onOk for the general settings dialog. This would mean that the language file is no longer validated before the restart, so the user could end up with a broken language when NVDA comes back up, except I think it automatically falls back to English in that case. IMO this is better than ending up with a partially translated interface even though the prompt said the change wouldn't take effect until you restart NVDA. Scons should maybe check that all stock language files, braille tables, etc are valid during the build process. |
Actually, looking at the text of the language change prompt, I agree the only thing we need to do is stop calling setLanguage. |
Hi, At least when the user presses Cancel. I’ll take a look at this tonight (perhaps a pull request to follow later). Thanks for feedback. From: James Teh [mailto:notifications@github.com] Actually, looking at the text of the language change prompt, I agree the only thing we need to do is stop calling setLanguage. — |
There's no point in calling setLanguage if the user presses OK, as NVDA
will just restart anyway before it ever presents any other messages.
Even if it did present another message, it may or may not be translated,
so it's best to just wait until NVDA restarts to use the new language.
To be clear, we still want to always set the language in the config.
|
Hi, Done. The below pull request should be enough. Technical: Jamie is right: the simplest solution was to commenting out the whole set language try statement. I kept it in there for now (commented out) in case this isn’t the solution we are looking for, and please do remove the entire block once language communities validates this solution. Thanks. |
Hi, |
Since you're a collaborator, you can just push a topic branch to the main repository. However, the general workflow is that you would create a pull request and reference this issue in the comment, as noted in the Contributing guide. The GitHub API can convert an issue to a pull request, but we don't want to depend on stuff you can't do from the UI and this also has other problems. There's no need to comment code out; just remove it. We can always revert the commit if it breaks something (and I highly doubt it). That's the lovely thing about version control. :) The idea is that we should be able to merge a topic branch without changes if it works, not have to do a subsequent commit to remove stuff. |
Hi, Done (as suggested). If this is acceptable, I propose squashing the branch when it is incubating or moves to master. Thanks. |
I also looked at this briefly last night, before reading this conversation. I didn't make any changes to the GUI but did clean up the comments in languageHandler.py a bit. So in case you'd like to incorporate that, it's in dkager/nvda@b2dd732. |
Coming back to this... @dkager: I think it might be best if we can combine our work. Thanks. |
See issue #4561 When a new language is selected (on the general settings dialog) and the ok button is pushed, the language is not changed until until NVDA is restarted. This fixes an issue where some parts of the UI are translated and some are not.
Reported by nvdakor on 2014-10-21 06:04
Hi,
If you "cancel" UI language switch, NVDA presents certain messages in the newly chosen language.
STR:
Expected: NVDA displays all prompts and setting labels using the previously selected language.
Actual: Certain messages, such as setting labels and symbols are presented (spoken, shown, etc.) using the new language.
Technical: in GUI.SettingsDialogs, when leaving General Settings dialog, we don't check for wx.CANCEL, thus erroneously saving the new language setting, causing certain GUI elements to be shown in the new language. One possible workaround would be:
Thanks.
The text was updated successfully, but these errors were encountered: