iobroker.alias-workbench 0.9.12 → 0.11.0
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 +93 -91
- package/admin/css/werkbank.css +23 -0
- package/admin/i18n/de.json +701 -1
- package/admin/i18n/en.json +701 -1
- package/admin/i18n/es.json +701 -1
- package/admin/i18n/fr.json +701 -1
- package/admin/i18n/it.json +701 -1
- package/admin/i18n/nl.json +701 -1
- package/admin/i18n/pl.json +701 -1
- package/admin/i18n/pt.json +701 -1
- package/admin/i18n/ru.json +701 -1
- package/admin/i18n/uk.json +701 -1
- package/admin/i18n/zh-cn.json +701 -1
- package/admin/js/ablage.js +118 -0
- package/admin/js/aufzaehlungen.js +24 -8
- package/admin/js/baum.js +13 -2
- package/admin/js/detail.js +362 -86
- package/admin/js/entwurf.js +159 -41
- package/admin/js/enums.js +7 -0
- package/admin/js/ergebnis.js +26 -6
- package/admin/js/erkennung.js +45 -0
- package/admin/js/katalog.js +235 -40
- package/admin/js/mqtt.js +421 -90
- package/admin/js/musternamen.js +70 -26
- package/admin/js/musterwahl.js +103 -26
- package/admin/js/objekte.js +5 -0
- package/admin/js/pruefungen.js +1 -2
- package/admin/js/quellentausch.js +59 -12
- package/admin/js/schreiben.js +25 -20
- package/admin/js/sprache.js +7 -8
- package/admin/js/vorlagen.js +36 -8
- package/admin/js/vorlagenblatt.js +277 -71
- package/admin/js/vorschlagen.js +60 -7
- package/admin/js/werte.js +392 -25
- package/admin/js/zielleiste.js +19 -10
- package/admin/js/zuordnung.js +47 -23
- package/admin/js/zustand.js +9 -1
- package/admin/js/zustandsliste.js +194 -27
- package/admin/vorlagen/hm-dimmer.json +32 -8
- package/admin/vorlagen/hm-fensterkontakt-hm.json +20 -5
- package/admin/vorlagen/hm-fensterkontakt-hmip.json +28 -7
- package/admin/vorlagen/hm-heizgruppe.json +38 -11
- package/admin/vorlagen/hm-heizkoerper.json +42 -12
- package/admin/vorlagen/hm-rollladen.json +30 -8
- package/admin/vorlagen/hm-schaltaktor-lampe.json +24 -6
- package/admin/vorlagen/hm-schaltaktor-mehrfach.json +32 -8
- package/admin/vorlagen/hm-schaltaktor-steckdose.json +24 -6
- package/admin/vorlagen/hm-temperatur-feuchte.json +8 -2
- package/admin/vorlagen/hm-wandthermostat.json +36 -9
- package/admin/vorlagen/messpunkt.json +45 -11
- package/admin/vorlagen/tasmota-lampe.json +53 -13
- package/admin/vorlagen/tasmota-mehrfach.json +45 -11
- package/admin/vorlagen/tasmota-rgb.json +41 -10
- package/admin/vorlagen/tasmota-steckdose.json +61 -15
- package/io-package.json +41 -28
- package/package.json +2 -2
- package/admin/sprachen/de.json +0 -661
- package/admin/sprachen/en.json +0 -661
package/admin/i18n/de.json
CHANGED
|
@@ -10,5 +10,705 @@
|
|
|
10
10
|
"The Admin setup wizard leaves a bare name such as \"Playroom\" in the icon field, which no longer resolves to a picture and shows as a broken box. With this on, the workbench replaces it. It overwrites a field that is not empty — the dry run names it explicitly.": "Der Einrichtungsassistent des Admin hinterlässt im Bildfeld einen bloßen Namen wie „Playroom“, der zu keinem Bild mehr führt und als kaputtes Kästchen erscheint. Ist dies an, ersetzt die Werkbank ihn. Damit wird ein nicht leeres Feld überschrieben — der Trockenlauf benennt das eigens.",
|
|
11
11
|
"The Alias Workbench has no running process — everything happens in the Admin tab. These settings control how it writes.": "Die Alias-Werkbank hat keinen laufenden Prozess — alles geschieht im Admin-Reiter. Diese Einstellungen bestimmen, wie sie schreibt.",
|
|
12
12
|
"The workbench reads them at runtime from the Admin's own bundle instead of keeping a copy that would age with every update. If that fails, the selection lists simply show what already exists — no error, just fewer entries.": "Die Werkbank liest sie zur Laufzeit aus dem Bundle des Admin, statt eine Kopie zu pflegen, die bei jedem Update altert. Misslingt das, zeigen die Auswahllisten nur den Bestand — kein Fehler, nur weniger Auswahl.",
|
|
13
|
-
"Where the templates come from": "Woher die Vorlagen kommen"
|
|
13
|
+
"Where the templates come from": "Woher die Vorlagen kommen",
|
|
14
|
+
"app.connected": "verbunden",
|
|
15
|
+
"app.detector": "type-detector",
|
|
16
|
+
"app.disconnected": "getrennt",
|
|
17
|
+
"app.objectsCount": "{0} Objekte",
|
|
18
|
+
"app.patternsCount": "{0} Muster",
|
|
19
|
+
"app.subsCount": "{0} Abos",
|
|
20
|
+
"app.subsCount1": "ein Abo",
|
|
21
|
+
"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:",
|
|
22
|
+
"app.templatesCount": "{0} Vorlagen",
|
|
23
|
+
"app.title": "Alias-Werkbank",
|
|
24
|
+
"catalog.loadingText": "Einmalig nach einer Admin-Aktualisierung — das Bündel ist einige Megabyte groß. Danach liegt der Katalog bereit und wird nicht wieder geladen.",
|
|
25
|
+
"catalog.loadingTitle": "Vorlagen des Admin werden geholt",
|
|
26
|
+
"catalog.missing": "Katalog des Admin nicht erreichbar — nur Bestand",
|
|
27
|
+
"check.allDeliver": "alle liefern",
|
|
28
|
+
"check.allFine": "alle in Ordnung",
|
|
29
|
+
"check.allOk": "{0} ✓",
|
|
30
|
+
"check.button": "Prüfungen",
|
|
31
|
+
"check.canSend": "{0} Schreibwege in Ordnung",
|
|
32
|
+
"check.cannotSend": "kann nicht senden: {0}",
|
|
33
|
+
"check.checked": "{0} geprüft",
|
|
34
|
+
"check.duplicate": "Kein Punkt doppelt",
|
|
35
|
+
"check.duplicateNone": "jeder zeigt woanders hin",
|
|
36
|
+
"check.duplicateSome": "zeigen auf dasselbe: {0}",
|
|
37
|
+
"check.feedback": "Rückmeldung kommt sofort",
|
|
38
|
+
"check.feedbackFast": "sofort, SetOption59 ist an",
|
|
39
|
+
"check.feedbackNone": "betrifft keine Zeile — alle lesen aus stat/…",
|
|
40
|
+
"check.feedbackSlow": "verzögert: {0}",
|
|
41
|
+
"check.feedbackUnknown": "ungeprüft: {0}",
|
|
42
|
+
"check.formulaYields": "Leseformel liefert etwas",
|
|
43
|
+
"check.hintCount": "Hinweise: {0}",
|
|
44
|
+
"check.noPatternFits": "kein Muster passt",
|
|
45
|
+
"check.noWritePath": "kein Punkt schreibt",
|
|
46
|
+
"check.notMqtt": "kein MQTT-Schreibweg",
|
|
47
|
+
"check.openCount": "{0} offen",
|
|
48
|
+
"check.publish": "publish am cmnd-Punkt",
|
|
49
|
+
"check.rolesMakeDevice": "Rollen ergeben ein Gerät",
|
|
50
|
+
"check.sendPointMissing": "Sendepunkt fehlt noch: {0}",
|
|
51
|
+
"check.sendUnknown": "Ob {0} senden darf, steht nicht im Objekt — das Thema liegt nur in `native`. Bei ioBroker.mqtt und sonoff ist das normal.",
|
|
52
|
+
"check.sourceExists": "Quelle existiert",
|
|
53
|
+
"check.sourceHasValue": "Quelle hat einen Wert",
|
|
54
|
+
"check.targetCan": "Ziel kann, was verlangt wird",
|
|
55
|
+
"check.targetCanFine": "alle in Ordnung",
|
|
56
|
+
"check.targetNoWrite": "{0}: das Ziel ist nicht beschreibbar",
|
|
57
|
+
"check.targetVoidFormula": "{0}: Schreibformel läuft ins Leere, das Ziel ist {1}",
|
|
58
|
+
"check.title": "Prüfungen — laufen immer mit, fassen nichts an",
|
|
59
|
+
"del.allOutputs": "Alle {0} Ausgänge dieses Geräts entfernen",
|
|
60
|
+
"del.allOutputsHint": "Sonst bleibt der Rest verwaist stehen: {0}",
|
|
61
|
+
"del.alsoFunction": "Die mitangelegte Funktion „{0}“ wird mit entfernt — sie bliebe sonst leer zurück.",
|
|
62
|
+
"del.alsoRoom": "Der mitangelegte Raum „{0}“ wird mit entfernt — er bliebe sonst leer zurück.",
|
|
63
|
+
"del.button": "Alias entfernen …",
|
|
64
|
+
"del.channelsBelow": "Achtung: {0} eigenständige Kanäle liegen darunter und werden mitgelöscht.",
|
|
65
|
+
"del.count": "Objekte werden entfernt: {0}",
|
|
66
|
+
"del.done": "Entfernt: {0} Objekte.",
|
|
67
|
+
"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.",
|
|
68
|
+
"del.now": "Endgültig entfernen",
|
|
69
|
+
"del.objects": "Was verschwindet",
|
|
70
|
+
"del.scriptsHead": "{0} Skripte nennen diese Kennung:",
|
|
71
|
+
"del.scriptsHead1": "Ein Skript nennt diese Kennung:",
|
|
72
|
+
"del.scriptsHint": "Durchsucht wurden nur die Skripte des javascript-Adapters, im Klartext. vis-Ansichten, Szenen und die Einstellungen fremder Adapter bleiben außen vor.",
|
|
73
|
+
"del.title": "Alias entfernen",
|
|
74
|
+
"detail.aliasEmpty": "Im Alias ist dieses Feld leer.",
|
|
75
|
+
"detail.aliasHas": "Im Alias steht: ",
|
|
76
|
+
"detail.asDelivered": "wie geliefert",
|
|
77
|
+
"detail.attention": "Achtung",
|
|
78
|
+
"detail.buttonNoRead": "Knopf ohne Lesequelle — liest nicht mit",
|
|
79
|
+
"detail.caption": "Beschriftung",
|
|
80
|
+
"detail.captionHint": "wird der Anzeigename des Punkts — sichtbar im Admin, in VIS und überall, wo Namen statt Kennungen stehen",
|
|
81
|
+
"detail.converted": "vom Alias umgewandelt",
|
|
82
|
+
"detail.datapoint": "Datenpunkt",
|
|
83
|
+
"detail.decimals": "Nachkomma",
|
|
84
|
+
"detail.display": "Anzeige",
|
|
85
|
+
"detail.elsewhere": "(anderswo)",
|
|
86
|
+
"detail.expects": "erwartet {0}",
|
|
87
|
+
"detail.formula": "Leseformel",
|
|
88
|
+
"detail.formulaBroken": "Formel fehlerhaft",
|
|
89
|
+
"detail.formulaHint": "\"ON\"/\"OFF\" → boolean macht der Alias von selbst, dafür braucht es keine Formel.",
|
|
90
|
+
"detail.formulaPlaceholder": "leer = Wert unverändert übernehmen",
|
|
91
|
+
"detail.formulaThrows": "Formel wirft: {0}",
|
|
92
|
+
"detail.formulaTooSlow": "Diese Formel hat {0} ms gebraucht und wird nicht mehr ausgeführt. Nach dem Neuladen des Reiters wird sie einmal neu versucht.",
|
|
93
|
+
"detail.jsonField": "Feld im JSON",
|
|
94
|
+
"detail.matchesState": "✓ deckt sich mit dem Zustand",
|
|
95
|
+
"detail.name": "Name",
|
|
96
|
+
"detail.namePlaceholder": "z. B. UNREACH",
|
|
97
|
+
"detail.nameTaken": "Den Namen {0} trägt schon eine andere Zeile.",
|
|
98
|
+
"detail.noSource": "— keine Quelle bekannt —",
|
|
99
|
+
"detail.noValue": "kein Wert",
|
|
100
|
+
"detail.noWrite": "— nicht schreiben —",
|
|
101
|
+
"detail.notWritable": "nicht beschreibbar",
|
|
102
|
+
"detail.objectId": "Objekt-ID",
|
|
103
|
+
"detail.otherObject": "… anderes Objekt eintragen",
|
|
104
|
+
"detail.ownFormula": "eigene Formel",
|
|
105
|
+
"detail.pickOne": "— bitte wählen —",
|
|
106
|
+
"detail.rawNothing": "— Quelle liefert nichts —",
|
|
107
|
+
"detail.rawValue": "Rohwert",
|
|
108
|
+
"detail.readIsButton": "Taster",
|
|
109
|
+
"detail.readIsButtonHint": "Rolle button mit Schreibziel: der Alias-Datenpunkt bekommt read: false, und vis, Alexa und matter zeichnen ihn als Knopf. Die Lesequelle stört dabei nicht — mit ihr bekommt der Alias jeden Druck mit, auch einen an der echten Taste. Nach dem Druck bleibt der letzte Wert stehen, wie an der Quelle auch.",
|
|
110
|
+
"detail.readOnlySlotWrites": "{0} ist im Muster nur zum Lesen da — „schreibt auf“ sollte „— nicht schreiben —“ sein, sonst geht ein geschriebener Wert ans Gerät.",
|
|
111
|
+
"detail.readsFrom": "liest aus",
|
|
112
|
+
"detail.removePoint": "Diesen Punkt entfernen",
|
|
113
|
+
"detail.role": "Rolle",
|
|
114
|
+
"detail.sameAsRead": "— dieselbe wie lesen —",
|
|
115
|
+
"detail.separateHint": "Liest woanders, als es schreibt: angezeigt wird, was das Gerät zurückmeldet — nicht der zuletzt gesendete Befehl.",
|
|
116
|
+
"detail.slot": "Platz im Muster",
|
|
117
|
+
"detail.slotHint": "Setzt Rolle, Typ, Einheit und Werteliste so, wie das Muster sie für diesen Platz vorgibt. Datenpunkt und Name bleiben.",
|
|
118
|
+
"detail.slotNone": "— kein Platz —",
|
|
119
|
+
"detail.slotNotGiven": "{0} ist gewählt, aber nicht vergeben — unter „Rolle“ steht, was nicht passt (meist der Typ).",
|
|
120
|
+
"detail.slotRequired": "Pflicht",
|
|
121
|
+
"detail.sourceGone": "Quelle existiert nicht",
|
|
122
|
+
"detail.stateSays": "Zustand sagt {0}",
|
|
123
|
+
"detail.states": "Werteliste",
|
|
124
|
+
"detail.statesFromSource": "Die {0} Einträge der Quelle übernehmen",
|
|
125
|
+
"detail.statesHint": "übersetzt Zahlen in Text — der Admin zeigt dann eine Auswahlliste statt eines Zahlenfelds, und manche Plätze im Muster verlangen sie. Leer lassen heißt: keine Werteliste.",
|
|
126
|
+
"detail.statesPlaceholder": "je Zeile: 0 = geschlossen",
|
|
127
|
+
"detail.takeFromAlias": "Diesen einen Wert aus dem gespeicherten Alias zurückholen",
|
|
128
|
+
"detail.takeOne": "Diesen einen Wert aus der Vorlage übernehmen",
|
|
129
|
+
"detail.targetNoWrite": "Der Zielpunkt trägt write: false — sein Adapter reicht nichts ans Gerät weiter. ioBroker legt den Wert trotzdem ab, passieren wird aber nichts.",
|
|
130
|
+
"detail.targetTypeHint": "Der Typ des Zielpunktes ist {0}. Er entscheidet, was von der Schreibformel ankommt: mixed und string nehmen Text, boolean und number rechnen ihn zurück.",
|
|
131
|
+
"detail.targetTypeVoid": "Das Ziel ist {0} und nimmt keinen Text. Die Schreibformel liefert aber Text — der js-controller rechnet ihn beim Schreiben wieder auf {0} zurück, die Formel bleibt also wirkungslos. Geschaltet wird trotzdem.",
|
|
132
|
+
"detail.tplWants": "Die Vorlage will hier: ",
|
|
133
|
+
"detail.tplWantsEmpty": "Die Vorlage lässt dieses Feld leer.",
|
|
134
|
+
"detail.type": "Typ",
|
|
135
|
+
"detail.typeNumber": "Zahl",
|
|
136
|
+
"detail.unit": "Einheit",
|
|
137
|
+
"detail.writeFormula": "Schreibformel",
|
|
138
|
+
"detail.writeFormulaHint": "rechnet in die andere Richtung: was das Gerät beim Schalten empfangen soll.",
|
|
139
|
+
"detail.writeFormulaPlaceholder": "z. B. val ? \"ON\" : \"OFF\"",
|
|
140
|
+
"detail.writesTo": "schreibt auf",
|
|
141
|
+
"detail.yields": "ergibt",
|
|
142
|
+
"detail.yieldsNothing": "liefert nichts",
|
|
143
|
+
"diff.addedNoPlace": "zusätzlich angehakt — zählt nicht zum {0}",
|
|
144
|
+
"diff.addedWithPlace": "zusätzlich angehakt — gehört zum {0}",
|
|
145
|
+
"diff.againstStored": "gegenüber dem, was gespeichert ist",
|
|
146
|
+
"diff.changes": "Änderungen",
|
|
147
|
+
"diff.deselectedNoPlace": "abgewählt — hätte ohnehin nicht zum {0} gezählt",
|
|
148
|
+
"diff.deselectedWithPlace": "abgewählt — gehört zum {0}",
|
|
149
|
+
"diff.deviations": "Abweichungen vom Vorschlag",
|
|
150
|
+
"diff.formulaChange": "Leseformel: {0} → {1}",
|
|
151
|
+
"diff.newByHand": "neu, von Hand angelegt",
|
|
152
|
+
"diff.noName": "(ohne Namen)",
|
|
153
|
+
"diff.nothingExists": "noch nichts davon existiert",
|
|
154
|
+
"diff.open": "{0} offen",
|
|
155
|
+
"diff.points": "{0} Punkte",
|
|
156
|
+
"diff.roleChange": "Rolle: {0} → {1}",
|
|
157
|
+
"diff.sourceChange": "Quelle: {0} → {1}",
|
|
158
|
+
"diff.unitChange": "Einheit: {0} → {1}",
|
|
159
|
+
"diff.wouldBeAdded": "zusätzlich angehakt — kommt beim Aktualisieren dazu",
|
|
160
|
+
"diff.wouldBeRemoved": "abgewählt — steht im Alias und würde entfernt",
|
|
161
|
+
"enums.addTo": "kommt hinein",
|
|
162
|
+
"enums.alsoFolder": "Den Alias auch unter „{0}\" ablegen?",
|
|
163
|
+
"enums.clear": "Zuordnung entfernen",
|
|
164
|
+
"enums.function": "Funktion",
|
|
165
|
+
"enums.functionHint": "Ordnet den Alias einer Funktion zu, etwa Licht oder Heizung. Steht ebenfalls in einer Aufzählung, nicht am Objekt.",
|
|
166
|
+
"enums.iconAdded": "Bild wird ergänzt",
|
|
167
|
+
"enums.iconNew": "Bild fehlt — die Werkbank trägt es beim Schreiben nach",
|
|
168
|
+
"enums.iconNewMark": "neu",
|
|
169
|
+
"enums.iconThere": "Bild ist hinterlegt",
|
|
170
|
+
"enums.members": "{0} drin",
|
|
171
|
+
"enums.newSuffix": "neu",
|
|
172
|
+
"enums.noMatch": "nichts gefunden zu „{0}“",
|
|
173
|
+
"enums.notLoadedField": "Räume und Funktionen konnten nicht geladen werden — Raum und Funktion werden deshalb nicht geschrieben; der Alias selbst entsteht trotzdem. Die Werkbank versucht es von selbst noch dreimal, sonst den Reiter neu laden.",
|
|
174
|
+
"enums.nowEmpty": "ist danach leer und wird entfernt",
|
|
175
|
+
"enums.placeholder": "leer = keine Zuordnung",
|
|
176
|
+
"enums.removeFrom": "wird herausgenommen",
|
|
177
|
+
"enums.room": "Raum",
|
|
178
|
+
"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.",
|
|
179
|
+
"enums.suggested": "vorgeschlagen",
|
|
180
|
+
"enums.unknown": "Aufzählungen nicht geladen — Raum und Funktion bleiben unangetastet.",
|
|
181
|
+
"enums.unused": "leer",
|
|
182
|
+
"enums.willCreate": "neu anlegen",
|
|
183
|
+
"folder.aliasMissing": "fehlt",
|
|
184
|
+
"folder.aliasThere": "vorhanden",
|
|
185
|
+
"folder.clickHint": "Ein Gerät anklicken, um es zu bearbeiten. ",
|
|
186
|
+
"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.",
|
|
187
|
+
"folder.colAlias": "Alias",
|
|
188
|
+
"folder.colDetected": "erkannt als",
|
|
189
|
+
"folder.colSource": "Quelle",
|
|
190
|
+
"folder.devices": "Geräte",
|
|
191
|
+
"folder.devicesBelow": "{0} Geräte darunter · {1} Datenpunkte",
|
|
192
|
+
"folder.found": "{0} gefunden",
|
|
193
|
+
"folder.nothingHere": "Hier liegt nichts, woraus ein Gerät werden könnte.",
|
|
194
|
+
"folder.withAlias": "{0} mit Alias",
|
|
195
|
+
"folder.withoutTemplate": "{0} ohne Vorlage",
|
|
196
|
+
"guess.alsoRow": "mit Vorschlag: passt",
|
|
197
|
+
"guess.bar": "{0} Plätze vermutet — bitte prüfen",
|
|
198
|
+
"guess.better": "{0} würde evtl. besser passen",
|
|
199
|
+
"guess.betterGoHint": "Wechselt auf {0} und drückt gleich „{1}\". Jede Zuordnung steht danach als „vermutet\" da und ist einzeln zu prüfen; verwerfen geht jederzeit. Am Gerät ändert sich dabei nichts — gesetzt werden nur Rollen im Entwurf.",
|
|
200
|
+
"guess.betterHint": "{0} käme auf {1} belegte Plätze, {2} auf {3} — beide Zahlen nach dem Vorschlag. Wechseln und dann „Freie Plätze vorschlagen\" drücken; jede Zuordnung ist einzeln zu prüfen.",
|
|
201
|
+
"guess.betterHintNone": "{0} käme nach dem Vorschlag auf {1} belegte Plätze; {2} passt auch dann nicht. Wechseln und dann „Freie Plätze vorschlagen\" drücken; jede Zuordnung ist einzeln zu prüfen.",
|
|
202
|
+
"guess.button": "Freie Plätze vorschlagen",
|
|
203
|
+
"guess.drop": "verwerfen",
|
|
204
|
+
"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.",
|
|
205
|
+
"guess.keep": "behalten",
|
|
206
|
+
"guess.keepAll": "alle behalten",
|
|
207
|
+
"guess.locked": "{0}× vermutet, noch unentschieden — erst behalten (✓) oder verwerfen (✕), dann lässt sich anlegen und speichern.",
|
|
208
|
+
"guess.mark": "vermutet",
|
|
209
|
+
"guess.noneFit": "Frei bleibt {0}. Kein übriger Datenpunkt passt dazu — vermutet wird nach Namen, Werteliste, Einheit und Typ, und nichts kam über die Schwelle.",
|
|
210
|
+
"guess.noneFull": "Alle Plätze des Musters sind besetzt — es bleibt nichts vorzuschlagen.",
|
|
211
|
+
"guess.noneHand": "{0} Zeilen sind von Hand entschieden und bleiben unangetastet: {1}.",
|
|
212
|
+
"guess.noneHandOne": "{0} ist von Hand entschieden und bleibt unangetastet.",
|
|
213
|
+
"guess.noneUsed": "Frei bleibt {0}. Jeder übrige Datenpunkt steckt schon als Lese- oder Schreibquelle in einer belegten Zeile.",
|
|
214
|
+
"guess.slotsMore": "{0} und {1} weitere",
|
|
215
|
+
"guess.tplAsk": "Dieses Gerät ist als „{0}“ identifiziert; die Zuordnung steht damit schon. Der Vorschlag belegt 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.",
|
|
216
|
+
"guess.tplGo": "Trotzdem vorschlagen",
|
|
217
|
+
"guess.tplHint": "Die Vorlage deckt das Gerät schon ab — ein Vorschlag ist hier nur für Sonderfälle.",
|
|
218
|
+
"guess.tplTitle": "Freie Plätze trotz Vorlage?",
|
|
219
|
+
"guess.undo": "Vorschläge verwerfen",
|
|
220
|
+
"help.aliases": "Links einen vorhandenen Alias wählen. Punkte entfernen, Rollen, Quellen und Formeln ändern — oder ihn verlegen, umbenennen und löschen.",
|
|
221
|
+
"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.",
|
|
222
|
+
"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.",
|
|
223
|
+
"help.templates": "Links eine Vorlage wählen. Mitgelieferte lassen sich ansehen und duplizieren, eigene bearbeiten. Der Probelauf zeigt, welche Geräte sie trifft.",
|
|
224
|
+
"info.dlgTitle": "Gehört nicht zum {0}-Muster",
|
|
225
|
+
"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.",
|
|
226
|
+
"info.more": "Was das bedeutet",
|
|
227
|
+
"leave.body": "An {0} sind Änderungen offen, die noch nicht geschrieben wurden. Wechselst du jetzt, sind sie weg.",
|
|
228
|
+
"leave.discard": "Verwerfen und wechseln",
|
|
229
|
+
"leave.stay": "Hierbleiben",
|
|
230
|
+
"leave.title": "Ungespeicherte Änderungen",
|
|
231
|
+
"list.addByHand": "Datenpunkt von Hand hinzufügen",
|
|
232
|
+
"list.aliasDiffers": "weicht vom gespeicherten Alias ab",
|
|
233
|
+
"list.all": "alle",
|
|
234
|
+
"list.buttonOnly": "nur schreiben",
|
|
235
|
+
"list.byHand": "von Hand",
|
|
236
|
+
"list.changed": "geändert",
|
|
237
|
+
"list.colOn": "an",
|
|
238
|
+
"list.colRole": "Rolle",
|
|
239
|
+
"list.colState": "Zustand",
|
|
240
|
+
"list.colValue": "Wert",
|
|
241
|
+
"list.countOf": "{0} von {1}",
|
|
242
|
+
"list.createAria": "{0} anlegen",
|
|
243
|
+
"list.nameMissing": "Name fehlt",
|
|
244
|
+
"list.newPoint": "neuer Punkt",
|
|
245
|
+
"list.noRole": "— keine Rolle —",
|
|
246
|
+
"list.ofDatapoints": "Datenpunkten",
|
|
247
|
+
"list.onlyPattern": "nur was ins Muster passt",
|
|
248
|
+
"list.onlyPatternHint": "Hakt genau die Punkte an, die einen Platz im gewählten Muster bekommen — alles andere wird abgehakt und nicht mit angelegt.",
|
|
249
|
+
"list.onlyWithValue": "nur mit Wert",
|
|
250
|
+
"list.otherSource": "aus {0}",
|
|
251
|
+
"list.otherSourceHint": "Dieser Punkt liest nicht aus {0}, sondern aus {1}.",
|
|
252
|
+
"list.reset": "zurücksetzen",
|
|
253
|
+
"list.resetHint": "Verwirft alle Änderungen dieser Sitzung — Haken, Rollen, Formeln, Quellen — und zeigt wieder den Stand, wie er im System steht.",
|
|
254
|
+
"list.sendPointMissing": "Sendepunkt fehlt noch",
|
|
255
|
+
"list.sourceGone": "Quelle gibt es nicht",
|
|
256
|
+
"list.sourceHint": "Dieser Punkt liest aus {0}.",
|
|
257
|
+
"list.sourceMissing": "Quelle fehlt",
|
|
258
|
+
"list.tpl": "Vorlage",
|
|
259
|
+
"list.tplDiffers": "weicht von der Vorlage ab",
|
|
260
|
+
"list.tplHint": "Hakt genau die Punkte an, die die Vorlage vorschlägt — unabhängig davon, was heute im Alias steht.",
|
|
261
|
+
"list.willBeCreated": "angelegt werden",
|
|
262
|
+
"move.button": "Verlegen …",
|
|
263
|
+
"move.done": "Verlegt. Der Alias steht jetzt unter {0}.",
|
|
264
|
+
"move.exists": "{0} gibt es schon. Erst entfernen oder einen anderen Namen wählen.",
|
|
265
|
+
"move.from": "von",
|
|
266
|
+
"move.needName": "Ein Name muss stehen bleiben.",
|
|
267
|
+
"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.",
|
|
268
|
+
"move.newFolder": "Ordner neu",
|
|
269
|
+
"move.noFolder": "(kein Ordner — direkt unter alias.0)",
|
|
270
|
+
"move.noScripts": "In den Skripten kommt die Kennung nicht vor.",
|
|
271
|
+
"move.now": "Jetzt verlegen",
|
|
272
|
+
"move.scriptLines": "Zeile {0}",
|
|
273
|
+
"move.scriptLinesN": "Zeilen {0}",
|
|
274
|
+
"move.scriptOff": "aus",
|
|
275
|
+
"move.scriptsHead": "{0} Skripte nennen die alte Kennung:",
|
|
276
|
+
"move.scriptsHead1": "Ein Skript nennt die alte Kennung:",
|
|
277
|
+
"move.title": "Alias verlegen",
|
|
278
|
+
"move.to": "nach",
|
|
279
|
+
"move.unchanged": "Ordner und Name sind unverändert — nichts zu tun.",
|
|
280
|
+
"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.",
|
|
281
|
+
"move.warnHistoryHead": "Aufgezeichnete Werte wandern nicht mit.",
|
|
282
|
+
"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.",
|
|
283
|
+
"move.warnRefsHead": "Was sonst noch auf die alte Kennung zeigt.",
|
|
284
|
+
"move.willMove": "wird verlegt",
|
|
285
|
+
"move.with": "mit",
|
|
286
|
+
"mq.andMore": "… und {0} weitere",
|
|
287
|
+
"mq.ask": "Beim Gerät nachfragen",
|
|
288
|
+
"mq.askError": "Die Abfrage ist fehlgeschlagen: {0}",
|
|
289
|
+
"mq.askGotAnswer": "Das Gerät hat geantwortet — Befehle erkannt: {0}",
|
|
290
|
+
"mq.askHint": "Das ist eine reine Abfrage — sie schaltet nichts und ändert keine Einstellung.",
|
|
291
|
+
"mq.askNoAnswer": "Keine Antwort. Das Gerät ist entweder nicht erreichbar, oder es hört auf einem anderen Thema.",
|
|
292
|
+
"mq.askOffline": "Das Gerät meldet sich gerade nicht — eine Abfrage bleibt dann ohne Antwort.",
|
|
293
|
+
"mq.askedDays": "vor {0} Tagen gefragt",
|
|
294
|
+
"mq.askedHours": "vor {0} Stunden gefragt",
|
|
295
|
+
"mq.askedMinutes": "vor {0} Minuten gefragt",
|
|
296
|
+
"mq.asking": "frage beim Gerät nach",
|
|
297
|
+
"mq.commandsFrom": "Befehle, abgelesen aus {0}",
|
|
298
|
+
"mq.createdBy": "von der Alias-Werkbank angelegt",
|
|
299
|
+
"mq.dialogTitle": "Sendepunkte anlegen",
|
|
300
|
+
"mq.done": "{0} Objekte geschrieben.",
|
|
301
|
+
"mq.doneHint": "Die Erkennung läuft gleich neu — eine Vorlage, die vorher nicht griff, kann jetzt greifen.",
|
|
302
|
+
"mq.duplicate": "dasselbe wie {0}",
|
|
303
|
+
"mq.fix": "Sendepunkte anlegen …",
|
|
304
|
+
"mq.instant": "Sofortige Rückmeldung",
|
|
305
|
+
"mq.instantCheck": "nachfragen",
|
|
306
|
+
"mq.instantChecking": "frage nach",
|
|
307
|
+
"mq.instantEnable": "Einschalten",
|
|
308
|
+
"mq.instantEnabling": "schalte ein",
|
|
309
|
+
"mq.instantHintOff": "Ohne SetOption59 meldet das Gerät nur im Telemetrietakt. {0} liest aus tele/… und zeigt nach dem Schalten so lange den alten Wert. Einschalten ist eine dauerhafte Einstellung am Gerät — sie schaltet nichts und ändert nur, wie oft gemeldet wird.",
|
|
310
|
+
"mq.instantHintOffTakt": "Ohne SetOption59 meldet das Gerät nur alle {1} Sekunden. {0} liest aus tele/… und zeigt nach dem Schalten bis dahin den alten Wert. Einschalten ist eine dauerhafte Einstellung am Gerät — sie schaltet nichts und ändert nur, wie oft gemeldet wird.",
|
|
311
|
+
"mq.instantHintOn": "SetOption59 ist gesetzt: das Gerät meldet jede Änderung sofort, nicht erst mit der nächsten Telemetrie. Gemessen wurden drei Sekunden.",
|
|
312
|
+
"mq.instantHintUnknown": "Das Gerät wurde danach noch nicht gefragt. „Nachfragen\" schickt eine leere Abfrage an SetOption59 — sie ändert nichts.",
|
|
313
|
+
"mq.instantOff": "aus",
|
|
314
|
+
"mq.instantOffShort": "Rückmeldung verzögert",
|
|
315
|
+
"mq.instantOn": "eingeschaltet",
|
|
316
|
+
"mq.instantUnknown": "unbekannt",
|
|
317
|
+
"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.",
|
|
318
|
+
"mq.justAsked": "gerade eben gefragt",
|
|
319
|
+
"mq.missing": "{0} Sendepunkte fehlen",
|
|
320
|
+
"mq.missingIp": "Die IP-Adresse des Geräts ist nicht bekannt — sie steht nur in tele/INFO2 (kommt einmal beim Start) oder in stat/STATUS5 (nur auf Abruf).",
|
|
321
|
+
"mq.missingPeriod": "Der Telemetrietakt ist nicht bekannt — das Gerät nennt ihn von sich aus nirgends, nur auf Abruf.",
|
|
322
|
+
"mq.mute": "{0} können nicht senden",
|
|
323
|
+
"mq.neverReported": "Das Gerät hat sich seit dem Start noch nicht vollständig gemeldet, deshalb ist seine Befehlsliste unbekannt.",
|
|
324
|
+
"mq.newPoints": "Neu anzulegen",
|
|
325
|
+
"mq.nothingYet": "Das Gerät hat noch nichts gesendet, aus dem sich Befehle ablesen ließen.",
|
|
326
|
+
"mq.nowValue": "gerade:",
|
|
327
|
+
"mq.offline": "offline",
|
|
328
|
+
"mq.onlyResult": "Bisher kam nur die Antwort auf einen einzelnen Befehl an, nicht der ganze Zustand — die Liste ist also womöglich unvollständig.",
|
|
329
|
+
"mq.repair": "Vorhanden, aber stumm",
|
|
330
|
+
"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.",
|
|
331
|
+
"mq.rowAllow": "senden erlauben",
|
|
332
|
+
"mq.rowCreate": "anlegen",
|
|
333
|
+
"mq.rowWorking": "…",
|
|
334
|
+
"mq.selectedOf": "{0} von {1} ausgewählt",
|
|
335
|
+
"mq.silent": "meldet sich nicht",
|
|
336
|
+
"mq.split": "aus {0} Zweigen",
|
|
337
|
+
"mq.splitHint": "Dieses Gerät liegt nicht unter einem Knoten, sondern verteilt auf {0} Zweige — so legt der MQTT-Adapter es ab, wenn am Gerät das FullTopic „%prefix%/%topic%/\" steht (Tasmotas Werkseinstellung). Die Werkbank fasst die Zweige zusammen; Punkte werden unter ihrem Gerät angelegt, nicht neben ihm.",
|
|
338
|
+
"mq.stFine": "angelegt, sendet",
|
|
339
|
+
"mq.stMissing": "Punkt fehlt",
|
|
340
|
+
"mq.stMute": "kann nicht senden",
|
|
341
|
+
"mq.stOff": "angelegt, aber abgeschaltet",
|
|
342
|
+
"mq.stUnknown": "angelegt, Senden unbekannt",
|
|
343
|
+
"mq.title": "MQTT-Gerät",
|
|
344
|
+
"mq.unknownCommand": "unbekannter Befehl",
|
|
345
|
+
"mq.write": "Anlegen ({0})",
|
|
346
|
+
"pattern.allPatterns": "alle {0} Muster",
|
|
347
|
+
"pattern.doesNotFit": "✕ passt nicht",
|
|
348
|
+
"pattern.expectsType": ", erwartet {0}",
|
|
349
|
+
"pattern.fitsNotType": "✕ {0}: Typ {1} statt {2}",
|
|
350
|
+
"pattern.fitsOn": "passt auf ",
|
|
351
|
+
"pattern.freeSlots": "Freie Plätze im {0}-Muster",
|
|
352
|
+
"pattern.label": "Muster",
|
|
353
|
+
"pattern.manualInstead": "von Hand statt {0}",
|
|
354
|
+
"pattern.missing": "{0} fehlt",
|
|
355
|
+
"pattern.noMatch": "kein Muster passt zu „{0}“",
|
|
356
|
+
"pattern.noPlaceBecauseType": "Das {0}-Muster greift gerade nicht: {1} verlangt {2}, eingestellt ist {3}. Deshalb hat keine Zeile einen Platz.",
|
|
357
|
+
"pattern.noPlaceLegend": "So hinterlegte Zeilen haben keinen Platz im {0}-Muster",
|
|
358
|
+
"pattern.noPlaceLong": "kein Platz im {0}-Muster — der Punkt wird trotzdem angelegt und ist voll benutzbar, nur Alexa & Co. zählen ihn separat",
|
|
359
|
+
"pattern.notDetected": "nicht erkannt",
|
|
360
|
+
"pattern.offCandidate": "{0} passt auf {1}, ist aber nicht angehakt.",
|
|
361
|
+
"pattern.offCandidateType": "{0} passt mit seiner Rolle auf {1}, ist aber nicht angehakt und hat den Typ {2} statt {3}.",
|
|
362
|
+
"pattern.offGuess": "Mit „{0}“ würde es greifen.",
|
|
363
|
+
"pattern.offMissing": "Das {0}-Muster greift gerade nicht: {1} fehlt. Deshalb hat keine Zeile einen Platz.",
|
|
364
|
+
"pattern.orRole": "oder {0}",
|
|
365
|
+
"pattern.pointsTaken": "✓ {0} Punkte",
|
|
366
|
+
"pattern.required": "PFLICHT — fehlt",
|
|
367
|
+
"pattern.search": "tippen zum Suchen …",
|
|
368
|
+
"pattern.slotHeldBy": "{0} hat schon {1} — diese Zeile bekommt so keinen Platz. Oben unter „Platz im Muster“ einen freien Platz wählen.",
|
|
369
|
+
"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.",
|
|
370
|
+
"pattern.slotsTaken": "✓ {0}/{1} belegt",
|
|
371
|
+
"pattern.tickIt": "anhaken",
|
|
372
|
+
"pattern.tickItType": "anhaken, {0}",
|
|
373
|
+
"pattern.toSlot": " → Platz {0} im {1}-Muster",
|
|
374
|
+
"pattern.typeMismatch": "Der Platz {0} verlangt {1}, eingestellt ist {2} — so fällt der Punkt aus dem Muster, auch wenn die Rolle stimmt.",
|
|
375
|
+
"pattern.typeOr": " oder ",
|
|
376
|
+
"pattern.usualOnly": "nur die üblichen",
|
|
377
|
+
"pattern.viaRole": "Rolle {0}",
|
|
378
|
+
"result.allAnyway": "Trotzdem alle ",
|
|
379
|
+
"result.channelsHint": "Dieses Gerät hat {0} Kanäle. Unten kannst du wählen: alles flach in einem Alias, oder die Struktur der Quelle übernehmen — ein Ordner für das Gerät, darunter je Kanal einer.",
|
|
380
|
+
"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.",
|
|
381
|
+
"result.header": "Was der type-detector daraus macht",
|
|
382
|
+
"result.newlyCreated": "wird neu angelegt",
|
|
383
|
+
"result.noObjectShort": "kein Objekt",
|
|
384
|
+
"result.pickSource": "Wohin springen?",
|
|
385
|
+
"result.pointsFromBranches": "{0} Datenpunkte aus {1} Zweigen. ",
|
|
386
|
+
"result.sourceCount": "{0} Quellen",
|
|
387
|
+
"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.",
|
|
388
|
+
"result.sourceGone": "Die Quelle {0} gibt es nicht mehr.",
|
|
389
|
+
"result.sourceGone1": "1 Punkt zeigt ins Leere",
|
|
390
|
+
"result.sourceGoneN": "{0} Punkte zeigen ins Leere",
|
|
391
|
+
"result.states": "{0} Zustände",
|
|
392
|
+
"result.statesDirect": "{0} Zustände ({1} direkt)",
|
|
393
|
+
"result.toAlias": "zum Alias",
|
|
394
|
+
"result.toAliasHint": "Springt auf den Alias, der aus diesem Gerät gebaut wurde.",
|
|
395
|
+
"result.toSource": "zur Quelle",
|
|
396
|
+
"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.",
|
|
397
|
+
"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.",
|
|
398
|
+
"roles.leadsTo": "→ Platz {0}",
|
|
399
|
+
"roles.noMatch": "nichts gefunden zu „{0}“",
|
|
400
|
+
"roles.patternOnly": "nur die Muster-Rollen zeigen",
|
|
401
|
+
"roles.search": "Rolle suchen …",
|
|
402
|
+
"roles.showAll": "alle {0} Rollen anzeigen",
|
|
403
|
+
"roles.slot": "Platz {0} im {1}-Muster",
|
|
404
|
+
"roles.slotFree": "frei",
|
|
405
|
+
"roles.slotTaken": "belegt von {0}",
|
|
406
|
+
"swap.blocked": "Erst entscheiden — diese Punkte können nicht mitziehen: {0}. Entweder beim Tauschen entfernen oder den Tausch lassen; ein Punkt, der schreiben soll, braucht ein Schreibziel.",
|
|
407
|
+
"swap.button": "Quelle tauschen …",
|
|
408
|
+
"swap.diffRange": "Wertebereich {0} → {1}",
|
|
409
|
+
"swap.diffType": "Typ {0} → {1}",
|
|
410
|
+
"swap.diffUnit": "Einheit {0} → {1}",
|
|
411
|
+
"swap.done": "Getauscht. Der Alias liest jetzt aus {0}.",
|
|
412
|
+
"swap.from": "Liest heute aus:",
|
|
413
|
+
"swap.goHigher": "eine Ebene höher nehmen",
|
|
414
|
+
"swap.gone": "Dieses Gerät gibt es nicht mehr — genau dafür ist dieser Weg gedacht.",
|
|
415
|
+
"swap.guessHint": "Die mit „vermutet“ gekennzeichneten Zeilen sind über Namen oder Rolle geraten — die bitte einzeln prüfen.",
|
|
416
|
+
"swap.guessedByName": "Über den Punktnamen geraten: unter der neuen Quelle heißt ebenfalls etwas „{0}\". Das kann weit danebenliegen — bitte prüfen.",
|
|
417
|
+
"swap.guessedByRole": "Über die Rolle geraten: unter der neuen Quelle trägt ein Punkt dieselbe Rolle „{0}\". Bitte prüfen.",
|
|
418
|
+
"swap.higherLevel": "Eine Ebene höher ({0}) finden {1} von {2} Punkten ein Ziel, hier nur {3}.",
|
|
419
|
+
"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.",
|
|
420
|
+
"swap.mapping": "Zuordnung",
|
|
421
|
+
"swap.mind": "Darauf achten:",
|
|
422
|
+
"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.",
|
|
423
|
+
"swap.noDevice": "Kein Gerät gefunden.",
|
|
424
|
+
"swap.noMatch": "kein passender Punkt gefunden",
|
|
425
|
+
"swap.noWriteMatch": "kein Schreibziel gefunden — dieser Punkt schreibt danach nirgendwohin",
|
|
426
|
+
"swap.now": "Jetzt tauschen",
|
|
427
|
+
"swap.pickFirst": "Erst eine neue Quelle wählen.",
|
|
428
|
+
"swap.removeIt": "diesen Punkt beim Tauschen entfernen",
|
|
429
|
+
"swap.same": "Das ist dieselbe Quelle wie bisher.",
|
|
430
|
+
"swap.search": "Suchen (Kennung oder Name) …",
|
|
431
|
+
"swap.title": "Quelle tauschen",
|
|
432
|
+
"swap.to": "Neue Quelle",
|
|
433
|
+
"swap.unchanged": "unverändert",
|
|
434
|
+
"swap.unknown": "(nicht ermittelbar)",
|
|
435
|
+
"target.alsoRoom": "Raum auch auf „{0}\" setzen?",
|
|
436
|
+
"target.alsoRoomNew": "Raum „{0}\" gibt es nicht — anlegen und zuordnen?",
|
|
437
|
+
"target.clearField": "Feld leeren",
|
|
438
|
+
"target.exists": "gibt es schon",
|
|
439
|
+
"target.folder": "Ablegen unter",
|
|
440
|
+
"target.folderHint": "Unterordner mit Punkt trennen, z. B. Haus.EG.Küche",
|
|
441
|
+
"target.folderPlaceholder": "leer = direkt unter alias.0",
|
|
442
|
+
"target.moveInstead": "stattdessen verlegen …",
|
|
443
|
+
"target.moveInsteadHint": "Den vorhandenen Alias auf die neue Kennung verlegen, statt einen zweiten daneben anzulegen.",
|
|
444
|
+
"target.name": "Name",
|
|
445
|
+
"target.openFolder": "„{0}\" öffnen",
|
|
446
|
+
"target.twinExists": "Für diese Quelle gibt es schon {0} — der bleibt stehen.",
|
|
447
|
+
"target.yes": "ja",
|
|
448
|
+
"tpl.applyTemplate": "Werte der Vorlage übernehmen ({0})",
|
|
449
|
+
"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.",
|
|
450
|
+
"tpl.choose": "— Vorlage wählen —",
|
|
451
|
+
"tpl.contains": "{0} enthält {1}",
|
|
452
|
+
"tpl.fits": "passt",
|
|
453
|
+
"tpl.fitsNot": "✕ {0}",
|
|
454
|
+
"tpl.forbiddenThere": "{0} ist vorhanden, darf aber nicht sein",
|
|
455
|
+
"tpl.forced": "erzwungen",
|
|
456
|
+
"tpl.forcedHint": "Die Erkennung springt bei dieser Vorlage nicht an — von Hand gewählt.",
|
|
457
|
+
"tpl.identifiedAs": "Identifiziert als: {0}",
|
|
458
|
+
"tpl.label": "Vorlage",
|
|
459
|
+
"tpl.manuallyChosen": "von Hand gewählt",
|
|
460
|
+
"tpl.missingPoint": "{0} fehlt",
|
|
461
|
+
"tpl.nameHint": "Name passt zu „{0}\" — nicht aus MQTT erkennbar",
|
|
462
|
+
"tpl.noJson": "{0} liefert kein JSON",
|
|
463
|
+
"tpl.noNameHint": "Name gibt keinen Hinweis — „{0}\" ist die Vorgabe, aus MQTT sind sie nicht unterscheidbar",
|
|
464
|
+
"tpl.noOutputs": "keine Ausgänge gefunden",
|
|
465
|
+
"tpl.none": "— keine Vorlage —",
|
|
466
|
+
"tpl.noneDetected": "Keine Vorlage erkannt",
|
|
467
|
+
"tpl.nor": " noch in ",
|
|
468
|
+
"tpl.output": "Ausgang",
|
|
469
|
+
"tpl.outputsFound": "Ausgänge gefunden: {0}",
|
|
470
|
+
"tpl.own": "eigene",
|
|
471
|
+
"tpl.possibleIn": "{0} kann das Gerät (Punkt noch nicht angelegt)",
|
|
472
|
+
"tpl.presentIn": "{0} vorhanden",
|
|
473
|
+
"tpl.remembered": "gemerkt",
|
|
474
|
+
"tpl.rememberedHint": "Dieser Alias ist aus dieser Vorlage entstanden — sie bleibt, bis du sie ausdrücklich umstellst.",
|
|
475
|
+
"tpl.showAllPoints": "Alle Datenpunkte des Geräts laden",
|
|
476
|
+
"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.",
|
|
477
|
+
"tpl.showProposal": "Vorschlag der Vorlage laden",
|
|
478
|
+
"tpl.showProposalHelp": "Zurück zu dem, was die Vorlage für dieses Gerät vorschlägt.",
|
|
479
|
+
"tpl.skippedChip": "{0} ohne Quelle",
|
|
480
|
+
"tpl.skippedEmpty": "„{0}“ hätte die höhere Punktzahl, baut an diesem Gerät aber keine einzige Zeile — übergangen",
|
|
481
|
+
"tpl.skippedHead": "{0} weggelassen, weil die Quelle fehlt",
|
|
482
|
+
"tpl.skippedNowhere": "{0}: weder in {1}",
|
|
483
|
+
"tpl.skippedSource": "{0}: {1} fehlt",
|
|
484
|
+
"tpl.skippedWhy": "{0}: {1}",
|
|
485
|
+
"tpl.whyNoField": "{0} hat kein Feld {1}",
|
|
486
|
+
"tpl.whyNoJson": "{0} liefert kein JSON",
|
|
487
|
+
"tpl.whyNoPoint": "{0} gibt es nicht",
|
|
488
|
+
"tpl.whyNone": "Warum keine Vorlage greift",
|
|
489
|
+
"tpl.whyThis": "Warum diese Vorlage",
|
|
490
|
+
"tpl.withoutField": "{0} ohne {1}",
|
|
491
|
+
"tpl.wouldNeed": "fehlt eigentlich: {0}",
|
|
492
|
+
"tpls.absolute": "festes Objekt",
|
|
493
|
+
"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.",
|
|
494
|
+
"tpls.absoluteTitle": "Ein Punkt zeigt auf ein festes Objekt. ",
|
|
495
|
+
"tpls.andMore": "… und {0} weitere, hier nicht aufgeführt",
|
|
496
|
+
"tpls.beats": "schlägt {0}",
|
|
497
|
+
"tpls.buildsNone": "passt nicht — keine Zeile findet ihre Quelle",
|
|
498
|
+
"tpls.button": "Als Vorlage speichern …",
|
|
499
|
+
"tpls.channelName": "Kanal je Ausgang",
|
|
500
|
+
"tpls.colDefault": "Vorgabe",
|
|
501
|
+
"tpls.colInTemplate": "in Vorlage",
|
|
502
|
+
"tpls.colName": "Name",
|
|
503
|
+
"tpls.colPath": "Pfad, relativ zum Gerät",
|
|
504
|
+
"tpls.colRequired": "muss da sein",
|
|
505
|
+
"tpls.content": "Inhaltsprüfungen",
|
|
506
|
+
"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“.",
|
|
507
|
+
"tpls.contentRow": "{0} muss {1} enthalten",
|
|
508
|
+
"tpls.contradiction": "So passt die Vorlage auf gar nichts.",
|
|
509
|
+
"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.",
|
|
510
|
+
"tpls.deviceType": "Gerätetyp",
|
|
511
|
+
"tpls.dropOff": "Ganz weglassen",
|
|
512
|
+
"tpls.dropOthers": "Fremde Ausgänge weglassen",
|
|
513
|
+
"tpls.droppedCount": "{0} Punkte weggelassen.",
|
|
514
|
+
"tpls.evidence": "{0} Belege",
|
|
515
|
+
"tpls.failed": "Speichern fehlgeschlagen:",
|
|
516
|
+
"tpls.fallbacks": "+{0} Ersatz",
|
|
517
|
+
"tpls.fitsNot": "{0}× passt nicht",
|
|
518
|
+
"tpls.function": "Funktion",
|
|
519
|
+
"tpls.head": "Kopfdaten",
|
|
520
|
+
"tpls.hits": "{0} Geräte getroffen, {1} davon gewonnen",
|
|
521
|
+
"tpls.id": "Kennung",
|
|
522
|
+
"tpls.idTaken": "Diese Kennung gehört schon „{0}“ (v{1}). Speichern würde sie ersetzen.",
|
|
523
|
+
"tpls.json": "Das wird gespeichert",
|
|
524
|
+
"tpls.loadFailed": "eigene Vorlagen nicht geladen",
|
|
525
|
+
"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.",
|
|
526
|
+
"tpls.lockBadHint": "Der Namenshinweis ist kein brauchbarer Ausdruck",
|
|
527
|
+
"tpls.lockIdTaken": "Die Kennung gehört schon „{0}“",
|
|
528
|
+
"tpls.lockNoId": "Die Kennung fehlt",
|
|
529
|
+
"tpls.lockNoRequired": "Kein Punkt ist als Pflicht angehakt — so passt die Vorlage auf gar nichts",
|
|
530
|
+
"tpls.lockNoRows": "Es ist keine Zeile übrig",
|
|
531
|
+
"tpls.lockedWhy": "Speichern ist gesperrt:",
|
|
532
|
+
"tpls.losesTo": "verliert gegen {0}",
|
|
533
|
+
"tpls.multiple": "Dieses Gerät hat mehrere Ausgänge",
|
|
534
|
+
"tpls.multipleHelp": "Die {0} in den Pfaden wird durch %N% ersetzt — nur am Ende eines Abschnitts, damit ENERGY.Power heil bleibt.",
|
|
535
|
+
"tpls.multipleNoNumber": "Trag ein, welche Zahl in den Pfaden der Ausgang ist. Ohne sie bleibt die Vorlage einfach.",
|
|
536
|
+
"tpls.multipleOff": "Ein Gerät mit POWER1, POWER2 … wird zu einem Ordner mit einem Kanal je Ausgang.",
|
|
537
|
+
"tpls.nameDe": "Name (deutsch)",
|
|
538
|
+
"tpls.nameEn": "Name (englisch)",
|
|
539
|
+
"tpls.nameHint": "Namenshinweis",
|
|
540
|
+
"tpls.nameHintBad": "Kein brauchbarer Ausdruck — er zählt als „trifft nicht“.",
|
|
541
|
+
"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}\".",
|
|
542
|
+
"tpls.needsRow": "passt nicht — {0} findet nichts",
|
|
543
|
+
"tpls.needsRowHint": "Eine Pflichtzeile der Vorlage findet an diesem Gerät ihre Quelle nicht — meist ein Feld, das es in der JSON-Nachricht dort nicht gibt. Die Vorlage tritt hier gar nicht erst an; den Platz bekommt die nächstbeste.",
|
|
544
|
+
"tpls.noFunction": "— keine —",
|
|
545
|
+
"tpls.noHits": "Trifft im Moment kein Gerät. Prüfe die Pflichtpunkte.",
|
|
546
|
+
"tpls.noInstance": "Instanz {0} nicht gefunden.",
|
|
547
|
+
"tpls.noRequired": "Kein Punkt ist als Pflicht angehakt — so passt die Vorlage auf gar nichts.",
|
|
548
|
+
"tpls.noType": "— keiner —",
|
|
549
|
+
"tpls.onlyOne": "einzige passende",
|
|
550
|
+
"tpls.otherOutputs": "{0} Punkte zeigen auf andere Ausgänge ({1}).",
|
|
551
|
+
"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.",
|
|
552
|
+
"tpls.pickDeviceFirst": "erst ein Gerät wählen",
|
|
553
|
+
"tpls.rank": "Rang",
|
|
554
|
+
"tpls.rowBuilt": "1 Zeile",
|
|
555
|
+
"tpls.rowsBuilt": "{0} Zeilen",
|
|
556
|
+
"tpls.saveAsNew": "Als neue Vorlage speichern",
|
|
557
|
+
"tpls.saveAsNewHint": "die bisherige bleibt, wie sie ist",
|
|
558
|
+
"tpls.saveNew": "Vorlage speichern",
|
|
559
|
+
"tpls.saveUpdate": "Vorlage aktualisieren",
|
|
560
|
+
"tpls.saved": "Vorlage \"{0}\" gespeichert, Version {1}.",
|
|
561
|
+
"tpls.savedWhere": "Sie liegt in der Instanzkonfiguration ({0}) und ist damit im Backup.",
|
|
562
|
+
"tpls.saving": "speichere …",
|
|
563
|
+
"tpls.shadowsPackage": "verdeckt dann die mitgelieferte",
|
|
564
|
+
"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.",
|
|
565
|
+
"tpls.states": "Datenpunkte",
|
|
566
|
+
"tpls.statesCount": "{0} Stück",
|
|
567
|
+
"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.",
|
|
568
|
+
"tpls.takesOver": "{0} wechseln die Vorlage",
|
|
569
|
+
"tpls.title": "Als Vorlage speichern — {0}",
|
|
570
|
+
"tpls.tryout": "Probelauf",
|
|
571
|
+
"tpls.undrop": "zurücknehmen",
|
|
572
|
+
"tpls.updateIt": "Vorlage \"{0}\" aktualisieren — sie wird Version {1}",
|
|
573
|
+
"tpls.whatToDo": "Was soll passieren",
|
|
574
|
+
"tpls.whichNumber": "Nummer dieses Ausgangs",
|
|
575
|
+
"tpls.wissen": "+ {0} weitere Punkte als Rollenwissen — greift in der Ansicht „Alle Datenpunkte des Geräts“",
|
|
576
|
+
"tree.aliases": "Alias bearbeiten",
|
|
577
|
+
"tree.collapseAll": "alles zuklappen",
|
|
578
|
+
"tree.emptyNode": "keine Datenpunkte — der Knoten steht in der Datenbank, ist aber leer",
|
|
579
|
+
"tree.expandAll": "alles aufklappen",
|
|
580
|
+
"tree.filter": "filtern …",
|
|
581
|
+
"tree.filterAria": "Objekte filtern",
|
|
582
|
+
"tree.loading": "lade Objekte …",
|
|
583
|
+
"tree.looksLikeDevice": "sieht wie ein einzelnes Gerät aus",
|
|
584
|
+
"tree.noObjectHint": "kein echter Ordner",
|
|
585
|
+
"tree.nothingFound": "nichts gefunden",
|
|
586
|
+
"tree.sourceGone": "{0} Punkt(e) dieses Alias zeigen auf eine Quelle, die es nicht gibt. Der js-controller merkt sich das dauerhaft — hilft nur löschen und neu anlegen.",
|
|
587
|
+
"tree.sources": "Alias anlegen",
|
|
588
|
+
"tree.templates": "Vorlagen",
|
|
589
|
+
"tv.addFallback": "Ersatzquelle hinzufügen",
|
|
590
|
+
"tv.addState": "Datenpunkt hinzufügen",
|
|
591
|
+
"tv.badContent": "„erkennung.inhalt“ muss ein Objekt sein.",
|
|
592
|
+
"tv.badList": "„{0}“ muss eine Liste von Punkten sein.",
|
|
593
|
+
"tv.badName": "Der Name muss ein Text oder ein Sprachobjekt sein.",
|
|
594
|
+
"tv.badNameHint": "Der Namenshinweis ist kein brauchbarer Ausdruck.",
|
|
595
|
+
"tv.badNoId": "Es fehlt die Kennung (id).",
|
|
596
|
+
"tv.badNoStates": "Es fehlen die Datenpunkte (zustaende).",
|
|
597
|
+
"tv.badNotObject": "Erwartet wird eine einzelne Vorlage als JSON-Objekt.",
|
|
598
|
+
"tv.badRecog": "„erkennung“ muss ein Objekt sein.",
|
|
599
|
+
"tv.badState": "{0} Datenpunkte ohne Namen oder ohne Lese- und Schreibpfad.",
|
|
600
|
+
"tv.badType": "Den Gerätetyp „{0}“ kennt dieser Detector nicht.",
|
|
601
|
+
"tv.clickRow": "Zeile anklicken, um den Punkt zu bearbeiten",
|
|
602
|
+
"tv.clickRowRead": "Zeile anklicken, um sie anzusehen — mitgelieferte Vorlagen lassen sich nicht ändern.",
|
|
603
|
+
"tv.delete": "Löschen",
|
|
604
|
+
"tv.deleteHint": "Verdeckt sie eine mitgelieferte Vorlage, kommt die danach wieder zum Vorschein.",
|
|
605
|
+
"tv.deleteSure": "Wirklich löschen",
|
|
606
|
+
"tv.detection": "Erkennung",
|
|
607
|
+
"tv.discard": "Änderungen verwerfen",
|
|
608
|
+
"tv.duplicate": "Duplizieren",
|
|
609
|
+
"tv.export": "Als Datei ausgeben",
|
|
610
|
+
"tv.fallback": "Ersatzquellen",
|
|
611
|
+
"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.",
|
|
612
|
+
"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.",
|
|
613
|
+
"tv.forbidden": "Darf es nicht geben",
|
|
614
|
+
"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.",
|
|
615
|
+
"tv.hide": "verbergen",
|
|
616
|
+
"tv.importAndSave": "Einlesen und speichern",
|
|
617
|
+
"tv.importBad": "Diese Datei ist keine Vorlage.",
|
|
618
|
+
"tv.importFile": "Einlesen …",
|
|
619
|
+
"tv.importNew": "Speichern legt \"{0}\" neu an.",
|
|
620
|
+
"tv.importReplaces": "Speichern ersetzt deine Vorlage \"{0}\" — Version {1} wird zu Version {2}.",
|
|
621
|
+
"tv.importShadows": "Speichern verdeckt die mitgelieferte Vorlage \"{0}\".",
|
|
622
|
+
"tv.importTitle": "Noch nichts gespeichert.",
|
|
623
|
+
"tv.imported": "eingelesen",
|
|
624
|
+
"tv.inTemplate": "in der Vorlage",
|
|
625
|
+
"tv.json": "Die Vorlage als JSON",
|
|
626
|
+
"tv.makeOwn": "Eigene Kopie zum Bearbeiten",
|
|
627
|
+
"tv.multi": "mehrere Ausgänge, je Ausgang ein Kanal {0}",
|
|
628
|
+
"tv.nameHintShort": "Entscheidet nur zwischen Vorlagen, die gleich gut passen. Mehrere Wörter mit | trennen.",
|
|
629
|
+
"tv.package": "mitgeliefert",
|
|
630
|
+
"tv.packageText": "Sie lässt sich nicht ändern — so bleibt sie immer der Auslieferungszustand. Duplizieren macht eine eigene Kopie, und die verdeckt das Original.",
|
|
631
|
+
"tv.packageTitle": "Mitgelieferte Vorlage.",
|
|
632
|
+
"tv.paneHead": "Die Vorlage und was sie fängt",
|
|
633
|
+
"tv.rank": "Rang {0}",
|
|
634
|
+
"tv.rankOwn": "Der Rang entscheidet nur zwischen deinen eigenen Vorlagen. Gegen eine mitgelieferte gewinnt deine ohnehin immer — dafür braucht sie keinen hohen Rang.",
|
|
635
|
+
"tv.rankPackage": "Der Rang entscheidet nur zwischen mitgelieferten Vorlagen, und auch dort erst, wenn Belege und Namenshinweis unentschieden sind.",
|
|
636
|
+
"tv.readOnlyRow": "Mitgelieferte Vorlage — zum Ändern „Eigene Kopie zum Bearbeiten\" anlegen.",
|
|
637
|
+
"tv.removeFallback": "entfernen",
|
|
638
|
+
"tv.removeState": "Diesen Punkt entfernen",
|
|
639
|
+
"tv.required2": "Muss es geben",
|
|
640
|
+
"tv.requiredCount": "{0} Pflichtpunkte",
|
|
641
|
+
"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.",
|
|
642
|
+
"tv.save": "Speichern",
|
|
643
|
+
"tv.show": "zeigen",
|
|
644
|
+
"tv.unsaved": "nicht gespeichert",
|
|
645
|
+
"use.again": "neu einlesen",
|
|
646
|
+
"use.aliasHead": "Der Alias",
|
|
647
|
+
"use.custom": "Aufzeichnung, Smart-Namen",
|
|
648
|
+
"use.enums": "Aufzählungen",
|
|
649
|
+
"use.files": "Dateien",
|
|
650
|
+
"use.head": "Wird genannt in",
|
|
651
|
+
"use.limits": "Gesucht wird im Klartext. Dateien nur in Instanzordnern (vis.0, vis-2.0, web.0 …) — die Oberflächen der Adapter bleiben draußen, sonst fände die Werkbank deren Beispiele und ihre eigenen Quelldateien. Nicht durchsucht werden Zustandswerte, und zusammengebaute Kennungen findet keine Textsuche.",
|
|
652
|
+
"use.look": "nachsehen",
|
|
653
|
+
"use.lookHint": "Sucht die Kennung des Alias und die seiner Quelle — in den Skripten, den Aufzählungen, den Einträgen am Punkt selbst, in allen geladenen Objekten und in den Dateien der Instanzordner. Wird erst auf Klick gemacht, weil dafür alles einmal gelesen wird.",
|
|
654
|
+
"use.none": "—",
|
|
655
|
+
"use.objects": "Objekte",
|
|
656
|
+
"use.otherAliases": "weitere Aliase darauf",
|
|
657
|
+
"use.scripts": "Skripte",
|
|
658
|
+
"use.searching": "wird gesucht …",
|
|
659
|
+
"use.sourceHead": "Die Quelle",
|
|
660
|
+
"use.sourceHint": "Dass die Quelle noch genannt wird, ist kein Fehler: ein Skript, das sie beschreibt, gehört genau dorthin. Ob eine Stelle auf den Alias umgestellt gehört, sagt nur der Blick hinein.",
|
|
661
|
+
"write.aliasNowAt": "Der Alias steht jetzt unter {0}.",
|
|
662
|
+
"write.cannotWrite": "So kann nicht geschrieben werden:",
|
|
663
|
+
"write.changes": "ändert sich",
|
|
664
|
+
"write.close": "Schließen",
|
|
665
|
+
"write.createAlias": "Alias erzeugen …",
|
|
666
|
+
"write.createAll": "Alle {0} erzeugen …",
|
|
667
|
+
"write.createAsOne": "als ein Gerät erzeugen …",
|
|
668
|
+
"write.createNamed": "{0} erzeugen …",
|
|
669
|
+
"write.createPerChannel": "Unterordner je Kanal, {0} Stück …",
|
|
670
|
+
"write.createSendPoints": "Die {0} fehlenden Sendepunkte anlegen",
|
|
671
|
+
"write.deselected": "abgewählt",
|
|
672
|
+
"write.diffNew": "danach",
|
|
673
|
+
"write.diffOld": "bisher",
|
|
674
|
+
"write.diffRaw": "Originalreihenfolge zeigen",
|
|
675
|
+
"write.diffSorted": "Felder ordnen",
|
|
676
|
+
"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.",
|
|
677
|
+
"write.done": "{0} Objekte geschrieben.",
|
|
678
|
+
"write.doneWithRemoved": "{0} Objekte geschrieben, {1} entfernt.",
|
|
679
|
+
"write.dryOutputs": " — {0} Ausgänge",
|
|
680
|
+
"write.dryTitleCreate": "Alias erzeugen — das würde entstehen",
|
|
681
|
+
"write.dryTitleDoneCreate": "Alias erzeugt",
|
|
682
|
+
"write.dryTitleDoneUpdate": "Alias aktualisiert",
|
|
683
|
+
"write.dryTitleFailed": "Nicht alles ist durchgegangen",
|
|
684
|
+
"write.dryTitleUpdate": "Alias aktualisieren — das würde entstehen",
|
|
685
|
+
"write.duplicateName": "{0}: Name kommt doppelt vor.",
|
|
686
|
+
"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.",
|
|
687
|
+
"write.failed": "{0} Vorgänge gingen schief:",
|
|
688
|
+
"write.new": "neu",
|
|
689
|
+
"write.noName": "Ein Punkt hat keinen Namen.",
|
|
690
|
+
"write.noSourceChosen": "{0}: keine Quelle gewählt.",
|
|
691
|
+
"write.noneSelected": "Es ist kein einziger Datenpunkt ausgewählt.",
|
|
692
|
+
"write.notInProposal": "nicht im Vorschlag",
|
|
693
|
+
"write.notUnderAlias": "{0} liegt nicht unter alias. — hier wird nichts geschrieben",
|
|
694
|
+
"write.now": "Jetzt anlegen",
|
|
695
|
+
"write.nowUpdate": "Jetzt aktualisieren",
|
|
696
|
+
"write.pickDeviceFirst": "erst ein Gerät wählen",
|
|
697
|
+
"write.remove": "Entfernen",
|
|
698
|
+
"write.removeCount": "Datenpunkte: {0}",
|
|
699
|
+
"write.removeHint": "liegen im Alias, kommen im Entwurf nicht mehr vor",
|
|
700
|
+
"write.retry": "Noch einmal versuchen",
|
|
701
|
+
"write.rowSource": "Quelle",
|
|
702
|
+
"write.rowTarget": "Ziel",
|
|
703
|
+
"write.sourceMissing": "{0}: Quelle {1} existiert nicht.",
|
|
704
|
+
"write.summaryTail": "{0} neu, {1} würden überschrieben",
|
|
705
|
+
"write.summaryTail3": "{0} neu, {1} ändern sich, {2} unverändert",
|
|
706
|
+
"write.unchanged": "unverändert",
|
|
707
|
+
"write.updateAlias": "Alias aktualisieren …",
|
|
708
|
+
"write.updateAsOne": "als ein Gerät aktualisieren …",
|
|
709
|
+
"write.updateNamed": "{0} aktualisieren …",
|
|
710
|
+
"write.willKeep": "bleiben stehen: {0}",
|
|
711
|
+
"write.willRemove": "entfernt: {0}",
|
|
712
|
+
"write.writeSourceMissing": "{0}: den Sendepunkt {1} gibt es noch nicht",
|
|
713
|
+
"write.writing": "schreibe …"
|
|
14
714
|
}
|