在Asp.Net Core中启用基于客户端的文化

时间:2016-04-13 07:05:24

标签: asp.net-mvc localization asp.net-core asp.net-core-mvc

默认情况下,在MVC 6中,CultureInfo.CurrentCulture是Windows使用的,而不是浏览器。

在MVC 5中,我可以将其放在web.config

<globalization culture="auto" uiCulture="auto"/>

这将使CultureInfo.CurrentCulture与浏览器(Accept-Language标题)指定的相同。

默认情况下,有没有办法配置MVC 6应用程序以使用浏览器文化?

1 个答案:

答案 0 :(得分:3)

您需要安装Microsoft.AspNet.Localization NuGet包并将以下内容添加到Startup.cs

public void Configure(IApplicationBuilder app)
{
    app.UseRequestLocalization();
    app.UseMvc();
}

默认情况下,它会将AcceptLanguageHeaderRequestCultureProvider注册为文化提供者,这应该等同于旧版enableClientBasedCulture设置。

<强>更新

根据您的评论,由于您使用的是RC1版本,因此必须为该方法提供默认文化。例如:

app.UseRequestLocalization(new RequestCulture("en"));