diff --git a/install/package.json b/install/package.json
index f49e523967..c151cc32f4 100644
--- a/install/package.json
+++ b/install/package.json
@@ -69,7 +69,7 @@
"nodebb-plugin-emoji": "^2.2.0",
"nodebb-plugin-emoji-android": "2.0.0",
"nodebb-plugin-markdown": "8.4.2",
- "nodebb-plugin-mentions": "2.2.5",
+ "nodebb-plugin-mentions": "2.2.6",
"nodebb-plugin-soundpack-default": "1.0.0",
"nodebb-plugin-spam-be-gone": "0.5.3",
"nodebb-rewards-essentials": "0.0.11",
diff --git a/public/language/he/admin/manage/users.json b/public/language/he/admin/manage/users.json
index 09db06961a..4163ec6926 100644
--- a/public/language/he/admin/manage/users.json
+++ b/public/language/he/admin/manage/users.json
@@ -83,7 +83,7 @@
"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-delete": "Warning!
Do you really want to delete user(s)?
This action is not reversable! Only the user account will be deleted, their posts and topics will remain.",
+ "alerts.confirm-delete": "אזהרה!
האם אתה רוצה למחוק משתמש(ים)?
פעולה זו אינה הפיכה! רק חשבון המשתמש יימחק, הפוסטים והנושאים שלו ישארו.",
"alerts.delete-success": "User(s) Deleted!",
"alerts.confirm-purge": "Warning!
Do you really want to delete user(s) and their content?
This action is not reversable! All user data and content will be erased!",
"alerts.create": "Create User",
diff --git a/public/language/he/notifications.json b/public/language/he/notifications.json
index 0634c4b13d..2956f24da3 100644
--- a/public/language/he/notifications.json
+++ b/public/language/he/notifications.json
@@ -47,10 +47,10 @@
"email-confirmed-message": "תודה שאישרת את כתובת המייל שלך. החשבון שלך פעיל כעת.",
"email-confirm-error-message": "אירעה שגיאה בעת אישור המייל שלך. ייתכן כי הקוד היה שגוי או פג תוקף.",
"email-confirm-sent": "מייל אישור נשלח.",
- "none": "None",
- "notification_only": "Notification Only",
- "email_only": "Email Only",
- "notification_and_email": "Notification & Email",
+ "none": "אף אחד",
+ "notification_only": "התראות בלבד",
+ "email_only": "דוא\"ל בלבד",
+ "notification_and_email": "התראות & דוא\"ל",
"notificationType_upvote": "When someone upvotes your post",
"notificationType_new-topic": "When someone you follow posts a topic",
"notificationType_new-reply": "When a new reply is posted in a topic you are watching",
diff --git a/public/language/he/search.json b/public/language/he/search.json
index 5aef738e34..bf75a40018 100644
--- a/public/language/he/search.json
+++ b/public/language/he/search.json
@@ -5,9 +5,9 @@
"in": "ב",
"titles": "כותרות",
"titles-posts": "כותרות ופוסטים",
- "match-words": "Match words",
- "all": "All",
- "any": "Any",
+ "match-words": "התאם מילים",
+ "all": "הכל",
+ "any": "כל",
"posted-by": "פורסם על-ידי",
"in-categories": "בקטגוריות",
"search-child-categories": "חפש בתת קטגוריות",
diff --git a/public/language/he/topic.json b/public/language/he/topic.json
index f063bdaedd..6646a22adb 100644
--- a/public/language/he/topic.json
+++ b/public/language/he/topic.json
@@ -38,7 +38,7 @@
"merged_message": "This topic has been merged into %2",
"deleted_message": "נושא זה נמחק. רק משתמשים עם ההרשאות המתאימות יכולים לצפות בו.",
"following_topic.message": "מעתה, תקבל הודעות כאשר מישהו יעלה פוסט לנושא זה.",
- "not_following_topic.message": "You will see this topic in the unread topics list, but you will not receive notifications when somebody posts to this topic.",
+ "not_following_topic.message": "תוכל לראות נושא זה ברשימת הנושאים שלא נקראו, אולם לא תוכל לקבל התראות כשמישהו יעלה פוסט על נושא זה.",
"ignoring_topic.message": "You will no longer see this topic in the unread topics list. You will be notified when you are mentioned or your post is up voted.",
"login_to_subscribe": "אנא הרשם או התחבר על-מנת לעקוב אחר נושא זה.",
"markAsUnreadForAll.success": "נושא זה סומן כלא נקרא לכולם.",
@@ -56,13 +56,13 @@
"not-watching.description": "Do not notify me of new replies.
Show topic in unread if category is not ignored.",
"ignoring.description": "Do not notify me of new replies.
Do not show topic in unread.",
"thread_tools.title": "כלי נושא",
- "thread_tools.markAsUnreadForAll": "Mark Unread For All",
+ "thread_tools.markAsUnreadForAll": "סמן לא נקרא לכולם",
"thread_tools.pin": "נעץ נושא",
"thread_tools.unpin": "הסר נעץ",
"thread_tools.lock": "נעל נושא",
"thread_tools.unlock": "הסר נעילה",
"thread_tools.move": "הזז נושא",
- "thread_tools.move-posts": "Move Posts",
+ "thread_tools.move-posts": "הזז פוסטים",
"thread_tools.move_all": "הזז הכל",
"thread_tools.select_category": "בחר קטגוריה",
"thread_tools.fork": "שכפל נושא",
@@ -73,8 +73,8 @@
"thread_tools.restore_confirm": "אתה בטוח שאתה רוצה לשחזר את הנושא הזה?",
"thread_tools.purge": "מחק נושא",
"thread_tools.purge_confirm": "אתה בטוח שאתה רוצה למחוק את הנושא הזה?",
- "thread_tools.merge_topics": "Merge Topics",
- "thread_tools.merge": "Merge",
+ "thread_tools.merge_topics": "מזג נושאים",
+ "thread_tools.merge": "מזג",
"topic_move_success": "נושא זה הועבר בהצלחה ל %1",
"post_delete_confirm": "אתה בטוח שאתה רוצה למחוק את הפוסט הזה?",
"post_restore_confirm": "אתה בטוח שאתה רוצה לשחזר את הפוסט הזה?",
@@ -96,8 +96,8 @@
"fork_pid_count": "%1 post(s) selected",
"fork_success": "הפוסט שוכפל בהצלחה! לחץ כאן על מנת לעבור לפוסט המשוכפל.",
"delete_posts_instruction": "לחץ על הפוסטים שברצונך למחוק",
- "merge_topics_instruction": "Click the topics you want to merge",
- "move_posts_instruction": "Click the posts you want to move",
+ "merge_topics_instruction": "לחץ על הנושאים שתרצה למזג",
+ "move_posts_instruction": "לחץ על הפוסטים שאתה רוצה להזיז",
"composer.title_placeholder": "הכנס את כותרת הנושא כאן...",
"composer.handle_placeholder": "שם",
"composer.discard": "ביטול",
diff --git a/public/language/pl/category.json b/public/language/pl/category.json
index 69bad7139c..482e42f43a 100644
--- a/public/language/pl/category.json
+++ b/public/language/pl/category.json
@@ -2,7 +2,7 @@
"category": "Kategoria",
"subcategories": "Podkategorie",
"new_topic_button": "Nowy temat",
- "guest-login-post": "Zaloguj się, aby zamieścić post.",
+ "guest-login-post": "Zaloguj się, aby napisać post",
"no_topics": "W tej kategorii nie ma jeszcze żadnych tematów.
Może pora na napisanie pierwszego?",
"browsing": "przegląda",
"no_replies": "Nikt jeszcze nie odpowiedział",
@@ -14,7 +14,7 @@
"ignoring": "Ignorowane",
"watching.description": "Pokazuj tematy w nieprzeczytanych",
"ignoring.description": "Nie pokazuj tematów w nieprzeczytanych",
- "watch.message": "Włączyłeś powiadomienia dla tej kategorii oraz wszystkich podkategorii.",
- "ignore.message": "Wyłączyłeś powiadomienia dla tej kategorii oraz wszystkich podkategorii.",
+ "watch.message": "Od teraz obserwujesz tę kategorię i wszystkie podkategorie.",
+ "ignore.message": "Od teraz ignorujesz tę kategorię i wszystkie podkategorie.",
"watched-categories": "Obserwowane kategorie"
}
\ No newline at end of file
diff --git a/public/language/pl/notifications.json b/public/language/pl/notifications.json
index 563cdb5105..6b2152e1a1 100644
--- a/public/language/pl/notifications.json
+++ b/public/language/pl/notifications.json
@@ -26,7 +26,7 @@
"upvoted_your_post_in_multiple": "%1 oraz %2 innych zagłosowali na Twój post w %3.",
"moved_your_post": "%1 przeniósł Twój post do %2",
"moved_your_topic": "%1 przeniósł %2",
- "user_flagged_post_in": "%1 oflagował Twój post w %2",
+ "user_flagged_post_in": "%1 oflagował post w %2",
"user_flagged_post_in_dual": "%1 oraz %2 oflagowali post w %3",
"user_flagged_post_in_multiple": "%1 oraz %2 innych oflagowali post w %3",
"user_flagged_user": "%1 oflagował profil użytkownika (%2)",
diff --git a/public/language/pl/pages.json b/public/language/pl/pages.json
index ffea0286d7..dc38ed53f7 100644
--- a/public/language/pl/pages.json
+++ b/public/language/pl/pages.json
@@ -16,7 +16,7 @@
"users/sort-posts": "Użytkownicy z największą liczbą postów",
"users/sort-reputation": "Użytkownicy z najwyższą reputacją",
"users/banned": "Zbanowani użytkownicy",
- "users/most-flags": "Najczęściej oznaczani użytkownicy",
+ "users/most-flags": "Użytkownicy z najwyższą liczbą flag",
"users/search": "Wyszukiwanie użytkownków",
"notifications": "Powiadomienia",
"tags": "Tagi",
diff --git a/public/language/pl/register.json b/public/language/pl/register.json
index 4f20a4a4db..4600d151ce 100644
--- a/public/language/pl/register.json
+++ b/public/language/pl/register.json
@@ -1,8 +1,8 @@
{
"register": "Rejestracja",
"cancel_registration": "Anuluj rejestrację",
- "help.email": "Domyślnie twój adres e-mail będzie ukryty.",
- "help.username_restrictions": "Unikalna nazwa użytkownika z min. %1 i maks. %2 znaków. Inni użytkownicy mogą Ciebie zawołać, pisząc @nazwa użytkownika.",
+ "help.email": "Domyślnie Twój adres e-mail będzie ukryty.",
+ "help.username_restrictions": "Unikalna nazwa użytkownika licząca od %1 do %2 znaków. Inni użytkownicy mogą Cię zawołać, pisząc @nazwa użytkownika.",
"help.minimum_password_length": "Hasło musi mieć co najmniej %1 znaków.",
"email_address": "Adres e-mail",
"email_address_placeholder": "Wpisz swój adres e-mail",
@@ -16,8 +16,8 @@
"alternative_registration": "Alternatywna rejestracja",
"terms_of_use": "Warunki korzystania z serwisu",
"agree_to_terms_of_use": "Zgadzam się na powyższe warunki",
- "terms_of_use_error": "Musisz zaakceptować Terms of Use",
- "registration-added-to-queue": "Twoja rejestracja została dodana do kolejki oczekujących na akceptację. Otrzymasz email, kiedy zostanie zatwierdzona przez administratora.",
- "interstitial.intro": "Potrzebujemy dodatkowych informacji, zanim przejdziemy dalej do utworzenia twojego konta.",
+ "terms_of_use_error": "Musisz zaakceptować warunki korzystania z serwisu",
+ "registration-added-to-queue": "Twoja rejestracja została dodana do kolejki oczekujących na akceptację. Otrzymasz e-mail, kiedy zostanie zatwierdzona przez administratora.",
+ "interstitial.intro": "Do utworzenia Twojego konta potrzebne są dodatkowe informacje.",
"interstitial.errors-found": "Nie mogliśmy ukończyć procesu rejestracji:"
}
\ No newline at end of file
diff --git a/public/language/pl/uploads.json b/public/language/pl/uploads.json
index 8049542494..67074d6402 100644
--- a/public/language/pl/uploads.json
+++ b/public/language/pl/uploads.json
@@ -1,6 +1,6 @@
{
"uploading-file": "Wysyłanie pliku...",
"select-file-to-upload": "Zaznacz plik do wysłania!",
- "upload-success": "Pomyślnie wysłano plik!",
- "maximum-file-size": "Maksymalna wielkość %1 kb"
+ "upload-success": "Plik został wysłany!",
+ "maximum-file-size": "Maksymalnie %1 kb"
}
\ No newline at end of file
diff --git a/public/language/pl/users.json b/public/language/pl/users.json
index 3ac1335a39..960f3921e0 100644
--- a/public/language/pl/users.json
+++ b/public/language/pl/users.json
@@ -4,13 +4,13 @@
"most_reputation": "Najlepsza reputacja",
"most_flags": "Najwięcej flag",
"search": "Szukaj",
- "enter_username": "Wpisz wyszukiwaną nazwę użytkownika",
- "load_more": "Wczytaj Więcej",
+ "enter_username": "Wpisz nazwę użytkownika",
+ "load_more": "Wczytaj więcej",
"users-found-search-took": "Znaleziono %1 użytkownika(-ów). Szukanie zajęło %2 sek.",
"filter-by": "Filtruj",
- "online-only": "Tylko dostępny",
+ "online-only": "Tylko online",
"invite": "Zaproś",
- "invitation-email-sent": "Email z zaproszeniem został wysłany do %1",
+ "invitation-email-sent": "E-mail z zaproszeniem został wysłany do %1",
"user_list": "Lista użytkowników",
"recent_topics": "Ostatnie tematy",
"popular_topics": "Popularne tematy",
diff --git a/public/src/admin/manage/category.js b/public/src/admin/manage/category.js
index fb4ae062b8..7f14e02d5c 100644
--- a/public/src/admin/manage/category.js
+++ b/public/src/admin/manage/category.js
@@ -7,7 +7,8 @@ define('admin/manage/category', [
'autocomplete',
'translator',
'categorySelector',
-], function (uploader, iconSelect, colorpicker, autocomplete, translator, categorySelector) {
+ 'benchpress',
+], function (uploader, iconSelect, colorpicker, autocomplete, translator, categorySelector, Benchpress) {
var Category = {};
var modified_categories = {};
@@ -80,19 +81,53 @@ define('admin/manage/category', [
$('.purge').on('click', function (e) {
e.preventDefault();
- bootbox.confirm(translator.compile(
- 'admin/manage/categories:alert.confirm-purge',
- $('form.category').find('input[data-name="name"]').val()
- ), function (confirm) {
- if (!confirm) {
- return;
- }
- socket.emit('admin.categories.purge', ajaxify.data.category.cid, function (err) {
- if (err) {
- return app.alertError(err.message);
- }
- app.alertSuccess('[[admin/manage/categories:alert.purge-success]]');
- ajaxify.go('admin/manage/categories');
+ Benchpress.parse('admin/partials/categories/purge', {
+ name: ajaxify.data.category.name,
+ topic_count: ajaxify.data.category.topic_count,
+ }, function (html) {
+ var modal = bootbox.dialog({
+ title: '[[admin/manage/categories:purge]]',
+ message: html,
+ size: 'large',
+ buttons: {
+ save: {
+ label: '[[modules:bootbox.confirm]]',
+ className: 'btn-primary',
+ callback: function () {
+ modal.find('.modal-footer button').prop('disabled', true);
+
+ var intervalId = setInterval(function () {
+ socket.emit('categories.getTopicCount', ajaxify.data.category.cid, function (err, count) {
+ if (err) {
+ return app.alertError(err);
+ }
+
+ var percent = 0;
+ if (ajaxify.data.category.topic_count > 0) {
+ percent = Math.max(0, (1 - (count / ajaxify.data.category.topic_count))) * 100;
+ }
+
+ modal.find('.progress-bar').css({ width: percent + '%' });
+ });
+ }, 1000);
+
+ socket.emit('admin.categories.purge', ajaxify.data.category.cid, function (err) {
+ if (err) {
+ return app.alertError(err.message);
+ }
+
+ if (intervalId) {
+ clearInterval(intervalId);
+ }
+ modal.modal('hide');
+ app.alertSuccess('[[admin/manage/categories:alert.purge-success]]');
+ ajaxify.go('admin/manage/categories');
+ });
+
+ return false;
+ },
+ },
+ },
});
});
});
diff --git a/src/views/admin/partials/categories/purge.tpl b/src/views/admin/partials/categories/purge.tpl
new file mode 100644
index 0000000000..c20b70a0ab
--- /dev/null
+++ b/src/views/admin/partials/categories/purge.tpl
@@ -0,0 +1,8 @@
+
\ No newline at end of file