{
  "auth.backToLogin": "Back to login",
  "auth.displayName": "What should we call you?",
  "auth.email": "Email",
  "auth.forgotBody": "Enter your email and we'll send a reset link if the account exists.",
  "auth.forgotLink": "Forgot your password?",
  "auth.forgotSentBody": "If the address has an account, we've sent a link valid for 30 minutes. Open it on this device.",
  "auth.forgotSentTitle": "Check your inbox",
  "auth.forgotSubmit": "Send link",
  "auth.forgotTitle": "Reset password",
  "auth.hasAccount": "Already have an account? Log in",
  "auth.login": "Log in",
  "auth.newPassword": "New password (at least 10 characters)",
  "auth.noAccount": "New here? Create an account",
  "auth.password": "Password",
  "auth.register": "Create account",
  "auth.resetBody": "The link is valid for 30 minutes and can only be used once. All devices are signed out when the password changes.",
  "auth.resetDoneBody": "Your password has been changed. Log in with your new password.",
  "auth.resetDoneTitle": "Done!",
  "auth.resetSubmit": "Change password",
  "auth.resetTitle": "Choose a new password",
  "auth.resetTokenPlaceholder": "Paste the code from the email",
  "auth.trialNote": "7 days of full access – no card required.",
  "auth.verifyDoneBody": "Thanks! Your account is now verified.",
  "auth.verifyDoneTitle": "Email confirmed",
  "auth.verifyFailedBody": "The link is invalid or has expired. Request a new one from your profile.",
  "auth.verifyFailedTitle": "The link didn't work",
  "barcode.addPrompt": "Add to your inventory?",
  "barcode.aim": "Point the camera at the barcode",
  "barcode.allowCamera": "Allow camera",
  "barcode.cameraBody": "{brand} needs the camera to scan barcodes.",
  "barcode.cameraTitle": "Camera needed",
  "barcode.kcalPer100": "{kcal} kcal/100 g",
  "barcode.needHousehold": "You need a household first.",
  "barcode.noLocation": "No storage location found.",
  "barcode.noNutrition": "No nutrition data",
  "barcode.photoPackage": "Photograph the package",
  "barcode.unknownBody": "This product isn't in the database yet. Photograph the front and the nutrition label and we'll add it.",
  "barcode.unknownTitle": "Unknown product",
  "common.add": "Add",
  "common.back": "Back",
  "common.cancel": "Cancel",
  "common.done": "Done",
  "common.error": "Something went wrong. Please try again.",
  "common.estimate": "Estimate",
  "common.loading": "Loading …",
  "common.next": "Next",
  "common.off": "Off",
  "common.offline": "Offline – showing last fetched data",
  "common.on": "On",
  "common.oops": "Oops",
  "common.remove": "Remove",
  "common.retry": "Try again",
  "common.save": "Save",
  "common.skip": "Skip",
  "common.undo": "Undo",
  "cooked.deductPantry": "Deduct ingredients from inventory",
  "cooked.deductPantryNote": "Ingredients are deducted from your inventory, first-expiring first.",
  "cooked.mealBoxes": "Servings to meal boxes",
  "cooked.portionsCooked": "Servings cooked",
  "cooked.rate": "Rate it",
  "cooked.title": "How did it go?",
  "cooked.actualPortionsEaten": "How many portions did you eat?",
  "cooked.actualPortionsEatenHint": "The rest becomes leftovers or meal boxes.",
  "cooked.leftoverEstimatePortions": "How many leftover portions?",
  "cooked.leftoverEstimateHint": "Saved as a meal box if you want.",
  "cooked.whoAte": "Who ate?",
  "cooking.finish": "Done – log the meal",
  "cooking.keepAwake": "The screen stays awake while you cook",
  "cooking.scale": "Servings",
  "cooking.step": "Step {current} of {total}",
  "cooking.timer": "Start timer",
  "cooking.timerDone": "Done!",
  "cooking.timerRunning": "{time} left",
  "home.budget": "Food budget",
  "home.emptyInventory": "Your inventory is empty. Scan the fridge or add items manually.",
  "home.expired": "Expired",
  "home.expiresIn_one": "1 day left",
  "home.expiresIn_other": "{days} days left",
  "home.expiresToday": "Expires today",
  "home.household": "Household",
  "home.inventory": "Food inventory",
  "home.mealBoxes": "Meal boxes",
  "home.moreItems_one": "+ 1 more …",
  "home.moreItems_other": "+ {count} more …",
  "home.pastBestBefore": "Past best before – smell and taste first",
  "home.shopping": "Shopping list",
  "home.thisWeek": "This week",
  "home.title": "At home",
  "home.useSoon": "Use soon",
  "home.useSoonHint": "Best before is about quality – smell, look and taste before you throw anything away. Use-by dates, however, should be respected.",
  "home.waste": "Food waste",
  "home.wasteWeek": "Food waste this week",
  "household.empty": "You don't have a household yet. Create one in onboarding or join with a code.",
  "household.invite": "Invite with code: {code}",
  "household.locations": "Storage locations",
  "household.members": "Members",
  "household.portionFactor": "×{factor} portion",
  "household.private": "Private per person: goals, allergies, health data and meal history.",
  "household.role.adult": "Adult",
  "household.role.child": "Child",
  "household.role.member": "Member",
  "household.role.owner": "Owner",
  "household.shareCode": "Share the code with your family to share inventory, list and plan.",
  "household.shared": "Shared in the household: food inventory, shopping list, week plan, meal boxes and budget.",
  "logmeal.manualTitle": "Manual",
  "logmeal.mealTypeTitle": "Meal type",
  "logmeal.photoTip": "Tip: photograph your plate under Scan and the app estimates for you – you always confirm.",
  "logmeal.proteinPlaceholder": "protein (g)",
  "logmeal.quickSubtitle": "Logs the same nutrition values as last time.",
  "logmeal.quickTitle": "Quick re-log",
  "logmeal.validationBody": "Name and calories are required for manual logging.",
  "logmeal.validationTitle": "Missing info",
  "logmeal.whatPlaceholder": "What did you eat?",
  "mealbox.eat": "Eat now",
  "mealbox.eatBy": "Eat by {date}",
  "mealbox.empty": "No meal boxes right now. When you cook, you can save servings here.",
  "mealbox.enjoyBody": "The portion is logged in My day.",
  "mealbox.enjoyTitle": "Enjoy your meal!",
  "mealbox.guidanceNote": "The recommended use-by is guidance – trust smell and taste.",
  "mealbox.portionsLeft_one": "1 serving left",
  "mealbox.portionsLeft_other": "{count} servings left",
  "mealbox.title": "Meal boxes",
  "memory.delete": "Delete",
  "memory.deleteAll": "Delete all memory",
  "memory.deleteAllTitle": "Delete all memory?",
  "memory.empty": "{brand} hasn't learned anything about you yet.",
  "memory.irreversible": "This cannot be undone.",
  "memory.origin.ai_inferred": "AI assumption",
  "memory.origin.observed": "Observed pattern",
  "memory.origin.user_stated": "You told us",
  "memory.pause": "Pause",
  "memory.paused": "Paused",
  "memory.resume": "Resume",
  "memory.subtitle": "Full transparency. Correct what's wrong, pause or delete – you own your memory.",
  "memory.title": "What {brand} knows about me",
  "memory.verified": "Verified",
  "memory.verify": "Correct",
  "myday.calories": "Calories",
  "myday.carbs": "Carbohydrates",
  "myday.estimateNote": "Values marked with ~ are estimates you can adjust.",
  "myday.estimateRange": "{min}–{max} kcal, likely {kcal}",
  "myday.fat": "Fat",
  "myday.fiber": "Fiber",
  "myday.kcalProtein": "{kcal} kcal · {protein} g protein",
  "myday.logMeal": "Log meal",
  "myday.mealType.breakfast": "Breakfast",
  "myday.mealType.dessert": "Dessert",
  "myday.mealType.dinner": "Dinner",
  "myday.mealType.lunch": "Lunch",
  "myday.mealType.snack": "Snack",
  "myday.noMeals": "No meals logged today.",
  "myday.over": "{kcal} kcal over target",
  "myday.overRecommended": "Above recommended",
  "myday.protein": "Protein",
  "myday.remaining": "{kcal} kcal remaining",
  "myday.salt": "Salt",
  "myday.targetsNote": "Targets are guidance, not medical advice.",
  "myday.title": "My day",
  "myday.todaysMeals": "Today's meals",
  "onboarding.allergen.crustaceans": "Crustaceans",
  "onboarding.allergen.eggs": "Eggs",
  "onboarding.allergen.fish": "Fish",
  "onboarding.allergen.gluten": "Gluten",
  "onboarding.allergen.milk": "Milk/lactose",
  "onboarding.allergen.peanuts": "Peanuts",
  "onboarding.allergen.sesame": "Sesame",
  "onboarding.allergen.soy": "Soy",
  "onboarding.allergen.tree_nuts": "Tree nuts",
  "onboarding.allergies": "Allergies and intolerances",
  "onboarding.allergyNote": "Allergy filtering is always strict – dishes with your allergens are never shown.",
  "onboarding.birthYearPlaceholder": "Birth year",
  "onboarding.bodyTitle": "For personal calorie targets (optional)",
  "onboarding.diet": "How do you eat?",
  "onboarding.diet.flexitarian": "Flexitarian",
  "onboarding.diet.omnivore": "Omnivore",
  "onboarding.diet.pescatarian": "Pescatarian",
  "onboarding.diet.vegan": "Vegan",
  "onboarding.diet.vegetarian": "Vegetarian",
  "onboarding.goal": "What is your main goal?",
  "onboarding.goal.build_muscle": "Build muscle",
  "onboarding.goal.cook_more": "Cook more at home",
  "onboarding.goal.less_waste": "Reduce food waste",
  "onboarding.goal.lose_weight": "Lose weight",
  "onboarding.goal.lower_cost": "Spend less on food",
  "onboarding.goal.maintain_weight": "Maintain weight",
  "onboarding.goal.more_protein": "Eat more protein",
  "onboarding.heightPlaceholder": "Height (cm)",
  "onboarding.household": "Your household",
  "onboarding.householdCreate": "Create household",
  "onboarding.householdDefaultName": "Home",
  "onboarding.householdJoin": "Join with a code",
  "onboarding.householdName": "Household name",
  "onboarding.inviteCode": "Invite code",
  "onboarding.mode": "How precise do you want to be?",
  "onboarding.modeExact": "Exact mode",
  "onboarding.modeExactDesc": "Weigh food, enter grams, full control of the numbers.",
  "onboarding.modeSimple": "Simple mode",
  "onboarding.modeSimpleDesc": "Snap photos of your food, accept estimates, minimal fuss.",
  "onboarding.modesCombine": "You can mix modes – simple day to day, exact when you want.",
  "onboarding.notMedical": "{brand} provides guidance – not medical advice.",
  "onboarding.stepBSubtitle": "Customize your profile for better suggestions.",
  "onboarding.stepBTitle": "Continue setup",
  "onboarding.stepCSubtitle": "Optional – used for personal calorie targets.",
  "onboarding.stepCTitle": "Your health profile",
  "onboarding.subtitle": "Everything is optional and can be changed at any time. The more you fill in, the better the suggestions.",
  "onboarding.title": "Tell us a little about yourself",
  "onboarding.weightPlaceholder": "Weight (kg)",
  "paywall.choose": "Choose",
  "paywall.fairUse": "Fair-use quota for AI scans included.",
  "paywall.family": "Family · up to 6 people",
  "paywall.freeNote": "Free: 10 AI scans/month, manual inventory, saved recipes and simple logging.",
  "paywall.household": "Household · up to 3 people",
  "paywall.large": "Large Household · up to 12 people",
  "paywall.perMonth": "{price}/month",
  "paywall.popular": "Most popular",
  "paywall.restore": "Restore purchases",
  "paywall.soonBody": "Purchases activate via App Store/Google Play once store integration is switched on (phase 7). The backend flow is already done.",
  "paywall.soonTitle": "Coming soon!",
  "paywall.subtitle": "The whole household's food OS: unlimited inventory, week planning and sharing.",
  "paywall.title": "{brand} Premium",
  "paywall.trialActive_one": "1 day left of your trial",
  "paywall.trialActive_other": "{days} days left of your trial",
  "profile.aiScansUsed": "AI scans: {used} / {total} this month",
  "profile.consent.anonymized_improvement": "Anonymised AI improvement",
  "profile.consent.health_integration": "Health data (Apple Health / Health Connect)",
  "profile.consent.image_training": "My photos may be used for training",
  "profile.consent.location_weather": "Location for weather-based suggestions",
  "profile.consent.personalization": "Personal features (memory & taste profile)",
  "profile.consent.product_analytics": "Product analytics",
  "profile.consent.push_notifications": "Push notifications",
  "profile.consents": "Consents & data",
  "profile.consentsNote": "Consents are separate – personal features never require training consent.",
  "profile.deleteAccount": "Delete account",
  "profile.deleteBody": "All your data is permanently deleted in line with GDPR.",
  "profile.deleteTitle": "Delete your account?",
  "profile.emailUnverified": "Email address not confirmed",
  "profile.export": "Export my data",
  "profile.goals": "Goals & diet",
  "profile.language": "Language",
  "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": "Log out",
  "profile.memory": "What {brand} knows about me",
  "profile.memorySubtitle": "See, correct, pause or delete what the platform has learned.",
  "profile.modeLabel": "Mode:",
  "profile.resendVerification": "Resend confirmation email",
  "profile.subscription": "Subscription",
  "profile.title": "Profile",
  "profile.verificationSent": "Sent! Check your inbox.",
  "recipe.avgRating": "Average {avg} from {count} ratings",
  "recipe.cook": "Cook now",
  "recipe.cost": "approx. {amount}/serving",
  "recipe.iCookedThis": "I cooked this",
  "recipe.ingredients": "Ingredients",
  "recipe.notSafe": "Doesn't match your dietary settings",
  "recipe.perPortion": "per serving",
  "recipe.portions_one": "1 serving",
  "recipe.portions_other": "{count} servings",
  "recipe.save": "Save",
  "recipe.saved": "Saved",
  "recipe.steps": "Instructions",
  "recipe.substitutions": "Substitute",
  "recipe.time": "{min} min",
  "scan.analyzing": "Analyzing …",
  "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": "Got it",
  "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": "First scan",
  "scan.expiry": "Best-before date",
  "scan.failed": "The analysis failed. Try again or add items manually.",
  "scan.freezer": "Freezer",
  "scan.fridge": "Fridge",
  "scan.ingredients": "Ingredients",
  "scan.nutrition": "Nutrition label",
  "scan.pantry": "Pantry",
  "scan.plate": "Plate",
  "scan.quotaLeft_one": "1 AI scan left this month",
  "scan.quotaLeft_other": "{count} AI scans left this month",
  "scan.receipt": "Receipt",
  "scan.review.addItem": "+ Add item",
  "scan.review.approveAll": "Save to inventory",
  "scan.review.bestBeforeNote": "Quality date – the food can be fine well beyond it. Smell and taste before discarding.",
  "scan.review.dateKindBestBefore": "Best before",
  "scan.review.dateKindUseBy": "Use by",
  "scan.review.datePlaceholder": "YYYY-MM-DD (optional)",
  "scan.review.itemPlaceholder": "Item",
  "scan.review.quantityPlaceholder": "Amount",
  "scan.review.rejected": "Removed",
  "scan.review.subtitle": "AI is sometimes uncertain – you decide. Edit, remove or add before saving.",
  "scan.review.title": "Review the result",
  "scan.review.uncertain": "Uncertain – please check",
  "scan.review.unitPlaceholder": "Unit (g, l, pcs …)",
  "scan.review.unknownItem": "Unknown item",
  "scan.review.useByNote": "Safety date – do not eat after this date.",
  "scan.subtitle": "Stock your food inventory or log a meal with the camera.",
  "scan.takePhoto": "Take photo",
  "scan.tips.light": "Avoid darkness and shadows",
  "scan.tips.move": "Move items that block each other",
  "scan.tips.overview": "Start with an overview photo",
  "scan.tips.shelf": "Photograph shelf by shelf",
  "scan.tips.title": "How to get the best analysis",
  "scan.title": "Scan",
  "shopping.addPlaceholder": "Add item …",
  "shopping.complete": "Finish shopping trip",
  "shopping.completeNote": "Checked items are added to your food inventory.",
  "shopping.completedBody_one": "1 item was added to your inventory.",
  "shopping.completedBody_other": "{count} items were added to your inventory.",
  "shopping.completedTitle": "Done!",
  "shopping.empty": "The list is empty.",
  "shopping.estimated": "approx. {amount}",
  "shopping.estimatedTotal": "Estimated total: approx. {amount}",
  "shopping.section.brod": "Bread",
  "shopping.section.chark": "Deli & cold cuts",
  "shopping.section.dryck": "Drinks",
  "shopping.section.fisk": "Fish",
  "shopping.section.frukt_gront": "Fruit & veg",
  "shopping.section.frys": "Frozen",
  "shopping.section.hygien_ovrigt": "Other",
  "shopping.section.konserver": "Canned goods",
  "shopping.section.kott_fagel": "Meat & poultry",
  "shopping.section.kryddor_bak": "Spices & baking",
  "shopping.section.mejeri": "Dairy",
  "shopping.section.skafferi": "Pantry",
  "shopping.section.snacks": "Snacks",
  "shopping.title": "Shopping list",
  "tabs.home": "At home",
  "tabs.myDay": "My day",
  "tabs.scan": "Scan",
  "tabs.whatToEat": "What's for dinner?",
  "wte.coverage": "{pct}% at home",
  "wte.cravingPlaceholder": "I'm craving … (e.g. creamy, Asian, under 500 kcal)",
  "wte.empty": "No suggestions yet – add some food to your inventory or loosen the filters.",
  "wte.mealBoxFirst": "Ready-made food at home",
  "wte.missing": "Missing: {items}",
  "wte.refresh": "New suggestions",
  "wte.subtitle": "Based on what you have at home, what should be used up, and what you like.",
  "wte.title": "What's for dinner?",
  "wte.whyTitle": "Why this suggestion?",
  "onboarding.primaryGoal": "Primary",
  "home.trustStatus.up_to_date": "Up to date",
  "home.trustStatus.needs_check": "Some items need checking",
  "home.trustStatus.uncertain": "Inventory uncertain – do a quick check",
  "reconciliation.title": "Quick inventory check",
  "reconciliation.subtitle": "Confirm what you have left to get better suggestions.",
  "reconciliation.exists": "Still have it",
  "reconciliation.depleted": "It is used up",
  "reconciliation.uncertain": "Not sure",
  "reconciliation.adjustQuantity": "Adjust amount",
  "reconciliation.reason.planned_recipe": "Needed soon for a recipe",
  "reconciliation.reason.expiring_soon": "Expires soon",
  "reconciliation.reason.high_value": "High value",
  "reconciliation.reason.low_confidence": "Estimated amount",
  "reconciliation.reason.stale_trust": "Has not been checked in a while",
  "reconciliation.reason.likely_depleted": "Likely used up soon",
  "reconciliation.done": "Done",
  "reconciliation.next": "Next",
  "reconciliation.empty": "Nothing needs checking right now. Well done!",
  "reconciliation.tasteHint": "Past best before? Smell and taste first – never waste food unnecessarily.",
  "scan.diff.title": "Review differences",
  "scan.diff.subtitle": "Confirm changes from the latest scan.",
  "scan.diff.newItem": "New item",
  "scan.diff.quantityChanged": "Quantity changed",
  "scan.diff.moved": "Moved",
  "scan.diff.vanished": "Missing in photo",
  "scan.diff.unchanged": "Unchanged",
  "scan.diff.accept": "Confirm",
  "scan.diff.reject": "Ignore",
  "scan.diff.acceptAll": "Confirm all",
  "scan.diff.noChanges": "No differences found.",
  "scan.diff.undo": "Undo",
  "scan.diff.undoHint": "Each change can be undone from the item detail view.",
  "cooked.portionsSumExceedsPlanned": "Eaten portions and leftovers cannot exceed the total number of portions.",
  "cooked.undoWindowExpired": "This cooking session can no longer be undone. The 24-hour window has expired.",
  "cooked.leftoverLessThanBox": "Leftovers must be at least as many as the number of meal-box portions.",
  "mealbox.undoConfirmTitle": "Undo cooking?",
  "mealbox.undoConfirmBody": "This reverses the inventory deduction and meal box for this cooking session.",
  "mealbox.undoSuccess": "Cooking session undone."
}
