2014-12-19 5 views
0

Я создаю пользовательский элемент управления wpf, чтобы обеспечить навигационные возможности для записей базы данных.Ресурсы Mullti-языка для управления пользователями wpf

enter image description here

управления снабжена набором изображений по умолчанию (как показано выше), конечный пользователь может изменить это они этого пожелают. Кроме того, конечный пользователь может вообще отказаться от изображений. В случае, если они выбирают этот параметр (для одной или всех кнопок, входящих в элемент управления), я предоставил некоторый резервный текст по умолчанию.

enter image description here

Этот текст также может быть перезаписана конечным пользователем, если они пожелают, но текст по умолчанию, по крайней мере дает им какой-то основной текст, который по существу передает то, что делает кнопка и сохраняет их необходимости добавить текст каждый раз, когда они используют элемент управления (текст подсказки по умолчанию также предоставляется).

Теперь, если вы говорите по-английски, или ваша целевая аудитория - английский, это должно работать, но на самом деле оно не подходит для языков, отличных от английского. Это я теперь хотел бы изменить.

Что я читал по поводу многоязычных ресурсов и wpf, похоже, предполагает, что речь идет об общем приложении, а не о отдельном пользовательском элементе управления, который может использоваться в разных языковых средах.

Я поговорил с создателем средств управления, который сказал, что создание этого многоязычия, вероятно, потребует создания нескольких копий элемента управления для каждого предполагаемого языка.

В свете этого у меня есть два вопроса. Был ли джентльмен, с которым я говорил, исправить, должен ли я на самом деле создавать несколько копий этого для каждого языка, есть ли способ иметь многоязычные ресурсы в пределах одной и той же копии пользовательского элемента управления?

Если последнее возможно, то каков правильный способ достижения этого. Мы будем иметь дело с текстами по умолчанию для одиннадцати кнопок (которые мне нужно будет иметь возможность ссылаться на код внутри элемента управления случайно) и тексты по умолчанию для тринадцати всплывающих подсказок (которые снова должны будут иметь возможность ссылаться в пределах код управления).

Большое спасибо.

ответ

1

Посмотрите на WPF localization extension.

Для этого достаточно хорошей документации: link.

Вы можете определить локализуемые свойства ваших элементов управления, которые сохраняют свои локализованные значения в сборках спутниковых ресурсов.

В коде XAML, определяют локальные свойства с расширениями XAML синтаксисом:

<Button Content="{lex:Loc Test}" /> 

Затем, создавать файлы ресурсов для каждой культуры приложение будет поддерживать и дать им такое же имя, как основной узел плюс общий или конкретная культура кода (например, ан-US, де, де-AT ...) до .resx заканчивая получением: AssemblyName.CultureCode.resx.

Теперь заполните файлы ресурсов локализованными парами ключ/значение свойств и создайте проект.

Все готово!

+0

Это выглядит великолепно, спасибо, что указали его мне. –

Смежные вопросы