我正在尝试使用两种不同的方式在我的asp.net核心中集成全球化。
第一个,是经典的,我在每个视图的相应文件夹下都有我的resx文件,并且它正在工作。
第二个是共享方法,要使基于resx的文件不重写每个视图中的每个翻译。
我的问题是我无法同时使用这两者。
这是我在startup.cs中的配置:
// This method gets called by the runtime.
// Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
// Add framework services.
services.AddMvc()
.AddViewLocalization(
opts => { opts.ResourcesPath = "Resources"; }
)
.AddDataAnnotationsLocalization();
}
如果我删除了ressources路径,那么sharedRessources工作但不是基本路径。
// This method gets called by the runtime.
// Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
// Add framework services.
services.AddMvc()
.AddViewLocalization()
.AddDataAnnotationsLocalization();
}
这是我的索引
的视图实现@using Microsoft.AspNetCore.Mvc.Localization
@using Delphi.LicenseRenewal.WebApp.Resources
@inject IViewLocalizer Localizer
@inject IHtmlLocalizer<SharedResource> SharedLocalizer
<h1 class="title-color">@SharedLocalizer["Title"]</h1>
<h3 class="title-color">@Localizer["SubTitle"]</h3>
如果需要,我也会添加我的项目结构: