Traductions
JSON:API prend en charge une fonctionnalité multilingue très simple. Il ne supporte pas les cas d’usage avancés.
Il s’appuie actuellement sur les mécanismes de négociation de langue par défaut de Drupal pour négocier la langue appropriée d’une entité et revenir en arrière si cette traduction n’est pas disponible. À long terme, l’objectif est de s’éloigner de ce mécanisme tout en conservant la compatibilité ascendante ; nous souhaitons ajouter un support formel de la traduction conforme à la spécification JSON:API.
Le mécanisme actuel de négociation de langue :
- fonctionne bien pour les requêtes
GET
sur les ressources individuelles, les collections de ressources et les inclusions. - supporte les requêtes
PATCH
sur les traductions : la mise à jour des traductions est possible. - ne supporte pas les requêtes
DELETE
: seule la ressource entière (entité) peut être supprimée, pas uniquement une traduction. - a un support limité des requêtes
POST
: il supporte la création d’une entité avec un code langue non par défaut dans une requêtePOST
, mais ne permet pas la création de traductions supplémentaires.
Ces limitations sont dues aux particularités du traitement des traductions dans l’API Entity sous-jacente. Pour suivre le développement d’un support complet et formel des traductions, voir : #2794431 : [META] Formaliser le support des traductions
Article extrait de la documentation Drupal.