根据asp.net核心文档asp.net core localization documents,需要按照以下方式进行本地化:
using Microsoft.AspNet.Mvc;
using Microsoft.Extensions.Localization;
namespace Localization.StarterWeb.Controllers
{
[Route("api/[controller]")]
public class AboutController : Controller
{
private readonly IStringLocalizer<AboutController> _localizer;
public AboutController(IStringLocalizer<AboutController> localizer)
{
_localizer = localizer;
}
[HttpGet]
public string Get()
{
return _localizer["About Title"];
}
}
}
这些事情必须完成:
两个想法:
方法_localizer [“默认文本”]是某种次优,因为
a)我确实希望有专业人士本地化的人也可以使用默认设置。我不希望默认为魔术字符串飞来飞去
b)如果找不到字符串,我想知道它。通过这种方式,我只能在语言与默认语言不同时才能获得它
c)为什么我们使用ResourceManager的自动生成代码松开直接过程?
我想我什么都错过了?
P.S。:我也讨论了这个项目Where are the autogen properties in asp.net core localizers?。