Browse Source

LocalizableStringSerializer should support external localization resources.

pull/13845/head
Halil İbrahim Kalkan 4 years ago
parent
commit
6310b81c38
  1. 4
      framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ApplicationConfigurations/ObjectExtending/CachedObjectExtensionsDtoService.cs
  2. 2
      framework/src/Volo.Abp.Localization.Abstractions/Volo/Abp/Localization/LocalizableString.cs
  3. 7
      framework/src/Volo.Abp.Localization/Volo/Abp/Localization/LocalizableStringSerializer.cs

4
framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ApplicationConfigurations/ObjectExtending/CachedObjectExtensionsDtoService.cs

@ -204,9 +204,7 @@ public class CachedObjectExtensionsDtoService : ICachedObjectExtensionsDtoServic
{
return new LocalizableStringDto(
localizableStringInstance.Name,
localizableStringInstance.ResourceType != null
? LocalizationResourceNameAttribute.GetName(localizableStringInstance.ResourceType)
: null
localizableStringInstance.ResourceName
);
}

2
framework/src/Volo.Abp.Localization.Abstractions/Volo/Abp/Localization/LocalizableString.cs

@ -38,7 +38,7 @@ public class LocalizableString : ILocalizableString, IAsyncLocalizableString
var localizer = CreateStringLocalizerOrNull(stringLocalizerFactory);
if (localizer == null)
{
throw new AbpException($"Set {nameof(ResourceName)} or configure the default localization resource type (in the AbpLocalizationOptions)!");
return new LocalizedString(Name, Name, resourceNotFound: true);
}
var result = localizer[Name];

7
framework/src/Volo.Abp.Localization/Volo/Abp/Localization/LocalizableStringSerializer.cs

@ -17,7 +17,7 @@ public class LocalizableStringSerializer : ILocalizableStringSerializer, ITransi
{
if (localizableString is LocalizableString realLocalizableString)
{
return $"L:{LocalizationResourceNameAttribute.GetName(realLocalizableString.ResourceType)},{realLocalizableString.Name}";
return $"L:{realLocalizableString.ResourceName},{realLocalizableString.Name}";
}
if (localizableString is FixedLocalizableString fixedLocalizableString)
@ -56,11 +56,6 @@ public class LocalizableStringSerializer : ILocalizableStringSerializer, ITransi
throw new AbpException("Invalid LocalizableString value: " + value);
}
if (!LocalizationOptions.Resources.ContainsKey(resourceName))
{
resourceName = null;
}
return LocalizableString.Create(name, resourceName);
default:
return new FixedLocalizableString(value);

Loading…
Cancel
Save