【问题标题】:Changing application culture changes the capitalization of resource strings改变应用程序文化会改变资源字符串的大小写
【发布时间】: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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-06
    • 1970-01-01
    • 1970-01-01
    • 2020-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多