From 45a8d50e038aecc39c5afe91cc24313cf8349b20 Mon Sep 17 00:00:00 2001 From: angioletto Date: Thu, 13 Nov 2025 20:52:42 +0100 Subject: [PATCH 01/17] Add IT Translation --- frontend/src/locale/src/it.json | 647 ++++++++++++++++++++++++++++++++ 1 file changed, 647 insertions(+) create mode 100644 frontend/src/locale/src/it.json diff --git a/frontend/src/locale/src/it.json b/frontend/src/locale/src/it.json new file mode 100644 index 0000000000..064df04206 --- /dev/null +++ b/frontend/src/locale/src/it.json @@ -0,0 +1,647 @@ +{ + "access-list": { + "defaultMessage": "Lista di Accesso" + }, + "access-list.access-count": { + "defaultMessage": "{count} {count, plural, one {Regola} other {Regole}}" + }, + "access-list.auth-count": { + "defaultMessage": "{count} {count, plural, one {Utente} other {Utenti}}" + }, + "access-list.help-rules-last": { + "defaultMessage": "Quando esiste almeno 1 regola, questa regola di negazione verrà aggiunta per ultima" + }, + "access-list.help.rules-order": { + "defaultMessage": "Nota che le direttive di allow e deny saranno applicate nell'ordine in cui sono definite." + }, + "access-list.pass-auth": { + "defaultMessage": "Passa Autenticazione all'Upstream" + }, + "access-list.public": { + "defaultMessage": "Accessibile Pubblicamente" + }, + "access-list.public.subtitle": { + "defaultMessage": "Nessuna autenticazione base richiesta" + }, + "access-list.satisfy-any": { + "defaultMessage": "Soddisfa Qualsiasi" + }, + "access-list.subtitle": { + "defaultMessage": "{users} {users, plural, one {Utente} other {Utenti}}, {rules} {rules, plural, one {Regola} other {Regole}} - Creato: {date}" + }, + "access-lists": { + "defaultMessage": "Liste di Accesso" + }, + "action.add": { + "defaultMessage": "Aggiungi" + }, + "action.add-location": { + "defaultMessage": "Aggiungi Percorso" + }, + "action.close": { + "defaultMessage": "Chiudi" + }, + "action.delete": { + "defaultMessage": "Elimina" + }, + "action.disable": { + "defaultMessage": "Disabilita" + }, + "action.download": { + "defaultMessage": "Scarica" + }, + "action.edit": { + "defaultMessage": "Modifica" + }, + "action.enable": { + "defaultMessage": "Abilita" + }, + "action.permissions": { + "defaultMessage": "Permessi" + }, + "action.renew": { + "defaultMessage": "Rinnova" + }, + "action.view-details": { + "defaultMessage": "Visualizza Dettagli" + }, + "auditlogs": { + "defaultMessage": "Log di Audit" + }, + "cancel": { + "defaultMessage": "Annulla" + }, + "certificate": { + "defaultMessage": "Certificato" + }, + "certificate.custom-certificate": { + "defaultMessage": "Certificato" + }, + "certificate.custom-certificate-key": { + "defaultMessage": "Chiave del Certificato" + }, + "certificate.custom-intermediate": { + "defaultMessage": "Certificato Intermedio" + }, + "certificate.in-use": { + "defaultMessage": "In Uso" + }, + "certificate.none.subtitle": { + "defaultMessage": "Nessun certificato assegnato" + }, + "certificate.none.subtitle.for-http": { + "defaultMessage": "Questo host non utilizzerà HTTPS" + }, + "certificate.none.title": { + "defaultMessage": "Nessuno" + }, + "certificate.not-in-use": { + "defaultMessage": "Non in Uso" + }, + "certificate.renew": { + "defaultMessage": "Rinnova Certificato" + }, + "certificates": { + "defaultMessage": "Certificati" + }, + "certificates.custom": { + "defaultMessage": "Certificato Personalizzato" + }, + "certificates.custom.warning": { + "defaultMessage": "I file di chiave protetti da passphrase non sono supportati." + }, + "certificates.dns.credentials": { + "defaultMessage": "Contenuto File Credenziali" + }, + "certificates.dns.credentials-note": { + "defaultMessage": "Questo plugin richiede un file di configurazione contenente un token API o altre credenziali per il tuo provider" + }, + "certificates.dns.credentials-warning": { + "defaultMessage": "Questi dati saranno memorizzati in chiaro nel database e in un file!" + }, + "certificates.dns.propagation-seconds": { + "defaultMessage": "Secondi di Propagazione" + }, + "certificates.dns.propagation-seconds-note": { + "defaultMessage": "Lascia vuoto per usare il valore predefinito del plugin. Numero di secondi da attendere per la propagazione DNS." + }, + "certificates.dns.provider": { + "defaultMessage": "Provider DNS" + }, + "certificates.dns.warning": { + "defaultMessage": "Questa sezione richiede conoscenze su Certbot e i relativi plugin DNS. Consulta la documentazione del plugin." + }, + "certificates.http.reachability-404": { + "defaultMessage": "È stato trovato un server su questo dominio, ma non sembra essere Nginx Proxy Manager. Assicurati che il dominio punti all'IP dove è in esecuzione NPM." + }, + "certificates.http.reachability-failed-to-check": { + "defaultMessage": "Verifica di raggiungibilità fallita per errore di comunicazione con site24x7.com." + }, + "certificates.http.reachability-not-resolved": { + "defaultMessage": "Nessun server disponibile su questo dominio. Assicurati che il dominio esista e punti all'IP corretto e che la porta 80 sia inoltrata." + }, + "certificates.http.reachability-ok": { + "defaultMessage": "Il server è raggiungibile e la creazione dei certificati è possibile." + }, + "certificates.http.reachability-other": { + "defaultMessage": "È stato trovato un server su questo dominio ma ha restituito un codice di stato imprevisto {code}. È il server NPM? Controlla che il dominio punti correttamente all'IP." + }, + "certificates.http.reachability-wrong-data": { + "defaultMessage": "È stato trovato un server su questo dominio ma ha restituito dati imprevisti. È il server NPM? Controlla che il dominio punti correttamente all'IP." + }, + "certificates.http.test-results": { + "defaultMessage": "Risultati Test" + }, + "certificates.http.warning": { + "defaultMessage": "Questi domini devono già essere configurati per puntare a questa installazione." + }, + "certificates.request.subtitle": { + "defaultMessage": "con Let's Encrypt" + }, + "certificates.request.title": { + "defaultMessage": "Richiedi un nuovo Certificato" + }, + "column.access": { + "defaultMessage": "Accesso" + }, + "column.authorization": { + "defaultMessage": "Autorizzazione" + }, + "column.authorizations": { + "defaultMessage": "Autorizzazioni" + }, + "column.custom-locations": { + "defaultMessage": "Percorsi Personalizzati" + }, + "column.destination": { + "defaultMessage": "Destinazione" + }, + "column.details": { + "defaultMessage": "Dettagli" + }, + "column.email": { + "defaultMessage": "Email" + }, + "column.event": { + "defaultMessage": "Evento" + }, + "column.expires": { + "defaultMessage": "Scadenza" + }, + "column.http-code": { + "defaultMessage": "Codice HTTP" + }, + "column.incoming-port": { + "defaultMessage": "Porta in Ingresso" + }, + "column.name": { + "defaultMessage": "Nome" + }, + "column.protocol": { + "defaultMessage": "Protocollo" + }, + "column.provider": { + "defaultMessage": "Provider" + }, + "column.roles": { + "defaultMessage": "Ruoli" + }, + "column.rules": { + "defaultMessage": "Regole" + }, + "column.satisfy": { + "defaultMessage": "Condizione" + }, + "column.satisfy-all": { + "defaultMessage": "Tutte" + }, + "column.satisfy-any": { + "defaultMessage": "Qualsiasi" + }, + "column.scheme": { + "defaultMessage": "Schema" + }, + "column.source": { + "defaultMessage": "Origine" + }, + "column.ssl": { + "defaultMessage": "SSL" + }, + "column.status": { + "defaultMessage": "Stato" + }, + "created-on": { + "defaultMessage": "Creato: {date}" + }, + "dashboard": { + "defaultMessage": "Dashboard" + }, + "dead-host": { + "defaultMessage": "Host 404" + }, + "dead-hosts": { + "defaultMessage": "Hosts 404" + }, + "dead-hosts.count": { + "defaultMessage": "{count} {count, plural, one {Host 404} other {Hosts 404}}" + }, + "disabled": { + "defaultMessage": "Disabilitato" + }, + "domain-names": { + "defaultMessage": "Nomi di Dominio" + }, + "domain-names.max": { + "defaultMessage": "Massimo {count} nomi di dominio" + }, + "domain-names.placeholder": { + "defaultMessage": "Inizia a digitare per aggiungere un dominio..." + }, + "domain-names.wildcards-not-permitted": { + "defaultMessage": "Wildcard non consentite per questo tipo" + }, + "domain-names.wildcards-not-supported": { + "defaultMessage": "Wildcard non supportate per questa CA" + }, + "domains.force-ssl": { + "defaultMessage": "Forza SSL" + }, + "domains.hsts-enabled": { + "defaultMessage": "HSTS Abilitato" + }, + "domains.hsts-subdomains": { + "defaultMessage": "Sottodomini HSTS" + }, + "domains.http2-support": { + "defaultMessage": "Supporto HTTP/2" + }, + "domains.use-dns": { + "defaultMessage": "Usa Challenge DNS" + }, + "email-address": { + "defaultMessage": "Indirizzo Email" + }, + "empty-search": { + "defaultMessage": "Nessun risultato trovato" + }, + "empty-subtitle": { + "defaultMessage": "Perché non ne crei uno?" + }, + "enabled": { + "defaultMessage": "Abilitato" + }, + "error.access.at-least-one": { + "defaultMessage": "È richiesta almeno un'Autorizzazione o una Regola di Accesso" + }, + "error.access.duplicate-usernames": { + "defaultMessage": "I nomi utente devono essere unici" + }, + "error.invalid-auth": { + "defaultMessage": "Email o password non validi" + }, + "error.invalid-domain": { + "defaultMessage": "Dominio non valido: {domain}" + }, + "error.invalid-email": { + "defaultMessage": "Indirizzo email non valido" + }, + "error.max-character-length": { + "defaultMessage": "Lunghezza massima {max} caratter{max, plural, one {e} other {i}}" + }, + "error.max-domains": { + "defaultMessage": "Troppi domini, massimo {max}" + }, + "error.maximum": { + "defaultMessage": "Massimo {max}" + }, + "error.min-character-length": { + "defaultMessage": "Lunghezza minima {min} caratter{min, plural, one {e} other {i}}" + }, + "error.minimum": { + "defaultMessage": "Minimo {min}" + }, + "error.passwords-must-match": { + "defaultMessage": "Le password devono coincidere" + }, + "error.required": { + "defaultMessage": "Campo obbligatorio" + }, + "expires.on": { + "defaultMessage": "Scade: {date}" + }, + "footer.github-fork": { + "defaultMessage": "Forkami su GitHub" + }, + "host.flags.block-exploits": { + "defaultMessage": "Blocca Exploit Comuni" + }, + "host.flags.cache-assets": { + "defaultMessage": "Cache degli Asset" + }, + "host.flags.preserve-path": { + "defaultMessage": "Preserva Percorso" + }, + "host.flags.protocols": { + "defaultMessage": "Protocolli" + }, + "host.flags.websockets-upgrade": { + "defaultMessage": "Supporto WebSockets" + }, + "host.forward-port": { + "defaultMessage": "Porta di Destinazione" + }, + "host.forward-scheme": { + "defaultMessage": "Schema" + }, + "hosts": { + "defaultMessage": "Host" + }, + "http-only": { + "defaultMessage": "Solo HTTP" + }, + "lets-encrypt": { + "defaultMessage": "Let's Encrypt" + }, + "lets-encrypt-via-dns": { + "defaultMessage": "Let's Encrypt via DNS" + }, + "lets-encrypt-via-http": { + "defaultMessage": "Let's Encrypt via HTTP" + }, + "loading": { + "defaultMessage": "Caricamento…" + }, + "login.title": { + "defaultMessage": "Accedi al tuo account" + }, + "nginx-config.label": { + "defaultMessage": "Configurazione Nginx Personalizzata" + }, + "nginx-config.placeholder": { + "defaultMessage": "# Inserisci qui la configurazione Nginx personalizzata a tuo rischio!" + }, + "no-permission-error": { + "defaultMessage": "Non hai accesso per visualizzare questa pagina." + }, + "notfound.action": { + "defaultMessage": "Torna alla Home" + }, + "notfound.content": { + "defaultMessage": "Spiacenti, la pagina richiesta non è stata trovata" + }, + "notfound.title": { + "defaultMessage": "Oops… Hai trovato una pagina di errore" + }, + "notification.error": { + "defaultMessage": "Errore" + }, + "notification.object-deleted": { + "defaultMessage": "{object} è stato eliminato" + }, + "notification.object-disabled": { + "defaultMessage": "{object} è stato disabilitato" + }, + "notification.object-enabled": { + "defaultMessage": "{object} è stato abilitato" + }, + "notification.object-renewed": { + "defaultMessage": "{object} è stato rinnovato" + }, + "notification.object-saved": { + "defaultMessage": "{object} è stato salvato" + }, + "notification.success": { + "defaultMessage": "Successo" + }, + "object.actions-title": { + "defaultMessage": "{object} #{id}" + }, + "object.add": { + "defaultMessage": "Aggiungi {object}" + }, + "object.delete": { + "defaultMessage": "Elimina {object}" + }, + "object.delete.content": { + "defaultMessage": "Sei sicuro di voler eliminare questo {object}?" + }, + "object.edit": { + "defaultMessage": "Modifica {object}" + }, + "object.empty": { + "defaultMessage": "Nessun {objects} presente" + }, + "object.event.created": { + "defaultMessage": "{object} creato" + }, + "object.event.deleted": { + "defaultMessage": "{object} eliminato" + }, + "object.event.disabled": { + "defaultMessage": "{object} disabilitato" + }, + "object.event.enabled": { + "defaultMessage": "{object} abilitato" + }, + "object.event.renewed": { + "defaultMessage": "{object} rinnovato" + }, + "object.event.updated": { + "defaultMessage": "{object} aggiornato" + }, + "offline": { + "defaultMessage": "Offline" + }, + "online": { + "defaultMessage": "Online" + }, + "options": { + "defaultMessage": "Opzioni" + }, + "password": { + "defaultMessage": "Password" + }, + "password.generate": { + "defaultMessage": "Genera password casuale" + }, + "password.hide": { + "defaultMessage": "Nascondi Password" + }, + "password.show": { + "defaultMessage": "Mostra Password" + }, + "permissions.hidden": { + "defaultMessage": "Nascosto" + }, + "permissions.manage": { + "defaultMessage": "Gestisci" + }, + "permissions.view": { + "defaultMessage": "Sola Lettura" + }, + "permissions.visibility.all": { + "defaultMessage": "Tutti gli Elementi" + }, + "permissions.visibility.title": { + "defaultMessage": "Visibilità Elementi" + }, + "permissions.visibility.user": { + "defaultMessage": "Solo Elementi Creati" + }, + "proxy-host": { + "defaultMessage": "Proxy Host" + }, + "proxy-host.forward-host": { + "defaultMessage": "Hostname / IP di Destinazione" + }, + "proxy-hosts": { + "defaultMessage": "Proxy Hosts" + }, + "proxy-hosts.count": { + "defaultMessage": "{count} {count, plural, one {Host Proxy} other {Host Proxy}}" + }, + "public": { + "defaultMessage": "Pubblico" + }, + "redirection-host": { + "defaultMessage": "Host di Reindirizzamento" + }, + "redirection-host.forward-domain": { + "defaultMessage": "Dominio di Destinazione" + }, + "redirection-host.forward-http-code": { + "defaultMessage": "Codice HTTP" + }, + "redirection-hosts": { + "defaultMessage": "Host di Reindirizzamento" + }, + "redirection-hosts.count": { + "defaultMessage": "{count} {count, plural, one {Host di Reindirizzamento} other {Host di Reindirizzamento}}" + }, + "role.admin": { + "defaultMessage": "Amministratore" + }, + "role.standard-user": { + "defaultMessage": "Utente Standard" + }, + "save": { + "defaultMessage": "Salva" + }, + "setting": { + "defaultMessage": "Impostazione" + }, + "settings": { + "defaultMessage": "Impostazioni" + }, + "settings.default-site": { + "defaultMessage": "Sito Predefinito" + }, + "settings.default-site.404": { + "defaultMessage": "Pagina 404" + }, + "settings.default-site.444": { + "defaultMessage": "Nessuna Risposta (444)" + }, + "settings.default-site.congratulations": { + "defaultMessage": "Pagina di Congratulazioni" + }, + "settings.default-site.description": { + "defaultMessage": "Cosa mostrare quando Nginx riceve una richiesta da un host sconosciuto" + }, + "settings.default-site.html": { + "defaultMessage": "HTML Personalizzato" + }, + "settings.default-site.html.placeholder": { + "defaultMessage": "" + }, + "settings.default-site.redirect": { + "defaultMessage": "Reindirizza" + }, + "setup.preamble": { + "defaultMessage": "Inizia creando il tuo account amministratore." + }, + "setup.title": { + "defaultMessage": "Benvenuto!" + }, + "sign-in": { + "defaultMessage": "Accedi" + }, + "ssl-certificate": { + "defaultMessage": "Certificato SSL" + }, + "stream": { + "defaultMessage": "Stream" + }, + "stream.forward-host": { + "defaultMessage": "Host di Destinazione" + }, + "stream.incoming-port": { + "defaultMessage": "Porta in Ingresso" + }, + "streams": { + "defaultMessage": "Stream" + }, + "streams.count": { + "defaultMessage": "{count} {count, plural, one {Stream} other {Stream}}" + }, + "streams.tcp": { + "defaultMessage": "TCP" + }, + "streams.udp": { + "defaultMessage": "UDP" + }, + "test": { + "defaultMessage": "Test" + }, + "update-available": { + "defaultMessage": "Aggiornamento Disponibile: {latestVersion}" + }, + "user": { + "defaultMessage": "Utente" + }, + "user.change-password": { + "defaultMessage": "Cambia Password" + }, + "user.confirm-password": { + "defaultMessage": "Conferma Password" + }, + "user.current-password": { + "defaultMessage": "Password Attuale" + }, + "user.edit-profile": { + "defaultMessage": "Modifica Profilo" + }, + "user.full-name": { + "defaultMessage": "Nome Completo" + }, + "user.login-as": { + "defaultMessage": "Accedi come {name}" + }, + "user.logout": { + "defaultMessage": "Disconnetti" + }, + "user.new-password": { + "defaultMessage": "Nuova Password" + }, + "user.nickname": { + "defaultMessage": "Soprannome" + }, + "user.set-password": { + "defaultMessage": "Imposta Password" + }, + "user.set-permissions": { + "defaultMessage": "Imposta Permessi per {name}" + }, + "user.switch-dark": { + "defaultMessage": "Passa alla modalità Scura" + }, + "user.switch-light": { + "defaultMessage": "Passa alla modalità Chiara" + }, + "username": { + "defaultMessage": "Nome Utente" + }, + "users": { + "defaultMessage": "Utenti" + } +} From 4ca5cadd19f0d87584fc7509d7dffacdf9ae3a0d Mon Sep 17 00:00:00 2001 From: angioletto Date: Thu, 13 Nov 2025 20:55:35 +0100 Subject: [PATCH 02/17] Add Italian language support to IntlProvider --- frontend/src/locale/IntlProvider.tsx | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/frontend/src/locale/IntlProvider.tsx b/frontend/src/locale/IntlProvider.tsx index f0f347aeb8..8698ab1604 100755 --- a/frontend/src/locale/IntlProvider.tsx +++ b/frontend/src/locale/IntlProvider.tsx @@ -8,6 +8,7 @@ import langRu from "./lang/ru.json"; import langSk from "./lang/sk.json"; import langZh from "./lang/zh.json"; import langPl from "./lang/pl.json"; +import langIt from "./lang/it.json"; // first item of each array should be the language code, // not the country code @@ -21,6 +22,7 @@ const localeOptions = [ ["sk", "sk-SK"], ["zh", "zh-CN"], ["pl", "pl-PL"], + ["it", "it-IT"], ]; const loadMessages = (locale?: string): typeof langList & typeof langEn => { @@ -40,6 +42,8 @@ const loadMessages = (locale?: string): typeof langList & typeof langEn => { return Object.assign({}, langList, langEn, langZh); case "pl": return Object.assign({}, langList, langEn, langPl); + case "it": + return Object.assign({}, langList, langEn, langIt); default: return Object.assign({}, langList, langEn); } @@ -68,6 +72,9 @@ const getFlagCodeForLocale = (locale?: string) => { case "pl": case "pl-PL": return "PL"; + case "it": + case "it-IT": + return "IT"; default: return "EN"; } From 8774cfe5f96ba63feb0153402b5ca7e6aa56cdcc Mon Sep 17 00:00:00 2001 From: angioletto Date: Thu, 13 Nov 2025 20:56:42 +0100 Subject: [PATCH 03/17] Add Italian locale to check-locales --- frontend/check-locales.cjs | 1 + 1 file changed, 1 insertion(+) diff --git a/frontend/check-locales.cjs b/frontend/check-locales.cjs index 2429cbc223..b4ffe859d0 100755 --- a/frontend/check-locales.cjs +++ b/frontend/check-locales.cjs @@ -14,6 +14,7 @@ const allLocales = [ ["sk", "sk-SK"], ["zh", "zh-CN"], ["pl", "pl-PL"], + ["it", "it-IT"], ]; const ignoreUnused = [ From 8d8463ae413f8feb86ae4af397ee07192490e94c Mon Sep 17 00:00:00 2001 From: angioletto Date: Thu, 13 Nov 2025 20:57:52 +0100 Subject: [PATCH 04/17] Add Italian language support to HelpDoc --- frontend/src/locale/src/HelpDoc/index.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/frontend/src/locale/src/HelpDoc/index.ts b/frontend/src/locale/src/HelpDoc/index.ts index ad11af1661..339b8b4cba 100644 --- a/frontend/src/locale/src/HelpDoc/index.ts +++ b/frontend/src/locale/src/HelpDoc/index.ts @@ -4,8 +4,9 @@ import * as ja from "./ja/index"; import * as sk from "./sk/index"; import * as zh from "./zh/index"; import * as pl from "./pl/index"; +import * as it from "./it/index"; -const items: any = { en, de, ja, sk, zh, pl }; +const items: any = { en, de, ja, sk, zh, pl, it }; const fallbackLang = "en"; From fb53df862eb47d3b4018c2384e5404098f13ac44 Mon Sep 17 00:00:00 2001 From: angioletto Date: Thu, 13 Nov 2025 21:03:33 +0100 Subject: [PATCH 05/17] Add Italian documentation for Access Lists --- frontend/src/locale/src/HelpDoc/it/AccessLists.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 frontend/src/locale/src/HelpDoc/it/AccessLists.md diff --git a/frontend/src/locale/src/HelpDoc/it/AccessLists.md b/frontend/src/locale/src/HelpDoc/it/AccessLists.md new file mode 100644 index 0000000000..fa45ba5fa8 --- /dev/null +++ b/frontend/src/locale/src/HelpDoc/it/AccessLists.md @@ -0,0 +1,7 @@ +## Che cos'è una Lista di Accesso? + +La Lista di Accesso fornisce una blacklist o una whitelist di indirizzi IP specifici dei client insieme all'autenticazione per gli host proxy tramite autenticazione HTTP di base. + +È possibile configurare più regole client, nomi utente e password per un singolo lista di accesso e quindi applicarlo a uno o più host proxy. + +Ciò è particolarmente utile per i servizi web inoltrati che non dispongono di meccanismi di autenticazione integrati o quando si desidera proteggersi da client sconosciuti. From d0f7dc5b48595ec5a264efdcf15792f74435b3c6 Mon Sep 17 00:00:00 2001 From: angioletto Date: Thu, 13 Nov 2025 21:07:26 +0100 Subject: [PATCH 06/17] Add Italian HelpDoc for certificate options --- .../src/locale/src/HelpDoc/it/Certificates.md | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 frontend/src/locale/src/HelpDoc/it/Certificates.md diff --git a/frontend/src/locale/src/HelpDoc/it/Certificates.md b/frontend/src/locale/src/HelpDoc/it/Certificates.md new file mode 100644 index 0000000000..18cec7f285 --- /dev/null +++ b/frontend/src/locale/src/HelpDoc/it/Certificates.md @@ -0,0 +1,24 @@ +## Guida sui Certificati + +### Certificato HTTP + +Un certificato convalidato HTTP significa che i server Let's Encrypttenteranno di raggiungere i tuoi domini tramite HTTP (non HTTPS!) e, in caso di esito positivo, emetteranno il tuo certificato. + +Per questo metodo, dovrai creare un _Proxy Host_ per i tuoi domini chesia accessibile con HTTP e che punti a questa installazione Nginx. +Dopo che il certificato è stato rilasciato, puoi modificare il _Proxy Host_ per utilizzare questo certificato anche per le connessioni HTTPS. +Tuttavia, il _Proxy Host_ dovrà comunque essere configurato per l'accesso HTTP affinché il certificato possa essere rinnovato. + +Questo processo _non_ supporta i domini wildcard. + +### Certificato DNS + +Un certificato convalidato dal DNS richiede l'uso di un plugin DNS Provider. Questo DNS Provider verrà utilizzato per creare record temporanei sul tuo dominio, +quindi Let's Encrypt interrogherà tali record per assicurarsi che tu sia il proprietario e, in caso di esito positivo,rilascerà il tuo certificato. + +Non è necessario creare un _Proxy Host_ prima di richiedere questo tipo di certificato. Non è nemmeno necessario configurare il tuo _proxy host_ per l'accesso HTTP. + +Questo processo _supporta_ i domini wildcard. + +### Certificato personalizzato + +Utilizza questa opzione per caricare il tuo certificato SSL, fornito dalla tua autorità di certificazione. From c281fc54a13f15dff2131d02ce9c4fc2db0a4edd Mon Sep 17 00:00:00 2001 From: angioletto Date: Thu, 13 Nov 2025 21:08:50 +0100 Subject: [PATCH 07/17] Add Italian HelpDoc for 404 Host explanation --- frontend/src/locale/src/HelpDoc/it/DeadHost.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 frontend/src/locale/src/HelpDoc/it/DeadHost.md diff --git a/frontend/src/locale/src/HelpDoc/it/DeadHost.md b/frontend/src/locale/src/HelpDoc/it/DeadHost.md new file mode 100644 index 0000000000..c5be4b01c3 --- /dev/null +++ b/frontend/src/locale/src/HelpDoc/it/DeadHost.md @@ -0,0 +1,9 @@ +## Che cos'è un Host 404? + +Un Host 404 è semplicemente una configurazione host che mostra una pagina 404. + +Questo può essere utile quando il tuo dominio è elencato nei motori di ricerca e desideri fornire una pagina di errore più gradevole o specificare agli +indicizzatori di ricerca che le pagine del dominio non esistono più. + +Un altro vantaggio di avere questo host è quello di tracciare i log degli accessi e +visualizzare i referrer. From b23ceebfd86430ed0e70b1ae53c4c4c30cef1785 Mon Sep 17 00:00:00 2001 From: angioletto Date: Thu, 13 Nov 2025 21:09:23 +0100 Subject: [PATCH 08/17] Add Italian documentation for ProxyHost --- frontend/src/locale/src/HelpDoc/it/ProxyHost.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 frontend/src/locale/src/HelpDoc/it/ProxyHost.md diff --git a/frontend/src/locale/src/HelpDoc/it/ProxyHost.md b/frontend/src/locale/src/HelpDoc/it/ProxyHost.md new file mode 100644 index 0000000000..7139514212 --- /dev/null +++ b/frontend/src/locale/src/HelpDoc/it/ProxyHost.md @@ -0,0 +1,7 @@ +## Che cos'è un host proxy? + +Un host proxy è l'endpoint in entrata per un servizio web che si desidera inoltrare. + +Fornisce la terminazione SSL opzionale per il servizio che potrebbe non avere il supporto SSL integrato. + +Gli host proxy sono l'uso più comune per Nginx Proxy Manager. From 5fc9febf1ff1b7b9627a01df63f849fcb753809e Mon Sep 17 00:00:00 2001 From: angioletto Date: Thu, 13 Nov 2025 21:09:40 +0100 Subject: [PATCH 09/17] Update title of ProxyHost.md in Italian --- frontend/src/locale/src/HelpDoc/it/ProxyHost.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/locale/src/HelpDoc/it/ProxyHost.md b/frontend/src/locale/src/HelpDoc/it/ProxyHost.md index 7139514212..bc1dd534cf 100644 --- a/frontend/src/locale/src/HelpDoc/it/ProxyHost.md +++ b/frontend/src/locale/src/HelpDoc/it/ProxyHost.md @@ -1,4 +1,4 @@ -## Che cos'è un host proxy? +## Che cos'è un Proxy Host? Un host proxy è l'endpoint in entrata per un servizio web che si desidera inoltrare. From bc341c1dffd978580251b9a3afb072945809f33d Mon Sep 17 00:00:00 2001 From: angioletto Date: Thu, 13 Nov 2025 21:10:36 +0100 Subject: [PATCH 10/17] Add RedirectionHosts.md with explanation in Italian --- frontend/src/locale/src/HelpDoc/it/RedirectionHosts.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 frontend/src/locale/src/HelpDoc/it/RedirectionHosts.md diff --git a/frontend/src/locale/src/HelpDoc/it/RedirectionHosts.md b/frontend/src/locale/src/HelpDoc/it/RedirectionHosts.md new file mode 100644 index 0000000000..9971774444 --- /dev/null +++ b/frontend/src/locale/src/HelpDoc/it/RedirectionHosts.md @@ -0,0 +1,7 @@ +## Che cos'è un Host di reindirizzamento? + +Un Host di reindirizzamento reindirizza le richieste provenienti dal dominio in entrata e indirizza il +visitatore verso un altro dominio. + +Il motivo più comune per utilizzare questo tipo di host è quando il tuo sito web cambia +dominio, ma hai ancora link di motori di ricerca o referrer che puntano al vecchio dominio. From 8ef65caa5abee764c9ce2222f103602955538c0f Mon Sep 17 00:00:00 2001 From: angioletto Date: Thu, 13 Nov 2025 21:11:19 +0100 Subject: [PATCH 11/17] Add Italian documentation for Streams feature --- frontend/src/locale/src/HelpDoc/it/Streams.md | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 frontend/src/locale/src/HelpDoc/it/Streams.md diff --git a/frontend/src/locale/src/HelpDoc/it/Streams.md b/frontend/src/locale/src/HelpDoc/it/Streams.md new file mode 100644 index 0000000000..aa95969c2e --- /dev/null +++ b/frontend/src/locale/src/HelpDoc/it/Streams.md @@ -0,0 +1,6 @@ +## Che cos'è uno Stream? + +Una funzionalità relativamente nuova per Nginx, uno Stream serve a inoltrare il traffico TCP/UDP +direttamente a un altro computer sulla rete. + +Se gestisci server di gioco, FTP o SSH, questa funzionalità può rivelarsi molto utile. From 74cbfb2c5890db36732d0460132666d26453488a Mon Sep 17 00:00:00 2001 From: angioletto Date: Thu, 13 Nov 2025 21:12:15 +0100 Subject: [PATCH 12/17] Create indes.ts to export HelpDoc modules --- frontend/src/locale/src/HelpDoc/it/indes.ts | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 frontend/src/locale/src/HelpDoc/it/indes.ts diff --git a/frontend/src/locale/src/HelpDoc/it/indes.ts b/frontend/src/locale/src/HelpDoc/it/indes.ts new file mode 100644 index 0000000000..a9bb46ba7c --- /dev/null +++ b/frontend/src/locale/src/HelpDoc/it/indes.ts @@ -0,0 +1,6 @@ +export * as AccessLists from "./AccessLists.md"; +export * as Certificates from "./Certificates.md"; +export * as DeadHosts from "./DeadHosts.md"; +export * as ProxyHosts from "./ProxyHosts.md"; +export * as RedirectionHosts from "./RedirectionHosts.md"; +export * as Streams from "./Streams.md"; From 0bcfe0bba621668462ba268dd30842f4bc2cadc9 Mon Sep 17 00:00:00 2001 From: angioletto Date: Thu, 13 Nov 2025 21:12:52 +0100 Subject: [PATCH 13/17] Add Italian language support to lang-list.json --- frontend/src/locale/src/lang-list.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/frontend/src/locale/src/lang-list.json b/frontend/src/locale/src/lang-list.json index 5e3a5c4c70..463896b0b8 100755 --- a/frontend/src/locale/src/lang-list.json +++ b/frontend/src/locale/src/lang-list.json @@ -22,5 +22,8 @@ }, "locale-pl-PL": { "defaultMessage": "Polski" + }, + "locale-it-IT": { + "defaultMessage": "Italiano" } } From 5288fbd7af4d515f9201a1f7a76f8d533850637a Mon Sep 17 00:00:00 2001 From: angioletto Date: Fri, 14 Nov 2025 07:18:14 +0100 Subject: [PATCH 14/17] Update index.ts --- frontend/src/locale/src/HelpDoc/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/locale/src/HelpDoc/index.ts b/frontend/src/locale/src/HelpDoc/index.ts index 339b8b4cba..d75fc21a7c 100644 --- a/frontend/src/locale/src/HelpDoc/index.ts +++ b/frontend/src/locale/src/HelpDoc/index.ts @@ -1,9 +1,9 @@ import * as de from "./de/index"; import * as en from "./en/index"; import * as ja from "./ja/index"; +import * as pl from "./pl/index"; import * as sk from "./sk/index"; import * as zh from "./zh/index"; -import * as pl from "./pl/index"; import * as it from "./it/index"; const items: any = { en, de, ja, sk, zh, pl, it }; From 60f3ee03c0f9322cf781e57fa236b5b87b424c12 Mon Sep 17 00:00:00 2001 From: angioletto Date: Fri, 14 Nov 2025 08:00:30 +0100 Subject: [PATCH 15/17] Fix typo in file name from 'indes.ts' to 'index.ts' typing error --- frontend/src/locale/src/HelpDoc/it/{indes.ts => index.ts} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename frontend/src/locale/src/HelpDoc/it/{indes.ts => index.ts} (100%) diff --git a/frontend/src/locale/src/HelpDoc/it/indes.ts b/frontend/src/locale/src/HelpDoc/it/index.ts similarity index 100% rename from frontend/src/locale/src/HelpDoc/it/indes.ts rename to frontend/src/locale/src/HelpDoc/it/index.ts From 9d8c4cc30be9cc32c21bd39672aa763cd90f1acc Mon Sep 17 00:00:00 2001 From: angioletto Date: Fri, 14 Nov 2025 08:14:26 +0100 Subject: [PATCH 16/17] Rename DeadHost.md to DeadHosts.md --- frontend/src/locale/src/HelpDoc/it/{DeadHost.md => DeadHosts.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename frontend/src/locale/src/HelpDoc/it/{DeadHost.md => DeadHosts.md} (100%) diff --git a/frontend/src/locale/src/HelpDoc/it/DeadHost.md b/frontend/src/locale/src/HelpDoc/it/DeadHosts.md similarity index 100% rename from frontend/src/locale/src/HelpDoc/it/DeadHost.md rename to frontend/src/locale/src/HelpDoc/it/DeadHosts.md From 6cae088432b52bdb21edf5822b739a9614344e8c Mon Sep 17 00:00:00 2001 From: angioletto Date: Fri, 14 Nov 2025 08:16:41 +0100 Subject: [PATCH 17/17] Rename ProxyHost.md to ProxyHosts.md i think have problem with letter s ahaha --- .../src/locale/src/HelpDoc/it/{ProxyHost.md => ProxyHosts.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename frontend/src/locale/src/HelpDoc/it/{ProxyHost.md => ProxyHosts.md} (100%) diff --git a/frontend/src/locale/src/HelpDoc/it/ProxyHost.md b/frontend/src/locale/src/HelpDoc/it/ProxyHosts.md similarity index 100% rename from frontend/src/locale/src/HelpDoc/it/ProxyHost.md rename to frontend/src/locale/src/HelpDoc/it/ProxyHosts.md