您会将“本地化和全球化”放在使用 MVVM 和 Prism 在 c# WPF 中构建的 3 层企业应用程序中的什么位置?我的意思是在一个像 msdn (http://msdn.microsoft.com/en-us/library/ee658124.aspx) 中描述的模式构建的应用程序中,您会将本地化逻辑放在哪一层?您将使用哪种方法(resx 文件、db ...)?
问问题
509 次
3 回答
1
我resx
在企业应用程序中为此使用了文件。它们被放置在自己的Resources
项目中,因此可以在多个用户界面之间共享。
值得一读的是微软是如何打算这样做的,因为它揭示了一些令人信服的理由以这种方式做事:
http://msdn.microsoft.com/en-us/library/c6zyy3s9%28v=vs.100%29.aspx
于 2012-11-06T21:06:46.580 回答
0
我建议您使用数据库本地化映射。这样就无需在每次本地化更改后重新编译应用程序。
于 2012-11-06T21:01:47.140 回答
0
Resx 文件
但这不是一个微不足道的主题,也没有任何一种标准方法,主要的方法是:
- 使用 WPF 资源
- 使用 wpf 的 Locbaml 工具
- 使用 RESX 文件作为 xaml 静态字符串
- 使用带有扩展名的 RESX 文件
推荐参考:Sacha Barber、Josh Smith和ResX。
我的偏好是使用 (3) 和 (4) 的组合,尽管我需要稍微修改扩展的代码。所以我通常会有
- Resx 文件的项目 (MyApp.Presentation.Resources),每个视图一个
- Resx 文件的项目 (MyApp.Domain.Resources),每个枚举类型一个,标准命令
- 根据需要引用 MyApp.Domain.Resources 枚举的视图模型项目 (MyApp.ViewModels)
- 一个控件和/视图项目)(MyApp.Wpf.ControlLib),它引用了 MyApp.Presentation.Resources 和我的 ResxExtension.dll 版本。
HTH,
绿柱石
于 2012-11-06T21:19:19.833 回答