【问题标题】:Internationalization: Should I use resources or MVP for labels?国际化:我应该使用资源还是 MVP 作为标签?
【发布时间】:2009-03-09 13:58:05
【问题描述】:

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

您会使用这些选项中的哪一个(或者可能是其他选项)?

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

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

【问题讨论】:

    标签: c# resources internationalization


    【解决方案1】:

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

    查看 Michele Bustamante 在 MSDN 上关于全球化的文章。至于是否将本地化字符串存储在 SQL Server 中,您必须做出决定,因为资源文件可用于多种项目类型。我将不得不找到她关于构建自定义全球化提供程序的文章。

    一个快速的谷歌发现这篇文章: http://www.codeproject.com/KB/aspnet/customsqlserverprovider.aspx?fid=308557&df=90&mpp=25&noise=3&sort=Position&view=Quick&select=1619351

    我没有玩过代码,但它似乎是一个好的开始。

    【讨论】:

    • 经过更多的研究和修补,我确信在“重新发明轮子”之前,我真的应该尝试一下已经内置在框架中的东西。这不是我想要的 100%,但通过保持简单,我会花更少的时间(并且处理更少的错误)!再次感谢您的意见!
    猜你喜欢
    • 2017-11-07
    • 2013-01-23
    • 2013-02-26
    • 2017-06-24
    • 2014-01-03
    • 1970-01-01
    • 1970-01-01
    • 2017-11-12
    • 2012-12-09
    相关资源
    最近更新 更多