RegionInfo:CurrentUICulture翻译的DisplayName
RegionInfo: DisplayName translated by CurrentUICulture
有没有办法通过自定义 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"。如果当前文化是英语,则应该是"Germany"。
您不能为此使用 RegionInfo - 此 class 只允许您以 .NET 安装的语言(通常是英语)或本机名称(以所选区域)。
您应该为此使用资源文件(例如 Res.resx: "de" "Germany"; Res.de.resx: "de" "Deutschland"; Res.pl.resx: "de" "Niemcy"...) 那么在代码中,会从对应的resx中取出Res.de的值你的 CurrentThread.CurrentUICulture.
有没有办法通过自定义 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"。如果当前文化是英语,则应该是"Germany"。
您不能为此使用 RegionInfo - 此 class 只允许您以 .NET 安装的语言(通常是英语)或本机名称(以所选区域)。
您应该为此使用资源文件(例如 Res.resx: "de" "Germany"; Res.de.resx: "de" "Deutschland"; Res.pl.resx: "de" "Niemcy"...) 那么在代码中,会从对应的resx中取出Res.de的值你的 CurrentThread.CurrentUICulture.