在当今全球化应用开发中,ASP.NET Core本地化 是一个不可或缺的功能。它允许你的 Web 应用根据用户的语言偏好动态显示不同语言的内容。本教程将从零开始,一步步带你配置和使用 请求本地化 功能,即使你是编程小白也能轻松上手!
请求本地化是指在每次 HTTP 请求到达时,系统根据用户浏览器设置、URL 参数或 Cookie 等信息自动确定应使用的语言文化(如 zh-CN、en-US),并据此加载对应的资源文件(如 .resx 文件),从而实现多语言支持。
首先,确保你已安装 .NET SDK。打开终端,运行以下命令创建一个新项目:
dotnet new webapp -n LocalizationDemo 打开 Program.cs 文件(如果你使用的是 .NET 6+),添加本地化相关服务:
using Microsoft.AspNetCore.Localization;using System.Globalization;var builder = WebApplication.CreateBuilder(args);// 添加本地化服务builder.Services.AddLocalization(options => options.ResourcesPath = "Resources");// 配置支持的语言var supportedCultures = new[] { "zh-CN", "en-US" };var localizationOptions = new RequestLocalizationOptions() .SetDefaultCulture(supportedCultures[0]) .AddSupportedCultures(supportedCultures) .AddSupportedUICultures(supportedCultures);builder.Services.Configure<RequestLocalizationOptions>(options =>{ options.DefaultRequestCulture = new Microsoft.AspNetCore.Localization.RequestCulture("zh-CN"); options.SupportedCultures = supportedCultures.Select(c => new CultureInfo(c)).ToList(); options.SupportedUICultures = supportedCultures.Select(c => new CultureInfo(c)).ToList();});var app = builder.Build();// 启用请求本地化中间件app.UseRequestLocalization(localizationOptions);app.MapRazorPages();app.Run(); 这段代码做了三件事:
Resources 文件夹。RequestLocalizationMiddleware 中间件,在每次请求时自动识别用户语言。在项目根目录下创建 Resources 文件夹,然后添加以下两个资源文件:
SharedResource.zh-CN.resx(中文资源)SharedResource.en-US.resx(英文资源)每个文件中添加相同的键,例如 WelcomeMessage,但值不同:
打开 Pages/Index.cshtml,注入本地化服务并使用:
@using Microsoft.Extensions.Localization@inject IStringLocalizer<SharedResource> Localizer<h2>@Localizer["WelcomeMessage"]</h2> 现在,当你访问首页时,系统会根据浏览器语言自动显示对应语言的欢迎语。
你可以通过 URL 查询字符串强制切换语言,例如:
https://localhost:5001/?culture=zh-CNhttps://localhost:5001/?culture=en-US这得益于 ASP.NET Core 内置的 QueryStringRequestCultureProvider 提供器。
通过以上步骤,你已经成功实现了 .NET Core国际化 和 多语言支持。ASP.NET Core 的本地化机制灵活且强大,适用于各种复杂场景。无论是企业级应用还是个人项目,掌握这项技能都将大大提升你的开发能力。
记住,良好的本地化体验不仅能提升用户满意度,还能帮助你的产品走向全球市场。赶快动手试试吧!
本文由主机测评网于2025-12-12发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025126568.html