iobroker.kanban 0.3.0 → 0.3.1
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 +15 -3
- package/admin/i18n/de.json +100 -100
- package/admin/i18n/en.json +100 -100
- package/admin/i18n/es.json +100 -100
- package/admin/i18n/fr.json +100 -100
- package/admin/i18n/it.json +100 -100
- package/admin/i18n/nl.json +100 -100
- package/admin/i18n/pl.json +100 -100
- package/admin/i18n/pt.json +100 -100
- package/admin/i18n/ru.json +100 -100
- package/admin/i18n/uk.json +100 -100
- package/admin/i18n/zh-cn.json +100 -100
- package/admin/jsonConfig.json +668 -668
- package/io-package.json +14 -79
- package/lib/adapter-config.d.ts +44 -0
- package/lib/cron.js +203 -203
- package/lib/dueat.js +77 -77
- package/lib/events.js +24 -24
- package/lib/holidays.js +167 -167
- package/lib/i18n-server.js +301 -301
- package/lib/notify.js +627 -627
- package/lib/scheduler.js +198 -198
- package/lib/server.js +799 -799
- package/lib/store.js +1500 -1500
- package/main.js +382 -382
- package/package.json +8 -2
- package/www/css/app.css +1022 -1022
- package/www/i18n/de.json +238 -238
- package/www/i18n/en.json +238 -238
- package/www/i18n/es.json +238 -238
- package/www/i18n/fr.json +238 -238
- package/www/i18n/it.json +238 -238
- package/www/i18n/nl.json +238 -238
- package/www/i18n/pl.json +238 -238
- package/www/i18n/pt.json +238 -238
- package/www/i18n/ru.json +238 -238
- package/www/i18n/uk.json +238 -238
- package/www/i18n/zh-cn.json +238 -238
- package/www/index.html +171 -171
- package/www/js/api.js +98 -98
- package/www/js/app.js +411 -411
- package/www/js/board.js +983 -983
- package/www/js/colorpicker.js +165 -165
- package/www/js/dialogs.js +1419 -1419
package/README.md
CHANGED
|
@@ -119,17 +119,27 @@ Details: [Security & access control](docs/en/README.md#security--access-control)
|
|
|
119
119
|
|
|
120
120
|
## Changelog
|
|
121
121
|
|
|
122
|
+
<!-- Der Platzhalter bleibt stehen. release-script trägt hier die
|
|
123
|
+
nächste Version ein und ersetzt die Überschrift. -->
|
|
124
|
+
### 0.3.1 (2026-08-19)
|
|
125
|
+
* (bmueller77) Releases are now built and published by CI when a version tag is pushed, signed with provenance through npm trusted publishing. The 0.3.0 package was published by hand and carries no signature, which is what the repository checker flags as E2008 and E3032
|
|
126
|
+
* (bmueller77) The workflow follows the ioBroker standard now: separate `check-and-lint` and `adapter-tests` jobs, a trigger for `v*` tags, a concurrency group per branch, and a `deploy` job that also creates the GitHub release. Adapter tests run on Node 22 and 24 across Linux, Windows and macOS instead of Linux alone
|
|
127
|
+
* (bmueller77) Type checking for the adapter sources (`tsconfig.json` on `@tsconfig/node22`), with `lib/adapter-config.d.ts` declaring the 29 fields of the instance configuration, so a typo in `adapter.config.<field>` surfaces instead of silently reading `undefined`
|
|
128
|
+
* (bmueller77) `npm run lint` is usable again. Prettier flagged every line of every file on a Windows checkout because the repository stores LF and git checks out CRLF; it now accepts the line ending a file arrives with
|
|
129
|
+
* (bmueller77) `common.news` lists only the versions that actually exist on npm, so the changelog shown in the admin matches what can be installed
|
|
130
|
+
* (bmueller77) Internal: the day difference of the "every X days" recurrence is computed from `getTime()` on both dates rather than subtracting the Date objects. Same result, without the implicit conversion
|
|
131
|
+
|
|
122
132
|
### 0.3.0 (2026-08-04)
|
|
123
133
|
* (bmueller77) **Trash**: deleting a card no longer removes it immediately, it moves to a per-board **Trash** column and can be restored for **30 days**, after which it is deleted permanently. The trash column is hidden by default and can be shown per device (board settings). It has its own fixed grey styling, is sorted by deletion time and shows the remaining days per card
|
|
124
134
|
* (bmueller77) Optional **automatic cleanup** of old done cards per board, by **age** (default 90 days) or by **count** (default 100), moving them into the trash daily and on adapter start
|
|
125
|
-
* (bmueller77) **Per-column sorting**: a toggle in the column header opens a menu with five modes, drag & drop, drag handles, due date (incl. time, cards without a date last), priority and age in column (most recently added on top, e.g. the last card you completed). For the automatic modes a **direction toggle** sits next to it and reverses the order with one click. Mode and direction are stored per device; returning to the manual modes restores your own order. Requested by @lyc in the [ioBroker forum](https://forum.iobroker.net/topic/85030/neuer-adapter-kanban-board) (post #5), tracked as [#10](https://github.com/bmueller77/
|
|
126
|
-
* (bmueller77) Cards can be **moved or copied to another board**: labels are matched by name, assignees are limited to members of the target board, and if none remain you are asked to pick one. Requested by @lyc in the [ioBroker forum](https://forum.iobroker.net/topic/85030/neuer-adapter-kanban-board) (post #5), tracked as [#11](https://github.com/bmueller77/
|
|
135
|
+
* (bmueller77) **Per-column sorting**: a toggle in the column header opens a menu with five modes, drag & drop, drag handles, due date (incl. time, cards without a date last), priority and age in column (most recently added on top, e.g. the last card you completed). For the automatic modes a **direction toggle** sits next to it and reverses the order with one click. Mode and direction are stored per device; returning to the manual modes restores your own order. Requested by @lyc in the [ioBroker forum](https://forum.iobroker.net/topic/85030/neuer-adapter-kanban-board) (post #5), tracked as [#10](https://github.com/bmueller77/ioBroker.kanban/issues/10)
|
|
136
|
+
* (bmueller77) Cards can be **moved or copied to another board**: labels are matched by name, assignees are limited to members of the target board, and if none remain you are asked to pick one. Requested by @lyc in the [ioBroker forum](https://forum.iobroker.net/topic/85030/neuer-adapter-kanban-board) (post #5), tracked as [#11](https://github.com/bmueller77/ioBroker.kanban/issues/11)
|
|
127
137
|
* (bmueller77) The same dialog can **clone a card in place**: three buttons at the top (clone / copy / move) decide what happens, and a clone duplicates the card with all its content directly below the original
|
|
128
138
|
* (bmueller77) **Recurrence by cron expression**: a new recurrence type takes the usual five fields (`0 8 * * 1-5`) with lists, ranges, steps and the English short names for month and weekday. The expression works as a pattern, not as a schedule: the adapter uses it to find the next due date when a card is ticked off. Minute and hour set the time of the card, and the editor shows the rule in plain words plus the next three dates while you type. Simple patterns also become a proper recurring calendar invitation
|
|
129
139
|
* (bmueller77) Recurring cards now produce a **series invite** (`RRULE`) instead of one single event per instance, and the invite is sent **once**: follow-up cards attach nothing, an updated invite (same `UID`, higher `SEQUENCE`) only follows a change of due date, time, duration or recurrence rule
|
|
130
140
|
* (bmueller77) Calendar invites get an adjustable **duration** (`calendarDuration`, `HH:MM`, default one hour) next to the calendar checkbox
|
|
131
141
|
* (bmueller77) Done cards now show a **strikethrough title**, a **completion timestamp** in the configured date/time format, and a **copy button** that opens the editor with the same content
|
|
132
|
-
* (bmueller77) The **"Email" tab is now called "Notifications"** and is sorted so that the mail settings come first: adapter instance, sender, reminder time, lead time, the card-precise due trigger, then the per-event defaults. The pointer to other services (Telegram, Pushover and the rest through the lastEvent state or an outbound webhook) sat in the middle of the mail settings and now closes the tab under its own heading, linking straight to the docs section that walks through it. Native messenger support stays open as [#12](https://github.com/bmueller77/
|
|
142
|
+
* (bmueller77) The **"Email" tab is now called "Notifications"** and is sorted so that the mail settings come first: adapter instance, sender, reminder time, lead time, the card-precise due trigger, then the per-event defaults. The pointer to other services (Telegram, Pushover and the rest through the lastEvent state or an outbound webhook) sat in the middle of the mail settings and now closes the tab under its own heading, linking straight to the docs section that walks through it. Native messenger support stays open as [#12](https://github.com/bmueller77/ioBroker.kanban/issues/12), raised by @lyc in the [ioBroker forum](https://forum.iobroker.net/topic/85030/neuer-adapter-kanban-board) (posts #5 and #6)
|
|
133
143
|
* (bmueller77) New events **cardRestored** and **cardPurged**; `cardDeleted` now means "moved to trash" (automatic cleanup adds `detail.auto`). Per-user e-mail toggles for all three; automatic cleanup runs are bundled into one summary e-mail per user
|
|
134
144
|
* (bmueller77) The **created** notification now reaches all members of the board instead of only the assignees of the card, so you also hear about cards someone else is responsible for
|
|
135
145
|
* (bmueller77) Every notification event and every card returned by the **REST API** now carries the computed field **`dueAt`**, the due date including time as an ISO timestamp with local offset (no time = 00:00), so automations no longer need to combine `due` + `dueTime` + time zone themselves
|
|
@@ -195,6 +205,8 @@ Details: [Security & access control](docs/en/README.md#security--access-control)
|
|
|
195
205
|
- **0.1.1**, Security: token-protected write API, sanitized Markdown preview, CSP, safe link schemes
|
|
196
206
|
- **0.1.0**, Initial release
|
|
197
207
|
|
|
208
|
+
[Older changelogs can be found here](CHANGELOG_OLD.md)
|
|
209
|
+
|
|
198
210
|
## Acknowledgements
|
|
199
211
|
|
|
200
212
|
Built with the support of Anthropic's **Claude**, in particular for the translations of the web UI and this documentation (English, French, Dutch, Italian), as well as testing and documentation review.
|
package/admin/i18n/de.json
CHANGED
|
@@ -1,100 +1,100 @@
|
|
|
1
|
-
{
|
|
2
|
-
"emailTab__hdr_text": "Vorgabe (gilt, wenn beim Benutzer nichts gesetzt ist)",
|
|
3
|
-
"emailTab__otherHdr_text": "Andere Dienste (Telegram, Pushover, …)",
|
|
4
|
-
"emailTab__otherServicesHint_text": "Eingebaut ist nur E-Mail. Jeder andere Dienst läuft über den lastEvent-State oder einen ausgehenden Webhook — die Doku zeigt das an einem Telegram-Skript zum Kopieren.",
|
|
5
|
-
"emailTab__otherServicesLink_label": "An Telegram, Pushover und andere schicken",
|
|
6
|
-
"emailTab_dueExact_help": "Zusätzlich zur täglichen Erinnerung: Karten mit Uhrzeit lösen cardDue genau dann aus (detail.exact = true). Achtung: Damit geht auch eine zweite „Fällig\"-E-Mail an alle raus, die diese Benachrichtigung aktiviert haben.",
|
|
7
|
-
"emailTab_dueExact_label": "„Karte fällig\" zur Uhrzeit der Karte auslösen",
|
|
8
|
-
"emailTab_emailFrom_label": "Absenderadresse (leer = Adapter-Vorgabe)",
|
|
9
|
-
"emailTab_emailInstance_label": "E-Mail-Adapter-Instanz",
|
|
10
|
-
"emailTab_label": "Benachrichtigungen",
|
|
11
|
-
"emailTab_notifyAssigned_label": "Karte zugewiesen",
|
|
12
|
-
"emailTab_notifyCreated_label": "Karte angelegt",
|
|
13
|
-
"emailTab_notifyDeleted_label": "In den Papierkorb",
|
|
14
|
-
"emailTab_notifyDone_label": "Karte erledigt",
|
|
15
|
-
"emailTab_notifyDue_label": "Karte fällig/überfällig",
|
|
16
|
-
"emailTab_notifyMoved_label": "Karte verschoben",
|
|
17
|
-
"emailTab_notifyPurged_label": "Endgültig gelöscht",
|
|
18
|
-
"emailTab_notifyRestored_label": "Karte wiederhergestellt",
|
|
19
|
-
"emailTab_notifyUpdated_label": "Karte geändert",
|
|
20
|
-
"emailTab_reminderDaysBefore_label": "X Tage vor Fälligkeit erinnern",
|
|
21
|
-
"emailTab_reminderTime_label": "Erinnerungs-Uhrzeit (HH:MM)",
|
|
22
|
-
"emailTab_reminderTime_validatorErrorText": "Bitte im Format HH:MM angeben, z. B. 07:30.",
|
|
23
|
-
"generalTab_accentColor_label": "Akzentfarbe",
|
|
24
|
-
"generalTab_bind_label": "IP-Adresse",
|
|
25
|
-
"generalTab_customCss_help": "Wird als letztes Stylesheet in der Board-Oberfläche geladen",
|
|
26
|
-
"generalTab_customCss_label": "Eigenes CSS",
|
|
27
|
-
"generalTab_dateFormat_help": "Leer = ioBroker-Systemformat. Platzhalter: D/DD Tag, M/MM Monat, MMM/MMMM Monatsname, YY/YYYY Jahr, ddd/dddd Wochentag (z.B. DD. MMMM YYYY)",
|
|
28
|
-
"generalTab_dateFormat_label": "Datumsformat",
|
|
29
|
-
"generalTab_label": "Allgemein",
|
|
30
|
-
"generalTab_language_help": "Leer/Automatisch = ioBroker-Systemsprache",
|
|
31
|
-
"generalTab_language_label": "Sprache",
|
|
32
|
-
"generalTab_language_options10_label": "Українська",
|
|
33
|
-
"generalTab_language_options11_label": "中文",
|
|
34
|
-
"generalTab_language_options6_label": "Español",
|
|
35
|
-
"generalTab_language_options7_label": "Polski",
|
|
36
|
-
"generalTab_language_options8_label": "Português",
|
|
37
|
-
"generalTab_language_options9_label": "Русский",
|
|
38
|
-
"generalTab_language_options_0_label": "Automatisch (System)",
|
|
39
|
-
"generalTab_language_options_1_label": "Deutsch",
|
|
40
|
-
"generalTab_language_options_2_label": "English",
|
|
41
|
-
"generalTab_language_options_3_label": "Français",
|
|
42
|
-
"generalTab_language_options_4_label": "Nederlands",
|
|
43
|
-
"generalTab_language_options_5_label": "Italiano",
|
|
44
|
-
"generalTab_port_label": "Port",
|
|
45
|
-
"generalTab_publicUrl_help": "z.B. http://192.168.1.10:8095 — leer = automatisch",
|
|
46
|
-
"generalTab_publicUrl_label": "Basis-URL (für Links in E-Mails)",
|
|
47
|
-
"generalTab_themeDefault_label": "Standard-Theme",
|
|
48
|
-
"generalTab_themeDefault_options_0_label": "Automatisch (System)",
|
|
49
|
-
"generalTab_themeDefault_options_1_label": "Hell",
|
|
50
|
-
"generalTab_themeDefault_options_2_label": "Dunkel",
|
|
51
|
-
"generalTab_timeFormat_label": "Uhrzeit-Format",
|
|
52
|
-
"generalTab_timeFormat_options_0_label": "24-Stunden (14:00)",
|
|
53
|
-
"generalTab_timeFormat_options_1_label": "12-Stunden (2:00 PM)",
|
|
54
|
-
"usersTab__info_text": "Benutzer können Karten zugewiesen werden. Kein Login — die Benutzer-Chips in der Board-Kopfzeile dienen als Filter.",
|
|
55
|
-
"usersTab__notifyInfo_text": "Nicht angehakt = globale Vorgabe (Tab „Benachrichtigungen\"). Eine E-Mail wird nur gesendet, wenn beim Benutzer eine Adresse hinterlegt und der Tab konfiguriert ist. Automatische Aufräumläufe werden zu einer Sammelmail je Benutzer gebündelt.",
|
|
56
|
-
"usersTab__notifyLegend_text": "<div style='font-size:0.85rem;line-height:1.5;opacity:0.85'><b>Was die Spalten bedeuten</b><table style='border-collapse:collapse'><tr><td style='padding:1px 12px 1px 0;white-space:nowrap'><b>→ Zugew.</b></td><td>dem Benutzer wurde eine Karte zugewiesen, auch nachträglich bei einer bestehenden Karte</td></tr><tr><td style='padding:1px 12px 1px 0;white-space:nowrap'><b>→ Fällig</b></td><td>eine offene Karte des Benutzers ist fällig, überfällig oder rückt in die eingestellten Tage vor Fälligkeit. Die Erinnerung wiederholt sich täglich zur Erinnerungs-Uhrzeit</td></tr><tr><td style='padding:1px 12px 1px 0;white-space:nowrap'><b>→ Geänd.</b></td><td>eine Karte des Benutzers wurde bearbeitet</td></tr><tr><td style='padding:1px 12px 1px 0;white-space:nowrap'><b>→ Versch.</b></td><td>eine Karte des Benutzers wurde in eine andere Spalte verschoben</td></tr><tr><td style='padding:1px 12px 1px 0;white-space:nowrap'><b>→ Erled.</b></td><td>eine Karte des Benutzers wurde als erledigt markiert</td></tr><tr><td style='padding:1px 12px 1px 0;white-space:nowrap'><b>→ Neu</b></td><td>in einem Board, in dem der Benutzer Mitglied ist, wurde eine neue Karte angelegt, ganz gleich wer zuständig ist. Das gilt auch für Kopien aus einem anderen Board und für Folgekarten von Wiederholungen</td></tr><tr><td style='padding:1px 12px 1px 0;white-space:nowrap'><b>→ Papier.</b></td><td>eine Karte des Benutzers ist im Papierkorb gelandet, manuell oder durch das automatische Aufräumen. Dort bleibt sie 30 Tage wiederherstellbar</td></tr><tr><td style='padding:1px 12px 1px 0;white-space:nowrap'><b>→ Wiederh.</b></td><td>eine Karte des Benutzers wurde aus dem Papierkorb wiederhergestellt</td></tr><tr><td style='padding:1px 12px 1px 0;white-space:nowrap'><b>→ Gelöscht</b></td><td>eine Karte des Benutzers wurde nach den 30 Tagen endgültig gelöscht</td></tr></table></div>",
|
|
57
|
-
"usersTab_label": "Benutzer",
|
|
58
|
-
"usersTab_users_0_title": "ID (klein, ohne Umlaute)",
|
|
59
|
-
"usersTab_users_10_title": "→ Wiederh.",
|
|
60
|
-
"usersTab_users_10_tooltip": "E-Mail, wenn eine Karte dieses Benutzers aus dem Papierkorb zurückgeholt wird",
|
|
61
|
-
"usersTab_users_11_title": "→ Gelöscht",
|
|
62
|
-
"usersTab_users_11_tooltip": "E-Mail, wenn eine Karte dieses Benutzers endgültig gelöscht wird",
|
|
63
|
-
"usersTab_users_1_title": "Anzeigename",
|
|
64
|
-
"usersTab_users_2_title": "E-Mail",
|
|
65
|
-
"usersTab_users_3_title": "→ Zugew.",
|
|
66
|
-
"usersTab_users_3_tooltip": "E-Mail, wenn dem Benutzer eine Karte zugewiesen wird",
|
|
67
|
-
"usersTab_users_4_title": "→ Fällig",
|
|
68
|
-
"usersTab_users_4_tooltip": "E-Mail, wenn eine Karte des Benutzers fällig/überfällig ist",
|
|
69
|
-
"usersTab_users_5_title": "→ Geänd.",
|
|
70
|
-
"usersTab_users_5_tooltip": "E-Mail, wenn eine Karte des Benutzers bearbeitet wird",
|
|
71
|
-
"usersTab_users_6_title": "→ Versch.",
|
|
72
|
-
"usersTab_users_6_tooltip": "E-Mail, wenn eine Karte in eine andere Spalte wandert",
|
|
73
|
-
"usersTab_users_7_title": "→ Erled.",
|
|
74
|
-
"usersTab_users_7_tooltip": "E-Mail, wenn eine Karte als erledigt markiert wird",
|
|
75
|
-
"usersTab_users_8_title": "→ Neu",
|
|
76
|
-
"usersTab_users_8_tooltip": "E-Mail, wenn eine neue Karte angelegt wird",
|
|
77
|
-
"usersTab_users_9_title": "→ Papier.",
|
|
78
|
-
"usersTab_users_9_tooltip": "E-Mail, wenn eine Karte dieses Benutzers in den Papierkorb wandert (manuell oder durch Aufräumen)",
|
|
79
|
-
"usersTab_users_label": "Benutzer",
|
|
80
|
-
"webhookInTab__info_text": "Externe Systeme (Skripte, KI-Agenten, …) lesen und schreiben Karten via POST /webhook/<token>/action — Kommandos siehe README. Jede Integration sollte einen eigenen Token bekommen.",
|
|
81
|
-
"webhookInTab__scopeInfo_text": "Die Board-Begrenzung gilt für die Webhook-Route und für die REST-API: Ein auf Boards begrenzter Token kann keine anderen Boards ändern, keine Boards anlegen und keine Benutzer bearbeiten. Tokens werden nur noch im Header X-Kanban-Token oder als _token im Body angenommen — nicht mehr als URL-Parameter.",
|
|
82
|
-
"webhookInTab_actionStateEnabled_help": "Der action-State dieser Instanz führt dieselben Kommandos aus wie die Webhooks, auch deleteBoard und emptyTrash, und braucht keinen Token. Abschalten, wenn kein Skript darauf schreibt.",
|
|
83
|
-
"webhookInTab_actionStateEnabled_label": "Kommandos über den action-State annehmen",
|
|
84
|
-
"webhookInTab_corsOrigins_help": "Nur nötig für Webseiten anderer Herkunft, die die API aus dem Browser aufrufen, z. B. https://dashboard.local:8123 (mehrere per Komma). Leer = nur gleiche Herkunft, das ist die sichere Vorgabe. Skripte, Node-RED und curl sind davon nicht betroffen.",
|
|
85
|
-
"webhookInTab_corsOrigins_label": "Erlaubte Browser-Herkünfte (CORS)",
|
|
86
|
-
"webhookInTab_generateToken_label": "Neuen Token generieren",
|
|
87
|
-
"webhookInTab_inboundTokens_0_title": "Name",
|
|
88
|
-
"webhookInTab_inboundTokens_1_title": "Token",
|
|
89
|
-
"webhookInTab_inboundTokens_2_title": "Erlaubte Boards (Komma oder *)",
|
|
90
|
-
"webhookInTab_inboundTokens_3_title": "Aktiv",
|
|
91
|
-
"webhookInTab_inboundTokens_label": "Tokens",
|
|
92
|
-
"webhookInTab_label": "Webhooks (eingehend)",
|
|
93
|
-
"webhookOutTab__info_text": "Bei Ereignissen sendet der Adapter einen JSON-POST an diese URLs. Ereignisse: cardCreated, cardUpdated, cardMoved, cardAssigned, cardDone, cardDeleted, cardRestored, cardPurged, cardDue — oder * für alle. Jede Nachricht enthält dueAt (Fälligkeit mit Datum + Uhrzeit und lokalem Offset).",
|
|
94
|
-
"webhookOutTab_label": "Webhooks (ausgehend)",
|
|
95
|
-
"webhookOutTab_outboundWebhooks_0_title": "Name",
|
|
96
|
-
"webhookOutTab_outboundWebhooks_1_title": "URL",
|
|
97
|
-
"webhookOutTab_outboundWebhooks_2_title": "Ereignisse (Komma oder *)",
|
|
98
|
-
"webhookOutTab_outboundWebhooks_3_title": "Aktiv",
|
|
99
|
-
"webhookOutTab_outboundWebhooks_label": "Webhooks"
|
|
100
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"emailTab__hdr_text": "Vorgabe (gilt, wenn beim Benutzer nichts gesetzt ist)",
|
|
3
|
+
"emailTab__otherHdr_text": "Andere Dienste (Telegram, Pushover, …)",
|
|
4
|
+
"emailTab__otherServicesHint_text": "Eingebaut ist nur E-Mail. Jeder andere Dienst läuft über den lastEvent-State oder einen ausgehenden Webhook — die Doku zeigt das an einem Telegram-Skript zum Kopieren.",
|
|
5
|
+
"emailTab__otherServicesLink_label": "An Telegram, Pushover und andere schicken",
|
|
6
|
+
"emailTab_dueExact_help": "Zusätzlich zur täglichen Erinnerung: Karten mit Uhrzeit lösen cardDue genau dann aus (detail.exact = true). Achtung: Damit geht auch eine zweite „Fällig\"-E-Mail an alle raus, die diese Benachrichtigung aktiviert haben.",
|
|
7
|
+
"emailTab_dueExact_label": "„Karte fällig\" zur Uhrzeit der Karte auslösen",
|
|
8
|
+
"emailTab_emailFrom_label": "Absenderadresse (leer = Adapter-Vorgabe)",
|
|
9
|
+
"emailTab_emailInstance_label": "E-Mail-Adapter-Instanz",
|
|
10
|
+
"emailTab_label": "Benachrichtigungen",
|
|
11
|
+
"emailTab_notifyAssigned_label": "Karte zugewiesen",
|
|
12
|
+
"emailTab_notifyCreated_label": "Karte angelegt",
|
|
13
|
+
"emailTab_notifyDeleted_label": "In den Papierkorb",
|
|
14
|
+
"emailTab_notifyDone_label": "Karte erledigt",
|
|
15
|
+
"emailTab_notifyDue_label": "Karte fällig/überfällig",
|
|
16
|
+
"emailTab_notifyMoved_label": "Karte verschoben",
|
|
17
|
+
"emailTab_notifyPurged_label": "Endgültig gelöscht",
|
|
18
|
+
"emailTab_notifyRestored_label": "Karte wiederhergestellt",
|
|
19
|
+
"emailTab_notifyUpdated_label": "Karte geändert",
|
|
20
|
+
"emailTab_reminderDaysBefore_label": "X Tage vor Fälligkeit erinnern",
|
|
21
|
+
"emailTab_reminderTime_label": "Erinnerungs-Uhrzeit (HH:MM)",
|
|
22
|
+
"emailTab_reminderTime_validatorErrorText": "Bitte im Format HH:MM angeben, z. B. 07:30.",
|
|
23
|
+
"generalTab_accentColor_label": "Akzentfarbe",
|
|
24
|
+
"generalTab_bind_label": "IP-Adresse",
|
|
25
|
+
"generalTab_customCss_help": "Wird als letztes Stylesheet in der Board-Oberfläche geladen",
|
|
26
|
+
"generalTab_customCss_label": "Eigenes CSS",
|
|
27
|
+
"generalTab_dateFormat_help": "Leer = ioBroker-Systemformat. Platzhalter: D/DD Tag, M/MM Monat, MMM/MMMM Monatsname, YY/YYYY Jahr, ddd/dddd Wochentag (z.B. DD. MMMM YYYY)",
|
|
28
|
+
"generalTab_dateFormat_label": "Datumsformat",
|
|
29
|
+
"generalTab_label": "Allgemein",
|
|
30
|
+
"generalTab_language_help": "Leer/Automatisch = ioBroker-Systemsprache",
|
|
31
|
+
"generalTab_language_label": "Sprache",
|
|
32
|
+
"generalTab_language_options10_label": "Українська",
|
|
33
|
+
"generalTab_language_options11_label": "中文",
|
|
34
|
+
"generalTab_language_options6_label": "Español",
|
|
35
|
+
"generalTab_language_options7_label": "Polski",
|
|
36
|
+
"generalTab_language_options8_label": "Português",
|
|
37
|
+
"generalTab_language_options9_label": "Русский",
|
|
38
|
+
"generalTab_language_options_0_label": "Automatisch (System)",
|
|
39
|
+
"generalTab_language_options_1_label": "Deutsch",
|
|
40
|
+
"generalTab_language_options_2_label": "English",
|
|
41
|
+
"generalTab_language_options_3_label": "Français",
|
|
42
|
+
"generalTab_language_options_4_label": "Nederlands",
|
|
43
|
+
"generalTab_language_options_5_label": "Italiano",
|
|
44
|
+
"generalTab_port_label": "Port",
|
|
45
|
+
"generalTab_publicUrl_help": "z.B. http://192.168.1.10:8095 — leer = automatisch",
|
|
46
|
+
"generalTab_publicUrl_label": "Basis-URL (für Links in E-Mails)",
|
|
47
|
+
"generalTab_themeDefault_label": "Standard-Theme",
|
|
48
|
+
"generalTab_themeDefault_options_0_label": "Automatisch (System)",
|
|
49
|
+
"generalTab_themeDefault_options_1_label": "Hell",
|
|
50
|
+
"generalTab_themeDefault_options_2_label": "Dunkel",
|
|
51
|
+
"generalTab_timeFormat_label": "Uhrzeit-Format",
|
|
52
|
+
"generalTab_timeFormat_options_0_label": "24-Stunden (14:00)",
|
|
53
|
+
"generalTab_timeFormat_options_1_label": "12-Stunden (2:00 PM)",
|
|
54
|
+
"usersTab__info_text": "Benutzer können Karten zugewiesen werden. Kein Login — die Benutzer-Chips in der Board-Kopfzeile dienen als Filter.",
|
|
55
|
+
"usersTab__notifyInfo_text": "Nicht angehakt = globale Vorgabe (Tab „Benachrichtigungen\"). Eine E-Mail wird nur gesendet, wenn beim Benutzer eine Adresse hinterlegt und der Tab konfiguriert ist. Automatische Aufräumläufe werden zu einer Sammelmail je Benutzer gebündelt.",
|
|
56
|
+
"usersTab__notifyLegend_text": "<div style='font-size:0.85rem;line-height:1.5;opacity:0.85'><b>Was die Spalten bedeuten</b><table style='border-collapse:collapse'><tr><td style='padding:1px 12px 1px 0;white-space:nowrap'><b>→ Zugew.</b></td><td>dem Benutzer wurde eine Karte zugewiesen, auch nachträglich bei einer bestehenden Karte</td></tr><tr><td style='padding:1px 12px 1px 0;white-space:nowrap'><b>→ Fällig</b></td><td>eine offene Karte des Benutzers ist fällig, überfällig oder rückt in die eingestellten Tage vor Fälligkeit. Die Erinnerung wiederholt sich täglich zur Erinnerungs-Uhrzeit</td></tr><tr><td style='padding:1px 12px 1px 0;white-space:nowrap'><b>→ Geänd.</b></td><td>eine Karte des Benutzers wurde bearbeitet</td></tr><tr><td style='padding:1px 12px 1px 0;white-space:nowrap'><b>→ Versch.</b></td><td>eine Karte des Benutzers wurde in eine andere Spalte verschoben</td></tr><tr><td style='padding:1px 12px 1px 0;white-space:nowrap'><b>→ Erled.</b></td><td>eine Karte des Benutzers wurde als erledigt markiert</td></tr><tr><td style='padding:1px 12px 1px 0;white-space:nowrap'><b>→ Neu</b></td><td>in einem Board, in dem der Benutzer Mitglied ist, wurde eine neue Karte angelegt, ganz gleich wer zuständig ist. Das gilt auch für Kopien aus einem anderen Board und für Folgekarten von Wiederholungen</td></tr><tr><td style='padding:1px 12px 1px 0;white-space:nowrap'><b>→ Papier.</b></td><td>eine Karte des Benutzers ist im Papierkorb gelandet, manuell oder durch das automatische Aufräumen. Dort bleibt sie 30 Tage wiederherstellbar</td></tr><tr><td style='padding:1px 12px 1px 0;white-space:nowrap'><b>→ Wiederh.</b></td><td>eine Karte des Benutzers wurde aus dem Papierkorb wiederhergestellt</td></tr><tr><td style='padding:1px 12px 1px 0;white-space:nowrap'><b>→ Gelöscht</b></td><td>eine Karte des Benutzers wurde nach den 30 Tagen endgültig gelöscht</td></tr></table></div>",
|
|
57
|
+
"usersTab_label": "Benutzer",
|
|
58
|
+
"usersTab_users_0_title": "ID (klein, ohne Umlaute)",
|
|
59
|
+
"usersTab_users_10_title": "→ Wiederh.",
|
|
60
|
+
"usersTab_users_10_tooltip": "E-Mail, wenn eine Karte dieses Benutzers aus dem Papierkorb zurückgeholt wird",
|
|
61
|
+
"usersTab_users_11_title": "→ Gelöscht",
|
|
62
|
+
"usersTab_users_11_tooltip": "E-Mail, wenn eine Karte dieses Benutzers endgültig gelöscht wird",
|
|
63
|
+
"usersTab_users_1_title": "Anzeigename",
|
|
64
|
+
"usersTab_users_2_title": "E-Mail",
|
|
65
|
+
"usersTab_users_3_title": "→ Zugew.",
|
|
66
|
+
"usersTab_users_3_tooltip": "E-Mail, wenn dem Benutzer eine Karte zugewiesen wird",
|
|
67
|
+
"usersTab_users_4_title": "→ Fällig",
|
|
68
|
+
"usersTab_users_4_tooltip": "E-Mail, wenn eine Karte des Benutzers fällig/überfällig ist",
|
|
69
|
+
"usersTab_users_5_title": "→ Geänd.",
|
|
70
|
+
"usersTab_users_5_tooltip": "E-Mail, wenn eine Karte des Benutzers bearbeitet wird",
|
|
71
|
+
"usersTab_users_6_title": "→ Versch.",
|
|
72
|
+
"usersTab_users_6_tooltip": "E-Mail, wenn eine Karte in eine andere Spalte wandert",
|
|
73
|
+
"usersTab_users_7_title": "→ Erled.",
|
|
74
|
+
"usersTab_users_7_tooltip": "E-Mail, wenn eine Karte als erledigt markiert wird",
|
|
75
|
+
"usersTab_users_8_title": "→ Neu",
|
|
76
|
+
"usersTab_users_8_tooltip": "E-Mail, wenn eine neue Karte angelegt wird",
|
|
77
|
+
"usersTab_users_9_title": "→ Papier.",
|
|
78
|
+
"usersTab_users_9_tooltip": "E-Mail, wenn eine Karte dieses Benutzers in den Papierkorb wandert (manuell oder durch Aufräumen)",
|
|
79
|
+
"usersTab_users_label": "Benutzer",
|
|
80
|
+
"webhookInTab__info_text": "Externe Systeme (Skripte, KI-Agenten, …) lesen und schreiben Karten via POST /webhook/<token>/action — Kommandos siehe README. Jede Integration sollte einen eigenen Token bekommen.",
|
|
81
|
+
"webhookInTab__scopeInfo_text": "Die Board-Begrenzung gilt für die Webhook-Route und für die REST-API: Ein auf Boards begrenzter Token kann keine anderen Boards ändern, keine Boards anlegen und keine Benutzer bearbeiten. Tokens werden nur noch im Header X-Kanban-Token oder als _token im Body angenommen — nicht mehr als URL-Parameter.",
|
|
82
|
+
"webhookInTab_actionStateEnabled_help": "Der action-State dieser Instanz führt dieselben Kommandos aus wie die Webhooks, auch deleteBoard und emptyTrash, und braucht keinen Token. Abschalten, wenn kein Skript darauf schreibt.",
|
|
83
|
+
"webhookInTab_actionStateEnabled_label": "Kommandos über den action-State annehmen",
|
|
84
|
+
"webhookInTab_corsOrigins_help": "Nur nötig für Webseiten anderer Herkunft, die die API aus dem Browser aufrufen, z. B. https://dashboard.local:8123 (mehrere per Komma). Leer = nur gleiche Herkunft, das ist die sichere Vorgabe. Skripte, Node-RED und curl sind davon nicht betroffen.",
|
|
85
|
+
"webhookInTab_corsOrigins_label": "Erlaubte Browser-Herkünfte (CORS)",
|
|
86
|
+
"webhookInTab_generateToken_label": "Neuen Token generieren",
|
|
87
|
+
"webhookInTab_inboundTokens_0_title": "Name",
|
|
88
|
+
"webhookInTab_inboundTokens_1_title": "Token",
|
|
89
|
+
"webhookInTab_inboundTokens_2_title": "Erlaubte Boards (Komma oder *)",
|
|
90
|
+
"webhookInTab_inboundTokens_3_title": "Aktiv",
|
|
91
|
+
"webhookInTab_inboundTokens_label": "Tokens",
|
|
92
|
+
"webhookInTab_label": "Webhooks (eingehend)",
|
|
93
|
+
"webhookOutTab__info_text": "Bei Ereignissen sendet der Adapter einen JSON-POST an diese URLs. Ereignisse: cardCreated, cardUpdated, cardMoved, cardAssigned, cardDone, cardDeleted, cardRestored, cardPurged, cardDue — oder * für alle. Jede Nachricht enthält dueAt (Fälligkeit mit Datum + Uhrzeit und lokalem Offset).",
|
|
94
|
+
"webhookOutTab_label": "Webhooks (ausgehend)",
|
|
95
|
+
"webhookOutTab_outboundWebhooks_0_title": "Name",
|
|
96
|
+
"webhookOutTab_outboundWebhooks_1_title": "URL",
|
|
97
|
+
"webhookOutTab_outboundWebhooks_2_title": "Ereignisse (Komma oder *)",
|
|
98
|
+
"webhookOutTab_outboundWebhooks_3_title": "Aktiv",
|
|
99
|
+
"webhookOutTab_outboundWebhooks_label": "Webhooks"
|
|
100
|
+
}
|
package/admin/i18n/en.json
CHANGED
|
@@ -1,100 +1,100 @@
|
|
|
1
|
-
{
|
|
2
|
-
"emailTab__hdr_text": "Default (used when a user has no own setting)",
|
|
3
|
-
"emailTab__otherHdr_text": "Other services (Telegram, Pushover, …)",
|
|
4
|
-
"emailTab__otherServicesHint_text": "Only e-mail is built in. Every other service goes through the lastEvent state or an outbound webhook — the docs walk through it with a Telegram script you can copy.",
|
|
5
|
-
"emailTab__otherServicesLink_label": "Send to Telegram, Pushover and others",
|
|
6
|
-
"emailTab_dueExact_help": "In addition to the daily reminder: cards with a time of day trigger cardDue exactly then (detail.exact = true). Note that this also sends a second \"due\" e-mail to everyone who has that notification enabled.",
|
|
7
|
-
"emailTab_dueExact_label": "Fire \"card due\" at the card’s time of day",
|
|
8
|
-
"emailTab_emailFrom_label": "Sender address (empty = adapter default)",
|
|
9
|
-
"emailTab_emailInstance_label": "Email adapter instance",
|
|
10
|
-
"emailTab_label": "Notifications",
|
|
11
|
-
"emailTab_notifyAssigned_label": "Card assigned",
|
|
12
|
-
"emailTab_notifyCreated_label": "Card created",
|
|
13
|
-
"emailTab_notifyDeleted_label": "Moved to trash",
|
|
14
|
-
"emailTab_notifyDone_label": "Card done",
|
|
15
|
-
"emailTab_notifyDue_label": "Card due/overdue",
|
|
16
|
-
"emailTab_notifyMoved_label": "Card moved",
|
|
17
|
-
"emailTab_notifyPurged_label": "Permanently deleted",
|
|
18
|
-
"emailTab_notifyRestored_label": "Card restored",
|
|
19
|
-
"emailTab_notifyUpdated_label": "Card changed",
|
|
20
|
-
"emailTab_reminderDaysBefore_label": "Remind X days before due",
|
|
21
|
-
"emailTab_reminderTime_label": "Reminder time (HH:MM)",
|
|
22
|
-
"emailTab_reminderTime_validatorErrorText": "Please use the format HH:MM, e.g. 07:30.",
|
|
23
|
-
"generalTab_accentColor_label": "Accent color",
|
|
24
|
-
"generalTab_bind_label": "Listen address",
|
|
25
|
-
"generalTab_customCss_help": "Loaded as last stylesheet in the board UI",
|
|
26
|
-
"generalTab_customCss_label": "Custom CSS",
|
|
27
|
-
"generalTab_dateFormat_help": "Empty = ioBroker system format. Tokens: D/DD day, M/MM month, MMM/MMMM month name, YY/YYYY year, ddd/dddd weekday (e.g. DD. MMMM YYYY)",
|
|
28
|
-
"generalTab_dateFormat_label": "Date format",
|
|
29
|
-
"generalTab_label": "General",
|
|
30
|
-
"generalTab_language_help": "Empty/Auto = ioBroker system language",
|
|
31
|
-
"generalTab_language_label": "Language",
|
|
32
|
-
"generalTab_language_options10_label": "Українська",
|
|
33
|
-
"generalTab_language_options11_label": "中文",
|
|
34
|
-
"generalTab_language_options6_label": "Español",
|
|
35
|
-
"generalTab_language_options7_label": "Polski",
|
|
36
|
-
"generalTab_language_options8_label": "Português",
|
|
37
|
-
"generalTab_language_options9_label": "Русский",
|
|
38
|
-
"generalTab_language_options_0_label": "Auto (system)",
|
|
39
|
-
"generalTab_language_options_1_label": "Deutsch",
|
|
40
|
-
"generalTab_language_options_2_label": "English",
|
|
41
|
-
"generalTab_language_options_3_label": "Français",
|
|
42
|
-
"generalTab_language_options_4_label": "Nederlands",
|
|
43
|
-
"generalTab_language_options_5_label": "Italiano",
|
|
44
|
-
"generalTab_port_label": "Port",
|
|
45
|
-
"generalTab_publicUrl_help": "e.g. http://192.168.1.10:8095 — empty = auto-detect",
|
|
46
|
-
"generalTab_publicUrl_label": "Public base URL (for email links)",
|
|
47
|
-
"generalTab_themeDefault_label": "Default theme",
|
|
48
|
-
"generalTab_themeDefault_options_0_label": "Auto (system)",
|
|
49
|
-
"generalTab_themeDefault_options_1_label": "Light",
|
|
50
|
-
"generalTab_themeDefault_options_2_label": "Dark",
|
|
51
|
-
"generalTab_timeFormat_label": "Time format",
|
|
52
|
-
"generalTab_timeFormat_options_0_label": "24-hour (14:00)",
|
|
53
|
-
"generalTab_timeFormat_options_1_label": "12-hour (2:00 PM)",
|
|
54
|
-
"usersTab__info_text": "Users can be assigned to cards. No login — the user chips in the board header act as a filter.",
|
|
55
|
-
"usersTab__notifyInfo_text": "Leave a box unchecked to use the global default (Notifications tab). An e-mail is only sent if the user has an address and the Notifications tab is configured. Automatic cleanup runs are bundled into a single summary e-mail per user.",
|
|
56
|
-
"usersTab__notifyLegend_text": "<div style='font-size:0.85rem;line-height:1.5;opacity:0.85'><b>What the columns mean</b><table style='border-collapse:collapse'><tr><td style='padding:1px 12px 1px 0;white-space:nowrap'><b>→ assigned</b></td><td>a card was assigned to this user, including later on an existing card</td></tr><tr><td style='padding:1px 12px 1px 0;white-space:nowrap'><b>→ due</b></td><td>an open card of this user is due, overdue or enters the configured days before the due date. The reminder repeats daily at the reminder time</td></tr><tr><td style='padding:1px 12px 1px 0;white-space:nowrap'><b>→ changed</b></td><td>a card of this user was edited</td></tr><tr><td style='padding:1px 12px 1px 0;white-space:nowrap'><b>→ moved</b></td><td>a card of this user was moved to another column</td></tr><tr><td style='padding:1px 12px 1px 0;white-space:nowrap'><b>→ done</b></td><td>a card of this user was marked done</td></tr><tr><td style='padding:1px 12px 1px 0;white-space:nowrap'><b>→ created</b></td><td>a new card was created on a board this user is a member of, no matter who it is assigned to. This also covers copies from another board and follow-up cards of a recurrence</td></tr><tr><td style='padding:1px 12px 1px 0;white-space:nowrap'><b>→ trash</b></td><td>a card of this user went to the trash, manually or through the automatic cleanup. It stays restorable for 30 days</td></tr><tr><td style='padding:1px 12px 1px 0;white-space:nowrap'><b>→ restored</b></td><td>a card of this user was restored from the trash</td></tr><tr><td style='padding:1px 12px 1px 0;white-space:nowrap'><b>→ deleted</b></td><td>a card of this user was deleted permanently after the 30 days</td></tr></table></div>",
|
|
57
|
-
"usersTab_label": "Users",
|
|
58
|
-
"usersTab_users_0_title": "ID (lowercase)",
|
|
59
|
-
"usersTab_users_10_title": "→ restored",
|
|
60
|
-
"usersTab_users_10_tooltip": "E-mail when a card of this user is restored from the trash",
|
|
61
|
-
"usersTab_users_11_title": "→ deleted",
|
|
62
|
-
"usersTab_users_11_tooltip": "E-mail when a card of this user is permanently deleted",
|
|
63
|
-
"usersTab_users_1_title": "Display name",
|
|
64
|
-
"usersTab_users_2_title": "Email",
|
|
65
|
-
"usersTab_users_3_title": "→ assigned",
|
|
66
|
-
"usersTab_users_3_tooltip": "E-mail when a card is assigned to this user",
|
|
67
|
-
"usersTab_users_4_title": "→ due",
|
|
68
|
-
"usersTab_users_4_tooltip": "E-mail when a card of this user is due/overdue",
|
|
69
|
-
"usersTab_users_5_title": "→ changed",
|
|
70
|
-
"usersTab_users_5_tooltip": "E-mail when a card of this user is edited",
|
|
71
|
-
"usersTab_users_6_title": "→ moved",
|
|
72
|
-
"usersTab_users_6_tooltip": "E-mail when a card is moved to another column",
|
|
73
|
-
"usersTab_users_7_title": "→ done",
|
|
74
|
-
"usersTab_users_7_tooltip": "E-mail when a card is marked done",
|
|
75
|
-
"usersTab_users_8_title": "→ created",
|
|
76
|
-
"usersTab_users_8_tooltip": "E-mail when a new card is created",
|
|
77
|
-
"usersTab_users_9_title": "→ trash",
|
|
78
|
-
"usersTab_users_9_tooltip": "E-mail when a card of this user is moved to the trash (manually or by cleanup)",
|
|
79
|
-
"usersTab_users_label": "Users",
|
|
80
|
-
"webhookInTab__info_text": "External systems (scripts, AI agents, …) read and write cards via POST /webhook/<token>/action — see README for the command vocabulary. Each integration should get its own token.",
|
|
81
|
-
"webhookInTab__scopeInfo_text": "The board restriction applies to the webhook route and to the REST API: a token limited to specific boards cannot change other boards, create boards or edit users. Tokens are only accepted in the X-Kanban-Token header or as _token in the body — no longer as a URL parameter.",
|
|
82
|
-
"webhookInTab_actionStateEnabled_help": "The action state of this instance executes the same commands as the webhooks, including deleteBoard and emptyTrash, and requires no token. Turn this off if no script writes to it.",
|
|
83
|
-
"webhookInTab_actionStateEnabled_label": "Accept commands via the action state",
|
|
84
|
-
"webhookInTab_corsOrigins_help": "Only needed for web pages on another origin that call the API from the browser, e.g. https://dashboard.local:8123 (comma-separated). Empty = same origin only, which is the safe default. Scripts, Node-RED and curl are not affected.",
|
|
85
|
-
"webhookInTab_corsOrigins_label": "Allowed browser origins (CORS)",
|
|
86
|
-
"webhookInTab_generateToken_label": "Generate new token",
|
|
87
|
-
"webhookInTab_inboundTokens_0_title": "Name",
|
|
88
|
-
"webhookInTab_inboundTokens_1_title": "Token",
|
|
89
|
-
"webhookInTab_inboundTokens_2_title": "Allowed boards (comma or *)",
|
|
90
|
-
"webhookInTab_inboundTokens_3_title": "Enabled",
|
|
91
|
-
"webhookInTab_inboundTokens_label": "Tokens",
|
|
92
|
-
"webhookInTab_label": "Webhooks (in)",
|
|
93
|
-
"webhookOutTab__info_text": "On events the adapter POSTs a JSON payload to these URLs. Events: cardCreated, cardUpdated, cardMoved, cardAssigned, cardDone, cardDeleted, cardRestored, cardPurged, cardDue — or * for all. Each payload includes dueAt (due date + time with local offset).",
|
|
94
|
-
"webhookOutTab_label": "Webhooks (out)",
|
|
95
|
-
"webhookOutTab_outboundWebhooks_0_title": "Name",
|
|
96
|
-
"webhookOutTab_outboundWebhooks_1_title": "URL",
|
|
97
|
-
"webhookOutTab_outboundWebhooks_2_title": "Events (comma or *)",
|
|
98
|
-
"webhookOutTab_outboundWebhooks_3_title": "Enabled",
|
|
99
|
-
"webhookOutTab_outboundWebhooks_label": "Webhooks"
|
|
100
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"emailTab__hdr_text": "Default (used when a user has no own setting)",
|
|
3
|
+
"emailTab__otherHdr_text": "Other services (Telegram, Pushover, …)",
|
|
4
|
+
"emailTab__otherServicesHint_text": "Only e-mail is built in. Every other service goes through the lastEvent state or an outbound webhook — the docs walk through it with a Telegram script you can copy.",
|
|
5
|
+
"emailTab__otherServicesLink_label": "Send to Telegram, Pushover and others",
|
|
6
|
+
"emailTab_dueExact_help": "In addition to the daily reminder: cards with a time of day trigger cardDue exactly then (detail.exact = true). Note that this also sends a second \"due\" e-mail to everyone who has that notification enabled.",
|
|
7
|
+
"emailTab_dueExact_label": "Fire \"card due\" at the card’s time of day",
|
|
8
|
+
"emailTab_emailFrom_label": "Sender address (empty = adapter default)",
|
|
9
|
+
"emailTab_emailInstance_label": "Email adapter instance",
|
|
10
|
+
"emailTab_label": "Notifications",
|
|
11
|
+
"emailTab_notifyAssigned_label": "Card assigned",
|
|
12
|
+
"emailTab_notifyCreated_label": "Card created",
|
|
13
|
+
"emailTab_notifyDeleted_label": "Moved to trash",
|
|
14
|
+
"emailTab_notifyDone_label": "Card done",
|
|
15
|
+
"emailTab_notifyDue_label": "Card due/overdue",
|
|
16
|
+
"emailTab_notifyMoved_label": "Card moved",
|
|
17
|
+
"emailTab_notifyPurged_label": "Permanently deleted",
|
|
18
|
+
"emailTab_notifyRestored_label": "Card restored",
|
|
19
|
+
"emailTab_notifyUpdated_label": "Card changed",
|
|
20
|
+
"emailTab_reminderDaysBefore_label": "Remind X days before due",
|
|
21
|
+
"emailTab_reminderTime_label": "Reminder time (HH:MM)",
|
|
22
|
+
"emailTab_reminderTime_validatorErrorText": "Please use the format HH:MM, e.g. 07:30.",
|
|
23
|
+
"generalTab_accentColor_label": "Accent color",
|
|
24
|
+
"generalTab_bind_label": "Listen address",
|
|
25
|
+
"generalTab_customCss_help": "Loaded as last stylesheet in the board UI",
|
|
26
|
+
"generalTab_customCss_label": "Custom CSS",
|
|
27
|
+
"generalTab_dateFormat_help": "Empty = ioBroker system format. Tokens: D/DD day, M/MM month, MMM/MMMM month name, YY/YYYY year, ddd/dddd weekday (e.g. DD. MMMM YYYY)",
|
|
28
|
+
"generalTab_dateFormat_label": "Date format",
|
|
29
|
+
"generalTab_label": "General",
|
|
30
|
+
"generalTab_language_help": "Empty/Auto = ioBroker system language",
|
|
31
|
+
"generalTab_language_label": "Language",
|
|
32
|
+
"generalTab_language_options10_label": "Українська",
|
|
33
|
+
"generalTab_language_options11_label": "中文",
|
|
34
|
+
"generalTab_language_options6_label": "Español",
|
|
35
|
+
"generalTab_language_options7_label": "Polski",
|
|
36
|
+
"generalTab_language_options8_label": "Português",
|
|
37
|
+
"generalTab_language_options9_label": "Русский",
|
|
38
|
+
"generalTab_language_options_0_label": "Auto (system)",
|
|
39
|
+
"generalTab_language_options_1_label": "Deutsch",
|
|
40
|
+
"generalTab_language_options_2_label": "English",
|
|
41
|
+
"generalTab_language_options_3_label": "Français",
|
|
42
|
+
"generalTab_language_options_4_label": "Nederlands",
|
|
43
|
+
"generalTab_language_options_5_label": "Italiano",
|
|
44
|
+
"generalTab_port_label": "Port",
|
|
45
|
+
"generalTab_publicUrl_help": "e.g. http://192.168.1.10:8095 — empty = auto-detect",
|
|
46
|
+
"generalTab_publicUrl_label": "Public base URL (for email links)",
|
|
47
|
+
"generalTab_themeDefault_label": "Default theme",
|
|
48
|
+
"generalTab_themeDefault_options_0_label": "Auto (system)",
|
|
49
|
+
"generalTab_themeDefault_options_1_label": "Light",
|
|
50
|
+
"generalTab_themeDefault_options_2_label": "Dark",
|
|
51
|
+
"generalTab_timeFormat_label": "Time format",
|
|
52
|
+
"generalTab_timeFormat_options_0_label": "24-hour (14:00)",
|
|
53
|
+
"generalTab_timeFormat_options_1_label": "12-hour (2:00 PM)",
|
|
54
|
+
"usersTab__info_text": "Users can be assigned to cards. No login — the user chips in the board header act as a filter.",
|
|
55
|
+
"usersTab__notifyInfo_text": "Leave a box unchecked to use the global default (Notifications tab). An e-mail is only sent if the user has an address and the Notifications tab is configured. Automatic cleanup runs are bundled into a single summary e-mail per user.",
|
|
56
|
+
"usersTab__notifyLegend_text": "<div style='font-size:0.85rem;line-height:1.5;opacity:0.85'><b>What the columns mean</b><table style='border-collapse:collapse'><tr><td style='padding:1px 12px 1px 0;white-space:nowrap'><b>→ assigned</b></td><td>a card was assigned to this user, including later on an existing card</td></tr><tr><td style='padding:1px 12px 1px 0;white-space:nowrap'><b>→ due</b></td><td>an open card of this user is due, overdue or enters the configured days before the due date. The reminder repeats daily at the reminder time</td></tr><tr><td style='padding:1px 12px 1px 0;white-space:nowrap'><b>→ changed</b></td><td>a card of this user was edited</td></tr><tr><td style='padding:1px 12px 1px 0;white-space:nowrap'><b>→ moved</b></td><td>a card of this user was moved to another column</td></tr><tr><td style='padding:1px 12px 1px 0;white-space:nowrap'><b>→ done</b></td><td>a card of this user was marked done</td></tr><tr><td style='padding:1px 12px 1px 0;white-space:nowrap'><b>→ created</b></td><td>a new card was created on a board this user is a member of, no matter who it is assigned to. This also covers copies from another board and follow-up cards of a recurrence</td></tr><tr><td style='padding:1px 12px 1px 0;white-space:nowrap'><b>→ trash</b></td><td>a card of this user went to the trash, manually or through the automatic cleanup. It stays restorable for 30 days</td></tr><tr><td style='padding:1px 12px 1px 0;white-space:nowrap'><b>→ restored</b></td><td>a card of this user was restored from the trash</td></tr><tr><td style='padding:1px 12px 1px 0;white-space:nowrap'><b>→ deleted</b></td><td>a card of this user was deleted permanently after the 30 days</td></tr></table></div>",
|
|
57
|
+
"usersTab_label": "Users",
|
|
58
|
+
"usersTab_users_0_title": "ID (lowercase)",
|
|
59
|
+
"usersTab_users_10_title": "→ restored",
|
|
60
|
+
"usersTab_users_10_tooltip": "E-mail when a card of this user is restored from the trash",
|
|
61
|
+
"usersTab_users_11_title": "→ deleted",
|
|
62
|
+
"usersTab_users_11_tooltip": "E-mail when a card of this user is permanently deleted",
|
|
63
|
+
"usersTab_users_1_title": "Display name",
|
|
64
|
+
"usersTab_users_2_title": "Email",
|
|
65
|
+
"usersTab_users_3_title": "→ assigned",
|
|
66
|
+
"usersTab_users_3_tooltip": "E-mail when a card is assigned to this user",
|
|
67
|
+
"usersTab_users_4_title": "→ due",
|
|
68
|
+
"usersTab_users_4_tooltip": "E-mail when a card of this user is due/overdue",
|
|
69
|
+
"usersTab_users_5_title": "→ changed",
|
|
70
|
+
"usersTab_users_5_tooltip": "E-mail when a card of this user is edited",
|
|
71
|
+
"usersTab_users_6_title": "→ moved",
|
|
72
|
+
"usersTab_users_6_tooltip": "E-mail when a card is moved to another column",
|
|
73
|
+
"usersTab_users_7_title": "→ done",
|
|
74
|
+
"usersTab_users_7_tooltip": "E-mail when a card is marked done",
|
|
75
|
+
"usersTab_users_8_title": "→ created",
|
|
76
|
+
"usersTab_users_8_tooltip": "E-mail when a new card is created",
|
|
77
|
+
"usersTab_users_9_title": "→ trash",
|
|
78
|
+
"usersTab_users_9_tooltip": "E-mail when a card of this user is moved to the trash (manually or by cleanup)",
|
|
79
|
+
"usersTab_users_label": "Users",
|
|
80
|
+
"webhookInTab__info_text": "External systems (scripts, AI agents, …) read and write cards via POST /webhook/<token>/action — see README for the command vocabulary. Each integration should get its own token.",
|
|
81
|
+
"webhookInTab__scopeInfo_text": "The board restriction applies to the webhook route and to the REST API: a token limited to specific boards cannot change other boards, create boards or edit users. Tokens are only accepted in the X-Kanban-Token header or as _token in the body — no longer as a URL parameter.",
|
|
82
|
+
"webhookInTab_actionStateEnabled_help": "The action state of this instance executes the same commands as the webhooks, including deleteBoard and emptyTrash, and requires no token. Turn this off if no script writes to it.",
|
|
83
|
+
"webhookInTab_actionStateEnabled_label": "Accept commands via the action state",
|
|
84
|
+
"webhookInTab_corsOrigins_help": "Only needed for web pages on another origin that call the API from the browser, e.g. https://dashboard.local:8123 (comma-separated). Empty = same origin only, which is the safe default. Scripts, Node-RED and curl are not affected.",
|
|
85
|
+
"webhookInTab_corsOrigins_label": "Allowed browser origins (CORS)",
|
|
86
|
+
"webhookInTab_generateToken_label": "Generate new token",
|
|
87
|
+
"webhookInTab_inboundTokens_0_title": "Name",
|
|
88
|
+
"webhookInTab_inboundTokens_1_title": "Token",
|
|
89
|
+
"webhookInTab_inboundTokens_2_title": "Allowed boards (comma or *)",
|
|
90
|
+
"webhookInTab_inboundTokens_3_title": "Enabled",
|
|
91
|
+
"webhookInTab_inboundTokens_label": "Tokens",
|
|
92
|
+
"webhookInTab_label": "Webhooks (in)",
|
|
93
|
+
"webhookOutTab__info_text": "On events the adapter POSTs a JSON payload to these URLs. Events: cardCreated, cardUpdated, cardMoved, cardAssigned, cardDone, cardDeleted, cardRestored, cardPurged, cardDue — or * for all. Each payload includes dueAt (due date + time with local offset).",
|
|
94
|
+
"webhookOutTab_label": "Webhooks (out)",
|
|
95
|
+
"webhookOutTab_outboundWebhooks_0_title": "Name",
|
|
96
|
+
"webhookOutTab_outboundWebhooks_1_title": "URL",
|
|
97
|
+
"webhookOutTab_outboundWebhooks_2_title": "Events (comma or *)",
|
|
98
|
+
"webhookOutTab_outboundWebhooks_3_title": "Enabled",
|
|
99
|
+
"webhookOutTab_outboundWebhooks_label": "Webhooks"
|
|
100
|
+
}
|