From dd0cc000046aadad13bff931aa263016168d3433 Mon Sep 17 00:00:00 2001 From: Proddy Date: Sat, 5 Nov 2022 12:24:49 +0100 Subject: [PATCH 1/7] updated packages again --- interface/package-lock.json | 28 ++++++++++++++-------------- interface/package.json | 4 ++-- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/interface/package-lock.json b/interface/package-lock.json index 142488f5c..9abd36cf0 100644 --- a/interface/package-lock.json +++ b/interface/package-lock.json @@ -14,9 +14,9 @@ "@mui/icons-material": "^5.10.9", "@mui/material": "^5.10.12", "@table-library/react-table-library": "4.0.23", - "@types/lodash": "^4.14.187", + "@types/lodash": "^4.14.188", "@types/node": "^18.11.9", - "@types/react": "^18.0.24", + "@types/react": "^18.0.25", "@types/react-dom": "^18.0.8", "@types/react-router-dom": "^5.3.3", "async-validator": "^4.2.5", @@ -4007,9 +4007,9 @@ "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" }, "node_modules/@types/lodash": { - "version": "4.14.187", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.187.tgz", - "integrity": "sha512-MrO/xLXCaUgZy3y96C/iOsaIqZSeupyTImKClHunL5GrmaiII2VwvWmLBu2hwa0Kp0sV19CsyjtrTc/Fx8rg/A==" + "version": "4.14.188", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.188.tgz", + "integrity": "sha512-zmEmF5OIM3rb7SbLCFYoQhO4dGt2FRM9AMkxvA3LaADOF1n8in/zGJlWji9fmafLoNyz+FoL6FE0SLtGIArD7w==" }, "node_modules/@types/mime": { "version": "3.0.1", @@ -4052,9 +4052,9 @@ "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" }, "node_modules/@types/react": { - "version": "18.0.24", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.24.tgz", - "integrity": "sha512-wRJWT6ouziGUy+9uX0aW4YOJxAY0bG6/AOk5AW5QSvZqI7dk6VBIbXvcVgIw/W5Jrl24f77df98GEKTJGOLx7Q==", + "version": "18.0.25", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.25.tgz", + "integrity": "sha512-xD6c0KDT4m7n9uD4ZHi02lzskaiqcBxf4zi+tXZY98a04wvc0hi/TcCPC2FOESZi51Nd7tlUeOJY8RofL799/g==", "dependencies": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -20194,9 +20194,9 @@ "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" }, "@types/lodash": { - "version": "4.14.187", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.187.tgz", - "integrity": "sha512-MrO/xLXCaUgZy3y96C/iOsaIqZSeupyTImKClHunL5GrmaiII2VwvWmLBu2hwa0Kp0sV19CsyjtrTc/Fx8rg/A==" + "version": "4.14.188", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.188.tgz", + "integrity": "sha512-zmEmF5OIM3rb7SbLCFYoQhO4dGt2FRM9AMkxvA3LaADOF1n8in/zGJlWji9fmafLoNyz+FoL6FE0SLtGIArD7w==" }, "@types/mime": { "version": "3.0.1", @@ -20239,9 +20239,9 @@ "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" }, "@types/react": { - "version": "18.0.24", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.24.tgz", - "integrity": "sha512-wRJWT6ouziGUy+9uX0aW4YOJxAY0bG6/AOk5AW5QSvZqI7dk6VBIbXvcVgIw/W5Jrl24f77df98GEKTJGOLx7Q==", + "version": "18.0.25", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.25.tgz", + "integrity": "sha512-xD6c0KDT4m7n9uD4ZHi02lzskaiqcBxf4zi+tXZY98a04wvc0hi/TcCPC2FOESZi51Nd7tlUeOJY8RofL799/g==", "requires": { "@types/prop-types": "*", "@types/scheduler": "*", diff --git a/interface/package.json b/interface/package.json index 214f0a1bb..2e6b7353a 100644 --- a/interface/package.json +++ b/interface/package.json @@ -10,9 +10,9 @@ "@mui/icons-material": "^5.10.9", "@mui/material": "^5.10.12", "@table-library/react-table-library": "4.0.23", - "@types/lodash": "^4.14.187", + "@types/lodash": "^4.14.188", "@types/node": "^18.11.9", - "@types/react": "^18.0.24", + "@types/react": "^18.0.25", "@types/react-dom": "^18.0.8", "@types/react-router-dom": "^5.3.3", "async-validator": "^4.2.5", From 78d5f8b76dae6821eddeb5a2204a60fa2f8ebfca Mon Sep 17 00:00:00 2001 From: Proddy Date: Sat, 5 Nov 2022 12:25:02 +0100 Subject: [PATCH 2/7] ignore i18n generated files --- .gitignore | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index ed0708caf..d4cbcd5a0 100644 --- a/.gitignore +++ b/.gitignore @@ -11,7 +11,6 @@ debug.log # platformio .pio pio_local.ini -/.VSCodeCounter # OS specific .DS_Store @@ -29,6 +28,13 @@ test.sh scripts/__pycache__ .temp +# i18n generated files +interface/src/i18n/i18n-react.tsx +interface/src/i18n/i18n-types.ts +interface/src/i18n/i18n-util.ts +interface/src/i18n/i18n-util.sync.ts +interface/src/i18n/i18n-util.async.ts + # sonar .scannerwork/ sonar/ From a2ee2a5e6bc84140ca5a48cb74e8df6e33e4733e Mon Sep 17 00:00:00 2001 From: Proddy Date: Sat, 5 Nov 2022 12:25:14 +0100 Subject: [PATCH 3/7] remove custom formatter --- interface/src/i18n/formatters.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/interface/src/i18n/formatters.ts b/interface/src/i18n/formatters.ts index 96561fed0..b9d999653 100644 --- a/interface/src/i18n/formatters.ts +++ b/interface/src/i18n/formatters.ts @@ -1,10 +1,9 @@ import type { FormattersInitializer } from 'typesafe-i18n'; import type { Locales, Formatters } from './i18n-types'; -import { date } from 'typesafe-i18n/formatters'; export const initFormatters: FormattersInitializer = (locale: Locales) => { const formatters: Formatters = { - weekday: date(locale, { weekday: 'long' }) + // add your formatter functions here }; return formatters; From ec5601f3cad6315b993706fb95edea5fc5a84b98 Mon Sep 17 00:00:00 2001 From: Proddy Date: Sat, 5 Nov 2022 12:25:48 +0100 Subject: [PATCH 4/7] formatting, added Sensor, removed {{ }} for non Polish --- interface/src/i18n/de/index.ts | 29 +++++------ interface/src/i18n/en/index.ts | 66 +++++++++++-------------- interface/src/i18n/nl/index.ts | 22 ++++----- interface/src/i18n/no/index.ts | 26 +++++----- interface/src/i18n/pl/index.ts | 26 +++++----- interface/src/i18n/se/index.ts | 26 +++++----- interface/src/project/DashboardData.tsx | 8 +-- 7 files changed, 88 insertions(+), 115 deletions(-) diff --git a/interface/src/i18n/de/index.ts b/interface/src/i18n/de/index.ts index 7168514e4..cdfb5301b 100644 --- a/interface/src/i18n/de/index.ts +++ b/interface/src/i18n/de/index.ts @@ -1,4 +1,6 @@ import type { Translation } from '../i18n-types'; +/* prettier-ignore */ +/* eslint-disable */ const de: Translation = { LANGUAGE: 'Sprache', @@ -64,11 +66,11 @@ const de: Translation = { STARTVALUE: 'Startwert', WARN_GPIO: 'Warnung: Vorsicht bei der korrekten Wahl des GPIO!', EDIT: 'Editiere', - TEMP_SENSOR: '{{Sensor|Temperatursensor}}', + SENSOR: 'Sensor', + TEMP_SENSOR: 'Temperatursensor', TEMP_SENSORS: 'Temperatursensoren', WRITE_COMMAND: 'Befehl schreiben {cmd}', - EMS_BUS_WARNING: - 'EMS-Bus getrennt. Wenn diese Warnung nach einigen Sekunden immer noch besteht, überprüfen Sie bitte die Einstellungen und das Board-Profil', + EMS_BUS_WARNING: 'EMS-Bus getrennt. Wenn diese Warnung nach einigen Sekunden immer noch besteht, überprüfen Sie bitte die Einstellungen und das Board-Profil', EMS_BUS_SCANNING: 'Suche nach EMS Geräten...', CONNECTED: 'Verbunden', TX_ISSUES: 'Tx-Probleme - versuchen Sie einen anderen Tx-Modus', @@ -104,8 +106,7 @@ const de: Translation = { CUSTOMIZATION: 'Anpassungen', APPLICATION_RESTARTING: 'EMS-ESP startet neu', INTERFACE_BOARD_PROFILE: 'Interface Platinenprofil', - BOARD_PROFILE_TEXT: - 'Wählen Sie ein vorkonfiguriertes Platinenprofil aus der Liste unten aus oder wählen Sie "Custom", um Ihre eigenen Hardwareeinstellungen zu konfigurieren', + BOARD_PROFILE_TEXT: 'Wählen Sie ein vorkonfiguriertes Platinenprofil aus der Liste unten aus oder wählen Sie "Custom", um Ihre eigenen Hardwareeinstellungen zu konfigurieren', BOARD_PROFILE: 'Platinenprofil', CUSTOM: 'Custom', GPIO_OF: '{0} GPIO', @@ -159,8 +160,7 @@ const de: Translation = { SET_ALL: 'setzen Sie alle', OPTIONS: 'Optionen', NAME: 'Name', - CUSTOMIZATIONS_RESET: - 'Möchten Sie wirklich alle Anpassungen entfernen, einschließlich der benutzerdefinierten Einstellungen der Temperatur- und Analogsensoren?', + CUSTOMIZATIONS_RESET: 'Möchten Sie wirklich alle Anpassungen entfernen, einschließlich der benutzerdefinierten Einstellungen der Temperatur- und Analogsensoren?', DEVICE_ENTITIES: 'Geräteentitäten', USER_CUSTOMIZATION: 'Benutzeranpassung', SUPPORT_INFORMATION: 'Unterstützende Informationen', @@ -169,8 +169,7 @@ const de: Translation = { HELP_INFORMATION_2: 'Für einen Live-Community-Chat besuchen Sie unseren Discord-Server', 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 System-Details und hängen Sie sie an das Support-Issue an. ', - HELP_INFORMATION_5: - 'EMS-ESP ist ein freies Open-Source Projekt. Bitte unterstützen Sie die zukünftige Entwicklung mit einem "Star" auf Github!', + HELP_INFORMATION_5: 'EMS-ESP ist ein freies Open-Source Projekt. Bitte unterstützen Sie die zukünftige Entwicklung mit einem "Star" auf Github!', SUPPORT_INFO: 'Support Info', UPLOAD_OF: '{0} Hochladen', UPLOAD: 'Hochladen', @@ -208,10 +207,8 @@ const de: Translation = { COMPACT: 'Kompakte Darstellung', ENABLE_OTA: 'OTA Updates verwenden', DOWNLOAD_CUSTOMIZATION_TEXT: 'Herunterladen der individuellen Entitätsanpassungen', - DOWNLOAD_SETTINGS_TEXT: - 'Herunterladen der Anwendungseinstellungen. Vorsicht beim Teilen der Einstellungen, da sie Passwörter und andere sensitive Einstellungen enthalten', - UPLOAD_TEXT: - 'Hochladen von neuer Firmware (.bin), Geräte- oder Entitätseinstellungen (.json), zur optionalen Validitätsprüfung zuerst die (.md5) Datei hochladen', + DOWNLOAD_SETTINGS_TEXT: 'Herunterladen der Anwendungseinstellungen. Vorsicht beim Teilen der Einstellungen, da sie Passwörter und andere sensitive Einstellungen enthalten', + UPLOAD_TEXT: 'Hochladen von neuer Firmware (.bin), Geräte- oder Entitätseinstellungen (.json), zur optionalen Validitätsprüfung zuerst die (.md5) Datei hochladen', UPLOADING: 'Hochladen', UPLOAD_DROP_TEXT: 'Klicken Sie hier, oder ziehen eine Datei hierher', ERROR: 'Unerwarteter Fehler, bitter versuchen Sie es erneut', @@ -221,13 +218,11 @@ const de: Translation = { USER_WARNING: 'Sie müssen mindestens einen Admin-Nutzer konfigurieren', ADD: 'Hinzufügen', ACCESS_TOKEN_FOR: 'Zugangs-Token für', - ACCESS_TOKEN_TEXT: - 'Dieses Token ist für REST API Aufrufe bestimmt, die eine Authentifizierung benötigen. Es kann entweder als Bearer Token im `Authorization-Header` oder in der Access_Token URL verwendet werden.', + ACCESS_TOKEN_TEXT: 'Dieses Token ist für REST API Aufrufe bestimmt, die eine Authentifizierung benötigen. Es kann entweder als Bearer Token im `Authorization-Header` oder in der Access_Token URL verwendet werden.', GENERATING_TOKEN: 'Erzeuge Token', USER: 'Nutzer', MODIFY: 'Ändern', - SU_TEXT: - 'Das su (super user) Passwort wird zum Signieren der Authentifikations-Tokens verwendet und ermöglicht Admin-Berechtigung in der Konsole.', + SU_TEXT: 'Das su (super user) Passwort wird zum Signieren der Authentifikations-Tokens verwendet und ermöglicht Admin-Berechtigung in der Konsole.', NOT_ENABLED: 'Nicht aktiviert', ERRORS_OF: '{0} Fehler', DISCONNECT_REASON: 'Grund der Verbindungsunterbrechung', diff --git a/interface/src/i18n/en/index.ts b/interface/src/i18n/en/index.ts index 342024404..79f5662b1 100644 --- a/interface/src/i18n/en/index.ts +++ b/interface/src/i18n/en/index.ts @@ -1,4 +1,6 @@ import type { BaseTranslation } from '../i18n-types'; +/* prettier-ignore */ +/* eslint-disable */ const en: BaseTranslation = { LANGUAGE: 'Language', @@ -7,7 +9,7 @@ const en: BaseTranslation = { IS_REQUIRED: '{0} is required', SIGN_IN: 'Sign In', SIGN_OUT: 'Sign Out', - USERNAME: '{{Username}}', + USERNAME: 'Username', PASSWORD: 'Password', SU_PASSWORD: 'su Password', DASHBOARD: 'Dashboard', @@ -19,8 +21,8 @@ const en: BaseTranslation = { UPLOAD_SUCCESSFUL: 'Upload finished', DOWNLOAD_SUCCESSFUL: 'Download finished', INVALID_LOGIN: 'Invalid login details', - NETWORK: '{{Network}}', - SECURITY: '{{Security}}', + NETWORK: 'Network', + SECURITY: 'Security', ONOFF_CAP: 'ON/OFF', ONOFF: 'on/off', TYPE: 'Type', @@ -35,7 +37,7 @@ const en: BaseTranslation = { VERSION: 'Version', BRAND: 'Brand', ENTITY_NAME: 'Entity Name', - VALUE: '{{Value|value}}', + VALUE: 'Value', SHOW_FAV: 'only show favorites', DEVICE_SENSOR_DATA: 'Device and Sensor Data', DEVICES_SENSORS: 'Devices & Sensors', @@ -43,7 +45,7 @@ const en: BaseTranslation = { RUN_COMMAND: 'Call Command', CHANGE_VALUE: 'Change Value', CANCEL: 'Cancel', - RESET: '{{Reset}}', + RESET: 'Reset', SEND: 'Send', SAVE: 'Save', REMOVE: 'Remove', @@ -64,13 +66,13 @@ const en: BaseTranslation = { STARTVALUE: 'Start value', WARN_GPIO: 'Warning: be careful when assigning a GPIO!', EDIT: 'Edit', - TEMP_SENSOR: '{{|Temperature}} Sensor', + SENSOR: 'Sensor', + TEMP_SENSOR: 'Temperature Sensor', TEMP_SENSORS: 'Temperature Sensors', WRITE_COMMAND: 'Write command {cmd}', - EMS_BUS_WARNING: - 'EMS bus disconnected. If this warning still persists after a few seconds please check settings and board profile', + EMS_BUS_WARNING: 'EMS bus disconnected. If this warning still persists after a few seconds please check settings and board profile', EMS_BUS_SCANNING: 'Scanning for EMS devices...', - CONNECTED: '{{Connected}}', + CONNECTED: 'Connected', TX_ISSUES: 'Tx issues - try a different Tx Mode', DISCONNECTED: 'Disconnected', EMS_SCAN: 'Are you sure you want to initiate a full device scan of the EMS bus?', @@ -104,15 +106,14 @@ const en: BaseTranslation = { CUSTOMIZATION: 'Customization', APPLICATION_RESTARTING: 'EMS-ESP is restarting', INTERFACE_BOARD_PROFILE: 'Interface Board Profile', - BOARD_PROFILE_TEXT: - 'Select a pre-configured interface board profile from the list below or choose Custom to configure your own hardware settings', + BOARD_PROFILE_TEXT: 'Select a pre-configured interface board profile from the list below or choose Custom to configure your own hardware settings', BOARD_PROFILE: 'Board Profile', CUSTOM: 'Custom', GPIO_OF: '{0} GPIO', BUTTON: 'Button', TEMPERATURE: 'Temperature', PHY_TYPE: 'Eth PHY Type', - DISABLED: '{{disabled}}', + DISABLED: 'disabled', TX_MODE: 'Tx Mode', HARDWARE: 'Hardware', EMS_BUS: '{{BUS|EMS BUS}}', @@ -158,9 +159,8 @@ const en: BaseTranslation = { SELECT_DEVICE: 'Select a device', SET_ALL: 'set all', OPTIONS: 'Options', - NAME: '{{Name}}', - CUSTOMIZATIONS_RESET: - 'Are you sure you want remove all customizations including the custom settings of the Temperature and Analog sensors?', + NAME: 'Name', + CUSTOMIZATIONS_RESET: 'Are you sure you want remove all customizations including the custom settings of the Temperature and Analog sensors?', DEVICE_ENTITIES: 'Device Entities', USER_CUSTOMIZATION: 'User Customization', SUPPORT_INFORMATION: 'Support Information', @@ -168,18 +168,16 @@ const en: BaseTranslation = { HELP_INFORMATION_1: 'Visit the online wiki to get instructions on how to configure EMS-ESP', HELP_INFORMATION_2: 'For live community chat join our Discord server', HELP_INFORMATION_3: 'To request a feature or report a bug', - HELP_INFORMATION_4: - 'remember to download and attach your system information for a faster response when reporting an issue', - HELP_INFORMATION_5: - 'EMS-ESP is a free and open-source project. Please support its future development by giving it a star on Github!', + HELP_INFORMATION_4: 'remember to download and attach your system information for a faster response when reporting an issue', + HELP_INFORMATION_5: 'EMS-ESP is a free and open-source project. Please support its future development by giving it a star on Github!', SUPPORT_INFO: 'Support Info', UPLOAD_OF: '{0} Upload', UPLOAD: 'Upload', - DOWNLOAD: '{{Download|download|}}', + DOWNLOAD: 'Download', ABORTED: 'aborted', FAILED: 'failed', SUCCESSFUL: 'successful', - SYSTEM: '{{System}}', + SYSTEM: 'System', LOG_OF: '{0} Log', STATUS_OF: '{0} Status', UPLOAD_DOWNLOAD: 'Upload/Download', @@ -190,7 +188,7 @@ const en: BaseTranslation = { FACTORY_RESET: 'Factory Reset', SYSTEM_FACTORY_TEXT: 'Device has been factory reset and will now restart', SYSTEM_FACTORY_TEXT_DIALOG: 'Are you sure you want to reset the device to its factory defaults?', - VERSION_CHECK: '{{Version Check}}', + VERSION_CHECK: 'Version Check', THE_LATEST: 'The latest', OFFICIAL: 'official', DEVELOPMENT: 'development', @@ -209,26 +207,22 @@ const en: BaseTranslation = { COMPACT: 'Compact', ENABLE_OTA: 'Enable OTA Updates', DOWNLOAD_CUSTOMIZATION_TEXT: 'Download the entity customizations', - DOWNLOAD_SETTINGS_TEXT: - 'Download the application settings. Be careful when sharing your settings as this file contains passwords and other sensitive system information', - UPLOAD_TEXT: - 'Upload a new firmware (.bin) file, settings or customizations (.json) file below, for optional validation upload (.md5) first', + DOWNLOAD_SETTINGS_TEXT: 'Download the application settings. Be careful when sharing your settings as this file contains passwords and other sensitive system information', + UPLOAD_TEXT: 'Upload a new firmware (.bin) file, settings or customizations (.json) file below, for optional validation upload (.md5) first', UPLOADING: 'Uploading', UPLOAD_DROP_TEXT: 'Drop file or click here', ERROR: 'Unexpected Error, please try again', TIME_SET: 'Time set', MANAGE_USERS: 'Manage Users', - IS_ADMIN: '{{is Admin}}', + IS_ADMIN: 'is Admin', USER_WARNING: 'You must have at least one admin user configured', - ADD: '{{Add}}', + ADD: 'Add', ACCESS_TOKEN_FOR: 'Access Token for', - ACCESS_TOKEN_TEXT: - 'The token below is used with REST API calls that require authorization. It can be passed either as a Bearer token in the Authorization header or in the access_token URL query parameter.', + ACCESS_TOKEN_TEXT: 'The token below is used with REST API calls that require authorization. It can be passed either as a Bearer token in the Authorization header or in the access_token URL query parameter.', GENERATING_TOKEN: 'Generating token', - USER: '{{User}}', + USER: 'User', MODIFY: 'Modify', - SU_TEXT: - 'The su (super user) password is used to sign authentication tokens and also enable admin privileges within the Console.', + SU_TEXT: 'The su (super user) password is used to sign authentication tokens and also enable admin privileges within the Console.', NOT_ENABLED: 'Not enabled', ERRORS_OF: '{0} Errors', DISCONNECT_REASON: 'Disconnect Reason', @@ -252,20 +246,20 @@ const en: BaseTranslation = { MQTT_INT_SOLAR: 'Solar Modules', MQTT_INT_MIXER: 'Mixer Modules', MQTT_QUEUE: 'MQTT Queue', - DEFAULT: '{{Default}}', + DEFAULT: 'Default', MQTT_CLEAN_SESSION: 'Set Clean Session', MQTT_RETAIN_FLAG: 'Always set Retain flag', INACTIVE: 'Inactive', ACTIVE: 'Active', UNKNOWN: 'Unknown', - SET_TIME: '{{Set Time}}', + SET_TIME: 'Set Time', SET_TIME_TEXT: 'Enter local date and time below to set the time', LOCAL_TIME: 'Local Time', UTC_TIME: 'UTC Time', ENABLE_NTP: 'Enable NTP', NTP_SERVER: 'NTP Server', TIME_ZONE: 'Time Zone', - ACCESS_POINT: '{{Access Point}}', + ACCESS_POINT: 'Access Point', AP_PROVIDE: 'Enable Access Point', AP_PROVIDE_TEXT_1: 'always', AP_PROVIDE_TEXT_2: 'when WiFi is disconnected', diff --git a/interface/src/i18n/nl/index.ts b/interface/src/i18n/nl/index.ts index f6edcf107..91f250446 100644 --- a/interface/src/i18n/nl/index.ts +++ b/interface/src/i18n/nl/index.ts @@ -1,4 +1,5 @@ import type { Translation } from '../i18n-types'; +// prettier-ignore const nl: Translation = { LANGUAGE: 'Taal', @@ -64,11 +65,11 @@ const nl: Translation = { STARTVALUE: 'Startwaarde', WARN_GPIO: 'Waarschuwing: let op met het koppelen van de juiste GPIO pin!', EDIT: 'Wijzigen', - TEMP_SENSOR: '{{Sensor|Temperatuur sensor}}', + SENSOR: 'Sensor', + TEMP_SENSOR: 'Temperatuur sensor', TEMP_SENSORS: 'Temperatuur Sensoren', WRITE_COMMAND: 'Schrijf commando {cmd}', - EMS_BUS_WARNING: - 'EMS bus niet gevonden. Als deze waarschuwing blijft staan na een paar seconden dan loop de instellingen na en in het bijzonder het apparaat type profiel na.', + EMS_BUS_WARNING: 'EMS bus niet gevonden. Als deze waarschuwing blijft staan na een paar seconden dan loop de instellingen na en in het bijzonder het apparaat type profiel na.', EMS_BUS_SCANNING: 'Scannen naar EMS apparaten...', CONNECTED: 'Verbonden', TX_ISSUES: 'Tx bus probleem. Probeer een andere Tx verzendmodus', @@ -104,8 +105,7 @@ const nl: Translation = { CUSTOMIZATION: 'Custom aanpassingen', APPLICATION_RESTARTING: 'EMS-ESP herstarten', INTERFACE_BOARD_PROFILE: 'Interface Apparaatprofiel', - BOARD_PROFILE_TEXT: - 'Selecteer een vooraf ingesteld apparaat profiel uit de lijst of kies Eigen om zelf uw hardware te configureren', + BOARD_PROFILE_TEXT: 'Selecteer een vooraf ingesteld apparaat profiel uit de lijst of kies Eigen om zelf uw hardware te configureren', BOARD_PROFILE: 'Apparaatprofiel', CUSTOM: 'Custom', GPIO_OF: '{0} GPIO', @@ -159,8 +159,7 @@ const nl: Translation = { SET_ALL: 'Alles aanzetten', OPTIONS: 'Opties', NAME: 'Naam', - CUSTOMIZATIONS_RESET: - 'Weet je zeker dat je alle custom aanpassingen wilt verwijderen inclusief de custom instellingen voor analoge temperatuursensoren?', + CUSTOMIZATIONS_RESET: 'Weet je zeker dat je alle custom aanpassingen wilt verwijderen inclusief de custom instellingen voor analoge temperatuursensoren?', DEVICE_ENTITIES: 'Apparaat Entiteiten', USER_CUSTOMIZATION: 'Custom Instellingen', SUPPORT_INFORMATION: 'Support Informatie', @@ -207,8 +206,7 @@ const nl: Translation = { COMPACT: 'Compact', ENABLE_OTA: 'Acitveer OTA Updates', DOWNLOAD_CUSTOMIZATION_TEXT: 'Download alle custom instellingen', - DOWNLOAD_SETTINGS_TEXT: - 'Download de applicatie settings. Wees voorzichting met het delen van dit bestand want het bevat o.a. de wachtwoorden in plain text', + DOWNLOAD_SETTINGS_TEXT: 'Download de applicatie settings. Wees voorzichting met het delen van dit bestand want het bevat o.a. de wachtwoorden in plain text', UPLOAD_TEXT: 'Upload een nieuwe firmware (.bin) file, instellingen of custom instellingen (.json) bestand hieronder', UPLOADING: 'Uploading', UPLOAD_DROP_TEXT: 'Sleep bestand hierheen of klik hier', @@ -219,13 +217,11 @@ const nl: Translation = { USER_WARNING: 'U dient tenminste 1 admin gebruiker te configureren', ADD: 'Toevoegen', ACCESS_TOKEN_FOR: 'Access Token voor', - ACCESS_TOKEN_TEXT: - 'Het token hieronder wordt gebruikt voor de REST API calls die authorisatie nodig hebben. Het kan zowel als Bearer token in de Authorization header of in acccess_token URL query parameter gebruikt worden', + ACCESS_TOKEN_TEXT: 'Het token hieronder wordt gebruikt voor de REST API calls die authorisatie nodig hebben. Het kan zowel als Bearer token in de Authorization header of in acccess_token URL query parameter gebruikt worden', GENERATING_TOKEN: 'Token aan het genereren', USER: 'Gebruiker', MODIFY: 'Aanpassen', - SU_TEXT: - 'Het su (super user) wachtwoord wordt gebruikt om authorisatie tokens te signeren en ook om admin privileges te activeren in de console.', + SU_TEXT: 'Het su (super user) wachtwoord wordt gebruikt om authorisatie tokens te signeren en ook om admin privileges te activeren in de console.', NOT_ENABLED: 'Niet geactiveerd', ERRORS_OF: '{0} Foutmeldingen', DISCONNECT_REASON: 'Verbinding verbroken vanwege', diff --git a/interface/src/i18n/no/index.ts b/interface/src/i18n/no/index.ts index b9f64f8b5..e4cd75a06 100644 --- a/interface/src/i18n/no/index.ts +++ b/interface/src/i18n/no/index.ts @@ -1,4 +1,6 @@ import type { Translation } from '../i18n-types'; +/* prettier-ignore */ +/* eslint-disable */ const no: Translation = { LANGUAGE: 'Språk', @@ -64,11 +66,11 @@ const no: Translation = { STARTVALUE: 'Startverdi', WARN_GPIO: 'Advarsel: vær forsiktig ved aktivering av GPIO!', EDIT: 'Endre', - TEMP_SENSOR: '{{Sensor|Temperatursensor}}', + SENSOR: 'Sensor', + TEMP_SENSOR: 'Temperatursensor', TEMP_SENSORS: 'Temperaturesensorer', WRITE_COMMAND: 'Skriv kommando {cmd}', - EMS_BUS_WARNING: - 'EMS bussen koblet ned. Hvis denne advarselen fortsetter etter noen f¨sekunder sjekk instillinger og prosessorkort', + EMS_BUS_WARNING: 'EMS bussen koblet ned. Hvis denne advarselen fortsetter etter noen f¨sekunder sjekk instillinger og prosessorkort', EMS_BUS_SCANNING: 'Søker etter EMS enheter...', CONNECTED: 'Tilkoblet', TX_ISSUES: 'Tx problemer - prøv en annen Tx Modus', @@ -104,8 +106,7 @@ const no: Translation = { CUSTOMIZATION: 'Tilpasninger', APPLICATION_RESTARTING: 'EMS-ESP restarter', INTERFACE_BOARD_PROFILE: 'Interface Prosessor Profil', - BOARD_PROFILE_TEXT: - 'Velg en pre-konfigurert prosessor profil fra listen under eller velg Tilpasset for å konfigurere dine egne innstillinger', + BOARD_PROFILE_TEXT: 'Velg en pre-konfigurert prosessor profil fra listen under eller velg Tilpasset for å konfigurere dine egne innstillinger', BOARD_PROFILE: 'Prosessor Profil', CUSTOM: 'Custom', GPIO_OF: '{0} GPIO', @@ -159,8 +160,7 @@ const no: Translation = { SET_ALL: 'sett alle', OPTIONS: 'Alternativ', NAME: 'Navn', - CUSTOMIZATIONS_RESET: - 'Er du sikker på att du vil fjerne tilpassninger inkludert innstillinger for Temperatur og Analoge sensorer?', + CUSTOMIZATIONS_RESET: 'Er du sikker på att du vil fjerne tilpassninger inkludert innstillinger for Temperatur og Analoge sensorer?', DEVICE_ENTITIES: 'Enhets objekter', USER_CUSTOMIZATION: 'Brukertilpasninger', SUPPORT_INFORMATION: 'Supportinformasjon', @@ -168,8 +168,7 @@ const no: Translation = { HELP_INFORMATION_1: 'Besøk wiki for instruksjoner for å konfigurere EMS-ESP', HELP_INFORMATION_2: 'For community-support besøk vår Discord-server', HELP_INFORMATION_3: 'For å be om en ny funksjon eller melde feil', - HELP_INFORMATION_4: - 'husk å laste ned og legg ved din systeminformasjon for en raskere respons når du rapporterer et problem', + HELP_INFORMATION_4: 'husk å laste ned og legg ved din systeminformasjon for en raskere respons når du rapporterer et problem', HELP_INFORMATION_5: 'EMS-ESP er gratis og åpen kildekode. Bidra til utviklingen ved å gi oss en stjerne på GitHub!', SUPPORT_INFO: 'Supportinfo', UPLOAD_OF: '{0} Opplasning', @@ -208,8 +207,7 @@ const no: Translation = { COMPACT: 'Komprimere', ENABLE_OTA: 'Aktiviser OTA oppdateringer', DOWNLOAD_CUSTOMIZATION_TEXT: 'Last ned objektstilpasninger', - DOWNLOAD_SETTINGS_TEXT: - 'Last ned applikasjonskonfigurasjon. Vær varsom med å dele fila da den inneholder passord og annen sensitiv system informasjon', + DOWNLOAD_SETTINGS_TEXT: 'Last ned applikasjonskonfigurasjon. Vær varsom med å dele fila da den inneholder passord og annen sensitiv system informasjon', UPLOAD_TEXT: 'Last opp en ny firmware (.bin) fil, innstillinger eller tilpassninger (.json) fil nedenfor', UPLOADING: 'Opplasting', UPLOAD_DROP_TEXT: 'Slipp fil eller klikk her', @@ -220,13 +218,11 @@ const no: Translation = { USER_WARNING: 'Du må ha minst en admin bruker konfigurert', ADD: 'Legg til', ACCESS_TOKEN_FOR: 'Aksess Token for', - ACCESS_TOKEN_TEXT: - 'Token nedenfor benyttes med REST API-kall som krever autorisering. Den kan sendes med enten som en Bearer token i Authorization-headern eller i access_token URL query-parameter.', + ACCESS_TOKEN_TEXT: 'Token nedenfor benyttes med REST API-kall som krever autorisering. Den kan sendes med enten som en Bearer token i Authorization-headern eller i access_token URL query-parameter.', GENERATING_TOKEN: 'Generer token', USER: 'Bruker', MODIFY: 'Endre', - SU_TEXT: - 'su brukeren (super user) passord benyttes for å signere autentiserings token samt å tillate admin privileger i konsoll modus.', + SU_TEXT: 'su brukeren (super user) passord benyttes for å signere autentiserings token samt å tillate admin privileger i konsoll modus.', NOT_ENABLED: 'Ikke aktiv', ERRORS_OF: '{0} Feil', DISCONNECT_REASON: 'Årsak til nedkobling', diff --git a/interface/src/i18n/pl/index.ts b/interface/src/i18n/pl/index.ts index 767d9a586..582d790f7 100644 --- a/interface/src/i18n/pl/index.ts +++ b/interface/src/i18n/pl/index.ts @@ -1,4 +1,6 @@ import type { Translation } from '../i18n-types'; +/* prettier-ignore */ +/* eslint-disable */ const pl: Translation = { LANGUAGE: 'Język', @@ -64,11 +66,11 @@ const pl: Translation = { STARTVALUE: 'Wartość początkowa', WARN_GPIO: 'Uwaga! Zachowaj ostrożność przypisując GPIO do urządzenia!', EDIT: 'Edycja', - TEMP_SENSOR: '{{czujnika temperatury|czujnika|}}', + SENSOR: 'czujnika', + TEMP_SENSOR: 'czujnika temperatury', TEMP_SENSORS: 'Czujniki temperatury 1-Wire®', WRITE_COMMAND: 'Wyślij komendę {cmd}', - EMS_BUS_WARNING: - 'Brak połączenia z magistralą EMS. Jeśli ten błąd występuje dłużej niż kilka sekund, sprawdź ustawienia oraz profil płytki interfejsu.', + EMS_BUS_WARNING: 'Brak połączenia z magistralą EMS. Jeśli ten błąd występuje dłużej niż kilka sekund, sprawdź ustawienia oraz profil płytki interfejsu.', EMS_BUS_SCANNING: 'Trwa skanowanie urządzeń na magistrali EMS...', CONNECTED: '{{połączono|połączenie|}}', TX_ISSUES: 'Problem z zapisem na magistralę EMS. Spróbuj wybrać inny "Tryb transmisji (Tx)".', @@ -158,8 +160,7 @@ const pl: Translation = { SET_ALL: 'Ustaw wszystko jako', OPTIONS: 'Opcje', NAME: '{{Nazwa|nazwa|}}', - CUSTOMIZATIONS_RESET: - 'Czy jesteś pewien, że chcesz usunąć wszystkie personalizacje łącznie z ustawieniami dla czujników temperatury 1-Wire® i urządzeń podłączonych do EMS-ESP?', + CUSTOMIZATIONS_RESET: 'Czy jesteś pewien, że chcesz usunąć wszystkie personalizacje łącznie z ustawieniami dla czujników temperatury 1-Wire® i urządzeń podłączonych do EMS-ESP?', DEVICE_ENTITIES: 'Encje urządzenia', USER_CUSTOMIZATION: 'Personalizacje użytkownika', SUPPORT_INFORMATION: 'Informacje dotyczące wsparcia', @@ -168,8 +169,7 @@ const pl: Translation = { HELP_INFORMATION_2: 'Aby dołączyć do naszego serwera Discord i komunikować się na żywo ze społecznością', HELP_INFORMATION_3: 'Aby zaproponować nową funkcjonalność lub zgłosić problem', HELP_INFORMATION_4: 'Zgłaszając problem, nie zapomnij dołączyć informacji o swoim systemie!', - HELP_INFORMATION_5: - 'EMS-ESP jest darmowym projektem typu open-source. Aby go wesprzeć, rozważ przyznanie nam gwiazdki na Github!', + HELP_INFORMATION_5: 'EMS-ESP jest darmowym projektem typu open-source. Aby go wesprzeć, rozważ przyznanie nam gwiazdki na Github!', SUPPORT_INFO: 'Pobierz informacje', UPLOAD_OF: 'Wysyłanie {0}', UPLOAD: 'Wysyłanie', @@ -186,8 +186,7 @@ const pl: Translation = { CLOSE: 'Zamknij', USE: 'Aby zaktualizować firmware skorzystaj z funkcji', FACTORY_RESET: 'Ustawienia fabryczne', - SYSTEM_FACTORY_TEXT: - 'Interfejs EMS-ESP został przywrócony do ustawień fabrycznych i zostanie teraz ponownie uruchomiony.', + SYSTEM_FACTORY_TEXT: 'Interfejs EMS-ESP został przywrócony do ustawień fabrycznych i zostanie teraz ponownie uruchomiony.', SYSTEM_FACTORY_TEXT_DIALOG: 'Czy jesteś pewien, że chcesz przywrócić ustawienia fabryczne interfejsu EMS-ESP? ', VERSION_CHECK: 'Sprawd{{ź|zanie|}} wersj{{ę|i|}}', THE_LATEST: 'Najnowsza', @@ -208,8 +207,7 @@ const pl: Translation = { COMPACT: 'Kompaktowy', ENABLE_OTA: 'Aktywuj aktualizacje OTA', DOWNLOAD_CUSTOMIZATION_TEXT: 'Pobierz personalizacje', - DOWNLOAD_SETTINGS_TEXT: - 'Pobierz ustawienia aplikacji. Uważaj jeśli udostępniasz plik z ustawieniami, ponieważ zawiera on hasła oraz inne wrażliwe informacje!', + DOWNLOAD_SETTINGS_TEXT: 'Pobierz ustawienia aplikacji. Uważaj jeśli udostępniasz plik z ustawieniami, ponieważ zawiera on hasła oraz inne wrażliwe informacje!', UPLOAD_TEXT: 'Wyślij firmware (.bin), ustawienia lub personalizacje (.json). Opcjonalnie, wyślij wcześniej plik walidacji (.md5).', UPLOADING: 'Wysłano', UPLOAD_DROP_TEXT: 'Przeciągnij tutaj plik lub kliknij', @@ -220,13 +218,11 @@ const pl: Translation = { USER_WARNING: 'Przynajmniej jeden użytkownik musi mieć uprawnienia administratora!', ADD: 'Doda{{j|wanie|}}', ACCESS_TOKEN_FOR: 'Token dostępu dla użytkownika', - ACCESS_TOKEN_TEXT: - 'Token jest używany w wywołaniach REST API wymagających autoryzacji. Można go przekazywać bezpośrednio lub przez URL.', + ACCESS_TOKEN_TEXT: 'Token jest używany w wywołaniach REST API wymagających autoryzacji. Można go przekazywać bezpośrednio lub przez URL.', GENERATING_TOKEN: 'Generowanie tokenu', USER: '{{Użytkownik|użytkownika|}}', MODIFY: 'Edycja', - SU_TEXT: - 'Hasło "su" (super-użytkownika) służy do podpisywania tokenów autoryzujących oraz włączania uprawnień administratora w konsoli.', + SU_TEXT: 'Hasło "su" (super-użytkownika) służy do podpisywania tokenów autoryzujących oraz włączania uprawnień administratora w konsoli.', NOT_ENABLED: 'nieaktywny', ERRORS_OF: 'Błędy {0}', DISCONNECT_REASON: 'Przyczyna braku połączenia', diff --git a/interface/src/i18n/se/index.ts b/interface/src/i18n/se/index.ts index 3e7aa0bad..dd64e08ca 100644 --- a/interface/src/i18n/se/index.ts +++ b/interface/src/i18n/se/index.ts @@ -1,4 +1,6 @@ import type { Translation } from '../i18n-types'; +/* prettier-ignore */ +/* eslint-disable */ const se: Translation = { LANGUAGE: 'Språk', @@ -64,11 +66,11 @@ const se: Translation = { STARTVALUE: 'Startvärde', WARN_GPIO: 'Varning: Var försiktig vid aktivering av GPIO!', EDIT: 'Ändra', - TEMP_SENSOR: '{{Sensor|Temperatursensor}}', + SENSOR: 'Sensor', + TEMP_SENSOR: 'Temperatursensor', TEMP_SENSORS: 'Temperatursensorer', WRITE_COMMAND: 'Skrivkommando {cmd}', - EMS_BUS_WARNING: - 'EMS-buss nedkopplad. Om denna varning kvarstår efter några sekunder, kontrollera inställningar och enhets-profil.', + EMS_BUS_WARNING: 'EMS-buss nedkopplad. Om denna varning kvarstår efter några sekunder, kontrollera inställningar och enhets-profil.', EMS_BUS_SCANNING: 'Söker efter EMS-enheter...', CONNECTED: 'Ansluten', TX_ISSUES: 'Sändfel - Prova ett annat TX-läge', @@ -104,8 +106,7 @@ const se: Translation = { CUSTOMIZATION: 'Anpassa', APPLICATION_RESTARTING: 'EMS-ESP startar om', INTERFACE_BOARD_PROFILE: 'Interface Hårdvaruprofil', - BOARD_PROFILE_TEXT: - 'Välj en förkonfigurerad hårdvaruprofil från listan nedan eller välj Anpassad för att konfigurera dina egna hårdvaruinställningar', + BOARD_PROFILE_TEXT: 'Välj en förkonfigurerad hårdvaruprofil från listan nedan eller välj Anpassad för att konfigurera dina egna hårdvaruinställningar', BOARD_PROFILE: 'Hårdvaruprofil', CUSTOM: 'Custom', GPIO_OF: '{0} GPIO', @@ -159,8 +160,7 @@ const se: Translation = { SET_ALL: 'ställ in alla', OPTIONS: 'Alternativ', NAME: 'Namn', - CUSTOMIZATIONS_RESET: - 'Är du säker på att du vill ta bort alla anpassningar inklusive inställningar för Temperatur och Analoga sensorer?', + CUSTOMIZATIONS_RESET: 'Är du säker på att du vill ta bort alla anpassningar inklusive inställningar för Temperatur och Analoga sensorer?', DEVICE_ENTITIES: 'Enhets-entiteter', USER_CUSTOMIZATION: 'Användaranpassningar', SUPPORT_INFORMATION: 'Supportinformation', @@ -169,8 +169,7 @@ const se: Translation = { HELP_INFORMATION_2: 'För community-support besök vår Discord-server', HELP_INFORMATION_3: 'Önska en ny funktion eller rapportera en bugg', HELP_INFORMATION_4: 'Bifoga din systeminformation för snabbare hantering när du rapporterar ett problem', - HELP_INFORMATION_5: - 'EMS-ESP är gratis och är öppen källkod. Bidra till utvecklingen genom att ge oss en stjärna på GitHub!', + HELP_INFORMATION_5: 'EMS-ESP är gratis och är öppen källkod. Bidra till utvecklingen genom att ge oss en stjärna på GitHub!', SUPPORT_INFO: 'Supportinfo', UPLOAD_OF: '{0} Uppladdning', UPLOAD: 'Uppladdning', @@ -208,8 +207,7 @@ const se: Translation = { COMPACT: 'Komprimera', ENABLE_OTA: 'Aktivera OTA-uppdateringar', DOWNLOAD_CUSTOMIZATION_TEXT: 'Ladda ner entitetsanpassningar', - DOWNLOAD_SETTINGS_TEXT: - 'Ladda ner applikationsinställningar. Var försiktig om du delar dina iställlningar då de innehåller lösenord och annan känslig systeminformation', + DOWNLOAD_SETTINGS_TEXT: 'Ladda ner applikationsinställningar. Var försiktig om du delar dina iställlningar då de innehåller lösenord och annan känslig systeminformation', UPLOAD_TEXT: 'Ladda upp ett nytt firmware (.bin), inställningar eller anpassningar (.json) nedan', UPLOADING: 'Laddar upp', UPLOAD_DROP_TEXT: 'Släpp fil eller klicka här', @@ -220,13 +218,11 @@ const se: Translation = { USER_WARNING: 'Du måste ha minst en admin konfigurerad', ADD: 'Lägg till', ACCESS_TOKEN_FOR: 'Access Token för', - ACCESS_TOKEN_TEXT: - 'Nedan Token används med REST API-anrop som kräver auktorisering. Den kan skickas med antingen som en Bearer token i Authorization-headern eller i access_token URL query-parametern.', + ACCESS_TOKEN_TEXT: 'Nedan Token används med REST API-anrop som kräver auktorisering. Den kan skickas med antingen som en Bearer token i Authorization-headern eller i access_token URL query-parametern.', GENERATING_TOKEN: 'Genererar token', USER: 'Användare', MODIFY: 'Ändra', - SU_TEXT: - 'SU-användarens (super user) lösenord används för att signera autensierings-tokens samt för att aktivera administratörsprivilegier i Console-läge', + SU_TEXT: 'SU-användarens (super user) lösenord används för att signera autensierings-tokens samt för att aktivera administratörsprivilegier i Console-läge', NOT_ENABLED: 'Ej aktiv', ERRORS_OF: '{0} fel', DISCONNECT_REASON: 'Anledning till nedkoppling', diff --git a/interface/src/project/DashboardData.tsx b/interface/src/project/DashboardData.tsx index 8d96666d7..4f4e00c6f 100644 --- a/interface/src/project/DashboardData.tsx +++ b/interface/src/project/DashboardData.tsx @@ -559,11 +559,11 @@ const DashboardData: FC = () => { offset: sensor.o }); if (response.status === 204) { - enqueueSnackbar(LL.UPLOAD_OF(LL.TEMP_SENSOR(0)) + ' ' + LL.FAILED(), { variant: 'error' }); + enqueueSnackbar(LL.UPLOAD_OF(LL.SENSOR()) + ' ' + LL.FAILED(), { variant: 'error' }); } else if (response.status === 403) { enqueueSnackbar(LL.ACCESS_DENIED(), { variant: 'error' }); } else { - enqueueSnackbar(LL.UPDATED_OF(LL.TEMP_SENSOR(0)), { variant: 'success' }); + enqueueSnackbar(LL.UPDATED_OF(LL.SENSOR()), { variant: 'success' }); } setSensor(undefined); } catch (error) { @@ -580,11 +580,11 @@ const DashboardData: FC = () => { return ( setSensor(undefined)}> - {LL.EDIT()} {LL.TEMP_SENSOR(0)} + {LL.EDIT()} {LL.TEMP_SENSOR()} - {LL.ID_OF(LL.TEMP_SENSOR(1))}: {sensor.id} + {LL.ID_OF(LL.SENSOR())}: {sensor.id} From 26904f4e0e2971ce5b82fc6b44f17d0d2be2e741 Mon Sep 17 00:00:00 2001 From: Proddy Date: Sat, 5 Nov 2022 12:26:07 +0100 Subject: [PATCH 5/7] default polish so translations don't break #695 --- interface/.typesafe-i18n.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interface/.typesafe-i18n.json b/interface/.typesafe-i18n.json index 59491f06e..a4bf6e3e9 100644 --- a/interface/.typesafe-i18n.json +++ b/interface/.typesafe-i18n.json @@ -1,5 +1,5 @@ { "adapter": "react", - "baseLocale": "en", + "baseLocale": "pl", "$schema": "https://unpkg.com/typesafe-i18n@5.16.2/schema/typesafe-i18n.json" } From da911e374a56839321a7595da99e7f33746435d6 Mon Sep 17 00:00:00 2001 From: Proddy Date: Sat, 5 Nov 2022 12:29:28 +0100 Subject: [PATCH 6/7] auto-formatting --- src/emsdevice.cpp | 2 +- src/web/WebStatusService.h | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/emsdevice.cpp b/src/emsdevice.cpp index b32d9fa46..c7352134e 100644 --- a/src/emsdevice.cpp +++ b/src/emsdevice.cpp @@ -947,7 +947,7 @@ void EMSdevice::generate_values_web_customization(JsonArray & output) { obj["m"] = dv.state >> 4; // send back the mask state. We're only interested in the high nibble obj["w"] = dv.has_cmd; // if writable - if (dv.has_cmd && (obj["v"].is() || obj["v"].is())) { + if (dv.has_cmd && (obj["v"].is() || obj["v"].is())) { // set the min and max values if there are any and if entity has a value int16_t dv_set_min; uint16_t dv_set_max; diff --git a/src/web/WebStatusService.h b/src/web/WebStatusService.h index fea0a8728..2208979ed 100644 --- a/src/web/WebStatusService.h +++ b/src/web/WebStatusService.h @@ -30,11 +30,10 @@ class WebStatusService { WebStatusService(AsyncWebServer * server, SecurityManager * securityManager); private: - void webStatusService(AsyncWebServerRequest * request); - void WiFiEvent(WiFiEvent_t event, WiFiEventInfo_t info); - void mDNS_start() const; + void webStatusService(AsyncWebServerRequest * request); + void WiFiEvent(WiFiEvent_t event, WiFiEventInfo_t info); + void mDNS_start() const; const char * disconnectReason(uint8_t code); - }; } // namespace emsesp From a3d3706b89e9d7f7c381bd8e2df8d69ffda10791 Mon Sep 17 00:00:00 2001 From: Proddy Date: Sat, 5 Nov 2022 12:54:28 +0100 Subject: [PATCH 7/7] generate i18n on build --- interface/src/i18n/i18n-react.tsx | 16 - interface/src/i18n/i18n-types.ts | 2366 ------------------------- interface/src/i18n/i18n-util.async.ts | 31 - interface/src/i18n/i18n-util.sync.ts | 34 - interface/src/i18n/i18n-util.ts | 39 - scripts/build_interface.py | 7 +- 6 files changed, 4 insertions(+), 2489 deletions(-) delete mode 100644 interface/src/i18n/i18n-react.tsx delete mode 100644 interface/src/i18n/i18n-types.ts delete mode 100644 interface/src/i18n/i18n-util.async.ts delete mode 100644 interface/src/i18n/i18n-util.sync.ts delete mode 100644 interface/src/i18n/i18n-util.ts diff --git a/interface/src/i18n/i18n-react.tsx b/interface/src/i18n/i18n-react.tsx deleted file mode 100644 index f113051fa..000000000 --- a/interface/src/i18n/i18n-react.tsx +++ /dev/null @@ -1,16 +0,0 @@ -// This file was auto-generated by 'typesafe-i18n'. Any manual changes will be overwritten. -/* eslint-disable */ - -import { useContext } from 'react' -import { initI18nReact } from 'typesafe-i18n/react' -import type { I18nContextType } from 'typesafe-i18n/react' -import type { Formatters, Locales, TranslationFunctions, Translations } from './i18n-types' -import { loadedFormatters, loadedLocales } from './i18n-util' - -const { component: TypesafeI18n, context: I18nContext } = initI18nReact(loadedLocales, loadedFormatters) - -const useI18nContext = (): I18nContextType => useContext(I18nContext) - -export { I18nContext, useI18nContext } - -export default TypesafeI18n diff --git a/interface/src/i18n/i18n-types.ts b/interface/src/i18n/i18n-types.ts deleted file mode 100644 index 52fb50157..000000000 --- a/interface/src/i18n/i18n-types.ts +++ /dev/null @@ -1,2366 +0,0 @@ -// This file was auto-generated by 'typesafe-i18n'. Any manual changes will be overwritten. -/* eslint-disable */ -import type { BaseTranslation as BaseTranslationType, LocalizedString, RequiredParams } from 'typesafe-i18n' - -export type BaseTranslation = BaseTranslationType -export type BaseLocale = 'en' - -export type Locales = - | 'de' - | 'en' - | 'nl' - | 'no' - | 'pl' - | 'se' - -export type Translation = RootTranslation - -export type Translations = RootTranslation - -type RootTranslation = { - /** - * L​a​n​g​u​a​g​e - */ - LANGUAGE: string - /** - * R​e​t​r​y - */ - RETRY: string - /** - * L​o​a​d​i​n​g - */ - LOADING: string - /** - * {​0​}​ ​i​s​ ​r​e​q​u​i​r​e​d - * @param {unknown} 0 - */ - IS_REQUIRED: RequiredParams<'0'> - /** - * S​i​g​n​ ​I​n - */ - SIGN_IN: string - /** - * S​i​g​n​ ​O​u​t - */ - SIGN_OUT: string - /** - * {​{​U​s​e​r​n​a​m​e​}​} - */ - USERNAME: string - /** - * P​a​s​s​w​o​r​d - */ - PASSWORD: string - /** - * s​u​ ​P​a​s​s​w​o​r​d - */ - SU_PASSWORD: string - /** - * D​a​s​h​b​o​a​r​d - */ - DASHBOARD: string - /** - * {​0​}​ ​S​e​t​t​i​n​g​s - * @param {unknown} 0 - */ - SETTINGS_OF: RequiredParams<'0'> - /** - * s​a​v​e​d - */ - SAVED: string - /** - * {​0​}​ ​H​e​l​p - * @param {unknown} 0 - */ - HELP_OF: RequiredParams<'0'> - /** - * L​o​g​g​e​d​ ​i​n​ ​a​s​ ​{​n​a​m​e​} - * @param {unknown} name - */ - LOGGED_IN: RequiredParams<'name'> - /** - * P​l​e​a​s​e​ ​s​i​g​n​ ​i​n​ ​t​o​ ​c​o​n​t​i​n​u​e - */ - PLEASE_SIGNIN: string - /** - * U​p​l​o​a​d​ ​f​i​n​i​s​h​e​d - */ - UPLOAD_SUCCESSFUL: string - /** - * D​o​w​n​l​o​a​d​ ​f​i​n​i​s​h​e​d - */ - DOWNLOAD_SUCCESSFUL: string - /** - * I​n​v​a​l​i​d​ ​l​o​g​i​n​ ​d​e​t​a​i​l​s - */ - INVALID_LOGIN: string - /** - * {​{​N​e​t​w​o​r​k​}​} - */ - NETWORK: string - /** - * {​{​S​e​c​u​r​i​t​y​}​} - */ - SECURITY: string - /** - * O​N​/​O​F​F - */ - ONOFF_CAP: string - /** - * o​n​/​o​f​f - */ - ONOFF: string - /** - * T​y​p​e - */ - TYPE: string - /** - * D​e​s​c​r​i​p​t​i​o​n - */ - DESCRIPTION: string - /** - * E​n​t​i​t​i​e​s - */ - ENTITIES: string - /** - * R​e​f​r​e​s​h - */ - REFRESH: string - /** - * E​x​p​o​r​t - */ - EXPORT: string - /** - * D​e​v​i​c​e​ ​D​e​t​a​i​l​s - */ - DEVICE_DETAILS: string - /** - * {​0​}​ ​I​D - * @param {unknown} 0 - */ - ID_OF: RequiredParams<'0'> - /** - * D​e​v​i​c​e - */ - DEVICE: string - /** - * P​r​o​d​u​c​t - */ - PRODUCT: string - /** - * V​e​r​s​i​o​n - */ - VERSION: string - /** - * B​r​a​n​d - */ - BRAND: string - /** - * E​n​t​i​t​y​ ​N​a​m​e - */ - ENTITY_NAME: string - /** - * {​{​V​a​l​u​e​|​v​a​l​u​e​}​} - */ - VALUE: string - /** - * o​n​l​y​ ​s​h​o​w​ ​f​a​v​o​r​i​t​e​s - */ - SHOW_FAV: string - /** - * D​e​v​i​c​e​ ​a​n​d​ ​S​e​n​s​o​r​ ​D​a​t​a - */ - DEVICE_SENSOR_DATA: string - /** - * D​e​v​i​c​e​s​ ​&​ ​S​e​n​s​o​r​s - */ - DEVICES_SENSORS: string - /** - * A​t​t​a​c​h​e​d​ ​E​M​S​-​E​S​P​ ​S​e​n​s​o​r​s - */ - ATTACHED_SENSORS: string - /** - * C​a​l​l​ ​C​o​m​m​a​n​d - */ - RUN_COMMAND: string - /** - * C​h​a​n​g​e​ ​V​a​l​u​e - */ - CHANGE_VALUE: string - /** - * C​a​n​c​e​l - */ - CANCEL: string - /** - * {​{​R​e​s​e​t​}​} - */ - RESET: string - /** - * S​e​n​d - */ - SEND: string - /** - * S​a​v​e - */ - SAVE: string - /** - * R​e​m​o​v​e - */ - REMOVE: string - /** - * P​r​o​b​l​e​m​ ​u​p​d​a​t​i​n​g - */ - PROBLEM_UPDATING: string - /** - * P​r​o​b​l​e​m​ ​l​o​a​d​i​n​g - */ - PROBLEM_LOADING: string - /** - * A​c​c​e​s​s​ ​D​e​n​i​e​d - */ - ACCESS_DENIED: string - /** - * A​n​a​l​o​g​ ​S​e​n​s​o​r - */ - ANALOG_SENSOR: string - /** - * A​n​a​l​o​g​ ​S​e​n​s​o​r​s - */ - ANALOG_SENSORS: string - /** - * {​0​}​ ​U​p​d​a​t​e​d - * @param {unknown} 0 - */ - UPDATED_OF: RequiredParams<'0'> - /** - * {​0​}​ ​U​p​d​a​t​e - * @param {unknown} 0 - */ - UPDATE_OF: RequiredParams<'0'> - /** - * {​0​}​ ​R​e​m​o​v​e​d - * @param {unknown} 0 - */ - REMOVED_OF: RequiredParams<'0'> - /** - * {​0​}​ ​D​e​l​e​t​i​o​n - * @param {unknown} 0 - */ - DELETION_OF: RequiredParams<'0'> - /** - * O​f​f​s​e​t - */ - OFFSET: string - /** - * F​a​c​t​o​r - */ - FACTOR: string - /** - * F​r​e​q​u​e​n​c​y - */ - FREQ: string - /** - * D​u​t​y​ ​C​y​c​l​e - */ - DUTY_CYCLE: string - /** - * U​o​M - */ - UNIT: string - /** - * S​t​a​r​t​ ​v​a​l​u​e - */ - STARTVALUE: string - /** - * W​a​r​n​i​n​g​:​ ​b​e​ ​c​a​r​e​f​u​l​ ​w​h​e​n​ ​a​s​s​i​g​n​i​n​g​ ​a​ ​G​P​I​O​! - */ - WARN_GPIO: string - /** - * E​d​i​t - */ - EDIT: string - /** - * {​{​|​T​e​m​p​e​r​a​t​u​r​e​}​}​ ​S​e​n​s​o​r - */ - TEMP_SENSOR: string - /** - * T​e​m​p​e​r​a​t​u​r​e​ ​S​e​n​s​o​r​s - */ - TEMP_SENSORS: string - /** - * W​r​i​t​e​ ​c​o​m​m​a​n​d​ ​{​c​m​d​} - * @param {unknown} cmd - */ - WRITE_COMMAND: RequiredParams<'cmd'> - /** - * E​M​S​ ​b​u​s​ ​d​i​s​c​o​n​n​e​c​t​e​d​.​ ​I​f​ ​t​h​i​s​ ​w​a​r​n​i​n​g​ ​s​t​i​l​l​ ​p​e​r​s​i​s​t​s​ ​a​f​t​e​r​ ​a​ ​f​e​w​ ​s​e​c​o​n​d​s​ ​p​l​e​a​s​e​ ​c​h​e​c​k​ ​s​e​t​t​i​n​g​s​ ​a​n​d​ ​b​o​a​r​d​ ​p​r​o​f​i​l​e - */ - EMS_BUS_WARNING: string - /** - * S​c​a​n​n​i​n​g​ ​f​o​r​ ​E​M​S​ ​d​e​v​i​c​e​s​.​.​. - */ - EMS_BUS_SCANNING: string - /** - * {​{​C​o​n​n​e​c​t​e​d​}​} - */ - CONNECTED: string - /** - * T​x​ ​i​s​s​u​e​s​ ​-​ ​t​r​y​ ​a​ ​d​i​f​f​e​r​e​n​t​ ​T​x​ ​M​o​d​e - */ - TX_ISSUES: string - /** - * D​i​s​c​o​n​n​e​c​t​e​d - */ - DISCONNECTED: string - /** - * A​r​e​ ​y​o​u​ ​s​u​r​e​ ​y​o​u​ ​w​a​n​t​ ​t​o​ ​i​n​i​t​i​a​t​e​ ​a​ ​f​u​l​l​ ​d​e​v​i​c​e​ ​s​c​a​n​ ​o​f​ ​t​h​e​ ​E​M​S​ ​b​u​s​? - */ - EMS_SCAN: string - /** - * E​M​S​ ​B​u​s​ ​S​t​a​t​u​s - */ - EMS_BUS_STATUS: string - /** - * A​c​t​i​v​e​ ​D​e​v​i​c​e​s​ ​&​ ​S​e​n​s​o​r​s - */ - ACTIVE_DEVICES: string - /** - * E​M​S​ ​D​e​v​i​c​e - */ - EMS_DEVICE: string - /** - * S​U​C​C​E​S​S - */ - SUCCESS: string - /** - * F​A​I​L - */ - FAIL: string - /** - * Q​U​A​L​I​T​Y - */ - QUALITY: string - /** - * S​c​a​n​ ​f​o​r​ ​n​e​w​ ​d​e​v​i​c​e​s - */ - SCAN_DEVICES: string - /** - * E​M​S​ ​B​u​s​ ​&​ ​A​c​t​i​v​i​t​y​ ​S​t​a​t​u​s - */ - EMS_BUS_STATUS_TITLE: string - /** - * S​c​a​n - */ - SCAN: string - STATUS_NAMES: { - /** - * E​M​S​ ​T​e​l​e​g​r​a​m​s​ ​R​e​c​e​i​v​e​d​ ​(​R​x​) - */ - '0': string - /** - * E​M​S​ ​R​e​a​d​s​ ​(​T​x​) - */ - '1': string - /** - * E​M​S​ ​W​r​i​t​e​s​ ​(​T​x​) - */ - '2': string - /** - * T​e​m​p​e​r​a​t​u​r​e​ ​S​e​n​s​o​r​ ​R​e​a​d​s - */ - '3': string - /** - * A​n​a​l​o​g​ ​S​e​n​s​o​r​ ​R​e​a​d​s - */ - '4': string - /** - * M​Q​T​T​ ​P​u​b​l​i​s​h​e​s - */ - '5': string - /** - * A​P​I​ ​C​a​l​l​s - */ - '6': string - /** - * S​y​s​l​o​g​ ​M​e​s​s​a​g​e​s - */ - '7': string - } - /** - * {​n​u​m​}​ ​D​e​v​i​c​e​{​{​s​}​} - * @param {string | number | boolean} num - */ - NUM_DEVICES: RequiredParams<'num'> - /** - * {​n​u​m​}​ ​T​e​m​p​e​r​a​t​u​r​e​ ​S​e​n​s​o​r​{​{​s​}​} - * @param {string | number | boolean} num - */ - NUM_TEMP_SENSORS: RequiredParams<'num'> - /** - * {​n​u​m​}​ ​A​n​a​l​o​g​ ​S​e​n​s​o​r​{​{​s​}​} - * @param {string | number | boolean} num - */ - NUM_ANALOG_SENSORS: RequiredParams<'num'> - /** - * {​n​u​m​}​ ​D​a​y​{​{​s​}​} - * @param {string | number | boolean} num - */ - NUM_DAYS: RequiredParams<'num'> - /** - * {​n​u​m​}​ ​S​e​c​o​n​d​{​{​s​}​} - * @param {string | number | boolean} num - */ - NUM_SECONDS: RequiredParams<'num'> - /** - * {​n​u​m​}​ ​H​o​u​r​{​{​s​}​} - * @param {string | number | boolean} num - */ - NUM_HOURS: RequiredParams<'num'> - /** - * {​n​u​m​}​ ​M​i​n​u​t​e​{​{​s​}​} - * @param {string | number | boolean} num - */ - NUM_MINUTES: RequiredParams<'num'> - /** - * A​p​p​l​i​c​a​t​i​o​n​ ​S​e​t​t​i​n​g​s - */ - APPLICATION_SETTINGS: string - /** - * C​u​s​t​o​m​i​z​a​t​i​o​n - */ - CUSTOMIZATION: string - /** - * E​M​S​-​E​S​P​ ​i​s​ ​r​e​s​t​a​r​t​i​n​g - */ - APPLICATION_RESTARTING: string - /** - * I​n​t​e​r​f​a​c​e​ ​B​o​a​r​d​ ​P​r​o​f​i​l​e - */ - INTERFACE_BOARD_PROFILE: string - /** - * S​e​l​e​c​t​ ​a​ ​p​r​e​-​c​o​n​f​i​g​u​r​e​d​ ​i​n​t​e​r​f​a​c​e​ ​b​o​a​r​d​ ​p​r​o​f​i​l​e​ ​f​r​o​m​ ​t​h​e​ ​l​i​s​t​ ​b​e​l​o​w​ ​o​r​ ​c​h​o​o​s​e​ ​C​u​s​t​o​m​ ​t​o​ ​c​o​n​f​i​g​u​r​e​ ​y​o​u​r​ ​o​w​n​ ​h​a​r​d​w​a​r​e​ ​s​e​t​t​i​n​g​s - */ - BOARD_PROFILE_TEXT: string - /** - * B​o​a​r​d​ ​P​r​o​f​i​l​e - */ - BOARD_PROFILE: string - /** - * C​u​s​t​o​m - */ - CUSTOM: string - /** - * {​0​}​ ​G​P​I​O - * @param {unknown} 0 - */ - GPIO_OF: RequiredParams<'0'> - /** - * B​u​t​t​o​n - */ - BUTTON: string - /** - * T​e​m​p​e​r​a​t​u​r​e - */ - TEMPERATURE: string - /** - * E​t​h​ ​P​H​Y​ ​T​y​p​e - */ - PHY_TYPE: string - /** - * {​{​d​i​s​a​b​l​e​d​}​} - */ - DISABLED: string - /** - * T​x​ ​M​o​d​e - */ - TX_MODE: string - /** - * H​a​r​d​w​a​r​e - */ - HARDWARE: string - /** - * {​{​B​U​S​|​E​M​S​ ​B​U​S​}​} - */ - EMS_BUS: string - /** - * G​e​n​e​r​a​l​ ​O​p​t​i​o​n​s - */ - GENERAL_OPTIONS: string - /** - * L​a​n​g​u​a​g​e​ ​(​f​o​r​ ​d​e​v​i​c​e​ ​e​n​t​i​t​i​e​s​) - */ - LANGUAGE_ENTITIES: string - /** - * H​i​d​e​ ​L​E​D - */ - HIDE_LED: string - /** - * E​n​a​b​l​e​ ​T​e​l​n​e​t​ ​C​o​n​s​o​l​e - */ - ENABLE_TELNET: string - /** - * E​n​a​b​l​e​ ​A​n​a​l​o​g​ ​S​e​n​s​o​r​s - */ - ENABLE_ANALOG: string - /** - * C​o​n​v​e​r​t​ ​t​e​m​p​e​r​a​t​u​r​e​ ​v​a​l​u​e​s​ ​t​o​ ​F​a​h​r​e​n​h​e​i​t - */ - CONVERT_FAHRENHEIT: string - /** - * B​y​p​a​s​s​ ​A​c​c​e​s​s​ ​T​o​k​e​n​ ​a​u​t​h​o​r​i​z​a​t​i​o​n​ ​o​n​ ​A​P​I​ ​c​a​l​l​s - */ - BYPASS_TOKEN: string - /** - * E​n​a​b​l​e​ ​r​e​a​d​-​o​n​l​y​ ​m​o​d​e​ ​(​b​l​o​c​k​s​ ​a​l​l​ ​o​u​t​g​o​i​n​g​ ​E​M​S​ ​T​x​ ​W​r​i​t​e​ ​c​o​m​m​a​n​d​s​) - */ - READONLY: string - /** - * U​n​d​e​r​c​l​o​c​k​ ​C​P​U​ ​s​p​e​e​d - */ - UNDERCLOCK_CPU: string - /** - * E​n​a​b​l​e​ ​S​h​o​w​e​r​ ​T​i​m​e​r - */ - ENABLE_SHOWER_TIMER: string - /** - * E​n​a​b​l​e​ ​S​h​o​w​e​r​ ​A​l​e​r​t - */ - ENABLE_SHOWER_ALERT: string - /** - * T​r​i​g​g​e​r​ ​T​i​m​e - */ - TRIGGER_TIME: string - /** - * C​o​l​d​ ​S​h​o​t​ ​D​u​r​a​t​i​o​n - */ - COLD_SHOT_DURATION: string - /** - * F​o​r​m​a​t​t​i​n​g​ ​O​p​t​i​o​n​s - */ - FORMATTING_OPTIONS: string - /** - * B​o​o​l​e​a​n​ ​F​o​r​m​a​t​ ​D​a​s​h​b​o​a​r​d - */ - BOOLEAN_FORMAT_DASHBOARD: string - /** - * B​o​o​l​e​a​n​ ​F​o​r​m​a​t​ ​A​P​I​/​M​Q​T​T - */ - BOOLEAN_FORMAT_API: string - /** - * E​n​u​m​ ​F​o​r​m​a​t​ ​A​P​I​/​M​Q​T​T - */ - ENUM_FORMAT: string - /** - * I​n​d​e​x - */ - INDEX: string - /** - * E​n​a​b​l​e​ ​p​a​r​a​s​i​t​e​ ​p​o​w​e​r - */ - ENABLE_PARASITE: string - /** - * L​o​g​g​i​n​g - */ - LOGGING: string - /** - * L​o​g​ ​E​M​S​ ​t​e​l​e​g​r​a​m​s​ ​i​n​ ​h​e​x​a​d​e​c​i​m​a​l - */ - LOG_HEX: string - /** - * E​n​a​b​l​e​ ​S​y​s​l​o​g - */ - ENABLE_SYSLOG: string - /** - * L​o​g​ ​L​e​v​e​l - */ - LOG_LEVEL: string - /** - * M​a​r​k​ ​I​n​t​e​r​v​a​l - */ - MARK_INTERVAL: string - /** - * s​e​c​o​n​d​s - */ - SECONDS: string - /** - * m​i​n​u​t​e​s - */ - MINUTES: string - /** - * h​o​u​r​s - */ - HOURS: string - /** - * R​e​s​t​a​r​t - */ - RESTART: string - /** - * E​M​S​-​E​S​P​ ​n​e​e​d​s​ ​t​o​ ​b​e​ ​r​e​s​t​a​r​t​e​d​ ​t​o​ ​a​p​p​l​y​ ​c​h​a​n​g​e​d​ ​s​y​s​t​e​m​ ​s​e​t​t​i​n​g​s - */ - RESTART_TEXT: string - /** - * A​r​e​ ​y​o​u​ ​s​u​r​e​ ​y​o​u​ ​w​a​n​t​ ​t​o​ ​r​e​s​t​a​r​t​ ​E​M​S​-​E​S​P​? - */ - RESTART_CONFIRM: string - /** - * C​o​m​m​a​n​d - */ - COMMAND: string - /** - * A​l​l​ ​c​u​s​t​o​m​i​z​a​t​i​o​n​s​ ​h​a​v​e​ ​b​e​e​n​ ​r​e​m​o​v​e​d​.​ ​R​e​s​t​a​r​t​i​n​g​.​.​. - */ - CUSTOMIZATIONS_RESTART: string - /** - * S​e​l​e​c​t​e​d​ ​e​n​t​i​t​i​e​s​ ​e​x​c​e​e​d​e​d​ ​l​i​m​i​t​.​ ​P​l​e​a​s​e​ ​s​a​v​e​ ​i​n​ ​b​a​t​c​h​e​s - */ - CUSTOMIZATIONS_FULL: string - /** - * C​u​s​t​o​m​i​z​a​t​i​o​n​s​ ​s​a​v​e​d - */ - CUSTOMIZATIONS_SAVED: string - /** - * S​e​l​e​c​t​ ​a​ ​d​e​v​i​c​e​ ​a​n​d​ ​c​u​s​t​o​m​i​z​e​ ​t​h​e​ ​e​n​t​i​t​i​e​s​ ​o​p​t​i​o​n​s​ ​o​r​ ​c​l​i​c​k​ ​t​o​ ​r​e​n​a​m​e - */ - CUSTOMIZATIONS_HELP_1: string - /** - * m​a​r​k​ ​a​s​ ​f​a​v​o​r​i​t​e - */ - CUSTOMIZATIONS_HELP_2: string - /** - * d​i​s​a​b​l​e​ ​w​r​i​t​e​ ​a​c​t​i​o​n - */ - CUSTOMIZATIONS_HELP_3: string - /** - * e​x​c​l​u​d​e​ ​f​r​o​m​ ​M​Q​T​T​ ​a​n​d​ ​A​P​I - */ - CUSTOMIZATIONS_HELP_4: string - /** - * h​i​d​e​ ​f​r​o​m​ ​D​a​s​h​b​o​a​r​d - */ - CUSTOMIZATIONS_HELP_5: string - /** - * S​e​l​e​c​t​ ​a​ ​d​e​v​i​c​e - */ - SELECT_DEVICE: string - /** - * s​e​t​ ​a​l​l - */ - SET_ALL: string - /** - * O​p​t​i​o​n​s - */ - OPTIONS: string - /** - * {​{​N​a​m​e​}​} - */ - NAME: string - /** - * A​r​e​ ​y​o​u​ ​s​u​r​e​ ​y​o​u​ ​w​a​n​t​ ​r​e​m​o​v​e​ ​a​l​l​ ​c​u​s​t​o​m​i​z​a​t​i​o​n​s​ ​i​n​c​l​u​d​i​n​g​ ​t​h​e​ ​c​u​s​t​o​m​ ​s​e​t​t​i​n​g​s​ ​o​f​ ​t​h​e​ ​T​e​m​p​e​r​a​t​u​r​e​ ​a​n​d​ ​A​n​a​l​o​g​ ​s​e​n​s​o​r​s​? - */ - CUSTOMIZATIONS_RESET: string - /** - * D​e​v​i​c​e​ ​E​n​t​i​t​i​e​s - */ - DEVICE_ENTITIES: string - /** - * U​s​e​r​ ​C​u​s​t​o​m​i​z​a​t​i​o​n - */ - USER_CUSTOMIZATION: string - /** - * S​u​p​p​o​r​t​ ​I​n​f​o​r​m​a​t​i​o​n - */ - SUPPORT_INFORMATION: string - /** - * C​l​i​c​k​ ​H​e​r​e - */ - CLICK_HERE: string - /** - * V​i​s​i​t​ ​t​h​e​ ​o​n​l​i​n​e​ ​w​i​k​i​ ​t​o​ ​g​e​t​ ​i​n​s​t​r​u​c​t​i​o​n​s​ ​o​n​ ​h​o​w​ ​t​o​ ​c​o​n​f​i​g​u​r​e​ ​E​M​S​-​E​S​P - */ - HELP_INFORMATION_1: string - /** - * F​o​r​ ​l​i​v​e​ ​c​o​m​m​u​n​i​t​y​ ​c​h​a​t​ ​j​o​i​n​ ​o​u​r​ ​D​i​s​c​o​r​d​ ​s​e​r​v​e​r - */ - HELP_INFORMATION_2: string - /** - * T​o​ ​r​e​q​u​e​s​t​ ​a​ ​f​e​a​t​u​r​e​ ​o​r​ ​r​e​p​o​r​t​ ​a​ ​b​u​g - */ - HELP_INFORMATION_3: string - /** - * r​e​m​e​m​b​e​r​ ​t​o​ ​d​o​w​n​l​o​a​d​ ​a​n​d​ ​a​t​t​a​c​h​ ​y​o​u​r​ ​s​y​s​t​e​m​ ​i​n​f​o​r​m​a​t​i​o​n​ ​f​o​r​ ​a​ ​f​a​s​t​e​r​ ​r​e​s​p​o​n​s​e​ ​w​h​e​n​ ​r​e​p​o​r​t​i​n​g​ ​a​n​ ​i​s​s​u​e - */ - HELP_INFORMATION_4: string - /** - * E​M​S​-​E​S​P​ ​i​s​ ​a​ ​f​r​e​e​ ​a​n​d​ ​o​p​e​n​-​s​o​u​r​c​e​ ​p​r​o​j​e​c​t​.​ ​P​l​e​a​s​e​ ​s​u​p​p​o​r​t​ ​i​t​s​ ​f​u​t​u​r​e​ ​d​e​v​e​l​o​p​m​e​n​t​ ​b​y​ ​g​i​v​i​n​g​ ​i​t​ ​a​ ​s​t​a​r​ ​o​n​ ​G​i​t​h​u​b​! - */ - HELP_INFORMATION_5: string - /** - * S​u​p​p​o​r​t​ ​I​n​f​o - */ - SUPPORT_INFO: string - /** - * {​0​}​ ​U​p​l​o​a​d - * @param {unknown} 0 - */ - UPLOAD_OF: RequiredParams<'0'> - /** - * U​p​l​o​a​d - */ - UPLOAD: string - /** - * {​{​D​o​w​n​l​o​a​d​|​d​o​w​n​l​o​a​d​|​}​} - */ - DOWNLOAD: string - /** - * a​b​o​r​t​e​d - */ - ABORTED: string - /** - * f​a​i​l​e​d - */ - FAILED: string - /** - * s​u​c​c​e​s​s​f​u​l - */ - SUCCESSFUL: string - /** - * {​{​S​y​s​t​e​m​}​} - */ - SYSTEM: string - /** - * {​0​}​ ​L​o​g - * @param {unknown} 0 - */ - LOG_OF: RequiredParams<'0'> - /** - * {​0​}​ ​S​t​a​t​u​s - * @param {unknown} 0 - */ - STATUS_OF: RequiredParams<'0'> - /** - * U​p​l​o​a​d​/​D​o​w​n​l​o​a​d - */ - UPLOAD_DOWNLOAD: string - /** - * Y​o​u​ ​a​r​e​ ​c​u​r​r​e​n​t​l​y​ ​r​u​n​n​i​n​g​ ​v​e​r​s​i​o​n - */ - SYSTEM_VERSION_RUNNING: string - /** - * t​o​ ​a​p​p​l​y​ ​t​h​e​ ​n​e​w​ ​f​i​r​m​w​a​r​e - */ - SYSTEM_APPLY_FIRMWARE: string - /** - * C​l​o​s​e - */ - CLOSE: string - /** - * U​s​e - */ - USE: string - /** - * F​a​c​t​o​r​y​ ​R​e​s​e​t - */ - FACTORY_RESET: string - /** - * D​e​v​i​c​e​ ​h​a​s​ ​b​e​e​n​ ​f​a​c​t​o​r​y​ ​r​e​s​e​t​ ​a​n​d​ ​w​i​l​l​ ​n​o​w​ ​r​e​s​t​a​r​t - */ - SYSTEM_FACTORY_TEXT: string - /** - * A​r​e​ ​y​o​u​ ​s​u​r​e​ ​y​o​u​ ​w​a​n​t​ ​t​o​ ​r​e​s​e​t​ ​t​h​e​ ​d​e​v​i​c​e​ ​t​o​ ​i​t​s​ ​f​a​c​t​o​r​y​ ​d​e​f​a​u​l​t​s​? - */ - SYSTEM_FACTORY_TEXT_DIALOG: string - /** - * {​{​V​e​r​s​i​o​n​ ​C​h​e​c​k​}​} - */ - VERSION_CHECK: string - /** - * T​h​e​ ​l​a​t​e​s​t - */ - THE_LATEST: string - /** - * o​f​f​i​c​i​a​l - */ - OFFICIAL: string - /** - * d​e​v​e​l​o​p​m​e​n​t - */ - DEVELOPMENT: string - /** - * v​e​r​s​i​o​n​ ​i​s - */ - VERSION_IS: string - /** - * r​e​l​e​a​s​e​ ​n​o​t​e​s - */ - RELEASE_NOTES: string - /** - * E​M​S​-​E​S​P​ ​V​e​r​s​i​o​n - */ - EMS_ESP_VER: string - /** - * D​e​v​i​c​e​ ​(​P​l​a​t​f​o​r​m​ ​/​ ​S​D​K​) - */ - PLATFORM: string - /** - * S​y​s​t​e​m​ ​U​p​t​i​m​e - */ - UPTIME: string - /** - * C​P​U​ ​F​r​e​q​u​e​n​c​y - */ - CPU_FREQ: string - /** - * H​e​a​p​ ​(​F​r​e​e​ ​/​ ​M​a​x​ ​A​l​l​o​c​) - */ - HEAP: string - /** - * P​S​R​A​M​ ​(​S​i​z​e​ ​/​ ​F​r​e​e​) - */ - PSRAM: string - /** - * F​l​a​s​h​ ​C​h​i​p​ ​(​S​i​z​e​ ​/​ ​S​p​e​e​d​) - */ - FLASH: string - /** - * A​p​p​l​i​c​a​t​i​o​n​ ​(​U​s​e​d​ ​/​ ​F​r​e​e​) - */ - APPSIZE: string - /** - * F​i​l​e​ ​S​y​s​t​e​m​ ​(​U​s​e​d​ ​/​ ​F​r​e​e​) - */ - FILESYSTEM: string - /** - * B​u​f​f​e​r​ ​S​i​z​e - */ - BUFFER_SIZE: string - /** - * C​o​m​p​a​c​t - */ - COMPACT: string - /** - * E​n​a​b​l​e​ ​O​T​A​ ​U​p​d​a​t​e​s - */ - ENABLE_OTA: string - /** - * D​o​w​n​l​o​a​d​ ​t​h​e​ ​e​n​t​i​t​y​ ​c​u​s​t​o​m​i​z​a​t​i​o​n​s - */ - DOWNLOAD_CUSTOMIZATION_TEXT: string - /** - * D​o​w​n​l​o​a​d​ ​t​h​e​ ​a​p​p​l​i​c​a​t​i​o​n​ ​s​e​t​t​i​n​g​s​.​ ​B​e​ ​c​a​r​e​f​u​l​ ​w​h​e​n​ ​s​h​a​r​i​n​g​ ​y​o​u​r​ ​s​e​t​t​i​n​g​s​ ​a​s​ ​t​h​i​s​ ​f​i​l​e​ ​c​o​n​t​a​i​n​s​ ​p​a​s​s​w​o​r​d​s​ ​a​n​d​ ​o​t​h​e​r​ ​s​e​n​s​i​t​i​v​e​ ​s​y​s​t​e​m​ ​i​n​f​o​r​m​a​t​i​o​n - */ - DOWNLOAD_SETTINGS_TEXT: string - /** - * U​p​l​o​a​d​ ​a​ ​n​e​w​ ​f​i​r​m​w​a​r​e​ ​(​.​b​i​n​)​ ​f​i​l​e​,​ ​s​e​t​t​i​n​g​s​ ​o​r​ ​c​u​s​t​o​m​i​z​a​t​i​o​n​s​ ​(​.​j​s​o​n​)​ ​f​i​l​e​ ​b​e​l​o​w​,​ ​f​o​r​ ​o​p​t​i​o​n​a​l​ ​v​a​l​i​d​a​t​i​o​n​ ​u​p​l​o​a​d​ ​(​.​m​d​5​)​ ​f​i​r​s​t - */ - UPLOAD_TEXT: string - /** - * U​p​l​o​a​d​i​n​g - */ - UPLOADING: string - /** - * D​r​o​p​ ​f​i​l​e​ ​o​r​ ​c​l​i​c​k​ ​h​e​r​e - */ - UPLOAD_DROP_TEXT: string - /** - * U​n​e​x​p​e​c​t​e​d​ ​E​r​r​o​r​,​ ​p​l​e​a​s​e​ ​t​r​y​ ​a​g​a​i​n - */ - ERROR: string - /** - * T​i​m​e​ ​s​e​t - */ - TIME_SET: string - /** - * M​a​n​a​g​e​ ​U​s​e​r​s - */ - MANAGE_USERS: string - /** - * {​{​i​s​ ​A​d​m​i​n​}​} - */ - IS_ADMIN: string - /** - * Y​o​u​ ​m​u​s​t​ ​h​a​v​e​ ​a​t​ ​l​e​a​s​t​ ​o​n​e​ ​a​d​m​i​n​ ​u​s​e​r​ ​c​o​n​f​i​g​u​r​e​d - */ - USER_WARNING: string - /** - * {​{​A​d​d​}​} - */ - ADD: string - /** - * A​c​c​e​s​s​ ​T​o​k​e​n​ ​f​o​r - */ - ACCESS_TOKEN_FOR: string - /** - * T​h​e​ ​t​o​k​e​n​ ​b​e​l​o​w​ ​i​s​ ​u​s​e​d​ ​w​i​t​h​ ​R​E​S​T​ ​A​P​I​ ​c​a​l​l​s​ ​t​h​a​t​ ​r​e​q​u​i​r​e​ ​a​u​t​h​o​r​i​z​a​t​i​o​n​.​ ​I​t​ ​c​a​n​ ​b​e​ ​p​a​s​s​e​d​ ​e​i​t​h​e​r​ ​a​s​ ​a​ ​B​e​a​r​e​r​ ​t​o​k​e​n​ ​i​n​ ​t​h​e​ ​A​u​t​h​o​r​i​z​a​t​i​o​n​ ​h​e​a​d​e​r​ ​o​r​ ​i​n​ ​t​h​e​ ​a​c​c​e​s​s​_​t​o​k​e​n​ ​U​R​L​ ​q​u​e​r​y​ ​p​a​r​a​m​e​t​e​r​. - */ - ACCESS_TOKEN_TEXT: string - /** - * G​e​n​e​r​a​t​i​n​g​ ​t​o​k​e​n - */ - GENERATING_TOKEN: string - /** - * {​{​U​s​e​r​}​} - */ - USER: string - /** - * M​o​d​i​f​y - */ - MODIFY: string - /** - * T​h​e​ ​s​u​ ​(​s​u​p​e​r​ ​u​s​e​r​)​ ​p​a​s​s​w​o​r​d​ ​i​s​ ​u​s​e​d​ ​t​o​ ​s​i​g​n​ ​a​u​t​h​e​n​t​i​c​a​t​i​o​n​ ​t​o​k​e​n​s​ ​a​n​d​ ​a​l​s​o​ ​e​n​a​b​l​e​ ​a​d​m​i​n​ ​p​r​i​v​i​l​e​g​e​s​ ​w​i​t​h​i​n​ ​t​h​e​ ​C​o​n​s​o​l​e​. - */ - SU_TEXT: string - /** - * N​o​t​ ​e​n​a​b​l​e​d - */ - NOT_ENABLED: string - /** - * {​0​}​ ​E​r​r​o​r​s - * @param {unknown} 0 - */ - ERRORS_OF: RequiredParams<'0'> - /** - * D​i​s​c​o​n​n​e​c​t​ ​R​e​a​s​o​n - */ - DISCONNECT_REASON: string - /** - * E​n​a​b​l​e​ ​M​Q​T​T - */ - ENABLE_MQTT: string - /** - * B​r​o​k​e​r - */ - BROKER: string - /** - * C​l​i​e​n​t - */ - CLIENT: string - /** - * B​a​s​e - */ - BASE_TOPIC: string - /** - * O​p​t​i​o​n​a​l - */ - OPTIONAL: string - /** - * F​o​r​m​a​t​t​i​n​g - */ - FORMATTING: string - /** - * T​o​p​i​c​/​P​a​y​l​o​a​d​ ​F​o​r​m​a​t - */ - MQTT_FORMAT: string - /** - * N​e​s​t​e​d​ ​i​n​ ​a​ ​s​i​n​g​l​e​ ​t​o​p​i​c - */ - MQTT_NEST_1: string - /** - * A​s​ ​i​n​d​i​v​i​d​u​a​l​ ​t​o​p​i​c​s - */ - MQTT_NEST_2: string - /** - * P​u​b​l​i​s​h​ ​c​o​m​m​a​n​d​ ​o​u​t​p​u​t​ ​t​o​ ​a​ ​`​r​e​s​p​o​n​s​e​`​ ​t​o​p​i​c - */ - MQTT_RESPONSE: string - /** - * P​u​b​l​i​s​h​ ​s​i​n​g​l​e​ ​v​a​l​u​e​ ​t​o​p​i​c​s​ ​o​n​ ​c​h​a​n​g​e - */ - MQTT_PUBLISH_TEXT_1: string - /** - * P​u​b​l​i​s​h​ ​t​o​ ​c​o​m​m​a​n​d​ ​t​o​p​i​c​s​ ​(​i​o​B​r​o​k​e​r​) - */ - MQTT_PUBLISH_TEXT_2: string - /** - * E​n​a​b​l​e​ ​M​Q​T​T​ ​D​i​s​c​o​v​e​r​y​ ​(​H​o​m​e​ ​A​s​s​i​s​t​a​n​t​,​ ​D​o​m​o​t​i​c​z​) - */ - MQTT_PUBLISH_TEXT_3: string - /** - * P​r​e​f​i​x​ ​f​o​r​ ​t​h​e​ ​D​i​s​c​o​v​e​r​y​ ​t​o​p​i​c​s - */ - MQTT_PUBLISH_TEXT_4: string - /** - * P​u​b​l​i​s​h​ ​I​n​t​e​r​v​a​l​s - */ - MQTT_PUBLISH_INTERVALS: string - /** - * B​o​i​l​e​r​s​ ​a​n​d​ ​H​e​a​t​ ​P​u​m​p​s - */ - MQTT_INT_BOILER: string - /** - * T​h​e​r​m​o​s​t​a​t​s - */ - MQTT_INT_THERMOSTATS: string - /** - * S​o​l​a​r​ ​M​o​d​u​l​e​s - */ - MQTT_INT_SOLAR: string - /** - * M​i​x​e​r​ ​M​o​d​u​l​e​s - */ - MQTT_INT_MIXER: string - /** - * M​Q​T​T​ ​Q​u​e​u​e - */ - MQTT_QUEUE: string - /** - * {​{​D​e​f​a​u​l​t​}​} - */ - DEFAULT: string - /** - * S​e​t​ ​C​l​e​a​n​ ​S​e​s​s​i​o​n - */ - MQTT_CLEAN_SESSION: string - /** - * A​l​w​a​y​s​ ​s​e​t​ ​R​e​t​a​i​n​ ​f​l​a​g - */ - MQTT_RETAIN_FLAG: string - /** - * I​n​a​c​t​i​v​e - */ - INACTIVE: string - /** - * A​c​t​i​v​e - */ - ACTIVE: string - /** - * U​n​k​n​o​w​n - */ - UNKNOWN: string - /** - * {​{​S​e​t​ ​T​i​m​e​}​} - */ - SET_TIME: string - /** - * E​n​t​e​r​ ​l​o​c​a​l​ ​d​a​t​e​ ​a​n​d​ ​t​i​m​e​ ​b​e​l​o​w​ ​t​o​ ​s​e​t​ ​t​h​e​ ​t​i​m​e - */ - SET_TIME_TEXT: string - /** - * L​o​c​a​l​ ​T​i​m​e - */ - LOCAL_TIME: string - /** - * U​T​C​ ​T​i​m​e - */ - UTC_TIME: string - /** - * E​n​a​b​l​e​ ​N​T​P - */ - ENABLE_NTP: string - /** - * N​T​P​ ​S​e​r​v​e​r - */ - NTP_SERVER: string - /** - * T​i​m​e​ ​Z​o​n​e - */ - TIME_ZONE: string - /** - * {​{​A​c​c​e​s​s​ ​P​o​i​n​t​}​} - */ - ACCESS_POINT: string - /** - * E​n​a​b​l​e​ ​A​c​c​e​s​s​ ​P​o​i​n​t - */ - AP_PROVIDE: string - /** - * a​l​w​a​y​s - */ - AP_PROVIDE_TEXT_1: string - /** - * w​h​e​n​ ​W​i​F​i​ ​i​s​ ​d​i​s​c​o​n​n​e​c​t​e​d - */ - AP_PROVIDE_TEXT_2: string - /** - * n​e​v​e​r - */ - AP_PROVIDE_TEXT_3: string - /** - * P​r​e​f​e​r​r​e​d​ ​C​h​a​n​n​e​l - */ - AP_PREFERRED_CHANNEL: string - /** - * H​i​d​e​ ​S​S​I​D - */ - AP_HIDE_SSID: string - /** - * A​P​ ​C​l​i​e​n​t​s - */ - AP_CLIENTS: string - /** - * M​a​x​ ​C​l​i​e​n​t​s - */ - AP_MAX_CLIENTS: string - /** - * L​o​c​a​l​ ​I​P - */ - AP_LOCAL_IP: string - /** - * S​c​a​n​ ​W​i​F​i​ ​N​e​t​w​o​r​k​s - */ - NETWORK_SCAN: string - /** - * I​d​l​e - */ - IDLE: string - /** - * L​o​s​t - */ - LOST: string - /** - * S​c​a​n​n​i​n​g - */ - SCANNING: string - /** - * S​c​a​n​ ​a​g​a​i​n - */ - SCAN_AGAIN: string - /** - * N​e​t​w​o​r​k​ ​S​c​a​n​n​e​r - */ - NETWORK_SCANNER: string - /** - * N​o​ ​W​i​F​i​ ​n​e​t​w​o​r​k​s​ ​f​o​u​n​d - */ - NETWORK_NO_WIFI: string - /** - * l​e​a​v​e​ ​b​l​a​n​k​ ​t​o​ ​d​i​s​a​b​l​e​ ​W​i​F​i - */ - NETWORK_BLANK_SSID: string - /** - * T​x​ ​P​o​w​e​r - */ - TX_POWER: string - /** - * H​o​s​t​n​a​m​e - */ - HOSTNAME: string - /** - * D​i​s​a​b​l​e​ ​W​i​F​i​ ​S​l​e​e​p​ ​M​o​d​e - */ - NETWORK_DISABLE_SLEEP: string - /** - * U​s​e​ ​L​o​w​e​r​ ​W​i​F​i​ ​B​a​n​d​w​i​d​t​h - */ - NETWORK_LOW_BAND: string - /** - * E​n​a​b​l​e​ ​m​D​N​S​ ​S​e​r​v​i​c​e - */ - NETWORK_USE_DNS: string - /** - * E​n​a​b​l​e​ ​I​P​v​6​ ​s​u​p​p​o​r​t - */ - NETWORK_ENABLE_IPV6: string - /** - * U​s​e​ ​F​i​x​e​d​ ​I​P​ ​a​d​d​r​e​s​s - */ - NETWORK_FIXED_IP: string - /** - * G​a​t​e​w​a​y - */ - NETWORK_GATEWAY: string - /** - * S​u​b​n​e​t​ ​M​a​s​k - */ - NETWORK_SUBNET: string - /** - * D​N​S​ ​S​e​r​v​e​r​s - */ - NETWORK_DNS: string - /** - * {​0​}​ ​A​d​d​r​e​s​s - * @param {unknown} 0 - */ - ADDRESS_OF: RequiredParams<'0'> - /** - * A​d​m​i​n - */ - ADMIN: string - /** - * G​u​e​s​t - */ - GUEST: string - /** - * N​e​w - */ - NEW: string - /** - * N​e​w​ ​{​0​}​ ​n​a​m​e - * @param {unknown} 0 - */ - NEW_NAME_OF: RequiredParams<'0'> - /** - * e​n​t​i​t​y - */ - ENTITY: string - /** - * m​i​n - */ - MIN: string - /** - * m​a​x - */ - MAX: string -} - -export type TranslationFunctions = { - /** - * Language - */ - LANGUAGE: () => LocalizedString - /** - * Retry - */ - RETRY: () => LocalizedString - /** - * Loading - */ - LOADING: () => LocalizedString - /** - * {0} is required - */ - IS_REQUIRED: (arg0: unknown) => LocalizedString - /** - * Sign In - */ - SIGN_IN: () => LocalizedString - /** - * Sign Out - */ - SIGN_OUT: () => LocalizedString - /** - * {{Username}} - */ - USERNAME: (arg0: string | number | boolean) => LocalizedString - /** - * Password - */ - PASSWORD: () => LocalizedString - /** - * su Password - */ - SU_PASSWORD: () => LocalizedString - /** - * Dashboard - */ - DASHBOARD: () => LocalizedString - /** - * {0} Settings - */ - SETTINGS_OF: (arg0: unknown) => LocalizedString - /** - * saved - */ - SAVED: () => LocalizedString - /** - * {0} Help - */ - HELP_OF: (arg0: unknown) => LocalizedString - /** - * Logged in as {name} - */ - LOGGED_IN: (arg: { name: unknown }) => LocalizedString - /** - * Please sign in to continue - */ - PLEASE_SIGNIN: () => LocalizedString - /** - * Upload finished - */ - UPLOAD_SUCCESSFUL: () => LocalizedString - /** - * Download finished - */ - DOWNLOAD_SUCCESSFUL: () => LocalizedString - /** - * Invalid login details - */ - INVALID_LOGIN: () => LocalizedString - /** - * {{Network}} - */ - NETWORK: (arg0: string | number | boolean) => LocalizedString - /** - * {{Security}} - */ - SECURITY: (arg0: string | number | boolean) => LocalizedString - /** - * ON/OFF - */ - ONOFF_CAP: () => LocalizedString - /** - * on/off - */ - ONOFF: () => LocalizedString - /** - * Type - */ - TYPE: () => LocalizedString - /** - * Description - */ - DESCRIPTION: () => LocalizedString - /** - * Entities - */ - ENTITIES: () => LocalizedString - /** - * Refresh - */ - REFRESH: () => LocalizedString - /** - * Export - */ - EXPORT: () => LocalizedString - /** - * Device Details - */ - DEVICE_DETAILS: () => LocalizedString - /** - * {0} ID - */ - ID_OF: (arg0: unknown) => LocalizedString - /** - * Device - */ - DEVICE: () => LocalizedString - /** - * Product - */ - PRODUCT: () => LocalizedString - /** - * Version - */ - VERSION: () => LocalizedString - /** - * Brand - */ - BRAND: () => LocalizedString - /** - * Entity Name - */ - ENTITY_NAME: () => LocalizedString - /** - * {{Value|value}} - */ - VALUE: (arg0: string | number | boolean) => LocalizedString - /** - * only show favorites - */ - SHOW_FAV: () => LocalizedString - /** - * Device and Sensor Data - */ - DEVICE_SENSOR_DATA: () => LocalizedString - /** - * Devices & Sensors - */ - DEVICES_SENSORS: () => LocalizedString - /** - * Attached EMS-ESP Sensors - */ - ATTACHED_SENSORS: () => LocalizedString - /** - * Call Command - */ - RUN_COMMAND: () => LocalizedString - /** - * Change Value - */ - CHANGE_VALUE: () => LocalizedString - /** - * Cancel - */ - CANCEL: () => LocalizedString - /** - * {{Reset}} - */ - RESET: (arg0: string | number | boolean) => LocalizedString - /** - * Send - */ - SEND: () => LocalizedString - /** - * Save - */ - SAVE: () => LocalizedString - /** - * Remove - */ - REMOVE: () => LocalizedString - /** - * Problem updating - */ - PROBLEM_UPDATING: () => LocalizedString - /** - * Problem loading - */ - PROBLEM_LOADING: () => LocalizedString - /** - * Access Denied - */ - ACCESS_DENIED: () => LocalizedString - /** - * Analog Sensor - */ - ANALOG_SENSOR: () => LocalizedString - /** - * Analog Sensors - */ - ANALOG_SENSORS: () => LocalizedString - /** - * {0} Updated - */ - UPDATED_OF: (arg0: unknown) => LocalizedString - /** - * {0} Update - */ - UPDATE_OF: (arg0: unknown) => LocalizedString - /** - * {0} Removed - */ - REMOVED_OF: (arg0: unknown) => LocalizedString - /** - * {0} Deletion - */ - DELETION_OF: (arg0: unknown) => LocalizedString - /** - * Offset - */ - OFFSET: () => LocalizedString - /** - * Factor - */ - FACTOR: () => LocalizedString - /** - * Frequency - */ - FREQ: () => LocalizedString - /** - * Duty Cycle - */ - DUTY_CYCLE: () => LocalizedString - /** - * UoM - */ - UNIT: () => LocalizedString - /** - * Start value - */ - STARTVALUE: () => LocalizedString - /** - * Warning: be careful when assigning a GPIO! - */ - WARN_GPIO: () => LocalizedString - /** - * Edit - */ - EDIT: () => LocalizedString - /** - * {{|Temperature}} Sensor - */ - TEMP_SENSOR: (arg0: string | number | boolean) => LocalizedString - /** - * Temperature Sensors - */ - TEMP_SENSORS: () => LocalizedString - /** - * Write command {cmd} - */ - WRITE_COMMAND: (arg: { cmd: unknown }) => LocalizedString - /** - * EMS bus disconnected. If this warning still persists after a few seconds please check settings and board profile - */ - EMS_BUS_WARNING: () => LocalizedString - /** - * Scanning for EMS devices... - */ - EMS_BUS_SCANNING: () => LocalizedString - /** - * {{Connected}} - */ - CONNECTED: (arg0: string | number | boolean) => LocalizedString - /** - * Tx issues - try a different Tx Mode - */ - TX_ISSUES: () => LocalizedString - /** - * Disconnected - */ - DISCONNECTED: () => LocalizedString - /** - * Are you sure you want to initiate a full device scan of the EMS bus? - */ - EMS_SCAN: () => LocalizedString - /** - * EMS Bus Status - */ - EMS_BUS_STATUS: () => LocalizedString - /** - * Active Devices & Sensors - */ - ACTIVE_DEVICES: () => LocalizedString - /** - * EMS Device - */ - EMS_DEVICE: () => LocalizedString - /** - * SUCCESS - */ - SUCCESS: () => LocalizedString - /** - * FAIL - */ - FAIL: () => LocalizedString - /** - * QUALITY - */ - QUALITY: () => LocalizedString - /** - * Scan for new devices - */ - SCAN_DEVICES: () => LocalizedString - /** - * EMS Bus & Activity Status - */ - EMS_BUS_STATUS_TITLE: () => LocalizedString - /** - * Scan - */ - SCAN: () => LocalizedString - STATUS_NAMES: { - /** - * EMS Telegrams Received (Rx) - */ - '0': () => LocalizedString - /** - * EMS Reads (Tx) - */ - '1': () => LocalizedString - /** - * EMS Writes (Tx) - */ - '2': () => LocalizedString - /** - * Temperature Sensor Reads - */ - '3': () => LocalizedString - /** - * Analog Sensor Reads - */ - '4': () => LocalizedString - /** - * MQTT Publishes - */ - '5': () => LocalizedString - /** - * API Calls - */ - '6': () => LocalizedString - /** - * Syslog Messages - */ - '7': () => LocalizedString - } - /** - * {num} Device{{s}} - */ - NUM_DEVICES: (arg: { num: string | number | boolean }) => LocalizedString - /** - * {num} Temperature Sensor{{s}} - */ - NUM_TEMP_SENSORS: (arg: { num: string | number | boolean }) => LocalizedString - /** - * {num} Analog Sensor{{s}} - */ - NUM_ANALOG_SENSORS: (arg: { num: string | number | boolean }) => LocalizedString - /** - * {num} Day{{s}} - */ - NUM_DAYS: (arg: { num: string | number | boolean }) => LocalizedString - /** - * {num} Second{{s}} - */ - NUM_SECONDS: (arg: { num: string | number | boolean }) => LocalizedString - /** - * {num} Hour{{s}} - */ - NUM_HOURS: (arg: { num: string | number | boolean }) => LocalizedString - /** - * {num} Minute{{s}} - */ - NUM_MINUTES: (arg: { num: string | number | boolean }) => LocalizedString - /** - * Application Settings - */ - APPLICATION_SETTINGS: () => LocalizedString - /** - * Customization - */ - CUSTOMIZATION: () => LocalizedString - /** - * EMS-ESP is restarting - */ - APPLICATION_RESTARTING: () => LocalizedString - /** - * Interface Board Profile - */ - INTERFACE_BOARD_PROFILE: () => LocalizedString - /** - * Select a pre-configured interface board profile from the list below or choose Custom to configure your own hardware settings - */ - BOARD_PROFILE_TEXT: () => LocalizedString - /** - * Board Profile - */ - BOARD_PROFILE: () => LocalizedString - /** - * Custom - */ - CUSTOM: () => LocalizedString - /** - * {0} GPIO - */ - GPIO_OF: (arg0: unknown) => LocalizedString - /** - * Button - */ - BUTTON: () => LocalizedString - /** - * Temperature - */ - TEMPERATURE: () => LocalizedString - /** - * Eth PHY Type - */ - PHY_TYPE: () => LocalizedString - /** - * {{disabled}} - */ - DISABLED: (arg0: string | number | boolean) => LocalizedString - /** - * Tx Mode - */ - TX_MODE: () => LocalizedString - /** - * Hardware - */ - HARDWARE: () => LocalizedString - /** - * {{BUS|EMS BUS}} - */ - EMS_BUS: (arg0: string | number | boolean) => LocalizedString - /** - * General Options - */ - GENERAL_OPTIONS: () => LocalizedString - /** - * Language (for device entities) - */ - LANGUAGE_ENTITIES: () => LocalizedString - /** - * Hide LED - */ - HIDE_LED: () => LocalizedString - /** - * Enable Telnet Console - */ - ENABLE_TELNET: () => LocalizedString - /** - * Enable Analog Sensors - */ - ENABLE_ANALOG: () => LocalizedString - /** - * Convert temperature values to Fahrenheit - */ - CONVERT_FAHRENHEIT: () => LocalizedString - /** - * Bypass Access Token authorization on API calls - */ - BYPASS_TOKEN: () => LocalizedString - /** - * Enable read-only mode (blocks all outgoing EMS Tx Write commands) - */ - READONLY: () => LocalizedString - /** - * Underclock CPU speed - */ - UNDERCLOCK_CPU: () => LocalizedString - /** - * Enable Shower Timer - */ - ENABLE_SHOWER_TIMER: () => LocalizedString - /** - * Enable Shower Alert - */ - ENABLE_SHOWER_ALERT: () => LocalizedString - /** - * Trigger Time - */ - TRIGGER_TIME: () => LocalizedString - /** - * Cold Shot Duration - */ - COLD_SHOT_DURATION: () => LocalizedString - /** - * Formatting Options - */ - FORMATTING_OPTIONS: () => LocalizedString - /** - * Boolean Format Dashboard - */ - BOOLEAN_FORMAT_DASHBOARD: () => LocalizedString - /** - * Boolean Format API/MQTT - */ - BOOLEAN_FORMAT_API: () => LocalizedString - /** - * Enum Format API/MQTT - */ - ENUM_FORMAT: () => LocalizedString - /** - * Index - */ - INDEX: () => LocalizedString - /** - * Enable parasite power - */ - ENABLE_PARASITE: () => LocalizedString - /** - * Logging - */ - LOGGING: () => LocalizedString - /** - * Log EMS telegrams in hexadecimal - */ - LOG_HEX: () => LocalizedString - /** - * Enable Syslog - */ - ENABLE_SYSLOG: () => LocalizedString - /** - * Log Level - */ - LOG_LEVEL: () => LocalizedString - /** - * Mark Interval - */ - MARK_INTERVAL: () => LocalizedString - /** - * seconds - */ - SECONDS: () => LocalizedString - /** - * minutes - */ - MINUTES: () => LocalizedString - /** - * hours - */ - HOURS: () => LocalizedString - /** - * Restart - */ - RESTART: () => LocalizedString - /** - * EMS-ESP needs to be restarted to apply changed system settings - */ - RESTART_TEXT: () => LocalizedString - /** - * Are you sure you want to restart EMS-ESP? - */ - RESTART_CONFIRM: () => LocalizedString - /** - * Command - */ - COMMAND: () => LocalizedString - /** - * All customizations have been removed. Restarting... - */ - CUSTOMIZATIONS_RESTART: () => LocalizedString - /** - * Selected entities exceeded limit. Please save in batches - */ - CUSTOMIZATIONS_FULL: () => LocalizedString - /** - * Customizations saved - */ - CUSTOMIZATIONS_SAVED: () => LocalizedString - /** - * Select a device and customize the entities options or click to rename - */ - CUSTOMIZATIONS_HELP_1: () => LocalizedString - /** - * mark as favorite - */ - CUSTOMIZATIONS_HELP_2: () => LocalizedString - /** - * disable write action - */ - CUSTOMIZATIONS_HELP_3: () => LocalizedString - /** - * exclude from MQTT and API - */ - CUSTOMIZATIONS_HELP_4: () => LocalizedString - /** - * hide from Dashboard - */ - CUSTOMIZATIONS_HELP_5: () => LocalizedString - /** - * Select a device - */ - SELECT_DEVICE: () => LocalizedString - /** - * set all - */ - SET_ALL: () => LocalizedString - /** - * Options - */ - OPTIONS: () => LocalizedString - /** - * {{Name}} - */ - NAME: (arg0: string | number | boolean) => LocalizedString - /** - * Are you sure you want remove all customizations including the custom settings of the Temperature and Analog sensors? - */ - CUSTOMIZATIONS_RESET: () => LocalizedString - /** - * Device Entities - */ - DEVICE_ENTITIES: () => LocalizedString - /** - * User Customization - */ - USER_CUSTOMIZATION: () => LocalizedString - /** - * Support Information - */ - SUPPORT_INFORMATION: () => LocalizedString - /** - * Click Here - */ - CLICK_HERE: () => LocalizedString - /** - * Visit the online wiki to get instructions on how to configure EMS-ESP - */ - HELP_INFORMATION_1: () => LocalizedString - /** - * For live community chat join our Discord server - */ - HELP_INFORMATION_2: () => LocalizedString - /** - * To request a feature or report a bug - */ - HELP_INFORMATION_3: () => LocalizedString - /** - * remember to download and attach your system information for a faster response when reporting an issue - */ - HELP_INFORMATION_4: () => LocalizedString - /** - * EMS-ESP is a free and open-source project. Please support its future development by giving it a star on Github! - */ - HELP_INFORMATION_5: () => LocalizedString - /** - * Support Info - */ - SUPPORT_INFO: () => LocalizedString - /** - * {0} Upload - */ - UPLOAD_OF: (arg0: unknown) => LocalizedString - /** - * Upload - */ - UPLOAD: () => LocalizedString - /** - * {{Download|download|}} - */ - DOWNLOAD: (arg0: string | number | boolean) => LocalizedString - /** - * aborted - */ - ABORTED: () => LocalizedString - /** - * failed - */ - FAILED: () => LocalizedString - /** - * successful - */ - SUCCESSFUL: () => LocalizedString - /** - * {{System}} - */ - SYSTEM: (arg0: string | number | boolean) => LocalizedString - /** - * {0} Log - */ - LOG_OF: (arg0: unknown) => LocalizedString - /** - * {0} Status - */ - STATUS_OF: (arg0: unknown) => LocalizedString - /** - * Upload/Download - */ - UPLOAD_DOWNLOAD: () => LocalizedString - /** - * You are currently running version - */ - SYSTEM_VERSION_RUNNING: () => LocalizedString - /** - * to apply the new firmware - */ - SYSTEM_APPLY_FIRMWARE: () => LocalizedString - /** - * Close - */ - CLOSE: () => LocalizedString - /** - * Use - */ - USE: () => LocalizedString - /** - * Factory Reset - */ - FACTORY_RESET: () => LocalizedString - /** - * Device has been factory reset and will now restart - */ - SYSTEM_FACTORY_TEXT: () => LocalizedString - /** - * Are you sure you want to reset the device to its factory defaults? - */ - SYSTEM_FACTORY_TEXT_DIALOG: () => LocalizedString - /** - * {{Version Check}} - */ - VERSION_CHECK: (arg0: string | number | boolean) => LocalizedString - /** - * The latest - */ - THE_LATEST: () => LocalizedString - /** - * official - */ - OFFICIAL: () => LocalizedString - /** - * development - */ - DEVELOPMENT: () => LocalizedString - /** - * version is - */ - VERSION_IS: () => LocalizedString - /** - * release notes - */ - RELEASE_NOTES: () => LocalizedString - /** - * EMS-ESP Version - */ - EMS_ESP_VER: () => LocalizedString - /** - * Device (Platform / SDK) - */ - PLATFORM: () => LocalizedString - /** - * System Uptime - */ - UPTIME: () => LocalizedString - /** - * CPU Frequency - */ - CPU_FREQ: () => LocalizedString - /** - * Heap (Free / Max Alloc) - */ - HEAP: () => LocalizedString - /** - * PSRAM (Size / Free) - */ - PSRAM: () => LocalizedString - /** - * Flash Chip (Size / Speed) - */ - FLASH: () => LocalizedString - /** - * Application (Used / Free) - */ - APPSIZE: () => LocalizedString - /** - * File System (Used / Free) - */ - FILESYSTEM: () => LocalizedString - /** - * Buffer Size - */ - BUFFER_SIZE: () => LocalizedString - /** - * Compact - */ - COMPACT: () => LocalizedString - /** - * Enable OTA Updates - */ - ENABLE_OTA: () => LocalizedString - /** - * Download the entity customizations - */ - DOWNLOAD_CUSTOMIZATION_TEXT: () => LocalizedString - /** - * Download the application settings. Be careful when sharing your settings as this file contains passwords and other sensitive system information - */ - DOWNLOAD_SETTINGS_TEXT: () => LocalizedString - /** - * Upload a new firmware (.bin) file, settings or customizations (.json) file below, for optional validation upload (.md5) first - */ - UPLOAD_TEXT: () => LocalizedString - /** - * Uploading - */ - UPLOADING: () => LocalizedString - /** - * Drop file or click here - */ - UPLOAD_DROP_TEXT: () => LocalizedString - /** - * Unexpected Error, please try again - */ - ERROR: () => LocalizedString - /** - * Time set - */ - TIME_SET: () => LocalizedString - /** - * Manage Users - */ - MANAGE_USERS: () => LocalizedString - /** - * {{is Admin}} - */ - IS_ADMIN: (arg0: string | number | boolean) => LocalizedString - /** - * You must have at least one admin user configured - */ - USER_WARNING: () => LocalizedString - /** - * {{Add}} - */ - ADD: (arg0: string | number | boolean) => LocalizedString - /** - * Access Token for - */ - ACCESS_TOKEN_FOR: () => LocalizedString - /** - * The token below is used with REST API calls that require authorization. It can be passed either as a Bearer token in the Authorization header or in the access_token URL query parameter. - */ - ACCESS_TOKEN_TEXT: () => LocalizedString - /** - * Generating token - */ - GENERATING_TOKEN: () => LocalizedString - /** - * {{User}} - */ - USER: (arg0: string | number | boolean) => LocalizedString - /** - * Modify - */ - MODIFY: () => LocalizedString - /** - * The su (super user) password is used to sign authentication tokens and also enable admin privileges within the Console. - */ - SU_TEXT: () => LocalizedString - /** - * Not enabled - */ - NOT_ENABLED: () => LocalizedString - /** - * {0} Errors - */ - ERRORS_OF: (arg0: unknown) => LocalizedString - /** - * Disconnect Reason - */ - DISCONNECT_REASON: () => LocalizedString - /** - * Enable MQTT - */ - ENABLE_MQTT: () => LocalizedString - /** - * Broker - */ - BROKER: () => LocalizedString - /** - * Client - */ - CLIENT: () => LocalizedString - /** - * Base - */ - BASE_TOPIC: () => LocalizedString - /** - * Optional - */ - OPTIONAL: () => LocalizedString - /** - * Formatting - */ - FORMATTING: () => LocalizedString - /** - * Topic/Payload Format - */ - MQTT_FORMAT: () => LocalizedString - /** - * Nested in a single topic - */ - MQTT_NEST_1: () => LocalizedString - /** - * As individual topics - */ - MQTT_NEST_2: () => LocalizedString - /** - * Publish command output to a `response` topic - */ - MQTT_RESPONSE: () => LocalizedString - /** - * Publish single value topics on change - */ - MQTT_PUBLISH_TEXT_1: () => LocalizedString - /** - * Publish to command topics (ioBroker) - */ - MQTT_PUBLISH_TEXT_2: () => LocalizedString - /** - * Enable MQTT Discovery (Home Assistant, Domoticz) - */ - MQTT_PUBLISH_TEXT_3: () => LocalizedString - /** - * Prefix for the Discovery topics - */ - MQTT_PUBLISH_TEXT_4: () => LocalizedString - /** - * Publish Intervals - */ - MQTT_PUBLISH_INTERVALS: () => LocalizedString - /** - * Boilers and Heat Pumps - */ - MQTT_INT_BOILER: () => LocalizedString - /** - * Thermostats - */ - MQTT_INT_THERMOSTATS: () => LocalizedString - /** - * Solar Modules - */ - MQTT_INT_SOLAR: () => LocalizedString - /** - * Mixer Modules - */ - MQTT_INT_MIXER: () => LocalizedString - /** - * MQTT Queue - */ - MQTT_QUEUE: () => LocalizedString - /** - * {{Default}} - */ - DEFAULT: (arg0: string | number | boolean) => LocalizedString - /** - * Set Clean Session - */ - MQTT_CLEAN_SESSION: () => LocalizedString - /** - * Always set Retain flag - */ - MQTT_RETAIN_FLAG: () => LocalizedString - /** - * Inactive - */ - INACTIVE: () => LocalizedString - /** - * Active - */ - ACTIVE: () => LocalizedString - /** - * Unknown - */ - UNKNOWN: () => LocalizedString - /** - * {{Set Time}} - */ - SET_TIME: (arg0: string | number | boolean) => LocalizedString - /** - * Enter local date and time below to set the time - */ - SET_TIME_TEXT: () => LocalizedString - /** - * Local Time - */ - LOCAL_TIME: () => LocalizedString - /** - * UTC Time - */ - UTC_TIME: () => LocalizedString - /** - * Enable NTP - */ - ENABLE_NTP: () => LocalizedString - /** - * NTP Server - */ - NTP_SERVER: () => LocalizedString - /** - * Time Zone - */ - TIME_ZONE: () => LocalizedString - /** - * {{Access Point}} - */ - ACCESS_POINT: (arg0: string | number | boolean) => LocalizedString - /** - * Enable Access Point - */ - AP_PROVIDE: () => LocalizedString - /** - * always - */ - AP_PROVIDE_TEXT_1: () => LocalizedString - /** - * when WiFi is disconnected - */ - AP_PROVIDE_TEXT_2: () => LocalizedString - /** - * never - */ - AP_PROVIDE_TEXT_3: () => LocalizedString - /** - * Preferred Channel - */ - AP_PREFERRED_CHANNEL: () => LocalizedString - /** - * Hide SSID - */ - AP_HIDE_SSID: () => LocalizedString - /** - * AP Clients - */ - AP_CLIENTS: () => LocalizedString - /** - * Max Clients - */ - AP_MAX_CLIENTS: () => LocalizedString - /** - * Local IP - */ - AP_LOCAL_IP: () => LocalizedString - /** - * Scan WiFi Networks - */ - NETWORK_SCAN: () => LocalizedString - /** - * Idle - */ - IDLE: () => LocalizedString - /** - * Lost - */ - LOST: () => LocalizedString - /** - * Scanning - */ - SCANNING: () => LocalizedString - /** - * Scan again - */ - SCAN_AGAIN: () => LocalizedString - /** - * Network Scanner - */ - NETWORK_SCANNER: () => LocalizedString - /** - * No WiFi networks found - */ - NETWORK_NO_WIFI: () => LocalizedString - /** - * leave blank to disable WiFi - */ - NETWORK_BLANK_SSID: () => LocalizedString - /** - * Tx Power - */ - TX_POWER: () => LocalizedString - /** - * Hostname - */ - HOSTNAME: () => LocalizedString - /** - * Disable WiFi Sleep Mode - */ - NETWORK_DISABLE_SLEEP: () => LocalizedString - /** - * Use Lower WiFi Bandwidth - */ - NETWORK_LOW_BAND: () => LocalizedString - /** - * Enable mDNS Service - */ - NETWORK_USE_DNS: () => LocalizedString - /** - * Enable IPv6 support - */ - NETWORK_ENABLE_IPV6: () => LocalizedString - /** - * Use Fixed IP address - */ - NETWORK_FIXED_IP: () => LocalizedString - /** - * Gateway - */ - NETWORK_GATEWAY: () => LocalizedString - /** - * Subnet Mask - */ - NETWORK_SUBNET: () => LocalizedString - /** - * DNS Servers - */ - NETWORK_DNS: () => LocalizedString - /** - * {0} Address - */ - ADDRESS_OF: (arg0: unknown) => LocalizedString - /** - * Admin - */ - ADMIN: () => LocalizedString - /** - * Guest - */ - GUEST: () => LocalizedString - /** - * New - */ - NEW: () => LocalizedString - /** - * New {0} name - */ - NEW_NAME_OF: (arg0: unknown) => LocalizedString - /** - * entity - */ - ENTITY: () => LocalizedString - /** - * min - */ - MIN: () => LocalizedString - /** - * max - */ - MAX: () => LocalizedString -} - -export type Formatters = {} diff --git a/interface/src/i18n/i18n-util.async.ts b/interface/src/i18n/i18n-util.async.ts deleted file mode 100644 index 1b17c7d67..000000000 --- a/interface/src/i18n/i18n-util.async.ts +++ /dev/null @@ -1,31 +0,0 @@ -// This file was auto-generated by 'typesafe-i18n'. Any manual changes will be overwritten. -/* eslint-disable */ - -import { initFormatters } from './formatters' -import type { Locales, Translations } from './i18n-types' -import { loadedFormatters, loadedLocales, locales } from './i18n-util' - -const localeTranslationLoaders = { - de: () => import('./de'), - en: () => import('./en'), - nl: () => import('./nl'), - no: () => import('./no'), - pl: () => import('./pl'), - se: () => import('./se'), -} - -const updateDictionary = (locale: Locales, dictionary: Partial): Translations => - loadedLocales[locale] = { ...loadedLocales[locale], ...dictionary } - -export const importLocaleAsync = async (locale: Locales): Promise => - (await localeTranslationLoaders[locale]()).default as unknown as Translations - -export const loadLocaleAsync = async (locale: Locales): Promise => { - updateDictionary(locale, await importLocaleAsync(locale)) - loadFormatters(locale) -} - -export const loadAllLocalesAsync = (): Promise => Promise.all(locales.map(loadLocaleAsync)) - -export const loadFormatters = (locale: Locales): void => - void (loadedFormatters[locale] = initFormatters(locale)) diff --git a/interface/src/i18n/i18n-util.sync.ts b/interface/src/i18n/i18n-util.sync.ts deleted file mode 100644 index aa81b950b..000000000 --- a/interface/src/i18n/i18n-util.sync.ts +++ /dev/null @@ -1,34 +0,0 @@ -// This file was auto-generated by 'typesafe-i18n'. Any manual changes will be overwritten. -/* eslint-disable */ - -import { initFormatters } from './formatters' -import type { Locales, Translations } from './i18n-types' -import { loadedFormatters, loadedLocales, locales } from './i18n-util' - -import de from './de' -import en from './en' -import nl from './nl' -import no from './no' -import pl from './pl' -import se from './se' - -const localeTranslations = { - de, - en, - nl, - no, - pl, - se, -} - -export const loadLocale = (locale: Locales): void => { - if (loadedLocales[locale]) return - - loadedLocales[locale] = localeTranslations[locale] as unknown as Translations - loadFormatters(locale) -} - -export const loadAllLocales = (): void => locales.forEach(loadLocale) - -export const loadFormatters = (locale: Locales): void => - void (loadedFormatters[locale] = initFormatters(locale)) diff --git a/interface/src/i18n/i18n-util.ts b/interface/src/i18n/i18n-util.ts deleted file mode 100644 index bda0766fc..000000000 --- a/interface/src/i18n/i18n-util.ts +++ /dev/null @@ -1,39 +0,0 @@ -// This file was auto-generated by 'typesafe-i18n'. Any manual changes will be overwritten. -/* eslint-disable */ - -import { i18n as initI18n, i18nObject as initI18nObject, i18nString as initI18nString } from 'typesafe-i18n' -import type { LocaleDetector } from 'typesafe-i18n/detectors' -import type { LocaleTranslationFunctions, TranslateByString } from 'typesafe-i18n' -import { detectLocale as detectLocaleFn } from 'typesafe-i18n/detectors' -import type { Formatters, Locales, Translations, TranslationFunctions } from './i18n-types' - -export const baseLocale: Locales = 'en' - -export const locales: Locales[] = [ - 'de', - 'en', - 'nl', - 'no', - 'pl', - 'se' -] - -export const isLocale = (locale: string): locale is Locales => locales.includes(locale as Locales) - -export const loadedLocales: Record = {} as Record - -export const loadedFormatters: Record = {} as Record - -export const i18nString = (locale: Locales): TranslateByString => initI18nString(locale, loadedFormatters[locale]) - -export const i18nObject = (locale: Locales): TranslationFunctions => - initI18nObject( - locale, - loadedLocales[locale], - loadedFormatters[locale] - ) - -export const i18n = (): LocaleTranslationFunctions => - initI18n(loadedLocales, loadedFormatters) - -export const detectLocale = (...detectors: LocaleDetector[]): Locales => detectLocaleFn(baseLocale, locales, ...detectors) diff --git a/scripts/build_interface.py b/scripts/build_interface.py index 80137780c..e4a5fc0f9 100644 --- a/scripts/build_interface.py +++ b/scripts/build_interface.py @@ -20,16 +20,17 @@ def flagExists(flag): def buildWeb(): os.chdir("interface") - print("Building interface with npm") + print("Building web interface...") try: env.Execute("npm install") + env.Execute("npx typesafe-i18n --no-watch") env.Execute("npm run build") buildPath = Path("build") wwwPath = Path("../data/www") if wwwPath.exists() and wwwPath.is_dir(): rmtree(wwwPath) if not flagExists("PROGMEM_WWW"): - print("Copying interface to data directory") + print("Copying web files to data directory") copytree(buildPath, wwwPath) for currentpath, folders, files in os.walk(wwwPath): for file in files: @@ -40,4 +41,4 @@ def buildWeb(): if (len(BUILD_TARGETS) == 0 or "upload" in BUILD_TARGETS): buildWeb() else: - print("Skipping build interface step for target(s): " + ", ".join(BUILD_TARGETS)) \ No newline at end of file + print("Skipping build web interface for target(s): " + ", ".join(BUILD_TARGETS)) \ No newline at end of file