我正在开发波兰操作系统:
在我的
Statup.cs
类中,我有以下代码
// Configure the localization options
var supportedCultures = new[]
{
new CultureInfo("en-GB")
};
app.UseRequestLocalization(
new RequestLocalizationOptions
{
DefaultRequestCulture = new RequestCulture("en-GB"),
SupportedCultures = supportedCultures,
SupportedUICultures = supportedCultures,
FallBackToParentCultures = true,
FallBackToParentUICultures = true,
RequestCultureProviders = null
});
完整选项仅供参考,以确保后面没有设置任何内容。在我的
_Layout.cshtml
中,我有以下代码:
<div>Current Culture: @CultureInfo.CurrentCulture.DisplayName</div>
<div>Current UI Culture: @CultureInfo.CurrentUICulture.DisplayName</div>
唯一支持和可用的文化应该是
en-GB
,但是在网站上它总是显示:
Current Culture: Polski (Polska)
Current UI Culture: Polski (Polska)
我尝试添加
Microsoft.AspNet.Localization
包,但没有什么区别。基于本地化中间件中的代码,一切都应该按预期工作。我正在运行最新版本的 ASP.NET Core 1.0.0。
有一件重要的事情在文档中没有提到。
UseRequestLocalization
必须放在UseMvc
之前,我的在下面。
还有一件重要的事情,文档中没有提到。 UseRequestLocalization 不会设置线程区域性,除非您指定区域性的两个部分 EG。仅发送“fr”不会导致设置线程区域性。您必须指定两者,例如“fr-FR”。