2012-10-09 13 views

risposta

6

È possibile utilizzare

Windows.Globalization.Language.CurrentInputMethodLanguageTag 

per ottenere il linguaggio vero e proprio. Viene restituito, ad esempio, DE-DE, se si utilizza una versione tedesca di Windows 8.

+1

In realtà, che restituisce la lingua corrente della tastiera, non la selezione Impostazioni internazionali utente! WinRT non ha un equivalente diretto di CurrentCulture, ma lo spazio dei nomi 'Windows.Globalization' fornisce alternative ad esso! –

1

Per quanto mi ricordo:

Windows.Globalization.ApplicationPreferences.PreferredLanguage 
+0

Che non esiste su UWP :( –

1

Se si crea un'applicazione Windows HTML5/javascript. È possibile utilizzare questo:

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);

se (userLanguage.Script.Equals() || userLanguage.Script.Equals "arabi" ("Eb")) { .................. .. }

26

Ci sono in realtà molte risposte "tipo di errore" a questo.

  • Windows.Globalization.Language.CurrentInputMethodLanguageTag come indicato da Thomas non funzionerà in tutti gli scenari. Restituisce solo la lingua in cui viene visualizzata la tastiera dell'utente.
  • È anche possibile utilizzare Windows.Globalization.ApplicationLanguages.Languages ma è una combinazione di preferenze della lingua utente e lingue supportate dalle applicazioni.

Per la maggior parte delle lingue di preferenza utente accurate, è necessario utilizzare Windows.System.UserProfile.GlobalizationPreferences.Languages[0].

+0

Userò "Windows.System.UserProfile.GlobalizationPreferences.Languages ​​[0]" per ora. – Quincy

+0

@ Mo0gles puoi elaborare? – Quincy

2

di tronchi con MSDN La risposta corretta è: Windows.System.UserProfile.GlobalizationPreferences.Languages ​​[0]

questo dovrebbe essere utenti lingua più preferita.

Problemi correlati