iobroker.laundrylens 0.4.15 → 0.4.17
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 +42 -39
- package/admin/i18n/de.json +6 -0
- package/admin/i18n/en.json +6 -0
- package/admin/i18n/es.json +6 -0
- package/admin/i18n/fr.json +6 -0
- package/admin/i18n/it.json +6 -0
- package/admin/i18n/nl.json +6 -0
- package/admin/i18n/pl.json +6 -0
- package/admin/i18n/pt.json +6 -0
- package/admin/i18n/ru.json +6 -0
- package/admin/i18n/uk.json +6 -0
- package/admin/i18n/zh-cn.json +6 -0
- package/admin/jsonConfig.json +46 -0
- package/admin/phaseLabels.json +14 -0
- package/admin/tab_m.html +28 -24
- package/io-package.json +27 -27
- package/lib/displayLabels.js +98 -0
- package/lib/notifyTemplate.js +60 -0
- package/lib/profileStore.js +2 -2
- package/lib/washDataManager.js +17 -17
- package/main.js +120 -33
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -28,9 +28,10 @@ The adapter is self-learning: there are no pre-built profiles. Every program is
|
|
|
28
28
|
- Adaptive remaining time estimation combining time-based and energy-rate signals
|
|
29
29
|
- Admin UI with expandable cycle list, inline power graph (canvas), phase legend, trim and split per touch/drag
|
|
30
30
|
- This is why the adapter ships a custom admin tab (`admin/tab_m.html`) rather than relying on jsonConfig or the standard Device Manager component: neither supports rendering an interactive per-cycle power curve, editing phase boundaries by touch/drag, or splitting/trimming a recorded trace - all of which are core to how LaundryLens is used day to day (reviewing what a cycle actually did, correcting mismatches, building new program profiles from a trace).
|
|
31
|
-
- Telegram notifications with configurable update thresholds, placeholders (`{progress}`, `{prevTime}`) and conditional text blocks
|
|
31
|
+
- Telegram notifications with configurable update thresholds, placeholders (`{progress}`, `{prevTime}`, `{state:objectId}` for any ioBroker data point) and conditional text blocks
|
|
32
32
|
- Also supports Pushover, Signal, WhatsApp, Matrix, notify-my-android, Prowl, and email (via [ioBroker.email](https://github.com/iobroker-community-adapters/ioBroker.email)) as notification targets
|
|
33
33
|
- Multiple devices: one instance per device (washing machine, dryer, …)
|
|
34
|
+
- Localized, ready-to-display text data points (`phaseText`, `stateText`, `programText`) alongside the language-neutral internal ones, for dropping straight into a VIS dashboard
|
|
34
35
|
|
|
35
36
|
---
|
|
36
37
|
|
|
@@ -77,19 +78,45 @@ The defaults are tuned for Siemens iQ appliances. Detection threshold is a trade
|
|
|
77
78
|
|
|
78
79
|
| Data point | Type | Description |
|
|
79
80
|
|---|---|---|
|
|
80
|
-
| `state` | string | off / starting / running / paused / ending |
|
|
81
|
+
| `state` | string | off / starting / running / paused / ending (language-neutral internal key, meant for automations) |
|
|
82
|
+
| `stateText` | string | Same as `state`, but as ready-to-display, localized text (e.g. "Running ⚙️" / "Läuft ⚙️") - see [`displayLanguage`](#configuration) |
|
|
81
83
|
| `running` | boolean | Simple on/off indicator |
|
|
82
84
|
| `program` | string | Detected program name |
|
|
85
|
+
| `programText` | string | Same as `program`, but with the `detecting...` placeholder localized (a confirmed program is your own saved name, passed through unchanged) |
|
|
83
86
|
| `confidence` | number | Match confidence in % |
|
|
84
87
|
| `timeRemaining` | number | Estimated remaining time in seconds |
|
|
85
88
|
| `totalDuration` | number | Estimated total cycle duration in seconds |
|
|
86
89
|
| `cycleProgress` | number | Cycle progress 0–100 % |
|
|
87
|
-
| `phase` | string | Current cycle phase |
|
|
90
|
+
| `phase` | string | Current cycle phase (language-neutral internal key, e.g. `washing`, `dryer_drying`) |
|
|
91
|
+
| `phaseText` | string | Same as `phase`, but as ready-to-display, localized text with an emoji (e.g. "🫧 Washing" / "🫧 Wäscht") |
|
|
88
92
|
| `lastCycleProgram` | string | Program of the last completed cycle |
|
|
89
93
|
| `lastCycleDuration` | number | Duration of the last cycle in minutes |
|
|
90
94
|
| `lastCycleEnergy` | number | Energy consumed in the last cycle in Wh |
|
|
91
95
|
| `availablePrograms` | string (JSON) | Array of all saved program names, e.g. for external dropdowns |
|
|
92
96
|
|
|
97
|
+
`phase`/`state`/`program` are meant for automations/scripts and use fixed, language-neutral values that never change with your ioBroker language - use the matching `*Text` data point instead if you want to show status directly in a VIS dashboard without building your own translation table. The language for `phaseText`/`stateText`/`programText` defaults to the ioBroker system language, and can be overridden per device with the "Display language" setting.
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## Using data points in notification messages
|
|
102
|
+
|
|
103
|
+
Besides the built-in placeholders (`{device}`, `{program}`, `{duration}`, `{energy}`, `{startTime}`, `{endTime}`, `{progress}`, `{prevTime}`), a notification message template can include the current value of **any** ioBroker data point with:
|
|
104
|
+
|
|
105
|
+
```
|
|
106
|
+
{state:objectId}
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
For example, to include the current outside temperature and electricity price in a "done" message:
|
|
110
|
+
|
|
111
|
+
```
|
|
112
|
+
🧺 {device} done!
|
|
113
|
+
⏱️ Total runtime: {duration} min
|
|
114
|
+
🌡️ Outside: {state:0_userdata.0.outsideTemp}°C
|
|
115
|
+
💶 Price: {state:0_userdata.0.electricityPrice} ct/kWh
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
This also works inside the conditional `[...]` blocks: `[🌡️ Outside: {state:0_userdata.0.outsideTemp}°C]` disappears from the message entirely if that data point is empty or doesn't exist, exactly like it would for an empty built-in placeholder. A missing or unreadable object ID never breaks the rest of the message - it just resolves to nothing.
|
|
119
|
+
|
|
93
120
|
---
|
|
94
121
|
|
|
95
122
|
## Getting started tips
|
|
@@ -105,6 +132,17 @@ The defaults are tuned for Siemens iQ appliances. Detection threshold is a trade
|
|
|
105
132
|
|
|
106
133
|
### **WORK IN PROGRESS**
|
|
107
134
|
|
|
135
|
+
### 0.4.17 (2026-08-31)
|
|
136
|
+
- New: `phaseText`, `stateText`, `programText` data points - localized, ready-to-display versions of the existing language-neutral `phase`/`state`/`program`, useful for a VIS dashboard without building your own translation table
|
|
137
|
+
- New: "Display language" setting per device (defaults to the ioBroker system language)
|
|
138
|
+
- Internal: the phase-translation table (previously only in the admin tab, for the cycle graph legend) is now one shared file (`admin/phaseLabels.json`) used by both the admin UI and the new server-side data points, instead of two separately maintained copies
|
|
139
|
+
- Translated remaining German code comments to English (not a review/checker requirement - developer-only comments in German are explicitly permitted - done on request)
|
|
140
|
+
- Reorganized the README changelog: the current 0.4.x series stays here in full, the pre-0.4.0 beta history (0.2.2–0.3.0) moved entirely to CHANGELOG_OLD.md (previously one version, 0.2.5, existed with near-duplicate text in both places)
|
|
141
|
+
|
|
142
|
+
### 0.4.16 (2026-08-31)
|
|
143
|
+
- New: notification templates support a `{state:objectId}` placeholder that resolves any ioBroker data point's current value at send time (e.g. outside temperature, electricity price), in addition to the existing built-in placeholders. Works inside conditional `[...]` blocks too - a block hides itself if the referenced data point is empty
|
|
144
|
+
- Fix: a leftover German word ("Fertig") in the notification subject line
|
|
145
|
+
|
|
108
146
|
### 0.4.15 (2026-08-31)
|
|
109
147
|
- Fix: notification-language cache was module-level state (compact-mode leak risk between instances sharing a process) - moved to an instance field, same fix class already applied to ProfileStore's MIN_CONFIDENCE
|
|
110
148
|
- Fix: two devices accidentally sharing the same power sensor now log a warning instead of one silently losing updates
|
|
@@ -164,42 +202,7 @@ The defaults are tuned for Siemens iQ appliances. Detection threshold is a trade
|
|
|
164
202
|
- Infrastructure: CI no longer needs a committed `package-lock.json`; real integration test added; git history cleaned up
|
|
165
203
|
- Note: cycles recorded before this update show phases as an uncolored/unrecognized segment in the graph legend (the old German phase names no longer match the new internal phase keys) - purely cosmetic, only affects historical data
|
|
166
204
|
|
|
167
|
-
|
|
168
|
-
- New: proper dishwasher phase detection, both live and in the historical cycle graph
|
|
169
|
-
- New: email notification support via [ioBroker.email](https://github.com/iobroker-community-adapters/ioBroker.email)
|
|
170
|
-
- Fix: `instance` URL parameter and hash-based deep-linking in the admin tab
|
|
171
|
-
- Fix: Anti-Knitter checkbox polarity was inverted - "ignorieren" checked/unchecked did the opposite of what it should
|
|
172
|
-
- Fix: dryer cycles were cut off immediately on any power drop even with no Anti-Knitter reference pattern saved
|
|
173
|
-
- New: delete button for the saved Anti-Knitter reference pattern
|
|
174
|
-
- Infrastructure: migrated to the official `@iobroker/eslint-config`, added a real `package-lock.json` and integration test, restructured CI to the current ioBroker workflow template (`check-and-lint`/`adapter-tests`), and reached full compliance with the shared config (Prettier formatting + complete JSDoc coverage, no rules disabled)
|
|
175
|
-
|
|
176
|
-
### 0.2.8 (2026-07-26)
|
|
177
|
-
- New: proper phase detection for dishwashers, both in the historical cycle graph and the live status display (Vorspülen/Hauptspülgang/Klarspülgang/Trocknen based on ordinal heating-block count, instead of a flat per-reading power threshold that mislabeled every heat spike as "Aufheizen")
|
|
178
|
-
- Fix: `instance` URL parameter was ignored for initial device pre-selection in the admin tab
|
|
179
|
-
- Fix attempt: hash-based deep-linking no longer triggers premature data loading before device discovery completes
|
|
180
|
-
|
|
181
|
-
### 0.2.7 (2026-07-22)
|
|
182
|
-
- Attempted fix: hash-based deep-linking no longer triggers data loading for the target tab before device discovery has completed (visual tab switch only; data loading deferred until devices are known). Addresses a suspected race where early sendTo() calls with an empty deviceId may have interfered with device discovery.
|
|
183
|
-
|
|
184
|
-
### 0.2.6 (2026-07-22)
|
|
185
|
-
- Fix: hash-based deep-linking (`#1`–`#6`) could get stuck showing an empty page when device loading was slow or failed (e.g. standalone access outside Admin). Tab switching via hash now happens immediately on page load, independent of the device data pipeline.
|
|
186
|
-
|
|
187
|
-
### 0.2.5 (2026-07-14)
|
|
188
|
-
- New: separate "Notifications" tab (previously buried under "Export", which testers found unintuitive)
|
|
189
|
-
- New: hash-based deep-linking to admin tabs using numbers (`#1`–`#6`), independent of UI language
|
|
190
|
-
- New: `availablePrograms` JSON data point per device listing all saved program names, for use in external dropdowns (e.g. VIS program override selector)
|
|
191
|
-
|
|
192
|
-
### 0.2.4 (2026-07-11)
|
|
193
|
-
- Fix: power sensor readings with `ack=false` were silently ignored, causing the adapter to stay "off" forever even at full power. This affects power sensors fed by user scripts (common for `0_userdata.0.*` datapoints) that don't explicitly set `ack: true`.
|
|
194
|
-
|
|
195
|
-
### 0.2.3 (2026-07-07)
|
|
196
|
-
- Fix: `startEnergyThreshold = 0` (and `powerThreshold = 0`) was silently replaced by the default value due to a falsy-zero check — this blocked correct detection for devices with a very low initial power draw (e.g. dishwashers during pump-out)
|
|
197
|
-
- Fix: restarting the adapter while the device was already running (with no cycle to restore) could leave the cycle stuck in "starting" instead of resuming "running"
|
|
198
|
-
|
|
199
|
-
### 0.2.2 (2026-07-01)
|
|
200
|
-
- beta release
|
|
201
|
-
|
|
202
|
-
Older changelog entries can be found in [CHANGELOG_OLD.md](CHANGELOG_OLD.md).
|
|
205
|
+
Older changelog entries (pre-0.4.0 beta history) can be found in [CHANGELOG_OLD.md](CHANGELOG_OLD.md).
|
|
203
206
|
|
|
204
207
|
---
|
|
205
208
|
|
package/admin/i18n/de.json
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
+
"(any ioBroker data point)": "(beliebiger ioBroker-Datenpunkt)",
|
|
2
3
|
"+ Create": "+ Anlegen",
|
|
3
4
|
"Adapter": "Adapter",
|
|
4
5
|
"All (broadcast)": "Alle (broadcast)",
|
|
@@ -38,6 +39,7 @@
|
|
|
38
39
|
"Device name": "Gerätename",
|
|
39
40
|
"Device type": "Gerätetyp",
|
|
40
41
|
"Device:": "Gerät:",
|
|
42
|
+
"Display language": "Anzeigesprache",
|
|
41
43
|
"Display name in the dashboard": "Anzeigename im Dashboard",
|
|
42
44
|
"Dryer settings": "Trockner-Einstellungen",
|
|
43
45
|
"Duration": "Dauer",
|
|
@@ -64,6 +66,7 @@
|
|
|
64
66
|
"Instant adoption from confidence (%)": "Sofortübernahme ab Konfidenz (%)",
|
|
65
67
|
"Invalid JSON file": "Ungültige JSON-Datei",
|
|
66
68
|
"JSON appears here after export…": "JSON erscheint hier nach Export…",
|
|
69
|
+
"Language for phaseText/stateText/programText": "Sprache für phaseText/stateText/programText",
|
|
67
70
|
"Last cycle": "Letzter Zyklus",
|
|
68
71
|
"Last cycle not confidently detected. Please confirm or correct.": "Letzter Zyklus nicht sicher erkannt. Bitte bestätigen oder korrigieren.",
|
|
69
72
|
"Learned on": "Gelernt am",
|
|
@@ -128,7 +131,9 @@
|
|
|
128
131
|
"Start energy gate (Wh)": "Start-Energie-Gate (Wh)",
|
|
129
132
|
"Starting…": "Startet…",
|
|
130
133
|
"Status": "Status",
|
|
134
|
+
"System default": "Systemstandard",
|
|
131
135
|
"Test message sent!": "Testnachricht gesendet!",
|
|
136
|
+
"The phase/state/program data points (e.g. 'washing', 'off') are language-neutral internal keys, meant for automations. This controls the language of the extra *Text data points (e.g. 'phaseText') that hold a ready-to-display translation - useful for showing status directly in a VIS dashboard without translating it yourself. Defaults to the ioBroker system language.": "Die Datenpunkte phase/state/program (z.B. 'washing', 'off') sind sprachneutrale interne Schlüssel, gedacht für Automatisierungen. Dies steuert die Sprache der zusätzlichen *Text-Datenpunkte (z.B. 'phaseText'), die eine fertige, anzeigbare Übersetzung enthalten - nützlich, um den Status direkt in einem VIS-Dashboard anzuzeigen, ohne selbst zu übersetzen. Standardmäßig die ioBroker-Systemsprache.",
|
|
132
137
|
"Time remaining": "Restzeit",
|
|
133
138
|
"To actually use this pattern, turn off \"Ignore saved anti-crease pattern\" in the device settings.": "Damit das Muster auch genutzt wird, \"Gespeichertes Anti-Knitter-Muster ignorieren\" in den Geräte-Einstellungen ausschalten.",
|
|
134
139
|
"Trim": "Trimmen",
|
|
@@ -137,6 +142,7 @@
|
|
|
137
142
|
"Wrong program": "Falsches Programm",
|
|
138
143
|
"confidence": "Konfidenz",
|
|
139
144
|
"cycles": "Zyklen",
|
|
145
|
+
"detecting...": "erkenne...",
|
|
140
146
|
"e.g. Cotton 60°": "z.B. Baumwolle 60°",
|
|
141
147
|
"e.g. Washing machine": "z.B. Waschmaschine",
|
|
142
148
|
"e.g. name@example.com (blank = adapter default)": "z.B. name@example.com (leer = Adapter-Standard)",
|
package/admin/i18n/en.json
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
+
"(any ioBroker data point)": "(any ioBroker data point)",
|
|
2
3
|
"+ Create": "+ Create",
|
|
3
4
|
"Adapter": "Adapter",
|
|
4
5
|
"All (broadcast)": "All (broadcast)",
|
|
@@ -38,6 +39,7 @@
|
|
|
38
39
|
"Device name": "Device name",
|
|
39
40
|
"Device type": "Device type",
|
|
40
41
|
"Device:": "Device:",
|
|
42
|
+
"Display language": "Display language",
|
|
41
43
|
"Display name in the dashboard": "Display name in the dashboard",
|
|
42
44
|
"Dryer settings": "Dryer settings",
|
|
43
45
|
"Duration": "Duration",
|
|
@@ -64,6 +66,7 @@
|
|
|
64
66
|
"Instant adoption from confidence (%)": "Instant adoption from confidence (%)",
|
|
65
67
|
"Invalid JSON file": "Invalid JSON file",
|
|
66
68
|
"JSON appears here after export…": "JSON appears here after export…",
|
|
69
|
+
"Language for phaseText/stateText/programText": "Language for phaseText/stateText/programText",
|
|
67
70
|
"Last cycle": "Last cycle",
|
|
68
71
|
"Last cycle not confidently detected. Please confirm or correct.": "Last cycle not confidently detected. Please confirm or correct.",
|
|
69
72
|
"Learned on": "Learned on",
|
|
@@ -128,7 +131,9 @@
|
|
|
128
131
|
"Start energy gate (Wh)": "Start energy gate (Wh)",
|
|
129
132
|
"Starting…": "Starting…",
|
|
130
133
|
"Status": "Status",
|
|
134
|
+
"System default": "System default",
|
|
131
135
|
"Test message sent!": "Test message sent!",
|
|
136
|
+
"The phase/state/program data points (e.g. 'washing', 'off') are language-neutral internal keys, meant for automations. This controls the language of the extra *Text data points (e.g. 'phaseText') that hold a ready-to-display translation - useful for showing status directly in a VIS dashboard without translating it yourself. Defaults to the ioBroker system language.": "The phase/state/program data points (e.g. 'washing', 'off') are language-neutral internal keys, meant for automations. This controls the language of the extra *Text data points (e.g. 'phaseText') that hold a ready-to-display translation - useful for showing status directly in a VIS dashboard without translating it yourself. Defaults to the ioBroker system language.",
|
|
132
137
|
"Time remaining": "Time remaining",
|
|
133
138
|
"To actually use this pattern, turn off \"Ignore saved anti-crease pattern\" in the device settings.": "To actually use this pattern, turn off \"Ignore saved anti-crease pattern\" in the device settings.",
|
|
134
139
|
"Trim": "Trim",
|
|
@@ -137,6 +142,7 @@
|
|
|
137
142
|
"Wrong program": "Wrong program",
|
|
138
143
|
"confidence": "confidence",
|
|
139
144
|
"cycles": "cycles",
|
|
145
|
+
"detecting...": "detecting...",
|
|
140
146
|
"e.g. Cotton 60°": "e.g. Cotton 60°",
|
|
141
147
|
"e.g. Washing machine": "e.g. Washing machine",
|
|
142
148
|
"e.g. name@example.com (blank = adapter default)": "e.g. name@example.com (blank = adapter default)",
|
package/admin/i18n/es.json
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
+
"(any ioBroker data point)": "(cualquier punto de datos de ioBroker)",
|
|
2
3
|
"+ Create": "+ Crear",
|
|
3
4
|
"Adapter": "Adaptador",
|
|
4
5
|
"All (broadcast)": "Todos (broadcast)",
|
|
@@ -38,6 +39,7 @@
|
|
|
38
39
|
"Device name": "Nombre del dispositivo",
|
|
39
40
|
"Device type": "Tipo de dispositivo",
|
|
40
41
|
"Device:": "Dispositivo:",
|
|
42
|
+
"Display language": "Idioma de visualización",
|
|
41
43
|
"Display name in the dashboard": "Nombre mostrado en el panel",
|
|
42
44
|
"Dryer settings": "Configuración de la secadora",
|
|
43
45
|
"Duration": "Duración",
|
|
@@ -64,6 +66,7 @@
|
|
|
64
66
|
"Instant adoption from confidence (%)": "Adopción instantánea a partir de la confianza (%)",
|
|
65
67
|
"Invalid JSON file": "Archivo JSON no válido",
|
|
66
68
|
"JSON appears here after export…": "El JSON aparece aquí después de la exportación…",
|
|
69
|
+
"Language for phaseText/stateText/programText": "Idioma para phaseText/stateText/programText",
|
|
67
70
|
"Last cycle": "Último ciclo",
|
|
68
71
|
"Last cycle not confidently detected. Please confirm or correct.": "El último ciclo no se detectó con confianza. Confirma o corrige.",
|
|
69
72
|
"Learned on": "Aprendido el",
|
|
@@ -128,7 +131,9 @@
|
|
|
128
131
|
"Start energy gate (Wh)": "Umbral de energía de inicio (Wh)",
|
|
129
132
|
"Starting…": "Iniciando…",
|
|
130
133
|
"Status": "Estado",
|
|
134
|
+
"System default": "Predeterminado del sistema",
|
|
131
135
|
"Test message sent!": "¡Mensaje de prueba enviado!",
|
|
136
|
+
"The phase/state/program data points (e.g. 'washing', 'off') are language-neutral internal keys, meant for automations. This controls the language of the extra *Text data points (e.g. 'phaseText') that hold a ready-to-display translation - useful for showing status directly in a VIS dashboard without translating it yourself. Defaults to the ioBroker system language.": "Los puntos de datos phase/state/program (p. ej. 'washing', 'off') son claves internas independientes del idioma, pensadas para automatizaciones. Esto controla el idioma de los puntos de datos *Text adicionales (p. ej. 'phaseText') que contienen una traducción lista para mostrar - útil para mostrar el estado directamente en un panel VIS sin traducirlo usted mismo. Por defecto, el idioma del sistema de ioBroker.",
|
|
132
137
|
"Time remaining": "Tiempo restante",
|
|
133
138
|
"To actually use this pattern, turn off \"Ignore saved anti-crease pattern\" in the device settings.": "Para que este patrón se use realmente, desactiva \"Ignorar el patrón antiarrugas guardado\" en la configuración del dispositivo.",
|
|
134
139
|
"Trim": "Recortar",
|
|
@@ -137,6 +142,7 @@
|
|
|
137
142
|
"Wrong program": "Programa incorrecto",
|
|
138
143
|
"confidence": "confianza",
|
|
139
144
|
"cycles": "ciclos",
|
|
145
|
+
"detecting...": "detectando...",
|
|
140
146
|
"e.g. Cotton 60°": "p. ej. Algodón 60°",
|
|
141
147
|
"e.g. Washing machine": "p. ej. Lavadora",
|
|
142
148
|
"e.g. name@example.com (blank = adapter default)": "p. ej. nombre@ejemplo.com (vacío = valor predeterminado del adaptador)",
|
package/admin/i18n/fr.json
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
+
"(any ioBroker data point)": "(n'importe quel point de données ioBroker)",
|
|
2
3
|
"+ Create": "+ Créer",
|
|
3
4
|
"Adapter": "Adaptateur",
|
|
4
5
|
"All (broadcast)": "Tous (diffusion)",
|
|
@@ -38,6 +39,7 @@
|
|
|
38
39
|
"Device name": "Nom de l'appareil",
|
|
39
40
|
"Device type": "Type d'appareil",
|
|
40
41
|
"Device:": "Appareil :",
|
|
42
|
+
"Display language": "Langue d'affichage",
|
|
41
43
|
"Display name in the dashboard": "Nom affiché dans le tableau de bord",
|
|
42
44
|
"Dryer settings": "Paramètres du sèche-linge",
|
|
43
45
|
"Duration": "Durée",
|
|
@@ -64,6 +66,7 @@
|
|
|
64
66
|
"Instant adoption from confidence (%)": "Adoption instantanée à partir de la confiance (%)",
|
|
65
67
|
"Invalid JSON file": "Fichier JSON invalide",
|
|
66
68
|
"JSON appears here after export…": "Le JSON apparaît ici après l'export…",
|
|
69
|
+
"Language for phaseText/stateText/programText": "Langue pour phaseText/stateText/programText",
|
|
67
70
|
"Last cycle": "Dernier cycle",
|
|
68
71
|
"Last cycle not confidently detected. Please confirm or correct.": "Dernier cycle non détecté avec certitude. Veuillez confirmer ou corriger.",
|
|
69
72
|
"Learned on": "Appris le",
|
|
@@ -128,7 +131,9 @@
|
|
|
128
131
|
"Start energy gate (Wh)": "Seuil d'énergie de démarrage (Wh)",
|
|
129
132
|
"Starting…": "Démarrage…",
|
|
130
133
|
"Status": "Statut",
|
|
134
|
+
"System default": "Par défaut du système",
|
|
131
135
|
"Test message sent!": "Message de test envoyé !",
|
|
136
|
+
"The phase/state/program data points (e.g. 'washing', 'off') are language-neutral internal keys, meant for automations. This controls the language of the extra *Text data points (e.g. 'phaseText') that hold a ready-to-display translation - useful for showing status directly in a VIS dashboard without translating it yourself. Defaults to the ioBroker system language.": "Les points de données phase/state/program (ex. 'washing', 'off') sont des clés internes indépendantes de la langue, destinées aux automatisations. Ceci contrôle la langue des points de données *Text supplémentaires (ex. 'phaseText') qui contiennent une traduction prête à afficher - utile pour afficher le statut directement dans un tableau de bord VIS sans le traduire vous-même. Par défaut, la langue système d'ioBroker.",
|
|
132
137
|
"Time remaining": "Temps restant",
|
|
133
138
|
"To actually use this pattern, turn off \"Ignore saved anti-crease pattern\" in the device settings.": "Pour que ce motif soit réellement utilisé, désactivez « Ignorer le motif anti-froissage enregistré » dans les paramètres de l'appareil.",
|
|
134
139
|
"Trim": "Rogner",
|
|
@@ -137,6 +142,7 @@
|
|
|
137
142
|
"Wrong program": "Mauvais programme",
|
|
138
143
|
"confidence": "confiance",
|
|
139
144
|
"cycles": "cycles",
|
|
145
|
+
"detecting...": "détection...",
|
|
140
146
|
"e.g. Cotton 60°": "p. ex. Coton 60°",
|
|
141
147
|
"e.g. Washing machine": "p. ex. Lave-linge",
|
|
142
148
|
"e.g. name@example.com (blank = adapter default)": "p. ex. nom@exemple.com (vide = valeur par défaut de l'adaptateur)",
|
package/admin/i18n/it.json
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
+
"(any ioBroker data point)": "(qualsiasi data point ioBroker)",
|
|
2
3
|
"+ Create": "+ Crea",
|
|
3
4
|
"Adapter": "Adattatore",
|
|
4
5
|
"All (broadcast)": "Tutti (broadcast)",
|
|
@@ -38,6 +39,7 @@
|
|
|
38
39
|
"Device name": "Nome del dispositivo",
|
|
39
40
|
"Device type": "Tipo di dispositivo",
|
|
40
41
|
"Device:": "Dispositivo:",
|
|
42
|
+
"Display language": "Lingua di visualizzazione",
|
|
41
43
|
"Display name in the dashboard": "Nome visualizzato nella dashboard",
|
|
42
44
|
"Dryer settings": "Impostazioni asciugatrice",
|
|
43
45
|
"Duration": "Durata",
|
|
@@ -64,6 +66,7 @@
|
|
|
64
66
|
"Instant adoption from confidence (%)": "Adozione immediata a partire dalla confidenza (%)",
|
|
65
67
|
"Invalid JSON file": "File JSON non valido",
|
|
66
68
|
"JSON appears here after export…": "Il JSON appare qui dopo l'esportazione…",
|
|
69
|
+
"Language for phaseText/stateText/programText": "Lingua per phaseText/stateText/programText",
|
|
67
70
|
"Last cycle": "Ultimo ciclo",
|
|
68
71
|
"Last cycle not confidently detected. Please confirm or correct.": "Ultimo ciclo non rilevato con certezza. Conferma o correggi.",
|
|
69
72
|
"Learned on": "Appreso il",
|
|
@@ -128,7 +131,9 @@
|
|
|
128
131
|
"Start energy gate (Wh)": "Soglia energia di avvio (Wh)",
|
|
129
132
|
"Starting…": "Avvio…",
|
|
130
133
|
"Status": "Stato",
|
|
134
|
+
"System default": "Predefinito di sistema",
|
|
131
135
|
"Test message sent!": "Messaggio di prova inviato!",
|
|
136
|
+
"The phase/state/program data points (e.g. 'washing', 'off') are language-neutral internal keys, meant for automations. This controls the language of the extra *Text data points (e.g. 'phaseText') that hold a ready-to-display translation - useful for showing status directly in a VIS dashboard without translating it yourself. Defaults to the ioBroker system language.": "I punti dati phase/state/program (es. 'washing', 'off') sono chiavi interne indipendenti dalla lingua, pensate per le automazioni. Questo controlla la lingua dei punti dati *Text aggiuntivi (es. 'phaseText') che contengono una traduzione pronta per la visualizzazione - utile per mostrare lo stato direttamente in una dashboard VIS senza doverlo tradurre da soli. Per impostazione predefinita usa la lingua di sistema di ioBroker.",
|
|
132
137
|
"Time remaining": "Tempo rimanente",
|
|
133
138
|
"To actually use this pattern, turn off \"Ignore saved anti-crease pattern\" in the device settings.": "Per usare davvero questo modello, disattiva \"Ignora il modello anti-piega salvato\" nelle impostazioni del dispositivo.",
|
|
134
139
|
"Trim": "Taglia",
|
|
@@ -137,6 +142,7 @@
|
|
|
137
142
|
"Wrong program": "Programma errato",
|
|
138
143
|
"confidence": "confidenza",
|
|
139
144
|
"cycles": "cicli",
|
|
145
|
+
"detecting...": "rilevamento...",
|
|
140
146
|
"e.g. Cotton 60°": "es. Cotone 60°",
|
|
141
147
|
"e.g. Washing machine": "es. Lavatrice",
|
|
142
148
|
"e.g. name@example.com (blank = adapter default)": "es. nome@esempio.com (vuoto = predefinito dell'adattatore)",
|
package/admin/i18n/nl.json
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
+
"(any ioBroker data point)": "(elk ioBroker-datapunt)",
|
|
2
3
|
"+ Create": "+ Aanmaken",
|
|
3
4
|
"Adapter": "Adapter",
|
|
4
5
|
"All (broadcast)": "Alle (broadcast)",
|
|
@@ -38,6 +39,7 @@
|
|
|
38
39
|
"Device name": "Apparaatnaam",
|
|
39
40
|
"Device type": "Apparaattype",
|
|
40
41
|
"Device:": "Apparaat:",
|
|
42
|
+
"Display language": "Weergavetaal",
|
|
41
43
|
"Display name in the dashboard": "Weergavenaam in het dashboard",
|
|
42
44
|
"Dryer settings": "Drogerinstellingen",
|
|
43
45
|
"Duration": "Duur",
|
|
@@ -64,6 +66,7 @@
|
|
|
64
66
|
"Instant adoption from confidence (%)": "Directe overname vanaf betrouwbaarheid (%)",
|
|
65
67
|
"Invalid JSON file": "Ongeldig JSON-bestand",
|
|
66
68
|
"JSON appears here after export…": "JSON verschijnt hier na export…",
|
|
69
|
+
"Language for phaseText/stateText/programText": "Taal voor phaseText/stateText/programText",
|
|
67
70
|
"Last cycle": "Laatste cyclus",
|
|
68
71
|
"Last cycle not confidently detected. Please confirm or correct.": "Laatste cyclus niet zeker herkend. Bevestig of corrigeer.",
|
|
69
72
|
"Learned on": "Geleerd op",
|
|
@@ -128,7 +131,9 @@
|
|
|
128
131
|
"Start energy gate (Wh)": "Startenergiedrempel (Wh)",
|
|
129
132
|
"Starting…": "Start…",
|
|
130
133
|
"Status": "Status",
|
|
134
|
+
"System default": "Systeemstandaard",
|
|
131
135
|
"Test message sent!": "Testbericht verzonden!",
|
|
136
|
+
"The phase/state/program data points (e.g. 'washing', 'off') are language-neutral internal keys, meant for automations. This controls the language of the extra *Text data points (e.g. 'phaseText') that hold a ready-to-display translation - useful for showing status directly in a VIS dashboard without translating it yourself. Defaults to the ioBroker system language.": "De datapunten phase/state/program (bijv. 'washing', 'off') zijn taalneutrale interne sleutels, bedoeld voor automatiseringen. Dit bepaalt de taal van de extra *Text-datapunten (bijv. 'phaseText') die een kant-en-klare vertaling bevatten - handig om de status direct in een VIS-dashboard te tonen zonder zelf te vertalen. Standaard de ioBroker-systeemtaal.",
|
|
132
137
|
"Time remaining": "Resterende tijd",
|
|
133
138
|
"To actually use this pattern, turn off \"Ignore saved anti-crease pattern\" in the device settings.": "Om dit patroon daadwerkelijk te gebruiken, zet \"Opgeslagen kreukbeschermingspatroon negeren\" uit in de apparaatinstellingen.",
|
|
134
139
|
"Trim": "Bijsnijden",
|
|
@@ -137,6 +142,7 @@
|
|
|
137
142
|
"Wrong program": "Verkeerd programma",
|
|
138
143
|
"confidence": "betrouwbaarheid",
|
|
139
144
|
"cycles": "cycli",
|
|
145
|
+
"detecting...": "detecteren...",
|
|
140
146
|
"e.g. Cotton 60°": "bijv. Katoen 60°",
|
|
141
147
|
"e.g. Washing machine": "bijv. Wasmachine",
|
|
142
148
|
"e.g. name@example.com (blank = adapter default)": "bijv. naam@voorbeeld.com (leeg = adapterstandaard)",
|
package/admin/i18n/pl.json
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
+
"(any ioBroker data point)": "(dowolny punkt danych ioBroker)",
|
|
2
3
|
"+ Create": "+ Utwórz",
|
|
3
4
|
"Adapter": "Adapter",
|
|
4
5
|
"All (broadcast)": "Wszyscy (broadcast)",
|
|
@@ -38,6 +39,7 @@
|
|
|
38
39
|
"Device name": "Nazwa urządzenia",
|
|
39
40
|
"Device type": "Typ urządzenia",
|
|
40
41
|
"Device:": "Urządzenie:",
|
|
42
|
+
"Display language": "Język wyświetlania",
|
|
41
43
|
"Display name in the dashboard": "Nazwa wyświetlana na pulpicie",
|
|
42
44
|
"Dryer settings": "Ustawienia suszarki",
|
|
43
45
|
"Duration": "Czas trwania",
|
|
@@ -64,6 +66,7 @@
|
|
|
64
66
|
"Instant adoption from confidence (%)": "Natychmiastowe przyjęcie od pewności (%)",
|
|
65
67
|
"Invalid JSON file": "Nieprawidłowy plik JSON",
|
|
66
68
|
"JSON appears here after export…": "JSON pojawi się tutaj po eksporcie…",
|
|
69
|
+
"Language for phaseText/stateText/programText": "Język dla phaseText/stateText/programText",
|
|
67
70
|
"Last cycle": "Ostatni cykl",
|
|
68
71
|
"Last cycle not confidently detected. Please confirm or correct.": "Ostatni cykl nie został wykryty z pewnością. Potwierdź lub popraw.",
|
|
69
72
|
"Learned on": "Nauczono się",
|
|
@@ -128,7 +131,9 @@
|
|
|
128
131
|
"Start energy gate (Wh)": "Próg energii startowej (Wh)",
|
|
129
132
|
"Starting…": "Uruchamianie…",
|
|
130
133
|
"Status": "Status",
|
|
134
|
+
"System default": "Domyślny systemowy",
|
|
131
135
|
"Test message sent!": "Wysłano wiadomość testową!",
|
|
136
|
+
"The phase/state/program data points (e.g. 'washing', 'off') are language-neutral internal keys, meant for automations. This controls the language of the extra *Text data points (e.g. 'phaseText') that hold a ready-to-display translation - useful for showing status directly in a VIS dashboard without translating it yourself. Defaults to the ioBroker system language.": "Punkty danych phase/state/program (np. 'washing', 'off') to niezależne od języka klucze wewnętrzne, przeznaczone do automatyzacji. To ustawienie kontroluje język dodatkowych punktów danych *Text (np. 'phaseText'), które zawierają gotowe do wyświetlenia tłumaczenie - przydatne do pokazywania statusu bezpośrednio w panelu VIS bez własnoręcznego tłumaczenia. Domyślnie język systemowy ioBroker.",
|
|
132
137
|
"Time remaining": "Pozostały czas",
|
|
133
138
|
"To actually use this pattern, turn off \"Ignore saved anti-crease pattern\" in the device settings.": "Aby ten wzorzec był rzeczywiście używany, wyłącz \"Ignoruj zapisany wzorzec przeciw gnieceniu\" w ustawieniach urządzenia.",
|
|
134
139
|
"Trim": "Przytnij",
|
|
@@ -137,6 +142,7 @@
|
|
|
137
142
|
"Wrong program": "Zły program",
|
|
138
143
|
"confidence": "pewność",
|
|
139
144
|
"cycles": "cykli",
|
|
145
|
+
"detecting...": "wykrywanie...",
|
|
140
146
|
"e.g. Cotton 60°": "np. Bawełna 60°",
|
|
141
147
|
"e.g. Washing machine": "np. Pralka",
|
|
142
148
|
"e.g. name@example.com (blank = adapter default)": "np. nazwa@przyklad.com (puste = domyślne adaptera)",
|
package/admin/i18n/pt.json
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
+
"(any ioBroker data point)": "(qualquer ponto de dados do ioBroker)",
|
|
2
3
|
"+ Create": "+ Criar",
|
|
3
4
|
"Adapter": "Adaptador",
|
|
4
5
|
"All (broadcast)": "Todos (broadcast)",
|
|
@@ -38,6 +39,7 @@
|
|
|
38
39
|
"Device name": "Nome do dispositivo",
|
|
39
40
|
"Device type": "Tipo de dispositivo",
|
|
40
41
|
"Device:": "Dispositivo:",
|
|
42
|
+
"Display language": "Idioma de exibição",
|
|
41
43
|
"Display name in the dashboard": "Nome de exibição no painel",
|
|
42
44
|
"Dryer settings": "Configurações da secadora",
|
|
43
45
|
"Duration": "Duração",
|
|
@@ -64,6 +66,7 @@
|
|
|
64
66
|
"Instant adoption from confidence (%)": "Adoção instantânea a partir da confiança (%)",
|
|
65
67
|
"Invalid JSON file": "Arquivo JSON inválido",
|
|
66
68
|
"JSON appears here after export…": "O JSON aparece aqui após a exportação…",
|
|
69
|
+
"Language for phaseText/stateText/programText": "Idioma para phaseText/stateText/programText",
|
|
67
70
|
"Last cycle": "Último ciclo",
|
|
68
71
|
"Last cycle not confidently detected. Please confirm or correct.": "O último ciclo não foi detectado com confiança. Confirme ou corrija.",
|
|
69
72
|
"Learned on": "Aprendido em",
|
|
@@ -128,7 +131,9 @@
|
|
|
128
131
|
"Start energy gate (Wh)": "Limiar de energia de início (Wh)",
|
|
129
132
|
"Starting…": "Iniciando…",
|
|
130
133
|
"Status": "Status",
|
|
134
|
+
"System default": "Padrão do sistema",
|
|
131
135
|
"Test message sent!": "Mensagem de teste enviada!",
|
|
136
|
+
"The phase/state/program data points (e.g. 'washing', 'off') are language-neutral internal keys, meant for automations. This controls the language of the extra *Text data points (e.g. 'phaseText') that hold a ready-to-display translation - useful for showing status directly in a VIS dashboard without translating it yourself. Defaults to the ioBroker system language.": "Os pontos de dados phase/state/program (por ex. 'washing', 'off') são chaves internas independentes de idioma, destinadas a automações. Isso controla o idioma dos pontos de dados *Text adicionais (por ex. 'phaseText') que contêm uma tradução pronta para exibição - útil para mostrar o status diretamente em um painel VIS sem traduzir você mesmo. O padrão é o idioma do sistema ioBroker.",
|
|
132
137
|
"Time remaining": "Tempo restante",
|
|
133
138
|
"To actually use this pattern, turn off \"Ignore saved anti-crease pattern\" in the device settings.": "Para que este padrão seja realmente usado, desative \"Ignorar padrão salvo de anti-amarrotamento\" nas configurações do dispositivo.",
|
|
134
139
|
"Trim": "Aparar",
|
|
@@ -137,6 +142,7 @@
|
|
|
137
142
|
"Wrong program": "Programa errado",
|
|
138
143
|
"confidence": "confiança",
|
|
139
144
|
"cycles": "ciclos",
|
|
145
|
+
"detecting...": "detectando...",
|
|
140
146
|
"e.g. Cotton 60°": "ex. Algodão 60°",
|
|
141
147
|
"e.g. Washing machine": "ex. Máquina de lavar",
|
|
142
148
|
"e.g. name@example.com (blank = adapter default)": "ex. nome@exemplo.com (vazio = padrão do adaptador)",
|
package/admin/i18n/ru.json
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
+
"(any ioBroker data point)": "(любая точка данных ioBroker)",
|
|
2
3
|
"+ Create": "+ Создать",
|
|
3
4
|
"Adapter": "Адаптер",
|
|
4
5
|
"All (broadcast)": "Все (рассылка)",
|
|
@@ -38,6 +39,7 @@
|
|
|
38
39
|
"Device name": "Имя устройства",
|
|
39
40
|
"Device type": "Тип устройства",
|
|
40
41
|
"Device:": "Устройство:",
|
|
42
|
+
"Display language": "Язык отображения",
|
|
41
43
|
"Display name in the dashboard": "Отображаемое имя на панели",
|
|
42
44
|
"Dryer settings": "Настройки сушилки",
|
|
43
45
|
"Duration": "Длительность",
|
|
@@ -64,6 +66,7 @@
|
|
|
64
66
|
"Instant adoption from confidence (%)": "Мгновенное принятие от уверенности (%)",
|
|
65
67
|
"Invalid JSON file": "Неверный JSON-файл",
|
|
66
68
|
"JSON appears here after export…": "JSON появится здесь после экспорта…",
|
|
69
|
+
"Language for phaseText/stateText/programText": "Язык для phaseText/stateText/programText",
|
|
67
70
|
"Last cycle": "Последний цикл",
|
|
68
71
|
"Last cycle not confidently detected. Please confirm or correct.": "Последний цикл определён неуверенно. Пожалуйста, подтвердите или исправьте.",
|
|
69
72
|
"Learned on": "Изучено",
|
|
@@ -128,7 +131,9 @@
|
|
|
128
131
|
"Start energy gate (Wh)": "Порог стартовой энергии (Втч)",
|
|
129
132
|
"Starting…": "Запускается…",
|
|
130
133
|
"Status": "Статус",
|
|
134
|
+
"System default": "Системный по умолчанию",
|
|
131
135
|
"Test message sent!": "Тестовое сообщение отправлено!",
|
|
136
|
+
"The phase/state/program data points (e.g. 'washing', 'off') are language-neutral internal keys, meant for automations. This controls the language of the extra *Text data points (e.g. 'phaseText') that hold a ready-to-display translation - useful for showing status directly in a VIS dashboard without translating it yourself. Defaults to the ioBroker system language.": "Точки данных phase/state/program (например, 'washing', 'off') - это независимые от языка внутренние ключи, предназначенные для автоматизаций. Это управляет языком дополнительных точек данных *Text (например, 'phaseText'), которые содержат готовый к отображению перевод - полезно для показа статуса прямо в панели VIS без самостоятельного перевода. По умолчанию используется системный язык ioBroker.",
|
|
132
137
|
"Time remaining": "Оставшееся время",
|
|
133
138
|
"To actually use this pattern, turn off \"Ignore saved anti-crease pattern\" in the device settings.": "Чтобы шаблон действительно использовался, отключите «Игнорировать сохранённый шаблон защиты от сминания» в настройках устройства.",
|
|
134
139
|
"Trim": "Обрезать",
|
|
@@ -137,6 +142,7 @@
|
|
|
137
142
|
"Wrong program": "Неправильная программа",
|
|
138
143
|
"confidence": "уверенность",
|
|
139
144
|
"cycles": "циклов",
|
|
145
|
+
"detecting...": "определение...",
|
|
140
146
|
"e.g. Cotton 60°": "напр. Хлопок 60°",
|
|
141
147
|
"e.g. Washing machine": "напр. Стиральная машина",
|
|
142
148
|
"e.g. name@example.com (blank = adapter default)": "напр. name@example.com (пусто = по умолчанию адаптера)",
|
package/admin/i18n/uk.json
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
+
"(any ioBroker data point)": "(будь-яка точка даних ioBroker)",
|
|
2
3
|
"+ Create": "+ Створити",
|
|
3
4
|
"Adapter": "Адаптер",
|
|
4
5
|
"All (broadcast)": "Усі (розсилка)",
|
|
@@ -38,6 +39,7 @@
|
|
|
38
39
|
"Device name": "Назва пристрою",
|
|
39
40
|
"Device type": "Тип пристрою",
|
|
40
41
|
"Device:": "Пристрій:",
|
|
42
|
+
"Display language": "Мова відображення",
|
|
41
43
|
"Display name in the dashboard": "Ім'я, що відображається на панелі",
|
|
42
44
|
"Dryer settings": "Налаштування сушарки",
|
|
43
45
|
"Duration": "Тривалість",
|
|
@@ -64,6 +66,7 @@
|
|
|
64
66
|
"Instant adoption from confidence (%)": "Миттєве прийняття від довіри (%)",
|
|
65
67
|
"Invalid JSON file": "Недійсний файл JSON",
|
|
66
68
|
"JSON appears here after export…": "JSON з'явиться тут після експорту…",
|
|
69
|
+
"Language for phaseText/stateText/programText": "Мова для phaseText/stateText/programText",
|
|
67
70
|
"Last cycle": "Останній цикл",
|
|
68
71
|
"Last cycle not confidently detected. Please confirm or correct.": "Останній цикл визначено невпевнено. Підтвердіть або виправте.",
|
|
69
72
|
"Learned on": "Вивчено",
|
|
@@ -128,7 +131,9 @@
|
|
|
128
131
|
"Start energy gate (Wh)": "Поріг стартової енергії (Втгод)",
|
|
129
132
|
"Starting…": "Запускається…",
|
|
130
133
|
"Status": "Статус",
|
|
134
|
+
"System default": "Системна за замовчуванням",
|
|
131
135
|
"Test message sent!": "Тестове повідомлення надіслано!",
|
|
136
|
+
"The phase/state/program data points (e.g. 'washing', 'off') are language-neutral internal keys, meant for automations. This controls the language of the extra *Text data points (e.g. 'phaseText') that hold a ready-to-display translation - useful for showing status directly in a VIS dashboard without translating it yourself. Defaults to the ioBroker system language.": "Точки даних phase/state/program (наприклад, 'washing', 'off') - це незалежні від мови внутрішні ключі, призначені для автоматизацій. Це керує мовою додаткових точок даних *Text (наприклад, 'phaseText'), які містять готовий до показу переклад - корисно для показу статусу прямо на панелі VIS без самостійного перекладу. За замовчуванням використовується системна мова ioBroker.",
|
|
132
137
|
"Time remaining": "Час, що залишився",
|
|
133
138
|
"To actually use this pattern, turn off \"Ignore saved anti-crease pattern\" in the device settings.": "Щоб цей шаблон дійсно використовувався, вимкніть «Ігнорувати збережений шаблон захисту від зминання» в налаштуваннях пристрою.",
|
|
134
139
|
"Trim": "Обрізати",
|
|
@@ -137,6 +142,7 @@
|
|
|
137
142
|
"Wrong program": "Неправильна програма",
|
|
138
143
|
"confidence": "довіра",
|
|
139
144
|
"cycles": "циклів",
|
|
145
|
+
"detecting...": "визначення...",
|
|
140
146
|
"e.g. Cotton 60°": "напр. Бавовна 60°",
|
|
141
147
|
"e.g. Washing machine": "напр. Пральна машина",
|
|
142
148
|
"e.g. name@example.com (blank = adapter default)": "напр. name@example.com (порожньо = типове значення адаптера)",
|
package/admin/i18n/zh-cn.json
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
+
"(any ioBroker data point)": "(任意 ioBroker 数据点)",
|
|
2
3
|
"+ Create": "+ 创建",
|
|
3
4
|
"Adapter": "适配器",
|
|
4
5
|
"All (broadcast)": "所有人(广播)",
|
|
@@ -38,6 +39,7 @@
|
|
|
38
39
|
"Device name": "设备名称",
|
|
39
40
|
"Device type": "设备类型",
|
|
40
41
|
"Device:": "设备:",
|
|
42
|
+
"Display language": "显示语言",
|
|
41
43
|
"Display name in the dashboard": "仪表板中显示的名称",
|
|
42
44
|
"Dryer settings": "烘干机设置",
|
|
43
45
|
"Duration": "时长",
|
|
@@ -64,6 +66,7 @@
|
|
|
64
66
|
"Instant adoption from confidence (%)": "即时采用置信度(%)",
|
|
65
67
|
"Invalid JSON file": "无效的JSON文件",
|
|
66
68
|
"JSON appears here after export…": "导出后JSON将显示在此处…",
|
|
69
|
+
"Language for phaseText/stateText/programText": "phaseText/stateText/programText 的语言",
|
|
67
70
|
"Last cycle": "上次周期",
|
|
68
71
|
"Last cycle not confidently detected. Please confirm or correct.": "未能确信地检测到上次周期。请确认或更正。",
|
|
69
72
|
"Learned on": "学习于",
|
|
@@ -128,7 +131,9 @@
|
|
|
128
131
|
"Start energy gate (Wh)": "启动能量阈值(瓦时)",
|
|
129
132
|
"Starting…": "启动中…",
|
|
130
133
|
"Status": "状态",
|
|
134
|
+
"System default": "系统默认",
|
|
131
135
|
"Test message sent!": "测试消息已发送!",
|
|
136
|
+
"The phase/state/program data points (e.g. 'washing', 'off') are language-neutral internal keys, meant for automations. This controls the language of the extra *Text data points (e.g. 'phaseText') that hold a ready-to-display translation - useful for showing status directly in a VIS dashboard without translating it yourself. Defaults to the ioBroker system language.": "phase/state/program 数据点(例如 'washing'、'off')是与语言无关的内部键,供自动化使用。此设置控制额外的 *Text 数据点(例如 'phaseText')的语言,这些数据点包含可直接显示的翻译——便于在 VIS 仪表盘中直接显示状态而无需自行翻译。默认使用 ioBroker 系统语言。",
|
|
132
137
|
"Time remaining": "剩余时间",
|
|
133
138
|
"To actually use this pattern, turn off \"Ignore saved anti-crease pattern\" in the device settings.": "要真正使用此模式,请在设备设置中关闭\"忽略已保存的防皱模式\"。",
|
|
134
139
|
"Trim": "修剪",
|
|
@@ -137,6 +142,7 @@
|
|
|
137
142
|
"Wrong program": "错误的程序",
|
|
138
143
|
"confidence": "置信度",
|
|
139
144
|
"cycles": "个周期",
|
|
145
|
+
"detecting...": "检测中...",
|
|
140
146
|
"e.g. Cotton 60°": "例如:棉质60°",
|
|
141
147
|
"e.g. Washing machine": "例如:洗衣机",
|
|
142
148
|
"e.g. name@example.com (blank = adapter default)": "例如:name@example.com(留空=适配器默认值)",
|
package/admin/jsonConfig.json
CHANGED
|
@@ -261,6 +261,52 @@
|
|
|
261
261
|
"md": 6,
|
|
262
262
|
"lg": 4,
|
|
263
263
|
"xl": 4
|
|
264
|
+
},
|
|
265
|
+
"_sep4": {
|
|
266
|
+
"type": "divider",
|
|
267
|
+
"xs": 12,
|
|
268
|
+
"sm": 12,
|
|
269
|
+
"md": 12,
|
|
270
|
+
"lg": 12,
|
|
271
|
+
"xl": 12
|
|
272
|
+
},
|
|
273
|
+
"_hdr4": {
|
|
274
|
+
"type": "staticText",
|
|
275
|
+
"text": "Display language",
|
|
276
|
+
"style": {
|
|
277
|
+
"fontWeight": "bold",
|
|
278
|
+
"marginTop": "8px"
|
|
279
|
+
},
|
|
280
|
+
"xs": 12,
|
|
281
|
+
"sm": 12,
|
|
282
|
+
"md": 12,
|
|
283
|
+
"lg": 12,
|
|
284
|
+
"xl": 12
|
|
285
|
+
},
|
|
286
|
+
"displayLanguage": {
|
|
287
|
+
"type": "select",
|
|
288
|
+
"label": "Language for phaseText/stateText/programText",
|
|
289
|
+
"options": [
|
|
290
|
+
{ "label": "System default", "value": "" },
|
|
291
|
+
{ "label": "English", "value": "en" },
|
|
292
|
+
{ "label": "Deutsch", "value": "de" },
|
|
293
|
+
{ "label": "Русский", "value": "ru" },
|
|
294
|
+
{ "label": "Português", "value": "pt" },
|
|
295
|
+
{ "label": "Nederlands", "value": "nl" },
|
|
296
|
+
{ "label": "Français", "value": "fr" },
|
|
297
|
+
{ "label": "Italiano", "value": "it" },
|
|
298
|
+
{ "label": "Español", "value": "es" },
|
|
299
|
+
{ "label": "Polski", "value": "pl" },
|
|
300
|
+
{ "label": "Українська", "value": "uk" },
|
|
301
|
+
{ "label": "中文 (简体)", "value": "zh-cn" }
|
|
302
|
+
],
|
|
303
|
+
"default": "",
|
|
304
|
+
"help": "The phase/state/program data points (e.g. 'washing', 'off') are language-neutral internal keys, meant for automations. This controls the language of the extra *Text data points (e.g. 'phaseText') that hold a ready-to-display translation - useful for showing status directly in a VIS dashboard without translating it yourself. Defaults to the ioBroker system language.",
|
|
305
|
+
"xs": 12,
|
|
306
|
+
"sm": 12,
|
|
307
|
+
"md": 6,
|
|
308
|
+
"lg": 4,
|
|
309
|
+
"xl": 4
|
|
264
310
|
}
|
|
265
311
|
}
|
|
266
312
|
}
|