- 在 Startup.cs 文件中添加以下代码:
using Microsoft.AspNetCore.Localization;
using System.Globalization;
public void ConfigureServices(IServiceCollection services)
{
// 设置默认的语言/文化选项
services.Configure(options =>
{
options.DefaultRequestCulture = new RequestCulture("zh-CN");
});
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// 启用本地化
var supportedCultures = new[]
{
new CultureInfo("en-US"),
new CultureInfo("zh-CN"),
};
app.UseRequestLocalization(new RequestLocalizationOptions
{
DefaultRequestCulture = new RequestCulture("zh-CN"),
SupportedCultures = supportedCultures,
SupportedUICultures = supportedCultures
});
}
- 在 View 文件中使用以下代码来更改所使用的语言/区域设置:
- 在 Controller 中添加以下代码:
public IActionResult SetLanguage(string culture, string returnUrl)
{
// 将语言/文化选项存储在 Cookie 中
Response.Cookies.Append(
CookieRequestCultureProvider.DefaultCookieName,
CookieRequestCultureProvider.MakeCookieValue(new RequestCulture(culture)),
new CookieOptions { Expires = DateTimeOffset.UtcNow.AddDays(30) });
// 重定向回之前的页面
return LocalRedirect(returnUrl);
}