Browse Source

Add `AbpEnumLocalizerExtensions`.

pull/15271/head
maliming 4 years ago
parent
commit
b9e531ed0c
No known key found for this signature in database GPG Key ID: A646B9CB645ECEA4
  1. 19
      framework/src/Volo.Abp.Localization/Volo/Abp/Localization/AbpEnumLocalizerExtensions.cs
  2. 20
      framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/AbpEnumLocalizer_Tests.cs

19
framework/src/Volo.Abp.Localization/Volo/Abp/Localization/AbpEnumLocalizerExtensions.cs

@ -0,0 +1,19 @@
using System;
using Microsoft.Extensions.Localization;
namespace Volo.Abp.Localization;
public static class AbpEnumLocalizerExtensions
{
public static string GetString<TEnum>(this IAbpEnumLocalizer abpEnumLocalizer, object enumValue)
where TEnum : Enum
{
return abpEnumLocalizer.GetString(typeof(TEnum), enumValue);
}
public static string GetString<TEnum>(this IAbpEnumLocalizer abpEnumLocalizer, object enumValue, IStringLocalizer[] specifyLocalizers)
where TEnum : Enum
{
return abpEnumLocalizer.GetString(typeof(TEnum), enumValue, specifyLocalizers);
}
}

20
framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/AbpEnumLocalizer_Tests.cs

@ -20,21 +20,21 @@ public class AbpEnumLocalizer_Tests : AbpIntegratedTest<AbpLocalizationTestModul
{
using (CultureHelper.Use("en"))
{
_enumLocalizer.GetString(typeof(BookType), BookType.Undefined).ShouldBe("Undefined");
_enumLocalizer.GetString(typeof(BookType), BookType.Adventure).ShouldBe("Adventure");
_enumLocalizer.GetString(typeof(BookType), 0).ShouldBe("Undefined with value 0");
_enumLocalizer.GetString(typeof(BookType), 1).ShouldBe("Adventure with value 1");
_enumLocalizer.GetString(typeof(BookType), BookType.Biography).ShouldBe("Biography");
_enumLocalizer.GetString<BookType>(BookType.Undefined).ShouldBe("Undefined");
_enumLocalizer.GetString<BookType>(BookType.Adventure).ShouldBe("Adventure");
_enumLocalizer.GetString<BookType>(0).ShouldBe("Undefined with value 0");
_enumLocalizer.GetString<BookType>(1).ShouldBe("Adventure with value 1");
_enumLocalizer.GetString<BookType>(BookType.Biography).ShouldBe("Biography");
var specifyLocalizer = new[]
{
GetRequiredService<IStringLocalizerFactory>().Create<LocalizationTestValidationResource>()
};
_enumLocalizer.GetString(typeof(BookType), BookType.Undefined, specifyLocalizer).ShouldBe("Undefined from ValidationResource");
_enumLocalizer.GetString(typeof(BookType), BookType.Adventure, specifyLocalizer).ShouldBe("Adventure from ValidationResource");
_enumLocalizer.GetString(typeof(BookType), 0, specifyLocalizer).ShouldBe("Undefined with value 0 from ValidationResource");
_enumLocalizer.GetString(typeof(BookType), 1, specifyLocalizer).ShouldBe("Adventure with value 1 from ValidationResource");
_enumLocalizer.GetString(typeof(BookType), BookType.Biography, specifyLocalizer).ShouldBe("Biography from ValidationResource");
_enumLocalizer.GetString<BookType>(BookType.Undefined, specifyLocalizer).ShouldBe("Undefined from ValidationResource");
_enumLocalizer.GetString<BookType>(BookType.Adventure, specifyLocalizer).ShouldBe("Adventure from ValidationResource");
_enumLocalizer.GetString<BookType>(0, specifyLocalizer).ShouldBe("Undefined with value 0 from ValidationResource");
_enumLocalizer.GetString<BookType>(1, specifyLocalizer).ShouldBe("Adventure with value 1 from ValidationResource");
_enumLocalizer.GetString<BookType>(BookType.Biography, specifyLocalizer).ShouldBe("Biography from ValidationResource");
}
}
}

Loading…
Cancel
Save