Comment obtenir le langage actuel dans une application WinRT?

Est-il possible d’obtenir la langue réelle du système d’exploitation comme sur Windows Phone? J’utilise CultureInfo.CurrentCulture.TwoLetterIsoSsortingng , mais je reçois toujours en et pas le bon langage, ce qui est le cas dans mon cas.

Alors, comment puis-je obtenir la langue réelle dans une application WinRT?

Il y a en fait beaucoup de réponses “genre-de mauvaises” à cela.

  • Windows.Globalization.Language.CurrentInputMethodLanguageTag comme l’a souligné Thomas, ne fonctionnera pas dans tous les scénarios. Il ne renvoie que la langue dans laquelle le clavier de l’utilisateur est affiché.
  • Vous pouvez également utiliser Windows.Globalization.ApplicationLanguages.Languages mais il s’agit d’une combinaison des préférences de langue de l’utilisateur et des langues sockets en charge par les applications.

Pour la langue de préférence utilisateur la plus précise, vous devez utiliser Windows.System.UserProfile.GlobalizationPreferences.Languages[0] .

Vous pouvez utiliser

 Windows.Globalization.Language.CurrentInputMethodLanguageTag 

pour obtenir la langue actuelle. Il retourne par exemple de-DE, si vous utilisez une version allemande de Windows 8.

Selon MSDN, la réponse correcte est: Windows.System.UserProfile.GlobalizationPreferences.Languages ​​[0]

cela devrait être la langue préférée des utilisateurs.

Autant que je m’en souvienne:

 Windows.Globalization.ApplicationPreferences.PreferredLanguage 

Si vous créez une application Windows HTML5 / javascript. Vous pouvez utiliser ceci:

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

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

if (userLanguage.Script.Equals (“Arab”) || userLanguage.Script.Equals (“Hébr”)) {………………..}