我首先在堆栈溢出时遇到了一个类似于我的问题:Loop through all Resources in ResourceManager - C#。它只解决了我需要做的部分事情。当您在资源文件中请求特定文化的条目时,如果不存在,它将默认返回中性文化资源文件。
我需要遍历给定资源文件的每个条目,并且 GetResourceSet 需要一种文化。例如,我有一个包含 3 个条目的中性资源文件和一个带有 1 个条目的中性文件附带的文化特定资源文件。
我的中性资源示例文件是 MyResource.resx,我的文化特定资源示例文件是 MyResource.en-gb.resx。以下代码显示了我当前如何尝试循环访问所有资源条目。
Dim cultInfo as New CultureInfo(culture)
For Each entry As System.Collections.DictionaryEntry In myResourceManager.GetResourceSet(cultInfo, True, True)
Next
中性资源文件条目
- 全名/全名
- 电话号码 / 电话号码
- 州/州
文化特定资源文件条目
- 州/县
当我为特定文化调用 GetResourceSet 时,我只得到 1 个条目。我期待(并希望)取回所有 3 个条目,其中一个特定于文化的条目被覆盖。这是我想要返回的内容:
- 全名/全名
- 电话号码 / 电话号码
- 州/县
无论如何我可以做到这一点吗?谢谢。