【发布时间】:2013-03-01 16:37:30
【问题描述】:
我面临以下情况:
- 具有多个项目的复杂 MVC 应用程序
- 应该能够处理多种语言(并非每种语言都已定义)
- 资源键将始终可用,只是值是 因语言而异
- 服务层和Web层需要资源
- 资源在自己的项目中 资源是公开的,具有构建操作嵌入式资源和自定义工具 PublicResXFileCodeGenerator
游戏规则改变者:
- 每种语言的资源文本应可在 Web 前端进行编辑,并且应随时可用
这就是问题所在。在前端读取和显示每个资源的内容是没有问题的。
代表集合 CultureInfo 读取本地化资源文件:
var resourceSet = ResourceFile.ResourceManager.GetResourceSet(CultureInfo.CurrentUICulture, true, false);
是否可以更改资源文件?另一种方法是什么?数据库方式?
我发现this 方法。但它可能无法在我们的环境中工作,因为我们有一个单独的资源项目并且在多个项目中需要它们。
我对数据库方式的(简单)想法:
- 每个 ViewModel 所需的每个字符串都将在 ViewModelBase 中定义 >:/
- 控制器获取每个视图所需的字符串并从存储库中设置区域设置并将它们设置到 ViewModel 中
- View 将访问每个 ViewModel.Key 的资源
有什么想法吗?
谢谢!
【问题讨论】:
标签: c# asp.net-mvc asp.net-mvc-3 localization resources