88876a24b7
TRIAL_DAYS var redan 14 i koden men auth.trialNote (12 sprak), butiksmetadata, juridik-utkast, API-ref, exec-summary och UX-doc sa 7. Nu 14 overallt. Rorde EJ icke-trial 7-dagar (inbjudningslank, backup, S3-lifecycle, grace, retention). Beslut: Johan (battre onboarding).
448 lines
25 KiB
JSON
448 lines
25 KiB
JSON
{
|
||
"auth.backToLogin": "Zurück zur Anmeldung",
|
||
"auth.displayName": "Wie sollen wir dich nennen?",
|
||
"auth.email": "E-Mail",
|
||
"auth.forgotBody": "Gib deine E-Mail-Adresse ein – wir senden einen Link, falls das Konto existiert.",
|
||
"auth.forgotLink": "Passwort vergessen?",
|
||
"auth.forgotSentBody": "Falls die Adresse ein Konto hat, haben wir einen 30 Minuten gültigen Link gesendet. Öffne ihn auf diesem Gerät.",
|
||
"auth.forgotSentTitle": "Prüfe dein Postfach",
|
||
"auth.forgotSubmit": "Link senden",
|
||
"auth.forgotTitle": "Passwort zurücksetzen",
|
||
"auth.hasAccount": "Schon ein Konto? Anmelden",
|
||
"auth.login": "Anmelden",
|
||
"auth.newPassword": "Neues Passwort (mind. 10 Zeichen)",
|
||
"auth.noAccount": "Neu hier? Konto erstellen",
|
||
"auth.password": "Passwort",
|
||
"auth.register": "Konto erstellen",
|
||
"auth.resetBody": "Der Link ist 30 Minuten gültig und nur einmal verwendbar. Alle Geräte werden abgemeldet.",
|
||
"auth.resetDoneBody": "Dein Passwort wurde geändert. Melde dich mit dem neuen an.",
|
||
"auth.resetDoneTitle": "Fertig!",
|
||
"auth.resetSubmit": "Passwort ändern",
|
||
"auth.resetTitle": "Neues Passwort wählen",
|
||
"auth.resetTokenPlaceholder": "Code aus der E-Mail einfügen",
|
||
"auth.trialNote": "14 Tage voller Zugriff – ohne Karte.",
|
||
"auth.verifyDoneBody": "Danke! Dein Konto ist jetzt verifiziert.",
|
||
"auth.verifyDoneTitle": "E-Mail bestätigt",
|
||
"auth.verifyFailedBody": "Der Link ist ungültig oder abgelaufen. Fordere im Profil einen neuen an.",
|
||
"auth.verifyFailedTitle": "Der Link hat nicht funktioniert",
|
||
"barcode.addPrompt": "Zum Vorrat hinzufügen?",
|
||
"barcode.aim": "Richte die Kamera auf den Barcode",
|
||
"barcode.allowCamera": "Kamera erlauben",
|
||
"barcode.cameraBody": "{brand} benötigt die Kamera, um Barcodes zu scannen.",
|
||
"barcode.cameraTitle": "Kamera erforderlich",
|
||
"barcode.kcalPer100": "{kcal} kcal/100 g",
|
||
"barcode.needHousehold": "Du brauchst zuerst einen Haushalt.",
|
||
"barcode.noLocation": "Kein Lagerort gefunden.",
|
||
"barcode.noNutrition": "Keine Nährwertdaten",
|
||
"barcode.photoPackage": "Verpackung fotografieren",
|
||
"barcode.unknownBody": "Dieses Produkt ist noch nicht in der Datenbank. Fotografiere Vorderseite und Nährwerttabelle, dann fügen wir es hinzu.",
|
||
"barcode.unknownTitle": "Unbekanntes Produkt",
|
||
"common.add": "Hinzufügen",
|
||
"common.back": "Zurück",
|
||
"common.cancel": "Abbrechen",
|
||
"common.done": "Fertig",
|
||
"common.error": "Etwas ist schiefgelaufen. Bitte erneut versuchen.",
|
||
"common.estimate": "Schätzung",
|
||
"common.loading": "Wird geladen …",
|
||
"common.next": "Weiter",
|
||
"common.off": "Aus",
|
||
"common.offline": "Offline – zuletzt geladene Daten",
|
||
"common.on": "An",
|
||
"common.oops": "Hoppla",
|
||
"common.remove": "Entfernen",
|
||
"common.retry": "Erneut versuchen",
|
||
"common.save": "Speichern",
|
||
"common.skip": "Überspringen",
|
||
"common.undo": "Rückgängig",
|
||
"cooked.deductPantry": "Zutaten vom Vorrat abziehen",
|
||
"cooked.deductPantryNote": "Zutaten werden nach dem Prinzip zuerst-ablaufend-zuerst vom Vorrat abgezogen.",
|
||
"cooked.mealBoxes": "Portionen für Meal-Prep-Boxen",
|
||
"cooked.portionsCooked": "Gekochte Portionen",
|
||
"cooked.rate": "Bewerten",
|
||
"cooked.title": "Wie ist es gelaufen?",
|
||
"cooked.actualPortionsEaten": "Wie viele Portionen habt ihr gegessen?",
|
||
"cooked.actualPortionsEatenHint": "Der Rest wird zu Resten oder Lunchboxen.",
|
||
"cooked.leftoverEstimatePortions": "Wie viele Restportionen?",
|
||
"cooked.leftoverEstimateHint": "Wird als Lunchbox gespeichert, wenn du möchtest.",
|
||
"cooked.whoAte": "Wer hat gegessen?",
|
||
"cooking.finish": "Fertig – Mahlzeit erfassen",
|
||
"cooking.keepAwake": "Der Bildschirm bleibt beim Kochen an",
|
||
"cooking.scale": "Portionen",
|
||
"cooking.step": "Schritt {current} von {total}",
|
||
"cooking.timer": "Timer starten",
|
||
"cooking.timerDone": "Fertig!",
|
||
"cooking.timerRunning": "{time} übrig",
|
||
"home.budget": "Essensbudget",
|
||
"home.emptyInventory": "Der Vorrat ist leer. Scanne den Kühlschrank oder füge manuell hinzu.",
|
||
"home.expired": "Abgelaufen",
|
||
"home.expiresIn_one": "Noch 1 Tag",
|
||
"home.expiresIn_other": "Noch {days} Tage",
|
||
"home.expiresToday": "Läuft heute ab",
|
||
"home.household": "Haushalt",
|
||
"home.inventory": "Vorrat",
|
||
"home.mealBoxes": "Meal-Prep-Boxen",
|
||
"home.moreItems_one": "+ 1 weiterer …",
|
||
"home.moreItems_other": "+ {count} weitere …",
|
||
"home.pastBestBefore": "MHD überschritten – erst riechen und probieren",
|
||
"home.shopping": "Einkaufsliste",
|
||
"home.thisWeek": "Diese Woche",
|
||
"home.title": "Zuhause",
|
||
"home.useSoon": "Bald verbrauchen",
|
||
"home.useSoonHint": "Das Mindesthaltbarkeitsdatum ist eine Qualitätsgrenze – erst riechen, ansehen und probieren, bevor etwas weggeworfen wird. Das Verbrauchsdatum dagegen gilt strikt.",
|
||
"home.waste": "Lebensmittelabfall",
|
||
"home.wasteWeek": "Lebensmittelabfall diese Woche",
|
||
"household.empty": "Du hast noch keinen Haushalt. Lege einen im Onboarding an oder tritt per Code bei.",
|
||
"household.invite": "Einladen mit Code: {code}",
|
||
"household.locations": "Lagerorte",
|
||
"household.members": "Mitglieder",
|
||
"household.portionFactor": "×{factor} Portion",
|
||
"household.private": "Privat pro Person: Ziele, Allergien, Gesundheitsdaten und Essenshistorie.",
|
||
"household.role.adult": "Erwachsener",
|
||
"household.role.child": "Kind",
|
||
"household.role.member": "Mitglied",
|
||
"household.role.owner": "Inhaber",
|
||
"household.shareCode": "Teile den Code mit der Familie – dann teilt ihr Vorrat, Liste und Plan.",
|
||
"household.shared": "Im Haushalt geteilt: Vorrat, Einkaufsliste, Wochenplan, Boxen und Budget.",
|
||
"logmeal.manualTitle": "Manuell",
|
||
"logmeal.mealTypeTitle": "Mahlzeitentyp",
|
||
"logmeal.photoTip": "Tipp: Fotografiere den Teller unter Scannen – die App schätzt für dich, du bestätigst immer.",
|
||
"logmeal.proteinPlaceholder": "Protein (g)",
|
||
"logmeal.quickSubtitle": "Übernimmt dieselben Nährwerte wie beim letzten Mal.",
|
||
"logmeal.quickTitle": "Schnell erneut loggen",
|
||
"logmeal.validationBody": "Für manuelles Loggen sind Name und Kalorien nötig.",
|
||
"logmeal.validationTitle": "Angaben fehlen",
|
||
"logmeal.whatPlaceholder": "Was hast du gegessen?",
|
||
"mealbox.eat": "Jetzt essen",
|
||
"mealbox.eatBy": "Verzehren bis {date}",
|
||
"mealbox.empty": "Gerade keine Boxen. Beim Kochen kannst du hier Portionen aufheben.",
|
||
"mealbox.enjoyBody": "Die Portion wurde in Mein Tag geloggt.",
|
||
"mealbox.enjoyTitle": "Guten Appetit!",
|
||
"mealbox.guidanceNote": "Die empfohlene Frist ist eine Orientierung – verlass dich auf Geruch und Geschmack.",
|
||
"mealbox.portionsLeft_one": "Noch 1 Portion",
|
||
"mealbox.portionsLeft_other": "Noch {count} Portionen",
|
||
"mealbox.title": "Meal-Prep-Boxen",
|
||
"memory.delete": "Löschen",
|
||
"memory.deleteAll": "Gesamtes Gedächtnis löschen",
|
||
"memory.deleteAllTitle": "Gesamtes Gedächtnis löschen?",
|
||
"memory.empty": "{brand} hat noch nichts über dich gelernt.",
|
||
"memory.irreversible": "Das lässt sich nicht rückgängig machen.",
|
||
"memory.origin.ai_inferred": "KI-Annahme",
|
||
"memory.origin.observed": "Beobachtetes Muster",
|
||
"memory.origin.user_stated": "Von dir erzählt",
|
||
"memory.pause": "Pausieren",
|
||
"memory.paused": "Pausiert",
|
||
"memory.resume": "Fortsetzen",
|
||
"memory.subtitle": "Volle Transparenz. Korrigiere Fehler, pausiere oder lösche – dein Gedächtnis gehört dir.",
|
||
"memory.title": "Was {brand} über mich weiß",
|
||
"memory.verified": "Bestätigt",
|
||
"memory.verify": "Stimmt",
|
||
"myday.calories": "Kalorien",
|
||
"myday.carbs": "Kohlenhydrate",
|
||
"myday.estimateNote": "Werte mit ~ sind Schätzungen, die du anpassen kannst.",
|
||
"myday.estimateRange": "{min}–{max} kcal, wahrscheinlich {kcal}",
|
||
"myday.fat": "Fett",
|
||
"myday.fiber": "Ballaststoffe",
|
||
"myday.kcalProtein": "{kcal} kcal · {protein} g Protein",
|
||
"myday.logMeal": "Mahlzeit erfassen",
|
||
"myday.mealType.breakfast": "Frühstück",
|
||
"myday.mealType.dessert": "Nachtisch",
|
||
"myday.mealType.dinner": "Abendessen",
|
||
"myday.mealType.lunch": "Mittagessen",
|
||
"myday.mealType.snack": "Snack",
|
||
"myday.noMeals": "Heute noch keine Mahlzeiten erfasst.",
|
||
"myday.over": "{kcal} kcal über dem Ziel",
|
||
"myday.overRecommended": "Über der Empfehlung",
|
||
"myday.protein": "Eiweiß",
|
||
"myday.remaining": "{kcal} kcal übrig",
|
||
"myday.salt": "Salz",
|
||
"myday.targetsNote": "Ziele sind Orientierung, keine medizinische Beratung.",
|
||
"myday.title": "Mein Tag",
|
||
"myday.todaysMeals": "Heutige Mahlzeiten",
|
||
"onboarding.allergen.crustaceans": "Krebstiere",
|
||
"onboarding.allergen.eggs": "Eier",
|
||
"onboarding.allergen.fish": "Fisch",
|
||
"onboarding.allergen.gluten": "Gluten",
|
||
"onboarding.allergen.milk": "Milch/Laktose",
|
||
"onboarding.allergen.peanuts": "Erdnüsse",
|
||
"onboarding.allergen.sesame": "Sesam",
|
||
"onboarding.allergen.soy": "Soja",
|
||
"onboarding.allergen.tree_nuts": "Schalenfrüchte",
|
||
"onboarding.allergies": "Allergien und Unverträglichkeiten",
|
||
"onboarding.allergyNote": "Der Allergiefilter ist immer strikt – Gerichte mit deinen Allergenen werden nie angezeigt.",
|
||
"onboarding.birthYearPlaceholder": "Geburtsjahr",
|
||
"onboarding.bodyTitle": "Für persönliche Kalorienziele (optional)",
|
||
"onboarding.diet": "Wie isst du?",
|
||
"onboarding.diet.flexitarian": "Flexitarier",
|
||
"onboarding.diet.omnivore": "Allesesser",
|
||
"onboarding.diet.pescatarian": "Pescetarier",
|
||
"onboarding.diet.vegan": "Veganer",
|
||
"onboarding.diet.vegetarian": "Vegetarier",
|
||
"onboarding.goal": "Was ist dein wichtigstes Ziel?",
|
||
"onboarding.goal.build_muscle": "Muskeln aufbauen",
|
||
"onboarding.goal.cook_more": "Öfter selbst kochen",
|
||
"onboarding.goal.less_waste": "Weniger wegwerfen",
|
||
"onboarding.goal.lose_weight": "Abnehmen",
|
||
"onboarding.goal.lower_cost": "Weniger für Essen ausgeben",
|
||
"onboarding.goal.maintain_weight": "Gewicht halten",
|
||
"onboarding.goal.more_protein": "Mehr Protein essen",
|
||
"onboarding.heightPlaceholder": "Größe (cm)",
|
||
"onboarding.household": "Dein Haushalt",
|
||
"onboarding.householdCreate": "Haushalt erstellen",
|
||
"onboarding.householdDefaultName": "Zuhause",
|
||
"onboarding.householdJoin": "Mit Code beitreten",
|
||
"onboarding.householdName": "Name des Haushalts",
|
||
"onboarding.inviteCode": "Einladungscode",
|
||
"onboarding.mode": "Wie genau möchtest du es?",
|
||
"onboarding.modeExact": "Exakter Modus",
|
||
"onboarding.modeExactDesc": "Essen wiegen, Gramm eingeben, volle Kontrolle über die Zahlen.",
|
||
"onboarding.modeSimple": "Einfacher Modus",
|
||
"onboarding.modeSimpleDesc": "Essen fotografieren, Schätzungen akzeptieren, kein Aufwand.",
|
||
"onboarding.modesCombine": "Die Modi lassen sich kombinieren – im Alltag einfach, exakt wenn du willst.",
|
||
"onboarding.memoryTransparency": "Dies wird unter \"Was {brand} über mich weiß\" gespeichert und du kannst es jederzeit ändern.",
|
||
"onboarding.notMedical": "{brand} bietet Orientierung – keine medizinische Beratung.",
|
||
"onboarding.stepBSubtitle": "Passe dein Profil für bessere Vorschläge an.",
|
||
"onboarding.stepBTitle": "Einrichtung fortsetzen",
|
||
"onboarding.stepCSubtitle": "Optional – wird für persönliche Kalorienziele verwendet.",
|
||
"onboarding.stepCTitle": "Dein Gesundheitsprofil",
|
||
"onboarding.subtitle": "Alles ist optional und jederzeit änderbar. Je mehr du ausfüllst, desto besser die Vorschläge.",
|
||
"onboarding.title": "Erzähl uns etwas über dich",
|
||
"onboarding.weightPlaceholder": "Gewicht (kg)",
|
||
"paywall.choose": "Wählen",
|
||
"paywall.fairUse": "Fair-Use-Kontingent für KI-Scans inklusive.",
|
||
"paywall.family": "Family · bis zu 6 Personen",
|
||
"paywall.freeNote": "Gratis: 10 KI-Scans/Monat, manueller Vorrat, gespeicherte Rezepte und einfaches Tracking.",
|
||
"paywall.household": "Household · bis zu 3 Personen",
|
||
"paywall.large": "Large Household · bis zu 12 Personen",
|
||
"paywall.perMonth": "{price}/Monat",
|
||
"paywall.popular": "Am beliebtesten",
|
||
"paywall.restore": "Käufe wiederherstellen",
|
||
"paywall.soonBody": "Käufe laufen über App Store/Google Play, sobald die Store-Integration aktiviert ist (Phase 7). Das Backend ist bereits fertig.",
|
||
"paywall.soonTitle": "Bald!",
|
||
"paywall.subtitle": "Das Food-Betriebssystem für den ganzen Haushalt: unbegrenzter Vorrat, Wochenplan und Teilen.",
|
||
"paywall.title": "{brand} Premium",
|
||
"paywall.trialActive_one": "Noch 1 Tag Testzeitraum",
|
||
"paywall.trialActive_other": "Noch {days} Tage Testzeitraum",
|
||
"profile.aiScansUsed": "KI-Scans: {used} / {total} diesen Monat",
|
||
"profile.consent.anonymized_improvement": "Anonymisierte Verbesserung der KI",
|
||
"profile.consent.health_integration": "Gesundheitsdaten (Apple Health / Health Connect)",
|
||
"profile.consent.image_training": "Meine Bilder dürfen fürs Training genutzt werden",
|
||
"profile.consent.location_weather": "Standort für wetterbasierte Vorschläge",
|
||
"profile.consent.personalization": "Persönliche Funktionen (Gedächtnis & Geschmacksprofil)",
|
||
"profile.consent.product_analytics": "Produktanalyse",
|
||
"profile.consent.push_notifications": "Push-Benachrichtigungen",
|
||
"profile.consents": "Einwilligungen & Daten",
|
||
"profile.consentsNote": "Die Einwilligungen sind getrennt – persönliche Funktionen erfordern nie eine Trainings-Einwilligung.",
|
||
"profile.deleteAccount": "Konto löschen",
|
||
"profile.deleteBody": "Alle deine Daten werden gemäß DSGVO dauerhaft gelöscht.",
|
||
"profile.deleteTitle": "Konto löschen?",
|
||
"profile.emailUnverified": "E-Mail-Adresse nicht bestätigt",
|
||
"profile.export": "Meine Daten exportieren",
|
||
"profile.goals": "Ziele & Ernährung",
|
||
"profile.language": "Sprache",
|
||
"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": "Abmelden",
|
||
"profile.memory": "Was {brand} über mich weiß",
|
||
"profile.memorySubtitle": "Sieh, korrigiere, pausiere oder lösche, was die Plattform gelernt hat.",
|
||
"profile.modeLabel": "Modus:",
|
||
"profile.resendVerification": "Bestätigungsmail erneut senden",
|
||
"profile.subscription": "Abo",
|
||
"profile.title": "Profil",
|
||
"profile.verificationSent": "Gesendet! Prüfe dein Postfach.",
|
||
"recipe.avgRating": "Schnitt {avg} bei {count} Bewertungen",
|
||
"recipe.cook": "Jetzt kochen",
|
||
"recipe.cost": "ca. {amount}/Portion",
|
||
"recipe.iCookedThis": "Habe ich gekocht",
|
||
"recipe.ingredients": "Zutaten",
|
||
"recipe.notSafe": "Passt nicht zu deinen Ernährungseinstellungen",
|
||
"recipe.perPortion": "pro Portion",
|
||
"recipe.portions_one": "1 Portion",
|
||
"recipe.portions_other": "{count} Portionen",
|
||
"recipe.save": "Speichern",
|
||
"recipe.saved": "Gespeichert",
|
||
"recipe.steps": "Zubereitung",
|
||
"recipe.substitutions": "Ersetzen",
|
||
"recipe.time": "{min} Min.",
|
||
"scan.analyzing": "Analyse läuft …",
|
||
"scan.barcode": "Barcode",
|
||
"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": "Verstanden",
|
||
"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": "Erster Scan",
|
||
"scan.expiry": "Mindesthaltbarkeitsdatum",
|
||
"scan.failed": "Analyse fehlgeschlagen. Erneut versuchen oder manuell erfassen.",
|
||
"scan.freezer": "Gefrierschrank",
|
||
"scan.fridge": "Kühlschrank",
|
||
"scan.ingredients": "Zutaten",
|
||
"scan.nutrition": "Nährwertangaben",
|
||
"scan.pantry": "Vorratsschrank",
|
||
"scan.plate": "Teller",
|
||
"scan.quotaLeft_one": "1 KI-Scan diesen Monat übrig",
|
||
"scan.quotaLeft_other": "{count} KI-Scans diesen Monat übrig",
|
||
"scan.receipt": "Kassenbon",
|
||
"scan.review.addItem": "+ Artikel hinzufügen",
|
||
"scan.review.approveAll": "In den Vorrat speichern",
|
||
"scan.review.bestBeforeNote": "Qualitätsdatum – oft ist das Lebensmittel danach noch gut. Erst riechen und probieren.",
|
||
"scan.review.dateKindBestBefore": "Mindesthaltbarkeit (MHD)",
|
||
"scan.review.dateKindUseBy": "Verbrauchsdatum",
|
||
"scan.review.datePlaceholder": "JJJJ-MM-TT (optional)",
|
||
"scan.review.itemPlaceholder": "Artikel",
|
||
"scan.review.quantityPlaceholder": "Menge",
|
||
"scan.review.rejected": "Entfernt",
|
||
"scan.review.subtitle": "Die KI ist manchmal unsicher – du entscheidest. Bearbeite, entferne oder ergänze vor dem Speichern.",
|
||
"scan.review.title": "Ergebnis prüfen",
|
||
"scan.review.uncertain": "Unsicher – bitte prüfen",
|
||
"scan.review.unitPlaceholder": "Einheit (g, l, Stk. …)",
|
||
"scan.review.unknownItem": "Unbekannter Artikel",
|
||
"scan.review.useByNote": "Sicherheitsdatum – danach nicht mehr essen.",
|
||
"scan.subtitle": "Fülle deinen Vorrat oder erfasse eine Mahlzeit mit der Kamera.",
|
||
"scan.takePhoto": "Foto aufnehmen",
|
||
"scan.tips.light": "Vermeide Dunkelheit und Schatten",
|
||
"scan.tips.move": "Rücke verdeckte Produkte frei",
|
||
"scan.tips.overview": "Beginne mit einem Übersichtsfoto",
|
||
"scan.tips.shelf": "Fotografiere Fach für Fach",
|
||
"scan.tips.title": "So gelingt die Analyse am besten",
|
||
"scan.title": "Scannen",
|
||
"shopping.addPlaceholder": "Artikel hinzufügen …",
|
||
"shopping.complete": "Einkauf abschließen",
|
||
"shopping.completeNote": "Abgehakte Artikel wandern in den Vorrat.",
|
||
"shopping.completedBody_one": "1 Artikel wurde in den Vorrat übernommen.",
|
||
"shopping.completedBody_other": "{count} Artikel wurden in den Vorrat übernommen.",
|
||
"shopping.completedTitle": "Fertig!",
|
||
"shopping.empty": "Die Liste ist leer.",
|
||
"shopping.estimated": "ca. {amount}",
|
||
"shopping.estimatedTotal": "Geschätzte Summe: ca. {amount}",
|
||
"shopping.section.brod": "Brot",
|
||
"shopping.section.chark": "Wurstwaren",
|
||
"shopping.section.dryck": "Getränke",
|
||
"shopping.section.fisk": "Fisch",
|
||
"shopping.section.frukt_gront": "Obst & Gemüse",
|
||
"shopping.section.frys": "Tiefkühl",
|
||
"shopping.section.hygien_ovrigt": "Sonstiges",
|
||
"shopping.section.konserver": "Konserven",
|
||
"shopping.section.kott_fagel": "Fleisch & Geflügel",
|
||
"shopping.section.kryddor_bak": "Gewürze & Backen",
|
||
"shopping.section.mejeri": "Molkereiprodukte",
|
||
"shopping.section.skafferi": "Vorratsschrank",
|
||
"shopping.section.snacks": "Snacks",
|
||
"shopping.title": "Einkaufsliste",
|
||
"tabs.home": "Zuhause",
|
||
"tabs.myDay": "Mein Tag",
|
||
"tabs.scan": "Scannen",
|
||
"tabs.whatToEat": "Was essen wir?",
|
||
"tabs.plan": "Plan",
|
||
"plan.today": "Heute",
|
||
"plan.emptyDay": "Nichts geplant",
|
||
"plan.portions": "{count} Portionen",
|
||
"plan.generate": "Wochenplan erstellen",
|
||
"plan.generating": "Wochenplan wird erstellt…",
|
||
"plan.cooked": "Gekocht",
|
||
"plan.skipped": "Übersprungen",
|
||
"plan.activate": "Plan aktivieren",
|
||
"plan.createShopping": "Einkaufsliste erstellen",
|
||
"wte.coverage": "{pct} % zuhause",
|
||
"wte.cravingPlaceholder": "Ich habe Lust auf … (z. B. cremig, asiatisch, unter 500 kcal)",
|
||
"wte.empty": "Noch keine Vorschläge – fülle den Vorrat oder lockere die Filter.",
|
||
"wte.mealBoxFirst": "Fertiges Essen zuhause",
|
||
"wte.missing": "Fehlt: {items}",
|
||
"wte.refresh": "Neue Vorschläge",
|
||
"wte.subtitle": "Basierend auf dem, was ihr zuhause habt, was bald verbraucht werden sollte und was ihr mögt.",
|
||
"wte.title": "Was essen wir?",
|
||
"wte.whyTitle": "Warum dieser Vorschlag?",
|
||
"onboarding.primaryGoal": "Primär",
|
||
"home.trustStatus.up_to_date": "Aktuell",
|
||
"home.trustStatus.needs_check": "Einige Artikel müssen geprüft werden",
|
||
"home.trustStatus.uncertain": "Bestand unsicher – schnelle Kontrolle empfohlen",
|
||
"reconciliation.title": "Schnelle Bestandskontrolle",
|
||
"reconciliation.subtitle": "Bestätige, was noch vorhanden ist, um bessere Vorschläge zu erhalten.",
|
||
"reconciliation.exists": "Noch vorhanden",
|
||
"reconciliation.depleted": "Ist aufgebraucht",
|
||
"reconciliation.uncertain": "Unsicher",
|
||
"reconciliation.adjustQuantity": "Menge anpassen",
|
||
"reconciliation.reason.planned_recipe": "Bald für ein Rezept benötigt",
|
||
"reconciliation.reason.expiring_soon": "Läuft bald ab",
|
||
"reconciliation.reason.high_value": "Hoher Wert",
|
||
"reconciliation.reason.low_confidence": "Geschätzte Menge",
|
||
"reconciliation.reason.stale_trust": "Schon lange nicht kontrolliert",
|
||
"reconciliation.reason.likely_depleted": "Wahrscheinlich bald aufgebraucht",
|
||
"reconciliation.done": "Fertig",
|
||
"reconciliation.next": "Weiter",
|
||
"reconciliation.empty": "Aktuell muss nichts kontrolliert werden. Gut gemacht!",
|
||
"reconciliation.tasteHint": "Mindesthaltbarkeitsdatum überschritten? Zuerst riechen und schmecken: niemals unbedingt Essen wegwerfen.",
|
||
"scan.diff.title": "Unterschiede prüfen",
|
||
"scan.diff.subtitle": "Änderungen aus dem letzten Scan bestätigen.",
|
||
"scan.diff.newItem": "Neuer Artikel",
|
||
"scan.diff.quantityChanged": "Menge geändert",
|
||
"scan.diff.moved": "Verschoben",
|
||
"scan.diff.vanished": "Fehlt auf dem Foto",
|
||
"scan.diff.unchanged": "Unverändert",
|
||
"scan.diff.accept": "Bestätigen",
|
||
"scan.diff.reject": "Ignorieren",
|
||
"scan.diff.acceptAll": "Alle bestätigen",
|
||
"scan.diff.noChanges": "Keine Unterschiede gefunden.",
|
||
"scan.diff.undo": "Rückgängig",
|
||
"scan.diff.undoHint": "Jede Änderung kann in der Artikeldetailansicht rückgängig gemacht werden.",
|
||
"cooked.portionsSumExceedsPlanned": "Gegessene Portionen und Reste dürfen die Gesamtanzahl der Portionen nicht überschreiten.",
|
||
"cooked.undoWindowExpired": "Dieser Kochvorgang kann nicht mehr rückgängig gemacht werden. Das 24-Stunden-Fenster ist abgelaufen.",
|
||
"cooked.leftoverLessThanBox": "Die Reste müssen mindestens so viele sein wie die Anzahl der Lunchbox-Portionen.",
|
||
"mealbox.undoConfirmTitle": "Kochen rückgängig machen?",
|
||
"mealbox.undoConfirmBody": "Dies macht den Lagerabzug und die Essensbox für diese Kochsession rückgängig.",
|
||
"mealbox.undoSuccess": "Kochsession rückgängig gemacht.",
|
||
"consent.title": "Bevor du loslegst",
|
||
"consent.body": "Um Cibello zu nutzen, musst du unsere Bedingungen akzeptieren. Die Fotos, die du in der App machst (Kühlschrank, Verpackungen, Gerichte), werden verwendet, um Cibellos KI zu trainieren und zu verbessern – das ist Teil der Bedingungen.",
|
||
"consent.termsLink": "Nutzungsbedingungen lesen",
|
||
"consent.privacyLink": "Datenschutzerklärung lesen",
|
||
"consent.checkbox": "Ich habe die Nutzungsbedingungen und die Datenschutzerklärung gelesen und akzeptiere sie.",
|
||
"consent.submit": "Akzeptieren und fortfahren",
|
||
"scan.meal.title": "Mahlzeit vom Foto loggen",
|
||
"scan.meal.estimateNote": "Geschätzt aus deinem Foto – vor dem Speichern anpassen.",
|
||
"scan.meal.calories": "Geschätzte Kalorien",
|
||
"scan.meal.namePlaceholder": "Was hast du gegessen? (optional)",
|
||
"scan.meal.components": "Auf dem Teller erkannt",
|
||
"scan.meal.noEstimate": "Kalorien konnten nicht aus dem Foto geschätzt werden.",
|
||
"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."
|
||
}
|