Skip to main content
Le Commis expose deux langues : 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_scope fr et en distincts), soit un seul fichier couvrant plusieurs langues (un language_scope fr_en).
C’est ce choix qui explique les trois valeurs de 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.
Ces champs respectent le paramètre ?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.