如何从Windows Phone 7获取当前语言?

时间:2014-08-04 11:47:42

标签: c# windows-phone-7

我想获得当前的语言。我试过这样的。

  Console.WriteLine("Tese 1==> " + CultureInfo.CurrentCulture.EnglishName);
Console.WriteLine("Test 2==> " + CultureInfo.CurrentUICulture.EnglishName);

这里我的输出类似于English(United States)

但我只想要'英语'。如何单独使用语言。

现在我使用其他方法来获取输出。

currentCulture = CultureInfo.CurrentUICulture.EnglishName;
            string[] values = currentCulture.Split('(').Select(sValue => sValue.Trim()).ToArray();
            Console.WriteLine("Language ==> " + values.ElementAt(0));

是否有任何默认方法可以单独获取当前语言。

3 个答案:

答案 0 :(得分:2)

CurrentCulture获取中性文化并使用它的名称:

var culture = CultureInfo.CurrentCulture;
if (!culture.IsNeutralCulture) 
    culture = culture.Parent;
Console.WriteLine(culture.EnglishName);

例如对于" en-us"或" en-gb"父母文化是" en"名称为"英语"。

答案 1 :(得分:0)

请看这里:How to get the Windows Phone system language from code?

原始答案:

System.Threading.Thread.CurrentThread.CurrentCulture

答案 2 :(得分:0)

不幸的是你不能直接拥有它。您可以使用language (country/region)格式DisplayName以[{1}}格式or使用languagecode-country/regioncode属性获取文化名称Name。为了获得所需的输出,您需要manipulate字符串从属性中获取的内容。