Смешанные языки текста и кнопок в многоязычном приложении.Сетевое приложение

StackOverflow https://stackoverflow.com/questions/1112952

  •  12-09-2019
  •  | 
  •  

Вопрос

Существует (для меня) проблема с показом MessageBox.

Мое приложение является многоязычным (английский / немецкий).

Я тестирую на Windows, язык которой - английский.Настройка приложения на немецкий язык работает нормально, но отображение окна сообщения создает смешение языков.Сообщение на немецком языке (через файлы ресурсов), а язык кнопок в messagebox - на английском (Yes No вместо Ja Nein).Мой клиент использует только немецкие версии Windows и может столкнуться с противоположной проблемой -> кнопки на немецком языке и текст (messagebox) на английском, если он хочет использовать приложение на английском.

Могут ли языковые пакеты .NET разрешить эти конфликты?Средства -> Установка языковых пакетов .NET, чтобы избежать этой языковой смеси.

окно сообщения http://img401.imageshack.us/img401/1914/dlglang.jpg

Это было полезно?

Решение

Языковые пакеты .NET не делайте этого влияет на текст элементов операционной системы (очевидно!).Таким образом, они не повлияют на текст кнопок в окнах сообщений WinForms, потому что они используют функцию Win32 MessageBox.Это означает, что если у вашего клиента установлена немецкая версия Windows, то все стандартные элементы пользовательского интерфейса - такие как эти кнопки - будут на немецком языке, несмотря ни на что.Если у него Vista, он может купить дополнительные языковые пакеты, но даже тогда только один из них может быть активен для пользователя (а не для конкретного приложения) в любой момент времени.

Если ваш клиент желает использовать ваше приложение только на английском языке, то либо он должен использовать англоязычную версию Windows, либо вам придется закодировать свое собственное окно сообщения, где вы сами определяете метки кнопок.

Другие советы

в настоящее время этот вопрос имеет для меня низкий приоритет.еще одна попытка могла бы быть :

использование системы.Windows.Формы.Окно сообщений.Показывать вместо System.Windows.Окно сообщений.Показать

http://www.codeproject.com/KB/miscctrl/Localizing_MessageBox.aspx

если у кого-то уже есть опыт работы с этим проектом из CodeProject:пожалуйста, ответьте :)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top