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:
- Open General Settings, and change the UI language (say, from English to Spanish).
- When the warning dialog appears, click "cancel" instead of "OK".
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:
- Have a new variable in either config.conf or globalVars to indicate the language that NVDA should switch to upon restart. By default, it should be None, but when the user sets a new language, this variable will store the new language (the pending language change, that is).
- When destroying General Settings dialog instance, check if the user has pressed ENTER on cancel button in the new language warning dialog, and if so, store the new language in the pending language switch variable and don't mess with the langue setting in the config file until the user actually saves the newly changed config or restarts.
- In core.restart and during config save routines, check if there is a value in pending language switch variable, and if so, then set the language to the new lang value. If the value is None, assume that no lang change has occured (same routine as what we have now).
Thanks.
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.