feat: Complete Spanish, French, Portuguese, Chinese localization and add German/Italian support
Some checks failed
CI/CD Pipeline / Lint and Test (push) Has been cancelled
CI/CD Pipeline / E2E Tests (push) Has been cancelled
CI/CD Pipeline / Build Application (push) Has been cancelled

- Updated all Spanish (es) translation files with comprehensive translations for tracking, AI, family, insights, children, and settings pages
- Updated French (fr), Portuguese (pt), and Chinese (zh) translations to match English structure
- Added German (de) and Italian (it) language support with complete translation files
- Fixed medicine tracker route from /track/medication to /track/medicine
- Updated i18n config to support 7 languages: en, es, fr, pt, zh, de, it
- All tracking pages now fully localized: sleep, feeding, diaper, medicine, activity
- AI assistant interface fully translated with thinking messages and suggested questions
- Family management and insights pages now support all languages

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-10-03 15:03:02 +00:00
parent 41320638e5
commit 58c3a8d9d5
74 changed files with 5413 additions and 1735 deletions

View File

@@ -0,0 +1,107 @@
{
"title": "Assistente IA",
"subtitle": "Supporto Genitoriale 24/7",
"chat": {
"placeholder": "Chiedimi qualsiasi cosa sulla genitorialità...",
"send": "Invia",
"listening": "Ascolto...",
"processing": "Elaborazione...",
"thinking": "Pensando...",
"typing": "L'IA sta scrivendo...",
"voiceInput": "Input Vocale",
"textInput": "Input Testo",
"newChat": "Nuova Chat",
"clearChat": "Cancella Chat",
"confirmClear": "Sei sicuro di voler cancellare questa chat?",
"noMessages": "Nessun messaggio ancora",
"startConversation": "Inizia una conversazione con il tuo assistente IA"
},
"suggestions": {
"title": "Domande Suggerite",
"sleepPattern": "Come posso migliorare il ritmo del sonno del mio bambino?",
"feeding": "Quanto dovrebbe mangiare il mio bambino?",
"development": "Quali traguardi dovrei aspettarmi questo mese?",
"health": "Quando dovrei preoccuparmi per la febbre?"
},
"context": {
"analyzing": "Analizzando i modelli del tuo bambino...",
"usingRecent": "Utilizzando dati di attività recenti",
"basedOn": "Basato sul profilo di {{childName}}"
},
"disclaimer": {
"title": "Avviso Importante",
"message": "Questo assistente IA fornisce orientamento generale sulla genitorialità e non sostituisce il consiglio medico professionale. Consulta sempre il tuo pediatra per preoccupazioni mediche.",
"emergency": "In caso di emergenza, chiama immediatamente i servizi di emergenza.",
"understand": "Ho Capito"
},
"limits": {
"dailyLimit": "Limite giornaliero di domande raggiunto",
"dailyLimitMessage": "Hai raggiunto il tuo limite giornaliero di {{limit}} domande. Aggiorna a premium per accesso illimitato.",
"upgrade": "Aggiorna a Premium"
},
"history": {
"title": "Cronologia Chat",
"today": "Oggi",
"yesterday": "Ieri",
"thisWeek": "Questa Settimana",
"older": "Più Vecchio",
"noHistory": "Nessuna cronologia chat",
"delete": "Elimina Chat",
"confirmDelete": "Sei sicuro di voler eliminare questa chat?"
},
"topics": {
"sleep": "Sonno",
"feeding": "Alimentazione",
"development": "Sviluppo",
"health": "Salute",
"behavior": "Comportamento",
"safety": "Sicurezza",
"nutrition": "Nutrizione",
"general": "Generale"
},
"interface": {
"assistantTitle": "Assistente IA Genitoriale",
"assistantSubtitle": "Chiedimi qualsiasi cosa sulla genitorialità e cura dei bambini",
"greeting": "Ciao {{name}}! Come posso aiutarti oggi?",
"inputPlaceholder": "Chiedimi qualsiasi cosa...",
"closeDrawer": "Chiudi cassetto",
"moreOptions": "Più opzioni",
"deleteConversation": "Elimina conversazione",
"chatCount": "{{count}} chat",
"chatCount_plural": "{{count}} chat",
"ungrouped": "Non raggruppato",
"errorMessage": "Scusa, ho riscontrato un errore. Per favore riprova.",
"disclaimerFooter": "Questo assistente IA fornisce informazioni generali. Consulta sempre professionisti sanitari per consigli medici.",
"deleteDialogTitle": "Elimina Conversazione",
"deleteDialogMessage": "Sei sicuro di voler eliminare questa conversazione? Questa azione non può essere annullata.",
"cancel": "Annulla",
"delete": "Elimina",
"moveToGroup": "Sposta nel Gruppo",
"createNewGroup": "Crea Nuovo Gruppo",
"groupNameLabel": "Nome Gruppo",
"create": "Crea",
"suggestedQuestion1": "Quanto dovrebbe dormire il mio bambino a 3 mesi?",
"suggestedQuestion2": "Quali sono i modelli di alimentazione normali?",
"suggestedQuestion3": "Quando dovrei introdurre cibi solidi?",
"suggestedQuestion4": "Consigli per una migliore routine del sonno",
"thinking1": "Raccogliendo saggezza sui bambini...",
"thinking2": "Consultando i libri sui bambini...",
"thinking3": "Mescolando la risposta perfetta...",
"thinking4": "Riscaldando alcuni consigli...",
"thinking5": "Preparando il tuo biberon di conoscenza...",
"thinking6": "Contando piccole dita di mani e piedi...",
"thinking7": "Collegando i mattoncini...",
"thinking8": "Sbirciando nella scatola dei giocattoli...",
"thinking9": "Sistemando i pezzi del puzzle...",
"thinking10": "Mescolando il vasetto di pappa...",
"thinking11": "Lucidando il ciuccio della saggezza...",
"thinking12": "Camminando in punta di piedi durante il pisolino...",
"thinking13": "Organizzando la borsa dei pannolini...",
"thinking14": "Impacchettando la tua risposta con amore...",
"thinking15": "Preparando una tazza calda di orientamento...",
"thinking16": "Tessendo insieme alcuni pensieri...",
"thinking17": "Sistemando i dettagli...",
"thinking18": "Cospargendo un po' di polvere magica...",
"thinking19": "Canticchiando una ninna nanna mentre penso..."
}
}

View File

@@ -0,0 +1,88 @@
{
"login": {
"title": "Bentornato",
"subtitle": "Accedi al tuo account",
"email": "Email",
"password": "Password",
"rememberMe": "Ricordami",
"forgotPassword": "Password dimenticata?",
"submit": "Accedi",
"noAccount": "Non hai un account?",
"signUp": "Registrati",
"or": "Oppure",
"continueWithGoogle": "Continua con Google",
"continueWithApple": "Continua con Apple",
"biometric": {
"useFaceId": "Usa Face ID",
"useTouchId": "Usa Touch ID",
"useFingerprint": "Usa Impronta Digitale"
}
},
"signup": {
"title": "Crea Account",
"subtitle": "Unisciti a Maternal oggi",
"name": "Nome Completo",
"email": "Email",
"password": "Password",
"confirmPassword": "Conferma Password",
"agreeToTerms": "Accetto i {{termsLink}} e la {{privacyLink}}",
"termsOfService": "Termini di Servizio",
"privacyPolicy": "Politica sulla Privacy",
"submit": "Crea Account",
"hasAccount": "Hai già un account?",
"signIn": "Accedi",
"or": "Oppure",
"continueWithGoogle": "Continua con Google",
"continueWithApple": "Continua con Apple"
},
"forgotPassword": {
"title": "Reimposta Password",
"subtitle": "Inserisci la tua email per ricevere un link di reimpostazione",
"email": "Email",
"submit": "Invia Link di Reimpostazione",
"backToLogin": "Torna al login",
"success": "Link di reimpostazione inviato! Controlla la tua email.",
"checkEmail": "Abbiamo inviato un link di reimpostazione password a {{email}}"
},
"resetPassword": {
"title": "Crea Nuova Password",
"subtitle": "Inserisci la tua nuova password",
"password": "Nuova Password",
"confirmPassword": "Conferma Password",
"submit": "Reimposta Password",
"success": "Password reimpostata con successo!",
"backToLogin": "Torna al login"
},
"verification": {
"title": "Verifica la tua Email",
"subtitle": "Abbiamo inviato un codice di verifica a {{email}}",
"code": "Codice di Verifica",
"submit": "Verifica",
"resend": "Reinvia Codice",
"resendIn": "Reinvia tra {{seconds}}s",
"success": "Email verificata con successo!",
"didNotReceive": "Non hai ricevuto il codice?"
},
"errors": {
"invalidEmail": "Per favore inserisci un indirizzo email valido",
"invalidPassword": "La password deve avere almeno 8 caratteri",
"passwordMismatch": "Le password non corrispondono",
"emailRequired": "L'email è richiesta",
"passwordRequired": "La password è richiesta",
"nameRequired": "Il nome è richiesto",
"termsRequired": "Devi accettare i termini e la politica sulla privacy",
"invalidCredentials": "Email o password non validi",
"emailExists": "Un account con questa email esiste già",
"weakPassword": "La password è troppo debole. Per favore usa una password più forte.",
"networkError": "Errore di rete. Per favore riprova.",
"unknownError": "Si è verificato un errore. Per favore riprova."
},
"passwordRequirements": {
"title": "La password deve contenere:",
"minLength": "Almeno 8 caratteri",
"uppercase": "Almeno una lettera maiuscola",
"lowercase": "Almeno una lettera minuscola",
"number": "Almeno un numero",
"special": "Almeno un carattere speciale"
}
}

View File

@@ -0,0 +1,50 @@
{
"title": "Bambini",
"subtitle": "Gestisci i profili dei bambini della tua famiglia",
"addChild": "Aggiungi Bambino",
"addFirstChild": "Aggiungi Primo Bambino",
"editChild": "Modifica Bambino",
"deleteChild": "Elimina Bambino",
"noChildren": "Nessun bambino aggiunto ancora",
"noChildrenSubtitle": "Aggiungi il tuo primo bambino per iniziare a tracciare le sue attività",
"age": "Età",
"gender": {
"male": "Maschio",
"female": "Femmina",
"other": "Altro"
},
"dialog": {
"name": "Nome",
"birthDate": "Data di Nascita",
"gender": "Genere",
"photoUrl": "URL Foto (Opzionale)",
"photoPlaceholder": "https://example.com/photo.jpg",
"cancel": "Annulla",
"add": "Aggiungi",
"update": "Aggiorna",
"saving": "Salvataggio...",
"delete": "Elimina",
"deleting": "Eliminazione...",
"confirmDelete": "Conferma Eliminazione",
"confirmDeleteMessage": "Sei sicuro di voler eliminare",
"confirmDeleteWarning": "Questa azione non può essere annullata. Tutti i dati associati saranno rimossi permanentemente.",
"validation": {
"nameRequired": "Per favore inserisci un nome",
"birthDateRequired": "Per favore seleziona una data di nascita",
"birthDateFuture": "La data di nascita non può essere nel futuro"
}
},
"errors": {
"noFamily": "Nessuna famiglia trovata. Per favore completa prima l'onboarding.",
"loadFailed": "Caricamento bambini fallito",
"saveFailed": "Salvataggio bambino fallito",
"deleteFailed": "Eliminazione bambino fallita",
"noFamilyId": "Nessun ID famiglia trovato"
},
"ageFormat": {
"year": "anno",
"years": "anni",
"month": "mese",
"months": "mesi"
}
}

View File

@@ -0,0 +1,79 @@
{
"appName": "Maternal",
"appDescription": "Assistente per la Cura dei Bambini Alimentato da IA",
"welcome": "Benvenuto",
"loading": "Caricamento...",
"save": "Salva",
"cancel": "Annulla",
"delete": "Elimina",
"edit": "Modifica",
"add": "Aggiungi",
"close": "Chiudi",
"confirm": "Conferma",
"back": "Indietro",
"next": "Avanti",
"previous": "Precedente",
"finish": "Fine",
"search": "Cerca",
"filter": "Filtra",
"sort": "Ordina",
"refresh": "Aggiorna",
"retry": "Riprova",
"continue": "Continua",
"submit": "Invia",
"reset": "Reimposta",
"clear": "Cancella",
"yes": "Sì",
"no": "No",
"ok": "OK",
"error": "Errore",
"success": "Successo",
"warning": "Avviso",
"info": "Informazione",
"home": "Home",
"settings": "Impostazioni",
"profile": "Profilo",
"logout": "Esci",
"login": "Accedi",
"signup": "Registrati",
"email": "Email",
"password": "Password",
"name": "Nome",
"date": "Data",
"time": "Ora",
"duration": "Durata",
"notes": "Note",
"optional": "Opzionale",
"required": "Richiesto",
"units": {
"metric": "Metrico",
"imperial": "Imperiale"
},
"measurements": {
"weight": "Peso",
"height": "Altezza",
"temperature": "Temperatura",
"volume": "Volume"
},
"navigation": {
"home": "Home",
"dashboard": "Dashboard",
"tracking": "Tracciamento",
"trackActivity": "Traccia Attività",
"track": "Traccia",
"ai": "Assistente IA",
"aiChat": "Chat IA",
"family": "Famiglia",
"insights": "Approfondimenti",
"children": "Bambini",
"settings": "Impostazioni",
"logout": "Esci"
},
"connection": {
"syncActive": "Sincronizzazione in tempo reale attiva",
"syncDisconnected": "Sincronizzazione in tempo reale disconnessa",
"live": "Dal Vivo",
"offline": "Offline",
"familyMembersOnline": "{{count}} membri della famiglia online"
}
}

View File

@@ -0,0 +1,30 @@
{
"welcomeBack": "Bentornato",
"welcomeBackWithName": "Bentornato, {{name}}!",
"subtitle": "Traccia le attività del tuo bambino e ottieni approfondimenti alimentati da IA",
"quickActions": {
"title": "Azioni Rapide",
"feeding": "Alimentazione",
"sleep": "Sonno",
"diaper": "Pannolino",
"medicine": "Medicina",
"activities": "Attività",
"aiAssistant": "Assistente IA",
"navigateTo": "Naviga a {{action}}"
},
"summary": {
"title": "Riassunto di Oggi",
"titleWithChild": "Riassunto di Oggi - {{childName}}",
"feedings": "Alimentazioni",
"sleep": "Sonno",
"diapers": "Pannolini",
"medications": "Farmaci",
"noChild": "Aggiungi un bambino per iniziare il tracciamento",
"noActivities": "Nessuna attività tracciata oggi"
},
"predictions": {
"title": "Prossima Attività Prevista",
"napTime": "Ora del pisolino tra {{minutes}} minuti",
"basedOnPatterns": "Basato sui modelli di sonno del tuo bambino"
}
}

View File

@@ -0,0 +1,69 @@
{
"general": {
"unknown": "Si è verificato un errore sconosciuto",
"networkError": "Errore di rete. Per favore controlla la tua connessione.",
"serverError": "Errore del server. Per favore riprova più tardi.",
"notFound": "La risorsa richiesta non è stata trovata",
"unauthorized": "Non sei autorizzato a eseguire questa azione",
"forbidden": "Accesso negato",
"validation": "Per favore controlla il tuo input e riprova",
"timeout": "Timeout della richiesta. Per favore riprova."
},
"auth": {
"invalidCredentials": "Email o password non validi",
"emailExists": "Un account con questa email esiste già",
"emailNotVerified": "Per favore verifica il tuo indirizzo email",
"accountLocked": "Il tuo account è stato bloccato. Per favore contatta il supporto.",
"sessionExpired": "La tua sessione è scaduta. Per favore accedi di nuovo.",
"weakPassword": "La password è troppo debole",
"tokenInvalid": "Token non valido o scaduto",
"deviceNotTrusted": "Dispositivo non attendibile. Per favore verifica il tuo dispositivo."
},
"family": {
"limitExceeded": "Limite dimensione famiglia superato",
"memberNotFound": "Membro della famiglia non trovato",
"cannotRemoveSelf": "Non puoi rimuovere te stesso dalla famiglia",
"insufficientPermissions": "Non hai il permesso di eseguire questa azione",
"invitationExpired": "Questo invito è scaduto",
"alreadyMember": "Questa persona è già un membro della famiglia"
},
"child": {
"notFound": "Profilo bambino non trovato",
"invalidAge": "Età non valida. Per favore controlla la data di nascita.",
"limitExceeded": "Hai raggiunto il numero massimo di bambini"
},
"tracking": {
"invalidData": "Dati di tracciamento non validi",
"futureDate": "Non puoi registrare attività nel futuro",
"duplicateEntry": "Esiste già una voce simile",
"invalidDuration": "Durata non valida",
"invalidAmount": "Quantità non valida"
},
"ai": {
"dailyLimitReached": "Limite giornaliero domande IA raggiunto",
"contextError": "Errore nel caricamento del contesto per l'IA",
"responseError": "Errore nella generazione della risposta IA",
"moderationFlag": "Il tuo messaggio è stato segnalato dal nostro sistema di moderazione dei contenuti"
},
"offline": {
"noConnection": "Nessuna connessione internet",
"syncFailed": "Sincronizzazione dati fallita",
"pendingChanges": "Hai modifiche in sospeso che devono essere sincronizzate"
},
"validation": {
"required": "Questo campo è richiesto",
"invalidEmail": "Per favore inserisci un indirizzo email valido",
"invalidPhone": "Per favore inserisci un numero di telefono valido",
"invalidDate": "Per favore inserisci una data valida",
"minLength": "Deve avere almeno {{min}} caratteri",
"maxLength": "Non deve avere più di {{max}} caratteri",
"minValue": "Deve essere almeno {{min}}",
"maxValue": "Non deve essere più di {{max}}",
"invalidFormat": "Formato non valido",
"passwordMismatch": "Le password non corrispondono"
},
"retry": "Riprova",
"goBack": "Torna Indietro",
"contactSupport": "Contatta il Supporto",
"dismiss": "Ignora"
}

View File

@@ -0,0 +1,43 @@
{
"pageTitle": "Famiglia",
"pageSubtitle": "Gestisci i membri della tua famiglia e condividi l'accesso",
"buttons": {
"joinFamily": "Unisciti alla Famiglia",
"inviteMember": "Invita Membro",
"copyCode": "Copia Codice",
"inviteFirstMember": "Invita Primo Membro"
},
"shareCode": {
"title": "Codice di Condivisione Famiglia",
"description": "Condividi questo codice con i membri della famiglia per dare loro accesso ai dati della tua famiglia"
},
"members": {
"title": "Membri della Famiglia ({{count}})",
"noMembers": "Nessun membro della famiglia ancora",
"noMembersDescription": "Invita membri della famiglia per collaborare nella cura dei bambini",
"youLabel": "Tu",
"removeAriaLabel": "Rimuovi {{name}} dalla famiglia"
},
"roles": {
"parent": "Genitore",
"caregiver": "Caregiver",
"viewer": "Visualizzatore"
},
"messages": {
"shareCodeCopied": "Codice di condivisione copiato negli appunti!",
"shareCodeCopyFailed": "Copia del codice di condivisione fallita",
"invitationSent": "Invito inviato con successo!",
"joinedFamily": "Unito alla famiglia con successo!",
"memberRemoved": "Membro rimosso con successo",
"noFamilyFound": "Nessuna famiglia trovata. Per favore completa prima l'onboarding.",
"failedToLoad": "Caricamento informazioni famiglia fallito",
"noFamilyId": "Nessun ID famiglia trovato",
"failedToInvite": "Invio invito fallito",
"failedToJoin": "Unione alla famiglia fallita",
"failedToRemove": "Rimozione membro fallita"
},
"placeholders": {
"unknownUser": "Utente Sconosciuto",
"noEmail": "Nessuna email"
}
}

View File

@@ -0,0 +1,73 @@
{
"title": "Approfondimenti e Analisi",
"subtitle": "Traccia i modelli e ottieni approfondimenti sulle attività del tuo bambino",
"filters": {
"child": "Bambino",
"dateRange": {
"7days": "7 Giorni",
"30days": "30 Giorni",
"3months": "3 Mesi"
}
},
"stats": {
"feedings": {
"title": "Alimentazioni",
"subtitle": "Conteggio totale"
},
"sleep": {
"title": "Sonno",
"subtitle": "Media al giorno"
},
"diapers": {
"title": "Pannolini",
"subtitle": "Cambi totali"
},
"topActivity": {
"title": "Attività Principale",
"subtitle": "Più frequente"
}
},
"charts": {
"feedingFrequency": "Frequenza Alimentazione",
"sleepDuration": "Durata Sonno (Ore)",
"diaperChangesByType": "Cambi Pannolino per Tipo",
"activityTimeline": "Timeline Attività",
"activityDistribution": "Distribuzione Attività",
"chartLabels": {
"feedings": "Alimentazioni",
"diapers": "Pannolini",
"sleepHours": "Sonno (ore)"
}
},
"recentActivities": {
"title": "Attività Recenti (Ultime 20)"
},
"emptyStates": {
"noChildren": {
"title": "Nessun Bambino Aggiunto",
"message": "Aggiungi un bambino per vedere approfondimenti e analisi",
"action": "Aggiungi Bambino"
},
"noActivities": "Nessuna attività trovata per l'intervallo di date selezionato. Inizia a tracciare attività per vedere gli approfondimenti!"
},
"errors": {
"loadChildren": "Caricamento bambini fallito",
"loadActivities": "Caricamento attività fallito"
},
"activityTypes": {
"feeding": "Alimentazione",
"sleep": "Sonno",
"diaper": "Pannolino",
"medication": "Farmaco",
"milestone": "Traguardo",
"note": "Nota",
"none": "Nessuno"
},
"diaperTypes": {
"wet": "Bagnato",
"dirty": "Sporco",
"both": "Entrambi",
"dry": "Asciutto",
"unknown": "Sconosciuto"
}
}

View File

@@ -0,0 +1,99 @@
{
"welcome": {
"title": "Benvenuto in Maternal",
"subtitle": "Il tuo assistente per la cura dei bambini alimentato da IA",
"description": "Traccia attività, ottieni approfondimenti alimentati da IA e coordinati con la tua famiglia, tutto in un posto.",
"getStarted": "Inizia",
"skip": "Salta"
},
"language": {
"title": "Scegli la Tua Lingua",
"subtitle": "Seleziona la tua lingua preferita",
"description": "Puoi cambiare questo più tardi nelle impostazioni"
},
"measurements": {
"title": "Unità di Misura",
"subtitle": "Scegli il tuo sistema di unità preferito",
"description": "Seleziona il sistema di misurazione con cui ti senti più a tuo agio. Puoi cambiare questo più tardi nelle impostazioni.",
"metric": {
"title": "Metrico",
"description": "Chilogrammi, centimetri, Celsius, millilitri"
},
"imperial": {
"title": "Imperiale",
"description": "Libbre, pollici, Fahrenheit, once"
}
},
"profile": {
"title": "Crea il Tuo Profilo",
"subtitle": "Raccontaci di te",
"name": "Il Tuo Nome",
"email": "Indirizzo Email",
"password": "Password",
"confirmPassword": "Conferma Password",
"relation": "Relazione con il Bambino",
"relations": {
"mother": "Madre",
"father": "Padre",
"guardian": "Tutore",
"caregiver": "Caregiver",
"other": "Altro"
}
},
"child": {
"title": "Aggiungi il Tuo Bambino",
"subtitle": "Iniziamo con il tuo primo bambino",
"name": "Nome del Bambino",
"dateOfBirth": "Data di Nascita",
"gender": "Genere",
"genders": {
"male": "Maschio",
"female": "Femmina",
"other": "Altro",
"preferNotToSay": "Preferisco non dire"
},
"weight": "Peso Attuale",
"height": "Altezza Attuale",
"addAnother": "Aggiungi Un Altro Bambino",
"skipForNow": "Salta per Ora"
},
"family": {
"title": "Invita Membri della Famiglia",
"subtitle": "Coordinati con la tua famiglia",
"description": "Invita membri della famiglia per visualizzare e tracciare attività insieme. Riceveranno un invito via email.",
"email": "Email del Membro della Famiglia",
"role": "Ruolo",
"roles": {
"parent": "Genitore",
"caregiver": "Caregiver",
"viewer": "Visualizzatore"
},
"addMember": "Aggiungi Membro",
"inviteLater": "Inviterò Più Tardi"
},
"notifications": {
"title": "Abilita Notifiche",
"subtitle": "Rimani informato",
"description": "Ricevi promemoria per alimentazioni, orari del sonno e traguardi importanti.",
"push": "Notifiche Push",
"email": "Notifiche Email",
"enable": "Abilita Notifiche",
"skipForNow": "Salta per Ora"
},
"complete": {
"title": "Tutto Pronto!",
"subtitle": "Sei pronto per iniziare il tracciamento",
"description": "Inizia a tracciare le attività del tuo bambino e ottieni approfondimenti personalizzati alimentati da IA.",
"startTracking": "Inizia Tracciamento",
"exploreDashboard": "Esplora Dashboard"
},
"navigation": {
"next": "Avanti",
"back": "Indietro",
"skip": "Salta",
"finish": "Fine"
},
"progress": {
"step": "Passo {{current}} di {{total}}"
}
}

View File

@@ -0,0 +1,147 @@
{
"title": "Impostazioni",
"account": {
"title": "Account",
"profile": "Profilo",
"email": "Email",
"password": "Password",
"changePassword": "Cambia Password",
"deleteAccount": "Elimina Account",
"confirmDelete": "Sei sicuro di voler eliminare il tuo account? Questa azione non può essere annullata."
},
"preferences": {
"title": "Preferenze",
"language": "Lingua",
"measurementUnits": "Unità di Misura",
"metric": "Metrico (kg, cm, °C, ml)",
"imperial": "Imperiale (lb, in, °F, oz)",
"timezone": "Fuso Orario",
"autoDetectTimezone": "Rileva Automaticamente",
"timezoneUpdated": "Fuso orario aggiornato con successo",
"timezoneAutoDetected": "Fuso orario rilevato automaticamente",
"dateFormat": "Formato Data",
"timeFormat": "Formato Ora",
"12hour": "Formato 12 ore",
"24hour": "Formato 24 ore",
"timeFormatUpdated": "Formato ora aggiornato con successo",
"theme": "Tema",
"light": "Chiaro",
"dark": "Scuro",
"auto": "Automatico (Sistema)"
},
"notifications": {
"title": "Notifiche",
"push": "Notifiche Push",
"email": "Notifiche Email",
"feedingReminders": "Promemoria Alimentazione",
"sleepReminders": "Promemoria Sonno",
"milestoneAlerts": "Avvisi Traguardi",
"familyUpdates": "Aggiornamenti Famiglia",
"aiSuggestions": "Suggerimenti IA"
},
"privacy": {
"title": "Privacy e Sicurezza",
"dataSharing": "Condivisione Dati",
"familyAccess": "Accesso Famiglia",
"biometric": "Autenticazione Biometrica",
"enableFaceId": "Abilita Face ID",
"enableTouchId": "Abilita Touch ID",
"enableFingerprint": "Abilita Impronta Digitale",
"dataExport": "Esporta Dati",
"downloadData": "Scarica i Tuoi Dati"
},
"family": {
"title": "Famiglia",
"members": "Membri della Famiglia",
"inviteMember": "Invita Membro",
"removeMember": "Rimuovi Membro",
"permissions": "Permessi",
"role": "Ruolo",
"roles": {
"admin": "Amministratore",
"parent": "Genitore",
"caregiver": "Caregiver",
"viewer": "Visualizzatore"
}
},
"children": {
"title": "Bambini",
"addChild": "Aggiungi Bambino",
"editChild": "Modifica Bambino",
"removeChild": "Rimuovi Bambino",
"name": "Nome",
"dateOfBirth": "Data di Nascita",
"gender": "Genere",
"genders": {
"male": "Maschio",
"female": "Femmina",
"other": "Altro",
"preferNotToSay": "Preferisco non dire"
}
},
"subscription": {
"title": "Abbonamento",
"plan": "Piano Attuale",
"free": "Gratuito",
"premium": "Premium",
"upgradeToPremium": "Aggiorna a Premium",
"manageBilling": "Gestisci Fatturazione",
"cancelSubscription": "Cancella Abbonamento",
"renewalDate": "Data di Rinnovo",
"features": {
"unlimitedAi": "Domande IA illimitate",
"familySync": "Sincronizzazione famiglia",
"advancedAnalytics": "Analisi avanzate",
"exportReports": "Esporta report",
"prioritySupport": "Supporto prioritario"
}
},
"about": {
"title": "Informazioni",
"version": "Versione",
"termsOfService": "Termini di Servizio",
"privacyPolicy": "Politica sulla Privacy",
"helpCenter": "Centro Assistenza",
"contactSupport": "Contatta il Supporto",
"rateApp": "Valuta App",
"shareApp": "Condividi App"
},
"profile": {
"title": "Informazioni Profilo",
"name": "Nome",
"nameRequired": "Il nome non può essere vuoto",
"email": "Email",
"emailNotEditable": "L'email non può essere modificata"
},
"appearance": {
"title": "Aspetto",
"darkMode": "Modalità Scura (Prossimamente)"
},
"security": {
"title": "Sicurezza"
},
"sessions": {
"title": "Sessioni"
},
"deviceTrust": {
"title": "Fiducia Dispositivo"
},
"biometric": {
"title": "Autenticazione Biometrica"
},
"dataExport": {
"title": "Esportazione Dati"
},
"accountDeletion": {
"title": "Eliminazione Account"
},
"accountActions": {
"title": "Azioni Account",
"logout": "Esci"
},
"save": "Salva Preferenze",
"saving": "Salvataggio...",
"saved": "Impostazioni salvate con successo!",
"cancel": "Annulla",
"reset": "Ripristina Predefinito"
}

View File

@@ -0,0 +1,279 @@
{
"title": "Tracciamento Attività",
"trackActivity": "Traccia Attività",
"selectActivity": "Seleziona un'attività da tracciare",
"activities": {
"feeding": "Alimentazione",
"sleep": "Sonno",
"diaper": "Pannolino",
"medicine": "Medicina",
"activity": "Attività"
},
"feeding": {
"title": "Alimentazione",
"addFeeding": "Aggiungi Alimentazione",
"type": "Tipo di Alimentazione",
"types": {
"breast": "Seno",
"bottle": "Biberon",
"solid": "Cibo Solido"
},
"side": "Lato",
"sides": {
"left": "Sinistro",
"right": "Destro",
"both": "Entrambi"
},
"amount": "Quantità",
"duration": "Durata",
"startTime": "Avvia Timer",
"endTime": "Ferma Timer",
"reset": "Reimposta",
"notes": "Note",
"bottleType": "Tipo di Biberon",
"bottleTypes": {
"formula": "Latte Artificiale",
"breastmilk": "Latte Materno",
"other": "Altro"
},
"foodDescription": "Descrizione Cibo",
"amountDescription": "Descrizione Quantità",
"placeholders": {
"amount": "Inserisci quantità",
"notes": "Aggiungi note su questa alimentazione...",
"duration": "O inserisci durata manualmente",
"foodDescription": "es., Cereali di riso, Purea di banana",
"amountDescription": "es., 1/4 tazza, 2 cucchiai"
},
"units": {
"ml": "ml",
"oz": "oz",
"minutes": "minuti"
},
"validation": {
"durationRequired": "Per favore inserisci la durata o usa il timer",
"amountRequired": "Per favore inserisci la quantità",
"foodRequired": "Per favore inserisci la descrizione del cibo"
},
"success": "Alimentazione registrata con successo!",
"deleted": "Alimentazione eliminata con successo",
"recentFeedings": "Alimentazioni Recenti",
"error": {
"saveFailed": "Salvataggio alimentazione fallito",
"deleteFailed": "Eliminazione alimentazione fallita"
}
},
"sleep": {
"title": "Sonno",
"addSleep": "Aggiungi Sonno",
"logSleep": "Registra Sonno",
"startTime": "Inizio Sonno",
"endTime": "Fine Sonno",
"duration": "Durata",
"quality": "Qualità",
"qualities": {
"poor": "Scarsa",
"fair": "Discreta",
"good": "Buona",
"excellent": "Eccellente"
},
"location": "Posizione",
"locations": {
"crib": "Culla",
"bed": "Letto",
"stroller": "Passeggino",
"carrier": "Marsupio",
"other": "Altro"
},
"status": {
"title": "Stato del Sonno",
"completed": "Completato (ha ora di fine)",
"ongoing": "In corso (sta ancora dormendo)"
},
"now": "Ora",
"notes": "Note",
"placeholders": {
"notes": "Aggiungi note su questa sessione di sonno..."
},
"recentSleeps": "Sonni Recenti",
"success": "Sonno registrato con successo!",
"deleted": "Sonno eliminato con successo",
"ongoing_duration": "In corso - {{duration}}"
},
"diaper": {
"title": "Pannolino",
"addDiaper": "Aggiungi Cambio Pannolino",
"logDiaper": "Registra Cambio Pannolino",
"type": "Tipo",
"types": {
"wet": "Bagnato",
"dirty": "Sporco",
"both": "Entrambi",
"dry": "Asciutto"
},
"time": "Ora",
"now": "Ora",
"conditions": {
"title": "Condizioni",
"normal": "Normale",
"soft": "Morbido",
"hard": "Duro",
"watery": "Acquoso",
"mucus": "Muco",
"blood": "Sangue"
},
"rash": {
"title": "Ha Eritema",
"yes": "Sì",
"no": "No",
"severity": "Gravità Eritema",
"alert": "Eritema da pannolino rilevato. Considera l'applicazione di crema per eritema e consulta il tuo pediatra se persiste.",
"severities": {
"mild": "Lieve",
"moderate": "Moderato",
"severe": "Grave"
}
},
"notes": "Note",
"placeholders": {
"notes": "Aggiungi note su questo cambio pannolino..."
},
"recentDiapers": "Cambi Pannolino Recenti",
"success": "Cambio pannolino registrato con successo!",
"deleted": "Cambio pannolino eliminato con successo"
},
"milestone": {
"title": "Traguardo",
"addMilestone": "Aggiungi Traguardo",
"category": "Categoria",
"categories": {
"physical": "Fisico",
"cognitive": "Cognitivo",
"social": "Sociale",
"language": "Linguaggio"
},
"description": "Descrizione",
"date": "Data",
"notes": "Note",
"placeholders": {
"description": "Descrivi il traguardo...",
"notes": "Aggiungi note aggiuntive..."
}
},
"health": {
"title": "Salute",
"addHealth": "Aggiungi Record Salute",
"type": "Tipo",
"types": {
"temperature": "Temperatura",
"medication": "Farmaco",
"symptom": "Sintomo",
"doctor": "Visita Medica"
},
"temperature": "Temperatura",
"medication": "Farmaco",
"medicineInfo": "Informazioni Medicina",
"medicineName": {
"label": "Nome Medicina",
"placeholder": "es., Paracetamolo, Ibuprofene",
"required": "Per favore inserisci il nome della medicina"
},
"dosage": {
"label": "Dosaggio",
"placeholder": "es., 5, 2.5",
"required": "Per favore inserisci il dosaggio"
},
"unit": "Unità",
"route": {
"label": "Via",
"oral": "Orale",
"topical": "Topica",
"injection": "Iniezione",
"other": "Altro"
},
"reason": {
"label": "Motivo (opzionale)",
"placeholder": "es., Febbre, Dolore, Allergia"
},
"logMedicine": "Registra Medicina",
"recentMedicines": "Medicine Recenti",
"success": "Medicina registrata con successo!",
"error": "Salvataggio medicina fallito",
"deleted": "Medicina eliminata con successo",
"deleteError": "Eliminazione medicina fallita",
"symptom": "Sintomo",
"severity": "Gravità",
"severities": {
"mild": "Lieve",
"moderate": "Moderato",
"severe": "Grave"
},
"notes": "Note",
"placeholders": {
"medication": "Nome farmaco",
"dosage": "Quantità dosaggio",
"symptom": "Descrivi sintomo",
"notes": "Aggiungi note..."
},
"units": {
"ml": "ml",
"mg": "mg",
"tsp": "cucchiaino",
"tbsp": "cucchiaio",
"drops": "gocce",
"tablet": "compressa/e",
"celsius": "°C",
"fahrenheit": "°F"
}
},
"activity": {
"title": "Attività",
"addActivity": "Aggiungi Attività",
"logActivity": "Registra Attività",
"type": "Tipo di Attività",
"types": {
"play": "Gioco",
"tummyTime": "Tempo a Pancia in Giù",
"walk": "Passeggiata",
"music": "Musica",
"reading": "Lettura",
"outdoor": "Gioco all'Aperto",
"other": "Altro"
},
"duration": "Durata (minuti)",
"description": "Descrizione",
"notes": "Note",
"placeholders": {
"duration": "Inserisci durata in minuti",
"description": "Descrivi l'attività...",
"notes": "Aggiungi note..."
},
"recentActivities": "Attività Recenti",
"success": "Attività registrata con successo!",
"deleted": "Attività eliminata con successo"
},
"common": {
"selectChild": "Seleziona Bambino",
"cancel": "Annulla",
"delete": "Elimina",
"loading": "Caricamento...",
"noChildrenAdded": "Nessun Bambino Aggiunto",
"noChildrenMessage": "Devi aggiungere un bambino prima di poter tracciare attività",
"addChild": "Aggiungi Bambino",
"recentActivities": "Attività Recenti",
"error": {
"loadChildrenFailed": "Caricamento bambini fallito"
}
},
"quickLog": "Registrazione Rapida",
"viewHistory": "Visualizza Cronologia",
"editEntry": "Modifica Voce",
"deleteEntry": "Elimina Voce",
"confirmDelete": "Sei sicuro di voler eliminare questa voce?",
"filterByType": "Filtra per Tipo",
"filterByChild": "Filtra per Bambino",
"sortByNewest": "Più Recente Prima",
"sortByOldest": "Più Vecchio Prima",
"noEntries": "Nessuna voce ancora",
"addFirstEntry": "Aggiungi la tua prima voce per iniziare il tracciamento"
}