diff --git a/src/Umbraco.Web/Models/Mapping/ContentMapperProfile.cs b/src/Umbraco.Web/Models/Mapping/ContentMapperProfile.cs index 652ac12014..9555cf2ef9 100644 --- a/src/Umbraco.Web/Models/Mapping/ContentMapperProfile.cs +++ b/src/Umbraco.Web/Models/Mapping/ContentMapperProfile.cs @@ -24,7 +24,8 @@ namespace Umbraco.Web.Models.Mapping IContentService contentService, IContentTypeService contentTypeService, IContentTypeBaseServiceProvider contentTypeBaseServiceProvider, - ILocalizationService localizationService) + ILocalizationService localizationService, + ILocalizedTextService localizedTextService) { // create, capture, cache var contentOwnerResolver = new OwnerResolver(userService); @@ -32,7 +33,7 @@ namespace Umbraco.Web.Models.Mapping var actionButtonsResolver = new ActionButtonsResolver(userService, contentService); var childOfListViewResolver = new ContentChildOfListViewResolver(contentService, contentTypeService); var contentTypeBasicResolver = new ContentTypeBasicResolver(contentTypeBaseServiceProvider); - var allowedTemplatesResolver = new AllowedTemplatesResolver(contentTypeService); + var allowedTemplatesResolver = new AllowedTemplatesResolver(contentTypeService, localizedTextService); var defaultTemplateResolver = new DefaultTemplateResolver(); var variantResolver = new ContentVariantResolver(localizationService); var schedPublishReleaseDateResolver = new ScheduledPublishDateResolver(ContentScheduleAction.Release); @@ -47,7 +48,7 @@ namespace Umbraco.Web.Models.Mapping .ForMember(dest => dest.ContentApps, opt => opt.MapFrom(contentAppResolver)) .ForMember(dest => dest.Icon, opt => opt.MapFrom(src => src.ContentType.Icon)) .ForMember(dest => dest.ContentTypeAlias, opt => opt.MapFrom(src => src.ContentType.Alias)) - .ForMember(dest => dest.ContentTypeName, opt => opt.MapFrom(src => src.ContentType.Name)) + .ForMember(dest => dest.ContentTypeName, opt => opt.MapFrom(src => localizedTextService.UmbracoDictionaryTranslate(src.ContentType.Name))) .ForMember(dest => dest.IsContainer, opt => opt.MapFrom(src => src.ContentType.IsContainer)) .ForMember(dest => dest.IsElement, opt => opt.MapFrom(src => src.ContentType.IsElement)) .ForMember(dest => dest.IsBlueprint, opt => opt.MapFrom(src => src.Blueprint)) @@ -146,10 +147,12 @@ namespace Umbraco.Web.Models.Mapping private class AllowedTemplatesResolver : IValueResolver> { private readonly IContentTypeService _contentTypeService; + private readonly ILocalizedTextService _localizedTextService; - public AllowedTemplatesResolver(IContentTypeService contentTypeService) + public AllowedTemplatesResolver(IContentTypeService contentTypeService, ILocalizedTextService localizedTextService) { _contentTypeService = contentTypeService; + _localizedTextService = localizedTextService; } public IDictionary Resolve(IContent source, ContentItemDisplay destination, IDictionary destMember, ResolutionContext context) @@ -158,7 +161,7 @@ namespace Umbraco.Web.Models.Mapping return contentType.AllowedTemplates .Where(t => t.Alias.IsNullOrWhiteSpace() == false && t.Name.IsNullOrWhiteSpace() == false) - .ToDictionary(t => t.Alias, t => t.Name); + .ToDictionary(t => t.Alias, t => _localizedTextService.UmbracoDictionaryTranslate(t.Name)); } } }