mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-07 00:09:51 +03:00
The translation of the web interface into Polish has been corrected and completed (e.g. the word order has been fixed).
Newly added words should be translated from English into other languages in index.ts files
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"adapter": "react",
|
||||
"baseLocale": "en",
|
||||
"baseLocale": "pl",
|
||||
"$schema": "https://unpkg.com/typesafe-i18n@5.14.0/schema/typesafe-i18n.json"
|
||||
}
|
||||
|
||||
@@ -130,7 +130,7 @@ const LayoutAuthMenu: FC = () => {
|
||||
<Box pl={2}>
|
||||
<ItemTypography variant="h6">{me.username}</ItemTypography>
|
||||
<ItemTypography variant="body1">
|
||||
{me.admin ? LL.ADMIN() + ' ' + LL.USER() : LL.GUEST() + ' ' + LL.USER()}
|
||||
{me.admin ? LL.ADMIN() : LL.GUEST()} {LL.USER(2)}
|
||||
</ItemTypography>
|
||||
</Box>
|
||||
</Box>
|
||||
|
||||
@@ -31,17 +31,17 @@ const LayoutMenu: FC = () => {
|
||||
</List>
|
||||
)}
|
||||
<List disablePadding component="nav">
|
||||
<LayoutMenuItem icon={SettingsEthernetIcon} label={LL.NETWORK()} to="/network" />
|
||||
<LayoutMenuItem icon={SettingsInputAntennaIcon} label={LL.ACCESS_POINT()} to="/ap" />
|
||||
<LayoutMenuItem icon={SettingsEthernetIcon} label={LL.NETWORK(0)} to="/network" />
|
||||
<LayoutMenuItem icon={SettingsInputAntennaIcon} label={LL.ACCESS_POINT(0)} to="/ap" />
|
||||
{features.ntp && <LayoutMenuItem icon={AccessTimeIcon} label="NTP" to="/ntp" />}
|
||||
{features.mqtt && <LayoutMenuItem icon={DeviceHubIcon} label="MQTT" to="/mqtt" />}
|
||||
<LayoutMenuItem
|
||||
icon={LockIcon}
|
||||
label={LL.SECURITY()}
|
||||
label={LL.SECURITY(0)}
|
||||
to="/security"
|
||||
disabled={!authenticatedContext.me.admin}
|
||||
/>
|
||||
<LayoutMenuItem icon={SettingsIcon} label={LL.SYSTEM()} to="/system" />
|
||||
<LayoutMenuItem icon={SettingsIcon} label={LL.SYSTEM(0)} to="/system" />
|
||||
</List>
|
||||
</>
|
||||
);
|
||||
|
||||
@@ -74,7 +74,7 @@ const APSettingsForm: FC = () => {
|
||||
<ValidatedTextField
|
||||
fieldErrors={fieldErrors}
|
||||
name="ssid"
|
||||
label={LL.ACCESS_POINT() + ' SSID'}
|
||||
label={LL.ACCESS_POINT(2) + ' SSID'}
|
||||
fullWidth
|
||||
variant="outlined"
|
||||
value={data.ssid}
|
||||
@@ -84,7 +84,7 @@ const APSettingsForm: FC = () => {
|
||||
<ValidatedPasswordField
|
||||
fieldErrors={fieldErrors}
|
||||
name="password"
|
||||
label={LL.ACCESS_POINT() + ' ' + LL.PASSWORD()}
|
||||
label={LL.ACCESS_POINT(2) + ' ' + LL.PASSWORD()}
|
||||
fullWidth
|
||||
variant="outlined"
|
||||
value={data.password}
|
||||
@@ -116,7 +116,7 @@ const APSettingsForm: FC = () => {
|
||||
<ValidatedTextField
|
||||
fieldErrors={fieldErrors}
|
||||
name="max_clients"
|
||||
label="Max Clients"
|
||||
label={LL.AP_MAX_CLIENTS()}
|
||||
value={numberValue(data.max_clients)}
|
||||
fullWidth
|
||||
select
|
||||
@@ -134,7 +134,7 @@ const APSettingsForm: FC = () => {
|
||||
<ValidatedTextField
|
||||
fieldErrors={fieldErrors}
|
||||
name="local_ip"
|
||||
label="Local IP"
|
||||
label={LL.AP_LOCAL_IP()}
|
||||
fullWidth
|
||||
variant="outlined"
|
||||
value={data.local_ip}
|
||||
@@ -144,7 +144,7 @@ const APSettingsForm: FC = () => {
|
||||
<ValidatedTextField
|
||||
fieldErrors={fieldErrors}
|
||||
name="gateway_ip"
|
||||
label="Gateway"
|
||||
label={LL.NETWORK_GATEWAY()}
|
||||
fullWidth
|
||||
variant="outlined"
|
||||
value={data.gateway_ip}
|
||||
@@ -154,7 +154,7 @@ const APSettingsForm: FC = () => {
|
||||
<ValidatedTextField
|
||||
fieldErrors={fieldErrors}
|
||||
name="subnet_mask"
|
||||
label="Subnet"
|
||||
label={LL.NETWORK_SUBNET()}
|
||||
fullWidth
|
||||
variant="outlined"
|
||||
value={data.subnet_mask}
|
||||
@@ -180,7 +180,7 @@ const APSettingsForm: FC = () => {
|
||||
};
|
||||
|
||||
return (
|
||||
<SectionContent title={LL.ACCESS_POINT() + ' ' + LL.SETTINGS()} titleGutter>
|
||||
<SectionContent title={LL.SETTINGS_OF( LL.ACCESS_POINT(1) )} titleGutter>
|
||||
{content()}
|
||||
</SectionContent>
|
||||
);
|
||||
|
||||
@@ -60,14 +60,14 @@ const APStatusForm: FC = () => {
|
||||
<SettingsInputAntennaIcon />
|
||||
</Avatar>
|
||||
</ListItemAvatar>
|
||||
<ListItemText primary={LL.STATUS()} secondary={apStatus(data)} />
|
||||
<ListItemText primary={LL.STATUS_OF("")} secondary={apStatus(data)} />
|
||||
</ListItem>
|
||||
<Divider variant="inset" component="li" />
|
||||
<ListItem>
|
||||
<ListItemAvatar>
|
||||
<Avatar>IP</Avatar>
|
||||
</ListItemAvatar>
|
||||
<ListItemText primary="IP Address" secondary={data.ip_address} />
|
||||
<ListItemText primary={LL.ADDRESS_OF("IP")} secondary={data.ip_address} />
|
||||
</ListItem>
|
||||
<Divider variant="inset" component="li" />
|
||||
<ListItem>
|
||||
@@ -76,7 +76,7 @@ const APStatusForm: FC = () => {
|
||||
<DeviceHubIcon />
|
||||
</Avatar>
|
||||
</ListItemAvatar>
|
||||
<ListItemText primary="MAC Address" secondary={data.mac_address} />
|
||||
<ListItemText primary={LL.ADDRESS_OF("MAC")} secondary={data.mac_address} />
|
||||
</ListItem>
|
||||
<Divider variant="inset" component="li" />
|
||||
<ListItem>
|
||||
@@ -85,7 +85,7 @@ const APStatusForm: FC = () => {
|
||||
<ComputerIcon />
|
||||
</Avatar>
|
||||
</ListItemAvatar>
|
||||
<ListItemText primary="AP Clients" secondary={data.station_num} />
|
||||
<ListItemText primary={LL.AP_CLIENTS()} secondary={data.station_num} />
|
||||
</ListItem>
|
||||
<Divider variant="inset" component="li" />
|
||||
</List>
|
||||
@@ -99,7 +99,7 @@ const APStatusForm: FC = () => {
|
||||
};
|
||||
|
||||
return (
|
||||
<SectionContent title={LL.ACCESS_POINT() + ' ' + LL.STATUS()} titleGutter>
|
||||
<SectionContent title={LL.STATUS_OF( LL.ACCESS_POINT(1) )} titleGutter>
|
||||
{content()}
|
||||
</SectionContent>
|
||||
);
|
||||
|
||||
@@ -13,7 +13,7 @@ import { useI18nContext } from '../../i18n/i18n-react';
|
||||
const AccessPoint: FC = () => {
|
||||
const { LL } = useI18nContext();
|
||||
|
||||
useLayoutTitle(LL.ACCESS_POINT());
|
||||
useLayoutTitle(LL.ACCESS_POINT(0));
|
||||
|
||||
const authenticatedContext = useContext(AuthenticatedContext);
|
||||
|
||||
@@ -22,10 +22,10 @@ const AccessPoint: FC = () => {
|
||||
return (
|
||||
<>
|
||||
<RouterTabs value={routerTab}>
|
||||
<Tab value="status" label={LL.ACCESS_POINT() + ' ' + LL.STATUS()} />
|
||||
<Tab value="status" label={LL.STATUS_OF( LL.ACCESS_POINT(1) )} />
|
||||
<Tab
|
||||
value="settings"
|
||||
label={LL.ACCESS_POINT() + ' ' + LL.SETTINGS()}
|
||||
label={LL.SETTINGS_OF( LL.ACCESS_POINT(1) )}
|
||||
disabled={!authenticatedContext.me.admin}
|
||||
/>
|
||||
</RouterTabs>
|
||||
|
||||
@@ -22,8 +22,8 @@ const Mqtt: FC = () => {
|
||||
return (
|
||||
<>
|
||||
<RouterTabs value={routerTab}>
|
||||
<Tab value="status" label={'MQTT ' + LL.STATUS()} />
|
||||
<Tab value="settings" label={'MQTT ' + LL.SETTINGS()} disabled={!authenticatedContext.me.admin} />
|
||||
<Tab value="status" label={LL.STATUS_OF("MQTT")} />
|
||||
<Tab value="settings" label={LL.SETTINGS_OF("MQTT")} disabled={!authenticatedContext.me.admin} />
|
||||
</RouterTabs>
|
||||
<Routes>
|
||||
<Route path="status" element={<MqttStatusForm />} />
|
||||
|
||||
@@ -351,7 +351,7 @@ const MqttSettingsForm: FC = () => {
|
||||
};
|
||||
|
||||
return (
|
||||
<SectionContent title={'MQTT ' + LL.SETTINGS()} titleGutter>
|
||||
<SectionContent title={LL.SETTINGS_OF("MQTT")} titleGutter>
|
||||
{content()}
|
||||
</SectionContent>
|
||||
);
|
||||
|
||||
@@ -50,7 +50,7 @@ const MqttStatusForm: FC = () => {
|
||||
return LL.NOT_ENABLED();
|
||||
}
|
||||
if (connected) {
|
||||
return LL.CONNECTED() + (connect_count > 1 ? ' (' + connect_count + ')' : '');
|
||||
return LL.CONNECTED(0) + (connect_count > 1 ? ' (' + connect_count + ')' : '');
|
||||
}
|
||||
return LL.DISCONNECTED() + (connect_count > 1 ? ' (' + connect_count + ')' : '');
|
||||
};
|
||||
@@ -112,7 +112,7 @@ const MqttStatusForm: FC = () => {
|
||||
<AutoAwesomeMotionIcon />
|
||||
</Avatar>
|
||||
</ListItemAvatar>
|
||||
<ListItemText primary="MQTT Queue" secondary={data.mqtt_queued} />
|
||||
<ListItemText primary={LL.MQTT_QUEUE()} secondary={data.mqtt_queued} />
|
||||
</ListItem>
|
||||
<Divider variant="inset" component="li" />
|
||||
<ListItem>
|
||||
@@ -121,7 +121,7 @@ const MqttStatusForm: FC = () => {
|
||||
<SpeakerNotesOffIcon />
|
||||
</Avatar>
|
||||
</ListItemAvatar>
|
||||
<ListItemText primary={'MQTT ' + LL.ERRORS()} secondary={data.mqtt_fails} />
|
||||
<ListItemText primary={LL.ERRORS_OF("MQTT")} secondary={data.mqtt_fails} />
|
||||
</ListItem>
|
||||
<Divider variant="inset" component="li" />
|
||||
</>
|
||||
@@ -137,7 +137,7 @@ const MqttStatusForm: FC = () => {
|
||||
<DeviceHubIcon />
|
||||
</Avatar>
|
||||
</ListItemAvatar>
|
||||
<ListItemText primary={LL.STATUS()} secondary={mqttStatus(data)} />
|
||||
<ListItemText primary={LL.STATUS_OF("")} secondary={mqttStatus(data)} />
|
||||
</ListItem>
|
||||
<Divider variant="inset" component="li" />
|
||||
{data.enabled && renderConnectionStatus()}
|
||||
@@ -152,7 +152,7 @@ const MqttStatusForm: FC = () => {
|
||||
};
|
||||
|
||||
return (
|
||||
<SectionContent title={'MQTT ' + LL.STATUS()} titleGutter>
|
||||
<SectionContent title={LL.STATUS_OF("MQTT")} titleGutter>
|
||||
{content()}
|
||||
</SectionContent>
|
||||
);
|
||||
|
||||
@@ -15,7 +15,7 @@ import { useI18nContext } from '../../i18n/i18n-react';
|
||||
|
||||
const NetworkConnection: FC = () => {
|
||||
const { LL } = useI18nContext();
|
||||
useLayoutTitle(LL.NETWORK());
|
||||
useLayoutTitle(LL.NETWORK(0));
|
||||
|
||||
const { routerTab } = useRouterTab();
|
||||
|
||||
@@ -45,9 +45,9 @@ const NetworkConnection: FC = () => {
|
||||
}}
|
||||
>
|
||||
<RouterTabs value={routerTab}>
|
||||
<Tab value="status" label={LL.NETWORK() + ' ' + LL.STATUS()} />
|
||||
<Tab value="status" label={LL.STATUS_OF( LL.NETWORK(1) )} />
|
||||
<Tab value="scan" label={LL.NETWORK_SCAN()} disabled={!authenticatedContext.me.admin} />
|
||||
<Tab value="settings" label={LL.NETWORK() + ' ' + LL.SETTINGS()} disabled={!authenticatedContext.me.admin} />
|
||||
<Tab value="settings" label={LL.SETTINGS_OF( LL.NETWORK(1) )} disabled={!authenticatedContext.me.admin} />
|
||||
</RouterTabs>
|
||||
<Routes>
|
||||
<Route path="status" element={<NetworkStatusForm />} />
|
||||
|
||||
@@ -140,7 +140,7 @@ const WiFiSettingsForm: FC = () => {
|
||||
<ValidatedTextField
|
||||
fieldErrors={fieldErrors}
|
||||
name="tx_power"
|
||||
label={'WiFi Tx ' + LL.POWER()}
|
||||
label={LL.TX_POWER()}
|
||||
InputProps={{
|
||||
endAdornment: <InputAdornment position="end">dBm</InputAdornment>
|
||||
}}
|
||||
@@ -174,7 +174,7 @@ const WiFiSettingsForm: FC = () => {
|
||||
<ValidatedTextField
|
||||
fieldErrors={fieldErrors}
|
||||
name="hostname"
|
||||
label="Hostname"
|
||||
label={LL.HOSTNAME()}
|
||||
fullWidth
|
||||
variant="outlined"
|
||||
value={data.hostname}
|
||||
@@ -262,7 +262,7 @@ const WiFiSettingsForm: FC = () => {
|
||||
};
|
||||
|
||||
return (
|
||||
<SectionContent title={LL.NETWORK() + ' ' + LL.SETTINGS()} titleGutter>
|
||||
<SectionContent title={LL.SETTINGS_OF( LL.NETWORK(1) )} titleGutter>
|
||||
{content()}
|
||||
</SectionContent>
|
||||
);
|
||||
|
||||
@@ -73,13 +73,13 @@ const NetworkStatusForm: FC = () => {
|
||||
case NetworkConnectionStatus.WIFI_STATUS_NO_SSID_AVAIL:
|
||||
return 'No SSID Available';
|
||||
case NetworkConnectionStatus.WIFI_STATUS_CONNECTED:
|
||||
return LL.CONNECTED() + ' (WiFi)';
|
||||
return LL.CONNECTED(0) + ' (WiFi)';
|
||||
case NetworkConnectionStatus.ETHERNET_STATUS_CONNECTED:
|
||||
return LL.CONNECTED() + ' (Ethernet)';
|
||||
return LL.CONNECTED(0) + ' (Ethernet)';
|
||||
case NetworkConnectionStatus.WIFI_STATUS_CONNECT_FAILED:
|
||||
return LL.CONNECTED() + ' ' + LL.FAILED();
|
||||
return LL.CONNECTED(1) + ' ' + LL.FAILED();
|
||||
case NetworkConnectionStatus.WIFI_STATUS_CONNECTION_LOST:
|
||||
return LL.CONNECTED() + ' ' + LL.LOST();
|
||||
return LL.CONNECTED(1) + ' ' + LL.LOST();
|
||||
case NetworkConnectionStatus.WIFI_STATUS_DISCONNECTED:
|
||||
return LL.DISCONNECTED();
|
||||
default:
|
||||
@@ -124,7 +124,7 @@ const NetworkStatusForm: FC = () => {
|
||||
<ListItemAvatar>
|
||||
<Avatar>IP</Avatar>
|
||||
</ListItemAvatar>
|
||||
<ListItemText primary="IP Address" secondary={IPs(data)} />
|
||||
<ListItemText primary={LL.ADDRESS_OF("IP")} secondary={IPs(data)} />
|
||||
</ListItem>
|
||||
<Divider variant="inset" component="li" />
|
||||
<ListItem>
|
||||
@@ -133,14 +133,14 @@ const NetworkStatusForm: FC = () => {
|
||||
<DeviceHubIcon />
|
||||
</Avatar>
|
||||
</ListItemAvatar>
|
||||
<ListItemText primary="MAC Address" secondary={data.mac_address} />
|
||||
<ListItemText primary={LL.ADDRESS_OF("MAC")} secondary={data.mac_address} />
|
||||
</ListItem>
|
||||
<Divider variant="inset" component="li" />
|
||||
<ListItem>
|
||||
<ListItemAvatar>
|
||||
<Avatar>#</Avatar>
|
||||
</ListItemAvatar>
|
||||
<ListItemText primary="Subnet Mask" secondary={data.subnet_mask} />
|
||||
<ListItemText primary={LL.NETWORK_SUBNET()} secondary={data.subnet_mask} />
|
||||
</ListItem>
|
||||
<Divider variant="inset" component="li" />
|
||||
<ListItem>
|
||||
@@ -149,7 +149,7 @@ const NetworkStatusForm: FC = () => {
|
||||
<SettingsInputComponentIcon />
|
||||
</Avatar>
|
||||
</ListItemAvatar>
|
||||
<ListItemText primary="Gateway IP" secondary={data.gateway_ip || 'none'} />
|
||||
<ListItemText primary={LL.NETWORK_GATEWAY()} secondary={data.gateway_ip || 'none'} />
|
||||
</ListItem>
|
||||
<Divider variant="inset" component="li" />
|
||||
<ListItem>
|
||||
@@ -158,7 +158,7 @@ const NetworkStatusForm: FC = () => {
|
||||
<DnsIcon />
|
||||
</Avatar>
|
||||
</ListItemAvatar>
|
||||
<ListItemText primary="DNS Server IP" secondary={dnsServers(data)} />
|
||||
<ListItemText primary={LL.NETWORK_DNS()} secondary={dnsServers(data)} />
|
||||
</ListItem>
|
||||
<Divider variant="inset" component="li" />
|
||||
</>
|
||||
@@ -174,7 +174,7 @@ const NetworkStatusForm: FC = () => {
|
||||
};
|
||||
|
||||
return (
|
||||
<SectionContent title={LL.NETWORK() + ' ' + LL.STATUS()} titleGutter>
|
||||
<SectionContent title={LL.STATUS_OF( LL.NETWORK(1) )} titleGutter>
|
||||
{content()}
|
||||
</SectionContent>
|
||||
);
|
||||
|
||||
@@ -58,7 +58,7 @@ const NTPSettingsForm: FC = () => {
|
||||
<ValidatedTextField
|
||||
fieldErrors={fieldErrors}
|
||||
name="server"
|
||||
label="Server"
|
||||
label={LL.NTP_SERVER()}
|
||||
fullWidth
|
||||
variant="outlined"
|
||||
value={data.server}
|
||||
@@ -96,7 +96,7 @@ const NTPSettingsForm: FC = () => {
|
||||
};
|
||||
|
||||
return (
|
||||
<SectionContent title={'NTP ' + LL.SETTINGS()} titleGutter>
|
||||
<SectionContent title={LL.SETTINGS_OF("NTP")} titleGutter>
|
||||
{content()}
|
||||
</SectionContent>
|
||||
);
|
||||
|
||||
@@ -100,7 +100,7 @@ const NTPStatusForm: FC = () => {
|
||||
|
||||
const renderSetTimeDialog = () => (
|
||||
<Dialog open={settingTime} onClose={() => setSettingTime(false)}>
|
||||
<DialogTitle>{LL.SET_TIME()}</DialogTitle>
|
||||
<DialogTitle>{LL.SET_TIME(1)}</DialogTitle>
|
||||
<DialogContent dividers>
|
||||
<Box color="warning.main" p={0} pl={0} pr={0} mt={0} mb={2}>
|
||||
<Typography variant="body2">{LL.SET_TIME_TEXT()}</Typography>
|
||||
@@ -129,7 +129,7 @@ const NTPStatusForm: FC = () => {
|
||||
color="primary"
|
||||
autoFocus
|
||||
>
|
||||
{LL.SET_TIME()}
|
||||
{LL.SAVE()}
|
||||
</Button>
|
||||
</DialogActions>
|
||||
</Dialog>
|
||||
@@ -149,7 +149,7 @@ const NTPStatusForm: FC = () => {
|
||||
<UpdateIcon />
|
||||
</Avatar>
|
||||
</ListItemAvatar>
|
||||
<ListItemText primary={LL.STATUS()} secondary={ntpStatus(data)} />
|
||||
<ListItemText primary={LL.STATUS_OF("")} secondary={ntpStatus(data)} />
|
||||
</ListItem>
|
||||
<Divider variant="inset" component="li" />
|
||||
{isNtpEnabled(data) && (
|
||||
@@ -160,7 +160,7 @@ const NTPStatusForm: FC = () => {
|
||||
<DnsIcon />
|
||||
</Avatar>
|
||||
</ListItemAvatar>
|
||||
<ListItemText primary="NTP Server" secondary={data.server} />
|
||||
<ListItemText primary={LL.NTP_SERVER()} secondary={data.server} />
|
||||
</ListItem>
|
||||
<Divider variant="inset" component="li" />
|
||||
</>
|
||||
@@ -196,7 +196,7 @@ const NTPStatusForm: FC = () => {
|
||||
<Box flexWrap="nowrap" whiteSpace="nowrap">
|
||||
<ButtonRow>
|
||||
<Button onClick={openSetTime} variant="outlined" color="primary" startIcon={<AccessTimeIcon />}>
|
||||
{LL.SET_TIME()}
|
||||
{LL.SET_TIME(0)}
|
||||
</Button>
|
||||
</ButtonRow>
|
||||
</Box>
|
||||
@@ -208,7 +208,7 @@ const NTPStatusForm: FC = () => {
|
||||
};
|
||||
|
||||
return (
|
||||
<SectionContent title={'NTP ' + LL.STATUS()} titleGutter>
|
||||
<SectionContent title={LL.STATUS_OF("NTP")} titleGutter>
|
||||
{content()}
|
||||
</SectionContent>
|
||||
);
|
||||
|
||||
@@ -21,8 +21,8 @@ const NetworkTime: FC = () => {
|
||||
return (
|
||||
<>
|
||||
<RouterTabs value={routerTab}>
|
||||
<Tab value="status" label={'NTP ' + LL.STATUS()} />
|
||||
<Tab value="settings" label={'NTP ' + LL.SETTINGS()} disabled={!authenticatedContext.me.admin} />
|
||||
<Tab value="status" label={LL.STATUS_OF("NTP")} />
|
||||
<Tab value="settings" label={LL.SETTINGS_OF("NTP")} disabled={!authenticatedContext.me.admin} />
|
||||
</RouterTabs>
|
||||
<Routes>
|
||||
<Route path="status" element={<NTPStatusForm />} />
|
||||
|
||||
@@ -141,7 +141,7 @@ const ManageUsersForm: FC = () => {
|
||||
<Header>
|
||||
<HeaderRow>
|
||||
<HeaderCell resize>{LL.USERNAME()}</HeaderCell>
|
||||
<HeaderCell stiff>{LL.IS_ADMIN()}</HeaderCell>
|
||||
<HeaderCell stiff>{LL.IS_ADMIN(0)}</HeaderCell>
|
||||
<HeaderCell stiff />
|
||||
</HeaderRow>
|
||||
</Header>
|
||||
@@ -192,7 +192,7 @@ const ManageUsersForm: FC = () => {
|
||||
<Box flexWrap="nowrap" whiteSpace="nowrap">
|
||||
<ButtonRow>
|
||||
<Button startIcon={<PersonAddIcon />} variant="outlined" color="secondary" onClick={createUser}>
|
||||
{LL.ADD()}
|
||||
{LL.ADD(0)}
|
||||
</Button>
|
||||
</ButtonRow>
|
||||
</Box>
|
||||
|
||||
@@ -12,7 +12,7 @@ import { useI18nContext } from '../../i18n/i18n-react';
|
||||
|
||||
const Security: FC = () => {
|
||||
const { LL } = useI18nContext();
|
||||
useLayoutTitle(LL.SECURITY());
|
||||
useLayoutTitle(LL.SECURITY(0));
|
||||
|
||||
const { routerTab } = useRouterTab();
|
||||
|
||||
@@ -20,7 +20,7 @@ const Security: FC = () => {
|
||||
<>
|
||||
<RouterTabs value={routerTab}>
|
||||
<Tab value="users" label={LL.MANAGE_USERS()} />
|
||||
<Tab value="settings" label={LL.SECURITY() + ' ' + LL.SETTINGS()} />
|
||||
<Tab value="settings" label={LL.SETTINGS_OF( LL.SECURITY(1) )} />
|
||||
</RouterTabs>
|
||||
<Routes>
|
||||
<Route path="users" element={<ManageUsersForm />} />
|
||||
|
||||
@@ -46,7 +46,7 @@ const SecuritySettingsForm: FC = () => {
|
||||
<ValidatedPasswordField
|
||||
fieldErrors={fieldErrors}
|
||||
name="jwt_secret"
|
||||
label={'su ' + LL.PASSWORD()}
|
||||
label={LL.SU_PASSWORD()}
|
||||
fullWidth
|
||||
variant="outlined"
|
||||
value={data.jwt_secret}
|
||||
@@ -71,7 +71,7 @@ const SecuritySettingsForm: FC = () => {
|
||||
};
|
||||
|
||||
return (
|
||||
<SectionContent title={LL.SECURITY() + ' ' + LL.SETTINGS()} titleGutter>
|
||||
<SectionContent title={LL.SETTINGS_OF( LL.SECURITY(1) )} titleGutter>
|
||||
{content()}
|
||||
</SectionContent>
|
||||
);
|
||||
|
||||
@@ -54,7 +54,7 @@ const UserForm: FC<UserFormProps> = ({ creating, validator, user, setUser, onDon
|
||||
{user && (
|
||||
<>
|
||||
<DialogTitle id="user-form-dialog-title">
|
||||
{creating ? LL.ADD() : LL.MODIFY()} {LL.USER()}
|
||||
{creating ? LL.ADD(1) : LL.MODIFY()} {LL.USER(1)}
|
||||
</DialogTitle>
|
||||
<DialogContent dividers>
|
||||
<ValidatedTextField
|
||||
@@ -80,7 +80,7 @@ const UserForm: FC<UserFormProps> = ({ creating, validator, user, setUser, onDon
|
||||
/>
|
||||
<BlockFormControlLabel
|
||||
control={<Checkbox name="admin" checked={user.admin} onChange={updateFormValue} />}
|
||||
label={LL.IS_ADMIN()}
|
||||
label={LL.IS_ADMIN(1)}
|
||||
/>
|
||||
</DialogContent>
|
||||
<DialogActions>
|
||||
@@ -94,7 +94,7 @@ const UserForm: FC<UserFormProps> = ({ creating, validator, user, setUser, onDon
|
||||
color="primary"
|
||||
autoFocus
|
||||
>
|
||||
{LL.ADD()}
|
||||
{LL.ADD(0)}
|
||||
</Button>
|
||||
</DialogActions>
|
||||
</>
|
||||
|
||||
@@ -85,7 +85,7 @@ const GeneralFileUpload: FC<UploadFileProps> = ({ uploadGeneralFile }) => {
|
||||
{!uploading && (
|
||||
<>
|
||||
<Typography sx={{ pt: 2, pb: 2 }} variant="h6" color="primary">
|
||||
{LL.DOWNLOAD()}
|
||||
{LL.DOWNLOAD(0)}
|
||||
</Typography>
|
||||
<Box color="warning.main">
|
||||
<Typography mb={1} variant="body2">
|
||||
@@ -93,7 +93,7 @@ const GeneralFileUpload: FC<UploadFileProps> = ({ uploadGeneralFile }) => {
|
||||
</Typography>
|
||||
</Box>
|
||||
<Button startIcon={<DownloadIcon />} variant="outlined" color="primary" onClick={() => downloadSettings()}>
|
||||
{LL.SETTINGS()}
|
||||
{LL.SETTINGS_OF("")}
|
||||
</Button>
|
||||
<Box color="warning.main">
|
||||
<Typography mt={2} mb={1} variant="body2">
|
||||
|
||||
@@ -93,7 +93,7 @@ const OTASettingsForm: FC = () => {
|
||||
};
|
||||
|
||||
return (
|
||||
<SectionContent title={'OTA ' + LL.SETTINGS()} titleGutter>
|
||||
<SectionContent title={LL.SETTINGS_OF("OTA")} titleGutter>
|
||||
{content()}
|
||||
</SectionContent>
|
||||
);
|
||||
|
||||
@@ -17,7 +17,7 @@ import { useI18nContext } from '../../i18n/i18n-react';
|
||||
const System: FC = () => {
|
||||
const { LL } = useI18nContext();
|
||||
|
||||
useLayoutTitle(LL.SYSTEM());
|
||||
useLayoutTitle(LL.SYSTEM(0));
|
||||
|
||||
const { me } = useContext(AuthenticatedContext);
|
||||
const { features } = useContext(FeaturesContext);
|
||||
@@ -26,10 +26,10 @@ const System: FC = () => {
|
||||
return (
|
||||
<>
|
||||
<RouterTabs value={routerTab}>
|
||||
<Tab value="status" label={LL.SYSTEM() + ' ' + LL.STATUS()} />
|
||||
<Tab value="log" label={LL.SYSTEM() + ' ' + LL.LOG()} />
|
||||
<Tab value="status" label={LL.STATUS_OF( LL.SYSTEM(1) )} />
|
||||
<Tab value="log" label={LL.LOG_OF( LL.SYSTEM(2) )} />
|
||||
|
||||
{features.ota && <Tab value="ota" label={'OTA ' + LL.SETTINGS()} disabled={!me.admin} />}
|
||||
{features.ota && <Tab value="ota" label={LL.SETTINGS_OF("OTA")} disabled={!me.admin} />}
|
||||
{features.upload_firmware && <Tab value="upload" label={LL.UPLOAD_DOWNLOAD()} disabled={!me.admin} />}
|
||||
</RouterTabs>
|
||||
<Routes>
|
||||
|
||||
@@ -202,7 +202,7 @@ const SystemLog: FC = () => {
|
||||
<Grid item xs={4}>
|
||||
<ValidatedTextField
|
||||
name="level"
|
||||
label="Log Level"
|
||||
label={LL.LOG_LEVEL()}
|
||||
value={data.level}
|
||||
fullWidth
|
||||
variant="outlined"
|
||||
@@ -278,7 +278,7 @@ const SystemLog: FC = () => {
|
||||
};
|
||||
|
||||
return (
|
||||
<SectionContent title={LL.SYSTEM() + ' ' + LL.LOG()} titleGutter id="log-window">
|
||||
<SectionContent title={LL.LOG_OF( LL.SYSTEM(2) )} titleGutter id="log-window">
|
||||
{content()}
|
||||
</SectionContent>
|
||||
);
|
||||
|
||||
@@ -135,7 +135,7 @@ const SystemStatusForm: FC = () => {
|
||||
</Link>
|
||||
) (
|
||||
<Link target="_blank" href={latestVersion.url} color="primary">
|
||||
{LL.DOWNLOAD()}
|
||||
{LL.DOWNLOAD(1)}
|
||||
</Link>
|
||||
)
|
||||
</Box>
|
||||
@@ -150,7 +150,7 @@ const SystemStatusForm: FC = () => {
|
||||
</Link>
|
||||
) (
|
||||
<Link target="_blank" href={latestDevVersion.url} color="primary">
|
||||
{LL.DOWNLOAD()}
|
||||
{LL.DOWNLOAD(1)}
|
||||
</Link>
|
||||
)
|
||||
</Box>
|
||||
@@ -229,7 +229,7 @@ const SystemStatusForm: FC = () => {
|
||||
<BuildIcon />
|
||||
</Avatar>
|
||||
</ListItemAvatar>
|
||||
<ListItemText primary="EMS-ESP Version" secondary={'v' + data.emsesp_version} />
|
||||
<ListItemText primary={LL.EMS_ESP_VER()} secondary={'v' + data.emsesp_version} />
|
||||
{latestVersion && (
|
||||
<Button color="primary" onClick={() => setShowingVersion(true)}>
|
||||
{LL.VERSION_CHECK(0)}
|
||||
@@ -373,7 +373,7 @@ const SystemStatusForm: FC = () => {
|
||||
};
|
||||
|
||||
return (
|
||||
<SectionContent title={LL.SYSTEM() + ' ' + LL.STATUS()} titleGutter>
|
||||
<SectionContent title={LL.STATUS_OF( LL.SYSTEM(1) )} titleGutter>
|
||||
{content()}
|
||||
</SectionContent>
|
||||
);
|
||||
|
||||
@@ -9,10 +9,11 @@ const de: Translation = {
|
||||
SIGN_OUT: 'Ausloggen',
|
||||
USERNAME: 'Nutzername',
|
||||
PASSWORD: 'Passwort',
|
||||
SU_PASSWORD: 'su Passwort',
|
||||
DASHBOARD: 'Kontrollzentrum',
|
||||
SETTINGS: 'Einstellungen',
|
||||
SETTINGS_OF: '{0} Einstellungen',
|
||||
SAVED: 'gespeichert',
|
||||
HELP: 'Hilfe',
|
||||
HELP_OF: '{0} Hilfe',
|
||||
LOGGED_IN: 'Eingeloggt als {name}',
|
||||
PLEASE_SIGNIN: 'Bitte einloggen, um fortzufahren',
|
||||
UPLOAD_SUCCESSFUL: 'Hochladen erfolgreich',
|
||||
@@ -47,13 +48,15 @@ const de: Translation = {
|
||||
ACCESS_DENIED: 'Zugriff abgelehnt',
|
||||
ANALOG_SENSOR: 'Analogsensor',
|
||||
ANALOG_SENSORS: 'Analogsensoren',
|
||||
UPDATED: 'Aktualisiert',
|
||||
UPDATE: 'Aktualisieren',
|
||||
REMOVED: 'Entfernt',
|
||||
DELETION: 'Löschung',
|
||||
UPDATED_OF: '{0} Aktualisiert',
|
||||
UPDATE_OF: '{0} Aktualisieren',
|
||||
REMOVED_OF: '{0} Entfernt',
|
||||
DELETION_OF: '{0} Löschung',
|
||||
OFFSET: 'Addition',
|
||||
FACTOR: 'Faktor',
|
||||
FREQ: 'Frequenz',
|
||||
DUTY_CYCLE: 'Duty Cycle',
|
||||
UNIT: 'UoM',
|
||||
STARTVALUE: 'Startwert',
|
||||
WARN_GPIO: 'Warnung: Vorsicht bei der korrekten Wahl des GPIO!',
|
||||
EDIT: 'Editiere',
|
||||
@@ -69,7 +72,7 @@ const de: Translation = {
|
||||
EMS_SCAN: 'Möchten Sie wirklich eine vollständige Gerätesuche des EMS-Busses starten?',
|
||||
EMS_BUS_STATUS: 'EMS-Busstatus',
|
||||
ACTIVE_DEVICES: 'Aktive Geräte und Sensoren',
|
||||
DEVICE: 'Gerät',
|
||||
EMS_DEVICE: 'EMS Gerät',
|
||||
SUCCESS: 'ERFOLG',
|
||||
FAIL: 'FEHLER',
|
||||
QUALITY: 'QUALITÄT',
|
||||
@@ -96,12 +99,14 @@ const de: Translation = {
|
||||
APPLICATION_SETTINGS: 'Anwendungseinstellungen',
|
||||
CUSTOMIZATION: 'Anpassungen',
|
||||
APPLICATION_RESTARTING: 'EMS-ESP startet neu',
|
||||
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',
|
||||
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: 'Platinenprofil',
|
||||
BUTTON: 'Taste',
|
||||
TEMPERATURE: 'Temperatur',
|
||||
PHY_TYPE: 'Eth PHY Type',
|
||||
DISABLED: 'deaktiviert',
|
||||
TX_MODE: 'Tx Mode',
|
||||
GENERAL_OPTIONS: 'Allgemeine Optionen',
|
||||
LANGUAGE_ENTITIES: 'Sprache (für Geräteentitäten)',
|
||||
HIDE_LED: 'LED ausblenden',
|
||||
@@ -124,6 +129,7 @@ const de: Translation = {
|
||||
LOGGING: 'Protokollierung',
|
||||
LOG_HEX: 'EMS-Telegramme hexadezimal protokollieren',
|
||||
ENABLE_SYSLOG: 'Syslog aktivieren',
|
||||
LOG_LEVEL: 'Log Level',
|
||||
MARK_INTERVAL: 'Intervallmarke',
|
||||
SECONDS: 'Sekunden',
|
||||
MINUTES: 'Minuten',
|
||||
@@ -157,14 +163,15 @@ const de: Translation = {
|
||||
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',
|
||||
DOWNLOAD: 'Herunterladen',
|
||||
ABORTED: 'abgebrochen',
|
||||
FAILED: 'gescheitert',
|
||||
SUCCESSFUL: 'erfolgreich',
|
||||
SYSTEM: 'System',
|
||||
LOG: 'Log',
|
||||
STATUS: 'Status',
|
||||
LOG_OF: '{0} Log',
|
||||
STATUS_OF: '{0} Status',
|
||||
UPLOAD_DOWNLOAD: 'Hoch-/Herunterladen',
|
||||
SYSTEM_VERSION_RUNNING: 'Sie verwenden die Version',
|
||||
SYSTEM_APPLY_FIRMWARE: 'um die neue Firmware anzuwenden',
|
||||
@@ -179,6 +186,7 @@ const de: Translation = {
|
||||
DEVELOPMENT: 'development',
|
||||
VERSION_IS: 'Version ist',
|
||||
RELEASE_NOTES: 'Versionshinweise',
|
||||
EMS_ESP_VER: 'EMS-ESP Version',
|
||||
PLATFORM: 'Platform (Platform / SDK)',
|
||||
UPTIME: 'System Betriebszeit',
|
||||
CPU_FREQ: 'CPU Frequenz',
|
||||
@@ -211,7 +219,7 @@ const de: Translation = {
|
||||
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: 'Fehler',
|
||||
ERRORS_OF: '{0} Fehler',
|
||||
DISCONNECT_REASON: 'Grund der Verbindungsunterbrechung',
|
||||
ENABLE_MQTT: 'MQTT aktivieren',
|
||||
OPTIONAL: 'Optional',
|
||||
@@ -229,6 +237,7 @@ const de: Translation = {
|
||||
MQTT_INT_THERMOSTATS: 'Thermostate',
|
||||
MQTT_INT_SOLAR: 'Solarmodule',
|
||||
MQTT_INT_MIXER: 'Mischermodule',
|
||||
MQTT_QUEUE: 'MQTT Queue',
|
||||
DEFAULT: 'Standard',
|
||||
MQTT_CLEAN_SESSION: 'Setze `Clean Session`',
|
||||
MQTT_RETAIN_FLAG: 'Setze `Retain flag` immer',
|
||||
@@ -240,6 +249,7 @@ const de: Translation = {
|
||||
LOCAL_TIME: 'Lokalzeit',
|
||||
UTC_TIME: 'UTC Zeit',
|
||||
ENABLE_NTP: 'Aktiviere NTP',
|
||||
NTP_SERVER: 'NTP Server',
|
||||
TIME_ZONE: 'Zeitzone',
|
||||
ACCESS_POINT: 'Zugangspunkt',
|
||||
AP_PROVIDE: 'Aktiviere Zugangspunkt',
|
||||
@@ -248,6 +258,9 @@ const de: Translation = {
|
||||
AP_PROVIDE_TEXT_3: 'Niemals',
|
||||
AP_PREFERRED_CHANNEL: 'Bevorzugter Kanal',
|
||||
AP_HIDE_SSID: 'Verstecke SSID',
|
||||
AP_CLIENTS: 'AP Clients',
|
||||
AP_MAX_CLIENTS: 'Max Clients',
|
||||
AP_LOCAL_IP: 'Local IP',
|
||||
NETWORK_SCAN: 'Suche nach WiFi Netzwerken',
|
||||
IDLE: 'Leerlauf',
|
||||
LOST: 'Verloren',
|
||||
@@ -256,12 +269,17 @@ const de: Translation = {
|
||||
NETWORK_SCANNER: 'Netzwerk Suche',
|
||||
NETWORK_NO_WIFI: 'Keine WiFi Netzwerke gefunden',
|
||||
NETWORK_BLANK_SSID: 'Freilassen um WiFi zu deaktivieren',
|
||||
POWER: 'Leistung',
|
||||
TX_POWER: 'Tx Leistung',
|
||||
HOSTNAME: 'Hostname',
|
||||
NETWORK_DISABLE_SLEEP: 'Deaktiviere WiFi Schlafmodus',
|
||||
NETWORK_LOW_BAND: 'Verwende niedrige WiFi Bandbreite',
|
||||
NETWORK_USE_DNS: 'Aktiviere mDNS Service',
|
||||
NETWORK_ENABLE_IPV6: 'Aktiviere IPv6 Unterstützung',
|
||||
NETWORK_FIXED_IP: 'Feste IP Addresse',
|
||||
NETWORK_GATEWAY: 'Getaway',
|
||||
NETWORK_SUBNET: 'Subnet Mask',
|
||||
NETWORK_DNS: 'DNS Servers',
|
||||
ADDRESS_OF: '{0} Address',
|
||||
ADMIN: 'Administrator',
|
||||
GUEST: 'Gast',
|
||||
NEW: 'Neuer',
|
||||
|
||||
@@ -9,10 +9,11 @@ const en: BaseTranslation = {
|
||||
SIGN_OUT: 'Sign Out',
|
||||
USERNAME: 'Username',
|
||||
PASSWORD: 'Password',
|
||||
SU_PASSWORD: 'su Password',
|
||||
DASHBOARD: 'Dashboard',
|
||||
SETTINGS: 'Settings',
|
||||
SETTINGS_OF: '{0} Settings',
|
||||
SAVED: 'saved',
|
||||
HELP: 'Help',
|
||||
HELP_OF: '{0} Help',
|
||||
LOGGED_IN: 'Logged in as {name}',
|
||||
PLEASE_SIGNIN: 'Please sign in to continue',
|
||||
UPLOAD_SUCCESSFUL: 'Upload successful',
|
||||
@@ -47,13 +48,15 @@ const en: BaseTranslation = {
|
||||
ACCESS_DENIED: 'Access Denied',
|
||||
ANALOG_SENSOR: 'Analog Sensor',
|
||||
ANALOG_SENSORS: 'Analog Sensors',
|
||||
UPDATED: 'Updated',
|
||||
UPDATE: 'Update',
|
||||
REMOVED: 'Removed',
|
||||
DELETION: 'Deletion',
|
||||
UPDATED_OF: '{0} Updated',
|
||||
UPDATE_OF: '{0} Update',
|
||||
REMOVED_OF: '{0} Removed',
|
||||
DELETION_OF: '{0} Deletion',
|
||||
OFFSET: 'Offset',
|
||||
FACTOR: 'Factor',
|
||||
FREQ: 'Frequency',
|
||||
DUTY_CYCLE: 'Duty Cycle',
|
||||
UNIT: 'UoM',
|
||||
STARTVALUE: 'Start value',
|
||||
WARN_GPIO: 'Warning: be careful when assigning a GPIO!',
|
||||
EDIT: 'Edit',
|
||||
@@ -69,7 +72,7 @@ const en: BaseTranslation = {
|
||||
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',
|
||||
EMS_DEVICE: 'EMS Device',
|
||||
SUCCESS: 'SUCCESS',
|
||||
FAIL: 'FAIL',
|
||||
QUALITY: 'QUALITY',
|
||||
@@ -96,12 +99,14 @@ const en: BaseTranslation = {
|
||||
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',
|
||||
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: 'Board Profile',
|
||||
BUTTON: 'Button',
|
||||
TEMPERATURE: 'Temperature',
|
||||
PHY_TYPE: 'Eth PHY Type',
|
||||
DISABLED: 'disabled',
|
||||
TX_MODE: 'Tx Mode',
|
||||
GENERAL_OPTIONS: 'General Options',
|
||||
LANGUAGE_ENTITIES: 'Language (for device entities)',
|
||||
HIDE_LED: 'Hide LED',
|
||||
@@ -124,11 +129,12 @@ const en: BaseTranslation = {
|
||||
LOGGING: 'Logging',
|
||||
LOG_HEX: 'Log EMS telegrams in hexadecimal',
|
||||
ENABLE_SYSLOG: 'Enable Syslog',
|
||||
LOG_LEVEL: 'Log Level',
|
||||
MARK_INTERVAL: 'Mark Interval',
|
||||
SECONDS: 'seconds',
|
||||
MINUTES: 'minutes',
|
||||
RESTART: 'Restart',
|
||||
HOURS: 'hours',
|
||||
RESTART: 'Restart',
|
||||
RESTART_TEXT: 'EMS-ESP needs to be restarted to apply changed system settings',
|
||||
RESTART_CONFIRM: 'Are you sure you want to restart EMS-ESP?',
|
||||
COMMAND: 'Command',
|
||||
@@ -158,14 +164,15 @@ const en: BaseTranslation = {
|
||||
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',
|
||||
LOG: 'Log',
|
||||
STATUS: 'Status',
|
||||
LOG_OF: '{0} Log',
|
||||
STATUS_OF: '{0} Status',
|
||||
UPLOAD_DOWNLOAD: 'Upload/Download',
|
||||
SYSTEM_VERSION_RUNNING: 'You are currently running version',
|
||||
SYSTEM_APPLY_FIRMWARE: 'to apply the new firmware',
|
||||
@@ -180,6 +187,7 @@ const en: BaseTranslation = {
|
||||
DEVELOPMENT: 'development',
|
||||
VERSION_IS: 'version is',
|
||||
RELEASE_NOTES: 'release notes',
|
||||
EMS_ESP_VER: 'EMS-ESP Version',
|
||||
PLATFORM: 'Device (Platform / SDK)',
|
||||
UPTIME: 'System Uptime',
|
||||
CPU_FREQ: 'CPU Frequency',
|
||||
@@ -212,7 +220,7 @@ const en: BaseTranslation = {
|
||||
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',
|
||||
ERRORS_OF: '{0} Errors',
|
||||
DISCONNECT_REASON: 'Disconnect Reason',
|
||||
ENABLE_MQTT: 'Enable MQTT',
|
||||
OPTIONAL: 'Optional',
|
||||
@@ -230,6 +238,7 @@ const en: BaseTranslation = {
|
||||
MQTT_INT_THERMOSTATS: 'Thermostats',
|
||||
MQTT_INT_SOLAR: 'Solar Modules',
|
||||
MQTT_INT_MIXER: 'Mixer Modules',
|
||||
MQTT_QUEUE: 'MQTT Queue',
|
||||
DEFAULT: 'Default',
|
||||
MQTT_CLEAN_SESSION: 'Set Clean Session',
|
||||
MQTT_RETAIN_FLAG: 'Always set Retain flag',
|
||||
@@ -241,6 +250,7 @@ const en: BaseTranslation = {
|
||||
LOCAL_TIME: 'Local Time',
|
||||
UTC_TIME: 'UTC Time',
|
||||
ENABLE_NTP: 'Enable NTP',
|
||||
NTP_SERVER: 'NTP Server',
|
||||
TIME_ZONE: 'Time Zone',
|
||||
ACCESS_POINT: 'Access Point',
|
||||
AP_PROVIDE: 'Enable Access Point',
|
||||
@@ -249,6 +259,9 @@ const en: BaseTranslation = {
|
||||
AP_PROVIDE_TEXT_3: 'never',
|
||||
AP_PREFERRED_CHANNEL: 'Preferred Channel',
|
||||
AP_HIDE_SSID: 'Hide SSID',
|
||||
AP_CLIENTS: 'AP Clients',
|
||||
AP_MAX_CLIENTS: 'Max Clients',
|
||||
AP_LOCAL_IP: 'Local IP',
|
||||
NETWORK_SCAN: 'Scan WiFi Networks',
|
||||
IDLE: 'Idle',
|
||||
LOST: 'Lost',
|
||||
@@ -257,12 +270,17 @@ const en: BaseTranslation = {
|
||||
NETWORK_SCANNER: 'Network Scanner',
|
||||
NETWORK_NO_WIFI: 'No WiFi networks found',
|
||||
NETWORK_BLANK_SSID: 'leave blank to disable WiFi',
|
||||
POWER: 'Power',
|
||||
TX_POWER: 'Tx Power',
|
||||
HOSTNAME: 'Hostname',
|
||||
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',
|
||||
NETWORK_GATEWAY: 'Getaway',
|
||||
NETWORK_SUBNET: 'Subnet Mask',
|
||||
NETWORK_DNS: 'DNS Servers',
|
||||
ADDRESS_OF: '{0} Address',
|
||||
ADMIN: 'Admin',
|
||||
GUEST: 'Guest',
|
||||
NEW: 'New',
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -6,7 +6,7 @@ import type { LocaleDetector } from 'typesafe-i18n/detectors'
|
||||
import { detectLocale as detectLocaleFn } from 'typesafe-i18n/detectors'
|
||||
import type { Formatters, Locales, Translations, TranslationFunctions } from './i18n-types'
|
||||
|
||||
export const baseLocale: Locales = 'en'
|
||||
export const baseLocale: Locales = 'pl'
|
||||
|
||||
export const locales: Locales[] = [
|
||||
'de',
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import type { BaseTranslation } from '../i18n-types';
|
||||
import type { Translation } from '../i18n-types';
|
||||
|
||||
const nl: BaseTranslation = {
|
||||
const nl: Translation = {
|
||||
LANGUAGE: 'Taal',
|
||||
RETRY: 'Opnieuw proberen',
|
||||
LOADING: 'Laden',
|
||||
@@ -9,10 +9,11 @@ const nl: BaseTranslation = {
|
||||
SIGN_OUT: 'Uitloggen',
|
||||
USERNAME: 'Gebruikersnaam',
|
||||
PASSWORD: 'Wachtwoord',
|
||||
SU_PASSWORD: 'su Wachtwoord',
|
||||
DASHBOARD: 'Dashboard',
|
||||
SETTINGS: 'Instellingen',
|
||||
SETTINGS_OF: '{0} Instellingen',
|
||||
SAVED: 'opgeslagen',
|
||||
HELP: 'Help',
|
||||
HELP_OF: '{0} Help',
|
||||
LOGGED_IN: 'Ingelogd als {name}',
|
||||
PLEASE_SIGNIN: 'Log in om verder te gaan',
|
||||
UPLOAD_SUCCESSFUL: 'Upload successvol',
|
||||
@@ -47,13 +48,15 @@ const nl: BaseTranslation = {
|
||||
ACCESS_DENIED: 'Toegang geweigerd',
|
||||
ANALOG_SENSOR: 'Analoge sensor',
|
||||
ANALOG_SENSORS: 'Analoge Sensoren',
|
||||
UPDATED: 'Bijgewerkt',
|
||||
UPDATE: 'Bijwerken',
|
||||
REMOVED: 'Verwijderd',
|
||||
DELETION: 'Verwijder',
|
||||
UPDATED_OF: '{0} Bijgewerkt',
|
||||
UPDATE_OF: '{0} Bijwerken',
|
||||
REMOVED_OF: '{0} Verwijderd',
|
||||
DELETION_OF: '{0} Verwijder',
|
||||
OFFSET: 'Offset',
|
||||
FACTOR: 'Factor',
|
||||
FREQ: 'Frequentie',
|
||||
DUTY_CYCLE: 'Duty Cycle',
|
||||
UNIT: 'UoM',
|
||||
STARTVALUE: 'Startwaarde',
|
||||
WARN_GPIO: 'Waarschuwing: let op met het koppelen van de juiste GPIO pin!',
|
||||
EDIT: 'Wijzigen',
|
||||
@@ -69,7 +72,7 @@ const nl: BaseTranslation = {
|
||||
EMS_SCAN: 'Weet je zeker dat je een volledige EMS bus scan uit wilt voeren?',
|
||||
EMS_BUS_STATUS: 'EMS busstatus',
|
||||
ACTIVE_DEVICES: 'Actieve Apparaten & Sensoren',
|
||||
DEVICE: 'Apparaat',
|
||||
EMS_DEVICE: 'EMS Apparaat',
|
||||
SUCCESS: 'SUCCESS',
|
||||
FAIL: 'MISLUKT',
|
||||
QUALITY: 'QUALITEIT',
|
||||
@@ -96,11 +99,13 @@ const nl: BaseTranslation = {
|
||||
APPLICATION_SETTINGS: 'Applicatieinstellingen',
|
||||
CUSTOMIZATION: 'Custom aanpassingen',
|
||||
APPLICATION_RESTARTING: 'EMS-ESP herstarten',
|
||||
BOARD_PROFILE_TEXT:
|
||||
'Selecteer een vooraf ingesteld apparaat profiel uit de lijst of kies Eigen om zelf uw hardware te configureren',
|
||||
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: 'Apparaatprofiel',
|
||||
BUTTON: 'Toets',
|
||||
TEMPERATURE: 'Temperatuur',
|
||||
PHY_TYPE: 'Eth PHY Type',
|
||||
TX_MODE: 'Tx Mode',
|
||||
DISABLED: 'Uitgeschakeld',
|
||||
GENERAL_OPTIONS: 'Algemene Opties',
|
||||
LANGUAGE_ENTITIES: 'Taal (voor apparaat entiteiten)',
|
||||
@@ -124,11 +129,12 @@ const nl: BaseTranslation = {
|
||||
LOGGING: 'Logging',
|
||||
LOG_HEX: 'Log EMS telegrammen in hexadecimaal',
|
||||
ENABLE_SYSLOG: 'Activeer Syslog',
|
||||
LOG_LEVEL: 'Log Level',
|
||||
MARK_INTERVAL: 'Markeringsinterval',
|
||||
SECONDS: 'seconden',
|
||||
MINUTES: 'minuten',
|
||||
RESTART: 'Herstarten',
|
||||
HOURS: 'uren',
|
||||
RESTART: 'Herstarten',
|
||||
RESTART_TEXT: 'EMS-ESP dient opnieuw gestart te worden om de wijzingen toe te passen',
|
||||
RESTART_CONFIRM: 'Weet je zeker dat je EMS-ESP wilt herstarten?',
|
||||
COMMAND: 'Commando',
|
||||
@@ -156,14 +162,15 @@ const nl: BaseTranslation = {
|
||||
HELP_INFORMATION_4: 'zorg dat je ook je systeem details zijn toevoeged voor een sneller antwoord',
|
||||
HELP_INFORMATION_5: 'EMS-ESP is een gratis en open source project. Steun ons met een Star op Github!',
|
||||
SUPPORT_INFO: 'Support Info',
|
||||
UPLOAD_OF: '{0} Upload',
|
||||
UPLOAD: 'Upload',
|
||||
DOWNLOAD: 'Download',
|
||||
ABORTED: 'afgebroken',
|
||||
FAILED: 'mislukt',
|
||||
SUCCESSFUL: 'successvol',
|
||||
SYSTEM: 'Systeem',
|
||||
LOG: 'Log',
|
||||
STATUS: 'Status',
|
||||
LOG_OF: '{0} Log',
|
||||
STATUS_OF: '{0} Status',
|
||||
UPLOAD_DOWNLOAD: 'Upload/Download',
|
||||
SYSTEM_VERSION_RUNNING: 'op dit moment draai je versie',
|
||||
SYSTEM_APPLY_FIRMWARE: 'om de nieuwe firmware te activeren',
|
||||
@@ -178,6 +185,7 @@ const nl: BaseTranslation = {
|
||||
DEVELOPMENT: 'development',
|
||||
VERSION_IS: 'versie is',
|
||||
RELEASE_NOTES: 'release notes',
|
||||
EMS_ESP_VER: 'EMS-ESP Version',
|
||||
PLATFORM: 'Apparaat (Platform / SDK)',
|
||||
UPTIME: 'Systeem Uptime',
|
||||
CPU_FREQ: 'CPU Frequency',
|
||||
@@ -210,7 +218,7 @@ const nl: BaseTranslation = {
|
||||
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: 'Foutmeldingen',
|
||||
ERRORS_OF: '{0} Foutmeldingen',
|
||||
DISCONNECT_REASON: 'Verbinding verbroken vanwege',
|
||||
ENABLE_MQTT: 'Activeer MQTT',
|
||||
OPTIONAL: 'Optioneel',
|
||||
@@ -228,6 +236,7 @@ const nl: BaseTranslation = {
|
||||
MQTT_INT_THERMOSTATS: 'Thermostaten',
|
||||
MQTT_INT_SOLAR: 'Solar Modules',
|
||||
MQTT_INT_MIXER: 'Mixer Modules',
|
||||
MQTT_QUEUE: 'MQTT Queue',
|
||||
DEFAULT: 'Default',
|
||||
MQTT_CLEAN_SESSION: 'Clean Session aan',
|
||||
MQTT_RETAIN_FLAG: 'Retain flag aan',
|
||||
@@ -239,6 +248,7 @@ const nl: BaseTranslation = {
|
||||
LOCAL_TIME: 'Locale Tijd',
|
||||
UTC_TIME: 'UTC Tijd',
|
||||
ENABLE_NTP: 'Activeer NTP',
|
||||
NTP_SERVER: 'NTP Server',
|
||||
TIME_ZONE: 'Tijdzone',
|
||||
ACCESS_POINT: 'Access Point',
|
||||
AP_PROVIDE: 'Activeer Access Point',
|
||||
@@ -247,6 +257,9 @@ const nl: BaseTranslation = {
|
||||
AP_PROVIDE_TEXT_3: 'nooit',
|
||||
AP_PREFERRED_CHANNEL: 'Voorkeurskanaal',
|
||||
AP_HIDE_SSID: 'SSID verbergen',
|
||||
AP_CLIENTS: 'AP Clients',
|
||||
AP_MAX_CLIENTS: 'Max Clients',
|
||||
AP_LOCAL_IP: 'Local IP',
|
||||
NETWORK_SCAN: 'Scan WiFi Networken',
|
||||
IDLE: 'Idle',
|
||||
LOST: 'Verloren',
|
||||
@@ -255,12 +268,17 @@ const nl: BaseTranslation = {
|
||||
NETWORK_SCANNER: 'Netwerk Scanner',
|
||||
NETWORK_NO_WIFI: 'Geen WiFi networken gevonden',
|
||||
NETWORK_BLANK_SSID: 'laat leeg om WiFi uit te schakelen',
|
||||
POWER: 'Vermogen',
|
||||
TX_POWER: 'Tx Vermogen',
|
||||
HOSTNAME: 'Hostname',
|
||||
NETWORK_DISABLE_SLEEP: 'WiFi Sleep Mode uitzetten',
|
||||
NETWORK_LOW_BAND: 'Lagere WiFi bandbreedte gebruiken',
|
||||
NETWORK_USE_DNS: 'Activeer mDNS Service',
|
||||
NETWORK_ENABLE_IPV6: 'Activeer IPv6 support',
|
||||
NETWORK_FIXED_IP: 'Gebruik vast IP addres',
|
||||
NETWORK_GATEWAY: 'Getaway',
|
||||
NETWORK_SUBNET: 'Subnet Mask',
|
||||
NETWORK_DNS: 'DNS Servers',
|
||||
ADDRESS_OF: '{0} Address',
|
||||
ADMIN: 'Admin',
|
||||
GUEST: 'Gast',
|
||||
NEW: 'Nieuwe',
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import type { BaseTranslation } from '../i18n-types';
|
||||
import type { Translation } from '../i18n-types';
|
||||
|
||||
const no: BaseTranslation = {
|
||||
const no: Translation = {
|
||||
LANGUAGE: 'Språk',
|
||||
RETRY: 'Forsøk igjen',
|
||||
LOADING: 'Laster',
|
||||
@@ -9,10 +9,11 @@ const no: BaseTranslation = {
|
||||
SIGN_OUT: 'Logg ut',
|
||||
USERNAME: 'Brukernavn',
|
||||
PASSWORD: 'Passord',
|
||||
SU_PASSWORD: 'su Passord',
|
||||
DASHBOARD: 'Dashboard',
|
||||
SETTINGS: 'Innstillinger',
|
||||
SETTINGS_OF: '{0} Innstillinger',
|
||||
SAVED: 'lagret',
|
||||
HELP: 'Hjelp',
|
||||
HELP_OF: '{0} Hjelp',
|
||||
LOGGED_IN: 'Logget in som {name}',
|
||||
PLEASE_SIGNIN: 'Venligst logge inn for å fortsetta',
|
||||
UPLOAD_SUCCESSFUL: 'Opplasting lykkes',
|
||||
@@ -47,13 +48,15 @@ const no: BaseTranslation = {
|
||||
ACCESS_DENIED: 'Tilgang nektet',
|
||||
ANALOG_SENSOR: 'Analog Sensor',
|
||||
ANALOG_SENSORS: 'Analoge Sensorer',
|
||||
UPDATED: 'Oppdatert',
|
||||
UPDATE: 'Oppdater',
|
||||
REMOVED: 'Slettet',
|
||||
DELETION: 'Sletting',
|
||||
UPDATED_OF: '{0} Oppdatert',
|
||||
UPDATE_OF: '{0} Oppdater',
|
||||
REMOVED_OF: '{0} Slettet',
|
||||
DELETION_OF: '{0} Sletting',
|
||||
OFFSET: 'Kompensering',
|
||||
FACTOR: 'Faktor',
|
||||
FREQ: 'Frekvens',
|
||||
DUTY_CYCLE: 'Duty Cycle',
|
||||
UNIT: 'UoM',
|
||||
STARTVALUE: 'Startverdi',
|
||||
WARN_GPIO: 'Advarsel: vær forsiktig ved aktivering av GPIO!',
|
||||
EDIT: 'Endre',
|
||||
@@ -69,7 +72,7 @@ const no: BaseTranslation = {
|
||||
EMS_SCAN: 'Er du sikker på du vil starte full søking av EMS bussen?',
|
||||
EMS_BUS_STATUS: 'EMS Buss Status',
|
||||
ACTIVE_DEVICES: 'Aktive Enheter og Sensorer',
|
||||
DEVICE: 'Enhet',
|
||||
EMS_DEVICE: 'EMS Enhet',
|
||||
SUCCESS: 'VELLYKKET',
|
||||
FAIL: 'MISLYKKET',
|
||||
QUALITY: 'KVALITET',
|
||||
@@ -96,12 +99,14 @@ const no: BaseTranslation = {
|
||||
APPLICATION_SETTINGS: 'Innstillinger',
|
||||
CUSTOMIZATION: 'Tilpasninger',
|
||||
APPLICATION_RESTARTING: 'EMS-ESP restarter',
|
||||
BOARD_PROFILE_TEXT:
|
||||
'Velg en pre-konfigurert prosessor profil fra listen under eller velg Tilpasset for å konfigurere dine egne innstillinger',
|
||||
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: 'Prosessor Profil',
|
||||
BUTTON: 'Knapp',
|
||||
TEMPERATURE: 'Temperatur',
|
||||
PHY_TYPE: 'Eth PHY Type',
|
||||
DISABLED: 'avslått',
|
||||
TX_MODE: 'Tx Mode',
|
||||
GENERAL_OPTIONS: 'Generelle Innstillinger',
|
||||
LANGUAGE_ENTITIES: 'Språk (for objekter)',
|
||||
HIDE_LED: 'Skjul LED',
|
||||
@@ -124,11 +129,12 @@ const no: BaseTranslation = {
|
||||
LOGGING: 'Logging',
|
||||
LOG_HEX: 'Logg EMS telegrammer i hexadesimal',
|
||||
ENABLE_SYSLOG: 'Aktiver Syslog',
|
||||
LOG_LEVEL: 'Log Level',
|
||||
MARK_INTERVAL: 'Oppdateringsintervall',
|
||||
SECONDS: 'sekunder',
|
||||
MINUTES: 'minutter',
|
||||
RESTART: 'Omstart',
|
||||
HOURS: 'timer',
|
||||
RESTART: 'Omstart',
|
||||
RESTART_TEXT: 'EMS-ESP må omstartes for å iverksette endrede systeminstillinger',
|
||||
RESTART_CONFIRM: 'Er du sikker på at du vil omstarte EMS-ESP?',
|
||||
COMMAND: 'Kommando',
|
||||
@@ -157,14 +163,15 @@ const no: BaseTranslation = {
|
||||
'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',
|
||||
UPLOAD: 'Opplasning',
|
||||
DOWNLOAD: 'Nedlasting',
|
||||
ABORTED: 'avbrutt',
|
||||
FAILED: 'feilet',
|
||||
SUCCESSFUL: 'vellykket',
|
||||
SYSTEM: 'System',
|
||||
LOG: 'Logg',
|
||||
STATUS: 'Status',
|
||||
LOG_OF: '{0} Logg',
|
||||
STATUS_OF: '{0} Status',
|
||||
UPLOAD_DOWNLOAD: 'Opp/Nedlasting',
|
||||
SYSTEM_VERSION_RUNNING: 'Du benytter versjon',
|
||||
SYSTEM_APPLY_FIRMWARE: 'for å aktivere ny firmware',
|
||||
@@ -179,6 +186,7 @@ const no: BaseTranslation = {
|
||||
DEVELOPMENT: 'development',
|
||||
VERSION_IS: 'versjonen er',
|
||||
RELEASE_NOTES: 'release notes',
|
||||
EMS_ESP_VER: 'EMS-ESP Version',
|
||||
PLATFORM: 'Enhet (Platform / SDK)',
|
||||
UPTIME: 'System Oppetid',
|
||||
CPU_FREQ: 'CPU Frekvens',
|
||||
@@ -211,7 +219,7 @@ const no: BaseTranslation = {
|
||||
SU_TEXT:
|
||||
'su brukeren (super user) passord benyttes for å signere autentiserings token samt å tillate admin privileger i konsoll modus.',
|
||||
NOT_ENABLED: 'Ikke aktiv',
|
||||
ERRORS: 'Feil',
|
||||
ERRORS_OF: '{0} Feil',
|
||||
DISCONNECT_REASON: 'Årsak til nedkobling',
|
||||
ENABLE_MQTT: 'Aktiver MQTT',
|
||||
OPTIONAL: 'Valgfritt',
|
||||
@@ -229,6 +237,7 @@ const no: BaseTranslation = {
|
||||
MQTT_INT_THERMOSTATS: 'Termostat',
|
||||
MQTT_INT_SOLAR: 'Solpaneler',
|
||||
MQTT_INT_MIXER: 'Blandeventil',
|
||||
MQTT_QUEUE: 'MQTT Queue',
|
||||
DEFAULT: 'Standard',
|
||||
MQTT_CLEAN_SESSION: 'Benytt Clean Session',
|
||||
MQTT_RETAIN_FLAG: 'Alltid sett Retain flag',
|
||||
@@ -240,6 +249,7 @@ const no: BaseTranslation = {
|
||||
LOCAL_TIME: 'Lokaltid',
|
||||
UTC_TIME: 'UTC Tid',
|
||||
ENABLE_NTP: 'Aktiver NTP',
|
||||
NTP_SERVER: 'NTP Server',
|
||||
TIME_ZONE: 'Tidssone',
|
||||
ACCESS_POINT: 'Aksesspunkt',
|
||||
AP_PROVIDE: 'Aktiver Aksesspunkt',
|
||||
@@ -248,6 +258,9 @@ const no: BaseTranslation = {
|
||||
AP_PROVIDE_TEXT_3: 'aldri',
|
||||
AP_PREFERRED_CHANNEL: 'Foretrukket kanal',
|
||||
AP_HIDE_SSID: 'Skjul SSID',
|
||||
AP_CLIENTS: 'AP Clients',
|
||||
AP_MAX_CLIENTS: 'Max Clients',
|
||||
AP_LOCAL_IP: 'Local IP',
|
||||
NETWORK_SCAN: 'Søk etter trådløst nettverk',
|
||||
IDLE: 'Klar',
|
||||
LOST: 'Mistet',
|
||||
@@ -256,12 +269,17 @@ const no: BaseTranslation = {
|
||||
NETWORK_SCANNER: 'Nettverk Scanner',
|
||||
NETWORK_NO_WIFI: 'Ingen trådløse nett funnet',
|
||||
NETWORK_BLANK_SSID: 'la feltet være blankt for å deaktivisere trådløst nettverk',
|
||||
POWER: 'Effekt',
|
||||
TX_POWER: 'Tx Effekt',
|
||||
HOSTNAME: 'Hostname',
|
||||
NETWORK_DISABLE_SLEEP: 'Hindre at trådløst nettverk går i Sleep Mode',
|
||||
NETWORK_LOW_BAND: 'Benytt smalere båndbredde på trådløst nettverk',
|
||||
NETWORK_USE_DNS: 'Aktiviser mDNS Service',
|
||||
NETWORK_ENABLE_IPV6: 'Aktiviser IPv6 støtte',
|
||||
NETWORK_FIXED_IP: 'Benytt statisk IP adresse',
|
||||
NETWORK_GATEWAY: 'Getaway',
|
||||
NETWORK_SUBNET: 'Subnet Mask',
|
||||
NETWORK_DNS: 'DNS Servers',
|
||||
ADDRESS_OF: '{0} Address',
|
||||
ADMIN: 'Admin',
|
||||
GUEST: 'Gjest',
|
||||
NEW: 'Ny',
|
||||
|
||||
@@ -1,25 +1,26 @@
|
||||
import type { BaseTranslation } from '../i18n-types';
|
||||
import type { Translation } from '../i18n-types';
|
||||
|
||||
const pl: BaseTranslation = {
|
||||
const pl: Translation = {
|
||||
LANGUAGE: 'Język',
|
||||
RETRY: 'Ponów',
|
||||
LOADING: 'Ładowanie',
|
||||
IS_REQUIRED: 'Czy wymagany?',
|
||||
SIGN_IN: 'Zaloguj',
|
||||
SIGN_OUT: 'Wyloguj',
|
||||
USERNAME: 'Użytkownik',
|
||||
USERNAME: 'Nazwa użytkownika',
|
||||
PASSWORD: 'Hasło',
|
||||
SU_PASSWORD: 'Hasło "su"',
|
||||
DASHBOARD: 'Pulpit',
|
||||
SETTINGS: 'Ustawienia',
|
||||
SAVED: 'zapisano',
|
||||
HELP: 'Pomoc',
|
||||
LOGGED_IN: 'Zalogowany jako {name}',
|
||||
SETTINGS_OF: 'Ustawienia {0}',
|
||||
SAVED: 'zostały zapisane.',
|
||||
HELP_OF: 'Pomoc {0}',
|
||||
LOGGED_IN: 'Zalogowany jako {name}.',
|
||||
PLEASE_SIGNIN: 'Zaloguj się aby kontynuować.',
|
||||
UPLOAD_SUCCESSFUL: 'Wysyłanie zakończone.',
|
||||
DOWNLOAD_SUCCESSFUL: 'Pobieranie zakończone.',
|
||||
INVALID_LOGIN: 'Niepoprawny login',
|
||||
NETWORK: 'Sieć',
|
||||
SECURITY: 'Bezpieczeństwo',
|
||||
INVALID_LOGIN: 'Niepoprawny login!',
|
||||
NETWORK: '{{Sieć|sieci|}}',
|
||||
SECURITY: '{{B|b|}}ezpieczeństw{{o|a|}}',
|
||||
ONOFF_CAP: 'wł./wył.',
|
||||
ONOFF: 'włączono/wyłączono',
|
||||
TYPE: 'Typ',
|
||||
@@ -30,7 +31,7 @@ const pl: BaseTranslation = {
|
||||
DEVICE_DETAILS: 'Szczegóły urządzenia',
|
||||
BRAND: 'Marka',
|
||||
ENTITY_NAME: 'Nazwa encji',
|
||||
VALUE: 'Wartość',
|
||||
VALUE: '{{Wartość|wartość|}}',
|
||||
SHOW_FAV: 'Pokaż tylko "ulubione"',
|
||||
DEVICE_SENSOR_DATA: 'Dane z urządzeń i czujników',
|
||||
DEVICES_SENSORS: 'Urządzenia i czujniki',
|
||||
@@ -38,22 +39,24 @@ const pl: BaseTranslation = {
|
||||
RUN_COMMAND: 'Wykonaj komendę',
|
||||
CHANGE_VALUE: 'Zmień wartość',
|
||||
CANCEL: 'Anuluj',
|
||||
RESET: 'Resetuj',
|
||||
RESET: '{{Resetuj|Resetowanie|}}',
|
||||
SEND: 'Wyślij',
|
||||
SAVE: 'Zapisz',
|
||||
REMOVE: 'Usuń',
|
||||
PROBLEM_UPDATING: 'Problem z aktualizacją',
|
||||
PROBLEM_LOADING: 'Problem z pobieraniem',
|
||||
ACCESS_DENIED: 'Brak dostępu',
|
||||
ANALOG_SENSOR: 'urządzenia podłączonego do GPIO',
|
||||
ANALOG_SENSORS: 'Urządzenia podłączone do GPIO',
|
||||
UPDATED: 'Zaktualizowano',
|
||||
UPDATE: 'Aktualizacja',
|
||||
REMOVED: 'Usunięto',
|
||||
DELETION: 'Skasowano',
|
||||
PROBLEM_UPDATING: 'Problem z aktualizacją!',
|
||||
PROBLEM_LOADING: 'Problem z pobieraniem!',
|
||||
ACCESS_DENIED: 'Brak dostępu!',
|
||||
ANALOG_SENSOR: 'urządzenia podłączonego do EMS-ESP',
|
||||
ANALOG_SENSORS: 'Urządzenia podłączone do EMS-ESP',
|
||||
UPDATED_OF: 'Zaktualizowano ustawienia {0}.',
|
||||
UPDATE_OF: 'Aktualizacja {0}',
|
||||
REMOVED_OF: 'Usunięto ustawienia {0}.',
|
||||
DELETION_OF: 'Kasowanie {0}',
|
||||
OFFSET: 'Korekta +/-',
|
||||
FACTOR: 'Mnożnik',
|
||||
FREQ: 'Częstotliwość',
|
||||
DUTY_CYCLE: 'Wypełnienie',
|
||||
UNIT: 'J.m.',
|
||||
STARTVALUE: 'Wartość początkowa',
|
||||
WARN_GPIO: 'Uwaga! Bądź ostrożny przypisując GPIO do czujnika!',
|
||||
EDIT: 'Edycja',
|
||||
@@ -62,14 +65,14 @@ const pl: BaseTranslation = {
|
||||
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_SCANNING: 'Skanuję w poszukiwaniu urządzeń EMS...',
|
||||
CONNECTED: 'połączono',
|
||||
TX_ISSUES: 'Problem z zapisem na magistralę EMS. Spróbuj wybrać inny "tryb Tx"',
|
||||
DISCONNECTED: 'brak połączenia',
|
||||
EMS_BUS_SCANNING: 'Trwa skanowanie magistrali EMS w poszukiwaniu urządzeń...',
|
||||
CONNECTED: '{{połączono|połączenie|}}',
|
||||
TX_ISSUES: 'Problem z zapisem na magistralę EMS. Spróbuj wybrać inny "Sposób transmisji (Tx)".',
|
||||
DISCONNECTED: 'zostało rozłączone',
|
||||
EMS_SCAN: 'Czy na pewno wykonać pełne skanowanie magistrali EMS?',
|
||||
EMS_BUS_STATUS: 'Status magistrali EMS',
|
||||
ACTIVE_DEVICES: 'Aktywne urządzenia i czujniki',
|
||||
DEVICE: 'Urządzenie',
|
||||
EMS_DEVICE: 'Urządzenie EMS',
|
||||
SUCCESS: 'Udane',
|
||||
FAIL: 'Nieudane',
|
||||
QUALITY: 'Jakość',
|
||||
@@ -84,7 +87,7 @@ const pl: BaseTranslation = {
|
||||
'Odczyty czujników analogowych i cyfrowych',
|
||||
'Publikacje MQTT',
|
||||
'Wywołania API',
|
||||
'Wpisy syslog'
|
||||
'Wpisy w logu systemowym'
|
||||
],
|
||||
NUM_DEVICES: '{num} urządze{{ń|nie|nia|nia|ń}} EMS',
|
||||
NUM_TEMP_SENSORS: '{num} czujni{{ków|k|ki|ki|ków}} temperatury',
|
||||
@@ -95,12 +98,15 @@ const pl: BaseTranslation = {
|
||||
NUM_MINUTES: '{num} minu{{t|ta|ty|ty|t}}',
|
||||
APPLICATION_SETTINGS: 'Ustawienia aplikacji',
|
||||
CUSTOMIZATION: 'Personalizacja',
|
||||
APPLICATION_RESTARTING: 'Trwa ponowne uruchamianie',
|
||||
APPLICATION_RESTARTING: 'Trwa ponowne uruchamianie...',
|
||||
INTERFACE_BOARD_PROFILE: 'Profil płytki interfejsu',
|
||||
BOARD_PROFILE_TEXT: 'Wybierz z listy wstępną konfigurację płytki interfejsu lub stwórz własną konfigurację.',
|
||||
BOARD_PROFILE: 'Profil płytki',
|
||||
BUTTON: 'Przycisk',
|
||||
TEMPERATURE: '1-Wire®',
|
||||
PHY_TYPE: 'Typ układu ethernetowego (PHY)',
|
||||
DISABLED: 'wyłączony',
|
||||
TX_MODE: 'Sposób transmisji (Tx)',
|
||||
GENERAL_OPTIONS: 'Opcje podstawowe',
|
||||
LANGUAGE_ENTITIES: 'Język encji',
|
||||
HIDE_LED: 'Wyłącz LED',
|
||||
@@ -118,12 +124,13 @@ const pl: BaseTranslation = {
|
||||
BOOLEAN_FORMAT_DASHBOARD: 'Format wartości binarnych dla pulpitu',
|
||||
BOOLEAN_FORMAT_API: 'Format wartości binarnych dla API/MQTT',
|
||||
ENUM_FORMAT: 'Format wartości numerowanych dla API/MQTT',
|
||||
INDEX: 'Indeks',
|
||||
INDEX: 'indeks',
|
||||
ENABLE_PARASITE: 'Aktywuj zasilanie pasożytnicze',
|
||||
LOGGING: 'Logowanie',
|
||||
LOG_HEX: 'Loguj telegramy EMS w systemie szesnastkowym (hex)',
|
||||
ENABLE_SYSLOG: 'Aktywuj syslog',
|
||||
MARK_INTERVAL: 'Zaznacz interwał',
|
||||
ENABLE_SYSLOG: 'Aktywuj SysLog',
|
||||
LOG_LEVEL: 'Poziom logowania',
|
||||
MARK_INTERVAL: 'Oznaczaj interwały (0=brak)',
|
||||
SECONDS: 'sek.',
|
||||
MINUTES: 'min.',
|
||||
HOURS: 'godz.',
|
||||
@@ -133,7 +140,7 @@ const pl: BaseTranslation = {
|
||||
COMMAND: 'KOMENDA',
|
||||
CUSTOMIZATIONS_RESTART: 'Wszystkie personalizacje zostały usunięte. Restartuję...',
|
||||
CUSTOMIZATIONS_FULL: 'Wybrano za dużo obiektów. Wprowadź zmiany w mniejszych partiach.',
|
||||
CUSTOMIZATIONS_SAVED: 'Personalizacje zapisane.',
|
||||
CUSTOMIZATIONS_SAVED: 'Personalizacje zostały zapisane.',
|
||||
CUSTOMIZATIONS_HELP_1: 'Wybierz urządzenie EMS, dostosuj opcje lub kliknij by zmienić nazwę encji.',
|
||||
CUSTOMIZATIONS_HELP_2: 'oznacz jako ulubioną',
|
||||
CUSTOMIZATIONS_HELP_3: 'zablokuj możliwość zapisu',
|
||||
@@ -144,27 +151,28 @@ const pl: BaseTranslation = {
|
||||
OPTIONS: 'Opcje',
|
||||
NAME: 'nazwa',
|
||||
CUSTOMIZATIONS_RESET:
|
||||
'Czy jesteś pewien, że chcesz usunąć wszystkie personalizacje łącznie z ustawieniami dla czujników temperatury i analogowych?',
|
||||
'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: 'Dodatkowe informacje',
|
||||
SUPPORT_INFORMATION: 'Informacje dotyczące wsparcia',
|
||||
CLICK_HERE: 'Kliknij tu',
|
||||
HELP_INFORMATION_1: 'Skorzystaj z wiki w celu znalezienia szczegółowych instrukcji jak skonfigurować EMS-ESP',
|
||||
HELP_INFORMATION_2: 'Skorzystaj z serwera Discord w celu komunikacji na żywo ze społecznością',
|
||||
HELP_INFORMATION_1: 'W celu znalezienia szczegółowych instrukcji jak skonfigurować EMS-ESP skorzystaj z wiki',
|
||||
HELP_INFORMATION_2: 'W celu komunikacji na żywo ze społecznością skorzystaj z serwera Discord',
|
||||
HELP_INFORMATION_3: 'Aby zaproponować nową funkcjonalność lub zgłosić problem',
|
||||
HELP_INFORMATION_4:
|
||||
'gdy zgłaszasz problem, będzie on szybciej rozwiązany gdy do zgłoszenia dołączysz pełną informację o swoim systemie',
|
||||
'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!',
|
||||
SUPPORT_INFO: 'Dodatkowe informacje',
|
||||
SUPPORT_INFO: 'Pobierz informacje',
|
||||
UPLOAD_OF: 'Wysyłanie {0}',
|
||||
UPLOAD: 'Wysyłanie',
|
||||
DOWNLOAD: 'Pobieranie',
|
||||
ABORTED: 'przerwano.',
|
||||
DOWNLOAD: '{{P|p|P}}obier{{anie|z|z}}',
|
||||
ABORTED: 'zostało przerwane!',
|
||||
FAILED: 'nie powiodło się!',
|
||||
SUCCESSFUL: 'powiodło się.',
|
||||
SYSTEM: 'System',
|
||||
LOG: 'Log',
|
||||
STATUS: 'Status',
|
||||
SYSTEM: '{{S|s||s}}yste{{m|mu||mowy}}',
|
||||
LOG_OF: 'Log {0}',
|
||||
STATUS_OF: 'Status {0}',
|
||||
UPLOAD_DOWNLOAD: 'Przesyłanie plików',
|
||||
SYSTEM_VERSION_RUNNING: 'Obecnie zainstalowana wersja to:',
|
||||
SYSTEM_APPLY_FIRMWARE: '',
|
||||
@@ -173,12 +181,13 @@ const pl: BaseTranslation = {
|
||||
FACTORY_RESET: 'Ustawienia fabryczne',
|
||||
SYSTEM_FACTORY_TEXT: 'Interfejs EMS-ESP został przywrócony do ustawień fabrycznych i zostanie teraz ponownie uruchomiony.',
|
||||
SYSTEM_FACTORY_TEXT_DIALOG: 'Czy jesteś pewien, że chcesz przywrócić ustawienia fabryczne interfejsu EMS-ESP? ',
|
||||
VERSION_CHECK: '{{Sprawdź wersję (main translation idx=0)|Sprawdzanie wersji (alt translation idx=1)|not used (translation idx=other)}}',
|
||||
VERSION_CHECK: 'Sprawd{{ź|zanie|}} wersj{{ę|i|}}',
|
||||
THE_LATEST: 'Najnowsza',
|
||||
OFFICIAL: 'oficjalna',
|
||||
DEVELOPMENT: 'testowa',
|
||||
VERSION_IS: 'wersja to',
|
||||
RELEASE_NOTES: 'lista zmian',
|
||||
EMS_ESP_VER: 'Wersja EMS-ESP',
|
||||
PLATFORM: 'Urządzenie (platforma / SDK)',
|
||||
UPTIME: 'Czas działania systemu',
|
||||
CPU_FREQ: 'Taktowanie CPU',
|
||||
@@ -195,23 +204,23 @@ const pl: BaseTranslation = {
|
||||
'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)',
|
||||
UPLOADING: 'Wysłano',
|
||||
UPLOAD_DROP_TEXT: 'Przeciągnij plik lub kliknij',
|
||||
UPLOAD_DROP_TEXT: 'Przeciągnij tutaj plik lub kliknij',
|
||||
ERROR: 'Nieoczekiwany błąd, spróbuj ponownie!',
|
||||
TIME_SET: 'Ustaw czas',
|
||||
MANAGE_USERS: 'Zarządzanie użytkownikami',
|
||||
IS_ADMIN: 'Admin?',
|
||||
USER_WARNING: 'Przynajmniej jeden użytkownik musi mieć uprawnienia admina!',
|
||||
ADD: 'Dodaj',
|
||||
ACCESS_TOKEN_FOR: 'Token dostępu dla',
|
||||
IS_ADMIN: '{{Admin?|Uprawnienia administratora|}}',
|
||||
USER_WARNING: 'Przynajmniej jeden użytkownik musi mieć uprawnienia administratora!',
|
||||
ADD: 'Doda{{j|wanie|C}}',
|
||||
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.',
|
||||
GENERATING_TOKEN: 'Generowanie tokenu',
|
||||
USER: 'Użytkownik',
|
||||
MODIFY: 'Modyfikuj',
|
||||
USER: '{{Użytkownik|użytkownika|}}',
|
||||
MODIFY: 'Edycja',
|
||||
SU_TEXT:
|
||||
'Hasło su (super-użytkownika) jest wykorzystywane do autoryzacji tokenów oraz dostępu do konsoli z uprawnieniami admina.',
|
||||
'Hasło "su" (super-użytkownika) jest wykorzystywane do autoryzacji tokenów oraz dostępu do konsoli z uprawnieniami administratora.',
|
||||
NOT_ENABLED: 'nieaktywowany',
|
||||
ERRORS: 'Błędy',
|
||||
ERRORS_OF: 'Błędy {0}',
|
||||
DISCONNECT_REASON: 'Powód rozłączenia',
|
||||
ENABLE_MQTT: 'Aktywuj MQTT',
|
||||
OPTIONAL: 'opcjonalny',
|
||||
@@ -229,40 +238,50 @@ const pl: BaseTranslation = {
|
||||
MQTT_INT_THERMOSTATS: 'Termostaty',
|
||||
MQTT_INT_SOLAR: 'Panele solarne',
|
||||
MQTT_INT_MIXER: 'Mieszacze',
|
||||
MQTT_QUEUE: 'Kolejka MQTT',
|
||||
DEFAULT: 'Domyślnie',
|
||||
MQTT_CLEAN_SESSION: 'Ustawiaj "Clean session"',
|
||||
MQTT_RETAIN_FLAG: 'Ustawiaj flagę "Retain"',
|
||||
INACTIVE: 'nieaktywny',
|
||||
ACTIVE: 'aktywny',
|
||||
UNKNOWN: 'nieznany',
|
||||
SET_TIME: 'Ustaw datę i godzinę',
|
||||
SET_TIME: '{{Ustaw zegar|Ustawianie zegara|}}',
|
||||
SET_TIME_TEXT: 'Wprowadź aktualną datę i godzinę',
|
||||
LOCAL_TIME: 'Czas lokalny',
|
||||
UTC_TIME: 'Czas UTC',
|
||||
ENABLE_NTP: 'Aktywuj NTP (data i godzina będą automatycznie synchronizowane z poniższym serwerem czasu)',
|
||||
NTP_SERVER: 'Serwer NTP',
|
||||
TIME_ZONE: 'Strefa czasowa',
|
||||
ACCESS_POINT: 'Punkt dostępowy',
|
||||
ACCESS_POINT: '{{Punkt|punktu|}} {{dostępowy|dostępowego|}}',
|
||||
AP_PROVIDE: 'Aktywuj punkt dostępowy (Access Point)',
|
||||
AP_PROVIDE_TEXT_1: 'zawsze',
|
||||
AP_PROVIDE_TEXT_2: 'gdy połączenie WiFi jest rozłączone',
|
||||
AP_PROVIDE_TEXT_3: 'nigdy',
|
||||
AP_PREFERRED_CHANNEL: 'Preferowany kanał',
|
||||
AP_HIDE_SSID: 'Ukryj SSID',
|
||||
AP_CLIENTS: 'Liczba klientów',
|
||||
AP_MAX_CLIENTS: 'Maksymalna liczba klientów',
|
||||
AP_LOCAL_IP: 'Lokalny adres IP',
|
||||
NETWORK_SCAN: 'Skanuj sieci WiFi',
|
||||
IDLE: 'uśpiony',
|
||||
LOST: 'utracony',
|
||||
LOST: 'zostało utracone.',
|
||||
SCANNING: 'Skanuję',
|
||||
SCAN_AGAIN: 'Skanuj ponownie',
|
||||
NETWORK_SCANNER: 'Skaner sieci WiFi',
|
||||
NETWORK_NO_WIFI: 'Brak sieci WiFi w zasięgu',
|
||||
NETWORK_BLANK_SSID: 'pozostaw puste aby wyłączyć WiFi',
|
||||
POWER: 'moc',
|
||||
TX_POWER: 'Moc nadawania',
|
||||
HOSTNAME: 'Nazwa w sieci',
|
||||
NETWORK_DISABLE_SLEEP: 'Wyłącz tryb usypiania WiFi',
|
||||
NETWORK_LOW_BAND: 'Używaj zmniejszonej przepustowości WiFi',
|
||||
NETWORK_USE_DNS: 'Włącz wsparcie dla mDNS',
|
||||
NETWORK_ENABLE_IPV6: 'Włącz wsparcie dla IPv6',
|
||||
NETWORK_FIXED_IP: 'Użyj stałego adresu IP',
|
||||
ADMIN: 'Admin',
|
||||
NETWORK_GATEWAY: 'Brama',
|
||||
NETWORK_SUBNET: 'Maska podsieci',
|
||||
NETWORK_DNS: 'Serwery DNS',
|
||||
ADDRESS_OF: 'Adres {0}',
|
||||
ADMIN: 'Administrator',
|
||||
GUEST: 'Gość',
|
||||
NEW: 'Nowy',
|
||||
RENAME: 'Zmień nazwę',
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import type { BaseTranslation } from '../i18n-types';
|
||||
import type { Translation } from '../i18n-types';
|
||||
|
||||
const se: BaseTranslation = {
|
||||
const se: Translation = {
|
||||
LANGUAGE: 'Språk',
|
||||
RETRY: 'Försök igen',
|
||||
LOADING: 'Laddar',
|
||||
@@ -9,10 +9,11 @@ const se: BaseTranslation = {
|
||||
SIGN_OUT: 'Logga Ut',
|
||||
USERNAME: 'Användarnamn',
|
||||
PASSWORD: 'Lösenord',
|
||||
SU_PASSWORD: 'su Lösenord',
|
||||
DASHBOARD: 'Kontrollpanel',
|
||||
SETTINGS: 'Inställningar',
|
||||
SETTINGS_OF: '{0} Inställningar',
|
||||
SAVED: 'Sparat',
|
||||
HELP: 'Hjälp',
|
||||
HELP_OF: '{0} Hjälp',
|
||||
LOGGED_IN: 'Inloggad som {name}',
|
||||
PLEASE_SIGNIN: 'Vänligen logga in för att fortsätta',
|
||||
UPLOAD_SUCCESSFUL: 'Uppladdning lyckades',
|
||||
@@ -47,13 +48,15 @@ const se: BaseTranslation = {
|
||||
ACCESS_DENIED: 'Åtkomst Nekad',
|
||||
ANALOG_SENSOR: 'Analog Sensor',
|
||||
ANALOG_SENSORS: 'Analoga Sensorer',
|
||||
UPDATED: 'Uppdaterad',
|
||||
UPDATE: 'Uppdatera',
|
||||
REMOVED: 'Raderad',
|
||||
DELETION: 'Radering',
|
||||
UPDATED_OF: '{0} Uppdaterad',
|
||||
UPDATE_OF: '{0} Uppdatera',
|
||||
REMOVED_OF: '{0} Raderad',
|
||||
DELETION_OF: '{0} Radering',
|
||||
OFFSET: 'Kompensering',
|
||||
FACTOR: 'Faktor',
|
||||
FREQ: 'Frekvens',
|
||||
DUTY_CYCLE: 'Duty Cycle',
|
||||
UNIT: 'UoM',
|
||||
STARTVALUE: 'Startvärde',
|
||||
WARN_GPIO: 'Varning: Var försiktig vid aktivering av GPIO!',
|
||||
EDIT: 'Ändra',
|
||||
@@ -69,7 +72,7 @@ const se: BaseTranslation = {
|
||||
EMS_SCAN: 'Är du säker att du vill initiera en full genomsökning av EMS-bussen?',
|
||||
EMS_BUS_STATUS: 'EMS-Buss Status',
|
||||
ACTIVE_DEVICES: 'Aktiva Enheter',
|
||||
DEVICE: 'Enhet',
|
||||
EMS_DEVICE: 'EMS Enhet',
|
||||
SUCCESS: 'Lyckades',
|
||||
FAIL: 'Misslyckades',
|
||||
QUALITY: 'Kvalitet',
|
||||
@@ -96,12 +99,14 @@ const se: BaseTranslation = {
|
||||
APPLICATION_SETTINGS: 'Inställningar',
|
||||
CUSTOMIZATION: 'Anpassa',
|
||||
APPLICATION_RESTARTING: 'EMS-ESP startar om',
|
||||
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',
|
||||
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: 'Hårdvaruprofil',
|
||||
BUTTON: 'Knapp',
|
||||
TEMPERATURE: 'Temperatur',
|
||||
PHY_TYPE: 'Eth PHYType',
|
||||
DISABLED: 'inaktiverad',
|
||||
TX_MODE: 'Tx Mode',
|
||||
GENERAL_OPTIONS: 'Allmänna Inställningar',
|
||||
LANGUAGE_ENTITIES: 'Språk (för entiteter)',
|
||||
HIDE_LED: 'Inaktivera LED',
|
||||
@@ -124,12 +129,14 @@ const se: BaseTranslation = {
|
||||
LOGGING: 'Loggning',
|
||||
LOG_HEX: 'Logga EMS-telegram i hexadecimal',
|
||||
ENABLE_SYSLOG: 'Aktivera Syslog',
|
||||
LOG_LEVEL: 'Log Level',
|
||||
MARK_INTERVAL: 'Markerings-interval',
|
||||
SECONDS: 'sekunder',
|
||||
MINUTES: 'minuter',
|
||||
RESTART: 'Starta om',
|
||||
HOURS: 'timmar',
|
||||
RESTART: 'Starta om',
|
||||
RESTART_TEXT: 'EMS-ESP kräver en omstart för att applicera förändrade systeminställningar',
|
||||
RESTART_CONFIRM: 'Är du säker på att du vill starta om EMS-ESP?',
|
||||
COMMAND: 'Kommando',
|
||||
CUSTOMIZATIONS_RESTART: 'Alla anpassningr har raderats. Startar om...',
|
||||
CUSTOMIZATIONS_FULL: 'Antal valda enheter för högt. Vänligen spara i mindre antal åt gången.',
|
||||
@@ -156,14 +163,15 @@ const se: BaseTranslation = {
|
||||
HELP_INFORMATION_5:
|
||||
'EMS-ESP är gratis och är öppen källkod. Bidra till utveklingen genom att ge oss en stjärna på GitHub!',
|
||||
SUPPORT_INFO: 'Supportinfo',
|
||||
UPLOAD_OF: '{0} Uppladdning',
|
||||
UPLOAD: 'Uppladdning',
|
||||
DOWNLOAD: 'Nedladdning',
|
||||
ABORTED: 'Avbruten',
|
||||
FAILED: 'Misslyckades',
|
||||
SUCCESSFUL: 'Lyckades',
|
||||
SYSTEM: 'System',
|
||||
LOG: 'Logg',
|
||||
STATUS: 'Status',
|
||||
LOG_OF: '{0} Logg',
|
||||
STATUS_OF: '{0} Status',
|
||||
UPLOAD_DOWNLOAD: 'Upp/Nedladdning',
|
||||
SYSTEM_VERSION_RUNNING: 'Du använder version',
|
||||
SYSTEM_APPLY_FIRMWARE: 'för att aktivera ny firmware',
|
||||
@@ -176,8 +184,9 @@ const se: BaseTranslation = {
|
||||
THE_LATEST: 'Den senaste',
|
||||
OFFICIAL: 'official',
|
||||
DEVELOPMENT: 'development',
|
||||
/**VERSION_IS: 'version is',*/
|
||||
VERSION_IS: 'version is',
|
||||
RELEASE_NOTES: 'release notes',
|
||||
EMS_ESP_VER: 'EMS-ESP Version',
|
||||
PLATFORM: 'Enhet (Plattform / SDK)',
|
||||
UPTIME: 'Systemets Uptid',
|
||||
CPU_FREQ: 'CPU-frekvens',
|
||||
@@ -210,7 +219,7 @@ const se: BaseTranslation = {
|
||||
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: 'fel',
|
||||
ERRORS_OF: '{0} fel',
|
||||
DISCONNECT_REASON: 'Anledning till nedkoppling',
|
||||
ENABLE_MQTT: 'Aktivera MQTT',
|
||||
OPTIONAL: 'Valfritt',
|
||||
@@ -228,6 +237,7 @@ const se: BaseTranslation = {
|
||||
MQTT_INT_THERMOSTATS: 'Termostater',
|
||||
MQTT_INT_SOLAR: 'Solpaneler',
|
||||
MQTT_INT_MIXER: 'Blandarventiler',
|
||||
MQTT_QUEUE: 'MQTT Queue',
|
||||
DEFAULT: 'Standard',
|
||||
MQTT_CLEAN_SESSION: 'Använd "Clean Session"-flaggan',
|
||||
MQTT_RETAIN_FLAG: 'Använd "Always Retain"-flaggan',
|
||||
@@ -239,6 +249,7 @@ const se: BaseTranslation = {
|
||||
LOCAL_TIME: 'Lokal Tid',
|
||||
UTC_TIME: 'UTC-tid',
|
||||
ENABLE_NTP: 'Aktivera NTP',
|
||||
NTP_SERVER: 'NTP Server',
|
||||
TIME_ZONE: 'Tidszon',
|
||||
ACCESS_POINT: 'Accesspunkt',
|
||||
AP_PROVIDE: 'Aktivera Accesspunkt',
|
||||
@@ -247,6 +258,9 @@ const se: BaseTranslation = {
|
||||
AP_PROVIDE_TEXT_3: 'aldrig',
|
||||
AP_PREFERRED_CHANNEL: 'Föredragen kanal',
|
||||
AP_HIDE_SSID: 'Göm SSID',
|
||||
AP_CLIENTS: 'AP Clients',
|
||||
AP_MAX_CLIENTS: 'Max Clients',
|
||||
AP_LOCAL_IP: 'Local IP',
|
||||
NETWORK_SCAN: 'Sök efter WiFi-nätverk',
|
||||
IDLE: 'Vilande',
|
||||
LOST: 'Förlorad',
|
||||
@@ -255,12 +269,17 @@ const se: BaseTranslation = {
|
||||
NETWORK_SCANNER: 'Hittade nätverk',
|
||||
NETWORK_NO_WIFI: 'Inga WiFi-nätverk hittades',
|
||||
NETWORK_BLANK_SSID: 'lämna blankt för att inaktivera WiFi',
|
||||
POWER: 'Effekt',
|
||||
TX_POWER: 'Tx Effekt',
|
||||
HOSTNAME: 'Hostname',
|
||||
NETWORK_DISABLE_SLEEP: 'Inaktivera sömnläge',
|
||||
NETWORK_LOW_BAND: 'Använd lägre bandbredd',
|
||||
NETWORK_USE_DNS: 'Aktivera mDNS-tjänsten',
|
||||
NETWORK_ENABLE_IPV6: 'Aktivera IPv6-support',
|
||||
NETWORK_FIXED_IP: 'Använd statiskt IP',
|
||||
NETWORK_GATEWAY: 'Getaway',
|
||||
NETWORK_SUBNET: 'Subnet Mask',
|
||||
NETWORK_DNS: 'DNS Servers',
|
||||
ADDRESS_OF: '{0} Address',
|
||||
ADMIN: 'Admin',
|
||||
GUEST: 'Gäst',
|
||||
NEW: 'Ny',
|
||||
|
||||
@@ -332,7 +332,7 @@ const DashboardData: FC = () => {
|
||||
{ accessor: (dv: any) => dv.id.slice(2), name: LL.ENTITY_NAME() },
|
||||
{
|
||||
accessor: (dv: any) => (typeof dv.v === 'number' ? new Intl.NumberFormat().format(dv.v) : dv.v),
|
||||
name: LL.VALUE()
|
||||
name: LL.VALUE(0)
|
||||
},
|
||||
{ accessor: (dv: any) => DeviceValueUOM_s[dv.u], name: 'UoM' }
|
||||
];
|
||||
@@ -559,11 +559,11 @@ const DashboardData: FC = () => {
|
||||
offset: sensor.o
|
||||
});
|
||||
if (response.status === 204) {
|
||||
enqueueSnackbar(LL.TEMP_SENSOR() + ' ' + LL.UPLOAD_TEXT() + ' ' + LL.FAILED(), { variant: 'error' });
|
||||
enqueueSnackbar(LL.UPLOAD_OF( LL.TEMP_SENSOR() ) + ' ' + LL.FAILED(), { variant: 'error' });
|
||||
} else if (response.status === 403) {
|
||||
enqueueSnackbar(LL.ACCESS_DENIED(), { variant: 'error' });
|
||||
} else {
|
||||
enqueueSnackbar(LL.TEMP_SENSOR() + ' ' + LL.UPDATED(), { variant: 'success' });
|
||||
enqueueSnackbar(LL.UPDATED_OF( LL.TEMP_SENSOR() ), { variant: 'success' });
|
||||
}
|
||||
setSensor(undefined);
|
||||
} catch (error) {
|
||||
@@ -802,7 +802,7 @@ const DashboardData: FC = () => {
|
||||
endIcon={getSortIcon(dv_sort.state, 'VALUE')}
|
||||
onClick={() => dv_sort.fns.onToggleSort({ sortKey: 'VALUE' })}
|
||||
>
|
||||
{LL.VALUE()}
|
||||
{LL.VALUE(0)}
|
||||
</Button>
|
||||
</HeaderCell>
|
||||
<HeaderCell stiff />
|
||||
@@ -878,7 +878,7 @@ const DashboardData: FC = () => {
|
||||
endIcon={getSortIcon(sensor_sort.state, 'TEMPERATURE')}
|
||||
onClick={() => sensor_sort.fns.onToggleSort({ sortKey: 'TEMPERATURE' })}
|
||||
>
|
||||
{LL.VALUE()}
|
||||
{LL.VALUE(0)}
|
||||
</Button>
|
||||
</HeaderCell>
|
||||
<HeaderCell stiff />
|
||||
@@ -946,7 +946,7 @@ const DashboardData: FC = () => {
|
||||
{LL.TYPE()}
|
||||
</Button>
|
||||
</HeaderCell>
|
||||
<HeaderCell stiff>{LL.VALUE()}</HeaderCell>
|
||||
<HeaderCell stiff>{LL.VALUE(0)}</HeaderCell>
|
||||
<HeaderCell stiff />
|
||||
</HeaderRow>
|
||||
</Header>
|
||||
@@ -986,11 +986,11 @@ const DashboardData: FC = () => {
|
||||
});
|
||||
|
||||
if (response.status === 204) {
|
||||
enqueueSnackbar(LL.ANALOG_SENSOR() + ' ' + LL.DELETION() + ' ' + LL.FAILED(), { variant: 'error' });
|
||||
enqueueSnackbar(LL.DELETION_OF( LL.ANALOG_SENSOR() ) + ' ' + LL.FAILED(), { variant: 'error' });
|
||||
} else if (response.status === 403) {
|
||||
enqueueSnackbar(LL.ACCESS_DENIED(), { variant: 'error' });
|
||||
} else {
|
||||
enqueueSnackbar(LL.ANALOG_SENSOR() + ' ' + LL.REMOVED(), { variant: 'success' });
|
||||
enqueueSnackbar( LL.REMOVED_OF( LL.ANALOG_SENSOR() ), { variant: 'success' });
|
||||
}
|
||||
} catch (error) {
|
||||
enqueueSnackbar(extractErrorMessage(error, LL.PROBLEM_UPDATING()), { variant: 'error' });
|
||||
@@ -1014,11 +1014,11 @@ const DashboardData: FC = () => {
|
||||
});
|
||||
|
||||
if (response.status === 204) {
|
||||
enqueueSnackbar(LL.ANALOG_SENSOR() + ' ' + LL.UPDATE() + ' ' + LL.FAILED(), { variant: 'error' });
|
||||
enqueueSnackbar(LL.UPDATE_OF( LL.ANALOG_SENSOR() ) + ' ' + LL.FAILED(), { variant: 'error' });
|
||||
} else if (response.status === 403) {
|
||||
enqueueSnackbar(LL.ACCESS_DENIED(), { variant: 'error' });
|
||||
} else {
|
||||
enqueueSnackbar(LL.ANALOG_SENSOR() + ' ' + LL.UPDATED(), { variant: 'success' });
|
||||
enqueueSnackbar(LL.UPDATED_OF( LL.ANALOG_SENSOR() ), { variant: 'success' });
|
||||
}
|
||||
} catch (error) {
|
||||
enqueueSnackbar(extractErrorMessage(error, LL.PROBLEM_UPDATING()), { variant: 'error' });
|
||||
@@ -1077,7 +1077,7 @@ const DashboardData: FC = () => {
|
||||
{analog.t >= AnalogType.COUNTER && analog.t <= AnalogType.RATE && (
|
||||
<>
|
||||
<Grid item>
|
||||
<ValidatedTextField name="u" label="UoM" value={analog.u} select onChange={updateValue(setAnalog)}>
|
||||
<ValidatedTextField name="u" label={LL.UNIT()} value={analog.u} select onChange={updateValue(setAnalog)}>
|
||||
{DeviceValueUOM_s.map((val, i) => (
|
||||
<MenuItem key={i} value={i}>
|
||||
{val}
|
||||
@@ -1135,7 +1135,7 @@ const DashboardData: FC = () => {
|
||||
<Grid item>
|
||||
<ValidatedTextField
|
||||
name="o"
|
||||
label={LL.VALUE()}
|
||||
label={LL.VALUE(0)}
|
||||
value={numberValue(analog.o)}
|
||||
sx={{ width: '20ch' }}
|
||||
type="number"
|
||||
@@ -1151,7 +1151,7 @@ const DashboardData: FC = () => {
|
||||
<Grid item>
|
||||
<ValidatedTextField
|
||||
name="o"
|
||||
label={LL.VALUE()}
|
||||
label={LL.VALUE(0)}
|
||||
value={numberValue(analog.o)}
|
||||
sx={{ width: '20ch' }}
|
||||
type="number"
|
||||
@@ -1182,7 +1182,7 @@ const DashboardData: FC = () => {
|
||||
<Grid item>
|
||||
<ValidatedTextField
|
||||
name="o"
|
||||
label="Duty Cycle"
|
||||
label={LL.DUTY_CYCLE()}
|
||||
value={numberValue(analog.o)}
|
||||
sx={{ width: '20ch' }}
|
||||
type="number"
|
||||
|
||||
@@ -88,7 +88,7 @@ const DashboardStatus: FC = () => {
|
||||
const busStatus = ({ status }: Status) => {
|
||||
switch (status) {
|
||||
case busConnectionStatus.BUS_STATUS_CONNECTED:
|
||||
return LL.CONNECTED();
|
||||
return LL.CONNECTED(0);
|
||||
case busConnectionStatus.BUS_STATUS_TX_ERRORS:
|
||||
return LL.TX_ISSUES();
|
||||
case busConnectionStatus.BUS_STATUS_OFFLINE:
|
||||
@@ -201,7 +201,7 @@ const DashboardStatus: FC = () => {
|
||||
<DirectionsBusIcon />
|
||||
</Avatar>
|
||||
</ListItemAvatar>
|
||||
<ListItemText primary={LL.EMS_BUS_STATUS()} secondary={busStatus(data) + formatDurationSec(data.uptime)} />
|
||||
<ListItemText primary={LL.EMS_BUS_STATUS()} secondary={busStatus(data) + ' (' + formatDurationSec(data.uptime) + ')'} />
|
||||
</ListItem>
|
||||
<ListItem>
|
||||
<ListItemAvatar>
|
||||
|
||||
@@ -13,12 +13,12 @@ const Help: FC = () => {
|
||||
const { LL } = useI18nContext();
|
||||
const { routerTab } = useRouterTab();
|
||||
|
||||
useLayoutTitle(LL.HELP());
|
||||
useLayoutTitle(LL.HELP_OF(""));
|
||||
|
||||
return (
|
||||
<>
|
||||
<RouterTabs value={routerTab}>
|
||||
<Tab value="information" label={'EMS-ESP ' + LL.HELP()} />
|
||||
<Tab value="information" label={LL.HELP_OF("EMS-ESP")} />
|
||||
</RouterTabs>
|
||||
<Routes>
|
||||
<Route path="information" element={<HelpInformation />} />
|
||||
|
||||
@@ -22,11 +22,11 @@ const ProjectMenu: FC = () => {
|
||||
<LayoutMenuItem icon={DashboardIcon} label={LL.DASHBOARD()} to={`/${PROJECT_PATH}/dashboard`} />
|
||||
<LayoutMenuItem
|
||||
icon={TuneIcon}
|
||||
label={LL.SETTINGS()}
|
||||
label={LL.SETTINGS_OF("")}
|
||||
to={`/${PROJECT_PATH}/settings`}
|
||||
disabled={!authenticatedContext.me.admin}
|
||||
/>
|
||||
<LayoutMenuItem icon={InfoIcon} label={LL.HELP()} to={`/${PROJECT_PATH}/help`} />
|
||||
<LayoutMenuItem icon={InfoIcon} label={LL.HELP_OF("")} to={`/${PROJECT_PATH}/help`} />
|
||||
</List>
|
||||
);
|
||||
};
|
||||
|
||||
@@ -14,7 +14,7 @@ const Settings: FC = () => {
|
||||
const { LL } = useI18nContext();
|
||||
const { routerTab } = useRouterTab();
|
||||
|
||||
useLayoutTitle(LL.SETTINGS());
|
||||
useLayoutTitle(LL.SETTINGS_OF(""));
|
||||
|
||||
return (
|
||||
<>
|
||||
|
||||
@@ -115,7 +115,7 @@ const SettingsApplication: FC = () => {
|
||||
return (
|
||||
<>
|
||||
<Typography sx={{ pt: 2 }} variant="h6" color="primary">
|
||||
Interface {LL.BOARD_PROFILE()}
|
||||
{LL.INTERFACE_BOARD_PROFILE()}
|
||||
</Typography>
|
||||
<Box color="warning.main">
|
||||
<Typography variant="body2">{LL.BOARD_PROFILE_TEXT()}</Typography>
|
||||
@@ -213,7 +213,7 @@ const SettingsApplication: FC = () => {
|
||||
<Grid item xs={4}>
|
||||
<ValidatedTextField
|
||||
name="phy_type"
|
||||
label="Eth PHY Type"
|
||||
label={LL.PHY_TYPE()}
|
||||
disabled={saving}
|
||||
value={data.phy_type}
|
||||
fullWidth
|
||||
@@ -245,7 +245,7 @@ const SettingsApplication: FC = () => {
|
||||
<Grid item>
|
||||
<ValidatedTextField
|
||||
name="eth_phy_addr"
|
||||
label="Eth I²C-address"
|
||||
label="Eth I²C Address"
|
||||
fullWidth
|
||||
variant="outlined"
|
||||
value={numberValue(data.eth_phy_addr)}
|
||||
@@ -258,7 +258,7 @@ const SettingsApplication: FC = () => {
|
||||
<Grid item>
|
||||
<ValidatedTextField
|
||||
name="eth_clock_mode"
|
||||
label="Eth Clock Mode"
|
||||
label="Eth Clk Mode"
|
||||
disabled={saving}
|
||||
value={data.eth_clock_mode}
|
||||
fullWidth
|
||||
@@ -278,13 +278,13 @@ const SettingsApplication: FC = () => {
|
||||
</>
|
||||
)}
|
||||
<Typography variant="h6" color="primary">
|
||||
EMS Bus {LL.SETTINGS()}
|
||||
{LL.SETTINGS_OF("EMS BUS")}
|
||||
</Typography>
|
||||
<Grid container spacing={1} direction="row" justifyContent="flex-start" alignItems="flex-start">
|
||||
<Grid item xs={6}>
|
||||
<ValidatedTextField
|
||||
name="tx_mode"
|
||||
label="Tx Mode"
|
||||
label={LL.TX_MODE()}
|
||||
disabled={saving}
|
||||
value={data.tx_mode}
|
||||
fullWidth
|
||||
@@ -483,7 +483,7 @@ const SettingsApplication: FC = () => {
|
||||
margin="normal"
|
||||
select
|
||||
>
|
||||
<MenuItem value={1}>{LL.VALUE()}</MenuItem>
|
||||
<MenuItem value={1}>{LL.VALUE(1)}</MenuItem>
|
||||
<MenuItem value={2}>{LL.INDEX()}</MenuItem>
|
||||
</ValidatedTextField>
|
||||
</Grid>
|
||||
@@ -551,7 +551,7 @@ const SettingsApplication: FC = () => {
|
||||
<Grid item xs={4}>
|
||||
<ValidatedTextField
|
||||
name="syslog_level"
|
||||
label="Log Level"
|
||||
label={LL.LOG_LEVEL()}
|
||||
value={data.syslog_level}
|
||||
fullWidth
|
||||
variant="outlined"
|
||||
|
||||
@@ -296,7 +296,7 @@ const SettingsCustomization: FC = () => {
|
||||
</Box>
|
||||
<ValidatedTextField
|
||||
name="device"
|
||||
label={'EMS ' + LL.DEVICE()}
|
||||
label={LL.EMS_DEVICE()}
|
||||
variant="outlined"
|
||||
fullWidth
|
||||
value={selectedDevice}
|
||||
@@ -449,7 +449,7 @@ const SettingsCustomization: FC = () => {
|
||||
{LL.NAME()}
|
||||
</Button>
|
||||
</HeaderCell>
|
||||
<HeaderCell resize>{LL.VALUE()}</HeaderCell>
|
||||
<HeaderCell resize>{LL.VALUE(0)}</HeaderCell>
|
||||
</HeaderRow>
|
||||
</Header>
|
||||
<Body>
|
||||
@@ -513,7 +513,7 @@ const SettingsCustomization: FC = () => {
|
||||
|
||||
const renderResetDialog = () => (
|
||||
<Dialog open={confirmReset} onClose={() => setConfirmReset(false)}>
|
||||
<DialogTitle>{LL.RESET()}</DialogTitle>
|
||||
<DialogTitle>{LL.RESET(1)}</DialogTitle>
|
||||
<DialogContent dividers>{LL.CUSTOMIZATIONS_RESET()}</DialogContent>
|
||||
<DialogActions>
|
||||
<Button startIcon={<CancelIcon />} variant="outlined" onClick={() => setConfirmReset(false)} color="secondary">
|
||||
@@ -526,7 +526,7 @@ const SettingsCustomization: FC = () => {
|
||||
autoFocus
|
||||
color="error"
|
||||
>
|
||||
{LL.RESET()}
|
||||
{LL.RESET(0)}
|
||||
</Button>
|
||||
</DialogActions>
|
||||
</Dialog>
|
||||
@@ -555,7 +555,7 @@ const SettingsCustomization: FC = () => {
|
||||
color="error"
|
||||
onClick={() => setConfirmReset(true)}
|
||||
>
|
||||
{LL.RESET()}
|
||||
{LL.RESET(0)}
|
||||
</Button>
|
||||
</ButtonRow>
|
||||
</Box>
|
||||
|
||||
@@ -47,7 +47,7 @@ export const useRest = <D>({ read, update }: RestRequestOptions<D>) => {
|
||||
if (response.status === 202) {
|
||||
setRestartNeeded(true);
|
||||
} else {
|
||||
enqueueSnackbar(LL.SETTINGS() + ' ' + LL.SAVED(), { variant: 'success' });
|
||||
enqueueSnackbar(LL.SETTINGS_OF("") + ' ' + LL.SAVED(), { variant: 'success' });
|
||||
}
|
||||
} catch (error) {
|
||||
const message = extractErrorMessage(error, LL.PROBLEM_UPDATING());
|
||||
|
||||
Reference in New Issue
Block a user