Я хочу разрешить в своем приложении все языки и региональные параметры.
Как вы можете видеть ниже, я разрешаю использовать несколько языковых языков. И у меня есть собственный поставщик, который будет получать информацию о культуре пользователя. Если его культура отсутствует в SupportedCultures, это означает, что я не могу справиться с его культурой (даже если смогу). Перед назначением SupportedCultures я не могу знать, какие культуры будут поддерживаться.
Например. GetTheUserCulture() возвращает «де». Когда я позже попытаюсь использовать культуру, она вернется к языку по умолчанию (в данном случае «en»). Или я хочу, чтобы это было «де».
Есть ли способ разрешить все культуры?
const string defaultCulture = "en";
services.Configure(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());
}));
});
Подробнее здесь: https://stackoverflow.com/questions/600 ... l-cultures