【问题标题】:Is there any .NET standard for dealing with localization yet allowing the users to customize the texts?是否有任何 .NET 标准来处理本地化但允许用户自定义文本?
【发布时间】:2013-02-04 11:55:33
【问题描述】:

我们正在构建一个尚未本地化的 ASP.NET MVC 应用程序,其中包含大量数据注释DisplayAttribute,代码中包含硬编码字符串和硬编码消息字符串。

现在我们要求应用程序必须是可本地化的,但我们仍然需要允许用户自定义字段显示和文本。

到目前为止,我正在考虑将RESX 文件与自定义IResourceProvider 一起使用。 Rick Strahl 写了一个good article about that。在这种方法中,应用程序是使用标准的RESX 文件开发的,但在运行时,当应用程序需要字符串时,自定义提供程序将查询数据库以查找自定义项,并在找到时使用它们。

尽管这似乎是一个很好的解决方案,但它似乎并不自然。我想知道是否有更好的选择。

这有什么标准吗?

【问题讨论】:

    标签: asp.net localization resx


    【解决方案1】:

    使用静态值作为默认值并检查数据库的本地化值有什么不自然的?对我来说,这是一个不错的方法,因为如果有人会弄乱 db 中的资源,例如,以某种方式删除其中一个资源,那么您将始终显示默认文本。

    你总是可以用不同的方式来做,只使用基于 db 的文本,而不用担心更改代码中的默认值和数据库中的翻译,因为当资源很少的地方很容易错过一些东西。大约 2 年前,当我检查 nopCommerce 的代码时,我看到他们仅使用数据库中的资源进行本地化。我不知道现在是怎么做的,但是你可以下载源代码并检查一下。

    在一年前开发的 WinForms 应用程序中,我使用不同语言的 XML 文件,因为我们的客户希望能够允许非技术人员创建新的语言文件。我在应用程序中创建了本地化工具,但对于网站,最好使用数据库,因为您已经可以访问它并且可以轻松地操作数据。

    您可以在this blog post 中阅读有关此主题的更多信息。

    【讨论】:

      猜你喜欢
      • 2011-06-27
      • 2016-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多