iobroker.alias-workbench 0.10.0 → 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.
Files changed (49) hide show
  1. package/README.md +39 -91
  2. package/admin/css/werkbank.css +15 -0
  3. package/admin/i18n/de.json +701 -1
  4. package/admin/i18n/en.json +701 -1
  5. package/admin/i18n/es.json +701 -1
  6. package/admin/i18n/fr.json +701 -1
  7. package/admin/i18n/it.json +701 -1
  8. package/admin/i18n/nl.json +701 -1
  9. package/admin/i18n/pl.json +701 -1
  10. package/admin/i18n/pt.json +701 -1
  11. package/admin/i18n/ru.json +701 -1
  12. package/admin/i18n/uk.json +701 -1
  13. package/admin/i18n/zh-cn.json +701 -1
  14. package/admin/js/ablage.js +118 -0
  15. package/admin/js/detail.js +64 -3
  16. package/admin/js/entwurf.js +116 -28
  17. package/admin/js/katalog.js +235 -40
  18. package/admin/js/mqtt.js +297 -27
  19. package/admin/js/musternamen.js +70 -26
  20. package/admin/js/objekte.js +2 -0
  21. package/admin/js/schreiben.js +3 -2
  22. package/admin/js/sprache.js +7 -8
  23. package/admin/js/vorlagen.js +8 -3
  24. package/admin/js/vorlagenblatt.js +228 -64
  25. package/admin/js/werte.js +294 -5
  26. package/admin/js/zielleiste.js +19 -10
  27. package/admin/js/zuordnung.js +8 -7
  28. package/admin/js/zustand.js +4 -0
  29. package/admin/js/zustandsliste.js +9 -2
  30. package/admin/vorlagen/hm-dimmer.json +32 -8
  31. package/admin/vorlagen/hm-fensterkontakt-hm.json +20 -5
  32. package/admin/vorlagen/hm-fensterkontakt-hmip.json +28 -7
  33. package/admin/vorlagen/hm-heizgruppe.json +38 -11
  34. package/admin/vorlagen/hm-heizkoerper.json +42 -12
  35. package/admin/vorlagen/hm-rollladen.json +28 -7
  36. package/admin/vorlagen/hm-schaltaktor-lampe.json +24 -6
  37. package/admin/vorlagen/hm-schaltaktor-mehrfach.json +32 -8
  38. package/admin/vorlagen/hm-schaltaktor-steckdose.json +24 -6
  39. package/admin/vorlagen/hm-temperatur-feuchte.json +8 -2
  40. package/admin/vorlagen/hm-wandthermostat.json +36 -9
  41. package/admin/vorlagen/messpunkt.json +40 -10
  42. package/admin/vorlagen/tasmota-lampe.json +48 -12
  43. package/admin/vorlagen/tasmota-mehrfach.json +40 -10
  44. package/admin/vorlagen/tasmota-rgb.json +36 -9
  45. package/admin/vorlagen/tasmota-steckdose.json +56 -14
  46. package/io-package.json +28 -15
  47. package/package.json +2 -2
  48. package/admin/sprachen/de.json +0 -685
  49. package/admin/sprachen/en.json +0 -685
@@ -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.": "La procedura guidata di configurazione dell’Admin lascia nel campo icona un semplice nome come «Playroom», che non rimanda più ad alcuna immagine e appare come un riquadro rotto. Con questa opzione attiva, il banco di lavoro lo sostituisce. Viene così sovrascritto un campo non vuoto: la simulazione lo indica espressamente.",
11
11
  "The Alias Workbench has no running process — everything happens in the Admin tab. These settings control how it writes.": "Il Banco di lavoro alias non ha alcun processo in esecuzione — tutto avviene nella scheda Admin. Queste impostazioni determinano come scrive.",
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.": "Il banco di lavoro li legge in fase di esecuzione dal bundle dell’Admin, anziché conservare una copia che invecchierebbe a ogni aggiornamento. Se ciò non riesce, gli elenchi di selezione mostrano solo ciò che esiste già: non è un errore, solo meno voci.",
13
- "Where the templates come from": "Da dove provengono i modelli"
13
+ "Where the templates come from": "Da dove provengono i modelli",
14
+ "app.connected": "connesso",
15
+ "app.detector": "rilevatore di caratteri",
16
+ "app.disconnected": "disconnesso",
17
+ "app.objectsCount": "{0} oggetti",
18
+ "app.patternsCount": "{0} modelli",
19
+ "app.subsCount": "{0} abbonamenti",
20
+ "app.subsCount1": "un abbonamento",
21
+ "app.subsHint": "Un abbonamento copre un intero ramo, non un singolo valore: un modello con un asterisco include tutti i punti sottostanti. Passando da un nodo all’altro, si annullano tutti gli abbonamenti precedenti; se il numero continua a crescere, uno viene tralasciato. Attualmente in osservazione:",
22
+ "app.templatesCount": "{0} modelli",
23
+ "app.title": "Alias Workbench",
24
+ "catalog.loadingText": "Una volta, dopo un aggiornamento amministrativo — il pacchetto occupa pochi megabyte. Successivamente il catalogo viene salvato e non verrà più scaricato.",
25
+ "catalog.loadingTitle": "Recupero dei modelli di amministrazione",
26
+ "catalog.missing": "Catalogo amministrativo non disponibile — solo voci esistenti",
27
+ "check.allDeliver": "tutte consegnano",
28
+ "check.allFine": "tutto a posto",
29
+ "check.allOk": "{0} ✓",
30
+ "check.button": "Assegni",
31
+ "check.canSend": "{0} i percorsi di scrittura sono corretti",
32
+ "check.cannotSend": "Impossibile inviare: {0}",
33
+ "check.checked": "{0} selezionato",
34
+ "check.duplicate": "Nessun punto duplicato",
35
+ "check.duplicateNone": "ognuno punta da qualche altra parte",
36
+ "check.duplicateSome": "indicano la stessa cosa: {0}",
37
+ "check.feedback": "il feedback arriva immediatamente",
38
+ "check.feedbackFast": "Immediatamente, SetOption59 è attivo",
39
+ "check.feedbackNone": "nessuna riga interessata — tutto letto da stat/…",
40
+ "check.feedbackSlow": "in ritardo: {0}",
41
+ "check.feedbackUnknown": "non selezionato: {0}",
42
+ "check.formulaYields": "la formula restituisce un risultato",
43
+ "check.hintCount": "note: {0}",
44
+ "check.noPatternFits": "nessun modello corrisponde",
45
+ "check.noWritePath": "no point scrive",
46
+ "check.notMqtt": "nessun percorso di scrittura MQTT",
47
+ "check.openCount": "{0} aperto",
48
+ "check.publish": "pubblica sul punto cmnd",
49
+ "check.rolesMakeDevice": "i ruoli definiscono un dispositivo",
50
+ "check.sendPointMissing": "Invia dato non ancora creato: {0}",
51
+ "check.sendUnknown": "L'oggetto non specifica se {0} possa pubblicare o meno: l'argomento è presente solo in `native`. È normale per ioBroker.mqtt e Sonoff.",
52
+ "check.sourceExists": "la fonte esiste",
53
+ "check.sourceHasValue": "la sorgente ha un valore",
54
+ "check.targetCan": "target è in grado di fare ciò che gli viene chiesto",
55
+ "check.targetCanFine": "tutto a posto",
56
+ "check.targetNoWrite": "{0}: la destinazione non è scrivibile",
57
+ "check.targetVoidFormula": "{0}: l'esecuzione della formula non produce alcun risultato, il valore di destinazione è {1}",
58
+ "check.title": "Controlli — sempre in esecuzione, senza mai toccare nulla",
59
+ "del.allOutputs": "Rimuovi tutte le uscite {0} di questo dispositivo",
60
+ "del.allOutputsHint": "Altrimenti il resto rimane indietro, abbandonato: {0}",
61
+ "del.alsoFunction": "Viene rimossa anche la funzione “{0}”, creata insieme a questo alias; in caso contrario, rimarrebbe vuota.",
62
+ "del.alsoRoom": "Viene rimossa anche la stanza “{0}”, creata insieme a questo alias; altrimenti rimarrebbe vuota.",
63
+ "del.button": "Rimuovi alias …",
64
+ "del.channelsBelow": "Attenzione: sotto questo elemento si trovano {0} canali propri, che verranno eliminati anch’essi.",
65
+ "del.count": "gli oggetti verranno rimossi: {0}",
66
+ "del.done": "Rimosso: {0} oggetti.",
67
+ "del.hint": "L'alias e tutti i dati sottostanti vengono eliminati. Le fonti rimangono inalterate: viene rimosso solo lo shell, non il dispositivo. Questa operazione non può essere annullata.",
68
+ "del.now": "Eliminare definitivamente",
69
+ "del.objects": "Ciò che scompare",
70
+ "del.scriptsHead": "Gli script {0} fanno riferimento a questo ID:",
71
+ "del.scriptsHead1": "In uno script viene menzionato questo ID:",
72
+ "del.scriptsHint": "Sono stati analizzati solo gli script dell'adattatore JavaScript, in formato testo semplice. Le visualizzazioni, le scene e le impostazioni degli altri adattatori non sono state prese in considerazione.",
73
+ "del.title": "Rimuovi alias",
74
+ "detail.aliasEmpty": "L'alias lascia questo campo vuoto.",
75
+ "detail.aliasHas": "L'alias presenta: ",
76
+ "detail.asDelivered": "così come consegnato",
77
+ "detail.attention": "Attenzione",
78
+ "detail.buttonNoRead": "Pulsante senza sorgente di lettura — non segue la lettura",
79
+ "detail.caption": "Didascalia",
80
+ "detail.captionHint": "diventa il nome visualizzato dello stato — visualizzato nell'area amministrativa, in VIS e ovunque vengano utilizzati i nomi al posto degli ID",
81
+ "detail.converted": "convertito dall'alias",
82
+ "detail.datapoint": "Dato",
83
+ "detail.decimals": "Decimali",
84
+ "detail.display": "Visualizza",
85
+ "detail.elsewhere": "(altrove)",
86
+ "detail.expects": "si aspetta {0}",
87
+ "detail.formula": "Leggi la formula",
88
+ "detail.formulaBroken": "la formula è errata",
89
+ "detail.formulaHint": "\"ON\"/\"OFF\" → il valore booleano viene determinato dall'alias stesso, senza bisogno di formule.",
90
+ "detail.formulaPlaceholder": "vuoto = mantenere il valore invariato",
91
+ "detail.formulaThrows": "errore di formula: {0}",
92
+ "detail.formulaTooSlow": "Questa formula ha richiesto {0} ms e non viene più eseguita. Ricaricando la scheda è possibile riprovare.",
93
+ "detail.jsonField": "Campo nel JSON",
94
+ "detail.matchesState": "✓ corrisponde allo stato",
95
+ "detail.name": "Nome",
96
+ "detail.namePlaceholder": "ad es. UNREACH",
97
+ "detail.nameTaken": "C'è già una riga con il nome {0}.",
98
+ "detail.noSource": "— fonte sconosciuta —",
99
+ "detail.noValue": "nessun valore",
100
+ "detail.noWrite": "— non scrivere —",
101
+ "detail.notWritable": "non scrivibile",
102
+ "detail.objectId": "ID oggetto",
103
+ "detail.otherObject": "… inserisci un altro oggetto",
104
+ "detail.ownFormula": "formula propria",
105
+ "detail.pickOne": "— Scegli —",
106
+ "detail.rawNothing": "— la fonte non fornisce alcuna informazione —",
107
+ "detail.rawValue": "Valore grezzo",
108
+ "detail.readIsButton": "pulsante",
109
+ "detail.readIsButtonHint": "Pulsante di ruolo con un target di scrittura: il datapoint dell’alias riceve il valore “read: false” e vis, Alexa e Matter lo visualizzano come un pulsante. La sorgente di lettura non comporta alcun problema: grazie ad essa, l’alias rileva ogni pressione, compresa quella sul pulsante fisico. Dopo una pressione, rimane l’ultimo valore, proprio come nella sorgente.",
110
+ "detail.readOnlySlotWrites": "{0} è di sola lettura nel modello — “scrive su” dovrebbe essere “— non scrivere —”, altrimenti il valore scritto viene inviato al dispositivo.",
111
+ "detail.readsFrom": "preleva da",
112
+ "detail.removePoint": "Elimina questo punto",
113
+ "detail.role": "Ruolo",
114
+ "detail.sameAsRead": "— come da lettura —",
115
+ "detail.separateHint": "Legge da una posizione diversa da quella in cui scrive: ciò che viene visualizzato è ciò che il dispositivo riporta, non l'ultimo comando inviato.",
116
+ "detail.slot": "Disporre secondo lo schema",
117
+ "detail.slotHint": "Imposta il ruolo, il tipo, l'unità e l'elenco dei valori come previsto dal modello per questa posizione. Il dato e il nome rimangono invariati.",
118
+ "detail.slotNone": "— nessun luogo —",
119
+ "detail.slotNotGiven": "{0} viene selezionato ma non assegnato — si veda la sezione “Ruolo” per sapere cosa non corrisponde (di solito il tipo).",
120
+ "detail.slotRequired": "obbligatorio",
121
+ "detail.sourceGone": "la fonte non esiste",
122
+ "detail.stateSays": "lo Stato afferma {0}",
123
+ "detail.states": "Elenco dei valori",
124
+ "detail.statesFromSource": "Prendi le {0} voci dalla fonte",
125
+ "detail.statesHint": "converte i numeri in testo — l'amministratore visualizza quindi un menu a tendina anziché un campo numerico, e alcuni slot di modello lo richiedono. Lasciare vuoto se non si desidera alcun elenco di valori.",
126
+ "detail.statesPlaceholder": "uno per riga: 0 = chiuso",
127
+ "detail.takeFromAlias": "Recupera questo valore dall'alias memorizzato",
128
+ "detail.takeOne": "Prendi questo valore dal modello",
129
+ "detail.targetNoWrite": "Il punto di destinazione presenta il valore \"write: false\": il suo adattatore non trasmette nulla al dispositivo. ioBroker memorizza comunque il valore, ma non accadrà nulla.",
130
+ "detail.targetTypeHint": "Il punto di destinazione è di tipo {0}. È esso a determinare quale parte della formula di scrittura viene mantenuta: i tipi “mixed” e “string” mantengono il testo, mentre i tipi “boolean” e “number” lo riconvertono.",
131
+ "detail.targetTypeVoid": "Il target è {0} e non accetta testo. La formula di scrittura genera invece del testo: il js-controller lo riconverte in {0} al momento della scrittura, quindi la formula non ha alcun effetto. La commutazione funziona comunque.",
132
+ "detail.tplWants": "Il modello richiede: ",
133
+ "detail.tplWantsEmpty": "Il modello lascia questo campo vuoto.",
134
+ "detail.type": "Tipo",
135
+ "detail.typeNumber": "numero",
136
+ "detail.unit": "Unità",
137
+ "detail.writeFormula": "Scrivi la formula",
138
+ "detail.writeFormulaHint": "converte nell'altro senso: ciò che il dispositivo dovrebbe ricevere una volta attivato.",
139
+ "detail.writeFormulaPlaceholder": "ad es. val ? \"ON\" : \"OFF\"",
140
+ "detail.writesTo": "scrive a",
141
+ "detail.yields": "rendimenti",
142
+ "detail.yieldsNothing": "non porta a nulla",
143
+ "diff.addedNoPlace": "segnato anche — non fa parte di {0}",
144
+ "diff.addedWithPlace": "spuntato anche — parte di {0}",
145
+ "diff.againstStored": "rispetto a quanto è memorizzato",
146
+ "diff.changes": "Modifiche",
147
+ "diff.deselectedNoPlace": "deselezionato — non avrebbe comunque fatto parte di {0}",
148
+ "diff.deselectedWithPlace": "deselezionato — parte di {0}",
149
+ "diff.deviations": "Discostamenti rispetto alla proposta",
150
+ "diff.formulaChange": "formula di lettura: {0} → {1}",
151
+ "diff.newByHand": "nuovo, aggiunto manualmente",
152
+ "diff.noName": "(senza nome)",
153
+ "diff.nothingExists": "ancora non esiste nulla di tutto ciò",
154
+ "diff.open": "{0} aperto",
155
+ "diff.points": "{0} punti",
156
+ "diff.roleChange": "ruolo: {0} → {1}",
157
+ "diff.sourceChange": "fonte: {0} → {1}",
158
+ "diff.unitChange": "unità: {0} → {1}",
159
+ "diff.wouldBeAdded": "spuntato — verrà aggiunto al momento dell'aggiornamento",
160
+ "diff.wouldBeRemoved": "deselezionato — è presente nell'alias e verrebbe rimosso",
161
+ "enums.addTo": "va dentro",
162
+ "enums.alsoFolder": "Salvare l'alias anche sotto \"{0}\"?",
163
+ "enums.clear": "rimuovi l'assegnazione",
164
+ "enums.function": "Funzione",
165
+ "enums.functionHint": "Assegna l'alias a una funzione, come ad esempio \"luce\" o \"riscaldamento\". Viene memorizzato anch'esso in un'enumerazione, non sull'oggetto.",
166
+ "enums.iconAdded": "verrà aggiunta l'icona",
167
+ "enums.iconNew": "Non c'è ancora nessuna immagine: il banco di lavoro la aggiungerà durante la scrittura",
168
+ "enums.iconNewMark": "nuovo",
169
+ "enums.iconThere": "L'immagine è stata salvata",
170
+ "enums.members": "{0} al suo interno",
171
+ "enums.newSuffix": "nuovo",
172
+ "enums.noMatch": "Nessun risultato trovato per \"{0}\"",
173
+ "enums.notLoadedField": "Non è stato possibile caricare le stanze e le funzioni — pertanto, le stanze e le funzioni non verranno registrate; l'alias viene comunque creato. Il Workbench effettua automaticamente tre tentativi; in caso contrario, ricaricare la scheda.",
174
+ "enums.nowEmpty": "dopo sarà vuoto e verrà rimosso",
175
+ "enums.placeholder": "vuoto = nessuna assegnazione",
176
+ "enums.removeFrom": "viene rimosso",
177
+ "enums.room": "Stanza",
178
+ "enums.roomHint": "Assegna l'alias a una stanza. Questo non viene memorizzato sull'oggetto, ma nell'enumerazione \"enum.rooms\": Alexa, Google e le dashboard effettuano il raggruppamento in base a questo.",
179
+ "enums.suggested": "suggerito",
180
+ "enums.unknown": "Enumerazioni non caricate — la stanza e la funzione rimangono invariate.",
181
+ "enums.unused": "vuoto",
182
+ "enums.willCreate": "crea nuovo",
183
+ "folder.aliasMissing": "mancante",
184
+ "folder.aliasThere": "esiste",
185
+ "folder.clickHint": "Clicca su un dispositivo per lavorarci. ",
186
+ "folder.clickHintText": "Un nodo viene considerato un dispositivo non appena viene individuato un modello corrispondente; in caso contrario, non viene effettuata alcuna ricerca. Se non vi sono corrispondenze, il nodo compare comunque nell'elenco non appena dispone di dati propri.",
187
+ "folder.colAlias": "Alias",
188
+ "folder.colDetected": "rilevato come",
189
+ "folder.colSource": "Fonte",
190
+ "folder.devices": "Dispositivi",
191
+ "folder.devicesBelow": "{0} dispositivi qui sotto · {1} punti dati",
192
+ "folder.found": "{0} risultati trovati",
193
+ "folder.nothingHere": "Qui non c'è nulla che possa diventare un dispositivo.",
194
+ "folder.withAlias": "{0} con alias",
195
+ "folder.withoutTemplate": "{0} senza modello",
196
+ "guess.alsoRow": "con suggerimenti: si adatta",
197
+ "guess.bar": "{0} slot indovinati — si prega di verificare",
198
+ "guess.better": "{0} potrebbe essere più adatto",
199
+ "guess.betterGoHint": "Passa a {0} e preme subito “{1}”. Ogni assegnazione viene quindi visualizzata come “indovinata” e va controllata una per una; è comunque possibile scartare le opzioni. Sul dispositivo non cambia nulla: vengono impostati solo i ruoli nella bozza.",
200
+ "guess.betterHint": "{0} raggiungerebbe {1} slot occupati, {2} solo {3} — entrambi i numeri dopo il suggerimento. Passa a questa opzione, quindi premi “Suggerisci slot liberi”; ogni assegnazione deve essere verificata.",
201
+ "guess.betterHintNone": "{0} raggiungerebbe {1} slot occupati dopo aver fornito i suggerimenti; {2} non si adatta nemmeno in quel caso. Passa a quello, quindi premi “Suggerisci slot liberi”; ogni assegnazione deve essere verificata.",
202
+ "guess.button": "Suggerisci slot gratuite",
203
+ "guess.drop": "scartare",
204
+ "guess.hint": "Riempie gli spazi vuoti del modello con i dati rimanenti: si tratta di un tentativo, non di una certezza. Le ipotesi vengono formulate in base al nome, all'elenco dei valori, all'unità e al tipo; ogni assegnazione viene contrassegnata come “ipotesi” e può essere scartata una per una.",
205
+ "guess.keep": "conservare",
206
+ "guess.keepAll": "conservare tutto",
207
+ "guess.locked": "{0}× ipotesi, ancora indeciso — prima scegliere se tenere (✓) o scartare (✕), poi sbloccare la creazione e il salvataggio.",
208
+ "guess.mark": "indovinato",
209
+ "guess.noneFit": "{0} rimane libero. Nessuno dei dati rimanenti corrisponde: la selezione avviene in base al nome, all'elenco dei valori, all'unità e al tipo, e nessuno di essi ha superato la soglia.",
210
+ "guess.noneFull": "Ogni spazio dello schema è occupato: non c'è più nulla da suggerire.",
211
+ "guess.noneHand": "{0} righe sono state definite manualmente e sono state lasciate invariate: {1}.",
212
+ "guess.noneHandOne": "{0} è stato deciso manualmente e viene lasciato così com'è.",
213
+ "guess.noneUsed": "{0} rimane libero. Ogni punto dati rimanente funge già da fonte di lettura o scrittura in una riga completa.",
214
+ "guess.slotsMore": "{0} e {1} in più",
215
+ "guess.tplAsk": "Questo dispositivo è identificato come “{0}”, quindi l'assegnazione è già stata definita. Il suggerimento completa gli spazi vuoti rimanenti utilizzando i dati disponibili: si tratta di un tentativo, non di una certezza, e ogni corrispondenza dovrebbe essere verificata. È destinato a casi particolari, ad esempio quando il dispositivo è in grado di svolgere più funzioni rispetto a quelle previste dal modello.",
216
+ "guess.tplGo": "Suggerisci comunque",
217
+ "guess.tplHint": "Il modello tiene già conto di questo dispositivo; la presente indicazione è prevista solo per casi particolari.",
218
+ "guess.tplTitle": "Consigliare slot gratuite nonostante il modello?",
219
+ "guess.undo": "Ignora i suggerimenti",
220
+ "help.aliases": "Seleziona un alias esistente sulla sinistra. Rimuovi punti, modifica ruoli, fonti e formule oppure spostalo, rinominalo ed eliminalo.",
221
+ "help.aliasesAdd": "Per aggiungere punti a un alias, è più semplice utilizzare il percorso “alla fonte →” (in alto a destra, accanto al nome dell’alias): lì si applica il modello e ogni punto dati del dispositivo viene proposto con un ruolo già definito — in questo caso, invece, dovresti inserirli uno per uno manualmente.",
222
+ "help.sources": "Seleziona un dispositivo o un canale a sinistra. Il workbench ne riconosce il tipo e propone un alias già pronto. Se ne esiste già uno, viene invece aggiornato.",
223
+ "help.templates": "Scegli un modello a sinistra. Quelli inclusi nel pacchetto possono essere visualizzati e duplicati, mentre quelli creati da te possono essere modificati. La versione di prova mostra con quali dispositivi è compatibile.",
224
+ "info.dlgTitle": "Non rientra nello schema {0}",
225
+ "info.explain": "funzionano perfettamente e rimangono dove li hai creati. Non viene scritto nulla in più: l’alias rimane così com’è. Semplicemente non fanno parte di ciò che ioBroker considera un {0}; il loro ruolo non corrisponde a nessuno dei suoi slot. La questione diventa rilevante solo quando si trasmette l’alias ad Alexa, Google Home o all’interfaccia utente di un dispositivo: questi vedranno un {0} privo di tali punti. In VIS, negli script e nella cronologia li si utilizza come qualsiasi altro dato.",
226
+ "info.more": "Cosa significa questo",
227
+ "leave.body": "Su {0} sono presenti delle modifiche che non sono state ancora salvate. Se si esegue il cambio ora, queste verranno perse.",
228
+ "leave.discard": "Eliminare e cambiare",
229
+ "leave.stay": "Resta qui",
230
+ "leave.title": "Modifiche non salvate",
231
+ "list.addByHand": "Aggiungi manualmente un dato",
232
+ "list.aliasDiffers": "è diverso dall'alias memorizzato",
233
+ "list.all": "tutti",
234
+ "list.buttonOnly": "solo scrittura",
235
+ "list.byHand": "a mano",
236
+ "list.changed": "modificato",
237
+ "list.colOn": "su",
238
+ "list.colRole": "Ruolo",
239
+ "list.colState": "Stato",
240
+ "list.colValue": "Valore",
241
+ "list.countOf": "{0} di {1}",
242
+ "list.createAria": "crea {0}",
243
+ "list.nameMissing": "nome mancante",
244
+ "list.newPoint": "nuovo punto",
245
+ "list.noRole": "— nessun ruolo —",
246
+ "list.ofDatapoints": "dati",
247
+ "list.onlyPattern": "solo ciò che rientra nello schema",
248
+ "list.onlyPatternHint": "Seleziona esattamente i punti che occupano uno spazio nello schema scelto; tutto il resto rimane deselezionato e non viene creato.",
249
+ "list.onlyWithValue": "solo con un valore",
250
+ "list.otherSource": "da {0}",
251
+ "list.otherSourceHint": "Questo punto non parte da {0}, ma da {1}.",
252
+ "list.reset": "ripristina",
253
+ "list.resetHint": "Elimina tutte le modifiche apportate in questa schermata — caselle di controllo, ruoli, formule, fonti — e mostra nuovamente lo stato così come era stato salvato.",
254
+ "list.sendPointMissing": "invia dato non ancora creato",
255
+ "list.sourceGone": "la fonte non esiste",
256
+ "list.sourceHint": "Questo punto parte da {0}.",
257
+ "list.sourceMissing": "fonte mancante",
258
+ "list.tpl": "modello",
259
+ "list.tplDiffers": "differisce dal modello",
260
+ "list.tplHint": "Verifica esattamente i punti indicati dal modello, indipendentemente dal valore attuale dell'alias.",
261
+ "list.willBeCreated": "verrà creato:",
262
+ "move.button": "Spostare …",
263
+ "move.done": "Spostato. L'alias si trova ora in {0}.",
264
+ "move.exists": "{0} esiste già. Eliminalo prima oppure scegli un altro nome.",
265
+ "move.from": "da",
266
+ "move.needName": "È necessario inserire un nome.",
267
+ "move.nested": "Il bersaglio si trova sotto l'alias stesso (o viceversa). Spostandolo si eliminerebbe il nodo padre; si prega di scegliere una posizione accanto ad esso.",
268
+ "move.newFolder": "nuova cartella",
269
+ "move.noFolder": "(nessuna cartella — direttamente sotto alias.0)",
270
+ "move.noScripts": "L'ID non compare in nessun script.",
271
+ "move.now": "Agisci subito",
272
+ "move.scriptLines": "riga {0}",
273
+ "move.scriptLinesN": "righe {0}",
274
+ "move.scriptOff": "disabile",
275
+ "move.scriptsHead": "{0} script riportano il vecchio ID:",
276
+ "move.scriptsHead1": "In uno script viene menzionato il vecchio ID:",
277
+ "move.title": "Sposta alias",
278
+ "move.to": "a",
279
+ "move.unchanged": "Cartella e nome invariati — non c'è nulla da fare.",
280
+ "move.warnHistory": "Viene trasferita solo l'impostazione che abilita la registrazione. Da questo momento in poi, sotto il nuovo ID ha inizio una nuova serie vuota. Tutto ciò che è stato registrato finora rimane nel database con il vecchio ID: non va perso, ma non verrà più aggiornato. I grafici e le query Grafana che fanno riferimento al vecchio ID non ricevono nuovi dati; se puntano a quello nuovo, non riportano la cronologia.",
281
+ "move.warnHistoryHead": "I valori registrati non vengono trasferiti.",
282
+ "move.warnRefs": "Per quanto riguarda le visualizzazioni, i nomi su Alexa e Google e altri adattatori non possono essere controllati. Tutto ciò che rimanda al vecchio ID deve essere modificato manualmente.",
283
+ "move.warnRefsHead": "Cos’altro è collegato al vecchio ID?",
284
+ "move.willMove": "verrà spostato",
285
+ "move.with": "con",
286
+ "mq.andMore": "… e {0} in più",
287
+ "mq.ask": "Chiedi al dispositivo",
288
+ "mq.askError": "L'operazione non è andata a buon fine: {0}",
289
+ "mq.askGotAnswer": "Il dispositivo ha risposto — comandi trovati: {0}",
290
+ "mq.askHint": "Si tratta di una semplice query: non modifica nulla né cambia alcuna impostazione.",
291
+ "mq.askNoAnswer": "Nessuna risposta. O il dispositivo è offline, oppure è in ascolto su un argomento diverso.",
292
+ "mq.askOffline": "Il dispositivo non sta trasmettendo dati in questo momento: una richiesta non riceverà quindi risposta.",
293
+ "mq.askedDays": "domanda posta {0} giorni fa",
294
+ "mq.askedHours": "domanda posta {0} ore fa",
295
+ "mq.askedMinutes": "domanda posta {0} minuti fa",
296
+ "mq.asking": "chiedendo al dispositivo",
297
+ "mq.commandsFrom": "Comandi, letti da {0}",
298
+ "mq.createdBy": "creato da Alias Workbench",
299
+ "mq.dialogTitle": "Crea punti di invio",
300
+ "mq.done": "{0} oggetti salvati.",
301
+ "mq.doneHint": "La rilevazione ripartirà tra un attimo: un modello che prima non corrispondeva potrebbe ora risultare corrispondente.",
302
+ "mq.duplicate": "uguale a {0}",
303
+ "mq.fix": "Crea punti di invio …",
304
+ "mq.instant": "Feedback immediato",
305
+ "mq.instantCheck": "chiedere",
306
+ "mq.instantChecking": "chiedendo",
307
+ "mq.instantEnable": "Abilita",
308
+ "mq.instantEnabling": "abilitazione",
309
+ "mq.instantHintOff": "Senza SetOption59, il dispositivo invia i dati solo secondo il proprio ciclo di telemetria. {0} legge da tele/… e continua a visualizzare il valore precedente fino a quel momento, anche dopo la commutazione. L'attivazione di questa opzione costituisce un'impostazione permanente del dispositivo: non commuta nulla, ma modifica solo la frequenza con cui il dispositivo invia i dati.",
310
+ "mq.instantHintOffTakt": "Senza SetOption59, il dispositivo invia i dati solo ogni {1} secondi. {0} letture da tele/… e continua a visualizzare il valore precedente dopo la commutazione fino a quel momento. L'attivazione di questa opzione è un'impostazione permanente del dispositivo: non commuta nulla e modifica solo la frequenza con cui il dispositivo invia i dati.",
311
+ "mq.instantHintOn": "L'opzione SetOption59 è attivata: il dispositivo segnala ogni variazione immediatamente, non solo con il successivo aggiornamento telemetrico. Misurato a intervalli di tre secondi.",
312
+ "mq.instantHintUnknown": "Il dispositivo non è stato ancora interpellato. Il comando \"Ask\" invia una query vuota a SetOption59: non modifica nulla.",
313
+ "mq.instantOff": "spento",
314
+ "mq.instantOffShort": "ritardo nel feedback",
315
+ "mq.instantOn": "abilitato",
316
+ "mq.instantUnknown": "sconosciuto",
317
+ "mq.intro": "Non tutti i dispositivi Tasmota sono configurati allo stesso modo. Un punto mancante o inattivo non costituisce di per sé un errore: diventa rilevante solo quando un alias deve passare attraverso di esso o quando un modello ne ha bisogno per il rilevamento.",
318
+ "mq.justAsked": "chieduto proprio ora",
319
+ "mq.missing": "{0} Punti di invio mancanti",
320
+ "mq.missingIp": "L'indirizzo IP del dispositivo è sconosciuto: compare solo in tele/INFO2 (inviato una volta all'avvio) o in stat/STATUS5 (solo su richiesta).",
321
+ "mq.missingPeriod": "Il periodo di telemetria è sconosciuto: il dispositivo non lo comunica mai di propria iniziativa, ma solo su richiesta.",
322
+ "mq.mute": "{0} non può inviare",
323
+ "mq.neverReported": "Il dispositivo non ha trasmesso tutti i dati dal momento in cui è stato avviato, pertanto l'elenco dei comandi non è noto.",
324
+ "mq.newPoints": "Da creare",
325
+ "mq.nothingYet": "Il dispositivo non ha ancora inviato nulla da cui sia possibile leggere i comandi.",
326
+ "mq.nowValue": "attualmente:",
327
+ "mq.offline": "offline",
328
+ "mq.onlyResult": "Finora è arrivata solo la risposta a un singolo comando, non lo stato completo: l'elenco potrebbe essere incompleto.",
329
+ "mq.repair": "Presente ma muto",
330
+ "mq.repairHint": "Questi punti esistono, ma non è consentito inviarli. Un alias che li attraversa non produce alcun effetto e non si nota nulla al riguardo.",
331
+ "mq.rowAllow": "consentire l'invio",
332
+ "mq.rowCreate": "crea",
333
+ "mq.rowWorking": "…",
334
+ "mq.selectedOf": "{0} su {1} selezionati",
335
+ "mq.silent": "mancata segnalazione",
336
+ "mq.split": "da {0} rami",
337
+ "mq.splitHint": "Questo dispositivo non si trova sotto un unico nodo, ma è distribuito su {0} rami: è così che l'adattatore MQTT lo memorizza quando il FullTopic del dispositivo è \"%prefix%/%topic%/\" (impostazione di fabbrica di Tasmota). Il Workbench considera i rami come un unico dispositivo; i punti vengono creati sotto il dispositivo, non accanto ad esso.",
338
+ "mq.stFine": "attualmente, invia",
339
+ "mq.stMissing": "manca un punto",
340
+ "mq.stMute": "non riesco a inviare",
341
+ "mq.stOff": "presente, ma spento",
342
+ "mq.stUnknown": "presente, invio sconosciuto",
343
+ "mq.title": "Dispositivo MQTT",
344
+ "mq.unknownCommand": "comando sconosciuto",
345
+ "mq.write": "Crea ({0})",
346
+ "pattern.allPatterns": "tutti i modelli {0}",
347
+ "pattern.doesNotFit": "✕ non va bene",
348
+ "pattern.expectsType": ", si prevede {0}",
349
+ "pattern.fitsNotType": "✕ {0}: digita {1} al posto di {2}",
350
+ "pattern.fitsOn": "partite ",
351
+ "pattern.freeSlots": "Slot liberi secondo lo schema {0}",
352
+ "pattern.label": "Motivo",
353
+ "pattern.manualInstead": "a mano invece di {0}",
354
+ "pattern.missing": "{0} mancante",
355
+ "pattern.noMatch": "nessun modello corrisponde a \"{0}\"",
356
+ "pattern.noPlaceBecauseType": "Il modello {0} non è applicabile al momento: {1} richiede {2}, ma {3} è impostato. Ecco perché nessuna riga ha uno slot.",
357
+ "pattern.noPlaceLegend": "Le righe ombreggiate in questo modo non presentano alcuno slot nel modello {0}",
358
+ "pattern.noPlaceLong": "nessuno slot nel modello {0} — il punto viene comunque creato ed è pienamente utilizzabile, solo che Alexa e gli altri lo contano separatamente",
359
+ "pattern.notDetected": "non rilevato",
360
+ "pattern.offCandidate": "{0} corrisponde a {1}, ma non è selezionato.",
361
+ "pattern.offCandidateType": "{0} corrisponde a {1} in base al suo ruolo, ma non è selezionato e ha il tipo {2} anziché {3}.",
362
+ "pattern.offGuess": "Con “{0}” funzionerebbe.",
363
+ "pattern.offMissing": "Il modello {0} non è applicabile al momento: manca {1}. Ecco perché nessuna riga presenta uno slot.",
364
+ "pattern.orRole": "oppure {0}",
365
+ "pattern.pointsTaken": "✓ {0} punti",
366
+ "pattern.required": "OBBLIGATORIO — mancante",
367
+ "pattern.search": "digita per cercare …",
368
+ "pattern.slotHeldBy": "{1} contiene già {0} — in questo modo questa riga non trova posto. Scegli uno spazio libero nella sezione “Posiziona secondo lo schema” qui sopra.",
369
+ "pattern.slotName": "Questo punto si trova nello slot \"{0}\" del modello {1}. I nomi degli slot provengono dal rilevatore di tipi e sono gli stessi ovunque: non vengono tradotti, poiché il punto dati alias si chiama proprio così.",
370
+ "pattern.slotsTaken": "✓ {0}/{1} compilato",
371
+ "pattern.tickIt": "spuntalo",
372
+ "pattern.tickItType": "spuntalo, {0}",
373
+ "pattern.toSlot": " → slot {0} nello schema {1}",
374
+ "pattern.typeMismatch": "Lo slot {0} richiede {1}, ma è impostato {2} — lo stato non rientra nello schema anche se il ruolo è corretto.",
375
+ "pattern.typeOr": " oppure ",
376
+ "pattern.usualOnly": "solo quelli di sempre",
377
+ "pattern.viaRole": "ruolo {0}",
378
+ "result.allAnyway": "Comunque sia ",
379
+ "result.channelsHint": "Questo dispositivo ha {0} canali. Scegli tra le opzioni seguenti: tutto in un unico alias, oppure rispecchiare la struttura della sorgente — una cartella per il dispositivo, con un canale per ciascuna sotto di essa.",
380
+ "result.extraSwitches": "Inclusi: {0} punti provenienti da altri canali per i quali il modello {1} non prevede uno slot. Vengono creati, ma non vengono conteggiati come commutazione o feedback del dispositivo. Per un controllo separato, utilizzare l'opzione \"un dispositivo per canale\" riportata di seguito.",
381
+ "result.header": "Come lo interpreta il rilevatore di caratteri",
382
+ "result.newlyCreated": "verrà creato",
383
+ "result.noObjectShort": "senza complemento oggetto",
384
+ "result.pickSource": "Dove saltare?",
385
+ "result.pointsFromBranches": "{0} dati provenienti da {1} rami. ",
386
+ "result.sourceCount": "{0} fonti",
387
+ "result.sourceCountHint": "I collegamenti di questo alias rimandano a più di un nodo. \"Alla fonte\" porta a quello da cui proviene la maggior parte di essi; cliccandoci sopra vengono visualizzati tutti.",
388
+ "result.sourceGone": "La fonte {0} non esiste più.",
389
+ "result.sourceGone1": "1 punto non porta da nessuna parte",
390
+ "result.sourceGoneN": "{0} punti non portano da nessuna parte",
391
+ "result.states": "{0} Stati",
392
+ "result.statesDirect": "{0} Stati (di cui {1} direttamente)",
393
+ "result.toAlias": "all'alias",
394
+ "result.toAliasHint": "Passa all'alias creato a partire da questo dispositivo.",
395
+ "result.toSource": "alla fonte",
396
+ "result.toSourceHint": "Passa al dispositivo da cui è stato creato questo alias. I modelli si applicano solo lì: in modalità alias è possibile gestire un alias, ma non ricrearlo da un modello.",
397
+ "result.tooManyStates": "Si tratterebbe di un dispositivo con {0} stati — di solito ciò significa che è stato selezionato il nodo sbagliato. Nell'albero a sinistra, i nodi che sembrano un singolo dispositivo sono contrassegnati da un punto. È comunque possibile costruirlo in questo modo.",
398
+ "roles.leadsTo": "→ slot {0}",
399
+ "roles.noMatch": "nessuna corrispondenza per “{0}”",
400
+ "roles.patternOnly": "mostra solo i ruoli del modello",
401
+ "roles.search": "cerca ruolo …",
402
+ "roles.showAll": "Mostra tutti i {0} ruoli",
403
+ "roles.slot": "slot {0} nel modello {1}",
404
+ "roles.slotFree": "gratis",
405
+ "roles.slotTaken": "scattata da {0}",
406
+ "swap.blocked": "Decidi prima di tutto: questi punti non possono essere inclusi: {0}. O li rimuovi durante lo scambio oppure lasci lo scambio così com'è; un punto destinato alla scrittura necessita di una destinazione di scrittura.",
407
+ "swap.button": "Sostituisci il codice sorgente …",
408
+ "swap.diffRange": "intervallo {0} → {1}",
409
+ "swap.diffType": "tipo {0} → {1}",
410
+ "swap.diffUnit": "unità {0} → {1}",
411
+ "swap.done": "Scambiato. L'alias ora legge da {0}.",
412
+ "swap.from": "Attualmente legge da:",
413
+ "swap.goHigher": "utilizza il livello superiore",
414
+ "swap.gone": "Questo dispositivo non esiste più — ed è proprio a questo che serve.",
415
+ "swap.guessHint": "Le righe contrassegnate con la dicitura “ipotetico” sono state abbinate in base al nome o al ruolo: si prega di verificarle una per una.",
416
+ "swap.guessedByName": "Come si può intuire dal nome del punto: anche qualcosa nella nuova fonte si chiama \"{0}\". Potrebbe trattarsi di qualcosa di completamente diverso — ti prego di verificare.",
417
+ "swap.guessedByRole": "Come si intuisce dal ruolo: un punto sotto la nuova fonte ha lo stesso ruolo \"{0}\". Si prega di verificare.",
418
+ "swap.higherLevel": "Un livello più in alto ({0}) individua un bersaglio per {1} dei {2} punti; in questo caso solo {3}.",
419
+ "swap.keeps": "L'alias mantiene il proprio ID, i nomi, i ruoli e le formule, la cronologia nel database, nonché la stanza e la funzione. Cambia solo la provenienza e la destinazione di ogni lettura e scrittura.",
420
+ "swap.mapping": "Mappatura",
421
+ "swap.mind": "Attenzione:",
422
+ "swap.mindHint": "Le formule degli alias rimangono invariate: se la nuova sorgente viene ridimensionata in modo diverso, i valori risultanti saranno errati. La formula si trova nella riga dei dettagli del punto.",
423
+ "swap.noDevice": "Nessun dispositivo trovato.",
424
+ "swap.noMatch": "Non è stato trovato alcun punto corrispondente",
425
+ "swap.noWriteMatch": "Non è stato trovato alcun destinatario di scrittura — in questo punto non verrà scritta alcuna informazione",
426
+ "swap.now": "Cambia ora",
427
+ "swap.pickFirst": "Per prima cosa, scegli una nuova fonte.",
428
+ "swap.removeIt": "eliminare questo punto durante lo scambio",
429
+ "swap.same": "È la stessa fonte di prima.",
430
+ "swap.search": "Cerca (ID o nome) …",
431
+ "swap.title": "Sostituisci sorgente",
432
+ "swap.to": "Nuova fonte",
433
+ "swap.unchanged": "invariato",
434
+ "swap.unknown": "(impossibile da determinare)",
435
+ "target.alsoRoom": "Impostare anche la stanza su \"{0}\"?",
436
+ "target.alsoRoomNew": "Non esiste la stanza \"{0}\" — crearla e assegnarla?",
437
+ "target.clearField": "campo vuoto",
438
+ "target.exists": "esiste già",
439
+ "target.folder": "Posizionare sotto",
440
+ "target.folderHint": "separare le sottocartelle con un punto, ad esempio House.GF.Kitchen",
441
+ "target.folderPlaceholder": "vuoto = direttamente sotto alias.0",
442
+ "target.moveInstead": "spostalo invece…",
443
+ "target.moveInsteadHint": "Sposta l'alias esistente sul nuovo ID invece di crearne un secondo accanto ad esso.",
444
+ "target.name": "Nome",
445
+ "target.openFolder": "apri “{0}”",
446
+ "target.twinExists": "Questa fonte contiene già {0} — quella rimane dove si trova.",
447
+ "target.yes": "sì",
448
+ "tpl.applyTemplate": "prendi i valori del modello ({0})",
449
+ "tpl.applyTemplateHint": "Imposta ruoli, tipi, unità, formule e fonti in base a quanto indicato nel modello. La didascalia rimane così com’è: quella è tua. Non viene scritto nulla prima della simulazione.",
450
+ "tpl.choose": "— scegli un modello —",
451
+ "tpl.contains": "{0} contiene {1}",
452
+ "tpl.fits": "si adatta",
453
+ "tpl.fitsNot": "✕ {0}",
454
+ "tpl.forbiddenThere": "{0} esiste, ma non deve",
455
+ "tpl.forced": "costretto",
456
+ "tpl.forcedHint": "Per questo modello, il rilevamento non viene attivato — scelta effettuata manualmente.",
457
+ "tpl.identifiedAs": "Identificato come: {0}",
458
+ "tpl.label": "Modello",
459
+ "tpl.manuallyChosen": "scelti a mano",
460
+ "tpl.missingPoint": "{0} mancante",
461
+ "tpl.nameHint": "il nome corrisponde a \"{0}\" — non rilevabile da MQTT",
462
+ "tpl.noJson": "{0} non restituisce alcun JSON",
463
+ "tpl.noNameHint": "il nome non fornisce alcun indizio: \"{0}\" è il valore predefinito; rispetto a MQTT sono indistinguibili",
464
+ "tpl.noOutputs": "nessun risultato trovato",
465
+ "tpl.none": "— nessun modello —",
466
+ "tpl.noneDetected": "Non è stato rilevato alcun modello",
467
+ "tpl.nor": " né in ",
468
+ "tpl.output": "Risultato",
469
+ "tpl.outputsFound": "risultati trovati: {0}",
470
+ "tpl.own": "proprio",
471
+ "tpl.possibleIn": "{0} è un comando riconosciuto dal dispositivo (dato non ancora creato)",
472
+ "tpl.presentIn": "{0} presente",
473
+ "tpl.remembered": "ricordato",
474
+ "tpl.rememberedHint": "Questo alias è stato creato a partire da questo modello: rimarrà tale finché non lo modificherai intenzionalmente.",
475
+ "tpl.showAllPoints": "Carica tutti i punti dati del dispositivo",
476
+ "tpl.showAllPointsHelp": "Esce dalla proposta di modello ed elenca tutti i dati presenti nel dispositivo, compresi quelli non menzionati in nessun modello. Da qui è possibile selezionarne uno solo e inserirlo nell'alias.",
477
+ "tpl.showProposal": "Carica la bozza del modello",
478
+ "tpl.showProposalHelp": "Torniamo a quanto proposto dal modello per questo dispositivo.",
479
+ "tpl.skippedChip": "{0} senza fonte",
480
+ "tpl.skippedEmpty": "\"{0}\" otterrebbe un punteggio più alto, ma su questo dispositivo non crea nemmeno una riga — saltato",
481
+ "tpl.skippedHead": "{0} omesso perché manca la fonte",
482
+ "tpl.skippedNowhere": "{0}: né in {1}",
483
+ "tpl.skippedSource": "{0}: manca {1}",
484
+ "tpl.skippedWhy": "{0}: {1}",
485
+ "tpl.whyNoField": "{0} non ha il campo {1}",
486
+ "tpl.whyNoJson": "{0} non restituisce alcun JSON",
487
+ "tpl.whyNoPoint": "{0} non esiste",
488
+ "tpl.whyNone": "Perché non si applica alcun modello",
489
+ "tpl.whyThis": "Perché questo modello?",
490
+ "tpl.withoutField": "{0} senza {1}",
491
+ "tpl.wouldNeed": "manca effettivamente: {0}",
492
+ "tpls.absolute": "oggetto fisso",
493
+ "tpls.absoluteText": "Non si trova all’interno del dispositivo e sarà quindi lo stesso per ogni dispositivo. A volte è proprio così: un setpoint condiviso, per esempio. Non viene conteggiato ai fini del rilevamento.",
494
+ "tpls.absoluteTitle": "Un punto indica un oggetto fisso. ",
495
+ "tpls.andMore": "… e altre {0}, non elencate qui",
496
+ "tpls.beats": "batti {0}",
497
+ "tpls.buildsNone": "non corrisponde — nessuna riga trova la propria origine",
498
+ "tpls.button": "Salva come modello …",
499
+ "tpls.channelName": "Canale per uscita",
500
+ "tpls.colDefault": "Predefinito",
501
+ "tpls.colInTemplate": "nel modello",
502
+ "tpls.colName": "Nome",
503
+ "tpls.colPath": "Percorso, relativo al dispositivo",
504
+ "tpls.colRequired": "deve esistere",
505
+ "tpls.content": "Controlli sui contenuti",
506
+ "tpls.contentHelp": "Rende il rilevamento più preciso — ed esclude i dispositivi che non inviano quel blocco. È proprio questo che distingue un \"socket\" da un \"socket con misurazione\".",
507
+ "tpls.contentRow": "{0} deve contenere {1}",
508
+ "tpls.contradiction": "Questo modello non andrebbe bene per nulla.",
509
+ "tpls.contradictionText": "Questi punti sono elencati sia come obbligatori che come vietati: {0}. Rimuovili da una delle due categorie.",
510
+ "tpls.deviceType": "Tipo di dispositivo",
511
+ "tpls.dropOff": "Omettilo completamente",
512
+ "tpls.dropOthers": "Escludere le altre uscite",
513
+ "tpls.droppedCount": "{0} punti non conteggiati.",
514
+ "tpls.evidence": "{0} verificato",
515
+ "tpls.failed": "Impossibile salvare:",
516
+ "tpls.fallbacks": "+{0} soluzione alternativa",
517
+ "tpls.fitsNot": "{0}× non va bene",
518
+ "tpls.function": "Funzione",
519
+ "tpls.head": "Intestazione",
520
+ "tpls.hits": "{0} dispositivi corrispondenti, {1} dei quali ha vinto",
521
+ "tpls.id": "Id",
522
+ "tpls.idTaken": "Questo ID appartiene già a “{0}” (v{1}). Salvando, verrebbe sostituito.",
523
+ "tpls.json": "Ecco cosa viene memorizzato",
524
+ "tpls.loadFailed": "i propri modelli non sono stati caricati",
525
+ "tpls.loadFailedHint": "La configurazione dell'istanza non ha risposto o ha segnalato un errore. I tuoi modelli non sono andati persi: semplicemente non sono visibili in questa schermata. Finché questo avviso rimane visualizzato, il salvataggio potrebbe sovrascrivere un modello esistente: ricarica prima la pagina.",
526
+ "tpls.lockBadHint": "Il suggerimento relativo al nome non è un'espressione utilizzabile",
527
+ "tpls.lockIdTaken": "L'ID appartiene già a \"{0}\"",
528
+ "tpls.lockNoId": "Manca l'ID",
529
+ "tpls.lockNoRequired": "Nessun punto è spuntato come richiesto: il modello non corrisponderebbe a nulla",
530
+ "tpls.lockNoRows": "Non è rimasta nessuna riga",
531
+ "tpls.lockedWhy": "Il salvataggio è bloccato:",
532
+ "tpls.losesTo": "perde contro {0}",
533
+ "tpls.multiple": "Questo dispositivo dispone di diverse uscite",
534
+ "tpls.multipleHelp": "Il {0} nei percorsi viene sostituito da %N% — ma solo alla fine di un segmento, quindi ENERGY.Power rimane invariato.",
535
+ "tpls.multipleNoNumber": "Indica quale numero tra i percorsi corrisponde all'output. In assenza di tale indicazione, il modello rimane unico.",
536
+ "tpls.multipleOff": "Un dispositivo con POWER1, POWER2 … diventa una cartella con un canale per ogni uscita.",
537
+ "tpls.nameDe": "Nome (in tedesco)",
538
+ "tpls.nameEn": "Nome (in inglese)",
539
+ "tpls.nameHint": "Suggerimento per il nome",
540
+ "tpls.nameHintBad": "Espressione non valida — viene considerata “non corrispondente”.",
541
+ "tpls.nameHintHelp": "Serve solo a risolvere i casi di parità tra modelli che si adattano ugualmente bene — ad esempio, “luce” e “presa”. Separare le parole con |. Questo elemento si chiama “{0}”.",
542
+ "tpls.needsRow": "non corrisponde — {0} non trova nulla",
543
+ "tpls.needsRowHint": "Una riga obbligatoria del modello non trova la sua fonte su questo dispositivo — solitamente si tratta di un campo che non esiste nel messaggio JSON presente su quel dispositivo. In questo caso il modello non viene nemmeno preso in considerazione; al suo posto viene utilizzato il modello successivo più adatto.",
544
+ "tpls.noFunction": "— nessuno —",
545
+ "tpls.noHits": "Al momento non ci sono dispositivi corrispondenti. Verifica i requisiti.",
546
+ "tpls.noInstance": "Istanza {0} non trovata.",
547
+ "tpls.noRequired": "Nessun punto è spuntato come richiesto: il modello non corrisponderebbe a nulla.",
548
+ "tpls.noType": "— nessuno —",
549
+ "tpls.onlyOne": "l'unico che va bene",
550
+ "tpls.otherOutputs": "{0} punti si riferiscono ad altri risultati ({1}).",
551
+ "tpls.otherOutputsText": "Un modello destinato a più dispositivi ne descrive sempre solo uno: gli altri ne derivano. Deselezionare i punti estranei sul dispositivo, altrimenti il modello si adatterà sempre e solo a quel dispositivo.",
552
+ "tpls.pickDeviceFirst": "scegli prima un dispositivo",
553
+ "tpls.rank": "Classifica",
554
+ "tpls.rowBuilt": "1 riga",
555
+ "tpls.rowsBuilt": "{0} righe",
556
+ "tpls.saveAsNew": "Salva come nuovo modello",
557
+ "tpls.saveAsNewHint": "quello esistente rimane com'è",
558
+ "tpls.saveNew": "Salva modello",
559
+ "tpls.saveUpdate": "Aggiorna modello",
560
+ "tpls.saved": "Modello \"{0}\" salvato, versione {1}.",
561
+ "tpls.savedWhere": "Si trova nella configurazione dell'istanza ({0}) e fa quindi parte del backup.",
562
+ "tpls.saving": "salvataggio in corso…",
563
+ "tpls.shadowsPackage": "sostituirà quindi quello fornito",
564
+ "tpls.someOff": "Deselezionati sul dispositivo: {0}. Questi punti sono impostati come “disattivati per impostazione predefinita”: sul dispositivo successivo saranno elencati, ma non contrassegnati.",
565
+ "tpls.states": "Dati",
566
+ "tpls.statesCount": "{0} di loro",
567
+ "tpls.statesHelp": "Il segno di spunta a sinistra indica se il punto viene inserito nel modello. “Predefinito” è lo stato con cui verrà proposto sul dispositivo successivo — tale impostazione deriva dalla selezione effettuata sul dispositivo stesso. Il segno di spunta a destra indica se il punto deve essere presente affinché il modello corrisponda.",
568
+ "tpls.takesOver": "{0} Cambia modello",
569
+ "tpls.title": "Salva come modello — {0}",
570
+ "tpls.tryout": "Prova",
571
+ "tpls.undrop": "annulla",
572
+ "tpls.updateIt": "Aggiorna il modello \"{0}\" — diventa la versione {1}",
573
+ "tpls.whatToDo": "Cosa dovrebbe succedere",
574
+ "tpls.whichNumber": "Numero di questo output",
575
+ "tpls.wissen": "+ {0} altri stati come informazioni sul ruolo — utilizzati nella vista “Tutti i punti dati del dispositivo”",
576
+ "tree.aliases": "Modifica alias",
577
+ "tree.collapseAll": "nascondi tutto",
578
+ "tree.emptyNode": "nessun dato: il nodo è presente nel database ma è vuoto",
579
+ "tree.expandAll": "espandi tutto",
580
+ "tree.filter": "filtro …",
581
+ "tree.filterAria": "Filtra oggetti",
582
+ "tree.loading": "Caricamento degli oggetti in corso…",
583
+ "tree.looksLikeDevice": "sembra un unico dispositivo",
584
+ "tree.noObjectHint": "non è una cartella vera e propria",
585
+ "tree.nothingFound": "nessun risultato trovato",
586
+ "tree.sourceGone": "{0} riferimento(i) di questo alias rimandano a una fonte inesistente. Il js-controller lo memorizza in modo permanente: l'unica soluzione è eliminarlo e ricrearlo.",
587
+ "tree.sources": "Crea un alias",
588
+ "tree.templates": "Modelli",
589
+ "tv.addFallback": "Aggiungi una fonte di riserva",
590
+ "tv.addState": "Aggiungi un dato",
591
+ "tv.badContent": "“erkennung.inhalt” deve essere un oggetto.",
592
+ "tv.badList": "“{0}” deve essere un elenco di punti.",
593
+ "tv.badName": "Il nome deve essere una stringa o un oggetto lingua.",
594
+ "tv.badNameHint": "Il suggerimento relativo al nome non è un'espressione utilizzabile.",
595
+ "tv.badNoId": "Manca l'ID.",
596
+ "tv.badNoStates": "Mancano i dati (zustaende).",
597
+ "tv.badNotObject": "È richiesto un unico modello sotto forma di oggetto JSON.",
598
+ "tv.badRecog": "\"erkennung\" deve essere un oggetto.",
599
+ "tv.badState": "{0} punti dati privi di nome o senza alcun percorso di lettura o scrittura.",
600
+ "tv.badType": "Questo rilevatore non riconosce il tipo di dispositivo “{0}”.",
601
+ "tv.clickRow": "Fai clic su una riga per modificare il dato",
602
+ "tv.clickRowRead": "Clicca su una riga per visualizzarla — i modelli già inviati non possono essere modificati.",
603
+ "tv.delete": "Elimina",
604
+ "tv.deleteHint": "Se si sovrappone a un modello già inviato, quest'ultimo riappare in seguito.",
605
+ "tv.deleteSure": "Elimina definitivamente",
606
+ "tv.detection": "Rilevamento",
607
+ "tv.discard": "Annulla le modifiche",
608
+ "tv.duplicate": "Duplicato",
609
+ "tv.export": "Esporta come file",
610
+ "tv.fallback": "Fonti di riserva",
611
+ "tv.fallbackHint": "Se il workbench non riesce a trovare il punto dati sopra indicato — o il campo al suo interno — prova questi in ordine. Viene utilizzato il primo in cui entrambi esistono effettivamente.",
612
+ "tv.flagsHelp": "\"Predefinito\" = già selezionato sul dispositivo successivo. \"Deve esistere\" = senza questo elemento il modello non corrisponde affatto — viene spostato nell'elenco dei requisiti sopra riportato. \"Oggetto fisso\" = il percorso di lettura non è relativo al dispositivo, ma è un ID oggetto completo, uguale per tutti i dispositivi.",
613
+ "tv.forbidden": "Non deve esistere",
614
+ "tv.forbiddenHelp": "Questi punti NON devono essere presenti sul dispositivo, altrimenti il modello non corrisponde. È questo che distingue una presa singola da una multipla. Separare i vari punti con delle virgole. I punti mancanti non vengono considerati come prove.",
615
+ "tv.hide": "nascondi",
616
+ "tv.importAndSave": "Importa e salva",
617
+ "tv.importBad": "Questo file non è un modello.",
618
+ "tv.importFile": "Importa …",
619
+ "tv.importNew": "Il salvataggio crea \"{0}\".",
620
+ "tv.importReplaces": "Il salvataggio sostituisce il tuo modello \"{0}\": la versione {1} diventa la versione {2}.",
621
+ "tv.importShadows": "Salvataggio delle ombre nel modello fornito \"{0}\".",
622
+ "tv.importTitle": "Non è stato salvato nulla.",
623
+ "tv.imported": "importato",
624
+ "tv.inTemplate": "nel modello",
625
+ "tv.json": "Il modello in formato JSON",
626
+ "tv.makeOwn": "Crea una copia modificabile",
627
+ "tv.multi": "diverse uscite, un canale {0} per ciascuna uscita",
628
+ "tv.nameHintShort": "Risolve solo i casi di parità tra modelli che si adattano ugualmente bene. Separare le parole con |.",
629
+ "tv.package": "spedito",
630
+ "tv.packageText": "Non può essere modificato, quindi rimane sempre nello stato in cui è stato consegnato. La funzione \"Duplica\" crea una copia del tuo file, e tale copia sostituisce l'originale.",
631
+ "tv.packageTitle": "Modello inviato.",
632
+ "tv.paneHead": "Il modello e ciò che rileva",
633
+ "tv.rank": "posizione {0}",
634
+ "tv.rankOwn": "La posizione in classifica vale solo per i tuoi modelli. Contro un modello predefinito, il tuo vince comunque sempre — non serve una posizione alta in classifica per questo.",
635
+ "tv.rankPackage": "La classifica tiene conto solo dei modelli inviati e, anche in questo caso, solo quando le prove e l’indizio sul nome risultano uguali.",
636
+ "tv.readOnlyRow": "Modello predefinito — utilizzare l'opzione \"Copia personale per la modifica\" per modificarlo.",
637
+ "tv.removeFallback": "rimuovere",
638
+ "tv.removeState": "Elimina questo punto",
639
+ "tv.required2": "Deve esistere",
640
+ "tv.requiredCount": "{0} punti richiesti",
641
+ "tv.requiredHelp": "Questi dati devono essere presenti sul dispositivo, altrimenti il modello non corrisponde. Separare i vari dati con virgole. Ogni dato richiesto rende il modello più preciso e, al contempo, più fragile.",
642
+ "tv.save": "Salva",
643
+ "tv.show": "mostra",
644
+ "tv.unsaved": "non salvato",
645
+ "use.again": "rileggi",
646
+ "use.aliasHead": "L'alias",
647
+ "use.custom": "Registrazione, nomi intelligenti",
648
+ "use.enums": "Enumerazioni",
649
+ "use.files": "File",
650
+ "use.head": "Citato in",
651
+ "use.limits": "La ricerca viene effettuata su testo semplice. Vengono presi in considerazione solo i file presenti nelle cartelle delle istanze (vis.0, vis-2.0, web.0 …) — le interfacce web degli adattatori sono escluse, altrimenti il workbench individuerebbe i loro esempi e i propri file sorgente. I valori di stato non vengono ricercati e nessuna ricerca testuale individua gli ID generati in fase di esecuzione.",
652
+ "use.look": "cerca",
653
+ "use.lookHint": "Ricerca dell'ID dell'alias e della sua origine: negli script, nelle enumerazioni, nelle voci relative al punto stesso, in ogni oggetto caricato e nei file delle cartelle dell'istanza. Viene eseguita solo al clic, poiché per farlo viene effettuata una lettura unica di tutti i dati.",
654
+ "use.none": "—",
655
+ "use.objects": "Oggetti",
656
+ "use.otherAliases": "altri alias presenti su di esso",
657
+ "use.scripts": "Script",
658
+ "use.searching": "ricerca in corso…",
659
+ "use.sourceHead": "La fonte",
660
+ "use.sourceHint": "Il fatto che una fonte venga ancora menzionata non è un errore: lo script che la alimenta va proprio lì. Per decidere se una voce debba essere spostata nell’alias basta esaminarla.",
661
+ "write.aliasNowAt": "L'alias si trova ora in {0}.",
662
+ "write.cannotWrite": "Non si può scrivere così:",
663
+ "write.changes": "modifiche",
664
+ "write.close": "Chiudi",
665
+ "write.createAlias": "Crea un alias …",
666
+ "write.createAll": "Crea tutti i {0} …",
667
+ "write.createAsOne": "creare come un unico dispositivo …",
668
+ "write.createNamed": "Crea {0} …",
669
+ "write.createPerChannel": "una sottocartella per canale, {0} in totale …",
670
+ "write.createSendPoints": "Crea i dati di invio mancanti {0}",
671
+ "write.deselected": "deselezionato",
672
+ "write.diffNew": "dopo",
673
+ "write.diffOld": "prima",
674
+ "write.diffRaw": "mostra l'ordine originale",
675
+ "write.diffSorted": "ordinare i campi",
676
+ "write.diffSortedHint": "L'ordine dei campi all'interno di un oggetto non ha alcun significato: lo stesso amministratore scrive oggetti alias in quattro ordini diversi. Una volta ordinati, rimangono solo le differenze effettive; l'ordine originale mostra come sono effettivamente memorizzati.",
677
+ "write.done": "{0} oggetti salvati.",
678
+ "write.doneWithRemoved": "{0} oggetti aggiunti, {1} rimossi.",
679
+ "write.dryOutputs": " — {0} risultati",
680
+ "write.dryTitleCreate": "Crea alias — ecco cosa verrebbe visualizzato",
681
+ "write.dryTitleDoneCreate": "Alias creato",
682
+ "write.dryTitleDoneUpdate": "Alias aggiornato",
683
+ "write.dryTitleFailed": "Non tutto è andato a buon fine",
684
+ "write.dryTitleUpdate": "Aggiorna alias — ecco cosa verrebbe visualizzato",
685
+ "write.duplicateName": "{0}: il nome compare due volte.",
686
+ "write.enumsUnknown": "La stanza e la funzione non verranno scritte: non è stato possibile caricare le enumerazioni. L'alias viene creato come mostrato. In assenza di uno stato affidabile, un'enumerazione esistente verrebbe sostituita da una nuova contenente solo questo singolo elemento.",
687
+ "write.failed": "{0} operazioni non riuscite:",
688
+ "write.new": "nuovo",
689
+ "write.noName": "Un punto non ha nome.",
690
+ "write.noSourceChosen": "{0}: nessuna fonte selezionata.",
691
+ "write.noneSelected": "Non è stato selezionato nessun dato.",
692
+ "write.notInProposal": "non è previsto nella proposta",
693
+ "write.notUnderAlias": "{0} non è un alias. — Qui non verrà scritto nulla",
694
+ "write.now": "Crea ora",
695
+ "write.nowUpdate": "Aggiorna ora",
696
+ "write.pickDeviceFirst": "scegli prima un dispositivo",
697
+ "write.remove": "Rimuovi",
698
+ "write.removeCount": "dati: {0}",
699
+ "write.removeHint": "sono presenti nell'alias ma non compaiono più nella bozza",
700
+ "write.retry": "Riprova",
701
+ "write.rowSource": "fonte",
702
+ "write.rowTarget": "obiettivo",
703
+ "write.sourceMissing": "{0}: la fonte {1} non esiste.",
704
+ "write.summaryTail": "{0} nuovo, {1} verrebbe sovrascritto",
705
+ "write.summaryTail3": "{0} nuovo, {1} modificato, {2} invariato",
706
+ "write.unchanged": "invariato",
707
+ "write.updateAlias": "Aggiorna alias …",
708
+ "write.updateAsOne": "aggiornare come un unico dispositivo …",
709
+ "write.updateNamed": "Aggiornamento {0} …",
710
+ "write.willKeep": "conservato: {0}",
711
+ "write.willRemove": "rimosso: {0}",
712
+ "write.writeSourceMissing": "{0}: il dato di invio {1} non esiste ancora",
713
+ "write.writing": "scrivendo …"
14
714
  }