c# - 使用投影在 Automapper 配置文件中进行本地化
问题描述
我已经使用投影实现了 Automapper。我必须在我的个人资料中使用 IStringLocalizer 但我不能注入它。我尝试使用解析器(IMemberValueResolver),但这与投影不兼容。
你知道我该如何解决这个问题吗?
非常感谢。
路易斯
我尝试使用解析器,但它们与投影不兼容。我需要翻译 Mañana(明天)、Hoy(今天)等词。
这段代码现在正在使用,使用投影。但我想使用本地化。
public ProgrammeDetailEventProfile()
{
CreateMap<ProgrammeCheckupEvent, ProgrammeCheckupEventProgressDTO>()
.ForMember(dest => dest.Value, opt => opt.MapFrom(x => x.Value.Value))
.ForMember(dest => dest.Date, opt => opt.MapFrom(x =>
GetDate(x.Date, x.Meal)))
.ForMember(dest => dest.LastUpdate, opt => opt.MapFrom(x => x.LastUpdate.HasValue ? x.LastUpdate.Value.ToString("dd/MM/yyyy HH:mm") : " - "));
#endregion
}
public string GetDate(DateTime date, string meal)
{
DateTime today = DateTime.Today;
string detail = meal != null ? meal.ToLower() : date.ToShortTimeString();
if (today.AddDays(1) == date.Date)
{
return $"Mañana, {detail}";
}
else if (today == date.Date)
{
return $"Hoy, {detail}";
}
else if (today.AddDays(-1) == date.Date)
{
return $"Ayer, {detail}";
}
return $"{date.ToString("dd/MM/yyyy")}, {detail}";
}
我希望有这样的东西:
return string.Format(localizer["Today"], detail);
//Will show in English, "Today [...]"
//Will show in Spanish, "Hoy [...]"
解决方案
推荐阅读
- python - 如何添加自定义函数以在 Selenium ActionChain/ActionBuilder 中运行?
- eclipse - Eclipse GWT 无法在 GWT 类上单击“下一步”
- javascript - jQuery click 在那个循环中没有点击就会触发。控制台不打印内部循环数据
- tensorflow - 如何在 Conv2d 中指定依赖于样本的内核/过滤器?
- unity3d - 场景的 GameObjects 轻微出血问题
- python - 如何从python中的条件列表中选择一个随机单词
- node.js - Flutter JSON数据问题
- javascript - 使用 promise() 运行下一个函数不起作用 - PLAIN JAVASCRIPT
- python - Python 中的 scanf() 生产问题
- visual-studio - 在我所有的浏览器中 Windows 10 更新 2004 后奇怪的本地主机证书问题!我怎样才能解决这个问题?