951 lines
53 KiB
JSON
951 lines
53 KiB
JSON
{
|
||
"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",
|
||
"billing": "Fatturazione"
|
||
},
|
||
"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.",
|
||
"reviewContactPersonPrefix": "c.a.",
|
||
"autoPayRequiredError": "Il pagamento automatico è obbligatorio prima di ordinare una nuova istanza. Configuri prima il pagamento automatico, poi invii nuovamente.",
|
||
"autoPaySetupLink": "Aggiungi una carta →",
|
||
"setupFeeNoticeHeading": "Le spese di attivazione saranno addebitate all'invio",
|
||
"setupFeeNoticeBody": "Al clic successivo sarà reindirizzato a Stripe per pagare le spese di attivazione una tantum per questa istanza. Tornerà subito alla dashboard. L'istanza si avvia solo dopo l'approvazione dell'admin — i canoni mensili decorrono dalla data di approvazione.",
|
||
"cardRequiredError": "Prima di ordinare è necessaria una carta di pagamento. Aggiunga una carta e invii nuovamente.",
|
||
"setupFeeAmountLabel": "Spese di attivazione una tantum",
|
||
"setupFeePlusVat": "+ IVA"
|
||
},
|
||
"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",
|
||
"budgetEdit": "Modifica",
|
||
"budgetEditTitle": "Imposta budget",
|
||
"budgetEditDescription": "Limita quanto gli assistenti di questo tenant possono spendere prima che le richieste vengano rifiutate.",
|
||
"budgetModeUnlimited": "Nessun limite",
|
||
"budgetModeUnlimitedDescription": "Spesa libera, nessun tetto.",
|
||
"budgetModeCapped": "Imposta un tetto",
|
||
"budgetModeCappedDescription": "Rifiuta le richieste una volta raggiunto questo importo.",
|
||
"budgetAmount": "Importo",
|
||
"budgetResetCadence": "Ripristino",
|
||
"budgetCadence_30d": "Ogni 30 giorni",
|
||
"budgetCadence_1mo": "Mensile",
|
||
"budgetCadence_1y": "Annuale",
|
||
"budgetInvalid": "Inserisci un importo positivo.",
|
||
"budgetSaveFailed": "Impossibile salvare il budget. Riprova."
|
||
},
|
||
"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à",
|
||
"core": "Core"
|
||
},
|
||
"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.",
|
||
"appIdLabel": "ID applicazione Discord",
|
||
"appIdPlaceholder": "ID numerico di 18–19 cifre dal Developer Portal"
|
||
},
|
||
"statusEnabled": "abilitato",
|
||
"statusDisabled": "disabilitato",
|
||
"coreHeartbeat": {
|
||
"description": "Esecuzione periodica dell'agente ogni 30 minuti che consente all'assistente di controllare posta, calendario e altre fonti configurate e di avvisarti proattivamente quando serve attenzione. Senza questa opzione, l'assistente risponde solo quando lo contatti."
|
||
},
|
||
"coreCron": {
|
||
"description": "Consente all'assistente di eseguire attività pianificate (briefing giornalieri, promemoria ricorrenti, report periodici). Disattivato per impostazione predefinita. Quando è disattivato, lo strumento cron resta disponibile ma nessuna attività pianificata viene eseguita."
|
||
},
|
||
"coreActiveMemory": {
|
||
"description": "Consente all'assistente di richiamare preferenze stabili, abitudini ricorrenti e contesto a lungo termine dalle conversazioni precedenti. Utilizza un turno extra di sub-agente per ogni messaggio in entrata per interrogare lo store di memoria. Solo messaggi diretti. Aggiunge un piccolo costo in token in cambio di continuità e personalizzazione."
|
||
},
|
||
"coreVoice": {
|
||
"description": "Riconoscimento vocale sui messaggi audio in entrata e sintesi vocale sulle risposte, instradati attraverso il gateway PieCed LiteLLM per tracciare il costo audio per tenant. L'integrazione runtime arriverà nel prossimo rilascio della piattaforma; attivare ora salva la preferenza per quel rilascio."
|
||
},
|
||
"gitCli": {
|
||
"description": "Operazioni git da riga di comando autonome (clone, commit, branch, diff, log, status). Per i repository privati, configura le credenziali nel tuo workspace."
|
||
},
|
||
"github": {
|
||
"description": "Interagisci con repository GitHub tramite la CLI gh — issue, pull request, esecuzioni CI, release, gist. Richiede un token di accesso personale.",
|
||
"tokenLabel": "Token di accesso personale GitHub",
|
||
"tokenPlaceholder": "ghp_… o github_pat_…",
|
||
"instructions": "1. Apri https://github.com/settings/tokens\n2. Genera un token di accesso personale fine con gli ambiti repo desiderati\n3. Copia il token (viene mostrato una sola volta)"
|
||
},
|
||
"gitea": {
|
||
"description": "Interagisci con un'istanza Gitea — repository, issue, pull request, release. Per impostazione predefinita, l'istanza Gitea PieCed su git.c5ai.ch.",
|
||
"tokenLabel": "Token di accesso Gitea",
|
||
"tokenPlaceholder": "Generato in Impostazioni → Applicazioni",
|
||
"instructions": "1. Accedi alla tua istanza Gitea (predefinito https://git.c5ai.ch)\n2. Vai a Impostazioni → Applicazioni → Genera nuovo token\n3. Concedi gli ambiti desiderati (repo, issue, user)\n4. Copia il token"
|
||
},
|
||
"whisperSelfHosted": {
|
||
"description": "Trascrivi file audio tramite l'istanza Whisper auto-ospitata della piattaforma. Utile per attività di trascrizione ad hoc avviate dalla chat."
|
||
},
|
||
"searxngLocalSearch": {
|
||
"description": "Ricerca web rispettosa della privacy tramite l'istanza SearXNG interna della piattaforma. Cerca sul web, nelle immagini e nelle notizie senza chiamate ad API esterne né tracker."
|
||
},
|
||
"gog": {
|
||
"description": "Accesso integrato a Gmail, Calendar, Drive, Docs, Sheets e Contatti tramite Google OAuth. La configurazione richiede un progetto Google Cloud — contatta il supporto PieCed per l'onboarding.",
|
||
"clientIdLabel": "ID client Google OAuth",
|
||
"clientIdPlaceholder": "xxxxxxxxxxx.apps.googleusercontent.com",
|
||
"clientSecretLabel": "Client secret Google OAuth",
|
||
"clientSecretPlaceholder": "GOCSPX-…",
|
||
"refreshTokenLabel": "Token di refresh Google OAuth",
|
||
"refreshTokenPlaceholder": "1//0g…",
|
||
"instructions": "Google Workspace utilizza OAuth. Crea un client OAuth nel tuo progetto Google Cloud, autorizzalo con gli scope necessari (Gmail, Calendar, Drive, ecc.), quindi incolla le credenziali qui sotto. L'invio le memorizza in modo sicuro e mette in coda l'attivazione per la revisione amministrativa — dopo l'approvazione, l'integrazione si attiva automaticamente.",
|
||
"disclaimer": "Abilitando l'integrazione con Google Workspace autorizzi PieCed ad accedere per tuo conto a Gmail, Calendar, Drive, Docs, Sheets e Contatti. I dati transitano attraverso le API di Google, soggetti ai termini di Google."
|
||
},
|
||
"mail": {
|
||
"description": "Leggi, cerca e gestisci le e-mail via IMAP; invia tramite SMTP. Funziona con Gmail (con una password per app), Outlook, Fastmail e qualsiasi host IMAP/SMTP standard.",
|
||
"imapHostLabel": "Host IMAP",
|
||
"imapHostPlaceholder": "imap.example.com",
|
||
"imapUserLabel": "Username IMAP",
|
||
"imapUserPlaceholder": "utente@example.com",
|
||
"imapPassLabel": "Password IMAP",
|
||
"imapPassPlaceholder": "••••••••",
|
||
"smtpHostLabel": "Host SMTP",
|
||
"smtpHostPlaceholder": "smtp.example.com",
|
||
"smtpUserLabel": "Username SMTP",
|
||
"smtpUserPlaceholder": "utente@example.com",
|
||
"smtpPassLabel": "Password SMTP",
|
||
"smtpPassPlaceholder": "••••••••",
|
||
"instructions": "1. Per Gmail: abilita la verifica in due passaggi, quindi crea una password per app su https://myaccount.google.com/apppasswords e usala come password IMAP e SMTP.\n2. Per Outlook / Microsoft 365 con MFA: genera una password per app nelle impostazioni di sicurezza del tuo account.\n3. Per altri provider: consulta la loro documentazione IMAP/SMTP per nomi host e porte.\n4. Host IMAP tipici: imap.gmail.com, outlook.office365.com.\n5. Host SMTP tipici: smtp.gmail.com, smtp.office365.com.",
|
||
"disclaimer": "L'assistente ottiene accesso in lettura/scrittura alla casella di posta che configuri. Valuta l'uso di un indirizzo dedicato anziché di una casella personale se vuoi limitare la portata."
|
||
},
|
||
"threema": {
|
||
"description": "Invia e ricevi messaggi tramite Threema. Ogni messaggio in entrata e in uscita passa attraverso il servizio di messaggistica condiviso di PieCed e comporta un addebito per messaggio da parte di Threema — un costo di terzi, separato dall'abbonamento PieCed.",
|
||
"instructions": "1. Attiva questo pacchetto.\n2. Apri Threema sul tuo telefono, scansiona il QR code mostrato in Utenti autorizzati → threema e accetta il contatto.\n3. Aggiungi il tuo ID Threema sotto Utenti autorizzati → threema affinché l'assistente riconosca i tuoi messaggi.\n4. Invia un messaggio da Threema per iniziare la conversazione.",
|
||
"disclaimer": "I messaggi tra Threema e PieCed sono cifrati end-to-end fino al servizio di messaggistica PieCed, dove vengono decifrati per essere inoltrati al tuo assistente. Ogni messaggio inviato o ricevuto viene addebitato da Threema secondo la sua tariffa per messaggio — consulta il tuo piano per i prezzi attuali."
|
||
},
|
||
"manualReviewPending": "Revisione manuale in attesa",
|
||
"withdraw": "Ritira",
|
||
"activationRejected": "Rifiutata",
|
||
"tryAgain": "Riprova",
|
||
"credentialsSaved": "credenziali salvate",
|
||
"credentialsSavedTip": "Le credenziali inserite sono memorizzate in modo sicuro e saranno utilizzate non appena l'attivazione viene approvata dall'amministratore. Non è necessario reinserirle.",
|
||
"recommended": "Consigliato"
|
||
},
|
||
"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.",
|
||
"openclawTool": "Versioni OpenClaw",
|
||
"billingTool": "Fatturazione →",
|
||
"skillsQueueTool": "Coda di attivazione",
|
||
"cronTool": "Automazione"
|
||
},
|
||
"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",
|
||
"threemaIdHelp": "Inserisci il tuo ID Threema — gli 8 caratteri mostrati nella tua app Threema sotto Impostazioni → Il mio ID Threema. Una volta aggiunto, potrai conversare con l'assistente direttamente da Threema.",
|
||
"threemaSetup": {
|
||
"title": "Aggiungi l'assistente a Threema",
|
||
"step1": "Apri Threema sul tuo telefono.",
|
||
"step2": "Tocca l'icona di scansione e scansiona questo QR code per aggiungere l'assistente ai contatti.",
|
||
"step3": "Quindi aggiungi il tuo ID Threema qui sotto.",
|
||
"qrAlt": "QR code per aggiungere {gateway} come contatto Threema",
|
||
"bannerTitle": "Configura Threema",
|
||
"bannerBody": "Apri Threema sul tuo telefono e scansiona il nostro QR code per aggiungere l'assistente ai contatti. Inserisci poi il tuo ID Threema qui sotto.",
|
||
"bannerButton": "Mostra QR code"
|
||
}
|
||
},
|
||
"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.",
|
||
"profileTitle": "Profilo",
|
||
"profileDescription": "Modifica il tuo nome e cognome come appaiono nel portale."
|
||
},
|
||
"settingsBilling": {
|
||
"title": "Dati di fatturazione",
|
||
"subtitle": "Indirizzo di fatturazione, partita IVA e contatto fatture della tua azienda. Necessari prima che possano essere emesse fatture per la tua organizzazione.",
|
||
"companyNameLabel": "Nome azienda",
|
||
"streetAddressLabel": "Indirizzo",
|
||
"postalCodeLabel": "CAP",
|
||
"cityLabel": "Città",
|
||
"countryLabel": "Codice paese",
|
||
"countryHint": "ISO 3166-1 alpha-2 — es. CH, DE, AT, FR, IT, GB, US",
|
||
"vatNumberLabel": "Partita IVA (facoltativa)",
|
||
"vatNumberHint": "Per clienti svizzeri: CHE-XXX.XXX.XXX IVA. Clienti UE con partita IVA ricevono fattura in reverse charge (0% IVA).",
|
||
"billingEmailLabel": "E-mail di fatturazione",
|
||
"billingEmailHint": "Le fatture e i solleciti vengono inviati a questo indirizzo. Può differire dall'e-mail dell'account.",
|
||
"notesLabel": "Note (facoltative)",
|
||
"notesHint": "Numeri di riferimento, ordini d'acquisto o altre informazioni da riportare in fattura.",
|
||
"saveChanges": "Salva modifiche",
|
||
"createBilling": "Salva dati di fatturazione",
|
||
"saving": "Salvataggio…",
|
||
"saved": "Salvato.",
|
||
"missingRequired": "Compila tutti i campi obbligatori.",
|
||
"invalidCountry": "Il codice paese deve essere di 2 lettere (es. CH).",
|
||
"invalidEmail": "Inserisci un indirizzo e-mail valido.",
|
||
"fullNameLabel": "Nome e cognome",
|
||
"subtitlePersonal": "Il tuo indirizzo di fatturazione e contatto. Necessari prima che possano essere emesse fatture.",
|
||
"contactNameLabel": "Persona di contatto (facoltativa)",
|
||
"contactNameHint": "Stampato come 'c.a. <nome>' sulla fattura, sotto il nome dell'azienda. Utile per l'instradamento contabile in grandi organizzazioni.",
|
||
"savedCardHeading": "Carta salvata",
|
||
"savedCardEmptyBody": "Salvi una carta per il pagamento automatico delle fatture. I dati della sua carta sono memorizzati in modo sicuro da Stripe — vediamo solo la marca, le ultime quattro cifre e la scadenza.",
|
||
"savedCardSetupBtn": "Configura pagamento automatico",
|
||
"savedCardRedirecting": "Reindirizzamento…",
|
||
"savedCardUpdateBtn": "Aggiorna carta",
|
||
"savedCardRemoveBtn": "Rimuovi carta",
|
||
"savedCardRemoving": "Rimozione…",
|
||
"savedCardRemoveConfirm": "Rimuovere questa carta? Dovrà riconfigurare il pagamento automatico affinché le future fatture vengano addebitate automaticamente.",
|
||
"savedCardBrandUnknown": "Carta",
|
||
"savedCardExpires": "scade {date}",
|
||
"savedCardAutoChargeOn": "Pagamento auto. attivo",
|
||
"savedCardAutoChargeOff": "Pagamento auto. disattivo",
|
||
"savedCardDisableAutoChargeBtn": "Disattiva pagamento automatico",
|
||
"savedCardEnableAutoChargeBtn": "Attiva pagamento automatico",
|
||
"savedCardPayByInvoiceNote": "Il suo account è impostato per il pagamento tramite bonifico; la carta salvata non viene utilizzata per gli addebiti automatici. Contatti l'assistenza se desidera tornare al pagamento con carta.",
|
||
"savedCardBankTransferHint": "Il pagamento tramite bonifico è disponibile su richiesta.",
|
||
"savedCardBankTransferLink": "Ci contatti per organizzarlo.",
|
||
"savedCardAutoPayRequiredHeading": "Il pagamento automatico è obbligatorio",
|
||
"savedCardAutoPayRequiredBody": "PieCed IT opera con pagamento automatico tramite carta. Ci riserviamo il diritto di sospendere i tenant fino al saldo delle fatture pendenti in caso di fallimento della fatturazione automatica.",
|
||
"savedCardAutoPayDisabledNote": "Il pagamento automatico è attualmente disattivato. Le fatture future dovranno essere saldate manualmente — in caso di mancato pagamento ci riserviamo il diritto di sospendere i tenant associati a questo account."
|
||
},
|
||
"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."
|
||
},
|
||
"openclawAdmin": {
|
||
"title": "Versioni OpenClaw",
|
||
"subtitle": "Configura il tag predefinito della piattaforma e gli override per tenant per testare nuove release.",
|
||
"defaultSection": "Predefinito piattaforma",
|
||
"defaultDescription": "Usato da ogni tenant senza override proprio.",
|
||
"fieldTag": "Tag",
|
||
"emptyHint": "Lascia vuoto per usare il predefinito integrato dell'operatore.",
|
||
"saveDefault": "Salva predefinito",
|
||
"defaultSaved": "Predefinito salvato. I tenant senza override lo applicheranno al prossimo reconcile.",
|
||
"saveFailed": "Salvataggio fallito. Riprova.",
|
||
"overridesSection": "Override per tenant",
|
||
"noTenants": "Nessun tenant nel cluster.",
|
||
"statusOverridden": "Override",
|
||
"statusFollowsDefault": "Segue predefinito",
|
||
"builtinFallback": "(fallback integrato)",
|
||
"defaultPrefix": "Predefinito:",
|
||
"saveOverride": "Salva override",
|
||
"clearOverride": "Rimuovi override"
|
||
},
|
||
"adminBilling": {
|
||
"title": "Amministrazione fatturazione",
|
||
"subtitle": "Gestire prezzi della piattaforma, generare fatture e verificare lo stato di fatturazione delle organizzazioni.",
|
||
"backToAdmin": "Torna ad amministrazione",
|
||
"backToBilling": "Torna alla fatturazione",
|
||
"backToInvoices": "Torna alle fatture",
|
||
"totalOpenBalance": "Saldo aperto totale",
|
||
"orgsWithBalance": "Organizzazioni con saldo",
|
||
"overdueInvoices": "Fatture scadute",
|
||
"pricingTitle": "Prezzi",
|
||
"pricingDesc": "Prezzi piattaforma & skill, aliquota IVA.",
|
||
"pricingPageDesc": "Modificare i prezzi della piattaforma e i prezzi giornalieri per skill.",
|
||
"generateTitle": "Genera fattura",
|
||
"generateDesc": "Calcolare ed emettere una fattura per organizzazione e mese.",
|
||
"generatePageDesc": "Scegli organizzazione, periodo e lingua. L'anteprima mostra le righe calcolate; conferma emette la fattura e genera il PDF.",
|
||
"invoicesTitle": "Fatture",
|
||
"invoicesDesc": "Sfoglia le fatture, segna come pagate, scarica i PDF.",
|
||
"invoicesPageDesc": "Tutte le fatture emesse dalla piattaforma. Usa il filtro di stato per focalizzarti su voci aperte o scadute.",
|
||
"balancesTitle": "Organizzazioni con saldo aperto",
|
||
"orgIdCol": "ID org Zitadel",
|
||
"openCountCol": "Aperte",
|
||
"overdueCountCol": "Scadute",
|
||
"totalOpenCol": "Totale aperto",
|
||
"platformPricingTitle": "Prezzi piattaforma",
|
||
"monthlyFeeLabel": "Canone mensile tenant",
|
||
"setupFeeLabel": "Spese di attivazione tenant",
|
||
"threemaMessageLabel": "Threema per messaggio",
|
||
"vatRateLabel": "Aliquota IVA (CH/LI)",
|
||
"save": "Salva",
|
||
"saving": "Salvataggio…",
|
||
"savedOk": "Salvato",
|
||
"skillPricingTitle": "Prezzi dei pacchetti",
|
||
"skillPricingDesc": "Tariffa giornaliera e spese di attivazione una tantum per qualsiasi pacchetto — core, canale o skill. La tariffazione si applica a ogni tenant che attiva il pacchetto.",
|
||
"skillCol": "Pacchetto",
|
||
"dailyPriceCol": "Prezzo/giorno",
|
||
"actionsCol": "",
|
||
"remove": "Rimuovi",
|
||
"noSkillsPriced": "Nessun pacchetto con prezzo.",
|
||
"addSkillLabel": "Aggiungi pacchetto",
|
||
"dailyPriceLabel": "Prezzo/giorno",
|
||
"add": "Aggiungi",
|
||
"confirmDeleteSkillPrice": "Rimuovere la tariffazione per {skill}? I periodi già fatturati non sono influenzati.",
|
||
"clickToEdit": "Clicca per modificare",
|
||
"generateFormTitle": "Genera fattura",
|
||
"noOrgsToGenerate": "Nessuna organizzazione con tenant trovata.",
|
||
"orgLabel": "Organizzazione",
|
||
"noBillingAddrTag": "nessun indirizzo di fatturazione",
|
||
"noBillingAddrWarning": "Questa organizzazione non ha un indirizzo di fatturazione registrato. Il cliente deve completare /settings/billing prima che una fattura possa essere emessa.",
|
||
"tenantsLabel": "tenant",
|
||
"yearLabel": "Anno",
|
||
"monthLabel": "Mese",
|
||
"localeLabel": "Lingua PDF",
|
||
"localeAuto": "Auto",
|
||
"previewBtn": "Anteprima",
|
||
"commitBtn": "Conferma & emetti",
|
||
"computing": "Calcolo…",
|
||
"confirmGenerate": "Emettere questa fattura? L'operazione assegna un numero di fattura e genera il PDF.",
|
||
"previewTitle": "Anteprima bozza",
|
||
"warningsTitle": "Avvisi",
|
||
"noLinesGenerated": "Nessuna riga fatturabile per questo periodo.",
|
||
"descCol": "Descrizione",
|
||
"qtyCol": "Qtà",
|
||
"unitPriceCol": "Prezzo unitario",
|
||
"amountCol": "Importo (CHF)",
|
||
"subtotal": "Subtotale",
|
||
"vat": "IVA",
|
||
"total": "Totale",
|
||
"statusFilterLabel": "Stato",
|
||
"allStatuses": "Tutti",
|
||
"monthFilterLabel": "Periodo",
|
||
"clearFilter": "Pulisci",
|
||
"loading": "Caricamento…",
|
||
"noInvoicesFound": "Nessuna fattura corrisponde ai filtri.",
|
||
"invoiceNumberCol": "Numero",
|
||
"orgCol": "Organizzazione",
|
||
"periodCol": "Periodo",
|
||
"statusCol": "Stato",
|
||
"totalCol": "Totale",
|
||
"dueCol": "Scadenza",
|
||
"status_draft": "Bozza",
|
||
"status_open": "Aperta",
|
||
"status_paid": "Pagata",
|
||
"status_overdue": "Scaduta",
|
||
"status_void": "Annullata",
|
||
"status_uncollectible": "Inesigibile",
|
||
"dueOnLabel": "Scadenza",
|
||
"totalLabel": "Totale",
|
||
"downloadPdfBtn": "Scarica PDF",
|
||
"markPaidBtn": "Segna come pagata",
|
||
"paidNotePlaceholder": "Nota opzionale (es. riferimento bancario, data di pagamento)",
|
||
"confirm": "Conferma",
|
||
"cancel": "Annulla",
|
||
"deleteBtn": "Elimina",
|
||
"deleting": "Eliminazione…",
|
||
"deleteHint": "Eliminazione definitiva (strumento di test). Il numero rimane consumato.",
|
||
"confirmDeleteInvoice": "Eliminare la fattura {num}? Eliminazione definitiva — il numero rimane consumato.",
|
||
"paidOnLabel": "Pagata il",
|
||
"lineItemsTitle": "Righe",
|
||
"billToSnapshotTitle": "Destinatario",
|
||
"setupFeeCol": "Spese di attivazione",
|
||
"skillSetupFeeLabel": "Spese di attivazione",
|
||
"status_partially_refunded": "Rimborsata parzialmente",
|
||
"status_fully_refunded": "Rimborsata integralmente",
|
||
"voidBtn": "Annulla",
|
||
"voidReasonPlaceholder": "Motivo dell'annullamento (stampato sulla nota di credito)",
|
||
"voidReasonRequired": "Indicare un motivo per l'annullamento.",
|
||
"confirmVoid": "Conferma annullamento",
|
||
"voidedOnLabel": "Annullata",
|
||
"refundBtn": "Rimborsa",
|
||
"refundReasonPlaceholder": "Motivo del rimborso (stampato sulla nota di credito)",
|
||
"refundReasonRequired": "Indicare un motivo per il rimborso.",
|
||
"refundAmountInvalid": "L'importo del rimborso deve essere un numero positivo.",
|
||
"refundAmountExceeds": "L'importo supera il residuo rimborsabile di CHF {max}.",
|
||
"refundRemainingHint": "Residuo rimborsabile: CHF {max}",
|
||
"confirmRefund": "Conferma rimborso",
|
||
"refundedTotalLabel": "Rimborsato",
|
||
"refundedRemainingLabel": "Residuo rimborsabile",
|
||
"creditNotesPanelTitle": "Note di credito",
|
||
"creditNoteNumberHeader": "Numero",
|
||
"creditNoteKindHeader": "Tipo",
|
||
"creditNoteAmountHeader": "Importo",
|
||
"creditNoteReasonHeader": "Motivo",
|
||
"creditNoteIssuedHeader": "Emessa",
|
||
"creditNotePdfHeader": "PDF",
|
||
"creditNoteKind_void": "Annullamento",
|
||
"creditNoteKind_refund": "Rimborso",
|
||
"creditNoteNoPdf": "—",
|
||
"refundAmountLabel": "Importo",
|
||
"refundReasonLabel": "Motivo",
|
||
"refundAmountInclVatHint": "IVA inclusa",
|
||
"newInvoiceBtn": "Nuova fattura",
|
||
"draftsLink": "Bozze",
|
||
"backToDrafts": "Torna alle bozze",
|
||
"newInvoicePageTitle": "Nuova fattura",
|
||
"newInvoicePageSubtitle": "Scegli il cliente da fatturare. Aggiungerai le righe nel passaggio successivo.",
|
||
"newInvoiceOrgLabel": "Cliente",
|
||
"newInvoiceOrgPlaceholder": "— seleziona cliente —",
|
||
"newInvoiceOrgNoBilling": "nessun indirizzo di fatturazione",
|
||
"newInvoiceOrgBillingMissing": "Questo cliente non ha un indirizzo di fatturazione registrato. Chiedi al cliente di completare l'onboarding o imposta i dati dal pannello admin prima di emettere.",
|
||
"newInvoiceLocaleLabel": "Lingua del documento",
|
||
"newInvoiceOrgRequired": "Selezionare un cliente.",
|
||
"newInvoiceContinueBtn": "Continua",
|
||
"creating": "Creazione…",
|
||
"draftsPageTitle": "Bozze di fatture",
|
||
"draftsPageSubtitle": "Fatture personalizzate in corso. Riprendi la modifica o scarta.",
|
||
"draftsEmpty": "Ancora nessuna bozza. Inizia una nuova fattura.",
|
||
"draftOrgCol": "Cliente",
|
||
"draftIssueDateCol": "Data emissione",
|
||
"draftLinesCol": "Righe",
|
||
"draftSubtotalCol": "Subtotale (stima)",
|
||
"draftUpdatedCol": "Modificato",
|
||
"draftActionsCol": "Azioni",
|
||
"draftDeleteConfirm": "Scartare questa bozza? Operazione irreversibile.",
|
||
"editBtn": "Modifica",
|
||
"editorPageTitle": "Modifica bozza di fattura",
|
||
"editorBillToHeading": "Destinatario",
|
||
"editorNoBillingSnapshot": "Nessun indirizzo di fatturazione per questo cliente. L'emissione fallirà finché i dati di fatturazione non saranno impostati.",
|
||
"editorMetadataHeading": "Dettagli fattura",
|
||
"editorIssueDateLabel": "Data emissione",
|
||
"editorDueDateLabel": "Data scadenza",
|
||
"editorLocaleLabel": "Lingua del documento",
|
||
"editorPaymentMethodLabel": "Metodo di pagamento",
|
||
"editorPaymentInvoice": "Bonifico (fattura)",
|
||
"editorPaymentCard": "Carta di credito (Stripe)",
|
||
"editorLinesHeading": "Voci",
|
||
"editorLineDescription": "Descrizione",
|
||
"editorLineDescriptionPlaceholder": "es. Ore di consulenza, integrazione su misura, …",
|
||
"editorLineQty": "Q.tà",
|
||
"editorLineUnitPrice": "Prezzo unitario",
|
||
"editorLineAmount": "Importo",
|
||
"editorLineRemove": "Rimuovi riga",
|
||
"editorAddLine": "Aggiungi riga",
|
||
"editorAddDiscount": "Aggiungi sconto",
|
||
"editorAddDiscountHint": "Aggiunge una riga con prezzo unitario negativo. Modifica descrizione e importo se necessario.",
|
||
"editorRabattDefaultDescription": "Sconto",
|
||
"editorNotesHeading": "Note interne",
|
||
"editorNotesPlaceholder": "Note visibili solo all'admin (non sul PDF)",
|
||
"editorNotesHint": "Non mostrato al cliente.",
|
||
"editorTotalsHeading": "Totali (stima)",
|
||
"editorSubtotal": "Subtotale",
|
||
"editorVat": "IVA",
|
||
"editorTotal": "Totale",
|
||
"editorTotalsEstimateNote": "Stima basata sul paese del cliente. L'IVA finale è calcolata all'emissione.",
|
||
"editorSaveBtn": "Salva bozza",
|
||
"editorSavedBtn": "Salvato",
|
||
"editorPreviewBtn": "Anteprima PDF",
|
||
"editorIssueBtn": "Emetti fattura",
|
||
"editorDeleteBtn": "Scarta bozza",
|
||
"editorIssueConfirm": "Emettere questa fattura ora? Verrà assegnato un numero di fattura, il PDF sarà inviato al cliente e questa bozza verrà rimossa.",
|
||
"editorDeleteConfirm": "Scartare questa bozza? Operazione irreversibile.",
|
||
"previewing": "Apertura…",
|
||
"issuing": "Emissione…",
|
||
"orgsTitle": "Fatturazione cliente",
|
||
"orgsDesc": "Modalità di pagamento + pagamento auto. per cliente",
|
||
"orgsPageTitle": "Modalità di fatturazione clienti",
|
||
"orgsPageSubtitle": "Override della modalità di pagamento per singoli clienti. Il pagamento tramite bonifico sostituisce l'addebito automatico su carta; mettere in pausa il pagamento automatico mantiene la carta salvata ma interrompe i tentativi di addebito (utile in caso di contestazioni).",
|
||
"orgsEmpty": "Ancora nessun cliente.",
|
||
"orgsColCustomer": "Cliente",
|
||
"orgsColCard": "Carta salvata",
|
||
"orgsColPayByInvoice": "Pagamento tramite bonifico",
|
||
"orgsColAutoCharge": "Pagamento automatico",
|
||
"orgsNoSavedCard": "nessuna",
|
||
"orgsPayByInvoiceOn": "attivo",
|
||
"orgsPayByInvoiceOff": "disattivo",
|
||
"orgsAutoChargeOn": "attivo",
|
||
"orgsAutoChargeOff": "disattivo"
|
||
},
|
||
"skillCostDialog": {
|
||
"title": "Conferma costi di attivazione",
|
||
"intro": "L'attivazione di {skill} comporterà i seguenti costi:",
|
||
"setupFeeLabel": "Spese di attivazione",
|
||
"setupFeeNote": "Una tantum, addebitate solo alla prima attivazione",
|
||
"monthlyPriceLabel": "Prezzo mensile",
|
||
"monthlyPriceNote": "CHF {daily}/giorno attivo; mesi parziali calcolati al giorno",
|
||
"monthUnit": "mese",
|
||
"disclaimer": "Questi costi appariranno sulla prossima fattura mensile. Confermando accetti di sostenerli.",
|
||
"cancel": "Annulla",
|
||
"confirm": "Conferma & attiva",
|
||
"confirming": "Attivazione…"
|
||
},
|
||
"adminSkills": {
|
||
"title": "Coda di attivazione",
|
||
"subtitle": "Richieste dei clienti per attivare pacchetti che richiedono configurazione manuale lato piattaforma. Approva quando la configurazione è pronta; rifiuta con motivazione se l'attivazione non è possibile.",
|
||
"backToAdmin": "Torna ad amministrazione",
|
||
"emptyQueue": "Nessuna richiesta di attivazione skill in attesa.",
|
||
"requestedAtCol": "Richiesta",
|
||
"skillCol": "Skill",
|
||
"tenantCol": "Tenant",
|
||
"orgCol": "Organizzazione",
|
||
"actionsCol": "",
|
||
"approveBtn": "Approva",
|
||
"rejectBtn": "Rifiuta",
|
||
"confirmRejectBtn": "Conferma rifiuto",
|
||
"working": "In corso…",
|
||
"cancel": "Annulla",
|
||
"reasonLabel": "Motivo (mostrato al cliente)",
|
||
"reasonPlaceholder": "Spiega perché l'attivazione non può procedere — es. dati cliente mancanti, hardware non disponibile, ecc.",
|
||
"reasonRequired": "Un motivo è necessario per rifiutare."
|
||
},
|
||
"customerBilling": {
|
||
"title": "Fatturazione",
|
||
"subtitle": "Periodo corrente e cronologia delle fatture. Le fatture emesse sono disponibili come download PDF.",
|
||
"backToBilling": "Torna alla fatturazione",
|
||
"currentPeriodHeading": "Periodo corrente",
|
||
"historyHeading": "Cronologia fatture",
|
||
"computing": "Calcolo del totale del periodo corrente…",
|
||
"currentPeriodError": "Impossibile caricare il totale del periodo corrente. Riprova più tardi.",
|
||
"noBillingConfig": "I dati di fatturazione non sono ancora configurati. Una volta registrato l'indirizzo di fatturazione della tua organizzazione, il totale corrente apparirà qui.",
|
||
"accruedSoFar": "Accumulato questo mese",
|
||
"estimatedTotal": "Totale stimato",
|
||
"currentInvoiceIssued": "Mese corrente già fatturato",
|
||
"refresh": "aggiorna",
|
||
"breakdownToggle": "Mostra dettaglio ({count} voci)",
|
||
"draftNote": "Stima in tempo reale. La fattura finale può variare leggermente per arrotondamenti di fine mese, dati di utilizzo in ritardo o aggiustamenti manuali.",
|
||
"emptyHistory": "Nessuna fattura emessa ancora. Dopo la chiusura del primo mese, appariranno qui.",
|
||
"numberCol": "Numero",
|
||
"periodCol": "Periodo",
|
||
"dueCol": "Scadenza",
|
||
"totalCol": "Totale",
|
||
"statusCol": "Stato",
|
||
"descriptionCol": "Descrizione",
|
||
"qtyCol": "Qtà",
|
||
"unitCol": "Prezzo unitario",
|
||
"amountCol": "Importo",
|
||
"billedToLabel": "Fatturato a",
|
||
"issuedAtLabel": "Emessa il",
|
||
"dueAtLabel": "Scadenza",
|
||
"paidAtLabel": "Pagata il",
|
||
"subtotalLabel": "Subtotale",
|
||
"vatLabel": "IVA ({rate}%)",
|
||
"totalLabel": "Totale",
|
||
"downloadPdf": "Scarica PDF",
|
||
"status": {
|
||
"draft": "Bozza",
|
||
"open": "Aperta",
|
||
"paid": "Pagata",
|
||
"overdue": "In ritardo",
|
||
"void": "Annullata",
|
||
"uncollectible": "Inesigibile",
|
||
"partially_refunded": "Rimborsata parzialmente",
|
||
"fully_refunded": "Rimborsata integralmente"
|
||
},
|
||
"payWithCard": "Paga con carta",
|
||
"redirectingToStripe": "Reindirizzamento…",
|
||
"paymentReceived": "Pagamento ricevuto — grazie!",
|
||
"paymentCancelled": "Pagamento annullato.",
|
||
"configureBillingCta": "Configura dati di fatturazione",
|
||
"noBillingConfigNonOwner": "Solo il proprietario dell'organizzazione può configurare i dati di fatturazione. Contattalo per completare questo passaggio.",
|
||
"creditNotesHeading": "Note di credito",
|
||
"creditNoteNumberCol": "Nota di credito",
|
||
"creditNoteInvoiceCol": "Fattura",
|
||
"creditNoteIssuedCol": "Emessa",
|
||
"creditNoteAmountCol": "Importo",
|
||
"creditNoteKindCol": "Tipo",
|
||
"creditNotePdfCol": "PDF",
|
||
"creditNoteKind_void": "Annullamento",
|
||
"creditNoteKind_refund": "Rimborso",
|
||
"creditNoteNoPdf": "PDF non disponibile"
|
||
},
|
||
"adminCron": {
|
||
"title": "Automazione fatturazione",
|
||
"subtitle": "Emissione mensile e invio quotidiano dei solleciti. Entrambi vengono eseguiti automaticamente; usa i pulsanti sotto per avviare un'esecuzione su richiesta.",
|
||
"monthlyIssue": "Emissione mensile",
|
||
"reminders": "Solleciti",
|
||
"scheduleIssueLabel": "Pianificazione",
|
||
"scheduleIssueValue": "00:30 Europe/Zurich il 1°",
|
||
"scheduleReminderLabel": "Pianificazione",
|
||
"scheduleReminderValue": "09:00 Europe/Zurich quotidianamente",
|
||
"lastSuccess": "Ultimo successo",
|
||
"never": "mai",
|
||
"runIssueNow": "Fattura il mese scorso ora",
|
||
"runRemindersNow": "Avvia solleciti ora",
|
||
"running": "In corso…",
|
||
"flashIssueOk": "Emissione completata: {success} fatture emesse, {skipped} ignorate, {failure} fallite.",
|
||
"flashRemindersOk": "Solleciti inviati: {success} riusciti, {skipped} ignorati, {failure} falliti.",
|
||
"recentRuns": "Esecuzioni recenti (ultime 30)",
|
||
"noRunsYet": "Nessuna esecuzione automatica registrata.",
|
||
"startedCol": "Avviata",
|
||
"kindCol": "Tipo",
|
||
"triggeredByCol": "Avviata da",
|
||
"okCol": "OK",
|
||
"skipCol": "Ignorati",
|
||
"failCol": "Falliti",
|
||
"triggeredByCron": "cron",
|
||
"kind": {
|
||
"monthly_issue": "Emissione",
|
||
"reminders": "Solleciti"
|
||
},
|
||
"failureBannerTitle": "Fallimenti recenti rilevati",
|
||
"failureBannerBody": "{count} esecuzione/i recente/i hanno segnalato almeno un fallimento. Controlla la tabella sotto — le righe interessate sono in rosso."
|
||
},
|
||
"settingsProfile": {
|
||
"title": "Profilo",
|
||
"subtitle": "Il tuo nome visualizzato come appare nel portale, nelle richieste tenant e nei ticket di supporto.",
|
||
"subtitlePersonal": "Il tuo nome visualizzato come appare nel portale. Per modificare il tuo nome in fattura, modificalo in Dati di fatturazione.",
|
||
"firstNameLabel": "Nome",
|
||
"lastNameLabel": "Cognome",
|
||
"emailLabel": "E-mail",
|
||
"emailReadOnlyHint": "L'e-mail non può essere modificata qui. Usa le impostazioni self-service del tuo provider di identità.",
|
||
"personalAccountHint": "Questo è un account personale. Modificare il tuo nome qui NON cambia come appare in fattura — modificalo separatamente in Dati di fatturazione.",
|
||
"companyAccountHint": "Sei connesso come membro di {orgName}.",
|
||
"saveChanges": "Salva modifiche",
|
||
"saving": "Salvataggio…",
|
||
"saved": "Salvato.",
|
||
"missingRequired": "Nome e cognome sono obbligatori."
|
||
}
|
||
}
|