gpt4 book ai didi

asp.net-mvc - ASP.NET MVC 数据库本地化

转载 作者:行者123 更新时间:2023-12-04 16:11:40 36 4
gpt4 key购买 nike

我正在开发一个多语言企业网站,我想将本地化存储在数据库中。

我已经阅读了以下非常好的文章,但我个人认为这是一个开销,我可以很容易地实现同样的目标:

Extending the ASP.NET 2.0 Resource-Provider Model

我已经建立了一些基础,但我不确定我的方法是否合适。基本上我已经创建了一个向 DI 注册的服务。

public interface ILocalizedStringProvider
{
string GetLocalizedString(string key);

string GetLocalizedString(string key, string deafultValue);
}

我也创建了一个像这样的 Html 助手
public static MvcHtmlString LocalizedString(this HtmlHelper helper, string key, string defaultValue)
{
if (string.IsNullOrEmpty(defaultValue)) return new MvcHtmlString("");
if (string.IsNullOrEmpty(key)) return new MvcHtmlString(defaultValue);

ILocalizedStringProvider localizedStringProvider = DependencyResolver.Current.GetService<ILocalizedStringProvider>();

if (localizedStringProvider == null)
{
return MvcHtmlString.Create(defaultValue);
}

string val = localizedStringProvider.GetLocalizedString(key, defaultValue);

if (string.IsNullOrEmpty(val))
{
return MvcHtmlString.Create(defaultValue);
}

return MvcHtmlString.Create(val);
}

然后从 View 中简单地调用助手。

首先,我想知道这种方法是否好,是否不是反模式。

其次,我担心的是这一行:
ILocalizedStringProvider localizedStringProvider = DependencyResolver.Current.GetService<ILocalizedStringProvider>();

使用构造函数注入(inject)解决 Controller 中的服务 ILocalizedStringProvider 并让 Controller 使用本地化填充 ViewBag 是否更好?

谢谢!

最佳答案

你可以使用我的 Griffin.MvcContrib 项目。它包含一个现成的 MS SqlServer 实现,用于在数据库中存储本地化。

简介:http://www.codeproject.com/Articles/352583/Localization-in-ASP-NET-MVC-with-Griffin-MvcContri

行政

还有一个管理区域,您可以使用它来管理本地化:

enter image description here

SQL Server 设置

https://github.com/jgauffin/griffin.mvccontrib/wiki/SqlServer

源码

该项目在 github 上可用:https://github.com/jgauffin/griffin.mvccontrib

关于asp.net-mvc - ASP.NET MVC 数据库本地化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13325438/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com