Комплексные расширения / справочная реализация набора тестов
Майкрософт поощряет использование инструмента "LocBaml" для локализации приложений WPF (см. MSDN). К сожалению, этот инструмент еще не готов для рабочего использования и имеет некоторые серьезные недостатки, когда требуется подписывать свои сборки. Я предпочитаю использовать для локализации моих приложений WPF "старые" файлы ResX. Они очень хорошо поддерживаются Visual Studio, и мне нравится резервная стратегия системы ресурсов, когда не обнаруживается ресурсный элемент.
Изображения Если необходимо локализовать изображения, то это по определению более сложная задача. Файлы ResX поддерживают только собственное растровое представление изображений, в то время как WPF использует управляемую версию с именем BitmapSource. Следовательно, необходимо преобразовать объект "Bitmap" интерфейса графических устройств в объект "BitmapSource". В классе ResourceService библиотеки CompositeExtensions имеется метод CreateBitmapSource, который выполняет этот прием.
Настройка языка приложения По умолчанию платформа .NET Framework использует язык операционной системы. Я считаю, что это поведение подходит для большинства клиентов. Однако некоторые клиенты или тестировщики программного обеспечения предпочитают задавать язык для приложения независимо от параметров операционной системы. Я использую конструктор параметров Settings, предлагаемый Visual Studio для реализации языковых конфигураций. В конструкторе Settings я просто задаю строковые свойства Culture и UICulture. Одна из первых строк при запуске приложения вызывает этот метод:
Приведенный выше фрагмент кода читает параметры языка в файле конфигурации и устанавливает их для всего приложения. Теперь при необходимости запуска приложения с другим языком можно изменить файл App.config. Не путайте CurrentCulture и CurrentUICulture. Эти два свойства представляют значения, заданные для языка и региональных параметров, которые можно найти в панели управления Windows.
Примечание. Это обсуждение касается только CurrentUICulture. |