我面临以下情况:
- 具有多个项目的复杂 MVC 应用程序
- 应该能够处理多种语言(并非每种语言都已定义)
- 资源键将始终可用,只是每种语言的值不同
- 服务层和web层需要资源
- 资源在其自己的项目中资源是公共的,具有构建操作嵌入式资源和自定义工具 PublicResXFileCodeGenerator
游戏规则改变者:
- 每种语言的资源文本应在 Web 前端可编辑,并且应即时可用
这就是问题所在。在前端读取和显示每个资源的内容是没有问题的。
代表集合 CultureInfo 读取本地化资源文件:
var resourceSet = ResourceFile.ResourceManager.GetResourceSet(CultureInfo.CurrentUICulture, true, false);
无论如何都可以更改资源文件吗?另一种方法是什么?数据库方式?
我找到了这种方法。但它可能不会在我们的环境中工作,因为我们有一个单独的资源项目并且在多个项目中需要它们。
我对数据库方式的(简单)想法:
- 每个 ViewModel 所需的每个字符串都将在 ViewModelBase >:/ 中定义
- Controller 获取每个 View 所需的字符串并从存储库中设置区域设置并将它们设置到 ViewModel
- View 将访问每个 ViewModel.Key 的资源
有什么想法吗?
谢谢!