我正在为以下问题寻找一个好的解决方案:
我有一个 ASP.NET MVC Web 应用程序,由我的几个客户使用。在应用程序中,客户可以登录、查看包含信息的多个页面并填写多个表格。这一切都很好。
但是,我想要的是在视图中显示不同的文本,具体取决于客户端的属性(在这种情况下为 A 类型)。这些文本可以是多语言的,用户可以在应用程序中更改语言。
我为此提出了几种解决方案,但我不确定最好的主意是什么。到目前为止,这些是我的想法:
在数据库中保存信息
在这种情况下,我会创建一个表(例如“ProgramTexts”),其中包含一个键、客户端的类型、语言和它自己的文本。然后,在我的控制器中,我将检索该视图中使用的键,将它们设置在 ViewModel 中并将该视图模型传递给视图。在视图中,我可以轻松地在 ViewModel 中显示给定变量的值。
我认为这对于小型站点非常有用,但是对于许多不同的控制器和视图来说似乎有点笨拙。我宁愿直接从视图中“调用”文本,但是从视图中调用数据库也好不到哪里去。
资源文件
由于本地化功能的内置,我的另一个想法是使用资源文件。但是,我不确定如何根据额外的变量(本例中的类型)从资源中检索变量。
有没有人对如何实现这一目标有其他想法?