diff --git a/src/translation/it.json b/src/translation/it.json
new file mode 100644
index 000000000..01d556aee
--- /dev/null
+++ b/src/translation/it.json
@@ -0,0 +1,1069 @@
+{
+ "main": {
+ "dialog": {
+ "save": "Salva",
+ "close": "Chiudi",
+ "yes": "Si",
+ "cancel": "Annulla",
+ "no": "No"
+ },
+ "action": {
+ "logs": "Logs",
+ "reboot": "Riavvia il server"
+ },
+ "pagination": {
+ "perPageSelector": "Mostra {{ n }} per pagina",
+ "next": "succ.",
+ "prev": "prec."
+ },
+ "table": {
+ "date": "Data"
+ },
+ "actions": "Azioni",
+ "displayName": "Nome visualizzato",
+ "username": "Nome utente",
+ "logout": "Esci",
+ "offline": "Cloudron è offline. Riconnessione in corso…",
+ "rebootDialog": {
+ "rebootAction": "Riavvia ora",
+ "description": "Usa questo per applicare gli aggiornamenti di sicurezza o se hai riscontrato comportamenti inaspettati. Tutte le app e i servizi attivi attualmente su questo Cloudron saranno automaticamente riavviati quando il riavvio sarà completato.",
+ "warning": "Il riavvio del server causerà un downtime temporaneo di tutte le app installate su questo Cloudron!",
+ "title": "Vuoi davvero riavviare il server?"
+ },
+ "clipboard": {
+ "clickToCopyBackupId": "Clicca per copiare l'id del backup",
+ "clickToCopy": "Clicca per copiare",
+ "copied": "Copiato negli appunti"
+ }
+ },
+ "apps": {
+ "domainsFilterHeader": "Tutti i domini",
+ "tagsFilterHeaderAll": "Tutti i Tags",
+ "tagsFilterHeader": "Tags: {{ tags }}",
+ "stateFilterHeader": "Tutti gli stati",
+ "searchPlaceholder": "Cerca una App",
+ "infoActionTooltip": "Info",
+ "adminPageActionTooltip": "Pagina di amministrazione",
+ "logsActionTooltip": "Logs",
+ "configActionTooltip": "Configurazione",
+ "noAccess": {
+ "description": "Quando lo avrai fatto, le potrqi vedere qui.",
+ "title": "Non hai ancora accesso a nessuna app."
+ },
+ "noApps": {
+ "title": "Nessuna App è ancora installata!",
+ "description": "Perché non installare qualche app? Visita l'App Store"
+ },
+ "title": "Le mie Apps"
+ },
+ "volumes": {
+ "backupWarning": "I volumi non sono inclusi nel backup. Il ripristino di un'app non ripristinerà il contenuto del volume. Assicurati di avere un piano di backup adatto per ogni volume.",
+ "description": "I volumi sono delle cartelle sul server che possono essere condivise tra le app. Questi possono essere mount di tipo NFS / SSHFS o dischi di archiviazione esterni collegati al server.",
+ "removeVolumeDialog": {
+ "removeAction": "Cancella",
+ "description": "Questo cancellerà il volume {{ volume }}. I dati all'interno del percorso host non verranno rimossi.",
+ "title": "Vuoi davvero cancellare {{ volume }} ?"
+ },
+ "addVolumeDialog": {
+ "addAction": "Aggiungi",
+ "nameWarning": "Cloudron monterà il percorso host nel container dell'app con questo nome in /media.",
+ "title": "Aggiungi un volume"
+ },
+ "removeVolumeActionTooltip": "Rimuovi un volume",
+ "openFileManagerActionTooltip": "Apri il filemanager",
+ "name": "Nome",
+ "hostPath": "Percorso host",
+ "addVolumeAction": "Aggiungi un volume",
+ "title": "Volumi"
+ },
+ "lang": {
+ "nl": "Olandese",
+ "it": "Italiano",
+ "fr": "Francese",
+ "de": "Tedesco",
+ "en": "Inglese"
+ },
+ "passwordResetEmail": {
+ "subject": "Reimpostazione della password per [<%= cloudron %>]",
+ "resetActionText": "Per reimpostare la password, segui questo link: <%- resetLink %>",
+ "expireNote": "Tieni presente che il link per la reimpostazione della password scadrà tra 24 ore.",
+ "resetAction": "Clicca per reimpostare la password",
+ "description": "Qualcuno, si spera tu, ha richiesto il ripristino della password del tuo account. Se non hai richiesto il ripristino, ignora questo messaggio.",
+ "salutation": "Ciao <%= user %>,"
+ },
+ "welcomeEmail": {
+ "subject": "Benvenuto/a in <%= cloudron %>",
+ "inviteLinkActionText": "Segui questo link per iniziare: <%- inviteLink %>",
+ "expireNote": "Tieni presente che il link di invito scadrà tra 7 giorni.",
+ "invitor": "Hai ricevuto questa email perché sei stato invitato da <%= invitor %>.",
+ "inviteLinkAction": "Iniziamo",
+ "salutation": "Ciao <%= user %>,",
+ "welcomeTo": "Benvenuto/a in <%= cloudronName %>!"
+ },
+ "setupAccount": {
+ "success": {
+ "openDashboardAction": "Apri la dashboard",
+ "title": "Il tuo account è pronto"
+ },
+ "invalidToken": {
+ "description": "Contatta l'amministratore del tuo server per ottenere un nuovo link di invito.",
+ "title": "Link di invito non valido o scaduto"
+ },
+ "setupAction": "Configurazione",
+ "errorPasswordNoMatch": "Le password non corrispondono",
+ "errorPassword": "La password deve essere di almeno 8 caratteri",
+ "passwordRepeat": "Conferma la password",
+ "password": "Nuova password",
+ "fullName": "Nome e cognome",
+ "errorUsernameInvalid": "Questo nome utente non è valido",
+ "errorUsernameTooLong": "Il nome utente scelto è troppo lungo",
+ "errorUsernameTooShort": "Il nome utente scelto è troppo corto",
+ "username": "Nome utente",
+ "description": "Per favore configura il tuo account",
+ "welcomeTo": "Benvenuto/a"
+ },
+ "passwordReset": {
+ "success": {
+ "openDashboardAction": "Apri la dashboard",
+ "title": "La password è stata cambiata"
+ },
+ "passwordChanged": {
+ "submitAction": "Invia"
+ },
+ "newPassword": {
+ "errorMismatch": "Le password non corrispondono",
+ "passwordRepeat": "Conferma la password",
+ "errorLength": "La password deve contenere un minimo di 8 e un massimo di 265 caratteri",
+ "password": "Nuova password"
+ },
+ "emailSent": {
+ "title": "Email di reimpostazione della password inviata"
+ },
+ "backToLoginAction": "Torna alla pagina di autenticazione",
+ "resetAction": "Resetta",
+ "usernameOrEmail": "Nome utente o e-mail",
+ "title": "Reimposta la password"
+ },
+ "login": {
+ "resetPasswordAction": "Resetta la tua password",
+ "signInAction": "Registrati",
+ "2faToken": "Token 2FA (se abilitato)",
+ "password": "Password"
+ },
+ "app": {
+ "updates": {
+ "info": {
+ "checkForUpdatesAction": "Verifica aggiornamenti",
+ "lastUpdated": "Ultimo aggiornamento",
+ "packageVersion": "Versione del pachhetto",
+ "appId": "ID App",
+ "description": "Nome e versione dell'App",
+ "customAppUpdateInfo": "Gli aggiornamenti automatici non sono disponibili per le app custom"
+ }
+ }
+ },
+ "email": {
+ "incoming": {
+ "catchall": {
+ "description": "Le e-mail inviate ad indirizzi non esistenti verranno inoltrati alle caselle seguenti.",
+ "title": "Catch-all",
+ "saveAction": "Salva",
+ "subscriptionRequired": "Questa funzionalità è disponibile solo con un piano a pagamento. Attiva un piano ora"
+ },
+ "mailinglists": {
+ "membersOnlyTooltip": "Solo i membri posso spedire",
+ "everyoneTooltip": "Tutti possono spedire",
+ "members": "Lista dei membri",
+ "name": "Nome",
+ "description": "Una lista di distribuzione inoltra la posta in arrivo ai suoi membri.",
+ "title": "Liste di distribuzione"
+ },
+ "mailboxes": {
+ "usage": "Uso",
+ "aliases": "Aliases",
+ "owner": "Proprietario",
+ "name": "Nome",
+ "disabledTooltip": "Il mailserver è disattivo per questo dominio",
+ "addAction": "Aggiungi",
+ "title": "Caselle"
+ },
+ "tabTitle": "Caselle",
+ "port": "Porta",
+ "server": "Server",
+ "loginHelp": "Usa nomecasella@{{ domain }} e la password del proprietario della casella per accedere alle caselle di questi dominio",
+ "sieveServerInfo": "ManageSieve",
+ "outgointServerInfo": "Posta in uscita (SMTP)",
+ "enableAction": "Abilita",
+ "disableAction": "Disabilita",
+ "description": "Cloudron server e-mail permette di ricevere posta elettronica su questo dominio. Rainloop, SOGo, Roundcube sono pre-configurati per consentire l'accesso alle e-mail gestite da Cloudorn.",
+ "title": "Posta in arrivo",
+ "incomingServerInfo": "Posta in entrata (IMAP)"
+ },
+ "config": {
+ "connectionDetails": "Parametri di connessione per altri client di posta elettronica",
+ "title": "Configurazione e-mail {{ domain }}"
+ },
+ "backAction": "Torna a E-mail",
+ "outbound": {
+ "title": "Relay",
+ "tabTitle": "Outbound"
+ }
+ },
+ "filemanager": {
+ "status": {
+ "restartingApp": "riavviando l'app"
+ },
+ "newFile": {
+ "errorAlreadyExists": "Già esistente"
+ },
+ "newDirectory": {
+ "errorAlreadyExists": "Esiste già"
+ },
+ "extract": {
+ "error": "Errore nell'estrazione: {{ message }}"
+ },
+ "list": {
+ "menu": {
+ "delete": "Cancella",
+ "download": "Scarica",
+ "extract": "Estrai qui",
+ "chown": "Cambia proprietario",
+ "rename": "Rinomina"
+ },
+ "symlink": "symlink a {{ target }}",
+ "empty": "Non ci sono documenti",
+ "owner": "Proprietario",
+ "size": "Dimensione",
+ "name": "Nome"
+ },
+ "toolbar": {
+ "openLogs": "Vedi i logs",
+ "openTerminal": "Apri il terminale",
+ "restartApp": "Riavvia l'app",
+ "uploadFile": "Carica documento",
+ "uploadFolder": "Carica cartella",
+ "newFolder": "Nuova cartella",
+ "newFile": "Nuovo documento",
+ "upload": "Carica",
+ "new": "Nuovo"
+ },
+ "notFound": "Non trovato",
+ "textEditorCloseDialog": {
+ "dontSave": "Non salvare",
+ "details": "I cambiamenti verranno persi se non salvi documento prima di chiudere",
+ "title": "Il file ha dei cambiamenti non salvati"
+ },
+ "extractDialog": {
+ "closeWarning": "Non aggiornare la pagina fino al termine dell'estrazione.",
+ "title": "Estraggo {{ fileName }}"
+ },
+ "uploadingDialog": {
+ "overwrite": "Sovrascrivi",
+ "retry": "Riprova",
+ "closeWarning": "Non aggiornare la pagina fino al termine del caricamento.",
+ "errorFailed": "Impossibile caricare uno o più file. Per favore riprova.",
+ "errorAlreadyExists": "Uno o più documenti sono già esistenti.",
+ "title": "Carico documenti in corso ({{ countDone }}/{{ count }})"
+ },
+ "chownDialog": {
+ "recursiveCheckbox": "Cambia proprietario (ricorsivo)",
+ "change": "Cambia proprietario",
+ "newOwner": "Nuovo proprietario",
+ "title": "Cambia i permessi per {{ fileName }}"
+ },
+ "renameDialog": {
+ "rename": "Rinomina",
+ "newName": "Nuovo nome",
+ "title": "Rinomina {{ fileName }}"
+ },
+ "newFileDialog": {
+ "create": "Crea",
+ "title": "Nuovo documento"
+ },
+ "newDirectoryDialog": {
+ "create": "Crea",
+ "title": "Nuova cartella"
+ },
+ "removeDialog": {
+ "reallyDelete": "Vuoi davvero cancellare {{ fileName }}?"
+ },
+ "title": "File Manager"
+ },
+ "backups": {
+ "configureBackupStorage": {
+ "memoryLimit": "Limite di memoria",
+ "advancedSettings": "Impostazioni avanzate…",
+ "encryptionDescription": "Salva questa passphrase in un luogo sicuro. Cloudron non memorizza questa password. I backup non possono essere decrittografati senza la passphrase",
+ "encryptionPassword": "Password di crittografia (opzionale)",
+ "s3LikeNote": "Rimuovere qualsiasi regola del ciclo di vita di scadenza degli oggetti poiché danneggerà i backup rsync.",
+ "formatChangeNote": "I backup precedenti che utilizzano il vecchio formato di archiviazione devono essere rimossi manualmente.",
+ "format": "Formato Archiviazione",
+ "gcsServiceKey": "Chiave account di servizio",
+ "s3SecretAccessKey": "Chiave di accesso segreta",
+ "s3AccessKeyId": "ID chiave di accesso",
+ "region": "Regione",
+ "prefix": "Prefisso",
+ "bucketName": "Nome Bucket",
+ "acceptSelfSignedCerts": "Accetta certificato autofirmato",
+ "hardlinksLabel": "Usa collegamenti reali",
+ "ext4Label": "La directory di backup è un disco EXT4 esterno",
+ "localDirectory": "Directory di backup locale",
+ "mountPointDescription": "Il punto di montaggio deve essere impostato manualmente. Consulta i documenti .",
+ "mountPoint": "Punto di montaggio",
+ "noopNote": "Questa opzione interrompe la funzionalità di backup e ripristino di Cloudron e deve essere utilizzata solo per i test. Assicurati di aver eseguito il backup completo del server utilizzando metodi alternativi.",
+ "provider": "Provider archiviazione",
+ "title": "Configura archiviazione backup",
+ "uploadPartSizeDescription": "Dimensioni del singolo file nel caricamento multiplo. Fino a 3 parti vengono caricate in parallelo e richiedono maggiore memoria.",
+ "uploadConcurrencyDescription": "Numero di file da caricare in parallelo durante il backup",
+ "downloadConcurrencyDescription": "Numero di file da scaricare in parallelo durante il ripristino",
+ "uploadPartSize": "Dimensione parte da caricare",
+ "s3Endpoint": "Endpoint",
+ "encryptionPasswordRepeat": "Ripeti Password",
+ "encryptionPasswordPlaceholder": "Passphrase utilizzata per crittografare i backup",
+ "copyConcurrencyDigitalOceanNote": "Gli spazi DigitalOcean limitano la velocità a 20.",
+ "copyConcurrencyDescription": "Numero di copie di file remoti in parallelo durante il backup.",
+ "copyConcurrency": "Copia Contemporanea",
+ "uploadConcurrency": "Upload Contemporanei",
+ "downloadConcurrency": "Download Contemporanei",
+ "memoryLimitDescription": "Limite di memoria per l'attività di backup. Regola questo se aumenti i valori di concorrenza dai loro valori predefiniti."
+ },
+ "configureBackupSchedule": {
+ "retentionPolicy": "Politica di conservazione",
+ "hours": "Ore",
+ "days": "Giorni",
+ "scheduleDescription": "Seleziona i giorni e le ore durante i quali Cloudron eseguirà il backup. Fai attenzione a non sovrapporre questa pianificazione alla pianificazione degli aggiornamenti .",
+ "schedule": "Pianifica",
+ "title": "Configura pianificazione e conservazione backup"
+ },
+ "cleanupBackups": {
+ "cleanupNow": "Pulisci ora",
+ "description": "I backup vengono puliti automaticamente ogni giorno in base al criterio di conservazione. Questa operazione attiverà la rimozione immediata dei backup.",
+ "title": "Pulizia Backup"
+ },
+ "backupFailed": {
+ "title": "Impossibile creare backup"
+ },
+ "backupDetails": {
+ "list": "Riferimenti ai bakcup di {{ appCount }} applicazioni",
+ "format": "Formato",
+ "version": "Versione",
+ "date": "Data",
+ "title": "Dettagli Backup",
+ "id": "Id"
+ },
+ "logs": {
+ "showLogs": "Visualizza Logs",
+ "description": "Fai attenzione quando carichi questi logs su un server pubblico poiché potrebbero contenere informazioni sensibili.",
+ "title": "Logs"
+ },
+ "listing": {
+ "stopTask": "Ferma {{ taskType === 'backup' ? 'Backup' : 'Cleanup' }}",
+ "backupNow": "Esegui il backup adesso",
+ "cleanupBackups": "Pulizia Backup",
+ "tooltipDownloadBackupConfig": "Scarica Configurazione Backup",
+ "appCount": "{{ appCount }} applicazioni",
+ "noApps": "Nessuna app",
+ "version": "Versione",
+ "contents": "Contenuti",
+ "noBackups": "Non sono stati ancora effettuati backup",
+ "title": "Elenco"
+ },
+ "schedule": {
+ "configure": "Configura",
+ "retentionPolicy": "Politica di conservazione",
+ "schedule": "Pianifica",
+ "description": "Cloudron esegue un backup completo del sistema in base a questo intervallo pianificato e conserva i backup con il criterio di conservazione specificato.",
+ "title": "Pianificazione e conservazione"
+ },
+ "location": {
+ "configure": "Configura",
+ "format": "Formato di archiviazione",
+ "title": "Posizione",
+ "location": "Posizione",
+ "disabledList": "Le seguenti app hanno i backup automatici disabilitati:",
+ "description": "Cloudron esegue un backup completo del sistema nella posizione configurata.",
+ "endpoint": "Endpoint",
+ "provider": "Provider"
+ },
+ "title": "Backup"
+ },
+ "profile": {
+ "enable2FAAction": "Abilita 2FA",
+ "disable2FAAction": "Disabilita 2FA",
+ "changePasswordAction": "Cambia Password",
+ "createApiToken": {
+ "generateToken": "Genera Token API",
+ "copyNow": "Copia il token API ora. Non verrà mostrato di nuovo per motivi di sicurezza.",
+ "description": "Nuovo token API:",
+ "errorNameRequired": "È richiesto un nome",
+ "name": "Nome Token API",
+ "title": "Crea Token API"
+ },
+ "createAppPassword": {
+ "generatePassword": "Genera Password",
+ "copyNow": "Copia la password adesso. Non verrà mostrata di nuovo per motivi di sicurezza.",
+ "description": "Usa la seguente password per autenticarti con l'app:",
+ "errorNameRequired": "È richiesto un nome",
+ "name": "Nome password",
+ "title": "Crea Nuova Password",
+ "app": "App"
+ },
+ "changeDisplayName": {
+ "errorDisplayNameRequired": "È richiesto un nome visualizzato valido",
+ "errorNameInvalid": "Questo nome visualizzato non è valido",
+ "title": "Cambia il tuo nome visualizzato"
+ },
+ "changeFallbackEmail": {
+ "errorEmailInvalid": "L'indirizzo e-mail non è valido",
+ "errorEmailRequired": "È necessario un indirizzo email valido",
+ "title": "Modifica l'indirizzo email di recupero della password"
+ },
+ "changeEmail": {
+ "errorEmailRequired": "È necessario un indirizzo email valido",
+ "errorEmailInvalid": "L'indirizzo e-mail non è valido",
+ "title": "Cambia indirizzo email principale"
+ },
+ "loginTokens": {
+ "logoutAll": "Esci da tutti",
+ "description": "Hai {{webadminTokenCount}} token Web attivo(i) e {{cliTokenCount}} token CLI.",
+ "title": "Token di accesso"
+ },
+ "apiTokens": {
+ "revokeTokenTooltip": "Revoca Token",
+ "noTokensPlaceholder": "Nessun Token API creato",
+ "description": "Utilizza questi token di accesso personali per autenticarti all' API Cloudron ",
+ "expiresAt": "Scade il",
+ "name": "Nome",
+ "newApiToken": "Nuovo Token API",
+ "title": "Tokens API"
+ },
+ "appPasswords": {
+ "deletePasswordTooltip": "Elimina Password",
+ "newPassword": "Nuova Password",
+ "description": "Le password delle App sono una misura di sicurezza per proteggere il tuo account utente Cloudron. Se devi accedere a un'app Cloudron da un'app mobile o da un client non attendibile, puoi accedere con il tuo nome utente e la password alternativa generata qui.",
+ "noPasswordsPlaceholder": "Nessuna password per l'App creata",
+ "name": "Nome",
+ "title": "Password delle App",
+ "app": "App"
+ },
+ "enable2FA": {
+ "setup2FA": "Imposta Due Fattori",
+ "enable": "Abilita",
+ "authenticatorAppDescription": "Usa Google Authenticator (Android, iOS), FreeOTP authenticator (Android, iOS) o una qualsiasi app TOTP per eseguire la scansione del codice segreto.",
+ "description": "Il tuo amministratore Cloudron ha richiesto a tutti i membri di abilitare l'autenticazione a due fattori. Non sarai in grado di accedere alla dashboard finché non abiliti 2FA.",
+ "title": "Abilita autenticazione a Due Fattori",
+ "token": "Token"
+ },
+ "disable2FA": {
+ "disable": "Disabilita",
+ "title": "Disabilita autenticazione a Due Fattori",
+ "password": "Password"
+ },
+ "changePassword": {
+ "errorPasswordInvalid": "La password deve contenere un minimo di 8 e un massimo di 265 caratteri",
+ "errorPasswordsDontMatch": "Le password non coincidono",
+ "errorPasswordRequired": "Password richiesta",
+ "newPasswordRepeat": "Ripeti nuova password",
+ "newPassword": "Nuova password",
+ "currentPassword": "Password attuale",
+ "title": "Cambia password"
+ },
+ "language": "Lingua",
+ "passwordRecoveryEmail": "Email per il recupero password",
+ "primaryEmail": "Email principale",
+ "changeAvatar": {
+ "useCustomPicture": "Usa immagine personalizzata",
+ "useGravatar": "Usa Gravatar",
+ "title": "Cambia il tuo Avatar"
+ },
+ "title": "Profilo"
+ },
+ "users": {
+ "searchPlaceholder": "Cerca",
+ "role": {
+ "owner": "Superadmin",
+ "admin": "Amministartore",
+ "usermanager": "Gestione Utente",
+ "user": "Utente"
+ },
+ "externalLdapDialog": {
+ "title": "Configura LDAP"
+ },
+ "passwordResetDialog": {
+ "sendEmailLinkAction": "Invia per email il link all'utente",
+ "description": "Utilizza il link sottostante per reimpostare la password di {{username}} o invitare nuovamente:",
+ "title": "Reimposta la password o invia link di invito per {{username}}"
+ },
+ "deleteGroupDialog": {
+ "deleteAction": "Elimina",
+ "description": "Questo gruppo ha ancora {{ memberCount }} membro(i). Sei sicuro che questo gruppo non sia utilizzato?",
+ "title": "Elimina gruppo {{ name }}"
+ },
+ "deleteUserDialog": {
+ "title": "Elimina utente {{ username }}",
+ "deleteAction": "Elimina",
+ "description": "Dopo l'eliminazione, l'utente non sarà in grado di accedere alla dashboard o accedere a nessuna delle app. Tieni presente che i dati utente all'interno delle app non vengono rimossi."
+ },
+ "editGroupDialog": {
+ "externalLdapWarning": "Questo gruppo è sincronizzato dalla directory LDAP esterna.",
+ "title": "Modifica gruppo {{ name }}"
+ },
+ "group": {
+ "addGroupAction": "Aggiungi Gruppo",
+ "users": "Utenti",
+ "errorNameTooLong": "Il nome è troppo lungo",
+ "errorNameTooShort": "Il nome è troppo corto",
+ "errorNameRequired": "Un nome è richiesto",
+ "name": "Nome"
+ },
+ "addGroupDialog": {
+ "title": "Aggiungi Gruppo"
+ },
+ "editUserDialog": {
+ "externalLdapWarning": "Questo utente è sincronizzato dalla directory LDAP esterna.",
+ "title": "Modifica utente {{ username }}"
+ },
+ "user": {
+ "activeCheckbox": "Utente attivo",
+ "errorDisplayNameRequired": "Il nome è richiesto",
+ "recoveryEmail": "Email per il recupero password",
+ "primaryEmail": "Email principale",
+ "usernamePlaceholder": "Opzionale. Se non fornito, l'utente può scegliere durante la registrazione",
+ "errorInvalidUsername": "Questo non è un nome utente valido",
+ "errorInvalidEmail": "Questa non è una email valida",
+ "errorEmailRequired": "E' richiesta una email",
+ "errorNotValidFullName": "Questo non è un nome valido",
+ "noGroups": "Nessun gruppo disponibile.",
+ "groups": "Gruppi",
+ "role": "Ruolo",
+ "username": "Nome Utente",
+ "fullName": "Nome Completo",
+ "email": "E-mail",
+ "displayName": "Nome visualizzato"
+ },
+ "addUserDialog": {
+ "addUserAction": "Aggiungi Utente",
+ "sendInviteCheckbox": "Invia subito un'email di invito",
+ "title": "Aggiungi Utente"
+ },
+ "subscriptionDialog": {
+ "setupAction": "Imposta abbonamento",
+ "title": "Abbonamento richiesto"
+ },
+ "externalLdap": {
+ "errorSelfSignedCert": "Il server utilizza un certificato non valido o autofirmato.",
+ "configureAction": "Configura",
+ "syncAction": "Sincronizza",
+ "showLogsAction": "Visualizza Logs",
+ "autocreateUsersOnLogin": "Crea automaticamente gli utenti quando accedono a Cloudron",
+ "usernameField": "Campo nome utente",
+ "filter": "Filtro",
+ "baseDn": "DN di base",
+ "acceptSelfSignedCert": "Accetta certificato autofirmato",
+ "server": "URL del Server",
+ "noopInfo": "L'autenticazione LDAP non è configurata.",
+ "subscriptionRequiredAction": "Imposta l'abbonamento adesso",
+ "subscriptionRequired": "Questa funzionalità è disponibile solo nei piani a pagamento.",
+ "description": "Cloudron sincronizzerà utenti e gruppi da un server LDAP o ActiveDirectory esterni. La verifica della password per l'autenticazione di tali utenti viene eseguita sul server esterno. La sincronizzazione non viene eseguita automaticamente ma deve essere attivata manualmente.",
+ "auth": "Auth",
+ "groupnameField": "Groupname Field",
+ "groupFilter": "Group Filter",
+ "groupBaseDn": "Group Base DN",
+ "syncGroups": "Sync Groups",
+ "provider": "Provider",
+ "title": "LDAP",
+ "bindPassword": "Bind Password (opzionale)",
+ "bindUsername": "Bind DN/Nome Utente (opzionale)"
+ },
+ "settings": {
+ "saveAction": "Salva",
+ "subscriptionRequiredAction": "Imposta l'abbonamento adesso",
+ "subscriptionRequired": "Queste funzionalità sono disponibili solo nei piani a pagamento.",
+ "require2FACheckbox": "Richiedi agli utenti di configurare la 2FA",
+ "allowProfileEditCheckbox": "Consenti agli utenti di modificare il proprio nome e indirizzo email",
+ "title": "Impostazioni"
+ },
+ "groups": {
+ "externalLdapTooltip": "Dalla directory LDAP esterna",
+ "users": "Utenti",
+ "name": "Nome",
+ "newGroupAction": "Nuovo Gruppo",
+ "title": "Gruppi"
+ },
+ "users": {
+ "removeUserTooltip": "Rimuovi Utente",
+ "editUserTooltip": "Modifica Utente",
+ "resetPasswordTooltip": "Reimposta la password o invia link di invito",
+ "notActivatedYetTooltip": "L'utente non è ancora attivato",
+ "externalLdapTooltip": "Dalla directory LDAP esterna",
+ "inactiveTooltip": "Utente non attivo",
+ "usermanagerTooltip": "Questo utente può gestire gruppi e altri utenti",
+ "adminTooltip": "Questo utente è un admin",
+ "superadminTooltip": "Questo utente è un superadmin",
+ "empty": "Nessun utente trovato",
+ "groups": "Gruppi",
+ "user": "Utente",
+ "transferOwnershipTooltip": "Trasferisci Proprietà"
+ },
+ "newUserAction": "Nuovo Utente",
+ "title": "Utenti",
+ "transferOwnershipDialog": {
+ "transferAction": "Trasferisci la proprietà",
+ "description": "Il nuovo utente amministratore di questo Cloudron acquisirà i permessi di ammministrazione, mentre l'attuale proprietario li perderà.",
+ "title": "Vuoi davvero trasferire la proprietà a {{ username }}?"
+ }
+ },
+ "appstore": {
+ "category": {
+ "git": "Hosting Codice",
+ "notes": "Note",
+ "learning": "Formazione",
+ "game": "Giochi",
+ "finance": "Finanza",
+ "all": "Tutto",
+ "document": "Documenti",
+ "newApps": "Nuove App",
+ "popular": "Popolari",
+ "vpn": "VPN",
+ "wiki": "Wiki",
+ "sync": "Sincronizzazione",
+ "media": "Media",
+ "email": "E-mail",
+ "gallery": "Galleria",
+ "forum": "Forum",
+ "crm": "CRM",
+ "blog": "Blog",
+ "chat": "Chat",
+ "project": "Gestione Progetti",
+ "hosting": "Hosting Web",
+ "analytics": "Analytics"
+ },
+ "categoryLabel": "Cagegoria",
+ "accountDialog": {
+ "switchToLoginAction": "Hai già un account? Accedi",
+ "switchToSignUpAction": "Non hai ancora un account? Iscriviti",
+ "createAccountAction": "Crea Account",
+ "errorWrongPassword": "Password errata",
+ "licenseCheckbox": "Accetto la licenza Cloudron",
+ "chooseAnOption": "Per favore scegli un'opzione…",
+ "intendedUse": "Uso previsto",
+ "2faToken": "2FA Token (se abilitato)",
+ "description": "Questo account viene utilizzato per accedere all'App Store e gestire il tuo abbonamento",
+ "titleLogin": "Accedi a Cloudron.io",
+ "titleSignUp": "Iscriviti a Cloudron.io",
+ "loginAction": "Accedi",
+ "password": "Password",
+ "email": "E-mail"
+ },
+ "appNotFoundDialog": {
+ "description": "Non c'è nessuna app {{ appId }} con versione {{ version }}.",
+ "title": "App non trovata"
+ },
+ "installDialog": {
+ "doInstallAction": "Installa {{ dnsOverwrite ? 'e sovrascrivi DNS' : '' }}",
+ "installAction": "Installa",
+ "installAnywayAction": "Installa comunque",
+ "setupSubscriptionAction": "Imposta Abbonamento",
+ "subscriptionRequired": "Per installare più app, è necessario un abbonamento a pagamento.",
+ "pleaseUpgradeServer": "Aggiorna ad un server con più memoria. In alternativa, libera risorse disinstallando le applicazioni non usate.",
+ "lowOnResources": "Questo Cloudron sta esaurendo le risorse.",
+ "configuredForCloudronEmail": "Questa app è pre-configurata per l'uso con Cloudron Email.",
+ "groups": "Gruppi",
+ "users": "Utenti",
+ "errorUserManagementSelectAtLeastOne": "Seleziona almeno un utente o gruppo",
+ "userManagementSelectUsers": "Consenti solo i seguenti utenti e gruppi",
+ "userManagementAllUsers": "Autorizza tutti gli utenti di questo Cloudron",
+ "userManagementLeaveToApp": "Lascia la gestione degli utenti all'app",
+ "userManagementMailbox": "Tutti gli utenti con una casella di posta su questo Cloudron hanno accesso.",
+ "userManagementNone": "Questa app ha la propria gestione degli utenti.",
+ "userManagement": "Gestione utente",
+ "manualWarning": "Aggiungi manualmente un record A per {{ location }}2 all'IP pubblico di questo Cloudron",
+ "locationPlaceholder": "Lascia vuoto per utilizzare il dominio principale",
+ "location": "Ubicazione",
+ "memoryRequirement": "Richiede almeno {{ size }} di memoria",
+ "lastUpdated": "Ultimo aggiornamento {{ date }}"
+ },
+ "unstable": "Instabile",
+ "appMissing": "Manca un'app? Faccelo sapere.",
+ "noAppsFound": "Nessuna app trovata.",
+ "searchPlaceholder": "Cerca per alternative come Github, Dropbox, Slack, Trello, …",
+ "title": "App Store"
+ },
+ "system": {
+ "diskUsage": {
+ "usageInfo": "{{ available | prettyDiskSize }} di {{ size | prettyDiskSize }} disponibili",
+ "mountedAt": "{{ filesystem }} montato su {{ mountpoint }}",
+ "title": "Uso del disco",
+ "notAvailableYet": "Non ancora disponibile",
+ "diskContent": "Questo {{ type }} disco contiene"
+ },
+ "title": "Informazioni di sistema",
+ "selectPeriodLabel": "Seleziona il periodo",
+ "cpuUsage": {
+ "graphTitle": "Percentuale",
+ "title": "Uso della CPU"
+ },
+ "systemMemory": {
+ "graphSubtext": "Le variabili delle App non sono incluse",
+ "title": "Memoria Sistema"
+ }
+ },
+ "support": {
+ "remoteSupport": {
+ "enableAction": "Abilita l'accesso al supporto SSH",
+ "disableAction": "Disabilita l'accesso al supporto SSH",
+ "warning": "Non abilitare questa opzione se non richiesto dal team di supporto di Cloudron.",
+ "description": "Abilita questa opzione per consentire ai tecnici dell'assistenza di connettersi a questo server tramite SSH.",
+ "subscriptionRequired": "Il supporto remoto è disponibile solo nei piani a pagamento.",
+ "title": "Supporto remoto"
+ },
+ "ticket": {
+ "emailPlaceholder": "Se necessario, fornisci un indirizzo email diverso da quello sopra per raggiungerti",
+ "reportPlaceholder": "Descrivi il tuo problema",
+ "submitAction": "Invia",
+ "sshCheckbox": "Consenti ai tecnici dell'assistenza di connettersi a questo server tramite SSH",
+ "emailInfo": "(L'email di iscrizione è {{ email }})",
+ "email": "Email",
+ "report": "Rapporto",
+ "topic": "Argomento",
+ "selectApp": "Seleziona App",
+ "typeEmail": "Errore Email",
+ "typeBug": "Bug Report",
+ "typeApp": "Errore App",
+ "type": "Tipologia",
+ "subscriptionRequiredDescription": "Puoi trovare risposte nella nostra documentazione o chiedere nel Forum.",
+ "subscriptionRequired": "I ticket di supporto sono disponibili solo nei piani a pagamento.",
+ "title": "Ticket"
+ },
+ "title": "Supporto"
+ },
+ "settings": {
+ "language": {
+ "description": "La lingua predefinita di questo Cloudron può essere impostata qui. Questa verrà utilizzata anche per le email transazionali come l'invito dell'utente e la reimpostazione della password. Ogni utente può comunque cambiare la sua lingua preferita per la dashboard nel profilo.",
+ "title": "Lingua"
+ },
+ "updateDialog": {
+ "updateAction": "Aggiorna",
+ "skipBackupCheckbox": "Salta Backup",
+ "changes": "Cambiamenti",
+ "unstableWarning": "Questo aggiornamento è una pre-release e non è ancora considerato stabile. Si prega di aggiornare a proprio rischio.",
+ "blockingAppsInfo": "Attendi il completamento delle operazioni di cui sopra.",
+ "blockingApps": "Le app seguenti stanno bloccando l'aggiornamento perché hanno azioni in sospeso:",
+ "title": "Aggiorna Cloudron a"
+ },
+ "updateScheduleDialog": {
+ "description": "Seleziona i giorni e gli orari durante i quali Cloudron applicherà gli aggiornamenti automatici della piattaforma e dell'app. Fai attenzione a non sovrapporre questa pianificazione alla pianificazione dei backup.",
+ "hours": "Ore",
+ "days": "Giorni",
+ "selectOne": "Seleziona almeno un giorno e un'ora",
+ "enableCheckbox": "Abilita Aggiornamenti Automatici",
+ "disableCheckbox": "Disabilita Aggiornamenti Automatici",
+ "title": "Configura pianificazione aggiornamenti automatici"
+ },
+ "privateDockerRegistryDialog": {
+ "passwordToken": "Password/Token",
+ "email": "Email (Opzionale)",
+ "title": "Configurazione Registro privato"
+ },
+ "privateDockerRegistry": {
+ "configureAction": "Configura Registro",
+ "usernameNotSet": "Non impostato",
+ "username": "Nome utente",
+ "server": "Indirizzo server",
+ "setupSubscriptionAction": "Imposta abbonamento adesso",
+ "subscriptionRequired": "Questa funzione è disponibile solo nei piani a pagamento.",
+ "description": "Cloudron può estrarre e installare app personalizzate da un registro Docker privato.",
+ "title": "Registro Docker privato"
+ },
+ "updates": {
+ "stopUpdateAction": "Ferma Aggiornamento",
+ "updateAvailableAction": "Aggiornamento Disponibile",
+ "checkForUpdatesAction": "Controlla Aggiornamenti",
+ "changeScheduleAction": "Cambia Pianificazione",
+ "showLogsAction": "Visualizza Logs",
+ "version": "Versione piattaforma",
+ "currentSchedule": "L'attuale programma di aggiornamento automatico per piattaforma e app è",
+ "autoUpdateDisabled": "L'aggiornamento automatico per la piattaforma e le app è disabilitato.",
+ "title": "Aggiornamenti"
+ },
+ "timezone": {
+ "description": "L'impostazione del fuso orario corrente è {{ timeZone }}.\nQuesta impostazione viene utilizzata per la pianificazione delle attività di backup e aggiornamento.",
+ "title": "Fuso orario"
+ },
+ "appstoreAccount": {
+ "subscriptionReactivateAction": "Riattiva Abbonamento",
+ "subscriptionChangeAction": "Cambia Abbonamento",
+ "subscriptionSetupAction": "Imposta Abbonamento",
+ "subscriptionEndsAt": "Annullato e termina il",
+ "cloudronId": "ID Cloudron",
+ "subscription": "Abbonamento",
+ "email": "Email Account",
+ "setupAction": "Imposta Account",
+ "description": "Un account Cloudron.io viene utilizzato per accedere all'App Store e gestire l'abbonamento.",
+ "title": "Account Cloudron.io"
+ },
+ "title": "Impostazioni"
+ },
+ "services": {
+ "configure": {
+ "resetToDefaults": "Riportare alle condizioni originali",
+ "requireAdminRoleLabel": "Richiede il ruolo di amministratore per accedere a SFTP",
+ "accessControlDescription": "Consentire ai non amministratori di accedere a SFTP consentirà loro di leggere i file di configurazione dell'applicazione e le chiavi segrete. Per alcune app come WordPress, possono anche registrare la password.",
+ "accessControl": "Controllo Accesso",
+ "memoryLimitDescription": "Cloudron alloca il 50% di questo valore come RAM e il 50% come swap.",
+ "title": "Configura {{ name }}"
+ },
+ "restartActionTooltip": "Riavvia",
+ "configureActionTooltip": "Configura",
+ "memoryLimit": "Limite Memoria",
+ "memoryUsage": "Uso Memoria",
+ "service": "Servizio",
+ "description": "I servizi Cloudron implementano funzionalità come database, posta elettronica e autenticazione.",
+ "title": "Servizi"
+ },
+ "network": {
+ "configureIp": {
+ "providerGenericDescription": "L'indirizzo IP pubblico del server verrà rilevato automaticamente.",
+ "title": "Configura l'IP del Provider"
+ },
+ "dyndns": {
+ "saved": "Salvato",
+ "useLabel": "Usa DNS Dinamico",
+ "description": "Abilita questa opzione per mantenere sincronizzati tutti i tuoi record DNS con un indirizzo IP che cambia. Ciò è utile quando Cloudron viene eseguito in una rete con un indirizzo IP pubblico che cambia frequentemente come una connessione domestica.",
+ "title": "DNS Dinamico"
+ },
+ "firewall": {
+ "configure": {
+ "blocklistPlaceholder": "Indirizzo IP o Sottorete separati da linee",
+ "description": "Gli indirizzi corrispondenti non saranno in grado di connettersi al server, inclusi il server di posta, il dashboard e tutte le app. Fai attenzione a non chiuderti fuori.",
+ "title": "Configurazione Firewall"
+ },
+ "blocklist": "{{ blockCount }} IP bloccato(i)",
+ "blockedIpRanges": "Indirizzi IP e Range bloccati",
+ "title": "Firewall"
+ },
+ "ip": {
+ "detected": "rilevato",
+ "interfaceDescription": "Elenca i dispositivi disponibili sul server con:",
+ "configure": "Configura",
+ "interface": "Nome Interfaccia di Rete",
+ "address": "Indirizzo IP",
+ "provider": "Provider",
+ "description": "Cloudron utilizza questo indirizzo IP quando è configurato questo record DNS.",
+ "title": "Indirizzo IP"
+ },
+ "title": "Rete"
+ },
+ "emails": {
+ "typeFilterHeader": "Tutti gli eventi",
+ "solrConfig": {
+ "notEnoughMemory": "Si prega di assegnare almeno 3 GB al servizio di posta per abilitare Solr.",
+ "enableSolrCheckbox": "Abilita la ricerca di testo completo utilizzando Solr",
+ "description": "Solr può essere utilizzato per fornire una rapida ricerca full-text per le e-mail. Solr viene eseguito solo se nel servizio di posta sono stati allocati almeno 3 GB di RAM.",
+ "title": "Ricerca di testo completo (Solr)"
+ },
+ "testMailDialog": {
+ "sendAction": "Invia",
+ "mailToPlaceholder": "Indirizzo email",
+ "mailTo": "Email a",
+ "description": "Verrà inviata un'email di prova da no-reply@{{ domain }} all'indirizzo seguente.",
+ "title": "Invia email di prova per {{ domain }}"
+ },
+ "spamFilterDialog": {
+ "customRulesPlaceholder": "Regole personalizzate di Spamassassin",
+ "blacklisteAddressesPlaceholder": "Indirizzi di posta elettronica separati da righe",
+ "customRules": "Regole personalizzate di Spamassassin",
+ "blacklisteAddressesInfo": "Gli indirizzi corrispondenti finiranno nella cartella Spam dell'utente. '*' e '?' sono supportati per i modelli glob.",
+ "blacklisteAddresses": "Indirizzi sulla blocklist",
+ "title": "Filtro antispam"
+ },
+ "changeMailSizeDialog": {
+ "size": "Dimensione massima in megabyte:",
+ "description": "La modifica della dimensione massima dei messaggi di posta elettronica richiede il riavvio del server di posta.",
+ "title": "Modifica la dimensione massima dell'email"
+ },
+ "changeDomainDialog": {
+ "manualInfo": "Aggiungi manualmente un record A per {{ domain }} all'IP pubblico di questo Cloudron",
+ "locationPlaceholder": "Lascia vuoto per utilizzare il dominio nudo",
+ "location": "Posizione",
+ "description": "Cloudron apporterà le modifiche DNS necessarie su tutti i domini e riavvierà il server di posta. I client di posta elettronica desktop e mobili devono essere riconfigurati per utilizzare questa nuova posizione come server IMAP e SMTP.",
+ "title": "Modifica ubicazione del server di posta elettronica"
+ },
+ "eventlog": {
+ "searchPlaceholder": "Cerca",
+ "showRawLogsAction": "Mostra Raw Logs",
+ "type": {
+ "spamFilterTrainedInfo": "Filtro antispam addestrato utilizzando il contenuto della casella postale",
+ "deniedInfo": "Connessione da {{ remote.ip }} negata. {{ details.message || details.reason }}",
+ "deliveredInfo": "Posta consegnata a {{ rcptTo | prettyEmailAddresses }} da {{ mailFrom | prettyEmailAddresses }}",
+ "receivedInfo": "Posta salvata da {{ mailFrom | prettyEmailAddresses }} nella casella di posta {{ rcptTo | prettyEmailAddresses }}",
+ "outboundInfo": "Posta in coda per la consegna a {{ rcptTo | prettyEmailAddresses }} da {{ mailFrom | prettyEmailAddresses }}",
+ "inboundInfo": "Posta in arrivo da {{ mailFrom | prettyEmailAddresses }} a {{ rcptTo | prettyEmailAddresses }}. Spam: {{ details.spamStatus.indexOf ('Yes,') === 0 ? 'Si' : 'No' }}",
+ "bounceInfo": "Bounce inviato a {{ mailFrom | prettyEmailAddresses }} per la posta inviata a {{ rcptTo | prettyEmailAddresses }}. {{ details.message || details.reason }}",
+ "deferredInfo": "Impossibile recapitare la posta a {{ rcptTo | prettyEmailAddresses }}. {{ details.message || details.reason }}. Riproverà tra {{details.delay}}s.",
+ "spamFilterTrained": "Filtro antispam addestrato",
+ "bounce": "Bounce",
+ "denied": "Negato",
+ "queued": "In coda",
+ "incoming": "In arrivo",
+ "deferred": "Differita",
+ "outgoing": "In uscita"
+ },
+ "empty": "Il log degli eventi è vuoto.",
+ "details": "Dettagli",
+ "time": "Ora",
+ "title": "Log eventi"
+ },
+ "settings": {
+ "solrNotRunning": "Non in esecuzione",
+ "solrRunning": "In esecuzione",
+ "solrDisabled": "Disabilitata",
+ "solrEnabled": "Abilitata",
+ "solrFts": "Ricerca di testo completo (Solr)",
+ "changeDomainProgress": "Modifica del dominio e-mail:",
+ "spamFilterOverview": "{{blacklistCount}} indirizzo(i) nella blacklist.",
+ "spamFilter": "Filtro antispam",
+ "maxMailSize": "Dimensione massima dell'email",
+ "location": "Ubicazione del server email",
+ "info": "Queste impostazioni sono globali e si applicano a tutti i domini.",
+ "title": "Impostazioni"
+ },
+ "domains": {
+ "testEmailTooltip": "Invia email di test",
+ "stats": "{{ mailboxCount }} Casella(e) / Usati: {{ usage }}",
+ "disabled": "Disabilitato",
+ "outbound": "Solo in uscita",
+ "config": "Configura",
+ "domain": "Dominio",
+ "title": "Domini"
+ },
+ "title": "Email"
+ },
+ "branding": {
+ "title": "Branding",
+ "changeLogo": {
+ "title": "Scegli l'avatar di Cloudron"
+ },
+ "footer": {
+ "setupSubscriptionNow": "Imposta abbonamento adesso",
+ "subscriptionRequired": "La personalizzazione del piè di pagina è disponibile solo nei piani a pagamento.",
+ "description": "Usa il markdown per definire lo stile del piè di pagina.",
+ "title": "Piè di pagina"
+ },
+ "logo": "Logo",
+ "cloudronName": "Nome Cloudron"
+ },
+ "terminal": {
+ "contextmenu": {
+ "pasteInfo": "Per incollare usa Ctrl+v",
+ "clear": "Pulisci",
+ "copy": "Copia"
+ },
+ "busy": {
+ "installing": "Installazione app in corso…",
+ "resuming": "Ripristino app in corso…",
+ "restartingInPausedMode": "Riavvio app in pausa…",
+ "restarting": "Riavvio app in corso…"
+ },
+ "downloadAction": "Scarica",
+ "uploading": "Sto caricando…",
+ "uploadToTmp": "Carica in /tmp",
+ "restart": "Riavvia",
+ "scheduler": "Schedulatore/Cron",
+ "upload": {
+ "title": "Carica il documento in {{ name }}"
+ },
+ "download": {
+ "download": "Scarica",
+ "filePath": "Percorso al documento o alla cartella",
+ "title": "Scarica da {{ name }}"
+ },
+ "title": "Terminale"
+ },
+ "logs": {
+ "download": "Scarica",
+ "clear": "Azzerra",
+ "title": "Logs"
+ },
+ "notifications": {
+ "dismissTooltip": "Cancella",
+ "clearAll": "Cancella tutte",
+ "nonePending": "Notifiche visualizzate!",
+ "title": "Notifiche"
+ },
+ "domains": {
+ "removeDialog": {
+ "removeAction": "Cancella",
+ "description": "Questo cancellerà il dominio {{ domain }}.",
+ "title": "Vuoi davvero cancellare {{ domain }}?"
+ },
+ "domainDialog": {
+ "fallbackCertCertificatePlaceholder": "Certificato",
+ "fallbackCertKeyPlaceholder": "Chiave",
+ "fallbackCertInfo": "I certificato sono ottenuti e rinnovati automaticamente con Let’s Encrypt. Vedi la documentazione sui limiti di richiesta qui.\nSe questa richiesta di certificato wildcard dovesse fallire, e se non è già disponibile un certificato secondario, ne verrà generato uno di tipo self-signed.",
+ "fallbackCertCustomCertInfo": "Questo certificato wildcard sarà utilizzato per tutte le app su questo dominio. Se non è già disponibile un certificato secondario, ne verrà generato uno di tipo self-signed.",
+ "fallbackCertCustomCert": "Certificato personalizzato",
+ "fallbackCert": "Certificato secondario (opzionale)",
+ "certProvider": "Provider del certificato",
+ "zoneName": "Nome Zona (opzionale)",
+ "advancedAction": "Configurazione avanzata…",
+ "letsEncryptInfo": "Let's Encrypt richiede che il tuo server sia raggiungibile sulla porta 80",
+ "wildcardInfo": "Configura un record A per *.{{ domain }} e {{ domain }} che punta all'IP di questo server.",
+ "manualInfo": "Ogni record DNS deve essere configurato manualmente prima di ogni installazione.",
+ "namecheapInfo": "L'IP di questo server deve essere autorizzato per questa chiave API.",
+ "namecheapApiKey": "Chiave API",
+ "namecheapUsername": "Nome utente Namecheap",
+ "nameComApiToken": "Token API",
+ "nameComUsername": "Nome utente Name.com",
+ "linodeToken": "Token Linode",
+ "cloudflareEmail": "Cloudflare E-mail",
+ "cloudflareTokenTypeApiToken": "Token API",
+ "cloudflareTokenTypeGlobalApiKey": "Chiave API globale",
+ "cloudflareTokenType": "Tipo di Token",
+ "goDaddyApiSecret": "Segreto API",
+ "goDaddyApiKey": "Chiave API",
+ "gandiApiKey": "Chiave API Gandi",
+ "digitalOceanToken": "Token DigitalOcean",
+ "gcdnsServiceAccountKey": "Service Account Key",
+ "route53SecretAccessKey": "Secret Access Key",
+ "route53AccessKeyId": "Id della chiave di accesso",
+ "provider": "Provider DNS",
+ "domain": "Dominio",
+ "addDescription": "Aggiungere un dominio ti consentirà di installare delle app sui sottodomini di questo dominio. I parametri di configurazione per le e-mail di questo dominio possono essere configurati nel menù E-mail.",
+ "editTitle": "Configura {{ domain }}",
+ "addTitle": "Aggiungi dominio"
+ },
+ "subscriptionRequired": {
+ "setupAction": "Configura sottoscrizione",
+ "description": "Configura gentilmente un piano a pagamento per poter aggiungere altri domini.",
+ "title": "È richiesta una sottoscrizione"
+ },
+ "changeDashboardDomain": {
+ "showLogsAction": "Mostra i logs",
+ "cancelAction": "Cancella",
+ "changeAction": "Cambia dominio",
+ "description": "Questo sposterà il pannello e il mail server sul sottodominio my del dominio selezionato.",
+ "title": "Cambia il dominio del pannello"
+ },
+ "renewCerts": {
+ "showLogsAction": "Mostra i logs",
+ "renewAllAction": "Rinnova tutti i certificati",
+ "description": "Cloudron rinnova i certificati Let's Encrypt automaticamente. Usa questa opzione per avviare un rinnovo ora.",
+ "title": "Rinnova i certificati"
+ },
+ "tooltipRemove": "Cancella Dominio",
+ "tooltipEdit": "Modifica Dominio",
+ "provider": "Provider",
+ "domain": "Dominio",
+ "addDomain": "Aggiungi dominio",
+ "title": "Domini e Certificati"
+ },
+ "eventlog": {
+ "filterAllEvents": "Tutti gli eventi",
+ "searchPlaceholder": "Cerca",
+ "details": "Dettagli",
+ "source": "Fonte",
+ "time": "Ora",
+ "title": "Log degli eventi"
+ }
+}
diff --git a/src/translation/zh_Hans.json b/src/translation/zh_Hans.json
new file mode 100644
index 000000000..3ad0078b4
--- /dev/null
+++ b/src/translation/zh_Hans.json
@@ -0,0 +1,937 @@
+{
+ "apps": {
+ "noApps": {
+ "description": "从 App Store 中选择应用来安装吧",
+ "title": "尚未安装应用!"
+ },
+ "title": "我的应用",
+ "noAccess": {
+ "title": "您没有已授权的应用。",
+ "description": "当您完成后,应用就会显示在这里。"
+ },
+ "configActionTooltip": "配置",
+ "logsActionTooltip": "日志",
+ "infoActionTooltip": "信息",
+ "adminPageActionTooltip": "管理界面",
+ "searchPlaceholder": "搜索应用",
+ "stateFilterHeader": "所有状态",
+ "tagsFilterHeader": "标签:{{ tags }}",
+ "tagsFilterHeaderAll": "所有标签",
+ "domainsFilterHeader": "所有域名"
+ },
+ "profile": {
+ "changeEmail": {
+ "errorEmailRequired": "需要有效的 Email 地址",
+ "title": "修改主要 Email",
+ "errorEmailInvalid": "这不是有效的 Email 地址"
+ },
+ "changeFallbackEmail": {
+ "errorEmailInvalid": "这不是有效的 Email 地址",
+ "title": "修改密码恢复 Email",
+ "errorEmailRequired": "需要有效的 Email 地址"
+ },
+ "changeDisplayName": {
+ "title": "修改你的昵称",
+ "errorNameInvalid": "这不是一个有效的昵称",
+ "errorDisplayNameRequired": "需要有效的昵称"
+ },
+ "createAppPassword": {
+ "title": "创建应用密码",
+ "name": "密码名称",
+ "errorNameRequired": "需要一个名称",
+ "app": "应用",
+ "description": "使用下面的密码来登录该应用:",
+ "copyNow": "请复制这个密码。出于安全考虑,这个密码以后无法再显示。",
+ "generatePassword": "生成密码"
+ },
+ "createApiToken": {
+ "title": "创建 API Token",
+ "name": "API Token 名称",
+ "errorNameRequired": "需要一个名称",
+ "description": "新 API Token:",
+ "copyNow": "请复制 API Token。出于安全考虑,这个 API Token 未来不会再显示。",
+ "generateToken": "生成 API Token"
+ },
+ "changePasswordAction": "修改密码",
+ "disable2FAAction": "停用双因素验证",
+ "enable2FAAction": "启用双因素验证",
+ "title": "个人资料",
+ "changeAvatar": {
+ "title": "修改头像",
+ "useGravatar": "使用 Gravatar",
+ "useCustomPicture": "使用自定义图片"
+ },
+ "primaryEmail": "主要 Email",
+ "passwordRecoveryEmail": "密码恢复 Email",
+ "language": "语言",
+ "changePassword": {
+ "currentPassword": "当前密码",
+ "newPassword": "新密码",
+ "newPasswordRepeat": "重复新密码",
+ "errorPasswordRequired": "密码是必填项",
+ "errorPasswordsDontMatch": "两次输入的密码不匹配",
+ "title": "修改密码",
+ "errorPasswordInvalid": "密码最短 8 位,最长 265 位"
+ },
+ "disable2FA": {
+ "title": "停用双因素验证",
+ "password": "密码",
+ "disable": "停用"
+ },
+ "enable2FA": {
+ "title": "启用双因素验证",
+ "token": "动态验证码",
+ "enable": "启用",
+ "setup2FA": "设置双因素验证",
+ "description": "您的 Cloudron 管理员要求所有用户启用双因素验证,在启用之前您无法使用控制面板。",
+ "authenticatorAppDescription": "使用 Google Authenticator (Android, iOS), FreeOTP authenticator (Android, iOS) 或类似的动态验证码 App 来扫描。"
+ },
+ "appPasswords": {
+ "name": "名称",
+ "noPasswordsPlaceholder": "没有创建 App 密码",
+ "title": "App 密码",
+ "app": "App",
+ "description": "App 密码是一种用来保护您的 Cloudron 账号的安全措施,如果您需要从不信任的移动应用或者客户端登录 Cloudron 应用,请使用你的用户名和此处生成的代用密码。",
+ "newPassword": "新密码",
+ "deletePasswordTooltip": "删除密码"
+ },
+ "apiTokens": {
+ "title": "API Tokens",
+ "newApiToken": "新 API Token",
+ "name": "名称",
+ "expiresAt": "过期时间",
+ "description": "使用这些个人 access tokens 来进行 Cloudron API 认证",
+ "noTokensPlaceholder": "没有创建 API Token",
+ "revokeTokenTooltip": "吊销 Token"
+ },
+ "loginTokens": {
+ "title": "登录 Token",
+ "description": "您有 {{ webadminTokenCount}} 个有效的 web token(s) 和 {{ cliTokenCount }} 个 CLI token(s).",
+ "logoutAll": "注销全部"
+ }
+ },
+ "backups": {
+ "title": "备份",
+ "location": {
+ "title": "位置",
+ "disabledList": "下列应用已经关闭自动备份:",
+ "provider": "提供商",
+ "location": "位置",
+ "endpoint": "Endpoint",
+ "format": "存储格式",
+ "configure": "配置",
+ "description": "Cloudron 会在指定的位置进行一次完全备份。"
+ },
+ "schedule": {
+ "title": "备份计划和保存时间",
+ "schedule": "备份计划",
+ "retentionPolicy": "保留时间",
+ "configure": "配置",
+ "description": "Cloudron 会基于该备份计划对系统进行完整备份,并保留该备份直至指定的保留时间。"
+ },
+ "listing": {
+ "title": "备份列表",
+ "noBackups": "当前没有已完成的备份",
+ "contents": "内容",
+ "version": "版本",
+ "noApps": "没有应用",
+ "appCount": "{{ appCount }} 个应用",
+ "cleanupBackups": "清理备份",
+ "backupNow": "现在备份",
+ "stopTask": "停止 {{ taskType === 'backup' ? '备份' : '清理' }}",
+ "tooltipDownloadBackupConfig": "下载备份配置"
+ },
+ "logs": {
+ "title": "日志",
+ "showLogs": "显示日志",
+ "description": "当上传这些日志到公开服务器时请小心,因为它可能包括敏感信息。"
+ },
+ "backupDetails": {
+ "title": "备份详情",
+ "id": "Id",
+ "date": "日期",
+ "version": "版本",
+ "format": "格式",
+ "list": "备份了下列 {{ appCount }} 个应用"
+ },
+ "backupFailed": {
+ "title": "无法创建备份"
+ },
+ "cleanupBackups": {
+ "title": "清理备份",
+ "cleanupNow": "现在清理",
+ "description": "Cloudron 会基于保留时间每天自动清理备份。这个动作会使备份立即被删除。"
+ },
+ "configureBackupSchedule": {
+ "title": "配置备份计划和保留时间",
+ "scheduleDescription": "选择 Cloudron 备份的日期和时间。请注意这个安排不要和 升级计划 重合。",
+ "hours": "小时",
+ "days": "",
+ "retentionPolicy": "保留时间",
+ "schedule": "备份计划"
+ },
+ "configureBackupStorage": {
+ "title": "配置备份的存储",
+ "provider": "存储提供商",
+ "mountPoint": "挂载点",
+ "mountPointDescription": "挂载点需要手动设置。请参阅 文档。",
+ "localDirectory": "本地备份目录",
+ "ext4Label": "备份目录是一个外部 EXT4 硬盘",
+ "hardlinksLabel": "使用硬链接",
+ "s3Endpoint": "终端节点",
+ "acceptSelfSignedCerts": "接受自签名证书",
+ "bucketName": "存储桶名称",
+ "prefix": "前缀",
+ "region": "区域",
+ "s3AccessKeyId": "Access key id",
+ "s3SecretAccessKey": "Secret access key",
+ "gcsServiceKey": "Service Account Key",
+ "format": "存储格式",
+ "noopNote": "这个选项会停用 Cloudron 的备份和恢复功能,仅应该被用于测试。请确保这台服务器已经使用其它方式备份。",
+ "formatChangeNote": "使用旧存储格式的备份需要被手动删除。",
+ "encryptionPassword": "加密密码(可选)",
+ "advancedSettings": "高级设置。",
+ "encryptionDescription": "请将此密码保存在一个安全的地方。Cloudron 不会为您保存此密码,如果丢失此密码,备份将无法恢复",
+ "uploadPartSizeDescription": "分块上传的大小。可以最多并行上传 3 块,并且需要同等大小的内存。",
+ "uploadPartSize": "分块上传大小",
+ "downloadConcurrency": "并行下载数量",
+ "downloadConcurrencyDescription": "当恢复备份时,并行下载的数量",
+ "uploadConcurrency": "并行上传数量",
+ "uploadConcurrencyDescription": "备份时同时上传的文件数量",
+ "encryptionPasswordPlaceholder": "使用密码来加密备份",
+ "encryptionPasswordRepeat": "重复密码",
+ "memoryLimit": "内存上限",
+ "memoryLimitDescription": "备份任务的内存限制。如果您增加了并发值,请调整内存上限。"
+ }
+ },
+ "main": {
+ "offline": "无法连接到 Cloudron,正在重新连接…",
+ "logout": "登出",
+ "dialog": {
+ "cancel": "取消",
+ "save": "保存",
+ "close": "关闭",
+ "no": "否",
+ "yes": "是"
+ },
+ "username": "用户名",
+ "displayName": "昵称",
+ "actions": "动作",
+ "table": {
+ "date": "日期"
+ },
+ "pagination": {
+ "prev": "上一页",
+ "next": "下一页",
+ "perPageSelector": "每页显示 {{ n }} 条"
+ },
+ "action": {
+ "reboot": "重启",
+ "logs": "日志"
+ },
+ "clipboard": {
+ "copied": "已复制到剪贴板",
+ "clickToCopy": "点击以复制到剪贴板",
+ "clickToCopyBackupId": "点击以复制 backup id 到剪贴板"
+ },
+ "rebootDialog": {
+ "description": "当您遇到意外行为,或者需要进行安全升级时可以重启服务器。在重启之后所有应用和服务会自动开始运行。",
+ "rebootAction": "现在重启",
+ "title": "确定要重启服务器?",
+ "warning": "重启期间,这台服务器上的所有应用都不可用!"
+ }
+ },
+ "appstore": {
+ "title": "App Store",
+ "category": {
+ "all": "所有",
+ "popular": "流行",
+ "newApps": "新应用",
+ "analytics": "分析",
+ "chat": "通信",
+ "blog": "博客",
+ "document": "文档",
+ "crm": "CRM",
+ "forum": "论坛",
+ "gallery": "相册",
+ "finance": "财务",
+ "git": "代码托管",
+ "email": "Email",
+ "game": "游戏",
+ "hosting": "Web 托管",
+ "media": "媒体",
+ "learning": "学习",
+ "notes": "笔记",
+ "project": "项目管理",
+ "wiki": "百科",
+ "vpn": "VPN",
+ "sync": "文件同步"
+ },
+ "noAppsFound": "没有应用。",
+ "appMissing": "找不到想要的应用?告诉我们。",
+ "unstable": "不稳定",
+ "installDialog": {
+ "lastUpdated": "最后更新 {{ date }}",
+ "memoryRequirement": "需要至少 {{ size }} 内存",
+ "location": "位置",
+ "locationPlaceholder": "留空以使用根域名",
+ "manualWarning": "手动为 {{ location }} 添加一条指向这个 Cloudron 公开 IP 的 A 记录",
+ "userManagement": "用户管理",
+ "userManagementNone": "这个应用使用其自带的用户管理。",
+ "userManagementLeaveToApp": "使用应用内置的用户管理",
+ "userManagementAllUsers": "允许这个 Cloudron 上的所有用户",
+ "userManagementMailbox": "所有在这个 Cloudron 上有邮箱的用户都有权限访问。",
+ "userManagementSelectUsers": "只允许以下用户和用户组",
+ "errorUserManagementSelectAtLeastOne": "请选择至少一个用户或用户组",
+ "users": "用户",
+ "groups": "用户组",
+ "lowOnResources": "这个 Cloudron 现在资源紧张。",
+ "pleaseUpgradeServer": "请升级到一个拥有更多内存的服务器,或者卸载不用的应用以释放资源。",
+ "subscriptionRequired": "如果想要安装更多应用,请购买付费订阅。",
+ "setupSubscriptionAction": "设置订阅服务",
+ "installAnywayAction": "仍要安装",
+ "installAction": "安装",
+ "configuredForCloudronEmail": "这个应用已经预先配置好使用 Cloudron Email 。",
+ "doInstallAction": "安装 {{ dnsOverwrite ? '并覆盖 DNS' : '' }}"
+ },
+ "appNotFoundDialog": {
+ "title": "无法找到应用",
+ "description": "找不到 ID 为 {{ appId }} 版本为 {{ version }} 的应用。"
+ },
+ "accountDialog": {
+ "titleSignUp": "注册 Cloudron.io",
+ "titleLogin": "登录到 Cloudron.io",
+ "email": "Email",
+ "password": "密码",
+ "2faToken": "双因素验证(如果已启用)",
+ "chooseAnOption": "请选择一个选项…",
+ "licenseCheckbox": "我接受 Cloudron 的授权协议",
+ "errorWrongPassword": "密码错误",
+ "loginAction": "登录",
+ "createAccountAction": "创建账户",
+ "switchToSignUpAction": "没有账户?注册",
+ "switchToLoginAction": "已有账户?登录",
+ "description": "这个账户会被用来使用 App Store 和管理你的订阅服务"
+ },
+ "categoryLabel": "分类",
+ "searchPlaceholder": "使用应用名称如 Github, Dropbox, Slack, Trello, ... 来搜索替代品"
+ },
+ "users": {
+ "title": "用户",
+ "newUserAction": "新用户",
+ "users": {
+ "user": "用户",
+ "groups": "用户组",
+ "superadminTooltip": "这个用户是超级管理员",
+ "adminTooltip": "这个用户是管理员",
+ "usermanagerTooltip": "这个用户可以管理用户组和其他用户",
+ "inactiveTooltip": "用户已停用",
+ "externalLdapTooltip": "使用外部 LDAP 目录",
+ "notActivatedYetTooltip": "用户尚未激活",
+ "editUserTooltip": "编辑用户",
+ "removeUserTooltip": "删除用户",
+ "empty": "没有用户",
+ "resetPasswordTooltip": "重设密码或发送邀请链接"
+ },
+ "groups": {
+ "title": "用户组",
+ "newGroupAction": "新用户组",
+ "name": "名称",
+ "users": "用户",
+ "externalLdapTooltip": "使用外部 LDAP 目录"
+ },
+ "settings": {
+ "title": "设置",
+ "allowProfileEditCheckbox": "允许用户编辑自己的名字和 Email",
+ "require2FACheckbox": "用户必须启用双因素验证",
+ "subscriptionRequiredAction": "现在就设置订阅",
+ "saveAction": "保存",
+ "subscriptionRequired": "这些功能只在付费订阅后可用。"
+ },
+ "externalLdap": {
+ "title": "LDAP",
+ "subscriptionRequired": "这个功能仅在付费订阅后可用。",
+ "subscriptionRequiredAction": "现在就设置订阅",
+ "noopInfo": "LDAP 认证未配置。",
+ "provider": "Provider",
+ "server": "服务 URL",
+ "acceptSelfSignedCert": "接受自签名证书",
+ "baseDn": "Base DN",
+ "filter": "Filter",
+ "usernameField": "用户名字段",
+ "syncGroups": "同步用户组",
+ "groupBaseDn": "用户组 Base DN",
+ "groupFilter": "用户组 Filter",
+ "groupnameField": "用户组名称字段",
+ "auth": "Auth",
+ "autocreateUsersOnLogin": "当用户登录到 Cloudron 时自动为他们创建账号",
+ "showLogsAction": "显示日志",
+ "syncAction": "同步",
+ "configureAction": "配置",
+ "bindUsername": "绑定 DN/用户名(可选)",
+ "bindPassword": "绑定密码(可选)",
+ "description": "Cloudron 会从外部 LDAP 或者 ActiveDirectory 服务同步用户和用户组。当验证用户时会在外部服务进行密码验证。同步需要被手动触发,无法自动进行。",
+ "errorSelfSignedCert": "服务器使用的是无效的或自签名的证书。"
+ },
+ "subscriptionDialog": {
+ "title": "需要订阅",
+ "description": "如需添加更多用户,请付费订阅。",
+ "setupAction": "设置订阅"
+ },
+ "addUserDialog": {
+ "title": "添加用户",
+ "sendInviteCheckbox": "发送邀请链接 Email",
+ "addUserAction": "添加用户"
+ },
+ "user": {
+ "fullName": "全名",
+ "username": "用户名",
+ "role": "角色",
+ "groups": "用户组",
+ "noGroups": "没有用户组。",
+ "errorEmailRequired": "Email 是必填项",
+ "errorInvalidEmail": "这不是有效的 Email",
+ "errorInvalidUsername": "这不是有效的用户名",
+ "usernamePlaceholder": "可选。如果留空,用户会在注册时自行提供",
+ "displayName": "昵称",
+ "email": "Email",
+ "primaryEmail": "主要 Email",
+ "errorDisplayNameRequired": "昵称是必填项",
+ "activeCheckbox": "激活用户",
+ "errorNotValidFullName": "这不是一个有效的名字",
+ "recoveryEmail": "密码恢复 Email"
+ },
+ "deleteUserDialog": {
+ "title": "删除用户 {{ username }}",
+ "deleteAction": "删除",
+ "description": "删除后,这个用户将无法使用控制面板或登录任何应用。请注意,应用内的用户数据不会被删除。"
+ },
+ "editUserDialog": {
+ "title": "编辑用户 {{ username }}",
+ "externalLdapWarning": "这个用户是从外部 LDAP 目录同步过来的。"
+ },
+ "addGroupDialog": {
+ "title": "添加用户组"
+ },
+ "group": {
+ "name": "名称",
+ "errorNameRequired": "名称是必填项",
+ "errorNameTooShort": "名称太短",
+ "errorNameTooLong": "名称太长",
+ "users": "用户",
+ "addGroupAction": "添加用户组"
+ },
+ "editGroupDialog": {
+ "title": "编辑用户组 {{ name }}",
+ "externalLdapWarning": "这个用户组是从外部 LDAP 目录同步过来的。"
+ },
+ "deleteGroupDialog": {
+ "title": "删除用户组 {{ name }}",
+ "deleteAction": "删除",
+ "description": "这个用户组里有 {{ memberCount }} 名用户。确定要删除吗?"
+ },
+ "passwordResetDialog": {
+ "title": "重设密码或给 {{ username }} 发送邀请链接",
+ "description": "使用下面的链接来重设 {{ username }} 的密码,或者重新邀请:",
+ "sendEmailLinkAction": "将链接用 Email 发送给用户"
+ },
+ "externalLdapDialog": {
+ "title": "配置 LDAP"
+ },
+ "role": {
+ "user": "用户",
+ "usermanager": "用户管理",
+ "admin": "管理员",
+ "owner": "超级管理员"
+ },
+ "searchPlaceholder": "搜索"
+ },
+ "network": {
+ "firewall": {
+ "title": "防火墙",
+ "blockedIpRanges": "已屏蔽的 IP 和 IP 段",
+ "blocklist": "{{ blockCount }} IP 已屏蔽",
+ "configure": {
+ "title": "防火墙配置",
+ "blocklistPlaceholder": "IP 地址或子网",
+ "description": "匹配的地址将无法连接到本服务器,包括邮件、控制面板和所有应用。请小心不要把自己锁在门外。"
+ }
+ },
+ "title": "网络",
+ "ip": {
+ "title": "IP 地址",
+ "description": "Cloudron 在设置 DNS 记录时会使用这个 IP 地址。",
+ "provider": "提供商",
+ "address": "IP 地址",
+ "interface": "网卡名称",
+ "configure": "配置",
+ "interfaceDescription": "这台服务器上可用的设备:",
+ "detected": "检测到"
+ },
+ "dyndns": {
+ "title": "动态 DNS",
+ "useLabel": "使用动态 DNS",
+ "saved": "已保存",
+ "description": "开启此选项以保证 IP 更换时 DNS 记录同步更新。这项功能帮助 Cloudron 在经常更换 IP 地址的网络环境下运行(如家庭网络)。"
+ },
+ "configureIp": {
+ "title": "配置 IP 提供商",
+ "providerGenericDescription": "这台服务器的公开 IP 会被自动检测到。"
+ }
+ },
+ "branding": {
+ "title": "品牌",
+ "cloudronName": "Cloudron 名称",
+ "logo": "Logo",
+ "footer": {
+ "title": "页脚",
+ "description": "通过 Markdown 在页脚中使用格式。",
+ "setupSubscriptionNow": "现在设置订阅",
+ "subscriptionRequired": "自定义页脚仅在付费订阅中可用。"
+ },
+ "changeLogo": {
+ "title": "选择 Cloudron 头像"
+ }
+ },
+ "emails": {
+ "title": "Email",
+ "domains": {
+ "title": "域名",
+ "domain": "域名",
+ "config": "配置",
+ "outbound": "仅发送邮件",
+ "disabled": "禁用",
+ "stats": "{{ mailboxCount }} 邮箱 / 使用:{{ usage }}",
+ "testEmailTooltip": "发送测试邮件"
+ },
+ "settings": {
+ "title": "设置",
+ "location": "邮件服务器位置",
+ "maxMailSize": "Email 大小限制",
+ "spamFilter": "过滤垃圾邮件",
+ "changeDomainProgress": "更改邮件域名:",
+ "solrFts": "全文搜索(Solr)",
+ "solrEnabled": "启用",
+ "solrDisabled": "停用",
+ "solrRunning": "运行中",
+ "solrNotRunning": "未运行",
+ "spamFilterOverview": "{{ blacklistCount }} 个地址已加入黑名单。",
+ "info": "这些全局设置会应用到所有域名上。"
+ },
+ "eventlog": {
+ "title": "事件日志",
+ "time": "时间",
+ "details": "详情",
+ "type": {
+ "outgoing": "发送",
+ "deferred": "推迟",
+ "incoming": "接收",
+ "queued": "队列",
+ "denied": "拒绝",
+ "bounce": "退信",
+ "deferredInfo": "向 {{ rcptTo | prettyEmailAddresses }} 发送邮件失败。{{ details.message || details.reason }}。会在 {{ details.delay }} 秒后重试。",
+ "outboundInfo": "从 {{ mailFrom | prettyEmailAddresses }} 发送给 {{ rcptTo | prettyEmailAddresses }} 的邮件已加入队列",
+ "receivedInfo": "将 {{ mailFrom | prettyEmailAddresses }} 发送的邮件保存到 {{ rcptTo | prettyEmailAddresses }}",
+ "deliveredInfo": "从 {{ mailFrom | prettyEmailAddresses }} 发送给 {{ rcptTo | prettyEmailAddresses }} 的邮件已送达",
+ "spamFilterTrainedInfo": "垃圾邮件过滤器使用邮箱的内容进行训练",
+ "spamFilterTrained": "垃圾邮件过滤器",
+ "bounceInfo": "为发送给 {{ rcptTo | prettyEmailAddresses }} 的邮件向 {{ mailFrom | prettyEmailAddresses }} 发送退信通知。 {{ details.message || details.reason }}",
+ "inboundInfo": "从 {{ mailFrom | prettyEmailAddresses }} 发送给 {{ rcptTo | prettyEmailAddresses }} 的邮件。垃圾邮件判定:{{ details.spamStatus.indexOf('Yes,') === 0 ? '是' : '否' }}",
+ "deniedInfo": "已拒绝 {{ remote.ip }} 的连接。{{ details.message || details.reason }}"
+ },
+ "showRawLogsAction": "显示原始日志",
+ "searchPlaceholder": "搜索",
+ "empty": "无事件日志。"
+ },
+ "changeDomainDialog": {
+ "title": "更改 Email 服务器位置",
+ "location": "位置",
+ "locationPlaceholder": "留空以使用根域名",
+ "manualInfo": "为 {{ domain }} 手动添加一条指向本 Cloudron 公开 IP 的 A 记录",
+ "description": "Cloudron 会对所有域名的 DNS 设置进行必要的更改,并重启邮件服务。所有 Email 客户端都需要重新设置,以使用新的 IMAP 和 SMTP 服务器。"
+ },
+ "changeMailSizeDialog": {
+ "title": "修改 Email 大小上限",
+ "description": "修改 Email 大小上限后需要重启邮件服务器。",
+ "size": "邮件大小上限(MB):"
+ },
+ "spamFilterDialog": {
+ "title": "垃圾邮件过滤",
+ "blacklisteAddressesInfo": "地址匹配的邮件会进入垃圾邮件文件夹。支持通配符( '*' 和 '?')。",
+ "customRules": "自定义垃圾邮件过滤规则",
+ "blacklisteAddressesPlaceholder": "邮件地址模式",
+ "customRulesPlaceholder": "自定义垃圾邮件过滤规则",
+ "blacklisteAddresses": "邮件地址黑名单"
+ },
+ "testMailDialog": {
+ "title": "为 {{ domain }} 发送测试邮件",
+ "mailTo": "收件人",
+ "mailToPlaceholder": "邮件地址",
+ "sendAction": "发送",
+ "description": "会为 no-reply@{{ domain }} 发送一封测试邮件到下面的地址。"
+ },
+ "solrConfig": {
+ "title": "全文搜索(Solr)",
+ "enableSolrCheckbox": "启用 Solr 全文搜索",
+ "notEnoughMemory": "请为邮件服务分配 3GB 内存以启用 Solr。",
+ "description": "Solr 可以提供快速的邮件全文搜索。 Solr 需要 邮件服务 被分配至少 3GB 内存。"
+ },
+ "typeFilterHeader": "所有事件"
+ },
+ "services": {
+ "title": "服务",
+ "description": "Cloudron 内置服务,实现例如数据库、邮件、认证等功能。",
+ "service": "服务",
+ "memoryUsage": "内存使用",
+ "memoryLimit": "内存限制",
+ "configureActionTooltip": "配置",
+ "restartActionTooltip": "重启",
+ "configure": {
+ "title": "配置 {{ name }}",
+ "memoryLimitDescription": "Cloudron 会分配这个数字的 50% 作为内存,另外 50% 作为 swap.",
+ "accessControl": "权限管理",
+ "requireAdminRoleLabel": "只有管理员用户才能使用 SFTP",
+ "resetToDefaults": "重置为默认选项",
+ "accessControlDescription": "允许非管理员用户使用 SFTP 会允许他们接触到配置文件和密钥。对于有些应用(如 WordPress),他们也可以记录到密码。"
+ }
+ },
+ "settings": {
+ "title": "设置",
+ "appstoreAccount": {
+ "title": "Cloudron.io 账户",
+ "description": "Cloudron.io 账户用来使用 App Store 和管理订阅。",
+ "setupAction": "设置账户",
+ "email": "账户 Email",
+ "subscription": "订阅",
+ "cloudronId": "Cloudron ID",
+ "subscriptionEndsAt": "已取消并将终止于",
+ "subscriptionSetupAction": "设置订阅",
+ "subscriptionChangeAction": "更改订阅",
+ "subscriptionReactivateAction": "重新激活订阅"
+ },
+ "timezone": {
+ "title": "时区",
+ "description": "当前的时区设置是 {{ timeZone }}。\n这项设置会被用于安排备份和更新任务。"
+ },
+ "updates": {
+ "title": "更新",
+ "autoUpdateDisabled": "平台和应用的自动更新已 停用。",
+ "currentSchedule": "当前平台和应用的自动更新计划是",
+ "version": "平台版本",
+ "showLogsAction": "显示日志",
+ "changeScheduleAction": "修改计划",
+ "checkForUpdatesAction": "检查更新",
+ "updateAvailableAction": "有更新可用",
+ "stopUpdateAction": "停止更新"
+ },
+ "privateDockerRegistry": {
+ "title": "私有 Docker 仓库",
+ "subscriptionRequired": "这项功能仅在付费计划中可用。",
+ "server": "服务器地址",
+ "username": "用户名",
+ "usernameNotSet": "未设置",
+ "configureAction": "配置仓库",
+ "description": "Cloudron 可以安装从私有 Docker 仓库安装 自定义的应用。",
+ "setupSubscriptionAction": "现在设置订阅"
+ },
+ "privateDockerRegistryDialog": {
+ "title": "私有仓库设置",
+ "email": "邮件(可选)",
+ "passwordToken": "密码 / Token"
+ },
+ "updateScheduleDialog": {
+ "title": "配置自动更新时间表",
+ "disableCheckbox": "停用自动更新",
+ "enableCheckbox": "启用自动更新",
+ "selectOne": "选择至少一个日期和时间",
+ "days": "星期",
+ "hours": "小时",
+ "description": "选择检查平台和应用更新的日子和时间。请注意这个时间不要和 备份时间 冲突。"
+ },
+ "updateDialog": {
+ "title": "升级 Cloudron 到",
+ "blockingApps": "下列应用不会更新,因为有未完成的操作:",
+ "blockingAppsInfo": "请等待上述操作完成。",
+ "changes": "更新了",
+ "skipBackupCheckbox": "跳过备份",
+ "updateAction": "升级",
+ "unstableWarning": "这个更新在尚未正式发布,不是稳定版本。如果需要升级,请自行承担风险。"
+ },
+ "language": {
+ "title": "语言",
+ "description": "在这里可以设置 Cloudron 的默认语言。这个设置同样会被应用于通知性的邮件,如用户邀请和密码重置。每个用户都可以单独设置自己的语言偏好,应用于自己的控制面板。"
+ }
+ },
+ "support": {
+ "title": "支持",
+ "ticket": {
+ "title": "工单",
+ "subscriptionRequired": "支持工单仅在付费订阅中可用。",
+ "subscriptionRequiredDescription": "您或许能在我们的文档中找到答案,或者在论坛上提问。",
+ "type": "类型",
+ "typeApp": "应用错误",
+ "typeBug": "Bug 反馈",
+ "typeEmail": "邮件错误",
+ "selectApp": "选择应用",
+ "topic": "主题",
+ "report": "报告",
+ "email": "Email",
+ "emailInfo": "(订阅邮件是 {{ email }})",
+ "sshCheckbox": "允许技术支持工程师使用 SSH 登录这台服务器",
+ "submitAction": "提交",
+ "reportPlaceholder": "描述你的问题",
+ "emailPlaceholder": "如有必要,提供一个不同的 Email 地址供我们联系您"
+ },
+ "remoteSupport": {
+ "title": "远程支持",
+ "subscriptionRequired": "远程支持仅在付费订阅中可用。",
+ "description": "开启此选项以允许技术支持工程师通过 SSH 登录到这台服务器上。",
+ "disableAction": "禁用技术支持的 SSH 登录权限",
+ "warning": "若非 Cloudron 的技术支持要求,请不要开启此选项。",
+ "enableAction": "启用技术支持的 SSH 登录权限"
+ }
+ },
+ "system": {
+ "title": "系统信息",
+ "diskUsage": {
+ "title": "硬盘使用",
+ "usageInfo": "{{ size | prettyDiskSize }} 中的 {{ available | prettyDiskSize }} 可用",
+ "diskContent": "这个 {{ type }} 硬盘分区包括",
+ "notAvailableYet": "尚不可用",
+ "mountedAt": "{{ filesystem }} 挂载于 {{ mountpoint }}"
+ },
+ "systemMemory": {
+ "title": "系统内存",
+ "graphSubtext": "图上各应用的线条不是累加的"
+ },
+ "cpuUsage": {
+ "graphTitle": "百分比",
+ "title": "CPU"
+ },
+ "selectPeriodLabel": "选择时间段"
+ },
+ "eventlog": {
+ "title": "事件日志",
+ "time": "时间",
+ "source": "来源",
+ "details": "详情",
+ "filterAllEvents": "所有事件",
+ "searchPlaceholder": "搜索"
+ },
+ "domains": {
+ "title": "域名和证书",
+ "addDomain": "添加域名",
+ "domain": "域名",
+ "provider": "提供商",
+ "tooltipEdit": "编辑域名",
+ "tooltipRemove": "删除域名",
+ "renewCerts": {
+ "title": "更新证书",
+ "renewAllAction": "更新所有证书",
+ "showLogsAction": "显示日志",
+ "description": "Cloudron 会自动更新 Let's Encrypt 证书。您也可以使用此选项以立即手动更新。"
+ },
+ "changeDashboardDomain": {
+ "title": "更改控制面板的域名",
+ "changeAction": "修改域名",
+ "cancelAction": "取消",
+ "showLogsAction": "显示日志",
+ "description": "这个操作会将控制面板和邮件服务移动到选定域名的 my 子域名下。"
+ },
+ "subscriptionRequired": {
+ "title": "需要订阅",
+ "description": "如要添加更多域名,请设置一个付费订阅。",
+ "setupAction": "设置订阅"
+ },
+ "domainDialog": {
+ "addTitle": "添加域名",
+ "editTitle": "配置 {{ domain }}",
+ "domain": "域名",
+ "provider": "DNS 提供商",
+ "route53AccessKeyId": "Access Key Id",
+ "route53SecretAccessKey": "Secret Access Key",
+ "gcdnsServiceAccountKey": "Service Account Key",
+ "digitalOceanToken": "DigitalOcean Token",
+ "gandiApiKey": "Gandi API Key",
+ "goDaddyApiKey": "API Key",
+ "goDaddyApiSecret": "API Secret",
+ "cloudflareTokenType": "Token Type",
+ "cloudflareTokenTypeGlobalApiKey": "Global API Key",
+ "cloudflareTokenTypeApiToken": "API Token",
+ "linodeToken": "Linode Token",
+ "nameComUsername": "Name.com Username",
+ "nameComApiToken": "API Token",
+ "namecheapUsername": "Namecheap Username",
+ "namecheapApiKey": "API Key",
+ "manualInfo": "所有 DNS 记录都要在应用安装之前被手动设置完成。",
+ "letsEncryptInfo": "Let's Encrypt 要求您的服务器开放 80 端口",
+ "advancedAction": "高级设置…",
+ "zoneName": "Zone Name (可选)",
+ "certProvider": "证书提供商",
+ "fallbackCert": "故障备用证书(可选)",
+ "fallbackCertCustomCert": "自定义证书",
+ "fallbackCertCustomCertInfo": "这个泛域名证书会被用于该域名下的所有应用。如未提供,会使用一个自动生成的自签名证书。",
+ "fallbackCertKeyPlaceholder": "密钥",
+ "fallbackCertCertificatePlaceholder": "证书",
+ "addDescription": "添加一个域名后,您就可以在该域名的子域名中安装应用。域名的 Email 请在 Email 设置中配置。",
+ "cloudflareEmail": "Cloudflare Email",
+ "namecheapInfo": "这个服务器的 IP 需要被添加在 API Key 的白名单里。",
+ "wildcardInfo": "将 *.{{ domain }} 和 {{ domain }} 的 A 记录都指向这台服务器的 IP。",
+ "fallbackCertInfo": "Cloudron 自动从 Let’s Encrypt 获取并更新证书。 当前的频率限制可以从 这里 找到。\n当 Let’s Encrypt 证书获取失败时,会使用这个泛域名证书代替。如果没有提供,当失败时会使用一个自签名的证书代替。"
+ },
+ "removeDialog": {
+ "title": "确定要删除 {{ domain }}?",
+ "description": "将会删除域名 {{ domain }}。",
+ "removeAction": "删除"
+ }
+ },
+ "notifications": {
+ "title": "通知",
+ "nonePending": "没有新通知!",
+ "dismissTooltip": "消除",
+ "clearAll": "清空所有"
+ },
+ "logs": {
+ "title": "日志",
+ "download": "下载完整日志",
+ "clear": "清空当前日志"
+ },
+ "terminal": {
+ "title": "终端",
+ "download": {
+ "title": "从 {{ name }} 下载",
+ "filePath": "文件或目录路径",
+ "download": "下载"
+ },
+ "upload": {
+ "title": "上传文件到 {{ name }}"
+ },
+ "scheduler": "计划任务 / Cron",
+ "restart": "重启",
+ "uploadToTmp": "上传到 /tmp",
+ "uploading": "上传中…",
+ "downloadAction": "下载",
+ "busy": {
+ "restarting": "正在重启应用…",
+ "restartingInPausedMode": "在暂停模式下重启应用…",
+ "resuming": "应用已恢复…",
+ "installing": "应用已安装…"
+ },
+ "contextmenu": {
+ "copy": "复制",
+ "clear": "清空",
+ "pasteInfo": "请使用 Ctrl+v 粘贴"
+ }
+ },
+ "filemanager": {
+ "title": "文件管理器",
+ "newDirectoryDialog": {
+ "create": "创建",
+ "title": "新文件夹"
+ },
+ "newFileDialog": {
+ "title": "新文件",
+ "create": "创建"
+ },
+ "renameDialog": {
+ "newName": "新文件名",
+ "rename": "重命名",
+ "title": "重命名 {{ fileName }}"
+ },
+ "chownDialog": {
+ "newOwner": "拥有者",
+ "change": "修改拥有者",
+ "recursiveCheckbox": "遍历文件夹修改拥有者",
+ "title": "修改文件 {{ fileName }} 的拥有者"
+ },
+ "uploadingDialog": {
+ "title": "正在上传文件 ({{ countDone }}/{{ count }})",
+ "errorAlreadyExists": "一个或多个文件已存在。",
+ "errorFailed": "一个或多个文件上传失败。请重试。",
+ "retry": "重试",
+ "overwrite": "覆盖",
+ "closeWarning": "在上传完成前请不要刷新此页面。"
+ },
+ "extractDialog": {
+ "title": "正在解压 {{ fileName }}",
+ "closeWarning": "在解压完成前请不要刷新本页面。"
+ },
+ "textEditorCloseDialog": {
+ "title": "文件有未保存的修改",
+ "details": "如果不保存文件,您的修改将丢失",
+ "dontSave": "不要保存"
+ },
+ "notFound": "找不到文件",
+ "toolbar": {
+ "new": "创建",
+ "upload": "上传",
+ "newFile": "新文件",
+ "uploadFolder": "上传文件夹",
+ "uploadFile": "上传文件",
+ "restartApp": "重启应用",
+ "openTerminal": "打开终端",
+ "openLogs": "打开日志",
+ "newFolder": "新文件夹"
+ },
+ "list": {
+ "name": "名称",
+ "size": "大小",
+ "owner": "拥有者",
+ "empty": "没有文件",
+ "menu": {
+ "rename": "重命名",
+ "chown": "修改拥有者",
+ "extract": "解压到此处",
+ "download": "下载",
+ "delete": "删除"
+ },
+ "symlink": "软链接到 {{ target }}"
+ },
+ "extract": {
+ "error": "解压失败:{{ message }}"
+ },
+ "newFile": {
+ "errorAlreadyExists": "该文件已经存在"
+ },
+ "status": {
+ "restartingApp": "正在重启应用"
+ },
+ "removeDialog": {
+ "reallyDelete": "确定要删除 {{ fileName }}?"
+ },
+ "newDirectory": {
+ "errorAlreadyExists": "该目录已经存在"
+ }
+ },
+ "email": {
+ "backAction": "回到邮件",
+ "config": {
+ "title": "{{ domain }} Email 设置",
+ "connectionDetails": "其他邮件客户端的连接详情"
+ },
+ "incoming": {
+ "title": "入站邮件",
+ "enableAction": "启用",
+ "sieveServerInfo": "ManageSieve",
+ "server": "服务器",
+ "port": "端口",
+ "tabTitle": "邮箱",
+ "mailboxes": {
+ "title": "邮箱",
+ "addAction": "新建",
+ "disabledTooltip": "这个域名的 Email 已停用",
+ "name": "名称",
+ "owner": "拥有者",
+ "aliases": "别名",
+ "usage": "已使用"
+ },
+ "mailinglists": {
+ "title": "邮件列表"
+ },
+ "disableAction": "停用",
+ "outgointServerInfo": "发送邮件(SMTP)",
+ "description": "Cloudron 的邮件服务器允许用户接收这个域名的邮件。Rainloop, SOGo, Roundcube 已经为使用 Cloudron Email 预先配置好。",
+ "loginHelp": "使用 mailboxname@{{ domain }} 和邮箱所有者的 Cloudron 密码来登录邮箱"
+ }
+ }
+}