Изменение культуры приложения изменяет капитализацию строк ресурсов - PullRequest
0 голосов
/ 06 февраля 2012

У меня есть приложение, которое анализирует документы 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 возвращает «paramters» в en-IE и «Paramters» pt-BR.

IЯ новичок в локализации и застрял в этой точке.Есть ли способ отключить это поведение.Я хочу, чтобы ResourceManager возвращал строки в точности так, как они есть в файле RESX.

Будут с благодарностью приняты любые советы.

Спасибо за ваше время.

1 Ответ

0 голосов
/ 06 февраля 2012

В качестве обходного пути я устанавливаю My.Resources.Culture = New CultureInfo ("en"), прежде чем начать использовать My.Resources.

...