You set "Arabic" as DefaultRequestCulture, but it is DefaultRequestCultureused if none of the built-in providers can define the request culture. Default Providers:
QueryStringRequestCultureProviderCookieRequestCultureProviderAcceptLanguageHeaderRequestCultureProvider
Most likely, the culture is determined from the Accept-Language HTTP header that the browser sends.
AcceptLanguageHeaderRequestCultureProvider, DefaultRequestCulture. RequestCultureProviders RequestLocalizationOptions . Startup.cs:
public void ConfigureServices(IServiceCollection services)
{
CultureInfo[] supportedCultures = new[]
{
new CultureInfo("ar"),
new CultureInfo("en")
};
services.Configure<RequestLocalizationOptions>(options =>
{
options.DefaultRequestCulture = new RequestCulture("ar");
options.SupportedCultures = supportedCultures;
options.SupportedUICultures = supportedCultures;
options.RequestCultureProviders = new List<IRequestCultureProvider>
{
new QueryStringRequestCultureProvider(),
new CookieRequestCultureProvider()
};
});
}
Configure app.UseRequestLocalization(); app.UseMvc();