diff --git a/lang/it.lang.json b/lang/it.lang.json
new file mode 100644
index 00000000..84b61622
--- /dev/null
+++ b/lang/it.lang.json
@@ -0,0 +1,675 @@
+{
+ "meta": {
+ "name": "Italiano",
+ "code": "it"
+ },
+ "webapp": {
+ "menu": {
+ "LiveView": "Dati in tempo reale",
+ "Settings": "Impostazioni",
+ "NetworkSettings": "Impostazioni di rete",
+ "NTPSettings": "Impostazioni NTP",
+ "MQTTSettings": "Impostazioni MQTT",
+ "InverterSettings": "Impostazioni Inverter",
+ "SecuritySettings": "Impostazioni di Sicurezza",
+ "DTUSettings": "Impostazioni DTU",
+ "DeviceManager": "Gestione Dispositivi",
+ "ConfigManagement": "Gestione Configurazione",
+ "FirmwareUpgrade": "Aggiornamento Firmware",
+ "DeviceReboot": "Riavvio DTU",
+ "Info": "Info",
+ "System": "Sistema",
+ "Network": "Rete",
+ "NTP": "NTP",
+ "MQTT": "MQTT",
+ "Console": "Console",
+ "About": "Informazioni DTU",
+ "Logout": "Esci",
+ "Login": "Login"
+ },
+ "base": {
+ "Loading": "Caricamento...",
+ "Reload": "Ricarica",
+ "Cancel": "Cancella",
+ "Save": "Salva",
+ "Refreshing": "Aggiorna",
+ "Pull": "Trascina in basso per aggiornare",
+ "Release": "Rilascia per aggiornare",
+ "Close": "Chiudi"
+ },
+ "Error": {
+ "Oops": "Oops!"
+ },
+ "localeswitcher": {
+ "Dark": "Scuro",
+ "Light": "Chiaro",
+ "Auto": "Automatico"
+ },
+ "apiresponse": {
+ "1001": "Settings saved!",
+ "1002": "No values found!",
+ "1003": "Data too large!",
+ "1004": "Failed to parse data!",
+ "1005": "Values are missing!",
+ "1006": "Write failed!",
+ "2001": "Serial cannot be zero!",
+ "2002": "Poll interval must be greater zero!",
+ "2003": "Invalid power level setting!",
+ "2004": "The frequency must be set between {min} and {max} kHz and must be a multiple of 250kHz!",
+ "2005": "Invalid country selection!",
+ "3001": "Not deleted anything!",
+ "3002": "Configuration resettet. Rebooting now...",
+ "4001": "@:apiresponse.2001",
+ "4002": "Name must between 1 and {max} characters long!",
+ "4003": "Only {max} inverters are supported!",
+ "4004": "Inverter created!",
+ "4005": "Invalid ID specified!",
+ "4006": "Invalid amount of max channel setting given!",
+ "4007": "Inverter changed!",
+ "4008": "Inverter deleted!",
+ "4009": "Inverter order saved!",
+ "5001": "@:apiresponse.2001",
+ "5002": "Limit must between 1 and {max}!",
+ "5003": "Invalid type specified!",
+ "5004": "Invalid inverter specified!",
+ "6001": "Reboot triggered!",
+ "6002": "Reboot cancled!",
+ "7001": "MQTT Server must between 1 and {max} characters long!",
+ "7002": "Username must not longer then {max} characters!",
+ "7003": "Password must not longer then {max} characters!",
+ "7004": "Topic must not longer then {max} characters!",
+ "7005": "Topic must not contain space characters!",
+ "7006": "Topic must end with slash (/)!",
+ "7007": "Port must be a number between 1 and 65535!",
+ "7008": "Certificate must not longer then {max} characters!",
+ "7009": "LWT topic must not longer then {max} characters!",
+ "7010": "LWT topic must not contain space characters!",
+ "7011": "LWT online value must not longer then {max} characters!",
+ "7012": "LWT offline value must not longer then {max} characters!",
+ "7013": "Publish interval must be a number between {min} and {max}!",
+ "7014": "Hass topic must not longer then {max} characters!",
+ "7015": "Hass topic must not contain space characters!",
+ "7016": "LWT QOS must not greater then {max}!",
+ "7017": "Client ID must not longer then {max} characters!",
+ "8001": "IP address is invalid!",
+ "8002": "Netmask is invalid!",
+ "8003": "Gateway is invalid!",
+ "8004": "DNS Server IP 1 is invalid!",
+ "8005": "DNS Server IP 2 is invalid!",
+ "8006": "Administrative AccessPoint Timeout value is invalid",
+ "9001": "NTP Server must between 1 and {max} characters long!",
+ "9002": "Timezone must between 1 and {max} characters long!",
+ "9003": "Timezone description must between 1 and {max} characters long!",
+ "9004": "Year must be a number between {min} and {max}!",
+ "9005": "Month must be a number between {min} and {max}!",
+ "9006": "Day must be a number between {min} and {max}!",
+ "9007": "Hour must be a number between {min} and {max}!",
+ "9008": "Minute must be a number between {min} and {max}!",
+ "9009": "Second must be a number between {min} and {max}!",
+ "9010": "Time updated!",
+ "10001": "Password must between 8 and {max} characters long!",
+ "10002": "Authentication successful!",
+ "11001": "@:apiresponse.2001",
+ "11002": "@:apiresponse:5004",
+ "12001": "Profil must between 1 and {max} characters long!"
+ },
+ "home": {
+ "LiveData": "Dati in tempo reale",
+ "SerialNumber": "Numero seriale: ",
+ "CurrentLimit": "Limite attuale: ",
+ "DataAge": "Aggiornamento Dati: ",
+ "Seconds": "{val} secondi",
+ "ShowSetInverterLimit": "Mostra / Imposta Limite di Potenza",
+ "TurnOnOff": "Accendi/Spegni Inverter",
+ "ShowInverterInfo": "Mostra info Inverter",
+ "ShowEventlog": "Mostra Log Eventi",
+ "UnreadMessages": "msg non letti",
+ "Loading": "@:base.Loading",
+ "EventLog": "Log Eventi",
+ "InverterInfo": "Info Inverter",
+ "LimitSettings": "Impostazioni Limite Potenza",
+ "LastLimitSetStatus": "Stato ultimo limite impostato:",
+ "SetLimit": "Imposta Limite a:",
+ "Relative": "Percentuale (%)",
+ "Absolute": "Assoluto (W)",
+ "LimitHint": "Nota: Se imposti il limite assoluto, il valore sul display sarà aggiornato dopo circa 4 minuti.",
+ "SetPersistent": "Imposta Limite in Modo Persistente",
+ "SetNonPersistent": "Imposta Limite Temporaneamente",
+ "PowerSettings": "Impostazioni Potenza",
+ "LastPowerSetStatus": "Ultimo Stato dell'Inverter:",
+ "TurnOn": "Accendi Inverter",
+ "TurnOff": "Spegni Inverter",
+ "Restart": "Riavvia Inverter",
+ "Failure": "Fallito",
+ "Pending": "In Attesa",
+ "Ok": "Ok",
+ "Unknown": "Sconosciuto",
+ "ShowGridProfile": "Mostra Settaggi Inverter",
+ "GridProfile": "Settaggi Inverter",
+ "LoadingInverter": "In attesa dei dati... (puo' richiedere fino a 10 secondi)",
+ "RadioStats": "Radio Statistics",
+ "TxRequest": "TX Request Count",
+ "RxSuccess": "RX Success",
+ "RxFailNothing": "RX Fail: Receive Nothing",
+ "RxFailPartial": "RX Fail: Receive Partial",
+ "RxFailCorrupt": "RX Fail: Receive Corrupt",
+ "TxReRequest": "TX Re-Request Fragment",
+ "StatsReset": "Reset Statistics",
+ "StatsResetting": "Resetting...",
+ "Rssi": "RSSI of last received packet",
+ "RssiHint": "HM inverters only support RSSI values < -64 dBm and > -64 dBm. In this case, -80 dbm and -30 dbm is shown.",
+ "dBm": "{dbm} dBm"
+ },
+ "eventlog": {
+ "Start": "Inizio",
+ "Stop": "Fine",
+ "Id": "ID",
+ "Message": "Messaggio"
+ },
+ "devinfo": {
+ "NoInfo": "Informazioni non disponibili",
+ "NoInfoLong": "Ancora nessuna informazione dall'inverter. Sto riprovando...",
+ "UnknownModel": "Modello sconosciuto! Per favore fornisci \"Hardware Part Number\" ed il modello (esempio HM-350) in una Issue su GitHub.",
+ "Serial": "Seriale",
+ "ProdYear": "Produzione Annua",
+ "ProdWeek": "Produzione Settimanale",
+ "Model": "Modello",
+ "DetectedMaxPower": "Rilevata potenza massima",
+ "BootloaderVersion": "Versione Bootloader",
+ "FirmwareVersion": "Versione Firmware",
+ "FirmwareBuildDate": "Data Firmware",
+ "HardwarePartNumber": "Hardware Part Number",
+ "HardwareVersion": "Hardware Version"
+ },
+ "gridprofile": {
+ "NoInfo": "@:devinfo.NoInfo",
+ "NoInfoLong": "@:devinfo.NoInfoLong",
+ "Name": "Nome",
+ "Version": "Versione",
+ "Enabled": "@:wifistationinfo.Enabled",
+ "Disabled": "@:wifistationinfo.Disabled",
+ "GridprofileSupport": "Supporto sviluppatori",
+ "GridprofileSupportLong": "Clicca qui per ulteriori informazioni."
+ },
+ "systeminfo": {
+ "SystemInfo": "Info Sistema",
+ "VersionError": "Errore ricezione della versione",
+ "VersionNew": "Nuova versione disponibile! Mostra aggiornamenti!",
+ "VersionOk": "Già aggiornato!"
+ },
+ "firmwareinfo": {
+ "FirmwareInformation": "Info Firmware",
+ "Hostname": "Hostname",
+ "SdkVersion": "SDK Version",
+ "ConfigVersion": "Config Version",
+ "FirmwareVersion": "Firmware Version / Git Hash",
+ "PioEnv": "PIO Environment",
+ "FirmwareVersionHint": "Click here to show information about your current version",
+ "FirmwareUpdate": "Firmware Update",
+ "FirmwareUpdateHint": "Click here to view the changes between your version and the latest version",
+ "FrmwareUpdateAllow": "By activating the update check, a request is sent to GitHub.com each time the page is called up to retrieve the currently available version. If you do not agree with this, leave this function deactivated.",
+ "ResetReason0": "Reset Reason CPU 0",
+ "ResetReason1": "Reset Reason CPU 1",
+ "ConfigSaveCount": "Config save count",
+ "Uptime": "Uptime",
+ "UptimeValue": "0 days {time} | 1 day {time} | {count} days {time}"
+ },
+ "hardwareinfo": {
+ "HardwareInformation": "Info Hardware",
+ "ChipModel": "Chip Model",
+ "ChipRevision": "Chip Revision",
+ "ChipCores": "Chip Cores",
+ "CpuFrequency": "CPU Frequency",
+ "Mhz": "MHz",
+ "CpuTemperature": "CPU Temperature",
+ "FlashSize": "Flash Memory Size"
+ },
+ "memoryinfo": {
+ "MemoryInformation": "Info Memoria",
+ "Type": "Tipo",
+ "Usage": "Uso",
+ "Free": "Libera",
+ "Used": "Usata",
+ "Size": "Dimensione",
+ "Heap": "Heap",
+ "PsRam": "PSRAM",
+ "LittleFs": "LittleFs",
+ "Sketch": "Sketch"
+ },
+ "heapdetails": {
+ "HeapDetails": "Dettagli memoria Heap",
+ "TotalFree": "Libera totale",
+ "LargestFreeBlock": "Blocco contiguo libero più grande",
+ "MaxUsage": "Massima utilizzata dall'avvio",
+ "Fragmentation": "Livello frammentazione"
+ },
+ "taskdetails": {
+ "TaskDetails": "Task Details",
+ "Name": "Name",
+ "StackFree": "Stack Free",
+ "Priority": "Priority",
+ "Task_idle0": "Idle (CPU Core 0)",
+ "Task_idle1": "Idle (CPU Core 1)",
+ "Task_wifi": "Wi-Fi",
+ "Task_tit": "TCP/IP",
+ "Task_looptask": "Arduino Main Loop",
+ "Task_asynctcp": "Async TCP",
+ "Task_mqttclient": "MQTT Client",
+ "Task_huaweican0": "AC Charger CAN",
+ "Task_pmsdm": "PowerMeter (SDM)",
+ "Task_pmhttpjson": "PowerMeter (HTTP+JSON)",
+ "Task_pmsml": "PowerMeter (Serial SML)",
+ "Task_pmhttpsml": "PowerMeter (HTTP+SML)"
+ },
+ "radioinfo": {
+ "RadioInformation": "Info Transceiver Radio",
+ "Status": "{module} Stato",
+ "ChipStatus": "{module} Chip Stato",
+ "ChipType": "{module} Chip Tipo",
+ "Connected": "connesso",
+ "NotConnected": "non connesso",
+ "Configured": "configurato",
+ "NotConfigured": "no configurato",
+ "Unknown": "Sconosciuto"
+ },
+ "networkinfo": {
+ "NetworkInformation": "Informazioni Rete"
+ },
+ "wifistationinfo": {
+ "WifiStationInfo": "Info WiFi (Station)",
+ "Status": "Stato",
+ "Enabled": "abilitato",
+ "Disabled": "disabilitato",
+ "Ssid": "SSID",
+ "Bssid": "BSSID",
+ "Quality": "Qualità",
+ "Rssi": "RSSI"
+ },
+ "wifiapinfo": {
+ "WifiApInfo": "Info WiFi (Access Point)",
+ "Status": "@:wifistationinfo.Status",
+ "Enabled": "@:wifistationinfo.Enabled",
+ "Disabled": "@:wifistationinfo.Disabled",
+ "Ssid": "@:wifistationinfo.Ssid",
+ "Stations": "Numero Stazioni"
+ },
+ "interfacenetworkinfo": {
+ "NetworkInterface": "Interfaccia di Rete ({iface})",
+ "Hostname": "@:firmwareinfo.Hostname",
+ "IpAddress": "Indirizzo IP",
+ "Netmask": "Netmask",
+ "DefaultGateway": "Gateway",
+ "Dns": "DNS {num}",
+ "MacAddress": "Indirizzo MAC"
+ },
+ "interfaceapinfo": {
+ "NetworkInterface": "Interfaccia di Rete (Access Point)",
+ "IpAddress": "@:interfacenetworkinfo.IpAddress",
+ "MacAddress": "@:interfacenetworkinfo.MacAddress"
+ },
+ "ntpinfo": {
+ "NtpInformation": "Informazioni NTP",
+ "ConfigurationSummary": "Riepilogo Configurazione",
+ "Server": "Server",
+ "Timezone": "Timezone",
+ "TimezoneDescription": "Descrizione Timezone",
+ "CurrentTime": "Data/Ora attuale",
+ "Status": "Stato",
+ "Synced": "sincronizzata",
+ "NotSynced": "non sincronizzata",
+ "LocalTime": "Ora Locale",
+ "Sunrise": "Alba",
+ "Sunset": "Tramonto",
+ "NotAvailable": "Non Disponibile",
+ "Mode": "Modalità",
+ "Day": "Giorno",
+ "Night": "Notte"
+ },
+ "mqttinfo": {
+ "MqttInformation": "Informazioni MQTT",
+ "ConfigurationSummary": "@:ntpinfo.ConfigurationSummary",
+ "Status": "@:ntpinfo.Status",
+ "Enabled": "Abilitato",
+ "Disabled": "Disabilitato",
+ "Server": "@:ntpinfo.Server",
+ "Port": "Porta",
+ "ClientId": "Client ID",
+ "Username": "Username",
+ "BaseTopic": "Topic Base",
+ "PublishInterval": "Intervallo Publish",
+ "Seconds": "{sec} secondi",
+ "CleanSession": "CleanSession",
+ "Retain": "Retain",
+ "Tls": "TLS",
+ "RootCertifcateInfo": "Info Certificato Root CA",
+ "TlsCertLogin": "Entra con Certificato TLS",
+ "ClientCertifcateInfo": "Info Certificato Client",
+ "HassSummary": "Riepilogo Configurazione Home Assistant MQTT Auto Discovery",
+ "Expire": "Scade",
+ "IndividualPanels": "Pannello Individuale",
+ "RuntimeSummary": "Riepilogo Runtime",
+ "ConnectionStatus": "Stato Connessione",
+ "Connected": "connesso",
+ "Disconnected": "disconnesso"
+ },
+ "console": {
+ "Console": "Console",
+ "VirtualDebugConsole": "Virtual Debug Console",
+ "EnableAutoScroll": "Abilita AutoScroll",
+ "ClearConsole": "Pulisci Console",
+ "CopyToClipboard": "Copia nella clipboard"
+ },
+ "inverterchannelinfo": {
+ "String": "Stringa {num}",
+ "Phase": "Fase {num}",
+ "General": "Generale"
+ },
+ "invertertotalinfo": {
+ "TotalYieldTotal": "Totale Energia",
+ "TotalYieldDay": "Energia Giornaliera",
+ "TotalPower": "Potenza Totale"
+ },
+ "inverterchannelproperty": {
+ "Power": "Potenza",
+ "Voltage": "Tensione",
+ "Current": "Corrente",
+ "Power DC": "PotenzaDC",
+ "YieldDay": "EnergiaOggi",
+ "YieldTotal": "EnergiaTotale",
+ "Frequency": "Frequenza",
+ "Temperature": "Temperatura",
+ "PowerFactor": "FattorePotenza",
+ "ReactivePower": "PotenzaReattiva",
+ "Efficiency": "Efficienza",
+ "Irradiation": "Irragiamento"
+ },
+ "maintenancereboot": {
+ "DeviceReboot": "Riavvio DTU",
+ "PerformReboot": "Fai il riavvio",
+ "Reboot": "Riavvio!",
+ "Cancel": "@:base.Cancel",
+ "RebootOpenDTU": "Riavvio OpenDTU",
+ "RebootQuestion": "Vuoi veramente riavvia il DTU?",
+ "RebootHint": "Nota: Normalmente non serve riavviare OpenDTU, in quanto esegue automaticamente il ravvio quando necessario (ad esempio dopo aggiornamento firmware). Modifiche alla configurazione vengono apprese subito, senza richiedere riavvio. Se devi riavviare a causa di un errore, ti preghiamo di segnalarcelo cliccando su https://github.com/tbnobody/OpenDTU/issues."
+ },
+ "dtuadmin": {
+ "DtuSettings": "Impostazioni DTU",
+ "DtuConfiguration": "Configurazione DTU",
+ "Serial": "Seriale:",
+ "SerialHint": "Sia il DTU che l'inverter hanno un numero seriale. Il numero seriale del DTU è generato casualmente al primo avvio e normalmente non serve modificarlo.",
+ "PollInterval": "Intervallo Interrogazione:",
+ "Seconds": "Secondi",
+ "NrfPaLevel": "Potenza Trasmettitore NRF24:",
+ "CmtPaLevel": "Potenza Trasmettitore CMT2300A:",
+ "NrfPaLevelHint": "Usato per inverter HM. Considera che aumentando la potenza aumentano il consumo di corrente.",
+ "CmtPaLevelHint": "Usato per inverter HMS/HMT. Considera che aumentando la potenza aumentano il consumo di corrente.",
+ "CmtCountry": "CMT2300A Zona/Paese:",
+ "CmtCountryHint": "Ogni zona ha una differente allocazione di frequenze utilizzabili.",
+ "country_0": "Europa ({min}MHz - {max}MHz)",
+ "country_1": "Nord America ({min}MHz - {max}MHz)",
+ "country_2": "Brasile ({min}MHz - {max}MHz)",
+ "CmtFrequency": "Frequenza CMT2300A:",
+ "CmtFrequencyHint": "Fai attenzione ad usare solo frequenze ammesse nel tuo Paese! Dopo la modifica frequenza, servono fino a 15 minuti affinché la connessione si ristabilisca.",
+ "CmtFrequencyWarning": "La frequenza selezionata è fuori dal range selezionato dal tuo Paese. Verifica che la frequenza selezionata non violi le normative del tuo Paese.",
+ "MHz": "{mhz} MHz",
+ "dBm": "{dbm} dBm",
+ "Min": "Minima ({db} dBm)",
+ "Low": "Bassa ({db} dBm)",
+ "High": "Alta ({db} dBm)",
+ "Max": "Massima ({db} dBm)"
+ },
+ "securityadmin": {
+ "SecuritySettings": "Impostazioni di Sicurezza",
+ "AdminPassword": "Password Admin",
+ "Password": "Password:",
+ "RepeatPassword": "Ripeti Password:",
+ "PasswordHint": "Nota: La password di amministrazione viene utilizzata non solo per accedere a questa interfaccia web (con user 'admin'), ma anche per connettersi al dispositivo in modalità AP. Deve avere da 8 a 64 caratteri.",
+ "Permissions": "Permessi",
+ "ReadOnly": "Permetti accessi web in sola lettura senza richiedere la password"
+ },
+ "ntpadmin": {
+ "NtpSettings": "Impostazioni NTP (Data / Ora)",
+ "NtpConfiguration": "Configurazione NTP",
+ "TimeServer": "Server NTP:",
+ "TimeServerHint": "Puoi lasciare il valore di default, nel caso in cui OpenDTU abbia accesso ad internet.",
+ "Timezone": "Timezone:",
+ "TimezoneConfig": "Timezone Config:",
+ "LocationConfiguration": "Configurazione Posizione",
+ "Longitude": "Longitudine",
+ "Latitude": "Latitudine",
+ "SunSetType": "Tipo di Alba",
+ "SunSetTypeHint": "Influenza il calcolo dell'ora di Alba/Tramonto. Dopo la conferma, è richiesto fino ad un minuto perché la modifica venga applicata.",
+ "OFFICIAL": "Standard dawn (90.8°)",
+ "NAUTICAL": "Nautical dawn (102°)",
+ "CIVIL": "Civil dawn (96°)",
+ "ASTONOMICAL": "Astronomical dawn (108°)",
+ "ManualTimeSynchronization": "Sincronizzazione Manuale Data/Ora",
+ "CurrentOpenDtuTime": "Ora OpenDTU attuale:",
+ "CurrentLocalTime": "Ora Locale attuale:",
+ "SynchronizeTime": "Sincronizza Data/Ora",
+ "SynchronizeTimeHint": "Nota: Puoi usare la sincronizzazione manuale per impostare Data/Ora nel caso che non sia disponibile un server NTP. In questo caso la data/ora viene persa in caso di mancata alimentazione. Inoltre, con la sincronizzazione manuale ci sarà una progressiva deriva della Data/Ora in quanto l'ESP32 non ha un Real Time Clock interno."
+ },
+ "networkadmin": {
+ "NetworkSettings": "Impostazioni di Rete",
+ "WifiConfiguration": "Configurazione WiFi",
+ "WifiSsid": "WiFi SSID:",
+ "WifiPassword": "WiFi Password:",
+ "Hostname": "Hostname:",
+ "HostnameHint": "Nota: Il testo %06X sarà rimpiazzato con le ultime 6 cifre del ChipID dell'ESP32 in formato esadecimale.",
+ "EnableDhcp": "Abilita DHCP",
+ "StaticIpConfiguration": "Configurazione IP Statico",
+ "IpAddress": "Indirizzo IP:",
+ "Netmask": "Netmask:",
+ "DefaultGateway": "Default Gateway:",
+ "Dns": "DNS Server {num}:",
+ "AdminAp": "Configurazione WiFi (Admin AccessPoint)",
+ "ApTimeout": "Timeout AccessPoint:",
+ "ApTimeoutHint": "Tempo in cui la modalità AccessPoint rimarrà attiva. 0=per sempre.",
+ "Minutes": "minuti",
+ "EnableMdns": "Abilita mDNS",
+ "MdnsSettings": "Configurazione mDNS"
+ },
+ "mqttadmin": {
+ "MqttSettings": "Impostazioni MQTT",
+ "MqttConfiguration": "Configurazione MQTT",
+ "EnableMqtt": "Abilita MQTT",
+ "EnableHass": "Abilita Home Assistant MQTT Auto Discovery",
+ "MqttBrokerParameter": "Parametri Broker MQTT",
+ "Hostname": "Hostname:",
+ "HostnameHint": "Hostname o Indirizzo IP",
+ "Port": "Porta:",
+ "ClientId": "Client ID:",
+ "Username": "Username:",
+ "UsernameHint": "Username, lascia vuoto per connessione anonima",
+ "Password": "Password:",
+ "PasswordHint": "Password, lascia vuota per connessione anonima",
+ "BaseTopic": "Topic Base:",
+ "BaseTopicHint": "Topic Base, prefisso da aggiungere (ad esempio inverter/)",
+ "PublishInterval": "Intervallo pubblicazione:",
+ "Seconds": "secondi",
+ "CleanSession": "Abilita CleanSession",
+ "EnableRetain": "Abilita Retain",
+ "EnableTls": "Abilita TLS",
+ "RootCa": "CA-Root-Certificate (default Letsencrypt):",
+ "TlsCertLoginEnable": "Abilita Login con certificato TLS",
+ "ClientCert": "TLS Client-Certificate:",
+ "ClientKey": "TLS Client-Key:",
+ "LwtParameters": "Parametri LWT",
+ "LwtTopic": "Topic LWT:",
+ "LwtTopicHint": "Topic LWT, da aggiungere al Topic Base",
+ "LwtOnline": "Messaggio 'Online0 LWT:",
+ "LwtOnlineHint": "Messaggio pubblicato quando online",
+ "LwtOffline": "Messaggio 'Offline' LWT:",
+ "LwtOfflineHint": "Messaggio che sarà pubblicato quando offline",
+ "LwtQos": "QoS (Quality of Service):",
+ "QOS0": "0 (Al massimo una volta)",
+ "QOS1": "1 (Almeno una volta)",
+ "QOS2": "2 (Esattamente una volta)",
+ "HassParameters": "Parametri Home Assistant MQTT Auto Discovery",
+ "HassPrefixTopic": "Prefisso Topic:",
+ "HassPrefixTopicHint": "Prefisso per Topic autodiscovery",
+ "HassRetain": "Abilita Retain",
+ "HassExpire": "Abilita Scadenza",
+ "HassIndividual": "Pannelli Individuale"
+ },
+ "inverteradmin": {
+ "InverterSettings": "Impostazioni Inverter",
+ "AddInverter": "Aggiungi nuovo Inverter",
+ "Serial": "Seriale",
+ "Name": "Nome",
+ "Add": "Aggiungi",
+ "AddHint": "Nota: Potrai aggiungere ulteriori parametri dopo aver creato l'inverter, cliccando sull'icona 'Matita' nella lista inverter.",
+ "InverterList": "Lista Inverter",
+ "Status": "Stato",
+ "Send": "Invia",
+ "Receive": "Riceve",
+ "StatusHint": "Nota: L'inverter viene alimentato dal fotovoltaico. Durante la notte, l'inverter risulterà spento. Le richieste potranno comunque essere trasmesse.",
+ "Type": "Tipo",
+ "Action": "Azione",
+ "SaveOrder": "Salva ordine",
+ "DeleteInverter": "Rimuovi inverter",
+ "EditInverter": "Modifica inverter",
+ "General": "Generale",
+ "String": "Stringa",
+ "Advanced": "Avanzate",
+ "InverterSerial": "Seriale Inverter:",
+ "InverterName": "Nome Inverter:",
+ "InverterNameHint": "Puoi specificare un nome qualsiasi da assegnare all'inverter.",
+ "InverterStatus": "Riceve / Invia",
+ "PollEnable": "Interroga inverter",
+ "PollEnableNight": "Interroga inverter di notte",
+ "CommandEnable": "Invia comandi",
+ "CommandEnableNight": "Invia comandi di notte",
+ "StringName": "Nome stringa {num}:",
+ "StringNameHint": "Qui puoi specificare un nome qualsiasi per la porta dell'inverter o per il pannello fotovoltaico collegato.",
+ "StringMaxPower": "Massima potenza stringa {num}:",
+ "StringMaxPowerHint": "Inserisci la potenza massima associata ai panelli fotovoltaici collegati a questa stringa.",
+ "StringYtOffset": "Offset Energia totale per la stringa {num}:",
+ "StringYtOffsetHint": "Questo offset viene utilizzato per azzerare il contatore qualora venga usato un inverter usato.",
+ "InverterHint": "*) Inserisci la potenza Wp dei pannelli fotovoltaici collegati alla stringa: servirà per calcolare l'irragiamento.",
+ "ReachableThreshold": "Reachable Threshold:",
+ "ReachableThresholdHint": "Definisce il numero di richieste fallite prima che l'inverter sia considerato irraggiungibile.",
+ "ZeroRuntime": "Azzera dati in tempo reale",
+ "ZeroRuntimeHint": "Azzera i dati in tempo reale (tranne l'Energia) se l'inverter diventa irraggiunbile.",
+ "ZeroDay": "Azzera dati energia alla mezzanotte",
+ "ZeroDayHint": "Questo vale se l'inverter risulta irraggiungibile. Se l'inverter risponde anche di notte, verranno mostrati i suoi valori. (Il Reset si verifica al riavvio)",
+ "ClearEventlog": "Clear Eventlog at midnight",
+ "Cancel": "@:base.Cancel",
+ "Save": "@:base.Save",
+ "DeleteMsg": "Sicuro di voler rimuovere l'inverter \"{name}\" con numero seriale {serial}?",
+ "Delete": "Rimuovi",
+ "YieldDayCorrection": "Correzione energia giornaliera",
+ "YieldDayCorrectionHint": "Aggiungi questo valore all'energia giornaliera se l'inverter è stato riavviato. Questo valore sarò resettato a mezzanotte"
+ },
+ "configadmin": {
+ "ConfigManagement": "Configurazione Gestione",
+ "BackupHeader": "Backup: Configurazione File Backup",
+ "BackupConfig": "Esegui il backup del file:",
+ "Backup": "Backup",
+ "Restore": "Ripristina",
+ "NoFileSelected": "Nessun file selezionato",
+ "RestoreHeader": "Ripristina: Ripristina File Configurazione",
+ "Back": "Indietro",
+ "UploadSuccess": "Invio File con successo",
+ "RestoreHint": "Nota: questa operazione rimpiazza la configurazione con quella contenuta nel file, e poi riavvia automaticamente OpenDTU per applicare la nuova configurazione.",
+ "ResetHeader": "Inizializza: Esegui il Factory Reset",
+ "FactoryResetButton": "Ripristina Configurazione Factory-Default",
+ "ResetHint": "Nota: Clicca 'Ripristina Configurazione Factory-Default' per stabilire le impostazioni di fabbrica e riavviare automaticamente OpenDTU.",
+ "FactoryReset": "Factory Reset",
+ "ResetMsg": "Sei sicuro di voler cancellare la configurazione attuale e applicare la configurazione di fabbrica?",
+ "ResetConfirm": "Factory Reset!",
+ "Cancel": "@:base.Cancel"
+ },
+ "login": {
+ "Login": "Login",
+ "SystemLogin": "System Login",
+ "Username": "Username",
+ "UsernameRequired": "Inserisci Username",
+ "Password": "Password",
+ "PasswordRequired": "Inserisci Password",
+ "LoginButton": "Login"
+ },
+ "firmwareupgrade": {
+ "FirmwareUpgrade": "Aggiornamento Firmware",
+ "Loading": "@:base.Loading",
+ "OtaError": "Errore aggiornamento OTA",
+ "Back": "Indietro",
+ "Retry": "Riprova",
+ "OtaStatus": "Stato OTA",
+ "OtaSuccess": "Aggiornamento firmware eseguito con successo. Il dispositivo si riavvierà automaticamente. Quando sarà nuovamente disponibile, l'interfacca sarà ricaricata automaticamente.",
+ "FirmwareUpload": "Invia Firmware",
+ "UploadProgress": "Upload in corso"
+ },
+ "about": {
+ "AboutOpendtu": "About OpenDTU",
+ "Documentation": "Documentazione",
+ "DocumentationBody": "La documentazione firmware e hardware sono disponibili qui: https://www.opendtu.solar",
+ "ProjectOrigin": "Origine Progetto",
+ "ProjectOriginBody1": "Questo progetto è partito da questa discussione. (Mikrocontroller.net)",
+ "ProjectOriginBody2": "Il protocollo Hoymiles è stato decriptato grazie al contributo volontario di molti programmatori. OpenDTU, fra gli altri, è stato sviluppato grazie a questo lavoro. Il progetto è distribuito con Licenza Open Source (GNU General Public License version 2).",
+ "ProjectOriginBody3": "Il software è stato sviluppato con le nostre migliori conoscenze e convinzioni. Tuttavia, non si assume alcuna responsabilità per malfunzionamenti o perdita di garanzia dell'inverter.",
+ "ProjectOriginBody4": "OpenDTU è disponibile gratuitamente. Se hai pagato per questo software, probabilmente sei stato truffato.",
+ "NewsUpdates": "Novità e Aggiornamenti",
+ "NewsUpdatesBody": "Nuovi aggiornamenti sono disponibili su Github: https://github.com/tbnobody/OpenDTU",
+ "ErrorReporting": "Segnalazione Errori",
+ "ErrorReportingBody": "Per favore segnala eventuali problemi utilizzando le funzionalità della piattaforma Github",
+ "Discussion": "Discussioni",
+ "DiscussionBody": "Puoi avviare una discussione con noi su Discord o Github"
+ },
+ "hints": {
+ "RadioProblem": "Non è possibile dialogare con il modulo radio selezionato. Controlla i collegamenti alla radio.",
+ "TimeSync": "La Data/Ora non sono state sincronizzate, ed in tal caso non è possibile eseguire richieste all'inverter. Questa condizione è normale appena avviato, tuttavia dopo un po' (>1 minuto), questa situazione potrebbe indicare un problema di accesso al server NTP.",
+ "TimeSyncLink": "Controlla le impostazioni Data/Ora.",
+ "DefaultPassword": "Stai usando la password di default per accedere all'interfaccia web e per la modalità Access Point di emergenza. Questo può portare ad un rischio di sicurezza.",
+ "DefaultPasswordLink": "Per favore cambia la password."
+ },
+ "deviceadmin": {
+ "DeviceManager": "Device-Manager",
+ "ParseError": "Parse error in 'pin_mapping.json': {error}",
+ "PinAssignment": "Impostazioni Connessione",
+ "SelectedProfile": "Profilo selezionato:",
+ "DefaultProfile": "(Impostazioni di Default)",
+ "ProfileHint": "Il tuo dispositivo potrebbe smettere di rispondere selezionando un profilo incompatibile. In questo caso, dovrai eseguire una cancellazione collegandoti all'interfaccia seriale.",
+ "Display": "Display",
+ "PowerSafe": "Abilita Risparmio Energetico:",
+ "PowerSafeHint": "Spegni il display se l'inverter non produce.",
+ "Screensaver": "Abilita Screensaver:",
+ "ScreensaverHint": "Muove il testo nel display per prevenire danneggiamento pixel. (Utile in caso di display OLED)",
+ "DiagramMode": "Modalità grafica:",
+ "off": "Off",
+ "small": "Small",
+ "fullscreen": "Fullscreen",
+ "DiagramDuration": "Durata grafico:",
+ "DiagramDurationHint": "Periodo che viene mostrato nel grafico.",
+ "Seconds": "Secondi",
+ "Contrast": "Contrasto ({contrast}):",
+ "Rotation": "Rotazione:",
+ "rot0": "Nessuna rotazione",
+ "rot90": "Rotazione 90 gradi",
+ "rot180": "Rotazione 180 gradi",
+ "rot270": "Rotazione 270 gradi",
+ "DisplayLanguage": "Linuga Display:",
+ "en": "English",
+ "de": "German",
+ "fr": "French",
+ "Leds": "LEDs",
+ "EqualBrightness": "Equalizza luminosità:",
+ "LedBrightness": "LED {led}, Luminosità ({brightness}):"
+ },
+ "pininfo": {
+ "PinOverview": "Panoramica della Connessione",
+ "Category": "Categoria",
+ "Name": "Nome",
+ "Number": "Numero",
+ "ValueSelected": "Selezionato",
+ "ValueActive": "Attivo"
+ },
+ "inputserial": {
+ "format_hoymiles": "Hoymiles serial number format",
+ "format_converted": "Already converted serial number",
+ "format_herf_valid": "E-Star HERF format (will be saved converted): {serial}",
+ "format_herf_invalid": "E-Star HERF format: Invalid checksum",
+ "format_unknown": "Unknown format"
+ }
+ }
+}