Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
来自数据库的WPF本地化_Wpf_Localization_Localizable.strings - Fatal编程技术网

来自数据库的WPF本地化

来自数据库的WPF本地化,wpf,localization,localizable.strings,Wpf,Localization,Localizable.strings,哪种方法是本地化数据库中存储资源的WPF应用程序的最佳方法 我的任务是构建一个应用程序并通过阅读文本/标签/将其本地化。。。从数据库中。 用户可以添加一个新的区域性,在表中添加一列来存储资源,并且应用程序必须能够使用定义的区域性之一 +----------------+ |ID |EN |FR | +----------------+ |R001 |Dog |Chien| +----------------+ |R002 |... |.... | +----------------+

哪种方法是本地化数据库中存储资源的WPF应用程序的最佳方法

我的任务是构建一个应用程序并通过阅读文本/标签/将其本地化。。。从数据库中。 用户可以添加一个新的区域性,在表中添加一列来存储资源,并且应用程序必须能够使用定义的区域性之一

+----------------+ |ID |EN |FR | +----------------+ |R001 |Dog |Chien| +----------------+ |R002 |... |.... | +----------------+ +----------------------+ |ID |EN |FR |IT | +----------------------+ |R001 |Dog |Chien|Cane | +----------------------+ |R002 |... |.... |... | +----------------------+ +----------------+ |ID | EN | FR| +----------------+ |R001 |狗|简| +----------------+ |R002 |…|| +----------------+ +----------------------+ |ID | EN | FR | IT | +----------------------+ |R001 |狗|简|藤| +----------------------+ |R002 |…|…|| +----------------------+ ObjectDataProvider可能是一个很好的解决方案,但我不想为每个需要本地化的文本创建不同的ObjectDataProvider。
是否有一种方法可以使用参数化绑定(参数是资源的键,例如R001)在不同的控件中使用相同的ObjectDataProvider?

我们在我目前正在处理的项目中尝试了这一方法。我能给你的最好建议是在启动时加载和缓存所有东西(如果更新的话)。往返数据库以获取单个标签会降低性能

在引导程序中生成附属程序集,或在内存中缓存转换。在任何情况下,试着让WPF知道您正在访问DB。使用.NETs ResourceManager似乎是我们最合理的选择


这里有一个很好的解决方案:

有什么具体的例子吗?什么?这个链接提供了一个比我在这里提供的更好的例子。