管理本地化密钥ASP.NET MVC C#

时间:2013-12-20 10:47:59

标签: c# asp.net-mvc database localization

我们有一个大型的本地化ASP.NET MVC 4站点,我们正在努力管理资源键。我们目前所拥有的是一系列包含常量值的部分静态类,如下所示:

public static partial class Resources
{    
  public static class News
  {
    public static class Shared
    {
      public const string Title = "News_Shared_Title";
    }
  }
}

这允许我们例如调用以下内容:

<%: Html.Resource(Resources.News.Shared.Title) %>

在将关键字“News_Shared_Title”传递给我们的数据库资源实现的视图上。

这样做的问题是它减慢了必须停止和管理静态类的开发速度,而例如只需输入就会快得多:

<%: Html.Resource("News_Shared_Title") %>

这种方法的问题在于它更难管理,可能出现错别字,我们也失去了使用反射从静态资源类中获取所有键值并查看数据库中缺少哪些键值的应用程序的能力

我的问题是其他人如何管理他们的资源键,是否有更好的方法?如果我们在views / controllers / etc上使用字符串。我们如何获取应用程序中的所有密钥并查看数据库中缺少哪些密钥?

1 个答案:

答案 0 :(得分:0)

为什么不使用Resources文件? (resx)不应该更好吗?

仅使用resx文件在解决方案中创建一个新项目,然后将其添加为主项目中的参考。然后使用资源项目的自定义命名空间在主项目中更具可读性。

编辑:

如果您的CurrentCulture设置正确,它会非常强大,具体取决于资源文件的名称,它会自动选择正确的resx文件。更多信息:http://msdn.microsoft.com/en-us/library/ms247246(v=vs.100).aspx

不知道它是否回答了你的问题:)