Merge pull request #2526 from proddy/dev

small changes
This commit is contained in:
Proddy
2025-04-19 12:54:28 +02:00
committed by GitHub
19 changed files with 738 additions and 774 deletions

View File

@@ -3,6 +3,8 @@ name: 'Build dev release'
on:
workflow_dispatch:
push:
paths:
- 'src/emsesp_version.h'
branches:
- 'dev'

View File

@@ -29,7 +29,7 @@ telegram_type_id,name,is_fetched
0x3B,Energy,
0x3D,RC35Set,
0x3E,RC35Monitor,
0x3F,RC35Timer,
0x3F,RC30Timer,
0x40,RC30Temp,
0x41,RC30Monitor,
0x42,RC35Timer2,
@@ -102,7 +102,7 @@ telegram_type_id,name,is_fetched
0x0292,HPMode,fetched
0x0293,HPMode,fetched
0x0294,HPMode,fetched
0x029B,RC300Curves,
0x029B,RC300Curves,fetched
0x029C,RC300Curves,
0x029D,RC300Curves,
0x029E,RC300Curves,
@@ -110,10 +110,10 @@ telegram_type_id,name,is_fetched
0x02A0,RC300Curves,
0x02A1,RC300Curves,
0x02A2,RC300Curves,
0x02A5,RC300Monitor,fetched
0x02A5,RC300Monitor,
0x02A6,CRFMonitor,
0x02A7,CRFMonitor,
0x02A8,RC300Monitor,
0x02A7,RC300Monitor,
0x02A8,CRFMonitor,
0x02A9,RC300Monitor,
0x02AA,RC300Monitor,
0x02AB,RC300Monitor,
@@ -134,7 +134,7 @@ telegram_type_id,name,is_fetched
0x02BE,RC300Set,
0x02BF,RC300Set,
0x02C0,RC300Set,
0x02CC,RC300Set2,
0x02CC,HPPressure,fetched
0x02CD,MMPLUSConfigMessage,fetched
0x02CE,RC300Set2,
0x02D0,RC300Set2,
1 telegram_type_id name is_fetched
29 0x3B Energy
30 0x3D RC35Set
31 0x3E RC35Monitor
32 0x3F RC35Timer RC30Timer
33 0x40 RC30Temp
34 0x41 RC30Monitor
35 0x42 RC35Timer2
102 0x0292 HPMode fetched
103 0x0293 HPMode fetched
104 0x0294 HPMode fetched
105 0x029B RC300Curves fetched
106 0x029C RC300Curves
107 0x029D RC300Curves
108 0x029E RC300Curves
110 0x02A0 RC300Curves
111 0x02A1 RC300Curves
112 0x02A2 RC300Curves
113 0x02A5 RC300Monitor fetched
114 0x02A6 CRFMonitor
115 0x02A7 CRFMonitor RC300Monitor
116 0x02A8 RC300Monitor CRFMonitor
117 0x02A9 RC300Monitor
118 0x02AA RC300Monitor
119 0x02AB RC300Monitor
134 0x02BE RC300Set
135 0x02BF RC300Set
136 0x02C0 RC300Set
137 0x02CC RC300Set2 HPPressure fetched
138 0x02CD MMPLUSConfigMessage fetched
139 0x02CE RC300Set2
140 0x02D0 RC300Set2

View File

@@ -26,39 +26,38 @@
"@emotion/styled": "^11.14.0",
"@mui/icons-material": "^7.0.2",
"@mui/material": "^7.0.2",
"@table-library/react-table-library": "4.1.12",
"@table-library/react-table-library": "4.1.15",
"alova": "3.2.10",
"async-validator": "^4.2.5",
"jwt-decode": "^4.0.0",
"magic-string": "^0.30.17",
"mime-types": "^3.0.1",
"preact": "^10.26.5",
"react": "^19.1.0",
"react-dom": "^19.1.0",
"react-icons": "^5.5.0",
"react-router": "^7.5.0",
"react-router": "^7.5.1",
"react-toastify": "^11.0.5",
"typesafe-i18n": "^5.26.2",
"typescript": "^5.8.3"
},
"devDependencies": {
"@babel/core": "^7.26.10",
"@eslint/js": "^9.24.0",
"@eslint/js": "^9.25.0",
"@preact/compat": "^18.3.1",
"@preact/preset-vite": "^2.10.1",
"@trivago/prettier-plugin-sort-imports": "^5.2.2",
"@types/formidable": "^3",
"@types/node": "^22.14.1",
"@types/react": "^19.1.1",
"@types/react": "^19.1.2",
"@types/react-dom": "^19.1.2",
"concurrently": "^9.1.2",
"eslint": "^9.24.0",
"eslint": "^9.25.0",
"eslint-config-prettier": "^10.1.2",
"formidable": "^3.5.2",
"prettier": "^3.5.3",
"rollup-plugin-visualizer": "^5.14.0",
"terser": "^5.39.0",
"typescript-eslint": "8.29.1",
"vite": "^6.2.6",
"typescript-eslint": "8.30.1",
"vite": "^6.3.2",
"vite-plugin-imagemin": "^0.6.1",
"vite-tsconfig-paths": "^5.1.4"
},

View File

@@ -1,12 +1,27 @@
import { useState } from 'react';
import { toast } from 'react-toastify';
import AccessTimeIcon from '@mui/icons-material/AccessTime';
import CancelIcon from '@mui/icons-material/Cancel';
import WarningIcon from '@mui/icons-material/Warning';
import { Button, Checkbox, MenuItem } from '@mui/material';
import {
Box,
Button,
Checkbox,
Dialog,
DialogActions,
DialogContent,
DialogTitle,
MenuItem,
TextField,
Typography
} from '@mui/material';
import * as NTPApi from 'api/ntp';
import { readNTPSettings } from 'api/ntp';
import { dialogStyle } from 'CustomTheme';
import { useRequest } from 'alova/client';
import { updateState } from 'alova/client';
import type { ValidateFieldsError } from 'async-validator';
import {
@@ -19,8 +34,8 @@ import {
useLayoutTitle
} from 'components';
import { useI18nContext } from 'i18n/i18n-react';
import type { NTPSettingsType } from 'types';
import { updateValueDirty, useRest } from 'utils';
import type { NTPSettingsType, Time } from 'types';
import { formatLocalDateTime, updateValueDirty, useRest } from 'utils';
import { validate } from 'validators';
import { NTP_SETTINGS_VALIDATOR } from 'validators/ntp';
@@ -46,6 +61,17 @@ const NTPSettings = () => {
const { LL } = useI18nContext();
useLayoutTitle('NTP');
const [localTime, setLocalTime] = useState<string>('');
const [settingTime, setSettingTime] = useState<boolean>(false);
const [processing, setProcessing] = useState<boolean>(false);
const { send: updateTime } = useRequest(
(local_time: Time) => NTPApi.updateTime(local_time),
{
immediate: false
}
);
const updateFormValue = updateValueDirty(
origData,
dirtyFlags,
@@ -55,6 +81,78 @@ const NTPSettings = () => {
const [fieldErrors, setFieldErrors] = useState<ValidateFieldsError>();
const updateLocalTime = (event: React.ChangeEvent<HTMLInputElement>) =>
setLocalTime(event.target.value);
const openSetTime = () => {
setLocalTime(formatLocalDateTime(new Date()));
setSettingTime(true);
};
const configureTime = async () => {
setProcessing(true);
await updateTime({ local_time: formatLocalDateTime(new Date(localTime)) })
.then(async () => {
toast.success(LL.TIME_SET());
setSettingTime(false);
await loadData();
})
.catch(() => {
toast.error(LL.PROBLEM_UPDATING());
})
.finally(() => {
setProcessing(false);
});
};
const renderSetTimeDialog = () => (
<Dialog
sx={dialogStyle}
open={settingTime}
onClose={() => setSettingTime(false)}
>
<DialogTitle>{LL.SET_TIME(1)}</DialogTitle>
<DialogContent dividers>
<Box color="warning.main" p={0} pl={0} pr={0} mt={0} mb={2}>
<Typography variant="body2">{LL.SET_TIME_TEXT()}</Typography>
</Box>
<TextField
label={LL.LOCAL_TIME(0)}
type="datetime-local"
value={localTime}
onChange={updateLocalTime}
disabled={processing}
fullWidth
slotProps={{
inputLabel: {
shrink: true
}
}}
/>
</DialogContent>
<DialogActions>
<Button
startIcon={<CancelIcon />}
variant="outlined"
onClick={() => setSettingTime(false)}
color="secondary"
>
{LL.CANCEL()}
</Button>
<Button
startIcon={<AccessTimeIcon />}
variant="outlined"
onClick={configureTime}
disabled={processing}
color="primary"
>
{LL.UPDATE()}
</Button>
</DialogActions>
</Dialog>
);
const content = () => {
if (!data) {
return <FormLoader onRetry={loadData} errorMessage={errorMessage} />;
@@ -115,6 +213,25 @@ const NTPSettings = () => {
<MenuItem disabled>{LL.TIME_ZONE()}...</MenuItem>
{timeZoneSelectItems()}
</ValidatedTextField>
<Box display="flex" flexWrap="wrap">
{!data.enabled && !dirtyFlags.length && (
<Box flexWrap="nowrap" whiteSpace="nowrap">
<ButtonRow>
<Button
onClick={openSetTime}
variant="outlined"
color="primary"
startIcon={<AccessTimeIcon />}
>
{LL.SET_TIME(0)}
</Button>
</ButtonRow>
</Box>
)}
</Box>
{renderSetTimeDialog()}
{dirtyFlags && dirtyFlags.length !== 0 && (
<ButtonRow>
<Button

View File

@@ -1,40 +1,27 @@
import { useState } from 'react';
import { toast } from 'react-toastify';
import AccessTimeIcon from '@mui/icons-material/AccessTime';
import CancelIcon from '@mui/icons-material/Cancel';
import DnsIcon from '@mui/icons-material/Dns';
import SwapVerticalCircleIcon from '@mui/icons-material/SwapVerticalCircle';
import UpdateIcon from '@mui/icons-material/Update';
import {
Avatar,
Box,
Button,
Dialog,
DialogActions,
DialogContent,
DialogTitle,
Divider,
List,
ListItem,
ListItemAvatar,
ListItemText,
TextField,
Typography,
useTheme
} from '@mui/material';
import type { Theme } from '@mui/material';
import * as NTPApi from 'api/ntp';
import { dialogStyle } from 'CustomTheme';
import { useRequest } from 'alova/client';
import { ButtonRow, FormLoader, SectionContent, useLayoutTitle } from 'components';
import { FormLoader, SectionContent, useLayoutTitle } from 'components';
import { useI18nContext } from 'i18n/i18n-react';
import type { NTPStatusType, Time } from 'types';
import type { NTPStatusType } from 'types';
import { NTPSyncStatus } from 'types';
import { useInterval } from 'utils';
import { formatDateTime, formatLocalDateTime } from 'utils';
import { formatDateTime } from 'utils';
const NTPStatus = () => {
const { data, send: loadData, error } = useRequest(NTPApi.readNTPStatus);
@@ -43,24 +30,11 @@ const NTPStatus = () => {
void loadData();
});
const [localTime, setLocalTime] = useState<string>('');
const [settingTime, setSettingTime] = useState<boolean>(false);
const [processing, setProcessing] = useState<boolean>(false);
const { LL } = useI18nContext();
useLayoutTitle('NTP');
const { send: updateTime } = useRequest(
(local_time: Time) => NTPApi.updateTime(local_time),
{
immediate: false
}
);
NTPApi.updateTime;
const isNtpActive = ({ status }: NTPStatusType) =>
status === NTPSyncStatus.NTP_ACTIVE;
const isNtpEnabled = ({ status }: NTPStatusType) =>
status !== NTPSyncStatus.NTP_DISABLED;
@@ -77,14 +51,6 @@ const NTPStatus = () => {
}
};
const updateLocalTime = (event: React.ChangeEvent<HTMLInputElement>) =>
setLocalTime(event.target.value);
const openSetTime = () => {
setLocalTime(formatLocalDateTime(new Date()));
setSettingTime(true);
};
const theme = useTheme();
const ntpStatus = ({ status }: NTPStatusType) => {
@@ -100,70 +66,6 @@ const NTPStatus = () => {
}
};
const configureTime = async () => {
setProcessing(true);
await updateTime({ local_time: formatLocalDateTime(new Date(localTime)) })
.then(async () => {
toast.success(LL.TIME_SET());
setSettingTime(false);
await loadData();
})
.catch(() => {
toast.error(LL.PROBLEM_UPDATING());
})
.finally(() => {
setProcessing(false);
});
};
const renderSetTimeDialog = () => (
<Dialog
sx={dialogStyle}
open={settingTime}
onClose={() => setSettingTime(false)}
>
<DialogTitle>{LL.SET_TIME(1)}</DialogTitle>
<DialogContent dividers>
<Box color="warning.main" p={0} pl={0} pr={0} mt={0} mb={2}>
<Typography variant="body2">{LL.SET_TIME_TEXT()}</Typography>
</Box>
<TextField
label={LL.LOCAL_TIME(0)}
type="datetime-local"
value={localTime}
onChange={updateLocalTime}
disabled={processing}
fullWidth
slotProps={{
inputLabel: {
shrink: true
}
}}
/>
</DialogContent>
<DialogActions>
<Button
startIcon={<CancelIcon />}
variant="outlined"
onClick={() => setSettingTime(false)}
color="secondary"
>
{LL.CANCEL()}
</Button>
<Button
startIcon={<AccessTimeIcon />}
variant="outlined"
onClick={configureTime}
disabled={processing}
color="primary"
>
{LL.UPDATE()}
</Button>
</DialogActions>
</Dialog>
);
const content = () => {
if (!data) {
return <FormLoader onRetry={loadData} errorMessage={error?.message} />;
@@ -219,23 +121,6 @@ const NTPStatus = () => {
</ListItem>
<Divider variant="inset" component="li" />
</List>
<Box display="flex" flexWrap="wrap">
{data && !isNtpActive(data) && (
<Box flexWrap="nowrap" whiteSpace="nowrap">
<ButtonRow>
<Button
onClick={openSetTime}
variant="outlined"
color="primary"
startIcon={<AccessTimeIcon />}
>
{LL.SET_TIME(0)}
</Button>
</ButtonRow>
</Box>
)}
</Box>
{renderSetTimeDialog()}
</>
);
};

View File

@@ -220,7 +220,7 @@ const Version = () => {
color="primary"
>
<Link underline="none" target="_blank" href={binURL} color="primary">
{LL.DOWNLOAD(1)}
{LL.DOWNLOAD(0)}
</Link>
</Button>
{!downloadOnly && (

View File

@@ -187,7 +187,7 @@ const cz: Translation = {
COMPACT: 'Kompaktní',
DOWNLOAD_SETTINGS_TEXT: 'Vytvořte zálohu svého nastavení a konfigurace',
UPLOAD_TEXT: 'Nahrajte nový soubor firmwaru (.bin) nebo záložní soubor (.json)',
UPLOAD_DROP_TEXT: 'Drop a firmware .bin file or click here', // TODO translate
UPLOAD_DROP_TEXT: 'Přetáhněte soubor sem nebo klikněte pro výběr',
ERROR: 'Neočekávaná chyba, zkuste to prosím znovu',
TIME_SET: 'Čas nastaven',
MANAGE_USERS: 'Spravovat uživatele',
@@ -332,7 +332,7 @@ const cz: Translation = {
SPECIAL_FUNCTIONS: 'Speciální funkce',
WAIT_FIRMWARE: 'Firmware se nahrává a instaluje',
INSTALL_VERSION: 'Tímto se {0} verze {1}. Jste si jistí?',
UPDATE_AVAILABLE: 'update available', // TODO translate
UPDATE_AVAILABLE: 'aktualizace dostupná',
LATEST_VERSION: 'Používáte nejnovější verzi {0}firmwaru',
PLEASE_WAIT: 'Prosím čekejte',
RESTARTING_PRE: 'Inicializace',
@@ -340,8 +340,8 @@ const cz: Translation = {
AUTO_SCROLL: 'Automatické rolování',
DASHBOARD: 'Dashboard',
DEVELOPER_MODE: 'Režim vývojáře',
BYTES: 'Bytes', // TODO translate
BITMASK: 'Bit Mask',// TODO translate
BYTES: 'Bajty',
BITMASK: 'Bit Mask',
DUPLICATE: 'Duplikát',
DASHBOARD_1: 'Všechny aktivní entity EMS jsou označené jako oblíbené. Všechny vlastní entity, harmonogramy a externí sensory jsou zobrazeny níže.',
NO_DATA_1: 'Nebyly nalezeny žádné oblíbené entity. Použijte',

View File

@@ -42,7 +42,7 @@ const de: Translation = {
CANCEL: 'Abbrechen',
RESET: 'Zurücksetzen',
APPLY_CHANGES: 'Änderungen anwenden ({0})',
UPDATE: 'Update', // TODO translate
UPDATE: 'Aktualisieren',
EXECUTE: 'Ausführen',
REMOVE: 'Entfernen',
PROBLEM_UPDATING: 'Problem beim Aktualisieren',
@@ -160,7 +160,7 @@ const de: Translation = {
HELP_INFORMATION_3: 'Um neue Funktionen anzufragen oder Fehler zu melden, eröffnen Sie ein Issue auf GitHub',
HELP_INFORMATION_4: 'Bitte laden Sie die Systemdetails und hängen Sie sie an das Support-Issue an',
UPLOAD: 'Hochladen',
DOWNLOAD: '{{H|h|h}}erunterladen',
DOWNLOAD: '{{Herunterladen|heruntergeladen|}}',
INSTALL: 'Installieren',
ABORTED: 'abgebrochen',
FAILED: 'gescheitert',
@@ -350,7 +350,7 @@ const de: Translation = {
THIS_VERSION: 'Diese Version',
PLATFORM: 'Plattform',
RELEASE_TYPE: 'Release Typ',
INTERNET_CONNECTION_REQUIRED: 'Internetverbindung erforderlich für automatische Version-Überprüfung und -Aktualisierung',
INTERNET_CONNECTION_REQUIRED: 'Für die automatische Versionsprüfung und Aktualisierung ist eine Internetverbindung erforderlich',
SWITCH_RELEASE_TYPE: 'Zum {0}-Release wechseln'
};

View File

@@ -41,9 +41,9 @@ const fr: Translation = {
CHANGE_VALUE: 'Changer la valeur',
CANCEL: 'Annuler',
RESET: 'Réinitialiser',
APPLY_CHANGES: 'Apply Changes ({0})', // TODO translate
UPDATE: 'Update', // TODO translate
EXECUTE: 'Execute', // TODO translate
APPLY_CHANGES: 'Appliquer les changements ({0})',
UPDATE: 'Update',
EXECUTE: 'Execute',
REMOVE: 'Enlever',
PROBLEM_UPDATING: 'Problème lors de la mise à jour',
PROBLEM_LOADING: 'Problème lors du chargement',
@@ -72,7 +72,7 @@ const fr: Translation = {
TX_ISSUES: 'Problèmes de transmission (Tx) - Essayez un autre mode Tx',
DISCONNECTED: 'Déconnecté',
EMS_SCAN: 'Etes-vous sûr de vouloir lancer un scan complet du bus EMS ?',
DATA_TRAFFIC: 'Data Traffic', // TODO translate
DATA_TRAFFIC: 'Traffic des données',
EMS_DEVICE: 'Appareils EMS',
SUCCESS: 'SUCCÈS',
FAIL: 'ÉCHEC',
@@ -114,9 +114,9 @@ const fr: Translation = {
BYPASS_TOKEN: "Contourner l'autorisation du jeton d'accès sur les appels API",
READONLY: 'Activer le mode lecture uniquement (bloque toutes les commandes EMS sortantes en écriture Tx)',
UNDERCLOCK_CPU: 'Underclock du CPU',
HEATINGOFF: 'Start boiler with forced heating off', // TODO translate
HEATINGOFF: 'Démarrer le chauffage avec le chauffage forcé éteint',
REMOTE_TIMEOUT: 'Remote timeout',
REMOTE_TIMEOUT_EN: 'Disable remote on missing room temperature', // TODO translate
REMOTE_TIMEOUT_EN: 'Disable remote on missing room temperature',
MIN_DURATION: 'Wait time',
ENABLE_SHOWER_TIMER: 'Activer la minuterie de la douche',
ENABLE_SHOWER_ALERT: 'Activer les alertes de durée de douche',
@@ -148,7 +148,7 @@ const fr: Translation = {
CUSTOMIZATIONS_HELP_3: "désactiver l'action d'écriture",
CUSTOMIZATIONS_HELP_4: "exclure de MQTT et de l'API",
CUSTOMIZATIONS_HELP_5: 'cacher des appareils',
CUSTOMIZATIONS_HELP_6: 'remove from memory', // TODO translate
CUSTOMIZATIONS_HELP_6: 'supprimer de la mémoire',
SELECT_DEVICE: 'Sélectionnez un appareil',
SET_ALL: 'tout régler',
OPTIONS: 'Options',
@@ -168,14 +168,14 @@ const fr: Translation = {
SYSTEM: 'Système',
LOG_OF: '{0} Log',
STATUS_OF: 'Statut {0}',
DOWNLOAD_UPLOAD: 'Download/Upload', // TODO translate
DOWNLOAD_UPLOAD: 'Télécharger/Mettre à jour',
CLOSE: 'Fermer',
USE: 'Utiliser',
FACTORY_RESET: 'Réinitialisation',
SYSTEM_FACTORY_TEXT: "L'appareil a été réinitialisé et va maintenant redémarrer",
SYSTEM_FACTORY_TEXT_DIALOG: "Êtes-vous sûr de vouloir réinitialiser l'appareil à ses paramètres d'usine ?",
AVAILABLE_VERSION: 'Latest Available Versions', // TODO translate
STABLE: 'Stable', // TODO translate
AVAILABLE_VERSION: 'Versions disponibles',
STABLE: 'Stable',
DEVELOPMENT: 'Développement',
UPTIME: 'Durée de fonctionnement du système',
FREE_MEMORY: 'Libre Memory',
@@ -185,9 +185,9 @@ const fr: Translation = {
FILESYSTEM: 'File System (Utilisée / Libre)',
BUFFER_SIZE: 'Max taille du buffer',
COMPACT: 'Compact',
DOWNLOAD_SETTINGS_TEXT: 'Create a backup of your configuration and settings', // TODO translate
UPLOAD_TEXT: 'Upload a new firmware file (.bin) or a backup file (.json)', // TODO translate
UPLOAD_DROP_TEXT: 'Drop a firmware .bin file or click here', // TODO translate
DOWNLOAD_SETTINGS_TEXT: 'Créer une sauvegarde de vos paramètres et configurations',
UPLOAD_TEXT: 'Télécharger un nouveau fichier firmware (.bin) ou une sauvegarde (.json)',
UPLOAD_DROP_TEXT: 'Drop a firmware .bin file or click here',
ERROR: 'Erreur inattendue, veuillez réessayer',
TIME_SET: 'Time set',
MANAGE_USERS: 'Gérer les utilisateurs',
@@ -217,7 +217,7 @@ const fr: Translation = {
MQTT_PUBLISH_TEXT_2: 'Publier vers des topics de commande (ioBroker)',
MQTT_PUBLISH_TEXT_3: 'Activer la découverte MQTT',
MQTT_PUBLISH_TEXT_4: 'Préfixe pour les topics découverte',
MQTT_PUBLISH_TEXT_5: 'Discovery type', // TODO translate
MQTT_PUBLISH_TEXT_5: 'Type de découverte',
MQTT_PUBLISH_INTERVALS: 'Intervalles de publication',
MQTT_INT_BOILER: 'Chaudières et pompes à chaleur',
MQTT_INT_THERMOSTATS: 'Thermostats',
@@ -226,10 +226,10 @@ const fr: Translation = {
MQTT_INT_WATER: 'Modules eau',
MQTT_QUEUE: 'Queue MQTT',
DEFAULT: 'Défaut',
MQTT_ENTITY_FORMAT: 'Entity ID format', // TODO translate
MQTT_ENTITY_FORMAT_0: 'Single instance, long name (v3.4)', // TODO translate
MQTT_ENTITY_FORMAT_1: 'Single instance, short name', // TODO translate
MQTT_ENTITY_FORMAT_2: 'Multiple instances, short name', // TODO translate
MQTT_ENTITY_FORMAT: 'Format de l\'ID de l\'entité',
MQTT_ENTITY_FORMAT_0: 'Instance unique, nom long (v3.4)',
MQTT_ENTITY_FORMAT_1: 'Instance unique, nom court',
MQTT_ENTITY_FORMAT_2: 'Instances multiples, nom court',
MQTT_CLEAN_SESSION: 'Flag Clean Session',
MQTT_RETAIN_FLAG: 'Toujours activer le Retain Flag',
INACTIVE: 'Inactif',
@@ -260,7 +260,7 @@ const fr: Translation = {
NETWORK_SCANNER: 'Scan réseau',
NETWORK_NO_WIFI: 'Pas de réseau WiFi trouvé',
NETWORK_BLANK_SSID: 'laisser vide pour désactiver le WiFi',
NETWORK_BLANK_BSSID: 'leave blank to use only SSID', // TODO translate
NETWORK_BLANK_BSSID: 'laisser vide pour utiliser uniquement le SSID',
TX_POWER: 'Puissance Tx',
HOSTNAME: "Nom d'hôte",
NETWORK_DISABLE_SLEEP: 'Désactiver le mode veille du WiFi',
@@ -280,78 +280,78 @@ const fr: Translation = {
ENTITY: 'entité',
MIN: 'min',
MAX: 'max',
BLOCK_NAVIGATE_1: 'You have unsaved changes', // TODO translate
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?', // TODO translate
STAY: 'Stay', // TODO translate
LEAVE: 'Leave', // TODO translate
SCHEDULER: 'Scheduler', // TODO translate
SCHEDULER_HELP_1: 'Automate commands by adding scheduled events below. Set a unique Name to enable/disable activation via API/MQTT', // TODO translate
SCHEDULER_HELP_2: 'Use 00:00 to trigger once on start-up', // TODO translate
SCHEDULE: 'Schedule', // TODO translate
TIME: 'Time', // TODO translate
TIMER: 'Timer', // TODO translate
ONCHANGE: 'Sur le changement', // TODO translate
CONDITION: 'Condition', // TODO translate
IMMEDIATE: 'Immédiate', // TODO translate
SCHEDULE_UPDATED: 'Schedule updated', // TODO translate
SCHEDULE_TIMER_1: 'on startup', // TODO translate
SCHEDULE_TIMER_2: 'every minute', // TODO translate
SCHEDULE_TIMER_3: 'every hour', // TODO translate
CUSTOM_ENTITIES: 'Custom Entities', // TODO translate
ENTITIES_HELP_1: 'Fetch custom entities from the EMS bus', // TODO translate
ENTITIES_UPDATED: 'Entities Updated', // TODO translate
WRITEABLE: 'Writeable', // TODO translate
SHOWING: 'Showing', // TODO translate
SEARCH: 'Search', // TODO translate
CERT: 'TLS root certificate (leave blank for insecure)', // TODO translate
BLOCK_NAVIGATE_1: 'Vous avez des modifications non enregistrées',
BLOCK_NAVIGATE_2: 'Si vous naviguez vers une autre page, vos modifications non enregistrées seront perdues. Êtes-vous sûr de vouloir quitter cette page ?',
STAY: 'Rester',
LEAVE: 'Quitter',
SCHEDULER: 'Scheduler',
SCHEDULER_HELP_1: 'Automatiser les commandes en ajoutant des événements programmés ci-dessous. Définissez un nom unique pour activer/désactiver l\'activation via API/MQTT',
SCHEDULER_HELP_2: 'Utiliser 00:00 pour déclencher une fois au démarrage',
SCHEDULE: 'Programme',
TIME: 'Temps',
TIMER: 'Minuteur',
ONCHANGE: 'Sur le changement',
CONDITION: 'Condition',
IMMEDIATE: 'Immédiat',
SCHEDULE_UPDATED: 'Programme mis à jour',
SCHEDULE_TIMER_1: 'au démarrage',
SCHEDULE_TIMER_2: 'toutes les minutes',
SCHEDULE_TIMER_3: 'toutes les heures',
CUSTOM_ENTITIES: 'Entités personnalisées',
ENTITIES_HELP_1: 'Récupérer les entités personnalisées du bus EMS',
ENTITIES_UPDATED: 'Entités mises à jour',
WRITEABLE: 'Écriture',
SHOWING: 'Affichage',
SEARCH: 'Rechercher',
CERT: 'Certificat racine TLS (laisser vide pour l\'insecurité)',
ENABLE_TLS: 'Activer TLS',
ON: 'On', // TODO translate
OFF: 'Off', // TODO translate
POLARITY: 'Polarity', // TODO translate
ACTIVEHIGH: 'Active High', // TODO translate
ACTIVELOW: 'Active Low', // TODO translate
UNCHANGED: 'Unchanged', // TODO translate
ALWAYS: 'Always', // TODO translate
ACTIVITY: 'Activity', // TODO translate
CONFIGURE: 'Configure {0}', // TODO translate
SYSTEM_MEMORY: 'System Memory', // TODO translate
APPLICATION_SETTINGS_1: 'Modify EMS-ESP Application Settings', // TODO translate
SECURITY_1: 'Add or remove users', // TODO translate
DOWNLOAD_UPLOAD_1: 'Download and Upload Settings and Firmware', // TODO translate
MODULES: 'Module', // TODO translate
ON: 'On',
OFF: 'Off',
POLARITY: 'Polarity',
ACTIVEHIGH: 'Active High',
ACTIVELOW: 'Active Low',
UNCHANGED: 'Unchanged',
ALWAYS: 'Toujours',
ACTIVITY: 'Activité',
CONFIGURE: 'Configurer {0}',
SYSTEM_MEMORY: 'Mémoire système',
APPLICATION_SETTINGS_1: 'Modifier les paramètres de l\'application EMS-ESP',
SECURITY_1: 'Ajouter ou supprimer des utilisateurs',
DOWNLOAD_UPLOAD_1: 'Télécharger et mettre à jour les paramètres et le firmware',
MODULES: 'Module',
MODULES_1: 'Activer ou désactiver les modules externes',
MODULES_UPDATED: 'Modules updated', // TODO translate
MODULES_DESCRIPTION: 'Click on the Module to activate or de-activate EMS-ESP library modules', // TODO translate
MODULES_NONE: 'No external modules detected', // TODO translate
RENAME: 'Rename', // TODO translate
MODULES_UPDATED: 'Modules mis à jour',
MODULES_DESCRIPTION: 'Cliquer sur le module pour activer ou désactiver les modules EMS-ESP',
MODULES_NONE: 'Aucun module externe détecté',
RENAME: 'Renommer',
ENABLE_MODBUS: 'Activer Modbus',
VIEW_LOG: 'View log to diagnose issues', // TODO translate
UPLOAD_DRAG: 'drag and drop a file here or click to select one', // TODO translate
SERVICES: 'Services', // TODO translate
ALLVALUES: 'All Values', // TODO translate
SPECIAL_FUNCTIONS: 'Special Functions',
WAIT_FIRMWARE: 'Firmware is uploading and installing', // TODO translate
INSTALL_VERSION: 'This will {0} version {1}. Are you sure?', // TODO translate
UPDATE_AVAILABLE: 'update available', // TODO translate
LATEST_VERSION: 'You are using the latest {0} firmware version', // TODO translate
PLEASE_WAIT: 'Please wait', // TODO translate
RESTARTING_PRE: 'Initializing', // TODO translate
RESTARTING_POST: 'Preparing', // TODO translate
AUTO_SCROLL: 'Auto Scroll', // TODO translate
DASHBOARD: 'Dashboard', // TODO translate
DEVELOPER_MODE: 'Developer Mode', // TODO translate
BYTES: 'Bytes', // TODO translate
BITMASK: 'Bit Mask',// TODO translate
DUPLICATE: 'Duplicate', // TODO translate
DASHBOARD_1: 'All EMS entities that are active and marked as Favorite, plus all Custom Entities, Schedules and external Sensors data are displayed below.', // TODO translate
NO_DATA_1: 'No favorite EMS entities found yet. Use the', // TODO translate
NO_DATA_2: 'module to mark them.', // TODO translate
NO_DATA_3: 'To see all available entities go to', // TODO translate
THIS_VERSION: 'This Version', // TODO translate
PLATFORM: 'Platform', // TODO translate
RELEASE_TYPE: 'Release Type', // TODO translate
INTERNET_CONNECTION_REQUIRED: 'Internet connection required for automatic version checking and upgrading', // TODO translate
SWITCH_RELEASE_TYPE: 'Switch to {0} release' // TODO translate
VIEW_LOG: 'Voir le journal pour diagnostiquer les problèmes',
UPLOAD_DRAG: 'glisser-déposer un fichier ici ou cliquer pour en sélectionner un',
SERVICES: 'Services',
ALLVALUES: 'Toutes les valeurs',
SPECIAL_FUNCTIONS: 'Fonctions spéciales',
WAIT_FIRMWARE: 'Firmware is uploading and installing',
INSTALL_VERSION: 'This will {0} version {1}. Are you sure?',
UPDATE_AVAILABLE: 'update available',
LATEST_VERSION: 'You are using the latest {0} firmware version',
PLEASE_WAIT: 'Please wait',
RESTARTING_PRE: 'Initializing',
RESTARTING_POST: 'Preparing',
AUTO_SCROLL: 'Auto Scroll',
DASHBOARD: 'Dashboard',
DEVELOPER_MODE: 'Mode développeur',
BYTES: 'Bytes',
BITMASK: 'Bit Mask',
DUPLICATE: 'Duplicate',
DASHBOARD_1: 'All EMS entities that are active and marked as Favorite, plus all Custom Entities, Schedules and external Sensors data are displayed below.',
NO_DATA_1: 'No favorite EMS entities found yet. Use the',
NO_DATA_2: 'module to mark them.',
NO_DATA_3: 'To see all available entities go to',
THIS_VERSION: 'This Version',
PLATFORM: 'Platform',
RELEASE_TYPE: 'Release Type',
INTERNET_CONNECTION_REQUIRED: 'Internet connection required for automatic version checking and upgrading',
SWITCH_RELEASE_TYPE: 'Switch to {0} release'
};
export default fr;

View File

@@ -72,7 +72,7 @@ const it: Translation = {
TX_ISSUES: 'Problema di Tx - prova una modalità differente',
DISCONNECTED: 'Disconnesso',
EMS_SCAN: 'Sei sicuro di voler iniziare una scansione completa del bus EMS ?',
DATA_TRAFFIC: 'Data Traffic', // TODO translate
DATA_TRAFFIC: 'Traffico dati',
EMS_DEVICE: 'Dispositivo EMS ',
SUCCESS: 'SUCCESSO',
FAIL: 'FALLITO',
@@ -115,7 +115,7 @@ const it: Translation = {
READONLY: 'Abilita modalità sola-lettura (blocca tutti i comandi di scrittura EMS Tx in uscita)',
UNDERCLOCK_CPU: 'Abbassa velocità della CPU',
REMOTE_TIMEOUT: 'Remote timeout',
REMOTE_TIMEOUT_EN: 'Disable remote on missing room temperature', // TODO translate
REMOTE_TIMEOUT_EN: 'Disabilitare il telecomando in caso di temperatura ambiente mancante',
HEATINGOFF: 'Avviamento caldaia con riscaldamento forzato spento',
MIN_DURATION: 'Wait time',
ENABLE_SHOWER_TIMER: 'Abilita timer doccia',
@@ -174,8 +174,8 @@ const it: Translation = {
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??',
AVAILABLE_VERSION: 'Latest Available Versions', // TODO translate
STABLE: 'Stable', // TODO translate
AVAILABLE_VERSION: 'Versioni disponibili',
STABLE: 'Stabile',
DEVELOPMENT: 'Sviluppo',
UPTIME: 'Tempo di attività del sistema',
FREE_MEMORY: 'Free Memory',
@@ -184,10 +184,10 @@ const it: Translation = {
APPSIZE: 'Applicazione (Partizione: Usata / Libera)',
FILESYSTEM: 'Memoria Sistema (Usata / Libera)',
BUFFER_SIZE: 'Max Buffer Size',
COMPACT: 'Compact',
DOWNLOAD_SETTINGS_TEXT: 'Create a backup of your configuration and settings', // TODO translate
UPLOAD_TEXT: 'Upload a new firmware file (.bin) or a backup file (.json)', // TODO translate
UPLOAD_DROP_TEXT: 'Drop a firmware .bin file or click here', // TODO translate
COMPACT: 'Compatto',
DOWNLOAD_SETTINGS_TEXT: 'Create a backup of your configuration and settings',
UPLOAD_TEXT: 'Upload a new firmware file (.bin) or a backup file (.json)',
UPLOAD_DROP_TEXT: 'Drop a firmware .bin file or click here',
ERROR: 'Errore Inaspettato, prego tenta ancora',
TIME_SET: 'Imposta Ora',
MANAGE_USERS: 'Gestione Utenti',
@@ -260,7 +260,7 @@ const it: Translation = {
NETWORK_SCANNER: 'Scansione Rete',
NETWORK_NO_WIFI: 'Nessuana rete WiFi trovata',
NETWORK_BLANK_SSID: 'lasciare vuoto per disattivare WiFi',
NETWORK_BLANK_BSSID: 'leave blank to use only SSID', // TODO translate
NETWORK_BLANK_BSSID: 'lasciare vuoto per usare solo SSID',
TX_POWER: 'Potenza Tx',
HOSTNAME: 'Nome ospite',
NETWORK_DISABLE_SLEEP: 'Disabilita la modalità sospensione Wi-Fi',
@@ -303,55 +303,55 @@ const it: Translation = {
WRITEABLE: 'Scrivibile',
SHOWING: 'Visualizza',
SEARCH: 'Ricerca',
CERT: 'TLS root certificate (leave blank for insecure)', // TODO translate
CERT: 'Certificato radice TLS (lasciare vuoto per l\'insecure)',
ENABLE_TLS: 'Abilita TLS',
ON: 'On', // TODO translate
OFF: 'Off', // TODO translate
POLARITY: 'Polarity', // TODO translate
ACTIVEHIGH: 'Active High', // TODO translate
ACTIVELOW: 'Active Low', // TODO translate
UNCHANGED: 'Unchanged', // TODO translate
ALWAYS: 'Always', // TODO translate
ACTIVITY: 'Activity', // TODO translate
CONFIGURE: 'Configure {0}', // TODO translate
SYSTEM_MEMORY: 'System Memory', // TODO translate
APPLICATION_SETTINGS_1: 'Modify EMS-ESP Application Settings', // TODO translate
SECURITY_1: 'Add or remove users', // TODO translate
DOWNLOAD_UPLOAD_1: 'Download and Upload Settings and Firmware', // TODO translate
MODULES: 'Module', // TODO translate
MODULES_1: 'Attiva o disattiva i moduli esterni', // TODO translate
MODULES_UPDATED: 'Modules updated', // TODO translate
MODULES_DESCRIPTION: 'Click on the Module to activate or de-activate EMS-ESP library modules', // TODO translate
MODULES_NONE: 'No external modules detected', // TODO translate
RENAME: 'Rename', // TODO translate
ON: 'On',
OFF: 'Off',
POLARITY: 'Polarity',
ACTIVEHIGH: 'Active High',
ACTIVELOW: 'Active Low',
UNCHANGED: 'Unchanged',
ALWAYS: 'Always',
ACTIVITY: 'Activity',
CONFIGURE: 'Configure {0}',
SYSTEM_MEMORY: 'System Memory',
APPLICATION_SETTINGS_1: 'Modify EMS-ESP Application Settings',
SECURITY_1: 'Add or remove users',
DOWNLOAD_UPLOAD_1: 'Download and Upload Settings and Firmware',
MODULES: 'Module',
MODULES_1: 'Attiva o disattiva i moduli esterni',
MODULES_UPDATED: 'Modules updated',
MODULES_DESCRIPTION: 'Click on the Module to activate or de-activate EMS-ESP library modules',
MODULES_NONE: 'No external modules detected',
RENAME: 'Rename',
ENABLE_MODBUS: 'Abilita Modbus',
VIEW_LOG: 'View log to diagnose issues', // TODO translate
UPLOAD_DRAG: 'drag and drop a file here or click to select one', // TODO translate
SERVICES: 'Services', // TODO translate
ALLVALUES: 'All Values', // TODO translate
SPECIAL_FUNCTIONS: 'Special Functions', // TODO translate
WAIT_FIRMWARE: 'Firmware is uploading and installing', // TODO translate
INSTALL_VERSION: 'This will {0} version {1}. Are you sure?', // TODO translate
UPDATE_AVAILABLE: 'update available', // TODO translate
LATEST_VERSION: 'You are using the latest {0}firmware version', // TODO translate
PLEASE_WAIT: 'Please wait', // TODO translate
RESTARTING_PRE: 'Initializing', // TODO translate
RESTARTING_POST: 'Preparing', // TODO translate
AUTO_SCROLL: 'Auto Scroll', // TODO translate
DASHBOARD: 'Dashboard', // TODO translate
DEVELOPER_MODE: 'Developer Mode', // TODO translate
BYTES: 'Bytes', // TODO translate
BITMASK: 'Bit Mask',// TODO translate
DUPLICATE: 'Duplicate', // TODO translate
DASHBOARD_1: 'All EMS entities that are active and marked as Favorite, plus all Custom Entities, Schedules and external Sensors data are displayed below.', // TODO translate
NO_DATA_1: 'No favorite EMS entities found yet. Use the', // TODO translate
NO_DATA_2: 'module to mark them.', // TODO translate
NO_DATA_3: 'To see all available entities go to', // TODO translate
THIS_VERSION: 'This Version', // TODO translate
PLATFORM: 'Platform', // TODO translate
RELEASE_TYPE: 'Release Type', // TODO translate
INTERNET_CONNECTION_REQUIRED: 'Internet connection required for automatic version checking and upgrading', // TODO translate
SWITCH_RELEASE_TYPE: 'Switch to {0} release' // TODO translate
VIEW_LOG: 'Visualizza log per diagnosticare problemi',
UPLOAD_DRAG: 'trascina e rilascia un file qui o clicca per selezionare uno',
SERVICES: 'Servizi',
ALLVALUES: 'Tutti i valori',
SPECIAL_FUNCTIONS: 'Funzioni speciali',
WAIT_FIRMWARE: 'Firmware è in upload e installazione',
INSTALL_VERSION: 'Questo installerà la versione {1} {0}. Sei sicuro?',
UPDATE_AVAILABLE: 'aggiornamento disponibile',
LATEST_VERSION: 'Stai usando la versione più recente del firmware {0}',
PLEASE_WAIT: 'Attendere',
RESTARTING_PRE: 'Inizializzazione',
RESTARTING_POST: 'Preparazione',
AUTO_SCROLL: 'Scorrimento automatico',
DASHBOARD: 'Pannello di controllo',
DEVELOPER_MODE: 'Modalità sviluppatore',
BYTES: 'Bytes',
BITMASK: 'Bit Mask',
DUPLICATE: 'Duplicato',
DASHBOARD_1: 'Tutte le entità EMS che sono attive e marcate come preferite, più tutte le entità personalizzate, piani di programmazione e dati dei sensori esterni sono visualizzati di seguito.',
NO_DATA_1: 'Nessuna entità EMS preferita trovata. Usa il',
NO_DATA_2: 'modulo per marcarle.',
NO_DATA_3: 'Per vedere tutte le entità disponibili vai a',
THIS_VERSION: 'Questa versione',
PLATFORM: 'Piattaforma',
RELEASE_TYPE: 'Tipo di rilascio',
INTERNET_CONNECTION_REQUIRED: 'Connessione internet richiesta per il controllo automatico delle versioni e l\'aggiornamento',
SWITCH_RELEASE_TYPE: 'Cambia in {0} rilascio'
};
export default it;

View File

@@ -43,7 +43,7 @@ const no: Translation = {
RESET: 'Nullstill',
APPLY_CHANGES: 'Utfør endringer({0})',
UPDATE: 'Oppdater',
EXECUTE: 'Execute', // TODO translate
EXECUTE: 'Utfør',
REMOVE: 'Fjern',
PROBLEM_UPDATING: 'Problem med oppdatering',
PROBLEM_LOADING: 'Problem med opplasting',
@@ -72,7 +72,7 @@ const no: Translation = {
TX_ISSUES: 'Tx problemer - prøv en annen Tx Modus',
DISCONNECTED: 'Frakoblet',
EMS_SCAN: 'Er du sikker på du vil starte full søking av EMS bussen?',
DATA_TRAFFIC: 'Data Traffic', // TODO translate
DATA_TRAFFIC: 'Data trafikk',
EMS_DEVICE: 'EMS Enhet',
SUCCESS: 'VELLYKKET',
FAIL: 'MISLYKKET',
@@ -115,9 +115,9 @@ const no: Translation = {
READONLY: 'Aktiver read-only modus (blokker all EMS Tx Skriving)',
UNDERCLOCK_CPU: 'Underklokking av prosessorhastighet',
REMOTE_TIMEOUT: 'Remote timeout',
REMOTE_TIMEOUT_EN: 'Disable remote control on missing room temperature', // TODO translate
HEATINGOFF: 'Start boiler with forced heating off', // TODO translate
MIN_DURATION: 'Wait time',
REMOTE_TIMEOUT_EN: 'Deaktiver fjernstyring på manglende romtemperatur',
HEATINGOFF: 'Start kjele med tvingt oppvarming av',
MIN_DURATION: 'Ventetid',
ENABLE_SHOWER_TIMER: 'Aktiver Dusjtimer',
ENABLE_SHOWER_ALERT: 'Aktiver Dusj-varsling',
TRIGGER_TIME: 'Aktiveringstid',
@@ -174,9 +174,9 @@ const no: Translation = {
FACTORY_RESET: 'Sett tilbake til fabrikkinstilling',
SYSTEM_FACTORY_TEXT: 'Enhet har blitt satt tilbake til fabrikkinstilling og vil restarte',
SYSTEM_FACTORY_TEXT_DIALOG: 'Er du sikker på at du vil resette enheten til fabrikkinstillinger?',
AVAILABLE_VERSION: 'Latest Available Versions', // TODO translate
STABLE: 'Stable', // TODO translate
DEVELOPMENT: 'Development',
AVAILABLE_VERSION: 'Tilgjengelige versjoner',
STABLE: 'Stabil',
DEVELOPMENT: 'Utvikling',
UPTIME: 'System Oppetid',
FREE_MEMORY: 'Ledig Memory',
PSRAM: 'PSRAM (Størrelse / Ledig)',
@@ -185,9 +185,9 @@ const no: Translation = {
FILESYSTEM: 'File System (Brukt / Ledig)',
BUFFER_SIZE: 'Max Buffer Størrelse',
COMPACT: 'Komprimere',
DOWNLOAD_SETTINGS_TEXT: 'Create a backup of your configuration and settings', // TODO translate
UPLOAD_TEXT: 'Upload a new firmware file (.bin) or a backup file (.json)', // TODO translate
UPLOAD_DROP_TEXT: 'Drop a firmware .bin file or click here', // TODO translate
DOWNLOAD_SETTINGS_TEXT: 'Lag en sikkerhetskopi av dine konfigurasjon og innstillinger',
UPLOAD_TEXT: 'Last opp en ny firmware fil (.bin) eller en sikkerhetskopi fil (.json)',
UPLOAD_DROP_TEXT: 'Dropp en firmware fil (.bin) eller klikk her',
ERROR: 'Ukjent feil, prøv igjen',
TIME_SET: 'Still in tid',
MANAGE_USERS: 'Administrer Brukere',
@@ -223,7 +223,7 @@ const no: Translation = {
MQTT_INT_THERMOSTATS: 'Termostat',
MQTT_INT_SOLAR: 'Solpaneler',
MQTT_INT_MIXER: 'Blandeventil',
MQTT_INT_WATER: 'Water Modules', // TODO translate
MQTT_INT_WATER: 'Vannmoduler',
MQTT_QUEUE: 'MQTT Queue',
DEFAULT: 'Standard',
MQTT_ENTITY_FORMAT: 'Enhets ID format',
@@ -260,7 +260,7 @@ const no: Translation = {
NETWORK_SCANNER: 'Nettverk Scanner',
NETWORK_NO_WIFI: 'Ingen trådløse nett funnet',
NETWORK_BLANK_SSID: 'la feltet være blankt for å deaktivisere trådløst nettverk',
NETWORK_BLANK_BSSID: 'leave blank to use only SSID', // TODO translate
NETWORK_BLANK_BSSID: 'la feltet være blankt for å bruke kun SSID',
TX_POWER: 'Tx Effekt',
HOSTNAME: 'Hostname',
NETWORK_DISABLE_SLEEP: 'Hindre at trådløst nettverk går i Sleep Mode',
@@ -297,61 +297,61 @@ const no: Translation = {
SCHEDULE_TIMER_1: 'ved oppstart',
SCHEDULE_TIMER_2: 'hvert minutt',
SCHEDULE_TIMER_3: 'hver time',
CUSTOM_ENTITIES: 'Custom Entities', // TODO translate
ENTITIES_HELP_1: 'Fetch custom entities from the EMS bus', // TODO translate
ENTITIES_UPDATED: 'Entities Updated', // TODO translate
WRITEABLE: 'Writeable', // TODO translate
SHOWING: 'Showing', // TODO translate
SEARCH: 'Search', // TODO translate
CERT: 'TLS root certificate (leave blank for insecure)', // TODO translate
CUSTOM_ENTITIES: 'Personlige entiteter',
ENTITIES_HELP_1: 'Hent personlige entiteter fra EMS bussen',
ENTITIES_UPDATED: 'Entiteter oppdatert',
WRITEABLE: 'Skrivbar',
SHOWING: 'Viser',
SEARCH: 'Søk',
CERT: 'TLS rot sertifikat (la feltet stå blankt for usikkert)',
ENABLE_TLS: 'Aktiviser TLS',
ON: 'On', // TODO translate
OFF: 'Off', // TODO translate
POLARITY: 'Polarity', // TODO translate
ACTIVEHIGH: 'Active High', // TODO translate
ACTIVELOW: 'Active Low', // TODO translate
UNCHANGED: 'Unchanged', // TODO translate
ALWAYS: 'Always', // TODO translate
ACTIVITY: 'Activity', // TODO translate
CONFIGURE: 'Configure {0}', // TODO translate
SYSTEM_MEMORY: 'System Memory', // TODO translate
APPLICATION_SETTINGS_1: 'Modify EMS-ESP Application Settings', // TODO translate
SECURITY_1: 'Add or remove users', // TODO translate
DOWNLOAD_UPLOAD_1: 'Download and Upload Settings and Firmware', // TODO translate
MODULES: 'Module', // TODO translate
ON: '',
OFF: 'Av',
POLARITY: 'Polarity',
ACTIVEHIGH: 'Active High',
ACTIVELOW: 'Active Low',
UNCHANGED: 'Unchanged',
ALWAYS: 'Always',
ACTIVITY: 'Aktivitet',
CONFIGURE: 'Konfigurer {0}',
SYSTEM_MEMORY: 'System Memory',
APPLICATION_SETTINGS_1: 'Modify EMS-ESP Application Settings',
SECURITY_1: 'Add or remove users',
DOWNLOAD_UPLOAD_1: 'Download and Upload Settings and Firmware',
MODULES: 'Modul',
MODULES_1: 'Aktiver eller deaktiver eksterne moduler',
MODULES_UPDATED: 'Modules updated', // TODO translate
MODULES_DESCRIPTION: 'Click on the Module to activate or de-activate EMS-ESP library modules', // TODO translate
MODULES_NONE: 'No external modules detected', // TODO translate
RENAME: 'Rename', // TODO translate
MODULES_UPDATED: 'Moduler oppdatert',
MODULES_DESCRIPTION: 'Klikk på modulen for å aktivere eller deaktivere EMS-ESP biblioteksmoduler',
MODULES_NONE: 'Ingen eksterne moduler funnet',
RENAME: 'Gi nytt navn',
ENABLE_MODBUS: 'Aktiver Modbus',
VIEW_LOG: 'View log to diagnose issues', // TODO translate
UPLOAD_DRAG: 'drag and drop a file here or click to select one', // TODO translate
SERVICES: 'Services', // TODO translate
ALLVALUES: 'All Values', // TODO translate
SPECIAL_FUNCTIONS: 'Special Functions', // TODO translate
WAIT_FIRMWARE: 'Firmware is uploading and installing', // TODO translate
INSTALL_VERSION: 'This will {0} version {1}. Are you sure?', // TODO translate
UPDATE_AVAILABLE: 'update available', // TODO translate
LATEST_VERSION: 'You are using the latest {0}firmware version', // TODO translate
PLEASE_WAIT: 'Please wait', // TODO translate
RESTARTING_PRE: 'Initializing', // TODO translate
RESTARTING_POST: 'Preparing', // TODO translate
AUTO_SCROLL: 'Auto Scroll', // TODO translate
DASHBOARD: 'Dashboard', // TODO translate
DEVELOPER_MODE: 'Developer Mode', // TODO translate
BYTES: 'Bytes', // TODO translate
BITMASK: 'Bit Mask',// TODO translate
DUPLICATE: 'Duplicate', // TODO translate
DASHBOARD_1: 'All EMS entities that are active and marked as Favorite, plus all Custom Entities, Schedules and external Sensors data are displayed below.', // TODO translate
NO_DATA_1: 'No favorite EMS entities found yet. Use the', // TODO translate
NO_DATA_2: 'module to mark them.', // TODO translate
NO_DATA_3: 'To see all available entities go to', // TODO translate
THIS_VERSION: 'This Version', // TODO translate
PLATFORM: 'Platform', // TODO translate
RELEASE_TYPE: 'Release Type', // TODO translate
INTERNET_CONNECTION_REQUIRED: 'Internet connection required for automatic version checking and upgrading', // TODO translate
SWITCH_RELEASE_TYPE: 'Switch to {0} release' // TODO translate
VIEW_LOG: 'Se logg for å diagnostisere problemer',
UPLOAD_DRAG: 'dra og slippe en fil her eller klikk for å velge en',
SERVICES: 'Tjenester',
ALLVALUES: 'Alle verdier',
SPECIAL_FUNCTIONS: 'Spesielle funksjoner',
WAIT_FIRMWARE: 'Firmware er i opplasting og installasjon',
INSTALL_VERSION: 'Dette vil {0} versjon {1}. Er du sikker?',
UPDATE_AVAILABLE: 'oppdatering tilgjengelig',
LATEST_VERSION: 'Du bruker den nyeste {0} firmware versjonen',
PLEASE_WAIT: 'Vennligst vent',
RESTARTING_PRE: 'Initialiserer',
RESTARTING_POST: 'Forbereder',
AUTO_SCROLL: 'Auto Scroll',
DASHBOARD: 'Dashboard',
DEVELOPER_MODE: 'Developer Mode',
BYTES: 'Bytes',
BITMASK: 'Bit Mask',
DUPLICATE: 'Duplicate',
DASHBOARD_1: 'All EMS entities that are active and marked as Favorite, plus all Custom Entities, Schedules and external Sensors data are displayed below.',
NO_DATA_1: 'Ingen favoritte EMS enheter funnet enda. Bruk',
NO_DATA_2: 'modul for å markere dem.',
NO_DATA_3: 'For å se alle tilgjengelige enheter, gå til',
THIS_VERSION: 'Denne versjonen',
PLATFORM: 'Platform',
RELEASE_TYPE: 'Release Type',
INTERNET_CONNECTION_REQUIRED: 'Internet connection required for automatic version checking and upgrading',
SWITCH_RELEASE_TYPE: 'Switch to {0} release'
};
export default no;

View File

@@ -72,7 +72,7 @@ const pl: BaseTranslation = {
TX_ISSUES: 'problem z zapisem na magistralę EMS, spróbuj wybrać inny "Tryb transmisji (Tx)"',
DISCONNECTED: 'brak połączenia',
EMS_SCAN: 'Czy na pewno wykonać pełne skanowanie magistrali EMS?',
DATA_TRAFFIC: 'Data Traffic', // TODO translate
DATA_TRAFFIC: 'Ruch Danych',
EMS_DEVICE: 'Urządzenie EMS',
SUCCESS: 'Udane',
FAIL: 'Nieudane',
@@ -115,7 +115,7 @@ const pl: BaseTranslation = {
READONLY: 'Tryb pracy "tylko do odczytu" (blokuje wszystkie komendy zapisu na magistralę EMS)',
UNDERCLOCK_CPU: 'Obniż taktowanie CPU',
REMOTE_TIMEOUT: 'Remote timeout',
REMOTE_TIMEOUT_EN: 'Disable remote control on missing room temperature', // TODO translate
REMOTE_TIMEOUT_EN: 'Wyłącz kontrolę zdalną przy braku temperatury pomieszczenia',
HEATINGOFF: 'Uruchom kocioł z wymuszonym wyłączonym grzaniem',
MIN_DURATION: 'Wait time',
ENABLE_SHOWER_TIMER: 'Aktywuj minutnik prysznica',
@@ -174,9 +174,9 @@ const pl: BaseTranslation = {
FACTORY_RESET: 'Ustawienia fabryczne',
SYSTEM_FACTORY_TEXT: 'Interfejs EMS-ESP został przywrócony do ustawień fabrycznych i zostanie teraz ponownie uruchomiony.',
SYSTEM_FACTORY_TEXT_DIALOG: 'Na pewno chcesz przywrócić ustawienia fabryczne interfejsu EMS-ESP?',
AVAILABLE_VERSION: 'Latest Available Versions', // TODO translate
STABLE: 'Stable', // TODO translate
DEVELOPMENT: 'Testowe',
AVAILABLE_VERSION: 'Najnowsze dostępne wersje',
STABLE: 'Stabilna',
DEVELOPMENT: 'Testowa',
UPTIME: 'Czas działania systemu',
FREE_MEMORY: 'Wolne Memory',
PSRAM: 'PSRAM (rozmiar / wolne)',
@@ -185,9 +185,9 @@ const pl: BaseTranslation = {
FILESYSTEM: 'System plików (wykorzystane / wolne)',
BUFFER_SIZE: 'Maksymalna pojemność bufora (ilość wpisów)',
COMPACT: 'Kompaktowy',
DOWNLOAD_SETTINGS_TEXT: 'Create a backup of your configuration and settings', // TODO translate
UPLOAD_TEXT: 'Upload a new firmware file (.bin) or a backup file (.json)', // TODO translate
UPLOAD_DROP_TEXT: 'Drop a firmware .bin file or click here', // TODO translate
DOWNLOAD_SETTINGS_TEXT: 'Utwórz kopię swoich ustawień i konfiguracji',
UPLOAD_TEXT: 'Wgraj nowy plik firmware (.bin) lub kopię ustawień (.json)',
UPLOAD_DROP_TEXT: 'Upuść plik firmware .bin lub kliknij tutaj',
ERROR: 'Nieoczekiwany błąd, spróbuj ponownie!',
TIME_SET: 'Zegar został ustawiony.',
MANAGE_USERS: 'Zarządzanie użytkownikami',
@@ -318,40 +318,40 @@ const pl: BaseTranslation = {
APPLICATION_SETTINGS_1: 'Modyfikacja ustawień aplikacji EMS-ESP',
SECURITY_1: 'Dodawanie i usuwanie użytkowników',
DOWNLOAD_UPLOAD_1: 'Pobieranie/wysyłanie ustawień i firmware',
MODULES: 'Module', // TODO translate
MODULES: 'Moduł',
MODULES_1: 'Aktywuj lub dezaktywuj moduły zewnętrzne',
MODULES_UPDATED: 'Modules updated', // TODO translate
MODULES_DESCRIPTION: 'Click on the Module to activate or de-activate EMS-ESP library modules', // TODO translate
MODULES_NONE: 'No external modules detected', // TODO translate
RENAME: 'Rename', // TODO translate
MODULES_UPDATED: 'Zaktualizowano moduły',
MODULES_DESCRIPTION: 'Kliknij na moduł aby aktywować lub dezaktywować bibliotekę modułów EMS-ESP',
MODULES_NONE: 'Brak wykrytych modułów zewnętrznych',
RENAME: 'Zmień nazwę',
ENABLE_MODBUS: 'Aktywuj Modbus',
VIEW_LOG: 'View log to diagnose issues', // TODO translate
UPLOAD_DRAG: 'drag and drop a file here or click to select one', // TODO translate
SERVICES: 'Services', // TODO translate
ALLVALUES: 'All Values', // TODO translate
SPECIAL_FUNCTIONS: 'Special Functions', // TODO translate
WAIT_FIRMWARE: 'Firmware is uploading and installing', // TODO translate
INSTALL_VERSION: 'This will {0} version {1}. Are you sure?', // TODO translate
UPDATE_AVAILABLE: 'update available', // TODO translate
LATEST_VERSION: 'You are using the latest {0} firmware version', // TODO translate
PLEASE_WAIT: 'Please wait', // TODO translate
RESTARTING_PRE: 'Initializing', // TODO translate
RESTARTING_POST: 'Preparing', // TODO translate
AUTO_SCROLL: 'Auto Scroll', // TODO translate
DASHBOARD: 'Dashboard', // TODO translate
DEVELOPER_MODE: 'Developer Mode', // TODO translate
BYTES: 'Bytes', // TODO translate
BITMASK: 'Bit Mask',// TODO translate
DUPLICATE: 'Duplicate', // TODO translate
DASHBOARD_1: 'All EMS entities that are active and marked as Favorite, plus all Custom Entities, Schedules and external Sensors data are displayed below.', // TODO translate
NO_DATA_1: 'No favorite EMS entities found yet. Use the', // TODO translate
NO_DATA_2: 'module to mark them.', // TODO translate
NO_DATA_3: 'To see all available entities go to', // TODO translate
THIS_VERSION: 'This Version', // TODO translate
PLATFORM: 'Platform', // TODO translate
RELEASE_TYPE: 'Release Type', // TODO translate
INTERNET_CONNECTION_REQUIRED: 'Internet connection required for automatic version checking and upgrading', // TODO translate
SWITCH_RELEASE_TYPE: 'Switch to {0} release' // TODO translate
VIEW_LOG: 'Zdiagnozuj problemy',
UPLOAD_DRAG: 'przeciągnij i upuść plik lub kliknij tutaj',
SERVICES: 'Usługi',
ALLVALUES: 'Wszystkie wartości',
SPECIAL_FUNCTIONS: 'Specjalne funkcje',
WAIT_FIRMWARE: 'Firma jest wysyłana i instaluje się',
INSTALL_VERSION: 'To zainstaluje wersję {1} {0}. Jesteś pewny?',
UPDATE_AVAILABLE: 'aktualizacja dostępna',
LATEST_VERSION: 'Jesteś używając najnowszej wersji firmware {0}',
PLEASE_WAIT: 'Proszę czekać',
RESTARTING_PRE: 'Inicjalizacja',
RESTARTING_POST: 'Przygotowanie',
AUTO_SCROLL: 'Auto Scroll',
DASHBOARD: 'Pulpit',
DEVELOPER_MODE: 'Tryb programisty',
BYTES: 'Bajty',
BITMASK: 'Bit Mask',
DUPLICATE: 'Duplicate',
DASHBOARD_1: 'All EMS entities that are active and marked as Favorite, plus all Custom Entities, Schedules and external Sensors data are displayed below.',
NO_DATA_1: 'Brak ulubionych encji EMS. Użyj',
NO_DATA_2: 'moduł do ich oznaczenia.',
NO_DATA_3: 'Aby zobaczyć wszystkie dostępne encje przejdź do',
THIS_VERSION: 'Ta wersja',
PLATFORM: 'Platforma',
RELEASE_TYPE: 'Typ wydania',
INTERNET_CONNECTION_REQUIRED: 'Połączenie internetowe jest wymagane do automatycznej kontroli wersji i aktualizacji',
SWITCH_RELEASE_TYPE: 'Zmień na {0} wydanie'
};
export default pl;

View File

@@ -187,7 +187,7 @@ const sv: Translation = {
COMPACT: 'Komprimerad',
DOWNLOAD_SETTINGS_TEXT: 'Skapa en säkerhetskopia av din konfiguration och inställningar',
UPLOAD_TEXT: 'Ladda upp en ny firmwarefil (.bin) eller en säkerhetskopiafil (.json)',
UPLOAD_DROP_TEXT: 'Drop a firmware .bin file or click here', // TODO translate
UPLOAD_DROP_TEXT: 'Droppa en firmware .bin fil eller klicka här',
ERROR: 'Okänt fel, var god försök igen',
TIME_SET: 'Ställ in tid',
MANAGE_USERS: 'Användare',
@@ -332,7 +332,7 @@ const sv: Translation = {
SPECIAL_FUNCTIONS: 'Specialfunktioner',
WAIT_FIRMWARE: 'Firmware laddas upp och installeras',
INSTALL_VERSION: 'Det här kommer {0} version {1}. Är du säker?',
UPDATE_AVAILABLE: 'update available', // TODO translate
UPDATE_AVAILABLE: 'uppdatering tillgänglig',
LATEST_VERSION: 'Du använder den senaste {0} firmwareversionen.',
PLEASE_WAIT: 'Var god vänta',
RESTARTING_PRE: 'Initialiserar',
@@ -340,16 +340,16 @@ const sv: Translation = {
AUTO_SCROLL: 'Autoskrolla',
DASHBOARD: 'Kontrollpanel',
DEVELOPER_MODE: 'Utvecklarläge',
BYTES: 'Bytes', // TODO translate
BITMASK: 'Bit Mask',// TODO translate
BYTES: 'Bytes',
BITMASK: 'Bit Mask',
DUPLICATE: 'Dublett',
DASHBOARD_1: 'All EMS entities that are active and marked as Favorite, plus all Custom Entities, Schedules and external Sensors data are displayed below.', // TODO translate
NO_DATA_1: 'No favorite EMS entities found yet. Use the', // TODO translate
NO_DATA_2: 'module to mark them.', // TODO translate
NO_DATA_3: 'To see all available entities go to', // TODO translate
THIS_VERSION: 'This Version', // TODO translate
PLATFORM: 'Platform', // TODO translate
RELEASE_TYPE: 'Release Type', // TODO translate
DASHBOARD_1: 'All EMS entities that are active and marked as Favorite, plus all Custom Entities, Schedules and external Sensors data are displayed below.',
NO_DATA_1: 'Inga favorit EMS enheter hittade än. Använd',
NO_DATA_2: 'modul för att markera dem.',
NO_DATA_3: 'För att se alla tillgängliga enheter, gå till',
THIS_VERSION: 'Denna version',
PLATFORM: 'Platform',
RELEASE_TYPE: 'Release Type',
INTERNET_CONNECTION_REQUIRED: 'Internetanslutning krävs för automatisk version kontroll och uppdatering',
SWITCH_RELEASE_TYPE: 'Byt till {0} version'
};

View File

@@ -43,7 +43,7 @@ const tr: Translation = {
RESET: 'Reset',
APPLY_CHANGES: 'Apply Changes ({0})',
UPDATE: 'Update',
EXECUTE: 'Execute', // TODO translate
EXECUTE: 'Uygulamak',
REMOVE: 'Kaldır',
PROBLEM_UPDATING: 'Güncelleme Sorunu',
PROBLEM_LOADING: 'Yükleme Sorunu',
@@ -72,7 +72,7 @@ const tr: Translation = {
TX_ISSUES: 'Tx sorunu - başka bir Tx Modu deneyin',
DISCONNECTED: 'Bağlantı kesildi',
EMS_SCAN: 'EMS Hattında tam bir cihaz taraması başlatmak istediğinizden emin misiniz?',
DATA_TRAFFIC: 'Data Traffic', // TODO translate
DATA_TRAFFIC: 'Veri trafiği',
EMS_DEVICE: 'EMS Cihazı',
SUCCESS: 'BAŞARILI',
FAIL: 'HATA',
@@ -115,8 +115,8 @@ const tr: Translation = {
READONLY: 'Salt okunur modu devreye al (bütün giden EMS Tx Yazma komutlarını engeller)',
UNDERCLOCK_CPU: 'İşlemci hızını düşür',
REMOTE_TIMEOUT: 'Remote timeout',
REMOTE_TIMEOUT_EN: 'Disable remote on missing room temperature', // TODO translate
HEATINGOFF: 'Start boiler with forced heating off', // TODO translate
REMOTE_TIMEOUT_EN: 'Disable remote on missing room temperature',
HEATINGOFF: 'Start boiler with forced heating off',
MIN_DURATION: 'Wait time',
ENABLE_SHOWER_TIMER: 'Duş Sayacını Devreye Al',
ENABLE_SHOWER_ALERT: 'Duş Alarmını Devreye Al',
@@ -174,8 +174,8 @@ const tr: Translation = {
FACTORY_RESET: 'Fabrika ayarına dönme',
SYSTEM_FACTORY_TEXT: 'Cihaz fabrika ayarlarına döndü ve şimdi yendiden başlatılacak',
SYSTEM_FACTORY_TEXT_DIALOG: 'Cihazı fabrika ayarlarına döndürmek istediğinize emin misiniz?',
AVAILABLE_VERSION: 'Latest Available Versions', // TODO translate
STABLE: 'Stable', // TODO translate
AVAILABLE_VERSION: 'En son kullanılabilir sürümler',
STABLE: 'Kararlı',
DEVELOPMENT: 'Geliştirme',
UPTIME: 'Sistem Çalışma Süresi',
FREE_MEMORY: 'Yığın Memory',
@@ -185,9 +185,9 @@ const tr: Translation = {
FILESYSTEM: 'Dosya Sistemi (Kullanılmış / Boş)',
BUFFER_SIZE: 'En fazla bellek boyutu',
COMPACT: 'Sıkışık',
DOWNLOAD_SETTINGS_TEXT: 'Create a backup of your configuration and settings', // TODO translate
UPLOAD_TEXT: 'Upload a new firmware file (.bin) or a backup file (.json)', // TODO translate
UPLOAD_DROP_TEXT: 'Drop a firmware .bin file or click here', // TODO translate
DOWNLOAD_SETTINGS_TEXT: 'Yapılandırma ve ayarlarınızın yedekleme yapın',
UPLOAD_TEXT: 'Yeni bir firmware dosyası (.bin) veya yedek dosyası (.json) yükle',
UPLOAD_DROP_TEXT: 'Bir firmware .bin dosyası veya buraya tıklayın',
ERROR: 'Beklenemedik hata, lütfen tekrar deneyin.',
TIME_SET: 'Zaman ayarı',
MANAGE_USERS: 'Kullanıcıları yönet',
@@ -223,7 +223,7 @@ const tr: Translation = {
MQTT_INT_THERMOSTATS: 'Termostatlar',
MQTT_INT_SOLAR: 'Güneş Enerjisi Modülleri',
MQTT_INT_MIXER: 'Karışım Modülleri',
MQTT_INT_WATER: 'Water Modules', // TODO translate
MQTT_INT_WATER: 'Su Modülleri',
MQTT_QUEUE: 'MQTT Sırası',
DEFAULT: 'Varsayılan',
MQTT_ENTITY_FORMAT: 'Varlık Kimlik biçimi',
@@ -260,7 +260,7 @@ const tr: Translation = {
NETWORK_SCANNER: 'Ağ Tarayıcısı',
NETWORK_NO_WIFI: 'Hiçbir Kablosuz Ağ bulunamadı',
NETWORK_BLANK_SSID: 'Kablosuz ağı devre dışı bırakmak için boş bırakın',
NETWORK_BLANK_BSSID: 'leave blank to use only SSID', // TODO translate
NETWORK_BLANK_BSSID: 'sadece SSID kullanmak için boş bırakın',
TX_POWER: 'Aktarım gücü',
HOSTNAME: 'Ana Makine Adı',
NETWORK_DISABLE_SLEEP: 'Kablosuz uyku modunu devre dışına al',
@@ -280,78 +280,78 @@ const tr: Translation = {
ENTITY: 'varlık',
MIN: 'min',
MAX: 'maks',
BLOCK_NAVIGATE_1: 'You have unsaved changes', // TODO translate
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?', // TODO translate
STAY: 'Stay', // TODO translate
LEAVE: 'Leave', // TODO translate
SCHEDULER: 'Scheduler', // TODO translate
SCHEDULER_HELP_1: 'Automate commands by adding scheduled events below. Set a unique Name to enable/disable activation via API/MQTT', // TODO translate
SCHEDULER_HELP_2: 'Use 00:00 to trigger once on start-up', // TODO translate
SCHEDULE: 'Schedule', // TODO translate
TIME: 'Time', // TODO translate
TIMER: 'Timer', // TODO translate
BLOCK_NAVIGATE_1: 'Değiştirilmişleriniz var',
BLOCK_NAVIGATE_2: 'Farklı bir sayfaya geçerseniz değiştirilmişleriniz kaybolacak. Bu sayfadan çıkmak istediğinize emin misiniz?',
STAY: 'Kal',
LEAVE: 'Çık',
SCHEDULER: 'Zamanlayıcı',
SCHEDULER_HELP_1: 'Komutları zamanlayarak otomatikleştirin. Benzersiz bir ad belirtin API/MQTT aracılığıyla etkinleştirmek/devre dışı bırakma',
SCHEDULER_HELP_2: 'Başlangıçta bir kere tetiklemek için 00:00 kullanın',
SCHEDULE: 'Zamanlama',
TIME: 'Zaman',
TIMER: 'Zamanlayıcı',
ONCHANGE: 'Değişimde',
CONDITION: 'Durum', // TODO translate
IMMEDIATE: 'hemen', // TODO translate
SCHEDULE_UPDATED: 'Schedule updated', // TODO translate
SCHEDULE_TIMER_1: 'on startup', // TODO translate
SCHEDULE_TIMER_2: 'every minute', // TODO translate
SCHEDULE_TIMER_3: 'every hour', // TODO translate
CUSTOM_ENTITIES: 'Custom Entities', // TODO translate
ENTITIES_HELP_1: 'Fetch custom entities from the EMS bus', // TODO translate
ENTITIES_UPDATED: 'Entities Updated', // TODO translate
WRITEABLE: 'Writeable', // TODO translate
SHOWING: 'Showing', // TODO translate
SEARCH: 'Search', // TODO translate
CERT: 'TLS root certificate (leave blank for insecure)',
CONDITION: 'Durum',
IMMEDIATE: 'hemen',
SCHEDULE_UPDATED: 'Zamanlama güncellendi',
SCHEDULE_TIMER_1: 'Başlangıçta',
SCHEDULE_TIMER_2: 'her dakikada',
SCHEDULE_TIMER_3: 'her saatte',
CUSTOM_ENTITIES: 'Özel Varlıklar',
ENTITIES_HELP_1: 'Özel varlıkları EMS hattından alın',
ENTITIES_UPDATED: 'Varlıklar güncellendi',
WRITEABLE: 'Yazılabilir',
SHOWING: 'Görüntüleniyor',
SEARCH: 'Ara',
CERT: 'TLS kök sertifikası (güvenli olmayan için boş bırakın)',
ENABLE_TLS: 'TLS deveye al',
ON: 'On', // TODO translate
OFF: 'Off', // TODO translate
POLARITY: 'Polarity', // TODO translate
ACTIVEHIGH: 'Active High', // TODO translate
ACTIVELOW: 'Active Low', // TODO translate
UNCHANGED: 'Unchanged', // TODO translate
ALWAYS: 'Always', // TODO translate
ACTIVITY: 'Activity', // TODO translate
CONFIGURE: 'Configure {0}', // TODO translate
SYSTEM_MEMORY: 'System Memory', // TODO translate
APPLICATION_SETTINGS_1: 'Modify EMS-ESP Application Settings', // TODO translate
SECURITY_1: 'Add or remove users', // TODO translate
DOWNLOAD_UPLOAD_1: 'Download and Upload Settings and Firmware', // TODO translate
MODULES: 'Module', // TODO translate
ON: 'On',
OFF: 'Off',
POLARITY: 'Polarity',
ACTIVEHIGH: 'Aktif Yüksek',
ACTIVELOW: 'Aktif Düşük',
UNCHANGED: 'Değiştirilmedi',
ALWAYS: 'Her zaman',
ACTIVITY: 'Faaliyet',
CONFIGURE: 'Yapılandır {0}',
SYSTEM_MEMORY: 'Sistem Belleği',
APPLICATION_SETTINGS_1: 'EMS-ESP Uygulama Ayarlarını Değiştir',
SECURITY_1: 'Kullanıcıları ekle veya kaldır',
DOWNLOAD_UPLOAD_1: 'Ayarları ve firmware dosyasını indir ve yükle',
MODULES: 'Modül',
MODULES_1: 'Harici modülleri etkinleştirin veya devre dışı bırakın',
MODULES_UPDATED: 'Modules updated', // TODO translate
MODULES_DESCRIPTION: 'Click on the Module to activate or de-activate EMS-ESP library modules', // TODO translate
MODULES_NONE: 'No external modules detected', // TODO translate
RENAME: 'Rename', // TODO translate
ENABLE_MODBUS: 'Enable Modbus', // TODO translate
VIEW_LOG: 'View log to diagnose issues', // TODO translate
UPLOAD_DRAG: 'drag and drop a file here or click to select one', // TODO translate
SERVICES: 'Services', // TODO translate
ALLVALUES: 'All Values', // TODO translate
SPECIAL_FUNCTIONS: 'Special Functions', // TODO translate
WAIT_FIRMWARE: 'Firmware is uploading and installing', // TODO translate
INSTALL_VERSION: 'This will {0} version {1}. Are you sure?', // TODO translate
UPDATE_AVAILABLE: 'update available!', // TODO translate
LATEST_VERSION: 'You are using the latest {0}firmware version.', // TODO translate
PLEASE_WAIT: 'Please wait', // TODO translate
RESTARTING_PRE: 'Initializing', // TODO translate
RESTARTING_POST: 'Preparing', // TODO translate
AUTO_SCROLL: 'Auto Scroll', // TODO translate
DASHBOARD: 'Dashboard', // TODO translate
DEVELOPER_MODE: 'Developer Mode', // TODO translate
BYTES: 'Bytes', // TODO translate
BITMASK: 'Bit Mask',// TODO translate
DUPLICATE: 'Duplicate', // TODO translate
DASHBOARD_1: 'All EMS entities that are active and marked as Favorite, plus all Custom Entities, Schedules and external Sensors data are displayed below.', // TODO translate
NO_DATA_1: 'No favorite EMS entities found yet. Use the', // TODO translate
NO_DATA_2: 'module to mark them.', // TODO translate
NO_DATA_3: 'To see all available entities go to', // TODO translate
THIS_VERSION: 'This Version', // TODO translate
PLATFORM: 'Platform', // TODO translate
RELEASE_TYPE: 'Release Type', // TODO translate
INTERNET_CONNECTION_REQUIRED: 'Internet connection required for automatic version checking and upgrading', // TODO translate
SWITCH_RELEASE_TYPE: 'Switch to {0} release' // TODO translate
MODULES_UPDATED: 'Modülleri güncellendi',
MODULES_DESCRIPTION: 'Modüle tıklayarak etkinleştirin veya devre dışı bırakın EMS-ESP kütüphane modülleri',
MODULES_NONE: 'Hiçbir harici modül tespit edilmedi',
RENAME: 'Yeniden Adlandır',
ENABLE_MODBUS: 'Modbus\'ı etkinleştir',
VIEW_LOG: 'Sorunu tanımlamak için günlüğü görüntüleyin',
UPLOAD_DRAG: 'Bir dosya buraya sürükleyip bırakın veya seçmek için tıklayın',
SERVICES: 'Hizmetler',
ALLVALUES: 'Tüm Değerler',
SPECIAL_FUNCTIONS: 'Özel Fonksiyonlar',
WAIT_FIRMWARE: 'Firmware yükleniyor ve yükleniyor',
INSTALL_VERSION: 'Bu {0} sürümü {1} yükleyecek. Emin misiniz?',
UPDATE_AVAILABLE: 'güncellendi!',
LATEST_VERSION: 'En son {0} firmware sürümünü kullanıyorsunuz.',
PLEASE_WAIT: 'Lütfen bekleyin',
RESTARTING_PRE: 'Başlatılıyor',
RESTARTING_POST: 'Hazırlanıyor',
AUTO_SCROLL: 'Otomatik kaydırma',
DASHBOARD: 'Kontrol Paneli',
DEVELOPER_MODE: 'Geliştirici Modu',
BYTES: 'Bytes',
BITMASK: 'Bit Mask',
DUPLICATE: 'Duplicate',
DASHBOARD_1: 'Tüm aktif ve Favori olarak işaretlenmiş EMS varlıkları, artı tüm özel varlıklar, zamanlayıcılar ve harici sensör verileri aşağıda görüntüleniyor.',
NO_DATA_1: 'Henüz bir favori EMS varlığı bulunamadı. Kullanın',
NO_DATA_2: 'modülünü kullanın.',
NO_DATA_3: 'Tüm kullanılabilir varlıkları görmek için git',
THIS_VERSION: 'Bu Sürüm',
PLATFORM: 'Platform',
RELEASE_TYPE: 'Release Type',
INTERNET_CONNECTION_REQUIRED: 'Internet connection required for automatic version checking and upgrading',
SWITCH_RELEASE_TYPE: 'Switch to {0} release'
};
export default tr;

View File

@@ -592,13 +592,13 @@ __metadata:
linkType: hard
"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0":
version: 4.5.1
resolution: "@eslint-community/eslint-utils@npm:4.5.1"
version: 4.6.1
resolution: "@eslint-community/eslint-utils@npm:4.6.1"
dependencies:
eslint-visitor-keys: "npm:^3.4.3"
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
checksum: 10c0/b520ae1b7bd04531a5c5da2021071815df4717a9f7d13720e3a5ddccf5c9c619532039830811fcbae1c2f1c9d133e63af2435ee69e0fc0fabbd6d928c6800fb2
checksum: 10c0/cdeb6f8fc33a83726357d7f736075cdbd6e79dc7ac4b00b15680f1111d0f33bda583e7fafa5937245a058cc66302dc47568bba57b251302dc74964d8e87f56d7
languageName: node
linkType: hard
@@ -620,22 +620,13 @@ __metadata:
languageName: node
linkType: hard
"@eslint/config-helpers@npm:^0.2.0":
"@eslint/config-helpers@npm:^0.2.1":
version: 0.2.1
resolution: "@eslint/config-helpers@npm:0.2.1"
checksum: 10c0/3e829a78b0bb4f7c44384ba1df3986e5de24b7f440ad5c6bb3cfc366ded773a869ca9ee8d212b5a563ae94596c5940dea6fd2ea1ee53a84c6241ac953dcb8bb7
languageName: node
linkType: hard
"@eslint/core@npm:^0.12.0":
version: 0.12.0
resolution: "@eslint/core@npm:0.12.0"
dependencies:
"@types/json-schema": "npm:^7.0.15"
checksum: 10c0/d032af81195bb28dd800c2b9617548c6c2a09b9490da3c5537fd2a1201501666d06492278bb92cfccac1f7ac249e58601dd87f813ec0d6a423ef0880434fa0c3
languageName: node
linkType: hard
"@eslint/core@npm:^0.13.0":
version: 0.13.0
resolution: "@eslint/core@npm:0.13.0"
@@ -662,10 +653,10 @@ __metadata:
languageName: node
linkType: hard
"@eslint/js@npm:9.24.0, @eslint/js@npm:^9.24.0":
version: 9.24.0
resolution: "@eslint/js@npm:9.24.0"
checksum: 10c0/efe22e29469e4140ac3e2916be8143b1bcfd1084a6edf692b7a58a3e54949d53c67f7f979bc0a811db134d9cc1e7bff8aa71ef1376b47eecd7e226b71206bb36
"@eslint/js@npm:9.25.0, @eslint/js@npm:^9.25.0":
version: 9.25.0
resolution: "@eslint/js@npm:9.25.0"
checksum: 10c0/4a03e2b218e086af89465563151610f30c1ff38e53a4b09fa71d2e7d1f1b37d72e3aacaf2ccb949544b6fcbc12b118162f5edb6e7deee9b3bfd816745fe74dfa
languageName: node
linkType: hard
@@ -676,7 +667,7 @@ __metadata:
languageName: node
linkType: hard
"@eslint/plugin-kit@npm:^0.2.7":
"@eslint/plugin-kit@npm:^0.2.8":
version: 0.2.8
resolution: "@eslint/plugin-kit@npm:0.2.8"
dependencies:
@@ -1100,142 +1091,142 @@ __metadata:
languageName: node
linkType: hard
"@rollup/rollup-android-arm-eabi@npm:4.39.0":
version: 4.39.0
resolution: "@rollup/rollup-android-arm-eabi@npm:4.39.0"
"@rollup/rollup-android-arm-eabi@npm:4.40.0":
version: 4.40.0
resolution: "@rollup/rollup-android-arm-eabi@npm:4.40.0"
conditions: os=android & cpu=arm
languageName: node
linkType: hard
"@rollup/rollup-android-arm64@npm:4.39.0":
version: 4.39.0
resolution: "@rollup/rollup-android-arm64@npm:4.39.0"
"@rollup/rollup-android-arm64@npm:4.40.0":
version: 4.40.0
resolution: "@rollup/rollup-android-arm64@npm:4.40.0"
conditions: os=android & cpu=arm64
languageName: node
linkType: hard
"@rollup/rollup-darwin-arm64@npm:4.39.0":
version: 4.39.0
resolution: "@rollup/rollup-darwin-arm64@npm:4.39.0"
"@rollup/rollup-darwin-arm64@npm:4.40.0":
version: 4.40.0
resolution: "@rollup/rollup-darwin-arm64@npm:4.40.0"
conditions: os=darwin & cpu=arm64
languageName: node
linkType: hard
"@rollup/rollup-darwin-x64@npm:4.39.0":
version: 4.39.0
resolution: "@rollup/rollup-darwin-x64@npm:4.39.0"
"@rollup/rollup-darwin-x64@npm:4.40.0":
version: 4.40.0
resolution: "@rollup/rollup-darwin-x64@npm:4.40.0"
conditions: os=darwin & cpu=x64
languageName: node
linkType: hard
"@rollup/rollup-freebsd-arm64@npm:4.39.0":
version: 4.39.0
resolution: "@rollup/rollup-freebsd-arm64@npm:4.39.0"
"@rollup/rollup-freebsd-arm64@npm:4.40.0":
version: 4.40.0
resolution: "@rollup/rollup-freebsd-arm64@npm:4.40.0"
conditions: os=freebsd & cpu=arm64
languageName: node
linkType: hard
"@rollup/rollup-freebsd-x64@npm:4.39.0":
version: 4.39.0
resolution: "@rollup/rollup-freebsd-x64@npm:4.39.0"
"@rollup/rollup-freebsd-x64@npm:4.40.0":
version: 4.40.0
resolution: "@rollup/rollup-freebsd-x64@npm:4.40.0"
conditions: os=freebsd & cpu=x64
languageName: node
linkType: hard
"@rollup/rollup-linux-arm-gnueabihf@npm:4.39.0":
version: 4.39.0
resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.39.0"
"@rollup/rollup-linux-arm-gnueabihf@npm:4.40.0":
version: 4.40.0
resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.40.0"
conditions: os=linux & cpu=arm & libc=glibc
languageName: node
linkType: hard
"@rollup/rollup-linux-arm-musleabihf@npm:4.39.0":
version: 4.39.0
resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.39.0"
"@rollup/rollup-linux-arm-musleabihf@npm:4.40.0":
version: 4.40.0
resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.40.0"
conditions: os=linux & cpu=arm & libc=musl
languageName: node
linkType: hard
"@rollup/rollup-linux-arm64-gnu@npm:4.39.0":
version: 4.39.0
resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.39.0"
"@rollup/rollup-linux-arm64-gnu@npm:4.40.0":
version: 4.40.0
resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.40.0"
conditions: os=linux & cpu=arm64 & libc=glibc
languageName: node
linkType: hard
"@rollup/rollup-linux-arm64-musl@npm:4.39.0":
version: 4.39.0
resolution: "@rollup/rollup-linux-arm64-musl@npm:4.39.0"
"@rollup/rollup-linux-arm64-musl@npm:4.40.0":
version: 4.40.0
resolution: "@rollup/rollup-linux-arm64-musl@npm:4.40.0"
conditions: os=linux & cpu=arm64 & libc=musl
languageName: node
linkType: hard
"@rollup/rollup-linux-loongarch64-gnu@npm:4.39.0":
version: 4.39.0
resolution: "@rollup/rollup-linux-loongarch64-gnu@npm:4.39.0"
"@rollup/rollup-linux-loongarch64-gnu@npm:4.40.0":
version: 4.40.0
resolution: "@rollup/rollup-linux-loongarch64-gnu@npm:4.40.0"
conditions: os=linux & cpu=loong64 & libc=glibc
languageName: node
linkType: hard
"@rollup/rollup-linux-powerpc64le-gnu@npm:4.39.0":
version: 4.39.0
resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.39.0"
"@rollup/rollup-linux-powerpc64le-gnu@npm:4.40.0":
version: 4.40.0
resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.40.0"
conditions: os=linux & cpu=ppc64 & libc=glibc
languageName: node
linkType: hard
"@rollup/rollup-linux-riscv64-gnu@npm:4.39.0":
version: 4.39.0
resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.39.0"
"@rollup/rollup-linux-riscv64-gnu@npm:4.40.0":
version: 4.40.0
resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.40.0"
conditions: os=linux & cpu=riscv64 & libc=glibc
languageName: node
linkType: hard
"@rollup/rollup-linux-riscv64-musl@npm:4.39.0":
version: 4.39.0
resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.39.0"
"@rollup/rollup-linux-riscv64-musl@npm:4.40.0":
version: 4.40.0
resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.40.0"
conditions: os=linux & cpu=riscv64 & libc=musl
languageName: node
linkType: hard
"@rollup/rollup-linux-s390x-gnu@npm:4.39.0":
version: 4.39.0
resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.39.0"
"@rollup/rollup-linux-s390x-gnu@npm:4.40.0":
version: 4.40.0
resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.40.0"
conditions: os=linux & cpu=s390x & libc=glibc
languageName: node
linkType: hard
"@rollup/rollup-linux-x64-gnu@npm:4.39.0":
version: 4.39.0
resolution: "@rollup/rollup-linux-x64-gnu@npm:4.39.0"
"@rollup/rollup-linux-x64-gnu@npm:4.40.0":
version: 4.40.0
resolution: "@rollup/rollup-linux-x64-gnu@npm:4.40.0"
conditions: os=linux & cpu=x64 & libc=glibc
languageName: node
linkType: hard
"@rollup/rollup-linux-x64-musl@npm:4.39.0":
version: 4.39.0
resolution: "@rollup/rollup-linux-x64-musl@npm:4.39.0"
"@rollup/rollup-linux-x64-musl@npm:4.40.0":
version: 4.40.0
resolution: "@rollup/rollup-linux-x64-musl@npm:4.40.0"
conditions: os=linux & cpu=x64 & libc=musl
languageName: node
linkType: hard
"@rollup/rollup-win32-arm64-msvc@npm:4.39.0":
version: 4.39.0
resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.39.0"
"@rollup/rollup-win32-arm64-msvc@npm:4.40.0":
version: 4.40.0
resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.40.0"
conditions: os=win32 & cpu=arm64
languageName: node
linkType: hard
"@rollup/rollup-win32-ia32-msvc@npm:4.39.0":
version: 4.39.0
resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.39.0"
"@rollup/rollup-win32-ia32-msvc@npm:4.40.0":
version: 4.40.0
resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.40.0"
conditions: os=win32 & cpu=ia32
languageName: node
linkType: hard
"@rollup/rollup-win32-x64-msvc@npm:4.39.0":
version: 4.39.0
resolution: "@rollup/rollup-win32-x64-msvc@npm:4.39.0"
"@rollup/rollup-win32-x64-msvc@npm:4.40.0":
version: 4.40.0
resolution: "@rollup/rollup-win32-x64-msvc@npm:4.40.0"
conditions: os=win32 & cpu=x64
languageName: node
linkType: hard
@@ -1247,18 +1238,18 @@ __metadata:
languageName: node
linkType: hard
"@table-library/react-table-library@npm:4.1.12":
version: 4.1.12
resolution: "@table-library/react-table-library@npm:4.1.12"
"@table-library/react-table-library@npm:4.1.15":
version: 4.1.15
resolution: "@table-library/react-table-library@npm:4.1.15"
dependencies:
clsx: "npm:1.1.1"
react-virtualized-auto-sizer: "npm:1.0.7"
react-window: "npm:1.8.7"
react-virtualized-auto-sizer: "npm:1.0.26"
react-window: "npm:1.8.11"
peerDependencies:
"@emotion/react": ">= 11"
react: ">=16.8.0"
react-dom: ">=16.8.0"
checksum: 10c0/a20da02bcab45dcc2d4c2f973e8e453253652f9681019dfdd9ea24b464b84602fd8173686a3a5b2f698c110fb9aaad54fafe2dface0dc5337e01c89b8345a392
checksum: 10c0/f63c2f008945ebb5c553b6342d08f6f42cf6a8e4b27d6604704f4fe6c596b3fe72fe0d5b4628f0c621b516c3ef8d52f058c0c71b05b2dc3ded8fc43e61453fb6
languageName: node
linkType: hard
@@ -1295,13 +1286,6 @@ __metadata:
languageName: node
linkType: hard
"@types/cookie@npm:^0.6.0":
version: 0.6.0
resolution: "@types/cookie@npm:0.6.0"
checksum: 10c0/5b326bd0188120fb32c0be086b141b1481fec9941b76ad537f9110e10d61ee2636beac145463319c71e4be67a17e85b81ca9e13ceb6e3bb63b93d16824d6c149
languageName: node
linkType: hard
"@types/estree@npm:1.0.7, @types/estree@npm:^1.0.6":
version: 1.0.7
resolution: "@types/estree@npm:1.0.7"
@@ -1309,15 +1293,6 @@ __metadata:
languageName: node
linkType: hard
"@types/formidable@npm:^3":
version: 3.4.5
resolution: "@types/formidable@npm:3.4.5"
dependencies:
"@types/node": "npm:*"
checksum: 10c0/733dc59d4d12152ba5fb70751184812345ff08691864dd9b1b7626b9d40045a306021b9721495cafb56cd375da54fecaaebdada98fc390b7406ebb81efe0bfbe
languageName: node
linkType: hard
"@types/glob@npm:^7.1.1":
version: 7.2.0
resolution: "@types/glob@npm:7.2.0"
@@ -1465,12 +1440,12 @@ __metadata:
languageName: node
linkType: hard
"@types/react@npm:^19.1.1":
version: 19.1.1
resolution: "@types/react@npm:19.1.1"
"@types/react@npm:^19.1.2":
version: 19.1.2
resolution: "@types/react@npm:19.1.2"
dependencies:
csstype: "npm:^3.0.2"
checksum: 10c0/d22417857460ade4250806135a3d1e2558737a7ae76f120f88afbc6419ab04312977a5208a70d4f85059b9493c0f1f16c9ba1483aa8ea1dad581da666c95773e
checksum: 10c0/76ffe71395c713d4adc3c759465012d3c956db00af35ab7c6d0d91bd07b274b7ce69caa0478c0760311587bd1e38c78ffc9688ebc629f2b266682a19d8750947
languageName: node
linkType: hard
@@ -1492,15 +1467,15 @@ __metadata:
languageName: node
linkType: hard
"@typescript-eslint/eslint-plugin@npm:8.29.1":
version: 8.29.1
resolution: "@typescript-eslint/eslint-plugin@npm:8.29.1"
"@typescript-eslint/eslint-plugin@npm:8.30.1":
version: 8.30.1
resolution: "@typescript-eslint/eslint-plugin@npm:8.30.1"
dependencies:
"@eslint-community/regexpp": "npm:^4.10.0"
"@typescript-eslint/scope-manager": "npm:8.29.1"
"@typescript-eslint/type-utils": "npm:8.29.1"
"@typescript-eslint/utils": "npm:8.29.1"
"@typescript-eslint/visitor-keys": "npm:8.29.1"
"@typescript-eslint/scope-manager": "npm:8.30.1"
"@typescript-eslint/type-utils": "npm:8.30.1"
"@typescript-eslint/utils": "npm:8.30.1"
"@typescript-eslint/visitor-keys": "npm:8.30.1"
graphemer: "npm:^1.4.0"
ignore: "npm:^5.3.1"
natural-compare: "npm:^1.4.0"
@@ -1509,64 +1484,64 @@ __metadata:
"@typescript-eslint/parser": ^8.0.0 || ^8.0.0-alpha.0
eslint: ^8.57.0 || ^9.0.0
typescript: ">=4.8.4 <5.9.0"
checksum: 10c0/a3ed7556edcac374cab622862f2f9adedc91ca305d6937db6869a0253d675858c296cb5413980e8404fc39737117faaf35b00c6804664b3c542bdc417502532f
checksum: 10c0/e34e067c977a20fe927a30e5ffd5402b03eb12d1c9dc932e7c4a772e78fda9e34708fa2d12ace34bad2c51ecaf5b8cfaa4b372c0c5550fe06587b721f6eae57b
languageName: node
linkType: hard
"@typescript-eslint/parser@npm:8.29.1":
version: 8.29.1
resolution: "@typescript-eslint/parser@npm:8.29.1"
"@typescript-eslint/parser@npm:8.30.1":
version: 8.30.1
resolution: "@typescript-eslint/parser@npm:8.30.1"
dependencies:
"@typescript-eslint/scope-manager": "npm:8.29.1"
"@typescript-eslint/types": "npm:8.29.1"
"@typescript-eslint/typescript-estree": "npm:8.29.1"
"@typescript-eslint/visitor-keys": "npm:8.29.1"
"@typescript-eslint/scope-manager": "npm:8.30.1"
"@typescript-eslint/types": "npm:8.30.1"
"@typescript-eslint/typescript-estree": "npm:8.30.1"
"@typescript-eslint/visitor-keys": "npm:8.30.1"
debug: "npm:^4.3.4"
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: ">=4.8.4 <5.9.0"
checksum: 10c0/af3570ff58c42c2014e5c117bebf91120737fb139d94415ca2711844990e95252c3006ccc699871fe3f592cc1a3f4ebfdc9dd5f6cb29b6b128c2524fcf311b75
checksum: 10c0/add025d5cfca5cd4d1f74c9297e71de95c945f4efbe6cbfbc72e2cd794cd2684397c7d832bdb5177a1f54398111243d20bd0d2ffdb32a4d5230f1db7cd6fbfb6
languageName: node
linkType: hard
"@typescript-eslint/scope-manager@npm:8.29.1":
version: 8.29.1
resolution: "@typescript-eslint/scope-manager@npm:8.29.1"
"@typescript-eslint/scope-manager@npm:8.30.1":
version: 8.30.1
resolution: "@typescript-eslint/scope-manager@npm:8.30.1"
dependencies:
"@typescript-eslint/types": "npm:8.29.1"
"@typescript-eslint/visitor-keys": "npm:8.29.1"
checksum: 10c0/8b87a04f01ebc13075e352509bca8f31c757c3220857fa473ac155f6bdf7f30fe82765d0c3d8e790f7fad394a32765bd9f716b97c08e17581d358c76086d51af
"@typescript-eslint/types": "npm:8.30.1"
"@typescript-eslint/visitor-keys": "npm:8.30.1"
checksum: 10c0/8560fd02bb2a73b56f79af1dfa311491926f3625a04c0f32777c7c0bdec47b4a677addf2d2e2cc313416bb59b7a6e0bff7837449816a5ec5ff81e923daa76ca7
languageName: node
linkType: hard
"@typescript-eslint/type-utils@npm:8.29.1":
version: 8.29.1
resolution: "@typescript-eslint/type-utils@npm:8.29.1"
"@typescript-eslint/type-utils@npm:8.30.1":
version: 8.30.1
resolution: "@typescript-eslint/type-utils@npm:8.30.1"
dependencies:
"@typescript-eslint/typescript-estree": "npm:8.29.1"
"@typescript-eslint/utils": "npm:8.29.1"
"@typescript-eslint/typescript-estree": "npm:8.30.1"
"@typescript-eslint/utils": "npm:8.30.1"
debug: "npm:^4.3.4"
ts-api-utils: "npm:^2.0.1"
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: ">=4.8.4 <5.9.0"
checksum: 10c0/72cc01dbac866b0a7c7b1f637ad03ffd22f6d3617f70f06f485cf3096fddfc821fdc56de1a072cc6af70250c63698a3e5a910f67fe46eea941955b6e0da1b2bd
checksum: 10c0/c233d2b0b06bd8eca4ee38aebb7544d4084143590328f38c00302f98a62b06868394d4ab1cd798af68d5a47efd84976cc14d415e9e519396dc89aa8d4d47c9ee
languageName: node
linkType: hard
"@typescript-eslint/types@npm:8.29.1":
version: 8.29.1
resolution: "@typescript-eslint/types@npm:8.29.1"
checksum: 10c0/bbcb9e4f38df4485092b51ac6bb62d65f321d914ab58dc0ff1eaa7787dc0b4a39e237c2617b9f2c2bcb91a343f30de523e3544f69affa1ee4287a3ef2fc10ce7
"@typescript-eslint/types@npm:8.30.1":
version: 8.30.1
resolution: "@typescript-eslint/types@npm:8.30.1"
checksum: 10c0/461e800bf911c24d9b61bdbeed897921454acc0c24b4e8a79f943c14234241828c13a31dce31dcce77511185f806a2fb94769075e122e3182ba5a32dd55573eb
languageName: node
linkType: hard
"@typescript-eslint/typescript-estree@npm:8.29.1":
version: 8.29.1
resolution: "@typescript-eslint/typescript-estree@npm:8.29.1"
"@typescript-eslint/typescript-estree@npm:8.30.1":
version: 8.30.1
resolution: "@typescript-eslint/typescript-estree@npm:8.30.1"
dependencies:
"@typescript-eslint/types": "npm:8.29.1"
"@typescript-eslint/visitor-keys": "npm:8.29.1"
"@typescript-eslint/types": "npm:8.30.1"
"@typescript-eslint/visitor-keys": "npm:8.30.1"
debug: "npm:^4.3.4"
fast-glob: "npm:^3.3.2"
is-glob: "npm:^4.0.3"
@@ -1575,32 +1550,32 @@ __metadata:
ts-api-utils: "npm:^2.0.1"
peerDependencies:
typescript: ">=4.8.4 <5.9.0"
checksum: 10c0/33c46c667d9262e5625d5d0064338711b342e62c5675ded6811a2cb13ee5de2f71b90e9d0be5cb338b11b1a329c376a6bbf6c3d24fa8fb457b2eefc9f3298513
checksum: 10c0/9eb0b1bc4b5df37c84ac411d77ce0edf934b5fdde021ed45c984aa7894132ff7a276d2b95e2d29ef84c411df8ecdf096eec3e07ec1ee5b1fa8c623d40a82ecf0
languageName: node
linkType: hard
"@typescript-eslint/utils@npm:8.29.1":
version: 8.29.1
resolution: "@typescript-eslint/utils@npm:8.29.1"
"@typescript-eslint/utils@npm:8.30.1":
version: 8.30.1
resolution: "@typescript-eslint/utils@npm:8.30.1"
dependencies:
"@eslint-community/eslint-utils": "npm:^4.4.0"
"@typescript-eslint/scope-manager": "npm:8.29.1"
"@typescript-eslint/types": "npm:8.29.1"
"@typescript-eslint/typescript-estree": "npm:8.29.1"
"@typescript-eslint/scope-manager": "npm:8.30.1"
"@typescript-eslint/types": "npm:8.30.1"
"@typescript-eslint/typescript-estree": "npm:8.30.1"
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: ">=4.8.4 <5.9.0"
checksum: 10c0/1b2704b769b0c9353cf26a320ecf9775ba51c94c7c30e2af80ca31f4cb230f319762ab06535fcb26b6963144bbeaa53233b34965907c506283861b013f5b95fc
checksum: 10c0/ad54aa386edc2e19957c73ef25eea3e263e7e15e941c72e91ca6c8ea2536979d343a6069de0e40b15f0e732ddaacbfcc3d5f25a1583e11a32120c42c471802ea
languageName: node
linkType: hard
"@typescript-eslint/visitor-keys@npm:8.29.1":
version: 8.29.1
resolution: "@typescript-eslint/visitor-keys@npm:8.29.1"
"@typescript-eslint/visitor-keys@npm:8.30.1":
version: 8.30.1
resolution: "@typescript-eslint/visitor-keys@npm:8.30.1"
dependencies:
"@typescript-eslint/types": "npm:8.29.1"
"@typescript-eslint/types": "npm:8.30.1"
eslint-visitor-keys: "npm:^4.2.0"
checksum: 10c0/0c12e83c84a754161c89e594a96454799669979c7021a8936515ec574a1fa1d6e3119e0eacf502e07a0fa7254974558ea7a48901c8bfed3c46579a61b655e4f5
checksum: 10c0/bdc182289c68a5c8f891f9aecf6ccb59743c3f2b1bbe57f57f8c7ce1688f4381182e301919895cefc929539eea914eeb847f7d351cdc3f685ed6c5ee67a10c9e
languageName: node
linkType: hard
@@ -1612,38 +1587,37 @@ __metadata:
"@babel/core": "npm:^7.26.10"
"@emotion/react": "npm:^11.14.0"
"@emotion/styled": "npm:^11.14.0"
"@eslint/js": "npm:^9.24.0"
"@eslint/js": "npm:^9.25.0"
"@mui/icons-material": "npm:^7.0.2"
"@mui/material": "npm:^7.0.2"
"@preact/compat": "npm:^18.3.1"
"@preact/preset-vite": "npm:^2.10.1"
"@table-library/react-table-library": "npm:4.1.12"
"@table-library/react-table-library": "npm:4.1.15"
"@trivago/prettier-plugin-sort-imports": "npm:^5.2.2"
"@types/formidable": "npm:^3"
"@types/node": "npm:^22.14.1"
"@types/react": "npm:^19.1.1"
"@types/react": "npm:^19.1.2"
"@types/react-dom": "npm:^19.1.2"
alova: "npm:3.2.10"
async-validator: "npm:^4.2.5"
concurrently: "npm:^9.1.2"
eslint: "npm:^9.24.0"
eslint: "npm:^9.25.0"
eslint-config-prettier: "npm:^10.1.2"
formidable: "npm:^3.5.2"
jwt-decode: "npm:^4.0.0"
magic-string: "npm:^0.30.17"
mime-types: "npm:^3.0.1"
preact: "npm:^10.26.5"
prettier: "npm:^3.5.3"
react: "npm:^19.1.0"
react-dom: "npm:^19.1.0"
react-icons: "npm:^5.5.0"
react-router: "npm:^7.5.0"
react-router: "npm:^7.5.1"
react-toastify: "npm:^11.0.5"
rollup-plugin-visualizer: "npm:^5.14.0"
terser: "npm:^5.39.0"
typesafe-i18n: "npm:^5.26.2"
typescript: "npm:^5.8.3"
typescript-eslint: "npm:8.29.1"
vite: "npm:^6.2.6"
typescript-eslint: "npm:8.30.1"
vite: "npm:^6.3.2"
vite-plugin-imagemin: "npm:^0.6.1"
vite-tsconfig-paths: "npm:^5.1.4"
languageName: unknown
@@ -1784,13 +1758,6 @@ __metadata:
languageName: node
linkType: hard
"asap@npm:^2.0.0":
version: 2.0.6
resolution: "asap@npm:2.0.6"
checksum: 10c0/c6d5e39fe1f15e4b87677460bd66b66050cd14c772269cee6688824c1410a08ab20254bb6784f9afb75af9144a9f9a7692d49547f4d19d715aeb7c0318f3136d
languageName: node
linkType: hard
"async-validator@npm:^4.2.5":
version: 4.2.5
resolution: "async-validator@npm:4.2.5"
@@ -2057,9 +2024,9 @@ __metadata:
linkType: hard
"caniuse-lite@npm:^1.0.30001688":
version: 1.0.30001713
resolution: "caniuse-lite@npm:1.0.30001713"
checksum: 10c0/f5468abfe73ce30e29cc8bde2ea67df2aab69032bdd93345e0640efefb76b7901c84fe1d28d591a797e65fe52fc24cae97060bb5552f9f9740322aff95ce2f9d
version: 1.0.30001714
resolution: "caniuse-lite@npm:1.0.30001714"
checksum: 10c0/b0e3372f018c5c177912f0282af98049057d83c80846293a4e3df728644a622db42a9e8971d6b7708d76e0fd4e9f6d5ce93802cf4e6818de80fdf371dc0f6a06
languageName: node
linkType: hard
@@ -2488,16 +2455,6 @@ __metadata:
languageName: node
linkType: hard
"dezalgo@npm:^1.0.4":
version: 1.0.4
resolution: "dezalgo@npm:1.0.4"
dependencies:
asap: "npm:^2.0.0"
wrappy: "npm:1"
checksum: 10c0/8a870ed42eade9a397e6141fe5c025148a59ed52f1f28b1db5de216b4d57f0af7a257070c3af7ce3d5508c1ce9dd5009028a76f4b2cc9370dc56551d2355fad8
languageName: node
linkType: hard
"dir-glob@npm:^3.0.1":
version: 3.0.1
resolution: "dir-glob@npm:3.0.1"
@@ -2640,9 +2597,9 @@ __metadata:
linkType: hard
"electron-to-chromium@npm:^1.5.73":
version: 1.5.136
resolution: "electron-to-chromium@npm:1.5.136"
checksum: 10c0/6a207e397638b0428b31c87d409a73f6bd953598cb7359ee4c3c175e645c3ae0cc99fc5128eaca19e2f1052200fd016eb4bb1012a55e5824eb1dce85b0396184
version: 1.5.139
resolution: "electron-to-chromium@npm:1.5.139"
checksum: 10c0/1b468c0c02a38322261b50b12ed090ff792a0d2ea24f299368babd484d5b81829528540463158572a3524fd835014d877d6c4bf097509bdb13ca696609b04aca
languageName: node
linkType: hard
@@ -3071,18 +3028,18 @@ __metadata:
languageName: node
linkType: hard
"eslint@npm:^9.24.0":
version: 9.24.0
resolution: "eslint@npm:9.24.0"
"eslint@npm:^9.25.0":
version: 9.25.0
resolution: "eslint@npm:9.25.0"
dependencies:
"@eslint-community/eslint-utils": "npm:^4.2.0"
"@eslint-community/regexpp": "npm:^4.12.1"
"@eslint/config-array": "npm:^0.20.0"
"@eslint/config-helpers": "npm:^0.2.0"
"@eslint/core": "npm:^0.12.0"
"@eslint/config-helpers": "npm:^0.2.1"
"@eslint/core": "npm:^0.13.0"
"@eslint/eslintrc": "npm:^3.3.1"
"@eslint/js": "npm:9.24.0"
"@eslint/plugin-kit": "npm:^0.2.7"
"@eslint/js": "npm:9.25.0"
"@eslint/plugin-kit": "npm:^0.2.8"
"@humanfs/node": "npm:^0.16.6"
"@humanwhocodes/module-importer": "npm:^1.0.1"
"@humanwhocodes/retry": "npm:^0.4.2"
@@ -3117,7 +3074,7 @@ __metadata:
optional: true
bin:
eslint: bin/eslint.js
checksum: 10c0/f758ff1b9d2f2af5335f562f3f40aa8f71607b3edca33f7616840a222ed224555aeb3ac6943cc86e4f9ac5dc124a60bbfde624d054fb235631a8c04447e39ecc
checksum: 10c0/eb984c0bad4f42ab02f5275fc02ebba98ff29dcecf1995065ec0a642e9c47a9b86a1407efa76fcdc1f096d09473160122a91a4acc18c54eb36a91cb36bffae20
languageName: node
linkType: hard
@@ -3347,14 +3304,14 @@ __metadata:
linkType: hard
"fdir@npm:^6.4.3":
version: 6.4.3
resolution: "fdir@npm:6.4.3"
version: 6.4.4
resolution: "fdir@npm:6.4.4"
peerDependencies:
picomatch: ^3 || ^4
peerDependenciesMeta:
picomatch:
optional: true
checksum: 10c0/d13c10120e9625adf21d8d80481586200759928c19405a816b77dd28eaeb80e7c59c5def3e2941508045eb06d34eb47fad865ccc8bf98e6ab988bb0ed160fb6f
checksum: 10c0/6ccc33be16945ee7bc841e1b4178c0b4cf18d3804894cb482aa514651c962a162f96da7ffc6ebfaf0df311689fb70091b04dd6caffe28d56b9ebdc0e7ccadfdd
languageName: node
linkType: hard
@@ -3516,17 +3473,6 @@ __metadata:
languageName: node
linkType: hard
"formidable@npm:^3.5.2":
version: 3.5.2
resolution: "formidable@npm:3.5.2"
dependencies:
dezalgo: "npm:^1.0.4"
hexoid: "npm:^2.0.0"
once: "npm:^1.4.0"
checksum: 10c0/c26d89ba84d392f0e68ba1aca9f779e0f2e94db053d95df562c730782956f302e3f069c07ab96f991415af915ac7b8771f4c813d298df43577fdf439e1e8741e
languageName: node
linkType: hard
"from2@npm:^2.1.1":
version: 2.3.0
resolution: "from2@npm:2.3.0"
@@ -3892,13 +3838,6 @@ __metadata:
languageName: node
linkType: hard
"hexoid@npm:^2.0.0":
version: 2.0.0
resolution: "hexoid@npm:2.0.0"
checksum: 10c0/a9d5e6f4adeaefcb4a53803dd48bf0a242d92e8ec699555aea616c4bf8f91788f03093595085976f63d6830815dd080c063503540fabc7e854ebfb11161687c6
languageName: node
linkType: hard
"hoist-non-react-statics@npm:^3.3.1":
version: 3.3.2
resolution: "hoist-non-react-statics@npm:3.3.2"
@@ -4668,7 +4607,7 @@ __metadata:
languageName: node
linkType: hard
"magic-string@npm:^0.30.6":
"magic-string@npm:^0.30.17":
version: 0.30.17
resolution: "magic-string@npm:0.30.17"
dependencies:
@@ -5633,11 +5572,10 @@ __metadata:
languageName: node
linkType: hard
"react-router@npm:^7.5.0":
version: 7.5.0
resolution: "react-router@npm:7.5.0"
"react-router@npm:^7.5.1":
version: 7.5.1
resolution: "react-router@npm:7.5.1"
dependencies:
"@types/cookie": "npm:^0.6.0"
cookie: "npm:^1.0.1"
set-cookie-parser: "npm:^2.6.0"
turbo-stream: "npm:2.4.0"
@@ -5647,7 +5585,7 @@ __metadata:
peerDependenciesMeta:
react-dom:
optional: true
checksum: 10c0/fc1b4ed3eeb615f40727b81dfab7469429a0b662bff5f91434966751d48ce4b470d9627dcbc93dad9b1a535a0f9bd1b2267d8ff88ca4e636535bcbfe7d76cea3
checksum: 10c0/54e9f77ede0bf36c12685a59c5d965f77f2223d01cd922ce7b6ef4f8fa5435e66c796f9f5da3487bde0cb98dadd64f5a406696d4f52e031af812857aaab0f76b
languageName: node
linkType: hard
@@ -5678,26 +5616,26 @@ __metadata:
languageName: node
linkType: hard
"react-virtualized-auto-sizer@npm:1.0.7":
version: 1.0.7
resolution: "react-virtualized-auto-sizer@npm:1.0.7"
"react-virtualized-auto-sizer@npm:1.0.26":
version: 1.0.26
resolution: "react-virtualized-auto-sizer@npm:1.0.26"
peerDependencies:
react: ^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0-rc
react-dom: ^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0-rc
checksum: 10c0/91e8d7924bace7d1ba48f54580e14b2cfea71c7af6f5472d40f2d9499f85fa0e9a6712ee0ba60ff9dd3d7566593cb1e681e44aaeddd956e5a19b20a79f8c322a
react: ^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0 || ^19.0.0
react-dom: ^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0 || ^19.0.0
checksum: 10c0/788b438c9cb55f94a0561ef07e6bb6e5051ad3d5ececd9b2131014324ffe773b507ac7060f965e44c84bd8d6aa85c686754ac944384878c97f7304c0473a7754
languageName: node
linkType: hard
"react-window@npm:1.8.7":
version: 1.8.7
resolution: "react-window@npm:1.8.7"
"react-window@npm:1.8.11":
version: 1.8.11
resolution: "react-window@npm:1.8.11"
dependencies:
"@babel/runtime": "npm:^7.0.0"
memoize-one: "npm:>=3.1.1 <6"
peerDependencies:
react: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0
react-dom: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0
checksum: 10c0/b36a5df21aa665db4a9674d37e933025c6dabc09ee38c364a8beba334e3aec9d3ab0d30dd18972c927dfb0a8e4ee8b0bf0822759d3181c578268e3523a097c01
react: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
react-dom: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
checksum: 10c0/5ae8da1bc5c47d8f0a428b28a600256e2db511975573e52cb65a9b27ed1a0e5b9f7b3bee5a54fb0da93956d782c24010be434be451072f46ba5a89159d2b3944
languageName: node
linkType: hard
@@ -5873,30 +5811,30 @@ __metadata:
languageName: node
linkType: hard
"rollup@npm:^4.30.1":
version: 4.39.0
resolution: "rollup@npm:4.39.0"
"rollup@npm:^4.34.9":
version: 4.40.0
resolution: "rollup@npm:4.40.0"
dependencies:
"@rollup/rollup-android-arm-eabi": "npm:4.39.0"
"@rollup/rollup-android-arm64": "npm:4.39.0"
"@rollup/rollup-darwin-arm64": "npm:4.39.0"
"@rollup/rollup-darwin-x64": "npm:4.39.0"
"@rollup/rollup-freebsd-arm64": "npm:4.39.0"
"@rollup/rollup-freebsd-x64": "npm:4.39.0"
"@rollup/rollup-linux-arm-gnueabihf": "npm:4.39.0"
"@rollup/rollup-linux-arm-musleabihf": "npm:4.39.0"
"@rollup/rollup-linux-arm64-gnu": "npm:4.39.0"
"@rollup/rollup-linux-arm64-musl": "npm:4.39.0"
"@rollup/rollup-linux-loongarch64-gnu": "npm:4.39.0"
"@rollup/rollup-linux-powerpc64le-gnu": "npm:4.39.0"
"@rollup/rollup-linux-riscv64-gnu": "npm:4.39.0"
"@rollup/rollup-linux-riscv64-musl": "npm:4.39.0"
"@rollup/rollup-linux-s390x-gnu": "npm:4.39.0"
"@rollup/rollup-linux-x64-gnu": "npm:4.39.0"
"@rollup/rollup-linux-x64-musl": "npm:4.39.0"
"@rollup/rollup-win32-arm64-msvc": "npm:4.39.0"
"@rollup/rollup-win32-ia32-msvc": "npm:4.39.0"
"@rollup/rollup-win32-x64-msvc": "npm:4.39.0"
"@rollup/rollup-android-arm-eabi": "npm:4.40.0"
"@rollup/rollup-android-arm64": "npm:4.40.0"
"@rollup/rollup-darwin-arm64": "npm:4.40.0"
"@rollup/rollup-darwin-x64": "npm:4.40.0"
"@rollup/rollup-freebsd-arm64": "npm:4.40.0"
"@rollup/rollup-freebsd-x64": "npm:4.40.0"
"@rollup/rollup-linux-arm-gnueabihf": "npm:4.40.0"
"@rollup/rollup-linux-arm-musleabihf": "npm:4.40.0"
"@rollup/rollup-linux-arm64-gnu": "npm:4.40.0"
"@rollup/rollup-linux-arm64-musl": "npm:4.40.0"
"@rollup/rollup-linux-loongarch64-gnu": "npm:4.40.0"
"@rollup/rollup-linux-powerpc64le-gnu": "npm:4.40.0"
"@rollup/rollup-linux-riscv64-gnu": "npm:4.40.0"
"@rollup/rollup-linux-riscv64-musl": "npm:4.40.0"
"@rollup/rollup-linux-s390x-gnu": "npm:4.40.0"
"@rollup/rollup-linux-x64-gnu": "npm:4.40.0"
"@rollup/rollup-linux-x64-musl": "npm:4.40.0"
"@rollup/rollup-win32-arm64-msvc": "npm:4.40.0"
"@rollup/rollup-win32-ia32-msvc": "npm:4.40.0"
"@rollup/rollup-win32-x64-msvc": "npm:4.40.0"
"@types/estree": "npm:1.0.7"
fsevents: "npm:~2.3.2"
dependenciesMeta:
@@ -5944,7 +5882,7 @@ __metadata:
optional: true
bin:
rollup: dist/bin/rollup
checksum: 10c0/2dc0c23ca04bd00295035b405c977261559aed8acc9902ee9ff44e4a6b54734fcb64999c32143c43804dcb543da7983032831b893a902633b006c21848a093ce
checksum: 10c0/90aa57487d4a9a7de1a47bf42a6091f83f1cb7fe1814650dfec278ab8ddae5736b86535d4c766493517720f334dfd4aa0635405ca8f4f36ed8d3c0f875f2a801
languageName: node
linkType: hard
@@ -6678,17 +6616,17 @@ __metadata:
languageName: node
linkType: hard
"typescript-eslint@npm:8.29.1":
version: 8.29.1
resolution: "typescript-eslint@npm:8.29.1"
"typescript-eslint@npm:8.30.1":
version: 8.30.1
resolution: "typescript-eslint@npm:8.30.1"
dependencies:
"@typescript-eslint/eslint-plugin": "npm:8.29.1"
"@typescript-eslint/parser": "npm:8.29.1"
"@typescript-eslint/utils": "npm:8.29.1"
"@typescript-eslint/eslint-plugin": "npm:8.30.1"
"@typescript-eslint/parser": "npm:8.30.1"
"@typescript-eslint/utils": "npm:8.30.1"
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: ">=4.8.4 <5.9.0"
checksum: 10c0/31319c891d224ec8d7cf96ad7e6c84480b3d17d4c46c5beccca06fc7891f41eabd5593e44867e69dbfb79459f5545c2cc2e985c950bdd7b4e7c3bb1ec8941030
checksum: 10c0/41c53910308fa03d2216ccae9885e82422b8abc96b384a6e47277b5b351f462e6da3a4dfbb8c9bc7defa8c96fb71c4371fa5759eaa86c7c1b3b53a4a9994e6ab
languageName: node
linkType: hard
@@ -6862,16 +6800,18 @@ __metadata:
linkType: hard
"vite-prerender-plugin@npm:^0.5.3":
version: 0.5.8
resolution: "vite-prerender-plugin@npm:0.5.8"
version: 0.5.9
resolution: "vite-prerender-plugin@npm:0.5.9"
dependencies:
kolorist: "npm:^1.8.0"
magic-string: "npm:^0.30.6"
node-html-parser: "npm:^6.1.12"
simple-code-frame: "npm:^1.3.0"
source-map: "npm:^0.7.4"
stack-trace: "npm:^1.0.0-pre2"
checksum: 10c0/e59b8c2b8d850a54983ded9b5df61e5cea34554d0515f497e783c718314af07dfc51ede5098ccda11a84cb7a409a9b8e5db6cbc3f250883bb124059bd90c0981
peerDependencies:
magic-string: ">= 0.26.0"
vite: 5.x || 6.x
checksum: 10c0/05532731b87d8b630a0d054acca8f0a447d855b8d1e242a88dd6c5e29facbd682de79bd118c86a03a5192de3b9a2939769b6de4b43fed292ef73316e8726cdbd
languageName: node
linkType: hard
@@ -6891,14 +6831,17 @@ __metadata:
languageName: node
linkType: hard
"vite@npm:^6.2.6":
version: 6.2.6
resolution: "vite@npm:6.2.6"
"vite@npm:^6.3.2":
version: 6.3.2
resolution: "vite@npm:6.3.2"
dependencies:
esbuild: "npm:^0.25.0"
fdir: "npm:^6.4.3"
fsevents: "npm:~2.3.3"
picomatch: "npm:^4.0.2"
postcss: "npm:^8.5.3"
rollup: "npm:^4.30.1"
rollup: "npm:^4.34.9"
tinyglobby: "npm:^0.2.12"
peerDependencies:
"@types/node": ^18.0.0 || ^20.0.0 || >=22.0.0
jiti: ">=1.21.0"
@@ -6939,7 +6882,7 @@ __metadata:
optional: true
bin:
vite: bin/vite.js
checksum: 10c0/68a2ed3e61bdd654c59b817b4f3203065241c66d1739faa707499130f3007bc3a666c7a8320a4198e275e62b5e4d34d9b78a6533f69e321d366e76f5093b2071
checksum: 10c0/08681e83e8338f3915cee729d8296bb9cfd53f71d6796816445d58cd84a8387396a3f5f3e179c52b09e98ccf7247ec3fabb50b95b0e7f3289a619ef8bf71bd8a
languageName: node
linkType: hard

View File

@@ -11,7 +11,7 @@
"dependencies": {
"@msgpack/msgpack": "^3.1.1",
"@trivago/prettier-plugin-sort-imports": "^5.2.2",
"formidable": "^3.5.2",
"formidable": "^3.5.3",
"itty-router": "^5.0.18",
"prettier": "^3.5.3"
},

View File

@@ -414,8 +414,8 @@ let ntp_settings = {
tz_label: 'Europe/Amsterdam',
tz_format: 'CET-1CEST,M3.5.0,M10.5.0/3'
};
const ntp_status = {
status: 2,
let ntp_status = {
status: 0, // 0 = disabled, 1 = inactive, 2 = active
utc_time: '2021-04-01T14:25:42Z',
local_time: '2021-04-01T16:25:42',
server: 'time.google.com',
@@ -4330,7 +4330,15 @@ router
router
.get(NTP_SETTINGS_ENDPOINT, () => ntp_settings)
.get(NTP_STATUS_ENDPOINT, () => ntp_status)
.post(TIME_ENDPOINT, () => status(200))
.post(TIME_ENDPOINT, async (request: any) => {
const rsp = await request.json();
const local_time = rsp.local_time;
ntp_status.status = 1;
ntp_status.local_time = local_time;
ntp_status.utc_time = local_time;
console.log('ntp time set to', local_time);
return status(200);
})
.post(NTP_SETTINGS_ENDPOINT, async (request: any) => {
ntp_settings = await request.json();
console.log('ntp settings saved', ntp_settings);

View File

@@ -139,6 +139,22 @@ __metadata:
languageName: node
linkType: hard
"@noble/hashes@npm:^1.1.5":
version: 1.7.2
resolution: "@noble/hashes@npm:1.7.2"
checksum: 10c0/b1411eab3c0b6691d847e9394fe7f1fcd45eeb037547c8f97e7d03c5068a499b4aef188e8e717eee67389dca4fee17d69d7e0f58af6c092567b0b76359b114b2
languageName: node
linkType: hard
"@paralleldrive/cuid2@npm:^2.2.2":
version: 2.2.2
resolution: "@paralleldrive/cuid2@npm:2.2.2"
dependencies:
"@noble/hashes": "npm:^1.1.5"
checksum: 10c0/af5826df93de437121308f4f4ce0b2eeb89b60bb57a1a6592fb89c0d40d311ad1d9f3f6a4db2cce6f2bcf572de1aa3f85704254e89b18ce61c41ebb06564c4ee
languageName: node
linkType: hard
"@trivago/prettier-plugin-sort-imports@npm:^5.2.2":
version: 5.2.2
resolution: "@trivago/prettier-plugin-sort-imports@npm:5.2.2"
@@ -194,14 +210,14 @@ __metadata:
languageName: node
linkType: hard
"formidable@npm:^3.5.2":
version: 3.5.2
resolution: "formidable@npm:3.5.2"
"formidable@npm:^3.5.3":
version: 3.5.3
resolution: "formidable@npm:3.5.3"
dependencies:
"@paralleldrive/cuid2": "npm:^2.2.2"
dezalgo: "npm:^1.0.4"
hexoid: "npm:^2.0.0"
once: "npm:^1.4.0"
checksum: 10c0/c26d89ba84d392f0e68ba1aca9f779e0f2e94db053d95df562c730782956f302e3f069c07ab96f991415af915ac7b8771f4c813d298df43577fdf439e1e8741e
checksum: 10c0/4e2732d3ed946dd972bc80ecba5c5a3709baa7d541583058c7e0a7344e64ced3b69f32813884a174855ad31f9ce978a6dc9fbf2578a1ed5e08691baf679266f4
languageName: node
linkType: hard
@@ -212,13 +228,6 @@ __metadata:
languageName: node
linkType: hard
"hexoid@npm:^2.0.0":
version: 2.0.0
resolution: "hexoid@npm:2.0.0"
checksum: 10c0/a9d5e6f4adeaefcb4a53803dd48bf0a242d92e8ec699555aea616c4bf8f91788f03093595085976f63d6830815dd080c063503540fabc7e854ebfb11161687c6
languageName: node
linkType: hard
"itty-router@npm:^5.0.18":
version: 5.0.18
resolution: "itty-router@npm:5.0.18"
@@ -262,7 +271,7 @@ __metadata:
dependencies:
"@msgpack/msgpack": "npm:^3.1.1"
"@trivago/prettier-plugin-sort-imports": "npm:^5.2.2"
formidable: "npm:^3.5.2"
formidable: "npm:^3.5.3"
itty-router: "npm:^5.0.18"
prettier: "npm:^3.5.3"
languageName: unknown

View File

@@ -1631,6 +1631,7 @@ bool System::command_info(const char * value, const int8_t id, JsonObject output
node["server"] = settings.server;
node["tzLabel"] = settings.tzLabel;
});
node["timestamp"] = time(nullptr);
#endif
// MQTT Status