Пользователь никогда не упоминает свой любимый язык как таковой в настройках Windows: он устанавливает свою культуру в панели управления, например Английский (Канада) aka en-CA. Этот выбор отражается свойством Thread.Culture . Он используется Windows для определения того, как отображать и форматировать такие вещи, как даты (включая формат и названия дней и месяцев), валюты, ...
Другим параметром является язык, на котором была установлена Windows (GUI) (наиболее вероятно Английский (США) в вашем случае). Это отражено Thread.CurrentUICulture . Конечно, для этого есть меньше доступных вариантов, так как он отражает язык GUI (меню, кнопки, справка, ...). например нет такой вещи, как en-CA CurrentUICulture.
Примечание. В Vista + и XP-MUI вы можете впоследствии установить дополнительные языки графического интерфейса и установить язык, который будет использоваться для каждой учетной записи пользователя. Это отражено в CurrentUICulture.
Распространенным заблуждением является вера в то, что культура должна использоваться для определения любимого языка пользователя. Лучше положиться на CurrentUICulture. В моем случае Windows на английском языке, и мои предпочтения пользователя (культура) - fr-BE (французский - Бельгия). Никогда не думайте об отображении вашего пользовательского интерфейса на французском языке: я установил Windows на английском языке с целью: я предпочел бы иметь собственный пользовательский интерфейс на английском языке, а не переведенный на французском. Причины моего выбора спорны, но это не имеет значения. Только мое решение актуально.
Тем не менее, я прочитал 5/2/2012 как 5 февраля 2012 года, а не 2 мая. Вот почему fr-BE - мой язык / культура.
FWIW, Язык для не-Unicode-программ говорит, какая кодовая страница по умолчанию (CP_ACP на языке Win32 NLS) должна использоваться не-Unicode-программами. Это не влияет на ваше приложение, так как .NET-приложения имеют Unicode.
Язык ввода по умолчанию определяет раскладку клавиатуры по умолчанию. Это также не параметр Культура.
Параметр, влияющий на свойство Culture, следующий: