{ "profile": { "tabs": { "profile": "Profilo", "security": "Sicurezza", "sso": "SSO", "apiKeys": "Chiavi API", "notifications": "Notifiche", "calendar": "Calendario", "keyboardShortcuts": "Keyboard Shortcuts" }, "basicInfo": { "title": "Informazioni di base" }, "fields": { "firstName": { "label": "Nome *" }, "lastName": { "label": "Cognome *" }, "email": { "label": "E-mail *" }, "phoneNumber": { "label": "Numero di telefono" }, "timeZone": { "label": "Fuso orario" } }, "actions": { "saveChanges": "Salva modifiche" }, "notifications": { "title": "Preferenze di notifica", "viewSwitcher": { "email": "E-mail", "internal": "Interne" } }, "loading": "Caricamento profilo...", "messages": { "success": { "profileUpdated": "Profilo aggiornato con successo" }, "error": { "userNotFound": "Utente non trovato", "fillRequiredFields": "Compili tutti i campi obbligatori", "loadFailed": "Impossibile caricare il profilo", "saveFailed": "Impossibile salvare il profilo", "errorPrefix": "Errore: {{error}}" } }, "validation": { "firstNameRequired": "Il nome è obbligatorio", "lastNameRequired": "Il cognome è obbligatorio" }, "pageTitle": "Il Suo profilo", "changePassword": { "title": "Cambia password", "current": "Password attuale", "new": "Nuova password", "confirm": "Conferma nuova password", "requirements": "La password deve avere almeno 8 caratteri", "submit": "Cambia password", "success": "Password modificata correttamente", "error": "Impossibile modificare la password", "passwordMismatch": "Le nuove password non coincidono", "unknownError": "Si è verificato un errore durante il cambio password", "validationFailed": "La password non soddisfa tutti i requisiti" }, "loadingStates": { "sso": { "title": "Single Sign-On", "description": "Caricamento impostazioni SSO..." }, "calendar": { "title": "Calendario", "description": "Caricamento impostazioni calendario..." } } }, "security": { "title": "Impostazioni di sicurezza", "tabs": { "roles": "Ruoli", "sessions": "Sessioni", "sso": "SSO", "permissions": "Permessi", "userRoles": "Ruoli utente", "policies": "Criteri", "apiKeys": "Chiavi API", "webhooks": "Webhooks" }, "loading": { "roles": "Caricamento configurazione ruoli...", "permissions": "Caricamento configurazione permessi...", "userRoles": "Caricamento configurazione ruoli utente...", "policies": "Caricamento configurazione criteri...", "apiKeys": "Caricamento configurazione chiavi API...", "webhooks": "Caricamento configurazione webhook...", "sso": "Caricamento strumenti di gestione SSO...", "sessions": "Caricamento sessioni attive..." }, "userRoles": { "title": "Assegna ruoli agli utenti", "description": { "msp": "Gestisca le assegnazioni dei ruoli per gli utenti MSP", "client": "Gestisca le assegnazioni dei ruoli per gli utenti del portale clienti" }, "viewSwitcher": { "msp": "MSP", "clientPortal": "Portale clienti" }, "showInactive": "Mostra utenti inattivi", "fields": { "selectUser": "Seleziona utente", "selectRole": "Seleziona ruolo" }, "actions": { "assignRole": "Assegna ruolo" }, "table": { "user": "Utente", "email": "E-mail", "roles": "Ruoli", "actions": "Azioni" }, "noRolesAssigned": "Nessun ruolo assegnato", "removeRole": "Rimuovi {{role}}", "emptyState": { "noUsers": "Nessun utente {{type}} trovato", "inactiveHidden": "(utenti inattivi nascosti)" }, "inactiveTag": "(Inattivo)", "unnamedUser": "Utente senza nome", "messages": { "success": { "roleAssigned": "Ruolo assegnato con successo", "roleRemoved": "Ruolo rimosso con successo" }, "error": { "assignFailed": "Impossibile assegnare il ruolo. Riprova.", "removeFailed": "Impossibile rimuovere il ruolo. Riprova.", "permissionDenied": "Non disponi delle autorizzazioni per modificare i ruoli utente." } } }, "sessions": { "title": "Tutte le sessioni utente", "filters": { "search": "Cerca", "searchPlaceholder": "Cerca per nome, email, dispositivo o IP...", "user": "Utente", "allUsers": "Tutti gli utenti", "loginMethod": "Metodo di accesso", "allMethods": "Tutti i metodi", "userType": "Tipo di utente", "allTypes": "Tutti i tipi", "from": "Da", "to": "A", "selectDate": "Seleziona data", "reset": "Reimposta" }, "loginMethods": { "password": "Password", "google": "Google OAuth", "microsoft": "Microsoft OAuth", "keycloak": "Keycloak" }, "userTypes": { "internal": "Interno", "client": "Cliente" }, "session": { "yourSession": "La Sua sessione", "unknownDevice": "Dispositivo sconosciuto", "lastActive": "Ultima attività {{time}}", "logout": "Disconnetti", "revoke": "Revoca", "revoking": "Revoca in corso..." }, "oauthWarning": "La revoca di questa sessione non revochera l'accesso OAuth di {{provider}}. Revochi l'accesso dalle impostazioni del Suo account {{provider}}.", "confirmLogout": "Desidera davvero disconnettersi da questo dispositivo?", "messages": { "loggingOut": "Disconnessione in corso...", "revoked": "Sessione revocata con successo", "loadFailed": "Impossibile caricare le sessioni", "revokeFailed": "Impossibile revocare la sessione" }, "emptyState": { "loading": "Caricamento sessioni...", "noMatch": "Nessuna sessione corrisponde alla Sua ricerca", "noSessions": "Nessuna sessione attiva trovata" }, "subtitle_one": "{{sessionCount}} sessione attiva su {{userCount}} utente", "subtitle_other": "{{sessionCount}} sessioni attive su {{userCount}} utenti" }, "webhooks": { "title": "Webhook in uscita", "description": "Crea sottoscrizioni firmate al ciclo di vita dei ticket, filtrale per ID specifici, ispeziona la cronologia delle consegne e ruota i segreti senza uscire dalle impostazioni.", "newWebhook": "Nuovo webhook", "tabs": { "configuration": "Configurazione", "deliveries": "Consegne", "inbound": "In entrata", "outbound": "In uscita" }, "inbound": { "title": "Webhook in entrata", "description": "Accetta richieste autenticate da sistemi esterni e inviale ad azioni dirette o workflow.", "placeholder": "Configura endpoint webhook in entrata che verificano le richieste, deduplicano le consegne e inviano ad azioni o workflow.", "newWebhook": "Nuovo webhook", "list": { "title": "Webhook in entrata configurati", "loading": "Caricamento…", "configuredCount": "{{count}} configurati", "empty": "Nessun webhook in entrata configurato.", "columns": { "name": "Nome", "handler": "Handler", "lastDelivery": "Ultima consegna", "active": "Attivo", "actions": "Azioni" } }, "handlers": { "directAction": "Azione diretta", "workflow": "Workflow" }, "status": { "active": "Attivo", "inactive": "Inattivo" }, "messages": { "loadFailed": "Caricamento dei webhook in entrata non riuscito.", "nameRequired": "Il nome è obbligatorio.", "slugRequired": "Lo slug è obbligatorio.", "actionRequired": "Seleziona un'azione prima di salvare.", "workflowRequired": "Seleziona un workflow prima di salvare.", "missingRequiredFields": "Mappa un valore per i campi obbligatori: {{fields}}" }, "dialog": { "createTitle": "Crea webhook in entrata", "editTitle": "Modifica webhook in entrata", "cancel": "Annulla", "create": "Crea webhook", "save": "Salva modifiche", "saveUnavailable": "Continua" }, "identity": { "title": "Identità", "help": "Nomina il webhook e scegli lo slug URL-safe usato nel suo endpoint ricevitore.", "name": "Nome", "namePlaceholder": "Avvisi RMM critici", "slug": "Slug", "slugPlaceholder": "avvisi-rmm-critici", "description": "Descrizione", "descriptionPlaceholder": "Note opzionali sul sistema sorgente e sul payload." }, "auth": { "title": "Autenticazione", "help": "Scegli come le richieste in entrata dimostrano di essere autorizzate a usare questo endpoint.", "method": "Metodo di autenticazione", "types": { "hmacSha256": "HMAC-SHA256", "bearer": "Token Bearer", "ipAllowlist": "Lista IP consentite", "pathToken": "Segreto condiviso nel percorso" }, "signatureHeader": "Header di firma", "signatureHeaderPlaceholder": "X-Alga-Signature", "bearerToken": "Token Bearer", "bearerTokenPlaceholder": "Incolla il token o lascia vuoto per generarne uno", "secretUnchangedPlaceholder": "Lascia vuoto per mantenere il segreto attuale", "ipCidrs": "IP / CIDR consentiti", "ipCidrsPlaceholder": "203.0.113.10\n198.51.100.0/24", "queryParam": "Parametro di query", "queryParamPlaceholder": "token", "pathToken": "Token di percorso", "pathTokenPlaceholder": "Incolla il token o lascia vuoto per generarne uno" }, "secret": { "label": "Segreto del webhook", "warning": "Questo valore viene mostrato solo ora. Salvalo nel sistema sorgente prima di chiudere questa finestra.", "copy": "Copia", "download": "Scarica come .txt", "close": "Chiudi" }, "idempotency": { "title": "Idempotenza", "help": "Usa una chiave stabile per rilevare consegne duplicate nella finestra configurata.", "source": "Sorgente della chiave", "types": { "header": "Header HTTP", "jsonata": "Espressione JSONata" }, "headerName": "Nome dell'header", "headerNamePlaceholder": "X-Idempotency-Key", "jsonataExpression": "Espressione JSONata", "jsonataExpressionPlaceholder": "alert.id", "windowSeconds": "Finestra duplicati (secondi)" }, "active": { "title": "Stato attivo", "help": "Metti in pausa l'endpoint senza eliminare URL, mappature o cronologia delle consegne.", "toggle": "Webhook attivo", "autoDisabled": "Disabilitato automaticamente il {{date}} dopo ripetuti errori.", "updateFailed": "Aggiornamento dello stato del webhook in entrata non riuscito." }, "handler": { "title": "Handler", "help": "Scegli cosa deve fare Alga dopo che la richiesta è stata verificata e deduplicata.", "type": "Tipo di handler", "types": { "directAction": "Azione diretta", "workflow": "Workflow" }, "directActionTitle": "Azione diretta", "directActionHelp": "Seleziona un'azione in entrata e mappa i campi del payload ai suoi campi di destinazione.", "action": "Azione", "actionPlaceholder": "Seleziona un'azione", "actionEmpty": "Nessuna azione in entrata registrata. Assicurati che il server abbia inizializzato il registro delle azioni prima di salvare.", "targetFields": "Campi di destinazione", "required": "Obbligatorio", "optional": "Opzionale", "mappingPlaceholder": "Inserisci un'espressione JSONata, es. payload.field", "workflowTitle": "Workflow", "workflowHelp": "Seleziona un workflow da avviare con la busta normalizzata del webhook.", "workflow": "Workflow", "workflowPlaceholder": "Seleziona un workflow", "workflowEmpty": "Nessun workflow visibile in questo tenant. Pubblica o rendi visibile un workflow per usare il handler workflow.", "envelopeTitle": "Busta di input del workflow", "fieldTypes": { "string": "stringa", "int": "intero", "number": "numero", "boolean": "booleano", "enum": "enum", "json": "json", "ref": "riferimento" } }, "sample": { "title": "Payload di esempio", "help": "Cattura la prossima richiesta verificata per l'autocompletamento della mappatura.", "createFirst": "Salva il webhook prima di catturare una richiesta di esempio.", "captureButton": "Cattura richiesta di esempio", "captureActive": "Finestra di cattura attiva fino a {{expiresAt}}.", "sampleAvailable": "Payload di esempio catturato.", "noSample": "Nessun esempio ancora catturato.", "captureFailed": "Abilitazione della cattura di esempio non riuscita." }, "sampleTree": { "title": "Percorsi di esempio", "help": "Clicca su un percorso per inserirlo in {{field}}.", "focusHelp": "Concentra un campo di mappatura, quindi clicca su un percorso per inserirlo.", "empty": "Cattura un payload di esempio per esplorare i campi." }, "mapping": { "modeStatic": "Valore statico", "modeExpression": "Mappa dal payload", "unknownReference": "riferimento sconosciuto", "loading": "Caricamento…", "errors": { "INVALID_INT": "Il valore \"{{value}}\" deve essere un intero.", "INVALID_NUMBER": "Il valore \"{{value}}\" deve essere un numero.", "INVALID_BOOLEAN": "Il valore deve essere \"true\" o \"false\".", "INVALID_JSON": "Il valore deve essere JSON valido." } }, "deliveryLog": { "title": "Log delle consegne", "help": "Consegne verificate recenti per questo webhook in entrata.", "empty": "Nessuna consegna registrata.", "loadFailed": "Caricamento delle consegne non riuscito.", "pageSummary": "Pagina {{page}} di {{total}}", "durationMs": "{{duration}} ms", "allStatuses": "Tutti gli stati", "columns": { "received": "Ricevuto", "status": "Stato", "response": "Risposta", "duration": "Durata", "actions": "Azioni" }, "view": "Visualizza", "status": { "pending": "in attesa", "dispatched": "consegnato", "duplicate": "duplicato", "failed": "fallito" } }, "deliveryDetail": { "title": "Dettaglio consegna", "close": "Chiudi", "replay": "Riproduci", "replayConfirm": "Inviare nuovamente questa consegna attraverso la configurazione attuale del webhook? Eventuali effetti collaterali (creazione ticket, cambio stato, ecc.) verranno eseguiti di nuovo.", "replayFailed": "Riproduzione della consegna non riuscita.", "received": "Ricevuto", "status": "Stato", "responseStatus": "Stato della risposta", "duration": "Durata", "sections": { "headers": "Header della richiesta", "requestBody": "Corpo della richiesta", "responseBody": "Corpo della risposta", "handlerOutcome": "Esito dell'handler" } }, "test": { "openButton": "Invia test", "title": "Invia richiesta di test", "body": "Corpo JSON della richiesta", "headers": "Header", "cancel": "Annulla", "send": "Invia test", "sendFailed": "Invio della richiesta di test del webhook non riuscito." } }, "stats": { "total": "Webhook totali", "active": "Attivi", "autoDisabled": "Disattivati automaticamente" }, "secret": { "label": "Segreto di firma", "warning": "Questo valore viene mostrato solo ora. Conservalo nel ricevitore prima di lasciare la pagina.", "copy": "Copia", "copied": "Segreto di firma copiato negli appunti", "copyFailed": "Impossibile copiare il segreto di firma negli appunti", "close": "Chiudi", "download": "Scarica come .txt" }, "form": { "createTitle": "Crea webhook", "editTitle": "Modifica webhook", "helper": "La configurazione dei tentativi è memorizzata come JSON; la cadenza di consegna utilizza ancora la pianificazione di backoff standard della piattaforma in v1.", "name": "Nome", "namePlaceholder": "Feed di assegnazione ticket", "url": "URL", "urlPlaceholder": "https://example.com/hooks/alga", "events": "Eventi", "customHeaders": "Intestazioni personalizzate", "customHeadersPlaceholder": "Authorization: Bearer abc123\nX-Source: alga-psa", "ticketFilter": "Filtro ticket", "ticketFilterPlaceholder": "Un UUID ticket per riga. Lasciare vuoto per ricevere tutti gli eventi ticket corrispondenti.", "retryConfig": "Configurazione tentativi (JSON)", "verifySsl": "Verifica certificati SSL", "webhookActive": "Il webhook è attivo", "save": "Salva modifiche", "saving": "Salvataggio…", "create": "Crea webhook", "clear": "Pulisci", "delete": "Elimina", "payloadFields": "Campi consegnati", "payloadFieldsHelp": "Tutti i campi vengono inviati per impostazione predefinita. Deseleziona per escludere un campo dalla consegna. La chiave di correlazione dell’entità (es. ticket_id) è sempre inclusa.", "payloadFieldsSelectAll": "Seleziona tutto", "payloadFieldsClear": "Cancella" }, "list": { "title": "Webhook configurati", "loading": "Caricamento…", "configuredCount": "{{count}} configurati", "empty": "Nessun webhook configurato.", "columns": { "name": "Nome", "status": "Stato", "lastDelivery": "Ultima consegna", "success": "Successo", "actions": "Azioni" }, "actions": { "selected": "Selezionato", "manage": "Gestisci", "pause": "Sospendi", "resume": "Riprendi", "view": "Visualizza", "edit": "Modifica" } }, "detail": { "summary": "{{total}} consegne, {{successful}} riuscite, {{failed}} fallite.", "sendTest": "Invia test", "sending": "Invio…", "rotateSecret": "Ruota segreto", "rotating": "Rotazione…", "back": "Torna ai webhook" }, "deliveries": { "title": "Cronologia consegne", "page": "Pagina {{page}} di {{total}}", "empty": "Nessuna consegna registrata.", "columns": { "event": "Evento", "status": "Stato", "attempted": "Tentato", "response": "Risposta", "action": "Azione" }, "testBadge": "Consegna di prova", "attempt": "Tentativo {{number}}", "noResponseCode": "n/d", "noResponseBody": "Nessun corpo di risposta acquisito.", "retry": "Riprova", "previous": "Precedente", "next": "Successivo" }, "messages": { "loadFailed": "Impossibile caricare le impostazioni del webhook.", "loadDeliveriesFailed": "Impossibile caricare le consegne del webhook.", "saveFailed": "Impossibile salvare il webhook.", "createSuccess": "Webhook creato.", "updateSuccess": "Webhook aggiornato.", "deleteConfirm": "Eliminare il webhook \"{{name}}\"?", "deleteSuccess": "Webhook eliminato.", "deleteFailed": "Impossibile eliminare il webhook.", "testSuccess": "Test inviato con successo ({{statusCode}}).", "testFailed": "Test fallito: {{message}}", "testRunFailed": "Impossibile inviare il test del webhook.", "unknownError": "Errore sconosciuto", "secretRotated": "Segreto di firma ruotato.", "rotateFailed": "Impossibile ruotare il segreto del webhook.", "resumed": "Webhook ripreso.", "paused": "Webhook sospeso.", "stateChangeFailed": "Impossibile aggiornare lo stato del webhook.", "retryQueued": "Ritentativo in coda per l'evento {{eventId}}.", "retryFailed": "Impossibile riprovare la consegna.", "invalidHeaderLine": "Riga di intestazione non valida: \"{{line}}\"", "invalidRetryConfig": "La configurazione dei tentativi deve essere un oggetto JSON" }, "common": { "never": "Mai" }, "health": { "healthy": "integro", "failing": "in errore", "disabled": "disattivato" }, "deliveryStatus": { "delivered": "consegnato", "retrying": "in nuovo tentativo", "abandoned": "abbandonato", "pending": "in attesa" } }, "apiKeys": { "rateLimit": { "columnTitle": "Limite frequenza", "loading": "Caricamento…", "summary": "{{maxTokens}} burst / {{refillPerMin}} al min", "source": "Origine: {{label}}", "sourceLabels": { "key": "Sovrascrittura", "tenant": "Predefinito del tenant", "default": "Predefinito di sistema" }, "remaining": " • Rimanenti: {{remaining}}/{{maxTokens}}", "remainingUnavailable": " • Rimanenti: non disponibile", "actions": { "edit": "Modifica", "override": "Sovrascrivi", "save": "Salva", "cancel": "Annulla", "reset": "Reimposta" }, "errors": { "saveFailed": "Impossibile salvare la sovrascrittura del limite di frequenza API.", "clearFailed": "Impossibile rimuovere la sovrascrittura del limite di frequenza API." } }, "generate": { "title": "Genera chiave API", "description": "Descrizione", "descriptionPlaceholder": "es. Chiave API di sviluppo", "expiration": "Data di scadenza (facoltativa)", "submit": "Genera nuova chiave API" }, "list": { "title": "Le tue chiavi API", "searchPlaceholder": "Cerca per descrizione", "filters": { "allStatuses": "Tutti gli stati", "active": "Attiva", "inactive": "Inattiva", "lastUsedAfter": "Ultimo utilizzo dopo", "expiresBefore": "Scade prima del", "reset": "Reimposta" }, "columns": { "description": "Descrizione", "created": "Creata", "lastUsed": "Ultimo utilizzo", "expires": "Scade", "status": "Stato", "actions": "Azioni" }, "never": "Mai", "status": { "active": "Attiva", "inactive": "Inattiva" }, "deactivate": "Disattiva" }, "newKeyDialog": { "title": "Chiave API generata", "warning": "Copia subito la tua chiave API. Per motivi di sicurezza, non verrà mostrata di nuovo.", "copy": "Copia negli appunti", "download": "Scarica come .txt", "copySuccess": "Chiave API copiata negli appunti!", "copyFailed": "Impossibile copiare la chiave API negli appunti", "downloadFailed": "Impossibile scaricare la chiave API" } } }, "platformUpdates": { "detail": { "back": "Indietro", "labels": { "info": "Info", "warning": "Avviso", "destructive": "Critico", "success": "Operazione riuscita", "default": "Avviso" } } }, "connectSso": { "verify": { "title": "Protegga il Suo account con SSO", "description": "Colleghi Azure AD o Google Workspace per riutilizzare le policy aziendali e saltare le richieste locali di autenticazione a due fattori.", "signedInAs": "Connesso come", "currentPassword": "Password attuale", "twoFactorCode": "Codice a due fattori", "twoFactorPlaceholder": "123456", "verifyCredentials": "Verifica credenziali", "verifying": "Verifica in corso...", "reset": "Reimposta", "linkedSuccess": "Provider collegato correttamente.", "credentialsVerified": "Credenziali verificate. Scelga un provider qui sotto per completare il collegamento del Suo account.", "verifyFailed": "Impossibile verificare le credenziali.", "verifyBeforeProvider": "Verifichi la Sua password (e il codice a due fattori se richiesto) prima di collegare un provider." }, "providers": { "title": "Colleghi un provider", "description": "Scelga un provider per completare il collegamento SSO. Verrà reindirizzato attraverso il flusso di accesso del provider.", "noneConfigured": "Nessun provider SSO è configurato per questo ambiente. Chieda al Suo amministratore di configurare le credenziali Google o Microsoft.", "notConfigured": "Non configurato", "branding": { "google": "Continua con Google", "microsoft": "Continua con Microsoft", "default": "Continua" } }, "linked": { "title": "Account collegati", "description": "Aggiorneremo il collegamento al Suo prossimo accesso tramite un provider connesso.", "empty": "Nessun provider SSO ancora collegato. Completi i passaggi precedenti per collegarne uno.", "linkedAt": "Collegato il {{date}}", "lastUsed": "Ultimo utilizzo: {{date}}", "notUsedYet": "Non ancora utilizzato" } } }