mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-07 16:29:51 +03:00
more german translations
This commit is contained in:
@@ -135,7 +135,7 @@ const MqttSettingsForm: FC = () => {
|
||||
name="keep_alive"
|
||||
label="Keep Alive"
|
||||
InputProps={{
|
||||
endAdornment: <InputAdornment position="end">seconds</InputAdornment>
|
||||
endAdornment: <InputAdornment position="end">{LL.SECONDS()}</InputAdornment>
|
||||
}}
|
||||
fullWidth
|
||||
variant="outlined"
|
||||
@@ -243,7 +243,7 @@ const MqttSettingsForm: FC = () => {
|
||||
name="publish_time_boiler"
|
||||
label={LL.MQTT_INT_BOILER()}
|
||||
InputProps={{
|
||||
endAdornment: <InputAdornment position="end">seconds</InputAdornment>
|
||||
endAdornment: <InputAdornment position="end">{LL.SECONDS()}</InputAdornment>
|
||||
}}
|
||||
fullWidth
|
||||
variant="outlined"
|
||||
@@ -259,7 +259,7 @@ const MqttSettingsForm: FC = () => {
|
||||
name="publish_time_thermostat"
|
||||
label={LL.MQTT_INT_THERMOSTATS()}
|
||||
InputProps={{
|
||||
endAdornment: <InputAdornment position="end">seconds</InputAdornment>
|
||||
endAdornment: <InputAdornment position="end">{LL.SECONDS()}</InputAdornment>
|
||||
}}
|
||||
fullWidth
|
||||
variant="outlined"
|
||||
@@ -275,7 +275,7 @@ const MqttSettingsForm: FC = () => {
|
||||
name="publish_time_solar"
|
||||
label={LL.MQTT_INT_SOLAR()}
|
||||
InputProps={{
|
||||
endAdornment: <InputAdornment position="end">seconds</InputAdornment>
|
||||
endAdornment: <InputAdornment position="end">{LL.SECONDS()}</InputAdornment>
|
||||
}}
|
||||
fullWidth
|
||||
variant="outlined"
|
||||
@@ -291,7 +291,7 @@ const MqttSettingsForm: FC = () => {
|
||||
name="publish_time_mixer"
|
||||
label={LL.MQTT_INT_MIXER()}
|
||||
InputProps={{
|
||||
endAdornment: <InputAdornment position="end">seconds</InputAdornment>
|
||||
endAdornment: <InputAdornment position="end">{LL.SECONDS()}</InputAdornment>
|
||||
}}
|
||||
fullWidth
|
||||
variant="outlined"
|
||||
@@ -307,7 +307,7 @@ const MqttSettingsForm: FC = () => {
|
||||
name="publish_time_sensor"
|
||||
label={LL.TEMP_SENSORS()}
|
||||
InputProps={{
|
||||
endAdornment: <InputAdornment position="end">seconds</InputAdornment>
|
||||
endAdornment: <InputAdornment position="end">{LL.SECONDS()}</InputAdornment>
|
||||
}}
|
||||
fullWidth
|
||||
variant="outlined"
|
||||
@@ -322,7 +322,7 @@ const MqttSettingsForm: FC = () => {
|
||||
fieldErrors={fieldErrors}
|
||||
name="publish_time_other"
|
||||
InputProps={{
|
||||
endAdornment: <InputAdornment position="end">seconds</InputAdornment>
|
||||
endAdornment: <InputAdornment position="end">{LL.SECONDS()}</InputAdornment>
|
||||
}}
|
||||
label={LL.DEFAULT()}
|
||||
fullWidth
|
||||
|
||||
@@ -70,21 +70,23 @@ const GeneralFileUpload: FC<UploadFileProps> = ({ uploadGeneralFile }) => {
|
||||
|
||||
return (
|
||||
<>
|
||||
<Typography sx={{ pt: 2, pb: 2 }} variant="h6" color="primary">
|
||||
{LL.UPLOAD()}
|
||||
</Typography>
|
||||
{!uploading && (
|
||||
<Box mb={2} color="warning.main">
|
||||
<Typography variant="body2">{LL.UPLOAD_TEXT()} </Typography>
|
||||
</Box>
|
||||
<>
|
||||
<Typography sx={{ pt: 2, pb: 2 }} variant="h6" color="primary">
|
||||
{LL.UPLOAD()}
|
||||
</Typography>
|
||||
<Box mb={2} color="warning.main">
|
||||
<Typography variant="body2">{LL.UPLOAD_TEXT()} </Typography>
|
||||
</Box>
|
||||
</>
|
||||
)}
|
||||
<SingleUpload onDrop={uploadFile} onCancel={cancelUpload} uploading={uploading} progress={uploadProgress} />
|
||||
|
||||
<Typography sx={{ pt: 2, pb: 2 }} variant="h6" color="primary">
|
||||
{LL.DOWNLOAD()}
|
||||
</Typography>
|
||||
{!uploading && (
|
||||
<>
|
||||
<Typography sx={{ pt: 2, pb: 2 }} variant="h6" color="primary">
|
||||
{LL.DOWNLOAD()}
|
||||
</Typography>
|
||||
<Box color="warning.main">
|
||||
<Typography mb={1} variant="body2">
|
||||
{LL.DOWNLOAD_SETTINGS_TEXT()}
|
||||
|
||||
@@ -104,7 +104,7 @@ const SystemStatusForm: FC = () => {
|
||||
onClick={() => setConfirmRestart(false)}
|
||||
color="secondary"
|
||||
>
|
||||
Cancel
|
||||
{LL.CANCEL()}
|
||||
</Button>
|
||||
<Button
|
||||
startIcon={<PowerSettingsNewIcon />}
|
||||
@@ -114,7 +114,7 @@ const SystemStatusForm: FC = () => {
|
||||
color="primary"
|
||||
autoFocus
|
||||
>
|
||||
Restart
|
||||
{LL.RESTART()}
|
||||
</Button>
|
||||
</DialogActions>
|
||||
</Dialog>
|
||||
@@ -242,7 +242,7 @@ const SystemStatusForm: FC = () => {
|
||||
<DevicesIcon />
|
||||
</Avatar>
|
||||
</ListItemAvatar>
|
||||
<ListItemText primary="Device (Platform / SDK)" secondary={data.esp_platform + ' / ' + data.sdk_version} />
|
||||
<ListItemText primary={LL.PLATFORM()} secondary={data.esp_platform + ' / ' + data.sdk_version} />
|
||||
</ListItem>
|
||||
<Divider variant="inset" component="li" />
|
||||
<ListItem>
|
||||
@@ -251,7 +251,7 @@ const SystemStatusForm: FC = () => {
|
||||
<TimerIcon />
|
||||
</Avatar>
|
||||
</ListItemAvatar>
|
||||
<ListItemText primary="System Uptime" secondary={data.uptime} />
|
||||
<ListItemText primary={LL.UPTIME()} secondary={data.uptime} />
|
||||
</ListItem>
|
||||
<Divider variant="inset" component="li" />
|
||||
<ListItem>
|
||||
@@ -260,7 +260,7 @@ const SystemStatusForm: FC = () => {
|
||||
<ShowChartIcon />
|
||||
</Avatar>
|
||||
</ListItemAvatar>
|
||||
<ListItemText primary="CPU Frequency" secondary={data.cpu_freq_mhz + ' MHz'} />
|
||||
<ListItemText primary={LL.CPU_FREQ()} secondary={data.cpu_freq_mhz + ' MHz'} />
|
||||
</ListItem>
|
||||
<Divider variant="inset" component="li" />
|
||||
<ListItem>
|
||||
@@ -270,7 +270,7 @@ const SystemStatusForm: FC = () => {
|
||||
</Avatar>
|
||||
</ListItemAvatar>
|
||||
<ListItemText
|
||||
primary="Heap (Free / Max Alloc)"
|
||||
primary={LL.HEAP()}
|
||||
secondary={
|
||||
formatNumber(data.free_heap) +
|
||||
' / ' +
|
||||
@@ -290,7 +290,7 @@ const SystemStatusForm: FC = () => {
|
||||
</Avatar>
|
||||
</ListItemAvatar>
|
||||
<ListItemText
|
||||
primary="PSRAM (Size / Free)"
|
||||
primary={LL.PSRAM()}
|
||||
secondary={formatNumber(data.psram_size) + ' / ' + formatNumber(data.free_psram) + ' bytes'}
|
||||
/>
|
||||
</ListItem>
|
||||
@@ -304,7 +304,7 @@ const SystemStatusForm: FC = () => {
|
||||
</Avatar>
|
||||
</ListItemAvatar>
|
||||
<ListItemText
|
||||
primary="Flash Chip (Size / Speed)"
|
||||
primary={LL.FLASH()}
|
||||
secondary={
|
||||
formatNumber(data.flash_chip_size) + ' bytes / ' + (data.flash_chip_speed / 1000000).toFixed(0) + ' MHz'
|
||||
}
|
||||
@@ -318,7 +318,7 @@ const SystemStatusForm: FC = () => {
|
||||
</Avatar>
|
||||
</ListItemAvatar>
|
||||
<ListItemText
|
||||
primary="File System (Used / Total)"
|
||||
primary={LL.FILESYSTEM()}
|
||||
secondary={
|
||||
formatNumber(data.fs_used) +
|
||||
' / ' +
|
||||
|
||||
@@ -2,21 +2,21 @@ import type { Translation } from '../i18n-types';
|
||||
|
||||
const de: Translation = {
|
||||
LANGUAGE: 'Sprache',
|
||||
RETRY: 'DE_Retry',
|
||||
LOADING: 'DE_Loading',
|
||||
IS_REQUIRED: 'ist nötig',
|
||||
RETRY: 'Neuer Versuch',
|
||||
LOADING: 'Laden',
|
||||
IS_REQUIRED: 'ist erforderlich',
|
||||
SIGN_IN: 'Einloggen',
|
||||
SIGN_OUT: 'Ausloggen',
|
||||
USERNAME: 'Nutzername',
|
||||
PASSWORD: 'Passwort',
|
||||
DASHBOARD: 'Armaturenbrett',
|
||||
DASHBOARD: 'Kontrollzentrum',
|
||||
SETTINGS: 'Einstellungen',
|
||||
SAVED: 'gespeichert',
|
||||
HELP: 'Hilfe',
|
||||
LOGGED_IN: 'Eingeloggt als {name}',
|
||||
PLEASE_SIGNIN: 'Bitte einloggen, um fortzufahren',
|
||||
UPLOAD_SUCCESSFUL: 'Hochladen erfolgreich',
|
||||
DOWNLOAD_SUCCESSFUL: 'DE_Download successful',
|
||||
DOWNLOAD_SUCCESSFUL: 'Herunterladen erfolgreich',
|
||||
INVALID_LOGIN: 'Ungültige Login Daten',
|
||||
NETWORK: 'Netzwerk',
|
||||
SECURITY: 'Sicherheit',
|
||||
@@ -25,76 +25,77 @@ const de: Translation = {
|
||||
TYPE: 'Typ',
|
||||
DESCRIPTION: 'Bezeichnung',
|
||||
ENTITIES: 'Entitäten',
|
||||
REFRESH: 'Aktualisierung',
|
||||
EXPORT: 'DE_Export',
|
||||
REFRESH: 'Aktualisieren',
|
||||
EXPORT: 'Exportieren',
|
||||
ENTITY_NAME: 'Entitätsname',
|
||||
VALUE: 'Wert',
|
||||
SHOW_FAV: 'nur Favoriten anzeigen',
|
||||
DEVICE_SENSOR_DATA: 'Device und Sensordaten',
|
||||
DEVICES_SENSORS: 'Devices & Sensoren',
|
||||
DEVICE_SENSOR_DATA: 'Geräte- und Sensordaten',
|
||||
DEVICES_SENSORS: 'Geräte & Sensoren',
|
||||
ATTACHED_SENSORS: 'Angeschlossene EMS-ESP Sensoren',
|
||||
RUN_COMMAND: 'Befehl ausführen',
|
||||
CHANGE_VALUE: 'Wert ändern',
|
||||
CANCEL: 'Absagen',
|
||||
CANCEL: 'Abbrechen',
|
||||
RESET: 'Zurücksetzen',
|
||||
SEND: 'Senden',
|
||||
SAVE: 'Speichern',
|
||||
REMOVE: 'Entfernen',
|
||||
PROBLEM_UPDATING: 'Problem beim Aktualisieren',
|
||||
PROBLEM_LOADING: 'Problem beim Holen',
|
||||
PROBLEM_LOADING: 'Problem beim Laden',
|
||||
ACCESS_DENIED: 'Zugriff abgelehnt',
|
||||
ANALOG_SENSOR: 'Analoger Sensor{post}',
|
||||
ANALOG_SENSOR: 'Analogsensor{post}',
|
||||
ANALOG_SENSORS: 'Analogsensoren',
|
||||
TEMP_SENSOR: 'Temperatursensor{post}',
|
||||
TEMP_SENSORS: 'Temperatursensoren',
|
||||
WRITE_COMMAND: 'Befehl schreiben {cmd}',
|
||||
EMS_BUS_WARNING:
|
||||
'EMS-Bus getrennt. Wenn diese Warnung nach einigen Sekunden immer noch besteht, überprüfen Sie bitte die Einstellungen und das Board-Profil',
|
||||
EMS_BUS_SCANNING: 'Scannen nach EMS devices...',
|
||||
CONNECTED: 'in Verbindung gebracht',
|
||||
EMS_BUS_SCANNING: 'Suche nach EMS Geräten...',
|
||||
CONNECTED: 'Verbunden',
|
||||
TX_ISSUES: 'Tx-Probleme - versuchen Sie einen anderen Tx-Modus',
|
||||
DISCONNECTED: 'Getrennt',
|
||||
EMS_SCAN: 'Möchten Sie wirklich einen vollständigen Gerätescan des EMS-Busses starten?',
|
||||
EMS_BUS_STATUS: 'EMS Bus Status',
|
||||
EMS_SCAN: 'Möchten Sie wirklich eine vollständige Gerätesuche des EMS-Busses starten?',
|
||||
EMS_BUS_STATUS: 'EMS-Busstatus',
|
||||
ACTIVE_DEVICES: 'Aktive Geräte und Sensoren',
|
||||
DEVICE: 'Gerät',
|
||||
SUCCESS: 'ERFOLG',
|
||||
FAIL: 'SCHEITERN',
|
||||
FAIL: 'FEHLER',
|
||||
QUALITY: 'QUALITÄT',
|
||||
SCAN_DEVICES: 'Nach neuen Geräten suchen',
|
||||
EMS_BUS_STATUS_TITLE: 'EMS Bus und Aktivitätsstatus',
|
||||
SCAN: 'Scan',
|
||||
EMS_BUS_STATUS_TITLE: 'EMS-Bus- und Aktivitätsstatus',
|
||||
SCAN: 'Suche',
|
||||
STATUS_NAMES: [
|
||||
'EMS Telegramme erhalten (Rx)',
|
||||
'EMS Liest (Tx)',
|
||||
'EMS Schreibt (Tx)',
|
||||
'Temperatursensor liest',
|
||||
'Analoger Sensor liest',
|
||||
'MQTT Veröffentlicht',
|
||||
'API Aufrufe',
|
||||
'Syslog Mitteilungen'
|
||||
'EMS-Telegramme empfangen (Rx)',
|
||||
'EMS-Telegramme gelesen (Tx)',
|
||||
'EMS-Telegramme geschrieben (Tx)',
|
||||
'Temperatursensoren gelesen',
|
||||
'Analogsensoren gelesen',
|
||||
'MQTT-Nachrichten gesendet',
|
||||
'API-Aufrufe',
|
||||
'Syslog-Mitteilungen'
|
||||
],
|
||||
NUM_DEVICES: '{num} Gerät{{en}}',
|
||||
NUM_DEVICES: '{num} Gerät{{e}}',
|
||||
NUM_TEMP_SENSORS: '{num} Temperatursensor{{en}}',
|
||||
NUM_ANALOG_SENSORS: '{num} Analoger Sensor{{en}}',
|
||||
NUM_DAYS: '{num} Tag{{en}}',
|
||||
NUM_SECONDS: '{num} Sekund{{en}}',
|
||||
NUM_ANALOG_SENSORS: '{num} Analogsensor{{en}}',
|
||||
NUM_DAYS: '{num} Tag{{e}}',
|
||||
NUM_SECONDS: '{num} Sekunde{{n}}',
|
||||
NUM_HOURS: '{num} Stunde{{n}}',
|
||||
NUM_MINUTES: '{num} Minute{{en}}',
|
||||
NUM_MINUTES: '{num} Minute{{n}}',
|
||||
APPLICATION_SETTINGS: 'Anwendungseinstellungen',
|
||||
CUSTOMIZATION: 'Anpassung',
|
||||
CUSTOMIZATION: 'Anpassungen',
|
||||
APPLICATION_RESTARTING: 'EMS-ESP startet neu',
|
||||
BOARD_PROFILE_TEXT:
|
||||
'Wählen Sie ein vorkonfiguriertes Schnittstellenkartenprofil aus der Liste unten aus oder wählen Sie Benutzerdefiniert, um Ihre eigenen Hardwareeinstellungen zu konfigurieren',
|
||||
BOARD_PROFILE: 'Board Profil',
|
||||
BUTTON: 'Druckknopf',
|
||||
'Wählen Sie ein vorkonfiguriertes Platinenprofil aus der Liste unten aus oder wählen Sie Benutzerdefiniert, um Ihre eigenen Hardwareeinstellungen zu konfigurieren',
|
||||
BOARD_PROFILE: 'Platinenprofil',
|
||||
BUTTON: 'Taste',
|
||||
TEMPERATURE: 'Temperatur',
|
||||
DISABLED: 'deaktiviert',
|
||||
GENERAL_OPTIONS: 'Allgemeine Optionen',
|
||||
LANGUAGE_ENTITIES: 'Sprache (für Geräteentitäten)',
|
||||
HIDE_LED: 'ausblenden LED',
|
||||
ENABLE_TELNET: 'Ermöglichen Telnet Console',
|
||||
ENABLE_ANALOG: 'Ermöglichen Analogsensorsen',
|
||||
CONVERT_FAHRENHEIT: 'Konvertieren Sie Temperaturwerte in Fahrenheit',
|
||||
HIDE_LED: 'LED ausblenden',
|
||||
ENABLE_TELNET: 'Aktiviere Telnet Konsole',
|
||||
ENABLE_ANALOG: 'Aktiviere Analogsensorsen',
|
||||
CONVERT_FAHRENHEIT: 'Konvertiere Temperaturwerte in Fahrenheit',
|
||||
BYPASS_TOKEN: 'Zugriffstoken-Autorisierung bei API-Aufrufen umgehen',
|
||||
READONLY: 'Nur-Lese-Modus aktivieren (blockiert alle ausgehenden EMS Tx Write-Befehle)',
|
||||
UNDERCLOCK_CPU: 'CPU-Geschwindigkeit untertakten',
|
||||
@@ -103,19 +104,20 @@ const de: Translation = {
|
||||
TRIGGER_TIME: 'Auslösezeit',
|
||||
COLD_SHOT_DURATION: 'Kaltschussdauer',
|
||||
FORMATTING_OPTIONS: 'Formatierungsoptionen',
|
||||
BOOLEAN_FORMAT_DASHBOARD: 'Dashboard im booleschen Format',
|
||||
BOOLEAN_FORMAT_DASHBOARD: 'Boolsches Format für Web',
|
||||
BOOLEAN_FORMAT_API: 'Boolesches Format API/MQTT',
|
||||
ENUM_FORMAT: 'Enum Format API/MQTT',
|
||||
INDEX: 'Index',
|
||||
ENABLE_PARASITE: 'Parasiten-Power aktivieren',
|
||||
ENABLE_PARASITE: 'Parasitäre Stomversorgung',
|
||||
LOGGING: 'Protokollierung',
|
||||
LOG_HEX: 'EMS-Telegramme hexadezimal protokollieren',
|
||||
ENABLE_SYSLOG: 'Syslog aktivieren',
|
||||
MARK_INTERVAL: 'Intervallmarke',
|
||||
SECONDS: 'sekunden',
|
||||
MINUTES: 'minuten',
|
||||
SECONDS: 'Sekunden',
|
||||
MINUTES: 'Minuten',
|
||||
HOURS: 'Stunden',
|
||||
RESTART: 'Neu starten',
|
||||
RESTART_TEXT: 'muss neu gestartet werden, um geänderte Systemeinstellungen zu übernehmen',
|
||||
RESTART_TEXT: 'EMS-ESP muss neu gestartet werden, um geänderte Systemeinstellungen zu übernehmen',
|
||||
COMMAND: 'Befehl',
|
||||
CUSTOMIZATIONS_RESTART: 'Alle Anpassungen wurden entfernt. Neustart...',
|
||||
CUSTOMIZATIONS_FULL: 'Ausgewählte Entitäten haben das Limit von 60 überschritten. Bitte stapelweise speichern',
|
||||
@@ -124,7 +126,7 @@ const de: Translation = {
|
||||
CUSTOMIZATIONS_HELP_2: 'als Favorit markieren',
|
||||
CUSTOMIZATIONS_HELP_3: 'Schreibaktion deaktivieren',
|
||||
CUSTOMIZATIONS_HELP_4: 'von MQTT und API ausschließen',
|
||||
CUSTOMIZATIONS_HELP_5: 'Aus dem Dashboard ausblenden',
|
||||
CUSTOMIZATIONS_HELP_5: 'Aus dem Kontrollzentrum ausblenden',
|
||||
SELECT_DEVICE: 'Wählen Sie ein Gerät aus',
|
||||
SET_ALL: 'setzen Sie alle',
|
||||
OPTIONS: 'Optionen',
|
||||
@@ -132,114 +134,121 @@ const de: Translation = {
|
||||
CUSTOMIZATIONS_RESET:
|
||||
'Möchten Sie wirklich alle Anpassungen entfernen, einschließlich der benutzerdefinierten Einstellungen der Temperatur- und Analogsensoren?',
|
||||
DEVICE_ENTITIES: 'Geräteentitäten',
|
||||
CONFIGURE: 'konfigurieren',
|
||||
CONFIGURE: 'Konfigurieren von',
|
||||
USER_CUSTOMIZATION: 'Benutzeranpassung',
|
||||
SUPPORT_INFORMATION: 'Unterstützende Informationen',
|
||||
HELP_INFORMATION_1: 'Besuchen Sie das Online',
|
||||
HELP_INFORMATION_2: 'um Anweisungen zu erhalten, wie es geht',
|
||||
HELP_INFORMATION_3: 'und auf andere Informationen zugreifen',
|
||||
HELP_INFORMATION_4: 'Für einen Live-Community-Chat treten Sie unserem bei',
|
||||
HELP_INFORMATION_5: 'Sende ein',
|
||||
HELP_INFORMATION_6: 'Support-Problem',
|
||||
HELP_INFORMATION_7: 'um eine neue Funktion anzufordern oder einen Fehler zu melden',
|
||||
HELP_INFORMATION_8: 'Überzeugen Sie sich auch',
|
||||
HELP_INFORMATION_9: 'und hängen Sie Ihre Systemdetails für eine schnellere Antwort an',
|
||||
HELP_INFORMATION_10: 'EMS-ESP wird immer ein kostenloses Open-Source-Projekt sein. Bitte erwägen Sie, es mit einem',
|
||||
HELP_INFORMATION_2: 'um Anweisungen zum',
|
||||
HELP_INFORMATION_3: 'und andere Informationen zu erhalten',
|
||||
HELP_INFORMATION_4: 'Für einen Live-Community-Chat verwenden Sie unseren ',
|
||||
HELP_INFORMATION_5: 'Eröffnen Sie ein',
|
||||
HELP_INFORMATION_6: 'Github-Issue',
|
||||
HELP_INFORMATION_7: 'um neue Funktionen vorzuschlagen oder einen Fehler zu melden',
|
||||
HELP_INFORMATION_8: 'Verwenden Sie den Systemdetails-',
|
||||
HELP_INFORMATION_9: 'und hängen sie die Datei für eine schnellere Antwort an',
|
||||
HELP_INFORMATION_10: 'EMS-ESP wird immer ein kostenloses Open-Source-Projekt sein. Belohnen Sie es mit einem ',
|
||||
UPLOAD: 'Hochladen',
|
||||
DOWNLOAD: 'DE_Download',
|
||||
DOWNLOAD: 'Herunterladen',
|
||||
ABORTED: 'abgebrochen',
|
||||
FAILED: 'gescheitert',
|
||||
SUCCESSFUL: 'erfolgreich',
|
||||
SYSTEM: 'DE_System',
|
||||
LOG: 'DE_Log',
|
||||
STATUS: 'DE_Status',
|
||||
UPLOAD_DOWNLOAD: 'DE_Upload/Download',
|
||||
SYSTEM_VERSION_RUNNING: 'DE_You are currently running version',
|
||||
SYSTEM_APPLY_FIRMWARE: 'DE_to apply the new firmware',
|
||||
CLOSE: 'DE_Close',
|
||||
USE: 'DE_Use',
|
||||
FACTORY_RESET: 'DE_Factory Reset',
|
||||
SYSTEM_FACTORY_TEXT: 'DE_Device has been factory reset and will now restart',
|
||||
SYSTEM_FACTORY_TEXT_DIALOG: 'DE_Are you sure you want to reset the device to its factory defaults?',
|
||||
VERSION_CHECK: 'DE_Version Check',
|
||||
THE_LATEST: 'DE_The latest',
|
||||
BUFFER_SIZE: 'DE_Buffer Size',
|
||||
COMPACT: 'DE_Compact',
|
||||
ENABLE_OTA: 'DE_Enable OTA Updates',
|
||||
DOWNLOAD_CUSTOMIZATION_TEXT: 'DE_Download the entity customizations',
|
||||
SYSTEM: 'System',
|
||||
LOG: 'Log',
|
||||
STATUS: 'Status',
|
||||
UPLOAD_DOWNLOAD: 'Hoch-/Herunterladen',
|
||||
SYSTEM_VERSION_RUNNING: 'Sie verwenden die Version',
|
||||
SYSTEM_APPLY_FIRMWARE: 'um die neue Firmware anzuwenden',
|
||||
CLOSE: 'Schließen',
|
||||
USE: 'Verwenden',
|
||||
FACTORY_RESET: 'Werkseinstellung',
|
||||
SYSTEM_FACTORY_TEXT: 'EMS-ESP wurde auf Werkseinstellung gesetzt und startet als Zugangspunkt neu',
|
||||
SYSTEM_FACTORY_TEXT_DIALOG: 'Sind Sie sicher alle Einstellungen auf Werkseinstellung zu setzen?',
|
||||
VERSION_CHECK: 'Versionsprüfung',
|
||||
THE_LATEST: 'Die neueste',
|
||||
PLATFORM: 'Platform (Platform / SDK)',
|
||||
UPTIME: 'System Betriebszeit',
|
||||
CPU_FREQ: 'CPU Frequenz',
|
||||
HEAP: 'Speicher (Frei / Max Belegt)',
|
||||
PSRAM: 'PSRAM (Größe / Frei)',
|
||||
FLASH: 'Flash Speicher (Größe / Geschwindigkeit)',
|
||||
FILESYSTEM: 'Dateisystem (Genutzt / Gesamt)',
|
||||
BUFFER_SIZE: 'Puffergröße',
|
||||
COMPACT: 'Kompakte Darstellung',
|
||||
ENABLE_OTA: 'OTA Updates verwenden',
|
||||
DOWNLOAD_CUSTOMIZATION_TEXT: 'Herunterladen der individuellen Entitätsanpassungen',
|
||||
DOWNLOAD_SETTINGS_TEXT:
|
||||
'DE_Download the application settings. Be careful when sharing your settings as this file contains passwords and other sensitive system information',
|
||||
UPLOAD_TEXT: 'DE_Upload a new firmware (.bin) file, settings or customizations (.json) file below',
|
||||
UPLOADING: 'DE_Uploading',
|
||||
UPLOAD_DROP_TEXT: 'DE_Drop file or click here',
|
||||
ERROR: 'DE_Unexpected Error, please try again',
|
||||
TIME_SET: 'DE_Time set',
|
||||
MANAGE_USERS: 'DE_Manage Users',
|
||||
IS_ADMIN: 'DE_is Admin',
|
||||
USER_WARNING: 'DE_You must have at least one admin user configured',
|
||||
ADD: 'DE_Add',
|
||||
ACCESS_TOKEN_FOR: 'DE_Access Token for',
|
||||
'Herunterladen der Anwendungseinstellungen. Vorsicht beim Teilen der Einstellungen, da sie Passwörter und andere sensitive Einstellungen enthalten',
|
||||
UPLOAD_TEXT: 'Hochladen von neuer Firmware (.bin), Geräte- oder Entitätseinstellungen (.json)',
|
||||
UPLOADING: 'Hochladen',
|
||||
UPLOAD_DROP_TEXT: 'Klicken Sie hier, oder ziehen eine Datei hierher',
|
||||
ERROR: 'Unerwarteter Fehler, bitter versuchen Sie es erneut',
|
||||
TIME_SET: 'Zeit gesetzt',
|
||||
MANAGE_USERS: 'Nutzerverwaltung',
|
||||
IS_ADMIN: 'ist Admin',
|
||||
USER_WARNING: 'Sie müssen mindestens einen Admin-Nutzer konfigurieren',
|
||||
ADD: 'Hinzufügen',
|
||||
ACCESS_TOKEN_FOR: 'Zugangs-Token für',
|
||||
ACCESS_TOKEN_TEXT:
|
||||
'DE_The token below is used with REST API calls that require authorization. It can be passed either as a Bearer token in the Authorization header or in the access_token URL query parameter.',
|
||||
GENERATING_TOKEN: 'DE_Generating token',
|
||||
USER: 'DE_User',
|
||||
MODIFY: 'DE_Modify',
|
||||
'Das untenstehende Token ist für REST API Aufrufe, die eine Authentifizierung benötigen. Es kann entweder als Bearer Token im `Authorization-Header` oder in der Access_Token URL verwendet werden.',
|
||||
GENERATING_TOKEN: 'Erzeuge Token',
|
||||
USER: 'Nutzer',
|
||||
MODIFY: 'Ändern',
|
||||
SU_TEXT:
|
||||
'DE_The su (super user) password is used to sign authentication tokens and also enable admin privileges within the Console.',
|
||||
NOT_ENABLED: 'DE_Not enabled',
|
||||
ERRORS: 'DE_Errors',
|
||||
DISCONNECT_REASON: 'DE_Disconnect Reason',
|
||||
ENABLE_MQTT: 'DE_Enable MQTT',
|
||||
OPTIONAL: 'DE_Optional',
|
||||
FORMATTING: 'DE_Formatting',
|
||||
FORMAT: 'DE_Format',
|
||||
MQTT_NEST_1: 'DE_Nested in a single topic',
|
||||
MQTT_NEST_2: 'DE_As individual topics',
|
||||
MQTT_RESPONSE: 'DE_Publish command output to a `response` topic',
|
||||
MQTT_PUBLISH_TEXT_1: 'DE_Publish single value topics on change',
|
||||
MQTT_PUBLISH_TEXT_2: 'DE_Publish to command topics (ioBroker)',
|
||||
MQTT_PUBLISH_TEXT_3: 'DE_Enable MQTT Discovery (Home Assistant, Domoticz)',
|
||||
MQTT_PUBLISH_TEXT_4: 'DE_Prefix for the Discovery topics',
|
||||
MQTT_PUBLISH_INTERVALS: 'DE_Publish Intervals',
|
||||
MQTT_INT_BOILER: 'DE_Boilers and Heat Pumps',
|
||||
MQTT_INT_THERMOSTATS: 'DE_Thermostats',
|
||||
MQTT_INT_SOLAR: 'DE_Solar Modules',
|
||||
MQTT_INT_MIXER: 'DE_Mixer Modules',
|
||||
DEFAULT: 'DE_Default',
|
||||
MQTT_CLEAN_SESSION: 'DE_Set Clean Session',
|
||||
MQTT_RETAIN_FLAG: 'DE_Always set Retain flag',
|
||||
INACTIVE: 'DE_Inactive',
|
||||
ACTIVE: 'DE_Active',
|
||||
UNKNOWN: 'DE_Unknown',
|
||||
SET_TIME: 'DE_Set Time',
|
||||
SET_TIME_TEXT: 'DE_Enter local date and time below to set the time.',
|
||||
LOCAL_TIME: 'DE_Local Time',
|
||||
UTC_TIME: 'DE_UTC Time',
|
||||
ENABLE_NTP: 'DE_Enable NTP',
|
||||
TIME_ZONE: 'DE_Time Zone',
|
||||
ACCESS_POINT: 'DE_Access Point',
|
||||
AP_PROVIDE: 'DE_Enable Access Point',
|
||||
AP_PROVIDE_TEXT_1: 'DE_always',
|
||||
AP_PROVIDE_TEXT_2: 'DE_when WiFi is disconnected',
|
||||
AP_PROVIDE_TEXT_3: 'DE_never',
|
||||
AP_PREFERRED_CHANNEL: 'DE_Preferred Channel',
|
||||
AP_HIDE_SSID: 'DE_Hide SSID',
|
||||
NETWORK_SCAN: 'DE_Scan WiFi Networks',
|
||||
IDLE: 'DE_Idle',
|
||||
LOST: 'DE_Lost',
|
||||
SCANNING: 'DE_Scanning',
|
||||
SCAN_AGAIN: 'DE_Scan again',
|
||||
NETWORK_SCANNER: 'DE_Network Scanner',
|
||||
NETWORK_NO_WIFI: 'DE_No WiFi networks found',
|
||||
NETWORK_BLANK_SSID: 'DE_leave blank to disable WiFi',
|
||||
POWER: 'DE_Power',
|
||||
NETWORK_DISABLE_SLEEP: 'DE_Disable WiFi Sleep Mode',
|
||||
NETWORK_LOW_BAND: 'DE_Use Lower WiFi Bandwidth',
|
||||
NETWORK_USE_DNS: 'DE_Enable mDNS Service',
|
||||
NETWORK_ENABLE_IPV6: 'DE_Enable IPv6 support',
|
||||
NETWORK_FIXED_IP: 'DE_Use Fixed IP address',
|
||||
ADMIN: 'DE_Admin',
|
||||
GUEST: 'DE_Guest'
|
||||
'Das su (super user) Passwort wird zum Signieren der Authentifikations-Tokens verwendet und ermöglicht Admin-Berechtigung in der Konsole.',
|
||||
NOT_ENABLED: 'Nicht aktiviert',
|
||||
ERRORS: 'Fehler',
|
||||
DISCONNECT_REASON: 'Grund der Verbindungsunterbrechung',
|
||||
ENABLE_MQTT: 'MQTT aktivieren',
|
||||
OPTIONAL: 'Optional',
|
||||
FORMATTING: 'Formattierung',
|
||||
FORMAT: 'Format',
|
||||
MQTT_NEST_1: 'Als Nester in in einem Gesamttopic',
|
||||
MQTT_NEST_2: 'Als einzelne Topics',
|
||||
MQTT_RESPONSE: 'Veröffentliche die Kommandoantwort als `response` Topic',
|
||||
MQTT_PUBLISH_TEXT_1: 'Veröffentliche einzelne Werte bei Veränderung als eigene Topics',
|
||||
MQTT_PUBLISH_TEXT_2: 'Veröffentliche als Kommando-Topic (ioBroker)',
|
||||
MQTT_PUBLISH_TEXT_3: 'Aktiviere `MQTT Discovery` (Home Assistant, Domoticz)',
|
||||
MQTT_PUBLISH_TEXT_4: 'Prefix für die `Discovery`-Topics',
|
||||
MQTT_PUBLISH_INTERVALS: 'Veröffentlichungs-Intervalle',
|
||||
MQTT_INT_BOILER: 'Boiler und Wärmepumpen',
|
||||
MQTT_INT_THERMOSTATS: 'Thermostate',
|
||||
MQTT_INT_SOLAR: 'Solarmodule',
|
||||
MQTT_INT_MIXER: 'Mischermodule',
|
||||
DEFAULT: 'Standard',
|
||||
MQTT_CLEAN_SESSION: 'Setze `Clean Session`',
|
||||
MQTT_RETAIN_FLAG: 'Setze `Retain flag` immer',
|
||||
INACTIVE: 'Inaktiv',
|
||||
ACTIVE: 'Aktiv',
|
||||
UNKNOWN: 'Unbekannt',
|
||||
SET_TIME: 'Zeiteinstellung',
|
||||
SET_TIME_TEXT: 'Geben Sie das lokale Datum und die Zeit ein.',
|
||||
LOCAL_TIME: 'Lokalzeit',
|
||||
UTC_TIME: 'UTC Zeit',
|
||||
ENABLE_NTP: 'Aktiviere NTP',
|
||||
TIME_ZONE: 'Zeitzone',
|
||||
ACCESS_POINT: 'Zugangspunkt',
|
||||
AP_PROVIDE: 'Aktiviere Zugangspunkt',
|
||||
AP_PROVIDE_TEXT_1: 'Immer',
|
||||
AP_PROVIDE_TEXT_2: 'Wenn WiFi nicht verbunden',
|
||||
AP_PROVIDE_TEXT_3: 'Niemals',
|
||||
AP_PREFERRED_CHANNEL: 'Bevorzugter Kanal',
|
||||
AP_HIDE_SSID: 'Verstecke SSID',
|
||||
NETWORK_SCAN: 'Suche nach WiFi Netzwerken',
|
||||
IDLE: 'Leerlauf',
|
||||
LOST: 'Verloren',
|
||||
SCANNING: 'Suche',
|
||||
SCAN_AGAIN: 'Erneute Suche',
|
||||
NETWORK_SCANNER: 'Netzwerk Suche',
|
||||
NETWORK_NO_WIFI: 'Keine WiFi Netzwerke gefunden',
|
||||
NETWORK_BLANK_SSID: 'Freilassen um WiFi zu deaktivieren',
|
||||
POWER: 'Leistung',
|
||||
NETWORK_DISABLE_SLEEP: 'Deaktiviere WiFi Schlafmodus',
|
||||
NETWORK_LOW_BAND: 'Verwende niedrige WiFi Bandbreite',
|
||||
NETWORK_USE_DNS: 'Aktiviere mDNS Service',
|
||||
NETWORK_ENABLE_IPV6: 'Aktiviere IPv6 Unterstützung',
|
||||
NETWORK_FIXED_IP: 'Feste IP Addresse',
|
||||
ADMIN: 'Administrator',
|
||||
GUEST: 'Gast'
|
||||
};
|
||||
|
||||
export default de;
|
||||
|
||||
@@ -44,6 +44,7 @@ const en: BaseTranslation = {
|
||||
PROBLEM_LOADING: 'Problem loading',
|
||||
ACCESS_DENIED: 'Access Denied',
|
||||
ANALOG_SENSOR: 'Analog Sensor{post}',
|
||||
ANALOG_SENSORS: 'Analog Sensors',
|
||||
TEMP_SENSOR: 'Temperature Sensor{post}',
|
||||
TEMP_SENSORS: 'Temperature Sensors',
|
||||
WRITE_COMMAND: 'Write command {cmd}',
|
||||
@@ -115,6 +116,7 @@ const en: BaseTranslation = {
|
||||
SECONDS: 'seconds',
|
||||
MINUTES: 'minutes',
|
||||
RESTART: 'Restart',
|
||||
HOURS: "hours",
|
||||
RESTART_TEXT: 'EMS-ESP needs to be restarted to apply changed system settings',
|
||||
COMMAND: 'Command',
|
||||
CUSTOMIZATIONS_RESTART: 'All customizations have been removed. Restarting...',
|
||||
@@ -163,6 +165,13 @@ const en: BaseTranslation = {
|
||||
SYSTEM_FACTORY_TEXT_DIALOG: 'Are you sure you want to reset the device to its factory defaults?',
|
||||
VERSION_CHECK: 'Version Check',
|
||||
THE_LATEST: 'The latest',
|
||||
PLATFORM: 'Device (Platform / SDK)',
|
||||
UPTIME: 'System Uptime',
|
||||
CPU_FREQ: 'CPU Frequency',
|
||||
HEAP: 'Heap (Free / Max Alloc)',
|
||||
PSRAM: 'PSRAM (Size / Free)',
|
||||
FLASH: 'Flash Chip (Size / Speed)',
|
||||
FILESYSTEM: 'File System (Used / Total)',
|
||||
BUFFER_SIZE: 'Buffer Size',
|
||||
COMPACT: 'Compact',
|
||||
ENABLE_OTA: 'Enable OTA Updates',
|
||||
|
||||
@@ -189,6 +189,10 @@ type RootTranslation = {
|
||||
*/
|
||||
ANALOG_SENSOR: RequiredParams<'post'>
|
||||
/**
|
||||
* Analog Sensors
|
||||
*/
|
||||
ANALOG_SENSORS: string
|
||||
/**
|
||||
* Temperature Sensor{post}
|
||||
* @param {unknown} post
|
||||
*/
|
||||
@@ -464,8 +468,12 @@ type RootTranslation = {
|
||||
*/
|
||||
MINUTES: string
|
||||
/**
|
||||
* Restart
|
||||
* hours
|
||||
*/
|
||||
HOURS: string
|
||||
/**
|
||||
* Restart
|
||||
*/
|
||||
RESTART: string
|
||||
/**
|
||||
* EMS-ESP needs to be restarted to apply changed system settings
|
||||
@@ -656,8 +664,36 @@ type RootTranslation = {
|
||||
*/
|
||||
THE_LATEST: string
|
||||
/**
|
||||
* Buffer Size
|
||||
* Device (Platform / SDK)
|
||||
*/
|
||||
PLATFORM: string
|
||||
/**
|
||||
* System Uptime
|
||||
*/
|
||||
UPTIME: string
|
||||
/**
|
||||
* CPU Frequency
|
||||
*/
|
||||
CPU_FREQ: string
|
||||
/**
|
||||
* Heap (Free / Max Alloc)
|
||||
*/
|
||||
HEAP: string
|
||||
/**
|
||||
* PSRAM (Size / Free)
|
||||
*/
|
||||
PSRAM: string
|
||||
/**
|
||||
* Flash Chip (Size / Speed)
|
||||
*/
|
||||
FLASH: string
|
||||
/**
|
||||
* File System (Used / Total)
|
||||
*/
|
||||
FILESYSTEM: string
|
||||
/**
|
||||
* Buffer Size
|
||||
*/
|
||||
BUFFER_SIZE: string
|
||||
/**
|
||||
* Compact
|
||||
@@ -1127,6 +1163,10 @@ export type TranslationFunctions = {
|
||||
*/
|
||||
ANALOG_SENSOR: (arg: { post: unknown }) => LocalizedString
|
||||
/**
|
||||
* Analog Sensors
|
||||
*/
|
||||
ANALOG_SENSORS: () => LocalizedString
|
||||
/**
|
||||
* Temperature Sensor{post}
|
||||
*/
|
||||
TEMP_SENSOR: (arg: { post: unknown }) => LocalizedString
|
||||
@@ -1393,8 +1433,12 @@ export type TranslationFunctions = {
|
||||
*/
|
||||
MINUTES: () => LocalizedString
|
||||
/**
|
||||
* Restart
|
||||
* hours
|
||||
*/
|
||||
HOURS: () => LocalizedString
|
||||
/**
|
||||
* Restart
|
||||
*/
|
||||
RESTART: () => LocalizedString
|
||||
/**
|
||||
* EMS-ESP needs to be restarted to apply changed system settings
|
||||
@@ -1584,6 +1628,34 @@ export type TranslationFunctions = {
|
||||
* The latest
|
||||
*/
|
||||
THE_LATEST: () => LocalizedString
|
||||
/**
|
||||
* Device (Platform / SDK)
|
||||
*/
|
||||
PLATFORM: () => LocalizedString
|
||||
/**
|
||||
* ystem Uptime
|
||||
*/
|
||||
UPTIME: () => LocalizedString
|
||||
/**
|
||||
* CPU Frequency
|
||||
*/
|
||||
CPU_FREQ: () => LocalizedString
|
||||
/**
|
||||
* Heap (Free / Max Alloc)
|
||||
*/
|
||||
HEAP: () => LocalizedString
|
||||
/**
|
||||
* PSRAM (Size / Free)
|
||||
*/
|
||||
PSRAM: () => LocalizedString
|
||||
/**
|
||||
* Flash Chip (Size / Speed)
|
||||
*/
|
||||
FLASH: () => LocalizedString
|
||||
/**
|
||||
* File System (Used / Total)
|
||||
*/
|
||||
FILESYSTEM: () => LocalizedString
|
||||
/**
|
||||
* Buffer Size
|
||||
*/
|
||||
|
||||
@@ -420,9 +420,9 @@ const DashboardData: FC = () => {
|
||||
}
|
||||
switch (uom) {
|
||||
case DeviceValueUOM.HOURS:
|
||||
return formatDurationMin(value * 60);
|
||||
return value ? formatDurationMin(value * 60) : LL.NUM_HOURS({ num: 0 });
|
||||
case DeviceValueUOM.MINUTES:
|
||||
return formatDurationMin(value);
|
||||
return value ? formatDurationMin(value) : LL.NUM_MINUTES({ num: 0 });
|
||||
case DeviceValueUOM.SECONDS:
|
||||
return LL.NUM_SECONDS({ num: value });
|
||||
case DeviceValueUOM.NONE:
|
||||
@@ -445,6 +445,19 @@ const DashboardData: FC = () => {
|
||||
}
|
||||
}
|
||||
|
||||
const setUom = (uom: number) => {
|
||||
switch (uom) {
|
||||
case DeviceValueUOM.HOURS:
|
||||
return LL.HOURS();
|
||||
case DeviceValueUOM.MINUTES:
|
||||
return LL.MINUTES();
|
||||
case DeviceValueUOM.SECONDS:
|
||||
return LL.SECONDS();
|
||||
default:
|
||||
return DeviceValueUOM_s[uom];
|
||||
}
|
||||
};
|
||||
|
||||
const sendDeviceValue = async () => {
|
||||
if (deviceValue) {
|
||||
try {
|
||||
@@ -502,7 +515,7 @@ const DashboardData: FC = () => {
|
||||
onChange={updateValue(setDeviceValue)}
|
||||
inputProps={deviceValue.u ? { min: deviceValue.m, max: deviceValue.x, step: deviceValue.s } : {}}
|
||||
InputProps={{
|
||||
startAdornment: <InputAdornment position="start">{DeviceValueUOM_s[deviceValue.u]}</InputAdornment>
|
||||
startAdornment: <InputAdornment position="start">{setUom(deviceValue.u)}</InputAdornment>
|
||||
}}
|
||||
/>
|
||||
)}
|
||||
@@ -833,7 +846,7 @@ const DashboardData: FC = () => {
|
||||
const renderDallasData = () => (
|
||||
<>
|
||||
<Typography sx={{ pt: 2, pb: 1 }} variant="h6" color="secondary">
|
||||
Temperature Sensors
|
||||
{LL.TEMP_SENSORS()}
|
||||
</Typography>
|
||||
<Table
|
||||
data={{ nodes: sensorData.sensors }}
|
||||
@@ -852,7 +865,7 @@ const DashboardData: FC = () => {
|
||||
endIcon={getSortIcon(sensor_sort.state, 'NAME')}
|
||||
onClick={() => sensor_sort.fns.onToggleSort({ sortKey: 'NAME' })}
|
||||
>
|
||||
NAME
|
||||
{LL.ENTITY_NAME()}
|
||||
</Button>
|
||||
</HeaderCell>
|
||||
<HeaderCell stiff>
|
||||
@@ -862,7 +875,7 @@ const DashboardData: FC = () => {
|
||||
endIcon={getSortIcon(sensor_sort.state, 'TEMPERATURE')}
|
||||
onClick={() => sensor_sort.fns.onToggleSort({ sortKey: 'TEMPERATURE' })}
|
||||
>
|
||||
TEMPERATURE
|
||||
{LL.VALUE()}
|
||||
</Button>
|
||||
</HeaderCell>
|
||||
<HeaderCell stiff />
|
||||
@@ -892,7 +905,7 @@ const DashboardData: FC = () => {
|
||||
const renderAnalogData = () => (
|
||||
<>
|
||||
<Typography sx={{ pt: 2, pb: 1 }} variant="h6" color="secondary">
|
||||
Analog Sensors
|
||||
{LL.ANALOG_SENSORS()}
|
||||
</Typography>
|
||||
|
||||
<Table data={{ nodes: sensorData.analogs }} theme={analog_theme} sort={analog_sort} layout={{ custom: true }}>
|
||||
@@ -917,7 +930,7 @@ const DashboardData: FC = () => {
|
||||
endIcon={getSortIcon(analog_sort.state, 'NAME')}
|
||||
onClick={() => analog_sort.fns.onToggleSort({ sortKey: 'NAME' })}
|
||||
>
|
||||
NAME
|
||||
{LL.ENTITY_NAME()}
|
||||
</Button>
|
||||
</HeaderCell>
|
||||
<HeaderCell stiff>
|
||||
@@ -927,7 +940,7 @@ const DashboardData: FC = () => {
|
||||
endIcon={getSortIcon(analog_sort.state, 'TYPE')}
|
||||
onClick={() => analog_sort.fns.onToggleSort({ sortKey: 'TYPE' })}
|
||||
>
|
||||
TYPE
|
||||
{LL.TYPE()}
|
||||
</Button>
|
||||
</HeaderCell>
|
||||
<HeaderCell stiff>VALUE</HeaderCell>
|
||||
@@ -1034,7 +1047,7 @@ const DashboardData: FC = () => {
|
||||
<Grid item>
|
||||
<ValidatedTextField
|
||||
name="n"
|
||||
label="Name"
|
||||
label={LL.ENTITY_NAME()}
|
||||
value={analog.n}
|
||||
sx={{ width: '20ch' }}
|
||||
variant="outlined"
|
||||
@@ -1042,7 +1055,7 @@ const DashboardData: FC = () => {
|
||||
/>
|
||||
</Grid>
|
||||
<Grid item>
|
||||
<ValidatedTextField name="t" label="Type" value={analog.t} select onChange={updateValue(setAnalog)}>
|
||||
<ValidatedTextField name="t" label={LL.TYPE()} value={analog.t} select onChange={updateValue(setAnalog)}>
|
||||
{AnalogTypeNames.map((val, i) => (
|
||||
<MenuItem key={i} value={i}>
|
||||
{val}
|
||||
@@ -1127,7 +1140,7 @@ const DashboardData: FC = () => {
|
||||
<Grid item>
|
||||
<ValidatedTextField
|
||||
name="o"
|
||||
label="Value"
|
||||
label={LL.VALUE()}
|
||||
value={numberValue(analog.o)}
|
||||
sx={{ width: '20ch' }}
|
||||
type="number"
|
||||
|
||||
Reference in New Issue
Block a user