2011-11-22 75 views
1

我有一个关于在mvc3应用程序中组织.resx文件的问题。到目前为止,我已设法做到以下几点:在mvc 3应用程序中组织.resx文件

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

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

但我想在我的类库中有这样的组织:

DefaultLanguage foder - Resources.resx

en文件夹 - Resources.en.resx

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

关键是我想有wheter它们在文件夹或没有组织资源的行为相同...

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

谢谢你的回答!

回答

2

MVC3使用ASP.NET资源管理。详情请参阅ASP.NET documentation。如果您想依赖ASP.NET行为并生成强类型类,则必须将资源文件与默认语言和其他语言特定的资源文件放在一起。

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

在我们的项目中,我们为每个视图都有一个资源(和他的翻译)。它们位于MVC3项目中的文件夹本地化中。在内部,我们保持与Views文件夹中相同的树结构。这或多或少与ASP.NET本地资源的组织方式相同。常见字符串保存在本地化文件夹根目录下的一个.resx文件中。这确保了可维护性。

为了让您的人员能够翻译开心,您必须选择好的.resx编辑工具。

+1

Tnx为答案。是的,我的资源结构也与Views相同。我只是想通过语言来分类这些观点。如果你有10个视图和3种语言,那么它是30个resx文件,如果他们都在一起的话。那好吧,然后实现自己的ResourceManager :) – TheMentor