我正在开发一个支持多种语言和文化的 .net 4.5 应用程序。
以下是一些国家/语言的示例列表:
- 俄罗斯 / 俄语
- 比利时 / 法语
- 比利时 / 荷兰语
对于上述所有情况,都可以基于这些文化名称创建 CultureInfo 对象。
- ru-RU
- fr-BE
- nl-BE
当用户进入网站时,我将 Thread.CurrentThread.CurrentCulture 和 Thread.CurrentThread.CurrentUICulture 设置为使用上述名称创建的 culture。
Thread.CurrentThread.CurrentCulture = new CultureInfo("nl-BE", false)
Thread.CurrentThread.CurrentUICulture = new CultureInfo("nl-BE", false)
以上所有名称都是有效的区域设置名称。
不过,我需要添加另一个区域设置名称,即英语语言在俄罗斯境内使用。但问题在于代码 en-RU 不是有效的,因此当我创建 new CultureInfo("en-RU", false)
时,会出现 CultureNotFoundException 异常,因为 en-RU 是无效的。
对于这种区域设置,我想要数字、日期等方面采用俄罗斯的格式,但网站上的语言应该是英语。是否可以创建自定义的 CultureInfo 对象来代替无效的区域设置名称,并具有俄罗斯的行为特征?