是否可以只为整个项目提供一个资源文件(每种语言),而不是每个控制器和每个视图(如手册https://docs.asp.net/en/latest/fundamentals/localization.html中所述)?
每个控制器和语言的资源文件似乎有点矫枉过正。
答案 0 :(得分:0)
是的,这是可能的。您必须覆盖StringLocalizer
和StringLocalizerFactory
。使用这些自定义,您可以将资源存储在一个或多个文件中,数据库中或JSON文件中。或做其他魔术......
然后您需要做的就是注册您的自定义服务:
public void ConfigureServices(IServiceCollection services)
{
services.AddSingleton<IStringLocalizerFactory, YOUR_LOCALIZER_FACTORY>();
}