Локализация C# не работает в китайской ОС, но работает на китайском языке

У меня есть приложение, которое использует файлы ресурсов для локализации текста. EXE находится в отдельном проекте, а ресурсы в отдельном проекте. При развертывании на английской ОС с китайским языковым пакетом он работает нормально, но при развертывании на полной китайской ОС он не отображает китайский текст. Я сделал запись привязки сборки и обнаружил, что система ищет zh-cn dll, и эта dll успешно найдена и загружена.

Если он запрашивает DLL, почему он все еще возвращается к английскому? Единственная причина, по которой он это делает, заключается в том, что он не находит запрашиваемую строку. Есть идеи, что не так?

Я использую стандартные файлы ресурсов с PublicResXFileCodeGenerator для компиляции своих ресурсов, и я использую свойства ресурсов для ссылки на строку, также я не передаю явно информацию о культуре.

1 ответ

Моя проблема решена. Вот что случилось. Наш скрипт сборки устанавливает подпись authenticode во всех DLL, у нас не было authenticode, подписавшего библиотеки ресурсов zh-cn и ja. Похоже, что.net не брал DLL и по умолчанию использовал английский.

Другие вопросы по тегам