Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何翻译CultureInfo语言名称_C#_Cultureinfo - Fatal编程技术网

C# 如何翻译CultureInfo语言名称

C# 如何翻译CultureInfo语言名称,c#,cultureinfo,C#,Cultureinfo,我知道有三种方法可以获得CultureInfo对象的完整语言名称 CultureInfo.DisplayName CultureInfo.NativeName CultureInfo.EnglishName DisplayName以安装的.net语言提供名称。 NativeName以“CultureInfo”语言提供名称。 EnglishName以英语命名(令人惊讶…) 因此,对于CultureInfo de de,它(在英语.net安装上)提供了 德语 德国 德文 现在我的问题是:

我知道有三种方法可以获得CultureInfo对象的完整语言名称

CultureInfo.DisplayName   
CultureInfo.NativeName  
CultureInfo.EnglishName
DisplayName以安装的.net语言提供名称。
NativeName以“CultureInfo”语言提供名称。
EnglishName以英语命名(令人惊讶…)

因此,对于CultureInfo de de,它(在英语.net安装上)提供了
德语
德国
德文


现在我的问题是:有没有办法用另一种语言询问de de的语言名称?例如,我想要荷兰语中de de的语言名称(即“Duits”)。

此功能未内置到.NET Framework中


请看一下CultureInfo.EnglishName的示例:

    public CultureInfo GetCultureInfo(string EnglishName)
    {
        foreach (CultureInfo info in CultureInfo.GetCultures(CultureTypes.AllCultures))
        {
            if (info.EnglishName == EnglishName)
                return new CultureInfo(info.Name);
        }

        return null;
    }

原则上,以下代码起作用:

private static ResourceManager resourceManager = new ResourceManager("mscorlib", typeof(int).Assembly);

public static string CultureName(CultureInfo culture, CultureInfo displayCulture)
{
    return resourceManager.GetString("Globalization.ci_" + culture.Name, displayCulture);
}
但也存在一些重要的限制:

  • 它依赖于未记录的行为,因此它可以通过Windows或.NET的更新中断
  • 显示语言需要安装在运行它的计算机上。您可以安装其他语言,具体取决于您使用的Windows版本

    在大多数计算机上,只安装了一种语言,这在大多数情况下是毫无意义的


这正是我所担心的。唯一的免费翻译是英语,.NET安装语言(如果不同的话)和本地文化信息语言的翻译。我必须权衡一下使用google translate api所取得的成果。谢谢,我正在寻找一种基于语言名称获取文化信息的方法,这正是我所需要的