加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 是否有任何.NET标准用于处理本地化但允许用户自定义

发布时间:2020-12-16 09:38:28 所属栏目:asp.Net 来源:网络整理
导读:我们正在构建一个ASP.NET MVC应用程序,该应用程序无法通过大量数据注释DisplayAttribute进行本地化,其中包含硬编码字符串和遍及代码的硬编码消息字符串. 现在我们要求应用程序必须是可本地化的,但是,我们仍然需要允许用户自定义字段显示和文本. 到目前为止,
我们正在构建一个ASP.NET MVC应用程序,该应用程序无法通过大量数据注释DisplayAttribute进行本地化,其中包含硬编码字符串和遍及代码的硬编码消息字符串.

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

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

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

这有什么标准吗?

解决方法

使用静态值作为默认值并检查数据库是否为本地化值并不自然?对我来说这是一个很好的方法,因为如果有人会在数据库中混乱资源,例如,以某种方式删除其中一个,你将始终有一个默认文本显示.

您可以始终以不同的方式执行此操作,方法是仅使用基于数据库的文本,而无需更改代码中的默认值和数据库中的转换,因为当资源位于少数几个位置时很容易错过.当我在2年前检查nopCommerce的代码时,我已经看到当他们仅使用数据库中的资源进行本地化时.我不确定它现在是怎么做的,但你可以下载源代码并检查它.

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读