ManagedBean, содержащий вспомогательные методы работы с локализованными сообщениями. Интерфейс MessageTools
можно получить либо методом Messages.getTools()
, либо как любой другой бин - инжекцией или через класс AppBeans
.
Методы MessageTools
:
-
loadString()
- возвращает локализованное сообщение, заданное ссылкой видаmsg://{messagePack}/{key}
.Составные части ссылки:
-
msg://
- обязательный префикс. -
{messagePack}
- необязательное имя пакета сообщения. Если не указано, предполагается, что имя пакета передается вloadString()
отдельным параметром. -
{key}
- ключ сообщения в пакете.
Примеры ссылок на сообщения:
msg://someMessage msg://com.abc.sales.web.customer/someMessage
-
-
getEntityCaption()
- возвращает локализованное название сущности. -
getPropertyCaption()
- возвращает локализованное название атрибута сущности. -
hasPropertyCaption()
- определяет, задано ли для атрибута сущности локализованное название. -
getLocValue()
- возвращает локализованное значение атрибута сущности, основываясь на определении аннотации@LocalizedValue
. -
getMessageRef()
- формирует для мета-свойства ссылку на сообщение, по которой можно получить локализованное название атрибута сущности. -
getDefaultLocale()
- возвращает локаль приложения по умолчанию, то есть указанную первой в списке свойства cuba.availableLocales . -
useLocaleLanguageOnly()
- возвращаетtrue
, если в списке поддерживаемых приложением локалей, заданном свойством cuba.availableLocales , для всех локалей определен только язык, аcountry
иvariant
не указаны. Этим методом пользуются механизмы платформы, которым необходимо найти наиболее подходящую локаль из списка поддерживаемых на основе локали, полученной из внешних источников, таких как операционная система или HTTP запрос. -
trimLocale()
- удаляет из переданной локали все кроме языка, если методuseLocaleLanguageOnly()
возвращаетtrue
.
Для расширения набора вспомогательных методов в конкретном приложении бин MessageTools
можно переопределить. Примеры работы с расширенным интерфейсом:
MyMessageTools tools = messages.getTools(); tools.foo();
((MyMessageTools) messages.getTools()).foo();