Как узнать установленный язык на Windows?
Хочу узнать язык, которой стоит на Windows у пользователя. Как это можно сделать? Есть ли библиотека, или куда обратиться в системе?
CultureInfo - здесь не очень подходит, он показывает региональные параметры.
Насчёт регистра. У меня стоит Win 10 на английском (изначально был на русском)
Если доставать значения из регистра, то InstallLanguage почему-то с кодом 0419 (ru-Ru).
Есть InstallLanguageFallback со значением en-Us. Но не получается достать, это значение.
Код:
const string path = @"SYSTEM\CurrentControlSet\Control\Nls\Language";
using RegistryKey key = Registry.LocalMachine.OpenSubKey(path);
string value = key.GetValue("InstallLanguage") as string;
if (int.TryParse(value, NumberStyles.HexNumber, null, out int lcid))
{
CultureInfo info = new CultureInfo(lcid);
Console.WriteLine(info.DisplayName);
Console.WriteLine(info.IetfLanguageTag);
}
Вывод:
Russian (Russia)
ru-RU
Возможно проблема в особенность моей ОС.
Источник: Stack Overflow на русском