整个asp.net核心项目的每种语言一个资源文件

时间:2016-11-10 09:10:19

标签: asp.net-core-mvc

是否可以只为整个项目提供一个资源文件(每种语言),而不是每个控制器和每个视图(如手册https://docs.asp.net/en/latest/fundamentals/localization.html中所述)?

每个控制器和语言的资源文件似乎有点矫枉过正。

1 个答案:

答案 0 :(得分:0)

是的,这是可能的。您必须覆盖StringLocalizerStringLocalizerFactory。使用这些自定义,您可以将资源存储在一个或多个文件中,数据库中或JSON文件中。或做其他魔术......

然后您需要做的就是注册您的自定义服务:

public void ConfigureServices(IServiceCollection services)
{
    services.AddSingleton<IStringLocalizerFactory, YOUR_LOCALIZER_FACTORY>();
}