DisplayName版可本地化吗?如果不是,那么代码中使其可本地化的最佳实践是什么?
我希望能够在不使用多种语言重新部署应用程序的情况下更改DisplayName版。
我使用的是ASP.Net核心/角度版本-- ASP.Net Zero。
发布于 2018-06-26 21:17:41
您可以将您的ILocalizableString
映射到string
,自动映射程序将对其进行转换。您可以创建可本地化字符串,如下所示:
new LocalizableString(edition.Name, "localizationFileName");
如果您想更好地了解automapper做了什么,可以在CreateCoreMappings方法AbpAutoMapperModule.cs中找到它。
编辑:也许您可以像这样配置您的特定映射:
public override void PreInitialize()
{
Configuration.Modules.AbpAutoMapper().Configurators.Add(CreateMappings);
}
private void CreateCoreMappings(IMapperConfigurationExpression configuration)
{
var localizationContext = IocManager.Resolve<ILocalizationContext>();
configuration.CreateMap<Edition, EditionDto>().ForMember(dest => dest.DisplayName, options => options.MapFrom(src => localizationContext.LocalizationManager.GetString("localizationFileName", src.DisplayName)))
}
https://stackoverflow.com/questions/51043756
复制相似问题