要在ASP.NET Core 3中实现本地化仅显示键,你可以按照以下步骤操作:
首先,确保你已经安装了Microsoft.Extensions.Localization
包。如果没有安装,可以通过NuGet包管理器或使用命令行运行Install-Package Microsoft.Extensions.Localization
来安装该包。
在Startup.cs
文件中的ConfigureServices
方法中注册本地化服务。这样可以确保在应用程序中使用本地化功能。
public void ConfigureServices(IServiceCollection services)
{
// ...
services.AddLocalization(options => options.ResourcesPath = "Resources");
// ...
}
创建一个Resources
文件夹,并在其中添加用于不同语言的资源文件。例如,创建一个名为SharedResource.resx
的资源文件来存储键值对。
在Startup.cs
文件中的Configure
方法中启用本地化中间件。这将使用请求的区域设置来确定要显示的本地化字符串。
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// ...
var supportedCultures = new[]
{
new CultureInfo("en-US"),
new CultureInfo("fr-FR"),
// Add more supported cultures here
};
app.UseRequestLocalization(new RequestLocalizationOptions
{
DefaultRequestCulture = new RequestCulture("en-US"),
SupportedCultures = supportedCultures,
SupportedUICultures = supportedCultures
});
// ...
}
IStringLocalizer
来访问本地化字符串。private readonly IStringLocalizer _localizer;
public HomeController(IStringLocalizer localizer)
{
_localizer = localizer;
}
public IActionResult Index()
{
// Get localized string using the key
var localizedString = _localizer["Hello"];
// ...
}
在这个示例中,SharedResource
是一个包含本地化字符串的资源文件类。你可以使用键值Hello
来获取相应的本地化字符串。
这就是在ASP.NET Core 3中实现本地化仅显示键的解决方法。在应用程序中使用上述步骤,你就可以根据请求的区域设置来显示本地化字符串的键。