gpt4 book ai didi

c# - 为什么我们在进行本地化时需要 SharedResources 类

转载 作者:行者123 更新时间:2023-11-30 12:54:25 25 4
gpt4 key购买 nike

我是 asp.net core 本地化的新手,正在尝试使用资源文件。有多种方法可以实现,所以我从 IStringLocalizer 和 IHtmlLocalizer 开始。

我们可以在将 Localizer 注入(inject) View 时指定类型,大部分教程建议创建一个带有根命名空间的空 SharedResource 类文件。

我试图找到它背后的原因,但没有找到,谁能帮我解决一下 SharedResource 类为空的原因?

@inject IHtmlLocalizer<SharedResources> Localizer


namespace Root.Namespace
{
public class SharedResources
{

}
}

最佳答案

空的 SharedResource 类用于像这样在 Visual Studio 中对资源文件进行分组

enter image description here

enter image description here

还需要 IStringLocalizeFactory

        services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2)
.AddDataAnnotationsLocalization(options =>
{
options.DataAnnotationLocalizerProvider = (type, factory) =>
{
var assemblyName = new AssemblyName(typeof(SharedResource).GetTypeInfo().Assembly.FullName);
return factory.Create("SharedResource", assemblyName.Name);
};
});

您可以阅读我的博客和源代码here更好地理解它

关于c# - 为什么我们在进行本地化时需要 SharedResources 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56928739/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com