Получить текущий язык в CultureInfo - PullRequest
42 голосов
/ 17 ноября 2010

Как определить язык операционной системы с помощью CultureInfo?Например, если в Windows установлен французский язык, мне нужно определить французский язык и загрузить данные файлов ресурсов fr.

Ответы [ 5 ]

64 голосов
/ 17 ноября 2010

Я думаю, что-то вроде этого даст вам текущее CultureInfo:

CultureInfo currentCulture = Thread.CurrentThread.CurrentCulture;

Это то, что вы ищете?

18 голосов
/ 07 октября 2014

Это то, что я использовал:

var culture = System.Globalization.CultureInfo.CurrentCulture;

и все работает :) 1004 *

9 голосов
/ 26 февраля 2014

Текущий системный язык извлекается с использованием:

  CultureInfo.InstalledUICulture

"Получает CultureInfo, представляющий культура, установленную с операционной системой."

InstalledUICulture

Чтобы установить его в качестве языка по умолчанию для потока:

   System.Globalization.CultureInfo.DefaultThreadCurrentCulture=CultureInfo.InstalledUICulture;
4 голосов
/ 15 февраля 2016

Я пытался {CultureInfo currentCulture = Thread.CurrentThread.CurrentCulture;}, но у меня это не сработало, поскольку моя культура пользовательского интерфейса отличалась от моей культуры чисел / валюты. Поэтому я предлагаю вам использовать:

CultureInfo currentCulture = Thread.CurrentThread.CurrentUICulture;

Это даст вам культуру вашего пользовательского интерфейса (тексты на окнах, окнах сообщений и т. Д.).

1 голос
/ 10 ноября 2017

Для получения 2-х символьного идентификатора языка ISO 639-1 используйте:

System.Threading.Thread.CurrentThread.CurrentCulture.TwoLetterISOLanguageName;
...