如何从CultureInfo获得没有国家的语言

Pet*_*ter 18 c# asp.net cultureinfo

有没有人知道ASP.Net如何在没有国家名称的情况下获得当前文化的语言?我知道这种不变文化没有这个问题,但我不知道如何在不指定明确语言的情况下创建它们.我想显示活动语言,在nl-nl中这是荷兰语(荷兰).

这是我设置currentCulture的方式:

private void Application_BeginRequest(Object source, EventArgs e)
{
    string[] languages = HttpContext.Current.Request.UserLanguages;
    string language = languages[0].ToLowerInvariant().Trim();
    if (!string.IsNullOrEmpty(language))
    {
        System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(language);
        System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture(language);
    }
}
Run Code Online (Sandbox Code Playgroud)

就我而言,文化是"nl-nl".问题是当使用CurrentCulture.EnglishName时网站上显示的是"荷兰语(荷兰)".我只想看荷兰人!

谢谢!

Fre*_*els 40

简单:

CultureInfo ci = CultureInfo.GetCultureInfo ("nl-nl");

if( ci.IsNeutralCulture )
{
    Console.WriteLine (ci.EnglishName);
    Console.WriteLine (ci.NativeName);
}
else
{
    Console.WriteLine (ci.Parent.EnglishName);
    Console.WriteLine (ci.Parent.NativeName);
}
Run Code Online (Sandbox Code Playgroud)


小智 6

CultureInfo对象包含名为Parent的属性 - 如果已设置,则表示CultureInfo具有所需的EnglishName = Dutch