1024 lines
58 KiB
JSON
1024 lines
58 KiB
JSON
{
|
||
"common": {
|
||
"appName": "PieCed",
|
||
"tagline": "Piattaforma IA",
|
||
"login": "Acceda",
|
||
"logout": "Esci",
|
||
"menu": "Menu",
|
||
"dashboard": "Dashboard",
|
||
"admin": "Admin",
|
||
"loading": "Caricamento…",
|
||
"language": "Lingua",
|
||
"cancel": "Annulli",
|
||
"save": "Salvi",
|
||
"error": "Si è verificato un errore",
|
||
"register": "Registrati",
|
||
"team": "Team",
|
||
"settings": "Impostazioni",
|
||
"optional": "facoltativo",
|
||
"support": "Supporto",
|
||
"billing": "Fatturazione"
|
||
},
|
||
"login": {
|
||
"title": "Portale PieCed",
|
||
"subtitle": "Acceda per gestire il suo assistente IA",
|
||
"button": "Continui con ZITADEL",
|
||
"footer": "Ospitato on-premises in Svizzera",
|
||
"noAccount": "Non ha ancora un account?",
|
||
"register": "Crei un account"
|
||
},
|
||
"register": {
|
||
"title": "Crei il suo 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": "Ha già un account?",
|
||
"footer": "I suoi dati sono ospitati esclusivamente on-premises in Svizzera.",
|
||
"successTitle": "Registrazione ricevuta",
|
||
"successDescription": "Riceverà un'e-mail di invito con un link per impostare la password e verificare il suo indirizzo e-mail. Dopodiché potrà accedere e configurare il suo assistente IA.",
|
||
"goToLogin": "Vada all'accesso",
|
||
"duplicateDomain": "Un account per il dominio e-mail {domain} è già registrato. Contatti l'amministratore della sua azienda per essere invitato, oppure contatti il supporto PieCed IT se ritiene che si tratti di un errore.",
|
||
"individualToggle": "Registrati come privato",
|
||
"individualHint": "Selezioni questa opzione se non Le sta registrando per conto di un'azienda. Il suo 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.",
|
||
"languageLabel": "Lingua"
|
||
},
|
||
"onboarding": {
|
||
"loading": "Caricamento stato…",
|
||
"welcomeTitle": "Configura il suo assistente IA",
|
||
"welcomeDescription": "In pochi passaggi avrà il suo assistente IA — ospitato esclusivamente in Svizzera, completamente sotto il suo controllo.",
|
||
"welcomeFeature_swissHosted": "Ospitato on-premises in Svizzera — i suoi dati non lasciano mai il Paese",
|
||
"welcomeFeature_privacy": "Nessun dato condiviso con terzi — privacy completi",
|
||
"welcomeFeature_customizable": "Personalità, pacchetti e integrazioni completamente personalizzabili",
|
||
"getStarted": "Inizi",
|
||
"configureTitle": "Configura il suo assistente",
|
||
"configureDescription": "Dia un nome e una personalità al suo assistente. Può sempre modificarli in seguito.",
|
||
"agentName": "Nome agente",
|
||
"soulMd": "Personalità (SOUL.md)",
|
||
"soulMdHint": "Definisce il comportamento del suo assistente. Formato Markdown. Modificabile in seguito.",
|
||
"agentsMd": "Istruzioni agente (AGENTS.md)",
|
||
"agentsMdHint": "Definisce cosa fa il suo 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. Può attivarli anche in seguito.",
|
||
"billingTitle": "Informazioni di fatturazione",
|
||
"billingDescription": "Abbiamo bisogno del suo 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": "Verifichi e invii",
|
||
"confirmDescription": "Verifichi la sua configurazione. La sua richiesta verrà esaminata dal nostro team prima dell'attivazione.",
|
||
"confirmNote": "Dopo l'invio, il nostro team esaminerà la sua richiesta e i dati di fatturazione. Riceverà l'accesso dopo l'approvazione — di solito entro un giorno lavorativo.",
|
||
"credentialsProvided": "Credenziali fornite",
|
||
"submitRequest": "Invii richiesta",
|
||
"back": "Indietro",
|
||
"next": "Avanti",
|
||
"pendingTitle": "Richiesta inviata",
|
||
"pendingDescription": "La sua richiesta è stata inviata ed è in fase di esame da parte del nostro team. Riceverà l'accesso dopo l'approvazione — di solito entro un giorno lavorativo.",
|
||
"rejectedTitle": "Richiesta non approvata",
|
||
"rejectedDescription": "Purtroppo la sua richiesta non è stata approvata. Contattaci per ulteriori informazioni.",
|
||
"provisioningTitle": "Configurazione dell'istanza",
|
||
"provisioningDescription": "Il suo assistente IA è in fase di attivazione. Di solito richiede pochi minuti.",
|
||
"phase": "Fase",
|
||
"readyTitle": "Il suo assistente è pronto!",
|
||
"readyDescription": "Il tuo assistente IA è stato provisionato ed è in funzione. Ora collegalo alla tua app di messaggistica per iniziare a chattare.",
|
||
"goToDashboard": "Vada 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 — usi il nome dell'azienda)",
|
||
"reviewNoPackages": "Nessuno selezionato",
|
||
"reviewBillingTo": "Fatturare a",
|
||
"reviewContactEmail": "Email di contatto",
|
||
"editRequestTitle": "Modifichi la sua richiesta",
|
||
"editRequestDescription": "Modifichi la configurazione prima che il nostro team la esamini.",
|
||
"editRequest": "Modifichi",
|
||
"cancelRequest": "Annulli richiesta",
|
||
"cancelRequestConfirm": "Sì, annulli 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": "Salvi modifiche",
|
||
"billingVatNumber": "Partita IVA",
|
||
"billingVatHelp": "Il suo identificativo IVA registrato. Se la sua 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.",
|
||
"setupFeeNoticeHeading": "Le spese di attivazione saranno addebitate all'invio",
|
||
"setupFeeNoticeBody": "Al clic successivo sarà reindirizzato a Stripe per inserire i dati di pagamento e pagare le spese di attivazione una tantum. La sua carta viene salvata automaticamente per la fatturazione mensile futura. Tornerà subito alla dashboard. L'istanza si avvia solo dopo l'approvazione dell'admin — i canoni mensili decorrono dalla data di approvazione.",
|
||
"setupFeeAmountLabel": "Spese di attivazione una tantum",
|
||
"setupFeePlusVat": "+ IVA",
|
||
"optional": "facoltativo",
|
||
"yourChannelIdLabel": {
|
||
"telegram": "Il suo ID utente Telegram",
|
||
"discord": "Il suo ID utente Discord",
|
||
"threema": "Il suo ID Threema"
|
||
},
|
||
"yourChannelIdPlaceholder": {
|
||
"telegram": "es. 1234567890",
|
||
"discord": "es. 234567890123456789",
|
||
"threema": "es. ABCD1234"
|
||
},
|
||
"yourChannelIdHelp": {
|
||
"telegram": "Apra Telegram, scriva a @userinfobot e incolli qui l'ID numerico restituito. Potrà aggiungere altri utenti in seguito dalla pagina del tenant.",
|
||
"discord": "Attivi la Modalità sviluppatore in Discord (Impostazioni avanzate), clic destro sul suo nome → Copia ID utente, poi incolli qui. Potrà aggiungere altri utenti in seguito dalla pagina del tenant.",
|
||
"threema": "Gli 8 caratteri mostrati nella sua app Threema in Impostazioni → Il mio ID Threema. Una volta approvato il suo tenant e attivato Threema, potrà chattare con l'assistente da questo account. Altri ID autorizzati possono essere aggiunti in seguito dalla pagina del tenant."
|
||
},
|
||
"connectCta": "Collega il tuo assistente",
|
||
"packagesIncompleteHint": "Completa i dettagli richiesti per: {packages}",
|
||
"setupProgress": "Avanzamento configurazione",
|
||
"setupStepsComplete": "{done} di {total} passaggi",
|
||
"costSummaryHeading": "Quanto pagherai",
|
||
"costSetupLabel": "Attivazione una tantum",
|
||
"costMonthlyLabel": "Mensile, per assistente",
|
||
"costUsageNote": "Più i costi dell'IA in base all'utilizzo, fatturati mensilmente in CHF. Puoi impostare un limite di spesa per assistente in qualsiasi momento."
|
||
},
|
||
"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 sua istanza di assistente IA per iniziare con PieCed IT.",
|
||
"manage": "Gestisca istanza e pacchetti",
|
||
"instances": "Le sue istanze",
|
||
"inflightRequests": "Richieste in corso",
|
||
"createInstance": "Crei nuova istanza",
|
||
"createInstanceDescription": "Effettua il provisioning di un'ulteriore istanza dell'assistente IA per la sua organizzazione. La richiesta sarà esaminata da un amministratore prima della creazione dell'istanza.",
|
||
"noAccessNoInstances": "La sua organizzazione non ha ancora istanze. Chieda al proprietario dell'organizzazione di configurarne una.",
|
||
"noAssignmentsTitle": "Nessuna istanza assegnata",
|
||
"noAssignmentsDescription": "La sua organizzazione ha delle istanze, ma non Le è stato concesso l'accesso a nessuna di esse. Chieda al proprietario della sua organizzazione di assegnarLa a un'istanza.",
|
||
"noInstancesYetTitle": "Nessuna istanza ancora",
|
||
"noInstancesYetDescription": "La sua organizzazione non ha ancora istanze. Chieda al proprietario della sua 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": "Annulli abbonamento",
|
||
"cancelSubscriptionConfirm": "Sì, annulli",
|
||
"resumeSubscription": "Riprenda 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 Riprenda in fondo a questa pagina per riportarlo online.",
|
||
"requestReactivation": "Richieda riattivazione",
|
||
"requestReactivationConfirmTitle": "Richiedere la riattivazione?",
|
||
"requestReactivationConfirmDescription": "Un amministratore esaminerà la sua richiesta e riattiverà il suo tenant. Riceverà un'email non appena la richiesta sarà approvata.",
|
||
"requestReactivationConfirm": "Invii richiesta",
|
||
"cancelResumeRequest": "Annulli richiesta",
|
||
"resumeRequestPendingTitle": "Richiesta di riattivazione in sospeso",
|
||
"resumeRequestPendingDescription": "Inviata {when}. Un amministratore la esaminerà a breve.",
|
||
"resumeRequestPendingNoteAdmin": "Un proprietario ha richiesto la riattivazione; può riprendere direttamente sopra o elaborare la richiesta dalla coda di amministrazione.",
|
||
"cancelConfirmRetentionWarning": "I suoi 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": "Modifichi",
|
||
"budgetEditTitle": "Imposti budget",
|
||
"budgetEditDescription": "Limiti quanto gli assistenti di questo tenant possono spendere prima che le richieste vengano rifiutate.",
|
||
"budgetModeUnlimited": "Nessun limite",
|
||
"budgetModeUnlimitedDescription": "Spesa libera, nessun tetto.",
|
||
"budgetModeCapped": "Imposti 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": "Inserisca un importo positivo.",
|
||
"budgetSaveFailed": "Impossibile salvare il budget. Riprova.",
|
||
"legendInput": "Input",
|
||
"legendOutput": "Output",
|
||
"chartHint": "Tocca una barra per i dettagli"
|
||
},
|
||
"workspace": {
|
||
"save": "Salvi",
|
||
"placeholder": "Inserisca 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 attivi un aggiornamento del ConfigMap e un riavvio del pod."
|
||
},
|
||
"packages": {
|
||
"categories": {
|
||
"channels": "Canali",
|
||
"skills": "Capacità",
|
||
"core": "Core"
|
||
},
|
||
"enable": "Attivi",
|
||
"disable": "Disattivi",
|
||
"enableAndSave": "Attivi e salvi",
|
||
"configure": "Configura",
|
||
"requiresApiKey": "Richiede chiave API",
|
||
"missingFields": "Compilare tutti i campi obbligatori.",
|
||
"status": {
|
||
"pending": "In attesa",
|
||
"active": "Attivo",
|
||
"error": "Errore"
|
||
},
|
||
"telegram": {
|
||
"description": "Collega il suo assistente IA a un bot Telegram.",
|
||
"botTokenLabel": "Token bot Telegram",
|
||
"botTokenPlaceholder": "123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11",
|
||
"instructions": "1. Apra @BotFather su Telegram\n2. Invii /newbot e segua le istruzioni\n3. Copi 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 suo assistente IA a un server Discord tramite un bot.",
|
||
"botTokenLabel": "Token bot Discord",
|
||
"botTokenPlaceholder": "MTAxNjQ0OTk2NjAz...",
|
||
"instructions": "1. Vada su discord.com/developers/applications\n2. Crei una nuova applicazione e aggiunga un bot\n3. Copi 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 avvisarLa 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 salvi 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 suo 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. Apra https://github.com/settings/tokens\n2. Generi un token di accesso personale fine con gli ambiti repo desiderati\n3. Copi 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. Acceda alla sua istanza Gitea (predefinito https://git.c5ai.ch)\n2. Vada a Impostazioni → Applicazioni → Generi nuovo token\n3. Conceda gli ambiti desiderati (repo, issue, user)\n4. Copi 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. Cerchi 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 — contatti 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. Crei un client OAuth nel suo progetto Google Cloud, lo autorizzi 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 attivi automaticamente.",
|
||
"disclaimer": "Abilitando l'integrazione con Google Workspace autorizzi PieCed ad accedere per suo conto a Gmail, Calendar, Drive, Docs, Sheets e Contatti. I dati transitano attraverso le API di Google, soggetti ai termini di Google."
|
||
},
|
||
"mail": {
|
||
"description": "Legga, cerchi e gestisca le e-mail via IMAP; invii 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: abiliti la verifica in due passaggi, quindi crei una password per app su https://myaccount.google.com/apppasswords e la usi come password IMAP e SMTP.\n2. Per Outlook / Microsoft 365 con MFA: generi una password per app nelle impostazioni di sicurezza del suo account.\n3. Per altri provider: consulti 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 vuole limitare la portata."
|
||
},
|
||
"threema": {
|
||
"description": "Invii e riceva 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. Apra Threema sul suo telefono e scansioni il QR code mostrato qui sotto — lo faccia subito, così sarà pronto a chattare appena il suo tenant sarà operativo.\n2. Inserisca il suo ID Threema nel campo qui sotto (gli 8 caratteri da Impostazioni → Il mio ID Threema nell'app Threema) affinché l'assistente accetti i suoi messaggi.\n3. Una volta che il suo tenant è approvato e operativo, invii 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 suo assistente. Ogni messaggio inviato o ricevuto viene addebitato da Threema secondo la sua tariffa per messaggio — consulti il suo 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",
|
||
"threemaBotIdHeading": "ID Threema del bot",
|
||
"threemaBotIdHint": "Questo è l'ID Threema dell'assistente — identico per ogni tenant PieCed. Scansioni il QR ora con la sua app Threema, così sarà pronto non appena il suo tenant verrà approvato e Threema attivato.",
|
||
"showInfo": "Info",
|
||
"showInfoTitle": "Mostra di nuovo le info di setup"
|
||
},
|
||
"admin": {
|
||
"title": "Admin piattaforma",
|
||
"subtitle": "Gestisca 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": "Gestisca",
|
||
"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": "Annulli",
|
||
"confirmReject": "Rifiuta",
|
||
"viewTenant": "Visualizzi",
|
||
"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": "Riprenda",
|
||
"suspended": "Sospeso",
|
||
"suspendedBadge": "SOSPESO",
|
||
"deleteTenant": "Elimini",
|
||
"deleteTitle": "Elimini tenant",
|
||
"deleteWarning": "Questo eliminerà permanentemente il tenant, il suo namespace, i secrets e tutti i dati associati. Questa azione non può essere annullata.",
|
||
"confirmDelete": "Elimini 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": "Aggiorni",
|
||
"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",
|
||
"approveTitle": "Approvare la richiesta?",
|
||
"approveWarning": "Questa operazione effettua il provisioning dell'infrastruttura del tenant, addebita il costo di attivazione e notifica il cliente. Verifica che i dettagli della richiesta siano corretti prima di continuare.",
|
||
"approveReapproveWarning": "Questo riapprova una richiesta precedentemente rifiutata: effettua il provisioning dell'infrastruttura del tenant, addebita il costo di attivazione e notifica il cliente.",
|
||
"confirmApprove": "Approva e avvia provisioning",
|
||
"searchRequestsPlaceholder": "Cerca richieste…",
|
||
"searchTenantsPlaceholder": "Cerca tenant…",
|
||
"paginationPrev": "Precedente",
|
||
"paginationNext": "Successivo",
|
||
"paginationPage": "Pagina {page} di {total}",
|
||
"paginationCount": "{total} totali",
|
||
"noMatches": "Nessun risultato."
|
||
},
|
||
"channelUsers": {
|
||
"title": "Utenti autorizzati",
|
||
"description": "Gestisca quali utenti possono interagire con il suo assistente su ogni canale. Aggiunga il loro ID numerico per autorizzare l'accesso.",
|
||
"users": "utenti",
|
||
"placeholder": "Inserisca l'ID numerico…",
|
||
"add": "Aggiunga",
|
||
"remove": "Rimuovi",
|
||
"alreadyAdded": "Questo ID utente è già autorizzato.",
|
||
"telegramIdHelp": "Per trovare il suo ID Telegram:\n1. Apra Telegram e invii un messaggio a @userinfobot\n2. Risponde istantaneamente con il suo ID numerico\n3. Inserisca quel numero qui",
|
||
"discordIdHelp": "Per trovare il suo ID Discord:\n1. Attivi la Modalità sviluppatore nelle impostazioni Discord (Avanzate)\n2. Clic destro sul suo nome → Copia ID utente\n3. Inserisca quel numero qui",
|
||
"threemaIdHelp": "Inserisca il suo ID Threema — gli 8 caratteri mostrati nella sua app Threema sotto Impostazioni → Il mio ID Threema. Una volta aggiunto, potrà conversare con l'assistente direttamente da Threema.",
|
||
"threemaSetup": {
|
||
"title": "Aggiunga l'assistente a Threema",
|
||
"step1": "Apra Threema sul suo telefono.",
|
||
"step2": "Tocchi l'icona di scansione e scansioni questo QR code per aggiungere l'assistente ai contatti.",
|
||
"step3": "Si assicuri che il suo ID Threema sia registrato come utente autorizzato così l'assistente accetterà i suoi messaggi.",
|
||
"qrAlt": "QR code per aggiungere {gateway} come contatto Threema",
|
||
"bannerTitle": "Configura Threema",
|
||
"bannerBody": "Apra Threema sul suo telefono e scansioni il nostro QR code per aggiungere l'assistente ai contatti. Inserisca poi il suo ID Threema qui sotto.",
|
||
"bannerButton": "Mostra QR code"
|
||
}
|
||
},
|
||
"team": {
|
||
"title": "Team",
|
||
"description": "Gestisca i membri della sua organizzazione. Invita colleghi e assegnali alle istanze.",
|
||
"inviteSectionTitle": "Invita un membro",
|
||
"membersSectionTitle": "Membri",
|
||
"noMembers": "Nessun membro ancora.",
|
||
"you": "Lei",
|
||
"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": "Invii 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": "Modifichi ruolo",
|
||
"roleUpdated": "Ruolo aggiornato.",
|
||
"roleUpdateFailed": "Impossibile aggiornare il ruolo.",
|
||
"cancel": "Annulli",
|
||
"save": "Salvi",
|
||
"selfChangeBlocked": "Non può modificare il suo ruolo.",
|
||
"accessTitle": "Panoramica accessi",
|
||
"accessDescription": "Quale membro può accedere a quale assistente.",
|
||
"accessMemberCol": "Membro",
|
||
"accessOwnerAll": "Tutti gli assistenti (proprietario)",
|
||
"accessHasLabel": "Accesso",
|
||
"accessHasNotLabel": "Nessun accesso",
|
||
"accessNoTenants": "Ancora nessun assistente.",
|
||
"accessLoadFailed": "Impossibile caricare la panoramica degli accessi."
|
||
},
|
||
"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": "Selezioni 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": "Gestisca la configurazione a livello di organizzazione, valida per tutti i suoi tenant.",
|
||
"billingTitle": "Fatturazione",
|
||
"billingDescription": "Indirizzo, numero di IVA ed e-mail di fatturazione usati per tutti i suoi tenant.",
|
||
"nothingForYou": "Al momento non c'è nulla qui per il suo ruolo. I proprietari possono gestire le impostazioni dell'organizzazione.",
|
||
"billingDescriptionPersonal": "Indirizzo ed e-mail di fatturazione usati per tutti i suoi tenant.",
|
||
"profileTitle": "Profilo",
|
||
"profileDescription": "Modifichi il suo nome e cognome come appaiono nel portale."
|
||
},
|
||
"settingsBilling": {
|
||
"title": "Dati di fatturazione",
|
||
"subtitle": "Indirizzo di fatturazione, partita IVA e contatto fatture della sua azienda. Necessari prima che possano essere emesse fatture per la sua 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": "Salvi modifiche",
|
||
"createBilling": "Salvi dati di fatturazione",
|
||
"saving": "Salvataggio…",
|
||
"saved": "Salvato.",
|
||
"missingRequired": "Compili tutti i campi obbligatori.",
|
||
"invalidCountry": "Il codice paese deve essere di 2 lettere (es. CH).",
|
||
"invalidEmail": "Inserisca un indirizzo e-mail valido.",
|
||
"fullNameLabel": "Nome e cognome",
|
||
"subtitlePersonal": "Il suo 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": "Aggiorni 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": "Disattivi pagamento automatico",
|
||
"savedCardEnableAutoChargeBtn": "Attivi 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": "Apra un ticket per fare una domanda, segnalare un bug o condividere un feedback. Le risposte verranno inviate alla sua email registrata.",
|
||
"titleAdmin": "Coda supporto",
|
||
"subtitleAdmin": "Ticket di tutti i clienti, attività più recente per prima.",
|
||
"newTicket": "Nuovo ticket",
|
||
"newTicketTitle": "Apra un ticket di supporto",
|
||
"newTicketSubtitle": "Ci racconti cosa succede. Più dettagli ci dà, più velocemente possiamo aiutarLa.",
|
||
"empty": "Non ha ancora aperto ticket.",
|
||
"emptyAdmin": "Nessun ticket di supporto in coda.",
|
||
"fieldCategory": "Categoria",
|
||
"fieldTitle": "Titolo",
|
||
"fieldDescription": "Descrizione",
|
||
"fieldStatus": "Stato",
|
||
"titlePlaceholder": "Breve riassunto della sua richiesta",
|
||
"descriptionPlaceholder": "Descriva cosa è successo, cosa Le aspettavi e qualsiasi messaggio d'errore visto.",
|
||
"descriptionHelp": "Può incollare messaggi d'errore e log. Niente password o altri segreti.",
|
||
"submitTicket": "Invii 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 sua risposta",
|
||
"status_resolved": "Risolto",
|
||
"status_reopened": "Riaperto",
|
||
"openedBy": "Aperto da {name} il {when}",
|
||
"authorTagAdmin": "Supporto PieCed",
|
||
"replyLabel": "Aggiunga una risposta",
|
||
"replyPlaceholder": "Il suo messaggio…",
|
||
"replyPlaceholderReopen": "Risposta (questo riaprirà il ticket)…",
|
||
"sendReply": "Invii risposta",
|
||
"commentFailed": "Impossibile inviare la risposta. Riprova.",
|
||
"closeTicket": "Segni come risolto",
|
||
"confirmClose": "Segnare questo ticket come risolto? Potrà riaprirlo in seguito rispondendo.",
|
||
"closeFailed": "Impossibile chiudere il ticket. Riprova.",
|
||
"resolvedBanner": "Questo ticket è risolto. Risponda qui sotto se ha 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": "Salvi 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": "Salvi override",
|
||
"clearOverride": "Rimuovi override"
|
||
},
|
||
"adminBilling": {
|
||
"title": "Amministrazione fatturazione",
|
||
"subtitle": "Gestire prezzi della piattaforma, generare fatture e verificare lo stato di fatturazione delle organizzazioni.",
|
||
"backToAdmin": "Torni ad amministrazione",
|
||
"backToBilling": "Torni alla fatturazione",
|
||
"backToInvoices": "Torni 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": "Generi fattura",
|
||
"generateDesc": "Calcolare ed emettere una fattura per organizzazione e mese.",
|
||
"generatePageDesc": "Scelga organizzazione, periodo e lingua. L'anteprima mostra le righe calcolate; confermi emette la fattura e generi il PDF.",
|
||
"invoicesTitle": "Fatture",
|
||
"invoicesDesc": "Sfogli le fatture, segni come pagate, scarichi i PDF.",
|
||
"invoicesPageDesc": "Tutte le fatture emesse dalla piattaforma. Usi il filtro di stato per concentrarsi 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": "Salvi",
|
||
"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 attivi il pacchetto.",
|
||
"skillCol": "Pacchetto",
|
||
"dailyPriceCol": "Prezzo/giorno",
|
||
"actionsCol": "",
|
||
"remove": "Rimuovi",
|
||
"noSkillsPriced": "Nessun pacchetto con prezzo.",
|
||
"addSkillLabel": "Aggiunga pacchetto",
|
||
"dailyPriceLabel": "Prezzo/giorno",
|
||
"add": "Aggiunga",
|
||
"confirmDeleteSkillPrice": "Rimuovere la tariffazione per {skill}? I periodi già fatturati non sono influenzati.",
|
||
"clickToEdit": "Clicchi per modificare",
|
||
"generateFormTitle": "Generi 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": "Confermi & emetti",
|
||
"computing": "Calcolo…",
|
||
"confirmGenerate": "Emettere questa fattura? L'operazione assegna un numero di fattura e generi 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": "Scarichi PDF",
|
||
"markPaidBtn": "Segni come pagata",
|
||
"paidNotePlaceholder": "Nota opzionale (es. riferimento bancario, data di pagamento)",
|
||
"confirm": "Confermi",
|
||
"cancel": "Annulli",
|
||
"deleteBtn": "Elimini",
|
||
"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": "Annulli",
|
||
"voidReasonPlaceholder": "Motivo dell'annullamento (stampato sulla nota di credito)",
|
||
"voidReasonRequired": "Indicare un motivo per l'annullamento.",
|
||
"confirmVoid": "Confermi 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": "Confermi 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": "Torni alle bozze",
|
||
"newInvoicePageTitle": "Nuova fattura",
|
||
"newInvoicePageSubtitle": "Scelga il cliente da fatturare. Aggiungerai le righe nel passaggio successivo.",
|
||
"newInvoiceOrgLabel": "Cliente",
|
||
"newInvoiceOrgPlaceholder": "— selezioni cliente —",
|
||
"newInvoiceOrgNoBilling": "nessun indirizzo di fatturazione",
|
||
"newInvoiceOrgBillingMissing": "Questo cliente non ha un indirizzo di fatturazione registrato. Chieda al cliente di completare l'onboarding o imposti i dati dal pannello admin prima di emettere.",
|
||
"newInvoiceLocaleLabel": "Lingua del documento",
|
||
"newInvoiceOrgRequired": "Selezionare un cliente.",
|
||
"newInvoiceContinueBtn": "Continui",
|
||
"creating": "Creazione…",
|
||
"draftsPageTitle": "Bozze di fatture",
|
||
"draftsPageSubtitle": "Fatture personalizzate in corso. Riprenda la modifichi o scarta.",
|
||
"draftsEmpty": "Ancora nessuna bozza. Inizi una nuova fattura.",
|
||
"draftOrgCol": "Cliente",
|
||
"draftIssueDateCol": "Data emissione",
|
||
"draftLinesCol": "Righe",
|
||
"draftSubtotalCol": "Subtotale (stima)",
|
||
"draftUpdatedCol": "Modificato",
|
||
"draftActionsCol": "Azioni",
|
||
"draftDeleteConfirm": "Scartare questa bozza? Operazione irreversibile.",
|
||
"editBtn": "Modifichi",
|
||
"editorPageTitle": "Modifichi 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": "Aggiunga riga",
|
||
"editorAddDiscount": "Aggiunga sconto",
|
||
"editorAddDiscountHint": "Aggiunge una riga con prezzo unitario negativo. Modifichi 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": "Salvi 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",
|
||
"newInvoiceOrgNoMatches": "Nessun cliente corrispondente."
|
||
},
|
||
"skillCostDialog": {
|
||
"title": "Confermi 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": "Annulli",
|
||
"confirm": "Confermi & attivi",
|
||
"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": "Torni ad amministrazione",
|
||
"emptyQueue": "Nessuna richiesta di attivazione skill in attesa.",
|
||
"requestedAtCol": "Richiesta",
|
||
"skillCol": "Skill",
|
||
"tenantCol": "Tenant",
|
||
"orgCol": "Organizzazione",
|
||
"actionsCol": "",
|
||
"approveBtn": "Approva",
|
||
"rejectBtn": "Rifiuta",
|
||
"confirmRejectBtn": "Confermi rifiuto",
|
||
"working": "In corso…",
|
||
"cancel": "Annulli",
|
||
"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": "Torni 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 sua organizzazione, il totale corrente apparirà qui.",
|
||
"accruedSoFar": "Accumulato questo mese",
|
||
"estimatedTotal": "Totale stimato",
|
||
"currentInvoiceIssued": "Mese corrente già fatturato",
|
||
"refresh": "aggiorni",
|
||
"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": "Scarichi 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; usi 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. Controlli la tabella sotto — le righe interessate sono in rosso."
|
||
},
|
||
"settingsProfile": {
|
||
"title": "Profilo",
|
||
"subtitle": "Il suo nome visualizzato come appare nel portale, nelle richieste tenant e nei ticket di supporto.",
|
||
"subtitlePersonal": "Il suo nome visualizzato come appare nel portale. Per modificare il suo nome in fattura, modificalo in Dati di fatturazione.",
|
||
"firstNameLabel": "Nome",
|
||
"lastNameLabel": "Cognome",
|
||
"emailLabel": "E-mail",
|
||
"emailReadOnlyHint": "L'e-mail non può essere modificata qui. Usi le impostazioni self-service del suo provider di identità.",
|
||
"personalAccountHint": "Questo è un account personale. Modificare il suo nome qui NON cambia come appare in fattura — modificalo separatamente in Dati di fatturazione.",
|
||
"companyAccountHint": "È connesso come membro di {orgName}.",
|
||
"saveChanges": "Salvi modifiche",
|
||
"saving": "Salvataggio…",
|
||
"saved": "Salvato.",
|
||
"missingRequired": "Nome e cognome sono obbligatori.",
|
||
"languageLabel": "Lingua",
|
||
"languageHint": "Usata come lingua dell'interfaccia dopo l'accesso."
|
||
},
|
||
"errors": {
|
||
"title": "Si è verificato un errore",
|
||
"description": "Si è verificato un errore durante il caricamento di questa pagina. Riprova.",
|
||
"retry": "Riprova",
|
||
"backToDashboard": "Torna alla dashboard",
|
||
"notFoundTitle": "Pagina non trovata",
|
||
"notFoundDescription": "La pagina che stai cercando non esiste o è stata spostata."
|
||
},
|
||
"connect": {
|
||
"title": "Collegati al tuo assistente",
|
||
"description": "Il tuo assistente funziona all'interno della tua app di messaggistica. Ecco come iniziare a chattare con lui.",
|
||
"notReadyNote": "Il tuo assistente è ancora in fase di configurazione. Questi dettagli di connessione funzioneranno non appena sarà pronto.",
|
||
"noChannelsTitle": "Nessun canale di messaggistica",
|
||
"noChannelsBody": "Il tuo assistente è in funzione ma non ha alcun canale per chattare. Attiva un canale — Threema, Telegram o Discord — nella sezione Pacchetti qui sotto per iniziare a usarlo.",
|
||
"threemaBotIdLabel": "ID Threema",
|
||
"threemaSteps": "1. Apri Threema e scansiona questo codice QR (oppure aggiungi l'ID sopra come contatto).\n2. Inviagli un messaggio per iniziare a chattare.\nAssicurati che il tuo ID Threema sia presente nell'elenco degli utenti autorizzati qui sotto: solo gli ID elencati ricevono una risposta.",
|
||
"telegramSteps": "Apri il bot Telegram che hai collegato e inviagli un messaggio per iniziare a chattare. Solo gli ID utente nell'elenco degli utenti autorizzati qui sotto ricevono una risposta.",
|
||
"discordSteps": "Scrivi al bot Discord che hai collegato, oppure menzionalo in un canale a cui si è unito. Solo gli ID utente nell'elenco degli utenti autorizzati qui sotto ricevono una risposta.",
|
||
"dismiss": "Mi sono collegato",
|
||
"show": "Mostra dettagli di connessione"
|
||
}
|
||
}
|