diff --git a/CHANGELOG.md b/CHANGELOG.md index b52024078a..de31b7fb97 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,171 @@ +#### v1.18.0 (2021-08-25) + +##### Breaking Changes + +* **emails:** restore ability for admins to edit a user's email address [breaking] (c4e3362b) +* #9670 return 4xx errors instead of 5xx on flag routes, when unauthenticated or not privileged [breaking] (d1959a25) +* made TopicList.onTopicsLoaded private [breaking] (07f25d8c) +* return proper API-style response if exception caught by error handler on v3 routes [breaking] (a54a3ee1) + +##### Chores + +* **deps:** + * update dependency husky to v7.0.2 (324c7d48) + * update dependency eslint-plugin-import to v2.24.2 (9a34fe18) + * update dependency eslint-config-nodebb to v0.0.2 (cd85a55d) + * update dependency mocha to v9.1.0 (c5a42273) + * update dependency eslint-plugin-import to v2.24.1 (daca09d4) + * update dependency @apidevtools/swagger-parser to v10.0.3 (ffdf61b8) + * update dependency jsdom to v17 (#9700) (41855375) + * update dependency eslint-plugin-import to v2.24.0 (23dafa20) + * update dependency lint-staged to v11.1.2 (d47bdde2) + * update dependency jsdom to v16.7.0 (9db28b4b) + * update dependency eslint to v7.32.0 (03a98f4d) + * update dependency mocha to v9.0.3 (40384fcb) + * update dependency lint-staged to v11.1.1 (7588aae1) + * update dependency lint-staged to v11.1.0 (cb5fe271) + * update dependency mocha to v9 (f43291f5) + * update dependency husky to v7 (702290c4) + * update dependency eslint to v7.31.0 (f5a53b7f) + * update dependency lint-staged to v11.0.1 (02101315) +* up markdown/composer-default, fixes: #9708 (b74eefac) +* incrementing version number - v1.17.2 (46be2046) +* update changelog for v1.17.2 (5c9c0605) + +##### Documentation Changes + +* some hook deprecation notices (6bc090f8) + +##### New Features + +* add confirmation modal to topic event deletion (e803737a) +* allow changing default search in (794bf01b) +* #9705, use radio buttons for flag reasons (382a4c27) +* Client-side hooks - replace window.trigger (#9679) (342503e0) +* closes #9684, allow event deletion (358ad740) +* replace eslint configs on server and client side to inherit rules from eslint-config-nodebb (f653a6ff) +* re-add FontAwesome font for compatibility (a370c26f) +* update to FontAwesome 5.15, resolve #6976 (41762e66) +* removed registerAndLoginUserCallback local helper, added handling if a bad interstitial doesn't go away nor throw errors (70a04bc1) +* updated email confirmation alert to more closely reflect email usage, remembering dismissal (bbbacd86) +* allow requirejs modules to be awaited (58adb762) +* show instructional modal after email change request (0e05cbe1) +* return back to profile after editing email (324a12b6) +* allow registration interstitial abort to also follow returnTo (b3c91641) +* plumb current session id into email removal/confirmation flow, so all other sessions are revoked except for the current session (96398faa) +* allow revokeAllSessions method to revoke all sessions except that which is passed in (new arg) (b0a4a1d3) +* return generic 404 on invalid confirm code (f53fc1ad) +* invites no longer require email (a917210c) +* show different registration intersitial lead text on new account vs. existing (74aaa0a9) +* removal of emailExists socket listener (12b2a979) +* add loggedin/guest class to body (04b1f702) +* convert _fireStaticHook to async function (auto-refactor by vscode) (21359eab) +* store topic tags in topic hash (#9656) (4a56388e) +* new hook `action:topics.loading` (in the same format as `action:posts.loading`) (e0db904b) +* schedule deprecation for `action:category.loaded` and `action:category.loading`. Use `action:topics.loaded/ing` instead (8ae4c300) +* internationalize API error messages (7036c375) +* #9651, change category desc to multiline (5fd190f7) +* **emails:** + * pass req in to filter:registration.interstitial (afd2d8da) + * display current email in interstitial form (f5291999) + * upgrade script for includeUnverifiedEmails (50517020) + * +includeUnverifiedEmails ACP setting (be97aa6f) + +##### Bug Fixes + +* lint (55693ec1) +* topic event deletion (1ee92c28) +* pluginPaths (0743554d) +* #9730, show warning if plugin is active but not installed (13878e9f) +* #9729, insert new posts after topic events (60bf5643) +* #9719, only apply to non https (c354cde3) +* #9727, addHandlers after hooks (77c3085a) +* allow smaller than 5mins for admin relogin duration (a288f51f) +* taskbar icon not pushed via composer/persona (3a81c8fd) +* #9698, pass along query params in redirect (9de64bf5) +* lint (8bf2896d) +* remove unnecessary quote (093ac1c0) +* parseInt tids (162ebacf) +* #9681, update posts in queue if target tid is merged (0c816429) +* email update interstitial to not error on empty email field (on new registration) (4a521ea2) +* updated ACP > Manage > Users to handle users with no email address (824a72b2) +* allowed reset and reset_notify emails to go out to unconfirmed email addresses (d5b5b7d5) +* bug where confirmation email was sent to the old email address, not the new one (414d733d) +* email validation flow, so that it actually works, fixed event logging bug, new email verification template (3bcd1f14) +* accidental early return in confirmByCode, tests, race condition (caf89687) +* test :shipit: (2c06ac9a) +* failing test from d1959a2 (f71f2951) +* #9668, add raw info to psql database page (6c47a060) +* use hooks module instead of window trigger (acb11cc7) +* tests (0960a814) +* translate language keys if passed in to formatApiResponse (415416d2) +* lint (ff78969c) +* tests (55d7e558) +* keep query string on redirects (47c8c692) +* **deps:** + * bump persona (12e7f8d5) + * update dependency nodebb-theme-persona to v11.2.1 (#9734) (2e1562b8) + * update dependency nodebb-theme-vanilla to v12.1.2 (#9735) (4bd66a7c) + * update dependency nodebb-theme-slick to v1.4.8 (#9732) (096c5a58) + * update dependency autoprefixer to v10.3.2 (d44e3a8e) + * update dependency nodebb-theme-persona to v11.2.0 (116f9cb5) + * update dependency ioredis to v4.27.8 (8461791a) + * update dependency nodebb-theme-persona to v11.1.3 (ec103ce8) + * update dependency sharp to v0.29.0 (626d5565) + * update dependency connect-mongo to v4.5.0 (ce6039f2) + * update dependency nodebb-theme-vanilla to v12.1.1 (de83f82e) + * update dependency nodebb-theme-persona to v11.1.2 (ee10ae04) + * update dependency yargs to v17.1.1 (38e38580) + * update dependency nodebb-theme-persona to v11.1.1 (47941418) + * update dependency mongodb to v3.6.11 (a0fd0268) + * update dependency yargs to v17.1.0 (181c20ba) + * update dependency ioredis to v4.27.7 (4c9d6b62) + * update theme versions for #9607 (3b34571d) + * update dependency postcss to v8.3.6 (ebdba8f1) + * update dependency html-to-text to v8 (3f24746c) + * update dependency yargs to v17 (1b6b1fe5) + * bump composer-default to v7 (51458c75) + * update dependency autoprefixer to v10.3.1 (0d3f74b7) + * update dependency nodebb-plugin-markdown to v8.14.2 (b6a84712) + * update dependency autoprefixer to v10.3.0 (72c9650f) + * update socket.io packages to v4.1.3 (f14df0d4) + * update dependency nodebb-plugin-composer-default to v6.5.34 (31dae04f) + * update dependency nodebb-theme-persona to v11.0.26 (ae14016e) + * update dependency nodebb-plugin-markdown to v8.14.1 (8b41684e) +* **emails:** + * broken test for api/user/email/:email (81611ae1) + * dont allow retrieving user data if showemail is false @julianlam (7d115c8e) + * registration tests, email no longer passed-in, API tests (confirm email for test accounts) (6694bdd5) + * don't automatically associate email during user creation if passed in at registration (e726048e) + * remove debug log (b4b65ecd) + * broken test due to sticky registration interstitial (ab9b6716) + +##### Refactors + +* remove promisify from redis, ioredis supports promises nati… (#9728) (6659e95a) +* get rid of async.waterfall/each (8fb53252) +* remove unused async (42dbd402) +* remove waterfall (6b6a7d4b) +* move interstitials into its own file in `src/user/` (e95df2f0) +* added user.email.remove method, updated email interstitial to handle email removal (ccf004f1) +* client-side to use flag notes API (ef4e74bf) +* fix wording (6ed7e937) +* **email:** validation checking methods, +tests fix (087e6020) +* **emails:** + * more work in update email interstitial, interstitial skipping, email change on confirmation, deprecation of requireEmailConfirmation (69c96dd2) + * interstitial for adding/updating email (f365bc46) + * remove email validation on client and server side (7c1d1c77) + +##### Code Style Changes + +* eslint (d2492ef4) +* lint fix (340ccb24) +* lint (52229172) + +##### Tests + +* **emails:** fixing broken tests introduced by e5ff68acd (a3a3b10f) + #### v1.17.2 (2021-07-07) ##### Chores diff --git a/install/package.json b/install/package.json index c21d092815..3e837e7f90 100644 --- a/install/package.json +++ b/install/package.json @@ -32,7 +32,7 @@ "ace-builds": "^1.4.12", "archiver": "^5.2.0", "async": "^3.2.0", - "autoprefixer": "10.3.2", + "autoprefixer": "10.3.4", "bcryptjs": "2.4.3", "benchpressjs": "2.4.3", "body-parser": "^1.19.0", @@ -64,7 +64,7 @@ "html-to-text": "8.0.0", "ipaddr.js": "^2.0.0", "jquery": "3.6.0", - "jquery-deserialize": "2.0.0-rc1", + "jquery-deserialize": "2.0.0", "jquery-form": "4.3.0", "jquery-serializeobject": "1.0.0", "jquery-ui": "1.12.1", @@ -78,13 +78,13 @@ "material-design-lite": "^1.3.0", "mime": "^2.5.2", "mkdirp": "^1.0.4", - "mongodb": "3.6.11", + "mongodb": "3.7.0", "morgan": "^1.10.0", "mousetrap": "^1.6.5", "multiparty": "4.2.2", "@nodebb/bootswatch": "3.4.2", "nconf": "^0.11.2", - "nodebb-plugin-composer-default": "7.0.1", + "nodebb-plugin-composer-default": "7.0.2", "nodebb-plugin-dbsearch": "5.0.2", "nodebb-plugin-emoji": "^3.5.0", "nodebb-plugin-emoji-android": "2.0.5", @@ -93,8 +93,8 @@ "nodebb-plugin-spam-be-gone": "0.7.9", "nodebb-rewards-essentials": "0.1.5", "nodebb-theme-lavender": "5.2.1", - "nodebb-theme-persona": "11.2.2", - "nodebb-theme-slick": "1.4.8", + "nodebb-theme-persona": "11.2.4", + "nodebb-theme-slick": "1.4.12", "nodebb-theme-vanilla": "12.1.2", "nodebb-widget-essentials": "5.0.4", "nodemailer": "^6.5.0", @@ -107,7 +107,7 @@ "postcss": "8.3.6", "postcss-clean": "1.2.0", "prompt": "^1.1.0", - "ioredis": "4.27.8", + "ioredis": "4.27.9", "request": "2.88.2", "request-promise-native": "^1.0.9", "requirejs": "2.3.6", @@ -119,9 +119,9 @@ "sharp": "0.29.0", "sitemap": "^7.0.0", "slideout": "1.0.1", - "socket.io": "4.1.3", + "socket.io": "4.2.0", "socket.io-adapter-cluster": "^1.0.1", - "socket.io-client": "4.1.3", + "socket.io-client": "4.2.0", "@socket.io/redis-adapter": "7.0.0", "sortablejs": "1.14.0", "spdx-license-list": "^6.4.0", @@ -153,7 +153,7 @@ "husky": "7.0.2", "jsdom": "17.0.0", "lint-staged": "11.1.2", - "mocha": "9.1.0", + "mocha": "9.1.1", "mocha-lcov-reporter": "1.3.0", "mockdate": "3.0.5", "nyc": "15.1.0", diff --git a/public/language/ar/admin/manage/privileges.json b/public/language/ar/admin/manage/privileges.json index dcd49779f4..8b38b368cd 100644 --- a/public/language/ar/admin/manage/privileges.json +++ b/public/language/ar/admin/manage/privileges.json @@ -51,10 +51,13 @@ "alert.saved": "Privilege changes saved and applied", "alert.confirm-discard": "Are you sure you wish to discard your privilege changes?", "alert.discarded": "Privilege changes discarded", - "alert.confirm-copyToAll": "Are you sure you wish to apply this privilege set to all categories?", - "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to all categories?", - "alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to all descendant (child) categories?", - "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to all descendant (child) categories?", + "alert.confirm-copyToAll": "Are you sure you wish to apply this set of %1 to all categories?", + "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's set of %1 to all categories?", + "alert.confirm-copyToChildren": "Are you sure you wish to apply this set of %1 to all descendant (child) categories?", + "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's set of %1 to all descendant (child) categories?", "alert.no-undo": "This action cannot be undone.", - "alert.admin-warning": "Administrators implicitly get all privileges" + "alert.admin-warning": "Administrators implicitly get all privileges", + "alert.copyPrivilegesFrom-title": "Select a category to copy from", + "alert.copyPrivilegesFrom-warning": "This will copy %1 from the selected category.", + "alert.copyPrivilegesFromGroup-warning": "This will copy this group's set of %1 from the selected category." } \ No newline at end of file diff --git a/public/language/ar/admin/manage/uploads.json b/public/language/ar/admin/manage/uploads.json index 21bc8201fc..72a695ccdc 100644 --- a/public/language/ar/admin/manage/uploads.json +++ b/public/language/ar/admin/manage/uploads.json @@ -5,5 +5,7 @@ "orphaned": "Orphaned", "size/filecount": "Size / Filecount", "confirm-delete": "Do you really want to delete this file?", - "filecount": "%1 files" + "filecount": "%1 files", + "new-folder": "New Folder", + "name-new-folder": "Enter a name for new the folder" } \ No newline at end of file diff --git a/public/language/ar/error.json b/public/language/ar/error.json index 6ea93ba5e7..9776fd896a 100644 --- a/public/language/ar/error.json +++ b/public/language/ar/error.json @@ -25,12 +25,14 @@ "invalid-event": "Invalid event: %1", "local-login-disabled": "Local login system has been disabled for non-privileged accounts.", "csrf-invalid": "لم تتمكن من تسجيل الدخول. هنالك أحتمال ان جلستك انتهت. رجاءًا حاول مرة اخرى.", + "invalid-path": "Invalid path", + "folder-exists": "Folder exists", "invalid-pagination-value": "رقم الصفحة غير صحيح ، يجب أن يكون بين %1 و %2 .", "username-taken": "اسم المستخدم مأخوذ", "email-taken": "البريد الالكتروني مأخوذ", "email-nochange": "The email entered is the same as the email already on file.", "email-invited": "Email was already invited", - "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", + "email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.", "email-not-confirmed-chat": "لا يمكنك الدردشة حتى تقوم بتأكيد بريدك الإلكتروني، الرجاء إضغط هنا لتأكيد بريدك اﻹلكتروني.", "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Your account does not have an email set. An email is necessary for account recovery. Please click here to enter an email.", diff --git a/public/language/ar/topic.json b/public/language/ar/topic.json index 762b4a2cba..21aa90016a 100644 --- a/public/language/ar/topic.json +++ b/public/language/ar/topic.json @@ -21,6 +21,7 @@ "edit": "تعديل", "delete": "حذف", "delete-event": "Delete Event", + "delete-event-confirm": "Are you sure you want to delete this event?", "purge": "تطهير", "restore": "استعادة", "move": "نقل", @@ -175,5 +176,6 @@ "timeago_later": "%1 later", "timeago_earlier": "%1 earlier", "first-post": "First post", - "last-post": "Last post" + "last-post": "Last post", + "post-quick-reply": "Post quick reply" } \ No newline at end of file diff --git a/public/language/ar/user.json b/public/language/ar/user.json index 5f28117d79..fbc4d0172f 100644 --- a/public/language/ar/user.json +++ b/public/language/ar/user.json @@ -98,6 +98,7 @@ "has_no_follower": "هذا المستخدم ليس لديه أية متابعين :(", "follows_no_one": "هذا المستخدم لا يتابع أحد :(", "has_no_posts": "هذا المستخدم لم يشارك حتى الآن.", + "has_no_best_posts": "This user does not have any upvoted posts yet.", "has_no_topics": "هذا المستخدم لم يكتب أي موضوع حتى الآن.", "has_no_watched_topics": "هذا المستخدم لم يقم بمراقبة اية مواضيع حتى الآن.", "has_no_ignored_topics": "هذا المستخدم لم يقم بتجاهل اية مواضيع حتى الآن.", diff --git a/public/language/bg/admin/manage/privileges.json b/public/language/bg/admin/manage/privileges.json index 7f7501971f..001fd3048e 100644 --- a/public/language/bg/admin/manage/privileges.json +++ b/public/language/bg/admin/manage/privileges.json @@ -51,10 +51,13 @@ "alert.saved": "Промените по правомощията са запазени и приложени", "alert.confirm-discard": "Наистина ли искате да отхвърлите промените по правомощията?", "alert.discarded": "Промените по правомощията са отхвърлени", - "alert.confirm-copyToAll": "Наистина ли искате да приложите този набор от правомощия към всички категории?", - "alert.confirm-copyToAllGroup": "Наистина ли искате да приложите набора от правомощия на таи група към всички категории?", - "alert.confirm-copyToChildren": "Наистина ли искате да приложите този набор от правомощия към всички по-долни (дъщерни) категории?", - "alert.confirm-copyToChildrenGroup": "Наистина ли искате да приложите набора от правомощия на таи група към всички по-долни (дъщерни) категории?", + "alert.confirm-copyToAll": "Наистина ли искате да приложите този набор от %1 към всички категории?", + "alert.confirm-copyToAllGroup": "Наистина ли искате да приложите набора от %1 на тази група към всички категории?", + "alert.confirm-copyToChildren": "Наистина ли искате да приложите този набор от %1 към всички по-долни (дъщерни) категории?", + "alert.confirm-copyToChildrenGroup": "Наистина ли искате да приложите набора от %1 на тази група към всички по-долни (дъщерни) категории?", "alert.no-undo": "Това действие е необратимо.", - "alert.admin-warning": "Администраторите имат всички правомощия по подразбиране" + "alert.admin-warning": "Администраторите имат всички правомощия по подразбиране", + "alert.copyPrivilegesFrom-title": "Изберете категория, от която да се копира", + "alert.copyPrivilegesFrom-warning": "Това ще копира %1 от избраната категория.", + "alert.copyPrivilegesFromGroup-warning": "Това ще копира набора от %1 на тези група от избраната категория." } \ No newline at end of file diff --git a/public/language/bg/admin/manage/uploads.json b/public/language/bg/admin/manage/uploads.json index bc8e7830cf..215dc231ff 100644 --- a/public/language/bg/admin/manage/uploads.json +++ b/public/language/bg/admin/manage/uploads.json @@ -5,5 +5,7 @@ "orphaned": "Без ползвания", "size/filecount": "Размер / брой файлове", "confirm-delete": "Наистина ли искате да изтриете този файл?", - "filecount": "%1 файла" + "filecount": "%1 файла", + "new-folder": "Нова папка", + "name-new-folder": "Въведете име за новата папка" } \ No newline at end of file diff --git a/public/language/bg/error.json b/public/language/bg/error.json index 209da330d8..f40a8ef492 100644 --- a/public/language/bg/error.json +++ b/public/language/bg/error.json @@ -25,12 +25,14 @@ "invalid-event": "Грешно събитие: %1", "local-login-disabled": "Системата за местно вписване е изключена за непривилегированите акаунти.", "csrf-invalid": "Не успяхме да Ви впишем, най-вероятно защото сесията Ви е изтекла. Моля, опитайте отново", + "invalid-path": "Грешен път", + "folder-exists": "Вече има папка с това име", "invalid-pagination-value": "Грешен номер на странициране, трябва да бъде между %1 и %2", "username-taken": "Потребителското име е заето", "email-taken": "Е-пощата е заета", "email-nochange": "Въведената е-поща е същата като съществуващата.", "email-invited": "На тази е-поща вече е била изпратена покана", - "email-not-confirmed": "Няма да можете да публикувате съобщения, докато е-пощата Ви не бъде потвърдена. Моля, натиснете тук, за да потвърдите е-пощата си.", + "email-not-confirmed": "Публикуването в някои категории и теми ще бъде възможно едва след като е-пощата Ви бъде потвърдена. Щръкнете тук, за да Ви изпратим е-писмо за потвърждение.", "email-not-confirmed-chat": "Няма да можете да пишете в разговори, докато е-пощата Ви не бъде потвърдена. Моля, натиснете тук, за да потвърдите е-пощата си.", "email-not-confirmed-email-sent": "Вашата е-поща все още не е потвърдена. Моля, проверете входящата си кутия за писмото за потвърждение. Няма да можете да публикувате съобщения или да пишете в разговори, докато е-пощата Ви не бъде потвърдена.", "no-email-to-confirm": "Нямате зададена е-поща. Тя е необходима за възстановяването на акаунта в случай на проблем. Натиснете тук, за да въведете е-поща.", diff --git a/public/language/bg/topic.json b/public/language/bg/topic.json index 1ed02658e4..d624f68667 100644 --- a/public/language/bg/topic.json +++ b/public/language/bg/topic.json @@ -21,6 +21,7 @@ "edit": "Редактиране", "delete": "Изтриване", "delete-event": "Изтриване на събитието", + "delete-event-confirm": "Наистина ли искате да изтриете това събитие?", "purge": "Изчистване", "restore": "Възстановяване", "move": "Преместване", @@ -175,5 +176,6 @@ "timeago_later": "%1 по-късно", "timeago_earlier": "%1 по-рано", "first-post": "Първа публикация", - "last-post": "Последна публикация" + "last-post": "Последна публикация", + "post-quick-reply": "Пускане на бърза публикация" } \ No newline at end of file diff --git a/public/language/bg/user.json b/public/language/bg/user.json index 1df2271f7e..02ebca2bcf 100644 --- a/public/language/bg/user.json +++ b/public/language/bg/user.json @@ -98,6 +98,7 @@ "has_no_follower": "Този потребител няма последователи :(", "follows_no_one": "Този потребител не следва никого :(", "has_no_posts": "Този потребител не е публикувал нищо досега.", + "has_no_best_posts": "Този потребител не е получавал положителни гласове за публикациите си досега.", "has_no_topics": "Този потребител не е създавал теми досега.", "has_no_watched_topics": "Този потребител не е следил нито една тема досега.", "has_no_ignored_topics": "Този потребител не е пренебрегнал нито една тема досега.", diff --git a/public/language/bn/admin/manage/privileges.json b/public/language/bn/admin/manage/privileges.json index dcd49779f4..8b38b368cd 100644 --- a/public/language/bn/admin/manage/privileges.json +++ b/public/language/bn/admin/manage/privileges.json @@ -51,10 +51,13 @@ "alert.saved": "Privilege changes saved and applied", "alert.confirm-discard": "Are you sure you wish to discard your privilege changes?", "alert.discarded": "Privilege changes discarded", - "alert.confirm-copyToAll": "Are you sure you wish to apply this privilege set to all categories?", - "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to all categories?", - "alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to all descendant (child) categories?", - "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to all descendant (child) categories?", + "alert.confirm-copyToAll": "Are you sure you wish to apply this set of %1 to all categories?", + "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's set of %1 to all categories?", + "alert.confirm-copyToChildren": "Are you sure you wish to apply this set of %1 to all descendant (child) categories?", + "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's set of %1 to all descendant (child) categories?", "alert.no-undo": "This action cannot be undone.", - "alert.admin-warning": "Administrators implicitly get all privileges" + "alert.admin-warning": "Administrators implicitly get all privileges", + "alert.copyPrivilegesFrom-title": "Select a category to copy from", + "alert.copyPrivilegesFrom-warning": "This will copy %1 from the selected category.", + "alert.copyPrivilegesFromGroup-warning": "This will copy this group's set of %1 from the selected category." } \ No newline at end of file diff --git a/public/language/bn/admin/manage/uploads.json b/public/language/bn/admin/manage/uploads.json index 21bc8201fc..72a695ccdc 100644 --- a/public/language/bn/admin/manage/uploads.json +++ b/public/language/bn/admin/manage/uploads.json @@ -5,5 +5,7 @@ "orphaned": "Orphaned", "size/filecount": "Size / Filecount", "confirm-delete": "Do you really want to delete this file?", - "filecount": "%1 files" + "filecount": "%1 files", + "new-folder": "New Folder", + "name-new-folder": "Enter a name for new the folder" } \ No newline at end of file diff --git a/public/language/bn/error.json b/public/language/bn/error.json index 3d6acfa487..f7fcdc6f29 100644 --- a/public/language/bn/error.json +++ b/public/language/bn/error.json @@ -25,12 +25,14 @@ "invalid-event": "Invalid event: %1", "local-login-disabled": "Local login system has been disabled for non-privileged accounts.", "csrf-invalid": "We were unable to log you in, likely due to an expired session. Please try again", + "invalid-path": "Invalid path", + "folder-exists": "Folder exists", "invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2", "username-taken": "ইউজারনেম আগেই ব্যবহৃত", "email-taken": "ইমেইল আগেই ব্যবহৃত", "email-nochange": "The email entered is the same as the email already on file.", "email-invited": "Email was already invited", - "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", + "email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.", "email-not-confirmed-chat": "You are unable to chat until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Your account does not have an email set. An email is necessary for account recovery. Please click here to enter an email.", diff --git a/public/language/bn/topic.json b/public/language/bn/topic.json index 5eb996df48..57e9638bd4 100644 --- a/public/language/bn/topic.json +++ b/public/language/bn/topic.json @@ -21,6 +21,7 @@ "edit": "সম্পাদণা", "delete": "মুছে ফেলুন", "delete-event": "Delete Event", + "delete-event-confirm": "Are you sure you want to delete this event?", "purge": "পার্জ", "restore": "পুনরূদ্ধার", "move": "সরানো", @@ -175,5 +176,6 @@ "timeago_later": "%1 later", "timeago_earlier": "%1 earlier", "first-post": "First post", - "last-post": "Last post" + "last-post": "Last post", + "post-quick-reply": "Post quick reply" } \ No newline at end of file diff --git a/public/language/bn/user.json b/public/language/bn/user.json index ebac5582f5..b224369d3f 100644 --- a/public/language/bn/user.json +++ b/public/language/bn/user.json @@ -98,6 +98,7 @@ "has_no_follower": "এই সদস্যের কোন ফলোয়ার নেই :(", "follows_no_one": "এই সদস্য কাউকে ফলো করছেন না :(", "has_no_posts": "এই সদস্য এখন পর্যন্ত কোন পোস্ট করেন নি", + "has_no_best_posts": "This user does not have any upvoted posts yet.", "has_no_topics": "এই সদস্য এখনো কোন টপিক করেন নি", "has_no_watched_topics": "এই সদস্য এখনো কোন টপিক দেখেন নি", "has_no_ignored_topics": "This user hasn't ignored any topics yet.", diff --git a/public/language/cs/admin/manage/privileges.json b/public/language/cs/admin/manage/privileges.json index 4039b723f6..a26d488fb8 100644 --- a/public/language/cs/admin/manage/privileges.json +++ b/public/language/cs/admin/manage/privileges.json @@ -51,10 +51,13 @@ "alert.saved": "Privilege changes saved and applied", "alert.confirm-discard": "Are you sure you wish to discard your privilege changes?", "alert.discarded": "Privilege changes discarded", - "alert.confirm-copyToAll": "Are you sure you wish to apply this privilege set to all categories?", - "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to all categories?", - "alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to all descendant (child) categories?", - "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to all descendant (child) categories?", + "alert.confirm-copyToAll": "Are you sure you wish to apply this set of %1 to all categories?", + "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's set of %1 to all categories?", + "alert.confirm-copyToChildren": "Are you sure you wish to apply this set of %1 to all descendant (child) categories?", + "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's set of %1 to all descendant (child) categories?", "alert.no-undo": "This action cannot be undone.", - "alert.admin-warning": "Administrators implicitly get all privileges" + "alert.admin-warning": "Administrators implicitly get all privileges", + "alert.copyPrivilegesFrom-title": "Select a category to copy from", + "alert.copyPrivilegesFrom-warning": "This will copy %1 from the selected category.", + "alert.copyPrivilegesFromGroup-warning": "This will copy this group's set of %1 from the selected category." } \ No newline at end of file diff --git a/public/language/cs/admin/manage/uploads.json b/public/language/cs/admin/manage/uploads.json index 9cd0fbf24b..847bc82dc9 100644 --- a/public/language/cs/admin/manage/uploads.json +++ b/public/language/cs/admin/manage/uploads.json @@ -5,5 +5,7 @@ "orphaned": "Nevyužito", "size/filecount": "Velikost / Počet souborů", "confirm-delete": "Opravdu chcete odstranit tento soubor?", - "filecount": "%1 souborů" + "filecount": "%1 souborů", + "new-folder": "New Folder", + "name-new-folder": "Enter a name for new the folder" } \ No newline at end of file diff --git a/public/language/cs/error.json b/public/language/cs/error.json index 81b65ffc22..619fb91adf 100644 --- a/public/language/cs/error.json +++ b/public/language/cs/error.json @@ -25,12 +25,14 @@ "invalid-event": "Invalid event: %1", "local-login-disabled": "Systém přihlášení pro místní účty byl zakázán pro neoprávněné účty.", "csrf-invalid": "Není možné vás přihlásit, díky vypršení relace. Zkuste to prosím znovu.", + "invalid-path": "Invalid path", + "folder-exists": "Folder exists", "invalid-pagination-value": "Neplatná hodnota stránkování, musí být alespoň %1 a nejvýše %2", "username-taken": "Uživatelské jméno je již použito", "email-taken": "Tento e-mail je již použit", "email-nochange": "The email entered is the same as the email already on file.", "email-invited": "Email was already invited", - "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", + "email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.", "email-not-confirmed-chat": "Nebude schopen konverzovat, dokud nebude váš e-mail potvrzen. Pro jeho potvrzení klikněte zde.", "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Your account does not have an email set. An email is necessary for account recovery. Please click here to enter an email.", diff --git a/public/language/cs/topic.json b/public/language/cs/topic.json index 92e53fcfe5..02dea5d855 100644 --- a/public/language/cs/topic.json +++ b/public/language/cs/topic.json @@ -21,6 +21,7 @@ "edit": "Upravit", "delete": "Odstranit", "delete-event": "Delete Event", + "delete-event-confirm": "Are you sure you want to delete this event?", "purge": "Vypráznit", "restore": "Obnovit", "move": "Přesunout", @@ -175,5 +176,6 @@ "timeago_later": "%1 později", "timeago_earlier": "%1 dříve", "first-post": "First post", - "last-post": "Last post" + "last-post": "Last post", + "post-quick-reply": "Post quick reply" } \ No newline at end of file diff --git a/public/language/cs/user.json b/public/language/cs/user.json index 828c7652d1..941540cce8 100644 --- a/public/language/cs/user.json +++ b/public/language/cs/user.json @@ -98,6 +98,7 @@ "has_no_follower": "Tohoto uživatele nikdo nesleduje :(", "follows_no_one": "Tento uživatel nikoho nesleduje :(", "has_no_posts": "Tento uživatel ještě nic nenapsal.", + "has_no_best_posts": "This user does not have any upvoted posts yet.", "has_no_topics": "Tento uživatel ještě nezaložil žádné téma.", "has_no_watched_topics": "Tento uživatel zatím nesleduje žádná témata.", "has_no_ignored_topics": "Tento uživatel ještě neignoruje žádné témata.", diff --git a/public/language/da/admin/manage/privileges.json b/public/language/da/admin/manage/privileges.json index dcd49779f4..8b38b368cd 100644 --- a/public/language/da/admin/manage/privileges.json +++ b/public/language/da/admin/manage/privileges.json @@ -51,10 +51,13 @@ "alert.saved": "Privilege changes saved and applied", "alert.confirm-discard": "Are you sure you wish to discard your privilege changes?", "alert.discarded": "Privilege changes discarded", - "alert.confirm-copyToAll": "Are you sure you wish to apply this privilege set to all categories?", - "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to all categories?", - "alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to all descendant (child) categories?", - "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to all descendant (child) categories?", + "alert.confirm-copyToAll": "Are you sure you wish to apply this set of %1 to all categories?", + "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's set of %1 to all categories?", + "alert.confirm-copyToChildren": "Are you sure you wish to apply this set of %1 to all descendant (child) categories?", + "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's set of %1 to all descendant (child) categories?", "alert.no-undo": "This action cannot be undone.", - "alert.admin-warning": "Administrators implicitly get all privileges" + "alert.admin-warning": "Administrators implicitly get all privileges", + "alert.copyPrivilegesFrom-title": "Select a category to copy from", + "alert.copyPrivilegesFrom-warning": "This will copy %1 from the selected category.", + "alert.copyPrivilegesFromGroup-warning": "This will copy this group's set of %1 from the selected category." } \ No newline at end of file diff --git a/public/language/da/admin/manage/uploads.json b/public/language/da/admin/manage/uploads.json index 21bc8201fc..72a695ccdc 100644 --- a/public/language/da/admin/manage/uploads.json +++ b/public/language/da/admin/manage/uploads.json @@ -5,5 +5,7 @@ "orphaned": "Orphaned", "size/filecount": "Size / Filecount", "confirm-delete": "Do you really want to delete this file?", - "filecount": "%1 files" + "filecount": "%1 files", + "new-folder": "New Folder", + "name-new-folder": "Enter a name for new the folder" } \ No newline at end of file diff --git a/public/language/da/error.json b/public/language/da/error.json index 0e1941f7f6..58d887b026 100644 --- a/public/language/da/error.json +++ b/public/language/da/error.json @@ -25,12 +25,14 @@ "invalid-event": "Invalid event: %1", "local-login-disabled": "Local login system has been disabled for non-privileged accounts.", "csrf-invalid": "We were unable to log you in, likely due to an expired session. Please try again", + "invalid-path": "Invalid path", + "folder-exists": "Folder exists", "invalid-pagination-value": "Ugyldig side værdi, skal mindst være %1 og maks. %2", "username-taken": "Brugernavn optaget", "email-taken": "Emailadresse allerede i brug", "email-nochange": "The email entered is the same as the email already on file.", "email-invited": "Email was already invited", - "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", + "email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.", "email-not-confirmed-chat": "Du kan ikke chatte før din email er bekræftet, klik her for at bekræfte din email.", "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Your account does not have an email set. An email is necessary for account recovery. Please click here to enter an email.", diff --git a/public/language/da/topic.json b/public/language/da/topic.json index e1d2aded54..bb153483fc 100644 --- a/public/language/da/topic.json +++ b/public/language/da/topic.json @@ -21,6 +21,7 @@ "edit": "Rediger", "delete": "Slet", "delete-event": "Delete Event", + "delete-event-confirm": "Are you sure you want to delete this event?", "purge": "Udrens", "restore": "Gendan", "move": "Flyt", @@ -175,5 +176,6 @@ "timeago_later": "%1 later", "timeago_earlier": "%1 earlier", "first-post": "First post", - "last-post": "Last post" + "last-post": "Last post", + "post-quick-reply": "Post quick reply" } \ No newline at end of file diff --git a/public/language/da/user.json b/public/language/da/user.json index 1c67da0491..68aedf8a04 100644 --- a/public/language/da/user.json +++ b/public/language/da/user.json @@ -98,6 +98,7 @@ "has_no_follower": "Denne bruger har ingen følgere :(", "follows_no_one": "Denne bruger følger ikke nogen :(", "has_no_posts": "Denne bruger har ikke skrevet noget endnu.", + "has_no_best_posts": "This user does not have any upvoted posts yet.", "has_no_topics": "Denne bruger har ikke skrævet nogle tråde endnu.", "has_no_watched_topics": "Denne bruger har ikke fulgt nogle tråde endnu.", "has_no_ignored_topics": "This user hasn't ignored any topics yet.", diff --git a/public/language/de/admin/manage/privileges.json b/public/language/de/admin/manage/privileges.json index 564dbe2781..2cad7f9e23 100644 --- a/public/language/de/admin/manage/privileges.json +++ b/public/language/de/admin/manage/privileges.json @@ -51,10 +51,13 @@ "alert.saved": "Änderungen an Rechten gespeichert und angewendet", "alert.confirm-discard": "Bist du sicher, dass du die Änderungen an den Rechten verwerfen möchtest?", "alert.discarded": "Änderungen an Rechten verworfen", - "alert.confirm-copyToAll": "Bist Du sicher, dass Du diese Rechte auf alle Kategorien anwenden möchtest?", - "alert.confirm-copyToAllGroup": "Bist Du sicher, dass Du die Rechte dieser Gruppe auf alle Kategorien anwenden möchtest?", - "alert.confirm-copyToChildren": "Bist Du sicher, dass Du diese Rechte auf alle Unterkategorien anwenden möchtest?", - "alert.confirm-copyToChildrenGroup": "Bist Du sicher, dass Du die Rechte dieser Gruppe auf alle Unterkategorien anwenden möchtest?", + "alert.confirm-copyToAll": "Are you sure you wish to apply this set of %1 to all categories?", + "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's set of %1 to all categories?", + "alert.confirm-copyToChildren": "Are you sure you wish to apply this set of %1 to all descendant (child) categories?", + "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's set of %1 to all descendant (child) categories?", "alert.no-undo": "Dieser Vorgang kann nicht rückgängig gemacht werden.", - "alert.admin-warning": "Administratoren erhalten implizit alle Berechtigungen" + "alert.admin-warning": "Administratoren erhalten implizit alle Berechtigungen", + "alert.copyPrivilegesFrom-title": "Select a category to copy from", + "alert.copyPrivilegesFrom-warning": "This will copy %1 from the selected category.", + "alert.copyPrivilegesFromGroup-warning": "This will copy this group's set of %1 from the selected category." } \ No newline at end of file diff --git a/public/language/de/admin/manage/uploads.json b/public/language/de/admin/manage/uploads.json index 7b226dc8c9..1ec307f8ce 100644 --- a/public/language/de/admin/manage/uploads.json +++ b/public/language/de/admin/manage/uploads.json @@ -5,5 +5,7 @@ "orphaned": "Verwaist", "size/filecount": "Größe / Dateianzahl", "confirm-delete": "Bist du sicher, dass du diese Datei löschen willst?", - "filecount": "%1 Dateien" + "filecount": "%1 Dateien", + "new-folder": "New Folder", + "name-new-folder": "Enter a name for new the folder" } \ No newline at end of file diff --git a/public/language/de/error.json b/public/language/de/error.json index a4cd0fe119..541af8c5ed 100644 --- a/public/language/de/error.json +++ b/public/language/de/error.json @@ -25,12 +25,14 @@ "invalid-event": "Invalid event: %1", "local-login-disabled": "Lokales Login System wurde für nicht-priviligierte Konten deaktiviert.", "csrf-invalid": "Dein Login war nicht erfolgreich da wahrscheinlich deine Sitzung abgelaufen ist. Bitte versuche es noch einmal", + "invalid-path": "Invalid path", + "folder-exists": "Folder exists", "invalid-pagination-value": "Ungültige Seitennummerierung, muss mindestens %1 und maximal %2 sein", "username-taken": "Der Benutzername ist bereits vergeben", "email-taken": "Die E-Mail-Adresse ist bereits vergeben", "email-nochange": "The email entered is the same as the email already on file.", "email-invited": "Email was already invited", - "email-not-confirmed": "Du kannst keine Beiträge erstellen, solange deine Email-Adresse nicht bestätigt wurde. Bitte klicke hier um deine Email-Adresse zu bestätigen.", + "email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.", "email-not-confirmed-chat": "Du kannst den Chat erst nutzen wenn deine E-Mail bestätigt wurde, bitte klicke hier, um deine E-Mail zu bestätigen.", "email-not-confirmed-email-sent": "Deine Email-Adresse wurde noch nicht bestätigt, bitte kontrolliere dein Postfach nach einer Bestätigungsmail. Du kannst keine Beiträge erstellen oder chatten bis deine Email-Adresse bestätigt wurde.", "no-email-to-confirm": "Your account does not have an email set. An email is necessary for account recovery. Please click here to enter an email.", diff --git a/public/language/de/topic.json b/public/language/de/topic.json index 68c7242c6f..2f29147bc1 100644 --- a/public/language/de/topic.json +++ b/public/language/de/topic.json @@ -21,6 +21,7 @@ "edit": "Bearbeiten", "delete": "Löschen", "delete-event": "Delete Event", + "delete-event-confirm": "Are you sure you want to delete this event?", "purge": "Endgültig löschen", "restore": "Wiederherstellen", "move": "Verschieben", @@ -175,5 +176,6 @@ "timeago_later": "%1 später", "timeago_earlier": "%1 früher", "first-post": "First post", - "last-post": "Last post" + "last-post": "Last post", + "post-quick-reply": "Post quick reply" } \ No newline at end of file diff --git a/public/language/de/user.json b/public/language/de/user.json index d3978165ec..c9be5cc888 100644 --- a/public/language/de/user.json +++ b/public/language/de/user.json @@ -98,6 +98,7 @@ "has_no_follower": "Diesem Benutzer folgt noch niemand. :(", "follows_no_one": "Dieser Benutzer folgt noch niemandem. :(", "has_no_posts": "Dieser Benutzer hat noch nichts geschrieben.", + "has_no_best_posts": "This user does not have any upvoted posts yet.", "has_no_topics": "Dieser Benutzer hat noch keine Themen erstellt.", "has_no_watched_topics": "Dieser Benutzer beobachtet keine Themen.", "has_no_ignored_topics": "Dieser Benutzer ignoriert bisher keine Themen.", diff --git a/public/language/el/admin/manage/privileges.json b/public/language/el/admin/manage/privileges.json index dcd49779f4..8b38b368cd 100644 --- a/public/language/el/admin/manage/privileges.json +++ b/public/language/el/admin/manage/privileges.json @@ -51,10 +51,13 @@ "alert.saved": "Privilege changes saved and applied", "alert.confirm-discard": "Are you sure you wish to discard your privilege changes?", "alert.discarded": "Privilege changes discarded", - "alert.confirm-copyToAll": "Are you sure you wish to apply this privilege set to all categories?", - "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to all categories?", - "alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to all descendant (child) categories?", - "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to all descendant (child) categories?", + "alert.confirm-copyToAll": "Are you sure you wish to apply this set of %1 to all categories?", + "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's set of %1 to all categories?", + "alert.confirm-copyToChildren": "Are you sure you wish to apply this set of %1 to all descendant (child) categories?", + "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's set of %1 to all descendant (child) categories?", "alert.no-undo": "This action cannot be undone.", - "alert.admin-warning": "Administrators implicitly get all privileges" + "alert.admin-warning": "Administrators implicitly get all privileges", + "alert.copyPrivilegesFrom-title": "Select a category to copy from", + "alert.copyPrivilegesFrom-warning": "This will copy %1 from the selected category.", + "alert.copyPrivilegesFromGroup-warning": "This will copy this group's set of %1 from the selected category." } \ No newline at end of file diff --git a/public/language/el/admin/manage/uploads.json b/public/language/el/admin/manage/uploads.json index 21bc8201fc..72a695ccdc 100644 --- a/public/language/el/admin/manage/uploads.json +++ b/public/language/el/admin/manage/uploads.json @@ -5,5 +5,7 @@ "orphaned": "Orphaned", "size/filecount": "Size / Filecount", "confirm-delete": "Do you really want to delete this file?", - "filecount": "%1 files" + "filecount": "%1 files", + "new-folder": "New Folder", + "name-new-folder": "Enter a name for new the folder" } \ No newline at end of file diff --git a/public/language/el/error.json b/public/language/el/error.json index 48832c1472..f34cf7d037 100644 --- a/public/language/el/error.json +++ b/public/language/el/error.json @@ -25,12 +25,14 @@ "invalid-event": "Invalid event: %1", "local-login-disabled": "Local login system has been disabled for non-privileged accounts.", "csrf-invalid": "We were unable to log you in, likely due to an expired session. Please try again", + "invalid-path": "Invalid path", + "folder-exists": "Folder exists", "invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2", "username-taken": "Το όνομα χρήστη είναι πιασμένο", "email-taken": "Το email είναι πιασμένο", "email-nochange": "The email entered is the same as the email already on file.", "email-invited": "Email was already invited", - "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", + "email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.", "email-not-confirmed-chat": "You are unable to chat until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Your account does not have an email set. An email is necessary for account recovery. Please click here to enter an email.", diff --git a/public/language/el/topic.json b/public/language/el/topic.json index d085c19d2b..f7fbf49f0c 100644 --- a/public/language/el/topic.json +++ b/public/language/el/topic.json @@ -21,6 +21,7 @@ "edit": "Επεξεργασία", "delete": "Διαγραφή", "delete-event": "Delete Event", + "delete-event-confirm": "Are you sure you want to delete this event?", "purge": "Εκκαθάριση", "restore": "Επαναφορά", "move": "Μετακίνηση", @@ -175,5 +176,6 @@ "timeago_later": "%1 later", "timeago_earlier": "%1 earlier", "first-post": "First post", - "last-post": "Last post" + "last-post": "Last post", + "post-quick-reply": "Post quick reply" } \ No newline at end of file diff --git a/public/language/el/user.json b/public/language/el/user.json index 2ebd0b1ea1..96686d7c6b 100644 --- a/public/language/el/user.json +++ b/public/language/el/user.json @@ -98,6 +98,7 @@ "has_no_follower": "Αυτός ο χρήστης δεν έχει κανέναν ακόλουθο :(", "follows_no_one": "Αυτός ο χρήστης δεν ακολουθεί κανέναν :(", "has_no_posts": "This user hasn't posted anything yet.", + "has_no_best_posts": "This user does not have any upvoted posts yet.", "has_no_topics": "This user hasn't posted any topics yet.", "has_no_watched_topics": "This user hasn't watched any topics yet.", "has_no_ignored_topics": "This user hasn't ignored any topics yet.", diff --git a/public/language/en-GB/admin/manage/privileges.json b/public/language/en-GB/admin/manage/privileges.json index dcd49779f4..8b38b368cd 100644 --- a/public/language/en-GB/admin/manage/privileges.json +++ b/public/language/en-GB/admin/manage/privileges.json @@ -51,10 +51,13 @@ "alert.saved": "Privilege changes saved and applied", "alert.confirm-discard": "Are you sure you wish to discard your privilege changes?", "alert.discarded": "Privilege changes discarded", - "alert.confirm-copyToAll": "Are you sure you wish to apply this privilege set to all categories?", - "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to all categories?", - "alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to all descendant (child) categories?", - "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to all descendant (child) categories?", + "alert.confirm-copyToAll": "Are you sure you wish to apply this set of %1 to all categories?", + "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's set of %1 to all categories?", + "alert.confirm-copyToChildren": "Are you sure you wish to apply this set of %1 to all descendant (child) categories?", + "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's set of %1 to all descendant (child) categories?", "alert.no-undo": "This action cannot be undone.", - "alert.admin-warning": "Administrators implicitly get all privileges" + "alert.admin-warning": "Administrators implicitly get all privileges", + "alert.copyPrivilegesFrom-title": "Select a category to copy from", + "alert.copyPrivilegesFrom-warning": "This will copy %1 from the selected category.", + "alert.copyPrivilegesFromGroup-warning": "This will copy this group's set of %1 from the selected category." } \ No newline at end of file diff --git a/public/language/en-GB/admin/manage/uploads.json b/public/language/en-GB/admin/manage/uploads.json index 21bc8201fc..72a695ccdc 100644 --- a/public/language/en-GB/admin/manage/uploads.json +++ b/public/language/en-GB/admin/manage/uploads.json @@ -5,5 +5,7 @@ "orphaned": "Orphaned", "size/filecount": "Size / Filecount", "confirm-delete": "Do you really want to delete this file?", - "filecount": "%1 files" + "filecount": "%1 files", + "new-folder": "New Folder", + "name-new-folder": "Enter a name for new the folder" } \ No newline at end of file diff --git a/public/language/en-GB/error.json b/public/language/en-GB/error.json index a6c5bfb8aa..3b6f337165 100644 --- a/public/language/en-GB/error.json +++ b/public/language/en-GB/error.json @@ -28,6 +28,8 @@ "invalid-event": "Invalid event: %1", "local-login-disabled": "Local login system has been disabled for non-privileged accounts.", "csrf-invalid": "We were unable to log you in, likely due to an expired session. Please try again", + "invalid-path": "Invalid path", + "folder-exists": "Folder exists", "invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2", @@ -35,7 +37,7 @@ "email-taken": "Email taken", "email-nochange": "The email entered is the same as the email already on file.", "email-invited": "Email was already invited", - "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", + "email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.", "email-not-confirmed-chat": "You are unable to chat until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Your account does not have an email set. An email is necessary for account recovery. Please click here to enter an email.", diff --git a/public/language/en-GB/topic.json b/public/language/en-GB/topic.json index 4502452aa0..b95a86c862 100644 --- a/public/language/en-GB/topic.json +++ b/public/language/en-GB/topic.json @@ -202,5 +202,6 @@ "timeago_later": "%1 later", "timeago_earlier": "%1 earlier", "first-post": "First post", - "last-post": "Last post" + "last-post": "Last post", + "post-quick-reply": "Post quick reply" } diff --git a/public/language/en-GB/user.json b/public/language/en-GB/user.json index 68195dbf57..2e836559de 100644 --- a/public/language/en-GB/user.json +++ b/public/language/en-GB/user.json @@ -105,6 +105,7 @@ "has_no_follower": "This user doesn't have any followers :(", "follows_no_one": "This user isn't following anyone :(", "has_no_posts": "This user hasn't posted anything yet.", + "has_no_best_posts": "This user does not have any upvoted posts yet.", "has_no_topics": "This user hasn't posted any topics yet.", "has_no_watched_topics": "This user hasn't watched any topics yet.", "has_no_ignored_topics": "This user hasn't ignored any topics yet.", diff --git a/public/language/en-US/admin/manage/privileges.json b/public/language/en-US/admin/manage/privileges.json index dcd49779f4..8b38b368cd 100644 --- a/public/language/en-US/admin/manage/privileges.json +++ b/public/language/en-US/admin/manage/privileges.json @@ -51,10 +51,13 @@ "alert.saved": "Privilege changes saved and applied", "alert.confirm-discard": "Are you sure you wish to discard your privilege changes?", "alert.discarded": "Privilege changes discarded", - "alert.confirm-copyToAll": "Are you sure you wish to apply this privilege set to all categories?", - "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to all categories?", - "alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to all descendant (child) categories?", - "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to all descendant (child) categories?", + "alert.confirm-copyToAll": "Are you sure you wish to apply this set of %1 to all categories?", + "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's set of %1 to all categories?", + "alert.confirm-copyToChildren": "Are you sure you wish to apply this set of %1 to all descendant (child) categories?", + "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's set of %1 to all descendant (child) categories?", "alert.no-undo": "This action cannot be undone.", - "alert.admin-warning": "Administrators implicitly get all privileges" + "alert.admin-warning": "Administrators implicitly get all privileges", + "alert.copyPrivilegesFrom-title": "Select a category to copy from", + "alert.copyPrivilegesFrom-warning": "This will copy %1 from the selected category.", + "alert.copyPrivilegesFromGroup-warning": "This will copy this group's set of %1 from the selected category." } \ No newline at end of file diff --git a/public/language/en-US/admin/manage/uploads.json b/public/language/en-US/admin/manage/uploads.json index 21bc8201fc..72a695ccdc 100644 --- a/public/language/en-US/admin/manage/uploads.json +++ b/public/language/en-US/admin/manage/uploads.json @@ -5,5 +5,7 @@ "orphaned": "Orphaned", "size/filecount": "Size / Filecount", "confirm-delete": "Do you really want to delete this file?", - "filecount": "%1 files" + "filecount": "%1 files", + "new-folder": "New Folder", + "name-new-folder": "Enter a name for new the folder" } \ No newline at end of file diff --git a/public/language/en-US/error.json b/public/language/en-US/error.json index d4a252df72..b806ec9367 100644 --- a/public/language/en-US/error.json +++ b/public/language/en-US/error.json @@ -25,12 +25,14 @@ "invalid-event": "Invalid event: %1", "local-login-disabled": "Local login system has been disabled for non-privileged accounts.", "csrf-invalid": "We were unable to log you in, likely due to an expired session. Please try again", + "invalid-path": "Invalid path", + "folder-exists": "Folder exists", "invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2", "username-taken": "Username taken", "email-taken": "Email taken", "email-nochange": "The email entered is the same as the email already on file.", "email-invited": "Email was already invited", - "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", + "email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.", "email-not-confirmed-chat": "You are unable to chat until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Your account does not have an email set. An email is necessary for account recovery. Please click here to enter an email.", diff --git a/public/language/en-US/topic.json b/public/language/en-US/topic.json index a0b424124f..c0c7610a61 100644 --- a/public/language/en-US/topic.json +++ b/public/language/en-US/topic.json @@ -21,6 +21,7 @@ "edit": "Edit", "delete": "Delete", "delete-event": "Delete Event", + "delete-event-confirm": "Are you sure you want to delete this event?", "purge": "Purge", "restore": "Restore", "move": "Move", @@ -175,5 +176,6 @@ "timeago_later": "%1 later", "timeago_earlier": "%1 earlier", "first-post": "First post", - "last-post": "Last post" + "last-post": "Last post", + "post-quick-reply": "Post quick reply" } \ No newline at end of file diff --git a/public/language/en-US/user.json b/public/language/en-US/user.json index c9d3540ccf..06da8484d8 100644 --- a/public/language/en-US/user.json +++ b/public/language/en-US/user.json @@ -98,6 +98,7 @@ "has_no_follower": "This user doesn't have any followers :(", "follows_no_one": "This user isn't following anyone :(", "has_no_posts": "This user hasn't posted anything yet.", + "has_no_best_posts": "This user does not have any upvoted posts yet.", "has_no_topics": "This user hasn't posted any topics yet.", "has_no_watched_topics": "This user hasn't watched any topics yet.", "has_no_ignored_topics": "This user hasn't ignored any topics yet.", diff --git a/public/language/en-x-pirate/admin/manage/privileges.json b/public/language/en-x-pirate/admin/manage/privileges.json index dcd49779f4..8b38b368cd 100644 --- a/public/language/en-x-pirate/admin/manage/privileges.json +++ b/public/language/en-x-pirate/admin/manage/privileges.json @@ -51,10 +51,13 @@ "alert.saved": "Privilege changes saved and applied", "alert.confirm-discard": "Are you sure you wish to discard your privilege changes?", "alert.discarded": "Privilege changes discarded", - "alert.confirm-copyToAll": "Are you sure you wish to apply this privilege set to all categories?", - "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to all categories?", - "alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to all descendant (child) categories?", - "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to all descendant (child) categories?", + "alert.confirm-copyToAll": "Are you sure you wish to apply this set of %1 to all categories?", + "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's set of %1 to all categories?", + "alert.confirm-copyToChildren": "Are you sure you wish to apply this set of %1 to all descendant (child) categories?", + "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's set of %1 to all descendant (child) categories?", "alert.no-undo": "This action cannot be undone.", - "alert.admin-warning": "Administrators implicitly get all privileges" + "alert.admin-warning": "Administrators implicitly get all privileges", + "alert.copyPrivilegesFrom-title": "Select a category to copy from", + "alert.copyPrivilegesFrom-warning": "This will copy %1 from the selected category.", + "alert.copyPrivilegesFromGroup-warning": "This will copy this group's set of %1 from the selected category." } \ No newline at end of file diff --git a/public/language/en-x-pirate/admin/manage/uploads.json b/public/language/en-x-pirate/admin/manage/uploads.json index 21bc8201fc..72a695ccdc 100644 --- a/public/language/en-x-pirate/admin/manage/uploads.json +++ b/public/language/en-x-pirate/admin/manage/uploads.json @@ -5,5 +5,7 @@ "orphaned": "Orphaned", "size/filecount": "Size / Filecount", "confirm-delete": "Do you really want to delete this file?", - "filecount": "%1 files" + "filecount": "%1 files", + "new-folder": "New Folder", + "name-new-folder": "Enter a name for new the folder" } \ No newline at end of file diff --git a/public/language/en-x-pirate/error.json b/public/language/en-x-pirate/error.json index d4a252df72..b806ec9367 100644 --- a/public/language/en-x-pirate/error.json +++ b/public/language/en-x-pirate/error.json @@ -25,12 +25,14 @@ "invalid-event": "Invalid event: %1", "local-login-disabled": "Local login system has been disabled for non-privileged accounts.", "csrf-invalid": "We were unable to log you in, likely due to an expired session. Please try again", + "invalid-path": "Invalid path", + "folder-exists": "Folder exists", "invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2", "username-taken": "Username taken", "email-taken": "Email taken", "email-nochange": "The email entered is the same as the email already on file.", "email-invited": "Email was already invited", - "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", + "email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.", "email-not-confirmed-chat": "You are unable to chat until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Your account does not have an email set. An email is necessary for account recovery. Please click here to enter an email.", diff --git a/public/language/en-x-pirate/topic.json b/public/language/en-x-pirate/topic.json index a0b424124f..c0c7610a61 100644 --- a/public/language/en-x-pirate/topic.json +++ b/public/language/en-x-pirate/topic.json @@ -21,6 +21,7 @@ "edit": "Edit", "delete": "Delete", "delete-event": "Delete Event", + "delete-event-confirm": "Are you sure you want to delete this event?", "purge": "Purge", "restore": "Restore", "move": "Move", @@ -175,5 +176,6 @@ "timeago_later": "%1 later", "timeago_earlier": "%1 earlier", "first-post": "First post", - "last-post": "Last post" + "last-post": "Last post", + "post-quick-reply": "Post quick reply" } \ No newline at end of file diff --git a/public/language/en-x-pirate/user.json b/public/language/en-x-pirate/user.json index d351339439..2f919dfedb 100644 --- a/public/language/en-x-pirate/user.json +++ b/public/language/en-x-pirate/user.json @@ -98,6 +98,7 @@ "has_no_follower": "This user doesn't have any followers :(", "follows_no_one": "This user isn't following anyone :(", "has_no_posts": "This user hasn't posted anything yet.", + "has_no_best_posts": "This user does not have any upvoted posts yet.", "has_no_topics": "This user hasn't posted any topics yet.", "has_no_watched_topics": "This user hasn't watched any topics yet.", "has_no_ignored_topics": "This user hasn't ignored any topics yet.", diff --git a/public/language/es/admin/manage/privileges.json b/public/language/es/admin/manage/privileges.json index 5cfa4e7110..a5bcdf1fe9 100644 --- a/public/language/es/admin/manage/privileges.json +++ b/public/language/es/admin/manage/privileges.json @@ -51,10 +51,13 @@ "alert.saved": "Privilege changes saved and applied", "alert.confirm-discard": "Are you sure you wish to discard your privilege changes?", "alert.discarded": "Privilege changes discarded", - "alert.confirm-copyToAll": "Are you sure you wish to apply this privilege set to all categories?", - "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to all categories?", - "alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to all descendant (child) categories?", - "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to all descendant (child) categories?", + "alert.confirm-copyToAll": "Are you sure you wish to apply this set of %1 to all categories?", + "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's set of %1 to all categories?", + "alert.confirm-copyToChildren": "Are you sure you wish to apply this set of %1 to all descendant (child) categories?", + "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's set of %1 to all descendant (child) categories?", "alert.no-undo": "This action cannot be undone.", - "alert.admin-warning": "Administrators implicitly get all privileges" + "alert.admin-warning": "Administrators implicitly get all privileges", + "alert.copyPrivilegesFrom-title": "Select a category to copy from", + "alert.copyPrivilegesFrom-warning": "This will copy %1 from the selected category.", + "alert.copyPrivilegesFromGroup-warning": "This will copy this group's set of %1 from the selected category." } \ No newline at end of file diff --git a/public/language/es/admin/manage/uploads.json b/public/language/es/admin/manage/uploads.json index 41eae146e3..1f96accb24 100644 --- a/public/language/es/admin/manage/uploads.json +++ b/public/language/es/admin/manage/uploads.json @@ -5,5 +5,7 @@ "orphaned": "Huérfano", "size/filecount": "Tamaño / Recuento de archivos", "confirm-delete": "¿Realmente quieres borrar este archivo?", - "filecount": "%1 archivos" + "filecount": "%1 archivos", + "new-folder": "New Folder", + "name-new-folder": "Enter a name for new the folder" } \ No newline at end of file diff --git a/public/language/es/error.json b/public/language/es/error.json index 12cb8cccc3..af0ec0569b 100644 --- a/public/language/es/error.json +++ b/public/language/es/error.json @@ -25,12 +25,14 @@ "invalid-event": "Invalid event: %1", "local-login-disabled": "El sistema de acceso local ha sido desactivado para usuarios con cuentas no privilegiadas.", "csrf-invalid": "El acceso ha fallado porque tu sesión ha expirado. Por favor prueba otra vez.", + "invalid-path": "Invalid path", + "folder-exists": "Folder exists", "invalid-pagination-value": "Número de página inválido, debe estar entre %1 y %2", "username-taken": "Nombre de usuario ocupado", "email-taken": "Correo electrónico ocupado", "email-nochange": "The email entered is the same as the email already on file.", "email-invited": "Email was already invited", - "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", + "email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.", "email-not-confirmed-chat": "No puedes usar el chat hasta que confirmes tu dirección de correo electrónico, por favor haz click aquí para confirmar tu correo.", "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Your account does not have an email set. An email is necessary for account recovery. Please click here to enter an email.", diff --git a/public/language/es/topic.json b/public/language/es/topic.json index 9ec101d836..092fcbd3aa 100644 --- a/public/language/es/topic.json +++ b/public/language/es/topic.json @@ -21,6 +21,7 @@ "edit": "Editar", "delete": "Borrar", "delete-event": "Delete Event", + "delete-event-confirm": "Are you sure you want to delete this event?", "purge": "Purgar", "restore": "Restaurar", "move": "Mover", @@ -175,5 +176,6 @@ "timeago_later": "%1 después", "timeago_earlier": "%1 antes", "first-post": "First post", - "last-post": "Last post" + "last-post": "Last post", + "post-quick-reply": "Post quick reply" } \ No newline at end of file diff --git a/public/language/es/user.json b/public/language/es/user.json index 2ed860fc5a..30c9631be4 100644 --- a/public/language/es/user.json +++ b/public/language/es/user.json @@ -98,6 +98,7 @@ "has_no_follower": "Este usuario no tiene seguidores :(", "follows_no_one": "Este miembro no sigue a nadie :(", "has_no_posts": "Este usuario no ha publicado nada aún.", + "has_no_best_posts": "This user does not have any upvoted posts yet.", "has_no_topics": "Este usuario no ha publicado ninguna tema todavía.", "has_no_watched_topics": "Este usuario no esta suscrito a ningún tema aún.", "has_no_ignored_topics": "Este usuario no ha ignorado ningún tema aun.", diff --git a/public/language/et/admin/manage/privileges.json b/public/language/et/admin/manage/privileges.json index dcd49779f4..8b38b368cd 100644 --- a/public/language/et/admin/manage/privileges.json +++ b/public/language/et/admin/manage/privileges.json @@ -51,10 +51,13 @@ "alert.saved": "Privilege changes saved and applied", "alert.confirm-discard": "Are you sure you wish to discard your privilege changes?", "alert.discarded": "Privilege changes discarded", - "alert.confirm-copyToAll": "Are you sure you wish to apply this privilege set to all categories?", - "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to all categories?", - "alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to all descendant (child) categories?", - "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to all descendant (child) categories?", + "alert.confirm-copyToAll": "Are you sure you wish to apply this set of %1 to all categories?", + "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's set of %1 to all categories?", + "alert.confirm-copyToChildren": "Are you sure you wish to apply this set of %1 to all descendant (child) categories?", + "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's set of %1 to all descendant (child) categories?", "alert.no-undo": "This action cannot be undone.", - "alert.admin-warning": "Administrators implicitly get all privileges" + "alert.admin-warning": "Administrators implicitly get all privileges", + "alert.copyPrivilegesFrom-title": "Select a category to copy from", + "alert.copyPrivilegesFrom-warning": "This will copy %1 from the selected category.", + "alert.copyPrivilegesFromGroup-warning": "This will copy this group's set of %1 from the selected category." } \ No newline at end of file diff --git a/public/language/et/admin/manage/uploads.json b/public/language/et/admin/manage/uploads.json index 21bc8201fc..72a695ccdc 100644 --- a/public/language/et/admin/manage/uploads.json +++ b/public/language/et/admin/manage/uploads.json @@ -5,5 +5,7 @@ "orphaned": "Orphaned", "size/filecount": "Size / Filecount", "confirm-delete": "Do you really want to delete this file?", - "filecount": "%1 files" + "filecount": "%1 files", + "new-folder": "New Folder", + "name-new-folder": "Enter a name for new the folder" } \ No newline at end of file diff --git a/public/language/et/error.json b/public/language/et/error.json index 08a4c0dfb3..ebf1ab7c31 100644 --- a/public/language/et/error.json +++ b/public/language/et/error.json @@ -25,12 +25,14 @@ "invalid-event": "Invalid event: %1", "local-login-disabled": "Local login system has been disabled for non-privileged accounts.", "csrf-invalid": "Me ei saanud Sind sisse logida, võimalik, et tänu aegunud sessioonile, palun proovi uuesti", + "invalid-path": "Invalid path", + "folder-exists": "Folder exists", "invalid-pagination-value": "Väär lehekülje numeratsioon, peab olema vähemalt %1 ja kõige rohkem %2", "username-taken": "Kasutajanimi on juba võetud", "email-taken": "Email on võetud", "email-nochange": "The email entered is the same as the email already on file.", "email-invited": "Email was already invited", - "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", + "email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.", "email-not-confirmed-chat": "Sõnumeid ei ole võimalik enne saata kui sinu email on kinnitatud. Kinnitamiseks vajuta siia.", "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Your account does not have an email set. An email is necessary for account recovery. Please click here to enter an email.", diff --git a/public/language/et/topic.json b/public/language/et/topic.json index 2a3af1c894..db96717384 100644 --- a/public/language/et/topic.json +++ b/public/language/et/topic.json @@ -21,6 +21,7 @@ "edit": "Muuda", "delete": "Kustuta", "delete-event": "Delete Event", + "delete-event-confirm": "Are you sure you want to delete this event?", "purge": "Kustuta", "restore": "Taasta", "move": "Liiguta", @@ -175,5 +176,6 @@ "timeago_later": "%1 later", "timeago_earlier": "%1 earlier", "first-post": "First post", - "last-post": "Last post" + "last-post": "Last post", + "post-quick-reply": "Post quick reply" } \ No newline at end of file diff --git a/public/language/et/user.json b/public/language/et/user.json index a0e9af0a13..7f09d7984e 100644 --- a/public/language/et/user.json +++ b/public/language/et/user.json @@ -98,6 +98,7 @@ "has_no_follower": "Sellel kasutajal pole ühtegi jälgijat :(", "follows_no_one": "See kasutaja ei jälgi kedagi :(", "has_no_posts": "Antud kasutaja pole veel midagi postitanud.", + "has_no_best_posts": "This user does not have any upvoted posts yet.", "has_no_topics": "Antud kasutaja pole veel ühtegi teemat postitanud.", "has_no_watched_topics": "Antud kasutaja pole veel ühtegi teemat vaadanud.", "has_no_ignored_topics": "This user hasn't ignored any topics yet.", diff --git a/public/language/fa-IR/admin/manage/privileges.json b/public/language/fa-IR/admin/manage/privileges.json index dcd49779f4..8b38b368cd 100644 --- a/public/language/fa-IR/admin/manage/privileges.json +++ b/public/language/fa-IR/admin/manage/privileges.json @@ -51,10 +51,13 @@ "alert.saved": "Privilege changes saved and applied", "alert.confirm-discard": "Are you sure you wish to discard your privilege changes?", "alert.discarded": "Privilege changes discarded", - "alert.confirm-copyToAll": "Are you sure you wish to apply this privilege set to all categories?", - "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to all categories?", - "alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to all descendant (child) categories?", - "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to all descendant (child) categories?", + "alert.confirm-copyToAll": "Are you sure you wish to apply this set of %1 to all categories?", + "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's set of %1 to all categories?", + "alert.confirm-copyToChildren": "Are you sure you wish to apply this set of %1 to all descendant (child) categories?", + "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's set of %1 to all descendant (child) categories?", "alert.no-undo": "This action cannot be undone.", - "alert.admin-warning": "Administrators implicitly get all privileges" + "alert.admin-warning": "Administrators implicitly get all privileges", + "alert.copyPrivilegesFrom-title": "Select a category to copy from", + "alert.copyPrivilegesFrom-warning": "This will copy %1 from the selected category.", + "alert.copyPrivilegesFromGroup-warning": "This will copy this group's set of %1 from the selected category." } \ No newline at end of file diff --git a/public/language/fa-IR/admin/manage/uploads.json b/public/language/fa-IR/admin/manage/uploads.json index 21bc8201fc..72a695ccdc 100644 --- a/public/language/fa-IR/admin/manage/uploads.json +++ b/public/language/fa-IR/admin/manage/uploads.json @@ -5,5 +5,7 @@ "orphaned": "Orphaned", "size/filecount": "Size / Filecount", "confirm-delete": "Do you really want to delete this file?", - "filecount": "%1 files" + "filecount": "%1 files", + "new-folder": "New Folder", + "name-new-folder": "Enter a name for new the folder" } \ No newline at end of file diff --git a/public/language/fa-IR/error.json b/public/language/fa-IR/error.json index fd445b5f31..f5385f82bd 100644 --- a/public/language/fa-IR/error.json +++ b/public/language/fa-IR/error.json @@ -25,12 +25,14 @@ "invalid-event": "Invalid event: %1", "local-login-disabled": "Local login system has been disabled for non-privileged accounts.", "csrf-invalid": "اجازه ورود شما تمام شده است، لطفا دوباره وارد شوید.", + "invalid-path": "Invalid path", + "folder-exists": "Folder exists", "invalid-pagination-value": "ارزش گذاری صفحه نامعتبر است، کمترین مقدار %1 و بیشترین مقدار %2 باید باشد", "username-taken": "این نام کاربری گرفته شده است.", "email-taken": "این ایمیل گرفته شده است.", "email-nochange": "The email entered is the same as the email already on file.", "email-invited": "Email was already invited", - "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", + "email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.", "email-not-confirmed-chat": "شما تا قبل از تایید ایمیل قادر به چت نیستید، لطفا برای تایید ایمیل خود اینجا کلیک کنید", "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Your account does not have an email set. An email is necessary for account recovery. Please click here to enter an email.", diff --git a/public/language/fa-IR/topic.json b/public/language/fa-IR/topic.json index 7b487276c6..01f7d78bb2 100644 --- a/public/language/fa-IR/topic.json +++ b/public/language/fa-IR/topic.json @@ -21,6 +21,7 @@ "edit": "ویرایش", "delete": "حذف", "delete-event": "Delete Event", + "delete-event-confirm": "Are you sure you want to delete this event?", "purge": "پاک کردن", "restore": "برگرداندن", "move": "جابه‌جا کردن", @@ -175,5 +176,6 @@ "timeago_later": "1% بعد", "timeago_earlier": "%1 قبل", "first-post": "اولین پست", - "last-post": "آخرین پست" + "last-post": "آخرین پست", + "post-quick-reply": "Post quick reply" } \ No newline at end of file diff --git a/public/language/fa-IR/user.json b/public/language/fa-IR/user.json index c6c13e26c7..5de1da570c 100644 --- a/public/language/fa-IR/user.json +++ b/public/language/fa-IR/user.json @@ -98,6 +98,7 @@ "has_no_follower": "این کاربر هیچ دنبال‌کننده‌ای ندارد :(", "follows_no_one": "این کاربر هیچ کسی را دنبال نمی‌کند :(", "has_no_posts": "این کاربر تا به حال هیچ چیزی ارسال نکرده است.", + "has_no_best_posts": "This user does not have any upvoted posts yet.", "has_no_topics": "این کاربر تا به حال هیچ موضوعی ارسال نکرده است", "has_no_watched_topics": "این کاربر تا به حال هیچ موضوعی را پیگیری نکرده است", "has_no_ignored_topics": "این کاربر هیچ موضوعی را نادیده نگرفته است", diff --git a/public/language/fi/admin/manage/privileges.json b/public/language/fi/admin/manage/privileges.json index dcd49779f4..8b38b368cd 100644 --- a/public/language/fi/admin/manage/privileges.json +++ b/public/language/fi/admin/manage/privileges.json @@ -51,10 +51,13 @@ "alert.saved": "Privilege changes saved and applied", "alert.confirm-discard": "Are you sure you wish to discard your privilege changes?", "alert.discarded": "Privilege changes discarded", - "alert.confirm-copyToAll": "Are you sure you wish to apply this privilege set to all categories?", - "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to all categories?", - "alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to all descendant (child) categories?", - "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to all descendant (child) categories?", + "alert.confirm-copyToAll": "Are you sure you wish to apply this set of %1 to all categories?", + "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's set of %1 to all categories?", + "alert.confirm-copyToChildren": "Are you sure you wish to apply this set of %1 to all descendant (child) categories?", + "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's set of %1 to all descendant (child) categories?", "alert.no-undo": "This action cannot be undone.", - "alert.admin-warning": "Administrators implicitly get all privileges" + "alert.admin-warning": "Administrators implicitly get all privileges", + "alert.copyPrivilegesFrom-title": "Select a category to copy from", + "alert.copyPrivilegesFrom-warning": "This will copy %1 from the selected category.", + "alert.copyPrivilegesFromGroup-warning": "This will copy this group's set of %1 from the selected category." } \ No newline at end of file diff --git a/public/language/fi/admin/manage/uploads.json b/public/language/fi/admin/manage/uploads.json index 21bc8201fc..72a695ccdc 100644 --- a/public/language/fi/admin/manage/uploads.json +++ b/public/language/fi/admin/manage/uploads.json @@ -5,5 +5,7 @@ "orphaned": "Orphaned", "size/filecount": "Size / Filecount", "confirm-delete": "Do you really want to delete this file?", - "filecount": "%1 files" + "filecount": "%1 files", + "new-folder": "New Folder", + "name-new-folder": "Enter a name for new the folder" } \ No newline at end of file diff --git a/public/language/fi/error.json b/public/language/fi/error.json index 9c039bf694..711704df4f 100644 --- a/public/language/fi/error.json +++ b/public/language/fi/error.json @@ -25,12 +25,14 @@ "invalid-event": "Invalid event: %1", "local-login-disabled": "Local login system has been disabled for non-privileged accounts.", "csrf-invalid": "We were unable to log you in, likely due to an expired session. Please try again", + "invalid-path": "Invalid path", + "folder-exists": "Folder exists", "invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2", "username-taken": "Käyttäjänimi varattu", "email-taken": "Sähköpostiosoite varattu", "email-nochange": "The email entered is the same as the email already on file.", "email-invited": "Email was already invited", - "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", + "email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.", "email-not-confirmed-chat": "Et voi keskustella ennen kuin sähköpostiosoitteesi on vahvistettu, ole hyvä ja paina tästä vahvistaaksesi sen.", "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Your account does not have an email set. An email is necessary for account recovery. Please click here to enter an email.", diff --git a/public/language/fi/topic.json b/public/language/fi/topic.json index 8cf8d81d1f..593bab2c90 100644 --- a/public/language/fi/topic.json +++ b/public/language/fi/topic.json @@ -21,6 +21,7 @@ "edit": "Muokkaa", "delete": "Poista", "delete-event": "Delete Event", + "delete-event-confirm": "Are you sure you want to delete this event?", "purge": "Poista pysyvästi", "restore": "Palauta", "move": "Siirrä", @@ -175,5 +176,6 @@ "timeago_later": "%1 myöhempi", "timeago_earlier": "%1 aiempi", "first-post": "First post", - "last-post": "Last post" + "last-post": "Last post", + "post-quick-reply": "Post quick reply" } \ No newline at end of file diff --git a/public/language/fi/user.json b/public/language/fi/user.json index af1573106f..c6b4197fde 100644 --- a/public/language/fi/user.json +++ b/public/language/fi/user.json @@ -98,6 +98,7 @@ "has_no_follower": "Kukaan ei seuraa tätä käyttäjää :(", "follows_no_one": "Tämä käyttäjä ei seuraa ketään :(", "has_no_posts": "Käyttäjä ei ole vielä lähettänyt viestejä ", + "has_no_best_posts": "This user does not have any upvoted posts yet.", "has_no_topics": "Käyttäjä ei ole lähettänyt viestiä yhteenkään aiheeseen vielä.", "has_no_watched_topics": "Käyttäjä ei seuraa mitään aihetta vielä.", "has_no_ignored_topics": "Käyttäjä ei ole merkannut sivuutettavaksi yhtään aihetta.", diff --git a/public/language/fr/admin/manage/privileges.json b/public/language/fr/admin/manage/privileges.json index 8f808637ef..574a6b5040 100644 --- a/public/language/fr/admin/manage/privileges.json +++ b/public/language/fr/admin/manage/privileges.json @@ -51,10 +51,13 @@ "alert.saved": "Changements de privilèges enregistrés et appliqués", "alert.confirm-discard": "Êtes-vous sûr de vouloir annuler vos modifications de privilèges ?", "alert.discarded": "Modifications de privilèges annulés", - "alert.confirm-copyToAll": "Voulez-vous vraiment appliquer ce jeu de privilèges à toutes les catégories ?", - "alert.confirm-copyToAllGroup": "Voulez-vous vraiment appliquer le jeu de privilèges de ce groupe à toutes les catégories ?", - "alert.confirm-copyToChildren": "Voulez-vous vraiment appliquer ces privilèges à toutes les catégories incluses (enfants) ?", - "alert.confirm-copyToChildrenGroup": "Voulez-vous vraiment appliquer le jeu de privilèges de ce groupe à toutes les catégories incluses (enfants) ?", + "alert.confirm-copyToAll": "Are you sure you wish to apply this set of %1 to all categories?", + "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's set of %1 to all categories?", + "alert.confirm-copyToChildren": "Are you sure you wish to apply this set of %1 to all descendant (child) categories?", + "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's set of %1 to all descendant (child) categories?", "alert.no-undo": "Cette action ne peut pas être annulée.", - "alert.admin-warning": "Les administrateurs obtiennent implicitement tous les privilèges" + "alert.admin-warning": "Les administrateurs obtiennent implicitement tous les privilèges", + "alert.copyPrivilegesFrom-title": "Select a category to copy from", + "alert.copyPrivilegesFrom-warning": "This will copy %1 from the selected category.", + "alert.copyPrivilegesFromGroup-warning": "This will copy this group's set of %1 from the selected category." } \ No newline at end of file diff --git a/public/language/fr/admin/manage/uploads.json b/public/language/fr/admin/manage/uploads.json index f1538fb3e6..a0a8608e07 100644 --- a/public/language/fr/admin/manage/uploads.json +++ b/public/language/fr/admin/manage/uploads.json @@ -5,5 +5,7 @@ "orphaned": "Orphelin", "size/filecount": "Taille / nombre de fichiers", "confirm-delete": "Voulez-vous vraiment supprimer ce fichier?", - "filecount": "%1 fichiers" + "filecount": "%1 fichiers", + "new-folder": "New Folder", + "name-new-folder": "Enter a name for new the folder" } \ No newline at end of file diff --git a/public/language/fr/error.json b/public/language/fr/error.json index 90ce2fa635..4ee0be6ce4 100644 --- a/public/language/fr/error.json +++ b/public/language/fr/error.json @@ -25,12 +25,14 @@ "invalid-event": "Événement non valide: %1", "local-login-disabled": "Le système de connexion local a été désactivé pour les comptes sans privilèges.", "csrf-invalid": "Nous ne pouvons pas vous connectez, probablement car votre session a expiré. Merci de réessayer.", + "invalid-path": "Invalid path", + "folder-exists": "Folder exists", "invalid-pagination-value": "Valeur de pagination invalide. Celle-ci doit être comprise entre %1 et %2.", "username-taken": "Nom d’utilisateur déjà utilisé", "email-taken": "Email déjà utilisé", "email-nochange": "Le mail saisi est déjà enregistré.", "email-invited": "Cet utilisateur a déjà été invité.", - "email-not-confirmed": "Vous ne pouvez pas publier de message tant que votre adresse e-mail n'est pas confirmée. Veuillez cliquer ici pour confirmer votre adresse e-mail.", + "email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.", "email-not-confirmed-chat": "Il ne vous est pas possible d'utiliser le chat tant que votre adresse email n'a pas été vérifiée. Veuillez cliquer ici pour confirmer votre adresse email.", "email-not-confirmed-email-sent": "Votre email n'a pas encore été confirmé, veuillez vérifier votre boîte mail. Vous ne pourrez pas poster ou discuter avant que votre email ne soit confirmé.", "no-email-to-confirm": "Votre compte n'a pas d'adresse mail définie. Un mail est nécessaire pour la récupération du compte. Veuillez cliquer ici pour entrer un courriel.", diff --git a/public/language/fr/topic.json b/public/language/fr/topic.json index 41276d06f4..e93c59cb01 100644 --- a/public/language/fr/topic.json +++ b/public/language/fr/topic.json @@ -21,6 +21,7 @@ "edit": "Éditer", "delete": "Supprimer", "delete-event": "Supprimer l'événement", + "delete-event-confirm": "Voulez-vous vraiment supprimer cet événement ?", "purge": "Supprimer définitivement", "restore": "Restaurer", "move": "Déplacer", @@ -175,5 +176,6 @@ "timeago_later": "%1", "timeago_earlier": "il y a %1", "first-post": "Premier message", - "last-post": "Dernier message" + "last-post": "Dernier message", + "post-quick-reply": "Réponse rapide" } \ No newline at end of file diff --git a/public/language/fr/user.json b/public/language/fr/user.json index 5d7b3cf2a4..36ab11712b 100644 --- a/public/language/fr/user.json +++ b/public/language/fr/user.json @@ -98,6 +98,7 @@ "has_no_follower": "Personne n'est abonné à cet utilisateur :(", "follows_no_one": "Cet utilisateur n'est abonné à personne :(", "has_no_posts": "Cet utilisateur n'a encore rien posté.", + "has_no_best_posts": "Cet utilisateur n'a donné d'avis positifs", "has_no_topics": "Cet utilisateur n'a encore créé aucun sujet.", "has_no_watched_topics": "Cet utilisateur ne s'est encore abonné à aucun sujet.", "has_no_ignored_topics": "Cet utilisateur n'a encore ignoré aucun sujet.", diff --git a/public/language/gl/admin/manage/privileges.json b/public/language/gl/admin/manage/privileges.json index dcd49779f4..8b38b368cd 100644 --- a/public/language/gl/admin/manage/privileges.json +++ b/public/language/gl/admin/manage/privileges.json @@ -51,10 +51,13 @@ "alert.saved": "Privilege changes saved and applied", "alert.confirm-discard": "Are you sure you wish to discard your privilege changes?", "alert.discarded": "Privilege changes discarded", - "alert.confirm-copyToAll": "Are you sure you wish to apply this privilege set to all categories?", - "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to all categories?", - "alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to all descendant (child) categories?", - "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to all descendant (child) categories?", + "alert.confirm-copyToAll": "Are you sure you wish to apply this set of %1 to all categories?", + "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's set of %1 to all categories?", + "alert.confirm-copyToChildren": "Are you sure you wish to apply this set of %1 to all descendant (child) categories?", + "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's set of %1 to all descendant (child) categories?", "alert.no-undo": "This action cannot be undone.", - "alert.admin-warning": "Administrators implicitly get all privileges" + "alert.admin-warning": "Administrators implicitly get all privileges", + "alert.copyPrivilegesFrom-title": "Select a category to copy from", + "alert.copyPrivilegesFrom-warning": "This will copy %1 from the selected category.", + "alert.copyPrivilegesFromGroup-warning": "This will copy this group's set of %1 from the selected category." } \ No newline at end of file diff --git a/public/language/gl/admin/manage/uploads.json b/public/language/gl/admin/manage/uploads.json index 21bc8201fc..72a695ccdc 100644 --- a/public/language/gl/admin/manage/uploads.json +++ b/public/language/gl/admin/manage/uploads.json @@ -5,5 +5,7 @@ "orphaned": "Orphaned", "size/filecount": "Size / Filecount", "confirm-delete": "Do you really want to delete this file?", - "filecount": "%1 files" + "filecount": "%1 files", + "new-folder": "New Folder", + "name-new-folder": "Enter a name for new the folder" } \ No newline at end of file diff --git a/public/language/gl/error.json b/public/language/gl/error.json index 687bc2e94c..1c5bc502c1 100644 --- a/public/language/gl/error.json +++ b/public/language/gl/error.json @@ -25,12 +25,14 @@ "invalid-event": "Invalid event: %1", "local-login-disabled": "Local login system has been disabled for non-privileged accounts.", "csrf-invalid": "Non fomos capaces de entrar, probablemente porque a que a sesión expirou. Por favor, téntao de novo", + "invalid-path": "Invalid path", + "folder-exists": "Folder exists", "invalid-pagination-value": "Valor de paxinación incorreto, ten que estar entre %1 e %2", "username-taken": "Nome de usuario en uso", "email-taken": "Enderezo electrónico en uso", "email-nochange": "The email entered is the same as the email already on file.", "email-invited": "Email was already invited", - "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", + "email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.", "email-not-confirmed-chat": "Non podes charlar ata que confirmes o teu correo, por favor pica aquí para confirmalo.", "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Your account does not have an email set. An email is necessary for account recovery. Please click here to enter an email.", diff --git a/public/language/gl/topic.json b/public/language/gl/topic.json index a1a16182ec..da2afd1bef 100644 --- a/public/language/gl/topic.json +++ b/public/language/gl/topic.json @@ -21,6 +21,7 @@ "edit": "Editar", "delete": "Borrar", "delete-event": "Delete Event", + "delete-event-confirm": "Are you sure you want to delete this event?", "purge": "Purgar", "restore": "Restaurar", "move": "Mover", @@ -175,5 +176,6 @@ "timeago_later": "%1 later", "timeago_earlier": "%1 earlier", "first-post": "First post", - "last-post": "Last post" + "last-post": "Last post", + "post-quick-reply": "Post quick reply" } \ No newline at end of file diff --git a/public/language/gl/user.json b/public/language/gl/user.json index cb01938b05..7fb9ff2efb 100644 --- a/public/language/gl/user.json +++ b/public/language/gl/user.json @@ -98,6 +98,7 @@ "has_no_follower": "Ninguén segue a este usuario :(", "follows_no_one": "Este usuario non sigue a ninguén :(", "has_no_posts": "Este usuario aínda non posteu.", + "has_no_best_posts": "This user does not have any upvoted posts yet.", "has_no_topics": "Este usuario aínda non publicou ningún tema.", "has_no_watched_topics": "Este usuario aínda non viu ningún tema.", "has_no_ignored_topics": "This user hasn't ignored any topics yet.", diff --git a/public/language/he/admin/manage/privileges.json b/public/language/he/admin/manage/privileges.json index 788cb6fada..2100dbedde 100644 --- a/public/language/he/admin/manage/privileges.json +++ b/public/language/he/admin/manage/privileges.json @@ -51,10 +51,13 @@ "alert.saved": "שינויי הרשאות נשמרו והוחלו", "alert.confirm-discard": "האם אתה בטוח שברצונך לבטל את שינויי ההרשאות שלך?", "alert.discarded": "שינויי ההרשאות נמחקו", - "alert.confirm-copyToAll": "האם אתה בטוח שברצונך להחיל את הגדרות הרשאות זו לכל הקטגוריות (זהירות!)?", - "alert.confirm-copyToAllGroup": "זהירות!! האם אתה בטוח שברצונך להחיל את הרשאות קבוצה זו לכל הקטגוריות?", - "alert.confirm-copyToChildren": "האם אתה בטוח שברצונך להחיל את קבוצת הרשאות זו לכל קטגוריות הצאצאים (ילדים)?", - "alert.confirm-copyToChildrenGroup": "האם אתה בטוח שברצונך להחיל את הרשאות קבוצה זו לכל קטגוריות הצאצאים (ילדים)?", + "alert.confirm-copyToAll": "Are you sure you wish to apply this set of %1 to all categories?", + "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's set of %1 to all categories?", + "alert.confirm-copyToChildren": "Are you sure you wish to apply this set of %1 to all descendant (child) categories?", + "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's set of %1 to all descendant (child) categories?", "alert.no-undo": "לא ניתן לבטל פעולה זו.", - "alert.admin-warning": "מנהלים מקבלים את כל ההרשאות" + "alert.admin-warning": "מנהלים מקבלים את כל ההרשאות", + "alert.copyPrivilegesFrom-title": "Select a category to copy from", + "alert.copyPrivilegesFrom-warning": "This will copy %1 from the selected category.", + "alert.copyPrivilegesFromGroup-warning": "This will copy this group's set of %1 from the selected category." } \ No newline at end of file diff --git a/public/language/he/admin/manage/uploads.json b/public/language/he/admin/manage/uploads.json index be1cda25f5..2fa5ab4c06 100644 --- a/public/language/he/admin/manage/uploads.json +++ b/public/language/he/admin/manage/uploads.json @@ -5,5 +5,7 @@ "orphaned": "מיותם", "size/filecount": "גודל / ספירת קבצים", "confirm-delete": "האם אתה בטוח שאתה רוצה למחוק קובץ זה?", - "filecount": "%1 קבצים" + "filecount": "%1 קבצים", + "new-folder": "New Folder", + "name-new-folder": "Enter a name for new the folder" } \ No newline at end of file diff --git a/public/language/he/error.json b/public/language/he/error.json index 03f074193e..b93f4c9a23 100644 --- a/public/language/he/error.json +++ b/public/language/he/error.json @@ -25,12 +25,14 @@ "invalid-event": "אירוע לא תקין: %1", "local-login-disabled": "מערכת הכניסה המקומית הושבתה עבור חשבונות שאינם מורשים.", "csrf-invalid": "אין באפשרותנו לחבר אותך למערכת, מכיוון שעבר זמן רב מידי. אנא נסה שנית.", + "invalid-path": "Invalid path", + "folder-exists": "Folder exists", "invalid-pagination-value": "ערך דף לא חוקי, חייב להיות לפחות %1 ולא מעל %2", "username-taken": "שם משתמש תפוס", "email-taken": "כתובת אימייל תפוסה", "email-nochange": "כתובת אימייל שהוזן זהה לאימייל שנמצא כבר", "email-invited": "כבר נשלחה הזמנה למייל זה", - "email-not-confirmed": "אין באפשרותך לפרסם עד אישור הודעת הדוא\"ל שלך, לחץ כאן כדי לאשר את הדוא\"ל שלך.", + "email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.", "email-not-confirmed-chat": "אין באפשרותך לשוחח עד שהדוא\"ל שלך יאושר, אנא לחץ כאן כדי לאשר את הדוא\"ל שלך.", "email-not-confirmed-email-sent": "האימייל שלך עדין לא אושר. אנא בדוק בתיבת הדואר בנוגע לאישור האימייל שנשלח לך על ידנו. לא תוכל לכתוב פוסטים ולהשתמש בצ'אט לפני אימות המייל שלך.", "no-email-to-confirm": "בחשבונך לא הוגדר אימייל. כתובת אימייל נחוץ לשחזור חשבון. אנא לחץ כאן כדי להכניס דוא\"ל.", diff --git a/public/language/he/topic.json b/public/language/he/topic.json index f738c9ad8a..7c5a688bbe 100644 --- a/public/language/he/topic.json +++ b/public/language/he/topic.json @@ -21,6 +21,7 @@ "edit": "עריכה", "delete": "מחק", "delete-event": "Delete Event", + "delete-event-confirm": "Are you sure you want to delete this event?", "purge": "מחק לצמיתות", "restore": "שחזר", "move": "העבר", @@ -175,5 +176,6 @@ "timeago_later": "אחרי %1", "timeago_earlier": "לפני %1 ", "first-post": "פוסט ראשון", - "last-post": "פוסט אחרון" + "last-post": "פוסט אחרון", + "post-quick-reply": "Post quick reply" } \ No newline at end of file diff --git a/public/language/he/user.json b/public/language/he/user.json index 48e06439f8..a8c49d6f0c 100644 --- a/public/language/he/user.json +++ b/public/language/he/user.json @@ -98,6 +98,7 @@ "has_no_follower": "למשתמש זה אין עוקבים :(", "follows_no_one": "משתמש זה אינו עוקב אחרי אחרים :(", "has_no_posts": "המשתמש טרם יצר פוסטים כלשהם.", + "has_no_best_posts": "This user does not have any upvoted posts yet.", "has_no_topics": "המשתמש טרם יצר נושאים כלשהם.", "has_no_watched_topics": "המשתמש טרם צפה בנושאים כלשהם.", "has_no_ignored_topics": "המשתמש הזה טרם התעלם מנושאים.", diff --git a/public/language/hr/admin/manage/privileges.json b/public/language/hr/admin/manage/privileges.json index dcd49779f4..8b38b368cd 100644 --- a/public/language/hr/admin/manage/privileges.json +++ b/public/language/hr/admin/manage/privileges.json @@ -51,10 +51,13 @@ "alert.saved": "Privilege changes saved and applied", "alert.confirm-discard": "Are you sure you wish to discard your privilege changes?", "alert.discarded": "Privilege changes discarded", - "alert.confirm-copyToAll": "Are you sure you wish to apply this privilege set to all categories?", - "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to all categories?", - "alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to all descendant (child) categories?", - "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to all descendant (child) categories?", + "alert.confirm-copyToAll": "Are you sure you wish to apply this set of %1 to all categories?", + "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's set of %1 to all categories?", + "alert.confirm-copyToChildren": "Are you sure you wish to apply this set of %1 to all descendant (child) categories?", + "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's set of %1 to all descendant (child) categories?", "alert.no-undo": "This action cannot be undone.", - "alert.admin-warning": "Administrators implicitly get all privileges" + "alert.admin-warning": "Administrators implicitly get all privileges", + "alert.copyPrivilegesFrom-title": "Select a category to copy from", + "alert.copyPrivilegesFrom-warning": "This will copy %1 from the selected category.", + "alert.copyPrivilegesFromGroup-warning": "This will copy this group's set of %1 from the selected category." } \ No newline at end of file diff --git a/public/language/hr/admin/manage/uploads.json b/public/language/hr/admin/manage/uploads.json index 21bc8201fc..72a695ccdc 100644 --- a/public/language/hr/admin/manage/uploads.json +++ b/public/language/hr/admin/manage/uploads.json @@ -5,5 +5,7 @@ "orphaned": "Orphaned", "size/filecount": "Size / Filecount", "confirm-delete": "Do you really want to delete this file?", - "filecount": "%1 files" + "filecount": "%1 files", + "new-folder": "New Folder", + "name-new-folder": "Enter a name for new the folder" } \ No newline at end of file diff --git a/public/language/hr/error.json b/public/language/hr/error.json index fec2e0bb4f..a95f997f54 100644 --- a/public/language/hr/error.json +++ b/public/language/hr/error.json @@ -25,12 +25,14 @@ "invalid-event": "Invalid event: %1", "local-login-disabled": "Local login system has been disabled for non-privileged accounts.", "csrf-invalid": "Nismo Vas uspjeli prijaviti, najvjerovatnije zbog istekle sesije. Molimo pokušajte ponovno", + "invalid-path": "Invalid path", + "folder-exists": "Folder exists", "invalid-pagination-value": "Netočno numeriranje stranica, mora biti %1 ili %2", "username-taken": "Korisničko ime je zauzeto", "email-taken": "Email je zauzet", "email-nochange": "The email entered is the same as the email already on file.", "email-invited": "Email was already invited", - "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", + "email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.", "email-not-confirmed-chat": "Ne možete razgovarati dok Vaš email nije potvrđen. Kliknite ovdje da biste potvrdili svoj email.", "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Your account does not have an email set. An email is necessary for account recovery. Please click here to enter an email.", diff --git a/public/language/hr/topic.json b/public/language/hr/topic.json index 49b7094842..6c77001ccc 100644 --- a/public/language/hr/topic.json +++ b/public/language/hr/topic.json @@ -21,6 +21,7 @@ "edit": "Uredi", "delete": "Obriši", "delete-event": "Delete Event", + "delete-event-confirm": "Are you sure you want to delete this event?", "purge": "Očisti sve", "restore": "Obnovi", "move": "Premjesti", @@ -175,5 +176,6 @@ "timeago_later": "%1 later", "timeago_earlier": "%1 earlier", "first-post": "First post", - "last-post": "Last post" + "last-post": "Last post", + "post-quick-reply": "Post quick reply" } \ No newline at end of file diff --git a/public/language/hr/user.json b/public/language/hr/user.json index 03864e12a1..1d76144f1b 100644 --- a/public/language/hr/user.json +++ b/public/language/hr/user.json @@ -98,6 +98,7 @@ "has_no_follower": "Ovaj korisnik nema pratitelja :(.", "follows_no_one": "Ovaj korisnik nikog ne prati :(", "has_no_posts": "Ovaj korisnik nema objava.", + "has_no_best_posts": "This user does not have any upvoted posts yet.", "has_no_topics": "Ovaj korisnik nema objavljenih tema.", "has_no_watched_topics": "Ovaj korisnik ne prati teme.", "has_no_ignored_topics": "This user hasn't ignored any topics yet.", diff --git a/public/language/hu/admin/manage/privileges.json b/public/language/hu/admin/manage/privileges.json index 93f8af78ec..3e58912274 100644 --- a/public/language/hu/admin/manage/privileges.json +++ b/public/language/hu/admin/manage/privileges.json @@ -51,10 +51,13 @@ "alert.saved": "Jogosultságok módosításai mentésre kerültek", "alert.confirm-discard": "Biztosan el szeretnéd vetni ezeket a jogosultsági módosításokat?", "alert.discarded": "Jogosultságok módosításai elvetve", - "alert.confirm-copyToAll": "Biztosan elmented ezt a jogosultsági beállítást minden kategóriának?", - "alert.confirm-copyToAllGroup": "Biztosan elmented ennek a csoportnak a jogosultsági beállításait minden kategóriának?", - "alert.confirm-copyToChildren": "Biztosan elmented ezt a jogosultsági beállítást minden leszármazott kategóriának?", - "alert.confirm-copyToChildrenGroup": "Biztosan elmented ennek a csoportnak a jogosultsági beállításait minden leszármazott kategóriának?", + "alert.confirm-copyToAll": "Are you sure you wish to apply this set of %1 to all categories?", + "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's set of %1 to all categories?", + "alert.confirm-copyToChildren": "Are you sure you wish to apply this set of %1 to all descendant (child) categories?", + "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's set of %1 to all descendant (child) categories?", "alert.no-undo": "Ez a művelet nem vonható vissza.", - "alert.admin-warning": "Az adminisztrátorok automatikusan megkapnak minden jogosultságot" + "alert.admin-warning": "Az adminisztrátorok automatikusan megkapnak minden jogosultságot", + "alert.copyPrivilegesFrom-title": "Select a category to copy from", + "alert.copyPrivilegesFrom-warning": "This will copy %1 from the selected category.", + "alert.copyPrivilegesFromGroup-warning": "This will copy this group's set of %1 from the selected category." } \ No newline at end of file diff --git a/public/language/hu/admin/manage/uploads.json b/public/language/hu/admin/manage/uploads.json index 9c6bb84058..4a047ee60a 100644 --- a/public/language/hu/admin/manage/uploads.json +++ b/public/language/hu/admin/manage/uploads.json @@ -5,5 +5,7 @@ "orphaned": "Elárvult", "size/filecount": "Méret / fájlok száma", "confirm-delete": "Biztosan törölni szeretnéd ezt a fájlt?", - "filecount": "%1 fájl" + "filecount": "%1 fájl", + "new-folder": "New Folder", + "name-new-folder": "Enter a name for new the folder" } \ No newline at end of file diff --git a/public/language/hu/error.json b/public/language/hu/error.json index 301d68b78b..20ecb8cf9a 100644 --- a/public/language/hu/error.json +++ b/public/language/hu/error.json @@ -25,12 +25,14 @@ "invalid-event": "Érvénytelen esemény: %1", "local-login-disabled": "A helyi bejelentkezés letiltva fel nem hatalmazott felhasználóknál.", "csrf-invalid": "Sikertelen bejelentkezés, feltételezhetően lejárt a munkamenet. Próbálkozz újra!", + "invalid-path": "Invalid path", + "folder-exists": "Folder exists", "invalid-pagination-value": "Érvénytelen lapozási érték, legalább %1 kell lennie és legfeljebb %2 -nak/nek", "username-taken": "Foglalt felhasználónév", "email-taken": "Foglalt e-mail", "email-nochange": "The email entered is the same as the email already on file.", "email-invited": "Ez az email cím már meg lett hívva", - "email-not-confirmed": "Nem tehetsz közzé bejegyzést amíg nem erősíted meg az emailcímed, kattints ide az emailcím megerősítéséhez!", + "email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.", "email-not-confirmed-chat": "Nem küldhetsz üzenetet amíg nem erősíted meg az email címed, kattints ide az email cím megerősítéséhez!", "email-not-confirmed-email-sent": "Az email címed még nem lett megerősítve, kérlek ellenőrizd az email fiókodba érkező leveleket. Amíg nincs az email címed megerősítve addig nem tudsz üzeneteket küldeni valamint bejegyzést közzé tenni.", "no-email-to-confirm": "Your account does not have an email set. An email is necessary for account recovery. Please click here to enter an email.", diff --git a/public/language/hu/topic.json b/public/language/hu/topic.json index ad44bb04df..2fe3a8fb93 100644 --- a/public/language/hu/topic.json +++ b/public/language/hu/topic.json @@ -21,6 +21,7 @@ "edit": "Szerkesztés", "delete": "Törlés", "delete-event": "Delete Event", + "delete-event-confirm": "Are you sure you want to delete this event?", "purge": "Végleges törlés", "restore": "Visszaállítás", "move": "Áthelyezés", @@ -175,5 +176,6 @@ "timeago_later": "%1 később", "timeago_earlier": "%1 korábban", "first-post": "Első bejegyzés", - "last-post": "Utolsó bejegyzés" + "last-post": "Utolsó bejegyzés", + "post-quick-reply": "Post quick reply" } \ No newline at end of file diff --git a/public/language/hu/user.json b/public/language/hu/user.json index 5bf5740a84..3d66f7b525 100644 --- a/public/language/hu/user.json +++ b/public/language/hu/user.json @@ -98,6 +98,7 @@ "has_no_follower": "Ezt a felhasználót nem követi senki :(", "follows_no_one": "Ez a felhasználó nem követ senkit :(", "has_no_posts": "A felhasználó még nem szólt hozzá semmihez.", + "has_no_best_posts": "This user does not have any upvoted posts yet.", "has_no_topics": "A felhasználó még nem szólt hozzá egyik témakörhöz sem.", "has_no_watched_topics": "A felhasználó még nem nézett meg egy témakört sem.", "has_no_ignored_topics": "A felhasználó még nem mellőzött témakört.", diff --git a/public/language/id/admin/manage/privileges.json b/public/language/id/admin/manage/privileges.json index dcd49779f4..8b38b368cd 100644 --- a/public/language/id/admin/manage/privileges.json +++ b/public/language/id/admin/manage/privileges.json @@ -51,10 +51,13 @@ "alert.saved": "Privilege changes saved and applied", "alert.confirm-discard": "Are you sure you wish to discard your privilege changes?", "alert.discarded": "Privilege changes discarded", - "alert.confirm-copyToAll": "Are you sure you wish to apply this privilege set to all categories?", - "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to all categories?", - "alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to all descendant (child) categories?", - "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to all descendant (child) categories?", + "alert.confirm-copyToAll": "Are you sure you wish to apply this set of %1 to all categories?", + "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's set of %1 to all categories?", + "alert.confirm-copyToChildren": "Are you sure you wish to apply this set of %1 to all descendant (child) categories?", + "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's set of %1 to all descendant (child) categories?", "alert.no-undo": "This action cannot be undone.", - "alert.admin-warning": "Administrators implicitly get all privileges" + "alert.admin-warning": "Administrators implicitly get all privileges", + "alert.copyPrivilegesFrom-title": "Select a category to copy from", + "alert.copyPrivilegesFrom-warning": "This will copy %1 from the selected category.", + "alert.copyPrivilegesFromGroup-warning": "This will copy this group's set of %1 from the selected category." } \ No newline at end of file diff --git a/public/language/id/admin/manage/uploads.json b/public/language/id/admin/manage/uploads.json index 21bc8201fc..72a695ccdc 100644 --- a/public/language/id/admin/manage/uploads.json +++ b/public/language/id/admin/manage/uploads.json @@ -5,5 +5,7 @@ "orphaned": "Orphaned", "size/filecount": "Size / Filecount", "confirm-delete": "Do you really want to delete this file?", - "filecount": "%1 files" + "filecount": "%1 files", + "new-folder": "New Folder", + "name-new-folder": "Enter a name for new the folder" } \ No newline at end of file diff --git a/public/language/id/error.json b/public/language/id/error.json index 5c91c0dd59..3bc6e19b51 100644 --- a/public/language/id/error.json +++ b/public/language/id/error.json @@ -25,12 +25,14 @@ "invalid-event": "Invalid event: %1", "local-login-disabled": "Local login system has been disabled for non-privileged accounts.", "csrf-invalid": "We were unable to log you in, likely due to an expired session. Please try again", + "invalid-path": "Invalid path", + "folder-exists": "Folder exists", "invalid-pagination-value": "Nomor pagination tidak valid, minimal %1 dan maksimal %2", "username-taken": "Username sudah terdaftar", "email-taken": "Email sudah terdaftar", "email-nochange": "The email entered is the same as the email already on file.", "email-invited": "Email was already invited", - "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", + "email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.", "email-not-confirmed-chat": "You are unable to chat until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Your account does not have an email set. An email is necessary for account recovery. Please click here to enter an email.", diff --git a/public/language/id/topic.json b/public/language/id/topic.json index 14aca3bd18..c5d0cbdff0 100644 --- a/public/language/id/topic.json +++ b/public/language/id/topic.json @@ -21,6 +21,7 @@ "edit": "Ubah", "delete": "Hapus", "delete-event": "Delete Event", + "delete-event-confirm": "Are you sure you want to delete this event?", "purge": "Musnahkan", "restore": "Kembalikan", "move": "Pindah", @@ -175,5 +176,6 @@ "timeago_later": "%1 later", "timeago_earlier": "%1 earlier", "first-post": "First post", - "last-post": "Last post" + "last-post": "Last post", + "post-quick-reply": "Post quick reply" } \ No newline at end of file diff --git a/public/language/id/user.json b/public/language/id/user.json index 585ec802ac..7bd0adeca9 100644 --- a/public/language/id/user.json +++ b/public/language/id/user.json @@ -98,6 +98,7 @@ "has_no_follower": "User ini tidak memiliki pengikut :(", "follows_no_one": "User ini tidak mengikuti seorangpun :(", "has_no_posts": "Pengguna ini belum memposting apa pun.", + "has_no_best_posts": "This user does not have any upvoted posts yet.", "has_no_topics": "Pengguna ini belum memposting topik apa pun.", "has_no_watched_topics": "This user hasn't watched any topics yet.", "has_no_ignored_topics": "This user hasn't ignored any topics yet.", diff --git a/public/language/it/admin/manage/privileges.json b/public/language/it/admin/manage/privileges.json index 6f17a52e5c..032e6a844a 100644 --- a/public/language/it/admin/manage/privileges.json +++ b/public/language/it/admin/manage/privileges.json @@ -51,10 +51,13 @@ "alert.saved": "Modifiche ai privilegi salvate e applicate", "alert.confirm-discard": "Sei sicuro di voler annullare le modifiche ai privilegi?", "alert.discarded": "Modifiche ai privilegi ignorate", - "alert.confirm-copyToAll": "Sei sicuro di voler applicare questo privilegio a tutte le categorie?", - "alert.confirm-copyToAllGroup": "Sei sicuro di voler applicare il privilegio di questo gruppo a tutte le categorie?", - "alert.confirm-copyToChildren": "Sei sicuro di voler applicare questo privilegio a tutte le categorie discendenti (figli)?", - "alert.confirm-copyToChildrenGroup": "Sei sicuro di voler applicare il privilegio di questo gruppo a tutte le categorie discendenti (figli)?", + "alert.confirm-copyToAll": "Are you sure you wish to apply this set of %1 to all categories?", + "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's set of %1 to all categories?", + "alert.confirm-copyToChildren": "Are you sure you wish to apply this set of %1 to all descendant (child) categories?", + "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's set of %1 to all descendant (child) categories?", "alert.no-undo": "Questa azione non può essere annullata.", - "alert.admin-warning": "Gli amministratori ottengono implicitamente tutti i privilegi" + "alert.admin-warning": "Gli amministratori ottengono implicitamente tutti i privilegi", + "alert.copyPrivilegesFrom-title": "Select a category to copy from", + "alert.copyPrivilegesFrom-warning": "This will copy %1 from the selected category.", + "alert.copyPrivilegesFromGroup-warning": "This will copy this group's set of %1 from the selected category." } \ No newline at end of file diff --git a/public/language/it/admin/manage/uploads.json b/public/language/it/admin/manage/uploads.json index 92f8828c3e..7d12c43dd0 100644 --- a/public/language/it/admin/manage/uploads.json +++ b/public/language/it/admin/manage/uploads.json @@ -5,5 +5,7 @@ "orphaned": "Orfano", "size/filecount": "Dimensione / Numero file", "confirm-delete": "Vuoi davvero cancellare questo file?", - "filecount": "%1 file" + "filecount": "%1 file", + "new-folder": "New Folder", + "name-new-folder": "Enter a name for new the folder" } \ No newline at end of file diff --git a/public/language/it/error.json b/public/language/it/error.json index 61102072fe..166ee800fa 100644 --- a/public/language/it/error.json +++ b/public/language/it/error.json @@ -25,12 +25,14 @@ "invalid-event": "Evento non valido: %1", "local-login-disabled": "Il sistema di accesso locale è stato disabilitato per gli account senza privilegi.", "csrf-invalid": "Non siamo riusciti a farti accedere, probabilmente perché la sessione è scaduta. Per favore riprova.", + "invalid-path": "Invalid path", + "folder-exists": "Folder exists", "invalid-pagination-value": "Valore di impaginazione non valido, deve essere almeno %1 ed al massimo %2", "username-taken": "Nome utente già esistente", "email-taken": "Email già esistente", "email-nochange": "L'email inserita è la stessa dell'email già presente in archivio.", "email-invited": "L'email è già stata invitata", - "email-not-confirmed": "Non puoi pubblicare post finché la tua email non è confermata, fai clic qui per confermare la tua email", + "email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.", "email-not-confirmed-chat": "Non puoi chattare finché non confermi la tua email, per favore clicca qui per confermare la tua email.", "email-not-confirmed-email-sent": "La tua email non è stata ancora confermata, controlla la tua casella di posta per l'email di conferma. Non potrai pubblicare post o chattare fino a quando la tua email non sarà confermata.", "no-email-to-confirm": "Il tuo account non ha un'email impostata. Un'email è necessaria per il recupero dell'account. Clicca qui per inserire un'email.", diff --git a/public/language/it/topic.json b/public/language/it/topic.json index f896a787eb..8a4a3dc03f 100644 --- a/public/language/it/topic.json +++ b/public/language/it/topic.json @@ -21,6 +21,7 @@ "edit": "Modifica", "delete": "Elimina", "delete-event": "Elimina evento", + "delete-event-confirm": "Sei sicuro di voler cancellare questo evento?", "purge": "Elimina definitivamente", "restore": "Ripristina", "move": "Muovi", @@ -175,5 +176,6 @@ "timeago_later": "%1 dopo", "timeago_earlier": "%1 precedente", "first-post": "Primo post", - "last-post": "Ultimo post" + "last-post": "Ultimo post", + "post-quick-reply": "Invia una risposta rapida" } \ No newline at end of file diff --git a/public/language/it/user.json b/public/language/it/user.json index ffc7ca90a9..43b0c2655c 100644 --- a/public/language/it/user.json +++ b/public/language/it/user.json @@ -98,6 +98,7 @@ "has_no_follower": "Questo utente non è seguito da nessuno :(", "follows_no_one": "Questo utente non segue nessuno :(", "has_no_posts": "Questo utente non ha ancora scritto niente.", + "has_no_best_posts": "Questo utente non ha ancora post votati positivamente.", "has_no_topics": "Questo utente non ha ancora avviato discussioni.", "has_no_watched_topics": "Questo utente non sta seguendo discussioni.", "has_no_ignored_topics": "Questo utente non sta ignorando discussioni.", diff --git a/public/language/ja/admin/manage/privileges.json b/public/language/ja/admin/manage/privileges.json index 637d3a4f3b..4163e37430 100644 --- a/public/language/ja/admin/manage/privileges.json +++ b/public/language/ja/admin/manage/privileges.json @@ -51,10 +51,13 @@ "alert.saved": "Privilege changes saved and applied", "alert.confirm-discard": "Are you sure you wish to discard your privilege changes?", "alert.discarded": "Privilege changes discarded", - "alert.confirm-copyToAll": "Are you sure you wish to apply this privilege set to all categories?", - "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to all categories?", - "alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to all descendant (child) categories?", - "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to all descendant (child) categories?", + "alert.confirm-copyToAll": "Are you sure you wish to apply this set of %1 to all categories?", + "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's set of %1 to all categories?", + "alert.confirm-copyToChildren": "Are you sure you wish to apply this set of %1 to all descendant (child) categories?", + "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's set of %1 to all descendant (child) categories?", "alert.no-undo": "This action cannot be undone.", - "alert.admin-warning": "Administrators implicitly get all privileges" + "alert.admin-warning": "Administrators implicitly get all privileges", + "alert.copyPrivilegesFrom-title": "Select a category to copy from", + "alert.copyPrivilegesFrom-warning": "This will copy %1 from the selected category.", + "alert.copyPrivilegesFromGroup-warning": "This will copy this group's set of %1 from the selected category." } \ No newline at end of file diff --git a/public/language/ja/admin/manage/uploads.json b/public/language/ja/admin/manage/uploads.json index 21bc8201fc..72a695ccdc 100644 --- a/public/language/ja/admin/manage/uploads.json +++ b/public/language/ja/admin/manage/uploads.json @@ -5,5 +5,7 @@ "orphaned": "Orphaned", "size/filecount": "Size / Filecount", "confirm-delete": "Do you really want to delete this file?", - "filecount": "%1 files" + "filecount": "%1 files", + "new-folder": "New Folder", + "name-new-folder": "Enter a name for new the folder" } \ No newline at end of file diff --git a/public/language/ja/error.json b/public/language/ja/error.json index a527f0936c..a59597180b 100644 --- a/public/language/ja/error.json +++ b/public/language/ja/error.json @@ -25,12 +25,14 @@ "invalid-event": "Invalid event: %1", "local-login-disabled": "ローカルログインシステムは、非特権アカウントに対して無効になっています", "csrf-invalid": "セッションの期限切れと思われるため、私達はあなたのログイン状態を確認できませんでした。もう一度お試しください。", + "invalid-path": "Invalid path", + "folder-exists": "Folder exists", "invalid-pagination-value": "無効なページネーション値です。%1 から%2の値でなければありません。", "username-taken": "ユーザー名は既に使われています", "email-taken": "メールアドレスは既に使われています", "email-nochange": "The email entered is the same as the email already on file.", "email-invited": "Email was already invited", - "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", + "email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.", "email-not-confirmed-chat": "チャットを行うにはメールアドレスの確認を行う必要があります。メールアドレスを確認するためにはここをクリックしてください。", "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Your account does not have an email set. An email is necessary for account recovery. Please click here to enter an email.", diff --git a/public/language/ja/topic.json b/public/language/ja/topic.json index 029b5100e9..d68eebd84c 100644 --- a/public/language/ja/topic.json +++ b/public/language/ja/topic.json @@ -21,6 +21,7 @@ "edit": "編集", "delete": "削除", "delete-event": "Delete Event", + "delete-event-confirm": "Are you sure you want to delete this event?", "purge": "切り離し", "restore": "リストア", "move": "移動", @@ -175,5 +176,6 @@ "timeago_later": "%1 later", "timeago_earlier": "%1 earlier", "first-post": "First post", - "last-post": "Last post" + "last-post": "Last post", + "post-quick-reply": "Post quick reply" } \ No newline at end of file diff --git a/public/language/ja/user.json b/public/language/ja/user.json index b37c2326fa..bb65236c7c 100644 --- a/public/language/ja/user.json +++ b/public/language/ja/user.json @@ -98,6 +98,7 @@ "has_no_follower": "フォロワーはまだいません :(", "follows_no_one": "フォロー中のユーザーはまだいません :(", "has_no_posts": "このユーザーはまだ一つも投稿していません", + "has_no_best_posts": "This user does not have any upvoted posts yet.", "has_no_topics": "このユーザーはまだ一つもスレッドを作っていません", "has_no_watched_topics": "このユーザーはまだ一つもスレッドをウォッチしていません", "has_no_ignored_topics": "この利用者はまだトピックを無視していません。", diff --git a/public/language/ko/admin/manage/privileges.json b/public/language/ko/admin/manage/privileges.json index e43cfb88dc..2e16cda8e3 100644 --- a/public/language/ko/admin/manage/privileges.json +++ b/public/language/ko/admin/manage/privileges.json @@ -51,10 +51,13 @@ "alert.saved": "변경된 권한이 적용되었습니다.", "alert.confirm-discard": "권한 변경을 취소하시겠습니까?", "alert.discarded": "권한 변경이 취소되었습니다.", - "alert.confirm-copyToAll": " 모든 카테고리에 해당되는 권한을 적용하시겠습니까?", - "alert.confirm-copyToAllGroup": "모든 카테고리에 해당되는 권한을 이 그룹에 적용하시겠습니까?", - "alert.confirm-copyToChildren": "모든 하위 카테고리(상위 포함)에 해당되는 권한을 적용하시겠습니까?", - "alert.confirm-copyToChildrenGroup": "모든 하위 카테고리(상위 포함)에 해당되는 권한을 이 그룹에 적용하시겠습니까?", + "alert.confirm-copyToAll": "Are you sure you wish to apply this set of %1 to all categories?", + "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's set of %1 to all categories?", + "alert.confirm-copyToChildren": "Are you sure you wish to apply this set of %1 to all descendant (child) categories?", + "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's set of %1 to all descendant (child) categories?", "alert.no-undo": "이 행동은 되돌릴 수 없습니다.", - "alert.admin-warning": "관리자에게는 절대적인 권한이 부여됩니다." + "alert.admin-warning": "관리자에게는 절대적인 권한이 부여됩니다.", + "alert.copyPrivilegesFrom-title": "Select a category to copy from", + "alert.copyPrivilegesFrom-warning": "This will copy %1 from the selected category.", + "alert.copyPrivilegesFromGroup-warning": "This will copy this group's set of %1 from the selected category." } \ No newline at end of file diff --git a/public/language/ko/admin/manage/uploads.json b/public/language/ko/admin/manage/uploads.json index 09571e2fd8..e321e7f567 100644 --- a/public/language/ko/admin/manage/uploads.json +++ b/public/language/ko/admin/manage/uploads.json @@ -5,5 +5,7 @@ "orphaned": "미등록", "size/filecount": "크기 / 파일 수", "confirm-delete": "이 파일을 정말로 삭제하시겠습니까?", - "filecount": "%1 파일" + "filecount": "%1 파일", + "new-folder": "New Folder", + "name-new-folder": "Enter a name for new the folder" } \ No newline at end of file diff --git a/public/language/ko/error.json b/public/language/ko/error.json index 4e0c7e6769..5b09333f7d 100644 --- a/public/language/ko/error.json +++ b/public/language/ko/error.json @@ -25,12 +25,14 @@ "invalid-event": "올바르지 않은 이벤트: %1", "local-login-disabled": "권한이 없는 계정에서의 로컬 로그인이 비활성화 되었습니다.", "csrf-invalid": "세션이 만료되어 로그인에 실패하였습니다. 다시 시도해주세요.", + "invalid-path": "Invalid path", + "folder-exists": "Folder exists", "invalid-pagination-value": "올바르지 않은 페이지 값입니다. 최소 %1에서 최대 2% 사이로 설정해야 합니다.", "username-taken": "이미 사용 중인 사용자명입니다.", "email-taken": "이미 사용 중인 이메일입니다.", "email-nochange": "입력한 전자 메일이 이미 등록되어 있는 전자 메일과 동일합니다.", "email-invited": "해당 이메일의 사용자는 이미 초대되었습니다.", - "email-not-confirmed": "이메일 인증이 완료되기 전까지는 글을 작성할 수 없습니다. 여기를 눌러 이메일 인증을 진행해주세요.", + "email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.", "email-not-confirmed-chat": "아직 이메일이 인증되지 않아 채팅 기능을 사용할 수 없습니다. 여기를 눌러 이메일 인증을 진행하세요.", "email-not-confirmed-email-sent": "이메일 인증이 완료되지 않았습니다. 수신함에서 인증 메일을 확인해주세요. 인증이 완료되기 전까지는 글을 작성하거나 채팅 참여가 불가능합니다.", "no-email-to-confirm": "계정에 전자 메일 설정이 없습니다. 계정 복구를 위해 이메일이 필요합니다. 이메일을 입력하려면 여기를 클릭하십시오.", diff --git a/public/language/ko/topic.json b/public/language/ko/topic.json index 31982ac0d1..1804eb712e 100644 --- a/public/language/ko/topic.json +++ b/public/language/ko/topic.json @@ -21,6 +21,7 @@ "edit": "수정", "delete": "삭제", "delete-event": "Delete Event", + "delete-event-confirm": "Are you sure you want to delete this event?", "purge": "완전 삭제", "restore": "복원", "move": "이동", @@ -175,5 +176,6 @@ "timeago_later": "%1 이후", "timeago_earlier": "%1 이전", "first-post": "첫 포스트", - "last-post": "마지막 포스트" + "last-post": "마지막 포스트", + "post-quick-reply": "Post quick reply" } \ No newline at end of file diff --git a/public/language/ko/user.json b/public/language/ko/user.json index 17b554b0af..68fc02c4c7 100644 --- a/public/language/ko/user.json +++ b/public/language/ko/user.json @@ -98,6 +98,7 @@ "has_no_follower": "이 사용자는 팔로워가 없습니다 :(", "follows_no_one": "이 사용자는 아무도 팔로우하고 있지 않습니다 :(", "has_no_posts": "이 사용자가 작성한 포스트가 없습니다.", + "has_no_best_posts": "This user does not have any upvoted posts yet.", "has_no_topics": "이 사용자가 작성한 화제가 없습니다.", "has_no_watched_topics": "이 사용자가 관심 목록에 추가한 화제가 없습니다.", "has_no_ignored_topics": "이 사용자는 아직 무시 중인 화제가 없습니다.", diff --git a/public/language/lt/admin/manage/privileges.json b/public/language/lt/admin/manage/privileges.json index dcd49779f4..8b38b368cd 100644 --- a/public/language/lt/admin/manage/privileges.json +++ b/public/language/lt/admin/manage/privileges.json @@ -51,10 +51,13 @@ "alert.saved": "Privilege changes saved and applied", "alert.confirm-discard": "Are you sure you wish to discard your privilege changes?", "alert.discarded": "Privilege changes discarded", - "alert.confirm-copyToAll": "Are you sure you wish to apply this privilege set to all categories?", - "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to all categories?", - "alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to all descendant (child) categories?", - "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to all descendant (child) categories?", + "alert.confirm-copyToAll": "Are you sure you wish to apply this set of %1 to all categories?", + "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's set of %1 to all categories?", + "alert.confirm-copyToChildren": "Are you sure you wish to apply this set of %1 to all descendant (child) categories?", + "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's set of %1 to all descendant (child) categories?", "alert.no-undo": "This action cannot be undone.", - "alert.admin-warning": "Administrators implicitly get all privileges" + "alert.admin-warning": "Administrators implicitly get all privileges", + "alert.copyPrivilegesFrom-title": "Select a category to copy from", + "alert.copyPrivilegesFrom-warning": "This will copy %1 from the selected category.", + "alert.copyPrivilegesFromGroup-warning": "This will copy this group's set of %1 from the selected category." } \ No newline at end of file diff --git a/public/language/lt/admin/manage/uploads.json b/public/language/lt/admin/manage/uploads.json index 21bc8201fc..72a695ccdc 100644 --- a/public/language/lt/admin/manage/uploads.json +++ b/public/language/lt/admin/manage/uploads.json @@ -5,5 +5,7 @@ "orphaned": "Orphaned", "size/filecount": "Size / Filecount", "confirm-delete": "Do you really want to delete this file?", - "filecount": "%1 files" + "filecount": "%1 files", + "new-folder": "New Folder", + "name-new-folder": "Enter a name for new the folder" } \ No newline at end of file diff --git a/public/language/lt/error.json b/public/language/lt/error.json index eb15da643c..df9b8e9d42 100644 --- a/public/language/lt/error.json +++ b/public/language/lt/error.json @@ -25,12 +25,14 @@ "invalid-event": "Invalid event: %1", "local-login-disabled": "Vietinė prisijungimo sistema išjungta neprivilegijuotoms paskyroms.", "csrf-invalid": "Nepavyko jūsų prijungti tikriausiai dėl pasibaigusios sesijos. Bandykite dar kartą", + "invalid-path": "Invalid path", + "folder-exists": "Folder exists", "invalid-pagination-value": "Bloga puslapių išdėstymo reikšmė. Ji turėtų būti ne mažesnė nei %1 ir ne didesnė nei %2", "username-taken": "Vartotojo vardas jau užimtas", "email-taken": "El. pašto adresas jau užimtas", "email-nochange": "The email entered is the same as the email already on file.", "email-invited": "Email was already invited", - "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", + "email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.", "email-not-confirmed-chat": "Jūs negalite bendrauti, kol jūsų el.paštas nėra patvirtintas, prašome spausti čia kad aktyvuoti jūsų el.paštą", "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Your account does not have an email set. An email is necessary for account recovery. Please click here to enter an email.", diff --git a/public/language/lt/topic.json b/public/language/lt/topic.json index 4913d9e414..26cfa3d292 100644 --- a/public/language/lt/topic.json +++ b/public/language/lt/topic.json @@ -21,6 +21,7 @@ "edit": "Redaguoti", "delete": "Ištrinti", "delete-event": "Delete Event", + "delete-event-confirm": "Are you sure you want to delete this event?", "purge": "Išvalyti", "restore": "Atkurti", "move": "Perkelti", @@ -175,5 +176,6 @@ "timeago_later": "%1 later", "timeago_earlier": "%1 earlier", "first-post": "First post", - "last-post": "Last post" + "last-post": "Last post", + "post-quick-reply": "Post quick reply" } \ No newline at end of file diff --git a/public/language/lt/user.json b/public/language/lt/user.json index 3042b4594d..dcd1f0f102 100644 --- a/public/language/lt/user.json +++ b/public/language/lt/user.json @@ -98,6 +98,7 @@ "has_no_follower": "Šis vartotojas neturi jokių sekėjų :(", "follows_no_one": "Šis vartotojas nieko neseka :(", "has_no_posts": "Šis vartotojas pakolkas neparašė jokių pranešimų", + "has_no_best_posts": "This user does not have any upvoted posts yet.", "has_no_topics": "Šis vartotojas pakolkas nesukūrė jokių temų", "has_no_watched_topics": "Šis vartotojas pakolkas nestebėjo jokių temų", "has_no_ignored_topics": "This user hasn't ignored any topics yet.", diff --git a/public/language/lv/admin/manage/privileges.json b/public/language/lv/admin/manage/privileges.json index 622bf6d91e..f0cfbb8c21 100644 --- a/public/language/lv/admin/manage/privileges.json +++ b/public/language/lv/admin/manage/privileges.json @@ -51,10 +51,13 @@ "alert.saved": "Privilege changes saved and applied", "alert.confirm-discard": "Are you sure you wish to discard your privilege changes?", "alert.discarded": "Privilege changes discarded", - "alert.confirm-copyToAll": "Are you sure you wish to apply this privilege set to all categories?", - "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to all categories?", - "alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to all descendant (child) categories?", - "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to all descendant (child) categories?", + "alert.confirm-copyToAll": "Are you sure you wish to apply this set of %1 to all categories?", + "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's set of %1 to all categories?", + "alert.confirm-copyToChildren": "Are you sure you wish to apply this set of %1 to all descendant (child) categories?", + "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's set of %1 to all descendant (child) categories?", "alert.no-undo": "This action cannot be undone.", - "alert.admin-warning": "Administrators implicitly get all privileges" + "alert.admin-warning": "Administrators implicitly get all privileges", + "alert.copyPrivilegesFrom-title": "Select a category to copy from", + "alert.copyPrivilegesFrom-warning": "This will copy %1 from the selected category.", + "alert.copyPrivilegesFromGroup-warning": "This will copy this group's set of %1 from the selected category." } \ No newline at end of file diff --git a/public/language/lv/admin/manage/uploads.json b/public/language/lv/admin/manage/uploads.json index 21bc8201fc..72a695ccdc 100644 --- a/public/language/lv/admin/manage/uploads.json +++ b/public/language/lv/admin/manage/uploads.json @@ -5,5 +5,7 @@ "orphaned": "Orphaned", "size/filecount": "Size / Filecount", "confirm-delete": "Do you really want to delete this file?", - "filecount": "%1 files" + "filecount": "%1 files", + "new-folder": "New Folder", + "name-new-folder": "Enter a name for new the folder" } \ No newline at end of file diff --git a/public/language/lv/error.json b/public/language/lv/error.json index b4e5274d4b..b198b0273b 100644 --- a/public/language/lv/error.json +++ b/public/language/lv/error.json @@ -25,12 +25,14 @@ "invalid-event": "Invalid event: %1", "local-login-disabled": "Vietējā ielogošanās ir atspējota nepriviliģētiem kontiem.", "csrf-invalid": "Mēs nevarējām Tevi ielogot, iespējams, beigušās sesijas dēļ. Lūdzu, mēģināt vēlreiz", + "invalid-path": "Invalid path", + "folder-exists": "Folder exists", "invalid-pagination-value": "Nederīgs vienību skaits, ir jābūt vismaz %1 un ne vairāk kā %2", "username-taken": "Lietotājvārds jau izmantots", "email-taken": "E-pasta adrese jau izmantota", "email-nochange": "The email entered is the same as the email already on file.", "email-invited": "Email was already invited", - "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", + "email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.", "email-not-confirmed-chat": "Nevar sarunāties, kamēr Tava e-pasta adrese netiek apstiprināta, lūdzu, noklikšķini, lai apstiprinātu savu e-pasta adresi.", "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Your account does not have an email set. An email is necessary for account recovery. Please click here to enter an email.", diff --git a/public/language/lv/topic.json b/public/language/lv/topic.json index 1439d76703..2d7037ae73 100644 --- a/public/language/lv/topic.json +++ b/public/language/lv/topic.json @@ -21,6 +21,7 @@ "edit": "Rediģēt", "delete": "Izdzēst", "delete-event": "Delete Event", + "delete-event-confirm": "Are you sure you want to delete this event?", "purge": "Iztīrīt", "restore": "Atjaunot", "move": "Pārvietot", @@ -175,5 +176,6 @@ "timeago_later": "%1 later", "timeago_earlier": "%1 earlier", "first-post": "First post", - "last-post": "Last post" + "last-post": "Last post", + "post-quick-reply": "Post quick reply" } \ No newline at end of file diff --git a/public/language/lv/user.json b/public/language/lv/user.json index 435030e0c1..ec39476be5 100644 --- a/public/language/lv/user.json +++ b/public/language/lv/user.json @@ -98,6 +98,7 @@ "has_no_follower": "Šim lietotājam nav nevienu sekotāju :(", "follows_no_one": "Šis lietotājs neseko nevienam :(", "has_no_posts": "Lietotājs vēl nav neko rakstījis(-jusi).", + "has_no_best_posts": "This user does not have any upvoted posts yet.", "has_no_topics": "Lietotājs vēl nav izveidojis nevienu tematu.", "has_no_watched_topics": "Lietotājs vēl nav novērojis nevienu tematu.", "has_no_ignored_topics": "Lietotājs nav vēl ignorējis nevienu tematu.", diff --git a/public/language/ms/admin/manage/privileges.json b/public/language/ms/admin/manage/privileges.json index dcd49779f4..8b38b368cd 100644 --- a/public/language/ms/admin/manage/privileges.json +++ b/public/language/ms/admin/manage/privileges.json @@ -51,10 +51,13 @@ "alert.saved": "Privilege changes saved and applied", "alert.confirm-discard": "Are you sure you wish to discard your privilege changes?", "alert.discarded": "Privilege changes discarded", - "alert.confirm-copyToAll": "Are you sure you wish to apply this privilege set to all categories?", - "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to all categories?", - "alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to all descendant (child) categories?", - "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to all descendant (child) categories?", + "alert.confirm-copyToAll": "Are you sure you wish to apply this set of %1 to all categories?", + "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's set of %1 to all categories?", + "alert.confirm-copyToChildren": "Are you sure you wish to apply this set of %1 to all descendant (child) categories?", + "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's set of %1 to all descendant (child) categories?", "alert.no-undo": "This action cannot be undone.", - "alert.admin-warning": "Administrators implicitly get all privileges" + "alert.admin-warning": "Administrators implicitly get all privileges", + "alert.copyPrivilegesFrom-title": "Select a category to copy from", + "alert.copyPrivilegesFrom-warning": "This will copy %1 from the selected category.", + "alert.copyPrivilegesFromGroup-warning": "This will copy this group's set of %1 from the selected category." } \ No newline at end of file diff --git a/public/language/ms/admin/manage/uploads.json b/public/language/ms/admin/manage/uploads.json index 21bc8201fc..72a695ccdc 100644 --- a/public/language/ms/admin/manage/uploads.json +++ b/public/language/ms/admin/manage/uploads.json @@ -5,5 +5,7 @@ "orphaned": "Orphaned", "size/filecount": "Size / Filecount", "confirm-delete": "Do you really want to delete this file?", - "filecount": "%1 files" + "filecount": "%1 files", + "new-folder": "New Folder", + "name-new-folder": "Enter a name for new the folder" } \ No newline at end of file diff --git a/public/language/ms/error.json b/public/language/ms/error.json index 511f7e0542..f436510c21 100644 --- a/public/language/ms/error.json +++ b/public/language/ms/error.json @@ -25,12 +25,14 @@ "invalid-event": "Invalid event: %1", "local-login-disabled": "Local login system has been disabled for non-privileged accounts.", "csrf-invalid": "We were unable to log you in, likely due to an expired session. Please try again", + "invalid-path": "Invalid path", + "folder-exists": "Folder exists", "invalid-pagination-value": "Nombor halaman tidak sah, mesti tidak kurang dari %1 dan tidak lebih dari %2", "username-taken": "Nama pengguna telah digunakan", "email-taken": "Emel telah digunakan", "email-nochange": "The email entered is the same as the email already on file.", "email-invited": "Email was already invited", - "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", + "email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.", "email-not-confirmed-chat": "Anda tidak dibenarkan sembang sehingga emel disahkan, sila sahkan emel anda.", "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Your account does not have an email set. An email is necessary for account recovery. Please click here to enter an email.", diff --git a/public/language/ms/topic.json b/public/language/ms/topic.json index 58b641137d..210ced10e5 100644 --- a/public/language/ms/topic.json +++ b/public/language/ms/topic.json @@ -21,6 +21,7 @@ "edit": "Sunting", "delete": "Padamkan", "delete-event": "Delete Event", + "delete-event-confirm": "Are you sure you want to delete this event?", "purge": "Singkirkan", "restore": "Pulihkan", "move": "Pindahkan", @@ -175,5 +176,6 @@ "timeago_later": "%1 later", "timeago_earlier": "%1 earlier", "first-post": "First post", - "last-post": "Last post" + "last-post": "Last post", + "post-quick-reply": "Post quick reply" } \ No newline at end of file diff --git a/public/language/ms/user.json b/public/language/ms/user.json index 264284041a..71a56eeca3 100644 --- a/public/language/ms/user.json +++ b/public/language/ms/user.json @@ -98,6 +98,7 @@ "has_no_follower": "Pengguna ini tiada pengikut :(", "follows_no_one": "Pengguna ini tidak mengikuti sesiapa :(", "has_no_posts": "Pengguna ini belum menulis sebarang kiriman lagi.", + "has_no_best_posts": "This user does not have any upvoted posts yet.", "has_no_topics": "Pengguna ini belum menulis sebarang topik lagi.", "has_no_watched_topics": "Pengguna ini belum melanggan sebarang topik lagi.", "has_no_ignored_topics": "This user hasn't ignored any topics yet.", diff --git a/public/language/nb/admin/manage/privileges.json b/public/language/nb/admin/manage/privileges.json index dcd49779f4..8b38b368cd 100644 --- a/public/language/nb/admin/manage/privileges.json +++ b/public/language/nb/admin/manage/privileges.json @@ -51,10 +51,13 @@ "alert.saved": "Privilege changes saved and applied", "alert.confirm-discard": "Are you sure you wish to discard your privilege changes?", "alert.discarded": "Privilege changes discarded", - "alert.confirm-copyToAll": "Are you sure you wish to apply this privilege set to all categories?", - "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to all categories?", - "alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to all descendant (child) categories?", - "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to all descendant (child) categories?", + "alert.confirm-copyToAll": "Are you sure you wish to apply this set of %1 to all categories?", + "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's set of %1 to all categories?", + "alert.confirm-copyToChildren": "Are you sure you wish to apply this set of %1 to all descendant (child) categories?", + "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's set of %1 to all descendant (child) categories?", "alert.no-undo": "This action cannot be undone.", - "alert.admin-warning": "Administrators implicitly get all privileges" + "alert.admin-warning": "Administrators implicitly get all privileges", + "alert.copyPrivilegesFrom-title": "Select a category to copy from", + "alert.copyPrivilegesFrom-warning": "This will copy %1 from the selected category.", + "alert.copyPrivilegesFromGroup-warning": "This will copy this group's set of %1 from the selected category." } \ No newline at end of file diff --git a/public/language/nb/admin/manage/uploads.json b/public/language/nb/admin/manage/uploads.json index 21bc8201fc..72a695ccdc 100644 --- a/public/language/nb/admin/manage/uploads.json +++ b/public/language/nb/admin/manage/uploads.json @@ -5,5 +5,7 @@ "orphaned": "Orphaned", "size/filecount": "Size / Filecount", "confirm-delete": "Do you really want to delete this file?", - "filecount": "%1 files" + "filecount": "%1 files", + "new-folder": "New Folder", + "name-new-folder": "Enter a name for new the folder" } \ No newline at end of file diff --git a/public/language/nb/error.json b/public/language/nb/error.json index 208d0964a8..b8ad0e3b4c 100644 --- a/public/language/nb/error.json +++ b/public/language/nb/error.json @@ -25,12 +25,14 @@ "invalid-event": "Ugyldig hendelse: %1", "local-login-disabled": "Lokalt innloggingssystem har blitt deaktivert for ikke-privelegerte brukere", "csrf-invalid": "Vi kunne ikke logge deg inn, sannsynligvis på grunn av en utgått sesjon. Vennligst prøv igjen", + "invalid-path": "Invalid path", + "folder-exists": "Folder exists", "invalid-pagination-value": "Ugyldig sidetall, må være minst %1 og maks %2", "username-taken": "Brukernavn opptatt", "email-taken": "E-post opptatt", "email-nochange": "The email entered is the same as the email already on file.", "email-invited": "E-post har allerede fått invitasjon", - "email-not-confirmed": "Du kan ikke skrive innlegg før e-posten din er bekreftet, vennligst klikk her for å bekrefte din e-post.", + "email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.", "email-not-confirmed-chat": "Du kan ikke chatte før e-posten din er bekreftet, vennligst klikk her for å bekrefte e-postadressen.", "email-not-confirmed-email-sent": "Din e-post har enda ikke blitt bekreftet, vennligst sjekk innboksen din for bekreftelsesmailen. Du har ikke tilgang til å skrive innlegg eller chatte før e-posten din er bekreftet.", "no-email-to-confirm": "Your account does not have an email set. An email is necessary for account recovery. Please click here to enter an email.", diff --git a/public/language/nb/topic.json b/public/language/nb/topic.json index 58d97d1d57..b3f5912948 100644 --- a/public/language/nb/topic.json +++ b/public/language/nb/topic.json @@ -21,6 +21,7 @@ "edit": "Endre", "delete": "Slett", "delete-event": "Delete Event", + "delete-event-confirm": "Are you sure you want to delete this event?", "purge": "Rensk", "restore": "Gjenopprett", "move": "Flytt", @@ -175,5 +176,6 @@ "timeago_later": "%1 senere", "timeago_earlier": "%1 tidligere", "first-post": "Første innlegg", - "last-post": "Seneste innlegg" + "last-post": "Seneste innlegg", + "post-quick-reply": "Post quick reply" } \ No newline at end of file diff --git a/public/language/nb/user.json b/public/language/nb/user.json index a34d787b54..a55eaab12b 100644 --- a/public/language/nb/user.json +++ b/public/language/nb/user.json @@ -98,6 +98,7 @@ "has_no_follower": "Denne brukeren har ingen følgere :(", "follows_no_one": "Denne brukeren følger ingen :(", "has_no_posts": "Denne brukeren har ikke skrevet noe enda.", + "has_no_best_posts": "This user does not have any upvoted posts yet.", "has_no_topics": "Denne brukeren har ikke skrevet noen tråder enda.", "has_no_watched_topics": "Denne brukeren har ikke fulgt noen tråder enda.", "has_no_ignored_topics": "Denne brukeren har ikke ignorert noen emner ennå", diff --git a/public/language/nl/admin/manage/privileges.json b/public/language/nl/admin/manage/privileges.json index dcd49779f4..8b38b368cd 100644 --- a/public/language/nl/admin/manage/privileges.json +++ b/public/language/nl/admin/manage/privileges.json @@ -51,10 +51,13 @@ "alert.saved": "Privilege changes saved and applied", "alert.confirm-discard": "Are you sure you wish to discard your privilege changes?", "alert.discarded": "Privilege changes discarded", - "alert.confirm-copyToAll": "Are you sure you wish to apply this privilege set to all categories?", - "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to all categories?", - "alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to all descendant (child) categories?", - "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to all descendant (child) categories?", + "alert.confirm-copyToAll": "Are you sure you wish to apply this set of %1 to all categories?", + "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's set of %1 to all categories?", + "alert.confirm-copyToChildren": "Are you sure you wish to apply this set of %1 to all descendant (child) categories?", + "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's set of %1 to all descendant (child) categories?", "alert.no-undo": "This action cannot be undone.", - "alert.admin-warning": "Administrators implicitly get all privileges" + "alert.admin-warning": "Administrators implicitly get all privileges", + "alert.copyPrivilegesFrom-title": "Select a category to copy from", + "alert.copyPrivilegesFrom-warning": "This will copy %1 from the selected category.", + "alert.copyPrivilegesFromGroup-warning": "This will copy this group's set of %1 from the selected category." } \ No newline at end of file diff --git a/public/language/nl/admin/manage/uploads.json b/public/language/nl/admin/manage/uploads.json index 21bc8201fc..72a695ccdc 100644 --- a/public/language/nl/admin/manage/uploads.json +++ b/public/language/nl/admin/manage/uploads.json @@ -5,5 +5,7 @@ "orphaned": "Orphaned", "size/filecount": "Size / Filecount", "confirm-delete": "Do you really want to delete this file?", - "filecount": "%1 files" + "filecount": "%1 files", + "new-folder": "New Folder", + "name-new-folder": "Enter a name for new the folder" } \ No newline at end of file diff --git a/public/language/nl/error.json b/public/language/nl/error.json index 42c1d36212..79b8e2d3d8 100644 --- a/public/language/nl/error.json +++ b/public/language/nl/error.json @@ -25,12 +25,14 @@ "invalid-event": "Invalid event: %1", "local-login-disabled": "Het lokale login systeem is niet toegankelijk voor niet gerechtigde gebruikers.", "csrf-invalid": "We konden u niet aanmelden, waarschijnlijk door een verlopen sessie. Probeer het a.u.b. nogmaals.", + "invalid-path": "Invalid path", + "folder-exists": "Folder exists", "invalid-pagination-value": "Ongeldig paginering waarde. De waarde moet op z'n minst %1 zijn en niet hoger dan %2 zijn.", "username-taken": "Gebruikersnaam is al in gebruik ", "email-taken": "E-mailadres is al in gebruik", "email-nochange": "The email entered is the same as the email already on file.", "email-invited": "E-mail was reeds uitgenodigd", - "email-not-confirmed": "Het plaatsen van berichten is pas toegestaan na validatie van het e-mailadres.", + "email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.", "email-not-confirmed-chat": "Het gebruik van chatfunctionaliteit is pas toegestaan na validatie van het e-mailadres.", "email-not-confirmed-email-sent": "Je e-mailadres is nog niet bevestigd, kijk of je de bevestigingsmail hebt ontvangen. Tot je e-mailadres is bevestigd kun je geen berichten plaatsen of aan chats deelnemen.", "no-email-to-confirm": "Your account does not have an email set. An email is necessary for account recovery. Please click here to enter an email.", diff --git a/public/language/nl/topic.json b/public/language/nl/topic.json index cf4ab042d6..3097dcf09d 100644 --- a/public/language/nl/topic.json +++ b/public/language/nl/topic.json @@ -21,6 +21,7 @@ "edit": "Aanpassen", "delete": "Verwijderen", "delete-event": "Delete Event", + "delete-event-confirm": "Are you sure you want to delete this event?", "purge": "Opschonen", "restore": "Herstellen", "move": "Verplaatsen", @@ -175,5 +176,6 @@ "timeago_later": "%1 later", "timeago_earlier": "%1 eerder", "first-post": "First post", - "last-post": "Last post" + "last-post": "Last post", + "post-quick-reply": "Post quick reply" } \ No newline at end of file diff --git a/public/language/nl/user.json b/public/language/nl/user.json index 1845a11253..8c23f20862 100644 --- a/public/language/nl/user.json +++ b/public/language/nl/user.json @@ -98,6 +98,7 @@ "has_no_follower": "Deze gebruiker heeft geen volgers :(", "follows_no_one": "Deze gebruiker volgt niemand :(", "has_no_posts": "Deze gebruiker heeft nog geen berichten geplaatst", + "has_no_best_posts": "This user does not have any upvoted posts yet.", "has_no_topics": "Deze gebruiker heeft nog geen onderwerpen gestart.", "has_no_watched_topics": "Deze gebruiker heeft nog geen onderwerpen gevolgd.", "has_no_ignored_topics": "Deze gebruiker heeft nog geen berichten genegeerd.", diff --git a/public/language/pl/admin/manage/privileges.json b/public/language/pl/admin/manage/privileges.json index 7e60eb2bcd..2ad16ccb8e 100644 --- a/public/language/pl/admin/manage/privileges.json +++ b/public/language/pl/admin/manage/privileges.json @@ -51,10 +51,13 @@ "alert.saved": "Zapisano i zastosowano zmiany w uprawnieniach", "alert.confirm-discard": "Czy na pewno chcesz odrzucić wprowadzone zmiany w uprawnieniach?", "alert.discarded": "Odrzucono zmiany w uprawnieniach", - "alert.confirm-copyToAll": "Czy na pewno chcesz zastosować ten zbiór uprawnień dla wszystkich kategorii?", - "alert.confirm-copyToAllGroup": "Czy na pewno chcesz zastosować zbiór uprawnień tej grupy dla wszystkich kategorii?", - "alert.confirm-copyToChildren": "Czy na pewno chcesz zastosować ten zbiór uprawnień dla wszystkich podkategorii?", - "alert.confirm-copyToChildrenGroup": "Czy na pewno chcesz zastosować zbiór uprawnień tej grupy dla wszystkich podkategorii?", + "alert.confirm-copyToAll": "Are you sure you wish to apply this set of %1 to all categories?", + "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's set of %1 to all categories?", + "alert.confirm-copyToChildren": "Are you sure you wish to apply this set of %1 to all descendant (child) categories?", + "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's set of %1 to all descendant (child) categories?", "alert.no-undo": "Tej czynności nie można cofnąć.", - "alert.admin-warning": "Administratorzy domyślnie otrzymują wszelkie uprawnienia" + "alert.admin-warning": "Administratorzy domyślnie otrzymują wszelkie uprawnienia", + "alert.copyPrivilegesFrom-title": "Select a category to copy from", + "alert.copyPrivilegesFrom-warning": "This will copy %1 from the selected category.", + "alert.copyPrivilegesFromGroup-warning": "This will copy this group's set of %1 from the selected category." } \ No newline at end of file diff --git a/public/language/pl/admin/manage/uploads.json b/public/language/pl/admin/manage/uploads.json index 56a7433536..e3dd6c198c 100644 --- a/public/language/pl/admin/manage/uploads.json +++ b/public/language/pl/admin/manage/uploads.json @@ -5,5 +5,7 @@ "orphaned": "Osierocone", "size/filecount": "Rozmiar / Liczba plików", "confirm-delete": "Czy na pewno chcesz usunąć ten plik?", - "filecount": "%1 plików" + "filecount": "%1 plików", + "new-folder": "New Folder", + "name-new-folder": "Enter a name for new the folder" } \ No newline at end of file diff --git a/public/language/pl/error.json b/public/language/pl/error.json index 21cefdc10c..80b378c88c 100644 --- a/public/language/pl/error.json +++ b/public/language/pl/error.json @@ -25,12 +25,14 @@ "invalid-event": "Invalid event: %1", "local-login-disabled": "System lokalnego logowania został wyłączony dla kont bez uprawnień.", "csrf-invalid": "Logowanie nie powiodło się, zapewne na skutek wygaśnięcia sesji. Spróbuj ponownie.", + "invalid-path": "Invalid path", + "folder-exists": "Folder exists", "invalid-pagination-value": "Błędna wartość paginacji, zakres od %1 do %2", "username-taken": "Login zajęty", "email-taken": "Email zajęty", "email-nochange": "The email entered is the same as the email already on file.", "email-invited": "Email was already invited", - "email-not-confirmed": "Nie możesz opublikować, dopóki Twój adres e-mail nie zostanie potwierdzony, kliknij tutaj, aby potwierdzić swój adres e-mail.", + "email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.", "email-not-confirmed-chat": "Nie możesz prowadzić rozmów, dopóki twój email nie zostanie potwierdzony. Kliknij tutaj, aby potwierdzić swój email.", "email-not-confirmed-email-sent": "Twój e-mail nie został jeszcze potwierdzony, sprawdź swoją skrzynkę pocztową, aby znaleźć e-mail z potwierdzeniem. Nie będziesz mógł dodawać postów ani czatować, dopóki Twój adres e-mail nie zostanie potwierdzony.", "no-email-to-confirm": "Your account does not have an email set. An email is necessary for account recovery. Please click here to enter an email.", diff --git a/public/language/pl/topic.json b/public/language/pl/topic.json index 7a7f78131e..948784b2bb 100644 --- a/public/language/pl/topic.json +++ b/public/language/pl/topic.json @@ -21,6 +21,7 @@ "edit": "Edytuj", "delete": "Usuń", "delete-event": "Delete Event", + "delete-event-confirm": "Are you sure you want to delete this event?", "purge": "Wymaż", "restore": "Przywróć", "move": "Przenieś", @@ -175,5 +176,6 @@ "timeago_later": "%1 później", "timeago_earlier": "%1 wcześniej", "first-post": "First post", - "last-post": "Last post" + "last-post": "Last post", + "post-quick-reply": "Post quick reply" } \ No newline at end of file diff --git a/public/language/pl/user.json b/public/language/pl/user.json index b4c0a5eb0e..91476b411f 100644 --- a/public/language/pl/user.json +++ b/public/language/pl/user.json @@ -98,6 +98,7 @@ "has_no_follower": "Ten użytkownik nie ma jeszcze żadnych obserwujących", "follows_no_one": "Ten użytkownik jeszcze nikogo nie obserwuje", "has_no_posts": "Ten użytkownik nic jeszcze nie napisał.", + "has_no_best_posts": "This user does not have any upvoted posts yet.", "has_no_topics": "Ten użytkownik nie stworzył jeszcze żadnych tematów.", "has_no_watched_topics": "Ten użytkownik nie obserwuje jeszcze żadnych tematów.", "has_no_ignored_topics": "Użytkownik nie pominął jeszcze żadnego tematu.", diff --git a/public/language/pt-BR/admin/manage/privileges.json b/public/language/pt-BR/admin/manage/privileges.json index 9d3c7afd38..128ce942f8 100644 --- a/public/language/pt-BR/admin/manage/privileges.json +++ b/public/language/pt-BR/admin/manage/privileges.json @@ -51,10 +51,13 @@ "alert.saved": "Alterações de privilégio salvas e aplicadas", "alert.confirm-discard": "Você tem certeza que quer descartar suas mudanças nos privilégios?", "alert.discarded": "Mudanças de privilégio descartadas", - "alert.confirm-copyToAll": "Tem certeza de que deseja aplicar este conjunto de privilégios a todas as categorias?", - "alert.confirm-copyToAllGroup": "Tem certeza de que deseja aplicar o conjunto de privilégios deste grupo a todas as categorias?", - "alert.confirm-copyToChildren": "Tem certeza de que deseja aplicar este conjunto de privilégios a todas as categorias descendentes (filhos)?", - "alert.confirm-copyToChildrenGroup": "Tem certeza de que deseja aplicar o conjunto de privilégios deste grupo a todas as categorias descendentes (filhos)?", + "alert.confirm-copyToAll": "Are you sure you wish to apply this set of %1 to all categories?", + "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's set of %1 to all categories?", + "alert.confirm-copyToChildren": "Are you sure you wish to apply this set of %1 to all descendant (child) categories?", + "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's set of %1 to all descendant (child) categories?", "alert.no-undo": "Esta ação não pode ser desfeita.", - "alert.admin-warning": "Os administradores obtêm implicitamente todos os privilégios" + "alert.admin-warning": "Os administradores obtêm implicitamente todos os privilégios", + "alert.copyPrivilegesFrom-title": "Select a category to copy from", + "alert.copyPrivilegesFrom-warning": "This will copy %1 from the selected category.", + "alert.copyPrivilegesFromGroup-warning": "This will copy this group's set of %1 from the selected category." } \ No newline at end of file diff --git a/public/language/pt-BR/admin/manage/uploads.json b/public/language/pt-BR/admin/manage/uploads.json index 60db7bfc02..32fc6a1860 100644 --- a/public/language/pt-BR/admin/manage/uploads.json +++ b/public/language/pt-BR/admin/manage/uploads.json @@ -5,5 +5,7 @@ "orphaned": "Orphaned", "size/filecount": "Tamanho / Quantidade de arquivos", "confirm-delete": "Você tem certeza de que deseja deletar este arquivo?", - "filecount": "%1 arquivos" + "filecount": "%1 arquivos", + "new-folder": "New Folder", + "name-new-folder": "Enter a name for new the folder" } \ No newline at end of file diff --git a/public/language/pt-BR/error.json b/public/language/pt-BR/error.json index 0e403a6cf0..42bd09c915 100644 --- a/public/language/pt-BR/error.json +++ b/public/language/pt-BR/error.json @@ -25,12 +25,14 @@ "invalid-event": "Evento inválido: %1", "local-login-disabled": "O sistema de login local foi desativado para contas sem privilégios.", "csrf-invalid": "Não foi possível realizar o seu login, provavelmente porque a sua sessão expirou. Por favor, tente novamente.", + "invalid-path": "Invalid path", + "folder-exists": "Folder exists", "invalid-pagination-value": "Valor de paginação inválido, precisa ser no mínimo %1 e no máximo %2", "username-taken": "Nome de usuário já existe", "email-taken": "Email já cadastrado", "email-nochange": "The email entered is the same as the email already on file.", "email-invited": "O email já foi convidado", - "email-not-confirmed": "Você não poderá postar até que seu e-mail seja confirmado, clique aqui para confirmar seu e-mail.", + "email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.", "email-not-confirmed-chat": "Você não está habilitado a conversar até que seu email seja confirmado, por favor clique aqui para confirmar seu email.", "email-not-confirmed-email-sent": "Seu e-mail ainda não foi confirmado, verifique sua caixa de entrada para o e-mail de confirmação. Você não poderá postar ou usar o chat até que seu e-mail seja confirmado.", "no-email-to-confirm": "Sua conta não tem um email definido. Um email é necessário para recuperação de conta. Clique aqui para definir um email.", diff --git a/public/language/pt-BR/topic.json b/public/language/pt-BR/topic.json index 594165a6d4..92b525a5e2 100644 --- a/public/language/pt-BR/topic.json +++ b/public/language/pt-BR/topic.json @@ -21,6 +21,7 @@ "edit": "Editar", "delete": "Deletar", "delete-event": "Delete Event", + "delete-event-confirm": "Are you sure you want to delete this event?", "purge": "Expurgar", "restore": "Restaurar", "move": "Mover", @@ -175,5 +176,6 @@ "timeago_later": "%1 depois", "timeago_earlier": "%1 mais cedo", "first-post": "Primeiro post", - "last-post": "Último post" + "last-post": "Último post", + "post-quick-reply": "Post quick reply" } \ No newline at end of file diff --git a/public/language/pt-BR/user.json b/public/language/pt-BR/user.json index 190f90e8d2..102aa0fbfe 100644 --- a/public/language/pt-BR/user.json +++ b/public/language/pt-BR/user.json @@ -98,6 +98,7 @@ "has_no_follower": "Este usuário não possui seguidores :(", "follows_no_one": "Este usuário não está seguindo ninguém :(", "has_no_posts": "Esse usuário ainda não postou nada.", + "has_no_best_posts": "This user does not have any upvoted posts yet.", "has_no_topics": "Esse usuário ainda não postou quaisquer tópicos.", "has_no_watched_topics": "Esse usuário ainda não acompanhou quaisquer tópicos.", "has_no_ignored_topics": "O usuário ainda não ignorou nenhum tópico.", diff --git a/public/language/pt-PT/admin/manage/privileges.json b/public/language/pt-PT/admin/manage/privileges.json index e64d3a2ee1..ba991846f3 100644 --- a/public/language/pt-PT/admin/manage/privileges.json +++ b/public/language/pt-PT/admin/manage/privileges.json @@ -51,10 +51,13 @@ "alert.saved": "Privilege changes saved and applied", "alert.confirm-discard": "Are you sure you wish to discard your privilege changes?", "alert.discarded": "Privilege changes discarded", - "alert.confirm-copyToAll": "Are you sure you wish to apply this privilege set to all categories?", - "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to all categories?", - "alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to all descendant (child) categories?", - "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to all descendant (child) categories?", + "alert.confirm-copyToAll": "Are you sure you wish to apply this set of %1 to all categories?", + "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's set of %1 to all categories?", + "alert.confirm-copyToChildren": "Are you sure you wish to apply this set of %1 to all descendant (child) categories?", + "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's set of %1 to all descendant (child) categories?", "alert.no-undo": "This action cannot be undone.", - "alert.admin-warning": "Administrators implicitly get all privileges" + "alert.admin-warning": "Administrators implicitly get all privileges", + "alert.copyPrivilegesFrom-title": "Select a category to copy from", + "alert.copyPrivilegesFrom-warning": "This will copy %1 from the selected category.", + "alert.copyPrivilegesFromGroup-warning": "This will copy this group's set of %1 from the selected category." } \ No newline at end of file diff --git a/public/language/pt-PT/admin/manage/uploads.json b/public/language/pt-PT/admin/manage/uploads.json index cc9b698349..86116ed5e4 100644 --- a/public/language/pt-PT/admin/manage/uploads.json +++ b/public/language/pt-PT/admin/manage/uploads.json @@ -5,5 +5,7 @@ "orphaned": "Órfão", "size/filecount": "Tamanho / Contador de Ficheiros", "confirm-delete": "Tens a certeza que pretendes apagar este ficheiro?", - "filecount": "%1 ficheiros" + "filecount": "%1 ficheiros", + "new-folder": "New Folder", + "name-new-folder": "Enter a name for new the folder" } \ No newline at end of file diff --git a/public/language/pt-PT/error.json b/public/language/pt-PT/error.json index d01399622b..3c960870db 100644 --- a/public/language/pt-PT/error.json +++ b/public/language/pt-PT/error.json @@ -25,12 +25,14 @@ "invalid-event": "Invalid event: %1", "local-login-disabled": "Local login system has been disabled for non-privileged accounts.", "csrf-invalid": "Não conseguimos iniciar a tua sessão, provavelmente devido a uma sessão que já expirou. Por favor, tenta novamente", + "invalid-path": "Invalid path", + "folder-exists": "Folder exists", "invalid-pagination-value": "Valor de paginação errado, deve ser no mínimo %1 e no máximo %2", "username-taken": "Nome de utilizar já utilizado", "email-taken": "E-mail já utilizado", "email-nochange": "The email entered is the same as the email already on file.", "email-invited": "Email was already invited", - "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", + "email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.", "email-not-confirmed-chat": "Não podes utilizar o chat enquanto não confirmares o teu e-mail, por favor clica aqui para confirmares o teu e-mail.", "email-not-confirmed-email-sent": "O teu e-mail ainda não foi confirmado, por favor verifica a tua caixa de entrada para obteres o e-mail de confirmação. Não poderás publicar ou conversar até que o teu e-mail seja confirmado.", "no-email-to-confirm": "Your account does not have an email set. An email is necessary for account recovery. Please click here to enter an email.", diff --git a/public/language/pt-PT/topic.json b/public/language/pt-PT/topic.json index a4170e1c54..395192641d 100644 --- a/public/language/pt-PT/topic.json +++ b/public/language/pt-PT/topic.json @@ -21,6 +21,7 @@ "edit": "Editar", "delete": "Apagar", "delete-event": "Delete Event", + "delete-event-confirm": "Are you sure you want to delete this event?", "purge": "Eliminar", "restore": "Restaurar", "move": "Mover", @@ -175,5 +176,6 @@ "timeago_later": "%1 depois", "timeago_earlier": "%1 antes", "first-post": "First post", - "last-post": "Last post" + "last-post": "Last post", + "post-quick-reply": "Post quick reply" } \ No newline at end of file diff --git a/public/language/pt-PT/user.json b/public/language/pt-PT/user.json index 2097c5256f..003633ab72 100644 --- a/public/language/pt-PT/user.json +++ b/public/language/pt-PT/user.json @@ -98,6 +98,7 @@ "has_no_follower": "Este utilizador não tem nenhum seguidor :(", "follows_no_one": "Este utilizador não está a seguir ninguém :(", "has_no_posts": "Este utilizador ainda não publicou nada.", + "has_no_best_posts": "This user does not have any upvoted posts yet.", "has_no_topics": "Este utilizar ainda não publicou nenhum tópico.", "has_no_watched_topics": "Este utilizador ainda não subscreveu nenhum tópico até ao momento.", "has_no_ignored_topics": "Este utilizador ainda não ignorou nenhum tópico.", diff --git a/public/language/ro/admin/manage/privileges.json b/public/language/ro/admin/manage/privileges.json index dcd49779f4..8b38b368cd 100644 --- a/public/language/ro/admin/manage/privileges.json +++ b/public/language/ro/admin/manage/privileges.json @@ -51,10 +51,13 @@ "alert.saved": "Privilege changes saved and applied", "alert.confirm-discard": "Are you sure you wish to discard your privilege changes?", "alert.discarded": "Privilege changes discarded", - "alert.confirm-copyToAll": "Are you sure you wish to apply this privilege set to all categories?", - "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to all categories?", - "alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to all descendant (child) categories?", - "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to all descendant (child) categories?", + "alert.confirm-copyToAll": "Are you sure you wish to apply this set of %1 to all categories?", + "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's set of %1 to all categories?", + "alert.confirm-copyToChildren": "Are you sure you wish to apply this set of %1 to all descendant (child) categories?", + "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's set of %1 to all descendant (child) categories?", "alert.no-undo": "This action cannot be undone.", - "alert.admin-warning": "Administrators implicitly get all privileges" + "alert.admin-warning": "Administrators implicitly get all privileges", + "alert.copyPrivilegesFrom-title": "Select a category to copy from", + "alert.copyPrivilegesFrom-warning": "This will copy %1 from the selected category.", + "alert.copyPrivilegesFromGroup-warning": "This will copy this group's set of %1 from the selected category." } \ No newline at end of file diff --git a/public/language/ro/admin/manage/uploads.json b/public/language/ro/admin/manage/uploads.json index 21bc8201fc..72a695ccdc 100644 --- a/public/language/ro/admin/manage/uploads.json +++ b/public/language/ro/admin/manage/uploads.json @@ -5,5 +5,7 @@ "orphaned": "Orphaned", "size/filecount": "Size / Filecount", "confirm-delete": "Do you really want to delete this file?", - "filecount": "%1 files" + "filecount": "%1 files", + "new-folder": "New Folder", + "name-new-folder": "Enter a name for new the folder" } \ No newline at end of file diff --git a/public/language/ro/error.json b/public/language/ro/error.json index 939f4263a9..ab5ba55acd 100644 --- a/public/language/ro/error.json +++ b/public/language/ro/error.json @@ -25,12 +25,14 @@ "invalid-event": "Invalid event: %1", "local-login-disabled": "Local login system has been disabled for non-privileged accounts.", "csrf-invalid": "We were unable to log you in, likely due to an expired session. Please try again", + "invalid-path": "Invalid path", + "folder-exists": "Folder exists", "invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2", "username-taken": "Numele de utilizator este deja folosit", "email-taken": "Adresa de email este deja folostă", "email-nochange": "The email entered is the same as the email already on file.", "email-invited": "Email was already invited", - "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", + "email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.", "email-not-confirmed-chat": "Nu vei putea trimite mesaje daca email-ul tau nu e confirmat, click aici sa il confirmi.", "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Your account does not have an email set. An email is necessary for account recovery. Please click here to enter an email.", diff --git a/public/language/ro/topic.json b/public/language/ro/topic.json index 9c97b22113..a8dd3ac675 100644 --- a/public/language/ro/topic.json +++ b/public/language/ro/topic.json @@ -21,6 +21,7 @@ "edit": "Editează", "delete": "Șterge", "delete-event": "Delete Event", + "delete-event-confirm": "Are you sure you want to delete this event?", "purge": "Curăță", "restore": "Restaurează", "move": "Mută", @@ -175,5 +176,6 @@ "timeago_later": "%1 later", "timeago_earlier": "%1 earlier", "first-post": "First post", - "last-post": "Last post" + "last-post": "Last post", + "post-quick-reply": "Post quick reply" } \ No newline at end of file diff --git a/public/language/ro/user.json b/public/language/ro/user.json index 5b8bb273eb..7293421e86 100644 --- a/public/language/ro/user.json +++ b/public/language/ro/user.json @@ -98,6 +98,7 @@ "has_no_follower": "Pe acest utilizator nu îl urmărește nimeni :(", "follows_no_one": "Acest utilizator nu urmărește pe nimeni :(", "has_no_posts": "This user hasn't posted anything yet.", + "has_no_best_posts": "This user does not have any upvoted posts yet.", "has_no_topics": "This user hasn't posted any topics yet.", "has_no_watched_topics": "This user hasn't watched any topics yet.", "has_no_ignored_topics": "This user hasn't ignored any topics yet.", diff --git a/public/language/ru/admin/manage/privileges.json b/public/language/ru/admin/manage/privileges.json index bf126d7c2a..9d0b3188fc 100644 --- a/public/language/ru/admin/manage/privileges.json +++ b/public/language/ru/admin/manage/privileges.json @@ -51,10 +51,13 @@ "alert.saved": "Изменения прав доступа сохранены и применены", "alert.confirm-discard": "Are you sure you wish to discard your privilege changes?", "alert.discarded": "Изменения прав доступа отменены", - "alert.confirm-copyToAll": "Вы уверены, что хотите применить этот набор привилегий ко всем категориям?", - "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to all categories?", - "alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to all descendant (child) categories?", - "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to all descendant (child) categories?", + "alert.confirm-copyToAll": "Are you sure you wish to apply this set of %1 to all categories?", + "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's set of %1 to all categories?", + "alert.confirm-copyToChildren": "Are you sure you wish to apply this set of %1 to all descendant (child) categories?", + "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's set of %1 to all descendant (child) categories?", "alert.no-undo": "Это действие не может быть отменено.", - "alert.admin-warning": "Изначально Администраторы получают все привилегии" + "alert.admin-warning": "Изначально Администраторы получают все привилегии", + "alert.copyPrivilegesFrom-title": "Select a category to copy from", + "alert.copyPrivilegesFrom-warning": "This will copy %1 from the selected category.", + "alert.copyPrivilegesFromGroup-warning": "This will copy this group's set of %1 from the selected category." } \ No newline at end of file diff --git a/public/language/ru/admin/manage/uploads.json b/public/language/ru/admin/manage/uploads.json index 0b0dd240ac..2514655a9b 100644 --- a/public/language/ru/admin/manage/uploads.json +++ b/public/language/ru/admin/manage/uploads.json @@ -5,5 +5,7 @@ "orphaned": "Отделенный", "size/filecount": "Размер / Файлов", "confirm-delete": "Вы действительно хотите удалить этот файл?", - "filecount": "%1 файлов" + "filecount": "%1 файлов", + "new-folder": "New Folder", + "name-new-folder": "Enter a name for new the folder" } \ No newline at end of file diff --git a/public/language/ru/error.json b/public/language/ru/error.json index 00e5ede901..63b9b3f179 100644 --- a/public/language/ru/error.json +++ b/public/language/ru/error.json @@ -25,12 +25,14 @@ "invalid-event": "Недействительное событие: %1", "local-login-disabled": "Локальная система входа отключена для не-привилегированных учетных записей.", "csrf-invalid": "Нам не удалось вас найти из-за просроченной сессии. Попробуйте ещё раз.", + "invalid-path": "Invalid path", + "folder-exists": "Folder exists", "invalid-pagination-value": "Неправильно указан номер страницы. Значение должно быть в диапазоне от %1 до %2", "username-taken": "Это имя пользователя уже занято", "email-taken": "Пользователь с таким адресом электронной почты уже зарегистрирован", "email-nochange": "The email entered is the same as the email already on file.", "email-invited": "Электронная почта уже была приглашена", - "email-not-confirmed": "Вы не сможете отправлять сообщения, пока ваш адрес электронной почты не подтверждён. Пожалуйста, нажмите здесь, чтобы подтвердить его.", + "email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.", "email-not-confirmed-chat": "Вы не можете оставлять сообщения, пока ваша электронная почта не подтверждена. Отправить письмо с кодом подтверждения повторно.", "email-not-confirmed-email-sent": "Ваш адрес электронной почты ещё не подтверждён. Пожалуйста, проверьте ваш почтовый ящик и пройдите по ссылке в письме с кодом подтверждения. Пока ваш e-mail не подтверждён, вы не можете пользоваться чатом или публиковать сообщения.", "no-email-to-confirm": "Your account does not have an email set. An email is necessary for account recovery. Please click here to enter an email.", diff --git a/public/language/ru/topic.json b/public/language/ru/topic.json index 799ac3feae..141f7b2d9e 100644 --- a/public/language/ru/topic.json +++ b/public/language/ru/topic.json @@ -21,6 +21,7 @@ "edit": "Изменить", "delete": "Удалить", "delete-event": "Delete Event", + "delete-event-confirm": "Are you sure you want to delete this event?", "purge": "Стереть", "restore": "Восстановить", "move": "Перенести", @@ -175,5 +176,6 @@ "timeago_later": "через %1", "timeago_earlier": "на %1 раньше", "first-post": "Первое сообщение", - "last-post": "Последнее сообщение" + "last-post": "Последнее сообщение", + "post-quick-reply": "Post quick reply" } \ No newline at end of file diff --git a/public/language/ru/user.json b/public/language/ru/user.json index afa702265a..f7eac3da49 100644 --- a/public/language/ru/user.json +++ b/public/language/ru/user.json @@ -98,6 +98,7 @@ "has_no_follower": "На этого пользователя никто не подписан :(", "follows_no_one": "Этот пользователь ни на кого не подписан :(", "has_no_posts": "Этот пользователь ещё ничего не написал.", + "has_no_best_posts": "This user does not have any upvoted posts yet.", "has_no_topics": "Этот пользователь ещё не создал ни одной темы.", "has_no_watched_topics": "Этот пользователь не отслеживает ни одной темы.", "has_no_ignored_topics": "Этот пользователь не игнорирует ни одну тему.", diff --git a/public/language/rw/admin/manage/privileges.json b/public/language/rw/admin/manage/privileges.json index dcd49779f4..8b38b368cd 100644 --- a/public/language/rw/admin/manage/privileges.json +++ b/public/language/rw/admin/manage/privileges.json @@ -51,10 +51,13 @@ "alert.saved": "Privilege changes saved and applied", "alert.confirm-discard": "Are you sure you wish to discard your privilege changes?", "alert.discarded": "Privilege changes discarded", - "alert.confirm-copyToAll": "Are you sure you wish to apply this privilege set to all categories?", - "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to all categories?", - "alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to all descendant (child) categories?", - "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to all descendant (child) categories?", + "alert.confirm-copyToAll": "Are you sure you wish to apply this set of %1 to all categories?", + "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's set of %1 to all categories?", + "alert.confirm-copyToChildren": "Are you sure you wish to apply this set of %1 to all descendant (child) categories?", + "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's set of %1 to all descendant (child) categories?", "alert.no-undo": "This action cannot be undone.", - "alert.admin-warning": "Administrators implicitly get all privileges" + "alert.admin-warning": "Administrators implicitly get all privileges", + "alert.copyPrivilegesFrom-title": "Select a category to copy from", + "alert.copyPrivilegesFrom-warning": "This will copy %1 from the selected category.", + "alert.copyPrivilegesFromGroup-warning": "This will copy this group's set of %1 from the selected category." } \ No newline at end of file diff --git a/public/language/rw/admin/manage/uploads.json b/public/language/rw/admin/manage/uploads.json index 21bc8201fc..72a695ccdc 100644 --- a/public/language/rw/admin/manage/uploads.json +++ b/public/language/rw/admin/manage/uploads.json @@ -5,5 +5,7 @@ "orphaned": "Orphaned", "size/filecount": "Size / Filecount", "confirm-delete": "Do you really want to delete this file?", - "filecount": "%1 files" + "filecount": "%1 files", + "new-folder": "New Folder", + "name-new-folder": "Enter a name for new the folder" } \ No newline at end of file diff --git a/public/language/rw/error.json b/public/language/rw/error.json index 392b2edbeb..7b9d56fc4e 100644 --- a/public/language/rw/error.json +++ b/public/language/rw/error.json @@ -25,12 +25,14 @@ "invalid-event": "Invalid event: %1", "local-login-disabled": "Local login system has been disabled for non-privileged accounts.", "csrf-invalid": "We were unable to log you in, likely due to an expired session. Please try again", + "invalid-path": "Invalid path", + "folder-exists": "Folder exists", "invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2", "username-taken": "Izina ryarafashwe mbere", "email-taken": "Email yarafashwe mbere", "email-nochange": "The email entered is the same as the email already on file.", "email-invited": "Email was already invited", - "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", + "email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.", "email-not-confirmed-chat": "Ntabwo uremererwa kuganirira mu gikari kuko email yawe itari yemezwa. Kanda hano kugirango wemeze email yawe. ", "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Your account does not have an email set. An email is necessary for account recovery. Please click here to enter an email.", diff --git a/public/language/rw/topic.json b/public/language/rw/topic.json index 911e6211eb..925eb85ae9 100644 --- a/public/language/rw/topic.json +++ b/public/language/rw/topic.json @@ -21,6 +21,7 @@ "edit": "Hinduraho", "delete": "Siba", "delete-event": "Delete Event", + "delete-event-confirm": "Are you sure you want to delete this event?", "purge": "Sibanganya", "restore": "Garuraho", "move": "Imura", @@ -175,5 +176,6 @@ "timeago_later": "%1 later", "timeago_earlier": "%1 earlier", "first-post": "First post", - "last-post": "Last post" + "last-post": "Last post", + "post-quick-reply": "Post quick reply" } \ No newline at end of file diff --git a/public/language/rw/user.json b/public/language/rw/user.json index 92de6e2641..8235f4f6e9 100644 --- a/public/language/rw/user.json +++ b/public/language/rw/user.json @@ -98,6 +98,7 @@ "has_no_follower": "Uyu muntu ntabwo afite abamukurikira :(", "follows_no_one": "Uyu muntu ntabwo akurikira umuntu numwe :(", "has_no_posts": "Uyu muntu nta kintu arashyiraho. ", + "has_no_best_posts": "This user does not have any upvoted posts yet.", "has_no_topics": "Uyu muntu nta kiganiro aratangiza na kimwe. ", "has_no_watched_topics": "Uyu muntu ntabwo arakurikira ikiganiro na kimwe.", "has_no_ignored_topics": "This user hasn't ignored any topics yet.", diff --git a/public/language/sc/admin/manage/privileges.json b/public/language/sc/admin/manage/privileges.json index dcd49779f4..8b38b368cd 100644 --- a/public/language/sc/admin/manage/privileges.json +++ b/public/language/sc/admin/manage/privileges.json @@ -51,10 +51,13 @@ "alert.saved": "Privilege changes saved and applied", "alert.confirm-discard": "Are you sure you wish to discard your privilege changes?", "alert.discarded": "Privilege changes discarded", - "alert.confirm-copyToAll": "Are you sure you wish to apply this privilege set to all categories?", - "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to all categories?", - "alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to all descendant (child) categories?", - "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to all descendant (child) categories?", + "alert.confirm-copyToAll": "Are you sure you wish to apply this set of %1 to all categories?", + "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's set of %1 to all categories?", + "alert.confirm-copyToChildren": "Are you sure you wish to apply this set of %1 to all descendant (child) categories?", + "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's set of %1 to all descendant (child) categories?", "alert.no-undo": "This action cannot be undone.", - "alert.admin-warning": "Administrators implicitly get all privileges" + "alert.admin-warning": "Administrators implicitly get all privileges", + "alert.copyPrivilegesFrom-title": "Select a category to copy from", + "alert.copyPrivilegesFrom-warning": "This will copy %1 from the selected category.", + "alert.copyPrivilegesFromGroup-warning": "This will copy this group's set of %1 from the selected category." } \ No newline at end of file diff --git a/public/language/sc/admin/manage/uploads.json b/public/language/sc/admin/manage/uploads.json index 21bc8201fc..72a695ccdc 100644 --- a/public/language/sc/admin/manage/uploads.json +++ b/public/language/sc/admin/manage/uploads.json @@ -5,5 +5,7 @@ "orphaned": "Orphaned", "size/filecount": "Size / Filecount", "confirm-delete": "Do you really want to delete this file?", - "filecount": "%1 files" + "filecount": "%1 files", + "new-folder": "New Folder", + "name-new-folder": "Enter a name for new the folder" } \ No newline at end of file diff --git a/public/language/sc/error.json b/public/language/sc/error.json index d4a252df72..b806ec9367 100644 --- a/public/language/sc/error.json +++ b/public/language/sc/error.json @@ -25,12 +25,14 @@ "invalid-event": "Invalid event: %1", "local-login-disabled": "Local login system has been disabled for non-privileged accounts.", "csrf-invalid": "We were unable to log you in, likely due to an expired session. Please try again", + "invalid-path": "Invalid path", + "folder-exists": "Folder exists", "invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2", "username-taken": "Username taken", "email-taken": "Email taken", "email-nochange": "The email entered is the same as the email already on file.", "email-invited": "Email was already invited", - "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", + "email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.", "email-not-confirmed-chat": "You are unable to chat until your email is confirmed, please click here to confirm your email.", "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Your account does not have an email set. An email is necessary for account recovery. Please click here to enter an email.", diff --git a/public/language/sc/topic.json b/public/language/sc/topic.json index 14ecc6fad6..16d6bebb47 100644 --- a/public/language/sc/topic.json +++ b/public/language/sc/topic.json @@ -21,6 +21,7 @@ "edit": "Acontza", "delete": "Contzella", "delete-event": "Delete Event", + "delete-event-confirm": "Are you sure you want to delete this event?", "purge": "Purge", "restore": "Torra", "move": "Move", @@ -175,5 +176,6 @@ "timeago_later": "%1 later", "timeago_earlier": "%1 earlier", "first-post": "First post", - "last-post": "Last post" + "last-post": "Last post", + "post-quick-reply": "Post quick reply" } \ No newline at end of file diff --git a/public/language/sc/user.json b/public/language/sc/user.json index 650dfe896b..75bb5d915a 100644 --- a/public/language/sc/user.json +++ b/public/language/sc/user.json @@ -98,6 +98,7 @@ "has_no_follower": "Custu impitadore non tenet perunu sighidore :(", "follows_no_one": "Custu impitadore no est sighende nissunu :(", "has_no_posts": "This user hasn't posted anything yet.", + "has_no_best_posts": "This user does not have any upvoted posts yet.", "has_no_topics": "This user hasn't posted any topics yet.", "has_no_watched_topics": "This user hasn't watched any topics yet.", "has_no_ignored_topics": "This user hasn't ignored any topics yet.", diff --git a/public/language/sk/admin/manage/privileges.json b/public/language/sk/admin/manage/privileges.json index c091d661b2..598d668366 100644 --- a/public/language/sk/admin/manage/privileges.json +++ b/public/language/sk/admin/manage/privileges.json @@ -51,10 +51,13 @@ "alert.saved": "Privilege changes saved and applied", "alert.confirm-discard": "Are you sure you wish to discard your privilege changes?", "alert.discarded": "Privilege changes discarded", - "alert.confirm-copyToAll": "Are you sure you wish to apply this privilege set to all categories?", - "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to all categories?", - "alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to all descendant (child) categories?", - "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to all descendant (child) categories?", + "alert.confirm-copyToAll": "Are you sure you wish to apply this set of %1 to all categories?", + "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's set of %1 to all categories?", + "alert.confirm-copyToChildren": "Are you sure you wish to apply this set of %1 to all descendant (child) categories?", + "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's set of %1 to all descendant (child) categories?", "alert.no-undo": "This action cannot be undone.", - "alert.admin-warning": "Administrators implicitly get all privileges" + "alert.admin-warning": "Administrators implicitly get all privileges", + "alert.copyPrivilegesFrom-title": "Select a category to copy from", + "alert.copyPrivilegesFrom-warning": "This will copy %1 from the selected category.", + "alert.copyPrivilegesFromGroup-warning": "This will copy this group's set of %1 from the selected category." } \ No newline at end of file diff --git a/public/language/sk/admin/manage/uploads.json b/public/language/sk/admin/manage/uploads.json index 21bc8201fc..72a695ccdc 100644 --- a/public/language/sk/admin/manage/uploads.json +++ b/public/language/sk/admin/manage/uploads.json @@ -5,5 +5,7 @@ "orphaned": "Orphaned", "size/filecount": "Size / Filecount", "confirm-delete": "Do you really want to delete this file?", - "filecount": "%1 files" + "filecount": "%1 files", + "new-folder": "New Folder", + "name-new-folder": "Enter a name for new the folder" } \ No newline at end of file diff --git a/public/language/sk/error.json b/public/language/sk/error.json index 0bce476207..a8e8e29498 100644 --- a/public/language/sk/error.json +++ b/public/language/sk/error.json @@ -25,12 +25,14 @@ "invalid-event": "Invalid event: %1", "local-login-disabled": "Systém prihlásenia pre miestne účty bol zablokovaný pre neoprávnené účty.", "csrf-invalid": "Nie sme schopný Vás znova prihlásiť, pravdepodobne kvôli uplynutiu relácie. Zopakujte to neskôr prosím.", + "invalid-path": "Invalid path", + "folder-exists": "Folder exists", "invalid-pagination-value": "Neplatná stránkovania hodnota, musí byť najmenej %1 a najviac %2", "username-taken": "Užívateľské meno je už obsadené", "email-taken": "Tento e-mail je už obsadený", "email-nochange": "The email entered is the same as the email already on file.", "email-invited": "Email was already invited", - "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", + "email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.", "email-not-confirmed-chat": "Nemôžete vytvoriť konverzáciu pokiaľ Váš e-mail nebude overený. Prosím kliknite sem, pre overenie Vášho e-mailu.", "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Your account does not have an email set. An email is necessary for account recovery. Please click here to enter an email.", diff --git a/public/language/sk/topic.json b/public/language/sk/topic.json index a0f0f3c602..5b12c39a1b 100644 --- a/public/language/sk/topic.json +++ b/public/language/sk/topic.json @@ -21,6 +21,7 @@ "edit": "Upraviť", "delete": "Odstrániť", "delete-event": "Delete Event", + "delete-event-confirm": "Are you sure you want to delete this event?", "purge": "Vyčistiť", "restore": "Obnoviť", "move": "Presunúť", @@ -175,5 +176,6 @@ "timeago_later": "%1 later", "timeago_earlier": "%1 earlier", "first-post": "First post", - "last-post": "Last post" + "last-post": "Last post", + "post-quick-reply": "Post quick reply" } \ No newline at end of file diff --git a/public/language/sk/user.json b/public/language/sk/user.json index 44864bc3e3..31fda96283 100644 --- a/public/language/sk/user.json +++ b/public/language/sk/user.json @@ -98,6 +98,7 @@ "has_no_follower": "Tohto užívateľa nikto nesleduje :(", "follows_no_one": "Tento užívateľ nikoho nesleduje :(", "has_no_posts": "Tento užívateľ doteraz nič nezverejnil.", + "has_no_best_posts": "This user does not have any upvoted posts yet.", "has_no_topics": "Tento užívateľ doteraz nezverejnil žiadne témy.", "has_no_watched_topics": "Tento užívateľ zatiaľ nesleduje žiadne témy.", "has_no_ignored_topics": "Tento používateľ neignoruje žiadne témy.", diff --git a/public/language/sl/admin/manage/privileges.json b/public/language/sl/admin/manage/privileges.json index dcd49779f4..8b38b368cd 100644 --- a/public/language/sl/admin/manage/privileges.json +++ b/public/language/sl/admin/manage/privileges.json @@ -51,10 +51,13 @@ "alert.saved": "Privilege changes saved and applied", "alert.confirm-discard": "Are you sure you wish to discard your privilege changes?", "alert.discarded": "Privilege changes discarded", - "alert.confirm-copyToAll": "Are you sure you wish to apply this privilege set to all categories?", - "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to all categories?", - "alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to all descendant (child) categories?", - "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to all descendant (child) categories?", + "alert.confirm-copyToAll": "Are you sure you wish to apply this set of %1 to all categories?", + "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's set of %1 to all categories?", + "alert.confirm-copyToChildren": "Are you sure you wish to apply this set of %1 to all descendant (child) categories?", + "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's set of %1 to all descendant (child) categories?", "alert.no-undo": "This action cannot be undone.", - "alert.admin-warning": "Administrators implicitly get all privileges" + "alert.admin-warning": "Administrators implicitly get all privileges", + "alert.copyPrivilegesFrom-title": "Select a category to copy from", + "alert.copyPrivilegesFrom-warning": "This will copy %1 from the selected category.", + "alert.copyPrivilegesFromGroup-warning": "This will copy this group's set of %1 from the selected category." } \ No newline at end of file diff --git a/public/language/sl/admin/manage/uploads.json b/public/language/sl/admin/manage/uploads.json index 21bc8201fc..72a695ccdc 100644 --- a/public/language/sl/admin/manage/uploads.json +++ b/public/language/sl/admin/manage/uploads.json @@ -5,5 +5,7 @@ "orphaned": "Orphaned", "size/filecount": "Size / Filecount", "confirm-delete": "Do you really want to delete this file?", - "filecount": "%1 files" + "filecount": "%1 files", + "new-folder": "New Folder", + "name-new-folder": "Enter a name for new the folder" } \ No newline at end of file diff --git a/public/language/sl/error.json b/public/language/sl/error.json index 9d7b673420..ff9b1be6a6 100644 --- a/public/language/sl/error.json +++ b/public/language/sl/error.json @@ -25,12 +25,14 @@ "invalid-event": "Invalid event: %1", "local-login-disabled": "Local login system has been disabled for non-privileged accounts.", "csrf-invalid": "Prijava ni mogoča, verjetno zaradi potekle seje. Poskusite znova.", + "invalid-path": "Invalid path", + "folder-exists": "Folder exists", "invalid-pagination-value": "Napačna vrednost za številčenje strani. Vrednost mora biti najmanj %1 in največ %2.", "username-taken": "Uporabniško ime je že zasedeno.", "email-taken": "E-poštni naslov je že zaseden.", "email-nochange": "The email entered is the same as the email already on file.", "email-invited": "Email was already invited", - "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", + "email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.", "email-not-confirmed-chat": "Ne morete klepetati, dokler ne potrdite svojega e-poštnega naslova. Prosimo, kliknite tu za potrditev e-poštnega naslova.", "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Your account does not have an email set. An email is necessary for account recovery. Please click here to enter an email.", diff --git a/public/language/sl/topic.json b/public/language/sl/topic.json index 581e5622ae..2987a75dfb 100644 --- a/public/language/sl/topic.json +++ b/public/language/sl/topic.json @@ -21,6 +21,7 @@ "edit": "Uredi", "delete": "Izbriši", "delete-event": "Delete Event", + "delete-event-confirm": "Are you sure you want to delete this event?", "purge": "Očisti", "restore": "Razveljavi", "move": "Premakni", @@ -175,5 +176,6 @@ "timeago_later": "%1 later", "timeago_earlier": "%1 earlier", "first-post": "First post", - "last-post": "Last post" + "last-post": "Last post", + "post-quick-reply": "Post quick reply" } \ No newline at end of file diff --git a/public/language/sl/user.json b/public/language/sl/user.json index c0ae8c0dfb..23dbb21939 100644 --- a/public/language/sl/user.json +++ b/public/language/sl/user.json @@ -98,6 +98,7 @@ "has_no_follower": "Uporabniku nihče ne sledi :(", "follows_no_one": "Uporabnik nikomur ne sledi :(", "has_no_posts": "Uporabnik še ni nič objavil.", + "has_no_best_posts": "This user does not have any upvoted posts yet.", "has_no_topics": "Uporabnik še ni objavil nobene teme.", "has_no_watched_topics": "Uporabnik še ne spremlja nobene teme.", "has_no_ignored_topics": "This user hasn't ignored any topics yet.", diff --git a/public/language/sr/admin/manage/privileges.json b/public/language/sr/admin/manage/privileges.json index dcd49779f4..8b38b368cd 100644 --- a/public/language/sr/admin/manage/privileges.json +++ b/public/language/sr/admin/manage/privileges.json @@ -51,10 +51,13 @@ "alert.saved": "Privilege changes saved and applied", "alert.confirm-discard": "Are you sure you wish to discard your privilege changes?", "alert.discarded": "Privilege changes discarded", - "alert.confirm-copyToAll": "Are you sure you wish to apply this privilege set to all categories?", - "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to all categories?", - "alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to all descendant (child) categories?", - "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to all descendant (child) categories?", + "alert.confirm-copyToAll": "Are you sure you wish to apply this set of %1 to all categories?", + "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's set of %1 to all categories?", + "alert.confirm-copyToChildren": "Are you sure you wish to apply this set of %1 to all descendant (child) categories?", + "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's set of %1 to all descendant (child) categories?", "alert.no-undo": "This action cannot be undone.", - "alert.admin-warning": "Administrators implicitly get all privileges" + "alert.admin-warning": "Administrators implicitly get all privileges", + "alert.copyPrivilegesFrom-title": "Select a category to copy from", + "alert.copyPrivilegesFrom-warning": "This will copy %1 from the selected category.", + "alert.copyPrivilegesFromGroup-warning": "This will copy this group's set of %1 from the selected category." } \ No newline at end of file diff --git a/public/language/sr/admin/manage/uploads.json b/public/language/sr/admin/manage/uploads.json index 21bc8201fc..72a695ccdc 100644 --- a/public/language/sr/admin/manage/uploads.json +++ b/public/language/sr/admin/manage/uploads.json @@ -5,5 +5,7 @@ "orphaned": "Orphaned", "size/filecount": "Size / Filecount", "confirm-delete": "Do you really want to delete this file?", - "filecount": "%1 files" + "filecount": "%1 files", + "new-folder": "New Folder", + "name-new-folder": "Enter a name for new the folder" } \ No newline at end of file diff --git a/public/language/sr/error.json b/public/language/sr/error.json index debccd4493..b07e597d71 100644 --- a/public/language/sr/error.json +++ b/public/language/sr/error.json @@ -25,12 +25,14 @@ "invalid-event": "Неважећи догађај: %1", "local-login-disabled": "Локални систем за пријављивање је онемогућен за непривилеговане налоге.", "csrf-invalid": "Нисмо успели да вас пријавимо, вероватно због истека сесије. Молимо покушајте поново", + "invalid-path": "Invalid path", + "folder-exists": "Folder exists", "invalid-pagination-value": "Неважећа вредност приликом нумерисања страница, мора бити најмање %1 а највише %2 ", "username-taken": "Корисничко име је заузето", "email-taken": "Адреса е-поште је заузета", "email-nochange": "The email entered is the same as the email already on file.", "email-invited": "Е-пошта је већ позвана", - "email-not-confirmed": "Није вам дозвољено да шаљете поруке док не потврдите вашу е-пошту, кликните овде да то учините.", + "email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.", "email-not-confirmed-chat": "Није вам дозвољено да ћаскате док не потврдите вашу е-пошту, кликните овде да то учините.", "email-not-confirmed-email-sent": "Ваша е-пошта још увек није потврђена, проверите ваше пријемно сандуче. Неће вам бити дозвољено да шаљете поруке или ћаскате док не потврдите е-пошту.", "no-email-to-confirm": "Your account does not have an email set. An email is necessary for account recovery. Please click here to enter an email.", diff --git a/public/language/sr/topic.json b/public/language/sr/topic.json index 1c032c2572..f2265717a1 100644 --- a/public/language/sr/topic.json +++ b/public/language/sr/topic.json @@ -21,6 +21,7 @@ "edit": "Уреди", "delete": "Избриши", "delete-event": "Delete Event", + "delete-event-confirm": "Are you sure you want to delete this event?", "purge": "Очисти", "restore": "Обнови", "move": "Премести", @@ -175,5 +176,6 @@ "timeago_later": "%1 касније", "timeago_earlier": "%1 раније", "first-post": "Прва порука", - "last-post": "Последња порука" + "last-post": "Последња порука", + "post-quick-reply": "Post quick reply" } \ No newline at end of file diff --git a/public/language/sr/user.json b/public/language/sr/user.json index 5b0451d477..66b9e95715 100644 --- a/public/language/sr/user.json +++ b/public/language/sr/user.json @@ -98,6 +98,7 @@ "has_no_follower": "Овај корисник нема пратиоце :(", "follows_no_one": "Овај корисник не прати никога :(", "has_no_posts": "Овај корисник још ништа није објавио. ", + "has_no_best_posts": "This user does not have any upvoted posts yet.", "has_no_topics": "Овај корисник још није покренуо ниједну тему.", "has_no_watched_topics": "Овај корисник још не надгледа ниједну тему.", "has_no_ignored_topics": "Овај корисник још није игнорисао ниједну тему.", diff --git a/public/language/sv/admin/manage/privileges.json b/public/language/sv/admin/manage/privileges.json index dcd49779f4..8b38b368cd 100644 --- a/public/language/sv/admin/manage/privileges.json +++ b/public/language/sv/admin/manage/privileges.json @@ -51,10 +51,13 @@ "alert.saved": "Privilege changes saved and applied", "alert.confirm-discard": "Are you sure you wish to discard your privilege changes?", "alert.discarded": "Privilege changes discarded", - "alert.confirm-copyToAll": "Are you sure you wish to apply this privilege set to all categories?", - "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to all categories?", - "alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to all descendant (child) categories?", - "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to all descendant (child) categories?", + "alert.confirm-copyToAll": "Are you sure you wish to apply this set of %1 to all categories?", + "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's set of %1 to all categories?", + "alert.confirm-copyToChildren": "Are you sure you wish to apply this set of %1 to all descendant (child) categories?", + "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's set of %1 to all descendant (child) categories?", "alert.no-undo": "This action cannot be undone.", - "alert.admin-warning": "Administrators implicitly get all privileges" + "alert.admin-warning": "Administrators implicitly get all privileges", + "alert.copyPrivilegesFrom-title": "Select a category to copy from", + "alert.copyPrivilegesFrom-warning": "This will copy %1 from the selected category.", + "alert.copyPrivilegesFromGroup-warning": "This will copy this group's set of %1 from the selected category." } \ No newline at end of file diff --git a/public/language/sv/admin/manage/uploads.json b/public/language/sv/admin/manage/uploads.json index 21bc8201fc..72a695ccdc 100644 --- a/public/language/sv/admin/manage/uploads.json +++ b/public/language/sv/admin/manage/uploads.json @@ -5,5 +5,7 @@ "orphaned": "Orphaned", "size/filecount": "Size / Filecount", "confirm-delete": "Do you really want to delete this file?", - "filecount": "%1 files" + "filecount": "%1 files", + "new-folder": "New Folder", + "name-new-folder": "Enter a name for new the folder" } \ No newline at end of file diff --git a/public/language/sv/error.json b/public/language/sv/error.json index 75dfd7b885..f109a020bf 100644 --- a/public/language/sv/error.json +++ b/public/language/sv/error.json @@ -25,12 +25,14 @@ "invalid-event": "Invalid event: %1", "local-login-disabled": "Lokala inloggningssystem har stängts av för icke-privilegierade konton.", "csrf-invalid": "Det gick inte att logga in dig, sannolikt på grund av en utgången session. Var god försök igen", + "invalid-path": "Invalid path", + "folder-exists": "Folder exists", "invalid-pagination-value": "Ogiltigt värde för siduppdelning. Värdet måste vara mellan %1 och %2", "username-taken": "Användarnamn upptaget", "email-taken": "Epostadress upptagen", "email-nochange": "The email entered is the same as the email already on file.", "email-invited": "Email was already invited", - "email-not-confirmed": "Du kan inte posta förrän din epost är bekräftad. Vänligen klicka här för att bekräfta din epost.", + "email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.", "email-not-confirmed-chat": "Du kan ej använda chatten förrän din epostadress har blivit bekräftad, var god klicka här för att bekräfta din epostadress.", "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Your account does not have an email set. An email is necessary for account recovery. Please click here to enter an email.", diff --git a/public/language/sv/topic.json b/public/language/sv/topic.json index 316eeaf2fa..e29fc805c1 100644 --- a/public/language/sv/topic.json +++ b/public/language/sv/topic.json @@ -21,6 +21,7 @@ "edit": "Ändra", "delete": "Ta bort", "delete-event": "Delete Event", + "delete-event-confirm": "Are you sure you want to delete this event?", "purge": "Rensa", "restore": "Återställ", "move": "Flytta", @@ -175,5 +176,6 @@ "timeago_later": "%1 senare", "timeago_earlier": "%1 tidigare", "first-post": "First post", - "last-post": "Last post" + "last-post": "Last post", + "post-quick-reply": "Post quick reply" } \ No newline at end of file diff --git a/public/language/sv/user.json b/public/language/sv/user.json index d547512c71..9fd68192ea 100644 --- a/public/language/sv/user.json +++ b/public/language/sv/user.json @@ -98,6 +98,7 @@ "has_no_follower": "Denna användare har inga följare :(", "follows_no_one": "Denna användare följer ingen :(", "has_no_posts": "Användaren har inte skrivit några inlägg ännu.", + "has_no_best_posts": "This user does not have any upvoted posts yet.", "has_no_topics": "Användaren har inte postat några ämnen ännu.", "has_no_watched_topics": "Användaren har inte bevakat några ämnen ännu.", "has_no_ignored_topics": "Denna användare ignorerar inte några ämnen ännu.", diff --git a/public/language/th/admin/manage/privileges.json b/public/language/th/admin/manage/privileges.json index dcd49779f4..8b38b368cd 100644 --- a/public/language/th/admin/manage/privileges.json +++ b/public/language/th/admin/manage/privileges.json @@ -51,10 +51,13 @@ "alert.saved": "Privilege changes saved and applied", "alert.confirm-discard": "Are you sure you wish to discard your privilege changes?", "alert.discarded": "Privilege changes discarded", - "alert.confirm-copyToAll": "Are you sure you wish to apply this privilege set to all categories?", - "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to all categories?", - "alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to all descendant (child) categories?", - "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to all descendant (child) categories?", + "alert.confirm-copyToAll": "Are you sure you wish to apply this set of %1 to all categories?", + "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's set of %1 to all categories?", + "alert.confirm-copyToChildren": "Are you sure you wish to apply this set of %1 to all descendant (child) categories?", + "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's set of %1 to all descendant (child) categories?", "alert.no-undo": "This action cannot be undone.", - "alert.admin-warning": "Administrators implicitly get all privileges" + "alert.admin-warning": "Administrators implicitly get all privileges", + "alert.copyPrivilegesFrom-title": "Select a category to copy from", + "alert.copyPrivilegesFrom-warning": "This will copy %1 from the selected category.", + "alert.copyPrivilegesFromGroup-warning": "This will copy this group's set of %1 from the selected category." } \ No newline at end of file diff --git a/public/language/th/admin/manage/uploads.json b/public/language/th/admin/manage/uploads.json index 21bc8201fc..72a695ccdc 100644 --- a/public/language/th/admin/manage/uploads.json +++ b/public/language/th/admin/manage/uploads.json @@ -5,5 +5,7 @@ "orphaned": "Orphaned", "size/filecount": "Size / Filecount", "confirm-delete": "Do you really want to delete this file?", - "filecount": "%1 files" + "filecount": "%1 files", + "new-folder": "New Folder", + "name-new-folder": "Enter a name for new the folder" } \ No newline at end of file diff --git a/public/language/th/error.json b/public/language/th/error.json index 762c59db2f..e7537f01dd 100644 --- a/public/language/th/error.json +++ b/public/language/th/error.json @@ -25,12 +25,14 @@ "invalid-event": "Invalid event: %1", "local-login-disabled": "Local login system has been disabled for non-privileged accounts.", "csrf-invalid": "เราไม่สามารถนำท่านเข้าสู่ระบบได้ เหมือนกับว่าเซสชั่นหมดอายุแล้ว กรุณาลองใหม่อีกครั้ง", + "invalid-path": "Invalid path", + "folder-exists": "Folder exists", "invalid-pagination-value": "หมายเลขหน้าไม่ถูกต้อง จำเป็นต้องเป็นตัวเลขอย่างน้อย %1 และอย่างมาก %2", "username-taken": "ชื่อผู้ใช้นี้มีการใช้แล้ว", "email-taken": "อีเมลนี้มีการใช้แล้ว", "email-nochange": "The email entered is the same as the email already on file.", "email-invited": "Email was already invited", - "email-not-confirmed": "You are unable to post until your email is confirmed, please click here to confirm your email.", + "email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.", "email-not-confirmed-chat": "คุณไม่สามารถแชทได้จนกว่าอีเมล์ของคุณจะได้รับการยืนยัน กรุณาคลิกที่นี่เพื่อยืนยันอีกมเมล์ของคุณ", "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You won't be able to post or chat until your email is confirmed.", "no-email-to-confirm": "Your account does not have an email set. An email is necessary for account recovery. Please click here to enter an email.", diff --git a/public/language/th/topic.json b/public/language/th/topic.json index 12c7678ab1..94810b78fc 100644 --- a/public/language/th/topic.json +++ b/public/language/th/topic.json @@ -21,6 +21,7 @@ "edit": "แก้ไข", "delete": "ลบ", "delete-event": "Delete Event", + "delete-event-confirm": "Are you sure you want to delete this event?", "purge": "ล้าง", "restore": "กู้", "move": "ย้าย", @@ -175,5 +176,6 @@ "timeago_later": "%1 later", "timeago_earlier": "%1 earlier", "first-post": "First post", - "last-post": "Last post" + "last-post": "Last post", + "post-quick-reply": "Post quick reply" } \ No newline at end of file diff --git a/public/language/th/user.json b/public/language/th/user.json index 633ed54f06..5a2b910b58 100644 --- a/public/language/th/user.json +++ b/public/language/th/user.json @@ -98,6 +98,7 @@ "has_no_follower": "ผู้ใช้รายนี้ไม่มีใครติดตาม :(", "follows_no_one": "ผู้ใช้รายนี้ไม่ติดตามใคร :(", "has_no_posts": "ผู้ใช้นี้ไม่ได้โพสต์ข้อความใดๆ", + "has_no_best_posts": "This user does not have any upvoted posts yet.", "has_no_topics": "ผู้ใช้นี้ยังไม่เคยตั้งกระทู้ใดๆ", "has_no_watched_topics": "ผู้ใช้นี้ไม่ได้ติดตามกระทู้ใดๆ", "has_no_ignored_topics": "ผู้ใช้นี้ไม่ได้ละเว้นกระทู้ใดๆ", diff --git a/public/language/tr/admin/manage/privileges.json b/public/language/tr/admin/manage/privileges.json index 8408a39dad..a915eb8d45 100644 --- a/public/language/tr/admin/manage/privileges.json +++ b/public/language/tr/admin/manage/privileges.json @@ -51,10 +51,13 @@ "alert.saved": "Ayrıcalık değişiklikleri kaydedildi ve uygulandı", "alert.confirm-discard": "Ayrıcalık değişikliklerini iptal etmek istediğinize emin misiniz?", "alert.discarded": "Ayrıcalık değişiklikleri iptal edildi", - "alert.confirm-copyToAll": "Bu ayrıcalıkları tüm kategoriler için uygulamaya emin misiniz?", - "alert.confirm-copyToAllGroup": "Bu grup ayrıcalıklarını tüm kategoriler için uygulamaya emin misiniz?", - "alert.confirm-copyToChildren": "Bu ayrıcalıkları tüm alt (aşağı) kategoriler için uygulamaya emin misiniz?", - "alert.confirm-copyToChildrenGroup": "Bu grup ayrıcalıklarını tüm alt (aşağı) kategoriler uygulamaya emin misiniz?", + "alert.confirm-copyToAll": "Are you sure you wish to apply this set of %1 to all categories?", + "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's set of %1 to all categories?", + "alert.confirm-copyToChildren": "Are you sure you wish to apply this set of %1 to all descendant (child) categories?", + "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's set of %1 to all descendant (child) categories?", "alert.no-undo": "Bu işlem geri alınamaz.", - "alert.admin-warning": "Yöneticiler dolaylı olarak tüm ayrıcalıklara sahiptirler" + "alert.admin-warning": "Yöneticiler dolaylı olarak tüm ayrıcalıklara sahiptirler", + "alert.copyPrivilegesFrom-title": "Select a category to copy from", + "alert.copyPrivilegesFrom-warning": "This will copy %1 from the selected category.", + "alert.copyPrivilegesFromGroup-warning": "This will copy this group's set of %1 from the selected category." } \ No newline at end of file diff --git a/public/language/tr/admin/manage/uploads.json b/public/language/tr/admin/manage/uploads.json index d38de46fab..60fbb950ba 100644 --- a/public/language/tr/admin/manage/uploads.json +++ b/public/language/tr/admin/manage/uploads.json @@ -5,5 +5,7 @@ "orphaned": "Sahipsiz", "size/filecount": "Boyut / Dosya sayısı", "confirm-delete": "Bu dosyayı silmek istediğinden emin misin?", - "filecount": "%1 dosya" + "filecount": "%1 dosya", + "new-folder": "New Folder", + "name-new-folder": "Enter a name for new the folder" } \ No newline at end of file diff --git a/public/language/tr/error.json b/public/language/tr/error.json index 577345d838..18fea0e934 100644 --- a/public/language/tr/error.json +++ b/public/language/tr/error.json @@ -25,12 +25,14 @@ "invalid-event": "Geçersiz Aktivite: %1", "local-login-disabled": "Ayrıcalıklı-olmayan hesaplar için yerel giriş sistemi devre dışı bırakıldı.", "csrf-invalid": "Büyük olasılıkla süresi dolmuş oturum nedeniyle girişinizi geçersiz kıldık. Lütfen tekrar deneyiniz.", + "invalid-path": "Invalid path", + "folder-exists": "Folder exists", "invalid-pagination-value": "Geçersiz sayfa numarası girdiniz, en az %1 ve en fazla %2 olabilir", "username-taken": "Kullanıcı İsmi Alınmış", "email-taken": "E-posta Alınmış", "email-nochange": "The email entered is the same as the email already on file.", "email-invited": "E-posta halihazırda davet edilmiş", - "email-not-confirmed": "E-posta adresiniz onaylanmadan ileti gönderemezsiniz, onay e-postası için buraya tıklayınız!", + "email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.", "email-not-confirmed-chat": "E-postanız onaylanana kadar sohbet edemezsiniz, onaylamak için lütfen buraya tıklayın.", "email-not-confirmed-email-sent": "E-posta adresiniz henüz onaylanmamış, lütfen onay e-postası için gelen kutunuzu kontrol ediniz. E-posta adresinizi onaylayana kadar foruma ileti gönderemeyeceksiniz veya sohbet edemeyeceksiniz!", "no-email-to-confirm": "Your account does not have an email set. An email is necessary for account recovery. Please click here to enter an email.", diff --git a/public/language/tr/topic.json b/public/language/tr/topic.json index 20882f6771..10c0c7322c 100644 --- a/public/language/tr/topic.json +++ b/public/language/tr/topic.json @@ -21,6 +21,7 @@ "edit": "Düzenle", "delete": "Sil", "delete-event": "Delete Event", + "delete-event-confirm": "Are you sure you want to delete this event?", "purge": "Temizle", "restore": "Geri Getir", "move": "Taşı", @@ -175,5 +176,6 @@ "timeago_later": "%1 sonra", "timeago_earlier": "%1 önce", "first-post": "İlk ileti", - "last-post": "Son ileti" + "last-post": "Son ileti", + "post-quick-reply": "Post quick reply" } \ No newline at end of file diff --git a/public/language/tr/user.json b/public/language/tr/user.json index 1639e983c9..284bb5d18e 100644 --- a/public/language/tr/user.json +++ b/public/language/tr/user.json @@ -98,6 +98,7 @@ "has_no_follower": "Bu kullanıcının hiç takipçisi yok :(", "follows_no_one": "Bu kullanıcı kimseyi takip etmiyor :(", "has_no_posts": "Bu kullanıcı henüz herhangi bir ileti yazmamış :(", + "has_no_best_posts": "This user does not have any upvoted posts yet.", "has_no_topics": "Bu kullanıcı henüz hiçbir başlık açmamış :(", "has_no_watched_topics": "Bu kullanıcı henüz hiçbir başlığı takip etmiyor :(", "has_no_ignored_topics": "Bu kullanıcı henüz hiçbir başlığı yok saymamış.", diff --git a/public/language/uk/admin/manage/privileges.json b/public/language/uk/admin/manage/privileges.json index 2875a43c29..447eecbf74 100644 --- a/public/language/uk/admin/manage/privileges.json +++ b/public/language/uk/admin/manage/privileges.json @@ -51,10 +51,13 @@ "alert.saved": "Privilege changes saved and applied", "alert.confirm-discard": "Are you sure you wish to discard your privilege changes?", "alert.discarded": "Privilege changes discarded", - "alert.confirm-copyToAll": "Are you sure you wish to apply this privilege set to all categories?", - "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to all categories?", - "alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to all descendant (child) categories?", - "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to all descendant (child) categories?", + "alert.confirm-copyToAll": "Are you sure you wish to apply this set of %1 to all categories?", + "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's set of %1 to all categories?", + "alert.confirm-copyToChildren": "Are you sure you wish to apply this set of %1 to all descendant (child) categories?", + "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's set of %1 to all descendant (child) categories?", "alert.no-undo": "This action cannot be undone.", - "alert.admin-warning": "Administrators implicitly get all privileges" + "alert.admin-warning": "Administrators implicitly get all privileges", + "alert.copyPrivilegesFrom-title": "Select a category to copy from", + "alert.copyPrivilegesFrom-warning": "This will copy %1 from the selected category.", + "alert.copyPrivilegesFromGroup-warning": "This will copy this group's set of %1 from the selected category." } \ No newline at end of file diff --git a/public/language/uk/admin/manage/uploads.json b/public/language/uk/admin/manage/uploads.json index 21bc8201fc..72a695ccdc 100644 --- a/public/language/uk/admin/manage/uploads.json +++ b/public/language/uk/admin/manage/uploads.json @@ -5,5 +5,7 @@ "orphaned": "Orphaned", "size/filecount": "Size / Filecount", "confirm-delete": "Do you really want to delete this file?", - "filecount": "%1 files" + "filecount": "%1 files", + "new-folder": "New Folder", + "name-new-folder": "Enter a name for new the folder" } \ No newline at end of file diff --git a/public/language/uk/error.json b/public/language/uk/error.json index c01fe2b9b8..c70a32ab1e 100644 --- a/public/language/uk/error.json +++ b/public/language/uk/error.json @@ -25,12 +25,14 @@ "invalid-event": "Invalid event: %1", "local-login-disabled": "Локальний логін вимкнений для акаунтів, які не мають відповідних прав.", "csrf-invalid": "Нам не вдалося вас пустити, ймовірно, через прострочену сесію. Будь ласка, спробуйте ще раз", + "invalid-path": "Invalid path", + "folder-exists": "Folder exists", "invalid-pagination-value": "Невірне значення сторінки, має бути щонайменше %1 та щонайбільше %2", "username-taken": "Це ім'я зайняте", "email-taken": "Ця електронна пошта зайнята", "email-nochange": "The email entered is the same as the email already on file.", "email-invited": "Email was already invited", - "email-not-confirmed": "Ви не зможете постити до підтвердження вашої електронної адреси, будь-ласка натисніть тут щоб підтвердити свій емейл.", + "email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.", "email-not-confirmed-chat": "Ви не можете користуватися чатом поки ваша електронна пошта не буде підтверджена, натисніть тут, щоб це зробити.", "email-not-confirmed-email-sent": "Ваша електронна адреса ще не була підтверджена, будь-ласка перевірте свою поштову скриньку. Ви не зможете постити або чатитись до того як ваш емейл підтверджено.", "no-email-to-confirm": "Your account does not have an email set. An email is necessary for account recovery. Please click here to enter an email.", diff --git a/public/language/uk/topic.json b/public/language/uk/topic.json index bf4b3bc2d0..aa7b3e1d9e 100644 --- a/public/language/uk/topic.json +++ b/public/language/uk/topic.json @@ -21,6 +21,7 @@ "edit": "Редагувати", "delete": "Видалити", "delete-event": "Delete Event", + "delete-event-confirm": "Are you sure you want to delete this event?", "purge": "Стерти", "restore": "Відновити", "move": "Перемістити", @@ -175,5 +176,6 @@ "timeago_later": "%1 пізніше", "timeago_earlier": "%1 раніше", "first-post": "First post", - "last-post": "Last post" + "last-post": "Last post", + "post-quick-reply": "Post quick reply" } \ No newline at end of file diff --git a/public/language/uk/user.json b/public/language/uk/user.json index e9d34ca359..3e19831fed 100644 --- a/public/language/uk/user.json +++ b/public/language/uk/user.json @@ -98,6 +98,7 @@ "has_no_follower": "Цей користувач не має відстежувачів :(", "follows_no_one": "Цей користувач нікого не відстежує :(", "has_no_posts": "Цей користувач ще ніколи нічого не постив.", + "has_no_best_posts": "This user does not have any upvoted posts yet.", "has_no_topics": "Цей користувач ще ніколи не створював нових тем.", "has_no_watched_topics": "Цей користувач ще ніколи не переглядав жодної теми.", "has_no_ignored_topics": "Цей користувач ще не проігнорував будь-які теми.", diff --git a/public/language/vi/admin/manage/privileges.json b/public/language/vi/admin/manage/privileges.json index 06593bf4bd..15ae622bc9 100644 --- a/public/language/vi/admin/manage/privileges.json +++ b/public/language/vi/admin/manage/privileges.json @@ -51,10 +51,13 @@ "alert.saved": "Đã lưu và áp dụng các thay đổi đặc quyền ", "alert.confirm-discard": "Bạn có chắc chắn muốn hủy các thay đổi đặc quyền của mình không?", "alert.discarded": "Thay đổi đặc quyền bị hủy", - "alert.confirm-copyToAll": "Bạn có chắc chắn muốn áp dụng bộ đặc quyền này cho tất cả chuyên mục?", - "alert.confirm-copyToAllGroup": "Bạn có chắc muốn áp dụng các quyền của nhóm này cho tất cả chuyên mục?", - "alert.confirm-copyToChildren": "Bạn có chắc chắn muốn áp dụng bộ đặc quyền này cho tất cả danh mục con?", - "alert.confirm-copyToChildrenGroup": "Bạn có chắc chắn muốn áp dụng bộ đặc quyền của nhóm này cho tất cả chuyên mục con?", + "alert.confirm-copyToAll": "Bạn có chắc muốn áp dụng cài đặt %1 cho tất cả danh mục?", + "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's set of %1 to all categories?", + "alert.confirm-copyToChildren": "Are you sure you wish to apply this set of %1 to all descendant (child) categories?", + "alert.confirm-copyToChildrenGroup": "Bạn có chắc muốn áp dụng cài đặt %1 của nhóm này cho tất cả danh mục con?", "alert.no-undo": "Hành động này không thể hoàn tác.", - "alert.admin-warning": "Quản trị viên ngầm có tất cả các đặc quyền" + "alert.admin-warning": "Quản trị viên ngầm có tất cả các đặc quyền", + "alert.copyPrivilegesFrom-title": "Chọn một danh mục để sao chép từ", + "alert.copyPrivilegesFrom-warning": "Điều này sẽ sao chép %1 từ danh mục đã chọn.", + "alert.copyPrivilegesFromGroup-warning": "This will copy this group's set of %1 from the selected category." } \ No newline at end of file diff --git a/public/language/vi/admin/manage/uploads.json b/public/language/vi/admin/manage/uploads.json index e65490d5d2..232dff8993 100644 --- a/public/language/vi/admin/manage/uploads.json +++ b/public/language/vi/admin/manage/uploads.json @@ -5,5 +5,7 @@ "orphaned": "Đơn độc", "size/filecount": "Kích cỡ/ Số lượng tệp", "confirm-delete": "Bạn có chắc muốn xóa tệp này không?", - "filecount": "%1 tệp" + "filecount": "%1 tệp", + "new-folder": "Thư mục mới", + "name-new-folder": "Nhập tên cho thư mục mới" } \ No newline at end of file diff --git a/public/language/vi/admin/settings/general.json b/public/language/vi/admin/settings/general.json index 417ea7ba00..d4f3073728 100644 --- a/public/language/vi/admin/settings/general.json +++ b/public/language/vi/admin/settings/general.json @@ -35,10 +35,10 @@ "maskable-icon.help": "Kích thước và định dạng nên là: 512x512, chỉ định dạng PNG. Nếu không có biểu tượng có thể che được nào được chỉ định, NodeBB sẽ trở lại Biểu tượng cảm ứng.", "outgoing-links": "Liên Kết Đi", "outgoing-links.warning-page": "Sử Dụng Trang Cảnh Báo Liên Kết Đi", - "search": "Search", - "search-default-in": "Search In", - "search-default-in-quick": "Quick Search In", - "search-default-sort-by": "Sort by", + "search": "Tìm kiếm", + "search-default-in": "Tìm kiếm trong", + "search-default-in-quick": "Tìm kiếm nhanh trong", + "search-default-sort-by": "Sắp xếp theo", "outgoing-links.whitelist": "Các tên miền trong danh sách trắng sẽ bỏ qua trang cảnh báo", "site-colors": "Dữ Liệu Mô Tả Màu Trang", "theme-color": "Màu Giao Diện", diff --git a/public/language/vi/error.json b/public/language/vi/error.json index 1d3da7d1ea..48d63b3474 100644 --- a/public/language/vi/error.json +++ b/public/language/vi/error.json @@ -25,12 +25,14 @@ "invalid-event": "Sự kiện không hợp lệ: %1", "local-login-disabled": "Hệ thống đăng nhập nội bộ đã bị vô hiệu hóa với các tài khoản không đủ quyền.", "csrf-invalid": "Chúng tôi không thể đăng nhập cho bạn, có thể do một phiên đã hết hạn. Vui lòng thử lại", + "invalid-path": "Đường dẫn không hợp lệ", + "folder-exists": "Thư mục tồn tại", "invalid-pagination-value": "Giá trị trang không hợp lệ, tối thiểu phải là %1 và tối đa là %2", "username-taken": "Tên đăng nhập đã tồn tại", "email-taken": "Email đã được đăng kí", "email-nochange": "Email đã nhập giống với email đã có trong tệp.", "email-invited": "Email đã được mời", - "email-not-confirmed": "Bạn không thể đăng bài cho đến khi email của bạn được xác nhận, vui lòng nhấp vào đây để xác nhận email của bạn.", + "email-not-confirmed": "Đăng trong một số danh mục hoặc chủ đề được bật sau khi email của bạn được xác nhận, vui lòng nhấp vào đây để gửi email xác nhận.", "email-not-confirmed-chat": "Bạn không thể trò chuyện cho đến khi email của bạn được xác nhận, vui lòng nhấp vào đây để xác nhận email của bạn.", "email-not-confirmed-email-sent": "Email của bạn vẫn chưa được xác nhận, vui lòng kiểm tra hộp thư đến của bạn. Bạn sẽ không thể đăng hoặc trò chuyện cho đến khi email được xác nhận.", "no-email-to-confirm": "Tài khoản của bạn không có email. Email là cần thiết để khôi phục tài khoản. Vui lòng bấm vào đây để nhập email.", diff --git a/public/language/vi/topic.json b/public/language/vi/topic.json index bb390c58ae..1b476f4c30 100644 --- a/public/language/vi/topic.json +++ b/public/language/vi/topic.json @@ -21,6 +21,7 @@ "edit": "Chỉnh sửa", "delete": "Xóa", "delete-event": "Xóa Sự Kiện", + "delete-event-confirm": "Bạn có chắc muốn xóa sự kiện này không?", "purge": "Xóa hẳn", "restore": "Khôi phục", "move": "Chuyển đi", @@ -175,5 +176,6 @@ "timeago_later": "%1 sau", "timeago_earlier": "%1 trước đó", "first-post": "Bài viết đầu tiên", - "last-post": "Bài viết cuối cùng" + "last-post": "Bài viết cuối cùng", + "post-quick-reply": "Đăng trả lời nhanh" } \ No newline at end of file diff --git a/public/language/vi/user.json b/public/language/vi/user.json index 8fe786eb7a..d30e2d126e 100644 --- a/public/language/vi/user.json +++ b/public/language/vi/user.json @@ -98,6 +98,7 @@ "has_no_follower": "Người dùng này không có ai theo dõi :(", "follows_no_one": "Người dùng này không theo dõi ai :(", "has_no_posts": "Thành viên này chưa đăng bài viết nào cả.", + "has_no_best_posts": "Người dùng này chưa có bất kỳ bài đăng nào được ủng hộ.", "has_no_topics": "Thành viên này chưa đăng chủ đề nào cả.", "has_no_watched_topics": "Người dùng này chưa xem bất kỳ chủ đề nào.", "has_no_ignored_topics": "Người dùng này chưa bỏ qua bất cứ chủ đề nào.", diff --git a/public/language/zh-CN/admin/manage/privileges.json b/public/language/zh-CN/admin/manage/privileges.json index d924b77dd4..1e9103d4c6 100644 --- a/public/language/zh-CN/admin/manage/privileges.json +++ b/public/language/zh-CN/admin/manage/privileges.json @@ -51,10 +51,13 @@ "alert.saved": "权限修改已保存并应用", "alert.confirm-discard": "您确定要取消权限修改吗?", "alert.discarded": "权限修改已被丢弃", - "alert.confirm-copyToAll": "您确定要将此权限应用于所有类别吗?", - "alert.confirm-copyToAllGroup": "您确定要将此用户组权限应用于所有类别吗?", - "alert.confirm-copyToChildren": "您确定要将此权限应用于所有子类别吗?", - "alert.confirm-copyToChildrenGroup": "您确定要将此用户组权限应用于所有子类别吗?", + "alert.confirm-copyToAll": "Are you sure you wish to apply this set of %1 to all categories?", + "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's set of %1 to all categories?", + "alert.confirm-copyToChildren": "Are you sure you wish to apply this set of %1 to all descendant (child) categories?", + "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's set of %1 to all descendant (child) categories?", "alert.no-undo": "此操作无法撤消。", - "alert.admin-warning": "管理员隐性获得全部权限" + "alert.admin-warning": "管理员隐性获得全部权限", + "alert.copyPrivilegesFrom-title": "Select a category to copy from", + "alert.copyPrivilegesFrom-warning": "This will copy %1 from the selected category.", + "alert.copyPrivilegesFromGroup-warning": "This will copy this group's set of %1 from the selected category." } \ No newline at end of file diff --git a/public/language/zh-CN/admin/manage/uploads.json b/public/language/zh-CN/admin/manage/uploads.json index 6a2b2a86eb..d4afe975bb 100644 --- a/public/language/zh-CN/admin/manage/uploads.json +++ b/public/language/zh-CN/admin/manage/uploads.json @@ -5,5 +5,7 @@ "orphaned": "未使用", "size/filecount": "大小/文件数", "confirm-delete": "您确定要删除此文件吗?", - "filecount": "%1 文件" + "filecount": "%1 文件", + "new-folder": "New Folder", + "name-new-folder": "Enter a name for new the folder" } \ No newline at end of file diff --git a/public/language/zh-CN/error.json b/public/language/zh-CN/error.json index 68fbcbfc85..b4b57239ec 100644 --- a/public/language/zh-CN/error.json +++ b/public/language/zh-CN/error.json @@ -25,12 +25,14 @@ "invalid-event": "Invalid event: %1", "local-login-disabled": "已禁用非管理账户的本地登录。", "csrf-invalid": "可能是由于会话过期,登录失败。请重试。", + "invalid-path": "Invalid path", + "folder-exists": "Folder exists", "invalid-pagination-value": "无效的分页数值,必须介于 %1 和 %2 之间", "username-taken": "此用户名已被占用", "email-taken": "此电子邮箱已被占用", "email-nochange": "The email entered is the same as the email already on file.", "email-invited": "已通过电子邮件进行邀请", - "email-not-confirmed": "在您的电子邮件账户被确认前,您不能发帖。", + "email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.", "email-not-confirmed-chat": "您的电子邮箱尚未确认,无法聊天,请点击这里确认您的电子邮箱。", "email-not-confirmed-email-sent": "您的电子邮件账户尚未确认,请检查您的收件箱。在电子邮件帐户被确认前您不能发帖和聊天。", "no-email-to-confirm": "Your account does not have an email set. An email is necessary for account recovery. Please click here to enter an email.", diff --git a/public/language/zh-CN/topic.json b/public/language/zh-CN/topic.json index 693f2001f3..6491cd14ba 100644 --- a/public/language/zh-CN/topic.json +++ b/public/language/zh-CN/topic.json @@ -21,6 +21,7 @@ "edit": "编辑", "delete": "删除", "delete-event": "Delete Event", + "delete-event-confirm": "Are you sure you want to delete this event?", "purge": "清除", "restore": "恢复", "move": "移动", @@ -175,5 +176,6 @@ "timeago_later": "%1 后", "timeago_earlier": "%1 前", "first-post": "First post", - "last-post": "Last post" + "last-post": "Last post", + "post-quick-reply": "Post quick reply" } \ No newline at end of file diff --git a/public/language/zh-CN/user.json b/public/language/zh-CN/user.json index a1267edfa6..ca479e9dd3 100644 --- a/public/language/zh-CN/user.json +++ b/public/language/zh-CN/user.json @@ -98,6 +98,7 @@ "has_no_follower": "此用户还没有粉丝 :(", "follows_no_one": "此用户尚未关注任何人 :(", "has_no_posts": "此用户从未发言。", + "has_no_best_posts": "This user does not have any upvoted posts yet.", "has_no_topics": "此用户还未发布任何主题。", "has_no_watched_topics": "此用户还未关注任何主题。", "has_no_ignored_topics": "此用户尚未忽略任何主题。", diff --git a/public/language/zh-TW/admin/manage/privileges.json b/public/language/zh-TW/admin/manage/privileges.json index c07296ef61..da54d1c703 100644 --- a/public/language/zh-TW/admin/manage/privileges.json +++ b/public/language/zh-TW/admin/manage/privileges.json @@ -51,10 +51,13 @@ "alert.saved": "Privilege changes saved and applied", "alert.confirm-discard": "Are you sure you wish to discard your privilege changes?", "alert.discarded": "Privilege changes discarded", - "alert.confirm-copyToAll": "Are you sure you wish to apply this privilege set to all categories?", - "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to all categories?", - "alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to all descendant (child) categories?", - "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to all descendant (child) categories?", + "alert.confirm-copyToAll": "Are you sure you wish to apply this set of %1 to all categories?", + "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's set of %1 to all categories?", + "alert.confirm-copyToChildren": "Are you sure you wish to apply this set of %1 to all descendant (child) categories?", + "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's set of %1 to all descendant (child) categories?", "alert.no-undo": "This action cannot be undone.", - "alert.admin-warning": "Administrators implicitly get all privileges" + "alert.admin-warning": "Administrators implicitly get all privileges", + "alert.copyPrivilegesFrom-title": "Select a category to copy from", + "alert.copyPrivilegesFrom-warning": "This will copy %1 from the selected category.", + "alert.copyPrivilegesFromGroup-warning": "This will copy this group's set of %1 from the selected category." } \ No newline at end of file diff --git a/public/language/zh-TW/admin/manage/uploads.json b/public/language/zh-TW/admin/manage/uploads.json index 3e4889509e..e8a69ba6bd 100644 --- a/public/language/zh-TW/admin/manage/uploads.json +++ b/public/language/zh-TW/admin/manage/uploads.json @@ -5,5 +5,7 @@ "orphaned": "未使用", "size/filecount": "大小/檔案數", "confirm-delete": "您確定要刪除此檔案嗎?", - "filecount": "%1 個檔案" + "filecount": "%1 個檔案", + "new-folder": "New Folder", + "name-new-folder": "Enter a name for new the folder" } \ No newline at end of file diff --git a/public/language/zh-TW/error.json b/public/language/zh-TW/error.json index f564f26bfe..b44267318d 100644 --- a/public/language/zh-TW/error.json +++ b/public/language/zh-TW/error.json @@ -25,12 +25,14 @@ "invalid-event": "Invalid event: %1", "local-login-disabled": "已停用非管理帳戶的本地登入。", "csrf-invalid": "可能是由於會話過期,登入失敗。請重試。", + "invalid-path": "Invalid path", + "folder-exists": "Folder exists", "invalid-pagination-value": "無效的分頁數,必須介於 %1 和 %2 之間", "username-taken": "此使用者名已被使用", "email-taken": "此電子信箱已被使用", "email-nochange": "The email entered is the same as the email already on file.", "email-invited": "Email was already invited", - "email-not-confirmed": "在您的電子信箱被確認前,您不能貼文。", + "email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.", "email-not-confirmed-chat": "您的電子信箱尚未確認,無法聊天,請點擊這裡確認您的電子信箱。", "email-not-confirmed-email-sent": "您的電子信箱尚未確認,請檢查您的收件匣。在電子信箱被確認前您不能貼文和聊天。", "no-email-to-confirm": "Your account does not have an email set. An email is necessary for account recovery. Please click here to enter an email.", diff --git a/public/language/zh-TW/topic.json b/public/language/zh-TW/topic.json index a1e25ba914..1b7844dca8 100644 --- a/public/language/zh-TW/topic.json +++ b/public/language/zh-TW/topic.json @@ -21,6 +21,7 @@ "edit": "編輯", "delete": "刪除", "delete-event": "Delete Event", + "delete-event-confirm": "Are you sure you want to delete this event?", "purge": "清除", "restore": "恢復", "move": "移動", @@ -175,5 +176,6 @@ "timeago_later": "%1 後", "timeago_earlier": "%1 前", "first-post": "First post", - "last-post": "Last post" + "last-post": "Last post", + "post-quick-reply": "Post quick reply" } \ No newline at end of file diff --git a/public/language/zh-TW/user.json b/public/language/zh-TW/user.json index 6ac903144a..836434b84d 100644 --- a/public/language/zh-TW/user.json +++ b/public/language/zh-TW/user.json @@ -98,6 +98,7 @@ "has_no_follower": "此使用者還沒有追隨者 :(", "follows_no_one": "此使用者尚未追隨任何人 :(", "has_no_posts": "此使用者從未發文。", + "has_no_best_posts": "This user does not have any upvoted posts yet.", "has_no_topics": "此使用者還未發佈任何主題。", "has_no_watched_topics": "此使用者還未關注任何主題。", "has_no_ignored_topics": "此使用者尚未忽略任何主題。", diff --git a/public/openapi/write.yaml b/public/openapi/write.yaml index abad800516..8ac39fe982 100644 --- a/public/openapi/write.yaml +++ b/public/openapi/write.yaml @@ -143,4 +143,6 @@ paths: /admin/analytics/{set}: $ref: 'write/admin/analytics/set.yaml' /files/: - $ref: 'write/files.yaml' \ No newline at end of file + $ref: 'write/files.yaml' + /files/folder: + $ref: 'write/files/folder.yaml' \ No newline at end of file diff --git a/public/openapi/write/files/folder.yaml b/public/openapi/write/files/folder.yaml new file mode 100644 index 0000000000..84295a2917 --- /dev/null +++ b/public/openapi/write/files/folder.yaml @@ -0,0 +1,36 @@ +put: + tags: + - files + summary: create a new folder + description: This operation creates a new folder inside upload path + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + path: + type: string + description: Path to the file (relative to the configured `upload_path`) + example: /files + folderName: + type: string + description: New folder name + example: myfiles + required: + - path + - folderName + responses: + '200': + description: Folder created + content: + application/json: + schema: + type: object + properties: + status: + $ref: ../../components/schemas/Status.yaml#/Status + response: + type: object + properties: {} \ No newline at end of file diff --git a/public/src/admin/manage/privileges.js b/public/src/admin/manage/privileges.js index a8040af1ef..e45f967475 100644 --- a/public/src/admin/manage/privileges.js +++ b/public/src/admin/manage/privileges.js @@ -9,9 +9,11 @@ define('admin/manage/privileges', [ 'mousetrap', 'admin/modules/checkboxRowSelector', ], function (api, autocomplete, bootbox, translator, categorySelector, mousetrap, checkboxRowSelector) { - var Privileges = {}; + const Privileges = {}; - var cid; + let cid; + // number of columns to skip in category privilege tables + const SKIP_PRIV_COLS = 3; Privileges.init = function () { cid = isNaN(parseInt(ajaxify.data.selectedCategory.cid, 10)) ? 'admin' : ajaxify.data.selectedCategory.cid; @@ -33,45 +35,48 @@ define('admin/manage/privileges', [ Privileges.setupPrivilegeTable(); highlightRow(); + $('.privilege-filters button:last-child').click(); }; Privileges.setupPrivilegeTable = function () { $('.privilege-table-container').on('change', 'input[type="checkbox"]:not(.checkbox-helper)', function () { - var checkboxEl = $(this); - var wrapperEl = checkboxEl.parent(); - var privilege = wrapperEl.attr('data-privilege'); - var state = checkboxEl.prop('checked'); - var rowEl = checkboxEl.parents('tr'); - var member = rowEl.attr('data-group-name') || rowEl.attr('data-uid'); - var isPrivate = parseInt(rowEl.attr('data-private') || 0, 10); - var isGroup = rowEl.attr('data-group-name') !== undefined; - var isBanned = (isGroup && rowEl.attr('data-group-name') === 'banned-users') || rowEl.attr('data-banned') !== undefined; - var delta = checkboxEl.prop('checked') === (wrapperEl.attr('data-value') === 'true') ? null : state; + const $checkboxEl = $(this); + const $wrapperEl = $checkboxEl.parent(); + const columnNo = $wrapperEl.index() + 1; + const privilege = $wrapperEl.attr('data-privilege'); + const state = $checkboxEl.prop('checked'); + const $rowEl = $checkboxEl.parents('tr'); + const member = $rowEl.attr('data-group-name') || $rowEl.attr('data-uid'); + const isPrivate = parseInt($rowEl.attr('data-private') || 0, 10); + const isGroup = $rowEl.attr('data-group-name') !== undefined; + const isBanned = (isGroup && $rowEl.attr('data-group-name') === 'banned-users') || $rowEl.attr('data-banned') !== undefined; + const sourceGroupName = isBanned ? 'banned-users' : 'registered-users'; + const delta = $checkboxEl.prop('checked') === ($wrapperEl.attr('data-value') === 'true') ? null : state; if (member) { if (isGroup && privilege === 'groups:moderate' && !isPrivate && state) { bootbox.confirm('[[admin/manage/privileges:alert.confirm-moderate]]', function (confirm) { if (confirm) { - wrapperEl.attr('data-delta', delta); - Privileges.exposeAssumedPrivileges(isBanned); + $wrapperEl.attr('data-delta', delta); + Privileges.exposeSingleAssumedPriv(columnNo, sourceGroupName); } else { - checkboxEl.prop('checked', !checkboxEl.prop('checked')); + $checkboxEl.prop('checked', !$checkboxEl.prop('checked')); } }); } else if (privilege.endsWith('admin:admins-mods') && state) { bootbox.confirm('[[admin/manage/privileges:alert.confirm-admins-mods]]', function (confirm) { if (confirm) { - wrapperEl.attr('data-delta', delta); - Privileges.exposeAssumedPrivileges(); + $wrapperEl.attr('data-delta', delta); + Privileges.exposeSingleAssumedPriv(columnNo, sourceGroupName); } else { - checkboxEl.prop('checked', !checkboxEl.prop('checked')); + $checkboxEl.prop('checked', !$checkboxEl.prop('checked')); } }); } else { - wrapperEl.attr('data-delta', delta); - Privileges.exposeAssumedPrivileges(isBanned); + $wrapperEl.attr('data-delta', delta); + Privileges.exposeSingleAssumedPriv(columnNo, sourceGroupName); } - checkboxRowSelector.updateState(checkboxEl); + checkboxRowSelector.updateState($checkboxEl); } else { app.alertError('[[error:invalid-data]]'); } @@ -100,39 +105,43 @@ define('admin/manage/privileges', [ } }); - $('.privilege-table-container').on('click', '[data-action="search.user"]', Privileges.addUserToPrivilegeTable); - $('.privilege-table-container').on('click', '[data-action="search.group"]', Privileges.addGroupToPrivilegeTable); - $('.privilege-table-container').on('click', '[data-action="copyToChildren"]', function () { + const $privTableCon = $('.privilege-table-container'); + $privTableCon.on('click', '[data-action="search.user"]', Privileges.addUserToPrivilegeTable); + $privTableCon.on('click', '[data-action="search.group"]', Privileges.addGroupToPrivilegeTable); + $privTableCon.on('click', '[data-action="copyToChildren"]', function () { throwConfirmModal('copyToChildren', Privileges.copyPrivilegesToChildren.bind(null, cid, '')); }); - $('.privilege-table-container').on('click', '[data-action="copyToChildrenGroup"]', function () { - var groupName = $(this).parents('[data-group-name]').attr('data-group-name'); + $privTableCon.on('click', '[data-action="copyToChildrenGroup"]', function () { + const groupName = $(this).parents('[data-group-name]').attr('data-group-name'); throwConfirmModal('copyToChildrenGroup', Privileges.copyPrivilegesToChildren.bind(null, cid, groupName)); }); - $('.privilege-table-container').on('click', '[data-action="copyPrivilegesFrom"]', function () { + $privTableCon.on('click', '[data-action="copyPrivilegesFrom"]', function () { Privileges.copyPrivilegesFromCategory(cid, ''); }); - $('.privilege-table-container').on('click', '[data-action="copyPrivilegesFromGroup"]', function () { - var groupName = $(this).parents('[data-group-name]').attr('data-group-name'); + $privTableCon.on('click', '[data-action="copyPrivilegesFromGroup"]', function () { + const groupName = $(this).parents('[data-group-name]').attr('data-group-name'); Privileges.copyPrivilegesFromCategory(cid, groupName); }); - $('.privilege-table-container').on('click', '[data-action="copyToAll"]', function () { + $privTableCon.on('click', '[data-action="copyToAll"]', function () { throwConfirmModal('copyToAll', Privileges.copyPrivilegesToAllCategories.bind(null, cid, '')); }); - $('.privilege-table-container').on('click', '[data-action="copyToAllGroup"]', function () { - var groupName = $(this).parents('[data-group-name]').attr('data-group-name'); + $privTableCon.on('click', '[data-action="copyToAllGroup"]', function () { + const groupName = $(this).parents('[data-group-name]').attr('data-group-name'); throwConfirmModal('copyToAllGroup', Privileges.copyPrivilegesToAllCategories.bind(null, cid, groupName)); }); + $privTableCon.on('click', '.privilege-filters > button', filterPrivileges); + mousetrap.bind('ctrl+s', function (ev) { throwConfirmModal('save', Privileges.commit); ev.preventDefault(); }); function throwConfirmModal(method, onConfirm) { - bootbox.confirm('[[admin/manage/privileges:alert.confirm-' + method + ']]

[[admin/manage/privileges:alert.no-undo]]', function (ok) { + const privilegeSubset = getPrivilegeSubset(); + bootbox.confirm(`[[admin/manage/privileges:alert.confirm-${method}, ${privilegeSubset}]]

[[admin/manage/privileges:alert.no-undo]]`, function (ok) { if (ok) { onConfirm.call(); } @@ -141,12 +150,12 @@ define('admin/manage/privileges', [ }; Privileges.commit = function () { - var tableEl = document.querySelector('.privilege-table-container'); - var requests = $.map(tableEl.querySelectorAll('td[data-delta]'), function (el) { - var privilege = el.getAttribute('data-privilege'); - var rowEl = el.parentNode; - var member = rowEl.getAttribute('data-group-name') || rowEl.getAttribute('data-uid'); - var state = el.getAttribute('data-delta') === 'true' ? 1 : 0; + const tableEl = document.querySelector('.privilege-table-container'); + const requests = $.map(tableEl.querySelectorAll('td[data-delta]'), function (el) { + const privilege = el.getAttribute('data-privilege'); + const rowEl = el.parentNode; + const member = rowEl.getAttribute('data-group-name') || rowEl.getAttribute('data-uid'); + const state = el.getAttribute('data-delta') === 'true' ? 1 : 0; return Privileges.setPrivilege(member, privilege, state); }); @@ -173,18 +182,25 @@ define('admin/manage/privileges', [ Privileges.refreshPrivilegeTable = function (groupToHighlight) { api.get(`/categories/${cid}/privileges`, {}).then((privileges) => { ajaxify.data.privileges = { ...ajaxify.data.privileges, ...privileges }; - var tpl = parseInt(cid, 10) ? 'admin/partials/privileges/category' : 'admin/partials/privileges/global'; + const tpl = parseInt(cid, 10) ? 'admin/partials/privileges/category' : 'admin/partials/privileges/global'; app.parseAndTranslate(tpl, { privileges }).then((html) => { + // Get currently selected filters + const btnIndices = $('.privilege-filters button.btn-warning').map((idx, el) => $(el).index()).get(); $('.privilege-table-container').html(html); Privileges.exposeAssumedPrivileges(); - checkboxRowSelector.updateAll(); + document.querySelectorAll('.privilege-filters').forEach((con, i) => { + // Three buttons, placed in reverse order + const lastIdx = $('.privilege-filters').first().find('button').length - 1; + const idx = btnIndices[i] === undefined ? lastIdx : btnIndices[i]; + con.querySelectorAll('button')[idx].click(); + }); hightlightRowByDataAttr('data-group-name', groupToHighlight); }); }).catch(app.alertError); }; - Privileges.exposeAssumedPrivileges = function (isBanned) { + Privileges.exposeAssumedPrivileges = function () { /* If registered-users has a privilege enabled, then all users and groups of that privilege should be assumed to have that privilege as well, even if not set in the db, so reflect @@ -192,32 +208,41 @@ define('admin/manage/privileges', [ */ // As such, individual banned users inherits privileges from banned-users group - // Running this block only when needed - if (isBanned === undefined || isBanned === true) { - const getBannedUsersInputSelector = (privs, i) => `.privilege-table tr[data-banned] td[data-privilege="${privs[i]}"] input`; - const bannedUsersPrivs = getPrivilegesFromRow('banned-users'); - applyPrivileges(bannedUsersPrivs, getBannedUsersInputSelector); - if (isBanned === true) { - return; - } - } + const getBannedUsersInputSelector = (privs, i) => `.privilege-table tr[data-banned] td[data-privilege="${privs[i]}"] input`; + const bannedUsersPrivs = getPrivilegesFromRow('banned-users'); + applyPrivileges(bannedUsersPrivs, getBannedUsersInputSelector); + // For rest that inherits from registered-users const getRegisteredUsersInputSelector = (privs, i) => `.privilege-table tr[data-group-name]:not([data-group-name="registered-users"],[data-group-name="banned-users"],[data-group-name="guests"],[data-group-name="spiders"]) td[data-privilege="${privs[i]}"] input, .privilege-table tr[data-uid]:not([data-banned]) td[data-privilege="${privs[i]}"] input`; const registeredUsersPrivs = getPrivilegesFromRow('registered-users'); applyPrivileges(registeredUsersPrivs, getRegisteredUsersInputSelector); }; + Privileges.exposeSingleAssumedPriv = function (columnNo, sourceGroupName) { + let inputSelectorFn; + switch (sourceGroupName) { + case 'banned-users': + inputSelectorFn = () => `.privilege-table tr[data-banned] td[data-privilege]:nth-child(${columnNo}) input`; + break; + default: + inputSelectorFn = () => `.privilege-table tr[data-group-name]:not([data-group-name="registered-users"],[data-group-name="banned-users"],[data-group-name="guests"],[data-group-name="spiders"]) td[data-privilege]:nth-child(${columnNo}) input, .privilege-table tr[data-uid]:not([data-banned]) td[data-privilege]:nth-child(${columnNo}) input`; + } + + const sourceChecked = getPrivilegeFromColumn(sourceGroupName, columnNo); + applyPrivilegesToColumn(inputSelectorFn, sourceChecked); + }; + Privileges.setPrivilege = (member, privilege, state) => api[state ? 'put' : 'delete'](`/categories/${isNaN(cid) ? 0 : cid}/privileges/${privilege}`, { member }); Privileges.addUserToPrivilegeTable = function () { - var modal = bootbox.dialog({ + const modal = bootbox.dialog({ title: '[[admin/manage/categories:alert.find-user]]', message: '', show: true, }); modal.on('shown.bs.modal', function () { - var inputEl = modal.find('input'); + const inputEl = modal.find('input'); inputEl.focus(); autocomplete.user(inputEl, function (ev, ui) { @@ -229,14 +254,14 @@ define('admin/manage/privileges', [ }; Privileges.addGroupToPrivilegeTable = function () { - var modal = bootbox.dialog({ + const modal = bootbox.dialog({ title: '[[admin/manage/categories:alert.find-group]]', message: '', show: true, }); modal.on('shown.bs.modal', function () { - var inputEl = modal.find('input'); + const inputEl = modal.find('input'); inputEl.focus(); autocomplete.group(inputEl, function (ev, ui) { @@ -254,7 +279,8 @@ define('admin/manage/privileges', [ }; Privileges.copyPrivilegesToChildren = function (cid, group) { - socket.emit('admin.categories.copyPrivilegesToChildren', { cid: cid, group: group }, function (err) { + const filter = getPrivilegeFilter(); + socket.emit('admin.categories.copyPrivilegesToChildren', { cid, group, filter }, function (err) { if (err) { return app.alertError(err.message); } @@ -263,12 +289,20 @@ define('admin/manage/privileges', [ }; Privileges.copyPrivilegesFromCategory = function (cid, group) { + const privilegeSubset = getPrivilegeSubset(); + const message = '
' + + (group ? `[[admin/manage/privileges:alert.copyPrivilegesFromGroup-warning, ${privilegeSubset}]]` : + `[[admin/manage/privileges:alert.copyPrivilegesFrom-warning, ${privilegeSubset}]]`) + + '

[[admin/manage/privileges:alert.no-undo]]'; categorySelector.modal({ + title: '[[admin/manage/privileges:alert.copyPrivilegesFrom-title]]', + message, localCategories: [], showLinks: true, onSubmit: function (selectedCategory) { socket.emit('admin.categories.copyPrivilegesFrom', { toCid: cid, + filter: getPrivilegeFilter(), fromCid: selectedCategory.cid, group: group, }, function (err) { @@ -282,7 +316,8 @@ define('admin/manage/privileges', [ }; Privileges.copyPrivilegesToAllCategories = function (cid, group) { - socket.emit('admin.categories.copyPrivilegesToAllCategories', { cid: cid, group: group }, function (err) { + const filter = getPrivilegeFilter(); + socket.emit('admin.categories.copyPrivilegesToAllCategories', { cid, group, filter }, function (err) { if (err) { return app.alertError(err.message); } @@ -310,6 +345,10 @@ define('admin/manage/privileges', [ })).filter(Boolean); } + function getPrivilegeFromColumn(sourceGroupName, columnNo) { + return $(`.privilege-table tr[data-group-name="${sourceGroupName}"] td:nth-child(${columnNo}) input[type="checkbox"]`)[0].checked; + } + function applyPrivileges(privs, inputSelectorFn) { for (let x = 0, numPrivs = privs.length; x < numPrivs; x += 1) { const inputs = $(inputSelectorFn(privs, x)); @@ -321,14 +360,21 @@ define('admin/manage/privileges', [ } } + function applyPrivilegesToColumn(inputSelectorFn, sourceChecked) { + const $inputs = $(inputSelectorFn()); + $inputs.each((idx, el) => { + el.indeterminate = el.checked ? false : sourceChecked; + }); + } + function hightlightRowByDataAttr(attrName, attrValue) { if (attrValue) { - var el = $('[' + attrName + ']').filter(function () { + const $el = $('[' + attrName + ']').filter(function () { return $(this).attr(attrName) === String(attrValue); }); - if (el.length) { - el.addClass('selected'); + if ($el.length) { + $el.addClass('selected'); return true; } } @@ -346,13 +392,13 @@ define('admin/manage/privileges', [ function addGroupToCategory(group, cb) { cb = cb || function () {}; - var groupRow = document.querySelector('.privilege-table [data-group-name="' + group + '"]'); + const groupRow = document.querySelector('.privilege-table [data-group-name="' + group + '"]'); if (groupRow) { hightlightRowByDataAttr('data-group-name', group); return cb(); } // Generate data for new row - var privilegeSet = ajaxify.data.privileges.keys.groups.reduce(function (memo, cur) { + const privilegeSet = ajaxify.data.privileges.keys.groups.reduce(function (memo, cur) { memo[cur] = false; return memo; }, {}); @@ -368,23 +414,25 @@ define('admin/manage/privileges', [ ], }, }, function (html) { - var tbodyEl = document.querySelector('.privilege-table tbody'); + const tbodyEl = document.querySelector('.privilege-table tbody'); + const btnIdx = $('.privilege-filters').first().find('button.btn-warning').index(); tbodyEl.append(html.get(0)); Privileges.exposeAssumedPrivileges(); hightlightRowByDataAttr('data-group-name', group); + document.querySelector('.privilege-filters').querySelectorAll('button')[btnIdx].click(); cb(); }); } async function addUserToCategory(user, cb) { cb = cb || function () {}; - var userRow = document.querySelector('.privilege-table [data-uid="' + user.uid + '"]'); + const userRow = document.querySelector('.privilege-table [data-uid="' + user.uid + '"]'); if (userRow) { hightlightRowByDataAttr('data-uid', user.uid); return cb(); } // Generate data for new row - var privilegeSet = ajaxify.data.privileges.keys.users.reduce(function (memo, cur) { + const privilegeSet = ajaxify.data.privileges.keys.users.reduce(function (memo, cur) { memo[cur] = false; return memo; }, {}); @@ -405,12 +453,47 @@ define('admin/manage/privileges', [ }, }); - var tbodyEl = document.querySelectorAll('.privilege-table tbody'); + const tbodyEl = document.querySelectorAll('.privilege-table tbody'); + const btnIdx = $('.privilege-filters').last().find('button.btn-warning').index(); tbodyEl[1].append(html.get(0)); Privileges.exposeAssumedPrivileges(); hightlightRowByDataAttr('data-uid', user.uid); + document.querySelectorAll('.privilege-filters')[1].querySelectorAll('button')[btnIdx].click(); cb(); } + function filterPrivileges(ev) { + const [startIdx, endIdx] = ev.target.getAttribute('data-filter').split(',').map(i => parseInt(i, 10)); + const rows = $(ev.target).closest('table')[0].querySelectorAll('thead tr:last-child, tbody tr '); + rows.forEach((tr) => { + tr.querySelectorAll('td, th').forEach((el, idx) => { + const offset = el.tagName.toUpperCase() === 'TH' ? 1 : 0; + if (idx < (SKIP_PRIV_COLS - offset)) { + return; + } + el.classList.toggle('hidden', !(idx >= (startIdx - offset) && idx <= (endIdx - offset))); + }); + }); + checkboxRowSelector.updateAll(); + $(ev.target).siblings('button').toArray().forEach(btn => btn.classList.remove('btn-warning')); + ev.target.classList.add('btn-warning'); + } + + function getPrivilegeFilter() { + const indices = document.querySelector('.privilege-filters .btn-warning') + .getAttribute('data-filter') + .split(',') + .map(i => parseInt(i, 10)); + indices[0] -= SKIP_PRIV_COLS; + indices[1] = indices[1] - SKIP_PRIV_COLS + 1; + return indices; + } + + function getPrivilegeSubset() { + const currentPrivFilter = document.querySelector('.privilege-filters .btn-warning'); + const filterText = currentPrivFilter ? currentPrivFilter.textContent.toLocaleLowerCase() : ''; + return filterText.indexOf('privileges') > -1 ? filterText : `${filterText} privileges`.trim(); + } + return Privileges; }); diff --git a/public/src/admin/manage/uploads.js b/public/src/admin/manage/uploads.js index 253e5ac1af..6ed59d2f77 100644 --- a/public/src/admin/manage/uploads.js +++ b/public/src/admin/manage/uploads.js @@ -1,7 +1,6 @@ 'use strict'; - -define('admin/manage/uploads', ['uploader', 'api'], function (uploader, api) { +define('admin/manage/uploads', ['api', 'bootbox', 'uploader'], function (api, bootbox, uploader) { var Uploads = {}; Uploads.init = function () { @@ -29,6 +28,21 @@ define('admin/manage/uploads', ['uploader', 'api'], function (uploader, api) { }).catch(app.alertError); }); }); + + $('#new-folder').on('click', async function () { + bootbox.prompt('[[admin/manage/uploads:name-new-folder]]', (newFolderName) => { + if (!newFolderName || !newFolderName.trim()) { + return; + } + + api.put('/files/folder', { + path: ajaxify.data.currentFolder, + folderName: newFolderName, + }).then(() => { + ajaxify.refresh(); + }).catch(app.alertError); + }); + }); }; return Uploads; diff --git a/public/src/admin/modules/checkboxRowSelector.js b/public/src/admin/modules/checkboxRowSelector.js index 7d41fc6914..ea50b3cc0b 100644 --- a/public/src/admin/modules/checkboxRowSelector.js +++ b/public/src/admin/modules/checkboxRowSelector.js @@ -21,7 +21,7 @@ define('admin/modules/checkboxRowSelector', function () { if (self.toggling) { return; } - const checkboxes = $checkboxEl.closest('tr').find('input:not([disabled])').toArray(); + const checkboxes = $checkboxEl.closest('tr').find('input:not([disabled]):visible').toArray(); const $toggler = $(checkboxes.shift()); const rowState = checkboxes.length && checkboxes.every(el => el.checked); $toggler.prop('checked', rowState); @@ -35,7 +35,7 @@ define('admin/modules/checkboxRowSelector', function () { function toggleAll($checkboxEl) { self.toggling = true; const state = $checkboxEl.prop('checked'); - $checkboxEl.closest('tr').find('input:not(.checkbox-helper)').each((idx, el) => { + $checkboxEl.closest('tr').find('input:not(.checkbox-helper):visible').each((idx, el) => { const $checkbox = $(el); if ($checkbox.prop('checked') === state) { return; diff --git a/public/src/app.js b/public/src/app.js index a76d4b7f1a..694fed6dd5 100644 --- a/public/src/app.js +++ b/public/src/app.js @@ -97,7 +97,6 @@ app.cacheBuster = null; }); createHeaderTooltips(); - app.showEmailConfirmWarning(); app.showCookieWarning(); registerServiceWorker(); @@ -740,7 +739,24 @@ app.cacheBuster = null; app.showEmailConfirmWarning = async (err) => { const storage = await app.require('storage'); - if (!app.user.uid || parseInt(storage.getItem('email-confirm-dismiss'), 10) === 1) { + let showModal = false; + switch (ajaxify.data.template.name) { + case 'recent': { + showModal = !ajaxify.data.canPost; + break; + } + + case 'category': { + showModal = !ajaxify.data.privileges['topics:create']; + break; + } + + case 'topic': { + showModal = !ajaxify.data.privileges['topics:reply']; + } + } + + if (!showModal || !app.user.uid || parseInt(storage.getItem('email-confirm-dismiss'), 10) === 1) { return; } var msg = { @@ -770,7 +786,6 @@ app.cacheBuster = null; app.alertSuccess('[[notifications:email-confirm-sent]]'); }); }; - app.alert(msg); } else if (!app.user['email:confirmed'] && app.user.isEmailConfirmSent) { msg.message = '[[error:email-not-confirmed-email-sent]]'; diff --git a/public/src/client/category.js b/public/src/client/category.js index 62fbc49516..43c828a4af 100644 --- a/public/src/client/category.js +++ b/public/src/client/category.js @@ -48,6 +48,8 @@ define('forum/category', [ }, }); + app.showEmailConfirmWarning(); + hooks.fire('action:topics.loaded', { topics: ajaxify.data.topics }); hooks.fire('action:category.loaded', { cid: ajaxify.data.cid }); }; diff --git a/public/src/client/recent.js b/public/src/client/recent.js index 35f886c582..93e3593039 100644 --- a/public/src/client/recent.js +++ b/public/src/client/recent.js @@ -7,6 +7,7 @@ define('forum/recent', ['topicList'], function (topicList) { app.enterRoom('recent_topics'); topicList.init('recent'); + app.showEmailConfirmWarning(); }; return Recent; diff --git a/public/src/client/topic.js b/public/src/client/topic.js index c6cce374c9..adf46848e5 100644 --- a/public/src/client/topic.js +++ b/public/src/client/topic.js @@ -74,6 +74,7 @@ define('forum/topic', [ $(window).on('scroll', updateTopicTitle); handleTopicSearch(); + app.showEmailConfirmWarning(); hooks.fire('action:topic.loaded', ajaxify.data); }; diff --git a/public/src/client/topic/postTools.js b/public/src/client/topic/postTools.js index 0323663f81..dfc9f6ce72 100644 --- a/public/src/client/topic/postTools.js +++ b/public/src/client/topic/postTools.js @@ -353,7 +353,7 @@ define('forum/topic/postTools', [ return app.alertError(err); } var type = method === 'put' ? 'bookmark' : 'unbookmark'; - hooks.fire('action:post.' + type, { pid: pid }); + hooks.fire(`action:post.${type}`, { pid: pid }); }); return false; } diff --git a/public/src/modules/categorySelector.js b/public/src/modules/categorySelector.js index 3117857999..f7de882276 100644 --- a/public/src/modules/categorySelector.js +++ b/public/src/modules/categorySelector.js @@ -61,9 +61,9 @@ define('categorySelector', [ options = options || {}; options.onSelect = options.onSelect || function () {}; options.onSubmit = options.onSubmit || function () {}; - app.parseAndTranslate('admin/partials/categories/select-category', {}, function (html) { + app.parseAndTranslate('admin/partials/categories/select-category', { message: options.message }, function (html) { var modal = bootbox.dialog({ - title: '[[modules:composer.select_category]]', + title: options.title || '[[modules:composer.select_category]]', message: html, buttons: { save: { diff --git a/src/als.js b/src/als.js new file mode 100644 index 0000000000..a3aec0220f --- /dev/null +++ b/src/als.js @@ -0,0 +1,7 @@ +'use strict'; + +const { AsyncLocalStorage } = require('async_hooks'); + +const asyncLocalStorage = new AsyncLocalStorage(); + +module.exports = asyncLocalStorage; diff --git a/src/categories/create.js b/src/categories/create.js index 172ba7b1a6..7b787a666e 100644 --- a/src/categories/create.js +++ b/src/categories/create.js @@ -199,13 +199,19 @@ module.exports = function (Categories) { cache.del(`cid:${toCid}:tag:whitelist`); } - Categories.copyPrivilegesFrom = async function (fromCid, toCid, group) { + Categories.copyPrivilegesFrom = async function (fromCid, toCid, group, filter = []) { group = group || ''; + let privsToCopy; + if (group) { + privsToCopy = privileges.categories.groupPrivilegeList.slice(...filter); + } else { + const privs = privileges.categories.privilegeList.slice(); + const halfIdx = privs.length / 2; + privsToCopy = privs.slice(0, halfIdx).slice(...filter).concat(privs.slice(halfIdx).slice(...filter)); + } const data = await plugins.hooks.fire('filter:categories.copyPrivilegesFrom', { - privileges: group ? - privileges.categories.groupPrivilegeList.slice() : - privileges.categories.privilegeList.slice(), + privileges: privsToCopy, fromCid: fromCid, toCid: toCid, group: group, diff --git a/src/controllers/write/files.js b/src/controllers/write/files.js index 564424f5cd..61a6320094 100644 --- a/src/controllers/write/files.js +++ b/src/controllers/write/files.js @@ -9,3 +9,8 @@ Files.delete = async (req, res) => { await fs.unlink(res.locals.cleanedPath); helpers.formatApiResponse(200, res); }; + +Files.createFolder = async (req, res) => { + await fs.mkdir(res.locals.folderPath); + helpers.formatApiResponse(200, res); +}; diff --git a/src/database/mongo/sorted/remove.js b/src/database/mongo/sorted/remove.js index aecb137c12..d6bf96fa7e 100644 --- a/src/database/mongo/sorted/remove.js +++ b/src/database/mongo/sorted/remove.js @@ -57,7 +57,7 @@ module.exports = function (module) { return; } const bulk = module.client.collection('objects').initializeUnorderedBulkOp(); - data.forEach(item => bulk.find({ _key: item[0], value: String(item[1]) }).remove()); + data.forEach(item => bulk.find({ _key: item[0], value: String(item[1]) }).delete()); await bulk.execute(); }; }; diff --git a/src/groups/invite.js b/src/groups/invite.js index b08d6c0bcf..784f0f560b 100644 --- a/src/groups/invite.js +++ b/src/groups/invite.js @@ -82,8 +82,8 @@ module.exports = function (Groups) { const set = type === 'invite' ? `group:${groupName}:invited` : `group:${groupName}:pending`; await db.setAdd(set, uids); - const hookName = type === 'invite' ? 'action:group.inviteMember' : 'action:group.requestMembership'; - plugins.hooks.fire(hookName, { + const hookName = type === 'invite' ? 'inviteMember' : 'requestMembership'; + plugins.hooks.fire(`action:group.${hookName}`, { groupName: groupName, uids: uids, }); diff --git a/src/middleware/assert.js b/src/middleware/assert.js index c92d8d2d13..49718cba14 100644 --- a/src/middleware/assert.js +++ b/src/middleware/assert.js @@ -14,6 +14,7 @@ const user = require('../user'); const groups = require('../groups'); const topics = require('../topics'); const posts = require('../posts'); +const slugify = require('../slugify'); const helpers = require('./helpers'); const controllerHelpers = require('../controllers/helpers'); @@ -86,3 +87,20 @@ Assert.path = helpers.try(async (req, res, next) => { next(); }); + +Assert.folderName = helpers.try(async (req, res, next) => { + const folderName = slugify(path.basename(req.body.folderName.trim())); + const folderPath = path.join(res.locals.cleanedPath, folderName); + + // slugify removes invalid characters, folderName may become empty + if (!folderName) { + return controllerHelpers.formatApiResponse(403, res, new Error('[[error:invalid-path]]')); + } + if (await file.exists(folderPath)) { + return controllerHelpers.formatApiResponse(403, res, new Error('[[error:folder-exists]]')); + } + + res.locals.folderPath = folderPath; + + next(); +}); diff --git a/src/plugins/hooks.js b/src/plugins/hooks.js index 59f904d186..d46a1fcdb0 100644 --- a/src/plugins/hooks.js +++ b/src/plugins/hooks.js @@ -96,6 +96,10 @@ Hooks.fire = async function (hook, params) { winston.warn(`[plugins] Unknown hookType: ${hookType}, hook : ${hook}`); return; } + if (params && typeof params === 'object' && !params.hasOwnProperty('caller')) { + const als = require('../als'); + params.caller = als.getStore(); + } const result = await hookTypeToMethod[hookType](hook, hookList, params); if (hook !== 'action:plugins.firehook' && hook !== 'filter:plugins.firehook') { diff --git a/src/plugins/install.js b/src/plugins/install.js index b6a7726b9e..8c0f6c644a 100644 --- a/src/plugins/install.js +++ b/src/plugins/install.js @@ -65,7 +65,8 @@ module.exports = function (Plugins) { await db.sortedSetAdd('plugins:active', count, id); } meta.reloadRequired = true; - Plugins.hooks.fire(isActive ? 'action:plugin.deactivate' : 'action:plugin.activate', { id: id }); + const hook = isActive ? 'deactivate' : 'activate'; + Plugins.hooks.fire(`action:plugin.${hook}`, { id: id }); return { id: id, active: !isActive }; }; diff --git a/src/routes/write/files.js b/src/routes/write/files.js index f0d2aab037..97ddde6d01 100644 --- a/src/routes/write/files.js +++ b/src/routes/write/files.js @@ -8,7 +8,7 @@ const routeHelpers = require('../helpers'); const { setupApiRoute } = routeHelpers; module.exports = function () { - const middlewares = [middleware.ensureLoggedIn]; + const middlewares = [middleware.ensureLoggedIn, middleware.admin.checkPrivileges]; // setupApiRoute(router, 'put', '/', [ // ...middlewares, @@ -21,5 +21,13 @@ module.exports = function () { middleware.assert.path, ], controllers.write.files.delete); + setupApiRoute(router, 'put', '/folder', [ + ...middlewares, + middleware.checkRequired.bind(null, ['path', 'folderName']), + middleware.assert.path, + // Should come after assert.path + middleware.assert.folderName, + ], controllers.write.files.createFolder); + return router; }; diff --git a/src/socket.io/admin/categories.js b/src/socket.io/admin/categories.js index 31ac606a08..5f1e9cb219 100644 --- a/src/socket.io/admin/categories.js +++ b/src/socket.io/admin/categories.js @@ -73,15 +73,15 @@ Categories.copyPrivilegesToChildren = async function (socket, data) { const children = result[0]; for (const child of children) { // eslint-disable-next-line no-await-in-loop - await copyPrivilegesToChildrenRecursive(data.cid, child, data.group); + await copyPrivilegesToChildrenRecursive(data.cid, child, data.group, data.filter); } }; -async function copyPrivilegesToChildrenRecursive(parentCid, category, group) { - await categories.copyPrivilegesFrom(parentCid, category.cid, group); +async function copyPrivilegesToChildrenRecursive(parentCid, category, group, filter) { + await categories.copyPrivilegesFrom(parentCid, category.cid, group, filter); for (const child of category.children) { // eslint-disable-next-line no-await-in-loop - await copyPrivilegesToChildrenRecursive(parentCid, child, group); + await copyPrivilegesToChildrenRecursive(parentCid, child, group, filter); } } @@ -90,7 +90,7 @@ Categories.copySettingsFrom = async function (socket, data) { }; Categories.copyPrivilegesFrom = async function (socket, data) { - await categories.copyPrivilegesFrom(data.fromCid, data.toCid, data.group); + await categories.copyPrivilegesFrom(data.fromCid, data.toCid, data.group, data.filter); }; Categories.copyPrivilegesToAllCategories = async function (socket, data) { @@ -98,6 +98,6 @@ Categories.copyPrivilegesToAllCategories = async function (socket, data) { cids = cids.filter(cid => parseInt(cid, 10) !== parseInt(data.cid, 10)); for (const toCid of cids) { // eslint-disable-next-line no-await-in-loop - await categories.copyPrivilegesFrom(data.cid, toCid, data.group); + await categories.copyPrivilegesFrom(data.cid, toCid, data.group, data.filter); } }; diff --git a/src/socket.io/index.js b/src/socket.io/index.js index aaaceb2010..773f885791 100644 --- a/src/socket.io/index.js +++ b/src/socket.io/index.js @@ -73,7 +73,8 @@ function onConnection(socket) { onConnect(socket); socket.onAny((event, ...args) => { const payload = { data: [event].concat(args) }; - onMessage(socket, payload); + const als = require('../als'); + als.run({ uid: socket.uid }, onMessage, socket, payload); }); socket.on('disconnect', () => { diff --git a/src/topics/tools.js b/src/topics/tools.js index 1fe032fe13..e296b2d333 100644 --- a/src/topics/tools.js +++ b/src/topics/tools.js @@ -33,7 +33,8 @@ module.exports = function (Topics) { } const canDelete = await privileges.topics.canDelete(tid, uid); - const data = await plugins.hooks.fire(isDelete ? 'filter:topic.delete' : 'filter:topic.restore', { topicData: topicData, uid: uid, isDelete: isDelete, canDelete: canDelete, canRestore: canDelete }); + const hook = isDelete ? 'delete' : 'restore'; + const data = await plugins.hooks.fire(`filter:topic.${hook}`, { topicData: topicData, uid: uid, isDelete: isDelete, canDelete: canDelete, canRestore: canDelete }); if ((!data.canDelete && data.isDelete) || (!data.canRestore && !data.isDelete)) { throw new Error('[[error:no-privileges]]'); diff --git a/src/views/admin/manage/uploads.tpl b/src/views/admin/manage/uploads.tpl index bec935d1af..e478d2b023 100644 --- a/src/views/admin/manage/uploads.tpl +++ b/src/views/admin/manage/uploads.tpl @@ -1,6 +1,13 @@
- +
+
+ +
+
+ +
+
diff --git a/src/views/admin/partials/categories/select-category.tpl b/src/views/admin/partials/categories/select-category.tpl index 7f8ed6c2b5..a0a28b6eed 100644 --- a/src/views/admin/partials/categories/select-category.tpl +++ b/src/views/admin/partials/categories/select-category.tpl @@ -19,4 +19,7 @@
- \ No newline at end of file + +{{{ if message }}} +
{message}
+{{{ end }}} \ No newline at end of file diff --git a/src/views/admin/partials/privileges/category.tpl b/src/views/admin/partials/privileges/category.tpl index f2d607308f..c2c03c2bec 100644 --- a/src/views/admin/partials/privileges/category.tpl +++ b/src/views/admin/partials/privileges/category.tpl @@ -2,21 +2,14 @@ - - - - - - - @@ -92,21 +85,14 @@
- [[admin/manage/categories:privileges.section-viewing]] + + + + + + + - [[admin/manage/categories:privileges.section-posting]] - - [[admin/manage/categories:privileges.section-moderation]] - - [[admin/manage/categories:privileges.section-other]] -
[[admin/manage/categories:privileges.section-group]]
- - - - - - - diff --git a/src/webserver.js b/src/webserver.js index ca488e9c03..22343f6036 100644 --- a/src/webserver.js +++ b/src/webserver.js @@ -171,6 +171,10 @@ function setupExpressApp(app) { app.use(middleware.addHeaders); app.use(middleware.processRender); auth.initialize(app, middleware); + const als = require('./als'); + app.use((req, res, next) => { + als.run({ uid: req.uid }, next); + }); app.use(middleware.autoLocale); // must be added after auth middlewares are added const toobusy = require('toobusy-js'); diff --git a/test/database/sorted.js b/test/database/sorted.js index 9548b602bd..8b348961ee 100644 --- a/test/database/sorted.js +++ b/test/database/sorted.js @@ -334,7 +334,7 @@ describe('Sorted Set methods', () => { }); it('should work with big arrays (length > 100) ', async function () { - this.timeout(50000); + this.timeout(100000); const keys = []; for (let i = 0; i < 400; i++) { /* eslint-disable no-await-in-loop */ diff --git a/test/helpers/index.js b/test/helpers/index.js index 6f9710faf7..ecb2ebd0a4 100644 --- a/test/helpers/index.js +++ b/test/helpers/index.js @@ -183,4 +183,20 @@ helpers.invite = async function (body, uid, jar, csrf_token) { return { res, body }; }; +helpers.createFolder = function (path, folderName, jar, csrf_token) { + return requestAsync.put(`${nconf.get('url')}/api/v3/files/folder`, { + jar, + body: { + path, + folderName, + }, + json: true, + headers: { + 'x-csrf-token': csrf_token, + }, + simple: false, + resolveWithFullResponse: true, + }); +}; + require('../../src/promisify')(helpers); diff --git a/test/notifications.js b/test/notifications.js index 7ff53f3c60..96894e7606 100644 --- a/test/notifications.js +++ b/test/notifications.js @@ -359,7 +359,7 @@ describe('Notifications', () => { assert(nids.includes(nid)); done(); }); - }, 1500); + }, 3000); }); }); }); diff --git a/test/uploads.js b/test/uploads.js index 27facd2e67..6fbf1e4f11 100644 --- a/test/uploads.js +++ b/test/uploads.js @@ -1,10 +1,11 @@ 'use strict'; const async = require('async'); -const assert = require('assert'); +const assert = require('assert'); const nconf = require('nconf'); const path = require('path'); const request = require('request'); +const requestAsync = require('request-promise-native'); const db = require('./mocks/databasemock'); const categories = require('../src/categories'); @@ -372,14 +373,28 @@ describe('Upload Controllers', () => { describe('admin uploads', () => { let jar; let csrf_token; + let regularJar; + let regular_csrf_token; before((done) => { - helpers.loginUser('admin', 'barbar', (err, _jar, _csrf_token) => { - assert.ifError(err); - jar = _jar; - csrf_token = _csrf_token; - done(); - }); + async.parallel([ + function (next) { + helpers.loginUser('admin', 'barbar', (err, _jar, _csrf_token) => { + assert.ifError(err); + jar = _jar; + csrf_token = _csrf_token; + next(); + }); + }, + function (next) { + helpers.loginUser('regular', 'zugzug', (err, _jar, _csrf_token) => { + assert.ifError(err); + regularJar = _jar; + regular_csrf_token = _csrf_token; + next(); + }); + }, + ], done); }); it('should upload site logo', (done) => { @@ -490,5 +505,67 @@ describe('Upload Controllers', () => { done(); }); }); + + describe('ACP uploads screen', () => { + it('should create a folder', async () => { + const res = await helpers.createFolder('', 'myfolder', jar, csrf_token); + assert.strictEqual(res.statusCode, 200); + assert(file.existsSync(path.join(nconf.get('upload_path'), 'myfolder'))); + }); + + it('should fail to create a folder if it already exists', async () => { + const res = await helpers.createFolder('', 'myfolder', jar, csrf_token); + assert.strictEqual(res.statusCode, 403); + assert.deepStrictEqual(res.body.status, { + code: 'forbidden', + message: 'Folder exists', + }); + }); + + it('should fail to create a folder as a non-admin', async () => { + const res = await helpers.createFolder('', 'hisfolder', regularJar, regular_csrf_token); + assert.strictEqual(res.statusCode, 403); + assert.deepStrictEqual(res.body.status, { + code: 'forbidden', + message: 'You are not authorised to make this call', + }); + }); + + it('should fail to create a folder in wrong directory', async () => { + const res = await helpers.createFolder('../traversing', 'unexpectedfolder', jar, csrf_token); + assert.strictEqual(res.statusCode, 403); + assert.deepStrictEqual(res.body.status, { + code: 'forbidden', + message: 'Invalid path', + }); + }); + + it('should use basename of given folderName to create new folder', async () => { + const res = await helpers.createFolder('/myfolder', '../another folder', jar, csrf_token); + assert.strictEqual(res.statusCode, 200); + const slugifiedName = 'another-folder'; + assert(file.existsSync(path.join(nconf.get('upload_path'), 'myfolder', slugifiedName))); + }); + + it('should fail to delete a file as a non-admin', async () => { + const res = await requestAsync.delete(`${nconf.get('url')}/api/v3/files`, { + body: { + path: '/system/test.png', + }, + jar: regularJar, + json: true, + headers: { + 'x-csrf-token': regular_csrf_token, + }, + simple: false, + resolveWithFullResponse: true, + }); + assert.strictEqual(res.statusCode, 403); + assert.deepStrictEqual(res.body.status, { + code: 'forbidden', + message: 'You are not authorised to make this call', + }); + }); + }); }); });
- [[admin/manage/categories:privileges.section-viewing]] - - [[admin/manage/categories:privileges.section-posting]] - - [[admin/manage/categories:privileges.section-moderation]] - - [[admin/manage/categories:privileges.section-other]] + + + + + + +
[[admin/manage/categories:privileges.section-user]]