Browse Source

Added extension method: CreateByResourceName

pull/13845/head
Halil İbrahim Kalkan 4 years ago
parent
commit
6756fdd9ad
  1. 17
      framework/src/Volo.Abp.Localization.Abstractions/Microsoft/Extensions/Localization/AbpStringLocalizerFactoryExtensions.cs
  2. 9
      framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/AbpStringLocalizerFactory_Tests.cs

17
framework/src/Volo.Abp.Localization.Abstractions/Microsoft/Extensions/Localization/AbpStringLocalizerFactoryExtensions.cs

@ -1,4 +1,6 @@
namespace Microsoft.Extensions.Localization;
using Volo.Abp;
namespace Microsoft.Extensions.Localization;
public static class AbpStringLocalizerFactoryExtensions
{
@ -15,4 +17,17 @@ public static class AbpStringLocalizerFactoryExtensions
return (localizerFactory as IAbpStringLocalizerFactory)
?.CreateByResourceNameOrNull(resourceName);
}
public static IStringLocalizer CreateByResourceName(
this IStringLocalizerFactory localizerFactory,
string resourceName)
{
var localizer = localizerFactory.CreateByResourceNameOrNull(resourceName);
if (localizer == null)
{
throw new AbpException("Couldn't find a localizer with given resource name: " + resourceName);
}
return localizer;
}
}

9
framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/AbpStringLocalizerFactory_Tests.cs

@ -31,4 +31,13 @@ public class AbpStringLocalizerFactory_Tests : AbpIntegratedTest<AbpLocalization
localizer["CarPlural"].Value.ShouldBe("Cars");
}
}
[Fact]
public void Should_Throw_Exception_For_Unknown_Resource_Names()
{
Assert.Throws<AbpException>(
() => _factory.CreateByResourceName("UnknownResourceName")
);
}
}
Loading…
Cancel
Save