我有一个ASP.NET 3.5网站。

为什么我不能为Bokmal语言创建特定的文化? 通用标签

语言“ en”工作正常,结果为“ en-US”。我认为有了“ nb”,我可以做同样的事情,并使文化成为“ nb-NO”。但是用“ nb”我得到了错误:

不支持文化nb。

我将解释为什么我需要它。

我检索了一个文化列表:“ nl-NL”,“ nl-BE”,“ nb-NO”,“ fr-CH”,“ fr-FR” 我想要的是具有默认区域性的唯一语言列表。因此,我用独特的语言创建了一个列表,结果为“ nl”,“ nb”,“ fr”。接下来,我想要特定的文化,但是nb无法正常工作。我想要这个是因为唯一列表选择了nl-BE而不是默认的nl-NL。

但是,当我选择荷兰语时,我将坚持使用“ nl-BE”,并将这些文化放在唯一的文化列表中。此列表将显示“ nl-BE”,“ nb-NO”,“ fr-CH”。

有帮助吗?

解决方案

您不能假定语言名称与CultureInfo对象之间的父子关系之间存在对应关系。层次结构还取决于Windows版本。

根据 NLS API 的文档,“ nb“文化在Windows 7中存在,但在Windows Vista中不存在。

在我的Windows 7计算机上,Bokmål的区域性层次结构是子级到父级

  • nb-否
  • nb
  • 不变文化

    简而言之,您应该使用CultureInfo对象的Parent属性,而不是进行字符串操作。

其他提示

我不明白为什么这不起作用。以下这三个名称为我提供了正确的文化

尝试: 通用标签

UnitTest: 通用标签

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top