在项目的根目录下创建一个名为“Resources”(或者你想要的名字)的文件夹,并添加一个名为“SharedResources.resx”的共享资源文件,如下所示:
namespace MyApplication.Resources
{
public class SharedResources
{
// Add shared resource strings here
public const string MyAppTitle = "My Application Title";
public const string WelcomeMessage = "Hello, {0}!";
}
}
在“Resources”文件夹中添加一个名为“SharedResources.fr.resx”的文件夹,该文件夹包含一个名为“SharedResources.fr.resx”的本地化文件。然后,将该文件的生成操作设置为“嵌入式资源”并设置默认文化为“fr”。
using Microsoft.AspNetCore.Mvc.Localization;
using MyApplication.Resources;
public class MyController : Controller
{
private readonly IHtmlLocalizer _sharedLocalizer;
public MyController(IHtmlLocalizer sharedLocalizer)
{
_sharedLocalizer = sharedLocalizer;
}
public IActionResult Index()
{
ViewData["Title"] = _sharedLocalizer[SharedResources.MyAppTitle];
ViewData["Message"] = _sharedLocalizer[SharedResources.WelcomeMessage, "Jane"];
return View();
}
}
using System.ComponentModel.DataAnnotations;
using MyApplication.Resources;
public class MyModel
{
[Required(ErrorMessageResourceName = "MyRequiredError", ErrorMessageResourceType = typeof(SharedResources))]
public string Name { get; set; }
}
@using Microsoft.AspNetCore.Mvc.Localization
@inject IHtmlLocalizer SharedLocalizer
@SharedLocalizer[