From 741b7f13904757214fd490f23d3e870d482884a1 Mon Sep 17 00:00:00 2001 From: Mladen Macanovic Date: Fri, 20 Nov 2020 10:35:10 +0100 Subject: [PATCH] Fixed fallback logic for blazor attribute localization --- .../AbpBlazorMessageLocalizerHelper.cs | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/Volo/Abp/AspNetCore/Components/WebAssembly/AbpBlazorMessageLocalizerHelper.cs b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/Volo/Abp/AspNetCore/Components/WebAssembly/AbpBlazorMessageLocalizerHelper.cs index e47e7f611c..ff740be2e4 100644 --- a/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/Volo/Abp/AspNetCore/Components/WebAssembly/AbpBlazorMessageLocalizerHelper.cs +++ b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/Volo/Abp/AspNetCore/Components/WebAssembly/AbpBlazorMessageLocalizerHelper.cs @@ -32,9 +32,20 @@ namespace Volo.Abp.AspNetCore.Components.WebAssembly { foreach (var argument in arguments) { - yield return stringLocalizer[$"DisplayName:{argument}"] - ?? stringLocalizer[argument] - ?? argument; + // first try to localize with "DisplayName:{Name}" + string localization = stringLocalizer[$"DisplayName:{argument}"]; + + if (!string.IsNullOrEmpty(localization) && !localization.StartsWith("DisplayName:")) + yield return localization; + + // then try to localize with just "{Name}" + localization = stringLocalizer[argument]; + + if (!string.IsNullOrEmpty(localization) && localization != argument) + yield return localization; + + // no localization found so just return what we got + yield return argument; } } }