具有各种自定义语言的 aspnet 核心 CustomRequestCultureProvider

问题描述

范围:Net Framework 4.8 迁移到 Net Core 5 迁移项目,用于在大量客户 (asp.net) 上部署的应用程序。

当前的应用程序允许用户自己更改所有文本、消息等,他们可以例如翻译所有内容以改进并将其存储在语言“PO”下,他们也只能更改某些屏幕的某些句子或某些错误消息并将其保存为“X2”。 (存储在 SQL /EF 中)。每个用户都可以设置自己的首选语言集并添加自定义语言集。但是默认情况下,始终提供英语和另一种语言作为标准语言,并且所有自定义语言都源自(coalesce)

我们扫描了应用程序,希望遵循最佳实践并使用 ASPNETCORE5 本地化功能。

当使用 CustomRequestCultureProvider 时,我们从用户的令牌/缓存中获取 LanguageId,因为当前语言是以这种方式传递的。这应该从新的 ProvideCultureResult 中传递一种文化。这也着眼于未来提供更多的文化功能,而不仅仅是字符串的翻译(当前包含(错误)消息、屏幕标签、模型属性以及适用的属性内容、枚举等)。

假设在这里(我不确定)在对特定语言进行 CRUD 时,它将需要一个新的文化指示,因此类似于为该语言创建文化(仅更改语言,没有其他方面的更改)应用程序,包括,. 等),但仅在执行 AddInitialRequestCultureProvider 时才如此......本地化......因为只有在会话期间才需要将其作为文化。 (并且每个客户应用程序都有自己的语言)。 或者 ... 不要使用 ProviderCultureResult 而是始终动态创建新文化,唯一的原因是获取 id 并使用本地化程序,并为将来的进一步改进做好准备。 基本上我们从不使用文化方面,我们只需要字符串。但是本地化器等等……都是围绕着文化的。

这是正确的吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...