我需要一个多语言的Web应用程序。 我在.net core 2.2中使用我的代码,一切都很好。 当我迁移到.net core 3时,我遇到了一些问题,其中之一是使用UseRequestLocalization。
我在startups.cs的Configure方法中使用此代码,并且在运行项目后,我看到一个空白页面。
var supportedCultures = new CultureInfo[] {
new CultureInfo ("en-US"),
new CultureInfo ("en"),
GetPersianCulture ("fa-IR"),
GetPersianCulture ("fa"),
};
app.UseRequestLocalization(new RequestLocalizationOptions
{
DefaultRequestCulture = new RequestCulture("fa"),
SupportedCultures = supportedCultures,
SupportedUICultures = supportedCultures,
});
答案 0 :(得分:1)
使用全球化asp.net core 3.1的问题,这就是我解决的方法
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
var supportedCultures = new string[] { "en-GB", "en-US" };
app.UseRequestLocalization(options =>
options
.AddSupportedCultures(supportedCultures)
.AddSupportedUICultures(supportedCultures)
.SetDefaultCulture("en-GB")
.RequestCultureProviders.Insert(0, new CustomRequestCultureProvider(context =>
{
return Task.FromResult(new ProviderCultureResult("en-GB"));
}))
);