0
是否可以只为整个项目使用一个资源文件(每种语言)而不是每个控制器和每个视图(如手册https://docs.asp.net/en/latest/fundamentals/localization.html中所述)?整个asp.net核心项目的每种语言的一个资源文件
每个控制器和语言的资源文件似乎有点矫枉过正。
是否可以只为整个项目使用一个资源文件(每种语言)而不是每个控制器和每个视图(如手册https://docs.asp.net/en/latest/fundamentals/localization.html中所述)?整个asp.net核心项目的每种语言的一个资源文件
每个控制器和语言的资源文件似乎有点矫枉过正。
是的,那是可能的。您必须覆盖StringLocalizer
和StringLocalizerFactory
。通过这些自定义,您可以将资源存储在一个或多个文件中,数据库中或JSON文件中。或者做其他的魔法......
然后所有你需要做的就是注册您的定制服务:
public void ConfigureServices(IServiceCollection services)
{
services.AddSingleton<IStringLocalizerFactory, YOUR_LOCALIZER_FACTORY>();
}
作品,thxs的Dawid! – Wouter
你有这个解决方案的例子吗?我现在正在处理同样的问题... –