我在 CultureInfo 课程中发现了一件有趣的事情。我正在用 ASP.NET 编写一个应用程序,我正在使用Thread.CurrentThread.CurrentCulture
它来获取当前选择的语言,并且:
Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo(alias);
有两个地方我可以在一个地方设置当前线程的文化,如下所示:
Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("ru");
Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("ru-RU");
然后我突然发现文化(1)与文化(2)不同,但它们都是俄罗斯人。
是我做错了什么还是微软喝醉了?
编辑
@蒂姆施梅尔特
var culture = CultureInfo.GetCultureInfo("ru");
var culture2 = CultureInfo.GetCultureInfo("ru-RU");
if (Equals(culture, culture2))
{
Console.Write(true);
return;
}
Console.Write(false);
问题是 - “为什么微软将“ru”和“ru-RU”分开?