2012-10-09 13 views

Odpowiedz

6

Można użyć

Windows.Globalization.Language.CurrentInputMethodLanguageTag 

aby uzyskać rzeczywisty język. Zwraca na przykład de-DE, jeśli używasz niemieckiej wersji Windows 8.

+1

Właściwie to zwraca aktualny język klawiatury, a nie wybór regionalnych ustawień użytkownika! WinRT nie ma bezpośredniego odpowiednika CurrentCulture, ale przestrzeń nazw 'Windows.Globalization' zapewnia alternatywę na to! –

1

O ile pamiętam:

Windows.Globalization.ApplicationPreferences.PreferredLanguage 
+0

To nie istnieje na UWP :( –

1

Jeśli utworzysz aplikację Windows HTML5/javascript. Możesz użyć tego:

var language = window.navigator.userLanguage || window.navigator.language; 
alert(language); 
0

String topUserLanguage = GlobalizationPreferences.Languages ​​[0]; Windows.Globalization.Language userLanguage = new Windows.Globalization.Language (topUserLanguage);

if (userLanguage.Script.Equals ("Arab") || userLanguage.Script.Equals ("Hebr")) { .................. .. }

26

Istnieje wiele "dobrych" złych "odpowiedzi na to pytanie.

  • Windows.Globalization.Language.CurrentInputMethodLanguageTag jak wskazał Thomas nie będzie działać we wszystkich scenariuszach. Zwraca tylko język, w którym wyświetlana jest klawiatura użytkownika.
  • Można również użyć Windows.Globalization.ApplicationLanguages.Languages, ale jest to połączenie preferowanych języków użytkownika i języków obsługiwanych przez aplikacje.

Aby uzyskać najbardziej aktualny język preferencji użytkownika, należy użyć numeru Windows.System.UserProfile.GlobalizationPreferences.Languages[0].

+0

Na razie będę używał "Windows.System.UserProfile.GlobalizationPreferences.Languages ​​[0]". – Quincy

+0

@ Mo0gles Czy możesz rozwinąć? – Quincy

2

acording MSDN poprawną odpowiedź brzmi: Windows.System.UserProfile.GlobalizationPreferences.Languages ​​[0]

powinno to być użytkownicy język najbardziej preferowana.

Powiązane problemy