diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000000..9550b2f8c1 --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,8 @@ +Please include the following information when submitting a bug report/issue: + +* [ ] NodeBB version and git hash (to find your git hash, execute `git rev-parse HEAD` from the main NodeBB directory) +* [ ] Exact steps to cause this issue +* [ ] What you expected +* [ ] What happened instead + +Thank you! \ No newline at end of file diff --git a/app.js b/app.js index 9c202470ad..1fd183757f 100644 --- a/app.js +++ b/app.js @@ -51,7 +51,7 @@ if (nconf.get('config')) { configFile = path.resolve(__dirname, nconf.get('config')); } -var configExists = file.existsSync(configFile); +var configExists = file.existsSync(configFile) || (nconf.get('url') && nconf.get('secret') && nconf.get('database')); loadConfig(); @@ -183,6 +183,7 @@ function start() { if (nconf.get('dep-check') === undefined || nconf.get('dep-check') !== false) { require('./src/meta').dependencies.check(next); } else { + winston.warn('[init] Dependency checking skipped!'); setImmediate(next); } }, diff --git a/package.json b/package.json index b11a6a562a..f8602cdda2 100644 --- a/package.json +++ b/package.json @@ -55,11 +55,11 @@ "nodebb-plugin-mentions": "1.1.2", "nodebb-plugin-soundpack-default": "0.1.6", "nodebb-plugin-spam-be-gone": "0.4.9", - "nodebb-rewards-essentials": "0.0.8", + "nodebb-rewards-essentials": "0.0.9", "nodebb-theme-lavender": "3.0.13", - "nodebb-theme-persona": "4.1.4", - "nodebb-theme-vanilla": "5.1.1", - "nodebb-widget-essentials": "2.0.9", + "nodebb-theme-persona": "4.1.7", + "nodebb-theme-vanilla": "5.1.3", + "nodebb-widget-essentials": "2.0.10", "nodemailer": "2.0.0", "nodemailer-sendmail-transport": "1.0.0", "nodemailer-smtp-transport": "^2.4.1", @@ -117,4 +117,4 @@ "url": "https://github.com/barisusakli" } ] -} \ No newline at end of file +} diff --git a/public/language/ar/error.json b/public/language/ar/error.json index b6c56ed829..18c5b611d8 100644 --- a/public/language/ar/error.json +++ b/public/language/ar/error.json @@ -30,6 +30,7 @@ "user-banned": "المستخدم محظور", "user-too-new": "عذرا, يجب أن تنتظر 1% ثواني قبل قيامك بأول مشاركة", "blacklisted-ip": "Sorry, your IP address has been banned from this community. If you feel this is in error, please contact an administrator.", + "ban-expiry-missing": "Please provide an end date for this ban", "no-category": "قائمة غير موجودة", "no-topic": "موضوع غير موجود", "no-post": "رد غير موجود", @@ -46,6 +47,13 @@ "post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting", "post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting", "post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting", + "post-delete-duration-expired": "You are only allowed to delete posts for %1 second(s) after posting", + "post-delete-duration-expired-minutes": "You are only allowed to delete posts for %1 minute(s) after posting", + "post-delete-duration-expired-minutes-seconds": "You are only allowed to delete posts for %1 minute(s) %2 second(s) after posting", + "post-delete-duration-expired-hours": "You are only allowed to delete posts for %1 hour(s) after posting", + "post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting", + "post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting", + "post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting", "content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).", "content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).", "title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).", @@ -68,6 +76,7 @@ "invalid-image-extension": "Invalid image extension", "invalid-file-type": "Invalid file type. Allowed types are: %1", "group-name-too-short": "اسم المجموعة قصير", + "group-name-too-long": "Group name too long", "group-already-exists": "المجموعة موجودة مسبقا", "group-name-change-not-allowed": "لايسمح بتغيير أسماء المجموعات", "group-already-member": "Already part of this group", @@ -109,5 +118,6 @@ "no-session-found": "No login session found!", "not-in-room": "User not in room", "no-users-in-room": "No users in this room", - "cant-kick-self": "You can't kick yourself from the group" + "cant-kick-self": "You can't kick yourself from the group", + "no-users-selected": "No user(s) selected" } \ No newline at end of file diff --git a/public/language/ar/pages.json b/public/language/ar/pages.json index 1f993db93d..56c759fb09 100644 --- a/public/language/ar/pages.json +++ b/public/language/ar/pages.json @@ -12,6 +12,7 @@ "users/sort-posts": "Users with the most posts", "users/sort-reputation": "Users with the most reputation", "users/banned": "Banned Users", + "users/most-flags": "Most flagged users", "users/search": "User Search", "notifications": "التنبيهات", "tags": "الكلمات الدلالية", diff --git a/public/language/ar/user.json b/public/language/ar/user.json index aa2745674c..50938b7178 100644 --- a/public/language/ar/user.json +++ b/public/language/ar/user.json @@ -95,8 +95,8 @@ "delay_image_loading": "Delay Image Loading", "image_load_delay_help": "If enabled, images in topics will not load until they are scrolled into view", "scroll_to_my_post": "After posting a reply, show the new post", - "follow_topics_you_reply_to": "متابعة المواضيع التي تقوم بالرد فيها", - "follow_topics_you_create": "متابعة المواضيع التي تنشئها", + "follow_topics_you_reply_to": "Watch topics that you reply to", + "follow_topics_you_create": "Watch topics you create", "grouptitle": "عنوان المجموعة", "no-group-title": "لا يوجد عنوان للمجموعة", "select-skin": "Select a Skin", diff --git a/public/language/ar/users.json b/public/language/ar/users.json index 24e7416521..11a71a9341 100644 --- a/public/language/ar/users.json +++ b/public/language/ar/users.json @@ -2,6 +2,7 @@ "latest_users": "أحدث الأعضاء", "top_posters": "اﻷكثر مشاركة", "most_reputation": "أعلى سمعة", + "most_flags": "Most Flags", "search": "بحث", "enter_username": "أدخل اسم مستخدم للبحث", "load_more": "حمل المزيد", diff --git a/public/language/bg/error.json b/public/language/bg/error.json index 4c1db12e35..3afb0b4e6d 100644 --- a/public/language/bg/error.json +++ b/public/language/bg/error.json @@ -30,6 +30,7 @@ "user-banned": "Потребителят е блокиран", "user-too-new": "Съжаляваме, но трябва да изчакате поне %1 секунда/и, преди да направите първата си публикация", "blacklisted-ip": "Съжаляваме, но Вашият IP адрес е забранен за ползване в тази общност. Ако смятате, че това е грешка, моля, свържете се с администратор.", + "ban-expiry-missing": "Моля, задайте крайна дата за това блокиране", "no-category": "Категорията не съществува", "no-topic": "Темата не съществува", "no-post": "Публикацията не съществува", @@ -46,6 +47,13 @@ "post-edit-duration-expired-hours-minutes": "Можете да редактирате публикациите си до %1 час(а) и %2 минута/и, след като ги пуснете", "post-edit-duration-expired-days": "Можете да редактирате публикациите си до %1 ден(а), след като ги пуснете", "post-edit-duration-expired-days-hours": "Можете да редактирате публикациите си до %1 ден(а) и %2 час(а), след като ги пуснете", + "post-delete-duration-expired": "Можете да изтривате публикациите си до %1 секунда/и, след като ги пуснете", + "post-delete-duration-expired-minutes": "Можете да изтривате публикациите си до %1 минута/и, след като ги пуснете", + "post-delete-duration-expired-minutes-seconds": "Можете да изтривате публикациите си до %1 минута/и и %2 секунда/и, след като ги пуснете", + "post-delete-duration-expired-hours": "Можете да изтривате публикациите си до %1 час(а), след като ги пуснете", + "post-delete-duration-expired-hours-minutes": "Можете да изтривате публикациите си до %1 час(а) и %2 минута/и, след като ги пуснете", + "post-delete-duration-expired-days": "Можете да изтривате публикациите си до %1 ден(а), след като ги пуснете", + "post-delete-duration-expired-days-hours": "Можете да изтривате публикациите си до %1 ден(а) и %2 час(а), след като ги пуснете", "content-too-short": "Моля, въведете по-дълъг текст на публикацията. Публикациите трябва да съдържат поне %1 символ(а).", "content-too-long": "Моля, въведете по-кратък текст на публикацията. Публикациите трябва да съдържат не повече от %1 символ(а).", "title-too-short": "Моля, въведете по-дълго заглавие. Заглавията трябва да съдържат поне %1 символ(а).", @@ -68,6 +76,7 @@ "invalid-image-extension": "Грешно разширение на изображението", "invalid-file-type": "Грешен тип на файл. Позволените типове са: %1", "group-name-too-short": "Името на групата е твърде кратко", + "group-name-too-long": "Името на групата е твърде дълго", "group-already-exists": "Вече съществува такава група", "group-name-change-not-allowed": "Промяната на името на групата не е разрешено", "group-already-member": "Потребителят вече членува в тази група", @@ -109,5 +118,6 @@ "no-session-found": "Не е открита сесия за вход!", "not-in-room": "Потребителят не е в стаята", "no-users-in-room": "Няма потребители в тази стая", - "cant-kick-self": "Не можете да изритате себе си от групата" + "cant-kick-self": "Не можете да изритате себе си от групата", + "no-users-selected": "Няма избран(и) потребител(и)" } \ No newline at end of file diff --git a/public/language/bg/pages.json b/public/language/bg/pages.json index 45e2861bdd..6ad263bdf2 100644 --- a/public/language/bg/pages.json +++ b/public/language/bg/pages.json @@ -12,6 +12,7 @@ "users/sort-posts": "Потребители с най-много публикации", "users/sort-reputation": "Потребители с най-висока репутация", "users/banned": "Блокирани потребители", + "users/most-flags": "Най-докладвани потребители", "users/search": "Търсене на потребители", "notifications": "Известия", "tags": "Етикети", diff --git a/public/language/bg/user.json b/public/language/bg/user.json index 89d096cb42..286380f71b 100644 --- a/public/language/bg/user.json +++ b/public/language/bg/user.json @@ -95,8 +95,8 @@ "delay_image_loading": "Отлагане на зареждането на изображения", "image_load_delay_help": "Ако е включено, изображенията в темите няма да бъдат зареждани, докато не превъртите страницата до тях", "scroll_to_my_post": "След публикуване на отговор, да се показва новата публикация", - "follow_topics_you_reply_to": "Следване на темите, на които отговаряте", - "follow_topics_you_create": "Следване на темите, които създавате", + "follow_topics_you_reply_to": "Наблюдаване на темите, в които отговаряте", + "follow_topics_you_create": "Наблюдаване на темите, които създавате", "grouptitle": "Заглавие на групата", "no-group-title": "Няма заглавие на група", "select-skin": "Изберете облик", diff --git a/public/language/bg/users.json b/public/language/bg/users.json index 3addffa9d9..39c4954aaa 100644 --- a/public/language/bg/users.json +++ b/public/language/bg/users.json @@ -2,6 +2,7 @@ "latest_users": "Последни потребители", "top_posters": "С най-много публикации", "most_reputation": "С най-много репутация", + "most_flags": "С най-много доклади", "search": "Търсене", "enter_username": "Въведете потребителско име, което да потърсите", "load_more": "Зареждане на още", diff --git a/public/language/bn/error.json b/public/language/bn/error.json index a39dcc9ebf..fd27a09bdb 100644 --- a/public/language/bn/error.json +++ b/public/language/bn/error.json @@ -30,6 +30,7 @@ "user-banned": "ব্যবহারকারী নিষিদ্ধ", "user-too-new": "Sorry, you are required to wait %1 second(s) before making your first post", "blacklisted-ip": "Sorry, your IP address has been banned from this community. If you feel this is in error, please contact an administrator.", + "ban-expiry-missing": "Please provide an end date for this ban", "no-category": "বিভাগটি খুজে পাওয়া যায় নি", "no-topic": "এই টপিক নেই", "no-post": "এই পোষ্ট নেই", @@ -46,6 +47,13 @@ "post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting", "post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting", "post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting", + "post-delete-duration-expired": "You are only allowed to delete posts for %1 second(s) after posting", + "post-delete-duration-expired-minutes": "You are only allowed to delete posts for %1 minute(s) after posting", + "post-delete-duration-expired-minutes-seconds": "You are only allowed to delete posts for %1 minute(s) %2 second(s) after posting", + "post-delete-duration-expired-hours": "You are only allowed to delete posts for %1 hour(s) after posting", + "post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting", + "post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting", + "post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting", "content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).", "content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).", "title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).", @@ -68,6 +76,7 @@ "invalid-image-extension": "Invalid image extension", "invalid-file-type": "Invalid file type. Allowed types are: %1", "group-name-too-short": "গ্রুপের নাম খুব ছোট", + "group-name-too-long": "Group name too long", "group-already-exists": "গ্রুপ ইতিমধ্যেই বিদ্যমান", "group-name-change-not-allowed": "গ্রুপের নাম পরিবর্তনের অনুমতি নেই", "group-already-member": "Already part of this group", @@ -109,5 +118,6 @@ "no-session-found": "No login session found!", "not-in-room": "User not in room", "no-users-in-room": "No users in this room", - "cant-kick-self": "You can't kick yourself from the group" + "cant-kick-self": "You can't kick yourself from the group", + "no-users-selected": "No user(s) selected" } \ No newline at end of file diff --git a/public/language/bn/pages.json b/public/language/bn/pages.json index d7d56d0e4a..fa4488b73e 100644 --- a/public/language/bn/pages.json +++ b/public/language/bn/pages.json @@ -12,6 +12,7 @@ "users/sort-posts": "Users with the most posts", "users/sort-reputation": "Users with the most reputation", "users/banned": "Banned Users", + "users/most-flags": "Most flagged users", "users/search": "User Search", "notifications": "বিজ্ঞপ্তি", "tags": "ট্যাগসমূহ", diff --git a/public/language/bn/user.json b/public/language/bn/user.json index ffdda322d6..b53b04b5c4 100644 --- a/public/language/bn/user.json +++ b/public/language/bn/user.json @@ -95,8 +95,8 @@ "delay_image_loading": "Delay Image Loading", "image_load_delay_help": "If enabled, images in topics will not load until they are scrolled into view", "scroll_to_my_post": "After posting a reply, show the new post", - "follow_topics_you_reply_to": "Follow topics that you reply to", - "follow_topics_you_create": "Follow topics you create", + "follow_topics_you_reply_to": "Watch topics that you reply to", + "follow_topics_you_create": "Watch topics you create", "grouptitle": "Group Title", "no-group-title": "No group title", "select-skin": "Select a Skin", diff --git a/public/language/bn/users.json b/public/language/bn/users.json index 4fca6b9a27..2af7331a13 100644 --- a/public/language/bn/users.json +++ b/public/language/bn/users.json @@ -2,6 +2,7 @@ "latest_users": "সর্বশেষ নিবন্ধিত সদস্যরা:", "top_posters": "সর্বোচ্চ পোষ্টকারী", "most_reputation": "সর্বোচ্চ সম্মাননাধারী", + "most_flags": "Most Flags", "search": "খুঁজুন", "enter_username": "ইউজারনেম এর ভিত্তিতে সার্চ করুন", "load_more": "আরো লোড করুন", diff --git a/public/language/cs/error.json b/public/language/cs/error.json index 15732587c4..c1f7905a73 100644 --- a/public/language/cs/error.json +++ b/public/language/cs/error.json @@ -30,6 +30,7 @@ "user-banned": "Uživatel byl zakázán", "user-too-new": "Sorry, you are required to wait %1 second(s) before making your first post", "blacklisted-ip": "Sorry, your IP address has been banned from this community. If you feel this is in error, please contact an administrator.", + "ban-expiry-missing": "Please provide an end date for this ban", "no-category": "Kategorie neexistuje", "no-topic": "Téma neexistuje", "no-post": "Příspěvek neexistuje", @@ -46,6 +47,13 @@ "post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting", "post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting", "post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting", + "post-delete-duration-expired": "You are only allowed to delete posts for %1 second(s) after posting", + "post-delete-duration-expired-minutes": "You are only allowed to delete posts for %1 minute(s) after posting", + "post-delete-duration-expired-minutes-seconds": "You are only allowed to delete posts for %1 minute(s) %2 second(s) after posting", + "post-delete-duration-expired-hours": "You are only allowed to delete posts for %1 hour(s) after posting", + "post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting", + "post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting", + "post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting", "content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).", "content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).", "title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).", @@ -68,6 +76,7 @@ "invalid-image-extension": "Invalid image extension", "invalid-file-type": "Invalid file type. Allowed types are: %1", "group-name-too-short": "Název skupiny je příliš krátký", + "group-name-too-long": "Group name too long", "group-already-exists": "Skupina už exstuje", "group-name-change-not-allowed": "Změna názvu skupiny není povolena", "group-already-member": "Already part of this group", @@ -109,5 +118,6 @@ "no-session-found": "No login session found!", "not-in-room": "User not in room", "no-users-in-room": "No users in this room", - "cant-kick-self": "Nemůžete vyhodit sami sebe ze kupiny" + "cant-kick-self": "Nemůžete vyhodit sami sebe ze kupiny", + "no-users-selected": "No user(s) selected" } \ No newline at end of file diff --git a/public/language/cs/pages.json b/public/language/cs/pages.json index 4de8a00f5c..efd3e8001f 100644 --- a/public/language/cs/pages.json +++ b/public/language/cs/pages.json @@ -12,6 +12,7 @@ "users/sort-posts": "Uživatelé s nejvíce příspěvky", "users/sort-reputation": "Uživatelé s nejlepší reputací", "users/banned": "Zabanovaní uživatelé", + "users/most-flags": "Most flagged users", "users/search": "Hledání uživatele", "notifications": "Oznámení", "tags": "Tagy", diff --git a/public/language/cs/user.json b/public/language/cs/user.json index c31281719a..7fb371137c 100644 --- a/public/language/cs/user.json +++ b/public/language/cs/user.json @@ -95,8 +95,8 @@ "delay_image_loading": "Delay Image Loading", "image_load_delay_help": "If enabled, images in topics will not load until they are scrolled into view", "scroll_to_my_post": "After posting a reply, show the new post", - "follow_topics_you_reply_to": "Follow topics that you reply to", - "follow_topics_you_create": "Follow topics you create", + "follow_topics_you_reply_to": "Watch topics that you reply to", + "follow_topics_you_create": "Watch topics you create", "grouptitle": "Nadpis skupiny", "no-group-title": "Žádný nadpis skupiny", "select-skin": "Vybrat skin", diff --git a/public/language/cs/users.json b/public/language/cs/users.json index ea338090ae..217e4e3db1 100644 --- a/public/language/cs/users.json +++ b/public/language/cs/users.json @@ -2,6 +2,7 @@ "latest_users": "Nejnovější uživatelé", "top_posters": "Nejaktivnější", "most_reputation": "Nejváženější", + "most_flags": "Most Flags", "search": "Vyhledávat", "enter_username": "Zadej uživatelské jméno k hledání", "load_more": "Načíst další", diff --git a/public/language/da/error.json b/public/language/da/error.json index 5eb1c5d03e..589ef4a617 100644 --- a/public/language/da/error.json +++ b/public/language/da/error.json @@ -30,6 +30,7 @@ "user-banned": "Bruger er bortvist", "user-too-new": "Beklager, du er nødt til at vente %1 sekund(er) før du opretter dit indlæg", "blacklisted-ip": "Sorry, your IP address has been banned from this community. If you feel this is in error, please contact an administrator.", + "ban-expiry-missing": "Please provide an end date for this ban", "no-category": "Kategorien eksisterer ikke", "no-topic": "Tråden eksisterer ikke", "no-post": "Indlægget eksisterer ikke", @@ -46,6 +47,13 @@ "post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting", "post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting", "post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting", + "post-delete-duration-expired": "You are only allowed to delete posts for %1 second(s) after posting", + "post-delete-duration-expired-minutes": "You are only allowed to delete posts for %1 minute(s) after posting", + "post-delete-duration-expired-minutes-seconds": "You are only allowed to delete posts for %1 minute(s) %2 second(s) after posting", + "post-delete-duration-expired-hours": "You are only allowed to delete posts for %1 hour(s) after posting", + "post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting", + "post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting", + "post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting", "content-too-short": "Venligst indtast et længere indlæg. Indlægget skal mindst indeholde %1 karakter(er).", "content-too-long": "Venligt indtast et kortere indlæg. Indlæg kan ikke være længere end %1 karakter(er).", "title-too-short": "Venligst indtast en længere titel. Titlen skal mindst indeholde %1 karakter(er).", @@ -68,6 +76,7 @@ "invalid-image-extension": "Forkert billede filnavnsendelse", "invalid-file-type": "Invalid fil type. Tilladte typer er: %1", "group-name-too-short": "Gruppe navn for kort", + "group-name-too-long": "Group name too long", "group-already-exists": "Gruppen eksisterer allerede", "group-name-change-not-allowed": "Ændring af gruppe navn er ikke tilladt", "group-already-member": "Allerede medlem af denne gruppe", @@ -109,5 +118,6 @@ "no-session-found": "Ingen login session kan findes!", "not-in-room": "Bruger er ikke i rummet", "no-users-in-room": "Ingen brugere i rummet", - "cant-kick-self": "You can't kick yourself from the group" + "cant-kick-self": "You can't kick yourself from the group", + "no-users-selected": "No user(s) selected" } \ No newline at end of file diff --git a/public/language/da/pages.json b/public/language/da/pages.json index cfc7678ce8..0d4fbde6c3 100644 --- a/public/language/da/pages.json +++ b/public/language/da/pages.json @@ -12,6 +12,7 @@ "users/sort-posts": "Brugere med de fleste indlæg", "users/sort-reputation": "Brugere med mest omdømme", "users/banned": "Banlyste Brugere", + "users/most-flags": "Most flagged users", "users/search": "Bruger søgning", "notifications": "Notifikationer", "tags": "Tags", diff --git a/public/language/da/user.json b/public/language/da/user.json index 9637ad7afa..c409da0009 100644 --- a/public/language/da/user.json +++ b/public/language/da/user.json @@ -95,8 +95,8 @@ "delay_image_loading": "Delay Image Loading", "image_load_delay_help": "If enabled, images in topics will not load until they are scrolled into view", "scroll_to_my_post": "After posting a reply, show the new post", - "follow_topics_you_reply_to": "Følg emner du har skrevet indlæg i", - "follow_topics_you_create": "Følg emner du opretter", + "follow_topics_you_reply_to": "Watch topics that you reply to", + "follow_topics_you_create": "Watch topics you create", "grouptitle": "Group Title", "no-group-title": "Ingen gruppe titel", "select-skin": "Vælg et skin", diff --git a/public/language/da/users.json b/public/language/da/users.json index 71e4aef9f7..ea51cc7398 100644 --- a/public/language/da/users.json +++ b/public/language/da/users.json @@ -2,6 +2,7 @@ "latest_users": "Seneste brugere", "top_posters": "Top Postere", "most_reputation": "Mest Omdømme", + "most_flags": "Most Flags", "search": "Søg", "enter_username": "Indtast brugernavn for at søge", "load_more": "Indlæs mere", diff --git a/public/language/de/error.json b/public/language/de/error.json index db01702e9d..4b32d2fa52 100644 --- a/public/language/de/error.json +++ b/public/language/de/error.json @@ -30,6 +30,7 @@ "user-banned": "Benutzer ist gesperrt", "user-too-new": "Entschuldigung, du musst %1 Sekunde(n) warten, bevor du deinen ersten Beitrag schreiben kannst.", "blacklisted-ip": "Deine IP-Adresse ist für diese Plattform gesperrt. Sollte dies ein Irrtum sein, dann kontaktiere bitte einen Administrator.", + "ban-expiry-missing": "Please provide an end date for this ban", "no-category": "Die Kategorie existiert nicht", "no-topic": "Das Thema existiert nicht", "no-post": "Der Beitrag existiert nicht", @@ -46,6 +47,13 @@ "post-edit-duration-expired-hours-minutes": "Du darfst Beiträge lediglich innerhalb von %1 Stunde/n und %2 Minute/n nach dem Erstellen editieren", "post-edit-duration-expired-days": "Du darfst Beiträge lediglich innerhalb von %1 Tag/en nach dem Erstellen editieren", "post-edit-duration-expired-days-hours": "Du darfst Beiträge lediglich innerhalb von %1 Tag/en und %2 Stunde/n nach dem Erstellen editieren", + "post-delete-duration-expired": "You are only allowed to delete posts for %1 second(s) after posting", + "post-delete-duration-expired-minutes": "You are only allowed to delete posts for %1 minute(s) after posting", + "post-delete-duration-expired-minutes-seconds": "You are only allowed to delete posts for %1 minute(s) %2 second(s) after posting", + "post-delete-duration-expired-hours": "You are only allowed to delete posts for %1 hour(s) after posting", + "post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting", + "post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting", + "post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting", "content-too-short": "Bitte schreibe einen längeren Beitrag. Beiträge sollten mindestens %1 Zeichen enthalten.", "content-too-long": "Bitte schreibe einen kürzeren Beitrag. Beiträge können nicht länger als %1 Zeichen sein.", "title-too-short": "Bitte gebe einen längeren Titel ein. Ein Titel muss mindestens %1 Zeichen enthalten.", @@ -68,6 +76,7 @@ "invalid-image-extension": "Ungültige Dateinamenerweiterung", "invalid-file-type": "Ungültiger Dateityp. Erlaubte Typen sind: %1", "group-name-too-short": "Gruppenname zu kurz", + "group-name-too-long": "Group name too long", "group-already-exists": "Gruppe existiert bereits", "group-name-change-not-allowed": "Du kannst den Namen der Gruppe nicht ändern", "group-already-member": "Bereits Teil dieser Gruppe", @@ -109,5 +118,6 @@ "no-session-found": "Keine Login-Sitzung gefunden!", "not-in-room": "Benutzer nicht im Raum", "no-users-in-room": "In diesem Raum befinden sich keine Benutzer.", - "cant-kick-self": "Du kannst dich nicht selber aus der Gruppe entfernen." + "cant-kick-self": "Du kannst dich nicht selber aus der Gruppe entfernen.", + "no-users-selected": "No user(s) selected" } \ No newline at end of file diff --git a/public/language/de/pages.json b/public/language/de/pages.json index 743f286bd4..9bb4b009c5 100644 --- a/public/language/de/pages.json +++ b/public/language/de/pages.json @@ -12,6 +12,7 @@ "users/sort-posts": "Benutzer mit den meisten Beiträgen", "users/sort-reputation": "Benutzer mit dem höchsten Ansehen", "users/banned": "Gesperrte Benutzer", + "users/most-flags": "Most flagged users", "users/search": "Benutzer Suche", "notifications": "Benachrichtigungen", "tags": "Markierungen", diff --git a/public/language/de/user.json b/public/language/de/user.json index fd456b65d9..2a07d53cd3 100644 --- a/public/language/de/user.json +++ b/public/language/de/user.json @@ -95,8 +95,8 @@ "delay_image_loading": "Bilder nachladen", "image_load_delay_help": "Wenn aktiviert, werden Bilder in Themen erst dann geladen, wenn sie in den sichtbaren Bereich gescrollt werden", "scroll_to_my_post": "Zeige eigene Antwort nach dem Erstellen im Thema an", - "follow_topics_you_reply_to": "Themen folgen, auf die du antwortest", - "follow_topics_you_create": "Themen folgen, die du erstellst", + "follow_topics_you_reply_to": "Watch topics that you reply to", + "follow_topics_you_create": "Watch topics you create", "grouptitle": "Gruppentitel", "no-group-title": "Kein Gruppentitel", "select-skin": "Einen Skin auswählen", diff --git a/public/language/de/users.json b/public/language/de/users.json index 9a25653e0d..4b06e85635 100644 --- a/public/language/de/users.json +++ b/public/language/de/users.json @@ -2,6 +2,7 @@ "latest_users": "Neuste Benutzer", "top_posters": "meiste Beiträge", "most_reputation": "höchstes Ansehen", + "most_flags": "Most Flags", "search": "Suchen", "enter_username": "Benutzer durchsuchen", "load_more": "mehr laden", diff --git a/public/language/el/error.json b/public/language/el/error.json index b590a940a6..d1086fe787 100644 --- a/public/language/el/error.json +++ b/public/language/el/error.json @@ -30,6 +30,7 @@ "user-banned": "Ο Χρήστης είναι αποκλεισμένος/η", "user-too-new": "Sorry, you are required to wait %1 second(s) before making your first post", "blacklisted-ip": "Sorry, your IP address has been banned from this community. If you feel this is in error, please contact an administrator.", + "ban-expiry-missing": "Please provide an end date for this ban", "no-category": "Category does not exist", "no-topic": "Topic does not exist", "no-post": "Post does not exist", @@ -46,6 +47,13 @@ "post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting", "post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting", "post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting", + "post-delete-duration-expired": "You are only allowed to delete posts for %1 second(s) after posting", + "post-delete-duration-expired-minutes": "You are only allowed to delete posts for %1 minute(s) after posting", + "post-delete-duration-expired-minutes-seconds": "You are only allowed to delete posts for %1 minute(s) %2 second(s) after posting", + "post-delete-duration-expired-hours": "You are only allowed to delete posts for %1 hour(s) after posting", + "post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting", + "post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting", + "post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting", "content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).", "content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).", "title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).", @@ -68,6 +76,7 @@ "invalid-image-extension": "Invalid image extension", "invalid-file-type": "Invalid file type. Allowed types are: %1", "group-name-too-short": "Το όνομα της ομάδας είναι πολύ μικρό", + "group-name-too-long": "Group name too long", "group-already-exists": "Το όνομα της ομάδας υπάρχει ήδη", "group-name-change-not-allowed": "Αλλαγή του ονόματος της ομάδας δεν επιτρέπεται", "group-already-member": "Already part of this group", @@ -109,5 +118,6 @@ "no-session-found": "No login session found!", "not-in-room": "User not in room", "no-users-in-room": "No users in this room", - "cant-kick-self": "You can't kick yourself from the group" + "cant-kick-self": "You can't kick yourself from the group", + "no-users-selected": "No user(s) selected" } \ No newline at end of file diff --git a/public/language/el/pages.json b/public/language/el/pages.json index 092f813826..a6ac3ea6ee 100644 --- a/public/language/el/pages.json +++ b/public/language/el/pages.json @@ -12,6 +12,7 @@ "users/sort-posts": "Users with the most posts", "users/sort-reputation": "Users with the most reputation", "users/banned": "Banned Users", + "users/most-flags": "Most flagged users", "users/search": "User Search", "notifications": "Ειδοποιήσεις", "tags": "Tags", diff --git a/public/language/el/user.json b/public/language/el/user.json index e9d00b4522..5a4c0c3649 100644 --- a/public/language/el/user.json +++ b/public/language/el/user.json @@ -95,8 +95,8 @@ "delay_image_loading": "Delay Image Loading", "image_load_delay_help": "If enabled, images in topics will not load until they are scrolled into view", "scroll_to_my_post": "After posting a reply, show the new post", - "follow_topics_you_reply_to": "Follow topics that you reply to", - "follow_topics_you_create": "Follow topics you create", + "follow_topics_you_reply_to": "Watch topics that you reply to", + "follow_topics_you_create": "Watch topics you create", "grouptitle": "Group Title", "no-group-title": "No group title", "select-skin": "Select a Skin", diff --git a/public/language/el/users.json b/public/language/el/users.json index 39bba616e6..be5f770f99 100644 --- a/public/language/el/users.json +++ b/public/language/el/users.json @@ -2,6 +2,7 @@ "latest_users": "Πρόσφατοι Χρήστες", "top_posters": "Top Δημοσιεύοντες", "most_reputation": "Υψηλότερη Φήμη", + "most_flags": "Most Flags", "search": "Αναζήτηση", "enter_username": "Γράψε ένα όνομα χρήστη προς αναζήτηση", "load_more": "Φόρτωση περισσότερων", diff --git a/public/language/en@pirate/error.json b/public/language/en@pirate/error.json index 55dac0792b..85292ab05e 100644 --- a/public/language/en@pirate/error.json +++ b/public/language/en@pirate/error.json @@ -30,6 +30,7 @@ "user-banned": "User banned", "user-too-new": "Sorry, you are required to wait %1 second(s) before making your first post", "blacklisted-ip": "Sorry, your IP address has been banned from this community. If you feel this is in error, please contact an administrator.", + "ban-expiry-missing": "Please provide an end date for this ban", "no-category": "Category does not exist", "no-topic": "Topic does not exist", "no-post": "Post does not exist", @@ -46,6 +47,13 @@ "post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting", "post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting", "post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting", + "post-delete-duration-expired": "You are only allowed to delete posts for %1 second(s) after posting", + "post-delete-duration-expired-minutes": "You are only allowed to delete posts for %1 minute(s) after posting", + "post-delete-duration-expired-minutes-seconds": "You are only allowed to delete posts for %1 minute(s) %2 second(s) after posting", + "post-delete-duration-expired-hours": "You are only allowed to delete posts for %1 hour(s) after posting", + "post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting", + "post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting", + "post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting", "content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).", "content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).", "title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).", @@ -68,6 +76,7 @@ "invalid-image-extension": "Invalid image extension", "invalid-file-type": "Invalid file type. Allowed types are: %1", "group-name-too-short": "Group name too short", + "group-name-too-long": "Group name too long", "group-already-exists": "Group already exists", "group-name-change-not-allowed": "Group name change not allowed", "group-already-member": "Already part of this group", @@ -109,5 +118,6 @@ "no-session-found": "No login session found!", "not-in-room": "User not in room", "no-users-in-room": "No users in this room", - "cant-kick-self": "You can't kick yourself from the group" + "cant-kick-self": "You can't kick yourself from the group", + "no-users-selected": "No user(s) selected" } \ No newline at end of file diff --git a/public/language/en@pirate/pages.json b/public/language/en@pirate/pages.json index 285aa30017..3309d4ced7 100644 --- a/public/language/en@pirate/pages.json +++ b/public/language/en@pirate/pages.json @@ -12,6 +12,7 @@ "users/sort-posts": "Users with the most posts", "users/sort-reputation": "Users with the most reputation", "users/banned": "Banned Users", + "users/most-flags": "Most flagged users", "users/search": "User Search", "notifications": "Notifications", "tags": "Tags", diff --git a/public/language/en@pirate/user.json b/public/language/en@pirate/user.json index fc3e408a13..d2f9fa0707 100644 --- a/public/language/en@pirate/user.json +++ b/public/language/en@pirate/user.json @@ -95,8 +95,8 @@ "delay_image_loading": "Delay Image Loading", "image_load_delay_help": "If enabled, images in topics will not load until they are scrolled into view", "scroll_to_my_post": "After posting a reply, show the new post", - "follow_topics_you_reply_to": "Follow topics that you reply to", - "follow_topics_you_create": "Follow topics you create", + "follow_topics_you_reply_to": "Watch topics that you reply to", + "follow_topics_you_create": "Watch topics you create", "grouptitle": "Group Title", "no-group-title": "No group title", "select-skin": "Select a Skin", diff --git a/public/language/en@pirate/users.json b/public/language/en@pirate/users.json index 738f85d740..d1213c8f1f 100644 --- a/public/language/en@pirate/users.json +++ b/public/language/en@pirate/users.json @@ -2,6 +2,7 @@ "latest_users": "Land lubbers", "top_posters": "Top mateys", "most_reputation": "Most Reputation", + "most_flags": "Most Flags", "search": "Search", "enter_username": "Gimme y'er handle", "load_more": "Load More", diff --git a/public/language/en_GB/error.json b/public/language/en_GB/error.json index 113337098f..dd0e7e8780 100644 --- a/public/language/en_GB/error.json +++ b/public/language/en_GB/error.json @@ -147,5 +147,6 @@ "no-session-found": "No login session found!", "not-in-room": "User not in room", "no-users-in-room": "No users in this room", - "cant-kick-self": "You can't kick yourself from the group" + "cant-kick-self": "You can't kick yourself from the group", + "no-users-selected": "No user(s) selected" } diff --git a/public/language/en_GB/pages.json b/public/language/en_GB/pages.json index 2fe5b5dbac..52339d7830 100644 --- a/public/language/en_GB/pages.json +++ b/public/language/en_GB/pages.json @@ -34,6 +34,7 @@ "account/edit/password": "Editing password of \"%1\"", "account/edit/username": "Editing username of \"%1\"", "account/edit/email": "Editing email of \"%1\"", + "account/info": "Account Info", "account/following": "People %1 follows", "account/followers": "People who follow %1", "account/posts": "Posts made by %1", diff --git a/public/language/en_GB/user.json b/public/language/en_GB/user.json index a0ef56e0e7..b1cb065de5 100644 --- a/public/language/en_GB/user.json +++ b/public/language/en_GB/user.json @@ -7,6 +7,7 @@ "email": "Email", "confirm_email": "Confirm Email", + "account_info": "Account Info", "ban_account": "Ban Account", "ban_account_confirm": "Do you really want to ban this user?", "unban_account": "Unban Account", @@ -125,5 +126,12 @@ "sso.title": "Single Sign-on Services", "sso.associated": "Associated with", - "sso.not-associated": "Click here to associate with" + "sso.not-associated": "Click here to associate with", + + "info.latest-flags": "Latest Flags", + "info.no-flags": "No Flagged Posts Found", + "info.ban-history": "Recent Ban History", + "info.no-ban-history": "This user has never been banned", + "info.banned-until": "Banned until %1", + "info.banned-permanently": "Banned permanently" } diff --git a/public/language/en_US/error.json b/public/language/en_US/error.json index 55dac0792b..85292ab05e 100644 --- a/public/language/en_US/error.json +++ b/public/language/en_US/error.json @@ -30,6 +30,7 @@ "user-banned": "User banned", "user-too-new": "Sorry, you are required to wait %1 second(s) before making your first post", "blacklisted-ip": "Sorry, your IP address has been banned from this community. If you feel this is in error, please contact an administrator.", + "ban-expiry-missing": "Please provide an end date for this ban", "no-category": "Category does not exist", "no-topic": "Topic does not exist", "no-post": "Post does not exist", @@ -46,6 +47,13 @@ "post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting", "post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting", "post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting", + "post-delete-duration-expired": "You are only allowed to delete posts for %1 second(s) after posting", + "post-delete-duration-expired-minutes": "You are only allowed to delete posts for %1 minute(s) after posting", + "post-delete-duration-expired-minutes-seconds": "You are only allowed to delete posts for %1 minute(s) %2 second(s) after posting", + "post-delete-duration-expired-hours": "You are only allowed to delete posts for %1 hour(s) after posting", + "post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting", + "post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting", + "post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting", "content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).", "content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).", "title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).", @@ -68,6 +76,7 @@ "invalid-image-extension": "Invalid image extension", "invalid-file-type": "Invalid file type. Allowed types are: %1", "group-name-too-short": "Group name too short", + "group-name-too-long": "Group name too long", "group-already-exists": "Group already exists", "group-name-change-not-allowed": "Group name change not allowed", "group-already-member": "Already part of this group", @@ -109,5 +118,6 @@ "no-session-found": "No login session found!", "not-in-room": "User not in room", "no-users-in-room": "No users in this room", - "cant-kick-self": "You can't kick yourself from the group" + "cant-kick-self": "You can't kick yourself from the group", + "no-users-selected": "No user(s) selected" } \ No newline at end of file diff --git a/public/language/en_US/pages.json b/public/language/en_US/pages.json index 285aa30017..3309d4ced7 100644 --- a/public/language/en_US/pages.json +++ b/public/language/en_US/pages.json @@ -12,6 +12,7 @@ "users/sort-posts": "Users with the most posts", "users/sort-reputation": "Users with the most reputation", "users/banned": "Banned Users", + "users/most-flags": "Most flagged users", "users/search": "User Search", "notifications": "Notifications", "tags": "Tags", diff --git a/public/language/en_US/user.json b/public/language/en_US/user.json index c1ac375d20..50e52efa5c 100644 --- a/public/language/en_US/user.json +++ b/public/language/en_US/user.json @@ -95,8 +95,8 @@ "delay_image_loading": "Delay Image Loading", "image_load_delay_help": "If enabled, images in topics will not load until they are scrolled into view", "scroll_to_my_post": "After posting a reply, show the new post", - "follow_topics_you_reply_to": "Follow topics that you reply to", - "follow_topics_you_create": "Follow topics you create", + "follow_topics_you_reply_to": "Watch topics that you reply to", + "follow_topics_you_create": "Watch topics you create", "grouptitle": "Group Title", "no-group-title": "No group title", "select-skin": "Select a Skin", diff --git a/public/language/en_US/users.json b/public/language/en_US/users.json index ae39f26f66..4d0bd5c53e 100644 --- a/public/language/en_US/users.json +++ b/public/language/en_US/users.json @@ -2,6 +2,7 @@ "latest_users": "Latest Users", "top_posters": "Top Posters", "most_reputation": "Most Reputation", + "most_flags": "Most Flags", "search": "Search", "enter_username": "Enter a username to search", "load_more": "Load More", diff --git a/public/language/es/error.json b/public/language/es/error.json index 65813c8134..4c07e24298 100644 --- a/public/language/es/error.json +++ b/public/language/es/error.json @@ -30,6 +30,7 @@ "user-banned": "Usuario baneado", "user-too-new": "Lo sentimos, es necesario que esperes %1 segundo(s) antes poder hacer tu primera publicación", "blacklisted-ip": "Lo sentimos, tu dirección IP ha sido baneada de esta comunidad. Si crees que debe de haber un error, por favor contacte con un administrador.", + "ban-expiry-missing": "Please provide an end date for this ban", "no-category": "La categoría no existe", "no-topic": "El tema no existe", "no-post": "La publicación no existe", @@ -46,6 +47,13 @@ "post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting", "post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting", "post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting", + "post-delete-duration-expired": "You are only allowed to delete posts for %1 second(s) after posting", + "post-delete-duration-expired-minutes": "You are only allowed to delete posts for %1 minute(s) after posting", + "post-delete-duration-expired-minutes-seconds": "You are only allowed to delete posts for %1 minute(s) %2 second(s) after posting", + "post-delete-duration-expired-hours": "You are only allowed to delete posts for %1 hour(s) after posting", + "post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting", + "post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting", + "post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting", "content-too-short": "Por favor introduzca una publicación más larga. Las publicaciones deben contener al menos %1 caractere(s).", "content-too-long": "Por favor introduzca un mensaje más corto. Los mensajes no pueden exceder los %1 caractere(s).", "title-too-short": "Por favor introduzca un título más largo. Los títulos deben contener al menos %1 caractere(s).", @@ -68,6 +76,7 @@ "invalid-image-extension": "Extensión de imagen inválida", "invalid-file-type": "Tipo de fichero inválido. Los tipos permitidos son: %1", "group-name-too-short": "Nombre del grupo es demasiado corto.", + "group-name-too-long": "Group name too long", "group-already-exists": "El grupo ya existe.", "group-name-change-not-allowed": "El nombre del grupo deseado no está permitido.", "group-already-member": "Ya eres miembro de este grupo", @@ -109,5 +118,6 @@ "no-session-found": "¡No se ha encontrado ningún inicio de sesión!", "not-in-room": "El usuario no está en la sala", "no-users-in-room": "No hay usuarios en esta sala", - "cant-kick-self": "No te puedes expulsar a ti mismo del grupo" + "cant-kick-self": "No te puedes expulsar a ti mismo del grupo", + "no-users-selected": "No user(s) selected" } \ No newline at end of file diff --git a/public/language/es/pages.json b/public/language/es/pages.json index 23f1ae0dac..2d62269b35 100644 --- a/public/language/es/pages.json +++ b/public/language/es/pages.json @@ -12,6 +12,7 @@ "users/sort-posts": "Top por mensajes", "users/sort-reputation": "Más reputados", "users/banned": "Usuarios baneados", + "users/most-flags": "Most flagged users", "users/search": "Buscar", "notifications": "Notificaciones", "tags": "Etiquetas", diff --git a/public/language/es/user.json b/public/language/es/user.json index 1e09fdb7c3..cce042ed7a 100644 --- a/public/language/es/user.json +++ b/public/language/es/user.json @@ -95,8 +95,8 @@ "delay_image_loading": "Retrasar la carga de imágenes", "image_load_delay_help": "Si se habilita, las imágenes no cargarán hasta que se vean en pantalla", "scroll_to_my_post": "Luego de enviar una respuesta, mostrar el nuevo mensaje", - "follow_topics_you_reply_to": "Seguir los temas en los que respondes", - "follow_topics_you_create": "Seguir publicaciones que creas", + "follow_topics_you_reply_to": "Watch topics that you reply to", + "follow_topics_you_create": "Watch topics you create", "grouptitle": "Título del grupo", "no-group-title": "Sin título de grupo", "select-skin": "Seleccionar una plantilla", diff --git a/public/language/es/users.json b/public/language/es/users.json index 61bac3bc05..3d32fdc599 100644 --- a/public/language/es/users.json +++ b/public/language/es/users.json @@ -2,6 +2,7 @@ "latest_users": "Últimos usuarios", "top_posters": "Top por mensajes", "most_reputation": "Más reputados", + "most_flags": "Most Flags", "search": "Buscar", "enter_username": "Ingresa el nombre de usuario que quieres buscar", "load_more": "Cargar más", diff --git a/public/language/et/error.json b/public/language/et/error.json index e0f7e959ca..b697046163 100644 --- a/public/language/et/error.json +++ b/public/language/et/error.json @@ -30,6 +30,7 @@ "user-banned": "Kasutaja bannitud", "user-too-new": "Vabandust, te peate ootama %1 sekund(it) enne esimese postituse loomist.", "blacklisted-ip": "Vabandust! Sinu IP-aadress on siin kogukonnas keelatud. Kui arvad, et see on eksitus, palun leia kontakti administraatoriga.", + "ban-expiry-missing": "Please provide an end date for this ban", "no-category": "Kategooriat ei eksisteeri", "no-topic": "Teemat ei eksisteeri", "no-post": "Postitust ei eksisteeri", @@ -46,6 +47,13 @@ "post-edit-duration-expired-hours-minutes": "Teil on lubatud muuta oma postitusi vaid %1 tunni %2 minuti jooksul peale postitamist", "post-edit-duration-expired-days": "Teil on lubatud muuta oma postitusi vaid %1 päeva jooksul peale postitamist", "post-edit-duration-expired-days-hours": "Teil on lubatud muuta oma postitusi vaid %1 päeva %2 tunni jooksul peale postitamist", + "post-delete-duration-expired": "You are only allowed to delete posts for %1 second(s) after posting", + "post-delete-duration-expired-minutes": "You are only allowed to delete posts for %1 minute(s) after posting", + "post-delete-duration-expired-minutes-seconds": "You are only allowed to delete posts for %1 minute(s) %2 second(s) after posting", + "post-delete-duration-expired-hours": "You are only allowed to delete posts for %1 hour(s) after posting", + "post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting", + "post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting", + "post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting", "content-too-short": "Palun tehke pikem postitus. Postituse pikkus peab olema vähemalt %1 tähemärk(i).", "content-too-long": "Palun tehke lühem postitus. Postituse pikkus peab olema vähem kui %1 tähemärk(i).", "title-too-short": "Palun sisesta pikem pealkiri. Pealkirjad ei saa olla lühemad kui %1 tähemärk(i).", @@ -68,6 +76,7 @@ "invalid-image-extension": "Vigane pildi formaat", "invalid-file-type": "Vigane faili formaat. Lubatud formaadid on: %1", "group-name-too-short": "Grupi nimi liiga lühike", + "group-name-too-long": "Group name too long", "group-already-exists": "Grupp juba eksisteerib", "group-name-change-not-allowed": "Grupi nimevahetus ei ole lubatud", "group-already-member": "Oled juba selles grupis", @@ -109,5 +118,6 @@ "no-session-found": "Sisse logimis sessiooni ei leitud!", "not-in-room": "Kasutaja pole ruumis", "no-users-in-room": "Ühtegi kasutajat ei leidu siit ruumist", - "cant-kick-self": "Sa ei saa ennast ära visata gruppist" + "cant-kick-self": "Sa ei saa ennast ära visata gruppist", + "no-users-selected": "No user(s) selected" } \ No newline at end of file diff --git a/public/language/et/pages.json b/public/language/et/pages.json index 24515767df..fef1836725 100644 --- a/public/language/et/pages.json +++ b/public/language/et/pages.json @@ -12,6 +12,7 @@ "users/sort-posts": "Kasutajad, kel on enim postitusi", "users/sort-reputation": "Suurima reputatsiooniga kasutajad", "users/banned": "Keelustatud Kasutajad", + "users/most-flags": "Most flagged users", "users/search": "Kasutajate otsing", "notifications": "Teated", "tags": "Märksõnad", diff --git a/public/language/et/user.json b/public/language/et/user.json index 88809cc8a7..c6d779d569 100644 --- a/public/language/et/user.json +++ b/public/language/et/user.json @@ -95,8 +95,8 @@ "delay_image_loading": "Viivita pildi laadimisega", "image_load_delay_help": "Kui lubatud, pildid teemades ei lae kuni nad on nähtavuses", "scroll_to_my_post": "Pärast vastuse postitamist, näita uut postitust", - "follow_topics_you_reply_to": "Järgi teemasid, millele olete vastanud.", - "follow_topics_you_create": "Järgi teemasi, mis on teie loodud.", + "follow_topics_you_reply_to": "Watch topics that you reply to", + "follow_topics_you_create": "Watch topics you create", "grouptitle": "Grupi tiitel", "no-group-title": "Grupi tiitel puudub", "select-skin": "Vali välimus", diff --git a/public/language/et/users.json b/public/language/et/users.json index bb377c7239..a9b23a1b38 100644 --- a/public/language/et/users.json +++ b/public/language/et/users.json @@ -2,6 +2,7 @@ "latest_users": "Hilised kasutajad", "top_posters": "Top postitajad", "most_reputation": "Kõige rohkem reputatsiooni", + "most_flags": "Most Flags", "search": "Otsi", "enter_username": "Sisesta kasutajanimi, keda soovid otsida", "load_more": "Lae veel", diff --git a/public/language/fa_IR/category.json b/public/language/fa_IR/category.json index 50c14bee3b..3706ca7af4 100644 --- a/public/language/fa_IR/category.json +++ b/public/language/fa_IR/category.json @@ -1,5 +1,5 @@ { - "category": "دسته بندی", + "category": "دستهبندی", "subcategories": "زیر دسته ها", "new_topic_button": "جستار تازه", "guest-login-post": "برای ثبت نظر وارد شوید", diff --git a/public/language/fa_IR/error.json b/public/language/fa_IR/error.json index 7a68ce7a2f..dfe0dd693e 100644 --- a/public/language/fa_IR/error.json +++ b/public/language/fa_IR/error.json @@ -30,6 +30,7 @@ "user-banned": "کاربر محروم شد.", "user-too-new": "با عرض پوزش، شما باید %1 ثانیه پیش از فرستادن پست نخست خود صبر کنید", "blacklisted-ip": "Sorry, your IP address has been banned from this community. If you feel this is in error, please contact an administrator.", + "ban-expiry-missing": "Please provide an end date for this ban", "no-category": "دسته بندی وجود ندارد", "no-topic": "موضوع وجود ندارد.", "no-post": "پست وجود ندارد", @@ -46,6 +47,13 @@ "post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting", "post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting", "post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting", + "post-delete-duration-expired": "You are only allowed to delete posts for %1 second(s) after posting", + "post-delete-duration-expired-minutes": "You are only allowed to delete posts for %1 minute(s) after posting", + "post-delete-duration-expired-minutes-seconds": "You are only allowed to delete posts for %1 minute(s) %2 second(s) after posting", + "post-delete-duration-expired-hours": "You are only allowed to delete posts for %1 hour(s) after posting", + "post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting", + "post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting", + "post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting", "content-too-short": "خواهشمندیم پست بلندتری بنویسید. پستها دستکم باید %1 کاراکتر داشته باشند.", "content-too-long": "لطفا طول مطلب را کوتاه تر کنید. طول پست نمیتواند بیشتر از %1 کاراکتر باشد.", "title-too-short": "لطفا یک عنوان بلندتر وارد کنید. عنوان باید حداقل %1 کاراکتر داشته باشد.", @@ -68,6 +76,7 @@ "invalid-image-extension": "پسوند عکس نامعتبر است", "invalid-file-type": "نوع پرونده نامعتبر است. نوعهای قابل قبول اینها هستند: %1", "group-name-too-short": "نام گروه خیلی کوتاه است.", + "group-name-too-long": "Group name too long", "group-already-exists": "این گروه از پیش وجود دارد.", "group-name-change-not-allowed": "تغیر نام گروه نیاز به دسترسی دارد.", "group-already-member": "شما عضوی از این گروه می باشید", @@ -109,5 +118,6 @@ "no-session-found": "هیچ سشن ورودی یافت نشد!", "not-in-room": "هیچ کاربری در این گفتگو نیست", "no-users-in-room": "هیچ کاربری در این گفتگو نیست", - "cant-kick-self": "شما نمی توانید خودتان را از گروه کیک کنید" + "cant-kick-self": "شما نمی توانید خودتان را از گروه کیک کنید", + "no-users-selected": "No user(s) selected" } \ No newline at end of file diff --git a/public/language/fa_IR/pages.json b/public/language/fa_IR/pages.json index 82258650e7..1172c2e624 100644 --- a/public/language/fa_IR/pages.json +++ b/public/language/fa_IR/pages.json @@ -12,6 +12,7 @@ "users/sort-posts": "کاربران با بیشترین پست", "users/sort-reputation": "کاربران دارای بیشترین اعتبار", "users/banned": "کاربران اخراج شده", + "users/most-flags": "Most flagged users", "users/search": "جستجوی کاربر", "notifications": "آگاهسازیها", "tags": "برچسبها", diff --git a/public/language/fa_IR/register.json b/public/language/fa_IR/register.json index 1478014a36..6ece75479c 100644 --- a/public/language/fa_IR/register.json +++ b/public/language/fa_IR/register.json @@ -1,7 +1,7 @@ { "register": "نامنویسی", "help.email": "به طور پیشفرض، ایمیلی شما از دید همگان پنهان میشود.", - "help.username_restrictions": "یک نام کاربری یکتا بین %1 و %2 کاراکتر. دیگران میتوانند با @نامکاربری به شما اشاره کنند.", + "help.username_restrictions": "یک نام کاربری یکتا بین %1 و %2 نویسه. دیگران میتوانند با @نامکاربری به شما اشاره کنند.", "help.minimum_password_length": "کلمه عبور شما باید دستکم %1 کاراکتر داشته باشد.", "email_address": "نشانی رایانامه", "email_address_placeholder": "نوشتن نشانی رایانامه", diff --git a/public/language/fa_IR/tags.json b/public/language/fa_IR/tags.json index ba8c46a569..45470ec855 100644 --- a/public/language/fa_IR/tags.json +++ b/public/language/fa_IR/tags.json @@ -1,7 +1,7 @@ { "no_tag_topics": "جُستاری با این برچسب وجود ندارد.", "tags": "برچسبها", - "enter_tags_here": "برچسبها را اینجا وارد کنید. هر کدام بین %1 و %2 کاراکتور", - "enter_tags_here_short": "برچسب ها را وارد کنید ...", + "enter_tags_here": "برچسبها را اینجا وارد کنید، هر کدام بین %1 و %2 کاراکتر.", + "enter_tags_here_short": "برچسبها را وارد کنید...", "no_tags": "هنوز برچسبی وجود ندارد." } \ No newline at end of file diff --git a/public/language/fa_IR/user.json b/public/language/fa_IR/user.json index b309fc453f..2fb8fe00c7 100644 --- a/public/language/fa_IR/user.json +++ b/public/language/fa_IR/user.json @@ -95,8 +95,8 @@ "delay_image_loading": "تاخیر در حال بارگذاری عکس", "image_load_delay_help": "اگر فعال باشد، تصاویر در تاپیک ها بارگذاری نمی شود تا زمانی که از طریق اسکرول روی آن بروید قابل مشاهده است", "scroll_to_my_post": "پس از ارسال پست، اولین پست جدید نشان بده", - "follow_topics_you_reply_to": "تاپیک هایی که پاسخ داده ای را دنبال کن", - "follow_topics_you_create": "موضوع هایی که ایجاد کرده ای را دنبال کن", + "follow_topics_you_reply_to": "Watch topics that you reply to", + "follow_topics_you_create": "Watch topics you create", "grouptitle": "عنوان گروه", "no-group-title": "عنوان گروهی نیست", "select-skin": "Select a Skin", diff --git a/public/language/fa_IR/users.json b/public/language/fa_IR/users.json index 89a9f19cd6..c3e7c799bd 100644 --- a/public/language/fa_IR/users.json +++ b/public/language/fa_IR/users.json @@ -2,6 +2,7 @@ "latest_users": "آخرین کاربران", "top_posters": "بهترین فرستندهها", "most_reputation": "بیشترین اعتبار", + "most_flags": "Most Flags", "search": "جستجو", "enter_username": "یک نام کاربری برای جستجو وارد کنید", "load_more": "بارگذاری بیشتر", diff --git a/public/language/fi/error.json b/public/language/fi/error.json index 73428a5e62..b87d5f0f7b 100644 --- a/public/language/fi/error.json +++ b/public/language/fi/error.json @@ -30,6 +30,7 @@ "user-banned": "Käyttäjä on estetty", "user-too-new": "Anteeksi, mutta sinun täytyy odottaa %1 sekunti(a) ennen sinun ensimmäisen viestin lähettämistä", "blacklisted-ip": "Sorry, your IP address has been banned from this community. If you feel this is in error, please contact an administrator.", + "ban-expiry-missing": "Please provide an end date for this ban", "no-category": "Kategoriaa ei ole olemassa", "no-topic": "Aihetta ei ole olemassa", "no-post": "Viestiä ei ole olemassa", @@ -46,6 +47,13 @@ "post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting", "post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting", "post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting", + "post-delete-duration-expired": "You are only allowed to delete posts for %1 second(s) after posting", + "post-delete-duration-expired-minutes": "You are only allowed to delete posts for %1 minute(s) after posting", + "post-delete-duration-expired-minutes-seconds": "You are only allowed to delete posts for %1 minute(s) %2 second(s) after posting", + "post-delete-duration-expired-hours": "You are only allowed to delete posts for %1 hour(s) after posting", + "post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting", + "post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting", + "post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting", "content-too-short": "Ole hyvä ja syötä pidempi viesti. Sen pitäisi sisältää ainakin %1 merkki(ä).", "content-too-long": "Ole hyvä ja syötä lyhyempi viesti. Sen voi sisältää vain %1 merkki(ä).", "title-too-short": "Ole hyä ja syötä pidempi otsikko. Sen pitäisi sisältää anakin %1 merkki(ä).", @@ -68,6 +76,7 @@ "invalid-image-extension": "Invalid image extension", "invalid-file-type": "Invalid file type. Allowed types are: %1", "group-name-too-short": "Ryhmän nimi on liian lyhyt", + "group-name-too-long": "Group name too long", "group-already-exists": "Ryhmä on jo olemassa", "group-name-change-not-allowed": "Et voi vaihtaa ryhmän nimeä", "group-already-member": "Already part of this group", @@ -109,5 +118,6 @@ "no-session-found": "No login session found!", "not-in-room": "Käyttäjä ei ole huoneessa", "no-users-in-room": "Ei käyttäjiä tässä huoneessa", - "cant-kick-self": "You can't kick yourself from the group" + "cant-kick-self": "You can't kick yourself from the group", + "no-users-selected": "No user(s) selected" } \ No newline at end of file diff --git a/public/language/fi/pages.json b/public/language/fi/pages.json index d2eba81a6c..66c6fdfe34 100644 --- a/public/language/fi/pages.json +++ b/public/language/fi/pages.json @@ -12,6 +12,7 @@ "users/sort-posts": "Users with the most posts", "users/sort-reputation": "Users with the most reputation", "users/banned": "Banned Users", + "users/most-flags": "Most flagged users", "users/search": "User Search", "notifications": "Ilmoitukset", "tags": "Tunnisteet", diff --git a/public/language/fi/user.json b/public/language/fi/user.json index 8e08f3dc54..46ac2e314d 100644 --- a/public/language/fi/user.json +++ b/public/language/fi/user.json @@ -95,8 +95,8 @@ "delay_image_loading": "Delay Image Loading", "image_load_delay_help": "If enabled, images in topics will not load until they are scrolled into view", "scroll_to_my_post": "After posting a reply, show the new post", - "follow_topics_you_reply_to": "Follow topics that you reply to", - "follow_topics_you_create": "Follow topics you create", + "follow_topics_you_reply_to": "Watch topics that you reply to", + "follow_topics_you_create": "Watch topics you create", "grouptitle": "Group Title", "no-group-title": "No group title", "select-skin": "Select a Skin", diff --git a/public/language/fi/users.json b/public/language/fi/users.json index 9ebaf393e1..2a01aed651 100644 --- a/public/language/fi/users.json +++ b/public/language/fi/users.json @@ -2,6 +2,7 @@ "latest_users": "Viimeisimmät käyttäjät", "top_posters": "Aktiivisimmat viestittelijät", "most_reputation": "Eniten mainetta", + "most_flags": "Most Flags", "search": "Hae", "enter_username": "Syötä käyttäjätunnus hakeaksesi", "load_more": "Lataa lisää", diff --git a/public/language/fr/error.json b/public/language/fr/error.json index 2288c66f63..74fb3a81d4 100644 --- a/public/language/fr/error.json +++ b/public/language/fr/error.json @@ -30,6 +30,7 @@ "user-banned": "Utilisateur banni", "user-too-new": "Désolé, vous devez attendre encore %1 seconde(s) avant d'envoyer votre premier message", "blacklisted-ip": "Désolé, votre adresse IP a été bannie de cette communauté. Si vous pensez que c'est une erreur, veuillez contacter un administrateur.", + "ban-expiry-missing": "Veuillez entrer une date de fin de banissement.", "no-category": "Cette catégorie n'existe pas", "no-topic": "Ce sujet n'existe pas", "no-post": "Ce message n'existe pas", @@ -39,13 +40,20 @@ "no-privileges": "Vous n'avez pas les privilèges nécessaires pour effectuer cette action.", "category-disabled": "Catégorie désactivée", "topic-locked": "Sujet verrouillé", - "post-edit-duration-expired": "Vous ne pouvez modifier un message que %1 seconde(s) après l'avoir posté.", - "post-edit-duration-expired-minutes": "Vous ne pouvez éditer un message que %1 minute(s) après l'avoir posté.", - "post-edit-duration-expired-minutes-seconds": "Vous ne pouvez éditer un message que %1 minute(s) et %2 seconde(s) après l'avoir posté.", - "post-edit-duration-expired-hours": "Vous ne pouvez éditer un message que %1 heure(s) après l'avoir posté.", - "post-edit-duration-expired-hours-minutes": "Vous ne pouvez éditer un message que %1 heure(s) et %2 minute(s) après l'avoir posté.", - "post-edit-duration-expired-days": "Vous ne pouvez éditer un message que %1 jours(s) après l'avoir posté.", - "post-edit-duration-expired-days-hours": "Vous ne pouvez éditer un message que %1 jours(s) et %2 heures(s) après l'avoir posté.", + "post-edit-duration-expired": "Vous ne pouvez modifier un message que pendant %1 seconde(s) après l'avoir posté.", + "post-edit-duration-expired-minutes": "Vous ne pouvez éditer un message que pendant %1 minute(s) après l'avoir posté.", + "post-edit-duration-expired-minutes-seconds": "Vous ne pouvez éditer un message que pendant %1 minute(s) et %2 seconde(s) après l'avoir posté.", + "post-edit-duration-expired-hours": "Vous ne pouvez éditer un message que pendant %1 heure(s) après l'avoir posté.", + "post-edit-duration-expired-hours-minutes": "Vous ne pouvez éditer un message que pendant %1 heure(s) et %2 minute(s) après l'avoir posté.", + "post-edit-duration-expired-days": "Vous ne pouvez éditer un message que pendant %1 jours(s) après l'avoir posté.", + "post-edit-duration-expired-days-hours": "Vous ne pouvez éditer un message que pendant %1 jours(s) et %2 heures(s) après l'avoir posté.", + "post-delete-duration-expired": "Vous ne pouvez supprimer un message que pendant %1 seconde(s) après l'avoir posté.", + "post-delete-duration-expired-minutes": "Vous ne pouvez supprimer un message que pendant %1 minute(s) après l'avoir posté.", + "post-delete-duration-expired-minutes-seconds": "Vous ne pouvez supprimer un message que pendant %1 minute(s) et %2 seconde(s) après l'avoir posté.", + "post-delete-duration-expired-hours": "Vous ne pouvez supprimer un message que pendant %1 heure(s) après l'avoir posté.", + "post-delete-duration-expired-hours-minutes": "Vous ne pouvez supprimer un message que pendant %1 heure(s) et %2 minute(s) après l'avoir posté.", + "post-delete-duration-expired-days": "Vous ne pouvez supprimer un message que pendant %1 jour(s) après l'avoir posté.", + "post-delete-duration-expired-days-hours": "Vous ne pouvez supprimer un message que pendant %1 jour(s) et %2 heure(s) après l'avoir posté.", "content-too-short": "Veuillez entrer un message plus long. %1 caractère(s) minimum.", "content-too-long": "Veuillez poster un message plus cours. Les messages ne peuvent être plus long que %1 caractère(s).", "title-too-short": "Veuillez entrer un titre plus long. %1 caractère(s) minimum.", @@ -68,6 +76,7 @@ "invalid-image-extension": "Extension d'image invalide", "invalid-file-type": "Type de fichier non valide. Les types autorisés sont : %1", "group-name-too-short": "Nom de groupe trop court", + "group-name-too-long": "Nom du groupe trop long", "group-already-exists": "Ce groupe existe déjà", "group-name-change-not-allowed": "Modification du nom de groupe non permise", "group-already-member": "Déjà membre du groupe", @@ -109,5 +118,6 @@ "no-session-found": "Pas de session de connexion trouvé!", "not-in-room": "L'utilisateur n'est pas dans cette salle", "no-users-in-room": "Aucun utilisateur dans cette salle", - "cant-kick-self": "Vous ne pouvez pas vous exclure vous-même du groupe" + "cant-kick-self": "Vous ne pouvez pas vous exclure vous-même du groupe", + "no-users-selected": "Aucun utilisateur sélectionné" } \ No newline at end of file diff --git a/public/language/fr/global.json b/public/language/fr/global.json index c68abe3813..647e78ca5c 100644 --- a/public/language/fr/global.json +++ b/public/language/fr/global.json @@ -41,7 +41,7 @@ "nextpage": "Page suivante", "alert.success": "Succès", "alert.error": "Erreur", - "alert.banned": "Banni", + "alert.banned": "Bannis", "alert.banned.message": "Vous venez d'être banni, vous allez maintenant être déconnecté.", "alert.unfollow": "Vous n'êtes plus abonné à %1 !", "alert.follow": "Vous êtes désormais abonné à %1 !", diff --git a/public/language/fr/pages.json b/public/language/fr/pages.json index fc087461e4..4b1aeadc51 100644 --- a/public/language/fr/pages.json +++ b/public/language/fr/pages.json @@ -12,6 +12,7 @@ "users/sort-posts": "Utilisateurs avec le plus de messages", "users/sort-reputation": "Utilisateurs avec la plus grande réputation", "users/banned": "Utilisateurs bannis", + "users/most-flags": "Utilisateurs les plus souvent signalés", "users/search": "Rechercher des utilisateurs", "notifications": "Notifications", "tags": "Mots-clés", diff --git a/public/language/fr/users.json b/public/language/fr/users.json index fad9536811..35b6a06787 100644 --- a/public/language/fr/users.json +++ b/public/language/fr/users.json @@ -2,6 +2,7 @@ "latest_users": "Derniers inscrits", "top_posters": "Actifs", "most_reputation": "Réputés", + "most_flags": "Les plus souvent signalés", "search": "Rechercher", "enter_username": "Entrez le nom d'un utilisateur", "load_more": "Charger la suite", diff --git a/public/language/gl/error.json b/public/language/gl/error.json index 57c9e95155..3872f56627 100644 --- a/public/language/gl/error.json +++ b/public/language/gl/error.json @@ -30,6 +30,7 @@ "user-banned": "Usuario expulsado", "user-too-new": "Desculpa, agarda %1 second(s) antes de facer a túa primeira publicación.", "blacklisted-ip": "Sentímolo, o teu enderezo IP foi baneado desta comunidade. Se crees que se debe a un erro, por favor, contacte cun administrador.", + "ban-expiry-missing": "Please provide an end date for this ban", "no-category": "A categoría non existe", "no-topic": "O tema non existe", "no-post": "A publicación non existe", @@ -46,6 +47,13 @@ "post-edit-duration-expired-hours-minutes": "Só podes editar as publicacións %1 hora(s) %2 segundo(s) despois de envialas. ", "post-edit-duration-expired-days": "Só podes editar as publicacións %1 día(s) despois de envialas. ", "post-edit-duration-expired-days-hours": "Só podes editar as publicacións %1 día(s) %2 hora(s) despois de envialas. ", + "post-delete-duration-expired": "You are only allowed to delete posts for %1 second(s) after posting", + "post-delete-duration-expired-minutes": "You are only allowed to delete posts for %1 minute(s) after posting", + "post-delete-duration-expired-minutes-seconds": "You are only allowed to delete posts for %1 minute(s) %2 second(s) after posting", + "post-delete-duration-expired-hours": "You are only allowed to delete posts for %1 hour(s) after posting", + "post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting", + "post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting", + "post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting", "content-too-short": "Por favor, introduce unha publicación máis longa. Debe conter %1 carácter(es) como mínimo.", "content-too-long": "Por favor, introduce unha publicación máis curta. As publicacións non poden conter máis de %1 carácter(es).", "title-too-short": "Por favor, introduce un título máis longo. Os títulos deben conter %1 carácter(es) como mínimo.", @@ -68,6 +76,7 @@ "invalid-image-extension": "Extensión de imaxe inválida", "invalid-file-type": "Tipo de arquivo inválido. Tipos admitidos: %1", "group-name-too-short": "Nome de grupo moi curto", + "group-name-too-long": "Group name too long", "group-already-exists": "O grupo xa existe", "group-name-change-not-allowed": "Cambio de nome do grupo non permitido", "group-already-member": "Xa eres parte deste grupo", @@ -109,5 +118,6 @@ "no-session-found": "Non se atopa ningún inicio de sesión!", "not-in-room": "O usuario non se encontra nesta sala", "no-users-in-room": "Non hai usuarios nesta sala", - "cant-kick-self": "Non te podes expulsar a ti mesmo do grupo" + "cant-kick-self": "Non te podes expulsar a ti mesmo do grupo", + "no-users-selected": "No user(s) selected" } \ No newline at end of file diff --git a/public/language/gl/pages.json b/public/language/gl/pages.json index 1e79b68418..e14eb65e85 100644 --- a/public/language/gl/pages.json +++ b/public/language/gl/pages.json @@ -12,6 +12,7 @@ "users/sort-posts": "Usuarios con máis temas", "users/sort-reputation": "Usuarios máis reputados", "users/banned": "Usuarios Expulsados", + "users/most-flags": "Most flagged users", "users/search": "Búsqueda de usuarios", "notifications": "Notificacións", "tags": "Etiquetas", diff --git a/public/language/gl/user.json b/public/language/gl/user.json index 59e0d1a9c6..96d1a465a3 100644 --- a/public/language/gl/user.json +++ b/public/language/gl/user.json @@ -95,8 +95,8 @@ "delay_image_loading": "Retrasar a carga de imaxes", "image_load_delay_help": "Se se habilita, as imaxes non cargarán hasta que sexan visibles na pantalla", "scroll_to_my_post": "Logo de enviar unha resposta, mostrar a nova mensaxe", - "follow_topics_you_reply_to": "Segui-los temas nos que respostas", - "follow_topics_you_create": "Segui-los temas que ti fas", + "follow_topics_you_reply_to": "Watch topics that you reply to", + "follow_topics_you_create": "Watch topics you create", "grouptitle": "Título do Grupo", "no-group-title": "Sen titulo de grupo", "select-skin": "Seleccionar apariencia", diff --git a/public/language/gl/users.json b/public/language/gl/users.json index 625c85f741..e05a100f87 100644 --- a/public/language/gl/users.json +++ b/public/language/gl/users.json @@ -2,6 +2,7 @@ "latest_users": "Últimos usuarios", "top_posters": "Maiores Publicadores", "most_reputation": "Máis Reputados", + "most_flags": "Most Flags", "search": "Busca", "enter_username": "Introduce o nome de usuario a procurar", "load_more": "Cargar máis", diff --git a/public/language/he/error.json b/public/language/he/error.json index 2d78bcd580..c30c84bc10 100644 --- a/public/language/he/error.json +++ b/public/language/he/error.json @@ -30,6 +30,7 @@ "user-banned": "המשתמש מושעה", "user-too-new": "אנא המתן %1 שניות לפני פרסום ההודעה", "blacklisted-ip": "Sorry, your IP address has been banned from this community. If you feel this is in error, please contact an administrator.", + "ban-expiry-missing": "Please provide an end date for this ban", "no-category": "קטגוריה אינה קיימת", "no-topic": "נושא אינו קיים", "no-post": "פוסט אינו קיים", @@ -46,6 +47,13 @@ "post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting", "post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting", "post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting", + "post-delete-duration-expired": "You are only allowed to delete posts for %1 second(s) after posting", + "post-delete-duration-expired-minutes": "You are only allowed to delete posts for %1 minute(s) after posting", + "post-delete-duration-expired-minutes-seconds": "You are only allowed to delete posts for %1 minute(s) %2 second(s) after posting", + "post-delete-duration-expired-hours": "You are only allowed to delete posts for %1 hour(s) after posting", + "post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting", + "post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting", + "post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting", "content-too-short": "אנא הכנס פוסט ארוך יותר. פוסטים חייבים להכיל לפחות %1 תווים.", "content-too-long": "אנא הכנס פוסט קצר יותר. פוסטים חייבים להיות קצרים יותר מ-%1 תווים.", "title-too-short": "אנא הכנס כותרת ארוכה יותר. כותרות חייבות להכיל לפחות %1 תווים.", @@ -68,6 +76,7 @@ "invalid-image-extension": "פורמט תמונה לא תקין", "invalid-file-type": "פורמט הקובץ לא תקין. הפורמטים המורשים הם: %1", "group-name-too-short": "שם הקבוצה קצר מדי", + "group-name-too-long": "Group name too long", "group-already-exists": "הקבוצה כבר קיימת", "group-name-change-not-allowed": "לא ניתן לשנות את שם הקבוצה", "group-already-member": "כבר חבר בקבוצה זו", @@ -109,5 +118,6 @@ "no-session-found": "לא נמצאו סשני התחברות!", "not-in-room": "משתמש זה לא בצ'אט", "no-users-in-room": "אין משתמש בחדר הזה", - "cant-kick-self": "You can't kick yourself from the group" + "cant-kick-self": "You can't kick yourself from the group", + "no-users-selected": "No user(s) selected" } \ No newline at end of file diff --git a/public/language/he/pages.json b/public/language/he/pages.json index 0a36793f6a..e939b0b589 100644 --- a/public/language/he/pages.json +++ b/public/language/he/pages.json @@ -12,6 +12,7 @@ "users/sort-posts": "משתמשים עם המונה הגבוה ביותר", "users/sort-reputation": "משתמשים עם המוניטין הגבוה ביותר", "users/banned": "משתמשים מורחקים", + "users/most-flags": "Most flagged users", "users/search": "חיפוש משתמשים", "notifications": "התראות", "tags": "תגיות", diff --git a/public/language/he/user.json b/public/language/he/user.json index df7d72d110..79296e8215 100644 --- a/public/language/he/user.json +++ b/public/language/he/user.json @@ -95,8 +95,8 @@ "delay_image_loading": "Delay Image Loading", "image_load_delay_help": "If enabled, images in topics will not load until they are scrolled into view", "scroll_to_my_post": "After posting a reply, show the new post", - "follow_topics_you_reply_to": "עקוב אחרת נושאים שהגבת בהם", - "follow_topics_you_create": "עקוב אחר נושאים שיצרת", + "follow_topics_you_reply_to": "Watch topics that you reply to", + "follow_topics_you_create": "Watch topics you create", "grouptitle": "Group Title", "no-group-title": "ללא כותרת לקבוצה", "select-skin": "בחר מראה", diff --git a/public/language/he/users.json b/public/language/he/users.json index 7bbdc26e0b..b4c068bd33 100644 --- a/public/language/he/users.json +++ b/public/language/he/users.json @@ -2,6 +2,7 @@ "latest_users": "משתמשים אחרונים", "top_posters": "מפרסמים הכי הרבה", "most_reputation": "המוניטין הגבוה ביותר", + "most_flags": "Most Flags", "search": "חיפוש", "enter_username": "הכנס שם משתמש לחיפוש", "load_more": "טען עוד", diff --git a/public/language/hu/error.json b/public/language/hu/error.json index 9a802540c9..c3a461d679 100644 --- a/public/language/hu/error.json +++ b/public/language/hu/error.json @@ -30,6 +30,7 @@ "user-banned": "Kitiltott felhasználó", "user-too-new": "Sorry, you are required to wait %1 second(s) before making your first post", "blacklisted-ip": "Sorry, your IP address has been banned from this community. If you feel this is in error, please contact an administrator.", + "ban-expiry-missing": "Please provide an end date for this ban", "no-category": "Nem létező kategória", "no-topic": "Nem létező téma", "no-post": "Nem létező hozzászólás", @@ -46,6 +47,13 @@ "post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting", "post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting", "post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting", + "post-delete-duration-expired": "You are only allowed to delete posts for %1 second(s) after posting", + "post-delete-duration-expired-minutes": "You are only allowed to delete posts for %1 minute(s) after posting", + "post-delete-duration-expired-minutes-seconds": "You are only allowed to delete posts for %1 minute(s) %2 second(s) after posting", + "post-delete-duration-expired-hours": "You are only allowed to delete posts for %1 hour(s) after posting", + "post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting", + "post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting", + "post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting", "content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).", "content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).", "title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).", @@ -68,6 +76,7 @@ "invalid-image-extension": "Érvénytelen a kép kiterjesztése", "invalid-file-type": "Érvénytelen a fájl típusa. Engedélyezett kiterjesztések: %1", "group-name-too-short": "A csoport név túl rövid", + "group-name-too-long": "Group name too long", "group-already-exists": "A csoport nem létezik", "group-name-change-not-allowed": "A csoport névváltoztatás nem engedélyezett", "group-already-member": "Already part of this group", @@ -109,5 +118,6 @@ "no-session-found": "No login session found!", "not-in-room": "User not in room", "no-users-in-room": "No users in this room", - "cant-kick-self": "You can't kick yourself from the group" + "cant-kick-self": "You can't kick yourself from the group", + "no-users-selected": "No user(s) selected" } \ No newline at end of file diff --git a/public/language/hu/pages.json b/public/language/hu/pages.json index c67ccb5355..9ae7887b0e 100644 --- a/public/language/hu/pages.json +++ b/public/language/hu/pages.json @@ -12,6 +12,7 @@ "users/sort-posts": "Users with the most posts", "users/sort-reputation": "Users with the most reputation", "users/banned": "Banned Users", + "users/most-flags": "Most flagged users", "users/search": "User Search", "notifications": "Értesítések", "tags": "Tags", diff --git a/public/language/hu/user.json b/public/language/hu/user.json index 26c4316754..dc8c9969d3 100644 --- a/public/language/hu/user.json +++ b/public/language/hu/user.json @@ -95,8 +95,8 @@ "delay_image_loading": "Delay Image Loading", "image_load_delay_help": "If enabled, images in topics will not load until they are scrolled into view", "scroll_to_my_post": "After posting a reply, show the new post", - "follow_topics_you_reply_to": "Follow topics that you reply to", - "follow_topics_you_create": "Follow topics you create", + "follow_topics_you_reply_to": "Watch topics that you reply to", + "follow_topics_you_create": "Watch topics you create", "grouptitle": "Group Title", "no-group-title": "No group title", "select-skin": "Select a Skin", diff --git a/public/language/hu/users.json b/public/language/hu/users.json index faedac9f35..8deea8b8c2 100644 --- a/public/language/hu/users.json +++ b/public/language/hu/users.json @@ -2,6 +2,7 @@ "latest_users": "Legújabb felhasználók", "top_posters": "Legaktívabbak", "most_reputation": "Legnépszerűbbek", + "most_flags": "Most Flags", "search": "Keresés", "enter_username": "Írj be egy nicknevet a kereséshez", "load_more": "Több betöltése", diff --git a/public/language/id/error.json b/public/language/id/error.json index 203233980a..0c8082a88f 100644 --- a/public/language/id/error.json +++ b/public/language/id/error.json @@ -30,6 +30,7 @@ "user-banned": "Pengguna dibanned", "user-too-new": "Sorry, you are required to wait %1 second(s) before making your first post", "blacklisted-ip": "Sorry, your IP address has been banned from this community. If you feel this is in error, please contact an administrator.", + "ban-expiry-missing": "Please provide an end date for this ban", "no-category": "Kategori tidak ditemukan", "no-topic": "Topik tidak ditemukan", "no-post": "Post tidak ditemukan", @@ -46,6 +47,13 @@ "post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting", "post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting", "post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting", + "post-delete-duration-expired": "You are only allowed to delete posts for %1 second(s) after posting", + "post-delete-duration-expired-minutes": "You are only allowed to delete posts for %1 minute(s) after posting", + "post-delete-duration-expired-minutes-seconds": "You are only allowed to delete posts for %1 minute(s) %2 second(s) after posting", + "post-delete-duration-expired-hours": "You are only allowed to delete posts for %1 hour(s) after posting", + "post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting", + "post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting", + "post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting", "content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).", "content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).", "title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).", @@ -68,6 +76,7 @@ "invalid-image-extension": "Invalid image extension", "invalid-file-type": "Invalid file type. Allowed types are: %1", "group-name-too-short": "Nama grup terlalu pendek", + "group-name-too-long": "Group name too long", "group-already-exists": "Grup sudah ada", "group-name-change-not-allowed": "Perubahan nama grup tidak dibolehkan", "group-already-member": "Already part of this group", @@ -109,5 +118,6 @@ "no-session-found": "No login session found!", "not-in-room": "User not in room", "no-users-in-room": "No users in this room", - "cant-kick-self": "You can't kick yourself from the group" + "cant-kick-self": "You can't kick yourself from the group", + "no-users-selected": "No user(s) selected" } \ No newline at end of file diff --git a/public/language/id/pages.json b/public/language/id/pages.json index 0ec372ded8..2d5d418547 100644 --- a/public/language/id/pages.json +++ b/public/language/id/pages.json @@ -12,6 +12,7 @@ "users/sort-posts": "Users with the most posts", "users/sort-reputation": "Users with the most reputation", "users/banned": "Banned Users", + "users/most-flags": "Most flagged users", "users/search": "User Search", "notifications": "Pemberitahuan", "tags": "Tags", diff --git a/public/language/id/user.json b/public/language/id/user.json index d486152450..4acdc89f51 100644 --- a/public/language/id/user.json +++ b/public/language/id/user.json @@ -95,8 +95,8 @@ "delay_image_loading": "Delay Image Loading", "image_load_delay_help": "If enabled, images in topics will not load until they are scrolled into view", "scroll_to_my_post": "After posting a reply, show the new post", - "follow_topics_you_reply_to": "Follow topics that you reply to", - "follow_topics_you_create": "Follow topics you create", + "follow_topics_you_reply_to": "Watch topics that you reply to", + "follow_topics_you_create": "Watch topics you create", "grouptitle": "Group Title", "no-group-title": "No group title", "select-skin": "Select a Skin", diff --git a/public/language/id/users.json b/public/language/id/users.json index 7beb3ead46..23c5728a82 100644 --- a/public/language/id/users.json +++ b/public/language/id/users.json @@ -2,6 +2,7 @@ "latest_users": "Pengguna Terakhir", "top_posters": "Posting Terbanyak", "most_reputation": "Reputasi Terbanyak", + "most_flags": "Most Flags", "search": "Pencarian", "enter_username": "Masukkan nama pengguna untuk mencari", "load_more": "Tampilkan Lebih Banyak", diff --git a/public/language/it/error.json b/public/language/it/error.json index 904cc4b35d..d7af7cfe6b 100644 --- a/public/language/it/error.json +++ b/public/language/it/error.json @@ -30,6 +30,7 @@ "user-banned": "Utente bannato", "user-too-new": "Devi attendere %1 secondi prima di creare il tuo primo post", "blacklisted-ip": "Sorry, your IP address has been banned from this community. If you feel this is in error, please contact an administrator.", + "ban-expiry-missing": "Please provide an end date for this ban", "no-category": "La Categoria non esiste", "no-topic": "Il Topic non esiste", "no-post": "Il Post non esiste", @@ -46,6 +47,13 @@ "post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting", "post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting", "post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting", + "post-delete-duration-expired": "You are only allowed to delete posts for %1 second(s) after posting", + "post-delete-duration-expired-minutes": "You are only allowed to delete posts for %1 minute(s) after posting", + "post-delete-duration-expired-minutes-seconds": "You are only allowed to delete posts for %1 minute(s) %2 second(s) after posting", + "post-delete-duration-expired-hours": "You are only allowed to delete posts for %1 hour(s) after posting", + "post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting", + "post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting", + "post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting", "content-too-short": "Inserisci un testo più lungo. Il messaggio deve contenere almeno %1 caratteri.", "content-too-long": "Inserisci un post più breve. I post non possono essere più lunghi di %1 caratteri.", "title-too-short": "Inserisci un titolo più lungo. I titoli devono contenere almeno %1 caratteri.", @@ -68,6 +76,7 @@ "invalid-image-extension": "Estensione immagine non valida", "invalid-file-type": "Tipo di file non valido. I formati consentiti sono: %1", "group-name-too-short": "Nome del Gruppo troppo corto", + "group-name-too-long": "Group name too long", "group-already-exists": "Il Gruppo esiste già", "group-name-change-not-allowed": "Il cambio di nome al Gruppo non è consentito", "group-already-member": "Already part of this group", @@ -109,5 +118,6 @@ "no-session-found": "No login session found!", "not-in-room": "User not in room", "no-users-in-room": "No users in this room", - "cant-kick-self": "You can't kick yourself from the group" + "cant-kick-self": "You can't kick yourself from the group", + "no-users-selected": "No user(s) selected" } \ No newline at end of file diff --git a/public/language/it/pages.json b/public/language/it/pages.json index dd6de7ed92..477782d3c8 100644 --- a/public/language/it/pages.json +++ b/public/language/it/pages.json @@ -12,6 +12,7 @@ "users/sort-posts": "Utenti maggiori contributori", "users/sort-reputation": "Utenti con la reputazione più alta", "users/banned": "Banned Users", + "users/most-flags": "Most flagged users", "users/search": "Ricerca Utenti", "notifications": "Notifiche", "tags": "Tags", diff --git a/public/language/it/user.json b/public/language/it/user.json index 3bde55d516..2ef72244b7 100644 --- a/public/language/it/user.json +++ b/public/language/it/user.json @@ -95,8 +95,8 @@ "delay_image_loading": "Delay Image Loading", "image_load_delay_help": "If enabled, images in topics will not load until they are scrolled into view", "scroll_to_my_post": "After posting a reply, show the new post", - "follow_topics_you_reply_to": "Segui le discussioni a cui hai risposto", - "follow_topics_you_create": "Segui le discussioni che hai iniziato", + "follow_topics_you_reply_to": "Watch topics that you reply to", + "follow_topics_you_create": "Watch topics you create", "grouptitle": "Group Title", "no-group-title": "Nessun titolo al gruppo", "select-skin": "Seleziona uno Skin", diff --git a/public/language/it/users.json b/public/language/it/users.json index b4770d2df5..3299cd0459 100644 --- a/public/language/it/users.json +++ b/public/language/it/users.json @@ -2,6 +2,7 @@ "latest_users": "Ultimi Utenti", "top_posters": "Maggiori contributori", "most_reputation": "Reputazione più alta", + "most_flags": "Most Flags", "search": "Cerca", "enter_username": "Inserisci il nome utente da cercare", "load_more": "Carica altri", diff --git a/public/language/ja/error.json b/public/language/ja/error.json index f3013b12d6..14332c43a4 100644 --- a/public/language/ja/error.json +++ b/public/language/ja/error.json @@ -30,6 +30,7 @@ "user-banned": "ユーザーは停止されています", "user-too-new": "申し訳ありません。登録後に投稿を行うには%1秒お待ち下さい。", "blacklisted-ip": "Sorry, your IP address has been banned from this community. If you feel this is in error, please contact an administrator.", + "ban-expiry-missing": "Please provide an end date for this ban", "no-category": "カテゴリは存在しません", "no-topic": "トピックは存在しません", "no-post": "投稿は存在しません", @@ -46,6 +47,13 @@ "post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting", "post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting", "post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting", + "post-delete-duration-expired": "You are only allowed to delete posts for %1 second(s) after posting", + "post-delete-duration-expired-minutes": "You are only allowed to delete posts for %1 minute(s) after posting", + "post-delete-duration-expired-minutes-seconds": "You are only allowed to delete posts for %1 minute(s) %2 second(s) after posting", + "post-delete-duration-expired-hours": "You are only allowed to delete posts for %1 hour(s) after posting", + "post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting", + "post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting", + "post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting", "content-too-short": "より長く投稿を書いて下さい。投稿にはせめて%1文字が必要です。", "content-too-long": "より短く投稿を書いて下さい。投稿が%1文字以上が許されません。", "title-too-short": "より長くタイトルを書いて下さい。タイトルはせめて%1文字が必要です。", @@ -68,6 +76,7 @@ "invalid-image-extension": "無効なイメージのエクステンション", "invalid-file-type": "無効なファイルタイプです。許可された種類は: %1", "group-name-too-short": "グループ名は短すぎます。", + "group-name-too-long": "Group name too long", "group-already-exists": "グループ名はすでに存在しています", "group-name-change-not-allowed": "グループ名の修正はできません", "group-already-member": "既にこのグループの一部であります", @@ -109,5 +118,6 @@ "no-session-found": "No login session found!", "not-in-room": "User not in room", "no-users-in-room": "No users in this room", - "cant-kick-self": "You can't kick yourself from the group" + "cant-kick-self": "You can't kick yourself from the group", + "no-users-selected": "No user(s) selected" } \ No newline at end of file diff --git a/public/language/ja/pages.json b/public/language/ja/pages.json index 717c66327e..037ef853f4 100644 --- a/public/language/ja/pages.json +++ b/public/language/ja/pages.json @@ -12,6 +12,7 @@ "users/sort-posts": "ほとんどの投稿を持つユーザー", "users/sort-reputation": "一番評価の高いユーザー", "users/banned": "Banned Users", + "users/most-flags": "Most flagged users", "users/search": "ユーザーを検索", "notifications": "通知", "tags": "Tags", diff --git a/public/language/ja/user.json b/public/language/ja/user.json index 2d539862dd..a205a6d4d1 100644 --- a/public/language/ja/user.json +++ b/public/language/ja/user.json @@ -95,8 +95,8 @@ "delay_image_loading": "Delay Image Loading", "image_load_delay_help": "If enabled, images in topics will not load until they are scrolled into view", "scroll_to_my_post": "After posting a reply, show the new post", - "follow_topics_you_reply_to": "返信したトピックをフォローします", - "follow_topics_you_create": "投稿したトピックをフォローします", + "follow_topics_you_reply_to": "Watch topics that you reply to", + "follow_topics_you_create": "Watch topics you create", "grouptitle": "Group Title", "no-group-title": "グループ名がありません", "select-skin": "スキンを選んで下さい", diff --git a/public/language/ja/users.json b/public/language/ja/users.json index feb467657d..65fafee4d4 100644 --- a/public/language/ja/users.json +++ b/public/language/ja/users.json @@ -2,6 +2,7 @@ "latest_users": "新しいユーザー", "top_posters": "最も投稿したユーザー", "most_reputation": "最も評価されたユーザー", + "most_flags": "Most Flags", "search": "検索", "enter_username": "検索するユーザー名を入力してください", "load_more": "もっと見る", diff --git a/public/language/ko/error.json b/public/language/ko/error.json index 6cb0d4f61b..ca530bc67c 100644 --- a/public/language/ko/error.json +++ b/public/language/ko/error.json @@ -30,6 +30,7 @@ "user-banned": "차단된 사용자입니다.", "user-too-new": "죄송합니다, 첫 번째 게시물은 %1 초 후에 작성할 수 있습니다.", "blacklisted-ip": "죄송하지만, 당신의 IP는 이 커뮤니티로부터 차단되었습니다. 만약 에러라는 생각이 드신다면 관리자에게 연락해주세요.", + "ban-expiry-missing": "Please provide an end date for this ban", "no-category": "존재하지 않는 카테고리입니다.", "no-topic": "존재하지 않는 주제입니다.", "no-post": "존재하지 않는 게시물입니다.", @@ -46,6 +47,13 @@ "post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting", "post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting", "post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting", + "post-delete-duration-expired": "You are only allowed to delete posts for %1 second(s) after posting", + "post-delete-duration-expired-minutes": "You are only allowed to delete posts for %1 minute(s) after posting", + "post-delete-duration-expired-minutes-seconds": "You are only allowed to delete posts for %1 minute(s) %2 second(s) after posting", + "post-delete-duration-expired-hours": "You are only allowed to delete posts for %1 hour(s) after posting", + "post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting", + "post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting", + "post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting", "content-too-short": "게시물의 내용이 너무 짧습니다. 내용은 최소 %1자 이상이어야 합니다.", "content-too-long": "게시물의 내용이 너무 깁니다. 내용은 최대 %1자 이내로 작성할 수 있습니다.", "title-too-short": "제목이 너무 짧습니다. 제목은 최소 %1자 이상이어야 합니다.", @@ -68,6 +76,7 @@ "invalid-image-extension": "올바르지 않은 이미지 확장자입니다.", "invalid-file-type": "올바르지 않은 파일 유형입니다. 사용가능한 유형: %1", "group-name-too-short": "그룹 이름이 너무 짧습니다.", + "group-name-too-long": "Group name too long", "group-already-exists": "이미 존재하는 그룹입니다.", "group-name-change-not-allowed": "그룹 이름의 변경은 불가합니다.", "group-already-member": "이미 이 그룹에 속해있습니다.", @@ -109,5 +118,6 @@ "no-session-found": "로그인 세션을 찾을 수 없습니다.", "not-in-room": "없는 사용자입니다.", "no-users-in-room": "사용자가 없습니다.", - "cant-kick-self": "스스로 이 그룹을 탈퇴할 수 없습니다." + "cant-kick-self": "스스로 이 그룹을 탈퇴할 수 없습니다.", + "no-users-selected": "No user(s) selected" } \ No newline at end of file diff --git a/public/language/ko/pages.json b/public/language/ko/pages.json index 65130b5b29..d7c47cd17d 100644 --- a/public/language/ko/pages.json +++ b/public/language/ko/pages.json @@ -12,6 +12,7 @@ "users/sort-posts": "가장 많은 게시물을 작성한 사용자", "users/sort-reputation": "가장 높은 인지도를 가진 사용자", "users/banned": "차단된 유저", + "users/most-flags": "Most flagged users", "users/search": "사용자 검색", "notifications": "알림", "tags": "태그", diff --git a/public/language/ko/user.json b/public/language/ko/user.json index c26b383d2e..eb6c5e0b71 100644 --- a/public/language/ko/user.json +++ b/public/language/ko/user.json @@ -95,8 +95,8 @@ "delay_image_loading": "이미지 로딩 지연", "image_load_delay_help": "활성화 되면 이미지 위치로 스크롤을 움직이기 전까지 이미지가 로드 되지 않습니다.", "scroll_to_my_post": "답글 게시 후 새 포스트 보여주기", - "follow_topics_you_reply_to": "답글 단 게시물을 팔로우 합니다.", - "follow_topics_you_create": "생성한 주제를 팔로우 합니다.", + "follow_topics_you_reply_to": "Watch topics that you reply to", + "follow_topics_you_create": "Watch topics you create", "grouptitle": "그룹 주제", "no-group-title": "그룹 이름이 없습니다.", "select-skin": "스킨 선택", diff --git a/public/language/ko/users.json b/public/language/ko/users.json index a3ba794ca2..738cbe8f05 100644 --- a/public/language/ko/users.json +++ b/public/language/ko/users.json @@ -2,6 +2,7 @@ "latest_users": "가입일", "top_posters": "게시물 수", "most_reputation": "인기도", + "most_flags": "Most Flags", "search": "검색", "enter_username": "검색할 사용자 이름을 입력하세요.", "load_more": "더 보기", diff --git a/public/language/lt/error.json b/public/language/lt/error.json index 7d78af06bf..c1f30b5596 100644 --- a/public/language/lt/error.json +++ b/public/language/lt/error.json @@ -30,6 +30,7 @@ "user-banned": "Vartotojas užblokuotas", "user-too-new": "Atsiprašome, jūs įpareigoti palaukti %1 sekunde(s) prieš rašant pirmą pranešimą", "blacklisted-ip": "Sorry, your IP address has been banned from this community. If you feel this is in error, please contact an administrator.", + "ban-expiry-missing": "Please provide an end date for this ban", "no-category": "Tokios kategorijos nėra", "no-topic": "Tokios temos nėra", "no-post": "Tokio įrašo nėra", @@ -46,6 +47,13 @@ "post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting", "post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting", "post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting", + "post-delete-duration-expired": "You are only allowed to delete posts for %1 second(s) after posting", + "post-delete-duration-expired-minutes": "You are only allowed to delete posts for %1 minute(s) after posting", + "post-delete-duration-expired-minutes-seconds": "You are only allowed to delete posts for %1 minute(s) %2 second(s) after posting", + "post-delete-duration-expired-hours": "You are only allowed to delete posts for %1 hour(s) after posting", + "post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting", + "post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting", + "post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting", "content-too-short": "Prašome parašyti ilgesni pranešimą. Pranešimas turi sudaryti mažiausiai %1 simboli(us)", "content-too-long": "Prašome parašyti trumpesnį pranešimą. Pranešimas negali sudaryti daugiau %1 simboli(us)", "title-too-short": "Prašome įvesti ilgesni pavadinimą. Pavadinimas turi sudaryti mažiausiai %1 simboli(us)", @@ -68,6 +76,7 @@ "invalid-image-extension": "Neteisingas vaizdo plėtinys", "invalid-file-type": "Neteisingas failo tipas. Leidžiami tipai: %1", "group-name-too-short": "Grupės pavadinimas per trumpas", + "group-name-too-long": "Group name too long", "group-already-exists": "Tokia grupė jau egzistuoja", "group-name-change-not-allowed": "Grupės pavadinimas keitimas neleidžiamas", "group-already-member": "Already part of this group", @@ -109,5 +118,6 @@ "no-session-found": "No login session found!", "not-in-room": "User not in room", "no-users-in-room": "No users in this room", - "cant-kick-self": "You can't kick yourself from the group" + "cant-kick-self": "You can't kick yourself from the group", + "no-users-selected": "No user(s) selected" } \ No newline at end of file diff --git a/public/language/lt/pages.json b/public/language/lt/pages.json index 9eb817a26c..949e4c3eb2 100644 --- a/public/language/lt/pages.json +++ b/public/language/lt/pages.json @@ -12,6 +12,7 @@ "users/sort-posts": "Users with the most posts", "users/sort-reputation": "Users with the most reputation", "users/banned": "Banned Users", + "users/most-flags": "Most flagged users", "users/search": "User Search", "notifications": "Pranešimai", "tags": "Žymos", diff --git a/public/language/lt/user.json b/public/language/lt/user.json index ee3e009c10..51671a2486 100644 --- a/public/language/lt/user.json +++ b/public/language/lt/user.json @@ -95,8 +95,8 @@ "delay_image_loading": "Delay Image Loading", "image_load_delay_help": "If enabled, images in topics will not load until they are scrolled into view", "scroll_to_my_post": "After posting a reply, show the new post", - "follow_topics_you_reply_to": "Sekti tas temas kur atrašai tu", - "follow_topics_you_create": "Sekti tas temas kurias sukuri tu", + "follow_topics_you_reply_to": "Watch topics that you reply to", + "follow_topics_you_create": "Watch topics you create", "grouptitle": "Group Title", "no-group-title": "Nėra grupės pavadinimo", "select-skin": "Select a Skin", diff --git a/public/language/lt/users.json b/public/language/lt/users.json index e349dc32b6..e55086ed4a 100644 --- a/public/language/lt/users.json +++ b/public/language/lt/users.json @@ -2,6 +2,7 @@ "latest_users": "Paskutiniai vartotojai", "top_posters": "Geriausi autoriai", "most_reputation": "Didžiausia reputacija", + "most_flags": "Most Flags", "search": "Ieškoti", "enter_username": "Įrašykite vartotojo vardą paieškai", "load_more": "Įkelti daugiau", diff --git a/public/language/ms/error.json b/public/language/ms/error.json index dba62ae073..4f95e3308d 100644 --- a/public/language/ms/error.json +++ b/public/language/ms/error.json @@ -30,6 +30,7 @@ "user-banned": "Pengguna diharamkan", "user-too-new": "Maaf, anda dikehendaki menunggu %1 saat() sebelum membuat kiriman pertama anda", "blacklisted-ip": "Sorry, your IP address has been banned from this community. If you feel this is in error, please contact an administrator.", + "ban-expiry-missing": "Please provide an end date for this ban", "no-category": "Kategori tidak wujud", "no-topic": "Topik tidak wujud", "no-post": "Kiriman tidak wujud", @@ -46,6 +47,13 @@ "post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting", "post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting", "post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting", + "post-delete-duration-expired": "You are only allowed to delete posts for %1 second(s) after posting", + "post-delete-duration-expired-minutes": "You are only allowed to delete posts for %1 minute(s) after posting", + "post-delete-duration-expired-minutes-seconds": "You are only allowed to delete posts for %1 minute(s) %2 second(s) after posting", + "post-delete-duration-expired-hours": "You are only allowed to delete posts for %1 hour(s) after posting", + "post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting", + "post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting", + "post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting", "content-too-short": "Sila masukkan kiriman yang lebih panjang. Kiriman mesti mengandungi sekurang-kurangnya %1 aksara().", "content-too-long": "Sila masukkan kiriman yang lebih ringkas. Kiriman mesti mengandungi tidak lebih %1 aksara().", "title-too-short": "Sila masukkan tajuk yang lebih panjang. Tajuk mesti mengandungi sekurang-kurangnya %1 aksara().", @@ -68,6 +76,7 @@ "invalid-image-extension": "Sambungan imej tak sah", "invalid-file-type": "Jenis fail tak sah. Jenis fail yang dibenarkan ialah: %1", "group-name-too-short": "Nama kumpulan terlalu pendek", + "group-name-too-long": "Group name too long", "group-already-exists": "Kumpulan telah wujud", "group-name-change-not-allowed": "Pengubahan nama kumpulan tidak dibenarkan", "group-already-member": "Sudah pun sebahagian dari kumpulan ini", @@ -109,5 +118,6 @@ "no-session-found": "Tiada sesyen log masuk dijumpai", "not-in-room": "Pengguna tiada dalam bilik", "no-users-in-room": "Tiada pengguna dalam bilik ini", - "cant-kick-self": "You can't kick yourself from the group" + "cant-kick-self": "You can't kick yourself from the group", + "no-users-selected": "No user(s) selected" } \ No newline at end of file diff --git a/public/language/ms/pages.json b/public/language/ms/pages.json index c215ed4197..d6134a2dd5 100644 --- a/public/language/ms/pages.json +++ b/public/language/ms/pages.json @@ -12,6 +12,7 @@ "users/sort-posts": "Pengguna Mengikut Kiriman Terbanyak", "users/sort-reputation": "Pengguna Mengikut Reputasi Terbanyak", "users/banned": "Pengguna Diharam", + "users/most-flags": "Most flagged users", "users/search": "Carian Pengguna", "notifications": "Makluman", "tags": "Tag", diff --git a/public/language/ms/user.json b/public/language/ms/user.json index 15483532a3..0a9449ec31 100644 --- a/public/language/ms/user.json +++ b/public/language/ms/user.json @@ -95,8 +95,8 @@ "delay_image_loading": "Delay Image Loading", "image_load_delay_help": "If enabled, images in topics will not load until they are scrolled into view", "scroll_to_my_post": "After posting a reply, show the new post", - "follow_topics_you_reply_to": "Ikut topik yang anda balas", - "follow_topics_you_create": "Ikut topik yang anda buat", + "follow_topics_you_reply_to": "Watch topics that you reply to", + "follow_topics_you_create": "Watch topics you create", "grouptitle": "Group Title", "no-group-title": "Tiada nama kumpulan", "select-skin": "Pilih skin", diff --git a/public/language/ms/users.json b/public/language/ms/users.json index feb8d17edc..426f26a3e0 100644 --- a/public/language/ms/users.json +++ b/public/language/ms/users.json @@ -2,6 +2,7 @@ "latest_users": "Pengguna terkini", "top_posters": "Pengirim terbanyak", "most_reputation": "Reputasi terbaik", + "most_flags": "Most Flags", "search": "Cari", "enter_username": "Masukkan nama pengguna untuk carian", "load_more": "Muat lagi", diff --git a/public/language/nb/error.json b/public/language/nb/error.json index 464e5931cd..c49ab8f47b 100644 --- a/public/language/nb/error.json +++ b/public/language/nb/error.json @@ -30,6 +30,7 @@ "user-banned": "Bruker utestengt", "user-too-new": "Beklager, du må vente %1 sekund(er) før du oppretter ditt første innlegg", "blacklisted-ip": "Sorry, your IP address has been banned from this community. If you feel this is in error, please contact an administrator.", + "ban-expiry-missing": "Please provide an end date for this ban", "no-category": "Kategorien eksisterer ikke", "no-topic": "Emne eksisterer ikke", "no-post": "Innlegg eksisterer ikke", @@ -46,6 +47,13 @@ "post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting", "post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting", "post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting", + "post-delete-duration-expired": "You are only allowed to delete posts for %1 second(s) after posting", + "post-delete-duration-expired-minutes": "You are only allowed to delete posts for %1 minute(s) after posting", + "post-delete-duration-expired-minutes-seconds": "You are only allowed to delete posts for %1 minute(s) %2 second(s) after posting", + "post-delete-duration-expired-hours": "You are only allowed to delete posts for %1 hour(s) after posting", + "post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting", + "post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting", + "post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting", "content-too-short": "Vennligst skriv et lengre innlegg. Innlegg må inneholde minst %1 tegn.", "content-too-long": "Vennligst skriv et kortere innlegg. Innlegg kan ikke være lengre enn %1 tegn.", "title-too-short": "Vennligst skriv en lengre tittel. Titler må inneholde minst %1 tegn.", @@ -68,6 +76,7 @@ "invalid-image-extension": "Ugyldig bildefiltype", "invalid-file-type": "Ugyldig filtype. Tillatte typer er: %1", "group-name-too-short": "Gruppenavnet er for kort", + "group-name-too-long": "Group name too long", "group-already-exists": "Gruppe eksisterer allerede", "group-name-change-not-allowed": "Endring av gruppenavn er ikke tillatt", "group-already-member": "Already part of this group", @@ -109,5 +118,6 @@ "no-session-found": "No login session found!", "not-in-room": "User not in room", "no-users-in-room": "No users in this room", - "cant-kick-self": "You can't kick yourself from the group" + "cant-kick-self": "You can't kick yourself from the group", + "no-users-selected": "No user(s) selected" } \ No newline at end of file diff --git a/public/language/nb/pages.json b/public/language/nb/pages.json index cda5867418..224d00b617 100644 --- a/public/language/nb/pages.json +++ b/public/language/nb/pages.json @@ -12,6 +12,7 @@ "users/sort-posts": "Brukere med flest innlegg", "users/sort-reputation": "Brukere med best rykte", "users/banned": "Banned Users", + "users/most-flags": "Most flagged users", "users/search": "Brukersøk", "notifications": "Varsler", "tags": "Emneord", diff --git a/public/language/nb/user.json b/public/language/nb/user.json index f55c24b20c..3082f7ef9f 100644 --- a/public/language/nb/user.json +++ b/public/language/nb/user.json @@ -95,8 +95,8 @@ "delay_image_loading": "Delay Image Loading", "image_load_delay_help": "If enabled, images in topics will not load until they are scrolled into view", "scroll_to_my_post": "After posting a reply, show the new post", - "follow_topics_you_reply_to": "Følg emner du besvarer", - "follow_topics_you_create": "Følg emner du oppretter", + "follow_topics_you_reply_to": "Watch topics that you reply to", + "follow_topics_you_create": "Watch topics you create", "grouptitle": "Group Title", "no-group-title": "Ingen gruppetittel", "select-skin": "Velg et skin", diff --git a/public/language/nb/users.json b/public/language/nb/users.json index 0cfb6f31fa..c491a4d7e2 100644 --- a/public/language/nb/users.json +++ b/public/language/nb/users.json @@ -2,6 +2,7 @@ "latest_users": "Seneste brukere", "top_posters": "Flest innlegg", "most_reputation": "Best rykte", + "most_flags": "Most Flags", "search": "Søk", "enter_username": "Skriv ett brukernavn for å søke", "load_more": "Last flere", diff --git a/public/language/nl/error.json b/public/language/nl/error.json index fa81144faa..ba9d00c3cb 100644 --- a/public/language/nl/error.json +++ b/public/language/nl/error.json @@ -30,6 +30,7 @@ "user-banned": "Gebruiker verbannen", "user-too-new": "Helaas, het is een vereiste om %1 seconde(n) te wachten voordat het eerste bericht geplaatst kan worden.", "blacklisted-ip": "Sorry, uw IP-adres is verbannen uit deze community. Als u meent dat dit onterecht is, neem dan contact op met een beheerder.", + "ban-expiry-missing": "Please provide an end date for this ban", "no-category": "Categorie bestaat niet", "no-topic": "Onderwerp bestaat niet", "no-post": "Bericht bestaat niet", @@ -46,6 +47,13 @@ "post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting", "post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting", "post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting", + "post-delete-duration-expired": "You are only allowed to delete posts for %1 second(s) after posting", + "post-delete-duration-expired-minutes": "You are only allowed to delete posts for %1 minute(s) after posting", + "post-delete-duration-expired-minutes-seconds": "You are only allowed to delete posts for %1 minute(s) %2 second(s) after posting", + "post-delete-duration-expired-hours": "You are only allowed to delete posts for %1 hour(s) after posting", + "post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting", + "post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting", + "post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting", "content-too-short": "Geef wat meer inhoud aan een bericht! Berichten dienen uit minimaal %1 teken(s) te bestaan.", "content-too-long": "Kort het bericht wat in, het aantal gebruikte tekens overschrijdt het ingestelde limiet want berichten mogen niet meer dan %1 teken(s) bevatten.", "title-too-short": "Geef een titel op die uit meer tekens bestaat. Titels dienen ten minste uit %1 teken(s) te bestaan.", @@ -68,6 +76,7 @@ "invalid-image-extension": "Ongeldig bestandstype afbeelding", "invalid-file-type": "Dit bestandstype wordt niet ondersteund. Toegestane bestandstypen zijn: %1", "group-name-too-short": "De groepsnaam is te kort", + "group-name-too-long": "Group name too long", "group-already-exists": "Een groep met deze naam bestaat al", "group-name-change-not-allowed": "Het aanpassen van de groepsnaam is niet toegestaan", "group-already-member": "Deze gebruiker is al lid van deze groep", @@ -109,5 +118,6 @@ "no-session-found": "Geen login sessie gevonden!", "not-in-room": "Gebruiker niet in de chat", "no-users-in-room": "Er zijn geen gebruikers in deze chat", - "cant-kick-self": "Je kunt jezelf niet uit een groep schoppen" + "cant-kick-self": "Je kunt jezelf niet uit een groep schoppen", + "no-users-selected": "No user(s) selected" } \ No newline at end of file diff --git a/public/language/nl/pages.json b/public/language/nl/pages.json index 96f5f11a38..8be4008d95 100644 --- a/public/language/nl/pages.json +++ b/public/language/nl/pages.json @@ -12,6 +12,7 @@ "users/sort-posts": "Gebruikers met de meeste berichten", "users/sort-reputation": "Gebruikers met de meeste reputatie", "users/banned": "Verbannen Gebruikers", + "users/most-flags": "Most flagged users", "users/search": "Zoek Gebruiker", "notifications": "Notificaties", "tags": "Tags", diff --git a/public/language/nl/user.json b/public/language/nl/user.json index 3fd6525ef2..cba88cc077 100644 --- a/public/language/nl/user.json +++ b/public/language/nl/user.json @@ -95,8 +95,8 @@ "delay_image_loading": "Afbeeldingen Laden Uitstellen", "image_load_delay_help": "Indien ingeschakeld zullen afbeeldingen in topics niet laden totdat ze het scherm inscrollen", "scroll_to_my_post": "Toon het nieuwe bericht na het plaatsen van een antwoord", - "follow_topics_you_reply_to": "Volg de onderwerpen waarop ik gereageerd heb", - "follow_topics_you_create": "Volg de onderwerpen waarvan ik de oorspronkelijke auteur ben", + "follow_topics_you_reply_to": "Watch topics that you reply to", + "follow_topics_you_create": "Watch topics you create", "grouptitle": "Groepstitel", "no-group-title": "Geen groepstitel", "select-skin": "Selecteer een skin", diff --git a/public/language/nl/users.json b/public/language/nl/users.json index 03dcb21bbb..eb8ba2c2ae 100644 --- a/public/language/nl/users.json +++ b/public/language/nl/users.json @@ -2,6 +2,7 @@ "latest_users": "Laatste gebruikers", "top_posters": "Meest actieve leden", "most_reputation": "Meeste reputatie", + "most_flags": "Most Flags", "search": "Zoeken", "enter_username": "Vul een gebruikersnaam in om te zoeken", "load_more": "Meer laden...", diff --git a/public/language/pl/error.json b/public/language/pl/error.json index f32dbc55d6..98a2b56a91 100644 --- a/public/language/pl/error.json +++ b/public/language/pl/error.json @@ -30,6 +30,7 @@ "user-banned": "Użytkownik zbanowany", "user-too-new": "Przepraszamy, musisz odczekać %1 sekund(y) przed utworzeniem pierwszego posta", "blacklisted-ip": "Twój adres IP został zablokowany na tej społeczności. Jeśli uważasz to za błąd, zgłoś to administratorowi", + "ban-expiry-missing": "Please provide an end date for this ban", "no-category": "Kategoria nie istnieje", "no-topic": "Temat nie istnieje", "no-post": "Post nie istnieje", @@ -46,6 +47,13 @@ "post-edit-duration-expired-hours-minutes": "Możesz edytować posty tylko przez %1 godzin(y) i %2 minut(y) po ich napisaniu", "post-edit-duration-expired-days": "Możesz edytować posty tylko przez %1 dzień (dni) po ich napisaniu", "post-edit-duration-expired-days-hours": "Możesz edytować posty tylko przez %1 dzień (dni) i %2 godzin(y) po ich napisaniu", + "post-delete-duration-expired": "You are only allowed to delete posts for %1 second(s) after posting", + "post-delete-duration-expired-minutes": "You are only allowed to delete posts for %1 minute(s) after posting", + "post-delete-duration-expired-minutes-seconds": "You are only allowed to delete posts for %1 minute(s) %2 second(s) after posting", + "post-delete-duration-expired-hours": "You are only allowed to delete posts for %1 hour(s) after posting", + "post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting", + "post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting", + "post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting", "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.", @@ -68,6 +76,7 @@ "invalid-image-extension": "Błędne rozszerzenie pliku", "invalid-file-type": "Błędny typ pliku. Dozwolone typy to: %1", "group-name-too-short": "Nazwa grupy za krótka", + "group-name-too-long": "Group name too long", "group-already-exists": "Grupa już istnieje", "group-name-change-not-allowed": "Nie można zmieniać nazwy tej grupy.", "group-already-member": "Już jesteś członkiem tej grupy", @@ -109,5 +118,6 @@ "no-session-found": "Nie znaleziono sesji logowania", "not-in-room": "Użytkownik nie jest w pokoju", "no-users-in-room": "Brak użytkowników w pokoju", - "cant-kick-self": "Nie możesz wyrzucić samego siebie z grupy" + "cant-kick-self": "Nie możesz wyrzucić samego siebie z grupy", + "no-users-selected": "No user(s) selected" } \ No newline at end of file diff --git a/public/language/pl/pages.json b/public/language/pl/pages.json index d589d920f5..5ea253c797 100644 --- a/public/language/pl/pages.json +++ b/public/language/pl/pages.json @@ -12,6 +12,7 @@ "users/sort-posts": "Użytkownicy z największą liczbą postów", "users/sort-reputation": "Użytkownicy z najwyższą reputacją", "users/banned": "Banned Users", + "users/most-flags": "Most flagged users", "users/search": "Wyszukiwanie Użytkownków", "notifications": "Powiadomienia", "tags": "Tagi", diff --git a/public/language/pl/user.json b/public/language/pl/user.json index 3b95dbcb27..3dff926b77 100644 --- a/public/language/pl/user.json +++ b/public/language/pl/user.json @@ -95,8 +95,8 @@ "delay_image_loading": "Opóźnienie ładowania zdjęcia", "image_load_delay_help": "Jeśli włączone, zdjęcia w temacie nie załadują się dopóki nie najedzie się", "scroll_to_my_post": "Po napisaniu odpowiedzi, wyświetl najnowsze posty", - "follow_topics_you_reply_to": "Śledź tematy, na które odpowiadasz", - "follow_topics_you_create": "Śledź tematy, które tworzysz", + "follow_topics_you_reply_to": "Watch topics that you reply to", + "follow_topics_you_create": "Watch topics you create", "grouptitle": "Tytuł grupy", "no-group-title": "Brak tytułu grupy", "select-skin": "Wybierz Skórkę", diff --git a/public/language/pl/users.json b/public/language/pl/users.json index 90e4ecb593..59c58c8df7 100644 --- a/public/language/pl/users.json +++ b/public/language/pl/users.json @@ -2,6 +2,7 @@ "latest_users": "Nowi użytkownicy", "top_posters": "Najwięcej postów", "most_reputation": "Największa reputacja", + "most_flags": "Most Flags", "search": "Szukaj", "enter_username": "Wpisz wyszukiwaną nazwę użytkownika", "load_more": "Wczytaj Więcej", diff --git a/public/language/pt_BR/error.json b/public/language/pt_BR/error.json index 93f11c3928..be9e3d7492 100644 --- a/public/language/pt_BR/error.json +++ b/public/language/pt_BR/error.json @@ -30,6 +30,7 @@ "user-banned": "Usuário banido", "user-too-new": "Desculpe, é necessário que você aguarde %1 segundo(s) antes de fazer o seu primeiro post.", "blacklisted-ip": "Desculpe, o seu endereço IP foi banido desta comunidade. Se você acha que isso é um engano, por favor contate um administrador.", + "ban-expiry-missing": "Please provide an end date for this ban", "no-category": "A categoria não existe", "no-topic": "O tópico não existe", "no-post": "O post não existe", @@ -46,6 +47,13 @@ "post-edit-duration-expired-hours-minutes": "Você pode apenas editar posts por %1 hora(s) e %2 minuto(s) após postar", "post-edit-duration-expired-days": "Você pode apenas editar posts por %1 dia(s) após postar", "post-edit-duration-expired-days-hours": "Você pode apenas editar posts por %1 dia(s) e %2 hora(s) após postar", + "post-delete-duration-expired": "You are only allowed to delete posts for %1 second(s) after posting", + "post-delete-duration-expired-minutes": "You are only allowed to delete posts for %1 minute(s) after posting", + "post-delete-duration-expired-minutes-seconds": "You are only allowed to delete posts for %1 minute(s) %2 second(s) after posting", + "post-delete-duration-expired-hours": "You are only allowed to delete posts for %1 hour(s) after posting", + "post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting", + "post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting", + "post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting", "content-too-short": "Por favor digite um post maior. Posts precisam conter ao menos %1 caractere(s).", "content-too-long": "Por favor digite um post mais curto. Posts não podem ser maiores que %1 caractere(s)", "title-too-short": "Por favor digite um título maior. Títulos devem conter no mínimo %1 caractere(s)", @@ -68,6 +76,7 @@ "invalid-image-extension": "Extensão de imagem inválida", "invalid-file-type": "Tipo de arquivo inválido. Os tipos permitidos são: %1", "group-name-too-short": "Nome do grupo é muito curto", + "group-name-too-long": "Group name too long", "group-already-exists": "O grupo já existe", "group-name-change-not-allowed": "Sem permissão para alterar nome do grupo", "group-already-member": "Já faz parte deste grupo", @@ -109,5 +118,6 @@ "no-session-found": "Nenhuma sessão de login encontrada!", "not-in-room": "O usuário não está na sala", "no-users-in-room": "Nenhum usuário nesta sala", - "cant-kick-self": "Você não pode kickar a si mesmo do grupo" + "cant-kick-self": "Você não pode kickar a si mesmo do grupo", + "no-users-selected": "No user(s) selected" } \ No newline at end of file diff --git a/public/language/pt_BR/global.json b/public/language/pt_BR/global.json index cb79fa97d5..89778c07ef 100644 --- a/public/language/pt_BR/global.json +++ b/public/language/pt_BR/global.json @@ -78,7 +78,7 @@ "language": "Idioma", "guest": "Visitante", "guests": "Visitantes", - "updated.title": "Fórum Atualizado", + "updated.title": "Forum Updated", "updated.message": "Este fórum foi atualizado para sua última versão. Clique aqui para atualizar a página.", "privacy": "Privacidade", "follow": "Seguir", diff --git a/public/language/pt_BR/pages.json b/public/language/pt_BR/pages.json index ac5238bb22..b2d2f1e277 100644 --- a/public/language/pt_BR/pages.json +++ b/public/language/pt_BR/pages.json @@ -12,6 +12,7 @@ "users/sort-posts": "Usuários com mais posts", "users/sort-reputation": "Usuários com maior reputação", "users/banned": "Usuários Banidos", + "users/most-flags": "Most flagged users", "users/search": "Pesquisa de Usuários", "notifications": "Notificações", "tags": "Tags", diff --git a/public/language/pt_BR/user.json b/public/language/pt_BR/user.json index dd9a312176..6d8c1545fb 100644 --- a/public/language/pt_BR/user.json +++ b/public/language/pt_BR/user.json @@ -95,8 +95,8 @@ "delay_image_loading": "Aguardar para Carregar Imagens", "image_load_delay_help": "Se habilitado, imagens em tópicos não serão carregadas até que eles sejam rolados à visão", "scroll_to_my_post": "Após postar uma réplica, mostre o novo post", - "follow_topics_you_reply_to": "Seguir tópicos que você responde", - "follow_topics_you_create": "Seguir tópicos que você cria", + "follow_topics_you_reply_to": "Watch topics that you reply to", + "follow_topics_you_create": "Watch topics you create", "grouptitle": "Título do Grupo", "no-group-title": "Sem título de grupo", "select-skin": "Escolha uma Skin", diff --git a/public/language/pt_BR/users.json b/public/language/pt_BR/users.json index 0cd0b190d5..e67604fdba 100644 --- a/public/language/pt_BR/users.json +++ b/public/language/pt_BR/users.json @@ -2,6 +2,7 @@ "latest_users": "Últimos Usuários", "top_posters": "Principais Participantes", "most_reputation": "Maior Reputação", + "most_flags": "Most Flags", "search": "Pesquisar", "enter_username": "Digite um nome de usuário para pesquisar", "load_more": "Carregar Mais", diff --git a/public/language/ro/error.json b/public/language/ro/error.json index b78f1f077b..c9dcb91bf3 100644 --- a/public/language/ro/error.json +++ b/public/language/ro/error.json @@ -30,6 +30,7 @@ "user-banned": "Utilizator banat", "user-too-new": "Imi pare rau dar trebuie sa astepti %1 secunda(e) pentru a posta prima oara.", "blacklisted-ip": "Sorry, your IP address has been banned from this community. If you feel this is in error, please contact an administrator.", + "ban-expiry-missing": "Please provide an end date for this ban", "no-category": "Categoria nu exista.", "no-topic": "Topicul nu exista.", "no-post": "Post-ul nu exista.", @@ -46,6 +47,13 @@ "post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting", "post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting", "post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting", + "post-delete-duration-expired": "You are only allowed to delete posts for %1 second(s) after posting", + "post-delete-duration-expired-minutes": "You are only allowed to delete posts for %1 minute(s) after posting", + "post-delete-duration-expired-minutes-seconds": "You are only allowed to delete posts for %1 minute(s) %2 second(s) after posting", + "post-delete-duration-expired-hours": "You are only allowed to delete posts for %1 hour(s) after posting", + "post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting", + "post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting", + "post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting", "content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).", "content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).", "title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).", @@ -68,6 +76,7 @@ "invalid-image-extension": "Invalid image extension", "invalid-file-type": "Invalid file type. Allowed types are: %1", "group-name-too-short": "Numele grupului este prea scurt", + "group-name-too-long": "Group name too long", "group-already-exists": "Grupul deja există", "group-name-change-not-allowed": "Schimbarea numelui grupului este interzisă", "group-already-member": "Already part of this group", @@ -109,5 +118,6 @@ "no-session-found": "No login session found!", "not-in-room": "User not in room", "no-users-in-room": "No users in this room", - "cant-kick-self": "You can't kick yourself from the group" + "cant-kick-self": "You can't kick yourself from the group", + "no-users-selected": "No user(s) selected" } \ No newline at end of file diff --git a/public/language/ro/pages.json b/public/language/ro/pages.json index 1e6792ac3e..29cd26e889 100644 --- a/public/language/ro/pages.json +++ b/public/language/ro/pages.json @@ -12,6 +12,7 @@ "users/sort-posts": "Membrii cu cele mai multe postări", "users/sort-reputation": "Users with the most reputation", "users/banned": "Banned Users", + "users/most-flags": "Most flagged users", "users/search": "User Search", "notifications": "Notificări", "tags": "Taguri", diff --git a/public/language/ro/user.json b/public/language/ro/user.json index 5f310d1a75..cb7b5c6bab 100644 --- a/public/language/ro/user.json +++ b/public/language/ro/user.json @@ -95,8 +95,8 @@ "delay_image_loading": "Delay Image Loading", "image_load_delay_help": "If enabled, images in topics will not load until they are scrolled into view", "scroll_to_my_post": "After posting a reply, show the new post", - "follow_topics_you_reply_to": "Follow topics that you reply to", - "follow_topics_you_create": "Follow topics you create", + "follow_topics_you_reply_to": "Watch topics that you reply to", + "follow_topics_you_create": "Watch topics you create", "grouptitle": "Group Title", "no-group-title": "No group title", "select-skin": "Select a Skin", diff --git a/public/language/ro/users.json b/public/language/ro/users.json index 6f05227dd0..d3a4f09a9e 100644 --- a/public/language/ro/users.json +++ b/public/language/ro/users.json @@ -2,6 +2,7 @@ "latest_users": "Ultimii Utilizatori", "top_posters": "Top Utilizatori", "most_reputation": "Cei mai apreciați utilizatori", + "most_flags": "Most Flags", "search": "Căutare", "enter_username": "Introdu un nume de utilizator pentru a căuta", "load_more": "Încarcă mai multe", diff --git a/public/language/ru/error.json b/public/language/ru/error.json index d9d43956b8..941bcb1816 100644 --- a/public/language/ru/error.json +++ b/public/language/ru/error.json @@ -30,6 +30,7 @@ "user-banned": "Пользователь заблокирован", "user-too-new": "Вы можете написать свое первой сообщение через %1 сек.", "blacklisted-ip": "Извините, ваш IP адрес был забанен этим сообществом. Если вы считаете что это ошибка, пожалуйста, свяжитесь с администратором.", + "ban-expiry-missing": "Please provide an end date for this ban", "no-category": "Категория не существует", "no-topic": "Тема не существует", "no-post": "Сообщение не существует", @@ -46,6 +47,13 @@ "post-edit-duration-expired-hours-minutes": "Вы можете редактировать сообщения в течение %1 час(а) %2 минут(ы) после публикации.", "post-edit-duration-expired-days": "Вы можете редактировать сообщения в течение %1 дня(ей) после публикации.", "post-edit-duration-expired-days-hours": "Вы можете редактировать сообщения в течение %1 чдня(ей) и %2 час(а) после публикации.", + "post-delete-duration-expired": "You are only allowed to delete posts for %1 second(s) after posting", + "post-delete-duration-expired-minutes": "You are only allowed to delete posts for %1 minute(s) after posting", + "post-delete-duration-expired-minutes-seconds": "You are only allowed to delete posts for %1 minute(s) %2 second(s) after posting", + "post-delete-duration-expired-hours": "You are only allowed to delete posts for %1 hour(s) after posting", + "post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting", + "post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting", + "post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting", "content-too-short": "Слишком короткое сообщение. Минимум символов: %1.", "content-too-long": "Слишком длинное сообщение. Максимум символов: %1.", "title-too-short": "Слишком короткое сообщение. Минимум символов: %1.", @@ -68,6 +76,7 @@ "invalid-image-extension": "Недопустимое расширение файла", "invalid-file-type": "Неверный формат файла. Поддерживаемые форматы: %1", "group-name-too-short": "Название группы слишком короткое", + "group-name-too-long": "Group name too long", "group-already-exists": "Группа уже существует", "group-name-change-not-allowed": "Изменение названия группы запрещено", "group-already-member": "Уже в этой группе", @@ -109,5 +118,6 @@ "no-session-found": "Сессия входа не найдена!", "not-in-room": "Пользователь не в комнате", "no-users-in-room": "В этой комнате нет пользователей", - "cant-kick-self": "Вы не можете удалить себя сами из группы." + "cant-kick-self": "Вы не можете удалить себя сами из группы.", + "no-users-selected": "No user(s) selected" } \ No newline at end of file diff --git a/public/language/ru/global.json b/public/language/ru/global.json index c011811dba..5f45c17a34 100644 --- a/public/language/ru/global.json +++ b/public/language/ru/global.json @@ -50,8 +50,8 @@ "topics": "Темы", "posts": "Сообщения", "best": "Лучшие", - "upvoted": "Повышение рейтинга", - "downvoted": "Понижение рейтинга", + "upvoted": "Upvoted", + "downvoted": "Downvoted", "views": "Просмотры", "reputation": "Репутация", "read_more": "читать дальше", diff --git a/public/language/ru/pages.json b/public/language/ru/pages.json index 62ea6d05a0..811c051bc3 100644 --- a/public/language/ru/pages.json +++ b/public/language/ru/pages.json @@ -12,6 +12,7 @@ "users/sort-posts": "Пользователи по кол-ву сообщений", "users/sort-reputation": "Пользователи по кол-ву репутации", "users/banned": "Заблокированные пользователи", + "users/most-flags": "Most flagged users", "users/search": "Поиск пользователей", "notifications": "Уведомления", "tags": "Теги", @@ -36,8 +37,8 @@ "account/favourites": "%1 постов в закладках", "account/settings": "Настройки пользователя", "account/watched": "Тему смотрели %1", - "account/upvoted": "Рейтинг поста поднят %1", - "account/downvoted": "Рейтинг поста снижен %1", + "account/upvoted": "Posts upvoted by %1", + "account/downvoted": "Posts downvoted by %1", "account/best": "Лучшие сообщения написанные %1", "confirm": "Email подтвержден", "maintenance.text": "%1 в настоящее время на обслуживании. Пожалуйста, возвращайтесь позже.", diff --git a/public/language/ru/user.json b/public/language/ru/user.json index b72ce13b4e..ec6d071c53 100644 --- a/public/language/ru/user.json +++ b/public/language/ru/user.json @@ -95,8 +95,8 @@ "delay_image_loading": "Ожидайте загрузки изображения", "image_load_delay_help": "Если включить, изображения в темах не будут загружаться, пока они не появятся в поле зрения.", "scroll_to_my_post": "После отправки ответа, прокрутить страницу до него.", - "follow_topics_you_reply_to": "Следить за темами в которых вы отвечаете", - "follow_topics_you_create": "Следить за темами которые вы создаёте", + "follow_topics_you_reply_to": "Watch topics that you reply to", + "follow_topics_you_create": "Watch topics you create", "grouptitle": "Заголовок группы", "no-group-title": "Не показывать бейдж", "select-skin": "Выбрать скин", diff --git a/public/language/ru/users.json b/public/language/ru/users.json index 40c180685a..89693b3b92 100644 --- a/public/language/ru/users.json +++ b/public/language/ru/users.json @@ -2,6 +2,7 @@ "latest_users": "Новые пользователи", "top_posters": "Самые активные", "most_reputation": "Лучшая репутация", + "most_flags": "Most Flags", "search": "Поиск", "enter_username": "Введите имя пользователя для поиска", "load_more": "Загрузить еще", diff --git a/public/language/rw/error.json b/public/language/rw/error.json index 06651b9672..12f4a26968 100644 --- a/public/language/rw/error.json +++ b/public/language/rw/error.json @@ -30,6 +30,7 @@ "user-banned": "Umuntu wirukanwe", "user-too-new": "Wihangena kuko usabwa gutegereza amasegonda (isegonda) %1 mbere yo gushyiraho ikintu cyawe cya mbere", "blacklisted-ip": "Sorry, your IP address has been banned from this community. If you feel this is in error, please contact an administrator.", + "ban-expiry-missing": "Please provide an end date for this ban", "no-category": "Icyiciro kitabaho", "no-topic": "Ikiganiro kitabaho", "no-post": "Icyashyizweho kitabaho", @@ -46,6 +47,13 @@ "post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting", "post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting", "post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting", + "post-delete-duration-expired": "You are only allowed to delete posts for %1 second(s) after posting", + "post-delete-duration-expired-minutes": "You are only allowed to delete posts for %1 minute(s) after posting", + "post-delete-duration-expired-minutes-seconds": "You are only allowed to delete posts for %1 minute(s) %2 second(s) after posting", + "post-delete-duration-expired-hours": "You are only allowed to delete posts for %1 hour(s) after posting", + "post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting", + "post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting", + "post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting", "content-too-short": "Gerageza ushyireho ikintu kirekireho. Icyo ushyiraho kigomba kuba kigizwe nibura n'inyuguti (cyangwa ibimenyetso) zigera kuri %1.", "content-too-long": "Gerageza ushyireho ibintu bigufiyaho. Icyo ushyiraho kigomba kuba kigizwe n'inyuguti (cyangwa ibimenyetso) zirenga %1. ", "title-too-short": "Gerageza ushyireho umutwe muremureho. Umutwe ugomba kuba ugizwe n'inyuguti (cyangwa ibimenyetso) zigera kuri %1. ", @@ -68,6 +76,7 @@ "invalid-image-extension": "Impera itemewe igaragaza foruma y'ifoto", "invalid-file-type": "Ubwoko bw'ifayilo ntibwemewe. Hemewe gusa: %1", "group-name-too-short": "Izina ry'itsinda ni rigufi cyane", + "group-name-too-long": "Group name too long", "group-already-exists": "Itsinda ryitwa gutya risanzweho", "group-name-change-not-allowed": "Guhindura izina ry'itsinda ntibyemewe", "group-already-member": "Already part of this group", @@ -109,5 +118,6 @@ "no-session-found": "No login session found!", "not-in-room": "User not in room", "no-users-in-room": "Nta muntu uri muri iki gikari", - "cant-kick-self": "You can't kick yourself from the group" + "cant-kick-self": "You can't kick yourself from the group", + "no-users-selected": "No user(s) selected" } \ No newline at end of file diff --git a/public/language/rw/pages.json b/public/language/rw/pages.json index b59cebf627..d5b70c7ba0 100644 --- a/public/language/rw/pages.json +++ b/public/language/rw/pages.json @@ -12,6 +12,7 @@ "users/sort-posts": "Abantu bashyizeho byinshi", "users/sort-reputation": "Abantu bafite amanota menshi", "users/banned": "Abantu Bakumiriwe", + "users/most-flags": "Most flagged users", "users/search": "Gushaka Abantu", "notifications": "Amatangazo", "tags": "Ibimenyetso", diff --git a/public/language/rw/user.json b/public/language/rw/user.json index 21e3a05a66..7b92f9a676 100644 --- a/public/language/rw/user.json +++ b/public/language/rw/user.json @@ -95,8 +95,8 @@ "delay_image_loading": "Delay Image Loading", "image_load_delay_help": "If enabled, images in topics will not load until they are scrolled into view", "scroll_to_my_post": "Nyuma yo gushyiraho igisubizo, hagaragare icyashyizweho gishya", - "follow_topics_you_reply_to": "Kurikira ibiganiro ushyiraho ibisubizo", - "follow_topics_you_create": "Kurikira ibiganiro uba watangije", + "follow_topics_you_reply_to": "Watch topics that you reply to", + "follow_topics_you_create": "Watch topics you create", "grouptitle": "Group Title", "no-group-title": "Nta mutwe w'itsinda", "select-skin": "Hitamo Uruhu", diff --git a/public/language/rw/users.json b/public/language/rw/users.json index 16993f0592..dc92a1f54b 100644 --- a/public/language/rw/users.json +++ b/public/language/rw/users.json @@ -2,6 +2,7 @@ "latest_users": "Abantu Bashya", "top_posters": "Abashyizeho Byinshi", "most_reputation": "Abafite Amanota Menshi", + "most_flags": "Most Flags", "search": "Shaka", "enter_username": "Shyiramo izina ryo gushaka", "load_more": "Zana Ibindi", diff --git a/public/language/sc/error.json b/public/language/sc/error.json index 55dac0792b..85292ab05e 100644 --- a/public/language/sc/error.json +++ b/public/language/sc/error.json @@ -30,6 +30,7 @@ "user-banned": "User banned", "user-too-new": "Sorry, you are required to wait %1 second(s) before making your first post", "blacklisted-ip": "Sorry, your IP address has been banned from this community. If you feel this is in error, please contact an administrator.", + "ban-expiry-missing": "Please provide an end date for this ban", "no-category": "Category does not exist", "no-topic": "Topic does not exist", "no-post": "Post does not exist", @@ -46,6 +47,13 @@ "post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting", "post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting", "post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting", + "post-delete-duration-expired": "You are only allowed to delete posts for %1 second(s) after posting", + "post-delete-duration-expired-minutes": "You are only allowed to delete posts for %1 minute(s) after posting", + "post-delete-duration-expired-minutes-seconds": "You are only allowed to delete posts for %1 minute(s) %2 second(s) after posting", + "post-delete-duration-expired-hours": "You are only allowed to delete posts for %1 hour(s) after posting", + "post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting", + "post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting", + "post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting", "content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).", "content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).", "title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).", @@ -68,6 +76,7 @@ "invalid-image-extension": "Invalid image extension", "invalid-file-type": "Invalid file type. Allowed types are: %1", "group-name-too-short": "Group name too short", + "group-name-too-long": "Group name too long", "group-already-exists": "Group already exists", "group-name-change-not-allowed": "Group name change not allowed", "group-already-member": "Already part of this group", @@ -109,5 +118,6 @@ "no-session-found": "No login session found!", "not-in-room": "User not in room", "no-users-in-room": "No users in this room", - "cant-kick-self": "You can't kick yourself from the group" + "cant-kick-self": "You can't kick yourself from the group", + "no-users-selected": "No user(s) selected" } \ No newline at end of file diff --git a/public/language/sc/pages.json b/public/language/sc/pages.json index a2e82aa90f..51b098ff88 100644 --- a/public/language/sc/pages.json +++ b/public/language/sc/pages.json @@ -12,6 +12,7 @@ "users/sort-posts": "Users with the most posts", "users/sort-reputation": "Users with the most reputation", "users/banned": "Banned Users", + "users/most-flags": "Most flagged users", "users/search": "User Search", "notifications": "Notìficas", "tags": "Tags", diff --git a/public/language/sc/user.json b/public/language/sc/user.json index 07d989d612..f88e8ce20e 100644 --- a/public/language/sc/user.json +++ b/public/language/sc/user.json @@ -95,8 +95,8 @@ "delay_image_loading": "Delay Image Loading", "image_load_delay_help": "If enabled, images in topics will not load until they are scrolled into view", "scroll_to_my_post": "After posting a reply, show the new post", - "follow_topics_you_reply_to": "Follow topics that you reply to", - "follow_topics_you_create": "Follow topics you create", + "follow_topics_you_reply_to": "Watch topics that you reply to", + "follow_topics_you_create": "Watch topics you create", "grouptitle": "Group Title", "no-group-title": "No group title", "select-skin": "Select a Skin", diff --git a/public/language/sc/users.json b/public/language/sc/users.json index 93913a20a3..7c1de58d1a 100644 --- a/public/language/sc/users.json +++ b/public/language/sc/users.json @@ -2,6 +2,7 @@ "latest_users": "Ùrtimos Impitadores", "top_posters": "Prus Ativos", "most_reputation": "Prus Famados", + "most_flags": "Most Flags", "search": "Chirca", "enter_username": "Pone unu nùmene de impitadore de chircare", "load_more": "Càrriga de prus", diff --git a/public/language/sk/error.json b/public/language/sk/error.json index b8d9761507..6ab638ca04 100644 --- a/public/language/sk/error.json +++ b/public/language/sk/error.json @@ -30,6 +30,7 @@ "user-banned": "Užívateľ je zakázaný", "user-too-new": "Sorry, you are required to wait %1 second(s) before making your first post", "blacklisted-ip": "Sorry, your IP address has been banned from this community. If you feel this is in error, please contact an administrator.", + "ban-expiry-missing": "Please provide an end date for this ban", "no-category": "Category does not exist", "no-topic": "Topic does not exist", "no-post": "Post does not exist", @@ -46,6 +47,13 @@ "post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting", "post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting", "post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting", + "post-delete-duration-expired": "You are only allowed to delete posts for %1 second(s) after posting", + "post-delete-duration-expired-minutes": "You are only allowed to delete posts for %1 minute(s) after posting", + "post-delete-duration-expired-minutes-seconds": "You are only allowed to delete posts for %1 minute(s) %2 second(s) after posting", + "post-delete-duration-expired-hours": "You are only allowed to delete posts for %1 hour(s) after posting", + "post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting", + "post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting", + "post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting", "content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).", "content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).", "title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).", @@ -68,6 +76,7 @@ "invalid-image-extension": "Invalid image extension", "invalid-file-type": "Invalid file type. Allowed types are: %1", "group-name-too-short": "Názov skupiny je príliš krátky", + "group-name-too-long": "Group name too long", "group-already-exists": "Skupina už existuje", "group-name-change-not-allowed": "Nepovolená zmena mena skupiny", "group-already-member": "Already part of this group", @@ -109,5 +118,6 @@ "no-session-found": "No login session found!", "not-in-room": "User not in room", "no-users-in-room": "No users in this room", - "cant-kick-self": "You can't kick yourself from the group" + "cant-kick-self": "You can't kick yourself from the group", + "no-users-selected": "No user(s) selected" } \ No newline at end of file diff --git a/public/language/sk/pages.json b/public/language/sk/pages.json index f5d5c49231..2774eebd05 100644 --- a/public/language/sk/pages.json +++ b/public/language/sk/pages.json @@ -12,6 +12,7 @@ "users/sort-posts": "Users with the most posts", "users/sort-reputation": "Users with the most reputation", "users/banned": "Banned Users", + "users/most-flags": "Most flagged users", "users/search": "User Search", "notifications": "Notifikácie", "tags": "Tagy", diff --git a/public/language/sk/user.json b/public/language/sk/user.json index 25684b7a8a..7571caab77 100644 --- a/public/language/sk/user.json +++ b/public/language/sk/user.json @@ -95,8 +95,8 @@ "delay_image_loading": "Delay Image Loading", "image_load_delay_help": "If enabled, images in topics will not load until they are scrolled into view", "scroll_to_my_post": "After posting a reply, show the new post", - "follow_topics_you_reply_to": "Follow topics that you reply to", - "follow_topics_you_create": "Follow topics you create", + "follow_topics_you_reply_to": "Watch topics that you reply to", + "follow_topics_you_create": "Watch topics you create", "grouptitle": "Group Title", "no-group-title": "No group title", "select-skin": "Select a Skin", diff --git a/public/language/sk/users.json b/public/language/sk/users.json index 73b24c1744..1c6c9f717e 100644 --- a/public/language/sk/users.json +++ b/public/language/sk/users.json @@ -2,6 +2,7 @@ "latest_users": "Najnovší užívatelia", "top_posters": "Najaktívnejší", "most_reputation": "Najváženejší", + "most_flags": "Most Flags", "search": "Vyhľadávať", "enter_username": "Zadaj užívateľské meno k hľadaniu", "load_more": "Načítať dalšie", diff --git a/public/language/sl/error.json b/public/language/sl/error.json index c74ceacde3..56e4d080f8 100644 --- a/public/language/sl/error.json +++ b/public/language/sl/error.json @@ -30,6 +30,7 @@ "user-banned": "Uporabnik je blokiran", "user-too-new": "Oprostite, počakajte %1 sekund pred vašo prvo objavo", "blacklisted-ip": "Sorry, your IP address has been banned from this community. If you feel this is in error, please contact an administrator.", + "ban-expiry-missing": "Please provide an end date for this ban", "no-category": "Kategorija ne obstaja", "no-topic": "Tema ne obstaja", "no-post": "Objava ne obstaja", @@ -46,6 +47,13 @@ "post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting", "post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting", "post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting", + "post-delete-duration-expired": "You are only allowed to delete posts for %1 second(s) after posting", + "post-delete-duration-expired-minutes": "You are only allowed to delete posts for %1 minute(s) after posting", + "post-delete-duration-expired-minutes-seconds": "You are only allowed to delete posts for %1 minute(s) %2 second(s) after posting", + "post-delete-duration-expired-hours": "You are only allowed to delete posts for %1 hour(s) after posting", + "post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting", + "post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting", + "post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting", "content-too-short": "Prosimo napišite daljšo objavo. Objave morajo vsebovati vsaj %1 znak(ov).", "content-too-long": "Prosimo napišite krajšo objavo. Objave ne smejo vsebovati več kot %1 znak(ov).", "title-too-short": "Prosimo vnesite daljši naslov. Naslovi morajo vsebovati vsaj %1 znak(ov).", @@ -68,6 +76,7 @@ "invalid-image-extension": "Nedovoljena končnica slike", "invalid-file-type": "Nedovoljen format datoteke. Dovoljeni formati so: %1", "group-name-too-short": "Ime skupine je prekratko", + "group-name-too-long": "Group name too long", "group-already-exists": "Skupina še obstaja", "group-name-change-not-allowed": "Sprememba imena skupine ni dovoljena", "group-already-member": "Already part of this group", @@ -109,5 +118,6 @@ "no-session-found": "No login session found!", "not-in-room": "User not in room", "no-users-in-room": "No users in this room", - "cant-kick-self": "You can't kick yourself from the group" + "cant-kick-self": "You can't kick yourself from the group", + "no-users-selected": "No user(s) selected" } \ No newline at end of file diff --git a/public/language/sl/pages.json b/public/language/sl/pages.json index 3c206aadf4..118bb4201a 100644 --- a/public/language/sl/pages.json +++ b/public/language/sl/pages.json @@ -12,6 +12,7 @@ "users/sort-posts": "Uporabniki z največ objavami", "users/sort-reputation": "Uporabniki najbolj vredni zaupanja", "users/banned": "Banned Users", + "users/most-flags": "Most flagged users", "users/search": "Iskanje uporabnikov", "notifications": "Obvestila", "tags": "Oznake", diff --git a/public/language/sl/user.json b/public/language/sl/user.json index 6552ed4f56..25e97a8ef3 100644 --- a/public/language/sl/user.json +++ b/public/language/sl/user.json @@ -95,8 +95,8 @@ "delay_image_loading": "Delay Image Loading", "image_load_delay_help": "If enabled, images in topics will not load until they are scrolled into view", "scroll_to_my_post": "After posting a reply, show the new post", - "follow_topics_you_reply_to": "Spremljaj teme v katerih si sodeloval", - "follow_topics_you_create": "Spremljaj teme, ki si jih ustvaril/a", + "follow_topics_you_reply_to": "Watch topics that you reply to", + "follow_topics_you_create": "Watch topics you create", "grouptitle": "Group Title", "no-group-title": "Skupina nima imena", "select-skin": "Izberi obliko", diff --git a/public/language/sl/users.json b/public/language/sl/users.json index 4441c34e62..d2b634cd56 100644 --- a/public/language/sl/users.json +++ b/public/language/sl/users.json @@ -2,6 +2,7 @@ "latest_users": "Zadnji uporabniki", "top_posters": "Najboljši uporabniki", "most_reputation": "Največ ugleda", + "most_flags": "Most Flags", "search": "Išči", "enter_username": "Za iskanje vpiši uporabniško ime", "load_more": "Naloži več", diff --git a/public/language/sr/error.json b/public/language/sr/error.json index ec9606699b..093feca88a 100644 --- a/public/language/sr/error.json +++ b/public/language/sr/error.json @@ -30,6 +30,7 @@ "user-banned": "Члан банован", "user-too-new": "Sorry, you are required to wait %1 second(s) before making your first post", "blacklisted-ip": "Sorry, your IP address has been banned from this community. If you feel this is in error, please contact an administrator.", + "ban-expiry-missing": "Please provide an end date for this ban", "no-category": "Категорија не постоји", "no-topic": "Тема не постоји", "no-post": "Порука не постоји", @@ -46,6 +47,13 @@ "post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting", "post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting", "post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting", + "post-delete-duration-expired": "You are only allowed to delete posts for %1 second(s) after posting", + "post-delete-duration-expired-minutes": "You are only allowed to delete posts for %1 minute(s) after posting", + "post-delete-duration-expired-minutes-seconds": "You are only allowed to delete posts for %1 minute(s) %2 second(s) after posting", + "post-delete-duration-expired-hours": "You are only allowed to delete posts for %1 hour(s) after posting", + "post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting", + "post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting", + "post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting", "content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).", "content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).", "title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).", @@ -68,6 +76,7 @@ "invalid-image-extension": "Неважећи тип слике", "invalid-file-type": "Неважећи тип фајла. Дозвољени су: %1", "group-name-too-short": "Име групе је прекратко", + "group-name-too-long": "Group name too long", "group-already-exists": "Група већ постоји", "group-name-change-not-allowed": "Мењање имена групе није дозвољено", "group-already-member": "Already part of this group", @@ -109,5 +118,6 @@ "no-session-found": "No login session found!", "not-in-room": "User not in room", "no-users-in-room": "No users in this room", - "cant-kick-self": "You can't kick yourself from the group" + "cant-kick-self": "You can't kick yourself from the group", + "no-users-selected": "No user(s) selected" } \ No newline at end of file diff --git a/public/language/sr/pages.json b/public/language/sr/pages.json index 0e7387583e..f9b4a45f87 100644 --- a/public/language/sr/pages.json +++ b/public/language/sr/pages.json @@ -12,6 +12,7 @@ "users/sort-posts": "Users with the most posts", "users/sort-reputation": "Users with the most reputation", "users/banned": "Banned Users", + "users/most-flags": "Most flagged users", "users/search": "User Search", "notifications": "Обавештења", "tags": "Ознаке", diff --git a/public/language/sr/user.json b/public/language/sr/user.json index 3c77214598..4cd8f93f74 100644 --- a/public/language/sr/user.json +++ b/public/language/sr/user.json @@ -95,8 +95,8 @@ "delay_image_loading": "Delay Image Loading", "image_load_delay_help": "If enabled, images in topics will not load until they are scrolled into view", "scroll_to_my_post": "After posting a reply, show the new post", - "follow_topics_you_reply_to": "Follow topics that you reply to", - "follow_topics_you_create": "Follow topics you create", + "follow_topics_you_reply_to": "Watch topics that you reply to", + "follow_topics_you_create": "Watch topics you create", "grouptitle": "Group Title", "no-group-title": "No group title", "select-skin": "Select a Skin", diff --git a/public/language/sr/users.json b/public/language/sr/users.json index 6308354310..fc774b20b2 100644 --- a/public/language/sr/users.json +++ b/public/language/sr/users.json @@ -2,6 +2,7 @@ "latest_users": "Последњи корисник", "top_posters": "Највише порука", "most_reputation": "Највећи углед", + "most_flags": "Most Flags", "search": "Претрага", "enter_username": "Унесите корисничко име за претрагу", "load_more": "Учитај више", diff --git a/public/language/sv/error.json b/public/language/sv/error.json index b2d1810d7c..702808d4ca 100644 --- a/public/language/sv/error.json +++ b/public/language/sv/error.json @@ -30,6 +30,7 @@ "user-banned": "Användare bannlyst", "user-too-new": "När du är ny medlem måste du vänta %1 sekund(er) innan du gör ditt första inlägg", "blacklisted-ip": "Din IP-adress har blivit bannlyst från det här forumet. Om du tror att det beror på ett misstag, vad god kontakta en administratör. ", + "ban-expiry-missing": "Ange ett slutdatum för denna banning", "no-category": "Kategorin finns inte", "no-topic": "Ämnet finns inte", "no-post": "Inlägget finns inte", @@ -40,12 +41,19 @@ "category-disabled": "Kategorin inaktiverad", "topic-locked": "Ämnet låst", "post-edit-duration-expired": "Du kan endast ändra inlägg inom %1 sekund(er) efter att ha skickat det", - "post-edit-duration-expired-minutes": "You are only allowed to edit posts for %1 minute(s) after posting", - "post-edit-duration-expired-minutes-seconds": "You are only allowed to edit posts for %1 minute(s) %2 second(s) after posting", - "post-edit-duration-expired-hours": "You are only allowed to edit posts for %1 hour(s) after posting", - "post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting", - "post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting", - "post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting", + "post-edit-duration-expired-minutes": "Du kan endast ändra inlägg inom %1 minut(er) efter att ha skickat det", + "post-edit-duration-expired-minutes-seconds": "Du kan endast ändra inlägg inom %1 minut(er) %2 sekund(er) efter att ha skickat det", + "post-edit-duration-expired-hours": "Du kan endast ändra inlägg inom %1 timm(ar) efter att ha skickat det", + "post-edit-duration-expired-hours-minutes": "Du kan endast ändra inlägg inom %1 timm(ar) %2 minut(er) efter att ha skickat det", + "post-edit-duration-expired-days": "Du kan endast ändra inlägg inom %1 dag(ar) efter att ha skickat det", + "post-edit-duration-expired-days-hours": "Du kan endast ändra inlägg inom %1 dag(ar) %2 timm(ar) efter att ha skickat det", + "post-delete-duration-expired": "Du kan endast radera inlägg inom %1 sekund(er) efter att ha skickat det", + "post-delete-duration-expired-minutes": "Du kan endast radera inlägg inom %1 minut(er) efter att ha skickat det", + "post-delete-duration-expired-minutes-seconds": "Du kan endast radera inlägg inom %1 minut(er) %2 sekund(er) efter att ha skickat det", + "post-delete-duration-expired-hours": "Du kan endast radera inlägg inom %1 timm(ar) efter att ha skickat det", + "post-delete-duration-expired-hours-minutes": "Du kan endast radera inlägg inom %1 timmar(er) %2 minut(er) efter att ha skickat det", + "post-delete-duration-expired-days": "Du kan endast radera inlägg inom %1 dag(ar) efter att ha skickat det", + "post-delete-duration-expired-days-hours": "Du kan endast radera inlägg inom %1 dag(ar) %2 timm(ar) efter att ha skickat det", "content-too-short": "Skriv ett längre inlägg. Inlägg måste innehålla minst %1 tecken.", "content-too-long": "Skriv ett kortare inlägg. Inlägg kan inte innehålla mer än %1 tecken.", "title-too-short": "Skriv en längre rubrik. Rubriker måste innehålla minst %1 tecken.", @@ -63,11 +71,12 @@ "already-unfavourited": "Du har redan tagit bort bokmärket för det här inlägget", "cant-ban-other-admins": "Du kan inte bannlysa andra administratörer!", "cant-remove-last-admin": "Du är den enda administratören. Lägg till en annan användare som administratör innan du tar bort dig själv.", - "cant-delete-admin": "Remove administrator privileges from this account before attempting to delete it.", + "cant-delete-admin": "Ta bort administratörsbehörighet från detta konto innan du försöker ta bort den.", "invalid-image-type": "Ogiltig bildtyp. Tillåtna typer är: % 1", "invalid-image-extension": "Ogiltigt bildformat", "invalid-file-type": "Ogiltig filtyp. Tillåtna typer är: % 1", "group-name-too-short": "Gruppnamnet är för kort", + "group-name-too-long": "Gruppnamnet är för långt", "group-already-exists": "Gruppen existerar redan", "group-name-change-not-allowed": "Gruppnamnet får inte ändras", "group-already-member": "Redan i denna grupp", @@ -109,5 +118,6 @@ "no-session-found": "Ingen login-session hittades!", "not-in-room": "Användaren finns inte i rummet", "no-users-in-room": "Inga användare i det här rummet", - "cant-kick-self": "Du kan inte sparka ut dig själv från gruppen" + "cant-kick-self": "Du kan inte sparka ut dig själv från gruppen", + "no-users-selected": "No user(s) selected" } \ No newline at end of file diff --git a/public/language/sv/pages.json b/public/language/sv/pages.json index a2ad0b69b1..0b6ff875ea 100644 --- a/public/language/sv/pages.json +++ b/public/language/sv/pages.json @@ -12,6 +12,7 @@ "users/sort-posts": "Användare med flest inlägg", "users/sort-reputation": "Användare med bäst rykte", "users/banned": "Bannlysta användare", + "users/most-flags": "Most flagged users", "users/search": "Användar Sök", "notifications": "Notiser", "tags": "Etiketter", diff --git a/public/language/sv/user.json b/public/language/sv/user.json index 008e790f70..34aa2dd96e 100644 --- a/public/language/sv/user.json +++ b/public/language/sv/user.json @@ -95,8 +95,8 @@ "delay_image_loading": "Fördröj inladdning av bilder", "image_load_delay_help": "Aktivera för att hindra bilder ifrån att ladda in, innan de skrollats fram på skärmen. ", "scroll_to_my_post": "Visa det nya inlägget när ett svar har postats", - "follow_topics_you_reply_to": "Följ ämnen som du svarar på", - "follow_topics_you_create": "Följ ämnen du skapar", + "follow_topics_you_reply_to": "Watch topics that you reply to", + "follow_topics_you_create": "Watch topics you create", "grouptitle": "Grupptitel", "no-group-title": "Ingen titel på gruppen", "select-skin": "Välj ett Skin", diff --git a/public/language/sv/users.json b/public/language/sv/users.json index a6b2aebd35..639b11ac14 100644 --- a/public/language/sv/users.json +++ b/public/language/sv/users.json @@ -2,6 +2,7 @@ "latest_users": "Senaste användarna", "top_posters": "Flest inlägg", "most_reputation": "Bäst rykte", + "most_flags": "Most Flags", "search": "Sök", "enter_username": "Ange ett användarnamn för att söka", "load_more": "Ladda fler", diff --git a/public/language/th/error.json b/public/language/th/error.json index ad545a9b18..03b006c3bf 100644 --- a/public/language/th/error.json +++ b/public/language/th/error.json @@ -30,6 +30,7 @@ "user-banned": "User banned", "user-too-new": "Sorry, you are required to wait %1 second(s) before making your first post", "blacklisted-ip": "Sorry, your IP address has been banned from this community. If you feel this is in error, please contact an administrator.", + "ban-expiry-missing": "Please provide an end date for this ban", "no-category": "ยังไม่มี Category นี้", "no-topic": "ยังไม่มี Topic นี้", "no-post": "ยังไม่มี Post นี้", @@ -46,6 +47,13 @@ "post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting", "post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting", "post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting", + "post-delete-duration-expired": "You are only allowed to delete posts for %1 second(s) after posting", + "post-delete-duration-expired-minutes": "You are only allowed to delete posts for %1 minute(s) after posting", + "post-delete-duration-expired-minutes-seconds": "You are only allowed to delete posts for %1 minute(s) %2 second(s) after posting", + "post-delete-duration-expired-hours": "You are only allowed to delete posts for %1 hour(s) after posting", + "post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting", + "post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting", + "post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting", "content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).", "content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).", "title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).", @@ -68,6 +76,7 @@ "invalid-image-extension": "Invalid image extension", "invalid-file-type": "Invalid file type. Allowed types are: %1", "group-name-too-short": "Group name too short", + "group-name-too-long": "Group name too long", "group-already-exists": "Group already exists", "group-name-change-not-allowed": "Group name change not allowed", "group-already-member": "Already part of this group", @@ -109,5 +118,6 @@ "no-session-found": "No login session found!", "not-in-room": "User not in room", "no-users-in-room": "No users in this room", - "cant-kick-self": "You can't kick yourself from the group" + "cant-kick-self": "You can't kick yourself from the group", + "no-users-selected": "No user(s) selected" } \ No newline at end of file diff --git a/public/language/th/pages.json b/public/language/th/pages.json index e017b8df5e..238e31cb5a 100644 --- a/public/language/th/pages.json +++ b/public/language/th/pages.json @@ -12,6 +12,7 @@ "users/sort-posts": "Users with the most posts", "users/sort-reputation": "Users with the most reputation", "users/banned": "Banned Users", + "users/most-flags": "Most flagged users", "users/search": "User Search", "notifications": "แจ้งเตือน", "tags": "Tags", diff --git a/public/language/th/user.json b/public/language/th/user.json index aeeafa7e74..6b6d4c453a 100644 --- a/public/language/th/user.json +++ b/public/language/th/user.json @@ -95,8 +95,8 @@ "delay_image_loading": "Delay Image Loading", "image_load_delay_help": "If enabled, images in topics will not load until they are scrolled into view", "scroll_to_my_post": "After posting a reply, show the new post", - "follow_topics_you_reply_to": "Follow topics that you reply to", - "follow_topics_you_create": "Follow topics you create", + "follow_topics_you_reply_to": "Watch topics that you reply to", + "follow_topics_you_create": "Watch topics you create", "grouptitle": "Group Title", "no-group-title": "No group title", "select-skin": "Select a Skin", diff --git a/public/language/th/users.json b/public/language/th/users.json index a3f7bcb85e..423257816b 100644 --- a/public/language/th/users.json +++ b/public/language/th/users.json @@ -2,6 +2,7 @@ "latest_users": "ผู้ใช้งานล่าสุด", "top_posters": "ผู้ที่โพสต์มากที่สุด", "most_reputation": "ผู้ที่มีชื่อเสียงมากที่สุด", + "most_flags": "Most Flags", "search": "ค้นหา", "enter_username": "ใส่ชื่อผู้ใช้เพื่อค้นหา", "load_more": "โหลดเพิ่มเติม", diff --git a/public/language/tr/error.json b/public/language/tr/error.json index d9c3a7e41c..5c1adb7ae9 100644 --- a/public/language/tr/error.json +++ b/public/language/tr/error.json @@ -30,6 +30,7 @@ "user-banned": "Kullanıcı Yasaklı", "user-too-new": "Özür dileriz, ilk iletinizi yapmadan önce %1 saniye beklemeniz gerekiyor", "blacklisted-ip": "Üzgünüz, IP adresiniz, bu toplulukta yasaklandı. Bunun bir hata olduğunu düşünüyorsanız, bir yönetici ile irtibata geçiniz.", + "ban-expiry-missing": "Bu yasak için bir bitiş tarihi girin", "no-category": "Kategori Yok", "no-topic": "Başlık Yok", "no-post": "İleti Yok", @@ -46,6 +47,13 @@ "post-edit-duration-expired-hours-minutes": "Gönderildikten %1 saat(s) %2 dakika(s) sonra iletini düzenlemene izin verilir.", "post-edit-duration-expired-days": "Gönderildikten %1 gün(s) sonra iletini düzenlemene izin verilir.", "post-edit-duration-expired-days-hours": "Gönderildikten %1 gün(s) %2 saat(s) sonra iletini düzenlemene izin verilir.", + "post-delete-duration-expired": "Gönderildikten %1 saniye(s) sonra iletini silmene izin verilir.", + "post-delete-duration-expired-minutes": "Gönderildikten %1 dakika(s) sonra iletini silmene izin verilir.", + "post-delete-duration-expired-minutes-seconds": "Gönderildikten %1 dakika(s) %2 saniye(s) sonra iletini silmene izin verilir.", + "post-delete-duration-expired-hours": "Gönderildikten %1 saat(s) sonra iletini silmene izin verilir.", + "post-delete-duration-expired-hours-minutes": "Gönderildikten %1 saat(s) %2 dakika(s) sonra iletini silmene izin verilir.", + "post-delete-duration-expired-days": "Gönderildikten %1 gün(s) sonra iletini silmene izin verilir.", + "post-delete-duration-expired-days-hours": "Gönderildikten %1 gün(s) %2 saat(s) sonra iletini silmene izin verilir.", "content-too-short": "Lütfen daha uzun bir ileti girin. En az %1 karakter.", "content-too-long": "Lütfen daha kısa bir ileti girin. İletiler %1 karakterden uzun olamaz.", "title-too-short": "Lütfen daha uzun bir başlık girin. Başlıklar en az %1 karakter içermelidir.", @@ -68,6 +76,7 @@ "invalid-image-extension": "Geçersiz resim uzantısı", "invalid-file-type": "Geçersiz dosya türü. İzin verilenler şunlar : %1", "group-name-too-short": "Grup ismi çok kısa", + "group-name-too-long": "Grup adı çok uzun", "group-already-exists": "Grup zaten var", "group-name-change-not-allowed": "Grup ismini değiştiremezsiniz", "group-already-member": "Bu grubun zaten bir parçasısın.", @@ -109,5 +118,6 @@ "no-session-found": "Giriş yapılmış bir oturum bulunamadı!", "not-in-room": "Odada kullanıcı yok", "no-users-in-room": "Bu odada kullanıcı yok", - "cant-kick-self": "Kendinizi gruptan atamazsınız." + "cant-kick-self": "Kendinizi gruptan atamazsınız.", + "no-users-selected": "Seçili kullanıcı(s) bulunamadı" } \ No newline at end of file diff --git a/public/language/tr/pages.json b/public/language/tr/pages.json index b076bf11d9..a23ef6844d 100644 --- a/public/language/tr/pages.json +++ b/public/language/tr/pages.json @@ -12,6 +12,7 @@ "users/sort-posts": "En çok ileti gönderen kullanıcılar", "users/sort-reputation": "En çok saygınlığı olan kullanıcılar", "users/banned": "Yasaklanmış Kullanıcılar", + "users/most-flags": "En Fazla Bayraklanan Kullanıcılar", "users/search": "Kullanıcı Ara", "notifications": "Bildirimler", "tags": "Etiketler", diff --git a/public/language/tr/user.json b/public/language/tr/user.json index 2ead1751df..c697e9adda 100644 --- a/public/language/tr/user.json +++ b/public/language/tr/user.json @@ -95,8 +95,8 @@ "delay_image_loading": "Gecikmeli Görsel Yükleme", "image_load_delay_help": "Aktif hale getirmeniz halinde başlıktaki görseller, sayfa kaydırıldıkca yüklenecek", "scroll_to_my_post": "Cevap yazdıktan sonra yeni gönderiyi göster", - "follow_topics_you_reply_to": "Cevap verdiğim konuları takip et", - "follow_topics_you_create": "Kendi konularımı takip et", + "follow_topics_you_reply_to": "Watch topics that you reply to", + "follow_topics_you_create": "Watch topics you create", "grouptitle": "Grup Başlığı", "no-group-title": "Grup başlığı yok", "select-skin": "Bir deri şeçin", diff --git a/public/language/tr/users.json b/public/language/tr/users.json index fa0bc51096..92dbf55d42 100644 --- a/public/language/tr/users.json +++ b/public/language/tr/users.json @@ -2,6 +2,7 @@ "latest_users": "En Yeni Kullanıcılar", "top_posters": "En Fazla Gönderim Yapanlar", "most_reputation": "En Saygın", + "most_flags": "En Fazla Bayrak", "search": "Ara", "enter_username": "Aramak için bir kullanıcı adı girin", "load_more": "Daha Fazla Yükle", diff --git a/public/language/vi/error.json b/public/language/vi/error.json index de40ca8558..737ca3da9f 100644 --- a/public/language/vi/error.json +++ b/public/language/vi/error.json @@ -30,6 +30,7 @@ "user-banned": "Tài khoản bị ban", "user-too-new": "Rất tiếc, bạn phải chờ %1 giây để đăng bài viết đầu tiên.", "blacklisted-ip": "Rất tiếc, địa chỉ IP của bạn đã bị ban khỏi cộng đồng. Nếu bạn cảm thấy có gì không đúng, hãy liên lạc với người quản trị.", + "ban-expiry-missing": "Please provide an end date for this ban", "no-category": "Danh mục không tồn tại", "no-topic": "Chủ đề không tồn tại", "no-post": "Bài viết không tồn tại", @@ -46,6 +47,13 @@ "post-edit-duration-expired-hours-minutes": "Bạn chỉ được phép sửa các bài viết sau khi đăng %1 giờ(s) %2 phút(s)", "post-edit-duration-expired-days": "Bạn chỉ được phép sửa các bài viết sau khi đăng %1 ngày(s)", "post-edit-duration-expired-days-hours": "Bạn chỉ được phép sửa các bài viết sau khi đăng %1 ngày(s) %2 giờ(s)", + "post-delete-duration-expired": "You are only allowed to delete posts for %1 second(s) after posting", + "post-delete-duration-expired-minutes": "You are only allowed to delete posts for %1 minute(s) after posting", + "post-delete-duration-expired-minutes-seconds": "You are only allowed to delete posts for %1 minute(s) %2 second(s) after posting", + "post-delete-duration-expired-hours": "You are only allowed to delete posts for %1 hour(s) after posting", + "post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting", + "post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting", + "post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting", "content-too-short": "Vui lòng nhập một bài viết dài hơn. Bài viết phải có tối thiểu %1 ký tự.", "content-too-long": "Vui lòng nhập một bài viết ngắn hơn. Bài viết chỉ có thể có tối đa %1 ký tự.", "title-too-short": "Vui lòng nhập tiêu đề dài hơn. Tiêu đề phải có tối thiểu %1 ký tự.", @@ -68,6 +76,7 @@ "invalid-image-extension": "Định dạng ảnh không hợp lệ", "invalid-file-type": "Định dạng file không hợp lệ. Những định dạng được cho phép là: %1", "group-name-too-short": "Tên nhóm quá ngắn", + "group-name-too-long": "Group name too long", "group-already-exists": "Nhóm đã tồn tại", "group-name-change-not-allowed": "Không cho phép đổi tên nhóm", "group-already-member": "Bạn đã là thành viên của nhóm này.", @@ -109,5 +118,6 @@ "no-session-found": "Không tìm thấy phiên đăng nhập!", "not-in-room": "Thành viên không có trong phòng", "no-users-in-room": "Không có ai trong phòng này", - "cant-kick-self": "Bạn không thể kick chính bạn ra khỏi nhóm" + "cant-kick-self": "Bạn không thể kick chính bạn ra khỏi nhóm", + "no-users-selected": "No user(s) selected" } \ No newline at end of file diff --git a/public/language/vi/pages.json b/public/language/vi/pages.json index 5fe829c667..7cd685507a 100644 --- a/public/language/vi/pages.json +++ b/public/language/vi/pages.json @@ -12,6 +12,7 @@ "users/sort-posts": "Thành viên có nhiều bài đăng nhất", "users/sort-reputation": "Thành viên có điểm tín nhiệm cao nhất", "users/banned": "Thành viên đã bị cấm", + "users/most-flags": "Most flagged users", "users/search": "Tìm kiếm thành viên", "notifications": "Thông báo", "tags": "Tag", diff --git a/public/language/vi/user.json b/public/language/vi/user.json index 6aad7499d0..1e185f18c5 100644 --- a/public/language/vi/user.json +++ b/public/language/vi/user.json @@ -95,8 +95,8 @@ "delay_image_loading": "Việc tải ảnh đang bị chậm", "image_load_delay_help": "Nếu được bật, toàn bộ ảnh trong chủ đề sẽ chỉ được tải khi người dùng kéo chuột tới", "scroll_to_my_post": "Sau khi đăng một trả lời thì hiển thị bài viết mới", - "follow_topics_you_reply_to": "Theo dõi chủ đề bạn trả lời", - "follow_topics_you_create": "Theo dõi chủ đề bạn tạo", + "follow_topics_you_reply_to": "Watch topics that you reply to", + "follow_topics_you_create": "Watch topics you create", "grouptitle": "Tên nhóm", "no-group-title": "Không có tên nhóm", "select-skin": "Chọn một giao diện", diff --git a/public/language/vi/users.json b/public/language/vi/users.json index 0e60994360..5a830cf2de 100644 --- a/public/language/vi/users.json +++ b/public/language/vi/users.json @@ -2,6 +2,7 @@ "latest_users": "Thành viên mới nhất", "top_posters": "Thành viên đăng bài nhiều nhất", "most_reputation": "Thành viên có điểm tín nhiệm cao nhất", + "most_flags": "Most Flags", "search": "Tìm kiếm", "enter_username": "Gõ tên thành viên để tìm kiếm", "load_more": "Tải thêm", diff --git a/public/language/zh_CN/error.json b/public/language/zh_CN/error.json index 7d35bb52b6..fb79c05f2d 100644 --- a/public/language/zh_CN/error.json +++ b/public/language/zh_CN/error.json @@ -30,6 +30,7 @@ "user-banned": "用户已禁止", "user-too-new": "抱歉,您需要等待 %1 秒后,才可以发帖!", "blacklisted-ip": "对不起,您的IP地址已被社区禁用。如果您认为这是一个错误,请与管理员联系。", + "ban-expiry-missing": "请提供此次禁言结束日期", "no-category": "版块不存在", "no-topic": "主题不存在", "no-post": "帖子不存在", @@ -46,6 +47,13 @@ "post-edit-duration-expired-hours-minutes": "发表 %1 小时 %2 分钟后才能修改内容", "post-edit-duration-expired-days": "发表 %1 天后才能修改内容", "post-edit-duration-expired-days-hours": "发表 %1 天 %2 小时后才能修改内容", + "post-delete-duration-expired": "您只能在发表 %1 秒后删除帖子", + "post-delete-duration-expired-minutes": "您只能在发表 %1 分钟后删除帖子", + "post-delete-duration-expired-minutes-seconds": "您只能在发表 %1 分 %2 秒后删除帖子", + "post-delete-duration-expired-hours": "您只能在发表 %1 小时后删除帖子", + "post-delete-duration-expired-hours-minutes": "您只能在发表 %1 小时 %2 分钟后删除帖子", + "post-delete-duration-expired-days": "您只能在发表 %1 天后删除帖子", + "post-delete-duration-expired-days-hours": "您只能在发表 %1 天 %2 小时后删除帖子", "content-too-short": "请增添发帖内容,不能少于 %1 个字符。", "content-too-long": "请删减发帖内容,不能超过 %1 个字符。", "title-too-short": "请增加标题,不能少于 %1 个字符。", @@ -68,6 +76,7 @@ "invalid-image-extension": "无效的图像扩展", "invalid-file-type": "无效文件格式,允许的格式有:%1", "group-name-too-short": "小组名太短", + "group-name-too-long": "小组名太长", "group-already-exists": "小组已存在", "group-name-change-not-allowed": "不允许更改小组名称", "group-already-member": "已经是此小组的成员", @@ -109,5 +118,6 @@ "no-session-found": "未登录!", "not-in-room": "用户已不在聊天室中", "no-users-in-room": "这个聊天室中没有用户", - "cant-kick-self": "你不能把自己踢出群组" + "cant-kick-self": "你不能把自己踢出群组", + "no-users-selected": "尚未选择用户" } \ No newline at end of file diff --git a/public/language/zh_CN/pages.json b/public/language/zh_CN/pages.json index 728ed037b8..c35e09991d 100644 --- a/public/language/zh_CN/pages.json +++ b/public/language/zh_CN/pages.json @@ -12,6 +12,7 @@ "users/sort-posts": "最多发帖的会员", "users/sort-reputation": "最多积分的会员", "users/banned": "被封禁的用户", + "users/most-flags": "被举报次数最多的用户", "users/search": "会员搜索", "notifications": "提醒", "tags": "话题", diff --git a/public/language/zh_CN/user.json b/public/language/zh_CN/user.json index a7620b2522..1f8575b9be 100644 --- a/public/language/zh_CN/user.json +++ b/public/language/zh_CN/user.json @@ -95,8 +95,8 @@ "delay_image_loading": "延迟图片加载", "image_load_delay_help": "启用后,帖子中的图片仅在用户滚动到图片所在位置时加载", "scroll_to_my_post": "在提交回复之后显示新帖子", - "follow_topics_you_reply_to": "关注您回复的主题", - "follow_topics_you_create": "关注您创建的主题", + "follow_topics_you_reply_to": "关注你回复过的主题", + "follow_topics_you_create": "关注你创建的主题", "grouptitle": "小组标题", "no-group-title": "不展示小组称号", "select-skin": "选择皮肤", diff --git a/public/language/zh_CN/users.json b/public/language/zh_CN/users.json index 50d6dc0c23..44af27c94d 100644 --- a/public/language/zh_CN/users.json +++ b/public/language/zh_CN/users.json @@ -2,6 +2,7 @@ "latest_users": "最新会员", "top_posters": "发帖排行", "most_reputation": "威望排行", + "most_flags": "最多举报", "search": "搜索", "enter_username": "输入用户名搜索", "load_more": "加载更多", diff --git a/public/language/zh_TW/error.json b/public/language/zh_TW/error.json index c1b0663d59..64e29efa7e 100644 --- a/public/language/zh_TW/error.json +++ b/public/language/zh_TW/error.json @@ -30,6 +30,7 @@ "user-banned": "該使用者已被停用", "user-too-new": "抱歉,發表你第一篇文章須要等待 %1 秒", "blacklisted-ip": "抱歉,你的IP位置已經被這個社群禁用了。如果你覺得這是一個失誤,請連絡管理員。", + "ban-expiry-missing": "Please provide an end date for this ban", "no-category": "類別並不存在", "no-topic": "主題並不存在", "no-post": "文章並不存在", @@ -46,6 +47,13 @@ "post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting", "post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting", "post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting", + "post-delete-duration-expired": "You are only allowed to delete posts for %1 second(s) after posting", + "post-delete-duration-expired-minutes": "You are only allowed to delete posts for %1 minute(s) after posting", + "post-delete-duration-expired-minutes-seconds": "You are only allowed to delete posts for %1 minute(s) %2 second(s) after posting", + "post-delete-duration-expired-hours": "You are only allowed to delete posts for %1 hour(s) after posting", + "post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting", + "post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting", + "post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting", "content-too-short": "請輸入一個長一點的張貼內容。張貼內容長度不能少於 %1 字元。", "content-too-long": "請輸入一個短一點的張貼內容。張貼內容長度不能超過 %1 字元。", "title-too-short": "請輸入一個長一點的標題。標題長度不能少於 %1 字元。", @@ -68,6 +76,7 @@ "invalid-image-extension": "無效的圖像擴充元件", "invalid-file-type": "無效的檔案類型。允許的類型:%1", "group-name-too-short": "群組名稱太短了", + "group-name-too-long": "Group name too long", "group-already-exists": "群組名稱已存在", "group-name-change-not-allowed": "變更群組名稱不被允許", "group-already-member": "已經加入這個群組", @@ -109,5 +118,6 @@ "no-session-found": "沒有找到登入的連線階段!", "not-in-room": "使用者沒有在聊天室中", "no-users-in-room": "沒有使用者在聊天室中", - "cant-kick-self": "你不能把自己從群組中踢出" + "cant-kick-self": "你不能把自己從群組中踢出", + "no-users-selected": "No user(s) selected" } \ No newline at end of file diff --git a/public/language/zh_TW/pages.json b/public/language/zh_TW/pages.json index cb939e2372..71c0bbc9aa 100644 --- a/public/language/zh_TW/pages.json +++ b/public/language/zh_TW/pages.json @@ -12,6 +12,7 @@ "users/sort-posts": "最多張貼的使用者", "users/sort-reputation": "最多聲譽的使用者", "users/banned": "已封鎖用戶", + "users/most-flags": "Most flagged users", "users/search": "用戶搜尋", "notifications": "新訊息通知", "tags": "標籤", diff --git a/public/language/zh_TW/user.json b/public/language/zh_TW/user.json index 6a794e8dc6..6e8e500786 100644 --- a/public/language/zh_TW/user.json +++ b/public/language/zh_TW/user.json @@ -95,8 +95,8 @@ "delay_image_loading": "延遲圖片載入", "image_load_delay_help": "如果啟用的話,在主題中的圖片直到它們被捲到到可視範圍時才會載入。", "scroll_to_my_post": "在張貼回覆後,顯示新的張貼", - "follow_topics_you_reply_to": "跟隨你回覆的主題", - "follow_topics_you_create": "跟隨你建立的主題", + "follow_topics_you_reply_to": "Watch topics that you reply to", + "follow_topics_you_create": "Watch topics you create", "grouptitle": "群組標題", "no-group-title": "無此群組標題", "select-skin": "選擇外觀", diff --git a/public/language/zh_TW/users.json b/public/language/zh_TW/users.json index be4ad3a86b..91822886e1 100644 --- a/public/language/zh_TW/users.json +++ b/public/language/zh_TW/users.json @@ -2,6 +2,7 @@ "latest_users": "最近用戶", "top_posters": "發文數最多", "most_reputation": "聲望最高", + "most_flags": "Most Flags", "search": "搜尋", "enter_username": "輸入想找的使用者帳號", "load_more": "載入更多", diff --git a/public/less/admin/mobile.less b/public/less/admin/mobile.less index a324072679..e0e8ddb1dc 100644 --- a/public/less/admin/mobile.less +++ b/public/less/admin/mobile.less @@ -37,12 +37,12 @@ } #mobile-menu { - width: 31px; + width: 22px; background: none; border: none; vertical-align: 10%; margin-right: 10px; - margin-left: -15px; + margin-left: -5px; outline: none !important; display: block; diff --git a/public/less/generics.less b/public/less/generics.less index 33af3bfa11..bca1b45649 100644 --- a/public/less/generics.less +++ b/public/less/generics.less @@ -103,4 +103,16 @@ &.avatar-rounded { border-radius: 50%; } +} + +.ban-modal { + input[type="number"] { + width: 7rem; + text-align: center; + margin-left: 1rem; + } + + .form-inline, .form-group { + width: 100%; + } } \ No newline at end of file diff --git a/public/src/admin/manage/users.js b/public/src/admin/manage/users.js index 63b2d0fdd2..ac40fdbe9a 100644 --- a/public/src/admin/manage/users.js +++ b/public/src/admin/manage/users.js @@ -47,25 +47,59 @@ define('admin/manage/users', ['admin/modules/selectable'], function(selectable) $('.ban-user').on('click', function() { var uids = getSelectedUids(); if (!uids.length) { - return false; + app.alertError('[[error:no-users-selected]]'); + return false; // specifically to keep the menu open } - bootbox.confirm('Do you really want to ban?', function(confirm) { + bootbox.confirm('Do you really want to ban ' + (uids.length > 1 ? 'these users' : 'this user') + ' permanently?', function(confirm) { if (confirm) { - socket.emit('user.banUsers', uids, done('User(s) banned!', '.ban', true)); + socket.emit('user.banUsers', { uids: uids }, done('User(s) banned!', '.ban', true)); } }); - return false; + }); + + $('.ban-user-temporary').on('click', function() { + var uids = getSelectedUids(); + if (!uids.length) { + app.alertError('[[error:no-users-selected]]'); + return false; // specifically to keep the menu open + } + + templates.parse('admin/partials/temporary-ban', {}, function(html) { + bootbox.dialog({ + className: 'ban-modal', + title: '[[user:ban_account]]', + message: html, + show: true, + buttons: { + close: { + label: '[[global:close]]', + className: 'btn-link' + }, + submit: { + label: 'Ban ' + uids.length + (uids.length > 1 ? ' users' : ' user'), + callback: function() { + var formData = $('.ban-modal form').serializeArray().reduce(function(data, cur) { + data[cur.name] = cur.value; + return data; + }, {}); + var until = Date.now() + formData.length * 1000*60*60 * (parseInt(formData.unit, 10) ? 24 : 1); + socket.emit('user.banUsers', { uids: uids, until: until }, done('User(s) banned!', '.ban', true)); + } + } + } + }); + }); }); $('.unban-user').on('click', function() { var uids = getSelectedUids(); if (!uids.length) { - return; + app.alertError('[[error:no-users-selected]]'); + return false; // specifically to keep the menu open } socket.emit('user.unbanUsers', uids, done('User(s) unbanned!', '.ban', false)); - return false; }); $('.reset-lockout').on('click', function() { @@ -75,7 +109,6 @@ define('admin/manage/users', ['admin/modules/selectable'], function(selectable) } socket.emit('admin.user.resetLockouts', uids, done('Lockout(s) reset!')); - return false; }); $('.reset-flags').on('click', function() { @@ -85,7 +118,6 @@ define('admin/manage/users', ['admin/modules/selectable'], function(selectable) } socket.emit('admin.user.resetFlags', uids, done('Flags(s) reset!')); - return false; }); $('.admin-user').on('click', function() { @@ -99,7 +131,6 @@ define('admin/manage/users', ['admin/modules/selectable'], function(selectable) } else { socket.emit('admin.user.makeAdmins', uids, done('User(s) are now administrators.', '.administrator', true)); } - return false; }); $('.remove-admin-user').on('click', function() { @@ -117,7 +148,6 @@ define('admin/manage/users', ['admin/modules/selectable'], function(selectable) } }); } - return false; }); $('.validate-email').on('click', function() { @@ -131,7 +161,6 @@ define('admin/manage/users', ['admin/modules/selectable'], function(selectable) socket.emit('admin.user.validateEmail', uids, done('Emails validated', '.notvalidated', false)); } }); - return false; }); $('.send-validation-email').on('click', function() { @@ -158,7 +187,6 @@ define('admin/manage/users', ['admin/modules/selectable'], function(selectable) socket.emit('admin.user.sendPasswordResetEmail', uids, done('Emails sent')); } }); - return false; }); $('.delete-user').on('click', function() { @@ -180,7 +208,6 @@ define('admin/manage/users', ['admin/modules/selectable'], function(selectable) }); } }); - return false; }); function handleUserCreate() { diff --git a/public/src/client/account/header.js b/public/src/client/account/header.js index 520224d9ef..0e2477c6d1 100644 --- a/public/src/client/account/header.js +++ b/public/src/client/account/header.js @@ -103,18 +103,34 @@ define('forum/account/header', [ } function banAccount() { - translator.translate('[[user:ban_account_confirm]]', function(translated) { - bootbox.confirm(translated, function(confirm) { - if (!confirm) { - return; - } - socket.emit('user.banUsers', [ajaxify.data.theirid], function(err) { - if (err) { - return app.alertError(err.message); + templates.parse('admin/partials/temporary-ban', {}, function(html) { + bootbox.dialog({ + className: 'ban-modal', + title: '[[user:ban_account]]', + message: html, + show: true, + buttons: { + close: { + label: '[[global:close]]', + className: 'btn-link' + }, + submit: { + label: '[[user:ban_account]]', + callback: function() { + var formData = $('.ban-modal form').serializeArray().reduce(function(data, cur) { + data[cur.name] = cur.value; + return data; + }, {}); + var until = Date.now() + formData.length * 1000*60*60 * (parseInt(formData.unit, 10) ? 24 : 1); + socket.emit('user.banUsers', { uids: [ajaxify.data.theirid], until: until }, function(err) { + if (err) { + return app.alertError(err.message); + } + ajaxify.refresh(); + }); + } } - components.get('account/ban').parent().addClass('hide'); - components.get('account/unban').parent().removeClass('hide'); - }); + } }); }); } @@ -124,9 +140,7 @@ define('forum/account/header', [ if (err) { return app.alertError(err.message); } - - components.get('account/ban').parent().removeClass('hide'); - components.get('account/unban').parent().addClass('hide'); + ajaxify.refresh(); }); } diff --git a/public/src/client/topic/events.js b/public/src/client/topic/events.js index a036a732ec..0c6ee5ea06 100644 --- a/public/src/client/topic/events.js +++ b/public/src/client/topic/events.js @@ -126,19 +126,19 @@ define('forum/topic/events', [ posts.unloadImages(editedPostEl.parent()); posts.loadImages(); editedPostEl.fadeIn(250); - $(window).trigger('action:posts.edited', data); - }); - var editData = { - editor: data.editor, - editedISO: utils.toISOString(data.post.edited) - }; + var editData = { + editor: data.editor, + editedISO: utils.toISOString(data.post.edited) + }; - templates.parse('partials/topic/post-editor', editData, function(html) { - translator.translate(html, function(translated) { - html = $(translated); - editorEl.replaceWith(html); - html.find('.timeago').timeago(); + templates.parse('partials/topic/post-editor', editData, function(html) { + translator.translate(html, function(translated) { + html = $(translated); + editorEl.replaceWith(html); + html.find('.timeago').timeago(); + $(window).trigger('action:posts.edited', data); + }); }); }); diff --git a/public/src/client/topic/postTools.js b/public/src/client/topic/postTools.js index 6c2cebc8bd..71df716198 100644 --- a/public/src/client/topic/postTools.js +++ b/public/src/client/topic/postTools.js @@ -58,6 +58,8 @@ define('forum/topic/postTools', ['share', 'navigator', 'components', 'translator postEl.find('[component="post/delete"]').toggleClass('hidden', isDeleted); postEl.find('[component="post/restore"]').toggleClass('hidden', !isDeleted); postEl.find('[component="post/purge"]').toggleClass('hidden', !isDeleted); + + postEl.find('.dropdown-menu').html(''); }; PostTools.updatePostCount = function(postCount) { diff --git a/public/src/client/topic/posts.js b/public/src/client/topic/posts.js index aaf188c591..c656b899a2 100644 --- a/public/src/client/topic/posts.js +++ b/public/src/client/topic/posts.js @@ -345,10 +345,11 @@ define('forum/topic/posts', [ Posts.showBottomPostBar = function() { var mainPost = components.get('post', 'index', 0); + var placeHolder = $('.post-bar-placeholder'); var posts = $('[component="post"]'); - if (!!mainPost.length && posts.length > 1 && $('.post-bar').length < 2 && $('.post-bar-placeholder').length) { - $('.post-bar').clone().appendTo(mainPost); - $('.post-bar-placeholder').remove(); + if (!!mainPost.length && posts.length > 1 && $('.post-bar').length < 2 && placeHolder.length) { + $('.post-bar').clone().insertAfter(placeHolder); + placeHolder.remove(); } else if (mainPost.length && posts.length < 2) { mainPost.find('.post-bar').remove(); } diff --git a/public/src/modules/translator.js b/public/src/modules/translator.js index 9e2417795c..ad18721605 100644 --- a/public/src/modules/translator.js +++ b/public/src/modules/translator.js @@ -30,7 +30,6 @@ languages[language].loading = languages[language].loading || {}; if (languages[language].loaded[filename]) { - var existing = languages[language].loaded[filename]; for (var t in translations) { if (translations.hasOwnProperty(t)) { languages[language].loaded[filename][t] = translations[t]; @@ -304,7 +303,7 @@ data = {}; } callback(data); - } + }; if (err) { if (err.code === 'ENOENT' && plugins.customLanguageFallbacks.hasOwnProperty(filename)) { @@ -317,7 +316,7 @@ } onData(data); - }) + }); } else { winston.error('[translator] Could not load `' + filename + '`: ' + err.message + '. Skipping...'); return callback({}); @@ -342,7 +341,7 @@ } _translator.translate.apply(_translator, arguments); } - } + }; } })( typeof exports === 'object' ? exports : diff --git a/public/src/modules/uploader.js b/public/src/modules/uploader.js index dc17484452..c54c12c912 100644 --- a/public/src/modules/uploader.js +++ b/public/src/modules/uploader.js @@ -37,6 +37,7 @@ define('uploader', ['csrf', 'translator'], function(csrf, translator) { uploadForm.find('#params').val(JSON.stringify(data.params)); uploadModal.find('#fileUploadSubmitBtn').on('click', function() { + $(this).addClass('disabled'); uploadForm.submit(); }); @@ -54,6 +55,9 @@ define('uploader', ['csrf', 'translator'], function(csrf, translator) { function onSubmit(uploadModal, fileSize, callback) { function showAlert(type, message) { module.hideAlerts(uploadModal); + if (type === 'error') { + uploadModal.find('#fileUploadSubmitBtn').removeClass('disabled'); + } uploadModal.find('#alert-' + type).translateText(message).removeClass('hide'); } diff --git a/src/controllers/accounts.js b/src/controllers/accounts.js index 789393703a..2c99a981c3 100644 --- a/src/controllers/accounts.js +++ b/src/controllers/accounts.js @@ -3,6 +3,7 @@ var accountsController = { profile: require('./accounts/profile'), edit: require('./accounts/edit'), + info: require('./accounts/info'), settings: require('./accounts/settings'), groups: require('./accounts/groups'), follow: require('./accounts/follow'), diff --git a/src/controllers/accounts/helpers.js b/src/controllers/accounts/helpers.js index 2502d7fdd0..12a891a673 100644 --- a/src/controllers/accounts/helpers.js +++ b/src/controllers/accounts/helpers.js @@ -141,6 +141,9 @@ helpers.getBaseUser = function(userslug, callerUID, callback) { isGlobalModerator: function(next) { user.isGlobalModerator(callerUID, next); }, + isFollowing: function(next) { + user.isFollowing(callerUID, uid, next); + }, profile_links: function(next) { plugins.fireHook('filter:user.profileLinks', [], next); } @@ -155,6 +158,7 @@ helpers.getBaseUser = function(userslug, callerUID, callback) { results.user.theirid = results.user.uid; results.user.status = user.getStatus(results.user); results.user.isSelf = parseInt(callerUID, 10) === parseInt(results.user.uid, 10); + results.user.isFollowing = results.isFollowing; results.user.showHidden = results.user.isSelf || results.isAdmin || results.isGlobalModerator; results.user.profile_links = filterLinks(results.profile_links, results.user.isSelf); diff --git a/src/controllers/accounts/info.js b/src/controllers/accounts/info.js new file mode 100644 index 0000000000..6547db8076 --- /dev/null +++ b/src/controllers/accounts/info.js @@ -0,0 +1,28 @@ +'use strict'; + +var async = require('async'), + _ = require('underscore'), + + user = require('../../user'), + helpers = require('../helpers'), + accountHelpers = require('./helpers'); + +var infoController = {}; + +infoController.get = function(req, res, next) { + accountHelpers.getBaseUser(req.params.userslug, req.uid, function(err, userData) { + async.parallel({ + ips: async.apply(user.getIPs, res.locals.uid, 4), + history: async.apply(user.getModerationHistory, res.locals.uid) + }, function(err, data) { + data = _.extend(userData, data); + + userData.title = '[[pages:account/info]]'; + userData.breadcrumbs = helpers.buildBreadcrumbs([{text: userData.username, url: '/user/' + userData.userslug}, {text: '[[user:settings]]'}]); + + res.render('account/info', data); + }); + }); +}; + +module.exports = infoController; \ No newline at end of file diff --git a/src/controllers/api.js b/src/controllers/api.js index 4b84d44ef8..35f894e002 100644 --- a/src/controllers/api.js +++ b/src/controllers/api.js @@ -12,6 +12,8 @@ var categories = require('../categories'); var privileges = require('../privileges'); var plugins = require('../plugins'); var widgets = require('../widgets'); +var helpers = require('../controllers/helpers'); +var accountHelpers = require('../controllers/accounts/helpers'); var apiController = {}; @@ -51,7 +53,7 @@ apiController.getConfig = function(req, res, next) { config['theme:id'] = meta.config['theme:id']; config['theme:src'] = meta.config['theme:src']; config.defaultLang = meta.config.defaultLang || 'en_GB'; - config.userLang = req.query.lang || config.defaultLang; + config.userLang = req.query.lang ? validator.escape(req.query.lang) : config.defaultLang; config.loggedIn = !!req.user; config['cache-buster'] = meta.config['cache-buster'] || ''; config.requireEmailConfirmation = parseInt(meta.config.requireEmailConfirmation, 10) === 1; @@ -74,7 +76,7 @@ apiController.getConfig = function(req, res, next) { config.topicsPerPage = settings.topicsPerPage; config.postsPerPage = settings.postsPerPage; config.notificationSounds = settings.notificationSounds; - config.userLang = req.query.lang || settings.userLang || config.defaultLang; + config.userLang = (req.query.lang ? validator.escape(req.query.lang) : null) || settings.userLang || config.defaultLang; config.openOutgoingLinksInNewTab = settings.openOutgoingLinksInNewTab; config.topicPostSort = settings.topicPostSort || config.topicPostSort; config.categoryTopicSort = settings.categoryTopicSort || config.categoryTopicSort; @@ -218,6 +220,25 @@ apiController.getObject = function(req, res, next) { }); }; +apiController.getCurrentUser = function(req, res, next) { + if (!req.uid) { + return helpers.notAllowed(req, res); + } + async.waterfall([ + function(next) { + user.getUserField(req.uid, 'userslug', next); + }, + function(userslug, next) { + accountHelpers.getUserDataByUserSlug(userslug, req.uid, next); + } + ], function(err, userData) { + if (err) { + return next(err); + } + res.json(userData); + }); +}; + apiController.getUserByUID = function(req, res, next) { byType('uid', req, res, next); }; diff --git a/src/controllers/helpers.js b/src/controllers/helpers.js index 3d0f177d67..c91d68acc7 100644 --- a/src/controllers/helpers.js +++ b/src/controllers/helpers.js @@ -3,8 +3,8 @@ var nconf = require('nconf'); var async = require('async'); var validator = require('validator'); +var winston = require('winston'); -var translator = require('../../public/src/modules/translator'); var categories = require('../categories'); var plugins = require('../plugins'); var meta = require('../meta'); @@ -17,6 +17,9 @@ helpers.notAllowed = function(req, res, error) { res: res, error: error }, function(err, data) { + if (err) { + return winston.error(err); + } if (req.uid) { if (res.locals.isAPI) { res.status(403).json({ diff --git a/src/meta/css.js b/src/meta/css.js index 0250ae5b26..478acab284 100644 --- a/src/meta/css.js +++ b/src/meta/css.js @@ -196,7 +196,7 @@ module.exports = function(Meta) { Meta.css[destination] = result.css; // Save the compiled CSS in public/ so things like nginx can serve it - if (nconf.get('isPrimary') === 'true') { + if (nconf.get('isPrimary') === 'true' && (nconf.get('local-assets') === undefined || nconf.get('local-assets') !== false)) { return Meta.css.commitToFile(destination, function() { if (typeof callback === 'function') { callback(null, result.css); diff --git a/src/meta/js.js b/src/meta/js.js index b7585bbee8..9d8b1d6c34 100644 --- a/src/meta/js.js +++ b/src/meta/js.js @@ -161,11 +161,18 @@ module.exports = function(Meta) { }); } - Meta.js.commitToFile(target, function() { + if (nconf.get('local-assets') === undefined || nconf.get('local-assets') !== false) { + return Meta.js.commitToFile(target, function() { + if (typeof callback === 'function') { + callback(); + } + }); + } else { + emitter.emit('meta:js.compiled'); if (typeof callback === 'function') { - callback(); + return callback(); } - }); + } break; case 'error': diff --git a/src/meta/sounds.js b/src/meta/sounds.js index 4b85f681cb..c802458b14 100644 --- a/src/meta/sounds.js +++ b/src/meta/sounds.js @@ -83,7 +83,9 @@ module.exports = function(Meta) { fs.readdir(path.join(__dirname, '../../public/uploads/sounds'), next); }, function(uploaded, next) { - uploaded = uploaded.map(function(filename) { + uploaded = uploaded.filter(function(filename) { + return !filename.startsWith('.'); + }).map(function(filename) { return path.join(__dirname, '../../public/uploads/sounds', filename); }); @@ -93,6 +95,21 @@ module.exports = function(Meta) { return; } + if (nconf.get('local-assets') === false) { + // Don't regenerate the public/sounds/ directory. Instead, create a mapping for the router to use + Meta.sounds._filePathHash = filePaths.reduce(function(hash, filePath) { + hash[path.basename(filePath)] = filePath; + return hash; + }, {}); + + winston.verbose('[sounds] Sounds OK'); + if (typeof next === 'function') { + return next(); + } else { + return; + } + } + // Clear the sounds directory async.series([ function(next) { @@ -121,8 +138,8 @@ module.exports = function(Meta) { winston.error('[sounds] Could not initialise sounds: ' + err.message); } - if (typeof callback === 'function') { - callback(); + if (typeof next === 'function') { + next(); } }); }); diff --git a/src/middleware/middleware.js b/src/middleware/middleware.js index 991f6bbe66..cbede05028 100644 --- a/src/middleware/middleware.js +++ b/src/middleware/middleware.js @@ -1,32 +1,32 @@ "use strict"; -var app, - middleware = { - admin: {} - }, - async = require('async'), - fs = require('fs'), - path = require('path'), - csrf = require('csurf'), - _ = require('underscore'), +var app; +var middleware = { + admin: {} +}; +var async = require('async'); +var fs = require('fs'); +var path = require('path'); +var csrf = require('csurf'); +var _ = require('underscore'); - validator = require('validator'), - nconf = require('nconf'), - ensureLoggedIn = require('connect-ensure-login'), - toobusy = require('toobusy-js'), +var validator = require('validator'); +var nconf = require('nconf'); +var ensureLoggedIn = require('connect-ensure-login'); +var toobusy = require('toobusy-js'); - plugins = require('../plugins'), - languages = require('../languages'), - meta = require('../meta'), - user = require('../user'), - groups = require('../groups'), +var plugins = require('../plugins'); +var languages = require('../languages'); +var meta = require('../meta'); +var user = require('../user'); +var groups = require('../groups'); - analytics = require('../analytics'), +var analytics = require('../analytics'); - controllers = { - api: require('./../controllers/api'), - helpers: require('../controllers/helpers') - }; +var controllers = { + api: require('./../controllers/api'), + helpers: require('../controllers/helpers') +}; toobusy.maxLag(parseInt(meta.config.eventLoopLagThreshold, 10) || 100); toobusy.interval(parseInt(meta.config.eventLoopInterval, 10) || 500); @@ -322,7 +322,7 @@ middleware.processLanguages = function(req, res, next) { if (code && key) { languages.get(code, key[0], function(err, language) { res.status(200).json(language); - }) + }); } else { res.status(404).json('{}'); } diff --git a/src/middleware/render.js b/src/middleware/render.js index aacc20c281..63c5662268 100644 --- a/src/middleware/render.js +++ b/src/middleware/render.js @@ -1,6 +1,7 @@ 'use strict'; var nconf = require('nconf'); +var validator = require('validator'); var plugins = require('../plugins'); var translator = require('../../public/src/modules/translator'); @@ -38,6 +39,7 @@ module.exports = function(middleware) { options.relative_path = nconf.get('relative_path'); options.template = {name: template}; options.template[template] = true; + options.url = (req.baseUrl + req.path).replace(/^\/api/, ''); options.bodyClass = buildBodyClass(req); res.locals.template = template; @@ -79,7 +81,7 @@ module.exports = function(middleware) { } str = template + str; var language = res.locals.config ? res.locals.config.userLang || 'en_GB' : 'en_GB'; - language = req.query.lang || language; + language = req.query.lang ? validator.escape(req.query.lang) : language; translator.translate(str, language, function(translated) { translated = translator.unescape(translated); translated = translated + ''; diff --git a/src/posts/summary.js b/src/posts/summary.js index 60da66ecad..885a0e444d 100644 --- a/src/posts/summary.js +++ b/src/posts/summary.js @@ -118,6 +118,7 @@ module.exports = function(Posts) { var cids = topics.map(function(topic) { if (topic) { topic.title = validator.escape(topic.title); + topic.deleted = parseInt(topic.deleted, 10) === 1; } return topic && topic.cid; }).filter(function(topic, index, array) { @@ -145,4 +146,4 @@ module.exports = function(Posts) { } return content; } -}; \ No newline at end of file +}; diff --git a/src/routes/accounts.js b/src/routes/accounts.js index 9ee4b3af20..e60d2bcc99 100644 --- a/src/routes/accounts.js +++ b/src/routes/accounts.js @@ -5,7 +5,7 @@ var setupPageRoute = helpers.setupPageRoute; module.exports = function (app, middleware, controllers) { var middlewares = [middleware.checkGlobalPrivacySettings]; - var accountMiddlewares = [middleware.checkGlobalPrivacySettings, middleware.checkAccountPermissions]; + var accountMiddlewares = [middleware.checkGlobalPrivacySettings, middleware.checkAccountPermissions, middleware.exposeUid]; setupPageRoute(app, '/uid/:uid/:section?', middleware, [], middleware.redirectUidToUserslug); @@ -25,6 +25,7 @@ module.exports = function (app, middleware, controllers) { setupPageRoute(app, '/user/:userslug/edit/username', middleware, accountMiddlewares, controllers.accounts.edit.username); setupPageRoute(app, '/user/:userslug/edit/email', middleware, accountMiddlewares, controllers.accounts.edit.email); setupPageRoute(app, '/user/:userslug/edit/password', middleware, accountMiddlewares, controllers.accounts.edit.password); + setupPageRoute(app, '/user/:userslug/info', middleware, accountMiddlewares, controllers.accounts.info.get); setupPageRoute(app, '/user/:userslug/settings', middleware, accountMiddlewares, controllers.accounts.settings.get); app.delete('/user/:userslug/session/:uuid', accountMiddlewares, controllers.accounts.session.revoke); diff --git a/src/routes/api.js b/src/routes/api.js index 1a84f59c3a..ee983f1cd5 100644 --- a/src/routes/api.js +++ b/src/routes/api.js @@ -12,6 +12,7 @@ module.exports = function(app, middleware, controllers) { router.get('/config', middleware.applyCSRF, controllers.api.getConfig); router.get('/widgets/render', controllers.api.renderWidgets); + router.get('/me', middleware.checkGlobalPrivacySettings, controllers.api.getCurrentUser); router.get('/user/uid/:uid', middleware.checkGlobalPrivacySettings, controllers.api.getUserByUID); router.get('/user/username/:username', middleware.checkGlobalPrivacySettings, controllers.api.getUserByUsername); router.get('/user/email/:email', middleware.checkGlobalPrivacySettings, controllers.api.getUserByEmail); diff --git a/src/routes/meta.js b/src/routes/meta.js index 65757566de..b459db2972 100644 --- a/src/routes/meta.js +++ b/src/routes/meta.js @@ -1,11 +1,14 @@ "use strict"; -var meta = require('../meta'), - middleware = require('../middleware'); +var path = require('path'); +var nconf = require('nconf'); + +var meta = require('../meta'); -function sendMinifiedJS(req, res, next) { - var cache = meta.js.target['nodebb.min.js'] ? meta.js.target['nodebb.min.js'].cache : ''; +function sendMinifiedJS(req, res) { + var target = path.basename(req.path); + var cache = meta.js.target[target] ? meta.js.target[target].cache : ''; res.type('text/javascript').send(cache); } @@ -19,18 +22,29 @@ function sendMinifiedJS(req, res, next) { // } // }; -function sendStylesheet(req, res, next) { +function sendStylesheet(req, res) { res.type('text/css').status(200).send(meta.css.cache); } -function sendACPStylesheet(req, res, next) { +function sendACPStylesheet(req, res) { res.type('text/css').status(200).send(meta.css.acpCache); } +function sendSoundFile(req, res, next) { + var resolved = meta.sounds._filePathHash[path.basename(req.path)]; + + if (resolved) { + res.status(200).sendFile(resolved); + } else { + next(); + } +} + module.exports = function(app, middleware, controllers) { app.get('/stylesheet.css', middleware.addExpiresHeaders, sendStylesheet); app.get('/admin.css', middleware.addExpiresHeaders, sendACPStylesheet); app.get('/nodebb.min.js', middleware.addExpiresHeaders, sendMinifiedJS); + app.get('/acp.min.js', middleware.addExpiresHeaders, sendMinifiedJS); // app.get('/nodebb.min.js.map', middleware.addExpiresHeaders, sendJSSourceMap); app.get('/sitemap.xml', controllers.sitemap.render); app.get('/sitemap/pages.xml', controllers.sitemap.getPages); @@ -39,4 +53,8 @@ module.exports = function(app, middleware, controllers) { app.get('/robots.txt', controllers.robots); app.get('/manifest.json', controllers.manifest); app.get('/css/previews/:theme', controllers.admin.themes.get); + + if (nconf.get('local-assets') === false) { + app.get('/sounds/*', middleware.addExpiresHeaders, sendSoundFile); + } }; diff --git a/src/topics/recent.js b/src/topics/recent.js index 7139f58991..c6fa7c7425 100644 --- a/src/topics/recent.js +++ b/src/topics/recent.js @@ -4,6 +4,7 @@ var async = require('async'); var db = require('../database'); +var plugins = require('../plugins'); module.exports = function(Topics) { var terms = { @@ -63,6 +64,19 @@ module.exports = function(Topics) { Topics.updateRecent = function(tid, timestamp, callback) { callback = callback || function() {}; - db.sortedSetAdd('topics:recent', timestamp, tid, callback); + if (plugins.hasListeners('filter:topics.updateRecent')) { + plugins.fireHook('filter:topics.updateRecent', {tid: tid, timestamp: timestamp}, function(err, data) { + if (err) { + return callback(err); + } + if (data && data.tid && data.timestamp) { + db.sortedSetAdd('topics:recent', data.timestamp, data.tid, callback); + } else { + callback(); + } + }); + } else { + db.sortedSetAdd('topics:recent', timestamp, tid, callback); + } }; }; diff --git a/src/user.js b/src/user.js index b4557abfb0..19f9974cba 100644 --- a/src/user.js +++ b/src/user.js @@ -33,6 +33,7 @@ var utils = require('../public/src/utils'); require('./user/approval')(User); require('./user/invite')(User); require('./user/password')(User); + require('./user/info')(User); User.updateLastOnlineTime = function(uid, callback) { callback = callback || function() {}; diff --git a/src/user/admin.js b/src/user/admin.js index 59ec0e0979..cf09c0a4ed 100644 --- a/src/user/admin.js +++ b/src/user/admin.js @@ -22,9 +22,7 @@ module.exports = function(User) { return callback(err); } - callback(null, ips.map(function(ip) { - return {ip:ip}; - })); + callback(null, ips); }); }; @@ -68,6 +66,7 @@ module.exports = function(User) { var tasks = [ async.apply(User.setUserField, uid, 'banned', 1), async.apply(db.sortedSetAdd, 'users:banned', Date.now(), uid), + async.apply(db.sortedSetAdd, 'uid:' + uid + ':bans', Date.now(), until) ]; if (until > 0 && Date.now() < until) { @@ -95,7 +94,7 @@ module.exports = function(User) { User.setUserField(uid, 'banned', 0, next); }, function (next) { - db.sortedSetRemove('users:banned', uid, next); + db.sortedSetsRemove(['users:banned', 'users:banned:expire'], uid, next); }, function (next) { plugins.fireHook('action:user.unbanned', {uid: uid}); diff --git a/src/user/data.js b/src/user/data.js index 66fedbefcd..8e179ca119 100644 --- a/src/user/data.js +++ b/src/user/data.js @@ -55,6 +55,16 @@ module.exports = function(User) { return callback(err); } + if (fields.indexOf('banned') !== -1) { + // Also retrieve ban expiry for these users + db.sortedSetScores('users:banned:expire', uids, function(err, scores) { + users = users.map(function(userObj, idx) { + userObj.banned_until = scores[idx] || 0; + userObj.banned_until_readable = scores[idx] ? new Date(scores[idx]).toString() : 'Not Banned'; + }); + }); + } + modifyUserData(users, fieldsToRemove, callback); }); }; diff --git a/src/user/info.js b/src/user/info.js new file mode 100644 index 0000000000..a9ca675eab --- /dev/null +++ b/src/user/info.js @@ -0,0 +1,73 @@ +'use strict'; + +var async = require('async'), + _ = require('underscore'); + +var db = require('../database'), + posts = require('../posts'), + topics = require('../topics'); + +module.exports = function(User) { + User.getModerationHistory = function(uid, callback) { + async.waterfall([ + function(next) { + async.parallel({ + flags: async.apply(db.getSortedSetRevRangeByScoreWithScores, 'uid:' + uid + ':flag:pids', 0, 20, '+inf', '-inf'), + bans: async.apply(db.getSortedSetRevRangeByScoreWithScores, 'uid:' + uid + ':bans', 0, 20, '+inf', '-inf') + }, next); + }, + async.apply(getFlagMetadata), + async.apply(formatBanData) + ], function(err, data) { + callback(err, data); + }); + }; + + function getFlagMetadata(data, callback) { + // Retrieve post title & slug from flags list + posts.getPostsFields(data.flags.map(function(flagObj) { + return parseInt(flagObj.value, 10); + }), ['tid'], function(err, postData) { + if (err) { + return callback(err); + } + + var tids = postData.map(function(post) { + return post.tid; + }); + + topics.getTopicsFields(tids, ['title'], function(err, topicData) { + data.flags = data.flags.map(function(flagObj, idx) { + flagObj.pid = flagObj.value; + flagObj.timestamp = flagObj.score; + flagObj.timestampISO = new Date(flagObj.score).toISOString(); + flagObj.timestampReadable = new Date(flagObj.score).toString(); + + delete flagObj.value; + delete flagObj.score; + + return _.extend(flagObj, topicData[idx]); + }); + + callback(null, data); + }); + }); + } + + function formatBanData(data, callback) { + data.bans = data.bans.map(function(banObj) { + banObj.until = parseInt(banObj.value, 10); + banObj.untilReadable = new Date(banObj.until).toString(); + banObj.timestamp = parseInt(banObj.score, 10); + banObj.timestampReadable = new Date(banObj.score).toString(); + banObj.timestampISO = new Date(banObj.score).toISOString(); + + delete banObj.value; + delete banObj.score; + + return banObj; + }); + + setImmediate(callback, null, data); + } +} \ No newline at end of file diff --git a/src/views/admin/manage/users.tpl b/src/views/admin/manage/users.tpl index 6af10174bb..6683f6e887 100644 --- a/src/views/admin/manage/users.tpl +++ b/src/views/admin/manage/users.tpl @@ -23,12 +23,13 @@