Hier ist mein benutzerdefinierter Anforderungskulturanbieter, der "en" als Standardkultur zurückgibt, wenn in url keine Kultur angegeben ist (z. B. http://sypalo.com/ru oder http://sypalo.com/en). Meine Idee, Website auf dieser Sprache zu zeigen, die im Browser des Benutzers standardmäßig ist, so suche ich einen Weg, wie man es bestimmen und es zurückgeben kann: return Task.FromResult (new ProviderCultureResult ("en", "en")) ;ASP.NET Core Request-Lokalisierungsoptionen
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"));
}));
});
Vielen Dank Adem, das ist genau das, was ich gesucht habe! –