diff --git a/src/BootstrapBlazor/Localization/Json/JsonStringLocalizerFactory.cs b/src/BootstrapBlazor/Localization/Json/JsonStringLocalizerFactory.cs
index 921971190f2cb005ae910ba023ed1fa58b8a608a..c0e020a76408c985e92944fe582ca8863c6f8523 100644
--- a/src/BootstrapBlazor/Localization/Json/JsonStringLocalizerFactory.cs
+++ b/src/BootstrapBlazor/Localization/Json/JsonStringLocalizerFactory.cs
@@ -87,6 +87,21 @@ internal class JsonStringLocalizerFactory : ResourceManagerStringLocalizerFactor
return base.GetResourcePrefix(typeInfo);
}
+ ///
+ /// GetResourcePrefix 方法
+ ///
+ ///
+ ///
+ ///
+ protected override string GetResourcePrefix(string baseResourceName, string baseNamespace)
+ {
+ // https://gitee.com/LongbowEnterprise/BootstrapBlazor/issues/I5SRA1
+ var resourcePrefix = base.GetResourcePrefix(baseResourceName, baseNamespace);
+ TypeName = $"{baseNamespace}.{baseResourceName}";
+
+ return resourcePrefix;
+ }
+
private IResourceNamesCache ResourceNamesCache { get; } = new ResourceNamesCache();
///
diff --git a/test/UnitTest/Localization/JsonStringLocalizerTest.cs b/test/UnitTest/Localization/JsonStringLocalizerTest.cs
index 9e3899dae509bd11cbf9867077b3c5a395b81906..d5526982f898efbe0a614a73227ab4736de1d0b5 100644
--- a/test/UnitTest/Localization/JsonStringLocalizerTest.cs
+++ b/test/UnitTest/Localization/JsonStringLocalizerTest.cs
@@ -212,6 +212,26 @@ public class JsonStringLocalizerTest : BootstrapBlazorTestBase
Assert.Equal("test-name", localizer["test-name"]);
}
+ [Fact]
+ public void GetResourcePrefix_Ok()
+ {
+ // https://gitee.com/LongbowEnterprise/BootstrapBlazor/issues/I5SRA1
+ var builder = new TestContext();
+ builder.Services.AddConfiguration();
+
+ // 注入其他 Localization
+ builder.Services.AddLocalization();
+
+ // 注入 Bootstrap Localization
+ builder.Services.AddBootstrapBlazor();
+
+ var fac = builder.Services.GetRequiredService();
+ var l = fac.Create("Lang", "UnitTest");
+ var result = l["test"];
+ Assert.True(result.ResourceNotFound);
+ Assert.Equal("test", result.Value);
+ }
+
private class MockTypeInfo : TypeDelegator
{
public override string? FullName => null;