如何使用 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
我需要知道如何在启动或部署 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