如何更好地组织ASP.net MVC6应用程序中的resx文件

时间:2016-01-26 01:36:37

标签: asp.net-mvc localization resources asp.net-core

我已经能够成功运行asp.net mvc6本地化示例应用程序,但所有.resx文件都放在一个“resources”文件夹中。

如果您看一下这个sample application您会注意到所有资源都放在根目录文件夹中:“Resources”并在Startup.cs文件中引用它,如下所示:

 services
            .AddMvc()
            .AddViewLocalization(options => options.ResourcesPath = "Resources")
            .AddDataAnnotationsLocalization();

我正在处理的当前应用程序有多个区域,理想情况下我想更好地组织这些.resx文件。否则它会变得非常混乱。

这在MVC6中甚至可能吗?

2 个答案:

答案 0 :(得分:1)

您可以做的一件事是在资源路径文件夹中为每个区域创建单独的文件夹。在这些“区域文件夹”中,您可以创建多个特定的资源文件。

对我来说似乎很容易管理。

对于前。

资源

  • CatalogArea
    • ProductTranslations.resx
    • CategoryTranslations.resx
  • SupportArea
    • KnowledgeBaseTranslations.resx

答案 1 :(得分:1)

您可以在任何地方存储资源(而不仅仅是资源文件 - 例如我将我的翻译存储在json文件中)。 你只需要覆盖:

  • IStringLocalizer
  • IStringLocalizerFactory