diff --git a/install/package.json b/install/package.json
index 3c76a6a6b9..deacbc651a 100644
--- a/install/package.json
+++ b/install/package.json
@@ -65,7 +65,7 @@
         "mubsub": "^1.4.0",
         "nconf": "^0.9.1",
         "nodebb-plugin-composer-default": "6.0.21",
-        "nodebb-plugin-dbsearch": "2.0.15",
+        "nodebb-plugin-dbsearch": "2.0.16",
         "nodebb-plugin-emoji": "^2.2.2",
         "nodebb-plugin-emoji-android": "2.0.0",
         "nodebb-plugin-markdown": "8.4.2",
diff --git a/public/language/en-GB/admin/settings/notifications.json b/public/language/en-GB/admin/settings/notifications.json
index da6c9680a3..03fa0ac66a 100644
--- a/public/language/en-GB/admin/settings/notifications.json
+++ b/public/language/en-GB/admin/settings/notifications.json
@@ -2,5 +2,6 @@
 	"notifications": "Notifications",
 	"welcome-notification": "Welcome Notification",
 	"welcome-notification-link": "Welcome Notification Link",
-	"welcome-notification-uid": "Welcome Notification User (UID)"
+	"welcome-notification-uid": "Welcome Notification User (UID)",
+	"notification-alert-timeout": "Notification Alert Timeout"
 }
\ No newline at end of file
diff --git a/public/language/he/admin/manage/users.json b/public/language/he/admin/manage/users.json
index 4163ec6926..dcd55998e8 100644
--- a/public/language/he/admin/manage/users.json
+++ b/public/language/he/admin/manage/users.json
@@ -30,18 +30,18 @@
 	"search.uid": "על פי זהות משתמש",
 	"search.uid-placeholder": "Enter a user ID to search",
 	"search.username": "על פי שם משתמש",
-	"search.username-placeholder": "Enter a username to search",
+	"search.username-placeholder": "הזן שם משתמש לחיפוש",
 	"search.email": "על פי דוא\"ל",
-	"search.email-placeholder": "Enter a email to search",
+	"search.email-placeholder": "הזן דואל לחיפוש",
 	"search.ip": "על פי כתובת IP",
-	"search.ip-placeholder": "Enter an IP Address to search",
+	"search.ip-placeholder": "הזן כתובת IP לחיפוש",
 	"search.not-found": "משתמש לא נמצא!",
 
 	"inactive.3-months": "3 חודשים",
 	"inactive.6-months": "6 חודשים",
 	"inactive.12-months": "12 חודשים",
 
-	"users.uid": "uid",
+	"users.uid": "מזהה משתמש",
 	"users.username": "שם משתמש",
 	"users.email": "דוא\"ל",
 	"users.postcount": "postcount",
@@ -58,12 +58,12 @@
 	"create.password-confirm": "אשר סיסמה",
 
 	"temp-ban.length": "Ban Length",
-	"temp-ban.reason": "Reason <span class=\"text-muted\">(Optional)</span>",
+	"temp-ban.reason": "סיבה <span class=\"text-muted\">(אופציונאלי)</span>",
 	"temp-ban.hours": "שעות",
 	"temp-ban.days": "ימים",
 	"temp-ban.explanation": "Enter the length of time for the ban. Note that a time of 0 will be a considered a permanent ban.",
 
-	"alerts.confirm-ban": "Do you really want to ban this user <strong>permanently</strong>?",
+	"alerts.confirm-ban": "האם אתה רוצה להרחיק משתמש זה <strong>לצמיתות</strong>?",
 	"alerts.confirm-ban-multi": "Do you really want to ban these users <strong>permanently</strong>?",
 	"alerts.ban-success": "User(s) banned!",
 	"alerts.button-ban-x": "Ban %1 user(s)",
@@ -71,29 +71,29 @@
 	"alerts.lockout-reset-success": "Lockout(s) reset!",
 	"alerts.flag-reset-success": "Flags(s) reset!",
 	"alerts.no-remove-yourself-admin": "You can't remove yourself as Administrator!",
-	"alerts.make-admin-success": "User is now administrator.",
-	"alerts.confirm-remove-admin": "Do you really want to remove this administrator?",
-	"alerts.remove-admin-success": "User is no longer administrator.",
-	"alerts.make-global-mod-success": "User is now global moderator.",
+	"alerts.make-admin-success": "המשתמש הנו מנהל עכשיו",
+	"alerts.confirm-remove-admin": "האם אתה בטוח רוצה להסיר את המנהל הזה?",
+	"alerts.remove-admin-success": "בוטלה הרשאת מנהל למשתמש",
+	"alerts.make-global-mod-success": "מעתה המשתמש הנו מנהל קבוצות כללי",
 	"alerts.confirm-remove-global-mod": "Do you really want to remove this global moderator?",
 	"alerts.remove-global-mod-success": "User is no longer global moderator.",
 	"alerts.make-moderator-success": "User is now moderator.",
 	"alerts.confirm-remove-moderator": "Do you really want to remove this moderator?",
 	"alerts.remove-moderator-success": "User is no longer moderator.",
-	"alerts.confirm-validate-email": "Do you want to validate email(s) of these user(s)?",
-	"alerts.validate-email-success": "Emails validated",
-	"alerts.password-reset-confirm": "Do you want to send password reset email(s) to these user(s)?",
+	"alerts.confirm-validate-email": "האם אתה רוצה לאמת דואל(ים) למשתמש(ים) האלה?",
+	"alerts.validate-email-success": "דואלים אומתו.",
+	"alerts.password-reset-confirm": "האם אתה רוצה לשלוח איפוס סיסמת דואל(ים) למשתמש(ים) האלה?",
 	"alerts.confirm-delete": "<b>אזהרה!</b><br/>האם אתה רוצה למחוק משתמש(ים)?<br/>פעולה זו אינה הפיכה! רק חשבון המשתמש יימחק, הפוסטים והנושאים שלו ישארו.",
-	"alerts.delete-success": "User(s) Deleted!",
-	"alerts.confirm-purge": "<b>Warning!</b><br/>Do you really want to delete user(s) and their content?<br/> This action is not reversable! All user data and content will be erased!",
-	"alerts.create": "Create User",
-	"alerts.button-create": "Create",
-	"alerts.button-cancel": "Cancel",
-	"alerts.error-passwords-different": "Passwords must match!",
-	"alerts.error-x": "<strong>Error</strong><p>%1</p>",
-	"alerts.create-success": "User created!",
+	"alerts.delete-success": "משתמש(ים) נמחק!",
+	"alerts.confirm-purge": "<b>אזהרה!</b><br/>האם אתה באמת רוצה למחוק משתמש(ים) ואת התוכן שלהם? פעולה זו בלתי הפיכה! כל המידע והתכנים של המשתמש ימחקו!",
+	"alerts.create": "צור משתמש",
+	"alerts.button-create": "צור",
+	"alerts.button-cancel": "בטל",
+	"alerts.error-passwords-different": "סיסמאות חייבות להיות שווה!",
+	"alerts.error-x": "<strong>טעות</strong><p>%1</p>",
+	"alerts.create-success": "נוצר משתמש!",
 
-	"alerts.prompt-email": "Email: ",
-	"alerts.email-sent-to": "An invitation email has been sent to %1",
+	"alerts.prompt-email": "דוא\"ל:",
+	"alerts.email-sent-to": "דואל הזמנה נשלח ל %1",
 	"alerts.x-users-found": "%1 user(s) found! Search took %2 ms."
 }
\ No newline at end of file
diff --git a/public/language/he/admin/settings/general.json b/public/language/he/admin/settings/general.json
index 4dd212aefb..42ea725ff3 100644
--- a/public/language/he/admin/settings/general.json
+++ b/public/language/he/admin/settings/general.json
@@ -1,8 +1,8 @@
 {
-	"site-settings": "Site Settings",
-	"title": "Site Title",
-	"title.url": "URL",
-	"title.url-placeholder": "The URL of the site title",
+	"site-settings": "הגדרות האתר",
+	"title": "כותרת האתר",
+	"title.url": "כתובת האתר",
+	"title.url-placeholder": "כתובת אתר זה",
 	"title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index.",
 	"title.name": "Your Community Name",
 	"title.show-in-header": "Show Site Title in Header",
diff --git a/public/language/he/email.json b/public/language/he/email.json
index 2fe5ec327d..635aa7cd5a 100644
--- a/public/language/he/email.json
+++ b/public/language/he/email.json
@@ -9,7 +9,7 @@
     "welcome.text3": "מנהל אישר את ההרשמה שלך.\nאתה יכול להתחבר עם השם משתמש והסיסמא שלך מעכשיו.",
     "welcome.cta": "לחץ כאן על מנת לאשר את כתובת המייל שלך.",
     "invitation.text1": "%1 הזמין אותך להצתרף ל%2",
-    "invitation.text2": "Your invitation will expire in %1 days.",
+    "invitation.text2": "ההזמנה של תפוג ב %1 ימים",
     "invitation.ctr": "לחץ כאן כדי ליצור את החשבון שלך.",
     "reset.text1": "קיבלנו בקשה לאפס את הסיסמה לחשבון שלך, כנראה מפני ששכחת אותה. אם לא ביקשת לאפס את הסיסמה, אנא התעלם ממייל זה.",
     "reset.text2": "על מנת להמשיך עם תהליך איפוס הסיסמה, אנא לחץ על הלינק הבא:",
diff --git a/public/language/he/user.json b/public/language/he/user.json
index f27098509a..56ec35951f 100644
--- a/public/language/he/user.json
+++ b/public/language/he/user.json
@@ -12,7 +12,7 @@
     "ban_account_confirm": "אתה בטוח שברצונך להרחיק את המשתמש הזה?",
     "unban_account": "בטל את הרחקת החשבון",
     "delete_account": "מחק חשבון",
-    "delete_account_confirm": "Are you sure you want to delete your account? <br /><strong>This action is irreversible and you will not be able to recover any of your data</strong><br /><br />Enter your password to confirm that you wish to destroy this account.",
+    "delete_account_confirm": "האם אתה בטוח שאתה רוצה למחוק את החשבון שלך? <br /><strong>הפעולה הזו היא בלתי הפיכה והמידע שלך לא יוכל להשתחזר</strong><br /><br />הזן את הסיסמה שלך לאשר שאתה רוצה למחוק חשבון זה.",
     "delete_this_account_confirm": "האם אתה בטוח שברצונך למחוק חשבון זה? <br /><strong> אפשרות זו לא ניתנת לביטול ולא תוכל לשחזר אף מידע </strong><br /><br />",
     "account-deleted": "החשבון נמחק",
     "fullname": "שם מלא",
diff --git a/public/language/pl/admin/manage/tags.json b/public/language/pl/admin/manage/tags.json
index 9820ae5739..3c8bea86d4 100644
--- a/public/language/pl/admin/manage/tags.json
+++ b/public/language/pl/admin/manage/tags.json
@@ -14,6 +14,6 @@
 
 	"alerts.editing-multiple": "Edycja wielu tagów",
 	"alerts.editing-x": "Edytowanie tagu \"%1\"",
-	"alerts.confirm-delete": "Czy na pewno chcesz skasować zaznaczone tagi?",
+	"alerts.confirm-delete": "Czy na pewno chcesz usunąć zaznaczone tagi?",
 	"alerts.update-success": "Zaktualizowano tag-a!"
 }
\ No newline at end of file
diff --git a/public/language/pl/error.json b/public/language/pl/error.json
index 5cc17e02c8..9890aa410f 100644
--- a/public/language/pl/error.json
+++ b/public/language/pl/error.json
@@ -65,7 +65,7 @@
     "cant-delete-topic-has-replies": "Nie możesz usunąć tematu zawierającego %1 odpowiedzi",
     "content-too-short": "Prosimy wpisać dłuższy post. Posty powinny zawierać co najmniej %1 znaków.",
     "content-too-long": "Prosimy wpisać krótszy post. Posty nie mogą zawierać więcej niż %1 znaków.",
-    "title-too-short": "Prosimy podać dłuższy tytuł. Tytuły powinny zawierać co najmniej %1 znaków.",
+    "title-too-short": "Wpisz dłuższy tytuł. Tytuły powinny liczyć co najmniej %1 znaków.",
     "title-too-long": "Prosimy podać krótszy tytuł. Tytuły nie mogą być dłuższe niż %1 znaków.",
     "category-not-selected": "Nie wybrano kategorii.",
     "too-many-posts": "Możesz publikować posty raz na %1 sekund – poczekaj, zanim dodasz kolejny post",
@@ -99,7 +99,7 @@
     "post-already-restored": "Ten post został już przywrócony",
     "topic-already-deleted": "Ten temat został już skasowany",
     "topic-already-restored": "Ten temat został już przywrócony",
-    "cant-purge-main-post": "Nie możesz wymazać głównego postu, zamiast tego usuń temat",
+    "cant-purge-main-post": "Nie możesz wymazać głównego posta, zamiast tego usuń temat",
     "topic-thumbnails-are-disabled": "Miniatury tematów są wyłączone.",
     "invalid-file": "Błędny plik",
     "uploads-are-disabled": "Przesyłanie plików jest wyłączone",
diff --git a/public/language/pl/pages.json b/public/language/pl/pages.json
index dc38ed53f7..75a88a4659 100644
--- a/public/language/pl/pages.json
+++ b/public/language/pl/pages.json
@@ -8,7 +8,7 @@
     "recent": "Ostatnie tematy",
     "top": "Tematy z najwyższą liczbą głosów",
     "moderator-tools": "Narzędzia dla moderatorów",
-    "flagged-content": "Treść oflagowanego posta",
+    "flagged-content": "Flagi",
     "ip-blacklist": "Czarna lista adresów IP",
     "post-queue": "Kolejka postów",
     "users/online": "Dostępni użytkownicy",
diff --git a/public/language/pl/tags.json b/public/language/pl/tags.json
index f5ad810ca2..bf08ecd799 100644
--- a/public/language/pl/tags.json
+++ b/public/language/pl/tags.json
@@ -1,7 +1,7 @@
 {
     "no_tag_topics": "Nie ma tematów z tym tagiem",
     "tags": "Tagi",
-    "enter_tags_here": "Wpisz tagi tutaj, każdy o długości %1 do %2 znaków.",
+    "enter_tags_here": "Wpisz tagi tutaj, każdy o długości od %1 do %2 znaków.",
     "enter_tags_here_short": "Wpisz tagi...",
     "no_tags": "Jeszcze nie ma tagów."
 }
\ No newline at end of file
diff --git a/public/language/pl/topic.json b/public/language/pl/topic.json
index e24c81a371..d878852919 100644
--- a/public/language/pl/topic.json
+++ b/public/language/pl/topic.json
@@ -33,7 +33,7 @@
     "copy-ip": "Kopiuj IP",
     "ban-ip": "Blokuj IP",
     "view-history": "Edytuj historię",
-    "bookmark_instructions": "Kliknij tutaj, by powrócić do ostatniego przeczytanego postu w tym temacie.",
+    "bookmark_instructions": "Kliknij tutaj, by powrócić do ostatniego przeczytanego posta w tym temacie.",
     "flag_title": "Zgłoś post do moderacji",
     "merged_message": "Ten temat został połączony z <a href=\"/topic/%1\">%2</a>",
     "deleted_message": "Ten temat został usunięty. Mogą go zobaczyć tylko użytkownicy upoważnieni do zarządzania tematami.",
@@ -84,7 +84,7 @@
     "confirm_fork": "Skopiuj",
     "bookmark": "Dodaj do zakładek",
     "bookmarks": "Zakładki",
-    "bookmarks.has_no_bookmarks": "Nie dodałeś jeszcze żadnego postu do zakładek.",
+    "bookmarks.has_no_bookmarks": "Nie dodałeś jeszcze żadnego posta do zakładek.",
     "loading_more_posts": "Załaduj więcej postów",
     "move_topic": "Przenieś temat",
     "move_topics": "Przenieś tematy",
diff --git a/public/src/modules/notifications.js b/public/src/modules/notifications.js
index 937f625738..4a5f86c625 100644
--- a/public/src/modules/notifications.js
+++ b/public/src/modules/notifications.js
@@ -75,7 +75,7 @@ define('notifications', ['sounds', 'translator', 'components', 'navigator', 'ben
 			var payload = {
 				alert_id: 'new_notif',
 				title: '[[notifications:new_notification]]',
-				timeout: 2000,
+				timeout: parseInt(config.notificationAlertTimeout, 10) || 5000,
 			};
 
 			if (notifData.path) {
diff --git a/src/controllers/api.js b/src/controllers/api.js
index ed8ad64700..b969b7be8a 100644
--- a/src/controllers/api.js
+++ b/src/controllers/api.js
@@ -62,6 +62,7 @@ apiController.loadConfig = function (req, callback) {
 	config.bootswatchSkin = meta.config.bootswatchSkin || 'noskin';
 	config.defaultBootswatchSkin = meta.config.bootswatchSkin || 'noskin';
 	config.enablePostHistory = parseInt(meta.config.enablePostHistory || 1, 10) === 1;
+	config.notificationAlertTimeout = parseInt(meta.config.notificationAlertTimeout, 10) || 5000;
 
 	if (config.useOutgoingLinksPage) {
 		config.outgoingLinksWhitelist = meta.config['outgoingLinks:whitelist'];
diff --git a/src/emailer.js b/src/emailer.js
index db49bdf0f8..184eb5d95b 100644
--- a/src/emailer.js
+++ b/src/emailer.js
@@ -212,12 +212,23 @@ Emailer.sendToEmail = function (template, email, language, params, callback) {
 
 	async.waterfall([
 		function (next) {
+			Plugins.fireHook('filter:email.params', {
+				template: template,
+				email: email,
+				language: lang,
+				params: params,
+			}, next);
+		},
+		function (result, next) {
+			template = result.template;
+			email = result.email;
+			params = result.params;
 			async.parallel({
 				html: function (next) {
-					Emailer.renderAndTranslate(template, params, lang, next);
+					Emailer.renderAndTranslate(template, params, result.language, next);
 				},
 				subject: function (next) {
-					translator.translate(params.subject, lang, function (translated) {
+					translator.translate(params.subject, result.language, function (translated) {
 						next(null, translated);
 					});
 				},
diff --git a/src/posts/cache.js b/src/posts/cache.js
index 9fce761490..28c58839e8 100644
--- a/src/posts/cache.js
+++ b/src/posts/cache.js
@@ -4,7 +4,7 @@ var LRU = require('lru-cache');
 var meta = require('../meta');
 
 var cache = LRU({
-	max: parseInt(meta.config.postCacheSize, 10) || 1048576,
+	max: parseInt(meta.config.postCacheSize, 10) || 5242880,
 	length: function (n) { return n.length; },
 	maxAge: 0,
 });
diff --git a/src/views/admin/manage/uploads.tpl b/src/views/admin/manage/uploads.tpl
index a18b233aa6..dbddede2ef 100644
--- a/src/views/admin/manage/uploads.tpl
+++ b/src/views/admin/manage/uploads.tpl
@@ -17,7 +17,7 @@
 			<tr data-path="{files.path}">
 				<!-- IF files.isDirectory -->
 				<td class="col-md-9" role="button">
-					<i class="fa fa-fw fa-folder-o"></i> <a href="{config.relative}/admin/manage/uploads?dir={files.path}">{files.name}</a>
+					<i class="fa fa-fw fa-folder-o"></i> <a href="{config.relative_path}/admin/manage/uploads?dir={files.path}">{files.name}</a>
 				</td>
 				<!-- ENDIF files.isDirectory -->
 
diff --git a/src/views/admin/settings/notifications.tpl b/src/views/admin/settings/notifications.tpl
index 3e68295699..1f1af27037 100644
--- a/src/views/admin/settings/notifications.tpl
+++ b/src/views/admin/settings/notifications.tpl
@@ -7,6 +7,8 @@
 			<strong>[[admin/settings/notifications:welcome-notification]]</strong><br /> <textarea class="form-control" data-field="welcomeNotification"></textarea><br />
 			<strong>[[admin/settings/notifications:welcome-notification-link]]</strong><br /> <input type="text" class="form-control" data-field="welcomeLink"><br />
 			<strong>[[admin/settings/notifications:welcome-notification-uid]]</strong><br /> <input type="text" class="form-control" data-field="welcomeUid"><br />
+
+			<strong>[[admin/settings/notifications:notification-alert-timeout]]</strong><br /> <input type="text" class="form-control" data-field="notificationAlertTimeout" placeholder="5000"><br />
 		</form>
 	</div>
 </div>