18388bb31c
- API: översatt title/displayName/toName läggs nu bredvid Sv-fälten i favoriter,
receptvarianter, /scaled, skapar-profiler, topplistor, memory-impact,
substitutions — samt de denormaliserade titlarna (min dag, historik, matlådor,
matlåde-förslag, veckoplan) via nullable recipeId med svensk fallback.
10 endpoints, batchade resolvers (ett anrop per endpoint).
- Mobil: konsumerar de nya fälten med ?? Sv-fallback (swap-meal, sparade recept,
varianter, min dag, logg, matlådor, veckoplan, inköpslista). Hårdkodade
strängar -> t() (kitchen, scan-review, register, recept protein/Skapat av);
decimalkomma -> Intl.NumberFormat. Allergen-etiketter -> t() (+5 nya nycklar).
11 nya nycklar i alla 12 språk.
- i18n-vakt härdad: fångar nu hårdkodad svenska i prop={`...`}-mallliteraler
(blind fläck förr). Verifierat att den fäller men inte ger falska positiv.
- whySv var redan lokaliserad (buildWhy med språktagg) - orörd.
- typecheck grönt (alla paket), vakt grön (603 nycklar).
Co-Authored-By: Claude <noreply@anthropic.com>
620 lines
35 KiB
JSON
620 lines
35 KiB
JSON
{
|
||
"auth.backToLogin": "Wróć do logowania",
|
||
"auth.displayName": "Jak mamy się do Ciebie zwracać?",
|
||
"auth.email": "E-mail",
|
||
"auth.forgotBody": "Podaj swój e-mail, a wyślemy link, jeśli konto istnieje.",
|
||
"auth.forgotLink": "Nie pamiętasz hasła?",
|
||
"auth.forgotSentBody": "Jeśli adres ma konto, wysłaliśmy link ważny 30 minut. Otwórz go na tym urządzeniu.",
|
||
"auth.forgotSentTitle": "Sprawdź skrzynkę",
|
||
"auth.forgotSubmit": "Wyślij link",
|
||
"auth.forgotTitle": "Zresetuj hasło",
|
||
"auth.hasAccount": "Masz już konto? Zaloguj się",
|
||
"auth.login": "Zaloguj się",
|
||
"auth.newPassword": "Nowe hasło (min. 10 znaków)",
|
||
"auth.noAccount": "Nowy tutaj? Utwórz konto",
|
||
"auth.password": "Hasło",
|
||
"auth.register": "Utwórz konto",
|
||
"auth.resetBody": "Link jest ważny 30 minut i można go użyć tylko raz. Wszystkie urządzenia zostaną wylogowane.",
|
||
"auth.resetDoneBody": "Hasło zostało zmienione. Zaloguj się nowym hasłem.",
|
||
"auth.resetDoneTitle": "Gotowe!",
|
||
"auth.resetSubmit": "Zmień hasło",
|
||
"auth.resetTitle": "Wybierz nowe hasło",
|
||
"auth.resetTokenPlaceholder": "Wklej kod z e-maila",
|
||
"auth.trialNote": "14 dni pełnego dostępu – bez karty.",
|
||
"auth.verifyDoneBody": "Dziękujemy! Twoje konto jest zweryfikowane.",
|
||
"auth.verifyDoneTitle": "E-mail potwierdzony",
|
||
"auth.verifyFailedBody": "Link jest nieprawidłowy lub wygasł. Poproś o nowy w profilu.",
|
||
"auth.verifyFailedTitle": "Link nie zadziałał",
|
||
"barcode.addPrompt": "Dodać do spiżarni?",
|
||
"barcode.aim": "Skieruj aparat na kod kreskowy",
|
||
"barcode.allowCamera": "Zezwól na aparat",
|
||
"barcode.cameraBody": "{brand} potrzebuje aparatu do skanowania kodów kreskowych.",
|
||
"barcode.cameraTitle": "Potrzebny aparat",
|
||
"barcode.contributing.title": "Odczytywanie opakowania…",
|
||
"barcode.contributing.body": "Odczytujemy wartości odżywcze, alergeny i składniki – i zapisujemy produkt we wspólnym katalogu, aby następna osoba nie musiała go fotografować.",
|
||
"barcode.contributing.failed": "Nie udało się odczytać opakowania. Spróbuj ponownie z ostrym zdjęciem i dobrym oświetleniem.",
|
||
"barcode.contributing.saved": "✓ Zapisano we wspólnym katalogu – dziękujemy za wkład!",
|
||
"barcode.contributing.frontDone": "Zrobiono zdjęcie przodu",
|
||
"barcode.contributing.backPrompt": "Teraz sfotografuj tył z tabelą wartości odżywczych i składnikami – dzięki temu produkt będzie kompletny.",
|
||
"barcode.contributing.skipBack": "Gotowe, analizuj",
|
||
"barcode.contributing.shootBack": "Sfotografuj tył",
|
||
"barcode.complete": "Sfotografuj tył (wartości i składniki)",
|
||
"barcode.done": "Gotowe",
|
||
"barcode.looksRight": "Zgadza się – gotowe",
|
||
"barcode.kcalPer100": "{kcal} kcal/100 g",
|
||
"barcode.needHousehold": "Najpierw potrzebujesz gospodarstwa.",
|
||
"barcode.noLocation": "Nie znaleziono miejsca przechowywania.",
|
||
"barcode.noNutrition": "Brak danych żywieniowych",
|
||
"barcode.photoPackage": "Sfotografuj opakowanie",
|
||
"barcode.unknownBody": "Tego produktu nie ma jeszcze w bazie. Zrób zdjęcie przodu i tabeli wartości odżywczych – odczytamy zawartość i zapiszemy produkt we wspólnym katalogu, aby następna osoba nie musiała. (Nie zostanie dodany do Twoich produktów.)",
|
||
"barcode.unknownTitle": "Nieznany produkt",
|
||
"common.add": "Dodaj",
|
||
"common.back": "Wstecz",
|
||
"common.cancel": "Anuluj",
|
||
"mealbox.ready": "Gotowe jedzenie czeka – najszybsza kolacja w domu.",
|
||
"common.all": "Wszystkie",
|
||
"auth.tagline": "Mniej marnowania, mniej stresu, więcej w portfelu",
|
||
"auth.passwordMin8": "Hasło musi mieć co najmniej 8 znaków.",
|
||
"auth.passwordMismatch": "Hasła nie są zgodne.",
|
||
"auth.repeatPassword": "Powtórz hasło",
|
||
"plan.swapDish": "Zmień danie",
|
||
"scan.maxTitle": "Gotowe",
|
||
"scan.maxBody": "Maks. {max} zdjęć w tym skanowaniu – analizuję.",
|
||
"scan.photoTaken": "Zrobiono zdjęcie {count}",
|
||
"scan.multiAngleHint": "Zrób więcej ujęć tego samego miejsca – aplikacja wymieni każdy produkt tylko raz. Każde zdjęcie liczy się jako skanowanie.",
|
||
"scan.takeAnother": "Zrób kolejne",
|
||
"scan.analyzeCount": "Analizuj ({count})",
|
||
"scan.tips.merge": "Lodówka/zamrażarka/spiżarnia: zrób kilka zdjęć w jednym skanowaniu – aplikacja połączy duplikaty.",
|
||
"kitchen.deleteConfirm": "Usunąć wybrane produkty z {label}?",
|
||
"kitchen.scopeSearch": "wyszukiwania",
|
||
"kitchen.scopeAll": "całego zapasu",
|
||
"kitchen.scopeSelection": "zaznaczenia",
|
||
"kitchen.searchPlaceholder": "Szukaj produktu…",
|
||
"kitchen.clearList": "Wyczyść listę",
|
||
"kitchen.empty": "Brak produktów do wyświetlenia. Zeskanuj lub dodaj produkty.",
|
||
"kitchen.pastBefore": "najlepiej spożyć przed",
|
||
"memory.trainingNote": "Pamięć osobista nigdy nie jest wykorzystywana jako dane treningowe bez osobnej zgody.",
|
||
"recipe.source": "Źródło: {name}",
|
||
"recipes.sub.bread": "Chleb",
|
||
"recipes.sub.bun": "Bułki",
|
||
"recipes.sub.pie": "Tarta",
|
||
"recipes.sub.cake": "Torty i ciasta",
|
||
"recipes.sub.cookie": "Ciasteczka",
|
||
"recipes.searchPlaceholder": "Szukaj przepisu…",
|
||
"recipes.emptyCategory": "Na razie brak przepisów w tej kategorii – pojawią się, gdy katalog się powiększy.",
|
||
"savedRecipes.searchPlaceholder": "Szukaj wśród zapisanych przepisów",
|
||
"savedRecipes.empty": "Nie masz jeszcze zapisanych przepisów. Naciśnij ☆ Zapisz przy przepisie, a pojawi się tutaj.",
|
||
"savedRecipes.emptySearch": "Żaden zapisany przepis nie pasuje do wyszukiwania.",
|
||
"shopping.removeConfirm": "Usunąć produkt z listy?",
|
||
"swap.addTitle": "Dodaj posiłek",
|
||
"swap.swapTitle": "Zmień posiłek",
|
||
"swap.chooseFor": "Wybierz danie na {meal} – lub wyszukaj dowolne danie.",
|
||
"swap.chooseOther": "Wybierz inne danie na {meal} – lub wyszukaj dowolne danie.",
|
||
"swap.mealLunch": "obiad",
|
||
"swap.mealBreakfast": "śniadanie",
|
||
"swap.mealDinner": "kolację",
|
||
"swap.searchPlaceholder": "Szukaj wśród wszystkich przepisów …",
|
||
"swap.showingResults": "Pokazuję wyniki dla ”{query}”.",
|
||
"swap.clearHint": "Wyczyść pole wyszukiwania i wyszukaj pustą frazę, aby znów zobaczyć propozycje.",
|
||
"errors.uploadTimeout": "Przesyłanie trwało zbyt długo – sprawdź połączenie sieciowe i spróbuj ponownie.",
|
||
"common.done": "Gotowe",
|
||
"common.error": "Coś poszło nie tak. Spróbuj ponownie.",
|
||
"common.estimate": "Szacunek",
|
||
"common.loading": "Ładowanie …",
|
||
"common.next": "Dalej",
|
||
"common.off": "Wył.",
|
||
"common.offline": "Offline – ostatnio pobrane dane",
|
||
"common.on": "Wł.",
|
||
"common.oops": "Ups",
|
||
"common.remove": "Usuń",
|
||
"common.retry": "Spróbuj ponownie",
|
||
"common.save": "Zapisz",
|
||
"common.skip": "Pomiń",
|
||
"common.undo": "Cofnij",
|
||
"cooked.deductPantry": "Odejmij składniki ze spiżarni",
|
||
"cooked.deductPantryNote": "Składniki są odejmowane ze spiżarni – najpierw te z najkrótszym terminem.",
|
||
"cooked.mealBoxes": "Porcje do pojemników",
|
||
"cooked.portionsCooked": "Ugotowane porcje",
|
||
"cooked.rate": "Oceń",
|
||
"cooked.title": "Jak poszło?",
|
||
"cooked.actualPortionsEaten": "Ile porcji zjedliście?",
|
||
"cooked.actualPortionsEatenHint": "Reszta stanie się resztkami lub lunchboxami.",
|
||
"cooked.leftoverEstimatePortions": "Ile porcji resztek?",
|
||
"cooked.leftoverEstimateHint": "Zapisane jako lunchbox, jeśli chcesz.",
|
||
"cooked.whoAte": "Kto jadł?",
|
||
"cooking.finish": "Gotowe – zarejestruj posiłek",
|
||
"cooking.keepAwake": "Ekran pozostaje włączony podczas gotowania",
|
||
"cooking.scale": "Porcje",
|
||
"cooking.step": "Krok {current} z {total}",
|
||
"cooking.approxTime": "Około {time}",
|
||
"home.budget": "Budżet na jedzenie",
|
||
"home.emptyInventory": "Spiżarnia jest pusta. Zeskanuj lodówkę albo dodaj produkty ręcznie.",
|
||
"home.expired": "Przeterminowane",
|
||
"home.expiresIn_few": "Zostały {days} dni",
|
||
"home.expiresIn_many": "Zostało {days} dni",
|
||
"home.expiresIn_one": "Został 1 dzień",
|
||
"home.expiresIn_other": "Zostało {days} dnia",
|
||
"home.expiresToday": "Kończy się dziś",
|
||
"home.household": "Gospodarstwo",
|
||
"home.inventory": "Spiżarnia",
|
||
"home.mealBoxes": "Pojemniki z jedzeniem",
|
||
"home.moreItems_few": "+ jeszcze {count} …",
|
||
"home.moreItems_many": "+ jeszcze {count} …",
|
||
"home.moreItems_one": "+ jeszcze 1 …",
|
||
"home.moreItems_other": "+ jeszcze {count} …",
|
||
"home.pastBestBefore": "Po terminie przydatności – najpierw powąchaj i spróbuj",
|
||
"home.shopping": "Lista zakupów",
|
||
"home.savedRecipes": "Twoje zapisane przepisy",
|
||
"home.submitRecipe": "Prześlij własny przepis",
|
||
"home.inventorySubtitle": "Wszystko, co masz w domu – otwórz miejsce lub przeszukaj cały zapas.",
|
||
"home.openAll": "Wszystko",
|
||
"home.open": "Otwórz",
|
||
"home.location.fridge": "Lodówka",
|
||
"home.location.freezer": "Zamrażarka",
|
||
"home.location.pantry": "Spiżarnia",
|
||
"home.location.garage_freezer": "Zamrażarka w garażu",
|
||
"home.location.wine_fridge": "Lodówka na wino",
|
||
"nav.browseRecipes": "Przeglądaj przepisy",
|
||
"nav.savedRecipes": "Zapisane przepisy",
|
||
"nav.kitchen": "Zapasy",
|
||
"nav.barcode": "Kod kreskowy",
|
||
"nav.swap": "Zmień",
|
||
"home.thisWeek": "W tym tygodniu",
|
||
"home.title": "W domu",
|
||
"home.useSoon": "Zużyj wkrótce",
|
||
"home.useSoonHint": "„Najlepiej spożyć przed” dotyczy jakości – powąchaj, obejrzyj i spróbuj, zanim wyrzucisz. Terminu „należy spożyć do” należy natomiast przestrzegać.",
|
||
"home.waste": "Marnowanie żywności",
|
||
"home.wasteWeek": "Marnowanie w tym tygodniu",
|
||
"household.empty": "Nie masz jeszcze gospodarstwa. Utwórz je podczas konfiguracji lub dołącz kodem.",
|
||
"household.invite": "Zaproś kodem: {code}",
|
||
"household.locations": "Miejsca przechowywania",
|
||
"household.members": "Członkowie",
|
||
"household.portionFactor": "×{factor} porcji",
|
||
"household.private": "Prywatne dla każdej osoby: cele, alergie, dane zdrowotne i historia posiłków.",
|
||
"household.role.adult": "Dorosły",
|
||
"household.role.child": "Dziecko",
|
||
"household.role.member": "Członek",
|
||
"household.role.owner": "Właściciel",
|
||
"household.shareCode": "Udostępnij kod rodzinie, aby dzielić spiżarnię, listę i plan.",
|
||
"household.shared": "Wspólne w gospodarstwie: spiżarnia, lista zakupów, plan tygodnia, pojemniki i budżet.",
|
||
"logmeal.manualTitle": "Ręcznie",
|
||
"logmeal.mealTypeTitle": "Rodzaj posiłku",
|
||
"logmeal.photoTip": "Wskazówka: sfotografuj talerz w zakładce Skanuj, a aplikacja oszacuje za Ciebie – zawsze potwierdzasz.",
|
||
"logmeal.proteinPlaceholder": "białko (g)",
|
||
"logmeal.quickSubtitle": "Zapisuje te same wartości odżywcze co ostatnio.",
|
||
"logmeal.quickTitle": "Szybkie ponowne dodanie",
|
||
"logmeal.validationBody": "Do ręcznego dodania potrzebne są nazwa i kalorie.",
|
||
"logmeal.validationTitle": "Uzupełnij",
|
||
"logmeal.whatPlaceholder": "Co zjadłeś/aś?",
|
||
"mealbox.eat": "Zjedz teraz",
|
||
"mealbox.eatBy": "Zjedz do {date}",
|
||
"mealbox.empty": "Brak pojemników. Gotując, możesz zapisać tu porcje.",
|
||
"mealbox.enjoyBody": "Porcja została zapisana w Mój dzień.",
|
||
"mealbox.enjoyTitle": "Smacznego!",
|
||
"mealbox.guidanceNote": "Zalecany termin to wskazówka – zaufaj węchowi i smakowi.",
|
||
"mealbox.portionsLeft_few": "Zostały {count} porcje",
|
||
"mealbox.portionsLeft_many": "Zostało {count} porcji",
|
||
"mealbox.portionsLeft_one": "Została 1 porcja",
|
||
"mealbox.portionsLeft_other": "Zostało {count} porcji",
|
||
"mealbox.title": "Pojemniki z jedzeniem",
|
||
"memory.delete": "Usuń",
|
||
"memory.deleteAll": "Usuń całą pamięć",
|
||
"memory.deleteAllTitle": "Usunąć całą pamięć?",
|
||
"memory.empty": "{brand} jeszcze niczego się o Tobie nie nauczył.",
|
||
"memory.irreversible": "Tego nie można cofnąć.",
|
||
"memory.origin.ai_inferred": "Przypuszczenie AI",
|
||
"memory.origin.observed": "Zaobserwowany wzorzec",
|
||
"memory.origin.user_stated": "Sam(a) powiedziałeś/-aś",
|
||
"memory.pause": "Wstrzymaj",
|
||
"memory.paused": "Wstrzymane",
|
||
"memory.resume": "Wznów",
|
||
"memory.subtitle": "Pełna przejrzystość. Poprawiaj, wstrzymuj lub usuwaj – Twoja pamięć należy do Ciebie.",
|
||
"memory.title": "Co {brand} o mnie wie",
|
||
"memory.verified": "Zweryfikowane",
|
||
"memory.verify": "Zgadza się",
|
||
"myday.calories": "Kalorie",
|
||
"myday.carbs": "Węglowodany",
|
||
"myday.estimateNote": "Wartości z ~ to szacunki, które możesz poprawić.",
|
||
"myday.estimateRange": "{min}–{max} kcal, prawdopodobnie {kcal}",
|
||
"myday.fat": "Tłuszcze",
|
||
"myday.fiber": "Błonnik",
|
||
"myday.kcalProtein": "{kcal} kcal · {protein} g białka",
|
||
"myday.logMeal": "Zarejestruj posiłek",
|
||
"myday.mealType.breakfast": "Śniadanie",
|
||
"myday.mealType.dessert": "Deser",
|
||
"myday.mealType.dinner": "Kolacja",
|
||
"myday.mealType.lunch": "Obiad",
|
||
"myday.mealType.snack": "Przekąska",
|
||
"myday.noMeals": "Dziś nie zarejestrowano posiłków.",
|
||
"myday.over": "{kcal} kcal ponad cel",
|
||
"myday.overRecommended": "Powyżej zaleceń",
|
||
"myday.protein": "Białko",
|
||
"myday.remaining": "Pozostało {kcal} kcal",
|
||
"myday.salt": "Sól",
|
||
"myday.targetsNote": "Cele to wskazówki, nie porada medyczna.",
|
||
"myday.title": "Mój dzień",
|
||
"myday.todaysMeals": "Dzisiejsze posiłki",
|
||
"onboarding.allergen.crustaceans": "Skorupiaki",
|
||
"onboarding.allergen.eggs": "Jaja",
|
||
"onboarding.allergen.fish": "Ryby",
|
||
"onboarding.allergen.gluten": "Gluten",
|
||
"onboarding.allergen.milk": "Mleko/laktoza",
|
||
"onboarding.allergen.peanuts": "Orzeszki ziemne",
|
||
"onboarding.allergen.sesame": "Sezam",
|
||
"onboarding.allergen.soy": "Soja",
|
||
"onboarding.allergen.tree_nuts": "Orzechy",
|
||
"onboarding.allergies": "Alergie i nietolerancje",
|
||
"onboarding.allergyNote": "Filtr alergii jest zawsze rygorystyczny – dania z Twoimi alergenami nigdy się nie pojawią.",
|
||
"onboarding.birthYearPlaceholder": "Rok urodzenia",
|
||
"onboarding.bodyTitle": "Dla osobistych celów kalorycznych (opcjonalnie)",
|
||
"onboarding.diet": "Jak się odżywiasz?",
|
||
"onboarding.diet.flexitarian": "Fleksitarianin",
|
||
"onboarding.diet.omnivore": "Wszystkożerca",
|
||
"onboarding.diet.pescatarian": "Peskatarianin",
|
||
"onboarding.diet.vegan": "Weganin",
|
||
"onboarding.diet.vegetarian": "Wegetarianin",
|
||
"onboarding.diet.carnivore": "Carnivore",
|
||
"onboarding.diet.low_carb": "LCHF",
|
||
"onboarding.diet.nordic": "Nordic",
|
||
"onboarding.diet.paleo": "Paleo",
|
||
"onboarding.goal": "Jaki jest Twój główny cel?",
|
||
"onboarding.goal.build_muscle": "Zbudować mięśnie",
|
||
"onboarding.goal.cook_more": "Częściej gotować w domu",
|
||
"onboarding.goal.less_waste": "Mniej marnować",
|
||
"onboarding.goal.lose_weight": "Schudnąć",
|
||
"onboarding.goal.lower_cost": "Wydawać mniej na jedzenie",
|
||
"onboarding.goal.maintain_weight": "Utrzymać wagę",
|
||
"onboarding.goal.more_protein": "Jeść więcej białka",
|
||
"onboarding.heightPlaceholder": "Wzrost (cm)",
|
||
"onboarding.household": "Twoje gospodarstwo",
|
||
"onboarding.householdCreate": "Utwórz gospodarstwo",
|
||
"onboarding.householdDefaultName": "Dom",
|
||
"onboarding.householdJoin": "Dołącz kodem",
|
||
"onboarding.householdName": "Nazwa gospodarstwa",
|
||
"onboarding.inviteCode": "Kod zaproszenia",
|
||
"onboarding.mode": "Jak dokładnie chcesz to robić?",
|
||
"onboarding.modeExact": "Tryb dokładny",
|
||
"onboarding.modeExactDesc": "Waż jedzenie, wpisuj gramy, pełna kontrola nad liczbami.",
|
||
"onboarding.modeSimple": "Tryb prosty",
|
||
"onboarding.modeSimpleDesc": "Fotografuj jedzenie, akceptuj szacunki, minimum zachodu.",
|
||
"onboarding.modesCombine": "Tryby można łączyć – na co dzień prosto, dokładnie, gdy chcesz.",
|
||
"onboarding.memoryTransparency": "To jest zapisywane w \"Co {brand} wie o mnie\" i możesz to zmienić w każdej chwili.",
|
||
"onboarding.notMedical": "{brand} to wskazówki – nie porada medyczna.",
|
||
"onboarding.stepBSubtitle": "Dostosuj swój profil, aby uzyskać lepsze sugestie.",
|
||
"onboarding.stepBTitle": "Kontynuuj konfigurację",
|
||
"onboarding.stepCSubtitle": "Opcjonalne – używane do osobistych celów kalorycznych.",
|
||
"onboarding.stepCTitle": "Twój profil zdrowia",
|
||
"onboarding.subtitle": "Wszystko jest opcjonalne i można to zmienić w każdej chwili. Im więcej uzupełnisz, tym lepsze propozycje.",
|
||
"onboarding.title": "Opowiedz nam coś o sobie",
|
||
"onboarding.weightPlaceholder": "Waga (kg)",
|
||
"paywall.choose": "Wybierz",
|
||
"paywall.fairUse": "Limit fair use skanów AI w cenie.",
|
||
"paywall.family": "Family · do 6 osób",
|
||
"paywall.freeNote": "Za darmo: 5 skanów AI/mies., ręczna spiżarnia, zapisane przepisy i proste rejestrowanie.",
|
||
"paywall.household": "Household · do 3 osób",
|
||
"paywall.large": "Large Household · do 12 osób",
|
||
"paywall.perMonth": "{price}/mies.",
|
||
"paywall.popular": "Najpopularniejszy",
|
||
"paywall.restore": "Przywróć zakupy",
|
||
"paywall.soonBody": "Zakupy będą aktywowane przez App Store/Google Play po włączeniu integracji ze sklepami (faza 7). Backend jest już gotowy.",
|
||
"paywall.soonTitle": "Wkrótce!",
|
||
"paywall.subtitle": "System operacyjny jedzenia dla całego gospodarstwa: nielimitowana spiżarnia, plan tygodnia i udostępnianie.",
|
||
"paywall.title": "{brand} Premium",
|
||
"paywall.trialActive_few": "Zostały {days} dni okresu próbnego",
|
||
"paywall.trialActive_many": "Zostało {days} dni okresu próbnego",
|
||
"paywall.trialActive_one": "Został 1 dzień okresu próbnego",
|
||
"paywall.trialActive_other": "Zostało {days} dnia okresu próbnego",
|
||
"profile.aiScansUsed": "Skany AI: {used} / {total} w tym miesiącu",
|
||
"profile.consent.anonymized_improvement": "Anonimowe ulepszanie AI",
|
||
"profile.consent.health_integration": "Dane zdrowotne (Apple Health / Health Connect)",
|
||
"profile.consent.image_training": "Moje zdjęcia mogą służyć do trenowania",
|
||
"profile.consent.location_weather": "Lokalizacja dla propozycji zależnych od pogody",
|
||
"profile.consent.personalization": "Funkcje osobiste (pamięć i profil smaku)",
|
||
"profile.consent.product_analytics": "Analiza produktu",
|
||
"profile.consent.push_notifications": "Powiadomienia push",
|
||
"profile.consents": "Zgody i dane",
|
||
"profile.consentsNote": "Zgody są rozdzielne – funkcje osobiste nigdy nie wymagają zgody na trenowanie.",
|
||
"profile.deleteAccount": "Usuń konto",
|
||
"profile.deleteBody": "Wszystkie Twoje dane zostaną trwale usunięte zgodnie z RODO.",
|
||
"profile.deleteTitle": "Usunąć konto?",
|
||
"profile.emailUnverified": "Adres e-mail niepotwierdzony",
|
||
"profile.export": "Eksportuj moje dane",
|
||
"profile.goals": "Cele i dieta",
|
||
"profile.language": "Język",
|
||
"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": "Wyloguj się",
|
||
"profile.memory": "Co {brand} o mnie wie",
|
||
"profile.memorySubtitle": "Zobacz, popraw, wstrzymaj lub usuń to, czego nauczyła się platforma.",
|
||
"profile.modeLabel": "Tryb:",
|
||
"profile.resendVerification": "Wyślij ponownie e-mail potwierdzający",
|
||
"profile.subscription": "Subskrypcja",
|
||
"profile.title": "Profil",
|
||
"profile.verificationSent": "Wysłano! Sprawdź skrzynkę.",
|
||
"recipe.avgRating": "Średnia {avg} z {count} ocen",
|
||
"recipe.cook": "Gotuj teraz",
|
||
"recipe.cost": "ok. {amount}/porcja",
|
||
"recipe.coverage.have": "Masz {percent}% w domu",
|
||
"recipe.coverage.missingCount": "Brakuje: {count}",
|
||
"recipe.coverage.haveAll": "Masz wszystko, czego potrzebujesz.",
|
||
"recipe.coverage.youAreMissing": "Brakuje Ci: {names}",
|
||
"recipe.coverage.addToList": "Dodaj {count} do listy zakupów",
|
||
"recipe.coverage.added": "Dodano do listy zakupów",
|
||
"recipe.coverage.addedBody": "Dodano: {count}",
|
||
"recipe.iCookedThis": "Ugotowałem/-am to",
|
||
"recipe.ingredients": "Składniki",
|
||
"recipe.optional": "(opcjonalne)",
|
||
"recipe.notSafe": "Nie pasuje do Twoich ustawień żywieniowych",
|
||
"recipe.perPortion": "na porcję",
|
||
"recipe.portions_few": "{count} porcje",
|
||
"recipe.portions_many": "{count} porcji",
|
||
"recipe.portions_one": "1 porcja",
|
||
"recipe.portions_other": "{count} porcji",
|
||
"recipe.save": "Zapisz",
|
||
"recipe.saved": "Zapisany",
|
||
"recipe.steps": "Przygotowanie",
|
||
"recipe.substitutions": "Zamień",
|
||
"recipe.time": "{min} min",
|
||
"scan.analyzing": "Analizowanie …",
|
||
"scan.barcode": "Kod kreskowy",
|
||
"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": "Rozumiem",
|
||
"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": "Pierwsze skanowanie",
|
||
"scan.expiry": "Data przydatności",
|
||
"scan.failed": "Analiza się nie powiodła. Spróbuj ponownie lub dodaj ręcznie.",
|
||
"scan.freezer": "Zamrażarka",
|
||
"scan.fridge": "Lodówka",
|
||
"scan.ingredients": "Składniki",
|
||
"scan.nutrition": "Etykieta wartości odżywczych",
|
||
"scan.pantry": "Spiżarnia",
|
||
"scan.plate": "Talerz",
|
||
"scan.quotaLeft_few": "Zostały {count} skany AI w tym miesiącu",
|
||
"scan.quotaLeft_many": "Zostało {count} skanów AI w tym miesiącu",
|
||
"scan.quotaLeft_one": "Został 1 skan AI w tym miesiącu",
|
||
"scan.quotaLeft_other": "Zostało {count} skanu AI w tym miesiącu",
|
||
"scan.receipt": "Paragon",
|
||
"scan.review.addItem": "+ Dodaj produkt",
|
||
"scan.review.approveAll": "Zapisz do spiżarni",
|
||
"scan.review.bestBeforeNote": "Data jakości – produkt często jest dobry dłużej. Powąchaj i spróbuj, zanim wyrzucisz.",
|
||
"scan.review.dateKindBestBefore": "Najlepiej spożyć przed",
|
||
"scan.review.dateKindUseBy": "Należy spożyć do",
|
||
"scan.review.datePlaceholder": "RRRR-MM-DD (opcjonalnie)",
|
||
"scan.review.itemPlaceholder": "Produkt",
|
||
"scan.review.quantityPlaceholder": "Ilość",
|
||
"scan.review.rejected": "Usunięto",
|
||
"scan.review.subtitle": "AI czasem się waha – Ty decydujesz. Popraw, usuń lub dodaj przed zapisaniem.",
|
||
"scan.review.title": "Sprawdź wynik",
|
||
"scan.review.uncertain": "Niepewne – sprawdź",
|
||
"scan.review.unitPlaceholder": "Jednostka (g, l, szt. …)",
|
||
"scan.review.unknownItem": "Nieznany produkt",
|
||
"scan.review.useByNote": "Data bezpieczeństwa – nie jedz po tej dacie.",
|
||
"scan.subtitle": "Uzupełnij spiżarnię lub zarejestruj posiłek aparatem.",
|
||
"scan.costNote": "Każde zdjęcie liczy się jako jedno skanowanie z Twojego limitu. Kod kreskowy jest zawsze darmowy.",
|
||
"scan.takePhoto": "Zrób zdjęcie",
|
||
"scan.tips.light": "Unikaj ciemności i cieni",
|
||
"scan.tips.move": "Rozsuń zasłaniające się produkty",
|
||
"scan.tips.overview": "Zacznij od zdjęcia ogólnego",
|
||
"scan.tips.shelf": "Fotografuj półka po półce",
|
||
"scan.tips.title": "Jak uzyskać najlepszą analizę",
|
||
"scan.title": "Skanuj",
|
||
"shopping.addPlaceholder": "Dodaj produkt …",
|
||
"shopping.complete": "Zakończ zakupy",
|
||
"shopping.completeNote": "Odhaczone produkty trafiają do spiżarni.",
|
||
"shopping.completedBody_few": "{count} produkty trafiły do spiżarni.",
|
||
"shopping.completedBody_many": "{count} produktów trafiło do spiżarni.",
|
||
"shopping.completedBody_one": "1 produkt trafił do spiżarni.",
|
||
"shopping.completedBody_other": "{count} produktu trafiło do spiżarni.",
|
||
"shopping.completedTitle": "Gotowe!",
|
||
"shopping.empty": "Lista jest pusta.",
|
||
"shopping.estimated": "ok. {amount}",
|
||
"shopping.estimatedTotal": "Szacowana suma: ok. {amount}",
|
||
"shopping.section.brod": "Pieczywo",
|
||
"shopping.section.chark": "Wędliny",
|
||
"shopping.section.dryck": "Napoje",
|
||
"shopping.section.fisk": "Ryby",
|
||
"shopping.section.frukt_gront": "Owoce i warzywa",
|
||
"shopping.section.frys": "Mrożonki",
|
||
"shopping.section.hygien_ovrigt": "Inne",
|
||
"shopping.section.konserver": "Konserwy",
|
||
"shopping.section.kott_fagel": "Mięso i drób",
|
||
"shopping.section.kryddor_bak": "Przyprawy i pieczenie",
|
||
"shopping.section.mejeri": "Nabiał",
|
||
"shopping.section.skafferi": "Spiżarnia",
|
||
"shopping.section.snacks": "Przekąski",
|
||
"shopping.title": "Lista zakupów",
|
||
"tabs.home": "W domu",
|
||
"tabs.myDay": "Mój dzień",
|
||
"tabs.scan": "Skanuj",
|
||
"tabs.whatToEat": "Co jemy?",
|
||
"tabs.plan": "Plan",
|
||
"plan.today": "Dziś",
|
||
"plan.emptyDay": "Nic nie zaplanowano",
|
||
"plan.portions": "{count} porcji",
|
||
"plan.generate": "Generuj plan tygodnia",
|
||
"plan.generating": "Generowanie planu…",
|
||
"plan.cooked": "Ugotowane",
|
||
"plan.skipped": "Pominięte",
|
||
"plan.activate": "Aktywuj plan",
|
||
"plan.createShopping": "Utwórz listę zakupów",
|
||
"wte.coverage": "{pct}% w domu",
|
||
"wte.searchPlaceholder": "Szukaj przepisów, np. naleśniki…",
|
||
"wte.recommended": "Polecane",
|
||
"wte.topPick": "Najlepszy wybór",
|
||
"wte.didYouMean": "Czy chodziło Ci o {suggestion}?",
|
||
"wte.emptySearch": "Żaden przepis nie pasuje do wyszukiwania.",
|
||
"wte.emptyHoliday": "Brak przepisów na tę okazję.",
|
||
"cat.baking": "Pieczenie",
|
||
"wte.cravingPlaceholder": "Mam ochotę na … (np. kremowe, azjatyckie, poniżej 500 kcal)",
|
||
"wte.empty": "Brak propozycji – dodaj jedzenie do spiżarni albo poluzuj filtry.",
|
||
"wte.mealBoxFirst": "Gotowe jedzenie w domu",
|
||
"wte.missing": "Brakuje: {items}",
|
||
"wte.refresh": "Nowe propozycje",
|
||
"wte.subtitle": "Na podstawie tego, co macie w domu, co trzeba wkrótce zużyć i co lubicie.",
|
||
"wte.title": "Co jemy?",
|
||
"wte.whyTitle": "Dlaczego ta propozycja?",
|
||
"onboarding.primaryGoal": "Główny",
|
||
"home.trustStatus.up_to_date": "Aktualne",
|
||
"home.trustStatus.needs_check": "Niektóre produkty wymagają sprawdzenia",
|
||
"home.trustStatus.uncertain": "Stan niepewny – zrób szybką kontrolę",
|
||
"reconciliation.title": "Szybka kontrola zapasów",
|
||
"reconciliation.subtitle": "Potwierdź, co ci zostało, aby uzyskać lepsze propozycje.",
|
||
"reconciliation.exists": "Wciąż mam",
|
||
"reconciliation.depleted": "Skończyło się",
|
||
"reconciliation.uncertain": "Niepewny",
|
||
"reconciliation.adjustQuantity": "Dostosuj ilość",
|
||
"reconciliation.reason.planned_recipe": "Wkrótce potrzebne do przepisu",
|
||
"reconciliation.reason.expiring_soon": "Wkrótce traci ważność",
|
||
"reconciliation.reason.high_value": "Wysoka wartość",
|
||
"reconciliation.reason.low_confidence": "Szacowana ilość",
|
||
"reconciliation.reason.stale_trust": "Nie sprawdzane od dawna",
|
||
"reconciliation.reason.likely_depleted": "Prawdopodobnie wkrótce się skończy",
|
||
"reconciliation.done": "Gotowe",
|
||
"reconciliation.next": "Dalej",
|
||
"reconciliation.empty": "Teraz nic nie wymaga kontroli. Dobra robota!",
|
||
"reconciliation.tasteHint": "Po terminie przydatności do spożycia? Najpierw powąchaj i posmakuj – nigdy nie wyrzucaj jedzenia bez potrzeby.",
|
||
"scan.diff.title": "Sprawdź różnice",
|
||
"scan.diff.subtitle": "Potwierdź zmiany z ostatniego skanu.",
|
||
"scan.diff.newItem": "Nowy produkt",
|
||
"scan.diff.quantityChanged": "Zmieniona ilość",
|
||
"scan.diff.moved": "Przeniesiony",
|
||
"scan.diff.vanished": "Brakuje na zdjęciu",
|
||
"scan.diff.unchanged": "Bez zmian",
|
||
"scan.diff.accept": "Potwierdź",
|
||
"scan.diff.reject": "Ignoruj",
|
||
"scan.diff.acceptAll": "Potwierdź wszystko",
|
||
"scan.diff.noChanges": "Nie znaleziono różnic.",
|
||
"scan.diff.undo": "Cofnij",
|
||
"scan.diff.undoHint": "Każdą zmianę można cofnąć z widoku szczegółów produktu.",
|
||
"cooked.portionsSumExceedsPlanned": "Zjedzone porcje i resztki nie mogą przekroczyć całkowitej liczby porcji.",
|
||
"cooked.undoWindowExpired": "Tej sesji gotowania nie można już cofnąć. Okno 24-godzinne wygasło.",
|
||
"cooked.leftoverLessThanBox": "Pozostałości muszą być co najmniej tak liczne jak liczba porcji w lunchboxie.",
|
||
"mealbox.undoConfirmTitle": "Cofnąć gotowanie?",
|
||
"mealbox.undoConfirmBody": "Cofnie to potrącenie z inwentarza i pudełko na posiłek dla tej sesji gotowania.",
|
||
"mealbox.undoSuccess": "Sesja gotowania cofnięta.",
|
||
"consent.title": "Zanim zaczniesz",
|
||
"consent.body": "Aby korzystać z Cibello, musisz zaakceptować nasz regulamin. Zdjęcia, które robisz w aplikacji (lodówka, opakowania, potrawy), służą do trenowania i ulepszania AI Cibello – jest to część regulaminu.",
|
||
"consent.termsLink": "Przeczytaj Regulamin",
|
||
"consent.privacyLink": "Przeczytaj Politykę prywatności",
|
||
"consent.checkbox": "Przeczytałem(-am) i akceptuję Regulamin oraz Politykę prywatności.",
|
||
"consent.submit": "Akceptuję i kontynuuj",
|
||
"scan.meal.title": "Zapisz posiłek ze zdjęcia",
|
||
"scan.meal.estimateNote": "Oszacowano na podstawie zdjęcia – dostosuj przed zapisaniem.",
|
||
"scan.meal.calories": "Szacowane kalorie",
|
||
"scan.meal.namePlaceholder": "Co zjadłeś(-aś)? (opcjonalnie)",
|
||
"scan.meal.components": "Rozpoznano na talerzu",
|
||
"scan.meal.noEstimate": "Nie udało się oszacować kalorii ze zdjęcia.",
|
||
"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.",
|
||
"barcode.info.title": "Wartości na 100 g",
|
||
"barcode.info.kcal": "Energia",
|
||
"barcode.info.protein": "Białko",
|
||
"barcode.info.carbs": "Węglowodany",
|
||
"barcode.info.sugar": "– w tym cukry",
|
||
"barcode.info.fat": "Tłuszcz",
|
||
"barcode.info.satfat": "– w tym nasycone",
|
||
"barcode.info.monofat": "– w tym jednonienasycone",
|
||
"barcode.info.polyfat": "– w tym wielonienasycone",
|
||
"barcode.info.fiber": "Błonnik",
|
||
"barcode.info.salt": "Sól",
|
||
"barcode.info.allergens": "Alergeny",
|
||
"barcode.info.mayContain": "Może zawierać śladowe ilości",
|
||
"barcode.info.ingredients": "Skład",
|
||
"barcode.info.noNutrition": "Brak jeszcze informacji o wartościach dla tego produktu.",
|
||
"barcode.info.scanAgain": "Skanuj ponownie",
|
||
"barcode.info.sourceOwn": "Źródło: własna baza produktów",
|
||
"barcode.info.sourceOff": "Źródło: Open Food Facts",
|
||
"submit.title": "Wyślij własny przepis",
|
||
"submit.subtitle": "Wypełnij szablon, a nasza SI dopracuje i opublikuje przepis — z podpisem Twoim imieniem.",
|
||
"submit.titleLabel": "Nazwa przepisu",
|
||
"submit.titlePlaceholder": "np. Klopsiki babci",
|
||
"submit.ingredientsLabel": "Składniki (jeden w wierszu, z ilością)",
|
||
"submit.ingredientsPlaceholder": "2 dl mąki\n500 g mielonego\n1 cebula\n1 dl mleka\n1 łyżeczka soli",
|
||
"submit.stepsLabel": "Sposób przygotowania",
|
||
"submit.stepsPlaceholder": "1. Posiekaj i podsmaż cebulę.\n2. Wymieszaj mięso, jajko, mleko i przyprawy.\n3. Uformuj kulki i podsmaż na złoto.",
|
||
"submit.button": "Wyślij przepis",
|
||
"submit.sending": "Wysyłanie …",
|
||
"submit.reviewNote": "Porównujemy z istniejącymi przepisami, dopracowujemy tekst do tego samego poziomu i publikujemy automatycznie. Duplikaty nie są publikowane.",
|
||
"submit.successTitle": "Dziękujemy – przepis został wysłany!",
|
||
"submit.successBody": "Nasza SI sprawdza go i dopracowuje. Zostanie wkrótce opublikowany z Twoim podpisem i pojawi się wśród przepisów.",
|
||
"submit.premiumTitle": "Własne przepisy są częścią Premium",
|
||
"submit.premiumBody": "Wysyłanie i publikowanie własnych przepisów jest częścią Premium — płatnego planu (nie okresu próbnego). Przejdź na wyższy plan, aby kontynuować.",
|
||
"submit.seePlans": "Zobacz plany",
|
||
"submit.backHome": "Wstecz",
|
||
"cookedLog.title": "Czy ugotowałeś to danie?",
|
||
"cookedLog.subtitle": "Zapisz, że je przygotowałeś, a odejmiemy składniki z Twojej spiżarni. Czego brakuje w domu, po prostu pomijamy.",
|
||
"cookedLog.button": "Tak, ugotowałem",
|
||
"cookedLog.confirm": "Odjąć składniki na {count} porcji z Twojej spiżarni?",
|
||
"cookedLog.doneTitle": "Zapisano!",
|
||
"cookedLog.doneBody": "Składniki zostały odjęte z Twojej spiżarni, a posiłek zapisano.",
|
||
"plan.addMeal": "Dodaj posiłek",
|
||
"plan.regenerate": "Zaplanuj tydzień ponownie",
|
||
"season.midsommar": "Noc Świętojańska",
|
||
"season.jul": "Boże Narodzenie",
|
||
"season.påsk": "Wielkanoc",
|
||
"season.nyår": "Sylwester",
|
||
"season.kraftskiva": "Święto raków",
|
||
"season.surstromming": "Premiera surströmming",
|
||
"season.lucia": "Dzień Świętej Łucji",
|
||
"season.valborg": "Noc Walpurgi",
|
||
"season.grillsasong": "Sezon grillowy",
|
||
"season.skolstart": "Powrót do szkoły",
|
||
"season.alla-hjartans-dag": "Walentynki",
|
||
"season.halloween": "Halloween",
|
||
"season.oktoberfest": "Oktoberfest",
|
||
"season.eid": "Eid al-Fitr",
|
||
"kitchen.itemCount": "{count} produktów",
|
||
"kitchen.selectedCount": "{count} zaznaczonych",
|
||
"kitchen.removeSelected": "Usuń zaznaczone ({count})",
|
||
"scan.review.possibleDuplicate": "Wygląda na to, że już istnieje: {name}",
|
||
"auth.passwordHint": "co najmniej 8 znaków",
|
||
"recipe.proteinTag": "{g} g białka",
|
||
"onboarding.allergen.celery": "Seler",
|
||
"onboarding.allergen.mustard": "Gorczyca",
|
||
"onboarding.allergen.sulphites": "Siarczyny",
|
||
"onboarding.allergen.lupin": "Łubin",
|
||
"onboarding.allergen.molluscs": "Mięczaki"
|
||
}
|