CultureInfo和(resx)资源文件

Jon*_*han 8 c# model-view-controller resx

我一直在使用C#s(Visual Studios)资源机制,它运作良好.我需要能够使用资源,而不是使用CultureInfo作为决定者使用其他东西.这是我目前的设置工作正常,但我必须锻炼资源管理器使用.无论是布鲁塞尔还是巴黎.然后,资源管理器确定要在布鲁塞尔或巴黎使用哪个资源来调用.我想要的是两者的一个资源管理器,所以我不需要决定使用哪个资源管理器.部分问题是PublicResXFileCodeGenerator自定义工具为您生成代码(如果您使用标准方法,这是非常好的)

这是它目前的样子(这很好)

Brussels Resources

  • brussels.en-GB.resx
  • brussels.ja-JP.resx
  • brussels.fr-FR.resx
  • brussels.resx

巴黎

  • paris.en-GB.resx
  • paris.ja-JP.resx
  • paris.fr-FR.resx
  • paris.resx

我不想使用CultureInfo,而是指定我自己的resx标识符.有没有办法使用resx文件?

等等

布鲁塞尔和巴黎资源

  • MyResourceManager.brussels烯GB.resx
  • MyResourceManager.brussels-JA-JP.resx
  • MyResourceManager.brussels-FR-FR.resx
  • MyResourceManager.paris烯GB.resx
  • MyResourceManager.paris-JA-JP.resx
  • MyResourceManager.paris-FR-FR.resx
  • MyResourceManager.resx

编辑:我想如何使用它(或类似的东西)的一个例子

MyResourceManager.Header

代替

brussels.Header

paris.Header

可以在此处找到类似问题但通过Custom Cultures解决的示例. 如何基于某些参数加载不同的RESX文件 我不想这样做但是因为在不同的机器上安装文化不是一种选择.

Sha*_*rde 1

使用 CultureInfo 来确定要加载的资源集,它会更容易,因为它集成到 Thread.CurrentUICulture

如果您的区域性不是标准的开箱即用支持的区域性,请使用 CultureAndRegionInfoBuilder 构建您需要的任何其他区域性。请参阅http://msdn.microsoft.com/en-us/library/system.globalization.cultureandregioninfobuilder.aspx。StackOverflow 应该有足够多的使用此 API 的示例,即在 ASP.NET 中创建自定义区域性