fr (le français, langue par défaut) et en (l’anglais). Il n’y a pas d’autre locale.
Le multilingue ne couvre que le contenu des menus. L’identité de l’établissement (nom, description, catégorie) n’est jamais localisée : elle est servie telle qu’elle a été saisie.
Le multilingue est un choix de l’établissement
L’anglais n’est pas une traduction automatique produite à la volée par l’API. Les langues d’un menu sont décidées au moment où l’établissement le génère. Pour chaque menu, l’établissement choisit :- les langues produites — le français (toujours présent par défaut), et éventuellement l’anglais ;
- le format des fichiers — soit un fichier par langue (vous obtenez alors des
language_scopefretendistincts), soit un seul fichier couvrant plusieurs langues (unlanguage_scopefr_en).
language_scope (fr, en, fr_en) que vous voyez sur les fichiers du menu.
Conséquence : l’anglais n’est disponible que si l’établissement l’a produit. Un menu peut n’exister qu’en français —
?locale=en renverra alors le texte français (repli en → fr) et il peut n’y avoir aucun fichier anglais. Contrôlez toujours language_scope avant d’afficher un fichier.Ce qui est traduit
Seul le contenu de menu est multilingue :- les noms et descriptions d’items ;
- les noms de sections d’un menu.
?locale sur les endpoints menus. Voir Choisir la langue.
Ce qui n’est PAS traduit
L’identité de l’établissement n’est pas localisée :name,description,category;- les coordonnées, l’adresse, les horaires.
Le champ
establishment.language vaut toujours "fr", en dur, quel que soit le contexte. Ne vous appuyez pas dessus pour deviner la langue d’une réponse — utilisez la locale que vous avez vous-même demandée.Locale par défaut et valeurs invalides
Seuls les endpoints
/menus et /menus/{menu_type_slug} consomment la locale (ainsi que la redirection /r/menus). Les endpoints establishment et hours ne sont pas localisés.
Le repli ne fonctionne que dans le sens
en → fr sur le contenu textuel : un champ sans traduction anglaise retombe sur sa valeur française. Il n’y a aucun repli fr → en, ni aucun repli sur les fichiers du menu (champ assets). Voir Comportement de repli.Pour aller plus loin
Choisir la langue
Le paramètre
?locale=fr|en sur les endpoints menus, avec des exemples curl.Comportement de repli
Le repli
en → fr sur le contenu, et l’absence de repli sur les fichiers du menu.Sites multilingues
Bonnes pratiques de cache, de build et d’affichage pour un site fr/en.
content_revision
Une révision commune à toutes les locales pour invalider votre cache.