From fc93203e4db044d37c1686fef0efb1ac1d6ac4b8 Mon Sep 17 00:00:00 2001
From: Frederic Guillot <fred@kanboard.net>
Date: Fri, 24 Jun 2016 22:28:26 -0400
Subject: Sync locales

---
 app/Locale/de_DE/translations.php | 25 +++++++++++++++++++------
 1 file changed, 19 insertions(+), 6 deletions(-)

(limited to 'app/Locale/de_DE')

diff --git a/app/Locale/de_DE/translations.php b/app/Locale/de_DE/translations.php
index e76100c1..232b9f56 100644
--- a/app/Locale/de_DE/translations.php
+++ b/app/Locale/de_DE/translations.php
@@ -154,8 +154,6 @@ return array(
     '%d closed tasks' => '%d abgeschlossene Aufgaben',
     'No task for this project' => 'Keine Aufgaben in diesem Projekt',
     'Public link' => 'Öffentlicher Link',
-    'Change assignee' => 'Zuständigkeit ändern',
-    'Change assignee for the task "%s"' => 'Zuständigkeit für diese Aufgabe ändern: "%s"',
     'Timezone' => 'Zeitzone',
     'Sorry, I didn\'t find this information in my database!' => 'Diese Information wurde in der Datenbank nicht gefunden!',
     'Page not found' => 'Seite nicht gefunden',
@@ -248,7 +246,6 @@ return array(
     'Category' => 'Kategorie',
     'Category:' => 'Kategorie:',
     'Categories' => 'Kategorien',
-    'Category not found.' => 'Kategorie nicht gefunden.',
     'Your category have been created successfully.' => 'Kategorie erfolgreich erstellt.',
     'Unable to create your category.' => 'Erstellung der Kategorie nicht möglich.',
     'Your category have been updated successfully.' => 'Kategorie erfolgreich aktualisiert.',
@@ -270,7 +267,6 @@ return array(
     'Do you really want to remove this file: "%s"?' => 'Soll diese Datei wirklich gelöscht werden: "%s"?',
     'Attachments' => 'Anhänge',
     'Edit the task' => 'Aufgabe bearbeiten',
-    'Edit the description' => 'Beschreibung bearbeiten',
     'Add a comment' => 'Kommentar hinzufügen',
     'Edit a comment' => 'Kommentar bearbeiten',
     'Summary' => 'Zusammenfassung',
@@ -368,7 +364,6 @@ return array(
     'No external authentication enabled.' => 'Es sind keine externen Authentisierungsmethoden aktiv.',
     'Password modified successfully.' => 'Passwort wurde erfolgreich geändert.',
     'Unable to change the password.' => 'Passwort konnte nicht geändert werden.',
-    'Change category for the task "%s"' => 'Kategorie der Aufgabe "%s" ändern',
     'Change category' => 'Kategorie ändern',
     '%s updated the task %s' => '%s hat die Aufgabe %s aktualisiert',
     '%s opened the task %s' => '%s hat die Aufgabe %s geöffnet',
@@ -485,7 +480,6 @@ return array(
     'Remove a swimlane' => 'Swimlane entfernen',
     'Show default swimlane' => 'Standard-Swimlane anzeigen',
     'Swimlane modification for the project "%s"' => 'Swimlane-Änderung für das Projekt "%s"',
-    'Swimlane not found.' => 'Swimlane nicht gefunden',
     'Swimlane removed successfully.' => 'Swimlane erfolgreich entfernt.',
     'Swimlanes' => 'Swimlanes',
     'Swimlane updated successfully.' => 'Swimlane erfolgreich geändert.',
@@ -1202,4 +1196,23 @@ return array(
     'Email transport' => 'E-Mail Verkehr',
     'Webhook token' => 'Webhook Token',
     'Imports' => 'Importe',
+    // 'Project tags management' => '',
+    // 'Tag created successfully.' => '',
+    // 'Unable to create this tag.' => '',
+    // 'Tag updated successfully.' => '',
+    // 'Unable to update this tag.' => '',
+    // 'Tag removed successfully.' => '',
+    // 'Unable to remove this tag.' => '',
+    // 'Global tags management' => '',
+    // 'Tags' => '',
+    // 'Tags management' => '',
+    // 'Add new tag' => '',
+    // 'Edit a tag' => '',
+    // 'Project tags' => '',
+    // 'There is no specific tag for this project at the moment.' => '',
+    // 'Tag' => '',
+    // 'Remove a tag' => '',
+    // 'Do you really want to remove this tag: "%s"?' => '',
+    // 'Global tags' => '',
+    // 'There is no global tag at the moment.' => '',
 );
-- 
cgit v1.2.3


From 53f3b2ecd304fd733998cf5182eac4b84d5b074a Mon Sep 17 00:00:00 2001
From: Busfreak <martin@middeke.de>
Date: Tue, 28 Jun 2016 13:28:13 +0200
Subject: update german translation

---
 app/Locale/de_DE/translations.php | 38 +++++++++++++++++++-------------------
 1 file changed, 19 insertions(+), 19 deletions(-)

(limited to 'app/Locale/de_DE')

diff --git a/app/Locale/de_DE/translations.php b/app/Locale/de_DE/translations.php
index 232b9f56..98be9cca 100644
--- a/app/Locale/de_DE/translations.php
+++ b/app/Locale/de_DE/translations.php
@@ -1196,23 +1196,23 @@ return array(
     'Email transport' => 'E-Mail Verkehr',
     'Webhook token' => 'Webhook Token',
     'Imports' => 'Importe',
-    // 'Project tags management' => '',
-    // 'Tag created successfully.' => '',
-    // 'Unable to create this tag.' => '',
-    // 'Tag updated successfully.' => '',
-    // 'Unable to update this tag.' => '',
-    // 'Tag removed successfully.' => '',
-    // 'Unable to remove this tag.' => '',
-    // 'Global tags management' => '',
-    // 'Tags' => '',
-    // 'Tags management' => '',
-    // 'Add new tag' => '',
-    // 'Edit a tag' => '',
-    // 'Project tags' => '',
-    // 'There is no specific tag for this project at the moment.' => '',
-    // 'Tag' => '',
-    // 'Remove a tag' => '',
-    // 'Do you really want to remove this tag: "%s"?' => '',
-    // 'Global tags' => '',
-    // 'There is no global tag at the moment.' => '',
+    'Project tags management' => 'Projektbezogenes Schlagwort-Management',
+    'Tag created successfully.' => 'Schlagwort erfolgreich erstellt.',
+    'Unable to create this tag.' => 'Das Schlagwort kann nicht erstellt werden.',
+    'Tag updated successfully.' => 'Schlagwort erfolgreich aktualisiert.',
+    'Unable to update this tag.' => 'Das Schlagwort kann nicht aktualisiert werden.',
+    'Tag removed successfully.' => 'Schlagwort erfolgreich entfernt.',
+    'Unable to remove this tag.' => 'Das Schlagwort kann nicht entfernt werden.',
+    'Global tags management' => 'Globales Schlagwort-Management',
+    'Tags' => 'Schlagworte',
+    'Tags management' => 'Schlagwort-Management',
+    'Add new tag' => 'Neues Schlagwort hinzufügen',
+    'Edit a tag' => 'Schlagwort bearbeiten',
+    'Project tags' => 'Projektbezogene Schlagwörter',
+    'There is no specific tag for this project at the moment.' => 'Es gibt zur Zeit kein spezifisches Schlagwort.',
+    'Tag' => 'Schlagwort',
+    'Remove a tag' => 'Schlagwort entfernen',
+    'Do you really want to remove this tag: "%s"?' => 'Soll dieses Schlagwort wirklich entfernt werden: "%s"?',
+    'Global tags' => 'Globale Schlagwörter',
+    'There is no global tag at the moment.' => 'Es gibt zur Zeit kein globales Schlagwort',
 );
-- 
cgit v1.2.3


From 7209b1ea7c8a174f616355a55238aa12c9c86246 Mon Sep 17 00:00:00 2001
From: Frederic Guillot <fred@kanboard.net>
Date: Sun, 3 Jul 2016 13:20:22 -0400
Subject: Sync locales

---
 app/Locale/bs_BA/translations.php      | 1 +
 app/Locale/cs_CZ/translations.php      | 1 +
 app/Locale/da_DK/translations.php      | 1 +
 app/Locale/de_DE/translations.php      | 1 +
 app/Locale/el_GR/translations.php      | 1 +
 app/Locale/es_ES/translations.php      | 1 +
 app/Locale/fi_FI/translations.php      | 1 +
 app/Locale/fr_FR/translations.php      | 1 +
 app/Locale/hu_HU/translations.php      | 1 +
 app/Locale/id_ID/translations.php      | 1 +
 app/Locale/it_IT/translations.php      | 1 +
 app/Locale/ja_JP/translations.php      | 1 +
 app/Locale/ko_KR/translations.php      | 1 +
 app/Locale/my_MY/translations.php      | 1 +
 app/Locale/nb_NO/translations.php      | 1 +
 app/Locale/nl_NL/translations.php      | 1 +
 app/Locale/pl_PL/translations.php      | 1 +
 app/Locale/pt_BR/translations.php      | 1 +
 app/Locale/pt_PT/translations.php      | 1 +
 app/Locale/ru_RU/translations.php      | 1 +
 app/Locale/sr_Latn_RS/translations.php | 1 +
 app/Locale/sv_SE/translations.php      | 1 +
 app/Locale/th_TH/translations.php      | 1 +
 app/Locale/tr_TR/translations.php      | 1 +
 app/Locale/zh_CN/translations.php      | 1 +
 25 files changed, 25 insertions(+)

(limited to 'app/Locale/de_DE')

diff --git a/app/Locale/bs_BA/translations.php b/app/Locale/bs_BA/translations.php
index 5a60829f..4213d10d 100644
--- a/app/Locale/bs_BA/translations.php
+++ b/app/Locale/bs_BA/translations.php
@@ -1215,4 +1215,5 @@ return array(
     // 'Do you really want to remove this tag: "%s"?' => '',
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
+    // 'This field cannot be empty' => '',
 );
diff --git a/app/Locale/cs_CZ/translations.php b/app/Locale/cs_CZ/translations.php
index db0fc45f..78df7ecc 100644
--- a/app/Locale/cs_CZ/translations.php
+++ b/app/Locale/cs_CZ/translations.php
@@ -1215,4 +1215,5 @@ return array(
     // 'Do you really want to remove this tag: "%s"?' => '',
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
+    // 'This field cannot be empty' => '',
 );
diff --git a/app/Locale/da_DK/translations.php b/app/Locale/da_DK/translations.php
index afe14d7f..bf595a01 100644
--- a/app/Locale/da_DK/translations.php
+++ b/app/Locale/da_DK/translations.php
@@ -1215,4 +1215,5 @@ return array(
     // 'Do you really want to remove this tag: "%s"?' => '',
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
+    // 'This field cannot be empty' => '',
 );
diff --git a/app/Locale/de_DE/translations.php b/app/Locale/de_DE/translations.php
index 98be9cca..81df4e55 100644
--- a/app/Locale/de_DE/translations.php
+++ b/app/Locale/de_DE/translations.php
@@ -1215,4 +1215,5 @@ return array(
     'Do you really want to remove this tag: "%s"?' => 'Soll dieses Schlagwort wirklich entfernt werden: "%s"?',
     'Global tags' => 'Globale Schlagwörter',
     'There is no global tag at the moment.' => 'Es gibt zur Zeit kein globales Schlagwort',
+    // 'This field cannot be empty' => '',
 );
diff --git a/app/Locale/el_GR/translations.php b/app/Locale/el_GR/translations.php
index 6454af12..d4c55040 100644
--- a/app/Locale/el_GR/translations.php
+++ b/app/Locale/el_GR/translations.php
@@ -1215,4 +1215,5 @@ return array(
     // 'Do you really want to remove this tag: "%s"?' => '',
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
+    // 'This field cannot be empty' => '',
 );
diff --git a/app/Locale/es_ES/translations.php b/app/Locale/es_ES/translations.php
index 6ba86f8f..40c9a8c0 100644
--- a/app/Locale/es_ES/translations.php
+++ b/app/Locale/es_ES/translations.php
@@ -1215,4 +1215,5 @@ return array(
     // 'Do you really want to remove this tag: "%s"?' => '',
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
+    // 'This field cannot be empty' => '',
 );
diff --git a/app/Locale/fi_FI/translations.php b/app/Locale/fi_FI/translations.php
index cb2a8d9a..58360ab0 100644
--- a/app/Locale/fi_FI/translations.php
+++ b/app/Locale/fi_FI/translations.php
@@ -1215,4 +1215,5 @@ return array(
     // 'Do you really want to remove this tag: "%s"?' => '',
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
+    // 'This field cannot be empty' => '',
 );
diff --git a/app/Locale/fr_FR/translations.php b/app/Locale/fr_FR/translations.php
index cac1c73a..8684d1e9 100644
--- a/app/Locale/fr_FR/translations.php
+++ b/app/Locale/fr_FR/translations.php
@@ -1216,4 +1216,5 @@ return array(
     'Do you really want to remove this tag: "%s"?' => 'Voulez-vous vraiment supprimer ce libellé : « %s » ?',
     'Global tags' => 'Libellés globaux',
     'There is no global tag at the moment.' => 'Il n\'y a aucun libellé global pour le moment.',
+    'This field cannot be empty' => 'Ce champ ne peut être vide',
 );
diff --git a/app/Locale/hu_HU/translations.php b/app/Locale/hu_HU/translations.php
index e032be66..c80c0a20 100644
--- a/app/Locale/hu_HU/translations.php
+++ b/app/Locale/hu_HU/translations.php
@@ -1215,4 +1215,5 @@ return array(
     // 'Do you really want to remove this tag: "%s"?' => '',
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
+    // 'This field cannot be empty' => '',
 );
diff --git a/app/Locale/id_ID/translations.php b/app/Locale/id_ID/translations.php
index 29d11b8d..d3776515 100644
--- a/app/Locale/id_ID/translations.php
+++ b/app/Locale/id_ID/translations.php
@@ -1215,4 +1215,5 @@ return array(
     // 'Do you really want to remove this tag: "%s"?' => '',
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
+    // 'This field cannot be empty' => '',
 );
diff --git a/app/Locale/it_IT/translations.php b/app/Locale/it_IT/translations.php
index c5710a4e..4ae14195 100644
--- a/app/Locale/it_IT/translations.php
+++ b/app/Locale/it_IT/translations.php
@@ -1215,4 +1215,5 @@ return array(
     // 'Do you really want to remove this tag: "%s"?' => '',
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
+    // 'This field cannot be empty' => '',
 );
diff --git a/app/Locale/ja_JP/translations.php b/app/Locale/ja_JP/translations.php
index 589917f0..692afb78 100644
--- a/app/Locale/ja_JP/translations.php
+++ b/app/Locale/ja_JP/translations.php
@@ -1215,4 +1215,5 @@ return array(
     // 'Do you really want to remove this tag: "%s"?' => '',
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
+    // 'This field cannot be empty' => '',
 );
diff --git a/app/Locale/ko_KR/translations.php b/app/Locale/ko_KR/translations.php
index 2f142b48..75d6be43 100644
--- a/app/Locale/ko_KR/translations.php
+++ b/app/Locale/ko_KR/translations.php
@@ -1215,4 +1215,5 @@ return array(
     // 'Do you really want to remove this tag: "%s"?' => '',
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
+    // 'This field cannot be empty' => '',
 );
diff --git a/app/Locale/my_MY/translations.php b/app/Locale/my_MY/translations.php
index 02fa16f8..94e94780 100644
--- a/app/Locale/my_MY/translations.php
+++ b/app/Locale/my_MY/translations.php
@@ -1215,4 +1215,5 @@ return array(
     // 'Do you really want to remove this tag: "%s"?' => '',
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
+    // 'This field cannot be empty' => '',
 );
diff --git a/app/Locale/nb_NO/translations.php b/app/Locale/nb_NO/translations.php
index 6bb30642..cfd7ba1b 100644
--- a/app/Locale/nb_NO/translations.php
+++ b/app/Locale/nb_NO/translations.php
@@ -1215,4 +1215,5 @@ return array(
     // 'Do you really want to remove this tag: "%s"?' => '',
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
+    // 'This field cannot be empty' => '',
 );
diff --git a/app/Locale/nl_NL/translations.php b/app/Locale/nl_NL/translations.php
index 8dddbe7d..69f2b862 100644
--- a/app/Locale/nl_NL/translations.php
+++ b/app/Locale/nl_NL/translations.php
@@ -1215,4 +1215,5 @@ return array(
     // 'Do you really want to remove this tag: "%s"?' => '',
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
+    // 'This field cannot be empty' => '',
 );
diff --git a/app/Locale/pl_PL/translations.php b/app/Locale/pl_PL/translations.php
index 46c3b034..7c132bbd 100644
--- a/app/Locale/pl_PL/translations.php
+++ b/app/Locale/pl_PL/translations.php
@@ -1215,4 +1215,5 @@ return array(
     // 'Do you really want to remove this tag: "%s"?' => '',
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
+    // 'This field cannot be empty' => '',
 );
diff --git a/app/Locale/pt_BR/translations.php b/app/Locale/pt_BR/translations.php
index 6a0ebd65..343915b6 100644
--- a/app/Locale/pt_BR/translations.php
+++ b/app/Locale/pt_BR/translations.php
@@ -1215,4 +1215,5 @@ return array(
     // 'Do you really want to remove this tag: "%s"?' => '',
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
+    // 'This field cannot be empty' => '',
 );
diff --git a/app/Locale/pt_PT/translations.php b/app/Locale/pt_PT/translations.php
index 2fd6c49b..d9ea27be 100644
--- a/app/Locale/pt_PT/translations.php
+++ b/app/Locale/pt_PT/translations.php
@@ -1215,4 +1215,5 @@ return array(
     'Do you really want to remove this tag: "%s"?' => 'Tem a certeza que pretende remover esta etiqueta: "%s"?',
     'Global tags' => 'Etiquetas globais',
     'There is no global tag at the moment.' => 'De momento não existe nenhuma etiqueta global.',
+    // 'This field cannot be empty' => '',
 );
diff --git a/app/Locale/ru_RU/translations.php b/app/Locale/ru_RU/translations.php
index e7b73ef0..3b5e09dc 100644
--- a/app/Locale/ru_RU/translations.php
+++ b/app/Locale/ru_RU/translations.php
@@ -1215,4 +1215,5 @@ return array(
     // 'Do you really want to remove this tag: "%s"?' => '',
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
+    // 'This field cannot be empty' => '',
 );
diff --git a/app/Locale/sr_Latn_RS/translations.php b/app/Locale/sr_Latn_RS/translations.php
index 96a463d1..00e607fd 100644
--- a/app/Locale/sr_Latn_RS/translations.php
+++ b/app/Locale/sr_Latn_RS/translations.php
@@ -1215,4 +1215,5 @@ return array(
     // 'Do you really want to remove this tag: "%s"?' => '',
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
+    // 'This field cannot be empty' => '',
 );
diff --git a/app/Locale/sv_SE/translations.php b/app/Locale/sv_SE/translations.php
index cdfb36f6..88db5d63 100644
--- a/app/Locale/sv_SE/translations.php
+++ b/app/Locale/sv_SE/translations.php
@@ -1215,4 +1215,5 @@ return array(
     // 'Do you really want to remove this tag: "%s"?' => '',
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
+    // 'This field cannot be empty' => '',
 );
diff --git a/app/Locale/th_TH/translations.php b/app/Locale/th_TH/translations.php
index fd59c003..fd35d28c 100644
--- a/app/Locale/th_TH/translations.php
+++ b/app/Locale/th_TH/translations.php
@@ -1215,4 +1215,5 @@ return array(
     // 'Do you really want to remove this tag: "%s"?' => '',
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
+    // 'This field cannot be empty' => '',
 );
diff --git a/app/Locale/tr_TR/translations.php b/app/Locale/tr_TR/translations.php
index ab888266..41e22596 100644
--- a/app/Locale/tr_TR/translations.php
+++ b/app/Locale/tr_TR/translations.php
@@ -1215,4 +1215,5 @@ return array(
     // 'Do you really want to remove this tag: "%s"?' => '',
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
+    // 'This field cannot be empty' => '',
 );
diff --git a/app/Locale/zh_CN/translations.php b/app/Locale/zh_CN/translations.php
index cafb8c55..2f456cc3 100644
--- a/app/Locale/zh_CN/translations.php
+++ b/app/Locale/zh_CN/translations.php
@@ -1215,4 +1215,5 @@ return array(
     // 'Do you really want to remove this tag: "%s"?' => '',
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
+    // 'This field cannot be empty' => '',
 );
-- 
cgit v1.2.3


From b1a85f98a66e07c301eb53857fb05617802fa5f6 Mon Sep 17 00:00:00 2001
From: Busfreak <martin@middeke.de>
Date: Mon, 4 Jul 2016 18:02:36 +0200
Subject: german translation

---
 app/Locale/de_DE/translations.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'app/Locale/de_DE')

diff --git a/app/Locale/de_DE/translations.php b/app/Locale/de_DE/translations.php
index 81df4e55..aa80f781 100644
--- a/app/Locale/de_DE/translations.php
+++ b/app/Locale/de_DE/translations.php
@@ -1215,5 +1215,5 @@ return array(
     'Do you really want to remove this tag: "%s"?' => 'Soll dieses Schlagwort wirklich entfernt werden: "%s"?',
     'Global tags' => 'Globale Schlagwörter',
     'There is no global tag at the moment.' => 'Es gibt zur Zeit kein globales Schlagwort',
-    // 'This field cannot be empty' => '',
+    'This field cannot be empty' => 'Dieses Feld kann nicht leer sein',
 );
-- 
cgit v1.2.3


From 6ccd8c11faff4a8b5209b45c140d12f94d97449b Mon Sep 17 00:00:00 2001
From: Busfreak <Busfreak@users.noreply.github.com>
Date: Tue, 5 Jul 2016 17:09:13 +0200
Subject: Hide tasks within specific columns in dashboard (#2424)

---
 app/Controller/ColumnController.php    |  4 ++--
 app/Locale/bs_BA/translations.php      |  1 +
 app/Locale/cs_CZ/translations.php      |  1 +
 app/Locale/da_DK/translations.php      |  1 +
 app/Locale/de_DE/translations.php      |  1 +
 app/Locale/el_GR/translations.php      |  1 +
 app/Locale/es_ES/translations.php      |  1 +
 app/Locale/fi_FI/translations.php      |  1 +
 app/Locale/fr_FR/translations.php      |  1 +
 app/Locale/hu_HU/translations.php      |  1 +
 app/Locale/id_ID/translations.php      |  1 +
 app/Locale/it_IT/translations.php      |  1 +
 app/Locale/ja_JP/translations.php      |  1 +
 app/Locale/ko_KR/translations.php      |  1 +
 app/Locale/my_MY/translations.php      |  1 +
 app/Locale/nb_NO/translations.php      |  1 +
 app/Locale/nl_NL/translations.php      |  1 +
 app/Locale/pl_PL/translations.php      |  1 +
 app/Locale/pt_BR/translations.php      |  1 +
 app/Locale/pt_PT/translations.php      |  1 +
 app/Locale/ru_RU/translations.php      |  1 +
 app/Locale/sr_Latn_RS/translations.php |  1 +
 app/Locale/sv_SE/translations.php      |  1 +
 app/Locale/th_TH/translations.php      |  1 +
 app/Locale/tr_TR/translations.php      |  1 +
 app/Locale/zh_CN/translations.php      |  1 +
 app/Model/ColumnModel.php              |  6 ++++--
 app/Model/TaskFinderModel.php          |  3 ++-
 app/Schema/Mysql.php                   |  7 ++++++-
 app/Schema/Postgres.php                |  7 ++++++-
 app/Schema/Sql/mysql.sql               |  1 +
 app/Schema/Sql/postgres.sql            |  1 +
 app/Schema/Sqlite.php                  |  7 ++++++-
 app/Template/column/create.php         |  2 ++
 app/Template/column/edit.php           |  2 ++
 app/Template/project_view/show.php     | 10 +++++++++-
 36 files changed, 66 insertions(+), 9 deletions(-)

(limited to 'app/Locale/de_DE')

diff --git a/app/Controller/ColumnController.php b/app/Controller/ColumnController.php
index 95fbcaaa..e3f9bfff 100644
--- a/app/Controller/ColumnController.php
+++ b/app/Controller/ColumnController.php
@@ -66,7 +66,7 @@ class ColumnController extends BaseController
         list($valid, $errors) = $this->columnValidator->validateCreation($values);
 
         if ($valid) {
-            if ($this->columnModel->create($project['id'], $values['title'], $values['task_limit'], $values['description']) !== false) {
+            if ($this->columnModel->create($project['id'], $values['title'], $values['task_limit'], $values['description'], $values['hide_in_dashboard']) !== false) {
                 $this->flash->success(t('Column created successfully.'));
                 return $this->response->redirect($this->helper->url->to('ColumnController', 'index', array('project_id' => $project['id'])), true);
             } else {
@@ -111,7 +111,7 @@ class ColumnController extends BaseController
         list($valid, $errors) = $this->columnValidator->validateModification($values);
 
         if ($valid) {
-            if ($this->columnModel->update($values['id'], $values['title'], $values['task_limit'], $values['description'])) {
+            if ($this->columnModel->update($values['id'], $values['title'], $values['task_limit'], $values['description'], $values['hide_in_dashboard']) !== false) {
                 $this->flash->success(t('Board updated successfully.'));
                 return $this->response->redirect($this->helper->url->to('ColumnController', 'index', array('project_id' => $project['id'])));
             } else {
diff --git a/app/Locale/bs_BA/translations.php b/app/Locale/bs_BA/translations.php
index 4213d10d..e3c29261 100644
--- a/app/Locale/bs_BA/translations.php
+++ b/app/Locale/bs_BA/translations.php
@@ -1216,4 +1216,5 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
+    // 'Hide tasks in this column in the Dashboard' => '',
 );
diff --git a/app/Locale/cs_CZ/translations.php b/app/Locale/cs_CZ/translations.php
index 78df7ecc..ce66eee5 100644
--- a/app/Locale/cs_CZ/translations.php
+++ b/app/Locale/cs_CZ/translations.php
@@ -1216,4 +1216,5 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
+    // 'Hide tasks in this column in the Dashboard' => '',
 );
diff --git a/app/Locale/da_DK/translations.php b/app/Locale/da_DK/translations.php
index bf595a01..f9bc0031 100644
--- a/app/Locale/da_DK/translations.php
+++ b/app/Locale/da_DK/translations.php
@@ -1216,4 +1216,5 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
+    // 'Hide tasks in this column in the Dashboard' => '',
 );
diff --git a/app/Locale/de_DE/translations.php b/app/Locale/de_DE/translations.php
index aa80f781..d3192f46 100644
--- a/app/Locale/de_DE/translations.php
+++ b/app/Locale/de_DE/translations.php
@@ -1216,4 +1216,5 @@ return array(
     'Global tags' => 'Globale Schlagwörter',
     'There is no global tag at the moment.' => 'Es gibt zur Zeit kein globales Schlagwort',
     'This field cannot be empty' => 'Dieses Feld kann nicht leer sein',
+    'Hide tasks in this column in the Dashboard' => 'Aufgaben in dieser Spalte im Dashboard ausblenden',
 );
diff --git a/app/Locale/el_GR/translations.php b/app/Locale/el_GR/translations.php
index d4c55040..745acaea 100644
--- a/app/Locale/el_GR/translations.php
+++ b/app/Locale/el_GR/translations.php
@@ -1216,4 +1216,5 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
+    // 'Hide tasks in this column in the Dashboard' => '',
 );
diff --git a/app/Locale/es_ES/translations.php b/app/Locale/es_ES/translations.php
index 40c9a8c0..604a5e3e 100644
--- a/app/Locale/es_ES/translations.php
+++ b/app/Locale/es_ES/translations.php
@@ -1216,4 +1216,5 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
+    // 'Hide tasks in this column in the Dashboard' => '',
 );
diff --git a/app/Locale/fi_FI/translations.php b/app/Locale/fi_FI/translations.php
index 58360ab0..73b65463 100644
--- a/app/Locale/fi_FI/translations.php
+++ b/app/Locale/fi_FI/translations.php
@@ -1216,4 +1216,5 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
+    // 'Hide tasks in this column in the Dashboard' => '',
 );
diff --git a/app/Locale/fr_FR/translations.php b/app/Locale/fr_FR/translations.php
index 8684d1e9..9431846d 100644
--- a/app/Locale/fr_FR/translations.php
+++ b/app/Locale/fr_FR/translations.php
@@ -1217,4 +1217,5 @@ return array(
     'Global tags' => 'Libellés globaux',
     'There is no global tag at the moment.' => 'Il n\'y a aucun libellé global pour le moment.',
     'This field cannot be empty' => 'Ce champ ne peut être vide',
+    // 'Hide tasks in this column in the Dashboard' => '',
 );
diff --git a/app/Locale/hu_HU/translations.php b/app/Locale/hu_HU/translations.php
index c80c0a20..9acdbd1a 100644
--- a/app/Locale/hu_HU/translations.php
+++ b/app/Locale/hu_HU/translations.php
@@ -1216,4 +1216,5 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
+    // 'Hide tasks in this column in the Dashboard' => '',
 );
diff --git a/app/Locale/id_ID/translations.php b/app/Locale/id_ID/translations.php
index d3776515..d8c42cf4 100644
--- a/app/Locale/id_ID/translations.php
+++ b/app/Locale/id_ID/translations.php
@@ -1216,4 +1216,5 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
+    // 'Hide tasks in this column in the Dashboard' => '',
 );
diff --git a/app/Locale/it_IT/translations.php b/app/Locale/it_IT/translations.php
index 3d02201c..9d2af814 100644
--- a/app/Locale/it_IT/translations.php
+++ b/app/Locale/it_IT/translations.php
@@ -1216,4 +1216,5 @@ return array(
     'Global tags' => 'Tag globali',
     'There is no global tag at the moment.' => 'Non sono definiti tag globali al momento.',
     'This field cannot be empty' => 'Questo campo non può essere vuoto',
+    // 'Hide tasks in this column in the Dashboard' => '',
 );
diff --git a/app/Locale/ja_JP/translations.php b/app/Locale/ja_JP/translations.php
index 692afb78..9f6ab88f 100644
--- a/app/Locale/ja_JP/translations.php
+++ b/app/Locale/ja_JP/translations.php
@@ -1216,4 +1216,5 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
+    // 'Hide tasks in this column in the Dashboard' => '',
 );
diff --git a/app/Locale/ko_KR/translations.php b/app/Locale/ko_KR/translations.php
index 75d6be43..f48b7486 100644
--- a/app/Locale/ko_KR/translations.php
+++ b/app/Locale/ko_KR/translations.php
@@ -1216,4 +1216,5 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
+    // 'Hide tasks in this column in the Dashboard' => '',
 );
diff --git a/app/Locale/my_MY/translations.php b/app/Locale/my_MY/translations.php
index 94e94780..bad6d919 100644
--- a/app/Locale/my_MY/translations.php
+++ b/app/Locale/my_MY/translations.php
@@ -1216,4 +1216,5 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
+    // 'Hide tasks in this column in the Dashboard' => '',
 );
diff --git a/app/Locale/nb_NO/translations.php b/app/Locale/nb_NO/translations.php
index cfd7ba1b..19372419 100644
--- a/app/Locale/nb_NO/translations.php
+++ b/app/Locale/nb_NO/translations.php
@@ -1216,4 +1216,5 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
+    // 'Hide tasks in this column in the Dashboard' => '',
 );
diff --git a/app/Locale/nl_NL/translations.php b/app/Locale/nl_NL/translations.php
index 69f2b862..8ba0d394 100644
--- a/app/Locale/nl_NL/translations.php
+++ b/app/Locale/nl_NL/translations.php
@@ -1216,4 +1216,5 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
+    //' Hide tasks in this column in the Dashboard' => '',
 );
diff --git a/app/Locale/pl_PL/translations.php b/app/Locale/pl_PL/translations.php
index 7c132bbd..09c247d8 100644
--- a/app/Locale/pl_PL/translations.php
+++ b/app/Locale/pl_PL/translations.php
@@ -1216,4 +1216,5 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
+    // 'Hide tasks in this column in the Dashboard' => '',
 );
diff --git a/app/Locale/pt_BR/translations.php b/app/Locale/pt_BR/translations.php
index 343915b6..7659ba2b 100644
--- a/app/Locale/pt_BR/translations.php
+++ b/app/Locale/pt_BR/translations.php
@@ -1216,4 +1216,5 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
+    // 'Hide tasks in this column in the Dashboard' => '',
 );
diff --git a/app/Locale/pt_PT/translations.php b/app/Locale/pt_PT/translations.php
index d9ea27be..1f9a7030 100644
--- a/app/Locale/pt_PT/translations.php
+++ b/app/Locale/pt_PT/translations.php
@@ -1216,4 +1216,5 @@ return array(
     'Global tags' => 'Etiquetas globais',
     'There is no global tag at the moment.' => 'De momento não existe nenhuma etiqueta global.',
     // 'This field cannot be empty' => '',
+    //'Hide tasks in this column in the Dashboard' => '',
 );
diff --git a/app/Locale/ru_RU/translations.php b/app/Locale/ru_RU/translations.php
index 8e9fb7f1..5b182dbf 100644
--- a/app/Locale/ru_RU/translations.php
+++ b/app/Locale/ru_RU/translations.php
@@ -1216,4 +1216,5 @@ return array(
     'Global tags' => 'Глобальные метка',
     'There is no global tag at the moment.' => 'Нет глобальных меток.',
     'This field cannot be empty' => 'Это поле не может быть пустым',
+    // 'Hide tasks in this column in the Dashboard' => '',
 );
diff --git a/app/Locale/sr_Latn_RS/translations.php b/app/Locale/sr_Latn_RS/translations.php
index 00e607fd..7aec7142 100644
--- a/app/Locale/sr_Latn_RS/translations.php
+++ b/app/Locale/sr_Latn_RS/translations.php
@@ -1216,4 +1216,5 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
+    // 'Hide tasks in this column in the Dashboard' => '',
 );
diff --git a/app/Locale/sv_SE/translations.php b/app/Locale/sv_SE/translations.php
index 88db5d63..bce1ccfb 100644
--- a/app/Locale/sv_SE/translations.php
+++ b/app/Locale/sv_SE/translations.php
@@ -1216,4 +1216,5 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
+    // 'Hide tasks in this column in the Dashboard' => '',
 );
diff --git a/app/Locale/th_TH/translations.php b/app/Locale/th_TH/translations.php
index fd35d28c..48a0b3de 100644
--- a/app/Locale/th_TH/translations.php
+++ b/app/Locale/th_TH/translations.php
@@ -1216,4 +1216,5 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
+    // 'Hide tasks in this column in the Dashboard' => '',
 );
diff --git a/app/Locale/tr_TR/translations.php b/app/Locale/tr_TR/translations.php
index 41e22596..b25ef122 100644
--- a/app/Locale/tr_TR/translations.php
+++ b/app/Locale/tr_TR/translations.php
@@ -1216,4 +1216,5 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
+    // 'Hide tasks in this column in the Dashboard' => '',
 );
diff --git a/app/Locale/zh_CN/translations.php b/app/Locale/zh_CN/translations.php
index 2f456cc3..d000b706 100644
--- a/app/Locale/zh_CN/translations.php
+++ b/app/Locale/zh_CN/translations.php
@@ -1216,4 +1216,5 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
+    // 'Hide tasks in this column in the Dashboard' => '',
 );
diff --git a/app/Model/ColumnModel.php b/app/Model/ColumnModel.php
index 795fe692..0a9c55a8 100644
--- a/app/Model/ColumnModel.php
+++ b/app/Model/ColumnModel.php
@@ -144,13 +144,14 @@ class ColumnModel extends Base
      * @param  string    $description   Column description
      * @return boolean|integer
      */
-    public function create($project_id, $title, $task_limit = 0, $description = '')
+    public function create($project_id, $title, $task_limit = 0, $description = '', $hide_in_dashboard = 0)
     {
         $values = array(
             'project_id' => $project_id,
             'title' => $title,
             'task_limit' => intval($task_limit),
             'position' => $this->getLastColumnPosition($project_id) + 1,
+            'hide_in_dashboard' => $hide_in_dashboard,
             'description' => $description,
         );
 
@@ -167,11 +168,12 @@ class ColumnModel extends Base
      * @param  string    $description   Optional description
      * @return boolean
      */
-    public function update($column_id, $title, $task_limit = 0, $description = '')
+    public function update($column_id, $title, $task_limit = 0, $description = '', $hide_in_dashboard = 0)
     {
         return $this->db->table(self::TABLE)->eq('id', $column_id)->update(array(
             'title' => $title,
             'task_limit' => intval($task_limit),
+            'hide_in_dashboard' => $hide_in_dashboard,
             'description' => $description,
         ));
     }
diff --git a/app/Model/TaskFinderModel.php b/app/Model/TaskFinderModel.php
index 0e8585ea..7268052c 100644
--- a/app/Model/TaskFinderModel.php
+++ b/app/Model/TaskFinderModel.php
@@ -81,7 +81,8 @@ class TaskFinderModel extends Base
                     ->join(ColumnModel::TABLE, 'id', 'column_id')
                     ->eq(TaskModel::TABLE.'.owner_id', $user_id)
                     ->eq(TaskModel::TABLE.'.is_active', TaskModel::STATUS_OPEN)
-                    ->eq(ProjectModel::TABLE.'.is_active', ProjectModel::ACTIVE);
+                    ->eq(ProjectModel::TABLE.'.is_active', ProjectModel::ACTIVE)
+                    ->eq(ColumnModel::TABLE.'.hide_in_dashboard', 0);
     }
 
     /**
diff --git a/app/Schema/Mysql.php b/app/Schema/Mysql.php
index 82ccb8c8..99fed66f 100644
--- a/app/Schema/Mysql.php
+++ b/app/Schema/Mysql.php
@@ -6,7 +6,12 @@ use PDO;
 use Kanboard\Core\Security\Token;
 use Kanboard\Core\Security\Role;
 
-const VERSION = 111;
+const VERSION = 112;
+
+function version_112(PDO $pdo)
+{
+    $pdo->exec('ALTER TABLE columns ADD COLUMN hide_in_dashboard INT DEFAULT 0 NOT NULL');
+}
 
 function version_111(PDO $pdo)
 {
diff --git a/app/Schema/Postgres.php b/app/Schema/Postgres.php
index 229cbd25..b982bcae 100644
--- a/app/Schema/Postgres.php
+++ b/app/Schema/Postgres.php
@@ -6,7 +6,12 @@ use PDO;
 use Kanboard\Core\Security\Token;
 use Kanboard\Core\Security\Role;
 
-const VERSION = 90;
+const VERSION = 91;
+
+function version_91(PDO $pdo)
+{
+    $pdo->exec("ALTER TABLE columns ADD COLUMN hide_in_dashboard BOOLEAN DEFAULT '0'");
+}
 
 function version_90(PDO $pdo)
 {
diff --git a/app/Schema/Sql/mysql.sql b/app/Schema/Sql/mysql.sql
index 9583989d..8d2f2dc0 100644
--- a/app/Schema/Sql/mysql.sql
+++ b/app/Schema/Sql/mysql.sql
@@ -44,6 +44,7 @@ CREATE TABLE `columns` (
   `position` int(11) NOT NULL,
   `project_id` int(11) NOT NULL,
   `task_limit` int(11) DEFAULT '0',
+  `hide_in_dashboard` int(11) DEFAULT '0',
   `description` text,
   PRIMARY KEY (`id`),
   UNIQUE KEY `idx_title_project` (`title`,`project_id`),
diff --git a/app/Schema/Sql/postgres.sql b/app/Schema/Sql/postgres.sql
index 94239054..ae8b4fd5 100644
--- a/app/Schema/Sql/postgres.sql
+++ b/app/Schema/Sql/postgres.sql
@@ -98,6 +98,7 @@ CREATE TABLE "columns" (
     "position" integer,
     "project_id" integer NOT NULL,
     "task_limit" integer DEFAULT 0,
+    "hide_in_dashboard" integer DEFAULT 0,
     "description" "text"
 );
 
diff --git a/app/Schema/Sqlite.php b/app/Schema/Sqlite.php
index dac348d4..2a7735ee 100644
--- a/app/Schema/Sqlite.php
+++ b/app/Schema/Sqlite.php
@@ -6,7 +6,12 @@ use Kanboard\Core\Security\Token;
 use Kanboard\Core\Security\Role;
 use PDO;
 
-const VERSION = 102;
+const VERSION = 103;
+
+function version_103(PDO $pdo)
+{
+    $pdo->exec("ALTER TABLE columns ADD COLUMN hide_in_dashboard INTEGER DEFAULT 0 NOT NULL");
+}
 
 function version_102(PDO $pdo)
 {
diff --git a/app/Template/column/create.php b/app/Template/column/create.php
index 023de525..387b6a47 100644
--- a/app/Template/column/create.php
+++ b/app/Template/column/create.php
@@ -13,6 +13,8 @@
     <?= $this->form->label(t('Task limit'), 'task_limit') ?>
     <?= $this->form->number('task_limit', $values, $errors) ?>
 
+    <?= $this->form->checkbox('hide_in_dashboard', t('Hide tasks in this column in the Dashboard'), 1) ?>
+
     <?= $this->form->label(t('Description'), 'description') ?>
     <?= $this->form->textarea('description', $values, $errors, array(), 'markdown-editor') ?>
 
diff --git a/app/Template/column/edit.php b/app/Template/column/edit.php
index a742e4b9..abd70119 100644
--- a/app/Template/column/edit.php
+++ b/app/Template/column/edit.php
@@ -15,6 +15,8 @@
     <?= $this->form->label(t('Task limit'), 'task_limit') ?>
     <?= $this->form->number('task_limit', $values, $errors) ?>
 
+    <?= $this->form->checkbox('hide_in_dashboard', t('Hide tasks in this column in the Dashboard'), 1, $values['hide_in_dashboard'] == 1) ?>
+
     <?= $this->form->label(t('Description'), 'description') ?>
     <?= $this->form->textarea('description', $values, $errors, array(), 'markdown-editor') ?>
 
diff --git a/app/Template/project_view/show.php b/app/Template/project_view/show.php
index 5efe8ce6..0ad8852b 100644
--- a/app/Template/project_view/show.php
+++ b/app/Template/project_view/show.php
@@ -54,9 +54,10 @@
 </div>
 <table class="table-stripped">
     <tr>
-        <th class="column-60"><?= t('Column') ?></th>
+        <th class="column-40"><?= t('Column') ?></th>
         <th class="column-20"><?= t('Task limit') ?></th>
         <th class="column-20"><?= t('Active tasks') ?></th>
+        <th class="column-20"><?= t('Hide tasks in this column in the Dashboard') ?></th>
     </tr>
     <?php foreach ($stats['columns'] as $column): ?>
     <tr>
@@ -70,6 +71,13 @@
         </td>
         <td><?= $column['task_limit'] ?: '∞' ?></td>
         <td><?= $column['nb_active_tasks'] ?></td>
+        <td>
+        <?php if ($column['hide_in_dashboard'] == 1): ?>
+            <?= t('Yes') ?>
+        <?php else: ?>
+            <?= t('No') ?>
+        <?php endif ?>
+        </td>
     </tr>
     <?php endforeach ?>
 </table>
-- 
cgit v1.2.3


From 397988dd8ddeefa57da085c7cc5ac9231c33370b Mon Sep 17 00:00:00 2001
From: Frederic Guillot <fred@kanboard.net>
Date: Sat, 9 Jul 2016 14:51:39 -0400
Subject: Fix a couple of bugs in PR #2424

---
 app/Controller/ColumnController.php       |  20 ++++-
 app/Locale/bs_BA/translations.php         |   2 +-
 app/Locale/cs_CZ/translations.php         |   2 +-
 app/Locale/da_DK/translations.php         |   2 +-
 app/Locale/de_DE/translations.php         |   2 +-
 app/Locale/el_GR/translations.php         |   2 +-
 app/Locale/es_ES/translations.php         |   2 +-
 app/Locale/fi_FI/translations.php         |   2 +-
 app/Locale/fr_FR/translations.php         |   2 +-
 app/Locale/hu_HU/translations.php         |   2 +-
 app/Locale/id_ID/translations.php         |   2 +-
 app/Locale/it_IT/translations.php         |   2 +-
 app/Locale/ja_JP/translations.php         |   2 +-
 app/Locale/ko_KR/translations.php         |   2 +-
 app/Locale/my_MY/translations.php         |   2 +-
 app/Locale/nb_NO/translations.php         |   2 +-
 app/Locale/nl_NL/translations.php         |   2 +-
 app/Locale/pl_PL/translations.php         |   2 +-
 app/Locale/pt_BR/translations.php         |   2 +-
 app/Locale/pt_PT/translations.php         |   2 +-
 app/Locale/ru_RU/translations.php         |   2 +-
 app/Locale/sr_Latn_RS/translations.php    |   2 +-
 app/Locale/sv_SE/translations.php         |   2 +-
 app/Locale/th_TH/translations.php         |   2 +-
 app/Locale/tr_TR/translations.php         |   2 +-
 app/Locale/zh_CN/translations.php         |   2 +-
 app/Model/ColumnModel.php                 |  12 +--
 app/Schema/Sql/mysql.sql                  |   4 +-
 app/Schema/Sql/postgres.sql               |  10 +--
 app/Template/column/create.php            |   2 +-
 app/Template/column/edit.php              |   2 +-
 app/Template/project_view/show.php        |   2 +-
 tests/units/Model/TaskFinderModelTest.php | 142 ++++++++++++++++++++++++++++++
 tests/units/Model/TaskFinderTest.php      | 115 ------------------------
 34 files changed, 202 insertions(+), 157 deletions(-)
 create mode 100644 tests/units/Model/TaskFinderModelTest.php
 delete mode 100644 tests/units/Model/TaskFinderTest.php

(limited to 'app/Locale/de_DE')

diff --git a/app/Controller/ColumnController.php b/app/Controller/ColumnController.php
index e3f9bfff..d3f0e36e 100644
--- a/app/Controller/ColumnController.php
+++ b/app/Controller/ColumnController.php
@@ -66,7 +66,15 @@ class ColumnController extends BaseController
         list($valid, $errors) = $this->columnValidator->validateCreation($values);
 
         if ($valid) {
-            if ($this->columnModel->create($project['id'], $values['title'], $values['task_limit'], $values['description'], $values['hide_in_dashboard']) !== false) {
+            $result = $this->columnModel->create(
+                $project['id'],
+                $values['title'],
+                $values['task_limit'],
+                $values['description'],
+                isset($values['hide_in_dashboard']) ? $values['hide_in_dashboard'] : 0
+            );
+
+            if ($result !== false) {
                 $this->flash->success(t('Column created successfully.'));
                 return $this->response->redirect($this->helper->url->to('ColumnController', 'index', array('project_id' => $project['id'])), true);
             } else {
@@ -111,7 +119,15 @@ class ColumnController extends BaseController
         list($valid, $errors) = $this->columnValidator->validateModification($values);
 
         if ($valid) {
-            if ($this->columnModel->update($values['id'], $values['title'], $values['task_limit'], $values['description'], $values['hide_in_dashboard']) !== false) {
+            $result = $this->columnModel->update(
+                $values['id'],
+                $values['title'],
+                $values['task_limit'],
+                $values['description'],
+                isset($values['hide_in_dashboard']) ? $values['hide_in_dashboard'] : 0
+            );
+
+            if ($result) {
                 $this->flash->success(t('Board updated successfully.'));
                 return $this->response->redirect($this->helper->url->to('ColumnController', 'index', array('project_id' => $project['id'])));
             } else {
diff --git a/app/Locale/bs_BA/translations.php b/app/Locale/bs_BA/translations.php
index e3c29261..5f513347 100644
--- a/app/Locale/bs_BA/translations.php
+++ b/app/Locale/bs_BA/translations.php
@@ -1216,5 +1216,5 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
-    // 'Hide tasks in this column in the Dashboard' => '',
+    // 'Hide tasks in this column in the dashboard' => '',
 );
diff --git a/app/Locale/cs_CZ/translations.php b/app/Locale/cs_CZ/translations.php
index ce66eee5..1c28f4f9 100644
--- a/app/Locale/cs_CZ/translations.php
+++ b/app/Locale/cs_CZ/translations.php
@@ -1216,5 +1216,5 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
-    // 'Hide tasks in this column in the Dashboard' => '',
+    // 'Hide tasks in this column in the dashboard' => '',
 );
diff --git a/app/Locale/da_DK/translations.php b/app/Locale/da_DK/translations.php
index f9bc0031..abebd394 100644
--- a/app/Locale/da_DK/translations.php
+++ b/app/Locale/da_DK/translations.php
@@ -1216,5 +1216,5 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
-    // 'Hide tasks in this column in the Dashboard' => '',
+    // 'Hide tasks in this column in the dashboard' => '',
 );
diff --git a/app/Locale/de_DE/translations.php b/app/Locale/de_DE/translations.php
index d3192f46..f569206b 100644
--- a/app/Locale/de_DE/translations.php
+++ b/app/Locale/de_DE/translations.php
@@ -1216,5 +1216,5 @@ return array(
     'Global tags' => 'Globale Schlagwörter',
     'There is no global tag at the moment.' => 'Es gibt zur Zeit kein globales Schlagwort',
     'This field cannot be empty' => 'Dieses Feld kann nicht leer sein',
-    'Hide tasks in this column in the Dashboard' => 'Aufgaben in dieser Spalte im Dashboard ausblenden',
+    'Hide tasks in this column in the dashboard' => 'Aufgaben in dieser Spalte im Dashboard ausblenden',
 );
diff --git a/app/Locale/el_GR/translations.php b/app/Locale/el_GR/translations.php
index 745acaea..c1d7c579 100644
--- a/app/Locale/el_GR/translations.php
+++ b/app/Locale/el_GR/translations.php
@@ -1216,5 +1216,5 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
-    // 'Hide tasks in this column in the Dashboard' => '',
+    // 'Hide tasks in this column in the dashboard' => '',
 );
diff --git a/app/Locale/es_ES/translations.php b/app/Locale/es_ES/translations.php
index 604a5e3e..5699ce6f 100644
--- a/app/Locale/es_ES/translations.php
+++ b/app/Locale/es_ES/translations.php
@@ -1216,5 +1216,5 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
-    // 'Hide tasks in this column in the Dashboard' => '',
+    // 'Hide tasks in this column in the dashboard' => '',
 );
diff --git a/app/Locale/fi_FI/translations.php b/app/Locale/fi_FI/translations.php
index 73b65463..6fe4852c 100644
--- a/app/Locale/fi_FI/translations.php
+++ b/app/Locale/fi_FI/translations.php
@@ -1216,5 +1216,5 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
-    // 'Hide tasks in this column in the Dashboard' => '',
+    // 'Hide tasks in this column in the dashboard' => '',
 );
diff --git a/app/Locale/fr_FR/translations.php b/app/Locale/fr_FR/translations.php
index e3ee8a4b..7663da0f 100644
--- a/app/Locale/fr_FR/translations.php
+++ b/app/Locale/fr_FR/translations.php
@@ -1217,5 +1217,5 @@ return array(
     'Global tags' => 'Libellés globaux',
     'There is no global tag at the moment.' => 'Il n\'y a aucun libellé global pour le moment.',
     'This field cannot be empty' => 'Ce champ ne peut être vide',
-    // 'Hide tasks in this column in the Dashboard' => '',
+    // 'Hide tasks in this column in the dashboard' => '',
 );
diff --git a/app/Locale/hu_HU/translations.php b/app/Locale/hu_HU/translations.php
index 9acdbd1a..96db72ef 100644
--- a/app/Locale/hu_HU/translations.php
+++ b/app/Locale/hu_HU/translations.php
@@ -1216,5 +1216,5 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
-    // 'Hide tasks in this column in the Dashboard' => '',
+    // 'Hide tasks in this column in the dashboard' => '',
 );
diff --git a/app/Locale/id_ID/translations.php b/app/Locale/id_ID/translations.php
index d8c42cf4..2d6e5aa3 100644
--- a/app/Locale/id_ID/translations.php
+++ b/app/Locale/id_ID/translations.php
@@ -1216,5 +1216,5 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
-    // 'Hide tasks in this column in the Dashboard' => '',
+    // 'Hide tasks in this column in the dashboard' => '',
 );
diff --git a/app/Locale/it_IT/translations.php b/app/Locale/it_IT/translations.php
index 9d2af814..e10b61da 100644
--- a/app/Locale/it_IT/translations.php
+++ b/app/Locale/it_IT/translations.php
@@ -1216,5 +1216,5 @@ return array(
     'Global tags' => 'Tag globali',
     'There is no global tag at the moment.' => 'Non sono definiti tag globali al momento.',
     'This field cannot be empty' => 'Questo campo non può essere vuoto',
-    // 'Hide tasks in this column in the Dashboard' => '',
+    // 'Hide tasks in this column in the dashboard' => '',
 );
diff --git a/app/Locale/ja_JP/translations.php b/app/Locale/ja_JP/translations.php
index 9f6ab88f..2fe13ac9 100644
--- a/app/Locale/ja_JP/translations.php
+++ b/app/Locale/ja_JP/translations.php
@@ -1216,5 +1216,5 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
-    // 'Hide tasks in this column in the Dashboard' => '',
+    // 'Hide tasks in this column in the dashboard' => '',
 );
diff --git a/app/Locale/ko_KR/translations.php b/app/Locale/ko_KR/translations.php
index f48b7486..bd25d11f 100644
--- a/app/Locale/ko_KR/translations.php
+++ b/app/Locale/ko_KR/translations.php
@@ -1216,5 +1216,5 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
-    // 'Hide tasks in this column in the Dashboard' => '',
+    // 'Hide tasks in this column in the dashboard' => '',
 );
diff --git a/app/Locale/my_MY/translations.php b/app/Locale/my_MY/translations.php
index bad6d919..ff8960aa 100644
--- a/app/Locale/my_MY/translations.php
+++ b/app/Locale/my_MY/translations.php
@@ -1216,5 +1216,5 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
-    // 'Hide tasks in this column in the Dashboard' => '',
+    // 'Hide tasks in this column in the dashboard' => '',
 );
diff --git a/app/Locale/nb_NO/translations.php b/app/Locale/nb_NO/translations.php
index 19372419..8752a159 100644
--- a/app/Locale/nb_NO/translations.php
+++ b/app/Locale/nb_NO/translations.php
@@ -1216,5 +1216,5 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
-    // 'Hide tasks in this column in the Dashboard' => '',
+    // 'Hide tasks in this column in the dashboard' => '',
 );
diff --git a/app/Locale/nl_NL/translations.php b/app/Locale/nl_NL/translations.php
index 8ba0d394..e07ea32c 100644
--- a/app/Locale/nl_NL/translations.php
+++ b/app/Locale/nl_NL/translations.php
@@ -1216,5 +1216,5 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
-    //' Hide tasks in this column in the Dashboard' => '',
+    //' Hide tasks in this column in the dashboard' => '',
 );
diff --git a/app/Locale/pl_PL/translations.php b/app/Locale/pl_PL/translations.php
index 09c247d8..896d2ed4 100644
--- a/app/Locale/pl_PL/translations.php
+++ b/app/Locale/pl_PL/translations.php
@@ -1216,5 +1216,5 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
-    // 'Hide tasks in this column in the Dashboard' => '',
+    // 'Hide tasks in this column in the dashboard' => '',
 );
diff --git a/app/Locale/pt_BR/translations.php b/app/Locale/pt_BR/translations.php
index 7659ba2b..40f3bb4d 100644
--- a/app/Locale/pt_BR/translations.php
+++ b/app/Locale/pt_BR/translations.php
@@ -1216,5 +1216,5 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
-    // 'Hide tasks in this column in the Dashboard' => '',
+    // 'Hide tasks in this column in the dashboard' => '',
 );
diff --git a/app/Locale/pt_PT/translations.php b/app/Locale/pt_PT/translations.php
index 1f9a7030..08375ad0 100644
--- a/app/Locale/pt_PT/translations.php
+++ b/app/Locale/pt_PT/translations.php
@@ -1216,5 +1216,5 @@ return array(
     'Global tags' => 'Etiquetas globais',
     'There is no global tag at the moment.' => 'De momento não existe nenhuma etiqueta global.',
     // 'This field cannot be empty' => '',
-    //'Hide tasks in this column in the Dashboard' => '',
+    //'Hide tasks in this column in the dashboard' => '',
 );
diff --git a/app/Locale/ru_RU/translations.php b/app/Locale/ru_RU/translations.php
index fe950172..c6285f6a 100644
--- a/app/Locale/ru_RU/translations.php
+++ b/app/Locale/ru_RU/translations.php
@@ -1216,5 +1216,5 @@ return array(
     'Global tags' => 'Глобальные метка',
     'There is no global tag at the moment.' => 'Нет глобальных меток.',
     'This field cannot be empty' => 'Это поле не может быть пустым',
-    'Hide tasks in this column in the Dashboard' => 'Не показывать задачи из этой колонки в кабинете',
+    'Hide tasks in this column in the dashboard' => 'Не показывать задачи из этой колонки в кабинете',
 );
diff --git a/app/Locale/sr_Latn_RS/translations.php b/app/Locale/sr_Latn_RS/translations.php
index 7aec7142..92ed3424 100644
--- a/app/Locale/sr_Latn_RS/translations.php
+++ b/app/Locale/sr_Latn_RS/translations.php
@@ -1216,5 +1216,5 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
-    // 'Hide tasks in this column in the Dashboard' => '',
+    // 'Hide tasks in this column in the dashboard' => '',
 );
diff --git a/app/Locale/sv_SE/translations.php b/app/Locale/sv_SE/translations.php
index bce1ccfb..eedcf0fc 100644
--- a/app/Locale/sv_SE/translations.php
+++ b/app/Locale/sv_SE/translations.php
@@ -1216,5 +1216,5 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
-    // 'Hide tasks in this column in the Dashboard' => '',
+    // 'Hide tasks in this column in the dashboard' => '',
 );
diff --git a/app/Locale/th_TH/translations.php b/app/Locale/th_TH/translations.php
index 48a0b3de..a6de8bce 100644
--- a/app/Locale/th_TH/translations.php
+++ b/app/Locale/th_TH/translations.php
@@ -1216,5 +1216,5 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
-    // 'Hide tasks in this column in the Dashboard' => '',
+    // 'Hide tasks in this column in the dashboard' => '',
 );
diff --git a/app/Locale/tr_TR/translations.php b/app/Locale/tr_TR/translations.php
index b25ef122..35e29649 100644
--- a/app/Locale/tr_TR/translations.php
+++ b/app/Locale/tr_TR/translations.php
@@ -1216,5 +1216,5 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
-    // 'Hide tasks in this column in the Dashboard' => '',
+    // 'Hide tasks in this column in the dashboard' => '',
 );
diff --git a/app/Locale/zh_CN/translations.php b/app/Locale/zh_CN/translations.php
index d000b706..0ef01ef7 100644
--- a/app/Locale/zh_CN/translations.php
+++ b/app/Locale/zh_CN/translations.php
@@ -1216,5 +1216,5 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
-    // 'Hide tasks in this column in the Dashboard' => '',
+    // 'Hide tasks in this column in the dashboard' => '',
 );
diff --git a/app/Model/ColumnModel.php b/app/Model/ColumnModel.php
index 0a9c55a8..5498ef54 100644
--- a/app/Model/ColumnModel.php
+++ b/app/Model/ColumnModel.php
@@ -138,11 +138,12 @@ class ColumnModel extends Base
      * Add a new column to the board
      *
      * @access public
-     * @param  integer   $project_id    Project id
-     * @param  string    $title         Column title
-     * @param  integer   $task_limit    Task limit
-     * @param  string    $description   Column description
-     * @return boolean|integer
+     * @param  integer $project_id  Project id
+     * @param  string  $title       Column title
+     * @param  integer $task_limit  Task limit
+     * @param  string  $description Column description
+     * @param  integer $hide_in_dashboard
+     * @return bool|int
      */
     public function create($project_id, $title, $task_limit = 0, $description = '', $hide_in_dashboard = 0)
     {
@@ -166,6 +167,7 @@ class ColumnModel extends Base
      * @param  string    $title         Column title
      * @param  integer   $task_limit    Task limit
      * @param  string    $description   Optional description
+     * @param  integer   $hide_in_dashboard
      * @return boolean
      */
     public function update($column_id, $title, $task_limit = 0, $description = '', $hide_in_dashboard = 0)
diff --git a/app/Schema/Sql/mysql.sql b/app/Schema/Sql/mysql.sql
index 8d2f2dc0..67dd170a 100644
--- a/app/Schema/Sql/mysql.sql
+++ b/app/Schema/Sql/mysql.sql
@@ -44,8 +44,8 @@ CREATE TABLE `columns` (
   `position` int(11) NOT NULL,
   `project_id` int(11) NOT NULL,
   `task_limit` int(11) DEFAULT '0',
-  `hide_in_dashboard` int(11) DEFAULT '0',
   `description` text,
+  `hide_in_dashboard` int(11) NOT NULL DEFAULT '0',
   PRIMARY KEY (`id`),
   UNIQUE KEY `idx_title_project` (`title`,`project_id`),
   KEY `columns_project_idx` (`project_id`),
@@ -700,4 +700,4 @@ UNLOCK TABLES;
 /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
 /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
 
-INSERT INTO users (username, password, role) VALUES ('admin', '$2y$10$Kv6fus67I/ZG/3LYJ7bRLeis8bk8455Lwtu12ElgnGm3lhRs/z7Ni', 'app-admin');INSERT INTO schema_version VALUES ('111');
+INSERT INTO users (username, password, role) VALUES ('admin', '$2y$10$g28mYPBdsf3/gX/ayd7A8.HSPBRQ/zM/PXlfijelJhXwhnukCRIDi', 'app-admin');INSERT INTO schema_version VALUES ('112');
diff --git a/app/Schema/Sql/postgres.sql b/app/Schema/Sql/postgres.sql
index ae8b4fd5..5b4142b7 100644
--- a/app/Schema/Sql/postgres.sql
+++ b/app/Schema/Sql/postgres.sql
@@ -98,8 +98,8 @@ CREATE TABLE "columns" (
     "position" integer,
     "project_id" integer NOT NULL,
     "task_limit" integer DEFAULT 0,
-    "hide_in_dashboard" integer DEFAULT 0,
-    "description" "text"
+    "description" "text",
+    "hide_in_dashboard" boolean DEFAULT false
 );
 
 
@@ -2243,7 +2243,8 @@ INSERT INTO settings (option, value, changed_by, changed_on) VALUES ('board_high
 INSERT INTO settings (option, value, changed_by, changed_on) VALUES ('board_public_refresh_interval', '60', 0, 0);
 INSERT INTO settings (option, value, changed_by, changed_on) VALUES ('board_private_refresh_interval', '10', 0, 0);
 INSERT INTO settings (option, value, changed_by, changed_on) VALUES ('board_columns', '', 0, 0);
-INSERT INTO settings (option, value, changed_by, changed_on) VALUES ('webhook_token', '1aff324d30632aaed0d4f4dc1281be0d5bbc7b4fcddccc4badcd6c8f3d43', 0, 0);
+INSERT INTO settings (option, value, changed_by, changed_on) VALUES ('webhook_token', 'c9a7c2a4523f1724b2ca047c5685f8e2b26bba47eb69baf4f22d5d50d837', 0, 0);
+INSERT INTO settings (option, value, changed_by, changed_on) VALUES ('api_token', 'c57a6cb1789269547b616454e4e2f06d3de0514f83baf8fa5b5a8af44a08', 0, 0);
 INSERT INTO settings (option, value, changed_by, changed_on) VALUES ('application_language', 'en_US', 0, 0);
 INSERT INTO settings (option, value, changed_by, changed_on) VALUES ('application_timezone', 'UTC', 0, 0);
 INSERT INTO settings (option, value, changed_by, changed_on) VALUES ('application_url', '', 0, 0);
@@ -2261,7 +2262,6 @@ INSERT INTO settings (option, value, changed_by, changed_on) VALUES ('default_co
 INSERT INTO settings (option, value, changed_by, changed_on) VALUES ('subtask_time_tracking', '1', 0, 0);
 INSERT INTO settings (option, value, changed_by, changed_on) VALUES ('cfd_include_closed_tasks', '1', 0, 0);
 INSERT INTO settings (option, value, changed_by, changed_on) VALUES ('password_reset', '1', 0, 0);
-INSERT INTO settings (option, value, changed_by, changed_on) VALUES ('api_token', '19ffd9709d03ce50675c3a43d1c49c1ac207f4bc45f06c5b2701fbdf8929', 0, 0);
 
 
 --
@@ -2313,4 +2313,4 @@ SELECT pg_catalog.setval('links_id_seq', 11, true);
 -- PostgreSQL database dump complete
 --
 
-INSERT INTO users (username, password, role) VALUES ('admin', '$2y$10$Kv6fus67I/ZG/3LYJ7bRLeis8bk8455Lwtu12ElgnGm3lhRs/z7Ni', 'app-admin');INSERT INTO schema_version VALUES ('90');
+INSERT INTO users (username, password, role) VALUES ('admin', '$2y$10$g28mYPBdsf3/gX/ayd7A8.HSPBRQ/zM/PXlfijelJhXwhnukCRIDi', 'app-admin');INSERT INTO schema_version VALUES ('91');
diff --git a/app/Template/column/create.php b/app/Template/column/create.php
index 387b6a47..812e9139 100644
--- a/app/Template/column/create.php
+++ b/app/Template/column/create.php
@@ -13,7 +13,7 @@
     <?= $this->form->label(t('Task limit'), 'task_limit') ?>
     <?= $this->form->number('task_limit', $values, $errors) ?>
 
-    <?= $this->form->checkbox('hide_in_dashboard', t('Hide tasks in this column in the Dashboard'), 1) ?>
+    <?= $this->form->checkbox('hide_in_dashboard', t('Hide tasks in this column in the dashboard'), 1) ?>
 
     <?= $this->form->label(t('Description'), 'description') ?>
     <?= $this->form->textarea('description', $values, $errors, array(), 'markdown-editor') ?>
diff --git a/app/Template/column/edit.php b/app/Template/column/edit.php
index abd70119..89487298 100644
--- a/app/Template/column/edit.php
+++ b/app/Template/column/edit.php
@@ -15,7 +15,7 @@
     <?= $this->form->label(t('Task limit'), 'task_limit') ?>
     <?= $this->form->number('task_limit', $values, $errors) ?>
 
-    <?= $this->form->checkbox('hide_in_dashboard', t('Hide tasks in this column in the Dashboard'), 1, $values['hide_in_dashboard'] == 1) ?>
+    <?= $this->form->checkbox('hide_in_dashboard', t('Hide tasks in this column in the dashboard'), 1, $values['hide_in_dashboard'] == 1) ?>
 
     <?= $this->form->label(t('Description'), 'description') ?>
     <?= $this->form->textarea('description', $values, $errors, array(), 'markdown-editor') ?>
diff --git a/app/Template/project_view/show.php b/app/Template/project_view/show.php
index 0ad8852b..667a576c 100644
--- a/app/Template/project_view/show.php
+++ b/app/Template/project_view/show.php
@@ -57,7 +57,7 @@
         <th class="column-40"><?= t('Column') ?></th>
         <th class="column-20"><?= t('Task limit') ?></th>
         <th class="column-20"><?= t('Active tasks') ?></th>
-        <th class="column-20"><?= t('Hide tasks in this column in the Dashboard') ?></th>
+        <th class="column-20"><?= t('Hide tasks in this column in the dashboard') ?></th>
     </tr>
     <?php foreach ($stats['columns'] as $column): ?>
     <tr>
diff --git a/tests/units/Model/TaskFinderModelTest.php b/tests/units/Model/TaskFinderModelTest.php
new file mode 100644
index 00000000..72da3b6d
--- /dev/null
+++ b/tests/units/Model/TaskFinderModelTest.php
@@ -0,0 +1,142 @@
+<?php
+
+require_once __DIR__.'/../Base.php';
+
+use Kanboard\Model\ColumnModel;
+use Kanboard\Model\TaskCreationModel;
+use Kanboard\Model\TaskFinderModel;
+use Kanboard\Model\ProjectModel;
+
+class TaskFinderModelTest extends Base
+{
+    public function testGetTasksForDashboard()
+    {
+        $taskCreationModel = new TaskCreationModel($this->container);
+        $taskFinderModel = new TaskFinderModel($this->container);
+        $projectModel = new ProjectModel($this->container);
+        $columnModel = new ColumnModel($this->container);
+
+        $this->assertEquals(1, $projectModel->create(array('name' => 'Project #1')));
+        $this->assertEquals(1, $taskCreationModel->create(array('title' => 'Task #1', 'project_id' => 1, 'column_id' => 1, 'owner_id' => 1)));
+        $this->assertEquals(2, $taskCreationModel->create(array('title' => 'Task #2', 'project_id' => 1, 'column_id' => 2, 'owner_id' => 1)));
+
+        $tasks = $taskFinderModel->getUserQuery(1)->findAll();
+        $this->assertCount(2, $tasks);
+
+        $this->assertTrue($columnModel->update(2, 'Test', 0, '', 1));
+
+        $tasks = $taskFinderModel->getUserQuery(1)->findAll();
+        $this->assertCount(1, $tasks);
+        $this->assertEquals('Task #1', $tasks[0]['title']);
+
+        $this->assertTrue($columnModel->update(2, 'Test', 0, '', 0));
+
+        $tasks = $taskFinderModel->getUserQuery(1)->findAll();
+        $this->assertCount(2, $tasks);
+    }
+
+    public function testGetOverdueTasks()
+    {
+        $taskCreationModel = new TaskCreationModel($this->container);
+        $taskFinderModel = new TaskFinderModel($this->container);
+        $projectModel = new ProjectModel($this->container);
+
+        $this->assertEquals(1, $projectModel->create(array('name' => 'Project #1')));
+        $this->assertEquals(1, $taskCreationModel->create(array('title' => 'Task #1', 'project_id' => 1, 'date_due' => strtotime('-1 day'))));
+        $this->assertEquals(2, $taskCreationModel->create(array('title' => 'Task #2', 'project_id' => 1, 'date_due' => strtotime('+1 day'))));
+        $this->assertEquals(3, $taskCreationModel->create(array('title' => 'Task #3', 'project_id' => 1, 'date_due' => 0)));
+        $this->assertEquals(4, $taskCreationModel->create(array('title' => 'Task #3', 'project_id' => 1)));
+
+        $tasks = $taskFinderModel->getOverdueTasks();
+        $this->assertNotEmpty($tasks);
+        $this->assertTrue(is_array($tasks));
+        $this->assertCount(1, $tasks);
+        $this->assertEquals('Task #1', $tasks[0]['title']);
+    }
+
+    public function testGetOverdueTasksByProject()
+    {
+        $taskCreationModel = new TaskCreationModel($this->container);
+        $taskFinderModel = new TaskFinderModel($this->container);
+        $projectModel = new ProjectModel($this->container);
+
+        $this->assertEquals(1, $projectModel->create(array('name' => 'Project #1')));
+        $this->assertEquals(2, $projectModel->create(array('name' => 'Project #2')));
+        $this->assertEquals(1, $taskCreationModel->create(array('title' => 'Task #1', 'project_id' => 1, 'date_due' => strtotime('-1 day'))));
+        $this->assertEquals(2, $taskCreationModel->create(array('title' => 'Task #2', 'project_id' => 2, 'date_due' => strtotime('-1 day'))));
+        $this->assertEquals(3, $taskCreationModel->create(array('title' => 'Task #3', 'project_id' => 1, 'date_due' => strtotime('+1 day'))));
+        $this->assertEquals(4, $taskCreationModel->create(array('title' => 'Task #4', 'project_id' => 1, 'date_due' => 0)));
+        $this->assertEquals(5, $taskCreationModel->create(array('title' => 'Task #5', 'project_id' => 1)));
+
+        $tasks = $taskFinderModel->getOverdueTasksByProject(1);
+        $this->assertNotEmpty($tasks);
+        $this->assertTrue(is_array($tasks));
+        $this->assertCount(1, $tasks);
+        $this->assertEquals('Task #1', $tasks[0]['title']);
+    }
+
+    public function testGetOverdueTasksByUser()
+    {
+        $taskCreationModel = new TaskCreationModel($this->container);
+        $taskFinderModel = new TaskFinderModel($this->container);
+        $projectModel = new ProjectModel($this->container);
+
+        $this->assertEquals(1, $projectModel->create(array('name' => 'Project #1')));
+        $this->assertEquals(2, $projectModel->create(array('name' => 'Project #2')));
+        $this->assertEquals(1, $taskCreationModel->create(array('title' => 'Task #1', 'project_id' => 1, 'owner_id' => 1, 'date_due' => strtotime('-1 day'))));
+        $this->assertEquals(2, $taskCreationModel->create(array('title' => 'Task #2', 'project_id' => 2, 'owner_id' => 1, 'date_due' => strtotime('-1 day'))));
+        $this->assertEquals(3, $taskCreationModel->create(array('title' => 'Task #3', 'project_id' => 1, 'date_due' => strtotime('+1 day'))));
+        $this->assertEquals(4, $taskCreationModel->create(array('title' => 'Task #4', 'project_id' => 1, 'date_due' => 0)));
+        $this->assertEquals(5, $taskCreationModel->create(array('title' => 'Task #5', 'project_id' => 1)));
+
+        $tasks = $taskFinderModel->getOverdueTasksByUser(1);
+        $this->assertNotEmpty($tasks);
+        $this->assertTrue(is_array($tasks));
+        $this->assertCount(2, $tasks);
+
+        $this->assertEquals(1, $tasks[0]['id']);
+        $this->assertEquals('Task #1', $tasks[0]['title']);
+        $this->assertEquals(1, $tasks[0]['owner_id']);
+        $this->assertEquals(1, $tasks[0]['project_id']);
+        $this->assertEquals('Project #1', $tasks[0]['project_name']);
+        $this->assertEquals('admin', $tasks[0]['assignee_username']);
+        $this->assertEquals('', $tasks[0]['assignee_name']);
+
+        $this->assertEquals('Task #2', $tasks[1]['title']);
+    }
+
+    public function testCountByProject()
+    {
+        $taskCreationModel = new TaskCreationModel($this->container);
+        $taskFinderModel = new TaskFinderModel($this->container);
+        $projectModel = new ProjectModel($this->container);
+
+        $this->assertEquals(1, $projectModel->create(array('name' => 'Project #1')));
+        $this->assertEquals(2, $projectModel->create(array('name' => 'Project #2')));
+        $this->assertEquals(1, $taskCreationModel->create(array('title' => 'Task #1', 'project_id' => 1)));
+        $this->assertEquals(2, $taskCreationModel->create(array('title' => 'Task #2', 'project_id' => 2)));
+        $this->assertEquals(3, $taskCreationModel->create(array('title' => 'Task #3', 'project_id' => 2)));
+
+        $this->assertEquals(1, $taskFinderModel->countByProjectId(1));
+        $this->assertEquals(2, $taskFinderModel->countByProjectId(2));
+    }
+
+    public function testGetProjectToken()
+    {
+        $taskCreationModel = new TaskCreationModel($this->container);
+        $taskFinderModel = new TaskFinderModel($this->container);
+        $projectModel = new ProjectModel($this->container);
+
+        $this->assertEquals(1, $projectModel->create(array('name' => 'Project #1')));
+        $this->assertEquals(2, $projectModel->create(array('name' => 'Project #2')));
+
+        $this->assertTrue($projectModel->enablePublicAccess(1));
+
+        $this->assertEquals(1, $taskCreationModel->create(array('title' => 'Task #1', 'project_id' => 1)));
+        $this->assertEquals(2, $taskCreationModel->create(array('title' => 'Task #2', 'project_id' => 2)));
+
+        $project = $projectModel->getById(1);
+        $this->assertEquals($project['token'], $taskFinderModel->getProjectToken(1));
+        $this->assertEmpty($taskFinderModel->getProjectToken(2));
+    }
+}
diff --git a/tests/units/Model/TaskFinderTest.php b/tests/units/Model/TaskFinderTest.php
deleted file mode 100644
index 46792baf..00000000
--- a/tests/units/Model/TaskFinderTest.php
+++ /dev/null
@@ -1,115 +0,0 @@
-<?php
-
-require_once __DIR__.'/../Base.php';
-
-use Kanboard\Model\TaskCreationModel;
-use Kanboard\Model\TaskFinderModel;
-use Kanboard\Model\ProjectModel;
-
-class TaskFinderTest extends Base
-{
-    public function testGetOverdueTasks()
-    {
-        $tc = new TaskCreationModel($this->container);
-        $tf = new TaskFinderModel($this->container);
-        $p = new ProjectModel($this->container);
-
-        $this->assertEquals(1, $p->create(array('name' => 'Project #1')));
-        $this->assertEquals(1, $tc->create(array('title' => 'Task #1', 'project_id' => 1, 'date_due' => strtotime('-1 day'))));
-        $this->assertEquals(2, $tc->create(array('title' => 'Task #2', 'project_id' => 1, 'date_due' => strtotime('+1 day'))));
-        $this->assertEquals(3, $tc->create(array('title' => 'Task #3', 'project_id' => 1, 'date_due' => 0)));
-        $this->assertEquals(4, $tc->create(array('title' => 'Task #3', 'project_id' => 1)));
-
-        $tasks = $tf->getOverdueTasks();
-        $this->assertNotEmpty($tasks);
-        $this->assertTrue(is_array($tasks));
-        $this->assertCount(1, $tasks);
-        $this->assertEquals('Task #1', $tasks[0]['title']);
-    }
-
-    public function testGetOverdueTasksByProject()
-    {
-        $tc = new TaskCreationModel($this->container);
-        $tf = new TaskFinderModel($this->container);
-        $p = new ProjectModel($this->container);
-
-        $this->assertEquals(1, $p->create(array('name' => 'Project #1')));
-        $this->assertEquals(2, $p->create(array('name' => 'Project #2')));
-        $this->assertEquals(1, $tc->create(array('title' => 'Task #1', 'project_id' => 1, 'date_due' => strtotime('-1 day'))));
-        $this->assertEquals(2, $tc->create(array('title' => 'Task #2', 'project_id' => 2, 'date_due' => strtotime('-1 day'))));
-        $this->assertEquals(3, $tc->create(array('title' => 'Task #3', 'project_id' => 1, 'date_due' => strtotime('+1 day'))));
-        $this->assertEquals(4, $tc->create(array('title' => 'Task #4', 'project_id' => 1, 'date_due' => 0)));
-        $this->assertEquals(5, $tc->create(array('title' => 'Task #5', 'project_id' => 1)));
-
-        $tasks = $tf->getOverdueTasksByProject(1);
-        $this->assertNotEmpty($tasks);
-        $this->assertTrue(is_array($tasks));
-        $this->assertCount(1, $tasks);
-        $this->assertEquals('Task #1', $tasks[0]['title']);
-    }
-
-    public function testGetOverdueTasksByUser()
-    {
-        $tc = new TaskCreationModel($this->container);
-        $tf = new TaskFinderModel($this->container);
-        $p = new ProjectModel($this->container);
-
-        $this->assertEquals(1, $p->create(array('name' => 'Project #1')));
-        $this->assertEquals(2, $p->create(array('name' => 'Project #2')));
-        $this->assertEquals(1, $tc->create(array('title' => 'Task #1', 'project_id' => 1, 'owner_id' => 1, 'date_due' => strtotime('-1 day'))));
-        $this->assertEquals(2, $tc->create(array('title' => 'Task #2', 'project_id' => 2, 'owner_id' => 1, 'date_due' => strtotime('-1 day'))));
-        $this->assertEquals(3, $tc->create(array('title' => 'Task #3', 'project_id' => 1, 'date_due' => strtotime('+1 day'))));
-        $this->assertEquals(4, $tc->create(array('title' => 'Task #4', 'project_id' => 1, 'date_due' => 0)));
-        $this->assertEquals(5, $tc->create(array('title' => 'Task #5', 'project_id' => 1)));
-
-        $tasks = $tf->getOverdueTasksByUser(1);
-        $this->assertNotEmpty($tasks);
-        $this->assertTrue(is_array($tasks));
-        $this->assertCount(2, $tasks);
-
-        $this->assertEquals(1, $tasks[0]['id']);
-        $this->assertEquals('Task #1', $tasks[0]['title']);
-        $this->assertEquals(1, $tasks[0]['owner_id']);
-        $this->assertEquals(1, $tasks[0]['project_id']);
-        $this->assertEquals('Project #1', $tasks[0]['project_name']);
-        $this->assertEquals('admin', $tasks[0]['assignee_username']);
-        $this->assertEquals('', $tasks[0]['assignee_name']);
-
-        $this->assertEquals('Task #2', $tasks[1]['title']);
-    }
-
-    public function testCountByProject()
-    {
-        $tc = new TaskCreationModel($this->container);
-        $tf = new TaskFinderModel($this->container);
-        $p = new ProjectModel($this->container);
-
-        $this->assertEquals(1, $p->create(array('name' => 'Project #1')));
-        $this->assertEquals(2, $p->create(array('name' => 'Project #2')));
-        $this->assertEquals(1, $tc->create(array('title' => 'Task #1', 'project_id' => 1)));
-        $this->assertEquals(2, $tc->create(array('title' => 'Task #2', 'project_id' => 2)));
-        $this->assertEquals(3, $tc->create(array('title' => 'Task #3', 'project_id' => 2)));
-
-        $this->assertEquals(1, $tf->countByProjectId(1));
-        $this->assertEquals(2, $tf->countByProjectId(2));
-    }
-
-    public function testGetProjectToken()
-    {
-        $taskCreationModel = new TaskCreationModel($this->container);
-        $taskFinderModel = new TaskFinderModel($this->container);
-        $projectModel = new ProjectModel($this->container);
-
-        $this->assertEquals(1, $projectModel->create(array('name' => 'Project #1')));
-        $this->assertEquals(2, $projectModel->create(array('name' => 'Project #2')));
-
-        $this->assertTrue($projectModel->enablePublicAccess(1));
-
-        $this->assertEquals(1, $taskCreationModel->create(array('title' => 'Task #1', 'project_id' => 1)));
-        $this->assertEquals(2, $taskCreationModel->create(array('title' => 'Task #2', 'project_id' => 2)));
-
-        $project = $projectModel->getById(1);
-        $this->assertEquals($project['token'], $taskFinderModel->getProjectToken(1));
-        $this->assertEmpty($taskFinderModel->getProjectToken(2));
-    }
-}
-- 
cgit v1.2.3


From 1dcaf6ad9fa631b12a54f4b2b5d564f7fc5f7f14 Mon Sep 17 00:00:00 2001
From: Frederic Guillot <fred@kanboard.net>
Date: Thu, 21 Jul 2016 18:36:44 -0400
Subject: Sync locales

---
 app/Locale/bs_BA/translations.php      |  9 +++++++++
 app/Locale/cs_CZ/translations.php      |  9 +++++++++
 app/Locale/da_DK/translations.php      |  9 +++++++++
 app/Locale/de_DE/translations.php      |  9 +++++++++
 app/Locale/el_GR/translations.php      |  9 +++++++++
 app/Locale/es_ES/translations.php      |  9 +++++++++
 app/Locale/fi_FI/translations.php      |  9 +++++++++
 app/Locale/fr_FR/translations.php      | 11 +++++++++-
 app/Locale/hu_HU/translations.php      |  9 +++++++++
 app/Locale/id_ID/translations.php      |  9 +++++++++
 app/Locale/it_IT/translations.php      |  9 +++++++++
 app/Locale/ja_JP/translations.php      |  9 +++++++++
 app/Locale/ko_KR/translations.php      | 37 ++++++++++++++++++++++++++++------
 app/Locale/my_MY/translations.php      |  9 +++++++++
 app/Locale/nb_NO/translations.php      |  9 +++++++++
 app/Locale/nl_NL/translations.php      | 11 +++++++++-
 app/Locale/pl_PL/translations.php      |  9 +++++++++
 app/Locale/pt_BR/translations.php      |  9 +++++++++
 app/Locale/pt_PT/translations.php      | 11 +++++++++-
 app/Locale/ru_RU/translations.php      |  9 +++++++++
 app/Locale/sr_Latn_RS/translations.php |  9 +++++++++
 app/Locale/sv_SE/translations.php      |  9 +++++++++
 app/Locale/th_TH/translations.php      |  9 +++++++++
 app/Locale/tr_TR/translations.php      |  9 +++++++++
 app/Locale/zh_CN/translations.php      |  9 +++++++++
 25 files changed, 250 insertions(+), 9 deletions(-)

(limited to 'app/Locale/de_DE')

diff --git a/app/Locale/bs_BA/translations.php b/app/Locale/bs_BA/translations.php
index 5f513347..6a062068 100644
--- a/app/Locale/bs_BA/translations.php
+++ b/app/Locale/bs_BA/translations.php
@@ -1216,5 +1216,14 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
+    // 'Close a task when there is no activity in an specific column' => '',
+    // '%s removed a subtask for the task #%d' => '',
+    // '%s removed a comment on the task #%d' => '',
+    // 'Comment removed on task #%d' => '',
+    // 'Subtask removed on task #%d' => '',
     // 'Hide tasks in this column in the dashboard' => '',
+    // '%s removed a comment on the task %s' => '',
+    // '%s removed a subtask for the task %s' => '',
+    // 'Comment removed' => '',
+    // 'Subtask removed' => '',
 );
diff --git a/app/Locale/cs_CZ/translations.php b/app/Locale/cs_CZ/translations.php
index 1c28f4f9..b9a4de6e 100644
--- a/app/Locale/cs_CZ/translations.php
+++ b/app/Locale/cs_CZ/translations.php
@@ -1216,5 +1216,14 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
+    // 'Close a task when there is no activity in an specific column' => '',
+    // '%s removed a subtask for the task #%d' => '',
+    // '%s removed a comment on the task #%d' => '',
+    // 'Comment removed on task #%d' => '',
+    // 'Subtask removed on task #%d' => '',
     // 'Hide tasks in this column in the dashboard' => '',
+    // '%s removed a comment on the task %s' => '',
+    // '%s removed a subtask for the task %s' => '',
+    // 'Comment removed' => '',
+    // 'Subtask removed' => '',
 );
diff --git a/app/Locale/da_DK/translations.php b/app/Locale/da_DK/translations.php
index abebd394..050a37d9 100644
--- a/app/Locale/da_DK/translations.php
+++ b/app/Locale/da_DK/translations.php
@@ -1216,5 +1216,14 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
+    // 'Close a task when there is no activity in an specific column' => '',
+    // '%s removed a subtask for the task #%d' => '',
+    // '%s removed a comment on the task #%d' => '',
+    // 'Comment removed on task #%d' => '',
+    // 'Subtask removed on task #%d' => '',
     // 'Hide tasks in this column in the dashboard' => '',
+    // '%s removed a comment on the task %s' => '',
+    // '%s removed a subtask for the task %s' => '',
+    // 'Comment removed' => '',
+    // 'Subtask removed' => '',
 );
diff --git a/app/Locale/de_DE/translations.php b/app/Locale/de_DE/translations.php
index f569206b..d6c8bf60 100644
--- a/app/Locale/de_DE/translations.php
+++ b/app/Locale/de_DE/translations.php
@@ -1216,5 +1216,14 @@ return array(
     'Global tags' => 'Globale Schlagwörter',
     'There is no global tag at the moment.' => 'Es gibt zur Zeit kein globales Schlagwort',
     'This field cannot be empty' => 'Dieses Feld kann nicht leer sein',
+    // 'Close a task when there is no activity in an specific column' => '',
+    // '%s removed a subtask for the task #%d' => '',
+    // '%s removed a comment on the task #%d' => '',
+    // 'Comment removed on task #%d' => '',
+    // 'Subtask removed on task #%d' => '',
     'Hide tasks in this column in the dashboard' => 'Aufgaben in dieser Spalte im Dashboard ausblenden',
+    // '%s removed a comment on the task %s' => '',
+    // '%s removed a subtask for the task %s' => '',
+    // 'Comment removed' => '',
+    // 'Subtask removed' => '',
 );
diff --git a/app/Locale/el_GR/translations.php b/app/Locale/el_GR/translations.php
index c1d7c579..87ea68b0 100644
--- a/app/Locale/el_GR/translations.php
+++ b/app/Locale/el_GR/translations.php
@@ -1216,5 +1216,14 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
+    // 'Close a task when there is no activity in an specific column' => '',
+    // '%s removed a subtask for the task #%d' => '',
+    // '%s removed a comment on the task #%d' => '',
+    // 'Comment removed on task #%d' => '',
+    // 'Subtask removed on task #%d' => '',
     // 'Hide tasks in this column in the dashboard' => '',
+    // '%s removed a comment on the task %s' => '',
+    // '%s removed a subtask for the task %s' => '',
+    // 'Comment removed' => '',
+    // 'Subtask removed' => '',
 );
diff --git a/app/Locale/es_ES/translations.php b/app/Locale/es_ES/translations.php
index 5699ce6f..1a4bae82 100644
--- a/app/Locale/es_ES/translations.php
+++ b/app/Locale/es_ES/translations.php
@@ -1216,5 +1216,14 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
+    // 'Close a task when there is no activity in an specific column' => '',
+    // '%s removed a subtask for the task #%d' => '',
+    // '%s removed a comment on the task #%d' => '',
+    // 'Comment removed on task #%d' => '',
+    // 'Subtask removed on task #%d' => '',
     // 'Hide tasks in this column in the dashboard' => '',
+    // '%s removed a comment on the task %s' => '',
+    // '%s removed a subtask for the task %s' => '',
+    // 'Comment removed' => '',
+    // 'Subtask removed' => '',
 );
diff --git a/app/Locale/fi_FI/translations.php b/app/Locale/fi_FI/translations.php
index 6fe4852c..5d37cb82 100644
--- a/app/Locale/fi_FI/translations.php
+++ b/app/Locale/fi_FI/translations.php
@@ -1216,5 +1216,14 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
+    // 'Close a task when there is no activity in an specific column' => '',
+    // '%s removed a subtask for the task #%d' => '',
+    // '%s removed a comment on the task #%d' => '',
+    // 'Comment removed on task #%d' => '',
+    // 'Subtask removed on task #%d' => '',
     // 'Hide tasks in this column in the dashboard' => '',
+    // '%s removed a comment on the task %s' => '',
+    // '%s removed a subtask for the task %s' => '',
+    // 'Comment removed' => '',
+    // 'Subtask removed' => '',
 );
diff --git a/app/Locale/fr_FR/translations.php b/app/Locale/fr_FR/translations.php
index 7663da0f..c8f7d343 100644
--- a/app/Locale/fr_FR/translations.php
+++ b/app/Locale/fr_FR/translations.php
@@ -1217,5 +1217,14 @@ return array(
     'Global tags' => 'Libellés globaux',
     'There is no global tag at the moment.' => 'Il n\'y a aucun libellé global pour le moment.',
     'This field cannot be empty' => 'Ce champ ne peut être vide',
-    // 'Hide tasks in this column in the dashboard' => '',
+    'Close a task when there is no activity in an specific column' => 'Fermer une tâche lorsqu\'il n\'y a aucune activité dans une colonne spécifique',
+    '%s removed a subtask for the task #%d' => '%s a supprimé une sous-tâche de la tâche n°%d',
+    '%s removed a comment on the task #%d' => '%s a supprimé un commentaire de la tâche n°%d',
+    'Comment removed on task #%d' => 'Commentaire supprimé sur la tâche n°%d',
+    'Subtask removed on task #%d' => 'Sous-tâche supprimée sur la tâche n°%d',
+    'Hide tasks in this column in the dashboard' => 'Cacher les tâches de cette colonne dans le tableau de bord',
+    '%s removed a comment on the task %s' => '%s a supprimé un commentaire de la tâche %s',
+    '%s removed a subtask for the task %s' => '%s a supprimé une sous-tâche de la tâche %s',
+    'Comment removed' => 'Commentaire supprimé',
+    'Subtask removed' => 'Sous-tâche supprimée',
 );
diff --git a/app/Locale/hu_HU/translations.php b/app/Locale/hu_HU/translations.php
index 96db72ef..febf8bc0 100644
--- a/app/Locale/hu_HU/translations.php
+++ b/app/Locale/hu_HU/translations.php
@@ -1216,5 +1216,14 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
+    // 'Close a task when there is no activity in an specific column' => '',
+    // '%s removed a subtask for the task #%d' => '',
+    // '%s removed a comment on the task #%d' => '',
+    // 'Comment removed on task #%d' => '',
+    // 'Subtask removed on task #%d' => '',
     // 'Hide tasks in this column in the dashboard' => '',
+    // '%s removed a comment on the task %s' => '',
+    // '%s removed a subtask for the task %s' => '',
+    // 'Comment removed' => '',
+    // 'Subtask removed' => '',
 );
diff --git a/app/Locale/id_ID/translations.php b/app/Locale/id_ID/translations.php
index 2d6e5aa3..18a7a72d 100644
--- a/app/Locale/id_ID/translations.php
+++ b/app/Locale/id_ID/translations.php
@@ -1216,5 +1216,14 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
+    // 'Close a task when there is no activity in an specific column' => '',
+    // '%s removed a subtask for the task #%d' => '',
+    // '%s removed a comment on the task #%d' => '',
+    // 'Comment removed on task #%d' => '',
+    // 'Subtask removed on task #%d' => '',
     // 'Hide tasks in this column in the dashboard' => '',
+    // '%s removed a comment on the task %s' => '',
+    // '%s removed a subtask for the task %s' => '',
+    // 'Comment removed' => '',
+    // 'Subtask removed' => '',
 );
diff --git a/app/Locale/it_IT/translations.php b/app/Locale/it_IT/translations.php
index e10b61da..f6c63076 100644
--- a/app/Locale/it_IT/translations.php
+++ b/app/Locale/it_IT/translations.php
@@ -1216,5 +1216,14 @@ return array(
     'Global tags' => 'Tag globali',
     'There is no global tag at the moment.' => 'Non sono definiti tag globali al momento.',
     'This field cannot be empty' => 'Questo campo non può essere vuoto',
+    // 'Close a task when there is no activity in an specific column' => '',
+    // '%s removed a subtask for the task #%d' => '',
+    // '%s removed a comment on the task #%d' => '',
+    // 'Comment removed on task #%d' => '',
+    // 'Subtask removed on task #%d' => '',
     // 'Hide tasks in this column in the dashboard' => '',
+    // '%s removed a comment on the task %s' => '',
+    // '%s removed a subtask for the task %s' => '',
+    // 'Comment removed' => '',
+    // 'Subtask removed' => '',
 );
diff --git a/app/Locale/ja_JP/translations.php b/app/Locale/ja_JP/translations.php
index 2fe13ac9..dab731d2 100644
--- a/app/Locale/ja_JP/translations.php
+++ b/app/Locale/ja_JP/translations.php
@@ -1216,5 +1216,14 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
+    // 'Close a task when there is no activity in an specific column' => '',
+    // '%s removed a subtask for the task #%d' => '',
+    // '%s removed a comment on the task #%d' => '',
+    // 'Comment removed on task #%d' => '',
+    // 'Subtask removed on task #%d' => '',
     // 'Hide tasks in this column in the dashboard' => '',
+    // '%s removed a comment on the task %s' => '',
+    // '%s removed a subtask for the task %s' => '',
+    // 'Comment removed' => '',
+    // 'Subtask removed' => '',
 );
diff --git a/app/Locale/ko_KR/translations.php b/app/Locale/ko_KR/translations.php
index 4f062221..0b6007b1 100644
--- a/app/Locale/ko_KR/translations.php
+++ b/app/Locale/ko_KR/translations.php
@@ -154,8 +154,6 @@ return array(
     '%d closed tasks' => '%d개의 마친 할일',
     'No task for this project' => '이 프로젝트에 할일이 없습니다',
     'Public link' => '공개 접속 링크',
-    'Change assignee' => '담당자 변경',
-    'Change assignee for the task "%s"' => '할일 "%s"의 담당자를 변경',
     'Timezone' => '시간대',
     'Sorry, I didn\'t find this information in my database!' => '데이터베이스에서 정보가 발견되지 않았습니다!',
     'Page not found' => '페이지가 발견되지 않는다',
@@ -248,7 +246,6 @@ return array(
     'Category' => '카테고리',
     'Category:' => '카테고리:',
     'Categories' => '카테고리',
-    'Category not found.' => '카테고리가 발견되지 않습니다',
     'Your category have been created successfully.' => '카테고리를 작성했습니다.',
     'Unable to create your category.' => '카테고리의 작성에 실패했습니다.',
     'Your category have been updated successfully.' => '카테고리를 갱신했습니다.',
@@ -270,7 +267,6 @@ return array(
     'Do you really want to remove this file: "%s"?' => '파일 "%s" 을 삭제할까요?',
     'Attachments' => '첨부',
     'Edit the task' => '할일 수정',
-    'Edit the description' => '설명 수정',
     'Add a comment' => '댓글 추가',
     'Edit a comment' => '댓글 수정',
     'Summary' => '개요',
@@ -368,7 +364,6 @@ return array(
     'No external authentication enabled.' => '외부 인증이 설정되어 있지 않습니다.',
     'Password modified successfully.' => '패스워드를 변경했습니다.',
     'Unable to change the password.' => '비밀 번호가 변경할 수 없었습니다.',
-    'Change category for the task "%s"' => '할일 "%s"의 카테고리의 변경',
     'Change category' => '카테고리 수정',
     '%s updated the task %s' => '%s이 할일 %s을 갱신 하였습니다',
     '%s opened the task %s' => '%s이 할일 %s을 시작시켰습니다',
@@ -485,7 +480,6 @@ return array(
     'Remove a swimlane' => '스윔레인의 삭제',
     'Show default swimlane' => '기본 스윔레인의 표시',
     'Swimlane modification for the project "%s"' => '"%s" 프로젝트의 스웜레인 수정',
-    'Swimlane not found.' => '스윔레인이 발견되지 않습니다.',
     'Swimlane removed successfully.' => '스윔레인을 삭제했습니다.',
     'Swimlanes' => '스윔레인',
     'Swimlane updated successfully.' => '스윔레인을 갱신했습니다.',
@@ -1200,5 +1194,36 @@ return array(
     'Email settings' => '이메일 설정',
     'Email sender address' => '이메일 보낸이 주소',
     'Email transport' => '이메일 전송',
+    // 'Webhook token' => '',
     'Imports' => '가져오기',
+    // 'Project tags management' => '',
+    // 'Tag created successfully.' => '',
+    // 'Unable to create this tag.' => '',
+    // 'Tag updated successfully.' => '',
+    // 'Unable to update this tag.' => '',
+    // 'Tag removed successfully.' => '',
+    // 'Unable to remove this tag.' => '',
+    // 'Global tags management' => '',
+    // 'Tags' => '',
+    // 'Tags management' => '',
+    // 'Add new tag' => '',
+    // 'Edit a tag' => '',
+    // 'Project tags' => '',
+    // 'There is no specific tag for this project at the moment.' => '',
+    // 'Tag' => '',
+    // 'Remove a tag' => '',
+    // 'Do you really want to remove this tag: "%s"?' => '',
+    // 'Global tags' => '',
+    // 'There is no global tag at the moment.' => '',
+    // 'This field cannot be empty' => '',
+    // 'Close a task when there is no activity in an specific column' => '',
+    // '%s removed a subtask for the task #%d' => '',
+    // '%s removed a comment on the task #%d' => '',
+    // 'Comment removed on task #%d' => '',
+    // 'Subtask removed on task #%d' => '',
+    // 'Hide tasks in this column in the dashboard' => '',
+    // '%s removed a comment on the task %s' => '',
+    // '%s removed a subtask for the task %s' => '',
+    // 'Comment removed' => '',
+    // 'Subtask removed' => '',
 );
diff --git a/app/Locale/my_MY/translations.php b/app/Locale/my_MY/translations.php
index ff8960aa..3d66b0bb 100644
--- a/app/Locale/my_MY/translations.php
+++ b/app/Locale/my_MY/translations.php
@@ -1216,5 +1216,14 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
+    // 'Close a task when there is no activity in an specific column' => '',
+    // '%s removed a subtask for the task #%d' => '',
+    // '%s removed a comment on the task #%d' => '',
+    // 'Comment removed on task #%d' => '',
+    // 'Subtask removed on task #%d' => '',
     // 'Hide tasks in this column in the dashboard' => '',
+    // '%s removed a comment on the task %s' => '',
+    // '%s removed a subtask for the task %s' => '',
+    // 'Comment removed' => '',
+    // 'Subtask removed' => '',
 );
diff --git a/app/Locale/nb_NO/translations.php b/app/Locale/nb_NO/translations.php
index 8752a159..14e260cb 100644
--- a/app/Locale/nb_NO/translations.php
+++ b/app/Locale/nb_NO/translations.php
@@ -1216,5 +1216,14 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
+    // 'Close a task when there is no activity in an specific column' => '',
+    // '%s removed a subtask for the task #%d' => '',
+    // '%s removed a comment on the task #%d' => '',
+    // 'Comment removed on task #%d' => '',
+    // 'Subtask removed on task #%d' => '',
     // 'Hide tasks in this column in the dashboard' => '',
+    // '%s removed a comment on the task %s' => '',
+    // '%s removed a subtask for the task %s' => '',
+    // 'Comment removed' => '',
+    // 'Subtask removed' => '',
 );
diff --git a/app/Locale/nl_NL/translations.php b/app/Locale/nl_NL/translations.php
index e07ea32c..8b47d514 100644
--- a/app/Locale/nl_NL/translations.php
+++ b/app/Locale/nl_NL/translations.php
@@ -1216,5 +1216,14 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
-    //' Hide tasks in this column in the dashboard' => '',
+    // 'Close a task when there is no activity in an specific column' => '',
+    // '%s removed a subtask for the task #%d' => '',
+    // '%s removed a comment on the task #%d' => '',
+    // 'Comment removed on task #%d' => '',
+    // 'Subtask removed on task #%d' => '',
+    // 'Hide tasks in this column in the dashboard' => '',
+    // '%s removed a comment on the task %s' => '',
+    // '%s removed a subtask for the task %s' => '',
+    // 'Comment removed' => '',
+    // 'Subtask removed' => '',
 );
diff --git a/app/Locale/pl_PL/translations.php b/app/Locale/pl_PL/translations.php
index 896d2ed4..e72649e6 100644
--- a/app/Locale/pl_PL/translations.php
+++ b/app/Locale/pl_PL/translations.php
@@ -1216,5 +1216,14 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
+    // 'Close a task when there is no activity in an specific column' => '',
+    // '%s removed a subtask for the task #%d' => '',
+    // '%s removed a comment on the task #%d' => '',
+    // 'Comment removed on task #%d' => '',
+    // 'Subtask removed on task #%d' => '',
     // 'Hide tasks in this column in the dashboard' => '',
+    // '%s removed a comment on the task %s' => '',
+    // '%s removed a subtask for the task %s' => '',
+    // 'Comment removed' => '',
+    // 'Subtask removed' => '',
 );
diff --git a/app/Locale/pt_BR/translations.php b/app/Locale/pt_BR/translations.php
index 40f3bb4d..7b64f0e7 100644
--- a/app/Locale/pt_BR/translations.php
+++ b/app/Locale/pt_BR/translations.php
@@ -1216,5 +1216,14 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
+    // 'Close a task when there is no activity in an specific column' => '',
+    // '%s removed a subtask for the task #%d' => '',
+    // '%s removed a comment on the task #%d' => '',
+    // 'Comment removed on task #%d' => '',
+    // 'Subtask removed on task #%d' => '',
     // 'Hide tasks in this column in the dashboard' => '',
+    // '%s removed a comment on the task %s' => '',
+    // '%s removed a subtask for the task %s' => '',
+    // 'Comment removed' => '',
+    // 'Subtask removed' => '',
 );
diff --git a/app/Locale/pt_PT/translations.php b/app/Locale/pt_PT/translations.php
index 08375ad0..1810e2b5 100644
--- a/app/Locale/pt_PT/translations.php
+++ b/app/Locale/pt_PT/translations.php
@@ -1216,5 +1216,14 @@ return array(
     'Global tags' => 'Etiquetas globais',
     'There is no global tag at the moment.' => 'De momento não existe nenhuma etiqueta global.',
     // 'This field cannot be empty' => '',
-    //'Hide tasks in this column in the dashboard' => '',
+    // 'Close a task when there is no activity in an specific column' => '',
+    // '%s removed a subtask for the task #%d' => '',
+    // '%s removed a comment on the task #%d' => '',
+    // 'Comment removed on task #%d' => '',
+    // 'Subtask removed on task #%d' => '',
+    // 'Hide tasks in this column in the dashboard' => '',
+    // '%s removed a comment on the task %s' => '',
+    // '%s removed a subtask for the task %s' => '',
+    // 'Comment removed' => '',
+    // 'Subtask removed' => '',
 );
diff --git a/app/Locale/ru_RU/translations.php b/app/Locale/ru_RU/translations.php
index c6285f6a..b3682f03 100644
--- a/app/Locale/ru_RU/translations.php
+++ b/app/Locale/ru_RU/translations.php
@@ -1216,5 +1216,14 @@ return array(
     'Global tags' => 'Глобальные метка',
     'There is no global tag at the moment.' => 'Нет глобальных меток.',
     'This field cannot be empty' => 'Это поле не может быть пустым',
+    // 'Close a task when there is no activity in an specific column' => '',
+    // '%s removed a subtask for the task #%d' => '',
+    // '%s removed a comment on the task #%d' => '',
+    // 'Comment removed on task #%d' => '',
+    // 'Subtask removed on task #%d' => '',
     'Hide tasks in this column in the dashboard' => 'Не показывать задачи из этой колонки в кабинете',
+    // '%s removed a comment on the task %s' => '',
+    // '%s removed a subtask for the task %s' => '',
+    // 'Comment removed' => '',
+    // 'Subtask removed' => '',
 );
diff --git a/app/Locale/sr_Latn_RS/translations.php b/app/Locale/sr_Latn_RS/translations.php
index 92ed3424..157d9e2d 100644
--- a/app/Locale/sr_Latn_RS/translations.php
+++ b/app/Locale/sr_Latn_RS/translations.php
@@ -1216,5 +1216,14 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
+    // 'Close a task when there is no activity in an specific column' => '',
+    // '%s removed a subtask for the task #%d' => '',
+    // '%s removed a comment on the task #%d' => '',
+    // 'Comment removed on task #%d' => '',
+    // 'Subtask removed on task #%d' => '',
     // 'Hide tasks in this column in the dashboard' => '',
+    // '%s removed a comment on the task %s' => '',
+    // '%s removed a subtask for the task %s' => '',
+    // 'Comment removed' => '',
+    // 'Subtask removed' => '',
 );
diff --git a/app/Locale/sv_SE/translations.php b/app/Locale/sv_SE/translations.php
index eedcf0fc..e42a801d 100644
--- a/app/Locale/sv_SE/translations.php
+++ b/app/Locale/sv_SE/translations.php
@@ -1216,5 +1216,14 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
+    // 'Close a task when there is no activity in an specific column' => '',
+    // '%s removed a subtask for the task #%d' => '',
+    // '%s removed a comment on the task #%d' => '',
+    // 'Comment removed on task #%d' => '',
+    // 'Subtask removed on task #%d' => '',
     // 'Hide tasks in this column in the dashboard' => '',
+    // '%s removed a comment on the task %s' => '',
+    // '%s removed a subtask for the task %s' => '',
+    // 'Comment removed' => '',
+    // 'Subtask removed' => '',
 );
diff --git a/app/Locale/th_TH/translations.php b/app/Locale/th_TH/translations.php
index a6de8bce..56adbdb8 100644
--- a/app/Locale/th_TH/translations.php
+++ b/app/Locale/th_TH/translations.php
@@ -1216,5 +1216,14 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
+    // 'Close a task when there is no activity in an specific column' => '',
+    // '%s removed a subtask for the task #%d' => '',
+    // '%s removed a comment on the task #%d' => '',
+    // 'Comment removed on task #%d' => '',
+    // 'Subtask removed on task #%d' => '',
     // 'Hide tasks in this column in the dashboard' => '',
+    // '%s removed a comment on the task %s' => '',
+    // '%s removed a subtask for the task %s' => '',
+    // 'Comment removed' => '',
+    // 'Subtask removed' => '',
 );
diff --git a/app/Locale/tr_TR/translations.php b/app/Locale/tr_TR/translations.php
index 35e29649..4f4c84cd 100644
--- a/app/Locale/tr_TR/translations.php
+++ b/app/Locale/tr_TR/translations.php
@@ -1216,5 +1216,14 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
+    // 'Close a task when there is no activity in an specific column' => '',
+    // '%s removed a subtask for the task #%d' => '',
+    // '%s removed a comment on the task #%d' => '',
+    // 'Comment removed on task #%d' => '',
+    // 'Subtask removed on task #%d' => '',
     // 'Hide tasks in this column in the dashboard' => '',
+    // '%s removed a comment on the task %s' => '',
+    // '%s removed a subtask for the task %s' => '',
+    // 'Comment removed' => '',
+    // 'Subtask removed' => '',
 );
diff --git a/app/Locale/zh_CN/translations.php b/app/Locale/zh_CN/translations.php
index 0ef01ef7..01eaff17 100644
--- a/app/Locale/zh_CN/translations.php
+++ b/app/Locale/zh_CN/translations.php
@@ -1216,5 +1216,14 @@ return array(
     // 'Global tags' => '',
     // 'There is no global tag at the moment.' => '',
     // 'This field cannot be empty' => '',
+    // 'Close a task when there is no activity in an specific column' => '',
+    // '%s removed a subtask for the task #%d' => '',
+    // '%s removed a comment on the task #%d' => '',
+    // 'Comment removed on task #%d' => '',
+    // 'Subtask removed on task #%d' => '',
     // 'Hide tasks in this column in the dashboard' => '',
+    // '%s removed a comment on the task %s' => '',
+    // '%s removed a subtask for the task %s' => '',
+    // 'Comment removed' => '',
+    // 'Subtask removed' => '',
 );
-- 
cgit v1.2.3


From a823cc1d08535539f850711c0b9edb5b648f1960 Mon Sep 17 00:00:00 2001
From: Frederic Guillot <fred@kanboard.net>
Date: Sat, 23 Jul 2016 14:50:59 -0400
Subject: NotificationModel refactoring

---
 app/EventBuilder/BaseEventBuilder.php              |  23 ++-
 app/EventBuilder/CommentEventBuilder.php           |  52 +++++-
 app/EventBuilder/EventIteratorBuilder.php          |  48 ++++++
 app/EventBuilder/ProjectFileEventBuilder.php       |  29 +++-
 app/EventBuilder/SubtaskEventBuilder.php           |  48 +++++-
 app/EventBuilder/TaskEventBuilder.php              | 102 +++++++++++-
 app/EventBuilder/TaskFileEventBuilder.php          |  38 ++++-
 app/EventBuilder/TaskLinkEventBuilder.php          |   2 +-
 app/Job/CommentEventJob.php                        |   2 +-
 app/Job/ProjectFileEventJob.php                    |   2 +-
 app/Job/SubtaskEventJob.php                        |   2 +-
 app/Job/TaskEventJob.php                           |   2 +-
 app/Job/TaskFileEventJob.php                       |   2 +-
 app/Job/TaskLinkEventJob.php                       |   2 +-
 app/Locale/bs_BA/translations.php                  |   6 +-
 app/Locale/cs_CZ/translations.php                  |   6 +-
 app/Locale/da_DK/translations.php                  |   6 +-
 app/Locale/de_DE/translations.php                  |   6 +-
 app/Locale/el_GR/translations.php                  |   6 +-
 app/Locale/es_ES/translations.php                  |   6 +-
 app/Locale/fi_FI/translations.php                  |   6 +-
 app/Locale/fr_FR/translations.php                  |   6 +-
 app/Locale/hu_HU/translations.php                  |   6 +-
 app/Locale/id_ID/translations.php                  |   6 +-
 app/Locale/it_IT/translations.php                  |   6 +-
 app/Locale/ja_JP/translations.php                  |   6 +-
 app/Locale/ko_KR/translations.php                  |   6 +-
 app/Locale/my_MY/translations.php                  |   6 +-
 app/Locale/nb_NO/translations.php                  |   6 +-
 app/Locale/nl_NL/translations.php                  |   6 +-
 app/Locale/pl_PL/translations.php                  |   6 +-
 app/Locale/pt_BR/translations.php                  |   6 +-
 app/Locale/pt_PT/translations.php                  |   6 +-
 app/Locale/ru_RU/translations.php                  |   6 +-
 app/Locale/sr_Latn_RS/translations.php             |   6 +-
 app/Locale/sv_SE/translations.php                  |   6 +-
 app/Locale/th_TH/translations.php                  |   6 +-
 app/Locale/tr_TR/translations.php                  |   6 +-
 app/Locale/zh_CN/translations.php                  |   6 +-
 app/Model/NotificationModel.php                    | 176 +++++++--------------
 app/Template/event/task_assignee_change.php        |   2 +-
 tests/units/Action/TaskAssignCategoryLinkTest.php  |   6 +-
 tests/units/Action/TaskAssignColorLinkTest.php     |   4 +-
 .../units/EventBuilder/CommentEventBuilderTest.php |   4 +-
 .../EventBuilder/ProjectFileEventBuilderTest.php   |   4 +-
 .../units/EventBuilder/SubtaskEventBuilderTest.php |   6 +-
 tests/units/EventBuilder/TaskEventBuilderTest.php  |  10 +-
 .../EventBuilder/TaskFileEventBuilderTest.php      |   4 +-
 .../EventBuilder/TaskLinkEventBuilderTest.php      |   6 +-
 49 files changed, 494 insertions(+), 232 deletions(-)
 create mode 100644 app/EventBuilder/EventIteratorBuilder.php

(limited to 'app/Locale/de_DE')

diff --git a/app/EventBuilder/BaseEventBuilder.php b/app/EventBuilder/BaseEventBuilder.php
index c677563e..5aa777a0 100644
--- a/app/EventBuilder/BaseEventBuilder.php
+++ b/app/EventBuilder/BaseEventBuilder.php
@@ -19,5 +19,26 @@ abstract class BaseEventBuilder extends Base
      * @access public
      * @return GenericEvent|null
      */
-    abstract public function build();
+    abstract public function buildEvent();
+
+    /**
+     * Get event title with author
+     *
+     * @access public
+     * @param  string $author
+     * @param  string $eventName
+     * @param  array  $eventData
+     * @return string
+     */
+    abstract public function buildTitleWithAuthor($author, $eventName, array $eventData);
+
+    /**
+     * Get event title without author
+     *
+     * @access public
+     * @param  string $eventName
+     * @param  array  $eventData
+     * @return string
+     */
+    abstract public function buildTitleWithoutAuthor($eventName, array $eventData);
 }
diff --git a/app/EventBuilder/CommentEventBuilder.php b/app/EventBuilder/CommentEventBuilder.php
index 7b4060e4..ba5842a4 100644
--- a/app/EventBuilder/CommentEventBuilder.php
+++ b/app/EventBuilder/CommentEventBuilder.php
@@ -3,6 +3,7 @@
 namespace Kanboard\EventBuilder;
 
 use Kanboard\Event\CommentEvent;
+use Kanboard\Model\CommentModel;
 
 /**
  * Class CommentEventBuilder
@@ -32,7 +33,7 @@ class CommentEventBuilder extends BaseEventBuilder
      * @access public
      * @return CommentEvent|null
      */
-    public function build()
+    public function buildEvent()
     {
         $comment = $this->commentModel->getById($this->commentId);
 
@@ -45,4 +46,53 @@ class CommentEventBuilder extends BaseEventBuilder
             'task' => $this->taskFinderModel->getDetails($comment['task_id']),
         ));
     }
+
+    /**
+     * Get event title with author
+     *
+     * @access public
+     * @param  string $author
+     * @param  string $eventName
+     * @param  array  $eventData
+     * @return string
+     */
+    public function buildTitleWithAuthor($author, $eventName, array $eventData)
+    {
+        switch ($eventName) {
+            case CommentModel::EVENT_UPDATE:
+                return e('%s updated a comment on the task #%d', $author, $eventData['task']['id']);
+            case CommentModel::EVENT_CREATE:
+                return e('%s commented on the task #%d', $author, $eventData['task']['id']);
+            case CommentModel::EVENT_DELETE:
+                return e('%s removed a comment on the task #%d', $author, $eventData['task']['id']);
+            case CommentModel::EVENT_USER_MENTION:
+                return e('%s mentioned you in a comment on the task #%d', $author, $eventData['task']['id']);
+            default:
+                return '';
+        }
+    }
+
+    /**
+     * Get event title without author
+     *
+     * @access public
+     * @param  string $eventName
+     * @param  array  $eventData
+     * @return string
+     */
+    public function buildTitleWithoutAuthor($eventName, array $eventData)
+    {
+        switch ($eventName) {
+            case CommentModel::EVENT_CREATE:
+                return e('New comment on task #%d', $eventData['comment']['task_id']);
+            case CommentModel::EVENT_UPDATE:
+                return e('Comment updated on task #%d', $eventData['comment']['task_id']);
+            case CommentModel::EVENT_DELETE:
+                return e('Comment removed on task #%d', $eventData['comment']['task_id']);
+            case CommentModel::EVENT_USER_MENTION:
+                return e('You were mentioned in a comment on the task #%d', $eventData['task']['id']);
+            default:
+                return '';
+        }
+    }
 }
diff --git a/app/EventBuilder/EventIteratorBuilder.php b/app/EventBuilder/EventIteratorBuilder.php
new file mode 100644
index 00000000..afa146b6
--- /dev/null
+++ b/app/EventBuilder/EventIteratorBuilder.php
@@ -0,0 +1,48 @@
+<?php
+
+namespace Kanboard\EventBuilder;
+
+use Iterator;
+
+/**
+ * Class EventIteratorBuilder
+ *
+ * @package Kanboard\EventBuilder
+ * @author  Frederic Guillot
+ */
+class EventIteratorBuilder implements Iterator {
+    private $position = 0;
+    private $builders = array();
+
+    /**
+     * @return $this
+     */
+    public function withBuilder(BaseEventBuilder $builder)
+    {
+        $this->builders[] = $builder;
+        return $this;
+    }
+
+    public function rewind() {
+        $this->position = 0;
+    }
+
+    /**
+     * @return BaseEventBuilder
+     */
+    public function current() {
+        return $this->builders[$this->position];
+    }
+
+    public function key() {
+        return $this->position;
+    }
+
+    public function next() {
+        ++$this->position;
+    }
+
+    public function valid() {
+        return isset($this->builders[$this->position]);
+    }
+}
diff --git a/app/EventBuilder/ProjectFileEventBuilder.php b/app/EventBuilder/ProjectFileEventBuilder.php
index 70514a99..6698f78a 100644
--- a/app/EventBuilder/ProjectFileEventBuilder.php
+++ b/app/EventBuilder/ProjectFileEventBuilder.php
@@ -33,7 +33,7 @@ class ProjectFileEventBuilder extends BaseEventBuilder
      * @access public
      * @return GenericEvent|null
      */
-    public function build()
+    public function buildEvent()
     {
         $file = $this->projectFileModel->getById($this->fileId);
 
@@ -47,4 +47,31 @@ class ProjectFileEventBuilder extends BaseEventBuilder
             'project' => $this->projectModel->getById($file['project_id']),
         ));
     }
+
+    /**
+     * Get event title with author
+     *
+     * @access public
+     * @param  string $author
+     * @param  string $eventName
+     * @param  array  $eventData
+     * @return string
+     */
+    public function buildTitleWithAuthor($author, $eventName, array $eventData)
+    {
+        return '';
+    }
+
+    /**
+     * Get event title without author
+     *
+     * @access public
+     * @param  string $eventName
+     * @param  array  $eventData
+     * @return string
+     */
+    public function buildTitleWithoutAuthor($eventName, array $eventData)
+    {
+        return '';
+    }
 }
diff --git a/app/EventBuilder/SubtaskEventBuilder.php b/app/EventBuilder/SubtaskEventBuilder.php
index f0271257..5f7e831d 100644
--- a/app/EventBuilder/SubtaskEventBuilder.php
+++ b/app/EventBuilder/SubtaskEventBuilder.php
@@ -4,6 +4,7 @@ namespace Kanboard\EventBuilder;
 
 use Kanboard\Event\SubtaskEvent;
 use Kanboard\Event\GenericEvent;
+use Kanboard\Model\SubtaskModel;
 
 /**
  * Class SubtaskEventBuilder
@@ -59,7 +60,7 @@ class SubtaskEventBuilder extends BaseEventBuilder
      * @access public
      * @return GenericEvent|null
      */
-    public function build()
+    public function buildEvent()
     {
         $eventData = array();
         $eventData['subtask'] = $this->subtaskModel->getById($this->subtaskId, true);
@@ -76,4 +77,49 @@ class SubtaskEventBuilder extends BaseEventBuilder
         $eventData['task'] = $this->taskFinderModel->getDetails($eventData['subtask']['task_id']);
         return new SubtaskEvent($eventData);
     }
+
+    /**
+     * Get event title with author
+     *
+     * @access public
+     * @param  string $author
+     * @param  string $eventName
+     * @param  array  $eventData
+     * @return string
+     */
+    public function buildTitleWithAuthor($author, $eventName, array $eventData)
+    {
+        switch ($eventName) {
+            case SubtaskModel::EVENT_UPDATE:
+                return e('%s updated a subtask for the task #%d', $author, $eventData['task']['id']);
+            case SubtaskModel::EVENT_CREATE:
+                return e('%s created a subtask for the task #%d', $author, $eventData['task']['id']);
+            case SubtaskModel::EVENT_DELETE:
+                return e('%s removed a subtask for the task #%d', $author, $eventData['task']['id']);
+            default:
+                return '';
+        }
+    }
+
+    /**
+     * Get event title without author
+     *
+     * @access public
+     * @param  string $eventName
+     * @param  array  $eventData
+     * @return string
+     */
+    public function buildTitleWithoutAuthor($eventName, array $eventData)
+    {
+        switch ($eventName) {
+            case SubtaskModel::EVENT_CREATE:
+                return e('New subtask on task #%d', $eventData['subtask']['task_id']);
+            case SubtaskModel::EVENT_UPDATE:
+                return e('Subtask updated on task #%d', $eventData['subtask']['task_id']);
+            case SubtaskModel::EVENT_DELETE:
+                return e('Subtask removed on task #%d', $eventData['subtask']['task_id']);
+            default:
+                return '';
+        }
+    }
 }
diff --git a/app/EventBuilder/TaskEventBuilder.php b/app/EventBuilder/TaskEventBuilder.php
index e7a5653d..aa897632 100644
--- a/app/EventBuilder/TaskEventBuilder.php
+++ b/app/EventBuilder/TaskEventBuilder.php
@@ -3,6 +3,7 @@
 namespace Kanboard\EventBuilder;
 
 use Kanboard\Event\TaskEvent;
+use Kanboard\Model\TaskModel;
 
 /**
  * Class TaskEventBuilder
@@ -98,7 +99,7 @@ class TaskEventBuilder extends BaseEventBuilder
      * @access public
      * @return TaskEvent|null
      */
-    public function build()
+    public function buildEvent()
     {
         $eventData = array();
         $eventData['task_id'] = $this->taskId;
@@ -120,4 +121,103 @@ class TaskEventBuilder extends BaseEventBuilder
 
         return new TaskEvent(array_merge($eventData, $this->values));
     }
+
+    /**
+     * Get event title with author
+     *
+     * @access public
+     * @param  string $author
+     * @param  string $eventName
+     * @param  array  $eventData
+     * @return string
+     */
+    public function buildTitleWithAuthor($author, $eventName, array $eventData)
+    {
+        switch ($eventName) {
+            case TaskModel::EVENT_ASSIGNEE_CHANGE:
+                $assignee = $eventData['task']['assignee_name'] ?: $eventData['task']['assignee_username'];
+
+                if (! empty($assignee)) {
+                    return e('%s changed the assignee of the task #%d to %s', $author, $eventData['task']['id'], $assignee);
+                }
+
+                return e('%s removed the assignee of the task %s', $author, e('#%d', $eventData['task']['id']));
+            case TaskModel::EVENT_UPDATE:
+                return e('%s updated the task #%d', $author, $eventData['task']['id']);
+            case TaskModel::EVENT_CREATE:
+                return e('%s created the task #%d', $author, $eventData['task']['id']);
+            case TaskModel::EVENT_CLOSE:
+                return e('%s closed the task #%d', $author, $eventData['task']['id']);
+            case TaskModel::EVENT_OPEN:
+                return e('%s opened the task #%d', $author, $eventData['task']['id']);
+            case TaskModel::EVENT_MOVE_COLUMN:
+                return e(
+                    '%s moved the task #%d to the column "%s"',
+                    $author,
+                    $eventData['task']['id'],
+                    $eventData['task']['column_title']
+                );
+            case TaskModel::EVENT_MOVE_POSITION:
+                return e(
+                    '%s moved the task #%d to the position %d in the column "%s"',
+                    $author,
+                    $eventData['task']['id'],
+                    $eventData['task']['position'],
+                    $eventData['task']['column_title']
+                );
+            case TaskModel::EVENT_MOVE_SWIMLANE:
+                if ($eventData['task']['swimlane_id'] == 0) {
+                    return e('%s moved the task #%d to the first swimlane', $author, $eventData['task']['id']);
+                }
+
+                return e(
+                    '%s moved the task #%d to the swimlane "%s"',
+                    $author,
+                    $eventData['task']['id'],
+                    $eventData['task']['swimlane_name']
+                );
+
+            case TaskModel::EVENT_USER_MENTION:
+                return e('%s mentioned you in the task #%d', $author, $eventData['task']['id']);
+            default:
+                return '';
+        }
+    }
+
+    /**
+     * Get event title without author
+     *
+     * @access public
+     * @param  string $eventName
+     * @param  array  $eventData
+     * @return string
+     */
+    public function buildTitleWithoutAuthor($eventName, array $eventData)
+    {
+        switch ($eventName) {
+            case TaskModel::EVENT_CREATE:
+                return e('New task #%d: %s', $eventData['task']['id'], $eventData['task']['title']);
+            case TaskModel::EVENT_UPDATE:
+                return e('Task updated #%d', $eventData['task']['id']);
+            case TaskModel::EVENT_CLOSE:
+                return e('Task #%d closed', $eventData['task']['id']);
+            case TaskModel::EVENT_OPEN:
+                return e('Task #%d opened', $eventData['task']['id']);
+            case TaskModel::EVENT_MOVE_COLUMN:
+                return e('Column changed for task #%d', $eventData['task']['id']);
+            case TaskModel::EVENT_MOVE_POSITION:
+                return e('New position for task #%d', $eventData['task']['id']);
+            case TaskModel::EVENT_MOVE_SWIMLANE:
+                return e('Swimlane changed for task #%d', $eventData['task']['id']);
+            case TaskModel::EVENT_ASSIGNEE_CHANGE:
+                return e('Assignee changed on task #%d', $eventData['task']['id']);
+            case TaskModel::EVENT_OVERDUE:
+                $nb = count($eventData['tasks']);
+                return $nb > 1 ? e('%d overdue tasks', $nb) : e('Task #%d is overdue', $eventData['tasks'][0]['id']);
+            case TaskModel::EVENT_USER_MENTION:
+                return e('You were mentioned in the task #%d', $eventData['task']['id']);
+            default:
+                return '';
+        }
+    }
 }
diff --git a/app/EventBuilder/TaskFileEventBuilder.php b/app/EventBuilder/TaskFileEventBuilder.php
index 7f1ce3b3..8c985cc0 100644
--- a/app/EventBuilder/TaskFileEventBuilder.php
+++ b/app/EventBuilder/TaskFileEventBuilder.php
@@ -4,6 +4,7 @@ namespace Kanboard\EventBuilder;
 
 use Kanboard\Event\TaskFileEvent;
 use Kanboard\Event\GenericEvent;
+use Kanboard\Model\TaskFileModel;
 
 /**
  * Class TaskFileEventBuilder
@@ -33,7 +34,7 @@ class TaskFileEventBuilder extends BaseEventBuilder
      * @access public
      * @return GenericEvent|null
      */
-    public function build()
+    public function buildEvent()
     {
         $file = $this->taskFileModel->getById($this->fileId);
 
@@ -47,4 +48,39 @@ class TaskFileEventBuilder extends BaseEventBuilder
             'task' => $this->taskFinderModel->getDetails($file['task_id']),
         ));
     }
+
+    /**
+     * Get event title with author
+     *
+     * @access public
+     * @param  string $author
+     * @param  string $eventName
+     * @param  array  $eventData
+     * @return string
+     */
+    public function buildTitleWithAuthor($author, $eventName, array $eventData)
+    {
+        if ($eventName === TaskFileModel::EVENT_CREATE) {
+            return e('%s attached a file to the task #%d', $author, $eventData['task']['id']);
+        }
+
+        return '';
+    }
+
+    /**
+     * Get event title without author
+     *
+     * @access public
+     * @param  string $eventName
+     * @param  array  $eventData
+     * @return string
+     */
+    public function buildTitleWithoutAuthor($eventName, array $eventData)
+    {
+        if ($eventName === TaskFileModel::EVENT_CREATE) {
+            return e('New attachment on task #%d: %s', $eventData['file']['task_id'], $eventData['file']['name']);
+        }
+
+        return '';
+    }
 }
diff --git a/app/EventBuilder/TaskLinkEventBuilder.php b/app/EventBuilder/TaskLinkEventBuilder.php
index 8be5299f..f1a3fba2 100644
--- a/app/EventBuilder/TaskLinkEventBuilder.php
+++ b/app/EventBuilder/TaskLinkEventBuilder.php
@@ -33,7 +33,7 @@ class TaskLinkEventBuilder extends BaseEventBuilder
      * @access public
      * @return TaskLinkEvent|null
      */
-    public function build()
+    public function buildEvent()
     {
         $taskLink = $this->taskLinkModel->getById($this->taskLinkId);
 
diff --git a/app/Job/CommentEventJob.php b/app/Job/CommentEventJob.php
index c89350ed..47cf8020 100644
--- a/app/Job/CommentEventJob.php
+++ b/app/Job/CommentEventJob.php
@@ -37,7 +37,7 @@ class CommentEventJob extends BaseJob
     {
         $event = CommentEventBuilder::getInstance($this->container)
             ->withCommentId($commentId)
-            ->build();
+            ->buildEvent();
 
         if ($event !== null) {
             $this->dispatcher->dispatch($eventName, $event);
diff --git a/app/Job/ProjectFileEventJob.php b/app/Job/ProjectFileEventJob.php
index d68949c5..45e6ece3 100644
--- a/app/Job/ProjectFileEventJob.php
+++ b/app/Job/ProjectFileEventJob.php
@@ -36,7 +36,7 @@ class ProjectFileEventJob extends BaseJob
     {
         $event = ProjectFileEventBuilder::getInstance($this->container)
             ->withFileId($fileId)
-            ->build();
+            ->buildEvent();
 
         if ($event !== null) {
             $this->dispatcher->dispatch($eventName, $event);
diff --git a/app/Job/SubtaskEventJob.php b/app/Job/SubtaskEventJob.php
index 1dc243ef..85c4d73e 100644
--- a/app/Job/SubtaskEventJob.php
+++ b/app/Job/SubtaskEventJob.php
@@ -39,7 +39,7 @@ class SubtaskEventJob extends BaseJob
         $event = SubtaskEventBuilder::getInstance($this->container)
             ->withSubtaskId($subtaskId)
             ->withValues($values)
-            ->build();
+            ->buildEvent();
 
         if ($event !== null) {
             $this->dispatcher->dispatch($eventName, $event);
diff --git a/app/Job/TaskEventJob.php b/app/Job/TaskEventJob.php
index 46f7a16c..7d026a68 100644
--- a/app/Job/TaskEventJob.php
+++ b/app/Job/TaskEventJob.php
@@ -47,7 +47,7 @@ class TaskEventJob extends BaseJob
             ->withChanges($changes)
             ->withValues($values)
             ->withTask($task)
-            ->build();
+            ->buildEvent();
 
         if ($event !== null) {
             foreach ($eventNames as $eventName) {
diff --git a/app/Job/TaskFileEventJob.php b/app/Job/TaskFileEventJob.php
index de2c40db..293dbf27 100644
--- a/app/Job/TaskFileEventJob.php
+++ b/app/Job/TaskFileEventJob.php
@@ -36,7 +36,7 @@ class TaskFileEventJob extends BaseJob
     {
         $event = TaskFileEventBuilder::getInstance($this->container)
             ->withFileId($fileId)
-            ->build();
+            ->buildEvent();
 
         if ($event !== null) {
             $this->dispatcher->dispatch($eventName, $event);
diff --git a/app/Job/TaskLinkEventJob.php b/app/Job/TaskLinkEventJob.php
index 669608ad..31f62f07 100644
--- a/app/Job/TaskLinkEventJob.php
+++ b/app/Job/TaskLinkEventJob.php
@@ -36,7 +36,7 @@ class TaskLinkEventJob extends BaseJob
     {
         $event = TaskLinkEventBuilder::getInstance($this->container)
             ->withTaskLinkId($taskLinkId)
-            ->build();
+            ->buildEvent();
 
         if ($event !== null) {
             $this->dispatcher->dispatch($eventName, $event);
diff --git a/app/Locale/bs_BA/translations.php b/app/Locale/bs_BA/translations.php
index 6a062068..f1529e02 100644
--- a/app/Locale/bs_BA/translations.php
+++ b/app/Locale/bs_BA/translations.php
@@ -386,14 +386,14 @@ return array(
     '%s updated the task #%d' => '%s ažurirao zadatak #%d',
     '%s created the task #%d' => '%s kreirao zadatak #%d',
     '%s closed the task #%d' => '%s zatvorio zadatak #%d',
-    '%s open the task #%d' => '%s otvorio zadatak #%d',
+    '%s opened the task #%d' => '%s otvorio zadatak #%d',
     '%s moved the task #%d to the column "%s"' => '%s premjestio zadatak #%d u kolonu "%s"',
     '%s moved the task #%d to the position %d in the column "%s"' => '%s premjestio zadatak #%d na poziciju %d u koloni "%s"',
     'Activity' => 'Aktivnosti',
     'Default values are "%s"' => 'Podrazumijevane vrijednosti su: "%s"',
     'Default columns for new projects (Comma-separated)' => 'Podrazumijevane kolone za novi projekat (Odvojene zarezom)',
     'Task assignee change' => 'Promijena izvršioca zadatka',
-    '%s change the assignee of the task #%d to %s' => '%s zamijeni izvršioca za zadatak #%d u %s',
+    '%s changed the assignee of the task #%d to %s' => '%s zamijeni izvršioca za zadatak #%d u %s',
     '%s changed the assignee of the task %s to %s' => '%s promijenio izvršioca za zadatak %s u %s',
     'New password for the user "%s"' => 'Nova šifra korisnika "%s"',
     'Choose an event' => 'Izaberi događaj',
@@ -601,7 +601,7 @@ return array(
     'The currency rate have been added successfully.' => 'Stopa valute je uspješno dodana.',
     'Unable to add this currency rate.' => 'Nemoguće dodati stopu valute.',
     'Webhook URL' => 'Webhook URL',
-    '%s remove the assignee of the task %s' => '%s je uklonio izvršioca zadatka %s',
+    '%s removed the assignee of the task %s' => '%s je uklonio izvršioca zadatka %s',
     'Enable Gravatar images' => 'Omogući Gravatar slike',
     'Information' => 'Informacije',
     'Check two factor authentication code' => 'Provjera faktor-dva autentifikacionog koda',
diff --git a/app/Locale/cs_CZ/translations.php b/app/Locale/cs_CZ/translations.php
index b9a4de6e..c7e6e536 100644
--- a/app/Locale/cs_CZ/translations.php
+++ b/app/Locale/cs_CZ/translations.php
@@ -386,14 +386,14 @@ return array(
     '%s updated the task #%d' => '%s aktualizoval úkol #%d ',
     '%s created the task #%d' => '%s vytvořil úkol #%d ',
     '%s closed the task #%d' => '%s uzavřel úkol #%d ',
-    '%s open the task #%d' => '%s znovu otevřel úkol #%d ',
+    '%s opened the task #%d' => '%s znovu otevřel úkol #%d ',
     '%s moved the task #%d to the column "%s"' => '%s přesunul úkol #%d do sloupce "%s" ',
     '%s moved the task #%d to the position %d in the column "%s"' => '%s přesunul úkol #%d na pozici %d ve sloupci "%s" ',
     'Activity' => 'Aktivity',
     'Default values are "%s"' => 'Standardní hodnoty jsou: "%s"',
     'Default columns for new projects (Comma-separated)' => 'Výchozí sloupce pro nové projekty (odděleny čárkou)',
     'Task assignee change' => 'Změna přiřazení uživatelů',
-    '%s change the assignee of the task #%d to %s' => '%s změnil přidělení úkolu #%d na uživatele %s',
+    '%s changed the assignee of the task #%d to %s' => '%s změnil přidělení úkolu #%d na uživatele %s',
     '%s changed the assignee of the task %s to %s' => '%s změnil přidělení úkolu %s na uživatele %s',
     'New password for the user "%s"' => 'Nové heslo pro uživatele "%s"',
     'Choose an event' => 'Vybrat událost',
@@ -601,7 +601,7 @@ return array(
     'The currency rate have been added successfully.' => 'Směnný kurz byl úspěšně přidán.',
     'Unable to add this currency rate.' => 'Nelze přidat tento směnný kurz',
     'Webhook URL' => 'Webhook URL',
-    '%s remove the assignee of the task %s' => '%s odstranil přiřazení úkolu %s ',
+    '%s removed the assignee of the task %s' => '%s odstranil přiřazení úkolu %s ',
     'Enable Gravatar images' => 'Aktiviere Gravatar Bilder',
     'Information' => 'Informace',
     'Check two factor authentication code' => 'Zkontrolujte dvouúrovňový autentifikační klíč',
diff --git a/app/Locale/da_DK/translations.php b/app/Locale/da_DK/translations.php
index 050a37d9..6cecfaec 100644
--- a/app/Locale/da_DK/translations.php
+++ b/app/Locale/da_DK/translations.php
@@ -386,14 +386,14 @@ return array(
     '%s updated the task #%d' => '%s opdaterede opgaven #%d',
     '%s created the task #%d' => '%s oprettede opgaven #%d',
     '%s closed the task #%d' => '%s lukkede opgaven #%d',
-    '%s open the task #%d' => '%s åbnede opgaven #%d',
+    '%s opened the task #%d' => '%s åbnede opgaven #%d',
     '%s moved the task #%d to the column "%s"' => '%s flyttede opgaven #%d til kolonnen "%s"',
     '%s moved the task #%d to the position %d in the column "%s"' => '%s flyttede opgaven #%d til position %d i kolonnen "%s"',
     'Activity' => 'Aktivitet',
     'Default values are "%s"' => 'Standard værdier er "%s"',
     'Default columns for new projects (Comma-separated)' => 'Standard kolonne for nye projekter (kommasepareret)',
     'Task assignee change' => 'Opgaven ansvarlig ændring',
-    '%s change the assignee of the task #%d to %s' => '%s skrift ansvarlig for opgaven #%d til %s',
+    '%s changed the assignee of the task #%d to %s' => '%s skrift ansvarlig for opgaven #%d til %s',
     '%s changed the assignee of the task %s to %s' => '%s skift ansvarlig for opgaven %s til %s',
     'New password for the user "%s"' => 'Ny adgangskode for brugeren "%s"',
     'Choose an event' => 'Vælg et event',
@@ -601,7 +601,7 @@ return array(
     // 'The currency rate have been added successfully.' => '',
     // 'Unable to add this currency rate.' => '',
     // 'Webhook URL' => '',
-    // '%s remove the assignee of the task %s' => '',
+    // '%s removed the assignee of the task %s' => '',
     // 'Enable Gravatar images' => '',
     // 'Information' => '',
     // 'Check two factor authentication code' => '',
diff --git a/app/Locale/de_DE/translations.php b/app/Locale/de_DE/translations.php
index d6c8bf60..d25e7e8a 100644
--- a/app/Locale/de_DE/translations.php
+++ b/app/Locale/de_DE/translations.php
@@ -386,14 +386,14 @@ return array(
     '%s updated the task #%d' => '%s hat die Aufgabe #%d aktualisiert',
     '%s created the task #%d' => '%s hat die Aufgabe #%d angelegt',
     '%s closed the task #%d' => '%s hat die Aufgabe #%d geschlossen',
-    '%s open the task #%d' => '%s hat die Aufgabe #%d geöffnet',
+    '%s opened the task #%d' => '%s hat die Aufgabe #%d geöffnet',
     '%s moved the task #%d to the column "%s"' => '%s hat die Aufgabe #%d in die Spalte "%s" verschoben',
     '%s moved the task #%d to the position %d in the column "%s"' => '%s hat die Aufgabe #%d an die Position %d in der Spalte "%s" verschoben',
     'Activity' => 'Aktivität',
     'Default values are "%s"' => 'Die Standardwerte sind "%s"',
     'Default columns for new projects (Comma-separated)' => 'Standardspalten für neue Projekte (komma-getrennt)',
     'Task assignee change' => 'Zuständigkeit geändert',
-    '%s change the assignee of the task #%d to %s' => '%s hat die Zusständigkeit der Aufgabe #%d geändert um %s',
+    '%s changed the assignee of the task #%d to %s' => '%s hat die Zusständigkeit der Aufgabe #%d geändert um %s',
     '%s changed the assignee of the task %s to %s' => '%s hat die Zuständigkeit der Aufgabe %s geändert um %s',
     'New password for the user "%s"' => 'Neues Passwort des Benutzers "%s"',
     'Choose an event' => 'Aktion wählen',
@@ -601,7 +601,7 @@ return array(
     'The currency rate have been added successfully.' => 'Der Währungskurs wurde erfolgreich hinzugefügt.',
     'Unable to add this currency rate.' => 'Währungskurs konnte nicht hinzugefügt werden',
     'Webhook URL' => 'Webhook-URL',
-    '%s remove the assignee of the task %s' => '%s Zuordnung für die Aufgabe %s entfernen',
+    '%s removed the assignee of the task %s' => '%s Zuordnung für die Aufgabe %s entfernen',
     'Enable Gravatar images' => 'Aktiviere Gravatar-Bilder',
     'Information' => 'Information',
     'Check two factor authentication code' => 'Prüfe Zwei-Faktor-Authentifizierungscode',
diff --git a/app/Locale/el_GR/translations.php b/app/Locale/el_GR/translations.php
index 87ea68b0..b02207d5 100644
--- a/app/Locale/el_GR/translations.php
+++ b/app/Locale/el_GR/translations.php
@@ -386,14 +386,14 @@ return array(
     '%s updated the task #%d' => '%s ενημέρωσε την εργασία n°%d',
     '%s created the task #%d' => '%s δημιούργησε την εργασία n°%d',
     '%s closed the task #%d' => '%s έκλεισε την εργασία n°%d',
-    '%s open the task #%d' => '%s άνοιξε την εργασία n°%d',
+    '%s opened the task #%d' => '%s άνοιξε την εργασία n°%d',
     '%s moved the task #%d to the column "%s"' => '%s μετακίνησε την εργασία n°%d στη στήλη « %s »',
     '%s moved the task #%d to the position %d in the column "%s"' => '%s μετακίνησε την εργασία n°%d στη θέση n°%d της στήλης « %s »',
     'Activity' => 'Δραστηριότητα',
     'Default values are "%s"' => 'Οι προεπιλεγμένες τιμές είναι « %s »',
     'Default columns for new projects (Comma-separated)' => 'Προεπιλεγμένες στήλες για νέα έργα (Comma-separated)',
     'Task assignee change' => 'Αλλαγή εκδοχέα εργασίας',
-    '%s change the assignee of the task #%d to %s' => '%s άλλαξε τον εκδοχέα της εργασίας n˚%d σε %s',
+    '%s changed the assignee of the task #%d to %s' => '%s άλλαξε τον εκδοχέα της εργασίας n˚%d σε %s',
     '%s changed the assignee of the task %s to %s' => '%s ενημέρωσε τον εκδοχέα της εργασίας %s σε %s',
     'New password for the user "%s"' => 'Νέο password του χρήστη « %s »',
     'Choose an event' => 'Επιλογή event',
@@ -601,7 +601,7 @@ return array(
     'The currency rate have been added successfully.' => 'Η ισοτιμία προστέθηκε με επιτυχία.',
     'Unable to add this currency rate.' => 'Αδύνατο να προστεθεί αυτή η ισοτιμία.',
     'Webhook URL' => 'Webhook URL',
-    '%s remove the assignee of the task %s' => '%s αφαίρεσε τον εκδοχέα της εργασίας %s',
+    '%s removed the assignee of the task %s' => '%s αφαίρεσε τον εκδοχέα της εργασίας %s',
     'Enable Gravatar images' => 'Ενεργοποίηση εικόνων Gravatar',
     'Information' => 'Πληροφορίες',
     'Check two factor authentication code' => 'Ελέγξτε δύο παράγοντες ελέγχου ταυτότητας κωδικού',
diff --git a/app/Locale/es_ES/translations.php b/app/Locale/es_ES/translations.php
index 1a4bae82..fa59ca07 100644
--- a/app/Locale/es_ES/translations.php
+++ b/app/Locale/es_ES/translations.php
@@ -386,14 +386,14 @@ return array(
     '%s updated the task #%d' => '%s actualizó la tarea #%d',
     '%s created the task #%d' => '%s creó la tarea #%d',
     '%s closed the task #%d' => '%s cerró la tarea #%d',
-    '%s open the task #%d' => '%s abrió la tarea #%d',
+    '%s opened the task #%d' => '%s abrió la tarea #%d',
     '%s moved the task #%d to the column "%s"' => '%s movió la tarea #%d a la columna «%s»',
     '%s moved the task #%d to the position %d in the column "%s"' => '%s movió la tarea #%d a la posición %d de la columna «%s»',
     'Activity' => 'Actividad',
     'Default values are "%s"' => 'Los valores por defecto son «%s»',
     'Default columns for new projects (Comma-separated)' => 'Columnas por defecto para los nuevos proyectos (separadas mediante comas)',
     'Task assignee change' => 'Cambiar responsable de la tarea',
-    '%s change the assignee of the task #%d to %s' => '%s cambió el responsable de la tarea #%d por %s',
+    '%s changed the assignee of the task #%d to %s' => '%s cambió el responsable de la tarea #%d por %s',
     '%s changed the assignee of the task %s to %s' => '%s cambió el responsable de la tarea %s por %s',
     'New password for the user "%s"' => 'Nueva contraseña para el usuario «%s»',
     'Choose an event' => 'Seleccione un evento',
@@ -601,7 +601,7 @@ return array(
     'The currency rate have been added successfully.' => 'El cambio de moneda se ha añadido correctamente.',
     'Unable to add this currency rate.' => 'No se puede añadir este cambio de moneda.',
     'Webhook URL' => 'URL del disparador web (webhook)',
-    '%s remove the assignee of the task %s' => '%s quita el responsable de la tarea %s',
+    '%s removed the assignee of the task %s' => '%s quita el responsable de la tarea %s',
     'Enable Gravatar images' => 'Activar imágenes Gravatar',
     'Information' => 'Información',
     'Check two factor authentication code' => 'Revisar código de autenticación en dos pasos',
diff --git a/app/Locale/fi_FI/translations.php b/app/Locale/fi_FI/translations.php
index 5d37cb82..200a9cde 100644
--- a/app/Locale/fi_FI/translations.php
+++ b/app/Locale/fi_FI/translations.php
@@ -386,14 +386,14 @@ return array(
     '%s updated the task #%d' => '%s päivitti tehtävää #%d',
     '%s created the task #%d' => '%s loi tehtävän #%d',
     '%s closed the task #%d' => '%s sulki tehtävän #%d',
-    '%s open the task #%d' => '%s avasi tehtävän #%d',
+    '%s opened the task #%d' => '%s avasi tehtävän #%d',
     '%s moved the task #%d to the column "%s"' => '%s siirsi tehtävän #%d sarakkeeseen "%s"',
     '%s moved the task #%d to the position %d in the column "%s"' => '%s siirsi tehtävän #%d %d. sarakkeessa %s',
     'Activity' => 'Toiminta',
     'Default values are "%s"' => 'Oletusarvot ovat "%s"',
     'Default columns for new projects (Comma-separated)' => 'Oletussarakkeet uusille projekteille',
     'Task assignee change' => 'Tehtävän saajan vaihto',
-    '%s change the assignee of the task #%d to %s' => '%s vaihtoi tehtävän #%d saajaksi %s',
+    '%s changed the assignee of the task #%d to %s' => '%s vaihtoi tehtävän #%d saajaksi %s',
     '%s changed the assignee of the task %s to %s' => '%s vaihtoi tehtävän %s saajaksi %s',
     'New password for the user "%s"' => 'Uusi salasana käyttäjälle "%s"',
     'Choose an event' => 'Valitse toiminta',
@@ -601,7 +601,7 @@ return array(
     // 'The currency rate have been added successfully.' => '',
     // 'Unable to add this currency rate.' => '',
     // 'Webhook URL' => '',
-    // '%s remove the assignee of the task %s' => '',
+    // '%s removed the assignee of the task %s' => '',
     // 'Enable Gravatar images' => '',
     // 'Information' => '',
     // 'Check two factor authentication code' => '',
diff --git a/app/Locale/fr_FR/translations.php b/app/Locale/fr_FR/translations.php
index c8f7d343..9f6cf971 100644
--- a/app/Locale/fr_FR/translations.php
+++ b/app/Locale/fr_FR/translations.php
@@ -386,14 +386,14 @@ return array(
     '%s updated the task #%d' => '%s a mis à jour la tâche n°%d',
     '%s created the task #%d' => '%s a créé la tâche n°%d',
     '%s closed the task #%d' => '%s a fermé la tâche n°%d',
-    '%s open the task #%d' => '%s a ouvert la tâche n°%d',
+    '%s opened the task #%d' => '%s a ouvert la tâche n°%d',
     '%s moved the task #%d to the column "%s"' => '%s a déplacé la tâche n°%d dans la colonne « %s »',
     '%s moved the task #%d to the position %d in the column "%s"' => '%s a déplacé la tâche n°%d à la position n°%d dans la colonne « %s »',
     'Activity' => 'Activité',
     'Default values are "%s"' => 'Les valeurs par défaut sont « %s »',
     'Default columns for new projects (Comma-separated)' => 'Colonnes par défaut pour les nouveaux projets (séparation par des virgules)',
     'Task assignee change' => 'Modification de la personne assignée à une tâche',
-    '%s change the assignee of the task #%d to %s' => '%s a changé la personne assignée à la tâche n˚%d pour %s',
+    '%s changed the assignee of the task #%d to %s' => '%s a changé la personne assignée à la tâche n˚%d pour %s',
     '%s changed the assignee of the task %s to %s' => '%s a changé la personne assignée à la tâche %s pour %s',
     'New password for the user "%s"' => 'Nouveau mot de passe pour l\'utilisateur « %s »',
     'Choose an event' => 'Choisir un événement',
@@ -601,7 +601,7 @@ return array(
     'The currency rate have been added successfully.' => 'Le taux de change a été ajouté avec succès.',
     'Unable to add this currency rate.' => 'Impossible d\'ajouter ce taux de change',
     'Webhook URL' => 'URL du webhook',
-    '%s remove the assignee of the task %s' => '%s a enlevé la personne assignée à la tâche %s',
+    '%s removed the assignee of the task %s' => '%s a enlevé la personne assignée à la tâche %s',
     'Enable Gravatar images' => 'Activer les images Gravatar',
     'Information' => 'Informations',
     'Check two factor authentication code' => 'Vérification du code pour l\'authentification à deux-facteurs',
diff --git a/app/Locale/hu_HU/translations.php b/app/Locale/hu_HU/translations.php
index febf8bc0..781a0423 100644
--- a/app/Locale/hu_HU/translations.php
+++ b/app/Locale/hu_HU/translations.php
@@ -386,14 +386,14 @@ return array(
     '%s updated the task #%d' => '%s frissítette a feladatot #%d',
     '%s created the task #%d' => '%s létrehozta a feladatot #%d',
     '%s closed the task #%d' => '%s lezárta a feladatot #%d',
-    '%s open the task #%d' => '%s megnyitotta a feladatot #%d',
+    '%s opened the task #%d' => '%s megnyitotta a feladatot #%d',
     '%s moved the task #%d to the column "%s"' => '%s átmozgatta a feladatot #%d a "%s" oszlopba',
     '%s moved the task #%d to the position %d in the column "%s"' => '%s átmozgatta a feladatot #%d a %d pozícióba a "%s" oszlopban',
     'Activity' => 'Tevékenységek',
     'Default values are "%s"' => 'Az alapértelmezett értékek: %s',
     'Default columns for new projects (Comma-separated)' => 'Alapértelmezett oszlopok az új projektekben (vesszővel elválasztva)',
     'Task assignee change' => 'Felelős módosítása',
-    '%s change the assignee of the task #%d to %s' => '%s a felelőst módosította #%d %s',
+    '%s changed the assignee of the task #%d to %s' => '%s a felelőst módosította #%d %s',
     '%s changed the assignee of the task %s to %s' => '%s a felelőst %s módosította: %s',
     'New password for the user "%s"' => 'Felhasználó új jelszava: %s',
     'Choose an event' => 'Válasszon eseményt',
@@ -601,7 +601,7 @@ return array(
     'The currency rate have been added successfully.' => 'Az átváltási árfolyammal történő bővítés sikerült',
     'Unable to add this currency rate.' => 'Nem sikerült az átváltási árfolyam felvétele',
     'Webhook URL' => 'Webhook URL',
-    '%s remove the assignee of the task %s' => '%s eltávolította a %s feladathoz rendelt személyt',
+    '%s removed the assignee of the task %s' => '%s eltávolította a %s feladathoz rendelt személyt',
     'Enable Gravatar images' => 'Gravatár képek engedélyezése',
     'Information' => 'Információ',
     'Check two factor authentication code' => 'Két fázisú beléptető kód ellenőrzése',
diff --git a/app/Locale/id_ID/translations.php b/app/Locale/id_ID/translations.php
index 18a7a72d..26e091ce 100644
--- a/app/Locale/id_ID/translations.php
+++ b/app/Locale/id_ID/translations.php
@@ -386,14 +386,14 @@ return array(
     '%s updated the task #%d' => '%s memperbaharui tugas n°%d',
     '%s created the task #%d' => '%s membuat tugas n°%d',
     '%s closed the task #%d' => '%s menutup tugas n°%d',
-    '%s open the task #%d' => '%s membuka tugas n°%d',
+    '%s opened the task #%d' => '%s membuka tugas n°%d',
     '%s moved the task #%d to the column "%s"' => '%s memindahkan tugas n°%d ke kolom « %s »',
     '%s moved the task #%d to the position %d in the column "%s"' => '%s memindahkan tugas n°%d ke posisi n°%d dalam kolom « %s »',
     'Activity' => 'Aktifitas',
     'Default values are "%s"' => 'Standar nilai adalah« %s »',
     'Default columns for new projects (Comma-separated)' => 'Kolom default untuk proyek baru (dipisahkan dengan koma)',
     'Task assignee change' => 'Mengubah orang ditugaskan untuk tugas',
-    '%s change the assignee of the task #%d to %s' => '%s rubah orang yang ditugaskan dari tugas n%d ke %s',
+    '%s changed the assignee of the task #%d to %s' => '%s rubah orang yang ditugaskan dari tugas n%d ke %s',
     '%s changed the assignee of the task %s to %s' => '%s mengubah orang yang ditugaskan dari tugas %s ke %s',
     'New password for the user "%s"' => 'Kata sandi baru untuk pengguna « %s »',
     'Choose an event' => 'Pilih acara',
@@ -601,7 +601,7 @@ return array(
     'The currency rate have been added successfully.' => 'Nilai tukar mata uang berhasil ditambahkan.',
     'Unable to add this currency rate.' => 'Tidak dapat menambahkan nilai tukar mata uang',
     'Webhook URL' => 'URL webhook',
-    '%s remove the assignee of the task %s' => '%s menghapus penugasan dari tugas %s',
+    '%s removed the assignee of the task %s' => '%s menghapus penugasan dari tugas %s',
     'Enable Gravatar images' => 'Mengaktifkan gambar Gravatar',
     'Information' => 'Informasi',
     'Check two factor authentication code' => 'Cek dua faktor kode otentifikasi',
diff --git a/app/Locale/it_IT/translations.php b/app/Locale/it_IT/translations.php
index f6c63076..aadbfe5b 100644
--- a/app/Locale/it_IT/translations.php
+++ b/app/Locale/it_IT/translations.php
@@ -386,14 +386,14 @@ return array(
     '%s updated the task #%d' => '%s ha aggiornato il task #%d',
     '%s created the task #%d' => '%s ha creato il task #%d',
     '%s closed the task #%d' => '%s ha chiuso il task #%d',
-    '%s open the task #%d' => '%s ha aperto il task #%d',
+    '%s opened the task #%d' => '%s ha aperto il task #%d',
     '%s moved the task #%d to the column "%s"' => '%s ha spostato il task #%d nella colonna "%s"',
     '%s moved the task #%d to the position %d in the column "%s"' => '%s ha spostato il task #%d nella posizione %d della colonna "%s"',
     'Activity' => 'Attività',
     'Default values are "%s"' => 'Valori di default "%s"',
     'Default columns for new projects (Comma-separated)' => 'Colonne di default per i nuovi progetti (Separati da virgola)',
     'Task assignee change' => 'Cambia l\'assegnatario del task',
-    '%s change the assignee of the task #%d to %s' => '%s dai l\'assegnazione del task #%d a %s',
+    '%s changed the assignee of the task #%d to %s' => '%s dai l\'assegnazione del task #%d a %s',
     '%s changed the assignee of the task %s to %s' => '%s ha cambiato l\'assegnatario del task %s a %s',
     'New password for the user "%s"' => 'Nuova password per l\'utente "%s"',
     'Choose an event' => 'Scegli un evento',
@@ -601,7 +601,7 @@ return array(
     'The currency rate have been added successfully.' => 'Il tasso di cambio è stato aggiunto con successo.',
     'Unable to add this currency rate.' => 'Impossibile aggiungere questo tasso di cambio.',
     'Webhook URL' => 'URL Webhook',
-    '%s remove the assignee of the task %s' => '%s rimuove l\'assegnatario del task %s',
+    '%s removed the assignee of the task %s' => '%s rimuove l\'assegnatario del task %s',
     'Enable Gravatar images' => 'Abilita immagini Gravatar',
     'Information' => 'Informazioni',
     'Check two factor authentication code' => 'Controlla il codice di autenticazione "two-factor"',
diff --git a/app/Locale/ja_JP/translations.php b/app/Locale/ja_JP/translations.php
index dab731d2..03fa55ed 100644
--- a/app/Locale/ja_JP/translations.php
+++ b/app/Locale/ja_JP/translations.php
@@ -386,14 +386,14 @@ return array(
     '%s updated the task #%d' => '%s がタスク #%d を更新しました',
     '%s created the task #%d' => '%s がタスク #%d を追加しました',
     '%s closed the task #%d' => '%s がタスク #%d をクローズしました',
-    '%s open the task #%d' => '%s がタスク #%d をオープンしました',
+    '%s opened the task #%d' => '%s がタスク #%d をオープンしました',
     '%s moved the task #%d to the column "%s"' => '%s がタスク #%d をカラム「%s」に移動しました',
     '%s moved the task #%d to the position %d in the column "%s"' => '%s がタスク #%d を位置 %d カラム「%s」移動しました',
     'Activity' => 'アクティビティ',
     'Default values are "%s"' => 'デフォルト値は「%s」',
     'Default columns for new projects (Comma-separated)' => '新規プロジェクトのデフォルトカラム (コンマで区切って入力)',
     'Task assignee change' => '担当者の変更',
-    '%s change the assignee of the task #%d to %s' => '%s がタスク #%d の担当を %s に変更しました',
+    '%s changed the assignee of the task #%d to %s' => '%s がタスク #%d の担当を %s に変更しました',
     '%s changed the assignee of the task %s to %s' => '%s がタスク %s の担当を %s に変更しました',
     'New password for the user "%s"' => 'ユーザ「%s」の新しいパスワード',
     'Choose an event' => 'イベントの選択',
@@ -601,7 +601,7 @@ return array(
     // 'The currency rate have been added successfully.' => '',
     'Unable to add this currency rate.' => 'この通貨レートを追加できません。',
     'Webhook URL' => 'Webhook URL',
-    '%s remove the assignee of the task %s' => '%s がタスク「%s」の担当を解除しました。',
+    '%s removed the assignee of the task %s' => '%s がタスク「%s」の担当を解除しました。',
     'Enable Gravatar images' => 'Gravatar イメージを有効化',
     'Information' => '情報 ',
     'Check two factor authentication code' => '2 段認証をチェックする',
diff --git a/app/Locale/ko_KR/translations.php b/app/Locale/ko_KR/translations.php
index 0b6007b1..bf140d94 100644
--- a/app/Locale/ko_KR/translations.php
+++ b/app/Locale/ko_KR/translations.php
@@ -386,14 +386,14 @@ return array(
     '%s updated the task #%d' => '%s이 할일#%d을 갱신했습니다',
     '%s created the task #%d' => '%s이 할일#%d을 추가했습니다',
     '%s closed the task #%d' => '%s이 할일#%d을 닫혔습니다',
-    '%s open the task #%d' => '%s이 할일#%d를 오픈했습니다',
+    '%s opened the task #%d' => '%s이 할일#%d를 오픈했습니다',
     '%s moved the task #%d to the column "%s"' => '%s이 할일#%d을 칼럼"%s"로 옮겼습니다',
     '%s moved the task #%d to the position %d in the column "%s"' => '%s이 할일#%d을 칼럼 "%s"의 %d 위치로 이동시켰습니다',
     'Activity' => '활동',
     'Default values are "%s"' => '기본 값은 "%s" 입니다',
     'Default columns for new projects (Comma-separated)' => '새로운 프로젝트의 기본 칼럼 (콤마(,)로 분리됨)',
     'Task assignee change' => '담당자의 변경',
-    '%s change the assignee of the task #%d to %s' => '%s이 할일 #%d의 담당을 %s로 변경합니다',
+    '%s changed the assignee of the task #%d to %s' => '%s이 할일 #%d의 담당을 %s로 변경합니다',
     '%s changed the assignee of the task %s to %s' => '%s이 할일 %s의 담당을 %s로 변경했습니다',
     'New password for the user "%s"' => '사용자 "%s"의 새로운 패스워드',
     'Choose an event' => '행사의 선택',
@@ -601,7 +601,7 @@ return array(
     'The currency rate have been added successfully.' => '통화가 성공적으로 추가되었습니다',
     'Unable to add this currency rate.' => '이 통화 환율을 추가할 수 없습니다.',
     'Webhook URL' => 'Webhook URL',
-    '%s remove the assignee of the task %s' => '%s이 할일 %s의 담당을 삭제했습니다',
+    '%s removed the assignee of the task %s' => '%s이 할일 %s의 담당을 삭제했습니다',
     'Enable Gravatar images' => 'Gravatar이미지를 활성화',
     'Information' => '정보',
     'Check two factor authentication code' => '2단 인증을 체크한다',
diff --git a/app/Locale/my_MY/translations.php b/app/Locale/my_MY/translations.php
index 3d66b0bb..cf4f399c 100644
--- a/app/Locale/my_MY/translations.php
+++ b/app/Locale/my_MY/translations.php
@@ -386,14 +386,14 @@ return array(
     '%s updated the task #%d' => '%s memperbaharui tugas n°%d',
     '%s created the task #%d' => '%s membuat tugas n°%d',
     '%s closed the task #%d' => '%s menutup tugas n°%d',
-    '%s open the task #%d' => '%s membuka tugas n°%d',
+    '%s opened the task #%d' => '%s membuka tugas n°%d',
     '%s moved the task #%d to the column "%s"' => '%s memindahkan tugas n°%d ke kolom « %s »',
     '%s moved the task #%d to the position %d in the column "%s"' => '%s memindahkan tugas n°%d ke posisi n°%d dalam kolom « %s »',
     'Activity' => 'Aktifitas',
     'Default values are "%s"' => 'Standar nilai adalah« %s »',
     'Default columns for new projects (Comma-separated)' => 'Kolom default untuk projek baru (dipisahkan dengan koma)',
     'Task assignee change' => 'Mengubah orang ditugaskan untuk tugas',
-    '%s change the assignee of the task #%d to %s' => '%s rubah orang yang ditugaskan dari tugas n%d ke %s',
+    '%s changed the assignee of the task #%d to %s' => '%s rubah orang yang ditugaskan dari tugas n%d ke %s',
     '%s changed the assignee of the task %s to %s' => '%s mengubah orang yang ditugaskan dari tugas %s ke %s',
     'New password for the user "%s"' => 'Kata laluan baru untuk pengguna « %s »',
     'Choose an event' => 'Pilih sebuah acara',
@@ -601,7 +601,7 @@ return array(
     'The currency rate have been added successfully.' => 'Nilai tukar mata uang berhasil ditambahkan.',
     'Unable to add this currency rate.' => 'Tidak dapat menambahkan nilai tukar mata uang',
     'Webhook URL' => 'URL webhook',
-    '%s remove the assignee of the task %s' => '%s menghapus penugasan dari tugas %s',
+    '%s removed the assignee of the task %s' => '%s menghapus penugasan dari tugas %s',
     'Enable Gravatar images' => 'Mengaktifkan gambar Gravatar',
     'Information' => 'Informasi',
     'Check two factor authentication code' => 'Cek dua faktor kode otentifikasi',
diff --git a/app/Locale/nb_NO/translations.php b/app/Locale/nb_NO/translations.php
index 14e260cb..ce69deb9 100644
--- a/app/Locale/nb_NO/translations.php
+++ b/app/Locale/nb_NO/translations.php
@@ -386,14 +386,14 @@ return array(
     '%s updated the task #%d' => '%s oppdaterte oppgaven #%d',
     '%s created the task #%d' => '%s opprettet oppgaven #%d',
     '%s closed the task #%d' => '%s lukket oppgaven #%d',
-    '%s open the task #%d' => '%s åpnet oppgaven #%d',
+    '%s opened the task #%d' => '%s åpnet oppgaven #%d',
     '%s moved the task #%d to the column "%s"' => '%s flyttet oppgaven #%d til kolonnen "%s"',
     '%s moved the task #%d to the position %d in the column "%s"' => '%s flyttet oppgaven #%d til posisjonen %d i kolonnen "%s"',
     'Activity' => 'Aktivitetslogg',
     'Default values are "%s"' => 'Standardverdier  er "%s"',
     'Default columns for new projects (Comma-separated)' => 'Standard kolonne for nye prosjekter (komma-separert)',
     'Task assignee change' => 'Endring av oppgaveansvarlig',
-    '%s change the assignee of the task #%d to %s' => '%s endre ansvarlig for oppgaven #%d til %s',
+    '%s changed the assignee of the task #%d to %s' => '%s endre ansvarlig for oppgaven #%d til %s',
     '%s changed the assignee of the task %s to %s' => '%s endret ansvarlig for oppgaven %s til %s',
     'New password for the user "%s"' => 'Nytt passord for brukeren "%s"',
     'Choose an event' => 'Velg en hendelse',
@@ -601,7 +601,7 @@ return array(
     // 'The currency rate have been added successfully.' => '',
     // 'Unable to add this currency rate.' => '',
     // 'Webhook URL' => '',
-    // '%s remove the assignee of the task %s' => '',
+    // '%s removed the assignee of the task %s' => '',
     // 'Enable Gravatar images' => '',
     // 'Information' => '',
     // 'Check two factor authentication code' => '',
diff --git a/app/Locale/nl_NL/translations.php b/app/Locale/nl_NL/translations.php
index 8b47d514..d5ba7036 100644
--- a/app/Locale/nl_NL/translations.php
+++ b/app/Locale/nl_NL/translations.php
@@ -386,14 +386,14 @@ return array(
     '%s updated the task #%d' => '%s heeft taak %d aangepast',
     '%s created the task #%d' => '%s heeft taak %d aangemaakt',
     '%s closed the task #%d' => '%s heeft taak %d gesloten',
-    '%s open the task #%d' => '%s a heeft taak %d geopend',
+    '%s opened the task #%d' => '%s a heeft taak %d geopend',
     '%s moved the task #%d to the column "%s"' => '%s heeft taak %d verplaatst naar kolom « %s »',
     '%s moved the task #%d to the position %d in the column "%s"' => '%s heeft taak %d verplaatst naar positie %d in kolom « %s »',
     'Activity' => 'Activiteit',
     'Default values are "%s"' => 'Standaardwaarden zijn « %s »',
     'Default columns for new projects (Comma-separated)' => 'Standaard kolommen voor nieuw projecten (komma gescheiden)',
     'Task assignee change' => 'Taak toegewezene verandering',
-    '%s change the assignee of the task #%d to %s' => '%s heeft de toegewezene voor taak %d veranderd in %s',
+    '%s changed the assignee of the task #%d to %s' => '%s heeft de toegewezene voor taak %d veranderd in %s',
     '%s changed the assignee of the task %s to %s' => '%s heeft de toegewezene voor taak %s veranderd in %s',
     'New password for the user "%s"' => 'Nieuw wachtwoord voor gebruiker « %s »',
     'Choose an event' => 'Kies een gebeurtenis',
@@ -601,7 +601,7 @@ return array(
     // 'The currency rate have been added successfully.' => '',
     // 'Unable to add this currency rate.' => '',
     'Webhook URL' => 'Webhook URL',
-    // '%s remove the assignee of the task %s' => '',
+    // '%s removed the assignee of the task %s' => '',
     // 'Enable Gravatar images' => '',
     // 'Information' => '',
     // 'Check two factor authentication code' => '',
diff --git a/app/Locale/pl_PL/translations.php b/app/Locale/pl_PL/translations.php
index e72649e6..f2570d7c 100644
--- a/app/Locale/pl_PL/translations.php
+++ b/app/Locale/pl_PL/translations.php
@@ -386,14 +386,14 @@ return array(
     '%s updated the task #%d' => '%s zaktualizował zadanie #%d',
     '%s created the task #%d' => '%s utworzył zadanie #%d',
     '%s closed the task #%d' => '%s zamknął zadanie #%d',
-    '%s open the task #%d' => '%s otworzył zadanie #%d',
+    '%s opened the task #%d' => '%s otworzył zadanie #%d',
     '%s moved the task #%d to the column "%s"' => '%s przeniósł zadanie #%d do kolumny "%s"',
     '%s moved the task #%d to the position %d in the column "%s"' => '%s przeniósł zadanie #%d na pozycję %d w kolmnie "%s"',
     'Activity' => 'Aktywność',
     'Default values are "%s"' => 'Domyślne wartości: "%s"',
     'Default columns for new projects (Comma-separated)' => 'Domyślne kolumny dla nowych projektów (oddzielone przecinkiem)',
     'Task assignee change' => 'Zmień osobę odpowiedzialną',
-    '%s change the assignee of the task #%d to %s' => '%s zmienił osobę odpowiedzialną za zadanie #%d na %s',
+    '%s changed the assignee of the task #%d to %s' => '%s zmienił osobę odpowiedzialną za zadanie #%d na %s',
     '%s changed the assignee of the task %s to %s' => '%s zmienił osobę odpowiedzialną za zadanie %s na %s',
     'New password for the user "%s"' => 'Nowe hasło użytkownika "%s"',
     'Choose an event' => 'Wybierz zdarzenie',
@@ -601,7 +601,7 @@ return array(
     'The currency rate have been added successfully.' => 'Dodano kurs waluty',
     'Unable to add this currency rate.' => 'Nie można dodać kursu waluty',
     'Webhook URL' => 'Adres webhooka',
-    '%s remove the assignee of the task %s' => '%s usunął osobę przypisaną do zadania %s',
+    '%s removed the assignee of the task %s' => '%s usunął osobę przypisaną do zadania %s',
     'Enable Gravatar images' => 'Włącz Gravatar',
     'Information' => 'Informacje',
     'Check two factor authentication code' => 'Sprawdź kod weryfikujący',
diff --git a/app/Locale/pt_BR/translations.php b/app/Locale/pt_BR/translations.php
index 7b64f0e7..46749043 100644
--- a/app/Locale/pt_BR/translations.php
+++ b/app/Locale/pt_BR/translations.php
@@ -386,14 +386,14 @@ return array(
     '%s updated the task #%d' => '%s atualizou a tarefa #%d',
     '%s created the task #%d' => '%s criou a tarefa #%d',
     '%s closed the task #%d' => '%s finalizou a tarefa #%d',
-    '%s open the task #%d' => '%s abriu a tarefa #%d',
+    '%s opened the task #%d' => '%s abriu a tarefa #%d',
     '%s moved the task #%d to the column "%s"' => '%s moveu a tarefa #%d para a coluna "%s"',
     '%s moved the task #%d to the position %d in the column "%s"' => '%s moveu a tarefa #%d para a posição %d na coluna "%s"',
     'Activity' => 'Atividade',
     'Default values are "%s"' => 'Os valores padrão são "%s"',
     'Default columns for new projects (Comma-separated)' => 'Colunas padrão para novos projetos (Separado por vírgula)',
     'Task assignee change' => 'Mudar designação da tarefa',
-    '%s change the assignee of the task #%d to %s' => '%s mudou a designação da tarefa #%d para %s',
+    '%s changed the assignee of the task #%d to %s' => '%s mudou a designação da tarefa #%d para %s',
     '%s changed the assignee of the task %s to %s' => '%s mudou a designação da tarefa %s para %s',
     'New password for the user "%s"' => 'Nova senha para o usuário "%s"',
     'Choose an event' => 'Escolher um evento',
@@ -601,7 +601,7 @@ return array(
     'The currency rate have been added successfully.' => 'A taxa de câmbio foi adicionada com sucesso.',
     'Unable to add this currency rate.' => 'Impossível de adicionar essa taxa de câmbio.',
     'Webhook URL' => 'URL do webhook',
-    '%s remove the assignee of the task %s' => '%s removeu a pessoa designada para a tarefa %s',
+    '%s removed the assignee of the task %s' => '%s removeu a pessoa designada para a tarefa %s',
     'Enable Gravatar images' => 'Ativar imagens do Gravatar',
     'Information' => 'Informações',
     'Check two factor authentication code' => 'Verifique o código de autenticação em duas etapas',
diff --git a/app/Locale/pt_PT/translations.php b/app/Locale/pt_PT/translations.php
index 5267b03b..4fd070d1 100644
--- a/app/Locale/pt_PT/translations.php
+++ b/app/Locale/pt_PT/translations.php
@@ -386,14 +386,14 @@ return array(
     '%s updated the task #%d' => '%s actualizou a tarefa #%d',
     '%s created the task #%d' => '%s criou a tarefa #%d',
     '%s closed the task #%d' => '%s finalizou a tarefa #%d',
-    '%s open the task #%d' => '%s abriu a tarefa #%d',
+    '%s opened the task #%d' => '%s abriu a tarefa #%d',
     '%s moved the task #%d to the column "%s"' => '%s moveu a tarefa #%d para a coluna "%s"',
     '%s moved the task #%d to the position %d in the column "%s"' => '%s moveu a tarefa #%d para a posição %d na coluna "%s"',
     'Activity' => 'Actividade',
     'Default values are "%s"' => 'Os valores padrão são "%s"',
     'Default columns for new projects (Comma-separated)' => 'Colunas padrão para novos projectos (Separado por vírgula)',
     'Task assignee change' => 'Mudar assignação da tarefa',
-    '%s change the assignee of the task #%d to %s' => '%s mudou a assignação da tarefa #%d para %s',
+    '%s changed the assignee of the task #%d to %s' => '%s mudou a assignação da tarefa #%d para %s',
     '%s changed the assignee of the task %s to %s' => '%s mudou a assignação da tarefa %s para %s',
     'New password for the user "%s"' => 'Nova senha para o utilizador "%s"',
     'Choose an event' => 'Escolher um evento',
@@ -601,7 +601,7 @@ return array(
     'The currency rate have been added successfully.' => 'A taxa de câmbio foi adicionada com sucesso.',
     'Unable to add this currency rate.' => 'Impossível adicionar essa taxa de câmbio.',
     'Webhook URL' => 'URL do webhook',
-    '%s remove the assignee of the task %s' => '%s removeu a pessoa assignada à tarefa %s',
+    '%s removed the assignee of the task %s' => '%s removeu a pessoa assignada à tarefa %s',
     'Enable Gravatar images' => 'Activar imagem Gravatar',
     'Information' => 'Informações',
     'Check two factor authentication code' => 'Verificação do código de autenticação com factor duplo',
diff --git a/app/Locale/ru_RU/translations.php b/app/Locale/ru_RU/translations.php
index b3682f03..92fba163 100644
--- a/app/Locale/ru_RU/translations.php
+++ b/app/Locale/ru_RU/translations.php
@@ -386,14 +386,14 @@ return array(
     '%s updated the task #%d' => '%s обновил задачу #%d',
     '%s created the task #%d' => '%s создал задачу #%d',
     '%s closed the task #%d' => '%s закрыл задачу #%d',
-    '%s open the task #%d' => '%s открыл задачу #%d',
+    '%s opened the task #%d' => '%s открыл задачу #%d',
     '%s moved the task #%d to the column "%s"' => '%s переместил задачу #%d в колонку "%s"',
     '%s moved the task #%d to the position %d in the column "%s"' => '%s переместил задачу #%d на позицию %d в колонке "%s"',
     'Activity' => 'Активность',
     'Default values are "%s"' => 'Колонки по умолчанию: "%s"',
     'Default columns for new projects (Comma-separated)' => 'Колонки по умолчанию для новых проектов (разделять запятой)',
     'Task assignee change' => 'Изменен назначенный',
-    '%s change the assignee of the task #%d to %s' => '%s сменил назначенного для задачи #%d на %s',
+    '%s changed the assignee of the task #%d to %s' => '%s сменил назначенного для задачи #%d на %s',
     '%s changed the assignee of the task %s to %s' => '%s сменил назначенного для задачи %s на %s',
     'New password for the user "%s"' => 'Новый пароль для пользователя "%s"',
     'Choose an event' => 'Выберите событие',
@@ -601,7 +601,7 @@ return array(
     'The currency rate have been added successfully.' => 'Курс валюты был успешно добавлен.',
     'Unable to add this currency rate.' => 'Невозможно добавить этот курс валюты.',
     'Webhook URL' => 'Webhook URL',
-    '%s remove the assignee of the task %s' => '%s удалить назначенную задачу %s',
+    '%s removed the assignee of the task %s' => '%s удалить назначенную задачу %s',
     'Enable Gravatar images' => 'Включить Gravatar изображения',
     'Information' => 'Информация',
     'Check two factor authentication code' => 'Проверка кода двухфакторной авторизации',
diff --git a/app/Locale/sr_Latn_RS/translations.php b/app/Locale/sr_Latn_RS/translations.php
index 157d9e2d..6a4bfc68 100644
--- a/app/Locale/sr_Latn_RS/translations.php
+++ b/app/Locale/sr_Latn_RS/translations.php
@@ -386,14 +386,14 @@ return array(
     '%s updated the task #%d' => '%s izmenjen zadatak #%d',
     '%s created the task #%d' => '%s kreirao zadatak #%d',
     '%s closed the task #%d' => '%s zatvorio zadatak #%d',
-    '%s open the task #%d' => '%s otvorio zadatak #%d',
+    '%s opened the task #%d' => '%s otvorio zadatak #%d',
     '%s moved the task #%d to the column "%s"' => '%s premestio zadatak #%d u kolonu "%s"',
     '%s moved the task #%d to the position %d in the column "%s"' => '%s premestio zadatak #%d na pozycję %d w kolmnie "%s"',
     'Activity' => 'Aktivnosti',
     'Default values are "%s"' => 'Osnovne vrednosti su: "%s"',
     'Default columns for new projects (Comma-separated)' => 'Osnovne kolone za novi projekat (Odvojeni zarezom)',
     'Task assignee change' => 'Zmień osobę odpowiedzialną',
-    '%s change the assignee of the task #%d to %s' => '%s zamena dodele za zadatak #%d na %s',
+    '%s changed the assignee of the task #%d to %s' => '%s zamena dodele za zadatak #%d na %s',
     '%s changed the assignee of the task %s to %s' => '%s zamena dodele za zadatak %s na %s',
     'New password for the user "%s"' => 'Nova lozinka za korisnika "%s"',
     'Choose an event' => 'Izaberi događaj',
@@ -601,7 +601,7 @@ return array(
     // 'The currency rate have been added successfully.' => '',
     // 'Unable to add this currency rate.' => '',
     // 'Webhook URL' => '',
-    // '%s remove the assignee of the task %s' => '',
+    // '%s removed the assignee of the task %s' => '',
     // 'Enable Gravatar images' => '',
     // 'Information' => '',
     // 'Check two factor authentication code' => '',
diff --git a/app/Locale/sv_SE/translations.php b/app/Locale/sv_SE/translations.php
index e42a801d..7eb46a98 100644
--- a/app/Locale/sv_SE/translations.php
+++ b/app/Locale/sv_SE/translations.php
@@ -386,14 +386,14 @@ return array(
     '%s updated the task #%d' => '%s uppdaterade uppgiften #%d',
     '%s created the task #%d' => '%s skapade uppgiften #%d',
     '%s closed the task #%d' => '%s stängde uppgiften #%d',
-    '%s open the task #%d' => '%s öppnade uppgiften #%d',
+    '%s opened the task #%d' => '%s öppnade uppgiften #%d',
     '%s moved the task #%d to the column "%s"' => '%s flyttade uppgiften #%d till kolumnen "%s"',
     '%s moved the task #%d to the position %d in the column "%s"' => '%s flyttade uppgiften #%d till positionen %d i kolumnen "%s"',
     'Activity' => 'Aktivitet',
     'Default values are "%s"' => 'Standardvärden är "%s"',
     'Default columns for new projects (Comma-separated)' => 'Standardkolumner för nya projekt (kommaseparerade)',
     'Task assignee change' => 'Ändra tilldelning av uppgiften',
-    '%s change the assignee of the task #%d to %s' => '%s byt tilldelning av uppgiften #%d till %s',
+    '%s changed the assignee of the task #%d to %s' => '%s byt tilldelning av uppgiften #%d till %s',
     '%s changed the assignee of the task %s to %s' => '%s byt tilldelning av uppgiften %s till %s',
     'New password for the user "%s"' => 'Nytt lösenord för användaren "%s"',
     'Choose an event' => 'Välj en händelse',
@@ -601,7 +601,7 @@ return array(
     'The currency rate have been added successfully.' => 'Valutakursen har lagts till.',
     'Unable to add this currency rate.' => 'Kunde inte lägga till valutakursen.',
     'Webhook URL' => 'Webhook URL',
-    '%s remove the assignee of the task %s' => '%s ta bort tilldelningen av uppgiften %s',
+    '%s removed the assignee of the task %s' => '%s ta bort tilldelningen av uppgiften %s',
     'Enable Gravatar images' => 'Aktivera Gravatar bilder',
     'Information' => 'Information',
     'Check two factor authentication code' => 'Kolla tvåfaktorsverifieringskod',
diff --git a/app/Locale/th_TH/translations.php b/app/Locale/th_TH/translations.php
index 56adbdb8..65979753 100644
--- a/app/Locale/th_TH/translations.php
+++ b/app/Locale/th_TH/translations.php
@@ -386,14 +386,14 @@ return array(
     '%s updated the task #%d' => '%s ปรับปรุงงานแล้ว #%d',
     '%s created the task #%d' => '%s สร้างงานแล้ว #%d',
     '%s closed the task #%d' => '%s ปิดงานแล้ว #%d',
-    '%s open the task #%d' => '%s เปิดงานแล้ว #%d',
+    '%s opened the task #%d' => '%s เปิดงานแล้ว #%d',
     '%s moved the task #%d to the column "%s"' => '%s ย้ายงานแล้ว #%d ไปที่คอลัมน์ "%s"',
     '%s moved the task #%d to the position %d in the column "%s"' => '%s ย้ายงานแล้ว #%d ไปตำแหน่ง %d ในคอลัมน์ที่ "%s"',
     'Activity' => 'กิจกรรม',
     'Default values are "%s"' => 'ค่าเริ่มต้น "%s"',
     'Default columns for new projects (Comma-separated)' => 'คอลัมน์เริ่มต้นสำหรับโปรเจคใหม่ (Comma-separated)',
     'Task assignee change' => 'เปลี่ยนการกำหนดบุคคลของงาน',
-    '%s change the assignee of the task #%d to %s' => '%s เปลี่ยนผู้รับผิดชอบของงาน #%d เป็น %s',
+    '%s changed the assignee of the task #%d to %s' => '%s เปลี่ยนผู้รับผิดชอบของงาน #%d เป็น %s',
     '%s changed the assignee of the task %s to %s' => '%s เปลี่ยนผู้รับผิดชอบของงาน %s เป็น %s',
     'New password for the user "%s"' => 'รหัสผ่านใหม่สำหรับผู้ใช้ "%s"',
     'Choose an event' => 'เลือกเหตุการณ์',
@@ -601,7 +601,7 @@ return array(
     'The currency rate have been added successfully.' => 'เพิ่มอัตราค่าเงินเรียบร้อย',
     'Unable to add this currency rate.' => 'ไม่สามารถเพิ่มค่าเงินนี้',
     // 'Webhook URL' => '',
-    '%s remove the assignee of the task %s' => '%s เอาผู้รับผิดชอบออกจากงาน %s',
+    '%s removed the assignee of the task %s' => '%s เอาผู้รับผิดชอบออกจากงาน %s',
     'Enable Gravatar images' => 'สามารถใช้งานภาพ Gravatar',
     'Information' => 'ข้อมูลสารสนเทศ',
     // 'Check two factor authentication code' => '',
diff --git a/app/Locale/tr_TR/translations.php b/app/Locale/tr_TR/translations.php
index 4f4c84cd..5a1b84b8 100644
--- a/app/Locale/tr_TR/translations.php
+++ b/app/Locale/tr_TR/translations.php
@@ -386,14 +386,14 @@ return array(
     '%s updated the task #%d' => '%s kullanıcısı #%d nolu görevi güncelledi',
     '%s created the task #%d' => '%s kullanıcısı #%d nolu görevi oluşturdu',
     '%s closed the task #%d' => '%s kullanıcısı #%d nolu görevi kapattı',
-    '%s open the task #%d' => '%s kullanıcısı #%d nolu görevi açtı',
+    '%s opened the task #%d' => '%s kullanıcısı #%d nolu görevi açtı',
     '%s moved the task #%d to the column "%s"' => '%s kullanıcısı #%d nolu görevi "%s" sütununa taşıdı',
     '%s moved the task #%d to the position %d in the column "%s"' => '%s kullanıcısı #%d nolu görevi %d pozisyonu "%s" sütununa taşıdı',
     'Activity' => 'Aktivite',
     'Default values are "%s"' => 'Varsayılan değerler "%s"',
     'Default columns for new projects (Comma-separated)' => 'Yeni projeler için varsayılan sütunlar (virgül ile ayrılmış)',
     'Task assignee change' => 'Göreve atanan kullanıcı değişikliği',
-    '%s change the assignee of the task #%d to %s' => '%s kullanıcısı #%d nolu görevin sorumlusunu %s olarak değiştirdi',
+    '%s changed the assignee of the task #%d to %s' => '%s kullanıcısı #%d nolu görevin sorumlusunu %s olarak değiştirdi',
     '%s changed the assignee of the task %s to %s' => '%s kullanıcısı %s görevinin sorumlusunu %s olarak değiştirdi',
     'New password for the user "%s"' => '"%s" kullanıcısı için yeni şifre',
     'Choose an event' => 'Bir durum seçin',
@@ -601,7 +601,7 @@ return array(
     'The currency rate have been added successfully.' => 'Kur başarıyla eklendi',
     'Unable to add this currency rate.' => 'Bu kur eklenemedi',
     // 'Webhook URL' => '',
-    '%s remove the assignee of the task %s' => '%s, %s görevinin atanan bilgisini kaldırdı',
+    '%s removed the assignee of the task %s' => '%s, %s görevinin atanan bilgisini kaldırdı',
     'Enable Gravatar images' => 'Gravatar resimlerini kullanıma aç',
     'Information' => 'Bilgi',
     'Check two factor authentication code' => 'İki kademeli doğrulama kodunu kontrol et',
diff --git a/app/Locale/zh_CN/translations.php b/app/Locale/zh_CN/translations.php
index 01eaff17..f173fdff 100644
--- a/app/Locale/zh_CN/translations.php
+++ b/app/Locale/zh_CN/translations.php
@@ -386,14 +386,14 @@ return array(
     '%s updated the task #%d' => '%s 更新了任务 #%d',
     '%s created the task #%d' => '%s 创建了任务 #%d',
     '%s closed the task #%d' => '%s 关闭了任务 #%d',
-    '%s open the task #%d' => '%s 开启了任务 #%d',
+    '%s opened the task #%d' => '%s 开启了任务 #%d',
     '%s moved the task #%d to the column "%s"' => '%s 将任务 #%d 移动到栏目 "%s"',
     '%s moved the task #%d to the position %d in the column "%s"' => '%s将任务#%d移动到"%s"的第 %d 列',
     'Activity' => '动态',
     'Default values are "%s"' => '默认值为 "%s"',
     'Default columns for new projects (Comma-separated)' => '新建项目的默认栏目(用逗号分开)',
     'Task assignee change' => '任务分配变更',
-    '%s change the assignee of the task #%d to %s' => '%s 将任务 #%d 分配给了 %s',
+    '%s changed the assignee of the task #%d to %s' => '%s 将任务 #%d 分配给了 %s',
     '%s changed the assignee of the task %s to %s' => '%s 将任务 %s 分配给 %s',
     'New password for the user "%s"' => '用户"%s"的新密码',
     'Choose an event' => '选择一个事件',
@@ -601,7 +601,7 @@ return array(
     'The currency rate have been added successfully.' => '成功添加汇率。',
     'Unable to add this currency rate.' => '无法添加此汇率',
     'Webhook URL' => '网络钩子 URL',
-    '%s remove the assignee of the task %s' => '%s删除了任务%s的负责人',
+    '%s removed the assignee of the task %s' => '%s删除了任务%s的负责人',
     'Enable Gravatar images' => '启用 Gravatar 图像',
     'Information' => '信息',
     'Check two factor authentication code' => '检查双重认证码',
diff --git a/app/Model/NotificationModel.php b/app/Model/NotificationModel.php
index 39c1f581..803d4f18 100644
--- a/app/Model/NotificationModel.php
+++ b/app/Model/NotificationModel.php
@@ -3,10 +3,15 @@
 namespace Kanboard\Model;
 
 use Kanboard\Core\Base;
+use Kanboard\EventBuilder\CommentEventBuilder;
+use Kanboard\EventBuilder\EventIteratorBuilder;
+use Kanboard\EventBuilder\SubtaskEventBuilder;
+use Kanboard\EventBuilder\TaskEventBuilder;
+use Kanboard\EventBuilder\TaskFileEventBuilder;
 use Kanboard\EventBuilder\TaskLinkEventBuilder;
 
 /**
- * Notification
+ * Notification Model
  *
  * @package  Kanboard\Model
  * @author   Frederic Guillot
@@ -17,150 +22,79 @@ class NotificationModel extends Base
      * Get the event title with author
      *
      * @access public
-     * @param  string  $event_author
-     * @param  string  $event_name
-     * @param  array   $event_data
+     * @param  string $eventAuthor
+     * @param  string $eventName
+     * @param  array  $eventData
      * @return string
      */
-    public function getTitleWithAuthor($event_author, $event_name, array $event_data)
+    public function getTitleWithAuthor($eventAuthor, $eventName, array $eventData)
     {
-        switch ($event_name) {
-            case TaskModel::EVENT_ASSIGNEE_CHANGE:
-                $assignee = $event_data['task']['assignee_name'] ?: $event_data['task']['assignee_username'];
+        foreach ($this->getIteratorBuilder() as $builder) {
+            $title = $builder->buildTitleWithAuthor($eventAuthor, $eventName, $eventData);
 
-                if (! empty($assignee)) {
-                    return e('%s change the assignee of the task #%d to %s', $event_author, $event_data['task']['id'], $assignee);
-                }
-
-                return e('%s remove the assignee of the task %s', $event_author, e('#%d', $event_data['task']['id']));
-            case TaskModel::EVENT_UPDATE:
-                return e('%s updated the task #%d', $event_author, $event_data['task']['id']);
-            case TaskModel::EVENT_CREATE:
-                return e('%s created the task #%d', $event_author, $event_data['task']['id']);
-            case TaskModel::EVENT_CLOSE:
-                return e('%s closed the task #%d', $event_author, $event_data['task']['id']);
-            case TaskModel::EVENT_OPEN:
-                return e('%s open the task #%d', $event_author, $event_data['task']['id']);
-            case TaskModel::EVENT_MOVE_COLUMN:
-                return e(
-                    '%s moved the task #%d to the column "%s"',
-                    $event_author,
-                    $event_data['task']['id'],
-                    $event_data['task']['column_title']
-                );
-            case TaskModel::EVENT_MOVE_POSITION:
-                return e(
-                    '%s moved the task #%d to the position %d in the column "%s"',
-                    $event_author,
-                    $event_data['task']['id'],
-                    $event_data['task']['position'],
-                    $event_data['task']['column_title']
-                );
-            case TaskModel::EVENT_MOVE_SWIMLANE:
-                if ($event_data['task']['swimlane_id'] == 0) {
-                    return e('%s moved the task #%d to the first swimlane', $event_author, $event_data['task']['id']);
-                }
-
-                return e(
-                    '%s moved the task #%d to the swimlane "%s"',
-                    $event_author,
-                    $event_data['task']['id'],
-                    $event_data['task']['swimlane_name']
-                );
-            case SubtaskModel::EVENT_UPDATE:
-                return e('%s updated a subtask for the task #%d', $event_author, $event_data['task']['id']);
-            case SubtaskModel::EVENT_CREATE:
-                return e('%s created a subtask for the task #%d', $event_author, $event_data['task']['id']);
-            case SubtaskModel::EVENT_DELETE:
-                return e('%s removed a subtask for the task #%d', $event_author, $event_data['task']['id']);
-            case CommentModel::EVENT_UPDATE:
-                return e('%s updated a comment on the task #%d', $event_author, $event_data['task']['id']);
-            case CommentModel::EVENT_CREATE:
-                return e('%s commented on the task #%d', $event_author, $event_data['task']['id']);
-            case CommentModel::EVENT_DELETE:
-                return e('%s removed a comment on the task #%d', $event_author, $event_data['task']['id']);
-            case TaskFileModel::EVENT_CREATE:
-                return e('%s attached a file to the task #%d', $event_author, $event_data['task']['id']);
-            case TaskModel::EVENT_USER_MENTION:
-                return e('%s mentioned you in the task #%d', $event_author, $event_data['task']['id']);
-            case CommentModel::EVENT_USER_MENTION:
-                return e('%s mentioned you in a comment on the task #%d', $event_author, $event_data['task']['id']);
-            default:
-                return TaskLinkEventBuilder::getInstance($this->container)
-                    ->buildTitleWithAuthor($event_author, $event_name, $event_data) ?:
-                e('Notification');
+            if ($title !== '') {
+                return $title;
+            }
         }
+
+        return e('Notification');
     }
 
     /**
      * Get the event title without author
      *
      * @access public
-     * @param  string  $event_name
-     * @param  array   $event_data
+     * @param  string $eventName
+     * @param  array  $eventData
      * @return string
      */
-    public function getTitleWithoutAuthor($event_name, array $event_data)
+    public function getTitleWithoutAuthor($eventName, array $eventData)
     {
-        switch ($event_name) {
-            case TaskFileModel::EVENT_CREATE:
-                return e('New attachment on task #%d: %s', $event_data['file']['task_id'], $event_data['file']['name']);
-            case CommentModel::EVENT_CREATE:
-                return e('New comment on task #%d', $event_data['comment']['task_id']);
-            case CommentModel::EVENT_UPDATE:
-                return e('Comment updated on task #%d', $event_data['comment']['task_id']);
-            case CommentModel::EVENT_DELETE:
-                return e('Comment removed on task #%d', $event_data['comment']['task_id']);
-            case SubtaskModel::EVENT_CREATE:
-                return e('New subtask on task #%d', $event_data['subtask']['task_id']);
-            case SubtaskModel::EVENT_UPDATE:
-                return e('Subtask updated on task #%d', $event_data['subtask']['task_id']);
-            case SubtaskModel::EVENT_DELETE:
-                return e('Subtask removed on task #%d', $event_data['subtask']['task_id']);
-            case TaskModel::EVENT_CREATE:
-                return e('New task #%d: %s', $event_data['task']['id'], $event_data['task']['title']);
-            case TaskModel::EVENT_UPDATE:
-                return e('Task updated #%d', $event_data['task']['id']);
-            case TaskModel::EVENT_CLOSE:
-                return e('Task #%d closed', $event_data['task']['id']);
-            case TaskModel::EVENT_OPEN:
-                return e('Task #%d opened', $event_data['task']['id']);
-            case TaskModel::EVENT_MOVE_COLUMN:
-                return e('Column changed for task #%d', $event_data['task']['id']);
-            case TaskModel::EVENT_MOVE_POSITION:
-                return e('New position for task #%d', $event_data['task']['id']);
-            case TaskModel::EVENT_MOVE_SWIMLANE:
-                return e('Swimlane changed for task #%d', $event_data['task']['id']);
-            case TaskModel::EVENT_ASSIGNEE_CHANGE:
-                return e('Assignee changed on task #%d', $event_data['task']['id']);
-            case TaskModel::EVENT_OVERDUE:
-                $nb = count($event_data['tasks']);
-                return $nb > 1 ? e('%d overdue tasks', $nb) : e('Task #%d is overdue', $event_data['tasks'][0]['id']);
-            case TaskModel::EVENT_USER_MENTION:
-                return e('You were mentioned in the task #%d', $event_data['task']['id']);
-            case CommentModel::EVENT_USER_MENTION:
-                return e('You were mentioned in a comment on the task #%d', $event_data['task']['id']);
-            default:
-                return TaskLinkEventBuilder::getInstance($this->container)
-                    ->buildTitleWithoutAuthor($event_name, $event_data) ?:
-                    e('Notification');
+        foreach ($this->getIteratorBuilder() as $builder) {
+            $title = $builder->buildTitleWithoutAuthor($eventName, $eventData);
+
+            if ($title !== '') {
+                return $title;
+            }
         }
+
+        return e('Notification');
     }
 
     /**
      * Get task id from event
      *
      * @access public
-     * @param  string  $event_name
-     * @param  array   $event_data
+     * @param  string $eventName
+     * @param  array  $eventData
      * @return integer
      */
-    public function getTaskIdFromEvent($event_name, array $event_data)
+    public function getTaskIdFromEvent($eventName, array $eventData)
     {
-        if ($event_name === TaskModel::EVENT_OVERDUE) {
-            return $event_data['tasks'][0]['id'];
+        if ($eventName === TaskModel::EVENT_OVERDUE) {
+            return $eventData['tasks'][0]['id'];
         }
-        
-        return isset($event_data['task']['id']) ? $event_data['task']['id'] : 0;
+
+        return isset($eventData['task']['id']) ? $eventData['task']['id'] : 0;
+    }
+
+    /**
+     * Get iterator builder
+     *
+     * @access protected
+     * @return EventIteratorBuilder
+     */
+    protected function getIteratorBuilder()
+    {
+        $iterator = new EventIteratorBuilder();
+        $iterator
+            ->withBuilder(TaskEventBuilder::getInstance($this->container))
+            ->withBuilder(CommentEventBuilder::getInstance($this->container))
+            ->withBuilder(SubtaskEventBuilder::getInstance($this->container))
+            ->withBuilder(TaskFileEventBuilder::getInstance($this->container))
+            ->withBuilder(TaskLinkEventBuilder::getInstance($this->container))
+        ;
+
+        return $iterator;
     }
 }
diff --git a/app/Template/event/task_assignee_change.php b/app/Template/event/task_assignee_change.php
index 7c962223..7539cd0b 100644
--- a/app/Template/event/task_assignee_change.php
+++ b/app/Template/event/task_assignee_change.php
@@ -8,7 +8,7 @@
                 $this->text->e($assignee)
             ) ?>
     <?php else: ?>
-        <?= e('%s remove the assignee of the task %s', $this->text->e($author), $this->url->link(t('#%d', $task['id']), 'TaskViewController', 'show', array('task_id' => $task['id'], 'project_id' => $task['project_id']))) ?>
+        <?= e('%s removed the assignee of the task %s', $this->text->e($author), $this->url->link(t('#%d', $task['id']), 'TaskViewController', 'show', array('task_id' => $task['id'], 'project_id' => $task['project_id']))) ?>
     <?php endif ?>
     <span class="activity-date"><?= $this->dt->datetime($date_creation) ?></span>
 </p>
diff --git a/tests/units/Action/TaskAssignCategoryLinkTest.php b/tests/units/Action/TaskAssignCategoryLinkTest.php
index b9d7e9d9..1576f81b 100644
--- a/tests/units/Action/TaskAssignCategoryLinkTest.php
+++ b/tests/units/Action/TaskAssignCategoryLinkTest.php
@@ -33,7 +33,7 @@ class TaskAssignCategoryLinkTest extends Base
 
         $event = TaskLinkEventBuilder::getInstance($this->container)
             ->withTaskLinkId(1)
-            ->build();
+            ->buildEvent();
 
         $this->assertTrue($action->execute($event, TaskLinkModel::EVENT_CREATE_UPDATE));
 
@@ -62,7 +62,7 @@ class TaskAssignCategoryLinkTest extends Base
 
         $event = TaskLinkEventBuilder::getInstance($this->container)
             ->withTaskLinkId(1)
-            ->build();
+            ->buildEvent();
 
         $this->assertFalse($action->execute($event, TaskLinkModel::EVENT_CREATE_UPDATE));
 
@@ -91,7 +91,7 @@ class TaskAssignCategoryLinkTest extends Base
 
         $event = TaskLinkEventBuilder::getInstance($this->container)
             ->withTaskLinkId(1)
-            ->build();
+            ->buildEvent();
 
         $this->assertFalse($action->execute($event, TaskLinkModel::EVENT_CREATE_UPDATE));
 
diff --git a/tests/units/Action/TaskAssignColorLinkTest.php b/tests/units/Action/TaskAssignColorLinkTest.php
index 27364bc9..77a6c90e 100644
--- a/tests/units/Action/TaskAssignColorLinkTest.php
+++ b/tests/units/Action/TaskAssignColorLinkTest.php
@@ -30,7 +30,7 @@ class TaskAssignColorLinkTest extends Base
 
         $event = TaskLinkEventBuilder::getInstance($this->container)
             ->withTaskLinkId(1)
-            ->build();
+            ->buildEvent();
 
         $this->assertTrue($action->execute($event, TaskLinkModel::EVENT_CREATE_UPDATE));
 
@@ -57,7 +57,7 @@ class TaskAssignColorLinkTest extends Base
 
         $event = TaskLinkEventBuilder::getInstance($this->container)
             ->withTaskLinkId(1)
-            ->build();
+            ->buildEvent();
 
         $this->assertFalse($action->execute($event, TaskLinkModel::EVENT_CREATE_UPDATE));
 
diff --git a/tests/units/EventBuilder/CommentEventBuilderTest.php b/tests/units/EventBuilder/CommentEventBuilderTest.php
index a490799e..2f6a90b5 100644
--- a/tests/units/EventBuilder/CommentEventBuilderTest.php
+++ b/tests/units/EventBuilder/CommentEventBuilderTest.php
@@ -13,7 +13,7 @@ class CommentEventBuilderTest extends Base
     {
         $commentEventBuilder = new CommentEventBuilder($this->container);
         $commentEventBuilder->withCommentId(42);
-        $this->assertNull($commentEventBuilder->build());
+        $this->assertNull($commentEventBuilder->buildEvent());
     }
 
     public function testBuild()
@@ -28,7 +28,7 @@ class CommentEventBuilderTest extends Base
         $this->assertEquals(1, $commentModel->create(array('task_id' => 1, 'comment' => 'bla bla', 'user_id' => 1)));
 
         $commentEventBuilder->withCommentId(1);
-        $event = $commentEventBuilder->build();
+        $event = $commentEventBuilder->buildEvent();
 
         $this->assertInstanceOf('Kanboard\Event\CommentEvent', $event);
         $this->assertNotEmpty($event['comment']);
diff --git a/tests/units/EventBuilder/ProjectFileEventBuilderTest.php b/tests/units/EventBuilder/ProjectFileEventBuilderTest.php
index bfe22719..8f5eb87e 100644
--- a/tests/units/EventBuilder/ProjectFileEventBuilderTest.php
+++ b/tests/units/EventBuilder/ProjectFileEventBuilderTest.php
@@ -12,7 +12,7 @@ class ProjectFileEventBuilderTest extends Base
     {
         $projectFileEventBuilder = new ProjectFileEventBuilder($this->container);
         $projectFileEventBuilder->withFileId(42);
-        $this->assertNull($projectFileEventBuilder->build());
+        $this->assertNull($projectFileEventBuilder->buildEvent());
     }
 
     public function testBuild()
@@ -24,7 +24,7 @@ class ProjectFileEventBuilderTest extends Base
         $this->assertEquals(1, $projectModel->create(array('name' => 'test1')));
         $this->assertEquals(1, $projectFileModel->create(1, 'Test', '/tmp/test', 123));
 
-        $event = $projectFileEventBuilder->withFileId(1)->build();
+        $event = $projectFileEventBuilder->withFileId(1)->buildEvent();
 
         $this->assertInstanceOf('Kanboard\Event\ProjectFileEvent', $event);
         $this->assertNotEmpty($event['file']);
diff --git a/tests/units/EventBuilder/SubtaskEventBuilderTest.php b/tests/units/EventBuilder/SubtaskEventBuilderTest.php
index 062bdfb4..fe425cb8 100644
--- a/tests/units/EventBuilder/SubtaskEventBuilderTest.php
+++ b/tests/units/EventBuilder/SubtaskEventBuilderTest.php
@@ -13,7 +13,7 @@ class SubtaskEventBuilderTest extends Base
     {
         $subtaskEventBuilder = new SubtaskEventBuilder($this->container);
         $subtaskEventBuilder->withSubtaskId(42);
-        $this->assertNull($subtaskEventBuilder->build());
+        $this->assertNull($subtaskEventBuilder->buildEvent());
     }
 
     public function testBuildWithoutChanges()
@@ -27,7 +27,7 @@ class SubtaskEventBuilderTest extends Base
         $this->assertEquals(1, $taskCreationModel->create(array('title' => 'test', 'project_id' => 1)));
         $this->assertEquals(1, $subtaskModel->create(array('task_id' => 1, 'title' => 'test')));
 
-        $event = $subtaskEventBuilder->withSubtaskId(1)->build();
+        $event = $subtaskEventBuilder->withSubtaskId(1)->buildEvent();
 
         $this->assertInstanceOf('Kanboard\Event\SubtaskEvent', $event);
         $this->assertNotEmpty($event['subtask']);
@@ -49,7 +49,7 @@ class SubtaskEventBuilderTest extends Base
         $event = $subtaskEventBuilder
             ->withSubtaskId(1)
             ->withValues(array('title' => 'new title', 'user_id' => 1))
-            ->build();
+            ->buildEvent();
 
         $this->assertInstanceOf('Kanboard\Event\SubtaskEvent', $event);
         $this->assertNotEmpty($event['subtask']);
diff --git a/tests/units/EventBuilder/TaskEventBuilderTest.php b/tests/units/EventBuilder/TaskEventBuilderTest.php
index e6334fe2..c89dcd85 100644
--- a/tests/units/EventBuilder/TaskEventBuilderTest.php
+++ b/tests/units/EventBuilder/TaskEventBuilderTest.php
@@ -12,7 +12,7 @@ class TaskEventBuilderTest extends Base
     {
         $taskEventBuilder = new TaskEventBuilder($this->container);
         $taskEventBuilder->withTaskId(42);
-        $this->assertNull($taskEventBuilder->build());
+        $this->assertNull($taskEventBuilder->buildEvent());
     }
 
     public function testBuildWithTask()
@@ -28,7 +28,7 @@ class TaskEventBuilderTest extends Base
             ->withTaskId(1)
             ->withTask(array('title' => 'before'))
             ->withChanges(array('title' => 'after'))
-            ->build();
+            ->buildEvent();
 
         $this->assertInstanceOf('Kanboard\Event\TaskEvent', $event);
         $this->assertNotEmpty($event['task']);
@@ -45,7 +45,7 @@ class TaskEventBuilderTest extends Base
         $this->assertEquals(1, $projectModel->create(array('name' => 'test1')));
         $this->assertEquals(1, $taskCreationModel->create(array('title' => 'test', 'project_id' => 1)));
 
-        $event = $taskEventBuilder->withTaskId(1)->build();
+        $event = $taskEventBuilder->withTaskId(1)->buildEvent();
 
         $this->assertInstanceOf('Kanboard\Event\TaskEvent', $event);
         $this->assertNotEmpty($event['task']);
@@ -65,7 +65,7 @@ class TaskEventBuilderTest extends Base
         $event = $taskEventBuilder
             ->withTaskId(1)
             ->withChanges(array('title' => 'new title'))
-            ->build();
+            ->buildEvent();
 
         $this->assertInstanceOf('Kanboard\Event\TaskEvent', $event);
         $this->assertNotEmpty($event['task']);
@@ -86,7 +86,7 @@ class TaskEventBuilderTest extends Base
             ->withTaskId(1)
             ->withChanges(array('title' => 'new title', 'project_id' => 1))
             ->withValues(array('key' => 'value'))
-            ->build();
+            ->buildEvent();
 
         $this->assertInstanceOf('Kanboard\Event\TaskEvent', $event);
         $this->assertNotEmpty($event['task']);
diff --git a/tests/units/EventBuilder/TaskFileEventBuilderTest.php b/tests/units/EventBuilder/TaskFileEventBuilderTest.php
index c253b913..c90e18d3 100644
--- a/tests/units/EventBuilder/TaskFileEventBuilderTest.php
+++ b/tests/units/EventBuilder/TaskFileEventBuilderTest.php
@@ -13,7 +13,7 @@ class TaskFileEventBuilderTest extends Base
     {
         $taskFileEventBuilder = new TaskFileEventBuilder($this->container);
         $taskFileEventBuilder->withFileId(42);
-        $this->assertNull($taskFileEventBuilder->build());
+        $this->assertNull($taskFileEventBuilder->buildEvent());
     }
 
     public function testBuild()
@@ -27,7 +27,7 @@ class TaskFileEventBuilderTest extends Base
         $this->assertEquals(1, $taskCreationModel->create(array('title' => 'test', 'project_id' => 1)));
         $this->assertEquals(1, $taskFileModel->create(1, 'Test', '/tmp/test', 123));
 
-        $event = $taskFileEventBuilder->withFileId(1)->build();
+        $event = $taskFileEventBuilder->withFileId(1)->buildEvent();
 
         $this->assertInstanceOf('Kanboard\Event\TaskFileEvent', $event);
         $this->assertNotEmpty($event['file']);
diff --git a/tests/units/EventBuilder/TaskLinkEventBuilderTest.php b/tests/units/EventBuilder/TaskLinkEventBuilderTest.php
index 7364d651..18508146 100644
--- a/tests/units/EventBuilder/TaskLinkEventBuilderTest.php
+++ b/tests/units/EventBuilder/TaskLinkEventBuilderTest.php
@@ -13,7 +13,7 @@ class TaskLinkEventBuilderTest extends Base
     {
         $taskLinkEventBuilder = new TaskLinkEventBuilder($this->container);
         $taskLinkEventBuilder->withTaskLinkId(42);
-        $this->assertNull($taskLinkEventBuilder->build());
+        $this->assertNull($taskLinkEventBuilder->buildEvent());
     }
 
     public function testBuild()
@@ -28,7 +28,7 @@ class TaskLinkEventBuilderTest extends Base
         $this->assertEquals(2, $taskCreationModel->create(array('title' => 'task 2', 'project_id' => 1)));
         $this->assertEquals(1, $taskLinkModel->create(1, 2, 1));
 
-        $event = $taskLinkEventBuilder->withTaskLinkId(1)->build();
+        $event = $taskLinkEventBuilder->withTaskLinkId(1)->buildEvent();
 
         $this->assertInstanceOf('Kanboard\Event\TaskLinkEvent', $event);
         $this->assertNotEmpty($event['task_link']);
@@ -47,7 +47,7 @@ class TaskLinkEventBuilderTest extends Base
         $this->assertEquals(2, $taskCreationModel->create(array('title' => 'task 2', 'project_id' => 1)));
         $this->assertEquals(1, $taskLinkModel->create(1, 2, 1));
 
-        $eventData = $taskLinkEventBuilder->withTaskLinkId(1)->build();
+        $eventData = $taskLinkEventBuilder->withTaskLinkId(1)->buildEvent();
 
         $title = $taskLinkEventBuilder->buildTitleWithAuthor('Foobar', TaskLinkModel::EVENT_CREATE_UPDATE, $eventData->getAll());
         $this->assertEquals('Foobar set a new internal link for the task #1', $title);
-- 
cgit v1.2.3


From b179802a85b262529aaa46ed9cf072a570be25ce Mon Sep 17 00:00:00 2001
From: Frederic Guillot <fred@kanboard.net>
Date: Sat, 23 Jul 2016 14:58:40 -0400
Subject: Sync locales

---
 app/Locale/bs_BA/translations.php      | 6 ++++++
 app/Locale/cs_CZ/translations.php      | 6 ++++++
 app/Locale/da_DK/translations.php      | 6 ++++++
 app/Locale/de_DE/translations.php      | 6 ++++++
 app/Locale/el_GR/translations.php      | 6 ++++++
 app/Locale/es_ES/translations.php      | 6 ++++++
 app/Locale/fi_FI/translations.php      | 6 ++++++
 app/Locale/fr_FR/translations.php      | 6 ++++++
 app/Locale/hu_HU/translations.php      | 6 ++++++
 app/Locale/id_ID/translations.php      | 6 ++++++
 app/Locale/it_IT/translations.php      | 6 ++++++
 app/Locale/ja_JP/translations.php      | 6 ++++++
 app/Locale/ko_KR/translations.php      | 6 ++++++
 app/Locale/my_MY/translations.php      | 6 ++++++
 app/Locale/nb_NO/translations.php      | 6 ++++++
 app/Locale/nl_NL/translations.php      | 6 ++++++
 app/Locale/pl_PL/translations.php      | 6 ++++++
 app/Locale/pt_BR/translations.php      | 6 ++++++
 app/Locale/pt_PT/translations.php      | 6 ++++++
 app/Locale/ru_RU/translations.php      | 6 ++++++
 app/Locale/sr_Latn_RS/translations.php | 6 ++++++
 app/Locale/sv_SE/translations.php      | 6 ++++++
 app/Locale/th_TH/translations.php      | 6 ++++++
 app/Locale/tr_TR/translations.php      | 6 ++++++
 app/Locale/zh_CN/translations.php      | 6 ++++++
 25 files changed, 150 insertions(+)

(limited to 'app/Locale/de_DE')

diff --git a/app/Locale/bs_BA/translations.php b/app/Locale/bs_BA/translations.php
index f1529e02..908112df 100644
--- a/app/Locale/bs_BA/translations.php
+++ b/app/Locale/bs_BA/translations.php
@@ -1226,4 +1226,10 @@ return array(
     // '%s removed a subtask for the task %s' => '',
     // 'Comment removed' => '',
     // 'Subtask removed' => '',
+    // '%s set a new internal link for the task #%d' => '',
+    // '%s removed an internal link for the task #%d' => '',
+    // 'A new internal link for the task #%d have been defined' => '',
+    // 'Internal link removed for the task #%d' => '',
+    // '%s set a new internal link for the task %s' => '',
+    // '%s removed an internal link for the task %s' => '',
 );
diff --git a/app/Locale/cs_CZ/translations.php b/app/Locale/cs_CZ/translations.php
index c7e6e536..3606e6d2 100644
--- a/app/Locale/cs_CZ/translations.php
+++ b/app/Locale/cs_CZ/translations.php
@@ -1226,4 +1226,10 @@ return array(
     // '%s removed a subtask for the task %s' => '',
     // 'Comment removed' => '',
     // 'Subtask removed' => '',
+    // '%s set a new internal link for the task #%d' => '',
+    // '%s removed an internal link for the task #%d' => '',
+    // 'A new internal link for the task #%d have been defined' => '',
+    // 'Internal link removed for the task #%d' => '',
+    // '%s set a new internal link for the task %s' => '',
+    // '%s removed an internal link for the task %s' => '',
 );
diff --git a/app/Locale/da_DK/translations.php b/app/Locale/da_DK/translations.php
index 6cecfaec..d1e86739 100644
--- a/app/Locale/da_DK/translations.php
+++ b/app/Locale/da_DK/translations.php
@@ -1226,4 +1226,10 @@ return array(
     // '%s removed a subtask for the task %s' => '',
     // 'Comment removed' => '',
     // 'Subtask removed' => '',
+    // '%s set a new internal link for the task #%d' => '',
+    // '%s removed an internal link for the task #%d' => '',
+    // 'A new internal link for the task #%d have been defined' => '',
+    // 'Internal link removed for the task #%d' => '',
+    // '%s set a new internal link for the task %s' => '',
+    // '%s removed an internal link for the task %s' => '',
 );
diff --git a/app/Locale/de_DE/translations.php b/app/Locale/de_DE/translations.php
index d25e7e8a..51998dc4 100644
--- a/app/Locale/de_DE/translations.php
+++ b/app/Locale/de_DE/translations.php
@@ -1226,4 +1226,10 @@ return array(
     // '%s removed a subtask for the task %s' => '',
     // 'Comment removed' => '',
     // 'Subtask removed' => '',
+    // '%s set a new internal link for the task #%d' => '',
+    // '%s removed an internal link for the task #%d' => '',
+    // 'A new internal link for the task #%d have been defined' => '',
+    // 'Internal link removed for the task #%d' => '',
+    // '%s set a new internal link for the task %s' => '',
+    // '%s removed an internal link for the task %s' => '',
 );
diff --git a/app/Locale/el_GR/translations.php b/app/Locale/el_GR/translations.php
index b02207d5..e2ea0a69 100644
--- a/app/Locale/el_GR/translations.php
+++ b/app/Locale/el_GR/translations.php
@@ -1226,4 +1226,10 @@ return array(
     // '%s removed a subtask for the task %s' => '',
     // 'Comment removed' => '',
     // 'Subtask removed' => '',
+    // '%s set a new internal link for the task #%d' => '',
+    // '%s removed an internal link for the task #%d' => '',
+    // 'A new internal link for the task #%d have been defined' => '',
+    // 'Internal link removed for the task #%d' => '',
+    // '%s set a new internal link for the task %s' => '',
+    // '%s removed an internal link for the task %s' => '',
 );
diff --git a/app/Locale/es_ES/translations.php b/app/Locale/es_ES/translations.php
index fa59ca07..088a4fbb 100644
--- a/app/Locale/es_ES/translations.php
+++ b/app/Locale/es_ES/translations.php
@@ -1226,4 +1226,10 @@ return array(
     // '%s removed a subtask for the task %s' => '',
     // 'Comment removed' => '',
     // 'Subtask removed' => '',
+    // '%s set a new internal link for the task #%d' => '',
+    // '%s removed an internal link for the task #%d' => '',
+    // 'A new internal link for the task #%d have been defined' => '',
+    // 'Internal link removed for the task #%d' => '',
+    // '%s set a new internal link for the task %s' => '',
+    // '%s removed an internal link for the task %s' => '',
 );
diff --git a/app/Locale/fi_FI/translations.php b/app/Locale/fi_FI/translations.php
index 200a9cde..316c2089 100644
--- a/app/Locale/fi_FI/translations.php
+++ b/app/Locale/fi_FI/translations.php
@@ -1226,4 +1226,10 @@ return array(
     // '%s removed a subtask for the task %s' => '',
     // 'Comment removed' => '',
     // 'Subtask removed' => '',
+    // '%s set a new internal link for the task #%d' => '',
+    // '%s removed an internal link for the task #%d' => '',
+    // 'A new internal link for the task #%d have been defined' => '',
+    // 'Internal link removed for the task #%d' => '',
+    // '%s set a new internal link for the task %s' => '',
+    // '%s removed an internal link for the task %s' => '',
 );
diff --git a/app/Locale/fr_FR/translations.php b/app/Locale/fr_FR/translations.php
index 9f6cf971..19ce49b4 100644
--- a/app/Locale/fr_FR/translations.php
+++ b/app/Locale/fr_FR/translations.php
@@ -1227,4 +1227,10 @@ return array(
     '%s removed a subtask for the task %s' => '%s a supprimé une sous-tâche de la tâche %s',
     'Comment removed' => 'Commentaire supprimé',
     'Subtask removed' => 'Sous-tâche supprimée',
+    '%s set a new internal link for the task #%d' => '%s a défini un nouveau lien interne pour la tâche n°%d',
+    '%s removed an internal link for the task #%d' => '%s a supprimé un lien interne pour la tâche n°%d',
+    'A new internal link for the task #%d have been defined' => 'Un nouveau lien interne pour la tâche n°%d a été défini',
+    'Internal link removed for the task #%d' => 'Lien interne supprimé pour la tâche n°%d',
+    '%s set a new internal link for the task %s' => '%s a défini un nouveau lien interne pour la tâche %s',
+    '%s removed an internal link for the task %s' => '%s a supprimé un lien interne pour la tâche %s',
 );
diff --git a/app/Locale/hu_HU/translations.php b/app/Locale/hu_HU/translations.php
index 781a0423..a0365940 100644
--- a/app/Locale/hu_HU/translations.php
+++ b/app/Locale/hu_HU/translations.php
@@ -1226,4 +1226,10 @@ return array(
     // '%s removed a subtask for the task %s' => '',
     // 'Comment removed' => '',
     // 'Subtask removed' => '',
+    // '%s set a new internal link for the task #%d' => '',
+    // '%s removed an internal link for the task #%d' => '',
+    // 'A new internal link for the task #%d have been defined' => '',
+    // 'Internal link removed for the task #%d' => '',
+    // '%s set a new internal link for the task %s' => '',
+    // '%s removed an internal link for the task %s' => '',
 );
diff --git a/app/Locale/id_ID/translations.php b/app/Locale/id_ID/translations.php
index 26e091ce..4cdfd129 100644
--- a/app/Locale/id_ID/translations.php
+++ b/app/Locale/id_ID/translations.php
@@ -1226,4 +1226,10 @@ return array(
     // '%s removed a subtask for the task %s' => '',
     // 'Comment removed' => '',
     // 'Subtask removed' => '',
+    // '%s set a new internal link for the task #%d' => '',
+    // '%s removed an internal link for the task #%d' => '',
+    // 'A new internal link for the task #%d have been defined' => '',
+    // 'Internal link removed for the task #%d' => '',
+    // '%s set a new internal link for the task %s' => '',
+    // '%s removed an internal link for the task %s' => '',
 );
diff --git a/app/Locale/it_IT/translations.php b/app/Locale/it_IT/translations.php
index aadbfe5b..334faa46 100644
--- a/app/Locale/it_IT/translations.php
+++ b/app/Locale/it_IT/translations.php
@@ -1226,4 +1226,10 @@ return array(
     // '%s removed a subtask for the task %s' => '',
     // 'Comment removed' => '',
     // 'Subtask removed' => '',
+    // '%s set a new internal link for the task #%d' => '',
+    // '%s removed an internal link for the task #%d' => '',
+    // 'A new internal link for the task #%d have been defined' => '',
+    // 'Internal link removed for the task #%d' => '',
+    // '%s set a new internal link for the task %s' => '',
+    // '%s removed an internal link for the task %s' => '',
 );
diff --git a/app/Locale/ja_JP/translations.php b/app/Locale/ja_JP/translations.php
index 03fa55ed..fea7283d 100644
--- a/app/Locale/ja_JP/translations.php
+++ b/app/Locale/ja_JP/translations.php
@@ -1226,4 +1226,10 @@ return array(
     // '%s removed a subtask for the task %s' => '',
     // 'Comment removed' => '',
     // 'Subtask removed' => '',
+    // '%s set a new internal link for the task #%d' => '',
+    // '%s removed an internal link for the task #%d' => '',
+    // 'A new internal link for the task #%d have been defined' => '',
+    // 'Internal link removed for the task #%d' => '',
+    // '%s set a new internal link for the task %s' => '',
+    // '%s removed an internal link for the task %s' => '',
 );
diff --git a/app/Locale/ko_KR/translations.php b/app/Locale/ko_KR/translations.php
index bf140d94..7ba0f456 100644
--- a/app/Locale/ko_KR/translations.php
+++ b/app/Locale/ko_KR/translations.php
@@ -1226,4 +1226,10 @@ return array(
     // '%s removed a subtask for the task %s' => '',
     // 'Comment removed' => '',
     // 'Subtask removed' => '',
+    // '%s set a new internal link for the task #%d' => '',
+    // '%s removed an internal link for the task #%d' => '',
+    // 'A new internal link for the task #%d have been defined' => '',
+    // 'Internal link removed for the task #%d' => '',
+    // '%s set a new internal link for the task %s' => '',
+    // '%s removed an internal link for the task %s' => '',
 );
diff --git a/app/Locale/my_MY/translations.php b/app/Locale/my_MY/translations.php
index cf4f399c..68bd12bf 100644
--- a/app/Locale/my_MY/translations.php
+++ b/app/Locale/my_MY/translations.php
@@ -1226,4 +1226,10 @@ return array(
     // '%s removed a subtask for the task %s' => '',
     // 'Comment removed' => '',
     // 'Subtask removed' => '',
+    // '%s set a new internal link for the task #%d' => '',
+    // '%s removed an internal link for the task #%d' => '',
+    // 'A new internal link for the task #%d have been defined' => '',
+    // 'Internal link removed for the task #%d' => '',
+    // '%s set a new internal link for the task %s' => '',
+    // '%s removed an internal link for the task %s' => '',
 );
diff --git a/app/Locale/nb_NO/translations.php b/app/Locale/nb_NO/translations.php
index ce69deb9..c81e073c 100644
--- a/app/Locale/nb_NO/translations.php
+++ b/app/Locale/nb_NO/translations.php
@@ -1226,4 +1226,10 @@ return array(
     // '%s removed a subtask for the task %s' => '',
     // 'Comment removed' => '',
     // 'Subtask removed' => '',
+    // '%s set a new internal link for the task #%d' => '',
+    // '%s removed an internal link for the task #%d' => '',
+    // 'A new internal link for the task #%d have been defined' => '',
+    // 'Internal link removed for the task #%d' => '',
+    // '%s set a new internal link for the task %s' => '',
+    // '%s removed an internal link for the task %s' => '',
 );
diff --git a/app/Locale/nl_NL/translations.php b/app/Locale/nl_NL/translations.php
index d5ba7036..d0b90ef8 100644
--- a/app/Locale/nl_NL/translations.php
+++ b/app/Locale/nl_NL/translations.php
@@ -1226,4 +1226,10 @@ return array(
     // '%s removed a subtask for the task %s' => '',
     // 'Comment removed' => '',
     // 'Subtask removed' => '',
+    // '%s set a new internal link for the task #%d' => '',
+    // '%s removed an internal link for the task #%d' => '',
+    // 'A new internal link for the task #%d have been defined' => '',
+    // 'Internal link removed for the task #%d' => '',
+    // '%s set a new internal link for the task %s' => '',
+    // '%s removed an internal link for the task %s' => '',
 );
diff --git a/app/Locale/pl_PL/translations.php b/app/Locale/pl_PL/translations.php
index f2570d7c..7c28190a 100644
--- a/app/Locale/pl_PL/translations.php
+++ b/app/Locale/pl_PL/translations.php
@@ -1226,4 +1226,10 @@ return array(
     // '%s removed a subtask for the task %s' => '',
     // 'Comment removed' => '',
     // 'Subtask removed' => '',
+    // '%s set a new internal link for the task #%d' => '',
+    // '%s removed an internal link for the task #%d' => '',
+    // 'A new internal link for the task #%d have been defined' => '',
+    // 'Internal link removed for the task #%d' => '',
+    // '%s set a new internal link for the task %s' => '',
+    // '%s removed an internal link for the task %s' => '',
 );
diff --git a/app/Locale/pt_BR/translations.php b/app/Locale/pt_BR/translations.php
index 46749043..3f5a6de5 100644
--- a/app/Locale/pt_BR/translations.php
+++ b/app/Locale/pt_BR/translations.php
@@ -1226,4 +1226,10 @@ return array(
     // '%s removed a subtask for the task %s' => '',
     // 'Comment removed' => '',
     // 'Subtask removed' => '',
+    // '%s set a new internal link for the task #%d' => '',
+    // '%s removed an internal link for the task #%d' => '',
+    // 'A new internal link for the task #%d have been defined' => '',
+    // 'Internal link removed for the task #%d' => '',
+    // '%s set a new internal link for the task %s' => '',
+    // '%s removed an internal link for the task %s' => '',
 );
diff --git a/app/Locale/pt_PT/translations.php b/app/Locale/pt_PT/translations.php
index 4fd070d1..4e3e0151 100644
--- a/app/Locale/pt_PT/translations.php
+++ b/app/Locale/pt_PT/translations.php
@@ -1226,4 +1226,10 @@ return array(
     '%s removed a subtask for the task %s' => '%s removeu uma sub-tarefa da tarefa %s',
     'Comment removed' => 'Comentário removido',
     'Subtask removed' => 'Sub-tarefa removida',
+    // '%s set a new internal link for the task #%d' => '',
+    // '%s removed an internal link for the task #%d' => '',
+    // 'A new internal link for the task #%d have been defined' => '',
+    // 'Internal link removed for the task #%d' => '',
+    // '%s set a new internal link for the task %s' => '',
+    // '%s removed an internal link for the task %s' => '',
 );
diff --git a/app/Locale/ru_RU/translations.php b/app/Locale/ru_RU/translations.php
index 92fba163..728a79f2 100644
--- a/app/Locale/ru_RU/translations.php
+++ b/app/Locale/ru_RU/translations.php
@@ -1226,4 +1226,10 @@ return array(
     // '%s removed a subtask for the task %s' => '',
     // 'Comment removed' => '',
     // 'Subtask removed' => '',
+    // '%s set a new internal link for the task #%d' => '',
+    // '%s removed an internal link for the task #%d' => '',
+    // 'A new internal link for the task #%d have been defined' => '',
+    // 'Internal link removed for the task #%d' => '',
+    // '%s set a new internal link for the task %s' => '',
+    // '%s removed an internal link for the task %s' => '',
 );
diff --git a/app/Locale/sr_Latn_RS/translations.php b/app/Locale/sr_Latn_RS/translations.php
index 6a4bfc68..25779a15 100644
--- a/app/Locale/sr_Latn_RS/translations.php
+++ b/app/Locale/sr_Latn_RS/translations.php
@@ -1226,4 +1226,10 @@ return array(
     // '%s removed a subtask for the task %s' => '',
     // 'Comment removed' => '',
     // 'Subtask removed' => '',
+    // '%s set a new internal link for the task #%d' => '',
+    // '%s removed an internal link for the task #%d' => '',
+    // 'A new internal link for the task #%d have been defined' => '',
+    // 'Internal link removed for the task #%d' => '',
+    // '%s set a new internal link for the task %s' => '',
+    // '%s removed an internal link for the task %s' => '',
 );
diff --git a/app/Locale/sv_SE/translations.php b/app/Locale/sv_SE/translations.php
index 7eb46a98..f4206bb1 100644
--- a/app/Locale/sv_SE/translations.php
+++ b/app/Locale/sv_SE/translations.php
@@ -1226,4 +1226,10 @@ return array(
     // '%s removed a subtask for the task %s' => '',
     // 'Comment removed' => '',
     // 'Subtask removed' => '',
+    // '%s set a new internal link for the task #%d' => '',
+    // '%s removed an internal link for the task #%d' => '',
+    // 'A new internal link for the task #%d have been defined' => '',
+    // 'Internal link removed for the task #%d' => '',
+    // '%s set a new internal link for the task %s' => '',
+    // '%s removed an internal link for the task %s' => '',
 );
diff --git a/app/Locale/th_TH/translations.php b/app/Locale/th_TH/translations.php
index 65979753..ec399732 100644
--- a/app/Locale/th_TH/translations.php
+++ b/app/Locale/th_TH/translations.php
@@ -1226,4 +1226,10 @@ return array(
     // '%s removed a subtask for the task %s' => '',
     // 'Comment removed' => '',
     // 'Subtask removed' => '',
+    // '%s set a new internal link for the task #%d' => '',
+    // '%s removed an internal link for the task #%d' => '',
+    // 'A new internal link for the task #%d have been defined' => '',
+    // 'Internal link removed for the task #%d' => '',
+    // '%s set a new internal link for the task %s' => '',
+    // '%s removed an internal link for the task %s' => '',
 );
diff --git a/app/Locale/tr_TR/translations.php b/app/Locale/tr_TR/translations.php
index 5a1b84b8..aa59f7e7 100644
--- a/app/Locale/tr_TR/translations.php
+++ b/app/Locale/tr_TR/translations.php
@@ -1226,4 +1226,10 @@ return array(
     // '%s removed a subtask for the task %s' => '',
     // 'Comment removed' => '',
     // 'Subtask removed' => '',
+    // '%s set a new internal link for the task #%d' => '',
+    // '%s removed an internal link for the task #%d' => '',
+    // 'A new internal link for the task #%d have been defined' => '',
+    // 'Internal link removed for the task #%d' => '',
+    // '%s set a new internal link for the task %s' => '',
+    // '%s removed an internal link for the task %s' => '',
 );
diff --git a/app/Locale/zh_CN/translations.php b/app/Locale/zh_CN/translations.php
index f173fdff..99d07561 100644
--- a/app/Locale/zh_CN/translations.php
+++ b/app/Locale/zh_CN/translations.php
@@ -1226,4 +1226,10 @@ return array(
     // '%s removed a subtask for the task %s' => '',
     // 'Comment removed' => '',
     // 'Subtask removed' => '',
+    // '%s set a new internal link for the task #%d' => '',
+    // '%s removed an internal link for the task #%d' => '',
+    // 'A new internal link for the task #%d have been defined' => '',
+    // 'Internal link removed for the task #%d' => '',
+    // '%s set a new internal link for the task %s' => '',
+    // '%s removed an internal link for the task %s' => '',
 );
-- 
cgit v1.2.3


From 407a8d2f09d590caaf4cade8ceb5863cd57d7e05 Mon Sep 17 00:00:00 2001
From: Frederic Guillot <fred@kanboard.net>
Date: Sun, 24 Jul 2016 21:00:16 -0400
Subject: Sync translations

---
 app/Locale/bs_BA/translations.php      | 42 ++++++++++------------------------
 app/Locale/cs_CZ/translations.php      | 42 ++++++++++------------------------
 app/Locale/da_DK/translations.php      | 42 ++++++++++------------------------
 app/Locale/de_DE/translations.php      | 42 ++++++++++------------------------
 app/Locale/el_GR/translations.php      | 42 ++++++++++------------------------
 app/Locale/es_ES/translations.php      | 42 ++++++++++------------------------
 app/Locale/fi_FI/translations.php      | 42 ++++++++++------------------------
 app/Locale/fr_FR/translations.php      | 42 ++++++++++------------------------
 app/Locale/hu_HU/translations.php      | 42 ++++++++++------------------------
 app/Locale/id_ID/translations.php      | 42 ++++++++++------------------------
 app/Locale/it_IT/translations.php      | 42 ++++++++++------------------------
 app/Locale/ja_JP/translations.php      | 42 ++++++++++------------------------
 app/Locale/ko_KR/translations.php      | 42 ++++++++++------------------------
 app/Locale/my_MY/translations.php      | 42 ++++++++++------------------------
 app/Locale/nb_NO/translations.php      | 42 ++++++++++------------------------
 app/Locale/nl_NL/translations.php      | 42 ++++++++++------------------------
 app/Locale/pl_PL/translations.php      | 42 ++++++++++------------------------
 app/Locale/pt_BR/translations.php      | 42 ++++++++++------------------------
 app/Locale/pt_PT/translations.php      | 42 ++++++++++------------------------
 app/Locale/ru_RU/translations.php      | 42 ++++++++++------------------------
 app/Locale/sr_Latn_RS/translations.php | 42 ++++++++++------------------------
 app/Locale/sv_SE/translations.php      | 42 ++++++++++------------------------
 app/Locale/th_TH/translations.php      | 42 ++++++++++------------------------
 app/Locale/tr_TR/translations.php      | 42 ++++++++++------------------------
 app/Locale/zh_CN/translations.php      | 42 ++++++++++------------------------
 25 files changed, 300 insertions(+), 750 deletions(-)

(limited to 'app/Locale/de_DE')

diff --git a/app/Locale/bs_BA/translations.php b/app/Locale/bs_BA/translations.php
index 908112df..898e4d66 100644
--- a/app/Locale/bs_BA/translations.php
+++ b/app/Locale/bs_BA/translations.php
@@ -299,7 +299,6 @@ return array(
     'Display another project' => 'Prikaži drugi projekat',
     'Created by %s' => 'Kreirao %s',
     'Tasks Export' => 'Izvoz zadataka',
-    'Tasks exportation for "%s"' => 'Izvoz zadataka za "%s"',
     'Start Date' => 'Početni datum',
     'End Date' => 'Datum završetka',
     'Execute' => 'Izvrši',
@@ -322,14 +321,9 @@ return array(
     'New sub-task' => 'Novi pod-zadatak',
     'New attachment added "%s"' => 'Ubačen novi prilog "%s"',
     'New comment posted by %s' => '%s ostavio novi komentar',
-    'New attachment' => 'Novi prilog',
     'New comment' => 'Novi komentar',
     'Comment updated' => 'Komentar ažuriran',
     'New subtask' => 'Novi pod-zadatak',
-    'Subtask updated' => 'Pod-zadatak ažuriran',
-    'Task updated' => 'Zadatak ažuriran',
-    'Task closed' => 'Zadatak je zatvoren',
-    'Task opened' => 'Zadatak je otvoren',
     'I want to receive notifications only for those projects:' => 'Želim obavještenja samo za ove projekte:',
     'view the task on Kanboard' => 'Pregledaj zadatke',
     'Public access' => 'Javni pristup',
@@ -387,8 +381,6 @@ return array(
     '%s created the task #%d' => '%s kreirao zadatak #%d',
     '%s closed the task #%d' => '%s zatvorio zadatak #%d',
     '%s opened the task #%d' => '%s otvorio zadatak #%d',
-    '%s moved the task #%d to the column "%s"' => '%s premjestio zadatak #%d u kolonu "%s"',
-    '%s moved the task #%d to the position %d in the column "%s"' => '%s premjestio zadatak #%d na poziciju %d u koloni "%s"',
     'Activity' => 'Aktivnosti',
     'Default values are "%s"' => 'Podrazumijevane vrijednosti su: "%s"',
     'Default columns for new projects (Comma-separated)' => 'Podrazumijevane kolone za novi projekat (Odvojene zarezom)',
@@ -442,13 +434,10 @@ return array(
     'Percentage' => 'Procenat',
     'Number of tasks' => 'Broj zadataka',
     'Task distribution' => 'Podjela zadataka',
-    'Reportings' => 'Izveštaji',
-    'Task repartition for "%s"' => 'Zaduženja zadataka za "%s"',
     'Analytics' => 'Analiza',
     'Subtask' => 'Pod-zadatak',
     'My subtasks' => 'Moji pod-zadaci',
     'User repartition' => 'Zaduženja korisnika',
-    'User repartition for "%s"' => 'Zaduženja korisnika za "%s"',
     'Clone this project' => 'Kloniraj ovaj projekat',
     'Column removed successfully.' => 'Kolona uspješno uklonjena.',
     'Not enough data to show the graph.' => 'Nedovoljno podataka za prikaz na grafikonu.',
@@ -465,10 +454,8 @@ return array(
     'This value must be numeric' => 'Vrijednost mora biti broj',
     'Unable to create this task.' => 'Nije moguće kreirati zadatak.',
     'Cumulative flow diagram' => 'Zbirni dijagram toka',
-    'Cumulative flow diagram for "%s"' => 'Zbirni dijagram toka za "%s"',
     'Daily project summary' => 'Zbirni pregled po danima',
     'Daily project summary export' => 'Izvoz zbirnog pregleda po danima',
-    'Daily project summary export for "%s"' => 'Izvoz zbirnog pregleda po danima za "%s"',
     'Exports' => 'Izvozi',
     'This export contains the number of tasks per column grouped per day.' => 'Ovaj izvoz sadržava broj zadataka po koloni grupisanih po danima.',
     'Active swimlanes' => 'Aktivne swimline trake',
@@ -494,7 +481,6 @@ return array(
     'Subtask Id' => 'ID pod-zadatka',
     'Subtasks' => 'Pod-zadaci',
     'Subtasks Export' => 'Izvoz pod-zadataka',
-    'Subtasks exportation for "%s"' => 'Izvoz pod-zadataka za "%s"',
     'Task Title' => 'Naslov zadatka',
     'Untitled' => 'Bez naslova',
     'Application default' => 'Podrazumijevano od aplikacije',
@@ -615,7 +601,6 @@ return array(
     'Test your device' => 'Testiraj svoj uređaj',
     'Assign a color when the task is moved to a specific column' => 'Dodijeli boju kada je zadatak pomjeren u odabranu kolonu',
     '%s via Kanboard' => '%s uz pomoć Kanboard-a',
-    'Burndown chart for "%s"' => 'Grafikon izgaranja za "%s"',
     'Burndown chart' => 'Grafikon izgaranja',
     'This chart show the task complexity over the time (Work Remaining).' => 'Ovaj grafikon pokazuje kompleksnost zadatka u vremenu (Preostalo vremena)',
     'Screenshot taken %s' => 'Slika ekrana uzeta %s',
@@ -680,14 +665,8 @@ return array(
     'Move the task to another column when the category is changed' => 'Pomjeri zadatak u drugu kolonu kada je kategorija promijenjena',
     'Send a task by email to someone' => 'Pošalji zadatak nekome emailom',
     'Reopen a task' => 'Ponovo otvori zadatak',
-    'Column change' => 'Promijena kolone',
-    'Position change' => 'Promjena pozicije',
-    'Swimlane change' => 'Promjena swimline trake',
-    'Assignee change' => 'Promijenjen izvršilac',
-    '[%s] Overdue tasks' => '[%s] Zaostali zadaci',
     'Notification' => 'Obavještenja',
     '%s moved the task #%d to the first swimlane' => '%s je premjestio zadatak #%d u prvu swimline traku',
-    '%s moved the task #%d to the swimlane "%s"' => '%s je premjestio zadatak #%d u swimline traku "%s"',
     'Swimlane' => 'Swimline traka',
     'Gravatar' => 'Gravatar',
     '%s moved the task %s to the first swimlane' => '%s je premjestio zadatak %s u prvi swimline traku',
@@ -758,8 +737,6 @@ return array(
     'Search by category: ' => 'Pretraga po kategoriji: ',
     'Search by description: ' => 'Pretraga po opisu: ',
     'Search by due date: ' => 'Pretraga po datumu završetka: ',
-    'Lead and Cycle time for "%s"' => 'Vrijeme upravljanje i vremenski ciklus za "%s"',
-    'Average time spent into each column for "%s"' => 'Prosjek utrošenog vremena u svakoj koloni za "%s"',
     'Average time spent into each column' => 'Prosjek utrošenog vrmena u svakoj koloni',
     'Average time spent' => 'Prosjek utrošenog vremena',
     'This chart show the average time spent into each column for the last %d tasks.' => 'Ovaj grafik pokazuje prosjek utrošenog vremena u svakoj koloni za posljednjih %d zadataka.',
@@ -800,7 +777,6 @@ return array(
     'License:' => 'Licenca:',
     'License' => 'Licenca',
     'Enter the text below' => 'Unesi tekst ispod',
-    'Gantt chart for %s' => 'Gantogram za %s',
     'Sort by position' => 'Sortiraj po poziciji',
     'Sort by date' => 'Sortiraj po datumu',
     'Add task' => 'Dodaj zadatak',
@@ -841,8 +817,6 @@ return array(
     'Version' => 'Verzija',
     'Plugins' => 'Dodaci',
     'There is no plugin loaded.' => 'Nema učitanih dodataka.',
-    'Set maximum column height' => 'Postavi maksimalnu visinu kolone',
-    'Remove maximum column height' => 'Ukloni maksimalnu visinu kolone',
     'My notifications' => 'Moja obavještenja',
     'Custom filters' => 'Prilagođeni filteri',
     'Your custom filter have been created successfully.' => 'Tvoj prilagođeni filter je uspješno napravljen.',
@@ -947,7 +921,6 @@ return array(
     'Invalid captcha' => 'Pogrešna captcha',
     'The name must be unique' => 'Ime mora biti jedinstveno',
     'View all groups' => 'Pregledaj sve grupe',
-    'View group members' => 'Pregledaj članove grupe',
     'There is no user available.' => 'Trenutno nema dostupnih korisnika.',
     'Do you really want to remove the user "%s" from the group "%s"?' => 'Da li zaista želiš ukloniti korisnika "%s" iz grupe "%s"?',
     'There is no group.' => 'Trenutno nema grupa.',
@@ -968,13 +941,10 @@ return array(
     'Enter group name...' => 'Unesi ime grupe...',
     'Role:' => 'Uloga:',
     'Project members' => 'Članovi projekta',
-    'Compare hours for "%s"' => 'Poredi sate za "%s"',
     '%s mentioned you in the task #%d' => '%s te spomenuo u zadatku #%d',
     '%s mentioned you in a comment on the task #%d' => '%s te spomenuo u komentaru zadatka #%d',
     'You were mentioned in the task #%d' => 'Spomenut si u zadatku #%d',
     'You were mentioned in a comment on the task #%d' => 'Spomenut si u komentaru zadatka #%d',
-    'Mentioned' => 'Spominjanja',
-    'Compare Estimated Time vs Actual Time' => 'Poređenje očekivanog i aktuelnog vremena',
     'Estimated hours: ' => 'Očekivani sati:',
     'Actual hours: ' => 'Aktuelni sati:',
     'Hours Spent' => 'Utrošeni sati:',
@@ -1232,4 +1202,16 @@ return array(
     // 'Internal link removed for the task #%d' => '',
     // '%s set a new internal link for the task %s' => '',
     // '%s removed an internal link for the task %s' => '',
+    // 'Automatically set the due date on task creation' => '',
+    // 'Move the task to another column when closed' => '',
+    // 'Move the task to another column when not moved during a given period' => '',
+    // 'Dashboard for %s' => '',
+    // 'Tasks overview for %s' => '',
+    // 'Subtasks overview for %s' => '',
+    // 'Projects overview for %s' => '',
+    // 'Activity stream for %s' => '',
+    // 'Calendar for %s' => '',
+    // 'Notifications for %s' => '',
+    // 'Subtasks export' => '',
+    // 'Tasks exportation' => '',
 );
diff --git a/app/Locale/cs_CZ/translations.php b/app/Locale/cs_CZ/translations.php
index 3606e6d2..565f92f5 100644
--- a/app/Locale/cs_CZ/translations.php
+++ b/app/Locale/cs_CZ/translations.php
@@ -299,7 +299,6 @@ return array(
     'Display another project' => 'Zobrazit jiný projekt',
     'Created by %s' => 'Vytvořeno uživatelem %s',
     'Tasks Export' => 'Export úkolů',
-    'Tasks exportation for "%s"' => 'Export úkolů pro  "%s"',
     'Start Date' => 'Počáteční datum',
     'End Date' => 'Konečné datum',
     'Execute' => 'Spustit',
@@ -322,14 +321,9 @@ return array(
     'New sub-task' => 'Nový dílčí úkol',
     'New attachment added "%s"' => 'Byla přidána nová příloha "%s".',
     'New comment posted by %s' => 'Nový komentář publikovaný uživatelem %s',
-    'New attachment' => 'Nová příloha',
     'New comment' => 'Nový komentář',
     'Comment updated' => 'Komentář byl aktualizován.',
     'New subtask' => 'Nový dílčí úkol',
-    'Subtask updated' => 'Dílčí úkol byl aktualizován',
-    'Task updated' => 'Úkol byl aktualizován',
-    'Task closed' => 'Úkol byl uzavřen',
-    'Task opened' => 'Úkol byl otevřen',
     'I want to receive notifications only for those projects:' => 'Přeji si dostávat upozornění pouze pro následující projekty:',
     'view the task on Kanboard' => 'Zobrazit úkol na Kanboard',
     'Public access' => 'Veřejný přístup',
@@ -387,8 +381,6 @@ return array(
     '%s created the task #%d' => '%s vytvořil úkol #%d ',
     '%s closed the task #%d' => '%s uzavřel úkol #%d ',
     '%s opened the task #%d' => '%s znovu otevřel úkol #%d ',
-    '%s moved the task #%d to the column "%s"' => '%s přesunul úkol #%d do sloupce "%s" ',
-    '%s moved the task #%d to the position %d in the column "%s"' => '%s přesunul úkol #%d na pozici %d ve sloupci "%s" ',
     'Activity' => 'Aktivity',
     'Default values are "%s"' => 'Standardní hodnoty jsou: "%s"',
     'Default columns for new projects (Comma-separated)' => 'Výchozí sloupce pro nové projekty (odděleny čárkou)',
@@ -442,13 +434,10 @@ return array(
     'Percentage' => 'Procenta',
     'Number of tasks' => 'Počet úkolů',
     'Task distribution' => 'Rozdělení úkolů',
-    'Reportings' => 'Reporty',
-    'Task repartition for "%s"' => 'Rozdělení úkolů pro "%s"',
     'Analytics' => 'Analýza',
     'Subtask' => 'Dílčí úkoly',
     'My subtasks' => 'Moje dílčí úkoly',
     'User repartition' => 'Rozdělení podle uživatelů',
-    'User repartition for "%s"' => 'Rozdělení podle uživatelů pro "%s"',
     'Clone this project' => 'Duplokovat projekt',
     'Column removed successfully.' => 'Sloupec byl odstraněn.',
     'Not enough data to show the graph.' => 'Pro zobrazení grafu není dostatek dat.',
@@ -465,10 +454,8 @@ return array(
     'This value must be numeric' => 'Hodnota musí být číselná',
     'Unable to create this task.' => 'Nelze vytvořit tento úkol',
     'Cumulative flow diagram' => 'Kumulativní diagram',
-    'Cumulative flow diagram for "%s"' => 'Kumulativní diagram pro "%s"',
     'Daily project summary' => 'Denní přehledy',
     'Daily project summary export' => 'Export denních přehledů',
-    'Daily project summary export for "%s"' => 'Export denních přehledů pro "%s"',
     'Exports' => 'Exporty',
     'This export contains the number of tasks per column grouped per day.' => 'Tento export obsahuje počet úkolů pro jednotlivé sloupce seskupených podle dní.',
     'Active swimlanes' => 'Aktivní dráhy',
@@ -494,7 +481,6 @@ return array(
     'Subtask Id' => 'Dílčí úkol Id',
     'Subtasks' => 'Dílčí úkoly',
     'Subtasks Export' => 'Export dílčích úkolů',
-    'Subtasks exportation for "%s"' => 'Export dílčích úkolů pro "%s"',
     'Task Title' => 'Název úkolu',
     'Untitled' => 'bez názvu',
     'Application default' => 'Standardní hodnoty',
@@ -615,7 +601,6 @@ return array(
     'Test your device' => 'Test Vašeho zařízení',
     'Assign a color when the task is moved to a specific column' => 'Přiřadit barvu, když je úkol přesunut do konkrétního sloupce',
     '%s via Kanboard' => '%s via Kanboard',
-    'Burndown chart for "%s"' => 'Burndown-Chart pro "%s"',
     'Burndown chart' => 'Burndown-Chart',
     'This chart show the task complexity over the time (Work Remaining).' => 'Graf zobrazuje složitost úkolů v čase (Zbývající práce).',
     'Screenshot taken %s' => 'Screenshot aufgenommen %s ',
@@ -680,14 +665,8 @@ return array(
     'Move the task to another column when the category is changed' => 'Přesun úkolu do jiného sloupce když je změněna kategorie',
     'Send a task by email to someone' => 'Poslat někomu úkol poštou',
     'Reopen a task' => 'Znovu otevřít úkol',
-    'Column change' => 'Změna sloupce',
-    'Position change' => 'Změna pozice',
-    'Swimlane change' => 'Změna dráhy',
-    'Assignee change' => 'Změna přidělení',
-    '[%s] Overdue tasks' => '[%s] přetažených úkolů',
     'Notification' => 'Upozornění',
     '%s moved the task #%d to the first swimlane' => '%s přesunul úkol #%d do první dráhy',
-    '%s moved the task #%d to the swimlane "%s"' => '%s přesunul úkol #%d do dráhy "%s"',
     // 'Swimlane' => '',
     // 'Gravatar' => '',
     '%s moved the task %s to the first swimlane' => '%s přesunul úkol %s do první dráhy',
@@ -758,8 +737,6 @@ return array(
     'Search by category: ' => 'Hledat podle kategorie: ',
     'Search by description: ' => 'Hledat podle popisu: ',
     'Search by due date: ' => 'Hledat podle termínu: ',
-    'Lead and Cycle time for "%s"' => 'Dodací lhůta a doba cyklu pro "%s"',
-    'Average time spent into each column for "%s"' => 'Průměrná doba strávená v každé fázi pro "%s"',
     'Average time spent into each column' => 'Průměrná doba strávená v každé fázi',
     'Average time spent' => 'Průměrná strávená doba',
     // 'This chart show the average time spent into each column for the last %d tasks.' => '',
@@ -800,7 +777,6 @@ return array(
     'License:' => 'Licence:',
     'License' => 'Licence',
     'Enter the text below' => 'Zadejte text níže',
-    'Gantt chart for %s' => 'Gantt graf pro %s',
     'Sort by position' => 'Třídit podle pozice',
     'Sort by date' => 'Třídit podle datumu',
     'Add task' => 'Přidat úkol',
@@ -841,8 +817,6 @@ return array(
     // 'Version' => '',
     // 'Plugins' => '',
     // 'There is no plugin loaded.' => '',
-    // 'Set maximum column height' => '',
-    // 'Remove maximum column height' => '',
     // 'My notifications' => '',
     // 'Custom filters' => '',
     // 'Your custom filter have been created successfully.' => '',
@@ -947,7 +921,6 @@ return array(
     // 'Invalid captcha' => '',
     // 'The name must be unique' => '',
     // 'View all groups' => '',
-    // 'View group members' => '',
     // 'There is no user available.' => '',
     // 'Do you really want to remove the user "%s" from the group "%s"?' => '',
     // 'There is no group.' => '',
@@ -968,13 +941,10 @@ return array(
     // 'Enter group name...' => '',
     // 'Role:' => '',
     // 'Project members' => '',
-    // 'Compare hours for "%s"' => '',
     // '%s mentioned you in the task #%d' => '',
     // '%s mentioned you in a comment on the task #%d' => '',
     // 'You were mentioned in the task #%d' => '',
     // 'You were mentioned in a comment on the task #%d' => '',
-    // 'Mentioned' => '',
-    // 'Compare Estimated Time vs Actual Time' => '',
     // 'Estimated hours: ' => '',
     // 'Actual hours: ' => '',
     // 'Hours Spent' => '',
@@ -1232,4 +1202,16 @@ return array(
     // 'Internal link removed for the task #%d' => '',
     // '%s set a new internal link for the task %s' => '',
     // '%s removed an internal link for the task %s' => '',
+    // 'Automatically set the due date on task creation' => '',
+    // 'Move the task to another column when closed' => '',
+    // 'Move the task to another column when not moved during a given period' => '',
+    // 'Dashboard for %s' => '',
+    // 'Tasks overview for %s' => '',
+    // 'Subtasks overview for %s' => '',
+    // 'Projects overview for %s' => '',
+    // 'Activity stream for %s' => '',
+    // 'Calendar for %s' => '',
+    // 'Notifications for %s' => '',
+    // 'Subtasks export' => '',
+    // 'Tasks exportation' => '',
 );
diff --git a/app/Locale/da_DK/translations.php b/app/Locale/da_DK/translations.php
index d1e86739..0ff4253e 100644
--- a/app/Locale/da_DK/translations.php
+++ b/app/Locale/da_DK/translations.php
@@ -299,7 +299,6 @@ return array(
     'Display another project' => 'Vis et andet projekt...',
     'Created by %s' => 'Oprettet af %s',
     'Tasks Export' => 'Opgave eksport',
-    'Tasks exportation for "%s"' => 'Opgave eksport for "%s"',
     'Start Date' => 'Start-dato',
     'End Date' => 'Slut-dato',
     'Execute' => 'Udfør',
@@ -322,14 +321,9 @@ return array(
     'New sub-task' => 'Ny under-opgave',
     'New attachment added "%s"' => 'Ny vedhæftning tilføjet "%s"',
     'New comment posted by %s' => 'Ny kommentar af %s',
-    // 'New attachment' => '',
     // 'New comment' => '',
     'Comment updated' => 'Kommentar opdateret',
     // 'New subtask' => '',
-    // 'Subtask updated' => '',
-    // 'Task updated' => '',
-    // 'Task closed' => '',
-    // 'Task opened' => '',
     'I want to receive notifications only for those projects:' => 'Jeg vil kun have notifikationer for disse projekter:',
     'view the task on Kanboard' => 'se opgaven på Kanboard',
     'Public access' => 'Offentlig adgang',
@@ -387,8 +381,6 @@ return array(
     '%s created the task #%d' => '%s oprettede opgaven #%d',
     '%s closed the task #%d' => '%s lukkede opgaven #%d',
     '%s opened the task #%d' => '%s åbnede opgaven #%d',
-    '%s moved the task #%d to the column "%s"' => '%s flyttede opgaven #%d til kolonnen "%s"',
-    '%s moved the task #%d to the position %d in the column "%s"' => '%s flyttede opgaven #%d til position %d i kolonnen "%s"',
     'Activity' => 'Aktivitet',
     'Default values are "%s"' => 'Standard værdier er "%s"',
     'Default columns for new projects (Comma-separated)' => 'Standard kolonne for nye projekter (kommasepareret)',
@@ -442,13 +434,10 @@ return array(
     // 'Percentage' => '',
     // 'Number of tasks' => '',
     // 'Task distribution' => '',
-    // 'Reportings' => '',
-    // 'Task repartition for "%s"' => '',
     // 'Analytics' => '',
     // 'Subtask' => '',
     // 'My subtasks' => '',
     // 'User repartition' => '',
-    // 'User repartition for "%s"' => '',
     // 'Clone this project' => '',
     // 'Column removed successfully.' => '',
     // 'Not enough data to show the graph.' => '',
@@ -465,10 +454,8 @@ return array(
     // 'This value must be numeric' => '',
     // 'Unable to create this task.' => '',
     // 'Cumulative flow diagram' => '',
-    // 'Cumulative flow diagram for "%s"' => '',
     // 'Daily project summary' => '',
     // 'Daily project summary export' => '',
-    // 'Daily project summary export for "%s"' => '',
     // 'Exports' => '',
     // 'This export contains the number of tasks per column grouped per day.' => '',
     // 'Active swimlanes' => '',
@@ -494,7 +481,6 @@ return array(
     // 'Subtask Id' => '',
     // 'Subtasks' => '',
     // 'Subtasks Export' => '',
-    // 'Subtasks exportation for "%s"' => '',
     // 'Task Title' => '',
     // 'Untitled' => '',
     // 'Application default' => '',
@@ -615,7 +601,6 @@ return array(
     // 'Test your device' => '',
     // 'Assign a color when the task is moved to a specific column' => '',
     // '%s via Kanboard' => '',
-    // 'Burndown chart for "%s"' => '',
     // 'Burndown chart' => '',
     // 'This chart show the task complexity over the time (Work Remaining).' => '',
     // 'Screenshot taken %s' => '',
@@ -680,14 +665,8 @@ return array(
     // 'Move the task to another column when the category is changed' => '',
     // 'Send a task by email to someone' => '',
     // 'Reopen a task' => '',
-    // 'Column change' => '',
-    // 'Position change' => '',
-    // 'Swimlane change' => '',
-    // 'Assignee change' => '',
-    // '[%s] Overdue tasks' => '',
     // 'Notification' => '',
     // '%s moved the task #%d to the first swimlane' => '',
-    // '%s moved the task #%d to the swimlane "%s"' => '',
     // 'Swimlane' => '',
     // 'Gravatar' => '',
     // '%s moved the task %s to the first swimlane' => '',
@@ -758,8 +737,6 @@ return array(
     // 'Search by category: ' => '',
     // 'Search by description: ' => '',
     // 'Search by due date: ' => '',
-    // 'Lead and Cycle time for "%s"' => '',
-    // 'Average time spent into each column for "%s"' => '',
     // 'Average time spent into each column' => '',
     // 'Average time spent' => '',
     // 'This chart show the average time spent into each column for the last %d tasks.' => '',
@@ -800,7 +777,6 @@ return array(
     // 'License:' => '',
     // 'License' => '',
     // 'Enter the text below' => '',
-    // 'Gantt chart for %s' => '',
     // 'Sort by position' => '',
     // 'Sort by date' => '',
     // 'Add task' => '',
@@ -841,8 +817,6 @@ return array(
     // 'Version' => '',
     // 'Plugins' => '',
     // 'There is no plugin loaded.' => '',
-    // 'Set maximum column height' => '',
-    // 'Remove maximum column height' => '',
     // 'My notifications' => '',
     // 'Custom filters' => '',
     // 'Your custom filter have been created successfully.' => '',
@@ -947,7 +921,6 @@ return array(
     // 'Invalid captcha' => '',
     // 'The name must be unique' => '',
     // 'View all groups' => '',
-    // 'View group members' => '',
     // 'There is no user available.' => '',
     // 'Do you really want to remove the user "%s" from the group "%s"?' => '',
     // 'There is no group.' => '',
@@ -968,13 +941,10 @@ return array(
     // 'Enter group name...' => '',
     // 'Role:' => '',
     // 'Project members' => '',
-    // 'Compare hours for "%s"' => '',
     // '%s mentioned you in the task #%d' => '',
     // '%s mentioned you in a comment on the task #%d' => '',
     // 'You were mentioned in the task #%d' => '',
     // 'You were mentioned in a comment on the task #%d' => '',
-    // 'Mentioned' => '',
-    // 'Compare Estimated Time vs Actual Time' => '',
     // 'Estimated hours: ' => '',
     // 'Actual hours: ' => '',
     // 'Hours Spent' => '',
@@ -1232,4 +1202,16 @@ return array(
     // 'Internal link removed for the task #%d' => '',
     // '%s set a new internal link for the task %s' => '',
     // '%s removed an internal link for the task %s' => '',
+    // 'Automatically set the due date on task creation' => '',
+    // 'Move the task to another column when closed' => '',
+    // 'Move the task to another column when not moved during a given period' => '',
+    // 'Dashboard for %s' => '',
+    // 'Tasks overview for %s' => '',
+    // 'Subtasks overview for %s' => '',
+    // 'Projects overview for %s' => '',
+    // 'Activity stream for %s' => '',
+    // 'Calendar for %s' => '',
+    // 'Notifications for %s' => '',
+    // 'Subtasks export' => '',
+    // 'Tasks exportation' => '',
 );
diff --git a/app/Locale/de_DE/translations.php b/app/Locale/de_DE/translations.php
index 51998dc4..59de2956 100644
--- a/app/Locale/de_DE/translations.php
+++ b/app/Locale/de_DE/translations.php
@@ -299,7 +299,6 @@ return array(
     'Display another project' => 'Zu Projekt wechseln',
     'Created by %s' => 'Erstellt durch %s',
     'Tasks Export' => 'Aufgaben exportieren',
-    'Tasks exportation for "%s"' => 'Aufgaben exportieren für "%s"',
     'Start Date' => 'Anfangsdatum',
     'End Date' => 'Enddatum',
     'Execute' => 'Ausführen',
@@ -322,14 +321,9 @@ return array(
     'New sub-task' => 'Neue Teilaufgabe',
     'New attachment added "%s"' => 'Neuer Anhang "%s" wurde hinzugefügt.',
     'New comment posted by %s' => 'Neuer Kommentar verfasst durch %s',
-    'New attachment' => 'Neuer Anhang',
     'New comment' => 'Neuer Kommentar',
     'Comment updated' => 'Kommentar wurde aktualisiert',
     'New subtask' => 'Neue Teilaufgabe',
-    'Subtask updated' => 'Teilaufgabe aktualisiert',
-    'Task updated' => 'Aufgabe aktualisiert',
-    'Task closed' => 'Aufgabe geschlossen',
-    'Task opened' => 'Aufgabe geöffnet',
     'I want to receive notifications only for those projects:' => 'Ich möchte nur für diese Projekte Benachrichtigungen erhalten:',
     'view the task on Kanboard' => 'diese Aufgabe auf dem Kanboard zeigen',
     'Public access' => 'Öffentlicher Zugriff',
@@ -387,8 +381,6 @@ return array(
     '%s created the task #%d' => '%s hat die Aufgabe #%d angelegt',
     '%s closed the task #%d' => '%s hat die Aufgabe #%d geschlossen',
     '%s opened the task #%d' => '%s hat die Aufgabe #%d geöffnet',
-    '%s moved the task #%d to the column "%s"' => '%s hat die Aufgabe #%d in die Spalte "%s" verschoben',
-    '%s moved the task #%d to the position %d in the column "%s"' => '%s hat die Aufgabe #%d an die Position %d in der Spalte "%s" verschoben',
     'Activity' => 'Aktivität',
     'Default values are "%s"' => 'Die Standardwerte sind "%s"',
     'Default columns for new projects (Comma-separated)' => 'Standardspalten für neue Projekte (komma-getrennt)',
@@ -442,13 +434,10 @@ return array(
     'Percentage' => 'Prozentsatz',
     'Number of tasks' => 'Anzahl an Aufgaben',
     'Task distribution' => 'Aufgabenverteilung',
-    'Reportings' => 'Berichte',
-    'Task repartition for "%s"' => 'Aufgabenzuweisung für "%s"',
     'Analytics' => 'Analyse',
     'Subtask' => 'Teilaufgabe',
     'My subtasks' => 'Meine Teilaufgaben',
     'User repartition' => 'Benutzerverteilung',
-    'User repartition for "%s"' => 'Benutzerverteilung für "%s"',
     'Clone this project' => 'Projekt kopieren',
     'Column removed successfully.' => 'Spalte erfolgreich entfernt.',
     'Not enough data to show the graph.' => 'Nicht genügend Daten, um die Grafik zu zeigen.',
@@ -465,10 +454,8 @@ return array(
     'This value must be numeric' => 'Dieser Wert muss nummerisch sein',
     'Unable to create this task.' => 'Diese Aufgabe kann nicht erstellt werden',
     'Cumulative flow diagram' => 'Kumulatives Flussdiagramm',
-    'Cumulative flow diagram for "%s"' => 'Kumulatives Flussdiagramm für "%s"',
     'Daily project summary' => 'Tägliche Projektzusammenfassung',
     'Daily project summary export' => 'Export der täglichen Projektzusammenfassung',
-    'Daily project summary export for "%s"' => 'Export der täglichen Projektzusammenfassung für "%s"',
     'Exports' => 'Exporte',
     'This export contains the number of tasks per column grouped per day.' => 'Dieser Export enthält die Anzahl der Aufgaben pro Spalte nach Tagen gruppiert.',
     'Active swimlanes' => 'Aktive Swimlane',
@@ -494,7 +481,6 @@ return array(
     'Subtask Id' => 'Teilaufgaben-ID',
     'Subtasks' => 'Teilaufgaben',
     'Subtasks Export' => 'Export von Teilaufgaben',
-    'Subtasks exportation for "%s"' => 'Export von Teilaufgaben für "%s"',
     'Task Title' => 'Aufgaben-Titel',
     'Untitled' => 'unbetitelt',
     'Application default' => 'Anwendungsstandard',
@@ -615,7 +601,6 @@ return array(
     'Test your device' => 'Teste dein Gerät',
     'Assign a color when the task is moved to a specific column' => 'Weise eine Farbe zu, wenn die Aufgabe zu einer bestimmten Spalte bewegt wird',
     '%s via Kanboard' => '%s via Kanboard',
-    'Burndown chart for "%s"' => 'Burndown-Diagramm für "%s"',
     'Burndown chart' => 'Burndown-Diagramm',
     'This chart show the task complexity over the time (Work Remaining).' => 'Dieses Diagramm zeigt die Aufgabenkomplexität über den Faktor Zeit (Verbleibende Arbeit).',
     'Screenshot taken %s' => 'Screenshot aufgenommen %s ',
@@ -680,14 +665,8 @@ return array(
     'Move the task to another column when the category is changed' => 'Aufgabe in andere Spalte verschieben, wenn Kategorie geändert wird',
     'Send a task by email to someone' => 'Aufgabe per E-Mail versenden',
     'Reopen a task' => 'Aufgabe wieder öffnen',
-    'Column change' => 'Spalte geändert',
-    'Position change' => 'Position geändert',
-    'Swimlane change' => 'Swimlane geändert',
-    'Assignee change' => 'Zuordnung geändert',
-    '[%s] Overdue tasks' => '[%s] überfallige Aufgaben',
     'Notification' => 'Benachrichtigungen',
     '%s moved the task #%d to the first swimlane' => '%s hat die Aufgabe #%d in die erste Swimlane verschoben',
-    '%s moved the task #%d to the swimlane "%s"' => '%s hat die Aufgabe #%d in die Swimlane "%s" verschoben',
     'Swimlane' => 'Swimlane',
     'Gravatar' => 'Gravatar',
     '%s moved the task %s to the first swimlane' => '%s hat die Aufgabe %s in die erste Swimlane verschoben',
@@ -758,8 +737,6 @@ return array(
     'Search by category: ' => 'Suche nach Kategorie: ',
     'Search by description: ' => 'Suche nach Beschreibung: ',
     'Search by due date: ' => 'Suche nach Fälligkeitsdatum: ',
-    'Lead and Cycle time for "%s"' => 'Durchlauf und Zykluszeit für "%s"',
-    'Average time spent into each column for "%s"' => 'Durchschnittliche Zeit in jeder Spalte für "%s"',
     'Average time spent into each column' => 'Durchschnittszeit in jeder Spalte',
     'Average time spent' => 'Durchschnittlicher Zeitverbrauch',
     'This chart show the average time spent into each column for the last %d tasks.' => 'Dieses Diagramm zeigt die durchschnittliche Zeit in jeder Spalte der letzten %d Aufgaben.',
@@ -800,7 +777,6 @@ return array(
     'License:' => 'Lizenz:',
     'License' => 'Lizenz',
     'Enter the text below' => 'Text unten eingeben',
-    'Gantt chart for %s' => 'Gantt Diagramm für %s',
     'Sort by position' => 'Nach Position sortieren',
     'Sort by date' => 'Nach Datum sortieren',
     'Add task' => 'Aufgabe hinzufügen',
@@ -841,8 +817,6 @@ return array(
     'Version' => 'Version',
     'Plugins' => 'Plugins',
     'There is no plugin loaded.' => 'Es ist kein Plugin geladen.',
-    'Set maximum column height' => 'Setze maximale Spaltenhöhe',
-    'Remove maximum column height' => 'Entferne maximale Spaltenhöhe',
     'My notifications' => 'Meine Benachrichtigungen',
     'Custom filters' => 'Benutzerdefinierte Filter',
     'Your custom filter have been created successfully.' => 'Benutzerdefinierten Filter erfolgreich erstellt.',
@@ -947,7 +921,6 @@ return array(
     'Invalid captcha' => 'Ungültiges Captcha',
     'The name must be unique' => 'Der Name muss eindeutig sein',
     'View all groups' => 'Alle Gruppen anzeigen',
-    'View group members' => 'Gruppenmitglieder anzeigen',
     'There is no user available.' => 'Es ist kein Benutzer verfügbar.',
     'Do you really want to remove the user "%s" from the group "%s"?' => 'Wollen Sie den Benutzer "%s" wirklich aus der Gruppe "%s" löschen?',
     'There is no group.' => 'Es gibt keine Gruppe.',
@@ -968,13 +941,10 @@ return array(
     'Enter group name...' => 'Geben Sie den Gruppennamen ein...',
     'Role:' => 'Rolle:',
     'Project members' => 'Projektmitglieder',
-    'Compare hours for "%s"' => 'Vergleich der Stunden für %s',
     '%s mentioned you in the task #%d' => '%s erwähnte Sie in Aufgabe #%d',
     '%s mentioned you in a comment on the task #%d' => '%s erwähnte Sie in einem Kommentar zur Aufgabe #%d',
     'You were mentioned in the task #%d' => 'Sie wurden in der Aufgabe #%d erwähnt',
     'You were mentioned in a comment on the task #%d' => 'Sie wurden in einem Kommentar zur Aufgabe #%d erwähnt',
-    'Mentioned' => 'Erwähnt',
-    'Compare Estimated Time vs Actual Time' => 'Vergleich zwischen erwartetem und tatsächlichem Zeitaufwand',
     'Estimated hours: ' => 'Erwarteter Zeitaufwand (Stunden): ',
     'Actual hours: ' => 'Tatsächlich aufgewändete Stunden: ',
     'Hours Spent' => 'Stunden aufgewändet',
@@ -1232,4 +1202,16 @@ return array(
     // 'Internal link removed for the task #%d' => '',
     // '%s set a new internal link for the task %s' => '',
     // '%s removed an internal link for the task %s' => '',
+    // 'Automatically set the due date on task creation' => '',
+    // 'Move the task to another column when closed' => '',
+    // 'Move the task to another column when not moved during a given period' => '',
+    // 'Dashboard for %s' => '',
+    // 'Tasks overview for %s' => '',
+    // 'Subtasks overview for %s' => '',
+    // 'Projects overview for %s' => '',
+    // 'Activity stream for %s' => '',
+    // 'Calendar for %s' => '',
+    // 'Notifications for %s' => '',
+    // 'Subtasks export' => '',
+    // 'Tasks exportation' => '',
 );
diff --git a/app/Locale/el_GR/translations.php b/app/Locale/el_GR/translations.php
index e2ea0a69..cf3bb588 100644
--- a/app/Locale/el_GR/translations.php
+++ b/app/Locale/el_GR/translations.php
@@ -299,7 +299,6 @@ return array(
     'Display another project' => 'Εμφάνιση άλλου έργου',
     'Created by %s' => 'Δημιουργήθηκε από %s',
     'Tasks Export' => 'Εξαγωγή εργασιών',
-    'Tasks exportation for "%s"' => 'Εξαγωγή εργασιών για το έργο « %s »',
     'Start Date' => 'Ημερομηνία έναρξης',
     'End Date' => 'ημερομηνία λήξης',
     'Execute' => 'Εκτέλεση',
@@ -322,14 +321,9 @@ return array(
     'New sub-task' => 'Νέα υπο-εργασία',
     'New attachment added "%s"' => 'Νέα επικόλληση προστέθηκε « %s »',
     'New comment posted by %s' => 'Νέο σχόλιο από τον χρήστη « %s »',
-    'New attachment' => 'New attachment',
     'New comment' => 'Νέο σχόλιο',
     'Comment updated' => 'Το σχόλιο ενημερώθηκε',
     'New subtask' => 'Νέα υπο-εργασία',
-    'Subtask updated' => 'Η Υπο-Εργασία ενημερώθηκε',
-    'Task updated' => 'Η εργασία ενημερώθηκε',
-    'Task closed' => 'Η εργασία έκλεισε',
-    'Task opened' => 'Η εργασία άνοιξε',
     'I want to receive notifications only for those projects:' => 'Θέλω να ενημερώνομαι αποκλειστικά για:',
     'view the task on Kanboard' => 'Προβολή της εργασίας στο Kanboard',
     'Public access' => 'Ανοιχτή πρόσβαση',
@@ -387,8 +381,6 @@ return array(
     '%s created the task #%d' => '%s δημιούργησε την εργασία n°%d',
     '%s closed the task #%d' => '%s έκλεισε την εργασία n°%d',
     '%s opened the task #%d' => '%s άνοιξε την εργασία n°%d',
-    '%s moved the task #%d to the column "%s"' => '%s μετακίνησε την εργασία n°%d στη στήλη « %s »',
-    '%s moved the task #%d to the position %d in the column "%s"' => '%s μετακίνησε την εργασία n°%d στη θέση n°%d της στήλης « %s »',
     'Activity' => 'Δραστηριότητα',
     'Default values are "%s"' => 'Οι προεπιλεγμένες τιμές είναι « %s »',
     'Default columns for new projects (Comma-separated)' => 'Προεπιλεγμένες στήλες για νέα έργα (Comma-separated)',
@@ -442,13 +434,10 @@ return array(
     'Percentage' => 'Ποσοστό',
     'Number of tasks' => 'Αριθμός εργασιών',
     'Task distribution' => 'Κατανομή εργασιών',
-    'Reportings' => 'Αναφορές',
-    'Task repartition for "%s"' => 'Επανάληψη εργασιών για « %s »',
     'Analytics' => 'Αναλύσεις',
     'Subtask' => 'Υπο-Εργασία',
     'My subtasks' => 'Οι υπο-εργασίες μου',
     'User repartition' => 'Επαναλήψεις χρηστών',
-    'User repartition for "%s"' => 'Επαναλήψεις χρηστών για « %s »',
     'Clone this project' => 'Κλωνοποίηση έργου',
     'Column removed successfully.' => 'Η στήλη αφαιρέθηκε με επιτυχία.',
     'Not enough data to show the graph.' => 'Ελλειπή δεδομένα για να εμφανιστεί το γράφημα.',
@@ -465,10 +454,8 @@ return array(
     'This value must be numeric' => 'Η τιμή πρέπει να είναι αριθμός',
     'Unable to create this task.' => 'Αδύνατο να δημιουργηθεί αυτή η εργασία.',
     'Cumulative flow diagram' => 'Συγκεντρωτικό διάγραμμα ροής',
-    'Cumulative flow diagram for "%s"' => 'Συγκεντρωτικό διάγραμμα ροής για « %s »',
     'Daily project summary' => 'Καθημερινή περίληψη του έργου',
     'Daily project summary export' => 'Εξαγωγή της καθημερινής περίληψης του έργου',
-    'Daily project summary export for "%s"' => 'Εξαγωγή της καθημερινής περίληψης του έργου « %s »',
     'Exports' => 'Εξαγωγές',
     'This export contains the number of tasks per column grouped per day.' => 'Αυτή η κατάσταση περιέχει τον αριθμό των εργασιών ανά στήλη ομαδοποιημένα ανά ημέρα.',
     'Active swimlanes' => 'Ενεργές λωρίδες',
@@ -494,7 +481,6 @@ return array(
     'Subtask Id' => 'Id υπο-εργασίας',
     'Subtasks' => 'Υπο-Εργασίες',
     'Subtasks Export' => 'Εξαγωγή υπο-εργασίων',
-    'Subtasks exportation for "%s"' => 'Εξαγωγή υπο-εργασίων για το έργο « %s »',
     'Task Title' => 'Τίτλος εργασίας',
     'Untitled' => 'Χωρίς τίτλο',
     'Application default' => 'Προεπιλογή από την εφαρμογή',
@@ -615,7 +601,6 @@ return array(
     'Test your device' => 'Ελέγξτε τη συσκευή σας',
     'Assign a color when the task is moved to a specific column' => 'Αντιστοίχιση χρώματος όταν η εργασία κινείται σε μια συγκεκριμένη στήλη',
     '%s via Kanboard' => '%s via Kanboard',
-    'Burndown chart for "%s"' => 'Δημιουργία διαγράμματος για « %s »',
     'Burndown chart' => 'Δημιουργία διαγράμματος',
     'This chart show the task complexity over the time (Work Remaining).' => 'Αυτό το γράφημα δείχνει την πολυπλοκότητα του έργου κατά την πάροδο του χρόνου (Εργασία που παραμένει).',
     'Screenshot taken %s' => 'Το screenshot αποθηκεύτηκε από %s',
@@ -680,14 +665,8 @@ return array(
     'Move the task to another column when the category is changed' => 'Μετακινήστε την εργασία σε άλλη στήλη, όταν η κατηγορία έχει αλλάξει',
     'Send a task by email to someone' => 'Στείλτε μια εργασία μέσω ηλεκτρονικού ταχυδρομείου σε κάποιον',
     'Reopen a task' => 'Ξανα-ανοίξτε μια εργασία',
-    'Column change' => 'Αλλαγή στήλης',
-    'Position change' => 'Αλλαγή θέσης',
-    'Swimlane change' => 'Αλλαγή λωρίδας',
-    'Assignee change' => 'Αλλαγή εκδοχέα',
-    '[%s] Overdue tasks' => '[%s] Εκπρόθεσμες εργασίες',
     'Notification' => 'Κοινοποίηση',
     '%s moved the task #%d to the first swimlane' => '%s μετέφερε την εργασία n°%d στην 1η λωρίδα',
-    '%s moved the task #%d to the swimlane "%s"' => '%s μετέφερε την εργασία n°%d στη λωρίδα « %s »',
     'Swimlane' => 'Λωρίδα',
     'Gravatar' => 'Gravatar',
     '%s moved the task %s to the first swimlane' => '%s μετέφερε την εργασία %s στην 1η λωρίδα',
@@ -758,8 +737,6 @@ return array(
     'Search by category: ' => 'Αναζήτηση βάση κατηγορίας: ',
     'Search by description: ' => 'Αναζήτηση βάση περιγραφής: ',
     'Search by due date: ' => 'Αναζήτηση βάση ημέρας λήξης: ',
-    'Lead and Cycle time for "%s"' => 'Lead & cycle time για « %s »',
-    'Average time spent into each column for "%s"' => 'Μέσος χρόνος παραμονής σε κάθε στήλη για « %s »',
     'Average time spent into each column' => 'Μέσος χρόνος παραμονής σε κάθε στήλη',
     'Average time spent' => 'Μέσος χρόνος που δαπανήθηκε',
     'This chart show the average time spent into each column for the last %d tasks.' => 'Αυτό το γράφημα δείχνει ότι ο μέσος χρόνος που δαπανάται σε κάθε στήλη για τις τελευταίες %d εργασίες',
@@ -800,7 +777,6 @@ return array(
     'License:' => 'Άδεια:',
     'License' => 'Άδεια',
     'Enter the text below' => 'Πληκτρολογήστε το παρακάτω κείμενο',
-    'Gantt chart for %s' => 'Gantt διάγραμμα για %s',
     'Sort by position' => 'Ταξινόμηση κατά Θέση',
     'Sort by date' => 'Ταξινόμηση κατά ημέρα',
     'Add task' => 'Προσθήκη εργασίας',
@@ -841,8 +817,6 @@ return array(
     'Version' => 'Έκδοση',
     'Plugins' => 'Πρόσθετα',
     'There is no plugin loaded.' => 'Δεν έχει φορτωθεί plugin',
-    'Set maximum column height' => 'Ορισμός μέγιστου ύψους στήλης',
-    'Remove maximum column height' => 'Αφαίρεση μέγιστου ύψους στήλης',
     'My notifications' => 'Οι ειδοποιήσεις μου',
     'Custom filters' => 'Φίλτρα ορισμένα από τον χρήστη',
     'Your custom filter have been created successfully.' => 'Το παρεμετροποιημένο από τον χρήστη φίλτρο δημιουργήθηκε με επιτυχία',
@@ -947,7 +921,6 @@ return array(
     'Invalid captcha' => 'Μη αποδεκτό Captcha',
     'The name must be unique' => 'Το όνομα πρέπει να είναι μοναδικό',
     'View all groups' => 'Προβολή όλων των ομάδων',
-    'View group members' => 'Προβολή των μελών της ομάδας',
     'There is no user available.' => 'Δεν υπάρχει διαθέσιμος χρήστης',
     'Do you really want to remove the user "%s" from the group "%s"?' => 'Αφαίρεση του χρήστη « %s » από την ομάδα « %s » ?',
     'There is no group.' => 'Δεν υπάρχει ομάδα.',
@@ -968,13 +941,10 @@ return array(
     'Enter group name...' => 'Εισαγωγή ονομασίας ομάδας...',
     'Role:' => 'Ρόλος:',
     'Project members' => 'Μέλη έργου',
-    'Compare hours for "%s"' => 'Σύγκριση ωρών για « %s »',
     '%s mentioned you in the task #%d' => '%s αναφέρονται σε εσάς, στη εργασία n°%d',
     '%s mentioned you in a comment on the task #%d' => '%s αναφέρονται σε εσάς σε σχόλιο, στη εργασίας n°%d',
     'You were mentioned in the task #%d' => 'Αναφέρεστε στην εργασία n°%d',
     'You were mentioned in a comment on the task #%d' => 'Αναφέρεστε σε σχόλιο, στην εργασία n°%d',
-    'Mentioned' => 'Αναφέρεται',
-    'Compare Estimated Time vs Actual Time' => 'Σύγκριση προβλεπόμενου χρόνου vs πραγματικού χρόνου',
     'Estimated hours: ' => 'Προβλεπόμενες ώρες: ',
     'Actual hours: ' => 'Πραγματικές ώρες: ',
     'Hours Spent' => 'Δαπανόμενες ώρες',
@@ -1232,4 +1202,16 @@ return array(
     // 'Internal link removed for the task #%d' => '',
     // '%s set a new internal link for the task %s' => '',
     // '%s removed an internal link for the task %s' => '',
+    // 'Automatically set the due date on task creation' => '',
+    // 'Move the task to another column when closed' => '',
+    // 'Move the task to another column when not moved during a given period' => '',
+    // 'Dashboard for %s' => '',
+    // 'Tasks overview for %s' => '',
+    // 'Subtasks overview for %s' => '',
+    // 'Projects overview for %s' => '',
+    // 'Activity stream for %s' => '',
+    // 'Calendar for %s' => '',
+    // 'Notifications for %s' => '',
+    // 'Subtasks export' => '',
+    // 'Tasks exportation' => '',
 );
diff --git a/app/Locale/es_ES/translations.php b/app/Locale/es_ES/translations.php
index 088a4fbb..5a2c16c0 100644
--- a/app/Locale/es_ES/translations.php
+++ b/app/Locale/es_ES/translations.php
@@ -299,7 +299,6 @@ return array(
     'Display another project' => 'Mostrar otro proyecto',
     'Created by %s' => 'Creado por %s',
     'Tasks Export' => 'Exportar tareas',
-    'Tasks exportation for "%s"' => 'Exportación de tareas para «%s»',
     'Start Date' => 'Fecha de inicio',
     'End Date' => 'Fecha final',
     'Execute' => 'Ejecutar',
@@ -322,14 +321,9 @@ return array(
     'New sub-task' => 'Nueva subtarea',
     'New attachment added "%s"' => 'Nuevo adjunto añadido «%s»',
     'New comment posted by %s' => 'Nuevo comentario añadido por %s',
-    'New attachment' => 'Nuevo adjunto',
     'New comment' => 'Nuevo comentario',
     'Comment updated' => 'Comentario actualizado',
     'New subtask' => 'Nueva subtarea',
-    'Subtask updated' => 'Subtarea actualizada',
-    'Task updated' => 'Tarea actualizada',
-    'Task closed' => 'Tarea cerrada',
-    'Task opened' => 'Tarea abierta',
     'I want to receive notifications only for those projects:' => 'Quiero recibir notificaciones sólo de estos proyectos:',
     'view the task on Kanboard' => 'ver la tarea en Kanboard',
     'Public access' => 'Acceso público',
@@ -387,8 +381,6 @@ return array(
     '%s created the task #%d' => '%s creó la tarea #%d',
     '%s closed the task #%d' => '%s cerró la tarea #%d',
     '%s opened the task #%d' => '%s abrió la tarea #%d',
-    '%s moved the task #%d to the column "%s"' => '%s movió la tarea #%d a la columna «%s»',
-    '%s moved the task #%d to the position %d in the column "%s"' => '%s movió la tarea #%d a la posición %d de la columna «%s»',
     'Activity' => 'Actividad',
     'Default values are "%s"' => 'Los valores por defecto son «%s»',
     'Default columns for new projects (Comma-separated)' => 'Columnas por defecto para los nuevos proyectos (separadas mediante comas)',
@@ -442,13 +434,10 @@ return array(
     'Percentage' => 'Porcentaje',
     'Number of tasks' => 'Número de tareas',
     'Task distribution' => 'Distribución de tareas',
-    'Reportings' => 'Informes',
-    'Task repartition for "%s"' => 'Repartición de tareas para «%s»',
     'Analytics' => 'Analítica',
     'Subtask' => 'Subtarea',
     'My subtasks' => 'Mis subtareas',
     'User repartition' => 'Repartición de usuarios',
-    'User repartition for "%s"' => 'Repartición de usuarios para «%s»',
     'Clone this project' => 'Clonar este proyecto',
     'Column removed successfully.' => 'Columna eliminada correctamente.',
     'Not enough data to show the graph.' => 'No hay suficiente información para mostrar el gráfico.',
@@ -465,10 +454,8 @@ return array(
     'This value must be numeric' => 'Este valor debe ser numérico',
     'Unable to create this task.' => 'No se puede crear esta tarea.',
     'Cumulative flow diagram' => 'Diagrama de flujo acumulativo',
-    'Cumulative flow diagram for "%s"' => 'Diagrama de flujo acumulativo para «%s»',
     'Daily project summary' => 'Resumen diario del proyecto',
     'Daily project summary export' => 'Exportar resumen diario del proyecto',
-    'Daily project summary export for "%s"' => 'Exportar resumen diario del proyecto para «%s»',
     'Exports' => 'Exportaciones',
     'This export contains the number of tasks per column grouped per day.' => 'Esta exportación contiene el número de tareas por columna agrupadas por día.',
     'Active swimlanes' => 'Calles activas',
@@ -494,7 +481,6 @@ return array(
     'Subtask Id' => 'Identificador de subtarea',
     'Subtasks' => 'Subtareas',
     'Subtasks Export' => 'Exportación de subtareas',
-    'Subtasks exportation for "%s"' => 'Exportación de subtareas para «%s»',
     'Task Title' => 'Título de la tarea',
     'Untitled' => 'Sin título',
     'Application default' => 'Predefinido por la aplicación',
@@ -615,7 +601,6 @@ return array(
     'Test your device' => 'Probar su dispositivo',
     'Assign a color when the task is moved to a specific column' => 'Asignar un color al mover la tarea a una columna específica',
     '%s via Kanboard' => '%s vía Kanboard',
-    'Burndown chart for "%s"' => 'Trabajo pendiente para «%s»',
     'Burndown chart' => 'Trabajo pendiente',
     'This chart show the task complexity over the time (Work Remaining).' => 'Este diagrama muestra la complejidad de la tarea a lo largo del tiempo (trabajo restante).',
     'Screenshot taken %s' => 'Pantallazo tomado el %s',
@@ -680,14 +665,8 @@ return array(
     'Move the task to another column when the category is changed' => 'Mover la tarea a otra columna cuando cambie la categoría',
     'Send a task by email to someone' => 'Enviar una tarea a alguien por correo',
     'Reopen a task' => 'Reabrir tarea',
-    'Column change' => 'Cambio de columna',
-    'Position change' => 'Cambio de posición',
-    'Swimlane change' => 'Cambio de calle',
-    'Assignee change' => 'Cambio de responsable',
-    '[%s] Overdue tasks' => '[%s] Tareas vencidas',
     'Notification' => 'Notificación',
     '%s moved the task #%d to the first swimlane' => '%s movió la tarea #%d a la primera calle',
-    '%s moved the task #%d to the swimlane "%s"' => '%s movió la tarea #%d a la calle «%s»',
     'Swimlane' => 'Calle',
     'Gravatar' => 'Gravatar',
     '%s moved the task %s to the first swimlane' => '%s movió la tarea %s a la primera calle',
@@ -758,8 +737,6 @@ return array(
     'Search by category: ' => 'Buscar por categoría: ',
     'Search by description: ' => 'Buscar por descripción: ',
     'Search by due date: ' => 'Buscar por fecha de entrega: ',
-    'Lead and Cycle time for "%s"' => 'Plazo de entrega y ciclo para «%s»',
-    'Average time spent into each column for "%s"' => 'Tiempo medio empleado en cada columna para «%s»',
     'Average time spent into each column' => 'Tiempo medio empleado en cada columna',
     'Average time spent' => 'Tiempo medio empleado',
     'This chart show the average time spent into each column for the last %d tasks.' => 'Esta gráfica muestra el tiempo medio empleado en cada columna para las últimas %d tareas.',
@@ -800,7 +777,6 @@ return array(
     'License:' => 'Licencia:',
     'License' => 'Licencia',
     'Enter the text below' => 'Introduzca el texto a continuación',
-    'Gantt chart for %s' => 'Diagrama de Gantt para %s',
     'Sort by position' => 'Ordenar por posición',
     'Sort by date' => 'Ordenar por fecha',
     'Add task' => 'Añadir tarea',
@@ -841,8 +817,6 @@ return array(
     'Version' => 'Versión',
     'Plugins' => 'Plugins',
     'There is no plugin loaded.' => 'No hay ningún plugin cargado.',
-    'Set maximum column height' => 'Establecer altura máxima de la columna',
-    'Remove maximum column height' => 'Eliminar altura máxima de la columna',
     'My notifications' => 'Mis notificaciones',
     'Custom filters' => 'Filtros personalizados',
     'Your custom filter have been created successfully.' => 'Tus filtros personalizados han sido creados correctamente.',
@@ -947,7 +921,6 @@ return array(
     'Invalid captcha' => 'CAPTCHA inválido',
     'The name must be unique' => 'El nombre debe ser único',
     'View all groups' => 'Ver todos los grupos',
-    'View group members' => 'Ver miembros del grupo',
     'There is no user available.' => 'No hay usuario disponible.',
     'Do you really want to remove the user "%s" from the group "%s"?' => '¿Realmente desea eliminar el usuario «%s» del grupo «%s»?',
     'There is no group.' => 'No hay grupo.',
@@ -968,13 +941,10 @@ return array(
     'Enter group name...' => 'Ingresa el nombre del grupo...',
     'Role:' => 'Rol:',
     'Project members' => 'Miembros del proyecto',
-    'Compare hours for "%s"' => 'Compara horas con «%s»',
     '%s mentioned you in the task #%d' => '%s te mencionó en la tarea #%d',
     '%s mentioned you in a comment on the task #%d' => '%s te mencionó en un comentario en la tarea #%d',
     'You were mentioned in the task #%d' => 'Fuiste mencionado en la tarea #%d',
     'You were mentioned in a comment on the task #%d' => 'Fuiste mencionado en un comentario de la tarea #%d',
-    'Mentioned' => 'Mencionado',
-    'Compare Estimated Time vs Actual Time' => 'Comparar tiempo estimado vs tiempo actual',
     'Estimated hours: ' => 'Horas estimadas: ',
     'Actual hours: ' => 'Horas actuales: ',
     'Hours Spent' => 'Horas gastadas',
@@ -1232,4 +1202,16 @@ return array(
     // 'Internal link removed for the task #%d' => '',
     // '%s set a new internal link for the task %s' => '',
     // '%s removed an internal link for the task %s' => '',
+    // 'Automatically set the due date on task creation' => '',
+    // 'Move the task to another column when closed' => '',
+    // 'Move the task to another column when not moved during a given period' => '',
+    // 'Dashboard for %s' => '',
+    // 'Tasks overview for %s' => '',
+    // 'Subtasks overview for %s' => '',
+    // 'Projects overview for %s' => '',
+    // 'Activity stream for %s' => '',
+    // 'Calendar for %s' => '',
+    // 'Notifications for %s' => '',
+    // 'Subtasks export' => '',
+    // 'Tasks exportation' => '',
 );
diff --git a/app/Locale/fi_FI/translations.php b/app/Locale/fi_FI/translations.php
index 316c2089..ed38fb56 100644
--- a/app/Locale/fi_FI/translations.php
+++ b/app/Locale/fi_FI/translations.php
@@ -299,7 +299,6 @@ return array(
     'Display another project' => 'Näytä toinen projekti',
     'Created by %s' => 'Luonut: %s',
     'Tasks Export' => 'Tehtävien vienti',
-    'Tasks exportation for "%s"' => 'Tehtävien vienti projektilta "%s"',
     'Start Date' => 'Aloituspäivä',
     'End Date' => 'Lopetuspäivä',
     'Execute' => 'Suorita',
@@ -322,14 +321,9 @@ return array(
     'New sub-task' => 'Uusi alitehtävä',
     'New attachment added "%s"' => 'Uusi liite lisätty "%s"',
     'New comment posted by %s' => '%s lisäsi uuden kommentin',
-    // 'New attachment' => '',
     // 'New comment' => '',
     'Comment updated' => 'Kommentti päivitetty',
     // 'New subtask' => '',
-    // 'Subtask updated' => '',
-    // 'Task updated' => '',
-    // 'Task closed' => '',
-    // 'Task opened' => '',
     'I want to receive notifications only for those projects:' => 'Haluan vastaanottaa ilmoituksia ainoastaan näistä projekteista:',
     'view the task on Kanboard' => 'katso tehtävää Kanboardissa',
     'Public access' => 'Julkinen käyttöoikeus',
@@ -387,8 +381,6 @@ return array(
     '%s created the task #%d' => '%s loi tehtävän #%d',
     '%s closed the task #%d' => '%s sulki tehtävän #%d',
     '%s opened the task #%d' => '%s avasi tehtävän #%d',
-    '%s moved the task #%d to the column "%s"' => '%s siirsi tehtävän #%d sarakkeeseen "%s"',
-    '%s moved the task #%d to the position %d in the column "%s"' => '%s siirsi tehtävän #%d %d. sarakkeessa %s',
     'Activity' => 'Toiminta',
     'Default values are "%s"' => 'Oletusarvot ovat "%s"',
     'Default columns for new projects (Comma-separated)' => 'Oletussarakkeet uusille projekteille',
@@ -442,13 +434,10 @@ return array(
     'Percentage' => 'Prosentti',
     'Number of tasks' => 'Tehtävien määrä',
     'Task distribution' => 'Tehtävien jakauma',
-    'Reportings' => 'Raportoinnit',
-    // 'Task repartition for "%s"' => '',
     'Analytics' => 'Analytiikka',
     'Subtask' => 'Alitehtävä',
     'My subtasks' => 'Minun alitehtäväni',
     // 'User repartition' => '',
-    // 'User repartition for "%s"' => '',
     'Clone this project' => 'Kahdenna projekti',
     'Column removed successfully.' => 'Sarake poistettu onnstuneesti.',
     'Not enough data to show the graph.' => 'Ei riittävästi dataa graafin näyttämiseksi.',
@@ -465,10 +454,8 @@ return array(
     'This value must be numeric' => 'Tämän arvon tulee olla numeerinen',
     'Unable to create this task.' => 'Tehtävän luonti epäonnistui',
     'Cumulative flow diagram' => 'Kumulatiivinen vuokaavio',
-    'Cumulative flow diagram for "%s"' => 'Kumulatiivinen vuokaavio kohteelle "%s"',
     'Daily project summary' => 'Päivittäinen yhteenveto',
     'Daily project summary export' => 'Päivittäisen yhteenvedon vienti',
-    'Daily project summary export for "%s"' => 'Päivittäisen yhteenvedon vienti kohteeseen "%s"',
     'Exports' => 'Viennit',
     'This export contains the number of tasks per column grouped per day.' => 'Tämä tiedosto sisältää tehtäviä sarakkeisiin päiväkohtaisesti ryhmilteltyinä',
     'Active swimlanes' => 'Aktiiviset kaistat',
@@ -494,7 +481,6 @@ return array(
     // 'Subtask Id' => '',
     // 'Subtasks' => '',
     // 'Subtasks Export' => '',
-    // 'Subtasks exportation for "%s"' => '',
     // 'Task Title' => '',
     // 'Untitled' => '',
     // 'Application default' => '',
@@ -615,7 +601,6 @@ return array(
     // 'Test your device' => '',
     // 'Assign a color when the task is moved to a specific column' => '',
     // '%s via Kanboard' => '',
-    // 'Burndown chart for "%s"' => '',
     // 'Burndown chart' => '',
     // 'This chart show the task complexity over the time (Work Remaining).' => '',
     // 'Screenshot taken %s' => '',
@@ -680,14 +665,8 @@ return array(
     // 'Move the task to another column when the category is changed' => '',
     // 'Send a task by email to someone' => '',
     // 'Reopen a task' => '',
-    // 'Column change' => '',
-    // 'Position change' => '',
-    // 'Swimlane change' => '',
-    // 'Assignee change' => '',
-    // '[%s] Overdue tasks' => '',
     // 'Notification' => '',
     // '%s moved the task #%d to the first swimlane' => '',
-    // '%s moved the task #%d to the swimlane "%s"' => '',
     // 'Swimlane' => '',
     // 'Gravatar' => '',
     // '%s moved the task %s to the first swimlane' => '',
@@ -758,8 +737,6 @@ return array(
     // 'Search by category: ' => '',
     // 'Search by description: ' => '',
     // 'Search by due date: ' => '',
-    // 'Lead and Cycle time for "%s"' => '',
-    // 'Average time spent into each column for "%s"' => '',
     // 'Average time spent into each column' => '',
     // 'Average time spent' => '',
     // 'This chart show the average time spent into each column for the last %d tasks.' => '',
@@ -800,7 +777,6 @@ return array(
     // 'License:' => '',
     // 'License' => '',
     // 'Enter the text below' => '',
-    // 'Gantt chart for %s' => '',
     // 'Sort by position' => '',
     // 'Sort by date' => '',
     // 'Add task' => '',
@@ -841,8 +817,6 @@ return array(
     // 'Version' => '',
     // 'Plugins' => '',
     // 'There is no plugin loaded.' => '',
-    // 'Set maximum column height' => '',
-    // 'Remove maximum column height' => '',
     // 'My notifications' => '',
     // 'Custom filters' => '',
     // 'Your custom filter have been created successfully.' => '',
@@ -947,7 +921,6 @@ return array(
     // 'Invalid captcha' => '',
     // 'The name must be unique' => '',
     // 'View all groups' => '',
-    // 'View group members' => '',
     // 'There is no user available.' => '',
     // 'Do you really want to remove the user "%s" from the group "%s"?' => '',
     // 'There is no group.' => '',
@@ -968,13 +941,10 @@ return array(
     // 'Enter group name...' => '',
     // 'Role:' => '',
     // 'Project members' => '',
-    // 'Compare hours for "%s"' => '',
     // '%s mentioned you in the task #%d' => '',
     // '%s mentioned you in a comment on the task #%d' => '',
     // 'You were mentioned in the task #%d' => '',
     // 'You were mentioned in a comment on the task #%d' => '',
-    // 'Mentioned' => '',
-    // 'Compare Estimated Time vs Actual Time' => '',
     // 'Estimated hours: ' => '',
     // 'Actual hours: ' => '',
     // 'Hours Spent' => '',
@@ -1232,4 +1202,16 @@ return array(
     // 'Internal link removed for the task #%d' => '',
     // '%s set a new internal link for the task %s' => '',
     // '%s removed an internal link for the task %s' => '',
+    // 'Automatically set the due date on task creation' => '',
+    // 'Move the task to another column when closed' => '',
+    // 'Move the task to another column when not moved during a given period' => '',
+    // 'Dashboard for %s' => '',
+    // 'Tasks overview for %s' => '',
+    // 'Subtasks overview for %s' => '',
+    // 'Projects overview for %s' => '',
+    // 'Activity stream for %s' => '',
+    // 'Calendar for %s' => '',
+    // 'Notifications for %s' => '',
+    // 'Subtasks export' => '',
+    // 'Tasks exportation' => '',
 );
diff --git a/app/Locale/fr_FR/translations.php b/app/Locale/fr_FR/translations.php
index 19ce49b4..e7184949 100644
--- a/app/Locale/fr_FR/translations.php
+++ b/app/Locale/fr_FR/translations.php
@@ -299,7 +299,6 @@ return array(
     'Display another project' => 'Afficher un autre projet',
     'Created by %s' => 'Créé par %s',
     'Tasks Export' => 'Exportation des tâches',
-    'Tasks exportation for "%s"' => 'Exportation des tâches pour « %s »',
     'Start Date' => 'Date de début',
     'End Date' => 'Date de fin',
     'Execute' => 'Exécuter',
@@ -322,14 +321,9 @@ return array(
     'New sub-task' => 'Nouvelle sous-tâche',
     'New attachment added "%s"' => 'Nouvelle pièce-jointe ajoutée « %s »',
     'New comment posted by %s' => 'Nouveau commentaire ajouté par « %s »',
-    'New attachment' => 'Nouveau document',
     'New comment' => 'Nouveau commentaire',
     'Comment updated' => 'Commentaire mis à jour',
     'New subtask' => 'Nouvelle sous-tâche',
-    'Subtask updated' => 'Sous-tâche mise à jour',
-    'Task updated' => 'Tâche mise à jour',
-    'Task closed' => 'Tâche fermée',
-    'Task opened' => 'Tâche ouverte',
     'I want to receive notifications only for those projects:' => 'Je souhaite reçevoir les notifications uniquement pour les projets sélectionnés :',
     'view the task on Kanboard' => 'voir la tâche sur Kanboard',
     'Public access' => 'Accès public',
@@ -387,8 +381,6 @@ return array(
     '%s created the task #%d' => '%s a créé la tâche n°%d',
     '%s closed the task #%d' => '%s a fermé la tâche n°%d',
     '%s opened the task #%d' => '%s a ouvert la tâche n°%d',
-    '%s moved the task #%d to the column "%s"' => '%s a déplacé la tâche n°%d dans la colonne « %s »',
-    '%s moved the task #%d to the position %d in the column "%s"' => '%s a déplacé la tâche n°%d à la position n°%d dans la colonne « %s »',
     'Activity' => 'Activité',
     'Default values are "%s"' => 'Les valeurs par défaut sont « %s »',
     'Default columns for new projects (Comma-separated)' => 'Colonnes par défaut pour les nouveaux projets (séparation par des virgules)',
@@ -442,13 +434,10 @@ return array(
     'Percentage' => 'Pourcentage',
     'Number of tasks' => 'Nombre de tâches',
     'Task distribution' => 'Répartition des tâches',
-    'Reportings' => 'Rapports',
-    'Task repartition for "%s"' => 'Répartition des tâches pour « %s »',
     'Analytics' => 'Analytique',
     'Subtask' => 'Sous-tâche',
     'My subtasks' => 'Mes sous-tâches',
     'User repartition' => 'Répartition des utilisateurs',
-    'User repartition for "%s"' => 'Répartition des utilisateurs pour « %s »',
     'Clone this project' => 'Cloner ce projet',
     'Column removed successfully.' => 'Colonne supprimée avec succès.',
     'Not enough data to show the graph.' => 'Pas assez de données pour afficher le graphique.',
@@ -465,10 +454,8 @@ return array(
     'This value must be numeric' => 'Cette valeur doit être numérique',
     'Unable to create this task.' => 'Impossible de créer cette tâche',
     'Cumulative flow diagram' => 'Diagramme de flux cumulé',
-    'Cumulative flow diagram for "%s"' => 'Diagramme de flux cumulé pour « %s »',
     'Daily project summary' => 'Résumé journalier du projet',
     'Daily project summary export' => 'Export du résumé journalier du projet',
-    'Daily project summary export for "%s"' => 'Export du résumé quotidien du projet pour « %s »',
     'Exports' => 'Exports',
     'This export contains the number of tasks per column grouped per day.' => 'Cet export contient le nombre de tâches par colonne groupé par jour.',
     'Active swimlanes' => 'Swimlanes actives',
@@ -494,7 +481,6 @@ return array(
     'Subtask Id' => 'Identifiant de la sous-tâche',
     'Subtasks' => 'Sous-tâches',
     'Subtasks Export' => 'Exportation des sous-tâches',
-    'Subtasks exportation for "%s"' => 'Exportation des sous-tâches pour le projet « %s »',
     'Task Title' => 'Titre de la tâche',
     'Untitled' => 'Sans nom',
     'Application default' => 'Valeur par défaut de l\'application',
@@ -615,7 +601,6 @@ return array(
     'Test your device' => 'Testez votre appareil',
     'Assign a color when the task is moved to a specific column' => 'Assigner une couleur lorsque la tâche est déplacée dans une colonne spécifique',
     '%s via Kanboard' => '%s via Kanboard',
-    'Burndown chart for "%s"' => 'Graphique d\'avancement pour « %s »',
     'Burndown chart' => 'Graphique d\'avancement',
     'This chart show the task complexity over the time (Work Remaining).' => 'Ce graphique représente la complexité des tâches en fonction du temps (travail restant).',
     'Screenshot taken %s' => 'Capture d\'écran prise le %s',
@@ -680,14 +665,8 @@ return array(
     'Move the task to another column when the category is changed' => 'Déplacer une tâche vers une autre colonne lorsque la catégorie a changé',
     'Send a task by email to someone' => 'Envoyer une tâche par email à quelqu\'un',
     'Reopen a task' => 'Rouvrir une tâche',
-    'Column change' => 'Changement de colonne',
-    'Position change' => 'Changement de position',
-    'Swimlane change' => 'Changement de swimlane',
-    'Assignee change' => 'Changement d\'assigné',
-    '[%s] Overdue tasks' => '[%s] Tâches en retard',
     'Notification' => 'Notification',
     '%s moved the task #%d to the first swimlane' => '%s a déplacé la tâche n°%d dans la première swimlane',
-    '%s moved the task #%d to the swimlane "%s"' => '%s a déplacé la tâche n°%d dans la swimlane « %s »',
     'Swimlane' => 'Swimlane',
     'Gravatar' => 'Gravatar',
     '%s moved the task %s to the first swimlane' => '%s a déplacé la tâche %s dans la première swimlane',
@@ -759,8 +738,6 @@ return array(
     'Search by category: ' => 'Rechercher par catégorie : ',
     'Search by description: ' => 'Rechercher par description : ',
     'Search by due date: ' => 'Rechercher par date d\'échéance : ',
-    'Lead and Cycle time for "%s"' => 'Lead et cycle time pour « %s »',
-    'Average time spent into each column for "%s"' => 'Temps passé moyen dans chaque colonne pour « %s »',
     'Average time spent into each column' => 'Temps moyen passé dans chaque colonne',
     'Average time spent' => 'Temps moyen passé',
     'This chart show the average time spent into each column for the last %d tasks.' => 'Ce graphique montre le temps passé moyen dans chaque colonne pour les %d dernières tâches.',
@@ -801,7 +778,6 @@ return array(
     'License:' => 'Licence :',
     'License' => 'Licence',
     'Enter the text below' => 'Entrez le texte ci-dessous',
-    'Gantt chart for %s' => 'Diagramme de Gantt pour %s',
     'Sort by position' => 'Trier par position',
     'Sort by date' => 'Trier par date',
     'Add task' => 'Ajouter une tâche',
@@ -842,8 +818,6 @@ return array(
     'Version' => 'Version',
     'Plugins' => 'Extensions',
     'There is no plugin loaded.' => 'Il n\'y a aucune extension chargée.',
-    'Set maximum column height' => 'Définir la hauteur max. des colonnes',
-    'Remove maximum column height' => 'Enlever la hauteur max. des colonnes',
     'My notifications' => 'Mes notifications',
     'Custom filters' => 'Filtres personalisés',
     'Your custom filter have been created successfully.' => 'Votre filter personalisé a été créé avec succès.',
@@ -948,7 +922,6 @@ return array(
     'Invalid captcha' => 'Captcha invalid',
     'The name must be unique' => 'Le nom doit être unique',
     'View all groups' => 'Voir tous les groupes',
-    'View group members' => 'Voir les membres du groupe',
     'There is no user available.' => 'Il n\'y a aucun utilisateur disponible',
     'Do you really want to remove the user "%s" from the group "%s"?' => 'Voulez-vous vraiment supprimer l\'utilisateur « %s » du groupe « %s » ?',
     'There is no group.' => 'Il n\'y a aucun groupe.',
@@ -969,13 +942,10 @@ return array(
     'Enter group name...' => 'Entrez le nom du groupe...',
     'Role:' => 'Rôle :',
     'Project members' => 'Membres du projet',
-    'Compare hours for "%s"' => 'Comparer les heures pour « %s »',
     '%s mentioned you in the task #%d' => '%s vous a mentionné dans la tâche n°%d',
     '%s mentioned you in a comment on the task #%d' => '%s vous a mentionné dans un commentaire de la tâche n°%d',
     'You were mentioned in the task #%d' => 'Vous avez été mentionné dans la tâche n°%d',
     'You were mentioned in a comment on the task #%d' => 'Vous avez été mentionné dans un commentaire de la tâche n°%d',
-    'Mentioned' => 'Mentionné',
-    'Compare Estimated Time vs Actual Time' => 'Comparer le temps estimé et le temps actuel',
     'Estimated hours: ' => 'Heures estimées : ',
     'Actual hours: ' => 'Heures actuelles : ',
     'Hours Spent' => 'Heures passées',
@@ -1233,4 +1203,16 @@ return array(
     'Internal link removed for the task #%d' => 'Lien interne supprimé pour la tâche n°%d',
     '%s set a new internal link for the task %s' => '%s a défini un nouveau lien interne pour la tâche %s',
     '%s removed an internal link for the task %s' => '%s a supprimé un lien interne pour la tâche %s',
+    'Automatically set the due date on task creation' => 'Définir automatiquement la date d\'échéance lors de la création de la tâche',
+    'Move the task to another column when closed' => 'Déplacer la tâche vers une autre colonne lorsque celle-ci est fermée',
+    'Move the task to another column when not moved during a given period' => 'Déplacer la tâche vers une autre colonne lorsque celle-ci n\'a pas été bougée pendant une certaine période',
+    'Dashboard for %s' => 'Tableau de bord pour %s',
+    'Tasks overview for %s' => 'Aperçu des tâches pour %s',
+    'Subtasks overview for %s' => 'Aperçu des sous-tâches pour %s',
+    'Projects overview for %s' => 'Aperçu des projets pour %s',
+    'Activity stream for %s' => 'Flux d\'activité pour %s',
+    'Calendar for %s' => 'Calendrier pour %s',
+    'Notifications for %s' => 'Notifications pour %s',
+    'Subtasks export' => 'Export des sous-tâches',
+    'Tasks exportation' => 'Export des tâches',
 );
diff --git a/app/Locale/hu_HU/translations.php b/app/Locale/hu_HU/translations.php
index a0365940..32e34857 100644
--- a/app/Locale/hu_HU/translations.php
+++ b/app/Locale/hu_HU/translations.php
@@ -299,7 +299,6 @@ return array(
     'Display another project' => 'Másik projekt megjelenítése',
     'Created by %s' => 'Készítette: %s',
     'Tasks Export' => 'Feladatok exportálása',
-    'Tasks exportation for "%s"' => 'Feladatok exportálása: "%s"',
     'Start Date' => 'Kezdés dátuma',
     'End Date' => 'Befejezés dátuma',
     'Execute' => 'Végrehajt',
@@ -322,14 +321,9 @@ return array(
     'New sub-task' => 'Új részfeladat',
     'New attachment added "%s"' => 'Új melléklet "%s" hozzáadva.',
     'New comment posted by %s' => 'Új megjegyzés %s',
-    'New attachment' => 'Új melléklet',
     'New comment' => 'Új megjegyzés',
     'Comment updated' => 'Megjegyzés frissítve',
     'New subtask' => 'Új részfeladat',
-    'Subtask updated' => 'Részfeladat frissítve',
-    'Task updated' => 'Feladat frissítve',
-    'Task closed' => 'Feladat lezárva',
-    'Task opened' => 'Feladat megnyitva',
     'I want to receive notifications only for those projects:' => 'Csak ezekről a projektekről kérek értesítést:',
     'view the task on Kanboard' => 'feladat megtekintése a Kanboardon',
     'Public access' => 'Nyilvános hozzáférés',
@@ -387,8 +381,6 @@ return array(
     '%s created the task #%d' => '%s létrehozta a feladatot #%d',
     '%s closed the task #%d' => '%s lezárta a feladatot #%d',
     '%s opened the task #%d' => '%s megnyitotta a feladatot #%d',
-    '%s moved the task #%d to the column "%s"' => '%s átmozgatta a feladatot #%d a "%s" oszlopba',
-    '%s moved the task #%d to the position %d in the column "%s"' => '%s átmozgatta a feladatot #%d a %d pozícióba a "%s" oszlopban',
     'Activity' => 'Tevékenységek',
     'Default values are "%s"' => 'Az alapértelmezett értékek: %s',
     'Default columns for new projects (Comma-separated)' => 'Alapértelmezett oszlopok az új projektekben (vesszővel elválasztva)',
@@ -442,13 +434,10 @@ return array(
     'Percentage' => 'Százalék',
     'Number of tasks' => 'A feladatok száma',
     'Task distribution' => 'Feladatelosztás',
-    'Reportings' => 'Jelentések',
-    'Task repartition for "%s"' => 'Feladat újraosztása: %s',
     'Analytics' => 'Analitika',
     'Subtask' => 'Részfeladat',
     'My subtasks' => 'Részfeladataim',
     'User repartition' => 'Felhasználó újrafelosztás',
-    'User repartition for "%s"' => 'Felhasználó újrafelosztás: %s',
     'Clone this project' => 'Projekt másolása',
     'Column removed successfully.' => 'Oszlop sikeresen törölve.',
     'Not enough data to show the graph.' => 'Nincs elég adat a grafikonhoz.',
@@ -465,10 +454,8 @@ return array(
     'This value must be numeric' => 'Ez a mező csak szám lehet',
     'Unable to create this task.' => 'A feladat nem hozható létre,',
     'Cumulative flow diagram' => 'Kumulatív folyamatábra',
-    'Cumulative flow diagram for "%s"' => 'Kumulatív folyamatábra: %s',
     'Daily project summary' => 'Napi projektösszefoglaló',
     'Daily project summary export' => 'Napi projektösszefoglaló exportálása',
-    'Daily project summary export for "%s"' => 'Napi projektösszefoglaló exportálása: %s',
     'Exports' => 'Exportálások',
     'This export contains the number of tasks per column grouped per day.' => 'Ez az export tartalmazza a feladatok számát oszloponként összesítve, napokra lebontva.',
     'Active swimlanes' => 'Aktív sávok',
@@ -494,7 +481,6 @@ return array(
     'Subtask Id' => 'Részfeladat id',
     'Subtasks' => 'Részfeladatok',
     'Subtasks Export' => 'Részfeladat exportálás',
-    'Subtasks exportation for "%s"' => 'Részfeladatok exportálása: %s',
     'Task Title' => 'Feladat címe',
     'Untitled' => 'Névtelen',
     'Application default' => 'Alkalmazás alapértelmezett',
@@ -615,7 +601,6 @@ return array(
     'Test your device' => 'Az eszköz ellenőrzése',
     'Assign a color when the task is moved to a specific column' => 'Szín hozzárendelése, ha a feladatot egy adott oszlopba mozgatták',
     '%s via Kanboard' => '%s a Kanboard-on keresztül',
-    // 'Burndown chart for "%s"' => '',
     // 'Burndown chart' => '',
     'This chart show the task complexity over the time (Work Remaining).' => 'Ez a diagram a feladat időbeli bonyolultságát ábrázolja (mennyi munka van hátra)',
     'Screenshot taken %s' => 'A képernyőmentés megtörtént, %s',
@@ -680,14 +665,8 @@ return array(
     'Move the task to another column when the category is changed' => 'A feladat átmozgatása egy másik oszlopba, ha megváltozik a kategória',
     'Send a task by email to someone' => 'Email-en egy feladat küldése valakinek',
     'Reopen a task' => 'Egy feladat újbóli megnyitása',
-    'Column change' => 'Oszlop módosítás',
-    'Position change' => 'Helyzet módosítás',
-    'Swimlane change' => 'Sáv módosítás',
-    'Assignee change' => 'Felelős módosítása',
-    '[%s] Overdue tasks' => '[%s] késésben lévő feladat',
     'Notification' => 'Értesítés',
     '%s moved the task #%d to the first swimlane' => '%s a #%d feladatot az első sávba mozgatta',
-    '%s moved the task #%d to the swimlane "%s"' => '%s a #%d feladatot a "%s" sávba mozgatta',
     'Swimlane' => 'Sáv',
     'Gravatar' => 'Gravatár',
     '%s moved the task %s to the first swimlane' => '%s a %s feladatot az első sávba mozgatta',
@@ -758,8 +737,6 @@ return array(
     'Search by category: ' => 'Keresés kategória alapján: ',
     'Search by description: ' => 'Keresés leírás alapján: ',
     'Search by due date: ' => 'Keresés határidő alapján: ',
-    'Lead and Cycle time for "%s"' => 'A "%s" átfutási ideje és ciklusideje',
-    'Average time spent into each column for "%s"' => 'A "%s" során az egyes oszlopokban töltött átlagos idő',
     'Average time spent into each column' => 'Az egyes oszlopokban töltött átlagos idő',
     'Average time spent' => 'Az eltöltött átlagos idő',
     'This chart show the average time spent into each column for the last %d tasks.' => 'Ez az ábra az utolsó %d feladatra vonatkozóan mutatja az egyes oszlopkban eltöltött átlagos időt.',
@@ -800,7 +777,6 @@ return array(
     'License:' => 'Engedély:',
     'License' => 'Engedély',
     'Enter the text below' => 'Adja be a lenti szöveget',
-    'Gantt chart for %s' => 'Gantt diagram a %s számára',
     'Sort by position' => 'Rendezés hely szerint',
     'Sort by date' => 'Rendezés idő szerint',
     'Add task' => 'Feladat hozzáadása',
@@ -841,8 +817,6 @@ return array(
     'Version' => 'Verzió',
     'Plugins' => 'Plugin-ek',
     'There is no plugin loaded.' => 'Nincs betöltött plugin.',
-    'Set maximum column height' => 'Max. oszlopmagasság beállítása',
-    'Remove maximum column height' => 'Max. oszlopmagasság törlése',
     'My notifications' => 'Emlékeztetőim',
     'Custom filters' => 'Egyedi szűrők',
     'Your custom filter have been created successfully.' => 'Az ön egyedi szűrője sikeresen létrejött.',
@@ -947,7 +921,6 @@ return array(
     'Invalid captcha' => 'Érvénytelen captcha',
     'The name must be unique' => 'A névnek egyedinek kell lennie',
     'View all groups' => 'Az összes csoport megtekintése',
-    'View group members' => 'A csoporttagok megtekintése',
     'There is no user available.' => 'Nincs ilyen felhasználó.',
     'Do you really want to remove the user "%s" from the group "%s"?' => 'Valóban el kívánja távolítani a "%s" felhasználót a "%s" csoportból?',
     'There is no group.' => 'Nincs ilyen csoport.',
@@ -968,13 +941,10 @@ return array(
     'Enter group name...' => 'Adja meg a csoport nevét...',
     'Role:' => 'Szerepkör:',
     'Project members' => 'Projekt tagok',
-    'Compare hours for "%s"' => 'Az órák összehasonlítása "%s" számára',
     '%s mentioned you in the task #%d' => '%s megemlítette önt a #%d feladatban',
     '%s mentioned you in a comment on the task #%d' => '%s megemlítette önt a #%d feladathoz fűzött megjegyzésben',
     'You were mentioned in the task #%d' => 'Ön meg lett említve a #%d feladatban',
     'You were mentioned in a comment on the task #%d' => 'Ön meg lett említve a #%d feladathoz fűzött megjegyzésben',
-    'Mentioned' => 'Meg lett említve',
-    'Compare Estimated Time vs Actual Time' => 'A becsült és a tényleges idő összehasonlítása',
     'Estimated hours: ' => 'Becsült órák: ',
     'Actual hours: ' => 'Tényleges órák: ',
     'Hours Spent' => 'Ráfordítás órákban',
@@ -1232,4 +1202,16 @@ return array(
     // 'Internal link removed for the task #%d' => '',
     // '%s set a new internal link for the task %s' => '',
     // '%s removed an internal link for the task %s' => '',
+    // 'Automatically set the due date on task creation' => '',
+    // 'Move the task to another column when closed' => '',
+    // 'Move the task to another column when not moved during a given period' => '',
+    // 'Dashboard for %s' => '',
+    // 'Tasks overview for %s' => '',
+    // 'Subtasks overview for %s' => '',
+    // 'Projects overview for %s' => '',
+    // 'Activity stream for %s' => '',
+    // 'Calendar for %s' => '',
+    // 'Notifications for %s' => '',
+    // 'Subtasks export' => '',
+    // 'Tasks exportation' => '',
 );
diff --git a/app/Locale/id_ID/translations.php b/app/Locale/id_ID/translations.php
index 4cdfd129..28f590a9 100644
--- a/app/Locale/id_ID/translations.php
+++ b/app/Locale/id_ID/translations.php
@@ -299,7 +299,6 @@ return array(
     'Display another project' => 'Lihat proyek lain',
     'Created by %s' => 'Dibuat oleh %s',
     'Tasks Export' => 'Ekspor Tugas',
-    'Tasks exportation for "%s"' => 'Tugas di ekspor untuk « %s »',
     'Start Date' => 'Tanggal Mulai',
     'End Date' => 'Tanggal Berakhir',
     'Execute' => 'Eksekusi',
@@ -322,14 +321,9 @@ return array(
     'New sub-task' => 'Sub-tugas baru',
     'New attachment added "%s"' => 'Lampiran baru ditambahkan « %s »',
     'New comment posted by %s' => 'Komentar baru ditambahkan oleh « %s »',
-    'New attachment' => 'Lampirkan baru',
     'New comment' => 'Komentar baru',
     'Comment updated' => 'Komentar diperbaharui',
     'New subtask' => 'Sub-tugas baru',
-    'Subtask updated' => 'Sub-tugas diperbaharui',
-    'Task updated' => 'Tugas diperbaharui',
-    'Task closed' => 'Tugas ditutup',
-    'Task opened' => 'Tugas dibuka',
     'I want to receive notifications only for those projects:' => 'Saya ingin menerima pemberitahuan hanya untuk proyek-proyek yang dipilih :',
     'view the task on Kanboard' => 'lihat tugas di Kanboard',
     'Public access' => 'Akses publik',
@@ -387,8 +381,6 @@ return array(
     '%s created the task #%d' => '%s membuat tugas n°%d',
     '%s closed the task #%d' => '%s menutup tugas n°%d',
     '%s opened the task #%d' => '%s membuka tugas n°%d',
-    '%s moved the task #%d to the column "%s"' => '%s memindahkan tugas n°%d ke kolom « %s »',
-    '%s moved the task #%d to the position %d in the column "%s"' => '%s memindahkan tugas n°%d ke posisi n°%d dalam kolom « %s »',
     'Activity' => 'Aktifitas',
     'Default values are "%s"' => 'Standar nilai adalah« %s »',
     'Default columns for new projects (Comma-separated)' => 'Kolom default untuk proyek baru (dipisahkan dengan koma)',
@@ -442,13 +434,10 @@ return array(
     'Percentage' => 'Persentasi',
     'Number of tasks' => 'Jumlah dari tugas',
     'Task distribution' => 'Pembagian tugas',
-    'Reportings' => 'Pelaporan',
-    'Task repartition for "%s"' => 'Pembagian tugas untuk « %s »',
     'Analytics' => 'Analitis',
     'Subtask' => 'Subtugas',
     'My subtasks' => 'Subtugas saya',
     'User repartition' => 'Partisi ulang pengguna',
-    'User repartition for "%s"' => 'Partisi ulang pengguna untuk « %s »',
     'Clone this project' => 'Gandakan proyek ini',
     'Column removed successfully.' => 'Kolom berhasil dihapus.',
     'Not enough data to show the graph.' => 'Tidak cukup data untuk menampilkan grafik.',
@@ -465,10 +454,8 @@ return array(
     'This value must be numeric' => 'Nilai ini harus angka',
     'Unable to create this task.' => 'Tidak dapat membuat tugas ini',
     'Cumulative flow diagram' => 'Diagram alir kumulatif',
-    'Cumulative flow diagram for "%s"' => 'Diagram alir kumulatif untuk « %s »',
     'Daily project summary' => 'Ringkasan proyek harian',
     'Daily project summary export' => 'Ekspor ringkasan proyek harian',
-    'Daily project summary export for "%s"' => 'Ekspor ringkasan proyek harian untuk « %s »',
     'Exports' => 'Ekspor',
     'This export contains the number of tasks per column grouped per day.' => 'Ekspor ini berisi jumlah dari tugas per kolom dikelompokan perhari.',
     'Active swimlanes' => 'Swimlanes aktif',
@@ -494,7 +481,6 @@ return array(
     'Subtask Id' => 'Id Subtugas',
     'Subtasks' => 'Subtugas',
     'Subtasks Export' => 'Ekspor Subtugas',
-    'Subtasks exportation for "%s"' => 'Ekspor subtugas untuk « %s »',
     'Task Title' => 'Judul Tugas',
     'Untitled' => 'Tanpa nama',
     'Application default' => 'Aplikasi standar',
@@ -615,7 +601,6 @@ return array(
     'Test your device' => 'Menguji perangkat anda',
     'Assign a color when the task is moved to a specific column' => 'Menetapkan warna ketika tugas tersebut dipindahkan ke kolom tertentu',
     '%s via Kanboard' => '%s via Kanboard',
-    'Burndown chart for "%s"' => 'Grafik Burndown untku « %s »',
     'Burndown chart' => 'Grafik Burndown',
     'This chart show the task complexity over the time (Work Remaining).' => 'Grafik ini menunjukkan kompleksitas tugas dari waktu ke waktu (Sisa Pekerjaan).',
     'Screenshot taken %s' => 'Screenshot diambil %s',
@@ -680,14 +665,8 @@ return array(
     'Move the task to another column when the category is changed' => 'Pindahkan tugas ke kolom lain ketika kategori berubah',
     'Send a task by email to someone' => 'Kirim tugas melalui email ke seseorang',
     'Reopen a task' => 'Membuka kembali tugas',
-    'Column change' => 'Kolom berubah',
-    'Position change' => 'Posisi berubah',
-    'Swimlane change' => 'Swimlane berubah',
-    'Assignee change' => 'Penerima berubah',
-    '[%s] Overdue tasks' => '[%s] Tugas terlambat',
     'Notification' => 'Pemberitahuan',
     '%s moved the task #%d to the first swimlane' => '%s memindahkan tugas n°%d ke swimlane pertama',
-    '%s moved the task #%d to the swimlane "%s"' => '%s memindahkan tugas n°%d ke swimlane « %s »',
     'Swimlane' => 'Swimlane',
     'Gravatar' => 'Gravatar',
     '%s moved the task %s to the first swimlane' => '%s memindahkan tugas %s ke swimlane pertama',
@@ -758,8 +737,6 @@ return array(
     'Search by category: ' => 'Pencarian berdasarkan kategori : ',
     'Search by description: ' => 'Pencarian berdasarkan deskripsi : ',
     'Search by due date: ' => 'Pencarian berdasarkan tanggal jatuh tempo : ',
-    'Lead and Cycle time for "%s"' => 'Memimpin dan Siklus waktu untuk « %s »',
-    'Average time spent into each column for "%s"' => 'Rata-rata waktu yang dihabiskan dalam setiap kolom untuk « %s »',
     'Average time spent into each column' => 'Rata-rata waktu yang dihabiskan dalam setiap kolom',
     'Average time spent' => 'Rata-rata waktu yang dihabiskan',
     'This chart show the average time spent into each column for the last %d tasks.' => 'Grafik ini menunjukkan rata-rata waktu yang dihabiskan dalam setiap kolom untuk %d tugas.',
@@ -800,7 +777,6 @@ return array(
     'License:' => 'Lisensi :',
     'License' => 'Lisensi',
     'Enter the text below' => 'Masukkan teks di bawah',
-    'Gantt chart for %s' => 'Grafik Gantt untuk %s',
     'Sort by position' => 'Urutkan berdasarkan posisi',
     'Sort by date' => 'Urutkan berdasarkan tanggal',
     'Add task' => 'Tambah tugas',
@@ -841,8 +817,6 @@ return array(
     // 'Version' => '',
     // 'Plugins' => '',
     // 'There is no plugin loaded.' => '',
-    // 'Set maximum column height' => '',
-    // 'Remove maximum column height' => '',
     // 'My notifications' => '',
     // 'Custom filters' => '',
     // 'Your custom filter have been created successfully.' => '',
@@ -947,7 +921,6 @@ return array(
     // 'Invalid captcha' => '',
     // 'The name must be unique' => '',
     // 'View all groups' => '',
-    // 'View group members' => '',
     // 'There is no user available.' => '',
     // 'Do you really want to remove the user "%s" from the group "%s"?' => '',
     // 'There is no group.' => '',
@@ -968,13 +941,10 @@ return array(
     // 'Enter group name...' => '',
     // 'Role:' => '',
     'Project members' => 'Anggota proyek',
-    // 'Compare hours for "%s"' => '',
     // '%s mentioned you in the task #%d' => '',
     // '%s mentioned you in a comment on the task #%d' => '',
     // 'You were mentioned in the task #%d' => '',
     // 'You were mentioned in a comment on the task #%d' => '',
-    // 'Mentioned' => '',
-    // 'Compare Estimated Time vs Actual Time' => '',
     // 'Estimated hours: ' => '',
     // 'Actual hours: ' => '',
     // 'Hours Spent' => '',
@@ -1232,4 +1202,16 @@ return array(
     // 'Internal link removed for the task #%d' => '',
     // '%s set a new internal link for the task %s' => '',
     // '%s removed an internal link for the task %s' => '',
+    // 'Automatically set the due date on task creation' => '',
+    // 'Move the task to another column when closed' => '',
+    // 'Move the task to another column when not moved during a given period' => '',
+    // 'Dashboard for %s' => '',
+    // 'Tasks overview for %s' => '',
+    // 'Subtasks overview for %s' => '',
+    // 'Projects overview for %s' => '',
+    // 'Activity stream for %s' => '',
+    // 'Calendar for %s' => '',
+    // 'Notifications for %s' => '',
+    // 'Subtasks export' => '',
+    // 'Tasks exportation' => '',
 );
diff --git a/app/Locale/it_IT/translations.php b/app/Locale/it_IT/translations.php
index 334faa46..b72ca181 100644
--- a/app/Locale/it_IT/translations.php
+++ b/app/Locale/it_IT/translations.php
@@ -299,7 +299,6 @@ return array(
     'Display another project' => 'Mostra un altro progetto',
     'Created by %s' => 'Creato da %s',
     'Tasks Export' => 'Export dei task',
-    'Tasks exportation for "%s"' => 'Export dei task per "%s"',
     'Start Date' => 'Data d\'inizio',
     'End Date' => 'Data di fine',
     'Execute' => 'Esegui',
@@ -322,14 +321,9 @@ return array(
     'New sub-task' => 'Nuovo sotto-task',
     'New attachment added "%s"' => 'Nuovo allegato aggiunto "%s"',
     'New comment posted by %s' => 'Nuovo commento aggiunto da "%s"',
-    'New attachment' => 'Nuovo allegato',
     'New comment' => 'Nuovo commento',
     'Comment updated' => 'Commento aggiornato',
     'New subtask' => 'Nuovo sotto-task',
-    'Subtask updated' => 'Sotto-task aggiornato',
-    'Task updated' => 'Task aggiornato',
-    'Task closed' => 'Task chiuso',
-    'Task opened' => 'Task aperto',
     'I want to receive notifications only for those projects:' => 'Vorrei ricevere le notifiche solo da questi progetti:',
     'view the task on Kanboard' => 'visualizza il task su Kanboard',
     'Public access' => 'Accesso pubblico',
@@ -387,8 +381,6 @@ return array(
     '%s created the task #%d' => '%s ha creato il task #%d',
     '%s closed the task #%d' => '%s ha chiuso il task #%d',
     '%s opened the task #%d' => '%s ha aperto il task #%d',
-    '%s moved the task #%d to the column "%s"' => '%s ha spostato il task #%d nella colonna "%s"',
-    '%s moved the task #%d to the position %d in the column "%s"' => '%s ha spostato il task #%d nella posizione %d della colonna "%s"',
     'Activity' => 'Attività',
     'Default values are "%s"' => 'Valori di default "%s"',
     'Default columns for new projects (Comma-separated)' => 'Colonne di default per i nuovi progetti (Separati da virgola)',
@@ -442,13 +434,10 @@ return array(
     'Percentage' => 'Percentuale',
     'Number of tasks' => 'Numero di task',
     'Task distribution' => 'Distribuzione dei task',
-    'Reportings' => 'Rapporti',
-    'Task repartition for "%s"' => 'Ripartizione task per "%s"',
     // 'Analytics' => '',
     'Subtask' => 'Sotto-task',
     'My subtasks' => 'I miei sotto-task',
     'User repartition' => 'Ripartizione per utente',
-    'User repartition for "%s"' => 'Ripartizione utente per "%s"',
     'Clone this project' => 'Clona questo progetto',
     'Column removed successfully.' => 'Colonna rimossa con successo',
     'Not enough data to show the graph.' => 'Non ci sono abbastanza dati per visualizzare il grafico.',
@@ -465,10 +454,8 @@ return array(
     'This value must be numeric' => 'Questo valore deve essere numerico',
     'Unable to create this task.' => 'Impossibile creare questo task',
     'Cumulative flow diagram' => 'Diagramma di flusso cumulativo',
-    'Cumulative flow diagram for "%s"' => 'Diagramma di flusso comulativo per "%s"',
     'Daily project summary' => 'Sommario giornaliero del progetto',
     'Daily project summary export' => 'Export del sommario giornaliero del progetto',
-    'Daily project summary export for "%s"' => 'Export del sommario giornaliero del progetto per "%s"',
     'Exports' => 'Esporta',
     'This export contains the number of tasks per column grouped per day.' => 'Questo export contiene il numero di task per colonna raggruppati per giorno',
     'Active swimlanes' => 'Corsie attive',
@@ -494,7 +481,6 @@ return array(
     'Subtask Id' => 'Id del sotto-task',
     'Subtasks' => 'Sotto-task',
     'Subtasks Export' => 'Esporta i sotto-task',
-    'Subtasks exportation for "%s"' => 'Export dei sotto-task per "%s"',
     'Task Title' => 'Titolo del task',
     'Untitled' => 'Senza titolo',
     'Application default' => 'Default dell\'applicazione',
@@ -615,7 +601,6 @@ return array(
     'Test your device' => 'Testa il tuo dispositivo',
     'Assign a color when the task is moved to a specific column' => 'Assegna un colore quando il task viene spostato in una colonna specifica',
     '%s via Kanboard' => '%s tramite Kanboard',
-    'Burndown chart for "%s"' => 'Grafico Burndown per "%s"',
     'Burndown chart' => 'Grafico Burndown',
     'This chart show the task complexity over the time (Work Remaining).' => 'Questo grafico mostra la complessità dei task nel tempo (Lavoro residuo).',
     'Screenshot taken %s' => 'Schermata catturata %s',
@@ -680,14 +665,8 @@ return array(
     'Move the task to another column when the category is changed' => 'Sposta il task in un\'altra colonna quando la categoria viene modificata',
     'Send a task by email to someone' => 'Invia un task via email a qualcuno',
     'Reopen a task' => 'Riapri un task',
-    'Column change' => 'Cambio di colonna',
-    'Position change' => 'Cambio di posizione',
-    'Swimlane change' => 'Cambio di corsia',
-    'Assignee change' => 'Cambio assegnatario',
-    '[%s] Overdue tasks' => '[%s] Task scaduti',
     'Notification' => 'Notifica',
     '%s moved the task #%d to the first swimlane' => '%s ha spostato il task #%d nella prima corsia',
-    '%s moved the task #%d to the swimlane "%s"' => '%s ha spostato il task #%d nella corsia "%s"',
     'Swimlane' => 'Corsia',
     // 'Gravatar' => '',
     '%s moved the task %s to the first swimlane' => '%s ha spostato il task %s nella prima corsia',
@@ -758,8 +737,6 @@ return array(
     'Search by category: ' => 'Ricerca per categoria: ',
     'Search by description: ' => 'Ricerca per descrizione: ',
     'Search by due date: ' => 'Ricerca per data di scadenza: ',
-    'Lead and Cycle time for "%s"' => 'Tempo di consegna (Lead Time) e lavorazione (Cycle Time) per "%s"',
-    'Average time spent into each column for "%s"' => 'Tempo medio trascorso in ogni colonna per "%s"',
     'Average time spent into each column' => 'Tempo medio trascorso in ogni colonna',
     'Average time spent' => 'Tempo medio trascorso',
     'This chart show the average time spent into each column for the last %d tasks.' => 'Questo grafico mostra il tempo medio trascorso in ogni colonna per gli ultimi %d task.',
@@ -800,7 +777,6 @@ return array(
     'License:' => 'Licenza:',
     'License' => 'Licenza',
     'Enter the text below' => 'Inserisci il testo qui sotto',
-    'Gantt chart for %s' => 'Grafico Gantt per %s',
     'Sort by position' => 'Ordina per posizione',
     'Sort by date' => 'Ordina per data',
     'Add task' => 'Aggiungi task',
@@ -841,8 +817,6 @@ return array(
     'Version' => 'Versione',
     'Plugins' => 'Plugin',
     'There is no plugin loaded.' => 'Nessun plugin è stato caricato.',
-    'Set maximum column height' => 'Imposta l\'altezza massima della colonna',
-    'Remove maximum column height' => 'Rimuovi l\'altezza massima della colonna',
     'My notifications' => 'Le mie notifiche',
     'Custom filters' => 'Filtri personalizzati',
     'Your custom filter have been created successfully.' => 'Il filtro personalizzato è stato creato con successo.',
@@ -947,7 +921,6 @@ return array(
     'Invalid captcha' => 'Captcha non valido',
     'The name must be unique' => 'Il nome deve essere univoco',
     'View all groups' => 'Visualiza tutti i gruppi',
-    'View group members' => 'Visualizza i membri del gruppo',
     'There is no user available.' => 'Nessun utente disponibile.',
     'Do you really want to remove the user "%s" from the group "%s"?' => 'Vuoi davvero rimuovere l\'utente "%s" dal gruppo "%s"?',
     'There is no group.' => 'Nessun gruppo presente',
@@ -968,13 +941,10 @@ return array(
     'Enter group name...' => 'Inserisci il nome del gruppo...',
     'Role:' => 'Ruolo:',
     'Project members' => 'Membri di progetto',
-    'Compare hours for "%s"' => 'Confronta le ore per "%s"',
     '%s mentioned you in the task #%d' => '%s ti ha menzionato nel task #%d',
     '%s mentioned you in a comment on the task #%d' => '%s ti ha menzionato in un commento del task #%d',
     'You were mentioned in the task #%d' => 'Sei stato menzionato nel task #%d',
     'You were mentioned in a comment on the task #%d' => 'Sei stato menzionato in un commento del task #%d',
-    'Mentioned' => 'Menzionato',
-    'Compare Estimated Time vs Actual Time' => 'Confronta il Tempo Stimato vs Tempo Effettivo',
     'Estimated hours: ' => 'Ore stimate: ',
     'Actual hours: ' => 'Ore effettive: ',
     'Hours Spent' => 'Ore impiegate',
@@ -1232,4 +1202,16 @@ return array(
     // 'Internal link removed for the task #%d' => '',
     // '%s set a new internal link for the task %s' => '',
     // '%s removed an internal link for the task %s' => '',
+    // 'Automatically set the due date on task creation' => '',
+    // 'Move the task to another column when closed' => '',
+    // 'Move the task to another column when not moved during a given period' => '',
+    // 'Dashboard for %s' => '',
+    // 'Tasks overview for %s' => '',
+    // 'Subtasks overview for %s' => '',
+    // 'Projects overview for %s' => '',
+    // 'Activity stream for %s' => '',
+    // 'Calendar for %s' => '',
+    // 'Notifications for %s' => '',
+    // 'Subtasks export' => '',
+    // 'Tasks exportation' => '',
 );
diff --git a/app/Locale/ja_JP/translations.php b/app/Locale/ja_JP/translations.php
index fea7283d..d3a11fc8 100644
--- a/app/Locale/ja_JP/translations.php
+++ b/app/Locale/ja_JP/translations.php
@@ -299,7 +299,6 @@ return array(
     'Display another project' => '別のプロジェクトを表示',
     'Created by %s' => '%s が作成',
     'Tasks Export' => 'タスクの出力',
-    'Tasks exportation for "%s"' => '「%s」のタスク出力',
     'Start Date' => '開始日',
     'End Date' => '終了日',
     'Execute' => '実行',
@@ -322,14 +321,9 @@ return array(
     'New sub-task' => '新しいサブタスク',
     'New attachment added "%s"' => '添付ファイル「%s」が追加されました',
     'New comment posted by %s' => '「%s」の新しいコメントが追加されました',
-    'New attachment' => '新しい添付ファイル',
     'New comment' => '新しいコメント',
     'Comment updated' => 'コメントが更新されました',
     'New subtask' => '新しいサブタスク',
-    'Subtask updated' => 'サブタスクの更新',
-    'Task updated' => 'タスクの更新',
-    'Task closed' => 'タスクのクローズ',
-    'Task opened' => 'タスクのオープン',
     'I want to receive notifications only for those projects:' => '以下のプロジェクトにのみ通知を受け取る:',
     'view the task on Kanboard' => 'Kanboard でタスクを見る',
     'Public access' => '公開アクセス設定',
@@ -387,8 +381,6 @@ return array(
     '%s created the task #%d' => '%s がタスク #%d を追加しました',
     '%s closed the task #%d' => '%s がタスク #%d をクローズしました',
     '%s opened the task #%d' => '%s がタスク #%d をオープンしました',
-    '%s moved the task #%d to the column "%s"' => '%s がタスク #%d をカラム「%s」に移動しました',
-    '%s moved the task #%d to the position %d in the column "%s"' => '%s がタスク #%d を位置 %d カラム「%s」移動しました',
     'Activity' => 'アクティビティ',
     'Default values are "%s"' => 'デフォルト値は「%s」',
     'Default columns for new projects (Comma-separated)' => '新規プロジェクトのデフォルトカラム (コンマで区切って入力)',
@@ -442,13 +434,10 @@ return array(
     'Percentage' => '割合',
     'Number of tasks' => 'タスク数',
     'Task distribution' => 'タスク分布',
-    'Reportings' => 'レポート',
-    'Task repartition for "%s"' => '「%s」のタスク分布',
     'Analytics' => '分析',
     'Subtask' => 'サブタスク',
     'My subtasks' => '自分のサブタスク',
     'User repartition' => '担当者分布',
-    'User repartition for "%s"' => '「%s」の担当者分布',
     'Clone this project' => 'このプロジェクトを複製する',
     'Column removed successfully.' => 'カラムを削除しました',
     'Not enough data to show the graph.' => 'グラフを描画するには出たが足りません',
@@ -465,10 +454,8 @@ return array(
     'This value must be numeric' => 'この値は数字でなければなりません',
     'Unable to create this task.' => 'このタスクを作成できませんでした',
     'Cumulative flow diagram' => '蓄積フロー図',
-    'Cumulative flow diagram for "%s"' => '「%s」の蓄積フロー図',
     'Daily project summary' => '日時プロジェクトサマリー',
     'Daily project summary export' => '日時プロジェクトサマリーの出力',
-    'Daily project summary export for "%s"' => '「%s」の日時プロジェクトサマリーの出力',
     'Exports' => '出力',
     'This export contains the number of tasks per column grouped per day.' => 'この出力は日時のカラムごとのタスク数を集計したものです',
     'Active swimlanes' => 'アクティブなスイムレーン',
@@ -494,7 +481,6 @@ return array(
     'Subtask Id' => 'サブタスク Id',
     'Subtasks' => 'サブタスク',
     'Subtasks Export' => 'サブタスクの出力',
-    'Subtasks exportation for "%s"' => '「%s」のサブタスク出力',
     'Task Title' => 'タスクタイトル',
     'Untitled' => 'タイトル無し',
     'Application default' => 'アプリケーションデフォルト',
@@ -615,7 +601,6 @@ return array(
     'Test your device' => 'デバイスをテストする',
     // 'Assign a color when the task is moved to a specific column' => '',
     // '%s via Kanboard' => '',
-    // 'Burndown chart for "%s"' => '',
     // 'Burndown chart' => '',
     // 'This chart show the task complexity over the time (Work Remaining).' => '',
     // 'Screenshot taken %s' => '',
@@ -680,14 +665,8 @@ return array(
     // 'Move the task to another column when the category is changed' => '',
     // 'Send a task by email to someone' => '',
     // 'Reopen a task' => '',
-    // 'Column change' => '',
-    // 'Position change' => '',
-    // 'Swimlane change' => '',
-    // 'Assignee change' => '',
-    // '[%s] Overdue tasks' => '',
     // 'Notification' => '',
     // '%s moved the task #%d to the first swimlane' => '',
-    // '%s moved the task #%d to the swimlane "%s"' => '',
     // 'Swimlane' => '',
     // 'Gravatar' => '',
     // '%s moved the task %s to the first swimlane' => '',
@@ -758,8 +737,6 @@ return array(
     // 'Search by category: ' => '',
     // 'Search by description: ' => '',
     // 'Search by due date: ' => '',
-    // 'Lead and Cycle time for "%s"' => '',
-    // 'Average time spent into each column for "%s"' => '',
     // 'Average time spent into each column' => '',
     // 'Average time spent' => '',
     // 'This chart show the average time spent into each column for the last %d tasks.' => '',
@@ -800,7 +777,6 @@ return array(
     // 'License:' => '',
     // 'License' => '',
     // 'Enter the text below' => '',
-    // 'Gantt chart for %s' => '',
     // 'Sort by position' => '',
     // 'Sort by date' => '',
     // 'Add task' => '',
@@ -841,8 +817,6 @@ return array(
     // 'Version' => '',
     // 'Plugins' => '',
     // 'There is no plugin loaded.' => '',
-    // 'Set maximum column height' => '',
-    // 'Remove maximum column height' => '',
     // 'My notifications' => '',
     // 'Custom filters' => '',
     // 'Your custom filter have been created successfully.' => '',
@@ -947,7 +921,6 @@ return array(
     // 'Invalid captcha' => '',
     // 'The name must be unique' => '',
     // 'View all groups' => '',
-    // 'View group members' => '',
     // 'There is no user available.' => '',
     // 'Do you really want to remove the user "%s" from the group "%s"?' => '',
     // 'There is no group.' => '',
@@ -968,13 +941,10 @@ return array(
     // 'Enter group name...' => '',
     // 'Role:' => '',
     // 'Project members' => '',
-    // 'Compare hours for "%s"' => '',
     // '%s mentioned you in the task #%d' => '',
     // '%s mentioned you in a comment on the task #%d' => '',
     // 'You were mentioned in the task #%d' => '',
     // 'You were mentioned in a comment on the task #%d' => '',
-    // 'Mentioned' => '',
-    // 'Compare Estimated Time vs Actual Time' => '',
     // 'Estimated hours: ' => '',
     // 'Actual hours: ' => '',
     // 'Hours Spent' => '',
@@ -1232,4 +1202,16 @@ return array(
     // 'Internal link removed for the task #%d' => '',
     // '%s set a new internal link for the task %s' => '',
     // '%s removed an internal link for the task %s' => '',
+    // 'Automatically set the due date on task creation' => '',
+    // 'Move the task to another column when closed' => '',
+    // 'Move the task to another column when not moved during a given period' => '',
+    // 'Dashboard for %s' => '',
+    // 'Tasks overview for %s' => '',
+    // 'Subtasks overview for %s' => '',
+    // 'Projects overview for %s' => '',
+    // 'Activity stream for %s' => '',
+    // 'Calendar for %s' => '',
+    // 'Notifications for %s' => '',
+    // 'Subtasks export' => '',
+    // 'Tasks exportation' => '',
 );
diff --git a/app/Locale/ko_KR/translations.php b/app/Locale/ko_KR/translations.php
index 7ba0f456..b8ec0c81 100644
--- a/app/Locale/ko_KR/translations.php
+++ b/app/Locale/ko_KR/translations.php
@@ -299,7 +299,6 @@ return array(
     'Display another project' => '프로젝트 보기',
     'Created by %s' => '작성자 %s',
     'Tasks Export' => '할일 내보내기',
-    'Tasks exportation for "%s"' => '"%s" 할일 내보내기',
     'Start Date' => '시작일',
     'End Date' => '종료일',
     'Execute' => '실행',
@@ -322,14 +321,9 @@ return array(
     'New sub-task' => '새로운 서브 할일',
     'New attachment added "%s"' => '"%s"의 새로운 첨부 파일',
     'New comment posted by %s' => '"%s"님이 댓글을 추가하였습니다',
-    'New attachment' => ' 새로운 첨부 파일',
     'New comment' => ' 새로운 댓글',
     'Comment updated' => '댓글가 갱신되었습니다',
     'New subtask' => ' 새로운 서브 할일',
-    'Subtask updated' => '서브 할일 갱신',
-    'Task updated' => '할일 갱신',
-    'Task closed' => '할일 마침',
-    'Task opened' => '할일 시작',
     'I want to receive notifications only for those projects:' => '다음 프로젝트의 알림만 받겠습니다:',
     'view the task on Kanboard' => 'Kanboard에서 할일을 본다',
     'Public access' => '공개 접속 설정',
@@ -387,8 +381,6 @@ return array(
     '%s created the task #%d' => '%s이 할일#%d을 추가했습니다',
     '%s closed the task #%d' => '%s이 할일#%d을 닫혔습니다',
     '%s opened the task #%d' => '%s이 할일#%d를 오픈했습니다',
-    '%s moved the task #%d to the column "%s"' => '%s이 할일#%d을 칼럼"%s"로 옮겼습니다',
-    '%s moved the task #%d to the position %d in the column "%s"' => '%s이 할일#%d을 칼럼 "%s"의 %d 위치로 이동시켰습니다',
     'Activity' => '활동',
     'Default values are "%s"' => '기본 값은 "%s" 입니다',
     'Default columns for new projects (Comma-separated)' => '새로운 프로젝트의 기본 칼럼 (콤마(,)로 분리됨)',
@@ -442,13 +434,10 @@ return array(
     'Percentage' => '비중',
     'Number of tasks' => '할일 수',
     'Task distribution' => '할일 분포',
-    'Reportings' => '리포트',
-    'Task repartition for "%s"' => '"%s"의 할일 분포',
     'Analytics' => '분석',
     'Subtask' => '서브 할일',
     'My subtasks' => '내 서브 할일',
     'User repartition' => '담당자 분포',
-    'User repartition for "%s"' => '"%s"의 담당자 분포',
     'Clone this project' => '이 프로젝트를 복제하는 ',
     'Column removed successfully.' => '(※)컬럼을 삭제했습니다',
     'Not enough data to show the graph.' => '그래프를 선묘화하려면 나왔지만 부족합니다',
@@ -465,10 +454,8 @@ return array(
     'This value must be numeric' => '이 값은 숫자가 아니면 안 됩니다',
     'Unable to create this task.' => '이 할일을 작성할 수 없었습니다',
     'Cumulative flow diagram' => '축적 흐름',
-    'Cumulative flow diagram for "%s"' => '"%s"의 축적 흐름',
     'Daily project summary' => '하루 프로젝트 개요',
     'Daily project summary export' => '하루 프로젝트 개요의 출력',
-    'Daily project summary export for "%s"' => '"%s" 하루 프로젝트 개요의 출력',
     'Exports' => '출력',
     'This export contains the number of tasks per column grouped per day.' => '이 출력은 날짜의 칼람별 할일 수를 집계한 것입니다',
     'Active swimlanes' => '액티브한 스윔레인',
@@ -494,7 +481,6 @@ return array(
     'Subtask Id' => '서브 할일 Id',
     'Subtasks' => '서브 할일',
     'Subtasks Export' => '서브 할일 출력',
-    'Subtasks exportation for "%s"' => '"%s"의 서브 할일 출력',
     'Task Title' => '할일 제목',
     'Untitled' => '제목 없음',
     'Application default' => '애플리케이션 기본',
@@ -615,7 +601,6 @@ return array(
     'Test your device' => '디바이스 테스트',
     'Assign a color when the task is moved to a specific column' => '상세 칼럼으로 이동할 할일의 색깔을 지정하세요',
     '%s via Kanboard' => '%s via E-board',
-    'Burndown chart for "%s"' => '"%s" 번다운 차트',
     'Burndown chart' => '번다운 차트',
     // 'This chart show the task complexity over the time (Work Remaining).' => '',
     'Screenshot taken %s' => '스크린샷_%s',
@@ -680,14 +665,8 @@ return array(
     'Move the task to another column when the category is changed' => '카테고리 변경시 할일을 다른 칼럼으로 이동',
     'Send a task by email to someone' => '할일을 이메일로 보내기',
     'Reopen a task' => '할일 다시 시작',
-    'Column change' => '칼럼 이동',
-    'Position change' => '위치 이동',
-    'Swimlane change' => '스윔레인 변경',
-    'Assignee change' => '담당자 변경',
-    '[%s] Overdue tasks' => '[%s] 마감시간 지남',
     'Notification' => '알림',
     '%s moved the task #%d to the first swimlane' => '%s가 할일 #%d를 첫번째 스웜레인으로 이동시켰습니다',
-    '%s moved the task #%d to the swimlane "%s"' => '%s가 할일 #%d를 "%s" 스웜레인으로 이동시켰습니다',
     'Swimlane' => '스윔레인',
     // 'Gravatar' => '',
     '%s moved the task %s to the first swimlane' => '%s가 할일 %s를 첫번째 스웜레인으로 이동시켰습니다',
@@ -758,8 +737,6 @@ return array(
     'Search by category: ' => '카테고리로 찾기 ',
     'Search by description: ' => '설명으로 찾기 ',
     'Search by due date: ' => '마감날짜로 찾기 ',
-    'Lead and Cycle time for "%s"' => '"%s"의 리드와 사이클 시간',
-    'Average time spent into each column for "%s"' => '"%s"의 각 칼럼 평균 소요시간',
     'Average time spent into each column' => '각 칼럼의 평균 소요시간',
     'Average time spent' => '평균 소요시간',
     'This chart show the average time spent into each column for the last %d tasks.' => '마지막 %d 할일의 칼럼 평균 소요시간을 차트에 표시합니다',
@@ -800,7 +777,6 @@ return array(
     'License:' => '라이센스:',
     'License' => '라이센스',
     'Enter the text below' => '아랫글로 들어가기',
-    'Gantt chart for %s' => '%s의 간트 차트',
     'Sort by position' => '위치별 정렬',
     'Sort by date' => '날짜별 정렬',
     'Add task' => '할일 추가',
@@ -841,8 +817,6 @@ return array(
     'Version' => '버전',
     'Plugins' => '플러그인',
     'There is no plugin loaded.' => '플러그인이 로드되지 않았습니다',
-    'Set maximum column height' => '최대 칼럼 높이 제한하기',
-    'Remove maximum column height' => '최대 칼럼 높이 없애기',
     'My notifications' => '내 알림',
     'Custom filters' => '사용자 정의 필터',
     'Your custom filter have been created successfully.' => '사용자 정의 필터가 성공적으로 생성되었습니다',
@@ -947,7 +921,6 @@ return array(
     // 'Invalid captcha' => '',
     'The name must be unique' => '이름은 유일해야 합니다',
     'View all groups' => '모든그룹보기',
-    'View group members' => '그룹맴버 보기',
     'There is no user available.' => '가능한 사용자가 없습니다',
     'Do you really want to remove the user "%s" from the group "%s"?' => '"%s" 사용자를 "%s" 에서 삭제하시겠습니까?',
     'There is no group.' => '그룹이 없습니다',
@@ -968,13 +941,10 @@ return array(
     'Enter group name...' => '그룹명을 입력합니다...',
     'Role:' => '역할: ',
     'Project members' => '프로젝트 멤버',
-    'Compare hours for "%s"' => '"%s" 시간동안 비교',
     '%s mentioned you in the task #%d' => '#%d 할일에서 %s가 당신을 언급하였습니다',
     '%s mentioned you in a comment on the task #%d' => '#%d 할일에서 %s가 당신의 댓글을 언급하였습니다',
     'You were mentioned in the task #%d' => '#%d 할일에서 당신이 언급되었습니다',
     'You were mentioned in a comment on the task #%d' => '할일 #%d의 댓글에서 언급되었습니다',
-    'Mentioned' => '언급된',
-    'Compare Estimated Time vs Actual Time' => '예상 시간과 실제 시간 비교',
     'Estimated hours: ' => '예상 시간: ',
     'Actual hours: ' => '실제 시간: ',
     'Hours Spent' => '소요 시간',
@@ -1232,4 +1202,16 @@ return array(
     // 'Internal link removed for the task #%d' => '',
     // '%s set a new internal link for the task %s' => '',
     // '%s removed an internal link for the task %s' => '',
+    // 'Automatically set the due date on task creation' => '',
+    // 'Move the task to another column when closed' => '',
+    // 'Move the task to another column when not moved during a given period' => '',
+    // 'Dashboard for %s' => '',
+    // 'Tasks overview for %s' => '',
+    // 'Subtasks overview for %s' => '',
+    // 'Projects overview for %s' => '',
+    // 'Activity stream for %s' => '',
+    // 'Calendar for %s' => '',
+    // 'Notifications for %s' => '',
+    // 'Subtasks export' => '',
+    // 'Tasks exportation' => '',
 );
diff --git a/app/Locale/my_MY/translations.php b/app/Locale/my_MY/translations.php
index 68bd12bf..79baadf7 100644
--- a/app/Locale/my_MY/translations.php
+++ b/app/Locale/my_MY/translations.php
@@ -299,7 +299,6 @@ return array(
     'Display another project' => 'Lihat projek lain',
     'Created by %s' => 'Dibuat oleh %s',
     'Tasks Export' => 'Ekspor Tugas',
-    'Tasks exportation for "%s"' => 'Tugas di ekspor untuk « %s »',
     'Start Date' => 'Tanggal Mulai',
     'End Date' => 'Tanggal Berakhir',
     'Execute' => 'Eksekusi',
@@ -322,14 +321,9 @@ return array(
     'New sub-task' => 'Sub-tugas baru',
     'New attachment added "%s"' => 'Lampiran baru ditambahkan « %s »',
     'New comment posted by %s' => 'Komentar baru ditambahkan oleh « %s »',
-    'New attachment' => 'Lampirkan baru',
     'New comment' => 'Komentar baru',
     'Comment updated' => 'Komentar diperbaharui',
     'New subtask' => 'Sub-tugas baru',
-    'Subtask updated' => 'Sub-tugas diperbaharui',
-    'Task updated' => 'Tugas diperbaharui',
-    'Task closed' => 'Tugas ditutup',
-    'Task opened' => 'Tugas dibuka',
     'I want to receive notifications only for those projects:' => 'Saya ingin menerima pemberitahuan hanya untuk projek-projek yang dipilih :',
     'view the task on Kanboard' => 'lihat tugas di Kanboard',
     'Public access' => 'Akses awam',
@@ -387,8 +381,6 @@ return array(
     '%s created the task #%d' => '%s membuat tugas n°%d',
     '%s closed the task #%d' => '%s menutup tugas n°%d',
     '%s opened the task #%d' => '%s membuka tugas n°%d',
-    '%s moved the task #%d to the column "%s"' => '%s memindahkan tugas n°%d ke kolom « %s »',
-    '%s moved the task #%d to the position %d in the column "%s"' => '%s memindahkan tugas n°%d ke posisi n°%d dalam kolom « %s »',
     'Activity' => 'Aktifitas',
     'Default values are "%s"' => 'Standar nilai adalah« %s »',
     'Default columns for new projects (Comma-separated)' => 'Kolom default untuk projek baru (dipisahkan dengan koma)',
@@ -442,13 +434,10 @@ return array(
     'Percentage' => 'Persentasi',
     'Number of tasks' => 'Jumlah dari tugas',
     'Task distribution' => 'Pembagian tugas',
-    'Reportings' => 'Pelaporan',
-    'Task repartition for "%s"' => 'Pembagian tugas untuk « %s »',
     'Analytics' => 'Analitis',
     'Subtask' => 'Subtugas',
     'My subtasks' => 'Subtugas saya',
     'User repartition' => 'Partisi ulang pengguna',
-    'User repartition for "%s"' => 'Partisi ulang pengguna untuk « %s »',
     'Clone this project' => 'Gandakan projek ini',
     'Column removed successfully.' => 'Kolom berhasil dihapus.',
     'Not enough data to show the graph.' => 'Tidak cukup data untuk menampilkan grafik.',
@@ -465,10 +454,8 @@ return array(
     'This value must be numeric' => 'Nilai ini harus angka',
     'Unable to create this task.' => 'Tidak dapat membuat tugas ini',
     'Cumulative flow diagram' => 'Diagram alir kumulatif',
-    'Cumulative flow diagram for "%s"' => 'Diagram alir kumulatif untuk « %s »',
     'Daily project summary' => 'Ringkasan projek harian',
     'Daily project summary export' => 'Ekspot ringkasan projek harian',
-    'Daily project summary export for "%s"' => 'Ekspor ringkasan projek harian untuk « %s »',
     'Exports' => 'Ekspor',
     'This export contains the number of tasks per column grouped per day.' => 'Ekspor ini berisi jumlah dari tugas per kolom dikelompokan perhari.',
     'Active swimlanes' => 'Swimlanes aktif',
@@ -494,7 +481,6 @@ return array(
     'Subtask Id' => 'Id Subtugas',
     'Subtasks' => 'Subtugas',
     'Subtasks Export' => 'Ekspot Subtugas',
-    'Subtasks exportation for "%s"' => 'Ekspor subtugas untuk « %s »',
     'Task Title' => 'Judul Tugas',
     'Untitled' => 'Tanpa nama',
     'Application default' => 'Aplikasi Piawaian',
@@ -615,7 +601,6 @@ return array(
     'Test your device' => 'Menguji perangkat anda',
     'Assign a color when the task is moved to a specific column' => 'Menetapkan warna ketika tugas tersebut dipindahkan ke kolom tertentu',
     '%s via Kanboard' => '%s via Kanboard',
-    'Burndown chart for "%s"' => 'Grafik Burndown untku « %s »',
     'Burndown chart' => 'Grafik Burndown',
     'This chart show the task complexity over the time (Work Remaining).' => 'Grafik ini menunjukkan kompleksitas tugas dari waktu ke waktu (Sisa Pekerjaan).',
     'Screenshot taken %s' => 'Screenshot diambil %s',
@@ -680,14 +665,8 @@ return array(
     'Move the task to another column when the category is changed' => 'Pindahkan tugas ke kolom lain ketika kategori berubah',
     'Send a task by email to someone' => 'Kirim tugas melalui email ke seseorang',
     'Reopen a task' => 'Membuka kembali tugas',
-    'Column change' => 'Kolom berubah',
-    'Position change' => 'Posisi berubah',
-    'Swimlane change' => 'Swimlane berubah',
-    'Assignee change' => 'Penerima berubah',
-    '[%s] Overdue tasks' => '[%s] Tugas terlambat',
     'Notification' => 'Pemberitahuan',
     '%s moved the task #%d to the first swimlane' => '%s memindahkan tugas n°%d ke swimlane pertama',
-    '%s moved the task #%d to the swimlane "%s"' => '%s memindahkan tugas n°%d ke swimlane « %s »',
     'Swimlane' => 'Swimlane',
     'Gravatar' => 'Gravatar',
     '%s moved the task %s to the first swimlane' => '%s memindahkan tugas %s ke swimlane pertama',
@@ -758,8 +737,6 @@ return array(
     'Search by category: ' => 'Pencarian berdasarkan kategori : ',
     'Search by description: ' => 'Pencarian berdasarkan deskripsi : ',
     'Search by due date: ' => 'Pencarian berdasarkan tanggal jatuh tempo : ',
-    'Lead and Cycle time for "%s"' => 'Memimpin dan Siklus waktu untuk « %s »',
-    'Average time spent into each column for "%s"' => 'Rata-rata waktu yang dihabiskan dalam setiap kolom untuk « %s »',
     'Average time spent into each column' => 'Rata-rata waktu yang dihabiskan dalam setiap kolom',
     'Average time spent' => 'Rata-rata waktu yang dihabiskan',
     'This chart show the average time spent into each column for the last %d tasks.' => 'Grafik ini menunjukkan rata-rata waktu yang dihabiskan dalam setiap kolom untuk %d tugas.',
@@ -800,7 +777,6 @@ return array(
     'License:' => 'Lesen:',
     'License' => 'Lesen',
     'Enter the text below' => 'Masukkan teks di bawah',
-    'Gantt chart for %s' => 'Carta Gantt untuk %s',
     'Sort by position' => 'Urutkan berdasarkan posisi',
     'Sort by date' => 'Urutkan berdasarkan tanggal',
     'Add task' => 'Tambah tugas',
@@ -841,8 +817,6 @@ return array(
     // 'Version' => '',
     // 'Plugins' => '',
     // 'There is no plugin loaded.' => '',
-    // 'Set maximum column height' => '',
-    // 'Remove maximum column height' => '',
     // 'My notifications' => '',
     // 'Custom filters' => '',
     // 'Your custom filter have been created successfully.' => '',
@@ -947,7 +921,6 @@ return array(
     // 'Invalid captcha' => '',
     // 'The name must be unique' => '',
     // 'View all groups' => '',
-    // 'View group members' => '',
     // 'There is no user available.' => '',
     // 'Do you really want to remove the user "%s" from the group "%s"?' => '',
     // 'There is no group.' => '',
@@ -968,13 +941,10 @@ return array(
     // 'Enter group name...' => '',
     'Role:' => 'Peranan',
     'Project members' => 'Anggota projek',
-    // 'Compare hours for "%s"' => '',
     // '%s mentioned you in the task #%d' => '',
     // '%s mentioned you in a comment on the task #%d' => '',
     // 'You were mentioned in the task #%d' => '',
     // 'You were mentioned in a comment on the task #%d' => '',
-    // 'Mentioned' => '',
-    // 'Compare Estimated Time vs Actual Time' => '',
     // 'Estimated hours: ' => '',
     // 'Actual hours: ' => '',
     // 'Hours Spent' => '',
@@ -1232,4 +1202,16 @@ return array(
     // 'Internal link removed for the task #%d' => '',
     // '%s set a new internal link for the task %s' => '',
     // '%s removed an internal link for the task %s' => '',
+    // 'Automatically set the due date on task creation' => '',
+    // 'Move the task to another column when closed' => '',
+    // 'Move the task to another column when not moved during a given period' => '',
+    // 'Dashboard for %s' => '',
+    // 'Tasks overview for %s' => '',
+    // 'Subtasks overview for %s' => '',
+    // 'Projects overview for %s' => '',
+    // 'Activity stream for %s' => '',
+    // 'Calendar for %s' => '',
+    // 'Notifications for %s' => '',
+    // 'Subtasks export' => '',
+    // 'Tasks exportation' => '',
 );
diff --git a/app/Locale/nb_NO/translations.php b/app/Locale/nb_NO/translations.php
index c81e073c..3a0c3353 100644
--- a/app/Locale/nb_NO/translations.php
+++ b/app/Locale/nb_NO/translations.php
@@ -299,7 +299,6 @@ return array(
     'Display another project' => 'Vis annet prosjekt...',
     'Created by %s' => 'Opprettet av %s',
     'Tasks Export' => 'Oppgave eksport',
-    'Tasks exportation for "%s"' => 'Oppgaveeksportering for "%s"',
     'Start Date' => 'Start-dato',
     'End Date' => 'Slutt-dato',
     'Execute' => 'KKjør',
@@ -322,14 +321,9 @@ return array(
     'New sub-task' => 'Ny deloppgave',
     'New attachment added "%s"' => 'Nytt vedlegg er lagt tilet "%s"',
     'New comment posted by %s' => 'Ny kommentar fra %s',
-    'New attachment' => 'Nytt vedlegg',
     'New comment' => 'Ny kommentar',
     'Comment updated' => 'Kommentar oppdatert',
     'New subtask' => 'Ny deloppgave',
-    'Subtask updated' => 'Deloppgave oppdatert',
-    'Task updated' => 'Oppgave oppdatert',
-    'Task closed' => 'Oppgave lukket',
-    'Task opened' => 'Oppgave åpnet',
     'I want to receive notifications only for those projects:' => 'Jeg vil kun ha varslinger for disse prosjekter:',
     'view the task on Kanboard' => 'se oppgaven påhovedsiden',
     'Public access' => 'Offentlig tilgang',
@@ -387,8 +381,6 @@ return array(
     '%s created the task #%d' => '%s opprettet oppgaven #%d',
     '%s closed the task #%d' => '%s lukket oppgaven #%d',
     '%s opened the task #%d' => '%s åpnet oppgaven #%d',
-    '%s moved the task #%d to the column "%s"' => '%s flyttet oppgaven #%d til kolonnen "%s"',
-    '%s moved the task #%d to the position %d in the column "%s"' => '%s flyttet oppgaven #%d til posisjonen %d i kolonnen "%s"',
     'Activity' => 'Aktivitetslogg',
     'Default values are "%s"' => 'Standardverdier  er "%s"',
     'Default columns for new projects (Comma-separated)' => 'Standard kolonne for nye prosjekter (komma-separert)',
@@ -442,13 +434,10 @@ return array(
     'Percentage' => 'Prosent',
     'Number of tasks' => 'Antall oppgaver',
     'Task distribution' => 'Kolonnefordeling',
-    'Reportings' => 'Rapportering',
-    // 'Task repartition for "%s"' => '',
     'Analytics' => 'Analyser',
     'Subtask' => 'Deloppgave',
     'My subtasks' => 'Mine deloppgaver',
     'User repartition' => 'Brukerfordeling',
-    // 'User repartition for "%s"' => '',
     'Clone this project' => 'Kopier dette prosjektet',
     'Column removed successfully.' => 'Kolonne flyttet',
     // 'Not enough data to show the graph.' => '',
@@ -465,10 +454,8 @@ return array(
     // 'This value must be numeric' => '',
     // 'Unable to create this task.' => '',
     'Cumulative flow diagram' => 'Kumulativt flytdiagram',
-    // 'Cumulative flow diagram for "%s"' => '',
     'Daily project summary' => 'Daglig prosjektsammendrag',
     // 'Daily project summary export' => '',
-    // 'Daily project summary export for "%s"' => '',
     'Exports' => 'Eksporter',
     // 'This export contains the number of tasks per column grouped per day.' => '',
     'Active swimlanes' => 'Aktive svømmebaner',
@@ -494,7 +481,6 @@ return array(
     'Subtask Id' => 'Deloppgave ID',
     'Subtasks' => 'Deloppgaver',
     'Subtasks Export' => 'Eksporter deloppgaver',
-    // 'Subtasks exportation for "%s"' => '',
     'Task Title' => 'Oppgavetittel',
     // 'Untitled' => '',
     'Application default' => 'Standardinstilling',
@@ -615,7 +601,6 @@ return array(
     // 'Test your device' => '',
     'Assign a color when the task is moved to a specific column' => 'Endre til en valgt farge hvis en oppgave flyttes til en spesifikk kolonne',
     // '%s via Kanboard' => '',
-    // 'Burndown chart for "%s"' => '',
     // 'Burndown chart' => '',
     // 'This chart show the task complexity over the time (Work Remaining).' => '',
     // 'Screenshot taken %s' => '',
@@ -680,14 +665,8 @@ return array(
     'Move the task to another column when the category is changed' => 'Flytt oppgaven til en annen kolonne når kategorien endres',
     'Send a task by email to someone' => 'Send en oppgave på epost til noen',
     // 'Reopen a task' => '',
-    'Column change' => 'Endret kolonne',
-    'Position change' => 'Posisjonsendring',
-    'Swimlane change' => 'Endret svømmebane',
-    'Assignee change' => 'Endret eier',
-    // '[%s] Overdue tasks' => '',
     'Notification' => 'Varsel',
     // '%s moved the task #%d to the first swimlane' => '',
-    // '%s moved the task #%d to the swimlane "%s"' => '',
     'Swimlane' => 'Svømmebane',
     // 'Gravatar' => '',
     // '%s moved the task %s to the first swimlane' => '',
@@ -758,8 +737,6 @@ return array(
     'Search by category: ' => 'Søk etter kategori',
     'Search by description: ' => 'Søk etter beskrivelse',
     'Search by due date: ' => 'Søk etter frist',
-    // 'Lead and Cycle time for "%s"' => '',
-    // 'Average time spent into each column for "%s"' => '',
     // 'Average time spent into each column' => '',
     // 'Average time spent' => '',
     // 'This chart show the average time spent into each column for the last %d tasks.' => '',
@@ -800,7 +777,6 @@ return array(
     'License:' => 'Lisens:',
     'License' => 'Lisens',
     'Enter the text below' => 'Legg inn teksten nedenfor',
-    'Gantt chart for %s' => 'Gantt skjema for %s',
     // 'Sort by position' => '',
     'Sort by date' => 'Sorter etter dato',
     'Add task' => 'Legg til oppgave',
@@ -841,8 +817,6 @@ return array(
     // 'Version' => '',
     // 'Plugins' => '',
     // 'There is no plugin loaded.' => '',
-    // 'Set maximum column height' => '',
-    // 'Remove maximum column height' => '',
     // 'My notifications' => '',
     // 'Custom filters' => '',
     // 'Your custom filter have been created successfully.' => '',
@@ -947,7 +921,6 @@ return array(
     // 'Invalid captcha' => '',
     // 'The name must be unique' => '',
     // 'View all groups' => '',
-    // 'View group members' => '',
     // 'There is no user available.' => '',
     // 'Do you really want to remove the user "%s" from the group "%s"?' => '',
     // 'There is no group.' => '',
@@ -968,13 +941,10 @@ return array(
     // 'Enter group name...' => '',
     // 'Role:' => '',
     'Project members' => 'Prosjektmedlemmer',
-    // 'Compare hours for "%s"' => '',
     // '%s mentioned you in the task #%d' => '',
     // '%s mentioned you in a comment on the task #%d' => '',
     // 'You were mentioned in the task #%d' => '',
     // 'You were mentioned in a comment on the task #%d' => '',
-    // 'Mentioned' => '',
-    // 'Compare Estimated Time vs Actual Time' => '',
     // 'Estimated hours: ' => '',
     // 'Actual hours: ' => '',
     // 'Hours Spent' => '',
@@ -1232,4 +1202,16 @@ return array(
     // 'Internal link removed for the task #%d' => '',
     // '%s set a new internal link for the task %s' => '',
     // '%s removed an internal link for the task %s' => '',
+    // 'Automatically set the due date on task creation' => '',
+    // 'Move the task to another column when closed' => '',
+    // 'Move the task to another column when not moved during a given period' => '',
+    // 'Dashboard for %s' => '',
+    // 'Tasks overview for %s' => '',
+    // 'Subtasks overview for %s' => '',
+    // 'Projects overview for %s' => '',
+    // 'Activity stream for %s' => '',
+    // 'Calendar for %s' => '',
+    // 'Notifications for %s' => '',
+    // 'Subtasks export' => '',
+    // 'Tasks exportation' => '',
 );
diff --git a/app/Locale/nl_NL/translations.php b/app/Locale/nl_NL/translations.php
index d0b90ef8..5a026092 100644
--- a/app/Locale/nl_NL/translations.php
+++ b/app/Locale/nl_NL/translations.php
@@ -299,7 +299,6 @@ return array(
     'Display another project' => 'Een ander project weergeven',
     'Created by %s' => 'Aangemaakt door %s',
     'Tasks Export' => 'Taken exporteren',
-    'Tasks exportation for "%s"' => 'Taken exporteren voor « %s »',
     'Start Date' => 'Startdatum',
     'End Date' => 'Einddatum',
     'Execute' => 'Uitvoeren',
@@ -322,14 +321,9 @@ return array(
     'New sub-task' => 'Nieuwe subtaak',
     'New attachment added "%s"' => 'Nieuwe bijlage toegevoegd « %s »',
     'New comment posted by %s' => 'Nieuw commentaar geplaatst door « %s »',
-    'New attachment' => 'Nieuwe bijlage',
     'New comment' => 'Nieuw commentaar',
     'Comment updated' => 'Commentaar aangepast',
     'New subtask' => 'Nieuwe subtaak',
-    'Subtask updated' => 'Subtaak aangepast',
-    'Task updated' => 'Taak aangepast',
-    'Task closed' => 'Taak gesloten',
-    'Task opened' => 'Taak geopend',
     'I want to receive notifications only for those projects:' => 'Ik wil notificaties ontvangen van de volgende projecten :',
     'view the task on Kanboard' => 'taak bekijken op Kanboard',
     'Public access' => 'Publieke toegang',
@@ -387,8 +381,6 @@ return array(
     '%s created the task #%d' => '%s heeft taak %d aangemaakt',
     '%s closed the task #%d' => '%s heeft taak %d gesloten',
     '%s opened the task #%d' => '%s a heeft taak %d geopend',
-    '%s moved the task #%d to the column "%s"' => '%s heeft taak %d verplaatst naar kolom « %s »',
-    '%s moved the task #%d to the position %d in the column "%s"' => '%s heeft taak %d verplaatst naar positie %d in kolom « %s »',
     'Activity' => 'Activiteit',
     'Default values are "%s"' => 'Standaardwaarden zijn « %s »',
     'Default columns for new projects (Comma-separated)' => 'Standaard kolommen voor nieuw projecten (komma gescheiden)',
@@ -442,13 +434,10 @@ return array(
     'Percentage' => 'Percentage',
     'Number of tasks' => 'Aantal taken',
     'Task distribution' => 'Distributie van taken',
-    'Reportings' => 'Rapporten',
-    'Task repartition for "%s"' => 'Taakverdeling voor « %s »',
     'Analytics' => 'Analytics',
     'Subtask' => 'Subtaak',
     'My subtasks' => 'Mijn subtaken',
     'User repartition' => 'Gebruikerverdeling',
-    'User repartition for "%s"' => 'Gebruikerverdeling voor « %s »',
     'Clone this project' => 'Kloon dit project',
     'Column removed successfully.' => 'Kolom succesvol verwijderd.',
     'Not enough data to show the graph.' => 'Niet genoeg data om de grafiek te laten zien.',
@@ -465,10 +454,8 @@ return array(
     'This value must be numeric' => 'Deze waarde moet numeriek zijn',
     'Unable to create this task.' => 'Aanmaken van de taak mislukt',
     'Cumulative flow diagram' => 'Cummulatief stroomdiagram',
-    'Cumulative flow diagram for "%s"' => 'Cummulatief stroomdiagram voor « %s »',
     'Daily project summary' => 'Dagelijkse project samenvatting',
     'Daily project summary export' => 'Dagelijkse project samenvatting export',
-    'Daily project summary export for "%s"' => 'Dagelijkse project samenvatting voor « %s »',
     'Exports' => 'Exports',
     'This export contains the number of tasks per column grouped per day.' => 'Dit rapport bevat het aantal taken per kolom gegroupeerd per dag.',
     'Active swimlanes' => 'Actieve swinlanes',
@@ -494,7 +481,6 @@ return array(
     'Subtask Id' => 'Subtaak id',
     'Subtasks' => 'Subtaken',
     'Subtasks Export' => 'Subtaken exporteren',
-    'Subtasks exportation for "%s"' => 'Subtaken exporteren voor project « %s »',
     'Task Title' => 'Taak title',
     'Untitled' => 'Geen titel',
     'Application default' => 'Standaard taal voor applicatie',
@@ -615,7 +601,6 @@ return array(
     // 'Test your device' => '',
     // 'Assign a color when the task is moved to a specific column' => '',
     // '%s via Kanboard' => '',
-    // 'Burndown chart for "%s"' => '',
     // 'Burndown chart' => '',
     // 'This chart show the task complexity over the time (Work Remaining).' => '',
     // 'Screenshot taken %s' => '',
@@ -680,14 +665,8 @@ return array(
     // 'Move the task to another column when the category is changed' => '',
     // 'Send a task by email to someone' => '',
     'Reopen a task' => 'Heropen een taak',
-    // 'Column change' => '',
-    // 'Position change' => '',
-    // 'Swimlane change' => '',
-    // 'Assignee change' => '',
-    // '[%s] Overdue tasks' => '',
     // 'Notification' => '',
     // '%s moved the task #%d to the first swimlane' => '',
-    // '%s moved the task #%d to the swimlane "%s"' => '',
     'Swimlane' => 'Swimlane',
     'Gravatar' => 'Gravatar',
     '%s moved the task %s to the first swimlane' => '%s heeft de taak %s naar de eerste swimlane verplaatst',
@@ -758,8 +737,6 @@ return array(
     // 'Search by category: ' => '',
     // 'Search by description: ' => '',
     // 'Search by due date: ' => '',
-    // 'Lead and Cycle time for "%s"' => '',
-    // 'Average time spent into each column for "%s"' => '',
     // 'Average time spent into each column' => '',
     // 'Average time spent' => '',
     // 'This chart show the average time spent into each column for the last %d tasks.' => '',
@@ -800,7 +777,6 @@ return array(
     // 'License:' => '',
     // 'License' => '',
     // 'Enter the text below' => '',
-    // 'Gantt chart for %s' => '',
     // 'Sort by position' => '',
     // 'Sort by date' => '',
     // 'Add task' => '',
@@ -841,8 +817,6 @@ return array(
     // 'Version' => '',
     // 'Plugins' => '',
     // 'There is no plugin loaded.' => '',
-    // 'Set maximum column height' => '',
-    // 'Remove maximum column height' => '',
     // 'My notifications' => '',
     // 'Custom filters' => '',
     // 'Your custom filter have been created successfully.' => '',
@@ -947,7 +921,6 @@ return array(
     // 'Invalid captcha' => '',
     // 'The name must be unique' => '',
     // 'View all groups' => '',
-    // 'View group members' => '',
     // 'There is no user available.' => '',
     // 'Do you really want to remove the user "%s" from the group "%s"?' => '',
     // 'There is no group.' => '',
@@ -968,13 +941,10 @@ return array(
     // 'Enter group name...' => '',
     // 'Role:' => '',
     // 'Project members' => '',
-    // 'Compare hours for "%s"' => '',
     // '%s mentioned you in the task #%d' => '',
     // '%s mentioned you in a comment on the task #%d' => '',
     // 'You were mentioned in the task #%d' => '',
     // 'You were mentioned in a comment on the task #%d' => '',
-    // 'Mentioned' => '',
-    // 'Compare Estimated Time vs Actual Time' => '',
     // 'Estimated hours: ' => '',
     // 'Actual hours: ' => '',
     // 'Hours Spent' => '',
@@ -1232,4 +1202,16 @@ return array(
     // 'Internal link removed for the task #%d' => '',
     // '%s set a new internal link for the task %s' => '',
     // '%s removed an internal link for the task %s' => '',
+    // 'Automatically set the due date on task creation' => '',
+    // 'Move the task to another column when closed' => '',
+    // 'Move the task to another column when not moved during a given period' => '',
+    // 'Dashboard for %s' => '',
+    // 'Tasks overview for %s' => '',
+    // 'Subtasks overview for %s' => '',
+    // 'Projects overview for %s' => '',
+    // 'Activity stream for %s' => '',
+    // 'Calendar for %s' => '',
+    // 'Notifications for %s' => '',
+    // 'Subtasks export' => '',
+    // 'Tasks exportation' => '',
 );
diff --git a/app/Locale/pl_PL/translations.php b/app/Locale/pl_PL/translations.php
index 7c28190a..af3bcd4e 100644
--- a/app/Locale/pl_PL/translations.php
+++ b/app/Locale/pl_PL/translations.php
@@ -299,7 +299,6 @@ return array(
     'Display another project' => 'Wyświetl inny projekt',
     'Created by %s' => 'Utworzone przez %s',
     'Tasks Export' => 'Eksport zadań',
-    'Tasks exportation for "%s"' => 'Eksport zadań dla "%s"',
     'Start Date' => 'Data początkowa',
     'End Date' => 'Data Końcowa',
     'Execute' => 'Wykonaj',
@@ -322,14 +321,9 @@ return array(
     'New sub-task' => 'Nowe Pod-zadanie',
     'New attachment added "%s"' => 'Nowy załącznik dodany "%s"',
     'New comment posted by %s' => 'Nowy komentarz dodany przez %s',
-    'New attachment' => 'Nowy załącznik',
     'New comment' => 'Nowy Komentarz',
     'Comment updated' => 'Komentarz zaktualizowany',
     'New subtask' => 'Nowe pod-zadanie',
-    'Subtask updated' => 'Zaktualizowane pod-zadanie',
-    'Task updated' => 'Zaktualizowane zadanie',
-    'Task closed' => 'Zadanie zamknięte',
-    'Task opened' => 'Zadanie otwarte',
     'I want to receive notifications only for those projects:' => 'Chcę otrzymywać powiadomienia tylko dla poniższych projektów:',
     'view the task on Kanboard' => 'Zobacz zadanie',
     'Public access' => 'Dostęp publiczny',
@@ -387,8 +381,6 @@ return array(
     '%s created the task #%d' => '%s utworzył zadanie #%d',
     '%s closed the task #%d' => '%s zamknął zadanie #%d',
     '%s opened the task #%d' => '%s otworzył zadanie #%d',
-    '%s moved the task #%d to the column "%s"' => '%s przeniósł zadanie #%d do kolumny "%s"',
-    '%s moved the task #%d to the position %d in the column "%s"' => '%s przeniósł zadanie #%d na pozycję %d w kolmnie "%s"',
     'Activity' => 'Aktywność',
     'Default values are "%s"' => 'Domyślne wartości: "%s"',
     'Default columns for new projects (Comma-separated)' => 'Domyślne kolumny dla nowych projektów (oddzielone przecinkiem)',
@@ -442,13 +434,10 @@ return array(
     'Percentage' => 'Procent',
     'Number of tasks' => 'Liczba zadań',
     'Task distribution' => 'Rozmieszczenie zadań',
-    'Reportings' => 'Raporty',
-    'Task repartition for "%s"' => 'Przydział zadań dla "%s"',
     'Analytics' => 'Analizy',
     'Subtask' => 'Pod-zadanie',
     'My subtasks' => 'Moje pod-zadania',
     'User repartition' => 'Przydział użytkownika',
-    'User repartition for "%s"' => 'Przydział użytkownika dla "%s"',
     'Clone this project' => 'Sklonuj ten projekt',
     'Column removed successfully.' => 'Kolumna usunięta pomyślnie.',
     'Not enough data to show the graph.' => 'Za mało danych do utworzenia wykresu.',
@@ -465,10 +454,8 @@ return array(
     'This value must be numeric' => 'Wartość musi być liczbą',
     'Unable to create this task.' => 'Nie można tworzyć zadania.',
     'Cumulative flow diagram' => 'Zbiorowy diagram przepływu',
-    'Cumulative flow diagram for "%s"' => 'Zbiorowy diagram przepływu dla "%s"',
     'Daily project summary' => 'Dzienne raport z projektu',
     'Daily project summary export' => 'Eksport dziennego podsumowania projektu',
-    'Daily project summary export for "%s"' => 'Wygeneruj dzienny raport dla projektu: "%s"',
     'Exports' => 'Eksporty',
     'This export contains the number of tasks per column grouped per day.' => 'Ten eksport zawiera ilość zadań zgrupowanych w kolumnach na dzień',
     'Active swimlanes' => 'Aktywne tory',
@@ -494,7 +481,6 @@ return array(
     'Subtask Id' => 'ID pod-zadania',
     'Subtasks' => 'Pod-zadania',
     'Subtasks Export' => 'Eksport pod-zadań',
-    'Subtasks exportation for "%s"' => 'Wygeneruj raport pod-zadań dla projektu "%s"',
     'Task Title' => 'Nazwa zadania',
     'Untitled' => 'Bez nazwy',
     'Application default' => 'Domyślne dla aplikacji',
@@ -615,7 +601,6 @@ return array(
     'Test your device' => 'Przetestuj urządzenie',
     'Assign a color when the task is moved to a specific column' => 'Przypisz kolor gdy zadanie jest przeniesione do danej kolumny',
     '%s via Kanboard' => '%s poprzez Kanboard',
-    'Burndown chart for "%s"' => 'Wykres Burndown dla "%s"',
     'Burndown chart' => 'Wykres Burndown',
     'This chart show the task complexity over the time (Work Remaining).' => 'Ten wykres pokazuje złożoność zadania na przestrzeni czasu (pozostała praca).',
     'Screenshot taken %s' => 'Zrzut ekranu zapisany %s',
@@ -680,14 +665,8 @@ return array(
     'Move the task to another column when the category is changed' => 'Przenieś zadanie do innej kolumny gdy kategoria ulegnie zmianie',
     'Send a task by email to someone' => 'Wyślij zadanie emailem do kogoś',
     'Reopen a task' => 'Otwórz ponownie zadanie',
-    'Column change' => 'Zmiana kolumny',
-    'Position change' => 'Zmiana pozycji',
-    'Swimlane change' => 'Zmiana toru',
-    'Assignee change' => 'Zmiana przypisanego użytkownika',
-    '[%s] Overdue tasks' => '[%s] zaległych zadań',
     'Notification' => 'Powiadomienie',
     '%s moved the task #%d to the first swimlane' => '%s przeniosł zadanie #%d na pierwszy tor',
-    '%s moved the task #%d to the swimlane "%s"' => '%s przeniosł zadanie #%d na tor "%s"',
     'Swimlane' => 'Tor',
     // 'Gravatar' => '',
     '%s moved the task %s to the first swimlane' => '%s przeniosł zadanie %s na pierwszy tor',
@@ -758,8 +737,6 @@ return array(
     'Search by category: ' => 'Szukaj wg kategorii:',
     'Search by description: ' => 'Szukaj wg opisu:',
     'Search by due date: ' => 'Szukaj wg terminu:',
-    'Lead and Cycle time for "%s"' => 'Czas cyklu i realizacji dla "%s"',
-    'Average time spent into each column for "%s"' => 'Średni czas spędzony w każdej z kolumn dla "%s"',
     'Average time spent into each column' => 'Średni czas spędzony w każdej z kolumn',
     'Average time spent' => 'Średni spędzony czas',
     'This chart show the average time spent into each column for the last %d tasks.' => 'Niniejszy wykres pokazuje średni czas spędzony w każdej z kolumn dla ostatnich %d zadań.',
@@ -800,7 +777,6 @@ return array(
     'License:' => 'Licencja:',
     'License' => 'Licencja',
     'Enter the text below' => 'Wpisz tekst poniżej',
-    'Gantt chart for %s' => 'Wykres Gantt dla %s',
     'Sort by position' => 'Sortuj wg pozycji',
     'Sort by date' => 'Sortuj wg daty',
     'Add task' => 'Dodaj zadanie',
@@ -841,8 +817,6 @@ return array(
     'Version' => 'Wersja',
     'Plugins' => 'Wtyczki',
     'There is no plugin loaded.' => 'Nie wykryto żadnych wtyczek.',
-    'Set maximum column height' => 'Rozwiń kolumny',
-    'Remove maximum column height' => 'Zwiń kolumny',
     'My notifications' => 'Powiadomienia',
     'Custom filters' => 'Dostosuj filtry',
     'Your custom filter have been created successfully.' => 'Niestandardowy filtr został utworzony.',
@@ -947,7 +921,6 @@ return array(
     'Invalid captcha' => 'Błędny kod z obrazka (captcha)',
     'The name must be unique' => 'Nazwa musi być unikatowa',
     'View all groups' => 'Wyświetl wszystkie grupy',
-    'View group members' => 'Wyświetl wszystkich członków grupy',
     'There is no user available.' => 'Żaden użytkownik nie jest dostępny.',
     'Do you really want to remove the user "%s" from the group "%s"?' => 'Czy na pewno chcesz usunąć użytkownika "%s" z grupy "%s"?',
     'There is no group.' => 'Nie utworzono jeszcze żadnej grupy.',
@@ -968,13 +941,10 @@ return array(
     'Enter group name...' => 'Wprowadź nazwę grupy...',
     'Role:' => 'Rola:',
     'Project members' => 'Uczestnicy projektu',
-    'Compare hours for "%s"' => 'Porównaj godziny dla "%s"',
     '%s mentioned you in the task #%d' => '%s wspomiał o Tobie w zadaniu #%d',
     '%s mentioned you in a comment on the task #%d' => '%s wspomiał o Tobie w komentarzu do zadania #%d',
     'You were mentioned in the task #%d' => 'Wspomiano o Tobie w zadaniu #%d',
     'You were mentioned in a comment on the task #%d' => 'Wspomiano o Tobie w komentarzu do zadania #%d',
-    'Mentioned' => 'Wspomiano',
-    'Compare Estimated Time vs Actual Time' => 'Porównaj szacowany czas z rzeczywistym',
     'Estimated hours: ' => 'Szacowane godziny: ',
     'Actual hours: ' => 'Rzeczywiste godziny: ',
     'Hours Spent' => 'Spędzone godziny',
@@ -1232,4 +1202,16 @@ return array(
     // 'Internal link removed for the task #%d' => '',
     // '%s set a new internal link for the task %s' => '',
     // '%s removed an internal link for the task %s' => '',
+    // 'Automatically set the due date on task creation' => '',
+    // 'Move the task to another column when closed' => '',
+    // 'Move the task to another column when not moved during a given period' => '',
+    // 'Dashboard for %s' => '',
+    // 'Tasks overview for %s' => '',
+    // 'Subtasks overview for %s' => '',
+    // 'Projects overview for %s' => '',
+    // 'Activity stream for %s' => '',
+    // 'Calendar for %s' => '',
+    // 'Notifications for %s' => '',
+    // 'Subtasks export' => '',
+    // 'Tasks exportation' => '',
 );
diff --git a/app/Locale/pt_BR/translations.php b/app/Locale/pt_BR/translations.php
index 3f5a6de5..2772d8bb 100644
--- a/app/Locale/pt_BR/translations.php
+++ b/app/Locale/pt_BR/translations.php
@@ -299,7 +299,6 @@ return array(
     'Display another project' => 'Exibir outro projeto',
     'Created by %s' => 'Criado por %s',
     'Tasks Export' => 'Exportar Tarefas',
-    'Tasks exportation for "%s"' => 'As tarefas foram exportadas para "%s"',
     'Start Date' => 'Data inicial',
     'End Date' => 'Data final',
     'Execute' => 'Executar',
@@ -322,14 +321,9 @@ return array(
     'New sub-task' => 'Nova subtarefa',
     'New attachment added "%s"' => 'Novo anexo adicionado "%s"',
     'New comment posted by %s' => 'Novo comentário postado por %s',
-    'New attachment' => 'Novo anexo',
     'New comment' => 'Novo comentário',
     'Comment updated' => 'Comentário atualizado',
     'New subtask' => 'Nova subtarefa',
-    'Subtask updated' => 'Subtarefa alterada',
-    'Task updated' => 'Tarefa alterada',
-    'Task closed' => 'Tarefa finalizada',
-    'Task opened' => 'Tarefa aberta',
     'I want to receive notifications only for those projects:' => 'Quero receber notificações apenas destes projetos:',
     'view the task on Kanboard' => 'ver a tarefa no Kanboard',
     'Public access' => 'Acesso público',
@@ -387,8 +381,6 @@ return array(
     '%s created the task #%d' => '%s criou a tarefa #%d',
     '%s closed the task #%d' => '%s finalizou a tarefa #%d',
     '%s opened the task #%d' => '%s abriu a tarefa #%d',
-    '%s moved the task #%d to the column "%s"' => '%s moveu a tarefa #%d para a coluna "%s"',
-    '%s moved the task #%d to the position %d in the column "%s"' => '%s moveu a tarefa #%d para a posição %d na coluna "%s"',
     'Activity' => 'Atividade',
     'Default values are "%s"' => 'Os valores padrão são "%s"',
     'Default columns for new projects (Comma-separated)' => 'Colunas padrão para novos projetos (Separado por vírgula)',
@@ -442,13 +434,10 @@ return array(
     'Percentage' => 'Porcentagem',
     'Number of tasks' => 'Número de tarefas',
     'Task distribution' => 'Distribuição de tarefas',
-    'Reportings' => 'Relatórios',
-    'Task repartition for "%s"' => 'Redistribuição da tarefa para "%s"',
     'Analytics' => 'Estatísticas',
     'Subtask' => 'Subtarefa',
     'My subtasks' => 'Minhas subtarefas',
     'User repartition' => 'Redistribuição de usuário',
-    'User repartition for "%s"' => 'Redistribuição de usuário para "%s"',
     'Clone this project' => 'Clonar este projeto',
     'Column removed successfully.' => 'Coluna removida com sucesso.',
     'Not enough data to show the graph.' => 'Não há dados suficientes para mostrar o gráfico.',
@@ -465,10 +454,8 @@ return array(
     'This value must be numeric' => 'Este valor deve ser numérico',
     'Unable to create this task.' => 'Não foi possível criar esta tarefa.',
     'Cumulative flow diagram' => 'Fluxograma cumulativo',
-    'Cumulative flow diagram for "%s"' => 'Fluxograma cumulativo para "%s"',
     'Daily project summary' => 'Resumo diário do projeto',
     'Daily project summary export' => 'Exportação diária do resumo do projeto',
-    'Daily project summary export for "%s"' => 'Exportação diária do resumo do projeto para "%s"',
     'Exports' => 'Exportar',
     'This export contains the number of tasks per column grouped per day.' => 'Esta exportação contém o número de tarefas por coluna agrupada por dia.',
     'Active swimlanes' => 'Ativar swimlanes',
@@ -494,7 +481,6 @@ return array(
     'Subtask Id' => 'ID da subtarefa',
     'Subtasks' => 'Subtarefas',
     'Subtasks Export' => 'Exportar subtarefas',
-    'Subtasks exportation for "%s"' => 'Subtarefas exportadas para "%s"',
     'Task Title' => 'Título da Tarefa',
     'Untitled' => 'Sem título',
     'Application default' => 'Padrão da aplicação',
@@ -615,7 +601,6 @@ return array(
     'Test your device' => 'Teste o seu dispositivo',
     'Assign a color when the task is moved to a specific column' => 'Atribuir uma cor quando a tarefa é movida em uma coluna específica',
     '%s via Kanboard' => '%s via Kanboard',
-    'Burndown chart for "%s"' => 'Gráfico de Burndown para "%s"',
     'Burndown chart' => 'Gráfico de Burndown',
     'This chart show the task complexity over the time (Work Remaining).' => 'Este gráfico mostra a complexidade da tarefa ao longo do tempo (Trabalho Restante).',
     'Screenshot taken %s' => 'Captura de tela tirada em %s',
@@ -680,14 +665,8 @@ return array(
     'Move the task to another column when the category is changed' => 'Mover uma tarefa para outra coluna quando a categoria mudou',
     'Send a task by email to someone' => 'Enviar uma tarefa por e-mail a alguém',
     'Reopen a task' => 'Reabrir uma tarefa',
-    'Column change' => 'Mudança de coluna',
-    'Position change' => 'Mudança de posição',
-    'Swimlane change' => 'Mudança de swimlane',
-    'Assignee change' => 'Mudança de designação',
-    '[%s] Overdue tasks' => '[%s] Tarefas atrasadas',
     'Notification' => 'Notificação',
     '%s moved the task #%d to the first swimlane' => '%s moveu a tarefa #%d para a primeira swimlane',
-    '%s moved the task #%d to the swimlane "%s"' => '%s moveu a tarefa #%d para a swimlane "%s"',
     'Swimlane' => 'Swimlane',
     'Gravatar' => 'Gravatar',
     '%s moved the task %s to the first swimlane' => '%s moveu a tarefa %s para a primeira swimlane',
@@ -758,8 +737,6 @@ return array(
     'Search by category: ' => 'Pesquisar por categoria: ',
     'Search by description: ' => 'Pesquisar por descrição: ',
     'Search by due date: ' => 'Pesquisar por data de expiração: ',
-    'Lead and Cycle time for "%s"' => 'Lead and Cycle time para "%s"',
-    'Average time spent into each column for "%s"' => 'Tempo médio gasto em cada coluna para "%s"',
     'Average time spent into each column' => 'Tempo médio gasto em cada coluna',
     'Average time spent' => 'Tempo médio gasto',
     'This chart show the average time spent into each column for the last %d tasks.' => 'Este gráfico mostra o tempo médio gasto em cada coluna para as %d últimas tarefas.',
@@ -800,7 +777,6 @@ return array(
     'License:' => 'Licença:',
     'License' => 'Licença',
     'Enter the text below' => 'Entre o texto abaixo',
-    'Gantt chart for %s' => 'Gráfico de Gantt para %s',
     'Sort by position' => 'Ordenar por posição',
     'Sort by date' => 'Ordenar por data',
     'Add task' => 'Adicionar uma tarefa',
@@ -841,8 +817,6 @@ return array(
     'Version' => 'Versão',
     'Plugins' => 'Extensões',
     'There is no plugin loaded.' => 'Não há extensões carregadas.',
-    'Set maximum column height' => 'Definir a altura máxima das colunas',
-    'Remove maximum column height' => 'Retirar a altura máxima das colunas',
     'My notifications' => 'Minhas notificações',
     'Custom filters' => 'Filtros personalizados',
     'Your custom filter have been created successfully.' => 'Seu filtro personalizado foi criado com sucesso.',
@@ -947,7 +921,6 @@ return array(
     'Invalid captcha' => 'Captcha inválido',
     'The name must be unique' => 'O nome deve ser único',
     'View all groups' => 'Ver todos os grupos',
-    'View group members' => 'Ver os membros do grupo',
     'There is no user available.' => 'Não há nenhum usuário disponível',
     'Do you really want to remove the user "%s" from the group "%s"?' => 'Você realmente deseja remover o usuário "%s" do grupo "%s"?',
     'There is no group.' => 'Não há nenhum grupo.',
@@ -968,13 +941,10 @@ return array(
     'Enter group name...' => 'Digite o nome do grupo',
     'Role:' => 'Função:',
     'Project members' => 'Membros de projeto',
-    'Compare hours for "%s"' => 'Comparar as horas para "%s"',
     '%s mentioned you in the task #%d' => '%s mencionou você na tarefa #%d',
     '%s mentioned you in a comment on the task #%d' => '%s mencionou você num comentário da tarefa #%d',
     'You were mentioned in the task #%d' => 'Você foi mencionado na tarefa #%d',
     'You were mentioned in a comment on the task #%d' => 'Você foi mencionado num comentário da tarefa #%d',
-    'Mentioned' => 'Mencionado',
-    'Compare Estimated Time vs Actual Time' => 'Comparar o tempo estimado e o tempo atual',
     'Estimated hours: ' => 'Horas estimadas: ',
     'Actual hours: ' => 'Horas reais: ',
     'Hours Spent' => 'Horas gastas',
@@ -1232,4 +1202,16 @@ return array(
     // 'Internal link removed for the task #%d' => '',
     // '%s set a new internal link for the task %s' => '',
     // '%s removed an internal link for the task %s' => '',
+    // 'Automatically set the due date on task creation' => '',
+    // 'Move the task to another column when closed' => '',
+    // 'Move the task to another column when not moved during a given period' => '',
+    // 'Dashboard for %s' => '',
+    // 'Tasks overview for %s' => '',
+    // 'Subtasks overview for %s' => '',
+    // 'Projects overview for %s' => '',
+    // 'Activity stream for %s' => '',
+    // 'Calendar for %s' => '',
+    // 'Notifications for %s' => '',
+    // 'Subtasks export' => '',
+    // 'Tasks exportation' => '',
 );
diff --git a/app/Locale/pt_PT/translations.php b/app/Locale/pt_PT/translations.php
index 4e3e0151..872bcd27 100644
--- a/app/Locale/pt_PT/translations.php
+++ b/app/Locale/pt_PT/translations.php
@@ -299,7 +299,6 @@ return array(
     'Display another project' => 'Mostrar outro projecto',
     'Created by %s' => 'Criado por %s',
     'Tasks Export' => 'Exportar Tarefas',
-    'Tasks exportation for "%s"' => 'As tarefas foram exportadas para "%s"',
     'Start Date' => 'Data inicial',
     'End Date' => 'Data final',
     'Execute' => 'Executar',
@@ -322,14 +321,9 @@ return array(
     'New sub-task' => 'Nova subtarefa',
     'New attachment added "%s"' => 'Novo anexo adicionado "%s"',
     'New comment posted by %s' => 'Novo comentário por %s',
-    'New attachment' => 'Novo anexo',
     'New comment' => 'Novo comentário',
     'Comment updated' => 'Comentário actualizado',
     'New subtask' => 'Nova subtarefa',
-    'Subtask updated' => 'Subtarefa alterada',
-    'Task updated' => 'Tarefa alterada',
-    'Task closed' => 'Tarefa finalizada',
-    'Task opened' => 'Tarefa aberta',
     'I want to receive notifications only for those projects:' => 'Quero receber notificações apenas destes projectos:',
     'view the task on Kanboard' => 'ver a tarefa no Kanboard',
     'Public access' => 'Acesso público',
@@ -387,8 +381,6 @@ return array(
     '%s created the task #%d' => '%s criou a tarefa #%d',
     '%s closed the task #%d' => '%s finalizou a tarefa #%d',
     '%s opened the task #%d' => '%s abriu a tarefa #%d',
-    '%s moved the task #%d to the column "%s"' => '%s moveu a tarefa #%d para a coluna "%s"',
-    '%s moved the task #%d to the position %d in the column "%s"' => '%s moveu a tarefa #%d para a posição %d na coluna "%s"',
     'Activity' => 'Actividade',
     'Default values are "%s"' => 'Os valores padrão são "%s"',
     'Default columns for new projects (Comma-separated)' => 'Colunas padrão para novos projectos (Separado por vírgula)',
@@ -442,13 +434,10 @@ return array(
     'Percentage' => 'Percentagem',
     'Number of tasks' => 'Número de tarefas',
     'Task distribution' => 'Distribuição de tarefas',
-    'Reportings' => 'Relatórios',
-    'Task repartition for "%s"' => 'Redistribuição da tarefa para "%s"',
     'Analytics' => 'Estatísticas',
     'Subtask' => 'Subtarefa',
     'My subtasks' => 'As minhas subtarefas',
     'User repartition' => 'Redistribuição de utilizador',
-    'User repartition for "%s"' => 'Redistribuição de utilizador para "%s"',
     'Clone this project' => 'Clonar este projecto',
     'Column removed successfully.' => 'Coluna removida com sucesso.',
     'Not enough data to show the graph.' => 'Não há dados suficientes para mostrar o gráfico.',
@@ -465,10 +454,8 @@ return array(
     'This value must be numeric' => 'Este valor deve ser numérico',
     'Unable to create this task.' => 'Não foi possível criar esta tarefa.',
     'Cumulative flow diagram' => 'Fluxograma cumulativo',
-    'Cumulative flow diagram for "%s"' => 'Fluxograma cumulativo para "%s"',
     'Daily project summary' => 'Resumo diário do projecto',
     'Daily project summary export' => 'Exportação diária do resumo do projecto',
-    'Daily project summary export for "%s"' => 'Exportação diária do resumo do projecto para "%s"',
     'Exports' => 'Exportar',
     'This export contains the number of tasks per column grouped per day.' => 'Esta exportação contém o número de tarefas por coluna agrupada por dia.',
     'Active swimlanes' => 'Activar swimlanes',
@@ -494,7 +481,6 @@ return array(
     'Subtask Id' => 'ID da subtarefa',
     'Subtasks' => 'Subtarefas',
     'Subtasks Export' => 'Exportar subtarefas',
-    'Subtasks exportation for "%s"' => 'Subtarefas exportadas para "%s"',
     'Task Title' => 'Título da Tarefa',
     'Untitled' => 'Sem título',
     'Application default' => 'Aplicação padrão',
@@ -615,7 +601,6 @@ return array(
     'Test your device' => 'Teste o seu dispositivo',
     'Assign a color when the task is moved to a specific column' => 'Atribuir uma cor quando a tarefa é movida em uma coluna específica',
     '%s via Kanboard' => '%s via Kanboard',
-    'Burndown chart for "%s"' => 'Gráfico de Burndown para "%s"',
     'Burndown chart' => 'Gráfico de Burndown',
     'This chart show the task complexity over the time (Work Remaining).' => 'Este gráfico mostra a complexidade da tarefa ao longo do tempo (Trabalho Restante).',
     'Screenshot taken %s' => 'Screenshot tirada a %s',
@@ -680,14 +665,8 @@ return array(
     'Move the task to another column when the category is changed' => 'Mover uma tarefa para outra coluna quando a categoria mudar',
     'Send a task by email to someone' => 'Enviar uma tarefa por e-mail a alguém',
     'Reopen a task' => 'Reabrir uma tarefa',
-    'Column change' => 'Mudança de coluna',
-    'Position change' => 'Mudança de posição',
-    'Swimlane change' => 'Mudança de swimlane',
-    'Assignee change' => 'Mudança de assignação',
-    '[%s] Overdue tasks' => '[%s] Tarefas atrasadas',
     'Notification' => 'Notificação',
     '%s moved the task #%d to the first swimlane' => '%s moveu a tarefa n° %d no primeiro swimlane',
-    '%s moved the task #%d to the swimlane "%s"' => '%s moveu a tarefa n° %d no swimlane "%s"',
     'Swimlane' => 'Swimlane',
     'Gravatar' => 'Gravatar',
     '%s moved the task %s to the first swimlane' => '%s moveu a tarefa %s no primeiro swimlane',
@@ -758,8 +737,6 @@ return array(
     'Search by category: ' => 'Pesquisar por categoria: ',
     'Search by description: ' => 'Pesquisar por descrição: ',
     'Search by due date: ' => 'Pesquisar por data de vencimento: ',
-    'Lead and Cycle time for "%s"' => 'Tempo de Espera e Ciclo para "%s"',
-    'Average time spent into each column for "%s"' => 'Tempo médio gasto em cada coluna para "%s"',
     'Average time spent into each column' => 'Tempo médio gasto em cada coluna',
     'Average time spent' => 'Tempo médio gasto',
     'This chart show the average time spent into each column for the last %d tasks.' => 'Este gráfico mostra o tempo médio gasto em cada coluna nas últimas %d tarefas.',
@@ -800,7 +777,6 @@ return array(
     'License:' => 'Licença:',
     'License' => 'Licença',
     'Enter the text below' => 'Escreva o texto em baixo',
-    'Gantt chart for %s' => 'Gráfico de Gantt para %s',
     'Sort by position' => 'Ordenar por posição',
     'Sort by date' => 'Ordenar por data',
     'Add task' => 'Adicionar tarefa',
@@ -841,8 +817,6 @@ return array(
     'Version' => 'Versão',
     'Plugins' => 'Plugins',
     'There is no plugin loaded.' => 'Não existem extras carregados',
-    'Set maximum column height' => 'Definir altura máxima da coluna',
-    'Remove maximum column height' => 'Remover altura máxima da coluna',
     'My notifications' => 'As minhas notificações',
     'Custom filters' => 'Filtros personalizados',
     'Your custom filter have been created successfully.' => 'O seu filtro personalizado foi criado com sucesso.',
@@ -947,7 +921,6 @@ return array(
     'Invalid captcha' => 'Captcha inválido',
     'The name must be unique' => 'O nome deve ser único',
     'View all groups' => 'Ver todos os grupos',
-    'View group members' => 'Ver membros do grupo',
     'There is no user available.' => 'Não existe utilizador disponivel.',
     'Do you really want to remove the user "%s" from the group "%s"?' => 'Tem a certeza que quer remover o utilizador "%s" do grupo "%s"?',
     'There is no group.' => 'Não existe grupo.',
@@ -968,13 +941,10 @@ return array(
     'Enter group name...' => 'Escreva o nome do Grupo',
     'Role:' => 'Função:',
     'Project members' => 'Membros do projecto',
-    'Compare hours for "%s"' => 'Comparar horas para "%s"',
     '%s mentioned you in the task #%d' => '%s mencionou-te na tarefa #%d',
     '%s mentioned you in a comment on the task #%d' => '%s mencionou-te num comentário na tarefa #%d',
     'You were mentioned in the task #%d' => 'Foi mencionado na tarefa #%d',
     'You were mentioned in a comment on the task #%d' => 'Foi mencionado num comentário na tarefa #%d',
-    'Mentioned' => 'Mencionado',
-    'Compare Estimated Time vs Actual Time' => 'Comparar Tempo Estimado vs Tempo Real',
     'Estimated hours: ' => 'Horas estimadas: ',
     'Actual hours: ' => 'Horas reais: ',
     'Hours Spent' => 'Horas Gastas',
@@ -1232,4 +1202,16 @@ return array(
     // 'Internal link removed for the task #%d' => '',
     // '%s set a new internal link for the task %s' => '',
     // '%s removed an internal link for the task %s' => '',
+    // 'Automatically set the due date on task creation' => '',
+    // 'Move the task to another column when closed' => '',
+    // 'Move the task to another column when not moved during a given period' => '',
+    // 'Dashboard for %s' => '',
+    // 'Tasks overview for %s' => '',
+    // 'Subtasks overview for %s' => '',
+    // 'Projects overview for %s' => '',
+    // 'Activity stream for %s' => '',
+    // 'Calendar for %s' => '',
+    // 'Notifications for %s' => '',
+    // 'Subtasks export' => '',
+    // 'Tasks exportation' => '',
 );
diff --git a/app/Locale/ru_RU/translations.php b/app/Locale/ru_RU/translations.php
index 728a79f2..1669ce9b 100644
--- a/app/Locale/ru_RU/translations.php
+++ b/app/Locale/ru_RU/translations.php
@@ -299,7 +299,6 @@ return array(
     'Display another project' => 'Показать другой проект',
     'Created by %s' => 'Создано %s',
     'Tasks Export' => 'Экспорт задач',
-    'Tasks exportation for "%s"' => 'Задача экспортирована для « %s »',
     'Start Date' => 'Дата начала',
     'End Date' => 'Дата завершения',
     'Execute' => 'Выполнить',
@@ -322,14 +321,9 @@ return array(
     'New sub-task' => 'Новая подзадача',
     'New attachment added "%s"' => 'Добавлено вложение « %s »',
     'New comment posted by %s' => 'Новый комментарий написан « %s »',
-    'New attachment' => 'Новое вложение',
     'New comment' => 'Новый комментарий',
     'Comment updated' => 'Комментарий обновлен',
     'New subtask' => 'Новая подзадача',
-    'Subtask updated' => 'Подзадача обновлена',
-    'Task updated' => 'Задача обновлена',
-    'Task closed' => 'Задача закрыта',
-    'Task opened' => 'Задача открыта',
     'I want to receive notifications only for those projects:' => 'Я хочу получать уведомления только по этим проектам:',
     'view the task on Kanboard' => 'посмотреть задачу на Kanboard',
     'Public access' => 'Общий доступ',
@@ -387,8 +381,6 @@ return array(
     '%s created the task #%d' => '%s создал задачу #%d',
     '%s closed the task #%d' => '%s закрыл задачу #%d',
     '%s opened the task #%d' => '%s открыл задачу #%d',
-    '%s moved the task #%d to the column "%s"' => '%s переместил задачу #%d в колонку "%s"',
-    '%s moved the task #%d to the position %d in the column "%s"' => '%s переместил задачу #%d на позицию %d в колонке "%s"',
     'Activity' => 'Активность',
     'Default values are "%s"' => 'Колонки по умолчанию: "%s"',
     'Default columns for new projects (Comma-separated)' => 'Колонки по умолчанию для новых проектов (разделять запятой)',
@@ -442,13 +434,10 @@ return array(
     'Percentage' => 'Процент',
     'Number of tasks' => 'Количество задач',
     'Task distribution' => 'Распределение задач',
-    'Reportings' => 'Отчетность',
-    'Task repartition for "%s"' => 'Распределение задач для "%s"',
     'Analytics' => 'Аналитика',
     'Subtask' => 'Подзадача',
     'My subtasks' => 'Мои подзадачи',
     'User repartition' => 'Перераспределение пользователей',
-    'User repartition for "%s"' => 'Перераспределение пользователей для "%s"',
     'Clone this project' => 'Клонировать проект',
     'Column removed successfully.' => 'Колонка успешно удалена.',
     'Not enough data to show the graph.' => 'Недостаточно данных, чтобы показать график.',
@@ -465,10 +454,8 @@ return array(
     'This value must be numeric' => 'Это значение должно быть цифровым',
     'Unable to create this task.' => 'Невозможно создать задачу.',
     'Cumulative flow diagram' => 'Накопительная диаграма',
-    'Cumulative flow diagram for "%s"' => 'Накопительная диаграма для "%s"',
     'Daily project summary' => 'Ежедневное состояние проекта',
     'Daily project summary export' => 'Экспорт ежедневного резюме проекта',
-    'Daily project summary export for "%s"' => 'Экспорт ежедневного резюме проекта "%s"',
     'Exports' => 'Экспорт',
     'This export contains the number of tasks per column grouped per day.' => 'Этот экспорт содержит ряд задач в колонках, сгруппированные по дням.',
     'Active swimlanes' => 'Активные дорожки',
@@ -494,7 +481,6 @@ return array(
     'Subtask Id' => 'Id подзадачи',
     'Subtasks' => 'Подзадачи',
     'Subtasks Export' => 'Экспортировать подзадачи',
-    'Subtasks exportation for "%s"' => 'Экспорт подзадач для "%s"',
     'Task Title' => 'Загловок задачи',
     'Untitled' => 'Заголовок отсутствует',
     'Application default' => 'Приложение по умолчанию',
@@ -615,7 +601,6 @@ return array(
     'Test your device' => 'Проверьте свое устройство',
     'Assign a color when the task is moved to a specific column' => 'Назначить цвет, когда задача перемещается в определенную колонку',
     '%s via Kanboard' => '%s через Канборд',
-    'Burndown chart for "%s"' => 'Диаграмма сгорания для « %s »',
     'Burndown chart' => 'Диаграмма сгорания',
     'This chart show the task complexity over the time (Work Remaining).' => 'Эта диаграмма показывают сложность задачи по времени (оставшейся работы).',
     'Screenshot taken %s' => 'Принято скриншотов %s',
@@ -680,14 +665,8 @@ return array(
     'Move the task to another column when the category is changed' => 'Переносить задачи в другую колонку при изменении категории',
     'Send a task by email to someone' => 'Отправить задачу по email',
     'Reopen a task' => 'Переоткрыть задачу',
-    'Column change' => 'Изменение колонки',
-    'Position change' => 'Позиция изменена',
-    'Swimlane change' => 'Дорожка изменена',
-    'Assignee change' => 'Назначенный пользователь изменен',
-    '[%s] Overdue tasks' => '[%s] просроченные задачи',
     'Notification' => 'Уведомления',
     '%s moved the task #%d to the first swimlane' => '%s задач перемещено #%d в первой дорожке',
-    '%s moved the task #%d to the swimlane "%s"' => '%s задач перемещено #%d в дорожке "%s"',
     'Swimlane' => 'Дорожки',
     'Gravatar' => 'Граватар',
     '%s moved the task %s to the first swimlane' => '%s переместил задачу %s на первую дорожку',
@@ -758,8 +737,6 @@ return array(
     'Search by category: ' => 'Поиск по категориям: ',
     'Search by description: ' => 'Поиск по описанию: ',
     'Search by due date: ' => 'Поиск по дате завершения: ',
-    'Lead and Cycle time for "%s"' => 'Затраченное время и время цикла для "%s"',
-    'Average time spent into each column for "%s"' => 'Затрачено времени в среднем в каждой колонке для "%s"',
     'Average time spent into each column' => 'Затрачено времени в среднем в каждой колонке',
     'Average time spent' => 'Затрачено времени в среднем',
     'This chart show the average time spent into each column for the last %d tasks.' => 'Эта диаграмма показывает среднее время, проведенное задачами в каждой колонке за последний %d.',
@@ -800,7 +777,6 @@ return array(
     'License:' => 'Лицензия:',
     'License' => 'Лицензия',
     'Enter the text below' => 'Введите текст ниже',
-    'Gantt chart for %s' => 'Диаграмма Ганта для %s',
     'Sort by position' => 'Сортировать по позиции',
     'Sort by date' => 'Сортировать по дате',
     'Add task' => 'Добавить задачу',
@@ -841,8 +817,6 @@ return array(
     'Version' => 'Версия',
     'Plugins' => 'Плагины',
     'There is no plugin loaded.' => 'Нет установленных плагинов.',
-    'Set maximum column height' => 'Установить максимальную высоту колонки',
-    'Remove maximum column height' => 'Сбросить максимальную высоту колонки',
     'My notifications' => 'Мои уведомления',
     'Custom filters' => 'Пользовательские фильтры',
     'Your custom filter have been created successfully.' => 'Фильтр был успешно создан.',
@@ -947,7 +921,6 @@ return array(
     'Invalid captcha' => 'Неверный код подтверждения',
     'The name must be unique' => 'Имя должно быть уникальным',
     'View all groups' => 'Просмотр всех групп',
-    'View group members' => 'Просмотр участников группы',
     'There is no user available.' => 'Нет доступных пользователей.',
     'Do you really want to remove the user "%s" from the group "%s"?' => 'Вы действительно хотите удалить пользователя "%s" из группы "%s"?',
     'There is no group.' => 'Нет созданных групп.',
@@ -968,13 +941,10 @@ return array(
     'Enter group name...' => 'Введите имя группы...',
     'Role:' => 'Роль:',
     'Project members' => 'Участники проекта',
-    'Compare hours for "%s"' => 'Сравнить часы для "%s"',
     '%s mentioned you in the task #%d' => '%s упомянул вас в задаче #%d',
     '%s mentioned you in a comment on the task #%d' => '%s упомянул вас в комментарии к задаче #%d',
     'You were mentioned in the task #%d' => 'Вы упомянуты в задаче #%d',
     'You were mentioned in a comment on the task #%d' => 'Вы упомянуты в комментарии к задаче #%d',
-    'Mentioned' => 'Упоминания',
-    'Compare Estimated Time vs Actual Time' => 'Сравнить запланированное время и реальное',
     'Estimated hours: ' => 'Запланировано часов: ',
     'Actual hours: ' => 'Реально затрачено часов: ',
     'Hours Spent' => 'Затрачено часов',
@@ -1232,4 +1202,16 @@ return array(
     // 'Internal link removed for the task #%d' => '',
     // '%s set a new internal link for the task %s' => '',
     // '%s removed an internal link for the task %s' => '',
+    // 'Automatically set the due date on task creation' => '',
+    // 'Move the task to another column when closed' => '',
+    // 'Move the task to another column when not moved during a given period' => '',
+    // 'Dashboard for %s' => '',
+    // 'Tasks overview for %s' => '',
+    // 'Subtasks overview for %s' => '',
+    // 'Projects overview for %s' => '',
+    // 'Activity stream for %s' => '',
+    // 'Calendar for %s' => '',
+    // 'Notifications for %s' => '',
+    // 'Subtasks export' => '',
+    // 'Tasks exportation' => '',
 );
diff --git a/app/Locale/sr_Latn_RS/translations.php b/app/Locale/sr_Latn_RS/translations.php
index 25779a15..7e28e9a9 100644
--- a/app/Locale/sr_Latn_RS/translations.php
+++ b/app/Locale/sr_Latn_RS/translations.php
@@ -299,7 +299,6 @@ return array(
     'Display another project' => 'Prikaži drugi projekat',
     'Created by %s' => 'Kreirao %s',
     'Tasks Export' => 'Izvoz zadataka',
-    'Tasks exportation for "%s"' => 'Izvoz zadataka za "%s"',
     'Start Date' => 'Početni datum',
     'End Date' => 'Krajni datum',
     'Execute' => 'Izvrši',
@@ -322,14 +321,9 @@ return array(
     'New sub-task' => 'Novi Pod-zadatak',
     'New attachment added "%s"' => 'Novi prilog ubačen "%s"',
     'New comment posted by %s' => 'Novi komentar ostavio %s',
-    // 'New attachment' => '',
     // 'New comment' => '',
     'Comment updated' => 'Komentar izmenjen',
     // 'New subtask' => '',
-    // 'Subtask updated' => '',
-    // 'Task updated' => '',
-    'Task closed' => 'Zadatak je zatvoren',
-    'Task opened' => 'Zadatak je otvoren',
     'I want to receive notifications only for those projects:' => 'Želim obaveštenja samo za ovaj projekat:',
     'view the task on Kanboard' => 'Pregledaj zadatke',
     'Public access' => 'Javni pristup',
@@ -387,8 +381,6 @@ return array(
     '%s created the task #%d' => '%s kreirao zadatak #%d',
     '%s closed the task #%d' => '%s zatvorio zadatak #%d',
     '%s opened the task #%d' => '%s otvorio zadatak #%d',
-    '%s moved the task #%d to the column "%s"' => '%s premestio zadatak #%d u kolonu "%s"',
-    '%s moved the task #%d to the position %d in the column "%s"' => '%s premestio zadatak #%d na pozycję %d w kolmnie "%s"',
     'Activity' => 'Aktivnosti',
     'Default values are "%s"' => 'Osnovne vrednosti su: "%s"',
     'Default columns for new projects (Comma-separated)' => 'Osnovne kolone za novi projekat (Odvojeni zarezom)',
@@ -442,13 +434,10 @@ return array(
     'Percentage' => 'Procenat',
     'Number of tasks' => 'Broj zadataka',
     'Task distribution' => 'Podela zadataka',
-    'Reportings' => 'Izveštaji',
-    'Task repartition for "%s"' => 'Zaduženja zadataka za "%s"',
     'Analytics' => 'Analiza',
     'Subtask' => 'Pod-zadatak',
     'My subtasks' => 'Moji pod-zadaci',
     'User repartition' => 'Zaduženja korisnika',
-    'User repartition for "%s"' => 'Zaduženja korisnika za "%s"',
     'Clone this project' => 'Kopiraj projekat',
     'Column removed successfully.' => 'Kolumna usunięta pomyslnie.',
     'Not enough data to show the graph.' => 'Nedovoljno podataka za grafikon.',
@@ -465,10 +454,8 @@ return array(
     'This value must be numeric' => 'Vrednost mora biti broj',
     'Unable to create this task.' => 'Nije moguće kreirati zadatak.',
     'Cumulative flow diagram' => 'Zbirni dijagram toka',
-    'Cumulative flow diagram for "%s"' => 'Zbirni dijagram toka za "%s"',
     'Daily project summary' => 'Zbirni pregled po danima',
     'Daily project summary export' => 'Izvoz zbirnog pregleda po danima',
-    'Daily project summary export for "%s"' => 'Izvoz zbirnig pregleda po danima za "%s"',
     'Exports' => 'Izvoz',
     // 'This export contains the number of tasks per column grouped per day.' => '',
     'Active swimlanes' => 'Aktivni razdelnik',
@@ -494,7 +481,6 @@ return array(
     'Subtask Id' => 'ID pod-zadania',
     'Subtasks' => 'Pod-zadataka',
     'Subtasks Export' => 'Eksport pod-zadań',
-    'Subtasks exportation for "%s"' => 'Izvoz pod-zadań dla "%s"',
     'Task Title' => 'Naslov zadatka',
     'Untitled' => 'Bez naslova',
     'Application default' => 'Postavke aplikacje',
@@ -615,7 +601,6 @@ return array(
     // 'Test your device' => '',
     // 'Assign a color when the task is moved to a specific column' => '',
     // '%s via Kanboard' => '',
-    // 'Burndown chart for "%s"' => '',
     // 'Burndown chart' => '',
     // 'This chart show the task complexity over the time (Work Remaining).' => '',
     // 'Screenshot taken %s' => '',
@@ -680,14 +665,8 @@ return array(
     // 'Move the task to another column when the category is changed' => '',
     // 'Send a task by email to someone' => '',
     // 'Reopen a task' => '',
-    // 'Column change' => '',
-    // 'Position change' => '',
-    // 'Swimlane change' => '',
-    // 'Assignee change' => '',
-    // '[%s] Overdue tasks' => '',
     // 'Notification' => '',
     // '%s moved the task #%d to the first swimlane' => '',
-    // '%s moved the task #%d to the swimlane "%s"' => '',
     // 'Swimlane' => '',
     // 'Gravatar' => '',
     // '%s moved the task %s to the first swimlane' => '',
@@ -758,8 +737,6 @@ return array(
     // 'Search by category: ' => '',
     // 'Search by description: ' => '',
     // 'Search by due date: ' => '',
-    // 'Lead and Cycle time for "%s"' => '',
-    // 'Average time spent into each column for "%s"' => '',
     // 'Average time spent into each column' => '',
     // 'Average time spent' => '',
     // 'This chart show the average time spent into each column for the last %d tasks.' => '',
@@ -800,7 +777,6 @@ return array(
     // 'License:' => '',
     // 'License' => '',
     // 'Enter the text below' => '',
-    // 'Gantt chart for %s' => '',
     // 'Sort by position' => '',
     // 'Sort by date' => '',
     // 'Add task' => '',
@@ -841,8 +817,6 @@ return array(
     // 'Version' => '',
     // 'Plugins' => '',
     // 'There is no plugin loaded.' => '',
-    // 'Set maximum column height' => '',
-    // 'Remove maximum column height' => '',
     // 'My notifications' => '',
     // 'Custom filters' => '',
     // 'Your custom filter have been created successfully.' => '',
@@ -947,7 +921,6 @@ return array(
     // 'Invalid captcha' => '',
     // 'The name must be unique' => '',
     // 'View all groups' => '',
-    // 'View group members' => '',
     // 'There is no user available.' => '',
     // 'Do you really want to remove the user "%s" from the group "%s"?' => '',
     // 'There is no group.' => '',
@@ -968,13 +941,10 @@ return array(
     // 'Enter group name...' => '',
     // 'Role:' => '',
     // 'Project members' => '',
-    // 'Compare hours for "%s"' => '',
     // '%s mentioned you in the task #%d' => '',
     // '%s mentioned you in a comment on the task #%d' => '',
     // 'You were mentioned in the task #%d' => '',
     // 'You were mentioned in a comment on the task #%d' => '',
-    // 'Mentioned' => '',
-    // 'Compare Estimated Time vs Actual Time' => '',
     // 'Estimated hours: ' => '',
     // 'Actual hours: ' => '',
     // 'Hours Spent' => '',
@@ -1232,4 +1202,16 @@ return array(
     // 'Internal link removed for the task #%d' => '',
     // '%s set a new internal link for the task %s' => '',
     // '%s removed an internal link for the task %s' => '',
+    // 'Automatically set the due date on task creation' => '',
+    // 'Move the task to another column when closed' => '',
+    // 'Move the task to another column when not moved during a given period' => '',
+    // 'Dashboard for %s' => '',
+    // 'Tasks overview for %s' => '',
+    // 'Subtasks overview for %s' => '',
+    // 'Projects overview for %s' => '',
+    // 'Activity stream for %s' => '',
+    // 'Calendar for %s' => '',
+    // 'Notifications for %s' => '',
+    // 'Subtasks export' => '',
+    // 'Tasks exportation' => '',
 );
diff --git a/app/Locale/sv_SE/translations.php b/app/Locale/sv_SE/translations.php
index f4206bb1..5ad2938c 100644
--- a/app/Locale/sv_SE/translations.php
+++ b/app/Locale/sv_SE/translations.php
@@ -299,7 +299,6 @@ return array(
     'Display another project' => 'Visa ett annat projekt',
     'Created by %s' => 'Skapad av %s',
     'Tasks Export' => 'Exportera uppgifter',
-    'Tasks exportation for "%s"' => 'Exportera uppgifter för "%s"',
     'Start Date' => 'Startdatum',
     'End Date' => 'Slutdatum',
     'Execute' => 'Utför',
@@ -322,14 +321,9 @@ return array(
     'New sub-task' => 'Ny deluppgift',
     'New attachment added "%s"' => 'Ny bifogning tillagd "%s"',
     'New comment posted by %s' => 'Ny kommentar postad av %s',
-    'New attachment' => 'Ny bifogning',
     'New comment' => 'Ny kommentar',
     'Comment updated' => 'Kommentaren har uppdaterats',
     'New subtask' => 'Ny deluppgift',
-    'Subtask updated' => 'Deluppgiften har uppdaterats',
-    'Task updated' => 'Uppgiften har uppdaterats',
-    'Task closed' => 'Uppgiften har stängts',
-    'Task opened' => 'Uppgiften har öppnats',
     'I want to receive notifications only for those projects:' => 'Jag vill endast få notiser för dessa projekt:',
     'view the task on Kanboard' => 'Visa uppgiften på Kanboard',
     'Public access' => 'Publik åtkomst',
@@ -387,8 +381,6 @@ return array(
     '%s created the task #%d' => '%s skapade uppgiften #%d',
     '%s closed the task #%d' => '%s stängde uppgiften #%d',
     '%s opened the task #%d' => '%s öppnade uppgiften #%d',
-    '%s moved the task #%d to the column "%s"' => '%s flyttade uppgiften #%d till kolumnen "%s"',
-    '%s moved the task #%d to the position %d in the column "%s"' => '%s flyttade uppgiften #%d till positionen %d i kolumnen "%s"',
     'Activity' => 'Aktivitet',
     'Default values are "%s"' => 'Standardvärden är "%s"',
     'Default columns for new projects (Comma-separated)' => 'Standardkolumner för nya projekt (kommaseparerade)',
@@ -442,13 +434,10 @@ return array(
     'Percentage' => 'Procent',
     'Number of tasks' => 'Antal uppgifter',
     'Task distribution' => 'Uppgiftsfördelning',
-    'Reportings' => 'Rapportering',
-    'Task repartition for "%s"' => 'Uppgiftsdeltagande för "%s"',
     'Analytics' => 'Analyser',
     'Subtask' => 'Deluppgift',
     'My subtasks' => 'Mina deluppgifter',
     'User repartition' => 'Användardeltagande',
-    'User repartition for "%s"' => 'Användardeltagande för "%s"',
     'Clone this project' => 'Klona projektet',
     'Column removed successfully.' => 'Kolumnen togs bort',
     'Not enough data to show the graph.' => 'Inte tillräckligt med data för att visa graf',
@@ -465,10 +454,8 @@ return array(
     'This value must be numeric' => 'Värdet måste vara numeriskt',
     'Unable to create this task.' => 'Kunde inte skapa uppgiften.',
     'Cumulative flow diagram' => 'Diagram med kumulativt flöde',
-    'Cumulative flow diagram for "%s"' => 'Diagram med kumulativt flöde för "%s"',
     'Daily project summary' => 'Daglig projektsummering',
     'Daily project summary export' => 'Export av daglig projektsummering',
-    'Daily project summary export for "%s"' => 'Export av daglig projektsummering för "%s"',
     'Exports' => 'Exporter',
     'This export contains the number of tasks per column grouped per day.' => 'Denna export innehåller antalet uppgifter per kolumn grupperade per dag.',
     'Active swimlanes' => 'Aktiva swimlanes',
@@ -494,7 +481,6 @@ return array(
     'Subtask Id' => 'Deluppgifts-ID',
     'Subtasks' => 'Deluppgift',
     'Subtasks Export' => 'Export av deluppgifter',
-    'Subtasks exportation for "%s"' => 'Export av deluppgifter för "%s"',
     'Task Title' => 'Uppgiftstitel',
     'Untitled' => 'Titel saknas',
     'Application default' => 'Applikationsstandard',
@@ -615,7 +601,6 @@ return array(
     'Test your device' => 'Testa din enhet',
     'Assign a color when the task is moved to a specific column' => 'Tilldela en färg när uppgiften flyttas till en specifik kolumn',
     '%s via Kanboard' => '%s via Kanboard',
-    'Burndown chart for "%s"' => 'Burndown diagram för "%s"',
     'Burndown chart' => 'Burndown diagram',
     'This chart show the task complexity over the time (Work Remaining).' => 'Diagrammet visar uppgiftens svårighet över tid (återstående arbete).',
     'Screenshot taken %s' => 'Skärmdump tagen %s',
@@ -680,14 +665,8 @@ return array(
     'Move the task to another column when the category is changed' => 'Flyttas uppgiften till en annan kolumn när kategorin ändras',
     'Send a task by email to someone' => 'Skicka en uppgift med e-post till någon',
     'Reopen a task' => 'Återöppna en uppgift',
-    'Column change' => 'Kolumnändring',
-    'Position change' => 'Positionsändring',
-    'Swimlane change' => 'Swimlaneändring',
-    'Assignee change' => 'Tilldelningsändring',
-    '[%s] Overdue tasks' => '[%s] Försenade uppgifter',
     'Notification' => 'Notis',
     '%s moved the task #%d to the first swimlane' => '%s flyttade uppgiften #%d till första swimlane',
-    '%s moved the task #%d to the swimlane "%s"' => '%s flyttade uppgiften #%d till swimlane "%s"',
     'Swimlane' => 'Swimlane',
     'Gravatar' => 'Gravatar',
     '%s moved the task %s to the first swimlane' => '%s flyttade uppgiften %s till första swimlane',
@@ -758,8 +737,6 @@ return array(
     'Search by category: ' => 'Sök efter kategori:',
     'Search by description: ' => 'Sök efter beskrivning',
     'Search by due date: ' => 'Sök efter förfallodatum',
-    'Lead and Cycle time for "%s"' => 'Led- och cykeltid för "%s"',
-    'Average time spent into each column for "%s"' => 'Medeltidsåtgång i varje kolumn för "%s"',
     'Average time spent into each column' => 'Medeltidsåtgång i varje kolumn',
     'Average time spent' => 'Medeltidsåtgång',
     'This chart show the average time spent into each column for the last %d tasks.' => 'Diagramet visar medeltidsåtgång i varje kolumn för de senaste %d uppgifterna.',
@@ -800,7 +777,6 @@ return array(
     'License:' => 'Licens:',
     'License' => 'Licens',
     'Enter the text below' => 'Fyll i texten nedan',
-    'Gantt chart for %s' => 'Gantt-schema för %s',
     'Sort by position' => 'Sortera efter position',
     'Sort by date' => 'Sortera efter datum',
     'Add task' => 'Lägg till uppgift',
@@ -841,8 +817,6 @@ return array(
     // 'Version' => '',
     // 'Plugins' => '',
     // 'There is no plugin loaded.' => '',
-    // 'Set maximum column height' => '',
-    // 'Remove maximum column height' => '',
     // 'My notifications' => '',
     // 'Custom filters' => '',
     // 'Your custom filter have been created successfully.' => '',
@@ -947,7 +921,6 @@ return array(
     // 'Invalid captcha' => '',
     // 'The name must be unique' => '',
     // 'View all groups' => '',
-    // 'View group members' => '',
     // 'There is no user available.' => '',
     // 'Do you really want to remove the user "%s" from the group "%s"?' => '',
     // 'There is no group.' => '',
@@ -968,13 +941,10 @@ return array(
     // 'Enter group name...' => '',
     // 'Role:' => '',
     // 'Project members' => '',
-    // 'Compare hours for "%s"' => '',
     // '%s mentioned you in the task #%d' => '',
     // '%s mentioned you in a comment on the task #%d' => '',
     // 'You were mentioned in the task #%d' => '',
     // 'You were mentioned in a comment on the task #%d' => '',
-    // 'Mentioned' => '',
-    // 'Compare Estimated Time vs Actual Time' => '',
     // 'Estimated hours: ' => '',
     // 'Actual hours: ' => '',
     // 'Hours Spent' => '',
@@ -1232,4 +1202,16 @@ return array(
     // 'Internal link removed for the task #%d' => '',
     // '%s set a new internal link for the task %s' => '',
     // '%s removed an internal link for the task %s' => '',
+    // 'Automatically set the due date on task creation' => '',
+    // 'Move the task to another column when closed' => '',
+    // 'Move the task to another column when not moved during a given period' => '',
+    // 'Dashboard for %s' => '',
+    // 'Tasks overview for %s' => '',
+    // 'Subtasks overview for %s' => '',
+    // 'Projects overview for %s' => '',
+    // 'Activity stream for %s' => '',
+    // 'Calendar for %s' => '',
+    // 'Notifications for %s' => '',
+    // 'Subtasks export' => '',
+    // 'Tasks exportation' => '',
 );
diff --git a/app/Locale/th_TH/translations.php b/app/Locale/th_TH/translations.php
index ec399732..2aee696b 100644
--- a/app/Locale/th_TH/translations.php
+++ b/app/Locale/th_TH/translations.php
@@ -299,7 +299,6 @@ return array(
     'Display another project' => 'แสดงโปรเจคอื่น',
     'Created by %s' => 'สร้างโดย %s',
     'Tasks Export' => 'ส่งออกงาน',
-    'Tasks exportation for "%s"' => 'ส่งออกงานสำหรับ "%s"',
     'Start Date' => 'เริ่มวันที่',
     'End Date' => 'สิ้นสุดวันที่',
     'Execute' => 'ประมวลผล',
@@ -322,14 +321,9 @@ return array(
     'New sub-task' => 'งานย่อยใหม่',
     'New attachment added "%s"' => 'เพิ่มการแนบใหม่ "%s"',
     'New comment posted by %s' => 'ความคิดเห็นใหม่จาก %s',
-    'New attachment' => 'การแนบใหม่',
     'New comment' => 'ความคิดเห็นใหม่',
     'Comment updated' => 'ปรับปรุงความคิดเห็น',
     'New subtask' => 'งานย่อยใหม่',
-    'Subtask updated' => 'ปรับปรุงงานย่อยแล้ว',
-    'Task updated' => 'ปรับปรุงงานแล้ว',
-    'Task closed' => 'ปิดงาน',
-    'Task opened' => 'เปิดงาน',
     'I want to receive notifications only for those projects:' => 'ฉันต้องการรับการแจ้งเตือนสำหรับโปรเจค:',
     'view the task on Kanboard' => 'แสดงงานบน Kanboard',
     'Public access' => 'การเข้าถึงสาธารณะ',
@@ -387,8 +381,6 @@ return array(
     '%s created the task #%d' => '%s สร้างงานแล้ว #%d',
     '%s closed the task #%d' => '%s ปิดงานแล้ว #%d',
     '%s opened the task #%d' => '%s เปิดงานแล้ว #%d',
-    '%s moved the task #%d to the column "%s"' => '%s ย้ายงานแล้ว #%d ไปที่คอลัมน์ "%s"',
-    '%s moved the task #%d to the position %d in the column "%s"' => '%s ย้ายงานแล้ว #%d ไปตำแหน่ง %d ในคอลัมน์ที่ "%s"',
     'Activity' => 'กิจกรรม',
     'Default values are "%s"' => 'ค่าเริ่มต้น "%s"',
     'Default columns for new projects (Comma-separated)' => 'คอลัมน์เริ่มต้นสำหรับโปรเจคใหม่ (Comma-separated)',
@@ -442,13 +434,10 @@ return array(
     'Percentage' => 'เปอร์เซ็นต์',
     'Number of tasks' => 'จำนวนงาน',
     'Task distribution' => 'การกระจายงาน',
-    'Reportings' => 'รายงาน',
-    // 'Task repartition for "%s"' => '',
     'Analytics' => 'การวิเคราะห์',
     'Subtask' => 'งานย่อย',
     'My subtasks' => 'งานย่อยของฉัน',
     'User repartition' => 'การแบ่งงานของผู้ใช้',
-    'User repartition for "%s"' => 'การแบ่งงานของผู้ใช้ "%s"',
     'Clone this project' => 'เลียนแบบโปรเจคนี้',
     'Column removed successfully.' => 'ลบคอลัมน์สำเร็จ',
     'Not enough data to show the graph.' => 'ไม่มีข้อมูลแสดงเป็นกราฟ',
@@ -465,10 +454,8 @@ return array(
     'This value must be numeric' => 'ค่านี้ต้องเป็นตัวเลข',
     'Unable to create this task.' => 'ไม่สามารถสร้างงานนี้',
     'Cumulative flow diagram' => 'แผนภาพงานสะสม',
-    'Cumulative flow diagram for "%s"' => 'แผนภาพงานสะสม "%s"',
     'Daily project summary' => 'สรุปโปรเจครายวัน',
     'Daily project summary export' => 'ส่งออกสรุปโปรเจครายวัน',
-    'Daily project summary export for "%s"' => 'ส่งออกสรุปโปรเจครายวันสำหรับ "%s"',
     'Exports' => 'ส่งออก',
     'This export contains the number of tasks per column grouped per day.' => 'การส่งออกนี้เป็นการนับจำนวนงานในแต่ละคอลัมน์ในแต่ละวัน',
     'Active swimlanes' => 'สวิมเลนพร้อมใช้งาน',
@@ -494,7 +481,6 @@ return array(
     'Subtask Id' => 'รหัสงานย่อย',
     'Subtasks' => 'งานย่อย',
     'Subtasks Export' => 'ส่งออก งานย่อย',
-    'Subtasks exportation for "%s"' => 'ส่งออกงานย่อยสำหรับ "%s"',
     'Task Title' => 'ชื่องาน',
     'Untitled' => 'ไม่มีชื่อ',
     'Application default' => 'แอพพลิเคชันเริ่มต้น',
@@ -615,7 +601,6 @@ return array(
     'Test your device' => 'ทดสอบอุปกรณ์ของคุณ',
     'Assign a color when the task is moved to a specific column' => 'กำหนดสีเมื่องานถูกย้ายไปคอลัมน์ที่กำหนดไว้',
     // '%s via Kanboard' => '',
-    'Burndown chart for "%s"' => 'แผนภูมิงานกับเวลา "%s"',
     'Burndown chart' => 'แผนภูมิงานกับเวลา',
     'This chart show the task complexity over the time (Work Remaining).' => 'แผนภูมิแสดงความซับซ้อนของงานตามเวลา (งานที่เหลือ)',
     'Screenshot taken %s' => 'จับภาพหน้าจอ %s',
@@ -680,14 +665,8 @@ return array(
     'Move the task to another column when the category is changed' => 'ย้ายงานไปคอลัมน์อื่นเมื่อหมวดถูกเปลี่ยน',
     'Send a task by email to someone' => 'ส่งงานโดยถึงบางคน',
     'Reopen a task' => 'เปิดงานอีกครั้ง',
-    'Column change' => 'เปลี่ยนคอลัมน์',
-    'Position change' => 'เปลี่ยนตำแหน่ง',
-    'Swimlane change' => 'เปลี่ยนสวิมเลน',
-    'Assignee change' => 'เปลี่ยนการผู้รับผิดชอบ',
-    '[%s] Overdue tasks' => '[%s] งานที่เกินกำหนด',
     'Notification' => 'แจ้งเตือน',
     '%s moved the task #%d to the first swimlane' => '%s ย้ายงาน #%d ไปสวินเลนแรก',
-    '%s moved the task #%d to the swimlane "%s"' => '%s ย้ายงาน #%d ไปสวินเลน "%s"',
     'Swimlane' => 'สวิมเลน',
     'Gravatar' => 'รูปแทนตัว',
     '%s moved the task %s to the first swimlane' => '%s ย้ายงาน %s ไปสวินเลนแรก',
@@ -758,8 +737,6 @@ return array(
     'Search by category: ' => 'ค้นหาตามหมวด: ',
     'Search by description: ' => 'ค้นหาตามคำอธิบาย: ',
     'Search by due date: ' => 'ค้นหาตามวันครบกำหนด: ',
-    'Lead and Cycle time for "%s"' => 'เวลานำและรอบเวลาสำหรับ "%s"',
-    'Average time spent into each column for "%s"' => 'ค่าเฉลี่ยเวลาที่ใช้แต่ละคอลัมน์สำหรับ "%s"',
     'Average time spent into each column' => 'ค่าเฉลี่ยเวลาที่ใช้แต่ละคอลัมน์',
     'Average time spent' => 'ค่าเฉลี่ยเวลาที่ใช้',
     'This chart show the average time spent into each column for the last %d tasks.' => 'แผนภูมิแสดงค่าเฉลี่ยเวลาที่ใช้แต่ละคอลัมน์สำหรับ %d งานล่าสุด',
@@ -800,7 +777,6 @@ return array(
     'License:' => 'สัญญาอนุญาต:',
     'License' => 'สัญญาอนุญาต',
     'Enter the text below' => 'พิมพ์ข้อความด้านล่าง',
-    'Gantt chart for %s' => 'แผนภูมิแกรนท์สำหรับ %s',
     'Sort by position' => 'เรียงตามตำแหน่ง',
     'Sort by date' => 'เรียงตามวัน',
     'Add task' => 'เพิ่มงาน',
@@ -841,8 +817,6 @@ return array(
     'Version' => 'เวอร์ชัน',
     'Plugins' => 'ปลั๊กอิน',
     'There is no plugin loaded.' => 'ไม่มีปลั๊กอินถูกโหลดไว้',
-    'Set maximum column height' => 'กำหนดความสูงสูงสุดของคอลัมน์',
-    'Remove maximum column height' => 'เอาความสูงสูงสุดของคอลัมน์ออก',
     'My notifications' => 'การแจ้งเตือนของฉัน',
     'Custom filters' => 'ตัวกรองกำหนดเอง',
     'Your custom filter have been created successfully.' => 'ตัวกรองกำหนดเองของคุณสร้างเรียบร้อย',
@@ -947,7 +921,6 @@ return array(
     'Invalid captcha' => 'captcha ไม่ถูกต้อง',
     'The name must be unique' => 'ชื่อต้องไม่ซ้ำ',
     'View all groups' => 'แสดงกลุ่มทั้งหมด',
-    'View group members' => 'แสดงสมาชิกกลุ่ม',
     // 'There is no user available.' => '',
     'Do you really want to remove the user "%s" from the group "%s"?' => 'คุณต้องการลบผู้ใช้ "%s" ออกจากกลุ่ม "%s"?',
     'There is no group.' => 'ไม่มีกลุ่ม',
@@ -968,13 +941,10 @@ return array(
     'Enter group name...' => 'พิมพ์ชื่อกลุ่ม...',
     'Role:' => 'บทบาท:',
     'Project members' => 'สมาชิกโปรเจค',
-    'Compare hours for "%s"' => 'เปรียบเทียบรายชั่วโมงสำหรับ %s',
     '%s mentioned you in the task #%d' => '%s กล่าวถึงคุณในงาน #%d',
     '%s mentioned you in a comment on the task #%d' => '%s กล่าวถึงคุณในความคิดเห็นของงาน #%d',
     'You were mentioned in the task #%d' => 'คุณได้รับการกล่าวถึงในงาน #%d',
     'You were mentioned in a comment on the task #%d' => 'คุณได้รับการกล่าวถึงในความคิดเห็นของงาน #%d',
-    'Mentioned' => 'กล่าวถึง',
-    'Compare Estimated Time vs Actual Time' => 'เปรียบเทียบเวลาโดยประมาณกับเวลาที่เกิดขึ้นจริง',
     'Estimated hours: ' => 'เวลาโดยประมาณ:',
     'Actual hours: ' => 'เวลาที่เกิดขึ้นจริง:',
     'Hours Spent' => 'เวลาที่ใช้',
@@ -1232,4 +1202,16 @@ return array(
     // 'Internal link removed for the task #%d' => '',
     // '%s set a new internal link for the task %s' => '',
     // '%s removed an internal link for the task %s' => '',
+    // 'Automatically set the due date on task creation' => '',
+    // 'Move the task to another column when closed' => '',
+    // 'Move the task to another column when not moved during a given period' => '',
+    // 'Dashboard for %s' => '',
+    // 'Tasks overview for %s' => '',
+    // 'Subtasks overview for %s' => '',
+    // 'Projects overview for %s' => '',
+    // 'Activity stream for %s' => '',
+    // 'Calendar for %s' => '',
+    // 'Notifications for %s' => '',
+    // 'Subtasks export' => '',
+    // 'Tasks exportation' => '',
 );
diff --git a/app/Locale/tr_TR/translations.php b/app/Locale/tr_TR/translations.php
index aa59f7e7..69642b58 100644
--- a/app/Locale/tr_TR/translations.php
+++ b/app/Locale/tr_TR/translations.php
@@ -299,7 +299,6 @@ return array(
     'Display another project' => 'Başka bir proje göster',
     'Created by %s' => '%s tarafından oluşturuldu',
     'Tasks Export' => 'Görevleri dışa aktar',
-    'Tasks exportation for "%s"' => '"%s" için görevleri dışa aktar',
     'Start Date' => 'Başlangıç tarihi',
     'End Date' => 'Bitiş tarihi',
     'Execute' => 'Gerçekleştir',
@@ -322,14 +321,9 @@ return array(
     'New sub-task' => 'Yeni alt görev',
     'New attachment added "%s"' => 'Yeni dosya "%s" eklendi.',
     'New comment posted by %s' => '%s tarafından yeni yorum eklendi',
-    'New attachment' => 'Yeni dosya eki',
     'New comment' => 'Yeni yorum',
     'Comment updated' => 'Yorum güncellendi',
     'New subtask' => 'Yeni alt görev',
-    'Subtask updated' => 'Alt görev güncellendi',
-    'Task updated' => 'Görev güncellendi',
-    'Task closed' => 'Görev kapatıldı',
-    'Task opened' => 'Görev açıldı',
     'I want to receive notifications only for those projects:' => 'Yalnızca bu projelerle ilgili bildirim almak istiyorum:',
     'view the task on Kanboard' => 'bu görevi Kanboard üzerinde göster',
     'Public access' => 'Dışa açık erişim',
@@ -387,8 +381,6 @@ return array(
     '%s created the task #%d' => '%s kullanıcısı #%d nolu görevi oluşturdu',
     '%s closed the task #%d' => '%s kullanıcısı #%d nolu görevi kapattı',
     '%s opened the task #%d' => '%s kullanıcısı #%d nolu görevi açtı',
-    '%s moved the task #%d to the column "%s"' => '%s kullanıcısı #%d nolu görevi "%s" sütununa taşıdı',
-    '%s moved the task #%d to the position %d in the column "%s"' => '%s kullanıcısı #%d nolu görevi %d pozisyonu "%s" sütununa taşıdı',
     'Activity' => 'Aktivite',
     'Default values are "%s"' => 'Varsayılan değerler "%s"',
     'Default columns for new projects (Comma-separated)' => 'Yeni projeler için varsayılan sütunlar (virgül ile ayrılmış)',
@@ -442,13 +434,10 @@ return array(
     'Percentage' => 'Yüzde',
     'Number of tasks' => 'Görev sayısı',
     'Task distribution' => 'Görev dağılımı',
-    'Reportings' => 'Raporlar',
-    'Task repartition for "%s"' => '"%s" için görev dağılımı',
     'Analytics' => 'Analiz',
     'Subtask' => 'Alt görev',
     'My subtasks' => 'Alt görevlerim',
     'User repartition' => 'Kullanıcı dağılımı',
-    'User repartition for "%s"' => '"%s" için kullanıcı dağılımı',
     'Clone this project' => 'Projenin kopyasını oluştur',
     'Column removed successfully.' => 'Sütun başarıyla kaldırıldı.',
     'Not enough data to show the graph.' => 'Grafik gösterimi için yeterli veri yok.',
@@ -465,10 +454,8 @@ return array(
     'This value must be numeric' => 'Bu değer sayı olmalı',
     'Unable to create this task.' => 'Bu görev oluşturulamıyor.',
     'Cumulative flow diagram' => 'Kümülatif akış diyagramı',
-    'Cumulative flow diagram for "%s"' => '"%s" için kümülatif akış diyagramı',
     'Daily project summary' => 'Günlük proje özeti',
     'Daily project summary export' => 'Günlük proje özetini dışa aktar',
-    'Daily project summary export for "%s"' => '"%s" için günlük proje özetinin dışa',
     'Exports' => 'Dışa aktarımlar',
     'This export contains the number of tasks per column grouped per day.' => 'Bu dışa aktarım günlük gruplanmış olarak her sütundaki görev sayısını içerir.',
     'Active swimlanes' => 'Aktif Kulvar',
@@ -494,7 +481,6 @@ return array(
     'Subtask Id' => 'Alt görev No:',
     'Subtasks' => 'Alt görevler',
     'Subtasks Export' => 'Alt görevleri dışa aktar',
-    'Subtasks exportation for "%s"' => '"%s" için alt görevleri dışa aktarımı',
     'Task Title' => 'Görev Başlığı',
     'Untitled' => 'Başlıksız',
     'Application default' => 'Uygulama varsayılanları',
@@ -615,7 +601,6 @@ return array(
     'Test your device' => 'Cihazınızı test edin',
     'Assign a color when the task is moved to a specific column' => 'Görev belirli bir sütuna taşındığında rengini değiştir',
     '%s via Kanboard' => '%s Kanboard ile',
-    'Burndown chart for "%s"' => '%s icin kalan iş grafiği',
     'Burndown chart' => 'Kalan iş grafiği',
     'This chart show the task complexity over the time (Work Remaining).' => 'Bu grafik zorluk seviyesini zamana göre gösterir (kalan iş)',
     'Screenshot taken %s' => 'Ekran görüntüsü alındı %s',
@@ -680,14 +665,8 @@ return array(
     'Move the task to another column when the category is changed' => 'Kategori değiştirildiğinde görevi başka sütuna taşı',
     'Send a task by email to someone' => 'Bir görevi email ile birine gönder',
     'Reopen a task' => 'Bir görevi tekrar aç',
-    'Column change' => 'Sütun değişikliği',
-    'Position change' => 'Konum değişikliği',
-    'Swimlane change' => 'Kulvar değişikliği',
-    'Assignee change' => 'Atanan değişikliği',
-    '[%s] Overdue tasks' => '[%s] Gecikmiş görevler',
     'Notification' => 'Uyarılar',
     '%s moved the task #%d to the first swimlane' => '%s, #%d görevini birinci kulvara taşıdı',
-    '%s moved the task #%d to the swimlane "%s"' => '%s, #%d görevini "%s" kulvarına taşıdı',
     'Swimlane' => 'Kulvar',
     'Gravatar' => 'Gravatar',
     '%s moved the task %s to the first swimlane' => '%s, %s görevini ilk kulvara taşıdı',
@@ -758,8 +737,6 @@ return array(
     'Search by category: ' => 'Kategoriye göre ara',
     'Search by description: ' => 'Açıklamaya göre ara',
     'Search by due date: ' => 'Tamamlanma tarihine göre ara',
-    'Lead and Cycle time for "%s"' => '"%s" için teslim ve çevrim süresi',
-    'Average time spent into each column for "%s"' => '"%s" için her bir sütunda geçirilen ortalama zaman',
     'Average time spent into each column' => 'Her bir sütunda geçirilen ortalama zaman',
     'Average time spent' => 'Harcanan ortalama zaman',
     'This chart show the average time spent into each column for the last %d tasks.' => 'Bu grafik son %d görev için  her bir sütunda geçirilen ortalama zamanı gösterir.',
@@ -800,7 +777,6 @@ return array(
     'License:' => 'Lisans:',
     'License' => 'Lisans',
     'Enter the text below' => 'Aşağıdaki metni girin',
-    'Gantt chart for %s' => '%s için Gantt diyagramı',
     'Sort by position' => 'Pozisyona göre sırala',
     'Sort by date' => 'Tarihe göre sırala',
     'Add task' => 'Görev ekle',
@@ -841,8 +817,6 @@ return array(
     'Version' => 'Versiyon',
     'Plugins' => 'Eklentiler',
     'There is no plugin loaded.' => 'Yüklenmiş bir eklendi yok',
-    'Set maximum column height' => 'Maksimum sütun yüksekliğini belirle',
-    'Remove maximum column height' => 'Maksimum sütun yüksekliğini iptal et',
     'My notifications' => 'Bildirimlerim',
     'Custom filters' => 'Özel filtreler',
     'Your custom filter have been created successfully.' => 'Özel filtreleriniz başarıyla oluşturuldu.',
@@ -947,7 +921,6 @@ return array(
     'Invalid captcha' => 'Geçersiz captcha',
     'The name must be unique' => 'İsim tekil olmalı',
     'View all groups' => 'Tüm grupları görüntüle',
-    'View group members' => 'Grup üyelerini görüntüle',
     'There is no user available.' => 'Uygun üye yok',
     'Do you really want to remove the user "%s" from the group "%s"?' => '"%s" kullanıcısını "%s" grubundan çıkarmak istediğinize emin misiniz?',
     'There is no group.' => 'Hiç grup yok.',
@@ -968,13 +941,10 @@ return array(
     'Enter group name...' => 'Grup adını girin...',
     'Role:' => 'Rol:',
     'Project members' => 'Proje üyeleri',
-    'Compare hours for "%s"' => '"%s" için saatleri karşılaştır',
     '%s mentioned you in the task #%d' => '%s sizden #%d görevinde bahsetti',
     '%s mentioned you in a comment on the task #%d' => '%s sizden #%d görevindeki bir yorumda bahsetti',
     'You were mentioned in the task #%d' => '#%d görevinde sizden bahsedildi',
     'You were mentioned in a comment on the task #%d' => '#%d görevindeki bir yorumda sizden bahsedildi',
-    'Mentioned' => 'Bahsedilmiş',
-    'Compare Estimated Time vs Actual Time' => 'Tahmini süre ile gerçekleşen süreyi karşılaştır',
     'Estimated hours: ' => 'Tahmini saat:',
     'Actual hours: ' => 'Gerçekleşen saat:',
     'Hours Spent' => 'Harcanan saat',
@@ -1232,4 +1202,16 @@ return array(
     // 'Internal link removed for the task #%d' => '',
     // '%s set a new internal link for the task %s' => '',
     // '%s removed an internal link for the task %s' => '',
+    // 'Automatically set the due date on task creation' => '',
+    // 'Move the task to another column when closed' => '',
+    // 'Move the task to another column when not moved during a given period' => '',
+    // 'Dashboard for %s' => '',
+    // 'Tasks overview for %s' => '',
+    // 'Subtasks overview for %s' => '',
+    // 'Projects overview for %s' => '',
+    // 'Activity stream for %s' => '',
+    // 'Calendar for %s' => '',
+    // 'Notifications for %s' => '',
+    // 'Subtasks export' => '',
+    // 'Tasks exportation' => '',
 );
diff --git a/app/Locale/zh_CN/translations.php b/app/Locale/zh_CN/translations.php
index 99d07561..a4adece7 100644
--- a/app/Locale/zh_CN/translations.php
+++ b/app/Locale/zh_CN/translations.php
@@ -299,7 +299,6 @@ return array(
     'Display another project' => '显示其它项目',
     'Created by %s' => '创建者:%s',
     'Tasks Export' => '任务导出',
-    'Tasks exportation for "%s"' => '导出"%s"的任务',
     'Start Date' => '开始时间',
     'End Date' => '结束时间',
     'Execute' => '执行',
@@ -322,14 +321,9 @@ return array(
     'New sub-task' => '新建子任务',
     'New attachment added "%s"' => '新附件已添加"%s"',
     'New comment posted by %s' => '%s 的新评论',
-    'New attachment' => '新建附件',
     'New comment' => '新建评论',
     'Comment updated' => '更新了评论',
     'New subtask' => '新建子任务',
-    'Subtask updated' => '子任务更新',
-    'Task updated' => '任务更新',
-    'Task closed' => '任务关闭',
-    'Task opened' => '任务开启',
     'I want to receive notifications only for those projects:' => '我仅需要收到下面项目的通知:',
     'view the task on Kanboard' => '在看板中查看此任务',
     'Public access' => '公开访问',
@@ -387,8 +381,6 @@ return array(
     '%s created the task #%d' => '%s 创建了任务 #%d',
     '%s closed the task #%d' => '%s 关闭了任务 #%d',
     '%s opened the task #%d' => '%s 开启了任务 #%d',
-    '%s moved the task #%d to the column "%s"' => '%s 将任务 #%d 移动到栏目 "%s"',
-    '%s moved the task #%d to the position %d in the column "%s"' => '%s将任务#%d移动到"%s"的第 %d 列',
     'Activity' => '动态',
     'Default values are "%s"' => '默认值为 "%s"',
     'Default columns for new projects (Comma-separated)' => '新建项目的默认栏目(用逗号分开)',
@@ -442,13 +434,10 @@ return array(
     'Percentage' => '百分比',
     'Number of tasks' => '任务数',
     'Task distribution' => '任务分布',
-    'Reportings' => '报告',
-    'Task repartition for "%s"' => '"%s"的任务分析',
     'Analytics' => '分析',
     'Subtask' => '子任务',
     'My subtasks' => '我的子任务',
     'User repartition' => '用户分析',
-    'User repartition for "%s"' => '"%s"的用户分析',
     'Clone this project' => '复制此项目',
     'Column removed successfully.' => '成功删除了栏目。',
     'Not enough data to show the graph.' => '数据不足,无法绘图。',
@@ -465,10 +454,8 @@ return array(
     'This value must be numeric' => '这个值必须为数字',
     'Unable to create this task.' => '无法创建此任务。',
     'Cumulative flow diagram' => '累积流图表',
-    'Cumulative flow diagram for "%s"' => '"%s"的累积流图表',
     'Daily project summary' => '每日项目汇总',
     'Daily project summary export' => '导出每日项目汇总',
-    'Daily project summary export for "%s"' => '导出项目"%s"的每日汇总',
     'Exports' => '导出',
     'This export contains the number of tasks per column grouped per day.' => '此导出包含每列的任务数,按天分组',
     'Active swimlanes' => '活动里程碑',
@@ -494,7 +481,6 @@ return array(
     'Subtask Id' => '子任务 Id',
     'Subtasks' => '子任务',
     'Subtasks Export' => '子任务导出',
-    'Subtasks exportation for "%s"' => '导出"%s"的子任务',
     'Task Title' => '任务标题',
     'Untitled' => '无标题',
     'Application default' => '程序默认',
@@ -615,7 +601,6 @@ return array(
     'Test your device' => '测试设备',
     'Assign a color when the task is moved to a specific column' => '任务移动到指定栏目时设置颜色',
     '%s via Kanboard' => '%s 通过KanBoard',
-    'Burndown chart for "%s"' => '燃尽图:"%s"',
     'Burndown chart' => '燃尽图',
     'This chart show the task complexity over the time (Work Remaining).' => '图表显示任务随时间(剩余时间)的复杂度',
     'Screenshot taken %s' => '已截图 %s',
@@ -680,14 +665,8 @@ return array(
     'Move the task to another column when the category is changed' => '当任务分类改变时移动到任务栏',
     'Send a task by email to someone' => '发送任务邮件到用户',
     'Reopen a task' => '重新开始一个任务',
-    'Column change' => '任务栏改变',
-    'Position change' => '位置改变',
-    'Swimlane change' => '里程碑改变',
-    'Assignee change' => '指派人改变',
-    '[%s] Overdue tasks' => '[%s] 超期任务',
     'Notification' => '通知',
     '%s moved the task #%d to the first swimlane' => '%s将任务#%d移动到了首个里程碑',
-    '%s moved the task #%d to the swimlane "%s"' => '%s将任务#%d移动到了里程碑"%s"下',
     'Swimlane' => '里程碑',
     'Gravatar' => 'Gravatar头像',
     '%s moved the task %s to the first swimlane' => '%s将任务%s移动到了首个里程碑',
@@ -758,8 +737,6 @@ return array(
     'Search by category: ' => '按分类:',
     'Search by description: ' => '按描述:',
     'Search by due date: ' => '按超期时间:',
-    // 'Lead and Cycle time for "%s"' => '',
-    'Average time spent into each column for "%s"' => '"%s"在每个任务栏下平均花费时间',
     'Average time spent into each column' => '每个任务栏平均花费时间',
     'Average time spent' => '平均花费时间',
     'This chart show the average time spent into each column for the last %d tasks.' => '当前柱状图表示最新%d条任务在每个任务栏下的平均花费时间',
@@ -800,7 +777,6 @@ return array(
     'License:' => '授权许可:',
     'License' => '授权许可',
     'Enter the text below' => '输入下方的文本',
-    'Gantt chart for %s' => '%s的甘特图',
     'Sort by position' => '按位置排序',
     'Sort by date' => '按日期排序',
     'Add task' => '添加任务',
@@ -841,8 +817,6 @@ return array(
     'Version' => '版本',
     'Plugins' => '插件',
     'There is no plugin loaded.' => '当前没有插件载入',
-    'Set maximum column height' => '设置任务栏最大高度',
-    'Remove maximum column height' => '移除任务栏最大高度',
     'My notifications' => '我的通知',
     'Custom filters' => '自定义过滤器',
     'Your custom filter have been created successfully.' => '成功创建过滤器',
@@ -947,7 +921,6 @@ return array(
     'Invalid captcha' => '验证码无效',
     'The name must be unique' => '请确保用户名唯一',
     'View all groups' => '查看所有用户组',
-    'View group members' => '查看该组所有用户',
     'There is no user available.' => '当前没有有效用户',
     'Do you really want to remove the user "%s" from the group "%s"?' => '你确定把用户"%s"从"%s"中移除?',
     'There is no group.' => '当前没有用户组',
@@ -968,13 +941,10 @@ return array(
     'Enter group name...' => '输入用户组名称...',
     'Role:' => '角色:',
     'Project members' => '项目成员',
-    'Compare hours for "%s"' => '比较"%s"的时间',
     '%s mentioned you in the task #%d' => '%s在任务#%d里提及你',
     '%s mentioned you in a comment on the task #%d' => '%s在任务#%d的评论里提及你',
     'You were mentioned in the task #%d' => '你在任务#%d里被提及',
     'You were mentioned in a comment on the task #%d' => '你在任务#%d的评论里被提及',
-    'Mentioned' => '被提及',
-    'Compare Estimated Time vs Actual Time' => '对比预估时间VS实际时间',
     'Estimated hours: ' => '预估小时数',
     'Actual hours: ' => '实际小时数',
     'Hours Spent' => '花费小时数',
@@ -1232,4 +1202,16 @@ return array(
     // 'Internal link removed for the task #%d' => '',
     // '%s set a new internal link for the task %s' => '',
     // '%s removed an internal link for the task %s' => '',
+    // 'Automatically set the due date on task creation' => '',
+    // 'Move the task to another column when closed' => '',
+    // 'Move the task to another column when not moved during a given period' => '',
+    // 'Dashboard for %s' => '',
+    // 'Tasks overview for %s' => '',
+    // 'Subtasks overview for %s' => '',
+    // 'Projects overview for %s' => '',
+    // 'Activity stream for %s' => '',
+    // 'Calendar for %s' => '',
+    // 'Notifications for %s' => '',
+    // 'Subtasks export' => '',
+    // 'Tasks exportation' => '',
 );
-- 
cgit v1.2.3