Вот мой заказчик культуры запросов, который возвращает «en» в качестве культуры по умолчанию, если в URL-адресе не указана культура (например, http://sypalo.com/ru или http://sypalo.com/en). Моя идея показать сайт на том языке, который по умолчанию используется в браузере пользователя, поэтому я ищу способ определить его и вернуть его вместо: return Task.FromResult (new ProviderCultureResult («en», «en»)) ;Параметры локализации основного запроса ASP.NET
services.Configure<RequestLocalizationOptions>(options =>
{
var supportedCultures = new List<CultureInfo>
{
new CultureInfo("en"),
new CultureInfo("ru")
};
options.DefaultRequestCulture = new RequestCulture(culture: "en", uiCulture: "en");
options.SupportedCultures = supportedCultures;
options.SupportedUICultures = supportedCultures;
options.RequestCultureProviders.Insert(0, new CustomRequestCultureProvider(context =>
{
var pathSegments = context.Request.Path.Value.Split('/');
if (pathSegments.Count() > 0)
if (supportedCultures.Select(x => x.TwoLetterISOLanguageName).Contains((pathSegments[1])))
return Task.FromResult(new ProviderCultureResult(pathSegments[1], pathSegments[1]));
return Task.FromResult(new ProviderCultureResult("en", "en"));
}));
});
Большое спасибо Adem, это именно то, что я искал! –