Click here to Skip to main content
15,075,638 members
Please Sign up or sign in to vote.
2.50/5 (2 votes)
See more:
How can a normal version (English) can be differentiated from another language Windows Version.
I am not talking about system locale. Windows normally comes with English language and if needed we can change system Locale to other language. But there are another Windows Version which by default comes in Non-English language. I want to detect such version programatically.
Updated 3-Dec-13 2:51am
Maciej Los 3-Dec-13 7:52am
Could you more specific?
amit14aug 3-Dec-13 8:46am
Hi Maciej,
I want to programatically detect whether the OS is windows English version ( normal version) or a specific language windows version. e.g Windows Chinese version, Windows German OS.

You can use the System.Globalization.CultureInfo class to get info about the language of the system.
CultureInfo.InstalledUICulture gives the culture of the OS
Some other CultureInfo you may find useful:
CultureInfo.CurrentCulture gives the culture info of the running thread, used when you need to know the culture, but aren’t displaying anything.
CultureInfo.CurrentUICulture gives the culture info for displaying things on the UI, such as the user desired format of DateTime.

Also take a look at this link[^] for an example of using InstalledUICulture.
amit14aug 5-Dec-13 3:50am
Thanks A lot!!! This worked for me. Even if I change locale to Finnish(or any other) in EN-US version of Windows, the code returns me EN-US only. While in native non English OS (Like Swedish, German) it returns SW-SE and so ON
BillW33 5-Dec-13 8:57am
Glad to help and thanks for accepting the answer. :)
First of all, you did not specify any language...

Have a look here: Locale[^] and System.Globalization[^].

Globalization Step-by-Step[^]
Overview of Globalization and Localization[^]

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900