我们有一个 Windows 窗体应用程序的功能请求,我们希望系统管理员能够在编译和部署应用程序后重新定义应用程序字符串和其他可国际化的值(控制宽度/放置等)。主要用例是让客户重新定义一些标签字符串等以更好地适应他们的业务流程,所以我们没有考虑完全重新定义屏幕 - 更多的是对标签和按钮宽度等进行细微调整。我们有一个同步层已经在应用程序中,所以想法是让管理员从 Web 门户进行 UI 调整,并将设置存储在数据库中。下次客户端应用程序与服务器同步时,它将下载 UI 设置(使用 SQL CE 数据库或文件等),然后将这些设置应用于视图(可能在重新启动后)。实际资源键/值的导出和导入过程不在此问题的范围内...
所有视图都以通常的 Windows 窗体方式编码,但所有视图都是国际化的(使用 Localizable=True 标志),我们目前使用 .resx 机制将应用程序国际化为 4 或 5 种语言。
我的问题是 - 是否可以使用 .NET ResourceManager 从其他来源加载资源,而不是应用程序程序集中的嵌入式资源文件?例如,当应用程序请求资源时,是否从 SQL CE 数据库而不是特定区域性程序集的嵌入式资源文件中查找它?
我知道这个特性和实现可能有很多陷阱,但我们现在并不担心这些。在这一点上,我们也不担心让这个超级用户友好——我只是想知道是否可以轻松地将后备存储机制换成资源。
如果有人有的话,我也有兴趣了解完全不同的实现选项。