iobroker.alias-workbench 0.9.8 → 0.9.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -2
- package/admin/i18n/de.json +12 -588
- package/admin/i18n/en.json +12 -588
- package/admin/i18n/es.json +14 -0
- package/admin/i18n/fr.json +14 -0
- package/admin/i18n/it.json +14 -0
- package/admin/i18n/nl.json +14 -0
- package/admin/i18n/pl.json +14 -0
- package/admin/i18n/pt.json +14 -0
- package/admin/i18n/ru.json +14 -0
- package/admin/i18n/uk.json +14 -0
- package/admin/i18n/zh-cn.json +14 -0
- package/admin/js/detail.js +31 -6
- package/admin/js/erkennung.js +87 -0
- package/admin/js/musterwahl.js +30 -6
- package/admin/js/sprache.js +4 -2
- package/admin/js/vorlagenblatt.js +58 -17
- package/admin/jsonConfig.json +13 -157
- package/admin/sprachen/de.json +594 -0
- package/admin/sprachen/en.json +594 -0
- package/io-package.json +34 -34
- package/package.json +2 -2
|
@@ -0,0 +1,594 @@
|
|
|
1
|
+
{
|
|
2
|
+
"app.connected": "verbunden",
|
|
3
|
+
"app.detector": "type-detector",
|
|
4
|
+
"app.disconnected": "getrennt",
|
|
5
|
+
"app.objectsCount": "{0} Objekte",
|
|
6
|
+
"app.patternsCount": "{0} Muster",
|
|
7
|
+
"app.subsCount": "{0} Abos",
|
|
8
|
+
"app.subsCount1": "ein Abo",
|
|
9
|
+
"app.subsHint": "Ein Abo ist ein ganzer Zweig, kein einzelner Wert — ein Muster mit Stern deckt alle Punkte darunter ab. Beim Wechsel des Knotens werden alle alten abgemeldet; steigt die Zahl mit der Zeit, bleibt eines hängen. Gerade beobachtet:",
|
|
10
|
+
"app.templatesCount": "{0} Vorlagen",
|
|
11
|
+
"app.title": "Alias-Werkbank",
|
|
12
|
+
"catalog.missing": "Katalog des Admin nicht erreichbar — nur Bestand",
|
|
13
|
+
"check.allDeliver": "alle liefern",
|
|
14
|
+
"check.allFine": "alle in Ordnung",
|
|
15
|
+
"check.allOk": "{0} ✓",
|
|
16
|
+
"check.button": "Prüfungen",
|
|
17
|
+
"check.canSend": "{0} Schreibwege in Ordnung",
|
|
18
|
+
"check.cannotSend": "kann nicht senden: {0}",
|
|
19
|
+
"check.checked": "{0} geprüft",
|
|
20
|
+
"check.duplicate": "Kein Punkt doppelt",
|
|
21
|
+
"check.duplicateNone": "jeder zeigt woanders hin",
|
|
22
|
+
"check.duplicateSome": "zeigen auf dasselbe: {0}",
|
|
23
|
+
"check.feedback": "Rückmeldung kommt sofort",
|
|
24
|
+
"check.feedbackFast": "sofort, SetOption59 ist an",
|
|
25
|
+
"check.feedbackFine": "alle in Ordnung",
|
|
26
|
+
"check.feedbackSlow": "verzögert: {0}",
|
|
27
|
+
"check.feedbackUnknown": "ungeprüft: {0}",
|
|
28
|
+
"check.formulaYields": "Leseformel liefert etwas",
|
|
29
|
+
"check.hintCount": "Hinweise: {0}",
|
|
30
|
+
"check.noPatternFits": "kein Muster passt",
|
|
31
|
+
"check.noWritePath": "kein Punkt schreibt",
|
|
32
|
+
"check.notMqtt": "kein MQTT-Schreibweg",
|
|
33
|
+
"check.openCount": "{0} offen",
|
|
34
|
+
"check.publish": "publish am cmnd-Punkt",
|
|
35
|
+
"check.rolesMakeDevice": "Rollen ergeben ein Gerät",
|
|
36
|
+
"check.sendPointMissing": "Sendepunkt fehlt noch: {0}",
|
|
37
|
+
"check.sendUnknown": "Ob {0} senden darf, steht nicht im Objekt — das Thema liegt nur in `native`. Bei ioBroker.mqtt und sonoff ist das normal.",
|
|
38
|
+
"check.sourceExists": "Quelle existiert",
|
|
39
|
+
"check.sourceHasValue": "Quelle hat einen Wert",
|
|
40
|
+
"check.title": "Prüfungen — laufen immer mit, fassen nichts an",
|
|
41
|
+
"del.allOutputs": "Alle {0} Ausgänge dieses Geräts entfernen",
|
|
42
|
+
"del.allOutputsHint": "Sonst bleibt der Rest verwaist stehen: {0}",
|
|
43
|
+
"del.alsoFunction": "Die mitangelegte Funktion „{0}“ wird mit entfernt — sie bliebe sonst leer zurück.",
|
|
44
|
+
"del.alsoRoom": "Der mitangelegte Raum „{0}“ wird mit entfernt — er bliebe sonst leer zurück.",
|
|
45
|
+
"del.button": "Alias entfernen …",
|
|
46
|
+
"del.channelsBelow": "Achtung: {0} eigenständige Kanäle liegen darunter und werden mitgelöscht.",
|
|
47
|
+
"del.count": "Objekte werden entfernt: {0}",
|
|
48
|
+
"del.done": "Entfernt: {0} Objekte.",
|
|
49
|
+
"del.hint": "Der Alias samt allen Datenpunkten darunter wird gelöscht. Die Quellen bleiben unberührt — es verschwindet nur die Hülle, nicht das Gerät. Rückgängig geht das nicht.",
|
|
50
|
+
"del.now": "Endgültig entfernen",
|
|
51
|
+
"del.objects": "Was verschwindet",
|
|
52
|
+
"del.title": "Alias entfernen",
|
|
53
|
+
"detail.aliasEmpty": "Im Alias ist dieses Feld leer.",
|
|
54
|
+
"detail.aliasHas": "Im Alias steht: ",
|
|
55
|
+
"detail.asDelivered": "wie geliefert",
|
|
56
|
+
"detail.attention": "Achtung",
|
|
57
|
+
"detail.caption": "Beschriftung",
|
|
58
|
+
"detail.captionHint": "wird der Anzeigename des Punkts — sichtbar im Admin, in VIS und überall, wo Namen statt Kennungen stehen",
|
|
59
|
+
"detail.converted": "vom Alias umgewandelt",
|
|
60
|
+
"detail.datapoint": "Datenpunkt",
|
|
61
|
+
"detail.decimals": "Nachkomma",
|
|
62
|
+
"detail.display": "Anzeige",
|
|
63
|
+
"detail.elsewhere": "(anderswo)",
|
|
64
|
+
"detail.expects": "erwartet {0}",
|
|
65
|
+
"detail.formula": "Formel",
|
|
66
|
+
"detail.formulaBroken": "Formel fehlerhaft",
|
|
67
|
+
"detail.formulaHint": "\"ON\"/\"OFF\" → boolean macht der Alias von selbst, dafür braucht es keine Formel.",
|
|
68
|
+
"detail.formulaPlaceholder": "leer = Wert unverändert übernehmen",
|
|
69
|
+
"detail.formulaThrows": "Formel wirft: {0}",
|
|
70
|
+
"detail.formulaTooSlow": "Diese Formel hat {0} ms gebraucht und wird nicht mehr ausgeführt. Nach dem Neuladen des Reiters wird sie einmal neu versucht.",
|
|
71
|
+
"detail.jsonField": "Feld im JSON",
|
|
72
|
+
"detail.matchesState": "✓ deckt sich mit dem Zustand",
|
|
73
|
+
"detail.name": "Name",
|
|
74
|
+
"detail.namePlaceholder": "z. B. UNREACH",
|
|
75
|
+
"detail.noSource": "— keine Quelle bekannt —",
|
|
76
|
+
"detail.noValue": "kein Wert",
|
|
77
|
+
"detail.noWrite": "— nicht schreiben —",
|
|
78
|
+
"detail.objectId": "Objekt-ID",
|
|
79
|
+
"detail.otherObject": "… anderes Objekt eintragen",
|
|
80
|
+
"detail.ownFormula": "eigene Formel",
|
|
81
|
+
"detail.pickOne": "— bitte wählen —",
|
|
82
|
+
"detail.rawNothing": "— Quelle liefert nichts —",
|
|
83
|
+
"detail.rawValue": "Rohwert",
|
|
84
|
+
"detail.readsFrom": "liest aus",
|
|
85
|
+
"detail.removePoint": "Diesen Punkt entfernen",
|
|
86
|
+
"detail.role": "Rolle",
|
|
87
|
+
"detail.sameAsRead": "— dieselbe wie lesen —",
|
|
88
|
+
"detail.separateHint": "getrennt — der Schalter zeigt den Zustand, nicht den Befehl",
|
|
89
|
+
"detail.sourceGone": "Quelle existiert nicht",
|
|
90
|
+
"detail.stateSays": "Zustand sagt {0}",
|
|
91
|
+
"detail.takeFromAlias": "Diesen einen Wert aus dem gespeicherten Alias zurückholen",
|
|
92
|
+
"detail.takeOne": "Diesen einen Wert aus der Vorlage übernehmen",
|
|
93
|
+
"detail.tplWants": "Die Vorlage will hier: ",
|
|
94
|
+
"detail.tplWantsEmpty": "Die Vorlage lässt dieses Feld leer.",
|
|
95
|
+
"detail.type": "Typ",
|
|
96
|
+
"detail.unit": "Einheit",
|
|
97
|
+
"detail.willBecome": "entsteht als",
|
|
98
|
+
"detail.writeFormula": "Schreibformel",
|
|
99
|
+
"detail.writeFormulaHint": "rechnet in die andere Richtung: was das Gerät beim Schalten empfangen soll.",
|
|
100
|
+
"detail.writeFormulaPlaceholder": "z. B. val ? \"ON\" : \"OFF\"",
|
|
101
|
+
"detail.writesTo": "schreibt auf",
|
|
102
|
+
"detail.yields": "ergibt",
|
|
103
|
+
"detail.yieldsNothing": "liefert nichts",
|
|
104
|
+
"diff.addedNoPlace": "zusätzlich angehakt — zählt nicht zum {0}",
|
|
105
|
+
"diff.addedWithPlace": "zusätzlich angehakt — gehört zum {0}",
|
|
106
|
+
"diff.againstStored": "gegenüber dem, was gespeichert ist",
|
|
107
|
+
"diff.changes": "Änderungen",
|
|
108
|
+
"diff.deselectedNoPlace": "abgewählt — hätte ohnehin nicht zum {0} gezählt",
|
|
109
|
+
"diff.deselectedWithPlace": "abgewählt — gehört zum {0}",
|
|
110
|
+
"diff.deviations": "Abweichungen vom Vorschlag",
|
|
111
|
+
"diff.formulaChange": "Leseformel: {0} → {1}",
|
|
112
|
+
"diff.newByHand": "neu, von Hand angelegt",
|
|
113
|
+
"diff.nothingExists": "noch nichts davon existiert",
|
|
114
|
+
"diff.open": "{0} offen",
|
|
115
|
+
"diff.points": "{0} Punkte",
|
|
116
|
+
"diff.roleChange": "Rolle: {0} → {1}",
|
|
117
|
+
"diff.sourceChange": "Quelle: {0} → {1}",
|
|
118
|
+
"diff.unitChange": "Einheit: {0} → {1}",
|
|
119
|
+
"diff.wouldBeAdded": "zusätzlich angehakt — kommt beim Aktualisieren dazu",
|
|
120
|
+
"diff.wouldBeRemoved": "abgewählt — steht im Alias und würde entfernt",
|
|
121
|
+
"enums.addTo": "kommt hinein",
|
|
122
|
+
"enums.alsoFolder": "Den Alias auch unter „{0}\" ablegen?",
|
|
123
|
+
"enums.clear": "Zuordnung entfernen",
|
|
124
|
+
"enums.function": "Funktion",
|
|
125
|
+
"enums.functionHint": "Ordnet den Alias einer Funktion zu, etwa Licht oder Heizung. Steht ebenfalls in einer Aufzählung, nicht am Objekt.",
|
|
126
|
+
"enums.iconAdded": "Bild wird ergänzt",
|
|
127
|
+
"enums.iconNew": "Bild fehlt — die Werkbank trägt es beim Schreiben nach",
|
|
128
|
+
"enums.iconNewMark": "neu",
|
|
129
|
+
"enums.iconThere": "Bild ist hinterlegt",
|
|
130
|
+
"enums.members": "{0} drin",
|
|
131
|
+
"enums.newSuffix": "neu",
|
|
132
|
+
"enums.noMatch": "nichts gefunden zu „{0}“",
|
|
133
|
+
"enums.placeholder": "leer = keine Zuordnung",
|
|
134
|
+
"enums.removeFrom": "wird herausgenommen",
|
|
135
|
+
"enums.room": "Raum",
|
|
136
|
+
"enums.roomHint": "Ordnet den Alias einem Raum zu. Das steht nicht am Objekt, sondern in der Aufzählung „enum.rooms\" — Alexa, Google und die Oberflächen gruppieren danach.",
|
|
137
|
+
"enums.suggested": "vorgeschlagen",
|
|
138
|
+
"enums.unknown": "Aufzählungen nicht geladen — Raum und Funktion bleiben unangetastet.",
|
|
139
|
+
"enums.unused": "leer",
|
|
140
|
+
"enums.willCreate": "neu anlegen",
|
|
141
|
+
"folder.aliasMissing": "fehlt",
|
|
142
|
+
"folder.aliasThere": "vorhanden",
|
|
143
|
+
"folder.clickHint": "Ein Gerät anklicken, um es zu bearbeiten. ",
|
|
144
|
+
"folder.clickHintText": "Als Gerät zählt jeder Knoten, auf den eine Vorlage passt — darunter wird nicht weiter gesucht. Wo keine passt, steht der Knoten trotzdem in der Liste, sobald er eigene Datenpunkte hat.",
|
|
145
|
+
"folder.colAlias": "Alias",
|
|
146
|
+
"folder.colDetected": "erkannt als",
|
|
147
|
+
"folder.colSource": "Quelle",
|
|
148
|
+
"folder.devices": "Geräte",
|
|
149
|
+
"folder.devicesBelow": "{0} Geräte darunter · {1} Datenpunkte",
|
|
150
|
+
"folder.found": "{0} gefunden",
|
|
151
|
+
"folder.nothingHere": "Hier liegt nichts, woraus ein Gerät werden könnte.",
|
|
152
|
+
"folder.withAlias": "{0} mit Alias",
|
|
153
|
+
"folder.withoutTemplate": "{0} ohne Vorlage",
|
|
154
|
+
"guess.bar": "{0} Plätze vermutet — bitte prüfen",
|
|
155
|
+
"guess.button": "Freie Plätze vorschlagen",
|
|
156
|
+
"guess.drop": "verwerfen",
|
|
157
|
+
"guess.hint": "Belegt die freien Plätze des Musters aus den übrigen Datenpunkten — ein Versuch, kein Wissen. Vermutet wird nach Namen, Werteliste, Einheit und Typ; jede Zuordnung ist als „vermutet\" markiert und einzeln zu verwerfen.",
|
|
158
|
+
"guess.keep": "behalten",
|
|
159
|
+
"guess.keepAll": "alle behalten",
|
|
160
|
+
"guess.locked": "{0}× vermutet, noch unentschieden — erst behalten (✓) oder verwerfen (✕), dann lässt sich anlegen und speichern.",
|
|
161
|
+
"guess.mark": "vermutet",
|
|
162
|
+
"guess.none": "Nichts vorzuschlagen: entweder sind alle Plätze besetzt, oder kein übriger Datenpunkt passt zu einem freien Platz.",
|
|
163
|
+
"guess.tplAsk": "Dieses Gerät ist als „{0}“ identifiziert; die Zuordnung steht damit schon. Der Vorschlag rät zusätzliche Plätze aus den übrigen Datenpunkten — ein Versuch, kein Wissen, jede Zuordnung wäre einzeln zu prüfen. Gedacht für Sonderfälle, etwa wenn das Gerät mehr kann, als die Vorlage abdeckt.",
|
|
164
|
+
"guess.tplGo": "Trotzdem vorschlagen",
|
|
165
|
+
"guess.tplHint": "Die Vorlage deckt das Gerät schon ab — Raten ist hier nur für Sonderfälle.",
|
|
166
|
+
"guess.tplTitle": "Freie Plätze trotz Vorlage?",
|
|
167
|
+
"guess.undo": "Vorschläge verwerfen",
|
|
168
|
+
"help.aliases": "Links einen vorhandenen Alias wählen. Punkte entfernen, Rollen, Quellen und Formeln ändern — oder ihn verlegen, umbenennen und löschen.",
|
|
169
|
+
"help.aliasesAdd": "Zum Hinzufügen von Punkten in einem Alias ist der Weg über „zur Quelle →“ (rechts oben neben dem Alias-Namen) bequemer: Dort greift die Vorlage, und alle Datenpunkte des Geräts stehen mit fertigen Rollen zur Auswahl — hier müsstest du jeden einzeln von Hand eintragen.",
|
|
170
|
+
"help.sources": "Links ein Gerät oder einen Kanal wählen. Die Werkbank erkennt, worum es sich handelt, und schlägt einen fertigen Alias vor. Gibt es ihn schon, wird er stattdessen aktualisiert.",
|
|
171
|
+
"help.templates": "Links eine Vorlage wählen. Mitgelieferte lassen sich ansehen und duplizieren, eigene bearbeiten. Der Probelauf zeigt, welche Geräte sie trifft.",
|
|
172
|
+
"info.dlgTitle": "Gehört nicht zum {0}-Muster",
|
|
173
|
+
"info.explain": "funktionieren ganz normal und liegen da, wo du sie angelegt hast. Es entsteht dadurch kein zusätzliches Objekt — der Alias bleibt, wie er ist. Sie gehören nur nicht zu dem, was ioBroker unter einem {0} versteht; dafür passt ihre Rolle nicht. Bedeutung hat das erst, wenn du den Alias an Alexa, Google Home oder eine Gerätesteuerung hängst: die sehen dann ein {0} ohne diese Punkte. In VIS, in Skripten und im Verlauf benutzt du sie wie jeden anderen Datenpunkt.",
|
|
174
|
+
"info.more": "Was das bedeutet",
|
|
175
|
+
"leave.body": "An {0} sind Änderungen offen, die noch nicht geschrieben wurden. Wechselst du jetzt, sind sie weg.",
|
|
176
|
+
"leave.discard": "Verwerfen und wechseln",
|
|
177
|
+
"leave.stay": "Hierbleiben",
|
|
178
|
+
"leave.title": "Ungespeicherte Änderungen",
|
|
179
|
+
"list.addByHand": "Datenpunkt von Hand hinzufügen",
|
|
180
|
+
"list.aliasDiffers": "weicht vom gespeicherten Alias ab",
|
|
181
|
+
"list.all": "alle",
|
|
182
|
+
"list.byHand": "von Hand",
|
|
183
|
+
"list.changed": "geändert",
|
|
184
|
+
"list.colOn": "an",
|
|
185
|
+
"list.colRole": "Rolle",
|
|
186
|
+
"list.colState": "Zustand",
|
|
187
|
+
"list.colValue": "Wert",
|
|
188
|
+
"list.countOf": "{0} von {1}",
|
|
189
|
+
"list.nameMissing": "Name fehlt",
|
|
190
|
+
"list.newPoint": "neuer Punkt",
|
|
191
|
+
"list.noRole": "— keine Rolle —",
|
|
192
|
+
"list.ofDatapoints": "Datenpunkten",
|
|
193
|
+
"list.onlyPattern": "nur was ins Muster passt",
|
|
194
|
+
"list.onlyPatternHint": "Hakt genau die Punkte an, die einen Platz im gewählten Muster bekommen — alles andere wird abgehakt und nicht mit angelegt.",
|
|
195
|
+
"list.onlyWithValue": "nur mit Wert",
|
|
196
|
+
"list.otherSource": "aus {0}",
|
|
197
|
+
"list.otherSourceHint": "Dieser Punkt liest nicht aus {0}, sondern aus {1}.",
|
|
198
|
+
"list.reset": "zurücksetzen",
|
|
199
|
+
"list.resetHint": "Verwirft alle Änderungen dieser Sitzung — Haken, Rollen, Formeln, Quellen — und zeigt wieder den Stand, wie er im System steht.",
|
|
200
|
+
"list.sendPointMissing": "Sendepunkt fehlt noch",
|
|
201
|
+
"list.sourceHint": "Dieser Punkt liest aus {0}.",
|
|
202
|
+
"list.sourceMissing": "Quelle fehlt",
|
|
203
|
+
"list.tpl": "Vorlage",
|
|
204
|
+
"list.tplDiffers": "weicht von der Vorlage ab",
|
|
205
|
+
"list.tplHint": "Hakt genau die Punkte an, die die Vorlage vorschlägt — unabhängig davon, was heute im Alias steht.",
|
|
206
|
+
"list.willBeCreated": "angelegt werden",
|
|
207
|
+
"move.button": "Verlegen …",
|
|
208
|
+
"move.done": "Verlegt. Der Alias steht jetzt unter {0}.",
|
|
209
|
+
"move.exists": "{0} gibt es schon. Erst entfernen oder einen anderen Namen wählen.",
|
|
210
|
+
"move.from": "von",
|
|
211
|
+
"move.needName": "Ein Name muss stehen bleiben.",
|
|
212
|
+
"move.nested": "Das Ziel liegt unter dem Alias selbst (oder umgekehrt). Beim Verlegen würde der eigene Elternknoten mitgelöscht — bitte einen Ort daneben wählen.",
|
|
213
|
+
"move.newFolder": "Ordner neu",
|
|
214
|
+
"move.noFolder": "(kein Ordner — direkt unter alias.0)",
|
|
215
|
+
"move.noScripts": "In den Skripten kommt die Kennung nicht vor.",
|
|
216
|
+
"move.now": "Jetzt verlegen",
|
|
217
|
+
"move.scriptLines": "Zeile {0}",
|
|
218
|
+
"move.scriptLinesN": "Zeilen {0}",
|
|
219
|
+
"move.scriptOff": "aus",
|
|
220
|
+
"move.scriptsHead": "{0} Skripte nennen die alte Kennung:",
|
|
221
|
+
"move.scriptsHead1": "Ein Skript nennt die alte Kennung:",
|
|
222
|
+
"move.title": "Alias verlegen",
|
|
223
|
+
"move.to": "nach",
|
|
224
|
+
"move.unchanged": "Ordner und Name sind unverändert — nichts zu tun.",
|
|
225
|
+
"move.warnHistory": "Mit wandert nur die Einstellung, dass aufgezeichnet wird. Ab dem Umzug beginnt unter der neuen Kennung eine neue, leere Reihe. Alles bisher Aufgezeichnete bleibt unter der alten Kennung in der Datenbank stehen — es geht nicht verloren, wird aber nicht mehr ergänzt. Diagramme und Grafana-Abfragen, die auf die alte Kennung zeigen, bekommen ab jetzt nichts Neues; zeigt man sie auf die neue, fehlt ihnen der bisherige Verlauf.",
|
|
226
|
+
"move.warnHistoryHead": "Aufgezeichnete Werte wandern nicht mit.",
|
|
227
|
+
"move.warnRefs": "vis-Ansichten, Alexa- und Google-Namen sowie andere Adapter kann die Werkbank nicht durchsehen. Was dort auf die alte Kennung zeigt, muss von Hand nachgezogen werden.",
|
|
228
|
+
"move.warnRefsHead": "Was sonst noch auf die alte Kennung zeigt.",
|
|
229
|
+
"move.willMove": "wird verlegt",
|
|
230
|
+
"move.with": "mit",
|
|
231
|
+
"mq.andMore": "… und {0} weitere",
|
|
232
|
+
"mq.ask": "Befehle beim Gerät abfragen",
|
|
233
|
+
"mq.askError": "Die Abfrage ist fehlgeschlagen: {0}",
|
|
234
|
+
"mq.askGotAnswer": "Das Gerät hat geantwortet — Befehle erkannt: {0}",
|
|
235
|
+
"mq.askHint": "Das ist eine reine Abfrage — sie schaltet nichts und ändert keine Einstellung.",
|
|
236
|
+
"mq.askNoAnswer": "Keine Antwort. Das Gerät ist entweder nicht erreichbar, oder es hört auf einem anderen Thema.",
|
|
237
|
+
"mq.askedDays": "vor {0} Tagen gefragt",
|
|
238
|
+
"mq.askedHours": "vor {0} Stunden gefragt",
|
|
239
|
+
"mq.askedMinutes": "vor {0} Minuten gefragt",
|
|
240
|
+
"mq.asking": "frage beim Gerät nach",
|
|
241
|
+
"mq.commandsFrom": "Befehle, abgelesen aus {0}",
|
|
242
|
+
"mq.createdBy": "von der Alias-Werkbank angelegt",
|
|
243
|
+
"mq.dialogTitle": "Sendepunkte anlegen",
|
|
244
|
+
"mq.done": "{0} Objekte geschrieben.",
|
|
245
|
+
"mq.doneHint": "Die Erkennung läuft gleich neu — eine Vorlage, die vorher nicht griff, kann jetzt greifen.",
|
|
246
|
+
"mq.duplicate": "dasselbe wie {0}",
|
|
247
|
+
"mq.fix": "Sendepunkte anlegen …",
|
|
248
|
+
"mq.instant": "Sofortige Rückmeldung",
|
|
249
|
+
"mq.instantCheck": "nachfragen",
|
|
250
|
+
"mq.instantChecking": "frage nach",
|
|
251
|
+
"mq.instantEnable": "Einschalten",
|
|
252
|
+
"mq.instantEnabling": "schalte ein",
|
|
253
|
+
"mq.instantHintOff": "Ohne SetOption59 zeigt ein Alias, der aus tele/STATE liest, nach dem Schalten minutenlang den alten Wert. Einschalten ist eine dauerhafte Einstellung am Gerät — sie schaltet nichts und ändert nur, wie oft das Gerät meldet.",
|
|
254
|
+
"mq.instantHintOn": "SetOption59 ist gesetzt: das Gerät meldet jede Änderung sofort, nicht erst mit der nächsten Telemetrie. Gemessen wurden drei Sekunden.",
|
|
255
|
+
"mq.instantHintUnknown": "Das Gerät wurde danach noch nicht gefragt. „Nachfragen\" schickt eine leere Abfrage an SetOption59 — sie ändert nichts.",
|
|
256
|
+
"mq.instantOff": "aus",
|
|
257
|
+
"mq.instantOffShort": "Rückmeldung verzögert",
|
|
258
|
+
"mq.instantOn": "eingeschaltet",
|
|
259
|
+
"mq.instantUnknown": "unbekannt",
|
|
260
|
+
"mq.intro": "Nicht jede Tasmota ist gleich eingerichtet. Ein fehlender oder stummer Punkt ist für sich genommen kein Fehler — er fällt erst ins Gewicht, wenn ein Alias darüber schalten soll oder eine Vorlage ihn zur Erkennung braucht.",
|
|
261
|
+
"mq.justAsked": "gerade eben gefragt",
|
|
262
|
+
"mq.missing": "{0} Sendepunkte fehlen",
|
|
263
|
+
"mq.mute": "{0} können nicht senden",
|
|
264
|
+
"mq.neverReported": "Das Gerät hat sich seit dem Start noch nicht vollständig gemeldet, deshalb ist seine Befehlsliste unbekannt.",
|
|
265
|
+
"mq.newPoints": "Neu anzulegen",
|
|
266
|
+
"mq.nothingYet": "Das Gerät hat noch nichts gesendet, aus dem sich Befehle ablesen ließen.",
|
|
267
|
+
"mq.nowValue": "gerade:",
|
|
268
|
+
"mq.onlyResult": "Bisher kam nur die Antwort auf einen einzelnen Befehl an, nicht der ganze Zustand — die Liste ist also womöglich unvollständig.",
|
|
269
|
+
"mq.repair": "Vorhanden, aber stumm",
|
|
270
|
+
"mq.repairHint": "Diese Punkte gibt es, aber sie dürfen nicht senden. Ein Alias, der darüber schaltet, tut nichts — ohne dass man es ihm ansieht.",
|
|
271
|
+
"mq.rowAllow": "senden erlauben",
|
|
272
|
+
"mq.rowCreate": "anlegen",
|
|
273
|
+
"mq.rowWorking": "…",
|
|
274
|
+
"mq.selectedOf": "{0} von {1} ausgewählt",
|
|
275
|
+
"mq.stFine": "angelegt, sendet",
|
|
276
|
+
"mq.stMissing": "Punkt fehlt",
|
|
277
|
+
"mq.stMute": "kann nicht senden",
|
|
278
|
+
"mq.title": "MQTT-Gerät",
|
|
279
|
+
"mq.unknownCommand": "unbekannter Befehl",
|
|
280
|
+
"mq.write": "Anlegen ({0})",
|
|
281
|
+
"pattern.allPatterns": "alle {0} Muster",
|
|
282
|
+
"pattern.doesNotFit": "✕ passt nicht",
|
|
283
|
+
"pattern.expectsType": ", erwartet {0}",
|
|
284
|
+
"pattern.fitsNotType": "✕ {0}: Typ {1} statt {2}",
|
|
285
|
+
"pattern.fitsOn": "passt auf ",
|
|
286
|
+
"pattern.freeSlots": "Freie Plätze im {0}-Muster",
|
|
287
|
+
"pattern.label": "Muster",
|
|
288
|
+
"pattern.manualInstead": "von Hand statt {0}",
|
|
289
|
+
"pattern.missing": "{0} fehlt",
|
|
290
|
+
"pattern.noMatch": "kein Muster passt zu „{0}“",
|
|
291
|
+
"pattern.noPlaceLegend": "So hinterlegte Zeilen haben keinen Platz im {0}-Muster",
|
|
292
|
+
"pattern.noPlaceLong": "kein Platz im {0}-Muster — der Punkt wird trotzdem angelegt und ist voll benutzbar, nur Alexa & Co. zählen ihn separat",
|
|
293
|
+
"pattern.notDetected": "nicht erkannt",
|
|
294
|
+
"pattern.required": "PFLICHT — fehlt",
|
|
295
|
+
"pattern.search": "tippen zum Suchen …",
|
|
296
|
+
"pattern.slotName": "Der Punkt sitzt auf dem Platz „{0}\" des {1}-Musters. Diese Platznamen kommen aus dem type-detector und sind überall gleich — sie werden nicht übersetzt, weil der Datenpunkt im Alias genau so heißt.",
|
|
297
|
+
"pattern.slotsTaken": "✓ {0}/{1} belegt",
|
|
298
|
+
"pattern.toSlot": " → Platz {0} im {1}-Muster",
|
|
299
|
+
"pattern.typeMismatch": "Der Platz {0} verlangt {1}, eingestellt ist {2} — so fällt der Punkt aus dem Muster, auch wenn die Rolle stimmt.",
|
|
300
|
+
"pattern.typeOr": " oder ",
|
|
301
|
+
"pattern.usualOnly": "nur die üblichen",
|
|
302
|
+
"pattern.viaRole": "Rolle {0}",
|
|
303
|
+
"result.allAnyway": "Trotzdem alle ",
|
|
304
|
+
"result.channelsHint": "Dieses Gerät hat {0} Kanäle, die für sich ein Gerät ergeben. Unten kannst du wählen: ein Alias für alles, oder einer je Kanal.",
|
|
305
|
+
"result.extraSwitches": "Mit dabei: {0} Punkte aus weiteren Kanälen, für die das {1}-Muster keinen Platz hat. Sie werden angelegt, gelten aber nicht als Schalter oder Rückmeldung des Geräts. Für getrennte Bedienung unten „je Kanal ein Gerät\" wählen.",
|
|
306
|
+
"result.header": "Was der type-detector daraus macht",
|
|
307
|
+
"result.newlyCreated": "wird neu angelegt",
|
|
308
|
+
"result.noObjectShort": "kein Objekt",
|
|
309
|
+
"result.pickSource": "Wohin springen?",
|
|
310
|
+
"result.pointsFromBranches": "{0} Datenpunkte aus {1} Zweigen. ",
|
|
311
|
+
"result.sourceCount": "{0} Quellen",
|
|
312
|
+
"result.sourceCountHint": "Die Punkte dieses Alias lesen aus mehr als einem Knoten. „zur Quelle\" führt zu dem, aus dem die meisten stammen; ein Klick zeigt alle zur Auswahl.",
|
|
313
|
+
"result.sourceGone": "Die Quelle {0} gibt es nicht mehr.",
|
|
314
|
+
"result.states": "{0} Zustände",
|
|
315
|
+
"result.statesDirect": "{0} Zustände ({1} direkt)",
|
|
316
|
+
"result.toAlias": "zum Alias",
|
|
317
|
+
"result.toAliasHint": "Springt auf den Alias, der aus diesem Gerät gebaut wurde.",
|
|
318
|
+
"result.toSource": "zur Quelle",
|
|
319
|
+
"result.toSourceHint": "Springt auf das Gerät, aus dem dieser Alias gebaut wurde. Vorlagen greifen nur dort — im Aliasmodus lässt sich ein Alias pflegen, aber nicht neu aus einer Vorlage aufbauen.",
|
|
320
|
+
"result.tooManyStates": "Das wäre ein Gerät mit {0} Zuständen — meist ist damit der falsche Knoten gewählt. Im Baum links tragen die Knoten, die wie ein einzelnes Gerät aussehen, einen Punkt. Du kannst es trotzdem so bauen.",
|
|
321
|
+
"roles.leadsTo": "→ Platz {0}",
|
|
322
|
+
"roles.noMatch": "nichts gefunden zu „{0}“",
|
|
323
|
+
"roles.patternOnly": "nur die Muster-Rollen zeigen",
|
|
324
|
+
"roles.search": "Rolle suchen …",
|
|
325
|
+
"roles.showAll": "alle {0} Rollen anzeigen",
|
|
326
|
+
"roles.slot": "Platz {0} im {1}-Muster",
|
|
327
|
+
"roles.slotFree": "frei",
|
|
328
|
+
"roles.slotTaken": "belegt von {0}",
|
|
329
|
+
"swap.button": "Quelle tauschen …",
|
|
330
|
+
"swap.diffRange": "Wertebereich {0} → {1}",
|
|
331
|
+
"swap.diffType": "Typ {0} → {1}",
|
|
332
|
+
"swap.diffUnit": "Einheit {0} → {1}",
|
|
333
|
+
"swap.done": "Getauscht. Der Alias liest jetzt aus {0}.",
|
|
334
|
+
"swap.from": "Liest heute aus:",
|
|
335
|
+
"swap.gone": "Dieses Gerät gibt es nicht mehr — genau dafür ist dieser Weg gedacht.",
|
|
336
|
+
"swap.guessHint": "Die mit „vermutet“ gekennzeichneten Zeilen sind über Namen oder Rolle geraten — die bitte einzeln prüfen.",
|
|
337
|
+
"swap.keeps": "Der Alias behält seine Kennung, seine Namen, Rollen und Formeln, die Aufzeichnung in der Datenbank sowie Raum und Funktion. Geändert wird nur, woher jeder Punkt liest und wohin er schreibt.",
|
|
338
|
+
"swap.mapping": "Zuordnung",
|
|
339
|
+
"swap.mind": "Darauf achten:",
|
|
340
|
+
"swap.mindHint": "Die Formeln des Alias bleiben unverändert — rechnet die neue Quelle anders als die alte, stimmen die Werte danach nicht mehr. Die Formel steht in der Detailzeile des Punkts.",
|
|
341
|
+
"swap.noDevice": "Kein Gerät gefunden.",
|
|
342
|
+
"swap.noMatch": "kein passender Punkt gefunden",
|
|
343
|
+
"swap.noWriteMatch": "kein Schreibziel gefunden — dieser Punkt schreibt danach nirgendwohin",
|
|
344
|
+
"swap.now": "Jetzt tauschen",
|
|
345
|
+
"swap.removeIt": "diesen Punkt beim Tauschen entfernen",
|
|
346
|
+
"swap.same": "Das ist dieselbe Quelle wie bisher.",
|
|
347
|
+
"swap.search": "Suchen (Kennung oder Name) …",
|
|
348
|
+
"swap.title": "Quelle tauschen",
|
|
349
|
+
"swap.to": "Neue Quelle",
|
|
350
|
+
"swap.unchanged": "unverändert",
|
|
351
|
+
"swap.unknown": "(nicht ermittelbar)",
|
|
352
|
+
"target.alsoRoom": "Raum auch auf „{0}\" setzen?",
|
|
353
|
+
"target.alsoRoomNew": "Raum „{0}\" gibt es nicht — anlegen und zuordnen?",
|
|
354
|
+
"target.clearField": "Feld leeren",
|
|
355
|
+
"target.exists": "gibt es schon",
|
|
356
|
+
"target.folder": "Ablegen unter",
|
|
357
|
+
"target.folderHint": "Unterordner mit Punkt trennen, z. B. Haus.EG.Küche",
|
|
358
|
+
"target.folderPlaceholder": "leer = direkt unter alias.0",
|
|
359
|
+
"target.moveInstead": "stattdessen verlegen …",
|
|
360
|
+
"target.moveInsteadHint": "Den vorhandenen Alias auf die neue Kennung verlegen, statt einen zweiten daneben anzulegen.",
|
|
361
|
+
"target.name": "Name",
|
|
362
|
+
"target.openFolder": "„{0}\" öffnen",
|
|
363
|
+
"target.twinExists": "Für diese Quelle gibt es schon {0} — der bleibt stehen.",
|
|
364
|
+
"target.yes": "ja",
|
|
365
|
+
"tpl.applyTemplate": "Werte der Vorlage übernehmen ({0})",
|
|
366
|
+
"tpl.applyTemplateHint": "Setzt Rollen, Typen, Einheiten, Formeln und Quellen auf den Stand der Vorlage. Die Beschriftung bleibt, wie sie ist — die gehört dir. Geschrieben wird erst nach dem Trockenlauf.",
|
|
367
|
+
"tpl.choose": "— Vorlage wählen —",
|
|
368
|
+
"tpl.contains": "{0} enthält {1}",
|
|
369
|
+
"tpl.fits": "passt",
|
|
370
|
+
"tpl.fitsNot": "✕ {0}",
|
|
371
|
+
"tpl.forbiddenThere": "{0} ist vorhanden, darf aber nicht sein",
|
|
372
|
+
"tpl.forced": "erzwungen",
|
|
373
|
+
"tpl.forcedHint": "Die Erkennung springt bei dieser Vorlage nicht an — von Hand gewählt.",
|
|
374
|
+
"tpl.identifiedAs": "Identifiziert als: {0}",
|
|
375
|
+
"tpl.label": "Vorlage",
|
|
376
|
+
"tpl.manuallyChosen": "von Hand gewählt",
|
|
377
|
+
"tpl.missingPoint": "{0} fehlt",
|
|
378
|
+
"tpl.nameHint": "Name passt zu „{0}\" — nicht aus MQTT erkennbar",
|
|
379
|
+
"tpl.noJson": "{0} liefert kein JSON",
|
|
380
|
+
"tpl.noNameHint": "Name gibt keinen Hinweis — „{0}\" ist die Vorgabe, aus MQTT sind sie nicht unterscheidbar",
|
|
381
|
+
"tpl.noOutputs": "keine Ausgänge gefunden",
|
|
382
|
+
"tpl.none": "— keine Vorlage —",
|
|
383
|
+
"tpl.noneDetected": "Keine Vorlage erkannt",
|
|
384
|
+
"tpl.nor": " noch in ",
|
|
385
|
+
"tpl.output": "Ausgang",
|
|
386
|
+
"tpl.outputsFound": "Ausgänge gefunden: {0}",
|
|
387
|
+
"tpl.own": "eigene",
|
|
388
|
+
"tpl.possibleIn": "{0} kann das Gerät (Punkt noch nicht angelegt)",
|
|
389
|
+
"tpl.presentIn": "{0} vorhanden",
|
|
390
|
+
"tpl.remembered": "gemerkt",
|
|
391
|
+
"tpl.rememberedHint": "Dieser Alias ist aus dieser Vorlage entstanden — sie bleibt, bis du sie ausdrücklich umstellst.",
|
|
392
|
+
"tpl.showAllPoints": "Alle Datenpunkte des Geräts",
|
|
393
|
+
"tpl.showAllPointsHelp": "Verlässt den Vorschlag der Vorlage und zeigt jeden Datenpunkt, den das Gerät hat — auch die, die keine Vorlage aufführt. Von hier lässt sich ein einzelner davon in den Alias holen.",
|
|
394
|
+
"tpl.showProposal": "Vorschlag zeigen",
|
|
395
|
+
"tpl.showProposalHelp": "Zurück zu dem, was die Vorlage für dieses Gerät vorschlägt.",
|
|
396
|
+
"tpl.skippedHead": "Weggelassen, weil die Quelle fehlt: {0}",
|
|
397
|
+
"tpl.skippedNowhere": "{0}: weder in {1}",
|
|
398
|
+
"tpl.skippedSource": "{0}: {1} fehlt",
|
|
399
|
+
"tpl.switch": "— Vorlage wechseln —",
|
|
400
|
+
"tpl.whyNone": "Warum keine Vorlage greift",
|
|
401
|
+
"tpl.whyThis": "Warum diese Vorlage",
|
|
402
|
+
"tpl.withoutField": "{0} ohne {1}",
|
|
403
|
+
"tpl.wouldNeed": "fehlt eigentlich: {0}",
|
|
404
|
+
"tpls.absolute": "festes Objekt",
|
|
405
|
+
"tpls.absoluteText": "Er liegt nicht unter dem Gerät und bleibt deshalb bei jedem Gerät derselbe. Manchmal ist genau das gewollt — ein gemeinsamer Sollwert etwa. Für die Erkennung zählt er nicht.",
|
|
406
|
+
"tpls.absoluteTitle": "Ein Punkt zeigt auf ein festes Objekt. ",
|
|
407
|
+
"tpls.andMore": "… und {0} weitere, hier nicht aufgeführt",
|
|
408
|
+
"tpls.beats": "schlägt {0}",
|
|
409
|
+
"tpls.button": "Als Vorlage speichern …",
|
|
410
|
+
"tpls.channelName": "Kanal je Ausgang",
|
|
411
|
+
"tpls.colDefault": "Vorgabe",
|
|
412
|
+
"tpls.colInTemplate": "in Vorlage",
|
|
413
|
+
"tpls.colName": "Name",
|
|
414
|
+
"tpls.colPath": "Pfad, relativ zum Gerät",
|
|
415
|
+
"tpls.colRequired": "muss da sein",
|
|
416
|
+
"tpls.content": "Inhaltsprüfungen",
|
|
417
|
+
"tpls.contentHelp": "Macht die Erkennung genauer — und schließt Geräte aus, die den Block nicht senden. Genau das trennt „Steckdose“ von „Steckdose mit Messung“.",
|
|
418
|
+
"tpls.contentRow": "{0} muss {1} enthalten",
|
|
419
|
+
"tpls.contradiction": "So passt die Vorlage auf gar nichts.",
|
|
420
|
+
"tpls.contradictionText": "Diese Punkte stehen zugleich unter „muss da sein\" und unter „darf es nicht geben\": {0}. Nimm sie an einer der beiden Stellen heraus.",
|
|
421
|
+
"tpls.deviceType": "Gerätetyp",
|
|
422
|
+
"tpls.dropOff": "Ganz weglassen",
|
|
423
|
+
"tpls.dropOthers": "Fremde Ausgänge weglassen",
|
|
424
|
+
"tpls.droppedCount": "{0} Punkte weggelassen.",
|
|
425
|
+
"tpls.evidence": "{0} Belege",
|
|
426
|
+
"tpls.failed": "Speichern fehlgeschlagen:",
|
|
427
|
+
"tpls.function": "Funktion",
|
|
428
|
+
"tpls.head": "Kopfdaten",
|
|
429
|
+
"tpls.hits": "{0} Geräte getroffen, {1} davon gewonnen",
|
|
430
|
+
"tpls.id": "Kennung",
|
|
431
|
+
"tpls.idTaken": "Diese Kennung gehört schon „{0}“ (v{1}). Speichern würde sie ersetzen.",
|
|
432
|
+
"tpls.json": "Das wird gespeichert",
|
|
433
|
+
"tpls.loadFailed": "eigene Vorlagen nicht geladen",
|
|
434
|
+
"tpls.loadFailedHint": "Die Instanzkonfiguration hat nicht geantwortet oder einen Fehler gemeldet. Deine eigenen Vorlagen sind nicht verschwunden — sie fehlen nur in dieser Ansicht. Solange dieser Hinweis steht, kann ein Speichern eine vorhandene Vorlage überschreiben: erst neu laden.",
|
|
435
|
+
"tpls.losesTo": "verliert gegen {0}",
|
|
436
|
+
"tpls.multiple": "Dieses Gerät hat mehrere Ausgänge",
|
|
437
|
+
"tpls.multipleHelp": "Die {0} in den Pfaden wird durch %N% ersetzt — nur am Ende eines Abschnitts, damit ENERGY.Power heil bleibt.",
|
|
438
|
+
"tpls.multipleNoNumber": "Trag ein, welche Zahl in den Pfaden der Ausgang ist. Ohne sie bleibt die Vorlage einfach.",
|
|
439
|
+
"tpls.multipleOff": "Ein Gerät mit POWER1, POWER2 … wird zu einem Ordner mit einem Kanal je Ausgang.",
|
|
440
|
+
"tpls.nameDe": "Name (deutsch)",
|
|
441
|
+
"tpls.nameEn": "Name (englisch)",
|
|
442
|
+
"tpls.nameHint": "Namenshinweis",
|
|
443
|
+
"tpls.nameHintBad": "Kein brauchbarer Ausdruck — er zählt als „trifft nicht“.",
|
|
444
|
+
"tpls.nameHintHelp": "Entscheidet nur zwischen Vorlagen, die gleich gut passen — etwa Lampe gegen Steckdose. Mehrere Wörter mit | trennen. Dieses Gerät heißt \"{0}\".",
|
|
445
|
+
"tpls.noFunction": "— keine —",
|
|
446
|
+
"tpls.noHits": "Trifft im Moment kein Gerät. Prüfe die Pflichtpunkte.",
|
|
447
|
+
"tpls.noInstance": "Instanz {0} nicht gefunden.",
|
|
448
|
+
"tpls.noRequired": "Kein Punkt ist als Pflicht angehakt — so passt die Vorlage auf gar nichts.",
|
|
449
|
+
"tpls.noType": "— keiner —",
|
|
450
|
+
"tpls.onlyOne": "einzige passende",
|
|
451
|
+
"tpls.otherOutputs": "{0} Punkte zeigen auf andere Ausgänge ({1}).",
|
|
452
|
+
"tpls.otherOutputsText": "Eine Vorlage für mehrere Ausgänge beschreibt immer nur einen — die übrigen entstehen daraus. Nimm die fremden Punkte im Gerät heraus, sonst passt die Vorlage nur auf genau dieses eine Gerät.",
|
|
453
|
+
"tpls.pickDeviceFirst": "erst ein Gerät wählen",
|
|
454
|
+
"tpls.rank": "Rang",
|
|
455
|
+
"tpls.saveAsNew": "Als neue Vorlage speichern",
|
|
456
|
+
"tpls.saveAsNewHint": "die bisherige bleibt, wie sie ist",
|
|
457
|
+
"tpls.saveNew": "Vorlage speichern",
|
|
458
|
+
"tpls.saveUpdate": "Vorlage aktualisieren",
|
|
459
|
+
"tpls.saved": "Vorlage \"{0}\" gespeichert, Version {1}.",
|
|
460
|
+
"tpls.savedWhere": "Sie liegt in der Instanzkonfiguration ({0}) und ist damit im Backup.",
|
|
461
|
+
"tpls.saving": "speichere …",
|
|
462
|
+
"tpls.shadowsPackage": "verdeckt dann die mitgelieferte",
|
|
463
|
+
"tpls.someOff": "Am Gerät abgewählt: {0}. Diese Punkte kommen als „Vorgabe aus“ mit — beim nächsten Gerät stehen sie in der Liste, nur nicht angehakt.",
|
|
464
|
+
"tpls.states": "Datenpunkte",
|
|
465
|
+
"tpls.statesCount": "{0} Stück",
|
|
466
|
+
"tpls.statesHelp": "Der linke Haken sagt, ob der Punkt überhaupt in die Vorlage kommt. „Vorgabe“ ist der Zustand, mit dem er beim nächsten Gerät vorgeschlagen wird — der kommt von deiner Auswahl am Gerät. Der rechte Haken sagt, ob er vorhanden sein muss, damit die Vorlage überhaupt greift.",
|
|
467
|
+
"tpls.takesOver": "{0} wechseln die Vorlage",
|
|
468
|
+
"tpls.title": "Als Vorlage speichern — {0}",
|
|
469
|
+
"tpls.tryout": "Probelauf",
|
|
470
|
+
"tpls.undrop": "zurücknehmen",
|
|
471
|
+
"tpls.updateIt": "Vorlage \"{0}\" aktualisieren — sie wird Version {1}",
|
|
472
|
+
"tpls.whatToDo": "Was soll passieren",
|
|
473
|
+
"tpls.whichNumber": "Nummer dieses Ausgangs",
|
|
474
|
+
"tpls.wissen": "+ {0} weitere Punkte als Rollenwissen — greift in der Ansicht „Alle Datenpunkte des Geräts“",
|
|
475
|
+
"tree.aliases": "Alias bearbeiten",
|
|
476
|
+
"tree.collapseAll": "alles zuklappen",
|
|
477
|
+
"tree.emptyNode": "keine Datenpunkte — der Knoten steht in der Datenbank, ist aber leer",
|
|
478
|
+
"tree.expandAll": "alles aufklappen",
|
|
479
|
+
"tree.filter": "filtern …",
|
|
480
|
+
"tree.filterAria": "Objekte filtern",
|
|
481
|
+
"tree.loading": "lade Objekte …",
|
|
482
|
+
"tree.looksLikeDevice": "sieht wie ein einzelnes Gerät aus",
|
|
483
|
+
"tree.noObjectHint": "kein Objekt — nur aus der ID abgeleitet",
|
|
484
|
+
"tree.nothingFound": "nichts gefunden",
|
|
485
|
+
"tree.sources": "Alias anlegen",
|
|
486
|
+
"tree.templates": "Vorlagen",
|
|
487
|
+
"tv.addFallback": "Ersatzquelle hinzufügen",
|
|
488
|
+
"tv.addState": "Datenpunkt hinzufügen",
|
|
489
|
+
"tv.badContent": "„erkennung.inhalt“ muss ein Objekt sein.",
|
|
490
|
+
"tv.badList": "„{0}“ muss eine Liste von Punkten sein.",
|
|
491
|
+
"tv.badName": "Der Name muss ein Text oder ein Sprachobjekt sein.",
|
|
492
|
+
"tv.badNameHint": "Der Namenshinweis ist kein brauchbarer Ausdruck.",
|
|
493
|
+
"tv.badNoId": "Es fehlt die Kennung (id).",
|
|
494
|
+
"tv.badNoStates": "Es fehlen die Datenpunkte (zustaende).",
|
|
495
|
+
"tv.badNotObject": "Erwartet wird eine einzelne Vorlage als JSON-Objekt.",
|
|
496
|
+
"tv.badRecog": "„erkennung“ muss ein Objekt sein.",
|
|
497
|
+
"tv.badState": "{0} Datenpunkte ohne Namen oder ohne Lesepfad.",
|
|
498
|
+
"tv.badType": "Den Gerätetyp „{0}“ kennt dieser Detector nicht.",
|
|
499
|
+
"tv.clickRow": "Zeile anklicken, um den Punkt zu bearbeiten",
|
|
500
|
+
"tv.delete": "Löschen",
|
|
501
|
+
"tv.deleteHint": "Verdeckt sie eine mitgelieferte Vorlage, kommt die danach wieder zum Vorschein.",
|
|
502
|
+
"tv.deleteSure": "Wirklich löschen",
|
|
503
|
+
"tv.detection": "Erkennung",
|
|
504
|
+
"tv.discard": "Änderungen verwerfen",
|
|
505
|
+
"tv.duplicate": "Duplizieren",
|
|
506
|
+
"tv.export": "Als Datei ausgeben",
|
|
507
|
+
"tv.fallback": "Ersatzquellen",
|
|
508
|
+
"tv.fallbackHint": "Findet die Werkbank den Punkt oben nicht — oder das Feld nicht darin —, probiert sie diese der Reihe nach. Der erste Weg, bei dem Punkt und Feld wirklich da sind, wird genommen.",
|
|
509
|
+
"tv.flagsHelp": "„Vorgabe\" = beim nächsten Gerät vorgehakt. „muss da sein\" = ohne diesen Punkt passt die Vorlage gar nicht — er wandert dabei in die Pflichtliste oben. „festes Objekt\" = der Lesepfad ist keine Angabe relativ zum Gerät, sondern eine vollständige Objekt-ID, die bei jedem Gerät dieselbe bleibt.",
|
|
510
|
+
"tv.forbidden": "Darf es nicht geben",
|
|
511
|
+
"tv.forbiddenHelp": "Diese Punkte dürfen am Gerät NICHT vorkommen, sonst passt die Vorlage nicht. So trennt sich eine einfache Steckdose von einer mehrfachen. Mehrere mit Komma trennen. Nicht vorhandene Punkte zählen nicht als Beleg.",
|
|
512
|
+
"tv.hide": "verbergen",
|
|
513
|
+
"tv.importAndSave": "Einlesen und speichern",
|
|
514
|
+
"tv.importBad": "Diese Datei ist keine Vorlage.",
|
|
515
|
+
"tv.importFile": "Einlesen …",
|
|
516
|
+
"tv.importNew": "Speichern legt \"{0}\" neu an.",
|
|
517
|
+
"tv.importReplaces": "Speichern ersetzt deine Vorlage \"{0}\" — Version {1} wird zu Version {2}.",
|
|
518
|
+
"tv.importShadows": "Speichern verdeckt die mitgelieferte Vorlage \"{0}\".",
|
|
519
|
+
"tv.importTitle": "Noch nichts gespeichert.",
|
|
520
|
+
"tv.imported": "eingelesen",
|
|
521
|
+
"tv.inTemplate": "in der Vorlage",
|
|
522
|
+
"tv.json": "Die Vorlage als JSON",
|
|
523
|
+
"tv.makeOwn": "Eigene Kopie zum Bearbeiten",
|
|
524
|
+
"tv.multi": "mehrere Ausgänge, je Ausgang ein Kanal {0}",
|
|
525
|
+
"tv.nameHintShort": "Entscheidet nur zwischen Vorlagen, die gleich gut passen. Mehrere Wörter mit | trennen.",
|
|
526
|
+
"tv.package": "mitgeliefert",
|
|
527
|
+
"tv.packageText": "Sie lässt sich nicht ändern — so bleibt sie immer der Auslieferungszustand. Duplizieren macht eine eigene Kopie, und die verdeckt das Original.",
|
|
528
|
+
"tv.packageTitle": "Mitgelieferte Vorlage.",
|
|
529
|
+
"tv.paneHead": "Die Vorlage und was sie fängt",
|
|
530
|
+
"tv.rank": "Rang {0}",
|
|
531
|
+
"tv.rankOwn": "Der Rang entscheidet nur zwischen deinen eigenen Vorlagen. Gegen eine mitgelieferte gewinnt deine ohnehin immer — dafür braucht sie keinen hohen Rang.",
|
|
532
|
+
"tv.rankPackage": "Der Rang entscheidet nur zwischen mitgelieferten Vorlagen, und auch dort erst, wenn Belege und Namenshinweis unentschieden sind.",
|
|
533
|
+
"tv.removeFallback": "entfernen",
|
|
534
|
+
"tv.removeState": "Diesen Punkt entfernen",
|
|
535
|
+
"tv.required2": "Muss es geben",
|
|
536
|
+
"tv.requiredCount": "{0} Pflichtpunkte",
|
|
537
|
+
"tv.requiredHelp": "Diese Datenpunkte müssen am Gerät vorhanden sein, sonst passt die Vorlage nicht. Mehrere mit Komma trennen. Jeder Pflichtpunkt macht die Vorlage genauer und zugleich spröder.",
|
|
538
|
+
"tv.save": "Speichern",
|
|
539
|
+
"tv.show": "zeigen",
|
|
540
|
+
"tv.unsaved": "nicht gespeichert",
|
|
541
|
+
"write.aliasNowAt": "Der Alias steht jetzt unter {0}.",
|
|
542
|
+
"write.cannotWrite": "So kann nicht geschrieben werden:",
|
|
543
|
+
"write.changes": "ändert sich",
|
|
544
|
+
"write.close": "Schließen",
|
|
545
|
+
"write.createAlias": "Alias erzeugen …",
|
|
546
|
+
"write.createAll": "Alle {0} erzeugen …",
|
|
547
|
+
"write.createAsOne": "als ein Gerät erzeugen …",
|
|
548
|
+
"write.createNamed": "{0} erzeugen …",
|
|
549
|
+
"write.createPerChannel": "je Kanal ein Gerät, {0} Stück …",
|
|
550
|
+
"write.createSendPoints": "Die {0} fehlenden Sendepunkte anlegen",
|
|
551
|
+
"write.deselected": "abgewählt",
|
|
552
|
+
"write.diffNew": "danach",
|
|
553
|
+
"write.diffOld": "bisher",
|
|
554
|
+
"write.diffRaw": "Originalreihenfolge zeigen",
|
|
555
|
+
"write.diffSorted": "Felder ordnen",
|
|
556
|
+
"write.diffSortedHint": "Die Reihenfolge der Felder in einem Objekt bedeutet nichts — derselbe Admin legt Alias-Objekte in vier verschiedenen Reihenfolgen an. Geordnet stehen nur die echten Unterschiede da; die Originalreihenfolge zeigt, wie es wirklich gespeichert ist.",
|
|
557
|
+
"write.done": "{0} Objekte geschrieben.",
|
|
558
|
+
"write.doneWithRemoved": "{0} Objekte geschrieben, {1} entfernt.",
|
|
559
|
+
"write.dryOutputs": " — {0} Ausgänge",
|
|
560
|
+
"write.dryTitleCreate": "Alias erzeugen — das würde entstehen",
|
|
561
|
+
"write.dryTitleDoneCreate": "Alias erzeugt",
|
|
562
|
+
"write.dryTitleDoneUpdate": "Alias aktualisiert",
|
|
563
|
+
"write.dryTitleFailed": "Nicht alles ist durchgegangen",
|
|
564
|
+
"write.dryTitleUpdate": "Alias aktualisieren — das würde entstehen",
|
|
565
|
+
"write.duplicateName": "{0}: Name kommt doppelt vor.",
|
|
566
|
+
"write.enumsUnknown": "Raum und Funktion werden nicht geschrieben: die Aufzählungen konnten nicht geladen werden. Der Alias selbst entsteht wie gezeigt. Ohne verlässlichen Stand würde eine vorhandene Aufzählung durch eine frische mit nur diesem einen Mitglied ersetzt.",
|
|
567
|
+
"write.failed": "{0} Vorgänge gingen schief:",
|
|
568
|
+
"write.new": "neu",
|
|
569
|
+
"write.noName": "Ein Punkt hat keinen Namen.",
|
|
570
|
+
"write.noSourceChosen": "{0}: keine Quelle gewählt.",
|
|
571
|
+
"write.noneSelected": "Es ist kein einziger Datenpunkt ausgewählt.",
|
|
572
|
+
"write.notInProposal": "nicht im Vorschlag",
|
|
573
|
+
"write.notUnderAlias": "{0} liegt nicht unter alias. — hier wird nichts geschrieben",
|
|
574
|
+
"write.now": "Jetzt anlegen",
|
|
575
|
+
"write.nowUpdate": "Jetzt aktualisieren",
|
|
576
|
+
"write.pickDeviceFirst": "erst ein Gerät wählen",
|
|
577
|
+
"write.remove": "Entfernen",
|
|
578
|
+
"write.removeCount": "Datenpunkte: {0}",
|
|
579
|
+
"write.removeHint": "liegen im Alias, kommen im Entwurf nicht mehr vor",
|
|
580
|
+
"write.retry": "Noch einmal versuchen",
|
|
581
|
+
"write.rowSource": "Quelle",
|
|
582
|
+
"write.rowTarget": "Ziel",
|
|
583
|
+
"write.sourceMissing": "{0}: Quelle {1} existiert nicht.",
|
|
584
|
+
"write.summaryTail": "{0} neu, {1} würden überschrieben",
|
|
585
|
+
"write.summaryTail3": "{0} neu, {1} ändern sich, {2} unverändert",
|
|
586
|
+
"write.unchanged": "unverändert",
|
|
587
|
+
"write.updateAlias": "Alias aktualisieren …",
|
|
588
|
+
"write.updateAsOne": "als ein Gerät aktualisieren …",
|
|
589
|
+
"write.updateNamed": "{0} aktualisieren …",
|
|
590
|
+
"write.willKeep": "bleiben stehen: {0}",
|
|
591
|
+
"write.willRemove": "entfernt: {0}",
|
|
592
|
+
"write.writeSourceMissing": "{0}: den Sendepunkt {1} gibt es noch nicht",
|
|
593
|
+
"write.writing": "schreibe …"
|
|
594
|
+
}
|