我正在将现有的WinForms应用程序重构为WPF和MVVM(除了MVVM中的理论之外几乎没有知识)。应用程序需要完全本地化。就UI而言,我很好(存储资源并根据枚举和其他结构绑定到它们)。
应用程序必须向用户提供动态生成的pdf。这个本地化信息应该放在哪里:
在后端使用pdf创建逻辑
Pro:更简单的逻辑流程
Con:反对MVVM理论,因为后端不应该知道它是如何被显示的。维护性较差(本地化数据有2个位置)
将对象传递给视图进行翻译。这意味着PDF生成代码需要进入视图。
专业:只有一个地方可以保持本地化
Con:也反对MVVM理论,因为视图不应该有逻辑
这两种解决方案对我来说都不是很理想。有任何想法吗?
答案 0 :(得分:1)
这些详细信息可能有助于全球化和本地化(http://msdn.microsoft.com/en-us/library/ms753931.aspx)
并且还有关于codeplex的指导:WPF本地化指南(http://wpflocalization.codeplex.com/releases/view/29389)
答案 1 :(得分:0)
你的问题是不可理解的,但本地化的实际解决方案是:
1.使用.resx文件创建项目(项目名称可以是例如本地化)
2.将命名空间添加到您的XAML文件,例如
xmlns:localPresentation="clr-namespace:Localization.Presentation;assembly=Localization"
3.以这种方式本地化UI文本
Text="{x:Static localPresentation:PresentationResources.SomeResourceKey}"
这种本地化不是动态的。更改应用程序的语言时,必须重新启动它。动态本地化更棘手,但一切皆有可能。