summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLauri Ojansivu <x@xet7.org>2020-05-13 05:27:28 +0300
committerLauri Ojansivu <x@xet7.org>2020-05-13 05:27:28 +0300
commitaa084b7a7e56402aed36c1f50e0aef4ea9fd2266 (patch)
treea52c12297ebe06241b3e16849ab0a6c01d20bc7c
parentba01ebe05d80cb468c22f9d780855af1cf14124a (diff)
parent8a2509007c21a1056f79d183c71cb9f1b3e0857d (diff)
downloadwekan-aa084b7a7e56402aed36c1f50e0aef4ea9fd2266.tar.gz
wekan-aa084b7a7e56402aed36c1f50e0aef4ea9fd2266.tar.bz2
wekan-aa084b7a7e56402aed36c1f50e0aef4ea9fd2266.zip
Merge branch 'brymut-add-more-import-export-options'
-rw-r--r--client/components/import/csvMembersMapper.js37
-rw-r--r--client/components/import/import.jade2
-rw-r--r--client/components/import/import.js52
-rw-r--r--client/components/sidebar/sidebar.jade19
-rw-r--r--client/components/sidebar/sidebar.js58
-rw-r--r--i18n/ar.i18n.json19
-rw-r--r--i18n/bg.i18n.json19
-rw-r--r--i18n/br.i18n.json19
-rw-r--r--i18n/ca.i18n.json19
-rw-r--r--i18n/cs.i18n.json19
-rw-r--r--i18n/da.i18n.json19
-rw-r--r--i18n/de.i18n.json19
-rw-r--r--i18n/el.i18n.json19
-rw-r--r--i18n/en-GB.i18n.json19
-rw-r--r--i18n/en.i18n.json19
-rw-r--r--i18n/eo.i18n.json19
-rw-r--r--i18n/es-AR.i18n.json19
-rw-r--r--i18n/es.i18n.json19
-rw-r--r--i18n/eu.i18n.json19
-rw-r--r--i18n/fa.i18n.json19
-rw-r--r--i18n/fi.i18n.json19
-rw-r--r--i18n/fr.i18n.json19
-rw-r--r--i18n/gl.i18n.json19
-rw-r--r--i18n/he.i18n.json19
-rw-r--r--i18n/hi.i18n.json19
-rw-r--r--i18n/hu.i18n.json19
-rw-r--r--i18n/hy.i18n.json19
-rw-r--r--i18n/id.i18n.json19
-rw-r--r--i18n/ig.i18n.json19
-rw-r--r--i18n/it.i18n.json19
-rw-r--r--i18n/ja.i18n.json19
-rw-r--r--i18n/ka.i18n.json19
-rw-r--r--i18n/km.i18n.json19
-rw-r--r--i18n/ko.i18n.json19
-rw-r--r--i18n/lv.i18n.json19
-rw-r--r--i18n/mk.i18n.json19
-rw-r--r--i18n/mn.i18n.json19
-rw-r--r--i18n/nb.i18n.json19
-rw-r--r--i18n/nl.i18n.json19
-rw-r--r--i18n/oc.i18n.json19
-rw-r--r--i18n/pl.i18n.json19
-rw-r--r--i18n/pt-BR.i18n.json31
-rw-r--r--i18n/pt.i18n.json19
-rw-r--r--i18n/ro.i18n.json19
-rw-r--r--i18n/ru.i18n.json19
-rw-r--r--i18n/sl.i18n.json19
-rw-r--r--i18n/sr.i18n.json19
-rw-r--r--i18n/sv.i18n.json19
-rw-r--r--i18n/sw.i18n.json19
-rw-r--r--i18n/ta.i18n.json19
-rw-r--r--i18n/th.i18n.json19
-rw-r--r--i18n/tr.i18n.json19
-rw-r--r--i18n/uk.i18n.json19
-rw-r--r--i18n/vi.i18n.json19
-rw-r--r--i18n/zh-CN.i18n.json19
-rw-r--r--i18n/zh-HK.i18n.json19
-rw-r--r--i18n/zh-TW.i18n.json19
-rw-r--r--models/csvCreator.js313
-rw-r--r--models/export.js240
-rw-r--r--models/exporter.js344
-rw-r--r--models/import.js10
-rw-r--r--package-lock.json10
-rw-r--r--package.json2
63 files changed, 1820 insertions, 267 deletions
diff --git a/client/components/import/csvMembersMapper.js b/client/components/import/csvMembersMapper.js
new file mode 100644
index 00000000..cf8d5837
--- /dev/null
+++ b/client/components/import/csvMembersMapper.js
@@ -0,0 +1,37 @@
+export function getMembersToMap(data) {
+ // we will work on the list itself (an ordered array of objects) when a
+ // mapping is done, we add a 'wekan' field to the object representing the
+ // imported member
+
+ const membersToMap = [];
+ const importedMembers = [];
+ let membersIndex;
+
+ for (let i = 0; i < data[0].length; i++) {
+ if (data[0][i].toLowerCase() === 'members') {
+ membersIndex = i;
+ }
+ }
+
+ for (let i = 1; i < data.length; i++) {
+ if (data[i][membersIndex]) {
+ for (const importedMember of data[i][membersIndex].split(' ')) {
+ if (importedMember && importedMembers.indexOf(importedMember) === -1) {
+ importedMembers.push(importedMember);
+ }
+ }
+ }
+ }
+
+ for (let importedMember of importedMembers) {
+ importedMember = {
+ username: importedMember,
+ id: importedMember,
+ };
+ const wekanUser = Users.findOne({ username: importedMember.username });
+ if (wekanUser) importedMember.wekanId = wekanUser._id;
+ membersToMap.push(importedMember);
+ }
+
+ return membersToMap;
+}
diff --git a/client/components/import/import.jade b/client/components/import/import.jade
index 1551a7dd..2bea24ae 100644
--- a/client/components/import/import.jade
+++ b/client/components/import/import.jade
@@ -13,7 +13,7 @@ template(name="import")
template(name="importTextarea")
form
p: label(for='import-textarea') {{_ instruction}} {{_ 'import-board-instruction-about-errors'}}
- textarea.js-import-json(placeholder="{{_ 'import-json-placeholder'}}" autofocus)
+ textarea.js-import-json(placeholder="{{_ importPlaceHolder}}" autofocus)
| {{jsonText}}
input.primary.wide(type="submit" value="{{_ 'import'}}")
diff --git a/client/components/import/import.js b/client/components/import/import.js
index 6368885b..673900fd 100644
--- a/client/components/import/import.js
+++ b/client/components/import/import.js
@@ -1,5 +1,8 @@
import trelloMembersMapper from './trelloMembersMapper';
import wekanMembersMapper from './wekanMembersMapper';
+import csvMembersMapper from './csvMembersMapper';
+
+const Papa = require('papaparse');
BlazeComponent.extendComponent({
title() {
@@ -30,20 +33,30 @@ BlazeComponent.extendComponent({
}
},
- importData(evt) {
+ importData(evt, dataSource) {
evt.preventDefault();
- const dataJson = this.find('.js-import-json').value;
- try {
- const dataObject = JSON.parse(dataJson);
- this.setError('');
- this.importedData.set(dataObject);
- const membersToMap = this._prepareAdditionalData(dataObject);
- // store members data and mapping in Session
- // (we go deep and 2-way, so storing in data context is not a viable option)
+ const input = this.find('.js-import-json').value;
+ if (dataSource === 'csv') {
+ const csv = input.indexOf('\t') > 0 ? input.replace(/(\t)/g, ',') : input;
+ const ret = Papa.parse(csv);
+ if (ret && ret.data && ret.data.length) this.importedData.set(ret.data);
+ else throw new Meteor.Error('error-csv-schema');
+ const membersToMap = this._prepareAdditionalData(ret.data);
this.membersToMap.set(membersToMap);
this.nextStep();
- } catch (e) {
- this.setError('error-json-malformed');
+ } else {
+ try {
+ const dataObject = JSON.parse(input);
+ this.setError('');
+ this.importedData.set(dataObject);
+ const membersToMap = this._prepareAdditionalData(dataObject);
+ // store members data and mapping in Session
+ // (we go deep and 2-way, so storing in data context is not a viable option)
+ this.membersToMap.set(membersToMap);
+ this.nextStep();
+ } catch (e) {
+ this.setError('error-json-malformed');
+ }
}
},
@@ -91,6 +104,9 @@ BlazeComponent.extendComponent({
case 'wekan':
membersToMap = wekanMembersMapper.getMembersToMap(dataObject);
break;
+ case 'csv':
+ membersToMap = csvMembersMapper.getMembersToMap(dataObject);
+ break;
}
return membersToMap;
},
@@ -109,11 +125,23 @@ BlazeComponent.extendComponent({
return `import-board-instruction-${Session.get('importSource')}`;
},
+ importPlaceHolder() {
+ const importSource = Session.get('importSource');
+ if (importSource === 'csv') {
+ return 'import-csv-placeholder';
+ } else {
+ return 'import-json-placeholder';
+ }
+ },
+
events() {
return [
{
submit(evt) {
- return this.parentComponent().importData(evt);
+ return this.parentComponent().importData(
+ evt,
+ Session.get('importSource'),
+ );
},
},
];
diff --git a/client/components/sidebar/sidebar.jade b/client/components/sidebar/sidebar.jade
index 6bfedc9c..280eaeaf 100644
--- a/client/components/sidebar/sidebar.jade
+++ b/client/components/sidebar/sidebar.jade
@@ -230,6 +230,8 @@ template(name="chooseBoardSource")
a(href="{{pathFor '/import/trello'}}") {{_ 'from-trello'}}
li
a(href="{{pathFor '/import/wekan'}}") {{_ 'from-wekan'}}
+ li
+ a(href="{{pathFor '/import/csv'}}") {{_ 'from-csv'}}
template(name="archiveBoardPopup")
p {{_ 'close-board-pop'}}
@@ -300,7 +302,7 @@ template(name="boardMenuPopup")
ul.pop-over-list
if withApi
li
- a(href="{{exportUrl}}", download="{{exportFilename}}")
+ a.js-export-board
i.fa.fa-share-alt
| {{_ 'export-board'}}
li
@@ -360,6 +362,21 @@ template(name="boardMenuPopup")
i.fa.fa-sitemap
| {{_ 'subtask-settings'}}
+template(name="exportBoard")
+ ul.pop-over-list
+ li
+ a(href="{{exportUrl}}", download="{{exportJsonFilename}}")
+ i.fa.fa-share-alt
+ | {{_ 'export-board-json'}}
+ li
+ a(href="{{exportCsvUrl}}", download="{{exportCsvFilename}}")
+ i.fa.fa-share-alt
+ | {{_ 'export-board-csv'}}
+ li
+ a(href="{{exportTsvUrl}}", download="{{exportTsvFilename}}")
+ i.fa.fa-share-alt
+ | {{_ 'export-board-tsv'}}
+
template(name="labelsWidget")
.board-widget.board-widget-labels
h3
diff --git a/client/components/sidebar/sidebar.js b/client/components/sidebar/sidebar.js
index cbe00797..2c1cfd75 100644
--- a/client/components/sidebar/sidebar.js
+++ b/client/components/sidebar/sidebar.js
@@ -213,6 +213,7 @@ Template.boardMenuPopup.events({
'click .js-import-board': Popup.open('chooseBoardSource'),
'click .js-subtask-settings': Popup.open('boardSubtaskSettings'),
'click .js-card-settings': Popup.open('boardCardSettings'),
+ 'click .js-export-board': Popup.open('exportBoard'),
});
Template.boardMenuPopup.onCreated(function() {
@@ -405,6 +406,63 @@ BlazeComponent.extendComponent({
},
}).register('chooseBoardSourcePopup');
+BlazeComponent.extendComponent({
+ template() {
+ return 'exportBoard';
+ },
+ withApi() {
+ return Template.instance().apiEnabled.get();
+ },
+ exportUrl() {
+ const params = {
+ boardId: Session.get('currentBoard'),
+ };
+ const queryParams = {
+ authToken: Accounts._storedLoginToken(),
+ };
+ return FlowRouter.path('/api/boards/:boardId/export', params, queryParams);
+ },
+ exportCsvUrl() {
+ const params = {
+ boardId: Session.get('currentBoard'),
+ };
+ const queryParams = {
+ authToken: Accounts._storedLoginToken(),
+ };
+ return FlowRouter.path(
+ '/api/boards/:boardId/export/csv',
+ params,
+ queryParams,
+ );
+ },
+ exportTsvUrl() {
+ const params = {
+ boardId: Session.get('currentBoard'),
+ };
+ const queryParams = {
+ authToken: Accounts._storedLoginToken(),
+ delimiter: '\t',
+ };
+ return FlowRouter.path(
+ '/api/boards/:boardId/export/csv',
+ params,
+ queryParams,
+ );
+ },
+ exportJsonFilename() {
+ const boardId = Session.get('currentBoard');
+ return `wekan-export-board-${boardId}.json`;
+ },
+ exportCsvFilename() {
+ const boardId = Session.get('currentBoard');
+ return `wekan-export-board-${boardId}.csv`;
+ },
+ exportTsvFilename() {
+ const boardId = Session.get('currentBoard');
+ return `wekan-export-board-${boardId}.tsv`;
+ },
+}).register('exportBoardPopup');
+
Template.labelsWidget.events({
'click .js-label': Popup.open('editLabel'),
'click .js-add-label': Popup.open('createLabel'),
diff --git a/i18n/ar.i18n.json b/i18n/ar.i18n.json
index 04313159..b2e3801a 100644
--- a/i18n/ar.i18n.json
+++ b/i18n/ar.i18n.json
@@ -309,6 +309,7 @@
"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-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) 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": "لا يمكنك دعوة نفسك",
@@ -316,6 +317,10 @@
"error-username-taken": "إسم المستخدم مأخوذ مسبقا",
"error-email-taken": "البريد الإلكتروني مأخوذ بالفعل",
"export-board": "Export board",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "Export board",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -351,12 +356,16 @@
"import-board-c": "استيراد لوحة",
"import-board-title-trello": "Import board from Trello",
"import-board-title-wekan": "Import board from previous export",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "من تريلو",
"from-wekan": "From previous export",
+ "from-csv": "From CSV/TSV",
"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-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "In your board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Paste your valid JSON data here",
+ "import-csv-placeholder": "Paste your valid CSV/TSV data here",
"import-map-members": "رسم خريطة الأعضاء",
"import-members-map": "Your imported board has some members. Please map the members you want to import to your users",
"import-show-user-mapping": "Review members mapping",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Import a Trello card",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"listMorePopup-title": "المزيد",
"link-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.",
@@ -786,5 +796,12 @@
"thursday": "Thursday",
"friday": "Friday",
"saturday": "Saturday",
- "sunday": "Sunday"
+ "sunday": "Sunday",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/bg.i18n.json b/i18n/bg.i18n.json
index 68226d83..d1623fed 100644
--- a/i18n/bg.i18n.json
+++ b/i18n/bg.i18n.json
@@ -309,6 +309,7 @@
"error-board-notAMember": "За да направите това трябва да сте член на това табло",
"error-json-malformed": "Текстът Ви не е валиден JSON",
"error-json-schema": "JSON информацията Ви не съдържа информация във валиден формат",
+ "error-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) does not include the proper information in the correct format",
"error-list-doesNotExist": "Този списък не съществува",
"error-user-doesNotExist": "Този потребител не съществува",
"error-user-notAllowSelf": "Не можете да поканите себе си",
@@ -316,6 +317,10 @@
"error-username-taken": "Това потребителско име е вече заето",
"error-email-taken": "Имейлът е вече зает",
"export-board": "Експортиране на Табло",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "Експортиране на Табло",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -351,12 +356,16 @@
"import-board-c": "Импортирай Табло",
"import-board-title-trello": "Импорт на табло от Trello",
"import-board-title-wekan": "Import board from previous export",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "От Trello",
"from-wekan": "From previous export",
+ "from-csv": "From CSV/TSV",
"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-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "In your board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Копирайте валидната Ви JSON информация тук",
+ "import-csv-placeholder": "Paste your valid CSV/TSV 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 your users",
"import-show-user-mapping": "Review members mapping",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Импорт на карта от Trello",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"listMorePopup-title": "Още",
"link-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.",
@@ -786,5 +796,12 @@
"thursday": "Thursday",
"friday": "Friday",
"saturday": "Saturday",
- "sunday": "Sunday"
+ "sunday": "Sunday",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/br.i18n.json b/i18n/br.i18n.json
index c9e576ed..0cb28623 100644
--- a/i18n/br.i18n.json
+++ b/i18n/br.i18n.json
@@ -309,6 +309,7 @@
"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-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) 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",
@@ -316,6 +317,10 @@
"error-username-taken": "This username is already taken",
"error-email-taken": "Email has already been taken",
"export-board": "Export board",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "Export board",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -351,12 +356,16 @@
"import-board-c": "Import board",
"import-board-title-trello": "Import board from Trello",
"import-board-title-wekan": "Import board from previous export",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "From Trello",
"from-wekan": "From previous export",
+ "from-csv": "From CSV/TSV",
"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-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "In your board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Paste your valid JSON data here",
+ "import-csv-placeholder": "Paste your valid CSV/TSV 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 your users",
"import-show-user-mapping": "Review members mapping",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Import a Trello card",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"listMorePopup-title": "Muioc’h",
"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.",
@@ -786,5 +796,12 @@
"thursday": "Thursday",
"friday": "Friday",
"saturday": "Saturday",
- "sunday": "Sunday"
+ "sunday": "Sunday",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/ca.i18n.json b/i18n/ca.i18n.json
index e70a4a26..0538fe0e 100644
--- a/i18n/ca.i18n.json
+++ b/i18n/ca.i18n.json
@@ -309,6 +309,7 @@
"error-board-notAMember": "Necessites ser membre d'aquest tauler per dur a terme aquesta acció",
"error-json-malformed": "El text no és JSON vàlid",
"error-json-schema": "La dades JSON no contenen la informació en el format correcte",
+ "error-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) does not include the proper information in the correct format",
"error-list-doesNotExist": "La llista no existeix",
"error-user-doesNotExist": "L'usuari no existeix",
"error-user-notAllowSelf": "No et pots convidar a tu mateix",
@@ -316,6 +317,10 @@
"error-username-taken": "Aquest usuari ja existeix",
"error-email-taken": "L'adreça de correu electrònic ja és en ús",
"export-board": "Exporta tauler",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "Exporta tauler",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -351,12 +356,16 @@
"import-board-c": "Importa tauler",
"import-board-title-trello": "Importa tauler des de Trello",
"import-board-title-wekan": "Import board from previous export",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "Des de Trello",
"from-wekan": "From previous export",
+ "from-csv": "From CSV/TSV",
"import-board-instruction-trello": "En el teu tauler Trello, ves a 'Menú', 'Més'.' Imprimir i Exportar', 'Exportar JSON', i copia el text resultant.",
+ "import-board-instruction-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "In your board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Aferra codi JSON vàlid aquí",
+ "import-csv-placeholder": "Paste your valid CSV/TSV data here",
"import-map-members": "Mapeja el membres",
"import-members-map": "Your imported board has some members. Please map the members you want to import to your users",
"import-show-user-mapping": "Revisa l'assignació de membres",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "Accions de Carril de Natació",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "importa una fitxa de Trello",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"listMorePopup-title": "Més",
"link-list": "Enllaça a aquesta llista",
"list-delete-pop": "Totes les accions seran esborrades de la llista d'activitats i no serà possible recuperar la llista",
@@ -786,5 +796,12 @@
"thursday": "Thursday",
"friday": "Friday",
"saturday": "Saturday",
- "sunday": "Sunday"
+ "sunday": "Sunday",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/cs.i18n.json b/i18n/cs.i18n.json
index 05d818d6..74ac2c08 100644
--- a/i18n/cs.i18n.json
+++ b/i18n/cs.i18n.json
@@ -309,6 +309,7 @@
"error-board-notAMember": "K provedení změny musíš být členem tohoto tabla",
"error-json-malformed": "Tvůj text není validní JSON",
"error-json-schema": "Tato JSON data neobsahují správné informace v platném formátu",
+ "error-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) does not include the proper information in the correct format",
"error-list-doesNotExist": "Tento sloupec ;neexistuje",
"error-user-doesNotExist": "Tento uživatel neexistuje",
"error-user-notAllowSelf": "Nemůžeš pozvat sám sebe",
@@ -316,6 +317,10 @@
"error-username-taken": "Toto uživatelské jméno již existuje",
"error-email-taken": "Tento email byl již použit",
"export-board": "Exportovat tablo",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "Exportovat tablo",
"sort": "řadit",
"sort-desc": "Click to Sort List",
"list-sort-by": "řadit seznam podle",
@@ -351,12 +356,16 @@
"import-board-c": "Importovat tablo",
"import-board-title-trello": "Import board from Trello",
"import-board-title-wekan": "Importovat tablo z předchozího exportu",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "Z Trella",
"from-wekan": "Z předchozího exportu",
+ "from-csv": "From CSV/TSV",
"import-board-instruction-trello": "Na svém Trello tablu, otevři 'Menu', pak 'More', 'Print and Export', 'Export JSON', a zkopíruj výsledný text",
+ "import-board-instruction-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "Ve vašem tablu jděte do 'Menu', klikněte na 'Exportovat tablo' a zkopírujte text ze staženého souboru.",
"import-board-instruction-about-errors": "Někdy import funguje i přestože dostáváte chyby při importování tabla, které se zobrazí na stránce Všechna tabla.",
"import-json-placeholder": "Sem vlož validní JSON data",
+ "import-csv-placeholder": "Paste your valid CSV/TSV data here",
"import-map-members": "Mapovat členy",
"import-members-map": "Toto importované tablo obsahuje několik osob. Prosím namapujte osoby z importu na místní uživatelské účty.",
"import-show-user-mapping": "Zkontrolovat namapování členů",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "Akce swimlane",
"swimlaneAddPopup-title": "Přidat swimlane dolů",
"listImportCardPopup-title": "Importovat Trello kartu",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"listMorePopup-title": "Více",
"link-list": "Odkaz na tento sloupec",
"list-delete-pop": "Všechny akce budou odstraněny z kanálu aktivity a nebude možné sloupec obnovit. Toto nelze vrátit zpět.",
@@ -786,5 +796,12 @@
"thursday": "Thursday",
"friday": "Friday",
"saturday": "Saturday",
- "sunday": "Sunday"
+ "sunday": "Sunday",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/da.i18n.json b/i18n/da.i18n.json
index 2f4df9d6..8a32fadc 100644
--- a/i18n/da.i18n.json
+++ b/i18n/da.i18n.json
@@ -309,6 +309,7 @@
"error-board-notAMember": "Du skal være medlem af denne tavle for at gøre dette",
"error-json-malformed": "Din tekst er ikke gyldig JSON",
"error-json-schema": "Dine JSON-data indeholder ikke den rette information i det rette format",
+ "error-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) does not include the proper information in the correct format",
"error-list-doesNotExist": "Listen findes ikke",
"error-user-doesNotExist": "Brugeren findes ikke",
"error-user-notAllowSelf": "Du kan ikke invitere dig selv",
@@ -316,6 +317,10 @@
"error-username-taken": "Brugernavnet er optaget",
"error-email-taken": "E-mailadressen er allerede optaget",
"export-board": "Eksportér tavle",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "Eksportér tavle",
"sort": "Sortér",
"sort-desc": "Klik for at sortere listen",
"list-sort-by": "Sortér listen efter:",
@@ -351,12 +356,16 @@
"import-board-c": "Importér tavle",
"import-board-title-trello": "Importér tavle fra Trello",
"import-board-title-wekan": "Importér tavler fra tidligere eksport",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "Fra Trello",
"from-wekan": "Fra forrige eksport",
+ "from-csv": "From CSV/TSV",
"import-board-instruction-trello": "I din Trello-tavle, gå til 'Menu', dernæst 'More', 'Print and Export', 'Export JSON', og kopiér den tekst som vises.",
+ "import-board-instruction-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "På din tavle, gå til 'Menu', dernæst 'Eksportér tavle', og kopiér teksten i den hentede fil.",
"import-board-instruction-about-errors": "Hvis du får fejl når der importeres en tavle, så vil importen undertiden stadig fungere, og tavlen vil være under side Alle tavler.",
"import-json-placeholder": "Indsæt dine gyldige JSON-data her",
+ "import-csv-placeholder": "Paste your valid CSV/TSV data here",
"import-map-members": "Kortlæg medlemmer",
"import-members-map": "Dine importerede tavler rummer medlemmer. Kortlæg venligst de medlemmer du ønsker at importere til dine brugere.",
"import-show-user-mapping": "Gennemse kortlægning af medlemmer",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "Handlinger for svømmebane",
"swimlaneAddPopup-title": "Tilføj en svømmebane nedenfor",
"listImportCardPopup-title": "Importér et Trello-kort",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"listMorePopup-title": "Mere",
"link-list": "Link til denne liste",
"list-delete-pop": "Alle handlinger vil blive fjernet fra aktivitetsfeedet og du vil ikke have mulighed for at genskabe listen. Der er ingen måder at fortryde. ",
@@ -786,5 +796,12 @@
"thursday": "Torsdag",
"friday": "Fredag",
"saturday": "Lørdag",
- "sunday": "Søndag"
+ "sunday": "Søndag",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/de.i18n.json b/i18n/de.i18n.json
index 687bf801..0a321b55 100644
--- a/i18n/de.i18n.json
+++ b/i18n/de.i18n.json
@@ -309,6 +309,7 @@
"error-board-notAMember": "Um das zu tun, müssen Sie Mitglied dieses Boards sein",
"error-json-malformed": "Ihre Eingabe ist kein gültiges JSON",
"error-json-schema": "Ihre JSON-Daten enthalten nicht die gewünschten Informationen im richtigen Format",
+ "error-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) does not include the proper information in the correct format",
"error-list-doesNotExist": "Diese Liste existiert nicht",
"error-user-doesNotExist": "Dieser Nutzer existiert nicht",
"error-user-notAllowSelf": "Sie können sich nicht selbst einladen.",
@@ -316,6 +317,10 @@
"error-username-taken": "Dieser Benutzername ist bereits vergeben",
"error-email-taken": "E-Mail wird schon verwendet",
"export-board": "Board exportieren",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "Board exportieren",
"sort": "Sortieren",
"sort-desc": "Zum Sortieren der Liste klicken",
"list-sort-by": "Sortieren der Liste nach:",
@@ -351,12 +356,16 @@
"import-board-c": "Board importieren",
"import-board-title-trello": "Board von Trello importieren",
"import-board-title-wekan": "Board aus vorherigem Export importieren",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "Von Trello",
"from-wekan": "Aus vorherigem Export",
+ "from-csv": "From CSV/TSV",
"import-board-instruction-trello": "Gehen Sie in ihrem Trello-Board auf 'Menü', dann 'Mehr', 'Drucken und Exportieren', 'JSON-Export' und kopieren Sie den dort angezeigten Text",
+ "import-board-instruction-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "Gehen Sie in Ihrem Board auf 'Menü', danach auf 'Board exportieren' und kopieren Sie den Text aus der heruntergeladenen Datei.",
"import-board-instruction-about-errors": "Treten beim importieren eines Board Fehler auf, so kann der Import dennoch erfolgreich abgeschlossen sein und das Board ist auf der Seite \"Alle Boards\" zusehen.",
"import-json-placeholder": "Fügen Sie die korrekten JSON-Daten hier ein",
+ "import-csv-placeholder": "Paste your valid CSV/TSV data here",
"import-map-members": "Mitglieder zuordnen",
"import-members-map": "Das importierte Board hat einige Mitglieder. Bitte ordnen sie die Mitglieder, die Sie importieren wollen, Ihren Benutzern zu.",
"import-show-user-mapping": "Mitgliederzuordnung überprüfen",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "Swimlaneaktionen",
"swimlaneAddPopup-title": "Swimlane unterhalb einfügen",
"listImportCardPopup-title": "Eine Trello-Karte importieren",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"listMorePopup-title": "Mehr",
"link-list": "Link zu dieser Liste",
"list-delete-pop": "Alle Aktionen werden aus dem Verlauf gelöscht und die Liste kann nicht wiederhergestellt werden.",
@@ -786,5 +796,12 @@
"thursday": "Donnerstag",
"friday": "Freitag",
"saturday": "Samstag",
- "sunday": "Sonntag"
+ "sunday": "Sonntag",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/el.i18n.json b/i18n/el.i18n.json
index 3bc4f7f3..948eea19 100644
--- a/i18n/el.i18n.json
+++ b/i18n/el.i18n.json
@@ -309,6 +309,7 @@
"error-board-notAMember": "You need to be a member of this board to do that",
"error-json-malformed": "Το κείμενο δεν είναι έγκυρο JSON",
"error-json-schema": "Your JSON data does not include the proper information in the correct format",
+ "error-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) does not include the proper information in the correct format",
"error-list-doesNotExist": "Η λίστα δεν υπάρχει",
"error-user-doesNotExist": "Ο χρήστης δεν υπάρχει",
"error-user-notAllowSelf": "You can not invite yourself",
@@ -316,6 +317,10 @@
"error-username-taken": "This username is already taken",
"error-email-taken": "Email has already been taken",
"export-board": "Εξαγωγή πίνακα",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "Εξαγωγή πίνακα",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -351,12 +356,16 @@
"import-board-c": "Εισαγωγή πίνακα",
"import-board-title-trello": "Import board from Trello",
"import-board-title-wekan": "Import board from previous export",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "Από το Trello",
"from-wekan": "From previous export",
+ "from-csv": "From CSV/TSV",
"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-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "In your board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Paste your valid JSON data here",
+ "import-csv-placeholder": "Paste your valid CSV/TSV 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 your users",
"import-show-user-mapping": "Review members mapping",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Εισαγωγή μιας κάρτας Trello",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"listMorePopup-title": "Περισσότερα",
"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.",
@@ -786,5 +796,12 @@
"thursday": "Thursday",
"friday": "Friday",
"saturday": "Saturday",
- "sunday": "Sunday"
+ "sunday": "Sunday",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/en-GB.i18n.json b/i18n/en-GB.i18n.json
index 4458c5d3..057f8ccf 100644
--- a/i18n/en-GB.i18n.json
+++ b/i18n/en-GB.i18n.json
@@ -309,6 +309,7 @@
"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-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) 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",
@@ -316,6 +317,10 @@
"error-username-taken": "This username is already taken",
"error-email-taken": "Email has already been taken",
"export-board": "Export board",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "Export board",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -351,12 +356,16 @@
"import-board-c": "Import board",
"import-board-title-trello": "Import board from Trello",
"import-board-title-wekan": "Import board from previous export",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "From Trello",
"from-wekan": "From previous export",
+ "from-csv": "From CSV/TSV",
"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-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "In your board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Paste your valid JSON data here",
+ "import-csv-placeholder": "Paste your valid CSV/TSV 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 your users",
"import-show-user-mapping": "Review members mapping",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Import a Trello card",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"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.",
@@ -786,5 +796,12 @@
"thursday": "Thursday",
"friday": "Friday",
"saturday": "Saturday",
- "sunday": "Sunday"
+ "sunday": "Sunday",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/en.i18n.json b/i18n/en.i18n.json
index ee399f9d..c5838460 100644
--- a/i18n/en.i18n.json
+++ b/i18n/en.i18n.json
@@ -309,6 +309,7 @@
"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-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) 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",
@@ -316,6 +317,10 @@
"error-username-taken": "This username is already taken",
"error-email-taken": "Email has already been taken",
"export-board": "Export board",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "Export board",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -351,12 +356,16 @@
"import-board-c": "Import board",
"import-board-title-trello": "Import board from Trello",
"import-board-title-wekan": "Import board from previous export",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "From Trello",
"from-wekan": "From previous export",
+ "from-csv": "From CSV/TSV",
"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-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "In your board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Paste your valid JSON data here",
+ "import-csv-placeholder": "Paste your valid CSV/TSV 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 your users",
"import-show-user-mapping": "Review members mapping",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Import a Trello card",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"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.",
@@ -786,5 +796,12 @@
"thursday": "Thursday",
"friday": "Friday",
"saturday": "Saturday",
- "sunday": "Sunday"
+ "sunday": "Sunday",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/eo.i18n.json b/i18n/eo.i18n.json
index 7bd1f27e..8e1a1e43 100644
--- a/i18n/eo.i18n.json
+++ b/i18n/eo.i18n.json
@@ -309,6 +309,7 @@
"error-board-notAMember": "You need to be a member of this board to do that",
"error-json-malformed": "Via teksto estas nevalida JSON",
"error-json-schema": "Via JSON ne enhavas la ĝustajn informojn en ĝusta formato",
+ "error-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) does not include the proper information in the correct format",
"error-list-doesNotExist": "Tio listo ne ekzistas",
"error-user-doesNotExist": "Tio uzanto ne ekzistas",
"error-user-notAllowSelf": "You can not invite yourself",
@@ -316,6 +317,10 @@
"error-username-taken": "Uzantnomo jam prenita",
"error-email-taken": "Email has already been taken",
"export-board": "Export board",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "Export board",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -351,12 +356,16 @@
"import-board-c": "Import board",
"import-board-title-trello": "Import board from Trello",
"import-board-title-wekan": "Import board from previous export",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "From Trello",
"from-wekan": "From previous export",
+ "from-csv": "From CSV/TSV",
"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-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "In your board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Paste your valid JSON data here",
+ "import-csv-placeholder": "Paste your valid CSV/TSV 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 your users",
"import-show-user-mapping": "Review members mapping",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Import a Trello card",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"listMorePopup-title": "Pli",
"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.",
@@ -786,5 +796,12 @@
"thursday": "Thursday",
"friday": "Friday",
"saturday": "Saturday",
- "sunday": "Sunday"
+ "sunday": "Sunday",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/es-AR.i18n.json b/i18n/es-AR.i18n.json
index 2455623e..39d89f64 100644
--- a/i18n/es-AR.i18n.json
+++ b/i18n/es-AR.i18n.json
@@ -309,6 +309,7 @@
"error-board-notAMember": "Necesitás ser miembro de este tablero para hacer eso",
"error-json-malformed": "Tu texto no es JSON válido",
"error-json-schema": "Tus datos JSON no incluyen la información correcta en el formato adecuado",
+ "error-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) does not include the proper information in the correct format",
"error-list-doesNotExist": "Esta lista no existe",
"error-user-doesNotExist": "Este usuario no existe",
"error-user-notAllowSelf": "No podés invitarte a vos mismo",
@@ -316,6 +317,10 @@
"error-username-taken": "El nombre de usuario ya existe",
"error-email-taken": "El email ya existe",
"export-board": "Exportar tablero",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "Exportar tablero",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -351,12 +356,16 @@
"import-board-c": "Importar tablero",
"import-board-title-trello": "Importar tablero de Trello",
"import-board-title-wekan": "Import board from previous export",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "De Trello",
"from-wekan": "From previous export",
+ "from-csv": "From CSV/TSV",
"import-board-instruction-trello": "En tu tablero de Trello, ve a 'Menú', luego a 'Más', 'Imprimir y Exportar', 'Exportar JSON', y copia el texto resultante.",
+ "import-board-instruction-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "In your board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Pegá tus datos JSON válidos acá",
+ "import-csv-placeholder": "Paste your valid CSV/TSV data here",
"import-map-members": "Mapear Miembros",
"import-members-map": "Your imported board has some members. Please map the members you want to import to your users",
"import-show-user-mapping": "Revisar mapeo de miembros",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "Acciones de la Calle",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Importar una tarjeta Trello",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"listMorePopup-title": "Mas",
"link-list": "Enlace a esta lista",
"list-delete-pop": "Todas las acciones van a ser eliminadas del agregador de actividad y no podás recuperar la lista. No se puede deshacer.",
@@ -786,5 +796,12 @@
"thursday": "Thursday",
"friday": "Friday",
"saturday": "Saturday",
- "sunday": "Sunday"
+ "sunday": "Sunday",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/es.i18n.json b/i18n/es.i18n.json
index e84f98c1..dbc8bbd8 100644
--- a/i18n/es.i18n.json
+++ b/i18n/es.i18n.json
@@ -309,6 +309,7 @@
"error-board-notAMember": "Es necesario ser miembro de este tablero para hacer eso",
"error-json-malformed": "El texto no es un JSON válido",
"error-json-schema": "Sus datos JSON no incluyen la información apropiada en el formato correcto",
+ "error-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) does not include the proper information in the correct format",
"error-list-doesNotExist": "La lista no existe",
"error-user-doesNotExist": "El usuario no existe",
"error-user-notAllowSelf": "No puedes invitarte a ti mismo",
@@ -316,6 +317,10 @@
"error-username-taken": "Este nombre de usuario ya está en uso",
"error-email-taken": "Esta dirección de correo ya está en uso",
"export-board": "Exportar el tablero",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "Exportar el tablero",
"sort": "Ordenar",
"sort-desc": "Click para ordenar la lista",
"list-sort-by": "Ordenar la lista por:",
@@ -351,12 +356,16 @@
"import-board-c": "Importar un tablero",
"import-board-title-trello": "Importar un tablero desde Trello",
"import-board-title-wekan": "Importar tablero desde una exportación previa",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "Desde Trello",
"from-wekan": "Desde exportación previa",
+ "from-csv": "From CSV/TSV",
"import-board-instruction-trello": "En tu tablero de Trello, ve a 'Menú', luego 'Más' > 'Imprimir y exportar' > 'Exportar JSON', y copia el texto resultante.",
+ "import-board-instruction-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "En tu tablero, vete a 'Menú', luego 'Exportar tablero', y copia el texto en el archivo descargado.",
"import-board-instruction-about-errors": "Aunque obtengas errores cuando importes el tablero, a veces la importación funciona igualmente, y el tablero se encontrará en la página de tableros.",
"import-json-placeholder": "Pega tus datos JSON válidos aquí",
+ "import-csv-placeholder": "Paste your valid CSV/TSV data here",
"import-map-members": "Mapa de miembros",
"import-members-map": "Tu tablero importado tiene algunos miembros. Por favor, mapea los miembros que quieres importar con tus usuarios.",
"import-show-user-mapping": "Revisión de la asignación de miembros",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "Acciones del carril de flujo",
"swimlaneAddPopup-title": "Añadir un carril de flujo debajo",
"listImportCardPopup-title": "Importar una tarjeta de Trello",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"listMorePopup-title": "Más",
"link-list": "Enlazar a esta lista",
"list-delete-pop": "Todas las acciones serán eliminadas del historial de actividades y no se podrá recuperar la lista. Esta acción no puede deshacerse.",
@@ -786,5 +796,12 @@
"thursday": "Jueves",
"friday": "Viernes",
"saturday": "Sábado",
- "sunday": "Domingo"
+ "sunday": "Domingo",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/eu.i18n.json b/i18n/eu.i18n.json
index 82ef2da9..49c681eb 100644
--- a/i18n/eu.i18n.json
+++ b/i18n/eu.i18n.json
@@ -309,6 +309,7 @@
"error-board-notAMember": "Arbel honetako kidea izan behar zara hori egin ahal izateko",
"error-json-malformed": "Zure testua ez da baliozko JSON",
"error-json-schema": "Zure JSON datuek ez dute formatu zuzenaren informazio egokia",
+ "error-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) does not include the proper information in the correct format",
"error-list-doesNotExist": "Zerrenda hau ez da existitzen",
"error-user-doesNotExist": "Erabiltzaile hau ez da existitzen",
"error-user-notAllowSelf": "Ezin duzu zure burua gonbidatu",
@@ -316,6 +317,10 @@
"error-username-taken": "Erabiltzaile-izen hori hartuta dago",
"error-email-taken": "E-mail hori hartuta dago",
"export-board": "Esportatu arbela",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "Esportatu arbela",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -351,12 +356,16 @@
"import-board-c": "Inportatu arbela",
"import-board-title-trello": "Inportatu arbela Trellotik",
"import-board-title-wekan": "Import board from previous export",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "Trellotik",
"from-wekan": "From previous export",
+ "from-csv": "From CSV/TSV",
"import-board-instruction-trello": "Zure Trello arbelean, aukeratu 'Menu\", 'More', 'Print and Export', 'Export JSON', eta kopiatu jasotako testua hemen.",
+ "import-board-instruction-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "In your board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Isatsi baliozko JSON datuak hemen",
+ "import-csv-placeholder": "Paste your valid CSV/TSV data here",
"import-map-members": "Kideen mapa",
"import-members-map": "Your imported board has some members. Please map the members you want to import to your users",
"import-show-user-mapping": "Berrikusi kideen mapa",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Inportatu Trello txartel bat",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"listMorePopup-title": "Gehiago",
"link-list": "Lotura zerrenda honetara",
"list-delete-pop": "Ekintza guztiak ekintza jariotik kenduko dira eta ezin izango duzu zerrenda berreskuratu. Ez dago desegiterik.",
@@ -786,5 +796,12 @@
"thursday": "Thursday",
"friday": "Friday",
"saturday": "Saturday",
- "sunday": "Sunday"
+ "sunday": "Sunday",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/fa.i18n.json b/i18n/fa.i18n.json
index bd50b8f1..00575d99 100644
--- a/i18n/fa.i18n.json
+++ b/i18n/fa.i18n.json
@@ -309,6 +309,7 @@
"error-board-notAMember": "شما برای انجام آن، باید عضو این برد باشید",
"error-json-malformed": "متن درغالب صحیح Json نمی باشد.",
"error-json-schema": "داده های Json شما، شامل اطلاعات صحیح در غالب درستی نمی باشد.",
+ "error-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) does not include the proper information in the correct format",
"error-list-doesNotExist": "این لیست موجود نیست",
"error-user-doesNotExist": "این کاربر وجود ندارد",
"error-user-notAllowSelf": "عدم امکان دعوت خود",
@@ -316,6 +317,10 @@
"error-username-taken": "این نام کاربری استفاده شده است",
"error-email-taken": "رایانامه توسط گیرنده دریافت شده است",
"export-board": "انتقال به بیرون برد",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "انتقال به بیرون برد",
"sort": "مرتب سازی",
"sort-desc": "برای مرتب سازی لیست کلیک کنید",
"list-sort-by": "مرتب سازی لیست بر اساس:",
@@ -351,12 +356,16 @@
"import-board-c": "وارد کردن برد",
"import-board-title-trello": "وارد کردن برد از Trello",
"import-board-title-wekan": "بارگذاری برد ها از آخرین خروجی",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "از Trello",
"from-wekan": "از آخرین خروجی",
+ "from-csv": "From CSV/TSV",
"import-board-instruction-trello": "در Trello-ی خود به 'Menu'، 'More'، 'Print'، 'Export to JSON رفته و متن نهایی را دراینجا وارد نمایید.",
+ "import-board-instruction-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "در هیئت مدیره خود، به 'Menu' بروید، سپس 'Export Board'، و متن را در فایل دانلود شده کپی کنید.",
"import-board-instruction-about-errors": "اگر هنگام بازگردانی با خطا مواجه شدید بعضی اوقات بازگردانی انجام می شود و تمامی برد ها در داخل صفحه All Boards هستند",
"import-json-placeholder": "اطلاعات Json معتبر خود را اینجا وارد کنید.",
+ "import-csv-placeholder": "Paste your valid CSV/TSV data here",
"import-map-members": "نگاشت اعضا",
"import-members-map": "برد ها بازگردانده شده تعدادی کاربر دارند . لطفا کاربر های که می خواهید را انتخاب نمایید",
"import-show-user-mapping": "بررسی نقشه کاربران",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "اضافه کردن مسیر شناور",
"listImportCardPopup-title": "وارد کردن کارت Trello",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"listMorePopup-title": "بیشتر",
"link-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.",
@@ -786,5 +796,12 @@
"thursday": "پنجشنبه",
"friday": "جمعه",
"saturday": "شنبه",
- "sunday": "یکشنبه"
+ "sunday": "یکشنبه",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/fi.i18n.json b/i18n/fi.i18n.json
index 31b294c1..e4ab5a5e 100644
--- a/i18n/fi.i18n.json
+++ b/i18n/fi.i18n.json
@@ -309,6 +309,7 @@
"error-board-notAMember": "Tehdäksesi tämän sinun täytyy olla tämän taulun jäsen",
"error-json-malformed": "Tekstisi ei ole kelvollisessa JSON-muodossa",
"error-json-schema": "JSON-tietosi ei sisällä oikeaa tietoa oikeassa muodossa",
+ "error-csv-schema": "CSV tietosi (pilkulla erotetut arvot)/TSV (tabilla erotetut arvot) ei sisällä oikeaa tietoa oikeassa muodossa",
"error-list-doesNotExist": "Tätä listaa ei ole olemassa",
"error-user-doesNotExist": "Tätä käyttäjää ei ole olemassa",
"error-user-notAllowSelf": "Et voi kutsua itseäsi",
@@ -316,6 +317,10 @@
"error-username-taken": "Tämä käyttäjätunnus on jo käytössä",
"error-email-taken": "Sähköpostiosoite on jo käytössä",
"export-board": "Vie taulu",
+ "export-board-json": "Vie taulu JSON",
+ "export-board-csv": "Vie taulu CSV",
+ "export-board-tsv": "Vie taulu TSV",
+ "exportBoardPopup-title": "Vie taulu",
"sort": "Lajittele",
"sort-desc": "Klikkaa lajitellaksesi listan",
"list-sort-by": "Lajittele lista:",
@@ -351,12 +356,16 @@
"import-board-c": "Tuo taulu",
"import-board-title-trello": "Tuo taulu Trellosta",
"import-board-title-wekan": "Tuo taulu edellisestä viennistä",
+ "import-board-title-csv": "Tuo taulu CSV/TSV",
"from-trello": "Trellosta",
"from-wekan": "Edellisestä viennistä",
+ "from-csv": "CSV/TSV muodosta",
"import-board-instruction-trello": "Mene Trello-taulullasi 'Menu', sitten 'More', 'Print and Export', 'Export JSON', ja kopioi tuloksena saamasi teksti",
+ "import-board-instruction-csv": "Liitä pilkulla erotellut arvot (CSV)/ tabilla erotetut arvot (TSV).",
"import-board-instruction-wekan": "Taulullasi, mene 'Valikko', sitten 'Vie taulu', ja kopioi teksti ladatusta tiedostosta.",
"import-board-instruction-about-errors": "Jos virheitä tulee taulua tuotaessa, joskus tuonti silti toimii, ja taulu on Kaikki taulut sivulla.",
"import-json-placeholder": "Liitä kelvollinen JSON-tietosi tähän",
+ "import-csv-placeholder": "Liitä kelvollinen CSV/TSV tietosi tähän",
"import-map-members": "Vastaavat jäsenet",
"import-members-map": "Tuomallasi taululla on muutamia jäseniä. Ole hyvä ja valitse tuomiasi jäseniä vastaavat käyttäjäsi",
"import-show-user-mapping": "Tarkasta vastaavat jäsenet",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "Swimlane-toimet",
"swimlaneAddPopup-title": "Lisää Swimlane alle",
"listImportCardPopup-title": "Tuo Trello-kortti",
+ "listImportCardsTsvPopup-title": "Tuo Excel CSV/TSV",
"listMorePopup-title": "Lisää",
"link-list": "Linkki tähän listaan",
"list-delete-pop": "Kaikki toimet poistetaan toimintasyötteestä ja listan poistaminen on lopullista. Tätä ei pysty peruuttamaan.",
@@ -786,5 +796,12 @@
"thursday": "Torstai",
"friday": "Perjantai",
"saturday": "Lauantai",
- "sunday": "Sunnuntai"
+ "sunday": "Sunnuntai",
+ "status": "Tilanne",
+ "swimlane": "Swimlane",
+ "owner": "Omistaja",
+ "last-modified-at": "Viimeksi muokattu",
+ "last-activity": "Viimeisin toiminta",
+ "voting": "Äänestys",
+ "archived": "Arkistoitu"
}
diff --git a/i18n/fr.i18n.json b/i18n/fr.i18n.json
index 554aa6ae..dd51ff43 100644
--- a/i18n/fr.i18n.json
+++ b/i18n/fr.i18n.json
@@ -309,6 +309,7 @@
"error-board-notAMember": "Vous devez être participant de ce tableau pour faire cela",
"error-json-malformed": "Votre texte JSON n'est pas valide",
"error-json-schema": "Vos données JSON ne contiennent pas l'information appropriée dans un format correct",
+ "error-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) does not include the proper information in the correct format",
"error-list-doesNotExist": "Cette liste n'existe pas",
"error-user-doesNotExist": "Cet utilisateur n'existe pas",
"error-user-notAllowSelf": "Vous ne pouvez pas vous inviter vous-même",
@@ -316,6 +317,10 @@
"error-username-taken": "Ce nom d'utilisateur est déjà utilisé",
"error-email-taken": "Cette adresse mail est déjà utilisée",
"export-board": "Exporter le tableau",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "Exporter le tableau",
"sort": "Tri",
"sort-desc": "Cliquez pour trier la liste",
"list-sort-by": "Trier la liste par:",
@@ -351,12 +356,16 @@
"import-board-c": "Importer un tableau",
"import-board-title-trello": "Importer un tableau depuis Trello",
"import-board-title-wekan": "Importer un tableau depuis un export précédent",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "Depuis Trello",
"from-wekan": "Depuis un export précédent",
+ "from-csv": "From CSV/TSV",
"import-board-instruction-trello": "Dans votre tableau Trello, allez sur 'Menu', puis sur 'Plus', 'Imprimer et exporter', 'Exporter en JSON' et copiez le texte du résultat",
+ "import-board-instruction-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "Dans votre tableau, allez dans 'Menu', puis 'Exporter un tableau', et copier le texte du fichier téléchargé.",
"import-board-instruction-about-errors": "Si une erreur survient en important le tableau, il se peut que l'import ait fonctionné, et que le tableau se trouve sur la page \"Tous les tableaux\".",
"import-json-placeholder": "Collez ici les données JSON valides",
+ "import-csv-placeholder": "Paste your valid CSV/TSV data here",
"import-map-members": "Assigner des participants",
"import-members-map": "Le tableau que vous venez d'importer contient des participants. Veuillez assigner les participants que vous souhaitez importer à vos utilisateurs.",
"import-show-user-mapping": "Contrôler l'assignation des participants",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "Actions du couloir",
"swimlaneAddPopup-title": "Ajouter un couloir en dessous",
"listImportCardPopup-title": "Importer une carte Trello",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"listMorePopup-title": "Plus",
"link-list": "Lien vers cette liste",
"list-delete-pop": "Toutes les actions seront supprimées du fil d'activité et il ne sera plus possible de les récupérer. Cette action est irréversible.",
@@ -786,5 +796,12 @@
"thursday": "Jeudi",
"friday": "Vendredi",
"saturday": "Samedi",
- "sunday": "Dimanche"
+ "sunday": "Dimanche",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/gl.i18n.json b/i18n/gl.i18n.json
index 3badd7dd..905bc5df 100644
--- a/i18n/gl.i18n.json
+++ b/i18n/gl.i18n.json
@@ -309,6 +309,7 @@
"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-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) does not include the proper information in the correct format",
"error-list-doesNotExist": "Esta lista non existe",
"error-user-doesNotExist": "Este usuario non existe",
"error-user-notAllowSelf": "Non é posíbel convidarse a un mesmo",
@@ -316,6 +317,10 @@
"error-username-taken": "Este nome de usuario xa está collido",
"error-email-taken": "Email has already been taken",
"export-board": "Exportar taboleiro",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "Exportar taboleiro",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -351,12 +356,16 @@
"import-board-c": "Importar taboleiro",
"import-board-title-trello": "Importar taboleiro de Trello",
"import-board-title-wekan": "Import board from previous export",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "De Trello",
"from-wekan": "From previous export",
+ "from-csv": "From CSV/TSV",
"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-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "In your board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Paste your valid JSON data here",
+ "import-csv-placeholder": "Paste your valid CSV/TSV 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 your users",
"import-show-user-mapping": "Review members mapping",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Import a Trello card",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"listMorePopup-title": "Máis",
"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.",
@@ -786,5 +796,12 @@
"thursday": "Thursday",
"friday": "Friday",
"saturday": "Saturday",
- "sunday": "Sunday"
+ "sunday": "Sunday",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/he.i18n.json b/i18n/he.i18n.json
index fc2d38ae..89c16d3c 100644
--- a/i18n/he.i18n.json
+++ b/i18n/he.i18n.json
@@ -309,6 +309,7 @@
"error-board-notAMember": "עליך לקבל חברות בלוח זה כדי לעשות זאת",
"error-json-malformed": "הטקסט שלך אינו JSON תקין",
"error-json-schema": "נתוני ה־JSON שלך לא כוללים את המידע הנכון בתבנית הנכונה",
+ "error-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) does not include the proper information in the correct format",
"error-list-doesNotExist": "רשימה זו לא קיימת",
"error-user-doesNotExist": "משתמש זה לא קיים",
"error-user-notAllowSelf": "אינך יכול להזמין את עצמך",
@@ -316,6 +317,10 @@
"error-username-taken": "המשתמש כבר קיים במערכת",
"error-email-taken": "כתובת הדוא״ל כבר נמצאת בשימוש",
"export-board": "ייצוא לוח",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "ייצוא לוח",
"sort": "מיון",
"sort-desc": "לחיצה למיון הרשימה",
"list-sort-by": "מיון הרשימה לפי:",
@@ -351,12 +356,16 @@
"import-board-c": "יבוא לוח",
"import-board-title-trello": "ייבוא לוח מטרלו",
"import-board-title-wekan": "ייבוא לוח מייצוא קודם",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "מ־Trello",
"from-wekan": "מייצוא קודם",
+ "from-csv": "From CSV/TSV",
"import-board-instruction-trello": "בלוח הטרלו שלך, עליך ללחוץ על ‚תפריט‘, ואז על ‚עוד‘, ‚הדפסה וייצוא‘, ‚יצוא JSON‘ ולהעתיק את הטקסט שנוצר.",
+ "import-board-instruction-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "בלוח שלך עליך לגשת אל ‚תפריט’, לאחר מכן ‚ייצוא לוח’ ואז להעתיק את הטקסט מהקובץ שהתקבל.",
"import-board-instruction-about-errors": "גם אם התקבלו שגיאות בעת יבוא לוח, ייתכן שהייבוא עבד. כדי לבדוק זאת, יש להיכנס ל„כל הלוחות”.",
"import-json-placeholder": "יש להדביק את נתוני ה־JSON התקינים לכאן",
+ "import-csv-placeholder": "Paste your valid CSV/TSV data here",
"import-map-members": "מיפוי חברים",
"import-members-map": "הלוחות המיובאים שלך מכילים חברים. נא למפות את החברים שברצונך לייבא למשתמשים שלך",
"import-show-user-mapping": "סקירת מיפוי חברים",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "פעולות על מסלול",
"swimlaneAddPopup-title": "הוספת מסלול מתחת",
"listImportCardPopup-title": "יבוא כרטיס מ־Trello",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"listMorePopup-title": "עוד",
"link-list": "קישור לרשימה זו",
"list-delete-pop": "כל הפעולות תוסרנה מרצף הפעילות ולא תהיה לך אפשרות לשחזר את הרשימה. אין ביטול.",
@@ -786,5 +796,12 @@
"thursday": "יום חמישי",
"friday": "יום שישי",
"saturday": "שבת",
- "sunday": "יום ראשון"
+ "sunday": "יום ראשון",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/hi.i18n.json b/i18n/hi.i18n.json
index 34a0c7ae..bf6e2f57 100644
--- a/i18n/hi.i18n.json
+++ b/i18n/hi.i18n.json
@@ -309,6 +309,7 @@
"error-board-notAMember": "You need तक be एक सदस्य of यह बोर्ड तक do that",
"error-json-malformed": "Your text is not valid JSON",
"error-json-schema": "आपके JSON डेटा में सही प्रारूप में सही जानकारी शामिल नहीं है",
+ "error-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) does not include the proper information in the correct format",
"error-list-doesNotExist": "यह सूची does not exist",
"error-user-doesNotExist": "यह user does not exist",
"error-user-notAllowSelf": "You can not invite yourself",
@@ -316,6 +317,10 @@
"error-username-taken": "यह username is already taken",
"error-email-taken": "Email has already been taken",
"export-board": "Export बोर्ड",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "Export बोर्ड",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -351,12 +356,16 @@
"import-board-c": "Import बोर्ड",
"import-board-title-trello": "Import बोर्ड से Trello",
"import-board-title-wekan": "Import board from previous export",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "From Trello",
"from-wekan": "From previous export",
+ "from-csv": "From CSV/TSV",
"import-board-instruction-trello": "In your Trello बोर्ड, go तक 'Menu', then 'More', 'Print और Export', 'Export JSON', और copy the resulting text.",
+ "import-board-instruction-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "In your board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Paste your valid JSON data here",
+ "import-csv-placeholder": "Paste your valid CSV/TSV data here",
"import-map-members": "Map सदस्य",
"import-members-map": "Your imported board has some members. Please map the members you want to import to your users",
"import-show-user-mapping": "Re आलोकन सदस्य mapping",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "तैरन Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Import एक Trello कार्ड",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"listMorePopup-title": "More",
"link-list": "Link तक यह list",
"list-delete-pop": "All actions हो जाएगा हटा दिया से the activity feed और you won't be able तक recover the list. There is no undo.",
@@ -786,5 +796,12 @@
"thursday": "Thursday",
"friday": "Friday",
"saturday": "Saturday",
- "sunday": "Sunday"
+ "sunday": "Sunday",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/hu.i18n.json b/i18n/hu.i18n.json
index 8a2821b2..8f587103 100644
--- a/i18n/hu.i18n.json
+++ b/i18n/hu.i18n.json
@@ -309,6 +309,7 @@
"error-board-notAMember": "A tábla tagjának kell lennie, hogy ezt megtehesse",
"error-json-malformed": "A szöveg nem érvényes JSON",
"error-json-schema": "A JSON adatok nem a helyes formátumban tartalmazzák a megfelelő információkat",
+ "error-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) does not include the proper information in the correct format",
"error-list-doesNotExist": "Ez a lista nem létezik",
"error-user-doesNotExist": "Ez a felhasználó nem létezik",
"error-user-notAllowSelf": "Nem hívhatja meg saját magát",
@@ -316,6 +317,10 @@
"error-username-taken": "Ez a felhasználónév már foglalt",
"error-email-taken": "Az e-mail már foglalt",
"export-board": "Tábla exportálása",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "Tábla exportálása",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -351,12 +356,16 @@
"import-board-c": "Tábla importálása",
"import-board-title-trello": "Tábla importálása a Trello oldalról",
"import-board-title-wekan": "Import board from previous export",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "A Trello oldalról",
"from-wekan": "From previous export",
+ "from-csv": "From CSV/TSV",
"import-board-instruction-trello": "A Trello tábláján menjen a „Menü”, majd a „Több”, „Nyomtatás és exportálás”, „JSON exportálása” menüpontokra, és másolja ki az eredményül kapott szöveget.",
+ "import-board-instruction-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "In your board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Illessze be ide az érvényes JSON adatokat",
+ "import-csv-placeholder": "Paste your valid CSV/TSV data here",
"import-map-members": "Tagok leképezése",
"import-members-map": "Your imported board has some members. Please map the members you want to import to your users",
"import-show-user-mapping": "Tagok leképezésének vizsgálata",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Trello kártya importálása",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"listMorePopup-title": "Több",
"link-list": "Összekapcsolás ezzel a listával",
"list-delete-pop": "Az összes művelet el lesz távolítva a tevékenységlistából, és nem lesz lehetősége visszaállítani a listát. Nincs visszavonás.",
@@ -786,5 +796,12 @@
"thursday": "Thursday",
"friday": "Friday",
"saturday": "Saturday",
- "sunday": "Sunday"
+ "sunday": "Sunday",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/hy.i18n.json b/i18n/hy.i18n.json
index 983c7110..2bd3dd45 100644
--- a/i18n/hy.i18n.json
+++ b/i18n/hy.i18n.json
@@ -309,6 +309,7 @@
"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-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) 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",
@@ -316,6 +317,10 @@
"error-username-taken": "This username is already taken",
"error-email-taken": "Email has already been taken",
"export-board": "Export board",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "Export board",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -351,12 +356,16 @@
"import-board-c": "Import board",
"import-board-title-trello": "Import board from Trello",
"import-board-title-wekan": "Import board from previous export",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "From Trello",
"from-wekan": "From previous export",
+ "from-csv": "From CSV/TSV",
"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-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "In your board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Paste your valid JSON data here",
+ "import-csv-placeholder": "Paste your valid CSV/TSV 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 your users",
"import-show-user-mapping": "Review members mapping",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Import a Trello card",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"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.",
@@ -786,5 +796,12 @@
"thursday": "Thursday",
"friday": "Friday",
"saturday": "Saturday",
- "sunday": "Sunday"
+ "sunday": "Sunday",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/id.i18n.json b/i18n/id.i18n.json
index 3d2581fa..62968cbf 100644
--- a/i18n/id.i18n.json
+++ b/i18n/id.i18n.json
@@ -309,6 +309,7 @@
"error-board-notAMember": "Anda harus jadi member panel ini untuk melakukannya",
"error-json-malformed": "Teks Anda bukan JSON yang sah",
"error-json-schema": "Data JSON Anda tidak mengikutsertakan informasi yang sesuai format",
+ "error-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) does not include the proper information in the correct format",
"error-list-doesNotExist": "Daftar ini tidak ada",
"error-user-doesNotExist": "Nama pengguna ini tidak ada",
"error-user-notAllowSelf": "Anda tidak bisa mengundang diri sendiri",
@@ -316,6 +317,10 @@
"error-username-taken": "Nama pengguna ini sudah dipakai",
"error-email-taken": "Email has already been taken",
"export-board": "Exspor Panel",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "Exspor Panel",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -351,12 +356,16 @@
"import-board-c": "Import board",
"import-board-title-trello": "Impor panel dari Trello",
"import-board-title-wekan": "Import board from previous export",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "From Trello",
"from-wekan": "From previous export",
+ "from-csv": "From CSV/TSV",
"import-board-instruction-trello": "Di panel Trello anda, ke 'Menu', terus 'More', 'Print and Export','Export JSON', dan salin hasilnya",
+ "import-board-instruction-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "In your board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Tempelkan data JSON yang sah disini",
+ "import-csv-placeholder": "Paste your valid CSV/TSV data here",
"import-map-members": "Petakan partisipan",
"import-members-map": "Your imported board has some members. Please map the members you want to import to your users",
"import-show-user-mapping": "Review pemetaan partisipan",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Impor dari Kartu Trello",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"listMorePopup-title": "Lainnya",
"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.",
@@ -786,5 +796,12 @@
"thursday": "Thursday",
"friday": "Friday",
"saturday": "Saturday",
- "sunday": "Sunday"
+ "sunday": "Sunday",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/ig.i18n.json b/i18n/ig.i18n.json
index c16115ee..169953b7 100644
--- a/i18n/ig.i18n.json
+++ b/i18n/ig.i18n.json
@@ -309,6 +309,7 @@
"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-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) 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",
@@ -316,6 +317,10 @@
"error-username-taken": "This username is already taken",
"error-email-taken": "Email has already been taken",
"export-board": "Export board",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "Export board",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -351,12 +356,16 @@
"import-board-c": "Import board",
"import-board-title-trello": "Import board from Trello",
"import-board-title-wekan": "Import board from previous export",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "From Trello",
"from-wekan": "From previous export",
+ "from-csv": "From CSV/TSV",
"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-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "In your board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Paste your valid JSON data here",
+ "import-csv-placeholder": "Paste your valid CSV/TSV 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 your users",
"import-show-user-mapping": "Review members mapping",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Import a Trello card",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"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.",
@@ -786,5 +796,12 @@
"thursday": "Thursday",
"friday": "Friday",
"saturday": "Saturday",
- "sunday": "Sunday"
+ "sunday": "Sunday",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/it.i18n.json b/i18n/it.i18n.json
index d5b510ae..e954e284 100644
--- a/i18n/it.i18n.json
+++ b/i18n/it.i18n.json
@@ -309,6 +309,7 @@
"error-board-notAMember": "Devi essere un membro di questa bacheca per poterlo fare",
"error-json-malformed": "Il tuo testo non è un JSON valido",
"error-json-schema": "Il tuo file JSON non contiene le giuste informazioni nel formato corretto",
+ "error-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) does not include the proper information in the correct format",
"error-list-doesNotExist": "Questa lista non esiste",
"error-user-doesNotExist": "Questo utente non esiste",
"error-user-notAllowSelf": "Non puoi invitare te stesso",
@@ -316,6 +317,10 @@
"error-username-taken": "Questo username è già utilizzato",
"error-email-taken": "L'email è già stata presa",
"export-board": "Esporta bacheca",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "Esporta bacheca",
"sort": "Ordina",
"sort-desc": "Clicca per ordinare la lista",
"list-sort-by": "Ordina la lista per:",
@@ -351,12 +356,16 @@
"import-board-c": "Importa bacheca",
"import-board-title-trello": "Importa una bacheca da Trello",
"import-board-title-wekan": "Importa bacheca dall'esportazione precedente",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "Da Trello",
"from-wekan": "Dall'esportazione precedente",
+ "from-csv": "From CSV/TSV",
"import-board-instruction-trello": "Nella tua bacheca Trello vai a 'Menu', poi 'Altro', 'Stampa ed esporta', 'Esporta JSON', e copia il testo che compare.",
+ "import-board-instruction-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "Nella tua bacheca vai su \"Menu\", poi \"Esporta la bacheca\", e copia il testo nel file scaricato",
"import-board-instruction-about-errors": "Se hai degli errori quando importi una bacheca, qualche volta l'importazione funziona comunque, e la bacheca si trova nella pagina \"Tutte le bacheche\"",
"import-json-placeholder": "Incolla un JSON valido qui",
+ "import-csv-placeholder": "Paste your valid CSV/TSV data here",
"import-map-members": "Mappatura dei membri",
"import-members-map": "La bacheca che hai importato contiene alcuni membri. Per favore scegli i membri che vuoi importare tra i tuoi utenti",
"import-show-user-mapping": "Rivedi la mappatura dei membri",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "Azioni diagramma Swimlane",
"swimlaneAddPopup-title": "Aggiungi un diagramma Swimlane di seguito",
"listImportCardPopup-title": "Importa una scheda di Trello",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"listMorePopup-title": "Altro",
"link-list": "Link a questa lista",
"list-delete-pop": "Tutte le azioni saranno rimosse dal flusso attività e non sarai in grado di recuperare la lista. Non potrai tornare indietro.",
@@ -786,5 +796,12 @@
"thursday": "Giovedi",
"friday": "Venerdi",
"saturday": "Sabato",
- "sunday": "Domenica"
+ "sunday": "Domenica",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/ja.i18n.json b/i18n/ja.i18n.json
index 5c305b31..6f0f8e00 100644
--- a/i18n/ja.i18n.json
+++ b/i18n/ja.i18n.json
@@ -309,6 +309,7 @@
"error-board-notAMember": "操作にはボードメンバーである必要があります",
"error-json-malformed": "このテキストは、有効なJSON形式ではありません",
"error-json-schema": "JSONデータが不正な値を含んでいます",
+ "error-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) does not include the proper information in the correct format",
"error-list-doesNotExist": "このリストは存在しません",
"error-user-doesNotExist": "ユーザーが存在しません",
"error-user-notAllowSelf": "自分を招待することはできません。",
@@ -316,6 +317,10 @@
"error-username-taken": "このユーザ名は既に使用されています",
"error-email-taken": "メールは既に受け取られています",
"export-board": "ボードのエクスポート",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "ボードのエクスポート",
"sort": "並べ替え",
"sort-desc": "クリックでリストをソート",
"list-sort-by": "次によりリストを並べ替え:",
@@ -351,12 +356,16 @@
"import-board-c": "ボードをインポート",
"import-board-title-trello": "Trelloからボードをインポート",
"import-board-title-wekan": "以前のエクスポートからボードをインポート",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "Trelloから",
"from-wekan": "以前のエクスポートから",
+ "from-csv": "From CSV/TSV",
"import-board-instruction-trello": "Trelloボードの、 'Menu' → 'More' → 'Print and Export' → 'Export JSON'を選択し、テキストをコピーしてください。",
+ "import-board-instruction-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "ボードの、 'メニュー' → 'ボードのエクスポート'を選択し、ダウンロードされたファイルの中のテキストをコピーしてください。",
"import-board-instruction-about-errors": "ボードのインポート中にエラーが発生した場合、インポートがまだ進行中のまま、全てのボードページに表示されている場合があります。",
"import-json-placeholder": "JSONデータをここに貼り付けする",
+ "import-csv-placeholder": "Paste your valid CSV/TSV data here",
"import-map-members": "メンバーを紐付け",
"import-members-map": "インポートしたボードにはいくつかのメンバーが含まれています。インポートしたいメンバーをユーザーにマッピングしてください",
"import-show-user-mapping": "メンバー紐付けの確認",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "スイムレーン操作",
"swimlaneAddPopup-title": "直下にスイムレーンを追加",
"listImportCardPopup-title": "Trelloのカードをインポート",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"listMorePopup-title": "さらに見る",
"link-list": "このリストへのリンク",
"list-delete-pop": "すべての内容がアクティビティから削除されます。この削除は元に戻すことができません。",
@@ -786,5 +796,12 @@
"thursday": "木曜",
"friday": "金曜",
"saturday": "土曜",
- "sunday": "日曜"
+ "sunday": "日曜",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/ka.i18n.json b/i18n/ka.i18n.json
index c8c2eaf9..e90ce108 100644
--- a/i18n/ka.i18n.json
+++ b/i18n/ka.i18n.json
@@ -309,6 +309,7 @@
"error-board-notAMember": "ამის გასაკეთებლად საჭიროა იყოთ დაფის წევრი",
"error-json-malformed": "შენი ტექსტი არ არის ვალიდური JSON",
"error-json-schema": "თქვენი JSON მონაცემები არ შეიცავს ზუსტ ინფორმაციას სწორ ფორმატში ",
+ "error-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) does not include the proper information in the correct format",
"error-list-doesNotExist": "ეს ცხრილი არ არსებობს",
"error-user-doesNotExist": "მსგავსი მომხმარებელი არ არსებობს",
"error-user-notAllowSelf": "თქვენ არ შეგიძლიათ საკუთარი თავის მოწვევა",
@@ -316,6 +317,10 @@
"error-username-taken": "არსებობს მსგავსი მომხმარებელი",
"error-email-taken": "უკვე არსებობს მსგავსი ელ.ფოსტა",
"export-board": "დაფის ექსპორტი",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "დაფის ექსპორტი",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -351,12 +356,16 @@
"import-board-c": "დაფის იმპორტი",
"import-board-title-trello": "დაფის იმპორტი Trello-დან",
"import-board-title-wekan": "Import board from previous export",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "Trello-დან",
"from-wekan": "From previous export",
+ "from-csv": "From CSV/TSV",
"import-board-instruction-trello": "თქვენს Trello დაფაზე, შედით \"მენიუ\"-ში, შემდეგ დააკლიკეთ \"მეტი\", \"ამოპრინტერება და ექსპორტი\", \"JSON-ის ექსპორტი\" და დააკოპირეთ შედეგი. ",
+ "import-board-instruction-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "In your board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "მოათავსეთ თქვენი ვალიდური JSON მონაცემები აქ. ",
+ "import-csv-placeholder": "Paste your valid CSV/TSV data here",
"import-map-members": "რუკის წევრები",
"import-members-map": "Your imported board has some members. Please map the members you want to import to your users",
"import-show-user-mapping": "მომხმარებლის რუკების განხილვა",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "ბილიკის მოქმედებები",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Trello ბარათის იმპორტი",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"listMorePopup-title": "მეტი",
"link-list": "დააკავშირეთ ამ ჩამონათვალთან",
"list-delete-pop": "ყველა მოქმედება წაიშლება აქტივობების ველიდან და თქვენ ვეღარ შეძლებთ მის აღდგენას ჩამონათვალში",
@@ -786,5 +796,12 @@
"thursday": "Thursday",
"friday": "Friday",
"saturday": "Saturday",
- "sunday": "Sunday"
+ "sunday": "Sunday",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/km.i18n.json b/i18n/km.i18n.json
index 80eeb598..e1480c7d 100644
--- a/i18n/km.i18n.json
+++ b/i18n/km.i18n.json
@@ -309,6 +309,7 @@
"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-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) 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",
@@ -316,6 +317,10 @@
"error-username-taken": "This username is already taken",
"error-email-taken": "Email has already been taken",
"export-board": "Export board",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "Export board",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -351,12 +356,16 @@
"import-board-c": "Import board",
"import-board-title-trello": "Import board from Trello",
"import-board-title-wekan": "Import board from previous export",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "From Trello",
"from-wekan": "From previous export",
+ "from-csv": "From CSV/TSV",
"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-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "In your board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Paste your valid JSON data here",
+ "import-csv-placeholder": "Paste your valid CSV/TSV 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 your users",
"import-show-user-mapping": "Review members mapping",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Import a Trello card",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"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.",
@@ -786,5 +796,12 @@
"thursday": "Thursday",
"friday": "Friday",
"saturday": "Saturday",
- "sunday": "Sunday"
+ "sunday": "Sunday",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/ko.i18n.json b/i18n/ko.i18n.json
index 17066e44..4176e592 100644
--- a/i18n/ko.i18n.json
+++ b/i18n/ko.i18n.json
@@ -309,6 +309,7 @@
"error-board-notAMember": "이 작업은 보드의 멤버만 실행할 수 있습니다.",
"error-json-malformed": "텍스트가 JSON 형식에 유효하지 않습니다.",
"error-json-schema": "JSON 데이터에 정보가 올바른 형식으로 포함되어 있지 않습니다.",
+ "error-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) does not include the proper information in the correct format",
"error-list-doesNotExist": "목록이 없습니다.",
"error-user-doesNotExist": "멤버의 정보가 없습니다.",
"error-user-notAllowSelf": "자기 자신을 초대할 수 없습니다.",
@@ -316,6 +317,10 @@
"error-username-taken": "중복된 아이디 입니다.",
"error-email-taken": "Email has already been taken",
"export-board": "보드 내보내기",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "보드 내보내기",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -351,12 +356,16 @@
"import-board-c": "보드 가져오기",
"import-board-title-trello": "Trello에서 보드 가져오기",
"import-board-title-wekan": "Import board from previous export",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "From Trello",
"from-wekan": "From previous export",
+ "from-csv": "From CSV/TSV",
"import-board-instruction-trello": "Trello 게시판에서 'Menu' -> 'More' -> 'Print and Export', 'Export JSON' 선택하여 텍스트 결과값 복사",
+ "import-board-instruction-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "In your board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "유효한 JSON 데이터를 여기에 붙여 넣으십시오.",
+ "import-csv-placeholder": "Paste your valid CSV/TSV data here",
"import-map-members": "보드 멤버들",
"import-members-map": "Your imported board has some members. Please map the members you want to import to your users",
"import-show-user-mapping": "멤버 매핑 미리보기",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Trello 카드 가져 오기",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"listMorePopup-title": "더보기",
"link-list": "이 리스트에 링크",
"list-delete-pop": "모든 작업이 활동내역에서 제거되며 리스트를 복구 할 수 없습니다. 실행 취소는 불가능 합니다.",
@@ -786,5 +796,12 @@
"thursday": "Thursday",
"friday": "Friday",
"saturday": "Saturday",
- "sunday": "Sunday"
+ "sunday": "Sunday",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/lv.i18n.json b/i18n/lv.i18n.json
index 669dc605..1ac67898 100644
--- a/i18n/lv.i18n.json
+++ b/i18n/lv.i18n.json
@@ -309,6 +309,7 @@
"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-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) 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",
@@ -316,6 +317,10 @@
"error-username-taken": "This username is already taken",
"error-email-taken": "Email has already been taken",
"export-board": "Export board",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "Export board",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -351,12 +356,16 @@
"import-board-c": "Import board",
"import-board-title-trello": "Import board from Trello",
"import-board-title-wekan": "Import board from previous export",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "From Trello",
"from-wekan": "From previous export",
+ "from-csv": "From CSV/TSV",
"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-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "In your board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Paste your valid JSON data here",
+ "import-csv-placeholder": "Paste your valid CSV/TSV 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 your users",
"import-show-user-mapping": "Review members mapping",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Import a Trello card",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"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.",
@@ -786,5 +796,12 @@
"thursday": "Thursday",
"friday": "Friday",
"saturday": "Saturday",
- "sunday": "Sunday"
+ "sunday": "Sunday",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/mk.i18n.json b/i18n/mk.i18n.json
index 0f2dd63e..ed33c299 100644
--- a/i18n/mk.i18n.json
+++ b/i18n/mk.i18n.json
@@ -309,6 +309,7 @@
"error-board-notAMember": "За да направите това трябва да сте член на това табло",
"error-json-malformed": "Текстът Ви не е валиден JSON",
"error-json-schema": "JSON информацията Ви не съдържа информация във валиден формат",
+ "error-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) does not include the proper information in the correct format",
"error-list-doesNotExist": "Този списък не съществува",
"error-user-doesNotExist": "Този потребител не съществува",
"error-user-notAllowSelf": "Не можете да поканите себе си",
@@ -316,6 +317,10 @@
"error-username-taken": "Това потребителско име е вече заето",
"error-email-taken": "Имейлът е вече зает",
"export-board": "Експортиране на Табло",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "Експортиране на Табло",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -351,12 +356,16 @@
"import-board-c": "Импортирай Табло",
"import-board-title-trello": "Импорт на табло от Trello",
"import-board-title-wekan": "Import board from previous export",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "От Trello",
"from-wekan": "From previous export",
+ "from-csv": "From CSV/TSV",
"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-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "In your board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Копирайте валидната Ви JSON информация тук",
+ "import-csv-placeholder": "Paste your valid CSV/TSV 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 your users",
"import-show-user-mapping": "Review members mapping",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Импорт на карта от Trello",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"listMorePopup-title": "Още",
"link-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.",
@@ -786,5 +796,12 @@
"thursday": "Thursday",
"friday": "Friday",
"saturday": "Saturday",
- "sunday": "Sunday"
+ "sunday": "Sunday",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/mn.i18n.json b/i18n/mn.i18n.json
index 0bddd870..83459c9f 100644
--- a/i18n/mn.i18n.json
+++ b/i18n/mn.i18n.json
@@ -309,6 +309,7 @@
"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-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) 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",
@@ -316,6 +317,10 @@
"error-username-taken": "This username is already taken",
"error-email-taken": "Email has already been taken",
"export-board": "Export board",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "Export board",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -351,12 +356,16 @@
"import-board-c": "Import board",
"import-board-title-trello": "Import board from Trello",
"import-board-title-wekan": "Import board from previous export",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "From Trello",
"from-wekan": "From previous export",
+ "from-csv": "From CSV/TSV",
"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-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "In your board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Paste your valid JSON data here",
+ "import-csv-placeholder": "Paste your valid CSV/TSV 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 your users",
"import-show-user-mapping": "Review members mapping",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Import a Trello card",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"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.",
@@ -786,5 +796,12 @@
"thursday": "Thursday",
"friday": "Friday",
"saturday": "Saturday",
- "sunday": "Sunday"
+ "sunday": "Sunday",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/nb.i18n.json b/i18n/nb.i18n.json
index 418b31fc..035f2283 100644
--- a/i18n/nb.i18n.json
+++ b/i18n/nb.i18n.json
@@ -309,6 +309,7 @@
"error-board-notAMember": "Du må være medlem av denne tavlen for å gjøre dette",
"error-json-malformed": "Denne teksten er ikke gyldig JSON",
"error-json-schema": "Your JSON data does not include the proper information in the correct format",
+ "error-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) does not include the proper information in the correct format",
"error-list-doesNotExist": "Denne listen finnes ikke",
"error-user-doesNotExist": "This user does not exist",
"error-user-notAllowSelf": "You can not invite yourself",
@@ -316,6 +317,10 @@
"error-username-taken": "This username is already taken",
"error-email-taken": "Email has already been taken",
"export-board": "Export board",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "Export board",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -351,12 +356,16 @@
"import-board-c": "Import board",
"import-board-title-trello": "Import board from Trello",
"import-board-title-wekan": "Import board from previous export",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "From Trello",
"from-wekan": "From previous export",
+ "from-csv": "From CSV/TSV",
"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-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "In your board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Paste your valid JSON data here",
+ "import-csv-placeholder": "Paste your valid CSV/TSV 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 your users",
"import-show-user-mapping": "Review members mapping",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Import a Trello card",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"listMorePopup-title": "Mer",
"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.",
@@ -786,5 +796,12 @@
"thursday": "Thursday",
"friday": "Friday",
"saturday": "Saturday",
- "sunday": "Sunday"
+ "sunday": "Sunday",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/nl.i18n.json b/i18n/nl.i18n.json
index 04c18fd7..aec7a637 100644
--- a/i18n/nl.i18n.json
+++ b/i18n/nl.i18n.json
@@ -309,6 +309,7 @@
"error-board-notAMember": "Je moet een lid zijn van dit bord om dat te doen.",
"error-json-malformed": "JSON format klopt niet",
"error-json-schema": "De JSON data bevat niet de juiste informatie in de juiste format",
+ "error-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) does not include the proper information in the correct format",
"error-list-doesNotExist": "Deze lijst bestaat niet",
"error-user-doesNotExist": "Deze gebruiker bestaat niet",
"error-user-notAllowSelf": "Je kan jezelf niet uitnodigen",
@@ -316,6 +317,10 @@
"error-username-taken": "Deze gebruikersnaam is al in gebruik",
"error-email-taken": "Dit e-mailadres is al in gebruik",
"export-board": "Exporteer bord",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "Exporteer bord",
"sort": "Sorteer",
"sort-desc": "Klik om lijst te sorteren",
"list-sort-by": "Sorteer lijst op",
@@ -351,12 +356,16 @@
"import-board-c": "Importeer bord",
"import-board-title-trello": "Importeer bord vanuit Trello",
"import-board-title-wekan": "Importeer bord vanuit eerdere export",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "Vanuit Trello",
"from-wekan": "Vanuit eerdere export",
+ "from-csv": "From CSV/TSV",
"import-board-instruction-trello": "Op jouw Trello bord, ga naar 'Menu', dan naar 'Meer', 'Print en Exporteer', 'Exporteer JSON', en kopieer de tekst.",
+ "import-board-instruction-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "Ga op je bord naar 'Menu' en klik dan 'Export board' en kopieer de tekst in het gedownloade bestand.",
"import-board-instruction-about-errors": "Als je tijdens de import van het bord foutmeldingen krijgt is de import soms toch gelukt en vind je het bord terug op de 'Alle borden' scherm.",
"import-json-placeholder": "Plak geldige JSON data hier",
+ "import-csv-placeholder": "Paste your valid CSV/TSV data here",
"import-map-members": "Breng leden in kaart",
"import-members-map": "Je geïmporteerde bord heeft een aantal leden. Koppel de leden die je wilt importeren aan je gebruikers.",
"import-show-user-mapping": "Breng leden overzicht tevoorschijn",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "Swimlane handelingen",
"swimlaneAddPopup-title": "Voeg hieronder een Swimlane toe",
"listImportCardPopup-title": "Importeer een Trello kaart",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"listMorePopup-title": "Meer",
"link-list": "Link naar deze lijst",
"list-delete-pop": "Alle acties zullen verwijderd worden van de activiteiten feed, en je zult deze niet meer kunnen herstellen. Er is geen herstelmogelijkheid.",
@@ -786,5 +796,12 @@
"thursday": "Donderdag",
"friday": "Vrijdag",
"saturday": "Zaterdag",
- "sunday": "Zondag"
+ "sunday": "Zondag",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/oc.i18n.json b/i18n/oc.i18n.json
index aa46954f..223e63dd 100644
--- a/i18n/oc.i18n.json
+++ b/i18n/oc.i18n.json
@@ -309,6 +309,7 @@
"error-board-notAMember": "Devètz èsser un participant del tablèu per far aquò",
"error-json-malformed": "Vòstre tèxte es pas valid JSON",
"error-json-schema": "Vòstre JSON es pas al format correct ",
+ "error-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) does not include the proper information in the correct format",
"error-list-doesNotExist": "Aqueste tièra existís pas",
"error-user-doesNotExist": "Aqueste utilizator existís pas",
"error-user-notAllowSelf": "Vos podètz pas convidar vautres meteisses",
@@ -316,6 +317,10 @@
"error-username-taken": "Lo nom es ja pres",
"error-email-taken": "Lo corrièl es ja pres ",
"export-board": "Exportar lo tablèu",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "Exportar lo tablèu",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -351,12 +356,16 @@
"import-board-c": "Importar un tablèu",
"import-board-title-trello": "Importar un tablèu dempuèi Trello",
"import-board-title-wekan": "Importar un tablèu dempuèi un export passat",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "Dempuèi Trello",
"from-wekan": "Dempuèi un export passat",
+ "from-csv": "From CSV/TSV",
"import-board-instruction-trello": "Dins vòstre tablèu Trello, vos cal anar dins \"Menut\", puèi \"Mai\", \"Export\", \"Export JSON\", e copiar lo tèxte balhat.",
+ "import-board-instruction-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "Dins vòstre tablèu, vos cal anar dins \"Menut\", puèi \"Exportar lo tablèu\", e de copiar lo tèxte del fichièr telecargat.",
"import-board-instruction-about-errors": "Se avètz de errors al moment d'importar un tablèu, es possible que l'importacion as fonccionat, lo tablèu es belèu a la pagina \"Totes los tablèus\".",
"import-json-placeholder": "Pegar las donadas del fichièr JSON aicí",
+ "import-csv-placeholder": "Paste your valid CSV/TSV data here",
"import-map-members": "Mapa dels participants",
"import-members-map": "Lo tablèu qu'avètz importat as ja de participants, vos cal far la migracion amb los utilizators actual",
"import-show-user-mapping": "Review members mapping",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Importar una carta de Trello",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"listMorePopup-title": "Mai",
"link-list": "Ligam d'aquesta tièra",
"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.",
@@ -786,5 +796,12 @@
"thursday": "Thursday",
"friday": "Friday",
"saturday": "Saturday",
- "sunday": "Sunday"
+ "sunday": "Sunday",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/pl.i18n.json b/i18n/pl.i18n.json
index fd6281e8..ee1ed06e 100644
--- a/i18n/pl.i18n.json
+++ b/i18n/pl.i18n.json
@@ -309,6 +309,7 @@
"error-board-notAMember": "Musisz być członkiem tej tablicy, żeby wykonać tę czynność",
"error-json-malformed": "Twoja fraza nie jest w formacie JSON",
"error-json-schema": "Twoje dane JSON nie zawierają prawidłowych informacji w poprawnym formacie",
+ "error-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) does not include the proper information in the correct format",
"error-list-doesNotExist": "Ta lista nie isnieje",
"error-user-doesNotExist": "Ten użytkownik nie istnieje",
"error-user-notAllowSelf": "Nie możesz zaprosić samego siebie",
@@ -316,6 +317,10 @@
"error-username-taken": "Ta nazwa jest już zajęta",
"error-email-taken": "Adres email jest już zarezerwowany",
"export-board": "Eksportuj tablicę",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "Eksportuj tablicę",
"sort": "Sortuj",
"sort-desc": "Kliknij by sortować listę",
"list-sort-by": "Sortuj listę przez:",
@@ -351,12 +356,16 @@
"import-board-c": "Import tablicy",
"import-board-title-trello": "Importuj tablicę z Trello",
"import-board-title-wekan": "Importuj tablicę z poprzedniego eksportu",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "Z Trello",
"from-wekan": "Z poprzedniego eksportu",
+ "from-csv": "From CSV/TSV",
"import-board-instruction-trello": "W twojej tablicy na Trello przejdź do 'Menu', następnie 'Więcej', 'Drukuj i eksportuj', 'Eksportuj jako JSON' i skopiuj wynik",
+ "import-board-instruction-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "Na Twojej tablicy przejdź do 'Menu', a następnie wybierz 'Eksportuj tablicę' i skopiuj tekst w pobranym pliku.",
"import-board-instruction-about-errors": "W przypadku, gdy otrzymujesz błędy importowania tablicy, czasami importowanie pomimo wszystko działa poprawnie i tablica znajduje się w oknie Wszystkie tablice.",
"import-json-placeholder": "Wklej Twoje dane JSON tutaj",
+ "import-csv-placeholder": "Paste your valid CSV/TSV data here",
"import-map-members": "Przypisz członków",
"import-members-map": "Twoje zaimportowane tablice mają kilku członków. Proszę wybierz członków których chcesz zaimportować dla Twoich użytkowników",
"import-show-user-mapping": "Przejrzyj wybranych członków",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "Opcje diagramu czynności",
"swimlaneAddPopup-title": "Dodaj diagram czynności poniżej",
"listImportCardPopup-title": "Zaimportuj kartę z Trello",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"listMorePopup-title": "Więcej",
"link-list": "Podepnij do tej listy",
"list-delete-pop": "Wszystkie czynności zostaną usunięte z Aktywności i nie będziesz w stanie przywrócić listy. Nie ma możliwości cofnięcia tej operacji.",
@@ -786,5 +796,12 @@
"thursday": "Czwartek",
"friday": "Piątek",
"saturday": "Sobota",
- "sunday": "Niedziela"
+ "sunday": "Niedziela",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/pt-BR.i18n.json b/i18n/pt-BR.i18n.json
index db8cdf27..29951be8 100644
--- a/i18n/pt-BR.i18n.json
+++ b/i18n/pt-BR.i18n.json
@@ -164,15 +164,15 @@
"cardStartVotingPopup-title": "Iniciar uma votação",
"positiveVoteMembersPopup-title": "Proponentes",
"negativeVoteMembersPopup-title": "Oponentes",
- "card-edit-voting": "Edit voting",
- "editVoteEndDatePopup-title": "Change vote end date",
- "allowNonBoardMembers": "Allow all logged in users",
+ "card-edit-voting": "Editar votação",
+ "editVoteEndDatePopup-title": "Mudar votação e data",
+ "allowNonBoardMembers": "Permitir todos os usuários logados",
"vote-question": "Questão em votação",
"vote-public": "Mostrar quem votou no quê",
"vote-for-it": "a favor",
"vote-against": "contra",
- "deleteVotePopup-title": "Delete vote?",
- "vote-delete-pop": "Deleting is permanent. You will lose all actions associated with this vote.",
+ "deleteVotePopup-title": "Excluir votação?",
+ "vote-delete-pop": "A exclusão é permanente. Você perderá todas as ações associadas a esta votação.",
"cardDeletePopup-title": "Excluir Cartão?",
"cardDetailsActionsPopup-title": "Ações do cartão",
"cardLabelsPopup-title": "Etiquetas",
@@ -309,6 +309,7 @@
"error-board-notAMember": "Você precisa ser um membro desse quadro para fazer isto",
"error-json-malformed": "Seu texto não é um JSON válido",
"error-json-schema": "Seu JSON não inclui as informações no formato correto",
+ "error-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) does not include the proper information in the correct format",
"error-list-doesNotExist": "Esta lista não existe",
"error-user-doesNotExist": "Este usuário não existe",
"error-user-notAllowSelf": "Você não pode convidar a si mesmo",
@@ -316,6 +317,10 @@
"error-username-taken": "Esse username já existe",
"error-email-taken": "E-mail já está em uso",
"export-board": "Exportar quadro",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "Exportar quadro",
"sort": "Ordenar",
"sort-desc": "Clique para Ordenar Lista",
"list-sort-by": "Ordenar a Lista por:",
@@ -351,12 +356,16 @@
"import-board-c": "Importar quadro",
"import-board-title-trello": "Importar quadro do Trello",
"import-board-title-wekan": "Importar quadro a partir de exportação prévia",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "Do Trello",
"from-wekan": "A partir de exportação prévia",
+ "from-csv": "From CSV/TSV",
"import-board-instruction-trello": "No seu quadro do Trello, vá em 'Menu', depois em 'Mais', 'Imprimir e Exportar', 'Exportar JSON', então copie o texto emitido",
+ "import-board-instruction-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "Em seu quadro vá para 'Menu', depois 'Exportar quadro' e copie o texto no arquivo baixado.",
"import-board-instruction-about-errors": "Se você receber erros ao importar o quadro, às vezes a importação ainda funciona e o quadro está na página Todos os Quadros.",
"import-json-placeholder": "Cole seus dados JSON válidos aqui",
+ "import-csv-placeholder": "Paste your valid CSV/TSV data here",
"import-map-members": "Mapear membros",
"import-members-map": "Seu quadro importado possui alguns membros. Por favor, mapeie os membros que você deseja importar para seus usuários",
"import-show-user-mapping": "Revisar mapeamento dos membros",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "Ações de Raia",
"swimlaneAddPopup-title": "Adicionar uma Raia abaixo",
"listImportCardPopup-title": "Importe um cartão do Trello",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"listMorePopup-title": "Mais",
"link-list": "Vincular a esta lista",
"list-delete-pop": "Todas as ações serão excluidas da lista de atividades e você não poderá recuperar a lista. Não há como desfazer.",
@@ -628,7 +638,7 @@
"r-when-a-card": "Quando um cartão",
"r-is": "é",
"r-is-moved": "é movido",
- "r-added-to": "Added to",
+ "r-added-to": "adicionado a",
"r-removed-from": "Removido de",
"r-the-board": "o quadro",
"r-list": "lista",
@@ -786,5 +796,12 @@
"thursday": "Quinta",
"friday": "Sexta",
"saturday": "Sábado",
- "sunday": "Domingo"
+ "sunday": "Domingo",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/pt.i18n.json b/i18n/pt.i18n.json
index 0ead762e..10f2d59f 100644
--- a/i18n/pt.i18n.json
+++ b/i18n/pt.i18n.json
@@ -309,6 +309,7 @@
"error-board-notAMember": "Precisa de ser um membro deste quadro para fazer isso",
"error-json-malformed": "O seu texto não é um JSON válido",
"error-json-schema": "O seu JSON não inclui as informações apropriadas no formato correto",
+ "error-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) does not include the proper information in the correct format",
"error-list-doesNotExist": "Esta lista não existe",
"error-user-doesNotExist": "Este utilizador não existe",
"error-user-notAllowSelf": "Não se pode convidar a si mesmo",
@@ -316,6 +317,10 @@
"error-username-taken": "Esse nome de utilizador já existe",
"error-email-taken": "Endereço de e-mail já está em uso",
"export-board": "Exportar quadro",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "Exportar quadro",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -351,12 +356,16 @@
"import-board-c": "Importar quadro",
"import-board-title-trello": "Importar quadro do Trello",
"import-board-title-wekan": "Importar quadro a partir de exportação prévia",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "Do Trello",
"from-wekan": "A partir de exportação prévia",
+ "from-csv": "From CSV/TSV",
"import-board-instruction-trello": "No seu quadro do Trello, vá em 'Menu', depois em 'Mais', 'Imprimir e Exportar', 'Exportar JSON', e copie o texto resultante.",
+ "import-board-instruction-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "No seu quadro vá para 'Menu', depois 'Exportar quadro' e copie o texto no ficheiro descarregado.",
"import-board-instruction-about-errors": "Se receber erros ao importar o quadro, às vezes a importação ainda funciona e o quadro está na página Todos os Quadros.",
"import-json-placeholder": "Cole seus dados JSON válidos aqui",
+ "import-csv-placeholder": "Paste your valid CSV/TSV data here",
"import-map-members": "Mapear membros",
"import-members-map": "O seu quadro importado possui alguns membros. Por favor, mapeie os membros que deseja importar para seus utilizadores",
"import-show-user-mapping": "Rever mapeamento dos membros",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "Acções de Pista",
"swimlaneAddPopup-title": "Adicionar uma Pista abaixo",
"listImportCardPopup-title": "Importe um cartão do Trello",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"listMorePopup-title": "Mais",
"link-list": "Ligar a esta lista",
"list-delete-pop": "Todas as acções serão removidas do feed de actividade e não poderá recuperar a lista. Não há como desfazer.",
@@ -786,5 +796,12 @@
"thursday": "Thursday",
"friday": "Friday",
"saturday": "Saturday",
- "sunday": "Sunday"
+ "sunday": "Sunday",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/ro.i18n.json b/i18n/ro.i18n.json
index b7a74e13..0cb092b9 100644
--- a/i18n/ro.i18n.json
+++ b/i18n/ro.i18n.json
@@ -309,6 +309,7 @@
"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-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) 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",
@@ -316,6 +317,10 @@
"error-username-taken": "This username is already taken",
"error-email-taken": "Email has already been taken",
"export-board": "Export board",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "Export board",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -351,12 +356,16 @@
"import-board-c": "Import board",
"import-board-title-trello": "Import board from Trello",
"import-board-title-wekan": "Import board from previous export",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "From Trello",
"from-wekan": "From previous export",
+ "from-csv": "From CSV/TSV",
"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-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "In your board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Paste your valid JSON data here",
+ "import-csv-placeholder": "Paste your valid CSV/TSV 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 your users",
"import-show-user-mapping": "Review members mapping",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Import a Trello card",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"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.",
@@ -786,5 +796,12 @@
"thursday": "Thursday",
"friday": "Friday",
"saturday": "Saturday",
- "sunday": "Sunday"
+ "sunday": "Sunday",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/ru.i18n.json b/i18n/ru.i18n.json
index f6611b33..8e574266 100644
--- a/i18n/ru.i18n.json
+++ b/i18n/ru.i18n.json
@@ -309,6 +309,7 @@
"error-board-notAMember": "Вы должны быть участником доски, чтобы сделать это",
"error-json-malformed": "Ваше текст не является правильным JSON",
"error-json-schema": "Содержимое вашего JSON не содержит информацию в корректном формате",
+ "error-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) does not include the proper information in the correct format",
"error-list-doesNotExist": "Список не найден",
"error-user-doesNotExist": "Пользователь не найден",
"error-user-notAllowSelf": "Вы не можете пригласить себя",
@@ -316,6 +317,10 @@
"error-username-taken": "Это имя пользователя уже занято",
"error-email-taken": "Этот адрес уже занят",
"export-board": "Экспортировать доску",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "Экспортировать доску",
"sort": "Сортировать",
"sort-desc": "Нажмите, чтобы отсортировать список",
"list-sort-by": "Сортировать список по:",
@@ -351,12 +356,16 @@
"import-board-c": "Импортировать доску",
"import-board-title-trello": "Импортировать доску из Trello",
"import-board-title-wekan": "Импортировать доску, сохраненную ранее.",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "Из Trello",
"from-wekan": "Сохраненную ранее",
+ "from-csv": "From CSV/TSV",
"import-board-instruction-trello": "На вашей Trello доске нажмите “Menu” - “More” - “Print and export - “Export JSON” и скопируйте полученный текст",
+ "import-board-instruction-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "На вашей доске перейдите в “Меню”, далее “Экспортировать доску” и скопируйте текст из скачаного файла",
"import-board-instruction-about-errors": "Даже если при импорте возникли ошибки, иногда импортирование проходит успешно – тогда доска появится на странице «Все доски».",
"import-json-placeholder": "Вставьте JSON сюда",
+ "import-csv-placeholder": "Paste your valid CSV/TSV data here",
"import-map-members": "Составить карту участников",
"import-members-map": "Вы импортировали доску с участниками. Пожалуйста, отметьте участников, которых вы хотите импортировать в качестве пользователей",
"import-show-user-mapping": "Проверить карту участников",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "Действия с дорожкой",
"swimlaneAddPopup-title": "Добавить дорожку ниже",
"listImportCardPopup-title": "Импортировать Trello карточку",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"listMorePopup-title": "Поделиться",
"link-list": "Ссылка на список",
"list-delete-pop": "Все действия будут удалены из ленты активности участников, и вы не сможете восстановить список. Данное действие необратимо.",
@@ -786,5 +796,12 @@
"thursday": "Четверг",
"friday": "Пятница",
"saturday": "Суббота",
- "sunday": "Воскресенье"
+ "sunday": "Воскресенье",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/sl.i18n.json b/i18n/sl.i18n.json
index 49b07077..06676309 100644
--- a/i18n/sl.i18n.json
+++ b/i18n/sl.i18n.json
@@ -309,6 +309,7 @@
"error-board-notAMember": "Niste član table.",
"error-json-malformed": "Vaše besedilo ni veljaven JSON",
"error-json-schema": "Vaši JSON podatki ne vsebujejo pravilnih informacij v ustreznem formatu",
+ "error-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) does not include the proper information in the correct format",
"error-list-doesNotExist": "Seznam ne obstaja",
"error-user-doesNotExist": "Uporabnik ne obstaja",
"error-user-notAllowSelf": "Ne morete povabiti sebe",
@@ -316,6 +317,10 @@
"error-username-taken": "To up. ime že obstaja",
"error-email-taken": "E-poštni naslov je že zaseden",
"export-board": "Izvozi tablo",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "Izvozi tablo",
"sort": "Sortiraj",
"sort-desc": "Klikni za sortiranje seznama",
"list-sort-by": "Sortiraj po:",
@@ -351,12 +356,16 @@
"import-board-c": "Uvozi tablo",
"import-board-title-trello": "Uvozi tablo iz orodja Trello",
"import-board-title-wekan": "Uvozi tablo iz prejšnjega izvoza",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "Iz orodja Trello",
"from-wekan": "Od prejšnjega izvoza",
+ "from-csv": "From CSV/TSV",
"import-board-instruction-trello": "V vaši Trello tabli pojdite na 'Meni', 'Več', 'Natisni in Izvozi', 'Izvozi JSON', in kopirajte prikazano besedilo.",
+ "import-board-instruction-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "V vaši tabli pojdite na 'Meni', 'Izvozi tablo' in kopirajte besedilo iz prenesene datoteke.",
"import-board-instruction-about-errors": "Pri napakah med uvozom table v nekaterih primerih uvažanje še deluje, uvožena tabla pa je na strani Vse Table.",
"import-json-placeholder": "Tukaj prilepite veljavne JSON podatke",
+ "import-csv-placeholder": "Paste your valid CSV/TSV data here",
"import-map-members": "Mapiraj člane",
"import-members-map": "Vaša uvožena tabla vsebuje nekaj članov. Prosimo mapirajte člane, ki jih želite uvoziti, z vašimi uporabniki.",
"import-show-user-mapping": "Preglejte povezane člane",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "Dejanja plavalnih stez",
"swimlaneAddPopup-title": "Dodaj plavalno stezo spodaj",
"listImportCardPopup-title": "Uvozi Trello kartico",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"listMorePopup-title": "Več",
"link-list": "Poveži s seznamom",
"list-delete-pop": "Vsa dejanja bodo odstranjena iz vira dejavnosti in seznama ne boste mogli obnoviti. Razveljavitve ni.",
@@ -786,5 +796,12 @@
"thursday": "Thursday",
"friday": "Friday",
"saturday": "Saturday",
- "sunday": "Sunday"
+ "sunday": "Sunday",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/sr.i18n.json b/i18n/sr.i18n.json
index d3b35967..f741003b 100644
--- a/i18n/sr.i18n.json
+++ b/i18n/sr.i18n.json
@@ -309,6 +309,7 @@
"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-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) does not include the proper information in the correct format",
"error-list-doesNotExist": "This list does not exist",
"error-user-doesNotExist": "Korisnik ne postoji",
"error-user-notAllowSelf": "Ne možeš pozvati samog sebe",
@@ -316,6 +317,10 @@
"error-username-taken": "Korisničko ime je već zauzeto",
"error-email-taken": "Email has already been taken",
"export-board": "Export board",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "Export board",
"sort": "Sortiraj",
"sort-desc": "Kliknite da biste sortirali listu",
"list-sort-by": "Poredaj listu po:",
@@ -351,12 +356,16 @@
"import-board-c": "Import board",
"import-board-title-trello": "Uvezi tablu iz Trella",
"import-board-title-wekan": "Import board from previous export",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "From Trello",
"from-wekan": "From previous export",
+ "from-csv": "From CSV/TSV",
"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-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "In your board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Paste your valid JSON data here",
+ "import-csv-placeholder": "Paste your valid CSV/TSV data here",
"import-map-members": "Mapiraj članove",
"import-members-map": "Your imported board has some members. Please map the members you want to import to your users",
"import-show-user-mapping": "Review members mapping",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Import a Trello card",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"listMorePopup-title": "Više",
"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.",
@@ -786,5 +796,12 @@
"thursday": "Thursday",
"friday": "Friday",
"saturday": "Saturday",
- "sunday": "Sunday"
+ "sunday": "Sunday",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/sv.i18n.json b/i18n/sv.i18n.json
index 4ba2a277..3546e21c 100644
--- a/i18n/sv.i18n.json
+++ b/i18n/sv.i18n.json
@@ -309,6 +309,7 @@
"error-board-notAMember": "Du måste vara medlem i denna anslagstavla för att göra det",
"error-json-malformed": "Din text är inte giltigt JSON",
"error-json-schema": "Din JSON data inkluderar inte korrekt information i rätt format",
+ "error-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) does not include the proper information in the correct format",
"error-list-doesNotExist": "Denna lista finns inte",
"error-user-doesNotExist": "Denna användare finns inte",
"error-user-notAllowSelf": "Du kan inte bjuda in dig själv",
@@ -316,6 +317,10 @@
"error-username-taken": "Detta användarnamn är redan taget",
"error-email-taken": "E-post har redan tagits",
"export-board": "Exportera anslagstavla",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "Exportera anslagstavla",
"sort": "Sortera",
"sort-desc": "Klicka för att sortera listan",
"list-sort-by": "Sortera listan efter:",
@@ -351,12 +356,16 @@
"import-board-c": "Importera anslagstavla",
"import-board-title-trello": "Importera anslagstavla från Trello",
"import-board-title-wekan": "Importera anslagstavla från tidigare export",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "Från Trello",
"from-wekan": "Från tidigare export",
+ "from-csv": "From CSV/TSV",
"import-board-instruction-trello": "I din Trello-anslagstavla, gå till 'Meny', sedan 'Mera', 'Skriv ut och exportera', 'Exportera JSON' och kopiera den resulterande text.",
+ "import-board-instruction-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "På din anslagstavla, gå till \"Meny\", sedan \"Exportera anslagstavla\" och kopiera texten i den hämtade filen.",
"import-board-instruction-about-errors": "Om du får fel vid import av anslagstavla, ibland importerar fortfarande fungerar, och styrelsen är på alla sidor för anslagstavlor.",
"import-json-placeholder": "Klistra in giltigt JSON data här",
+ "import-csv-placeholder": "Paste your valid CSV/TSV data here",
"import-map-members": "Kartlägg medlemmar",
"import-members-map": "Din importerade anslagstavla har några medlemmar. Vänligen kartlägg medlemmarna du vill importera till dina användare",
"import-show-user-mapping": "Granska medlemskartläggning",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "Simbana-åtgärder",
"swimlaneAddPopup-title": "Lägg till en simbana nedan",
"listImportCardPopup-title": "Importera ett Trello kort",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"listMorePopup-title": "Mera",
"link-list": "Länk till den här listan",
"list-delete-pop": "Alla åtgärder kommer att tas bort från aktivitetsmatningen och du kommer inte att kunna återställa listan. Det går inte att ångra.",
@@ -786,5 +796,12 @@
"thursday": "Torsdag",
"friday": "Fredag",
"saturday": "Lördag",
- "sunday": "Söndag"
+ "sunday": "Söndag",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/sw.i18n.json b/i18n/sw.i18n.json
index 76bfb09f..24364276 100644
--- a/i18n/sw.i18n.json
+++ b/i18n/sw.i18n.json
@@ -309,6 +309,7 @@
"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-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) 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",
@@ -316,6 +317,10 @@
"error-username-taken": "This username is already taken",
"error-email-taken": "Email has already been taken",
"export-board": "Export board",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "Export board",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -351,12 +356,16 @@
"import-board-c": "Import board",
"import-board-title-trello": "Import board from Trello",
"import-board-title-wekan": "Import board from previous export",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "From Trello",
"from-wekan": "From previous export",
+ "from-csv": "From CSV/TSV",
"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-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "In your board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Paste your valid JSON data here",
+ "import-csv-placeholder": "Paste your valid CSV/TSV 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 your users",
"import-show-user-mapping": "Review members mapping",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Import a Trello card",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"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.",
@@ -786,5 +796,12 @@
"thursday": "Thursday",
"friday": "Friday",
"saturday": "Saturday",
- "sunday": "Sunday"
+ "sunday": "Sunday",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/ta.i18n.json b/i18n/ta.i18n.json
index c75700ba..a6b25be0 100644
--- a/i18n/ta.i18n.json
+++ b/i18n/ta.i18n.json
@@ -309,6 +309,7 @@
"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-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) 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",
@@ -316,6 +317,10 @@
"error-username-taken": "This username is already taken",
"error-email-taken": "Email has already been taken",
"export-board": "Export board",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "Export board",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -351,12 +356,16 @@
"import-board-c": "Import board",
"import-board-title-trello": "Import board from Trello",
"import-board-title-wekan": "Import board from previous export",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "Trello ல் இருந்து ",
"from-wekan": "From previous export",
+ "from-csv": "From CSV/TSV",
"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-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "In your board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Paste your valid JSON data here",
+ "import-csv-placeholder": "Paste your valid CSV/TSV 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 your users",
"import-show-user-mapping": "Review members mapping",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Import a Trello card",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"listMorePopup-title": "மேலும் ",
"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.",
@@ -786,5 +796,12 @@
"thursday": "Thursday",
"friday": "Friday",
"saturday": "Saturday",
- "sunday": "Sunday"
+ "sunday": "Sunday",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/th.i18n.json b/i18n/th.i18n.json
index 4b571a49..8e39398f 100644
--- a/i18n/th.i18n.json
+++ b/i18n/th.i18n.json
@@ -309,6 +309,7 @@
"error-board-notAMember": "คุณต้องเป็นสมาชิกของบอร์ดนี้ถึงจะทำได้",
"error-json-malformed": "ข้อความของคุณไม่ใช่ JSON",
"error-json-schema": "รูปแบบข้้้อมูล JSON ของคุณไม่ถูกต้อง",
+ "error-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) does not include the proper information in the correct format",
"error-list-doesNotExist": "รายการนี้ไม่มีอยู่",
"error-user-doesNotExist": "ผู้ใช้นี้ไม่มีอยู่",
"error-user-notAllowSelf": "You can not invite yourself",
@@ -316,6 +317,10 @@
"error-username-taken": "ชื่อนี้ถูกใช้งานแล้ว",
"error-email-taken": "Email has already been taken",
"export-board": "ส่งออกกระดาน",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "ส่งออกกระดาน",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -351,12 +356,16 @@
"import-board-c": "Import board",
"import-board-title-trello": "นำเข้าบอร์ดจาก Trello",
"import-board-title-wekan": "Import board from previous export",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "From Trello",
"from-wekan": "From previous export",
+ "from-csv": "From CSV/TSV",
"import-board-instruction-trello": "ใน Trello ของคุณให้ไปที่ 'Menu' และไปที่ More -> Print and Export -> Export JSON และคัดลอกข้อความจากนั้น",
+ "import-board-instruction-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "In your board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "วางข้อมูล JSON ที่ถูกต้องของคุณที่นี่",
+ "import-csv-placeholder": "Paste your valid CSV/TSV data here",
"import-map-members": "แผนที่สมาชิก",
"import-members-map": "Your imported board has some members. Please map the members you want to import to your users",
"import-show-user-mapping": "Review การทำแผนที่สมาชิก",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "นำเข้าการ์ด Trello",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"listMorePopup-title": "เพิ่มเติม",
"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.",
@@ -786,5 +796,12 @@
"thursday": "Thursday",
"friday": "Friday",
"saturday": "Saturday",
- "sunday": "Sunday"
+ "sunday": "Sunday",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/tr.i18n.json b/i18n/tr.i18n.json
index 1e5d7ad2..0941988b 100644
--- a/i18n/tr.i18n.json
+++ b/i18n/tr.i18n.json
@@ -309,6 +309,7 @@
"error-board-notAMember": "Bu işlemi yapmak için panoya üye olmalısın.",
"error-json-malformed": "Girilen metin geçerli bir JSON formatında değil",
"error-json-schema": "Girdiğin JSON metni tüm bilgileri doğru biçimde barındırmıyor",
+ "error-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) does not include the proper information in the correct format",
"error-list-doesNotExist": "Liste bulunamadı",
"error-user-doesNotExist": "Kullanıcı bulunamadı",
"error-user-notAllowSelf": "Kendi kendini davet edemezsin",
@@ -316,6 +317,10 @@
"error-username-taken": "Kullanıcı adı zaten alınmış",
"error-email-taken": "Bu e-posta adresi daha önceden alınmış",
"export-board": "Panoyu dışarı aktar",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "Panoyu dışarı aktar",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -351,12 +356,16 @@
"import-board-c": "Panoyu içe aktar",
"import-board-title-trello": "Trello'dan panoyu içeri aktar",
"import-board-title-wekan": "Import board from previous export",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "Trello'dan",
"from-wekan": "From previous export",
+ "from-csv": "From CSV/TSV",
"import-board-instruction-trello": "Trello panonuzda 'Menü'ye gidip 'Daha fazlası'na tıklayın, ardından 'Yazdır ve Çıktı Al'ı seçip 'JSON biçiminde çıktı al' diyerek çıkan metni buraya kopyalayın.",
+ "import-board-instruction-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "In your board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Geçerli JSON verisini buraya yapıştırın",
+ "import-csv-placeholder": "Paste your valid CSV/TSV data here",
"import-map-members": "Üyeleri eşleştirme",
"import-members-map": "Your imported board has some members. Please map the members you want to import to your users",
"import-show-user-mapping": "Üye eşleştirmesini kontrol et",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "Kulvar İşlemleri",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Bir Trello kartını içeri aktar",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"listMorePopup-title": "Daha",
"link-list": "Listeye doğrudan bağlantı",
"list-delete-pop": "Etkinlik akışınızdaki tüm eylemler geri kurtarılamaz şekilde kaldırılacak. Bu işlem geri alınamaz.",
@@ -786,5 +796,12 @@
"thursday": "Thursday",
"friday": "Friday",
"saturday": "Saturday",
- "sunday": "Sunday"
+ "sunday": "Sunday",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/uk.i18n.json b/i18n/uk.i18n.json
index 3246eaa2..069fc458 100644
--- a/i18n/uk.i18n.json
+++ b/i18n/uk.i18n.json
@@ -309,6 +309,7 @@
"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-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) 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",
@@ -316,6 +317,10 @@
"error-username-taken": "This username is already taken",
"error-email-taken": "Email has already been taken",
"export-board": "Export board",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "Export board",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -351,12 +356,16 @@
"import-board-c": "Import board",
"import-board-title-trello": "Import board from Trello",
"import-board-title-wekan": "Import board from previous export",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "From Trello",
"from-wekan": "From previous export",
+ "from-csv": "From CSV/TSV",
"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-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "In your board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Paste your valid JSON data here",
+ "import-csv-placeholder": "Paste your valid CSV/TSV 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 your users",
"import-show-user-mapping": "Review members mapping",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Import a Trello card",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"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.",
@@ -786,5 +796,12 @@
"thursday": "Thursday",
"friday": "Friday",
"saturday": "Saturday",
- "sunday": "Sunday"
+ "sunday": "Sunday",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/vi.i18n.json b/i18n/vi.i18n.json
index 466c937e..216a6dc0 100644
--- a/i18n/vi.i18n.json
+++ b/i18n/vi.i18n.json
@@ -309,6 +309,7 @@
"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-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) 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",
@@ -316,6 +317,10 @@
"error-username-taken": "This username is already taken",
"error-email-taken": "Email has already been taken",
"export-board": "Export board",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "Export board",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -351,12 +356,16 @@
"import-board-c": "Import board",
"import-board-title-trello": "Import board from Trello",
"import-board-title-wekan": "Import board from previous export",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "From Trello",
"from-wekan": "From previous export",
+ "from-csv": "From CSV/TSV",
"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-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "In your board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Paste your valid JSON data here",
+ "import-csv-placeholder": "Paste your valid CSV/TSV 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 your users",
"import-show-user-mapping": "Review members mapping",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Import a Trello card",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"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.",
@@ -786,5 +796,12 @@
"thursday": "Thursday",
"friday": "Friday",
"saturday": "Saturday",
- "sunday": "Sunday"
+ "sunday": "Sunday",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/zh-CN.i18n.json b/i18n/zh-CN.i18n.json
index 7665fbfd..3846467e 100644
--- a/i18n/zh-CN.i18n.json
+++ b/i18n/zh-CN.i18n.json
@@ -309,6 +309,7 @@
"error-board-notAMember": "需要成为看板成员才能执行此操作",
"error-json-malformed": "文本不是合法的 JSON",
"error-json-schema": "JSON 数据没有用正确的格式包含合适的信息",
+ "error-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) does not include the proper information in the correct format",
"error-list-doesNotExist": "不存在此列表",
"error-user-doesNotExist": "该用户不存在",
"error-user-notAllowSelf": "无法邀请自己",
@@ -316,6 +317,10 @@
"error-username-taken": "此用户名已存在",
"error-email-taken": "此EMail已存在",
"export-board": "导出看板",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "导出看板",
"sort": "排序",
"sort-desc": "点此来将列表排序",
"list-sort-by": "按此来将列表排序:",
@@ -351,12 +356,16 @@
"import-board-c": "导入看板",
"import-board-title-trello": "从Trello导入看板",
"import-board-title-wekan": "从以前的导出数据导入看板",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "自 Trello",
"from-wekan": "自以前的导出",
+ "from-csv": "From CSV/TSV",
"import-board-instruction-trello": "在你的Trello看板中,点击“菜单”,然后选择“更多”,“打印与导出”,“导出为 JSON” 并拷贝结果文本",
+ "import-board-instruction-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "在您的看板,点击“菜单”,然后“导出看板”,复制下载文件中的文本。",
"import-board-instruction-about-errors": "如果在导入看板时出现错误,导入工作可能仍然在进行中,并且看板已经出现在全部看板页。",
"import-json-placeholder": "粘贴您有效的 JSON 数据至此",
+ "import-csv-placeholder": "Paste your valid CSV/TSV data here",
"import-map-members": "映射成员",
"import-members-map": "您导入的看板有一些成员,请映射这些成员到您导入的用户。",
"import-show-user-mapping": "核对成员映射",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "泳道图操作",
"swimlaneAddPopup-title": "在下面添加一个泳道",
"listImportCardPopup-title": "导入 Trello 卡片",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"listMorePopup-title": "更多",
"link-list": "关联到这个列表",
"list-delete-pop": "所有活动将被从活动动态中删除并且你无法恢复他们,此操作无法撤销。",
@@ -786,5 +796,12 @@
"thursday": "周四",
"friday": "周五",
"saturday": "周六",
- "sunday": "周日"
+ "sunday": "周日",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/zh-HK.i18n.json b/i18n/zh-HK.i18n.json
index 3fa93f10..89b426a8 100644
--- a/i18n/zh-HK.i18n.json
+++ b/i18n/zh-HK.i18n.json
@@ -309,6 +309,7 @@
"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-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) 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",
@@ -316,6 +317,10 @@
"error-username-taken": "This username is already taken",
"error-email-taken": "Email has already been taken",
"export-board": "Export board",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "Export board",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -351,12 +356,16 @@
"import-board-c": "Import board",
"import-board-title-trello": "Import board from Trello",
"import-board-title-wekan": "Import board from previous export",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "From Trello",
"from-wekan": "From previous export",
+ "from-csv": "From CSV/TSV",
"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-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "In your board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Paste your valid JSON data here",
+ "import-csv-placeholder": "Paste your valid CSV/TSV 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 your users",
"import-show-user-mapping": "Review members mapping",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Import a Trello card",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"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.",
@@ -786,5 +796,12 @@
"thursday": "Thursday",
"friday": "Friday",
"saturday": "Saturday",
- "sunday": "Sunday"
+ "sunday": "Sunday",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/i18n/zh-TW.i18n.json b/i18n/zh-TW.i18n.json
index 87fc574b..7f6d3558 100644
--- a/i18n/zh-TW.i18n.json
+++ b/i18n/zh-TW.i18n.json
@@ -309,6 +309,7 @@
"error-board-notAMember": "需要成為看板成員才能執行此操作",
"error-json-malformed": "不是有效的 JSON",
"error-json-schema": "JSON 資料沒有用正確的格式包含合適的資訊",
+ "error-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) does not include the proper information in the correct format",
"error-list-doesNotExist": "不存在此列表",
"error-user-doesNotExist": "該使用者不存在",
"error-user-notAllowSelf": "不允許對自己執行此操作",
@@ -316,6 +317,10 @@
"error-username-taken": "這個使用者名稱已被使用",
"error-email-taken": "Email 已被使用",
"export-board": "匯出看板",
+ "export-board-json": "Export board to JSON",
+ "export-board-csv": "Export board to CSV",
+ "export-board-tsv": "Export board to TSV",
+ "exportBoardPopup-title": "匯出看板",
"sort": "排序",
"sort-desc": "點選排序清單",
"list-sort-by": "清單排序依照:",
@@ -351,12 +356,16 @@
"import-board-c": "匯入看板",
"import-board-title-trello": "匯入在 Trello 的看板",
"import-board-title-wekan": "從上次的匯出檔匯入看板",
+ "import-board-title-csv": "Import board from CSV/TSV",
"from-trello": "來自 Trello",
"from-wekan": "從上次的匯出檔",
+ "from-csv": "From CSV/TSV",
"import-board-instruction-trello": "在你的Trello看板中,點選“功能表”,然後選擇“更多”,“列印與匯出”,“匯出為 JSON” 並拷貝結果文本",
+ "import-board-instruction-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "在您的看板,點擊“選單”,然後“匯出看板”,複製下載文件中的文本。",
"import-board-instruction-about-errors": "如果在匯入看板時出現錯誤,匯入工作可能仍然在進行中,並且看板已經出現在全部看板頁。",
"import-json-placeholder": "貼上您有效的 JSON 資料至此",
+ "import-csv-placeholder": "Paste your valid CSV/TSV data here",
"import-map-members": "複製成員",
"import-members-map": "您匯入的看板有一些成員,請複製這些成員到您匯入的用戶。",
"import-show-user-mapping": "核對複製的成員",
@@ -389,6 +398,7 @@
"swimlaneActionPopup-title": "泳道動作",
"swimlaneAddPopup-title": "在下面新增泳道",
"listImportCardPopup-title": "匯入 Trello 卡片",
+ "listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
"listMorePopup-title": "更多",
"link-list": "連結到這個清單",
"list-delete-pop": "所有的動作都將從活動動態中被移除且您將無法再開啟該清單\b。此操作無法復原。",
@@ -786,5 +796,12 @@
"thursday": "週四",
"friday": "週五",
"saturday": "週六",
- "sunday": "週日"
+ "sunday": "週日",
+ "status": "Status",
+ "swimlane": "Swimlane",
+ "owner": "Owner",
+ "last-modified-at": "Last modified at",
+ "last-activity": "Last activity",
+ "voting": "Voting",
+ "archived": "Archived"
}
diff --git a/models/csvCreator.js b/models/csvCreator.js
new file mode 100644
index 00000000..025a3179
--- /dev/null
+++ b/models/csvCreator.js
@@ -0,0 +1,313 @@
+import Boards from './boards';
+
+export class CsvCreator {
+ constructor(data) {
+ // date to be used for timestamps during import
+ this._nowDate = new Date();
+ // index to help keep track of what information a column stores
+ // each row represents a card
+ this.fieldIndex = {};
+ this.lists = {};
+ // Map of members using username => wekanid
+ this.members = data.membersMapping ? data.membersMapping : {};
+ this.swimlane = null;
+ }
+
+ /**
+ * If dateString is provided,
+ * return the Date it represents.
+ * If not, will return the date when it was first called.
+ * This is useful for us, as we want all import operations to
+ * have the exact same date for easier later retrieval.
+ *
+ * @param {String} dateString a properly formatted Date
+ */
+ _now(dateString) {
+ if (dateString) {
+ return new Date(dateString);
+ }
+ if (!this._nowDate) {
+ this._nowDate = new Date();
+ }
+ return this._nowDate;
+ }
+
+ _user(wekanUserId) {
+ if (wekanUserId && this.members[wekanUserId]) {
+ return this.members[wekanUserId];
+ }
+ return Meteor.userId();
+ }
+
+ /**
+ * Map the header row titles to an index to help assign proper values to the cards' fields
+ * Valid headers (name of card fields):
+ * title, description, status, owner, member, label, due date, start date, finish date, created at, updated at
+ * Some header aliases can also be accepted.
+ * Headers are NOT case-sensitive.
+ *
+ * @param {Array} headerRow array from row of headers of imported CSV/TSV for cards
+ */
+ mapHeadertoCardFieldIndex(headerRow) {
+ const index = {};
+ for (let i = 0; i < headerRow.length; i++) {
+ switch (headerRow[i].trim().toLowerCase()) {
+ case 'title':
+ index.title = i;
+ break;
+ case 'description':
+ index.description = i;
+ break;
+ case 'stage':
+ case 'status':
+ case 'state':
+ index.stage = i;
+ break;
+ case 'owner':
+ index.owner = i;
+ break;
+ case 'members':
+ case 'member':
+ index.members = i;
+ break;
+ case 'labels':
+ case 'label':
+ index.labels = i;
+ break;
+ case 'due date':
+ case 'deadline':
+ case 'due at':
+ index.dueAt = i;
+ break;
+ case 'start date':
+ case 'start at':
+ index.startAt = i;
+ break;
+ case 'finish date':
+ case 'end at':
+ index.endAt = i;
+ break;
+ case 'creation date':
+ case 'created at':
+ index.createdAt = i;
+ break;
+ case 'update date':
+ case 'updated at':
+ case 'modified at':
+ case 'modified on':
+ index.modifiedAt = i;
+ break;
+ }
+ }
+ this.fieldIndex = index;
+ }
+
+ createBoard(csvData) {
+ const boardToCreate = {
+ archived: false,
+ color: 'belize',
+ createdAt: this._now(),
+ labels: [],
+ members: [
+ {
+ userId: Meteor.userId(),
+ wekanId: Meteor.userId(),
+ isActive: true,
+ isAdmin: true,
+ isNoComments: false,
+ isCommentOnly: false,
+ swimlaneId: false,
+ },
+ ],
+ modifiedAt: this._now(),
+ //default is private, should inform user.
+ permission: 'private',
+ slug: 'board',
+ stars: 0,
+ title: `Imported Board ${this._now()}`,
+ };
+
+ // create labels
+ const labelsToCreate = new Set();
+ for (let i = 1; i < csvData.length; i++) {
+ if (csvData[i][this.fieldIndex.labels]) {
+ for (const importedLabel of csvData[i][this.fieldIndex.labels].split(
+ ' ',
+ )) {
+ if (importedLabel && importedLabel.length > 0) {
+ labelsToCreate.add(importedLabel);
+ }
+ }
+ }
+ }
+ for (const label of labelsToCreate) {
+ let labelName, labelColor;
+ if (label.indexOf('-') > -1) {
+ labelName = label.split('-')[0];
+ labelColor = label.split('-')[1];
+ } else {
+ labelName = label;
+ }
+ const labelToCreate = {
+ _id: Random.id(6),
+ color: labelColor ? labelColor : 'black',
+ name: labelName,
+ };
+ boardToCreate.labels.push(labelToCreate);
+ }
+
+ const boardId = Boards.direct.insert(boardToCreate);
+ Boards.direct.update(boardId, {
+ $set: {
+ modifiedAt: this._now(),
+ },
+ });
+ // log activity
+ Activities.direct.insert({
+ activityType: 'importBoard',
+ boardId,
+ createdAt: this._now(),
+ source: {
+ id: boardId,
+ system: 'CSV/TSV',
+ },
+ // We attribute the import to current user,
+ // not the author from the original object.
+ userId: this._user(),
+ });
+ return boardId;
+ }
+
+ createSwimlanes(boardId) {
+ const swimlaneToCreate = {
+ archived: false,
+ boardId,
+ createdAt: this._now(),
+ title: 'Default',
+ sort: 1,
+ };
+ const swimlaneId = Swimlanes.direct.insert(swimlaneToCreate);
+ Swimlanes.direct.update(swimlaneId, { $set: { updatedAt: this._now() } });
+ this.swimlane = swimlaneId;
+ }
+
+ createLists(csvData, boardId) {
+ let numOfCreatedLists = 0;
+ for (let i = 1; i < csvData.length; i++) {
+ const listToCreate = {
+ archived: false,
+ boardId,
+ createdAt: this._now(),
+ };
+ if (csvData[i][this.fieldIndex.stage]) {
+ const existingList = Lists.find({
+ title: csvData[i][this.fieldIndex.stage],
+ boardId,
+ }).fetch();
+ if (existingList.length > 0) {
+ continue;
+ } else {
+ listToCreate.title = csvData[i][this.fieldIndex.stage];
+ }
+ } else listToCreate.title = `Imported List ${this._now()}`;
+
+ const listId = Lists.direct.insert(listToCreate);
+ this.lists[csvData[i][this.fieldIndex.stage]] = listId;
+ numOfCreatedLists++;
+ Lists.direct.update(listId, {
+ $set: {
+ updatedAt: this._now(),
+ sort: numOfCreatedLists,
+ },
+ });
+ }
+ }
+
+ createCards(csvData, boardId) {
+ for (let i = 1; i < csvData.length; i++) {
+ const cardToCreate = {
+ archived: false,
+ boardId,
+ createdAt: csvData[i][this.fieldIndex.createdAt]
+ ? this._now(new Date(csvData[i][this.fieldIndex.createdAt]))
+ : null,
+ dateLastActivity: this._now(),
+ description: csvData[i][this.fieldIndex.description],
+ listId: this.lists[csvData[i][this.fieldIndex.stage]],
+ swimlaneId: this.swimlane,
+ sort: -1,
+ title: csvData[i][this.fieldIndex.title],
+ userId: this._user(),
+ startAt: csvData[i][this.fieldIndex.startAt]
+ ? this._now(new Date(csvData[i][this.fieldIndex.startAt]))
+ : null,
+ dueAt: csvData[i][this.fieldIndex.dueAt]
+ ? this._now(new Date(csvData[i][this.fieldIndex.dueAt]))
+ : null,
+ endAt: csvData[i][this.fieldIndex.endAt]
+ ? this._now(new Date(csvData[i][this.fieldIndex.endAt]))
+ : null,
+ spentTime: null,
+ labelIds: [],
+ modifiedAt: csvData[i][this.fieldIndex.modifiedAt]
+ ? this._now(new Date(csvData[i][this.fieldIndex.modifiedAt]))
+ : null,
+ };
+ // add the labels
+ if (csvData[i][this.fieldIndex.labels]) {
+ const board = Boards.findOne(boardId);
+ for (const importedLabel of csvData[i][this.fieldIndex.labels].split(
+ ' ',
+ )) {
+ if (importedLabel && importedLabel.length > 0) {
+ let labelToApply;
+ if (importedLabel.indexOf('-') === -1) {
+ labelToApply = board.getLabel(importedLabel, 'black');
+ } else {
+ labelToApply = board.getLabel(
+ importedLabel.split('-')[0],
+ importedLabel.split('-')[1],
+ );
+ }
+ cardToCreate.labelIds.push(labelToApply._id);
+ }
+ }
+ }
+ // add the members
+ if (csvData[i][this.fieldIndex.members]) {
+ const wekanMembers = [];
+ for (const importedMember of csvData[i][this.fieldIndex.members].split(
+ ' ',
+ )) {
+ if (this.members[importedMember]) {
+ const wekanId = this.members[importedMember];
+ if (!wekanMembers.find(wId => wId === wekanId)) {
+ wekanMembers.push(wekanId);
+ }
+ }
+ }
+ if (wekanMembers.length > 0) {
+ cardToCreate.members = wekanMembers;
+ }
+ }
+ Cards.direct.insert(cardToCreate);
+ }
+ }
+
+ create(board, currentBoardId) {
+ const isSandstorm =
+ Meteor.settings &&
+ Meteor.settings.public &&
+ Meteor.settings.public.sandstorm;
+ if (isSandstorm && currentBoardId) {
+ const currentBoard = Boards.findOne(currentBoardId);
+ currentBoard.archive();
+ }
+ this.mapHeadertoCardFieldIndex(board[0]);
+ const boardId = this.createBoard(board);
+ this.createLists(board, boardId);
+ this.createSwimlanes(boardId);
+ this.createCards(board, boardId);
+ return boardId;
+ }
+}
diff --git a/models/export.js b/models/export.js
index 339123c8..c3783679 100644
--- a/models/export.js
+++ b/models/export.js
@@ -1,3 +1,4 @@
+import { Exporter } from './exporter';
/* global JsonRoutes */
if (Meteor.isServer) {
// todo XXX once we have a real API in place, move that route there
@@ -7,10 +8,10 @@ if (Meteor.isServer) {
// on the client instead of copy/pasting the route path manually between the
// client and the server.
/**
- * @operation export
+ * @operation exportJson
* @tag Boards
*
- * @summary This route is used to export the board.
+ * @summary This route is used to export the board to a json file format.
*
* @description If user is already logged-in, pass loginToken as param
* "authToken": '/api/boards/:boardId/export?authToken=:token'
@@ -46,199 +47,52 @@ if (Meteor.isServer) {
JsonRoutes.sendResult(res, 403);
}
});
-}
-
-// exporter maybe is broken since Gridfs introduced, add fs and path
-
-export class Exporter {
- constructor(boardId) {
- this._boardId = boardId;
- }
-
- build() {
- const fs = Npm.require('fs');
- const os = Npm.require('os');
- const path = Npm.require('path');
-
- const byBoard = { boardId: this._boardId };
- const byBoardNoLinked = {
- boardId: this._boardId,
- linkedId: { $in: ['', null] },
- };
- // we do not want to retrieve boardId in related elements
- const noBoardId = {
- fields: {
- boardId: 0,
- },
- };
- const result = {
- _format: 'wekan-board-1.0.0',
- };
- _.extend(
- result,
- Boards.findOne(this._boardId, {
- fields: {
- stars: 0,
- },
- }),
- );
- result.lists = Lists.find(byBoard, noBoardId).fetch();
- result.cards = Cards.find(byBoardNoLinked, noBoardId).fetch();
- result.swimlanes = Swimlanes.find(byBoard, noBoardId).fetch();
- result.customFields = CustomFields.find(
- { boardIds: { $in: [this.boardId] } },
- { fields: { boardId: 0 } },
- ).fetch();
- result.comments = CardComments.find(byBoard, noBoardId).fetch();
- result.activities = Activities.find(byBoard, noBoardId).fetch();
- result.rules = Rules.find(byBoard, noBoardId).fetch();
- result.checklists = [];
- result.checklistItems = [];
- result.subtaskItems = [];
- result.triggers = [];
- result.actions = [];
- result.cards.forEach(card => {
- result.checklists.push(
- ...Checklists.find({
- cardId: card._id,
- }).fetch(),
- );
- result.checklistItems.push(
- ...ChecklistItems.find({
- cardId: card._id,
- }).fetch(),
- );
- result.subtaskItems.push(
- ...Cards.find({
- parentId: card._id,
- }).fetch(),
- );
- });
- result.rules.forEach(rule => {
- result.triggers.push(
- ...Triggers.find(
- {
- _id: rule.triggerId,
- },
- noBoardId,
- ).fetch(),
- );
- result.actions.push(
- ...Actions.find(
- {
- _id: rule.actionId,
- },
- noBoardId,
- ).fetch(),
- );
- });
-
- // [Old] for attachments we only export IDs and absolute url to original doc
- // [New] Encode attachment to base64
-
- const getBase64Data = function(doc, callback) {
- let buffer = Buffer.allocUnsafe(0);
- buffer.fill(0);
-
- // callback has the form function (err, res) {}
- const tmpFile = path.join(
- os.tmpdir(),
- `tmpexport${process.pid}${Math.random()}`,
- );
- const tmpWriteable = fs.createWriteStream(tmpFile);
- const readStream = doc.createReadStream();
- readStream.on('data', function(chunk) {
- buffer = Buffer.concat([buffer, chunk]);
- });
-
- readStream.on('error', function(err) {
- callback(null, null);
- });
- readStream.on('end', function() {
- // done
- fs.unlink(tmpFile, () => {
- //ignored
- });
- callback(null, buffer.toString('base64'));
+ /**
+ * @operation exportCSV/TSV
+ * @tag Boards
+ *
+ * @summary This route is used to export the board to a CSV or TSV file format.
+ *
+ * @description If user is already logged-in, pass loginToken as param
+ *
+ * See https://blog.kayla.com.au/server-side-route-authentication-in-meteor/
+ * for detailed explanations
+ *
+ * @param {string} boardId the ID of the board we are exporting
+ * @param {string} authToken the loginToken
+ * @param {string} delimiter delimiter to use while building export. Default is comma ','
+ */
+ Picker.route('/api/boards/:boardId/export/csv', function(params, req, res) {
+ const boardId = params.boardId;
+ let user = null;
+ const loginToken = params.query.authToken;
+ if (loginToken) {
+ const hashToken = Accounts._hashLoginToken(loginToken);
+ user = Meteor.users.findOne({
+ 'services.resume.loginTokens.hashedToken': hashToken,
});
- readStream.pipe(tmpWriteable);
- };
- const getBase64DataSync = Meteor.wrapAsync(getBase64Data);
- result.attachments = Attachments.find(byBoard)
- .fetch()
- .map(attachment => {
- let filebase64 = null;
- filebase64 = getBase64DataSync(attachment);
-
- return {
- _id: attachment._id,
- cardId: attachment.cardId,
- //url: FlowRouter.url(attachment.url()),
- file: filebase64,
- name: attachment.original.name,
- type: attachment.original.type,
- };
+ } else if (!Meteor.settings.public.sandstorm) {
+ Authentication.checkUserId(req.userId);
+ user = Users.findOne({
+ _id: req.userId,
+ isAdmin: true,
});
-
- // we also have to export some user data - as the other elements only
- // include id but we have to be careful:
- // 1- only exports users that are linked somehow to that board
- // 2- do not export any sensitive information
- const users = {};
- result.members.forEach(member => {
- users[member.userId] = true;
- });
- result.lists.forEach(list => {
- users[list.userId] = true;
- });
- result.cards.forEach(card => {
- users[card.userId] = true;
- if (card.members) {
- card.members.forEach(memberId => {
- users[memberId] = true;
- });
- }
- });
- result.comments.forEach(comment => {
- users[comment.userId] = true;
- });
- result.activities.forEach(activity => {
- users[activity.userId] = true;
- });
- result.checklists.forEach(checklist => {
- users[checklist.userId] = true;
- });
- const byUserIds = {
- _id: {
- $in: Object.getOwnPropertyNames(users),
- },
- };
- // we use whitelist to be sure we do not expose inadvertently
- // some secret fields that gets added to User later.
- const userFields = {
- fields: {
- _id: 1,
- username: 1,
- 'profile.fullname': 1,
- 'profile.initials': 1,
- 'profile.avatarUrl': 1,
- },
- };
- result.users = Users.find(byUserIds, userFields)
- .fetch()
- .map(user => {
- // user avatar is stored as a relative url, we export absolute
- if ((user.profile || {}).avatarUrl) {
- user.profile.avatarUrl = FlowRouter.url(user.profile.avatarUrl);
- }
- return user;
+ }
+ const exporter = new Exporter(boardId);
+ if (exporter.canExport(user)) {
+ body = params.query.delimiter
+ ? exporter.buildCsv(params.query.delimiter)
+ : exporter.buildCsv();
+ res.writeHead(200, {
+ 'Content-Length': body[0].length,
+ 'Content-Type': params.query.delimiter ? 'text/csv' : 'text/tsv',
});
- return result;
- }
-
- canExport(user) {
- const board = Boards.findOne(this._boardId);
- return board && board.isVisibleBy(user);
- }
+ res.write(body[0]);
+ res.end();
+ } else {
+ res.writeHead(403);
+ res.end('Permission Error');
+ }
+ });
}
diff --git a/models/exporter.js b/models/exporter.js
new file mode 100644
index 00000000..3fa8ca3a
--- /dev/null
+++ b/models/exporter.js
@@ -0,0 +1,344 @@
+const stringify = require('csv-stringify');
+
+// exporter maybe is broken since Gridfs introduced, add fs and path
+export class Exporter {
+ constructor(boardId) {
+ this._boardId = boardId;
+ }
+
+ build() {
+ const fs = Npm.require('fs');
+ const os = Npm.require('os');
+ const path = Npm.require('path');
+
+ const byBoard = { boardId: this._boardId };
+ const byBoardNoLinked = {
+ boardId: this._boardId,
+ linkedId: { $in: ['', null] },
+ };
+ // we do not want to retrieve boardId in related elements
+ const noBoardId = {
+ fields: {
+ boardId: 0,
+ },
+ };
+ const result = {
+ _format: 'wekan-board-1.0.0',
+ };
+ _.extend(
+ result,
+ Boards.findOne(this._boardId, {
+ fields: {
+ stars: 0,
+ },
+ }),
+ );
+ result.lists = Lists.find(byBoard, noBoardId).fetch();
+ result.cards = Cards.find(byBoardNoLinked, noBoardId).fetch();
+ result.swimlanes = Swimlanes.find(byBoard, noBoardId).fetch();
+ result.customFields = CustomFields.find(
+ { boardIds: { $in: [this.boardId] } },
+ { fields: { boardId: 0 } },
+ ).fetch();
+ result.comments = CardComments.find(byBoard, noBoardId).fetch();
+ result.activities = Activities.find(byBoard, noBoardId).fetch();
+ result.rules = Rules.find(byBoard, noBoardId).fetch();
+ result.checklists = [];
+ result.checklistItems = [];
+ result.subtaskItems = [];
+ result.triggers = [];
+ result.actions = [];
+ result.cards.forEach(card => {
+ result.checklists.push(
+ ...Checklists.find({
+ cardId: card._id,
+ }).fetch(),
+ );
+ result.checklistItems.push(
+ ...ChecklistItems.find({
+ cardId: card._id,
+ }).fetch(),
+ );
+ result.subtaskItems.push(
+ ...Cards.find({
+ parentId: card._id,
+ }).fetch(),
+ );
+ });
+ result.rules.forEach(rule => {
+ result.triggers.push(
+ ...Triggers.find(
+ {
+ _id: rule.triggerId,
+ },
+ noBoardId,
+ ).fetch(),
+ );
+ result.actions.push(
+ ...Actions.find(
+ {
+ _id: rule.actionId,
+ },
+ noBoardId,
+ ).fetch(),
+ );
+ });
+
+ // [Old] for attachments we only export IDs and absolute url to original doc
+ // [New] Encode attachment to base64
+
+ const getBase64Data = function(doc, callback) {
+ let buffer = Buffer.allocUnsafe(0);
+ buffer.fill(0);
+
+ // callback has the form function (err, res) {}
+ const tmpFile = path.join(
+ os.tmpdir(),
+ `tmpexport${process.pid}${Math.random()}`,
+ );
+ const tmpWriteable = fs.createWriteStream(tmpFile);
+ const readStream = doc.createReadStream();
+ readStream.on('data', function(chunk) {
+ buffer = Buffer.concat([buffer, chunk]);
+ });
+
+ readStream.on('error', function() {
+ callback(null, null);
+ });
+ readStream.on('end', function() {
+ // done
+ fs.unlink(tmpFile, () => {
+ //ignored
+ });
+
+ callback(null, buffer.toString('base64'));
+ });
+ readStream.pipe(tmpWriteable);
+ };
+ const getBase64DataSync = Meteor.wrapAsync(getBase64Data);
+ result.attachments = Attachments.find(byBoard)
+ .fetch()
+ .map(attachment => {
+ let filebase64 = null;
+ filebase64 = getBase64DataSync(attachment);
+
+ return {
+ _id: attachment._id,
+ cardId: attachment.cardId,
+ //url: FlowRouter.url(attachment.url()),
+ file: filebase64,
+ name: attachment.original.name,
+ type: attachment.original.type,
+ };
+ });
+
+ // we also have to export some user data - as the other elements only
+ // include id but we have to be careful:
+ // 1- only exports users that are linked somehow to that board
+ // 2- do not export any sensitive information
+ const users = {};
+ result.members.forEach(member => {
+ users[member.userId] = true;
+ });
+ result.lists.forEach(list => {
+ users[list.userId] = true;
+ });
+ result.cards.forEach(card => {
+ users[card.userId] = true;
+ if (card.members) {
+ card.members.forEach(memberId => {
+ users[memberId] = true;
+ });
+ }
+ });
+ result.comments.forEach(comment => {
+ users[comment.userId] = true;
+ });
+ result.activities.forEach(activity => {
+ users[activity.userId] = true;
+ });
+ result.checklists.forEach(checklist => {
+ users[checklist.userId] = true;
+ });
+ const byUserIds = {
+ _id: {
+ $in: Object.getOwnPropertyNames(users),
+ },
+ };
+ // we use whitelist to be sure we do not expose inadvertently
+ // some secret fields that gets added to User later.
+ const userFields = {
+ fields: {
+ _id: 1,
+ username: 1,
+ 'profile.fullname': 1,
+ 'profile.initials': 1,
+ 'profile.avatarUrl': 1,
+ },
+ };
+ result.users = Users.find(byUserIds, userFields)
+ .fetch()
+ .map(user => {
+ // user avatar is stored as a relative url, we export absolute
+ if ((user.profile || {}).avatarUrl) {
+ user.profile.avatarUrl = FlowRouter.url(user.profile.avatarUrl);
+ }
+ return user;
+ });
+ return result;
+ }
+
+ buildCsv(delimiter = ',') {
+ const result = this.build();
+ const columnHeaders = [];
+ const cardRows = [];
+ columnHeaders.push(
+ 'Title',
+ 'Description',
+ 'Status',
+ 'Swimlane',
+ 'Owner',
+ 'Requested by',
+ 'Assigned by',
+ 'Members',
+ 'Assignees',
+ 'Labels',
+ 'Start at',
+ 'Due at',
+ 'End at',
+ 'Over time',
+ 'Spent time (hours)',
+ 'Created at',
+ 'Last modified at',
+ 'Last activity',
+ 'Vote',
+ 'Archived',
+ );
+
+ /* TODO: Try to get translations working.
+ These currently only bring English translations.
+ TAPi18n.__('title'),
+ TAPi18n.__('description'),
+ TAPi18n.__('status'),
+ TAPi18n.__('swimlane'),
+ TAPi18n.__('owner'),
+ TAPi18n.__('requested-by'),
+ TAPi18n.__('assigned-by'),
+ TAPi18n.__('members'),
+ TAPi18n.__('assignee'),
+ TAPi18n.__('labels'),
+ TAPi18n.__('card-start'),
+ TAPi18n.__('card-due'),
+ TAPi18n.__('card-end'),
+ TAPi18n.__('overtime-hours'),
+ TAPi18n.__('spent-time-hours'),
+ TAPi18n.__('createdAt'),
+ TAPi18n.__('last-modified-at'),
+ TAPi18n.__('last-activity'),
+ TAPi18n.__('voting'),
+ TAPi18n.__('archived'),
+ */
+
+ const stringifier = stringify({
+ header: true,
+ delimiter,
+ columns: columnHeaders,
+ });
+
+ stringifier.on('readable', function() {
+ let row;
+ while ((row = stringifier.read())) {
+ cardRows.push(row);
+ }
+ });
+
+ stringifier.on('error', function(err) {
+ // eslint-disable-next-line no-console
+ console.error(err.message);
+ });
+
+ result.cards.forEach(card => {
+ const currentRow = [];
+ currentRow.push(card.title);
+ currentRow.push(card.description);
+ currentRow.push(
+ result.lists.find(({ _id }) => _id === card.listId).title,
+ );
+ currentRow.push(
+ result.swimlanes.find(({ _id }) => _id === card.swimlaneId).title,
+ );
+ currentRow.push(
+ result.users.find(({ _id }) => _id === card.userId).username,
+ );
+ currentRow.push(card.requestedBy ? card.requestedBy : ' ');
+ currentRow.push(card.assignedBy ? card.assignedBy : ' ');
+ let usernames = '';
+ card.members.forEach(memberId => {
+ const user = result.users.find(({ _id }) => _id === memberId);
+ usernames = `${usernames + user.username} `;
+ });
+ currentRow.push(usernames.trim());
+ let assignees = '';
+ card.assignees.forEach(assigneeId => {
+ const user = result.users.find(({ _id }) => _id === assigneeId);
+ assignees = `${assignees + user.username} `;
+ });
+ currentRow.push(assignees.trim());
+ let labels = '';
+ card.labelIds.forEach(labelId => {
+ const label = result.labels.find(({ _id }) => _id === labelId);
+ labels = `${labels + label.name}-${label.color} `;
+ });
+ currentRow.push(labels.trim());
+ currentRow.push(card.startAt ? moment(card.startAt).format('LLLL') : ' ');
+ currentRow.push(card.dueAt ? moment(card.dueAt).format('LLLL') : ' ');
+ currentRow.push(card.endAt ? moment(card.endAt).format('LLLL') : ' ');
+ currentRow.push(card.isOvertime ? 'true' : 'false');
+ currentRow.push(card.spentTime);
+ currentRow.push(
+ card.createdAt ? moment(card.createdAt).format('LLLL') : ' ',
+ );
+ currentRow.push(
+ card.modifiedAt ? moment(card.modifiedAt).format('LLLL') : ' ',
+ );
+ currentRow.push(
+ card.dateLastActivity
+ ? moment(card.dateLastActivity).format('LLLL')
+ : ' ',
+ );
+ if (card.vote.question) {
+ let positiveVoters = '';
+ let negativeVoters = '';
+ card.vote.positive.forEach(userId => {
+ const user = result.users.find(({ _id }) => _id === userId);
+ positiveVoters = `${positiveVoters + user.username} `;
+ });
+ card.vote.negative.forEach(userId => {
+ const user = result.users.find(({ _id }) => _id === userId);
+ negativeVoters = `${negativeVoters + user.username} `;
+ });
+ const votingResult = `${
+ card.vote.public
+ ? `yes-${
+ card.vote.positive.length
+ }-${positiveVoters.trimRight()}-no-${
+ card.vote.negative.length
+ }-${negativeVoters.trimRight()}`
+ : `yes-${card.vote.positive.length}-no-${card.vote.negative.length}`
+ }`;
+ currentRow.push(`${card.vote.question}-${votingResult}`);
+ } else {
+ currentRow.push(' ');
+ }
+ currentRow.push(card.archived ? 'true' : 'false');
+ stringifier.write(currentRow);
+ });
+ stringifier.end();
+ return cardRows;
+ }
+
+ canExport(user) {
+ const board = Boards.findOne(this._boardId);
+ return board && board.isVisibleBy(user);
+ }
+}
diff --git a/models/import.js b/models/import.js
index fbfb1483..f3cbaa9b 100644
--- a/models/import.js
+++ b/models/import.js
@@ -1,22 +1,28 @@
import { TrelloCreator } from './trelloCreator';
import { WekanCreator } from './wekanCreator';
-import { Exporter } from './export';
+import { CsvCreator } from './csvCreator';
+import { Exporter } from './exporter';
import wekanMembersMapper from './wekanmapper';
Meteor.methods({
importBoard(board, data, importSource, currentBoard) {
- check(board, Object);
check(data, Object);
check(importSource, String);
check(currentBoard, Match.Maybe(String));
let creator;
switch (importSource) {
case 'trello':
+ check(board, Object);
creator = new TrelloCreator(data);
break;
case 'wekan':
+ check(board, Object);
creator = new WekanCreator(data);
break;
+ case 'csv':
+ check(board, Array);
+ creator = new CsvCreator(data);
+ break;
}
// 1. check all parameters are ok from a syntax point of view
diff --git a/package-lock.json b/package-lock.json
index 61c32c66..93ab5e39 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1033,6 +1033,11 @@
"resolved": "https://registry.npmjs.org/cssfilter/-/cssfilter-0.0.10.tgz",
"integrity": "sha1-xtJnJjKi5cg+AT5oZKQs6N79IK4="
},
+ "csv-stringify": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/csv-stringify/-/csv-stringify-5.5.0.tgz",
+ "integrity": "sha512-G05575DSO/9vFzQxZN+Srh30cNyHk0SM0ePyiTChMD5WVt7GMTVPBQf4rtgMF6mqhNCJUPw4pN8LDe8MF9EYOA=="
+ },
"dashdash": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
@@ -3864,6 +3869,11 @@
"path-to-regexp": "~1.2.1"
}
},
+ "papaparse": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/papaparse/-/papaparse-5.2.0.tgz",
+ "integrity": "sha512-ylq1wgUSnagU+MKQtNeVqrPhZuMYBvOSL00DHycFTCxownF95gpLAk1HiHdUW77N8yxRq1qHXLdlIPyBSG9NSA=="
+ },
"parent-module": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
diff --git a/package.json b/package.json
index de729564..50ce8f24 100644
--- a/package.json
+++ b/package.json
@@ -62,6 +62,7 @@
"bcrypt": "^3.0.7",
"bson": "^4.0.3",
"bunyan": "^1.8.12",
+ "csv-stringify": "^5.5.0",
"es6-promise": "^4.2.4",
"flatted": "^2.0.1",
"gridfs-stream": "^0.5.3",
@@ -70,6 +71,7 @@
"mongodb": "^3.5.7",
"os": "^0.1.1",
"page": "^1.11.5",
+ "papaparse": "^5.2.0",
"qs": "^6.9.4",
"source-map-support": "^0.5.19",
"xss": "^1.0.6"