Смешанные языки между текстом и кнопками в многоязычном приложении .Net - PullRequest
1 голос
/ 11 июля 2009

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

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

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

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

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

Ответы [ 2 ]

4 голосов
/ 11 июля 2009

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

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

0 голосов
/ 12 июля 2009

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

с использованием System.Windows.Forms.MessageBox.Show вместо System.Windows.MessageBox.Show

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

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

...