Переводы
JSON:API поддерживает очень простую мультиязычную функциональность. Он не поддерживает продвинутые сценарии использования.
В настоящее время он использует стандартные механизмы определения языка в Drupal для выбора подходящего языка сущности и выполнения подстановки, если нужный перевод недоступен. В будущем планируется отказаться от этого механизма в пользу формальной поддержки переводов, соответствующей спецификации JSON:API, при этом сохраняя обратную совместимость.
Текущая реализация механизма определения языка:
- хорошо работает для
GET
-запросов к отдельным ресурсам, коллекциям и вложениям (includes); - поддерживает
PATCH
-запросы к переводам — обновление перевода возможно; - не поддерживает
DELETE
-запросы к переводам — можно удалить только всю сущность, а не отдельный перевод; - имеет ограниченную поддержку
POST
— можно создать сущность с нестандартным языком (langcode), но нельзя создать дополнительные переводы.
Эти ограничения являются следствием особенностей реализации переводов в Entity API. Чтобы следить за развитием полной и формальной поддержки переводов, смотрите: #2794431: [META] Formalize translations support.
Статья с сайта Drupal Documentation.