75591bb294
Free 10->5 i kod, test, paywall-copy (12 sprak) och docs. Full trappa: free 5 / trial 14d 25 skann / premium 100/200/400.
448 lines
26 KiB
JSON
448 lines
26 KiB
JSON
{
|
||
"auth.backToLogin": "Retour à la connexion",
|
||
"auth.displayName": "Comment vous appeler ?",
|
||
"auth.email": "E-mail",
|
||
"auth.forgotBody": "Saisissez votre e-mail : nous enverrons un lien si le compte existe.",
|
||
"auth.forgotLink": "Mot de passe oublié ?",
|
||
"auth.forgotSentBody": "Si l'adresse possède un compte, un lien valable 30 minutes a été envoyé. Ouvrez-le sur cet appareil.",
|
||
"auth.forgotSentTitle": "Vérifiez votre boîte mail",
|
||
"auth.forgotSubmit": "Envoyer le lien",
|
||
"auth.forgotTitle": "Réinitialiser le mot de passe",
|
||
"auth.hasAccount": "Déjà un compte ? Connectez-vous",
|
||
"auth.login": "Se connecter",
|
||
"auth.newPassword": "Nouveau mot de passe (10 caractères min.)",
|
||
"auth.noAccount": "Nouveau ? Créez un compte",
|
||
"auth.password": "Mot de passe",
|
||
"auth.register": "Créer un compte",
|
||
"auth.resetBody": "Le lien est valable 30 minutes et à usage unique. Tous les appareils seront déconnectés.",
|
||
"auth.resetDoneBody": "Votre mot de passe a été changé. Connectez-vous avec le nouveau.",
|
||
"auth.resetDoneTitle": "C'est fait !",
|
||
"auth.resetSubmit": "Changer le mot de passe",
|
||
"auth.resetTitle": "Choisissez un nouveau mot de passe",
|
||
"auth.resetTokenPlaceholder": "Collez le code reçu par e-mail",
|
||
"auth.trialNote": "14 jours d'accès complet – sans carte.",
|
||
"auth.verifyDoneBody": "Merci ! Votre compte est vérifié.",
|
||
"auth.verifyDoneTitle": "E-mail confirmé",
|
||
"auth.verifyFailedBody": "Le lien est invalide ou expiré. Demandez-en un nouveau depuis votre profil.",
|
||
"auth.verifyFailedTitle": "Le lien n'a pas fonctionné",
|
||
"barcode.addPrompt": "Ajouter au stock ?",
|
||
"barcode.aim": "Visez le code-barres avec l'appareil photo",
|
||
"barcode.allowCamera": "Autoriser l'appareil photo",
|
||
"barcode.cameraBody": "{brand} a besoin de l'appareil photo pour scanner les codes-barres.",
|
||
"barcode.cameraTitle": "Appareil photo requis",
|
||
"barcode.kcalPer100": "{kcal} kcal/100 g",
|
||
"barcode.needHousehold": "Il vous faut d'abord un foyer.",
|
||
"barcode.noLocation": "Aucun lieu de stockage trouvé.",
|
||
"barcode.noNutrition": "Pas de données nutritionnelles",
|
||
"barcode.photoPackage": "Photographier l'emballage",
|
||
"barcode.unknownBody": "Ce produit n'est pas encore dans la base. Photographiez l'avant et l'étiquette nutritionnelle et nous l'ajouterons.",
|
||
"barcode.unknownTitle": "Produit inconnu",
|
||
"common.add": "Ajouter",
|
||
"common.back": "Retour",
|
||
"common.cancel": "Annuler",
|
||
"common.done": "Terminé",
|
||
"common.error": "Un problème est survenu. Réessayez.",
|
||
"common.estimate": "Estimation",
|
||
"common.loading": "Chargement …",
|
||
"common.next": "Suivant",
|
||
"common.off": "Désactivé",
|
||
"common.offline": "Hors ligne – dernières données chargées",
|
||
"common.on": "Activé",
|
||
"common.oops": "Oups",
|
||
"common.remove": "Retirer",
|
||
"common.retry": "Réessayer",
|
||
"common.save": "Enregistrer",
|
||
"common.skip": "Passer",
|
||
"common.undo": "Rétablir",
|
||
"cooked.deductPantry": "Déduire les ingrédients du stock",
|
||
"cooked.deductPantryNote": "Les ingrédients sont déduits du stock, en commençant par ceux qui expirent en premier.",
|
||
"cooked.mealBoxes": "Portions en lunchbox",
|
||
"cooked.portionsCooked": "Portions cuisinées",
|
||
"cooked.rate": "Noter",
|
||
"cooked.title": "Alors, verdict ?",
|
||
"cooked.actualPortionsEaten": "Combien de portions avez-vous mangées?",
|
||
"cooked.actualPortionsEatenHint": "Le reste devient des restes ou des lunchboxes.",
|
||
"cooked.leftoverEstimatePortions": "Combien de portions de restes?",
|
||
"cooked.leftoverEstimateHint": "Enregistré comme lunchbox si vous voulez.",
|
||
"cooked.whoAte": "Qui a mangé ?",
|
||
"cooking.finish": "Terminé – enregistrer le repas",
|
||
"cooking.keepAwake": "L'écran reste allumé pendant que vous cuisinez",
|
||
"cooking.scale": "Portions",
|
||
"cooking.step": "Étape {current} sur {total}",
|
||
"cooking.timer": "Lancer le minuteur",
|
||
"cooking.timerDone": "Terminé !",
|
||
"cooking.timerRunning": "{time} restants",
|
||
"home.budget": "Budget",
|
||
"home.emptyInventory": "Le stock est vide. Scannez le frigo ou ajoutez manuellement.",
|
||
"home.expired": "Expiré",
|
||
"home.expiresIn_one": "1 jour restant",
|
||
"home.expiresIn_other": "{days} jours restants",
|
||
"home.expiresToday": "Expire aujourd'hui",
|
||
"home.household": "Foyer",
|
||
"home.inventory": "Stock",
|
||
"home.mealBoxes": "Lunchbox",
|
||
"home.moreItems_one": "+ 1 autre …",
|
||
"home.moreItems_other": "+ {count} autres …",
|
||
"home.pastBestBefore": "DLUO dépassée : sentez et goûtez d'abord",
|
||
"home.shopping": "Liste de courses",
|
||
"home.thisWeek": "Cette semaine",
|
||
"home.title": "À la maison",
|
||
"home.useSoon": "À consommer vite",
|
||
"home.useSoonHint": "La DDM (à consommer de préférence) concerne la qualité : sentez, regardez et goûtez avant de jeter. La DLC doit en revanche être respectée.",
|
||
"home.waste": "Gaspillage",
|
||
"home.wasteWeek": "Gaspillage cette semaine",
|
||
"household.empty": "Vous n'avez pas encore de foyer. Créez-en un lors de l'intégration ou rejoignez-en un avec un code.",
|
||
"household.invite": "Inviter avec le code : {code}",
|
||
"household.locations": "Lieux de stockage",
|
||
"household.members": "Membres",
|
||
"household.portionFactor": "×{factor} portion",
|
||
"household.private": "Privé par personne : objectifs, allergies, données de santé et historique des repas.",
|
||
"household.role.adult": "Adulte",
|
||
"household.role.child": "Enfant",
|
||
"household.role.member": "Membre",
|
||
"household.role.owner": "Propriétaire",
|
||
"household.shareCode": "Partagez le code avec votre famille pour partager stock, liste et planning.",
|
||
"household.shared": "Partagé dans le foyer : stock, liste de courses, plan de semaine, lunchbox et budget.",
|
||
"logmeal.manualTitle": "Manuel",
|
||
"logmeal.mealTypeTitle": "Type de repas",
|
||
"logmeal.photoTip": "Astuce : photographiez l'assiette dans Scanner, l'app estime pour vous – vous confirmez toujours.",
|
||
"logmeal.proteinPlaceholder": "protéines (g)",
|
||
"logmeal.quickSubtitle": "Enregistre les mêmes valeurs nutritionnelles que la dernière fois.",
|
||
"logmeal.quickTitle": "Enregistrement rapide",
|
||
"logmeal.validationBody": "Le nom et les calories sont requis pour un enregistrement manuel.",
|
||
"logmeal.validationTitle": "Infos manquantes",
|
||
"logmeal.whatPlaceholder": "Qu'avez-vous mangé ?",
|
||
"mealbox.eat": "Manger maintenant",
|
||
"mealbox.eatBy": "À consommer avant le {date}",
|
||
"mealbox.empty": "Aucune lunchbox pour l'instant. En cuisinant, gardez des portions ici.",
|
||
"mealbox.enjoyBody": "La portion est enregistrée dans Ma journée.",
|
||
"mealbox.enjoyTitle": "Bon appétit !",
|
||
"mealbox.guidanceNote": "Le délai recommandé est indicatif : fiez-vous à l'odeur et au goût.",
|
||
"mealbox.portionsLeft_one": "1 portion restante",
|
||
"mealbox.portionsLeft_other": "{count} portions restantes",
|
||
"mealbox.title": "Lunchbox",
|
||
"memory.delete": "Supprimer",
|
||
"memory.deleteAll": "Supprimer toute la mémoire",
|
||
"memory.deleteAllTitle": "Supprimer toute la mémoire ?",
|
||
"memory.empty": "{brand} n'a encore rien appris sur vous.",
|
||
"memory.irreversible": "Cette action est irréversible.",
|
||
"memory.origin.ai_inferred": "Hypothèse de l'IA",
|
||
"memory.origin.observed": "Habitude observée",
|
||
"memory.origin.user_stated": "Vous nous l'avez dit",
|
||
"memory.pause": "Pause",
|
||
"memory.paused": "En pause",
|
||
"memory.resume": "Reprendre",
|
||
"memory.subtitle": "Transparence totale. Corrigez, mettez en pause ou supprimez : votre mémoire vous appartient.",
|
||
"memory.title": "Ce que {brand} sait de moi",
|
||
"memory.verified": "Vérifié",
|
||
"memory.verify": "Exact",
|
||
"myday.calories": "Calories",
|
||
"myday.carbs": "Glucides",
|
||
"myday.estimateNote": "Les valeurs avec ~ sont des estimations ajustables.",
|
||
"myday.estimateRange": "{min}–{max} kcal, probablement {kcal}",
|
||
"myday.fat": "Lipides",
|
||
"myday.fiber": "Fibres",
|
||
"myday.kcalProtein": "{kcal} kcal · {protein} g de protéines",
|
||
"myday.logMeal": "Enregistrer un repas",
|
||
"myday.mealType.breakfast": "Petit-déjeuner",
|
||
"myday.mealType.dessert": "Dessert",
|
||
"myday.mealType.dinner": "Dîner",
|
||
"myday.mealType.lunch": "Déjeuner",
|
||
"myday.mealType.snack": "Encas",
|
||
"myday.noMeals": "Aucun repas enregistré aujourd'hui.",
|
||
"myday.over": "{kcal} kcal au-dessus de l'objectif",
|
||
"myday.overRecommended": "Au-dessus du recommandé",
|
||
"myday.protein": "Protéines",
|
||
"myday.remaining": "{kcal} kcal restantes",
|
||
"myday.salt": "Sel",
|
||
"myday.targetsNote": "Les objectifs sont des repères, pas un avis médical.",
|
||
"myday.title": "Ma journée",
|
||
"myday.todaysMeals": "Repas du jour",
|
||
"onboarding.allergen.crustaceans": "Crustacés",
|
||
"onboarding.allergen.eggs": "Œufs",
|
||
"onboarding.allergen.fish": "Poisson",
|
||
"onboarding.allergen.gluten": "Gluten",
|
||
"onboarding.allergen.milk": "Lait/lactose",
|
||
"onboarding.allergen.peanuts": "Arachides",
|
||
"onboarding.allergen.sesame": "Sésame",
|
||
"onboarding.allergen.soy": "Soja",
|
||
"onboarding.allergen.tree_nuts": "Fruits à coque",
|
||
"onboarding.allergies": "Allergies et intolérances",
|
||
"onboarding.allergyNote": "Le filtre allergies est toujours strict : les plats contenant vos allergènes ne sont jamais affichés.",
|
||
"onboarding.birthYearPlaceholder": "Année de naissance",
|
||
"onboarding.bodyTitle": "Pour des objectifs caloriques personnalisés (facultatif)",
|
||
"onboarding.diet": "Comment mangez-vous ?",
|
||
"onboarding.diet.flexitarian": "Flexitarien",
|
||
"onboarding.diet.omnivore": "Omnivore",
|
||
"onboarding.diet.pescatarian": "Pescétarien",
|
||
"onboarding.diet.vegan": "Végane",
|
||
"onboarding.diet.vegetarian": "Végétarien",
|
||
"onboarding.goal": "Quel est votre objectif principal ?",
|
||
"onboarding.goal.build_muscle": "Prendre du muscle",
|
||
"onboarding.goal.cook_more": "Cuisiner plus à la maison",
|
||
"onboarding.goal.less_waste": "Réduire le gaspillage",
|
||
"onboarding.goal.lose_weight": "Perdre du poids",
|
||
"onboarding.goal.lower_cost": "Dépenser moins en courses",
|
||
"onboarding.goal.maintain_weight": "Maintenir mon poids",
|
||
"onboarding.goal.more_protein": "Manger plus de protéines",
|
||
"onboarding.heightPlaceholder": "Taille (cm)",
|
||
"onboarding.household": "Votre foyer",
|
||
"onboarding.householdCreate": "Créer un foyer",
|
||
"onboarding.householdDefaultName": "Maison",
|
||
"onboarding.householdJoin": "Rejoindre avec un code",
|
||
"onboarding.householdName": "Nom du foyer",
|
||
"onboarding.inviteCode": "Code d'invitation",
|
||
"onboarding.mode": "Quel niveau de précision ?",
|
||
"onboarding.modeExact": "Mode exact",
|
||
"onboarding.modeExactDesc": "Pesez, saisissez les grammes, contrôle total des chiffres.",
|
||
"onboarding.modeSimple": "Mode simple",
|
||
"onboarding.modeSimpleDesc": "Photographiez vos aliments, acceptez les estimations, zéro prise de tête.",
|
||
"onboarding.modesCombine": "Les modes se combinent : simple au quotidien, précis quand vous voulez.",
|
||
"onboarding.memoryTransparency": "Ceci est enregistré dans \"Ce que {brand} sait de moi\" et vous pouvez le modifier à tout moment.",
|
||
"onboarding.notMedical": "{brand} fournit des repères, pas un avis médical.",
|
||
"onboarding.stepBSubtitle": "Personnalisez votre profil pour de meilleures suggestions.",
|
||
"onboarding.stepBTitle": "Continuer la configuration",
|
||
"onboarding.stepCSubtitle": "Facultatif – utilisé pour les objectifs caloriques personnels.",
|
||
"onboarding.stepCTitle": "Votre profil de santé",
|
||
"onboarding.subtitle": "Tout est facultatif et modifiable à tout moment. Plus vous en dites, meilleures sont les suggestions.",
|
||
"onboarding.title": "Parlez-nous un peu de vous",
|
||
"onboarding.weightPlaceholder": "Poids (kg)",
|
||
"paywall.choose": "Choisir",
|
||
"paywall.fairUse": "Quota d'usage raisonnable de scans IA inclus.",
|
||
"paywall.family": "Family · jusqu'à 6 personnes",
|
||
"paywall.freeNote": "Gratuit : 5 scans IA/mois, stock manuel, recettes enregistrées et suivi simple.",
|
||
"paywall.household": "Household · jusqu'à 3 personnes",
|
||
"paywall.large": "Large Household · jusqu'à 12 personnes",
|
||
"paywall.perMonth": "{price}/mois",
|
||
"paywall.popular": "Le plus populaire",
|
||
"paywall.restore": "Restaurer les achats",
|
||
"paywall.soonBody": "Les achats s'activeront via l'App Store/Google Play quand l'intégration boutique sera lancée (phase 7). Le backend est déjà prêt.",
|
||
"paywall.soonTitle": "Bientôt !",
|
||
"paywall.subtitle": "L'OS alimentaire de tout le foyer : stock illimité, plan de semaine et partage.",
|
||
"paywall.title": "{brand} Premium",
|
||
"paywall.trialActive_one": "1 jour d'essai restant",
|
||
"paywall.trialActive_other": "{days} jours d'essai restants",
|
||
"profile.aiScansUsed": "Scans IA : {used} / {total} ce mois-ci",
|
||
"profile.consent.anonymized_improvement": "Amélioration anonymisée de l'IA",
|
||
"profile.consent.health_integration": "Données de santé (Apple Health / Health Connect)",
|
||
"profile.consent.image_training": "Mes photos peuvent servir à l'entraînement",
|
||
"profile.consent.location_weather": "Position pour des suggestions selon la météo",
|
||
"profile.consent.personalization": "Fonctions personnelles (mémoire & profil de goûts)",
|
||
"profile.consent.product_analytics": "Analyse produit",
|
||
"profile.consent.push_notifications": "Notifications push",
|
||
"profile.consents": "Consentements & données",
|
||
"profile.consentsNote": "Les consentements sont distincts : les fonctions personnelles n'exigent jamais le consentement d'entraînement.",
|
||
"profile.deleteAccount": "Supprimer le compte",
|
||
"profile.deleteBody": "Toutes vos données seront supprimées définitivement conformément au RGPD.",
|
||
"profile.deleteTitle": "Supprimer le compte ?",
|
||
"profile.emailUnverified": "Adresse e-mail non confirmée",
|
||
"profile.export": "Exporter mes données",
|
||
"profile.goals": "Objectifs & alimentation",
|
||
"profile.language": "Langue",
|
||
"profile.language.da": "Dansk",
|
||
"profile.language.de": "Deutsch",
|
||
"profile.language.en": "English",
|
||
"profile.language.es": "Español",
|
||
"profile.language.fi": "Suomi",
|
||
"profile.language.fr": "Français",
|
||
"profile.language.it": "Italiano",
|
||
"profile.language.nb": "Norsk",
|
||
"profile.language.nl": "Nederlands",
|
||
"profile.language.pl": "Polski",
|
||
"profile.language.pt": "Português",
|
||
"profile.language.sv": "Svenska",
|
||
"profile.logout": "Se déconnecter",
|
||
"profile.memory": "Ce que {brand} sait de moi",
|
||
"profile.memorySubtitle": "Voyez, corrigez, mettez en pause ou supprimez ce que la plateforme a appris.",
|
||
"profile.modeLabel": "Mode :",
|
||
"profile.resendVerification": "Renvoyer l'e-mail de confirmation",
|
||
"profile.subscription": "Abonnement",
|
||
"profile.title": "Profil",
|
||
"profile.verificationSent": "Envoyé ! Vérifiez votre boîte mail.",
|
||
"recipe.avgRating": "Moyenne {avg} sur {count} avis",
|
||
"recipe.cook": "Cuisiner maintenant",
|
||
"recipe.cost": "env. {amount}/portion",
|
||
"recipe.iCookedThis": "Je l'ai cuisiné",
|
||
"recipe.ingredients": "Ingrédients",
|
||
"recipe.notSafe": "Incompatible avec vos réglages alimentaires",
|
||
"recipe.perPortion": "par portion",
|
||
"recipe.portions_one": "1 portion",
|
||
"recipe.portions_other": "{count} portions",
|
||
"recipe.save": "Enregistrer",
|
||
"recipe.saved": "Enregistrée",
|
||
"recipe.steps": "Préparation",
|
||
"recipe.substitutions": "Remplacer",
|
||
"recipe.time": "{min} min",
|
||
"scan.analyzing": "Analyse en cours …",
|
||
"scan.barcode": "Code-barres",
|
||
"scan.coach.body": "Take a photo of the whole shelf or fridge. Keep the phone steady and make sure the light is good.",
|
||
"scan.coach.button": "Compris",
|
||
"scan.coach.tip1": "Make sure all items are visible",
|
||
"scan.coach.tip2": "Avoid flash and shadows",
|
||
"scan.coach.tip3": "Confirm uncertain items in the next step",
|
||
"scan.coach.title": "Premier scan",
|
||
"scan.expiry": "Date limite",
|
||
"scan.failed": "L'analyse a échoué. Réessayez ou saisissez manuellement.",
|
||
"scan.freezer": "Congélateur",
|
||
"scan.fridge": "Frigo",
|
||
"scan.ingredients": "Ingrédients",
|
||
"scan.nutrition": "Étiquette nutritionnelle",
|
||
"scan.pantry": "Placard",
|
||
"scan.plate": "Assiette",
|
||
"scan.quotaLeft_one": "1 scan IA restant ce mois-ci",
|
||
"scan.quotaLeft_other": "{count} scans IA restants ce mois-ci",
|
||
"scan.receipt": "Ticket de caisse",
|
||
"scan.review.addItem": "+ Ajouter un article",
|
||
"scan.review.approveAll": "Enregistrer dans le stock",
|
||
"scan.review.bestBeforeNote": "Date de qualité : l'aliment peut rester bon après. Sentez et goûtez avant de jeter.",
|
||
"scan.review.dateKindBestBefore": "DDM – de préférence",
|
||
"scan.review.dateKindUseBy": "DLC – à consommer jusqu'au",
|
||
"scan.review.datePlaceholder": "AAAA-MM-JJ (facultatif)",
|
||
"scan.review.itemPlaceholder": "Article",
|
||
"scan.review.quantityPlaceholder": "Quantité",
|
||
"scan.review.rejected": "Supprimé",
|
||
"scan.review.subtitle": "L'IA doute parfois : c'est vous qui décidez. Modifiez, supprimez ou ajoutez avant d'enregistrer.",
|
||
"scan.review.title": "Vérifiez le résultat",
|
||
"scan.review.uncertain": "Incertain – à vérifier",
|
||
"scan.review.unitPlaceholder": "Unité (g, l, pcs …)",
|
||
"scan.review.unknownItem": "Article inconnu",
|
||
"scan.review.useByNote": "Date de sécurité : ne pas consommer après cette date.",
|
||
"scan.subtitle": "Remplissez votre stock ou enregistrez un repas avec l'appareil photo.",
|
||
"scan.takePhoto": "Prendre une photo",
|
||
"scan.tips.light": "Évitez l'obscurité et les ombres",
|
||
"scan.tips.move": "Écartez les produits qui se cachent",
|
||
"scan.tips.overview": "Commencez par une vue d'ensemble",
|
||
"scan.tips.shelf": "Photographiez étagère par étagère",
|
||
"scan.tips.title": "Pour une analyse optimale",
|
||
"scan.title": "Scanner",
|
||
"shopping.addPlaceholder": "Ajouter un article …",
|
||
"shopping.complete": "Terminer les courses",
|
||
"shopping.completeNote": "Les articles cochés rejoignent le stock.",
|
||
"shopping.completedBody_one": "1 article a été ajouté au stock.",
|
||
"shopping.completedBody_other": "{count} articles ont été ajoutés au stock.",
|
||
"shopping.completedTitle": "Terminé !",
|
||
"shopping.empty": "La liste est vide.",
|
||
"shopping.estimated": "env. {amount}",
|
||
"shopping.estimatedTotal": "Total estimé : env. {amount}",
|
||
"shopping.section.brod": "Pain",
|
||
"shopping.section.chark": "Charcuterie",
|
||
"shopping.section.dryck": "Boissons",
|
||
"shopping.section.fisk": "Poisson",
|
||
"shopping.section.frukt_gront": "Fruits & légumes",
|
||
"shopping.section.frys": "Surgelés",
|
||
"shopping.section.hygien_ovrigt": "Divers",
|
||
"shopping.section.konserver": "Conserves",
|
||
"shopping.section.kott_fagel": "Viande & volaille",
|
||
"shopping.section.kryddor_bak": "Épices & pâtisserie",
|
||
"shopping.section.mejeri": "Produits laitiers",
|
||
"shopping.section.skafferi": "Épicerie",
|
||
"shopping.section.snacks": "Snacks",
|
||
"shopping.title": "Liste de courses",
|
||
"tabs.home": "À la maison",
|
||
"tabs.myDay": "Ma journée",
|
||
"tabs.scan": "Scanner",
|
||
"tabs.whatToEat": "On mange quoi ?",
|
||
"tabs.plan": "Plan",
|
||
"plan.today": "Aujourd’hui",
|
||
"plan.emptyDay": "Rien de prévu",
|
||
"plan.portions": "{count} portions",
|
||
"plan.generate": "Générer le plan",
|
||
"plan.generating": "Génération du plan…",
|
||
"plan.cooked": "Préparé",
|
||
"plan.skipped": "Ignoré",
|
||
"plan.activate": "Activer le plan",
|
||
"plan.createShopping": "Créer la liste de courses",
|
||
"wte.coverage": "{pct} % à la maison",
|
||
"wte.cravingPlaceholder": "J'ai envie de … (ex. crémeux, asiatique, moins de 500 kcal)",
|
||
"wte.empty": "Pas encore de suggestions : ajoutez des aliments ou assouplissez les filtres.",
|
||
"wte.mealBoxFirst": "Plats prêts à la maison",
|
||
"wte.missing": "Il manque : {items}",
|
||
"wte.refresh": "Nouvelles suggestions",
|
||
"wte.subtitle": "Selon ce que vous avez chez vous, ce qu'il faut consommer vite et vos goûts.",
|
||
"wte.title": "On mange quoi ?",
|
||
"wte.whyTitle": "Pourquoi cette suggestion ?",
|
||
"onboarding.primaryGoal": "Principal",
|
||
"home.trustStatus.up_to_date": "À jour",
|
||
"home.trustStatus.needs_check": "Certains articles doivent être vérifiés",
|
||
"home.trustStatus.uncertain": "Inventaire incertain – faites un rapide contrôle",
|
||
"reconciliation.title": "Vérification rapide des stocks",
|
||
"reconciliation.subtitle": "Confirmez ce qui vous reste pour de meilleures suggestions.",
|
||
"reconciliation.exists": "Toujours en stock",
|
||
"reconciliation.depleted": "C'est fini",
|
||
"reconciliation.uncertain": "Incertain",
|
||
"reconciliation.adjustQuantity": "Ajuster la quantité",
|
||
"reconciliation.reason.planned_recipe": "Bientôt nécessaire pour une recette",
|
||
"reconciliation.reason.expiring_soon": "Expire bientôt",
|
||
"reconciliation.reason.high_value": "Haute valeur",
|
||
"reconciliation.reason.low_confidence": "Quantité estimée",
|
||
"reconciliation.reason.stale_trust": "Non vérifié depuis longtemps",
|
||
"reconciliation.reason.likely_depleted": "Probablement bientôt épuisé",
|
||
"reconciliation.done": "Terminé",
|
||
"reconciliation.next": "Suivant",
|
||
"reconciliation.empty": "Rien à vérifier pour l'instant. Bien joué !",
|
||
"reconciliation.tasteHint": "Dépasse la date de durabilité minimale ? Sentez et goûtez d'abord : ne gaspillez jamais de nourriture inutilement.",
|
||
"scan.diff.title": "Vérifier les différences",
|
||
"scan.diff.subtitle": "Confirmer les changements du dernier scan.",
|
||
"scan.diff.newItem": "Nouvel article",
|
||
"scan.diff.quantityChanged": "Quantité modifiée",
|
||
"scan.diff.moved": "Déplacé",
|
||
"scan.diff.vanished": "Absent sur la photo",
|
||
"scan.diff.unchanged": "Inchangé",
|
||
"scan.diff.accept": "Confirmer",
|
||
"scan.diff.reject": "Ignorer",
|
||
"scan.diff.acceptAll": "Tout confirmer",
|
||
"scan.diff.noChanges": "Aucune différence trouvée.",
|
||
"scan.diff.undo": "Annuler",
|
||
"scan.diff.undoHint": "Chaque modification peut être annulée depuis la vue détail de l'article.",
|
||
"cooked.portionsSumExceedsPlanned": "Les portions mangées et les restes ne peuvent pas dépasser le nombre total de portions.",
|
||
"cooked.undoWindowExpired": "Cette session de cuisine ne peut plus être annulée. La fenêtre de 24 heures a expiré.",
|
||
"cooked.leftoverLessThanBox": "Les restes doivent être au moins aussi nombreux que le nombre de portions de lunch-box.",
|
||
"mealbox.undoConfirmTitle": "Annuler la cuisine ?",
|
||
"mealbox.undoConfirmBody": "Cela annule la déduction d'inventaire et la lunchbox pour cette session de cuisine.",
|
||
"mealbox.undoSuccess": "Session de cuisine annulée.",
|
||
"consent.title": "Avant de commencer",
|
||
"consent.body": "Pour utiliser Cibello, tu dois accepter nos conditions. Les photos que tu prends dans l'application (frigo, emballages, plats) servent à entraîner et améliorer l'IA de Cibello – cela fait partie des conditions.",
|
||
"consent.termsLink": "Lire les Conditions d'utilisation",
|
||
"consent.privacyLink": "Lire la Politique de confidentialité",
|
||
"consent.checkbox": "J'ai lu et j'accepte les Conditions d'utilisation et la Politique de confidentialité.",
|
||
"consent.submit": "Accepter et continuer",
|
||
"scan.meal.title": "Enregistrer le repas depuis la photo",
|
||
"scan.meal.estimateNote": "Estimé à partir de ta photo – ajuste avant d'enregistrer.",
|
||
"scan.meal.calories": "Calories estimées",
|
||
"scan.meal.namePlaceholder": "Qu'as-tu mangé ? (facultatif)",
|
||
"scan.meal.components": "Reconnu dans l'assiette",
|
||
"scan.meal.noEstimate": "Impossible d'estimer les calories à partir de la photo.",
|
||
"swap.title": "Byt ut måltiden",
|
||
"swap.subtitle": "Välj en annan rätt:",
|
||
"plan.swapMeal": "Byt rätt",
|
||
"plan.chooseMeals": "Planera veckan – välj måltider per dag:",
|
||
"scan.progress.analyzing": "Analyserar bilden…",
|
||
"scan.progress.finding": "Hittar ingredienser…",
|
||
"scan.progress.matching": "Matchar mot ditt kök…",
|
||
"scan.progress.almost": "Snart klar…",
|
||
"home.completeProfile.title": "Gör appen smartare",
|
||
"home.completeProfile.body": "Berätta om kost och allergier så blir förslagen mer personliga (ca 30 sek).",
|
||
"onboarding.religious": "Religiös kosthållning",
|
||
"onboarding.religious.none": "Ingen",
|
||
"onboarding.religious.halal": "Halal (inget fläsk)",
|
||
"onboarding.religious.kosher": "Kosher",
|
||
"onboarding.religious.hindu_no_beef": "Inget nötkött",
|
||
"onboarding.religious.buddhist_vegetarian": "Buddhistisk vegetarisk",
|
||
"onboarding.consent.personalization.title": "Gör Cibello till din",
|
||
"onboarding.consent.personalization.body": "Ju mer Cibello lär känna dig, desto bättre blir det – förslag som passar din smak, dina allergier och din vardag. Allt appen lär sig ser du i \"Vad Cibello vet om dig\" och kan ändra eller radera när du vill. Vi rekommenderar att ha den på.",
|
||
"onboarding.consent.personalization.yes": "Ja, gör appen personlig",
|
||
"onboarding.consent.skip": "Inte nu",
|
||
"onboarding.consent.image_training.title": "Var med och göra Cibello smartare",
|
||
"onboarding.consent.image_training.body": "Låt dina foton hjälpa till att träna vår AI så att den känner igen svenska varor och kvitton allt bättre – för dig och alla andra. Din skanning fungerar lika bra oavsett, men varje ja gör appen vassare.",
|
||
"onboarding.consent.image_training.yes": "Ja, jag hjälper till",
|
||
"onboarding.consent.image_training.no": "Nej tack",
|
||
"onboarding.consent.dataPrivacy.title": "Data & integritet",
|
||
"onboarding.consent.dataPrivacy.body": "Två saker är på för att göra appen bättre för alla. Du kan stänga av dem när du vill.",
|
||
"onboarding.consent.anonymized_improvement.body": "Anonym förbättring: helt avidentifierad, aggregerad statistik – aldrig dina bilder eller något som pekar ut dig – hjälper oss göra förslagen bättre.",
|
||
"onboarding.consent.product_analytics.body": "Produktanalys: genom att se hur appen används kan vi fixa buggar och förbättra det som krånglar. Pseudonymt, och vi säljer aldrig din data.",
|
||
"onboarding.consent.dataPrivacy.continue": "Fortsätt",
|
||
"onboarding.consent.health_integration.body": "Koppla Apple Health / Health Connect så kan Cibello sätta kalori- och näringsmål utifrån just dig. Hälsodata är extra känslig och är av tills du själv slår på den.",
|
||
"onboarding.consent.location_weather.body": "Med din plats föreslår vi mat som passar vädret – värmande när det är kallt, grillat när solen är framme.",
|
||
"onboarding.consent.push_notifications.body": "Få en påminnelse innan maten går ut och tips när det är dags att handla eller laga."
|
||
}
|