From c3fe70e09433346f25ad3701dca7f07ad441624f Mon Sep 17 00:00:00 2001 From: Erik Turk Date: Mon, 5 Feb 2018 10:49:37 -0500 Subject: added copyManyCard --- client/components/cards/cardDetails.js | 1 + 1 file changed, 1 insertion(+) diff --git a/client/components/cards/cardDetails.js b/client/components/cards/cardDetails.js index 94a938f0..3ae6327b 100644 --- a/client/components/cards/cardDetails.js +++ b/client/components/cards/cardDetails.js @@ -170,6 +170,7 @@ Template.cardDetailsActionsPopup.events({ 'click .js-spent-time': Popup.open('editCardSpentTime'), 'click .js-move-card': Popup.open('moveCard'), 'click .js-copy-card': Popup.open('copyCard'), + 'click .js-copy-many-card': Popup.open('copyManyCard'), 'click .js-move-card-to-top' (evt) { evt.preventDefault(); const minOrder = _.min(this.list().cards().map((c) => c.sort)); -- cgit v1.2.3-1-g7c22 From 6a93a93d0b9054b354a2d9f75c013dca9380cf10 Mon Sep 17 00:00:00 2001 From: Erik Turk Date: Mon, 5 Feb 2018 10:57:08 -0500 Subject: Revert "v0.71" This reverts commit 79ae90825e155a772124938ed12dd5e373e05f95. --- CHANGELOG.md | 6 +++--- package.json | 2 +- sandstorm-pkgdef.capnp | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a181d45e..3d9c8a19 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ -# v0.71 2018-02-03 Wekan release +# Upcoming Wekan release -This release fixes the following bugs: +This release fixes following bugs: - [Fix Welcome board is not editable: Added default swimlane to Welcome board](https://github.com/wekan/wekan/commit/9df3e3d26bffb2268cdcc7fa768eda60e4f0975c). - [Fix Import Wekan board with swimlanes](https://github.com/wekan/wekan/commit/ec0a8449ba98aea708e484d386e5a209e2be8fff). @@ -14,7 +14,7 @@ This release adds the following new features: - [Add ability to edit swimlane name](https://github.com/wekan/wekan/commit/3414cb84ad8ac800e23bbda6ce12822f40d1bd19); - [Add swimlane popup menu and archive icon](https://github.com/wekan/wekan/commit/5953fb8a44a3582ed0d8816ffb32a5b7f41f50a3). -and fixes the following bugs: +and fixes following bugs: - [Two empty columns in swimlane view](https://github.com/wekan/wekan/issues/1459). diff --git a/package.json b/package.json index e1f541ad..f2e026d1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "wekan", - "version": "0.71.0", + "version": "0.70.0", "description": "The open-source Trello-like kanban", "private": true, "scripts": { diff --git a/sandstorm-pkgdef.capnp b/sandstorm-pkgdef.capnp index ec33db58..2f1ee692 100644 --- a/sandstorm-pkgdef.capnp +++ b/sandstorm-pkgdef.capnp @@ -22,10 +22,10 @@ const pkgdef :Spk.PackageDefinition = ( appTitle = (defaultText = "Wekan"), # The name of the app as it is displayed to the user. - appVersion = 56, + appVersion = 55, # Increment this for every release. - appMarketingVersion = (defaultText = "0.71.0~2018-02-03"), + appMarketingVersion = (defaultText = "0.70.0~2018-02-02"), # Human-readable presentation of the app version. minUpgradableAppVersion = 0, -- cgit v1.2.3-1-g7c22 From 669c2f38611f3f45a5b5aab2f04c27c00c614009 Mon Sep 17 00:00:00 2001 From: Erik Turk Date: Mon, 5 Feb 2018 10:58:13 -0500 Subject: Revert "Revert "v0.71"" This reverts commit 6a93a93d0b9054b354a2d9f75c013dca9380cf10. --- CHANGELOG.md | 6 +++--- package.json | 2 +- sandstorm-pkgdef.capnp | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3d9c8a19..a181d45e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ -# Upcoming Wekan release +# v0.71 2018-02-03 Wekan release -This release fixes following bugs: +This release fixes the following bugs: - [Fix Welcome board is not editable: Added default swimlane to Welcome board](https://github.com/wekan/wekan/commit/9df3e3d26bffb2268cdcc7fa768eda60e4f0975c). - [Fix Import Wekan board with swimlanes](https://github.com/wekan/wekan/commit/ec0a8449ba98aea708e484d386e5a209e2be8fff). @@ -14,7 +14,7 @@ This release adds the following new features: - [Add ability to edit swimlane name](https://github.com/wekan/wekan/commit/3414cb84ad8ac800e23bbda6ce12822f40d1bd19); - [Add swimlane popup menu and archive icon](https://github.com/wekan/wekan/commit/5953fb8a44a3582ed0d8816ffb32a5b7f41f50a3). -and fixes following bugs: +and fixes the following bugs: - [Two empty columns in swimlane view](https://github.com/wekan/wekan/issues/1459). diff --git a/package.json b/package.json index f2e026d1..e1f541ad 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "wekan", - "version": "0.70.0", + "version": "0.71.0", "description": "The open-source Trello-like kanban", "private": true, "scripts": { diff --git a/sandstorm-pkgdef.capnp b/sandstorm-pkgdef.capnp index 2f1ee692..ec33db58 100644 --- a/sandstorm-pkgdef.capnp +++ b/sandstorm-pkgdef.capnp @@ -22,10 +22,10 @@ const pkgdef :Spk.PackageDefinition = ( appTitle = (defaultText = "Wekan"), # The name of the app as it is displayed to the user. - appVersion = 55, + appVersion = 56, # Increment this for every release. - appMarketingVersion = (defaultText = "0.70.0~2018-02-02"), + appMarketingVersion = (defaultText = "0.71.0~2018-02-03"), # Human-readable presentation of the app version. minUpgradableAppVersion = 0, -- cgit v1.2.3-1-g7c22 From bb9d5cb69466a78ecbcd832f596602f028ab644c Mon Sep 17 00:00:00 2001 From: Erik Turk Date: Mon, 5 Feb 2018 10:58:36 -0500 Subject: Revert "added copyManyCard" This reverts commit c3fe70e09433346f25ad3701dca7f07ad441624f. --- client/components/cards/cardDetails.js | 1 - 1 file changed, 1 deletion(-) diff --git a/client/components/cards/cardDetails.js b/client/components/cards/cardDetails.js index 3ae6327b..94a938f0 100644 --- a/client/components/cards/cardDetails.js +++ b/client/components/cards/cardDetails.js @@ -170,7 +170,6 @@ Template.cardDetailsActionsPopup.events({ 'click .js-spent-time': Popup.open('editCardSpentTime'), 'click .js-move-card': Popup.open('moveCard'), 'click .js-copy-card': Popup.open('copyCard'), - 'click .js-copy-many-card': Popup.open('copyManyCard'), 'click .js-move-card-to-top' (evt) { evt.preventDefault(); const minOrder = _.min(this.list().cards().map((c) => c.sort)); -- cgit v1.2.3-1-g7c22 From 3c1cd85f6f961ec19832901a059b072b44d89dc4 Mon Sep 17 00:00:00 2001 From: Erik Turk Date: Mon, 5 Feb 2018 11:02:01 -0500 Subject: added copyManyCard --- client/components/cards/cardDetails.js | 1 + 1 file changed, 1 insertion(+) diff --git a/client/components/cards/cardDetails.js b/client/components/cards/cardDetails.js index 94a938f0..3ae6327b 100644 --- a/client/components/cards/cardDetails.js +++ b/client/components/cards/cardDetails.js @@ -170,6 +170,7 @@ Template.cardDetailsActionsPopup.events({ 'click .js-spent-time': Popup.open('editCardSpentTime'), 'click .js-move-card': Popup.open('moveCard'), 'click .js-copy-card': Popup.open('copyCard'), + 'click .js-copy-many-card': Popup.open('copyManyCard'), 'click .js-move-card-to-top' (evt) { evt.preventDefault(); const minOrder = _.min(this.list().cards().map((c) => c.sort)); -- cgit v1.2.3-1-g7c22 From 60c6f4f5af38712641f90fa139511106f985b078 Mon Sep 17 00:00:00 2001 From: Erik Turk Date: Mon, 5 Feb 2018 11:11:41 -0500 Subject: added Popup --- client/components/cards/cardDetails.js | 49 ++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/client/components/cards/cardDetails.js b/client/components/cards/cardDetails.js index 3ae6327b..a2168b29 100644 --- a/client/components/cards/cardDetails.js +++ b/client/components/cards/cardDetails.js @@ -297,6 +297,55 @@ Template.copyCardPopup.events({ }, }); + +Template.copyManyCardPopup.events({ + 'click .js-select-list' (evt) { + const card = Cards.findOne(Session.get('currentCard')); + const oldId = card._id; + card._id = null; + card.listId = this._id; + const list = Lists.findOne(card.listId); + card.boardId = list.boardId; + const textarea = $(evt.currentTarget).parents('.content').find('textarea'); + const title = textarea.val().trim(); + // insert new card to the bottom of new list + card.sort = Lists.findOne(this._id).cards().count(); + + if (title) { + card.title = title; + card.coverId = ''; + const _id = Cards.insert(card); + // In case the filter is active we need to add the newly inserted card in + // the list of exceptions -- cards that are not filtered. Otherwise the + // card will disappear instantly. + // See https://github.com/wekan/wekan/issues/80 + Filter.addException(_id); + + // copy checklists + let cursor = Checklists.find({cardId: oldId}); + cursor.forEach(function() { + 'use strict'; + const checklist = arguments[0]; + checklist.cardId = _id; + checklist._id = null; + Checklists.insert(checklist); + }); + + // copy card comments + cursor = CardComments.find({cardId: oldId}); + cursor.forEach(function () { + 'use strict'; + const comment = arguments[0]; + comment.cardId = _id; + comment._id = null; + CardComments.insert(comment); + }); + Popup.close(); + } + }, +}); + + Template.cardMorePopup.events({ 'click .js-copy-card-link-to-clipboard' () { // Clipboard code from: -- cgit v1.2.3-1-g7c22 From f3ed6ee6f68731ce7a99f783630730fc4e5a2e4f Mon Sep 17 00:00:00 2001 From: Erik Turk Date: Mon, 5 Feb 2018 13:26:26 -0500 Subject: added copyManyCardPopup to i18n --- i18n/en-GB.i18n.json | 3 ++- i18n/en.i18n.json | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/i18n/en-GB.i18n.json b/i18n/en-GB.i18n.json index 94bb1571..86211e5a 100644 --- a/i18n/en-GB.i18n.json +++ b/i18n/en-GB.i18n.json @@ -159,6 +159,7 @@ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist", "copy-card-link-to-clipboard": "Copy card link to clipboard", "copyCardPopup-title": "Copy Card", + "copyManyCardPopup-title": "Copy Multiple Cards", "create": "Create", "createBoardPopup-title": "Create Board", "chooseBoardSourcePopup-title": "Import board", @@ -431,4 +432,4 @@ "createdAt": "Created at", "verified": "Verified", "active": "Active" -} \ No newline at end of file +} diff --git a/i18n/en.i18n.json b/i18n/en.i18n.json index 92391c91..13aa8421 100644 --- a/i18n/en.i18n.json +++ b/i18n/en.i18n.json @@ -159,6 +159,7 @@ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist", "copy-card-link-to-clipboard": "Copy card link to clipboard", "copyCardPopup-title": "Copy Card", + "copyManyCardPopup-title": "Copy Multiple Cards", "create": "Create", "createBoardPopup-title": "Create Board", "chooseBoardSourcePopup-title": "Import board", -- cgit v1.2.3-1-g7c22 From 326b4c53505596497372061f5f67057f0eaf8eca Mon Sep 17 00:00:00 2001 From: Erik Turk Date: Mon, 5 Feb 2018 13:27:47 -0500 Subject: added copyManyCard --- client/components/cards/cardDetails.jade | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/client/components/cards/cardDetails.jade b/client/components/cards/cardDetails.jade index 0a7a8cd6..a41c01ce 100644 --- a/client/components/cards/cardDetails.jade +++ b/client/components/cards/cardDetails.jade @@ -135,6 +135,7 @@ template(name="cardDetailsActionsPopup") ul.pop-over-list li: a.js-move-card {{_ 'moveCardPopup-title'}} li: a.js-copy-card {{_ 'copyCardPopup-title'}} + li: a.js-copy-many-card {{_ 'copyManyCardPopup-title'}} unless archived li: a.js-archive {{_ 'archive-card'}} li: a.js-more {{_ 'cardMorePopup-title'}} @@ -154,6 +155,19 @@ template(name="copyCardPopup") else +boardsAndLists + +template(name="copyManyCardPopup") + label(for='copy-many-card-title') {{_ 'title'}}: + textarea#copy-card-title.minicard-composer-textarea.js-card-title(autofocus) + = title + if isSandstorm + +boardLists + else + +boardsAndLists + +template(name="boardsAndLists") + + template(name="boardsAndLists") select.js-select-boards each boards -- cgit v1.2.3-1-g7c22 From 9705118ca28a0f89043ad86f6a5c9abd1813e594 Mon Sep 17 00:00:00 2001 From: Erik Turk Date: Mon, 5 Feb 2018 14:47:37 -0500 Subject: add titleList.split to copyManyCard --- client/components/cards/cardDetails.js | 51 +++++++++++++++++++--------------- 1 file changed, 28 insertions(+), 23 deletions(-) diff --git a/client/components/cards/cardDetails.js b/client/components/cards/cardDetails.js index a2168b29..83cb9fc3 100644 --- a/client/components/cards/cardDetails.js +++ b/client/components/cards/cardDetails.js @@ -307,41 +307,46 @@ Template.copyManyCardPopup.events({ const list = Lists.findOne(card.listId); card.boardId = list.boardId; const textarea = $(evt.currentTarget).parents('.content').find('textarea'); - const title = textarea.val().trim(); + const titleEntry = textarea.val().trim(); // insert new card to the bottom of new list card.sort = Lists.findOne(this._id).cards().count(); - if (title) { - card.title = title; - card.coverId = ''; - const _id = Cards.insert(card); - // In case the filter is active we need to add the newly inserted card in + if (titleEntry) { + var title, titleList; + + for (let title of titleList.split(",") { + + card.title = title; + card.coverId = ''; + const _id = Cards.insert(card); +// In case the filter is active we need to add the newly inserted card in // the list of exceptions -- cards that are not filtered. Otherwise the // card will disappear instantly. // See https://github.com/wekan/wekan/issues/80 - Filter.addException(_id); + Filter.addException(_id); // copy checklists - let cursor = Checklists.find({cardId: oldId}); - cursor.forEach(function() { - 'use strict'; - const checklist = arguments[0]; - checklist.cardId = _id; - checklist._id = null; - Checklists.insert(checklist); - }); + let cursor = Checklists.find({cardId: oldId}); + cursor.forEach(function() { + 'use strict'; + const checklist = arguments[0]; + checklist.cardId = _id; + checklist._id = null; + Checklists.insert(checklist); + }); // copy card comments - cursor = CardComments.find({cardId: oldId}); - cursor.forEach(function () { - 'use strict'; - const comment = arguments[0]; - comment.cardId = _id; - comment._id = null; - CardComments.insert(comment); - }); + cursor = CardComments.find({cardId: oldId}); + cursor.forEach(function () { + 'use strict'; + const comment = arguments[0]; + comment.cardId = _id; + comment._id = null; + CardComments.insert(comment); + }); Popup.close(); } + } }, }); -- cgit v1.2.3-1-g7c22 From 842c8b83d2b5cb32c54d773f343ac6e82c59ce55 Mon Sep 17 00:00:00 2001 From: Erik Turk Date: Mon, 5 Feb 2018 15:03:21 -0500 Subject: missing ) --- client/components/cards/cardDetails.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/components/cards/cardDetails.js b/client/components/cards/cardDetails.js index 83cb9fc3..e73632cb 100644 --- a/client/components/cards/cardDetails.js +++ b/client/components/cards/cardDetails.js @@ -314,7 +314,7 @@ Template.copyManyCardPopup.events({ if (titleEntry) { var title, titleList; - for (let title of titleList.split(",") { + for (let title of titleList.split(",")) { card.title = title; card.coverId = ''; -- cgit v1.2.3-1-g7c22 From 257ed56db3eefda225a1d2a20ce60458393a4cce Mon Sep 17 00:00:00 2001 From: Erik Turk Date: Thu, 8 Feb 2018 08:13:31 -0500 Subject: finish adding[4~ copyMany --- client/components/cards/cardDetails.jade | 3 --- client/components/cards/cardDetails.js | 16 +++++++++++++--- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/client/components/cards/cardDetails.jade b/client/components/cards/cardDetails.jade index a41c01ce..27de1a6e 100644 --- a/client/components/cards/cardDetails.jade +++ b/client/components/cards/cardDetails.jade @@ -165,9 +165,6 @@ template(name="copyManyCardPopup") else +boardsAndLists -template(name="boardsAndLists") - - template(name="boardsAndLists") select.js-select-boards each boards diff --git a/client/components/cards/cardDetails.js b/client/components/cards/cardDetails.js index e73632cb..e75e7c02 100644 --- a/client/components/cards/cardDetails.js +++ b/client/components/cards/cardDetails.js @@ -313,10 +313,20 @@ Template.copyManyCardPopup.events({ if (titleEntry) { var title, titleList; + console.log(titleEntry); + console.log(titleEntry.length); + var titleList = JSON.parse(titleEntry); + console.log(titleList); + console.log(titleList[0]); + console.log(titleList[0].title); + - for (let title of titleList.split(",")) { + for (var i = 0; i < titleList.length; i++){ + var obj = titleList[i]; + console.log(obj.title); - card.title = title; + card.title = obj.title; + card.description = obj.description; card.coverId = ''; const _id = Cards.insert(card); // In case the filter is active we need to add the newly inserted card in @@ -344,9 +354,9 @@ Template.copyManyCardPopup.events({ comment._id = null; CardComments.insert(comment); }); + } Popup.close(); } - } }, }); -- cgit v1.2.3-1-g7c22 From c5019e620a5371b73affd9d635ceef9d183d6b45 Mon Sep 17 00:00:00 2001 From: Erik Turk Date: Thu, 8 Feb 2018 08:14:33 -0500 Subject: remove console.log statements --- client/components/cards/cardDetails.js | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/client/components/cards/cardDetails.js b/client/components/cards/cardDetails.js index e75e7c02..a487022e 100644 --- a/client/components/cards/cardDetails.js +++ b/client/components/cards/cardDetails.js @@ -312,18 +312,12 @@ Template.copyManyCardPopup.events({ card.sort = Lists.findOne(this._id).cards().count(); if (titleEntry) { - var title, titleList; - console.log(titleEntry); - console.log(titleEntry.length); + var titleList; var titleList = JSON.parse(titleEntry); - console.log(titleList); - console.log(titleList[0]); - console.log(titleList[0].title); for (var i = 0; i < titleList.length; i++){ var obj = titleList[i]; - console.log(obj.title); card.title = obj.title; card.description = obj.description; -- cgit v1.2.3-1-g7c22 From ecd77c87049a5b3e7e9b3edc8867944c14aa4319 Mon Sep 17 00:00:00 2001 From: Erik Turk Date: Thu, 8 Feb 2018 10:13:54 -0500 Subject: fixed spacing & indentation - changed var to const --- client/components/cards/cardDetails.js | 68 +++--- i18n/en-GB.i18n.json | 435 --------------------------------- 2 files changed, 32 insertions(+), 471 deletions(-) delete mode 100644 i18n/en-GB.i18n.json diff --git a/client/components/cards/cardDetails.js b/client/components/cards/cardDetails.js index a487022e..35081679 100644 --- a/client/components/cards/cardDetails.js +++ b/client/components/cards/cardDetails.js @@ -312,43 +312,39 @@ Template.copyManyCardPopup.events({ card.sort = Lists.findOne(this._id).cards().count(); if (titleEntry) { - var titleList; - var titleList = JSON.parse(titleEntry); - - + const titleList = JSON.parse(titleEntry); for (var i = 0; i < titleList.length; i++){ - var obj = titleList[i]; - - card.title = obj.title; - card.description = obj.description; - card.coverId = ''; - const _id = Cards.insert(card); -// In case the filter is active we need to add the newly inserted card in - // the list of exceptions -- cards that are not filtered. Otherwise the - // card will disappear instantly. - // See https://github.com/wekan/wekan/issues/80 - Filter.addException(_id); - - // copy checklists - let cursor = Checklists.find({cardId: oldId}); - cursor.forEach(function() { - 'use strict'; - const checklist = arguments[0]; - checklist.cardId = _id; - checklist._id = null; - Checklists.insert(checklist); - }); - - // copy card comments - cursor = CardComments.find({cardId: oldId}); - cursor.forEach(function () { - 'use strict'; - const comment = arguments[0]; - comment.cardId = _id; - comment._id = null; - CardComments.insert(comment); - }); - } + let obj = titleList[i]; + card.title = obj.title; + card.description = obj.description; + card.coverId = ''; + const _id = Cards.insert(card); + // In case the filter is active we need to add the newly inserted card in + // the list of exceptions -- cards that are not filtered. Otherwise the + // card will disappear instantly. + // See https://github.com/wekan/wekan/issues/80 + Filter.addException(_id); + + // copy checklists + let cursor = Checklists.find({cardId: oldId}); + cursor.forEach(function() { + 'use strict'; + const checklist = arguments[0]; + checklist.cardId = _id; + checklist._id = null; + Checklists.insert(checklist); + }); + + // copy card comments + cursor = CardComments.find({cardId: oldId}); + cursor.forEach(function () { + 'use strict'; + const comment = arguments[0]; + comment.cardId = _id; + comment._id = null; + CardComments.insert(comment); + }); + } Popup.close(); } }, diff --git a/i18n/en-GB.i18n.json b/i18n/en-GB.i18n.json deleted file mode 100644 index 86211e5a..00000000 --- a/i18n/en-GB.i18n.json +++ /dev/null @@ -1,435 +0,0 @@ -{ - "accept": "Accept", - "act-activity-notify": "[Wekan] Activity Notification", - "act-addAttachment": "attached _ attachment _ to _ card _", - "act-addChecklist": "added checklist __checklist__ to __card__", - "act-addChecklistItem": "added __checklistItem__ to checklist __checklist__ on __card__", - "act-addComment": "commented on __card__: __comment__", - "act-createBoard": "created __board__", - "act-createCard": "added __card__ to __list__", - "act-createList": "added __list__ to __board__", - "act-addBoardMember": "added __member__ to __board__", - "act-archivedBoard": "archived __board__", - "act-archivedCard": "archived __card__", - "act-archivedList": "archived __list__", - "act-archivedSwimlane": "archived __swimlane__", - "act-importBoard": "imported __board__", - "act-importCard": "imported __card__", - "act-importList": "imported __list__", - "act-joinMember": "added __member__ to __card__", - "act-moveCard": "moved __card__ from __oldList__ to __list__", - "act-removeBoardMember": "removed __member__ from __board__", - "act-restoredCard": "restored __card__ to __board__", - "act-unjoinMember": "removed __member__ from __card__", - "act-withBoardTitle": "[Wekan] __board__", - "act-withCardTitle": "[__board__] __card__", - "actions": "Actions", - "activities": "Activities", - "activity": "Activity", - "activity-added": "added %s to %s", - "activity-archived": "archived %s", - "activity-attached": "attached %s to %s", - "activity-created": "created %s", - "activity-excluded": "excluded %s from %s", - "activity-imported": "imported %s into %s from %s", - "activity-imported-board": "imported %s from %s", - "activity-joined": "joined %s", - "activity-moved": "moved %s from %s to %s", - "activity-on": "on %s", - "activity-removed": "removed %s from %s", - "activity-sent": "sent %s to %s", - "activity-unjoined": "unjoined %s", - "activity-checklist-added": "added checklist to %s", - "activity-checklist-item-added": "added checklist item to '%s' in %s", - "add": "Add", - "add-attachment": "Add Attachment", - "add-board": "Add Board", - "add-card": "Add Card", - "add-swimlane": "Add Swimlane", - "add-checklist": "Add Checklist", - "add-checklist-item": "Add an item to checklist", - "add-cover": "Add Cover", - "add-label": "Add Label", - "add-list": "Add List", - "add-members": "Add Members", - "added": "Added", - "addMemberPopup-title": "Members", - "admin": "Admin", - "admin-desc": "Can view and edit cards, remove members, and change settings for the board.", - "admin-announcement": "Announcement", - "admin-announcement-active": "Active System-Wide Announcement", - "admin-announcement-title": "Announcement from Administrator", - "all-boards": "All boards", - "and-n-other-card": "And __count__ other card", - "and-n-other-card_plural": "And __count__ other cards", - "apply": "Apply", - "app-is-offline": "Wekan is loading, please wait. Refreshing the page will cause data loss. If Wekan does not load, please check that Wekan server has not stopped.", - "archive": "Archive", - "archive-all": "Archive All", - "archive-board": "Archive Board", - "archive-card": "Archive Card", - "archive-list": "Archive List", - "archive-swimlane": "Archive Swimlane", - "archive-selection": "Archive selection", - "archiveBoardPopup-title": "Archive Board?", - "archived-items": "Archived Items", - "archived-boards": "Archived Boards", - "restore-board": "Restore Board", - "no-archived-boards": "No Archived Boards.", - "archives": "Archives", - "assign-member": "Assign member", - "attached": "attached", - "attachment": "Attachment", - "attachment-delete-pop": "Deleting an attachment is permanent. There is no undo.", - "attachmentDeletePopup-title": "Delete Attachment?", - "attachments": "Attachments", - "auto-watch": "Automatically watch boards when they are created", - "avatar-too-big": "The avatar is too large (70KB max)", - "back": "Back", - "board-change-color": "Change color", - "board-nb-stars": "%s stars", - "board-not-found": "Board not found", - "board-private-info": "This board will be private.", - "board-public-info": "This board will be public.", - "boardChangeColorPopup-title": "Change Board Background", - "boardChangeTitlePopup-title": "Rename Board", - "boardChangeVisibilityPopup-title": "Change Visibility", - "boardChangeWatchPopup-title": "Change Watch", - "boardMenuPopup-title": "Board Menu", - "boards": "Boards", - "board-view": "Board View", - "board-view-swimlanes": "Swimlanes", - "board-view-lists": "Lists", - "bucket-example": "Like “Bucket List” for example", - "cancel": "Cancel", - "card-archived": "This card is archived.", - "card-comments-title": "This card has %s comment.", - "card-delete-notice": "Deleting is permanent. You will lose all actions associated with this card.", - "card-delete-pop": "All actions will be removed from the activity feed and you won't be able to re-open the card. There is no undo.", - "card-delete-suggest-archive": "You can archive a card to remove it from the board and preserve the activity.", - "card-due": "Due", - "card-due-on": "Due on", - "card-spent": "Spent Time", - "card-edit-attachments": "Edit attachments", - "card-edit-labels": "Edit labels", - "card-edit-members": "Edit members", - "card-labels-title": "Change the labels for the card.", - "card-members-title": "Add or remove members of the board from the card.", - "card-start": "Start", - "card-start-on": "Starts on", - "cardAttachmentsPopup-title": "Attach From", - "cardDeletePopup-title": "Delete Card?", - "cardDetailsActionsPopup-title": "Card Actions", - "cardLabelsPopup-title": "Labels", - "cardMembersPopup-title": "Members", - "cardMorePopup-title": "More", - "cards": "Cards", - "change": "Change", - "change-avatar": "Change Avatar", - "change-password": "Change Password", - "change-permissions": "Change permissions", - "change-settings": "Change Settings", - "changeAvatarPopup-title": "Change Avatar", - "changeLanguagePopup-title": "Change Language", - "changePasswordPopup-title": "Change Password", - "changePermissionsPopup-title": "Change Permissions", - "changeSettingsPopup-title": "Change Settings", - "checklists": "Checklists", - "click-to-star": "Click to star this board.", - "click-to-unstar": "Click to unstar this board.", - "clipboard": "Clipboard or drag & drop", - "close": "Close", - "close-board": "Close Board", - "close-board-pop": "You will be able to restore the board by clicking the “Archives” button from the home header.", - "color-black": "black", - "color-blue": "blue", - "color-green": "green", - "color-lime": "lime", - "color-orange": "orange", - "color-pink": "pink", - "color-purple": "purple", - "color-red": "red", - "color-sky": "sky", - "color-yellow": "yellow", - "comment": "Comment", - "comment-placeholder": "Write Comment", - "comment-only": "Comment only", - "comment-only-desc": "Can comment on cards only.", - "computer": "Computer", - "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist", - "copy-card-link-to-clipboard": "Copy card link to clipboard", - "copyCardPopup-title": "Copy Card", - "copyManyCardPopup-title": "Copy Multiple Cards", - "create": "Create", - "createBoardPopup-title": "Create Board", - "chooseBoardSourcePopup-title": "Import board", - "createLabelPopup-title": "Create Label", - "current": "current", - "date": "Date", - "decline": "Decline", - "default-avatar": "Default avatar", - "delete": "Delete", - "deleteLabelPopup-title": "Delete Label?", - "description": "Description", - "disambiguateMultiLabelPopup-title": "Disambiguate Label Action", - "disambiguateMultiMemberPopup-title": "Disambiguate Member Action", - "discard": "Discard", - "done": "Done", - "download": "Download", - "edit": "Edit", - "edit-avatar": "Change Avatar", - "edit-profile": "Edit Profile", - "edit-wip-limit": "Edit WIP Limit", - "soft-wip-limit": "Soft WIP Limit", - "editCardStartDatePopup-title": "Change start date", - "editCardDueDatePopup-title": "Change due date", - "editCardSpentTimePopup-title": "Change spent time", - "editLabelPopup-title": "Change Label", - "editNotificationPopup-title": "Edit Notification", - "editProfilePopup-title": "Edit Profile", - "email": "Email", - "email-enrollAccount-subject": "An account created for you on __siteName__", - "email-enrollAccount-text": "Hello __user__,\n\nTo start using the service, simply click the link below.\n\n__url__\n\nThanks.", - "email-fail": "Sending email failed", - "email-fail-text": "Error trying to send email", - "email-invalid": "Invalid email", - "email-invite": "Invite via email", - "email-invite-subject": "__inviter__ sent you an invitation", - "email-invite-text": "Dear __user__,\n\n__inviter__ invites you to join board \"__board__\" for collaboration.\n\nPlease follow the link below:\n\n__url__\n\nThanks.", - "email-resetPassword-subject": "Reset your password on __siteName__", - "email-resetPassword-text": "Hello __user__,\n\nTo reset your password, simply click the link below.\n\n__url__\n\nThanks.", - "email-sent": "Email sent", - "email-verifyEmail-subject": "Verify your email address on __siteName__", - "email-verifyEmail-text": "Hello __user__,\n\nTo verify your account email, simply click the link below.\n\n__url__\n\nThanks.", - "enable-wip-limit": "Enable WIP Limit", - "error-board-doesNotExist": "This board does not exist", - "error-board-notAdmin": "You need to be admin of this board to do that", - "error-board-notAMember": "You need to be a member of this board to do that", - "error-json-malformed": "Your text is not valid JSON", - "error-json-schema": "Your JSON data does not include the proper information in the correct format", - "error-list-doesNotExist": "This list does not exist", - "error-user-doesNotExist": "This user does not exist", - "error-user-notAllowSelf": "You can not invite yourself", - "error-user-notCreated": "This user is not created", - "error-username-taken": "This username is already taken", - "error-email-taken": "Email has already been taken", - "export-board": "Export board", - "filter": "Filter", - "filter-cards": "Filter Cards", - "filter-clear": "Clear filter", - "filter-no-label": "No label", - "filter-no-member": "No member", - "filter-on": "Filter is on", - "filter-on-desc": "You are filtering cards on this board. Click here to edit filter.", - "filter-to-selection": "Filter to selection", - "fullname": "Full Name", - "header-logo-title": "Go back to your boards page.", - "hide-system-messages": "Hide system messages", - "headerBarCreateBoardPopup-title": "Create Board", - "home": "Home", - "import": "Import", - "import-board": "import board", - "import-board-c": "Import board", - "import-board-title-trello": "Import board from Trello", - "import-board-title-wekan": "Import board from Wekan", - "import-sandstorm-warning": "Imported board will delete all existing data on board and replace it with imported board.", - "from-trello": "From Trello", - "from-wekan": "From Wekan", - "import-board-instruction-trello": "In your Trello board, go to 'Menu', then 'More', 'Print and Export', 'Export JSON', and copy the resulting text.", - "import-board-instruction-wekan": "In your Wekan board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.", - "import-json-placeholder": "Paste your valid JSON data here", - "import-map-members": "Map members", - "import-members-map": "Your imported board has some members. Please map the members you want to import to Wekan users", - "import-show-user-mapping": "Review members mapping", - "import-user-select": "Pick the Wekan user you want to use as this member", - "importMapMembersAddPopup-title": "Select Wekan member", - "info": "Version", - "initials": "Initials", - "invalid-date": "Invalid date", - "invalid-time": "Invalid time", - "invalid-user": "Invalid user", - "joined": "joined", - "just-invited": "You are just invited to this board", - "keyboard-shortcuts": "Keyboard shortcuts", - "label-create": "Create Label", - "label-default": "%s label (default)", - "label-delete-pop": "There is no undo. This will remove this label from all cards and destroy its history.", - "labels": "Labels", - "language": "Language", - "last-admin-desc": "You can’t change roles because there must be at least one admin.", - "leave-board": "Leave Board", - "leave-board-pop": "Are you sure you want to leave __boardTitle__? You will be removed from all cards on this board.", - "leaveBoardPopup-title": "Leave Board ?", - "link-card": "Link to this card", - "list-archive-cards": "Archive all cards in this list", - "list-archive-cards-pop": "This will remove all the cards in this list from the board. To view archived cards and bring them back to the board, click “Menu” > “Archived Items”.", - "list-move-cards": "Move all cards in this list", - "list-select-cards": "Select all cards in this list", - "listActionPopup-title": "List Actions", - "swimlaneActionPopup-title": "Swimlane Actions", - "listImportCardPopup-title": "Import a Trello card", - "listMorePopup-title": "More", - "link-list": "Link to this list", - "list-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the list. There is no undo.", - "list-delete-suggest-archive": "You can archive a list to remove it from the board and preserve the activity.", - "lists": "Lists", - "swimlanes": "Swimlanes", - "log-out": "Log Out", - "log-in": "Log In", - "loginPopup-title": "Log In", - "memberMenuPopup-title": "Member Settings", - "members": "Members", - "menu": "Menu", - "move-selection": "Move selection", - "moveCardPopup-title": "Move Card", - "moveCardToBottom-title": "Move to Bottom", - "moveCardToTop-title": "Move to Top", - "moveSelectionPopup-title": "Move selection", - "multi-selection": "Multi-Selection", - "multi-selection-on": "Multi-Selection is on", - "muted": "Muted", - "muted-info": "You will never be notified of any changes in this board", - "my-boards": "My Boards", - "name": "Name", - "no-archived-cards": "No archived cards.", - "no-archived-lists": "No archived lists.", - "no-archived-swimlanes": "No archived swimlanes.", - "no-results": "No results", - "normal": "Normal", - "normal-desc": "Can view and edit cards. Can't change settings.", - "not-accepted-yet": "Invitation not accepted yet", - "notify-participate": "Receive updates to any cards you participate as creater or member", - "notify-watch": "Receive updates to any boards, lists, or cards you’re watching", - "optional": "optional", - "or": "or", - "page-maybe-private": "This page may be private. You may be able to view it by logging in.", - "page-not-found": "Page not found.", - "password": "Password", - "paste-or-dragdrop": "to paste, or drag & drop image file to it (image only)", - "participating": "Participating", - "preview": "Preview", - "previewAttachedImagePopup-title": "Preview", - "previewClipboardImagePopup-title": "Preview", - "private": "Private", - "private-desc": "This board is private. Only people added to the board can view and edit it.", - "profile": "Profile", - "public": "Public", - "public-desc": "This board is public. It's visible to anyone with the link and will show up in search engines like Google. Only people added to the board can edit.", - "quick-access-description": "Star a board to add a shortcut in this bar.", - "remove-cover": "Remove Cover", - "remove-from-board": "Remove from Board", - "remove-label": "Remove Label", - "listDeletePopup-title": "Delete List ?", - "remove-member": "Remove Member", - "remove-member-from-card": "Remove from Card", - "remove-member-pop": "Remove __name__ (__username__) from __boardTitle__? The member will be removed from all cards on this board. They will receive a notification.", - "removeMemberPopup-title": "Remove Member?", - "rename": "Rename", - "rename-board": "Rename Board", - "restore": "Restore", - "save": "Save", - "search": "Search", - "select-color": "Select Color", - "set-wip-limit-value": "Set a limit for the maximum number of tasks in this list", - "setWipLimitPopup-title": "Set WIP Limit", - "shortcut-assign-self": "Assign yourself to current card", - "shortcut-autocomplete-emoji": "Autocomplete emoji", - "shortcut-autocomplete-members": "Autocomplete members", - "shortcut-clear-filters": "Clear all filters", - "shortcut-close-dialog": "Close Dialog", - "shortcut-filter-my-cards": "Filter my cards", - "shortcut-show-shortcuts": "Bring up this shortcuts list", - "shortcut-toggle-filterbar": "Toggle Filter Sidebar", - "shortcut-toggle-sidebar": "Toggle Board Sidebar", - "show-cards-minimum-count": "Show cards count if list contains more than", - "sidebar-open": "Open Sidebar", - "sidebar-close": "Close Sidebar", - "signupPopup-title": "Create an Account", - "star-board-title": "Click to star this board. It will show up at top of your boards list.", - "starred-boards": "Starred Boards", - "starred-boards-description": "Starred boards show up at the top of your boards list.", - "subscribe": "Subscribe", - "team": "Team", - "this-board": "this board", - "this-card": "this card", - "spent-time-hours": "Spent time (hours)", - "overtime-hours": "Overtime (hours)", - "overtime": "Overtime", - "has-overtime-cards": "Has overtime cards", - "has-spenttime-cards": "Has spent time cards", - "time": "Time", - "title": "Title", - "tracking": "Tracking", - "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.", - "unassign-member": "Unassign member", - "unsaved-description": "You have an unsaved description.", - "unwatch": "Unwatch", - "upload": "Upload", - "upload-avatar": "Upload an avatar", - "uploaded-avatar": "Uploaded an avatar", - "username": "Username", - "view-it": "View it", - "warn-list-archived": "warning: this card is in an archived list", - "watch": "Watch", - "watching": "Watching", - "watching-info": "You will be notified of any changes in this board", - "welcome-board": "Welcome Board", - "welcome-swimlane": "Milestone 1", - "welcome-list1": "Basics", - "welcome-list2": "Advanced", - "what-to-do": "What do you want to do?", - "wipLimitErrorPopup-title": "Invalid WIP Limit", - "wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.", - "wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.", - "admin-panel": "Admin Panel", - "settings": "Settings", - "people": "People", - "registration": "Registration", - "disable-self-registration": "Disable Self-Registration", - "invite": "Invite", - "invite-people": "Invite People", - "to-boards": "To board(s)", - "email-addresses": "Email Addresses", - "smtp-host-description": "The address of the SMTP server that handles your emails.", - "smtp-port-description": "The port your SMTP server uses for outgoing emails.", - "smtp-tls-description": "Enable TLS support for SMTP server", - "smtp-host": "SMTP Host", - "smtp-port": "SMTP Port", - "smtp-username": "Username", - "smtp-password": "Password", - "smtp-tls": "TLS support", - "send-from": "From", - "send-smtp-test": "Send a test email to yourself", - "invitation-code": "Invitation Code", - "email-invite-register-subject": "__inviter__ sent you an invitation", - "email-invite-register-text": "Dear __user__,\n\n__inviter__ invites you to Wekan for collaboration.\n\nPlease follow the link below:\n__url__\n\nAnd your invitation code is: __icode__\n\nThanks.", - "email-smtp-test-subject": "SMTP Test Email From Wekan", - "email-smtp-test-text": "You have successfully sent an email", - "error-invitation-code-not-exist": "Invitation code doesn't exist", - "error-notAuthorized": "You are not authorised to view this page.", - "outgoing-webhooks": "Outgoing Webhooks", - "outgoingWebhooksPopup-title": "Outgoing Webhooks", - "new-outgoing-webhook": "New Outgoing Webhook", - "no-name": "(Unknown)", - "Wekan_version": "Wekan version", - "Node_version": "Node version", - "OS_Arch": "OS Arch", - "OS_Cpus": "OS CPU Count", - "OS_Freemem": "OS Free Memory", - "OS_Loadavg": "OS Load Average", - "OS_Platform": "OS Platform", - "OS_Release": "OS Release", - "OS_Totalmem": "OS Total Memory", - "OS_Type": "OS Type", - "OS_Uptime": "OS Uptime", - "hours": "hours", - "minutes": "minutes", - "seconds": "seconds", - "yes": "Yes", - "no": "No", - "accounts": "Accounts", - "accounts-allowEmailChange": "Allow Email Change", - "createdAt": "Created at", - "verified": "Verified", - "active": "Active" -} -- cgit v1.2.3-1-g7c22 From 0a5af2b719fc2a559a92b2173681df697d3f9158 Mon Sep 17 00:00:00 2001 From: Erik Turk Date: Thu, 8 Feb 2018 10:32:09 -0500 Subject: more spacing/tabs fixes --- client/components/cards/cardDetails.js | 40 +++++++++++++++++----------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/client/components/cards/cardDetails.js b/client/components/cards/cardDetails.js index 35081679..f117a264 100644 --- a/client/components/cards/cardDetails.js +++ b/client/components/cards/cardDetails.js @@ -313,36 +313,36 @@ Template.copyManyCardPopup.events({ if (titleEntry) { const titleList = JSON.parse(titleEntry); - for (var i = 0; i < titleList.length; i++){ - let obj = titleList[i]; + for (let i = 0; i < titleList.length; i++){ + const obj = titleList[i]; card.title = obj.title; - card.description = obj.description; - card.coverId = ''; - const _id = Cards.insert(card); + card.description = obj.description; + card.coverId = ''; + const _id = Cards.insert(card); // In case the filter is active we need to add the newly inserted card in // the list of exceptions -- cards that are not filtered. Otherwise the // card will disappear instantly. // See https://github.com/wekan/wekan/issues/80 - Filter.addException(_id); + Filter.addException(_id); // copy checklists - let cursor = Checklists.find({cardId: oldId}); - cursor.forEach(function() { - 'use strict'; - const checklist = arguments[0]; - checklist.cardId = _id; - checklist._id = null; - Checklists.insert(checklist); + let cursor = Checklists.find({cardId: oldId}); + cursor.forEach(function() { + 'use strict'; + const checklist = arguments[0]; + checklist.cardId = _id; + checklist._id = null; + Checklists.insert(checklist); }); // copy card comments - cursor = CardComments.find({cardId: oldId}); - cursor.forEach(function () { - 'use strict'; - const comment = arguments[0]; - comment.cardId = _id; - comment._id = null; - CardComments.insert(comment); + cursor = CardComments.find({cardId: oldId}); + cursor.forEach(function () { + 'use strict'; + const comment = arguments[0]; + comment.cardId = _id; + comment._id = null; + CardComments.insert(comment); }); } Popup.close(); -- cgit v1.2.3-1-g7c22 From 11b8e12ede3c29e39246df5e4dd5ca3abe88ec2c Mon Sep 17 00:00:00 2001 From: Erik Turk Date: Thu, 8 Feb 2018 13:11:20 -0500 Subject: spaces/tabs okay - no 'git add i18n/en-GB.i18n.json' --- client/components/cards/cardDetails.js | 4 +- i18n/en-GB.i18n.json | 434 +++++++++++++++++++++++++++++++++ 2 files changed, 436 insertions(+), 2 deletions(-) create mode 100644 i18n/en-GB.i18n.json diff --git a/client/components/cards/cardDetails.js b/client/components/cards/cardDetails.js index 9e08e248..1ea23a69 100644 --- a/client/components/cards/cardDetails.js +++ b/client/components/cards/cardDetails.js @@ -333,7 +333,7 @@ Template.copyManyCardPopup.events({ checklist.cardId = _id; checklist._id = null; Checklists.insert(checklist); - }); + }); // copy card comments cursor = CardComments.find({cardId: oldId}); @@ -343,7 +343,7 @@ Template.copyManyCardPopup.events({ comment.cardId = _id; comment._id = null; CardComments.insert(comment); - }); + }); } Popup.close(); } diff --git a/i18n/en-GB.i18n.json b/i18n/en-GB.i18n.json new file mode 100644 index 00000000..94bb1571 --- /dev/null +++ b/i18n/en-GB.i18n.json @@ -0,0 +1,434 @@ +{ + "accept": "Accept", + "act-activity-notify": "[Wekan] Activity Notification", + "act-addAttachment": "attached _ attachment _ to _ card _", + "act-addChecklist": "added checklist __checklist__ to __card__", + "act-addChecklistItem": "added __checklistItem__ to checklist __checklist__ on __card__", + "act-addComment": "commented on __card__: __comment__", + "act-createBoard": "created __board__", + "act-createCard": "added __card__ to __list__", + "act-createList": "added __list__ to __board__", + "act-addBoardMember": "added __member__ to __board__", + "act-archivedBoard": "archived __board__", + "act-archivedCard": "archived __card__", + "act-archivedList": "archived __list__", + "act-archivedSwimlane": "archived __swimlane__", + "act-importBoard": "imported __board__", + "act-importCard": "imported __card__", + "act-importList": "imported __list__", + "act-joinMember": "added __member__ to __card__", + "act-moveCard": "moved __card__ from __oldList__ to __list__", + "act-removeBoardMember": "removed __member__ from __board__", + "act-restoredCard": "restored __card__ to __board__", + "act-unjoinMember": "removed __member__ from __card__", + "act-withBoardTitle": "[Wekan] __board__", + "act-withCardTitle": "[__board__] __card__", + "actions": "Actions", + "activities": "Activities", + "activity": "Activity", + "activity-added": "added %s to %s", + "activity-archived": "archived %s", + "activity-attached": "attached %s to %s", + "activity-created": "created %s", + "activity-excluded": "excluded %s from %s", + "activity-imported": "imported %s into %s from %s", + "activity-imported-board": "imported %s from %s", + "activity-joined": "joined %s", + "activity-moved": "moved %s from %s to %s", + "activity-on": "on %s", + "activity-removed": "removed %s from %s", + "activity-sent": "sent %s to %s", + "activity-unjoined": "unjoined %s", + "activity-checklist-added": "added checklist to %s", + "activity-checklist-item-added": "added checklist item to '%s' in %s", + "add": "Add", + "add-attachment": "Add Attachment", + "add-board": "Add Board", + "add-card": "Add Card", + "add-swimlane": "Add Swimlane", + "add-checklist": "Add Checklist", + "add-checklist-item": "Add an item to checklist", + "add-cover": "Add Cover", + "add-label": "Add Label", + "add-list": "Add List", + "add-members": "Add Members", + "added": "Added", + "addMemberPopup-title": "Members", + "admin": "Admin", + "admin-desc": "Can view and edit cards, remove members, and change settings for the board.", + "admin-announcement": "Announcement", + "admin-announcement-active": "Active System-Wide Announcement", + "admin-announcement-title": "Announcement from Administrator", + "all-boards": "All boards", + "and-n-other-card": "And __count__ other card", + "and-n-other-card_plural": "And __count__ other cards", + "apply": "Apply", + "app-is-offline": "Wekan is loading, please wait. Refreshing the page will cause data loss. If Wekan does not load, please check that Wekan server has not stopped.", + "archive": "Archive", + "archive-all": "Archive All", + "archive-board": "Archive Board", + "archive-card": "Archive Card", + "archive-list": "Archive List", + "archive-swimlane": "Archive Swimlane", + "archive-selection": "Archive selection", + "archiveBoardPopup-title": "Archive Board?", + "archived-items": "Archived Items", + "archived-boards": "Archived Boards", + "restore-board": "Restore Board", + "no-archived-boards": "No Archived Boards.", + "archives": "Archives", + "assign-member": "Assign member", + "attached": "attached", + "attachment": "Attachment", + "attachment-delete-pop": "Deleting an attachment is permanent. There is no undo.", + "attachmentDeletePopup-title": "Delete Attachment?", + "attachments": "Attachments", + "auto-watch": "Automatically watch boards when they are created", + "avatar-too-big": "The avatar is too large (70KB max)", + "back": "Back", + "board-change-color": "Change color", + "board-nb-stars": "%s stars", + "board-not-found": "Board not found", + "board-private-info": "This board will be private.", + "board-public-info": "This board will be public.", + "boardChangeColorPopup-title": "Change Board Background", + "boardChangeTitlePopup-title": "Rename Board", + "boardChangeVisibilityPopup-title": "Change Visibility", + "boardChangeWatchPopup-title": "Change Watch", + "boardMenuPopup-title": "Board Menu", + "boards": "Boards", + "board-view": "Board View", + "board-view-swimlanes": "Swimlanes", + "board-view-lists": "Lists", + "bucket-example": "Like “Bucket List” for example", + "cancel": "Cancel", + "card-archived": "This card is archived.", + "card-comments-title": "This card has %s comment.", + "card-delete-notice": "Deleting is permanent. You will lose all actions associated with this card.", + "card-delete-pop": "All actions will be removed from the activity feed and you won't be able to re-open the card. There is no undo.", + "card-delete-suggest-archive": "You can archive a card to remove it from the board and preserve the activity.", + "card-due": "Due", + "card-due-on": "Due on", + "card-spent": "Spent Time", + "card-edit-attachments": "Edit attachments", + "card-edit-labels": "Edit labels", + "card-edit-members": "Edit members", + "card-labels-title": "Change the labels for the card.", + "card-members-title": "Add or remove members of the board from the card.", + "card-start": "Start", + "card-start-on": "Starts on", + "cardAttachmentsPopup-title": "Attach From", + "cardDeletePopup-title": "Delete Card?", + "cardDetailsActionsPopup-title": "Card Actions", + "cardLabelsPopup-title": "Labels", + "cardMembersPopup-title": "Members", + "cardMorePopup-title": "More", + "cards": "Cards", + "change": "Change", + "change-avatar": "Change Avatar", + "change-password": "Change Password", + "change-permissions": "Change permissions", + "change-settings": "Change Settings", + "changeAvatarPopup-title": "Change Avatar", + "changeLanguagePopup-title": "Change Language", + "changePasswordPopup-title": "Change Password", + "changePermissionsPopup-title": "Change Permissions", + "changeSettingsPopup-title": "Change Settings", + "checklists": "Checklists", + "click-to-star": "Click to star this board.", + "click-to-unstar": "Click to unstar this board.", + "clipboard": "Clipboard or drag & drop", + "close": "Close", + "close-board": "Close Board", + "close-board-pop": "You will be able to restore the board by clicking the “Archives” button from the home header.", + "color-black": "black", + "color-blue": "blue", + "color-green": "green", + "color-lime": "lime", + "color-orange": "orange", + "color-pink": "pink", + "color-purple": "purple", + "color-red": "red", + "color-sky": "sky", + "color-yellow": "yellow", + "comment": "Comment", + "comment-placeholder": "Write Comment", + "comment-only": "Comment only", + "comment-only-desc": "Can comment on cards only.", + "computer": "Computer", + "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist", + "copy-card-link-to-clipboard": "Copy card link to clipboard", + "copyCardPopup-title": "Copy Card", + "create": "Create", + "createBoardPopup-title": "Create Board", + "chooseBoardSourcePopup-title": "Import board", + "createLabelPopup-title": "Create Label", + "current": "current", + "date": "Date", + "decline": "Decline", + "default-avatar": "Default avatar", + "delete": "Delete", + "deleteLabelPopup-title": "Delete Label?", + "description": "Description", + "disambiguateMultiLabelPopup-title": "Disambiguate Label Action", + "disambiguateMultiMemberPopup-title": "Disambiguate Member Action", + "discard": "Discard", + "done": "Done", + "download": "Download", + "edit": "Edit", + "edit-avatar": "Change Avatar", + "edit-profile": "Edit Profile", + "edit-wip-limit": "Edit WIP Limit", + "soft-wip-limit": "Soft WIP Limit", + "editCardStartDatePopup-title": "Change start date", + "editCardDueDatePopup-title": "Change due date", + "editCardSpentTimePopup-title": "Change spent time", + "editLabelPopup-title": "Change Label", + "editNotificationPopup-title": "Edit Notification", + "editProfilePopup-title": "Edit Profile", + "email": "Email", + "email-enrollAccount-subject": "An account created for you on __siteName__", + "email-enrollAccount-text": "Hello __user__,\n\nTo start using the service, simply click the link below.\n\n__url__\n\nThanks.", + "email-fail": "Sending email failed", + "email-fail-text": "Error trying to send email", + "email-invalid": "Invalid email", + "email-invite": "Invite via email", + "email-invite-subject": "__inviter__ sent you an invitation", + "email-invite-text": "Dear __user__,\n\n__inviter__ invites you to join board \"__board__\" for collaboration.\n\nPlease follow the link below:\n\n__url__\n\nThanks.", + "email-resetPassword-subject": "Reset your password on __siteName__", + "email-resetPassword-text": "Hello __user__,\n\nTo reset your password, simply click the link below.\n\n__url__\n\nThanks.", + "email-sent": "Email sent", + "email-verifyEmail-subject": "Verify your email address on __siteName__", + "email-verifyEmail-text": "Hello __user__,\n\nTo verify your account email, simply click the link below.\n\n__url__\n\nThanks.", + "enable-wip-limit": "Enable WIP Limit", + "error-board-doesNotExist": "This board does not exist", + "error-board-notAdmin": "You need to be admin of this board to do that", + "error-board-notAMember": "You need to be a member of this board to do that", + "error-json-malformed": "Your text is not valid JSON", + "error-json-schema": "Your JSON data does not include the proper information in the correct format", + "error-list-doesNotExist": "This list does not exist", + "error-user-doesNotExist": "This user does not exist", + "error-user-notAllowSelf": "You can not invite yourself", + "error-user-notCreated": "This user is not created", + "error-username-taken": "This username is already taken", + "error-email-taken": "Email has already been taken", + "export-board": "Export board", + "filter": "Filter", + "filter-cards": "Filter Cards", + "filter-clear": "Clear filter", + "filter-no-label": "No label", + "filter-no-member": "No member", + "filter-on": "Filter is on", + "filter-on-desc": "You are filtering cards on this board. Click here to edit filter.", + "filter-to-selection": "Filter to selection", + "fullname": "Full Name", + "header-logo-title": "Go back to your boards page.", + "hide-system-messages": "Hide system messages", + "headerBarCreateBoardPopup-title": "Create Board", + "home": "Home", + "import": "Import", + "import-board": "import board", + "import-board-c": "Import board", + "import-board-title-trello": "Import board from Trello", + "import-board-title-wekan": "Import board from Wekan", + "import-sandstorm-warning": "Imported board will delete all existing data on board and replace it with imported board.", + "from-trello": "From Trello", + "from-wekan": "From Wekan", + "import-board-instruction-trello": "In your Trello board, go to 'Menu', then 'More', 'Print and Export', 'Export JSON', and copy the resulting text.", + "import-board-instruction-wekan": "In your Wekan board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.", + "import-json-placeholder": "Paste your valid JSON data here", + "import-map-members": "Map members", + "import-members-map": "Your imported board has some members. Please map the members you want to import to Wekan users", + "import-show-user-mapping": "Review members mapping", + "import-user-select": "Pick the Wekan user you want to use as this member", + "importMapMembersAddPopup-title": "Select Wekan member", + "info": "Version", + "initials": "Initials", + "invalid-date": "Invalid date", + "invalid-time": "Invalid time", + "invalid-user": "Invalid user", + "joined": "joined", + "just-invited": "You are just invited to this board", + "keyboard-shortcuts": "Keyboard shortcuts", + "label-create": "Create Label", + "label-default": "%s label (default)", + "label-delete-pop": "There is no undo. This will remove this label from all cards and destroy its history.", + "labels": "Labels", + "language": "Language", + "last-admin-desc": "You can’t change roles because there must be at least one admin.", + "leave-board": "Leave Board", + "leave-board-pop": "Are you sure you want to leave __boardTitle__? You will be removed from all cards on this board.", + "leaveBoardPopup-title": "Leave Board ?", + "link-card": "Link to this card", + "list-archive-cards": "Archive all cards in this list", + "list-archive-cards-pop": "This will remove all the cards in this list from the board. To view archived cards and bring them back to the board, click “Menu” > “Archived Items”.", + "list-move-cards": "Move all cards in this list", + "list-select-cards": "Select all cards in this list", + "listActionPopup-title": "List Actions", + "swimlaneActionPopup-title": "Swimlane Actions", + "listImportCardPopup-title": "Import a Trello card", + "listMorePopup-title": "More", + "link-list": "Link to this list", + "list-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the list. There is no undo.", + "list-delete-suggest-archive": "You can archive a list to remove it from the board and preserve the activity.", + "lists": "Lists", + "swimlanes": "Swimlanes", + "log-out": "Log Out", + "log-in": "Log In", + "loginPopup-title": "Log In", + "memberMenuPopup-title": "Member Settings", + "members": "Members", + "menu": "Menu", + "move-selection": "Move selection", + "moveCardPopup-title": "Move Card", + "moveCardToBottom-title": "Move to Bottom", + "moveCardToTop-title": "Move to Top", + "moveSelectionPopup-title": "Move selection", + "multi-selection": "Multi-Selection", + "multi-selection-on": "Multi-Selection is on", + "muted": "Muted", + "muted-info": "You will never be notified of any changes in this board", + "my-boards": "My Boards", + "name": "Name", + "no-archived-cards": "No archived cards.", + "no-archived-lists": "No archived lists.", + "no-archived-swimlanes": "No archived swimlanes.", + "no-results": "No results", + "normal": "Normal", + "normal-desc": "Can view and edit cards. Can't change settings.", + "not-accepted-yet": "Invitation not accepted yet", + "notify-participate": "Receive updates to any cards you participate as creater or member", + "notify-watch": "Receive updates to any boards, lists, or cards you’re watching", + "optional": "optional", + "or": "or", + "page-maybe-private": "This page may be private. You may be able to view it by logging in.", + "page-not-found": "Page not found.", + "password": "Password", + "paste-or-dragdrop": "to paste, or drag & drop image file to it (image only)", + "participating": "Participating", + "preview": "Preview", + "previewAttachedImagePopup-title": "Preview", + "previewClipboardImagePopup-title": "Preview", + "private": "Private", + "private-desc": "This board is private. Only people added to the board can view and edit it.", + "profile": "Profile", + "public": "Public", + "public-desc": "This board is public. It's visible to anyone with the link and will show up in search engines like Google. Only people added to the board can edit.", + "quick-access-description": "Star a board to add a shortcut in this bar.", + "remove-cover": "Remove Cover", + "remove-from-board": "Remove from Board", + "remove-label": "Remove Label", + "listDeletePopup-title": "Delete List ?", + "remove-member": "Remove Member", + "remove-member-from-card": "Remove from Card", + "remove-member-pop": "Remove __name__ (__username__) from __boardTitle__? The member will be removed from all cards on this board. They will receive a notification.", + "removeMemberPopup-title": "Remove Member?", + "rename": "Rename", + "rename-board": "Rename Board", + "restore": "Restore", + "save": "Save", + "search": "Search", + "select-color": "Select Color", + "set-wip-limit-value": "Set a limit for the maximum number of tasks in this list", + "setWipLimitPopup-title": "Set WIP Limit", + "shortcut-assign-self": "Assign yourself to current card", + "shortcut-autocomplete-emoji": "Autocomplete emoji", + "shortcut-autocomplete-members": "Autocomplete members", + "shortcut-clear-filters": "Clear all filters", + "shortcut-close-dialog": "Close Dialog", + "shortcut-filter-my-cards": "Filter my cards", + "shortcut-show-shortcuts": "Bring up this shortcuts list", + "shortcut-toggle-filterbar": "Toggle Filter Sidebar", + "shortcut-toggle-sidebar": "Toggle Board Sidebar", + "show-cards-minimum-count": "Show cards count if list contains more than", + "sidebar-open": "Open Sidebar", + "sidebar-close": "Close Sidebar", + "signupPopup-title": "Create an Account", + "star-board-title": "Click to star this board. It will show up at top of your boards list.", + "starred-boards": "Starred Boards", + "starred-boards-description": "Starred boards show up at the top of your boards list.", + "subscribe": "Subscribe", + "team": "Team", + "this-board": "this board", + "this-card": "this card", + "spent-time-hours": "Spent time (hours)", + "overtime-hours": "Overtime (hours)", + "overtime": "Overtime", + "has-overtime-cards": "Has overtime cards", + "has-spenttime-cards": "Has spent time cards", + "time": "Time", + "title": "Title", + "tracking": "Tracking", + "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.", + "unassign-member": "Unassign member", + "unsaved-description": "You have an unsaved description.", + "unwatch": "Unwatch", + "upload": "Upload", + "upload-avatar": "Upload an avatar", + "uploaded-avatar": "Uploaded an avatar", + "username": "Username", + "view-it": "View it", + "warn-list-archived": "warning: this card is in an archived list", + "watch": "Watch", + "watching": "Watching", + "watching-info": "You will be notified of any changes in this board", + "welcome-board": "Welcome Board", + "welcome-swimlane": "Milestone 1", + "welcome-list1": "Basics", + "welcome-list2": "Advanced", + "what-to-do": "What do you want to do?", + "wipLimitErrorPopup-title": "Invalid WIP Limit", + "wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.", + "wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.", + "admin-panel": "Admin Panel", + "settings": "Settings", + "people": "People", + "registration": "Registration", + "disable-self-registration": "Disable Self-Registration", + "invite": "Invite", + "invite-people": "Invite People", + "to-boards": "To board(s)", + "email-addresses": "Email Addresses", + "smtp-host-description": "The address of the SMTP server that handles your emails.", + "smtp-port-description": "The port your SMTP server uses for outgoing emails.", + "smtp-tls-description": "Enable TLS support for SMTP server", + "smtp-host": "SMTP Host", + "smtp-port": "SMTP Port", + "smtp-username": "Username", + "smtp-password": "Password", + "smtp-tls": "TLS support", + "send-from": "From", + "send-smtp-test": "Send a test email to yourself", + "invitation-code": "Invitation Code", + "email-invite-register-subject": "__inviter__ sent you an invitation", + "email-invite-register-text": "Dear __user__,\n\n__inviter__ invites you to Wekan for collaboration.\n\nPlease follow the link below:\n__url__\n\nAnd your invitation code is: __icode__\n\nThanks.", + "email-smtp-test-subject": "SMTP Test Email From Wekan", + "email-smtp-test-text": "You have successfully sent an email", + "error-invitation-code-not-exist": "Invitation code doesn't exist", + "error-notAuthorized": "You are not authorised to view this page.", + "outgoing-webhooks": "Outgoing Webhooks", + "outgoingWebhooksPopup-title": "Outgoing Webhooks", + "new-outgoing-webhook": "New Outgoing Webhook", + "no-name": "(Unknown)", + "Wekan_version": "Wekan version", + "Node_version": "Node version", + "OS_Arch": "OS Arch", + "OS_Cpus": "OS CPU Count", + "OS_Freemem": "OS Free Memory", + "OS_Loadavg": "OS Load Average", + "OS_Platform": "OS Platform", + "OS_Release": "OS Release", + "OS_Totalmem": "OS Total Memory", + "OS_Type": "OS Type", + "OS_Uptime": "OS Uptime", + "hours": "hours", + "minutes": "minutes", + "seconds": "seconds", + "yes": "Yes", + "no": "No", + "accounts": "Accounts", + "accounts-allowEmailChange": "Allow Email Change", + "createdAt": "Created at", + "verified": "Verified", + "active": "Active" +} \ No newline at end of file -- cgit v1.2.3-1-g7c22 From 756fbd0f4cf6a14d1ac811723f0a90a42c7e21a1 Mon Sep 17 00:00:00 2001 From: Erik Turk Date: Wed, 14 Feb 2018 15:18:54 -0500 Subject: i18n fixes --- client/components/cards/cardDetails.jade | 4 ++-- i18n/en.i18n.json | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/client/components/cards/cardDetails.jade b/client/components/cards/cardDetails.jade index 27de1a6e..3e410123 100644 --- a/client/components/cards/cardDetails.jade +++ b/client/components/cards/cardDetails.jade @@ -157,9 +157,9 @@ template(name="copyCardPopup") template(name="copyManyCardPopup") - label(for='copy-many-card-title') {{_ 'title'}}: + label(for='copy-many-card-title') {{_ 'copyManyCardPopup-instructions'}}: textarea#copy-card-title.minicard-composer-textarea.js-card-title(autofocus) - = title + {{_ 'copyManyCardPopup-format'}} if isSandstorm +boardLists else diff --git a/i18n/en.i18n.json b/i18n/en.i18n.json index 13aa8421..1e48b305 100644 --- a/i18n/en.i18n.json +++ b/i18n/en.i18n.json @@ -159,7 +159,9 @@ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist", "copy-card-link-to-clipboard": "Copy card link to clipboard", "copyCardPopup-title": "Copy Card", - "copyManyCardPopup-title": "Copy Multiple Cards", + "copyManyCardPopup-title": "Copy Checklist Template to Many Cards", + "copyManyCardPopup-instructions": "Destination Card Titles and Descriptions in this JSON format", + "copyManyCardPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]", "create": "Create", "createBoardPopup-title": "Create Board", "chooseBoardSourcePopup-title": "Import board", -- cgit v1.2.3-1-g7c22 From 25e0c38ad8fac2cccf3d7c29b689f23fdafa786c Mon Sep 17 00:00:00 2001 From: Erik Turk Date: Thu, 15 Feb 2018 11:55:15 -0500 Subject: change copyMany to copyChecklistToManyCards for instructions and title --- client/components/cards/cardDetails.jade | 4 ++-- i18n/en.i18n.json | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/client/components/cards/cardDetails.jade b/client/components/cards/cardDetails.jade index 3e410123..51f7f3f7 100644 --- a/client/components/cards/cardDetails.jade +++ b/client/components/cards/cardDetails.jade @@ -157,9 +157,9 @@ template(name="copyCardPopup") template(name="copyManyCardPopup") - label(for='copy-many-card-title') {{_ 'copyManyCardPopup-instructions'}}: + label(for='copy-many-card-title') {{_ 'copyChecklistToManyCardsPopup-instructions'}}: textarea#copy-card-title.minicard-composer-textarea.js-card-title(autofocus) - {{_ 'copyManyCardPopup-format'}} + | {{_ 'copyChecklistToManyCardsPopup-format'}} if isSandstorm +boardLists else diff --git a/i18n/en.i18n.json b/i18n/en.i18n.json index 1e48b305..a938f5d5 100644 --- a/i18n/en.i18n.json +++ b/i18n/en.i18n.json @@ -160,8 +160,8 @@ "copy-card-link-to-clipboard": "Copy card link to clipboard", "copyCardPopup-title": "Copy Card", "copyManyCardPopup-title": "Copy Checklist Template to Many Cards", - "copyManyCardPopup-instructions": "Destination Card Titles and Descriptions in this JSON format", - "copyManyCardPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]", + "copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format", + "copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]", "create": "Create", "createBoardPopup-title": "Create Board", "chooseBoardSourcePopup-title": "Import board", -- cgit v1.2.3-1-g7c22 From cfaeb43f1f8e55ab1d6373ba06551ca281258ac4 Mon Sep 17 00:00:00 2001 From: Erik Turk Date: Thu, 15 Feb 2018 15:26:19 -0500 Subject: changed variable names --- client/components/cards/cardDetails.jade | 6 +++--- client/components/cards/cardDetails.js | 4 ++-- i18n/en.i18n.json | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/client/components/cards/cardDetails.jade b/client/components/cards/cardDetails.jade index 51f7f3f7..81f571d6 100644 --- a/client/components/cards/cardDetails.jade +++ b/client/components/cards/cardDetails.jade @@ -135,7 +135,7 @@ template(name="cardDetailsActionsPopup") ul.pop-over-list li: a.js-move-card {{_ 'moveCardPopup-title'}} li: a.js-copy-card {{_ 'copyCardPopup-title'}} - li: a.js-copy-many-card {{_ 'copyManyCardPopup-title'}} + li: a.js-copy-checklist-cards {{_ 'copyChecklistToManyCardsPopup-title'}} unless archived li: a.js-archive {{_ 'archive-card'}} li: a.js-more {{_ 'cardMorePopup-title'}} @@ -156,8 +156,8 @@ template(name="copyCardPopup") +boardsAndLists -template(name="copyManyCardPopup") - label(for='copy-many-card-title') {{_ 'copyChecklistToManyCardsPopup-instructions'}}: +template(name="copyChecklistToManyCardsPopup") + label(for='copy-checklist-cards-title') {{_ 'copyChecklistToManyCardsPopup-instructions'}}: textarea#copy-card-title.minicard-composer-textarea.js-card-title(autofocus) | {{_ 'copyChecklistToManyCardsPopup-format'}} if isSandstorm diff --git a/client/components/cards/cardDetails.js b/client/components/cards/cardDetails.js index 1ea23a69..d72f46d4 100644 --- a/client/components/cards/cardDetails.js +++ b/client/components/cards/cardDetails.js @@ -170,7 +170,7 @@ Template.cardDetailsActionsPopup.events({ 'click .js-spent-time': Popup.open('editCardSpentTime'), 'click .js-move-card': Popup.open('moveCard'), 'click .js-copy-card': Popup.open('copyCard'), - 'click .js-copy-many-card': Popup.open('copyManyCard'), + 'click .js-copy-checklist-cards': Popup.open('copyChecklistToManyCards'), 'click .js-move-card-to-top' (evt) { evt.preventDefault(); const minOrder = _.min(this.list().cards(this.swimlaneId).map((c) => c.sort)); @@ -298,7 +298,7 @@ Template.copyCardPopup.events({ }); -Template.copyManyCardPopup.events({ +Template.copyChecklistToManyCardsPopup.events({ 'click .js-select-list' (evt) { const card = Cards.findOne(Session.get('currentCard')); const oldId = card._id; diff --git a/i18n/en.i18n.json b/i18n/en.i18n.json index a938f5d5..67b6fea7 100644 --- a/i18n/en.i18n.json +++ b/i18n/en.i18n.json @@ -159,7 +159,7 @@ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist", "copy-card-link-to-clipboard": "Copy card link to clipboard", "copyCardPopup-title": "Copy Card", - "copyManyCardPopup-title": "Copy Checklist Template to Many Cards", + "copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards", "copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format", "copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]", "create": "Create", -- cgit v1.2.3-1-g7c22