Skip to content

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

@nvaccessAuto

Description

@nvaccessAuto

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:

  1. Open General Settings, and change the UI language (say, from English to Spanish).
  2. 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:

  1. 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).
  2. 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.
  3. 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.

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions