Messages API
При взаимодействии с интерфейсом или мобильным приложением часто требуется отображать локализованные сообщения. Поскольку эти значения уже определены в файлах .messages Jmix, Messages API передает эти значения клиентскому приложению.
Messages API состоит из следующих конечных точек:
- 
Entity Translations передает переводы для сущностей и атрибутов сущностей. 
- 
Enum Translations передает переводы для перечислений и их значений. 
| Messages API по умолчанию использует локаль пользователя, получающего токен авторизации, и возвращает соответствующе переведенные значения. | 
Перевод сущностей
Операция Entity Translations позволяет получить информацию об имени сущности и переведенных именах ее атрибутов.
- /messages/entities
- 
Перевод имени сущности и атрибутов всех сущностей. 
- /messages/entities/:entityName
- 
Перевод имени сущности и атрибутов данной сущности. 
В следующем примере мы запросим через API переведенные значения для сущности Order:
Order Entity RequestGET http://localhost:8080/rest
            /messages
            /entities
            /rstex11_Order{
  "rstex11_Order": "Order",
  "rstex11_Order.amount": "Amount",
  "rstex11_Order.createdBy": "Created by",
  "rstex11_Order.createdDate": "Created date",
  "rstex11_Order.customer": "Customer",
  "rstex11_Order.date": "Date",
  "rstex11_Order.deletedBy": "Deleted by",
  "rstex11_Order.deletedDate": "Deleted date",
  "rstex11_Order.id": "Id",
  "rstex11_Order.lastModifiedBy": "Last modified by",
  "rstex11_Order.lastModifiedDate": "Last modified date",
  "rstex11_Order.lines": "Lines",
  "rstex11_Order.version": "Version"
}Перевод перечислений
Операция Enum Translations позволяет получить информацию об имени перечисления и его переведенных значениях.
- /messages/enums
- 
Перевод имени перечисления и значений всех перечислений. 
- /messages/enums/:enumClassName
- 
Перевод имени перечисления и значений данного перечисления. 
| Параметр enumClassNameпредставляет собой полное имя перечисления, включая имя пакета. Поэтому используйтеrest.sample.entity.CustomerTypeвместо простоCustomerType. | 
В следующем примере мы запросим через API переведенные значения для перечисления CustomerType:
CustomerType RequestGET http://localhost:8080/rest
            /messages
            /enums
            /rest.sample.entity.CustomerType{
  "rest.sample.entity.CustomerType": "CustomerType",
  "rest.sample.entity.CustomerType.BUSINESS": "Business",
  "rest.sample.entity.CustomerType.PRIVATE": "Private"
}Запросить конкретные языки
Также вы можете явно запросить переведенные сообщения для конкретной локали, задав заголовок Accept-Language. В следующем примере показано, как запросить перевод перечисления CustomerType на немецкий язык:
GET http://localhost:8080/rest
            /messages
            /enums
            /rest.sample.entity.CustomerType
Accept-Language: de{
  "rest.sample.entity.CustomerType": "Kundentyp",
  "rest.sample.entity.CustomerType.BUSINESS": "Geschäftskunde",
  "rest.sample.entity.CustomerType.PRIVATE": "Privatkunde"
}