问题描述
在发布的here中,有一个问题询问如何在ASP NET核心应用程序中删除不活动的用户的最佳实现。伊恩·坎普(Ian Kemp)为此建议了后台服务,我真的很喜欢。
现在,我想知道如何将本地化程序实现为后台服务(我需要通知他们,很快他们的帐户将被删除)?我可以存储有关在用户浏览我的应用程序时正在使用的cultrue的信息。我看到了 IStringLocalizer
解决方法
如果您有语言代码,则可以设置CultureInfo.CurrentUICulture
通过stringLocalizer
获取本地化的字符串。
public class ResourceProvider
{
private readonly IStringLocalizer stringLocalizer;
public ResourceProvider(IStringLocalizerFactory localizerFactory)
{
stringLocalizer = localizerFactory.Create("ResourceStrings",System.Reflection.Assembly.GetExecutingAssembly().GetName().Name);
}
public string GetLocalizedString(string resourceKey,string languageCode)
{
CultureInfo.CurrentUICulture = new CultureInfo(languageCode);
var localizedString = stringLocalizer[resourceKey].Value;
return localizedString;
}
}