显示resx文件中的所有资源字符串

时间:2009-02-10 15:30:12

标签: c# winforms user-interface resources internationalization

我的应用程序中有一个“GUI字符串”.resx文件,其中包含我显示的所有字符串。我显然可以通过直接访问每个字符串     Resources.Resource_GUI_Strings.CameraSettings_BrightnessLabel

但是如何列出.resx文件中的所有设置,因为它们(名称,值)对是我唯一使用反射的选项?

我想列出所有对(即CameraSettings_BrightnessLabel&“Brightness”),以便用户可以编辑每个项目的字符串。这样他们就可以本地化GUI。我不想完全国际化应用程序,只要用户能够自己做这些要求。

因此,我需要能够从.resx文件中读取值对,然后在用户编辑它们时将其写回。

只是要添加我想在运行时在应用程序本身内执行此操作,因此我无法解析磁盘上的.resx文件。

1 个答案:

答案 0 :(得分:2)

通常我会使用ResXResourceReaderResXResourceWriter类,但我的猜测是你的resx文件将在运行时被锁定。您可能最好将文本存储在数据库而不是资源文件中以解决此问题。

This answer显示了如何使自定义资源提供程序/资源管理器在数据库中存储/编辑资源。或者,您可以完全放弃资源模型并推出自己的解决方案。