Files
ketopath/apps/web/messages/it.json
T
lucianoandClaude Opus 4.7 9327e75395 feat: §5.2 batch — trend lineare, soglia allarme, guide misure, daily check-in
Quattro feature del PRD §5.2 Tracking peso e progressi.

§5.2.1 Trend regressione lineare + proiezione
- @ketopath/shared/tracking/weight-trend: linearWeightTrend() (least squares),
  projectGoalDate() con cap a 52 settimane e check di direzione coerente
- 9 unit test (slope/intercept, segno, cap)
- /tracking: terza statistica "Trend settimanale" + frase
  "Al ritmo attuale raggiungerai 75.0 kg il 24 luglio 2026"

§5.2.2 Soglia di allarme peso personalizzabile
- Profile.alertWeightKg @encrypted
- profileInputSchema accetta il campo, profile.routes lo persiste
- ProfileForm: nuovo input "Soglia di allarme peso (kg)"
- /tracking: banner pomodoro "Sei sopra la soglia" con suggerimento
  "settimana di riparazione" senza colpa

§5.2.3 Linee guida "come misurare bene"
- Disclosure inline in WeightEntryForm con istruzioni tecniche per
  girovita, fianchi, coscia, braccio + tip generale (ora del giorno,
  metro morbido, stessa procedura)

§5.2.4 Daily check-in indicatori soggettivi
- Nuovo modello DailyCheckIn (date, energy, sleep, hunger, mood, notes)
  con unique(userId, date) e migration
- shared dailyCheckInInputSchema (zod)
- API: GET /me/check-ins (last 30), GET /me/check-ins/today,
  POST /me/check-ins (upsert sul giorno)
- /tracking: card lampo in cima con 4 slider 1-10 + Salva/Aggiorna,
  10 secondi di compilazione

i18n: namespace Tracking esteso (weeklyTrend, projection, alertEyebrow/Message/Hint,
measurementsHelpToggle + measurementGuides{}, checkIn*, mood). Profile esteso
(alertWeightKg + hint).

Schema migrations: add_alert_weight_kg, add_daily_check_in.

81/81 unit test verdi (9 nuovi). Lint, typecheck verdi.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 23:50:05 +02:00

571 lines
26 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"Home": {
"title": "Una keto italiana, sostenibile",
"tagline": "Il sentiero che ti accompagna dalla prima settimana di adattamento al mantenimento — settimana dopo settimana, piatto dopo piatto.",
"ctaPrimary": "Iscriviti",
"ctaSecondary": "Accedi",
"disclaimer": "KetoPath è uno strumento di stile di vita: suggerisce, non prescrive. Le indicazioni nutrizionali non sostituiscono il parere del tuo medico.",
"signedInAs": "Accesso effettuato come {name}",
"signOut": "Esci",
"completeProfile": "Profilo & calcoli",
"viewPlan": "Piano della settimana",
"viewShopping": "Lista della spesa",
"viewTracking": "Pesata & misure",
"viewFasting": "Digiuno intermittente",
"lettura": "Continua la lettura",
"inizia": "Inizia",
"greeting": "Buongiorno, <name>{name}</name>.",
"principle1": "Personalizzazione totale: ciò che vedi è solo ciò che ti riguarda.",
"principle2": "Cucina italiana e mediterranea: ingredienti veri, di stagione, reperibili.",
"principle3": "Progressività: dalla fase intensiva al mantenimento, senza strappi."
},
"Welcome": {
"title": "Prima di iniziare",
"subtitle": "KetoPath è uno strumento di stile di vita, non un dispositivo medico. Quattro punti, prima di proseguire.",
"point1": "L'app fornisce solo suggerimenti di stile di vita basati sui parametri che inserisci.",
"point2": "Non diagnostica patologie, non prescrive trattamenti, non sostituisce il parere del tuo medico.",
"point3": "Se hai diabete di tipo 1, sei in gravidanza o allattamento, hai disturbi alimentari, problemi cardiaci o renali — parla prima con il tuo medico.",
"point4": "Prima di iniziare ti consigliamo esami di base: glicemia, colesterolo, profilo lipidico, funzionalità renale ed epatica.",
"checkAdult": "Confermo di essere maggiorenne.",
"checkAware": "Dichiaro di non avere condizioni mediche escludenti, oppure di averle discusse con il mio medico.",
"checkAccepts": "Accetto che KetoPath non sostituisce il parere medico professionale.",
"submit": "Accetto e proseguo",
"submitting": "Salvataggio…",
"legalNote": "Il consenso è registrato con data e ora come previsto dall'art. 7 GDPR."
},
"CookieBanner": {
"aria": "Informativa cookie",
"message": "Usiamo solo cookie essenziali per autenticazione e sessione. Niente analytics o tracker di terze parti.",
"dismiss": "Ho capito"
},
"Metadata": {
"title": "KetoPath — Chetogenica e digiuno intermittente, personalizzati",
"description": "Una keto italiana, sostenibile. Piani adattivi, tracking e lista della spesa automatica — settimana dopo settimana."
},
"Auth": {
"SignIn": {
"title": "Accedi",
"subtitle": "Bentornato. Riprendi da dove avevi lasciato.",
"emailLabel": "Email",
"passwordLabel": "Password",
"submit": "Accedi",
"submitting": "Accesso in corso…",
"google": "Continua con Google",
"or": "oppure",
"noAccount": "Non hai ancora un account? <link>Iscriviti</link>",
"error": "Credenziali non valide. Riprova."
},
"SignUp": {
"title": "Iscriviti",
"subtitle": "Crea il tuo profilo KetoPath in meno di un minuto.",
"nameLabel": "Come ti chiami",
"emailLabel": "Email",
"passwordLabel": "Password",
"passwordHint": "Almeno 8 caratteri",
"submit": "Crea account",
"submitting": "Creazione…",
"google": "Continua con Google",
"or": "oppure",
"haveAccount": "Hai già un account? <link>Accedi</link>",
"error": "Non è stato possibile completare la registrazione. Riprova.",
"disclaimer": "Procedendo accetti che i tuoi dati siano trattati come descritto nell'informativa sulla privacy. KetoPath non sostituisce il parere medico."
}
},
"Fasting": {
"title": "Digiuno intermittente",
"subtitle": "Una finestra alimentare e una di riposo. Il timer scandisce il ritmo, il corpo fa il resto.",
"historyTitle": "Storico sessioni",
"activeBadge": "Sessione in corso",
"inactiveBadge": "Pronto a iniziare",
"startCallToAction": "Scegli un protocollo e parti. Il timer continua a scorrere anche se chiudi l'app.",
"chooseProtocol": "Protocollo",
"start": "Avvia digiuno",
"starting": "Avvio…",
"saving": "Salvataggio…",
"remaining": "Mancano {time}",
"reached": "Obiettivo raggiunto. Puoi rompere il digiuno o proseguire.",
"completeReached": "Concludi",
"completeEarly": "Concludi adesso",
"abort": "Annulla sessione",
"confirmAbort": "Sei sicuro di voler annullare questa sessione?",
"phaseTitle": "Fase metabolica",
"phases": {
"postprandial": {
"label": "Post-prandiale",
"description": "Digestione in corso. Insulina alta, glicemia in salita."
},
"glycogenolysis": {
"label": "Glicogenolisi",
"description": "Il fegato libera glucosio dalle scorte di glicogeno. L'insulina cala."
},
"lipolysis": {
"label": "Lipolisi",
"description": "Le scorte di grasso iniziano a essere mobilitate per produrre energia."
},
"ketogenesis": {
"label": "Chetogenesi",
"description": "Il fegato produce corpi chetonici. Le sensazioni mentali si fanno più nitide."
},
"autophagy": {
"label": "Autofagia",
"description": "Le cellule riciclano componenti danneggiati. Pulizia interna profonda."
}
},
"startedAt": "Iniziato",
"target": "Obiettivo",
"protocolGuideTitle": "Guida ai protocolli",
"protocolHints": {
"FOURTEEN_TEN": {
"title": "Inizio dolce",
"description": "Adatto in fase di mantenimento o per chi inizia. 10 ore di alimentazione."
},
"SIXTEEN_EIGHT": {
"title": "Lo standard",
"description": "Il protocollo più diffuso. Equilibrio tra sostenibilità e benefici metabolici."
},
"EIGHTEEN_SIX": {
"title": "Più aggressivo",
"description": "Inizia a sollecitare la chetogenesi. Per chi è già adattato."
},
"TWENTY_FOUR": {
"title": "Avanzato",
"description": "Solo 4 ore di alimentazione. Da praticare con regolarità ma non quotidianamente."
}
},
"emptyHistory": "Nessuna sessione registrata. Avvia il primo digiuno per iniziare a costruire la serie.",
"statCompleted": "Sessioni concluse",
"statTotal": "Ore totali",
"statSessions": "Sessioni totali",
"statWeekly": "Ore (7 gg)",
"statMonthly": "Ore (30 gg)",
"statCurrentStreak": "Streak attuale",
"statLongestStreak": "Streak record",
"statCompletionRate": "Tasso completamento",
"statStreakValue": "{n, plural, =0 {0 giorni} one {# giorno} other {# giorni}}",
"symptomsTitle": "Come ti senti?",
"symptomsHint": "Aggiorna i sintomi: ti aiuta a capire come reagisci a questo protocollo.",
"symptomHeadache": "Mal di testa",
"symptomEnergy": "Energia",
"symptomHunger": "Fame",
"symptomClarity": "Lucidità",
"symptomOther": "Altre note",
"symptomOtherPlaceholder": "Note libere…",
"symptomsSave": "Salva sintomi",
"symptomsSaved": "Salvato.",
"pauseEyebrow": "Modalità giorno libero",
"pauseUntil": "Reminder in pausa fino a {time}.",
"pauseToday": "Pausa per oggi",
"pauseResume": "Riprendi adesso",
"breakFastShow": "Suggerimenti per riprendere a mangiare",
"breakFastHide": "Nascondi suggerimenti",
"breakFastEmpty": "Nessuna ricetta disponibile in questo momento.",
"working": "Attendere…",
"status": {
"IN_PROGRESS": "In corso",
"COMPLETED": "Completata",
"ABORTED": "Annullata"
}
},
"Tracking": {
"title": "Pesata e misure",
"subtitle": "Pochi numeri, una volta a settimana. La tendenza emerge dalla regolarità — non dalla pesata di oggi.",
"newEntry": "Nuova rilevazione",
"history": "Storico",
"date": "Data",
"weightKg": "Peso (kg)",
"measurements": "Misure (cm) — opzionali",
"waist": "Girovita",
"hips": "Fianchi",
"thigh": "Coscia",
"arm": "Braccio",
"subjective": "Indicatori soggettivi (1–10)",
"energy": "Energia",
"sleep": "Sonno",
"hunger": "Fame",
"save": "Registra",
"saving": "Salvataggio…",
"saved": "Registrato.",
"current": "Peso attuale",
"delta": "Variazione",
"emptyHistory": "Nessuna rilevazione registrata. Inserisci la prima a destra: la tendenza apparirà dopo due o tre pesate.",
"weeklyTrend": "Trend settimanale",
"projection": "Al ritmo attuale raggiungerai {kg} kg il {date}.",
"alertEyebrow": "Soglia di allarme",
"alertMessage": "Il tuo peso è {current} kg, sopra la soglia di {threshold} kg che hai impostato.",
"alertHint": "Suggerimento: una settimana di riparazione — torna al deficit di Fase 1, idratazione alta, sonno regolare. Senza colpa: tornare in carreggiata è normale.",
"measurementsHelpToggle": "Come misurare bene?",
"measurementGuides": {
"waist": "Misura nel punto più stretto del busto, sopra l'ombelico, espirando senza forzare.",
"hips": "Nel punto più sporgente del bacino/glutei, in piedi e con i piedi uniti.",
"thigh": "Coscia dominante, a metà tra inguine e ginocchio, gamba leggermente flessa.",
"arm": "Braccio dominante, a metà tra spalla e gomito, braccio rilassato lungo il fianco.",
"tip": "Misura sempre alla stessa ora, possibilmente al mattino e con lo stesso metro a nastro morbido."
},
"checkInEyebrow": "Check-in di oggi",
"checkInTitle": "Come ti senti oggi? Pochi secondi, una traccia nel tempo.",
"checkInSave": "Registra check-in",
"checkInUpdate": "Aggiorna check-in",
"checkInSaved": "Salvato.",
"checkInAlreadyDone": "Già compilato",
"mood": "Umore"
},
"Onboarding": {
"title": "Configura il tuo percorso",
"subtitle": "Cinque passaggi: l'obiettivo, i numeri, le preferenze, le notifiche e via al primo piano.",
"stepsTitle": "Tappe",
"stepEyebrow": "Tappa {n} di {total}",
"next": "Salva e continua",
"back": "← Indietro",
"skipForNow": "Salta per ora",
"working": "Attendere…",
"steps": {
"goal": "L'obiettivo",
"profile": "Anagrafica e attività",
"conditions": "Condizioni mediche",
"preferences": "Esclusioni e cucine",
"notifications": "Promemoria",
"done": "Pronti a partire"
},
"conditionsHeading": "Qualcosa di te che dovremmo sapere?",
"conditionsHint": "Indica le condizioni che ti riguardano. Servono ad adattare i calcoli e a segnalarti i casi in cui meglio consultare un medico prima di proseguire.",
"conditionsAdaptive": "Condizioni adattabili",
"conditionsExcluding": "Condizioni che richiedono il medico",
"conditionsExcludingHint": "Se selezioni una di queste l'app non genera piani autonomamente: vai dal tuo medico.",
"conditionsSaveError": "Non è stato possibile salvare. Riprova fra poco.",
"blockedEyebrow": "Importante",
"blockedMessage": "KetoPath non è uno strumento adatto a questa condizione. Ti consigliamo di rivolgerti al tuo medico curante prima di continuare. Puoi comunque proseguire l'esplorazione, ma il piano non verrà generato automaticamente.",
"conditionLabel": {
"THYROID_HYPO": "Ipotiroidismo",
"DIABETES_T2": "Diabete tipo 2",
"IBS": "Intestino irritabile",
"DYSLIPIDEMIA": "Colesterolo / trigliceridi alti",
"HYPERTENSION": "Ipertensione",
"KIDNEY_ISSUES": "Problemi renali",
"LIVER_ISSUES": "Problemi epatici",
"PREGNANCY": "Gravidanza",
"BREASTFEEDING": "Allattamento",
"DIABETES_T1": "Diabete tipo 1",
"EATING_DISORDER": "Disturbi alimentari"
},
"goalHeading": "Perché sei qui?",
"goalHint": "Scegli il motivo principale: ci aiuterà a parlarti nel modo giusto. Potrai sempre cambiarlo.",
"goals": {
"LOSE": {
"title": "Perdere peso",
"hint": "Deficit calorico graduale, fase intensiva poi mantenimento."
},
"MAINTAIN": {
"title": "Mantenere il peso",
"hint": "Equilibrio tra macros e digiuno per restare stabile."
},
"ENERGY": {
"title": "Energia e salute",
"hint": "Lucidità mentale, glicemia stabile, infiammazione bassa."
}
},
"profileHeading": "I numeri che ti riguardano",
"profileHeadingGoal": {
"LOSE": "I numeri da cui partire",
"MAINTAIN": "I numeri da mantenere",
"ENERGY": "I numeri che ti raccontano"
},
"profileHint": "Età, sesso, altezza, peso e attività: bastano per calcolare BMR, TDEE e i target di macros.",
"preferencesHeading": "Cosa eviti, cosa ami",
"preferencesHint": "Le esclusioni filtrano davvero le ricette del piano. Le cucine sono un suggerimento al matchmaking.",
"notificationsHeading": "Vuoi un promemoria?",
"notificationsHint": "Un piccolo nudge il lunedì per la pesata, e altre tappe in arrivo. Niente spam: scegli tu cosa ricevere.",
"notificationsActivate": "Attiva promemoria",
"notificationsActive": "Promemoria attivati. Bene così.",
"notificationsBlocked": "Hai bloccato le notifiche per questo sito. Le potrai riattivare dalle impostazioni del browser.",
"notificationsUnsupported": "Il tuo browser non supporta le notifiche push. Su iOS apri prima KetoPath dalla Home.",
"notificationsError": "Non è stato possibile attivarle. Riprova più tardi dal tuo profilo.",
"doneHeading": "Tutto pronto.",
"doneHeadingGoal": {
"LOSE": "Si parte. Un passo alla volta.",
"MAINTAIN": "Si parte. Mantenendo l'equilibrio.",
"ENERGY": "Si parte. Con più lucidità."
},
"doneHint": "Puoi esplorare l'app a tuo ritmo: ogni sezione resta sempre a portata.",
"doneGenerating": "Stiamo preparando il primo piano per la tua settimana…",
"donePlanReady": "Il primo piano è pronto. Dai un'occhiata o tuffati in cucina.",
"nextPlanEyebrow": "Cucina",
"nextPlanTitle": "Il piano della settimana",
"nextPlanHint": "Sette giorni, quattro pasti al dì, scelti dal matchmaking.",
"nextFastingEyebrow": "Digiuno",
"nextFastingTitle": "Una sessione di digiuno",
"nextFastingHint": "Scegli un protocollo, lascia che il timer scandisca il ritmo.",
"nextTrackingEyebrow": "Tracking",
"nextTrackingTitle": "La pesata di oggi",
"nextTrackingHint": "Pochi numeri, una volta a settimana. Costanza prima di tutto.",
"iosInstallEyebrow": "Solo iOS — per ricevere le notifiche",
"iosInstallTitle": "Installa KetoPath sulla Home in tre passaggi.",
"iosInstallStep1": "Tocca il pulsante Condividi (icona quadrato con freccia in alto) nella barra di Safari.",
"iosInstallStep2": "Scorri e seleziona “Aggiungi alla schermata Home”.",
"iosInstallStep3": "Apri KetoPath dalla Home: ora le notifiche funzionano anche su iPhone.",
"goToPlan": "Genera il primo piano",
"skipToHome": "Esplora l'app →"
},
"Preferences": {
"eyebrow": "Preferenze",
"title": "Cucina su misura",
"subtitle": "Le esclusioni filtrano gli ingredienti, le cucine influenzano il matchmaking, il tempo decide quante ricette elaborate proporre.",
"exclusionsTitle": "Esclusioni alimentari",
"exclusionsHint": "Tutte le ricette che contengono almeno uno di questi gruppi verranno escluse dal piano.",
"cuisinesTitle": "Cucine preferite",
"cuisinesHint": "Indicaci le tradizioni che preferisci. È un suggerimento, non un vincolo.",
"cookingTimeTitle": "Tempo in cucina",
"cookingTimeHint": "Quanto tempo vuoi dedicare alla preparazione, in media?",
"fastingTitle": "Protocollo digiuno predefinito",
"fastingHint": "Sarà selezionato in /fasting alla prossima sessione.",
"fastingNone": "Nessuno per ora",
"save": "Salva preferenze",
"saving": "Salvataggio…",
"saved": "Preferenze aggiornate.",
"errorGeneric": "Non è stato possibile salvare. Riprova.",
"exclusionLabel": {
"lactose": "Lattosio",
"egg": "Uova",
"fish": "Pesce",
"nuts": "Frutta secca",
"gluten": "Glutine",
"pork": "Maiale",
"beef": "Manzo"
},
"cuisineLabel": {
"mediterranea": "Mediterranea",
"italiana": "Italiana classica",
"pugliese": "Pugliese",
"siciliana": "Siciliana",
"toscana": "Toscana",
"medio-orientale": "Medio-orientale",
"nordica": "Nordica"
},
"cookingTimeLabel": {
"LOW": "Veloce · fino a 15 min",
"MEDIUM": "Medio · 15–30 min",
"HIGH": "Elaborato · oltre 30 min"
},
"fastingProtocolLabel": {
"FOURTEEN_TEN": "14:10 — inizio dolce",
"SIXTEEN_EIGHT": "16:8 — lo standard",
"EIGHTEEN_SIX": "18:6 — più aggressivo",
"TWENTY_FOUR": "20:4 — avanzato",
"ESE_24": "ESE 24h",
"FIVE_TWO": "5:2"
},
"trainingTitle": "Schedule allenamento",
"trainingHint": "Indica i giorni in cui ti alleni di solito: nei training day il piano alza il fabbisogno calorico.",
"trainingType": "Tipo di allenamento",
"trainingNone": "Nessuno per ora",
"trainingTypeLabel": {
"CARDIO": "Cardio (corsa, bici)",
"STRENGTH": "Forza (pesi)",
"MIXED": "Misto / HIIT",
"SPORT": "Sport di squadra"
},
"sessionMinutes": "Durata media (min)",
"mealsPerDayTitle": "Frequenza pasti",
"mealsPerDayHint": "Quanti pasti preferisci fare al giorno? Se hai un protocollo IF attivo, ha la precedenza lui.",
"mealsAuto": "Automatico (4 pasti)",
"mealsLabel": {
"1": "1 pasto al giorno",
"2": "2 pasti (pranzo + cena)",
"3": "3 pasti (no spuntino)",
"4": "4 pasti (con spuntino)"
}
},
"Notifications": {
"eyebrow": "Notifiche",
"title": "Promemoria al momento giusto",
"subtitle": "Decidi tu cosa vuoi ricevere e su quale dispositivo. Niente marketing, niente notifiche di terze parti.",
"thisDevice": "Questo dispositivo",
"thisDeviceActive": "Le notifiche sono attive su questo dispositivo.",
"thisDeviceInactive": "Questo dispositivo non riceve ancora notifiche. Attivalo per il promemoria settimanale.",
"enableHere": "Attiva sul dispositivo",
"sendTest": "Invia notifica di prova",
"weeklyWeighInLabel": "Promemoria pesata settimanale",
"weeklyWeighInHint": "Lunedì alle 09:00 ti ricordiamo la pesata della settimana.",
"fastingMilestonesLabel": "Tappe del digiuno",
"fastingMilestonesHint": "Ti avvisiamo all'ingresso in chetogenesi e all'autofagia. Disponibile a breve.",
"registeredDevices": "Dispositivi registrati",
"subscribed": "Notifiche attivate.",
"unsubscribed": "Notifiche disattivate su questo dispositivo.",
"testSent": "Notifica di prova inviata.",
"blocked": "Hai bloccato le notifiche per questo sito. Cambia l'impostazione dal browser per riattivarle.",
"unsupported": "Il tuo browser non supporta le notifiche push. Su iOS apri prima KetoPath dalla Home.",
"serverDisabled": "Le notifiche non sono ancora attive sul server.",
"configUnavailable": "Impossibile caricare le impostazioni notifiche. Riprova più tardi.",
"working": "Attendere…",
"errors": {
"unsupported": "Il tuo browser non supporta le notifiche push.",
"permission_denied": "Hai negato il permesso. Modificalo dal browser per riprovare.",
"permission_default": "Permesso non concesso. Riprova e seleziona 'Consenti'.",
"no_vapid_key": "Configurazione mancante. Contatta l'amministratore.",
"api_error": "Errore di rete. Riprova fra poco.",
"sw_error": "Impossibile registrare il service worker.",
"no_devices": "Nessun dispositivo registrato.",
"push_not_configured": "Le notifiche non sono ancora abilitate sul server.",
"unknown": "Si è verificato un errore imprevisto."
}
},
"Shopping": {
"title": "La spesa della settimana",
"subtitle": "Tutto ciò che ti serve per il piano in corso, raggruppato per reparto.",
"noPlan": "Genera prima un piano della settimana: la lista comparirà qui.",
"viewPlan": "Vai al piano",
"groupSize": "{n} articoli",
"totalLabel": "Totale articoli",
"estimatedCost": "Spesa stimata",
"checked": "{n} di {total}",
"fromRecipes": "Per: {names}",
"categoryLabel": {
"verdura": "Verdura",
"frutta": "Frutta",
"carne": "Carne",
"pesce": "Pesce",
"latticini": "Latticini",
"uova": "Uova",
"condimenti": "Condimenti",
"panetteria": "Panetteria",
"frutta-secca": "Frutta secca",
"erbe": "Erbe e spezie",
"salumi": "Salumi"
},
"viewCart": "Lista spesa"
},
"Recipe": {
"title": "Ricetta",
"back": "← Torna al piano",
"ingredientsTitle": "Ingredienti",
"ingredientsSubtitle": "Per una porzione singola",
"preparationTitle": "Preparazione",
"preparationFallback": "Mescola gli ingredienti seguendo l'ordine indicato e cuoci come preferisci.",
"macrosTitle": "Valori per porzione",
"kcal": "Calorie",
"protein": "Proteine",
"fat": "Grassi",
"netCarb": "Carb. netti",
"metaTitle": "Scheda ricetta",
"prepTime": "Preparazione",
"minutes": "{n} min",
"difficulty": "Difficoltà",
"phase": "Fase",
"phasesAll": "Tutte le fasi",
"phasesSome": "Fase {phases}",
"notesChef": "Nota dello chef",
"variantsTitle": "Varianti suggerite",
"substitutesPrefix": "Sostituzioni:",
"difficultyLabel": {
"FACILE": "Facile",
"MEDIA": "Media",
"ELABORATA": "Elaborata"
},
"categoryLabel": {
"COLAZIONE": "Colazione",
"PRANZO": "Pranzo",
"SPUNTINO": "Spuntino",
"CENA": "Cena"
},
"notFound": "Ricetta non trovata."
},
"Plan": {
"title": "Il tuo piano",
"weekOf": "Settimana del {date}",
"noPlan": "Non hai ancora un piano. Generalo: l'algoritmo sceglie le ricette adatte alla tua fase e ai tuoi macros.",
"generate": "Genera piano",
"regenerate": "Rigenera",
"noRecipe": "Nessuna ricetta selezionata",
"showAlternatives": "Vedi {n} alternative",
"hideAlternatives": "Nascondi",
"swap": "Scegli",
"regenerateSlot": "Rigenera questo pasto",
"freeMealMark": "Segna come pasto libero",
"freeMealUndo": "Torna a una ricetta keto",
"freeMealLabel": "Pasto libero pianificato",
"phase2Eyebrow": "Reintroduzione",
"phase2Week": "Settimana {n} di Fase 2",
"phase3Eyebrow": "Mantenimento — Fase 3",
"dayTotal": "{kcal} kcal totali",
"window": "Finestra alimentare",
"avgKcal": "Media kcal/giorno",
"avgProtein": "Proteine medie",
"avgFat": "Grassi medi",
"avgNetCarb": "Carb. netti medi",
"fastingDay": "Giorno di digiuno",
"fastingDayHint": "Acqua, tè e tisane. Niente cibo solido.",
"lightDay": "Giorno leggero",
"lightDayHint": "Solo cena, kcal ridotte (~25% del giornaliero abituale).",
"protocolLabel": {
"FOURTEEN_TEN": "14:10 — finestra di 10h",
"SIXTEEN_EIGHT": "16:8 — finestra di 8h",
"EIGHTEEN_SIX": "18:6 — finestra di 6h",
"TWENTY_FOUR": "20:4 — finestra di 4h",
"ESE_24": "ESE 24h — un giorno di digiuno completo a settimana",
"FIVE_TWO": "5:2 — due giorni leggeri a settimana"
},
"meals": {
"COLAZIONE": "Colazione",
"PRANZO": "Pranzo",
"SPUNTINO": "Spuntino",
"CENA": "Cena"
},
"days": {
"monday": "Lunedì",
"tuesday": "Martedì",
"wednesday": "Mercoledì",
"thursday": "Giovedì",
"friday": "Venerdì",
"saturday": "Sabato",
"sunday": "Domenica"
}
},
"Profile": {
"title": "Il tuo profilo",
"subtitle": "I dati che ci servono per calcolare BMR, TDEE e i target di macros della settimana.",
"age": "Età",
"gender": "Sesso",
"heightCm": "Altezza (cm)",
"weightStartKg": "Iniziale",
"weightCurrentKg": "Attuale",
"weightGoalKg": "Obiettivo",
"activityLevel": "Livello di attività",
"measurementsTitle": "Circonferenze (cm) — opzionali",
"measurementsHint": "Se inserisci collo, vita e (per le donne) fianchi, calcoliamo la tua composizione corporea con la formula US Navy e usiamo Katch-McArdle invece di Mifflin: BMR più accurato.",
"neckCm": "Collo",
"waistCm": "Vita",
"hipsCm": "Fianchi",
"targetWeeklyLossKg": "Velocità di calo (kg/settimana)",
"targetWeeklyLossKgHint": "Suggerito: 0.4–0.7 kg/settimana. Oltre 1% del peso corporeo è considerato troppo aggressivo.",
"alertWeightKg": "Soglia di allarme peso (kg)",
"alertWeightKgHint": "Quando ci risali, KetoPath ti suggerisce una settimana di riparazione. Tipicamente 2-3 kg sopra l'obiettivo.",
"dietHistory": "Storia delle diete precedenti",
"dietHistoryHint": "Diete restrittive ripetute (yo-yo) abbassano il metabolismo basale del 5-15%. Indicarcelo ci serve a calibrare il deficit con prudenza.",
"dietHistoryLabel": {
"NONE": "Mai fatto diete restrittive",
"SOME": "1-2 diete negli ultimi 3 anni",
"EXTENSIVE": "Più diete o effetto yo-yo",
"SEVERE": "Periodi di semi-fame o disturbi alim. in remissione"
},
"selectPlaceholder": "Seleziona…",
"save": "Salva profilo",
"saving": "Salvataggio…",
"summary": "Calcolo personalizzato",
"emptySummary": "Salva il profilo per ricevere il tuo BMR, il TDEE e il target calorico giornaliero.",
"bmr": "Metabolismo basale",
"tdee": "Fabbisogno totale",
"activityMultiplier": "Moltiplicatore attività",
"hint": "Valori stimati con la formula Mifflin-St Jeor. Non sostituiscono il parere di un nutrizionista.",
"genderOptions": {
"MALE": "Maschio",
"FEMALE": "Femmina",
"OTHER": "Altro / preferisco non specificare"
},
"activityOptions": {
"SEDENTARY": "Sedentario · lavoro d'ufficio",
"LIGHT": "Leggero · sport 1–3 volte / settimana",
"MODERATE": "Moderato · sport 3–5 volte / settimana",
"INTENSE": "Intenso · sport 6+ volte / settimana"
}
}
}