Как я могу гарантировать, что соответствующая языковая версия строкового ресурса загружается во время выполнения? - PullRequest
0 голосов
/ 11 февраля 2011

В моем проекте VB.NET у меня есть файл строковых ресурсов, называемый strings.resx, который определен как встроенный ресурс.У меня есть другой файл с именем strings.es.resx, который содержит все те же строки на испанском языке.Я загружаю ресурс во время выполнения, используя следующий код:

MyStrings = New ResourceManager("myprog.strings", GetType(MainForm).Assembly)

Я установил языковой стандарт Espanol в Windows и снова вошел в систему, но я все еще получаю загрузку английских строковых ресурсоввышеуказанное выполнено.Как я могу загрузить испанские ресурсы, если локаль Windows - ES?Я ожидал, что это будет обработано автоматически.

Ответы [ 2 ]

1 голос
/ 11 февраля 2011

Взгляните на свойство System.Threading.Thread.CurrentThread.CurrentUICulture - оно имеет привычку фиксироваться на en-US.

Если это так, попробуйте установить его так же, как CurrentCulture.

Обновление

Поскольку это не сработало, убедитесь, что в выходной папке вашего приложения есть папка es, внутри которой находится dll с именем strings.resources.dll.Если нет, то, по сути, менеджер ресурсов не находит специфический для культуры строковый ресурс, потому что его там нет, и в этом случае скопируйте его, и он должен работать.

0 голосов
/ 11 февраля 2011

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ - это все из памяти и не может быть на 100% точным: -)

.NET ресурсы загружаются с использованием Thread.CurrentUICulture (если вы явно не переопределите его при загрузке ресурсов в коде). Thread.CurrentUICulture устанавливается языком пользовательского интерфейса, используемым при установке Windows, и не может быть изменен. Это не то же самое, что Thread.CurrentCulture, установленный на панели управления, и его можно изменить в любое время.

Например, на моем ПК CurrentCulture возвращает "en-GB", потому что я там, а CurrentUICulture возвращает "en-US", потому что Microsoft предоставляет только одну англоязычную версию Windows.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...