【问题标题】:Why we need SharedResources class while doing localization为什么我们在进行本地化时需要 SharedResources 类
【发布时间】:2019-07-08 05:12:24
【问题描述】:

我是 asp.net 核心本地化的新手,并尝试使用资源文件。有多种方法可以做到这一点,所以我从 IStringLocalizer 和 IHtmlLocalizer 开始。

我们可以在将 Localizer 注入视图时指定类型,并且大部分教程建议创建一个具有根命名空间的 Empty SharedResource 类文件。

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

@inject IHtmlLocalizer<SharedResources> Localizer


namespace Root.Namespace
{
    public class SharedResources
    {

    }
}

【问题讨论】:

    标签: c# asp.net-core


    【解决方案1】:

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

    还需要 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 以更好地理解它

    【讨论】:

      猜你喜欢
      • 2011-03-05
      • 2021-05-23
      • 1970-01-01
      • 2019-09-26
      • 2019-06-09
      • 1970-01-01
      • 2022-01-13
      • 2020-12-17
      • 2014-06-30
      相关资源
      最近更新 更多