【发布时间】:2012-02-27 11:56:30
【问题描述】:
我有一个解析 xml 文档的应用程序。我将预期的 xml 标记名称存储在一个 RESX 文件中。标签名称的第一个字母总是小写。对于我的默认 en-IE 文化,这很好用(并且已经使用了几年)。
我一直在构建一个也将运行 pt-BR 文化的应用程序。
代码在 en-IE 中工作。但是,当我将文化更改为 pt-BR 时,它失败了,因为当它使用 My.Resources.ParameterCollectionTag 检索标签名称时,第一个字母现在大写,因此在 xml 文档中找不到标签。
只有一个资源文件,它本身没有本地化。我已经调试到Resources.Designer.vb文件和属性中的resourceculture
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 中返回“参数”。
我是本地化的新手,我被困在这一点上。有没有办法关闭这种行为。我希望 ResourceManager 返回与 RESX 文件中完全相同的字符串。
如有任何提示,我们将不胜感激。
感谢您的宝贵时间。
【问题讨论】:
-
作为一种解决方法,我在开始使用 My.Resources 之前设置 My.Resources.Culture = New CultureInfo("en")。有没有更好的方法来做到这一点?代码在一个库中,所以我需要记住每次使用它时设置文化。
标签: .net localization embedded-resource resx