【发布时间】:2016-12-05 09:19:32
【问题描述】:
有没有办法让自定义 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”。如果当前的文化是英语,它应该是“德国”。
【问题讨论】:
-
如果
CultureInfo.CurrentCulture是“de”和DisplayName不同,你不能使用NativeName吗? -
我们讨论了这个解决方案,但是如果应用程序语言是英语,应该有“德国”而不是“德国”。
标签: c# localization translation regioninfo