Contenu textuel : repli en → fr
Quand vous demandez ?locale=en, chaque champ de contenu qui n’a pas de traduction anglaise retombe automatiquement sur sa valeur française. Vous ne recevez donc jamais null ni une chaîne vide à cause d’une traduction manquante.
- Le repli est configuré dans un seul sens :
en → fr. - Il n’existe pas de repli
fr → en: une requête?locale=frne va jamais chercher un texte anglais.
Réponse en=true avec un item non traduit (extrait)
Fichiers du menu (champ assets) : aucun repli
Les fichiers du menu (image ou PDF) ne se replient pas. Si la locale demandée n’a pas de fichier correspondant, le fichier est tout simplement absent.
- Sur la redirection
/r/menus?...&locale=en: si aucun fichier ne couvre l’anglais → 404 (texte brutMenu non disponible). - Dans l’API JSON : seuls les fichiers (champ
assets) correspondant à la locale sont listés.
Lire language_scope
Chaque fichier porte un champ language_scope ∈ { fr, en, fr_en } qui décrit les langues qu’il couvre :
language_scope | Couvre fr | Couvre en |
|---|---|---|
fr | ✅ | ❌ |
en | ❌ | ✅ |
fr_en | ✅ | ✅ |
fr_en est bilingue : il sert à la fois la requête fr et la requête en.
Le repli
en → fr ne s’applique qu’au contenu textuel (noms et descriptions). Les fichiers du menu (champ assets), eux, sont strictement servis dans la langue demandée : pensez à vérifier language_scope avant de construire une URL /r/menus?...&locale=en.Menu avec un fichier FR uniquement (extrait)
/r/menus?...&locale=fr renvoie le fichier, mais /r/menus?...&locale=en renvoie 404.
Tableau récapitulatif
| Type de donnée | Comportement si la traduction en est absente |
|---|---|
| Nom / description d’item | Texte FR servi à la place (jamais null) |
| Nom de section | Texte FR servi à la place (jamais null) |
| Fichier du menu (image / PDF) | Aucun repli — absent de la liste / 404 sur /r/menus |
Identité établissement (name, category…) | Non localisé — toujours la valeur FR saisie |