如何使用 appsettings 更改 api.net Core 中的语言资源?

How change language Resources in api .net Core with appsettings?

我需要知道如何在启动或部署 api .net 核心时更改语言,在 appsettings.json 中定义所需的语言。 我看到了本地化和全球化,但我不需要这样复杂的解决方案。

例如...我有两个资源文件,语言(英语)和Language.es(西班牙语):

在我的 appsettings.json 之后,我定义了想要的语言:

并且我在 Startup.cs:

中确定了语言变化

我只需要在代码中根据配置引用资源即可。

但实际上只能获得西班牙语的回复(服务器默认语言为西班牙语)。 如何更改语言资源?

Thread.CurrentThread 中,您只是在启动时为当前线程设置区域性。尝试使用这些属性为应用程序中的所有线程设置区域性:

var cultureInfo = CultureInfo.CreateSpecificCulture(appSettings.Language)
CultureInfo.DefaultThreadCurrentCulture = cultureInfo;
CultureInfo.DefaultThreadCurrentUICulture = cultureInfo;

有关更多信息,请查看文档: https://docs.microsoft.com/en-us/dotnet/api/system.globalization.cultureinfo.defaultthreadcurrentculture?view=netcore-3.1