CultureInfo.Name 属性
CultureInfo.Name Property
正在阅读 MSDN
CultureInfo.Name Property
Gets the culture name in the format languagecode2-country/regioncode2.
然后例子:
Console.Write("{0,-7}", ci.Name);
[...]
/*
This code produces the following output. This output has been cropped for brevity.
CULTURE ISO ISO WIN DISPLAYNAME ENGLISHNAME
ar [...]
bg [...]
ca [...]
zh-Hans [...]
cs [...]
da da [...]
de de [...]
el el [...]
en en eng ENU English English
es es spa ESP Spanish Spanish
fi fi [...]
zh zh [...]
zh-Hant zh [...]
zh-CHS zh [...]
zh-CHT zh [...]
*/
谁能解释一下 two 字母 languagecode2-country/regioncode2
格式,以及如何从 CultureInfo
中获取“en-US
”字符串?
说,我有以下代码:
var culture = Context.Features.Get<IRequestCultureFeature>().RequestCulture.UICulture;
string lang2 = culture.TwoLetterISOLanguageName.ToLower();
string lang4 = culture.Name.ToLower();
终于lang2 == lang4
,有没有办法得到"correct"lang4
?
不仅如此,CultureInfo 不检查无效的文化名称,两个字母的任意组合都可以工作(fiddle here):
using System;
using System.Globalization;
public class Program {
public static void Main() {
Console.Write(new CultureInfo("xx").Name); // "xx"
Console.Write(new CultureInfo("xx-YY").Name); // "xx-YY"
}
}
MSDN returns 提供的示例仅 languagecode2 因为它迭代了 CultureInfo.GetCultures(CultureTypes.NeutralCultures)
。顾名思义,被迭代的CultureInfo
是中性的,所以它们的名字只是由两个字母的小写语言代码组成。
更一般地说,CultureInfo
提供有关特定文化的信息。当它不是中性的时候。
如果你的代码returns en
,那么它只是意味着一个中立的文化被传递给了它。 If/when 您将其传递给特定的文化(例如:en-US),然后名称将相应地匹配。
可以从 CultureInfo
MSDN page 的备注部分收集更多信息:
A neutral culture is specified by only the two-letter lowercase language code. For example, fr specifies the neutral culture for French, and de specifies the neutral culture for German.
正在阅读 MSDN
CultureInfo.Name Property
Gets the culture name in the format languagecode2-country/regioncode2.
然后例子:
Console.Write("{0,-7}", ci.Name);
[...]
/*
This code produces the following output. This output has been cropped for brevity.
CULTURE ISO ISO WIN DISPLAYNAME ENGLISHNAME
ar [...]
bg [...]
ca [...]
zh-Hans [...]
cs [...]
da da [...]
de de [...]
el el [...]
en en eng ENU English English
es es spa ESP Spanish Spanish
fi fi [...]
zh zh [...]
zh-Hant zh [...]
zh-CHS zh [...]
zh-CHT zh [...]
*/
谁能解释一下 two 字母 languagecode2-country/regioncode2
格式,以及如何从 CultureInfo
中获取“en-US
”字符串?
说,我有以下代码:
var culture = Context.Features.Get<IRequestCultureFeature>().RequestCulture.UICulture;
string lang2 = culture.TwoLetterISOLanguageName.ToLower();
string lang4 = culture.Name.ToLower();
终于lang2 == lang4
,有没有办法得到"correct"lang4
?
不仅如此,CultureInfo 不检查无效的文化名称,两个字母的任意组合都可以工作(fiddle here):
using System;
using System.Globalization;
public class Program {
public static void Main() {
Console.Write(new CultureInfo("xx").Name); // "xx"
Console.Write(new CultureInfo("xx-YY").Name); // "xx-YY"
}
}
MSDN returns 提供的示例仅 languagecode2 因为它迭代了 CultureInfo.GetCultures(CultureTypes.NeutralCultures)
。顾名思义,被迭代的CultureInfo
是中性的,所以它们的名字只是由两个字母的小写语言代码组成。
更一般地说,CultureInfo
提供有关特定文化的信息。当它不是中性的时候。
如果你的代码returns en
,那么它只是意味着一个中立的文化被传递给了它。 If/when 您将其传递给特定的文化(例如:en-US),然后名称将相应地匹配。
可以从 CultureInfo
MSDN page 的备注部分收集更多信息:
A neutral culture is specified by only the two-letter lowercase language code. For example, fr specifies the neutral culture for French, and de specifies the neutral culture for German.