There was an odd issue where non-superadmins could not use
the /admin route to access the ACP, even though they had
appropriate access. For whatever reason, it could not
be reliably reproduced on my dev. As it turns out, the
reason was because I was checking the wrong privilege,
and my dev database had this wrong privilege leftover
from the initial development of the ACP admin privileges
feature. Dumb.
Anyhow, that fixes this issue.
9adaccd036 introduced the ability to
configure an assetBaseUrl, but the timeago strings were still
calling a hardcoded value as it was handled server-side. There's
no need for the strings to be loaded until timeago is initialised.
Additional base URLs were necessary for benchpress and translator,
and in order to not clutter the API response with needless one-
time use base URLs, I decided to use a single base that is used
by all of the services, assetBaseUrl.
We used to send a soft 404 because require.js would error out on
a 404, but it seems years ago, error handling was added to the
require() call, so a hard 404 will not throw errors to the console
* feat: privileges save button, #8537, WIP
* fix: disable firefox autocomplete on privilege form fields
* feat: closes#8537 privilege changes commit on save
- new language strings for confirmation and success modals/toasts
- indeterminate privilege handling (/cc @psychobunny)
- added new discard button
- both discard and save buttons now have confirmation dialogs
* fix(tests): remove duplicate template helper test
* fix(tests): broken template helper test
* feat: confirm dialogs for all privilege copy actions
Also, ability to add user to a privilege table without needing
to refresh the privilege table.
* feat: group row addition w/o table refresh
breaking: helpers.getUserPrivileges and helpers.getGroupPrivileges
no longer make socket calls to the following hooks:
- filter:privileges.list, filter:privileges.admin.list,
filter:privileges.global.list, filter:privileges.groups.list,
filter:privileges.admin.groups.list,
filter:privileges.gloval.groups.list
The filters are still called, but done before the helper method
is called, and the results are passed in instead. This change
should only affect you if you directly call the helper methods,
otherwise the change is transparent.
* fix: stale ajaxify data on privilege category switch
* fix: implicit privileges not showing for user privs
* fix: groups, not group, also fix tests
* fix(tests): again
* fix: wrong tpl rendered when adding group to global priv table
- Added new config flag:limitPerTarget, to disallow flags after an item has
already been flagged x times (default 0, or infinite)
- New zset flags:byTarget, score is the number of times a flag has been made
against that item
- "already-flagged" translation key removed, now "post-already-flagged" or
"user-already-flagged" -- this fixed bug where flagging a user you've already
flagged would tell you you've already flagged this post already.
- Refactored Flags.canFlag to throw errors only, instead of returning boolean
- Updated ACP form inputs for reputation settings page to be more bootstrappy
- +1 upgrade script
make isPrimary and isCluster always booleans
they were strings when using ./nodebb start and boolean if they were in config.json and started with node app.js
allow selecting main topic to merge into
allow specifying a new title for merge topic
upon merge go to correct topic
new tests for merging with options
* feat: acp privileges (WIP)
* fix: restore global privilege hooks
* refactor: using cid 0 in admin privs
* fix: no need for zebrastripe-reset
* feat: manage:categories privilege WIP
* feat: renamed prefix to admin:, settigns and dashboard privs
* fix: nofocus on acp privs group find modal
* refactor: privileges.x.get() to not used hardcoded privs
* fix: crash if unable to get latest version
* feat: setting acp priv
* Revert "fix: crash if unable to get latest version"
This reverts commit afdb235f48.
* feat: user/privilege acp privs
* fix: category selector in manage/privileges
* fix: guests potentially becoming admins
* fix: bug in setting admin privs
* fix: some last minute things + api docs
* fix: some more last minute fixes
* refactor: make middleware.admin.renderHeader async
* refactor: making rendering of header and footer async functions
* fix: use app.renderAsync instead of promifying it
* feat: fix session mismatch errors by clearing cookie on logout
* feat: remove app.upateHeader
ported from 2.0
* feat: handle if user doesn't click button and just refreshes page
* feat: add privilege give/rescind hooks
action:privileges.categories.give/rescind
action:privileges.global.give/rescind
breaking change, privileges.categories.give/rescind and privileges.global.give/rescind use full privilege name for groups ie `groups:find` instead of `find`
* fix: tests, privileges renamed
- Show account moderation history
- Ban and delete quick actions
Squashed commit of the following:
commit 0e782e65f4d48ae814708e510ec9d01bcdd914e0
Author: Julian Lam <julian@nodebb.org>
Date: Tue May 26 20:24:53 2020 -0400
fix(deps): use persona 10.1.41/vanilla 11.1.17
commit 369e073d3c3189d8ce181eb3d573489cbe54d4fc
Author: Julian Lam <julian@nodebb.org>
Date: Tue May 26 20:23:24 2020 -0400
fix: allow ban and delete exported methods to have cbs
commit b83a086ea31a77ec82d161306c0b9bc115cb2a3a
Merge: 525aae1ea 256ee45d3
Author: Julian Lam <julian@nodebb.org>
Date: Tue May 26 08:54:25 2020 -0400
Merge remote-tracking branch 'origin/master' into flags-improvements
commit 525aae1ea2e5d0103028a0f0c8dde05f172d088e
Author: Julian Lam <julian@nodebb.org>
Date: Tue May 26 08:53:39 2020 -0400
feat: integrate ban history and username changes to flag history list
commit 3e68ad28ba266f4c8620a676aa7f463f0a9d1df7
Author: Julian Lam <julian@nodebb.org>
Date: Mon May 25 18:22:53 2020 -0400
feat: allow ban and deletion from flag details page
commit a559ea1d8e8883385c2876868d855a0b93516c54
Author: Julian Lam <julian@nodebb.org>
Date: Mon May 25 18:22:00 2020 -0400
feat: export banAccount and deleteAccount methods from accounts module
After some more thought, a response hook should be checking for
whether headers are sent, and executing (or not executing) the
default logic in that case.
Before, we were relying on hooks to call data.next() to continue
execution, but it makes more sense to have the listener either
send a response or not, and handle the behaviour afterwards.
* feat: testing suite integration for openapi spec
The testing suite now takes the openapi spec into account. It will
check each route defined, make a call to it, and compare the
response with the defined schema. Any mismatches will cause the
test to fail.
* fix(openapi): removed debug stuff from tests
* fix(openapi): fixed some tests
* fix(openapi): added additional check to tests, test fixes
* fix(openapi): better tests, fixed spec errors
* fix(openapi): bad conditional in test
* fix: oops
* fix(openapi): more tests fixing
* fix(openapi): more tests
* fix(openapi): fix some more tests
* fix: verbose'd an info log
* fix: topic pagination route returns schema-optimized pagination block
* fix(openapi): more test/spec fixes
* fix(openapi): accidentally sending in authenticated jar for anon routes
* fix(openapi): more test/spec fixes
* fix(openapi): more spec fixes
* fix: timestampReadable Invalid Date
* fix(openapi): more tests... almost there
* fix(openapi): more tests fixing
* fix(openapi): finally all tests passing
* fix(openapi): added reverse test to compare response to spec
... and fixed all the tests that broke
* fix: remove tests related to group covers, as route is gone
* fix(openapi): broken test on travis
* fix(openapi): broken test on travis
* fix(openapi): broken test on travis
* fix(openapi): object cache is not present for psql
* fix: tests
Co-authored-by: Barış Soner Uşaklı <barisusakli@gmail.com>
There is no reason why avatars should be a blocking reasorce, and browsers are now adding support for lazy loading of images (and iframes). According to [caniuse.com](https://caniuse.com/#feat=loading-lazy-attr) 62% of users use a browser that supports this attribute.
So there doesn't seem to be any downside to just adding this attribute here. It won't affect browsers that don't support it and might speed up page loads on browsers that do.
* feat: support pnpm, cnpm
* feat: store supportedPackageManager in default package.json
* feat: store supportedPackageManager in src/cli/package-install.js
Co-authored-by: a632079 <a632079@qq.com>
* fixes sitemap base url issue when using with subfolder
* fixes sitemap base url issue when using with subfolder
* uses directly relative path
* removes prefix variable
fix#8079
Unified Topology changes the concept of connecting and causes isConnected to always return true, making any reconnection options useless. Next major version of the driver will remove isConnected entirely.
So:
- reconnect tries
- reconnectInterval
- autoReconnect
Are deprecated and don't really do anything anymore (when unified topology is used at least) other than causing warnings at startup since the 3.4 version of the driver (the current version used by NodeBB is 3.5).
Reference: http://mongodb.github.io/node-mongodb-native/3.5/reference/unified-topology/
* fix: #8142, broken site if no server-side session
During the `addHeader` middleware, a check is now done to see if
`req.session.meta` is present. This value is only present if the user
has a valid server-side session. If it is missing, then it is probably
safe to assume that the server-side session was deleted (either
intentionally or accidentally). In that scenario, the client-side cookie
should be cleared.
Also, there was an issue where the sessionRefresh flag was never cleared
after a successful login, so that was fixed too.
* feat: exported method to get cookie config
* fix: don't clear cookie if cookie is being set
* fix: socket.io tests
Co-authored-by: Barış Soner Uşaklı <barisusakli@gmail.com>
In scenarios where onSuccessfulLogin was not called in the SSO plugin,
core's calling of onSuccessfulLogin was prematurely returning, because
it was checking the wrong value.
This commit fixes the issue by checking a different value.
- Now showing user-join message for chat owner in addition to the newly
added user
- If a modal already exists for a room when createModal is called, don't
return null, return the modal
- The logic for the build step now defaults to series instead of
parallel, unless more than 4 CPU cores are detected by the os
library.
- The `--series` flag still exists, and will enforce build in
series, as before.
* feat: add assignee checking when updating flag
Prior to this, it was possible to update the assignee to any value (or
any user. This commit adds checking to allow only admins, global
moderators, or in the case of flagged posts, moderators.
Also some prep work was added for value checking `state`.
* feat: value checking `state` on flag update
The state should be one of the constants defined earlier in the file.
NodeBB's security policy is based around a private bug bounty program. Users are invited to explore NodeBB for vulnerabilities, and report them to the NodeBB team so that they can be patched.
If you have found a security vulnerability, **do not post it onto our GitHub tracker**. Some security vulnerabilities are quite severe and discretion is recommended. Email the NodeBB Security Team at security@nodebb.org, instead.
# Bug Bounty Program
Security vulnerability reports may be eligible for a bounty based on severity and confirmation from NodeBB team members. For full details regarding our bug bounty program, including the bounty amounts, please consult the following page: https://blog.nodebb.org/bounty
"page-views-custom-help":"أدخل نطاقا زمنيا لمرات مشاهدة الصفحات التي ترغب في عرضها. إذا لم يظهر منتقي التاريخ، فإن التنسيق المقبول هو <code>YYYY-MM-DD</code>",
"page-views-custom-error":"الرجاء إدخال نطاق تاريخ صالح بالتنسيق <code>YYYY-MM-DD</code>",
"stats.yesterday":"Yesterday",
"stats.today":"Today",
"stats.last-week":"Last Week",
"stats.this-week":"This Week",
"stats.last-month":"Last Month",
"stats.this-month":"This Month",
"stats.all":"كل الوقت",
"updates":"تحديثات",
"running-version":"المنتدى يعمل حاليا على <strong>NodeBB الإصدار<span id=\"version\">%1</span></strong>.",
"keep-updated":"تأكد دائما من أن NodeBB يعمل على احدث إصدار للحصول على أحدث التصحيحات الأمنية وإصلاحات الأخطاء.",
"up-to-date":"<p>المنتدى <strong>يعمل على أحدث إصدار</strong> <i class=\"fa fa-check\"></i></p>",
"upgrade-available":"<p>A new version (v%1) has been released. Consider <a href=\"https://docs.nodebb.org/configuring/upgrade/\" target=\"_blank\">upgrading your NodeBB</a>.</p>",
"prerelease-upgrade-available":"<p>This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider <a href=\"https://docs.nodebb.org/configuring/upgrade/\" target=\"_blank\">upgrading your NodeBB</a>.</p>",
"prerelease-warning":"<p>هذه نسخة <strong>ماقبل الإصدار</strong> من NodeBB. قد تحدث أخطاء غير مقصودة. <i class=\"fa fa-exclamation-triangle\"></i></p>",
"running-in-development":"المنتدى قيد التشغيل في وضع \"المطورين\". وقد تكون هناك ثغرات أمنية مفتوحة؛ من فضلك تواصل مع مسؤول نظامك.",
"latest-lookup-failed":"<p>Failed to look up latest available version of NodeBB</p>",
"notices":"إشعارات",
"restart-not-required":"إعادة التشغيل غير مطلوب",
"restart-required":"إعادة التشغيل مطلوبة",
"search-plugin-installed":"إضافة البحث منصبة",
"search-plugin-not-installed":"إضافة البحث غير منصبة",
"search-plugin-tooltip":"نصب إضافة البحث من صفحة الإضافات البرمجية لتنشيط وظيفة البحث",
"control-panel":"التحكم بالنظام",
"rebuild-and-restart":"Rebuild & Restart",
"restart":"Restart",
"restart-warning":"Rebuilding or Restarting your NodeBB will drop all existing connections for a few seconds.",
"restart-disabled":"Rebuilding and Restarting your NodeBB has been disabled as you do not seem to be running it via the appropriate daemon.",
"maintenance-mode":"وضع الصيانة",
"maintenance-mode-title":"انقر هنا لإعداد وضع الصيانة لـNodeBB",
"alert.none-active":"You have no active categories.",
"alert.create":"Create a Category",
"alert.confirm-moderate":"<strong>Are you sure you wish to grant the moderation privilege to this user group?</strong> This group is public, and any users can join at will.",
"alert.confirm-purge":"<p class=\"lead\">Do you really want to purge this category \"%1\"?</p><h5><strong class=\"text-danger\">Warning!</strong> All topics and posts in this category will be purged!</h5> <p class=\"help-block\">Purging a category will remove all topics and posts, and delete the category from the database. If you want to remove a category <em>temporarily</em>, you'll want to \"disable\" the category instead.</p>",
"alert.purge-success":"Category purged!",
"alert.copy-success":"Settings Copied!",
@@ -75,7 +77,9 @@
"alert.user-search":"Search for a user here...",
"alert.find-group":"Find a Group",
"alert.group-search":"Search for a group here...",
"alert.not-enough-whitelisted-tags":"Whitelisted tags are less than minimum tags, you need to create more whitelisted tags!",
"default-help":"<em>System default</em> means the user has not explicitly overridden the global forum setting for digests, which is currently: "<strong>%1</strong>"",
"resend":"Resend Digest",
"resend-all-confirm":"Are you sure you wish to mnually execute this digest run?",
"resend-all-confirm":"Are you sure you wish to manually execute this digest run?",
"global.no-users":"No user-specific global privileges.",
"admin":"Admin",
"group-privileges":"Group Privileges",
"user-privileges":"User Privileges",
"edit-privileges":"Edit Privileges",
"chat":"Chat",
"upload-images":"Upload Images",
"upload-files":"Upload Files",
@@ -31,5 +32,21 @@
"downvote-posts":"Downvote Posts",
"delete-topics":"Delete Topics",
"purge":"Purge",
"moderate":"Moderate"
"moderate":"Moderate",
"admin-dashboard":"Dashboard",
"admin-categories":"Categories",
"admin-privileges":"Privileges",
"admin-users":"Users",
"admin-settings":"Settings",
"alert.confirm-moderate":"<strong>Are you sure you wish to grant the moderation privilege to this user group?</strong> This group is public, and any users can join at will.",
"alert.confirm-save":"Please confirm your intention to save these privileges",
"alert.saved":"Privilege changes saved and applied",
"alert.confirm-discard":"Are you sure you wish to discard your privilege changes?",
"alert.discarded":"Privilege changes discarded",
"alert.confirm-copyToAll":"Are you sure you wish to apply this privilege set to <strong>all categories</strong>?",
"alert.confirm-copyToAllGroup":"Are you sure you wish to apply this group's privilege set to <strong>all categories</strong>?",
"alert.confirm-copyToChildren":"Are you sure you wish to apply this privilege set to <strong>all descendant (child) categories</strong>?",
"alert.confirm-copyToChildrenGroup":"Are you sure you wish to apply this group's privilege set to <strong>all descendant (child) categories</strong>?",
"alert.no-undo":"<em>This action cannot be undone.</em>"
"alerts.validate-force-password-reset-success":"User(s) passwords have been reset and their existing sessions have been revoked.",
"alerts.password-reset-confirm":"Do you want to send password reset email(s) to these user(s)?",
"alerts.confirm-delete":"<b>Warning!</b><br/>Do you really want to delete user(s)?<br/> This action is not reversable! Only the user account will be deleted, their posts and topics will remain.",
"alerts.confirm-delete":"<strong>Warning!</strong><p>Do you really want to delete <strong>user(s)</strong>?</p><p>This action is not reversible! Only the user account will be deleted, their posts and topics will remain.</p>",
"alerts.delete-success":"User(s) Deleted!",
"alerts.confirm-purge":"<b>Warning!</b><br/>Do you really want to delete user(s) and their content?<br/> This action is not reversable! All user data and content will be erased!",
"alerts.confirm-delete-content":"<strong>Warning!</strong><p>Do you really want to delete these user(s) <strong>content</strong>?</p><p>This action is not reversible! The users' accounts will remain, but their posts and topics will be deleted.</p>",
"alerts.confirm-purge":"<strong>Warning!</strong><p>Do you really want to delete <strong>user(s) and their content</strong>?</p><p>This action is not reversible! All user data and content will be erased!</p>",
"alerts.create":"Create User",
"alerts.button-create":"Create",
"alerts.button-cancel":"Cancel",
@@ -105,5 +108,5 @@
"alerts.prompt-email":"Emails: ",
"alerts.email-sent-to":"An invitation email has been sent to %1",
"alerts.x-users-found":"%1 user(s) found! Search took %2 ms."
"hsts.subdomains":"Include subdomains in HSTS header",
"hsts.preload":"Allow preloading of HSTS header",
"hsts.help":"If enabled, an HSTS header will be set for this site. You can elect to include subdomains and preloading flags in your header. If in doubt, you can leave these unchecked. <a href=\"%1\">More information <i class=\"fa fa-external-link\"></i></a>",
"traffic-management":"Traffic Management",
"traffic.help":"NodeBB deploys equipped with a module that automatically denies requests in high-traffic situations. You can tune these settings here, although the defaults are a good starting point.",
"traffic.help":"NodeBB uses a module that automatically denies requests in high-traffic situations. You can tune these settings here, although the defaults are a good starting point.",
"traffic.enable":"Enable Traffic Management",
"traffic.event-lag":"Event Loop Lag Threshold (in milliseconds)",
"traffic.event-lag-help":"Lowering this value decreases wait times for page loads, but will also show the \"excessive load\" message to more users. (Restart required)",
"traffic.lag-check-interval":"Check Interval (in milliseconds)",
"traffic.lag-check-interval-help":"Lowering this value causes NodeBB to become more sensitive to spikes in load, but may also cause the check to become too sensitive. (Restart required)"
"traffic.lag-check-interval-help":"Lowering this value causes NodeBB to become more sensitive to spikes in load, but may also cause the check to become too sensitive. (Restart required)",
"description":"تُحدد اللغة الافتراضية إعدادات اللغة لجميع المستخدمين الذين يزورون المنتدى. <br />يمكن للأعضاء تجاوز اللغة الافتراضية من خلال صفحة إعدادات الحساب الخاصة بهم.",
"default-language":"اللغة الافتراضية",
"auto-detect":"الكشف عن إعدادات اللغة للزوار بشكل آلي"
"gdpr_enabled_help":"When enabled, all new registrants will be required to explicitly give consent for data collection and usage under the <a href=\"https://eugdpr.org/the-regulation/gdpr-faqs/\">General Data Protection Regulation (GDPR)</a>. <strong>Note</strong>: Enabling GDPR does not force pre-existing users to provide consent. To do so, you will need to install the GDPR plugin.",
"gdpr_enabled_help":"When enabled, all new registrants will be required to explicitly give consent for data collection and usage under the <a href=\"https://ec.europa.eu/info/priorities/justice-and-fundamental-rights/data-protection/2018-reform-eu-data-protection-rules/eu-data-protection-rules_en\">General Data Protection Regulation (GDPR)</a>. <strong>Note</strong>: Enabling GDPR does not force pre-existing users to provide consent. To do so, you will need to install the GDPR plugin.",
"disable-username-changes":"عدم السماح بتغيير اسم المستخدم",
"not-enough-reputation-min-rep-signature":"You do not have enough reputation to add a signature",
"not-enough-reputation-min-rep-profile-picture":"You do not have enough reputation to add a profile picture",
"not-enough-reputation-min-rep-cover-picture":"You do not have enough reputation to add a cover picture",
"already-flagged":"لقد بلغت عن هذه المشاركة من قبل.",
"post-already-flagged":"You have already flagged this post",
"user-already-flagged":"You have already flagged this user",
"post-flagged-too-many-times":"This post has been flagged by others already",
"user-flagged-too-many-times":"This user has been flagged by others already",
"self-vote":"You cannot vote on your own post",
"too-many-downvotes-today":"You can only downvote %1 times a day",
"too-many-downvotes-today-user":"You can only downvote a user %1 times a day",
"reload-failed":"المنتدى واجه مشكلة أثناء إعادة التحميل: \"%1\". سيواصل المنتدى خدمة العملاء السابقين لكن يجب عليك إلغاء أي تغيير قمت به قبل إعادة التحميل.",
"registration-error":"حدث خطأ أثناء التسجيل",
"parse-error":"حدث خطأ ما أثناء تحليل استجابة الخادم",
"bookmark_instructions":"اضغط هنا للعودة لأخر مشاركة مقروءة في الموضوع",
"flag_title":"إشعار بمشاركة مخلة.",
"merged_message":"This topic has been merged into <a href=\"/topic/%1\">%2</a>",
"flag-post":"Flag this post",
"flag-user":"Flag this user",
"already-flagged":"Already Flagged",
"view-flag-report":"View Flag Report",
"merged_message":"This topic has been merged into <a href=\"%1\">%2</a>",
"deleted_message":"هذه المشاركة محذوفة. فقط من لهم صلاحية الإشراف على ا لمشاركات يمكنهم معاينتها.",
"following_topic.message":"ستستلم تنبيها عند كل مشاركة جديدة في هذا الموضوع.",
"not_following_topic.message":"You will see this topic in the unread topics list, but you will not receive notifications when somebody posts to this topic.",
@@ -99,11 +102,15 @@
"fork_pid_count":"1% مشاركة محددة",
"fork_success":"تم إنشاء فرع للموضوع بنجاح! إضغط هنا لمعاينة الفرع.",
"delete_posts_instruction":"Click the posts you want to delete/purge",
"merge_topics_instruction":"Click the topics you want to merge",
"merge_topics_instruction":"Click the topics you want to merge or search for them",
"merge-topic-list-title":"List of topics to be merged",
"merge-options":"Merge options",
"merge-select-main-topic":"Select the main topic",
"merge-new-title-for-topic":"New title for topic",
"move_posts_instruction":"Click the posts you want to move",
"change_owner_instruction":"Click the posts you want to assign to another user",
"composer.title_placeholder":"أدخل عنوان موضوعك هنا...",
"composer.handle_placeholder":"اﻹسم",
"composer.handle_placeholder":"Enter your name/handle here",
"composer.discard":"نبذ التغييرات",
"composer.submit":"حفظ",
"composer.replying_to":"الرد على %1",
@@ -134,6 +141,9 @@
"diffs.no-revisions-description":"This post has <strong>%1</strong> revisions.",
"diffs.current-revision":"current revision",
"diffs.original-revision":"original revision",
"diffs.restore":"Restore this revision",
"diffs.restore-description":"A new revision will be appended to this post's edit history.",
"diffs.post-restored":"Post successfully restored to earlier revision",
"delete_account_confirm":"Are you sure you want to delete your account? <br /><strong>This action is irreversible and you will not be able to recover any of your data</strong><br /><br />Enter your password to confirm that you wish to destroy this account.",
"delete_this_account_confirm":"هل انت متأكد من رغبتك بحذف هذا الحساب؟ <br /> <strong>هذا الإجراء لا رجعة فيه ولن تتمكن من استرداد أي بيانات</strong><br /><br />",
"delete_all":"Delete <strong>Account</strong> and <strong>Content</strong>",
"delete_account_confirm":"Are you sure you want to anonymize your posts and delete your account?<br /><strong>This action is irreversible and you will not be able to recover any of your data</strong><br /><br />Enter your password to confirm that you wish to destroy this account.",
"delete_this_account_confirm":"Are you sure you want to delete this account while leaving its contents behind?<br /><strong>This action is irreversible, posts will be anonymized, and you will not be able to restore post associations with the deleted account</strong><br /><br />",
"delete_account_content_confirm":"Are you sure you want to delete this account's content (posts/topics/uploads)? <br /><strong>This action is irreversible and you will not be able to recover any data</strong><br /><br />",
"delete_all_confirm":"Are you sure you want to delete this account and all of its content (posts/topics/uploads)? <br /><strong>This action is irreversible and you will not be able to recover any data</strong><br /><br />",
"info.no-ban-history":"هذا المستخدم لم يتم حظره مطلقا",
"info.banned-until":"محظور حتى %1",
"info.banned-expiry":"Expiry",
"info.banned-permanently":"محظور بشكل دائم",
"info.banned-reason-label":"سبب",
"info.banned-no-reason":"لم يتم إعطاء سبب.",
@@ -170,7 +178,10 @@
"consent.right_to_erasure_description":"At any time, you are able to revoke your consent to data collection and/or processing by deleting your account. Your individual profile can be deleted, although your posted content will remain. If you wish to delete both your account <strong>and</strong> your content, please contact the administrative team for this website.",
"consent.right_to_data_portability":"You have the Right to Data Portability",
"consent.right_to_data_portability_description":"You may request from us a machine-readable export of any collected data about you and your account. You can do so by clicking the appropriate button below.",
"page-views-custom-help":"Въведете интервал от дати, за които искате да видите преглежданията на страниците. Ако не се появи календар за избор, можете да въведете датите във формат: <code>ГГГГ-ММ-ДД</code>",
"page-views-custom-error":"Моля, въведете правилен интервал от дати във формата: <code>ГГГГ-ММ-ДД</code>",
"stats.yesterday":"Вчера",
"stats.today":"Днес",
"stats.last-week":"Миналата седмица",
"stats.this-week":"Тази седмица",
"stats.last-month":"Миналия месец",
"stats.this-month":"Този месец",
"stats.all":"От началото",
"updates":"Обновления",
"running-version":"Вие използвате <strong>NodeBB версия <span id=\"version\">%1</span></strong>.",
"keep-updated":"Стремете се винаги да използвате най-новата версия на NodeBB, за да се възползвате от последните подобрения на сигурността и поправки на проблеми.",
"upgrade-available":"<p>Има нова версия (версия %1). Ако имате възможност, <a href=\"https://docs.nodebb.org/configuring/upgrade/\" target=\"_blank\">обновете NodeBB</a>.</p>",
"prerelease-upgrade-available":"<p>Това е остаряла предварителна версия на NodeBB. Има нова версия (версия %1). Ако имате възможност, <a href=\"https://docs.nodebb.org/configuring/upgrade/\" target=\"_blank\">обновете NodeBB</a>.</p>",
"prerelease-warning":"<p>Това е версия за <strong>предварителен преглед</strong> на NodeBB. Възможно е да има неочаквани неизправности. <i class=\"fa fa-exclamation-triangle\"></i></p>",
"running-in-development":"<span>Форумът работи в режим за разработчици, така че може да бъде уязвим. Моля, свържете се със системния си администратор.</span>",
"latest-lookup-failed":"<p>Не може да бъде извършена проверка за последната налична версия на NodeBB</p>",
"search-plugin-installed":"Добавката за търсене е инсталирана",
"search-plugin-not-installed":"Добавката за търсене не е инсталирана",
"search-plugin-tooltip":"Инсталирайте добавка за търсене от страницата с добавките, за да включите функционалността за търсене",
"control-panel":"Системен контрол",
"rebuild-and-restart":"Повторно изграждане и рестартиране",
"restart":"Рестартиране",
"restart-warning":"Повторното изграждане и рестартирането на NodeBB ще прекъснат всички връзки за няколко секунди.",
"restart-disabled":"Възможностите за повторно изграждане и рестартиране на NodeBB са изключени, тъй като изглежда, че NodeBB не се изпълнява чрез подходящия демон.",
"maintenance-mode":"Режим на профилактика",
"maintenance-mode-title":"Щракнете тук, за да зададете режим на профилактика на NodeBB",
"realtime-chart-updates":"Актуализации на таблиците в реално време",
"active-users":"Дейни потребители",
"active-users.users":"Потребители",
"active-users.guests":"Гости",
"active-users.total":"Общо",
"active-users.connections":"Връзки",
"anonymous-registered-users":"Анонимни към регистрирани потребители",
"anonymous":"Анонимни",
"registered":"Регистрирани",
"user-presence":"Присъствие на потребителите ",
"on-categories":"В списъка с категории",
"reading-posts":"Четящи публикации",
"browsing-topics":"Разглеждащи теми",
"recent":"Скорошни",
"unread":"Непрочетени",
"high-presence-topics":"Теми с най-голяма присъственост",
"graphs.page-views":"Преглеждания на страниците",
"graphs.page-views-registered":"Преглеждания на страниците от регистрирани потребители",
"graphs.page-views-guest":"Преглеждания на страниците от гости",
"graphs.page-views-bot":"Преглеждания на страниците от ботове",
"num-recent-replies":"Брой на скорошните отговори",
"ext-link":"Външна връзка",
"is-section":"Използване на тази категория като раздел",
"tag-whitelist":"Списък от разрешени етикети",
"upload-image":"Качване на изображение",
"delete-image":"Премахване",
"category-image":"Изображение на категорията",
@@ -26,6 +27,8 @@
"enable":"Включване",
"disable":"Изключване",
"edit":"Редактиране",
"analytics":"Анализи",
"view-category":"Преглед на категорията",
"select-category":"Изберете категория",
"set-parent-category":"Задайте базова категория",
@@ -63,7 +66,6 @@
"alert.create-success":"Категорията е създадена успешно!",
"alert.none-active":"Нямате активни категории.",
"alert.create":"Създаване на категория",
"alert.confirm-moderate":"<strong>Наистина ли искате да дадете правомощието за модериране на тази потребителска група?</strong> Тази група е публична и всеки може свободно да се присъедини към нея.",
"alert.confirm-purge":"<p class=\"lead\">Наистина ли искате да изтриете категорията „%1“?</p><h5><strong class=\"text-danger\">Внимание!</strong> Всички теми и публикации в тази категория ще бъдат изтрити!</h5> <p class=\"help-block\">Изтриването на категорията ще премахне всички теми и публикации, и ще изтрие категорията от базата данни. Ако искате да премахнете категорията <em>временно</em>, можете просто да я „изключите“.</p>",
"alert.purge-success":"Категорията е изтрита!",
"alert.copy-success":"Настройките са копирани!",
@@ -75,7 +77,9 @@
"alert.user-search":"Потърсете потребител тук…",
"alert.find-group":"Търсене на група",
"alert.group-search":"Потърсете група тук…",
"alert.not-enough-whitelisted-tags":"Разрешените етикети са по-малко от минимума. Трябва да създадете още разрешени етикети!",
"global.no-users":"Няма глобални правомощия за отделни потребители.",
"admin":"Администратор",
"group-privileges":"Правомощия за групите",
"user-privileges":"Правомощия за потребителите",
"edit-privileges":"Редактиране на правомощията",
"chat":"Разговор",
"upload-images":"Качване на изображения",
"upload-files":"Качване на файлове",
@@ -31,5 +32,21 @@
"downvote-posts":"Отрицателно гласуване за публикации",
"delete-topics":"Изтриване на теми",
"purge":"Изчистване",
"moderate":"Модериране"
"moderate":"Модериране",
"admin-dashboard":"Табло",
"admin-categories":"Категории",
"admin-privileges":"Правомощия",
"admin-users":"Потребители",
"admin-settings":"Настройки",
"alert.confirm-moderate":"<strong>Наистина ли искате да дадете правомощието за модериране на тази потребителска група?</strong> Тази група е публична и всеки може свободно да се присъедини към нея.",
"alert.confirm-save":"Моля, потвърдете желанието си да запазите тези правомощия",
"alert.saved":"Промените по правомощията са запазени и приложени",
"alert.confirm-discard":"Наистина ли искате да отхвърлите промените по правомощията?",
"alert.discarded":"Промените по правомощията са отхвърлени",
"alert.confirm-copyToAll":"Наистина ли искате да приложите този набор от правомощия към <strong>всички категории</strong>?",
"alert.confirm-copyToAllGroup":"Наистина ли искате да приложите набора от правомощия на таи група към <strong>всички категории</strong>?",
"alert.confirm-copyToChildren":"Наистина ли искате да приложите този набор от правомощия към <strong>всички по-долни (дъщерни) категории</strong>?",
"alert.confirm-copyToChildrenGroup":"Наистина ли искате да приложите набора от правомощия на таи група към <strong>всички по-долни (дъщерни) категории</strong>?",
"alert.no-undo":"<em>Това действие е необратимо.</em>"
"purge":"Изтриване на потребителя/ите и съдържанието",
"delete":"Изтриване на <strong>потребителя/ите</strong>",
"delete-content":"Изтриване на <strong>съдържанието</strong> на потребителя/ите",
"purge":"Изтриване на <strong>потребителя/ите</strong> и <strong>съдържанието</strong>",
"download-csv":"Сваляне във формат „CSV“",
"manage-groups":"Управление на групите",
"add-group":"Добавяне на група",
@@ -93,9 +94,11 @@
"alerts.validate-email-success":"Е-пощите са проверени",
"alerts.validate-force-password-reset-success":"Паролата на потребителя (или паролите на потребителите) беше подновена и сесията му беше прекратена.",
"alerts.password-reset-confirm":"Искате ли да изпратите е-писмо/а за възстановяване на паролата на този/тези потребител(и)?",
"alerts.confirm-delete":"<b>ВНИМАНИЕ!</b><br/>Наистина ли искате да изтриете потребителя/ите?<br/> Това действие е необратимо! Ще бъде изтрит само профилът на потребителя/ите, неговите/техните публикациите и теми ще останат.",
"alerts.confirm-delete":"<strong>ВНИМАНИЕ!</strong><p>Наистина ли искате да изтриете <strong>потребителя/ите</strong>?</p> <p>Това действие е необратимо! Ще бъде изтрит само профилът на потребителя/ите, неговите/техните публикациите и теми ще останат.</p>",
"alerts.confirm-purge":"<b>ВНИМАНИЕ!</b><br/>Наистина ли искате да изтриете потребителя/ите?<br/> Това действие е необратимо! Всички потребителски данни и съдържание ще бъдат заличени!",
"alerts.confirm-delete-content":"<strong>ВНИМАНИЕ!</strong><p>Наистина ли искате да изтриете <strong>съдържанието</strong> на този потребител или тези потребители?</p> <p>Това действие е необратимо! Профилите на потребителите ще останат, но всички техни публикации и теми ще бъдат изтрити.</p>",
"alerts.delete-content-success":"Съдържанието на потребителя/ите е изтрито!",
"alerts.confirm-purge":"<strong>ВНИМАНИЕ!</strong><p>Наистина ли искате да изтриете <strong>потребителя/ите и неговото/тяхното съдържание</strong>?</p> <p>Това действие е необратимо! Всички потребителски данни и съдържание ще бъдат заличени!</p>",
"alerts.create":"Създаване на потребител",
"alerts.button-create":"Създаване",
"alerts.button-cancel":"Отказ",
@@ -105,5 +108,5 @@
"alerts.prompt-email":"Е-пощи: ",
"alerts.email-sent-to":"Беше изпратено е-писмо за потвърждение до %1",
"headers.acah":"Заглавки за разрешаване на управлението на достъпа",
"hsts":"Стриктна транспортна сигурност",
"hsts.enabled":"Включване на HSTS (препоръчително)",
"hsts.maxAge":"Максимална възраст на HSTS",
"hsts.subdomains":"Включване на поддомейните в заглавката на HSTS",
"hsts.preload":"Позволяване на предварителното зареждане на заглавката на HSTS",
"hsts.help":"Ако това е включено, за този уеб ще бъде настроена заглавка за HSTS. Можете да изберете дали да включите поддомейните и дали за заредите предварително флаговете в заглавката си. Ако не знаете какво да направите, най-добре не избирайте нищо. <a href=\"%1\">Още информация<i class=\"fa fa-external-link\"></i></a>",
"traffic-management":"Управление на трафика",
"traffic.help":"NodeBB има вграден модул, който автоматично отказва заявките в натоварените моменти. Можете да настроите поведението тук, въпреки че стойностите по подразбиране са добра отправна точка.",
"traffic.help":"NodeBB използва модул, който автоматично отказва заявките в натоварените моменти. Можете да настроите поведението тук, въпреки че стойностите по подразбиране са добра отправна точка.",
"traffic.enable":"Включване на управлението на трафика",
"traffic.event-lag":"Граница на забавяне в цикъла на събитията (в милисекунди)",
"traffic.event-lag-help":"Намаляването на тази стойност ще намали времето за изчакване при зареждане на страници, но също така ще предизвика по-често показване на съобщението „прекомерно натоварване“ на повече потребители. (Нужно е рестартиране.)",
"traffic.lag-check-interval":"Интервал на проверка (в милисекунди)",
"traffic.lag-check-interval-help":"Намаляването на тази стойност ще направи NodeBB по-чувствителен към скоковете в натовареността, но може и да направи проверката твърде чувствителна. (Нужно е рестартиране.)"
"traffic.lag-check-interval-help":"Намаляването на тази стойност ще направи NodeBB по-чувствителен към скоковете в натовареността, но може и да направи проверката твърде чувствителна. (Нужно е рестартиране.)",
"sockets.settings":"Настройки за WebSocket",
"sockets.max-attempts":"Максимален брой опити за повторно свързване",
"title.short-placeholder":"Ако не е посочено кратко заглавие, ще бъде използвано заглавието на уеб сайта",
"title.url":"Адрес",
"title.url-placeholder":"Адресът на заглавието на уеб сайта",
"title.url-help":"При щракване върху заглавието, потребителите ще бъдат изпратени на този адрес. Ако бъде оставено празно, потребителите ще бъдат изпращани на началната страница на форума.",
@@ -31,5 +33,9 @@
"outgoing-links":"Изходящи връзки",
"outgoing-links.warning-page":"Показване на предупредителна страница при щракване върху външни връзки",
"search-default-sort-by":"Подредба по подразбиране при търсене",
"outgoing-links.whitelist":"Домейни, за които да не се показва предупредителната страница"
}
"outgoing-links.whitelist":"Домейни, за които да не се показва предупредителната страница",
"site-colors":"Мета-данни за цвета на уеб сайта",
"theme-color":"Цвят на темата",
"background-color":"Фонов цвят",
"background-color-help":"Цвят, който да се използва като фон за началния екран, когато уеб сайтът е инсталиран като приложение"
"private-groups.help":"Ако е включено, присъединяването към групи ще изисква одобрение от собственик на групата. <em>(По подразбиране: включено)</em>",
"private-groups.warning":"<strong>Внимание!</strong> Ако това е изключено и имате частни групи, те автоматично ще станат публични.",
"allow-multiple-badges":"Позволяване на множество значки",
"allow-multiple-badges-help":"Това може да се използва, за да позволи на потребителите да избират множество значки за групите. Изисква поддържа на теми.",
"max-name-length":"Минимална дължина на името на група",
"max-title-length":"Максимална дължина на заглавието на група",
"description":"Езикът по подразбиране определя езиковите настройки за всички потребители, които посещават Вашия форум. <br />Отделните потребители могат да сменят езика си от страницата с настройки на профила си.",
"default-language":"Език по подразбиране",
"auto-detect":"Автоматично разпознаване на езика за гостите"
"gdpr_enabled":"Включване на искането за съгласие с ОРЗД",
"gdpr_enabled_help":"Ако това е включено, всички новорегистрирани потребители ще бъдат задължени изрично да дадат съгласието си за събирането на данни и статистики за потреблението според <a href=\"https://eugdpr.org/the-regulation/gdpr-faqs/\">Общия регламент относно защитата на данните (ОРЗД)</a>. <strong>Забележка</strong>: Включването на ОРЗД не задължава съществуващите потребители да дадат съгласието си. Ако искате това, ще трябва да инсталирате добавката за ОРЗД (GDPR).",
"gdpr_enabled_help":"Ако това е включено, всички новорегистрирани потребители ще бъдат задължени изрично да дадат съгласието си за събирането на данни и статистики за потреблението според <a href=\"https://ec.europa.eu/info/priorities/justice-and-fundamental-rights/data-protection/2018-reform-eu-data-protection-rules/eu-data-protection-rules_en\">Общия регламент относно защитата на данните (ОРЗД)</a>. <strong>Забележка</strong>: Включването на ОРЗД не задължава съществуващите потребители да дадат съгласието си. Ако искате това, ще трябва да инсталирате добавката за ОРЗД (GDPR).",
"disable-username-changes":"Забраняване на промяната на потребителското име",
"disable-email-changes":"Забраняване на промяната на е-пощата",
"disable-password-changes":"Забраняване на промяната на паролата",
@@ -76,4 +76,4 @@
"categoryWatchState.watching":"Да се следят",
"categoryWatchState.notwatching":"Да не се следят",
"categoryWatchState.ignoring":"Да се пренебрегват"
"not-enough-reputation-min-rep-signature":"Нямате достатъчно репутация, за да добавите подпис",
"not-enough-reputation-min-rep-profile-picture":"Нямате достатъчно репутация, за да добавите снимка на профила си",
"not-enough-reputation-min-rep-cover-picture":"Нямате достатъчно репутация, за да добавите снимка на корицата",
"already-flagged":"Вече сте докладвали тази публикация",
"post-already-flagged":"Вече сте докладвали тази публикация",
"user-already-flagged":"Вече сте докладвали този потребител",
"post-flagged-too-many-times":"Тази публикация вече е докладвана от други хора",
"user-flagged-too-many-times":"Този потребител вече е докладван от други хора",
"self-vote":"Не можете да гласувате за собствената си публикация",
"too-many-downvotes-today":"Можете да гласувате отрицателно не повече от %1 пъти на ден",
"too-many-downvotes-today-user":"Можете да гласувате отрицателно за потребител не повече от %1 пъти на ден",
"reload-failed":"NodeBB срещна проблем при презареждането: „%1“. NodeBB ще продължи да поддържа съществуващите клиентски ресурси, но Вие трябва да отмените последните си действия преди презареждането.",
"registration-error":"Грешка при регистрацията",
"parse-error":"Нещо се обърка при прочитането на отговора на сървъра",
"bookmark_instructions":"Щракнете тук, за да се върнете към последно прочетената публикация в тази тема.",
"flag_title":"Докладване на тази публикация до модератор",
"merged_message":"Тази тема беше слята в <a href=\"/topic/%1\">%2</a>",
"flag-post":"Докладване на тази публикация",
"flag-user":"Докладване на този потребител",
"already-flagged":"Вече е докладвано",
"view-flag-report":"Преглед на доклада",
"merged_message":"Тази тема беше слята в <a href=\"%1\">%2</a>",
"deleted_message":"Темата е изтрита. Само потребители с права за управление на темите могат да я видят.",
"following_topic.message":"Вече ще получавате известия когато някой публикува коментар в тази тема.",
"not_following_topic.message":"Ще виждате тази тема в списъка с непрочетени теми, но няма да получавате известия, когато хората публикуват нещо в нея.",
@@ -99,11 +102,15 @@
"fork_pid_count":"Избрани публикации: %1",
"fork_success":"Темата е разделена успешно! Натиснете тук, за да преминете към отделената тема.",
"delete_posts_instruction":"Натиснете публикациите, които искате да изтриете/изчистите",
"merge_topics_instruction":"Натиснете темите, които искате да слеете",
"merge_topics_instruction":"Щракнете върху темите, които искате да слеете, или ги потърсете",
"merge-topic-list-title":"Списък от темите, които ще бъдат слети",
"merge-new-title-for-topic":"Ново заглавие за темата",
"move_posts_instruction":"Натиснете публикациите, които искате да преместите",
"change_owner_instruction":"Натиснете публикациите, които искате да прехвърлите на друг потребител",
"composer.title_placeholder":"Въведете заглавието на темата си тук...",
"composer.handle_placeholder":"Име",
"composer.handle_placeholder":"Въведете името тук",
"composer.discard":"Отхвърляне",
"composer.submit":"Публикуване",
"composer.replying_to":"Отговор на %1",
@@ -130,10 +137,13 @@
"stale.reply_anyway":"Отговаряне в тази тема въпреки това",
"link_back":"Отговор: [%1](%2)",
"diffs.title":"История на редакциите",
"diffs.description":"Тази публикация има <strong>%1</strong> варианта. Щракнете върху някоя от версиите по-долу, за да видите съдържанието ѝ в съответния момент.",
"diffs.no-revisions-description":"Тази публикация има <strong>%1</strong> варианта.",
"diffs.description":"Тази публикация има <strong>%1</strong> версии. Щракнете върху някоя от версиите по-долу, за да видите съдържанието ѝ в съответния момент.",
"diffs.no-revisions-description":"Тази публикация има <strong>%1</strong> версии.",
"diffs.current-revision":"текуща версия",
"diffs.original-revision":"оригинална версия",
"diffs.restore":"Възстановяване на тази версия",
"diffs.restore-description":"Към историята на редакциите на тази публикация ще бъде добавена нова версия.",
"diffs.post-restored":"Публикацията е възстановена успешно до по-ранна версия",
"ban_account_confirm":"Наистина ли искате да блокирате този потребител?",
"unban_account":"Деблокиране на акаунта",
"delete_account":"Изтриване на акаунта",
"delete_account_confirm":"Наистина ли искате да изтриете акаунта си? <br /><strong>Това действие е необратимо и няма да можете да възстановите нищо от данните си.</strong><br /><br />Въведете паролата си, за да потвърдите, че искате да унищожите този акаунт.",
"delete_this_account_confirm":"Наистина ли искате да изтриете този акаунт? <br /><strong>Това действие е необратимо и няма да можете да възстановите нищо от данните си.</strong><br /><br />",
"delete_account_as_admin":"Изтриване на <strong>акаунта</strong>",
"delete_content":"Изтриване на <strong>съдържанието</strong> на акаунта",
"delete_all":"Изтриване на <strong>акаунта</strong> и <strong>съдържанието</strong>",
"delete_account_confirm":"Наистина ли искате да направите публикациите си анонимни и да изтриете акаунта си? <br /><strong>Това действие е необратимо и няма да можете да възстановите нищо от данните си.</strong><br /><br />Въведете паролата си, за да потвърдите, че искате да унищожите този акаунт.",
"delete_this_account_confirm":"Наистина ли искате да изтриете този акаунт, но да оставите съдържанието му?<br /><strong>Това действие е необратимо. Публикациите ще бъдат превърнати в анонимни и вече няма да можете да възстановите връзката между публикациите и изтрития акаунт</strong><br /><br />",
"delete_account_content_confirm":"Наистина ли искате да изтриете съдържанието (публикации/теми/качвания) на този акаунт? <br /><strong>Това действие е необратимо и няма да можете да възстановите нищо от данните.</strong><br /><br />",
"delete_all_confirm":"Наистина ли искате да изтриете този акаунт и цялото му съдържание (публикации/теми/качвания)? <br /><strong>Това действие е необратимо и няма да можете да възстановите нищо от данните.</strong><br /><br />",
"account-deleted":"Акаунтът е изтрит",
"account-content-deleted":"Съдържанието на акаунта е изтрито",
"fullname":"Пълно име",
"website":"Уеб сайт",
"location":"Местоположение",
@@ -144,6 +151,7 @@
"info.ban-history":"Скорошна история на блокиранията",
"info.no-ban-history":"Този потребител никога не е бил блокиран",
"info.banned-until":"Блокиран до %1",
"info.banned-expiry":"Давност",
"info.banned-permanently":"Блокиран за постоянно",
"info.banned-reason-label":"Причина",
"info.banned-no-reason":"Няма посочена причина.",
@@ -170,7 +178,10 @@
"consent.right_to_erasure_description":"Във всеки един момент можете да оттеглите съгласието си за събиране и/или обработка на данни, като изтриете акаунта си. Вашият профил може да бъде изтрит, но публикуваното от Вас съдържание ще остане. Ако искате да изтриете както акаунта, така <strong>и</strong> съдържанието, публикувано от Вас, моля, свържете сес администрационния екип на уеб сайта.",
"consent.right_to_data_portability":"Имате право на пренос на данни",
"consent.right_to_data_portability_description":"Можете да изискате от нас всички събрани за Вас и акаунта Ви данни в машинен формат. Можете да направите това като натиснете съответния бутон по-долу.",
"consent.export_profile":"Изнасяне на профила (.csv)",
"consent.export_profile":"Изнасяне на профила (.json)",
"consent.export-profile-success":"Изнасяне на профила… Ще получите известие, когато е готово.",
"consent.export_uploads":"Изнасяне на каченото съдържание (.zip)",
"consent.export_posts":"Изнасяне на публикациите (.csv)"
"consent.export-uploads-success":"Изнасяне на каченото съдържание… Ще получите известие, когато е готово.",
"consent.export_posts":"Изнасяне на публикациите (.csv)",
"consent.export-posts-success":"Изнасяне на публикациите… Ще получите известие, когато е готово."
"alert.none-active":"You have no active categories.",
"alert.create":"Create a Category",
"alert.confirm-moderate":"<strong>Are you sure you wish to grant the moderation privilege to this user group?</strong> This group is public, and any users can join at will.",
"alert.confirm-purge":"<p class=\"lead\">Do you really want to purge this category \"%1\"?</p><h5><strong class=\"text-danger\">Warning!</strong> All topics and posts in this category will be purged!</h5> <p class=\"help-block\">Purging a category will remove all topics and posts, and delete the category from the database. If you want to remove a category <em>temporarily</em>, you'll want to \"disable\" the category instead.</p>",
"alert.purge-success":"Category purged!",
"alert.copy-success":"Settings Copied!",
@@ -75,7 +77,9 @@
"alert.user-search":"Search for a user here...",
"alert.find-group":"Find a Group",
"alert.group-search":"Search for a group here...",
"alert.not-enough-whitelisted-tags":"Whitelisted tags are less than minimum tags, you need to create more whitelisted tags!",
"default-help":"<em>System default</em> means the user has not explicitly overridden the global forum setting for digests, which is currently: "<strong>%1</strong>"",
"resend":"Resend Digest",
"resend-all-confirm":"Are you sure you wish to mnually execute this digest run?",
"resend-all-confirm":"Are you sure you wish to manually execute this digest run?",
"global.no-users":"No user-specific global privileges.",
"admin":"Admin",
"group-privileges":"Group Privileges",
"user-privileges":"User Privileges",
"edit-privileges":"Edit Privileges",
"chat":"Chat",
"upload-images":"Upload Images",
"upload-files":"Upload Files",
@@ -31,5 +32,21 @@
"downvote-posts":"Downvote Posts",
"delete-topics":"Delete Topics",
"purge":"Purge",
"moderate":"Moderate"
"moderate":"Moderate",
"admin-dashboard":"Dashboard",
"admin-categories":"Categories",
"admin-privileges":"Privileges",
"admin-users":"Users",
"admin-settings":"Settings",
"alert.confirm-moderate":"<strong>Are you sure you wish to grant the moderation privilege to this user group?</strong> This group is public, and any users can join at will.",
"alert.confirm-save":"Please confirm your intention to save these privileges",
"alert.saved":"Privilege changes saved and applied",
"alert.confirm-discard":"Are you sure you wish to discard your privilege changes?",
"alert.discarded":"Privilege changes discarded",
"alert.confirm-copyToAll":"Are you sure you wish to apply this privilege set to <strong>all categories</strong>?",
"alert.confirm-copyToAllGroup":"Are you sure you wish to apply this group's privilege set to <strong>all categories</strong>?",
"alert.confirm-copyToChildren":"Are you sure you wish to apply this privilege set to <strong>all descendant (child) categories</strong>?",
"alert.confirm-copyToChildrenGroup":"Are you sure you wish to apply this group's privilege set to <strong>all descendant (child) categories</strong>?",
"alert.no-undo":"<em>This action cannot be undone.</em>"
"alerts.validate-force-password-reset-success":"User(s) passwords have been reset and their existing sessions have been revoked.",
"alerts.password-reset-confirm":"Do you want to send password reset email(s) to these user(s)?",
"alerts.confirm-delete":"<b>Warning!</b><br/>Do you really want to delete user(s)?<br/> This action is not reversable! Only the user account will be deleted, their posts and topics will remain.",
"alerts.confirm-delete":"<strong>Warning!</strong><p>Do you really want to delete <strong>user(s)</strong>?</p><p>This action is not reversible! Only the user account will be deleted, their posts and topics will remain.</p>",
"alerts.delete-success":"User(s) Deleted!",
"alerts.confirm-purge":"<b>Warning!</b><br/>Do you really want to delete user(s) and their content?<br/> This action is not reversable! All user data and content will be erased!",
"alerts.confirm-delete-content":"<strong>Warning!</strong><p>Do you really want to delete these user(s) <strong>content</strong>?</p><p>This action is not reversible! The users' accounts will remain, but their posts and topics will be deleted.</p>",
"alerts.confirm-purge":"<strong>Warning!</strong><p>Do you really want to delete <strong>user(s) and their content</strong>?</p><p>This action is not reversible! All user data and content will be erased!</p>",
"alerts.create":"Create User",
"alerts.button-create":"Create",
"alerts.button-cancel":"Cancel",
@@ -105,5 +108,5 @@
"alerts.prompt-email":"Emails: ",
"alerts.email-sent-to":"An invitation email has been sent to %1",
"alerts.x-users-found":"%1 user(s) found! Search took %2 ms."
"hsts.subdomains":"Include subdomains in HSTS header",
"hsts.preload":"Allow preloading of HSTS header",
"hsts.help":"If enabled, an HSTS header will be set for this site. You can elect to include subdomains and preloading flags in your header. If in doubt, you can leave these unchecked. <a href=\"%1\">More information <i class=\"fa fa-external-link\"></i></a>",
"traffic-management":"Traffic Management",
"traffic.help":"NodeBB deploys equipped with a module that automatically denies requests in high-traffic situations. You can tune these settings here, although the defaults are a good starting point.",
"traffic.help":"NodeBB uses a module that automatically denies requests in high-traffic situations. You can tune these settings here, although the defaults are a good starting point.",
"traffic.enable":"Enable Traffic Management",
"traffic.event-lag":"Event Loop Lag Threshold (in milliseconds)",
"traffic.event-lag-help":"Lowering this value decreases wait times for page loads, but will also show the \"excessive load\" message to more users. (Restart required)",
"traffic.lag-check-interval":"Check Interval (in milliseconds)",
"traffic.lag-check-interval-help":"Lowering this value causes NodeBB to become more sensitive to spikes in load, but may also cause the check to become too sensitive. (Restart required)"
"traffic.lag-check-interval-help":"Lowering this value causes NodeBB to become more sensitive to spikes in load, but may also cause the check to become too sensitive. (Restart required)",
"welcome-notification-uid":"Welcome Notification User (UID)"
}
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.