Files
Epicure/apps/web/messages/fr.json
T
Arnaud e5d1080fb9 feat: implement remaining TODO.md feature ideas + fix mobile headers
Implements the six previously-unscoped feature ideas plus a mobile
layout fix reported via screenshot:

- Mobile: Recipes/Collections/Pantry/Meal Plan/Shopping Lists headers
  now stack and wrap instead of clipping buttons on narrow viewports.
- Recipe diff/compare view: word/list diff against any past version,
  next to Restore in version history.
- Shared meal plans & shopping lists: new shoppingListMembers/
  mealPlanMembers tables (viewer/editor roles, mirrors
  collectionMembers), share dialogs, membership-checked routes.
- PDF cookbook export: /print/collection/[id] renders a whole
  collection with page breaks, using the existing print-CSS pattern
  instead of adding a PDF rendering dependency.
- Grocery delivery handoff: shopping lists can copy-as-text (works
  today) or send to Instacart once INSTACART_API_KEY is configured
  (stub adapter — real API needs a partner agreement).
- Personalized "For You" feed tab: ranks public recipes by tag/
  dietary overlap with the user's favorited/highly-rated history.
- PWA: added manifest.json + icons on top of the existing service
  worker so the app is installable; cook-mode pages were already
  cached for offline use.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-02 12:13:00 +02:00

529 lines
23 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"nav": {
"recipes": "Recettes",
"explore": "Explorer",
"search": "Rechercher",
"feed": "Fil d'actualité",
"collections": "Collections",
"mealPlan": "Planning repas",
"pantry": "Garde-manger",
"shopping": "Courses",
"settings": "Paramètres",
"admin": "Admin",
"signOut": "Se déconnecter",
"apiKeys": "Clés API",
"webhooks": "Webhooks",
"language": "Langue"
},
"recipe": {
"ingredients": "Ingrédients",
"instructions": "Instructions",
"photos": "Photos",
"servings": "{count} portions",
"prep": "{mins}m prép.",
"cook": "{mins}m cuisson",
"total": "{mins}m total",
"edit": "Modifier",
"variations": "Variations",
"save": "Enregistrer",
"cancel": "Annuler",
"delete": "Supprimer",
"noIngredientsSteps": "Pas encore d'ingrédients ni d'étapes.",
"generateContent": "Générer avec l'IA",
"editManually": "Modifier manuellement",
"deleted": "Recette supprimée",
"deleteFailed": "Échec de la suppression",
"imported": "Recette importée ! Vérifiez avant de publier.",
"adapted": "Recette adaptée enregistrée comme brouillon",
"adaptFailed": "Échec de l'adaptation de la recette",
"adaptConstraintRequired": "Sélectionnez au moins un ingrédient à exclure ou ajoutez une contrainte",
"adaptConstraintPlaceholder": "ex. Rendre végétalien, réduire les calories, utiliser seulement les produits du garde-manger, sans gluten…",
"variationsDirectionsPlaceholder": "ex. rendre végétalien, utiliser uniquement les produits du garde-manger, réduire le sucre…",
"historyRestoreFailed": "Échec de la restauration de la version",
"pairingMealFailed": "Échec de la suggestion d'accompagnements",
"pairingDrinkFailed": "Échec de la suggestion de boissons",
"pairingGenerateFailed": "Échec de la génération de « {name} »",
"pairingSaveFailed": "Échec de l'enregistrement de « {name} »",
"pairingSuccess": "Recette générée — vérifiez avant de publier",
"pairingBulkSuccess": "{count} recettes générées — retrouvez-les dans votre bibliothèque",
"cookAction": "Cuisiner",
"photoImportFailed": "Échec de l'importation de la recette depuis la photo.",
"shoppingListCreateFailed": "Échec de la création de la liste",
"shoppingListAddFailed": "Échec de l'ajout des ingrédients",
"bulkDeleted": "{count, plural, one {1 recette supprimée} other {{count} recettes supprimées}}",
"bulkVisibility": "{count, plural, one {1 recette définie sur {visibility}} other {{count} recettes définies sur {visibility}}}",
"bulkDeleteFailed": "Échec de la suppression",
"bulkUpdateFailed": "Échec de la mise à jour",
"visibility": {
"private": "Privée",
"unlisted": "Non répertoriée",
"public": "Publique"
},
"difficulty": {
"easy": "Facile",
"medium": "Moyen",
"hard": "Difficile"
},
"dietary": {
"vegan": "Végétalien",
"vegetarian": "Végétarien",
"glutenFree": "Sans gluten",
"dairyFree": "Sans lactose",
"nutFree": "Sans noix",
"halal": "Halal",
"kosher": "Casher"
}
},
"ai": {
"generate": {
"title": "Générer une recette avec l'IA",
"description": "Décrivez ce que vous voulez cuisiner et l'IA créera une recette complète.",
"descriptionFull": "Décrivez un plat ou prenez une photo — l'IA construit la recette complète.",
"tabDescribe": "Décrire",
"tabPhoto": "Depuis une photo",
"surpriseMe": "Surprends-moi",
"prompt": "Que voulez-vous cuisiner ?",
"placeholder": "ex. Un risotto crémeux aux champignons et parmesan, 4 portions, niveau facile",
"language": "Langue de la recette",
"difficulty": "Difficulté",
"anyDifficulty": "Toutes",
"button": "Générer",
"generating": "Génération en cours…",
"success": "Recette générée ! Vérifiez et modifiez avant de publier.",
"error": "Échec de la génération de la recette",
"saveError": "Échec de l'enregistrement de la recette générée",
"uploadClick": "Cliquez pour importer",
"uploadDrag": "ou glissez une photo du plat",
"uploadFormats": "JPEG, PNG ou WebP · l'IA reconstituera la recette",
"analyzing": "Analyse en cours…",
"analyzePhoto": "Analyse de la photo du plat…",
"recognizeDish": "Reconnaître le plat",
"photoSuccess": "Recette reconnue ! Vérifiez et modifiez avant de publier.",
"photoError": "Échec de l'analyse de la photo",
"contentGenerated": "Ingrédients et étapes générés !",
"contentGenerateFailed": "Échec de la génération",
"contentSaveFailed": "Échec de l'enregistrement du contenu généré",
"generatingContent": "Génération du contenu de la recette…"
},
"variations": {
"title": "Variations de recette par IA",
"description": "Générez des variations créatives de cette recette — adaptations diététiques, profils de saveurs, changements de techniques.",
"generate": "Générer 3 variations",
"generating": "Génération des variations…",
"regenerate": "Régénérer",
"apply": "Appliquer",
"applying": "Application…",
"ingredientChanges": "Changements d'ingrédients",
"stepChanges": "Changements d'étapes",
"success": "Variation créée — vérifiez et modifiez avant de publier.",
"error": "Échec de la génération des variations",
"saveError": "Échec de l'enregistrement de la variation",
"wait": "Cela peut prendre 20 à 30 secondes"
},
"translate": {
"title": "Traduire la recette",
"description": "Traduisez le titre, la description, les ingrédients et les étapes de cette recette dans une autre langue.",
"targetLanguage": "Langue cible",
"button": "Traduire",
"translating": "Traduction en cours…",
"success": "Traduction enregistrée comme nouveau brouillon.",
"error": "Échec de la traduction de la recette",
"saveError": "Échec de l'enregistrement de la recette traduite",
"wait": "Cela peut prendre 20 à 30 secondes"
}
},
"settings": {
"title": "Paramètres",
"profile": "Profil",
"language": "Langue",
"units": "Unités",
"metric": "Métrique",
"imperial": "Impérial"
},
"print": {
"footer": "Imprimé depuis Epicure",
"day": "Jour",
"srv": " · {count} pers.",
"days": {
"mon": "Lundi",
"tue": "Mardi",
"wed": "Mercredi",
"thu": "Jeudi",
"fri": "Vendredi",
"sat": "Samedi",
"sun": "Dimanche"
}
},
"publicRecipe": {
"publicRecipeBy": "Recette publique par",
"viewInLibrary": "Voir dans votre bibliothèque",
"signUpFree": "S'inscrire gratuitement",
"logIn": "Se connecter",
"wantToSave": "Envie de sauvegarder cette recette ?",
"wantToSaveDescription": "Créez un compte gratuit pour sauvegarder des recettes, ajuster les portions et construire votre propre bibliothèque.",
"getStartedFree": "Commencer gratuitement"
},
"substitute": {
"fetchError": "Impossible de récupérer les substituts.",
"titleFor": "Substitut pour {ingredient}",
"substitutesFor": "Substituts pour",
"finding": "Recherche de substituts…",
"noneFound": "Aucune substitution trouvée."
},
"recipeChat": {
"sorry": "Désolé, je n'ai pas pu répondre à cela.",
"error": "Une erreur s'est produite. Veuillez réessayer.",
"suggestion1": "Puis-je substituer des ingrédients ?",
"suggestion2": "Comment savoir quand c'est prêt ?",
"suggestion3": "Puis-je préparer cela à l'avance ?",
"suggestion4": "Avec quoi puis-je servir ce plat ?",
"ariaLabel": "Demander à l'IA à propos de cette recette",
"title": "Poser une question sur cette recette",
"intro": "Demandez n'importe quoi sur cette recette — ingrédients, techniques, substitutions, minutage…",
"inputPlaceholder": "Posez une question…"
},
"servingScaler": {
"servings": "Portions",
"reset": "Réinitialiser",
"aiScale": "Ajuster avec l'IA",
"scaling": "Ajustement…",
"aiScaledNote": "Quantités ajustées par l'IA affichées ci-dessous"
},
"explore": {
"searchPlaceholder": "Rechercher des recettes publiques…",
"maxMinutes": "Minutes max",
"aiSearchPlaceholder": "ex. dîners rapides en semaine, cuisine réconfortante italienne…"
},
"common": {
"loading": "Chargement…",
"error": "Une erreur s'est produite",
"save": "Enregistrer",
"saved": "Enregistré",
"saveFailed": "Échec de l'enregistrement",
"deleteFailed": "Échec de la suppression",
"updateFailed": "Échec de la mise à jour",
"copyFailed": "Échec de la copie dans le presse-papiers",
"deleted": "Supprimé",
"cancel": "Annuler",
"delete": "Supprimer",
"confirm": "Confirmer",
"back": "Retour",
"difficulty": "Difficulté",
"anyDifficulty": "Toutes",
"editManually": "Modifier manuellement",
"surpriseMe": "Surprends-moi",
"generatingContent": "Génération du contenu de la recette…"
},
"auth": {
"signIn": "Se connecter",
"signInTitle": "Connectez-vous à votre bibliothèque de recettes",
"signInLoading": "Connexion en cours…",
"signUp": "S'inscrire",
"signUpTitle": "Créer un compte",
"signUpSubtitle": "Commencez à construire votre bibliothèque de recettes",
"signUpLoading": "Création du compte…",
"continueWithGoogle": "Continuer avec Google",
"continueWithGithub": "Continuer avec GitHub",
"continueWithDiscord": "Continuer avec Discord",
"continueWithAuthentik": "Continuer avec Authentik",
"email": "E-mail",
"emailPlaceholder": "vous@exemple.fr",
"password": "Mot de passe",
"name": "Nom",
"namePlaceholder": "Votre nom",
"forgotPassword": "Mot de passe oublié ?",
"forgotPasswordTitle": "Mot de passe oublié",
"forgotPasswordSent": "Vérifiez vos e-mails",
"forgotPasswordDescription": "Saisissez votre e-mail et nous vous enverrons un lien de réinitialisation.",
"forgotPasswordSentDescription": "Si un compte existe pour cet e-mail, vous recevrez un lien sous peu.",
"sendResetLink": "Envoyer le lien",
"sendingLink": "Envoi en cours…",
"resetPasswordTitle": "Réinitialiser le mot de passe",
"resetPasswordDescription": "Saisissez un nouveau mot de passe pour votre compte.",
"newPassword": "Nouveau mot de passe",
"confirmPassword": "Confirmer le mot de passe",
"updatePassword": "Mettre à jour le mot de passe",
"updatingPassword": "Mise à jour…",
"invalidToken": "Jeton de réinitialisation invalide ou manquant.",
"noAccount": "Pas de compte ? S'inscrire",
"alreadyHaveAccount": "Déjà un compte ? Se connecter",
"backToSignIn": "Retour à la connexion",
"emailNotVerified": "E-mail non vérifié",
"checkInboxVerification": "Vérifiez votre boîte de réception pour l'e-mail de vérification.",
"resendVerification": "Renvoyer l'e-mail de vérification",
"resendingSending": "Envoi en cours…",
"or": "ou"
},
"recipes": {
"title": "Recettes",
"subtitle": "Votre bibliothèque personnelle de recettes",
"new": "Nouvelle recette",
"newTitle": "Nouvelle recette",
"newSubtitle": "Créez votre recette depuis zéro",
"importUrl": "Importer une URL",
"generate": "Générer",
"search": "Rechercher des recettes…",
"noRecipes": "Aucune recette pour l'instant",
"noMatch": "Aucune recette ne correspond",
"clearSearch": "Effacer la recherche",
"createFirst": "Créer votre première recette",
"resultSingular": "résultat",
"resultPlural": "résultats",
"for": "pour",
"filterByTag": "Filtrer par tag…"
},
"recipeForm": {
"titleLabel": "Titre *",
"titleRequired": "Le titre est requis",
"titlePlaceholder": "Ma super recette",
"descriptionLabel": "Description",
"descriptionPlaceholder": "Ce qui rend cette recette spéciale…",
"servings": "Portions",
"prepMins": "Prép. (min)",
"cookMins": "Cuisson (min)",
"difficulty": "Difficulté",
"visibility": "Visibilité",
"dietaryTags": "Tags alimentaires",
"photos": "Photos",
"ingredients": "Ingrédients",
"amount": "Quantité",
"unit": "Unité",
"ingredient": "Ingrédient",
"note": "Note",
"addIngredient": "Ajouter un ingrédient",
"setCover": "Définir comme couverture",
"removePhoto": "Supprimer",
"expand": "Développer",
"steps": "Étapes",
"stepPlaceholder": "Étape {n}…",
"timerSeconds": "Minuteur (s)",
"addStep": "Ajouter une étape",
"saving": "Enregistrement…",
"saveChanges": "Enregistrer les modifications",
"createRecipe": "Créer la recette",
"updateSuccess": "Recette mise à jour",
"createSuccess": "Recette créée",
"saveError": "Échec de l'enregistrement de la recette"
},
"canCook": {
"title": "Que puis-je cuisiner ?",
"subtitle": "Recettes réalisables avec votre garde-manger",
"emptyPantry": "Votre garde-manger est vide",
"addPantryItems": "Ajouter des articles",
"readyToCook": "Prêt à cuisiner",
"almostThere": "Presque là (7099 %)",
"partialMatches": "Correspondances partielles",
"noMatches": "Aucune correspondance trouvée",
"missing": "Manquant",
"ingredientProgress": "{matched}/{total} ingrédients",
"useItUp": "À utiliser vite"
},
"mealPlan": {
"title": "Planning repas",
"shoppingLists": "Listes de courses",
"addTo": "Ajouter à {day} {meal}",
"searchRecipes": "Rechercher des recettes…",
"servings": "Portions",
"servingsAbbrev": "{count} pers.",
"difficulty": "Difficulté",
"noRecipes": "Aucune recette trouvée",
"addFailed": "Échec de l'ajout",
"addedToPantry": "{count, plural, one {1 article ajouté au garde-manger} other {{count} articles ajoutés au garde-manger}}",
"moveToPantryFailed": "Échec du déplacement des articles vers le garde-manger",
"aisleOther": "Autre",
"listEmptyState": "Cette liste est vide.",
"checkedCount": "{checked}/{total} cochés",
"moveToPantry": "Déplacer {count} vers le garde-manger",
"listCreated": "Liste créée",
"days": {
"mon": "Lun",
"tue": "Mar",
"wed": "Mer",
"thu": "Jeu",
"fri": "Ven",
"sat": "Sam",
"sun": "Dim"
},
"meals": {
"breakfast": "Petit-déjeuner",
"lunch": "Déjeuner",
"dinner": "Dîner",
"snack": "Collation"
},
"generateWithAi": "Générer avec l'IA",
"aiModalDescription": "L'IA va générer une semaine complète de repas et créer des recettes brouillons.",
"dietaryPrefs": "Préférences alimentaires",
"dietaryPrefsPlaceholder": "ex. végétarien, sans gluten, low-carb…",
"aiPantryNote": "Les articles de votre garde-manger seront pris en compte.",
"generating": "Génération…",
"generate": "Générer",
"cancel": "Annuler",
"aiGenerated": "Plan de repas généré !",
"includePantryItems": "Inclure les articles du garde-manger",
"pantryMode": "Mode garde-manger — maximiser ce que vous avez",
"pantryModeDescription": "Préférer les repas utilisant plusieurs ingrédients du garde-manger et limiter les achats supplémentaires."
},
"pantry": {
"title": "Garde-manger",
"subtitle": "Suivez ce que vous avez en stock",
"canCook": "Que puis-je cuisiner ?"
},
"feed": {
"title": "Fil d'actualité",
"followEmpty": "Suivez des chefs pour voir leurs recettes ici.",
"noNew": "Aucune nouvelle recette de vos abonnements.",
"following": "Abonnements",
"trending": "Tendances",
"trendingEmpty": "Aucune recette tendance cette semaine.",
"forYou": "Pour vous",
"forYouEmpty": "Ajoutez des favoris ou notez des recettes pour des suggestions personnalisées.",
"loading": "Chargement…"
},
"shoppingLists": {
"title": "Listes de courses",
"subtitle": "Planifiez vos courses",
"empty": "Aucune liste de courses",
"listEmpty": "Vide",
"generated": "Générée",
"items": "{checked}/{total} articles",
"itemsChecked": "{checked}/{total} articles cochés",
"fromMealPlan": " · Depuis le planning repas",
"addToList": "Ajouter à la liste",
"dialogTitle": "Ajouter à la liste de courses",
"dialogDescription": "Ajouter les ingrédients de <strong>{title}</strong> à une liste de courses.",
"scaledSuffix": "ajustée)",
"loadingLists": "Chargement de vos listes…",
"modeExisting": "Ajouter à une liste existante",
"modeNew": "Créer une nouvelle liste",
"listNamePlaceholder": "Nom de la liste",
"ingredientsWillBeAdded": "{count, plural, one {1 ingrédient sera ajouté.} other {{count} ingrédients seront ajoutés.}}",
"adding": "Ajout…",
"addIngredients": "Ajouter les ingrédients",
"addedCount": "{count} ingrédients ajoutés à la liste"
},
"collections": {
"title": "Collections",
"subtitle": "Organisez vos recettes favorites en collections",
"empty": "Aucune collection pour l'instant",
"public": "Publique",
"recipeCount": "{count} recette",
"recipeCountPlural": "{count} recettes"
},
"social": {
"followed": "Abonné",
"unfollowed": "Désabonné",
"commentFailed": "Échec de la publication du commentaire",
"deleted": "Supprimé",
"ratingSaved": "Note enregistrée",
"collectionCreated": "Collection créée",
"collectionForked": "Collection dupliquée dans votre bibliothèque",
"inviteSent": "Invitation envoyée",
"memberRemoved": "Membre supprimé",
"replyPlaceholder": "Répondre…",
"commentPlaceholder": "Partagez vos impressions…"
},
"cookingMode": {
"cooking": "En cuisine",
"stepOf": "Étape {current} sur {total}",
"ingredients": "Ingrédients",
"startTimer": "Démarrer le minuteur",
"timerDone": "Terminé",
"pause": "Pause",
"reset": "Réinitialiser",
"previous": "Précédent",
"next": "Suivant",
"finish": "Terminé !",
"voiceNotSupported": "Commandes vocales non supportées dans ce navigateur",
"voiceError": "Erreur vocale — réessayez",
"enableVoice": "Activer les commandes vocales",
"stopVoice": "Désactiver les commandes vocales",
"toggleIngredients": "Afficher les ingrédients",
"pageTitle": "Cuisiner : {title}",
"pageTitleFallback": "Mode cuisine",
"shortcutsTitle": "Raccourcis et commandes",
"keyboardSection": "Clavier",
"voiceSection": "Commandes vocales",
"enableMicFirst": "Activez le micro via le bouton micro d'abord.",
"stepRepeatPrefix": "Étape {n} : ",
"shortcuts": {
"nextStep": "Étape suivante",
"prevStep": "Étape précédente",
"startTimer": "Démarrer le minuteur",
"toggleHelp": "Afficher/masquer ce panneau",
"exitMode": "Quitter le mode cuisine"
},
"voiceLabels": {
"nextCmd": "suivant / continuer",
"prevCmd": "précédent / retour",
"timerCmd": "minuteur / démarrer",
"stopCmd": "arrêter / pause",
"resetCmd": "réinitialiser",
"repeatCmd": "répéter / encore",
"nextLabel": "Étape suivante",
"prevLabel": "Étape précédente",
"timerLabel": "Démarrer le minuteur",
"stopLabel": "Mettre en pause",
"resetLabel": "Réinitialiser le minuteur",
"repeatLabel": "Relire l'étape"
}
},
"settingsForm": {
"profile": "Profil",
"displayName": "Nom d'affichage",
"email": "E-mail",
"emailReadOnly": "L'e-mail ne peut pas être modifié ici.",
"saving": "Enregistrement…",
"title": "Paramètres",
"subtitle": "Gérez votre compte et vos préférences",
"language": "Langue",
"languageDescription": "Choisissez la langue de l'application et du contenu généré par l'IA.",
"changeEmail": "Changer l'e-mail",
"newEmail": "Nouvelle adresse e-mail",
"changeEmailDescription": "Un lien de vérification sera envoyé à votre nouvelle adresse avant que la modification soit prise en compte.",
"sendVerification": "Envoyer la vérification",
"sendingVerification": "Envoi…",
"emailChangeSent": "E-mail de vérification envoyé. Vérifiez votre boîte de réception.",
"emailChangeFailed": "Échec de l'envoi de l'e-mail de vérification.",
"changePassword": "Changer le mot de passe",
"currentPassword": "Mot de passe actuel",
"newPassword": "Nouveau mot de passe",
"confirmPassword": "Confirmer le nouveau mot de passe",
"passwordMismatch": "Les mots de passe ne correspondent pas.",
"changingPassword": "Modification…",
"changePasswordButton": "Changer le mot de passe",
"passwordChanged": "Mot de passe modifié avec succès.",
"passwordChangeFailed": "Échec de la modification du mot de passe.",
"webhookCreateFailed": "Échec de la création du webhook",
"webhookDeleteFailed": "Échec de la suppression du webhook",
"webhookUpdateFailed": "Échec de la mise à jour du webhook",
"webhookUrlPlaceholder": "https://exemple.fr/webhook",
"webhookAdding": "Ajout…",
"webhookAddButton": "Ajouter un webhook",
"redeliverySuccess": "Renvoi mis en file d'attente",
"redeliveryFailed": "Échec du renvoi",
"apiKeyCreateFailed": "Échec de la création de la clé API",
"apiKeyRevokeFailed": "Échec de la révocation de la clé API",
"apiKeyNamePlaceholder": "ex. Mon application",
"copyFailed": "Échec de la copie dans le presse-papiers",
"byokSaved": "Clé {provider} enregistrée",
"byokSaveFailed": "Échec de l'enregistrement de la clé",
"byokRemoved": "Clé {provider} supprimée",
"byokRemoveFailed": "Échec de la suppression de la clé",
"modelSaved": "Préférences de modèle enregistrées",
"modelSaveFailed": "Échec de l'enregistrement",
"modelDefaultPlaceholder": "Par défaut",
"modelNamePlaceholder": "ex. llama3.2",
"userUpdated": "Utilisateur mis à jour avec succès",
"userUpdateFailed": "Échec de l'enregistrement",
"adminSettingsSaved": "Paramètres enregistrés",
"adminSettingsFailed": "Échec de l'enregistrement des paramètres",
"nutritionGoalsSaved": "Objectifs nutritionnels enregistrés",
"bio": "Bio",
"publicBio": "Bio publique",
"publicBioDescription": "Affichée sur votre profil public.",
"publicBioPlaceholder": "Parlez de vous aux autres cuisiniers…",
"privateBio": "Contexte IA (privé)",
"privateBioDescription": "Jamais visible publiquement. Injecté dans les prompts IA pour personnaliser les suggestions — ajoutez vos préférences alimentaires, équipements, niveau de cuisine, allergies, etc.",
"privateBioPlaceholder": "ex. Je suis végétarien, j'ai un robot pâtissier et une friteuse à air, niveau intermédiaire, allergique aux fruits à coque, je préfère les saveurs méditerranéennes…"
}
}