f45eb5724b
QR/streckkod ar nu ett rent informationsflode: skanna for att SE vad produkten innehaller. Panelen visar full naring per 100 g (energi, fett/mattat, kolhydrat/socker, fiber, protein, salt), allergener, 'kan innehalla spar av', ingredienslista (Innehall) och kalla. Ingen 'lagg till'-knapp langre. Buggfix: kameran triggar onBarcodeScanned manga ggr/sek och state- flaggorna uppdaterades asynkront -> parallella uppslag staplade tva Alert-rutor (okand forst, produkten bakom -> syntes forst efter Avbryt). Nu synkront ref-las + panel i stallet for Alert.
468 lines
25 KiB
JSON
468 lines
25 KiB
JSON
{
|
||
"auth.backToLogin": "Tillbaka till inloggning",
|
||
"auth.displayName": "Vad ska vi kalla dig?",
|
||
"auth.email": "E-post",
|
||
"auth.forgotBody": "Ange din e-postadress så skickar vi en återställningslänk om kontot finns.",
|
||
"auth.forgotLink": "Glömt lösenordet?",
|
||
"auth.forgotSentBody": "Om adressen har ett konto har vi skickat en länk som gäller i 30 minuter. Öppna den på den här enheten.",
|
||
"auth.forgotSentTitle": "Kolla din inkorg",
|
||
"auth.forgotSubmit": "Skicka länk",
|
||
"auth.forgotTitle": "Återställ lösenord",
|
||
"auth.hasAccount": "Har du redan ett konto? Logga in",
|
||
"auth.login": "Logga in",
|
||
"auth.newPassword": "Nytt lösenord (minst 10 tecken)",
|
||
"auth.noAccount": "Ny här? Skapa konto",
|
||
"auth.password": "Lösenord",
|
||
"auth.register": "Skapa konto",
|
||
"auth.resetBody": "Länken gäller i 30 minuter och kan bara användas en gång. Alla enheter loggas ut när lösenordet byts.",
|
||
"auth.resetDoneBody": "Ditt lösenord är bytt. Logga in med det nya lösenordet.",
|
||
"auth.resetDoneTitle": "Klart!",
|
||
"auth.resetSubmit": "Byt lösenord",
|
||
"auth.resetTitle": "Välj nytt lösenord",
|
||
"auth.resetTokenPlaceholder": "Klistra in koden från mejlet",
|
||
"auth.trialNote": "14 dagars full tillgång – inget kort behövs.",
|
||
"auth.verifyDoneBody": "Tack! Ditt konto är nu verifierat.",
|
||
"auth.verifyDoneTitle": "E-postadressen är bekräftad",
|
||
"auth.verifyFailedBody": "Länken är ogiltig eller har gått ut. Begär en ny från profilen.",
|
||
"auth.verifyFailedTitle": "Länken fungerade inte",
|
||
"barcode.addPrompt": "Lägga till i lagret?",
|
||
"barcode.aim": "Rikta kameran mot streckkoden",
|
||
"barcode.allowCamera": "Tillåt kamera",
|
||
"barcode.cameraBody": "För att skanna streckkoder behöver {brand} kameran.",
|
||
"barcode.cameraTitle": "Kameran behövs",
|
||
"barcode.kcalPer100": "{kcal} kcal/100 g",
|
||
"barcode.needHousehold": "Du behöver ett hushåll först.",
|
||
"barcode.noLocation": "Ingen förvaringsplats hittades.",
|
||
"barcode.noNutrition": "Näringsdata saknas",
|
||
"barcode.photoPackage": "Fota förpackningen",
|
||
"barcode.unknownBody": "Produkten finns inte i databasen ännu. Fota framsidan och näringsdeklarationen så lägger vi till den.",
|
||
"barcode.unknownTitle": "Okänd produkt",
|
||
"common.add": "Lägg till",
|
||
"common.back": "Tillbaka",
|
||
"common.cancel": "Avbryt",
|
||
"common.done": "Klar",
|
||
"common.error": "Något gick fel. Försök igen.",
|
||
"common.estimate": "Uppskattning",
|
||
"common.loading": "Laddar …",
|
||
"common.next": "Nästa",
|
||
"common.off": "Av",
|
||
"common.offline": "Offline – visar senast hämtade data",
|
||
"common.on": "På",
|
||
"common.oops": "Hoppsan",
|
||
"common.remove": "Ta bort",
|
||
"common.retry": "Försök igen",
|
||
"common.save": "Spara",
|
||
"common.skip": "Hoppa över",
|
||
"common.undo": "Ångra",
|
||
"cooked.deductPantry": "Dra ingredienser från lagret",
|
||
"cooked.deductPantryNote": "Ingredienserna dras från lagret enligt först-utgången-först.",
|
||
"cooked.mealBoxes": "Portioner till matlådor",
|
||
"cooked.portionsCooked": "Portioner lagade",
|
||
"cooked.rate": "Betygsätt",
|
||
"cooked.title": "Hur gick det?",
|
||
"cooked.actualPortionsEaten": "Hur många portioner åt ni?",
|
||
"cooked.actualPortionsEatenHint": "Resten blir rester eller matlådor.",
|
||
"cooked.leftoverEstimatePortions": "Hur många restportioner blev det?",
|
||
"cooked.leftoverEstimateHint": "Sparas som matlåda om du vill.",
|
||
"cooked.whoAte": "Vilka åt?",
|
||
"cooking.finish": "Klart – logga måltiden",
|
||
"cooking.keepAwake": "Skärmen hålls vaken medan du lagar",
|
||
"cooking.scale": "Portioner",
|
||
"cooking.step": "Steg {current} av {total}",
|
||
"cooking.timer": "Starta timer",
|
||
"cooking.timerDone": "Klart!",
|
||
"cooking.timerRunning": "{time} kvar",
|
||
"home.budget": "Matbudget",
|
||
"home.emptyInventory": "Lagret är tomt. Skanna kylen eller lägg till varor manuellt.",
|
||
"home.expired": "Utgången",
|
||
"home.expiresIn_one": "1 dag kvar",
|
||
"home.expiresIn_other": "{days} dagar kvar",
|
||
"home.expiresToday": "Går ut i dag",
|
||
"home.household": "Hushåll",
|
||
"home.inventory": "Matlager",
|
||
"home.mealBoxes": "Matlådor",
|
||
"home.moreItems_one": "+ 1 till …",
|
||
"home.moreItems_other": "+ {count} till …",
|
||
"home.pastBestBefore": "Passerat bäst före – lukta och smaka",
|
||
"home.shopping": "Inköpslista",
|
||
"home.thisWeek": "Denna vecka",
|
||
"home.title": "Hemma",
|
||
"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).",
|
||
"home.useSoon": "Använd snart",
|
||
"home.useSoonHint": "Bäst före handlar om kvalitet – lukta, titta och smaka innan du slänger. Sista förbrukningsdag ska däremot respekteras.",
|
||
"home.waste": "Matsvinn",
|
||
"home.wasteWeek": "Matsvinn denna vecka",
|
||
"household.empty": "Du har inget hushåll ännu. Skapa ett i onboardingen eller gå med via kod.",
|
||
"household.invite": "Bjud in med kod: {code}",
|
||
"household.locations": "Förvaringsplatser",
|
||
"household.members": "Medlemmar",
|
||
"household.portionFactor": "×{factor} portion",
|
||
"household.private": "Privat per person: mål, allergier, hälsodata och måltidshistorik.",
|
||
"household.role.adult": "Vuxen",
|
||
"household.role.child": "Barn",
|
||
"household.role.member": "Medlem",
|
||
"household.role.owner": "Ägare",
|
||
"household.shareCode": "Dela koden med familjen så delar ni lager, lista och plan.",
|
||
"household.shared": "Delas i hushållet: matlager, inköpslista, veckoplan, matlådor och budget.",
|
||
"logmeal.manualTitle": "Manuellt",
|
||
"logmeal.mealTypeTitle": "Måltidstyp",
|
||
"logmeal.photoTip": "Tips: fota tallriken under Skanna så uppskattar appen åt dig – du bekräftar alltid.",
|
||
"logmeal.proteinPlaceholder": "protein (g)",
|
||
"logmeal.quickSubtitle": "Loggar samma näringsvärden som förra gången.",
|
||
"logmeal.quickTitle": "Snabb återloggning",
|
||
"logmeal.validationBody": "Namn och kalorier behövs för manuell loggning.",
|
||
"logmeal.validationTitle": "Fyll i",
|
||
"logmeal.whatPlaceholder": "Vad åt du?",
|
||
"mealbox.eat": "Ät nu",
|
||
"mealbox.eatBy": "Ät senast {date}",
|
||
"mealbox.empty": "Inga matlådor just nu. När du lagar mat kan du spara portioner här.",
|
||
"mealbox.enjoyBody": "Portionen är loggad i Min dag.",
|
||
"mealbox.enjoyTitle": "Smaklig måltid!",
|
||
"mealbox.guidanceNote": "Rekommenderad användningstid är vägledning – lita på lukt och smak.",
|
||
"mealbox.portionsLeft_one": "1 portion kvar",
|
||
"mealbox.portionsLeft_other": "{count} portioner kvar",
|
||
"mealbox.title": "Matlådor",
|
||
"memory.delete": "Radera",
|
||
"memory.deleteAll": "Radera allt minne",
|
||
"memory.deleteAllTitle": "Radera allt minne?",
|
||
"memory.empty": "{brand} har inte lärt sig något om dig ännu.",
|
||
"memory.irreversible": "Detta går inte att ångra.",
|
||
"memory.origin.ai_inferred": "AI-antagande",
|
||
"memory.origin.observed": "Observerat mönster",
|
||
"memory.origin.user_stated": "Du har berättat",
|
||
"memory.pause": "Pausa",
|
||
"memory.paused": "Pausad",
|
||
"memory.resume": "Återuppta",
|
||
"memory.subtitle": "Full insyn. Rätta det som är fel, pausa eller radera – du äger ditt minne.",
|
||
"memory.title": "Vad {brand} vet om mig",
|
||
"memory.verified": "Verifierad",
|
||
"memory.verify": "Stämmer",
|
||
"myday.calories": "Kalorier",
|
||
"myday.carbs": "Kolhydrater",
|
||
"myday.estimateNote": "Värden med ~ är uppskattningar som du kan justera.",
|
||
"myday.estimateRange": "{min}–{max} kcal, troligen {kcal}",
|
||
"myday.fat": "Fett",
|
||
"myday.fiber": "Fibrer",
|
||
"myday.kcalProtein": "{kcal} kcal · {protein} g protein",
|
||
"myday.logMeal": "Logga måltid",
|
||
"myday.mealType.breakfast": "Frukost",
|
||
"myday.mealType.dessert": "Efterrätt",
|
||
"myday.mealType.dinner": "Middag",
|
||
"myday.mealType.lunch": "Lunch",
|
||
"myday.mealType.snack": "Mellanmål",
|
||
"myday.noMeals": "Inga måltider loggade i dag.",
|
||
"myday.over": "{kcal} kcal över målet",
|
||
"myday.overRecommended": "Över rekommenderat",
|
||
"myday.protein": "Protein",
|
||
"myday.remaining": "{kcal} kcal kvar",
|
||
"myday.salt": "Salt",
|
||
"myday.targetsNote": "Målen är vägledning, inte medicinsk rådgivning.",
|
||
"myday.title": "Min dag",
|
||
"myday.todaysMeals": "Dagens måltider",
|
||
"onboarding.allergen.crustaceans": "Skaldjur",
|
||
"onboarding.allergen.eggs": "Ägg",
|
||
"onboarding.allergen.fish": "Fisk",
|
||
"onboarding.allergen.gluten": "Gluten",
|
||
"onboarding.allergen.milk": "Mjölk/laktos",
|
||
"onboarding.allergen.peanuts": "Jordnötter",
|
||
"onboarding.allergen.sesame": "Sesam",
|
||
"onboarding.allergen.soy": "Soja",
|
||
"onboarding.allergen.tree_nuts": "Nötter",
|
||
"onboarding.allergies": "Allergier och intoleranser",
|
||
"onboarding.allergyNote": "Allergifiltrering är alltid strikt – rätter med dina allergener visas aldrig.",
|
||
"onboarding.birthYearPlaceholder": "Födelseår",
|
||
"onboarding.bodyTitle": "För personliga kalorimål (frivilligt)",
|
||
"onboarding.diet": "Hur äter du?",
|
||
"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.diet.flexitarian": "Flexitarian",
|
||
"onboarding.diet.omnivore": "Allätare",
|
||
"onboarding.diet.pescatarian": "Pescetarian",
|
||
"onboarding.diet.vegan": "Vegan",
|
||
"onboarding.diet.vegetarian": "Vegetarian",
|
||
"onboarding.diet.carnivore": "Carnivore",
|
||
"onboarding.diet.low_carb": "LCHF",
|
||
"onboarding.diet.nordic": "Nordisk",
|
||
"onboarding.diet.paleo": "Paleo",
|
||
"onboarding.goal": "Vad är ditt främsta mål?",
|
||
"onboarding.goal.build_muscle": "Bygga muskler",
|
||
"onboarding.goal.cook_more": "Laga mer hemma",
|
||
"onboarding.goal.less_waste": "Minska matsvinn",
|
||
"onboarding.goal.lose_weight": "Gå ner i vikt",
|
||
"onboarding.goal.lower_cost": "Sänka matkostnaden",
|
||
"onboarding.goal.maintain_weight": "Behålla vikten",
|
||
"onboarding.goal.more_protein": "Äta mer protein",
|
||
"onboarding.heightPlaceholder": "Längd (cm)",
|
||
"onboarding.household": "Ditt hushåll",
|
||
"onboarding.householdCreate": "Skapa hushåll",
|
||
"onboarding.householdDefaultName": "Hemma",
|
||
"onboarding.householdJoin": "Gå med via kod",
|
||
"onboarding.householdName": "Hushållets namn",
|
||
"onboarding.inviteCode": "Inbjudningskod",
|
||
"onboarding.mode": "Hur noggrann vill du vara?",
|
||
"onboarding.modeExact": "Exakt läge",
|
||
"onboarding.modeExactDesc": "Väg mat, ange gram, full kontroll på siffrorna.",
|
||
"onboarding.modeSimple": "Enkelt läge",
|
||
"onboarding.modeSimpleDesc": "Fota maten, acceptera uppskattningar, minimalt pyssel.",
|
||
"onboarding.modesCombine": "Lägena kan kombineras – enkelt till vardags, exakt när du vill.",
|
||
"onboarding.memoryTransparency": "Detta sparas i \"Vad {brand} vet om mig\" och du kan ändra det när som helst.",
|
||
"onboarding.notMedical": "{brand} ger vägledning – inte medicinsk rådgivning.",
|
||
"onboarding.stepBSubtitle": "Anpassa din profil för bättre förslag.",
|
||
"onboarding.stepBTitle": "Fortsätt konfiguration",
|
||
"onboarding.stepCSubtitle": "Valfritt – används för personliga kalorimål.",
|
||
"onboarding.stepCTitle": "Din hälsoprofil",
|
||
"onboarding.subtitle": "Allt är frivilligt och kan ändras när som helst. Ju mer du fyller i, desto bättre förslag.",
|
||
"onboarding.title": "Berätta lite om dig",
|
||
"onboarding.weightPlaceholder": "Vikt (kg)",
|
||
"paywall.choose": "Välj",
|
||
"paywall.fairUse": "Fair use-kvot för AI-skanningar ingår.",
|
||
"paywall.family": "Family · upp till 6 personer",
|
||
"paywall.freeNote": "Gratis: 5 AI-skanningar/mån, manuellt lager, sparade recept och enkel loggning.",
|
||
"paywall.household": "Household · upp till 3 personer",
|
||
"paywall.large": "Large Household · upp till 12 personer",
|
||
"paywall.perMonth": "{price}/mån",
|
||
"paywall.popular": "Populärast",
|
||
"paywall.restore": "Återställ köp",
|
||
"paywall.soonBody": "Köp aktiveras via App Store/Google Play när butiksintegrationen slås på (fas 7). Backend-flödet är redan klart.",
|
||
"paywall.soonTitle": "Snart!",
|
||
"paywall.subtitle": "Hela hushållets mat-OS: obegränsat lager, veckoplan och delning.",
|
||
"paywall.title": "{brand} Premium",
|
||
"paywall.trialActive_one": "1 dag kvar av din provperiod",
|
||
"paywall.trialActive_other": "{days} dagar kvar av din provperiod",
|
||
"profile.aiScansUsed": "AI-skanningar: {used} / {total} denna månad",
|
||
"profile.consent.anonymized_improvement": "Anonymiserad förbättring av AI:n",
|
||
"profile.consent.health_integration": "Hälsodata (Apple Health / Health Connect)",
|
||
"profile.consent.image_training": "Mina bilder får användas för träning",
|
||
"profile.consent.location_weather": "Plats för väderbaserade förslag",
|
||
"profile.consent.personalization": "Personliga funktioner (minne & smakprofil)",
|
||
"profile.consent.product_analytics": "Produktanalys",
|
||
"profile.consent.push_notifications": "Push-notiser",
|
||
"profile.consents": "Samtycken & data",
|
||
"profile.consentsNote": "Samtyckena är separata – personlig funktion kräver aldrig träningssamtycke.",
|
||
"profile.deleteAccount": "Radera konto",
|
||
"profile.deleteBody": "All din data raderas permanent enligt GDPR.",
|
||
"profile.deleteTitle": "Radera kontot?",
|
||
"profile.emailUnverified": "E-postadressen är inte bekräftad",
|
||
"profile.export": "Exportera min data",
|
||
"profile.goals": "Mål & kost",
|
||
"profile.language": "Språk",
|
||
"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": "Logga ut",
|
||
"profile.memory": "Vad {brand} vet om mig",
|
||
"profile.memorySubtitle": "Se, rätta, pausa eller radera det plattformen lärt sig.",
|
||
"profile.modeLabel": "Läge:",
|
||
"profile.resendVerification": "Skicka bekräftelsemejl igen",
|
||
"profile.subscription": "Prenumeration",
|
||
"profile.title": "Profil",
|
||
"profile.verificationSent": "Skickat! Kolla din inkorg.",
|
||
"recipe.avgRating": "Snitt {avg} av {count} betyg",
|
||
"recipe.cook": "Laga nu",
|
||
"recipe.cost": "ca {amount}/portion",
|
||
"recipe.iCookedThis": "Jag lagade detta",
|
||
"recipe.ingredients": "Ingredienser",
|
||
"recipe.notSafe": "Passar inte dina kostinställningar",
|
||
"recipe.perPortion": "per portion",
|
||
"recipe.portions_one": "1 portion",
|
||
"recipe.portions_other": "{count} portioner",
|
||
"recipe.save": "Spara",
|
||
"recipe.saved": "Sparad",
|
||
"recipe.steps": "Gör så här",
|
||
"recipe.substitutions": "Byt ut",
|
||
"recipe.time": "{min} min",
|
||
"scan.analyzing": "Analyserar …",
|
||
"scan.barcode": "Streckkod",
|
||
"scan.coach.body": "Fota hela hyllan eller kylen. Håll telefonen stilla och se till att ljuset är bra.",
|
||
"scan.coach.button": "Jag förstår",
|
||
"scan.coach.tip1": "Se till att alla varor syns",
|
||
"scan.coach.tip2": "Undvik blixt och skuggor",
|
||
"scan.coach.tip3": "Bekräfta osäkra rader i nästa steg",
|
||
"scan.coach.title": "Första skanningen",
|
||
"scan.expiry": "Bäst före-datum",
|
||
"scan.failed": "Analysen misslyckades. Försök igen eller registrera manuellt.",
|
||
"scan.freezer": "Frys",
|
||
"scan.fridge": "Kyl",
|
||
"scan.ingredients": "Ingredienser",
|
||
"scan.nutrition": "Näringsdeklaration",
|
||
"scan.pantry": "Skafferi",
|
||
"scan.plate": "Tallrik",
|
||
"scan.quotaLeft_one": "1 AI-skanning kvar denna månad",
|
||
"scan.quotaLeft_other": "{count} AI-skanningar kvar denna månad",
|
||
"scan.receipt": "Kvitto",
|
||
"scan.review.addItem": "+ Lägg till vara",
|
||
"scan.review.approveAll": "Spara till lagret",
|
||
"scan.review.bestBeforeNote": "Kvalitetsgräns – varan kan vara god längre. Lukta och smaka innan du slänger.",
|
||
"scan.review.dateKindBestBefore": "Bäst före",
|
||
"scan.review.dateKindUseBy": "Sista förbrukningsdag",
|
||
"scan.review.datePlaceholder": "ÅÅÅÅ-MM-DD (valfritt)",
|
||
"scan.review.itemPlaceholder": "Vara",
|
||
"scan.review.quantityPlaceholder": "Mängd",
|
||
"scan.review.rejected": "Borttagen",
|
||
"scan.review.subtitle": "AI:n är osäker ibland – du bestämmer. Ändra, ta bort eller lägg till innan du sparar.",
|
||
"scan.review.title": "Granska resultatet",
|
||
"scan.review.uncertain": "Osäker – kontrollera",
|
||
"scan.review.unitPlaceholder": "Enhet (g, l, st …)",
|
||
"scan.review.unknownItem": "Okänd vara",
|
||
"scan.review.useByNote": "Säkerhetsgräns – ät inte efter detta datum.",
|
||
"scan.subtitle": "Fyll på matlagret eller logga en måltid med kameran.",
|
||
"scan.takePhoto": "Ta bild",
|
||
"scan.tips.light": "Undvik mörker och skugga",
|
||
"scan.tips.move": "Flytta varor som skymmer varandra",
|
||
"scan.tips.overview": "Ta en översiktsbild först",
|
||
"scan.tips.shelf": "Fota gärna hylla för hylla",
|
||
"scan.tips.title": "Så blir analysen bäst",
|
||
"scan.title": "Skanna",
|
||
"shopping.addPlaceholder": "Lägg till vara …",
|
||
"shopping.complete": "Avsluta köprundan",
|
||
"shopping.completeNote": "Bockade varor läggs in i matlagret.",
|
||
"shopping.completedBody_one": "1 vara lades in i matlagret.",
|
||
"shopping.completedBody_other": "{count} varor lades in i matlagret.",
|
||
"shopping.completedTitle": "Klart!",
|
||
"shopping.empty": "Listan är tom.",
|
||
"shopping.estimated": "ca {amount}",
|
||
"shopping.estimatedTotal": "Uppskattad totalsumma: ca {amount}",
|
||
"shopping.section.brod": "Bröd",
|
||
"shopping.section.chark": "Chark",
|
||
"shopping.section.dryck": "Dryck",
|
||
"shopping.section.fisk": "Fisk",
|
||
"shopping.section.frukt_gront": "Frukt & grönt",
|
||
"shopping.section.frys": "Frys",
|
||
"shopping.section.hygien_ovrigt": "Övrigt",
|
||
"shopping.section.konserver": "Konserver",
|
||
"shopping.section.kott_fagel": "Kött & fågel",
|
||
"shopping.section.kryddor_bak": "Kryddor & bakning",
|
||
"shopping.section.mejeri": "Mejeri",
|
||
"shopping.section.skafferi": "Skafferi",
|
||
"shopping.section.snacks": "Snacks",
|
||
"shopping.title": "Inköpslista",
|
||
"tabs.home": "Hemma",
|
||
"tabs.myDay": "Min dag",
|
||
"tabs.scan": "Skanna",
|
||
"tabs.whatToEat": "Vad ska vi äta?",
|
||
"tabs.plan": "Plan",
|
||
"plan.today": "Idag",
|
||
"plan.emptyDay": "Inget planerat",
|
||
"plan.portions": "{count} portioner",
|
||
"plan.generate": "Generera veckoplan",
|
||
"plan.generating": "Genererar veckoplan…",
|
||
"plan.cooked": "Lagad",
|
||
"plan.skipped": "Överhoppad",
|
||
"plan.activate": "Aktivera plan",
|
||
"plan.createShopping": "Skapa inköpslista",
|
||
"wte.coverage": "{pct} % hemma",
|
||
"wte.cravingPlaceholder": "Jag är sugen på … (t.ex. krämigt, asiatiskt, under 500 kcal)",
|
||
"wte.empty": "Inga förslag ännu – lägg in lite mat i lagret eller lätta på filtren.",
|
||
"wte.mealBoxFirst": "Färdig mat hemma",
|
||
"wte.missing": "Saknas: {items}",
|
||
"wte.refresh": "Nya förslag",
|
||
"wte.subtitle": "Utifrån vad ni har hemma, vad som bör användas och vad ni gillar.",
|
||
"wte.title": "Vad ska vi äta?",
|
||
"wte.whyTitle": "Varför detta förslag?",
|
||
"onboarding.primaryGoal": "Primärt",
|
||
"home.trustStatus.up_to_date": "Uppdaterat",
|
||
"home.trustStatus.needs_check": "Några varor behöver kontrolleras",
|
||
"home.trustStatus.uncertain": "Lagret är osäkert – gör en snabbkoll",
|
||
"reconciliation.title": "Snabbkoll av lagret",
|
||
"reconciliation.subtitle": "Bekräfta vad du har kvar så blir förslagen bättre.",
|
||
"consent.title": "Välkommen till Cibello",
|
||
"consent.body": "För att använda Cibello behöver du godkänna Användarvillkoren och Integritetspolicyn. I nästa steg väljer du själv hur personlig du vill att appen ska vara – helt frivilligt, och du kan ändra det när som helst.",
|
||
"consent.termsLink": "Läs Användarvillkoren",
|
||
"consent.privacyLink": "Läs Integritetspolicyn",
|
||
"consent.checkbox": "Jag har läst och godkänner Användarvillkoren och Integritetspolicyn.",
|
||
"consent.submit": "Godkänn och fortsätt",
|
||
"reconciliation.exists": "Finns kvar",
|
||
"reconciliation.depleted": "Är slut",
|
||
"reconciliation.uncertain": "Osäker",
|
||
"reconciliation.adjustQuantity": "Justera mängd",
|
||
"reconciliation.reason.planned_recipe": "Behövs snart till recept",
|
||
"reconciliation.reason.expiring_soon": "Går snart ut",
|
||
"reconciliation.reason.high_value": "Högt värde",
|
||
"reconciliation.reason.low_confidence": "Uppskattad mängd",
|
||
"reconciliation.reason.stale_trust": "Har inte kontrollerats på länge",
|
||
"reconciliation.reason.likely_depleted": "Borde vara slut snart",
|
||
"reconciliation.done": "Klart",
|
||
"reconciliation.next": "Nästa",
|
||
"reconciliation.empty": "Inget behöver avstämning just nu. Bra jobbat!",
|
||
"reconciliation.tasteHint": "Passerat bäst före? Lukta och smaka först – mat kastas inte i onödan.",
|
||
"scan.diff.title": "Granska skillnader",
|
||
"scan.diff.subtitle": "Bekrätta ändringar från senaste skanningen.",
|
||
"scan.diff.newItem": "Ny vara",
|
||
"scan.diff.quantityChanged": "Ändrad mängd",
|
||
"scan.diff.moved": "Flyttad",
|
||
"scan.diff.vanished": "Saknas på bilden",
|
||
"scan.diff.unchanged": "Oförändrad",
|
||
"scan.diff.accept": "Bekräfta",
|
||
"scan.diff.reject": "Ignorera",
|
||
"scan.diff.acceptAll": "Bekräfta alla",
|
||
"scan.diff.noChanges": "Inga skillnader hittades.",
|
||
"scan.diff.undo": "Ångra",
|
||
"scan.diff.undoHint": "Varje ändring kan ångras från varans detaljvy.",
|
||
"cooked.portionsSumExceedsPlanned": "Antalet ätna portioner och rester får inte överstiga det totala antalet portioner.",
|
||
"cooked.undoWindowExpired": "Denna matlagningssession kan inte längre ångras. 24-timmarsfönstret har löpt ut.",
|
||
"cooked.leftoverLessThanBox": "Rester måste vara minst lika många som antalet matlådeportioner.",
|
||
"mealbox.undoConfirmTitle": "Ångra matlagning?",
|
||
"mealbox.undoConfirmBody": "Detta tar tillbaka lagerförbrukningen och matlådan för den här matlagningen.",
|
||
"mealbox.undoSuccess": "Matlagningen är ångrad.",
|
||
"scan.meal.title": "Logga måltid från foto",
|
||
"scan.meal.estimateNote": "Uppskattat från ditt foto – justera innan du sparar.",
|
||
"scan.meal.calories": "Uppskattade kalorier",
|
||
"scan.meal.namePlaceholder": "Vad åt du? (valfritt)",
|
||
"scan.meal.components": "Igenkänt på tallriken",
|
||
"scan.meal.noEstimate": "Kunde inte uppskatta kalorierna från fotot.",
|
||
"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.",
|
||
"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…",
|
||
"barcode.info.title": "Näringsvärde per 100 g",
|
||
"barcode.info.kcal": "Energi",
|
||
"barcode.info.protein": "Protein",
|
||
"barcode.info.carbs": "Kolhydrater",
|
||
"barcode.info.sugar": "– varav socker",
|
||
"barcode.info.fat": "Fett",
|
||
"barcode.info.satfat": "– varav mättat",
|
||
"barcode.info.fiber": "Fiber",
|
||
"barcode.info.salt": "Salt",
|
||
"barcode.info.allergens": "Allergener",
|
||
"barcode.info.mayContain": "Kan innehålla spår av",
|
||
"barcode.info.ingredients": "Innehåll",
|
||
"barcode.info.noNutrition": "Ingen näringsinfo finns för den här produkten ännu.",
|
||
"barcode.info.scanAgain": "Skanna igen",
|
||
"barcode.info.sourceOwn": "Källa: egen produktdatabas",
|
||
"barcode.info.sourceOff": "Källa: Open Food Facts"
|
||
}
|