mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-06 07:49:52 +03:00
add nl language to web, add more translations
This commit is contained in:
@@ -27,6 +27,7 @@ const de: Translation = {
|
||||
ENTITIES: 'Entitäten',
|
||||
REFRESH: 'Aktualisieren',
|
||||
EXPORT: 'Exportieren',
|
||||
BRAND: "Marke",
|
||||
ENTITY_NAME: 'Entitätsname',
|
||||
VALUE: 'Wert',
|
||||
SHOW_FAV: 'nur Favoriten anzeigen',
|
||||
@@ -45,6 +46,12 @@ const de: Translation = {
|
||||
ACCESS_DENIED: 'Zugriff abgelehnt',
|
||||
ANALOG_SENSOR: 'Analogsensor{post}',
|
||||
ANALOG_SENSORS: 'Analogsensoren',
|
||||
OFFSET: "Addition",
|
||||
FACTOR: "Faktor",
|
||||
FREQ: "Frequenz",
|
||||
STARTVALUE: "Startwert",
|
||||
WARN_GPIO: "Warnung: Vorsicht bei der korrekten Wahl des GPIO!",
|
||||
EDIT: "Editiere",
|
||||
TEMP_SENSOR: 'Temperatursensor{post}',
|
||||
TEMP_SENSORS: 'Temperatursensoren',
|
||||
WRITE_COMMAND: 'Befehl schreiben {cmd}',
|
||||
@@ -189,7 +196,7 @@ const de: Translation = {
|
||||
ADD: 'Hinzufügen',
|
||||
ACCESS_TOKEN_FOR: 'Zugangs-Token für',
|
||||
ACCESS_TOKEN_TEXT:
|
||||
'Das untenstehende Token ist für REST API Aufrufe, die eine Authentifizierung benötigen. Es kann entweder als Bearer Token im `Authorization-Header` oder in der Access_Token URL verwendet werden.',
|
||||
'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',
|
||||
|
||||
@@ -27,6 +27,7 @@ const en: BaseTranslation = {
|
||||
ENTITIES: 'Entities',
|
||||
REFRESH: 'Refresh',
|
||||
EXPORT: 'Export',
|
||||
BRAND: "Brand",
|
||||
ENTITY_NAME: 'Entity Name',
|
||||
VALUE: 'Value',
|
||||
SHOW_FAV: 'only show favorites',
|
||||
@@ -45,6 +46,12 @@ const en: BaseTranslation = {
|
||||
ACCESS_DENIED: 'Access Denied',
|
||||
ANALOG_SENSOR: 'Analog Sensor{post}',
|
||||
ANALOG_SENSORS: 'Analog Sensors',
|
||||
OFFSET: "Offset",
|
||||
FACTOR: "Factor",
|
||||
FREQ: "Frequency",
|
||||
STARTVALUE: "Start value",
|
||||
WARN_GPIO: "Warning: be careful when assigning a GPIO!",
|
||||
EDIT: "Edit",
|
||||
TEMP_SENSOR: 'Temperature Sensor{post}',
|
||||
TEMP_SENSORS: 'Temperature Sensors',
|
||||
WRITE_COMMAND: 'Write command {cmd}',
|
||||
|
||||
@@ -8,6 +8,7 @@ export type BaseLocale = 'en'
|
||||
export type Locales =
|
||||
| 'de'
|
||||
| 'en'
|
||||
| 'nl'
|
||||
|
||||
export type Translation = RootTranslation
|
||||
|
||||
@@ -119,6 +120,10 @@ type RootTranslation = {
|
||||
* Export
|
||||
*/
|
||||
EXPORT: string
|
||||
/**
|
||||
* Brand
|
||||
*/
|
||||
BRAND: string
|
||||
/**
|
||||
* Entity Name
|
||||
*/
|
||||
@@ -192,7 +197,31 @@ type RootTranslation = {
|
||||
* Analog Sensors
|
||||
*/
|
||||
ANALOG_SENSORS: string
|
||||
/**
|
||||
/**
|
||||
* Offset
|
||||
*/
|
||||
OFFSET: string
|
||||
/**
|
||||
* Factor
|
||||
*/
|
||||
FACTOR: string
|
||||
/**
|
||||
* Frequency
|
||||
*/
|
||||
FREQ: string
|
||||
/**
|
||||
* Start value
|
||||
*/
|
||||
STARTVALUE: string
|
||||
/**
|
||||
* Warning: be careful when assigning a GPIO!
|
||||
*/
|
||||
WARN_GPIO: string
|
||||
/**
|
||||
* Edit
|
||||
*/
|
||||
EDIT: string
|
||||
/**
|
||||
* Temperature Sensor{post}
|
||||
* @param {unknown} post
|
||||
*/
|
||||
@@ -467,14 +496,14 @@ type RootTranslation = {
|
||||
* minutes
|
||||
*/
|
||||
MINUTES: string
|
||||
/**
|
||||
* Restart
|
||||
*/
|
||||
RESTART: string
|
||||
/**
|
||||
* hours
|
||||
*/
|
||||
HOURS: string
|
||||
/**
|
||||
* Restart
|
||||
*/
|
||||
RESTART: string
|
||||
/**
|
||||
* EMS-ESP needs to be restarted to apply changed system settings
|
||||
*/
|
||||
@@ -692,8 +721,8 @@ type RootTranslation = {
|
||||
*/
|
||||
FILESYSTEM: string
|
||||
/**
|
||||
* Buffer Size
|
||||
*/
|
||||
* Buffer Size
|
||||
*/
|
||||
BUFFER_SIZE: string
|
||||
/**
|
||||
* Compact
|
||||
@@ -1094,6 +1123,10 @@ export type TranslationFunctions = {
|
||||
* Export
|
||||
*/
|
||||
EXPORT: () => LocalizedString
|
||||
/**
|
||||
* Brand
|
||||
*/
|
||||
BRAND: () => LocalizedString
|
||||
/**
|
||||
* Entity Name
|
||||
*/
|
||||
@@ -1165,8 +1198,32 @@ export type TranslationFunctions = {
|
||||
/**
|
||||
* Analog Sensors
|
||||
*/
|
||||
ANALOG_SENSORS: () => LocalizedString
|
||||
/**
|
||||
ANALOG_SENSORS: () => LocalizedString
|
||||
/**
|
||||
* Offset
|
||||
*/
|
||||
OFFSET: () => LocalizedString
|
||||
/**
|
||||
* Factor
|
||||
*/
|
||||
FACTOR: () => LocalizedString
|
||||
/**
|
||||
* Frequency
|
||||
*/
|
||||
FREQ: () => LocalizedString
|
||||
/**
|
||||
* Start value
|
||||
*/
|
||||
STARTVALUE: () => LocalizedString
|
||||
/**
|
||||
* Warning: be careful when assigning a GPIO!
|
||||
*/
|
||||
WARN_GPIO: () => LocalizedString
|
||||
/**
|
||||
* Edit
|
||||
*/
|
||||
EDIT: () => LocalizedString
|
||||
/**
|
||||
* Temperature Sensor{post}
|
||||
*/
|
||||
TEMP_SENSOR: (arg: { post: unknown }) => LocalizedString
|
||||
@@ -1432,14 +1489,14 @@ export type TranslationFunctions = {
|
||||
* minutes
|
||||
*/
|
||||
MINUTES: () => LocalizedString
|
||||
/**
|
||||
* Restart
|
||||
*/
|
||||
RESTART: () => LocalizedString
|
||||
/**
|
||||
* hours
|
||||
*/
|
||||
HOURS: () => LocalizedString
|
||||
/**
|
||||
* Restart
|
||||
*/
|
||||
RESTART: () => LocalizedString
|
||||
/**
|
||||
* EMS-ESP needs to be restarted to apply changed system settings
|
||||
*/
|
||||
@@ -1633,7 +1690,7 @@ export type TranslationFunctions = {
|
||||
*/
|
||||
PLATFORM: () => LocalizedString
|
||||
/**
|
||||
* ystem Uptime
|
||||
* System Uptime
|
||||
*/
|
||||
UPTIME: () => LocalizedString
|
||||
/**
|
||||
|
||||
@@ -8,6 +8,7 @@ import { loadedFormatters, loadedLocales, locales } from './i18n-util'
|
||||
const localeTranslationLoaders = {
|
||||
de: () => import('./de'),
|
||||
en: () => import('./en'),
|
||||
nl: () => import('./nl'),
|
||||
}
|
||||
|
||||
const updateDictionary = (locale: Locales, dictionary: Partial<Translations>) =>
|
||||
|
||||
@@ -7,10 +7,12 @@ import { loadedFormatters, loadedLocales, locales } from './i18n-util'
|
||||
|
||||
import de from './de'
|
||||
import en from './en'
|
||||
import nl from './nl'
|
||||
|
||||
const localeTranslations = {
|
||||
de,
|
||||
en,
|
||||
nl,
|
||||
}
|
||||
|
||||
export const loadLocale = (locale: Locales): void => {
|
||||
|
||||
@@ -10,7 +10,8 @@ export const baseLocale: Locales = 'en'
|
||||
|
||||
export const locales: Locales[] = [
|
||||
'de',
|
||||
'en'
|
||||
'en',
|
||||
'nl'
|
||||
]
|
||||
|
||||
export const loadedLocales = {} as Record<Locales, Translations>
|
||||
|
||||
261
interface/src/i18n/nl/index.ts
Normal file
261
interface/src/i18n/nl/index.ts
Normal file
@@ -0,0 +1,261 @@
|
||||
import type { BaseTranslation } from '../i18n-types';
|
||||
|
||||
const en: BaseTranslation = {
|
||||
LANGUAGE: 'Language',
|
||||
RETRY: 'Retry',
|
||||
LOADING: 'Loading',
|
||||
IS_REQUIRED: 'is required',
|
||||
SIGN_IN: 'Sign In',
|
||||
SIGN_OUT: 'Sign Out',
|
||||
USERNAME: 'Username',
|
||||
PASSWORD: 'Password',
|
||||
DASHBOARD: 'Dashboard',
|
||||
SETTINGS: 'Settings',
|
||||
SAVED: 'saved',
|
||||
HELP: 'Help',
|
||||
LOGGED_IN: 'Logged in as {name}',
|
||||
PLEASE_SIGNIN: 'Please sign in to continue',
|
||||
UPLOAD_SUCCESSFUL: 'Upload successful',
|
||||
DOWNLOAD_SUCCESSFUL: 'Download successful',
|
||||
INVALID_LOGIN: 'Invalid login details',
|
||||
NETWORK: 'Network',
|
||||
SECURITY: 'Security',
|
||||
ONOFF_CAP: 'ON/OFF',
|
||||
ONOFF: 'on/off',
|
||||
TYPE: 'Type',
|
||||
DESCRIPTION: 'Description',
|
||||
ENTITIES: 'Entities',
|
||||
REFRESH: 'Refresh',
|
||||
EXPORT: 'Export',
|
||||
BRAND: "Brand",
|
||||
ENTITY_NAME: 'Entity Name',
|
||||
VALUE: 'Value',
|
||||
SHOW_FAV: 'only show favorites',
|
||||
DEVICE_SENSOR_DATA: 'Device and Sensor Data',
|
||||
DEVICES_SENSORS: 'Devices & Sensors',
|
||||
ATTACHED_SENSORS: 'Attached EMS-ESP Sensors',
|
||||
RUN_COMMAND: 'Call Command',
|
||||
CHANGE_VALUE: 'Change Value',
|
||||
CANCEL: 'Cancel',
|
||||
RESET: 'Reset',
|
||||
SEND: 'Send',
|
||||
SAVE: 'Save',
|
||||
REMOVE: 'Remove',
|
||||
PROBLEM_UPDATING: 'Problem updating',
|
||||
PROBLEM_LOADING: 'Problem loading',
|
||||
ACCESS_DENIED: 'Access Denied',
|
||||
ANALOG_SENSOR: 'Analog Sensor{post}',
|
||||
ANALOG_SENSORS: 'Analog Sensors',
|
||||
OFFSET: "Offset",
|
||||
FACTOR: "Factor",
|
||||
FREQ: "Frequency",
|
||||
STARTVALUE: "Start value",
|
||||
WARN_GPIO: "Warning: be careful when assigning a GPIO!",
|
||||
EDIT: "Edit",
|
||||
TEMP_SENSOR: 'Temperature Sensor{post}',
|
||||
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_SCANNING: 'Scanning for EMS devices...',
|
||||
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?',
|
||||
EMS_BUS_STATUS: 'EMS Bus Status',
|
||||
ACTIVE_DEVICES: 'Active Devices & Sensors',
|
||||
DEVICE: 'Device',
|
||||
SUCCESS: 'SUCCESS',
|
||||
FAIL: 'FAIL',
|
||||
QUALITY: 'QUALITY',
|
||||
SCAN_DEVICES: 'Scan for new devices',
|
||||
EMS_BUS_STATUS_TITLE: 'EMS Bus & Activity Status',
|
||||
SCAN: 'Scan',
|
||||
STATUS_NAMES: [
|
||||
'EMS Telegrams Received (Rx)',
|
||||
'EMS Reads (Tx)',
|
||||
'EMS Writes (Tx)',
|
||||
'Temperature Sensor Reads',
|
||||
'Analog Sensor Reads',
|
||||
'MQTT Publishes',
|
||||
'API Calls',
|
||||
'Syslog Messages'
|
||||
],
|
||||
NUM_DEVICES: '{num} Device{{s}}',
|
||||
NUM_TEMP_SENSORS: '{num} Temperature Sensor{{s}}',
|
||||
NUM_ANALOG_SENSORS: '{num} Analog Sensor{{s}}',
|
||||
NUM_DAYS: '{num} Day{{s}}',
|
||||
NUM_SECONDS: '{num} Second{{s}}',
|
||||
NUM_HOURS: '{num} Hour{{s}}',
|
||||
NUM_MINUTES: '{num} Minute{{s}}',
|
||||
APPLICATION_SETTINGS: 'Application Settings',
|
||||
CUSTOMIZATION: 'Customization',
|
||||
APPLICATION_RESTARTING: 'EMS-ESP is restarting',
|
||||
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',
|
||||
BUTTON: 'Button',
|
||||
TEMPERATURE: 'Temperature',
|
||||
DISABLED: 'disabled',
|
||||
GENERAL_OPTIONS: 'General Options',
|
||||
LANGUAGE_ENTITIES: 'Language (for device entities)',
|
||||
HIDE_LED: 'Hide LED',
|
||||
ENABLE_TELNET: 'Enable Telnet Console',
|
||||
ENABLE_ANALOG: 'Enable Analog Sensors',
|
||||
CONVERT_FAHRENHEIT: 'Convert temperature values to Fahrenheit',
|
||||
BYPASS_TOKEN: 'Bypass Access Token authorization on API calls',
|
||||
READONLY: 'Enable read-only mode (blocks all outgoing EMS Tx Write commands)',
|
||||
UNDERCLOCK_CPU: 'Underclock CPU speed',
|
||||
ENABLE_SHOWER_TIMER: 'Enable Shower Timer',
|
||||
ENABLE_SHOWER_ALERT: 'Enable Shower Alert',
|
||||
TRIGGER_TIME: 'Trigger Time',
|
||||
COLD_SHOT_DURATION: 'Cold Shot Duration',
|
||||
FORMATTING_OPTIONS: 'Formatting Options',
|
||||
BOOLEAN_FORMAT_DASHBOARD: 'Boolean Format Dashboard',
|
||||
BOOLEAN_FORMAT_API: 'Boolean Format API/MQTT',
|
||||
ENUM_FORMAT: 'Enum Format API/MQTT',
|
||||
INDEX: 'Index',
|
||||
ENABLE_PARASITE: 'Enable parasite power',
|
||||
LOGGING: 'Logging',
|
||||
LOG_HEX: 'Log EMS telegrams in hexadecimal',
|
||||
ENABLE_SYSLOG: 'Enable Syslog',
|
||||
MARK_INTERVAL: 'Mark Interval',
|
||||
SECONDS: 'seconds',
|
||||
MINUTES: 'minutes',
|
||||
RESTART: 'Restart',
|
||||
HOURS: "hours",
|
||||
RESTART_TEXT: 'EMS-ESP needs to be restarted to apply changed system settings',
|
||||
COMMAND: 'Command',
|
||||
CUSTOMIZATIONS_RESTART: 'All customizations have been removed. Restarting...',
|
||||
CUSTOMIZATIONS_FULL: 'Selected entities exceeded limit of 60. Please Save in batches',
|
||||
CUSTOMIZATIONS_SAVED: 'Customizations saved',
|
||||
CUSTOMIZATIONS_HELP_1: 'Select a device and customize the entities using the options',
|
||||
CUSTOMIZATIONS_HELP_2: 'mark as favorite',
|
||||
CUSTOMIZATIONS_HELP_3: 'disable write action',
|
||||
CUSTOMIZATIONS_HELP_4: 'exclude from MQTT and API',
|
||||
CUSTOMIZATIONS_HELP_5: 'hide from Dashboard',
|
||||
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?',
|
||||
DEVICE_ENTITIES: 'Device Entities',
|
||||
CONFIGURE: 'configure',
|
||||
USER_CUSTOMIZATION: 'User Customization',
|
||||
SUPPORT_INFORMATION: 'Support Information',
|
||||
HELP_INFORMATION_1: 'Visit the online',
|
||||
HELP_INFORMATION_2: 'to get instructions on how to',
|
||||
HELP_INFORMATION_3: 'and access other information',
|
||||
HELP_INFORMATION_4: 'For live community chat join our',
|
||||
HELP_INFORMATION_5: 'Submit a',
|
||||
HELP_INFORMATION_6: 'support issue',
|
||||
HELP_INFORMATION_7: 'for requesting a new feature or reporting a bug',
|
||||
HELP_INFORMATION_8: 'Make sure you also',
|
||||
HELP_INFORMATION_9: 'and attach your system details for a faster response',
|
||||
HELP_INFORMATION_10: 'EMS-ESP will always be a free and open-source project. Please consider supporting it with a',
|
||||
UPLOAD: 'Upload',
|
||||
DOWNLOAD: 'Download',
|
||||
ABORTED: 'aborted',
|
||||
FAILED: 'failed',
|
||||
SUCCESSFUL: 'successful',
|
||||
SYSTEM: 'System',
|
||||
LOG: 'Log',
|
||||
STATUS: 'Status',
|
||||
UPLOAD_DOWNLOAD: 'Upload/Download',
|
||||
SYSTEM_VERSION_RUNNING: 'You are currently running version',
|
||||
SYSTEM_APPLY_FIRMWARE: 'to apply the new firmware',
|
||||
CLOSE: 'Close',
|
||||
USE: 'Use',
|
||||
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',
|
||||
THE_LATEST: 'The latest',
|
||||
PLATFORM: 'Device (Platform / SDK)',
|
||||
UPTIME: 'System Uptime',
|
||||
CPU_FREQ: 'CPU Frequency',
|
||||
HEAP: 'Heap (Free / Max Alloc)',
|
||||
PSRAM: 'PSRAM (Size / Free)',
|
||||
FLASH: 'Flash Chip (Size / Speed)',
|
||||
FILESYSTEM: 'File System (Used / Total)',
|
||||
BUFFER_SIZE: 'Buffer Size',
|
||||
COMPACT: 'Compact',
|
||||
ENABLE_OTA: 'Enable OTA Updates',
|
||||
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',
|
||||
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',
|
||||
USER_WARNING: 'You must have at least one admin user configured',
|
||||
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.',
|
||||
GENERATING_TOKEN: 'Generating token',
|
||||
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.',
|
||||
NOT_ENABLED: 'Not enabled',
|
||||
ERRORS: 'Errors',
|
||||
DISCONNECT_REASON: 'Disconnect Reason',
|
||||
ENABLE_MQTT: 'Enable MQTT',
|
||||
OPTIONAL: 'Optional',
|
||||
FORMATTING: 'Formatting',
|
||||
FORMAT: 'Format',
|
||||
MQTT_NEST_1: 'Nested in a single topic',
|
||||
MQTT_NEST_2: 'As individual topics',
|
||||
MQTT_RESPONSE: 'Publish command output to a `response` topic',
|
||||
MQTT_PUBLISH_TEXT_1: 'Publish single value topics on change',
|
||||
MQTT_PUBLISH_TEXT_2: 'Publish to command topics (ioBroker)',
|
||||
MQTT_PUBLISH_TEXT_3: 'Enable MQTT Discovery (Home Assistant, Domoticz)',
|
||||
MQTT_PUBLISH_TEXT_4: 'Prefix for the Discovery topics',
|
||||
MQTT_PUBLISH_INTERVALS: 'Publish Intervals',
|
||||
MQTT_INT_BOILER: 'Boilers and Heat Pumps',
|
||||
MQTT_INT_THERMOSTATS: 'Thermostats',
|
||||
MQTT_INT_SOLAR: 'Solar Modules',
|
||||
MQTT_INT_MIXER: 'Mixer Modules',
|
||||
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_TEXT: 'Enter local date and time below to set the time.',
|
||||
LOCAL_TIME: 'Local Time',
|
||||
UTC_TIME: 'UTC Time',
|
||||
ENABLE_NTP: 'Enable NTP',
|
||||
TIME_ZONE: 'Time Zone',
|
||||
ACCESS_POINT: 'Access Point',
|
||||
AP_PROVIDE: 'Enable Access Point',
|
||||
AP_PROVIDE_TEXT_1: 'always',
|
||||
AP_PROVIDE_TEXT_2: 'when WiFi is disconnected',
|
||||
AP_PROVIDE_TEXT_3: 'never',
|
||||
AP_PREFERRED_CHANNEL: 'Preferred Channel',
|
||||
AP_HIDE_SSID: 'Hide SSID',
|
||||
NETWORK_SCAN: 'Scan WiFi Networks',
|
||||
IDLE: 'Idle',
|
||||
LOST: 'Lost',
|
||||
SCANNING: 'Scanning',
|
||||
SCAN_AGAIN: 'Scan again',
|
||||
NETWORK_SCANNER: 'Network Scanner',
|
||||
NETWORK_NO_WIFI: 'No WiFi networks found',
|
||||
NETWORK_BLANK_SSID: 'leave blank to disable WiFi',
|
||||
POWER: 'Power',
|
||||
NETWORK_DISABLE_SLEEP: 'Disable WiFi Sleep Mode',
|
||||
NETWORK_LOW_BAND: 'Use Lower WiFi Bandwidth',
|
||||
NETWORK_USE_DNS: 'Enable mDNS Service',
|
||||
NETWORK_ENABLE_IPV6: 'Enable IPv6 support',
|
||||
NETWORK_FIXED_IP: 'Use Fixed IP address',
|
||||
ADMIN: 'Admin',
|
||||
GUEST: 'Guest'
|
||||
};
|
||||
|
||||
export default en;
|
||||
@@ -578,7 +578,7 @@ const DashboardData: FC = () => {
|
||||
if (sensor) {
|
||||
return (
|
||||
<Dialog open={sensor !== undefined} onClose={() => setSensor(undefined)}>
|
||||
<DialogTitle>Edit Temperature Sensor</DialogTitle>
|
||||
<DialogTitle>{LL.EDIT()} {LL.TEMP_SENSORS()}</DialogTitle>
|
||||
<DialogContent dividers>
|
||||
<Box color="warning.main" p={0} pl={0} pr={0} mt={0} mb={2}>
|
||||
<Typography variant="body2">Sensor ID {sensor.id}</Typography>
|
||||
@@ -587,7 +587,7 @@ const DashboardData: FC = () => {
|
||||
<Grid item>
|
||||
<ValidatedTextField
|
||||
name="n"
|
||||
label="Name"
|
||||
label={LL.ENTITY_NAME()}
|
||||
value={sensor.n}
|
||||
autoFocus
|
||||
sx={{ width: '30ch' }}
|
||||
@@ -597,7 +597,7 @@ const DashboardData: FC = () => {
|
||||
<Grid item>
|
||||
<ValidatedTextField
|
||||
name="o"
|
||||
label="Offset"
|
||||
label={LL.OFFSET()}
|
||||
value={numberValue(sensor.o)}
|
||||
sx={{ width: '12ch' }}
|
||||
type="number"
|
||||
@@ -643,13 +643,13 @@ const DashboardData: FC = () => {
|
||||
<DialogContent dividers>
|
||||
<List dense={true}>
|
||||
<ListItem>
|
||||
<ListItemText primary="Type" secondary={coreData.devices[deviceDialog].t} />
|
||||
<ListItemText primary={LL.TYPE()} secondary={coreData.devices[deviceDialog].t} />
|
||||
</ListItem>
|
||||
<ListItem>
|
||||
<ListItemText primary="Name" secondary={coreData.devices[deviceDialog].n} />
|
||||
<ListItemText primary={LL.NAME()} secondary={coreData.devices[deviceDialog].n} />
|
||||
</ListItem>
|
||||
<ListItem>
|
||||
<ListItemText primary="Brand" secondary={coreData.devices[deviceDialog].b} />
|
||||
<ListItemText primary={LL.BRAND()} secondary={coreData.devices[deviceDialog].b} />
|
||||
</ListItem>
|
||||
<ListItem>
|
||||
<ListItemText
|
||||
@@ -943,7 +943,7 @@ const DashboardData: FC = () => {
|
||||
{LL.TYPE()}
|
||||
</Button>
|
||||
</HeaderCell>
|
||||
<HeaderCell stiff>VALUE</HeaderCell>
|
||||
<HeaderCell stiff>{LL.VALUE()}</HeaderCell>
|
||||
<HeaderCell stiff />
|
||||
</HeaderRow>
|
||||
</Header>
|
||||
@@ -1030,7 +1030,7 @@ const DashboardData: FC = () => {
|
||||
if (analog) {
|
||||
return (
|
||||
<Dialog open={analog !== undefined} onClose={() => setAnalog(undefined)}>
|
||||
<DialogTitle>Edit Analog Sensor</DialogTitle>
|
||||
<DialogTitle>{LL.EDIT()} {LL.ANALOG_SENSORS()}</DialogTitle>
|
||||
<DialogContent dividers>
|
||||
<Grid container spacing={2}>
|
||||
<Grid item>
|
||||
@@ -1078,7 +1078,7 @@ const DashboardData: FC = () => {
|
||||
<Grid item>
|
||||
<ValidatedTextField
|
||||
name="o"
|
||||
label="Offset"
|
||||
label={LL.OFFSET()}
|
||||
value={numberValue(analog.o)}
|
||||
sx={{ width: '20ch' }}
|
||||
type="number"
|
||||
@@ -1095,7 +1095,7 @@ const DashboardData: FC = () => {
|
||||
<Grid item>
|
||||
<ValidatedTextField
|
||||
name="o"
|
||||
label="Start Value"
|
||||
label={LL.STARTVALUE()}
|
||||
value={numberValue(analog.o)}
|
||||
sx={{ width: '20ch' }}
|
||||
type="number"
|
||||
@@ -1108,7 +1108,7 @@ const DashboardData: FC = () => {
|
||||
<Grid item>
|
||||
<ValidatedTextField
|
||||
name="f"
|
||||
label="Factor"
|
||||
label={LL.FACTOR()}
|
||||
value={numberValue(analog.f)}
|
||||
sx={{ width: '20ch' }}
|
||||
type="number"
|
||||
@@ -1124,7 +1124,7 @@ const DashboardData: FC = () => {
|
||||
<Grid item>
|
||||
<ValidatedTextField
|
||||
name="o"
|
||||
label="DAC Value"
|
||||
label={LL.VALUE()}
|
||||
value={numberValue(analog.o)}
|
||||
sx={{ width: '20ch' }}
|
||||
type="number"
|
||||
@@ -1156,7 +1156,7 @@ const DashboardData: FC = () => {
|
||||
<Grid item>
|
||||
<ValidatedTextField
|
||||
name="f"
|
||||
label="Frequency"
|
||||
label={LL.CPU_FREQ()}
|
||||
value={numberValue(analog.f)}
|
||||
sx={{ width: '20ch' }}
|
||||
type="number"
|
||||
@@ -1187,7 +1187,7 @@ const DashboardData: FC = () => {
|
||||
)}
|
||||
</Grid>
|
||||
<Box color="warning.main" mt={2}>
|
||||
<Typography variant="body2">Warning: be careful when assigning a GPIO!</Typography>
|
||||
<Typography variant="body2">{LL.WARN_GPIO()}</Typography>
|
||||
</Box>
|
||||
</DialogContent>
|
||||
<DialogActions>
|
||||
|
||||
@@ -340,6 +340,7 @@ const SettingsApplication: FC = () => {
|
||||
>
|
||||
<MenuItem value="en">English (en)</MenuItem>
|
||||
<MenuItem value="de">Deutsch (de)</MenuItem>
|
||||
<MenuItem value="nl">Dutch (nl)</MenuItem>
|
||||
</ValidatedTextField>
|
||||
</Box>
|
||||
{data.led_gpio !== 0 && (
|
||||
|
||||
Reference in New Issue
Block a user