C# 国际化:我应该使用资源还是MVP作为标签?

C# 国际化:我应该使用资源还是MVP作为标签?,c#,resources,internationalization,C#,Resources,Internationalization,我正在VS2008中使用MVP模式构建C#WinForms。我将在将来将这些迁移到WPF。这些表单需要支持输入标签和菜单的多种语言。我想将标签文本存储在SQL Server数据库中,并根据语言调出适当的标签 你会使用这些选项中的哪一个(或者其他选项) 使用Visual Studio 2008内置的资源功能 并编写自定义提供程序以获取 来自SQL的属性 将标签文本合并到 MVP演示者 由于您的目标是在将来某个时候更改UI,因此应尽可能精简表示层,以避免编写大量额外代码。考虑到这一点,在演示者中使

我正在VS2008中使用MVP模式构建C#WinForms。我将在将来将这些迁移到WPF。这些表单需要支持输入标签和菜单的多种语言。我想将标签文本存储在SQL Server数据库中,并根据语言调出适当的标签

你会使用这些选项中的哪一个(或者其他选项)

  • 使用Visual Studio 2008内置的资源功能 并编写自定义提供程序以获取 来自SQL的属性

  • 将标签文本合并到
    MVP演示者


由于您的目标是在将来某个时候更改UI,因此应尽可能精简表示层,以避免编写大量额外代码。考虑到这一点,在演示者中使用全球化/本地化代码不是一个好主意。与加载演示者IMO相比,用于内置资源管理的自定义提供程序是更好的选择

请看Michele Bustamante在MSDN上关于全球化的文章。至于是否将本地化字符串存储在SQL Server中,您必须决定这一点,因为资源文件可以用于各种各样的项目类型。我必须找到她关于构建自定义全球化提供者的文章

一个快速的谷歌发现了这篇文章:


我没有使用过代码,但这似乎是一个良好的开端。

经过更多的研究和修补,我确信在“重新发明轮子”之前,我应该真正尝试一下框架中已经构建的东西。这并不是我想要的100%,但我会花更少的时间(处理更少的bug)保持简单!再次感谢您的投入!