Частичная ошибка локализации MonthCalendar (метка «Сегодня» не переведена) - PullRequest
1 голос
/ 05 декабря 2011

Я готов начать вырывать из этого то, что мало осталось от моих волос.

Я работаю над приложением winforms (.NET 3.5) под Windows 7. В этом приложении есть пользовательскийэлемент управления datepicker, который использует MonthCalendar для фактического выбора даты.Он работает и выглядит великолепно, за исключением даты «Сегодня», показанной внизу.Рядом с ним есть ярлык «Сегодня».Это хорошо, если ваша аудитория - носители английского языка.У меня датский язык.

Когда культура настроена на датский язык, метка «Сегодня» остается неизменной, а названия недели и месяца и формат даты соответствуют настройкам соответствующих окон.Это мелкий ниггер, но все же раздражающий.

Кто-нибудь еще видел это?Кто-нибудь знает, что я делаю не так?В противном случае, кто-нибудь знает об обходном пути?

Ответы [ 2 ]

2 голосов
/ 05 декабря 2011

Ваши датские клиенты будут использовать датскую версию Windows.Который использует датский текст для «Сегодня».Изменение культуры на вашем компьютере не приводит к изменению языка собственных ресурсов Windows, например, используемых MonthCalendar.

Так что это не является реальной проблемой.Если вам нужно, чтобы это выглядело подлинно, например, для снимков экрана, приобретите лицензию на версию Ultimate для Windows.Что позволяет устанавливать языковые пакеты, которые изменяют эти собственные ресурсы.Или используйте подписку MSDN, чтобы получить доступ к датской версии Windows.

2 голосов
/ 05 декабря 2011

Метка «Сегодня» отражает язык операционной системы на панели управления (регион и язык), см. Рисунок ниже.

Вы в значительной степени испорчены, так как это запекается в библиотеке Windows Forms, и вы не можете переопределить / скрыть / установить приватное поле для решения этой проблемы. То же самое в .NET 4.0.

Обходной путь - скрыть метку Today в MonthCalendar и создать элемент управления UserControl с MonthCalendar в нем, который имитирует кнопку Today, но отображает текст на правильном языке.

...