diff --git a/install/package.json b/install/package.json
index e538be5245..6914632339 100644
--- a/install/package.json
+++ b/install/package.json
@@ -151,10 +151,10 @@
     },
     "devDependencies": {
         "@apidevtools/swagger-parser": "10.0.2",
-        "@commitlint/cli": "11.0.0",
-        "@commitlint/config-angular": "11.0.0",
+        "@commitlint/cli": "12.0.1",
+        "@commitlint/config-angular": "12.0.1",
         "coveralls": "3.1.0",
-        "eslint": "7.20.0",
+        "eslint": "7.21.0",
         "eslint-config-airbnb-base": "14.2.1",
         "eslint-plugin-import": "2.22.1",
         "grunt": "1.3.0",
diff --git a/public/language/de/admin/dashboard.json b/public/language/de/admin/dashboard.json
index 2e2aa8f86d..e494a64818 100644
--- a/public/language/de/admin/dashboard.json
+++ b/public/language/de/admin/dashboard.json
@@ -2,7 +2,7 @@
 	"forum-traffic": "Forum Traffic",
 	"page-views": "Seitenaufrufe",
 	"unique-visitors": "Individuelle Besucher",
-	"logins": "Logins",
+	"logins": "Anmeldungen",
 	"new-users": "Neue nutzende Person",
 	"posts": "Beiträge",
 	"topics": "Themen",
@@ -15,12 +15,12 @@
 	"page-views-custom-help": "Gib eine Zeitspanne an, in dem du die Besichtigungszahlen ansehen willst. Sollte keine Kalenderauswahl verfügbar sein ist das akzeptierte format <code>YYYY-MM-DD</code>",
 	"page-views-custom-error": "Bitte gib eine gültige Zeitspanne im Format <code>YYYY-MM-DD</code> an",
 
-	"stats.yesterday": "Yesterday",
-	"stats.today": "Today",
-	"stats.last-week": "Last Week",
-	"stats.this-week": "This Week",
-	"stats.last-month": "Last Month",
-	"stats.this-month": "This Month",
+	"stats.yesterday": "Gestern",
+	"stats.today": "Heute",
+	"stats.last-week": "Letzte Woche",
+	"stats.this-week": "Diese Woche",
+	"stats.last-month": "Letzter Monat",
+	"stats.this-month": "Dieser Monat",
 	"stats.all": "Alle",
 
 	"updates": "Updates",
@@ -78,10 +78,10 @@
 	"last-restarted-by": "Zuletzt Neugestartet von: ",
 	"no-users-browsing": "Keine aktiven Benutzer",
 
-	"back-to-dashboard": "Back to Dashboard",
-	"details.no-users": "No users have joined within the selected timeframe",
-	"details.no-topics": "No topics have been posted within the selected timeframe",
-	"details.no-logins": "No logins have been recorded within the selected timeframe",
-	"details.logins-static": "NodeBB only saves session data for %1 days, and so this table below will only show the most recently active sessions",
-	"details.logins-login-time": "Login Time"
+	"back-to-dashboard": "Zurück zur Übersicht",
+	"details.no-users": "Keine Benutzer sind im gewählten Zeitraum beigetreten",
+	"details.no-topics": "Keine Themen wurden im gewählten Zeitraum beigetreten",
+	"details.no-logins": "Keine Logins wurden im gewählten Zeitraum festgestellt",
+	"details.logins-static": "NodeBB speichert Sitzungsdaten nur für %1 Tage, deshalb zeigt die untere Tabelle nur die neuesten, aktiven Sitzungen",
+	"details.logins-login-time": "Anmelde Zeit"
 }
diff --git a/public/language/de/admin/manage/privileges.json b/public/language/de/admin/manage/privileges.json
index c771cd2ded..ee80cfe977 100644
--- a/public/language/de/admin/manage/privileges.json
+++ b/public/language/de/admin/manage/privileges.json
@@ -1,16 +1,16 @@
 {
 	"global": "Global",
-	"admin": "Admin",
-	"group-privileges": "Group Privileges",
-	"user-privileges": "User Privileges",
-	"edit-privileges": "Edit Privileges",
-  	"select-clear-all": "Select/Clear All",
+	"admin": "Administrator",
+	"group-privileges": "Gruppen Rechte",
+	"user-privileges": "Benutzer Rechte",
+	"edit-privileges": "Rechte bearbeiten",
+  	"select-clear-all": "Alle Aus-/Abwählen",
 	"chat": "Chat",
 	"upload-images": "Bilder hochladen",
 	"upload-files": "Dateien hochladen",
 	"signature": "Signatur",
 	"ban": "Bannen",
-	"invite": "Invite",
+	"invite": "Einladen",
 	"search-content": "Inhalt durchsuchen",
 	"search-users": "Benutzersuche",
 	"search-tags": "Tags suchen",
@@ -19,7 +19,7 @@
 	"view-groups": "Gruppen ansehen",
 	"allow-local-login": "Lokaler Login",
 	"allow-group-creation": "Gruppen erstellen",
-	"view-users-info": "View Users Info",
+	"view-users-info": "Benutzerinfo anzeigen",
 	"find-category": "Kategorie finden",
 	"access-category": "Kategoriezutritt",
 	"access-topics": "Themenzutritt",
@@ -35,25 +35,25 @@
 	"delete-topics": "Themen entfernen",
 	"purge": "Endgültig löschen",
 	"moderate": "Moderieren",
-	"admin-dashboard": "Dashboard",
-	"admin-categories": "Categories",
-	"admin-privileges": "Privileges",
+	"admin-dashboard": "Übersicht",
+	"admin-categories": "Kategorien",
+	"admin-privileges": "Rechte",
 	"admin-users": "Nutzende Personen",
-	"admin-admins-mods": "Admins &amp; Mods",
-	"admin-groups": "Groups",
-	"admin-tags": "Tags",
+	"admin-admins-mods": "Administratoren & Moderatoren",
+	"admin-groups": "Gruppen",
+	"admin-tags": "Schlagworte",
 	"admin-settings": "Einstellungen",
 
-	"alert.confirm-moderate": "<strong>Are you sure you wish to grant the moderation privilege to this user group?</strong> This group is public, and any users can join at will.",
-	"alert.confirm-admins-mods": "<strong>Are you sure you wish to grant the &quot;Admins &amp; Mods&quot; privilege to this user/group?</strong> Users with this privilege are able to promote and demote other users into privileged positions, <em>including super administrator</em>",
-	"alert.confirm-save": "Please confirm your intention to save these privileges",
-	"alert.saved": "Privilege changes saved and applied",
-	"alert.confirm-discard": "Are you sure you wish to discard your privilege changes?",
-	"alert.discarded": "Privilege changes discarded",
-	"alert.confirm-copyToAll": "Are you sure you wish to apply this privilege set to <strong>all categories</strong>?",
-	"alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to <strong>all categories</strong>?",
-	"alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to <strong>all descendant (child) categories</strong>?",
-	"alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to <strong>all descendant (child) categories</strong>?",
-	"alert.no-undo": "<em>This action cannot be undone.</em>",
-	"alert.admin-warning": "Administrators implicitly get all privileges"
+	"alert.confirm-moderate": "<strong>Bist Du sicher, dass du dieser Gruppe das Moderationsrecht gewähren möchtest?</strong> Diese Gruppe ist öffentlich, und alle Benutzer können nach Belieben beitreten.",
+	"alert.confirm-admins-mods": "<strong>Bist Du sicher, dass du  \"Administrator & Moderator\" Rechte zu dieser Gruppe hinzufügen willst?</strong>Benutzer mit diesen Rechten können andere Benutzer in privilegierte Positionen heraufstufen und herabstufen, <em>super Administrator eingeschlossen!</em>",
+	"alert.confirm-save": "Bitte bestätige Deine Absicht, diese Rechte zu speichern",
+	"alert.saved": "Änderungen an Rechten gespeichert und angewendet",
+	"alert.confirm-discard": "Bist du sicher, dass du die Änderungen an den Rechten verwerfen möchtest?",
+	"alert.discarded": "Änderungen an Rechten verworfen",
+	"alert.confirm-copyToAll": "Bist Du sicher, dass Du diese Rechte auf <strong>alle Kategorien</strong> anwenden möchtest?",
+	"alert.confirm-copyToAllGroup": "Bist Du sicher, dass Du die Rechte dieser Gruppe auf <strong>alle Kategorien</strong> anwenden möchtest?",
+	"alert.confirm-copyToChildren": "Bist Du sicher, dass Du diese Rechte auf <strong>alle Unterkategorien</strong> anwenden möchtest?",
+	"alert.confirm-copyToChildrenGroup": "Bist Du sicher, dass Du die Rechte dieser Gruppe auf <strong>alle Unterkategorien</strong> anwenden möchtest?",
+	"alert.no-undo": "<em>Dieser Vorgang kann nicht rückgängig gemacht werden.</em>",
+	"alert.admin-warning": "Administratoren erhalten implizit alle Berechtigungen"
 }
\ No newline at end of file
diff --git a/public/language/fr/admin/dashboard.json b/public/language/fr/admin/dashboard.json
index a04e657c94..3c99af7def 100644
--- a/public/language/fr/admin/dashboard.json
+++ b/public/language/fr/admin/dashboard.json
@@ -78,7 +78,7 @@
 	"last-restarted-by": "Redémarré par",
 	"no-users-browsing": "Aucun utilisateur connecté",
 
-	"back-to-dashboard": "Back to Dashboard",
+	"back-to-dashboard": "Retour au Tableau de bord",
 	"details.no-users": "No users have joined within the selected timeframe",
 	"details.no-topics": "No topics have been posted within the selected timeframe",
 	"details.no-logins": "No logins have been recorded within the selected timeframe",
diff --git a/public/language/fr/admin/menu.json b/public/language/fr/admin/menu.json
index 4ace28038a..3cb96440ec 100644
--- a/public/language/fr/admin/menu.json
+++ b/public/language/fr/admin/menu.json
@@ -1,9 +1,9 @@
 {
-	"section-dashboard": "Dashboards",
-	"dashboard/overview": "Overview",
-	"dashboard/logins": "Logins",
-	"dashboard/users": "Users",
-	"dashboard/topics": "Topics",
+	"section-dashboard": "Tableau de bord",
+	"dashboard/overview": "Aperçu",
+	"dashboard/logins": "Connexions",
+	"dashboard/users": "Utilisateurs",
+	"dashboard/topics": "Sujets",
 	"section-general": "Général",
 
 	"section-manage": "Gestion",
diff --git a/public/language/it/admin/dashboard.json b/public/language/it/admin/dashboard.json
index ffc4d141ac..ec7e990f27 100644
--- a/public/language/it/admin/dashboard.json
+++ b/public/language/it/admin/dashboard.json
@@ -78,10 +78,10 @@
 	"last-restarted-by": "Ultimo riavvio di",
 	"no-users-browsing": "Nessun utente sta navigando",
 
-	"back-to-dashboard": "Back to Dashboard",
-	"details.no-users": "No users have joined within the selected timeframe",
-	"details.no-topics": "No topics have been posted within the selected timeframe",
-	"details.no-logins": "No logins have been recorded within the selected timeframe",
-	"details.logins-static": "NodeBB only saves session data for %1 days, and so this table below will only show the most recently active sessions",
-	"details.logins-login-time": "Login Time"
+	"back-to-dashboard": "Torna alla dashboard",
+	"details.no-users": "Nessun utente si è iscritto nell'arco di tempo selezionato",
+	"details.no-topics": "Nessuna discussione è stata postata nell'arco di tempo selezionato",
+	"details.no-logins": "Non sono stati registrati accessi nell'arco di tempo selezionato",
+	"details.logins-static": "NodeBB salva solo i dati di sessione per %1 giorni, quindi la tabella qui sotto mostrerà solo le sessioni attive più recenti",
+	"details.logins-login-time": "Tempo di accesso"
 }
diff --git a/public/language/it/admin/menu.json b/public/language/it/admin/menu.json
index e4462d2376..1148c9b67d 100644
--- a/public/language/it/admin/menu.json
+++ b/public/language/it/admin/menu.json
@@ -1,9 +1,9 @@
 {
-	"section-dashboard": "Dashboards",
-	"dashboard/overview": "Overview",
-	"dashboard/logins": "Logins",
-	"dashboard/users": "Users",
-	"dashboard/topics": "Topics",
+	"section-dashboard": "Dashboard",
+	"dashboard/overview": "Panoramica",
+	"dashboard/logins": "Accessi",
+	"dashboard/users": "Utenti",
+	"dashboard/topics": "Discussioni",
 	"section-general": "Generale",
 
 	"section-manage": "Gestisci",