2
0
Эх сурвалжийг харах

Merge branch 'master' of https://github.com/scherdel/wekan

Christoph Jahn 5 жил өмнө
parent
commit
8633bd8974

+ 4 - 4
.travis.yml

@@ -1,10 +1,10 @@
-dist: trusty
+dist: disco
 sudo: required
 
 env:
-  TRAVIS_DOCKER_COMPOSE_VERSION: 1.17.0
-  TRAVIS_NODE_VERSION: 8.9.3
-  TRAVIS_NPM_VERSION: 5.5.1
+  TRAVIS_DOCKER_COMPOSE_VERSION: 1.24.0
+  TRAVIS_NODE_VERSION: 8.16.1
+  TRAVIS_NPM_VERSION: 6.4.1
 
 before_install:
   - sudo apt-get update -y

+ 91 - 1
CHANGELOG.md

@@ -1,7 +1,97 @@
-# Upcoming Wekan release
+# v3.35 2019-08-29 Wekan release
 
 This release fixes the following bugs:
 
+- [Try to fix Snap](https://github.com/wekan/wekan/commit/71d32c6bc8e6affd345026797ff31e94a0a10d77).
+
+Thanks to above GitHub users for their contributions and translators for their translations.
+
+# v3.34 2019-08-29 Wekan release
+
+This release fixes the following bugs:
+
+- [Snap: Delete all .swp files](https://github.com/wekan/wekan/commit/d5403bbfc53390aeaaf68eb452bc24d88f1e0942).
+  Thanks to xet7.
+
+Thanks to above GitHub users for their contributions and translators for their translations.
+
+# v3.33 2019-08-29 Wekan release
+
+This release adds the following new features:
+
+- [Add card color to calendar event. The color of the calendar event will match the card
+  color](https://github.com/wekan/wekan/pull/2664).
+  Thanks to grmpfhmbl.
+
+Thanks to above GitHub users for their contributions and translators for their translations.
+
+# v3.32 2019-08-29 Wekan release
+
+This release fixes the following bugs:
+
+- [Fix Snap adopt-info](https://github.com/wekan/wekan/commit/79d4cd83b1fa83bb814230683b7449ed7f3e1ede).
+  Thanks to [popey at Snapcraft forum](https://forum.snapcraft.io/t/dirty-snap-release/12975/12).
+
+Thanks to above GitHub users for their contributions and translators for their translations.
+
+# v3.31 2019-08-29 Wekan release
+
+This release fixes the following bugs:
+
+- [Try](https://github.com/wekan/wekan/commit/be5f435bc5f500b24bc838ac1dc8bf3bb9a33a22) to
+  [fix adopt-info](https://forum.snapcraft.io/t/dirty-snap-release/12975/8).
+  Thanks to ogra at Snapcraft forum.
+
+Thanks to above GitHub users for their contributions and translators for their translations.
+
+# v3.30 2019-08-29 Wekan release
+
+This release fixes the following bugs:
+
+- Snap: [Change version-script to adopt-info](https://github.com/wekan/wekan/commit/0ff5ce8fde6cc9a05a3c8b93e18ebce7282d3a67)
+  to [fix dirty](https://forum.snapcraft.io/t/dirty-snap-release/12975/4).
+  Thanks to popey and daniel at Snapcraft forum.
+- [Delete another phantomjs binary from Snap](https://github.com/wekan/wekan/commit/5084102e6e17fa2cb3bc8c1180745e15379fab5f).
+  Thanks to xet7.
+
+Thanks to above GitHub users for their contributions and translators for their translations.
+
+# v3.29 2019-08-29 Wekan release
+
+This release fixes the following bugs:
+
+- [Fix Snap](https://github.com/wekan/wekan/commit/7761a22bb4e88ad9a5a39ed84e1ff244015c3a58).
+  Thanks to xet7.
+
+Thanks to above GitHub users for their contributions and translators for their translations.
+
+# v3.28 2019-08-29 Wekan release
+
+This release fixes the following bugs:
+
+- Fix broken Sandstorm release by reverting upgrading MongoDB.
+  Thanks to xet7
+
+Thanks to above GitHub users for their contributions and translators for their translations.
+
+# v3.27 2019-08-29 Wekan release
+
+This release adds the following upgrades:
+
+- [Upgrade Node, Mongo, fibers and qs](https://github.com/wekan/wekan/commit/e21c47d3cfe0f228ce5ab394142c6ec6ee090d65).
+  Thanks to xet7.
+
+Thanks to above GitHub users for their contributions and translators for their translations.
+
+# v3.26 2019-08-28 Wekan release
+
+This release adds the following new features:
+
+- [Add devcontainer](https://github.com/wekan/wekan/pull/2659) and some [related fixes](https://github.com/wekan/wekan/pull/2660).
+  Thanks to road42.
+
+and fixes the following bugs:
+
 - [Add missing modules](https://github.com/wekan/wekan/pull/2653).
   Thanks to GhassenRjab.
 - [Add package-lock.json](https://github.com/wekan/wekan/commit/ad01526124216abcc8b3c8230599c4eda331a86d).

+ 2 - 2
Dockerfile

@@ -6,7 +6,7 @@ LABEL maintainer="wekan"
 # ENV BUILD_DEPS="paxctl"
 ENV BUILD_DEPS="apt-utils bsdtar gnupg gosu wget curl bzip2 g++ build-essential git ca-certificates" \
     DEBUG=false \
-    NODE_VERSION=v8.16.0 \
+    NODE_VERSION=v8.16.1 \
     METEOR_RELEASE=1.8.1 \
     USE_EDGE=false \
     METEOR_EDGE=1.5-beta.17 \
@@ -178,7 +178,7 @@ RUN \
     mv node-${NODE_VERSION}-${ARCHITECTURE} /opt/nodejs && \
     ln -s /opt/nodejs/bin/node /usr/bin/node && \
     ln -s /opt/nodejs/bin/npm /usr/bin/npm && \
-    mkdir -p /opt/nodejs/lib/node_modules/fibers/.node-gyp /root/.node-gyp/8.16.0 /home/wekan/.config && \
+    mkdir -p /opt/nodejs/lib/node_modules/fibers/.node-gyp /root/.node-gyp/8.16.1 /home/wekan/.config && \
     chown wekan --recursive /home/wekan/.config && \
     \
     #DOES NOT WORK: paxctl fix for alpine linux: https://github.com/wekan/wekan/issues/1303

+ 1 - 1
Stackerfile.yml

@@ -1,5 +1,5 @@
 appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
-appVersion: "v3.25.0"
+appVersion: "v3.35.0"
 files:
   userUploads:
     - README.md

+ 1 - 0
client/components/boards/boardBody.js

@@ -326,6 +326,7 @@ BlazeComponent.extendComponent({
                 slug: currentBoard.slug,
                 cardId: card._id,
               }),
+              className: card.color ? `calendar-event-${card.color}` : null,
             });
           });
         callback(events);

+ 78 - 0
client/components/boards/boardBody.styl

@@ -53,3 +53,81 @@ position()
         padding: 0 0px 0px 0
         overflow-x: hidden
         overflow-y: auto
+
+calendar-event-color(background, borderColor, color...)
+  background: background !important
+  border-color: borderColor
+  if color
+    color: color !important //overwrite text for better visibility
+
+.calendar-event-green
+  calendar-event-color(#3cb500, #2a8000, #ffffff) //White text for better visibility
+
+.calendar-event-yellow
+  calendar-event-color(#fad900, #c7ac00, #000) //Black text for better visibility
+
+.calendar-event-orange
+  calendar-event-color(#ff9f19, #cc7c14, #000) //Black text for better visibility
+
+.calendar-event-red
+  calendar-event-color(#eb4646, #b83737, #ffffff) //White text for better visibility
+
+.calendar-event-purple
+  calendar-event-color(#a632db, #7d26a6, #ffffff) //White text for better visibility
+
+.calendar-event-blue
+  calendar-event-color(#0079bf, #005a8a, #ffffff) //White text for better visibility
+
+.calendar-event-pink
+  calendar-event-color(#ff78cb, #cc62a3, #000) //Black text for better visibility
+
+.calendar-event-sky
+  calendar-event-color(#00c2e0, #0094ab, #ffffff) //White text for better visibility
+
+.calendar-event-black
+  calendar-event-color(#4d4d4d, #1a1a1a, #ffffff) //White text for better visibility
+
+.calendar-event-lime
+  calendar-event-color(#51e898, #3eb375, #000) //Black text for better visibility
+
+.calendar-event-silver
+  calendar-event-color(#c0c0c0, #8c8c8c, #000) //Black text for better visibility
+
+.calendar-event-peachpuff
+  calendar-event-color(#ffdab9, #ccaf95, #000) //Black text for better visibility
+
+.calendar-event-crimson
+  calendar-event-color(#dc143c, #a8112f, #ffffff) //White text for better visibility
+
+.calendar-event-plum
+  calendar-event-color(#dda0dd, #a87ba8, #000) //Black text for better visibility
+
+.calendar-event-darkgreen
+  calendar-event-color(#006400, #003000, #ffffff) //White text for better visibility
+
+.calendar-event-slateblue
+  calendar-event-color(#6a5acd, #4f4399, #ffffff) //White text for better visibility
+
+.calendar-event-magenta
+  calendar-event-color(#ff00ff, #cc00cc, #ffffff) //White text for better visibility
+
+.calendar-event-gold
+  calendar-event-color(#ffd700, #ccaa00, #000) //Black text for better visibility
+
+.calendar-event-navy
+  calendar-event-color(#000080, #000033, #ffffff) //White text for better visibility
+
+.calendar-event-gray
+  calendar-event-color(#808080, #333333, #ffffff) //White text for better visibility
+
+.calendar-event-saddlebrown
+  calendar-event-color(#8b4513, #572b0c, #ffffff) //White text for better visibility
+
+.calendar-event-paleturquoise
+  calendar-event-color(#afeeee, #8ababa, #000) //Black text for better visibility
+
+.calendar-event-mistyrose
+  calendar-event-color(#ffe4e1, #ccb8b6, #000) //Black text for better visibility
+
+.calendar-event-indigo
+  calendar-event-color(#4b0082, #2b004d, #ffffff) //White text for better visibility

+ 1 - 1
docker-compose.yml

@@ -93,7 +93,7 @@ services:
     #-------------------------------------------------------------------------------------
     # ==== MONGODB AND METEOR VERSION ====
     # a) For Wekan Meteor 1.8.x version at master branch, use mongo 4.x
-    image: mongo:4.0.11
+    image: mongo:4.0.12
     # b) For Wekan Meteor 1.6.x version at devel branch.
     # Only for Snap and Sandstorm while they are not upgraded yet to Meteor 1.8.x
     #image: mongo:3.2.21

+ 15 - 15
i18n/it.i18n.json

@@ -306,8 +306,8 @@
   "filter-no-label": "Nessuna etichetta",
   "filter-no-member": "Nessun membro",
   "filter-no-custom-fields": "Nessun campo personalizzato",
-  "filter-show-archive": "Show archived lists",
-  "filter-hide-empty": "Hide empty lists",
+  "filter-show-archive": "Mostra le liste archiviate",
+  "filter-hide-empty": "Nascondi liste vuote",
   "filter-on": "Il filtro è attivo",
   "filter-on-desc": "Stai filtrando le schede su questa bacheca. Clicca qui per modificare il filtro,",
   "filter-to-selection": "Seleziona",
@@ -516,10 +516,10 @@
   "new-outgoing-webhook": "Nuovo webhook in uscita",
   "no-name": "(Sconosciuto)",
   "Node_version": "Versione di Node",
-  "Meteor_version": "Meteor version",
-  "MongoDB_version": "MongoDB version",
-  "MongoDB_storage_engine": "MongoDB storage engine",
-  "MongoDB_Oplog_enabled": "MongoDB Oplog enabled",
+  "Meteor_version": "Versione Meteor",
+  "MongoDB_version": "Versione MondoDB",
+  "MongoDB_storage_engine": "Versione motore dati MongoDB",
+  "MongoDB_Oplog_enabled": "MongoDB Oplog abilitato",
   "OS_Arch": "Architettura del sistema operativo",
   "OS_Cpus": "Conteggio della CPU del sistema operativo",
   "OS_Freemem": "Memoria libera del sistema operativo",
@@ -681,13 +681,13 @@
   "r-board-note": "Nota: Lascia un campo vuoto per abbinare ogni possibile valore",
   "r-checklist-note": "Nota: Gli elementi della checklist devono essere scritti come valori separati dalla virgola",
   "r-when-a-card-is-moved": "Quando una scheda viene spostata su un'altra lista",
-  "r-set": "Set",
-  "r-update": "Update",
-  "r-datefield": "date field",
-  "r-df-start-at": "start",
-  "r-df-due-at": "due",
-  "r-df-end-at": "end",
-  "r-df-received-at": "received",
+  "r-set": "Imposta",
+  "r-update": "Aggiorna",
+  "r-datefield": "campo data",
+  "r-df-start-at": "inizio",
+  "r-df-due-at": "scadenza",
+  "r-df-end-at": "fine",
+  "r-df-received-at": "ricevuta",
   "r-to-current-datetime": "to current date/time",
   "r-remove-value-from": "Remove value from",
   "ldap": "LDAP",
@@ -728,7 +728,7 @@
   "act-pastdue": "was reminding the current due (__timeValue__) of __card__ is past",
   "act-duenow": "was reminding the current due (__timeValue__) of __card__ is now",
   "act-atUserComment": "You were mentioned in [__board__] __card__",
-  "delete-user-confirm-popup": "Are you sure you want to delete this account? There is no undo.",
-  "accounts-allowUserDelete": "Allow users to self delete their account",
+  "delete-user-confirm-popup": "Sei sicuro di voler cancellare questo profilo? Non sarà possibile ripristinarlo.",
+  "accounts-allowUserDelete": "Permetti agli utenti di cancellare il loro profilo",
   "hide-minicard-label-text": "Hide minicard label text"
 }

+ 129 - 129
i18n/nl.i18n.json

@@ -1,36 +1,36 @@
 {
   "accept": "Accepteren",
-  "act-activity-notify": "Activity Notification",
-  "act-addAttachment": "added attachment __attachment__ to card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
-  "act-deleteAttachment": "deleted attachment __attachment__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
-  "act-addSubtask": "added subtask __subtask__ to card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
-  "act-addLabel": "Added label __label__ to card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
-  "act-addedLabel": "Added label __label__ to card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
-  "act-removeLabel": "Removed label __label__ from card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
-  "act-removedLabel": "Removed label __label__ from card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
-  "act-addChecklist": "added checklist __checklist__ to card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
-  "act-addChecklistItem": "added checklist item __checklistItem__ to checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
-  "act-removeChecklist": "removed checklist __checklist__ from card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
-  "act-removeChecklistItem": "removed checklist item __checklistItem__ from checklist __checkList__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
-  "act-checkedItem": "checked __checklistItem__ of checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
-  "act-uncheckedItem": "unchecked __checklistItem__ of checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
-  "act-completeChecklist": "completed checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
-  "act-uncompleteChecklist": "uncompleted checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
-  "act-addComment": "commented on card __card__: __comment__ at list __list__ at swimlane __swimlane__ at board __board__",
-  "act-editComment": "edited comment on card __card__: __comment__ at list __list__ at swimlane __swimlane__ at board __board__",
-  "act-deleteComment": "deleted comment on card __card__: __comment__ at list __list__ at swimlane __swimlane__ at board __board__",
-  "act-createBoard": "created board __board__",
-  "act-createSwimlane": "created swimlane __swimlane__ to board __board__",
-  "act-createCard": "created card __card__ to list __list__ at swimlane __swimlane__ at board __board__",
-  "act-createCustomField": "created custom field __customField__ at board __board__",
-  "act-deleteCustomField": "deleted custom field __customField__ at board __board__",
-  "act-setCustomField": "edited custom field __customField__: __customFieldValue__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
+  "act-activity-notify": "Activiteiten Notificatie",
+  "act-addAttachment": "bijlage __attachment__ toegevoegd op kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
+  "act-deleteAttachment": "bijlage __attachment__ verwijderd op kaart __card__ van lijst __list__ uit swimlane __swimlane__ op bord __board__",
+  "act-addSubtask": "subtaak __subtask__ toegevoegd aan kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
+  "act-addLabel": "Label __label__ toegevoegd aan kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
+  "act-addedLabel": "Label __label__ toegevoegd aan kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
+  "act-removeLabel": "Label __label__ verwijderd van kaart __card__ van lijst __list__ uit swimlane __swimlane__ op bord __board__",
+  "act-removedLabel": "Label __label__ verwijderd van kaart __card__ van lijst __list__ uit swimlane __swimlane__ op bord __board__",
+  "act-addChecklist": "checklist __checklist__ toegevoegd aan kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
+  "act-addChecklistItem": "checklist item __checklistItem__ toegevoegd aan checklist __checklist__ op kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
+  "act-removeChecklist": "checklist __checklist__ verwijderd van kaart __card__ van lijst __list__ uit swimlane __swimlane__ op bord __board__",
+  "act-removeChecklistItem": "checklist item __checklistItem__ verwijderd van checklist __checkList__ op kaart __card__ van lijst __list__ uit swimlane __swimlane__ op bord __board__",
+  "act-checkedItem": "__checklistItem__ aangevinkt van checklist __checklist__ op kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
+  "act-uncheckedItem": "__checklistItem__ uitgevinkt van checklist __checklist__ op kaart __card__ van lijst __list__ uit swimlane __swimlane__ op bord __board__",
+  "act-completeChecklist": "checklist __checklist__ afgewerkt op kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
+  "act-uncompleteChecklist": "checklist __checklist__ onafgewerkt op kaart __card__ van lijst __list__ uit swimlane __swimlane__ op bord __board__",
+  "act-addComment": "aantekening toegevoegd aan kaart __card__: __comment__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
+  "act-editComment": "aantekening gewijzigd op kaart __card__: __comment__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
+  "act-deleteComment": "aantekening verwijderd van kaart __card__: __comment__ van lijst __list__ uit swimlane __swimlane__ op bord __board__",
+  "act-createBoard": "bord __board__ aangemaakt",
+  "act-createSwimlane": "swimlane __swimlane__ aangemaakt op bord __board__",
+  "act-createCard": "kaart __card__ aangemaakt in lijst __list__ in swimlane __swimlane__ op bord __board__",
+  "act-createCustomField": "maatwerkveld __customField__ gecreëerd op bord __board__",
+  "act-deleteCustomField": "maatwerkveld __customField__ verwijderd van bord __board__",
+  "act-setCustomField": "maatwerkveld gewijzigd __customField__: __customFieldValue__ op kaart __card__ in lijst __list__ uit swimlane __swimlane__ op bord __board__",
   "act-createList": "added list __list__ to board __board__",
   "act-addBoardMember": "added member __member__ to board __board__",
-  "act-archivedBoard": "Board __board__ moved to Archive",
-  "act-archivedCard": "Card __card__ at list __list__ at swimlane __swimlane__ at board __board__ moved to Archive",
-  "act-archivedList": "List __list__ at swimlane __swimlane__ at board __board__ moved to Archive",
-  "act-archivedSwimlane": "Swimlane __swimlane__ at board __board__ moved to Archive",
+  "act-archivedBoard": "Bord __board__ verplaatst naar Archief",
+  "act-archivedCard": "Kaart __card__ van lijst __list__ uit swimlane __swimlane__ op bord __board__ verplaatst naar Archief",
+  "act-archivedList": "Lijst __list__ uit swimlane __swimlane__ op bord __board__ verplaatst naar Archief",
+  "act-archivedSwimlane": "Swimlane __swimlane__ op bord __board__ verplaatst naar Archief",
   "act-importBoard": "imported board __board__",
   "act-importCard": "imported card  __card__ to list __list__ at swimlane __swimlane__ at board __board__",
   "act-importList": "imported list __list__ to swimlane __swimlane__ at board __board__",
@@ -46,10 +46,10 @@
   "activities": "Activiteiten",
   "activity": "Activiteit",
   "activity-added": "%s toegevoegd aan %s",
-  "activity-archived": "%s moved to Archive",
+  "activity-archived": "%s verplaatst naar Archief",
   "activity-attached": "%s bijgevoegd aan %s",
-  "activity-created": "%s aangemaakt",
-  "activity-customfield-created": "created custom field %s",
+  "activity-created": "%s gecreëerd",
+  "activity-customfield-created": "maatwerkveld gecreëerd %s",
   "activity-excluded": "%s uitgesloten van %s",
   "activity-imported": "%s geimporteerd in %s van %s",
   "activity-imported-board": "%s geimporteerd van %s",
@@ -64,17 +64,17 @@
   "activity-unchecked-item": "unchecked %s in checklist %s of %s",
   "activity-checklist-added": "checklist toegevoegd aan %s",
   "activity-checklist-removed": "removed a checklist from %s",
-  "activity-checklist-completed": "completed checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
+  "activity-checklist-completed": "checklist __checklist__ afgewerkt op kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
   "activity-checklist-uncompleted": "uncompleted the checklist %s of %s",
   "activity-checklist-item-added": "checklist punt toegevoegd aan '%s' in '%s'",
   "activity-checklist-item-removed": "removed a checklist item from '%s' in %s",
   "add": "Toevoegen",
   "activity-checked-item-card": "checked %s in checklist %s",
   "activity-unchecked-item-card": "unchecked %s in checklist %s",
-  "activity-checklist-completed-card": "completed checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
+  "activity-checklist-completed-card": "checklist __checklist__ afgewerkt op kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
   "activity-checklist-uncompleted-card": "uncompleted the checklist %s",
-  "activity-editComment": "edited comment %s",
-  "activity-deleteComment": "deleted comment %s",
+  "activity-editComment": "aantekening gewijzigd %s",
+  "activity-deleteComment": "aantekening verwijderd %s",
   "add-attachment": "Voeg Bijlage Toe",
   "add-board": "Voeg Bord Toe",
   "add-card": "Voeg Kaart Toe",
@@ -98,22 +98,22 @@
   "and-n-other-card_plural": "En __count__ andere kaarten",
   "apply": "Aanmelden",
   "app-is-offline": "Loading, please wait. Refreshing the page will cause data loss. If loading does not work, please check that server has not stopped.",
-  "archive": "Move to Archive",
-  "archive-all": "Move All to Archive",
-  "archive-board": "Move Board to Archive",
-  "archive-card": "Move Card to Archive",
-  "archive-list": "Move List to Archive",
-  "archive-swimlane": "Move Swimlane to Archive",
-  "archive-selection": "Move selection to Archive",
-  "archiveBoardPopup-title": "Move Board to Archive?",
-  "archived-items": "Archiveren",
-  "archived-boards": "Boards in Archive",
+  "archive": "Verplaats naar Archief",
+  "archive-all": "Verplaats Alles naar Archief",
+  "archive-board": "Verplaats Bord naar Archief",
+  "archive-card": "Verplaats Kaart naar Archief",
+  "archive-list": "Verplaats Lijst naar Archief",
+  "archive-swimlane": "Verplaats Swimlane naar Archief",
+  "archive-selection": "Verplaats selectie naar Archief",
+  "archiveBoardPopup-title": "Bord naar Archief verplaatsen?",
+  "archived-items": "Archiefveren",
+  "archived-boards": "Borden in Archief",
   "restore-board": "Herstel Bord",
-  "no-archived-boards": "No Boards in Archive.",
+  "no-archived-boards": "Geen Borden in Archief.",
   "archives": "Archiveren",
   "template": "Template",
   "templates": "Templates",
-  "assign-member": "Wijs lid aan",
+  "assign-member": "Lid toevoegen",
   "attached": "bijgevoegd",
   "attachment": "Bijlage",
   "attachment-delete-pop": "Een bijlage verwijderen is permanent. Er is geen herstelmogelijkheid.",
@@ -122,7 +122,7 @@
   "auto-watch": "Automatisch borden bekijken wanneer deze aangemaakt worden",
   "avatar-too-big": "De bestandsgrootte van je avatar is te groot (70KB max)",
   "back": "Terug",
-  "board-change-color": "Verander kleur",
+  "board-change-color": "Wijzig kleur",
   "board-nb-stars": "%s sterren",
   "board-not-found": "Bord is niet gevonden",
   "board-private-info": "Dit bord is nu <strong>privé</strong>.",
@@ -134,22 +134,22 @@
   "boardMenuPopup-title": "Board Settings",
   "boards": "Borden",
   "board-view": "Bord overzicht",
-  "board-view-cal": "Calendar",
+  "board-view-cal": "Kalender",
   "board-view-swimlanes": "Swimlanes",
   "board-view-lists": "Lijsten",
   "bucket-example": "Zoals \"Bucket List\" bijvoorbeeld",
   "cancel": "Annuleren",
-  "card-archived": "This card is moved to Archive.",
-  "board-archived": "This board is moved to Archive.",
-  "card-comments-title": "Deze kaart heeft %s reactie.",
+  "card-archived": "Deze kaart is verplaatst naar Archief.",
+  "board-archived": "Dit bord is verplaatst naar Archief.",
+  "card-comments-title": "Deze kaart heeft %s aantekening(en).",
   "card-delete-notice": "Verwijdering is permanent. Als je dit doet, verlies je alle informatie die op deze kaart is opgeslagen.",
-  "card-delete-pop": "Alle acties worden verwijderd van de activiteiten feed, en er zal geen mogelijkheid zijn om de kaart opnieuw te openen. Deze actie kan je niet ongedaan maken.",
-  "card-delete-suggest-archive": "You can move a card to Archive to remove it from the board and preserve the activity.",
+  "card-delete-pop": "Alle acties worden verwijderd van de activiteiten feed, en er zal geen mogelijkheid zijn om de kaart opnieuw te openen. Er is geen herstelmogelijkheid.",
+  "card-delete-suggest-archive": "Je kunt een kaart naar Archief verplaatsen om die van het bord te verwijderen waarbij de activiteiten  behouden blijven.",
   "card-due": "Deadline: ",
   "card-due-on": "Deadline: ",
   "card-spent": "gespendeerde tijd",
   "card-edit-attachments": "Wijzig bijlagen",
-  "card-edit-custom-fields": "Edit custom fields",
+  "card-edit-custom-fields": "Wijzig maatwerkvelden",
   "card-edit-labels": "Wijzig labels",
   "card-edit-members": "Wijzig leden",
   "card-labels-title": "Wijzig de labels vam de kaart.",
@@ -158,7 +158,7 @@
   "card-start-on": "Begint op",
   "cardAttachmentsPopup-title": "Voeg bestand toe vanuit",
   "cardCustomField-datePopup-title": "Change date",
-  "cardCustomFieldsPopup-title": "Edit custom fields",
+  "cardCustomFieldsPopup-title": "Wijzig maatwerkvelden",
   "cardDeletePopup-title": "Kaart verwijderen?",
   "cardDetailsActionsPopup-title": "Kaart actie ondernemen",
   "cardLabelsPopup-title": "Labels",
@@ -181,14 +181,14 @@
   "changePasswordPopup-title": "Wijzig wachtwoord",
   "changePermissionsPopup-title": "Wijzig permissies",
   "changeSettingsPopup-title": "Wijzig instellingen",
-  "subtasks": "Subtasks",
+  "subtasks": "Subtaken",
   "checklists": "Checklists",
   "click-to-star": "Klik om het bord als favoriet in te stellen",
   "click-to-unstar": "Klik om het bord uit favorieten weg te halen",
   "clipboard": "Vanuit clipboard of sleep het bestand hierheen",
   "close": "Sluiten",
   "close-board": "Sluit bord",
-  "close-board-pop": "You will be able to restore the board by clicking the “Archive” button from the home header.",
+  "close-board-pop": "Je kunt het bord terughalen door de \"Archief\" knop te klikken in de menubalk \"Mijn Borden\".",
   "color-black": "zwart",
   "color-blue": "blauw",
   "color-crimson": "crimson",
@@ -215,12 +215,12 @@
   "color-white": "white",
   "color-yellow": "Geel",
   "unset-color": "Unset",
-  "comment": "Reageer",
-  "comment-placeholder": "Schrijf reactie",
-  "comment-only": "Alleen reageren",
-  "comment-only-desc": "Kan alleen op kaarten reageren.",
-  "no-comments": "No comments",
-  "no-comments-desc": "Can not see comments and activities.",
+  "comment": "Aantekening",
+  "comment-placeholder": "Schrijf aantekening",
+  "comment-only": "Alleen aantekeningen maken",
+  "comment-only-desc": "Kan alleen op kaarten aantekenen.",
+  "no-comments": "Geen aantekeningen",
+  "no-comments-desc": "Zie geen aantekeningen of activiteiten.",
   "computer": "Computer",
   "confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
   "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
@@ -238,7 +238,7 @@
   "createCustomField": "Create Field",
   "createCustomFieldPopup-title": "Create Field",
   "current": "Huidige",
-  "custom-field-delete-pop": "There is no undo. This will remove this custom field from all cards and destroy its history.",
+  "custom-field-delete-pop": "Er is geen herstelmogelijkheid. Deze actie zal dit maatwerkveld van alle kaarten verwijderen en de bijbehorende historie wissen.",
   "custom-field-checkbox": "Checkbox",
   "custom-field-date": "Datum",
   "custom-field-dropdown": "Dropdown List",
@@ -248,12 +248,12 @@
   "custom-field-dropdown-unknown": "(unknown)",
   "custom-field-number": "Number",
   "custom-field-text": "Text",
-  "custom-fields": "Custom Fields",
+  "custom-fields": "Maatwerkvelden",
   "date": "Datum",
   "decline": "Weigeren",
   "default-avatar": "Standaard avatar",
   "delete": "Verwijderen",
-  "deleteCustomFieldPopup-title": "Delete Custom Field?",
+  "deleteCustomFieldPopup-title": "Maatwerkveld verwijderen?",
   "deleteLabelPopup-title": "Verwijder label?",
   "description": "Beschrijving",
   "disambiguateMultiLabelPopup-title": "Disambigueer Label Actie",
@@ -286,7 +286,7 @@
   "email-resetPassword-text": "Hallo __user__,\n\nKlik op de link hier beneden om je wachtwoord te resetten.\n\n__url__\n\nBedankt.",
   "email-sent": "E-mail is verzonden",
   "email-verifyEmail-subject": "Verifieer je e-mailadres op __siteName__",
-  "email-verifyEmail-text": "Hallo __user__,\n\nOm je e-mail te verifiëren vragen we je om op de link hieronder te drukken.\n\n__url__\n\nBedankt.",
+  "email-verifyEmail-text": "Hallo __user__,\n\nOm je e-mail te verifiëren vragen we je om op de link hieronder te klikken.\n\n__url__\n\nBedankt.",
   "enable-wip-limit": "Activeer WIP limiet",
   "error-board-doesNotExist": "Dit bord bestaat niet.",
   "error-board-notAdmin": "Je moet een administrator zijn van dit bord om dat te doen.",
@@ -305,8 +305,8 @@
   "filter-clear": "Reset filter",
   "filter-no-label": "Geen label",
   "filter-no-member": "Geen lid",
-  "filter-no-custom-fields": "No Custom Fields",
-  "filter-show-archive": "Show archived lists",
+  "filter-no-custom-fields": "Geen maatwerkvelden",
+  "filter-show-archive": "Toon gearchiveerde lijsten",
   "filter-hide-empty": "Hide empty lists",
   "filter-on": "Filter staat aan",
   "filter-on-desc": "Je bent nu kaarten aan het filteren op dit bord. Klik hier om het filter te wijzigen.",
@@ -347,7 +347,7 @@
   "keyboard-shortcuts": "Toetsenbord snelkoppelingen",
   "label-create": "Label aanmaken",
   "label-default": "%s label (standaard)",
-  "label-delete-pop": "Je kan het niet ongedaan maken. Deze actie zal de label van alle kaarten verwijderen, en de feed.",
+  "label-delete-pop": "Er is geen herstelmogelijkheid. Deze actie zal de label van alle kaarten verwijderen, en de feed.",
   "labels": "Labels",
   "language": "Taal",
   "last-admin-desc": "Je kan de permissies niet veranderen omdat er maar een administrator is.",
@@ -355,19 +355,19 @@
   "leave-board-pop": "Weet u zeker dat u __boardTitle__ wilt verlaten? U wordt verwijderd van alle kaarten binnen dit bord",
   "leaveBoardPopup-title": "Bord verlaten?",
   "link-card": "Link naar deze kaart",
-  "list-archive-cards": "Move all cards in this list to Archive",
-  "list-archive-cards-pop": "This will remove all the cards in this list from the board. To view cards in Archive and bring them back to the board, click “Menu” > “Archive”.",
+  "list-archive-cards": "Verplaats alle kaarten in deze lijst naar Archief",
+  "list-archive-cards-pop": "Dit zal alle kaarten uit deze lijst op dit bord verwijderen. Om de kaarten in het Archief te tonen en terug te halen, klik \"Menu\" > \"Archief\".",
   "list-move-cards": "Verplaats alle kaarten in deze lijst",
   "list-select-cards": "Selecteer alle kaarten in deze lijst",
-  "set-color-list": "Set Color",
+  "set-color-list": "Wijzig kleur in",
   "listActionPopup-title": "Lijst acties",
   "swimlaneActionPopup-title": "Swimlane handelingen",
   "swimlaneAddPopup-title": "Add a Swimlane below",
   "listImportCardPopup-title": "Importeer een Trello kaart",
   "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. Je kan deze actie niet ongedaan maken.",
-  "list-delete-suggest-archive": "You can move a list to Archive to remove it from the board and preserve the activity.",
+  "list-delete-pop": "Alle acties zullen verwijderd worden van de activiteiten feed, en je zult deze niet meer kunnen herstellen. Er is geen herstelmogelijkheid.",
+  "list-delete-suggest-archive": "Je kunt een lijst naar Archief verplaatsen om die van het bord te verwijderen waarbij de activiteiten behouden blijven.",
   "lists": "Lijsten",
   "swimlanes": "Swimlanes",
   "log-out": "Uitloggen",
@@ -387,9 +387,9 @@
   "muted-info": "Je zal nooit meer geïnformeerd worden bij veranderingen in dit bord.",
   "my-boards": "Mijn Borden",
   "name": "Naam",
-  "no-archived-cards": "No cards in Archive.",
-  "no-archived-lists": "No lists in Archive.",
-  "no-archived-swimlanes": "No swimlanes in Archive.",
+  "no-archived-cards": "Geen kaarten in Archief.",
+  "no-archived-lists": "Geen lijsten in Archief..",
+  "no-archived-swimlanes": "Geen swimlanes in Archief.",
   "no-results": "Geen resultaten",
   "normal": "Normaal",
   "normal-desc": "Kan de kaarten zien en wijzigen. Kan de instellingen niet wijzigen.",
@@ -425,13 +425,13 @@
   "restore": "Herstel",
   "save": "Opslaan",
   "search": "Zoek",
-  "rules": "Rules",
+  "rules": "Regels",
   "search-cards": "Zoeken in kaart titels en omschrijvingen op dit bord",
   "search-example": "Tekst om naar te zoeken?",
   "select-color": "Selecteer kleur",
   "set-wip-limit-value": "Zet een limiet voor het maximaal aantal taken in deze lijst",
   "setWipLimitPopup-title": "Zet een WIP limiet",
-  "shortcut-assign-self": "Wijs jezelf toe aan huidige kaart",
+  "shortcut-assign-self": "Voeg jezelf toe aan huidige kaart",
   "shortcut-autocomplete-emoji": "Emojis automatisch aanvullen",
   "shortcut-autocomplete-members": "Leden automatisch aanvullen",
   "shortcut-clear-filters": "Alle filters vrijmaken",
@@ -461,7 +461,7 @@
   "tracking": "Volgen",
   "tracking-info": "Je wordt op de hoogte gesteld als er veranderingen zijn aan de kaarten waar je lid of maker van bent.",
   "type": "Type",
-  "unassign-member": "Lid ontkennen",
+  "unassign-member": "Lid verwijderen",
   "unsaved-description": "Je hebt een niet opgeslagen beschrijving.",
   "unwatch": "Niet bekijken",
   "upload": "Upload",
@@ -469,7 +469,7 @@
   "uploaded-avatar": "Avatar is geüpload",
   "username": "Gebruikersnaam",
   "view-it": "Bekijk het",
-  "warn-list-archived": "warning: this card is in an list at Archive",
+  "warn-list-archived": "Let op: deze kaart zit in gearchiveerde lijst",
   "watch": "Bekijk",
   "watching": "Bekijken",
   "watching-info": "Je zal op de hoogte worden gesteld als er een verandering gebeurt op dit bord.",
@@ -502,7 +502,7 @@
   "smtp-password": "Wachtwoord",
   "smtp-tls": "TLS ondersteuning",
   "send-from": "Van",
-  "send-smtp-test": "Verzend een email naar uzelf",
+  "send-smtp-test": "Verzend een test email naar uzelf",
   "invitation-code": "Uitnodigings code",
   "email-invite-register-subject": "__inviter__ heeft je een uitnodiging gestuurd",
   "email-invite-register-text": "Dear __user__,\n\n__inviter__ invites you to kanban board for collaborations.\n\nPlease follow the link below:\n__url__\n\nAnd your invitation code is: __icode__\n\nThanks.",
@@ -544,30 +544,30 @@
   "createdAt": "Gemaakt op",
   "verified": "Geverifieerd",
   "active": "Actief",
-  "card-received": "Received",
-  "card-received-on": "Received on",
-  "card-end": "End",
-  "card-end-on": "Ends on",
-  "editCardReceivedDatePopup-title": "Change received date",
-  "editCardEndDatePopup-title": "Change end date",
-  "setCardColorPopup-title": "Set color",
-  "setCardActionsColorPopup-title": "Choose a color",
-  "setSwimlaneColorPopup-title": "Choose a color",
-  "setListColorPopup-title": "Choose a color",
-  "assigned-by": "Assigned By",
-  "requested-by": "Requested By",
+  "card-received": "Ontvangen",
+  "card-received-on": "Ontvangen op",
+  "card-end": "Einde",
+  "card-end-on": "Eindigt op",
+  "editCardReceivedDatePopup-title": "Pas ontvangstdatum aan",
+  "editCardEndDatePopup-title": "Wijzig einddatum",
+  "setCardColorPopup-title": "Stel kleur in",
+  "setCardActionsColorPopup-title": "Kies een kleur",
+  "setSwimlaneColorPopup-title": "Kies een kleur",
+  "setListColorPopup-title": "Kies een kleur",
+  "assigned-by": "Toegewezen Door",
+  "requested-by": "Aangevraagd Door",
   "board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
-  "delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
+  "delete-board-confirm-popup": "Alle lijsten, kaarten, labels en activiteiten zullen worden verwijderd en je kunt de bordinhoud niet terughalen. Er is geen herstelmogelijkheid. ",
   "boardDeletePopup-title": "Delete Board?",
   "delete-board": "Delete Board",
-  "default-subtasks-board": "Subtasks for __board__ board",
+  "default-subtasks-board": "Subtaken voor __board__ bord",
   "default": "Default",
   "queue": "Queue",
-  "subtask-settings": "Subtasks Settings",
-  "boardSubtaskSettingsPopup-title": "Board Subtasks Settings",
-  "show-subtasks-field": "Cards can have subtasks",
-  "deposit-subtasks-board": "Deposit subtasks to this board:",
-  "deposit-subtasks-list": "Landing list for subtasks deposited here:",
+  "subtask-settings": "Subtaak Instellingen",
+  "boardSubtaskSettingsPopup-title": "Bord Subtaak Instellingen",
+  "show-subtasks-field": "Kaarten kunnen subtaken hebben",
+  "deposit-subtasks-board": "Plaats subtaken op dit bord:",
+  "deposit-subtasks-list": "Plaats subtaken in deze lijst:",
   "show-parent-in-minicard": "Show parent in minicard:",
   "prefix-with-full-path": "Prefix with full path",
   "prefix-with-parent": "Prefix with parent",
@@ -579,21 +579,21 @@
   "no-parent": "Don't show parent",
   "activity-added-label": "added label '%s' to %s",
   "activity-removed-label": "removed label '%s' from %s",
-  "activity-delete-attach": "deleted an attachment from %s",
+  "activity-delete-attach": "een bijlage verwijderd van %s",
   "activity-added-label-card": "added label '%s'",
   "activity-removed-label-card": "removed label '%s'",
-  "activity-delete-attach-card": "deleted an attachment",
+  "activity-delete-attach-card": "een bijlage verwijderd",
   "activity-set-customfield": "set custom field '%s' to '%s' in %s",
   "activity-unset-customfield": "unset custom field '%s' in %s",
   "r-rule": "Rule",
   "r-add-trigger": "Add trigger",
   "r-add-action": "Add action",
-  "r-board-rules": "Board rules",
+  "r-board-rules": "Bord regels",
   "r-add-rule": "Add rule",
   "r-view-rule": "View rule",
   "r-delete-rule": "Delete rule",
   "r-new-rule-name": "New rule title",
-  "r-no-rules": "No rules",
+  "r-no-rules": "Geen regels",
   "r-when-a-card": "When a card",
   "r-is": "is",
   "r-is-moved": "is moved",
@@ -604,8 +604,8 @@
   "set-filter": "Set Filter",
   "r-moved-to": "Moved to",
   "r-moved-from": "Moved from",
-  "r-archived": "Moved to Archive",
-  "r-unarchived": "Restored from Archive",
+  "r-archived": "Verplaatst naar Archief",
+  "r-unarchived": "Teruggehaald uit Archief",
   "r-a-card": "a card",
   "r-when-a-label-is": "When a label is",
   "r-when-the-label": "When the label",
@@ -613,7 +613,7 @@
   "r-when-a-member": "When a member is",
   "r-when-the-member": "When the member",
   "r-name": "name",
-  "r-when-a-attach": "When an attachment",
+  "r-when-a-attach": "Als een bijlage",
   "r-when-a-checklist": "When a checklist is",
   "r-when-the-checklist": "When the checklist",
   "r-completed": "Completed",
@@ -626,15 +626,15 @@
   "r-top-of": "Top of",
   "r-bottom-of": "Bottom of",
   "r-its-list": "its list",
-  "r-archive": "Move to Archive",
-  "r-unarchive": "Restore from Archive",
+  "r-archive": "Verplaats naar Archief",
+  "r-unarchive": "Terughalen uit Archief",
   "r-card": "card",
   "r-add": "Toevoegen",
   "r-remove": "Remove",
   "r-label": "label",
   "r-member": "member",
   "r-remove-all": "Remove all members from the card",
-  "r-set-color": "Set color to",
+  "r-set-color": "Wijzig kleur naar",
   "r-checklist": "checklist",
   "r-check-all": "Check all",
   "r-uncheck-all": "Uncheck all",
@@ -643,7 +643,7 @@
   "r-uncheck": "Uncheck",
   "r-item": "item",
   "r-of-checklist": "of checklist",
-  "r-send-email": "Send an email",
+  "r-send-email": "Verzend een email",
   "r-to": "to",
   "r-subject": "subject",
   "r-rule-details": "Rule details",
@@ -651,12 +651,12 @@
   "r-d-move-to-top-spec": "Move card to top of list",
   "r-d-move-to-bottom-gen": "Move card to bottom of its list",
   "r-d-move-to-bottom-spec": "Move card to bottom of list",
-  "r-d-send-email": "Send email",
+  "r-d-send-email": "Verzend email",
   "r-d-send-email-to": "to",
   "r-d-send-email-subject": "subject",
   "r-d-send-email-message": "message",
-  "r-d-archive": "Move card to Archive",
-  "r-d-unarchive": "Restore card from Archive",
+  "r-d-archive": "Verplaats kaart naar Archief",
+  "r-d-unarchive": "Haal kaart terug uit Archief",
   "r-d-add-label": "Add label",
   "r-d-remove-label": "Remove label",
   "r-create-card": "Create new card",
@@ -686,8 +686,8 @@
   "r-datefield": "date field",
   "r-df-start-at": "start",
   "r-df-due-at": "due",
-  "r-df-end-at": "end",
-  "r-df-received-at": "received",
+  "r-df-end-at": "einde",
+  "r-df-received-at": "ontvangen",
   "r-to-current-datetime": "to current date/time",
   "r-remove-value-from": "Remove value from",
   "ldap": "LDAP",
@@ -698,8 +698,8 @@
   "custom-product-name": "Custom Product Name",
   "layout": "Layout",
   "hide-logo": "Hide Logo",
-  "add-custom-html-after-body-start": "Add Custom HTML after <body> start",
-  "add-custom-html-before-body-end": "Add Custom HTML before </body> end",
+  "add-custom-html-after-body-start": "Voeg eigen HTML toe na <body> start",
+  "add-custom-html-before-body-end": "Voeg eigen HTML toe voor </body> einde",
   "error-undefined": "Something went wrong",
   "error-ldap-login": "An error occurred while trying to login",
   "display-authentication-method": "Display Authentication Method",
@@ -707,19 +707,19 @@
   "duplicate-board": "Duplicate Board",
   "people-number": "The number of people is:",
   "swimlaneDeletePopup-title": "Delete Swimlane ?",
-  "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
+  "swimlane-delete-pop": "Alle acties zullen verwijderd worden van de activiteiten feed en je kunt de swimlane niet terughalen. Er is geen herstelmogelijkheid.",
   "restore-all": "Restore all",
   "delete-all": "Delete all",
   "loading": "Loading, please wait.",
   "previous_as": "last time was",
   "act-a-dueAt": "modified due time to \nWhen: __timeValue__\nWhere: __card__\n previous due was __timeOldValue__",
-  "act-a-endAt": "modified ending time to __timeValue__ from (__timeOldValue__)",
+  "act-a-endAt": "einddatum gewijzigd naar __timeValue__ van (__timeOldValue__)",
   "act-a-startAt": "modified starting time to __timeValue__ from (__timeOldValue__)",
-  "act-a-receivedAt": "modified received time to __timeValue__ from (__timeOldValue__)",
+  "act-a-receivedAt": "ontvangstdatum gewijzigd naar __timeValue__ van (__timeOldValue__)",
   "a-dueAt": "modified due time to be",
-  "a-endAt": "modified ending time to be",
+  "a-endAt": "einddatum gewijzigd naar",
   "a-startAt": "modified starting time to be",
-  "a-receivedAt": "modified received time to be",
+  "a-receivedAt": "ontvangstdatum gewijzigd naar",
   "almostdue": "current due time %s is approaching",
   "pastdue": "current due time %s is past",
   "duenow": "current due time %s is today",
@@ -728,7 +728,7 @@
   "act-pastdue": "was reminding the current due (__timeValue__) of __card__ is past",
   "act-duenow": "was reminding the current due (__timeValue__) of __card__ is now",
   "act-atUserComment": "You were mentioned in [__board__] __card__",
-  "delete-user-confirm-popup": "Are you sure you want to delete this account? There is no undo.",
-  "accounts-allowUserDelete": "Allow users to self delete their account",
+  "delete-user-confirm-popup": "Weet je zeker dat je dit account wilt verwijderen? Er is geen herstelmogelijkheid.",
+  "accounts-allowUserDelete": "Sta gebruikers toe om hun eigen account te verwijderen",
   "hide-minicard-label-text": "Hide minicard label text"
 }

+ 4 - 4
package-lock.json

@@ -1,6 +1,6 @@
 {
   "name": "wekan",
-  "version": "v3.25.0",
+  "version": "v3.35.0",
   "lockfileVersion": 1,
   "requires": true,
   "dependencies": {
@@ -4087,9 +4087,9 @@
       "dev": true
     },
     "qs": {
-      "version": "6.7.0",
-      "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
-      "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ=="
+      "version": "6.8.0",
+      "resolved": "https://registry.npmjs.org/qs/-/qs-6.8.0.tgz",
+      "integrity": "sha512-tPSkj8y92PfZVbinY1n84i1Qdx75lZjMQYx9WZhnkofyxzw2r7Ho39G3/aEvSUdebxpnnM4LZJCtvE/Aq3+s9w=="
     },
     "rc": {
       "version": "1.2.8",

+ 2 - 2
package.json

@@ -1,6 +1,6 @@
 {
   "name": "wekan",
-  "version": "v3.25.0",
+  "version": "v3.35.0",
   "description": "Open-Source kanban",
   "private": true,
   "scripts": {
@@ -66,7 +66,7 @@
     "mongodb": "^2.2.19",
     "os": "^0.1.1",
     "page": "^1.8.6",
-    "qs": "^6.5.2",
+    "qs": "^6.8.0",
     "source-map-support": "^0.5.12",
     "xss": "^1.0.6"
   }

+ 2 - 2
public/api/wekan.html

@@ -1524,7 +1524,7 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc
 	  	<ul class="toc-list-h1">
         
           <li>
-            <a href="#wekan-rest-api" class="toc-h1 toc-link" data-title="Wekan REST API v3.24">Wekan REST API v3.24</a>
+            <a href="#wekan-rest-api" class="toc-h1 toc-link" data-title="Wekan REST API v3.34">Wekan REST API v3.34</a>
             
           </li>
         
@@ -2017,7 +2017,7 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc
     <div class="page-wrapper">
       <div class="dark-box"></div>
       <div class="content">
-        <h1 id="wekan-rest-api">Wekan REST API v3.24</h1>
+        <h1 id="wekan-rest-api">Wekan REST API v3.34</h1>
 <blockquote>
 <p>Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.</p>
 </blockquote>

+ 1 - 1
public/api/wekan.yml

@@ -1,7 +1,7 @@
 swagger: '2.0'
 info:
   title: Wekan REST API
-  version: v3.24
+  version: v3.34
   description: |
     The REST API allows you to control and extend Wekan with ease.
 

+ 3 - 3
rebuild-wekan.bat

@@ -13,15 +13,15 @@ REM Install chocolatey
 
 choco install -y git curl python2 dotnet4.5.2 nano mongodb-3 mongoclient meteor
 
-curl -O https://nodejs.org/dist/v8.12.0/node-v8.12.0-x64.msi
-call node-v8.12.0-x64.msi
+curl -O https://nodejs.org/dist/v8.16.1/node-v8.16.1-x64.msi
+call node-v8.16.1-x64.msi
 
 call npm config -g set msvs_version 2015
 call meteor npm config -g set msvs_version 2015
 
 call npm -g install npm
 call npm -g install node-gyp
-call npm -g install fibers@2.0.0
+call npm -g install fibers
 cd C:\repos
 git clone https://github.com/wekan/wekan.git
 cd wekan

+ 1 - 1
rebuild-wekan.sh

@@ -79,7 +79,7 @@ do
 			curl -0 -L https://npmjs.org/install.sh | sudo sh
 			sudo chown -R $(id -u):$(id -g) $HOME/.npm
 			sudo npm -g install n
-			sudo n 8.16.0
+			sudo n 8.16.1
 			#curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
 			#sudo apt-get install -y nodejs
 		elif [[ "$OSTYPE" == "darwin"* ]]; then

+ 0 - 111
releases/virtualbox/rebuild-wekan.sh

@@ -1,111 +0,0 @@
-#!/bin/bash
-
-echo "Note: If you use other locale than en_US.UTF-8 , you need to additionally install en_US.UTF-8"
-echo "      with 'sudo dpkg-reconfigure locales' , so that MongoDB works correctly."
-echo "      You can still use any other locale as your main locale."
-
-function pause(){
-	read -p "$*"
-}
-
-echo
-PS3='Please enter your choice: '
-options=("Install Wekan dependencies" "Build Wekan" "Quit")
-select opt in "${options[@]}"
-do
-    case $opt in
-        "Install Wekan dependencies")
-
-		if [[ "$OSTYPE" == "linux-gnu" ]]; then
-	                echo "Linux";
-			echo "Ubuntu, Mint, Debian, or Debian on Windows Subsystem for Linux";
-                        sudo apt-get install -y build-essential git curl wget;
-			curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -;
-		elif [[ "$OSTYPE" == "darwin"* ]]; then
-		        echo "macOS";
-			pause '1) Install XCode 2) Install Node 8.x from https://nodejs.org/en/ 3) Press [Enter] key to continue.'
-		elif [[ "$OSTYPE" == "cygwin" ]]; then
-		        # POSIX compatibility layer and Linux environment emulation for Windows
-		        echo "TODO: Add Cygwin";
-			exit;
-		elif [[ "$OSTYPE" == "msys" ]]; then
-		        # Lightweight shell and GNU utilities compiled for Windows (part of MinGW)
-		        echo "TODO: Add msys on Windows";
-			exit;
-		elif [[ "$OSTYPE" == "win32" ]]; then
-		        # I'm not sure this can happen.
-		        echo "TODO: Add Windows";
-			exit;
-		elif [[ "$OSTYPE" == "freebsd"* ]]; then
-		        echo "TODO: Add FreeBSD";
-			exit;
-		else
-		        echo "Unknown"
-			echo ${OSTYPE}
-			exit;
-		fi
-
-	        ## Latest npm with Meteor 1.6
-	        sudo npm -g install npm
-	        sudo npm -g install node-gyp
-	        # Latest fibers for Meteor 1.6
-	        sudo npm -g install fibers@2.0.0
-	        # Install Meteor, if it's not yet installed
-	        curl https://install.meteor.com | bash
-	        mkdir ~/repos
-	        cd ~/repos
-	        git clone https://github.com/wekan/wekan.git
-	        cd wekan
-	        git checkout devel
-		break
-		;;
-        "Build Wekan")
-		echo "Building Wekan."
-		cd ~/repos/wekan
-		## REPOS BELOW ARE INCLUDED TO WEKAN
-		#mkdir -p ~/repos/wekan/packages
-		#cd ~/repos/wekan/packages
-		#git clone --depth 1 -b master https://github.com/wekan/flow-router.git kadira-flow-router
-		#git clone --depth 1 -b master https://github.com/meteor-useraccounts/core.git meteor-useraccounts-core
-		#git clone --depth 1 -b master https://github.com/wekan/meteor-accounts-cas.git
-		#git clone --depth 1 -b master https://github.com/wekan/wekan-ldap.git
-		#git clone --depth 1 -b master https://github.com/wekan/wekan-scrollbar.git
-		#git clone --depth 1 -b master https://github.com/wekan/meteor-accounts-oidc.git
-		#git clone --depth 1 -b master --recurse-submodules https://github.com/wekan/markdown.git
-                #mv meteor-accounts-oidc/packages/switch_accounts-oidc wekan_accounts-oidc
-                #mv meteor-accounts-oidc/packages/switch_oidc wekan_oidc
-                #rm -rf meteor-accounts-oidc
-		if [[ "$OSTYPE" == "darwin"* ]]; then
-			echo "sed at macOS";
-			sed -i '' 's/api\.versionsFrom/\/\/api.versionsFrom/' ~/repos/wekan/packages/meteor-useraccounts-core/package.js
-		else
-			echo "sed at ${OSTYPE}"
-			sed -i 's/api\.versionsFrom/\/\/api.versionsFrom/' ~/repos/wekan/packages/meteor-useraccounts-core/package.js
-		fi
-
-		cd ~/repos/wekan
-		rm -rf node_modules
-		meteor npm install
-		rm -rf .build
-		meteor build .build --directory
-		cp -f fix-download-unicode/cfs_access-point.txt .build/bundle/programs/server/packages/cfs_access-point.js
-		#Removed binary version of bcrypt because of security vulnerability that is not fixed yet.
-		#https://github.com/wekan/wekan/commit/4b2010213907c61b0e0482ab55abb06f6a668eac
-		#https://github.com/wekan/wekan/commit/7eeabf14be3c63fae2226e561ef8a0c1390c8d3c
-		#cd ~/repos/wekan/.build/bundle/programs/server/npm/node_modules/meteor/npm-bcrypt
-		#rm -rf node_modules/bcrypt
-		#meteor npm install bcrypt
-		cd ~/repos/wekan/.build/bundle/programs/server
-		rm -rf node_modules
-		meteor npm install
-		#meteor npm install bcrypt
-		cd ~/repos
-		echo Done.
-		break
-		;;
-        "Quit")
-		break
-            ;;
-        *) echo invalid option;;
-    esac
-done

+ 2 - 2
sandstorm-pkgdef.capnp

@@ -22,10 +22,10 @@ const pkgdef :Spk.PackageDefinition = (
     appTitle = (defaultText = "Wekan"),
     # The name of the app as it is displayed to the user.
 
-    appVersion = 327,
+    appVersion = 337,
     # Increment this for every release.
 
-    appMarketingVersion = (defaultText = "3.25.0~2019-08-23"),
+    appMarketingVersion = (defaultText = "3.35.0~2019-08-29"),
     # Human-readable presentation of the app version.
 
     minUpgradableAppVersion = 0,

+ 16 - 7
snapcraft.yaml

@@ -1,7 +1,6 @@
 name: wekan
-version: 0
-version-script: git describe --dirty --tags |  cut -c 2-
-summary: The open-source kanban
+adopt-info: wekan
+summary: The Open-Source kanban
 description: |
    Wekan is an open-source and collaborative kanban board application.
 
@@ -81,7 +80,7 @@ parts:
     wekan:
         source: .
         plugin: nodejs
-        node-engine: 8.16.0
+        node-engine: 8.16.1
         node-packages:
             - node-gyp
             - node-pre-gyp
@@ -190,7 +189,7 @@ parts:
             #  git clone --depth 1 -b master --recurse-submodules https://github.com/wekan/markdown.git
             #  cd ..
             #fi
-            rm -rf package-lock.json .build
+            rm -rf .build
             meteor add standard-minifier-js --allow-superuser
             meteor npm install --allow-superuser
             meteor npm install --allow-superuser --save babel-runtime
@@ -213,14 +212,24 @@ parts:
             cd ../../../..
             cp -r .build/bundle/* $SNAPCRAFT_PART_INSTALL/
             cp .build/bundle/.node_version.txt $SNAPCRAFT_PART_INSTALL/
-            rm -f $SNAPCRAFT_PART_INSTALL/lib/node_modules/wekan
+            # Delete phantomjs
             rm -f $SNAPCRAFT_PART_INSTALL/programs/server/npm/node_modules/meteor/rajit_bootstrap3-datepicker/lib/bootstrap-datepicker/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs
+            rm -f $SNAPCRAFT_PART_INSTALL/programs/server/npm/node_modules/meteor/lucasantoniassi_accounts-lockout/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs
+            # Delete all .swp files at subdirectories
+            #find $SNAPCRAFT_PART_INSTALL -name \*.swp -type f -delete
+            # Delete each .swp file separately
+            #rm -f $SNAPCRAFT_PART_INSTALL/lib/node_modules/wekan
+            rm -f $SNAPCRAFT_PART_INSTALL/lib/node_modules/wekan/.build/bundle/programs/server/npm/node_modules/tar/lib/.mkdir.js.swp
+            rm -f $SNAPCRAFT_PART_INSTALL/lib/node_modules/wekan/.build/bundle/programs/server/node_modules/node-pre-gyp/node_modules/tar/lib/.mkdir.js.swp
+            rm -f $SNAPCRAFT_PART_INSTALL/lib/node_modules/wekan/node_modules/tar/lib/.mkdir.js.swp
             rm -f $SNAPCRAFT_PART_INSTALL/programs/server/npm/node_modules/tar/lib/.mkdir.js.swp
             rm -f $SNAPCRAFT_PART_INSTALL/lib/node_modules/node-pre-gyp/node_modules/tar/lib/.mkdir.js.swp
             rm -f $SNAPCRAFT_PART_INSTALL/lib/node_modules/node-gyp/node_modules/tar/lib/.mkdir.js.swp
             # Meteor 1.8.x additional .swp remove
             rm -f $SNAPCRAFT_PART_INSTALL/programs/server/node_modules/node-pre-gyp/node_modules/tar/lib/.mkdir.js.swp
-
+            # Wekan version
+            snapcraftctl set-version "$(git describe --dirty --tags | cut -c 2-)"
+            snapcraftctl build
         organize:
             README: README.wekan
         prime: