Browse Source

Merge branch 'amadilsons-issue783' into devel

WIP Limits. Thanks to amadilsons ! Closes #783
Lauri Ojansivu 7 years ago
parent
commit
10cb2db94f

+ 6 - 2
CHANGELOG.md

@@ -1,10 +1,14 @@
 # Upcoming Wekan release
 # Upcoming Wekan release
 
 
-This release fixes the following bugs:
+This release adds the following new features:
+
+* [WIP Limits](https://github.com/wekan/wekan/pull/1278).
+
+and fixes the following bugs:
 
 
 * [Admin announcement can be viewed without signing in](https://github.com/wekan/wekan/issues/1281).
 * [Admin announcement can be viewed without signing in](https://github.com/wekan/wekan/issues/1281).
 
 
-Thanks to Github user nztqa for contributions.
+Thanks to Github users amadilsons and nztqa for their contributions.
 
 
 # v0.47 2017-10-04 Wekan release
 # v0.47 2017-10-04 Wekan release
 
 

+ 1 - 1
client/components/lists/list.js

@@ -22,7 +22,7 @@ BlazeComponent.extendComponent({
     const itemsSelector = '.js-minicard:not(.placeholder, .js-card-composer)';
     const itemsSelector = '.js-minicard:not(.placeholder, .js-card-composer)';
     const $cards = this.$('.js-minicards');
     const $cards = this.$('.js-minicards');
     $cards.sortable({
     $cards.sortable({
-      connectWith: '.js-minicards',
+      connectWith: '.js-minicards:not(.js-list-full)',
       tolerance: 'pointer',
       tolerance: 'pointer',
       appendTo: 'body',
       appendTo: 'body',
       helper(evt, item) {
       helper(evt, item) {

+ 16 - 0
client/components/lists/list.styl

@@ -110,3 +110,19 @@
       background: #fafafa
       background: #fafafa
       color: #222
       color: #222
       box-shadow: 0 1px 2px rgba(0,0,0,.2)
       box-shadow: 0 1px 2px rgba(0,0,0,.2)
+
+#js-wip-limit-edit
+  padding-top: 2%
+
+  p
+    margin-bottom: 0
+
+  input
+    display: inline-block
+
+  .wip-limit-value
+    width: 20%
+    margin-right: 5%
+
+  .wip-limit-error
+    display: none

+ 1 - 1
client/components/lists/listBody.jade

@@ -1,6 +1,6 @@
 template(name="listBody")
 template(name="listBody")
   .list-body.js-perfect-scrollbar
   .list-body.js-perfect-scrollbar
-    .minicards.clearfix.js-minicards
+    .minicards.clearfix.js-minicards(class="{{#if reachedWipLimit}}js-list-full{{/if}}")
       if cards.count
       if cards.count
         +inlinedForm(autoclose=false position="top")
         +inlinedForm(autoclose=false position="top")
           +addCardForm(listId=_id position="top")
           +addCardForm(listId=_id position="top")

+ 10 - 7
client/components/lists/listBody.js

@@ -96,6 +96,16 @@ BlazeComponent.extendComponent({
     MultiSelection.toggle(this.currentData()._id);
     MultiSelection.toggle(this.currentData()._id);
   },
   },
 
 
+  canSeeAddCard() {
+    return !this.reachedWipLimit() && Meteor.user() && Meteor.user().isBoardMember() && !Meteor.user().isCommentOnly();
+  },
+
+  reachedWipLimit() {
+    const list = Template.currentData();
+    if( !list.getWipLimit() ) { return false; }
+    return list.getWipLimit('enabled') && list.getWipLimit('value') === list.cards().count();
+  },
+
   events() {
   events() {
     return [{
     return [{
       'click .js-minicard': this.clickOnMiniCard,
       'click .js-minicard': this.clickOnMiniCard,
@@ -239,10 +249,3 @@ BlazeComponent.extendComponent({
     });
     });
   },
   },
 }).register('addCardForm');
 }).register('addCardForm');
-
-
-Template.listBody.helpers({
-  canSeeAddCard() {
-    return Meteor.user() && Meteor.user().isBoardMember() && !Meteor.user().isCommentOnly();
-  },
-});

+ 26 - 0
client/components/lists/listHeader.jade

@@ -6,6 +6,9 @@ template(name="listHeader")
       h2.list-header-name(
       h2.list-header-name(
         class="{{#if currentUser.isBoardMember}}js-open-inlined-form is-editable{{/if}}")
         class="{{#if currentUser.isBoardMember}}js-open-inlined-form is-editable{{/if}}")
         = title
         = title
+        if isWipLimitEnabled
+          span
+            | ({{cards.count}}/#{wipLimit.value})
         if showCardsCountForList cards.count
         if showCardsCountForList cards.count
           = cards.count
           = cards.count
           span.lowercase
           span.lowercase
@@ -33,6 +36,10 @@ template(name="listActionPopup")
       if cards.count
       if cards.count
         li: a.js-select-cards {{_ 'list-select-cards'}}
         li: a.js-select-cards {{_ 'list-select-cards'}}
         hr
         hr
+    if currentUser.isBoardAdmin
+      ul.pop-over-list
+        li: a.js-set-wip-limit {{#if isWipLimitEnabled }}{{_ 'edit-wip-limit'}}{{else}}{{_ 'setWipLimitPopup-title'}}{{/if}}
+      hr
     ul.pop-over-list
     ul.pop-over-list
       li: a.js-close-list {{_ 'archive-list'}}
       li: a.js-close-list {{_ 'archive-list'}}
     hr
     hr
@@ -64,3 +71,22 @@ template(name="listDeletePopup")
   unless archived
   unless archived
    p {{_ "list-delete-suggest-archive"}}
    p {{_ "list-delete-suggest-archive"}}
   button.js-confirm.negate.full(type="submit") {{_ 'delete'}}
   button.js-confirm.negate.full(type="submit") {{_ 'delete'}}
+
+template(name="setWipLimitPopup")
+  #js-wip-limit-edit
+    lable {{_ 'set-wip-limit-value'}}
+    ul.pop-over-list
+      li: a.js-enable-wip-limit {{_ 'enable-wip-limit'}} 
+        if isWipLimitEnabled  
+          i.fa.fa-check
+    if isWipLimitEnabled
+      p
+        input.wip-limit-value(type="number" value="{{ wipLimitValue }}" min="1" max="99" onkeydown="return false")
+        input.wip-limit-apply(type="submit" value="{{_ 'apply'}}")
+        input.wip-limit-error
+        
+template(name="wipLimitErrorPopup")
+  .wip-limit-invalid
+    p {{_ 'wipLimitErrorPopup-dialog-pt1'}}
+    p {{_ 'wipLimitErrorPopup-dialog-pt2'}}
+    button.full.js-back-view(type="submit") {{_ 'cancel'}}

+ 52 - 0
client/components/lists/listHeader.js

@@ -13,6 +13,14 @@ BlazeComponent.extendComponent({
     return list.findWatcher(Meteor.userId());
     return list.findWatcher(Meteor.userId());
   },
   },
 
 
+  isWipLimitEnabled() {
+    const wipLimit = this.currentData().getWipLimit();
+    if(!wipLimit) {
+      return 0;
+    }
+    return wipLimit.enabled && wipLimit.value > 0;
+  },
+
   limitToShowCardsCount() {
   limitToShowCardsCount() {
     return Meteor.user().getLimitToShowCardsCount();
     return Meteor.user().getLimitToShowCardsCount();
   },
   },
@@ -37,6 +45,10 @@ BlazeComponent.extendComponent({
 }).register('listHeader');
 }).register('listHeader');
 
 
 Template.listActionPopup.helpers({
 Template.listActionPopup.helpers({
+  isWipLimitEnabled() {
+    return Template.currentData().getWipLimit('enabled');
+  },
+
   isWatching() {
   isWatching() {
     return this.findWatcher(Meteor.userId());
     return this.findWatcher(Meteor.userId());
   },
   },
@@ -61,9 +73,49 @@ Template.listActionPopup.events({
     this.archive();
     this.archive();
     Popup.close();
     Popup.close();
   },
   },
+  'click .js-set-wip-limit': Popup.open('setWipLimit'),
   'click .js-more': Popup.open('listMore'),
   'click .js-more': Popup.open('listMore'),
 });
 });
 
 
+BlazeComponent.extendComponent({
+  applyWipLimit() {
+    const list = Template.currentData();
+    const limit = parseInt(Template.instance().$('.wip-limit-value').val(), 10);
+
+    if(limit < list.cards().count()){
+      Template.instance().$('.wip-limit-error').click();
+    } else {
+      Meteor.call('applyWipLimit', list._id, limit);
+      Popup.back();
+    }
+  },
+
+  enableWipLimit() {
+    const list = Template.currentData();
+    // Prevent user from using previously stored wipLimit.value if it is less than the current number of cards in the list
+    if(list.getWipLimit() && !list.getWipLimit('enabled') && list.getWipLimit('value') < list.cards().count()){
+      list.setWipLimit(list.cards().count());
+    }
+    Meteor.call('enableWipLimit', list._id);
+  },
+
+  isWipLimitEnabled() {
+    return Template.currentData().getWipLimit('enabled');
+  },
+
+  wipLimitValue(){
+    return Template.currentData().getWipLimit('value');
+  },
+
+  events() {
+    return [{
+      'click .js-enable-wip-limit': this.enableWipLimit,
+      'click .wip-limit-apply': this.applyWipLimit,
+      'click .wip-limit-error': Popup.open('wipLimitError'),
+    }];
+  },
+}).register('setWipLimitPopup');
+
 Template.listMorePopup.events({
 Template.listMorePopup.events({
   'click .js-delete': Popup.afterConfirm('listDelete', function () {
   'click .js-delete': Popup.afterConfirm('listDelete', function () {
     Popup.close();
     Popup.close();

+ 3 - 1
client/components/sidebar/sidebarArchives.js

@@ -32,7 +32,9 @@ BlazeComponent.extendComponent({
     return [{
     return [{
       'click .js-restore-card'() {
       'click .js-restore-card'() {
         const card = this.currentData();
         const card = this.currentData();
-        card.restore();
+        if(card.canBeRestored()){
+          card.restore();
+        }
       },
       },
       'click .js-delete-card': Popup.afterConfirm('cardDelete', function() {
       'click .js-delete-card': Popup.afterConfirm('cardDelete', function() {
         const cardId = this._id;
         const cardId = this._id;

+ 0 - 1
client/lib/popup.js

@@ -205,4 +205,3 @@ escapeActions.forEach((actionName) => {
     }
     }
   );
   );
 });
 });
-

+ 7 - 0
i18n/ar.i18n.json

@@ -171,6 +171,7 @@
     "edit": "تعديل",
     "edit": "تعديل",
     "edit-avatar": "تعديل الصورة الشخصية",
     "edit-avatar": "تعديل الصورة الشخصية",
     "edit-profile": "تعديل الملف الشخصي",
     "edit-profile": "تعديل الملف الشخصي",
+    "edit-wip-limit": "Edit WIP Limit",
     "editCardStartDatePopup-title": "تغيير تاريخ البدء",
     "editCardStartDatePopup-title": "تغيير تاريخ البدء",
     "editCardDueDatePopup-title": "تغيير تاريخ الاستحقاق",
     "editCardDueDatePopup-title": "تغيير تاريخ الاستحقاق",
     "editLabelPopup-title": "تعديل العلامة",
     "editLabelPopup-title": "تعديل العلامة",
@@ -189,6 +190,7 @@
     "email-sent": "Email sent",
     "email-sent": "Email sent",
     "email-verifyEmail-subject": "Verify your email address on __siteName__",
     "email-verifyEmail-subject": "Verify your email address on __siteName__",
     "email-verifyEmail-text": "Hello __user__,\n\nTo verify your account email, simply click the link below.\n\n__url__\n\nThanks.",
     "email-verifyEmail-text": "Hello __user__,\n\nTo verify your account email, simply click the link below.\n\n__url__\n\nThanks.",
+    "enable-wip-limit": "Enable WIP Limit",
     "error-board-doesNotExist": "This board does not exist",
     "error-board-doesNotExist": "This board does not exist",
     "error-board-notAdmin": "You need to be admin of this board to do that",
     "error-board-notAdmin": "You need to be admin of this board to do that",
     "error-board-notAMember": "You need to be a member of this board to do that",
     "error-board-notAMember": "You need to be a member of this board to do that",
@@ -310,6 +312,8 @@
     "save": "حفظ",
     "save": "حفظ",
     "search": "بحث",
     "search": "بحث",
     "select-color": "Select Color",
     "select-color": "Select Color",
+    "set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
+    "setWipLimitPopup-title": "Set WIP Limit",
     "shortcut-assign-self": "Assign yourself to current card",
     "shortcut-assign-self": "Assign yourself to current card",
     "shortcut-autocomplete-emoji": "الإكمال التلقائي  للرموز التعبيرية",
     "shortcut-autocomplete-emoji": "الإكمال التلقائي  للرموز التعبيرية",
     "shortcut-autocomplete-members": "الإكمال التلقائي لأسماء الأعضاء",
     "shortcut-autocomplete-members": "الإكمال التلقائي لأسماء الأعضاء",
@@ -350,6 +354,9 @@
     "welcome-list1": "Basics",
     "welcome-list1": "Basics",
     "welcome-list2": "Advanced",
     "welcome-list2": "Advanced",
     "what-to-do": "ماذا تريد أن تنجز?",
     "what-to-do": "ماذا تريد أن تنجز?",
+    "wipLimitErrorPopup-title": "Invalid WIP Limit",
+    "wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.",
+    "wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.",
     "admin-panel": "Admin Panel",
     "admin-panel": "Admin Panel",
     "settings": "Settings",
     "settings": "Settings",
     "people": "People",
     "people": "People",

+ 7 - 0
i18n/br.i18n.json

@@ -171,6 +171,7 @@
     "edit": "Kemmañ",
     "edit": "Kemmañ",
     "edit-avatar": "Change Avatar",
     "edit-avatar": "Change Avatar",
     "edit-profile": "Edit Profile",
     "edit-profile": "Edit Profile",
+    "edit-wip-limit": "Edit WIP Limit",
     "editCardStartDatePopup-title": "Change start date",
     "editCardStartDatePopup-title": "Change start date",
     "editCardDueDatePopup-title": "Change due date",
     "editCardDueDatePopup-title": "Change due date",
     "editLabelPopup-title": "Change Label",
     "editLabelPopup-title": "Change Label",
@@ -189,6 +190,7 @@
     "email-sent": "Email sent",
     "email-sent": "Email sent",
     "email-verifyEmail-subject": "Verify your email address on __siteName__",
     "email-verifyEmail-subject": "Verify your email address on __siteName__",
     "email-verifyEmail-text": "Hello __user__,\n\nTo verify your account email, simply click the link below.\n\n__url__\n\nThanks.",
     "email-verifyEmail-text": "Hello __user__,\n\nTo verify your account email, simply click the link below.\n\n__url__\n\nThanks.",
+    "enable-wip-limit": "Enable WIP Limit",
     "error-board-doesNotExist": "This board does not exist",
     "error-board-doesNotExist": "This board does not exist",
     "error-board-notAdmin": "You need to be admin of this board to do that",
     "error-board-notAdmin": "You need to be admin of this board to do that",
     "error-board-notAMember": "You need to be a member of this board to do that",
     "error-board-notAMember": "You need to be a member of this board to do that",
@@ -310,6 +312,8 @@
     "save": "Save",
     "save": "Save",
     "search": "Search",
     "search": "Search",
     "select-color": "Select Color",
     "select-color": "Select Color",
+    "set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
+    "setWipLimitPopup-title": "Set WIP Limit",
     "shortcut-assign-self": "Assign yourself to current card",
     "shortcut-assign-self": "Assign yourself to current card",
     "shortcut-autocomplete-emoji": "Autocomplete emoji",
     "shortcut-autocomplete-emoji": "Autocomplete emoji",
     "shortcut-autocomplete-members": "Autocomplete members",
     "shortcut-autocomplete-members": "Autocomplete members",
@@ -350,6 +354,9 @@
     "welcome-list1": "Basics",
     "welcome-list1": "Basics",
     "welcome-list2": "Advanced",
     "welcome-list2": "Advanced",
     "what-to-do": "What do you want to do?",
     "what-to-do": "What do you want to do?",
+    "wipLimitErrorPopup-title": "Invalid WIP Limit",
+    "wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.",
+    "wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.",
     "admin-panel": "Admin Panel",
     "admin-panel": "Admin Panel",
     "settings": "Settings",
     "settings": "Settings",
     "people": "People",
     "people": "People",

+ 7 - 0
i18n/ca.i18n.json

@@ -171,6 +171,7 @@
     "edit": "Edita",
     "edit": "Edita",
     "edit-avatar": "Canvia Avatar",
     "edit-avatar": "Canvia Avatar",
     "edit-profile": "Edita el teu Perfil",
     "edit-profile": "Edita el teu Perfil",
+    "edit-wip-limit": "Edit WIP Limit",
     "editCardStartDatePopup-title": "Canvia data d'inici",
     "editCardStartDatePopup-title": "Canvia data d'inici",
     "editCardDueDatePopup-title": "Canvia data de finalització",
     "editCardDueDatePopup-title": "Canvia data de finalització",
     "editLabelPopup-title": "Canvia etiqueta",
     "editLabelPopup-title": "Canvia etiqueta",
@@ -189,6 +190,7 @@
     "email-sent": "Correu enviat",
     "email-sent": "Correu enviat",
     "email-verifyEmail-subject": "Verify your email address on __siteName__",
     "email-verifyEmail-subject": "Verify your email address on __siteName__",
     "email-verifyEmail-text": "Hola __user__, \n\n per verificar el teu correu, segueix l'enllaç següent.\n\n __url__\n\n Gràcies.",
     "email-verifyEmail-text": "Hola __user__, \n\n per verificar el teu correu, segueix l'enllaç següent.\n\n __url__\n\n Gràcies.",
+    "enable-wip-limit": "Enable WIP Limit",
     "error-board-doesNotExist": "Aquest tauler no existeix",
     "error-board-doesNotExist": "Aquest tauler no existeix",
     "error-board-notAdmin": "Necessites ser administrador d'aquest tauler per dur a lloc aquest acció",
     "error-board-notAdmin": "Necessites ser administrador d'aquest tauler per dur a lloc aquest acció",
     "error-board-notAMember": "Necessites ser membre d'aquest tauler per dur a terme aquesta acció",
     "error-board-notAMember": "Necessites ser membre d'aquest tauler per dur a terme aquesta acció",
@@ -310,6 +312,8 @@
     "save": "Desa",
     "save": "Desa",
     "search": "Cerca",
     "search": "Cerca",
     "select-color": "Selecciona color",
     "select-color": "Selecciona color",
+    "set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
+    "setWipLimitPopup-title": "Set WIP Limit",
     "shortcut-assign-self": "Assigna't la ftixa actual",
     "shortcut-assign-self": "Assigna't la ftixa actual",
     "shortcut-autocomplete-emoji": "Autocompleta emoji",
     "shortcut-autocomplete-emoji": "Autocompleta emoji",
     "shortcut-autocomplete-members": "Autocompleta membres",
     "shortcut-autocomplete-members": "Autocompleta membres",
@@ -350,6 +354,9 @@
     "welcome-list1": "Bàsics",
     "welcome-list1": "Bàsics",
     "welcome-list2": "Avançades",
     "welcome-list2": "Avançades",
     "what-to-do": "Què vols fer?",
     "what-to-do": "Què vols fer?",
+    "wipLimitErrorPopup-title": "Invalid WIP Limit",
+    "wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.",
+    "wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.",
     "admin-panel": "Tauler d'administració",
     "admin-panel": "Tauler d'administració",
     "settings": "Configuració",
     "settings": "Configuració",
     "people": "Persones",
     "people": "Persones",

+ 7 - 0
i18n/cs.i18n.json

@@ -171,6 +171,7 @@
     "edit": "Upravit",
     "edit": "Upravit",
     "edit-avatar": "Změnit avatar",
     "edit-avatar": "Změnit avatar",
     "edit-profile": "Upravit profil",
     "edit-profile": "Upravit profil",
+    "edit-wip-limit": "Edit WIP Limit",
     "editCardStartDatePopup-title": "Změnit datum startu úkolu",
     "editCardStartDatePopup-title": "Změnit datum startu úkolu",
     "editCardDueDatePopup-title": "Změnit datum dokončení úkolu",
     "editCardDueDatePopup-title": "Změnit datum dokončení úkolu",
     "editLabelPopup-title": "Změnit štítek",
     "editLabelPopup-title": "Změnit štítek",
@@ -189,6 +190,7 @@
     "email-sent": "Email byl odeslán",
     "email-sent": "Email byl odeslán",
     "email-verifyEmail-subject": "Ověř svou emailovou adresu na",
     "email-verifyEmail-subject": "Ověř svou emailovou adresu na",
     "email-verifyEmail-text": "Ahoj __user__,\n\nPro ověření emailové adresy klikni na odkaz níže.\n\n__url__\n\nDěkujeme.",
     "email-verifyEmail-text": "Ahoj __user__,\n\nPro ověření emailové adresy klikni na odkaz níže.\n\n__url__\n\nDěkujeme.",
+    "enable-wip-limit": "Enable WIP Limit",
     "error-board-doesNotExist": "Toto tablo neexistuje",
     "error-board-doesNotExist": "Toto tablo neexistuje",
     "error-board-notAdmin": "K provedení změny musíš být administrátor tohoto tabla",
     "error-board-notAdmin": "K provedení změny musíš být administrátor tohoto tabla",
     "error-board-notAMember": "K provedení změny musíš být členem tohoto tabla",
     "error-board-notAMember": "K provedení změny musíš být členem tohoto tabla",
@@ -310,6 +312,8 @@
     "save": "Uložit",
     "save": "Uložit",
     "search": "Hledat",
     "search": "Hledat",
     "select-color": "Select Color",
     "select-color": "Select Color",
+    "set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
+    "setWipLimitPopup-title": "Set WIP Limit",
     "shortcut-assign-self": "Přiřadit sebe k aktuální kartě",
     "shortcut-assign-self": "Přiřadit sebe k aktuální kartě",
     "shortcut-autocomplete-emoji": "Autocomplete emoji",
     "shortcut-autocomplete-emoji": "Autocomplete emoji",
     "shortcut-autocomplete-members": "Automatický výběr uživatel",
     "shortcut-autocomplete-members": "Automatický výběr uživatel",
@@ -350,6 +354,9 @@
     "welcome-list1": "Basics",
     "welcome-list1": "Basics",
     "welcome-list2": "Advanced",
     "welcome-list2": "Advanced",
     "what-to-do": "Co chcete dělat?",
     "what-to-do": "Co chcete dělat?",
+    "wipLimitErrorPopup-title": "Invalid WIP Limit",
+    "wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.",
+    "wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.",
     "admin-panel": "Admin Panel",
     "admin-panel": "Admin Panel",
     "settings": "Nastavení",
     "settings": "Nastavení",
     "people": "Lidé",
     "people": "Lidé",

+ 7 - 0
i18n/de.i18n.json

@@ -171,6 +171,7 @@
     "edit": "Bearbeiten",
     "edit": "Bearbeiten",
     "edit-avatar": "Profilbild ändern",
     "edit-avatar": "Profilbild ändern",
     "edit-profile": "Profil ändern",
     "edit-profile": "Profil ändern",
+    "edit-wip-limit": "Edit WIP Limit",
     "editCardStartDatePopup-title": "Startdatum ändern",
     "editCardStartDatePopup-title": "Startdatum ändern",
     "editCardDueDatePopup-title": "Enddatum ändern",
     "editCardDueDatePopup-title": "Enddatum ändern",
     "editLabelPopup-title": "Label ändern",
     "editLabelPopup-title": "Label ändern",
@@ -189,6 +190,7 @@
     "email-sent": "E-Mail gesendet",
     "email-sent": "E-Mail gesendet",
     "email-verifyEmail-subject": "Bestätigen Sie ihre E-Mail-Adresse auf __siteName__",
     "email-verifyEmail-subject": "Bestätigen Sie ihre E-Mail-Adresse auf __siteName__",
     "email-verifyEmail-text": "Hallo __user__,\n\num ihre E-Mail-Adresse zu bestätigen, klicken Sie bitte auf folgenden Link:\n\n__url__\n\nDanke.",
     "email-verifyEmail-text": "Hallo __user__,\n\num ihre E-Mail-Adresse zu bestätigen, klicken Sie bitte auf folgenden Link:\n\n__url__\n\nDanke.",
+    "enable-wip-limit": "Enable WIP Limit",
     "error-board-doesNotExist": "Dieses Board existiert nicht",
     "error-board-doesNotExist": "Dieses Board existiert nicht",
     "error-board-notAdmin": "Um das zu tun, müssen Sie Administrator dieses Boards sein",
     "error-board-notAdmin": "Um das zu tun, müssen Sie Administrator dieses Boards sein",
     "error-board-notAMember": "Um das zu tun, müssen Sie Mitglied dieses Boards sein",
     "error-board-notAMember": "Um das zu tun, müssen Sie Mitglied dieses Boards sein",
@@ -310,6 +312,8 @@
     "save": "Speichern",
     "save": "Speichern",
     "search": "Suchen",
     "search": "Suchen",
     "select-color": "Farbe auswählen",
     "select-color": "Farbe auswählen",
+    "set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
+    "setWipLimitPopup-title": "Set WIP Limit",
     "shortcut-assign-self": "Fügen Sie sich zur aktuellen Karte hinzu",
     "shortcut-assign-self": "Fügen Sie sich zur aktuellen Karte hinzu",
     "shortcut-autocomplete-emoji": "Emojis vervollständigen",
     "shortcut-autocomplete-emoji": "Emojis vervollständigen",
     "shortcut-autocomplete-members": "Mitglieder vervollständigen",
     "shortcut-autocomplete-members": "Mitglieder vervollständigen",
@@ -350,6 +354,9 @@
     "welcome-list1": "Grundlagen",
     "welcome-list1": "Grundlagen",
     "welcome-list2": "Fortgeschritten",
     "welcome-list2": "Fortgeschritten",
     "what-to-do": "Was wollen Sie tun?",
     "what-to-do": "Was wollen Sie tun?",
+    "wipLimitErrorPopup-title": "Invalid WIP Limit",
+    "wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.",
+    "wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.",
     "admin-panel": "Administration",
     "admin-panel": "Administration",
     "settings": "Einstellungen",
     "settings": "Einstellungen",
     "people": "Nutzer",
     "people": "Nutzer",

+ 7 - 0
i18n/en-GB.i18n.json

@@ -171,6 +171,7 @@
     "edit": "Edit",
     "edit": "Edit",
     "edit-avatar": "Change Avatar",
     "edit-avatar": "Change Avatar",
     "edit-profile": "Edit Profile",
     "edit-profile": "Edit Profile",
+    "edit-wip-limit": "Edit WIP Limit",
     "editCardStartDatePopup-title": "Change start date",
     "editCardStartDatePopup-title": "Change start date",
     "editCardDueDatePopup-title": "Change due date",
     "editCardDueDatePopup-title": "Change due date",
     "editLabelPopup-title": "Change Label",
     "editLabelPopup-title": "Change Label",
@@ -189,6 +190,7 @@
     "email-sent": "Email sent",
     "email-sent": "Email sent",
     "email-verifyEmail-subject": "Verify your email address on __siteName__",
     "email-verifyEmail-subject": "Verify your email address on __siteName__",
     "email-verifyEmail-text": "Hello __user__,\n\nTo verify your account email, simply click the link below.\n\n__url__\n\nThanks.",
     "email-verifyEmail-text": "Hello __user__,\n\nTo verify your account email, simply click the link below.\n\n__url__\n\nThanks.",
+    "enable-wip-limit": "Enable WIP Limit",
     "error-board-doesNotExist": "This board does not exist",
     "error-board-doesNotExist": "This board does not exist",
     "error-board-notAdmin": "You need to be admin of this board to do that",
     "error-board-notAdmin": "You need to be admin of this board to do that",
     "error-board-notAMember": "You need to be a member of this board to do that",
     "error-board-notAMember": "You need to be a member of this board to do that",
@@ -310,6 +312,8 @@
     "save": "Save",
     "save": "Save",
     "search": "Search",
     "search": "Search",
     "select-color": "Select Color",
     "select-color": "Select Color",
+    "set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
+    "setWipLimitPopup-title": "Set WIP Limit",
     "shortcut-assign-self": "Assign yourself to current card",
     "shortcut-assign-self": "Assign yourself to current card",
     "shortcut-autocomplete-emoji": "Autocomplete emoji",
     "shortcut-autocomplete-emoji": "Autocomplete emoji",
     "shortcut-autocomplete-members": "Autocomplete members",
     "shortcut-autocomplete-members": "Autocomplete members",
@@ -350,6 +354,9 @@
     "welcome-list1": "Basics",
     "welcome-list1": "Basics",
     "welcome-list2": "Advanced",
     "welcome-list2": "Advanced",
     "what-to-do": "What do you want to do?",
     "what-to-do": "What do you want to do?",
+    "wipLimitErrorPopup-title": "Invalid WIP Limit",
+    "wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.",
+    "wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.",
     "admin-panel": "Admin Panel",
     "admin-panel": "Admin Panel",
     "settings": "Settings",
     "settings": "Settings",
     "people": "People",
     "people": "People",

+ 7 - 0
i18n/en.i18n.json

@@ -171,6 +171,7 @@
     "edit": "Edit",
     "edit": "Edit",
     "edit-avatar": "Change Avatar",
     "edit-avatar": "Change Avatar",
     "edit-profile": "Edit Profile",
     "edit-profile": "Edit Profile",
+    "edit-wip-limit": "Edit WIP Limit",
     "editCardStartDatePopup-title": "Change start date",
     "editCardStartDatePopup-title": "Change start date",
     "editCardDueDatePopup-title": "Change due date",
     "editCardDueDatePopup-title": "Change due date",
     "editLabelPopup-title": "Change Label",
     "editLabelPopup-title": "Change Label",
@@ -189,6 +190,7 @@
     "email-sent": "Email sent",
     "email-sent": "Email sent",
     "email-verifyEmail-subject": "Verify your email address on __siteName__",
     "email-verifyEmail-subject": "Verify your email address on __siteName__",
     "email-verifyEmail-text": "Hello __user__,\n\nTo verify your account email, simply click the link below.\n\n__url__\n\nThanks.",
     "email-verifyEmail-text": "Hello __user__,\n\nTo verify your account email, simply click the link below.\n\n__url__\n\nThanks.",
+    "enable-wip-limit": "Enable WIP Limit",
     "error-board-doesNotExist": "This board does not exist",
     "error-board-doesNotExist": "This board does not exist",
     "error-board-notAdmin": "You need to be admin of this board to do that",
     "error-board-notAdmin": "You need to be admin of this board to do that",
     "error-board-notAMember": "You need to be a member of this board to do that",
     "error-board-notAMember": "You need to be a member of this board to do that",
@@ -310,6 +312,8 @@
     "save": "Save",
     "save": "Save",
     "search": "Search",
     "search": "Search",
     "select-color": "Select Color",
     "select-color": "Select Color",
+    "set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
+    "setWipLimitPopup-title": "Set WIP Limit",
     "shortcut-assign-self": "Assign yourself to current card",
     "shortcut-assign-self": "Assign yourself to current card",
     "shortcut-autocomplete-emoji": "Autocomplete emoji",
     "shortcut-autocomplete-emoji": "Autocomplete emoji",
     "shortcut-autocomplete-members": "Autocomplete members",
     "shortcut-autocomplete-members": "Autocomplete members",
@@ -350,6 +354,9 @@
     "welcome-list1": "Basics",
     "welcome-list1": "Basics",
     "welcome-list2": "Advanced",
     "welcome-list2": "Advanced",
     "what-to-do": "What do you want to do?",
     "what-to-do": "What do you want to do?",
+    "wipLimitErrorPopup-title": "Invalid WIP Limit",
+    "wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.",
+    "wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.",
     "admin-panel": "Admin Panel",
     "admin-panel": "Admin Panel",
     "settings": "Settings",
     "settings": "Settings",
     "people": "People",
     "people": "People",

+ 7 - 0
i18n/eo.i18n.json

@@ -171,6 +171,7 @@
     "edit": "Redakti",
     "edit": "Redakti",
     "edit-avatar": "Change Avatar",
     "edit-avatar": "Change Avatar",
     "edit-profile": "Redakti profilo",
     "edit-profile": "Redakti profilo",
+    "edit-wip-limit": "Edit WIP Limit",
     "editCardStartDatePopup-title": "Redakti komencdato",
     "editCardStartDatePopup-title": "Redakti komencdato",
     "editCardDueDatePopup-title": "Change due date",
     "editCardDueDatePopup-title": "Change due date",
     "editLabelPopup-title": "Ŝanĝi etikedo",
     "editLabelPopup-title": "Ŝanĝi etikedo",
@@ -189,6 +190,7 @@
     "email-sent": "Sendis retpoŝton",
     "email-sent": "Sendis retpoŝton",
     "email-verifyEmail-subject": "Verify your email address on __siteName__",
     "email-verifyEmail-subject": "Verify your email address on __siteName__",
     "email-verifyEmail-text": "Hello __user__,\n\nTo verify your account email, simply click the link below.\n\n__url__\n\nThanks.",
     "email-verifyEmail-text": "Hello __user__,\n\nTo verify your account email, simply click the link below.\n\n__url__\n\nThanks.",
+    "enable-wip-limit": "Enable WIP Limit",
     "error-board-doesNotExist": "This board does not exist",
     "error-board-doesNotExist": "This board does not exist",
     "error-board-notAdmin": "You need to be admin of this board to do that",
     "error-board-notAdmin": "You need to be admin of this board to do that",
     "error-board-notAMember": "You need to be a member of this board to do that",
     "error-board-notAMember": "You need to be a member of this board to do that",
@@ -310,6 +312,8 @@
     "save": "Savi",
     "save": "Savi",
     "search": "Serĉi",
     "search": "Serĉi",
     "select-color": "Select Color",
     "select-color": "Select Color",
+    "set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
+    "setWipLimitPopup-title": "Set WIP Limit",
     "shortcut-assign-self": "Assign yourself to current card",
     "shortcut-assign-self": "Assign yourself to current card",
     "shortcut-autocomplete-emoji": "Autocomplete emoji",
     "shortcut-autocomplete-emoji": "Autocomplete emoji",
     "shortcut-autocomplete-members": "Autocomplete members",
     "shortcut-autocomplete-members": "Autocomplete members",
@@ -350,6 +354,9 @@
     "welcome-list1": "Basics",
     "welcome-list1": "Basics",
     "welcome-list2": "Advanced",
     "welcome-list2": "Advanced",
     "what-to-do": "Kion vi volas fari?",
     "what-to-do": "Kion vi volas fari?",
+    "wipLimitErrorPopup-title": "Invalid WIP Limit",
+    "wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.",
+    "wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.",
     "admin-panel": "Admin Panel",
     "admin-panel": "Admin Panel",
     "settings": "Settings",
     "settings": "Settings",
     "people": "People",
     "people": "People",

+ 140 - 133
i18n/es.i18n.json

@@ -1,62 +1,62 @@
 {
 {
     "accept": "Aceptar",
     "accept": "Aceptar",
     "act-activity-notify": "[Wekan] Notificación de actividad",
     "act-activity-notify": "[Wekan] Notificación de actividad",
-    "act-addAttachment": "__attachment__ adjuntado a __card__",
-    "act-addChecklist": "añadida lista de tareas __checklist__ a __card__",
-    "act-addChecklistItem": "__checklistItem__ añadido a la lista de tareas __checklist__ en __card__",
-    "act-addComment": "comentado en __card__: __comment__",
-    "act-createBoard": "__board__ creado",
-    "act-createCard": "__card__ añadida a __list__",
-    "act-createList": "__list__ añadida a __board__",
-    "act-addBoardMember": "__member__ añadido a __board__",
-    "act-archivedBoard": "__board__ archivado",
-    "act-archivedCard": "__card__ archivada",
-    "act-archivedList": "__list__ archivada",
-    "act-importBoard": "__board__ importado",
-    "act-importCard": "__card__ importada",
-    "act-importList": "__list__ importada",
-    "act-joinMember": "__member__ añadido a __card__",
-    "act-moveCard": "__card__ movida desde __oldList__ a __list__",
-    "act-removeBoardMember": "__member__ borrado de __board__",
-    "act-restoredCard": "__card__ restaurada en __board__",
-    "act-unjoinMember": "__member__ borrado de __card__",
+    "act-addAttachment": "ha adjuntado __attachment__ a __card__",
+    "act-addChecklist": "ha añadido la lista de tareas __checklist__ a __card__",
+    "act-addChecklistItem": "ha añadido __checklistItem__ a la lista de tareas __checklist__ en __card__",
+    "act-addComment": "ha comentado en __card__: __comment__",
+    "act-createBoard": "ha creado __board__",
+    "act-createCard": "ha añadido __card__ a __list__",
+    "act-createList": "ha añadido __list__ a __board__",
+    "act-addBoardMember": "ha añadido a __member__ a __board__",
+    "act-archivedBoard": "ha archivado __board__",
+    "act-archivedCard": "ha archivado __card__",
+    "act-archivedList": "ha archivado __list__",
+    "act-importBoard": "ha importado __board__",
+    "act-importCard": "ha importado __card__",
+    "act-importList": "ha importado __list__",
+    "act-joinMember": "ha añadido a __member__ a __card__",
+    "act-moveCard": "ha movido __card__ desde __oldList__ a __list__",
+    "act-removeBoardMember": "ha desvinculado a __member__ de __board__",
+    "act-restoredCard": "ha restaurado __card__ en __board__",
+    "act-unjoinMember": "ha desvinculado a __member__ de __card__",
     "act-withBoardTitle": "[Wekan] __board__",
     "act-withBoardTitle": "[Wekan] __board__",
     "act-withCardTitle": "[__board__] __card__",
     "act-withCardTitle": "[__board__] __card__",
     "actions": "Acciones",
     "actions": "Acciones",
     "activities": "Actividades",
     "activities": "Actividades",
     "activity": "Actividad",
     "activity": "Actividad",
-    "activity-added": "%s añadido a %s",
-    "activity-archived": "%s archivado",
-    "activity-attached": "%s adjuntado a %s",
-    "activity-created": "%s creado",
-    "activity-excluded": "%s excluido de %s",
-    "activity-imported": "%s importado en %s desde %s",
-    "activity-imported-board": "%s importado desde %s",
-    "activity-joined": "%s se ha unido",
-    "activity-moved": "%s movido de %s a %s",
+    "activity-added": "ha añadido %s a %s",
+    "activity-archived": "ha archivado %s",
+    "activity-attached": "ha adjuntado %s a %s",
+    "activity-created": "ha creado %s",
+    "activity-excluded": "ha excluido %s de %s",
+    "activity-imported": "ha importado %s a %s desde %s",
+    "activity-imported-board": "ha importado %s desde %s",
+    "activity-joined": "se ha unido a %s",
+    "activity-moved": "ha movido %s de %s a %s",
     "activity-on": "en %s",
     "activity-on": "en %s",
-    "activity-removed": "%s eliminado de %s",
-    "activity-sent": "%s enviado a %s",
-    "activity-unjoined": "separado %s",
-    "activity-checklist-added": "añadida lista de tareas a %s",
-    "activity-checklist-item-added": "añadido el elemento de la lista de tareas a '%s' en %s",
+    "activity-removed": "ha eliminado %s de %s",
+    "activity-sent": "ha enviado %s a %s",
+    "activity-unjoined": "se ha desvinculado de %s",
+    "activity-checklist-added": "ha añadido una lista de tareas a %s",
+    "activity-checklist-item-added": "ha añadido el elemento de la lista de tareas a '%s' en %s",
     "add": "Añadir",
     "add": "Añadir",
     "add-attachment": "Añadir adjunto",
     "add-attachment": "Añadir adjunto",
     "add-board": "Añadir tablero",
     "add-board": "Añadir tablero",
-    "add-card": "Añadir tarjeta",
-    "add-checklist": "Añadir lista de tareas",
+    "add-card": "Añadir una tarjeta",
+    "add-checklist": "Añadir una lista de tareas",
     "add-checklist-item": "Añadir un elemento a la lista de tareas",
     "add-checklist-item": "Añadir un elemento a la lista de tareas",
-    "add-cover": "Añadir cubierta",
-    "add-label": "Añadir etiqueta",
-    "add-list": "Añadir lista",
+    "add-cover": "Añadir portada",
+    "add-label": "Añadir una etiqueta",
+    "add-list": "Añadir una lista",
     "add-members": "Añadir miembros",
     "add-members": "Añadir miembros",
-    "added": "Añadido",
+    "added": "Añadido el",
     "addMemberPopup-title": "Miembros",
     "addMemberPopup-title": "Miembros",
     "admin": "Administrador",
     "admin": "Administrador",
-    "admin-desc": "Puedes ver y editar fichas, eliminar miembros, y cambiar los ajustes del tablero",
-    "admin-announcement": "Anuncio",
-    "admin-announcement-active": "Activar anuncio del sistema",
-    "admin-announcement-title": "Anuncio del administrator",
+    "admin-desc": "Puedes ver y editar tarjetas, eliminar miembros, y cambiar los ajustes del tablero",
+    "admin-announcement": "Aviso",
+    "admin-announcement-active": "Activar el aviso para todo el sistema",
+    "admin-announcement-title": "Aviso del administrador",
     "all-boards": "Tableros",
     "all-boards": "Tableros",
     "and-n-other-card": "y __count__ tarjeta más",
     "and-n-other-card": "y __count__ tarjeta más",
     "and-n-other-card_plural": "y otras __count__ tarjetas",
     "and-n-other-card_plural": "y otras __count__ tarjetas",
@@ -64,69 +64,69 @@
     "app-is-offline": "Wekan se está cargando, por favor espere. Actualizar la página provocará la pérdida de datos. Si Wekan no se carga, por favor verifique que el servidor de Wekan no está detenido.",
     "app-is-offline": "Wekan se está cargando, por favor espere. Actualizar la página provocará la pérdida de datos. Si Wekan no se carga, por favor verifique que el servidor de Wekan no está detenido.",
     "archive": "Archivar",
     "archive": "Archivar",
     "archive-all": "Archivar todo",
     "archive-all": "Archivar todo",
-    "archive-board": "Archivar tablero",
-    "archive-card": "Archivar tarjeta",
-    "archive-list": "Archivar lista",
-    "archive-selection": "Archivar seleción",
-    "archiveBoardPopup-title": "¿Archivar tablero?",
+    "archive-board": "Archivar el tablero",
+    "archive-card": "Archivar la tarjeta",
+    "archive-list": "Archivar la lista",
+    "archive-selection": "Archivar la selección",
+    "archiveBoardPopup-title": "¿Archivar el tablero?",
     "archived-items": "Elementos archivados",
     "archived-items": "Elementos archivados",
     "archived-boards": "Tableros archivados",
     "archived-boards": "Tableros archivados",
-    "restore-board": "Restaurar tablero",
+    "restore-board": "Restaurar el tablero",
     "no-archived-boards": "No hay tableros archivados",
     "no-archived-boards": "No hay tableros archivados",
     "archives": "Archivos",
     "archives": "Archivos",
     "assign-member": "Asignar miembros",
     "assign-member": "Asignar miembros",
     "attached": "adjuntado",
     "attached": "adjuntado",
     "attachment": "Adjunto",
     "attachment": "Adjunto",
     "attachment-delete-pop": "El borrado de un archivo adjunto es permanente. Esta acción no puede deshacerse.",
     "attachment-delete-pop": "El borrado de un archivo adjunto es permanente. Esta acción no puede deshacerse.",
-    "attachmentDeletePopup-title": "¿Borrar adjunto?",
+    "attachmentDeletePopup-title": "¿Borrar el adjunto?",
     "attachments": "Adjuntos",
     "attachments": "Adjuntos",
     "auto-watch": "Suscribirse automáticamente a los tableros cuando son creados",
     "auto-watch": "Suscribirse automáticamente a los tableros cuando son creados",
     "avatar-too-big": "El avatar es muy grande (70KB máx.)",
     "avatar-too-big": "El avatar es muy grande (70KB máx.)",
     "back": "Atrás",
     "back": "Atrás",
-    "board-change-color": "Cambiar color",
+    "board-change-color": "Cambiar el color",
     "board-nb-stars": "%s destacados",
     "board-nb-stars": "%s destacados",
     "board-not-found": "Tablero no encontrado",
     "board-not-found": "Tablero no encontrado",
     "board-private-info": "Este tablero será <strong>privado</strong>.",
     "board-private-info": "Este tablero será <strong>privado</strong>.",
     "board-public-info": "Este tablero será <strong>público</strong>.",
     "board-public-info": "Este tablero será <strong>público</strong>.",
-    "boardChangeColorPopup-title": "Cambiar fondo del tablero",
-    "boardChangeTitlePopup-title": "Renombrar tablero",
+    "boardChangeColorPopup-title": "Cambiar el fondo del tablero",
+    "boardChangeTitlePopup-title": "Renombrar el tablero",
     "boardChangeVisibilityPopup-title": "Cambiar visibilidad",
     "boardChangeVisibilityPopup-title": "Cambiar visibilidad",
     "boardChangeWatchPopup-title": "Cambiar vigilancia",
     "boardChangeWatchPopup-title": "Cambiar vigilancia",
     "boardMenuPopup-title": "Menú del tablero",
     "boardMenuPopup-title": "Menú del tablero",
     "boards": "Tableros",
     "boards": "Tableros",
-    "bucket-example": "Como 'Cosas por hacer' por ejemplo",
+    "bucket-example": "Como “Cosas por hacer” por ejemplo",
     "cancel": "Cancelar",
     "cancel": "Cancelar",
-    "card-archived": "Esta ficha está archivada.",
-    "card-comments-title": "Esta ficha tiene %s comentarios.",
-    "card-delete-notice": "El borrado es permanente. Perderás todas las acciones asociadas a esta ficha.",
+    "card-archived": "Esta tarjeta está archivada.",
+    "card-comments-title": "Esta tarjeta tiene %s comentarios.",
+    "card-delete-notice": "El borrado es permanente. Perderás todas las acciones asociadas a esta tarjeta.",
     "card-delete-pop": "Se eliminarán todas las acciones de la historia y no se podrá volver a abrir la tarjeta. Esta acción no puede deshacerse.",
     "card-delete-pop": "Se eliminarán todas las acciones de la historia y no se podrá volver a abrir la tarjeta. Esta acción no puede deshacerse.",
     "card-delete-suggest-archive": "Puede archivar una tarjeta para eliminarla del tablero y conservar la actividad.",
     "card-delete-suggest-archive": "Puede archivar una tarjeta para eliminarla del tablero y conservar la actividad.",
-    "card-due": "Motivo",
-    "card-due-on": "Debido a",
-    "card-edit-attachments": "Editar adjuntos",
-    "card-edit-labels": "Editar etiquetas",
-    "card-edit-members": "Editar miembros",
-    "card-labels-title": "Cambia las etiquetas de la ficha",
-    "card-members-title": "Añadir o eliminar miembros del tablero desde la ficha.",
+    "card-due": "Finalizar",
+    "card-due-on": "Vence el",
+    "card-edit-attachments": "Editar los adjuntos",
+    "card-edit-labels": "Editar las etiquetas",
+    "card-edit-members": "Editar los miembros",
+    "card-labels-title": "Cambia las etiquetas de la tarjeta",
+    "card-members-title": "Añadir o eliminar miembros del tablero desde la tarjeta.",
     "card-start": "Empezar",
     "card-start": "Empezar",
-    "card-start-on": "Empieza",
+    "card-start-on": "Empieza el",
     "cardAttachmentsPopup-title": "Adjuntar desde",
     "cardAttachmentsPopup-title": "Adjuntar desde",
-    "cardDeletePopup-title": "¿Borrar la ficha?",
+    "cardDeletePopup-title": "¿Borrar la tarjeta?",
     "cardDetailsActionsPopup-title": "Acciones de la tarjeta",
     "cardDetailsActionsPopup-title": "Acciones de la tarjeta",
     "cardLabelsPopup-title": "Etiquetas",
     "cardLabelsPopup-title": "Etiquetas",
     "cardMembersPopup-title": "Miembros",
     "cardMembersPopup-title": "Miembros",
     "cardMorePopup-title": "Más",
     "cardMorePopup-title": "Más",
     "cards": "Tarjetas",
     "cards": "Tarjetas",
     "change": "Cambiar",
     "change": "Cambiar",
-    "change-avatar": "Cambiar avatar",
+    "change-avatar": "Cambiar el avatar",
     "change-password": "Cambiar la contraseña",
     "change-password": "Cambiar la contraseña",
-    "change-permissions": "Cambiar permisos",
-    "change-settings": "Cambiar preferencias",
-    "changeAvatarPopup-title": "Cambiar avatar",
-    "changeLanguagePopup-title": "Cambiar idioma",
+    "change-permissions": "Cambiar los permisos",
+    "change-settings": "Cambiar las preferencias",
+    "changeAvatarPopup-title": "Cambiar el avatar",
+    "changeLanguagePopup-title": "Cambiar el idioma",
     "changePasswordPopup-title": "Cambiar la contraseña",
     "changePasswordPopup-title": "Cambiar la contraseña",
-    "changePermissionsPopup-title": "Cambiar permisos",
-    "changeSettingsPopup-title": "Cambiar preferencias",
+    "changePermissionsPopup-title": "Cambiar los permisos",
+    "changeSettingsPopup-title": "Cambiar las preferencias",
     "checklists": "Lista de tareas",
     "checklists": "Lista de tareas",
     "click-to-star": "Haz clic para destacar este tablero.",
     "click-to-star": "Haz clic para destacar este tablero.",
     "click-to-unstar": "Haz clic para dejar de destacar este tablero.",
     "click-to-unstar": "Haz clic para dejar de destacar este tablero.",
@@ -134,24 +134,24 @@
     "close": "Cerrar",
     "close": "Cerrar",
     "close-board": "Cerrar el tablero",
     "close-board": "Cerrar el tablero",
     "close-board-pop": "Podrá restaurar el tablero haciendo clic en el botón 'Archivos' en el encabezado al inicio.",
     "close-board-pop": "Podrá restaurar el tablero haciendo clic en el botón 'Archivos' en el encabezado al inicio.",
-    "color-black": "negro",
+    "color-black": "negra",
     "color-blue": "azul",
     "color-blue": "azul",
     "color-green": "verde",
     "color-green": "verde",
     "color-lime": "lima",
     "color-lime": "lima",
     "color-orange": "naranja",
     "color-orange": "naranja",
     "color-pink": "rosa",
     "color-pink": "rosa",
     "color-purple": "púrpura",
     "color-purple": "púrpura",
-    "color-red": "rojo",
-    "color-sky": "cielo",
-    "color-yellow": "amarillo",
+    "color-red": "roja",
+    "color-sky": "celeste",
+    "color-yellow": "amarilla",
     "comment": "Comentario",
     "comment": "Comentario",
     "comment-placeholder": "Escribir comentario",
     "comment-placeholder": "Escribir comentario",
     "comment-only": "Sólo comentarios",
     "comment-only": "Sólo comentarios",
-    "comment-only-desc": "Solo se puede comentar en tarjetas.",
+    "comment-only-desc": "Solo se puede comentar en las tarjetas.",
     "computer": "Ordenador",
     "computer": "Ordenador",
     "confirm-checklist-delete-dialog": "¿Seguro que desea eliminar la lista de tareas?",
     "confirm-checklist-delete-dialog": "¿Seguro que desea eliminar la lista de tareas?",
     "copy-card-link-to-clipboard": "Copiar enlace a la tarjeta al portapapeles",
     "copy-card-link-to-clipboard": "Copiar enlace a la tarjeta al portapapeles",
-    "copyCardPopup-title": "Copiar tarjeta",
+    "copyCardPopup-title": "Copiar la tarjeta",
     "create": "Crear",
     "create": "Crear",
     "createBoardPopup-title": "Crear tablero",
     "createBoardPopup-title": "Crear tablero",
     "chooseBoardSourcePopup-title": "Importar tablero",
     "chooseBoardSourcePopup-title": "Importar tablero",
@@ -161,7 +161,7 @@
     "decline": "Declinar",
     "decline": "Declinar",
     "default-avatar": "Avatar por defecto",
     "default-avatar": "Avatar por defecto",
     "delete": "Borrar",
     "delete": "Borrar",
-    "deleteLabelPopup-title": "Borrar etiqueta",
+    "deleteLabelPopup-title": "¿Borrar la etiqueta?",
     "description": "Descripción",
     "description": "Descripción",
     "disambiguateMultiLabelPopup-title": "Desambiguar la acción de etiqueta",
     "disambiguateMultiLabelPopup-title": "Desambiguar la acción de etiqueta",
     "disambiguateMultiMemberPopup-title": "Desambiguar la acción de miembro",
     "disambiguateMultiMemberPopup-title": "Desambiguar la acción de miembro",
@@ -169,13 +169,14 @@
     "done": "Hecho",
     "done": "Hecho",
     "download": "Descargar",
     "download": "Descargar",
     "edit": "Editar",
     "edit": "Editar",
-    "edit-avatar": "Cambiar Avatar",
-    "edit-profile": "Editar perfil",
-    "editCardStartDatePopup-title": "Cambiar fecha de inicio",
-    "editCardDueDatePopup-title": "Cambiar fecha de vencimiento",
-    "editLabelPopup-title": "Cambiar etiqueta",
-    "editNotificationPopup-title": "Editar notificación",
-    "editProfilePopup-title": "Editar perfil",
+    "edit-avatar": "Cambiar el avatar",
+    "edit-profile": "Editar el perfil",
+    "edit-wip-limit": "Edit WIP Limit",
+    "editCardStartDatePopup-title": "Cambiar la fecha de inicio",
+    "editCardDueDatePopup-title": "Cambiar la fecha de vencimiento",
+    "editLabelPopup-title": "Cambiar la etiqueta",
+    "editNotificationPopup-title": "Editar las notificaciones",
+    "editProfilePopup-title": "Editar el perfil",
     "email": "Correo electrónico",
     "email": "Correo electrónico",
     "email-enrollAccount-subject": "Cuenta creada en __siteName__",
     "email-enrollAccount-subject": "Cuenta creada en __siteName__",
     "email-enrollAccount-text": "Hola __user__,\n\nPara empezar a utilizar el servicio, simplemente haz clic en el siguiente enlace.\n\n__url__\n\nGracias.",
     "email-enrollAccount-text": "Hola __user__,\n\nPara empezar a utilizar el servicio, simplemente haz clic en el siguiente enlace.\n\n__url__\n\nGracias.",
@@ -189,6 +190,7 @@
     "email-sent": "Correo enviado",
     "email-sent": "Correo enviado",
     "email-verifyEmail-subject": "Verifica tu dirección de correo en __siteName__",
     "email-verifyEmail-subject": "Verifica tu dirección de correo en __siteName__",
     "email-verifyEmail-text": "Hola __user__,\n\nPara verificar tu cuenta de correo electrónico, haz clic en el siguiente enlace.\n\n__url__\n\nGracias.",
     "email-verifyEmail-text": "Hola __user__,\n\nPara verificar tu cuenta de correo electrónico, haz clic en el siguiente enlace.\n\n__url__\n\nGracias.",
+    "enable-wip-limit": "Enable WIP Limit",
     "error-board-doesNotExist": "El tablero no existe",
     "error-board-doesNotExist": "El tablero no existe",
     "error-board-notAdmin": "Es necesario ser administrador de este tablero para hacer eso",
     "error-board-notAdmin": "Es necesario ser administrador de este tablero para hacer eso",
     "error-board-notAMember": "Es necesario ser miembro de este tablero para hacer eso",
     "error-board-notAMember": "Es necesario ser miembro de este tablero para hacer eso",
@@ -199,55 +201,55 @@
     "error-user-notAllowSelf": "No puedes invitarte a ti mismo",
     "error-user-notAllowSelf": "No puedes invitarte a ti mismo",
     "error-user-notCreated": "El usuario no ha sido creado",
     "error-user-notCreated": "El usuario no ha sido creado",
     "error-username-taken": "Este nombre de usuario ya está en uso",
     "error-username-taken": "Este nombre de usuario ya está en uso",
-    "error-email-taken": "Esta direccion de Email ya está en uso",
-    "export-board": "Exportar tablero",
+    "error-email-taken": "Esta dirección de correo ya está en uso",
+    "export-board": "Exportar el tablero",
     "filter": "Filtro",
     "filter": "Filtro",
-    "filter-cards": "Fichas filtradas",
+    "filter-cards": "Filtrar tarjetas",
     "filter-clear": "Limpiar filtro",
     "filter-clear": "Limpiar filtro",
     "filter-no-label": "Sin etiqueta",
     "filter-no-label": "Sin etiqueta",
     "filter-no-member": "Sin miembro",
     "filter-no-member": "Sin miembro",
     "filter-on": "Filtro activo",
     "filter-on": "Filtro activo",
-    "filter-on-desc": "Estás filtrando fichas en este tablero. Haz clic aquí para editar el filtro.",
+    "filter-on-desc": "Estás filtrando tarjetas en este tablero. Haz clic aquí para editar el filtro.",
     "filter-to-selection": "Filtrar la selección",
     "filter-to-selection": "Filtrar la selección",
     "fullname": "Nombre completo",
     "fullname": "Nombre completo",
     "header-logo-title": "Volver a tu página de tableros",
     "header-logo-title": "Volver a tu página de tableros",
-    "hide-system-messages": "Ocultar los mensajes del sistema",
+    "hide-system-messages": "Ocultar las notificaciones de actividad",
     "headerBarCreateBoardPopup-title": "Crear tablero",
     "headerBarCreateBoardPopup-title": "Crear tablero",
     "home": "Inicio",
     "home": "Inicio",
     "import": "Importar",
     "import": "Importar",
-    "import-board": "importar tablero",
-    "import-board-c": "Importar tablero",
-    "import-board-title-trello": "Importar tablero desde Trello",
-    "import-board-title-wekan": "Importar tablero desde Wekan",
-    "import-sandstorm-warning": "El tablero importado va a borrar todos los datos existentes en este tablero y reemplazarlos con los datos del tablero importado.",
+    "import-board": "importar el tablero",
+    "import-board-c": "Importar el tablero",
+    "import-board-title-trello": "Importar un tablero desde Trello",
+    "import-board-title-wekan": "Importar un tablero desde Wekan",
+    "import-sandstorm-warning": "El tablero importado va a borrar todos los datos existentes en este tablero y a reemplazarlos con los datos del tablero importado.",
     "from-trello": "Desde Trello",
     "from-trello": "Desde Trello",
     "from-wekan": "Desde Wekan",
     "from-wekan": "Desde Wekan",
-    "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-wekan": "En tu tablero Wekan, ve a 'Menú', luego 'Exportar tablero', y copia el texto en el archivo descargado.",
+    "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-wekan": "En tu tablero Wekan, ve a 'Menú', luego 'Exportar el tablero', y copia el texto del archivo descargado.",
     "import-json-placeholder": "Pega tus datos JSON válidos aquí",
     "import-json-placeholder": "Pega tus datos JSON válidos aquí",
     "import-map-members": "Mapa de miembros",
     "import-map-members": "Mapa de miembros",
     "import-members-map": "El tablero importado tiene algunos miembros. Por favor mapea los miembros que deseas importar a los usuarios de Wekan",
     "import-members-map": "El tablero importado tiene algunos miembros. Por favor mapea los miembros que deseas importar a los usuarios de Wekan",
     "import-show-user-mapping": "Revisión de la asignación de miembros",
     "import-show-user-mapping": "Revisión de la asignación de miembros",
-    "import-user-select": "Escoje el usuario de Wekan que deseas utilizar como miembro",
-    "importMapMembersAddPopup-title": "Seleccionar un miembro de Wekan",
+    "import-user-select": "Escoge el usuario de Wekan que deseas utilizar como miembro",
+    "importMapMembersAddPopup-title": "Selecciona un miembro de Wekan",
     "info": "Versión",
     "info": "Versión",
     "initials": "Iniciales",
     "initials": "Iniciales",
     "invalid-date": "Fecha no válida",
     "invalid-date": "Fecha no válida",
     "joined": "se ha unido",
     "joined": "se ha unido",
     "just-invited": "Has sido invitado a este tablero",
     "just-invited": "Has sido invitado a este tablero",
     "keyboard-shortcuts": "Atajos de teclado",
     "keyboard-shortcuts": "Atajos de teclado",
-    "label-create": "Crear etiqueta",
-    "label-default": "%s etiqueta (por defecto)",
-    "label-delete-pop": "Esto eliminará esta etiqueta de todas las fichas y destruirá su historia. Esta acción no puede deshacerse.",
+    "label-create": "Crear una etiqueta",
+    "label-default": "etiqueta %s (por defecto)",
+    "label-delete-pop": "Esto eliminará esta etiqueta de todas las tarjetas y destruirá su historia. Esta acción no puede deshacerse.",
     "labels": "Etiquetas",
     "labels": "Etiquetas",
     "language": "Idioma",
     "language": "Idioma",
     "last-admin-desc": "No puedes cambiar roles porque debe haber al menos un administrador.",
     "last-admin-desc": "No puedes cambiar roles porque debe haber al menos un administrador.",
     "leave-board": "Abandonar el tablero",
     "leave-board": "Abandonar el tablero",
-    "link-card": "Enlace a esta ficha",
-    "list-archive-cards": "Archivar todas las tarjetas en esta lista",
-    "list-archive-cards-pop": "Esto eliminara todas las fichas de esta lista del tablero. Para ver fichas archivadas y recuperarlas en el tablero, haz clic en 'Menú' / 'Artículos Archivados'.",
-    "list-move-cards": "Mover todas las tarjetas en esta lista",
-    "list-select-cards": "Seleccionar todas las tarjetas en esta lista",
+    "link-card": "Enlace a esta tarjeta",
+    "list-archive-cards": "Archivar todas las tarjetas de esta lista",
+    "list-archive-cards-pop": "Esto eliminara todas las tarjetas de esta lista del tablero. Para ver las tarjetas archivadas y recuperarlas en el tablero, haz clic en 'Menú' > 'Elementos archivados'.",
+    "list-move-cards": "Mover todas las tarjetas de esta lista",
+    "list-select-cards": "Seleccionar todas las tarjetas de esta lista",
     "listActionPopup-title": "Acciones de la lista",
     "listActionPopup-title": "Acciones de la lista",
     "listImportCardPopup-title": "Importar una tarjeta de Trello",
     "listImportCardPopup-title": "Importar una tarjeta de Trello",
     "listMorePopup-title": "Más",
     "listMorePopup-title": "Más",
@@ -258,16 +260,16 @@
     "log-out": "Finalizar la sesión",
     "log-out": "Finalizar la sesión",
     "log-in": "Iniciar sesión",
     "log-in": "Iniciar sesión",
     "loginPopup-title": "Iniciar sesión",
     "loginPopup-title": "Iniciar sesión",
-    "memberMenuPopup-title": "Preferencias de miembro",
+    "memberMenuPopup-title": "Mis preferencias",
     "members": "Miembros",
     "members": "Miembros",
     "menu": "Menú",
     "menu": "Menú",
-    "move-selection": "Mover selección",
-    "moveCardPopup-title": "Mover tarjeta",
+    "move-selection": "Mover la selección",
+    "moveCardPopup-title": "Mover la tarjeta",
     "moveCardToBottom-title": "Mover al final",
     "moveCardToBottom-title": "Mover al final",
-    "moveCardToTop-title": "Movel al principio",
-    "moveSelectionPopup-title": "Mover selección",
-    "multi-selection": "Multi-selección",
-    "multi-selection-on": "Multi-selección activada",
+    "moveCardToTop-title": "Mover al principio",
+    "moveSelectionPopup-title": "Mover la selección",
+    "multi-selection": "Selección múltiple",
+    "multi-selection-on": "Selección múltiple activada",
     "muted": "Silenciado",
     "muted": "Silenciado",
     "muted-info": "No serás notificado de ningún cambio en este tablero",
     "muted-info": "No serás notificado de ningún cambio en este tablero",
     "my-boards": "Mis tableros",
     "my-boards": "Mis tableros",
@@ -276,13 +278,13 @@
     "no-archived-lists": "No hay listas archivadas.",
     "no-archived-lists": "No hay listas archivadas.",
     "no-results": "Sin resultados",
     "no-results": "Sin resultados",
     "normal": "Normal",
     "normal": "Normal",
-    "normal-desc": "Puedes ver y editar fichas. No puedes cambiar la configuración.",
-    "not-accepted-yet": "Invitación no aceptada aún",
+    "normal-desc": "Puedes ver y editar tarjetas. No puedes cambiar la configuración.",
+    "not-accepted-yet": "La invitación no ha sido aceptada aún",
     "notify-participate": "Recibir actualizaciones de cualquier tarjeta en la que participas como creador o miembro",
     "notify-participate": "Recibir actualizaciones de cualquier tarjeta en la que participas como creador o miembro",
     "notify-watch": "Recibir actuaizaciones de cualquier tablero, lista o tarjeta que estés vigilando",
     "notify-watch": "Recibir actuaizaciones de cualquier tablero, lista o tarjeta que estés vigilando",
     "optional": "opcional",
     "optional": "opcional",
     "or": "o",
     "or": "o",
-    "page-maybe-private": "Esta página puede ser privada. Puedes verla al <a href='%s'>iniciar sesión</a>.",
+    "page-maybe-private": "Esta página puede ser privada. Es posible que puedas verla al <a href='%s'>iniciar sesión</a>.",
     "page-not-found": "Página no encontrada.",
     "page-not-found": "Página no encontrada.",
     "password": "Contraseña",
     "password": "Contraseña",
     "paste-or-dragdrop": "pegar o arrastrar y soltar un archivo de imagen (sólo imagen)",
     "paste-or-dragdrop": "pegar o arrastrar y soltar un archivo de imagen (sólo imagen)",
@@ -294,22 +296,24 @@
     "private-desc": "Este tablero es privado. Sólo las personas añadidas al tablero pueden verlo y editarlo.",
     "private-desc": "Este tablero es privado. Sólo las personas añadidas al tablero pueden verlo y editarlo.",
     "profile": "Perfil",
     "profile": "Perfil",
     "public": "Público",
     "public": "Público",
-    "public-desc": "Este tablero es público. Es visible para cualquier persona con el enlace y se mostrará en los motores de búsqueda como Google. Sólo personas añadidas al tablero pueden editarlo.",
+    "public-desc": "Este tablero es público. Es visible para cualquiera a través del enlace, y se mostrará en los buscadores como Google. Sólo las personas añadidas al tablero pueden editarlo.",
     "quick-access-description": "Destaca un tablero para añadir un acceso directo en esta barra.",
     "quick-access-description": "Destaca un tablero para añadir un acceso directo en esta barra.",
-    "remove-cover": "Eliminar cubierta",
-    "remove-from-board": "Borrar del tablero",
-    "remove-label": "Eliminar etiqueta",
-    "listDeletePopup-title": "¿Eliminar lista?",
+    "remove-cover": "Eliminar portada",
+    "remove-from-board": "Desvincular del tablero",
+    "remove-label": "Eliminar la etiqueta",
+    "listDeletePopup-title": "¿Eliminar la lista?",
     "remove-member": "Eliminar miembro",
     "remove-member": "Eliminar miembro",
-    "remove-member-from-card": "Eliminar de la ficha",
+    "remove-member-from-card": "Eliminar de la tarjeta",
     "remove-member-pop": "¿Eliminar __name__ (__username__) de __boardTitle__? El miembro será eliminado de todas las tarjetas de este tablero. En ellas se mostrará una notificación.",
     "remove-member-pop": "¿Eliminar __name__ (__username__) de __boardTitle__? El miembro será eliminado de todas las tarjetas de este tablero. En ellas se mostrará una notificación.",
     "removeMemberPopup-title": "¿Eliminar miembro?",
     "removeMemberPopup-title": "¿Eliminar miembro?",
     "rename": "Renombrar",
     "rename": "Renombrar",
-    "rename-board": "Renombrar tablero",
+    "rename-board": "Renombrar el tablero",
     "restore": "Restaurar",
     "restore": "Restaurar",
     "save": "Guardar",
     "save": "Guardar",
     "search": "Buscar",
     "search": "Buscar",
     "select-color": "Selecciona un color",
     "select-color": "Selecciona un color",
+    "set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
+    "setWipLimitPopup-title": "Set WIP Limit",
     "shortcut-assign-self": "Asignarte a ti mismo a la tarjeta actual",
     "shortcut-assign-self": "Asignarte a ti mismo a la tarjeta actual",
     "shortcut-autocomplete-emoji": "Autocompletar emoji",
     "shortcut-autocomplete-emoji": "Autocompletar emoji",
     "shortcut-autocomplete-members": "Autocompletar miembros",
     "shortcut-autocomplete-members": "Autocompletar miembros",
@@ -329,13 +333,13 @@
     "subscribe": "Suscribirse",
     "subscribe": "Suscribirse",
     "team": "Equipo",
     "team": "Equipo",
     "this-board": "este tablero",
     "this-board": "este tablero",
-    "this-card": "esta ficha",
+    "this-card": "esta tarjeta",
     "time": "Hora",
     "time": "Hora",
     "title": "Título",
     "title": "Título",
     "tracking": "Seguimiento",
     "tracking": "Seguimiento",
     "tracking-info": "Serás notificado de cualquier cambio en las tarjetas en las que participas como creador o miembro.",
     "tracking-info": "Serás notificado de cualquier cambio en las tarjetas en las que participas como creador o miembro.",
-    "unassign-member": "Desasignar miembro",
-    "unsaved-description": "Tienes unas descripción no guardada.",
+    "unassign-member": "Desvincular al miembro",
+    "unsaved-description": "Tienes una descripción sin guardar.",
     "unwatch": "Dejar de vigilar",
     "unwatch": "Dejar de vigilar",
     "upload": "Cargar",
     "upload": "Cargar",
     "upload-avatar": "Cargar un avatar",
     "upload-avatar": "Cargar un avatar",
@@ -350,6 +354,9 @@
     "welcome-list1": "Básicos",
     "welcome-list1": "Básicos",
     "welcome-list2": "Avanzados",
     "welcome-list2": "Avanzados",
     "what-to-do": "¿Qué deseas hacer?",
     "what-to-do": "¿Qué deseas hacer?",
+    "wipLimitErrorPopup-title": "Invalid WIP Limit",
+    "wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.",
+    "wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.",
     "admin-panel": "Panel del administrador",
     "admin-panel": "Panel del administrador",
     "settings": "Ajustes",
     "settings": "Ajustes",
     "people": "Personas",
     "people": "Personas",
@@ -367,15 +374,15 @@
     "smtp-username": "Nombre de usuario",
     "smtp-username": "Nombre de usuario",
     "smtp-password": "Contraseña",
     "smtp-password": "Contraseña",
     "smtp-tls": "Soporte TLS",
     "smtp-tls": "Soporte TLS",
-    "send-from": "De",
+    "send-from": "Desde",
     "invitation-code": "Código de Invitación",
     "invitation-code": "Código de Invitación",
     "email-invite-register-subject": "__inviter__ te ha enviado una invitación",
     "email-invite-register-subject": "__inviter__ te ha enviado una invitación",
     "email-invite-register-text": "Estimado __user__,\n\n__inviter__ te invita a unirte a Wekan para colaborar.\n\nPor favor, haz clic en el siguiente enlace:\n__url__\n\nTu código de invitación es: __icode__\n\nGracias.",
     "email-invite-register-text": "Estimado __user__,\n\n__inviter__ te invita a unirte a Wekan para colaborar.\n\nPor favor, haz clic en el siguiente enlace:\n__url__\n\nTu código de invitación es: __icode__\n\nGracias.",
     "error-invitation-code-not-exist": "El código de invitación no existe",
     "error-invitation-code-not-exist": "El código de invitación no existe",
     "error-notAuthorized": "No estás autorizado a ver esta página.",
     "error-notAuthorized": "No estás autorizado a ver esta página.",
-    "outgoing-webhooks": "<em>Webhooks</em> salientes",
-    "outgoingWebhooksPopup-title": "<em>Webhooks</em> salientes",
-    "new-outgoing-webhook": "Nuevo <em>Webhook</em> saliente",
+    "outgoing-webhooks": "Webhooks salientes",
+    "outgoingWebhooksPopup-title": "Webhooks salientes",
+    "new-outgoing-webhook": "Nuevo webhook saliente",
     "no-name": "(Desconocido)",
     "no-name": "(Desconocido)",
     "Wekan_version": "Versión de Wekan",
     "Wekan_version": "Versión de Wekan",
     "Node_version": "Versión de Node",
     "Node_version": "Versión de Node",

+ 7 - 0
i18n/eu.i18n.json

@@ -171,6 +171,7 @@
     "edit": "Editatu",
     "edit": "Editatu",
     "edit-avatar": "Aldatu avatarra",
     "edit-avatar": "Aldatu avatarra",
     "edit-profile": "Editatu profila",
     "edit-profile": "Editatu profila",
+    "edit-wip-limit": "Edit WIP Limit",
     "editCardStartDatePopup-title": "Aldatu hasiera data",
     "editCardStartDatePopup-title": "Aldatu hasiera data",
     "editCardDueDatePopup-title": "Aldatu epemuga data",
     "editCardDueDatePopup-title": "Aldatu epemuga data",
     "editLabelPopup-title": "Aldatu etiketa",
     "editLabelPopup-title": "Aldatu etiketa",
@@ -189,6 +190,7 @@
     "email-sent": "E-posta bidali da",
     "email-sent": "E-posta bidali da",
     "email-verifyEmail-subject": "Egiaztatu __siteName__ guneko zure e-posta helbidea.",
     "email-verifyEmail-subject": "Egiaztatu __siteName__ guneko zure e-posta helbidea.",
     "email-verifyEmail-text": "Kaixo __user__,\n\nZure e-posta kontua egiaztatzeko, egin klik beheko loturan.\n\n__url__\n\nEskerrik asko.",
     "email-verifyEmail-text": "Kaixo __user__,\n\nZure e-posta kontua egiaztatzeko, egin klik beheko loturan.\n\n__url__\n\nEskerrik asko.",
+    "enable-wip-limit": "Enable WIP Limit",
     "error-board-doesNotExist": "Arbel hau ez da existitzen",
     "error-board-doesNotExist": "Arbel hau ez da existitzen",
     "error-board-notAdmin": "Arbel honetako kudeatzailea izan behar zara hori egin ahal izateko",
     "error-board-notAdmin": "Arbel honetako kudeatzailea izan behar zara hori egin ahal izateko",
     "error-board-notAMember": "Arbel honetako kidea izan behar zara hori egin ahal izateko",
     "error-board-notAMember": "Arbel honetako kidea izan behar zara hori egin ahal izateko",
@@ -310,6 +312,8 @@
     "save": "Gorde",
     "save": "Gorde",
     "search": "Bilatu",
     "search": "Bilatu",
     "select-color": "Aukeratu kolorea",
     "select-color": "Aukeratu kolorea",
+    "set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
+    "setWipLimitPopup-title": "Set WIP Limit",
     "shortcut-assign-self": "Esleitu zure burua txartel honetara",
     "shortcut-assign-self": "Esleitu zure burua txartel honetara",
     "shortcut-autocomplete-emoji": "Automatikoki osatu emojia",
     "shortcut-autocomplete-emoji": "Automatikoki osatu emojia",
     "shortcut-autocomplete-members": "Automatikoki osatu kideak",
     "shortcut-autocomplete-members": "Automatikoki osatu kideak",
@@ -350,6 +354,9 @@
     "welcome-list1": "Oinarrizkoa",
     "welcome-list1": "Oinarrizkoa",
     "welcome-list2": "Aurreratua",
     "welcome-list2": "Aurreratua",
     "what-to-do": "Zer egin nahi duzu?",
     "what-to-do": "Zer egin nahi duzu?",
+    "wipLimitErrorPopup-title": "Invalid WIP Limit",
+    "wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.",
+    "wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.",
     "admin-panel": "Kudeaketa panela",
     "admin-panel": "Kudeaketa panela",
     "settings": "Ezarpenak",
     "settings": "Ezarpenak",
     "people": "Jendea",
     "people": "Jendea",

+ 7 - 0
i18n/fa.i18n.json

@@ -171,6 +171,7 @@
     "edit": "ویرایش",
     "edit": "ویرایش",
     "edit-avatar": "تغییر تصویر",
     "edit-avatar": "تغییر تصویر",
     "edit-profile": "ویرایش پروفایل",
     "edit-profile": "ویرایش پروفایل",
+    "edit-wip-limit": "Edit WIP Limit",
     "editCardStartDatePopup-title": "تغییر تاریخ آغاز",
     "editCardStartDatePopup-title": "تغییر تاریخ آغاز",
     "editCardDueDatePopup-title": "تغییر تاریخ بدلیل",
     "editCardDueDatePopup-title": "تغییر تاریخ بدلیل",
     "editLabelPopup-title": "تغیر برچسب",
     "editLabelPopup-title": "تغیر برچسب",
@@ -189,6 +190,7 @@
     "email-sent": "نامه الکترونیکی فرستاده شد",
     "email-sent": "نامه الکترونیکی فرستاده شد",
     "email-verifyEmail-subject": "تایید آدرس الکترونیکی شما در __siteName__",
     "email-verifyEmail-subject": "تایید آدرس الکترونیکی شما در __siteName__",
     "email-verifyEmail-text": "سلام __user__\nبه منظور تایید آدرس الکترونیکی حساب خود، آدرس زیر را دنبال نمایید، باتشکر:\n__url__.",
     "email-verifyEmail-text": "سلام __user__\nبه منظور تایید آدرس الکترونیکی حساب خود، آدرس زیر را دنبال نمایید، باتشکر:\n__url__.",
+    "enable-wip-limit": "Enable WIP Limit",
     "error-board-doesNotExist": "تخته مورد نظر وجود ندارد",
     "error-board-doesNotExist": "تخته مورد نظر وجود ندارد",
     "error-board-notAdmin": "شما جهت انجام آن باید مدیر تخته باشید",
     "error-board-notAdmin": "شما جهت انجام آن باید مدیر تخته باشید",
     "error-board-notAMember": "شما انجام آن ،اید عضو این تخته باشید.",
     "error-board-notAMember": "شما انجام آن ،اید عضو این تخته باشید.",
@@ -310,6 +312,8 @@
     "save": "ذخیره",
     "save": "ذخیره",
     "search": "جستجو",
     "search": "جستجو",
     "select-color": "Select Color",
     "select-color": "Select Color",
+    "set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
+    "setWipLimitPopup-title": "Set WIP Limit",
     "shortcut-assign-self": "اختصاص خود به کارت فعلی",
     "shortcut-assign-self": "اختصاص خود به کارت فعلی",
     "shortcut-autocomplete-emoji": "تکمیل خودکار شکلکها",
     "shortcut-autocomplete-emoji": "تکمیل خودکار شکلکها",
     "shortcut-autocomplete-members": "تکمیل خودکار کاربرها",
     "shortcut-autocomplete-members": "تکمیل خودکار کاربرها",
@@ -350,6 +354,9 @@
     "welcome-list1": "پایه ای ها",
     "welcome-list1": "پایه ای ها",
     "welcome-list2": "پیشرفته",
     "welcome-list2": "پیشرفته",
     "what-to-do": "چه کاری می خواهید انجام دهید؟",
     "what-to-do": "چه کاری می خواهید انجام دهید؟",
+    "wipLimitErrorPopup-title": "Invalid WIP Limit",
+    "wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.",
+    "wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.",
     "admin-panel": "پیشخوان مدیریتی",
     "admin-panel": "پیشخوان مدیریتی",
     "settings": "تنظمات",
     "settings": "تنظمات",
     "people": "افراد",
     "people": "افراد",

+ 7 - 0
i18n/fi.i18n.json

@@ -171,6 +171,7 @@
     "edit": "Muokkaa",
     "edit": "Muokkaa",
     "edit-avatar": "Muokkaa profiilikuvaa",
     "edit-avatar": "Muokkaa profiilikuvaa",
     "edit-profile": "Muokkaa profiilia",
     "edit-profile": "Muokkaa profiilia",
+    "edit-wip-limit": "Muokkaa WIP-rajaa",
     "editCardStartDatePopup-title": "Muokkaa aloituspäivää",
     "editCardStartDatePopup-title": "Muokkaa aloituspäivää",
     "editCardDueDatePopup-title": "Muokkaa eräpäivää",
     "editCardDueDatePopup-title": "Muokkaa eräpäivää",
     "editLabelPopup-title": "Muokkaa tunnistetta",
     "editLabelPopup-title": "Muokkaa tunnistetta",
@@ -189,6 +190,7 @@
     "email-sent": "Sähköposti lähetetty",
     "email-sent": "Sähköposti lähetetty",
     "email-verifyEmail-subject": "Varmista sähköpostiosoitteesi osoitteessa __url__",
     "email-verifyEmail-subject": "Varmista sähköpostiosoitteesi osoitteessa __url__",
     "email-verifyEmail-text": "Hei __user__,\n\nvahvistaaksesi sähköpostiosoitteesi, klikkaa allaolevaa linkkiä.\n\n__url__\n\nKiitos.",
     "email-verifyEmail-text": "Hei __user__,\n\nvahvistaaksesi sähköpostiosoitteesi, klikkaa allaolevaa linkkiä.\n\n__url__\n\nKiitos.",
+    "enable-wip-limit": "Ota käyttöön WIP-raja",
     "error-board-doesNotExist": "Tämä taulu ei ole olemassa",
     "error-board-doesNotExist": "Tämä taulu ei ole olemassa",
     "error-board-notAdmin": "Tehdäksesi tämän sinun täytyy olla tämän taulun ylläpitäjä",
     "error-board-notAdmin": "Tehdäksesi tämän sinun täytyy olla tämän taulun ylläpitäjä",
     "error-board-notAMember": "Tehdäksesi tämän sinun täytyy olla tämän taulun jäsen",
     "error-board-notAMember": "Tehdäksesi tämän sinun täytyy olla tämän taulun jäsen",
@@ -310,6 +312,8 @@
     "save": "Tallenna",
     "save": "Tallenna",
     "search": "Etsi",
     "search": "Etsi",
     "select-color": "Valitse väri",
     "select-color": "Valitse väri",
+    "set-wip-limit-value": "Aseta tämän listan tehtävien enimmäismäärä",
+    "setWipLimitPopup-title": "Aseta WIP-raja",
     "shortcut-assign-self": "Valitse itsesi nykyiselle kortille",
     "shortcut-assign-self": "Valitse itsesi nykyiselle kortille",
     "shortcut-autocomplete-emoji": "Automaattinen täydennys emojille",
     "shortcut-autocomplete-emoji": "Automaattinen täydennys emojille",
     "shortcut-autocomplete-members": "Automaattinen täydennys jäsenille",
     "shortcut-autocomplete-members": "Automaattinen täydennys jäsenille",
@@ -350,6 +354,9 @@
     "welcome-list1": "Perusasiat",
     "welcome-list1": "Perusasiat",
     "welcome-list2": "Edistynyt",
     "welcome-list2": "Edistynyt",
     "what-to-do": "Mitä haluat tehdä?",
     "what-to-do": "Mitä haluat tehdä?",
+    "wipLimitErrorPopup-title": "Virheellinen WIP-raja",
+    "wipLimitErrorPopup-dialog-pt1": "Tässä listassa olevien tehtävien määrä on korkeampi kuin asettamasi WIP-raja.",
+    "wipLimitErrorPopup-dialog-pt2": "Siirrä joitain tehtäviä pois tästä listasta tai määritä korkeampi WIP-raja.",
     "admin-panel": "Hallintapaneeli",
     "admin-panel": "Hallintapaneeli",
     "settings": "Asetukset",
     "settings": "Asetukset",
     "people": "Ihmiset",
     "people": "Ihmiset",

+ 7 - 0
i18n/fr.i18n.json

@@ -171,6 +171,7 @@
     "edit": "Modifier",
     "edit": "Modifier",
     "edit-avatar": "Modifier l'avatar",
     "edit-avatar": "Modifier l'avatar",
     "edit-profile": "Modifier le profil",
     "edit-profile": "Modifier le profil",
+    "edit-wip-limit": "Edit WIP Limit",
     "editCardStartDatePopup-title": "Modifier la date de début",
     "editCardStartDatePopup-title": "Modifier la date de début",
     "editCardDueDatePopup-title": "Modifier la date d'échéance",
     "editCardDueDatePopup-title": "Modifier la date d'échéance",
     "editLabelPopup-title": "Modifier l'étiquette",
     "editLabelPopup-title": "Modifier l'étiquette",
@@ -189,6 +190,7 @@
     "email-sent": "Courriel envoyé",
     "email-sent": "Courriel envoyé",
     "email-verifyEmail-subject": "Vérifier votre adresse de courriel sur __siteName__",
     "email-verifyEmail-subject": "Vérifier votre adresse de courriel sur __siteName__",
     "email-verifyEmail-text": "Bonjour __user__,\n\nPour vérifier votre compte courriel, il suffit de cliquer sur le lien ci-dessous.\n\n__url__\n\nMerci.",
     "email-verifyEmail-text": "Bonjour __user__,\n\nPour vérifier votre compte courriel, il suffit de cliquer sur le lien ci-dessous.\n\n__url__\n\nMerci.",
+    "enable-wip-limit": "Enable WIP Limit",
     "error-board-doesNotExist": "Ce tableau n'existe pas",
     "error-board-doesNotExist": "Ce tableau n'existe pas",
     "error-board-notAdmin": "Vous devez être administrateur de ce tableau pour faire cela",
     "error-board-notAdmin": "Vous devez être administrateur de ce tableau pour faire cela",
     "error-board-notAMember": "Vous devez être membre de ce tableau pour faire cela",
     "error-board-notAMember": "Vous devez être membre de ce tableau pour faire cela",
@@ -310,6 +312,8 @@
     "save": "Enregistrer",
     "save": "Enregistrer",
     "search": "Chercher",
     "search": "Chercher",
     "select-color": "Sélectionner une couleur",
     "select-color": "Sélectionner une couleur",
+    "set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
+    "setWipLimitPopup-title": "Set WIP Limit",
     "shortcut-assign-self": "Affecter cette carte à vous-même",
     "shortcut-assign-self": "Affecter cette carte à vous-même",
     "shortcut-autocomplete-emoji": "Auto-complétion des emoji",
     "shortcut-autocomplete-emoji": "Auto-complétion des emoji",
     "shortcut-autocomplete-members": "Auto-complétion des membres",
     "shortcut-autocomplete-members": "Auto-complétion des membres",
@@ -350,6 +354,9 @@
     "welcome-list1": "Basiques",
     "welcome-list1": "Basiques",
     "welcome-list2": "Avancés",
     "welcome-list2": "Avancés",
     "what-to-do": "Que voulez-vous faire ?",
     "what-to-do": "Que voulez-vous faire ?",
+    "wipLimitErrorPopup-title": "Invalid WIP Limit",
+    "wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.",
+    "wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.",
     "admin-panel": "Panneau d'administration",
     "admin-panel": "Panneau d'administration",
     "settings": "Paramètres",
     "settings": "Paramètres",
     "people": "Personne",
     "people": "Personne",

+ 7 - 0
i18n/gl.i18n.json

@@ -171,6 +171,7 @@
     "edit": "Editar",
     "edit": "Editar",
     "edit-avatar": "Cambiar de avatar",
     "edit-avatar": "Cambiar de avatar",
     "edit-profile": "Editar o perfil",
     "edit-profile": "Editar o perfil",
+    "edit-wip-limit": "Edit WIP Limit",
     "editCardStartDatePopup-title": "Cambiar a data de inicio",
     "editCardStartDatePopup-title": "Cambiar a data de inicio",
     "editCardDueDatePopup-title": "Cambiar a data límite",
     "editCardDueDatePopup-title": "Cambiar a data límite",
     "editLabelPopup-title": "Cambiar a etiqueta",
     "editLabelPopup-title": "Cambiar a etiqueta",
@@ -189,6 +190,7 @@
     "email-sent": "Email sent",
     "email-sent": "Email sent",
     "email-verifyEmail-subject": "Verify your email address on __siteName__",
     "email-verifyEmail-subject": "Verify your email address on __siteName__",
     "email-verifyEmail-text": "Hello __user__,\n\nTo verify your account email, simply click the link below.\n\n__url__\n\nThanks.",
     "email-verifyEmail-text": "Hello __user__,\n\nTo verify your account email, simply click the link below.\n\n__url__\n\nThanks.",
+    "enable-wip-limit": "Enable WIP Limit",
     "error-board-doesNotExist": "This board does not exist",
     "error-board-doesNotExist": "This board does not exist",
     "error-board-notAdmin": "You need to be admin of this board to do that",
     "error-board-notAdmin": "You need to be admin of this board to do that",
     "error-board-notAMember": "You need to be a member of this board to do that",
     "error-board-notAMember": "You need to be a member of this board to do that",
@@ -310,6 +312,8 @@
     "save": "Save",
     "save": "Save",
     "search": "Search",
     "search": "Search",
     "select-color": "Select Color",
     "select-color": "Select Color",
+    "set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
+    "setWipLimitPopup-title": "Set WIP Limit",
     "shortcut-assign-self": "Assign yourself to current card",
     "shortcut-assign-self": "Assign yourself to current card",
     "shortcut-autocomplete-emoji": "Autocomplete emoji",
     "shortcut-autocomplete-emoji": "Autocomplete emoji",
     "shortcut-autocomplete-members": "Autocomplete members",
     "shortcut-autocomplete-members": "Autocomplete members",
@@ -350,6 +354,9 @@
     "welcome-list1": "Fundamentos",
     "welcome-list1": "Fundamentos",
     "welcome-list2": "Avanzado",
     "welcome-list2": "Avanzado",
     "what-to-do": "Que desexa facer?",
     "what-to-do": "Que desexa facer?",
+    "wipLimitErrorPopup-title": "Invalid WIP Limit",
+    "wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.",
+    "wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.",
     "admin-panel": "Panel de administración",
     "admin-panel": "Panel de administración",
     "settings": "Configuración",
     "settings": "Configuración",
     "people": "Persoas",
     "people": "Persoas",

+ 7 - 0
i18n/he.i18n.json

@@ -171,6 +171,7 @@
     "edit": "עריכה",
     "edit": "עריכה",
     "edit-avatar": "החלפת תמונת משתמש",
     "edit-avatar": "החלפת תמונת משתמש",
     "edit-profile": "עריכת פרופיל",
     "edit-profile": "עריכת פרופיל",
+    "edit-wip-limit": "Edit WIP Limit",
     "editCardStartDatePopup-title": "שינוי מועד התחלה",
     "editCardStartDatePopup-title": "שינוי מועד התחלה",
     "editCardDueDatePopup-title": "שינוי מועד סיום",
     "editCardDueDatePopup-title": "שינוי מועד סיום",
     "editLabelPopup-title": "שינוי תווית",
     "editLabelPopup-title": "שינוי תווית",
@@ -189,6 +190,7 @@
     "email-sent": "הודעת הדוא״ל נשלחה",
     "email-sent": "הודעת הדוא״ל נשלחה",
     "email-verifyEmail-subject": "אימות כתובת הדוא״ל שלך באתר __siteName__",
     "email-verifyEmail-subject": "אימות כתובת הדוא״ל שלך באתר __siteName__",
     "email-verifyEmail-text": "__user__ שלום,\n\nלאימות כתובת הדוא״ל המשויכת לחשבונך, עליך פשוט ללחוץ על הקישור המופיע להלן.\n\n__url__\n\nתודה.",
     "email-verifyEmail-text": "__user__ שלום,\n\nלאימות כתובת הדוא״ל המשויכת לחשבונך, עליך פשוט ללחוץ על הקישור המופיע להלן.\n\n__url__\n\nתודה.",
+    "enable-wip-limit": "Enable WIP Limit",
     "error-board-doesNotExist": "לוח זה אינו קיים",
     "error-board-doesNotExist": "לוח זה אינו קיים",
     "error-board-notAdmin": "צריכות להיות לך הרשאות ניהול על לוח זה כדי לעשות זאת",
     "error-board-notAdmin": "צריכות להיות לך הרשאות ניהול על לוח זה כדי לעשות זאת",
     "error-board-notAMember": "עליך לקבל חברות בלוח זה כדי לעשות זאת",
     "error-board-notAMember": "עליך לקבל חברות בלוח זה כדי לעשות זאת",
@@ -310,6 +312,8 @@
     "save": "שמירה",
     "save": "שמירה",
     "search": "חיפוש",
     "search": "חיפוש",
     "select-color": "בחירת צבע",
     "select-color": "בחירת צבע",
+    "set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
+    "setWipLimitPopup-title": "Set WIP Limit",
     "shortcut-assign-self": "להקצות אותי לכרטיס הנוכחי",
     "shortcut-assign-self": "להקצות אותי לכרטיס הנוכחי",
     "shortcut-autocomplete-emoji": "השלמה אוטומטית לאימוג׳י",
     "shortcut-autocomplete-emoji": "השלמה אוטומטית לאימוג׳י",
     "shortcut-autocomplete-members": "השלמה אוטומטית של חברים",
     "shortcut-autocomplete-members": "השלמה אוטומטית של חברים",
@@ -350,6 +354,9 @@
     "welcome-list1": "יסודות",
     "welcome-list1": "יסודות",
     "welcome-list2": "מתקדם",
     "welcome-list2": "מתקדם",
     "what-to-do": "מה ברצונך לעשות?",
     "what-to-do": "מה ברצונך לעשות?",
+    "wipLimitErrorPopup-title": "Invalid WIP Limit",
+    "wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.",
+    "wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.",
     "admin-panel": "חלונית ניהול המערכת",
     "admin-panel": "חלונית ניהול המערכת",
     "settings": "הגדרות",
     "settings": "הגדרות",
     "people": "אנשים",
     "people": "אנשים",

+ 7 - 0
i18n/hu.i18n.json

@@ -171,6 +171,7 @@
     "edit": "Szerkeszt",
     "edit": "Szerkeszt",
     "edit-avatar": "Avatar módosítása",
     "edit-avatar": "Avatar módosítása",
     "edit-profile": "Profil szerkesztése",
     "edit-profile": "Profil szerkesztése",
+    "edit-wip-limit": "Edit WIP Limit",
     "editCardStartDatePopup-title": "Kezdő dátum módosítása",
     "editCardStartDatePopup-title": "Kezdő dátum módosítása",
     "editCardDueDatePopup-title": "Lejárati dátum módosítása",
     "editCardDueDatePopup-title": "Lejárati dátum módosítása",
     "editLabelPopup-title": "Cimke módosítása",
     "editLabelPopup-title": "Cimke módosítása",
@@ -189,6 +190,7 @@
     "email-sent": "Email elküldve",
     "email-sent": "Email elküldve",
     "email-verifyEmail-subject": "Igazold vissza az email címedet a __siteName__ oldalon",
     "email-verifyEmail-subject": "Igazold vissza az email címedet a __siteName__ oldalon",
     "email-verifyEmail-text": "Üdvözöljük __user__,\n\nAz Email címe ellenőrzéséhez kérjük kattintson az alábbi linkre.\n\n__url__\n\nKöszönjük.",
     "email-verifyEmail-text": "Üdvözöljük __user__,\n\nAz Email címe ellenőrzéséhez kérjük kattintson az alábbi linkre.\n\n__url__\n\nKöszönjük.",
+    "enable-wip-limit": "Enable WIP Limit",
     "error-board-doesNotExist": "Ez a tábla nem létezik",
     "error-board-doesNotExist": "Ez a tábla nem létezik",
     "error-board-notAdmin": "Adminisztrátor joggal kell rendelkezned hogy megtehesd ezen a táblán",
     "error-board-notAdmin": "Adminisztrátor joggal kell rendelkezned hogy megtehesd ezen a táblán",
     "error-board-notAMember": "Az tábla tagjának kell lenned, hogy megtehesd",
     "error-board-notAMember": "Az tábla tagjának kell lenned, hogy megtehesd",
@@ -310,6 +312,8 @@
     "save": "Mentés",
     "save": "Mentés",
     "search": "Keresés",
     "search": "Keresés",
     "select-color": "Select Color",
     "select-color": "Select Color",
+    "set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
+    "setWipLimitPopup-title": "Set WIP Limit",
     "shortcut-assign-self": "Add hozzá magad az aktuális kártyához",
     "shortcut-assign-self": "Add hozzá magad az aktuális kártyához",
     "shortcut-autocomplete-emoji": "Automatikus emoji kiegészítés",
     "shortcut-autocomplete-emoji": "Automatikus emoji kiegészítés",
     "shortcut-autocomplete-members": "Automatikus tag név kiegészítés",
     "shortcut-autocomplete-members": "Automatikus tag név kiegészítés",
@@ -350,6 +354,9 @@
     "welcome-list1": "Alapok",
     "welcome-list1": "Alapok",
     "welcome-list2": "Speciális",
     "welcome-list2": "Speciális",
     "what-to-do": "Mit akarsz csinálni?",
     "what-to-do": "Mit akarsz csinálni?",
+    "wipLimitErrorPopup-title": "Invalid WIP Limit",
+    "wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.",
+    "wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.",
     "admin-panel": "Adminisztrációs felület",
     "admin-panel": "Adminisztrációs felület",
     "settings": "Beállítások",
     "settings": "Beállítások",
     "people": "Ember",
     "people": "Ember",

+ 7 - 0
i18n/id.i18n.json

@@ -171,6 +171,7 @@
     "edit": "Sunting",
     "edit": "Sunting",
     "edit-avatar": "Ubah Avatar",
     "edit-avatar": "Ubah Avatar",
     "edit-profile": "Sunting Profil",
     "edit-profile": "Sunting Profil",
+    "edit-wip-limit": "Edit WIP Limit",
     "editCardStartDatePopup-title": "Ubah tanggal mulai",
     "editCardStartDatePopup-title": "Ubah tanggal mulai",
     "editCardDueDatePopup-title": "Ubah tanggal selesai",
     "editCardDueDatePopup-title": "Ubah tanggal selesai",
     "editLabelPopup-title": "Ubah Label",
     "editLabelPopup-title": "Ubah Label",
@@ -189,6 +190,7 @@
     "email-sent": "Email terkirim",
     "email-sent": "Email terkirim",
     "email-verifyEmail-subject": "Verifikasi surel Anda pada __siteName__",
     "email-verifyEmail-subject": "Verifikasi surel Anda pada __siteName__",
     "email-verifyEmail-text": "Halo __user__,\n\nUntuk memverifikasi surel Anda, silakan klik tautan berikut.\n\n__url__\n\nTerima kasih.",
     "email-verifyEmail-text": "Halo __user__,\n\nUntuk memverifikasi surel Anda, silakan klik tautan berikut.\n\n__url__\n\nTerima kasih.",
+    "enable-wip-limit": "Enable WIP Limit",
     "error-board-doesNotExist": "Panel ini tidak ada",
     "error-board-doesNotExist": "Panel ini tidak ada",
     "error-board-notAdmin": "Anda harus admin dari panel ini untuk melakukan itu",
     "error-board-notAdmin": "Anda harus admin dari panel ini untuk melakukan itu",
     "error-board-notAMember": "Anda harus jadi member panel ini untuk melakukannya",
     "error-board-notAMember": "Anda harus jadi member panel ini untuk melakukannya",
@@ -310,6 +312,8 @@
     "save": "Simpan",
     "save": "Simpan",
     "search": "Cari",
     "search": "Cari",
     "select-color": "Select Color",
     "select-color": "Select Color",
+    "set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
+    "setWipLimitPopup-title": "Set WIP Limit",
     "shortcut-assign-self": "Masukkan diri anda sendiri ke kartu ini",
     "shortcut-assign-self": "Masukkan diri anda sendiri ke kartu ini",
     "shortcut-autocomplete-emoji": "Autocomplete emoji",
     "shortcut-autocomplete-emoji": "Autocomplete emoji",
     "shortcut-autocomplete-members": "Autocomplete partisipan",
     "shortcut-autocomplete-members": "Autocomplete partisipan",
@@ -350,6 +354,9 @@
     "welcome-list1": "Tingkat dasar",
     "welcome-list1": "Tingkat dasar",
     "welcome-list2": "Tingkat lanjut",
     "welcome-list2": "Tingkat lanjut",
     "what-to-do": "Apa yang mau Anda lakukan?",
     "what-to-do": "Apa yang mau Anda lakukan?",
+    "wipLimitErrorPopup-title": "Invalid WIP Limit",
+    "wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.",
+    "wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.",
     "admin-panel": "Panel Admin",
     "admin-panel": "Panel Admin",
     "settings": "Setelan",
     "settings": "Setelan",
     "people": "Orang-orang",
     "people": "Orang-orang",

+ 7 - 0
i18n/it.i18n.json

@@ -171,6 +171,7 @@
     "edit": "Modifica",
     "edit": "Modifica",
     "edit-avatar": "Cambia avatar",
     "edit-avatar": "Cambia avatar",
     "edit-profile": "Modifica profilo",
     "edit-profile": "Modifica profilo",
+    "edit-wip-limit": "Edit WIP Limit",
     "editCardStartDatePopup-title": "Cambia data di inizio",
     "editCardStartDatePopup-title": "Cambia data di inizio",
     "editCardDueDatePopup-title": "Cambia data di scadenza",
     "editCardDueDatePopup-title": "Cambia data di scadenza",
     "editLabelPopup-title": "Cambia etichetta",
     "editLabelPopup-title": "Cambia etichetta",
@@ -189,6 +190,7 @@
     "email-sent": "Email inviata",
     "email-sent": "Email inviata",
     "email-verifyEmail-subject": "Verifica il tuo indirizzo email su on __siteName__",
     "email-verifyEmail-subject": "Verifica il tuo indirizzo email su on __siteName__",
     "email-verifyEmail-text": "Ciao __user__,\n\nPer verificare il tuo account email, clicca sul link seguente:\n\n__url__\n\nGrazie.",
     "email-verifyEmail-text": "Ciao __user__,\n\nPer verificare il tuo account email, clicca sul link seguente:\n\n__url__\n\nGrazie.",
+    "enable-wip-limit": "Enable WIP Limit",
     "error-board-doesNotExist": "Questa bacheca non esiste",
     "error-board-doesNotExist": "Questa bacheca non esiste",
     "error-board-notAdmin": "Devi essere admin di questa bacheca per poterlo fare",
     "error-board-notAdmin": "Devi essere admin di questa bacheca per poterlo fare",
     "error-board-notAMember": "Devi essere un membro di questa bacheca per poterlo fare",
     "error-board-notAMember": "Devi essere un membro di questa bacheca per poterlo fare",
@@ -310,6 +312,8 @@
     "save": "Salva",
     "save": "Salva",
     "search": "Cerca",
     "search": "Cerca",
     "select-color": "Seleziona Colore",
     "select-color": "Seleziona Colore",
+    "set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
+    "setWipLimitPopup-title": "Set WIP Limit",
     "shortcut-assign-self": "Aggiungi te stesso alla scheda corrente",
     "shortcut-assign-self": "Aggiungi te stesso alla scheda corrente",
     "shortcut-autocomplete-emoji": "Autocompletamento emoji",
     "shortcut-autocomplete-emoji": "Autocompletamento emoji",
     "shortcut-autocomplete-members": "Autocompletamento membri",
     "shortcut-autocomplete-members": "Autocompletamento membri",
@@ -350,6 +354,9 @@
     "welcome-list1": "Basi",
     "welcome-list1": "Basi",
     "welcome-list2": "Avanzate",
     "welcome-list2": "Avanzate",
     "what-to-do": "Cosa vuoi fare?",
     "what-to-do": "Cosa vuoi fare?",
+    "wipLimitErrorPopup-title": "Invalid WIP Limit",
+    "wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.",
+    "wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.",
     "admin-panel": "Pannello dell'Amministratore",
     "admin-panel": "Pannello dell'Amministratore",
     "settings": "Impostazioni",
     "settings": "Impostazioni",
     "people": "Persone",
     "people": "Persone",

+ 7 - 0
i18n/ja.i18n.json

@@ -171,6 +171,7 @@
     "edit": "編集",
     "edit": "編集",
     "edit-avatar": "アバターの変更",
     "edit-avatar": "アバターの変更",
     "edit-profile": "プロフィールの編集",
     "edit-profile": "プロフィールの編集",
+    "edit-wip-limit": "Edit WIP Limit",
     "editCardStartDatePopup-title": "開始日の変更",
     "editCardStartDatePopup-title": "開始日の変更",
     "editCardDueDatePopup-title": "期限の変更",
     "editCardDueDatePopup-title": "期限の変更",
     "editLabelPopup-title": "ラベルの変更",
     "editLabelPopup-title": "ラベルの変更",
@@ -189,6 +190,7 @@
     "email-sent": "メールを送信しました",
     "email-sent": "メールを送信しました",
     "email-verifyEmail-subject": "あなたの __siteName__ のメールアドレスを確認する",
     "email-verifyEmail-subject": "あなたの __siteName__ のメールアドレスを確認する",
     "email-verifyEmail-text": "こんにちは、__user__さん。\n\nメールアドレスを認証するために、以下のリンクをクリックしてください。\n\n__url__\n\nよろしくお願いします。",
     "email-verifyEmail-text": "こんにちは、__user__さん。\n\nメールアドレスを認証するために、以下のリンクをクリックしてください。\n\n__url__\n\nよろしくお願いします。",
+    "enable-wip-limit": "Enable WIP Limit",
     "error-board-doesNotExist": "ボードがありません",
     "error-board-doesNotExist": "ボードがありません",
     "error-board-notAdmin": "操作にはボードの管理者権限が必要です",
     "error-board-notAdmin": "操作にはボードの管理者権限が必要です",
     "error-board-notAMember": "操作にはボードメンバーである必要があります",
     "error-board-notAMember": "操作にはボードメンバーである必要があります",
@@ -310,6 +312,8 @@
     "save": "保存",
     "save": "保存",
     "search": "検索",
     "search": "検索",
     "select-color": "色を選択",
     "select-color": "色を選択",
+    "set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
+    "setWipLimitPopup-title": "Set WIP Limit",
     "shortcut-assign-self": "自分をこのカードに割り当てる",
     "shortcut-assign-self": "自分をこのカードに割り当てる",
     "shortcut-autocomplete-emoji": "絵文字の補完",
     "shortcut-autocomplete-emoji": "絵文字の補完",
     "shortcut-autocomplete-members": "メンバーの補完",
     "shortcut-autocomplete-members": "メンバーの補完",
@@ -350,6 +354,9 @@
     "welcome-list1": "基本",
     "welcome-list1": "基本",
     "welcome-list2": "高度",
     "welcome-list2": "高度",
     "what-to-do": "何をしたいですか?",
     "what-to-do": "何をしたいですか?",
+    "wipLimitErrorPopup-title": "Invalid WIP Limit",
+    "wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.",
+    "wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.",
     "admin-panel": "管理パネル",
     "admin-panel": "管理パネル",
     "settings": "設定",
     "settings": "設定",
     "people": "メンバー",
     "people": "メンバー",

+ 7 - 0
i18n/ko.i18n.json

@@ -171,6 +171,7 @@
     "edit": "수정",
     "edit": "수정",
     "edit-avatar": "아바타 변경",
     "edit-avatar": "아바타 변경",
     "edit-profile": "프로필 변경",
     "edit-profile": "프로필 변경",
+    "edit-wip-limit": "Edit WIP Limit",
     "editCardStartDatePopup-title": "시작일 변경",
     "editCardStartDatePopup-title": "시작일 변경",
     "editCardDueDatePopup-title": "종료일 변경",
     "editCardDueDatePopup-title": "종료일 변경",
     "editLabelPopup-title": "라벨 변경",
     "editLabelPopup-title": "라벨 변경",
@@ -189,6 +190,7 @@
     "email-sent": "이메일 전송",
     "email-sent": "이메일 전송",
     "email-verifyEmail-subject": "이메일 인증: __siteName__",
     "email-verifyEmail-subject": "이메일 인증: __siteName__",
     "email-verifyEmail-text": "안녕하세요. __user__님,\n\n당신의 계정과 이메일을 활성하려면 아래 링크를 클릭하십시오.\n\n__url__\n\n감사합니다.",
     "email-verifyEmail-text": "안녕하세요. __user__님,\n\n당신의 계정과 이메일을 활성하려면 아래 링크를 클릭하십시오.\n\n__url__\n\n감사합니다.",
+    "enable-wip-limit": "Enable WIP Limit",
     "error-board-doesNotExist": "보드가 없습니다.",
     "error-board-doesNotExist": "보드가 없습니다.",
     "error-board-notAdmin": "이 작업은 보드의 관리자만 실행할 수 있습니다.",
     "error-board-notAdmin": "이 작업은 보드의 관리자만 실행할 수 있습니다.",
     "error-board-notAMember": "이 작업은 보드의 멤버만 실행할 수 있습니다.",
     "error-board-notAMember": "이 작업은 보드의 멤버만 실행할 수 있습니다.",
@@ -310,6 +312,8 @@
     "save": "저장",
     "save": "저장",
     "search": "검색",
     "search": "검색",
     "select-color": "색 선택",
     "select-color": "색 선택",
+    "set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
+    "setWipLimitPopup-title": "Set WIP Limit",
     "shortcut-assign-self": "현재 카드에 자신을 지정하세요.",
     "shortcut-assign-self": "현재 카드에 자신을 지정하세요.",
     "shortcut-autocomplete-emoji": "이모티콘 자동완성",
     "shortcut-autocomplete-emoji": "이모티콘 자동완성",
     "shortcut-autocomplete-members": "멤버 자동완성",
     "shortcut-autocomplete-members": "멤버 자동완성",
@@ -350,6 +354,9 @@
     "welcome-list1": "신규",
     "welcome-list1": "신규",
     "welcome-list2": "진행",
     "welcome-list2": "진행",
     "what-to-do": "무엇을 하고 싶으신가요?",
     "what-to-do": "무엇을 하고 싶으신가요?",
+    "wipLimitErrorPopup-title": "Invalid WIP Limit",
+    "wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.",
+    "wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.",
     "admin-panel": "관리자 패널",
     "admin-panel": "관리자 패널",
     "settings": "설정",
     "settings": "설정",
     "people": "사람",
     "people": "사람",

+ 7 - 0
i18n/nb.i18n.json

@@ -171,6 +171,7 @@
     "edit": "Edit",
     "edit": "Edit",
     "edit-avatar": "Endre avatar",
     "edit-avatar": "Endre avatar",
     "edit-profile": "Edit Profile",
     "edit-profile": "Edit Profile",
+    "edit-wip-limit": "Edit WIP Limit",
     "editCardStartDatePopup-title": "Change start date",
     "editCardStartDatePopup-title": "Change start date",
     "editCardDueDatePopup-title": "Change due date",
     "editCardDueDatePopup-title": "Change due date",
     "editLabelPopup-title": "Change Label",
     "editLabelPopup-title": "Change Label",
@@ -189,6 +190,7 @@
     "email-sent": "Email sent",
     "email-sent": "Email sent",
     "email-verifyEmail-subject": "Verify your email address on __siteName__",
     "email-verifyEmail-subject": "Verify your email address on __siteName__",
     "email-verifyEmail-text": "Hello __user__,\n\nTo verify your account email, simply click the link below.\n\n__url__\n\nThanks.",
     "email-verifyEmail-text": "Hello __user__,\n\nTo verify your account email, simply click the link below.\n\n__url__\n\nThanks.",
+    "enable-wip-limit": "Enable WIP Limit",
     "error-board-doesNotExist": "This board does not exist",
     "error-board-doesNotExist": "This board does not exist",
     "error-board-notAdmin": "You need to be admin of this board to do that",
     "error-board-notAdmin": "You need to be admin of this board to do that",
     "error-board-notAMember": "You need to be a member of this board to do that",
     "error-board-notAMember": "You need to be a member of this board to do that",
@@ -310,6 +312,8 @@
     "save": "Save",
     "save": "Save",
     "search": "Search",
     "search": "Search",
     "select-color": "Select Color",
     "select-color": "Select Color",
+    "set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
+    "setWipLimitPopup-title": "Set WIP Limit",
     "shortcut-assign-self": "Assign yourself to current card",
     "shortcut-assign-self": "Assign yourself to current card",
     "shortcut-autocomplete-emoji": "Autocomplete emoji",
     "shortcut-autocomplete-emoji": "Autocomplete emoji",
     "shortcut-autocomplete-members": "Autocomplete members",
     "shortcut-autocomplete-members": "Autocomplete members",
@@ -350,6 +354,9 @@
     "welcome-list1": "Basics",
     "welcome-list1": "Basics",
     "welcome-list2": "Advanced",
     "welcome-list2": "Advanced",
     "what-to-do": "What do you want to do?",
     "what-to-do": "What do you want to do?",
+    "wipLimitErrorPopup-title": "Invalid WIP Limit",
+    "wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.",
+    "wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.",
     "admin-panel": "Admin Panel",
     "admin-panel": "Admin Panel",
     "settings": "Settings",
     "settings": "Settings",
     "people": "People",
     "people": "People",

+ 7 - 0
i18n/nl.i18n.json

@@ -171,6 +171,7 @@
     "edit": "Wijzig",
     "edit": "Wijzig",
     "edit-avatar": "Wijzig avatar",
     "edit-avatar": "Wijzig avatar",
     "edit-profile": "Wijzig profiel",
     "edit-profile": "Wijzig profiel",
+    "edit-wip-limit": "Edit WIP Limit",
     "editCardStartDatePopup-title": "Wijzig start datum",
     "editCardStartDatePopup-title": "Wijzig start datum",
     "editCardDueDatePopup-title": "Wijzig deadline",
     "editCardDueDatePopup-title": "Wijzig deadline",
     "editLabelPopup-title": "Wijzig label",
     "editLabelPopup-title": "Wijzig label",
@@ -189,6 +190,7 @@
     "email-sent": "E-mail is verzonden",
     "email-sent": "E-mail is verzonden",
     "email-verifyEmail-subject": "Verifieer je e-mailadres op __siteName__",
     "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 drukken.\n\n__url__\n\nBedankt.",
+    "enable-wip-limit": "Enable WIP Limit",
     "error-board-doesNotExist": "Dit bord bestaat niet.",
     "error-board-doesNotExist": "Dit bord bestaat niet.",
     "error-board-notAdmin": "Je moet een administrator zijn van dit bord om dat te doen.",
     "error-board-notAdmin": "Je moet een administrator zijn van dit bord om dat te doen.",
     "error-board-notAMember": "Je moet een lid zijn van dit bord om dat te doen.",
     "error-board-notAMember": "Je moet een lid zijn van dit bord om dat te doen.",
@@ -310,6 +312,8 @@
     "save": "Opslaan",
     "save": "Opslaan",
     "search": "Zoek",
     "search": "Zoek",
     "select-color": "Selecteer kleur",
     "select-color": "Selecteer kleur",
+    "set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
+    "setWipLimitPopup-title": "Set WIP Limit",
     "shortcut-assign-self": "Wijs jezelf toe aan huidige kaart",
     "shortcut-assign-self": "Wijs jezelf toe aan huidige kaart",
     "shortcut-autocomplete-emoji": "Emojis automatisch aanvullen",
     "shortcut-autocomplete-emoji": "Emojis automatisch aanvullen",
     "shortcut-autocomplete-members": "Leden automatisch aanvullen",
     "shortcut-autocomplete-members": "Leden automatisch aanvullen",
@@ -350,6 +354,9 @@
     "welcome-list1": "Basis",
     "welcome-list1": "Basis",
     "welcome-list2": "Geadvanceerd",
     "welcome-list2": "Geadvanceerd",
     "what-to-do": "Wat wil je doen?",
     "what-to-do": "Wat wil je doen?",
+    "wipLimitErrorPopup-title": "Invalid WIP Limit",
+    "wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.",
+    "wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.",
     "admin-panel": "Administrator paneel",
     "admin-panel": "Administrator paneel",
     "settings": "Instellingen",
     "settings": "Instellingen",
     "people": "Mensen",
     "people": "Mensen",

+ 7 - 0
i18n/pl.i18n.json

@@ -171,6 +171,7 @@
     "edit": "Edytuj",
     "edit": "Edytuj",
     "edit-avatar": "Zmień Avatar",
     "edit-avatar": "Zmień Avatar",
     "edit-profile": "Edytuj profil",
     "edit-profile": "Edytuj profil",
+    "edit-wip-limit": "Edit WIP Limit",
     "editCardStartDatePopup-title": "Change start date",
     "editCardStartDatePopup-title": "Change start date",
     "editCardDueDatePopup-title": "Change due date",
     "editCardDueDatePopup-title": "Change due date",
     "editLabelPopup-title": "Zmień etykietę",
     "editLabelPopup-title": "Zmień etykietę",
@@ -189,6 +190,7 @@
     "email-sent": "Email wysłany",
     "email-sent": "Email wysłany",
     "email-verifyEmail-subject": "Zweryfikuj swój adres email na __siteName__",
     "email-verifyEmail-subject": "Zweryfikuj swój adres email na __siteName__",
     "email-verifyEmail-text": "Witaj __user__,\nAby zweryfikować adres email, kliknij w link poniżej.\n__url__\nDzięki.",
     "email-verifyEmail-text": "Witaj __user__,\nAby zweryfikować adres email, kliknij w link poniżej.\n__url__\nDzięki.",
+    "enable-wip-limit": "Enable WIP Limit",
     "error-board-doesNotExist": "Ta tablica nie istnieje",
     "error-board-doesNotExist": "Ta tablica nie istnieje",
     "error-board-notAdmin": "Musisz być administratorem tej tablicy żeby to zrobić",
     "error-board-notAdmin": "Musisz być administratorem tej tablicy żeby to zrobić",
     "error-board-notAMember": "Musisz być członkiem tej tablicy żeby to zrobić",
     "error-board-notAMember": "Musisz być członkiem tej tablicy żeby to zrobić",
@@ -310,6 +312,8 @@
     "save": "Zapisz",
     "save": "Zapisz",
     "search": "Wyszukaj",
     "search": "Wyszukaj",
     "select-color": "Wybierz kolor",
     "select-color": "Wybierz kolor",
+    "set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
+    "setWipLimitPopup-title": "Set WIP Limit",
     "shortcut-assign-self": "Przypisz siebie do obecnej karty",
     "shortcut-assign-self": "Przypisz siebie do obecnej karty",
     "shortcut-autocomplete-emoji": "Autocomplete emoji",
     "shortcut-autocomplete-emoji": "Autocomplete emoji",
     "shortcut-autocomplete-members": "Autocomplete members",
     "shortcut-autocomplete-members": "Autocomplete members",
@@ -350,6 +354,9 @@
     "welcome-list1": "Basics",
     "welcome-list1": "Basics",
     "welcome-list2": "Advanced",
     "welcome-list2": "Advanced",
     "what-to-do": "Co chcesz zrobić?",
     "what-to-do": "Co chcesz zrobić?",
+    "wipLimitErrorPopup-title": "Invalid WIP Limit",
+    "wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.",
+    "wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.",
     "admin-panel": "Panel administracyjny",
     "admin-panel": "Panel administracyjny",
     "settings": "Ustawienia",
     "settings": "Ustawienia",
     "people": "Osoby",
     "people": "Osoby",

+ 7 - 0
i18n/pt-BR.i18n.json

@@ -171,6 +171,7 @@
     "edit": "Editar",
     "edit": "Editar",
     "edit-avatar": "Alterar Avatar",
     "edit-avatar": "Alterar Avatar",
     "edit-profile": "Editar Perfil",
     "edit-profile": "Editar Perfil",
+    "edit-wip-limit": "Editar Limite WIP",
     "editCardStartDatePopup-title": "Altera data de início",
     "editCardStartDatePopup-title": "Altera data de início",
     "editCardDueDatePopup-title": "Altera data fim",
     "editCardDueDatePopup-title": "Altera data fim",
     "editLabelPopup-title": "Alterar Etiqueta",
     "editLabelPopup-title": "Alterar Etiqueta",
@@ -189,6 +190,7 @@
     "email-sent": "Email enviado",
     "email-sent": "Email enviado",
     "email-verifyEmail-subject": "Verifique seu endereço de email em __siteName__",
     "email-verifyEmail-subject": "Verifique seu endereço de email em __siteName__",
     "email-verifyEmail-text": "Olá __user__\nPara verificar sua conta de email, clique no link abaixo.\n__url__\nObrigado.",
     "email-verifyEmail-text": "Olá __user__\nPara verificar sua conta de email, clique no link abaixo.\n__url__\nObrigado.",
+    "enable-wip-limit": "Ativar Limite WIP",
     "error-board-doesNotExist": "Este quadro não existe",
     "error-board-doesNotExist": "Este quadro não existe",
     "error-board-notAdmin": "Você precisa ser administrador desse quadro para fazer isto",
     "error-board-notAdmin": "Você precisa ser administrador desse quadro para fazer isto",
     "error-board-notAMember": "Você precisa ser um membro desse quadro para fazer isto",
     "error-board-notAMember": "Você precisa ser um membro desse quadro para fazer isto",
@@ -310,6 +312,8 @@
     "save": "Salvar",
     "save": "Salvar",
     "search": "Buscar",
     "search": "Buscar",
     "select-color": "Selecionar Cor",
     "select-color": "Selecionar Cor",
+    "set-wip-limit-value": "Defina um limite máximo para o número de tarefas nesta lista",
+    "setWipLimitPopup-title": "Definir Limite WIP",
     "shortcut-assign-self": "Atribuir a si o cartão atual",
     "shortcut-assign-self": "Atribuir a si o cartão atual",
     "shortcut-autocomplete-emoji": "Autocompletar emoji",
     "shortcut-autocomplete-emoji": "Autocompletar emoji",
     "shortcut-autocomplete-members": "Preenchimento automático de membros",
     "shortcut-autocomplete-members": "Preenchimento automático de membros",
@@ -350,6 +354,9 @@
     "welcome-list1": "Básico",
     "welcome-list1": "Básico",
     "welcome-list2": "Avançado",
     "welcome-list2": "Avançado",
     "what-to-do": "O que você gostaria de fazer?",
     "what-to-do": "O que você gostaria de fazer?",
+    "wipLimitErrorPopup-title": "Limite WIP Inválido",
+    "wipLimitErrorPopup-dialog-pt1": "O número de tarefas nesta lista excede o limite WIP definido.",
+    "wipLimitErrorPopup-dialog-pt2": "Por favor, mova algumas tarefas para fora desta lista, ou defina um limite WIP mais elevado.",
     "admin-panel": "Painel Administrativo",
     "admin-panel": "Painel Administrativo",
     "settings": "Configurações",
     "settings": "Configurações",
     "people": "Pessoas",
     "people": "Pessoas",

+ 7 - 0
i18n/ro.i18n.json

@@ -171,6 +171,7 @@
     "edit": "Edit",
     "edit": "Edit",
     "edit-avatar": "Change Avatar",
     "edit-avatar": "Change Avatar",
     "edit-profile": "Edit Profile",
     "edit-profile": "Edit Profile",
+    "edit-wip-limit": "Edit WIP Limit",
     "editCardStartDatePopup-title": "Change start date",
     "editCardStartDatePopup-title": "Change start date",
     "editCardDueDatePopup-title": "Change due date",
     "editCardDueDatePopup-title": "Change due date",
     "editLabelPopup-title": "Change Label",
     "editLabelPopup-title": "Change Label",
@@ -189,6 +190,7 @@
     "email-sent": "Email sent",
     "email-sent": "Email sent",
     "email-verifyEmail-subject": "Verify your email address on __siteName__",
     "email-verifyEmail-subject": "Verify your email address on __siteName__",
     "email-verifyEmail-text": "Hello __user__,\n\nTo verify your account email, simply click the link below.\n\n__url__\n\nThanks.",
     "email-verifyEmail-text": "Hello __user__,\n\nTo verify your account email, simply click the link below.\n\n__url__\n\nThanks.",
+    "enable-wip-limit": "Enable WIP Limit",
     "error-board-doesNotExist": "This board does not exist",
     "error-board-doesNotExist": "This board does not exist",
     "error-board-notAdmin": "You need to be admin of this board to do that",
     "error-board-notAdmin": "You need to be admin of this board to do that",
     "error-board-notAMember": "You need to be a member of this board to do that",
     "error-board-notAMember": "You need to be a member of this board to do that",
@@ -310,6 +312,8 @@
     "save": "Salvează",
     "save": "Salvează",
     "search": "Caută",
     "search": "Caută",
     "select-color": "Select Color",
     "select-color": "Select Color",
+    "set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
+    "setWipLimitPopup-title": "Set WIP Limit",
     "shortcut-assign-self": "Assign yourself to current card",
     "shortcut-assign-self": "Assign yourself to current card",
     "shortcut-autocomplete-emoji": "Autocomplete emoji",
     "shortcut-autocomplete-emoji": "Autocomplete emoji",
     "shortcut-autocomplete-members": "Autocomplete members",
     "shortcut-autocomplete-members": "Autocomplete members",
@@ -350,6 +354,9 @@
     "welcome-list1": "Basics",
     "welcome-list1": "Basics",
     "welcome-list2": "Advanced",
     "welcome-list2": "Advanced",
     "what-to-do": "Ce ai vrea sa faci?",
     "what-to-do": "Ce ai vrea sa faci?",
+    "wipLimitErrorPopup-title": "Invalid WIP Limit",
+    "wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.",
+    "wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.",
     "admin-panel": "Admin Panel",
     "admin-panel": "Admin Panel",
     "settings": "Settings",
     "settings": "Settings",
     "people": "People",
     "people": "People",

+ 7 - 0
i18n/ru.i18n.json

@@ -171,6 +171,7 @@
     "edit": "Редактировать",
     "edit": "Редактировать",
     "edit-avatar": "Изменить аватар",
     "edit-avatar": "Изменить аватар",
     "edit-profile": "Изменить Профиль",
     "edit-profile": "Изменить Профиль",
+    "edit-wip-limit": "Edit WIP Limit",
     "editCardStartDatePopup-title": "Сменить дату начала",
     "editCardStartDatePopup-title": "Сменить дату начала",
     "editCardDueDatePopup-title": "Изменить дату до",
     "editCardDueDatePopup-title": "Изменить дату до",
     "editLabelPopup-title": "Редактирование метки",
     "editLabelPopup-title": "Редактирование метки",
@@ -189,6 +190,7 @@
     "email-sent": "Письмо отправлено",
     "email-sent": "Письмо отправлено",
     "email-verifyEmail-subject": "Подтвердите вашу эл.почту перейдя по ссылке __url__",
     "email-verifyEmail-subject": "Подтвердите вашу эл.почту перейдя по ссылке __url__",
     "email-verifyEmail-text": "Привет __user__,\n\nДля подтверждения вашей электронной почты перейдите по ссылке ниже.\n\n__url__\n\nСпасибо.",
     "email-verifyEmail-text": "Привет __user__,\n\nДля подтверждения вашей электронной почты перейдите по ссылке ниже.\n\n__url__\n\nСпасибо.",
+    "enable-wip-limit": "Enable WIP Limit",
     "error-board-doesNotExist": "Доска не найдена",
     "error-board-doesNotExist": "Доска не найдена",
     "error-board-notAdmin": "Вы должны обладать правами администратора этой доски, чтобы сделать это",
     "error-board-notAdmin": "Вы должны обладать правами администратора этой доски, чтобы сделать это",
     "error-board-notAMember": "Вы должны быть пользователем доски, чтобы сделать это",
     "error-board-notAMember": "Вы должны быть пользователем доски, чтобы сделать это",
@@ -310,6 +312,8 @@
     "save": "Сохранить",
     "save": "Сохранить",
     "search": "Поиск",
     "search": "Поиск",
     "select-color": "Выбрать цвет",
     "select-color": "Выбрать цвет",
+    "set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
+    "setWipLimitPopup-title": "Set WIP Limit",
     "shortcut-assign-self": "Связать себя с текущей карточкой",
     "shortcut-assign-self": "Связать себя с текущей карточкой",
     "shortcut-autocomplete-emoji": "Автозаполнение emoji",
     "shortcut-autocomplete-emoji": "Автозаполнение emoji",
     "shortcut-autocomplete-members": "Автозаполнение пользователей",
     "shortcut-autocomplete-members": "Автозаполнение пользователей",
@@ -350,6 +354,9 @@
     "welcome-list1": "Основы",
     "welcome-list1": "Основы",
     "welcome-list2": "Расширенно",
     "welcome-list2": "Расширенно",
     "what-to-do": "Что вы хотите сделать?",
     "what-to-do": "Что вы хотите сделать?",
+    "wipLimitErrorPopup-title": "Invalid WIP Limit",
+    "wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.",
+    "wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.",
     "admin-panel": "Административная Панель",
     "admin-panel": "Административная Панель",
     "settings": "Настройки",
     "settings": "Настройки",
     "people": "Люди",
     "people": "Люди",

+ 7 - 0
i18n/sr.i18n.json

@@ -171,6 +171,7 @@
     "edit": "Edit",
     "edit": "Edit",
     "edit-avatar": "Change Avatar",
     "edit-avatar": "Change Avatar",
     "edit-profile": "Edit Profile",
     "edit-profile": "Edit Profile",
+    "edit-wip-limit": "Edit WIP Limit",
     "editCardStartDatePopup-title": "Izmeni početni datum",
     "editCardStartDatePopup-title": "Izmeni početni datum",
     "editCardDueDatePopup-title": "Izmeni krajnji datum",
     "editCardDueDatePopup-title": "Izmeni krajnji datum",
     "editLabelPopup-title": "Change Label",
     "editLabelPopup-title": "Change Label",
@@ -189,6 +190,7 @@
     "email-sent": "Email sent",
     "email-sent": "Email sent",
     "email-verifyEmail-subject": "Verify your email address on __siteName__",
     "email-verifyEmail-subject": "Verify your email address on __siteName__",
     "email-verifyEmail-text": "Hello __user__,\n\nTo verify your account email, simply click the link below.\n\n__url__\n\nThanks.",
     "email-verifyEmail-text": "Hello __user__,\n\nTo verify your account email, simply click the link below.\n\n__url__\n\nThanks.",
+    "enable-wip-limit": "Enable WIP Limit",
     "error-board-doesNotExist": "This board does not exist",
     "error-board-doesNotExist": "This board does not exist",
     "error-board-notAdmin": "You need to be admin of this board to do that",
     "error-board-notAdmin": "You need to be admin of this board to do that",
     "error-board-notAMember": "You need to be a member of this board to do that",
     "error-board-notAMember": "You need to be a member of this board to do that",
@@ -310,6 +312,8 @@
     "save": "Snimi",
     "save": "Snimi",
     "search": "Pretraga",
     "search": "Pretraga",
     "select-color": "Select Color",
     "select-color": "Select Color",
+    "set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
+    "setWipLimitPopup-title": "Set WIP Limit",
     "shortcut-assign-self": "Pridruži sebe trenutnoj kartici",
     "shortcut-assign-self": "Pridruži sebe trenutnoj kartici",
     "shortcut-autocomplete-emoji": "Autocomplete emoji",
     "shortcut-autocomplete-emoji": "Autocomplete emoji",
     "shortcut-autocomplete-members": "Sam popuni članove",
     "shortcut-autocomplete-members": "Sam popuni članove",
@@ -350,6 +354,9 @@
     "welcome-list1": "Osnove",
     "welcome-list1": "Osnove",
     "welcome-list2": "Napredno",
     "welcome-list2": "Napredno",
     "what-to-do": "Šta želiš da uradiš ?",
     "what-to-do": "Šta želiš da uradiš ?",
+    "wipLimitErrorPopup-title": "Invalid WIP Limit",
+    "wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.",
+    "wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.",
     "admin-panel": "Admin Panel",
     "admin-panel": "Admin Panel",
     "settings": "Settings",
     "settings": "Settings",
     "people": "People",
     "people": "People",

+ 8 - 1
i18n/sv.i18n.json

@@ -149,7 +149,7 @@
     "comment-only": "Kommentera endast",
     "comment-only": "Kommentera endast",
     "comment-only-desc": "Kan endast kommentera kort.",
     "comment-only-desc": "Kan endast kommentera kort.",
     "computer": "Dator",
     "computer": "Dator",
-    "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
+    "confirm-checklist-delete-dialog": "Är du säker på att du vill ta bort checklista",
     "copy-card-link-to-clipboard": "Kopiera kortlänk till urklipp",
     "copy-card-link-to-clipboard": "Kopiera kortlänk till urklipp",
     "copyCardPopup-title": "Kopiera kort",
     "copyCardPopup-title": "Kopiera kort",
     "create": "Skapa",
     "create": "Skapa",
@@ -171,6 +171,7 @@
     "edit": "Redigera",
     "edit": "Redigera",
     "edit-avatar": "Ändra avatar",
     "edit-avatar": "Ändra avatar",
     "edit-profile": "Redigera profil",
     "edit-profile": "Redigera profil",
+    "edit-wip-limit": "Edit WIP Limit",
     "editCardStartDatePopup-title": "Ändra startdatum",
     "editCardStartDatePopup-title": "Ändra startdatum",
     "editCardDueDatePopup-title": "Ändra förfallodatum",
     "editCardDueDatePopup-title": "Ändra förfallodatum",
     "editLabelPopup-title": "Ändra etikett",
     "editLabelPopup-title": "Ändra etikett",
@@ -189,6 +190,7 @@
     "email-sent": "E-post skickad",
     "email-sent": "E-post skickad",
     "email-verifyEmail-subject": "Verifiera din e-post adress på __siteName__",
     "email-verifyEmail-subject": "Verifiera din e-post adress på __siteName__",
     "email-verifyEmail-text": "Hej __user__,\n\nFör att verifiera din konto e-post, klicka på länken nedan.\n\n__url__\n\nTack.",
     "email-verifyEmail-text": "Hej __user__,\n\nFör att verifiera din konto e-post, klicka på länken nedan.\n\n__url__\n\nTack.",
+    "enable-wip-limit": "Enable WIP Limit",
     "error-board-doesNotExist": "Denna anslagstavla finns inte",
     "error-board-doesNotExist": "Denna anslagstavla finns inte",
     "error-board-notAdmin": "Du måste vara administratör för denna anslagstavla för att göra det",
     "error-board-notAdmin": "Du måste vara administratör för denna anslagstavla för att göra det",
     "error-board-notAMember": "Du måste vara medlem i denna anslagstavla för att göra det",
     "error-board-notAMember": "Du måste vara medlem i denna anslagstavla för att göra det",
@@ -310,6 +312,8 @@
     "save": "Spara",
     "save": "Spara",
     "search": "Sök",
     "search": "Sök",
     "select-color": "Välj färg",
     "select-color": "Välj färg",
+    "set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
+    "setWipLimitPopup-title": "Set WIP Limit",
     "shortcut-assign-self": "Tilldela dig nuvarande kort",
     "shortcut-assign-self": "Tilldela dig nuvarande kort",
     "shortcut-autocomplete-emoji": "Komplettera automatiskt emoji",
     "shortcut-autocomplete-emoji": "Komplettera automatiskt emoji",
     "shortcut-autocomplete-members": "Komplettera automatiskt medlemmar",
     "shortcut-autocomplete-members": "Komplettera automatiskt medlemmar",
@@ -350,6 +354,9 @@
     "welcome-list1": "Grunderna",
     "welcome-list1": "Grunderna",
     "welcome-list2": "Avancerad",
     "welcome-list2": "Avancerad",
     "what-to-do": "Vad vill du göra?",
     "what-to-do": "Vad vill du göra?",
+    "wipLimitErrorPopup-title": "Invalid WIP Limit",
+    "wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.",
+    "wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.",
     "admin-panel": "Administratörspanel ",
     "admin-panel": "Administratörspanel ",
     "settings": "Inställningar",
     "settings": "Inställningar",
     "people": "Personer",
     "people": "Personer",

+ 7 - 0
i18n/ta.i18n.json

@@ -171,6 +171,7 @@
     "edit": "Edit",
     "edit": "Edit",
     "edit-avatar": "Change Avatar",
     "edit-avatar": "Change Avatar",
     "edit-profile": "Edit Profile",
     "edit-profile": "Edit Profile",
+    "edit-wip-limit": "Edit WIP Limit",
     "editCardStartDatePopup-title": "Change start date",
     "editCardStartDatePopup-title": "Change start date",
     "editCardDueDatePopup-title": "Change due date",
     "editCardDueDatePopup-title": "Change due date",
     "editLabelPopup-title": "Change Label",
     "editLabelPopup-title": "Change Label",
@@ -189,6 +190,7 @@
     "email-sent": "Email sent",
     "email-sent": "Email sent",
     "email-verifyEmail-subject": "Verify your email address on __siteName__",
     "email-verifyEmail-subject": "Verify your email address on __siteName__",
     "email-verifyEmail-text": "Hello __user__,\n\nTo verify your account email, simply click the link below.\n\n__url__\n\nThanks.",
     "email-verifyEmail-text": "Hello __user__,\n\nTo verify your account email, simply click the link below.\n\n__url__\n\nThanks.",
+    "enable-wip-limit": "Enable WIP Limit",
     "error-board-doesNotExist": "This board does not exist",
     "error-board-doesNotExist": "This board does not exist",
     "error-board-notAdmin": "You need to be admin of this board to do that",
     "error-board-notAdmin": "You need to be admin of this board to do that",
     "error-board-notAMember": "You need to be a member of this board to do that",
     "error-board-notAMember": "You need to be a member of this board to do that",
@@ -310,6 +312,8 @@
     "save": "Save",
     "save": "Save",
     "search": "Search",
     "search": "Search",
     "select-color": "Select Color",
     "select-color": "Select Color",
+    "set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
+    "setWipLimitPopup-title": "Set WIP Limit",
     "shortcut-assign-self": "Assign yourself to current card",
     "shortcut-assign-self": "Assign yourself to current card",
     "shortcut-autocomplete-emoji": "Autocomplete emoji",
     "shortcut-autocomplete-emoji": "Autocomplete emoji",
     "shortcut-autocomplete-members": "Autocomplete members",
     "shortcut-autocomplete-members": "Autocomplete members",
@@ -350,6 +354,9 @@
     "welcome-list1": "Basics",
     "welcome-list1": "Basics",
     "welcome-list2": "Advanced",
     "welcome-list2": "Advanced",
     "what-to-do": "What do you want to do?",
     "what-to-do": "What do you want to do?",
+    "wipLimitErrorPopup-title": "Invalid WIP Limit",
+    "wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.",
+    "wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.",
     "admin-panel": "Admin Panel",
     "admin-panel": "Admin Panel",
     "settings": "Settings",
     "settings": "Settings",
     "people": "People",
     "people": "People",

+ 7 - 0
i18n/th.i18n.json

@@ -171,6 +171,7 @@
     "edit": "แก้ไข",
     "edit": "แก้ไข",
     "edit-avatar": "เปลี่ยนภาพ",
     "edit-avatar": "เปลี่ยนภาพ",
     "edit-profile": "แก้ไขโปรไฟล์",
     "edit-profile": "แก้ไขโปรไฟล์",
+    "edit-wip-limit": "Edit WIP Limit",
     "editCardStartDatePopup-title": "เปลี่ยนวันเริ่มต้น",
     "editCardStartDatePopup-title": "เปลี่ยนวันเริ่มต้น",
     "editCardDueDatePopup-title": "เปลี่ยนวันครบกำหนด",
     "editCardDueDatePopup-title": "เปลี่ยนวันครบกำหนด",
     "editLabelPopup-title": "เปลี่ยนป้ายกำกับ",
     "editLabelPopup-title": "เปลี่ยนป้ายกำกับ",
@@ -189,6 +190,7 @@
     "email-sent": "ส่งอีเมล์",
     "email-sent": "ส่งอีเมล์",
     "email-verifyEmail-subject": "ยืนยันที่อยู่อีเม์ของคุณบน __siteName__",
     "email-verifyEmail-subject": "ยืนยันที่อยู่อีเม์ของคุณบน __siteName__",
     "email-verifyEmail-text": "สวัสดี __user__,\n\nตรวจสอบบัญชีอีเมล์ของคุณ ง่าย ๆ ตามลิงค์ด้านล่าง \n\n__url__\n\n ขอบคุณค่ะ",
     "email-verifyEmail-text": "สวัสดี __user__,\n\nตรวจสอบบัญชีอีเมล์ของคุณ ง่าย ๆ ตามลิงค์ด้านล่าง \n\n__url__\n\n ขอบคุณค่ะ",
+    "enable-wip-limit": "Enable WIP Limit",
     "error-board-doesNotExist": "บอร์ดนี้ไม่มีอยู่แล้ว",
     "error-board-doesNotExist": "บอร์ดนี้ไม่มีอยู่แล้ว",
     "error-board-notAdmin": "คุณจะต้องเป็นผู้ดูแลระบบถึงจะทำสิ่งเหล่านี้ได้",
     "error-board-notAdmin": "คุณจะต้องเป็นผู้ดูแลระบบถึงจะทำสิ่งเหล่านี้ได้",
     "error-board-notAMember": "คุณต้องเป็นสมาชิกของบอร์ดนี้ถึงจะทำได้",
     "error-board-notAMember": "คุณต้องเป็นสมาชิกของบอร์ดนี้ถึงจะทำได้",
@@ -310,6 +312,8 @@
     "save": "บันทึก",
     "save": "บันทึก",
     "search": "ค้นหา",
     "search": "ค้นหา",
     "select-color": "Select Color",
     "select-color": "Select Color",
+    "set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
+    "setWipLimitPopup-title": "Set WIP Limit",
     "shortcut-assign-self": "กำหนดตัวเองให้การ์ดนี้",
     "shortcut-assign-self": "กำหนดตัวเองให้การ์ดนี้",
     "shortcut-autocomplete-emoji": "เติม emoji อัตโนมัติ",
     "shortcut-autocomplete-emoji": "เติม emoji อัตโนมัติ",
     "shortcut-autocomplete-members": "เติมสมาชิกอัตโนมัติ",
     "shortcut-autocomplete-members": "เติมสมาชิกอัตโนมัติ",
@@ -350,6 +354,9 @@
     "welcome-list1": "พื้นฐาน",
     "welcome-list1": "พื้นฐาน",
     "welcome-list2": "ก้าวหน้า",
     "welcome-list2": "ก้าวหน้า",
     "what-to-do": "ต้องการทำอะไร",
     "what-to-do": "ต้องการทำอะไร",
+    "wipLimitErrorPopup-title": "Invalid WIP Limit",
+    "wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.",
+    "wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.",
     "admin-panel": "Admin Panel",
     "admin-panel": "Admin Panel",
     "settings": "Settings",
     "settings": "Settings",
     "people": "People",
     "people": "People",

+ 7 - 0
i18n/tr.i18n.json

@@ -171,6 +171,7 @@
     "edit": "Düzenle",
     "edit": "Düzenle",
     "edit-avatar": "Avatar Değiştir",
     "edit-avatar": "Avatar Değiştir",
     "edit-profile": "Profili Düzenle",
     "edit-profile": "Profili Düzenle",
+    "edit-wip-limit": "Edit WIP Limit",
     "editCardStartDatePopup-title": "Başlangıç tarihini değiştir",
     "editCardStartDatePopup-title": "Başlangıç tarihini değiştir",
     "editCardDueDatePopup-title": "Bitiş tarihini değiştir",
     "editCardDueDatePopup-title": "Bitiş tarihini değiştir",
     "editLabelPopup-title": "Etiket Değiştir",
     "editLabelPopup-title": "Etiket Değiştir",
@@ -189,6 +190,7 @@
     "email-sent": "E-posta gönderildi",
     "email-sent": "E-posta gönderildi",
     "email-verifyEmail-subject": "__siteName__ üzerindeki e-posta adresini doğrulama",
     "email-verifyEmail-subject": "__siteName__ üzerindeki e-posta adresini doğrulama",
     "email-verifyEmail-text": "Merhaba __user__,\n\nHesap e-posta adresini doğrulamak için aşağıdaki linke tıklaman yeterli.\n\n__url__\n\nTeşekkürler.",
     "email-verifyEmail-text": "Merhaba __user__,\n\nHesap e-posta adresini doğrulamak için aşağıdaki linke tıklaman yeterli.\n\n__url__\n\nTeşekkürler.",
+    "enable-wip-limit": "Enable WIP Limit",
     "error-board-doesNotExist": "Pano bulunamadı",
     "error-board-doesNotExist": "Pano bulunamadı",
     "error-board-notAdmin": "Bu işlemi yapmak için pano yöneticisi olmalısın.",
     "error-board-notAdmin": "Bu işlemi yapmak için pano yöneticisi olmalısın.",
     "error-board-notAMember": "Bu işlemi yapmak için panoya üye olmalısın.",
     "error-board-notAMember": "Bu işlemi yapmak için panoya üye olmalısın.",
@@ -310,6 +312,8 @@
     "save": "Kaydet",
     "save": "Kaydet",
     "search": "Arama",
     "search": "Arama",
     "select-color": "Renk Seç",
     "select-color": "Renk Seç",
+    "set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
+    "setWipLimitPopup-title": "Set WIP Limit",
     "shortcut-assign-self": "Kendini karta ata",
     "shortcut-assign-self": "Kendini karta ata",
     "shortcut-autocomplete-emoji": "Emojileri otomatik tamamla",
     "shortcut-autocomplete-emoji": "Emojileri otomatik tamamla",
     "shortcut-autocomplete-members": "Üye isimlerini otomatik tamamla",
     "shortcut-autocomplete-members": "Üye isimlerini otomatik tamamla",
@@ -350,6 +354,9 @@
     "welcome-list1": "Temel",
     "welcome-list1": "Temel",
     "welcome-list2": "Gelişmiş",
     "welcome-list2": "Gelişmiş",
     "what-to-do": "Ne yapmak istiyorsunuz?",
     "what-to-do": "Ne yapmak istiyorsunuz?",
+    "wipLimitErrorPopup-title": "Invalid WIP Limit",
+    "wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.",
+    "wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.",
     "admin-panel": "Yönetici Paneli",
     "admin-panel": "Yönetici Paneli",
     "settings": "Ayarlar",
     "settings": "Ayarlar",
     "people": "Kullanıcılar",
     "people": "Kullanıcılar",

+ 7 - 0
i18n/uk.i18n.json

@@ -171,6 +171,7 @@
     "edit": "Edit",
     "edit": "Edit",
     "edit-avatar": "Change Avatar",
     "edit-avatar": "Change Avatar",
     "edit-profile": "Edit Profile",
     "edit-profile": "Edit Profile",
+    "edit-wip-limit": "Edit WIP Limit",
     "editCardStartDatePopup-title": "Change start date",
     "editCardStartDatePopup-title": "Change start date",
     "editCardDueDatePopup-title": "Change due date",
     "editCardDueDatePopup-title": "Change due date",
     "editLabelPopup-title": "Change Label",
     "editLabelPopup-title": "Change Label",
@@ -189,6 +190,7 @@
     "email-sent": "Email sent",
     "email-sent": "Email sent",
     "email-verifyEmail-subject": "Verify your email address on __siteName__",
     "email-verifyEmail-subject": "Verify your email address on __siteName__",
     "email-verifyEmail-text": "Hello __user__,\n\nTo verify your account email, simply click the link below.\n\n__url__\n\nThanks.",
     "email-verifyEmail-text": "Hello __user__,\n\nTo verify your account email, simply click the link below.\n\n__url__\n\nThanks.",
+    "enable-wip-limit": "Enable WIP Limit",
     "error-board-doesNotExist": "This board does not exist",
     "error-board-doesNotExist": "This board does not exist",
     "error-board-notAdmin": "You need to be admin of this board to do that",
     "error-board-notAdmin": "You need to be admin of this board to do that",
     "error-board-notAMember": "You need to be a member of this board to do that",
     "error-board-notAMember": "You need to be a member of this board to do that",
@@ -310,6 +312,8 @@
     "save": "Save",
     "save": "Save",
     "search": "Search",
     "search": "Search",
     "select-color": "Select Color",
     "select-color": "Select Color",
+    "set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
+    "setWipLimitPopup-title": "Set WIP Limit",
     "shortcut-assign-self": "Assign yourself to current card",
     "shortcut-assign-self": "Assign yourself to current card",
     "shortcut-autocomplete-emoji": "Autocomplete emoji",
     "shortcut-autocomplete-emoji": "Autocomplete emoji",
     "shortcut-autocomplete-members": "Autocomplete members",
     "shortcut-autocomplete-members": "Autocomplete members",
@@ -350,6 +354,9 @@
     "welcome-list1": "Basics",
     "welcome-list1": "Basics",
     "welcome-list2": "Advanced",
     "welcome-list2": "Advanced",
     "what-to-do": "What do you want to do?",
     "what-to-do": "What do you want to do?",
+    "wipLimitErrorPopup-title": "Invalid WIP Limit",
+    "wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.",
+    "wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.",
     "admin-panel": "Admin Panel",
     "admin-panel": "Admin Panel",
     "settings": "Settings",
     "settings": "Settings",
     "people": "People",
     "people": "People",

+ 7 - 0
i18n/vi.i18n.json

@@ -171,6 +171,7 @@
     "edit": "Edit",
     "edit": "Edit",
     "edit-avatar": "Change Avatar",
     "edit-avatar": "Change Avatar",
     "edit-profile": "Edit Profile",
     "edit-profile": "Edit Profile",
+    "edit-wip-limit": "Edit WIP Limit",
     "editCardStartDatePopup-title": "Change start date",
     "editCardStartDatePopup-title": "Change start date",
     "editCardDueDatePopup-title": "Change due date",
     "editCardDueDatePopup-title": "Change due date",
     "editLabelPopup-title": "Change Label",
     "editLabelPopup-title": "Change Label",
@@ -189,6 +190,7 @@
     "email-sent": "Email sent",
     "email-sent": "Email sent",
     "email-verifyEmail-subject": "Verify your email address on __siteName__",
     "email-verifyEmail-subject": "Verify your email address on __siteName__",
     "email-verifyEmail-text": "Hello __user__,\n\nTo verify your account email, simply click the link below.\n\n__url__\n\nThanks.",
     "email-verifyEmail-text": "Hello __user__,\n\nTo verify your account email, simply click the link below.\n\n__url__\n\nThanks.",
+    "enable-wip-limit": "Enable WIP Limit",
     "error-board-doesNotExist": "This board does not exist",
     "error-board-doesNotExist": "This board does not exist",
     "error-board-notAdmin": "You need to be admin of this board to do that",
     "error-board-notAdmin": "You need to be admin of this board to do that",
     "error-board-notAMember": "You need to be a member of this board to do that",
     "error-board-notAMember": "You need to be a member of this board to do that",
@@ -310,6 +312,8 @@
     "save": "Save",
     "save": "Save",
     "search": "Search",
     "search": "Search",
     "select-color": "Select Color",
     "select-color": "Select Color",
+    "set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
+    "setWipLimitPopup-title": "Set WIP Limit",
     "shortcut-assign-self": "Assign yourself to current card",
     "shortcut-assign-self": "Assign yourself to current card",
     "shortcut-autocomplete-emoji": "Autocomplete emoji",
     "shortcut-autocomplete-emoji": "Autocomplete emoji",
     "shortcut-autocomplete-members": "Autocomplete members",
     "shortcut-autocomplete-members": "Autocomplete members",
@@ -350,6 +354,9 @@
     "welcome-list1": "Basics",
     "welcome-list1": "Basics",
     "welcome-list2": "Advanced",
     "welcome-list2": "Advanced",
     "what-to-do": "What do you want to do?",
     "what-to-do": "What do you want to do?",
+    "wipLimitErrorPopup-title": "Invalid WIP Limit",
+    "wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.",
+    "wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.",
     "admin-panel": "Admin Panel",
     "admin-panel": "Admin Panel",
     "settings": "Settings",
     "settings": "Settings",
     "people": "People",
     "people": "People",

+ 7 - 0
i18n/zh-CN.i18n.json

@@ -171,6 +171,7 @@
     "edit": "编辑",
     "edit": "编辑",
     "edit-avatar": "更改头像",
     "edit-avatar": "更改头像",
     "edit-profile": "编辑资料",
     "edit-profile": "编辑资料",
+    "edit-wip-limit": "Edit WIP Limit",
     "editCardStartDatePopup-title": "修改起始日期",
     "editCardStartDatePopup-title": "修改起始日期",
     "editCardDueDatePopup-title": "修改截止日期",
     "editCardDueDatePopup-title": "修改截止日期",
     "editLabelPopup-title": "更改标签",
     "editLabelPopup-title": "更改标签",
@@ -189,6 +190,7 @@
     "email-sent": "邮件已发送",
     "email-sent": "邮件已发送",
     "email-verifyEmail-subject": "在 __siteName__ 验证您的邮件地址",
     "email-verifyEmail-subject": "在 __siteName__ 验证您的邮件地址",
     "email-verifyEmail-text": "尊敬的 __user__,\n\n点击下面的链接,验证您的邮件地址:\n\n__url__\n\n谢谢。",
     "email-verifyEmail-text": "尊敬的 __user__,\n\n点击下面的链接,验证您的邮件地址:\n\n__url__\n\n谢谢。",
+    "enable-wip-limit": "Enable WIP Limit",
     "error-board-doesNotExist": "该看板不存在",
     "error-board-doesNotExist": "该看板不存在",
     "error-board-notAdmin": "需要成为管理员才能执行此操作",
     "error-board-notAdmin": "需要成为管理员才能执行此操作",
     "error-board-notAMember": "需要成为看板成员才能执行此操作",
     "error-board-notAMember": "需要成为看板成员才能执行此操作",
@@ -310,6 +312,8 @@
     "save": "保存",
     "save": "保存",
     "search": "搜索",
     "search": "搜索",
     "select-color": "选择颜色",
     "select-color": "选择颜色",
+    "set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
+    "setWipLimitPopup-title": "Set WIP Limit",
     "shortcut-assign-self": "分配当前卡片给自己",
     "shortcut-assign-self": "分配当前卡片给自己",
     "shortcut-autocomplete-emoji": "表情符号自动补全",
     "shortcut-autocomplete-emoji": "表情符号自动补全",
     "shortcut-autocomplete-members": "自动补全成员",
     "shortcut-autocomplete-members": "自动补全成员",
@@ -350,6 +354,9 @@
     "welcome-list1": "基本",
     "welcome-list1": "基本",
     "welcome-list2": "高阶",
     "welcome-list2": "高阶",
     "what-to-do": "要做什么?",
     "what-to-do": "要做什么?",
+    "wipLimitErrorPopup-title": "Invalid WIP Limit",
+    "wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.",
+    "wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.",
     "admin-panel": "管理面板",
     "admin-panel": "管理面板",
     "settings": "设置",
     "settings": "设置",
     "people": "人员",
     "people": "人员",

+ 7 - 0
i18n/zh-TW.i18n.json

@@ -171,6 +171,7 @@
     "edit": "編輯",
     "edit": "編輯",
     "edit-avatar": "更改大頭貼",
     "edit-avatar": "更改大頭貼",
     "edit-profile": "編輯資料",
     "edit-profile": "編輯資料",
+    "edit-wip-limit": "Edit WIP Limit",
     "editCardStartDatePopup-title": "更改開始日期",
     "editCardStartDatePopup-title": "更改開始日期",
     "editCardDueDatePopup-title": "更改到期日期",
     "editCardDueDatePopup-title": "更改到期日期",
     "editLabelPopup-title": "更改標籤",
     "editLabelPopup-title": "更改標籤",
@@ -189,6 +190,7 @@
     "email-sent": "郵件已寄送",
     "email-sent": "郵件已寄送",
     "email-verifyEmail-subject": "驗證您在 __siteName__ 的電子郵件",
     "email-verifyEmail-subject": "驗證您在 __siteName__ 的電子郵件",
     "email-verifyEmail-text": "親愛的 __user__,\n\n點選下面的連結,驗證您的電子郵件地址:\n\n__url__\n\n謝謝。",
     "email-verifyEmail-text": "親愛的 __user__,\n\n點選下面的連結,驗證您的電子郵件地址:\n\n__url__\n\n謝謝。",
+    "enable-wip-limit": "Enable WIP Limit",
     "error-board-doesNotExist": "該看板不存在",
     "error-board-doesNotExist": "該看板不存在",
     "error-board-notAdmin": "需要成為管理員才能執行此操作",
     "error-board-notAdmin": "需要成為管理員才能執行此操作",
     "error-board-notAMember": "需要成為看板成員才能執行此操作",
     "error-board-notAMember": "需要成為看板成員才能執行此操作",
@@ -310,6 +312,8 @@
     "save": "儲存",
     "save": "儲存",
     "search": "搜尋",
     "search": "搜尋",
     "select-color": "選擇顏色",
     "select-color": "選擇顏色",
+    "set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
+    "setWipLimitPopup-title": "Set WIP Limit",
     "shortcut-assign-self": "分配目前卡片給自己",
     "shortcut-assign-self": "分配目前卡片給自己",
     "shortcut-autocomplete-emoji": "自動完成表情符號",
     "shortcut-autocomplete-emoji": "自動完成表情符號",
     "shortcut-autocomplete-members": "自動補齊成員",
     "shortcut-autocomplete-members": "自動補齊成員",
@@ -350,6 +354,9 @@
     "welcome-list1": "基本",
     "welcome-list1": "基本",
     "welcome-list2": "進階",
     "welcome-list2": "進階",
     "what-to-do": "要做什麼?",
     "what-to-do": "要做什麼?",
+    "wipLimitErrorPopup-title": "Invalid WIP Limit",
+    "wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.",
+    "wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.",
     "admin-panel": "控制台",
     "admin-panel": "控制台",
     "settings": "設定",
     "settings": "設定",
     "people": "成員",
     "people": "成員",

+ 8 - 0
models/cards.js

@@ -179,6 +179,14 @@ Cards.helpers({
       cardId: this._id,
       cardId: this._id,
     });
     });
   },
   },
+
+  canBeRestored() {
+    const list = Lists.findOne({_id: this.listId});
+    if(list.getWipLimit() && list.getWipLimit('enabled') && list.getWipLimit('value') === list.cards().count()){
+      return false;
+    }
+    return true;
+  },
 });
 });
 
 
 Cards.mutations({
 Cards.mutations({

+ 62 - 0
models/lists.js

@@ -42,6 +42,31 @@ Lists.attachSchema(new SimpleSchema({
       }
       }
     },
     },
   },
   },
+  wipLimit: {
+    type: Object,
+    optional: true,
+  },
+  'wipLimit.value': {
+    type: Number,
+    decimal: false,
+    autoValue() {
+      if(this.isInsert){
+        return 0;
+      }
+      return this.value;
+    },
+    optional: true,
+  },
+  'wipLimit.enabled':{
+    type: Boolean,
+    autoValue() {
+      if(this.isInsert){
+        return false;
+      }
+      return this.value;
+    },
+    optional: true,
+  },
 }));
 }));
 
 
 Lists.allow({
 Lists.allow({
@@ -72,6 +97,17 @@ Lists.helpers({
   board() {
   board() {
     return Boards.findOne(this.boardId);
     return Boards.findOne(this.boardId);
   },
   },
+
+  getWipLimit(option){
+    const list = Lists.findOne({ _id: this._id });
+    if(!list.wipLimit) { // Necessary check to avoid exceptions for the case where the doc doesn't have the wipLimit field yet set
+      return 0;
+    } else if(!option) {
+      return list.wipLimit;
+    } else {
+      return list.wipLimit[option] ? list.wipLimit[option] : 0; // Necessary check to avoid exceptions for the case where the doc doesn't have the wipLimit field yet set
+    }
+  },
 });
 });
 
 
 Lists.mutations({
 Lists.mutations({
@@ -86,6 +122,32 @@ Lists.mutations({
   restore() {
   restore() {
     return { $set: { archived: false } };
     return { $set: { archived: false } };
   },
   },
+
+  toggleWipLimit(toggle) {
+    return { $set: { 'wipLimit.enabled': toggle } };
+  },
+
+  setWipLimit(limit) {
+    return { $set: { 'wipLimit.value': limit } };
+  },
+});
+
+Meteor.methods({
+  applyWipLimit(listId, limit){
+    check(listId, String);
+    check(limit, Number);
+    Lists.findOne({ _id: listId }).setWipLimit(limit);
+  },
+
+  enableWipLimit(listId) {
+    check(listId, String);
+    const list = Lists.findOne({ _id: listId });
+    if(list.getWipLimit()){ // Necessary check to avoid exceptions for the case where the doc doesn't have the wipLimit field yet set
+      list.toggleWipLimit(!list.getWipLimit('enabled'));
+    } else {
+      list.toggleWipLimit(true); // First time toggle is always to 'true' because default is 'false'
+    }
+  },
 });
 });
 
 
 Lists.hookOptions.after.update = { fetchPrevious: false };
 Lists.hookOptions.after.update = { fetchPrevious: false };