How to identify the operating system's language using CultureInfo
? E.g. if the language in Windows is set to French, I need to identify French and load the fr
resource files data.
I think something like this would give you the current CultureInfo:
CultureInfo currentCulture = Thread.CurrentThread.CurrentCulture;
Is that what you're looking for?
This is what i used:
var culture = System.Globalization.CultureInfo.CurrentCulture;
and it's working :)
Current system language is retrieved using :
CultureInfo.InstalledUICulture
"Gets the CultureInfo that represents the culture installed with the operating system."
To set it as default language for thread use :
System.Globalization.CultureInfo.DefaultThreadCurrentCulture=CultureInfo.InstalledUICulture;
I tried {CultureInfo currentCulture = Thread.CurrentThread.CurrentCulture;}
but it didn`t work for me, since my UI culture was different from my number/currency culture. So I suggest you to use:
CultureInfo currentCulture = Thread.CurrentThread.CurrentUICulture;
This will give you the culture your UI is (texts on windows, message boxes, etc).
To get the 2 chars ISO 639-1 language identifier use:
System.Threading.Thread.CurrentThread.CurrentCulture.TwoLetterISOLanguageName;
来源:https://stackoverflow.com/questions/4208244/get-current-language-in-cultureinfo