2012-10-09 83 views

回答

6

您可以使用

Windows.Globalization.Language.CurrentInputMethodLanguageTag 

獲得實際的語言。例如,如果您使用的是Windows 8的德語版本,則返回例如德DE。

+1

實際上,它返回當前鍵盤語言,而不是用戶區域設置選項!WinRT沒有與CurrentCulture直接等價,但是'Windows.Globalization'命名空間確實提供了替代方法 –

1

至於我記得:

Windows.Globalization.ApplicationPreferences.PreferredLanguage 
+0

在UWP上不存在:( –

1

如果您創建HTML5/javascript Windows應用程序。你可以使用這個:

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

實際上有很多「種類錯誤」的答案。

  • Windows.Globalization.Language.CurrentInputMethodLanguageTag正如托馬斯指出的那樣,在所有場景下都不能正常工作。它只返回用戶鍵盤顯示的語言。
  • 您也可以使用Windows.Globalization.ApplicationLanguages.Languages,但它是用戶語言首選項和應用程序支持的語言的組合。

對於大多數非常敏感的用戶偏好語言,您需要使用Windows.System.UserProfile.GlobalizationPreferences.Languages[0]

+0

現在我將使用「Windows.System.UserProfile.GlobalizationPreferences.Languages [0]」。 – Quincy

+0

@ MoOgles你能詳細說明嗎? – Quincy

2

acording MSDN的正確答案是:Windows.System.UserProfile.GlobalizationPreferences.Languages [0]

這應該是大多數用戶喜歡的語言。

相關問題