* feat: search via FA api in icon picker
* feat: new initial icon list
* fix: only trigger search if the query changed
avoids sending a request for eg. a ctrl key press
* fix: change deprecated .click() to .trigger(click)
* feat: debounce icon search
* fix: use debounce properly
* breaking: remove `SocketUser.emailConfirm`, re: #10954
* chore: move email confirmation related configs to own section in Settings > Email
* feat: new user email method `getValidationExpiry`, returns expiration in ms.. probably.
* fix: bug where `user.email.isValidationPending` returned an u nexpected non-boolean value if there was no confirmation pending (only when checking email as well)
* fix: update getValidationExpiry to return ms
* test: use emailConfirmInterval for tests, for now
* fix: throw friendly error when attempting an email change within email confirmation window
* feat: new config option `emailConfirmExpiry` in days, governs how long the confirm link is good for
* test: additional tests for user email methods
* fix: add back missing handling of option
* test: fix tests
* feat: allow plugins to add to admin cache list
resolves #10820
plugins will have to use `filter:admin.cache.get` hook and just add their own cache to the object there.
* feat: add dump to ttlCache and expose properties
* feat: also expose properties under their current names
* feat: display TTL if set
* refactor: move src/cacheCreate.js to src/cache/lru.js
* fix: call new library location for lru cache creator
* feat: add ttl cache
* fix: update upload throttler to use ttl cache instead of lru cache
* chore: add missing dependency
* fix: avoid pubsub conflicts
* fix: use get instead of peek, which is not available in ttl-cache
* chore(deps): bump lru-cache from 6.0.0 to 7.13.1 in /install
Bumps [lru-cache](https://github.com/isaacs/node-lru-cache) from 6.0.0 to 7.13.1.
- [Release notes](https://github.com/isaacs/node-lru-cache/releases)
- [Changelog](https://github.com/isaacs/node-lru-cache/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/node-lru-cache/compare/v6.0.0...v7.13.1)
---
updated-dependencies:
- dependency-name: lru-cache
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* fix(lru-cache): remove unneeded `length` params for cache creation, as `maxSize` was not used in those init calls, also renamed some methods to match new method names in lru-cache [breaking]
Added deprecation notices for old params
* fix: replace three direct calls to lru-cache with call to cacheCreate, moved cache creation call in uploads to run on first init as config is not populated at lib init
* test: move configs init above cache reset calls in databasemock
* move some more code above cache clear
* refactor: remove unused
* test: lru
* test: more debug
* test: on more test
* use await helpers.uploadFile
* fix: tests remove logs
* fix: acp cache page
* fix: add in one more guard again cache instantiation with `length` prop but no `maxSize` prop
* fix(deps): bump markdown
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Barış Soner Uşaklı <barisusakli@gmail.com>
* chore(deps): bump lru-cache from 6.0.0 to 7.13.1 in /install
Bumps [lru-cache](https://github.com/isaacs/node-lru-cache) from 6.0.0 to 7.13.1.
- [Release notes](https://github.com/isaacs/node-lru-cache/releases)
- [Changelog](https://github.com/isaacs/node-lru-cache/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/node-lru-cache/compare/v6.0.0...v7.13.1)
---
updated-dependencies:
- dependency-name: lru-cache
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* fix(lru-cache): remove unneeded `length` params for cache creation, as `maxSize` was not used in those init calls, also renamed some methods to match new method names in lru-cache [breaking]
Added deprecation notices for old params
* fix: replace three direct calls to lru-cache with call to cacheCreate, moved cache creation call in uploads to run on first init as config is not populated at lib init
* test: move configs init above cache reset calls in databasemock
* move some more code above cache clear
* refactor: remove unused
* test: lru
* test: more debug
* test: on more test
* use await helpers.uploadFile
* fix: tests remove logs
* fix: acp cache page
* fix: add in one more guard again cache instantiation with `length` prop but no `maxSize` prop
* fix(deps): bump markdown
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Barış Soner Uşaklı <barisusakli@gmail.com>
* Revert "Revert "feat: cross origin opener policy options (#10710)""
This reverts commit 46050ace1a.
* Revert "Revert "chore(i18n): fallback strings for new resources: nodebb.admin-settings-advanced""
This reverts commit 9f291c07d3.
* feat: closes#10719, don't trim children if category is marked section
* feat: fire hook to allow plugins to filter the pids returned in a user profile
/cc julianlam/nodebb-plugin-support-forum#14
* fix: use `user.hidePrivateData();` more consistently across user retrieval endpoints
* fix: better looking placeholder text for ACP search
* fix: bug where fallback to forum search was not working due to client-side error
* feat: allow plugins to toggle whether IPs are shown in the users CSV export
* feat: Allow defining active plugins in config (#10767)
* Revert "Revert "feat: cross origin opener policy options (#10710)""
This reverts commit 46050ace1a.
* Revert "Revert "chore(i18n): fallback strings for new resources: nodebb.admin-settings-advanced""
This reverts commit 9f291c07d3.
* feat: closes#10719, don't trim children if category is marked section
* feat: fire hook to allow plugins to filter the pids returned in a user profile
/cc julianlam/nodebb-plugin-support-forum#14
* fix: use `user.hidePrivateData();` more consistently across user retrieval endpoints
* feat: Allow defining active plugins in config
resolves#10766
* fix: assign the db result to files properly
* test: add tests with plugins in config
* feat: better theme change handling
* feat: add visual indication that plugins can't be activated
* test: correct hooks
* test: fix test definitions
* test: remove instead of resetting nconf to avoid affecting other tests
* test: ... I forgot how nconf worked
* fix: remove negation
* docs: improve wording of error message
* feat: reduce code duplication
* style: remove a redundant space
* fix: remove unused imports
* fix: use nconf instead of requiring config.json
* fix: await...
* fix: second missed await
* fix: move back from getActiveIds to getActive
* fix: use paths again?
* fix: typo
* fix: move require into the function
* fix: forgot to change back to getActive
* test: getActive returns only id
* test: accedently commented out some stuff
* feat: added note to top of plugins page if \!canChangeState
Co-authored-by: Julian Lam <julian@nodebb.org>
Co-authored-by: Barış Soner Uşaklı <barisusakli@gmail.com>
* feat: show an informative message when no plugins are found after filtering
fixes#10771
* Latest translations and fallbacks
* Latest translations and fallbacks
* chore(deps): bump ace-builds from 1.7.1 to 1.8.1 in /install
Bumps [ace-builds](https://github.com/ajaxorg/ace-builds) from 1.7.1 to 1.8.1.
- [Release notes](https://github.com/ajaxorg/ace-builds/releases)
- [Changelog](https://github.com/ajaxorg/ace-builds/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ajaxorg/ace-builds/compare/v1.7.1...v1.8.1)
---
updated-dependencies:
- dependency-name: ace-builds
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* fix: swap out icons in ACP > Manage > Categories to more intuitive ones, remove extra placeholder div
* fix: hide expando button if no subcategories; remove attempt at establishing common vars, increased spacing between categories in list
* fix: buggy expando state on category drag/drop
Co-authored-by: Barış Soner Uşaklı <barisusakli@gmail.com>
Co-authored-by: Opliko <opliko.reg@protonmail.com>
Co-authored-by: Misty Release Bot <deploy@nodebb.org>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Revert "Revert "feat: cross origin opener policy options (#10710)""
This reverts commit 46050ace1a.
* Revert "Revert "chore(i18n): fallback strings for new resources: nodebb.admin-settings-advanced""
This reverts commit 9f291c07d3.
* feat: closes#10719, don't trim children if category is marked section
* feat: fire hook to allow plugins to filter the pids returned in a user profile
/cc julianlam/nodebb-plugin-support-forum#14
* fix: use `user.hidePrivateData();` more consistently across user retrieval endpoints
* feat: Allow defining active plugins in config
resolves#10766
* fix: assign the db result to files properly
* test: add tests with plugins in config
* feat: better theme change handling
* feat: add visual indication that plugins can't be activated
* test: correct hooks
* test: fix test definitions
* test: remove instead of resetting nconf to avoid affecting other tests
* test: ... I forgot how nconf worked
* fix: remove negation
* docs: improve wording of error message
* feat: reduce code duplication
* style: remove a redundant space
* fix: remove unused imports
* fix: use nconf instead of requiring config.json
* fix: await...
* fix: second missed await
* fix: move back from getActiveIds to getActive
* fix: use paths again?
* fix: typo
* fix: move require into the function
* fix: forgot to change back to getActive
* test: getActive returns only id
* test: accedently commented out some stuff
* feat: added note to top of plugins page if \!canChangeState
Co-authored-by: Julian Lam <julian@nodebb.org>
Co-authored-by: Barış Soner Uşaklı <barisusakli@gmail.com>
* docs: use the new form issue template
* docs: add codeblock to plugins command in issue template
* docs: remove labels
* docs: remove all labels from issue templates
* style: add new line at the end of issue template files
* docs: re-add issue template labels
* feat: webpack 5 part 1
* fix: gruntfile fixes
* fix: fix taskbar warning
add app.importScript
copy public/src/modules to build folder
* refactor: remove commented old code
* feat: reenable admin
* fix: acp settings pages, fix sortable on manage categories
embedded require in html not allowed
* fix: bundle serialize/deserizeli so plugins dont break
* test: fixe util tests
* test: fix require path
* test: more test fixes
* test: require correct utils module
* test: require correct utils
* test: log stack
* test: fix db require blowing up tests
* test: move and disable bundle test
* refactor: add aliases
* test: disable testing route
* fix: move webpack modules necessary for build, into `dependencies`
* test: fix one more test
remove 500-embed.tpl
* fix: restore use of assets/nodebb.min.js, at least for now
* fix: remove unnecessary line break
* fix: point to proper ACP bundle
* test: maybe fix build test
* test: composer
* refactor: dont need dist
* refactor: more cleanup
use everything from build/public folder
* get rid of conditional import in app.js
* fix: ace
* refactor: cropper alias
* test: lint and test fixes
* lint: fix
* refactor: rename function to app.require
* refactor: go back to using app.require
* chore: use github branch
* chore: use webpack branch
* feat: webpack webinstaller
* feat: add chunkFile name with contenthash
* refactor: move hooks to top
* refactor: get rid of template500Function
* fix(deps): use webpack5 branch of 2factor plugin
* chore: tagging v2.0.0-beta.0 pre-release version 💥 :shipit: 🎉🚀
* refactor: disable cache on templates
loadTemplate is called once by benchpress and the result is cache internally
* refactor: add server side helpers.js
* feat: deprecate /plugins shorthand route, closes#10343
* refactor: use build/public for webpack
* test: fix filename
* fix: more specific selector
* lint: ignore
* refactor: fix comments
* test: add debug for random failing test
* refactor: cleanup
remove test page, remove dupe functions in utils.common
* lint: use relative path for now
* chore: bump prerelease version
* feat: add translateKeys
* fix: optional params
* fix: get rid of extra timeago files
* refactor: cleanup, require timeago locale earlier
remove translator.prepareDOM, it is in header.tpl html tag
* refactor: privileges system to use a Map in the backend instead of separate objects for keys and labels (#10378)
* refactor: privileges system to use a Map in the backend instead of separate objects for keys and labels
- Existing hooks are preserved (to be deprecated at a later date, possibly)
- New init hooks are called on NodeBB start, and provide a one-stop shop to add new privileges, instead of having to add to four different hooks
* docs: fix typo in comment
* test: spec changes
* refactor: privileges system to use a Map in the backend instead of separate objects for keys and labels (#10378)
* refactor: privileges system to use a Map in the backend instead of separate objects for keys and labels
- Existing hooks are preserved (to be deprecated at a later date, possibly)
- New init hooks are called on NodeBB start, and provide a one-stop shop to add new privileges, instead of having to add to four different hooks
* docs: fix typo in comment
* test: spec changes
* feat: allow app.require('bootbox'/'benchpressjs')
* refactor: require server side utils
* test: jquery ready
* change istaller to use build/public
* test: use document.addEventListener
* refactor: closes#10301
* refactor: generateTopicClass
* fix: column counts for other privileges
* fix: #10443, regression where sorted-list items did not render into the DOM in the predicted order [breaking]
* fix: typo in hook name
* refactor: introduce a generic autocomplete.init() method that can be called to add nodebb-style autocompletion but using different data sources (e.g. not user/groups/tags)
* fix: crash if `delay` not passed in (as it cannot be destructured)
* refactor: replace substr
* feat: set --panel-offset style in html element based on stored value in localStorage
* refactor: addDropupHandler() logic to be less naive
- Take into account height of the menu
- Don't apply dropUp logic if there's nothing in the dropdown
- Remove 'hidden' class (added by default in Persona for post tools) when menu items are added
closes#10423
* refactor: simplify utils.params [breaking]
Retrospective analysis of the usage of this method suggests that the options passed in are superfluous, and that only `url` is required. Using a browser built-in makes more sense to accomplish what this method sets out to do.
* feat: add support for returning full URLSearchParams for utils.params
* fix: utils.params() fallback handling
* fix: default empty obj for params()
* fix: remove \'loggedin\' and \'register\' qs parameters once they have been used, delay invocation of messages until ajaxify.end
* fix: utils.params() not allowing relative paths to be passed in
* refactor(DRY): new assertPasswordValidity utils method
* fix: incorrect error message returned on insufficient privilege on flag edit
* fix: read/update/delete access to flags API should be limited for moderators to only post flags in categories they moderate
- added failing tests and patched up middleware.assert.flags to fix
* refactor: flag api v3 tests to create new post and flags on every round
* fix: missing error:no-flag language key
* refactor: flags.canView to check flag existence, simplify middleware.assert.flag
* feat: flag deletion API endpoint, #10426
* feat: UI for flag deletion, closes#10426
* chore: update plugin versions
* chore: up emoji
* chore: update markdown
* chore: up emoji-android
* fix: regression caused by utils.params() refactor, supports arrays and pipes all values through utils.toType, adjusts tests to type check
Co-authored-by: Julian Lam <julian@nodebb.org>
.substr() is deprecated so we replace it with .slice() which works similarily but isn't deprecated
Signed-off-by: Tobias Speicher <rootcommander@gmail.com>
* test: add failing test for if package.json is non-existant, fix tests' beforeEach method
* Revert "fix: #10289, remove lodash dependency in src/cli/package-install.js"
This reverts commit 81fa2e22bc.
* fix: regression caused by 94b79ce402
`./nodebb setup` was no longer able to be called without arguments or env vars
* fix: .updatePackageFile() throwing if no package.json
* fix: removing unneeded code in src/cli/index.js that seemed to be used to handle cases where package.json was missing (initial install)
... However, as .updatePackageFile() now handled cases where there is no package.json, it should be ok to remove this code
* fix: handle missing package.json or node_modules/
* test: add test to verify that a sorted set is automatically deleted if its last element is removed
* fix: remote empty zsets when all elements have been removed #yolo
* Revert "fix: remote empty zsets when all elements have been removed #yolo"
This reverts commit 0ac73244bb.
* fix: altered behaviour in module.exists instead of zrem
fix upgrade script so posts with negative votes are stored, a post can have 10 upvotes and 2 downvotes
fix missing negative votes checks
remove unnecessary pids flters since the cids are only already filtered by topics:read
If a package manager is not explicitly set in config.json or passed-in via argv/env, NodeBB will now check for the presence of alternative package managers' lockfiles and adjust the package manager to-be-used accordingly. If the standard npm lockfile exists, npm will always be used.
* feat: remove colors in favour of chalk
* fix: bad conversion from colors to chalk in src/cli/index.js
* fix: padWidth calculation to account for control characters
* fix: termWidth calculation, but swapped one problem for another
* fix: formatItem, implement my own padRight to take control characters into account
* feat: wip user emails api
* fix: allow admins with manage-users access to email confirmation api as well
* fix: wrong route path
* docs: openapi spec
if recent is used as the homepage then changing the selected category or filters was redirecting the user to forum.com/recent?cid=1 instead of staying at forum.com/?cid=1
also fix unread page mark read button showing the selected category
* init - fullname notifications setting
* fullname in topic reply
* fullname for group-request-membership
* fullname for group-leave notification
* fullname for new-post-flag & new-user-flag
* removed log
* fullname for user follow
* fullname in message notification
* fullname in follow
* fullname for sendNotificationToPostOwner
* fullname in sendNotificationToTopicOwner
* fullname in doExport
* shorthand name set
* shorter name set
* fullname in notifications
* displayname for notifications
* removed unused require
allow regular users access to post queue
allow regular users to edit their queued post/topic title
allow regular users to remove their post from post queue
ability to send a notification to user without removing from post queue
allow accessing single post queue items from notifications
socket.emit('topics.delete') removed use `DELETE /api/v3/topics/state`
socket.emit('topics.restore') removed use `PUT /api/v3/topics/state`
socket.emit('topics.purge') removed use `DELETE /api/v3/topics`
socket.emit('topics.lock') removed use `PUT /api/v3/topics/lock`
socket.emit('topics.unlock') removed use `DELETE /api/v3/topics/lock`
socket.emit('topics.pin') removed use `PUT /api/v3/topics/pin`
socket.emit('topics.unpin') removed use `DELETE /api/v3/topics/pin`
Also updated the plugin hook call to `static:sockets.validateSession` to not return a result, because in static calls that result is always null anyway
* refactor: use routePrefixMap instead of routeRegexpMap, +tests
Currently tests fail because privilege pages resolve if passed garbage... hmm
* fix: priv check paths
remove /v3 from path as well
Co-authored-by: Barış Soner Uşaklı <barisusakli@gmail.com>
this hook only fires when loading the posts of a topic cold load + infinite scroll
do not remove posts if they have index =-1
use topics.getTopicPosts instead of getMainPostAndReplies
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.
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, even if you are not sure whether something qualifies.
# 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
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 [dedicated page for our Bug Bounty Program](https://nodebb.org/bounty).
[**NodeBB Forum Software**](https://nodebb.org) is powered by Node.js and supports either Redis, MongoDB, or a PostgreSQL database. It utilizes web sockets for instant interactions and real-time notifications. NodeBB has many modern features out of the box such as social network integration and streaming discussions, while still making sure to be compatible with older browsers.
[**NodeBB Forum Software**](https://nodebb.org) is powered by Node.js and supports either Redis, MongoDB, or a PostgreSQL database. It utilizes web sockets for instant interactions and real-time notifications. NodeBB takes the best of the modern web: real-time streaming discussions, mobile responsiveness, and rich RESTful read/write APIs, while staying true to the original bulletin board/forum format → categorical hierarchies, local user accounts, and asynchronous messaging.
Additional functionality is enabled through the use of third-party plugins.
NodeBB by itself contains a "common core" of basic functionality, while additional functionality and integrations are enabled through the use of third-party plugins.
* [Premium Hosting for NodeBB](http://www.nodebb.org/ "NodeBB")
* Unofficial IRC community – channel `#nodebb` on Libera.chat
* [Follow us on Twitter](http://www.twitter.com/NodeBB/ "NodeBB Twitter")
* [Like us on Facebook](http://www.facebook.com/NodeBB/ "NodeBB Facebook")
### [Try it now](//try.nodebb.org) | [Documentation](//docs.nodebb.org)
## Screenshots
@@ -42,7 +35,7 @@ Our minimalist "Persona" theme gets you going right away, no coding experience r
* If you are a developer, feel free to check out the source and submit pull requests. We also have a wide array of [plugins](http://community.nodebb.org/category/7/nodebb-plugins) which would be a great starting point for learning the codebase.
* If you are a designer, [NodeBB needs themes](http://community.nodebb.org/category/10/nodebb-themes)! NodeBB's theming system allows extension of the base templates as well as styling via LESS or CSS. NodeBB's base theme utilizes [Bootstrap 3](http://getbootstrap.com/) but themes can choose to use a different framework altogether.
* If you know languages other than English you can help us translate NodeBB. We use [Transifex](https://www.transifex.com/projects/p/nodebb/) for internationalization.
* If you know languages other than English you can help us translate NodeBB. We use [Transifex](https://explore.transifex.com/nodebb/nodebb/) for internationalization.
* Please don't forget to **like**, **follow**, and **star our repo**! Join our growing [community](http://community.nodebb.org) to keep up to date with the latest NodeBB development.
## Requirements
@@ -50,7 +43,7 @@ Our minimalist "Persona" theme gets you going right away, no coding experience r
NodeBB requires the following software to be installed:
* A version of Node.js at least 12 or greater ([installation/upgrade instructions](https://github.com/nodesource/distributions))
* MongoDB, version 2.6 or greater **or** Redis, version 2.8.9 or greater
* MongoDB, version 3.6 or greater **or** Redis, version 2.8.9 or greater
* If you are using [clustering](https://docs.nodebb.org/configuring/scaling/) you need Redis installed and configured.
* nginx, version 1.3.13 or greater (**only if** intending to use nginx to proxy requests to a NodeBB)
@@ -78,3 +71,15 @@ Detailed upgrade instructions are listed in [Upgrading NodeBB](https://docs.node
NodeBB is licensed under the **GNU General Public License v3 (GPL-3)** (http://www.gnu.org/copyleft/gpl.html).
Interested in a sublicense agreement for use of NodeBB in a non-free/restrictive environment? Contact us at sales@nodebb.org.
"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-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>",
"maintenance-mode.help":"When the forum is in maintenance mode, all requests will be redirected to a static holding page. Administrators are exempt from this redirection, and are able to access the site normally.",
"maintenance-mode.status":"Maintenance Mode Status Code",
"maintenance-mode.message":"Maintenance Message",
"maintenance-mode.groups-exempt-from-maintenance-mode":"Select groups that should be exempt from maintenance mode",
"headers":"Headers",
"headers.allow-from":"Set ALLOW-FROM to Place NodeBB in an iFrame",
"headers.csp-frame-ancestors":"Set Content-Security-Policy frame-ancestors header to Place NodeBB in an iFrame",
"headers.permissions-policy-help":"Allows setting permissions policy header, for example \"geolocation=*, camera=()\", see <a href=\"https://github.com/w3c/webappsec-permissions-policy/blob/main/permissions-policy-explainer.md\">this</a> for more info.",
"from-help":"The from name to display in the email.",
"confirmation-settings":"Confirmation",
"confirmation.expiry":"Hours to keep email confirmation link valid",
"smtp-transport":"SMTP Transport",
"smtp-transport.enabled":"Enable SMTP Transport",
"smtp-transport-help":"You can select from a list of well-known services or enter a custom one.",
"smtp-transport.service":"Select a service",
"smtp-transport.service-custom":"Custom Service",
"smtp-transport.service-help":"Select a service name above in order to use the known information about it. Alternatively, select 'Custom Service' and enter the details below.",
"smtp-transport.gmail-warning1":"There have been reports of the Gmail service not working on accounts with heightened security. In those scenarios, you will have to <a href=\"https://www.google.com/settings/security/lesssecureapps\">configure your GMail account to allow less secure apps</a>.",
"smtp-transport.gmail-warning2":"For more information about this workaround, <a href=\"https://nodemailer.com/usage/using-gmail/\">please consult this NodeMailer article on the issue.</a> An alternative would be to utilise a third-party emailer plugin such as SendGrid, Mailgun, etc. <a href=\"../extend/plugins\">Browse available plugins here</a>.",
"smtp-transport.service-help":"Select a service name above in order to use the known information about it. Alternatively, select "Custom Service" and enter the details below.",
"smtp-transport.gmail-warning1":"If you are using GMail as your email provider, you will have to generate an "App Password" in order for NodeBB to authenticate successfully. You can generate one at the <a href=\"https://myaccount.google.com/apppasswords\">App Passwords <i class=\"fa fa-external-link\"></i></a> page.",
"smtp-transport.gmail-warning2":"For more information about this workaround, <a href=\"https://nodemailer.com/usage/using-gmail/\">please consult this NodeMailer article <i class=\"fa fa-external-link\"></i></a> on the issue. An alternative would be to utilise a third-party emailer plugin such as SendGrid, Mailgun, etc. <a href=\"../extend/plugins\">Browse available plugins here</a>.",
"smtp-transport.auto-enable-toast":"It looks like you're configuring an SMTP transport. We enabled the \"SMTP Transport\" option for you.",
"smtp-transport.host":"SMTP Host",
"smtp-transport.port":"SMTP Port",
"smtp-transport.security":"Connection security",
@@ -38,9 +42,11 @@
"subscriptions.hour-help":"Please enter a number representing the hour to send scheduled email digests (e.g. <code>0</code> for midnight, <code>17</code> for 5:00pm). Keep in mind that this is the hour according to the server itself, and may not exactly match your system clock.<br /> The approximate server time is: <span id=\"serverTime\"></span><br /> The next daily digest is scheduled to be sent <span id=\"nextDigestTime\"></span>",
"notifications.remove-images":"Remove images from email notifications",
"require-email-address":"Require new users to specify an email address",
"require-email-address-warning":"By default, users can opt-out of entering an email address. Enabling this option means they have to enter an email address in order to proceed with registration. <strong>It does not ensure user will enter a real email address, nor even an address they own.</strong>",
"require-email-address-warning":"By default, users can opt-out of entering an email address by leaving the field blank. Enabling this option means they have to enter an email address in order to proceed with registration. <strong>It does not ensure user will enter a real email address, nor even an address they own.</strong>",
"send-validation-email":"Send validation emails when an email is added or changed",
"include-unverified-emails":"Send emails to recipients who have not explicitly confirmed their emails",
"include-unverified-warning":"By default, users with emails associated with their account have already been verified, but there are situations where this is not the case (e.g. SSO logins, grandfathered users, etc). <strong>Enable this setting at your own risk</strong> – sending emails to unverified addresses may be a violation of regional anti-spam laws.",
"prompt":"Prompt users to enter or confirm their emails",
"prompt-help":"If a user does not have an email set, or their email is not confirmed, a warning will be shown on screen."
"prompt-help":"If a user does not have an email set, or their email is not confirmed, a warning will be shown on screen.",
"sendEmailToBanned":"Send emails to users even if they have been banned"
"composer-help":"The following settings govern the functionality and/or appearance of the post composer shown\n\t\t\t\tto users when they create new topics, or reply to existing topics.",
"flags.limit-per-target-help":"When a post or user is flagged multiple times, each additional flag is considered a "report" and added to the original flag. Set this option to a number other than zero to limit the number of reports an item can receive.",
"flags.auto-resolve-on-ban":"Automatically resolve all of a user's tickets when they are banned"
"flags.auto-flag-on-downvote-threshold":"Number of downvotes to auto flag posts (Set to 0 to disable, default: 0)",
"flags.auto-resolve-on-ban":"Automatically resolve all of a user's tickets when they are banned",
"flags.action-on-resolve":"Do the following when a flag is resolved",
"flags.action-on-reject":"Do the following when a flag is rejected",
"flags.action.nothing":"Do nothing",
"flags.action.rescind":"Rescind the notification send to moderators/administrators"
"preserve-orphaned-uploads":"Keep uploaded files on disk after a post is purged",
"orphanExpiryDays":"Days to keep orphaned files",
"orphanExpiryDays-help":"After this many days, orphaned uploads will be deleted from the file system.<br />Set 0 or leave blank to disable.",
"private-extensions":"File extensions to make private",
"private-uploads-extensions-help":"Enter comma-separated list of file extensions to make private here (e.g. <code>pdf,xls,doc</code>). An empty list means all files are private.",
"resize-image-width-threshold":"Resize images if they are wider than specified width",
"email-confirm-interval":"لا يمكن للمستخدم إعادة إرسال رسالة تأكيد البريد الالكتروني حتى مرور",
"email-confirm-email2":"دقائق",
"email-confirm-interval2":"minutes have elapsed",
"allow-login-with":"السماح بتسجيل الدخول باستخدام",
"allow-login-with.username-email":"اسم المستخدم أو البريد الالكتروني",
"allow-login-with.username":"اسم المستخدم فقط",
"allow-login-with.email":"البريد الالكتروني فقط",
"account-settings":"إعدادت الحساب",
"gdpr_enabled":"Enable GDPR consent collection",
"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.",
"unsub.success":"You will no longer receive emails from the <strong>%1</strong> mailing list",
"unsub.failure.title":"Unable to unsubscribe",
"unsub.failure.message":"Unfortunately, we were not able to unsubscribe you from the mailing list, as there was an issue with the link. However, you can alter your email preferences by going to <a href=\"%2\">your user settings</a>.<br /><br />(error: <code>%1</code>)",
"banned.subject":"You have been banned from %1",
"banned.text1":"The user %1 has been banned from %2.",
"not-enough-reputation-min-rep-website":"You do not have enough reputation to add a website",
"not-enough-reputation-min-rep-aboutme":"You do not have enough reputation to add an about me",
"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",
"not-enough-reputation-to-chat":"You need %1 reputation to chat",
"not-enough-reputation-to-upvote":"You need %1 reputation to upvote",
"not-enough-reputation-to-downvote":"You need %1 reputation to downvote",
"not-enough-reputation-to-flag":"You need %1 reputation to flag this post",
"not-enough-reputation-min-rep-website":"You need %1 reputation to add a website",
"not-enough-reputation-min-rep-aboutme":"You need %1 reputation to add an about me",
"not-enough-reputation-min-rep-signature":"You need %1 reputation to add a signature",
"not-enough-reputation-min-rep-profile-picture":"You need %1 reputation to add a profile picture",
"not-enough-reputation-min-rep-cover-picture":"You need %1 reputation to add a cover picture",
"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",
"cant-flag-privileged":"You are not allowed to flag the profiles or content of privileged users (moderators/global moderators/admins)",
"self-vote":"You cannot vote on your own post",
"too-many-upvotes-today":"You can only upvote %1 times a day",
"too-many-upvotes-today-user":"You can only upvote a user %1 times a day",
"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\". سيواصل المنتدى خدمة العملاء السابقين لكن يجب عليك إلغاء أي تغيير قمت به قبل إعادة التحميل.",
@@ -195,6 +205,8 @@
"no-connection":"There seems to be a problem with your internet connection",
"socket-reconnect-failed":"Unable to reach the server at this time. Click here to try again, or try again later",
"plugin-not-whitelisted":"Unable to install plugin – only plugins whitelisted by the NodeBB Package Manager can be installed via the ACP",
"plugins-set-in-configuration":"You are not allowed to change plugin state as they are defined at runtime (config.json, environmental variables or terminal arguments), please modify the configuration instead.",
"theme-not-set-in-configuration":"When defining active plugins in configuration, changing themes requires adding the new theme to the list of active plugins before updating it in the ACP",
"has_no_ignored_topics":"هذا المستخدم لم يقم بتجاهل اية مواضيع حتى الآن.",
"has_no_upvoted_posts":"هذا المستخدم لم يقم بالتصويت للأعلى لأي مشاركة حتى الآن.",
"has_no_downvoted_posts":"هذا المستخدم لم يقم بالتصويت للأسفل لأي مشاركة حتى الآن.",
"has_no_voted_posts":"هذا المستخدم لا يمتلك اية مشاركات تم التصويت عليها",
"has_no_controversial_posts":"This user does not have any downvoted posts yet.",
"has_no_blocks":"You have blocked no users.",
"email_hidden":"البريد الإلكتروني مخفي",
"hidden":"مخفي",
@@ -154,6 +157,11 @@
"info.banned-permanently":"محظور بشكل دائم",
"info.banned-reason-label":"سبب",
"info.banned-no-reason":"لم يتم إعطاء سبب.",
"info.mute-history":"Recent Mute History",
"info.no-mute-history":"This user has never been muted",
"info.muted-until":"Muted until %1",
"info.muted-expiry":"Expiry",
"info.muted-no-reason":"No reason given.",
"info.username-history":"سجل اسم المستخدم",
"info.email-history":"سجل البريد الإلكتروني",
"info.moderation-note":"ملاحظة الإشراف",
@@ -184,6 +192,8 @@
"consent.export_posts":"Export Posts (.csv)",
"consent.export-posts-success":"Exporting posts, you will get a notification when it is complete.",
"emailUpdate.intro":"Please enter your email address below. This forum uses your email address for scheduled digest and notifications, as well as for account recovery in the event of a lost password.",
"emailUpdate.optional":"<strong>This field is optional</strong>. You are not obligated to provide your email address, but without a validated email, you will not be able to recover your account.",
"emailUpdate.change-instructions":"A confirmation email will be sent to the entered email address with a unique link. Accessing that link will confirm your ownership of the email address and it will become active on your account. At any time, you are able to update your email on file from within your account page."
"emailUpdate.optional":"<strong>This field is optional</strong>. You are not obligated to provide your email address, but without a validated email you will not be able to recover your account or login with your email.",
"emailUpdate.required":"<strong>This field is required</strong>.",
"emailUpdate.change-instructions":"A confirmation email will be sent to the entered email address with a unique link. Accessing that link will confirm your ownership of the email address and it will become active on your account. At any time, you are able to update your email on file from within your account page.",
"emailUpdate.password-challenge":"Please enter your password in order to verify account ownership."
"alerts.validate-email-success":"Е-пощите са проверени",
"alerts.validate-force-password-reset-success":"Паролата на потребителя (или паролите на потребителите) беше подновена и сесията му беше прекратена.",
"alerts.password-reset-confirm":"Искате ли да изпратите е-писмо/а за възстановяване на паролата на този/тези потребител(и)?",
"alerts.password-reset-email-sent":"Е-писмото за възстановяване на паролата е изпратено.",
"alerts.confirm-delete":"<strong>ВНИМАНИЕ!</strong><p>Наистина ли искате да изтриете <strong>потребителя/ите</strong>?</p> <p>Това действие е необратимо! Ще бъде изтрит само профилът на потребителя/ите, неговите/техните публикациите и теми ще останат.</p>",
"alerts.confirm-delete-content":"<strong>ВНИМАНИЕ!</strong><p>Наистина ли искате да изтриете <strong>съдържанието</strong> на този потребител или тези потребители?</p> <p>Това действие е необратимо! Профилите на потребителите ще останат, но всички техни публикации и теми ще бъдат изтрити.</p>",
"maintenance-mode.help":"Когато форумът е в режим на профилактика, всички заявки ще бъдат пренасочвани към статична страница за изчакване, с изключение на администраторите, които ще могат да използват уеб сайта нормално.",
"maintenance-mode.status":"Код на състоянието за режима на профилактика",
"maintenance-mode.message":"Съобщение за профилактиката",
"maintenance-mode.groups-exempt-from-maintenance-mode":"Изберете групи, които да бъдат изключени от режима на профилактика",
"headers":"Заглавни части",
"headers.allow-from":"Задайте „ALLOW-FROM“, за да поставите NodeBB в „iFrame“",
"headers.csp-frame-ancestors":"Задайте заглавката „Content-Security-Policy frame-ancestors“ за да поставите NodeBB „iFrame“",
"headers.csp-frame-ancestors-help":"„none“ (нищо), „self“ (себе си – по подразбиране) или списък от позволени адреси.",
"headers.powered-by":"Персонализиране на заглавната част „Захранван от“, която се изпраща от NodeBB",
"headers.acao":"Произход за разрешаване на управлението на достъпа",
"headers.acao-regex":"Регулярен израз за произхода за разрешаване на управлението на достъпа",
"headers.acao":"Access-Control-Allow-Origin",
"headers.acao-regex":"Регулярен израз за „Access-Control-Allow-Origin“",
"headers.acao-help":"За да забраните достъпа до всички уеб сайтове, оставете празно",
"headers.acao-regex-help":"Въведете регулярен израз за съвпадение с динамичните произходи. За да забраните достъпа на всички уеб сайтове, оставете това празно.",
"headers.acac":"Удостоверителни данни за разрешаване на управлението на достъпа",
"headers.permissions-policy-help":"Allows setting permissions policy header, for example \"geolocation=*, camera=()\", see <a href=\"https://github.com/w3c/webappsec-permissions-policy/blob/main/permissions-policy-explainer.md\">this</a> for more info.",
"hsts":"Стриктна транспортна сигурност",
"hsts.enabled":"Включване на HSTS (препоръчително)",
"smtp-transport.service-help":"Изберете името на услугата по-горе, за да използвате известните данни за нея. Или изберете „Персонализирана услуга“ и въведете данните ѝ по-долу.",
"smtp-transport.gmail-warning1":"Има доклади, чеуслугатанаGmail не работи за акаунти с подсилена защита. В тези случаи ще трябва да <a href=\"https://www.google.com/settings/security/lesssecureapps\">настроите своя акаунт в GMail така, че да позволява използването на по-малко защитени приложения</a>.",
"smtp-transport.gmail-warning2":"За повече информация относно това обиколно решение, <a href=\"https://nodemailer.com/usage/using-gmail/\">моля, прегледайте тази статия за проблема в „NodeMailer“.</a> Друго решение би било използването на добавка за е-поща от трета страна, като например „SendGrid“, „Mailgun“ и т.н. <a href=\"../extend/plugins\">Вижте наличните добавки тук</a>.",
"smtp-transport.gmail-warning1":"Ако използвате GMail, щетрябвадасъздадете „Парола за приложение“, за да може NodeBB да използва данните за удостоверяване. Можете да създадете такава в страницата с <a href=\"https://myaccount.google.com/apppasswords\">Пароли за приложения<i class=\"fa fa-external-link\"></i></a>.",
"smtp-transport.gmail-warning2":"За повече информация относно това обиколно решение, <a href=\"https://nodemailer.com/usage/using-gmail/\">моля, прегледайте тази статия за проблема в „NodeMailer“<i class=\"fa fa-external-link\"></i></a>. Друго решение би било използването на добавка за е-поща от трета страна, като например „SendGrid“, „Mailgun“ и т.н. <a href=\"../extend/plugins\">Вижте наличните добавки тук</a>.",
"smtp-transport.auto-enable-toast":"Изглежда настройвате функционалност, която изисква транспорт чрез SMTP. Включихме настройката „Транспорт чрез SMTP“, за да не го правите Вие.",
"smtp-transport.host":"SMTP сървър",
"smtp-transport.port":"SMTP порт",
"smtp-transport.security":"Сигурност на връзката",
@@ -38,9 +42,11 @@
"subscriptions.hour-help":"Моля, въведете число, представляващо часа, в който да се разпращат е-писма с подготвеното резюме (напр.. <code>0</code> за полунощ, <code>17</code> за 5 следобед). Имайте предвид, че този час е според часовата зона на сървъра и може да не съвпада с часовника на системата Ви.<br /> Приблизителното време на сървъра е: <span id=\"serverTime\"></span><br /> Изпращането на следващия ежедневен бюлетин е планирано за <span id=\"nextDigestTime\"></span>",
"notifications.remove-images":"Премахване на изображенията от известията по е-поща",
"require-email-address":"Новите потребители задължително трябва да предоставят е-поща",
"require-email-address-warning":"По подразбиране потребителите могат да не въвеждат адрес на е-поща. Ако включите това, те задължително ще трябва да предоставят е-поща, за да могат да се регистрират. <strong>Това не означава, че потребителят ще въведе съществуваща е-поща, нито че тя ще е негова.</strong>",
"require-email-address-warning":"По подразбиране потребителите могат да не въвеждат адрес на е-поща, като оставят полето празно. Ако включите това, те задължително ще трябва да предоставят е-поща, за да могат да се регистрират. <strong>Това не означава, че потребителят ще въведе съществуваща е-поща, нито че тя ще е негова.</strong>",
"send-validation-email":"Изпращане на е-писма за потвърждение, когато бъде добавена или променена е-поща",
"include-unverified-emails":"Изпращане на е-писма към получатели, които не са потвърдили изрично е-пощата си",
"include-unverified-warning":"За потребителите, които имат свързана е-поща с регистрацията си, тя се смята за потвърдена. Но има ситуации, в които това не е така (например при ползване на регистрация от друга система, но и в други случаи), <strong>Включете тази настройка на собствен риск</strong> – изпращането на е-писма към непотвърдени адреси може да нарушава определени местни закони против нежеланата поща.",
"prompt":"Подсещане на потребителите да въведат или потвърдят е-пощата си",
"prompt-help":"Ако потребител няма зададена е-поща, или ако тя не е потвърдена, на екрана му ще се покаже предупредително съобщение."
"prompt-help":"Ако потребител няма зададена е-поща, или ако тя не е потвърдена, на екрана му ще се покаже предупредително съобщение.",
"sendEmailToBanned":"Изпращане на е-писма дори до блокираните потребители"
"signature.no-links":"Забраняване на поставянето на връзки в подписите",
"signature.no-images":"Забраняване на поставянето на изображения в подписите",
"signature.hide-duplicates":"Скриване на дублираните подписи в темите",
"signature.max-length":"Максимална дължина на подписите",
"composer":"Настройки за съставянето",
"composer-help":"Следващите настройки определят функционалностите и/или вида на елемента за съставяне на\n\\t\\t\\t\\tпубликация, който се използва от потребителите, когато те създават нови теми или отговорят в съществуващи.",
"flags.limit-per-target-help":"Когато публикация или потребител бъде докладван няколко пъти, това се добавя към един общ доклад. Задайте на тази настройка стойност по-голяма от нула, за да ограничите броя на докладванията, които могат да бъдат натрупани към една публикация или потребител.",
"flags.auto-resolve-on-ban":"Автоматично премахваненавсички доклади за потребител, когато той бъде блокиран"
"flags.auto-flag-on-downvote-threshold":"Брой отрицателни гласове, при които публикациитедабъдат докладвани автоматично (0 = изключено, по подразбиране: 0)",
"flags.auto-resolve-on-ban":"Автоматично премахване на всички доклади за потребител, когато той бъде блокиран",
"flags.action-on-resolve":"Когато докладване бъде разрешено, да се направи следното",
"flags.action-on-reject":"Когато докладване бъде отхвърлено, да се направи следното",
"flags.action.nothing":"Да не се прави нищо",
"flags.action.rescind":"Да се отмени известието, изпратено до модераторите/администраторите"
"allow-files":"Позволяване на потребителите да качват обикновени файлове",
"orphans":"Неизползвани файлове",
"private":"Качените файлове да бъдат частни",
"strip-exif-data":"Премахване на данните EXIF",
"preserve-orphaned-uploads":"Запазване на качените файлове на диска дори след изтриването на публикацията",
"orphanExpiryDays":"Брой дни за съхранение на неизползваните файлове",
"orphanExpiryDays-help":"След толкова на брой дни неизползваните качени файлове ще бъдат изтривани.<br />Задайте 0 или оставете празно, за да изключите тази функционалност.",
"private-extensions":"Файлови разширения, които да бъдат частни",
"private-uploads-extensions-help":"Въведете списък от файлови разширения, разделени със запетаи, които искате да бъдат частни (например <code>pdf,xls,doc</code>). Ако оставите това поле празно, всички файлове ще бъдат частни.",
"resize-image-width-threshold":"Преоразмеряване на изображенията, ако са по-широки от определената ширина",
"gdpr_enabled":"Включване на искането за съгласие с ОРЗД",
"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).",
@@ -25,7 +23,7 @@
"login-attempts":"Брой опити за вписване на час",
"login-attempts-help":"Ако опитите за вписване на потребител минат тази граница, акаунтът ще бъде заключен за определено време.",
"lockout-duration":"Продължителност на заключването на акаунта (в минути)",
"login-days":"Продължителност на запомнянето на сесията за вписване на потребителя (в дни)",
"login-days":"Брой дни за помнене на сесията за вписване на потребителя",
"password-expiry-days":"Изискване на промяна на паролата през определен период от дни",
"unsub.cta":"Натиснете тук, за да промените тези настройки",
"unsubscribe":"отписване",
"unsub.success":"Повече няма да получавате е-писма от пощенския списък на <strong>%1</strong>",
"unsub.failure.title":"Отписването не може да се извърши",
"unsub.failure.message":"За съжаление не успяхме да Ви отпишем от пощенския списък, поради проблем с връзката. Можете, обаче, да промените предпочитанията си за е-писмата в <a href=\"%2\">потребителските си настройки</a>.<br /><br />(грешка: <code>%1</code>)",
"banned.subject":"Вие бяхте блокиран(а) от %1",
"banned.text1":"Потребителят %1 беше блокиран от %2.",
"banned.text2":"Това блокиране ще е в сила до %1.",
"wrong-parameter-type":"За свойството `%1` се очакваше стойност от тип %3, но вместо това беше получено %2",
"required-parameters-missing":"Липсват задължителни параметри от това извикване към ППИ: %1",
"not-logged-in":"Изглежда не сте се вписали в системата.",
"account-locked":"Вашият акаунт беше заключен временно",
"search-requires-login":"Търсенето изисква регистриран акаунт! Моля, впишете се или се регистрирайте!",
@@ -9,6 +11,7 @@
"invalid-tid":"Грешен идентификатор на тема",
"invalid-pid":"Грешен идентификатор на публикация",
"invalid-uid":"Грешен идентификатор на потребител",
"invalid-mid":"Грешен идентификатор на съобщение в разговор",
"invalid-date":"Трябва да бъде посочена правилна дата",
"invalid-username":"Грешно потребителско име",
"invalid-email":"Грешна е-поща",
@@ -58,6 +61,7 @@
"no-group":"Групата не съществува",
"no-user":"Потребителят не съществува",
"no-teaser":"Резюмето не съществува",
"no-flag":"Докладът не съществува",
"no-privileges":"Нямате достатъчно права за това действие.",
"category-disabled":"Категорията е изключена",
"topic-locked":"Темата е заключена",
@@ -104,6 +108,9 @@
"already-bookmarked":"Вече имате отметка към тази публикация",
"already-unbookmarked":"Вече сте премахнали отметката си от тази публикация",
"cant-ban-other-admins":"Не можете да блокирате другите администратори!",
"cant-mute-other-admins":"Не можете да заглушавате другите администратори!",
"user-muted-for-hours":"Вие бяхте заглушен(а). Ще можете да пускате публикации отново след %1 час(а)",
"user-muted-for-minutes":"Вие бяхте заглушен(а). Ще можете да пускате публикации отново след %1 минута/и",
"cant-make-banned-users-admin":"Не можете да давате администраторски права на блокирани потребители.",
"cant-remove-last-admin":"Вие сте единственият администратор. Добавете друг потребител като администратор, преди да премахнете себе си като администратор",
"account-deletion-disabled":"Изтриването на акаунт е забранено",
@@ -142,7 +149,6 @@
"invalid-chat-message":"Неправилно съобщение",
"chat-message-too-long":"Съобщенията в разговор не може да бъдат по-дълги от %1 знака.",
"cant-edit-chat-message":"Нямате право да редактирате това съобщение",
"cant-remove-last-user":"Не можете да премахнете последния потребител",
"cant-delete-chat-message":"Нямате право да изтриете това съобщение",
"chat-edit-duration-expired":"Можете да редактирате съобщенията си в разговорите до %1 секунда/и, след като ги пуснете",
"chat-delete-duration-expired":"Можете да изтривате съобщенията си в разговорите до %1 секунда/и след пускането им",
@@ -152,19 +158,23 @@
"already-voting-for-this-post":"Вече сте дали глас за тази публикация.",
"reputation-system-disabled":"Системата за репутация е изключена.",
"downvoting-disabled":"Отрицателното гласуване е изключено",
"not-enough-reputation-to-downvote":"Нямате достатъчно репутация, за да гласувате отрицателно за тази публикация",
"not-enough-reputation-to-flag":"Нямате достатъчно репутация, за да докладвате тази публикация",
"not-enough-reputation-min-rep-website":"Нямате достатъчно репутация, за да добавите уеб сайт",
"not-enough-reputation-min-rep-aboutme":"Нямате достатъчно репутация, за да добавите информация за себе си",
"not-enough-reputation-min-rep-signature":"Нямате достатъчно репутация, за да добавите подпис",
"not-enough-reputation-min-rep-profile-picture":"Нямате достатъчно репутация, за да добавите снимка на профила си",
"not-enough-reputation-min-rep-cover-picture":"Нямате достатъчно репутация, за да добавите снимка на корицата",
"not-enough-reputation-to-chat":"Репутацията Ви трябва да бъде поне %1, за да участвате в разговори",
"not-enough-reputation-to-upvote":"Репутацията Ви трябва да бъде поне %1, за да гласувате положително",
"not-enough-reputation-to-downvote":"Репутацията Ви трябва да бъде поне %1, за да гласувате отрицателно",
"not-enough-reputation-to-flag":"Репутацията Ви трябва да бъде поне %1, за да докладвате тази публикация",
"not-enough-reputation-min-rep-website":"Репутацията Ви трябва да бъде поне %1, за да добавите уеб сайт",
"not-enough-reputation-min-rep-aboutme":"Репутацията Ви трябва да бъде поне %1, за да добавите информация за себе си",
"not-enough-reputation-min-rep-signature":"Репутацията Ви трябва да бъде поне %1, за да добавите подпис",
"not-enough-reputation-min-rep-profile-picture":"Репутацията Ви трябва да бъде поне %1, за да добавите снимка на профила си",
"not-enough-reputation-min-rep-cover-picture":"Репутацията Ви трябва да бъде поне %1, за да добавите снимка на корицата",
"post-already-flagged":"Вече сте докладвали тази публикация",
"user-already-flagged":"Вече сте докладвали този потребител",
"post-flagged-too-many-times":"Тази публикация вече е докладвана от други хора",
"user-flagged-too-many-times":"Този потребител вече е докладван от други хора",
"cant-flag-privileged":"Не можете да докладвате профилите или съдържанието от потребители с по-високи правомощия (модератори, глобални модератори, администратори)",
"self-vote":"Не можете да гласувате за собствената си публикация",
"too-many-upvotes-today":"Можете да гласувате положително не повече от %1 пъти на ден",
"too-many-upvotes-today-user":"Можете да гласувате положително за потребител не повече от %1 пъти на ден",
"too-many-downvotes-today":"Можете да гласувате отрицателно не повече от %1 пъти на ден",
"too-many-downvotes-today-user":"Можете да гласувате отрицателно за потребител не повече от %1 пъти на ден",
"reload-failed":"NodeBB срещна проблем при презареждането: „%1“. NodeBB ще продължи да поддържа съществуващите клиентски ресурси, но Вие трябва да отмените последните си действия преди презареждането.",
@@ -195,6 +205,8 @@
"no-connection":"Изглежда има проблем с връзката Ви с Интернет",
"socket-reconnect-failed":"В момента сървърът е недостъпен. Натиснете тук, за да опитате отново, или опитайте пак по-късно.",
"plugin-not-whitelisted":"Добавката не може да бъде инсталирана – само добавки, одобрени от пакетния мениджър на NodeBB могат да бъдат инсталирани чрез ACP",
"plugins-set-in-configuration":"Не можете да променяте състоянието на добавката, тъй като то се определя по време на работата ѝ (чрез config.json, променливи на средата или аргументи при изпълнение). Вместо това може да промените конфигурацията.",
"theme-not-set-in-configuration":"Когато определяте активните добавки в конфигурацията, промяната на темите изисква да се добави новата тема към активните добавки, преди актуализирането ѝ в ACP",
"topic-event-unrecognized":"Събитието „%1“ на темата е неизвестно",
"cant-set-child-as-parent":"Дъщерна категория не може да се зададе като базова такава",
"cant-set-self-as-parent":"Категорията не може да се зададе като базова категория на себе си",
"ban_account_confirm":"Наистина ли искате да блокирате този потребител?",
"unban_account":"Деблокиране на акаунта",
"mute_account":"Заглушаване на акаунта",
"unmute_account":"Премахване на заглушаването на акаунта",
"delete_account":"Изтриване на акаунта",
"delete_account_as_admin":"Изтриване на <strong>акаунта</strong>",
"delete_content":"Изтриване на <strong>съдържанието</strong> на акаунта",
@@ -105,7 +108,7 @@
"has_no_ignored_topics":"Този потребител не е пренебрегнал нито една тема досега.",
"has_no_upvoted_posts":"Този потребител не е гласувал положително досега.",
"has_no_downvoted_posts":"Този потребител не е гласувал отрицателно досега.",
"has_no_voted_posts":"Този потребител нее гласувал досега.",
"has_no_controversial_posts":"Този потребител няма публикации с отрицателни гласове засега.",
"has_no_blocks":"Не сте блокирали никого.",
"email_hidden":"Е-пощата е скрита",
"hidden":"скрито",
@@ -154,6 +157,11 @@
"info.banned-permanently":"Блокиран за постоянно",
"info.banned-reason-label":"Причина",
"info.banned-no-reason":"Няма посочена причина.",
"info.mute-history":"Скорошна история на заглушаванията",
"info.no-mute-history":"Този потребител никога не е бил заглушаван",
"info.muted-until":"Заглушен до %1",
"info.muted-expiry":"Давност",
"info.muted-no-reason":"Няма посочена причина.",
"info.username-history":"История на потребителските имена",
"info.email-history":"Историята на е-пощите",
"info.moderation-note":"Модераторска бележка",
@@ -184,6 +192,8 @@
"consent.export_posts":"Изнасяне на публикациите (.csv)",
"consent.export-posts-success":"Изнасяне на публикациите… Ще получите известие, когато е готово.",
"emailUpdate.intro":"Въведете е-пощата си по-долу. Този форум използва е-пощата за планирани резюмета и известия, както и за възстановяване на акаунта, в случай на забравена парола.",
"emailUpdate.optional":"<strong>Това поле не е задължително</strong>. Не сте длъжен/на да ни давате адреса на е-пощата си, но ако нямате потвърдена е-поща, няма да можете да възстановите достъпа до акаунта си в случай на проблем.",
"emailUpdate.change-instructions":"Ще Ви изпратим е-писмо за потвърждение на посочената е-поща, което ще съдържа уникална връзка. Щом последвате тази връзка, притежанието Ви на тази е-поща ще бъде потвърдено и тя ще бъде свързана с акаунта Ви. Ще можете да промените тази е-поща по всяко време, от страницата на акаунта си."
"emailUpdate.optional":"<strong>Това поле не е задължително</strong>. Не сте длъжен/на да предоставяте адрес на е-поща, но без проверена е-поща, няма да можете да възстановите акаунта си в случай на проблем, нито ще можете да се вписвате се-пощата си.",
"emailUpdate.change-instructions":"Ще Ви изпратим е-писмо за потвърждение на посочената е-поща, което ще съдържа уникална връзка. Щом последвате тази връзка, притежанието Ви на тази е-поща ще бъде потвърдено и тя ще бъде свързана с акаунта Ви. Ще можете да промените тази е-поща по всяко време, от страницата на акаунта си.",
"emailUpdate.password-challenge":"Въведете паролата си, за да потвърдите, че акаунтът е Ваш."
"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-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>",
"maintenance-mode.help":"When the forum is in maintenance mode, all requests will be redirected to a static holding page. Administrators are exempt from this redirection, and are able to access the site normally.",
"maintenance-mode.status":"Maintenance Mode Status Code",
"maintenance-mode.message":"Maintenance Message",
"maintenance-mode.groups-exempt-from-maintenance-mode":"Select groups that should be exempt from maintenance mode",
"headers":"Headers",
"headers.allow-from":"Set ALLOW-FROM to Place NodeBB in an iFrame",
"headers.csp-frame-ancestors":"Set Content-Security-Policy frame-ancestors header to Place NodeBB in an iFrame",
"headers.permissions-policy-help":"Allows setting permissions policy header, for example \"geolocation=*, camera=()\", see <a href=\"https://github.com/w3c/webappsec-permissions-policy/blob/main/permissions-policy-explainer.md\">this</a> for more info.",
"from-help":"The from name to display in the email.",
"confirmation-settings":"Confirmation",
"confirmation.expiry":"Hours to keep email confirmation link valid",
"smtp-transport":"SMTP Transport",
"smtp-transport.enabled":"Enable SMTP Transport",
"smtp-transport-help":"You can select from a list of well-known services or enter a custom one.",
"smtp-transport.service":"Select a service",
"smtp-transport.service-custom":"Custom Service",
"smtp-transport.service-help":"Select a service name above in order to use the known information about it. Alternatively, select 'Custom Service' and enter the details below.",
"smtp-transport.gmail-warning1":"There have been reports of the Gmail service not working on accounts with heightened security. In those scenarios, you will have to <a href=\"https://www.google.com/settings/security/lesssecureapps\">configure your GMail account to allow less secure apps</a>.",
"smtp-transport.gmail-warning2":"For more information about this workaround, <a href=\"https://nodemailer.com/usage/using-gmail/\">please consult this NodeMailer article on the issue.</a> An alternative would be to utilise a third-party emailer plugin such as SendGrid, Mailgun, etc. <a href=\"../extend/plugins\">Browse available plugins here</a>.",
"smtp-transport.service-help":"Select a service name above in order to use the known information about it. Alternatively, select "Custom Service" and enter the details below.",
"smtp-transport.gmail-warning1":"If you are using GMail as your email provider, you will have to generate an "App Password" in order for NodeBB to authenticate successfully. You can generate one at the <a href=\"https://myaccount.google.com/apppasswords\">App Passwords <i class=\"fa fa-external-link\"></i></a> page.",
"smtp-transport.gmail-warning2":"For more information about this workaround, <a href=\"https://nodemailer.com/usage/using-gmail/\">please consult this NodeMailer article <i class=\"fa fa-external-link\"></i></a> on the issue. An alternative would be to utilise a third-party emailer plugin such as SendGrid, Mailgun, etc. <a href=\"../extend/plugins\">Browse available plugins here</a>.",
"smtp-transport.auto-enable-toast":"It looks like you're configuring an SMTP transport. We enabled the \"SMTP Transport\" option for you.",
"smtp-transport.host":"SMTP Host",
"smtp-transport.port":"SMTP Port",
"smtp-transport.security":"Connection security",
@@ -38,9 +42,11 @@
"subscriptions.hour-help":"Please enter a number representing the hour to send scheduled email digests (e.g. <code>0</code> for midnight, <code>17</code> for 5:00pm). Keep in mind that this is the hour according to the server itself, and may not exactly match your system clock.<br /> The approximate server time is: <span id=\"serverTime\"></span><br /> The next daily digest is scheduled to be sent <span id=\"nextDigestTime\"></span>",
"notifications.remove-images":"Remove images from email notifications",
"require-email-address":"Require new users to specify an email address",
"require-email-address-warning":"By default, users can opt-out of entering an email address. Enabling this option means they have to enter an email address in order to proceed with registration. <strong>It does not ensure user will enter a real email address, nor even an address they own.</strong>",
"require-email-address-warning":"By default, users can opt-out of entering an email address by leaving the field blank. Enabling this option means they have to enter an email address in order to proceed with registration. <strong>It does not ensure user will enter a real email address, nor even an address they own.</strong>",
"send-validation-email":"Send validation emails when an email is added or changed",
"include-unverified-emails":"Send emails to recipients who have not explicitly confirmed their emails",
"include-unverified-warning":"By default, users with emails associated with their account have already been verified, but there are situations where this is not the case (e.g. SSO logins, grandfathered users, etc). <strong>Enable this setting at your own risk</strong> – sending emails to unverified addresses may be a violation of regional anti-spam laws.",
"prompt":"Prompt users to enter or confirm their emails",
"prompt-help":"If a user does not have an email set, or their email is not confirmed, a warning will be shown on screen."
"prompt-help":"If a user does not have an email set, or their email is not confirmed, a warning will be shown on screen.",
"sendEmailToBanned":"Send emails to users even if they have been banned"
"composer-help":"The following settings govern the functionality and/or appearance of the post composer shown\n\t\t\t\tto users when they create new topics, or reply to existing topics.",
"flags.limit-per-target-help":"When a post or user is flagged multiple times, each additional flag is considered a "report" and added to the original flag. Set this option to a number other than zero to limit the number of reports an item can receive.",
"flags.auto-resolve-on-ban":"Automatically resolve all of a user's tickets when they are banned"
"flags.auto-flag-on-downvote-threshold":"Number of downvotes to auto flag posts (Set to 0 to disable, default: 0)",
"flags.auto-resolve-on-ban":"Automatically resolve all of a user's tickets when they are banned",
"flags.action-on-resolve":"Do the following when a flag is resolved",
"flags.action-on-reject":"Do the following when a flag is rejected",
"flags.action.nothing":"Do nothing",
"flags.action.rescind":"Rescind the notification send to moderators/administrators"
"allow-files":"Allow users to upload regular files",
"orphans":"Orphaned Files",
"private":"Make uploaded files private",
"strip-exif-data":"Strip EXIF Data",
"preserve-orphaned-uploads":"Keep uploaded files on disk after a post is purged",
"orphanExpiryDays":"Days to keep orphaned files",
"orphanExpiryDays-help":"After this many days, orphaned uploads will be deleted from the file system.<br />Set 0 or leave blank to disable.",
"private-extensions":"File extensions to make private",
"private-uploads-extensions-help":"Enter comma-separated list of file extensions to make private here (e.g. <code>pdf,xls,doc</code>). An empty list means all files are private.",
"resize-image-width-threshold":"Resize images if they are wider than specified width",
"email-confirm-interval":"User may not resend a confirmation email until",
"email-confirm-email2":"minutes have elapsed",
"email-confirm-interval2":"minutes have elapsed",
"allow-login-with":"Allow login with",
"allow-login-with.username-email":"Username or Email",
"allow-login-with.username":"Username Only",
"allow-login-with.email":"Email Only",
"account-settings":"Account Settings",
"gdpr_enabled":"Enable GDPR consent collection",
"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.",
"unsub.cta":"সেটিংসগুলো পরিবর্তন করতে এখানে ক্লিক করুন",
"unsubscribe":"unsubscribe",
"unsub.success":"You will no longer receive emails from the <strong>%1</strong> mailing list",
"unsub.failure.title":"Unable to unsubscribe",
"unsub.failure.message":"Unfortunately, we were not able to unsubscribe you from the mailing list, as there was an issue with the link. However, you can alter your email preferences by going to <a href=\"%2\">your user settings</a>.<br /><br />(error: <code>%1</code>)",
"wrong-parameter-type":"A value of type %3 was expected for property `%1`, but %2 was received instead",
"required-parameters-missing":"Required parameters were missing from this API call: %1",
"not-logged-in":"আপনি লগিন করেননি",
"account-locked":"আপনার অ্যাকাউন্ট সাময়িকভাবে লক করা হয়েছে",
"search-requires-login":"Searching requires an account - please login or register.",
@@ -9,6 +11,7 @@
"invalid-tid":"ভুল টপিক নাম্বার",
"invalid-pid":"ভুল পোস্ট নাম্বার",
"invalid-uid":"ভুল ব্যবহারকারী নাম্বার",
"invalid-mid":"Invalid Chat Message ID",
"invalid-date":"A valid date must be provided",
"invalid-username":"ভুল ইউজারনেম",
"invalid-email":"ভুল ইমেইল",
@@ -58,6 +61,7 @@
"no-group":"এই গ্রুপ অস্তিত্বহীন",
"no-user":"এই নামে কোন সদস্য নেই",
"no-teaser":"টিজারটি খুজে পাওয়া যায় নি",
"no-flag":"Flag does not exist",
"no-privileges":"এই কাজটির জন্য আপনার পর্যাপ্ত অধিকার নেই",
"category-disabled":"বিভাগটি নিষ্ক্রিয়",
"topic-locked":"টপিক বন্ধ",
@@ -104,6 +108,9 @@
"already-bookmarked":"You have already bookmarked this post",
"already-unbookmarked":"You have already unbookmarked this post",
"cant-ban-other-admins":"আপনি অন্য এ্যাডমিনদের নিষিদ্ধ করতে পারেন না!",
"cant-mute-other-admins":"You can't mute other admins!",
"user-muted-for-hours":"You have been muted, you will be able to post in %1 hour(s)",
"user-muted-for-minutes":"You have been muted, you will be able to post in %1 minute(s)",
"cant-make-banned-users-admin":"You can't make banned users admin.",
"cant-remove-last-admin":"You are the only administrator. Add another user as an administrator before removing yourself as admin",
"account-deletion-disabled":"Account deletion is disabled",
@@ -142,7 +149,6 @@
"invalid-chat-message":"Invalid chat message",
"chat-message-too-long":"Chat messages can not be longer than %1 characters.",
"cant-edit-chat-message":"You are not allowed to edit this message",
"cant-remove-last-user":"You can't remove the last user",
"cant-delete-chat-message":"You are not allowed to delete this message",
"chat-edit-duration-expired":"You are only allowed to edit chat messages for %1 second(s) after posting",
"chat-delete-duration-expired":"You are only allowed to delete chat messages for %1 second(s) after posting",
@@ -152,19 +158,23 @@
"already-voting-for-this-post":"You have already voted for this post.",
"reputation-system-disabled":"সম্মাননা ব্যাবস্থা নিস্ক্রীয় রাখা হয়েছে",
"downvoting-disabled":"ঋণাত্মক ভোট নিস্ক্রীয় রাখা হয়েছে।",
"not-enough-reputation-to-downvote":"আপনার এই পোস্ট downvote করার জন্য পর্যাপ্ত সম্মাননা নেই",
"not-enough-reputation-to-flag":"এই পোষ্টকে ফ্লাগ করার জন্য আপনার পর্যাপ্ত সম্মাননা নেই",
"not-enough-reputation-min-rep-website":"You do not have enough reputation to add a website",
"not-enough-reputation-min-rep-aboutme":"You do not have enough reputation to add an about me",
"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",
"not-enough-reputation-to-chat":"You need %1 reputation to chat",
"not-enough-reputation-to-upvote":"You need %1 reputation to upvote",
"not-enough-reputation-to-downvote":"You need %1 reputation to downvote",
"not-enough-reputation-to-flag":"You need %1 reputation to flag this post",
"not-enough-reputation-min-rep-website":"You need %1 reputation to add a website",
"not-enough-reputation-min-rep-aboutme":"You need %1 reputation to add an about me",
"not-enough-reputation-min-rep-signature":"You need %1 reputation to add a signature",
"not-enough-reputation-min-rep-profile-picture":"You need %1 reputation to add a profile picture",
"not-enough-reputation-min-rep-cover-picture":"You need %1 reputation to add a cover picture",
"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",
"cant-flag-privileged":"You are not allowed to flag the profiles or content of privileged users (moderators/global moderators/admins)",
"self-vote":"You cannot vote on your own post",
"too-many-upvotes-today":"You can only upvote %1 times a day",
"too-many-upvotes-today-user":"You can only upvote a user %1 times a day",
"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\" রিলোড করতে সমস্যা হয়েছে। রিলোডের পূর্বে যা করা হয়েছিল সেটি আনডু করা সমীচীন। ",
@@ -195,6 +205,8 @@
"no-connection":"There seems to be a problem with your internet connection",
"socket-reconnect-failed":"Unable to reach the server at this time. Click here to try again, or try again later",
"plugin-not-whitelisted":"Unable to install plugin – only plugins whitelisted by the NodeBB Package Manager can be installed via the ACP",
"plugins-set-in-configuration":"You are not allowed to change plugin state as they are defined at runtime (config.json, environmental variables or terminal arguments), please modify the configuration instead.",
"theme-not-set-in-configuration":"When defining active plugins in configuration, changing themes requires adding the new theme to the list of active plugins before updating it in the ACP",
"has_no_ignored_topics":"This user hasn't ignored any topics yet.",
"has_no_upvoted_posts":"This user hasn't upvoted any posts yet.",
"has_no_downvoted_posts":"This user hasn't downvoted any posts yet.",
"has_no_voted_posts":"This user has novoted posts",
"has_no_controversial_posts":"This user does not have any downvoted posts yet.",
"has_no_blocks":"You have blocked no users.",
"email_hidden":"ইমেইল গোপন রাখা হয়েছে",
"hidden":"গোপন করা হয়েছে",
@@ -154,6 +157,11 @@
"info.banned-permanently":"Banned permanently",
"info.banned-reason-label":"Reason",
"info.banned-no-reason":"No reason given.",
"info.mute-history":"Recent Mute History",
"info.no-mute-history":"This user has never been muted",
"info.muted-until":"Muted until %1",
"info.muted-expiry":"Expiry",
"info.muted-no-reason":"No reason given.",
"info.username-history":"Username History",
"info.email-history":"Email History",
"info.moderation-note":"Moderation Note",
@@ -184,6 +192,8 @@
"consent.export_posts":"Export Posts (.csv)",
"consent.export-posts-success":"Exporting posts, you will get a notification when it is complete.",
"emailUpdate.intro":"Please enter your email address below. This forum uses your email address for scheduled digest and notifications, as well as for account recovery in the event of a lost password.",
"emailUpdate.optional":"<strong>This field is optional</strong>. You are not obligated to provide your email address, but without a validated email, you will not be able to recover your account.",
"emailUpdate.change-instructions":"A confirmation email will be sent to the entered email address with a unique link. Accessing that link will confirm your ownership of the email address and it will become active on your account. At any time, you are able to update your email on file from within your account page."
"emailUpdate.optional":"<strong>This field is optional</strong>. You are not obligated to provide your email address, but without a validated email you will not be able to recover your account or login with your email.",
"emailUpdate.required":"<strong>This field is required</strong>.",
"emailUpdate.change-instructions":"A confirmation email will be sent to the entered email address with a unique link. Accessing that link will confirm your ownership of the email address and it will become active on your account. At any time, you are able to update your email on file from within your account page.",
"emailUpdate.password-challenge":"Please enter your password in order to verify account ownership."
"alert.confirm-restart":"Jste si jist/a, že si přejete restartovat NodeBB?",
"acp-title":"Ovládací panel správce NodeBB | %1",
"settings-header-contents":"Obsah"
"settings-header-contents":"Obsah",
"changes-saved":"Changes Saved",
"changes-saved-message":"Your changes to the NodeBB configuration have been saved.",
"changes-not-saved":"Changes Not Saved",
"changes-not-saved-message":"NodeBB encountered a problem saving your changes. (%1)"
}
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.