Here is my custom request culture provider which returns \"en\" as a default culture if no culture specified in url (for example http://sypalo.com/ru or http://sypalo.com/en). M
as an additional option, Here is a full solution: Handle culture in route (URL) via RequestCultureProviders
as an option as well, here is a simplified code for CustomRequestCultureProvider:
options.RequestCultureProviders.Insert(0, new CustomRequestCultureProvider(context =>
{
var lang = context.Request.GetTypedHeaders().AcceptLanguage.FirstOrDefault()?.Value.Value ?? Constants.Languages.EN_US;
return Task.FromResult(new ProviderCultureResult(lang, lang));
}));