2012-10-09 18 views

Respuesta

6

Puede utilizar

Windows.Globalization.Language.CurrentInputMethodLanguageTag 

para obtener el idioma real. Devuelve, por ejemplo, de-DE, si está utilizando una versión alemana de Windows 8.

+1

En realidad, eso devuelve el idioma del teclado actual, no la selección de configuración regional del usuario! WinRT no tiene un equivalente directo a CurrentCulture, pero el espacio de nombres 'Windows.Globalization' proporciona alternativas –

1

Por lo que yo recuerde:

Windows.Globalization.ApplicationPreferences.PreferredLanguage 
+0

Eso no existe en UWP :( –

1

Si crea una aplicación HTML5/javascript de Windows. Se puede utilizar esta:

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

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

si (userLanguage.Script.Equals() || userLanguage.Script.Equals "árabes" ("Hebr")) { .................. .. }

26

En realidad, hay muchas respuestas "tipo de error" a esto.

  • Windows.Globalization.Language.CurrentInputMethodLanguageTag como señala Thomas no funcionará en todos los escenarios. Solo devuelve el idioma en el que se muestra el teclado del usuario.
  • También puede usar Windows.Globalization.ApplicationLanguages.Languages pero es una combinación de preferencias de idioma del usuario y idiomas admitidos por las aplicaciones.

Para el lenguaje de preferencias del usuario más preciso, deberá usar Windows.System.UserProfile.GlobalizationPreferences.Languages[0].

+0

Voy a utilizar "Windows.System.UserProfile.GlobalizationPreferences.Languages ​​[0]" por el momento. – Quincy

+0

@ Mo0gles ¿me puede dar más detalles? – Quincy

2

según MSDN La respuesta correcta es: Windows.System.UserProfile.GlobalizationPreferences.Languages ​​[0]

esto debería ser usuarios lengua más preferido.

Cuestiones relacionadas