@wp:
Please, don't get me wrong there. I am also not attempting to put a blame but, the last remark that you made in your previous post seems to have suggested as things being a user error (which it is clearly not)
I agree that these settings in Windows are confusing for the user, as they don't resemble any language specific settings, rather locale specific settings.
I also agree that poor user-interface and/or api is not Lazarus responsibility.
However, being persistent in keep on using them (wrongly) can't be the right way to do things ? Or is it ?
Just for the record, i am not proposing to use GetSystemDefaultLCID instead. It was merely used to be able to show that nowhere on this system is there a Dutch language installed (so from a logical pov how is it even possible to auto-detect that it must be the user default language used for the interface ?).
If you want Lazarus to be in English why don't you just go the Lazarus Tools / Environment / General / Language and select "English (en)" from the combobox instead of breaking your mind on where exactly the "Automatic" language comes from. Then Lazarus always will be in English whatever the Windows language is.
I already put in my 2 cents on that: visually impaired. Not to mention not understanding a single computer-technical related item displayed in languages of some of the countries i travel to. Good luck finding your way through Chinese menu's ;-)
Besides that. The ever first window that Lazarus put up there, is not a menu where you can change/select language options: instead it is a project window that lets the user select to open a new or existing project.
All good and fine when you are familiar with Lazarus, but not so for newbies. Yes, you might argue that everyone is able to understand the Lazarus project window being displayed in their chosen locale settings, and be able to find their way through the menus in order to change the language settings. I simply disagree ;-)
Thank you very much for your assessment, as it clearly explains what it is that is going wrong there exactly. Ergo appreciated for the work you've put into that.
At least i'm now able to instruct new (Windows) Lazarus users to firstly check their locale settings so that their settings meet a 'language' that they are able to comprehend.
If you don't mind, i rather attempt to find out, what is the correct way of doing things. msdn also mentioned some related issues there (e.g. do not use GetUserLocaleID, but the other mentioned solution only seems available for Vista or higher).