Вопрос

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

Это было полезно?

Решение

Я думаю, что что-то вроде этого даст вам нынешнее cultureInfo:

CultureInfo currentCulture = Thread.CurrentThread.CurrentCulture;

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

Другие советы

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

var culture = System.Globalization.CultureInfo.CurrentCulture;

И это работает :)

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

  CultureInfo.InstalledUICulture

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

Объединение

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

   System.Globalization.CultureInfo.DefaultThreadCurrentCulture=CultureInfo.InstalledUICulture;

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

CultureInfo currentCulture = Thread.CurrentThread.CurrentUICulture;

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

Чтобы получить 2 Chars ISO 639-1 Идентификатор языка Использование:

System.Threading.Thread.CurrentThread.CurrentCulture.TwoLetterISOLanguageName;
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top