mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-06 07:49:52 +03:00
add it-translations
This commit is contained in:
@@ -25,7 +25,7 @@
|
||||
"@mui/material": "^5.13.6",
|
||||
"@table-library/react-table-library": "4.1.4",
|
||||
"@types/lodash-es": "^4.17.7",
|
||||
"@types/node": "^20.3.2",
|
||||
"@types/node": "^20.3.3",
|
||||
"@types/react": "^18.2.14",
|
||||
"@types/react-dom": "^18.2.6",
|
||||
"@types/react-router-dom": "^5.3.3",
|
||||
@@ -38,7 +38,7 @@
|
||||
"react-dom": "latest",
|
||||
"react-dropzone": "^14.2.3",
|
||||
"react-icons": "^4.10.1",
|
||||
"react-router-dom": "^6.14.0",
|
||||
"react-router-dom": "^6.14.1",
|
||||
"react-toastify": "^9.1.3",
|
||||
"sockette": "^2.0.6",
|
||||
"typesafe-i18n": "^5.24.3",
|
||||
@@ -48,7 +48,7 @@
|
||||
"@typescript-eslint/eslint-plugin": "^5.60.1",
|
||||
"@typescript-eslint/parser": "^5.60.1",
|
||||
"@vitejs/plugin-react-swc": "^3.3.2",
|
||||
"eslint": "^8.43.0",
|
||||
"eslint": "^8.44.0",
|
||||
"eslint-config-airbnb": "^19.0.4",
|
||||
"eslint-config-airbnb-typescript": "^17.0.0",
|
||||
"eslint-config-prettier": "^8.8.0",
|
||||
|
||||
@@ -16,6 +16,7 @@ import { AuthenticationContext } from 'contexts/authentication';
|
||||
import { ReactComponent as DEflag } from 'i18n/DE.svg';
|
||||
import { ReactComponent as FRflag } from 'i18n/FR.svg';
|
||||
import { ReactComponent as GBflag } from 'i18n/GB.svg';
|
||||
import { ReactComponent as ITflag } from 'i18n/IT.svg';
|
||||
import { ReactComponent as NLflag } from 'i18n/NL.svg';
|
||||
import { ReactComponent as NOflag } from 'i18n/NO.svg';
|
||||
import { ReactComponent as PLflag } from 'i18n/PL.svg';
|
||||
@@ -122,6 +123,10 @@ const SignIn: FC = () => {
|
||||
<FRflag style={{ width: 24 }} />
|
||||
FR
|
||||
</Button>
|
||||
<Button size="small" variant={locale === 'it' ? 'contained' : 'outlined'} onClick={() => selectLocale('it')}>
|
||||
<ITflag style={{ width: 24 }} />
|
||||
IT
|
||||
</Button>
|
||||
<Button size="small" variant={locale === 'nl' ? 'contained' : 'outlined'} onClick={() => selectLocale('nl')}>
|
||||
<NLflag style={{ width: 24 }} />
|
||||
NL
|
||||
|
||||
@@ -22,6 +22,7 @@ import { AuthenticatedContext } from 'contexts/authentication';
|
||||
import { ReactComponent as DEflag } from 'i18n/DE.svg';
|
||||
import { ReactComponent as FRflag } from 'i18n/FR.svg';
|
||||
import { ReactComponent as GBflag } from 'i18n/GB.svg';
|
||||
import { ReactComponent as ITflag } from 'i18n/IT.svg';
|
||||
import { ReactComponent as NLflag } from 'i18n/NL.svg';
|
||||
import { ReactComponent as NOflag } from 'i18n/NO.svg';
|
||||
import { ReactComponent as PLflag } from 'i18n/PL.svg';
|
||||
@@ -86,6 +87,10 @@ const LayoutAuthMenu: FC = () => {
|
||||
<FRflag style={{ width: 16, verticalAlign: 'middle' }} />
|
||||
FR
|
||||
</MenuItem>
|
||||
<MenuItem key="it" value="it">
|
||||
<ITflag style={{ width: 16, verticalAlign: 'middle' }} />
|
||||
IT
|
||||
</MenuItem>
|
||||
<MenuItem key="nl" value="nl">
|
||||
<NLflag style={{ width: 16, verticalAlign: 'middle' }} />
|
||||
NL
|
||||
|
||||
1
interface/src/i18n/IT.svg
Normal file
1
interface/src/i18n/IT.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 513 342"><path fill="#FFF" d="M342 0H0v341.3h512V0z"/><path fill="#6DA544" d="M0 0h171v342H0z"/><path fill="#D80027" d="M342 0h171v342H342z"/></svg>
|
||||
|
After Width: | Height: | Size: 201 B |
331
interface/src/i18n/it/index.ts
Normal file
331
interface/src/i18n/it/index.ts
Normal file
@@ -0,0 +1,331 @@
|
||||
import type { Translation } from '../i18n-types';
|
||||
/* prettier-ignore */
|
||||
/* eslint-disable */
|
||||
|
||||
const it: Translation = {
|
||||
LANGUAGE: 'Lingua',
|
||||
RETRY: 'Riprovare',
|
||||
LOADING: 'Caricamento',
|
||||
IS_REQUIRED: '{0} é richiesto',
|
||||
SIGN_IN: 'Connettersi',
|
||||
SIGN_OUT: 'Disconnettersi',
|
||||
USERNAME: 'Nome Utente',
|
||||
PASSWORD: 'Password',
|
||||
SU_PASSWORD: 'su Password',
|
||||
DASHBOARD: 'Pannello di Controllo',
|
||||
SETTINGS_OF: 'Impostazioni {0}',
|
||||
HELP_OF: '{0} Aiuto',
|
||||
LOGGED_IN: 'Registrato come {name}',
|
||||
PLEASE_SIGNIN: 'Prego registrarsi per continuare',
|
||||
UPLOAD_SUCCESSFUL: 'Caricamento finito',
|
||||
DOWNLOAD_SUCCESSFUL: 'Scaricamento finito',
|
||||
INVALID_LOGIN: 'Dettagli accesso invalidi',
|
||||
NETWORK: 'Rete',
|
||||
SECURITY: 'Sicurezza',
|
||||
ONOFF_CAP: 'ON/OFF',
|
||||
ONOFF: 'on/off',
|
||||
TYPE: 'Tipo',
|
||||
DESCRIPTION: 'Descrizione',
|
||||
ENTITIES: 'Entità',
|
||||
REFRESH: 'Ricaricare',
|
||||
EXPORT: 'Esporta',
|
||||
DEVICE_DETAILS: 'Dettagli dispositivo',
|
||||
ID_OF: '{0} ID',
|
||||
DEVICE: 'Dispositivo',
|
||||
PRODUCT: 'Prodotto',
|
||||
VERSION: 'Versione',
|
||||
BRAND: 'Marca',
|
||||
ENTITY_NAME: 'Nome Entità',
|
||||
VALUE: '{{Valore|valore}}',
|
||||
DEVICE_DATA: 'Device Data',
|
||||
SENSOR_DATA: 'Sensor Data',
|
||||
DEVICES: 'Dispositivi',
|
||||
SENSORS: 'Sensori',
|
||||
RUN_COMMAND: 'Esegui',
|
||||
CHANGE_VALUE: 'Cambia Valore',
|
||||
CANCEL: 'Annulla',
|
||||
RESET: 'Reset',
|
||||
APPLY_CHANGES: 'Apply Changes ({0})',
|
||||
UPDATE: 'Update',
|
||||
EXECUTE: 'Execute',
|
||||
REMOVE: 'Elimina',
|
||||
PROBLEM_UPDATING: 'Problema aggiornamento',
|
||||
PROBLEM_LOADING: 'Problema caricamento',
|
||||
ACCESS_DENIED: 'Access Denied',
|
||||
ANALOG_SENSOR: 'Sensore Analogico',
|
||||
ANALOG_SENSORS: 'Sensori Analogici',
|
||||
SETTINGS: 'Settings',
|
||||
UPDATED_OF: '{0} Aggiornati',
|
||||
UPDATE_OF: 'Aggiorna {0}',
|
||||
REMOVED_OF: '{0} Rimossi',
|
||||
DELETION_OF: '{0} Cancellati',
|
||||
OFFSET: 'Offset',
|
||||
FACTOR: 'Fattore',
|
||||
FREQ: 'Frequenza',
|
||||
DUTY_CYCLE: 'Ciclo di lavoro',
|
||||
UNIT: 'UoM',
|
||||
STARTVALUE: 'Valore di partenza',
|
||||
WARN_GPIO: 'Avvertimento: prestare attenzione quando si assegna un GPIO!',
|
||||
EDIT: 'Modifica',
|
||||
SENSOR: 'Sensore',
|
||||
TEMP_SENSOR: 'Sensore Temperatura',
|
||||
TEMP_SENSORS: 'Sensori Temperatura',
|
||||
WRITE_CMD_SENT: 'Scrittura comando inviata',
|
||||
WRITE_CMD_FAILED: 'Scittura comando fallita',
|
||||
EMS_BUS_WARNING: 'EMS bus disconnesso. Se questo avvertimento persiste dopo alcuni secondi prego verificare impostazioni scheda',
|
||||
EMS_BUS_SCANNING: 'Scansione dispositivi EMS ...',
|
||||
CONNECTED: 'Connesso',
|
||||
TX_ISSUES: 'Problema di Tx - prova una modalità differente',
|
||||
DISCONNECTED: 'Disconnesso',
|
||||
EMS_SCAN: 'Sei sicuro di voler iniziare una scansione completa del bus EMS ?',
|
||||
EMS_BUS_STATUS: 'Stato Bus EMS',
|
||||
ACTIVE_DEVICES: 'Dispositivi & sensori attivi',
|
||||
EMS_DEVICE: 'Dispositivo EMS ',
|
||||
SUCCESS: 'SUCCESSO',
|
||||
FAIL: 'FALLITO',
|
||||
QUALITY: 'QUALITÂ',
|
||||
SCAN_DEVICES: 'Scansione per nuovi dispositivi',
|
||||
EMS_BUS_STATUS_TITLE: 'Bus EMS & Stato Attività',
|
||||
SCAN: 'Scansione',
|
||||
STATUS_NAMES: [
|
||||
'Telegrammi EMS Ricevuti (Rx)',
|
||||
'EMS Letti (Tx)',
|
||||
'EMS Scritti (Tx)',
|
||||
'Letture Sensori Temperatura',
|
||||
'Letture Sensori Analogici',
|
||||
'Pubblicazioni MQTT',
|
||||
'Chiamate API',
|
||||
'Messaggi Syslog'
|
||||
],
|
||||
NUM_DEVICES: '{num} Dispositivi {{s}}',
|
||||
NUM_TEMP_SENSORS: '{num} Sensori Temperatura {{s}}',
|
||||
NUM_ANALOG_SENSORS: '{num} Sensori Analogici {{s}}',
|
||||
NUM_DAYS: '{num} giorni {{s}}',
|
||||
NUM_SECONDS: '{num} secondi {{s}}',
|
||||
NUM_HOURS: '{num} ore {{s}}',
|
||||
NUM_MINUTES: '{num} minuti {{s}}',
|
||||
APPLICATION_SETTINGS: 'Impostazione Applicazione',
|
||||
CUSTOMIZATIONS: 'Personalizzazione',
|
||||
APPLICATION_RESTARTING: 'EMS-ESP sta riavviando',
|
||||
INTERFACE_BOARD_PROFILE: 'Profilo scheda di interfaccia',
|
||||
BOARD_PROFILE_TEXT: 'Selezionare un profilo di interfaccia pre-configurato dalla lista sottostante o scegliere un profilo personalizzato per configurare le impostazioni del tuo hardware',
|
||||
BOARD_PROFILE: 'Profilo Scheda',
|
||||
CUSTOM: 'Personalizzazione',
|
||||
GPIO_OF: 'GPIO {0}',
|
||||
BUTTON: 'Pulsante',
|
||||
TEMPERATURE: 'Temperatura',
|
||||
PHY_TYPE: 'Eth PHY Type',
|
||||
DISABLED: 'disattivato',
|
||||
TX_MODE: 'Modo Tx ',
|
||||
HARDWARE: 'Hardware',
|
||||
EMS_BUS: '{{BUS|EMS BUS}}',
|
||||
GENERAL_OPTIONS: 'Opzioni Generali',
|
||||
LANGUAGE_ENTITIES: 'Lingua (per entità dispositivi)',
|
||||
HIDE_LED: 'Nascondi LED',
|
||||
ENABLE_TELNET: 'Abilità la Console Telnet',
|
||||
ENABLE_ANALOG: 'Abilita Sensori Analogici',
|
||||
CONVERT_FAHRENHEIT: 'Converti valori temperatura in Fahrenheit',
|
||||
BYPASS_TOKEN: 'Ignora autorizzazione del token di accesso sulle chiamate API',
|
||||
READONLY: 'Abilita modalità sola-lettura (blocca tutti i comandi di scrittura EMS Tx in uscita)',
|
||||
UNDERCLOCK_CPU: 'Abbassa velocità della CPU',
|
||||
ENABLE_SHOWER_TIMER: 'Abilita timer doccia',
|
||||
ENABLE_SHOWER_ALERT: 'Abilita avviso doccia',
|
||||
TRIGGER_TIME: 'Tempo di avvio',
|
||||
COLD_SHOT_DURATION: 'Durata colpo freddo',
|
||||
FORMATTING_OPTIONS: 'Opzioni di formattazione',
|
||||
BOOLEAN_FORMAT_DASHBOARD: 'Pannello di controllo in formato booleano',
|
||||
BOOLEAN_FORMAT_API: 'Formato booleano API/MQTT',
|
||||
ENUM_FORMAT: 'Enum Format API/MQTT',
|
||||
INDEX: 'Indice',
|
||||
ENABLE_PARASITE: 'Abilita potenza parassita',
|
||||
LOGGING: 'Registrazione',
|
||||
LOG_HEX: 'Registra telegrammi EMS in esadecimale',
|
||||
ENABLE_SYSLOG: 'Abilita Syslog',
|
||||
LOG_LEVEL: 'Livello registrazione',
|
||||
MARK_INTERVAL: 'Segna Intervallo',
|
||||
SECONDS: 'secondi',
|
||||
MINUTES: 'minuti',
|
||||
HOURS: 'ore',
|
||||
RESTART: 'Riavvia',
|
||||
RESTART_TEXT: 'EMS-ESP necessita di essere riavviato per applicare il cambio impostazioni del sistema',
|
||||
RESTART_CONFIRM: 'Sei sicuro di voler riavviare EMS-ESP?',
|
||||
COMMAND: 'Comando',
|
||||
CUSTOMIZATIONS_RESTART: 'Tutte le personalizzazioni sono state rimosse. Riavvio ...',
|
||||
CUSTOMIZATIONS_FULL: 'Le entità selezionate hanno superato il limite. Si prega di salvare in batch',
|
||||
CUSTOMIZATIONS_SAVED: 'Personalizzazioni salvate',
|
||||
CUSTOMIZATIONS_HELP_1: 'Seleziona un dispositivo e personalizza le opzioni delle entità o fai clic per rinominarlo',
|
||||
CUSTOMIZATIONS_HELP_2: 'seleziona come preferito',
|
||||
CUSTOMIZATIONS_HELP_3: 'disabilita azione scrittura',
|
||||
CUSTOMIZATIONS_HELP_4: 'esculdi da MQTT e API',
|
||||
CUSTOMIZATIONS_HELP_5: 'nascondi dal Pannello di controllo',
|
||||
CUSTOMIZATIONS_HELP_6: 'rimuovi dalla memoria',
|
||||
SELECT_DEVICE: 'Seleziona un dispositivo',
|
||||
SET_ALL: 'imposta tutto',
|
||||
OPTIONS: 'Opzioni',
|
||||
NAME: 'Nome',
|
||||
CUSTOMIZATIONS_RESET: 'Sei sicuro di voler rimuovere tutte le personalizzazioni incluse le impostazioni personalizzate dei sensori di temperatura e analogici?',
|
||||
DEVICE_ENTITIES: 'Entità Dispositivo',
|
||||
SUPPORT_INFORMATION: 'Informazioni di Supporto',
|
||||
CLICK_HERE: 'Clicca qui',
|
||||
HELP_INFORMATION_1: 'Visita il wiki online per ottenere istruzioni su come configurare EMS-ESP',
|
||||
HELP_INFORMATION_2: 'Per la chat della community dal vivo unisciti al nostro server Discord',
|
||||
HELP_INFORMATION_3: 'Per richiedere una funzionalità o segnalare un errore',
|
||||
HELP_INFORMATION_4: 'ricordati di scaricare e allegare le informazioni del tuo sistema per una risposta più rapida quando segnali un problema',
|
||||
HELP_INFORMATION_5: 'EMS-ESP è un progetto gratuito e open-source. Supporta il suo sviluppo futuro assegnandogli una stella su Github!',
|
||||
SUPPORT_INFO: 'Info Supporto',
|
||||
UPLOAD: 'Carica',
|
||||
DOWNLOAD: 'Scarica',
|
||||
ABORTED: 'Annullato',
|
||||
FAILED: 'Fallito',
|
||||
SUCCESSFUL: 'Riuscito',
|
||||
SYSTEM: 'Sistema',
|
||||
LOG_OF: 'Registro {0}',
|
||||
STATUS_OF: 'Stato {0}',
|
||||
UPLOAD_DOWNLOAD: 'Caricamento/Scaricamento',
|
||||
VERSION_ON: 'Attualmente stai eseguendo la versione',
|
||||
SYSTEM_APPLY_FIRMWARE: 'per applicare il nuovo firmware',
|
||||
CLOSE: 'Chiudere',
|
||||
USE: 'Usa',
|
||||
FACTORY_RESET: 'Impostazioni di fabbrica',
|
||||
SYSTEM_FACTORY_TEXT: 'Il dispositivo è stato ripristinato alle impostazioni di fabbrica e ora verrà riavviato',
|
||||
SYSTEM_FACTORY_TEXT_DIALOG: 'Sei sicuro di voler ripristinare il dispositivo alle impostazioni di fabbrica??',
|
||||
VERSION_CHECK: 'Verifica Versione',
|
||||
THE_LATEST: 'Ultima',
|
||||
OFFICIAL: 'ufficiale',
|
||||
DEVELOPMENT: 'sviluppo',
|
||||
RELEASE_IS: 'rilascio é',
|
||||
RELEASE_NOTES: 'note rilascio',
|
||||
EMS_ESP_VER: 'Versione EMS-ESP',
|
||||
PLATFORM: 'Dispositivo (Piattaforma / SDK)',
|
||||
UPTIME: 'Tempo di attività del sistema',
|
||||
CPU_FREQ: 'Frequenza CPU ',
|
||||
HEAP: 'Heap (Free / Max Alloc)',
|
||||
PSRAM: 'PSRAM (Size / Free)',
|
||||
FLASH: 'Flash Chip (Size / Speed)',
|
||||
APPSIZE: 'Applicazione (Usata / Libera)',
|
||||
FILESYSTEM: 'Memoria Sistema (Usata / Libera)',
|
||||
BUFFER_SIZE: 'Max Buffer Size',
|
||||
COMPACT: 'Compact',
|
||||
ENABLE_OTA: 'Abilita aggiornamenti OTA',
|
||||
DOWNLOAD_CUSTOMIZATION_TEXT: 'Scarica personalizzazioni entità',
|
||||
DOWNLOAD_SCHEDULE_TEXT: 'Download Scheduler Events',
|
||||
DOWNLOAD_SETTINGS_TEXT: 'Scarica le impostazioni dell applicazione. Fai attenzione quando condividi le tue impostazioni poiché questo file contiene password e altre informazioni di sistema riservate',
|
||||
UPLOAD_TEXT: 'Carica un nuovo file firmware (.bin) , file delle impostazioni o delle personalizzazioni (.json) di seguito, per un opzione di convalida scaricare dapprima un file "*.MD5" ',
|
||||
UPLOADING: 'Caricamento',
|
||||
UPLOAD_DROP_TEXT: 'Trascina il file o clicca qui',
|
||||
ERROR: 'Errore Inaspettato, prego tenta ancora',
|
||||
TIME_SET: 'Imposta Ora',
|
||||
MANAGE_USERS: 'Gestione Utenti',
|
||||
IS_ADMIN: 'Amministratore',
|
||||
USER_WARNING: 'Devi avere configurato almeno un utente amministratore',
|
||||
ADD: 'Aggiungi',
|
||||
ACCESS_TOKEN_FOR: 'Token di accesso per',
|
||||
ACCESS_TOKEN_TEXT: 'Il token seguente viene utilizzato con le chiamate API REST che richiedono l autorizzazione. Può essere passato come token Bearer nell intestazione di autorizzazione o nel parametro di query URL access_token.',
|
||||
GENERATING_TOKEN: 'Generazione token',
|
||||
USER: 'Utente',
|
||||
MODIFY: 'Modifica',
|
||||
SU_TEXT: 'La password su (super utente) viene utilizzata per firmare i token di autenticazione e abilitare anche i privilegi di amministratore all interno della console.',
|
||||
NOT_ENABLED: 'Non abilitato',
|
||||
ERRORS_OF: 'Errori {0}',
|
||||
DISCONNECT_REASON: 'Motivo disconnessione',
|
||||
ENABLE_MQTT: 'Abilita MQTT',
|
||||
BROKER: 'Broker',
|
||||
CLIENT: 'Cliente',
|
||||
BASE_TOPIC: 'Base',
|
||||
OPTIONAL: 'Opzionale',
|
||||
FORMATTING: 'Formattazione',
|
||||
MQTT_FORMAT: 'Formato Topic/Payload ',
|
||||
MQTT_NEST_1: 'Inserito in un singolo argomento',
|
||||
MQTT_NEST_2: 'Come argomenti individuali',
|
||||
MQTT_RESPONSE: 'Pubblica uscita del comando in un argomento di risposta',
|
||||
MQTT_PUBLISH_TEXT_1: 'Pubblica argomenti a valore singolo sul cambiamento',
|
||||
MQTT_PUBLISH_TEXT_2: 'Pubblica per comandare gli argomenti (ioBroker)',
|
||||
MQTT_PUBLISH_TEXT_3: 'Abilita rilevamento MQTT (Home Assistant, Domoticz)',
|
||||
MQTT_PUBLISH_TEXT_4: 'Prefisso per gli argomenti di scoperta',
|
||||
MQTT_PUBLISH_TEXT_5: 'Discovery type',
|
||||
MQTT_PUBLISH_INTERVALS: 'Pubblica intervalli',
|
||||
MQTT_INT_BOILER: 'Caldaie e Pompe di Calore',
|
||||
MQTT_INT_THERMOSTATS: 'Termostati',
|
||||
MQTT_INT_SOLAR: 'Moduli solari',
|
||||
MQTT_INT_MIXER: 'Moduli Mixer',
|
||||
MQTT_INT_HEARTBEAT: 'Heartbeat',
|
||||
MQTT_QUEUE: 'Coda MQTT',
|
||||
DEFAULT: 'Predefinito',
|
||||
MQTT_ENTITY_FORMAT: 'Formato ID entità',
|
||||
MQTT_ENTITY_FORMAT_0: 'Singola istanza, nome lungo (v3.4)',
|
||||
MQTT_ENTITY_FORMAT_1: 'Sinola istanza, nome breve',
|
||||
MQTT_ENTITY_FORMAT_2: 'Istanze multiple, nome breve',
|
||||
MQTT_CLEAN_SESSION: 'Imposta sessione pulita',
|
||||
MQTT_RETAIN_FLAG: 'Imposta sempre il flag Retain',
|
||||
INACTIVE: 'Inattivo',
|
||||
ACTIVE: 'Attivo',
|
||||
UNKNOWN: 'Sconosciuto',
|
||||
SET_TIME: 'Imposta ora',
|
||||
SET_TIME_TEXT: 'Immettere la data e l ora locale di seguito per impostare l ora',
|
||||
LOCAL_TIME: 'Ora locale',
|
||||
UTC_TIME: 'Ora UTC',
|
||||
ENABLE_NTP: 'Abilita NTP',
|
||||
NTP_SERVER: 'Server NTP',
|
||||
TIME_ZONE: 'Fuso orario',
|
||||
ACCESS_POINT: 'Access Point',
|
||||
AP_PROVIDE: 'Abilita Access Point',
|
||||
AP_PROVIDE_TEXT_1: 'sempre',
|
||||
AP_PROVIDE_TEXT_2: 'quando WiFi é disconnessa',
|
||||
AP_PROVIDE_TEXT_3: 'mai',
|
||||
AP_PREFERRED_CHANNEL: 'Canale preferito',
|
||||
AP_HIDE_SSID: 'Nascondi SSID',
|
||||
AP_CLIENTS: 'Clienti AP',
|
||||
AP_MAX_CLIENTS: 'Clienti Massimi',
|
||||
AP_LOCAL_IP: 'IP Locale',
|
||||
NETWORK_SCAN: 'Scansione reti WiFi',
|
||||
IDLE: 'Inattivo',
|
||||
LOST: 'Perso',
|
||||
SCANNING: 'Scansione',
|
||||
SCAN_AGAIN: 'Scansiona ancora',
|
||||
NETWORK_SCANNER: 'Scansione Rete',
|
||||
NETWORK_NO_WIFI: 'Nessuana rete WiFi trovata',
|
||||
NETWORK_BLANK_SSID: 'lasciare vuoto per disattivare WiFi',
|
||||
TX_POWER: 'Potenza Tx',
|
||||
HOSTNAME: 'Nome ospite',
|
||||
NETWORK_DISABLE_SLEEP: 'Disabilita la modalità sospensione Wi-Fi',
|
||||
NETWORK_LOW_BAND: 'Usa una larghezza di banda WiFi inferiore',
|
||||
NETWORK_USE_DNS: 'Abilita servizio mDNS',
|
||||
NETWORK_ENABLE_CORS: 'Abilita CORS',
|
||||
NETWORK_CORS_ORIGIN: 'origine CORS',
|
||||
NETWORK_ENABLE_IPV6: 'Abilita supporto IPv6',
|
||||
NETWORK_FIXED_IP: 'Usa indirizzo IP fisso',
|
||||
NETWORK_GATEWAY: 'Gateway',
|
||||
NETWORK_SUBNET: 'Maschera Sottorete',
|
||||
NETWORK_DNS: 'Server DNS',
|
||||
ADDRESS_OF: 'Indirizzo {0}',
|
||||
ADMIN: 'Amministratore',
|
||||
GUEST: 'Ospite',
|
||||
NEW: 'Nuovo',
|
||||
NEW_NAME_OF: 'Nuovo nome {0}',
|
||||
ENTITY: 'entità',
|
||||
MIN: 'min',
|
||||
MAX: 'max',
|
||||
BLOCK_NAVIGATE_1: 'You have unsaved changes',
|
||||
BLOCK_NAVIGATE_2: 'If you navigate to a different page, your unsaved changes will be lost. Are you sure you want to leave this page?',
|
||||
STAY: 'Stay',
|
||||
LEAVE: 'Leave',
|
||||
SCHEDULER: 'Scheduler',
|
||||
SCHEDULER_HELP_1: 'Automate commands by adding scheduled events below. Set a unique Name to enable/disable activation via API/MQTT.',
|
||||
SCHEDULER_HELP_2: 'Use 00:00 to trigger once on start-up',
|
||||
SCHEDULE: 'Schedule',
|
||||
TIME: 'Time',
|
||||
TIMER: 'Timer',
|
||||
SCHEDULE_UPDATED: 'Schedule updated',
|
||||
SCHEDULE_TIMER_1: 'on startup',
|
||||
SCHEDULE_TIMER_2: 'every minute',
|
||||
SCHEDULE_TIMER_3: 'every hour',
|
||||
CUSTOM_ENTITIES: 'Custom Entities',
|
||||
ENTITIES_HELP_1: 'Fetch custom entities from the EMS bus',
|
||||
ENTITIES_UPDATED: 'Entities Updated',
|
||||
WRITEABLE: 'Writeable',
|
||||
SHOWING: 'Showing',
|
||||
SEARCH: 'Search'
|
||||
|
||||
};
|
||||
|
||||
export default it;
|
||||
@@ -371,6 +371,7 @@ const SettingsApplication: FC = () => {
|
||||
<Divider />
|
||||
<MenuItem value="de">Deutsch (DE)</MenuItem>
|
||||
<MenuItem value="fr">Français (FR)</MenuItem>
|
||||
<MenuItem value="it">Italiano (IT)</MenuItem>
|
||||
<MenuItem value="nl">Nederlands (NL)</MenuItem>
|
||||
<MenuItem value="no">Norsk (NO)</MenuItem>
|
||||
<MenuItem value="pl">Polski (PL)</MenuItem>
|
||||
|
||||
@@ -5,6 +5,13 @@ __metadata:
|
||||
version: 6
|
||||
cacheKey: 8c0
|
||||
|
||||
"@aashutoshrathi/word-wrap@npm:^1.2.3":
|
||||
version: 1.2.6
|
||||
resolution: "@aashutoshrathi/word-wrap@npm:1.2.6"
|
||||
checksum: 53c2b231a61a46792b39a0d43bc4f4f776bb4542aa57ee04930676802e5501282c2fc8aac14e4cd1f1120ff8b52616b6ff5ab539ad30aa2277d726444b71619f
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@ampproject/remapping@npm:^2.2.0":
|
||||
version: 2.2.0
|
||||
resolution: "@ampproject/remapping@npm:2.2.0"
|
||||
@@ -605,27 +612,27 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@eslint/eslintrc@npm:^2.0.3":
|
||||
version: 2.0.3
|
||||
resolution: "@eslint/eslintrc@npm:2.0.3"
|
||||
"@eslint/eslintrc@npm:^2.1.0":
|
||||
version: 2.1.0
|
||||
resolution: "@eslint/eslintrc@npm:2.1.0"
|
||||
dependencies:
|
||||
ajv: ^6.12.4
|
||||
debug: ^4.3.2
|
||||
espree: ^9.5.2
|
||||
espree: ^9.6.0
|
||||
globals: ^13.19.0
|
||||
ignore: ^5.2.0
|
||||
import-fresh: ^3.2.1
|
||||
js-yaml: ^4.1.0
|
||||
minimatch: ^3.1.2
|
||||
strip-json-comments: ^3.1.1
|
||||
checksum: 46291c33bf580ab12101fb7f20adabaa60326a7de094409ab4a5ca4611552ab2325f8d677d6c1d2d9f45f83f93360b115a0b4488bc48180cca0d0f386804d829
|
||||
checksum: 6ffbc3e7867b377754492539af0e2f5b55645a2c67279a70508fe09080bc76d49ba64b579e59a2a04014f84d0768301736fbcdd94c7b3ad4f0e648c32bf21e43
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@eslint/js@npm:8.43.0":
|
||||
version: 8.43.0
|
||||
resolution: "@eslint/js@npm:8.43.0"
|
||||
checksum: ff1a1587e8f28c21dda36a331cf70ca16b76e5897cecf10f6b4c326abddf18db565ee5f71feb89cbb0d3d20ff321a2536357562c0233868eed70784640b73cf4
|
||||
"@eslint/js@npm:8.44.0":
|
||||
version: 8.44.0
|
||||
resolution: "@eslint/js@npm:8.44.0"
|
||||
checksum: ce7b966f8804228e4d5725d44d3c8fb7fc427176f077401323a02e082f628d207133a25704330e610ebe3254fdf1acb186f779d1242fd145a758fdcc4486a660
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -978,10 +985,10 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@remix-run/router@npm:1.7.0":
|
||||
version: 1.7.0
|
||||
resolution: "@remix-run/router@npm:1.7.0"
|
||||
checksum: 05ac3b300eb6676f359c18280dc3870b3f0dde5553b58d914c2ef9d1c2feae71ad4b81ad8dd3b20182cc8fba40a6f6e5236f68d1fe02989f71cd5b55ae25a75c
|
||||
"@remix-run/router@npm:1.7.1":
|
||||
version: 1.7.1
|
||||
resolution: "@remix-run/router@npm:1.7.1"
|
||||
checksum: 4b0828529dfb2628e8e737c19bbb360dd373c0452803942611184a2ed304e39fe13996333edd05fda3c265875a78a7f31af743dbb098cbf1186105b76e10949f
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -1305,10 +1312,10 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/node@npm:^20.3.2":
|
||||
version: 20.3.2
|
||||
resolution: "@types/node@npm:20.3.2"
|
||||
checksum: d857cbe388d11fefd6c598144db42a32e1c15c09624b9e0669ec65e9d72e080093db3ec6b536037e6575574e33413479d4b3762140c2544ff30eb0c2111b5596
|
||||
"@types/node@npm:^20.3.3":
|
||||
version: 20.3.3
|
||||
resolution: "@types/node@npm:20.3.3"
|
||||
checksum: d172311e9e2d42e060eacb78ecdfd4e1596dbd1e54939bacf42003c84559bdcb5d7dbe539dc5262db4c8f408e21f3abd65435fec9bc0ff8968a3b32dafde0bbf
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -1552,7 +1559,7 @@ __metadata:
|
||||
"@mui/material": ^5.13.6
|
||||
"@table-library/react-table-library": 4.1.4
|
||||
"@types/lodash-es": ^4.17.7
|
||||
"@types/node": ^20.3.2
|
||||
"@types/node": ^20.3.3
|
||||
"@types/react": ^18.2.14
|
||||
"@types/react-dom": ^18.2.6
|
||||
"@types/react-router-dom": ^5.3.3
|
||||
@@ -1561,7 +1568,7 @@ __metadata:
|
||||
"@vitejs/plugin-react-swc": ^3.3.2
|
||||
async-validator: ^4.2.5
|
||||
axios: ^1.4.0
|
||||
eslint: ^8.43.0
|
||||
eslint: ^8.44.0
|
||||
eslint-config-airbnb: ^19.0.4
|
||||
eslint-config-airbnb-typescript: ^17.0.0
|
||||
eslint-config-prettier: ^8.8.0
|
||||
@@ -1582,7 +1589,7 @@ __metadata:
|
||||
react-dom: latest
|
||||
react-dropzone: ^14.2.3
|
||||
react-icons: ^4.10.1
|
||||
react-router-dom: ^6.14.0
|
||||
react-router-dom: ^6.14.1
|
||||
react-toastify: ^9.1.3
|
||||
rollup-plugin-visualizer: ^5.9.2
|
||||
sockette: ^2.0.6
|
||||
@@ -1620,6 +1627,15 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"acorn@npm:^8.9.0":
|
||||
version: 8.9.0
|
||||
resolution: "acorn@npm:8.9.0"
|
||||
bin:
|
||||
acorn: bin/acorn
|
||||
checksum: 5b51689d56f1ca5d6ea1fa58af478affd8d3396403637abcbc7caf28e1a47beb537cf1654f537b6cf4c73377f3e1aa99fd4a50674e64daefe08cb25c799ded28
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"agent-base@npm:6, agent-base@npm:^6.0.2":
|
||||
version: 6.0.2
|
||||
resolution: "agent-base@npm:6.0.2"
|
||||
@@ -2858,14 +2874,14 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"eslint@npm:^8.43.0":
|
||||
version: 8.43.0
|
||||
resolution: "eslint@npm:8.43.0"
|
||||
"eslint@npm:^8.44.0":
|
||||
version: 8.44.0
|
||||
resolution: "eslint@npm:8.44.0"
|
||||
dependencies:
|
||||
"@eslint-community/eslint-utils": ^4.2.0
|
||||
"@eslint-community/regexpp": ^4.4.0
|
||||
"@eslint/eslintrc": ^2.0.3
|
||||
"@eslint/js": 8.43.0
|
||||
"@eslint/eslintrc": ^2.1.0
|
||||
"@eslint/js": 8.44.0
|
||||
"@humanwhocodes/config-array": ^0.11.10
|
||||
"@humanwhocodes/module-importer": ^1.0.1
|
||||
"@nodelib/fs.walk": ^1.2.8
|
||||
@@ -2877,7 +2893,7 @@ __metadata:
|
||||
escape-string-regexp: ^4.0.0
|
||||
eslint-scope: ^7.2.0
|
||||
eslint-visitor-keys: ^3.4.1
|
||||
espree: ^9.5.2
|
||||
espree: ^9.6.0
|
||||
esquery: ^1.4.2
|
||||
esutils: ^2.0.2
|
||||
fast-deep-equal: ^3.1.3
|
||||
@@ -2897,13 +2913,13 @@ __metadata:
|
||||
lodash.merge: ^4.6.2
|
||||
minimatch: ^3.1.2
|
||||
natural-compare: ^1.4.0
|
||||
optionator: ^0.9.1
|
||||
optionator: ^0.9.3
|
||||
strip-ansi: ^6.0.1
|
||||
strip-json-comments: ^3.1.0
|
||||
text-table: ^0.2.0
|
||||
bin:
|
||||
eslint: bin/eslint.js
|
||||
checksum: 1f9ff2c774e852c179ba569a3b672cbc4cf91aa59843ee32f7da363c10b5aad842672005ac04c760f6077b3471da428562274e0fcb0a78c2056866b3d36be948
|
||||
checksum: a31ca4571a67012629936d891141a4a5747d5902fb7f4e10119a5acd632e0976b9ba1b761d8c81cff8a9cc3e796df2c56f86c02535fd977de962a98ce585624a
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -2918,14 +2934,14 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"espree@npm:^9.5.2":
|
||||
version: 9.5.2
|
||||
resolution: "espree@npm:9.5.2"
|
||||
"espree@npm:^9.6.0":
|
||||
version: 9.6.0
|
||||
resolution: "espree@npm:9.6.0"
|
||||
dependencies:
|
||||
acorn: ^8.8.0
|
||||
acorn: ^8.9.0
|
||||
acorn-jsx: ^5.3.2
|
||||
eslint-visitor-keys: ^3.4.1
|
||||
checksum: 6885e57b3dcea3f65211403a10077a80a57f03e6c8b45c1e1db4bc5958e0fdb5c358819c88898ea67655d25fb646836182f688156e124a05610e714d3fcb6822
|
||||
checksum: f064a43bcf7f435d34e600c056320dde1c15b3eeb5da24e7585ed6cf83adcbbeafb4fa4d062ff14281b0d246b0a9645dd9d3796a638099f19595004eee4ac8be
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -4522,17 +4538,17 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"optionator@npm:^0.9.1":
|
||||
version: 0.9.1
|
||||
resolution: "optionator@npm:0.9.1"
|
||||
"optionator@npm:^0.9.3":
|
||||
version: 0.9.3
|
||||
resolution: "optionator@npm:0.9.3"
|
||||
dependencies:
|
||||
"@aashutoshrathi/word-wrap": ^1.2.3
|
||||
deep-is: ^0.1.3
|
||||
fast-levenshtein: ^2.0.6
|
||||
levn: ^0.4.1
|
||||
prelude-ls: ^1.2.1
|
||||
type-check: ^0.4.0
|
||||
word-wrap: ^1.2.3
|
||||
checksum: 8b574d50b032f34713dc09bfacdc351824f713c3c80773ead3a05ab977364de88f2f3962a6f15437747b93a5e0636928253949970daea3aaeeefbd3a525da6a4
|
||||
checksum: 66fba794d425b5be51353035cf3167ce6cfa049059cbb93229b819167687e0f48d2bc4603fcb21b091c99acb516aae1083624675b15c4765b2e4693a085e959c
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -4815,27 +4831,27 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"react-router-dom@npm:^6.14.0":
|
||||
version: 6.14.0
|
||||
resolution: "react-router-dom@npm:6.14.0"
|
||||
"react-router-dom@npm:^6.14.1":
|
||||
version: 6.14.1
|
||||
resolution: "react-router-dom@npm:6.14.1"
|
||||
dependencies:
|
||||
"@remix-run/router": 1.7.0
|
||||
react-router: 6.14.0
|
||||
"@remix-run/router": 1.7.1
|
||||
react-router: 6.14.1
|
||||
peerDependencies:
|
||||
react: ">=16.8"
|
||||
react-dom: ">=16.8"
|
||||
checksum: 104a09aa48b00bdf7bf021bc8c915d36e2045ff0a41b3b23b92b5d3ba5c16cbb0dd4eb00e01188a419e143af2212cbcd3c983ebde26e52c1ed33916746edba31
|
||||
checksum: 9d3a00263125668a9b703ddc908f98218598c216bc77d99931d0cdf7d6a0f7f9d57649f4261e429a5a1c0c51f5203379a6d8e5181e24d0af6c7623fdd966843c
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"react-router@npm:6.14.0":
|
||||
version: 6.14.0
|
||||
resolution: "react-router@npm:6.14.0"
|
||||
"react-router@npm:6.14.1":
|
||||
version: 6.14.1
|
||||
resolution: "react-router@npm:6.14.1"
|
||||
dependencies:
|
||||
"@remix-run/router": 1.7.0
|
||||
"@remix-run/router": 1.7.1
|
||||
peerDependencies:
|
||||
react: ">=16.8"
|
||||
checksum: 60a87b4e1bc684ddced3418f4cd91983ac5f7ea4aa1ac07dd9d336c67eb2511b22eda866a7d7bacd45abb81322ecc9a93afea98fb9daaef6b939a14eebbe4f73
|
||||
checksum: da870d0739038bb9630a9b3268ec79224bf47aa9f1015e30820cb29a29eabe0bee723991df5cbcb12473d82b7a2e49598e9d539a6f63fa3f2d64f5cc9cc4db64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -5924,13 +5940,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"word-wrap@npm:^1.2.3":
|
||||
version: 1.2.3
|
||||
resolution: "word-wrap@npm:1.2.3"
|
||||
checksum: 1cb6558996deb22c909330db1f01d672feee41d7f0664492912de3de282da3f28ba2d49e87b723024e99d56ba2dac2f3ab28f8db07ac199f5e5d5e2e437833de
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"wrap-ansi@npm:^7.0.0":
|
||||
version: 7.0.0
|
||||
resolution: "wrap-ansi@npm:7.0.0"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -61,7 +61,7 @@ const char * const languages[] = {EMSESP_LOCALE_EN};
|
||||
const char * const languages[] = {EMSESP_LOCALE_DE};
|
||||
#else
|
||||
const char * const languages[] =
|
||||
{EMSESP_LOCALE_EN, EMSESP_LOCALE_DE, EMSESP_LOCALE_NL, EMSESP_LOCALE_SV, EMSESP_LOCALE_PL, EMSESP_LOCALE_NO, EMSESP_LOCALE_FR, EMSESP_LOCALE_TR};
|
||||
{EMSESP_LOCALE_EN, EMSESP_LOCALE_DE, EMSESP_LOCALE_NL, EMSESP_LOCALE_SV, EMSESP_LOCALE_PL, EMSESP_LOCALE_NO, EMSESP_LOCALE_FR, EMSESP_LOCALE_TR, EMSESP_LOCALE_IT};
|
||||
#endif
|
||||
|
||||
static constexpr uint8_t NUM_LANGUAGES = sizeof(languages) / sizeof(const char *);
|
||||
|
||||
Reference in New Issue
Block a user