有没有办法通过自定义CultureInfo来翻译RegionInfo?
我尝试了以下但不起作用:
/* Change culture of current thread to german*/
CultureInfo de = new CultureInfo("de");
Thread.CurrentThread.CurrentCulture = de;
Thread.CurrentThread.CurrentUICulture = de;
RegionInfo regionInfoDe = new RegionInfo("de");
regionInfoDe.DisplayName.Should().Be("Deutschland");
/* Change culture of current thread to englisch */
CultureInfo en = new CultureInfo("en");
Thread.CurrentThread.CurrentCulture = en;
Thread.CurrentThread.CurrentUICulture = en;
RegionInfo regionInfoEn = new RegionInfo("de");
regionInfoEn.DisplayName.Should().Be("Germany");
如果现在的文化是德语,我想从RegionInfo(“de”)获得“Deutschland”。如果现在的文化是英国的,那就应该是“德国”。
答案 0 :(得分:1)
您不能使用RegionInfo - 此类只允许您使用.NET安装语言(通常是英语)或本机名称(使用所选区域的语言)获取名称。 / p>
你应该使用资源文件(例如Res.resx:“de”“Germany”; Res.de.resx:“de”“Deutschland”; Res.pl.resx:“de”“Niemcy”.. 。)然后,在代码中, Res.de 的值将取自对应于CurrentThread.CurrentUICulture的resx。