mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2026-09-13 13:44:10 +00:00
ui changes to dialog boxes
This commit is contained in:
@@ -3,11 +3,9 @@ import { useBlocker } from 'react-router';
|
||||
|
||||
import AddIcon from '@mui/icons-material/Add';
|
||||
import CancelIcon from '@mui/icons-material/Cancel';
|
||||
import PlayArrowIcon from '@mui/icons-material/PlayArrow';
|
||||
import WarningIcon from '@mui/icons-material/Warning';
|
||||
import { Box, Button, IconButton, Typography } from '@mui/material';
|
||||
import { Box, Button, Typography } from '@mui/material';
|
||||
|
||||
import { callAction } from '@/api/app';
|
||||
import {
|
||||
Body,
|
||||
Cell,
|
||||
@@ -48,7 +46,7 @@ const DEFAULT_COMMAND_ITEM: Omit<CommandItem, 'id'> = {
|
||||
|
||||
const commandsTheme = {
|
||||
Table: `
|
||||
--data-table-library_grid-template-columns: repeat(1, minmax(100px, 1fr)) repeat(1, minmax(100px, 1fr)) 160px 32px;
|
||||
--data-table-library_grid-template-columns: repeat(1, minmax(100px, 1fr)) repeat(1, minmax(100px, 1fr)) 160px;
|
||||
`,
|
||||
BaseRow: `
|
||||
font-size: 14px;
|
||||
@@ -143,21 +141,6 @@ const Commands = () => {
|
||||
}
|
||||
};
|
||||
|
||||
const { send: executeCommand } = useRequest(
|
||||
(id: string) => callAction({ action: 'executeCommand', param: id }),
|
||||
{ immediate: false }
|
||||
)
|
||||
.onSuccess(() => {
|
||||
toast.success(LL.EXECUTE_COMMAND_SENT());
|
||||
})
|
||||
.onError((error) => {
|
||||
toast.error(String(error.error?.message || 'An error occurred'));
|
||||
});
|
||||
|
||||
const execute = async (name: string) => {
|
||||
await executeCommand(name);
|
||||
};
|
||||
|
||||
const editItem = (ci: CommandItem) => {
|
||||
setCreating(false);
|
||||
setSelectedItem(ci);
|
||||
@@ -222,7 +205,6 @@ const Commands = () => {
|
||||
<HeaderCell stiff>{LL.COMMAND(0)}</HeaderCell>
|
||||
<HeaderCell stiff>{LL.VALUE(0)}</HeaderCell>
|
||||
<HeaderCell stiff>{LL.NAME(0)}</HeaderCell>
|
||||
<HeaderCell></HeaderCell>
|
||||
</HeaderRow>
|
||||
</Header>
|
||||
<Body>
|
||||
@@ -231,16 +213,6 @@ const Commands = () => {
|
||||
<Cell>{ci.cmd}</Cell>
|
||||
<Cell>{ci.value}</Cell>
|
||||
<Cell>{ci.name}</Cell>
|
||||
<Cell>
|
||||
{numChanges === 0 && (
|
||||
<IconButton
|
||||
onClick={() => execute(ci.name)}
|
||||
style={{ backgroundColor: 'transparent' }}
|
||||
>
|
||||
<PlayArrowIcon color="primary" sx={{ fontSize: 16 }} />
|
||||
</IconButton>
|
||||
)}
|
||||
</Cell>
|
||||
</Row>
|
||||
))}
|
||||
</Body>
|
||||
|
||||
@@ -95,7 +95,7 @@ const CommandsDialog = ({
|
||||
{ immediate: false }
|
||||
)
|
||||
.onSuccess(() => {
|
||||
toast.success(LL.EXECUTE_COMMAND_SENT());
|
||||
toast.success(LL.COMMAND_SENT());
|
||||
})
|
||||
.onError((error) => {
|
||||
toast.error(String(error.error?.message || 'An error occurred'));
|
||||
@@ -121,8 +121,8 @@ const CommandsDialog = ({
|
||||
return (
|
||||
<Dialog sx={dialogStyle} open={open} onClose={handleClose}>
|
||||
<DialogTitle>
|
||||
{creating ? `${LL.ADD(1)} ${LL.NEW(0)}` : LL.EDIT()}
|
||||
{LL.COMMAND(1)}
|
||||
{creating ? `${LL.ADD(1)} ` : LL.UPDATE() + '/' + LL.RUN()}
|
||||
{LL.COMMAND(0)}
|
||||
</DialogTitle>
|
||||
<DialogContent dividers>
|
||||
<ValidatedTextField
|
||||
@@ -195,7 +195,7 @@ const CommandsDialog = ({
|
||||
onClick={execute}
|
||||
color="success"
|
||||
>
|
||||
{LL.EXECUTE()}
|
||||
{LL.RUN()}
|
||||
</Button>
|
||||
)}
|
||||
</DialogActions>
|
||||
|
||||
@@ -334,7 +334,7 @@ const Dashboard = memo(() => {
|
||||
(di.dv.v === '' || di.dv.v === undefined ? (
|
||||
<IconButton
|
||||
size="small"
|
||||
aria-label={LL.RUN_COMMAND()}
|
||||
aria-label={LL.RUN()}
|
||||
onClick={() => editDashboardValue(di)}
|
||||
style={{ backgroundColor: 'transparent' }}
|
||||
>
|
||||
@@ -402,7 +402,10 @@ const Dashboard = memo(() => {
|
||||
{selectedDashboardItem && selectedDashboardItem.dv && (
|
||||
<DevicesDialog
|
||||
open={deviceValueDialogOpen}
|
||||
onClose={() => setDeviceValueDialogOpen(false)}
|
||||
onClose={() => {
|
||||
setDeviceValueDialogOpen(false);
|
||||
setSelectedDashboardItem(undefined);
|
||||
}}
|
||||
onSave={deviceValueDialogSave}
|
||||
selectedItem={selectedDashboardItem.dv}
|
||||
writeable={true}
|
||||
|
||||
@@ -592,6 +592,7 @@ const Devices = memo(() => {
|
||||
|
||||
const deviceValueDialogClose = () => {
|
||||
setDeviceValueDialogOpen(false);
|
||||
setSelectedDeviceValue(undefined);
|
||||
if (selectedDevice !== undefined) {
|
||||
void sendDeviceData(selectedDevice);
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ import { ValidationError, validate } from 'validators';
|
||||
import type Schema from 'validators/schema';
|
||||
import type { ValidateFieldsError } from 'validators/schema';
|
||||
|
||||
import { DeviceValueUOM, DeviceValueUOM_s } from './types';
|
||||
import { DeviceValueUOM, DeviceValueUOM_s, getDeviceValueKind } from './types';
|
||||
import type { DeviceValue } from './types';
|
||||
|
||||
interface DevicesDialogProps {
|
||||
@@ -70,7 +70,7 @@ const DevicesDialog = ({
|
||||
{ immediate: false }
|
||||
)
|
||||
.onSuccess(() => {
|
||||
toast.success(LL.EXECUTE_COMMAND_SENT());
|
||||
toast.success(LL.COMMAND_SENT());
|
||||
})
|
||||
.onError((error) => {
|
||||
toast.error(String(error.error?.message || 'An error occurred'));
|
||||
@@ -119,18 +119,20 @@ const DevicesDialog = ({
|
||||
return undefined;
|
||||
};
|
||||
|
||||
const isCommand =
|
||||
(selectedItem.v === '' || selectedItem.v === undefined) &&
|
||||
Boolean(selectedItem.c);
|
||||
const isSchedulerImmediate = selectedItem.v === undefined;
|
||||
const dialogTitle = isCommand
|
||||
? isSchedulerImmediate
|
||||
? LL.EXECUTE() + ' ' + LL.SCHEDULE(0)
|
||||
: LL.RUN_COMMAND()
|
||||
: writeable
|
||||
? LL.CHANGE_VALUE()
|
||||
: LL.VALUE(0);
|
||||
const buttonLabel = isCommand ? LL.EXECUTE() : LL.UPDATE();
|
||||
const kind = getDeviceValueKind(selectedItem);
|
||||
|
||||
const dialogTitle =
|
||||
kind === 'command' || kind === 'deviceCommand'
|
||||
? LL.RUN() + ' ' + LL.COMMAND(0)
|
||||
: kind === 'scheduler'
|
||||
? LL.UPDATE() + ' ' + LL.SCHEDULE(0)
|
||||
: writeable
|
||||
? LL.CHANGE_VALUE()
|
||||
: LL.VALUE(0);
|
||||
|
||||
const buttonLabel =
|
||||
kind === 'command' || kind === 'deviceCommand' ? LL.RUN() : LL.UPDATE();
|
||||
|
||||
const helperText = showHelperText(editItem);
|
||||
|
||||
const valueLabel = LL.VALUE(0);
|
||||
@@ -142,7 +144,7 @@ const DevicesDialog = ({
|
||||
<Typography sx={{ mb: 2 }} color="warning" variant="body2">
|
||||
{editItem.id.slice(2)}
|
||||
</Typography>
|
||||
{!isSchedulerImmediate && (
|
||||
{kind !== 'command' && (
|
||||
<Grid container>
|
||||
<Grid size={12}>
|
||||
{editItem.l ? (
|
||||
@@ -227,11 +229,15 @@ const DevicesDialog = ({
|
||||
</Button>
|
||||
<Button
|
||||
startIcon={
|
||||
isCommand ? <PlayArrowIcon /> : <WarningIcon color="warning" />
|
||||
kind === 'command' ? (
|
||||
<PlayArrowIcon />
|
||||
) : kind === 'deviceEntity' || kind === 'deviceCommand' ? (
|
||||
<WarningIcon color="warning" />
|
||||
) : undefined
|
||||
}
|
||||
variant="outlined"
|
||||
onClick={doAction}
|
||||
color={isCommand ? 'success' : 'primary'}
|
||||
color={kind !== 'value' ? 'success' : 'primary'}
|
||||
>
|
||||
{buttonLabel}
|
||||
</Button>
|
||||
|
||||
@@ -210,6 +210,18 @@ export enum DeviceValueUOM {
|
||||
HERTZ
|
||||
}
|
||||
|
||||
export type DeviceValueKind =
|
||||
'value' | 'scheduler' | 'command' | 'deviceCommand' | 'deviceEntity';
|
||||
|
||||
export function getDeviceValueKind(item: DeviceValue): DeviceValueKind {
|
||||
if (!item.c) return 'value';
|
||||
if (item.v !== undefined && item.l !== undefined && item.u === undefined)
|
||||
return 'scheduler';
|
||||
if (item.v === undefined && item.l === undefined) return 'command';
|
||||
if (item.u === DeviceValueUOM.NONE) return 'deviceCommand';
|
||||
return 'deviceEntity';
|
||||
}
|
||||
|
||||
export const DeviceValueUOM_s = [
|
||||
'',
|
||||
'°C',
|
||||
|
||||
@@ -37,13 +37,11 @@ const cs: Translation = {
|
||||
VALUE: '{{value|Value}}',
|
||||
DEVICES: 'Zařízení',
|
||||
SENSORS: 'Senzory',
|
||||
RUN_COMMAND: 'Zavolat příkaz',
|
||||
CHANGE_VALUE: 'Změnit hodnotu',
|
||||
CANCEL: 'Zrušit',
|
||||
REMOVE_ALL: 'Odebrat vše',
|
||||
APPLY_CHANGES: 'Použít změny ({0})',
|
||||
UPDATE: 'Aktualizovat',
|
||||
EXECUTE: 'Provést',
|
||||
REMOVE: 'Odebrat',
|
||||
PROBLEM_UPDATING: 'Problém s aktualizací',
|
||||
PROBLEM_LOADING: 'Problém s načítáním',
|
||||
@@ -368,7 +366,8 @@ const cs: Translation = {
|
||||
COMMANDS: 'Příkazy',
|
||||
COMMANDS_UPDATED: 'Příkazy byly aktualizovány',
|
||||
COMMANDS_HELP_1: 'Definujte vlastní příkazy pro magistrali EMS',
|
||||
EXECUTE_COMMAND_SENT: 'Příkaz odeslán',
|
||||
COMMAND_SENT: 'Příkaz odeslán',
|
||||
RUN: 'Spustit příkaz'
|
||||
};
|
||||
|
||||
export default cs;
|
||||
|
||||
@@ -37,13 +37,11 @@ const de: Translation = {
|
||||
VALUE: '{{wert|Wert}}',
|
||||
DEVICES: 'Geräte',
|
||||
SENSORS: 'Sensoren',
|
||||
RUN_COMMAND: 'Befehl ausführen',
|
||||
CHANGE_VALUE: 'Wert ändern',
|
||||
CANCEL: 'Abbrechen',
|
||||
REMOVE_ALL: 'Alles entfernen',
|
||||
APPLY_CHANGES: 'Änderungen anwenden ({0})',
|
||||
UPDATE: 'Aktualisieren',
|
||||
EXECUTE: 'Ausführen',
|
||||
REMOVE: 'Entfernen',
|
||||
PROBLEM_UPDATING: 'Problem beim Aktualisieren',
|
||||
PROBLEM_LOADING: 'Problem beim Laden',
|
||||
@@ -368,7 +366,8 @@ const de: Translation = {
|
||||
COMMANDS: 'Befehle',
|
||||
COMMANDS_UPDATED: 'Befehle wurden aktualisiert',
|
||||
COMMANDS_HELP_1: 'Definieren Sie eigene Befehle für die EMS-Magistral',
|
||||
EXECUTE_COMMAND_SENT: 'Befehl gesendet',
|
||||
COMMAND_SENT: 'Befehl gesendet',
|
||||
RUN: 'Befehl ausführen'
|
||||
};
|
||||
|
||||
export default de;
|
||||
|
||||
@@ -37,13 +37,11 @@ const en: Translation = {
|
||||
VALUE: '{{value|Value}}',
|
||||
DEVICES: 'Devices',
|
||||
SENSORS: 'Sensors',
|
||||
RUN_COMMAND: 'Call Command',
|
||||
CHANGE_VALUE: 'Change Value',
|
||||
CANCEL: 'Cancel',
|
||||
REMOVE_ALL: 'Remove All',
|
||||
APPLY_CHANGES: 'Apply Changes ({0})',
|
||||
UPDATE: 'Update',
|
||||
EXECUTE: 'Execute',
|
||||
REMOVE: 'Remove',
|
||||
PROBLEM_UPDATING: 'Problem updating',
|
||||
PROBLEM_LOADING: 'Problem loading',
|
||||
@@ -368,7 +366,8 @@ const en: Translation = {
|
||||
COMMANDS: 'Commands',
|
||||
COMMANDS_UPDATED: 'Commands updated',
|
||||
COMMANDS_HELP_1: 'Define reusable named commands below. These can be executed from the console, API/MQTT, or referenced by the Scheduler',
|
||||
EXECUTE_COMMAND_SENT: 'Command sent',
|
||||
COMMAND_SENT: 'Command sent',
|
||||
RUN: 'Run'
|
||||
};
|
||||
|
||||
export default en;
|
||||
|
||||
@@ -37,13 +37,11 @@ const fr: Translation = {
|
||||
VALUE: 'Valeur',
|
||||
DEVICES: 'Appareils',
|
||||
SENSORS: 'Capteurs',
|
||||
RUN_COMMAND: 'Lancer une commande',
|
||||
CHANGE_VALUE: 'Changer la valeur',
|
||||
CANCEL: 'Annuler',
|
||||
REMOVE_ALL: 'Supprimer tout',
|
||||
APPLY_CHANGES: 'Appliquer les changements ({0})',
|
||||
UPDATE: 'Update',
|
||||
EXECUTE: 'Execute',
|
||||
REMOVE: 'Enlever',
|
||||
PROBLEM_UPDATING: 'Problème lors de la mise à jour',
|
||||
PROBLEM_LOADING: 'Problème lors du chargement',
|
||||
@@ -368,7 +366,8 @@ const fr: Translation = {
|
||||
COMMANDS: 'Commandes',
|
||||
COMMANDS_UPDATED: 'Commandes mises à jour',
|
||||
COMMANDS_HELP_1: 'Définir des commandes personnalisées pour la magistral EMS',
|
||||
EXECUTE_COMMAND_SENT: 'Commande envoyée',
|
||||
COMMAND_SENT: 'Commande envoyée',
|
||||
RUN: 'Exécuter une commande'
|
||||
};
|
||||
|
||||
export default fr;
|
||||
|
||||
@@ -37,13 +37,11 @@ const it: Translation = {
|
||||
VALUE: '{{valore|Valore}}',
|
||||
DEVICES: 'Dispositivi',
|
||||
SENSORS: 'Sensori',
|
||||
RUN_COMMAND: 'Esegui',
|
||||
CHANGE_VALUE: 'Cambia Valore',
|
||||
CANCEL: 'Annulla',
|
||||
REMOVE_ALL: 'Rimuovi tutto',
|
||||
APPLY_CHANGES: 'Applica Cambiamenti ({0})',
|
||||
UPDATE: 'Update',
|
||||
EXECUTE: 'Execute',
|
||||
REMOVE: 'Elimina',
|
||||
PROBLEM_UPDATING: 'Problema aggiornamento',
|
||||
PROBLEM_LOADING: 'Problema caricamento',
|
||||
@@ -368,7 +366,8 @@ const it: Translation = {
|
||||
COMMANDS: 'Comandi',
|
||||
COMMANDS_UPDATED: 'Comandi aggiornati',
|
||||
COMMANDS_HELP_1: 'Definisci comandi personalizzati per la magistrali EMS',
|
||||
EXECUTE_COMMAND_SENT: 'Comando inviato',
|
||||
COMMAND_SENT: 'Comando inviato',
|
||||
RUN: 'Esegui comando'
|
||||
};
|
||||
|
||||
export default it;
|
||||
|
||||
@@ -37,13 +37,11 @@ const nl: Translation = {
|
||||
VALUE: '{{waarde|Waarde}}',
|
||||
DEVICES: 'Apparaten',
|
||||
SENSORS: 'Sensoren',
|
||||
RUN_COMMAND: 'Call commando',
|
||||
CHANGE_VALUE: 'Wijzig waarde',
|
||||
CANCEL: 'Annuleren',
|
||||
REMOVE_ALL: 'Verwijderen alles',
|
||||
APPLY_CHANGES: 'Aanpassen ({0})',
|
||||
UPDATE: 'Update',
|
||||
EXECUTE: 'Uitvoeren',
|
||||
REMOVE: 'Verwijderen',
|
||||
PROBLEM_UPDATING: 'Probleem met updaten',
|
||||
PROBLEM_LOADING: 'Probleem met laden',
|
||||
@@ -368,7 +366,8 @@ const nl: Translation = {
|
||||
COMMANDS: 'Commando\'s',
|
||||
COMMANDS_UPDATED: 'Commando\'s bijgewerkt',
|
||||
COMMANDS_HELP_1: 'Definieer hergebruikbare benoemde commando\'s hieronder. Deze kunnen worden uitgevoerd vanuit de console, API/MQTT, of worden aangeroepen door de Scheduler',
|
||||
EXECUTE_COMMAND_SENT: 'Commando verzonden',
|
||||
COMMAND_SENT: 'Commando verzonden',
|
||||
RUN: 'Commando uitvoeren'
|
||||
};
|
||||
|
||||
export default nl;
|
||||
|
||||
@@ -37,13 +37,11 @@ const no: Translation = {
|
||||
VALUE: '{{verdi|Verdi}}',
|
||||
DEVICES: 'Enheter',
|
||||
SENSORS: 'Sensorer',
|
||||
RUN_COMMAND: 'Kjør kommando',
|
||||
CHANGE_VALUE: 'Endre Verdi',
|
||||
CANCEL: 'Avbryt',
|
||||
REMOVE_ALL: 'Fjern alles',
|
||||
APPLY_CHANGES: 'Utfør endringer({0})',
|
||||
UPDATE: 'Oppdater',
|
||||
EXECUTE: 'Utfør',
|
||||
REMOVE: 'Fjern',
|
||||
PROBLEM_UPDATING: 'Problem med oppdatering',
|
||||
PROBLEM_LOADING: 'Problem med opplasting',
|
||||
@@ -368,7 +366,8 @@ const no: Translation = {
|
||||
COMMANDS: 'Kommandoer',
|
||||
COMMANDS_UPDATED: 'Kommandoer oppdatert',
|
||||
COMMANDS_HELP_1: 'Definer egne kommandoer for EMS-Magistral',
|
||||
EXECUTE_COMMAND_SENT: 'Kommando sendt',
|
||||
COMMAND_SENT: 'Kommando sendt',
|
||||
RUN: 'Kjør'
|
||||
};
|
||||
|
||||
export default no;
|
||||
|
||||
@@ -37,13 +37,11 @@ const pl: BaseTranslation = {
|
||||
VALUE: '{{W|w|w}}artość',
|
||||
DEVICES: 'Urządzenia',
|
||||
SENSORS: 'Czujniki',
|
||||
RUN_COMMAND: 'Wykonaj komendę',
|
||||
CHANGE_VALUE: 'Zmiana wartości',
|
||||
CANCEL: 'Anuluj',
|
||||
REMOVE_ALL: 'Usuń wszystko',
|
||||
APPLY_CHANGES: 'Zapisz zmiany ({0})',
|
||||
UPDATE: 'Zmień',
|
||||
EXECUTE: 'Wykonaj',
|
||||
REMOVE: 'Usuń',
|
||||
PROBLEM_UPDATING: 'Problem z uaktualnieniem!',
|
||||
PROBLEM_LOADING: 'Problem z załadowaniem!',
|
||||
@@ -368,7 +366,8 @@ const pl: BaseTranslation = {
|
||||
COMMANDS: 'Komendy',
|
||||
COMMANDS_UPDATED: 'Komendy zostały zaktualizowane',
|
||||
COMMANDS_HELP_1: 'Zdefiniuj niestandardowe komendy dla magistrali EMS',
|
||||
EXECUTE_COMMAND_SENT: 'Komenda wysłana',
|
||||
COMMAND_SENT: 'Komenda wysłana',
|
||||
RUN: 'Wykonaj'
|
||||
};
|
||||
|
||||
export default pl;
|
||||
|
||||
@@ -37,13 +37,11 @@ const sk: Translation = {
|
||||
VALUE: '{{hodnota|Hodnota}}',
|
||||
DEVICES: 'Zariadenia',
|
||||
SENSORS: 'Snímače',
|
||||
RUN_COMMAND: 'Volať príkaz',
|
||||
CHANGE_VALUE: 'Zmena hodnoty',
|
||||
CANCEL: 'Zrušiť',
|
||||
REMOVE_ALL: 'Odstrániť všetko',
|
||||
APPLY_CHANGES: 'Aplikovať zmeny ({0})',
|
||||
UPDATE: 'Aktualizovať',
|
||||
EXECUTE: 'Spustiť',
|
||||
REMOVE: 'Odstrániť',
|
||||
PROBLEM_UPDATING: 'Problém s aktualizáciou',
|
||||
PROBLEM_LOADING: 'Problém s načítaním',
|
||||
@@ -368,7 +366,8 @@ const sk: Translation = {
|
||||
COMMANDS: 'Príkazy',
|
||||
COMMANDS_UPDATED: 'Príkazy aktualizované',
|
||||
COMMANDS_HELP_1: 'Definujte vlastné príkazy pre magistrali EMS',
|
||||
EXECUTE_COMMAND_SENT: 'Príkaz odoslaný',
|
||||
COMMAND_SENT: 'Príkaz odoslaný',
|
||||
RUN: 'Volať príkaz'
|
||||
};
|
||||
|
||||
export default sk;
|
||||
|
||||
@@ -37,13 +37,11 @@ const sv: Translation = {
|
||||
VALUE: '{{värde|Värde}}',
|
||||
DEVICES: 'Enheter',
|
||||
SENSORS: 'Sensorer',
|
||||
RUN_COMMAND: 'Kör kommando',
|
||||
CHANGE_VALUE: 'Ändra värde',
|
||||
CANCEL: 'Avbryt',
|
||||
REMOVE_ALL: 'Ta bort allt',
|
||||
APPLY_CHANGES: 'Utför ändringar ({0})',
|
||||
UPDATE: 'Uppdatera',
|
||||
EXECUTE: 'Utför',
|
||||
REMOVE: 'Ta bort',
|
||||
PROBLEM_UPDATING: 'Problem vid uppdatering',
|
||||
PROBLEM_LOADING: 'Problem vid hämtning',
|
||||
@@ -368,7 +366,8 @@ const sv: Translation = {
|
||||
COMMANDS: 'Kommandon',
|
||||
COMMANDS_UPDATED: 'Kommandon uppdaterade',
|
||||
COMMANDS_HELP_1: 'Definiera egna kommandon för EMS-Magistral',
|
||||
EXECUTE_COMMAND_SENT: 'Kommando skickat',
|
||||
COMMAND_SENT: 'Kommando skickat',
|
||||
RUN: 'Kör kommando'
|
||||
};
|
||||
|
||||
export default sv;
|
||||
|
||||
@@ -37,13 +37,11 @@ const tr: Translation = {
|
||||
VALUE: '{{değer|Değer}}',
|
||||
DEVICES: 'Cihazlar',
|
||||
SENSORS: 'Sensörler',
|
||||
RUN_COMMAND: 'Çalıştırma Komutu',
|
||||
CHANGE_VALUE: 'Değeri Değiştir',
|
||||
CANCEL: 'İptal',
|
||||
REMOVE_ALL: 'Tümünü Kaldır',
|
||||
APPLY_CHANGES: 'Değişiklikleri Uygula ({0})',
|
||||
UPDATE: 'Update',
|
||||
EXECUTE: 'Uygulamak',
|
||||
REMOVE: 'Kaldır',
|
||||
PROBLEM_UPDATING: 'Güncelleme Sorunu',
|
||||
PROBLEM_LOADING: 'Yükleme Sorunu',
|
||||
@@ -368,7 +366,8 @@ const tr: Translation = {
|
||||
COMMANDS: 'Komutlar',
|
||||
COMMANDS_UPDATED: 'Komutlar güncellendi',
|
||||
COMMANDS_HELP_1: 'Özel komutları EMS hattına tanımlayın',
|
||||
EXECUTE_COMMAND_SENT: 'Komut gönderildi',
|
||||
COMMAND_SENT: 'Komut gönderildi',
|
||||
RUN: 'Komutu çalıştır'
|
||||
};
|
||||
|
||||
export default tr;
|
||||
|
||||
Reference in New Issue
Block a user