iobroker.kanban 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +224 -0
- package/admin/i18n/de.json +100 -0
- package/admin/i18n/en.json +100 -0
- package/admin/i18n/es.json +100 -0
- package/admin/i18n/fr.json +100 -0
- package/admin/i18n/it.json +100 -0
- package/admin/i18n/nl.json +100 -0
- package/admin/i18n/pl.json +100 -0
- package/admin/i18n/pt.json +100 -0
- package/admin/i18n/ru.json +100 -0
- package/admin/i18n/uk.json +100 -0
- package/admin/i18n/zh-cn.json +100 -0
- package/admin/jsonConfig.json +668 -0
- package/admin/kanban.png +0 -0
- package/io-package.json +299 -0
- package/lib/cron.js +203 -0
- package/lib/dueat.js +77 -0
- package/lib/events.js +24 -0
- package/lib/holidays.js +167 -0
- package/lib/i18n-server.js +301 -0
- package/lib/notify.js +627 -0
- package/lib/scheduler.js +198 -0
- package/lib/server.js +799 -0
- package/lib/store.js +1500 -0
- package/main.js +382 -0
- package/package.json +58 -0
- package/www/css/app.css +1022 -0
- package/www/i18n/de.json +238 -0
- package/www/i18n/en.json +238 -0
- package/www/i18n/es.json +238 -0
- package/www/i18n/fr.json +238 -0
- package/www/i18n/it.json +238 -0
- package/www/i18n/nl.json +238 -0
- package/www/i18n/pl.json +238 -0
- package/www/i18n/pt.json +238 -0
- package/www/i18n/ru.json +238 -0
- package/www/i18n/uk.json +238 -0
- package/www/i18n/zh-cn.json +238 -0
- package/www/index.html +171 -0
- package/www/js/api.js +98 -0
- package/www/js/app.js +411 -0
- package/www/js/board.js +983 -0
- package/www/js/colorpicker.js +165 -0
- package/www/js/dialogs.js +1419 -0
- package/www/js/i18n.js +43 -0
- package/www/vendor/marked.min.js +69 -0
- package/www/vendor/purify.min.js +3 -0
- package/www/vendor/sortable.min.js +2 -0
package/www/i18n/es.json
ADDED
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
{
|
|
2
|
+
"topbar.selectBoard": "Seleccionar tablero",
|
|
3
|
+
"topbar.activeUser": "Usuario activo",
|
|
4
|
+
"topbar.filterMine": "Mostrar solo mis tarjetas",
|
|
5
|
+
"topbar.addCard": "+ Tarjeta",
|
|
6
|
+
"topbar.theme": "Cambiar tema",
|
|
7
|
+
"topbar.share": "Vistas",
|
|
8
|
+
"topbar.settings": "Ajustes",
|
|
9
|
+
"board.loading": "Cargando…",
|
|
10
|
+
"board.empty": "Aún no hay tablero — crea uno con ⚙.",
|
|
11
|
+
"board.addCard": "+ Añadir tarjeta",
|
|
12
|
+
"col.hideDone": "Ocultar completadas",
|
|
13
|
+
"col.showDone": "Mostrar completadas",
|
|
14
|
+
"badge.recurring": "Tarea periódica",
|
|
15
|
+
"badge.description": "Tiene descripción",
|
|
16
|
+
"card.titleNew": "Nueva tarjeta",
|
|
17
|
+
"card.titleEdit": "Editar tarjeta",
|
|
18
|
+
"card.title": "Título",
|
|
19
|
+
"card.titleRequired": "Introduce un título",
|
|
20
|
+
"card.description": "Descripción",
|
|
21
|
+
"card.markdown": "(Markdown)",
|
|
22
|
+
"card.dueDate": "Fecha de vencimiento",
|
|
23
|
+
"card.timeToggleTitle": "Indicar también una hora",
|
|
24
|
+
"card.time": "Hora",
|
|
25
|
+
"card.priority": "Prioridad",
|
|
26
|
+
"card.column": "Columna",
|
|
27
|
+
"card.assignees": "Responsables",
|
|
28
|
+
"card.requiredLegend": "Obligatorio",
|
|
29
|
+
"card.assigneeRequired": "Selecciona al menos un responsable",
|
|
30
|
+
"card.labels": "Etiquetas",
|
|
31
|
+
"card.color": "Color de la tarjeta",
|
|
32
|
+
"card.link": "Enlace",
|
|
33
|
+
"card.location": "Lugar",
|
|
34
|
+
"card.locationPlaceholder": "p. ej. Ayuntamiento, C/ Mayor 1",
|
|
35
|
+
"card.calendarInviteTitle": "Solo tiene efecto con fecha de vencimiento",
|
|
36
|
+
"card.calendarDuration": "Duración",
|
|
37
|
+
"card.calendarDurationTitle": "Duración de la cita en la invitación de calendario (hh:mm)",
|
|
38
|
+
"card.calendarInvite": "Adjuntar invitación de calendario (.ics) a la notificación",
|
|
39
|
+
"card.recurrence": "Repetición",
|
|
40
|
+
"card.checklist": "Lista de tareas",
|
|
41
|
+
"card.addCheckItem": "+ Añadir punto",
|
|
42
|
+
"card.delete": "Eliminar",
|
|
43
|
+
"card.manage": "Gestionar",
|
|
44
|
+
"card.manageTitle": "Transferir o clonar la tarjeta",
|
|
45
|
+
"card.cancel": "Cancelar",
|
|
46
|
+
"card.save": "Guardar",
|
|
47
|
+
"card.checkPlaceholder": "Punto…",
|
|
48
|
+
"card.checkDrag": "Reordenar el punto",
|
|
49
|
+
"prio.normal": "Normal",
|
|
50
|
+
"prio.high": "Alta",
|
|
51
|
+
"prio.urgent": "Urgente",
|
|
52
|
+
"rec.none": "Ninguna",
|
|
53
|
+
"rec.daily": "Diaria",
|
|
54
|
+
"rec.weekly": "Semanal",
|
|
55
|
+
"rec.monthly": "Mensual (día del mes)",
|
|
56
|
+
"rec.monthlyWeekday": "Mensual (día de la semana)",
|
|
57
|
+
"rec.workday": "Día laborable del mes",
|
|
58
|
+
"rec.yearly": "Anual",
|
|
59
|
+
"rec.everyNDays": "Cada X días",
|
|
60
|
+
"rec.interval": "Intervalo (días)",
|
|
61
|
+
"rec.dayOfMonth": "Día del mes",
|
|
62
|
+
"rec.month": "Mes",
|
|
63
|
+
"rec.which": "Cuál",
|
|
64
|
+
"rec.position": "Posición",
|
|
65
|
+
"rec.n": "n",
|
|
66
|
+
"rec.ordinalLast": "último",
|
|
67
|
+
"rec.hint.daily": "Al completarla reaparece al día siguiente.",
|
|
68
|
+
"rec.hint.weekly": "Completada → nueva tarjeta el siguiente día de la semana elegido.",
|
|
69
|
+
"rec.hint.monthly": "Completada → nueva tarjeta el día elegido del mes siguiente.",
|
|
70
|
+
"rec.hint.monthly_weekday": "Completada → nueva tarjeta el día de la semana elegido (p. ej. el 2.º martes) del mes siguiente.",
|
|
71
|
+
"rec.hint.workday": "Completada → nueva tarjeta el día laborable elegido del mes siguiente (se omiten fines de semana y festivos).",
|
|
72
|
+
"rec.hint.yearly": "Completada → nueva tarjeta el día y mes elegidos del año próximo.",
|
|
73
|
+
"rec.hint.every_n_days": "Completada → nueva tarjeta tras el número de días configurado.",
|
|
74
|
+
"wd.first": "primero",
|
|
75
|
+
"wd.last": "último",
|
|
76
|
+
"wd.nth": "n.º (desde el principio)",
|
|
77
|
+
"wd.nthLast": "n.º (desde el final)",
|
|
78
|
+
"month.1": "enero",
|
|
79
|
+
"month.2": "febrero",
|
|
80
|
+
"month.3": "marzo",
|
|
81
|
+
"month.4": "abril",
|
|
82
|
+
"month.5": "mayo",
|
|
83
|
+
"month.6": "junio",
|
|
84
|
+
"month.7": "julio",
|
|
85
|
+
"month.8": "agosto",
|
|
86
|
+
"month.9": "septiembre",
|
|
87
|
+
"month.10": "octubre",
|
|
88
|
+
"month.11": "noviembre",
|
|
89
|
+
"month.12": "diciembre",
|
|
90
|
+
"weekday.1": "lun",
|
|
91
|
+
"weekday.2": "mar",
|
|
92
|
+
"weekday.3": "mié",
|
|
93
|
+
"weekday.4": "jue",
|
|
94
|
+
"weekday.5": "vie",
|
|
95
|
+
"weekday.6": "sáb",
|
|
96
|
+
"weekday.7": "dom",
|
|
97
|
+
"label.new": "+ Nueva",
|
|
98
|
+
"label.namePlaceholder": "Nombre de la etiqueta",
|
|
99
|
+
"color.own": "Color personalizado",
|
|
100
|
+
"color.none": "sin color",
|
|
101
|
+
"boards.boardTitle": "Título del tablero",
|
|
102
|
+
"boards.columns": "Columnas (arrastra para reordenar)",
|
|
103
|
+
"boards.columnName": "Nombre de la columna",
|
|
104
|
+
"boards.wipTitle": "Límite WIP",
|
|
105
|
+
"boards.done": "Hecho",
|
|
106
|
+
"boards.allowAdd": "Nueva",
|
|
107
|
+
"boards.deleteColumnTitle": "Eliminar la columna (las tarjetas pasan a la primera)",
|
|
108
|
+
"boards.addColumn": "+ Añadir columna",
|
|
109
|
+
"boards.labels": "Etiquetas",
|
|
110
|
+
"boards.deleteLabelTitle": "Eliminar la etiqueta",
|
|
111
|
+
"boards.addLabel": "+ Añadir etiqueta",
|
|
112
|
+
"boards.linkTarget": "Enlace en las notificaciones",
|
|
113
|
+
"boards.linkBoard": "Vista del tablero (resaltar la tarjeta)",
|
|
114
|
+
"boards.linkEdit": "Abrir el editor de la tarjeta",
|
|
115
|
+
"boards.linkUrl": "URL propia",
|
|
116
|
+
"boards.linkUrlField": "URL propia (dirección fija)",
|
|
117
|
+
"boards.members": "Miembros (usuarios asignables)",
|
|
118
|
+
"boards.membersHint": "Cada tablero necesita al menos un usuario seleccionado.",
|
|
119
|
+
"boards.membersRequiredShort": "Cada tablero necesita al menos un usuario.",
|
|
120
|
+
"boards.memberRemoveTitle": "Quitar miembro",
|
|
121
|
+
"boards.memberRemoveMsg": "{count} tarjeta(s) tienen solo a {names} como responsable. Esas tarjetas conservan la asignación pero ya no aparecen en el filtro por persona. ¿Quitar de todos modos?",
|
|
122
|
+
"boards.deleteBoard": "Eliminar tablero",
|
|
123
|
+
"boards.close": "Cerrar",
|
|
124
|
+
"boards.save": "Guardar",
|
|
125
|
+
"boards.newBoard": "Nuevo tablero…",
|
|
126
|
+
"boards.noneYet": "Aún no hay tablero — escribe un nombre arriba y pulsa «Crear».",
|
|
127
|
+
"boards.create": "Crear",
|
|
128
|
+
"share.title": "Vistas",
|
|
129
|
+
"share.hint": "Crea un enlace con filtros y opciones de vista predefinidos, p. ej. para incrustar (tarjeta webpage de Lovelace) o compartir.",
|
|
130
|
+
"share.board": "Tablero",
|
|
131
|
+
"share.users": "Usuarios (vacío = todos)",
|
|
132
|
+
"share.labels": "Ocultar etiquetas (vacío = mostrar todas)",
|
|
133
|
+
"share.labelsHide": "Ocultar estas etiquetas",
|
|
134
|
+
"share.labelsOnly": "Mostrar solo estas etiquetas",
|
|
135
|
+
"share.visibleColumns": "Columnas visibles",
|
|
136
|
+
"share.doneLimit": "Máx. tareas completadas visibles (vacío = todas, 0 = ninguna)",
|
|
137
|
+
"share.doneLimitAll": "todas",
|
|
138
|
+
"share.hideSettings": "Ocultar el engranaje de ajustes",
|
|
139
|
+
"share.embed": "Modo incrustado (compacto, para iframe)",
|
|
140
|
+
"share.generatedUrl": "URL generada",
|
|
141
|
+
"share.copy": "Copiar",
|
|
142
|
+
"share.copied": "Copiado ✓",
|
|
143
|
+
"confirm.deleteCard": "¿Mover esta tarjeta a la papelera? Podrás restaurarla durante 30 días.",
|
|
144
|
+
"confirm.deleteBoard": "¿Eliminar el tablero «{title}» con todas sus tarjetas?",
|
|
145
|
+
"error.moveFailed": "Error al mover: {msg}",
|
|
146
|
+
"error.saveFailed": "Error al guardar: {msg}",
|
|
147
|
+
"boards.avatars": "Avatares de usuario (imagen en vez de iniciales)",
|
|
148
|
+
"avatar.choose": "Elegir imagen",
|
|
149
|
+
"user.color": "Color",
|
|
150
|
+
"avatar.remove": "Quitar avatar",
|
|
151
|
+
"avatar.failed": "Error al subir: {msg}",
|
|
152
|
+
"error.loadFailed": "Error al cargar",
|
|
153
|
+
"settings.title": "Ajustes",
|
|
154
|
+
"settings.tabBoard": "Tablero",
|
|
155
|
+
"settings.tabUsers": "Usuarios",
|
|
156
|
+
"card.checklistToggle": "Mostrar/ocultar la lista",
|
|
157
|
+
"boards.colTitle": "Título",
|
|
158
|
+
"boards.colMax": "Máx",
|
|
159
|
+
"boards.colWip": "WIP",
|
|
160
|
+
"boards.legendTitle": "Nombre de la columna",
|
|
161
|
+
"boards.legendMax": "Máx. de tarjetas mostradas (0 = todas)",
|
|
162
|
+
"boards.legendWip": "Límite WIP — solo visual (0 = sin límite)",
|
|
163
|
+
"boards.legendAdd": "Aquí se pueden añadir tarjetas",
|
|
164
|
+
"boards.legendDone": "Marca la columna como «hecho»",
|
|
165
|
+
"boards.maxTitle": "Máx. de tarjetas mostradas por columna (0 = todas)",
|
|
166
|
+
"boards.dragTitle": "Arrastra para reordenar",
|
|
167
|
+
"board.moreCards": "+{n} más",
|
|
168
|
+
"board.moreCardsTitle": "Más tarjetas ocultas por el límite de visualización",
|
|
169
|
+
"col.trash": "Papelera",
|
|
170
|
+
"sort.mode": "Ordenación",
|
|
171
|
+
"sort.manual": "Arrastrar y soltar",
|
|
172
|
+
"sort.grid": "Asas de arrastre",
|
|
173
|
+
"sort.gripTitle": "Arrastra para reordenar",
|
|
174
|
+
"sort.due": "Fecha de vencimiento",
|
|
175
|
+
"sort.priority": "Prioridad",
|
|
176
|
+
"sort.age": "Tiempo en la columna",
|
|
177
|
+
"sort.reverse": "Orden inverso",
|
|
178
|
+
"card.doneLabel": "Hecha",
|
|
179
|
+
"card.copy": "Copiar tarjeta",
|
|
180
|
+
"card.edit": "Editar tarjeta",
|
|
181
|
+
"trash.daysLeft": "quedan {n} días",
|
|
182
|
+
"trash.restore": "Restaurar",
|
|
183
|
+
"trash.purge": "Eliminar definitivamente",
|
|
184
|
+
"trash.empty": "Vaciar la papelera",
|
|
185
|
+
"trash.showToggle": "Mostrar la papelera",
|
|
186
|
+
"confirm.title": "Confirmar",
|
|
187
|
+
"confirm.ok": "Aceptar",
|
|
188
|
+
"confirm.cancel": "Cancelar",
|
|
189
|
+
"confirm.purgeCard": "¿Eliminar esta tarjeta de forma definitiva e irreversible?",
|
|
190
|
+
"confirm.emptyTrash": "¿Eliminar definitivamente todas las tarjetas de la papelera?",
|
|
191
|
+
"cleanup.title": "Mover las tarjetas hechas a la papelera",
|
|
192
|
+
"cleanup.off": "Desactivado",
|
|
193
|
+
"cleanup.age": "Por antigüedad",
|
|
194
|
+
"cleanup.count": "Por cantidad",
|
|
195
|
+
"cleanup.days": "Días",
|
|
196
|
+
"cleanup.countLabel": "Cantidad",
|
|
197
|
+
"cleanup.hint": "Mueve automáticamente las tarjetas hechas antiguas a la papelera (a diario y al iniciar). Allí se eliminan definitivamente tras 30 días.",
|
|
198
|
+
"boards.lastBoard": "El último tablero no se puede eliminar.",
|
|
199
|
+
"boards.editingBoard": "Qué tablero se está editando",
|
|
200
|
+
"boards.showBoard": "Mostrar este tablero",
|
|
201
|
+
"boards.showConfirm": "¿Cambiar al tablero «{title}»? El diálogo de ajustes permanece abierto.",
|
|
202
|
+
"boards.unsavedTitle": "Cambios sin guardar",
|
|
203
|
+
"boards.unsavedMsg": "Hay cambios sin guardar en este tablero. ¿Guardar o descartar?",
|
|
204
|
+
"boards.discard": "Descartar",
|
|
205
|
+
"transfer.title": "Gestionar",
|
|
206
|
+
"transfer.targetBoard": "Tablero de destino",
|
|
207
|
+
"transfer.targetColumn": "Columna de destino",
|
|
208
|
+
"transfer.move": "Mover",
|
|
209
|
+
"transfer.noOtherBoards": "No hay otro tablero al que transferir.",
|
|
210
|
+
"transfer.copy": "Copiar",
|
|
211
|
+
"transfer.clone": "Clonar",
|
|
212
|
+
"transfer.cloneHint": "La tarjeta se duplica con todo su contenido; el clon se coloca justo debajo del original.",
|
|
213
|
+
"transfer.dropLabels": "Se quitarán {n} etiqueta(s) sin equivalencia.",
|
|
214
|
+
"transfer.dropAssignees": "{n} responsable(s) no son miembros del tablero de destino y se quitarán.",
|
|
215
|
+
"transfer.pickAssignee": "Ninguno de los responsables actuales es miembro de este tablero. Elige al menos un responsable.",
|
|
216
|
+
"desc.close": "Cerrar",
|
|
217
|
+
"rec.cron": "Expresión cron",
|
|
218
|
+
"rec.cronExpr": "Patrón",
|
|
219
|
+
"rec.hint.cron": "Hecha → nueva tarjeta el siguiente día que coincida con el patrón. Minuto y hora fijan la hora de la tarjeta.",
|
|
220
|
+
"cron.empty": "Introduce un patrón, p. ej. 0 8 * * 1-5",
|
|
221
|
+
"cron.next": "Próximas: {dates}",
|
|
222
|
+
"cron.everyDayAt": "Todos los días a las {time}",
|
|
223
|
+
"cron.monthlyAt": "El día {day} de cada mes a las {time}",
|
|
224
|
+
"cron.rangeAt": "De {from} a {to} a las {time}",
|
|
225
|
+
"cron.daysAt": "{days} a las {time}",
|
|
226
|
+
"cron.minute": "Minuto",
|
|
227
|
+
"cron.hour": "Hora",
|
|
228
|
+
"cron.day": "Día",
|
|
229
|
+
"cron.month": "Mes",
|
|
230
|
+
"cron.weekday": "Día de la semana",
|
|
231
|
+
"cron.sun": "domingo",
|
|
232
|
+
"cron.mon": "lunes",
|
|
233
|
+
"cron.tue": "martes",
|
|
234
|
+
"cron.wed": "miércoles",
|
|
235
|
+
"cron.thu": "jueves",
|
|
236
|
+
"cron.fri": "viernes",
|
|
237
|
+
"cron.sat": "sábado"
|
|
238
|
+
}
|
package/www/i18n/fr.json
ADDED
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
{
|
|
2
|
+
"topbar.selectBoard": "Choisir un tableau",
|
|
3
|
+
"topbar.activeUser": "Utilisateur actif",
|
|
4
|
+
"topbar.filterMine": "Afficher uniquement mes cartes",
|
|
5
|
+
"topbar.addCard": "+ Carte",
|
|
6
|
+
"topbar.theme": "Changer de thème",
|
|
7
|
+
"topbar.share": "Vues",
|
|
8
|
+
"topbar.settings": "Paramètres",
|
|
9
|
+
"board.loading": "Chargement…",
|
|
10
|
+
"board.empty": "Aucun tableau — créez-en un via ⚙.",
|
|
11
|
+
"board.addCard": "+ Ajouter une carte",
|
|
12
|
+
"col.hideDone": "Masquer les terminées",
|
|
13
|
+
"col.showDone": "Afficher les terminées",
|
|
14
|
+
"badge.recurring": "Tâche récurrente",
|
|
15
|
+
"badge.description": "Contient une description",
|
|
16
|
+
"card.titleNew": "Nouvelle carte",
|
|
17
|
+
"card.titleEdit": "Modifier la carte",
|
|
18
|
+
"card.title": "Titre",
|
|
19
|
+
"card.titleRequired": "Veuillez saisir un titre",
|
|
20
|
+
"card.description": "Description",
|
|
21
|
+
"card.markdown": "(Markdown)",
|
|
22
|
+
"card.dueDate": "Échéance",
|
|
23
|
+
"card.timeToggleTitle": "Définir aussi une heure",
|
|
24
|
+
"card.time": "Heure",
|
|
25
|
+
"card.priority": "Priorité",
|
|
26
|
+
"card.column": "Colonne",
|
|
27
|
+
"card.assignees": "Assignés",
|
|
28
|
+
"card.requiredLegend": "Obligatoire",
|
|
29
|
+
"card.assigneeRequired": "Sélectionnez au moins une personne",
|
|
30
|
+
"card.labels": "Étiquettes",
|
|
31
|
+
"card.color": "Couleur de la carte",
|
|
32
|
+
"card.link": "Lien",
|
|
33
|
+
"card.location": "Lieu",
|
|
34
|
+
"card.locationPlaceholder": "ex. Mairie, Rue Principale 1",
|
|
35
|
+
"card.calendarInviteTitle": "Effectif uniquement avec une échéance",
|
|
36
|
+
"card.calendarDuration": "Durée",
|
|
37
|
+
"card.calendarDurationTitle": "Durée du rendez-vous dans l'invitation (hh:mm)",
|
|
38
|
+
"card.calendarInvite": "Joindre une invitation d'agenda (.ics) à la notification",
|
|
39
|
+
"card.recurrence": "Récurrence",
|
|
40
|
+
"card.checklist": "Liste de contrôle",
|
|
41
|
+
"card.addCheckItem": "+ Ajouter un élément",
|
|
42
|
+
"card.delete": "Supprimer",
|
|
43
|
+
"card.manage": "Gérer",
|
|
44
|
+
"card.manageTitle": "Transférer ou cloner la carte",
|
|
45
|
+
"card.cancel": "Annuler",
|
|
46
|
+
"card.save": "Enregistrer",
|
|
47
|
+
"card.checkPlaceholder": "Élément…",
|
|
48
|
+
"card.checkDrag": "Déplacer l’élément",
|
|
49
|
+
"prio.normal": "Normale",
|
|
50
|
+
"prio.high": "Haute",
|
|
51
|
+
"prio.urgent": "Urgente",
|
|
52
|
+
"rec.none": "Aucune",
|
|
53
|
+
"rec.daily": "Quotidienne",
|
|
54
|
+
"rec.weekly": "Hebdomadaire",
|
|
55
|
+
"rec.monthly": "Mensuelle (jour du mois)",
|
|
56
|
+
"rec.monthlyWeekday": "Mensuelle (jour de semaine)",
|
|
57
|
+
"rec.workday": "Jour ouvré du mois",
|
|
58
|
+
"rec.yearly": "Annuelle",
|
|
59
|
+
"rec.everyNDays": "Tous les X jours",
|
|
60
|
+
"rec.interval": "Intervalle (jours)",
|
|
61
|
+
"rec.dayOfMonth": "Jour du mois",
|
|
62
|
+
"rec.month": "Mois",
|
|
63
|
+
"rec.which": "Lequel",
|
|
64
|
+
"rec.position": "Position",
|
|
65
|
+
"rec.n": "n",
|
|
66
|
+
"rec.ordinalLast": "dernier",
|
|
67
|
+
"rec.hint.daily": "Après achèvement, réapparaît le lendemain.",
|
|
68
|
+
"rec.hint.weekly": "Terminée → nouvelle carte le prochain jour de semaine choisi.",
|
|
69
|
+
"rec.hint.monthly": "Terminée → nouvelle carte le jour choisi du mois suivant.",
|
|
70
|
+
"rec.hint.monthly_weekday": "Terminée → nouvelle carte le jour de semaine choisi (p. ex. 2e mardi) du mois suivant.",
|
|
71
|
+
"rec.hint.workday": "Terminée → nouvelle carte le jour ouvré choisi du mois suivant (week-ends et jours fériés sont ignorés).",
|
|
72
|
+
"rec.hint.yearly": "Terminée → nouvelle carte le jour/mois choisi l'année prochaine.",
|
|
73
|
+
"rec.hint.every_n_days": "Terminée → nouvelle carte après le nombre de jours configuré.",
|
|
74
|
+
"wd.first": "premier",
|
|
75
|
+
"wd.last": "dernier",
|
|
76
|
+
"wd.nth": "n-ième (depuis le début)",
|
|
77
|
+
"wd.nthLast": "n-ième (depuis la fin)",
|
|
78
|
+
"month.1": "Janvier",
|
|
79
|
+
"month.2": "Février",
|
|
80
|
+
"month.3": "Mars",
|
|
81
|
+
"month.4": "Avril",
|
|
82
|
+
"month.5": "Mai",
|
|
83
|
+
"month.6": "Juin",
|
|
84
|
+
"month.7": "Juillet",
|
|
85
|
+
"month.8": "Août",
|
|
86
|
+
"month.9": "Septembre",
|
|
87
|
+
"month.10": "Octobre",
|
|
88
|
+
"month.11": "Novembre",
|
|
89
|
+
"month.12": "Décembre",
|
|
90
|
+
"weekday.1": "Lun",
|
|
91
|
+
"weekday.2": "Mar",
|
|
92
|
+
"weekday.3": "Mer",
|
|
93
|
+
"weekday.4": "Jeu",
|
|
94
|
+
"weekday.5": "Ven",
|
|
95
|
+
"weekday.6": "Sam",
|
|
96
|
+
"weekday.7": "Dim",
|
|
97
|
+
"label.new": "+ Nouveau",
|
|
98
|
+
"label.namePlaceholder": "Nom de l'étiquette",
|
|
99
|
+
"color.own": "Couleur personnalisée",
|
|
100
|
+
"color.none": "aucune couleur",
|
|
101
|
+
"boards.boardTitle": "Titre du tableau",
|
|
102
|
+
"boards.columns": "Colonnes (glisser pour réordonner)",
|
|
103
|
+
"boards.columnName": "Nom de la colonne",
|
|
104
|
+
"boards.wipTitle": "Limite WIP",
|
|
105
|
+
"boards.done": "Terminé",
|
|
106
|
+
"boards.allowAdd": "Nouveau",
|
|
107
|
+
"boards.deleteColumnTitle": "Supprimer la colonne (les cartes vont dans la première colonne)",
|
|
108
|
+
"boards.addColumn": "+ Ajouter une colonne",
|
|
109
|
+
"boards.labels": "Étiquettes",
|
|
110
|
+
"boards.deleteLabelTitle": "Supprimer l'étiquette",
|
|
111
|
+
"boards.addLabel": "+ Ajouter une étiquette",
|
|
112
|
+
"boards.linkTarget": "Lien dans les notifications",
|
|
113
|
+
"boards.linkBoard": "Vue tableau (mettre la carte en évidence)",
|
|
114
|
+
"boards.linkEdit": "Ouvrir l’éditeur de carte",
|
|
115
|
+
"boards.linkUrl": "URL personnalisée",
|
|
116
|
+
"boards.linkUrlField": "URL personnalisée (adresse fixe)",
|
|
117
|
+
"boards.members": "Membres (utilisateurs assignables)",
|
|
118
|
+
"boards.membersHint": "Chaque tableau doit comporter au moins un utilisateur.",
|
|
119
|
+
"boards.membersRequiredShort": "Chaque tableau nécessite au moins un utilisateur.",
|
|
120
|
+
"boards.memberRemoveTitle": "Retirer le membre",
|
|
121
|
+
"boards.memberRemoveMsg": "{count} carte(s) n’ont que {names} comme responsable. Ces cartes conservent l’affectation mais n’apparaissent plus dans le filtre par personne. Retirer quand même ?",
|
|
122
|
+
"boards.deleteBoard": "Supprimer le tableau",
|
|
123
|
+
"boards.close": "Fermer",
|
|
124
|
+
"boards.save": "Enregistrer",
|
|
125
|
+
"boards.newBoard": "Nouveau tableau…",
|
|
126
|
+
"boards.noneYet": "Aucun tableau — saisissez un nom ci-dessus et cliquez sur « Créer ».",
|
|
127
|
+
"boards.create": "Créer",
|
|
128
|
+
"share.title": "Vues",
|
|
129
|
+
"share.hint": "Créer un lien avec des filtres et options d'affichage prédéfinis – p. ex. pour l'intégration (carte web Lovelace) ou le partage.",
|
|
130
|
+
"share.board": "Tableau",
|
|
131
|
+
"share.users": "Utilisateurs (vide = tous)",
|
|
132
|
+
"share.labels": "Masquer les étiquettes (vide = tout afficher)",
|
|
133
|
+
"share.labelsHide": "Masquer ces étiquettes",
|
|
134
|
+
"share.labelsOnly": "Afficher uniquement ces étiquettes",
|
|
135
|
+
"share.visibleColumns": "Colonnes visibles",
|
|
136
|
+
"share.doneLimit": "Max. de tâches terminées visibles (vide = toutes, 0 = aucune)",
|
|
137
|
+
"share.doneLimitAll": "toutes",
|
|
138
|
+
"share.hideSettings": "Masquer l'engrenage des réglages",
|
|
139
|
+
"share.embed": "Mode intégré (compact, pour iframe)",
|
|
140
|
+
"share.generatedUrl": "URL générée",
|
|
141
|
+
"share.copy": "Copier",
|
|
142
|
+
"share.copied": "Copié ✓",
|
|
143
|
+
"confirm.deleteCard": "Déplacer cette carte vers la corbeille ? Vous pourrez la restaurer pendant 30 jours.",
|
|
144
|
+
"confirm.deleteBoard": "Supprimer le tableau « {title} » avec toutes ses cartes ?",
|
|
145
|
+
"error.moveFailed": "Échec du déplacement : {msg}",
|
|
146
|
+
"error.saveFailed": "Échec de l'enregistrement : {msg}",
|
|
147
|
+
"boards.avatars": "Avatars des utilisateurs (image au lieu des initiales)",
|
|
148
|
+
"avatar.choose": "Choisir une image",
|
|
149
|
+
"user.color": "Couleur",
|
|
150
|
+
"avatar.remove": "Supprimer l'avatar",
|
|
151
|
+
"avatar.failed": "Échec de l'envoi : {msg}",
|
|
152
|
+
"error.loadFailed": "Échec du chargement",
|
|
153
|
+
"settings.title": "Paramètres",
|
|
154
|
+
"settings.tabBoard": "Tableau",
|
|
155
|
+
"settings.tabUsers": "Utilisateurs",
|
|
156
|
+
"card.checklistToggle": "Afficher/masquer la liste",
|
|
157
|
+
"boards.colTitle": "Titre",
|
|
158
|
+
"boards.colMax": "Max",
|
|
159
|
+
"boards.colWip": "WIP",
|
|
160
|
+
"boards.legendTitle": "Nom de la colonne",
|
|
161
|
+
"boards.legendMax": "Cartes affichées max. (0 = toutes)",
|
|
162
|
+
"boards.legendWip": "Limite WIP — visuel seulement (0 = aucune)",
|
|
163
|
+
"boards.legendAdd": "Des cartes peuvent être ajoutées ici",
|
|
164
|
+
"boards.legendDone": "Marque la colonne comme terminée",
|
|
165
|
+
"boards.maxTitle": "Cartes affichées max. par colonne (0 = toutes)",
|
|
166
|
+
"boards.dragTitle": "Glisser pour réordonner",
|
|
167
|
+
"board.moreCards": "+{n} de plus",
|
|
168
|
+
"board.moreCardsTitle": "Cartes supplémentaires masquées par la limite d'affichage",
|
|
169
|
+
"col.trash": "Corbeille",
|
|
170
|
+
"sort.mode": "Tri",
|
|
171
|
+
"sort.manual": "Glisser-déposer",
|
|
172
|
+
"sort.grid": "Poignées",
|
|
173
|
+
"sort.gripTitle": "Faire glisser pour réordonner",
|
|
174
|
+
"sort.due": "Échéance",
|
|
175
|
+
"sort.priority": "Priorité",
|
|
176
|
+
"sort.age": "Ancienneté dans la colonne",
|
|
177
|
+
"sort.reverse": "Inverser l'ordre",
|
|
178
|
+
"card.doneLabel": "Terminé",
|
|
179
|
+
"card.copy": "Copier la carte",
|
|
180
|
+
"card.edit": "Modifier la carte",
|
|
181
|
+
"trash.daysLeft": "encore {n} jours",
|
|
182
|
+
"trash.restore": "Restaurer",
|
|
183
|
+
"trash.purge": "Supprimer définitivement",
|
|
184
|
+
"trash.empty": "Vider la corbeille",
|
|
185
|
+
"trash.showToggle": "Afficher la corbeille",
|
|
186
|
+
"confirm.title": "Confirmer",
|
|
187
|
+
"confirm.ok": "OK",
|
|
188
|
+
"confirm.cancel": "Annuler",
|
|
189
|
+
"confirm.purgeCard": "Supprimer cette carte définitivement et irréversiblement ?",
|
|
190
|
+
"confirm.emptyTrash": "Supprimer définitivement toutes les cartes de la corbeille ?",
|
|
191
|
+
"cleanup.title": "Cartes terminées vers la corbeille",
|
|
192
|
+
"cleanup.off": "Désactivé",
|
|
193
|
+
"cleanup.age": "Par ancienneté",
|
|
194
|
+
"cleanup.count": "Par nombre",
|
|
195
|
+
"cleanup.days": "Jours",
|
|
196
|
+
"cleanup.countLabel": "Nombre",
|
|
197
|
+
"cleanup.hint": "Déplace automatiquement les anciennes cartes terminées vers la corbeille (chaque jour et au démarrage). Elles y sont supprimées définitivement après 30 jours.",
|
|
198
|
+
"boards.lastBoard": "Le dernier tableau ne peut pas être supprimé.",
|
|
199
|
+
"boards.editingBoard": "Tableau en cours de modification",
|
|
200
|
+
"boards.showBoard": "Afficher ce tableau",
|
|
201
|
+
"boards.showConfirm": "Passer au tableau « {title} » ? La fenêtre des paramètres reste ouverte.",
|
|
202
|
+
"boards.unsavedTitle": "Modifications non enregistrées",
|
|
203
|
+
"boards.unsavedMsg": "Ce tableau comporte des modifications non enregistrées. Enregistrer ou abandonner ?",
|
|
204
|
+
"boards.discard": "Abandonner",
|
|
205
|
+
"transfer.title": "Gérer",
|
|
206
|
+
"transfer.targetBoard": "Tableau cible",
|
|
207
|
+
"transfer.targetColumn": "Colonne cible",
|
|
208
|
+
"transfer.move": "Déplacer",
|
|
209
|
+
"transfer.noOtherBoards": "Il n'y a aucun autre tableau vers lequel transférer.",
|
|
210
|
+
"transfer.copy": "Copier",
|
|
211
|
+
"transfer.clone": "Cloner",
|
|
212
|
+
"transfer.cloneHint": "La carte est dupliquée avec tout son contenu – le clone est placé juste sous l'original.",
|
|
213
|
+
"transfer.dropLabels": "{n} étiquette(s) sans correspondance seront supprimées.",
|
|
214
|
+
"transfer.dropAssignees": "{n} assigné(s) ne sont pas membres du tableau cible et seront retirés.",
|
|
215
|
+
"transfer.pickAssignee": "Aucun des assignés actuels n'est membre de ce tableau. Veuillez choisir au moins une personne responsable.",
|
|
216
|
+
"desc.close": "Fermer",
|
|
217
|
+
"rec.cron": "Expression cron",
|
|
218
|
+
"rec.cronExpr": "Motif",
|
|
219
|
+
"rec.hint.cron": "Terminé → nouvelle carte au prochain jour correspondant au motif. Minute et heure fixent l’heure de la carte.",
|
|
220
|
+
"cron.empty": "Saisir un motif, p. ex. 0 8 * * 1-5",
|
|
221
|
+
"cron.next": "Prochaines : {dates}",
|
|
222
|
+
"cron.everyDayAt": "Chaque jour à {time}",
|
|
223
|
+
"cron.monthlyAt": "Le {day} de chaque mois à {time}",
|
|
224
|
+
"cron.rangeAt": "De {from} à {to} à {time}",
|
|
225
|
+
"cron.daysAt": "{days} à {time}",
|
|
226
|
+
"cron.minute": "Minute",
|
|
227
|
+
"cron.hour": "Heure",
|
|
228
|
+
"cron.day": "Jour",
|
|
229
|
+
"cron.month": "Mois",
|
|
230
|
+
"cron.weekday": "Jour de semaine",
|
|
231
|
+
"cron.sun": "dimanche",
|
|
232
|
+
"cron.mon": "lundi",
|
|
233
|
+
"cron.tue": "mardi",
|
|
234
|
+
"cron.wed": "mercredi",
|
|
235
|
+
"cron.thu": "jeudi",
|
|
236
|
+
"cron.fri": "vendredi",
|
|
237
|
+
"cron.sat": "samedi"
|
|
238
|
+
}
|