Я хочу разрешить все культуры в моем приложении. Как вы можете видеть ниже, я допускаю несколько культур. И у меня есть специальный провайдер, который получит культуру пользователя. Если его культура отсутствует в SupportedCultures, значит, я не справлюсь с его культурой (даже если смогу). Я не могу знать перед назначением SupportedCultures, какие культуры будут поддерживаться.
Например, GetTheUserCulture () возвращает "de". Когда я попытаюсь позже получить культуру, она переключится на язык по умолчанию (в данном случае «en»). Или я хочу, чтобы это было "де".
Есть ли способ Разрешить все культуры?
const string defaultCulture = "en";
services.Configure<RequestLocalizationOptions>(options =>
{
var supportedCultures = new[]
{
new CultureInfo(defaultCulture),
new CultureInfo("fr-FR"),
new CultureInfo("fr"),
new CultureInfo("es"),
new CultureInfo("ru"),
new CultureInfo("ja"),
new CultureInfo("ar"),
new CultureInfo("zh"),
new CultureInfo("en-GB"),
new CultureInfo("en-UK")
};
options.DefaultRequestCulture = new RequestCulture(defaultCulture);
options.SupportedCultures = supportedCultures;
options.SupportedUICultures = supportedCultures;
options.RequestCultureProviders.Insert(0, new CustomRequestCultureProvider(async context =>
{
return new ProviderCultureResult(GetTheUserCulture());
}));
});