【问题标题】:Organizing .resx files in mvc 3 application在 mvc 3 应用程序中组织 .resx 文件
【发布时间】:2012-01-03 18:33:25
【问题描述】:

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

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

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

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

DefaultLanguage 目录 - 资源.resx

zh 文件夹 - Resources.en.resx

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

关键是我希望资源具有相同的行为,无论它们是否组织在文件夹中......

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

感谢您的回答!

【问题讨论】:

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


    【解决方案1】:

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

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

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

    为了让您的翻译人员满意,您必须选择好的 .resx 编辑工具。

    【讨论】:

    • Tnx 的答案。是的,我的资源结构也与 Views 相同。我只是想按语言对这些观点进行分类。因为如果你有 10 个视图和三种语言,那么如果它们都在一起,那就是 30 个 resx 文件。那样更好,然后实现自己的 ResourceManager :)
    猜你喜欢
    • 1970-01-01
    • 2015-05-18
    • 1970-01-01
    • 2021-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-21
    相关资源
    最近更新 更多