Merge pull request #719 from pswid/dev

fix to the translation of the webUI in Polish.
This commit is contained in:
Proddy
2022-11-03 20:35:08 +01:00
committed by GitHub
19 changed files with 361 additions and 177 deletions

View File

@@ -10,8 +10,7 @@
font-style: normal;
font-weight: 400;
src: local('Roboto'), local('Roboto-Regular'), url(../fonts/re.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC,
U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
unicode-range: U+0000-00FF, U+0104-0107, U+0118-0119, U+0131, U+0141-0144, U+0152-0153, U+015A-015B, U+0179-017C, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
@@ -19,6 +18,5 @@
font-style: normal;
font-weight: 500;
src: local('Roboto Medium'), local('Roboto-Medium'), url(../fonts/md.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC,
U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
unicode-range: U+0000-00FF, U+0104-0107, U+0118-0119, U+0131, U+0141-0144, U+0152-0153, U+015A-015B, U+0179-017C, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

Binary file not shown.

View File

@@ -41,7 +41,7 @@ const SignIn: FC = () => {
const validateAndSignIn = async () => {
setProcessing(true);
SIGN_IN_REQUEST_VALIDATOR.messages({
required: '%s ' + LL.IS_REQUIRED()
required: LL.IS_REQUIRED('%s')
});
try {
await validate(SIGN_IN_REQUEST_VALIDATOR, signInRequest);
@@ -139,7 +139,7 @@ const SignIn: FC = () => {
fieldErrors={fieldErrors}
disabled={processing}
name="username"
label={LL.USERNAME()}
label={LL.USERNAME(0)}
value={signInRequest.username}
onChange={updateLoginRequestValue}
margin="normal"

View File

@@ -57,7 +57,7 @@ const MqttSettingsForm: FC = () => {
<ValidatedTextField
fieldErrors={fieldErrors}
name="host"
label="Host"
label={LL.ADDRESS_OF(LL.BROKER())}
fullWidth
variant="outlined"
value={data.host}
@@ -84,7 +84,7 @@ const MqttSettingsForm: FC = () => {
<ValidatedTextField
fieldErrors={fieldErrors}
name="base"
label="Base"
label={LL.BASE_TOPIC()}
fullWidth
variant="outlined"
value={data.base}
@@ -95,7 +95,7 @@ const MqttSettingsForm: FC = () => {
<Grid item xs={6}>
<ValidatedTextField
name="client_id"
label={'Client ID (' + LL.OPTIONAL() + ')'}
label={LL.ID_OF(LL.CLIENT()) + ' (' + LL.OPTIONAL() + ')'}
fullWidth
variant="outlined"
value={data.client_id}
@@ -108,7 +108,7 @@ const MqttSettingsForm: FC = () => {
<Grid item xs={6}>
<ValidatedTextField
name="username"
label={LL.USERNAME()}
label={LL.USERNAME(0)}
fullWidth
variant="outlined"
value={data.username}
@@ -175,7 +175,7 @@ const MqttSettingsForm: FC = () => {
</Typography>
<ValidatedTextField
name="nested_format"
label={'Topic/Payload ' + LL.FORMAT()}
label={LL.MQTT_FORMAT()}
value={data.nested_format}
fullWidth
variant="outlined"
@@ -324,7 +324,7 @@ const MqttSettingsForm: FC = () => {
InputProps={{
endAdornment: <InputAdornment position="end">{LL.SECONDS()}</InputAdornment>
}}
label={LL.DEFAULT()}
label={LL.DEFAULT(0)}
fullWidth
variant="outlined"
value={numberValue(data.publish_time_other)}

View File

@@ -103,7 +103,7 @@ const MqttStatusForm: FC = () => {
<ListItemAvatar>
<Avatar>#</Avatar>
</ListItemAvatar>
<ListItemText primary="Client ID" secondary={data.client_id} />
<ListItemText primary={LL.ID_OF(LL.CLIENT())} secondary={data.client_id} />
</ListItem>
<Divider variant="inset" component="li" />
<ListItem>

View File

@@ -196,7 +196,7 @@ const WiFiSettingsForm: FC = () => {
<ValidatedTextField
fieldErrors={fieldErrors}
name="local_ip"
label="Local IP"
label={LL.AP_LOCAL_IP()}
fullWidth
variant="outlined"
value={data.local_ip}
@@ -206,7 +206,7 @@ const WiFiSettingsForm: FC = () => {
<ValidatedTextField
fieldErrors={fieldErrors}
name="gateway_ip"
label="Gateway"
label={LL.NETWORK_GATEWAY()}
fullWidth
variant="outlined"
value={data.gateway_ip}
@@ -216,7 +216,7 @@ const WiFiSettingsForm: FC = () => {
<ValidatedTextField
fieldErrors={fieldErrors}
name="subnet_mask"
label="Subnet"
label={LL.NETWORK_SUBNET()}
fullWidth
variant="outlined"
value={data.subnet_mask}
@@ -226,7 +226,7 @@ const WiFiSettingsForm: FC = () => {
<ValidatedTextField
fieldErrors={fieldErrors}
name="dns_ip_1"
label="DNS IP #1"
label="DNS #1"
fullWidth
variant="outlined"
value={data.dns_ip_1}
@@ -236,7 +236,7 @@ const WiFiSettingsForm: FC = () => {
<ValidatedTextField
fieldErrors={fieldErrors}
name="dns_ip_2"
label="DNS IP #2"
label="DNS #2"
fullWidth
variant="outlined"
value={data.dns_ip_2}

View File

@@ -72,7 +72,7 @@ const NTPStatusForm: FC = () => {
const ntpStatus = ({ status }: NTPStatus) => {
switch (status) {
case NTPSyncStatus.NTP_DISABLED:
return LL.DISABLED();
return LL.DISABLED(0);
case NTPSyncStatus.NTP_INACTIVE:
return LL.INACTIVE();
case NTPSyncStatus.NTP_ACTIVE:

View File

@@ -40,7 +40,7 @@ const ManageUsersForm: FC = () => {
const table_theme = useTheme({
Table: `
--data-table-library_grid-template-columns: repeat(1, minmax(0, 1fr)) 120px 120px;
--data-table-library_grid-template-columns: repeat(1, minmax(0, 1fr)) minmax(120px, max-content) 120px;
`,
BaseRow: `
font-size: 14px;
@@ -140,7 +140,7 @@ const ManageUsersForm: FC = () => {
<>
<Header>
<HeaderRow>
<HeaderCell resize>{LL.USERNAME()}</HeaderCell>
<HeaderCell resize>{LL.USERNAME(1)}</HeaderCell>
<HeaderCell stiff>{LL.IS_ADMIN(0)}</HeaderCell>
<HeaderCell stiff />
</HeaderRow>

View File

@@ -60,7 +60,7 @@ const UserForm: FC<UserFormProps> = ({ creating, validator, user, setUser, onDon
<ValidatedTextField
fieldErrors={fieldErrors}
name="username"
label={LL.USERNAME()}
label={LL.USERNAME(1)}
fullWidth
variant="outlined"
value={user.username}

View File

@@ -4,7 +4,7 @@ const de: Translation = {
LANGUAGE: 'Sprache',
RETRY: 'Neuer Versuch',
LOADING: 'Laden',
IS_REQUIRED: 'ist erforderlich',
IS_REQUIRED: '{0} ist erforderlich',
SIGN_IN: 'Einloggen',
SIGN_OUT: 'Ausloggen',
USERNAME: 'Nutzername',
@@ -30,6 +30,10 @@ const de: Translation = {
EXPORT: 'Exportieren',
DEVICE_DETAILS: 'Geräte Details',
BRAND: 'Marke',
ID_OF: '{0} ID',
DEVICE: 'Geräte',
PRODUCT: 'Produkt',
VERSION: 'Version',
ENTITY_NAME: 'Entitätsname',
VALUE: '{{Wert||wert}}',
SHOW_FAV: 'nur Favoriten anzeigen',
@@ -60,7 +64,7 @@ const de: Translation = {
STARTVALUE: 'Startwert',
WARN_GPIO: 'Warnung: Vorsicht bei der korrekten Wahl des GPIO!',
EDIT: 'Editiere',
TEMP_SENSOR: 'Temperatursensor',
TEMP_SENSOR: '{{Sensor|Temperatursensor}}',
TEMP_SENSORS: 'Temperatursensoren',
WRITE_COMMAND: 'Befehl schreiben {cmd}',
EMS_BUS_WARNING:
@@ -103,11 +107,15 @@ const de: Translation = {
BOARD_PROFILE_TEXT:
'Wählen Sie ein vorkonfiguriertes Platinenprofil aus der Liste unten aus oder wählen Sie "Custom", um Ihre eigenen Hardwareeinstellungen zu konfigurieren',
BOARD_PROFILE: 'Platinenprofil',
CUSTOM: 'Custom',
GPIO_OF: '{0} GPIO',
BUTTON: 'Taste',
TEMPERATURE: 'Temperatur',
PHY_TYPE: 'Eth PHY Typ',
DISABLED: 'deaktiviert',
TX_MODE: 'Tx Mode',
HARDWARE: 'Hardware',
EMS_BUS: '{{BUS|EMS BUS}}',
GENERAL_OPTIONS: 'Allgemeine Optionen',
LANGUAGE_ENTITIES: 'Sprache (für Geräteentitäten)',
HIDE_LED: 'LED ausblenden',
@@ -224,9 +232,12 @@ const de: Translation = {
ERRORS_OF: '{0} Fehler',
DISCONNECT_REASON: 'Grund der Verbindungsunterbrechung',
ENABLE_MQTT: 'MQTT aktivieren',
BROKER: 'Broker',
CLIENT: 'Client',
BASE_TOPIC: 'Base',
OPTIONAL: 'Optional',
FORMATTING: 'Formattierung',
FORMAT: 'Format',
MQTT_FORMAT: 'Topic/Payload Format',
MQTT_NEST_1: 'Als Nester in in einem Gesamttopic',
MQTT_NEST_2: 'Als einzelne Topics',
MQTT_RESPONSE: 'Veröffentliche die Kommandoantwort als `response` Topic',
@@ -285,8 +296,10 @@ const de: Translation = {
ADMIN: 'Administrator',
GUEST: 'Gast',
NEW: 'Neuer',
RENAME: 'Ändere',
ENTITY: 'Entität'
NEW_NAME_OF: 'Ändere {0}',
ENTITY: 'Entität',
MIN: 'min',
MAX: 'max'
};
export default de;

View File

@@ -4,10 +4,10 @@ const en: BaseTranslation = {
LANGUAGE: 'Language',
RETRY: 'Retry',
LOADING: 'Loading',
IS_REQUIRED: 'is required',
IS_REQUIRED: '{0} is required',
SIGN_IN: 'Sign In',
SIGN_OUT: 'Sign Out',
USERNAME: 'Username',
USERNAME: '{{Username}}',
PASSWORD: 'Password',
SU_PASSWORD: 'su Password',
DASHBOARD: 'Dashboard',
@@ -16,8 +16,8 @@ const en: BaseTranslation = {
HELP_OF: '{0} Help',
LOGGED_IN: 'Logged in as {name}',
PLEASE_SIGNIN: 'Please sign in to continue',
UPLOAD_SUCCESSFUL: 'Upload successful',
DOWNLOAD_SUCCESSFUL: 'Download successful',
UPLOAD_SUCCESSFUL: 'Upload finished',
DOWNLOAD_SUCCESSFUL: 'Download finished',
INVALID_LOGIN: 'Invalid login details',
NETWORK: '{{Network}}',
SECURITY: '{{Security}}',
@@ -29,6 +29,10 @@ const en: BaseTranslation = {
REFRESH: 'Refresh',
EXPORT: 'Export',
DEVICE_DETAILS: 'Device Details',
ID_OF: '{0} ID',
DEVICE: 'Device',
PRODUCT: 'Product',
VERSION: 'Version',
BRAND: 'Brand',
ENTITY_NAME: 'Entity Name',
VALUE: '{{Value|value}}',
@@ -60,7 +64,7 @@ const en: BaseTranslation = {
STARTVALUE: 'Start value',
WARN_GPIO: 'Warning: be careful when assigning a GPIO!',
EDIT: 'Edit',
TEMP_SENSOR: 'Temperature Sensor',
TEMP_SENSOR: '{{|Temperature}} Sensor',
TEMP_SENSORS: 'Temperature Sensors',
WRITE_COMMAND: 'Write command {cmd}',
EMS_BUS_WARNING:
@@ -103,11 +107,15 @@ const en: BaseTranslation = {
BOARD_PROFILE_TEXT:
'Select a pre-configured interface board profile from the list below or choose Custom to configure your own hardware settings',
BOARD_PROFILE: 'Board Profile',
CUSTOM: 'Custom',
GPIO_OF: '{0} GPIO',
BUTTON: 'Button',
TEMPERATURE: 'Temperature',
PHY_TYPE: 'Eth PHY Type',
DISABLED: 'disabled',
DISABLED: '{{disabled}}',
TX_MODE: 'Tx Mode',
HARDWARE: 'Hardware',
EMS_BUS: '{{BUS|EMS BUS}}',
GENERAL_OPTIONS: 'General Options',
LANGUAGE_ENTITIES: 'Language (for device entities)',
HIDE_LED: 'Hide LED',
@@ -150,7 +158,7 @@ const en: BaseTranslation = {
SELECT_DEVICE: 'Select a device',
SET_ALL: 'set all',
OPTIONS: 'Options',
NAME: 'Name',
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',
@@ -225,9 +233,12 @@ const en: BaseTranslation = {
ERRORS_OF: '{0} Errors',
DISCONNECT_REASON: 'Disconnect Reason',
ENABLE_MQTT: 'Enable MQTT',
BROKER: 'Broker',
CLIENT: 'Client',
BASE_TOPIC: 'Base',
OPTIONAL: 'Optional',
FORMATTING: 'Formatting',
FORMAT: 'Format',
MQTT_FORMAT: 'Topic/Payload Format',
MQTT_NEST_1: 'Nested in a single topic',
MQTT_NEST_2: 'As individual topics',
MQTT_RESPONSE: 'Publish command output to a `response` topic',
@@ -241,7 +252,7 @@ const en: BaseTranslation = {
MQTT_INT_SOLAR: 'Solar Modules',
MQTT_INT_MIXER: 'Mixer Modules',
MQTT_QUEUE: 'MQTT Queue',
DEFAULT: 'Default',
DEFAULT: '{{Default}}',
MQTT_CLEAN_SESSION: 'Set Clean Session',
MQTT_RETAIN_FLAG: 'Always set Retain flag',
INACTIVE: 'Inactive',
@@ -279,15 +290,17 @@ const en: BaseTranslation = {
NETWORK_USE_DNS: 'Enable mDNS Service',
NETWORK_ENABLE_IPV6: 'Enable IPv6 support',
NETWORK_FIXED_IP: 'Use Fixed IP address',
NETWORK_GATEWAY: 'Getaway',
NETWORK_GATEWAY: 'Gateway',
NETWORK_SUBNET: 'Subnet Mask',
NETWORK_DNS: 'DNS Servers',
ADDRESS_OF: '{0} Address',
ADMIN: 'Admin',
GUEST: 'Guest',
NEW: 'New',
RENAME: 'Rename',
ENTITY: 'Entity'
NEW_NAME_OF: 'New {0} name',
ENTITY: 'entity',
MIN: 'min',
MAX: 'max'
};
export default en;

View File

@@ -31,9 +31,10 @@ type RootTranslation = {
*/
LOADING: string
/**
* is required
* {0} is required
* @param {unknown} 0
*/
IS_REQUIRED: string
IS_REQUIRED: RequiredParams<'0'>
/**
* Sign In
*/
@@ -43,7 +44,7 @@ type RootTranslation = {
*/
SIGN_OUT: string
/**
* Username
* {{Username}}
*/
USERNAME: string
/**
@@ -82,11 +83,11 @@ type RootTranslation = {
*/
PLEASE_SIGNIN: string
/**
* Upload successful
* Upload finished
*/
UPLOAD_SUCCESSFUL: string
/**
* Download successful
* Download finished
*/
DOWNLOAD_SUCCESSFUL: string
/**
@@ -133,6 +134,23 @@ type RootTranslation = {
* Device Details
*/
DEVICE_DETAILS: string
/**
* {0} ID
* @param {unknown} 0
*/
ID_OF: RequiredParams<'0'>
/**
* Device
*/
DEVICE: string
/**
* Product
*/
PRODUCT: string
/**
* Version
*/
VERSION: string
/**
* Brand
*/
@@ -142,7 +160,7 @@ type RootTranslation = {
*/
ENTITY_NAME: string
/**
* {{Value}}
* {{Value|value}}
*/
VALUE: string
/**
@@ -262,7 +280,7 @@ type RootTranslation = {
*/
EDIT: string
/**
* Temperature Sensor
* {{|Temperature}} Sensor
*/
TEMP_SENSOR: string
/**
@@ -427,6 +445,15 @@ type RootTranslation = {
* Board Profile
*/
BOARD_PROFILE: string
/**
* Custom
*/
CUSTOM: string
/**
* {0} GPIO
* @param {unknown} 0
*/
GPIO_OF: RequiredParams<'0'>
/**
* Button
*/
@@ -440,13 +467,21 @@ type RootTranslation = {
*/
PHY_TYPE: string
/**
* disabled
* {{disabled}}
*/
DISABLED: string
/**
* Tx Mode
*/
TX_MODE: string
/**
* Hardware
*/
HARDWARE: string
/**
* {{BUS|EMS BUS}}
*/
EMS_BUS: string
/**
* General Options
*/
@@ -616,7 +651,7 @@ type RootTranslation = {
*/
OPTIONS: string
/**
* Name
* {{Name}}
*/
NAME: string
/**
@@ -891,6 +926,18 @@ type RootTranslation = {
* Enable MQTT
*/
ENABLE_MQTT: string
/**
* Broker
*/
BROKER: string
/**
* Client
*/
CLIENT: string
/**
* Base
*/
BASE_TOPIC: string
/**
* Optional
*/
@@ -900,9 +947,9 @@ type RootTranslation = {
*/
FORMATTING: string
/**
* Format
* Topic/Payload Format
*/
FORMAT: string
MQTT_FORMAT: string
/**
* Nested in a single topic
*/
@@ -956,7 +1003,7 @@ type RootTranslation = {
*/
MQTT_QUEUE: string
/**
* Default
* {{Default}}
*/
DEFAULT: string
/**
@@ -1108,7 +1155,7 @@ type RootTranslation = {
*/
NETWORK_FIXED_IP: string
/**
* Getaway
* Gateway
*/
NETWORK_GATEWAY: string
/**
@@ -1137,13 +1184,22 @@ type RootTranslation = {
*/
NEW: string
/**
* Rename
* New {0} name
* @param {unknown} 0
*/
RENAME: string
NEW_NAME_OF: RequiredParams<'0'>
/**
* Entity
* entity
*/
ENTITY: string
/**
* min
*/
MIN: string
/**
* max
*/
MAX: string
}
export type TranslationFunctions = {
@@ -1160,9 +1216,9 @@ export type TranslationFunctions = {
*/
LOADING: () => LocalizedString
/**
* is required
* {0} is required
*/
IS_REQUIRED: () => LocalizedString
IS_REQUIRED: (arg0: unknown) => LocalizedString
/**
* Sign In
*/
@@ -1172,9 +1228,9 @@ export type TranslationFunctions = {
*/
SIGN_OUT: () => LocalizedString
/**
* Username
* {{Username}}
*/
USERNAME: () => LocalizedString
USERNAME: (arg0: string | number | boolean) => LocalizedString
/**
* Password
*/
@@ -1208,11 +1264,11 @@ export type TranslationFunctions = {
*/
PLEASE_SIGNIN: () => LocalizedString
/**
* Upload successful
* Upload finished
*/
UPLOAD_SUCCESSFUL: () => LocalizedString
/**
* Download successful
* Download finished
*/
DOWNLOAD_SUCCESSFUL: () => LocalizedString
/**
@@ -1259,6 +1315,22 @@ export type TranslationFunctions = {
* Device Details
*/
DEVICE_DETAILS: () => LocalizedString
/**
* {0} ID
*/
ID_OF: (arg0: unknown) => LocalizedString
/**
* Device
*/
DEVICE: () => LocalizedString
/**
* Product
*/
PRODUCT: () => LocalizedString
/**
* Version
*/
VERSION: () => LocalizedString
/**
* Brand
*/
@@ -1268,7 +1340,7 @@ export type TranslationFunctions = {
*/
ENTITY_NAME: () => LocalizedString
/**
* {{Value}}
* {{Value|value}}
*/
VALUE: (arg0: string | number | boolean) => LocalizedString
/**
@@ -1384,9 +1456,9 @@ export type TranslationFunctions = {
*/
EDIT: () => LocalizedString
/**
* Temperature Sensor
* {{|Temperature}} Sensor
*/
TEMP_SENSOR: () => LocalizedString
TEMP_SENSOR: (arg0: string | number | boolean) => LocalizedString
/**
* Temperature Sensors
*/
@@ -1541,6 +1613,14 @@ export type TranslationFunctions = {
* Board Profile
*/
BOARD_PROFILE: () => LocalizedString
/**
* Custom
*/
CUSTOM: () => LocalizedString
/**
* {0} GPIO
*/
GPIO_OF: (arg0: unknown) => LocalizedString
/**
* Button
*/
@@ -1554,13 +1634,21 @@ export type TranslationFunctions = {
*/
PHY_TYPE: () => LocalizedString
/**
* disabled
* {{disabled}}
*/
DISABLED: () => LocalizedString
DISABLED: (arg0: string | number | boolean) => LocalizedString
/**
* Tx Mode
*/
TX_MODE: () => LocalizedString
/**
* Hardware
*/
HARDWARE: () => LocalizedString
/**
* {{BUS|EMS BUS}}
*/
EMS_BUS: (arg0: string | number | boolean) => LocalizedString
/**
* General Options
*/
@@ -1730,9 +1818,9 @@ export type TranslationFunctions = {
*/
OPTIONS: () => LocalizedString
/**
* Name
* {{Name}}
*/
NAME: () => LocalizedString
NAME: (arg0: string | number | boolean) => LocalizedString
/**
* Are you sure you want remove all customizations including the custom settings of the Temperature and Analog sensors?
*/
@@ -2001,6 +2089,18 @@ export type TranslationFunctions = {
* Enable MQTT
*/
ENABLE_MQTT: () => LocalizedString
/**
* Broker
*/
BROKER: () => LocalizedString
/**
* Client
*/
CLIENT: () => LocalizedString
/**
* Base
*/
BASE_TOPIC: () => LocalizedString
/**
* Optional
*/
@@ -2010,9 +2110,9 @@ export type TranslationFunctions = {
*/
FORMATTING: () => LocalizedString
/**
* Format
* Topic/Payload Format
*/
FORMAT: () => LocalizedString
MQTT_FORMAT: () => LocalizedString
/**
* Nested in a single topic
*/
@@ -2066,9 +2166,9 @@ export type TranslationFunctions = {
*/
MQTT_QUEUE: () => LocalizedString
/**
* Default
* {{Default}}
*/
DEFAULT: () => LocalizedString
DEFAULT: (arg0: string | number | boolean) => LocalizedString
/**
* Set Clean Session
*/
@@ -2218,7 +2318,7 @@ export type TranslationFunctions = {
*/
NETWORK_FIXED_IP: () => LocalizedString
/**
* Getaway
* Gateway
*/
NETWORK_GATEWAY: () => LocalizedString
/**
@@ -2246,13 +2346,21 @@ export type TranslationFunctions = {
*/
NEW: () => LocalizedString
/**
* Rename
* New {0} name
*/
RENAME: () => LocalizedString
NEW_NAME_OF: (arg0: unknown) => LocalizedString
/**
* Entity
* entity
*/
ENTITY: () => LocalizedString
/**
* min
*/
MIN: () => LocalizedString
/**
* max
*/
MAX: () => LocalizedString
}
export type Formatters = {}

View File

@@ -4,7 +4,7 @@ const nl: Translation = {
LANGUAGE: 'Taal',
RETRY: 'Opnieuw proberen',
LOADING: 'Laden',
IS_REQUIRED: 'is verplicht',
IS_REQUIRED: '{0} is verplicht',
SIGN_IN: 'Inloggen',
SIGN_OUT: 'Uitloggen',
USERNAME: 'Gebruikersnaam',
@@ -29,6 +29,10 @@ const nl: Translation = {
REFRESH: 'Ververs',
EXPORT: 'Export',
DEVICE_DETAILS: 'Device Gegevens',
ID_OF: '{0} ID',
DEVICE: 'Apparaat',
PRODUCT: 'Product',
VERSION: 'Versie',
BRAND: 'Merk',
ENTITY_NAME: 'Entiteit',
VALUE: '{{Waarde|waarde}}',
@@ -60,7 +64,7 @@ const nl: Translation = {
STARTVALUE: 'Startwaarde',
WARN_GPIO: 'Waarschuwing: let op met het koppelen van de juiste GPIO pin!',
EDIT: 'Wijzigen',
TEMP_SENSOR: 'Temperatuur sensor',
TEMP_SENSOR: '{{Sensor|Temperatuur sensor}}',
TEMP_SENSORS: 'Temperatuur Sensoren',
WRITE_COMMAND: 'Schrijf commando {cmd}',
EMS_BUS_WARNING:
@@ -103,10 +107,14 @@ const nl: Translation = {
BOARD_PROFILE_TEXT:
'Selecteer een vooraf ingesteld apparaat profiel uit de lijst of kies Eigen om zelf uw hardware te configureren',
BOARD_PROFILE: 'Apparaatprofiel',
CUSTOM: 'Custom',
GPIO_OF: '{0} GPIO',
BUTTON: 'Toets',
TEMPERATURE: 'Temperatuur',
PHY_TYPE: 'Eth PHY Type',
TX_MODE: 'Tx Mode',
HARDWARE: 'Hardware',
EMS_BUS: '{{BUS|EMS BUS}}',
DISABLED: 'Uitgeschakeld',
GENERAL_OPTIONS: 'Algemene Opties',
LANGUAGE_ENTITIES: 'Taal (voor apparaat entiteiten)',
@@ -222,9 +230,12 @@ const nl: Translation = {
ERRORS_OF: '{0} Foutmeldingen',
DISCONNECT_REASON: 'Verbinding verbroken vanwege',
ENABLE_MQTT: 'Activeer MQTT',
BROKER: 'Broker',
CLIENT: 'Client',
BASE_TOPIC: 'Base',
OPTIONAL: 'Optioneel',
FORMATTING: 'Formatteren',
FORMAT: 'Formattering',
MQTT_FORMAT: 'Topic/Payload Formattering',
MQTT_NEST_1: 'Genest in 1 topic',
MQTT_NEST_2: 'Als individuele topics',
MQTT_RESPONSE: 'Publiceer commando output naar een `response` topic',
@@ -276,15 +287,17 @@ const nl: Translation = {
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_GATEWAY: 'Gateway',
NETWORK_SUBNET: 'Subnetmasker',
NETWORK_DNS: 'DNS Servers',
ADDRESS_OF: '{0} Address',
ADMIN: 'Admin',
GUEST: 'Gast',
NEW: 'Nieuwe',
RENAME: 'Hernoem',
ENTITY: 'Entiteit'
NEW_NAME_OF: 'Hernoem {0}',
ENTITY: 'Entiteit',
MIN: 'min',
MAX: 'max'
};
export default nl;

View File

@@ -4,7 +4,7 @@ const no: Translation = {
LANGUAGE: 'Språk',
RETRY: 'Forsøk igjen',
LOADING: 'Laster',
IS_REQUIRED: 'er nødvendig',
IS_REQUIRED: '{0} er nødvendig',
SIGN_IN: 'Logg inn',
SIGN_OUT: 'Logg ut',
USERNAME: 'Brukernavn',
@@ -29,6 +29,10 @@ const no: Translation = {
REFRESH: 'Oppdater',
EXPORT: 'Eksport',
DEVICE_DETAILS: 'Enhetsdetaljer',
ID_OF: '{0}-ID',
DEVICE: 'Enhets',
PRODUCT: 'Produkt',
VERSION: 'Versjon',
BRAND: 'Fabrikat',
ENTITY_NAME: 'Objektsnavn',
VALUE: '{{Verdi|verdi}}',
@@ -60,7 +64,7 @@ const no: Translation = {
STARTVALUE: 'Startverdi',
WARN_GPIO: 'Advarsel: vær forsiktig ved aktivering av GPIO!',
EDIT: 'Endre',
TEMP_SENSOR: 'Temperatursensor',
TEMP_SENSOR: '{{Sensor|Temperatursensor}}',
TEMP_SENSORS: 'Temperaturesensorer',
WRITE_COMMAND: 'Skriv kommando {cmd}',
EMS_BUS_WARNING:
@@ -103,11 +107,15 @@ const no: Translation = {
BOARD_PROFILE_TEXT:
'Velg en pre-konfigurert prosessor profil fra listen under eller velg Tilpasset for å konfigurere dine egne innstillinger',
BOARD_PROFILE: 'Prosessor Profil',
CUSTOM: 'Custom',
GPIO_OF: '{0} GPIO',
BUTTON: 'Knapp',
TEMPERATURE: 'Temperatur',
PHY_TYPE: 'Eth PHY Type',
DISABLED: 'avslått',
TX_MODE: 'Tx Mode',
HARDWARE: 'Hardware',
EMS_BUS: '{{BUS|EMS BUS}}',
GENERAL_OPTIONS: 'Generelle Innstillinger',
LANGUAGE_ENTITIES: 'Språk (for objekter)',
HIDE_LED: 'Skjul LED',
@@ -223,9 +231,12 @@ const no: Translation = {
ERRORS_OF: '{0} Feil',
DISCONNECT_REASON: 'Årsak til nedkobling',
ENABLE_MQTT: 'Aktiver MQTT',
BROKER: 'Broker',
CLIENT: 'Client',
BASE_TOPIC: 'Base',
OPTIONAL: 'Valgfritt',
FORMATTING: 'Formatering',
FORMAT: 'Format',
MQTT_FORMAT: 'Topic/Payload Format',
MQTT_NEST_1: 'Nestet i en topic',
MQTT_NEST_2: 'Som individuelle topics',
MQTT_RESPONSE: 'Publiser kommandoer til en `response` topic',
@@ -277,15 +288,17 @@ const no: Translation = {
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_GATEWAY: 'Gateway',
NETWORK_SUBNET: 'Nettverksmaske',
NETWORK_DNS: 'DNS Servers',
ADDRESS_OF: '{0} Address',
ADMIN: 'Admin',
GUEST: 'Gjest',
NEW: 'Ny',
RENAME: 'Bytt navn',
ENTITY: 'Entitet'
NEW_NAME_OF: 'Bytt navn {0}',
ENTITY: 'Entitet',
MIN: 'min',
MAX: 'max'
};
export default no;

View File

@@ -4,21 +4,21 @@ const pl: Translation = {
LANGUAGE: 'Język',
RETRY: 'Ponów',
LOADING: 'Ładowanie',
IS_REQUIRED: 'Czy wymagany?',
SIGN_IN: 'Zaloguj',
SIGN_OUT: 'Wyloguj',
USERNAME: 'Nazwa użytkownika',
IS_REQUIRED: 'Pole {0} nie może być puste!',
SIGN_IN: 'Zaloguj się',
SIGN_OUT: 'Wyloguj się',
USERNAME: '{{Użytkownik|Nazwa użytkownika|}}',
PASSWORD: 'Hasło',
SU_PASSWORD: 'Hasło "su"',
DASHBOARD: 'Pulpit',
SETTINGS_OF: 'Ustawienia {0}',
SAVED: 'zostały zapisane.',
HELP_OF: 'Pomoc {0}',
LOGGED_IN: 'Zalogowany jako {name}.',
LOGGED_IN: 'Zalogowano użytkownika {name}.',
PLEASE_SIGNIN: 'Zaloguj się aby kontynuować.',
UPLOAD_SUCCESSFUL: 'Wysyłanie zakończone.',
DOWNLOAD_SUCCESSFUL: 'Pobieranie zakończone.',
INVALID_LOGIN: 'Niepoprawny login!',
INVALID_LOGIN: 'Nieprawidłowy użytkownik lub hasło!',
NETWORK: '{{Sieć|sieci|}}',
SECURITY: '{{B|b|}}ezpieczeństw{{o|a|}}',
ONOFF_CAP: 'wł./wył.',
@@ -29,9 +29,13 @@ const pl: Translation = {
REFRESH: 'Odśwież',
EXPORT: 'Eksportuj',
DEVICE_DETAILS: 'Szczegóły urządzenia',
ID_OF: 'ID {0}',
DEVICE: 'urządzenia',
PRODUCT: 'produktu',
BRAND: 'Marka',
VERSION: 'Wersja',
ENTITY_NAME: 'Nazwa encji',
VALUE: '{{Wartość|wartość|}}',
VALUE: '{{W|w|}}artość',
SHOW_FAV: 'Pokaż tylko "ulubione"',
DEVICE_SENSOR_DATA: 'Dane z urządzeń i czujników',
DEVICES_SENSORS: 'Urządzenia i czujniki',
@@ -39,7 +43,7 @@ const pl: Translation = {
RUN_COMMAND: 'Wykonaj komendę',
CHANGE_VALUE: 'Zmień wartość',
CANCEL: 'Anuluj',
RESET: '{{Resetuj|Resetowanie|}}',
RESET: 'Reset{{uj|owanie|}}',
SEND: 'Wyślij',
SAVE: 'Zapisz',
REMOVE: 'Usuń',
@@ -52,23 +56,23 @@ const pl: Translation = {
UPDATE_OF: 'Aktualizacja {0}',
REMOVED_OF: 'Usunięto ustawienia {0}.',
DELETION_OF: 'Kasowanie {0}',
OFFSET: 'Korekta +/-',
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!',
WARN_GPIO: 'Uwaga! Zachowaj ostrożność przypisując GPIO do urządzenia!',
EDIT: 'Edycja',
TEMP_SENSOR: 'czujnika temperatury',
TEMP_SENSOR: '{{czujnika temperatury|czujnika|}}',
TEMP_SENSORS: 'Czujniki temperatury 1-Wire®',
WRITE_COMMAND: 'Wyślij komendę {cmd}',
EMS_BUS_WARNING:
'Brak połączenia z magistralą EMS. Jeśli ten błąd występuje dłużej niż kilka sekund, sprawdź ustawienia oraz profil płytki interfejsu.',
EMS_BUS_SCANNING: 'Trwa skanowanie magistrali EMS w poszukiwaniu urządzeń...',
EMS_BUS_SCANNING: 'Trwa skanowanie urządzeń na magistrali EMS...',
CONNECTED: '{{połączono|połączenie|}}',
TX_ISSUES: 'Problem z zapisem na magistralę EMS. Spróbuj wybrać inny "Sposób transmisji (Tx)".',
DISCONNECTED: 'zostało rozłączone',
TX_ISSUES: 'Problem z zapisem na magistralę EMS. Spróbuj wybrać inny "Tryb transmisji (Tx)".',
DISCONNECTED: 'brak połączenia',
EMS_SCAN: 'Czy na pewno wykonać pełne skanowanie magistrali EMS?',
EMS_BUS_STATUS: 'Status magistrali EMS',
ACTIVE_DEVICES: 'Aktywne urządzenia i czujniki',
@@ -87,11 +91,11 @@ const pl: Translation = {
'Odczyty czujników analogowych i cyfrowych',
'Publikacje MQTT',
'Wywołania API',
'Wpisy w logu systemowym'
'Wpisy w SysLog'
],
NUM_DEVICES: '{num} urządze{{ń|nie|nia|nia|ń}} EMS',
NUM_TEMP_SENSORS: '{num} czujni{{ków|k|ki|ki|ków}} temperatury',
NUM_ANALOG_SENSORS: '{num} czujni{{ków|k|ki(two)|ki|ków}} analogow{{ych|y|e|e|ych}}',
NUM_ANALOG_SENSORS: '{num} inn{{ych|e|e|e|ych}} urządze{{ń|nie|nia(two)|nia|ń}} podłączon{{ych|e|e|e|ych}} do EMS-ESP',
NUM_DAYS: '{num} {{dni|dzień|dni|dni|dni}}',
NUM_SECONDS: '{num} sekun{{d|da|dy|dy|d}}',
NUM_HOURS: '{num} godzi{{n|na|ny|ny|n}}',
@@ -100,13 +104,17 @@ const pl: Translation = {
CUSTOMIZATION: 'Personalizacja',
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_TEXT: 'Wybierz z listy gotowy profil płytki interfejsu lub wybierając "własny..." skonfiguruj posiadany sprzęt samodzielnie.',
BOARD_PROFILE: 'Profil płytki',
BUTTON: 'Przycisk',
CUSTOM: 'własny',
GPIO_OF: 'GPIO {0}',
BUTTON: 'przycisku',
TEMPERATURE: '1-Wire®',
PHY_TYPE: 'Typ układu ethernetowego (PHY)',
DISABLED: 'wyłączony',
TX_MODE: 'Sposób transmisji (Tx)',
DISABLED: '{{wyłączono|brak|}}',
TX_MODE: 'Tryb transmisji (Tx)',
EMS_BUS: '{{magistrali EMS|na magistrali|}}',
HARDWARE: 'sprzętowy',
GENERAL_OPTIONS: 'Opcje podstawowe',
LANGUAGE_ENTITIES: 'Język encji',
HIDE_LED: 'Wyłącz LED',
@@ -121,9 +129,9 @@ const pl: Translation = {
TRIGGER_TIME: 'Wyzwalaj po czasie',
COLD_SHOT_DURATION: 'Czas trwania tryśnięcia zimnej wody',
FORMATTING_OPTIONS: 'Opcje formatowania',
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',
BOOLEAN_FORMAT_DASHBOARD: 'Wartości dwustanowe na pulpicie',
BOOLEAN_FORMAT_API: 'Wartości dwustanowe w API/MQTT',
ENUM_FORMAT: 'Wartości z listy w API/MQTT',
INDEX: 'indeks',
ENABLE_PARASITE: 'Aktywuj zasilanie pasożytnicze',
LOGGING: 'Logowanie',
@@ -143,29 +151,29 @@ const pl: Translation = {
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',
CUSTOMIZATIONS_HELP_3: 'zablokuj akcje zapisu',
CUSTOMIZATIONS_HELP_4: 'wyklucz z MQTT i API',
CUSTOMIZATIONS_HELP_5: 'ukryj na pulpicie',
SELECT_DEVICE: 'wybierz urządzenie',
SET_ALL: 'Zaznacz wszystko jako',
SET_ALL: 'Ustaw wszystko jako',
OPTIONS: 'Opcje',
NAME: 'nazwa',
NAME: '{{Nazwa|nazwa|}}',
CUSTOMIZATIONS_RESET:
'Czy jesteś pewien, że chcesz usunąć wszystkie personalizacje łącznie z ustawieniami dla czujników temperatury 1-Wire® i urządzeń podłączonych do EMS-ESP?',
DEVICE_ENTITIES: 'Encje urządzenia',
USER_CUSTOMIZATION: 'Personalizacje użytkownika',
SUPPORT_INFORMATION: 'Informacje dotyczące wsparcia',
CLICK_HERE: 'Kliknij tu',
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_1: 'Aby uzyskać instrukcje dotyczące konfiguracji EMS-ESP skorzystaj z wiki w internecie',
HELP_INFORMATION_2: 'Aby dołączyć do naszego serwera Discord i komunikować się na żywo ze społecznością',
HELP_INFORMATION_3: 'Aby zaproponować nową funkcjonalność lub zgłosić problem',
HELP_INFORMATION_4: 'zgłaszając problem, nie zapomnij dołączyć informacji o swoim systemie',
HELP_INFORMATION_4: 'Zgłaszając problem, nie zapomnij dołączyć informacji o swoim systemie!',
HELP_INFORMATION_5:
'EMS-ESP jest darmowym projektem typu open-source. Aby go wesprzeć, rozważ przyznanie nam gwiazdki na Github!',
SUPPORT_INFO: 'Pobierz informacje',
UPLOAD_OF: 'Wysyłanie {0}',
UPLOAD: 'Wysyłanie',
DOWNLOAD: '{{P|p|P}}obier{{anie|z|z}}',
DOWNLOAD: '{{P|p||P}}obier{{anie|z||z}}',
ABORTED: 'zostało przerwane!',
FAILED: 'nie powiodło się!',
SUCCESSFUL: 'powiodło się.',
@@ -193,7 +201,7 @@ const pl: Translation = {
CPU_FREQ: 'Taktowanie CPU',
HEAP: 'HEAP (wolne / maksymalny przydział)',
PSRAM: 'PSRAM (rozmiar / wolne)',
FLASH: 'Układ pamięci flash (rozmiar / taktowanie)',
FLASH: 'Flash (rozmiar / taktowanie)',
APPSIZE: 'Aplikacja (wykorzystane / wolne)',
FILESYSTEM: 'System plików (wykorzystane / wolne)',
BUFFER_SIZE: 'Rozmiar bufora',
@@ -202,15 +210,15 @@ const pl: Translation = {
DOWNLOAD_CUSTOMIZATION_TEXT: 'Pobierz personalizacje',
DOWNLOAD_SETTINGS_TEXT:
'Pobierz ustawienia aplikacji. Uważaj jeśli udostępniasz plik z ustawieniami, ponieważ zawiera on hasła oraz inne wrażliwe informacje!',
UPLOAD_TEXT: 'Wyślij firmware (.bin), ustawienia lub personalizacje (.json)',
UPLOAD_TEXT: 'Wyślij firmware (.bin), ustawienia lub personalizacje (.json). Opcjonalnie, wyślij wcześniej plik walidacji (.md5).',
UPLOADING: 'Wysłano',
UPLOAD_DROP_TEXT: 'Przeciągnij tutaj plik lub kliknij',
ERROR: 'Nieoczekiwany błąd, spróbuj ponownie!',
TIME_SET: 'Ustaw czas',
TIME_SET: 'Zegar został ustawiony.',
MANAGE_USERS: 'Zarządzanie użytkownikami',
IS_ADMIN: '{{Admin?|Uprawnienia administratora|}}',
IS_ADMIN: '{{Administrator|Uprawnienia administratora|}}',
USER_WARNING: 'Przynajmniej jeden użytkownik musi mieć uprawnienia administratora!',
ADD: 'Doda{{j|wanie|C}}',
ADD: 'Doda{{j|wanie|}}',
ACCESS_TOKEN_FOR: 'Token dostępu dla użytkownika',
ACCESS_TOKEN_TEXT:
'Token jest używany w wywołaniach REST API wymagających autoryzacji. Można go przekazywać bezpośrednio lub przez URL.',
@@ -218,29 +226,32 @@ const pl: Translation = {
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 administratora.',
NOT_ENABLED: 'nieaktywowany',
'Hasło "su" (super-użytkownika) służy do podpisywania tokenów autoryzujących oraz włączania uprawnień administratora w konsoli.',
NOT_ENABLED: 'nieaktywny',
ERRORS_OF: 'Błędy {0}',
DISCONNECT_REASON: 'Powód rozłączenia',
DISCONNECT_REASON: 'Przyczyna braku połączenia',
ENABLE_MQTT: 'Aktywuj MQTT',
BROKER: 'brokera',
CLIENT: 'klienta',
BASE_TOPIC: 'Prefiks bazowy',
OPTIONAL: 'opcjonalny',
FORMATTING: 'Formatowanie',
FORMAT: 'Format',
MQTT_FORMAT: 'Sposób publikowania danych',
MQTT_NEST_1: 'zagnieżdżone w pojedynczym temacie',
MQTT_NEST_2: 'jako indywidualne tematy',
MQTT_RESPONSE: 'Publikuj odpowiedzi na komendy w temacie "response"',
MQTT_PUBLISH_TEXT_1: 'Publikuj pojedyńcze wartości po zmianie',
MQTT_RESPONSE: 'Rezultat wykonania komendy publikuj w temacie "response"',
MQTT_PUBLISH_TEXT_1: 'Publikuj tematy z pojedynczą wartością bezpośrednio po zmianie',
MQTT_PUBLISH_TEXT_2: 'Publikuj w temacie "command" (ioBroker)',
MQTT_PUBLISH_TEXT_3: 'Włącz opcję MQTT Discovery (Home Assistant, Domoticz)',
MQTT_PUBLISH_TEXT_4: 'Prefiks do tematów "discovery"',
MQTT_PUBLISH_INTERVALS: 'Interwał publikowania',
MQTT_PUBLISH_TEXT_3: 'Włącz opcję "MQTT discovery" (Home Assistant, Domoticz)',
MQTT_PUBLISH_TEXT_4: 'Prefiks dla tematów "MQTT discovery"',
MQTT_PUBLISH_INTERVALS: 'Interwały publikowania',
MQTT_INT_BOILER: 'Kotły i pompy ciepła',
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"',
DEFAULT: '{{Pozostałe|Domyślna|}}',
MQTT_CLEAN_SESSION: 'Ustawiaj flagę "Clean session"',
MQTT_RETAIN_FLAG: 'Ustawiaj flagę "Retain"',
INACTIVE: 'nieaktywny',
ACTIVE: 'aktywny',
@@ -253,7 +264,7 @@ const pl: Translation = {
NTP_SERVER: 'Serwer NTP',
TIME_ZONE: 'Strefa czasowa',
ACCESS_POINT: '{{Punkt|punktu|}} {{dostępowy|dostępowego|}}',
AP_PROVIDE: 'Aktywuj punkt dostępowy (Access Point)',
AP_PROVIDE: 'Aktywuj punkt dostępowy',
AP_PROVIDE_TEXT_1: 'zawsze',
AP_PROVIDE_TEXT_2: 'gdy połączenie WiFi jest rozłączone',
AP_PROVIDE_TEXT_3: 'nigdy',
@@ -262,7 +273,7 @@ const pl: Translation = {
AP_CLIENTS: 'Liczba klientów',
AP_MAX_CLIENTS: 'Maksymalna liczba klientów',
AP_LOCAL_IP: 'Lokalny adres IP',
NETWORK_SCAN: 'Skanuj sieci WiFi',
NETWORK_SCAN: 'Skanowanie sieci WiFi',
IDLE: 'uśpiony',
LOST: 'zostało utracone.',
SCANNING: 'Skanuję',
@@ -281,11 +292,13 @@ const pl: Translation = {
NETWORK_SUBNET: 'Maska podsieci',
NETWORK_DNS: 'Serwery DNS',
ADDRESS_OF: 'Adres {0}',
ADMIN: 'Administrator',
GUEST: 'Gość',
ADMIN: 'Użytkownik "administrator".',
GUEST: 'Użytkownik "gość".',
NEW: 'Nowy',
RENAME: 'Zmień nazwę',
ENTITY: 'encji'
NEW_NAME_OF: 'Nowa nazwa {0}',
ENTITY: 'encji',
MIN: 'Min.',
MAX: 'Maks.'
};
export default pl;

View File

@@ -4,7 +4,7 @@ const se: Translation = {
LANGUAGE: 'Språk',
RETRY: 'Försök igen',
LOADING: 'Laddar',
IS_REQUIRED: 'Krävs',
IS_REQUIRED: '{0} Krävs',
SIGN_IN: 'Logga In',
SIGN_OUT: 'Logga Ut',
USERNAME: 'Användarnamn',
@@ -29,6 +29,10 @@ const se: Translation = {
REFRESH: 'Uppdatera',
EXPORT: 'Exportera',
DEVICE_DETAILS: 'Enhetsdetaljer',
ID_OF: '{0}-ID',
DEVICE: 'Enhets',
PRODUCT: 'Produkt',
VERSION: 'Version',
BRAND: 'Fabrikat',
ENTITY_NAME: 'Entitetsnamn',
VALUE: '{{Värde|värde}}',
@@ -60,7 +64,7 @@ const se: Translation = {
STARTVALUE: 'Startvärde',
WARN_GPIO: 'Varning: Var försiktig vid aktivering av GPIO!',
EDIT: 'Ändra',
TEMP_SENSOR: 'Temperatursensor',
TEMP_SENSOR: '{{Sensor|Temperatursensor}}',
TEMP_SENSORS: 'Temperatursensorer',
WRITE_COMMAND: 'Skrivkommando {cmd}',
EMS_BUS_WARNING:
@@ -103,11 +107,15 @@ const se: Translation = {
BOARD_PROFILE_TEXT:
'Välj en förkonfigurerad hårdvaruprofil från listan nedan eller välj Anpassad för att konfigurera dina egna hårdvaruinställningar',
BOARD_PROFILE: 'Hårdvaruprofil',
CUSTOM: 'Custom',
GPIO_OF: '{0} GPIO',
BUTTON: 'Knapp',
TEMPERATURE: 'Temperatur',
PHY_TYPE: 'Eth PHY-typ',
DISABLED: 'inaktiverad',
TX_MODE: 'Tx Mode',
HARDWARE: 'Hardware',
EMS_BUS: '{{BUS|EMS BUS}}',
GENERAL_OPTIONS: 'Allmänna Inställningar',
LANGUAGE_ENTITIES: 'Språk (för entiteter)',
HIDE_LED: 'Inaktivera LED',
@@ -223,9 +231,12 @@ const se: Translation = {
ERRORS_OF: '{0} fel',
DISCONNECT_REASON: 'Anledning till nedkoppling',
ENABLE_MQTT: 'Aktivera MQTT',
BROKER: 'Broker',
CLIENT: 'Client',
BASE_TOPIC: 'Base',
OPTIONAL: 'Valfritt',
FORMATTING: 'Formatering',
FORMAT: 'Format',
MQTT_FORMAT: 'Topic/Payload Format',
MQTT_NEST_1: 'Nestlat i en topic.',
MQTT_NEST_2: 'Som individuella topics',
MQTT_RESPONSE: 'Publish-kommando som ett `response` topic',
@@ -284,8 +295,10 @@ const se: Translation = {
ADMIN: 'Admin',
GUEST: 'Gäst',
NEW: 'Ny',
RENAME: 'Byt namn',
ENTITY: 'Entitet'
NEW_NAME_OF: 'Byt namn {0}',
ENTITY: 'Entitet',
MIN: 'min',
MAX: 'max'
};
export default se;

View File

@@ -559,11 +559,11 @@ const DashboardData: FC = () => {
offset: sensor.o
});
if (response.status === 204) {
enqueueSnackbar(LL.UPLOAD_OF(LL.TEMP_SENSOR()) + ' ' + LL.FAILED(), { variant: 'error' });
enqueueSnackbar(LL.UPLOAD_OF(LL.TEMP_SENSOR(0)) + ' ' + LL.FAILED(), { variant: 'error' });
} else if (response.status === 403) {
enqueueSnackbar(LL.ACCESS_DENIED(), { variant: 'error' });
} else {
enqueueSnackbar(LL.UPDATED_OF(LL.TEMP_SENSOR()), { variant: 'success' });
enqueueSnackbar(LL.UPDATED_OF(LL.TEMP_SENSOR(0)), { variant: 'success' });
}
setSensor(undefined);
} catch (error) {
@@ -580,11 +580,11 @@ const DashboardData: FC = () => {
return (
<Dialog open={sensor !== undefined} onClose={() => setSensor(undefined)}>
<DialogTitle>
{LL.EDIT()} {LL.TEMP_SENSOR()}
{LL.EDIT()} {LL.TEMP_SENSOR(0)}
</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>
<Typography variant="body2">{LL.ID_OF(LL.TEMP_SENSOR(1))}: {sensor.id}</Typography>
</Box>
<Grid container spacing={1}>
<Grid item>
@@ -649,22 +649,22 @@ const DashboardData: FC = () => {
<ListItemText primary={LL.TYPE()} secondary={coreData.devices[deviceDialog].t} />
</ListItem>
<ListItem>
<ListItemText primary={LL.NAME()} secondary={coreData.devices[deviceDialog].n} />
<ListItemText primary={LL.NAME(0)} secondary={coreData.devices[deviceDialog].n} />
</ListItem>
<ListItem>
<ListItemText primary={LL.BRAND()} secondary={coreData.devices[deviceDialog].b} />
</ListItem>
<ListItem>
<ListItemText
primary="Device ID"
primary={LL.ID_OF(LL.DEVICE())}
secondary={'0x' + ('00' + coreData.devices[deviceDialog].d.toString(16).toUpperCase()).slice(-2)}
/>
</ListItem>
<ListItem>
<ListItemText primary="Product ID" secondary={coreData.devices[deviceDialog].p} />
<ListItemText primary={LL.ID_OF(LL.PRODUCT())} secondary={coreData.devices[deviceDialog].p} />
</ListItem>
<ListItem>
<ListItemText primary="Version" secondary={coreData.devices[deviceDialog].v} />
<ListItemText primary={LL.VERSION()} secondary={coreData.devices[deviceDialog].v} />
</ListItem>
</List>
</DialogContent>

View File

@@ -133,7 +133,7 @@ const SettingsApplication: FC = () => {
{boardProfileSelectItems()}
<Divider />
<MenuItem key={'CUSTOM'} value={'CUSTOM'}>
Custom&hellip;
{LL.CUSTOM()}&hellip;
</MenuItem>
</ValidatedTextField>
{data.board_profile === 'CUSTOM' && (
@@ -143,7 +143,7 @@ const SettingsApplication: FC = () => {
<ValidatedTextField
fieldErrors={fieldErrors}
name="rx_gpio"
label="Rx GPIO"
label={LL.GPIO_OF('Rx')}
fullWidth
variant="outlined"
value={numberValue(data.rx_gpio)}
@@ -157,7 +157,7 @@ const SettingsApplication: FC = () => {
<ValidatedTextField
fieldErrors={fieldErrors}
name="tx_gpio"
label="Tx GPIO"
label={LL.GPIO_OF('Tx')}
fullWidth
variant="outlined"
value={numberValue(data.tx_gpio)}
@@ -171,7 +171,7 @@ const SettingsApplication: FC = () => {
<ValidatedTextField
fieldErrors={fieldErrors}
name="pbutton_gpio"
label={LL.BUTTON() + ' GPIO'}
label={LL.GPIO_OF(LL.BUTTON())}
fullWidth
variant="outlined"
value={numberValue(data.pbutton_gpio)}
@@ -185,7 +185,7 @@ const SettingsApplication: FC = () => {
<ValidatedTextField
fieldErrors={fieldErrors}
name="dallas_gpio"
label={LL.TEMPERATURE() + ' GPIO (0=' + LL.DISABLED() + ')'}
label={LL.GPIO_OF(LL.TEMPERATURE()) + ' (0=' + LL.DISABLED(1) + ')'}
fullWidth
variant="outlined"
value={numberValue(data.dallas_gpio)}
@@ -199,7 +199,7 @@ const SettingsApplication: FC = () => {
<ValidatedTextField
fieldErrors={fieldErrors}
name="led_gpio"
label={'LED GPIO (0=' + LL.DISABLED() + ')'}
label={LL.GPIO_OF('LED') + ' (0=' + LL.DISABLED(1) + ')'}
fullWidth
variant="outlined"
value={numberValue(data.led_gpio)}
@@ -222,7 +222,7 @@ const SettingsApplication: FC = () => {
margin="normal"
select
>
<MenuItem value={0}>{LL.DISABLED()}</MenuItem>
<MenuItem value={0}>{LL.DISABLED(1)}</MenuItem>
<MenuItem value={1}>LAN8720</MenuItem>
<MenuItem value={2}>TLK110</MenuItem>
</ValidatedTextField>
@@ -232,7 +232,7 @@ const SettingsApplication: FC = () => {
<Grid item>
<ValidatedTextField
name="eth_power"
label={'Eth Power GPIO (-1=' + LL.DISABLED() + ')'}
label={LL.GPIO_OF('PHY Power') + ' (-1=' + LL.DISABLED(1) + ')'}
fullWidth
variant="outlined"
value={numberValue(data.eth_power)}
@@ -245,7 +245,7 @@ const SettingsApplication: FC = () => {
<Grid item>
<ValidatedTextField
name="eth_phy_addr"
label="Eth I²C Address"
label={LL.ADDRESS_OF('PHY I²C')}
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 Clk Mode"
label="PHY Clk"
disabled={saving}
value={data.eth_clock_mode}
fullWidth
@@ -278,7 +278,7 @@ const SettingsApplication: FC = () => {
</>
)}
<Typography variant="h6" color="primary">
{LL.SETTINGS_OF('EMS BUS')}
{LL.SETTINGS_OF(LL.EMS_BUS(0))}
</Typography>
<Grid container spacing={1} direction="row" justifyContent="flex-start" alignItems="flex-start">
<Grid item xs={6}>
@@ -296,13 +296,13 @@ const SettingsApplication: FC = () => {
<MenuItem value={1}>EMS</MenuItem>
<MenuItem value={2}>EMS+</MenuItem>
<MenuItem value={3}>HT3</MenuItem>
<MenuItem value={4}>Hardware</MenuItem>
<MenuItem value={4}>{LL.HARDWARE()}</MenuItem>
</ValidatedTextField>
</Grid>
<Grid item xs={6}>
<ValidatedTextField
name="ems_bus_id"
label="Bus ID"
label={LL.ID_OF(LL.EMS_BUS(1))}
disabled={saving}
value={data.ems_bus_id}
fullWidth

View File

@@ -66,7 +66,7 @@ const SettingsCustomization: FC = () => {
const entities_theme = useTheme({
Table: `
--data-table-library_grid-template-columns: 120px repeat(1, minmax(80px, 1fr)) 40px 40px 120px;
--data-table-library_grid-template-columns: 120px repeat(1, minmax(80px, 1fr)) 45px 45px 120px;
`,
BaseRow: `
font-size: 14px;
@@ -455,11 +455,11 @@ const SettingsCustomization: FC = () => {
<HeaderCell stiff>{LL.OPTIONS()}</HeaderCell>
<HeaderCell resize>
<Button fullWidth style={{ fontSize: '14px', justifyContent: 'flex-start' }}>
{LL.NAME()}
{LL.NAME(1)}
</Button>
</HeaderCell>
<HeaderCell stiff>min</HeaderCell>
<HeaderCell stiff>max</HeaderCell>
<HeaderCell stiff>{LL.MIN()}</HeaderCell>
<HeaderCell stiff>{LL.MAX()}</HeaderCell>
<HeaderCell resize>{LL.VALUE(0)}</HeaderCell>
</HeaderRow>
</Header>
@@ -582,7 +582,7 @@ const SettingsCustomization: FC = () => {
const de = deviceEntity;
return (
<Dialog open={!!deviceEntity} onClose={() => setDeviceEntity(undefined)}>
<DialogTitle>{LL.EDIT() + ' ' + LL.ENTITY() + ' ' + de.id}</DialogTitle>
<DialogTitle>{LL.EDIT() + ' ' + LL.ENTITY() + ' "' + de.id + '"'}</DialogTitle>
<DialogContent dividers>
<ToggleButtonGroup
@@ -628,14 +628,14 @@ const SettingsCustomization: FC = () => {
<Box color="warning.main" p={0} pl={0} pr={0} mt={2} mb={2}>
<Typography variant="body2">
{LL.DEFAULT() + ' ' + LL.NAME()}:&nbsp;{deviceEntity.n}
{LL.DEFAULT(1) + ' ' + LL.NAME(1)}:&nbsp;{deviceEntity.n}
</Typography>
</Box>
<Grid container spacing={1}>
<Grid item>
<TextField
name="cn"
label={LL.RENAME() + ' ' + LL.ENTITY()}
label={LL.NEW_NAME_OF(LL.ENTITY())}
value={deviceEntity.cn}
autoFocus
sx={{ width: '30ch' }}
@@ -647,7 +647,7 @@ const SettingsCustomization: FC = () => {
<Grid item>
<TextField
name="mi"
label="min"
label={LL.MIN()}
value={deviceEntity.mi}
sx={{ width: '8ch' }}
onChange={updateValue(setDeviceEntity)}
@@ -656,7 +656,7 @@ const SettingsCustomization: FC = () => {
<Grid item>
<TextField
name="ma"
label="max"
label={LL.MAX()}
value={deviceEntity.ma}
sx={{ width: '8ch' }}
onChange={updateValue(setDeviceEntity)}