如何从代码中获取Windows Phone系统语言?

mob*_*ner 4 localization windows-phone-7 lang

解决方案: 使用CultureInfo.CurrentUICulture

用户可以在以下位置更改Windows Phone的系统语言:设置>语言+区域>手机语言

如何从C#代码中获取所选语言(手机语言)?

以下是我的手机设置:

这是我的代码片段:

System.Diagnostics.Debug.WriteLine(
    "*************************************   CultureInfo.CurrentCulture.Name = " + CultureInfo.CurrentCulture.ToString() + ", "  +
    "CultureInfo.CurrentCulture.CompareInfo = " + CultureInfo.CurrentCulture.CompareInfo + ", " +
    "CultureInfo.CurrentCulture.DisplayName = " + CultureInfo.CurrentCulture.DisplayName + ", " +
    "CultureInfo.CurrentCulture.EnglishName = " + CultureInfo.CurrentCulture.EnglishName + ", " +
    "CultureInfo.CurrentCulture.Name = " + CultureInfo.CurrentCulture.Name + ", " +
    "CultureInfo.CurrentCulture.NativeName = " + CultureInfo.CurrentCulture.NativeName + ", " +
    "CultureInfo.CurrentCulture.TextInfo = " + CultureInfo.CurrentCulture.TextInfo
);
Run Code Online (Sandbox Code Playgroud)

这是输出:

CultureInfo.CurrentCulture.Name = zh-HK,
CultureInfo.CurrentCulture.CompareInfo = CompareInfo - zh-HK,
CultureInfo.CurrentCulture.DisplayName = Chinese (Traditional, Hong
Kong SAR), CultureInfo.CurrentCulture.EnglishName = Chinese
(Traditional, Hong Kong SAR), CultureInfo.CurrentCulture.Name = zh-HK,
CultureInfo.CurrentCulture.NativeName = ??(???????),
CultureInfo.CurrentCulture.TextInfo = TextInfo - zh-HK
Run Code Online (Sandbox Code Playgroud)

我找不到'手机语言'

Cla*_*sen 6

使用System.Threading.Thread.CurrentThread.CurrentCulture.它应该正确反映手机语言.

  • 刚发现System.Threading.Thread.CurrentThread.CurrentCulture不能用于WP8.解决方案是使用CultureInfo.CurrentUICulture. (2认同)
  • System.Threading.Thread.CurrentThread.CurrentCulture在我的诺基亚920(WP8)上返回错误的结果.实际上,与使用CultureInfo.CurrentCulture的结果相同.只有CultureInfo.CurrentUICulture可以在我的设备上运行 (2认同)