Ticket #353 (closed defect: fixed)

Opened 14 months ago

Last modified 12 months ago

NVDA's use windows' language option doesn't seem to work

Reported by: timeless Owned by: pvagner
Priority: minor Milestone: 2009.1
Component: Localization Version: development
Keywords: Cc:
Operating system: Blocked by:
Blocking:

Description (last modified by timeless) (diff)

NVDA 0.6p3.2, Windows 7 RC, Deutsch

I changed my Windows Display Language to Deutsch [this forced me to log off] and ran NVDA, it still showed me its messages in English. When I told NVDA to use German, it restarted and its UI was German.

Attachments

languageHandler.patch Download (0.5 KB) - added by pvagner 14 months ago.

Change History

in reply to: ↑ description   Changed 14 months ago by aleksey_s

Replying to timeless:

I changed my Windows User Interface Language to Deutsch [this forced me to log off] and ran NVDA, it still showed me its messages in English. When I told NVDA to use German, it restarted and its UI was German.

NVDA uses your user language, not the system interface language. You can manage it under language and regional settings in control panel, first combobox. I cann't write exact labels because i am using russian localization of Windows.

  Changed 14 months ago by timeless

  • description modified (diff)

Sorry, the field is:

Display language
 Install or uninstall languages that Windows can use to display text
 and where supported recognize speech and handwriting.
                                [ (v) Install/uninstall languages...]
 Choose a display language:
 [Deutsch                                                          v]
 |English                                                           |
 |Deutsch                                                           |
 |español                                                           |
 |suomi                                                             |
 |français                                                          |
 |עברית                                                              |

Note that changing it changes all of my Windows applications but not my login screen (which is covered by something else)

The welcome screen stuff is managed from the Administrative tab

  Changed 14 months ago by pvagner

Perhaps we should change the name of this option.
You are correct it does not follow a language set on the language tab of the Regional settings control pannel applet. Instead it follows your locale settings which can be adjusted on the regional settings tab. I am not running english version of Windows either so I am not sure I am giving you correct control names. The setting NVDA follows is the one which controls displaying of numbers, times, dates and currencies.

Can you suggest some alternate name for this option?

  Changed 14 months ago by timeless

not really, it doesn't make sense.

If I speak English but want Finnish dates (because I happen to live in Finland and have to be able to see Finnish dates on my calendar), that doesn't mean I speak suomi (I don't).

Can you please explain *why* you're currently using the locale instead of the language to choose the language for the user interface?

follow-up: ↓ 6   Changed 14 months ago by pvagner

I think this is correct setting to follow since not all the flavors of Windows allow changing the language.
Also when you select Finnish as your locale you will get month names translated to Finnish So for example you will get "2. heinäkuuta" instead of "2. July". I guess you don't like localized dates when you are unable to speak foreign language so you won't also change your locale to something else besides English or your mother tongue.

in reply to: ↑ 5   Changed 14 months ago by sid0

Replying to pvagner:

I think this is correct setting to follow

I don't think it is, mainly because changing the locale doesn't change the language of the rest of the UI.

I understand  http://msdn.microsoft.com/en-us/goglobal/bb688164.aspx#ESC is the recommended API for this.

  Changed 14 months ago by pvagner

  • owner set to pvagner
  • status changed from new to accepted
  • component changed from GUI to Localization

Thanks guys for the well written comments.
I have looked into the matter reading recommended material and I am attaching a patch addressing the issue.
I will commit it later when no other negative comments arise.

Changed 14 months ago by pvagner

  Changed 14 months ago by jteh

  • milestone set to 0.7

  Changed 13 months ago by jteh

  • milestone changed from 2009.2 to 2009.1

Peter, is there any reason not to merge this? I took a look and it looks simple enough. If you haven't encountered any problems yet, please merge it so we can give testers time to find issues before the release. We can always revert it if need be.

  Changed 12 months ago by pvagner

  • status changed from accepted to closed
  • resolution set to fixed

Fixed in r3142

  Changed 12 months ago by mdcurran

Does it make sence for the Installer also to use GetUserDefaultUILanguage? it currently uses GetThreadLocale? to set its language.
I'm happy to change this if this makes sence.
1. The installer should be changed for the same reasons NVDA was changed.
2. The installer language really must match eSpeak's synth language as best as possible, but now it may be possible for example for the installer to be in Chinese (because the locale is) but for NVDA to be in English because that is the default UI Language.

  Changed 12 months ago by pvagner

oops, I think we need to make these 2 to match each other. So if we have changed this in NVDA we should definatelly do it in the installer as well.

Note: See TracTickets for help on using tickets.