关于这个主题的文章很多,但我仍然在纠结。我有以下场景:
应用程序必须支持三种本地化(捷克语、波兰语、匈牙利语)。本地化仅与日期和数字格式有关,文本将仅为英文。我想从浏览器读取语言设置。
在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 属性
EDGE Date Picker 也显示 en-US (MM/dd/yyyy) 日期格式而不是 cs-CZ 日期格式 (dd.MM.yyyy)
我错过了什么?
补充问题: 由于应用程序在每个国家/地区的多个环境中运行,是否可以为整个应用程序设置语言(日期和数字格式)而忽略服务器/用户语言设置?