更改应用程序文化会更改资源字符串的大小写

时间:2012-02-05 20:40:17

标签: .net localization embedded-resource resx

我有一个解析xml文档的应用程序。我将预期的xml标记名称存储在RESX文件中。标记名称的第一个字母始终为小写。对于我的en-IE默认文化,这种方法很好(并已经完成了几年)。

我一直在构建一个也将运行pt-BR文化的应用程序。

该代码适用于en-IE。但是当我将文化更改为pt-BR时,它失败了,因为当它使用My.Resources.ParameterCollectionTag检索标记名时,第一个字母现在大写,因此无法在xml文档中找到标记。

只有一个资源文件,它本身没有本地化。我已经调试了属性

中的Resources.Designer.vb文件和资源文化
    Friend ReadOnly Property ParameterCollectionTag() As String
        Get
            Return ResourceManager.GetString("ParameterCollectionTag", resourceCulture)
        End Get
    End Property

设置为空。但是,CurrentThread.CurrentCulture设置为pt-BR。

要清楚,My.Resources.ParameterCollectionTag在en-IE和'Paramters'pt-BR中返回'paramters'。

我是本地化的新手,我现在陷入困境。有没有办法关闭这种行为。我希望ResourceManager完全按照RESX文件中的字符串返回字符串。

感谢任何提示。

谢谢你的时间。

1 个答案:

答案 0 :(得分:0)

作为一种解决方法,我在开始使用My.Resources之前设置了My.Resources.Culture = New CultureInfo(“en”)。