1388 lines
70 KiB
TypeScript
1388 lines
70 KiB
TypeScript
const it: Record<string, string | { name: string; category: string }[]> = {
|
||
// Common
|
||
'common.save': 'Salva',
|
||
'common.cancel': 'Annulla',
|
||
'common.delete': 'Elimina',
|
||
'common.edit': 'Modifica',
|
||
'common.add': 'Aggiungi',
|
||
'common.loading': 'Caricamento...',
|
||
'common.error': 'Errore',
|
||
'common.back': 'Indietro',
|
||
'common.all': 'Tutti',
|
||
'common.close': 'Chiudi',
|
||
'common.open': 'Apri',
|
||
'common.upload': 'Carica',
|
||
'common.search': 'Cerca',
|
||
'common.confirm': 'Conferma',
|
||
'common.ok': 'OK',
|
||
'common.yes': 'Sì',
|
||
'common.no': 'No',
|
||
'common.or': 'o',
|
||
'common.none': 'Nessuno',
|
||
'common.date': 'Data',
|
||
'common.rename': 'Rinomina',
|
||
'common.name': 'Nome',
|
||
'common.email': 'Email',
|
||
'common.password': 'Password',
|
||
'common.saving': 'Salvataggio...',
|
||
'common.update': 'Aggiorna',
|
||
'common.change': 'Cambia',
|
||
'common.uploading': 'Caricamento…',
|
||
'common.backToPlanning': 'Torna al Programma',
|
||
'common.reset': 'Reimposta',
|
||
|
||
// Navbar
|
||
'nav.trip': 'Viaggio',
|
||
'nav.share': 'Condividi',
|
||
'nav.settings': 'Impostazioni',
|
||
'nav.admin': 'Amministrazione',
|
||
'nav.logout': 'Esci',
|
||
'nav.lightMode': 'Modalità chiara',
|
||
'nav.darkMode': 'Modalità scura',
|
||
'nav.autoMode': 'Modalità automatica',
|
||
'nav.administrator': 'Amministratore',
|
||
|
||
// Dashboard
|
||
'dashboard.title': 'I miei Viaggi',
|
||
'dashboard.subtitle.loading': 'Caricamento viaggi...',
|
||
'dashboard.subtitle.trips': '{count} viaggi ({archived} archiviati)',
|
||
'dashboard.subtitle.empty': 'Inizia il tuo primo viaggio',
|
||
'dashboard.subtitle.activeOne': '{count} viaggio attivo',
|
||
'dashboard.subtitle.activeMany': '{count} viaggi attivi',
|
||
'dashboard.subtitle.archivedSuffix': ' · {count} archiviati',
|
||
'dashboard.newTrip': 'Nuovo Viaggio',
|
||
'dashboard.gridView': 'Vista a griglia',
|
||
'dashboard.listView': 'Vista a lista',
|
||
'dashboard.currency': 'Valuta',
|
||
'dashboard.timezone': 'Fusi orari',
|
||
'dashboard.localTime': 'Locale',
|
||
'dashboard.timezoneCustomTitle': 'Fuso orario personalizzato',
|
||
'dashboard.timezoneCustomLabelPlaceholder': 'Etichetta (opzionale)',
|
||
'dashboard.timezoneCustomTzPlaceholder': 'es. Europe/Rome',
|
||
'dashboard.timezoneCustomAdd': 'Aggiungi',
|
||
'dashboard.timezoneCustomErrorEmpty': 'Inserisci un identificatore di fuso orario',
|
||
'dashboard.timezoneCustomErrorInvalid': 'Fuso orario non valido. Usa formati come Europe/Rome',
|
||
'dashboard.timezoneCustomErrorDuplicate': 'Già aggiunto',
|
||
'dashboard.emptyTitle': 'Ancora nessun viaggio',
|
||
'dashboard.emptyText': 'Crea il tuo primo viaggio e inizia a programmare!',
|
||
'dashboard.emptyButton': 'Crea il primo viaggio',
|
||
'dashboard.nextTrip': 'Prossimo Viaggio',
|
||
'dashboard.shared': 'Condiviso',
|
||
'dashboard.sharedBy': 'Condiviso da {name}',
|
||
'dashboard.days': 'Giorni',
|
||
'dashboard.places': 'Luoghi',
|
||
'dashboard.archive': 'Archivia',
|
||
'dashboard.restore': 'Ripristina',
|
||
'dashboard.archived': 'Archiviati',
|
||
'dashboard.status.ongoing': 'In corso',
|
||
'dashboard.status.today': 'Oggi',
|
||
'dashboard.status.tomorrow': 'Domani',
|
||
'dashboard.status.past': 'Passato',
|
||
'dashboard.status.daysLeft': '-{count} giorni',
|
||
'dashboard.toast.loadError': 'Impossibile caricare i viaggi',
|
||
'dashboard.toast.created': 'Viaggio creato con successo!',
|
||
'dashboard.toast.createError': 'Impossibile creare il viaggio',
|
||
'dashboard.toast.updated': 'Viaggio aggiornato!',
|
||
'dashboard.toast.updateError': 'Impossibile aggiornare il viaggio',
|
||
'dashboard.toast.deleted': 'Viaggio eliminato',
|
||
'dashboard.toast.deleteError': 'Impossibile eliminare il viaggio',
|
||
'dashboard.toast.archived': 'Viaggio archiviato',
|
||
'dashboard.toast.archiveError': 'Impossibile archiviare il viaggio',
|
||
'dashboard.toast.restored': 'Viaggio ripristinato',
|
||
'dashboard.toast.restoreError': 'Impossibile ripristinare il viaggio',
|
||
'dashboard.confirm.delete': 'Eliminare il viaggio "{title}"? Tutti i luoghi e i programmi verranno eliminati in modo permanente.',
|
||
'dashboard.editTrip': 'Modifica Viaggio',
|
||
'dashboard.createTrip': 'Crea Nuovo Viaggio',
|
||
'dashboard.tripTitle': 'Titolo',
|
||
'dashboard.tripTitlePlaceholder': 'es. Estate in Giappone',
|
||
'dashboard.tripDescription': 'Descrizione',
|
||
'dashboard.tripDescriptionPlaceholder': 'Di cosa tratta questo viaggio?',
|
||
'dashboard.startDate': 'Data di inizio',
|
||
'dashboard.endDate': 'Data di fine',
|
||
'dashboard.noDateHint': 'Nessuna data impostata — verranno creati 7 giorni predefiniti. Puoi cambiarlo in qualsiasi momento.',
|
||
'dashboard.coverImage': 'Immagine di copertina',
|
||
'dashboard.addCoverImage': 'Aggiungi immagine di copertina (o trascinala qui)',
|
||
'dashboard.addMembers': 'Compagni di viaggio',
|
||
'dashboard.addMember': 'Aggiungi membro',
|
||
'dashboard.coverSaved': 'Immagine di copertina salvata',
|
||
'dashboard.coverUploadError': 'Impossibile caricare',
|
||
'dashboard.coverRemoveError': 'Impossibile rimuovere',
|
||
'dashboard.titleRequired': 'Il titolo è obbligatorio',
|
||
'dashboard.endDateError': 'La data di fine deve essere successiva alla data di inizio',
|
||
|
||
// Settings
|
||
'settings.title': 'Impostazioni',
|
||
'settings.subtitle': 'Configura le tue impostazioni personali',
|
||
'settings.map': 'Mappa',
|
||
'settings.mapTemplate': 'Modello Mappa',
|
||
'settings.mapTemplatePlaceholder.select': 'Seleziona modello...',
|
||
'settings.mapDefaultHint': 'Lascia vuoto per OpenStreetMap (predefinito)',
|
||
'settings.mapTemplatePlaceholder': 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
|
||
'settings.mapHint': 'Modello URL per i tile della mappa',
|
||
'settings.latitude': 'Latitudine',
|
||
'settings.longitude': 'Longitudine',
|
||
'settings.saveMap': 'Salva Mappa',
|
||
'settings.apiKeys': 'Chiavi API',
|
||
'settings.mapsKey': 'Chiave API Google Maps',
|
||
'settings.mapsKeyHint': 'Per la ricerca dei luoghi. Richiede Places API (New). Ottienila su console.cloud.google.com',
|
||
'settings.weatherKey': 'Chiave API OpenWeatherMap',
|
||
'settings.weatherKeyHint': 'Per i dati meteo. Gratuita su openweathermap.org/api',
|
||
'settings.keyPlaceholder': 'Inserisci la chiave...',
|
||
'settings.configured': 'Configurata',
|
||
'settings.saveKeys': 'Salva Chiavi',
|
||
'settings.display': 'Visualizzazione',
|
||
'settings.colorMode': 'Modalità Colore',
|
||
'settings.light': 'Chiara',
|
||
'settings.dark': 'Scura',
|
||
'settings.auto': 'Automatica',
|
||
'settings.language': 'Lingua',
|
||
'settings.temperature': 'Unità di Temperatura',
|
||
'settings.timeFormat': 'Formato Ora',
|
||
'settings.routeCalculation': 'Calcolo Percorso',
|
||
'settings.blurBookingCodes': 'Nascondi codici di prenotazione',
|
||
'settings.notifications': 'Notifiche',
|
||
'settings.notifyTripInvite': 'Inviti di viaggio',
|
||
'settings.notifyBookingChange': 'Modifiche alle prenotazioni',
|
||
'settings.notifyTripReminder': 'Promemoria di viaggio',
|
||
'settings.notifyVacayInvite': 'Inviti fusione Vacay',
|
||
'settings.notifyPhotosShared': 'Foto condivise (Immich)',
|
||
'settings.notifyCollabMessage': 'Messaggi chat (Collab)',
|
||
'settings.notifyPackingTagged': 'Lista valigia: assegnazioni',
|
||
'settings.notifyWebhook': 'Notifiche webhook',
|
||
'settings.on': 'On',
|
||
'settings.off': 'Off',
|
||
'settings.mcp.title': 'Configurazione MCP',
|
||
'settings.mcp.endpoint': 'Endpoint MCP',
|
||
'settings.mcp.clientConfig': 'Configurazione client',
|
||
'settings.mcp.clientConfigHint': 'Sostituisci <your_token> con un token API dalla lista sottostante. Il percorso di npx potrebbe dover essere adattato per il tuo sistema (es. C:\\PROGRA~1\\nodejs\\npx.cmd su Windows).',
|
||
'settings.mcp.copy': 'Copia',
|
||
'settings.mcp.copied': 'Copiato!',
|
||
'settings.mcp.apiTokens': 'Token API',
|
||
'settings.mcp.createToken': 'Crea nuovo token',
|
||
'settings.mcp.noTokens': 'Nessun token ancora. Creane uno per connettere i client MCP.',
|
||
'settings.mcp.tokenCreatedAt': 'Creato',
|
||
'settings.mcp.tokenUsedAt': 'Utilizzato',
|
||
'settings.mcp.deleteTokenTitle': 'Elimina token',
|
||
'settings.mcp.deleteTokenMessage': 'Questo token smetterà di funzionare immediatamente. Qualsiasi client MCP che lo utilizza perderà l\'accesso.',
|
||
'settings.mcp.modal.createTitle': 'Crea token API',
|
||
'settings.mcp.modal.tokenName': 'Nome del token',
|
||
'settings.mcp.modal.tokenNamePlaceholder': 'es. Claude Desktop, Laptop di lavoro',
|
||
'settings.mcp.modal.creating': 'Creazione…',
|
||
'settings.mcp.modal.create': 'Crea token',
|
||
'settings.mcp.modal.createdTitle': 'Token creato',
|
||
'settings.mcp.modal.createdWarning': 'Questo token verrà mostrato solo una volta. Copialo e salvalo ora — non può essere recuperato.',
|
||
'settings.mcp.modal.done': 'Fatto',
|
||
'settings.mcp.toast.created': 'Token creato',
|
||
'settings.mcp.toast.createError': 'Impossibile creare il token',
|
||
'settings.mcp.toast.deleted': 'Token eliminato',
|
||
'settings.mcp.toast.deleteError': 'Impossibile eliminare il token',
|
||
'settings.account': 'Account',
|
||
'settings.username': 'Username',
|
||
'settings.email': 'Email',
|
||
'settings.role': 'Ruolo',
|
||
'settings.roleAdmin': 'Amministratore',
|
||
'settings.oidcLinked': 'Collegato con',
|
||
'settings.changePassword': 'Cambia Password',
|
||
'settings.currentPassword': 'Password attuale',
|
||
'settings.currentPasswordRequired': 'La password attuale è obbligatoria',
|
||
'settings.newPassword': 'Nuova password',
|
||
'settings.confirmPassword': 'Conferma nuova password',
|
||
'settings.updatePassword': 'Aggiorna password',
|
||
'settings.passwordRequired': 'Inserisci la password attuale e quella nuova',
|
||
'settings.passwordTooShort': 'La password deve contenere almeno 8 caratteri',
|
||
'settings.passwordMismatch': 'Le password non corrispondono',
|
||
'settings.passwordWeak': 'La password deve contenere lettere maiuscole, minuscole e un numero',
|
||
'settings.passwordChanged': 'Password cambiata con successo',
|
||
'settings.deleteAccount': 'Elimina account',
|
||
'settings.deleteAccountTitle': 'Eliminare il tuo account?',
|
||
'settings.deleteAccountWarning': 'Il tuo account e tutti i tuoi viaggi, luoghi e file verranno eliminati in modo permanente. Questa azione non può essere annullata.',
|
||
'settings.deleteAccountConfirm': 'Elimina in modo permanente',
|
||
'settings.deleteBlockedTitle': 'Eliminazione impossibile',
|
||
'settings.deleteBlockedMessage': 'Sei l\'unico amministratore. Promuovi un altro utente ad amministratore prima di eliminare il tuo account.',
|
||
'settings.roleUser': 'Utente',
|
||
'settings.saveProfile': 'Salva Profillo',
|
||
'settings.toast.mapSaved': 'Impostazioni mappa salvate',
|
||
'settings.toast.keysSaved': 'Chiavi API salvate',
|
||
'settings.toast.displaySaved': 'Impostazioni di visualizzazione salvate',
|
||
'settings.toast.profileSaved': 'Profilo salvato',
|
||
'settings.uploadAvatar': 'Carica Immagine del Profilo',
|
||
'settings.removeAvatar': 'Rimuovi Immagine del Profilo',
|
||
'settings.avatarUploaded': 'Immagine del profilo aggiornata',
|
||
'settings.avatarRemoved': 'Immagine del profilo rimossa',
|
||
'settings.avatarError': 'Impossibile caricare',
|
||
'settings.mfa.title': 'Autenticazione a due fattori (2FA)',
|
||
'settings.mfa.description': 'Aggiunge un secondo passaggio quando accedi con email e password. Usa un\'app authenticator (Google Authenticator, Authy, ecc.).',
|
||
'settings.mfa.requiredByPolicy': 'L\'amministratore richiede l\'autenticazione a due fattori. Configura un\'app authenticator qui sotto prima di continuare.',
|
||
'settings.mfa.enabled': 'La 2FA è abilitata sul tuo account.',
|
||
'settings.mfa.disabled': 'La 2FA non è abilitata.',
|
||
'settings.mfa.setup': 'Configura authenticator',
|
||
'settings.mfa.scanQr': 'Scansiona questo codice QR con la tua app, o inserisci il segreto manualmente.',
|
||
'settings.mfa.secretLabel': 'Chiave segreta (inserimento manuale)',
|
||
'settings.mfa.codePlaceholder': 'Codice a 6 cifre',
|
||
'settings.mfa.enable': 'Abilita 2FA',
|
||
'settings.mfa.cancelSetup': 'Annulla',
|
||
'settings.mfa.disableTitle': 'Disabilita 2FA',
|
||
'settings.mfa.disableHint': 'Inserisci la password del tuo account e un codice attuale dal tuo authenticator.',
|
||
'settings.mfa.disable': 'Disabilita 2FA',
|
||
'settings.mfa.toastEnabled': 'Autenticazione a due fattori abilitata',
|
||
'settings.mfa.toastDisabled': 'Autenticazione a due fattori disabilitata',
|
||
'settings.mfa.demoBlocked': 'Non disponibile in modalità demo',
|
||
'admin.smtp.title': 'Email e notifiche',
|
||
'admin.smtp.hint': 'Configurazione SMTP per le notifiche via email. Opzionale: URL webhook per Discord, Slack, ecc.',
|
||
'admin.smtp.testButton': 'Invia email di prova',
|
||
'admin.smtp.testSuccess': 'Email di prova inviata con successo',
|
||
'admin.smtp.testFailed': 'Invio email di prova fallito',
|
||
'dayplan.icsTooltip': 'Esporta calendario (ICS)',
|
||
'share.linkTitle': 'Link pubblico',
|
||
'share.linkHint': 'Crea un link che chiunque può usare per visualizzare questo viaggio senza accedere. Solo lettura — nessuna modifica possibile.',
|
||
'share.createLink': 'Crea link',
|
||
'share.deleteLink': 'Elimina link',
|
||
'share.createError': 'Impossibile creare il link',
|
||
'common.copy': 'Copia',
|
||
'common.copied': 'Copiato',
|
||
'share.permMap': 'Mappa e programma',
|
||
'share.permBookings': 'Prenotazioni',
|
||
'share.permPacking': 'Valigia',
|
||
'shared.expired': 'Link scaduto o non valido',
|
||
'shared.expiredHint': 'Questo link di viaggio condiviso non è più attivo.',
|
||
'shared.readOnly': 'Vista in sola lettura',
|
||
'shared.tabPlan': 'Programma',
|
||
'shared.tabBookings': 'Prenotazioni',
|
||
'shared.tabPacking': 'Valigia',
|
||
'shared.tabBudget': 'Budget',
|
||
'shared.tabChat': 'Chat',
|
||
'shared.days': 'giorni',
|
||
'shared.places': 'luoghi',
|
||
'shared.other': 'Altro',
|
||
'shared.totalBudget': 'Budget totale',
|
||
'shared.messages': 'messaggi',
|
||
'shared.sharedVia': 'Condiviso tramite',
|
||
'shared.confirmed': 'Confermato',
|
||
'shared.pending': 'In attesa',
|
||
'share.permBudget': 'Budget',
|
||
'share.permCollab': 'Chat',
|
||
|
||
// Login
|
||
'login.error': 'Accesso fallito. Controlla le tue credenziali.',
|
||
'login.tagline': 'I tuoi viaggi.\nIl tuo programma.',
|
||
'login.description': 'Programma viaggi in collaborazione con mappe interattive, budget e sincronizzazione in tempo reale.',
|
||
'login.features.maps': 'Mappe Interattive',
|
||
'login.features.mapsDesc': 'Google Places, percorsi e clustering',
|
||
'login.features.realtime': 'Sincronizzazione in tempo reale',
|
||
'login.features.realtimeDesc': 'Programmate insieme tramite WebSocket',
|
||
'login.features.budget': 'Tracciamento Budget',
|
||
'login.features.budgetDesc': 'Categorie, grafici e costi per persona',
|
||
'login.features.collab': 'Collaborazione',
|
||
'login.features.collabDesc': 'Multi-utente con viaggi condivisi',
|
||
'login.features.packing': 'Lista Valigia',
|
||
'login.features.packingDesc': 'Categorie, progressi e suggerimenti',
|
||
'login.features.bookings': 'Prenotazioni',
|
||
'login.features.bookingsDesc': 'Voli, alloggi, ristoranti e altro',
|
||
'login.features.files': 'Documenti',
|
||
'login.features.filesDesc': 'Carica e gestisci i documenti',
|
||
'login.features.routes': 'Percorsi Intelligenti',
|
||
'login.features.routesDesc': 'Ottimizzazione automatica ed esportazione su Google Maps',
|
||
'login.selfHosted': 'Self-hosted · Open Source · Your data stays yours',
|
||
'login.title': 'Accedi',
|
||
'login.subtitle': 'Bentornato',
|
||
'login.signingIn': 'Accesso in corso…',
|
||
'login.signIn': 'Accedi',
|
||
'login.createAdmin': 'Crea Account Amministratore',
|
||
'login.createAdminHint': 'Imposta il primo account amministratore per TREK.',
|
||
'login.createAccount': 'Crea Account',
|
||
'login.createAccountHint': 'Registra un nuovo account.',
|
||
'login.creating': 'Creazione in corso…',
|
||
'login.noAccount': "Non hai un account?",
|
||
'login.hasAccount': 'Hai già un account?',
|
||
'login.register': 'Registrati',
|
||
'login.emailPlaceholder': 'tua@email.com',
|
||
'login.username': 'Username',
|
||
'login.oidc.registrationDisabled': 'La registrazione è disabilitata. Contatta il tuo amministratore.',
|
||
'login.oidc.noEmail': 'Nessuna email ricevuta dal provider.',
|
||
'login.oidc.tokenFailed': 'Autenticazione fallita.',
|
||
'login.oidc.invalidState': 'Sessione non valida. Riprova.',
|
||
'login.demoFailed': 'Accesso demo fallito',
|
||
'login.oidcSignIn': 'Accedi con {name}',
|
||
'login.oidcOnly': 'L\'autenticazione tramite password è disabilitata. Accedi utilizzando il tuo provider SSO.',
|
||
'login.demoHint': 'Prova la demo — nessuna registrazione necessaria',
|
||
'login.mfaTitle': 'Autenticazione a due fattori',
|
||
'login.mfaSubtitle': 'Inserisci il codice a 6 cifre dalla tua app authenticator.',
|
||
'login.mfaCodeLabel': 'Codice di verifica',
|
||
'login.mfaCodeRequired': 'Inserisci il codice dalla tua app authenticator.',
|
||
'login.mfaHint': 'Apri Google Authenticator, Authy o un\'altra app TOTP.',
|
||
'login.mfaBack': '← Torna all\'accesso',
|
||
'login.mfaVerify': 'Verifica',
|
||
|
||
// Register
|
||
'register.passwordMismatch': 'Le password non corrispondono',
|
||
'register.passwordTooShort': 'La password deve contenere almeno 6 caratteri',
|
||
'register.failed': 'Registrazione fallita',
|
||
'register.getStarted': 'Inizia',
|
||
'register.subtitle': 'Crea un account e inizia a programmare i viaggi dei tuoi sogni.',
|
||
'register.feature1': 'Piani di viaggio illimitati',
|
||
'register.feature2': 'Vista mappa interattiva',
|
||
'register.feature3': 'Gestisci luoghi e categorie',
|
||
'register.feature4': 'Traccia le prenotazioni',
|
||
'register.feature5': 'Crea liste per la valigia',
|
||
'register.feature6': 'Archivia foto e file',
|
||
'register.createAccount': 'Crea Account',
|
||
'register.startPlanning': 'Inizia a programmare il tuo viaggio',
|
||
'register.minChars': 'Min. 6 caratteri',
|
||
'register.confirmPassword': 'Conferma Password',
|
||
'register.repeatPassword': 'Ripeti password',
|
||
'register.registering': 'Registrazione in corso...',
|
||
'register.register': 'Registrati',
|
||
'register.hasAccount': 'Hai già un account?',
|
||
'register.signIn': 'Accedi',
|
||
|
||
// Admin
|
||
'admin.title': 'Amministrazione',
|
||
'admin.subtitle': 'Gestione utenti e impostazioni di sistema',
|
||
'admin.tabs.users': 'Utenti',
|
||
'admin.tabs.categories': 'Categorie',
|
||
'admin.tabs.backup': 'Backup',
|
||
'admin.stats.users': 'Utenti',
|
||
'admin.stats.trips': 'Viaggi',
|
||
'admin.stats.places': 'Luoghi',
|
||
'admin.stats.photos': 'Foto',
|
||
'admin.stats.files': 'File',
|
||
'admin.table.user': 'Utente',
|
||
'admin.table.email': 'Email',
|
||
'admin.table.role': 'Ruolo',
|
||
'admin.table.created': 'Creato',
|
||
'admin.table.lastLogin': 'Ultimo Accesso',
|
||
'admin.table.actions': 'Azioni',
|
||
'admin.you': '(Tu)',
|
||
'admin.editUser': 'Modifica Utente',
|
||
'admin.newPassword': 'Nuova Password',
|
||
'admin.newPasswordHint': 'Lascia vuoto per mantenere la password attuale',
|
||
'admin.deleteUser': 'Eliminare l\'utente "{name}"? Tutti i viaggi verranno eliminati in modo permanente.',
|
||
'admin.deleteUserTitle': 'Elimina utente',
|
||
'admin.newPasswordPlaceholder': 'Inserisci nuova password…',
|
||
'admin.toast.loadError': 'Impossibile caricare i dati di amministrazione',
|
||
'admin.toast.userUpdated': 'Utente aggiornato',
|
||
'admin.toast.updateError': 'Impossibile aggiornare',
|
||
'admin.toast.userDeleted': 'Utente eliminato',
|
||
'admin.toast.deleteError': 'Impossibile eliminare',
|
||
'admin.toast.cannotDeleteSelf': 'Impossibile eliminare il proprio account',
|
||
'admin.toast.userCreated': 'Utente creato',
|
||
'admin.toast.createError': 'Impossibile creare l\'utente',
|
||
'admin.toast.fieldsRequired': 'Username, email e password sono obbligatori',
|
||
'admin.createUser': 'Crea Utente',
|
||
'admin.invite.title': 'Link di Invito',
|
||
'admin.invite.subtitle': 'Crea link di registrazione monouso',
|
||
'admin.invite.create': 'Crea Link',
|
||
'admin.invite.createAndCopy': 'Crea & Copia',
|
||
'admin.invite.empty': 'Nessun link di invito ancora creato',
|
||
'admin.invite.maxUses': 'Usi Max.',
|
||
'admin.invite.expiry': 'Scade tra',
|
||
'admin.invite.uses': 'usato',
|
||
'admin.invite.expiresAt': 'scade',
|
||
'admin.invite.createdBy': 'da',
|
||
'admin.invite.active': 'Attivo',
|
||
'admin.invite.expired': 'Scaduto',
|
||
'admin.invite.usedUp': 'Esaurito',
|
||
'admin.invite.copied': 'Link di invito copiato negli appunti',
|
||
'admin.invite.copyLink': 'Copia link',
|
||
'admin.invite.deleted': 'Link di invito eliminato',
|
||
'admin.invite.createError': 'Impossibile creare il link di invito',
|
||
'admin.invite.deleteError': 'Impossibile eliminare il link di invito',
|
||
'admin.tabs.settings': 'Impostazioni',
|
||
'admin.allowRegistration': 'Consenti Registrazione',
|
||
'admin.allowRegistrationHint': 'I nuovi utenti possono registrarsi autonomamente',
|
||
'admin.requireMfa': 'Richiedi autenticazione a due fattori (2FA)',
|
||
'admin.requireMfaHint': 'Gli utenti senza 2FA devono completare la configurazione in Impostazioni prima di usare l\'app.',
|
||
'admin.apiKeys': 'Chiavi API',
|
||
'admin.apiKeysHint': 'Opzionale. Abilita dati estesi per i luoghi come foto e meteo.',
|
||
'admin.mapsKey': 'Chiave API Google Maps',
|
||
'admin.mapsKeyHint': 'Richiesta per la ricerca dei luoghi. Ottienila su console.cloud.google.com',
|
||
'admin.mapsKeyHintLong': 'Senza una chiave API, OpenStreetMap viene utilizzato per la ricerca dei luoghi. Con una chiave API di Google, è possibile caricare anche foto, valutazioni e orari di apertura. Ottienine una su console.cloud.google.com.',
|
||
'admin.recommended': 'Consigliato',
|
||
'admin.weatherKey': 'Chiave API OpenWeatherMap',
|
||
'admin.weatherKeyHint': 'Per i dati meteo. Gratuita su openweathermap.org',
|
||
'admin.validateKey': 'Testa',
|
||
'admin.keyValid': 'Connessa',
|
||
'admin.keyInvalid': 'Non valida',
|
||
'admin.keySaved': 'Chiavi API salvate',
|
||
'admin.oidcTitle': 'Single Sign-On (OIDC)',
|
||
'admin.oidcSubtitle': 'Consenti l\'accesso tramite provider esterni come Google, Apple, Authentik o Keycloak.',
|
||
'admin.oidcDisplayName': 'Nome Visualizzato',
|
||
'admin.oidcIssuer': 'URL Emittente',
|
||
'admin.oidcIssuerHint': 'L\'URL dell\'Emittente OpenID Connect del provider. es. https://accounts.google.com',
|
||
'admin.oidcSaved': 'Configurazione OIDC salvata',
|
||
'admin.oidcOnlyMode': 'Disabilita autenticazione con password',
|
||
'admin.oidcOnlyModeHint': 'Se abilitato, è consentito solo l\'accesso SSO. L\'accesso basato su password e la registrazione sono bloccati.',
|
||
|
||
// File Types
|
||
'admin.fileTypes': 'Tipi di File Consentiti',
|
||
'admin.fileTypesHint': 'Configura quali tipi di file gli utenti possono caricare.',
|
||
'admin.fileTypesFormat': 'Estensioni separate da virgola (es. jpg,png,pdf,doc). Usa * per consentire tutti i tipi.',
|
||
'admin.fileTypesSaved': 'Impostazioni dei tipi di file salvate',
|
||
// Packing Templates & Bag Tracking
|
||
'admin.bagTracking.title': 'Tracciamento valigia',
|
||
'admin.bagTracking.subtitle': 'Abilita il peso e l\'assegnazione della valigia per gli elementi della lista valigia',
|
||
'admin.tabs.config': 'Configurazione',
|
||
'admin.tabs.templates': 'Modelli lista valigia',
|
||
'admin.packingTemplates.title': 'Modelli lista valigia',
|
||
'admin.packingTemplates.subtitle': 'Crea liste valigia riutilizzabili per i tuoi viaggi',
|
||
'admin.packingTemplates.create': 'Nuovo modello',
|
||
'admin.packingTemplates.namePlaceholder': 'Nome modello (es. Vacanza al mare)',
|
||
'admin.packingTemplates.empty': 'Ancora nessun modello creato',
|
||
'admin.packingTemplates.items': 'elementi',
|
||
'admin.packingTemplates.categories': 'categorie',
|
||
'admin.packingTemplates.itemName': 'Nome elemento',
|
||
'admin.packingTemplates.itemCategory': 'Categoria',
|
||
'admin.packingTemplates.categoryName': 'Nome categoria (es. Abbigliamento)',
|
||
'admin.packingTemplates.addCategory': 'Aggiungi categoria',
|
||
'admin.packingTemplates.created': 'Modello creato',
|
||
'admin.packingTemplates.deleted': 'Modello eliminato',
|
||
'admin.packingTemplates.loadError': 'Impossibile caricare i modelli',
|
||
'admin.packingTemplates.createError': 'Impossibile creare il modello',
|
||
'admin.packingTemplates.deleteError': 'Impossibile eliminare il modello',
|
||
'admin.packingTemplates.saveError': 'Impossibile salvare',
|
||
|
||
// Addons
|
||
'admin.tabs.addons': 'Moduli',
|
||
'admin.addons.title': 'Moduli',
|
||
'admin.addons.subtitle': 'Abilita o disabilita le funzionalità per personalizzare la tua esperienza TREK.',
|
||
'admin.addons.catalog.packing.name': 'Lista valigia',
|
||
'admin.addons.catalog.packing.description': 'Checklist per preparare la valigia per ogni viaggio',
|
||
'admin.addons.catalog.budget.name': 'Budget',
|
||
'admin.addons.catalog.budget.description': 'Tieni traccia delle spese e pianifica il budget del tuo viaggio',
|
||
'admin.addons.catalog.documents.name': 'Documenti',
|
||
'admin.addons.catalog.documents.description': 'Archivia e gestisci i documenti di viaggio',
|
||
'admin.addons.catalog.vacay.name': 'Ferie',
|
||
'admin.addons.catalog.vacay.description': 'Pianificatore personale delle ferie con vista calendario',
|
||
'admin.addons.catalog.atlas.name': 'Atlante',
|
||
'admin.addons.catalog.atlas.description': 'Mappa del mondo con paesi visitati e statistiche di viaggio',
|
||
'admin.addons.catalog.collab.name': 'Collaborazione',
|
||
'admin.addons.catalog.collab.description': 'Note, sondaggi e chat in tempo reale per la pianificazione del viaggio',
|
||
'admin.addons.catalog.memories.name': 'Foto (Immich)',
|
||
'admin.addons.catalog.memories.description': 'Condividi le foto del viaggio tramite la tua istanza Immich',
|
||
'admin.addons.catalog.mcp.name': 'MCP',
|
||
'admin.addons.catalog.mcp.description': 'Model Context Protocol per l\'integrazione di assistenti AI',
|
||
'admin.addons.subtitleBefore': 'Abilita o disabilita le funzionalità per personalizzare la tua ',
|
||
'admin.addons.subtitleAfter': ' esperienza.',
|
||
'admin.addons.enabled': 'Abilitato',
|
||
'admin.addons.disabled': 'Disabilitato',
|
||
'admin.addons.type.trip': 'Viaggio',
|
||
'admin.addons.type.global': 'Globale',
|
||
'admin.addons.type.integration': 'Integrazione',
|
||
'admin.addons.tripHint': 'Disponibile come scheda all\'interno di ciascun viaggio',
|
||
'admin.addons.globalHint': 'Disponibile come sezione autonoma nella navigazione principale',
|
||
'admin.addons.integrationHint': 'Servizi backend e integrazioni API senza pagina dedicata',
|
||
'admin.addons.toast.updated': 'Modulo aggiornato',
|
||
'admin.addons.toast.error': 'Impossibile aggiornare il modulo',
|
||
'admin.addons.noAddons': 'Nessun modulo disponibile',
|
||
|
||
// Weather info
|
||
'admin.weather.title': 'Dati meteo',
|
||
'admin.weather.badge': 'Dal 24 marzo 2026',
|
||
'admin.weather.description': 'TREK utilizza Open-Meteo come fonte dei dati meteo. Open-Meteo è un servizio meteo gratuito e open-source — non è richiesta alcuna chiave API.',
|
||
'admin.weather.forecast': 'Previsioni a 16 giorni',
|
||
'admin.weather.forecastDesc': 'In precedenza 5 giorni (OpenWeatherMap)',
|
||
'admin.weather.climate': 'Dati climatici storici',
|
||
'admin.weather.climateDesc': 'Medie degli ultimi 85 anni per i giorni oltre le previsioni a 16 giorni',
|
||
'admin.weather.requests': '10.000 richieste / giorno',
|
||
'admin.weather.requestsDesc': 'Gratis, nessuna chiave API richiesta',
|
||
'admin.weather.locationHint': 'Il meteo si basa sul primo luogo con coordinate di ogni giorno. Se a un giorno non è assegnato alcun luogo, viene utilizzato come riferimento un qualsiasi luogo dell\'elenco.',
|
||
|
||
'admin.tabs.audit': 'Log di audit',
|
||
|
||
'admin.audit.subtitle': 'Eventi sensibili di sicurezza e amministrazione (backup, utenti, 2FA, impostazioni).',
|
||
'admin.audit.empty': 'Nessuna voce di audit.',
|
||
'admin.audit.refresh': 'Aggiorna',
|
||
'admin.audit.loadMore': 'Carica altro',
|
||
'admin.audit.showing': '{count} caricati · {total} totali',
|
||
'admin.audit.col.time': 'Ora',
|
||
'admin.audit.col.user': 'Utente',
|
||
'admin.audit.col.action': 'Azione',
|
||
'admin.audit.col.resource': 'Risorsa',
|
||
'admin.audit.col.ip': 'IP',
|
||
'admin.audit.col.details': 'Dettagli',
|
||
|
||
// MCP Tokens
|
||
'admin.tabs.mcpTokens': 'Token MCP',
|
||
'admin.mcpTokens.title': 'Token MCP',
|
||
'admin.mcpTokens.subtitle': 'Gestisci i token API di tutti gli utenti',
|
||
'admin.mcpTokens.owner': 'Proprietario',
|
||
'admin.mcpTokens.tokenName': 'Nome token',
|
||
'admin.mcpTokens.created': 'Creato',
|
||
'admin.mcpTokens.lastUsed': 'Ultimo utilizzo',
|
||
'admin.mcpTokens.never': 'Mai',
|
||
'admin.mcpTokens.empty': 'Non sono ancora stati creati token MCP',
|
||
'admin.mcpTokens.deleteTitle': 'Elimina token',
|
||
'admin.mcpTokens.deleteMessage': 'Questo token verrà revocato immediatamente. L\'utente perderà l\'accesso MCP tramite questo token.',
|
||
'admin.mcpTokens.deleteSuccess': 'Token eliminato',
|
||
'admin.mcpTokens.deleteError': 'Impossibile eliminare il token',
|
||
'admin.mcpTokens.loadError': 'Impossibile caricare i token',
|
||
|
||
// GitHub
|
||
'admin.tabs.github': 'GitHub',
|
||
'admin.github.title': 'Cronologia rilasci',
|
||
'admin.github.subtitle': 'Ultimi aggiornamenti da {repo}',
|
||
'admin.github.latest': 'Ultimo',
|
||
'admin.github.prerelease': 'Pre-release',
|
||
'admin.github.showDetails': 'Mostra dettagli',
|
||
'admin.github.hideDetails': 'Nascondi dettagli',
|
||
'admin.github.loadMore': 'Carica altro',
|
||
'admin.github.loading': 'Caricamento...',
|
||
'admin.github.error': 'Impossibile caricare i rilasci',
|
||
'admin.github.by': 'da',
|
||
'admin.github.support': 'Mi aiuta a continuare a sviluppare TREK',
|
||
|
||
'admin.update.available': 'Aggiornamento disponibile',
|
||
'admin.update.text': 'TREK {version} è disponibile. Stai eseguendo {current}.',
|
||
'admin.update.button': 'Vedi su GitHub',
|
||
'admin.update.install': 'Installa aggiornamento',
|
||
'admin.update.confirmTitle': 'Installare l\'aggiornamento?',
|
||
'admin.update.confirmText': 'TREK verrà aggiornato da {current} a {version}. Il server si riavvierà automaticamente in seguito.',
|
||
'admin.update.dataInfo': 'Tutti i tuoi dati (viaggi, utenti, chiavi API, caricamenti, Ferie, Atlante, budget) saranno preservati.',
|
||
'admin.update.warning': 'L\'app sarà temporaneamente non disponibile durante il riavvio.',
|
||
'admin.update.confirm': 'Aggiorna ora',
|
||
'admin.update.installing': 'Aggiornamento in corso…',
|
||
'admin.update.success': 'Aggiornamento installato! Il server si sta riavviando…',
|
||
'admin.update.failed': 'Aggiornamento non riuscito',
|
||
'admin.update.backupHint': 'Ti consigliamo di creare un backup prima di aggiornare.',
|
||
'admin.update.backupLink': 'Vai a Backup',
|
||
'admin.update.howTo': 'Come aggiornare',
|
||
'admin.update.dockerText': 'La tua istanza TREK è in esecuzione in Docker. Per aggiornare alla versione {version}, esegui i seguenti comandi sul tuo server:',
|
||
'admin.update.reloadHint': 'Ricarica la pagina tra qualche secondo.',
|
||
|
||
// Vacay addon
|
||
'vacay.subtitle': 'Pianifica e gestisci i giorni di ferie',
|
||
'vacay.settings': 'Impostazioni',
|
||
'vacay.year': 'Anno',
|
||
'vacay.addYear': 'Aggiungi anno',
|
||
'vacay.removeYear': 'Rimuovi anno',
|
||
'vacay.removeYearConfirm': 'Rimuovere {year}?',
|
||
'vacay.removeYearHint': 'Tutte le voci delle ferie e le ferie aziendali di questo anno verranno eliminate in modo permanente.',
|
||
'vacay.remove': 'Rimuovi',
|
||
'vacay.persons': 'Persone',
|
||
'vacay.noPersons': 'Nessuna persona aggiunta',
|
||
'vacay.addPerson': 'Aggiungi persona',
|
||
'vacay.editPerson': 'Modifica persona',
|
||
'vacay.removePerson': 'Rimuovi persona',
|
||
'vacay.removePersonConfirm': 'Rimuovere {name}?',
|
||
'vacay.removePersonHint': 'Tutte le voci delle ferie per questa persona verranno eliminate in modo permanente.',
|
||
'vacay.personName': 'Nome',
|
||
'vacay.personNamePlaceholder': 'Inserisci nome',
|
||
'vacay.color': 'Colore',
|
||
'vacay.add': 'Aggiungi',
|
||
'vacay.legend': 'Legenda',
|
||
'vacay.publicHoliday': 'Festività pubblica',
|
||
'vacay.companyHoliday': 'Ferie aziendali',
|
||
'vacay.weekend': 'Weekend',
|
||
'vacay.modeVacation': 'Ferie',
|
||
'vacay.modeCompany': 'Ferie aziendali',
|
||
'vacay.entitlement': 'Disponibilità',
|
||
'vacay.entitlementDays': 'Giorni',
|
||
'vacay.used': 'Usati',
|
||
'vacay.remaining': 'Rimanenti',
|
||
'vacay.carriedOver': 'dal {year}',
|
||
'vacay.blockWeekends': 'Blocca weekend',
|
||
'vacay.blockWeekendsHint': 'Impedisci le voci ferie nei giorni del weekend',
|
||
'vacay.weekendDays': 'Giorni del weekend',
|
||
'vacay.mon': 'Lun',
|
||
'vacay.tue': 'Mar',
|
||
'vacay.wed': 'Mer',
|
||
'vacay.thu': 'Gio',
|
||
'vacay.fri': 'Ven',
|
||
'vacay.sat': 'Sab',
|
||
'vacay.sun': 'Dom',
|
||
'vacay.publicHolidays': 'Festività pubbliche',
|
||
'vacay.publicHolidaysHint': 'Segna le festività pubbliche nel calendario',
|
||
'vacay.selectCountry': 'Seleziona paese',
|
||
'vacay.selectRegion': 'Seleziona regione (opzionale)',
|
||
'vacay.addCalendar': 'Aggiungi calendario',
|
||
'vacay.calendarLabel': 'Etichetta (opzionale)',
|
||
'vacay.calendarColor': 'Colore',
|
||
'vacay.noCalendars': 'Ancora nessun calendario delle festività aggiunto',
|
||
'vacay.companyHolidays': 'Ferie aziendali',
|
||
'vacay.companyHolidaysHint': 'Consenti di segnare giorni di ferie aziendali',
|
||
'vacay.companyHolidaysNoDeduct': 'Le ferie aziendali non vengono conteggiate nei giorni di ferie.',
|
||
'vacay.carryOver': 'Riporto',
|
||
'vacay.carryOverHint': 'Riporta automaticamente i giorni di ferie rimanenti all\'anno successivo',
|
||
'vacay.sharing': 'Condivisione',
|
||
'vacay.sharingHint': 'Condividi il tuo piano ferie con altri utenti TREK',
|
||
'vacay.owner': 'Proprietario',
|
||
'vacay.shareEmailPlaceholder': 'Email dell\'utente TREK',
|
||
'vacay.shareSuccess': 'Piano condiviso con successo',
|
||
'vacay.shareError': 'Impossibile condividere il piano',
|
||
'vacay.dissolve': 'Sciogli unione',
|
||
'vacay.dissolveHint': 'Separa di nuovo i calendari. Le tue voci verranno mantenute.',
|
||
'vacay.dissolveAction': 'Sciogli',
|
||
'vacay.dissolved': 'Calendario separato',
|
||
'vacay.fusedWith': 'Unito con',
|
||
'vacay.you': 'tu',
|
||
'vacay.noData': 'Nessun dato',
|
||
'vacay.changeColor': 'Cambia colore',
|
||
'vacay.inviteUser': 'Invita utente',
|
||
'vacay.inviteHint': 'Invita un altro utente TREK a condividere un calendario ferie combinato.',
|
||
'vacay.selectUser': 'Seleziona utente',
|
||
'vacay.sendInvite': 'Invia invito',
|
||
'vacay.inviteSent': 'Invito inviato',
|
||
'vacay.inviteError': 'Impossibile inviare l\'invito',
|
||
'vacay.pending': 'in attesa',
|
||
'vacay.noUsersAvailable': 'Nessun utente disponibile',
|
||
'vacay.accept': 'Accetta',
|
||
'vacay.decline': 'Rifiuta',
|
||
'vacay.acceptFusion': 'Accetta e unisci',
|
||
'vacay.inviteTitle': 'Richiesta di unione',
|
||
'vacay.inviteWantsToFuse': 'vuole condividere con te un calendario ferie.',
|
||
'vacay.fuseInfo1': 'Entrambi vedrete tutte le voci ferie in un unico calendario condiviso.',
|
||
'vacay.fuseInfo2': 'Entrambe le parti possono creare e modificare le voci reciproche.',
|
||
'vacay.fuseInfo3': 'Entrambe le parti possono eliminare le voci e modificare le disponibilità ferie.',
|
||
'vacay.fuseInfo4': 'Le impostazioni come festività pubbliche e ferie aziendali sono condivise.',
|
||
'vacay.fuseInfo5': 'L\'unione può essere sciolta in qualsiasi momento da una delle due parti. Le tue voci verranno preservate.',
|
||
'nav.myTrips': 'I miei viaggi',
|
||
|
||
// Atlas addon
|
||
'atlas.subtitle': 'La tua impronta di viaggio nel mondo',
|
||
'atlas.countries': 'Paesi',
|
||
'atlas.trips': 'Viaggi',
|
||
'atlas.places': 'Luoghi',
|
||
'atlas.unmark': 'Rimuovi',
|
||
'atlas.confirmMark': 'Segnare questo paese come visitato?',
|
||
'atlas.confirmUnmark': 'Rimuovere questo paese dalla tua lista dei visitati?',
|
||
'atlas.markVisited': 'Segna come visitato',
|
||
'atlas.markVisitedHint': 'Aggiungi questo paese alla tua lista dei visitati',
|
||
'atlas.addToBucket': 'Aggiungi alla lista desideri',
|
||
'atlas.addPoi': 'Aggiungi luogo',
|
||
'atlas.bucketNamePlaceholder': 'Nome (paese, città, luogo...)',
|
||
'atlas.month': 'Mese',
|
||
'atlas.addToBucketHint': 'Salvalo come luogo che vuoi visitare',
|
||
'atlas.bucketWhen': 'Quando pensi di visitarlo?',
|
||
'atlas.statsTab': 'Statistiche',
|
||
'atlas.bucketTab': 'Lista desideri',
|
||
'atlas.addBucket': 'Aggiungi alla lista desideri',
|
||
'atlas.bucketNamePlaceholder': 'Luogo o destinazione...',
|
||
'atlas.bucketNotesPlaceholder': 'Note (opzionale)',
|
||
'atlas.bucketEmpty': 'La tua lista desideri è vuota',
|
||
'atlas.bucketEmptyHint': 'Aggiungi luoghi che sogni di visitare',
|
||
'atlas.days': 'Giorni',
|
||
'atlas.visitedCountries': 'Paesi visitati',
|
||
'atlas.cities': 'Città',
|
||
'atlas.noData': 'Ancora nessun dato di viaggio',
|
||
'atlas.noDataHint': 'Crea un viaggio e aggiungi luoghi per vedere la tua mappa del mondo',
|
||
'atlas.lastTrip': 'Ultimo viaggio',
|
||
'atlas.nextTrip': 'Prossimo viaggio',
|
||
'atlas.daysLeft': 'giorni rimasti',
|
||
'atlas.streak': 'Serie',
|
||
'atlas.year': 'anno',
|
||
'atlas.years': 'anni',
|
||
'atlas.yearInRow': 'anno consecutivo',
|
||
'atlas.yearsInRow': 'anni consecutivi',
|
||
'atlas.tripIn': 'viaggio in',
|
||
'atlas.tripsIn': 'viaggi in',
|
||
'atlas.since': 'dal',
|
||
'atlas.europe': 'Europa',
|
||
'atlas.asia': 'Asia',
|
||
'atlas.northAmerica': 'Nord America',
|
||
'atlas.southAmerica': 'Sud America',
|
||
'atlas.africa': 'Africa',
|
||
'atlas.oceania': 'Oceania',
|
||
'atlas.other': 'Altro',
|
||
'atlas.firstVisit': 'Primo viaggio',
|
||
'atlas.lastVisitLabel': 'Ultimo viaggio',
|
||
'atlas.tripSingular': 'Viaggio',
|
||
'atlas.tripPlural': 'Viaggi',
|
||
'atlas.placeVisited': 'Luogo visitato',
|
||
'atlas.placesVisited': 'Luoghi visitati',
|
||
|
||
// Trip Planner
|
||
'trip.tabs.plan': 'Programma',
|
||
'trip.tabs.reservations': 'Prenotazioni',
|
||
'trip.tabs.reservationsShort': 'Pren.',
|
||
'trip.tabs.packing': 'Lista valigia',
|
||
'trip.tabs.packingShort': 'Valigia',
|
||
'trip.tabs.budget': 'Budget',
|
||
'trip.tabs.files': 'File',
|
||
'trip.loading': 'Caricamento viaggio...',
|
||
'trip.mobilePlan': 'Programma',
|
||
'trip.mobilePlaces': 'Luoghi',
|
||
'trip.toast.placeUpdated': 'Luogo aggiornato',
|
||
'trip.toast.placeAdded': 'Luogo aggiunto',
|
||
'trip.toast.placeDeleted': 'Luogo eliminato',
|
||
'trip.toast.selectDay': 'Seleziona prima un giorno',
|
||
'trip.toast.assignedToDay': 'Luogo assegnato al giorno',
|
||
'trip.toast.reorderError': 'Impossibile riordinare',
|
||
'trip.toast.reservationUpdated': 'Prenotazione aggiornata',
|
||
'trip.toast.reservationAdded': 'Prenotazione aggiunta',
|
||
'trip.toast.deleted': 'Eliminato',
|
||
'trip.confirm.deletePlace': 'Sei sicuro di voler eliminare questo luogo?',
|
||
|
||
// Day Plan Sidebar
|
||
'dayplan.emptyDay': 'Nessun luogo programmato per questo giorno',
|
||
'dayplan.addNote': 'Aggiungi nota',
|
||
'dayplan.editNote': 'Modifica nota',
|
||
'dayplan.noteAdd': 'Aggiungi nota',
|
||
'dayplan.noteEdit': 'Modifica nota',
|
||
'dayplan.noteTitle': 'Nota',
|
||
'dayplan.noteSubtitle': 'Nota giornaliera',
|
||
'dayplan.totalCost': 'Costo totale',
|
||
'dayplan.days': 'Giorni',
|
||
'dayplan.dayN': 'Giorno {n}',
|
||
'dayplan.calculating': 'Calcolo in corso...',
|
||
'dayplan.route': 'Percorso',
|
||
'dayplan.optimize': 'Ottimizza',
|
||
'dayplan.optimized': 'Percorso ottimizzato',
|
||
'dayplan.routeError': 'Impossibile calcolare il percorso',
|
||
'dayplan.toast.needTwoPlaces': 'Servono almeno due luoghi per l\'ottimizzazione del percorso',
|
||
'dayplan.toast.routeOptimized': 'Percorso ottimizzato',
|
||
'dayplan.toast.noGeoPlaces': 'Nessun luogo con coordinate trovato per il calcolo del percorso',
|
||
'dayplan.confirmed': 'Confermata',
|
||
'dayplan.pendingRes': 'In attesa',
|
||
'dayplan.pdf': 'PDF',
|
||
'dayplan.pdfTooltip': 'Esporta il programma del giorno come PDF',
|
||
'dayplan.pdfError': 'Impossibile esportare il PDF',
|
||
'dayplan.cannotReorderTransport': 'Le prenotazioni con un orario fisso non possono essere riordinate',
|
||
'dayplan.confirmRemoveTimeTitle': 'Rimuovere l\'orario?',
|
||
'dayplan.confirmRemoveTimeBody': 'Questo luogo ha un orario fisso ({time}). Spostarlo rimuoverà l\'orario e consentirà l\'ordinamento libero.',
|
||
'dayplan.confirmRemoveTimeAction': 'Rimuovi orario e sposta',
|
||
'dayplan.cannotDropOnTimed': 'Gli elementi non possono essere posizionati tra voci con orario fisso',
|
||
'dayplan.cannotBreakChronology': 'Ciò interromperebbe l\'ordine cronologico degli elementi e delle prenotazioni pianificati',
|
||
|
||
// Places Sidebar
|
||
'places.addPlace': 'Aggiungi Luogo/Attività',
|
||
'places.importGpx': 'Importa GPX',
|
||
'places.gpxImported': '{count} luoghi importati da GPX',
|
||
'places.urlResolved': 'Luogo importato dall\'URL',
|
||
'places.gpxError': 'Importazione GPX non riuscita',
|
||
'places.assignToDay': 'A quale giorno aggiungere?',
|
||
'places.all': 'Tutti',
|
||
'places.unplanned': 'Non pianificati',
|
||
'places.search': 'Cerca luoghi...',
|
||
'places.allCategories': 'Tutte le categorie',
|
||
'places.categoriesSelected': 'categorie',
|
||
'places.clearFilter': 'Cancella filtro',
|
||
'places.count': '{count} luoghi',
|
||
'places.countSingular': '1 luogo',
|
||
'places.allPlanned': 'Tutti i luoghi sono programmati',
|
||
'places.noneFound': 'Nessun luogo trovato',
|
||
'places.editPlace': 'Modifica luogo',
|
||
'places.formName': 'Nome',
|
||
'places.formNamePlaceholder': 'es. Torre Eiffel',
|
||
'places.formDescription': 'Descrizione',
|
||
'places.formDescriptionPlaceholder': 'Breve descrizione...',
|
||
'places.formAddress': 'Indirizzo',
|
||
'places.formAddressPlaceholder': 'Via, Città, Paese',
|
||
'places.formLat': 'Latitudine (es. 48.8566)',
|
||
'places.formLng': 'Longitudine (es. 2.3522)',
|
||
'places.formCategory': 'Categoria',
|
||
'places.noCategory': 'Nessuna categoria',
|
||
'places.categoryNamePlaceholder': 'Nome categoria',
|
||
'places.formTime': 'Ora',
|
||
'places.startTime': 'Inizio',
|
||
'places.endTime': 'Fine',
|
||
'places.endTimeBeforeStart': 'L\'ora di fine è precedente all\'ora di inizio',
|
||
'places.timeCollision': 'Sovrapposizione di orario con:',
|
||
'places.formWebsite': 'Sito web',
|
||
'places.formNotesPlaceholder': 'Note personali...',
|
||
'places.formReservation': 'Prenotazione',
|
||
'places.reservationNotesPlaceholder': 'Note della prenotazione, numero di conferma...',
|
||
'places.mapsSearchPlaceholder': 'Cerca luoghi...',
|
||
'places.mapsSearchError': 'Impossibile cercare i luoghi.',
|
||
'places.osmHint': 'Uso della ricerca OpenStreetMap (senza foto, orari di apertura o valutazioni). Aggiungi una chiave API Google nelle impostazioni per i dettagli completi.',
|
||
'places.osmActive': 'Ricerca tramite OpenStreetMap (senza foto, valutazioni o orari di apertura). Aggiungi una chiave API Google nelle Impostazioni per dati avanzati.',
|
||
'places.categoryCreateError': 'Impossibile creare la categoria',
|
||
'places.nameRequired': 'Inserisci un nome',
|
||
'places.saveError': 'Impossibile salvare',
|
||
// Place Inspector
|
||
'inspector.opened': 'Aperto',
|
||
'inspector.closed': 'Chiuso',
|
||
'inspector.openingHours': 'Orari di apertura',
|
||
'inspector.showHours': 'Mostra orari di apertura',
|
||
'inspector.files': 'File',
|
||
'inspector.filesCount': '{count} file',
|
||
'inspector.removeFromDay': 'Rimuovi dal giorno',
|
||
'inspector.addToDay': 'Aggiungi al giorno',
|
||
'inspector.confirmedRes': 'Prenotazione confermata',
|
||
'inspector.pendingRes': 'Prenotazione in attesa',
|
||
'inspector.google': 'Apri in Google Maps',
|
||
'inspector.website': 'Apri sito web',
|
||
'inspector.addRes': 'Prenotazione',
|
||
'inspector.editRes': 'Modifica prenotazione',
|
||
'inspector.participants': 'Partecipanti',
|
||
|
||
// Reservations
|
||
'reservations.title': 'Prenotazioni',
|
||
'reservations.empty': 'Ancora nessuna prenotazione',
|
||
'reservations.emptyHint': 'Aggiungi prenotazioni per voli, alloggi e altro',
|
||
'reservations.add': 'Aggiungi prenotazione',
|
||
'reservations.addManual': 'Prenotazione manuale',
|
||
'reservations.placeHint': 'Suggerimento: è meglio creare le prenotazioni direttamente da un luogo per collegarle al tuo programma del giorno.',
|
||
'reservations.confirmed': 'Confermata',
|
||
'reservations.pending': 'In attesa',
|
||
'reservations.summary': '{confirmed} confermate, {pending} in attesa',
|
||
'reservations.fromPlan': 'Dal programma',
|
||
'reservations.showFiles': 'Mostra file',
|
||
'reservations.editTitle': 'Modifica prenotazione',
|
||
'reservations.status': 'Stato',
|
||
'reservations.datetime': 'Data e ora',
|
||
'reservations.startTime': 'Ora di inizio',
|
||
'reservations.endTime': 'Ora di fine',
|
||
'reservations.date': 'Data',
|
||
'reservations.time': 'Ora',
|
||
'reservations.timeAlt': 'Ora (alternativa, es. 19:30)',
|
||
'reservations.notes': 'Note',
|
||
'reservations.notesPlaceholder': 'Note aggiuntive...',
|
||
'reservations.meta.airline': 'Compagnia aerea',
|
||
'reservations.meta.flightNumber': 'N. volo',
|
||
'reservations.meta.from': 'Da',
|
||
'reservations.meta.to': 'A',
|
||
'reservations.meta.trainNumber': 'N. treno',
|
||
'reservations.meta.platform': 'Binario',
|
||
'reservations.meta.seat': 'Posto',
|
||
'reservations.meta.checkIn': 'Check-in',
|
||
'reservations.meta.checkOut': 'Check-out',
|
||
'reservations.meta.linkAccommodation': 'Alloggio',
|
||
'reservations.meta.pickAccommodation': 'Collega a un alloggio',
|
||
'reservations.meta.noAccommodation': 'Nessuno',
|
||
'reservations.meta.hotelPlace': 'Alloggio',
|
||
'reservations.meta.pickHotel': 'Seleziona alloggio',
|
||
'reservations.meta.fromDay': 'Da',
|
||
'reservations.meta.toDay': 'A',
|
||
'reservations.meta.selectDay': 'Seleziona giorno',
|
||
'reservations.type.flight': 'Volo',
|
||
'reservations.type.hotel': 'Alloggio',
|
||
'reservations.type.restaurant': 'Ristorante',
|
||
'reservations.type.train': 'Treno',
|
||
'reservations.type.car': 'Auto a noleggio',
|
||
'reservations.type.cruise': 'Crociera',
|
||
'reservations.type.event': 'Evento',
|
||
'reservations.type.tour': 'Tour',
|
||
'reservations.type.other': 'Altro',
|
||
'reservations.confirm.delete': 'Sei sicuro di voler eliminare la prenotazione "{name}"?',
|
||
'reservations.confirm.deleteTitle': 'Eliminare la prenotazione?',
|
||
'reservations.confirm.deleteBody': '"{name}" verrà eliminato in modo permanente.',
|
||
'reservations.toast.updated': 'Prenotazione aggiornata',
|
||
'reservations.toast.removed': 'Prenotazione eliminata',
|
||
'reservations.toast.fileUploaded': 'File caricato',
|
||
'reservations.toast.uploadError': 'Impossibile caricare',
|
||
'reservations.newTitle': 'Nuova prenotazione',
|
||
'reservations.bookingType': 'Tipo di prenotazione',
|
||
'reservations.titleLabel': 'Titolo',
|
||
'reservations.titlePlaceholder': 'es. Lufthansa LH123, Hotel Adlon, ...',
|
||
'reservations.locationAddress': 'Posizione / Indirizzo',
|
||
'reservations.locationPlaceholder': 'Indirizzo, aeroporto, hotel...',
|
||
'reservations.confirmationCode': 'Codice prenotazione',
|
||
'reservations.confirmationPlaceholder': 'es. ABC12345',
|
||
'reservations.day': 'Giorno',
|
||
'reservations.noDay': 'Nessun giorno',
|
||
'reservations.place': 'Luogo',
|
||
'reservations.noPlace': 'Nessun luogo',
|
||
'reservations.pendingSave': 'verrà salvato…',
|
||
'reservations.uploading': 'Caricamento...',
|
||
'reservations.attachFile': 'Allega file',
|
||
'reservations.linkExisting': 'Collega file esistente',
|
||
'reservations.toast.saveError': 'Impossibile salvare',
|
||
'reservations.toast.updateError': 'Impossibile aggiornare',
|
||
'reservations.toast.deleteError': 'Impossibile eliminare',
|
||
'reservations.confirm.remove': 'Rimuovere la prenotazione per "{name}"?',
|
||
'reservations.linkAssignment': 'Collega all\'assegnazione del giorno',
|
||
'reservations.pickAssignment': 'Seleziona un\'assegnazione dal tuo programma...',
|
||
'reservations.noAssignment': 'Nessun collegamento (autonomo)',
|
||
|
||
// Budget
|
||
'budget.title': 'Budget',
|
||
'budget.emptyTitle': 'Ancora nessun budget creato',
|
||
'budget.emptyText': 'Crea categorie e voci per pianificare il budget del tuo viaggio',
|
||
'budget.emptyPlaceholder': 'Inserisci nome categoria...',
|
||
'budget.createCategory': 'Crea categoria',
|
||
'budget.category': 'Categoria',
|
||
'budget.categoryName': 'Nome categoria',
|
||
'budget.table.name': 'Nome',
|
||
'budget.table.total': 'Totale',
|
||
'budget.table.persons': 'Persone',
|
||
'budget.table.days': 'Giorni',
|
||
'budget.table.perPerson': 'Per persona',
|
||
'budget.table.perDay': 'Per giorno',
|
||
'budget.table.perPersonDay': 'P. p / gio.',
|
||
'budget.table.note': 'Nota',
|
||
'budget.newEntry': 'Nuova voce',
|
||
'budget.defaultEntry': 'Nuova voce',
|
||
'budget.defaultCategory': 'Nuova categoria',
|
||
'budget.total': 'Totale',
|
||
'budget.totalBudget': 'Budget totale',
|
||
'budget.byCategory': 'Per categoria',
|
||
'budget.editTooltip': 'Clicca per modificare',
|
||
'budget.confirm.deleteCategory': 'Sei sicuro di voler eliminare la categoria "{name}" con {count} voci?',
|
||
'budget.deleteCategory': 'Elimina categoria',
|
||
'budget.perPerson': 'Per persona',
|
||
'budget.paid': 'Pagato',
|
||
'budget.open': 'Aperto',
|
||
'budget.noMembers': 'Nessun membro assegnato',
|
||
'budget.settlement': 'Regolamento',
|
||
'budget.settlementInfo': 'Clicca sull\'avatar di un membro su una voce di budget per contrassegnarlo in verde — significa che ha pagato. Il regolamento mostra poi chi deve quanto a chi.',
|
||
'budget.netBalances': 'Saldi netti',
|
||
|
||
// Files
|
||
'files.title': 'File',
|
||
'files.count': '{count} file',
|
||
'files.countSingular': '1 file',
|
||
'files.uploaded': '{count} caricati',
|
||
'files.uploadError': 'Caricamento non riuscito',
|
||
'files.dropzone': 'Trascina qui i file',
|
||
'files.dropzoneHint': 'oppure clicca per sfogliare',
|
||
'files.allowedTypes': 'Immagini, PDF, DOC, DOCX, XLS, XLSX, TXT, CSV · Max 50 MB',
|
||
'files.uploading': 'Caricamento...',
|
||
'files.filterAll': 'Tutti',
|
||
'files.filterPdf': 'PDF',
|
||
'files.filterImages': 'Immagini',
|
||
'files.filterDocs': 'Documenti',
|
||
'files.filterCollab': 'Note Collaborazione',
|
||
'files.sourceCollab': 'Da Note Collaborazione',
|
||
'files.empty': 'Ancora nessun file',
|
||
'files.emptyHint': 'Carica file per allegarli al tuo viaggio',
|
||
'files.openTab': 'Apri in una nuova scheda',
|
||
'files.confirm.delete': 'Sei sicuro di voler eliminare questo file?',
|
||
'files.toast.deleted': 'File eliminato',
|
||
'files.toast.deleteError': 'Impossibile eliminare il file',
|
||
'files.sourcePlan': 'Programma giornaliero',
|
||
'files.sourceBooking': 'Prenotazione',
|
||
'files.attach': 'Allega',
|
||
'files.pasteHint': 'Puoi anche incollare immagini dagli appunti (Ctrl+V)',
|
||
'files.trash': 'Cestino',
|
||
'files.trashEmpty': 'Il cestino è vuoto',
|
||
'files.emptyTrash': 'Svuota cestino',
|
||
'files.restore': 'Ripristina',
|
||
'files.star': 'Aggiungi ai preferiti',
|
||
'files.unstar': 'Rimuovi dai preferiti',
|
||
'files.assign': 'Assegna',
|
||
'files.assignTitle': 'Assegna file',
|
||
'files.assignPlace': 'Luogo',
|
||
'files.assignBooking': 'Prenotazione',
|
||
'files.unassigned': 'Non assegnato',
|
||
'files.unlink': 'Rimuovi collegamento',
|
||
'files.toast.trashed': 'Spostato nel cestino',
|
||
'files.toast.restored': 'File ripristinato',
|
||
'files.toast.trashEmptied': 'Cestino svuotato',
|
||
'files.toast.assigned': 'File assegnato',
|
||
'files.toast.assignError': 'Assegnazione fallita',
|
||
'files.toast.restoreError': 'Ripristino fallito',
|
||
'files.confirm.permanentDelete': 'Eliminare questo file in modo permanente? Questa operazione non può essere annullata.',
|
||
'files.confirm.emptyTrash': 'Eliminare in modo permanente tutti i file nel cestino? Questa operazione non può essere annullata.',
|
||
'files.noteLabel': 'Nota',
|
||
'files.notePlaceholder': 'Aggiungi una nota...',
|
||
|
||
// Packing
|
||
'packing.title': 'Lista valigia',
|
||
'packing.empty': 'La lista valigia è vuota',
|
||
'packing.import': 'Importa',
|
||
'packing.importTitle': 'Importa lista valigia',
|
||
'packing.importHint': 'Un elemento per riga. Formato: Categoria, Nome, Peso in g (opzionale), Borsa (opzionale), checked/unchecked (opzionale)',
|
||
'packing.importPlaceholder': 'Igiene, Spazzolino\nAbbigliamento, Magliette, 200\nDocumenti, Passaporto, , Bagaglio a mano\nElettronica, Caricabatterie, 50, Valigia, checked',
|
||
'packing.importCsv': 'Carica CSV/TXT',
|
||
'packing.importAction': 'Importa {count}',
|
||
'packing.importSuccess': '{count} elementi importati',
|
||
'packing.importError': 'Importazione non riuscita',
|
||
'packing.importEmpty': 'Nessun elemento da importare',
|
||
'packing.progress': '{packed} di {total} in valigia ({percent}%)',
|
||
'packing.clearChecked': 'Rimuovi {count} spuntati',
|
||
'packing.clearCheckedShort': 'Rimuovi {count}',
|
||
'packing.suggestions': 'Suggerimenti',
|
||
'packing.suggestionsTitle': 'Aggiungi suggerimenti',
|
||
'packing.allSuggested': 'Tutti i suggerimenti aggiunti',
|
||
'packing.allPacked': 'Tutto in valigia!',
|
||
'packing.addPlaceholder': 'Aggiungi nuovo elemento...',
|
||
'packing.categoryPlaceholder': 'Categoria...',
|
||
'packing.filterAll': 'Tutti',
|
||
'packing.filterOpen': 'Da fare',
|
||
'packing.filterDone': 'Fatto',
|
||
'packing.emptyTitle': 'La lista valigia è vuota',
|
||
'packing.emptyHint': 'Aggiungi elementi o usa i suggerimenti',
|
||
'packing.emptyFiltered': 'Nessun elemento corrisponde a questo filtro',
|
||
'packing.menuRename': 'Rinomina',
|
||
'packing.menuCheckAll': 'Seleziona tutti',
|
||
'packing.menuUncheckAll': 'Deseleziona tutti',
|
||
'packing.menuDeleteCat': 'Elimina categoria',
|
||
'packing.assignUser': 'Assegna utente',
|
||
'packing.noMembers': 'Nessun membro del viaggio',
|
||
'packing.addItem': 'Aggiungi elemento',
|
||
'packing.addItemPlaceholder': 'Nome elemento...',
|
||
'packing.addCategory': 'Aggiungi categoria',
|
||
'packing.newCategoryPlaceholder': 'Nome categoria (es. Abbigliamento)',
|
||
'packing.applyTemplate': 'Applica modello',
|
||
'packing.template': 'Modello',
|
||
'packing.templateApplied': '{count} elementi aggiunti dal modello',
|
||
'packing.templateError': 'Impossibile applicare il modello',
|
||
'packing.bags': 'Valigie',
|
||
'packing.noBag': 'Non assegnato',
|
||
'packing.totalWeight': 'Peso totale',
|
||
'packing.bagName': 'Nome valigia...',
|
||
'packing.addBag': 'Aggiungi valigia',
|
||
'packing.changeCategory': 'Cambia categoria',
|
||
'packing.confirm.clearChecked': 'Sei sicuro di voler rimuovere {count} elementi spuntati?',
|
||
'packing.confirm.deleteCat': 'Sei sicuro di voler eliminare la categoria "{name}" con {count} elementi?',
|
||
'packing.defaultCategory': 'Altro',
|
||
'packing.toast.saveError': 'Impossibile salvare',
|
||
'packing.toast.deleteError': 'Impossibile eliminare',
|
||
'packing.toast.renameError': 'Impossibile rinominare',
|
||
'packing.toast.addError': 'Impossibile aggiungere',
|
||
|
||
// Packing suggestions
|
||
'packing.suggestions.items': [
|
||
{ name: 'Passaporto', category: 'Documenti' },
|
||
{ name: 'Carta d\'identità', category: 'Documenti' },
|
||
{ name: 'Assicurazione di viaggio', category: 'Documenti' },
|
||
{ name: 'Biglietti aerei', category: 'Documenti' },
|
||
{ name: 'Carta di credito', category: 'Finanze' },
|
||
{ name: 'Contanti', category: 'Finanze' },
|
||
{ name: 'Visto', category: 'Documenti' },
|
||
{ name: 'Magliette', category: 'Abbigliamento' },
|
||
{ name: 'Pantaloni', category: 'Abbigliamento' },
|
||
{ name: 'Intimo', category: 'Abbigliamento' },
|
||
{ name: 'Calzini', category: 'Abbigliamento' },
|
||
{ name: 'Giacca', category: 'Abbigliamento' },
|
||
{ name: 'Pigiama', category: 'Abbigliamento' },
|
||
{ name: 'Costume da bagno', category: 'Abbigliamento' },
|
||
{ name: 'Giacca a vento', category: 'Abbigliamento' },
|
||
{ name: 'Scarpe comode', category: 'Abbigliamento' },
|
||
{ name: 'Spazzolino da denti', category: 'Igiene personale' },
|
||
{ name: 'Dentifricio', category: 'Igiene personale' },
|
||
{ name: 'Shampoo', category: 'Igiene personale' },
|
||
{ name: 'Deodorante', category: 'Igiene personale' },
|
||
{ name: 'Crema solare', category: 'Igiene personale' },
|
||
{ name: 'Rasoio', category: 'Igiene personale' },
|
||
{ name: 'Caricabatterie', category: 'Elettronica' },
|
||
{ name: 'Power bank', category: 'Elettronica' },
|
||
{ name: 'Cuffie', category: 'Elettronica' },
|
||
{ name: 'Adattatore da viaggio', category: 'Elettronica' },
|
||
{ name: 'Macchina fotografica', category: 'Elettronica' },
|
||
{ name: 'Antidolorifici', category: 'Salute' },
|
||
{ name: 'Cerotti', category: 'Salute' },
|
||
{ name: 'Disinfettante', category: 'Salute' },
|
||
],
|
||
|
||
// Members / Sharing
|
||
'members.shareTrip': 'Condividi viaggio',
|
||
'members.inviteUser': 'Invita utente',
|
||
'members.selectUser': 'Seleziona utente...',
|
||
'members.invite': 'Invita',
|
||
'members.allHaveAccess': 'Tutti gli utenti hanno già accesso.',
|
||
'members.access': 'Accesso',
|
||
'members.person': 'persona',
|
||
'members.persons': 'persone',
|
||
'members.you': 'tu',
|
||
'members.owner': 'Proprietario',
|
||
'members.leaveTrip': 'Abbandona viaggio',
|
||
'members.removeAccess': 'Rimuovi accesso',
|
||
'members.confirmLeave': 'Abbandonare il viaggio? Perderai l\'accesso.',
|
||
'members.confirmRemove': 'Rimuovere l\'accesso per questo utente?',
|
||
'members.loadError': 'Impossibile caricare i membri',
|
||
'members.added': 'aggiunto',
|
||
'members.addError': 'Impossibile aggiungere',
|
||
'members.removed': 'Membro rimosso',
|
||
'members.removeError': 'Impossibile rimuovere',
|
||
|
||
// Categories (Admin)
|
||
'categories.title': 'Categorie',
|
||
'categories.subtitle': 'Gestisci le categorie per i luoghi',
|
||
'categories.new': 'Nuova categoria',
|
||
'categories.empty': 'Ancora nessuna categoria',
|
||
'categories.namePlaceholder': 'Nome categoria',
|
||
'categories.icon': 'Icona',
|
||
'categories.color': 'Colore',
|
||
'categories.customColor': 'Scegli colore personalizzato',
|
||
'categories.preview': 'Anteprima',
|
||
'categories.defaultName': 'Categoria',
|
||
'categories.update': 'Aggiorna',
|
||
'categories.create': 'Crea',
|
||
'categories.confirm.delete': 'Eliminare la categoria? I luoghi in questa categoria non verranno eliminati.',
|
||
'categories.toast.loadError': 'Impossibile caricare le categorie',
|
||
'categories.toast.nameRequired': 'Inserisci un nome',
|
||
'categories.toast.updated': 'Categoria aggiornata',
|
||
'categories.toast.created': 'Categoria creata',
|
||
'categories.toast.saveError': 'Impossibile salvare',
|
||
'categories.toast.deleted': 'Categoria eliminata',
|
||
'categories.toast.deleteError': 'Impossibile eliminare',
|
||
|
||
// Backup (Admin)
|
||
'backup.title': 'Backup dati',
|
||
'backup.subtitle': 'Database e tutti i file caricati',
|
||
'backup.refresh': 'Aggiorna',
|
||
'backup.upload': 'Carica backup',
|
||
'backup.uploading': 'Caricamento...',
|
||
'backup.create': 'Crea backup',
|
||
'backup.creating': 'Creazione...',
|
||
'backup.empty': 'Ancora nessun backup',
|
||
'backup.createFirst': 'Crea primo backup',
|
||
'backup.download': 'Scarica',
|
||
'backup.restore': 'Ripristina',
|
||
'backup.confirm.restore': 'Ripristinare il backup "{name}"?\n\nTutti i dati attuali verranno sostituiti con il backup.',
|
||
'backup.confirm.uploadRestore': 'Scaricare e ripristinare il file di backup "{name}"?\n\nTutti i dati attuali verranno sovrascritti.',
|
||
'backup.confirm.delete': 'Eliminare il backup "{name}"?',
|
||
'backup.toast.loadError': 'Impossibile caricare i backup',
|
||
'backup.toast.created': 'Backup creato con successo',
|
||
'backup.toast.createError': 'Impossibile creare il backup',
|
||
'backup.toast.restored': 'Backup ripristinato. La pagina verrà ricaricata...',
|
||
'backup.toast.restoreError': 'Impossibile ripristinare',
|
||
'backup.toast.uploadError': 'Impossibile caricare',
|
||
'backup.toast.deleted': 'Backup eliminato',
|
||
'backup.toast.deleteError': 'Impossibile eliminare',
|
||
'backup.toast.downloadError': 'Download non riuscito',
|
||
'backup.toast.settingsSaved': 'Impostazioni auto-backup salvate',
|
||
'backup.toast.settingsError': 'Impossibile salvare le impostazioni',
|
||
'backup.auto.title': 'Auto-Backup',
|
||
'backup.auto.subtitle': 'Backup automatico pianificato',
|
||
'backup.auto.enable': 'Abilita auto-backup',
|
||
'backup.auto.enableHint': 'I backup verranno creati automaticamente in base alla pianificazione scelta',
|
||
'backup.auto.interval': 'Intervallo',
|
||
'backup.auto.hour': 'Esegui all\'ora',
|
||
'backup.auto.hourHint': 'Ora locale del server (formato {format})',
|
||
'backup.auto.dayOfWeek': 'Giorno della settimana',
|
||
'backup.auto.dayOfMonth': 'Giorno del mese',
|
||
'backup.auto.dayOfMonthHint': 'Limitato a 1–28 per compatibilità con tutti i mesi',
|
||
'backup.auto.scheduleSummary': 'Pianificazione',
|
||
'backup.auto.summaryDaily': 'Ogni giorno alle {hour}:00',
|
||
'backup.auto.summaryWeekly': 'Ogni {day} alle {hour}:00',
|
||
'backup.auto.summaryMonthly': 'Giorno {day} di ogni mese alle {hour}:00',
|
||
'backup.auto.envLocked': 'Docker',
|
||
'backup.auto.envLockedHint': 'L\'auto-backup è configurato tramite variabili d\'ambiente Docker. Per modificare queste impostazioni, aggiorna il tuo docker-compose.yml e riavvia il container.',
|
||
'backup.auto.copyEnv': 'Copia variabili env Docker',
|
||
'backup.auto.envCopied': 'Variabili env Docker copiate negli appunti',
|
||
'backup.auto.keepLabel': 'Elimina i vecchi backup dopo',
|
||
'backup.dow.sunday': 'Dom',
|
||
'backup.dow.monday': 'Lun',
|
||
'backup.dow.tuesday': 'Mar',
|
||
'backup.dow.wednesday': 'Mer',
|
||
'backup.dow.thursday': 'Gio',
|
||
'backup.dow.friday': 'Ven',
|
||
'backup.dow.saturday': 'Sab',
|
||
'backup.interval.hourly': 'Ogni ora',
|
||
'backup.interval.daily': 'Giornaliero',
|
||
'backup.interval.weekly': 'Settimanale',
|
||
'backup.interval.monthly': 'Mensile',
|
||
'backup.keep.1day': '1 giorno',
|
||
'backup.keep.3days': '3 giorni',
|
||
'backup.keep.7days': '7 giorni',
|
||
'backup.keep.14days': '14 giorni',
|
||
'backup.keep.30days': '30 giorni',
|
||
'backup.keep.forever': 'Conserva per sempre',
|
||
|
||
// Photos
|
||
'photos.allDays': 'Tutti i giorni',
|
||
'photos.noPhotos': 'Ancora nessuna foto',
|
||
'photos.uploadHint': 'Carica le foto del tuo viaggio',
|
||
'photos.clickToSelect': 'o clicca per selezionare',
|
||
'photos.linkPlace': 'Collega luogo',
|
||
'photos.noPlace': 'Nessun luogo',
|
||
'photos.uploadN': 'Caricamento di {n} foto',
|
||
|
||
// Backup restore modal
|
||
'backup.restoreConfirmTitle': 'Ripristinare il backup?',
|
||
'backup.restoreWarning': 'Tutti i dati attuali (viaggi, luoghi, utenti, caricamenti) verranno sostituiti in modo permanente dal backup. Questa azione non può essere annullata.',
|
||
'backup.restoreTip': 'Suggerimento: Crea un backup dello stato attuale prima di ripristinare.',
|
||
'backup.restoreConfirm': 'Sì, ripristina',
|
||
|
||
// PDF
|
||
'pdf.travelPlan': 'Programma di viaggio',
|
||
'pdf.planned': 'Programmato',
|
||
'pdf.costLabel': 'Costo EUR',
|
||
'pdf.preview': 'Anteprima PDF',
|
||
'pdf.saveAsPdf': 'Salva come PDF',
|
||
|
||
// Planner
|
||
'planner.places': 'Luoghi',
|
||
'planner.bookings': 'Prenotazioni',
|
||
'planner.packingList': 'Lista valigia',
|
||
'planner.documents': 'Documenti',
|
||
'planner.dayPlan': 'Programma giornaliero',
|
||
'planner.reservations': 'Prenotazioni',
|
||
'planner.minTwoPlaces': 'Servono almeno 2 luoghi con coordinate',
|
||
'planner.noGeoPlaces': 'Nessun luogo con coordinate disponibile',
|
||
'planner.routeCalculated': 'Percorso calcolato',
|
||
'planner.routeCalcFailed': 'Il percorso non è stato calcolato',
|
||
'planner.routeError': 'Errore nel calcolo del percorso',
|
||
'planner.routeOptimized': 'Percorso ottimizzato',
|
||
'planner.reservationUpdated': 'Prenotazione aggiornata',
|
||
'planner.reservationAdded': 'Prenotazione aggiunta',
|
||
'planner.confirmDeleteReservation': 'Eliminare la prenotazione?',
|
||
'planner.reservationDeleted': 'Prenotazione eliminata',
|
||
'planner.days': 'Giorni',
|
||
'planner.allPlaces': 'Tutti i luoghi',
|
||
'planner.totalPlaces': '{n} luoghi in totale',
|
||
'planner.noDaysPlanned': 'Nessun giorno ancora programmato',
|
||
'planner.editTrip': 'Modifica viaggio \u2192',
|
||
'planner.placeOne': '1 luogo',
|
||
'planner.placeN': '{n} luoghi',
|
||
'planner.addNote': 'Aggiungi nota',
|
||
'planner.noEntries': 'Nessuna voce per questo giorno',
|
||
'planner.addPlace': 'Aggiungi luogo/attività',
|
||
'planner.addPlaceShort': '+ Aggiungi luogo/attività',
|
||
'planner.resPending': 'Prenotazione in attesa \u00B7 ',
|
||
'planner.resConfirmed': 'Prenotazione confermata \u00B7 ',
|
||
'planner.notePlaceholder': 'Nota\u2026',
|
||
'planner.noteTimePlaceholder': 'Ora (opzionale)',
|
||
'planner.noteExamplePlaceholder': 'es. S3 alle 14:30 dalla stazione centrale, traghetto dal molo 7, pausa pranzo\u2026',
|
||
'planner.totalCost': 'Costo totale',
|
||
'planner.searchPlaces': 'Cerca luoghi\u2026',
|
||
'planner.allCategories': 'Tutte le categorie',
|
||
'planner.noPlacesFound': 'Nessun luogo trovato',
|
||
'planner.addFirstPlace': 'Aggiungi primo luogo',
|
||
'planner.noReservations': 'Nessuna prenotazione',
|
||
'planner.addFirstReservation': 'Aggiungi prima prenotazione',
|
||
'planner.new': 'Nuovo',
|
||
'planner.addToDay': '+ Giorno',
|
||
'planner.calculating': 'Calcolo in corso\u2026',
|
||
'planner.route': 'Percorso',
|
||
'planner.optimize': 'Ottimizza',
|
||
'planner.openGoogleMaps': 'Apri in Google Maps',
|
||
'planner.selectDayHint': 'Seleziona un giorno dall\'elenco a sinistra per vedere il programma',
|
||
'planner.noPlacesForDay': 'Ancora nessun luogo per questo giorno',
|
||
'planner.addPlacesLink': 'Aggiungi luoghi \u2192',
|
||
'planner.minTotal': 'min. totali',
|
||
'planner.noReservation': 'Nessuna prenotazione',
|
||
'planner.removeFromDay': 'Rimuovi dal giorno',
|
||
'planner.addToThisDay': 'Aggiungi al giorno',
|
||
'planner.overview': 'Panoramica',
|
||
'planner.noDays': 'Ancora nessun giorno',
|
||
'planner.editTripToAddDays': 'Modifica viaggio per aggiungere giorni',
|
||
'planner.dayCount': '{n} Giorni',
|
||
'planner.clickToUnlock': 'Clicca per sbloccare',
|
||
'planner.keepPosition': 'Mantieni la posizione durante l\'ottimizzazione del percorso',
|
||
'planner.dayDetails': 'Dettagli del giorno',
|
||
'planner.dayN': 'Giorno {n}',
|
||
|
||
// Dashboard Stats
|
||
'stats.countries': 'Paesi',
|
||
'stats.cities': 'Città',
|
||
'stats.trips': 'Viaggi',
|
||
'stats.places': 'Luoghi',
|
||
'stats.worldProgress': 'Progresso nel mondo',
|
||
'stats.visited': 'visitati',
|
||
'stats.remaining': 'rimanenti',
|
||
'stats.visitedCountries': 'Paesi visitati',
|
||
|
||
// Day Detail Panel
|
||
'day.precipProb': 'Probabilità di pioggia',
|
||
'day.precipitation': 'Precipitazioni',
|
||
'day.wind': 'Vento',
|
||
'day.sunrise': 'Alba',
|
||
'day.sunset': 'Tramonto',
|
||
'day.hourlyForecast': 'Previsione oraria',
|
||
'day.climateHint': 'Medie storiche \u2014 previsioni reali disponibili entro 16 giorni da questa data.',
|
||
'day.noWeather': 'Nessun dato meteo disponibile. Aggiungi un luogo con coordinate.',
|
||
'day.overview': 'Panoramica giornaliera',
|
||
'day.accommodation': 'Alloggio',
|
||
'day.addAccommodation': 'Aggiungi alloggio',
|
||
'day.hotelDayRange': 'Applica ai giorni',
|
||
'day.noPlacesForHotel': 'Aggiungi prima i luoghi al tuo viaggio',
|
||
'day.allDays': 'Tutti',
|
||
'day.checkIn': 'Check-in',
|
||
'day.checkOut': 'Check-out',
|
||
'day.confirmation': 'Conferma',
|
||
'day.editAccommodation': 'Modifica alloggio',
|
||
'day.reservations': 'Prenotazioni',
|
||
|
||
// Photos / Immich
|
||
'memories.title': 'Foto',
|
||
'memories.notConnected': 'Immich non connesso',
|
||
'memories.notConnectedHint': 'Connetti la tua istanza Immich nelle Impostazioni per vedere qui le foto del tuo viaggio.',
|
||
'memories.noDates': 'Aggiungi le date al tuo viaggio per caricare le foto.',
|
||
'memories.noPhotos': 'Nessuna foto trovata',
|
||
'memories.noPhotosHint': 'Nessuna foto trovata in Immich per l\'intervallo di date di questo viaggio.',
|
||
'memories.photosFound': 'foto',
|
||
'memories.fromOthers': 'da altri',
|
||
'memories.sharePhotos': 'Condividi foto',
|
||
'memories.sharing': 'Condivisione',
|
||
'memories.reviewTitle': 'Rivedi le tue foto',
|
||
'memories.reviewHint': 'Clicca sulle foto per escluderle dalla condivisione.',
|
||
'memories.shareCount': 'Condividi {count} foto',
|
||
'memories.immichUrl': 'URL Server Immich',
|
||
'memories.immichApiKey': 'Chiave API',
|
||
'memories.testConnection': 'Test connessione',
|
||
'memories.connected': 'Connesso',
|
||
'memories.disconnected': 'Non connesso',
|
||
'memories.connectionSuccess': 'Connesso a Immich',
|
||
'memories.connectionError': 'Impossibile connettersi a Immich',
|
||
'memories.saved': 'Impostazioni Immich salvate',
|
||
'memories.addPhotos': 'Aggiungi foto',
|
||
'memories.selectPhotos': 'Seleziona foto da Immich',
|
||
'memories.selectHint': 'Tocca le foto per selezionarle.',
|
||
'memories.selected': 'selezionate',
|
||
'memories.addSelected': 'Aggiungi {count} foto',
|
||
'memories.alreadyAdded': 'Aggiunta',
|
||
'memories.private': 'Privato',
|
||
'memories.stopSharing': 'Interrompi condivisione',
|
||
'memories.oldest': 'Prima le più vecchie',
|
||
'memories.newest': 'Prima le più recenti',
|
||
'memories.allLocations': 'Tutte le posizioni',
|
||
'memories.tripDates': 'Date del viaggio',
|
||
'memories.allPhotos': 'Tutte le foto',
|
||
'memories.confirmShareTitle': 'Condividere con i membri del viaggio?',
|
||
'memories.confirmShareHint': '{count} foto saranno visibili a tutti i membri di questo viaggio. Potrai rendere private le singole foto in seguito.',
|
||
'memories.confirmShareButton': 'Condividi foto',
|
||
|
||
// Collab Addon
|
||
'collab.tabs.chat': 'Chat',
|
||
'collab.tabs.notes': 'Note',
|
||
'collab.tabs.polls': 'Sondaggi',
|
||
'collab.whatsNext.title': "Cosa c'è dopo",
|
||
'collab.whatsNext.today': 'Oggi',
|
||
'collab.whatsNext.tomorrow': 'Domani',
|
||
'collab.whatsNext.empty': 'Nessuna attività imminente',
|
||
'collab.whatsNext.until': 'a',
|
||
'collab.whatsNext.emptyHint': 'Le attività con orari appariranno qui',
|
||
'collab.chat.send': 'Invia',
|
||
'collab.chat.placeholder': 'Scrivi un messaggio...',
|
||
'collab.chat.empty': 'Inizia la conversazione',
|
||
'collab.chat.emptyHint': 'I messaggi sono condivisi con tutti i membri del viaggio',
|
||
'collab.chat.emptyDesc': 'Condividi idee, programmi e aggiornamenti con il tuo gruppo di viaggio',
|
||
'collab.chat.today': 'Oggi',
|
||
'collab.chat.yesterday': 'Ieri',
|
||
'collab.chat.deletedMessage': 'ha eliminato un messaggio',
|
||
'collab.chat.loadMore': 'Carica messaggi precedenti',
|
||
'collab.chat.justNow': 'ora',
|
||
'collab.chat.minutesAgo': '{n}m fa',
|
||
'collab.chat.hoursAgo': '{n}h fa',
|
||
'collab.notes.title': 'Note',
|
||
'collab.notes.new': 'Nuova nota',
|
||
'collab.notes.empty': 'Ancora nessuna nota',
|
||
'collab.notes.emptyHint': 'Inizia a raccogliere idee e programmi',
|
||
'collab.notes.all': 'Tutte',
|
||
'collab.notes.titlePlaceholder': 'Titolo della nota',
|
||
'collab.notes.contentPlaceholder': 'Scrivi qualcosa...',
|
||
'collab.notes.categoryPlaceholder': 'Categoria',
|
||
'collab.notes.newCategory': 'Nuova categoria...',
|
||
'collab.notes.category': 'Categoria',
|
||
'collab.notes.noCategory': 'Nessuna categoria',
|
||
'collab.notes.color': 'Colore',
|
||
'collab.notes.save': 'Salva',
|
||
'collab.notes.cancel': 'Annulla',
|
||
'collab.notes.edit': 'Modifica',
|
||
'collab.notes.delete': 'Elimina',
|
||
'collab.notes.pin': 'Fissa',
|
||
'collab.notes.unpin': 'Rimuovi',
|
||
'collab.notes.daysAgo': '{n}g fa',
|
||
'collab.notes.categorySettings': 'Gestisci categorie',
|
||
'collab.notes.create': 'Crea',
|
||
'collab.notes.website': 'Sito web',
|
||
'collab.notes.websitePlaceholder': 'https://...',
|
||
'collab.notes.attachFiles': 'Allega file',
|
||
'collab.notes.noCategoriesYet': 'Ancora nessuna categoria',
|
||
'collab.notes.emptyDesc': 'Crea una nota per iniziare',
|
||
'collab.polls.title': 'Sondaggi',
|
||
'collab.polls.new': 'Nuovo sondaggio',
|
||
'collab.polls.empty': 'Ancora nessun sondaggio',
|
||
'collab.polls.emptyHint': 'Chiedi al gruppo e votate insieme',
|
||
'collab.polls.question': 'Domanda',
|
||
'collab.polls.questionPlaceholder': 'Cosa dovremmo fare?',
|
||
'collab.polls.addOption': '+ Aggiungi opzione',
|
||
'collab.polls.optionPlaceholder': 'Opzione {n}',
|
||
'collab.polls.create': 'Crea sondaggio',
|
||
'collab.polls.close': 'Chiudi',
|
||
'collab.polls.closed': 'Chiuso',
|
||
'collab.polls.votes': '{n} voti',
|
||
'collab.polls.vote': '{n} voto',
|
||
'collab.polls.multipleChoice': 'Scelta multipla',
|
||
'collab.polls.multiChoice': 'Scelta multipla',
|
||
'collab.polls.deadline': 'Scadenza',
|
||
'collab.polls.option': 'Opzione',
|
||
'collab.polls.options': 'Opzioni',
|
||
'collab.polls.delete': 'Elimina',
|
||
'collab.polls.closedSection': 'Chiusi',
|
||
}
|
||
|
||
export default it |