{ "common": { "appName": "PieCed", "tagline": "Piattaforma IA", "login": "Accedi", "logout": "Esci", "dashboard": "Dashboard", "admin": "Admin", "loading": "Caricamento…", "language": "Lingua", "cancel": "Annulla", "save": "Salva", "error": "Si è verificato un errore", "register": "Registrati", "team": "Team", "settings": "Impostazioni", "optional": "facoltativo", "support": "Supporto" }, "login": { "title": "Portale PieCed", "subtitle": "Accedi per gestire il tuo assistente IA", "button": "Continua con ZITADEL", "footer": "Ospitato on-premises in Svizzera", "noAccount": "Non hai ancora un account?", "register": "Crea un account" }, "register": { "title": "Crea il tuo account", "subtitle": "Configuri il suo assistente IA ospitato in Svizzera", "companyName": "Nome azienda", "companyNamePlaceholder": "Esempio SA", "givenName": "Nome", "familyName": "Cognome", "email": "Indirizzo e-mail", "submit": "Registrati", "hasAccount": "Hai già un account?", "footer": "I tuoi dati sono ospitati esclusivamente on-premises in Svizzera.", "successTitle": "Registrazione ricevuta", "successDescription": "Riceverai un'e-mail di invito con un link per impostare la password e verificare il tuo indirizzo e-mail. Dopodiché potrai accedere e configurare il tuo assistente IA.", "goToLogin": "Vai all'accesso", "duplicateDomain": "Un account per il dominio e-mail {domain} è già registrato. Contatta l'amministratore della tua azienda per essere invitato, oppure contatta il supporto PieCed IT se ritieni che si tratti di un errore.", "individualToggle": "Registrati come privato", "individualHint": "Seleziona questa opzione se non ti stai registrando per conto di un'azienda. Il tuo account sarà configurato come area di lavoro personale.", "accountTypeLabel": "Tipo di account", "personalCardTitle": "Privato", "personalCardDescription": "Per lei.", "companyCardTitle": "Azienda", "companyCardDescription": "Per la sua azienda o team." }, "onboarding": { "loading": "Caricamento stato…", "welcomeTitle": "Configura il tuo assistente IA", "welcomeDescription": "In pochi passaggi avrai il tuo assistente IA — ospitato esclusivamente in Svizzera, completamente sotto il tuo controllo.", "welcomeFeature_swissHosted": "Ospitato on-premises in Svizzera — i tuoi dati non lasciano mai il Paese", "welcomeFeature_privacy": "Nessun dato condiviso con terzi — privacy completa", "welcomeFeature_customizable": "Personalità, pacchetti e integrazioni completamente personalizzabili", "getStarted": "Inizia", "configureTitle": "Configura il tuo assistente", "configureDescription": "Dai un nome e una personalità al tuo assistente. Puoi sempre modificarli in seguito.", "agentName": "Nome agente", "soulMd": "Personalità (SOUL.md)", "soulMdHint": "Definisce il comportamento del tuo assistente. Formato Markdown. Modificabile in seguito.", "agentsMd": "Istruzioni agente (AGENTS.md)", "agentsMdHint": "Definisce cosa fa il tuo assistente all'avvio della sessione. Opzionale — i valori predefiniti funzionano per la maggior parte delle configurazioni.", "toolsMd": "Strumenti disponibili (TOOLS.md)", "toolsMdHint": "Generato automaticamente in base ai pacchetti selezionati. Questo file viene gestito automaticamente.", "advancedConfig": "Configurazione avanzata", "packages": "Pacchetti", "packagesHint": "Integrazioni opzionali. I pacchetti che richiedono credenziali le chiederanno inline. Puoi attivarli anche in seguito.", "billingTitle": "Informazioni di fatturazione", "billingDescription": "Abbiamo bisogno del tuo indirizzo di fatturazione. Un fornitore di pagamento verrà integrato in futuro.", "billingCompany": "Azienda", "billingStreet": "Via", "billingPostalCode": "CAP", "billingCity": "Città", "billingCountry": "Paese", "billingNotes": "Note", "billingNotesPlaceholder": "Note sulla fatturazione (numero ordine, partita IVA, metodo di pagamento preferito, ecc.)", "confirmTitle": "Verifica e invia", "confirmDescription": "Verifica la tua configurazione. La tua richiesta verrà esaminata dal nostro team prima dell'attivazione.", "confirmNote": "Dopo l'invio, il nostro team esaminerà la tua richiesta e i dati di fatturazione. Riceverai l'accesso dopo l'approvazione — di solito entro un giorno lavorativo.", "credentialsProvided": "Credenziali fornite", "submitRequest": "Invia richiesta", "back": "Indietro", "next": "Avanti", "pendingTitle": "Richiesta inviata", "pendingDescription": "La tua richiesta è stata inviata ed è in fase di esame da parte del nostro team. Riceverai l'accesso dopo l'approvazione — di solito entro un giorno lavorativo.", "rejectedTitle": "Richiesta non approvata", "rejectedDescription": "Purtroppo la tua richiesta non è stata approvata. Contattaci per ulteriori informazioni.", "provisioningTitle": "Configurazione dell'istanza", "provisioningDescription": "Il tuo assistente IA è in fase di attivazione. Di solito richiede pochi minuti.", "phase": "Fase", "readyTitle": "Il tuo assistente è pronto!", "readyDescription": "Il tuo assistente IA è stato attivato ed è operativo. Ora puoi gestirlo dalla dashboard.", "goToDashboard": "Vai alla dashboard", "submittedAt": "Inviato", "instanceName": "Nome istanza", "instanceNamePlaceholder": "es. Produzione, Dev, Vendite", "instanceNameHint": "Nome leggibile facoltativo per distinguere questa istanza dalle altre nella dashboard. Lasciare vuoto per usare il nome dell'azienda.", "validationError": "Correggere gli errori prima di inviare.", "validationErrorsTitle": "Alcuni campi obbligatori sono mancanti o non validi:", "reviewInstanceDefault": "(predefinito — usa il nome dell'azienda)", "reviewNoPackages": "Nessuno selezionato", "reviewBillingTo": "Fatturare a", "reviewContactEmail": "Email di contatto", "editRequestTitle": "Modifica la sua richiesta", "editRequestDescription": "Modifichi la configurazione prima che il nostro team la esamini.", "editRequest": "Modifica", "cancelRequest": "Annulla richiesta", "cancelRequestConfirm": "Sì, annulla la richiesta", "cancelConfirmRequestTitle": "Annullare questa richiesta?", "cancelConfirmRequestDescription": "La sua richiesta in attesa sarà contrassegnata come annullata e rimossa dalla coda di revisione. Può inviare una nuova richiesta in qualsiasi momento.", "cancelFailed": "Impossibile annullare la richiesta.", "cancelledTitle": "Richiesta annullata", "cancelledDescription": "Lei ha annullato questa richiesta prima dell'elaborazione. Nessuna istanza è stata creata.", "dismiss": "Nascondi", "dismissFailed": "Impossibile nascondere.", "rejectionReason": "Motivo indicato", "saveChanges": "Salva modifiche", "billingVatNumber": "Partita IVA", "billingVatHelp": "Il tuo identificativo IVA registrato. Se la tua azienda è esente IVA, lascia vuoto e spiega nelle note.", "billingNotesPlaceholderPersonal": "Qualsiasi cosa dovremmo sapere — metodo di pagamento preferito, riferimento per fatturazione, ecc." }, "dashboard": { "title": "Dashboard", "welcome": "Bentornato, {name}", "instanceStatus": "Stato istanza", "usage": "Utilizzo", "packages": "Pacchetti", "noInstance": "Nessuna istanza attivata.", "comingSoon": "Vista dettagliata in arrivo nella Sessione 6.2", "noInstanceDescription": "Configura la tua istanza di assistente IA per iniziare con PieCed IT.", "manage": "Gestisci istanza e pacchetti", "instances": "Le tue istanze", "inflightRequests": "Richieste in corso", "createInstance": "Crea nuova istanza", "createInstanceDescription": "Effettua il provisioning di un'ulteriore istanza dell'assistente IA per la tua organizzazione. La richiesta sarà esaminata da un amministratore prima della creazione dell'istanza.", "noAccessNoInstances": "La tua organizzazione non ha ancora istanze. Chiedi al proprietario dell'organizzazione di configurarne una.", "noAssignmentsTitle": "Nessuna istanza assegnata", "noAssignmentsDescription": "La tua organizzazione ha delle istanze, ma non ti è stato concesso l'accesso a nessuna di esse. Chiedi al proprietario della tua organizzazione di assegnarti a un'istanza.", "noInstancesYetTitle": "Nessuna istanza ancora", "noInstancesYetDescription": "La tua organizzazione non ha ancora istanze. Chiedi al proprietario della tua organizzazione di configurarne una." }, "tenantDetail": { "agent": "Agente", "packages": "Pacchetti", "workspaceFiles": "File workspace", "notFound": "Tenant non trovato.", "usage": "Utilizzo e costi", "provisioned": "Attivato", "assignedUsers": "Utenti assegnati", "subscriptionTitle": "Abbonamento", "subscriptionDescriptionActive": "Annulli il suo abbonamento se non ha più bisogno di questo assistente. I suoi dati saranno preservati e potrà riprendere in qualsiasi momento.", "subscriptionDescriptionSuspended": "Il suo abbonamento è annullato. Riprenda per riportare l'assistente online.", "cancelSubscription": "Annulla abbonamento", "cancelSubscriptionConfirm": "Sì, annulla", "resumeSubscription": "Riprendi abbonamento", "cancelConfirmTitle": "Annullare questo abbonamento?", "cancelConfirmDescription": "Il suo assistente diventerà non disponibile. Può riprendere in qualsiasi momento — i suoi dati sono preservati.", "cancelConfirmBullet1": "I file del workspace (SOUL.md, AGENTS.md) sono mantenuti", "cancelConfirmBullet2": "Le credenziali dei pacchetti rimangono memorizzate", "cancelConfirmBullet3": "Le informazioni di fatturazione sono mantenute", "subscriptionUpdateFailed": "Impossibile aggiornare l'abbonamento.", "suspendedTitle": "Abbonamento annullato", "suspendedDescription": "Il suo assistente è in pausa. Configurazione e dati sono preservati. Usi il controllo Riprendi in fondo a questa pagina per riportarlo online.", "requestReactivation": "Richiedi riattivazione", "requestReactivationConfirmTitle": "Richiedere la riattivazione?", "requestReactivationConfirmDescription": "Un amministratore esaminerà la tua richiesta e riattiverà il tuo tenant. Riceverai un'email non appena la richiesta sarà approvata.", "requestReactivationConfirm": "Invia richiesta", "cancelResumeRequest": "Annulla richiesta", "resumeRequestPendingTitle": "Richiesta di riattivazione in sospeso", "resumeRequestPendingDescription": "Inviata {when}. Un amministratore la esaminerà a breve.", "resumeRequestPendingNoteAdmin": "Un proprietario ha richiesto la riattivazione; puoi riprendere direttamente sopra o elaborare la richiesta dalla coda di amministrazione.", "cancelConfirmRetentionWarning": "I tuoi dati sono conservati per 60 giorni dopo l'annullamento. Trascorso tale periodo, tutti i dati del tenant — configurazione, segreti, conversazioni e file — verranno eliminati definitivamente.", "suspendedSince": "Sospeso il {date}", "suspendedDeletionIn": "eliminazione dei dati tra {days, plural, one {# giorno} other {# giorni}} ({date})", "suspendedDeletionImminent": "i dati vengono eliminati ora", "requestReactivationNoteLabel": "Nota per il nostro team", "requestReactivationNotePlaceholder": "Qualsiasi cosa il nostro team dovrebbe sapere — ad es. il motivo della riattivazione, l'urgenza, ecc." }, "usage": { "inputTokens": "Token di input", "outputTokens": "Token di output", "totalSpend": "Spesa totale", "totalCost": "Costo totale", "budget": "Budget", "noLimit": "Nessun limite", "last30Days": "Ultimi 30 giorni", "noData": "Nessun dato di utilizzo disponibile.", "dailyBreakdown": "Dettaglio giornaliero", "requests": "richieste" }, "workspace": { "save": "Salva", "placeholder": "Inserisci il contenuto per {file}…", "readonlyNote": "Questo file viene generato automaticamente e non può essere modificato manualmente.", "seedingNote": "I file workspace vengono inizializzati al primo avvio. Un aggiornamento su un'istanza esistente attiva un aggiornamento del ConfigMap e un riavvio del pod." }, "packages": { "categories": { "channels": "Canali", "skills": "Capacità" }, "enable": "Attiva", "disable": "Disattiva", "enableAndSave": "Attiva e salva", "configure": "Configura", "requiresApiKey": "Richiede chiave API", "missingFields": "Compilare tutti i campi obbligatori.", "status": { "pending": "In attesa", "active": "Attivo", "error": "Errore" }, "telegram": { "description": "Collega il tuo assistente IA a un bot Telegram.", "botTokenLabel": "Token bot Telegram", "botTokenPlaceholder": "123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11", "instructions": "1. Apri @BotFather su Telegram\n2. Invia /newbot e segui le istruzioni\n3. Copia il token del bot", "disclaimer": "Confermo di possedere questo bot Telegram e autorizzo PieCed IT a collegarlo al mio assistente IA." }, "discord": { "description": "Collega il tuo assistente IA a un server Discord tramite un bot.", "botTokenLabel": "Token bot Discord", "botTokenPlaceholder": "MTAxNjQ0OTk2NjAz...", "instructions": "1. Vai su discord.com/developers/applications\n2. Crea una nuova applicazione e aggiungi un bot\n3. Copia il token del bot", "disclaimer": "Confermo di possedere questo bot Discord e autorizzo PieCed IT a collegarlo al mio assistente IA." }, "email": { "description": "Permetti al tuo assistente IA di inviare e ricevere e-mail.", "smtpHostLabel": "Host SMTP", "smtpHostPlaceholder": "smtp.example.com", "smtpUserLabel": "Nome utente SMTP", "smtpUserPlaceholder": "user@example.com", "smtpPasswordLabel": "Password SMTP", "smtpPasswordPlaceholder": "••••••••", "imapHostLabel": "Host IMAP", "imapHostPlaceholder": "imap.example.com", "instructions": "Fornisci le credenziali SMTP e IMAP. L'assistente le usa per inviare e monitorare i messaggi.", "disclaimer": "Confermo di essere autorizzato a utilizzare queste credenziali e-mail e che PieCed IT può accedere a questa casella di posta." }, "webSearch": { "description": "Dai al tuo assistente IA la capacità di cercare nel web." }, "documentProcessing": { "description": "Attiva l'analisi, il riassunto e l'estrazione di documenti." }, "statusEnabled": "abilitato", "statusDisabled": "disabilitato" }, "admin": { "title": "Admin piattaforma", "subtitle": "Gestisci le richieste di onboarding e il ciclo di vita dei tenant", "allTenants": "Tenant", "noTenants": "Nessun tenant attivato.", "noAccess": "Permessi insufficienti per questa vista.", "name": "Nome", "displayName": "Nome visualizzato", "phase": "Fase", "packages": "Pacchetti", "created": "Creato", "manage": "Gestisci", "requests": "Richieste", "pendingRequests": "Richieste in attesa", "approve": "Approva", "reject": "Rifiuta", "reApprove": "Riapprova", "company": "Azienda", "contact": "Contatto", "agentName": "Agente", "status": "Stato", "submitted": "Inviato", "updated": "Aggiornato", "actions": "Azioni", "noRequests": "Nessuna richiesta trovata.", "loadingRequests": "Caricamento richieste…", "approveConfirm": "Approvare questa richiesta e avviare l'attivazione?", "rejectConfirm": "Rifiutare questa richiesta?", "rejectTitle": "Rifiuta richiesta", "adminNotesLabel": "Note (opzionale)", "adminNotesPlaceholder": "Motivo del rifiuto…", "cancelAction": "Annulla", "confirmReject": "Rifiuta", "viewTenant": "Visualizza", "filter_all": "Tutti", "filter_pending": "In attesa", "filter_provisioning": "Attivazione", "filter_approved": "Approvato", "filter_rejected": "Rifiutato", "totalTenants": "Totale", "running": "Attivo", "provisioning": "Attivazione", "errors": "Errori", "suspend": "Sospendi", "resume": "Riprendi", "suspended": "Sospeso", "suspendedBadge": "SOSPESO", "deleteTenant": "Elimina", "deleteTitle": "Elimina tenant", "deleteWarning": "Questo eliminerà permanentemente il tenant, il suo namespace, i secrets e tutti i dati associati. Questa azione non può essere annullata.", "confirmDelete": "Elimina definitivamente", "loadingTenants": "Caricamento tenant…", "filter_deleted": "Eliminato", "filter_active": "Attivo", "health": "Stato", "serviceHealth": "Stato dei servizi", "vllmDescription": "Motore di inferenza GPU", "litellmDescription": "Proxy LLM & monitoraggio costi", "tenantOverview": "Panoramica tenant", "spendOverview": "Panoramica costi", "globalSpend": "Costi globali (CHF)", "activeTenants": "Tenant attivi", "tenantsWithSpend": "tenant con spese registrate", "refresh": "Aggiorna", "healthUnavailable": "Dati di stato non disponibili.", "loadingHealth": "Caricamento dati di stato…", "statusHealthy": "OK", "statusDown": "Non disponibile", "spendChf": "Costi (CHF)", "resumeRequestBadge": "Ripresa", "resumeRequestTooltip": "Richiesta di riattivazione di un tenant esistente. L'approvazione lo riattiverà; non viene eseguito alcun provisioning." }, "channelUsers": { "title": "Utenti autorizzati", "description": "Gestisci quali utenti possono interagire con il tuo assistente su ogni canale. Aggiungi il loro ID numerico per autorizzare l'accesso.", "users": "utenti", "placeholder": "Inserisci l'ID numerico…", "add": "Aggiungi", "remove": "Rimuovi", "alreadyAdded": "Questo ID utente è già autorizzato.", "telegramIdHelp": "Per trovare il tuo ID Telegram:\n1. Apri Telegram e invia un messaggio a @userinfobot\n2. Risponde istantaneamente con il tuo ID numerico\n3. Inserisci quel numero qui", "discordIdHelp": "Per trovare il tuo ID Discord:\n1. Attiva la Modalità sviluppatore nelle impostazioni Discord (Avanzate)\n2. Clic destro sul tuo nome → Copia ID utente\n3. Inserisci quel numero qui", "emailIdHelp": "Inserisci l'indirizzo e-mail che deve essere autorizzato a interagire con l'assistente." }, "team": { "title": "Team", "description": "Gestisci i membri della tua organizzazione. Invita colleghi e assegnali alle istanze.", "inviteSectionTitle": "Invita un membro", "membersSectionTitle": "Membri", "noMembers": "Nessun membro ancora.", "you": "Tu", "noRole": "nessun ruolo", "givenName": "Nome", "familyName": "Cognome", "email": "E-mail", "role": "Ruolo", "roleUser": "Utente (sola lettura, deve essere assegnato a istanze)", "roleOwner": "Proprietario (accesso completo a tutte le istanze)", "roleHint": "I proprietari possono gestire istanze, fatturazione e membri del team. Gli utenti possono solo visualizzare le istanze a loro assegnate.", "inviteButton": "Invia invito", "inviteSent": "Invito inviato. L'utente riceverà un'e-mail con un link per impostare la password.", "inviteUserExists": "Un utente con questa e-mail è già registrato.", "changeRole": "Modifica ruolo", "roleUpdated": "Ruolo aggiornato.", "roleUpdateFailed": "Impossibile aggiornare il ruolo.", "cancel": "Annulla", "save": "Salva", "selfChangeBlocked": "Non puoi modificare il tuo ruolo." }, "assignments": { "loading": "Caricamento assegnazioni…", "noneAssigned": "Nessun utente è ancora assegnato a questa istanza.", "noCandidates": "Nessun membro del team disponibile per l'assegnazione. Invita prima gli utenti dalla pagina Team.", "pickUser": "Seleziona un utente…", "assign": "Assegna", "revoke": "Rimuovi" }, "countries": { "CH": "Svizzera", "DE": "Germania", "AT": "Austria", "FR": "Francia", "IT": "Italia", "LI": "Liechtenstein" }, "phase": { "Pending": "In attesa", "Provisioning": "In provisioning", "Running": "Attivo", "Ready": "Pronto", "Suspended": "Sospeso", "Error": "Errore", "Deleting": "Eliminazione", "Reconfiguring": "Riconfigurazione" }, "warnings": { "oneTooltip": "1 avviso", "manyTooltip": "{count} avvisi" }, "settings": { "title": "Impostazioni", "subtitle": "Gestisci la configurazione a livello di organizzazione, valida per tutti i tuoi tenant.", "billingTitle": "Fatturazione", "billingDescription": "Indirizzo, numero di IVA ed e-mail di fatturazione usati per tutti i tuoi tenant.", "nothingForYou": "Al momento non c'è nulla qui per il tuo ruolo. I proprietari possono gestire le impostazioni dell'organizzazione.", "billingDescriptionPersonal": "Indirizzo ed e-mail di fatturazione usati per tutti i tuoi tenant." }, "settingsBilling": { "title": "Fatturazione", "subtitle": "Acquisita una sola volta al primo onboarding e riutilizzata per ogni tenant della tua organizzazione. Aggiorna qui ogni volta che i dati di fatturazione cambiano.", "companyName": "Ragione sociale", "streetAddress": "Indirizzo", "postalCode": "CAP", "city": "Città", "country": "Paese", "vatNumber": "Partita IVA", "vatHelp": "Il tuo identificativo IVA registrato (es. CHE-123.456.789 IVA per la Svizzera).", "billingEmail": "E-mail di fatturazione", "billingEmailHelp": "Indirizzo a cui verranno inviate le fatture e le comunicazioni di fatturazione.", "notes": "Note", "notesPlaceholder": "Qualsiasi cosa la contabilità debba sapere — esenzione IVA, modalità di fatturazione particolari, ecc.", "save": "Salva", "saved": "Salvato.", "saveFailed": "Impossibile salvare. Riprova.", "lastUpdated": "Ultimo aggiornamento {when}", "fullName": "Nome completo", "notesPlaceholderPersonal": "Qualsiasi cosa dovremmo sapere — metodo di pagamento preferito, riferimento per fatturazione, ecc." }, "support": { "title": "Supporto", "subtitle": "Apri un ticket per fare una domanda, segnalare un bug o condividere un feedback. Le risposte verranno inviate alla tua email registrata.", "titleAdmin": "Coda supporto", "subtitleAdmin": "Ticket di tutti i clienti, attività più recente per prima.", "newTicket": "Nuovo ticket", "newTicketTitle": "Apri un ticket di supporto", "newTicketSubtitle": "Raccontaci cosa succede. Più dettagli ci dai, più velocemente possiamo aiutarti.", "empty": "Non hai ancora aperto ticket.", "emptyAdmin": "Nessun ticket di supporto in coda.", "fieldCategory": "Categoria", "fieldTitle": "Titolo", "fieldDescription": "Descrizione", "fieldStatus": "Stato", "titlePlaceholder": "Breve riassunto della tua richiesta", "descriptionPlaceholder": "Descrivi cosa è successo, cosa ti aspettavi e qualsiasi messaggio d'errore visto.", "descriptionHelp": "Puoi incollare messaggi d'errore e log. Niente password o altri segreti.", "submitTicket": "Invia ticket", "createFailed": "Impossibile creare il ticket. Riprova.", "category_bug": "Bug", "category_feature_request": "Richiesta funzionalità", "category_question": "Domanda", "category_billing": "Fatturazione", "category_other": "Altro", "status_open": "Aperto", "status_in_progress": "In corso", "status_waiting_for_customer": "In attesa della tua risposta", "status_resolved": "Risolto", "status_reopened": "Riaperto", "openedBy": "Aperto da {name} il {when}", "authorTagAdmin": "Supporto PieCed", "replyLabel": "Aggiungi una risposta", "replyPlaceholder": "Il tuo messaggio…", "replyPlaceholderReopen": "Risposta (questo riaprirà il ticket)…", "sendReply": "Invia risposta", "commentFailed": "Impossibile inviare la risposta. Riprova.", "closeTicket": "Segna come risolto", "confirmClose": "Segnare questo ticket come risolto? Potrai riaprirlo in seguito rispondendo.", "closeFailed": "Impossibile chiudere il ticket. Riprova.", "resolvedBanner": "Questo ticket è risolto. Rispondi qui sotto se hai bisogno di un seguito — questo lo riaprirà.", "adminControlsTitle": "Controlli admin", "updateFailed": "Impossibile salvare le modifiche. Riprova." } }