Страницы

Поиск по вопросам

вторник, 16 июля 2019 г.

Какие есть способы интернационализации WPF-приложения?

Пробовал создать несколько кнопок в отдельном окне,при нажатии на одну из них из DictionarylanguagesDictionary=new Dictionary(); по ключу ищется нужный массив строк и подставляется в textBlock`и и лейблы основного окна. Код получается очень сложным и нечитаемым.
Как можно интернационализировать приложение по другому?


Ответ

Создаете папку Localization (это не фиксированное название, просто так удобно)
В ней создаете файл ресурсов (.resx) с названием, например, UI.resx.
Открываете его. Вверху переключаете видимость с internal на public.
Заполняете таблицу ключ-строка.
Это будет файл для "нейтрального языка".
Потом для каждого языка создаете файл UI.<код языка>.resx, будет как-то так.
Localizaion UI.resx UI.uk.resx UI.ru.resx UI.ar.resx UI.fr.resx
Затем в xamlе объявляете неймспейс
xmlns:loc="clr-namespace:MyProject.Localization"
и в коде

Комментариев нет:

Отправить комментарий