C# 如何从windows Phone 7获取当前语言?
我想获得当前的语言。我试过这样做C# 如何从windows Phone 7获取当前语言?,c#,windows-phone-7,C#,Windows Phone 7,我想获得当前的语言。我试过这样做 Console.WriteLine("Tese 1==> " + CultureInfo.CurrentCulture.EnglishName); Console.WriteLine("Test 2==> " + CultureInfo.CurrentUICulture.EnglishName); 在这里,我得到了类似于英语(美国)的输出 但我只想要“英语”。如何单独使用语言 现在我使用其他方法来获得输出 currentCulture = Cu
Console.WriteLine("Tese 1==> " + CultureInfo.CurrentCulture.EnglishName);
Console.WriteLine("Test 2==> " + CultureInfo.CurrentUICulture.EnglishName);
在这里,我得到了类似于英语(美国)
的输出
但我只想要“英语”。如何单独使用语言
现在我使用其他方法来获得输出
currentCulture = CultureInfo.CurrentUICulture.EnglishName;
string[] values = currentCulture.Split('(').Select(sValue => sValue.Trim()).ToArray();
Console.WriteLine("Language ==> " + values.ElementAt(0));
是否有任何默认方法可以单独获取当前语言。查看此处:
原始答复:
System.Threading.Thread.CurrentThread.CurrentCulture
不幸的是,你不能直接得到它。您可以使用
DisplayName
Property获取language(国家/地区)
格式的文化名称,或者使用name
属性获取languagecode国家/地区编码格式的文化名称。要获得所需的输出,您需要操作从属性中获得的字符串。从您的CurrentCulture
中获取中性区域性,并使用其名称:
var culture = CultureInfo.CurrentCulture;
if (!culture.IsNeutralCulture)
culture = culture.Parent;
Console.WriteLine(culture.EnglishName);
例如,对于“en-us”或“en-gb”,父文化为“en”,名称为“English”。我已经尝试过这一点<代码>系统.Threading.Thread.CurrentThread.CurrentCulture
。但输出是:-en-US
。谢谢您。。!!它起作用了。我可以知道什么是文化吗?IsNeutralCulture
?@VijayIsNeutralCulture
反映了文化分为特定文化和中性文化。特定区域性包含有关国家/地区的其他信息。