1

我面临以下情况:

  • 具有多个项目的复杂 MVC 应用程序
  • 应该能够处理多种语言(并非每种语言都已定义)
  • 资源键将始终可用,只是每种语言的值不同
  • 服务层和web层需要资源
  • 资源在其自己的项目中资源是公共的,具有构建操作嵌入式资源和自定义工具 PublicResXFileCodeGenerator

游戏规则改变者:

  • 每种语言的资源文本应在 Web 前端可编辑,并且应即时可用

这就是问题所在。在前端读取和显示每个资源的内容是没有问题的。

代表集合 CultureInfo 读取本地化资源文件:

var resourceSet = ResourceFile.ResourceManager.GetResourceSet(CultureInfo.CurrentUICulture, true, false);

无论如何都可以更改资源文件吗?另一种方法是什么?数据库方式?

我找到了这种方法。但它可能不会在我们的环境中工作,因为我们有一个单独的资源项目并且在多个项目中需要它们。

我对数据库方式的(简单)想法:

  • 每个 ViewModel 所需的每个字符串都将在 ViewModelBase >:/ 中定义
  • Controller 获取每个 View 所需的字符串并从存储库中设置区域设置并将它们设置到 ViewModel
  • View 将访问每个 ViewModel.Key 的资源

有什么想法吗?

谢谢!

4

2 回答 2

2

无论如何都可以更改资源文件吗?

不,不是资源文件。您可以编写一个custom resource provider并将它们存储在另一个存储中,例如数据库。

于 2013-03-01T16:55:40.840 回答
0

迟到的答案:我们将所有资源存储在数据库中并编写了自定义资源提供程序。

于 2015-03-26T10:50:50.637 回答