C# 在Razor页面中指定ASP.NET Core 2本地化程序的语言

C# 在Razor页面中指定ASP.NET Core 2本地化程序的语言,c#,asp.net-core,asp.net-core-mvc,C#,Asp.net Core,Asp.net Core Mvc,我正在开发一个ASP Net Core 2应用程序,它使用Microsoft.Extensions.Localization.IStringLocalizer和Microsoft.AspNetCore.Mvc.Localization提供三种语言的内容。资源文件(例如Controllers.HomeController.fr.resx和Controllers.HomeController.nl.resx工作正常,以下是典型的Razor页面视图: @using Microsoft.Extensio

我正在开发一个ASP Net Core 2应用程序,它使用
Microsoft.Extensions.Localization.IStringLocalizer
Microsoft.AspNetCore.Mvc.Localization
提供三种语言的内容。资源文件(例如
Controllers.HomeController.fr.resx
Controllers.HomeController.nl.resx
工作正常,以下是典型的Razor页面视图:

@using Microsoft.Extensions.Localization
@using Microsoft.AspNetCore.Mvc.Localization
@using System.Globalization;

@inject IStringLocalizer<HomeController> Localizer
@inject IHtmlLocalizer<HomeController> HtmlLocalizer
...
<span style="font-weight: bold">@Localizer["My string 1"]</span>
...
<li>@HtmlLocalizer["My string 2 <span style=\"font-weight: bold;\">with bold</span>."]</li>
但是我认为这是不存在的(试过了)。也就是说,在特定于字符串的基础上设置语言/区域性

然而,从VisualStudio中的提示(请参见屏幕截图)来看,
参数可能允许我设置语言,除了一般的本地化教程(例如)之外,我找不到更多的文档

我能找到的最接近的参数是,但我仍然看不到
params object[]参数的详细信息


提前感谢您的建议!

IHtmlLocalizer
包含方法
WithCulture
,该方法创建具有指定区域性的本地化程序

@inject IHtmlLocalizer<HomeController> HtmlLocalizer

@{
    var nlHtmlLocalizer = HtmlLocalizer.WithCulture(new System.Globalization.CultureInfo("nl"));
}

<li>@nlHtmlLocalizer ["My string 2 <span style=\"font-weight: bold;\">with bold</span>."]</li>
@inject IHtmlLocalizer HTMLocalizer
@{
var nlhtmlocalizer=htmlocalizer.WithCulture(新系统.全球化.文化信息(“nl”));
}
  • @nlHtmlLocalizer[“我的字符串2加粗体。”]
  • @inject IHtmlLocalizer<HomeController> HtmlLocalizer
    
    @{
        var nlHtmlLocalizer = HtmlLocalizer.WithCulture(new System.Globalization.CultureInfo("nl"));
    }
    
    <li>@nlHtmlLocalizer ["My string 2 <span style=\"font-weight: bold;\">with bold</span>."]</li>