Языки в кастомках
В папке \Template\Projects\1. Template\Forms\Language можно найти файлы строковых ресурсов:
ru.wxlf - для работы форм со строковыми ресурсами на русском языке;
object-ru.wxlf - для работы кастомок со строковыми ресурсами на русском языке;
en.wxlf - для работы форм со строковыми ресурсами на английском языке;
object-en.wxlf - для работы кастомок со строковыми ресурсами на английском языке.
Файлы object-ru.wxlf и object-en.wxlf используются для задания строковых ресурсов для кастомных элементов (команд, объектов и т.д.).
По договоренности внутри компании: файлы ru.wxlf и en.wxlf используем для задания строковых ресурсов для форм, а файлы object-ru.wxlf и object-en.wxlf - для кастомных элементов (команд, объектов и т.д.), которые рассмотрим в одном из следующих уроков. На самом деле платформа считывает из папки Forms\Language все файлы одной локали и записывает их в один словарь. И файлов по одной локали может быть сколько угодно - отбор происходит по имени файла, оно должно оканчиваться именем локали (ru/en).
Чтобы получать значения из этих файлов, необходимо обращаться к методу GetLocalizedText(string) формы, который по ключу возвращает нужную строку из файла object-ru.wxlf или object-en.wxlf относительно текущей локали приложения.
Создадим вспомогательный класс, который будет хранить контекст формы для обращения к методу получения строковых ресурсов:
В методе InternalInit(XmlNode, IWorkflowForm) кастомных классов необходимо создавать экземпляр класса StringManager и сохранять в глобальную переменную:
Затем через метод GetString(string) по ключу получать нужную строку:
Last updated