asp.net-mvc - 对ASP.NET MVC应用程序使用.resx本地化有什么优势?

标签 asp.net-mvc localization resx

这个站点上有许多问题与ASP.NET MVC应用程序中的how to access RESX文件以及使用它们的best practices有关。

但是,在阅读(我可能会第一次添加)MSDN article on resources之后,我想知道使用RESX文件是否还有任何优势,因为我将不使用服务器控件。关于“隐式”和“显式”本地化的所有讨论,但我不会从MVC中受益。

最终,我的应用程序将需要用于按钮和菜单项的字符串资源,以及用于更长的其他内容的更长的HTML项。我想对较长的项目使用CMS,因为我确定我不想将它们粘贴到RESX文件中。

是否有任何令人信服的理由在新的应用程序中使用或不使用ASP.NET资源。我将假设将来的任何MVC增强功能或RESX增强功能都可以协同工作,但就目前而言,据我所知,我只是获得了荣耀的IDictionary。

我应该继续使用RESX还是在其他地方查看?我是否应该考虑针对RESX设计用于哪种资源的CMS?

任何经验教训,将不胜感激。

最佳答案

RESX基础结构有几个优点:

  • 您不必加载适当的每种语言的资源。一旦建立了线程的语言环境,CLr便会寻找合适的程序集并加载资源。
  • 可以轻松地将特定于语言环境的资源移交给第三方。
  • 对于非本地化资源有默认的回退机制。

  • RESX方法还有一个特别的缺点:
  • 很难支持用户在其中为您翻译资源的翻译模型。

  • 我想详细说明最后一点。以Facebook翻译模型为例。 Facebook为人们提供各种资源的翻译并对其进行投票的相当简单的方法。如果将它们存储在数据库中,则可以在适当的编辑过程之后使用它们,而无需重新构建和重新部署应用程序。使用RESX模型,必须重新构建和重新部署资源程序集,这可能会具有足够高的成本,具体取决于部署过程。

    因此,在决定使用哪种本地化过程之前,我将看一下谁将进行本地化的决定以及在已经部署了主应用程序之后本地化资源的部署过程将是什么。

    编辑:我忘记提及这些注意事项与ASP.NET框架选择(MVC或WebForms)正交。

    关于asp.net-mvc - 对ASP.NET MVC应用程序使用.resx本地化有什么优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/609324/

    相关文章:

    cocoa - Cocoa 中的本地化

    所有国家/语言的 ios 本地化?

    java - 我使用 SImpleDateFormat 面临法语语言环境的 ParseException

    c# - 如何在resx文件中写入换行符\n?

    .net - MemoryStream 而不是 byte[] 作为资源添加的文件?

    asp.net-mvc - 将额外数据传递给 EditorTemplate

    c# - 保护 web.config 设置

    c# - OWIN MVC - 多个 LoginProvider,当前 LoginProvider

    asp.net-mvc - 您可以从其项目文件夹运行 ASP.NET MVC 应用程序吗?

    c# - 使用客户端自定义资源 (resx) 以及默认资源