ASP.NET Core MVC - 本地化、全球化 - 表单输入

问题描述 投票:0回答:0

关于这个主题的文章很多,但我仍然在纠结。我有以下场景:

应用程序必须支持三种本地化(捷克语、波兰语、匈牙利语)。本地化仅与日期和数字格式有关,文本将仅为英文。我想从浏览器读取语言设置。

program.cs我有以下代码

app.UseHttpsRedirection();

var supportedCultures = new[]
{
   new CultureInfo("cs-CZ"),
   new CultureInfo("pl-PL"),
   new CultureInfo("hu-HU"),
   new CultureInfo("en-US"),
};

app.UseRequestLocalization(new RequestLocalizationOptions
{
   DefaultRequestCulture = new RequestCulture("cs-CZ"),
   SupportedCultures = supportedCultures,
   RequestCultureProviders = new List<IRequestCultureProvider>
   {
      new AcceptLanguageHeaderRequestCultureProvider()
   }
});

app.UseStaticFiles();

在 Edge 浏览器中我选择了捷克语 (edge://settings/languages)

HTTP 请求包含正确的Request Header Accept Language 属性

但是后台还有Cultureen-US

EDGE Date Picker 也显示 en-US (MM/dd/yyyy) 日期格式而不是 cs-CZ 日期格式 (dd.MM.yyyy)

我错过了什么?

补充问题: 由于应用程序在每个国家/地区的多个环境中运行,是否可以为整个应用程序设置语言(日期和数字格式)而忽略服务器/用户语言设置?

asp.net-core-mvc .net-6.0 cultureinfo asp.net-core-localization
© www.soinside.com 2019 - 2024. All rights reserved.