我有一个使用资源本地化的ASP.NET Core MVC应用程序.它目前只支持一种文化(fa-IR),我希望根据这种文化处理所有本地化.在ASP.NET Core 1.1中我没有任何问题,但在从ASP.NET Core 1.1迁移到2.1后,我看到每个HTTP请求的此警告:
AcceptLanguageHeaderRequestCultureProvider返回以下不受支持的文化'en-US,en,fa'.
这是我的初创公司:
public class Startup
{
protected CultureInfo DefaultCultureInfo { get; private set; } = new CultureInfo("fa-IR");
public void ConfigureServices(IServiceCollection services)
{
CultureInfo.DefaultThreadCurrentCulture = DefaultCultureInfo;
CultureInfo.DefaultThreadCurrentUICulture = DefaultCultureInfo;
services.AddLocalization(options => { options.ResourcesPath = "Resources"; });
services.AddMemoryCache();
services.AddSession();
services.AddMvc()
.AddDataAnnotationsLocalization()
.AddViewLocalization()
.AddControllersAsServices()
.SetCompatibilityVersion(CompatibilityVersion.Version_2_1)
.AddSessionStateTempDataProvider();
services.Configure<RequestLocalizationOptions>(options =>
{
var supportedCultures = new[] { new CultureInfo("fa-IR"), new CultureInfo("en-US") };
options.DefaultRequestCulture = new RequestCulture("fa-IR", "fa-IR");
options.SupportedCultures = supportedCultures;
options.SupportedUICultures = supportedCultures;
options.RequestCultureProviders.Insert(0, new CustomRequestCultureProvider(async context =>
{ …Run Code Online (Sandbox Code Playgroud)