Jak rozpoznać język systemu operacyjnego za pomocą CultureInfo
? Na przykład. jeśli język w systemie Windows jest ustawiony na francuski, muszę określić francuski i załadować dane plików zasobów fr
.Pobierz aktualny język w CultureInfo
Odpowiedz
Myślę, że coś takiego nie daje bieżący CultureInfo:
CultureInfo currentCulture = Thread.CurrentThread.CurrentCulture;
Czy tego szukasz?
Używałbym CultureInfo.CurrentCulture, która robi to samo, ale jest krótszy do napisania. Niestety ani CurrentCulture, ani CurrentUICulture nie zwraca języka systemu operacyjnego. Pierwsza zwraca bieżące ustawienie formatowania, druga zwraca preferowany język interfejsu użytkownika. –
Aktualny język jest pobierane za pomocą systemu „Pobiera CultureInfo reprezentującą kulturę zainstalowany z systemem operacyjnym”
CultureInfo.InstalledUICulture
Aby ustawić go jako domyślny język do użycia nici:
System.Globalization.CultureInfo.DefaultThreadCurrentCulture=CultureInfo.InstalledUICulture;
To co kiedyś:
var culture = System.Globalization.CultureInfo.CurrentCulture;
i to działa :)
Próbowałam {CultureInfo currentCulture = Thread.CurrentThread.CurrentCulture;}
ale to nie działa dla mnie, ponieważ mój interfejs użytkownika Inaczej było w mojej kulturze numer/waluta. Więc proponuję używać:
CultureInfo currentCulture = Thread.CurrentThread.CurrentUICulture;
To daje kulturę Twój UI jest (teksty na Windows, skrzynkach, itp).
Aby uzyskać identyfikator 2 znaków ISO 639-1 użyj:
System.Threading.Thread.CurrentThread.CurrentCulture.TwoLetterISOLanguageName;
Jeśli korzystasz z plików zasobów .NET (pliki .resx), system obsługuje to za Ciebie. –
Tak, wiem, ale nie dodałem pliku zasobów mandarynek i komputer został ustawiony na język mandaryński jako domyślny język, więc szukam prawidłowego. Dzięki. – Sharpeye500
Twoja odpowiedź może być ta http://stackoverflow.com/questions/329033/what-is-the-difference-between-current-ulture-and-currentuiculture-properties-of – Raymund