Files
HealthLog/messages/it.json
T
Marc-André BombeckandClaude Opus 4.8 d2edaeb8d1 refactor(insights): point the pulse page to the cardio-fitness surface for VO2 max
VO2 max had two divergent surfaces — the dedicated /insights/cardio-fitness
page (full chart + plain-language assessment) and a legacy compact chart-row
on the pulse page. Replace the pulse-page row with a clear cross-link to the
dedicated page so there is one VO2 max surface, and remove the now-unused
chart-row component + its test. New cardioLink copy added across all six
locales.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-05 14:07:56 +02:00

4813 lines
233 KiB
JSON
Raw Permalink 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.
{
"common": {
"save": "Salva",
"cancel": "Annulla",
"delete": "Elimina",
"edit": "Modifica",
"moreOptions": "Altre opzioni",
"create": "Crea",
"close": "Chiudi",
"loading": "Caricamento…...",
"loadFailed": "Impossibile caricare",
"error": "Errore",
"saved": "Salvato",
"no": "No",
"noData": "Nessun dato disponibile",
"optional": "Opzionale",
"active": "Attivo",
"inactive": "Inattivo",
"enabled": "Abilitato",
"disabled": "Disabilitato",
"networkError": "Errore di rete",
"unknownError": "Errore sconosciuto",
"copied": "Copiato!",
"or": "o",
"unknown": "Sconosciuto",
"add": "Aggiungi",
"import": "Importa",
"test": "Verifica",
"reset": "Reimposta",
"copy": "Copia",
"copyDetails": "Copia dettagli",
"retry": "Riprova",
"reportIssue": "Segnala un problema",
"showPassword": "Mostra password",
"hidePassword": "Nascondi password"
},
"doctorReport": {
"title": "Rapporto sanitario",
"subtitle": "HealthLog — Rapporto personale di salute",
"patient": "Paziente",
"dateOfBirth": "Data di nascita",
"gender": "Sesso",
"genderMale": "Uomo",
"genderFemale": "Donna",
"genderOther": "Non binario",
"height": "Altezza",
"period": "Periodo del rapporto",
"createdOn": "Creato il",
"vitalsTitle": "Parametri vitali — Riepilogo",
"colParameter": "Parametro",
"colCurrent": "Attuale",
"colAvgPeriod": "Media periodo",
"colMin": "Min",
"colMax": "Max",
"colN": "n",
"bpClassificationTitle": "Pressione arteriosa — Classificazione ESH (2023)",
"avgBp": "Pressione arteriosa media",
"classification": "Classificazione",
"bmiTitle": "Indice di massa corporea (BMI)",
"bmiRow": "IMC:{bmi} kg/m² — Classification: {class} (WHO)",
"complianceTitle": "Aderenza ai farmaci",
"glp1Title": "Terapia GLP-1",
"glp1WeightSummary": "Peso nel periodo del referto: {start} kg → {end} kg ({delta} kg)",
"glp1CurrentDose": "Dose attuale:{value} {unit} (since {since})",
"glp1Compliance": "Aderenza:{taken} / {total} ({rate}%)",
"glp1SideEffectsTitle": "Effetti collaterali registrati",
"colGlp1Date": "Data",
"colGlp1Dose": "Dose",
"colGlp1Note": "Nota",
"colGlp1SideEffect": "Effetto collaterale",
"colMedication": "Farmaco",
"colTaken": "Assunta",
"colSkipped": "Saltata",
"colMissed": "Persa",
"colTotal": "Totale",
"colComplianceRate": "Tasso di aderenza",
"moodTitle": "Andamento dell’umore",
"moodSummary": "Media:{avg} / 5.0 · Entries: {count} · Range: {min}–{max}",
"colMood": "Umore",
"colCount": "Quantità",
"colShare": "Quota",
"footerDisclaimer1": "Questo rapporto è stato generato automaticamente da dati auto-registrati ed è destinato a supportare",
"footerDisclaimer2": "il dialogo medico-paziente. Non sostituisce una diagnosi medica. Le correlazioni non implicano causalità.",
"footerSource": "Fonte: HealthLog | Fuso orario: Europe/Berlin | Creato: {timestamp}",
"typeWeight": "Peso corporeo",
"typeBpSys": "Pressione arteriosa sistolica",
"typeBpDia": "Pressione arteriosa diastolica",
"typePulse": "Pulsazioni a riposo",
"typeBodyFat": "Massa grassa",
"typeSleep": "Durata del sonno",
"typeSteps": "Attività (passi)",
"typeTotalBodyWater": "Acqua corporea totale",
"typeBoneMass": "Massa ossea",
"typeOxygenSaturation": "Saturazione di ossigeno",
"unitSteps": "Passi",
"bmiUnderweight": "Sottopeso",
"bmiNormal": "Peso normale",
"bmiOverweight": "Sovrappeso (preobesità)",
"bmiObeseGrade1": "Obesità di grado I",
"bmiObeseGrade2": "Obesità di grado II",
"bmiObeseGrade3": "Obesità di grado III",
"bpOptimal": "Ottimale",
"bpNormal": "Normale",
"bpHighNormal": "Normale-alta",
"bpHypertensionGrade1": "Ipertensione grado 1",
"bpHypertensionGrade2": "Ipertensione grado 2",
"bpHypertensionGrade3": "Ipertensione grado 3",
"moodAwful": "Molto cattivo",
"moodBad": "Male",
"moodNeutral": "Neutro",
"moodGood": "Bene",
"moodGreat": "Molto buono",
"typeGlucoseFasting": "Glicemia (a digiuno)",
"typeGlucosePostprandial": "Glicemia (postprandiale)",
"typeGlucoseRandom": "Glicemia (qualsiasi)",
"typeGlucoseBedtime": "Glicemia (prima di coricarsi)",
"glucoseClassificationTitle": "Glicemia — Intervalli di riferimento (ADA 2024 / DDG)",
"glucoseRow": "{label}: media {avg} {unit} (obiettivo {rangeMin}–{rangeMax}) — {class}",
"glucoseInTarget": "in obiettivo",
"glucoseBelowTarget": "sotto obiettivo",
"glucoseAboveTarget": "sopra obiettivo",
"practiceLabel": "Studio",
"dialog": {
"title": "Referto medico (PDF)",
"description": "Imposta il periodo di analisi e (opzionale) il nome dello studio — entrambi compaiono in copertina.",
"startLabel": "Dal",
"endLabel": "Al",
"practiceLabel": "Studio / clinica (opzionale)",
"practicePlaceholder": "es. Dr. Müller — Medicina generale",
"preset90d": "Ultimi 90 giorni",
"preset180d": "Ultimi 6 mesi",
"preset365d": "Ultimi 12 mesi",
"submit": "Genera PDF",
"cancel": "Annulla",
"errorEndBeforeStart": "La data di fine non può essere antecedente a quella di inizio.",
"errorRangeTooLong": "Il periodo di analisi non può superare i 2 anni.",
"errorInvalidDate": "Scegli una data di inizio e di fine valide."
},
"sections": {
"title": "Seleziona contenuti",
"bp": "Pressione arteriosa",
"weight": "Peso",
"pulse": "Pulsazioni a riposo",
"bmi": "Indice di massa corporea (BMI)",
"mood": "Umore",
"moodSensitive": "Sensibile — disattivato per default.",
"compliance": "Aderenza ai farmaci",
"sleep": "Durata del sonno",
"empty": "Nessun dato per il periodo selezionato. Il referto manterrà comunque la copertina.",
"unavailableHint": "Nessun dato in questo periodo"
},
"insurer": "Assicurazione sanitaria",
"insuranceNumber": "N. assicurato",
"summaryTitle": "Riepilogo clinico",
"summaryReadings": "Registrato in {days} giorni: {count} misurazioni su {params} parametri.",
"summaryTrend": "{label}: ultimo {latest} {arrow}",
"summaryAdherence": "Aderenza ai farmaci: {rate}% (media ponderata).",
"chartsTitle": "Grafici di tendenza",
"aiSummaryTitle": "Riepilogo IA — non validato clinicamente",
"aiSummaryDisclaimer": "Questa sezione è stata generata automaticamente da un modello di IA e non è validata clinicamente. Non sostituisce una valutazione medica.",
"packageReadme": "Cartella clinica HealthLog\n\nQuesto pacchetto contiene:\n- report.pdf: il referto sanitario per il medico.\n- bundle.json: gli stessi dati come Bundle documento HL7 FHIR R4, compatibile ePA.\n\nGenerato con HealthLog.",
"wellnessTitle": "Riepilogo del benessere",
"wellnessDisclaimer": "Sono punteggi di benessere descrittivi calcolati dai tuoi segnali registrati (0–100). Non sono valutazioni cliniche né diagnosi.",
"wellnessRecovery": "Recupero",
"wellnessStress": "Stress",
"wellnessStrain": "Sforzo"
},
"errorBoundary": {
"title": "Qualcosa è andato storto",
"description": "Si è verificato un errore inatteso. Puoi riprovare, copiare i dettagli tecnici o aprire una segnalazione di bug."
},
"notFound": {
"title": "Questa pagina non esiste.",
"backToDashboard": "Torna alla dashboard"
},
"offlineBanner": {
"message": "Nessuna connessione — le tue modifiche verranno salvate appena torni online."
},
"nav": {
"dashboard": "Dashboard",
"measurements": "Misurazioni",
"medications": "Farmaci",
"insights": "Insights",
"targets": "Obiettivi",
"achievements": "Traguardi",
"settings": "Impostazioni",
"bugreport": "Segnalazione bug",
"admin": "Console di amministrazione",
"logout": "Esci",
"login": "Accedi",
"about": "Informazioni su HealthLog",
"notifications": "Centro notifiche",
"theme": "Aspetto",
"themeSystem": "Sistema",
"themeDark": "Scuro",
"themeLight": "Chiaro",
"collapseSidebar": "Riduci",
"userMenu": "Menu utente",
"mood": "Umore",
"workouts": "Allenamenti",
"skipToContent": "Vai al contenuto",
"sidebar": "Barra laterale",
"mainNavigation": "Navigazione principale",
"mobileNavigation": "Navigazione mobile",
"breadcrumb": "Navigazione breadcrumb",
"loadingScreen": "Caricamento…",
"more": "Altro",
"moreSheetTitle": "Altro",
"moreSheetDescription": "Vai al resto di HealthLog.",
"capture": {
"title": "Registra",
"description": "Cosa vuoi registrare?",
"measurement": "Misurazione",
"measurementDescription": "Peso, pressione, battito e altro",
"medication": "Farmaco",
"medicationDescription": "Segna una dose come assunta",
"mood": "Umore",
"moodDescription": "Registra umore e tag"
}
},
"auth": {
"login": "Accedi",
"register": "Registrati",
"username": "Nome utente",
"password": "Password",
"email": "Indirizzo e-mail",
"emailPlaceholder": "nome@esempio.it",
"emailOrUsername": "Indirizzo e-mail o nome utente",
"emailOrUsernamePlaceholder": "nome@esempio.it o nomeutente",
"loginWithPasskey": "Accedi con passkey",
"loginWithPassword": "Accedi con password",
"noAccount": "Non hai ancora un account?",
"hasAccount": "Hai già un account?",
"loginFailed": "Accesso non riuscito",
"registerFailed": "Registrazione non riuscita",
"createAccount": "Crea account",
"newAccount": "Crea un nuovo account",
"backToPasskey": "Torna a passkey",
"passkeySetupLater": "Puoi configurare le passkey più tardi dalle impostazioni.",
"passwordMinLength": "Min. 12 caratteri",
"passwordTooShort": "La password deve avere almeno {minLength} caratteri.",
"privacyPolicy": "Informativa sulla privacy"
},
"dashboard": {
"title": "Cruscotto",
"greeting": {
"morning": "Buongiorno",
"day": "Ciao",
"evening": "Buonasera"
},
"welcomeBack": "{greeting}, bentornato.",
"welcomeBackWithName": "{greeting} {name}, bentornato.",
"greetingSalutation": "Ciao, {name}",
"streakLabel": "giorni di fila",
"weight": "Peso",
"bloodPressure": "Pressione arteriosa",
"pulse": "Polso",
"bodyFat": "Massa grassa",
"sleep": "Sonno",
"steps": "Passi",
"vo2Max": "VO₂ max",
"vo2MaxUnit": "mL/(kg·min)",
"bpInTarget": "PA nel range obiettivo",
"weightShort": "Peso",
"bloodPressureSysShort": "PA (Sys)",
"bloodPressureDiaShort": "PA (Dia)",
"pulseShort": "Polso",
"bodyFatShort": "GC",
"moodShort": "Umore",
"sleepShort": "Sonno",
"stepsShort": "Passi",
"vo2MaxShort": "VO₂ max",
"bpInTargetShort": "PA-target",
"medications": "Farmaci",
"quickAddMeasurement": "Registra misurazione",
"quickAddMood": "Registra umore",
"quickAddMedicationIntake": "Registra assunzione",
"customizeDashboard": "Personalizza dashboard",
"medicationIntakeQuickAdd": {
"sheetTitle": "Registra assunzione del farmaco",
"sheetDescription": "Registra dose, orario e farmaco con pochi tap.",
"medicationLabel": "Farmaco",
"medicationPlaceholder": "Seleziona un farmaco",
"doseLabel": "Dose",
"dosePlaceholder": "es. 5 mg",
"doseHint": "Al momento viene registrata la dose standard. Le dosi variabili arriveranno in una prossima versione.",
"timeLabel": "Orario di assunzione",
"saveError": "Impossibile salvare l’assunzione.",
"emptyTitle": "Ancora nessun farmaco",
"emptyDescription": "Crea prima un farmaco con un orario, poi torna qui per registrarne l’assunzione.",
"emptyCta": "Aggiungi farmaco"
},
"quickEntryDiscard": {
"title": "Scartare questa voce?",
"description": "Hai dati non salvati. Chiudere il modulo e perdere ciò che hai digitato?",
"confirm": "Scarta",
"cancel": "Continua a modificare"
},
"compliance7d": "Aderenza (7 giorni)",
"mood": "Umore",
"customizeTitle": "Layout della dashboard",
"layoutReset": "Ripristina i valori predefiniti",
"layoutSaveSuccess": "Layout della dashboard salvato",
"layoutSaveError": "Impossibile salvare il layout",
"layoutResetSuccess": "Layout predefinito ripristinato",
"layoutUsingDefaults": "Layout predefinito attivo",
"layoutCustomized": "Layout personalizzato attivo",
"moveUp": "Sposta su",
"moveDown": "Sposta giù",
"layoutTileColumn": "Riquadro",
"layoutChartColumn": "Grafico",
"dragHandle": "Trascina per riordinare",
"dragHandleHint": "Trascina la maniglia per riordinare questo widget. Puoi anche usare i pulsanti freccia Su e Giù, oppure mettere a fuoco la maniglia e premere Spazio e i tasti freccia.",
"emptyTitle": "La tua dashboard è vuota",
"emptyDescription": "Registra la prima misurazione o un umore. Tile e grafici appaiono automaticamente non appena ci sono dati.",
"emptyAddMeasurement": "Registra la prima misurazione",
"staleHint": "Ultimo valore {count} g fa",
"staleHintWeeksOne": "Ultimo valore 1 settimana fa",
"staleHintWeeksOther": "Ultimo valore {count} settimane fa",
"staleHintMonthsOne": "Ultimo valore 1 mese fa",
"staleHintMonthsOther": "Ultimo valore {count} mesi fa",
"coachCta": "Chiedi al coach",
"recentWorkouts": {
"title": "Allenamenti recenti",
"viewAll": "Vedi tutti",
"loading": "Caricamento allenamenti…",
"empty": {
"title": "Nessun allenamento",
"cta": "Apri l'app Salute di Apple sull'iPhone per sincronizzare gli allenamenti."
}
},
"metric": {
"title": {
"weight": "Peso",
"bloodPressure": "Pressione arteriosa",
"pulse": "Polso",
"bodyFat": "Massa grassa",
"glucose": "Glicemia",
"sleep": "Sonno",
"steps": "Passi",
"totalBodyWater": "Acqua corporea totale",
"boneMass": "Massa ossea",
"oxygenSaturation": "Saturazione di ossigeno"
},
"unit": {
"weight": "kg",
"bloodPressure": "mmHg",
"pulse": "bpm",
"bodyFat": "%",
"glucose": "mg/dL",
"sleep": "h",
"steps": "passi",
"totalBodyWater": "kg",
"boneMass": "kg",
"oxygenSaturation": "%"
}
}
},
"measurements": {
"title": "Misurazioni",
"subtitle": "Peso, pressione arteriosa, pulsazioni e altro",
"addMeasurement": "Aggiungi",
"editMeasurement": "Modifica misurazione",
"type": "Tipo",
"value": "Valore",
"date": "Data",
"source": "Sorgente",
"notes": "Note",
"typeWeight": "Peso",
"typeBloodPressure": "Pressione arteriosa",
"typeBpSys": "Sis",
"typeBpDia": "Dia",
"typePulse": "Polso",
"typeBodyFat": "Massa grassa",
"typeSleep": "Sonno",
"typeSteps": "Passi",
"typeBloodGlucose": "Glicemia",
"typeTotalBodyWater": "Acqua corporea totale",
"typeBoneMass": "Massa ossea",
"typeOxygenSaturation": "Saturazione di ossigeno",
"typeHeartRateVariability": "Variabilità della frequenza cardiaca",
"typeRestingHeartRate": "Frequenza cardiaca a riposo",
"typeActiveEnergyBurned": "Energia attiva",
"typeFlightsClimbed": "Piani saliti",
"typeWalkingRunningDistance": "Distanza a piedi e di corsa",
"typeVo2Max": "VO₂ max",
"typeBodyTemperature": "Temperatura corporea",
"typeFatFreeMass": "Massa magra",
"typeFatMass": "Massa grassa",
"typeMuscleMass": "Massa muscolare",
"typeSkinTemperature": "Temperatura cutanea",
"typePulseWaveVelocity": "Velocità dell’onda di polso",
"typeVascularAge": "Età vascolare",
"typeVisceralFat": "Grasso viscerale",
"typeAudioExposureEnv": "Esposizione al rumore (ambiente)",
"typeAudioExposureHeadphone": "Esposizione al rumore (cuffie)",
"typeTimeInDaylight": "Tempo alla luce del giorno",
"typeWalkingSteadiness": "Stabilità nel cammino",
"typeAudioExposureEvent": "Evento di ascolto forte",
"typeRespiratoryRate": "Frequenza respiratoria",
"typeBodyMassIndex": "Indice di massa corporea",
"typeLeanBodyMass": "Massa magra",
"typeWalkingHeartRateAverage": "Frequenza cardiaca a passo (media)",
"typeWalkingAsymmetry": "Asimmetria del cammino",
"typeWalkingDoubleSupport": "Doppio appoggio nel cammino",
"typeWalkingStepLength": "Lunghezza del passo",
"typeWalkingSpeed": "Velocità del cammino",
"glucoseContext": "Contesto",
"glucoseContextFasting": "A digiuno (≥8 h senza cibo)",
"glucoseContextPostprandial": "Postprandiale (2 h dopo il pasto)",
"glucoseContextRandom": "Qualsiasi / senza contesto",
"glucoseContextBedtime": "Prima di coricarsi",
"unitHours": "Ore",
"unitSteps": "Passi",
"sourceManual": "Manuale",
"sourceWithings": "Withings",
"sourceImport": "Importa",
"sourceAppleHealth": "Apple Health",
"systolicLabel": "Sistolica (mmHg)",
"diastolicLabel": "Diastolica (mmHg)",
"pulseLabel": "Pulsazioni (bpm)",
"valueWithUnit": "Valore ({unit})",
"timestamp": "Ora",
"notesPlaceholder": "es. dopo il pasto",
"formReset": "Reimposta modulo",
"saveError": "Errore durante il salvataggio",
"duplicateTimestamp": "Esiste già una misurazione di questo tipo a questa marca temporale.",
"deleteError": "Errore durante l’eliminazione",
"invalidValue": "Inserisci un valore valido.",
"invalidTimestamp": "Scegli una data e un’ora valide.",
"loginRequired": "Accedi per vedere le misurazioni.",
"allTypes": "Tutti i tipi",
"filterByType": "Filtra per tipo",
"measurementCount": "{count} misurazioni",
"emptyTitle": "Ancora nessuna misurazione",
"emptyDescription": "Registra peso, pressione, pulsazioni o altri valori per individuare i trend.",
"emptyFilteredTitle": "Nessuna misurazione corrisponde al filtro",
"emptyFilteredDescription": "Scegli un altro tipo o rimuovi il filtro per vedere tutte le misurazioni.",
"emptyAddFirst": "Registra la prima misurazione",
"emptyResetFilter": "Mostra tutti i tipi",
"comment": "Commento",
"actions": "Azioni",
"deleteConfirmTitle": "Eliminare la misurazione?",
"deleteConfirmDescription": "Questa misurazione sarà eliminata in modo definitivo.",
"pageInfo": "Pagina {page} di {total}",
"previousPage": "Pagina precedente",
"nextPage": "Pagina successiva",
"dailyTotalCaption": "({count} campioni)",
"sleepNapCaption": "+{count} pisolino/i",
"sleepAwakeningsCaption": "{count} risveglio/i",
"expandDay": "Mostra i campioni di questa giornata",
"collapseDay": "Nascondi i campioni di questa giornata",
"loadError": "Impossibile caricare le misurazioni.",
"typeCardioRecovery": "Recupero cardiaco",
"typeWristTemperature": "Temperatura del polso",
"typeFallCount": "Cadute",
"typeSixMinuteWalkDistance": "Distanza nel cammino di 6 minuti",
"typeStairAscentSpeed": "Velocità in salita scale",
"typeStairDescentSpeed": "Velocità in discesa scale",
"typeBreathingDisturbances": "Disturbi respiratori nel sonno",
"typeIrregularRhythmNotification": "Notifica di ritmo irregolare",
"typeHighHeartRateEvent": "Notifica di frequenza cardiaca alta",
"typeLowHeartRateEvent": "Notifica di frequenza cardiaca bassa",
"typeWalkingSteadinessEvent": "Avviso di stabilità della camminata",
"typeBreathingDisturbanceEvent": "Disturbo respiratorio",
"typeRecoveryScore": "Punteggio di recupero",
"typeStressScore": "Punteggio di stress",
"typeStrainScore": "Punteggio di sforzo",
"typeHrvRmssd": "HRV (RMSSD)",
"typeDayStrain": "Sforzo giornaliero",
"typeWorkoutStrain": "Sforzo dell'allenamento",
"typeSleepPerformance": "Prestazione del sonno",
"typeSleepEfficiency": "Efficienza del sonno",
"typeSleepConsistency": "Costanza del sonno",
"typeSleepNeed": "Fabbisogno di sonno",
"typeEnergyExpenditureKj": "Dispendio energetico"
},
"mood": {
"title": "Umore",
"subtitle": "Andamento e voci dell’umore",
"addEntry": "Aggiungi",
"editEntry": "Modifica voce",
"moodLevel": "Umore",
"heroQuestion": "Come stai?",
"factorYes": "Sì",
"factorNo": "No",
"factorRatingOption": "{label}: {value} di {max}",
"tags": "Tag",
"tagsPlaceholder": "es. sport, lavoro, famiglia",
"tagsHelp": "Separa con virgole",
"timestamp": "Ora",
"date": "Data",
"source": "Sorgente",
"levelSuperGut": "Ottimo",
"levelGut": "Bene",
"levelOkay": "Discreto",
"levelSchlecht": "Male",
"levelLausig": "Pessimo",
"sourceMoodlog": "moodLog",
"allMoods": "Tutti gli umori",
"entryCount": "{count} voci",
"emptyTitle": "Ancora nessuna voce di umore",
"emptyDescription": "Annota come ti senti oggi per individuare pattern nel tempo.",
"emptyFilteredTitle": "Nessuna voce corrisponde al filtro",
"emptyFilteredDescription": "Scegli un altro livello o rimuovi il filtro per vedere tutte le voci.",
"emptyAddFirst": "Registra il primo umore",
"emptyResetFilter": "Mostra tutti gli umori",
"actions": "Azioni",
"formReset": "Reimposta modulo",
"noteCharCount": "{count}/{max}",
"formResetConfirmTitle": "Reimpostare questo modulo?",
"formResetConfirmBody": "Questo cancella umore, tag e nota inseriti. L’operazione non può essere annullata.",
"formResetConfirmAction": "Reimposta",
"saveError": "Errore durante il salvataggio",
"deleteError": "Errore durante l’eliminazione",
"invalidTimestamp": "Scegli una data e un’ora valide.",
"deleteConfirmTitle": "Eliminare la voce?",
"deleteConfirmDescription": "Questa voce dell’umore sarà eliminata in modo definitivo.",
"pageInfo": "Pagina {page} di {total}",
"loginRequired": "Accedi per vedere le voci dell’umore.",
"note": "Nota",
"notePlaceholder": "Aggiungi una nota su come ti senti…",
"tagPicker": "Etichette",
"tagCategory": {
"feelings": "Emozioni",
"sleep": "Sonno",
"health": "Salute",
"social": "Sociale",
"work": "Lavoro",
"hobbies": "Hobby",
"factors": "Fattori"
},
"tag": {
"happy": "felice",
"excited": "entusiasta",
"grateful": "grato",
"relaxed": "rilassato",
"content": "soddisfatto",
"tired": "stanco",
"unsure": "incerto",
"bored": "annoiato",
"tense": "teso",
"angry": "arrabbiato",
"stressed": "stressato",
"sad": "triste",
"sleptWell": "dormito bene",
"sleptOk": "dormito così così",
"sleptPoorly": "dormito male",
"earlyNight": "a letto presto",
"workedOut": "allenato",
"ateWell": "mangiato bene",
"hydrated": "bevuto acqua",
"walked": "camminato",
"alcohol": "alcol",
"family": "famiglia",
"friends": "amici",
"party": "festa",
"alone": "da solo",
"productive": "produttivo",
"overtime": "straordinari",
"dayOff": "giorno libero",
"travel": "viaggio",
"sickDay": "giorno di malattia",
"movies": "film",
"reading": "lettura",
"gaming": "videogiochi",
"music": "musica",
"outdoors": "all'aperto",
"fastFood": "fast food",
"noSweets": "niente dolci",
"bigMeal": "pasto abbondante",
"factorWork": "lavoro",
"factorSocial": "vita sociale",
"factorSleepQuality": "qualità del sonno",
"factorStress": "stress",
"factorConflict": "conflitto",
"factorFamily": "famiglia"
}
},
"medications": {
"title": "Farmaci",
"subtitle": "Farmaci, orari e assunzioni",
"loginRequired": "Accedi per gestire i farmaci.",
"addMedication": "Aggiungi",
"editMedication": "Modifica farmaco",
"newMedication": "Nuovo farmaco",
"firstMedication": "Aggiungi il primo farmaco",
"emptyTitle": "Ancora nessun farmaco",
"emptyDescription": "Crea farmaci, dosi e fasce orarie per registrare l’aderenza.",
"loadFailed": "Impossibile caricare i farmaci",
"retryLoad": "Riprova",
"name": "Nome",
"dose": "Dose",
"scheduleFrom": "Da",
"scheduleTo": "A",
"scheduleLabel": "Etichetta",
"scheduleDays": "Giorni",
"scheduleDaily": "Quotidiano",
"inactive": "In pausa",
"intakeHistory": "Cronologia assunzioni",
"openDetailPage": "Apri la pagina di dettaglio del farmaco",
"deleteConfirm": "Eliminare il farmaco?",
"compliance": "Aderenza",
"importIntakes": "Importa assunzioni",
"importDescription": "Incolla un array JSON con i dati delle assunzioni. Formato previsto:",
"importUploadFile": "Carica file JSON",
"importPaste": "Incolla il JSON qui...",
"importSelected": "Selezionato: {name}",
"importFileLoaded": "File \"{name}\" caricato",
"importInvalidJson": "Il file non contiene un JSON valido",
"importNoArray": "Nessun array trovato",
"importResult": "{imported} assunzioni importate",
"importDuplicatesSkipped": "{count} duplicati ignorati",
"importInvalidSkipped": "{count} voci non valide ignorate",
"importFailed": "Importazione non riuscita",
"importInvalidFormat": "Formato JSON non valido",
"apiEndpointTitle": "Endpoint API: {name}",
"apiEndpointDescription": "Usa questo endpoint per registrare assunzioni tramite API (ad es. con un Comando rapido iPhone o un cron job).",
"apiEndpointActive": "Endpoint API attivo",
"apiEndpointActivated": "Endpoint API attivato",
"apiEndpointDeactivated": "Endpoint API disattivato",
"apiTokenCount": "Attivo ({count} token)",
"apiToken": "Token API",
"apiTokenActiveHint": "L’endpoint è attivo. I token esistenti restano validi ma non possono essere mostrati di nuovo in chiaro.",
"apiTokenActivateHint": "Attiva l’endpoint per creare un nuovo token.",
"apiTokenOnceHint": "Il token viene mostrato in chiaro solo una volta, alla creazione.",
"requestExample": "Esempio di richiesta",
"statusLoadFailed": "Impossibile caricare lo stato",
"changeFailed": "Modifica non riuscita",
"categoryBloodPressure": "Pressione arteriosa",
"categoryVitamin": "Vitamine",
"categoryThyroid": "Tiroide",
"categoryHormone": "Ormoni",
"categorySupplement": "Integratore",
"categoryPainRelief": "Antidolorifico",
"categoryAllergy": "Allergia",
"categoryDigestive": "Digestivo",
"categorySkin": "Cura della pelle",
"categorySleepAid": "Per dormire",
"categoryDiabetes": "Diabetes",
"categoryAntibiotic": "Antibiotico",
"categoryOther": "Altro",
"daysSun": "Dom",
"daysMon": "Lun",
"daysTue": "Mar",
"daysWed": "Mer",
"daysThu": "Gio",
"daysFri": "Ven",
"daysSat": "Sab",
"back": "Indietro",
"today": "Oggi",
"yesterday": "Ieri",
"tomorrow": "Domani",
"withoutNotification": "Senza notifica",
"pausedSince": "In pausa dal",
"takeNow": "Assumi ora",
"overdue": "In ritardo",
"veryOverdue": "Molto in ritardo",
"compliance7d": "Aderenza 7 giorni",
"compliance30d": "Aderenza 30 giorni",
"complianceWindow": "Aderenza {days} giorni",
"lastIntake": "Ultima assunzione:",
"nextIntake": "Prossima assunzione:",
"dayStreak": "giorni di serie",
"taken": "Assunta",
"skipped": "Saltata",
"intakeToastTaken": "{name} registrata come assunta",
"intakeToastSkipped": "{name} saltata",
"intakeToastFailed": "Impossibile registrare {name}; riprova",
"intakeUndo": "Annulla",
"intakeUndone": "Voce annullata",
"intakeUndoFailed": "Impossibile annullare; correggi nella cronologia",
"weekdaySunday": "Domenica",
"weekdayMonday": "Lunedì",
"weekdayTuesday": "Martedì",
"weekdayWednesday": "Mercoledì",
"weekdayThursday": "Giovedì",
"weekdayFriday": "Venerdì",
"weekdaySaturday": "Sabato",
"weekdaySundayPlural": "Domeniche",
"weekdayMondayPlural": "Lunedì",
"weekdayTuesdayPlural": "Martedì",
"weekdayWednesdayPlural": "Mercoledì",
"weekdayThursdayPlural": "Giovedì",
"weekdayFridayPlural": "Venerdì",
"weekdaySaturdayPlural": "Sabati",
"formType": "Tipo",
"formDose": "Dose",
"formUnit": "Unità",
"formSchedule": "Fascia oraria",
"formTreatmentClass": "Classe di trattamento",
"formTreatmentClassHelp": "Scegli \"Iniezione GLP-1\" per iniezioni settimanali come Mounjaro, Ozempic, Wegovy, Zepbound. Attiva la card del corpo e il diario GLP-1.",
"treatmentClassGeneric": "Farmaco standard",
"treatmentClassGlp1": "Iniezione GLP-1",
"glp1WeeklyPresetTitle": "Una volta a settimana, di…",
"glp1WeeklyPresetHelp": "La maggior parte degli agonisti del recettore GLP-1 viene iniettata una volta a settimana. Tocca un giorno per impostare il ritmo.",
"glp1WeeklyPresetSuggest": "Riprendi l’ultimo giorno scelto",
"glp1DosesPerUnit": "Dosi per penna / fiala",
"glp1DosesPerUnitPlaceholder": "es. 4 per una penna Mounjaro KwikPen",
"glp1DosesPerUnitHelp": "Opzionale — Mounjaro KwikPen = 4, Ozempic 0,25/0,5 mg = 4, Wegovy penna monouso = 1. Lascia vuoto se non vuoi monitorare le dosi per penna.",
"glp1LastInjection": "Ultimo appuntamento: {label}",
"glp1LastInjectionWithSite": "Ultimo appuntamento: {label} · {site}",
"glp1NextInjectionDays": "Prossimo: {label} (tra {days} giorni)",
"glp1NextInjectionToday": "Prossimo appuntamento: oggi",
"glp1NextInjectionTomorrow": "Prossimo appuntamento: domani",
"glp1RotationLast": "Ultima sede: {site}",
"glp1RotationSuggested": "Suggerita: {site}",
"glp1LogSideEffect": "Registra effetto collaterale",
"sideEffects": {
"section": "Effetti collaterali",
"addCta": "Registra",
"sheetTitle": "Registra un effetto collaterale",
"categoryLabel": "Categoria",
"entryLabel": "Sintomo",
"severityLabel": "Gravità",
"severity": {
"mild": "Lieve",
"moderate": "Moderato",
"significant": "Marcato",
"severe": "Grave",
"verySevere": "Molto grave"
},
"notesLabel": "Note (facoltativo)",
"notesPlaceholder": "Qualcosa che vale la pena ricordare, max 280 caratteri",
"submitCta": "Salva",
"cancelCta": "Annulla",
"emptyState": "Nessun effetto collaterale registrato. Tracciarli può aiutare il medico e far emergere schemi nel tempo.",
"recentTitle": "Ultimi 30 giorni",
"loading": "Caricamento…",
"deleteCta": "Elimina",
"deleteConfirm": "Eliminare questa voce?",
"errorSeverity": "La gravità deve essere tra 1 e 5",
"errorEntry": "Scegli un sintomo",
"categories": {
"gi": "Gastrointestinale",
"metabolic": "Metabolico",
"injectionSite": "Sito di iniezione",
"cognitive": "Cognitivo",
"glp1Specific": "Specifico GLP-1"
},
"entries": {
"nausea": "Nausea",
"vomiting": "Vomito",
"diarrhea": "Diarrea",
"constipation": "Stitichezza",
"abdominalPain": "Dolore addominale",
"hypoglycemiaSymptoms": "Sintomi da ipoglicemia",
"dehydration": "Disidratazione",
"anorexia": "Perdita di appetito",
"electrolyteFatigue": "Stanchezza da squilibrio elettrolitico",
"injectionRedness": "Arrossamento al sito di iniezione",
"injectionSwelling": "Gonfiore al sito di iniezione",
"injectionBruising": "Livido al sito di iniezione",
"injectionInduration": "Indurimento al sito di iniezione",
"brainFog": "Annebbiamento mentale",
"dizziness": "Vertigini",
"lowMood": "Umore basso",
"lowEnergy": "Poca energia",
"earlySatiety": "Sazietà precoce",
"gastroparesisLike": "Svuotamento gastrico lento",
"dysgeusia": "Alterazione del gusto",
"gallbladderDiscomfort": "Fastidio alla cistifellea"
}
},
"scheduling": {
"naturalLanguage": {
"title": "Descrivi il farmaco",
"description": "Descrivi il farmaco con parole tue e il modulo verrà precompilato per te.",
"placeholder": "es. Mounjaro 5 mg settimanale il mercoledì mattina a partire da lunedì prossimo",
"submit": "Estrai",
"submitBusy": "Estrazione in corso…",
"cancel": "Annulla",
"examples": {
"label": "Prova uno di questi esempi",
"weekly": "Mounjaro 5 mg settimanale il mercoledì mattina",
"daily": "Ibuprofene 200 mg ogni giorno, 3 volte al giorno",
"rolling": "Metotrexato 7,5 mg ogni 7 giorni dall'ultima iniezione"
},
"error": {
"empty": "Scrivi prima una descrizione.",
"tooLong": "Mantieni la descrizione entro 2000 caratteri.",
"rateLimit": "Troppe richieste — attendi un momento e riprova.",
"noProvider": "Nessun provider IA configurato — configurane uno in Impostazioni.",
"budget": "Budget IA giornaliero raggiunto — riprova domani.",
"network": "Impossibile contattare il provider IA — riprova."
}
},
"cadence": {
"section": "Cadenza",
"label": "Con quale frequenza",
"kind": {
"daily": "Ogni giorno",
"weekdays": "In determinati giorni della settimana",
"everyNWeeks": "Ogni N settimane in determinati giorni",
"monthly": "Mensilmente in un giorno specifico",
"everyNMonths": "Ogni N mesi in un giorno specifico",
"yearly": "Una volta all’anno",
"rolling": "Ogni N giorni dall’ultima assunzione (flessibile)",
"rollingExplainer": "Conta dall’ultima assunzione registrata — si mette in pausa se salti una dose.",
"oneShot": "Dose singola"
},
"weekdays": {
"label": "Giorni della settimana",
"short": {
"mo": "Mo",
"tu": "Ma",
"we": "Me",
"th": "Gi",
"fr": "Fr",
"sa": "Sa",
"su": "Do"
},
"long": {
"mo": "Lunedì",
"tu": "Martedì",
"we": "Mercoledì",
"th": "Giovedì",
"fr": "Venerdì",
"sa": "Sabato",
"su": "Domenica"
}
},
"intervalWeeks": {
"suffix": "settimane"
},
"dayOfMonth": {
"label": "Giorno"
},
"intervalMonths": {
"suffix": "mesi",
"dayOnLabel": "il giorno"
},
"yearly": {
"date": {
"label": "Data"
}
},
"rollingDays": {
"suffix": "giorni"
}
},
"timesOfDay": {
"section": "Orari del giorno",
"label": "Orari del giorno",
"empty": {
"cta": "Aggiungi il primo orario."
},
"add": "Aggiungi orario",
"remove": "Rimuovi",
"presets": {
"morning": "Mattina",
"noon": "Mezzogiorno",
"evening": "Sera",
"night": "Notte"
},
"max": {
"reached": "Massimo raggiunto — rimuovi un orario prima di aggiungerne un altro."
}
},
"courseWindow": {
"section": "Periodo di trattamento",
"startsOn": {
"label": "Inizia il"
},
"endsOn": {
"label": "Termina il"
},
"noEndDate": "Nessuna data di fine",
"oneShotCaption": "(dose singola)",
"invalidRange": "La data di fine deve essere uguale o successiva alla data di inizio."
}
},
"wizard": {
"header": {
"stepOf": "Passo {current} di {total}",
"createTitle": "Nuovo farmaco",
"editTitle": "Modifica {name}"
},
"nav": {
"back": "Indietro",
"next": "Avanti",
"save": "Salva",
"saveEdit": "Salva modifiche",
"nextHint": "Avanti: {step}",
"reviewHint": "Avanti: Salva",
"jumpFirst": "Vai al primo passaggio",
"jumpLast": "Vai a revisione e salvataggio"
},
"nl": {
"button": "Descrivi"
},
"steps": {
"step1": {
"title": "Come si chiama il farmaco?",
"subline": "Esattamente come riportato sulla confezione.",
"label": "Name",
"placeholder": "ad es. Ramipril",
"short": "Nome"
},
"step2": {
"title": "Che tipo di farmaco è?",
"subline": "Lo usiamo per i modelli e le analisi corretti.",
"short": "Tipo"
},
"step3": {
"title": "Qual è la dose?",
"subline": "Una compressa, uno spruzzo, una goccia — a seconda della forma.",
"amountLabel": "Quantità",
"amountPlaceholder": "ad es. 5",
"unitLabel": "Unità",
"unit": {
"mg": "mg",
"ml": "ml",
"iu": "UI",
"mcg": "µg",
"g": "g",
"tablets": "compressa/e",
"capsules": "capsula/e",
"drops": "gocce",
"puffs": "spruzzo",
"sprays": "spruzzo",
"pieces": "pezzi",
"other": "altro"
},
"deliveryFormLabel": "Via",
"deliveryForm": {
"ORAL": "Orale",
"INJECTION": "Iniezione",
"OTHER": "Altro"
},
"dosesPerUnitLabel": "Dosi per unità",
"dosesPerUnitPlaceholder": "es. 4",
"dosesPerUnitHint": "Dosi per penna / fiala — lascia vuoto per non tracciare le scorte.",
"injectionSiteToggle": "Rotazione del sito di iniezione",
"injectionSiteHint": "Guida alla rotazione facoltativa. Il sito di ogni dose viene registrato al momento della registrazione dell'assunzione.",
"short": "Dose"
},
"step4": {
"title": "Per quanto tempo lo assumi?",
"subline": "Per oggi basta una data di inizio. Potrai aggiungere una data di fine in seguito.",
"short": "Quando"
},
"step5": {
"title": "Con quale frequenza lo assumi?",
"subline": "Scegli la cadenza — i dettagli arrivano al passo successivo.",
"short": "Frequenza"
},
"step6": {
"title": "Come si presenta nel dettaglio?",
"subline": "Imposta i giorni della settimana, gli intervalli o il giorno del mese.",
"intervalWeeks": {
"label": "Ogni",
"suffix": "settimane"
},
"dayOfMonth": {
"label": "Il",
"suffix": "giorno del mese"
},
"rollingDays": {
"label": "Ogni",
"suffix": "giorni dall’ultima assunzione"
},
"short": "Dettaglio"
},
"step7": {
"title": "Quando lo assumi?",
"subline": "Uno o più orari del giorno — i promemoria seguono questo elenco.",
"presetsLabel": "Preimpostazioni per orario del giorno",
"presets": {
"morning": "Mattina",
"noon": "Mezzogiorno",
"evening": "Sera",
"night": "Notte"
},
"short": "Orari"
},
"step8": {
"title": "Fatto — vuoi che HealthLog te lo ricordi?",
"subline": "Controlla tutto qui sotto prima di salvare.",
"remindersLabel": "Promemoria attivi",
"remindersDescription": "Push, Telegram o ntfy — in base alle tue impostazioni.",
"multiScheduleNote": "Questo farmaco ha più orari. L’editor dettagliato tornerà in una versione successiva.",
"short": "Fatto"
}
},
"classRow": {
"bloodPressure": "Pressione arteriosa",
"diabetes": "Diabetes",
"hormone": "Ormoni",
"glp1": "Iniezione di GLP-1",
"painRelief": "Dolore",
"allergy": "Allergia",
"vitamin": "Vitamine",
"supplement": "Integratore",
"antibiotic": "Antibiotico",
"other": "Altro"
},
"cadence": {
"daily": {
"label": "Giornaliero",
"description": "Ogni giorno alla stessa ora."
},
"weekdays": {
"label": "Giorni specifici della settimana",
"description": "Ad es. lunedì, mercoledì, venerdì."
},
"everyNWeeks": {
"label": "Ogni poche settimane",
"description": "Ad es. ogni 2 settimane di giovedì (GLP-1, biologici)."
},
"monthly": {
"label": "Mensile",
"description": "Un giorno fisso ogni mese (ad es. sempre il 1°)."
},
"rolling": {
"label": "Flessibile dall’ultima dose",
"description": "Lascia aperta la prossima dose. Quando tocchi «assunta», il conteggio riparte da quel momento."
},
"oneShot": {
"label": "Dose singola",
"description": "Una singola somministrazione, ad es. un vaccino o un ciclo di antibiotico."
}
},
"summary": {
"title": "Riepilogo",
"cadence": {
"daily": "Ogni giorno",
"weekdays": "Nei giorni della settimana selezionati",
"biweekly": "Ogni due settimane",
"monthly": "Mensile",
"quarterly": "Ogni tre mesi",
"yearly": "Una volta all’anno",
"rolling": "Ogni {n} giorni dall’ultima assunzione",
"oneShot": "Una dose singola",
"everyNWeeks": "Ogni {n} settimane",
"everyNMonths": "Ogni {n} mesi"
},
"weekdaysDetail": ", il {days}",
"dayOfMonthDetail": ", il giorno {day}.",
"times": "alle {times}",
"startsOn": "Inizio: {date}",
"endsOn": "Fine: {date}",
"noEndDate": "Nessuna data di fine"
},
"compose": {
"scheduleIndex": "Programma {n} di {total}",
"list": {
"add": "Aggiungi un altro programma",
"edit": "Modifica",
"remove": "Rimuovi",
"removeDisabled": "È richiesto almeno un programma.",
"empty": "Ancora nessun programma."
}
},
"errors": {
"submitFailed": "Impossibile salvare il farmaco — riprova."
}
},
"doseStrength": {
"title": "Dose nel tempo",
"axisLabel": "Dose registrata ({unit})",
"tooltipLabel": "Dose",
"currentDose": "Dose attuale: {dose} {unit}",
"noCurrentDose": "Nessuna dose ancora registrata.",
"empty": "Nessuna cronologia di titolazione. Registra un cambio di dose per vedere la curva della dose."
},
"injectionSiteBodyOutlineAriaLabel": "Sagoma del corpo",
"injectionSitePickerAriaLabel": "Selettore del sito di iniezione",
"injectionSiteRecommendedAriaLabel": "{site} — prossimo sito consigliato",
"injectionSiteLegendAriaLabel": "Legenda dei segnaposto",
"injectionSiteLegendRecommended": "Prossimo sito consigliato",
"injectionSiteLegendLastUsed": "Ultimo sito utilizzato",
"siteAbdomenLeft": "Addome, basso a sinistra",
"siteAbdomenRight": "Addome, basso a destra",
"siteAbdomenUpperLeft": "Addome, alto a sinistra",
"siteAbdomenUpperRight": "Addome, alto a destra",
"siteThighLeft": "Coscia sinistra",
"siteThighRight": "Coscia destra",
"siteUpperArmLeft": "Braccio sinistro",
"siteUpperArmRight": "Braccio destro",
"sideEffectTagsHelp": "Tocca un chip per aggiungerlo ai tag dell’umore.",
"sideEffectTagNausea": "Nausea",
"sideEffectTagConstipation": "Stitichezza",
"sideEffectTagDiarrhea": "Diarrea",
"sideEffectTagFatigue": "Affaticamento",
"sideEffectTagAppetiteLoss": "Perdita di appetito",
"sideEffectTagHeartburn": "Bruciore di stomaco",
"sideEffectTagHeadache": "Mal di testa",
"newSchedule": "Nuova fascia oraria",
"removeSchedule": "Rimuovi fascia oraria",
"advancedEditing": "Modifica avanzata",
"advancedEditingHide": "Nascondi modifica avanzata",
"scheduleInterval": "Intervallo",
"scheduleEveryWeek": "ogni settimana",
"scheduleEveryNWeeks": "ogni {n} settimane",
"scheduleIntervalPrefix": "Intervallo:",
"nextSchedulePrefix": "Prossima fascia:",
"nextScheduleDaily": "quotidiano",
"importIntakesAction": "Importa assunzioni",
"apiEndpointAction": "Endpoint API",
"pause": "Metti in pausa",
"activate": "Attiva",
"disableNotifications": "Disattiva le notifiche",
"enableNotifications": "Attiva le notifiche",
"purgeRecords": "Elimina i record",
"formReset": "Reimposta modulo",
"createMedication": "Crea farmaco",
"deleteConfirmDescription": "Questo farmaco e tutte le sue assunzioni saranno eliminati in modo definitivo.",
"purgeConfirmTitle": "Eliminare tutte le assunzioni?",
"purgeConfirmDescription": "Tutte le assunzioni registrate per questo farmaco saranno eliminate in modo definitivo.",
"saveError": "Errore durante il salvataggio",
"deleteError": "Errore durante l’eliminazione",
"purgeError": "Errore durante l’eliminazione dei record",
"invalidTimestamp": "Scegli una data e un’ora valide.",
"noIntakesYet": "Ancora nessuna assunzione registrata.",
"actions": "Azioni",
"pageInfo": "Pagina {page} di {total}",
"previousPage": "Pagina precedente",
"nextPage": "Pagina successiva",
"loginRequiredIntakes": "Accedi per vedere la cronologia delle assunzioni.",
"phaseConfig": "Fasi di promemoria",
"phaseConfigDescription": "Configura i momenti dei promemoria.",
"phaseGreen": "Verde",
"phaseYellow": "Giallo",
"phaseOrange": "Arancione",
"phaseRed": "Rosso",
"phaseMinutes": "Min",
"phasePercent": "%",
"phaseBeforeEnd": "prima della fine",
"phaseAfterEnd": "dopo la fine",
"phaseResetDefaults": "Ripristina predefiniti",
"phaseSaved": "Fasi di promemoria salvate",
"phaseReset": "Ripristinate ai valori predefiniti",
"sourceWeb": "Web",
"sourceApi": "App iOS",
"sourceReminder": "Promemoria",
"sourceImport": "Importazione",
"intakeSourceVia": "tramite {origin}",
"intakeHistoryEmptyTitle": "Ancora nessuna assunzione",
"intakeHistoryEmptyDescription": "Appena registrerai un’assunzione, comparirà qui con orario e sorgente.",
"intakeHistoryEmptyAction": "Registra un’assunzione",
"intakeHistoryColTaken": "Assunta",
"intakeHistoryColScheduled": "Programmata",
"intakeHistoryColStatus": "Stato",
"intakeHistoryColSource": "Sorgente",
"intakeHistoryStatusTaken": "Assunta",
"intakeHistoryStatusSkipped": "Saltata",
"intakeHistorySortByTaken": "Ordina per ora di assunzione",
"intakeHistorySortByScheduled": "Ordina per orario programmato",
"intakeHistoryPageInfo": "Pagina {page} di {total} · {count} voci",
"intakeHistoryPrev": "Precedente",
"intakeHistoryNext": "Successiva",
"unitDrops": "gocce",
"unitTablets": "compresse",
"unitCapsules": "capsule",
"unitPieces": "pezzi",
"namePlaceholder": "es. Ramipril",
"dosePlaceholder": "es. 5 mg",
"labelPlaceholder": "es. Al mattino",
"defaultDose": "Dose standard",
"dayDeactivate": "Disattiva {day}",
"dayActivate": "Attiva {day}",
"glp1": {
"drug": {
"tirzepatide": {
"name": "Tirzepatide"
},
"semaglutide": {
"name": "Semaglutide"
},
"liraglutide": {
"name": "Liraglutide"
},
"dulaglutide": {
"name": "Dulaglutide"
},
"exenatide": {
"name": "Exenatide"
}
}
},
"researchMode": {
"dialog": {
"title": "Attiva la modalità Ricerca",
"intro": "La modalità Ricerca aggiunge un grafico stimato del livello del farmaco alla tua pagina GLP-1. Leggi il limite qui sotto prima di attivarla: il grafico è uno strumento di apprendimento, mai una misura, mai un consiglio medico.",
"whatItIsHeader": "Cosa è",
"whatItIs": "Una curva a dente di sega che simula la sovrapposizione delle dosi registrate nel tempo, usando il modello Bateman a un compartimento con i parametri di assorbimento e di emivita pubblicati nell'EPAR EMA di ogni agonista GLP-1 approvato. L'asse verticale è privo di unità ed etichette. La forma, non il numero, è ciò che il grafico mostra.",
"whatItIsntHeader": "Cosa non è",
"whatItIsnt": "Non è un livello ematico. Non è una misura. Non è una previsione della risposta reale del tuo corpo. Non è una base per alcuna decisione di dose, di tempistica o di escalation. Per qualunque cosa riguardi come assumi il tuo farmaco, parla con il medico che te lo prescrive.",
"whyEstimateHeader": "Perché è una stima",
"whyEstimate": "La farmacocinetica di popolazione descrive il paziente tipico. La variabilità individuale è ampia: il modello Schneck/Urva 2024 del tirzepatide riporta circa il 22 % di variabilità interindividuale sull'assorbimento e circa il 49 % sul volume di distribuzione. Una curva da manuale non può catturare il tuo peso, la tua funzione renale, la tua tecnica di iniezione o la precisione degli orari. Leggi la curva come il ritmo del tuo dosaggio, non come il tuo livello.",
"mdrBoundaryHeader": "Limite regolatorio",
"mdrBoundary": "HealthLog mostra dati regolatori pubblici e le tue registrazioni. L'app non predice, non diagnostica, non tratta e non raccomanda alcuna terapia. Il Regolamento UE 2017/745 (Medical Device Regulation, MDR) e il documento di orientamento MDCG 2021-24 tracciano la linea sul software che interpreta dati per scopi medici: questa curva rimane decisamente sul lato educativo di quella linea. Se in qualunque momento ti sembra spingere verso una decisione clinica, chiudila.",
"citationsHeader": "Fonti",
"citations": "European Public Assessment Reports EMA per Mounjaro, Ozempic, Wegovy, Saxenda, Trulicity, Byetta e Bydureon (Sezione 5.2). Schneck K, Urva S. Population pharmacokinetics of the GIP/GLP receptor agonist tirzepatide. CPT Pharmacometrics Syst Pharmacol 2024;13(3):494-503 (DOI 10.1002/psp4.13099).",
"versionLine": "Versione del disclaimer: {version}",
"acknowledgeCta": "Ho capito — attiva",
"cancelCta": "Annulla",
"successToast": "Modalità Ricerca attivata. La curva del livello del farmaco è ora visibile sulla tua pagina GLP-1.",
"errorToast": "Impossibile attivare la modalità Ricerca. Riprova.",
"staleVersionToast": "Il disclaimer è stato aggiornato dal caricamento di questa pagina. Ricarica per leggere la versione attuale."
},
"chart": {
"title": "Livello stimato del farmaco",
"axisLabel": "Livello stimato (relativo)",
"emptyState": "Nessuna assunzione registrata.",
"emptyStateCta": "Registra una dose per vedere prendere forma la curva stimata.",
"estimateNote": "Stima educativa dalla farmacocinetica di popolazione pubblicata dall'EMA. Non è una misura.",
"unknownDrug": "{name} non è nel catalogo GLP-1 approvato dall'EMA, quindi HealthLog non può tracciare una curva di farmacocinetica di popolazione."
}
},
"detail": {
"status": {
"active": "Attivo",
"paused": "In pausa",
"ended": "Terminato"
},
"today": {
"groupLabel": "Dose di oggi",
"taken": "Assunta",
"skipped": "Saltata",
"toastTaken": "Dose di oggi registrata",
"toastSkipped": "Dose di oggi saltata",
"recordedTaken": "Assunta oggi alle {time}",
"recordedSkipped": "Saltata oggi alle {time}",
"recordedOneShot": "Dose singola assunta alle {time}",
"noneScheduled": "Nessuna dose prevista per oggi.",
"pausedHint": "In pausa — nessun promemoria oggi.",
"error": "Impossibile registrare la dose."
},
"cadence": {
"oneShotOn": "Dose singola il {date}.",
"oneShotPending": "Dose singola in sospeso."
},
"intake": {
"title": "Storico delle assunzioni",
"importButton": "Importa",
"rowActions": {
"openMenu": "Apri azioni della riga",
"edit": "Modifica",
"delete": "Elimina"
},
"selection": {
"rowToggleLabel": "Seleziona riga"
},
"bulkDelete": {
"selectionCount": "{count} voci selezionate",
"deleteButton": "Elimina selezione",
"cancelButton": "Annulla",
"confirmTitle": "Eliminare le voci selezionate?",
"confirmBody": "{count} voci verranno rimosse definitivamente. Il farmaco resta.",
"confirmAction": "Elimina",
"toast": "Selezione eliminata",
"failed": "Impossibile eliminare la selezione."
},
"edit": {
"dialogTitle": "Modifica assunzione",
"takenAtLabel": "Assunta alle",
"skippedLabel": "Saltata",
"noteLabel": "Nota",
"save": "Salva",
"cancel": "Annulla",
"savedToast": "Assunzione aggiornata",
"failed": "Impossibile aggiornare l’assunzione."
},
"deleteRow": {
"confirmTitle": "Eliminare questa assunzione?",
"confirmBody": "La voce viene rimossa definitivamente.",
"confirmAction": "Elimina",
"toast": "Assunzione eliminata",
"failed": "Impossibile eliminare l’assunzione."
}
},
"notifications": {
"title": "Promemoria",
"switchLabel": "Invia un promemoria quando questa dose è dovuta",
"helperOn": "I promemoria sono attivi.",
"helperOff": "I promemoria sono disattivati.",
"enabledToast": "Promemoria attivi",
"disabledToast": "Promemoria disattivati",
"toggleFailed": "Impossibile modificare l’impostazione dei promemoria.",
"clientManagedChip": "Il tuo iPhone gestisce i promemoria di questo farmaco."
},
"settings": {
"title": "Impostazioni",
"phases": {
"openButton": "Configura le fasi",
"requiresCourseWindow": "Le fasi sono disponibili dopo aver impostato un periodo di trattamento."
},
"grace": {
"label": "Finestra di promemoria — si applica al tuo programma principale",
"primaryScheduleNote": "I farmaci con più programmi mantengono la finestra predefinita degli altri programmi.",
"unit": "minuti",
"saved": "Finestra di promemoria salvata",
"failed": "Impossibile salvare la finestra di promemoria."
},
"codes": {
"label": "Codici clinici (ATC / RxNorm)",
"note": "Facoltativo. Usati nell'esportazione FHIR della cartella sanitaria. I codici vengono presi esattamente come inseriti — mai indovinati.",
"atcLabel": "ATC",
"rxNormLabel": "RxNorm",
"saved": "Codici clinici salvati",
"failed": "Impossibile salvare i codici clinici."
}
},
"zone": {
"title": "Gestione e zona pericolosa",
"pause": {
"title": "Metti in pausa",
"helper": "Metti in pausa i promemoria finché non li riattivi. Lo storico resta intatto.",
"pausedToast": "Promemoria in pausa",
"resumedToast": "Promemoria ripresi",
"failed": "Impossibile modificare lo stato di pausa."
},
"end": {
"title": "Termina il farmaco",
"helper": "Interrompe i promemoria e segna il farmaco come terminato. Lo storico resta visibile.",
"button": "Termina",
"dialogTitle": "Termina {name} — interrompe i promemoria, lo storico resta visibile",
"dialogBody": "Nessun altro promemoria. Le voci precedenti restano nella cronologia.",
"toast": "Farmaco terminato",
"failed": "Impossibile terminare il farmaco."
},
"purge": {
"title": "Elimina lo storico",
"helper": "Per questo farmaco sono memorizzate {count} assunzioni.",
"button": "Elimina lo storico",
"dialogTitle": "Eliminare davvero lo storico?",
"dialogBody": "Le {count} assunzioni verranno rimosse definitivamente. Il farmaco resta.",
"toast": "Storico eliminato",
"failed": "Impossibile eliminare lo storico."
},
"delete": {
"title": "Elimina il farmaco",
"helper": "Rimuove il farmaco e tutti i record correlati.",
"button": "Elimina",
"dialogTitle": "Eliminare {name}?",
"dialogBody": "Il farmaco, i suoi programmi, lo storico delle assunzioni, i token API, la configurazione delle fasi e i promemoria verranno rimossi definitivamente.",
"toast": "Farmaco eliminato",
"failed": "Impossibile eliminare il farmaco."
}
},
"phases": {
"modeLabel": "Modalità {phase}",
"saveFailed": "Impossibile salvare le fasi dei promemoria."
},
"api": {
"caption": "Endpoint per \"{name}\"",
"copyUrl": "Copia URL",
"urlCopied": "URL copiato",
"mintToken": "Genera token",
"mintAnotherToken": "Genera un altro token",
"mintFailed": "Impossibile generare un token.",
"copyFailed": "Impossibile copiare.",
"tokenCopied": "Token copiato",
"copyToken": "Copia token",
"mintedHint": "Copia questo token ora — viene mostrato una sola volta."
},
"edit": {
"planOption": "Modifica piano",
"advancedOption": "Impostazioni avanzate"
},
"advanced": {
"title": "Impostazioni avanzate",
"group": {
"data": "Dati",
"reminders": "Promemoria",
"lifecycle": "Ciclo di vita",
"externalApi": "API esterna"
},
"dataPortability": {
"import": {
"title": "Importa assunzioni",
"helper": "Carica le assunzioni passate da un file JSON o da JSON incollato.",
"button": "Importa JSON"
},
"export": {
"title": "Esporta farmaco",
"helper": "Scarica questo farmaco come file CSV.",
"includeIntake": "Includi cronologia delle assunzioni",
"button": "Esporta CSV"
}
}
},
"header": {
"historyLabel": "Visualizza cronologia assunzioni",
"advancedLabel": "Impostazioni avanzate"
},
"history": {
"back": "Torna al farmaco",
"subtitle": "Cronologia completa delle assunzioni",
"plannedSuffix": "pianificato"
}
},
"logInjectionSiteTitle": "Registra il sito di iniezione",
"logInjectionSiteDescription": "Dove hai iniettato {name}? Facoltativo — puoi saltarlo.",
"logInjectionSiteSkip": "Salta",
"logInjectionSiteConfirm": "Salva il sito",
"logInjectionSiteNoneAvailable": "Nessun sito di iniezione disponibile: tutti i siti sono esclusi nelle tue impostazioni.",
"logInjectionSiteSaveFailed": "Impossibile salvare il sito di iniezione. Riprova.",
"trackInjectionSitesToggle": "Registra i siti di iniezione",
"trackInjectionSitesHint": "Dopo l'assunzione di una dose, chiedi quale sito è stato usato e suggerisci la rotazione successiva.",
"allowedSitesLabel": "Siti consentiti",
"allowedSitesHint": "Lascia tutti selezionati per nessuna restrizione. I siti esclusi globalmente non vengono mai proposti."
},
"charts": {
"loadingLabel": "Caricamento del grafico…",
"loadingSlowHint": "Calcolo delle analisi — può richiedere un momento.",
"weight": "Peso",
"bloodPressure": "Pressione arteriosa",
"pulse": "Pulsazioni",
"bodyFat": "Massa grassa",
"sleep": "Sonno",
"steps": "Passi",
"hrv": "HRV",
"restingHeartRate": "FC a riposo",
"activeEnergy": "Energia attiva",
"flights": "Piani saliti",
"distance": "Distanza camminata + corsa",
"vo2Max": "VO₂ max",
"bodyTemperature": "Temperatura corporea",
"noData": "Nessun dato nel periodo selezionato",
"bucketWeekly": "Media settimanale",
"bucketMonthly": "Media mensile",
"points7Label": "7 pti",
"points7Title": "Ultimi 7 punti",
"points30Label": "30 pti",
"points30Title": "Ultimi 30 punti",
"points90Label": "90 pti",
"points90Title": "Ultimi 90 punti",
"pointsAllLabel": "Tutti",
"pointsAllTitle": "Tutti i punti disponibili",
"systolic": "Sistolica",
"diastolic": "Diastolica",
"bodyWater": "Acqua corporea",
"boneMass": "Massa ossea",
"spo2": "SpO₂",
"movingAverage7d": "Trend 7 giorni",
"avg7dShort": "7G",
"avg30dShort": "30G",
"trend7dShort": "Trend 7 giorni",
"trend": "Trend",
"perWeek": "/settimana",
"totalDelta": "Totale",
"colorGreen": "Verde:",
"colorOrange": "Arancione:",
"colorRed": "Rosso:",
"mood": "Umore",
"moodScore": "Punteggio umore",
"weekdays": {
"mon": "Lun",
"wed": "Mer",
"fri": "Ven",
"sun": "Dom"
},
"months": {
"jan": "Gen",
"feb": "Feb",
"mar": "Mar",
"apr": "Apr",
"may": "Mag",
"jun": "Giu",
"jul": "Lug",
"aug": "Ago",
"sep": "Set",
"oct": "Ott",
"nov": "Nov",
"dec": "Dic"
},
"heatmapOnTime": "in orario",
"heatmapLate": "in ritardo",
"heatmapVeryLate": "molto in ritardo",
"legendOnTime": "In orario",
"legendLate": "In ritardo",
"legendVeryLate": "Molto in ritardo",
"legendMissed": "Mancata",
"emptyStateTitle": "Registra altre misurazioni per vedere i trend",
"emptyStateDescription": "Registra almeno 3 voci per sbloccare la linea di tendenza.",
"needMoreDistinctDaysTitle": "Servono più giorni distinti",
"needMoreDistinctDaysDescription": "Registra in più giorni per sbloccare la linea di tendenza.",
"noDataInRangeTitle": "Nessun dato in questo intervallo",
"noDataInRangeDescription": "Nessuna misurazione rientra nell'intervallo selezionato. Cambia intervallo o registra una nuova misurazione.",
"sparseDataCaption": "Più giorni completeranno il trend.",
"personalBaseline": "La tua media",
"deltaVsBaseline": "{delta} vs. la tua media",
"deltaUnchanged": "corrisponde alla tua media",
"deltaVsTarget": "{delta} vs. obiettivo",
"weekdaysFull": {
"mon": "Lunedì",
"tue": "Martedì",
"wed": "Mercoledì",
"thu": "Giovedì",
"fri": "Venerdì",
"sat": "Sabato",
"sun": "Domenica"
},
"rangeBand": "Intervallo",
"selectRange": "Seleziona un intervallo"
},
"chart": {
"overlay": {
"controls": {
"title": "Sovrapposizioni del grafico",
"trendIndicator": "Trend 7 giorni",
"trendArrow": "Freccia di trend",
"targetRange": "Range obiettivo",
"comparisonBaseline": "Confronto",
"comparisonUnavailable": "Nessun periodo precedente disponibile",
"tooltip": {
"openSettings": "Impostazioni sovrapposizioni del grafico"
}
}
}
},
"comparison": {
"toggleLabel": "Confronta con",
"toggleHint": "Confronta il periodo attuale con lo stesso periodo dell’anno precedente.",
"baseline": {
"none": "Disattivato",
"lastMonth": "Mese precedente",
"lastYear": "Anno precedente"
},
"captionLastMonth": "vs. mese precedente",
"captionLastYear": "vs. anno precedente",
"deltaVs": {
"lastMonth": "{delta} vs. mese precedente",
"lastYear": "{delta} vs. anno precedente"
},
"tooltipPrior": "Periodo precedente",
"unavailable": {
"lastMonth": "Confronto non disponibile — nessun dato del mese precedente",
"lastYear": "Confronto non disponibile — nessun dato dell’anno precedente"
},
"notAvailableForCompliance": "Confronto non disponibile per l’aderenza"
},
"insights": {
"noAnalysisYet": "Ancora nessuna valutazione.",
"assessmentPreparing": "Preparazione della valutazione…",
"emptyTitle": "Dati ancora insufficienti",
"emptyDescription": "Gli insights compaiono appena registri qualche misurazione. Inizia da peso o pressione.",
"emptyAddMeasurement": "Registra misurazione",
"bmiEmptyTitle": "Aggiungi l’altezza per il BMI",
"bmiEmptyDescription": "Per il BMI serve la tua altezza. Salvala in Impostazioni → Account.",
"bmiEmptyAction": "Apri impostazioni account",
"noProviderConfigured": "Valutazione non disponibile.",
"startAnalysis": "Avvia valutazione",
"refreshAnalysis": "Aggiorna valutazione",
"keyTakeaway": "Ciò che conta",
"findingsTitle": "Riscontri",
"heroFindingPositive": "Riscontro principale",
"heroFindingNeutral": "Riscontro principale",
"heroFindingAttention": "Da tenere d’occhio",
"heroFindingWarning": "Avviso principale",
"correlationsTitle": "Correlazioni",
"recommendationsTitle": "Raccomandazioni",
"personalRecord": {
"badge": "PR",
"tooltip": "Record personale: {value} {unit} il {date}"
},
"recommendation": {
"source": "Fonte",
"viewSource": "Apri la linea guida in una nuova scheda",
"rationale": "Perché questo consiglio",
"rationaleWindow": "Finestra",
"rationaleComparedTo": "Confrontato con",
"rationaleDeviation": "Scostamento",
"rationaleExpand": "Mostra motivazione",
"rationaleCollapse": "Nascondi motivazione",
"legacyPayloadCta": "Insights aggiornati — rigenera per attivare le nuove spiegazioni",
"feedbackHelpful": "Utile",
"feedbackNotHelpful": "Poco utile",
"feedbackThanks": "Grazie per il riscontro",
"feedbackConfirmed": "Feedback salvato",
"feedbackAlreadyRated": "Già valutato",
"feedbackError": "Impossibile salvare il tuo riscontro. Riprova.",
"confidence": "Confidenza",
"confidenceAria": "Confidenza: {value} su 100",
"confidenceHigh": "Confidenza alta",
"confidenceMedium": "Confidenza media",
"confidenceLow": "Confidenza bassa — pochi dati",
"confidenceDraft": "Bozza"
},
"dataFoundation": "Base dati",
"dataGaps": "Lacune dati:",
"lastUpdated": "Ultimo aggiornamento",
"confidenceHoch": "Alta",
"confidenceMittel": "Media",
"confidenceGering": "Bassa",
"loadError": "Impossibile caricare le analisi",
"heroGenerated": "Generato {time}",
"heroPersonalBaseline": "Basato sugli ultimi 90 giorni",
"heroRegenerate": "Rigenera",
"heroRegenerating": "Generazione in corso",
"regenerateAnalysis": "Rigenera la valutazione",
"regenerateSuccess": "Valutazione rigenerata",
"warmStarted": "Le valutazioni vengono preparate in background",
"narrativeTitle": "Il tuo periodo in sintesi",
"narrativeWeek": "Questa settimana",
"narrativeMonth": "Questo mese",
"narrativePreparing": "Preparazione del riepilogo…",
"narrativeUpdating": "Aggiornamento…",
"narrativeUpdated": "Aggiornato {time}",
"narrativeProvenanceLabel": "Come è stato realizzato",
"narrativeProvenanceMethod": "Un riepilogo del periodo in linguaggio semplice, basato esclusivamente sui valori registrati e sulle associazioni che hanno superato il controllo statistico dei confronti multipli. Descrittivo, mai una causa.",
"narrativeProvenanceMetrics": "Basato su: {metrics}",
"narrativeProvenanceWindow": "Finestra: dal {from} al {to}",
"heroFallbackSubtitle": "Uno sguardo quotidiano ai tuoi trend — direttamente dai numeri che registri.",
"heroGreetingMorning": "Buongiorno",
"heroGreetingAfternoon": "Buon pomeriggio",
"heroGreetingEvening": "Buonasera",
"heroComingSoonTooltip": "In arrivo",
"heroActionAskCoach": "Chiedi al coach",
"healthScore": {
"label": "Punteggio di salute",
"progressAria": "Avanzamento del punteggio di salute",
"deltaVsLastWeek": "{delta} rispetto alla settimana scorsa",
"deltaUnavailable": "Ancora nessuno storico — ripassa la prossima settimana.",
"componentBp": "PA",
"componentWeight": "Peso",
"componentMood": "Umore",
"componentCompliance": "Aderenza",
"disclaimer": "Indicazione — non è una valutazione medica.",
"deltaExplainer": {
"trigger": "Cosa significa questa variazione?",
"title": "Come si calcola la variazione",
"description": "Variazione rispetto alla settimana scorsa: {delta}",
"body": "Il punteggio combina PA, peso, umore e aderenza. Confrontiamo il punteggio di oggi con quello dello stesso momento della settimana scorsa. Registra una nuova misurazione o una nota di umore per spingerlo verso l'alto."
},
"provenance": {
"toggle": "Composto da",
"weightLabel": "peso",
"mixedBanner": "Alcuni componenti combinano più fonti. Il dettaglio mostra il valore più recente per componente.",
"footnote": "I pesi sono ricalcolati in base ai dati effettivamente disponibili.",
"asOfLabel": "al {date}",
"provisional": "Provvisorio — solo {count} di {total} valori disponibili",
"provisionalBadge": "Provvisorio",
"sourceAria": "Fonte: {source}",
"sources": {
"manual": "Manuale",
"withings": "Withings",
"appleHealth": "Apple Health",
"mixed": "Misto",
"none": "Nessun dato"
}
}
},
"suggestedPrompts": {
"label": "Chiedimi",
"tellMyDoctor": "Cosa dovrei dire al mio medico?",
"medicationWorking": "Il mio farmaco sta funzionando?"
},
"dailyBriefing": {
"title": "Briefing del giorno",
"keyFindingsTitle": "Riscontri principali",
"emptyTitle": "Ancora nessun briefing",
"emptyDescription": "Genera il briefing di oggi per avere un riepilogo dei tuoi trend.",
"emptyAction": "Genera briefing",
"loadingLabel": "Preparazione del briefing"
},
"trendsRow": {
"title": "Tendenze",
"subtitle": "Gli ultimi 30 giorni a colpo d’occhio",
"caption": {
"bp": "Valori sistolici e diastolici degli ultimi 30 giorni.",
"weight": "Andamento del peso corporeo degli ultimi 30 giorni.",
"pulse": "Battito a riposo degli ultimi 30 giorni.",
"mood": "Punteggio giornaliero dell'umore degli ultimi 30 giorni.",
"sleep": "Durata del sonno notturno degli ultimi 30 giorni.",
"steps": "Conteggio giornaliero dei passi degli ultimi 30 giorni.",
"hrv": "Variabilità della frequenza cardiaca degli ultimi 30 giorni.",
"resting_hr": "Frequenza cardiaca a riposo degli ultimi 30 giorni.",
"active_energy": "Energia attiva bruciata negli ultimi 30 giorni.",
"flights": "Piani saliti negli ultimi 30 giorni.",
"distance": "Distanza a piedi e di corsa degli ultimi 30 giorni.",
"vo2_max": "VO₂ max degli ultimi 30 giorni.",
"body_temp": "Temperatura corporea degli ultimi 30 giorni."
}
},
"vo2Max": {
"statLatest": "Attuale",
"statMin": "Min",
"statMax": "Max",
"empty": "Ancora nessun dato VO₂ max — sincronizza Apple Health per riempire questa vista.",
"cardioLinkTitle": "Forma cardio (VO₂ max)",
"cardioLinkBody": "Il VO₂ max è la misura principale della forma aerobica. Il grafico completo e la valutazione sono nella loro pagina dedicata.",
"cardioLinkCta": "Apri forma cardio"
},
"trendAnnotation": {
"emptyBp": "Servono più dati per commentare questo trend.",
"emptyWeight": "Servono più dati per commentare questo trend.",
"emptyMood": "Servono più dati per commentare questo trend.",
"confidenceHigh": "Confidenza alta",
"confidenceModerate": "Confidenza media",
"confidenceLow": "Confidenza bassa",
"pendingLabel": "Commento di trend in generazione"
},
"range": {
"label": "Periodo",
"noPriorData": "nessun dato nel periodo precedente",
"option": {
"7d": "7g",
"30d": "30g",
"90d": "90g",
"1y": "1a"
},
"priorLabel": {
"7d": "vs 7g precedenti",
"30d": "vs 30g precedenti",
"90d": "vs 90g precedenti",
"1y": "vs anno precedente"
},
"noChange": "nessuna variazione"
},
"correlationRow": {
"title": "Correlazioni",
"disclaimer": "Le correlazioni sono osservazionali, non causali — parla con il medico se la pressione è alta.",
"experimentCta": "Avvia esperimento di 7 giorni",
"experimentTooltip": "In arrivo",
"emptyTitle": "Servono più dati per mostrare questa correlazione",
"sourceChip": "su {n} misurazioni appaiate · {window}",
"sourceWindowLast30": "Ultimi 30 giorni",
"confidenceHigh": "Confidenza alta",
"confidenceModerate": "Confidenza media",
"confidenceLow": "Confidenza bassa",
"card": {
"bpComplianceTitle": "PA × aderenza farmaci",
"bpComplianceSubtitle": "Sistolica giornaliera contro % di aderenza",
"moodPulseTitle": "Umore × pulsazioni a riposo",
"moodPulseSubtitle": "Umore e pulsazioni a riposo nello stesso giorno",
"weightWeekdayTitle": "Peso × giorno della settimana",
"weightWeekdaySubtitle": "Peso raggruppato per giorno della settimana"
}
},
"coach": {
"refusalOutOfScope": "Posso aiutarti solo con i dati di salute del tuo log — misurazioni, farmaci, umore, trend. Domande fuori da questo ambito non le rispondo.",
"refusalInjection": "Nel tuo messaggio ci sono istruzioni che cercano di sovrascrivere le mie indicazioni. Sono il coach di HealthLog e riassumo solo i tuoi dati di salute — riformula la domanda in questo perimetro.",
"errorBudget": "Hai raggiunto il limite giornaliero del coach. Il budget si reimposta a mezzanotte (UTC).",
"errorProvider": "Il coach non è riuscito a contattare un provider di analisi ora. Riprova fra poco.",
"errorNetwork": "Nessuna connessione Internet — riprova quando sei di nuovo online.",
"errorCredentialExpired": "La connessione al provider di IA è scaduta. Riconnettila nelle Impostazioni per mantenere attivo il Coach.",
"tagline": "Coach personale di salute, basato sui tuoi dati.",
"newChat": "Nuova chat",
"maximizeAriaLabel": "Apri a pagina intera",
"minimizeAriaLabel": "Torna al pannello",
"send": "Invia",
"stop": "Interrompi",
"thinking": "Sto pensando…",
"composerPlaceholder": "Chiedimi qualcosa sui tuoi dati…",
"composerHint": "Invio per inviare, Shift+Invio per una nuova riga.",
"composerDisclaimer": "Le risposte sono generate. Le decisioni cliniche restano al tuo medico.",
"voiceComingSoon": "L’input vocale arriva con l’app iOS in v1.5.",
"threadEmpty": "Chiedimi qualcosa sui tuoi trend, farmaci o misurazioni per iniziare.",
"historyTitle": "Conversazioni",
"historySearchPlaceholder": "Cerca nelle conversazioni…",
"historyEmpty": "Le tue conversazioni compaiono qui. Fai una domanda per iniziare.",
"historyDeleteAria": "Elimina conversazione",
"historyDeleteConfirm": "Eliminare questa conversazione? Non si può annullare.",
"sourcesTitle": "A cosa accedo",
"sourcesFresh": "Aggiornate",
"sourcesStale": "Datate",
"sourcesFooter": "Il coach legge solo i dati che hai collegato.",
"evidenceLabel": "Su cosa si basa?",
"metric": {
"bp": "Pressione arteriosa",
"weight": "Peso",
"pulse": "Polso",
"mood": "Umore",
"compliance": "Aderenza",
"general": "Generale",
"hrv": "HRV",
"sleep": "Sonno",
"resting_hr": "Pulsazioni a riposo",
"steps": "Passi",
"active_energy": "Energia attiva",
"flights": "Piani",
"distance": "Distanza",
"vo2_max": "VO₂ max",
"body_temp": "Temperatura corporea",
"medications": "Farmaci",
"anthropometrics": "Profilo (altezza, età, sesso)",
"walking_hr": "Frequenza cardiaca camminando",
"respiratory_rate": "Frequenza respiratoria",
"spo2": "Ossigeno nel sangue",
"pulse_wave_velocity": "Velocità dell'onda di polso",
"vascular_age": "Età vascolare",
"body_fat": "Grasso corporeo",
"fat_mass": "Massa grassa",
"fat_free_mass": "Massa magra",
"muscle_mass": "Massa muscolare",
"lean_body_mass": "Massa corporea magra",
"bone_mass": "Massa ossea",
"total_body_water": "Acqua corporea",
"bmi": "IMC",
"visceral_fat": "Grasso viscerale",
"glucose": "Glicemia",
"walking_steadiness": "Stabilità del cammino",
"walking_asymmetry": "Asimmetria del cammino",
"walking_double_support": "Tempo di doppio appoggio",
"walking_step_length": "Lunghezza del passo",
"walking_speed": "Velocità del cammino",
"audio_env": "Suono ambientale",
"audio_headphone": "Audio cuffie",
"audio_event": "Eventi sonori forti",
"daylight": "Tempo alla luce del giorno",
"skin_temp": "Temperatura cutanea",
"workouts": "Allenamenti"
},
"window": {
"last7days": "Ultimi 7 giorni",
"last30days": "Ultimi 30 giorni",
"last90days": "Ultimi 90 giorni",
"lastYear": "anno in corso",
"allTime": "Tutto il tempo"
},
"windowLabel": "Periodo",
"settingsAriaLabel": "Impostazioni del coach",
"settingsTitle": "Impostazioni del coach",
"settingsDescription": "Imposta come il coach ti parla.",
"settingsToneLabel": "Tono",
"settingsToneWarm": "Caloroso",
"settingsToneNeutral": "Neutro",
"settingsToneConcise": "Conciso",
"settingsVerbosityLabel": "Lunghezza della risposta",
"settingsVerbosityBrief": "Breve",
"settingsVerbosityDefault": "Standard",
"settingsVerbosityDetailed": "Dettagliata",
"settingsExcludeLabel": "Escludi metriche",
"settingsExcludeHint": "Il coach non vede i dati delle metriche selezionate.",
"settingsEvidenceLabel": "Mostra le evidenze per default",
"settingsEvidenceHint": "Apre automaticamente il riquadro delle evidenze sotto ogni risposta.",
"settingsDefaultWindowLabel": "Periodo di analisi predefinito",
"settingsDefaultWindowHint": "Il coach legge questo periodo per chat, salvo che tu non scelga diversamente nell’intestazione del drawer.",
"settingsSave": "Salva",
"settingsSaved": "Salvato.",
"settingsCancel": "Annulla",
"feedbackHelpful": "Utile",
"feedbackUnhelpful": "Poco utile",
"feedbackThanks": "Grazie per il segnale.",
"dailyLimitTitle": "Limite giornaliero raggiunto",
"dailyLimitBody": "Limite giornaliero raggiunto; reset alle 00:00 UTC.",
"providerRateLimitTitle": "Provider con rate-limit",
"providerRateLimitBody": "Il provider è temporaneamente sovraccarico; reset in ~5 min.",
"settingsContextLabel": "Invia contesto",
"settingsContextHint": "Blocchi opzionali su cui il coach può basarsi. Disattivandone uno, viene omesso da ogni risposta.",
"cluster": {
"cardio": {
"label": "Cardiovascolare",
"hint": "Pressione · polso · HRV · FC riposo e cammino"
},
"body": {
"label": "Composizione corporea",
"hint": "Peso · grasso · muscoli · IMC"
},
"activity": {
"label": "Attività",
"hint": "Passi · energia · distanza · VO₂ max"
},
"workouts": {
"label": "Allenamenti",
"hint": "Corse · uscite · sessioni"
},
"sleep": {
"label": "Sonno",
"hint": "Durata · fasi"
},
"mood": {
"label": "Umore",
"hint": "Voci di umore giornaliere"
},
"glucose": {
"label": "Glicemia",
"hint": "Valori a digiuno e postprandiali"
},
"medication": {
"label": "Farmaci",
"hint": "Aderenza · contesto GLP-1"
},
"mobility": {
"label": "Mobilità e andatura",
"hint": "Stabilità · asimmetria · andatura"
},
"environment": {
"label": "Ambiente",
"hint": "Rumore · luce · temp. cutanea"
}
},
"settingsClustersLabel": "Dati che il Coach vede",
"settingsClustersHint": "Scegli quali gruppi di dati il Coach può leggere. Più dati significano risposte più ricche e un prompt più grande.",
"settingsClusterNoData": "Ancora nessun dato",
"sourcesMemberCount": "{count} metriche"
},
"relativeJustNow": "proprio ora",
"relativeMinutesAgoOne": "{count} minuto fa",
"relativeMinutesAgoOther": "{count} minuti fa",
"relativeHoursAgoOne": "{count} ora fa",
"relativeHoursAgoOther": "{count} ore fa",
"relativeDaysAgoOne": "{count} giorno fa",
"relativeDaysAgoOther": "{count} giorni fa",
"navOverview": "Panoramica",
"navBloodPressure": "Pressione arteriosa",
"navWeight": "Peso",
"navPulse": "Polso",
"navMood": "Umore",
"navMedication": "Farmaco",
"navBmi": "IMC",
"navSleep": "Sonno",
"navHrv": "HRV",
"navRestingHr": "FC riposo",
"navOxygenSaturation": "Ossigeno",
"navBodyTemperature": "Temperatura",
"navActiveEnergy": "Energia attiva",
"navAriaLabel": "Vai alla sezione",
"tabStrip": {
"vitalsParent": {
"label": "Vitali",
"header": "Parametri vitali"
},
"bodyParent": {
"label": "Corpo",
"header": "Composizione corporea"
},
"activityParent": {
"label": "Attività",
"header": "Attività e mobilità"
},
"cardiovascularParent": {
"label": "Cardiovascolare",
"header": "Marcatori cardiovascolari"
},
"hearingParent": {
"label": "Udito",
"header": "Udito ed esposizione sonora"
},
"environmentParent": {
"label": "Ambiente",
"header": "Ambiente"
},
"metabolicParent": {
"label": "Metabolico",
"header": "Metabolico"
}
},
"hrv": {
"title": "HRV",
"description": "Variabilità della frequenza cardiaca nel tempo — segnale di recupero del sistema nervoso, captato di notte da Apple Watch e altri wearable compatibili.",
"chartTitle": "Variabilità della frequenza cardiaca",
"emptyState": {
"title": "Ancora nessun valore HRV",
"description": "I valori HRV appariranno qui non appena Apple Watch (o un dispositivo Withings compatibile) sincronizza le misurazioni notturne."
}
},
"restingHr": {
"title": "FC a riposo",
"description": "Il livello cardiaco di base sulla giornata — distinto dalle frequenze puntuali della pagina Polso. Apple Salute fornisce un valore al giorno.",
"chartTitle": "Frequenza cardiaca a riposo",
"emptyState": {
"title": "Ancora nessuna FC a riposo",
"description": "La FC a riposo arriva quando Apple Watch o un Withings compatibile ha indossato una giornata tranquilla."
}
},
"oxygenSaturation": {
"title": "Saturazione di ossigeno",
"description": "Ossigeno nel sangue (SpO₂) — intervallo clinico normale 95–100 %, con zone obiettivo ombreggiate sul grafico.",
"chartTitle": "Saturazione di ossigeno",
"emptyState": {
"title": "Ancora nessun campione SpO₂",
"description": "I campioni SpO₂ appariranno qui non appena un wearable compatibile (Apple Watch, Withings ScanWatch) cattura una lettura."
}
},
"bodyTemperature": {
"title": "Temperatura corporea",
"description": "Andamento della temperatura corporea centrale in Celsius. La temperatura cutanea di Withings vive su una metrica separata.",
"chartTitle": "Temperatura corporea",
"emptyState": {
"title": "Ancora nessuna temperatura corporea",
"description": "Registra una misura o lascia che il tuo wearable ne sincronizzi una — l'andamento apparirà qui.",
"cta": "Registra temperatura corporea"
}
},
"activeEnergy": {
"title": "Energia attiva",
"description": "Totale giornaliero di energia attiva in kilocalorie — una riga al giorno, da Apple Salute o dall'attività Withings.",
"chartTitle": "Energia attiva",
"emptyState": {
"title": "Ancora nessun dato di energia attiva",
"description": "I totali di energia attiva appariranno qui non appena Apple Salute o un dispositivo di attività Withings sincronizza un'intera giornata."
}
},
"subPage": {
"loadError": "Impossibile caricare questa metrica al momento.",
"blutdruckDescription": "Il tuo andamento sistolico/diastolico con range obiettivo adattati all’età e una valutazione testuale.",
"gewichtDescription": "Andamento del peso rispetto alla fascia sana derivata dalla tua altezza, con valutazione.",
"pulsDescription": "Resting pulse vs. the personalised Karvonen target band, plus a written assessment.",
"stimmungDescription": "Valori giornalieri di umore nel tempo, con una valutazione testuale.",
"stimmungEmptyTitle": "Registra il primo umore",
"stimmungEmptyDescription": "Gli insights dell’umore compaiono appena registri qualche voce. Tocca sotto per iniziare.",
"stimmungEmptyAction": "Apri diario umore",
"medikamenteDescription": "Calendario delle assunzioni per farmaco e una valutazione testuale.",
"medikamenteEmptyTitle": "Aggiungi il primo farmaco",
"medikamenteEmptyDescription": "Gli insights di aderenza richiedono almeno un farmaco registrato.",
"medikamenteEmptyAction": "Apri farmaci",
"bmiDescription": "BMI derivato dal tuo peso e dalla tua altezza, con valutazione.",
"target": {
"adjustLink": "Modifica l'intervallo obiettivo"
},
"primary": {
"avg30Label": "Media a 30 giorni",
"inRangeLabel": "Nell'obiettivo",
"inRangeAria": "{pct}% dei giorni registrati nell'obiettivo"
},
"lastMeasurement": {
"label": "Ultima misurazione"
},
"explainer": {
"trigger": "Che cos'è {title}?",
"bloodPressureTitle": "Pressione arteriosa",
"bloodPressureBody": "La pressione arteriosa è la forza che il sangue esercita sulle pareti delle arterie, indicata come sistolica su diastolica (il picco durante un battito sul valore a riposo tra i battiti). Valori costantemente alti affaticano il cuore e i vasi nel tempo.",
"pulseTitle": "Polso",
"pulseBody": "Il polso indica quante volte il cuore batte al minuto. Una misurazione singola riflette ciò che stavi facendo in quel momento: a riposo è di solito tra 60 e 100 battiti al minuto e aumenta naturalmente con il movimento, lo stress o la caffeina.",
"weightTitle": "Peso",
"weightBody": "Il peso corporeo è uno dei segnali più semplici dell'equilibrio energetico a lungo termine e della salute generale. L'andamento nelle settimane conta molto più di una singola misurazione, che varia con l'idratazione, il cibo e l'ora del giorno.",
"bmiTitle": "Indice di massa corporea (IMC)",
"bmiBody": "L'IMC è il peso diviso per l'altezza al quadrato, un singolo numero che ti colloca in un'ampia categoria di peso. È uno screening di popolazione, non una diagnosi, e non distingue il muscolo dal grasso.",
"sleepTitle": "Sonno",
"sleepBody": "La durata del sonno è quanto hai effettivamente dormito nella notte, suddivisa in fasi leggera, profonda e REM. La maggior parte degli adulti necessita di circa sette-nove ore; quantità e qualità costanti favoriscono recupero, umore e metabolismo.",
"moodTitle": "Umore",
"moodBody": "Il monitoraggio dell'umore registra come ti senti nel tempo su una scala semplice. Annotarlo con regolarità rivela schemi — come sonno, attività o farmaci si allineano a come ti senti — che un singolo giorno non mostra mai.",
"medicationsTitle": "Aderenza alla terapia",
"medicationsBody": "L'aderenza misura quanto regolarmente assumi i farmaci come prescritto, qui come quota delle dosi previste che hai registrato. Un'assunzione costante è spesso ciò che fa funzionare una terapia come previsto.",
"restingHrTitle": "Frequenza cardiaca a riposo",
"restingHrBody": "La frequenza cardiaca a riposo è il battito quando sei completamente a riposo, di solito misurato durante la notte. Una frequenza più bassa indica in genere una migliore forma cardiovascolare, mentre un andamento in aumento può essere un segnale precoce di stress o malattia.",
"hrvTitle": "Variabilità della frequenza cardiaca (HRV)",
"hrvBody": "L'HRV è la piccola variazione del tempo tra battiti consecutivi. Una variabilità più alta riflette di solito un sistema nervoso ben recuperato e adattabile, mentre un calo prolungato può segnalare affaticamento, stress o recupero insufficiente.",
"oxygenSaturationTitle": "Saturazione di ossigeno (SpO₂)",
"oxygenSaturationBody": "La SpO₂ è la percentuale di globuli rossi che trasportano ossigeno. Valori tra 95 e 100% sono normali a riposo; valori che restano sotto il 90% meritano attenzione, anche se brevi cali notturni sono comuni.",
"bodyTemperatureTitle": "Temperatura corporea",
"bodyTemperatureBody": "La temperatura corporea riflette il tuo stato termico centrale, normalmente intorno ai 37 °C con piccole oscillazioni giornaliere. Un aumento prolungato può indicare un'infezione, mentre le misurazioni notturne al polso seguono soprattutto variazioni relative, non un valore clinico.",
"activeEnergyTitle": "Energia attiva",
"activeEnergyBody": "L'energia attiva sono le calorie che bruci con il movimento, oltre al consumo di base a riposo. È una misura diretta di quanto è stata fisicamente attiva la tua giornata.",
"workoutsTitle": "Allenamenti",
"workoutsBody": "Gli allenamenti sono le sessioni di esercizio strutturato che i tuoi dispositivi registrano, con tipo, durata ed energia. Tracciarli mostra come l'allenamento regolare si accumula nel corso delle settimane e come si collega agli altri segnali di salute.",
"respiratoryRateTitle": "Frequenza respiratoria",
"respiratoryRateBody": "La frequenza respiratoria è il numero di respiri che fai al minuto. A riposo la maggior parte degli adulti respira circa dodici-venti volte al minuto; un aumento prolungato può accompagnare malattia, sforzo o stress.",
"bodyWaterTitle": "Acqua corporea totale",
"bodyWaterBody": "L'acqua corporea totale è la quota del tuo peso costituita da liquido, dentro e intorno alle cellule. Varia con l'idratazione, l'alimentazione e l'attività, quindi l'andamento nelle settimane dice più di una singola misura.",
"boneMassTitle": "Massa ossea",
"boneMassBody": "La massa ossea è il peso stimato dei minerali del tuo scheletro. Le stime da bilancia sono approssimative, ma un andamento stabile o in aumento sostiene la robustezza ossea a lungo termine.",
"fatFreeMassTitle": "Massa magra",
"fatFreeMassBody": "La massa magra è tutto ciò che nel corpo non è grasso: muscoli, ossa, organi e acqua. Mantenerla o aumentarla mentre si perde peso indica di solito una composizione corporea più sana.",
"fatMassTitle": "Massa grassa",
"fatMassBody": "La massa grassa è il peso totale del grasso nel corpo. Un po' di grasso è essenziale per gli ormoni e le riserve di energia, ma un eccesso — soprattutto sull'addome — aumenta il rischio per la salute a lungo termine.",
"muscleMassTitle": "Massa muscolare",
"muscleMassBody": "La massa muscolare è il peso stimato dei muscoli del corpo. Più muscolo sostiene forza, metabolismo e mobilità, e di solito richiede impegno attivo per essere mantenuto con l'età.",
"visceralFatTitle": "Grasso viscerale",
"visceralFatBody": "Il grasso viscerale è il grasso depositato in profondità nell'addome, intorno agli organi. A differenza del grasso sottocutaneo, un livello elevato è strettamente legato a malattie cardiache e diabete di tipo 2, quindi più basso è in genere meglio.",
"leanBodyMassTitle": "Massa magra corporea",
"leanBodyMassBody": "La massa magra corporea è il peso totale meno il grasso: muscoli, ossa, organi e acqua insieme. Seguirla accanto al peso mostra se i cambiamenti derivano dal muscolo o dal grasso.",
"flightsClimbedTitle": "Piani saliti",
"flightsClimbedBody": "I piani saliti contano i livelli che sali ogni giorno, dove un piano corrisponde a circa tre metri di dislivello. È un indicatore semplice dell'attività quotidiana e dello sforzo degli arti inferiori.",
"walkingDistanceTitle": "Distanza a piedi e di corsa",
"walkingDistanceBody": "La distanza a piedi e di corsa è il percorso che copri a piedi ogni giorno. Integra il conteggio dei passi mostrando quanto ti sei mosso, non solo quanto spesso hai mosso il passo.",
"walkingSteadinessTitle": "Stabilità del cammino",
"walkingSteadinessBody": "La stabilità del cammino stima quanto è stabile ed equilibrata la tua andatura, classificata da buona a bassa. Un livello basso indica una maggiore probabilità di caduta ed è opportuno parlarne con un medico.",
"walkingHeartRateTitle": "Frequenza cardiaca in camminata",
"walkingHeartRateBody": "La frequenza cardiaca in camminata è il battito medio durante una camminata costante. Un valore più basso nel tempo riflette spesso una migliore forma cardiovascolare a parità di sforzo.",
"walkingAsymmetryTitle": "Asimmetria del cammino",
"walkingAsymmetryBody": "L'asimmetria del cammino è la quota di tempo in cui i tuoi passi sono diseguali tra gamba sinistra e destra. Una percentuale più alta può indicare dolore, un infortunio o un problema di andatura da approfondire.",
"doubleSupportTimeTitle": "Tempo di doppio appoggio",
"doubleSupportTimeBody": "Il tempo di doppio appoggio è la quota di ogni ciclo del passo in cui entrambi i piedi toccano terra contemporaneamente. Una percentuale più alta indica di solito un'andatura più prudente e meno stabile.",
"stepLengthTitle": "Lunghezza del passo",
"stepLengthBody": "La lunghezza del passo è la distanza media da un appoggio del piede al successivo. Un passo più corto nel tempo può riflettere stanchezza, prudenza o un cambiamento nella mobilità.",
"walkingSpeedTitle": "Velocità del cammino",
"walkingSpeedBody": "La velocità del cammino è quanto rapidamente ti muovi in piano. È un marcatore ben studiato della salute generale e della mobilità, e un ritmo stabile o in aumento è un buon segno.",
"pulseWaveVelocityTitle": "Velocità dell'onda di polso",
"pulseWaveVelocityBody": "La velocità dell'onda di polso misura la rapidità con cui l'onda di pressione di ogni battito percorre le arterie. Un'onda più veloce indica arterie più rigide, associate a un rischio cardiovascolare più alto.",
"vascularAgeTitle": "Età vascolare",
"vascularAgeBody": "L'età vascolare stima quanto si comportano vecchie le tue arterie rispetto alla tua età reale, in base alla rigidità arteriosa. Un'età vascolare inferiore a quella reale suggerisce vasi sanguigni più sani.",
"environmentalAudioTitle": "Livelli sonori ambientali",
"environmentalAudioBody": "I livelli sonori ambientali rilevano il volume dell'ambiente intorno a te in decibel. Un'esposizione prolungata sopra i 70 dB circa può danneggiare l'udito nel tempo, quindi medie giornaliere più basse sono più sicure.",
"headphoneAudioTitle": "Livelli audio in cuffia",
"headphoneAudioBody": "I livelli audio in cuffia rilevano in decibel quanto forte ascolti con auricolari o cuffie. Tenere basso il volume e fare pause protegge l'udito nel lungo periodo.",
"audioEventsTitle": "Eventi sonori intensi",
"audioEventsBody": "Gli eventi sonori intensi segnalano i momenti in cui il rumore intorno a te ha raggiunto un livello che può danneggiare l'udito con esposizione sufficiente. Eventi frequenti sono un invito a cercare un ambiente più silenzioso o protezioni acustiche.",
"daylightTitle": "Tempo alla luce del giorno",
"daylightBody": "Il tempo alla luce del giorno è quanto trascorri sotto la luce esterna ogni giorno. La luce diurna regolare sostiene un sano ritmo sonno-veglia e l'umore, e il tempo all'aperto è collegato alla salute degli occhi.",
"bloodGlucoseTitle": "Glicemia",
"bloodGlucoseBody": "La glicemia è la quantità di zucchero nel sangue, la principale fonte di energia del corpo. Sale dopo i pasti e si stabilizza tra un pasto e l'altro; valori che restano alti nel tempo possono indicare diabete o prediabete.",
"skinTemperatureTitle": "Temperatura cutanea",
"skinTemperatureBody": "La temperatura cutanea qui è la piccola variazione notturna della temperatura del polso rispetto al tuo valore di riferimento, non una misura assoluta della febbre. Le variazioni possono seguire sonno, ambiente, malattia o fase del ciclo mestruale.",
"cardioFitnessTitle": "Forma cardio (VO₂ max)",
"cardioFitnessBody": "Il VO₂ max indica quanto ossigeno il tuo corpo riesce a utilizzare al massimo sforzo. È il miglior marcatore di laboratorio della forma aerobica e un valore più alto o in aumento è un buon segno di salute cardiovascolare.",
"cardioRecoveryTitle": "Recupero cardiaco",
"cardioRecoveryBody": "Il recupero cardiaco è di quanti battiti al minuto cala la frequenza cardiaca nel primo minuto dopo aver interrotto uno sforzo intenso. Un calo maggiore significa che il cuore si calma più in fretta, segno di buona forma fisica.",
"wristTemperatureTitle": "Temperatura del polso",
"wristTemperatureBody": "La temperatura del polso viene misurata mentre dormi. Apple la mostra come differenza dal tuo valore di riferimento; un valore stabile è normale, mentre un aumento prolungato può indicare malattia, allenamento intenso o un cambiamento del ciclo.",
"fallsTitle": "Cadute",
"fallsBody": "Qui vengono contate le cadute forti rilevate dal tuo Apple Watch. L'obiettivo è zero; un numero in aumento è un segnale di rischio di mobilità da segnalare a un medico, soprattutto per le persone anziane.",
"sixMinuteWalkTitle": "Distanza nel cammino di 6 minuti",
"sixMinuteWalkBody": "È la stima di Apple di quanto potresti camminare in sei minuti, un classico test clinico di mobilità e resistenza cardiopolmonare. Una distanza stabile o in aumento è un buon segno.",
"stairAscentSpeedTitle": "Velocità in salita scale",
"stairAscentSpeedBody": "È la velocità con cui sali una rampa di scale. È un marcatore sensibile di forza delle gambe e mobilità: un ritmo stabile o in aumento è un buon segno, mentre uno in calo va tenuto d'occhio.",
"stairDescentSpeedTitle": "Velocità in discesa scale",
"stairDescentSpeedBody": "È la velocità con cui scendi una rampa di scale. Insieme alla velocità in salita riflette il controllo delle gambe e l'equilibrio: un ritmo stabile è un buon segno, mentre uno in calo va tenuto d'occhio.",
"breathingDisturbancesTitle": "Disturbi respiratori nel sonno",
"breathingDisturbancesBody": "Il tuo Apple Watch può stimare quanto spesso la respirazione si è interrotta durante il sonno. Un indice più basso è migliore; un livello che Apple segnala come elevato, soprattutto su molte notti, andrebbe segnalato a un medico."
},
"stats": {
"label": "Statistiche riepilogative",
"min": "Min",
"max": "Max",
"median": "Mediana",
"mean": "Media",
"selectedRange": "Intervallo selezionato"
},
"showAllValues": "Mostra tutte le misurazioni",
"valuesPageTitle": "{metric} — tutte le misurazioni",
"valuesPageDescription": "Ogni misurazione dietro questa metrica. Modifica o rimuovi una voce direttamente.",
"diversity": {
"trigger": "Suggerimento di misurazione",
"weekday": "La maggior parte delle tue misurazioni di {metric} cade in un solo giorno della settimana. Registrare in altri giorni offre un quadro più completo.",
"timeOfDay": "La maggior parte delle tue misurazioni di {metric} cade in un orario simile della giornata. Variare l'orario offre un quadro più completo."
},
"valuesBack": "Torna a Insights",
"valuesBackToMetric": "Torna a {metric}",
"scoresBack": "Torna a Insights"
},
"sleep": {
"title": "Sonno",
"description": "Suddivisione per fasi e durata notturna, da Apple Health.",
"headlineTitle": "Media per notte",
"headlineCaption": "Mediato su {count} notti — {suffix}",
"headlineCaptionSuffix": "per notte",
"compositionTitle": "Distribuzione delle fasi",
"compositionSubtitle": "Ultime {nights} notti",
"compositionAriaLabel": "Distribuzione delle fasi del sonno su {nights} notti",
"hypnogram": {
"title": "Ultima notte",
"subtitle": "{asleep} di sonno",
"ariaLabel": "Andamento delle fasi del sonno dell'ultima notte: {asleep} di sonno, {awakenings} risvegli",
"asleepTotal": "Sonno {value}",
"inBedTotal": "A letto {value}",
"awakenings": "{count} risvegli"
},
"stages": {
"deep": "Profondo",
"rem": "REM",
"core": "Leggero",
"asleep": "Addormentato",
"awake": "Sveglio",
"inBed": "A letto",
"unavailable": "Ancora nessun dato sulle fasi — la sync delle fasi via Apple Health arriva con v1.5."
},
"empty": {
"title": "Ancora nessun dato sul sonno",
"description": "La sync con Apple Health arriva con v1.5 e riempirà questa vista in automatico.",
"action": "Gestisci dispositivi"
}
},
"correlations": "Correlazioni",
"medicationCompliance": "Aderenza ai farmaci",
"dayStreak": "{count} giorni di serie",
"compliance7d": "Aderenza 7 giorni",
"compliance30d": "Aderenza 30 giorni",
"taken": "Assunta",
"skipped": "Saltata",
"missed": "Persa",
"generalStatusBadge": {
"good": "Bene",
"watch": "Osservare",
"critical": "Critico"
},
"assessmentTitle": "Valutazione",
"assessmentShowMore": "Mostra altro",
"assessmentShowLess": "Mostra meno",
"bloodPressureSectionTitle": "Pressione arteriosa",
"weightSectionTitle": "Peso",
"pulseSectionTitle": "Polso",
"bmiSectionTitle": "IMC",
"complianceNoData": "Nessun dato di aderenza disponibile",
"generate": "Genera nuova analisi",
"moodSectionTitle": "Umore",
"confidence": "Confidenza",
"cached": "In cache",
"emptyState": {
"bloodPressure": {
"title": "Nessuna misurazione della pressione",
"description": "Registra una misurazione e qui appariranno l'andamento, la percentuale in target e la classificazione OMS.",
"cta": "Registra pressione"
},
"weight": {
"title": "Nessuna misurazione del peso",
"description": "Registra un peso: andamento, media mobile e fascia obiettivo appariranno automaticamente.",
"cta": "Registra peso"
},
"pulse": {
"title": "Nessuna misurazione del polso",
"description": "Registra una misurazione: polso a riposo, HRV e VO₂ max appariranno in questa vista.",
"cta": "Registra polso"
},
"bmi": {
"title": "BMI non ancora calcolato",
"description": "Una volta inseriti altezza e almeno un peso, qui apparirà l'andamento del BMI con le zone OMS.",
"cta": "Registra peso"
},
"mood": {
"title": "Nessuna voce d'umore",
"description": "Registra un umore: appariranno andamento, fascia di stabilità e correlazioni.",
"cta": "Registra umore"
},
"medication": {
"title": "Nessun farmaco configurato",
"description": "Configura un farmaco: aderenza, livello plasmatico e titolazione appariranno qui.",
"cta": "Aggiungi farmaco"
},
"sleep": {
"title": "Nessuna voce di sonno",
"description": "Quando saranno disponibili dati sul sonno (manuale o tramite Withings / Apple Health), qui apparirà la suddivisione per fase.",
"cta": "Collega Withings"
}
},
"navWorkouts": "Allenamenti",
"workouts": {
"title": "Allenamenti",
"description": "Corse, uscite in bici, camminate e sessioni di forza recenti, deduplicati tra Apple Watch e Withings.",
"emptyState": {
"title": "Nessun allenamento",
"description": "Apri l'app Salute di Apple sull'iPhone per sincronizzare gli allenamenti. L'import di attività di Withings porta dentro anche camminate e uscite in bici."
},
"row": {
"duration": "Durata",
"distance": "Distanza",
"energy": "Energia attiva"
},
"detail": {
"backToList": "Torna agli allenamenti",
"statsTitle": "Statistiche",
"statsDuration": "Durata",
"statsDistance": "Distanza",
"statsActiveEnergy": "Energia attiva",
"statsAvgHr": "FC media",
"statsMaxHr": "FC max",
"statsMinHr": "FC min",
"statsStepCount": "Passi",
"statsElevation": "Dislivello",
"statsPace": "Passo",
"statsSource": "Fonte",
"routeTitle": "Percorso",
"routeUnavailable": "Nessun tracciato GPS registrato per questo allenamento.",
"hrChartTitle": "Frequenza cardiaca",
"hrChartUnavailable": "I campioni di frequenza cardiaca al secondo non vengono salvati per questo allenamento.",
"notFound": "Allenamento non trovato.",
"loading": "Caricamento allenamento…"
},
"sport": {
"walking": "Camminata",
"running": "Corsa",
"cycling": "Bici",
"hiking": "Escursionismo",
"swimming": "Nuoto",
"rowing": "Canottaggio",
"elliptical": "Ellittica",
"stairClimber": "Stepper",
"yoga": "Yoga",
"mindAndBody": "Mente e corpo",
"strength": "Forza",
"hiit": "HIIT",
"dance": "Danza",
"golf": "Golf",
"tennis": "Tennis",
"basketball": "Pallacanestro",
"soccer": "Calcio",
"crossTraining": "Cross-training",
"mixedCardio": "Cardio misto",
"other": "Altro"
}
},
"bloodGlucose": {
"title": "Glicemia",
"description": "Le tue letture di glicemia nel tempo, in mg/dL.",
"chartTitle": "Glicemia",
"emptyState": {
"title": "Nessun dato di glicemia",
"description": "Le letture di glicemia appaiono qui quando ne registri una o un dispositivo si sincronizza."
}
},
"navBloodGlucose": "Glucosio",
"totalBodyWater": {
"title": "Acqua corporea totale",
"description": "La tua acqua corporea totale nel tempo, in chilogrammi.",
"chartTitle": "Acqua corporea totale",
"emptyState": {
"title": "Nessun dato di acqua corporea",
"description": "Le letture di acqua corporea appaiono qui quando una bilancia impedenziometrica si sincronizza."
}
},
"navTotalBodyWater": "Acqua corporea",
"boneMass": {
"title": "Massa ossea",
"description": "La tua massa ossea nel tempo, in chilogrammi.",
"chartTitle": "Massa ossea",
"emptyState": {
"title": "Nessun dato di massa ossea",
"description": "Le letture di massa ossea appaiono qui quando una bilancia impedenziometrica si sincronizza."
}
},
"navBoneMass": "Massa ossea",
"flightsClimbed": {
"title": "Piani saliti",
"description": "Rampe di scale salite ogni giorno.",
"chartTitle": "Piani saliti al giorno",
"emptyState": {
"title": "Nessun dato sui piani",
"description": "I totali dei piani appaiono qui quando Apple Health sincronizza una giornata."
}
},
"navFlightsClimbed": "Piani",
"walkingRunningDistance": {
"title": "Distanza camminata + corsa",
"description": "Distanza di cammino e corsa percorsa ogni giorno, in chilometri.",
"chartTitle": "Distanza al giorno",
"emptyState": {
"title": "Nessun dato di distanza",
"description": "La distanza giornaliera appare qui quando Apple Health sincronizza una giornata."
}
},
"navWalkingRunningDistance": "Distanza",
"fatFreeMass": {
"title": "Massa magra",
"description": "La tua massa magra nel tempo, in chilogrammi.",
"chartTitle": "Massa magra",
"emptyState": {
"title": "Nessun dato",
"description": "Le letture appaiono qui quando una bilancia impedenziometrica si sincronizza."
}
},
"navFatFreeMass": "Massa magra",
"fatMass": {
"title": "Massa grassa",
"description": "La tua massa grassa nel tempo, in chilogrammi.",
"chartTitle": "Massa grassa",
"emptyState": {
"title": "Nessun dato di massa grassa",
"description": "Le letture appaiono qui quando una bilancia impedenziometrica si sincronizza."
}
},
"navFatMass": "Massa grassa",
"muscleMass": {
"title": "Massa muscolare",
"description": "La tua massa muscolare nel tempo, in chilogrammi.",
"chartTitle": "Massa muscolare",
"emptyState": {
"title": "Nessun dato muscolare",
"description": "Le letture appaiono qui quando una bilancia impedenziometrica si sincronizza."
}
},
"navMuscleMass": "Massa muscolare",
"skinTemperature": {
"title": "Temperatura cutanea",
"description": "La temperatura cutanea del polso nel tempo, in gradi Celsius.",
"chartTitle": "Temperatura cutanea",
"emptyState": {
"title": "Nessun dato",
"description": "Le letture appaiono qui quando un dispositivo sincronizza la temperatura notturna."
}
},
"navSkinTemperature": "Temp. pelle",
"pulseWaveVelocity": {
"title": "Velocità dell’onda di polso",
"description": "La tua velocità dell’onda di polso arteriosa nel tempo, in m/s — valori più alti indicano arterie più rigide.",
"chartTitle": "Velocità dell’onda di polso",
"emptyState": {
"title": "Nessun dato",
"description": "Le letture appaiono qui quando un dispositivo Withings compatibile si sincronizza."
}
},
"navPulseWaveVelocity": "Velocità onda di polso",
"vascularAge": {
"title": "Età vascolare",
"description": "La tua età vascolare stimata nel tempo, in anni.",
"chartTitle": "Età vascolare",
"emptyState": {
"title": "Nessun dato",
"description": "Le stime appaiono qui quando un dispositivo Withings compatibile si sincronizza."
}
},
"navVascularAge": "Età vascolare",
"visceralFat": {
"title": "Grasso viscerale",
"description": "Il tuo indice di grasso viscerale nel tempo.",
"chartTitle": "Grasso viscerale",
"emptyState": {
"title": "Nessun dato",
"description": "Gli indici appaiono qui quando una bilancia impedenziometrica compatibile si sincronizza."
}
},
"navVisceralFat": "Grasso viscerale",
"audioExposureEnv": {
"title": "Audio ambientale",
"description": "La tua esposizione media giornaliera al suono ambientale, in dBA.",
"chartTitle": "Esposizione al suono ambientale",
"emptyState": {
"title": "Nessun dato",
"description": "I livelli sonori appaiono qui quando Apple Health si sincronizza."
}
},
"navAudioExposureEnv": "Audio ambientale",
"audioExposureHeadphone": {
"title": "Audio cuffie",
"description": "La tua esposizione media giornaliera con le cuffie, in dBA.",
"chartTitle": "Esposizione cuffie",
"emptyState": {
"title": "Nessun dato",
"description": "I livelli appaiono qui quando Apple Health si sincronizza."
}
},
"navAudioExposureHeadphone": "Audio cuffie",
"timeInDaylight": {
"title": "Tempo alla luce del giorno",
"description": "Minuti trascorsi alla luce del giorno ogni giorno.",
"chartTitle": "Luce diurna al giorno",
"emptyState": {
"title": "Nessun dato",
"description": "I totali appaiono qui quando Apple Health sincronizza una giornata."
}
},
"navTimeInDaylight": "Luce diurna",
"walkingSteadiness": {
"title": "Stabilità del cammino",
"description": "La tua stabilità del cammino nel tempo, in percentuale.",
"chartTitle": "Stabilità del cammino",
"emptyState": {
"title": "Nessun dato",
"description": "Le letture appaiono qui quando Apple Health si sincronizza."
}
},
"navWalkingSteadiness": "Stabilità del cammino",
"audioExposureEvent": {
"title": "Eventi audio forti",
"description": "Giorni con un evento di esposizione a rumore forte.",
"chartTitle": "Eventi rumorosi al giorno",
"emptyState": {
"title": "Nessun dato",
"description": "Gli eventi appaiono qui quando Apple Health si sincronizza."
}
},
"navAudioExposureEvent": "Eventi rumorosi",
"respiratoryRate": {
"title": "Frequenza respiratoria",
"description": "La tua frequenza respiratoria nel tempo, in respiri al minuto.",
"chartTitle": "Frequenza respiratoria",
"emptyState": {
"title": "Nessun dato",
"description": "Le letture appaiono qui quando Apple Health sincronizza la respirazione del sonno o dell’allenamento."
}
},
"navRespiratoryRate": "Frequenza respiratoria",
"leanBodyMass": {
"title": "Massa corporea magra",
"description": "La tua massa corporea magra nel tempo, in chilogrammi.",
"chartTitle": "Massa corporea magra",
"emptyState": {
"title": "Nessun dato",
"description": "Le letture appaiono qui quando una bilancia impedenziometrica si sincronizza."
}
},
"navLeanBodyMass": "Massa corporea magra",
"walkingHeartRateAverage": {
"title": "Battito camminando",
"description": "La tua frequenza cardiaca media camminando, in bpm.",
"chartTitle": "Battito medio camminando",
"emptyState": {
"title": "Nessun dato",
"description": "Le letture appaiono qui quando Apple Health si sincronizza."
}
},
"navWalkingHeartRateAverage": "Battito camminando",
"walkingAsymmetry": {
"title": "Asimmetria del cammino",
"description": "La tua asimmetria del cammino nel tempo, in percentuale.",
"chartTitle": "Asimmetria del cammino",
"emptyState": {
"title": "Nessun dato",
"description": "Le letture appaiono qui quando Apple Health si sincronizza."
}
},
"navWalkingAsymmetry": "Asimmetria del cammino",
"walkingDoubleSupport": {
"title": "Tempo di doppio appoggio",
"description": "La percentuale di ogni passo con entrambi i piedi a terra.",
"chartTitle": "Tempo di doppio appoggio",
"emptyState": {
"title": "Nessun dato",
"description": "Le letture appaiono qui quando Apple Health si sincronizza."
}
},
"navWalkingDoubleSupport": "Doppio appoggio",
"walkingStepLength": {
"title": "Lunghezza del passo",
"description": "La tua lunghezza media del passo nel tempo, in metri.",
"chartTitle": "Lunghezza del passo",
"emptyState": {
"title": "Nessun dato",
"description": "Le letture appaiono qui quando Apple Health si sincronizza."
}
},
"navWalkingStepLength": "Lunghezza del passo",
"walkingSpeed": {
"title": "Velocità di cammino",
"description": "La tua velocità media di cammino nel tempo, in km/h.",
"chartTitle": "Velocità di cammino (km/h)",
"emptyState": {
"title": "Nessun dato",
"description": "Le letture appaiono qui quando Apple Health si sincronizza."
}
},
"navWalkingSpeed": "Velocità di cammino",
"mood": {
"heatmapTitle": "Calendario dell'umore",
"heatmapNoEntry": "Nessun dato",
"legendGreat": "Ottimo",
"legendGood": "Buono",
"legendOkay": "Discreto",
"legendLow": "Basso",
"distributionTitle": "Distribuzione dell'umore",
"distributionDaysUnit": "giorni",
"weekdayTitle": "Media per giorno della settimana",
"weekdayNoData": "Nessun dato",
"weekdayBestWorst": "Giorno migliore: {best} · Giorno più difficile: {worst}",
"tagsTitle": "Tag e fattori scatenanti",
"tagAvgMood": "Umore medio con questo tag",
"correlationsTitle": "Umore e altre metriche",
"correlationsDescription": "Come il tuo umore si muove con sonno, attività e battito nello stesso giorno.",
"correlation": {
"sleepTitle": "Umore vs. sonno",
"stepsTitle": "Umore vs. attività",
"pulseTitle": "Umore vs. battito",
"sleepAxis": "Sonno (min)",
"stepsAxis": "Passi",
"pulseAxis": "Battito (bpm)",
"strengthStrong": "Forte",
"strengthModerate": "Moderata",
"strengthWeak": "Debole",
"strengthNone": "Nessuna",
"source": "{n} giorni appaiati · r = {r}",
"emptyTitle": "Non ci sono ancora abbastanza dati appaiati",
"emptyDescription": "Registra umore e questa metrica negli stessi giorni per vedere una correlazione.",
"weightTitle": "Umore vs. peso",
"bloodPressureTitle": "Umore vs. pressione sanguigna",
"weightAxis": "Peso",
"bloodPressureAxis": "Sistolica (mmHg)",
"sourceLabel": "Come è stato calcolato"
},
"structuredTagsTitle": "Analisi etichette",
"inTargetValue": "{pct} %",
"inTargetCaption": "degli ultimi giorni nel tuo intervallo di buon umore",
"narrative": {
"title": "Cosa risalta",
"weekdayDip": "Il tuo umore cala di più il {weekday}: {delta} sotto la tua settimana.",
"weekdayPeak": "Il {weekday} è sempre il tuo giorno migliore, con una media di {value}.",
"trendUp": "Il tuo umore è in crescita negli ultimi {days} giorni (+{delta} rispetto al periodo precedente).",
"trendDown": "Il tuo umore è in calo negli ultimi {days} giorni (-{delta} rispetto al periodo precedente).",
"weekendUp": "Ti senti meglio nel weekend (+{delta} rispetto ai giorni feriali).",
"weekendDown": "Il tuo umore è più basso nel weekend (-{delta} rispetto ai giorni feriali).",
"tagLift": "I giorni con l'etichetta «{tag}» superano in media il tuo umore generale di {delta}.",
"tagDrop": "I giorni con l'etichetta «{tag}» restano {delta} sotto la tua media.",
"inTarget": "Sei stato nel tuo intervallo di buon umore il {pct} % degli ultimi 30 giorni.",
"streak": "Hai registrato il tuo umore per {days} giorni di fila — continua così.",
"timeOfDay": "Ti senti meglio di {bucket}, con una media di {value}."
},
"timeOfDay": {
"title": "Umore per fascia oraria",
"morning": "Mattina",
"afternoon": "Pomeriggio",
"evening": "Sera",
"night": "Notte",
"bestCaption": "Tendi a sentirti meglio di {bucket}."
},
"stability": {
"value": "{score}/100",
"bandVerySteady": "Il tuo umore è stato molto stabile",
"bandSteady": "Il tuo umore è stato abbastanza stabile",
"bandVariable": "Il tuo umore è stato notevolmente variabile",
"bandVeryVariable": "Il tuo umore ha oscillato molto di recente",
"title": "Stabilità"
},
"influence": {
"title": "Influenza sull'umore",
"detail": "Media di {withAvg} nei {withDays} giorni in cui l'hai indicato, contro {withoutAvg} senza.",
"confidenceLow": "Affidabilità bassa",
"confidenceMedium": "Affidabilità media",
"confidenceHigh": "Affidabilità alta"
},
"betterDays": {
"title": "Cosa accompagna le tue giornate migliori",
"description": "Tag e parametri che coincidono con le tue giornate di umore migliore e peggiore, ordinati per quanto si muovono insieme."
},
"crosstab": {
"title": "Tag e le tue metriche di salute",
"description": "Come una metrica di salute cambia nei giorni in cui hai aggiunto un tag rispetto ai giorni senza.",
"pairLabel": "{tag} · {metric}",
"metricActiveEnergy": "Energia attiva",
"metricSleepDuration": "Sonno",
"metricNextDayRecovery": "Recupero il giorno dopo",
"unitHours": "h",
"unitKcal": "kcal",
"unitScore": "pt",
"detailSameDay": "In media {withAvg} {unit} nei {withDays} giorni con questo tag contro {withoutAvg} {unit} senza.",
"detailNextDay": "In media {withAvg} {unit} il giorno dopo i {withDays} giorni con questo tag contro {withoutAvg} {unit} altrimenti."
},
"discovery": {
"title": "Cosa risalta",
"subheading": "Relazioni scoperte",
"footer": "Estratte da {tested} coppie giorno per giorno testate su tutte le tue misure, dopo la correzione per le false scoperte.",
"empty": "Nessuna relazione sull'umore ha ancora superato la soglia statistica. Continua a registrare.",
"disclaimer": "Filtrato statisticamente, ma sempre osservazionale: uno schema da tenere d'occhio, non una causa.",
"moodUp": "Un {factor} più alto tende a coincidere con un umore migliore il giorno dopo nei tuoi dati.",
"moodDown": "Un {factor} più alto tende a coincidere con un umore peggiore il giorno dopo nei tuoi dati.",
"outcomeUp": "Un umore migliore tende a coincidere con un {factor} più alto il giorno dopo nei tuoi dati.",
"outcomeDown": "Un umore migliore tende a coincidere con un {factor} più basso il giorno dopo nei tuoi dati.",
"stat": "{n} giorni appaiati · r = {r} · q = {q}",
"statLabel": "Come è stato calcolato",
"explainerLabel": "Come è stato calcolato"
},
"inTargetTitle": "Nel tuo intervallo"
},
"derived": {
"coverage": {
"summary": "{present} di {required} input · {percent}%",
"ratioLabel": "{present}/{required}",
"historyDays": "Basato su {count} giorni di cronologia",
"missing": "Registra questi per affinare il valore: {list}"
},
"scoreRing": {
"aria": "Punteggio {score} su 100, {band}",
"ariaProvisional": "Punteggio non ancora disponibile — dati insufficienti",
"provisionalCaption": "Dati ancora insufficienti",
"band": {
"green": "buono",
"yellow": "medio",
"red": "basso"
}
},
"provenance": {
"title": "Come viene calcolato",
"trigger": "Come viene calcolato",
"inputsLabel": "Input",
"noInputs": "Nessun input supporta ancora questo valore.",
"methodLabel": "Metodo",
"window": "Dai tuoi ultimi {days} giorni · dati {source}",
"asOf": "al {date}",
"standardLink": "Standard: {name}"
},
"vitals": {
"sectionTitle": "I tuoi parametri vitali",
"loadingLabel": "Caricamento dei tuoi parametri vitali",
"loadError": "Al momento non è stato possibile caricare i tuoi parametri vitali.",
"building": "Creazione del tuo intervallo abituale — {count} di {target} giorni",
"typicalRange": "Abituale per te: {low}–{high}",
"fitnessYounger": "Forma cardio di chi ha ~{years} anni in meno",
"fitnessOlder": "Forma cardio ~{years} anni oltre la tua età",
"fitnessTypical": "Forma cardio tipica per la tua età",
"fitnessNoNorm": "Aggiungi età e sesso per inquadrare questo dato",
"vascularBelow": "{years} anni sotto la tua età",
"vascularAbove": "{years} anni sopra la tua età",
"vascularMatch": "In linea con la tua età",
"vascularNoAge": "Aggiungi la data di nascita per inquadrare questo dato",
"hrvBand": {
"balanced": "Equilibrato per te",
"unbalanced": "Sopra il tuo intervallo abituale",
"low": "Sotto il tuo intervallo abituale"
},
"bmiCategory": {
"underweight": "Sottopeso (OMS)",
"normal": "Intervallo normale (OMS)",
"overweight": "Sovrappeso (OMS)",
"obese": "Obesità (OMS)"
},
"sixMinuteBand": {
"green": "{percent}% del valore previsto per il tuo profilo",
"yellow": "{percent}% del valore previsto per il tuo profilo",
"red": "{percent}% del valore previsto per il tuo profilo"
},
"sixMinuteNoBand": "Aggiungi età, altezza, peso e sesso per inquadrare questo dato",
"mobilitySectionTitle": "Mobilità e corpo"
},
"anatomy": {
"outOf": "/100",
"contributorsLabel": "Fattori",
"contributorValue": "{value} · {weight}% di peso",
"contributorMissing": "nessun dato",
"disclaimer": "Indicativo — non è una valutazione clinica.",
"insufficient": "Dati ancora insufficienti per assegnare un punteggio. Continua a registrare e comparirà qui."
},
"composite": {
"SLEEP_SCORE": {
"title": "Punteggio del sonno",
"description": "Un punteggio di qualità del sonno trasparente con ogni sotto-punteggio mostrato.",
"method": "Una combinazione 0–100 di sufficienza (sonno vs il tuo bisogno in base all’età), efficienza (sonno ÷ tempo a letto), costanza (quanto è stabile il punto medio del tuo sonno), orario (vs il tuo punto medio abituale) e composizione (quota di REM + sonno profondo). I sotto-punteggi vengono ripesati attorno a quelli che i tuoi dati non possono supportare; nulla è inventato.",
"sub": {
"sufficiency": "Sufficienza",
"efficiency": "Efficienza",
"consistency": "Costanza",
"timing": "Orario",
"composition": "Composizione"
}
},
"READINESS": {
"title": "Prontezza",
"description": "Un indicatore quotidiano di benessere in base a come i tuoi segnali si collocano rispetto alla tua baseline.",
"method": "Una combinazione 0–100 di deviazione della frequenza cardiaca a riposo, deviazione della HRV (SDNN), qualità del sonno, stabilità della frequenza respiratoria e stabilità dell’umore — ciascuna misurata rispetto alla tua baseline personale. I pesi vengono rinormalizzati sui componenti supportati dai tuoi dati. Un indicatore di benessere, non un punteggio di recupero né clinico.",
"component": {
"rhr": "Frequenza cardiaca a riposo",
"hrv": "HRV (SDNN)",
"sleep": "Sonno",
"respiratory": "Frequenza respiratoria",
"mood": "Stabilità dell’umore"
},
"caveat": "Un indicatore di benessere, non un punteggio di recupero né clinico."
},
"VITALS_BASELINE": {
"method": "Il tuo intervallo tipico personale è la mediana dei tuoi valori giornalieri nel periodo, ± una dispersione robusta (deviazione assoluta mediana, scalata). Segue le TUE letture, non una norma di popolazione: un valore dentro la banda è quindi tipico per te."
},
"HRV_BALANCE": {
"method": "La tua media recente di VFC (SDNN) confrontata con la tua linea di base mobile (mediana ± dispersione robusta). Equilibrata significa che rientra nel tuo intervallo personale; la banda è costruita sui tuoi dati, mai su una soglia di popolazione."
},
"BMI": {
"method": "Peso ÷ altezza², classificato secondo le categorie OMS per adulti (sottopeso / normale / sovrappeso / obesità). Solo un rapporto di screening: non distingue il muscolo dal grasso."
},
"FITNESS_AGE": {
"method": "Il tuo VO₂max collocato rispetto ai percentili di fitness cardiorespiratoria per età e sesso, espresso come scarto di età di forma. Il VO₂max è la stima del tuo dispositivo, qui mai ricalcolata."
},
"VASCULAR_AGE_DELTA": {
"method": "La stima di età vascolare / velocità dell’onda di polso del tuo dispositivo confrontata con la tua età anagrafica, espressa come scarto in anni. La stima è del dispositivo; HealthLog si limita a reinquadrarla.",
"caveat": "La stima del tuo dispositivo, solo reinquadrata: descrittiva, non una valutazione vascolare clinica.",
"description": "Come la stima di età vascolare del tuo dispositivo si colloca rispetto alla tua età anagrafica."
},
"COINCIDENT_DEVIATION": {
"method": "Un avviso che compare quando due o più dei tuoi parametri vitali escono dal loro intervallo tipico personale nello stesso giorno. Ogni banda è la mediana robusta ± k·MAD del tuo storico, quindi si adatta a te e non a una soglia di popolazione.",
"caveat": "Un avviso dalle tue linee di base: descrittivo, non una diagnosi né un allarme clinico."
},
"RECOVERY_SCORE": {
"method": "Un indicatore notturno di recupero da 0 a 100 che combina VFC, frequenza cardiaca a riposo e sonno rispetto alla tua linea di base. Più alto significa più recuperato. Calcolato una volta a notte e qui solo riletto, mai ricalcolato al volo.",
"caveat": "Un indicatore di benessere descrittivo, non una misura di recupero clinica o da allenamento.",
"description": "Un indicatore notturno di recupero da VFC, frequenza a riposo e sonno."
},
"STRESS_SCORE": {
"method": "Un indicatore notturno di stress da 0 a 100 dalla forma della tua VFC nel corso della giornata rispetto alla tua linea di base. Più alto significa maggiore carico fisiologico.",
"caveat": "Un indicatore derivato dalla VFC, NON una misura di stress da EDA / attività elettrodermica: il tuo orologio non ha un sensore EDA. Descrittivo, non clinico.",
"description": "Un indicatore notturno di stress dalla forma della tua VFC nel corso della giornata."
},
"STRAIN_SCORE": {
"method": "Un indicatore notturno di sforzo da 0 a 100 dal tuo carico di attività pesato sulla frequenza cardiaca (un modello di impulso d’allenamento tipo TRIMP). Più alto significa una giornata più impegnativa.",
"anchorPersonal": "Ancorato al tuo carico recente nei giorni di allenamento — valutato rispetto al tuo sforzo abituale, così che una giornata davvero dura per te risulti alta.",
"anchorPopulation": "Valutato rispetto a un riferimento generale mentre costruisci lo storico di allenamento; quando ne hai abbastanza passa al tuo sforzo abituale.",
"caveat": "Un indicatore descrittivo di carico di attività, non una misura di carico clinica o da allenamento.",
"description": "Un indicatore notturno di carico di attività dal tuo sforzo pesato sulla frequenza cardiaca, relativo al tuo sforzo abituale."
},
"WRIST_TEMPERATURE_BASELINE": {
"method": "La tua tipica temperatura notturna al polso è la mediana delle tue letture notturne nel periodo, ± una dispersione robusta (deviazione assoluta mediana, scalata). Segue le TUE letture — la notte scorsa è mostrata come scostamento dalla tua baseline, non da una norma di popolazione.",
"caveat": "Solo una banda di scostamento personale — descrittiva, non un segnale di malattia, febbre o fase del ciclo. Sei tu a interpretarla."
},
"STAIR_ASCENT_SPEED_BASELINE": {
"method": "Il tuo passo tipico in salita sulle scale è la mediana dei tuoi valori giornalieri nel periodo, ± una dispersione robusta (deviazione assoluta mediana, scalata). La banda è costruita sui tuoi dati — non esiste una soglia di popolazione per la velocità sulle scale, perché il passo dipende dalla geometria dei gradini e dalla lunghezza delle gambe.",
"caveat": "Una banda personale di tendenza della mobilità — descrittiva, non una valutazione di fragilità o di rischio di caduta."
},
"STAIR_DESCENT_SPEED_BASELINE": {
"method": "Il tuo passo tipico in discesa sulle scale è la mediana dei tuoi valori giornalieri nel periodo, ± una dispersione robusta (deviazione assoluta mediana, scalata). La banda è costruita sui tuoi dati — non esiste una soglia di popolazione per la velocità sulle scale, perché il passo dipende dalla geometria dei gradini e dalla lunghezza delle gambe.",
"caveat": "Una banda personale di tendenza della mobilità — descrittiva, non una valutazione di fragilità o di rischio di caduta."
},
"SIX_MINUTE_WALK_BAND": {
"method": "La distanza di cammino di sei minuti STIMATA dal tuo dispositivo, collocata rispetto al riferimento di Enright e Sherrill per la tua età, altezza, peso e sesso, come percentuale del previsto. La distanza è la stima del dispositivo — mai ricalcolata qui. Senza età, altezza, peso e sesso la percentuale è nascosta e vengono mostrate solo distanza e tendenza.",
"caveat": "Una stima riformulata rispetto a un riferimento pubblicato — un segnale di capacità funzionale, non un test del cammino di sei minuti clinico né una diagnosi. Il riferimento è stato stabilito per le età 40–80; al di fuori di questo intervallo il valore previsto è un’estrapolazione."
},
"TRAJECTORY": {
"method": "Una retta ai minimi quadrati adattata ai tuoi valori giornalieri recenti e proiettata in avanti su un breve orizzonte, con l’intervallo di previsione classico che si allarga man mano che si estende. Calcolata solo quando la tendenza recente è abbastanza marcata e la tua cronologia è abbastanza lunga e aggiornata; altrimenti non viene tracciata alcuna linea.",
"caveat": "Una proiezione della tua tendenza recente — non una previsione, un obiettivo o una prognosi clinica. Vale solo se lo schema recente continua; la banda ombreggiata mostra quanto rapidamente quella certezza svanisce."
}
},
"scores": {
"sectionTitle": "Punteggi di benessere",
"loadError": "Al momento non è stato possibile caricare i tuoi punteggi di benessere.",
"recovery": "Recupero",
"stress": "Stress",
"strain": "Sforzo"
},
"coincident": {
"label": "Più parametri fuori dalla base",
"summary": "Oggi {count} dei tuoi parametri vitali sono usciti dal loro intervallo personale.",
"vitals": "Fuori intervallo: {list}",
"cardTitle": "Segnali del giorno",
"allClear": "Oggi tutti i tuoi parametri vitali sono nel loro intervallo personale.",
"allClearMeta": "Controllati {count} dei tuoi parametri rispetto al tuo intervallo abituale.",
"watch": "Oggi un parametro è fuori dal suo intervallo abituale.",
"watchVital": "Fuori intervallo: {vital}. Spesso è un episodio isolato — tienilo d’occhio nei prossimi giorni.",
"firedHeadline": "Oggi {count} dei tuoi parametri vitali sono fuori dal loro intervallo personale.",
"factors": "Possibili fattori — mai una causa: un allenamento intenso, poco sonno, alcol, altitudine, stress o una malattia. È un avviso basato sui tuoi parametri, non una diagnosi.",
"building": "Stiamo costruendo i tuoi riferimenti personali — registra ancora qualche giorno e comparirà."
},
"trajectory": {
"cardTitle": "Proiezione a breve termine",
"headline": "Se questo schema continua — i prossimi {days} giorni",
"range": "Proiettato intorno a {low}–{high} {unit} tra {days} giorni.",
"caveat": "Una proiezione della tua tendenza recente, non una previsione. La banda ombreggiata si allarga per mostrare quanto rapidamente cresce l’incertezza.",
"insufficient": "Non c’è ancora una tendenza abbastanza chiara da proiettare — continua a registrare e comparirà una proiezione quando lo schema recente sarà abbastanza marcato.",
"daysNeeded": "Servono ancora circa {count} giorni di registrazione prima che possa comparire una proiezione."
}
},
"cardioFitness": {
"title": "Forma fisica",
"description": "Il tuo VO₂ max nel tempo: la misura principale della forma aerobica.",
"chartTitle": "VO₂ max (mL/(kg·min))",
"emptyState": {
"title": "Nessun dato sulla forma fisica",
"description": "I valori di VO₂ max compaiono qui quando Apple Health li sincronizza dai tuoi allenamenti."
}
},
"navCardioFitness": "Forma fisica",
"cardioRecovery": {
"title": "Recupero cardiaco",
"description": "Di quanto cala la frequenza cardiaca un minuto dopo lo sforzo massimo.",
"chartTitle": "Recupero cardiaco (bpm)",
"emptyState": {
"title": "Nessun dato sul recupero cardiaco",
"description": "I valori di recupero cardiaco compaiono qui quando Apple Health li sincronizza da un allenamento."
}
},
"navCardioRecovery": "Recupero cardiaco",
"wristTemperature": {
"title": "Temperatura del polso",
"description": "La temperatura del polso durante la notte, rispetto al tuo valore di riferimento.",
"chartTitle": "Temperatura del polso (°C)",
"emptyState": {
"title": "Nessun dato sulla temperatura del polso",
"description": "I valori compaiono qui quando Apple Health sincronizza l'uso notturno."
}
},
"navWristTemperature": "Temp. polso",
"falls": {
"title": "Cadute",
"description": "Cadute forti rilevate dal tuo Apple Watch, contate al giorno.",
"chartTitle": "Cadute al giorno",
"emptyState": {
"title": "Nessun dato sulle cadute",
"description": "Le cadute rilevate compaiono qui quando Apple Health si sincronizza. Nessuna caduta è l'obiettivo."
}
},
"navFalls": "Cadute",
"sixMinuteWalk": {
"title": "Cammino di 6 minuti",
"description": "La stima di Apple di quanto potresti camminare in sei minuti.",
"chartTitle": "Distanza in 6 minuti (m)",
"emptyState": {
"title": "Nessun dato sul cammino di 6 minuti",
"description": "Le stime compaiono qui quando Apple Health si sincronizza."
}
},
"navSixMinuteWalk": "Cammino 6 min",
"stairAscentSpeed": {
"title": "Velocità in salita scale",
"description": "Quanto velocemente sali le scale, misurato da iPhone o Watch.",
"chartTitle": "Velocità in salita (m/s)",
"emptyState": {
"title": "Nessun dato sulla salita delle scale",
"description": "I valori compaiono qui quando Apple Health si sincronizza."
}
},
"navStairAscentSpeed": "Salita scale",
"stairDescentSpeed": {
"title": "Velocità in discesa scale",
"description": "Quanto velocemente scendi le scale, misurato da iPhone o Watch.",
"chartTitle": "Velocità in discesa (m/s)",
"emptyState": {
"title": "Nessun dato sulla discesa delle scale",
"description": "I valori compaiono qui quando Apple Health si sincronizza."
}
},
"navStairDescentSpeed": "Discesa scale",
"breathingDisturbances": {
"title": "Disturbi respiratori",
"description": "Quanto spesso la tua respirazione è stata disturbata durante il sonno.",
"chartTitle": "Disturbi respiratori nel sonno",
"emptyState": {
"title": "Nessun dato sui disturbi respiratori",
"description": "I valori compaiono qui quando Apple Health li sincronizza da un Apple Watch compatibile."
}
},
"navBreathingDisturbances": "Respirazione",
"rhythmEvents": {
"sectionTitle": "Notifiche sulla salute del dispositivo",
"sectionIntro": "Notifiche che il tuo orologio ha inviato autonomamente. HealthLog si limita a mostrarle — non le rileva, conferma né interpreta.",
"loadError": "Impossibile caricare le notifiche del dispositivo.",
"disclaimer": "Questi sono avvisi generati dal tuo dispositivo con il proprio rilevamento integrato. Sono mostrati qui solo a scopo informativo. Non è una valutazione medica da parte di HealthLog, e HealthLog non diagnostica alcuna condizione. Se una notifica ti preoccupa, parla con il tuo medico.",
"event": {
"irregularRhythm": "Notifica di ritmo irregolare",
"highHeartRate": "Notifica di frequenza cardiaca alta",
"lowHeartRate": "Notifica di frequenza cardiaca bassa",
"walkingSteadiness": "Avviso di stabilità nella camminata",
"breathingDisturbance": "Disturbo respiratorio durante il sonno"
},
"verdict": {
"irregular": "Il tuo dispositivo ha rilevato un possibile ritmo irregolare.",
"notDetected": "Il tuo dispositivo non ha rilevato un ritmo irregolare.",
"inconclusive": "Il tuo dispositivo non è riuscito a effettuare una misurazione.",
"low": "Il tuo dispositivo ha rilevato una bassa stabilità nella camminata.",
"veryLow": "Il tuo dispositivo ha rilevato una stabilità nella camminata molto bassa.",
"fired": "Il tuo dispositivo ha segnalato questo evento."
}
},
"trendDescriptor": {
"rising": "In aumento su 30 giorni ({delta}{unit}).",
"falling": "In calo su 30 giorni ({delta}{unit}).",
"stable": "Stabile negli ultimi 30 giorni.",
"moodImproved": "Umore in lieve miglioramento su 30 giorni.",
"moodDeclined": "Umore in lieve calo su 30 giorni.",
"moodStable": "Umore stabile negli ultimi 30 giorni."
},
"target": {
"heading": "Obiettivo"
},
"disclaimer": {
"footer": "HealthLog descrive i tuoi dati registrati — non è una valutazione clinica né una diagnosi. Parla con il tuo medico di qualsiasi cosa ti preoccupi."
}
},
"thresholds": {
"defaultLabel": "Predefinito",
"autoModeLabel": "Auto",
"overrideModeLabel": "Personalizzato",
"overrideToggleLabel": "Valori personali",
"resetAction": "Ripristina predefinito",
"resetAllAction": "Ripristina tutti ai predefiniti",
"minLabel": "Min",
"maxLabel": "Max",
"unitSuffix": "({unit})",
"outOfBoundsHint": "Range consentito: {min}–{max} {unit}",
"overrideWarning": "Valori al di fuori delle linee guida possono produrre obiettivi non salutari. Personalizza solo dopo consulto medico.",
"saveSuccess": "Obiettivi aggiornati",
"saveError": "Impossibile salvare gli obiettivi",
"resetSuccess": "Ripristinato al valore predefinito",
"sourceOverride": "Valore personale",
"metricWeight": "Peso",
"metricBpSys": "Pressione arteriosa (sistolica)",
"metricBpDia": "Pressione arteriosa (diastolica)",
"metricPulse": "Pulsazioni a riposo",
"metricBodyFat": "Massa grassa",
"metricSleep": "Durata del sonno",
"metricSteps": "Passi/giorno",
"metricGlucoseFasting": "Glicemia — a digiuno",
"metricGlucosePostprandial": "Glicemia — postprandiale",
"metricGlucoseRandom": "Glicemia — qualsiasi",
"metricGlucoseBedtime": "Glicemia — prima di coricarsi",
"metricBodyWater": "Acqua corporea",
"metricBoneMass": "Massa ossea",
"metricOxygenSaturation": "Saturazione di ossigeno (SpO₂)",
"unsetExplanation": "Nessun valore personale — è attivo il predefinito calcolato."
},
"onboarding": {
"errorGeneric": "Qualcosa è andato storto durante il completamento della configurazione. Riprova.",
"tour": {
"stepOf": "Passaggio {current} di {total}",
"next": "Avanti",
"back": "Indietro",
"skip": "Salta tour",
"done": "Ho capito",
"restart": "Riavvia tour",
"restartHint": "Mostra di nuovo il tour della dashboard alla prossima apertura.",
"restartConfirmation": "Il tour ripartirà alla tua prossima visita alla dashboard.",
"steps": {
"tileStrip": {
"title": "I tuoi valori di oggi",
"body": "La striscia di tile mostra l’ultimo valore e il trend a 7 giorni di ogni metrica — peso, pressione, pulsazioni, umore. Nascondi ciò che non ti serve in Impostazioni → Dashboard."
},
"quickAdd": {
"title": "Registrato in due tap",
"body": "Con il pulsante Aggiungi registri misurazioni o voci di umore senza lasciare la dashboard. Il modulo ricorda il contesto e i tag più recenti."
},
"insights": {
"title": "Insights automatici",
"body": "Insights trasforma i tuoi valori in un riepilogo chiaro della salute, con inquadramento di pressione, peso e umore. Chiave personale o predefinita — scegli tu."
},
"integrations": {
"title": "Collegare dispositivi",
"body": "Dalle impostazioni colleghi Withings (sincronizzazione automatica di peso, pressione e pulsazioni), moodLog o il tuo provider di analisi. Tutto resta opzionale e cifrato."
},
"achievements": {
"title": "Accumula serie e badge",
"body": "La pagina Traguardi tiene traccia delle serie di registrazioni giornaliere, dei traguardi di pressione e dei badge di costanza. Un piccolo incentivo per non mollare."
}
}
},
"shell": {
"back": "Indietro",
"skip": "Salta",
"next": "Continua",
"step1of4": "Passo 1 di 4",
"step2of4": "Passo 2 di 4",
"step3of4": "Passo 3 di 4",
"step4of4": "Passo 4 di 4"
},
"goals": {
"title": "Cosa vuoi monitorare?",
"body": "Scegli gli ambiti che ti interessano. Dashboard e promemoria si adatteranno alle tue scelte.",
"helpHint": "Da una a tre priorità funzionano di solito meglio — potrai aggiungerne altre in qualsiasi momento.",
"options": {
"weightManagement": "Gestione del peso",
"bpTracking": "Pressione arteriosa",
"glucoseTracking": "Glicemia",
"sleepImprovement": "Sonno migliore",
"medicationCompliance": "Farmaci",
"generalWellness": "Benessere generale"
}
},
"source": {
"title": "Connetti una sorgente",
"body": "Importa le misurazioni in automatico oppure resta sull'inserimento manuale, decidi tu.",
"recommended": "Consigliato",
"manual": {
"title": "Inserimento manuale",
"body": "Registra tu stesso le misurazioni, quando ti è comodo. Funziona su qualsiasi dispositivo, senza account di terzi."
},
"withings": {
"title": "Withings",
"body": "Bilance, misuratori di pressione e tracker Withings si sincronizzano automaticamente.",
"cta": "Connetti Withings"
},
"appleHealth": {
"title": "Apple Health",
"body": "I dati di iPhone e Apple Watch arrivano tramite l'app HealthLog per iOS.",
"badge": "Con la v1.5 (iOS)",
"disabledHint": "Disponibile al rilascio dell'app iOS."
}
},
"baseline": {
"title": "Qualcosa su di te",
"body": "Quattro campi facoltativi affinano gli intervalli, l'IMC e i promemoria. Puoi modificarli tutti in qualsiasi momento dalle impostazioni.",
"displayNameLabel": "Nome visualizzato",
"displayNamePlaceholder": "Come deve chiamarti HealthLog?",
"displayNameHint": "Compare nel saluto della dashboard e nei report.",
"heightLabel": "Altezza (cm)",
"genderLabel": "Sesso",
"genderNone": "Preferisco non specificare",
"genderMale": "Maschile",
"genderFemale": "Femminile",
"dateOfBirthLabel": "Data di nascita",
"dateOfBirthHint": "Usata solo per le analisi che tengono conto dell'età.",
"saveCta": "Salva e continua"
},
"done": {
"title": "Tutto pronto",
"body": "Benvenuto a bordo. La tua dashboard è pronta.",
"returnCta": "Apri la dashboard"
},
"welcomeBack": {
"title": "Bentornato",
"body": "Hai già completato l'onboarding. Per modificare qualcosa apri le impostazioni — tutto ciò che hai configurato è ancora modificabile.",
"cta": "Apri la dashboard"
},
"welcome": {
"title": "Benvenuto in HealthLog",
"carouselLabel": "Carosello di benvenuto",
"slideOf": "Diapositiva {current} di {total}",
"prevSlide": "Diapositiva precedente",
"nextSlide": "Diapositiva successiva",
"gotoSlide": "Vai alla diapositiva {index}",
"cta": "Inizia",
"slide1": {
"title": "Tieni traccia di ogni segnale",
"body": "Peso, pressione, glicemia, sonno, umore — un unico registro che è tuo."
},
"slide2": {
"title": "Collega le tue sorgenti",
"body": "Sincronizza con Apple Health e Withings o aggiungi le misurazioni a mano. I tuoi dati restano sul tuo server."
},
"slide3": {
"title": "Scopri lo schema",
"body": "Riepiloghi giornalieri, grafici di tendenza e un coach che evidenzia i cambiamenti — tutto sul tuo dispositivo."
}
}
},
"gettingStarted": {
"title": "Primi passi",
"subtitle": "Quick win per sfruttare al massimo HealthLog.",
"progress": "{done} di {total} completati",
"dismissAll": "Nascondi la checklist",
"dismissTooltip": "Nascondi questa voce",
"items": {
"profileTitle": "Configura il profilo",
"profileDescription": "Altezza, data di nascita e sesso sbloccano obiettivi personalizzati.",
"profileCta": "Apri profilo",
"measurementTitle": "Registra la prima misurazione",
"measurementDescription": "Una misurazione attiva il tile — il trend si disegna dalla 5ª misurazione.",
"measurementCta": "Aggiungi misurazione",
"medicationTitle": "Aggiungi un farmaco",
"medicationDescription": "Monitora l’aderenza e ricevi promemoria proprio quando ti servono.",
"medicationCta": "Aggiungi farmaco",
"withingsTitle": "Collega Withings (opzionale)",
"withingsDescription": "Sincronizza peso, pressione e pulsazioni automaticamente dai tuoi dispositivi Withings.",
"withingsCta": "Collega",
"notificationsTitle": "Configura le notifiche",
"notificationsDescription": "Scegli come HealthLog ti ricorda — Telegram, ntfy o Web Push.",
"notificationsCta": "Apri notifiche"
}
},
"trendHints": {
"title": "Primo trend dopo 5 misurazioni",
"remainingOne": "Manca 1 misurazione al trend.",
"remainingMany": "Mancano {count} misurazioni al trend."
},
"settings": {
"researchMode": {
"sectionTitle": "Modalità Ricerca",
"subtitle": "Visualizzazione opzionale di una curva stimata del livello del farmaco GLP-1, derivata dalla farmacocinetica di popolazione pubblicata dall'EMA. Solo lettura: mai una misurazione né un consiglio medico.",
"toggleLabel": "Mostra la curva stimata del livello del farmaco",
"disabledStatus": "Disattivata. La curva è nascosta.",
"enabledStaleStatus": "Il disclaimer è stato aggiornato. Riconferma sotto per rivedere la curva.",
"acknowledgedOn": "Confermato il {date}.",
"rePromptTitle": "Disclaimer aggiornato",
"rePromptBody": "Il disclaimer della modalità Ricerca è stato aggiornato dall'ultima tua conferma. Rileggilo e riconferma per mantenere visibile la curva.",
"rePromptCta": "Riconferma disclaimer",
"disableError": "Impossibile disattivare la modalità Ricerca. Riprova."
},
"shell": {
"sectionsNav": "Sezioni delle impostazioni"
},
"sections": {
"account": {
"title": "Account",
"description": "Profilo, password, passkey e il tour di benvenuto."
},
"integrations": {
"title": "Integrazioni",
"description": "Withings, moodLog e altri servizi collegati."
},
"notifications": {
"title": "Notifiche",
"description": "Panoramica in tempo reale di ogni canale configurato."
},
"dashboard": {
"title": "Cruscotto",
"description": "Layout e ordine dei riquadri."
},
"thresholds": {
"title": "Obiettivi",
"description": "Per metrica: il tuo intervallo target per valori sani."
},
"sources": {
"title": "Priorità delle fonti",
"description": "Scegli quale fonte prevale quando più di una registra la stessa metrica lo stesso giorno.",
"cardTitle": "Priorità delle fonti per metrica",
"help": "Quando più fonti forniscono lo stesso valore nello stesso giorno (ad es. Withings e Apple Health riportano entrambe 1.200 passi), la fonte in cima conta come lettura canonica. Le altre fonti restano memorizzate per la traccia di controllo.",
"resetDefaults": "Ripristina i valori predefiniti",
"moveUp": "Sposta su",
"moveDown": "Sposta giù",
"saveSuccess": "Priorità delle fonti salvata.",
"saveError": "Salvataggio della priorità delle fonti non riuscito.",
"resetSuccess": "Priorità delle fonti ripristinata ai valori predefiniti.",
"perMetricToggle": "Personalizzazioni per metrica ({count})",
"perMetricHelp": "Metriche che hai personalizzato rispetto all’ordine predefinito. Usa questo elenco per riportare una singola metrica al suo valore predefinito senza toccare le altre.",
"perMetricEmpty": "Nessuna personalizzazione per metrica — ogni metrica usa l’ordine globale qui sopra.",
"resetMetric": "Reimposta",
"deviceTypeToggle": "Priorità per tipo di dispositivo ({count})",
"deviceTypeHelp": "All’interno di una fonte, quale dispositivo prevale. Quando un Apple Watch e un iPhone registrano entrambi i passi, il tipo di dispositivo più in alto conta come lettura canonica.",
"deviceTypeDefault": "Ordine predefinito per tipo di dispositivo",
"resetDeviceTypes": "Reimposta i tipi di dispositivo",
"metrics": {
"steps": "Passi",
"activeEnergy": "Energia attiva",
"walkingRunningDistance": "Distanza a piedi + corsa",
"flightsClimbed": "Piani saliti",
"sleep": "Sonno",
"weight": "Peso",
"bloodPressure": "Pressione arteriosa",
"pulse": "Polso",
"bodyFat": "Massa grassa",
"bodyTemperature": "Temperatura corporea",
"spo2": "Saturazione di ossigeno",
"hrv": "Variabilità della frequenza cardiaca",
"restingHeartRate": "Frequenza cardiaca a riposo",
"vo2Max": "VO2 max",
"skinTemperature": "Temperatura cutanea",
"respiratoryRate": "Frequenza respiratoria",
"recovery": "Recupero"
},
"sourceLabels": {
"WITHINGS": "Withings",
"APPLE_HEALTH": "Apple Health",
"MANUAL": "Inserimento manuale",
"IMPORT": "Importa",
"WHOOP": "WHOOP",
"FITBIT": "Fitbit",
"COMPUTED": "Calcolato"
},
"deviceLabels": {
"watch": "Orologio",
"band": "Bracciale",
"ring": "Anello",
"phone": "Telefono",
"scale": "Bilancia",
"other": "Altro",
"unknown": "Sconosciuto"
}
},
"ai": {
"title": "Analisi IA",
"description": "Provider, modello, chiave."
},
"api": {
"title": "API & Tokens",
"description": "Token Bearer per i tuoi script e le tue app — registra misurazioni o assunzioni di farmaci da ovunque."
},
"advanced": {
"title": "Avanzate",
"description": "Interruttore opt-in della modalità Ricerca e zona pericolosa per cancellare in modo irrevocabile tutti i dati di salute."
},
"export": {
"title": "Esporta",
"description": "Scarica i tuoi dati sanitari come PDF, CSV o backup JSON completo.",
"otherOptionsHeading": "Altre opzioni di esportazione",
"downloadFailed": "Impossibile scaricare l'esportazione. Riprova.",
"hero": {
"eyebrow": "Visita medica",
"valueStatement": "Un referto PDF stampabile per la visita medica — parametri vitali, BMI, classificazione della pressione, aderenza alla terapia e (facoltativamente) l'andamento dell'umore, in poche pagine.",
"cta": "Configura e genera il referto",
"formatHint": "PDF · pronto per la stampa"
},
"actions": {
"download": "Scarica"
},
"filters": {
"since": "Da",
"until": "Fino al"
},
"cards": {
"doctorReport": {
"title": "Referto medico",
"description": "PDF stampabile per la visita medica — parametri vitali, IMC, classificazione della pressione, aderenza ai farmaci, umore."
},
"measurementsCsv": {
"title": "Misurazioni",
"description": "Peso, pressione, polso, glicemia e tutte le altre misurazioni in valori separati da virgola."
},
"medicationsCsv": {
"title": "Farmaci",
"description": "Il tuo elenco di farmaci con dosaggio, orari e (facoltativamente) lo storico completo delle assunzioni.",
"includeIntake": "Includi lo storico delle assunzioni"
},
"moodCsv": {
"title": "Umore",
"description": "Voci di umore giornaliere con punteggio, tag e orari."
},
"fullBackup": {
"title": "Backup completo",
"description": "Un unico file JSON con tutto — stesso formato del backup automatico settimanale. Utile per il ripristino autonomo tramite il caricamento da amministratore."
}
}
},
"about": {
"title": "Informazioni su questa app",
"description": "Versione, licenza, link."
},
"sharing": {
"title": "Condivisione",
"description": "Crea un link di sola lettura per condividere la tua cartella clinica con un medico."
}
},
"profile": "Profilo",
"language": "Lingua",
"languageDescription": "Scegli la lingua di visualizzazione dell’applicazione.",
"username": "Nome utente",
"height": "Altezza (cm)",
"dateOfBirth": "Data di nascita",
"dateOfBirthHint": "Usato per il calcolo automatico degli obiettivi di pressione arteriosa.",
"gender": "Sesso",
"genderNone": "Non specificato",
"genderMale": "Uomo",
"genderFemale": "Donna",
"genderHint": "Usato per valori obiettivo specifici per sesso.",
"timezone": "Fuso orario",
"timezoneHint": "Usato per le etichette degli assi dei grafici, gli orari dei promemoria, gli orari di esportazione e il contesto del Coach. I dati memorizzati restano invariati.",
"timezoneInvalid": "Non è un fuso orario IANA valido.",
"profileSaved": "Profilo salvato",
"avatar": {
"title": "Foto del profilo",
"description": "Carica una foto archiviata sul tuo server. Appare in tutta l'app al posto di un servizio di avatar esterno.",
"upload": "Carica foto",
"replace": "Sostituisci foto",
"remove": "Rimuovi",
"hint": "JPEG, PNG o WebP. Fino a 2 MB e 2048×2048 pixel.",
"uploaded": "Foto del profilo aggiornata",
"removed": "Foto del profilo rimossa",
"invalidType": "Tipo di immagine non supportato. Usa JPEG, PNG o WebP.",
"tooLarge": "L'immagine supera il limite di 2 MB.",
"error": "Impossibile aggiornare la foto del profilo. Riprova."
},
"changePassword": "Cambia password",
"changePasswordDescription": "Sostituisci la password attuale con una nuova.",
"passwordReset": "Reimposta password",
"currentPassword": "Password attuale",
"newPassword": "Nuova password",
"confirmNewPassword": "Conferma nuova password",
"passwordMismatch": "Le nuove password non coincidono",
"passwordUpdated": "Password aggiornata correttamente",
"passkeys": "Passkeys",
"registeredPasskeys": "Passkey registrate",
"passkeysDescription": "Le passkey consentono un accesso sicuro senza password.",
"passkeyName": "Nome",
"passkeyDevice": "Dispositivo",
"passkeyBackup": "Backup",
"passkeyCreated": "Creata",
"passkeyActions": "Azioni",
"noPasskeys": "Nessuna passkey registrata.",
"addPasskey": "Aggiungi passkey",
"passkeyAdded": "Passkey aggiunta correttamente!",
"passkeyOptionsError": "Impossibile caricare le opzioni della passkey",
"passkeyRegistrationFailed": "Registrazione della passkey non riuscita",
"passkeyRegistrationCancelled": "Registrazione della passkey annullata",
"passkeyNotSupported": "Il tuo browser o dispositivo non supporta ancora le passkey. Prova un altro browser o dispositivo.",
"passkeyAlreadyRegistered": "Questo dispositivo è già registrato come passkey del tuo account.",
"passkeySecurityBlocked": "Il tuo browser ha bloccato la richiesta di passkey per motivi di sicurezza. Assicurati di essere su un’origine HTTPS attendibile e riprova.",
"passkeyTimeout": "La richiesta della passkey è scaduta. Riprova.",
"passkeyUnknownError": "Registrazione della passkey non riuscita: {message}",
"deletePasskey": "Eliminare la passkey?",
"deletePasskeyDescription": "La passkey verrà eliminata definitivamente.",
"singleDevice": "Dispositivo singolo",
"multiDevice": "Multi-dispositivo",
"backedUp": "con backup",
"telegram": "Telegram Notifications",
"telegramDescription": "Get reminders for missed medication intake via Telegram.",
"botToken": "Token del bot",
"chatId": "ID chat",
"enableNotifications": "Attiva le notifiche",
"telegramStep1": "1. Crea un bot tramite @BotFather su Telegram e copia il token.",
"telegramStep2": "2. Invia /start al tuo bot per attivare la chat.",
"telegramStep3": "3. Trova il tuo ID chat tramite @userinfobot o l’API del bot.",
"ntfy": "ntfy",
"ntfyDescription": "Notifiche tramite ntfy (self-hosted o ntfy.sh).",
"ntfyEnable": "Attiva ntfy",
"ntfyServer": "URL del server",
"ntfyTopic": "Topic",
"ntfyAuthToken": "Token di autenticazione (facoltativo)",
"ntfyAuthTokenHint": "Necessario solo per topic privati con controllo degli accessi.",
"webPush": "Push del browser",
"webPushDescription": "Ricevi notifiche direttamente nel browser, anche quando HealthLog non è aperto.",
"webPushNotSupported": "Il tuo browser non supporta le notifiche push.",
"webPushDenied": "Le notifiche push sono bloccate. Consentile nelle impostazioni del browser.",
"webPushNotConfigured": "Web Push non è configurato sul server.",
"webPushSubscribe": "Attiva push",
"webPushUnsubscribe": "Disattiva push",
"webPushSubscribed": "Notifiche push attivate!",
"webPushUnsubscribed": "Notifiche push disattivate.",
"webPushSubscribeFailed": "Attivazione non riuscita",
"webPushActive": "Attivo",
"kiInsightsDescription": "Facoltativo: salva la tua chiave OpenAI per analisi giornaliere e automatiche in Insights.",
"codexConnected": "ChatGPT connesso correttamente! Insights è ora attivo.",
"codexDisconnected": "Connessione a ChatGPT rimossa.",
"codexConnectionFailed": "Connessione a ChatGPT non riuscita. Riprova.",
"rawData": "Invia dati grezzi",
"rawDataOnDescription": "Vengono inviate metriche aggregate più punti grezzi anonimizzati degli ultimi 30 giorni. Ciò include misurazioni per singola metrica (ad esempio peso, pressione, polso) con contesto temporale, in modo che il provider possa rilevare in modo più affidabile schemi, valori anomali e correlazioni. Nome, e-mail e identificatori diretti dell’account non vengono trasmessi.",
"rawDataOffDescription": "Vengono inviate solo metriche riassuntive (ad esempio medie, tendenze, minimo/massimo). Nessun punto individuale e nessun contesto temporale preciso. Questo tutela meglio la privacy, ma il provider può essere meno preciso su schemi e oscillazioni a breve termine.",
"rawDataWarning": "Modalità grezza attiva: il provider riceve ulteriori punti anonimizzati degli ultimi 30 giorni per un’analisi più precisa.",
"regenerateInsights": "Rigenera i report",
"regenerateSuccess": "Report rigenerati correttamente",
"regenerateRateLimit": "Attendi — hai raggiunto il limite orario di analisi.",
"lastGeneratedAt": "Ultima generazione",
"ai": {
"chatgptConnectedBadge": "ChatGPT connesso",
"adminAiActiveBadge": "Provider amministratore attivo",
"connectionExpiredBadge": "Connessione scaduta",
"connectedSince": "Connesso da {when}.",
"deviceCodeHeading": "Completa la connessione su chatgpt.com",
"deviceCodeStep1": "Apri questo link su qualsiasi dispositivo:",
"deviceCodeStep2": "Inserisci questo codice monouso:",
"deviceCodeStep3": "Approva la connessione — questa pagina si aggiorna automaticamente.",
"deviceCodeCopy": "Copia",
"deviceCodeWaiting": "In attesa di approvazione…",
"deviceCodeCancel": "Annulla",
"oauthNotConfigured": "L’OAuth di ChatGPT non è configurato su questa istanza — usa invece la tua chiave API qui sotto.",
"modelLabel": "Modello",
"modelOptionDefault": "— Predefinito —",
"modelOptionCustom": "Personalizzato…",
"customModelLabel": "Nome del modello personalizzato",
"anthropicKeyLabel": "Chiave API Anthropic",
"baseUrlLabel": "Base URL",
"localKeyLabel": "Chiave API (facoltativa)",
"savedPreview": "(salvata {preview})",
"savedShort": "(salvata)",
"saveCta": "Salva",
"saved": "Salvato",
"saveFailed": "Salvataggio non riuscito",
"errorGeneric": "Errore",
"providerChain": {
"types": {
"codex": "ChatGPT (Codex)",
"openai": "OpenAI (la tua chiave)",
"anthropic": "Anthropic (Claude)",
"local": "Modello locale",
"admin-openai": "OpenAI amministratore"
},
"title": "Catena di fallback",
"description": "Se il provider principale fallisce, HealthLog percorre la catena in ordine. Trascina le righe per riordinarle; usa l’interruttore per disattivare un provider senza rimuoverlo.",
"moveUp": "Sposta su",
"moveDown": "Sposta giù",
"removeFromChain": "Rimuovi dalla catena",
"addProvider": "Aggiungi provider",
"addNoneAvailable": "Tutti i provider sono già nella catena",
"saveOrder": "Salva l’ordine della catena",
"saved": "Catena salvata",
"saveFailed": "Salvataggio della catena non riuscito",
"resetDefaults": "Ripristina",
"resetConfirmTitle": "Ripristinare la catena ai valori predefiniti?",
"resetConfirmBody": "La catena torna a Codex → OpenAI → Anthropic → Locale → OpenAI amministratore. Le credenziali salvate non vengono toccate."
},
"activeProviderHeading": "Provider attivo",
"activeProviderBody": "Scegli il provider da usare per primo. Il modulo qui sotto configura solo il provider selezionato; la catena di fallback in fondo decide cosa accade se fallisce.",
"activeProviderLabel": "Provider principale",
"providerConfigTitle": "Configurazione del provider",
"providerSelect": {
"codex": "Account ChatGPT (Codex)",
"openai": "OpenAI (la tua chiave API)",
"anthropic": "Anthropic (Claude)",
"local": "Modello locale (compatibile con OpenAI)",
"admin-openai": "OpenAI fornito dall’amministratore"
},
"openai": {
"modelSelect": "Modello",
"modelOptionCustom": "Slug personalizzato…",
"modelCustomLabel": "Slug del modello personalizzato",
"modelCustomPlaceholder": "gpt-5",
"baseUrlLabel": "URL base (avanzato)",
"baseUrlPlaceholder": "https://api.openai.com/v1",
"baseUrlHelp": "Sovrascrivi solo se usi un gateway compatibile con OpenAI. Lascia vuoto per OpenAI stesso.",
"showAdvanced": "Mostra avanzate",
"hideAdvanced": "Nascondi avanzate",
"apiKey": "Chiave API",
"apiKeyPlaceholder": "sk-…"
},
"codex": {
"statusConnected": "Connesso",
"statusDisconnected": "Non connesso",
"statusExpired": "Connessione scaduta",
"connectButton": "Connetti con ChatGPT",
"disconnectButton": "Disconnetti",
"modelSlugLabel": "Slug del modello",
"modelSlugBody": "Codex usa il modello a cui instrada il tuo abbonamento ChatGPT. La variabile d’ambiente CODEX_MODEL consente all’operatore di sovrascriverlo sull’istanza.",
"lastInsight": "Ultima analisi: {when}"
},
"adminOpenai": {
"title": "OpenAI amministratore",
"body": "Chiave OpenAI fornita dall’operatore. Usata come ultima risorsa quando nessun provider personale è configurato. Non c’è nulla da configurare in questa riga — la sua visibilità indica che l’operatore l’ha attivata.",
"notConfigured": "L’operatore non ha configurato una chiave OpenAI condivisa su questa istanza."
},
"testProvider": "Prova il provider attivo",
"testSuccess": "OK — {provider} ({model})",
"testFailedShort": "Prova non riuscita: {message}",
"testUnexpectedResponse": "Connessione al provider IA non riuscita — risposta inattesa dal server.",
"testReasonCredentials": "Il provider ha rifiutato le credenziali — autenticati di nuovo nelle impostazioni IA.",
"testReasonRateLimited": "Il provider ha limitato la richiesta — riprova a breve.",
"testReasonServerError": "Il provider IA ha restituito un errore del server.",
"testReasonUnreachable": "Impossibile raggiungere il provider IA.",
"coachMemory": {
"title": "Ciò che il Coach ricorda",
"description": "Informazioni durature che hai comunicato al Coach. Le usa per mantenere pertinenti le sue risposte. Rimuovi tutto ciò che preferisci dimentichi.",
"empty": "Il Coach non ha ancora memorizzato alcuna informazione. Mentre chatti, ricorda i dettagli duraturi che condividi — i tuoi obiettivi, le condizioni, le preferenze — e puoi cancellarli qui in qualsiasi momento.",
"learnedPrefix": "appreso {when}",
"categoryPreference": "Preferenze",
"categoryCondition": "Condizioni",
"categoryGoal": "Obiettivi",
"categoryConstraint": "Vincoli",
"categoryContext": "Contesto",
"forget": "Dimentica",
"forgetAria": "Dimentica questa informazione",
"forgetAll": "Dimentica tutto",
"forgetAllConfirmTitle": "Dimenticare tutto ciò che il Coach ricorda?",
"forgetAllConfirmBody": "Questo rimuove tutte le informazioni memorizzate. Il Coach ripartirà da zero alla prossima chat. L'operazione non può essere annullata.",
"forgetAllConfirmAction": "Dimentica tutto",
"cancel": "Annulla",
"summaryNote": "Il Coach può anche conservare un breve riassunto progressivo di ogni conversazione. Non esiste un controllo per ogni voce — eliminando una conversazione si elimina anche il suo riassunto.",
"loadError": "Impossibile caricare ciò che il Coach ricorda.",
"forgotToast": "Informazione dimenticata.",
"forgotError": "Impossibile dimenticare questa informazione. Riprova.",
"clearedToast": "Dimenticate {count} informazioni memorizzate.",
"clearError": "Impossibile cancellare le informazioni memorizzate. Riprova."
},
"disableCoach": {
"title": "Nascondi il Coach",
"description": "Nasconde il pulsante e il pannello del Coach su tutte le pagine.",
"toggleAria": "Nascondi il pulsante e il pannello del Coach",
"savedHidden": "Coach nascosto.",
"savedShown": "Coach visibile.",
"saveError": "Impossibile salvare la modifica. Riprova."
}
},
"dashboard": {
"units": {
"title": "Unità",
"description": "Scegli come vengono mostrate distanze e velocità nei grafici e nei riquadri.",
"metric": "Metrico",
"imperial": "Imperiale",
"saved": "Preferenza unità salvata.",
"saveError": "Impossibile salvare la preferenza delle unità."
}
},
"withings": "Withings",
"withingsDescription": "Collega la tua bilancia e i misuratori di pressione Withings.",
"withingsCredentials": "Credenziali API",
"withingsClientId": "ID client",
"withingsClientSecret": "Secret client",
"withingsCredentialsSaved": "Credenziali salvate",
"withingsCredentialsSavedPlaceholder": "Salvato — inseriscine uno nuovo per sostituirlo",
"withingsCredentialsSavedPlaceholderSecret": "Salvato — inseriscine uno nuovo per sostituirlo",
"withingsSaveCredentials": "Salva credenziali",
"configured": "Configurato",
"withingsSync": "Sincronizza ora",
"withingsFullSync": "Sincronizza tutti i dati",
"withingsFullSyncTitle": "Sincronizzazione completa?",
"withingsFullSyncDescription": "Tutti i dati Withings disponibili verranno sincronizzati completamente. Potrebbe richiedere del tempo a seconda del tuo storico.",
"withingsSyncResult": "{count} misurazioni sincronizzate",
"withingsFullSyncResult": "{count} misurazioni sincronizzate completamente",
"withingsSyncFailed": "Sincronizzazione non riuscita",
"withingsSynchronize": "Sincronizza",
"withingsDisconnect": "Disconnetti",
"withingsDisconnectTitle": "Disconnettere Withings?",
"withingsDisconnectDescription": "La connessione a Withings verrà interrotta. I dati già sincronizzati saranno conservati.",
"withingsConnect": "Connetti con Withings",
"withingsNoCredentials": "Inserisci prima le tue credenziali API qui sopra per collegare Withings.",
"whoop": "WHOOP",
"whoopDescription": "Collega la tua fascia WHOOP per sincronizzare recupero, sonno, sforzo e allenamenti.",
"whoopOverlapNote": "Se WHOOP e un'altra fonte forniscono lo stesso valore vitale — frequenza cardiaca a riposo, ossigeno nel sangue, temperatura corporea, frequenza respiratoria o fasi del sonno —, potresti vedere entrambi i valori finché un futuro aggiornamento non sceglierà un'unica fonte preferita.",
"whoopCredentials": "Credenziali API",
"whoopCredentialsHelp": "Registra la tua app sviluppatore WHOOP e incolla qui il suo Client ID e Client Secret.",
"whoopClientId": "Client ID",
"whoopClientSecret": "Client Secret",
"whoopCredentialsSaved": "Credenziali salvate",
"whoopCredentialsSavedPlaceholder": "Salvato — inserisci nuove per sostituire",
"whoopCredentialsSavedPlaceholderSecret": "Salvato — inserisci nuove per sostituire",
"whoopSaveCredentials": "Salva credenziali",
"whoopSync": "Sincronizza ora",
"whoopFullSync": "Sincronizza tutti i dati",
"whoopFullSyncTitle": "Sincronizzazione completa?",
"whoopFullSyncDescription": "Verrà sincronizzato tutto lo storico WHOOP disponibile. Potrebbe richiedere tempo a seconda del tuo storico.",
"whoopSyncResult": "{count} misurazioni sincronizzate",
"whoopSyncFailed": "Sincronizzazione non riuscita",
"whoopSynchronize": "Sincronizza",
"whoopDisconnect": "Disconnetti",
"whoopDisconnectTitle": "Disconnettere WHOOP?",
"whoopDisconnectDescription": "La connessione a WHOOP verrà disconnessa. I dati già sincronizzati saranno conservati.",
"whoopConnect": "Connetti con WHOOP",
"whoopNoCredentials": "Inserisci le tue credenziali API qui sopra per connettere WHOOP.",
"whoopBackfillInProgress": "Importazione dello storico WHOOP in background…",
"fitbit": "Google Health",
"fitbitTag": "Fitbit e Pixel",
"fitbitDescription": "Collega Google Health per sincronizzare i dati di Fitbit e Pixel Watch: peso, massa grassa, frequenza cardiaca a riposo, saturazione di ossigeno, variabilità della frequenza cardiaca e altro.",
"fitbitOverlapNote": "Se Google Health e un'altra fonte forniscono lo stesso parametro vitale — frequenza cardiaca a riposo, saturazione di ossigeno, temperatura corporea o frequenza respiratoria —, potresti vedere entrambi i valori finché un futuro aggiornamento non sceglierà un'unica fonte preferita.",
"fitbitExperimentalBadge": "Sperimentale",
"fitbitExperimentalNote": "Questa integrazione è in versione beta: la copertura dei dati e la mappatura dei campi sono ancora in fase di verifica con account Google Health reali, quindi alcuni valori potrebbero mancare o cambiare in un futuro aggiornamento.",
"fitbitCredentials": "Credenziali API",
"fitbitCredentialsHelp": "Registra il tuo client OAuth di Google Cloud per l'API Google Health e incolla qui il suo Client ID e Client Secret.",
"fitbitClientId": "Client ID",
"fitbitClientSecret": "Client Secret",
"fitbitCredentialsSaved": "Credenziali salvate",
"fitbitCredentialsSavedPlaceholder": "Salvato — inserisci nuove per sostituire",
"fitbitCredentialsSavedPlaceholderSecret": "Salvato — inserisci nuove per sostituire",
"fitbitSaveCredentials": "Salva credenziali",
"fitbitSync": "Sincronizza ora",
"fitbitFullSync": "Sincronizza tutti i dati",
"fitbitFullSyncTitle": "Sincronizzazione completa?",
"fitbitFullSyncDescription": "Tutto lo storico disponibile di Google Health verrà sincronizzato completamente. L'operazione può richiedere del tempo a seconda del tuo storico.",
"fitbitSyncResult": "{count} misurazioni sincronizzate",
"fitbitSyncFailed": "Sincronizzazione non riuscita",
"fitbitSynchronize": "Sincronizza",
"fitbitDisconnect": "Disconnetti",
"fitbitDisconnectTitle": "Disconnettere Google Health?",
"fitbitDisconnectDescription": "La connessione a Google Health verrà disconnessa. I dati già sincronizzati saranno conservati.",
"fitbitConnect": "Connetti con Google Health",
"fitbitNoCredentials": "Inserisci le tue credenziali API qui sopra per connettere Google Health.",
"fitbitBackfillInProgress": "Importazione dello storico Google Health in background…",
"integrations": {
"withings": {
"reconnect": {
"banner": {
"title": "Sincronizzazione attività disponibile",
"body": "La tua connessione Withings è stata autorizzata prima dell’aggiunta della sincronizzazione attività. Riconnettiti una volta per abilitare l’importazione di passi, energia attiva, distanza a piedi e di corsa, e piani saliti dai tuoi dispositivi Withings.",
"action": "Riconnetti Withings"
}
}
}
},
"integrationPill": {
"connected": "Connesso",
"errorReconnect": "Errore — riconnetti",
"warningServerError": "Connesso, errore del server",
"parkedReconnect": "In pausa — riconnettere manualmente",
"notConnected": "Non connesso",
"justNow": "proprio ora",
"minutesAgo": "{count} min fa",
"hoursAgo": "{count} h fa",
"daysAgo": "{count} g fa",
"ariaLabel": "Stato dell’integrazione",
"resumeCta": "Riconnetti",
"resumeSuccess": "Integrazione ripresa",
"resumeError": "Riconnessione fallita"
},
"apiTokens": "Token API",
"apiTokensDescription": "Crea token API per registrare assunzioni di farmaci esterne (ad es. Comandi rapidi, automazioni).",
"tokenNamePlaceholder": "Nome del token (ad es. Comando rapido iPhone)",
"tokenCreated": "Token creato — copialo ora! Non verrà mostrato di nuovo.",
"tokenCopy": "Copia token",
"tokenCopied": "Token copiato negli appunti",
"tokenCopyFailed": "Impossibile copiare il token",
"tokenRevokeFailed": "Impossibile revocare il token. Riprova.",
"tokenRevoke": "Revocare il token?",
"tokenRevokeAction": "Revoca token",
"tokenRevokeDescription": "Il token verrà disattivato definitivamente. Le applicazioni che lo usano perderanno l’accesso.",
"tokenRevoked": "Revocato",
"tokenExpired": "Scaduto",
"tokenActive": "Attivo",
"activeTokensTitle": "Token attivi",
"revokedTokensTitle": "Token revocati ({count})",
"tokenTableName": "Nome",
"tokenTablePermissions": "Autorizzazioni",
"tokenTableStatus": "Stato",
"tokenTableCreated": "Creato",
"tokenTableLastUsed": "Ultimo utilizzo",
"tokenTableActions": "Azioni",
"noActiveTokens": "Nessun token attivo disponibile.",
"tokenNeverUsed": "Mai",
"apiEndpointsTitle": "Endpoint API",
"apiEndpointsDescription": "Panoramica degli endpoint esterni attualmente disponibili per l’inserimento basato su token.",
"apiEndpointMethod": "Metodo",
"apiEndpointPath": "Percorso",
"apiEndpointAuth": "Autenticazione",
"apiEndpointExample": "Esempio di body",
"collapse": "Comprimi",
"expand": "Espandi",
"dangerZone": "Elimina tutti i dati",
"dangerZoneTitle": "Zona pericolosa",
"dangerZoneDescription": "Elimina tutti i tuoi dati sanitari e le integrazioni. Il tuo account utente verrà conservato.",
"dangerZoneConfirm": "Eliminare tutti i dati?",
"dangerZoneConfirmDescription": "Questa azione eliminerà definitivamente tutti i tuoi dati sanitari e le integrazioni. Il tuo account utente verrà conservato.",
"dangerZoneSuccess": "Tutti i dati personali sono stati eliminati",
"dangerZoneDeleteFailed": "Eliminazione non riuscita",
"finalDelete": "Elimina definitivamente",
"deleteAccountCardTitle": "Elimina completamente l’account",
"deleteAccountCardDescription": "Elimina il tuo account insieme a passkey, registro di controllo e sessioni. Questa azione non può essere annullata.",
"deleteAccountCta": "Elimina account",
"deleteAccountConfirmTitle": "Eliminare definitivamente l’account?",
"deleteAccountConfirmDescription": "Il tuo account, tutti i dati sanitari, le passkey, le sessioni e le voci di audit verranno eliminati definitivamente. Verrai disconnesso subito dopo.",
"deleteAccountSuccess": "Account eliminato — disconnessione in corso.",
"deleteAccountFailed": "Impossibile eliminare l’account",
"deleteAccountFinal": "Elimina definitivamente",
"saved": "Salvato",
"savingError": "Errore durante il salvataggio",
"moodLogTitle": "moodLog",
"moodLogDescription": "Import mood data from moodLog",
"moodLogDeprecated": "Obsoleto: l’umore ora è registrato nativamente in HealthLog con tag e fattori. Questa integrazione funziona ancora ma verrà rimossa in una versione futura.",
"moodLogUrl": "moodLog URL",
"moodLogUrlPlaceholder": "https://mood.example.com",
"moodLogApiKey": "Chiave API",
"moodLogApiKeyPlaceholder": "ml_...",
"moodLogWebhookSecret": "Secret del webhook",
"moodLogWebhookSecretHelp": "Inserisci questo secret in moodLog come secret del webhook",
"moodLogSync": "Sincronizza ora",
"moodLogFullSync": "Sincronizza tutti i dati",
"moodLogFullSyncConfirm": "Sincronizza",
"moodLogFullSyncTitle": "Sincronizzazione completa?",
"moodLogFullSyncDescription": "Tutti i dati sull’umore disponibili verranno sincronizzati completamente.",
"moodLogDisconnect": "Disconnetti",
"moodLogDisconnectTitle": "Disconnettere moodLog?",
"moodLogDisconnectDescription": "La connessione verrà rimossa e tutti i dati sull’umore importati verranno eliminati.",
"moodLogEntries": "Voci",
"moodLogSyncResult": "{count} voci sincronizzate",
"moodLogSyncFailed": "Sincronizzazione non riuscita",
"moodLogDisconnected": "moodLog disconnesso",
"about": {
"version": "Versione dell’app",
"gitSha": "Build",
"builtAt": "Compilato {time}",
"builtAtLabel": "Compilato",
"license": "Licenza",
"repository": "Codice sorgente",
"changelog": "Changelog",
"docs": "Documentazione",
"linksHeading": "Fonti e documentazione",
"newerAvailable": "Nuova versione: {tag}",
"tourReplay": "Rivedi il tour",
"tourReplayHint": "Guarda il tour della dashboard — utile se l'hai saltato alla prima visita."
},
"testConnection": {
"test": "Prova connessione",
"testing": "Test in corso…",
"ok": "Connesso (latenza {latency} ms)",
"errors": {
"credentials_rejected": "Credenziali rifiutate — controlla il token",
"rate_limited": "Limitato dal servizio upstream",
"timeout": "Richiesta scaduta",
"upstream_error": "Il servizio upstream ha restituito un errore",
"connection_failed": "Connessione non riuscita",
"not_configured": "Non configurato",
"url_not_public": "L’URL non è un endpoint pubblico",
"url_invalid": "L’URL non è valido",
"redirected": "L’endpoint reindirizza — controlla l’URL",
"endpoint_not_found": "Endpoint non trovato all’URL",
"credentials_unreadable": "Impossibile decifrare le credenziali",
"upstream_invalid_json": "Il servizio upstream ha inviato un JSON non valido",
"vapid_not_configured": "Web Push non configurato (chiavi VAPID mancanti)",
"rate_limited_self": "Troppe richieste di prova",
"generic": "Prova non riuscita"
}
},
"notificationStatus": {
"title": "Channel reliability",
"description": "Live status of every notification channel — Auto-disabled means HealthLog stopped retrying after a permanent error.",
"emptyDescription": "Nessun canale ancora configurato. Aggiungi un canale qui sotto per iniziare a monitorarne la consegna.",
"stateActive": "Attivo",
"stateAutoDisabled": "Disattivato automaticamente",
"stateSendingPaused": "Invio in pausa",
"stateManuallyDisabled": "Disabilitato",
"lastSuccess": "Ultimo invio riuscito",
"lastFailure": "Ultimo errore",
"consecutiveFailures": "Errori consecutivi",
"disabledReason": "Motivo",
"nextRetry": "Prossimo tentativo",
"reEnable": "Riattiva",
"sendTest": "Invia prova"
},
"identity": {
"description": "Dati facoltativi per l’esportazione della cartella clinica (copertina PDF + esportazione FHIR). Tutti i campi sono facoltativi.",
"fullName": "Nome completo",
"fullNamePlaceholder": "es. Maria Rossi",
"insurer": "Assicurazione sanitaria",
"insurerPlaceholder": "es. AOK Bayern",
"insuranceNumber": "Numero di assicurato (KVNR)",
"insuranceNumberHint": "10 caratteri: una lettera + nove cifre (es. A123456780)."
},
"healthRecord": {
"title": "Esporta cartella clinica",
"description": "Genera una cartella clinica completa per il medico — come PDF, strutturata (FHIR) o pacchetto combinato.",
"format": "Formato",
"format_pdf": "PDF",
"format_fhir": "Strutturato (FHIR)",
"format_package": "Pacchetto: PDF + FHIR",
"range": "Periodo",
"range90": "Ultimi 90 giorni",
"range180": "Ultimi 6 mesi",
"range365": "Ultimi 12 mesi",
"practiceName": "Studio (facoltativo)",
"practiceNamePlaceholder": "es. Dr. Rossi",
"includedData": "Dati inclusi",
"groupVitals": "Parametri vitali",
"groupCardio": "Cuore & fitness",
"groupActivity": "Attività & sonno",
"weight": "Peso",
"bp": "Pressione sanguigna",
"pulse": "Polso",
"oxygenSaturation": "Saturazione di ossigeno",
"bodyFat": "Massa grassa",
"bodyComposition": "Composizione corporea",
"restingHeartRate": "Frequenza a riposo",
"hrv": "Variabilità della frequenza cardiaca",
"vo2max": "VO₂max",
"steps": "Passi",
"distance": "Distanza",
"sleep": "Sonno",
"glucose": "Glicemia",
"medications": "Farmaci e aderenza",
"mood": "Umore (disattivato di default — dati sensibili)",
"bmi": "BMI",
"includeCharts": "Incorpora grafici di tendenza (solo PDF)",
"includeAiSummary": "Aggiungi riepilogo IA (non validato clinicamente)",
"fhirNote": "L’output strutturato segue lo standard FHIR R4 (compatibile ePA).",
"generate": "Genera",
"error": "Esportazione non riuscita ({code})."
},
"globalExcludedInjectionSitesLabel": "Siti di iniezione esclusi globalmente",
"globalExcludedInjectionSitesHint": "I siti elencati qui non vengono proposti per alcun farmaco e vengono rifiutati al momento della registrazione di una dose, anche se un farmaco li preferisce.",
"sharing": {
"createTitle": "Nuovo link di condivisione",
"createDescription": "Il link è di sola lettura e a tempo. Il token viene mostrato una sola volta alla creazione — salvalo subito; non può essere recuperato.",
"label": "Etichetta",
"labelPlaceholder": "es. Dott. Rossi — controllo annuale",
"range": "Giorni di cronologia",
"rangeHint": "Fin dove si estende la finestra condivisa.",
"expiry": "Scade tra (giorni)",
"expiryHint": "Al massimo {max} giorni.",
"expiryInvalid": "La scadenza deve essere tra 1 e {max} giorni.",
"fhirApi": "Consenti API FHIR limitata",
"fhirApiHint": "Lascia che il link offra un endpoint FHIR di sola lettura oltre alla vista della pagina.",
"resourceTypes": "Tipi di risorsa FHIR",
"create": "Crea link",
"tokenCreated": "Link di condivisione creato",
"tokenOnce": "Copia ora questo link — il token viene mostrato una sola volta e non può essere recuperato.",
"copy": "Copia link",
"copied": "Copiato negli appunti.",
"activeTitle": "Link attivi",
"noActive": "Nessun link di condivisione attivo.",
"created": "Creato",
"expires": "Scade",
"accessCount": "Visualizzazioni",
"revoke": "Revoca",
"revokeDescription": "Revoca subito questo link. Chiunque lo possieda perde immediatamente l'accesso. L'operazione è irreversibile.",
"statusActive": "Attivo",
"statusRevoked": "Revocato",
"statusExpired": "Scaduto",
"inactiveTitle": "Revocati e scaduti ({count})"
}
},
"admin": {
"title": "Administration",
"subtitle": "Stato del sistema, utenti e impostazioni",
"settingsSaveError": "Impossibile salvare le impostazioni",
"systemStatus": "Stato del sistema",
"database": "Database",
"databaseConnected": "Connesso",
"databaseError": "Errore",
"startedAt": "Avviato",
"users": "Utenti",
"measurementsCount": "Misurazioni",
"activeTokens": "Token API attivi",
"activeSessions": "Sessioni attive",
"loadingStatus": "Caricamento stato...",
"systemStatusLoadError": "Impossibile caricare lo stato del sistema.",
"systemStatusRetry": "Riprova",
"adminSettingsLoadError": "Impossibile caricare le impostazioni di amministrazione. Gli interruttori sottostanti potrebbero non riflettere lo stato attuale: ricarica la pagina.",
"hostMetrics": {
"title": "Carico dell'host",
"load1": "Carico (1m)",
"memUsedPercent": "Memoria",
"diskBusyPercent": "Disk I/O",
"last2hours": "Ultime 2 ore",
"empty": "Campionamento avviato: i dati compaiono tra 1–2 minuti.",
"loadError": "Impossibile caricare le metriche dell'host. Prova a ricaricare la pagina."
},
"aiQuality": {
"title": "Qualità delle analisi",
"loading": "Caricamento riepilogo feedback...",
"loadError": "Impossibile caricare il riepilogo sulla qualità delle analisi. Prova a ricaricare la pagina.",
"empty": "Ancora nessun feedback. L'aggregatore viene eseguito ogni giorno alle 04:00: non appena gli utenti valutano i consigli, qui compaiono i tassi di utilità.",
"windowLabel": "Ultimi {days} giorni",
"generatedAtLabel": "Generato",
"colSeverity": "Gravità",
"colMetric": "Metrica",
"colProvider": "Provider",
"colPromptVersion": "Prompt",
"colHelpful": "Utile",
"colNotHelpful": "Non utile",
"colHelpfulRate": "Tasso di utilità"
},
"coachFeedback": {
"title": "Feedback del Coach",
"loading": "Caricamento riepilogo feedback del Coach...",
"loadError": "Impossibile caricare il riepilogo dei feedback del Coach. Prova a ricaricare la pagina.",
"empty": "Ancora nessun feedback sul Coach. L'aggregatore viene eseguito ogni giorno alle 04:00: non appena gli utenti valutano le risposte del Coach, qui compaiono i tassi di utilità.",
"windowLabel": "Ultimi {days} giorni",
"generatedAtLabel": "Generato",
"colPromptVersion": "Versione del prompt",
"colTone": "Tono",
"colVerbosity": "Livello di dettaglio",
"colHelpful": "Utile",
"colNotHelpful": "Non utile",
"colN": "n",
"colHelpfulRate": "Tasso di utilità"
},
"workerStatus": "Worker dei processi",
"workerRunning": "In esecuzione",
"workerStopped": "Arrestato",
"lastReminderCheck": "Ultimo controllo dei promemoria",
"appSettings": "Impostazioni dell'applicazione",
"registrationEnabled": "Consentire la registrazione",
"registrationEnabledDescription": "Se disattivato, i nuovi utenti non possono registrarsi.",
"defaultLanguage": "Lingua predefinita",
"defaultLanguageDescription": "Usata per i nuovi utenti e come ripiego.",
"defaultUserTimezone": "Fuso orario predefinito per i nuovi account",
"defaultUserTimezoneDescription": "Usato per i nuovi account privi di un fuso rilevato dal browser. Non influisce sugli utenti esistenti.",
"defaultUserTimezoneFallback": "Europe/Berlin (predefinito)",
"servicesGlobal": "Servizi (globale)",
"servicesGlobalDescription": "I servizi disattivati non sono disponibili per alcun utente.",
"telegramGlobal": "Consentire le notifiche Telegram.",
"ntfyGlobal": "Consentire le notifiche ntfy.",
"webPushGlobal": "Consentire le notifiche push del browser.",
"moodLogGlobal": "Consentire i promemoria del diario dell'umore.",
"integrationWebPush": "Web Push",
"integrationBugReport": "Segnalazione di bug",
"offlineGeoLabel": "Dati geografici",
"offlineGeoEnabled": "Offline (GeoLite2)",
"offlineGeoFallback": "Fallback (ipwho.is) — imposta MAXMIND_LICENSE_KEY in CI",
"apiGlobal": "Consentire endpoint API e token API.",
"umamiTitle": "Umami",
"umamiDescription": "Analisi web con Umami",
"glitchtipTitle": "GlitchTip",
"glitchtipDescription": "Tracciamento degli errori con GlitchTip",
"webPushVapidTitle": "Web Push VAPID",
"umamiEnabled": "Abilitare il tracciamento Umami.",
"umamiScriptUrl": "URL dello script Umami",
"umamiScriptUrlPlaceholder": "https://analytics.example.com/script.js",
"umamiWebsiteId": "ID del sito web Umami",
"umamiWebsiteIdPlaceholder": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"glitchtipEnabled": "Abilitare il tracciamento degli errori GlitchTip.",
"glitchtipDsn": "GlitchTip DSN",
"glitchtipDsnPlaceholder": "https://<public-key>@glitchtip.example.com/<project-id>",
"glitchtipEnvironment": "Ambiente GlitchTip",
"glitchtipEnvironmentPlaceholder": "production",
"webPushVapidDescription": "Configura qui le chiavi VAPID e il subject affinché il push del browser funzioni senza variabili d'ambiente.",
"webPushVapidPublicKey": "Chiave pubblica VAPID",
"webPushVapidPublicKeyPlaceholder": "BElx... (Base64URL)",
"webPushVapidPrivateKey": "Chiave privata VAPID",
"webPushVapidPrivateKeyPlaceholder": "Facoltativo: inserisci una nuova chiave privata",
"webPushVapidSubject": "Subject VAPID",
"webPushVapidSubjectPlaceholder": "mailto:you@example.com",
"configured": "Configurato",
"monitoringTestSuccess": "Evento di prova inviato",
"monitoringTestFailed": "Test di monitoraggio non riuscito",
"bugReportGithub": "Segnalazione di bug (GitHub Issues)",
"bugReportGithubDescription": "Configura il token delle issue di GitHub e il repository per le segnalazioni di bug in arrivo.",
"bugReportEnabledLabel": "Segnalazioni di bug attive",
"bugReportEnabledDescription": "Se disattivato, il pulsante di segnalazione nell'app viene nascosto: token e repository restano configurati.",
"assistant": {
"title": "Superfici dell'assistente",
"description": "Ogni interruttore nasconde una superficie guidata dal modello in tutta l'app senza rimuovere la configurazione del provider. Il master forza ogni opzione secondaria su off.",
"master": {
"title": "Assistente attivo",
"description": "Interruttore master per ogni superficie guidata dal modello. Quando spento, ogni opzione secondaria qui sotto è forzata su off."
},
"coach": {
"title": "Coach",
"description": "Drawer chat, pulsante di lancio e FAB mobile su ogni pagina Insights."
},
"briefing": {
"title": "Briefing giornaliero",
"description": "Scheda briefing, narrazione hero strip, griglia raccomandazioni e l'azione Rigenera."
},
"insightStatus": {
"title": "Schede di stato",
"description": "Schede di stato per metrica su ogni sotto-pagina /insights."
},
"correlations": {
"title": "Correlazioni",
"description": "Narrazione del tile di correlazione sulla panoramica Insights."
},
"healthScoreExplainer": {
"title": "Spiegatore Health-Score",
"description": "L'icona ? accanto alla riga del delta dell'Health-Score. La cifra del delta resta visibile in ogni caso."
}
},
"bugReportRepo": "Repository",
"bugReportRepoPlaceholder": "owner/repo",
"bugReportToken": "Token delle issue",
"bugReportTokenPlaceholder": "ghp_...",
"userManagement": "Gestione utenti",
"userName": "Nome",
"userEmail": "E-mail",
"userRole": "Ruolo",
"userPasskeys": "Passkeys",
"userCreated": "Creato",
"userActions": "Azioni",
"editUser": "Modifica utente",
"editUserTitle": "Modifica utente: {name}",
"demoteToUser": "Retrocedi a utente",
"promoteToAdmin": "Promuovi ad amministratore",
"toUser": "Imposta come utente",
"toAdmin": "Imposta come amministratore",
"ownRoleUnchangeable": "Impossibile cambiare il proprio ruolo",
"resetPassword": "Reimposta password",
"resetPasswordTitle": "Reimposta password: {name}",
"newPassword": "Nuova password",
"newPasswordPlaceholder": "Almeno 12 caratteri",
"passwordReset": "La password è stata reimpostata",
"reset": "Reimposta",
"loadingUsers": "Caricamento utenti...",
"apiTokens": "Token API",
"tokenUser": "Utente",
"tokenName": "Nome",
"tokenPermissions": "Autorizzazioni",
"tokenPermissionAll": "Tutto",
"tokenPermissionAllTooltip": "Autorizzazione jolly: questo token può chiamare qualsiasi route dell'API.",
"tokenStatus": "Stato",
"tokenLastUsed": "Ultimo utilizzo",
"tokenCreated": "Creato",
"tokenNeverUsed": "Mai",
"tokensEmptyTitle": "Ancora nessun token API",
"tokensEmptyDescription": "I token vengono emessi quando un client nativo accede o tramite Impostazioni → Account.",
"loginOverview": "Panoramica degli accessi",
"allAuthEvents": "Tutti gli eventi di autenticazione",
"failedOnly": "Solo non riusciti",
"loginEmptyDescription": "Qui compariranno accessi, disconnessioni e modifiche delle passkey.",
"loginEmptyFailedTitle": "Nessun tentativo di accesso non riuscito",
"loginEmptyFailedDescription": "Questo è lo stato sicuro. Passa a tutti gli eventi per vedere gli accessi riusciti.",
"loginEmptyResetFilter": "Mostra tutti gli eventi",
"showingEntries": "Mostrando {count} di {total} voci di autenticazione",
"status": "Stato",
"action": "Azione",
"ip": "IP",
"location": "Posizione",
"timestamp": "Ora",
"provider": "Provider",
"providerPassword": "Password",
"providerPasskey": "Passkey",
"providerApiToken": "Token API",
"providerWithings": "Withings",
"providerUnknown": "Sconosciuto",
"outcome": "Esito",
"outcomeSuccess": "Successo",
"outcomeFailed": "Non riuscito",
"auditDetails": "Dettagli",
"deleteAllData": "Elimina tutti i dati globalmente",
"deleteAllDescription": "Elimina tutti i dati di misurazioni, farmaci, integrazioni e log di tutti gli utenti. Gli account utente vengono conservati.",
"deleteAllConfirm": "Eliminare davvero tutti i dati?",
"deleteAllConfirmDescription": "Questa operazione eliminerà definitivamente tutte le misurazioni, i farmaci, gli eventi di assunzione, i token API, le connessioni Withings, le challenge di autenticazione aperte, i canali di notifica (Telegram, ntfy, Web Push), le sottoscrizioni push e le eliminazioni di messaggi Telegram in coda di tutti gli utenti. Gli account utente, il log di audit e i feedback inviati vengono conservati affinché la cancellazione resti tracciabile e le segnalazioni di bug restino gestibili.",
"deleteButton": "Elimina tutti i dati",
"finalDelete": "Elimina definitivamente",
"deletedResult": "Deleted: {measurements} measurements, {medications} Farmaci,{intakeEvents} intakes, {apiTokens} API tokens, {withingsConnections} Withings connections, {authChallenges} auth challenges, {notificationChannels} notification channels, {pushSubscriptions} push subscriptions, {telegramScheduledDeletions} queued Telegram deletions. Feedback rows preserved.",
"authRegister": "Registrazione",
"authLogin": "Accedi",
"authLoginPasskey": "Accesso con passkey",
"authLoginPassword": "Accesso con password",
"authLoginFailed": "Non riuscito",
"authLogout": "Disconnetti",
"authPasskeyRegister": "Passkey aggiunta",
"authPasskeyDelete": "Passkey eliminata",
"authTokenAutoissueNative": "Token client nativo emesso",
"authTokenRefresh": "Token rinnovato",
"authTokenRevoke": "Token revocato",
"medicationReminders": "Promemoria dei farmaci",
"medicationRemindersDescription": "Soglie per i cambi di colore dei badge di promemoria sulle schede dei farmaci.",
"reminderLateMinutes": "Soglia di ritardo (minuti)",
"reminderLateMinutesDescription": "Minuti dopo la fine della finestra prima che il badge passi da giallo ad arancione.",
"reminderMissedMinutes": "Soglia di mancata assunzione (minuti)",
"reminderMissedMinutesDescription": "Minuti dopo la fine della finestra prima che l'assunzione sia considerata mancata.",
"notificationTestSend": "Invia test",
"notificationTestSuccess": "Notifica di prova inviata",
"notificationTestFailed": "Impossibile inviare la notifica di prova",
"reminderCheckRun": "Esegui controllo dei promemoria",
"reminderCheckSuccess": "Controllo dei promemoria completato",
"reminderCheckFailed": "Impossibile eseguire il controllo dei promemoria",
"reminderCheckResults": "Risultati",
"reminderCheckNotifOn": "Notifiche attive",
"reminderCheckNotifOff": "Notifiche disattivate",
"reminderCheckEventsToday": "Eventi di oggi",
"reminderCheckNotifSent": "Inviate",
"feedback": {
"tabOpen": "Aperto",
"tabAcknowledged": "Preso in carico",
"tabResolved": "Risolto",
"tabArchived": "Archiviato",
"subject": "Oggetto",
"category": "Categoria",
"user": "Utente",
"createdAt": "Inviato",
"actions": "Azioni",
"details": "Dettagli",
"emptyTitle": "Tutto in ordine",
"emptyDescription": "Nessun feedback degli utenti in questo stato. Bug, domande e richieste di funzionalità inviati compariranno qui.",
"loading": "Caricamento feedback...",
"anonymous": "anonimo",
"categoryBug": "Bug",
"categoryFeature": "Funzionalità",
"categoryQuestion": "Domanda",
"categoryOther": "Altro",
"metadataHeading": "Metadati",
"metaUrl": "URL",
"metaLocale": "Lingua",
"metaUserAgent": "User agent",
"metaAppVersion": "Versione dell'app",
"screenshotHeading": "Screenshot",
"adminNote": "Nota amministrativa",
"adminNotePlaceholder": "Nota interna (non visibile all'utente)",
"saveNote": "Salva nota",
"noteSaved": "Nota salvata",
"actionAcknowledge": "Prendi in carico",
"actionResolve": "Risolvi",
"actionArchive": "Archivia",
"actionPublishGithub": "Pubblica su GitHub",
"publishedToGithub": "Pubblicato su GitHub",
"viewIssue": "Vedi issue",
"publishSuccess": "Issue creata",
"publishFailed": "Pubblicazione su GitHub non riuscita",
"updateFailed": "Aggiornamento non riuscito",
"archiveConfirm": "Archiviare questa voce di feedback?",
"submittedBy": "Inviato da"
},
"shell": {
"overview": "Panoramica",
"sectionsNav": "Sezioni di amministrazione"
},
"overview": {
"welcomeTitle": "Benvenuto,{name}",
"welcomeSubtitle": "Hai effettuato l'accesso come amministratore. Scegli una sezione per gestire HealthLog.",
"snapshotTitle": "Istantanea del sistema",
"snapshotVersion": "Versione",
"snapshotDatabase": "Database",
"snapshotWorker": "Worker",
"snapshotStarted": "Avviato",
"snapshotBuildSha": "Build SHA",
"snapshotBuiltAt": "Compilato il",
"snapshotOfflineGeo": "Dati geografici",
"snapshotOfflineGeoOn": "Offline (GeoLite2)",
"snapshotOfflineGeoOff": "Fallback (ipwho.is)",
"snapshotLoadError": "Impossibile caricare l'istantanea del sistema.",
"snapshotLoading": "Caricamento istantanea...",
"auditTitle": "Attività recente",
"auditEmpty": "Nessuna voce di audit recente.",
"auditLoadError": "Impossibile caricare l'attività recente.",
"auditLoading": "Caricamento attività...",
"auditViewAll": "Mostra tutto"
},
"section": {
"system-status": {
"title": "Stato del sistema",
"subtitle": "Stato di worker, database e integrazioni a colpo d'occhio."
},
"general": {
"title": "Generale",
"subtitle": "Registrazione, lingua predefinita e altri interruttori validi per l'intera app."
},
"services": {
"title": "Servizi",
"subtitle": "Abilita o disabilita i canali di notifica e le integrazioni a livello di sistema."
},
"integrations": {
"title": "Integrazioni",
"subtitle": "Configura Umami, GlitchTip, Web Push e le segnalazioni di bug."
},
"ai-quality": {
"title": "Qualità delle analisi",
"subtitle": "Punteggi di utilità raggruppati per gravità e provider, dagli ultimi 30 giorni di feedback degli utenti."
},
"assistant": {
"title": "Superfici dell'assistente",
"subtitle": "Attiva o disattiva ciascuna superficie guidata dal modello senza rimuovere la configurazione del provider."
},
"coach-feedback": {
"title": "Feedback del Coach",
"subtitle": "Tasso di utilità per versione del prompt, tono e livello di dettaglio del Coach degli ultimi 30 giorni."
},
"feedback": {
"title": "Feedback",
"subtitle": "Smista i feedback degli utenti, le segnalazioni di bug e le richieste di funzionalità."
},
"reminders": {
"title": "Promemoria",
"subtitle": "Regola le soglie dei promemoria dei farmaci ed esegui un controllo manuale."
},
"users": {
"title": "Utenti",
"subtitle": "Gestisci gli account utente, i ruoli e le sessioni attive.",
"filter": {
"all": "Tutto",
"admin": "Amministratori",
"user": "Utenti"
},
"forceLogout": "Forza la disconnessione",
"forceLogoutConfirmTitle": "Forzare la disconnessione di {name}?",
"forceLogoutConfirmBody": "Tutte le sessioni attive di questo utente verranno revocate. Dovrà accedere di nuovo su ogni dispositivo.",
"forceLogoutSuccess": "{name} disconnesso da {count} sessione/i",
"forceLogoutFailed": "Impossibile forzare la disconnessione",
"cannotLogoutSelf": "Non puoi forzare la tua disconnessione",
"emptyTitle": "Nessun utente in questa vista",
"emptyDescription": "Nessun utente corrisponde al filtro attuale.",
"emptyResetFilter": "Mostra tutti gli utenti"
},
"api-tokens": {
"title": "Token API",
"subtitle": "Token bearer attivi emessi a client nativi e integrazioni."
},
"login-overview": {
"title": "Panoramica degli accessi",
"subtitle": "Traccia di audit degli eventi di autenticazione e di amministrazione."
},
"auditLog": {
"filterActor": "Attore (ID utente o nome utente)",
"filterAction": "Azione",
"filterActionAll": "Tutte le azioni",
"filterTarget": "Destinazione (ID o percorso)",
"filterDate": "Intervallo di date",
"range24h": "Ultime 24 ore",
"range7d": "Ultimi 7 giorni",
"range30d": "Ultimi 30 giorni",
"rangeAll": "Tutto il tempo",
"perPage": "Per pagina",
"prev": "Precedente",
"next": "Avanti",
"pageOf": "Pagina {page} di {total}",
"export": "Esporta CSV",
"empty": "Nessuna voce di audit corrisponde ai filtri attuali."
},
"app-logs": {
"title": "Log dell'app",
"subtitle": "Visualizza i wide-event strutturati più recenti emessi da questo processo.",
"processNote": "Vengono mostrati solo i log del processo dell'app: i log del processo worker vanno su Loki quando l'integrazione è configurata. Il buffer è volatile e limitato a 500 voci.",
"filterTraceId": "ID traccia",
"filterAction": "L'azione contiene…",
"filterLevel": "Livello",
"levelAll": "Tutti i livelli",
"filterRange": "Finestra temporale",
"range15m": "Ultimi 15 minuti",
"range1h": "Ultima ora",
"range6h": "Ultime 6 ore",
"rangeAll": "Intero buffer",
"colLevel": "Livello",
"colTimestamp": "Marca temporale",
"colAction": "Azione",
"colDuration": "Durata",
"colTraceId": "Trace",
"showing": "Visualizzati {count} di un massimo di {bufferMax} eventi nel buffer",
"empty": "Il buffer è vuoto",
"emptyDescription": "Nessun evento corrisponde ancora ai filtri attuali. Premi Aggiorna dopo aver generato un po' di traffico.",
"refresh": "Aggiorna",
"eventDetails": "Dettagli dell'evento",
"closeDetails": "Chiudi dettagli"
},
"backups": {
"title": "Backup",
"subtitle": "Istantanee settimanali dei dati per utente archiviate in PostgreSQL.",
"description": "Ogni utente ha un'istantanea a rotazione per tipo di backup. Le dimensioni mostrano il blob cifrato: i contenuti non sono scaricabili da questa pagina.",
"runNow": "Esegui backup ora",
"runEnqueued": "Processo di backup messo in coda",
"runFailed": "Impossibile mettere in coda il backup",
"loading": "Caricamento backup...",
"loadError": "Impossibile caricare i backup.",
"emptyTitle": "Ancora nessun backup",
"emptyDescription": "I backup vengono eseguiti automaticamente ogni domenica alle 03:00, oppure avviane uno ora per creare la prima istantanea.",
"colUser": "Utente",
"colType": "Tipo",
"typeWeeklyAuto": "Settimanale (auto)",
"typeManual": "Manuale",
"colSize": "Dimensione",
"colCreatedAt": "Ultima istantanea",
"colActions": "Azioni",
"retentionLabel": "Conservazione: {days} giorni",
"download": "Scarica",
"downloadAria": "Scarica il backup di {username}",
"downloadFailed": "Download non riuscito",
"downloadStarted": "Download avviato",
"uploadTitle": "Carica backup",
"uploadDescription": "Convalida un file di backup e archivialo come istantanea manuale. Il ripristino è un passaggio separato.",
"uploadButton": "Carica file",
"uploadHelp": "File JSON conforme allo schema di backup attuale. Max 10 MB.",
"uploadSuccess": "Backup caricato ({count} record)",
"uploadFailed": "Caricamento non riuscito",
"restore": "Ripristina",
"restoreAria": "Ripristina dal backup di {username}",
"restoreTitle": "Ripristina dal backup",
"restoreDescription": "Questa operazione sostituirà TUTTI i dati attuali di {username} con l'istantanea del {when}. Misurazioni, farmaci, eventi di assunzione, voci dell'umore, canali di notifica, sottoscrizioni push ed eliminazioni Telegram in coda esistenti verranno eliminati.",
"restorePromptLabel": "Digita RESTORE per continuare",
"restoreConfirm": "Ripristina ora",
"restoreInProgress": "Ripristino in corso...",
"restoreSuccess": "Ripristino completato",
"restoreFailed": "Ripristino non riuscito",
"docsLink": "Documentazione"
},
"danger-zone": {
"title": "Zona pericolosa",
"subtitle": "Operazioni distruttive a livello di sistema."
},
"about": {
"title": "Informazioni",
"subtitle": "Versione, licenza, codice sorgente e verifica degli aggiornamenti."
}
},
"carrier": "Operatore",
"carrierUnknown": "Operatore sconosciuto",
"carrierUnavailableGeoFallback": "{location} — operatore non disponibile"
},
"achievements": {
"title": "Obiettivi",
"subtitle": "Ottieni obiettivi monitorando la tua salute e assumendo i farmaci in orario.",
"loginRequired": "Accedi per vedere gli obiettivi.",
"points": "Punti",
"unlocked": "Sbloccato",
"nextGoal": "Prossimo obiettivo",
"allCompleted": "Tutti gli obiettivi sbloccati!",
"completed": "Completato",
"goalReached": "Obiettivo raggiunto",
"remainingUnlocks": "Ancora {count} da sbloccare",
"noneUnlockedYet": "Nessun obiettivo ancora sbloccato.",
"pointsValue": "{points} punti",
"metricCount": "{count}",
"metricDays": "{count} giorni",
"metricPercent": "{count}%",
"badges": {
"intakeTotal1": {
"title": "Prima assunzione",
"description": "Registra la tua prima assunzione di farmaco."
},
"intakeTotal10": {
"title": "Principiante delle assunzioni",
"description": "Registra 10 assunzioni di farmaci."
},
"intakeTotal50": {
"title": "Routine delle assunzioni",
"description": "Registra 50 assunzioni di farmaci."
},
"intakeTotal150": {
"title": "Esperto delle assunzioni",
"description": "Registra 150 assunzioni di farmaci."
},
"intakeTotal300": {
"title": "Leggenda delle assunzioni",
"description": "Registra 300 assunzioni di farmaci."
},
"overIntake1": {
"title": "Doppia dose",
"description": "Assumi il farmaco almeno una volta in più del previsto."
},
"skippedIntake1": {
"title": "Pausa presa",
"description": "Salta almeno un’assunzione pianificata."
},
"passkeyCreated1": {
"title": "Passkey configurata",
"description": "Crea la tua prima passkey."
},
"passkeyLogin1": {
"title": "Accesso con passkey",
"description": "Accedi almeno una volta con una passkey."
},
"passwordLogin1": {
"title": "Vecchia scuola",
"description": "Accedi almeno una volta con nome utente e password."
},
"bugReport1": {
"title": "Cacciatore di bug",
"description": "Invia una segnalazione di bug."
},
"loginStreak7": {
"title": "Serie di accessi 7g",
"description": "Accedi per 7 giorni consecutivi."
},
"loginStreak30": {
"title": "Serie di accessi 30g",
"description": "Accedi per 30 giorni consecutivi."
},
"onTimePerfect1": {
"title": "Puntuale 1g",
"description": "Assumi tutti i farmaci in orario per 1 giorno."
},
"compliance801": {
"title": "Aderenza 80% · 1g",
"description": "Raggiungi almeno l’80% di aderenza su 30 giorni per 1 giorno."
},
"bmiGreen1": {
"title": "IMC nel verde · 1g",
"description": "Mantieni l’IMC nell’intervallo normale per 1 giorno."
},
"bpGreen1": {
"title": "Pressione nel verde · 1g",
"description": "Mantieni la pressione nell’intervallo normale per 1 giorno."
},
"pulseGreen1": {
"title": "Polso nel verde · 1g",
"description": "Mantieni il polso a riposo nell’intervallo normale per 1 giorno."
},
"onTimePerfect7": {
"title": "Puntuale 7g",
"description": "Assumi tutti i farmaci in orario per 7 giorni consecutivi."
},
"compliance807": {
"title": "Aderenza 80% · 7g",
"description": "Raggiungi almeno l’80% di aderenza su 30 giorni per 7 giorni consecutivi."
},
"bmiGreen7": {
"title": "IMC nel verde · 7g",
"description": "Mantieni l’IMC nell’intervallo normale per 7 giorni consecutivi."
},
"bpGreen7": {
"title": "Pressione nel verde · 7g",
"description": "Mantieni la pressione nell’intervallo normale per 7 giorni consecutivi."
},
"pulseGreen7": {
"title": "Polso nel verde · 7g",
"description": "Mantieni il polso a riposo nell’intervallo normale per 7 giorni consecutivi."
},
"onTimePerfect30": {
"title": "Puntuale 30g",
"description": "Assumi tutti i farmaci in orario per 30 giorni consecutivi."
},
"compliance8030": {
"title": "Aderenza 80% · 30g",
"description": "Raggiungi almeno l’80% di aderenza su 30 giorni per 30 giorni consecutivi."
},
"bmiGreen30": {
"title": "IMC nel verde · 30g",
"description": "Mantieni l’IMC nell’intervallo normale per 30 giorni consecutivi."
},
"bpGreen30": {
"title": "Pressione nel verde · 30g",
"description": "Mantieni la pressione nell’intervallo normale per 30 giorni consecutivi."
},
"pulseGreen30": {
"title": "Polso nel verde · 30g",
"description": "Mantieni il polso a riposo nell’intervallo normale per 30 giorni consecutivi."
},
"onTimePerfect180": {
"title": "Puntuale 180g",
"description": "Assumi tutti i farmaci in orario per 180 giorni consecutivi."
},
"compliance80180": {
"title": "Aderenza 80% · 180g",
"description": "Raggiungi almeno l’80% di aderenza su 30 giorni per 180 giorni consecutivi."
},
"bmiGreen180": {
"title": "IMC nel verde · 180g",
"description": "Mantieni l’IMC nell’intervallo normale per 180 giorni consecutivi."
},
"bpGreen180": {
"title": "Pressione nel verde · 180g",
"description": "Mantieni la pressione nell’intervallo normale per 180 giorni consecutivi."
},
"pulseGreen180": {
"title": "Polso nel verde · 180g",
"description": "Mantieni il polso a riposo nell’intervallo normale per 180 giorni consecutivi."
},
"onTimePerfect360": {
"title": "Puntuale 360g",
"description": "Assumi tutti i farmaci in orario per 360 giorni consecutivi."
},
"compliance80360": {
"title": "Aderenza 80% · 360g",
"description": "Raggiungi almeno l’80% di aderenza su 30 giorni per 360 giorni consecutivi."
},
"bmiGreen360": {
"title": "IMC nel verde · 360g",
"description": "Mantieni l’IMC nell’intervallo normale per 360 giorni consecutivi."
},
"bpGreen360": {
"title": "Pressione nel verde · 360g",
"description": "Mantieni la pressione nell’intervallo normale per 360 giorni consecutivi."
},
"pulseGreen360": {
"title": "Polso nel verde · 360g",
"description": "Mantieni il polso a riposo nell’intervallo normale per 360 giorni consecutivi."
},
"moodFirst": {
"title": "Primo umore",
"description": "Registra la tua prima voce di umore."
},
"moodStreak7": {
"title": "Diario dell’umore 7g",
"description": "Registra una voce di umore per 7 giorni consecutivi."
},
"moodStreak30": {
"title": "Diario dell’umore 30g",
"description": "Registra una voce di umore per 30 giorni consecutivi."
},
"moodUp7": {
"title": "Settimana più serena",
"description": "La tua media dell’umore di 7 giorni è migliorata di almeno 1,0 punto rispetto alla settimana precedente."
},
"weightFirst": {
"title": "Prima pesata",
"description": "Registra la tua prima misurazione del peso."
},
"weight50": {
"title": "Cinquanta pesate",
"description": "Registra 50 misurazioni del peso."
},
"weight200": {
"title": "200 pesate",
"description": "Registra 200 misurazioni del peso."
},
"bpFirst": {
"title": "Prima misurazione",
"description": "Registra la tua prima misurazione della pressione."
},
"bp50": {
"title": "Cinquanta misurazioni della pressione",
"description": "Registra 50 misurazioni della pressione."
},
"bp200": {
"title": "200 misurazioni della pressione",
"description": "Registra 200 misurazioni della pressione."
},
"pulseFirst": {
"title": "Primo polso",
"description": "Registra la tua prima misurazione del polso."
},
"consistentMonth": {
"title": "Mese costante",
"description": "Registra voci in almeno 25 giorni diversi nello stesso mese di calendario."
},
"entryStreak7": {
"title": "Serie di registrazioni 7g",
"description": "Registra almeno una voce per 7 giorni consecutivi."
},
"entryStreak30": {
"title": "Serie di registrazioni 30g",
"description": "Registra almeno una voce per 30 giorni consecutivi."
},
"weekendWarrior": {
"title": "Tracker del weekend",
"description": "Registra voci in 4 fine settimana consecutivi (sabato + domenica)."
},
"hiddenNightOwl": {
"title": "Nottambulo",
"description": "Hai registrato una voce tra le 02:00 e le 04:00 del mattino."
},
"hiddenEarlyBird": {
"title": "Mattiniero",
"description": "Hai registrato una voce tra le 04:00 e le 06:00 del mattino."
},
"hiddenLeapDay": {
"title": "Leggenda dell’anno bisestile",
"description": "Hai registrato una voce il 29 febbraio."
},
"hiddenDoctorPdf": {
"title": "Visita a domicilio",
"description": "Hai esportato il tuo primo referto medico in PDF."
},
"hiddenLocaleFlip": {
"title": "Poliglotta",
"description": "Hai cambiato la lingua dell’app almeno una volta."
},
"hiddenBugBuddy": {
"title": "Amico dei bug",
"description": "Hai inviato almeno 5 segnalazioni di bug — il progetto ti ama."
}
},
"nextProgressLabel": "Progressi verso lo sblocco",
"completedOn": "Completato il {date}",
"locked": "Bloccato",
"criterionHint": "{current} / {target}",
"progressPercent": "{percent}%",
"categories": {
"medication": "Farmaco",
"vitals": "Parametri vitali",
"mood": "Umore",
"security": "Account e sicurezza",
"engagement": "Engagement",
"hidden": "Nascosto"
},
"hiddenCard": {
"title": "Obiettivo nascosto",
"description": "Continua a monitorare — potresti imbatterti in esso.",
"ariaLabel": "Obiettivo nascosto bloccato"
},
"hiddenUnlockToast": {
"title": "Hai sbloccato un obiettivo nascosto!"
},
"dashboardCard": {
"title": "Sbloccati di recente",
"viewAll": "Vedi tutti",
"empty": "Ancora nessun obiettivo — continua a registrare per sbloccare il primo."
}
},
"bugreport": {
"title": "Segnalazione bug",
"subtitle": "Invia un bug, un’idea o una domanda. L’amministratore del server vedrà la tua segnalazione.",
"loginRequired": "Accedi per segnalare un bug.",
"bugTitle": "Titolo",
"description": "Descrizione",
"submit": "Invia",
"success": "Grazie! La tua segnalazione è stata inviata.",
"errorCreating": "Errore durante la creazione",
"category": "Tipo",
"categoryBug": "Bug",
"categoryFeature": "Suggerimento",
"categoryQuestion": "Domanda",
"categoryOther": "Altro feedback",
"bugTitlePlaceholder": "Riassunto breve (opzionale)",
"githubEscalationNote": "Il feedback viene salvato localmente. Se l’amministratore attiva l’integrazione GitHub, può essere pubblicato come issue pubblico su richiesta.",
"internalOnlyNote": "Il feedback viene salvato localmente ed è visibile solo all’amministratore di questo server.",
"disabledTitle": "Le segnalazioni di bug sono disattivate",
"disabledBody": "L'amministratore ha disattivato le segnalazioni di bug su questo server."
},
"notifications": {
"title": "Centro notifiche",
"breadcrumbInbox": "Centro notifiche",
"breadcrumbChannels": "Canali di notifica",
"breadcrumbSettings": "Impostazioni",
"eventColumn": "Evento",
"subtitle": "Scegli quali notifiche ricevere e su quale canale.",
"loadError": "Impossibile caricare le impostazioni di notifica.",
"noChannels": "Configura prima un canale di notifica nelle impostazioni.",
"goToSettings": "Vai alle impostazioni del canale",
"channelDisabled": "Disabilitato",
"admin": {
"deployFailedTitle": "Distribuzione fallita: {application}",
"deployFailedBody": "Si è verificato un errore durante la distribuzione di {application} (#{deployment}): {error}. Vedi log: {logsUrl}",
"testNotificationTitle": "HealthLog notifica di prova",
"testNotificationBody": "Questa notifica di prova è stata attivata dal pannello di amministrazione. Se la vedi, il canale funziona.",
"reminderCheckMissedTitle": "Promemoria perso: {medication}",
"reminderCheckMissedBody": "{medication} ({dose}) non è stato registrato nella finestra {window}.",
"reminderCheckOverdueTitle": "Dose in ritardo: {medication}",
"reminderCheckOverdueBody": "{medication} ({dose}) nella finestra {window} è in ritardo di {minutes} minuti.",
"offlineGeoUnavailableTitle": "Database di geolocalizzazione offline non caricati",
"offlineGeoUnavailableBody": "HealthLog sta risolvendo le posizioni di accesso tramite il fallback online ipwho.is. Per abilitare i database offline GeoLite2-City e GeoLite2-ASN, imposta MAXMIND_LICENSE_KEY nei secret di GitHub Actions su {secretsUrl} e ridistribuisci. Fino ad allora la colonna operatore nella panoramica degli accessi rimane vuota.",
"tlsPinChangedTitle": "Certificato foglia TLS modificato: {host}",
"tlsPinChangedBody": "La foglia TLS servita da {host} ora ha il pin SPKI {servedPin}, che non è nell'insieme dei pin noti. I client con pin fisso (l'app nativa) non potranno più connettersi una volta scomparso il vecchio pin. Riestrai il nuovo pin della foglia, aggiungilo a TLS_LEAF_SPKI_PINS e all'insieme dei pin del client nativo, e pubblica una build prima che questo certificato scada il {validTo}. Vedi docs/ops/tls-cert-pin.md."
},
"user": {
"telegramTestBody": "HealthLog: connessione riuscita. Le notifiche Telegram sono attive."
},
"moodReminder": {
"title": "Promemoria quotidiano dell’umore",
"description": "Promemoria leggero all’orario che scegli se non hai ancora registrato l’umore di oggi. Usa solo i canali già configurati (Telegram, ntfy, Web Push, Apple Push) e tace una volta registrato l’umore di oggi.",
"toggleAria": "Attiva o disattiva il promemoria quotidiano dell’umore",
"statusOn": "Attivo all’orario che scegli",
"statusOff": "Disattivato",
"enabledToast": "Promemoria dell’umore attivato.",
"disabledToast": "Promemoria dell’umore disattivato.",
"saveError": "Salvataggio non riuscito. Riprova.",
"hourLabel": "Ora del promemoria",
"hourAria": "Ora del promemoria dell’umore",
"hourSavedToast": "Ora del promemoria aggiornata."
},
"eventMedicationReminder": "Promemoria farmaco",
"eventMedicationReminderDesc": "Inviato a ogni orario di dose programmato.",
"eventMeasurementAnomaly": "Misurazione insolita",
"eventMeasurementAnomalyDesc": "Inviato quando un valore esce nettamente dal tuo intervallo abituale.",
"eventComplianceLow": "Aderenza bassa",
"eventComplianceLowDesc": "Inviato quando il tuo tasso di assunzione degli ultimi giorni scende sotto l'80 %.",
"eventWithingsSyncFailed": "Sincronizzazione Withings non riuscita",
"eventWithingsSyncFailedDesc": "Inviato quando la sincronizzazione Withings fallisce per più tentativi consecutivi.",
"eventSystemAlert": "Avviso di sistema",
"eventSystemAlertDesc": "Messaggi generali dal server HealthLog, ad esempio finestre di manutenzione o note sull'account.",
"eventPersonalRecord": "Record personale",
"eventPersonalRecordDesc": "Inviato quando una misurazione supera il tuo precedente record.",
"eventMoodReminder": "Promemoria umore",
"eventMoodReminderDesc": "Promemoria quotidiano per registrare il tuo umore attuale."
},
"i18n": {
"maintainershipBanner": {
"notice": "Questa lingua è tradotta automaticamente, incluse le istruzioni critiche per la sicurezza del Coach. Un controllo di deriva automatico gira in CI; segnali qualsiasi regressione del Coach su GitHub.",
"cta": "Segnala su GitHub",
"dismiss": "Chiudi"
}
},
"targets": {
"bmi": "IMC",
"average30d": "Media 30 giorni:",
"consistency": {
"ariaLabel": "Ultimi 7 giorni, stato dentro/fuori range per giorno",
"daysInRange": "{count} di {total} nell'intervallo",
"daysLogged": "{count} di {total} registrati",
"dotInRange": "nel range",
"dotNearRange": "vicino al range",
"dotOutOfRange": "fuori range",
"dotNotLogged": "non registrato",
"insufficientData": "Ancora pochi dati — continua a registrare.",
"relativeDay": {
"today": "Oggi",
"yesterday": "Ieri",
"twoDaysAgo": "2 giorni fa",
"threeDaysAgo": "3 giorni fa",
"fourDaysAgo": "4 giorni fa",
"fiveDaysAgo": "5 giorni fa",
"sixDaysAgo": "6 giorni fa"
}
},
"relativeDay": {
"today": "Oggi",
"yesterday": "Ieri",
"daysAgo": "{count} giorni fa"
},
"edit": {
"openLabel": "Modifica il range obiettivo per {metric}",
"title": "Modifica range obiettivo — {metric}",
"description": "Regola il range obiettivo usato in grafici, insights e referto medico. Valori in {unit}.",
"derivedHint": "Questa card è derivata da altre metriche. Modifica gli obiettivi sottostanti (es. pressione o peso).",
"minLabel": "Min",
"maxLabel": "Max",
"systolicMin": "Sistolica min",
"systolicMax": "Sistolica max",
"diastolicMin": "Diastolica min",
"diastolicMax": "Diastolica max",
"boundsHint": "Range consentito: {min}–{max} {unit}",
"resetToDefault": "Ripristina predefinito",
"saveSuccess": "Range obiettivo aggiornato",
"saveError": "Impossibile salvare il range obiettivo",
"resetSuccess": "Range obiettivo ripristinato"
},
"mood": {
"stability": {
"stable": "stabile",
"variable": "variabile",
"highlyVariable": "molto variabile"
}
},
"currentValue": "Attuale: {value} {unit}",
"targetRangeValue": "Range obiettivo: {min}–{max} {unit}",
"sourceLabel": "Fonte: {source}",
"inTarget": "Nel range obiettivo",
"aboveTarget": "{delta} {unit} sopra il range",
"belowTarget": "{delta} {unit} sotto il range",
"diastolic": "Diastolica",
"glucoseFasting": "Glicemia — a digiuno",
"glucosePostprandial": "Glicemia — postprandiale",
"glucoseRandom": "Glicemia — qualsiasi",
"glucoseBedtime": "Glicemia — prima di coricarsi",
"status": {
"underweight": "Sottopeso",
"normal": "Normal",
"overweight": "Sovrappeso",
"obesityGrade1": "Obesità grado I",
"obesityGrade2": "Obesità grado II",
"obesityGrade3": "Obesità grado III",
"optimal": "Ottimale",
"highNormal": "Normale-alta",
"hypertensionGrade1": "Ipertensione grado 1",
"hypertensionGrade2": "Ipertensione grado 2",
"hypertensionGrade3": "Ipertensione grado 3",
"bradycardia": "Bradicardia",
"elevated": "Elevato",
"tachycardia": "Tachicardia",
"significantlyLow": "Significativamente basso",
"slightlyLow": "Lievemente basso",
"onTarget": "Nel range obiettivo",
"slightlyElevated": "Lievemente elevato",
"significantlyElevated": "Significativamente elevato",
"farTooShort": "Decisamente corto",
"tooShort": "Corto",
"slightlyLong": "Lievemente lungo",
"farTooLong": "Decisamente lungo",
"belowEssential": "Sotto l’essenziale",
"essential": "Essenziale",
"athletic": "Atletico",
"fitness": "Fitness",
"acceptable": "Accettabile",
"obese": "Obeso",
"veryLow": "Molto basso",
"lowActive": "Poco attivo",
"moderatelyActive": "Moderatamente attivo",
"active": "Attivo",
"veryActive": "Molto attivo",
"good": "Buono",
"moderate": "Moderato",
"low": "Basso",
"high": "Alto",
"veryGood": "Molto buono",
"veryStable": "Molto stabile",
"stable": "Stabile",
"fluctuating": "Fluttuante"
}
},
"passwordStrength": {
"veryWeak": "Molto debole",
"weak": "Debole",
"acceptable": "Accettabile",
"strong": "Forte",
"veryStrong": "Molto forte",
"tooShort": "Troppo corta",
"characters": "caratteri",
"minLength": "Servono almeno {count} caratteri."
},
"telegram": {
"errorInvalidAction": "Azione non valida.",
"errorMedicationNotFound": "Farmaco non trovato.",
"errorMedicationInactive": "Farmaco non trovato o inattivo.",
"errorUnknownAction": "Azione sconosciuta.",
"snoozeOneHour": "1 ora",
"snoozeThreeHours": "3 ore",
"snoozedFor": "{name} rinviato di {duration}.",
"skipped": "{name} saltato.",
"alreadyRecorded": "{name} era già registrato.",
"recordedAsTaken": "{name} registrato come assunto.",
"confirmed": "{name} confermato.",
"genericConfirmed": "Confermato.",
"cancelled": "Annullato.",
"noActiveMedications": "Nessun farmaco attivo trovato.",
"whichMedication": "<b>Quale farmaco hai assunto?</b>",
"cancelButton": "Annulla",
"askMedicationName": "Indica il farmaco, es. <b>preso Ramipril</b>.",
"medicationNotFoundExact": "Farmaco non trovato. Invia il nome esattamente come appare in HealthLog.",
"helpHeader": "<b>Comandi disponibili:</b>",
"helpBody": "/help — mostra questa guida\n/add — registra un'assunzione\n/start — avvia il bot\n\n<b>Comandi testuali:</b>\ntaken &lt;nome&gt; — conferma un'assunzione\n\n<b>Pulsanti nei promemoria:</b>\n• Assunto — conferma l'assunzione\n• 🕐 1h / 🕐 3h — posticipa il promemoria\n• ⏭ Salta — salta l'assunzione\n• ✓ Conferma — conferma un'assunzione saltata"
},
"medicationReminders": {
"phaseGreenTitle": "🟢 Promemoria: {medName}",
"phaseGreenMessage": "🟢 Reminder:\n<b>{medName}</b> ({doseInfo}, {timeWindow})\nWindow closes in {minutes} Min.",
"phaseYellowTitle": "🟡 In scadenza: {medName}",
"phaseYellowMessage": "🟡 In scadenza:\n<b>{medName}</b> ({doseInfo}, {timeWindow})\nMancano {minutes} min.",
"phaseOrangeTitle": "🟠 In ritardo: {medName}",
"phaseOrangeMessage": "🟠 Overdue:\n<b>{medName}</b> ({doseInfo}, {timeWindow})\nOverdue by {minutes} Min.",
"phaseRedTitle": "🔴 Saltata: {medName}",
"phaseRedMessage": "🔴 Saltata:\n<b>{medName}</b> ({doseInfo}, {timeWindow})\nContrassegnata come saltata.",
"buttonTaken": "Assunto",
"buttonConfirm": "✓ Conferma",
"buttonSnoozeOneHour": "🕐 1h",
"buttonSnoozeThreeHours": "🕐 3h",
"buttonSkip": "⏭ Salta"
},
"moodReminders": {
"dailyTitle": "Registra il tuo umore",
"dailyBody": "Come ti senti oggi?"
},
"clinicianView": {
"title": "Cartella sanitaria condivisa",
"period": "Periodo del report: {start} – {end}",
"expires": "Questo link scade il {date}.",
"provenance": "Questo è un riepilogo di sola lettura condiviso dalla persona a cui appartiene, esportato dai suoi dati HealthLog autoregistrati. I valori sono autodichiarati e possono includere letture sincronizzate da dispositivi; vanno considerati come riferiti dal paziente, non come un esame clinico.",
"vitals": "Parametri vitali",
"labs": "Valori di laboratorio",
"medications": "Farmaci e aderenza",
"bmi": "Indice di massa corporea (IMC)",
"statSummary": "ultimo {latest} (media {avg}, intervallo {min}–{max})",
"adherence": "{rate} di aderenza",
"noAdherence": "—",
"glucose": {
"FASTING": "Glicemia (a digiuno)",
"POSTPRANDIAL": "Glicemia (postprandiale)",
"RANDOM": "Glicemia (casuale)",
"BEDTIME": "Glicemia (prima di dormire)"
},
"wellness": {
"title": "Punteggi di benessere",
"disclaimer": "Punteggi descrittivi (0–100) calcolati dai segnali monitorati. Non sono una valutazione clinica né una diagnosi.",
"recovery": "Punteggio di recupero",
"stress": "Punteggio di stress",
"strain": "Punteggio di sforzo",
"score": "Punteggio di benessere"
},
"footer": "Condiviso da HealthLog — un tracker della salute self-hosted."
}
}