{ "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" }, "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": "Registra la tua azienda" }, "register": { "title": "Crea il tuo account", "subtitle": "Registra la tua azienda per un 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." }, "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." }, "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" }, "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)" }, "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." }, "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" } }