Wekan REST API v4.81
+Wekan REST API v4.83
@@ -16616,6 +16616,10 @@ UserSecurityScroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.
diff --git a/.meteor/packages b/.meteor/packages index 114ce54f7..b7b0a0eaa 100644 --- a/.meteor/packages +++ b/.meteor/packages @@ -6,8 +6,8 @@ meteor-base@1.4.0 # Build system -ecmascript@0.14.4 -standard-minifier-css@1.7.1 +ecmascript@0.15.0 +standard-minifier-css@1.7.2 standard-minifier-js@2.6.0 mquandalle:jade coffeescript@2.4.1! @@ -72,9 +72,9 @@ simple:rest-accounts-password useraccounts:core email@2.0.0 horka:swipebox -dynamic-import@0.5.5 +dynamic-import@0.6.0 -accounts-password@1.6.3 +accounts-password@1.7.0 cfs:gridfs rzymek:fullcalendar momentjs:moment@2.22.2 diff --git a/.meteor/release b/.meteor/release index d7595d8c7..bc0e7170f 100644 --- a/.meteor/release +++ b/.meteor/release @@ -1 +1 @@ -METEOR@1.12.1 +METEOR@2.0 diff --git a/.meteor/versions b/.meteor/versions index 706c1fd85..be5529b9c 100644 --- a/.meteor/versions +++ b/.meteor/versions @@ -1,7 +1,7 @@ 3stack:presence@1.1.2 -accounts-base@1.7.1 +accounts-base@1.8.0 accounts-oauth@1.2.0 -accounts-password@1.6.3 +accounts-password@1.7.0 aldeed:collection2@2.10.0 aldeed:collection2-core@1.2.0 aldeed:schema-deny@1.1.0 @@ -10,8 +10,8 @@ aldeed:simple-schema@1.5.4 allow-deny@1.1.0 arillo:flow-router-helpers@0.5.2 audit-argument-checks@1.0.7 -autoupdate@1.6.0 -babel-compiler@7.5.5 +autoupdate@1.7.0 +babel-compiler@7.6.0 babel-runtime@1.5.0 base64@1.0.12 binary-heap@1.0.11 @@ -49,15 +49,15 @@ coffeescript-compiler@2.4.1 cottz:publish-relations@2.0.8 dburles:collection-helpers@1.1.0 ddp@1.4.0 -ddp-client@2.3.3 +ddp-client@2.4.0 ddp-common@1.4.0 ddp-rate-limiter@1.0.9 ddp-server@2.3.2 deps@1.0.12 diff-sequence@1.1.1 -dynamic-import@0.5.5 +dynamic-import@0.6.0 easylogic:summernote@0.8.8 -ecmascript@0.14.4 +ecmascript@0.15.0 ecmascript-runtime@0.7.0 ecmascript-runtime-client@0.11.0 ecmascript-runtime-server@0.10.0 @@ -87,7 +87,7 @@ lamhieu:unblock@1.0.0 launch-screen@1.2.0 livedata@1.0.18 localstorage@1.2.0 -logging@1.1.20 +logging@1.2.0 lucasantoniassi:accounts-lockout@1.0.0 matb33:collection-hooks@0.9.1 matteodem:easy-search@1.6.4 @@ -106,7 +106,7 @@ minifiers@1.1.8-faster-rebuild.0 minimongo@1.6.1 mobile-status-bar@1.1.0 modern-browsers@0.1.5 -modules@0.15.0 +modules@0.16.0 modules-runtime@0.12.0 momentjs:moment@2.29.1 mongo@1.10.1 @@ -191,6 +191,7 @@ rajit:bootstrap3-datepicker-zh-cn@1.7.1 rajit:bootstrap3-datepicker-zh-tw@1.7.1 random@1.2.0 rate-limit@1.0.9 +react-fast-refresh@0.1.0 reactive-dict@1.3.0 reactive-var@1.0.11 reload@1.3.1 @@ -212,7 +213,7 @@ softwarerero:accounts-t9n@1.3.11 spacebars@1.0.15 spacebars-compiler@1.1.3 srp@1.1.0 -standard-minifier-css@1.7.1 +standard-minifier-css@1.7.2 standard-minifier-js@2.6.0 staringatlights:fast-render@3.3.0 staringatlights:inject-data@2.3.0 @@ -233,8 +234,8 @@ useraccounts:core@1.14.2 useraccounts:flow-routing@1.14.2 useraccounts:unstyled@1.14.2 verron:autosize@3.0.8 -webapp@1.9.1 -webapp-hashing@1.0.9 +webapp@1.10.0 +webapp-hashing@1.1.0 wekan-accounts-cas@0.1.0 wekan-accounts-oidc@1.0.10 wekan-ldap@0.0.2 diff --git a/CHANGELOG.md b/CHANGELOG.md index 66aac89e5..c89f5d984 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,33 @@ # Upcoming Wekan release +This release fixes the following bugs: + +- [Fixed Upper/lowercase errors in some languages due to .toLowerCase](https://github.com/wekan/wekan/commit/a5f6dd6399142b3b05e9b6a0d106d931106807d6). + Thanks to bronger and xet7. + +Thanks to above GitHub users for their contributions and translators for their translations. + +# v4.83 2021-01-20 Wekan release + +This release adds the following new features: + +- [When copying a board, copy Custom Fields to new board](https://github.com/wekan/wekan/pull/3451). + Thanks to jrsupplee. + +and adds the following updates: + +- [Upgrade to Meteor 2.0](https://github.com/wekan/wekan/commit/23c1723ae1ee09101d5ad6334eee782763d0b354). + Thanks to Meteor developers. + +and fixes the following bugs: + +- [Custom field definitions duplicated on copy and move](https://github.com/wekan/wekan/pull/3449). + Thanks to jrsupplee. + +Thanks to above GitHub users for their contributions and translators for their translations. + +# v4.82 2021-01-20 Wekan release + This release adds the following new features: - Export to Excel XLSX. Does work, but does not export all fields yet correctly. In Progress. diff --git a/Stackerfile.yml b/Stackerfile.yml index 0135556af..f0ec3279c 100644 --- a/Stackerfile.yml +++ b/Stackerfile.yml @@ -1,5 +1,5 @@ appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928 -appVersion: "v4.81.0" +appVersion: "v4.83.0" files: userUploads: - README.md diff --git a/client/components/sidebar/sidebar.js b/client/components/sidebar/sidebar.js index 3d5371fea..f4f7f45cb 100644 --- a/client/components/sidebar/sidebar.js +++ b/client/components/sidebar/sidebar.js @@ -166,16 +166,16 @@ Template.memberPopup.helpers({ const noComments = currentBoard.hasNoComments(this.userId); const worker = currentBoard.hasWorker(this.userId); if (commentOnly) { - return TAPi18n.__('comment-only').toLowerCase(); + return TAPi18n.__('comment-only'); } else if (noComments) { - return TAPi18n.__('no-comments').toLowerCase(); + return TAPi18n.__('no-comments'); } else if (worker) { - return TAPi18n.__('worker').toLowerCase(); + return TAPi18n.__('worker'); } else { - return TAPi18n.__(type).toLowerCase(); + return TAPi18n.__(type); } } else { - return TAPi18n.__(type).toLowerCase(); + return TAPi18n.__(type); } }, isInvited() { diff --git a/i18n/ar-EG.i18n.json b/i18n/ar-EG.i18n.json index d8cff917b..a3c89e9e3 100644 --- a/i18n/ar-EG.i18n.json +++ b/i18n/ar-EG.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/ar.i18n.json b/i18n/ar.i18n.json index 816ddc439..53902fdd8 100644 --- a/i18n/ar.i18n.json +++ b/i18n/ar.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/bg.i18n.json b/i18n/bg.i18n.json index dbcb909d7..55f7c38ab 100644 --- a/i18n/bg.i18n.json +++ b/i18n/bg.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/br.i18n.json b/i18n/br.i18n.json index a1307174e..3995f6216 100644 --- a/i18n/br.i18n.json +++ b/i18n/br.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/ca.i18n.json b/i18n/ca.i18n.json index fce7c88f1..fa17c9b23 100644 --- a/i18n/ca.i18n.json +++ b/i18n/ca.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/cs.i18n.json b/i18n/cs.i18n.json index 511024295..033be1809 100644 --- a/i18n/cs.i18n.json +++ b/i18n/cs.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/da.i18n.json b/i18n/da.i18n.json index ee3564b71..c8623cca9 100644 --- a/i18n/da.i18n.json +++ b/i18n/da.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/de.i18n.json b/i18n/de.i18n.json index 4579a9def..cbd5db4bf 100644 --- a/i18n/de.i18n.json +++ b/i18n/de.i18n.json @@ -327,8 +327,8 @@ "export-board-json": "Board als JSON exportieren", "export-board-csv": "Board als CSV exportieren", "export-board-tsv": "Board als TSV exportieren", - "export-board-excel": "Export board to Excel", - "user-can-not-export-excel": "User can not export Excel", + "export-board-excel": "Board nach Excel exportieren", + "user-can-not-export-excel": "Benutzer kann nicht nach Excel exportieren", "export-board-html": "Board als HTML exportieren", "exportBoardPopup-title": "Board exportieren", "sort": "Sortieren", @@ -609,7 +609,7 @@ "accounts-allowEmailChange": "Ändern der E-Mailadresse erlauben", "accounts-allowUserNameChange": "Ändern des Benutzernamens erlauben", "createdAt": "Erstellt am", - "modifiedAt": "Modified at", + "modifiedAt": "Geändert am", "verified": "Geprüft", "active": "Aktiv", "card-received": "Empfangen", @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane „%s“ nicht gefunden.", "list-title-not-found": "Liste „%s“ nicht gefunden.", "label-not-found": "Label „%s“ nicht gefunden.", + "label-color-not-found": "Label-Farbe „%s“ nicht gefunden.", "user-username-not-found": "Nutzername „%s“ nicht gefunden.", "globalSearch-title": "Alle Boards durchsuchen", "no-cards-found": "Keine Karten gefunden", diff --git a/i18n/el.i18n.json b/i18n/el.i18n.json index 3bff246fc..b86b6a249 100644 --- a/i18n/el.i18n.json +++ b/i18n/el.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/en-GB.i18n.json b/i18n/en-GB.i18n.json index 620fc6b67..4cacbf260 100644 --- a/i18n/en-GB.i18n.json +++ b/i18n/en-GB.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/eo.i18n.json b/i18n/eo.i18n.json index 2abef86ae..a5ce983d9 100644 --- a/i18n/eo.i18n.json +++ b/i18n/eo.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/es-AR.i18n.json b/i18n/es-AR.i18n.json index ee0335aaf..5bb743bbb 100644 --- a/i18n/es-AR.i18n.json +++ b/i18n/es-AR.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/es-CL.i18n.json b/i18n/es-CL.i18n.json index a7f8c33b5..6db1658d4 100644 --- a/i18n/es-CL.i18n.json +++ b/i18n/es-CL.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/es-MX.i18n.json b/i18n/es-MX.i18n.json index 26c9e68fe..202dbbe55 100644 --- a/i18n/es-MX.i18n.json +++ b/i18n/es-MX.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/es-PE.i18n.json b/i18n/es-PE.i18n.json index 03e0a60ba..211e40705 100644 --- a/i18n/es-PE.i18n.json +++ b/i18n/es-PE.i18n.json @@ -872,29 +872,30 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", "one-card-found": "One Card Found", "n-cards-found": "%s Cards Found", "n-n-of-n-cards-found": "__start__-__end__ of __total__ Cards Found", - "operator-board": "board", - "operator-board-abbrev": "b", - "operator-swimlane": "swimlane", - "operator-swimlane-abbrev": "s", + "operator-board": "tablero", + "operator-board-abbrev": "t", + "operator-swimlane": "carril", + "operator-swimlane-abbrev": "c", "operator-list": "la lista", "operator-list-abbrev": "l", "operator-label": "etiqueta", "operator-label-abbrev": "#", - "operator-user": "user", + "operator-user": "usuario", "operator-user-abbrev": "@", "operator-member": "miembro", "operator-member-abbrev": "m", "operator-assignee": "assignee", "operator-assignee-abbrev": "a", "operator-is": "es", - "operator-unknown-error": "%s is not an operator", - "heading-notes": "Notes", + "operator-unknown-error": "%s no es un operador", + "heading-notes": "Notas", "globalSearch-instructions-heading": "Search Instructions", "globalSearch-instructions-description": "Searches can include operators to refine the search. Operators are specified by writing the operator name and value separated by a colon. For example, an operator specification of `list:Blocked` would limit the search to cards that are contained in a list named *Blocked*. If the value contains spaces or special characters it must be enclosed in quotation marks (e.g. `__operator_list__:\"To Review\"`).", "globalSearch-instructions-operators": "Available operators:", diff --git a/i18n/es-PY.i18n.json b/i18n/es-PY.i18n.json index d8cff917b..a3c89e9e3 100644 --- a/i18n/es-PY.i18n.json +++ b/i18n/es-PY.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/es.i18n.json b/i18n/es.i18n.json index 07f0f30a4..b5d9dfd25 100644 --- a/i18n/es.i18n.json +++ b/i18n/es.i18n.json @@ -865,20 +865,21 @@ "dueCardsViewChange-title": "Due Cards View", "dueCardsViewChangePopup-title": "Due Cards View", "dueCardsViewChange-choice-me": "Me", - "dueCardsViewChange-choice-all": "All Users", + "dueCardsViewChange-choice-all": "Todos los usuarios", "dueCardsViewChange-choice-all-description": "Shows all incomplete cards with a *Due* date from boards for which the user has permission.", "broken-cards": "Broken Cards", - "board-title-not-found": "Board '%s' not found.", + "board-title-not-found": "Tablero '%s' no encontrado.", "swimlane-title-not-found": "Swimlane '%s' not found.", - "list-title-not-found": "List '%s' not found.", - "label-not-found": "Label '%s' not found.", - "user-username-not-found": "Username '%s' not found.", - "globalSearch-title": "Search All Boards", - "no-cards-found": "No Cards Found", - "one-card-found": "One Card Found", - "n-cards-found": "%s Cards Found", + "list-title-not-found": "Lista '%s' no encontrada.", + "label-not-found": "Etiqueta '%s' no encontrada.", + "label-color-not-found": "Label color %s not found.", + "user-username-not-found": "Usuario '%s' no encontrado.", + "globalSearch-title": "Buscar todas las tarjetas", + "no-cards-found": "Ninguna tarjeta encontrada", + "one-card-found": "Una tarjeta encontrada", + "n-cards-found": "%s tarjetas encontradas", "n-n-of-n-cards-found": "__start__-__end__ of __total__ Cards Found", - "operator-board": "board", + "operator-board": "tablero", "operator-board-abbrev": "b", "operator-swimlane": "swimlane", "operator-swimlane-abbrev": "s", @@ -886,18 +887,18 @@ "operator-list-abbrev": "l", "operator-label": "etiqueta", "operator-label-abbrev": "#", - "operator-user": "user", + "operator-user": "Usuario", "operator-user-abbrev": "@", "operator-member": "miembro", "operator-member-abbrev": "m", - "operator-assignee": "assignee", + "operator-assignee": "Asignar", "operator-assignee-abbrev": "a", "operator-is": "es", - "operator-unknown-error": "%s is not an operator", - "heading-notes": "Notes", - "globalSearch-instructions-heading": "Search Instructions", + "operator-unknown-error": "%s no es un operador", + "heading-notes": "Notas", + "globalSearch-instructions-heading": "Buscar instrucciones.", "globalSearch-instructions-description": "Searches can include operators to refine the search. Operators are specified by writing the operator name and value separated by a colon. For example, an operator specification of `list:Blocked` would limit the search to cards that are contained in a list named *Blocked*. If the value contains spaces or special characters it must be enclosed in quotation marks (e.g. `__operator_list__:\"To Review\"`).", - "globalSearch-instructions-operators": "Available operators:", + "globalSearch-instructions-operators": "Operadores disponibles:", "globalSearch-instructions-operator-board": "`__operator_board__:title` - cards in boards matching the specified title", "globalSearch-instructions-operator-list": "`__operator_list__:title` - cards in lists matching the specified title", "globalSearch-instructions-operator-swimlane": "`__operator_swimlane__:title` - cards in swimlanes matching the specified title", @@ -907,12 +908,12 @@ "globalSearch-instructions-operator-at": "`__operator_user_abbrev__username` - shorthand for `user:username`", "globalSearch-instructions-operator-member": "`__operator_member__:username` - cards where the specified user is a *member*", "globalSearch-instructions-operator-assignee": "`__operator_assignee__:username` - cards where the specified user is an *assignee*", - "globalSearch-instructions-notes-1": "Multiple operators may be specified.", + "globalSearch-instructions-notes-1": "Múltiple operadores pueden ser seleccionados.", "globalSearch-instructions-notes-2": "Similar operators are *OR*ed together. Cards that match any of the conditions will be returned.\n`__operator_list__:Available __operator_list__:Blocked` would return cards contained in any list named *Blocked* or *Available*.", "globalSearch-instructions-notes-3": "Differing operators are *AND*ed together. Only cards that match all of the differing operators are returned.\n`__operator_list__:Available __operator_label__:red` returns only cards in the list *Available* with a *red* label.", - "globalSearch-instructions-notes-4": "Text searches are case insensitive.", - "globalSearch-instructions-notes-5": "Currently archived cards are not searched.", - "link-to-search": "Link to this search", + "globalSearch-instructions-notes-4": "La búsqueda de texto distingue entre mayúsculas y minúsculas.", + "globalSearch-instructions-notes-5": "Las tarjetas actualmente archivadas no son seleccionadas.", + "link-to-search": "Enlazar a esta búsqueda", "excel-font": "Arial", "number": "Número" } diff --git a/i18n/eu.i18n.json b/i18n/eu.i18n.json index 21eb82431..227d724d8 100644 --- a/i18n/eu.i18n.json +++ b/i18n/eu.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/fa.i18n.json b/i18n/fa.i18n.json index ee380c543..a935a71d0 100644 --- a/i18n/fa.i18n.json +++ b/i18n/fa.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/fi.i18n.json b/i18n/fi.i18n.json index 44c786dc1..1d70db344 100644 --- a/i18n/fi.i18n.json +++ b/i18n/fi.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlanea '%s' ei löytynyt.", "list-title-not-found": "Listaa '%s' ei löytynyt.", "label-not-found": "Nimilappua '%s' ei löytynyt.", + "label-color-not-found": "Nimilapun väriä %s ei löytynyt.", "user-username-not-found": "Käyttäjänimeä '%s' ei löytynyt.", "globalSearch-title": "Etsi kaikilta tauluilta", "no-cards-found": "Kortteja ei löytynyt.", diff --git a/i18n/fr.i18n.json b/i18n/fr.i18n.json index 5027be09d..c9bc24752 100644 --- a/i18n/fr.i18n.json +++ b/i18n/fr.i18n.json @@ -327,8 +327,8 @@ "export-board-json": "Exporter le tableau en JSON", "export-board-csv": "Exporter le tableau en CSV", "export-board-tsv": "Exporter le tableau en TSV", - "export-board-excel": "Export board to Excel", - "user-can-not-export-excel": "User can not export Excel", + "export-board-excel": "Exporter le tableau vers Excel", + "user-can-not-export-excel": "L'utilisateur ne peut pas exporter vers Excel", "export-board-html": "Exporter le tableau en HTML", "exportBoardPopup-title": "Exporter le tableau", "sort": "Tri", @@ -609,7 +609,7 @@ "accounts-allowEmailChange": "Autoriser le changement d'adresse mail", "accounts-allowUserNameChange": "Autoriser le changement d'identifiant", "createdAt": "Créé le", - "modifiedAt": "Modified at", + "modifiedAt": "Modifié le", "verified": "Vérifié", "active": "Actif", "card-received": "Reçue", @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Couloir '%s' non trouvé.", "list-title-not-found": "Liste '%s' non trouvée.", "label-not-found": "Étiquette '%s' non trouvée.", + "label-color-not-found": "Étiquette de couleur '%s' non trouvée", "user-username-not-found": "Utilisateur '%s' non trouvé.", "globalSearch-title": "Chercher dans tous les tableaux", "no-cards-found": "Aucune carte trouvée", diff --git a/i18n/gl.i18n.json b/i18n/gl.i18n.json index 5659ae2fe..a9991f76b 100644 --- a/i18n/gl.i18n.json +++ b/i18n/gl.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/he.i18n.json b/i18n/he.i18n.json index 2d774492c..332c52c8c 100644 --- a/i18n/he.i18n.json +++ b/i18n/he.i18n.json @@ -327,8 +327,8 @@ "export-board-json": "ייצוא לוח ל־JSON", "export-board-csv": "ייצוא לוח ל־CSV", "export-board-tsv": "ייצוא לוח ל־TSV", - "export-board-excel": "Export board to Excel", - "user-can-not-export-excel": "User can not export Excel", + "export-board-excel": "ייצוא לוח ל־Excel", + "user-can-not-export-excel": "המשתמש לא יכול לייצא ל־Excel", "export-board-html": "ייצוא לוח ל־HTML", "exportBoardPopup-title": "ייצוא לוח", "sort": "מיון", @@ -609,7 +609,7 @@ "accounts-allowEmailChange": "לאפשר שינוי דוא״ל", "accounts-allowUserNameChange": "לאפשר שינוי שם משתמש", "createdAt": "נוצר ב", - "modifiedAt": "Modified at", + "modifiedAt": "נערך ב־", "verified": "עבר אימות", "active": "פעיל", "card-received": "התקבל", @@ -871,13 +871,14 @@ "board-title-not-found": "הלוח ‚%s’ לא נמצא.", "swimlane-title-not-found": "המסלול ‚%s’ לא נמצא.", "list-title-not-found": "הרשימה ‚%s’ לא נמצאה.", - "label-not-found": "Label '%s' not found.", + "label-not-found": "התווית ‚%s’ לא נמצאה.", + "label-color-not-found": "צבע התווית %s לא נמצא.", "user-username-not-found": "שם המשתמש ‚%s’ לא נמצא.", "globalSearch-title": "חיפוש בכל הלוחות", "no-cards-found": "לא נמצאו כרטיסים", "one-card-found": "נמצא כרטיס אחד", "n-cards-found": "נמצאו %s כרטיסים", - "n-n-of-n-cards-found": "__start__-__end__ of __total__ Cards Found", + "n-n-of-n-cards-found": "__start__-__end__ מתוך __total__ כרטיסים נמצאו", "operator-board": "לוח", "operator-board-abbrev": "ל", "operator-swimlane": "מסלול", @@ -889,12 +890,12 @@ "operator-user": "משתמש", "operator-user-abbrev": "@", "operator-member": "חבר", - "operator-member-abbrev": "m", - "operator-assignee": "assignee", - "operator-assignee-abbrev": "a", + "operator-member-abbrev": "ח", + "operator-assignee": "אחראי", + "operator-assignee-abbrev": "א", "operator-is": "הוא", "operator-unknown-error": "%s is not an operator", - "heading-notes": "Notes", + "heading-notes": "הערות", "globalSearch-instructions-heading": "Search Instructions", "globalSearch-instructions-description": "Searches can include operators to refine the search. Operators are specified by writing the operator name and value separated by a colon. For example, an operator specification of `list:Blocked` would limit the search to cards that are contained in a list named *Blocked*. If the value contains spaces or special characters it must be enclosed in quotation marks (e.g. `__operator_list__:\"To Review\"`).", "globalSearch-instructions-operators": "Available operators:", @@ -906,13 +907,13 @@ "globalSearch-instructions-operator-user": "`__operator_user__:username` - cards where the specified user is a *member* or *assignee*", "globalSearch-instructions-operator-at": "`__operator_user_abbrev__username` - shorthand for `user:username`", "globalSearch-instructions-operator-member": "`__operator_member__:username` - cards where the specified user is a *member*", - "globalSearch-instructions-operator-assignee": "`__operator_assignee__:username` - cards where the specified user is an *assignee*", + "globalSearch-instructions-operator-assignee": "`__operator_assignee__:username` - כרטיסים אליהם *הוקצה* המשתמש הנבחר", "globalSearch-instructions-notes-1": "Multiple operators may be specified.", "globalSearch-instructions-notes-2": "Similar operators are *OR*ed together. Cards that match any of the conditions will be returned.\n`__operator_list__:Available __operator_list__:Blocked` would return cards contained in any list named *Blocked* or *Available*.", "globalSearch-instructions-notes-3": "Differing operators are *AND*ed together. Only cards that match all of the differing operators are returned.\n`__operator_list__:Available __operator_label__:red` returns only cards in the list *Available* with a *red* label.", - "globalSearch-instructions-notes-4": "Text searches are case insensitive.", - "globalSearch-instructions-notes-5": "Currently archived cards are not searched.", - "link-to-search": "Link to this search", + "globalSearch-instructions-notes-4": "חיפושי טקסט הם תלויי רישיות.", + "globalSearch-instructions-notes-5": "לא מתבצע חיפוש על הכרטיסיות שכרגע בארכיון.", + "link-to-search": "קישור לחיפוש הזה", "excel-font": "Arial", "number": "מספר" } diff --git a/i18n/hi.i18n.json b/i18n/hi.i18n.json index 87336403b..6179011a5 100644 --- a/i18n/hi.i18n.json +++ b/i18n/hi.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/hr.i18n.json b/i18n/hr.i18n.json index 959f15d0b..0d824c5d4 100644 --- a/i18n/hr.i18n.json +++ b/i18n/hr.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/hu.i18n.json b/i18n/hu.i18n.json index 2bb1bdc0f..ce0ca22ac 100644 --- a/i18n/hu.i18n.json +++ b/i18n/hu.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/hy.i18n.json b/i18n/hy.i18n.json index c5900ad01..de3caef25 100644 --- a/i18n/hy.i18n.json +++ b/i18n/hy.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/id.i18n.json b/i18n/id.i18n.json index d27557a1d..2e73cc9f5 100644 --- a/i18n/id.i18n.json +++ b/i18n/id.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/ig.i18n.json b/i18n/ig.i18n.json index f1fc0f3ae..370cf91fb 100644 --- a/i18n/ig.i18n.json +++ b/i18n/ig.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/it.i18n.json b/i18n/it.i18n.json index bcac15c93..923635d95 100644 --- a/i18n/it.i18n.json +++ b/i18n/it.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/ja.i18n.json b/i18n/ja.i18n.json index 83cad65d5..e67a55d80 100644 --- a/i18n/ja.i18n.json +++ b/i18n/ja.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/ka.i18n.json b/i18n/ka.i18n.json index 5eae9ce34..0564f50d5 100644 --- a/i18n/ka.i18n.json +++ b/i18n/ka.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/km.i18n.json b/i18n/km.i18n.json index 3e515fdfd..547c8bbfb 100644 --- a/i18n/km.i18n.json +++ b/i18n/km.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/ko.i18n.json b/i18n/ko.i18n.json index 2437d7f92..cee05ab60 100644 --- a/i18n/ko.i18n.json +++ b/i18n/ko.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/lt.i18n.json b/i18n/lt.i18n.json index d8cff917b..a3c89e9e3 100644 --- a/i18n/lt.i18n.json +++ b/i18n/lt.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/lv.i18n.json b/i18n/lv.i18n.json index ba3697fa0..a1aa36be8 100644 --- a/i18n/lv.i18n.json +++ b/i18n/lv.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/mk.i18n.json b/i18n/mk.i18n.json index f822f5b37..5129c8ec8 100644 --- a/i18n/mk.i18n.json +++ b/i18n/mk.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/mn.i18n.json b/i18n/mn.i18n.json index 5258d5fc0..1d81cbfaa 100644 --- a/i18n/mn.i18n.json +++ b/i18n/mn.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/nl.i18n.json b/i18n/nl.i18n.json index 77ee3746b..6d152d197 100644 --- a/i18n/nl.i18n.json +++ b/i18n/nl.i18n.json @@ -75,10 +75,10 @@ "activity-checklist-uncompleted-card": "checklist %s onafgewerkt", "activity-editComment": "aantekening gewijzigd %s", "activity-deleteComment": "aantekening verwijderd %s", - "activity-receivedDate": "ontvangst datum bijgewerkt naar %s van %s", - "activity-startDate": "start datum bijgewerkt naar %s van %s", - "activity-dueDate": "geplande datum bijgewerkt naar %s van %s", - "activity-endDate": "eind datum bijgewerkt naar %s van %s ", + "activity-receivedDate": "ontvangst datum gewijzigd naar %s van %s", + "activity-startDate": "start datum gewijzigd naar %s van %s", + "activity-dueDate": "geplande datum gewijzigd naar %s van %s", + "activity-endDate": "eind datum gewijzigd naar %s van %s ", "add-attachment": "Bijlage Toevoegen", "add-board": "Bord Toevoegen", "add-card": "Kaart Toevoegen", @@ -287,7 +287,7 @@ "edit": "Wijzig", "edit-avatar": "Wijzig avatar", "edit-profile": "Wijzig profiel", - "edit-wip-limit": "Verander WIP limiet", + "edit-wip-limit": "Wijzig WIP limiet", "soft-wip-limit": "Zachte WIP limiet", "editCardStartDatePopup-title": "Wijzig start datum", "editCardDueDatePopup-title": "Wijzig vervaldatum", @@ -813,9 +813,9 @@ "addmore-detail": "Voeg een meer gedetailleerde beschrijving toe", "show-on-card": "Toon op kaart", "new": "Nieuw", - "editOrgPopup-title": "Bewerk organisatie", + "editOrgPopup-title": "Wijzig organisatie", "newOrgPopup-title": "Nieuwe organisatie", - "editTeamPopup-title": "Bewerk team", + "editTeamPopup-title": "Wijzig team", "newTeamPopup-title": "Nieuw team", "editUserPopup-title": "Wijzig gebruiker", "newUserPopup-title": "Nieuwe gebruiker", @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' niet gevonden.", "list-title-not-found": "Lijst '%s' niet gevonden", "label-not-found": "Label '%s' is niet gevonden.", + "label-color-not-found": "Labelkleur %s niet gevonden.", "user-username-not-found": "Gebruiker '%s' niet gevonden.", "globalSearch-title": "Zoek op alle borden", "no-cards-found": "Geen Kaarten Gevonden", diff --git a/i18n/oc.i18n.json b/i18n/oc.i18n.json index 70bb4413a..2d618a789 100644 --- a/i18n/oc.i18n.json +++ b/i18n/oc.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/pa.i18n.json b/i18n/pa.i18n.json index d8cff917b..a3c89e9e3 100644 --- a/i18n/pa.i18n.json +++ b/i18n/pa.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/pl.i18n.json b/i18n/pl.i18n.json index 05e1bce38..e402c8827 100644 --- a/i18n/pl.i18n.json +++ b/i18n/pl.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Nie znaleziono ścieżki '%s'.", "list-title-not-found": "Nie znaleziono listy '%s'.", "label-not-found": "Nie znaleziono etykiety '%s'.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Nie znaleziono użytkownika '%s'.", "globalSearch-title": "Przeszukaj wszystkie tablice", "no-cards-found": "Nie znaleziono kart", diff --git a/i18n/pt-BR.i18n.json b/i18n/pt-BR.i18n.json index 468bf1c67..e98cafd21 100644 --- a/i18n/pt-BR.i18n.json +++ b/i18n/pt-BR.i18n.json @@ -327,8 +327,8 @@ "export-board-json": "Exportar quadro para JSON", "export-board-csv": "Exportar quadro para CSV", "export-board-tsv": "Exportar quadro para TSV", - "export-board-excel": "Export board to Excel", - "user-can-not-export-excel": "User can not export Excel", + "export-board-excel": "Exportar quadro para Excel", + "user-can-not-export-excel": "Usuário não pode exportar Excel", "export-board-html": "Exportar quadro para HTML", "exportBoardPopup-title": "Exportar quadro", "sort": "Ordenar", @@ -609,7 +609,7 @@ "accounts-allowEmailChange": "Permitir Mudança de e-mail", "accounts-allowUserNameChange": "Permitir alteração de nome de usuário", "createdAt": "Criado em", - "modifiedAt": "Modified at", + "modifiedAt": "Modificado em", "verified": "Verificado", "active": "Ativo", "card-received": "Recebido", @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Raia '%s' não encontrada.", "list-title-not-found": "Lista '%s' não encontrada.", "label-not-found": "Etiqueta '%s' não encontrada.", + "label-color-not-found": "Cor de etiqueta %s não encontrada.", "user-username-not-found": "Nome de usuário '%s' não encontrado.", "globalSearch-title": "Pesquisar em todos os quadros", "no-cards-found": "Nenhum cartão encontrado", diff --git a/i18n/pt.i18n.json b/i18n/pt.i18n.json index 1a7ca4017..59651041e 100644 --- a/i18n/pt.i18n.json +++ b/i18n/pt.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/ro.i18n.json b/i18n/ro.i18n.json index a99396cfe..e39e570ad 100644 --- a/i18n/ro.i18n.json +++ b/i18n/ro.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/ru.i18n.json b/i18n/ru.i18n.json index b567d6013..c53528fd3 100644 --- a/i18n/ru.i18n.json +++ b/i18n/ru.i18n.json @@ -327,8 +327,8 @@ "export-board-json": "Экспортировать доску в JSON", "export-board-csv": "Экспортировать доску в CSV", "export-board-tsv": "Экспортировать доску в TSV", - "export-board-excel": "Export board to Excel", - "user-can-not-export-excel": "User can not export Excel", + "export-board-excel": "Экспортировать доску в Excel", + "user-can-not-export-excel": "Пользователь не может экспортировать в Excel", "export-board-html": "Экспортировать доску в HTML", "exportBoardPopup-title": "Экспортировать доску", "sort": "Сортировать", @@ -609,7 +609,7 @@ "accounts-allowEmailChange": "Разрешить изменение электронной почты", "accounts-allowUserNameChange": "Разрешить изменение имени пользователя", "createdAt": "Создан", - "modifiedAt": "Modified at", + "modifiedAt": "Изменено", "verified": "Подтвержден", "active": "Действующий", "card-received": "Получено", @@ -871,13 +871,14 @@ "board-title-not-found": "Доска '%s' не найдена.", "swimlane-title-not-found": "Дорожка '%s' не найдена.", "list-title-not-found": "Список '%s' не найден.", - "label-not-found": "Label '%s' not found.", + "label-not-found": "Метка '%1' не найдена.", + "label-color-not-found": "Цвет метки '%1' не найден.", "user-username-not-found": "Имя пользователя '%s' не найдено.", "globalSearch-title": "Искать на всех досках", "no-cards-found": "Ни одной карточки не найдено", "one-card-found": "Найдена одна карточка", "n-cards-found": "Карточек найдено %s", - "n-n-of-n-cards-found": "__start__-__end__ of __total__ Cards Found", + "n-n-of-n-cards-found": "__start__-__end__ из __total__ карточек найдено", "operator-board": "доска", "operator-board-abbrev": "д", "operator-swimlane": "дорожка", @@ -890,16 +891,16 @@ "operator-user-abbrev": "@", "operator-member": "участника", "operator-member-abbrev": "m", - "operator-assignee": "assignee", + "operator-assignee": "Кому назначено", "operator-assignee-abbrev": "a", "operator-is": " ", - "operator-unknown-error": "%s is not an operator", - "heading-notes": "Notes", - "globalSearch-instructions-heading": "Search Instructions", - "globalSearch-instructions-description": "Searches can include operators to refine the search. Operators are specified by writing the operator name and value separated by a colon. For example, an operator specification of `list:Blocked` would limit the search to cards that are contained in a list named *Blocked*. If the value contains spaces or special characters it must be enclosed in quotation marks (e.g. `__operator_list__:\"To Review\"`).", - "globalSearch-instructions-operators": "Available operators:", - "globalSearch-instructions-operator-board": "`__operator_board__:title` - cards in boards matching the specified title", - "globalSearch-instructions-operator-list": "`__operator_list__:title` - cards in lists matching the specified title", + "operator-unknown-error": "%1 не оператор", + "heading-notes": "Заметки", + "globalSearch-instructions-heading": "Инструкция по поиску", + "globalSearch-instructions-description": "Поисковая строка может содержать операторы для уточнения запроса. Оператор задается именем оператора и значением разделенными двоеточием. Например, оператор 'list:Blocked' ограничит результат запроса карточками состоящими в списке 'Blocked'. Если значение содержит пробелы или специальные символы, то оно должно быть заключено в кавычки(__operator_list__:\"To Review\").", + "globalSearch-instructions-operators": "Доступные операторы:", + "globalSearch-instructions-operator-board": "`__operator_board__:title` - карточки на досках с названием соответствующим \"title\"", + "globalSearch-instructions-operator-list": "`__operator_list__:title` - карточки в списках соответствующих \"title\"", "globalSearch-instructions-operator-swimlane": "`__operator_swimlane__:title` - cards in swimlanes matching the specified title", "globalSearch-instructions-operator-label": "`__operator_label__:color` `__operator_label__:name` - cards that have a label matching the given color or name", "globalSearch-instructions-operator-hash": "`__operator_label_abbrev__label` - shorthand for `__operator_label__:label`", diff --git a/i18n/sk.i18n.json b/i18n/sk.i18n.json index 3bbac81c3..8148c6f79 100644 --- a/i18n/sk.i18n.json +++ b/i18n/sk.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/sl.i18n.json b/i18n/sl.i18n.json index ff44f0c29..525433586 100644 --- a/i18n/sl.i18n.json +++ b/i18n/sl.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/sr.i18n.json b/i18n/sr.i18n.json index e0b805ed0..f731e2a42 100644 --- a/i18n/sr.i18n.json +++ b/i18n/sr.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/sv.i18n.json b/i18n/sv.i18n.json index 623887530..1baabb54b 100644 --- a/i18n/sv.i18n.json +++ b/i18n/sv.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/sw.i18n.json b/i18n/sw.i18n.json index 99c101679..8ef545640 100644 --- a/i18n/sw.i18n.json +++ b/i18n/sw.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/ta.i18n.json b/i18n/ta.i18n.json index da5dc4c71..3c82f0937 100644 --- a/i18n/ta.i18n.json +++ b/i18n/ta.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/th.i18n.json b/i18n/th.i18n.json index a8117f750..a1073db75 100644 --- a/i18n/th.i18n.json +++ b/i18n/th.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/tr.i18n.json b/i18n/tr.i18n.json index 405c03ebe..bb52fc64f 100644 --- a/i18n/tr.i18n.json +++ b/i18n/tr.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/uk.i18n.json b/i18n/uk.i18n.json index e0a3524c9..6a74551a5 100644 --- a/i18n/uk.i18n.json +++ b/i18n/uk.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/vi.i18n.json b/i18n/vi.i18n.json index 47c740f11..615be3508 100644 --- a/i18n/vi.i18n.json +++ b/i18n/vi.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/zh-CN.i18n.json b/i18n/zh-CN.i18n.json index 62d57ec12..d5a0e57c3 100644 --- a/i18n/zh-CN.i18n.json +++ b/i18n/zh-CN.i18n.json @@ -327,8 +327,8 @@ "export-board-json": "看板导出为JSON", "export-board-csv": "看板导出为CSV", "export-board-tsv": "看板导出为TSV", - "export-board-excel": "Export board to Excel", - "user-can-not-export-excel": "User can not export Excel", + "export-board-excel": "看板导出为Excel", + "user-can-not-export-excel": "用户无法导出Excel", "export-board-html": "看板导出为HTML", "exportBoardPopup-title": "导出看板", "sort": "排序", @@ -609,7 +609,7 @@ "accounts-allowEmailChange": "允许邮箱变更", "accounts-allowUserNameChange": "允许变更用户名", "createdAt": "创建于", - "modifiedAt": "Modified at", + "modifiedAt": "修改时间", "verified": "已验证", "active": "活跃", "card-received": "已接收", @@ -859,19 +859,20 @@ "context-separator": "/", "myCardsSortChange-title": "My Cards Sort", "myCardsSortChangePopup-title": "My Cards Sort", - "myCardsSortChange-choice-board": "By Board", - "myCardsSortChange-choice-dueat": "By Due Date", - "dueCards-title": "Due Cards", - "dueCardsViewChange-title": "Due Cards View", - "dueCardsViewChangePopup-title": "Due Cards View", - "dueCardsViewChange-choice-me": "Me", - "dueCardsViewChange-choice-all": "All Users", + "myCardsSortChange-choice-board": "根据看板", + "myCardsSortChange-choice-dueat": "根据截至日期", + "dueCards-title": "逾期的卡片", + "dueCardsViewChange-title": "逾期卡片视图", + "dueCardsViewChangePopup-title": "逾期卡片视图", + "dueCardsViewChange-choice-me": "我", + "dueCardsViewChange-choice-all": "所有用户", "dueCardsViewChange-choice-all-description": "Shows all incomplete cards with a *Due* date from boards for which the user has permission.", "broken-cards": "Broken Cards", "board-title-not-found": "Board '%s' not found.", "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/zh-HK.i18n.json b/i18n/zh-HK.i18n.json index fde9c9b79..4d48ae34c 100644 --- a/i18n/zh-HK.i18n.json +++ b/i18n/zh-HK.i18n.json @@ -872,6 +872,7 @@ "swimlane-title-not-found": "Swimlane '%s' not found.", "list-title-not-found": "List '%s' not found.", "label-not-found": "Label '%s' not found.", + "label-color-not-found": "Label color %s not found.", "user-username-not-found": "Username '%s' not found.", "globalSearch-title": "Search All Boards", "no-cards-found": "No Cards Found", diff --git a/i18n/zh-TW.i18n.json b/i18n/zh-TW.i18n.json index 31ab9c057..932545408 100644 --- a/i18n/zh-TW.i18n.json +++ b/i18n/zh-TW.i18n.json @@ -327,8 +327,8 @@ "export-board-json": "匯出看板為JSON格式", "export-board-csv": "匯出看板為CSV格式", "export-board-tsv": "匯出看板為TSV格式\n ", - "export-board-excel": "Export board to Excel", - "user-can-not-export-excel": "User can not export Excel", + "export-board-excel": "匯出看板至 Excel", + "user-can-not-export-excel": "使用者無法匯出至 Excel", "export-board-html": "匯出看板為HTML格式\n ", "exportBoardPopup-title": "匯出看板", "sort": "排序", @@ -609,7 +609,7 @@ "accounts-allowEmailChange": "允許變更 Email", "accounts-allowUserNameChange": "允許修改使用者名稱", "createdAt": "新增於", - "modifiedAt": "Modified at", + "modifiedAt": "編輯於", "verified": "已驗證", "active": "啟用", "card-received": "已接收", @@ -872,6 +872,7 @@ "swimlane-title-not-found": "泳道流程圖%s不存在", "list-title-not-found": "清單%s不存在", "label-not-found": "標籤%s不存在", + "label-color-not-found": "找不到標籤顏色%s", "user-username-not-found": "使用者%s不存在", "globalSearch-title": "搜尋所有看板", "no-cards-found": "找不到卡片", @@ -907,7 +908,7 @@ "globalSearch-instructions-operator-at": "`__operator_user_abbrev__username` - shorthand for `user:username`", "globalSearch-instructions-operator-member": "`__operator_member__:username` - cards where the specified user is a *member*", "globalSearch-instructions-operator-assignee": "`__operator_assignee__:username` - cards where the specified user is an *assignee*", - "globalSearch-instructions-notes-1": "Multiple operators may be specified.", + "globalSearch-instructions-notes-1": "將會指定給多位執行者", "globalSearch-instructions-notes-2": "Similar operators are *OR*ed together. Cards that match any of the conditions will be returned.\n`__operator_list__:Available __operator_list__:Blocked` would return cards contained in any list named *Blocked* or *Available*.", "globalSearch-instructions-notes-3": "Differing operators are *AND*ed together. Only cards that match all of the differing operators are returned.\n`__operator_list__:Available __operator_label__:red` returns only cards in the list *Available* with a *red* label.", "globalSearch-instructions-notes-4": "英文搜尋忽略大小寫", diff --git a/models/boards.js b/models/boards.js index db03bc1ea..e0b791fa8 100644 --- a/models/boards.js +++ b/models/boards.js @@ -518,6 +518,25 @@ Boards.helpers({ swimlane.type = 'swimlane'; swimlane.copy(_id); }); + + // copy custom field definitions + const cfMap = {}; + CustomFields.find({ boardIds: oldId }).forEach(cf => { + const id = cf._id; + delete cf._id; + cf.boardIds = [_id]; + cfMap[id] = CustomFields.insert(cf); + }); + Cards.find({ boardId: _id }).forEach(card => { + Cards.update(card._id, { + $set: { + customFields: card.customFields.map(cf => { + cf._id = cfMap[cf._id]; + return cf; + }), + }, + }); + }); }, /** * Is supplied user authorized to view this board? diff --git a/models/cards.js b/models/cards.js index 55ace7c0a..7859ee30d 100644 --- a/models/cards.js +++ b/models/cards.js @@ -367,6 +367,24 @@ Cards.allow({ }); Cards.helpers({ + mapCustomFieldsToBoard(boardId) { + // Map custom fields to new board + return this.customFields.map(cf => { + const oldCf = CustomFields.findOne(cf._id); + const newCf = CustomFields.findOne({ + boardIds: boardId, + name: oldCf.name, + type: oldCf.type, + }); + if (newCf) { + cf._id = newCf._id; + } else if (!_.contains(oldCf.boardIds, boardId)) { + oldCf.addBoard(boardId); + } + return cf; + }); + }, + copy(boardId, swimlaneId, listId) { const oldId = this._id; const oldCard = Cards.findOne(oldId); @@ -397,16 +415,7 @@ Cards.helpers({ delete this.labelIds; this.labelIds = newCardLabels; - // Copy Custom Fields - CustomFields.find({ - _id: { - $in: oldCard.customFields.map(cf => { - return cf._id; - }), - }, - }).forEach(cf => { - if (!_.contains(cf.boardIds, boardId)) cf.addBoard(boardId); - }); + this.customFields = this.mapCustomFieldsToBoard(newBoard._id); } delete this._id; @@ -1528,16 +1537,7 @@ Cards.mutations({ labelIds: newCardLabelIds, }); - // Copy custom fields - CustomFields.find({ - _id: { - $in: this.customFields.map(cf => { - return cf._id; - }), - }, - }).forEach(cf => { - if (!_.contains(cf.boardIds, boardId)) cf.addBoard(boardId); - }); + mutatedFields.customFields = this.mapCustomFieldsToBoard(newBoard._id); } Cards.update(this._id, { diff --git a/package-lock.json b/package-lock.json index 8084fb1c0..d1839b5fc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "wekan", - "version": "v4.81.0", + "version": "v4.83.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index d207cc172..b27ed91d2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "wekan", - "version": "v4.81.0", + "version": "v4.83.0", "description": "Open-Source kanban", "private": true, "scripts": { diff --git a/public/api/wekan.html b/public/api/wekan.html index 91d207230..3245c6a29 100644 --- a/public/api/wekan.html +++ b/public/api/wekan.html @@ -1524,7 +1524,7 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc
@@ -16616,6 +16616,10 @@ UserSecurityScroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.