CultureInfo.CurrentCulture.Name是否始终返回以连字符分隔的语言代码和国家/地区代码?
关于CultureInfo.CurrentCulture.Name返回值的说明
CultureInfo.CurrentCulture.Name并非始终返回以连字符分隔的语言代码+国家/地区代码,确实存在仅返回两位字母语言代码的情况。
具体场景:
- 当系统设置的是「中性文化(Neutral Culture)」时,比如只选择了“英语”(而非绑定地区的“英语(美国)”“英语(英国)”),此时
CultureInfo.CurrentCulture.Name会返回en;同理,仅选择“法语”会返回fr。中性文化是不关联特定地区的语言文化,这类文化的Name属性仅包含两位ISO 639-1标准的语言代码。 - 只有当系统设置的是「特定文化(Specific Culture)」时,才会返回
语言代码-地区代码的格式,比如en-US、zh-CN这类带地区标识的文化名称。
额外验证方法:
可以通过CultureInfo.CurrentCulture.IsNeutralCulture属性判断当前文化是否为中性文化,提前预判Name的返回格式。
内容的提问来源于stack exchange,提问作者cpdev
相关产品推荐
相关产品推荐

