在mvc 3应用程序中组织.resx文件

时间:2011-11-22 11:02:01

标签: asp.net-mvc-3 resources embedded-resource resx

我有一个关于在mvc3应用程序中组织.resx文件的问题。到目前为止,我已成功完成以下任务:

  • 在资源解决方案中创建新的类库,并为两种语言添加资源。例如:
  • ,一切正常

Resources.resx //默认语言 Resources.en.resx //英语语言

但我希望在我的班级图书馆中有这样的组织:

DefaultLanguage foder     - Resources.resx

en文件夹     - Resources.en.resx

我想按文件夹组织资源。我认为这对于翻译网站的人来说更合适,而且更易于维护。当我以这种方式组织资源时,网页返回错误...找不到错误。我错过了什么吗?我知道你不应该在命名空间中有文件夹名称,因为这意味着View中的引用资源依赖于文件夹名称,这是不正确的。

重点是我希望在文件夹中组织资源时具有相同的资源行为...

顺便说一句:我在网上查看,找不到合适的解决方案。

感谢您的回答!

1 个答案:

答案 0 :(得分:2)

MVC3使用ASP.NET资源管理。有关详细信息,请参阅ASP.NET documentation。如果要依赖ASP.NET行为并生成强类型类,则必须将资源文件与默认语言和其他语言特定资源文件保持在一起。

要使用与您建议的树结构相同的树结构,您必须实现自己的资源管理。您可能不希望这样做,因为(至少一些)资源编辑工具依赖于该行为。

在我们的项目中,我们为每个视图提供了一个资源(及其翻译)。它们位于MVC3项目中的文件夹本地化中。在内部,我们保持与Views文件夹中相同的树结构。这与ASP.NET本地资源的组织大致相同。常用字符串保存在Localization文件夹根目录下的一个.resx文件中。这确保了可维护性。

为了让你的翻译人员感到高兴,你必须选择好的.resx编辑工具。