如何在 ASP .Net Core 3 中使用 UseRequestLocalization?

Bah*_*iei 7 localization .net-core .net-core-3.0

我需要一个多语言的网络应用程序。我在 .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,        
});
Run Code Online (Sandbox Code Playgroud)

dnx*_*xit 3

全球化 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"));
                }))
        );
Run Code Online (Sandbox Code Playgroud)