5

Windows Phone のような OS の実際の言語を取得することは可能ですか? 私は を使用していますが、私の場合CultureInfo.CurrentCulture.TwoLetterIsoStringは正しい言語ではなく、常に en を受け取ります。de

では、WinRT アプリで実際の言語を取得するにはどうすればよいでしょうか?

4

7 に答える 7

26

これには、実際には多くの「間違った」答えがあります。

  • Windows.Globalization.Language.CurrentInputMethodLanguageTagトーマスが指摘したように、すべてのシナリオで機能するとは限りません。ユーザーのキーボードが表示される言語のみを返します。
  • 使用することもできますWindows.Globalization.ApplicationLanguages.Languagesが、ユーザーの言語設定とアプリケーションがサポートする言語の組み合わせです。

最も正確なユーザー設定言語については、 を使用する必要がありますWindows.System.UserProfile.GlobalizationPreferences.Languages[0]

于 2013-01-10T01:06:04.853 に答える
4

使用できます

Windows.Globalization.Language.CurrentInputMethodLanguageTag

実際の言語を取得します。たとえば、ドイツ語版の Windows 8 を使用している場合は、de-DE が返されます。

于 2012-10-09T12:13:08.513 に答える
2

MSDN によると、正しい答えは次のとおりです。

Windows.System.UserProfile.GlobalizationPreferences.Languages[0]

これは、ユーザーが最も好む言語にする必要があります。

于 2013-02-28T12:05:14.163 に答える
1

HTML5/javascript Windows アプリを作成する場合。これを使用できます:

var language = window.navigator.userLanguage || window.navigator.language;
alert(language);
于 2012-10-09T17:02:46.883 に答える
1

私が覚えている限りでは:

Windows.Globalization.ApplicationPreferences.PreferredLanguage
于 2012-10-09T12:05:21.090 に答える
0
String topUserLanguage = GlobalizationPreferences.Languages[0];
Windows.Globalization.Language userLanguage = new Windows.Globalization.Language(topUserLanguage);

if (userLanguage.Script.Equals("Arab") || userLanguage.Script.Equals("Hebr"))
{
....................
}
于 2013-01-04T05:07:20.943 に答える