Compare commits

...

350 Commits

Author SHA1 Message Date
Julian Lam
bc29c3a49b refactor: renderTemplate to async function, updated call to transitions API to wait until template is fully rendered before transitioning 2023-03-28 14:17:33 -04:00
Julian Lam
3883199be0 feat: implement a proof-of-concept cross-fade animation on ajaxify via the View Transitions API (currently only available in Chrome) 2023-03-28 14:01:14 -04:00
Julian Lam
7cb2e02cd7 fix: #11396, removal of base_templates_path variable 2023-03-27 14:48:50 -04:00
Julian Lam
491487a1a2 Merge remote-tracking branch 'origin/master' into develop 2023-03-27 14:16:14 -04:00
Misty Release Bot
188ec62f9a chore: update changelog for v2.8.10 2023-03-27 18:10:57 +00:00
Misty Release Bot
48c1c7594d chore: incrementing version number - v2.8.10 2023-03-27 18:10:57 +00:00
Barış Soner Uşaklı
69f24ed92a feat: add support for selected topic count 2023-03-27 11:09:22 -04:00
Julian Lam
830f142b7a fix: #11403, remove loader.js crash counter logic 2023-03-27 10:55:44 -04:00
Barış Soner Uşaklı
1aff9cad91 lint: fix arrow 2023-03-27 10:47:15 -04:00
Barış Soner Uşaklı
37b48b82a4 fix: don't crash if event name is not a string 2023-03-27 10:38:53 -04:00
Barış Soner Uşaklı
a83734fb2b fix: dont show search input if user doesn't have tag search priv 2023-03-27 09:39:57 -04:00
Barış Soner Uşaklı
68db271dfd chore: remove logs 2023-03-26 21:17:57 -04:00
Barış Soner Uşaklı
2c5a5bf366 feat: change chat notification delivery
instead of checking if user is online in the past x minutes, check if the user has read the room, if they have already marked the chat as read don't send notification
2023-03-26 21:13:07 -04:00
Barış Soner Uşaklı
2a9b3ee464 fix: add missing delete 2023-03-26 20:11:11 -04:00
Barış Soner Uşaklı
3f8344804a chore: up harmony 2023-03-26 14:42:52 -04:00
renovate[bot]
8906002772 fix(deps): update dependency esbuild to v0.17.14 (#11399)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-26 14:42:20 -04:00
renovate[bot]
415da6c2ed fix(deps): update dependency nodebb-theme-persona to v13.0.53 (#11401)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-26 14:41:43 -04:00
Barış Soner Uşaklı
9c0996e40a feat: add placeholder for category search 2023-03-26 14:16:54 -04:00
renovate[bot]
b17ab944e6 fix(deps): update dependency sharp to v0.32.0 (#11395)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-25 18:05:16 -04:00
renovate[bot]
4ab60c888c fix(deps): update dependency esbuild to v0.17.13 (#11397)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-25 18:05:07 -04:00
renovate[bot]
e753603e6a fix(deps): update dependency csrf-sync to v4.0.1 (#11398)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-25 18:02:01 -04:00
Misty Release Bot
b4292cf517 Latest translations and fallbacks 2023-03-25 09:17:57 +00:00
Julian Lam
33ad5a724a fix: buttons for post queue content editing 2023-03-24 16:35:41 -04:00
renovate[bot]
6947e60b47 fix(deps): update dependency @popperjs/core to v2.11.7 (#11394)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-24 13:59:57 -04:00
renovate[bot]
034666b4c1 chore(deps): update dependency sass-embedded to v1.60.0 (#11392)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-24 13:16:04 -04:00
Barış Soner Uşaklı
7b7f473e14 chore: up themes 2023-03-24 11:57:52 -04:00
Barış Soner Uşaklı
6b89884dd5 use selected class for user status elements 2023-03-24 11:53:20 -04:00
Misty Release Bot
ae5d4025b2 Latest translations and fallbacks 2023-03-24 09:18:38 +00:00
renovate[bot]
400a7abf55 fix(deps): update dependency sass to v1.60.0 (#11391)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-23 19:56:39 -04:00
renovate[bot]
5d2900e95d fix(deps): update dependency rimraf to v4.4.1 (#11388)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-23 19:56:30 -04:00
renovate[bot]
96305e12c9 fix(deps): update dependency @isaacs/ttlcache to v1.2.2 (#11389)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-23 19:56:14 -04:00
renovate[bot]
5a7104f13f fix(deps): update dependency html-to-text to v9.0.5 (#11390)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-23 19:55:59 -04:00
Misty Release Bot
1c0808d779 Latest translations and fallbacks 2023-03-23 09:18:16 +00:00
Barış Soner Uşaklı
1a07b77f88 Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2023-03-22 19:58:55 -04:00
Barış Soner Uşaklı
361441bd02 chore: up harmony 2023-03-22 19:58:50 -04:00
Misty Release Bot
04652ceb95 chore(i18n): fallback strings for new resources: nodebb.topic 2023-03-22 23:58:34 +00:00
Barış Soner Uşaklı
661a6e0473 https://github.com/NodeBB/NodeBB/issues/11329 2023-03-22 19:58:05 -04:00
renovate[bot]
97f081353f fix(deps): update dependency helmet to v6 (#10891)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-22 18:46:50 -04:00
renovate[bot]
98b58bcc3e fix(deps): update dependency nodebb-widget-essentials to v7.0.7 (#11387)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-22 18:07:55 -04:00
renovate[bot]
8c07a8d7e0 fix(deps): update dependency mkdirp to v2.1.6 (#11386)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-22 18:07:43 -04:00
renovate[bot]
69a7bfbe71 chore(deps): update dependency @commitlint/cli to v17.5.0 (#11384)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-22 18:03:45 -04:00
renovate[bot]
7f54709da7 fix(deps): update dependency webpack to v5.76.3 (#11385)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-22 18:03:26 -04:00
Julian Lam
03e05b5154 fix: #9397, trash the active session on account lockout, if there is one 2023-03-22 17:08:37 -04:00
Julian Lam
e6e08d561b chore: bump version tag for RC 2023-03-22 13:33:39 -04:00
Julian Lam
596db09f7e Merge branch 'master' into develop 2023-03-22 10:50:29 -04:00
Julian Lam
ddd0324832 docs: fix openapi spec for new property in post queue route 2023-03-22 10:40:33 -04:00
Misty Release Bot
72bee50b97 Latest translations and fallbacks 2023-03-22 09:18:26 +00:00
Misty Release Bot
eaa5454fa1 chore(i18n): fallback strings for new resources: nodebb.post-queue 2023-03-21 20:05:47 +00:00
Julian Lam
ddcdaacc94 refactor: post-queue frontend logic 2023-03-21 14:59:18 -04:00
Barış Soner Uşaklı
4305c0a123 chore: up harmony 2023-03-21 12:13:41 -04:00
Barış Soner Uşaklı
e9a8e19508 chore: up composer-default 2023-03-21 10:13:21 -04:00
Misty Release Bot
542d830e40 Latest translations and fallbacks 2023-03-21 09:18:29 +00:00
Misty Release Bot
92ec5bd989 chore(i18n): fallback strings for new resources: nodebb.user 2023-03-21 00:51:34 +00:00
Barış Soner Uşaklı
77ddfc642e feat: closes #11139, move sort settings to user settings page
don't change user settings when user changes sort inside topic/category
2023-03-20 20:51:03 -04:00
Misty Release Bot
44c2d402a9 chore(i18n): fallback strings for new resources: nodebb.admin-settings-api 2023-03-20 21:28:12 +00:00
Julian Lam
92073cf274 test: fix openapi schema to reflect new route 2023-03-20 17:27:45 -04:00
Julian Lam
402229845c feat: display when an api key was last used, in ACP, #10873 2023-03-20 17:27:45 -04:00
Julian Lam
2614b95c40 fix: #11381, bug where the call to action:settings.sorted-list.itemLoaded did not properly pass in the correct element 2023-03-20 17:27:45 -04:00
Julian Lam
efa64032dd feat: log the last time a valid api token was seen, have v3 ping route go through setupApiRoute helper 2023-03-20 17:27:45 -04:00
renovate[bot]
7c780210a8 fix(deps): update dependency fs-extra to v11.1.1 (#11380)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-20 12:20:58 -04:00
Barış Soner Uşaklı
894f392bfc lint: whitespace 2023-03-20 11:17:05 -04:00
Barış Soner Uşaklı
c2961ad4cd fix: closes #11173, move cache clear code
if 2 deps were updated only one of them was cleared from require.cache. ie commander & lru-cache both has major version bump then only commander would be cleared from cache since it throws first
2023-03-20 11:05:48 -04:00
Misty Release Bot
3d2a28774f Latest translations and fallbacks 2023-03-20 09:18:43 +00:00
Misty Release Bot
18b2150edd chore: update changelog for v2.8.9 2023-03-19 16:31:26 +00:00
Misty Release Bot
fb100ac731 chore: incrementing version number - v2.8.9 2023-03-19 16:31:26 +00:00
Barış Soner Uşaklı
73a50d1718 chore: up cron 2023-03-19 12:21:06 -04:00
Misty Release Bot
cd5cf5cd0c Latest translations and fallbacks 2023-03-19 09:17:50 +00:00
Misty Release Bot
a3a7fac7b6 Latest translations and fallbacks 2023-03-18 09:17:54 +00:00
renovate[bot]
f286b66fe4 chore(deps): update postgres docker tag to v15 (#10976)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-17 20:15:28 -04:00
renovate[bot]
a2d3f6741c fix(deps): update dependency commander to v10 (#11208)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-17 20:12:14 -04:00
renovate[bot]
238a78098c fix(deps): update dependency lru-cache to v8.0.4 (#11378)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-17 20:11:56 -04:00
renovate[bot]
f21c8ca4be chore(deps): update dependency @apidevtools/swagger-parser to v10 (#11207)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-17 19:19:27 -04:00
Barış Soner Uşaklı
1502068eff chore: up rimraf to 4.x (#11377)
* chore: up rimraf to 4.x

* chore: oops up rimraf

* test: fix rimraf in tests
2023-03-17 19:09:50 -04:00
renovate[bot]
8ddb302f20 chore(deps): update docker/build-push-action action to v4 (#11245)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-17 18:31:22 -04:00
renovate[bot]
0d236adf2c fix(deps): update dependency lru-cache to v8 (#11356)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-17 18:31:03 -04:00
Barış Soner Uşaklı
fafa130406 chore: up connect-redis to 7.x, drop node 14 (#11376) 2023-03-17 18:30:05 -04:00
Julian Lam
93aa43f717 style: more fixes 2023-03-17 15:48:44 -04:00
Phạm Tấn Minh Tiến
9ed6961af8 fix lint 2023-03-17 15:48:44 -04:00
Phạm Tấn Minh Tiến
4b94c033c4 wrap quotes to prevent stripping leading 0 2023-03-17 15:48:44 -04:00
Julian Lam
c843984d57 fix: #11362, regular mods are also subject to post queue [breaking] 2023-03-17 15:26:35 -04:00
Barış Soner Uşaklı
7d831f0be3 chore: up harmony 2023-03-17 14:58:55 -04:00
Barış Soner Uşaklı
5db037f1ea chore: up mongo deps (#11375)
* chore: up mongo deps

* mongodb 5.x no more callbacks
2023-03-17 14:36:04 -04:00
renovate[bot]
75436dc02c fix(deps): update dependency ace-builds to v1.16.0 (#11372)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-17 12:57:57 -04:00
renovate[bot]
b0b060da2d fix(deps): update dependency sass to v1.59.3 (#11373)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-17 12:57:46 -04:00
renovate[bot]
2cde7231f5 chore(deps): update dependency sass-embedded to v1.59.3 (#11371)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-17 12:57:32 -04:00
renovate[bot]
6edb908b0b fix(deps): update dependency nodebb-plugin-spam-be-gone to v2.0.6 (#11370)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-17 12:53:18 -04:00
renovate[bot]
a5a4b307f3 chore(deps): update coverallsapp/github-action action to v2 (#11369)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-17 12:51:22 -04:00
renovate[bot]
ae9d6d775b fix(deps): update dependency cron to v2.3.0 (#11368)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-17 12:47:02 -04:00
renovate[bot]
f90696de49 fix(deps): update dependency graceful-fs to v4.2.11 (#11367)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-17 12:46:49 -04:00
renovate[bot]
2273a8221a fix(deps): update dependency esbuild to v0.17.12 (#11366)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-17 12:24:46 -04:00
renovate[bot]
a5f19ee6ea fix(deps): update dependency webpack to v5.76.2 (#11361)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-17 12:24:32 -04:00
Barış Soner Uşaklı
7ba70d1561 Bootstrap5 (#10894)
* chore: up deps

* chore: up composer

* fix(deps): bump 2factor to v7

* chore: up harmony

* chore: up harmony

* fix: missing await

* feat: allow middlewares to pass in template values via res.locals

* feat: buildAccountData middleware automatically added ot all account routes

* fix: properly allow values in res.locals.templateValues to be added to the template data

* refactor: user/blocks

* refactor(accounts): categories and consent

* feat: automatically 404 if exposeUid or exposeGroupName come up empty

* refactor: remove calls to getUserDataByUserSlug for most account routes, since it is populated via middleware now

* fix: allow exposeUid and exposeGroupName to work with slugs with mixed capitalization

* fix: move reputation removal check to accountHelpers method

* test: skip i18n tests if ref branch when present is not develop

* fix(deps): bump theme versions

* fix(deps): bump ntfy and 2factor

* chore: up harmony

* fix: add missing return

* fix: #11191, only focus on search input on md environments and up

* feat: allow file uploads on mobile chat

closes https://github.com/NodeBB/NodeBB/issues/11217

* chore: up themes

* chore: add lang string

* fix(deps): bump ntfy to 1.0.15

* refactor: use new if/each syntax

* chore: up composer

* fix: regression from user helper refactor

* chore: up harmony

* chore: up composer

* chore: up harmony

* chore: up harmony

* chore: up harmony

* chore: fix composer version

* feat: add increment helper

* chore: up harmony

* fix: #11228 no timestamps in future 

* chore: up harmony

* check config.theme as well

fire action:posts.loaded after processing dom

* chore: up harmony

* chore: up harmony

* chore: up harmony

* chore: up themes

* chore: up harmony

* remove extra class

* refactor: move these to core from harmony

* chore: up widgets

* chore: up widgets

* height auto

* fix: closes #11238

* dont focus inputs, annoying on mobile

* fix: dont focus twice, only focus on chat input on desktop

dont wrap widget footer in row

* chore: up harmony

* chore: up harmony

* update chat window

* chore: up themes

* fix cache buster for skins

* chat fixes

* chore: up harmony

* chore: up composer

* refactor: change hook logs to debug

* fix: scroll to post right after adding to dom

* fix: hash scrolling and highlighting correct post

* test: re-enable read API schema tests

* fix: add back schema changes for 179faa2270 and c3920ccb10

* fix: schema changes from 488f0978a4

* fix: schema changes for f4cf482a87

* fix: schema update for be6bbabd0e

* fix: schema changes for 69c96078ea

* fix: schema changes for d1364c3130

* fix: schema changes for 84ff1152f7

* fix: schema changes for b860c2605c

* fix: schema changes for 23cb67a112

* fix: schema changes for b916e42f40

* fix: schema change for a9bbb586fc

* fix: schema changes for 4b738c8cd3

* fix: schema changes for 58b5781cea

* fix: schema changes for 794bf01b21

* fix: schema changes for 80ea12c1c1, e368feef51, and 52ead114be

* fix: composer-default object in config?

* fix: schema changes for 9acdc6808c and 0930934200

* fix: schema changes for c0a52924f1

* fix: schema change for aba420a3f3, move loggedInUser to optional props

* fix: schema changes for 8c67031609

* fix: schema changes for 27e53b42f3

* fix: schema changes for 2835966518

* fix: breaking test for email confirmation API call

* fix: schema changes for refactored search page

* fix: schema changes for user object

* fix: schema changes for 9f531f957e

* fix: schema changes for c4042c70de and 23175110a2

* fix: schema changes for 9b3616b103

* fix: schema changes for 5afd5de07d

* fix: schema change for 1d7baf1217

* fix: schema changes for 57bfb37c55 and be6bbabd0e

* fix: schema changes for 6e86b4afa2 and 3efad2e13b and 68f66223e7

* fix: allowing optional qs prop in pagination keys (not sure why this didn't break before)

* fix: re-login on email change

* fix: schema changes for c926358d73

* fix: schema changes for 388a8270c9

* fix: schema change for 2658bcc821

* fix: no need to call account middlewares for chats routes

* fix: schema changes for 71743affc3

* fix: final schema changes

* test: support for anyOf and oneOf

* fix: check thumb

* dont scroll to top on back press

* remove group log

* fix: add top margin to merged and deleted alerts

* chore: up widgets

* fix: improve fix-lists mixin

* chore: up harmony/composer

* feat: allow hiding quicksearch results during search

* dont record searches made by composer

* chore: up 54

* chore: up spam be gone

* feat: add prev/next page and page count into mobile paginator

* chore: up harmony

* chore: up harmony

* use old style for IS

* fix: hide entire toolbar row if no posts or not singlePost

* fix: updated messaging for post-queue template, #11206

* fix: btn-sm on post queue back button

* fix: bump harmony, closes #11206

* fix: remove unused alert module import

* fix: bump harmony

* fix: bump harmony

* chore: up harmony

* refactor: IS scrolltop

* fix: update users:search-user-for-chat source string

* feat: support for mark-read toggle on chats dropdown and recent chats list

* feat: api v3 calls to mark chat read/unread

* feat: send event:chats.mark socket event on mark read or unread

* refactor: allow frontend to mark chats as unread, use new API v3 routes instead of socket calls, better frontend event handling

* docs: openapi schema updates for chat marking

* fix: allow unread state toggling in chats dropdown too

* fix: issue where repeated openings of the chats dropdown would continually add events for mark-read/unread

* fix: debug log

* refactor: move userSearch filter to a module

* feat(routes): allow remounting /categories (#11230)

* feat: send flags count to frontend on flags list page

* refactor: filter form client-side js to extract out some logic

* fix: applyFilters to not take any arguments, update selectedCids in updateButton instead of onHidden

* fix: use userFilter module for assignee, reporterId, targetUid

* fix(openapi): schema changes for updated flags page

* fix: dont allow adding duplicates to userFilter

* use same var

* remove log

* fix: closes #11282

* feat: lang key for x-topics

* chore: up harmony

* chore: up emoji

* chore: up harmony

* fix: update userFilter to allow new option `selectedBlock`

* fix: wrong block name passed to userFilter

* fix: https://github.com/NodeBB/NodeBB/issues/11283

* fix: chats, allow multiple dropdowns like in harmony

* chore: up harmony

* refactor: flag note adding/editing, closes #11285

* fix: remove old prepareEdit logic

* chore: add caveat about hacky code block in userFilter module

* fix: placeholders for userFilter module

* refactor: navigator so it works with multiple thumbs/navigators

* chore: up harmony

* fix: closes #11287, destroy quick reply autocomplete

on navigation

* fix: filter disabled categories on user categories page count

* chore: up harmony

* docs: update openapi spec to include info about passing in timestamps for topic creation, removing timestamp as valid request param for topic replying

* fix: send back null values on ACP search dashboard for startDate and endDate if not expicitly passed in, fix tests

* fix: tweak table order in ACP dash searches

* fix: only invoke navigator click drag on left mouse button

* feat: add back unread indicator to navigator

* clear bookmark on mark unread

* fix: navigator crash on ajaxify

* better thumb top calculation

* fix: reset user bookmark when topic is marked unread

* Revert "fix: reset user bookmark when topic is marked unread"

This reverts commit 9bcd85c2c6.

* fix: update unread indicator on scroll, add unread count

* chore: bump harmony

* fix: crash on navigator unread update when backing out of a topic

* fix: closes #11183

* fix: update topics:recent zset when rescheduling a topic

* fix: dupe quote button, increase delay, hide immediately on empty selection

* fix: navigator not showing up on first load

* refactor: remove glance

assorted fixes to navigator
dont reduce remaning count if user scrolls down and up quickly
only call topic.navigatorCallback when index changes

* more sanity checks for bookmark

dont allow setting bookmark higher than topic postcount

* closes #11218, 🚋

* Revert "fix: update topics:recent zset when rescheduling a topic"

This reverts commit 737973cca9.

* fix: #11306, show proper error if queued post doesn't exist

was showing no-privileges if someone else accepted the post

* https://github.com/NodeBB/NodeBB/issues/11307

dont use li

* chore: up harmony

* chore: bump version string

* fix: copy paste fail

* feat: closes #7382, tag filtering

add client side support for filtering by tags on /category, /recent and /unread

* chore: up harmony

* chore: up harmony

* Revert "fix: add back req.query fallback for backwards compatibility" [breaking]

This reverts commit cf6cc2c454.
This commit is no longer required as passing in a CSRF token via query parameter is no longer supported as of NodeBB v3.x

This is a breaking change.

* fix: pass csrf token in form data, re: NodeBB/NodeBB#11309

* chore: up deps

* fix: tests, use x-csrf-token query param removed

* test: fix csrf_token

* lint: remove unused

* feat: add itemprop="image" to avatar helper

* fix: get chat upload button in chat modal

* breaking: remove deprecated socket.io methods

* test: update messaging tests to not use sockets

* fix: parent post links

* fix: prevent post tooltip if mouse leaves before data/tpl is loaded

* chore: up harmony

* chore: up harmony

* chore: up harmony

* chore: up harmony

* fix: nested replies indices

* fix(deps): bump 2factor

* feat: add loggedIn user to all api routes

* chore: up themes

* refactor: audit admin v3 write api routes as per #11321

* refactor: audit category v3 write api routes as per #11321 [breaking]

docs: fix open api spec for #11321

* refactor: audit chat v3 write api routes as per #11321

* refactor: audit files v3 write api routes as per #11321

* refactor: audit flags v3 write api routes as per #11321

* refactor: audit posts v3 write api routes as per #11321

* refactor: audit topics v3 write api routes as per #11321

* refactor: audit users v3 write api routes as per #11321

* fix: lang string

* remove min height

* fix: empty topic/labels taking up space

* fix: tag filtering when changing filter to watched topics

or changing popular time limit to month

* chore: up harmony

* fix: closes #11354, show no post error if queued post already accepted/rejected

* test: #11354

* test: #11354

* fix(deps): bump 2factor

* fix: #11357 clear cache on thumb remove

* fix: thumb remove on windows, closes #11357

* test: openapi for thumbs

* test: fix openapi

---------

Co-authored-by: Julian Lam <julian@nodebb.org>
Co-authored-by: Opliko <opliko.reg@protonmail.com>
2023-03-17 11:58:31 -04:00
Barış Soner Uşaklı
9e685e657a test: openapi for thumbs 2023-03-15 15:18:05 -04:00
Barış Soner Uşaklı
767c1d1faf fix: thumb remove on windows, closes #11357 2023-03-14 15:09:12 -04:00
Barış Soner Uşaklı
1e7f32b1c4 fix: #11357 clear cache on thumb remove 2023-03-14 14:46:17 -04:00
Barış Soner Uşaklı
a3a38e4ba3 fix: #11357 clear cache on thumb remove 2023-03-14 14:30:46 -04:00
renovate[bot]
ae53a6e046 chore(deps): update dependency jsdom to v21.1.1 (#11355)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-13 13:39:13 -04:00
renovate[bot]
967c0ccfa1 fix(deps): update dependency webpack to v5.76.1 (#11348)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-11 16:19:53 -05:00
renovate[bot]
50f1476831 chore(deps): update dependency eslint to v8.36.0 (#11349)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-11 16:17:16 -05:00
Barış Soner Uşaklı
cfd5027245 fix: closes #11352, try/catch rss feeds 2023-03-11 16:07:02 -05:00
renovate[bot]
5afea4b780 fix(deps): update dependency autoprefixer to v10.4.14 (#11344)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-10 12:51:37 -05:00
renovate[bot]
29fbecfc7b fix(deps): update dependency terser-webpack-plugin to v5.3.7 (#11345)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-10 12:51:23 -05:00
renovate[bot]
d8f787eb17 chore(deps): update dependency lint-staged to v13.2.0 (#11346)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-10 12:51:15 -05:00
renovate[bot]
87be26940f chore(deps): update dependency jquery to v3.6.4 (#11339)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-10 12:22:41 -05:00
renovate[bot]
b543a0d05a fix(deps): update dependency webpack to v5.76.0 (#11341)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-10 12:04:59 -05:00
renovate[bot]
5fa38fbe86 fix(deps): update dependency nodebb-plugin-spam-be-gone to v1.0.3 (#11340)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-10 12:04:49 -05:00
Barış Soner Uşaklı
56427e4f9d fix: closes #11343, don't crash if tags array is empty 2023-03-10 11:40:02 -05:00
Misty Release Bot
6efff5a52e Latest translations and fallbacks 2023-03-10 09:18:12 +00:00
Misty Release Bot
c03d5db71e chore: update changelog for v2.8.8 2023-03-09 14:58:28 +00:00
Misty Release Bot
f5a59991fc chore: incrementing version number - v2.8.8 2023-03-09 14:58:28 +00:00
Julian Lam
22fc8fe38f fix: stop topic navigation hotkeys from firing if in a mousetrap-enabled form element 2023-03-09 09:55:32 -05:00
Julian Lam
17d0b40efa fix: stop topic navigation hotkeys from firing if in a mousetrap-enabled form element 2023-03-09 09:44:06 -05:00
renovate[bot]
34cf64f5ac fix(deps): update dependency pg-cursor to v2.9.0 (#11338)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-08 18:37:45 -05:00
Barış Soner Uşaklı
1545223e7f fix: tag filtering when changing filter to watched topics
or changing popular time limit to month
2023-03-08 18:28:55 -05:00
renovate[bot]
9a7f73ca68 fix(deps): update dependency pg to v8.10.0 (#11337)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-07 19:11:13 -05:00
Barış Soner Uşaklı
f054a4f44d fix: get cid from pid instead of passing in 2023-03-06 09:44:21 -05:00
renovate[bot]
a85276a680 fix(deps): update dependency mkdirp to v2.1.5 (#11336)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-05 21:14:47 -05:00
renovate[bot]
b70716f130 fix(deps): update dependency lru-cache to v7.18.3 (#11335)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-05 20:47:11 -05:00
renovate[bot]
18b3ac6e23 fix(deps): update dependency esbuild to v0.17.11 (#11333)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-04 18:14:20 -05:00
renovate[bot]
b8efa4664d fix(deps): update dependency ace-builds to v1.15.3 (#11332)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-04 12:37:45 -05:00
Misty Release Bot
f43dcdc5e5 Latest translations and fallbacks 2023-03-04 09:17:56 +00:00
renovate[bot]
a6f22afafa fix(deps): update dependency mkdirp to v2.1.4 (#11330)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-03 11:25:28 -05:00
Barış Soner Uşaklı
8c762d3228 fix: closes #11331, allow 0 length content if set to 0 in acp 2023-03-03 09:30:51 -05:00
Misty Release Bot
f1b2d678fa Latest translations and fallbacks 2023-03-03 09:18:19 +00:00
renovate[bot]
b526d42ed9 fix(deps): update dependency lru-cache to v7.18.1 (#11327)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-02 11:49:14 -05:00
Misty Release Bot
44cbb484d7 Latest translations and fallbacks 2023-03-02 09:18:24 +00:00
renovate[bot]
e8e35de390 chore(deps): update coverallsapp/github-action action to v1.2.4 (#11323)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-01 10:55:17 -05:00
Misty Release Bot
2ca38e7b95 chore: update changelog for v2.8.7 2023-03-01 15:51:30 +00:00
Misty Release Bot
6976925943 chore: incrementing version number - v2.8.7 2023-03-01 15:51:30 +00:00
Misty Release Bot
c75ec225b4 Latest translations and fallbacks 2023-03-01 09:18:27 +00:00
renovate[bot]
f155eedb8d chore(deps): update dependency eslint to v8.35.0 (#11324)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-28 11:08:48 -05:00
Barış Soner Uşaklı
791551098c fix: display 25 topics on category feed 2023-02-27 09:47:28 -05:00
Barış Soner Uşaklı
ec58700f6d fix: object destructuring overwriting type parameter
also check for valid types in generateExport
2023-02-27 09:10:53 -05:00
Julian Lam
e6d7e55fbc fix: missing postAtIndex handling 2023-02-24 14:23:46 -05:00
Julian Lam
4cf04f06f6 feat: add rel="author" to topic route
re: #11248
2023-02-24 14:05:25 -05:00
Julian Lam
36bcdf8f9d Merge branch 'master' into develop 2023-02-24 13:40:58 -05:00
Barış Soner Uşaklı
8cf4a6f62e fix: alert on page load 2023-02-24 13:40:37 -05:00
renovate[bot]
22a3ba65a2 fix(deps): update dependency nodebb-plugin-mentions to v3.0.13 (#11320)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-23 13:24:19 -05:00
renovate[bot]
a4aeee968a chore(deps): update commitlint monorepo to v17.4.4 (#11317)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-23 12:53:55 -05:00
renovate[bot]
b75212f757 fix(deps): update dependency yargs to v17.7.1 (#11316)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-23 11:08:56 -05:00
renovate[bot]
3d85584234 fix(deps): update dependency sanitize-html to v2.10.0 (#11319)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-23 11:08:40 -05:00
renovate[bot]
17c2467dd1 fix(deps): update socket.io packages to v4.6.1 (#11318)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-23 11:08:06 -05:00
renovate[bot]
4211e4ddb2 fix(deps): update dependency lru-cache to v7.17.0 (#11315)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-23 11:07:45 -05:00
renovate[bot]
02d69920ae fix(deps): update dependency body-parser to v1.20.2 (#11313)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-23 11:07:23 -05:00
renovate[bot]
865e150691 fix(deps): update dependency esbuild to v0.17.10 (#11314)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-23 11:07:06 -05:00
gasoved
5a2c6c1cb5 fix: update main post timestamp when rescheduling 2023-02-22 10:19:22 -05:00
Julian Lam
c76e344f37 fix(deps): bump theme versions 2023-02-22 10:18:42 -05:00
Julian Lam
83d3633626 fix: add back req.query fallback for backwards compatibility 2023-02-22 10:18:42 -05:00
psibean
ea95668a76 fix: update csrf parser to accept csrf_token form value if present 2023-02-22 10:18:42 -05:00
Eldor
3bd9a87154 fix: show error alert if password change fails 2023-02-22 09:06:51 -05:00
Misty Release Bot
cc147ab31d Latest translations and fallbacks 2023-02-20 09:18:07 +00:00
psibean
0b2dd4e367 Update csrf_token falee assignment to false 2023-02-17 14:58:04 -05:00
psibean
f553da48e1 Update csrf-sync to fallback to _csrf query param 2023-02-17 14:58:04 -05:00
Julian Lam
bb0397cbc8 lint: satisfy lint errors 2023-02-17 14:58:04 -05:00
psibean
5a994290f2 Replace csurf with csrf-sync 2023-02-17 14:58:04 -05:00
Misty Release Bot
b00cd8be41 Latest translations and fallbacks 2023-02-17 09:18:06 +00:00
renovate[bot]
affac5692a fix(deps): update dependency lru-cache to v7.15.0 (#11305)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-16 18:29:07 -05:00
renovate[bot]
01b2915e1c fix(deps): update dependency ace-builds to v1.15.2 (#11304)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-16 18:28:53 -05:00
gasoved
edd2fc38fc fix: update main post timestamp when rescheduling 2023-02-16 14:10:07 -05:00
renovate[bot]
0ad5f4761b fix(deps): update dependency nodebb-plugin-composer-default to v9.2.5 (#11301)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-15 10:38:39 -05:00
renovate[bot]
e29b9b1db2 fix(deps): update dependency logrotate-stream to v0.2.9 (#11300)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-15 10:30:47 -05:00
renovate[bot]
1a0910bba4 fix(deps): update dependency ace-builds to v1.15.1 (#11299)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-15 10:30:36 -05:00
renovate[bot]
45c3b9dfa1 chore(deps): update dependency lint-staged to v13.1.2 (#11298)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-15 10:24:42 -05:00
Julian Lam
607c8d9052 Merge branch 'master' into develop 2023-02-13 12:15:54 -05:00
Julian Lam
1b29dbb69d test: add dummy emailer hook in authentication test 2023-02-13 12:15:45 -05:00
Julian Lam
dbc84f7571 Merge branch 'master' into develop 2023-02-13 11:45:04 -05:00
Julian Lam
40e7b86da9 docs: update openapi spec to include info about passing in timestamps for topic creation, removing timestamp as valid request param for topic replying 2023-02-13 11:44:54 -05:00
renovate[bot]
4d68b0d495 chore(deps): update dependency lint-staged to v13.1.1 (#11268)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-13 11:33:17 -05:00
renovate[bot]
330f7ec838 chore(deps): update dependency eslint to v8.34.0 (#11291)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-13 11:33:08 -05:00
renovate[bot]
75bd6caa6d fix(deps): update dependency ioredis to v5.3.1 (#11294)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-13 10:37:24 -05:00
renovate[bot]
558c1c98d5 chore(deps): update commitlint monorepo to v17.4.3 (#11293)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-13 10:36:59 -05:00
renovate[bot]
b9bb053266 fix(deps): update socket.io packages to v4.6.0 (#11272)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-13 09:33:04 -05:00
renovate[bot]
3ef4922386 fix(deps): update dependency html-to-text to v9.0.4 (#11290)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-13 09:26:46 -05:00
renovate[bot]
e4e01f471c fix(deps): update dependency benchpressjs to v2.5.1 (#11270)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-13 09:25:32 -05:00
renovate[bot]
2f5f47ea8f fix(deps): update dependency esbuild to v0.17.8 (#11289)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-13 09:24:12 -05:00
Misty Release Bot
24bc4809b8 Latest translations and fallbacks 2023-02-12 09:17:53 +00:00
renovate[bot]
7abcf80a55 fix(deps): update dependency @socket.io/redis-adapter to v8.1.0 (#11269)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-11 11:10:02 -05:00
renovate[bot]
98395d1833 fix(deps): update dependency mongodb to v4.14.0 (#11271)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-11 11:09:20 -05:00
Misty Release Bot
871ec640f3 Latest translations and fallbacks 2023-02-11 09:18:08 +00:00
Misty Release Bot
c4b322f4ba Latest translations and fallbacks 2023-02-09 09:18:05 +00:00
Barış Soner Uşaklı
326b92687f fix: show admins/globalmods if content is purged 2023-02-08 17:35:38 -05:00
renovate[bot]
145dcb2fba fix(deps): update dependency esbuild to v0.17.6 (#11266)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-08 13:38:46 -05:00
Barış Soner Uşaklı
e335d0f601 fix: email expiry timestamps
emailConfirmExpiry is hours and default is 24
2023-02-08 13:22:16 -05:00
Misty Release Bot
585523009f chore(i18n): fallback strings for new resources: nodebb.admin-dashboard 2023-02-08 15:57:08 +00:00
Barış Soner Uşaklı
ebb5d2d25c feat: search dashboard time range 2023-02-08 10:56:37 -05:00
Misty Release Bot
53fbe2a7a1 Latest translations and fallbacks 2023-02-07 09:18:08 +00:00
renovate[bot]
9f0c352ebd chore(deps): update dependency grunt to v1.6.1 (#11244)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-06 10:45:15 -05:00
Barış Soner Uşaklı
845c8013b6 fix: #11259, clean old emails when updating via admin (#11260)
when admin is changing users emails check if its avaiable and remove old email of user first
upgrade script to cleanup email:uid, email:sorted, will remove entries if user doesn't exist or doesn't have email or if entry in user hash doesn't match entry in email:uid
fix missing ! in email interstitial
fix missing await in canSendValidation,
fix broken tests
dont pass sessionId to email.remove if admin is changing/removing email
2023-02-06 10:45:01 -05:00
renovate[bot]
0e9cfcad54 fix(deps): update dependency sanitize-html to v2.9.0 (#11261)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-05 19:17:02 -05:00
renovate[bot]
7cdbf77d95 fix(deps): update dependency validator to v13.9.0 (#11262)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-05 19:16:44 -05:00
renovate[bot]
eeca887b03 chore(deps): update dependency eslint to v8.33.0 (#11243)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-04 22:32:01 -05:00
Julian Lam
046c8a6ab7 Merge branch 'master' into develop 2023-02-03 16:02:11 -05:00
Julian Lam
7a5bcc2171 fix: #11257, onSuccessfulLogin called with improper uid 2023-02-03 16:01:31 -05:00
Misty Release Bot
f3306d038a chore: update changelog for v2.8.6 2023-02-03 16:39:40 +00:00
Misty Release Bot
76732140f3 chore: incrementing version number - v2.8.6 2023-02-03 16:39:40 +00:00
Barış Soner Uşaklı
bf92ee0e5f feat: add sitemap filter hooks for categories/topic pages 2023-02-03 09:46:02 -05:00
Misty Release Bot
a573a3b7b4 Latest translations and fallbacks 2023-02-03 09:18:00 +00:00
Julian Lam
9007ace136 fix: schema changes for #11206 2023-02-02 15:52:43 -05:00
Julian Lam
5dc4d2852d fix(deps): bump persona theme 2023-02-02 14:48:34 -05:00
Misty Release Bot
7439d0a610 chore(i18n): fallback strings for new resources: nodebb.post-queue 2023-02-02 19:43:05 +00:00
Julian Lam
966724adfe fix: new language keys for #11206 2023-02-02 14:42:31 -05:00
Misty Release Bot
8335f90ae0 chore(i18n): fallback strings for new resources: nodebb.error 2023-02-02 13:37:19 -05:00
Misty Release Bot
7bc22a5993 chore(i18n): fallback strings for new resources: nodebb.error 2023-02-02 18:35:29 +00:00
Julian Lam
a382e6e2e5 Merge branch 'master' into develop 2023-02-02 13:34:55 -05:00
nesro
202378b939 fix: #11254, return check for reroll property 2023-02-02 09:15:04 -05:00
Barış Soner Uşaklı
705cd13ad3 fix: closes #11249, notification uses displayname 2023-01-31 17:27:25 -05:00
Misty Release Bot
1b9f6d8250 Latest translations and fallbacks 2023-01-31 09:17:50 +00:00
renovate[bot]
6c872a05a3 fix(deps): update dependency pg-cursor to v2.8.0 (#11236)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-30 19:42:50 -05:00
Julian Lam
b5598a6e5d fix: wrong link to topics in acp dashboard 2023-01-30 15:05:57 -05:00
Barış Soner Uşaklı
c241baf641 feat: closes #11241, add missing error lang keys 2023-01-30 12:40:24 -05:00
Barış Soner Uşaklı
d68352cce5 lint: remove unused 2023-01-30 12:35:08 -05:00
Barış Soner Uşaklı
0713482bd4 feat: #11240, only show relevant users in flags assignee list
for user flags-> admins + all users who have `admin:users` privilege
for post flags -> admins + global mods + moderators of the category the post is in
refactor getModeratorUids function so it can be used for different privileges
2023-01-30 12:26:08 -05:00
Barış Soner Uşaklı
1d3c0e5a2b fix: https://github.com/NodeBB/NodeBB/issues/11239
parseInt uid received from req.body._uid or req.query._uid
2023-01-30 11:48:10 -05:00
Barış Soner Uşaklı
6d819b056e fix: notif filter selecte field 2023-01-30 10:43:02 -05:00
renovate[bot]
c271762ca0 fix(deps): update dependency nodebb-rewards-essentials to v0.2.2 (#11234)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-28 23:29:37 -05:00
renovate[bot]
972d17702f fix(deps): update dependency pg to v8.9.0 (#11235)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-28 23:29:20 -05:00
renovate[bot]
1a28598b98 fix(deps): update dependency esbuild to v0.17.5 (#11233)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-28 23:29:06 -05:00
renovate[bot]
9b34ab66f6 fix(deps): update dependency ace-builds to v1.15.0 (#11223)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-27 10:53:49 -05:00
renovate[bot]
3749351451 fix(deps): update dependency ioredis to v5.3.0 (#11224)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-27 10:53:32 -05:00
renovate[bot]
94074e9092 fix(deps): update dependency nodebb-theme-persona to v12.1.14 (#11221)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-27 10:52:21 -05:00
renovate[bot]
0e0176a1dc fix(deps): update dependency nodemailer to v6.9.1 (#11222)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-27 10:51:56 -05:00
renovate[bot]
466c7a3a22 fix(deps): update dependency mkdirp to v2 (#11211)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-27 09:50:33 -05:00
Misty Release Bot
24e58c2895 chore: update changelog for v2.8.5 2023-01-27 14:35:25 +00:00
Misty Release Bot
93ccf604db chore: incrementing version number - v2.8.5 2023-01-27 14:35:24 +00:00
Peter Jaszkowiak
f6c96948fe fix: import resolution within plugin modules (#11219)
use module.exports = require('..')
export * from '..' didn't work in some cases
2023-01-27 09:17:38 -05:00
Misty Release Bot
c13f0e2128 chore: update changelog for v2.8.4 2023-01-26 14:38:07 +00:00
Misty Release Bot
b9553613ab chore: incrementing version number - v2.8.4 2023-01-26 14:38:06 +00:00
Barış Soner Uşaklı
c3653bee60 Revert "fix: import resolution within plugin modules (#11200)"
This reverts commit 89e059a084.
2023-01-26 09:27:16 -05:00
Barış Soner Uşaklı
79731735c0 feat: allow file uploads on mobile chat
closes https://github.com/NodeBB/NodeBB/issues/11217
2023-01-25 20:50:46 -05:00
Misty Release Bot
eb2841eed3 chore: update changelog for v2.8.3 2023-01-25 19:37:34 +00:00
Misty Release Bot
4c46ff42f6 chore: incrementing version number - v2.8.3 2023-01-25 19:37:33 +00:00
renovate[bot]
557198a377 fix(deps): update dependency ioredis to v5.2.6 (#11210)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-25 09:53:48 -05:00
renovate[bot]
69f4ff7588 fix(deps): update dependency nodemailer to v6.9.0 (#11205)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-24 20:46:12 -05:00
renovate[bot]
a2b0053426 fix(deps): update dependency ioredis to v5.2.5 (#11187)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-24 20:45:57 -05:00
renovate[bot]
d0e3eadb4c fix(deps): update dependency esbuild to v0.17.4 (#11204)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-24 20:45:43 -05:00
renovate[bot]
09712b5739 chore(deps): update dependency jsdom to v21.1.0 (#11202)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-24 20:45:14 -05:00
renovate[bot]
5648c8eaf1 chore(deps): update commitlint monorepo to v17.4.2 (#11186)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-24 19:59:40 -05:00
renovate[bot]
56731d89bc chore(deps): update dependency eslint to v8.32.0 (#11189)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-24 19:59:23 -05:00
Peter Jaszkowiak
89e059a084 fix: import resolution within plugin modules (#11200) 2023-01-24 19:59:06 -05:00
renovate[bot]
2994c42b99 fix(deps): update dependency nodebb-theme-persona to v12.1.13 2023-01-24 09:25:07 -05:00
renovate[bot]
c1785080b0 chore(deps): update dependency @apidevtools/swagger-parser to v9.0.1 2023-01-24 09:22:19 -05:00
renovate[bot]
f846153856 chore(deps): update dependency eslint-plugin-import to v2.27.5 2023-01-23 19:23:35 -05:00
Julian Lam
937344b8a8 Merge remote-tracking branch 'origin/master' into develop 2023-01-23 16:06:21 -05:00
Julian Lam
fecd84d1a0 revert: a788bd1344 2023-01-23 15:19:47 -05:00
Julian Lam
00e48803a6 fix(deps): downgrade swagger-parser to v9 2023-01-23 15:19:40 -05:00
Julian Lam
a788bd1344 revert: 9c250b78b0, fix: comment out broken test for now 2023-01-23 12:51:42 -05:00
Barış Soner Uşaklı
9f38692369 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2023-01-23 11:40:22 -05:00
Barış Soner Uşaklı
0bffd3d93c fix: #11195, allow users with admin:users privilege to delete users in acp 2023-01-23 11:40:17 -05:00
Julian Lam
9c250b78b0 fix(deps): pinning sub dependency json-schema-ref-parser to 9.0.9
ref: https://github.com/APIDevTools/json-schema-ref-parser/issues/298
2023-01-23 11:28:03 -05:00
Barış Soner Uşaklı
7d04e95226 fix: #11194, allow access to sub dashboard pages 2023-01-23 11:09:19 -05:00
Julian Lam
c99728e0c4 Merge branch 'master' into develop 2023-01-23 09:59:22 -05:00
Julian Lam
f295174e07 test: fix broken test 2023-01-23 09:58:51 -05:00
Misty Release Bot
cfb484e775 Latest translations and fallbacks 2023-01-23 09:17:53 +00:00
Julian Lam
38175b5e71 test: fix broken test 2023-01-21 14:34:01 -05:00
Julian Lam
fdc41646d1 feat: api v3 route to add email to user, optionally bypassing validation email, closes #11009 2023-01-21 14:22:34 -05:00
renovate[bot]
aa873e805f fix(deps): update dependency @socket.io/redis-adapter to v8.0.1 2023-01-21 14:21:13 -05:00
renovate[bot]
79cd4a36d9 fix(deps): update dependency jsonwebtoken to v9 2023-01-21 14:19:48 -05:00
renovate[bot]
8dc96894ea fix(deps): update dependency nodebb-plugin-2factor to v5.1.3 2023-01-21 14:12:26 -05:00
Julian Lam
eab5ab7ff9 Merge branch 'master' into develop 2023-01-19 15:39:02 -05:00
Julian Lam
459bc52338 fix: #11136, tests, and returning the proper number of arrays 2023-01-18 15:08:35 -05:00
Julian Lam
39e009c05a fix: #11136, only show mods of active categories when getModeratorUids is called 2023-01-18 14:47:10 -05:00
Barış Soner Uşaklı
747cb1f0a1 fix: closes #11173, clear require cache if wrong dependency is installed 2023-01-18 09:40:00 -05:00
Misty Release Bot
ee9631991c Latest translations and fallbacks 2023-01-16 09:17:57 +00:00
Misty Release Bot
df81fec76d Latest translations and fallbacks 2023-01-15 09:17:43 +00:00
Julian Lam
44ec8ba50e Merge remote-tracking branch 'origin/master' into develop 2023-01-13 13:41:23 -05:00
Julian Lam
48c9f4470f chore: remove extraneous lines from changelog 2023-01-13 13:38:45 -05:00
Misty Release Bot
66aa31698f chore: update changelog for v2.8.2 2023-01-13 18:38:13 +00:00
Misty Release Bot
1d5eff2365 chore: incrementing version number - v2.8.2 2023-01-13 18:38:12 +00:00
Julian Lam
a69bc2cf7f fix: remove unneeded assignment, as req and locals will not likely ever be completely reassigned 2023-01-13 10:04:58 -05:00
Julian Lam
25ae58e8a0 fix: move call to filter:middleware.buildHeader out of parallel so that req can be overridden by plugins prior to loading config 2023-01-13 09:53:14 -05:00
Misty Release Bot
28613e70e8 Latest translations and fallbacks 2023-01-12 09:18:03 +00:00
renovate[bot]
aaf9abed07 fix(deps): update dependency cron to v2.2.0 (#11140)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-11 16:52:42 -05:00
Julian Lam
0a691e6744 fix: move call to filter:middleware.buildHeader out of parallel so that req can be overridden by plugins prior to loading config 2023-01-10 11:08:29 -05:00
renovate[bot]
66b41d6763 chore(deps): update dependency @commitlint/cli to v17.4.1 (#11137)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-10 09:31:19 -05:00
renovate[bot]
4b147ee242 fix(deps): update dependency esbuild to v0.16.16 (#11135)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-10 09:31:08 -05:00
Misty Release Bot
d8184c24b1 Latest translations and fallbacks 2023-01-09 09:17:56 +00:00
renovate[bot]
aced93de16 fix(deps): update dependency commander to v9.5.0 (#11133)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-08 20:30:08 -05:00
renovate[bot]
7905d5733a chore(deps): update dependency jsdom to v21 (#11134)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-08 20:29:47 -05:00
renovate[bot]
aa6788b7db fix(deps): update dependency postcss to v8.4.21 (#11130)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-07 18:41:15 -05:00
renovate[bot]
581960de8a fix(deps): update dependency esbuild to v0.16.15 (#11132)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-07 18:40:58 -05:00
Misty Release Bot
80a27df0d9 Latest translations and fallbacks 2023-01-07 09:17:31 +00:00
Misty Release Bot
97ac3781f1 Latest translations and fallbacks 2023-01-05 20:46:21 +00:00
Misty Release Bot
0767ed5727 chore(i18n): fallback strings for new resources: nodebb.admin-settings-user 2023-01-05 20:22:56 +00:00
Julian Lam
69806662e6 Session Timeout if "Remember Me" is not checked (#11125)
* fix: convert loginDays and loginSeconds to number inputs

* feat: configurable session timeout for when "Remember Me" is not checked

closes #11124

* test: addition tests to check loginDays and sessionDuration settings

* test: also test loginSeconds override
2023-01-05 14:10:02 -05:00
renovate[bot]
2ea1510f8e chore(deps): update commitlint monorepo to v17.4.0 (#11123)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-04 18:49:30 -05:00
renovate[bot]
958971973a fix(deps): update dependency esbuild to v0.16.14 (#11127)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-04 18:49:15 -05:00
Julian Lam
fecdab8b6f refactor: helpers.loginUser to be fully async 2023-01-04 16:25:47 -05:00
Julian Lam
a344e6ec0c Fix for #11119, restore password reset rate limiting (#11120)
* chore: incrementing version number - v2.8.1

* chore: update changelog for v2.8.1

* fix: accidental clearing of reset rate limiting on reset send

* test: move user reset tests to its own file, add failing test for user reset locks

* fix: #11119, counter attempted flooding of user reset route

* test: fix password reset socket test to check for error now

* test: same user sending multiple reset emails

should work after waiting the correct amount of time

* lint: fixes

* chore: rename outdated `cleanTokensAndUids` method

* test: no need to create user for new test

Co-authored-by: Misty Release Bot <deploy@nodebb.org>
Co-authored-by: Barış Soner Uşaklı <barisusakli@gmail.com>
2023-01-04 11:24:46 -05:00
renovate[bot]
19c2b3509a chore(deps): update dependency husky to v8.0.3 2023-01-03 14:53:03 -05:00
Barış Soner Uşaklı
b81fd81af6 feat: fire filter:topics.getUnreadTids even if there are no urnead topics 2023-01-03 14:13:01 -05:00
Barış Soner Uşaklı
eef5778466 Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2023-01-03 14:10:43 -05:00
renovate[bot]
8f83f79057 chore(deps): update dependency eslint to v8.31.0 (#11118)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-02 23:05:28 -05:00
renovate[bot]
ca43464711 fix(deps): update dependency esbuild to v0.16.13 (#11121)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-02 23:05:07 -05:00
Misty Release Bot
d17d4ec09b chore: update changelog for v2.8.1 2022-12-30 20:48:48 +00:00
Misty Release Bot
96bdbf52b8 chore: incrementing version number - v2.8.1 2022-12-30 20:48:47 +00:00
Julian Lam
8a69e740a8 chore: fallbacks for new language string 2022-12-30 15:35:01 -05:00
Julian Lam
95ab5c4110 chore: add back missing dep upgrades 2022-12-30 15:33:59 -05:00
Julian Lam
830a20f182 chore: fallbacks for new language string 2022-12-30 15:30:51 -05:00
Barış Soner Uşaklı
1199336b0b Merge branch 'master' into develop 2022-12-30 09:51:02 -05:00
Barış Soner Uşaklı
24a7cc9cbb Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2022-12-30 09:50:04 -05:00
Barış Soner Uşaklı
586eed1407 fix: vulnerability in socket.io nested namespaces (#11117) 2022-12-30 09:49:22 -05:00
renovate[bot]
e3fa0152f7 fix(deps): update dependency esbuild to v0.16.12 (#11116)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-27 23:37:02 -05:00
renovate[bot]
0ec6d6c2ba fix(deps): update dependency esbuild to v0.16.11 2022-12-27 10:37:16 -05:00
Barış Soner Uşaklı
1ea9481af6 fix: lock post/reply similar to user.create 2022-12-25 15:05:15 -05:00
renovate[bot]
a634481b74 fix(deps): update dependency nodebb-theme-slick to v2.0.4 (#11113)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-24 00:04:32 -05:00
renovate[bot]
0665834d47 chore(deps): update dependency jquery to v3.6.3 (#11107)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-20 21:15:38 -05:00
renovate[bot]
048f5674eb fix(deps): update dependency esbuild to v0.16.10 (#11104)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-20 19:17:10 -05:00
renovate[bot]
3f5bda7e48 fix(deps): update dependency mongodb to v4.13.0 (#11105)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-20 19:16:58 -05:00
renovate[bot]
18bcc3cf89 chore(deps): update dependency eslint to v8.30.0 (#11102)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-17 14:26:35 -05:00
renovate[bot]
db7ea20c80 fix(deps): update dependency esbuild to v0.16.8 (#11101)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-17 14:26:26 -05:00
renovate[bot]
ad96a4d802 chore(deps): update dependency mocha to v10.2.0 (#11094)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-16 16:37:01 -05:00
renovate[bot]
65241b1abd fix(deps): update dependency sanitize-html to v2.8.0 (#11098)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-16 15:54:38 -05:00
renovate[bot]
10056e5b26 fix(deps): update dependency ace-builds to v1.14.0 (#11095)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-16 15:49:17 -05:00
renovate[bot]
cc376656a0 fix(deps): update dependency nodebb-plugin-2factor to v5.1.2 (#11096)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-16 15:48:58 -05:00
renovate[bot]
d4f045114e fix(deps): update dependency postcss to v8.4.20 (#11097)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-16 15:47:23 -05:00
Opliko
d447236b70 feat: add force flag to plugin install in cli (#11089) 2022-12-16 15:47:03 -05:00
Julian Lam
14091de8fe refactor: flag states so that they are not hardcoded, allow plugins to add additional states, deprecated filter:flags.getFilters hook, closes #11065 2022-12-16 14:58:16 -05:00
renovate[bot]
32fecad703 fix(deps): update dependency compare-versions to v5.0.3 (#11092)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-16 09:57:41 -05:00
renovate[bot]
6aab1c58d5 fix(deps): update dependency html-to-text to v9.0.3 (#11093)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-16 09:50:21 -05:00
renovate[bot]
a82c67435f fix(deps): update dependency @socket.io/redis-adapter to v8 (#11084)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-16 09:13:14 -05:00
renovate[bot]
6774b35fd5 fix(deps): update dependency nodebb-widget-essentials to v6.0.1 (#11085)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-16 09:10:00 -05:00
renovate[bot]
27a049fb63 fix(deps): update dependency esbuild to v0.16.7 (#11086)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-16 09:09:51 -05:00
Barış Soner Uşaklı
babe7faca0 chore: up jquery 2022-12-16 09:09:32 -05:00
Barış Soner Uşaklı
eeeff15a3b Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2022-12-16 09:09:02 -05:00
renovate[bot]
c749f38ce0 fix(deps): update dependency nodebb-theme-lavender to v6.0.1 (#11081)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-09 13:48:39 -05:00
renovate[bot]
8eb880f6e5 fix(deps): update dependency esbuild to v0.16.3 (#11083)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-09 11:01:45 -05:00
renovate[bot]
7a1c258de8 chore(deps): update dependency lint-staged to v13.1.0 (#11082)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-09 11:01:17 -05:00
renovate[bot]
aa3a51b16e fix(deps): update dependency html-to-text to v9 (#11075)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-09 10:25:29 -05:00
renovate[bot]
4914332853 chore(deps): update dependency eslint to v8.29.0 (#11074)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-09 10:24:54 -05:00
renovate[bot]
67ede5c608 fix(deps): update dependency ace-builds to v1.13.2 (#11080)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-09 10:24:44 -05:00
renovate[bot]
fa3e6540d5 fix(deps): update dependency fs-extra to v11 (#11072)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-09 10:01:03 -05:00
Julian Lam
21a366ec57 feat: update transifex config (for use with new cli)
+ hy, thanks to the fine folks at tutor-platform.com!
2022-12-08 13:38:41 -05:00
Misty Release Bot
f41e23272f Latest translations and fallbacks 2022-12-08 09:05:54 +00:00
Misty Release Bot
8b7a09b1b6 Latest translations and fallbacks 2022-12-05 09:05:57 +00:00
Misty Release Bot
8ef729475c Latest translations and fallbacks 2022-12-01 09:06:22 +00:00
renovate[bot]
ced874173a fix(deps): update dependency esbuild to v0.15.16 (#11069)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-28 09:27:52 -05:00
Barış Soner Uşaklı
5edeb79f14 Merge branch 'master' into develop 2022-11-27 19:37:47 -05:00
renovate[bot]
ac14099bfb chore(deps): update dependency lint-staged to v13.0.4 (#11064)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-25 09:25:02 -05:00
Julian Lam
52e7ad4de5 fix: relax selectors for client-side form validation so that all form elements are checked 2022-11-24 20:17:40 -05:00
Misty Release Bot
d8b45c61f7 chore(i18n): fallback strings for new resources: nodebb.admin-settings-email 2022-11-25 01:10:38 +00:00
Julian Lam
137388882a fix: change hsts-maxage back to numeric input type, change API token uid input to numeric text type 2022-11-24 20:09:58 -05:00
Julian Lam
d1c49a7663 Revert "fix: replace input type number with text/pattern"
This reverts commit cde4c6ac7e.

The changeset was naive in the sense that a lot of the changes inputs actually work better as type="number".
2022-11-24 20:07:39 -05:00
Misty Release Bot
80cf05d8fd chore(i18n): fallback strings for new resources: nodebb.admin-settings-email 2022-11-24 22:18:27 +00:00
Julian Lam
cde4c6ac7e fix: replace input type number with text/pattern 2022-11-24 17:17:53 -05:00
Julian Lam
07a3cee6d6 feat: integrating basic client-side form validity checking in settings v1 and v2 2022-11-24 17:17:53 -05:00
Barış Soner Uşaklı
6fe8797525 feat: add ./nodebb install <plugin_name>
will install the suggested version for current nodebb closes #11060
2022-11-24 11:17:06 -05:00
Barış Soner Uşaklı
8abea39389 Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2022-11-24 11:01:33 -05:00
Misty Release Bot
c74fc9b9ca Latest translations and fallbacks 2022-11-24 09:06:27 +00:00
renovate[bot]
3c5b0210b2 fix(deps): update dependency mongodb to v4.12.1 (#11062)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-23 16:15:55 -05:00
renovate[bot]
643dce38d7 fix(deps): update dependency mongodb to v4.12.1 (#11062)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-23 14:26:25 -05:00
1692 changed files with 29288 additions and 39950 deletions

View File

@@ -18,12 +18,3 @@ logs/
.eslintrc
test/files
*.min.js
/public/src/app.js
/public/src/client.js
/public/src/admin/admin.js
/public/src/modules/translator.common.js
/public/src/modules/pictureCropper.js
/public/src/modules/ace-editor.js
/public/src/client/account/header.js
/public/src/client/test.js

View File

@@ -46,7 +46,7 @@ jobs:
type=raw,value=latest
- name: Build and push Docker images
uses: docker/build-push-action@v3
uses: docker/build-push-action@v4
with:
context: .
file: ./Dockerfile

View File

@@ -29,19 +29,19 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest]
node: [14, 16, 18]
node: [16, 18]
database: [mongo-dev, mongo, redis, postgres]
include:
# only run coverage once
- os: ubuntu-latest
node: 14
node: 16
coverage: true
# test under development once
- database: mongo-dev
test_env: development
# only run eslint once
- os: ubuntu-latest
node: 14
node: 16
database: mongo-dev
lint: true
runs-on: ${{ matrix.os }}
@@ -50,7 +50,7 @@ jobs:
services:
postgres:
image: 'postgres:14-alpine'
image: 'postgres:15-alpine'
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
@@ -194,7 +194,7 @@ jobs:
run: npm run coverage
- name: Test coverage
uses: coverallsapp/github-action@1.1.3
uses: coverallsapp/github-action@v2.0.0
if: matrix.coverage
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
@@ -208,7 +208,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Coveralls Finished
uses: coverallsapp/github-action@1.1.3
uses: coverallsapp/github-action@v2.0.0
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
parallel-finished: true

View File

@@ -1,3 +1,389 @@
#### v2.8.10 (2023-03-27)
##### Chores
* up composer-default (e9a8e195)
* incrementing version number - v2.8.9 (57f14e41)
* update changelog for v2.8.9 (18b2150e)
* incrementing version number - v2.8.8 (b331b942)
* incrementing version number - v2.8.7 (3f8248d6)
* incrementing version number - v2.8.6 (af6ce447)
* incrementing version number - v2.8.5 (bff5ce2d)
* incrementing version number - v2.8.4 (a46b2bbc)
* incrementing version number - v2.8.3 (c20b20a7)
* incrementing version number - v2.8.2 (050e43f8)
* incrementing version number - v2.8.1 (727f879e)
* incrementing version number - v2.8.0 (8e77673d)
* incrementing version number - v2.7.0 (96cc0617)
* incrementing version number - v2.6.1 (7e52a7a5)
* incrementing version number - v2.6.0 (e7fcf482)
* incrementing version number - v2.5.8 (dec0e7de)
* incrementing version number - v2.5.7 (5836bf4a)
* incrementing version number - v2.5.6 (c7bd7dbf)
* incrementing version number - v2.5.5 (3509ed94)
* incrementing version number - v2.5.4 (e83260ca)
* incrementing version number - v2.5.3 (7e922936)
* incrementing version number - v2.5.2 (babcd17e)
* incrementing version number - v2.5.1 (ce3aa950)
* incrementing version number - v2.5.0 (01d276cb)
* incrementing version number - v2.4.5 (dd3e1a28)
* incrementing version number - v2.4.4 (d5525c87)
* incrementing version number - v2.4.3 (9c647c6c)
* incrementing version number - v2.4.2 (3aa7b855)
* incrementing version number - v2.4.1 (60cbd148)
* incrementing version number - v2.4.0 (4834cde3)
* incrementing version number - v2.3.1 (d2425942)
* incrementing version number - v2.3.0 (046ea120)
##### Bug Fixes
* #11403, remove loader.js crash counter logic (830f142b)
* don't crash if event name is not a string (37b48b82)
* closes #11173, move cache clear code (c2961ad4)
##### Other Changes
* fix arrow (1aff9cad)
* whitespace (894f392b)
#### v2.8.9 (2023-03-19)
##### Chores
* up cron (73a50d17)
* incrementing version number - v2.8.8 (b331b942)
* update changelog for v2.8.8 (c03d5db7)
* incrementing version number - v2.8.7 (3f8248d6)
* incrementing version number - v2.8.6 (af6ce447)
* incrementing version number - v2.8.5 (bff5ce2d)
* incrementing version number - v2.8.4 (a46b2bbc)
* incrementing version number - v2.8.3 (c20b20a7)
* incrementing version number - v2.8.2 (050e43f8)
* incrementing version number - v2.8.1 (727f879e)
* incrementing version number - v2.8.0 (8e77673d)
* incrementing version number - v2.7.0 (96cc0617)
* incrementing version number - v2.6.1 (7e52a7a5)
* incrementing version number - v2.6.0 (e7fcf482)
* incrementing version number - v2.5.8 (dec0e7de)
* incrementing version number - v2.5.7 (5836bf4a)
* incrementing version number - v2.5.6 (c7bd7dbf)
* incrementing version number - v2.5.5 (3509ed94)
* incrementing version number - v2.5.4 (e83260ca)
* incrementing version number - v2.5.3 (7e922936)
* incrementing version number - v2.5.2 (babcd17e)
* incrementing version number - v2.5.1 (ce3aa950)
* incrementing version number - v2.5.0 (01d276cb)
* incrementing version number - v2.4.5 (dd3e1a28)
* incrementing version number - v2.4.4 (d5525c87)
* incrementing version number - v2.4.3 (9c647c6c)
* incrementing version number - v2.4.2 (3aa7b855)
* incrementing version number - v2.4.1 (60cbd148)
* incrementing version number - v2.4.0 (4834cde3)
* incrementing version number - v2.3.1 (d2425942)
* incrementing version number - v2.3.0 (046ea120)
##### Bug Fixes
* thumb remove on windows, closes #11357 (767c1d1f)
* #11357 clear cache on thumb remove (a3a38e4b)
* closes #11352, try/catch rss feeds (cfd50272)
* closes #11343, don't crash if tags array is empty (56427e4f)
##### Code Style Changes
* more fixes (93aa43f7)
##### Tests
* openapi for thumbs (9e685e65)
#### v2.8.8 (2023-03-09)
##### Chores
* incrementing version number - v2.8.7 (3f8248d6)
* update changelog for v2.8.7 (2ca38e7b)
* incrementing version number - v2.8.6 (af6ce447)
* incrementing version number - v2.8.5 (bff5ce2d)
* incrementing version number - v2.8.4 (a46b2bbc)
* incrementing version number - v2.8.3 (c20b20a7)
* incrementing version number - v2.8.2 (050e43f8)
* incrementing version number - v2.8.1 (727f879e)
* incrementing version number - v2.8.0 (8e77673d)
* incrementing version number - v2.7.0 (96cc0617)
* incrementing version number - v2.6.1 (7e52a7a5)
* incrementing version number - v2.6.0 (e7fcf482)
* incrementing version number - v2.5.8 (dec0e7de)
* incrementing version number - v2.5.7 (5836bf4a)
* incrementing version number - v2.5.6 (c7bd7dbf)
* incrementing version number - v2.5.5 (3509ed94)
* incrementing version number - v2.5.4 (e83260ca)
* incrementing version number - v2.5.3 (7e922936)
* incrementing version number - v2.5.2 (babcd17e)
* incrementing version number - v2.5.1 (ce3aa950)
* incrementing version number - v2.5.0 (01d276cb)
* incrementing version number - v2.4.5 (dd3e1a28)
* incrementing version number - v2.4.4 (d5525c87)
* incrementing version number - v2.4.3 (9c647c6c)
* incrementing version number - v2.4.2 (3aa7b855)
* incrementing version number - v2.4.1 (60cbd148)
* incrementing version number - v2.4.0 (4834cde3)
* incrementing version number - v2.3.1 (d2425942)
* incrementing version number - v2.3.0 (046ea120)
##### Bug Fixes
* stop topic navigation hotkeys from firing if in a mousetrap-enabled form element (22fc8fe3)
* stop topic navigation hotkeys from firing if in a mousetrap-enabled form element (17d0b40e)
* tag filtering when changing filter to watched topics (1545223e)
* get cid from pid instead of passing in (f054a4f4)
* closes #11331, allow 0 length content if set to 0 in acp (8c762d32)
#### v2.8.7 (2023-03-01)
##### Chores
* incrementing version number - v2.8.6 (af6ce447)
* update changelog for v2.8.6 (f3306d03)
* incrementing version number - v2.8.5 (bff5ce2d)
* incrementing version number - v2.8.4 (a46b2bbc)
* incrementing version number - v2.8.3 (c20b20a7)
* incrementing version number - v2.8.2 (050e43f8)
* incrementing version number - v2.8.1 (727f879e)
* incrementing version number - v2.8.0 (8e77673d)
* incrementing version number - v2.7.0 (96cc0617)
* incrementing version number - v2.6.1 (7e52a7a5)
* incrementing version number - v2.6.0 (e7fcf482)
* incrementing version number - v2.5.8 (dec0e7de)
* incrementing version number - v2.5.7 (5836bf4a)
* incrementing version number - v2.5.6 (c7bd7dbf)
* incrementing version number - v2.5.5 (3509ed94)
* incrementing version number - v2.5.4 (e83260ca)
* incrementing version number - v2.5.3 (7e922936)
* incrementing version number - v2.5.2 (babcd17e)
* incrementing version number - v2.5.1 (ce3aa950)
* incrementing version number - v2.5.0 (01d276cb)
* incrementing version number - v2.4.5 (dd3e1a28)
* incrementing version number - v2.4.4 (d5525c87)
* incrementing version number - v2.4.3 (9c647c6c)
* incrementing version number - v2.4.2 (3aa7b855)
* incrementing version number - v2.4.1 (60cbd148)
* incrementing version number - v2.4.0 (4834cde3)
* incrementing version number - v2.3.1 (d2425942)
* incrementing version number - v2.3.0 (046ea120)
##### Documentation Changes
* update openapi spec to include info about passing in timestamps for topic creation, removing timestamp as valid request param for topic replying (40e7b86d)
##### Bug Fixes
* display 25 topics on category feed (79155109)
* object destructuring overwriting type parameter (ec58700f)
* alert on page load (8cf4a6f6)
* show error alert if password change fails (3bd9a871)
* update main post timestamp when rescheduling (edd2fc38)
* show admins/globalmods if content is purged (326b9268)
* email expiry timestamps (e335d0f6)
* #11259, clean old emails when updating via admin (#11260) (845c8013)
* #11257, onSuccessfulLogin called with improper uid (7a5bcc21)
##### Tests
* add dummy emailer hook in authentication test (1b29dbb6)
#### v2.8.6 (2023-02-03)
##### Chores
* **i18n:** fallback strings for new resources: nodebb.error (8335f90a)
* incrementing version number - v2.8.5 (bff5ce2d)
* update changelog for v2.8.5 (24e58c28)
* incrementing version number - v2.8.4 (a46b2bbc)
* incrementing version number - v2.8.3 (c20b20a7)
* incrementing version number - v2.8.2 (050e43f8)
* incrementing version number - v2.8.1 (727f879e)
* incrementing version number - v2.8.0 (8e77673d)
* incrementing version number - v2.7.0 (96cc0617)
* incrementing version number - v2.6.1 (7e52a7a5)
* incrementing version number - v2.6.0 (e7fcf482)
* incrementing version number - v2.5.8 (dec0e7de)
* incrementing version number - v2.5.7 (5836bf4a)
* incrementing version number - v2.5.6 (c7bd7dbf)
* incrementing version number - v2.5.5 (3509ed94)
* incrementing version number - v2.5.4 (e83260ca)
* incrementing version number - v2.5.3 (7e922936)
* incrementing version number - v2.5.2 (babcd17e)
* incrementing version number - v2.5.1 (ce3aa950)
* incrementing version number - v2.5.0 (01d276cb)
* incrementing version number - v2.4.5 (dd3e1a28)
* incrementing version number - v2.4.4 (d5525c87)
* incrementing version number - v2.4.3 (9c647c6c)
* incrementing version number - v2.4.2 (3aa7b855)
* incrementing version number - v2.4.1 (60cbd148)
* incrementing version number - v2.4.0 (4834cde3)
* incrementing version number - v2.3.1 (d2425942)
* incrementing version number - v2.3.0 (046ea120)
##### New Features
* add sitemap filter hooks for categories/topic pages (bf92ee0e)
* closes #11241, add missing error lang keys (c241baf6)
* #11240, only show relevant users in flags assignee list (0713482b)
##### Bug Fixes
* #11254, return check for reroll property (202378b9)
* closes #11249, notification uses displayname (705cd13a)
* wrong link to topics in acp dashboard (b5598a6e)
* https://github.com/NodeBB/NodeBB/issues/11239 (1d3c0e5a)
* notif filter selecte field (6d819b05)
##### Other Changes
* remove unused (d68352cc)
#### v2.8.5 (2023-01-27)
##### Chores
* incrementing version number - v2.8.4 (a46b2bbc)
* update changelog for v2.8.4 (c13f0e21)
* incrementing version number - v2.8.3 (c20b20a7)
* incrementing version number - v2.8.2 (050e43f8)
* incrementing version number - v2.8.1 (727f879e)
* incrementing version number - v2.8.0 (8e77673d)
* incrementing version number - v2.7.0 (96cc0617)
* incrementing version number - v2.6.1 (7e52a7a5)
* incrementing version number - v2.6.0 (e7fcf482)
* incrementing version number - v2.5.8 (dec0e7de)
* incrementing version number - v2.5.7 (5836bf4a)
* incrementing version number - v2.5.6 (c7bd7dbf)
* incrementing version number - v2.5.5 (3509ed94)
* incrementing version number - v2.5.4 (e83260ca)
* incrementing version number - v2.5.3 (7e922936)
* incrementing version number - v2.5.2 (babcd17e)
* incrementing version number - v2.5.1 (ce3aa950)
* incrementing version number - v2.5.0 (01d276cb)
* incrementing version number - v2.4.5 (dd3e1a28)
* incrementing version number - v2.4.4 (d5525c87)
* incrementing version number - v2.4.3 (9c647c6c)
* incrementing version number - v2.4.2 (3aa7b855)
* incrementing version number - v2.4.1 (60cbd148)
* incrementing version number - v2.4.0 (4834cde3)
* incrementing version number - v2.3.1 (d2425942)
* incrementing version number - v2.3.0 (046ea120)
##### Bug Fixes
* import resolution within plugin modules (#11219) (f6c96948)
#### v2.8.4 (2023-01-26)
##### Chores
* incrementing version number - v2.8.3 (c20b20a7)
* update changelog for v2.8.3 (eb2841ee)
* incrementing version number - v2.8.2 (050e43f8)
* incrementing version number - v2.8.1 (727f879e)
* incrementing version number - v2.8.0 (8e77673d)
* incrementing version number - v2.7.0 (96cc0617)
* incrementing version number - v2.6.1 (7e52a7a5)
* incrementing version number - v2.6.0 (e7fcf482)
* incrementing version number - v2.5.8 (dec0e7de)
* incrementing version number - v2.5.7 (5836bf4a)
* incrementing version number - v2.5.6 (c7bd7dbf)
* incrementing version number - v2.5.5 (3509ed94)
* incrementing version number - v2.5.4 (e83260ca)
* incrementing version number - v2.5.3 (7e922936)
* incrementing version number - v2.5.2 (babcd17e)
* incrementing version number - v2.5.1 (ce3aa950)
* incrementing version number - v2.5.0 (01d276cb)
* incrementing version number - v2.4.5 (dd3e1a28)
* incrementing version number - v2.4.4 (d5525c87)
* incrementing version number - v2.4.3 (9c647c6c)
* incrementing version number - v2.4.2 (3aa7b855)
* incrementing version number - v2.4.1 (60cbd148)
* incrementing version number - v2.4.0 (4834cde3)
* incrementing version number - v2.3.1 (d2425942)
* incrementing version number - v2.3.0 (046ea120)
#### v2.8.3 (2023-01-25)
##### Chores
* remove extraneous lines from changelog (48c9f447)
* incrementing version number - v2.8.2 (050e43f8)
* update changelog for v2.8.2 (66aa3169)
* incrementing version number - v2.8.1 (727f879e)
* incrementing version number - v2.8.0 (8e77673d)
* incrementing version number - v2.7.0 (96cc0617)
* incrementing version number - v2.6.1 (7e52a7a5)
* incrementing version number - v2.6.0 (e7fcf482)
* incrementing version number - v2.5.8 (dec0e7de)
* incrementing version number - v2.5.7 (5836bf4a)
* incrementing version number - v2.5.6 (c7bd7dbf)
* incrementing version number - v2.5.5 (3509ed94)
* incrementing version number - v2.5.4 (e83260ca)
* incrementing version number - v2.5.3 (7e922936)
* incrementing version number - v2.5.2 (babcd17e)
* incrementing version number - v2.5.1 (ce3aa950)
* incrementing version number - v2.5.0 (01d276cb)
* incrementing version number - v2.4.5 (dd3e1a28)
* incrementing version number - v2.4.4 (d5525c87)
* incrementing version number - v2.4.3 (9c647c6c)
* incrementing version number - v2.4.2 (3aa7b855)
* incrementing version number - v2.4.1 (60cbd148)
* incrementing version number - v2.4.0 (4834cde3)
* incrementing version number - v2.3.1 (d2425942)
* incrementing version number - v2.3.0 (046ea120)
##### Bug Fixes
* import resolution within plugin modules (#11200) (89e059a0)
* #11195, allow users with admin:users privilege to delete users in acp (0bffd3d9)
* #11194, allow access to sub dashboard pages (7d04e952)
* #11136, tests, and returning the proper number of arrays (459bc523)
* #11136, only show mods of active categories when getModeratorUids is called (39e009c0)
* closes #11173, clear require cache if wrong dependency is installed (747cb1f0)
* **deps:**
* downgrade swagger-parser to v9 (00e48803)
* pinning sub dependency json-schema-ref-parser to 9.0.9 (9c250b78)
##### Reverts
* a788bd1344825ad4759e39d6e98d8bf3695bd639 (fecd84d1)
* 9c250b78b05ca2abf31a79971ed0c60ca07664ec, fix: comment out broken test for now (a788bd13)
##### Tests
* fix broken test (f295174e)
#### v2.8.2 (2023-01-13)
##### Chores
* incrementing version number - v2.8.1 (727f879e)
* update changelog for v2.8.1 (d17d4ec0)
##### Bug Fixes
* move call to `filter:middleware.buildHeader` out of parallel so that req can be overridden by plugins prior to loading config (25ae58e8)
#### v2.8.1 (2022-12-30)
##### Chores
* fallbacks for new language string (8a69e740)
* remove extraneous lines from changelog (bbaf26ce)
* incrementing version number - v2.8.0 (8e77673d)
* update changelog for v2.8.0 (a5c2edb9)
##### Bug Fixes
* vulnerability in socket.io nested namespaces (#11117) (586eed14)
* lock post/reply similar to user.create (1ea9481a)
#### v2.8.0 (2022-12-21)
##### Chores

View File

@@ -54,14 +54,9 @@ module.exports = function (grunt) {
}
}
const styleUpdated_Client = pluginList.map(p => `node_modules/${p}/*.less`)
const styleUpdated_Client = pluginList.map(p => `node_modules/${p}/*.scss`)
.concat(pluginList.map(p => `node_modules/${p}/*.css`))
.concat(pluginList.map(p => `node_modules/${p}/+(public|static|less)/**/*.less`))
.concat(pluginList.map(p => `node_modules/${p}/+(public|static)/**/*.css`));
const styleUpdated_Admin = pluginList.map(p => `node_modules/${p}/*.less`)
.concat(pluginList.map(p => `node_modules/${p}/*.css`))
.concat(pluginList.map(p => `node_modules/${p}/+(public|static|less)/**/*.less`))
.concat(pluginList.map(p => `node_modules/${p}/+(public|static|scss)/**/*.scss`))
.concat(pluginList.map(p => `node_modules/${p}/+(public|static)/**/*.css`));
const clientUpdated = pluginList.map(p => `node_modules/${p}/+(public|static)/**/*.js`);
@@ -72,24 +67,15 @@ module.exports = function (grunt) {
const langUpdated = pluginList.map(p => `node_modules/${p}/+(public|static|languages)/**/*.json`);
grunt.config(['watch'], {
styleUpdated_Client: {
styleUpdated: {
files: [
'public/less/**/*.less',
'public/scss/**/*.scss',
...styleUpdated_Client,
],
options: {
interval: 1000,
},
},
styleUpdated_Admin: {
files: [
'public/less/**/*.less',
...styleUpdated_Admin,
],
options: {
interval: 1000,
},
},
clientUpdated: {
files: [
'public/src/**/*.js',
@@ -167,16 +153,14 @@ module.exports = function (grunt) {
grunt.event.removeAllListeners('watch');
grunt.event.on('watch', (action, filepath, target) => {
let compiling;
if (target === 'styleUpdated_Client') {
compiling = 'clientCSS';
} else if (target === 'styleUpdated_Admin') {
compiling = 'acpCSS';
if (target === 'styleUpdated') {
compiling = ['clientCSS', 'acpCSS'];
} else if (target === 'clientUpdated') {
compiling = 'js';
compiling = ['js'];
} else if (target === 'templatesUpdated') {
compiling = 'tpl';
compiling = ['tpl'];
} else if (target === 'langUpdated') {
compiling = 'lang';
compiling = ['lang'];
} else if (target === 'serverUpdated') {
// empty require cache
const paths = ['./src/meta/build.js', './src/meta/index.js'];
@@ -184,7 +168,7 @@ module.exports = function (grunt) {
return run();
}
require('./src/meta/build').build([compiling], { webpack: false }, (err) => {
require('./src/meta/build').build(compiling, { webpack: false }, (err) => {
if (err) {
winston.error(err.stack);
}

View File

@@ -4,6 +4,7 @@
"defaultLang": "en-GB",
"loginDays": 14,
"loginSeconds": 0,
"sessionDuration": 0,
"loginAttempts": 5,
"lockoutDuration": 60,
"adminReloginDuration": 60,
@@ -181,5 +182,6 @@
"composer:showHelpTab": 1,
"composer:allowPluginHelp": 1,
"maxReconnectionAttempts": 5,
"reconnectionDelay": 1500
"reconnectionDelay": 1500,
"disableCustomUserSkins": 0
}

View File

@@ -2,7 +2,7 @@
{
"widget": "html",
"data" : {
"html": "<footer id=\"footer\" class=\"container footer\">\r\n\t<div>\r\n\t\tPowered by <a target=\"_blank\" href=\"https://nodebb.org\">NodeBB</a> | <a target=\"_blank\" href=\"//github.com/NodeBB/NodeBB/graphs/contributors\">Contributors</a>\r\n\t</div>\r\n</footer>",
"html": "<footer id=\"footer\" class=\"container footer d-flex flex-column align-items-center gap-1 mb-2\">\n\t<span>Powered by <a class=\"link-secondary text-decoration-underline\" target=\"_blank\" href=\"https://nodebb.org\">NodeBB</a></span>\n\t<span><a class=\"link-secondary\" target=\"_blank\" href=\"//github.com/NodeBB/NodeBB/graphs/contributors\"><i class=\"fa fa-users\"></i> <span class=\"text-decoration-underline\">Contributors<span></a></span>\n</footer>",
"title":"",
"container":""
}

View File

@@ -4,7 +4,7 @@
"title": "[[global:header.categories]]",
"enabled": true,
"iconClass": "fa-list",
"textClass": "visible-xs-inline",
"textClass": "d-lg-none",
"text": "[[global:header.categories]]"
},
{
@@ -13,7 +13,7 @@
"title": "[[global:header.unread]]",
"enabled": true,
"iconClass": "fa-inbox",
"textClass": "visible-xs-inline",
"textClass": "d-lg-none",
"text": "[[global:header.unread]]",
"groups": ["registered-users"]
},
@@ -22,7 +22,7 @@
"title": "[[global:header.recent]]",
"enabled": true,
"iconClass": "fa-clock-o",
"textClass": "visible-xs-inline",
"textClass": "d-lg-none",
"text": "[[global:header.recent]]"
},
{
@@ -30,7 +30,7 @@
"title": "[[global:header.tags]]",
"enabled": true,
"iconClass": "fa-tags",
"textClass": "visible-xs-inline",
"textClass": "d-lg-none",
"text": "[[global:header.tags]]"
},
{
@@ -38,7 +38,7 @@
"title": "[[global:header.popular]]",
"enabled": true,
"iconClass": "fa-fire",
"textClass": "visible-xs-inline",
"textClass": "d-lg-none",
"text": "[[global:header.popular]]"
},
{
@@ -46,7 +46,7 @@
"title": "[[global:header.users]]",
"enabled": true,
"iconClass": "fa-user",
"textClass": "visible-xs-inline",
"textClass": "d-lg-none",
"text": "[[global:header.users]]"
},
{
@@ -54,7 +54,7 @@
"title": "[[global:header.groups]]",
"enabled": true,
"iconClass": "fa-group",
"textClass": "visible-xs-inline",
"textClass": "d-lg-none",
"text": "[[global:header.groups]]"
},
{
@@ -62,7 +62,7 @@
"title": "[[global:header.admin]]",
"enabled": true,
"iconClass": "fa-cogs",
"textClass": "visible-xs-inline",
"textClass": "d-lg-none",
"text": "[[global:header.admin]]",
"groups": ["administrators"]
}

View File

@@ -2,8 +2,8 @@
"name": "nodebb",
"license": "GPL-3.0",
"description": "NodeBB Forum",
"version": "2.8.0",
"homepage": "http://www.nodebb.org",
"version": "3.0.0-rc.1",
"homepage": "https://www.nodebb.org",
"repository": {
"type": "git",
"url": "https://github.com/NodeBB/NodeBB/"
@@ -29,145 +29,151 @@
},
"dependencies": {
"@adactive/bootstrap-tagsinput": "0.8.2",
"@isaacs/ttlcache": "1.2.1",
"ace-builds": "1.14.0",
"@isaacs/ttlcache": "1.2.2",
"@popperjs/core": "2.11.7",
"ace-builds": "1.16.0",
"archiver": "5.3.1",
"async": "3.2.4",
"autoprefixer": "10.4.13",
"autoprefixer": "10.4.14",
"bcryptjs": "2.4.3",
"benchpressjs": "2.4.3",
"body-parser": "1.20.1",
"bootbox": "5.5.3",
"bootstrap": "3.4.1",
"benchpressjs": "2.5.1",
"body-parser": "1.20.2",
"bootbox": "6.0.0",
"bootstrap": "5.2.3",
"bootswatch": "5.2.3",
"chalk": "4.1.2",
"chart.js": "2.9.4",
"cli-graph": "3.2.2",
"clipboard": "2.0.11",
"colors": "1.4.0",
"commander": "9.4.1",
"commander": "10.0.0",
"compare-versions": "5.0.3",
"compression": "1.7.4",
"connect-flash": "0.1.1",
"connect-mongo": "4.6.0",
"connect-mongo": "5.0.0",
"connect-multiparty": "2.2.0",
"connect-pg-simple": "8.0.0",
"connect-redis": "6.1.3",
"connect-redis": "7.0.1",
"cookie-parser": "1.4.6",
"cron": "2.1.0",
"cron": "2.3.0",
"cropperjs": "1.5.13",
"csurf": "1.11.0",
"csrf-sync": "4.0.1",
"daemon": "1.1.0",
"diff": "5.1.0",
"esbuild": "0.16.10",
"esbuild": "0.17.14",
"express": "4.18.2",
"express-session": "1.17.3",
"express-useragent": "1.0.15",
"file-loader": "6.2.0",
"fs-extra": "11.1.0",
"graceful-fs": "4.2.10",
"helmet": "5.1.1",
"html-to-text": "9.0.3",
"fs-extra": "11.1.1",
"graceful-fs": "4.2.11",
"helmet": "6.0.1",
"html-to-text": "9.0.5",
"ipaddr.js": "2.0.1",
"jquery": "3.6.3",
"jquery": "3.6.4",
"jquery-deserialize": "2.0.0",
"jquery-form": "4.3.0",
"jquery-serializeobject": "1.0.0",
"jquery-ui": "1.13.2",
"jsesc": "3.0.2",
"json2csv": "5.0.7",
"jsonwebtoken": "8.5.1",
"jsonwebtoken": "9.0.0",
"less": "4.1.3",
"lodash": "4.17.21",
"logrotate-stream": "0.2.8",
"lru-cache": "7.14.1",
"logrotate-stream": "0.2.9",
"lru-cache": "8.0.4",
"material-design-lite": "1.3.0",
"mime": "3.0.0",
"mkdirp": "1.0.4",
"mongodb": "4.13.0",
"mkdirp": "2.1.6",
"mongodb": "5.1.0",
"morgan": "1.10.0",
"mousetrap": "1.6.5",
"multiparty": "4.2.3",
"@nodebb/bootswatch": "3.4.2",
"nconf": "0.12.0",
"nodebb-plugin-2factor": "5.1.2",
"nodebb-plugin-composer-default": "9.2.4",
"nodebb-plugin-dbsearch": "5.1.5",
"nodebb-plugin-emoji": "4.0.6",
"nodebb-plugin-emoji-android": "3.0.0",
"nodebb-plugin-markdown": "10.1.1",
"nodebb-plugin-mentions": "3.0.12",
"nodebb-plugin-spam-be-gone": "1.0.2",
"nodebb-rewards-essentials": "0.2.1",
"nodebb-theme-lavender": "6.0.1",
"nodebb-theme-persona": "12.1.12",
"nodebb-theme-slick": "2.0.2",
"nodebb-theme-vanilla": "12.1.19",
"nodebb-widget-essentials": "6.0.1",
"nodemailer": "6.8.0",
"nodebb-plugin-2factor": "7.0.4",
"nodebb-plugin-composer-default": "10.0.42",
"nodebb-plugin-dbsearch": "6.0.0",
"nodebb-plugin-emoji": "5.0.5",
"nodebb-plugin-emoji-android": "4.0.0",
"nodebb-plugin-markdown": "12.0.2",
"nodebb-plugin-mentions": "4.0.4",
"nodebb-plugin-ntfy": "1.0.15",
"nodebb-plugin-spam-be-gone": "2.0.6",
"nodebb-rewards-essentials": "0.2.2",
"nodebb-theme-harmony": "1.0.0-beta.84",
"nodebb-theme-lavender": "7.0.9",
"nodebb-theme-peace": "2.0.19",
"nodebb-theme-persona": "13.0.53",
"nodebb-widget-essentials": "7.0.7",
"nodemailer": "6.9.1",
"nprogress": "0.2.0",
"passport": "0.6.0",
"passport-http-bearer": "1.0.1",
"passport-local": "1.0.0",
"pg": "8.8.0",
"pg-cursor": "2.7.4",
"postcss": "8.4.20",
"pg": "8.10.0",
"pg-cursor": "2.9.0",
"postcss": "8.4.21",
"postcss-clean": "1.2.0",
"progress-webpack-plugin": "1.0.16",
"prompt": "1.3.0",
"ioredis": "5.2.4",
"ioredis": "5.3.1",
"request": "2.88.2",
"request-promise-native": "1.0.9",
"rimraf": "3.0.2",
"rimraf": "4.4.1",
"rss": "1.2.2",
"sanitize-html": "2.8.1",
"rtlcss": "4.0.0",
"sanitize-html": "2.10.0",
"sass": "1.60.0",
"semver": "7.3.8",
"serve-favicon": "2.5.0",
"sharp": "0.31.3",
"sharp": "0.32.0",
"sitemap": "7.1.1",
"slideout": "1.0.1",
"socket.io": "4.5.4",
"socket.io-client": "4.5.4",
"@socket.io/redis-adapter": "8.0.0",
"socket.io": "4.6.1",
"socket.io-client": "4.6.1",
"@socket.io/redis-adapter": "8.1.0",
"sortablejs": "1.15.0",
"spdx-license-list": "6.6.0",
"spider-detector": "2.0.0",
"terser-webpack-plugin": "5.3.6",
"terser-webpack-plugin": "5.3.7",
"textcomplete": "0.18.2",
"textcomplete.contenteditable": "0.1.1",
"timeago": "1.6.7",
"tinycon": "0.6.8",
"toobusy-js": "0.5.1",
"uglify-es": "3.3.9",
"validator": "13.7.0",
"webpack": "5.75.0",
"validator": "13.9.0",
"webpack": "5.76.3",
"webpack-merge": "5.8.0",
"winston": "3.8.2",
"xml": "1.0.1",
"xregexp": "5.1.1",
"yargs": "17.6.2",
"yargs": "17.7.1",
"zxcvbn": "4.4.2"
},
"devDependencies": {
"@apidevtools/swagger-parser": "10.0.3",
"@commitlint/cli": "17.3.0",
"@commitlint/config-angular": "17.3.0",
"@apidevtools/swagger-parser": "10.1.0",
"@commitlint/cli": "17.5.0",
"@commitlint/config-angular": "17.4.4",
"coveralls": "3.1.1",
"eslint": "8.30.0",
"eslint": "8.36.0",
"eslint-config-nodebb": "0.2.1",
"eslint-plugin-import": "2.26.0",
"grunt": "1.5.3",
"eslint-plugin-import": "2.27.5",
"grunt": "1.6.1",
"grunt-contrib-watch": "1.1.0",
"husky": "8.0.2",
"jsdom": "20.0.3",
"lint-staged": "13.1.0",
"husky": "8.0.3",
"jsdom": "21.1.1",
"lint-staged": "13.2.0",
"mocha": "10.2.0",
"mocha-lcov-reporter": "1.3.0",
"mockdate": "3.0.5",
"nyc": "15.1.0",
"smtp-server": "3.11.0"
},
"optionalDependencies": {
"sass-embedded": "1.60.0"
},
"resolutions": {
"*/jquery": "3.6.3"
"*/jquery": "3.6.4"
},
"bugs": {
"url": "https://github.com/NodeBB/NodeBB/issues"
@@ -176,11 +182,6 @@
"node": ">=12"
},
"maintainers": [
{
"name": "Andrew Rodrigues",
"email": "andrew@nodebb.org",
"url": "https://github.com/psychobunny"
},
{
"name": "Julian Lam",
"email": "julian@nodebb.org",
@@ -192,4 +193,4 @@
"url": "https://github.com/barisusakli"
}
]
}
}

View File

@@ -6,7 +6,6 @@ const bodyParser = require('body-parser');
const fs = require('fs');
const path = require('path');
const childProcess = require('child_process');
const less = require('less');
const webpack = require('webpack');
const nconf = require('nconf');
@@ -14,6 +13,7 @@ const nconf = require('nconf');
const Benchpress = require('benchpressjs');
const mkdirp = require('mkdirp');
const { paths } = require('../src/constants');
const sass = require('../src/utils').getSass();
const app = express();
let server;
@@ -73,7 +73,7 @@ web.install = async function (port) {
try {
await Promise.all([
compileTemplate(),
compileLess(),
compileSass(),
runWebpack(),
copyCSS(),
loadDefaults(),
@@ -247,23 +247,28 @@ async function compileTemplate() {
]);
}
async function compileLess() {
async function compileSass() {
try {
const installSrc = path.join(__dirname, '../public/less/install.less');
const installSrc = path.join(__dirname, '../public/scss/install.scss');
const style = await fs.promises.readFile(installSrc);
const css = await less.render(String(style), { filename: path.resolve(installSrc) });
await fs.promises.writeFile(path.join(__dirname, '../public/installer.css'), css.css);
const scssOutput = sass.compileString(String(style), {
loadPaths: [
path.join(__dirname, '../public/scss'),
],
});
await fs.promises.writeFile(path.join(__dirname, '../public/installer.css'), scssOutput.css.toString());
} catch (err) {
winston.error(`Unable to compile LESS: \n${err.stack}`);
winston.error(`Unable to compile SASS: \n${err.stack}`);
throw err;
}
}
async function copyCSS() {
const src = await fs.promises.readFile(
path.join(__dirname, '../node_modules/bootstrap/dist/css/bootstrap.min.css'), 'utf8'
await fs.promises.copyFile(
path.join(__dirname, '../node_modules/bootstrap/dist/css/bootstrap.min.css'),
path.join(__dirname, '../public/bootstrap.min.css'),
);
await fs.promises.writeFile(path.join(__dirname, '../public/bootstrap.min.css'), src);
}
async function loadDefaults() {

View File

@@ -30,9 +30,7 @@ const output = logrotate({ file: outputLogFilePath, size: '1m', keep: 3, compres
const silent = nconf.get('silent') === 'false' ? false : nconf.get('silent') !== false;
let numProcs;
const workers = [];
const Loader = {
timesStarted: 0,
};
const Loader = {};
const appPath = path.join(__dirname, 'app.js');
Loader.init = function () {
@@ -57,21 +55,6 @@ Loader.displayStartupMessages = function () {
Loader.addWorkerEvents = function (worker) {
worker.on('exit', (code, signal) => {
if (code !== 0) {
if (Loader.timesStarted < numProcs * 3) {
Loader.timesStarted += 1;
if (Loader.crashTimer) {
clearTimeout(Loader.crashTimer);
}
Loader.crashTimer = setTimeout(() => {
Loader.timesStarted = 0;
}, 10000);
} else {
console.log(`${numProcs * 3} restarts in 10 seconds, most likely an error on startup. Halting.`);
process.exit();
}
}
console.log(`[cluster] Child Process (${worker.pid}) has exited (code: ${code}, signal: ${signal})`);
if (!(worker.suicide || code === 0)) {
console.log('[cluster] Spinning up another process...');

View File

@@ -4,8 +4,6 @@
"acp-title": "لوحة تحكم إدارة NodeBB | %1",
"settings-header-contents": "محتويات",
"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)"
"changes-not-saved": "لم يتم حفظ التغييرات",
"changes-not-saved-message": "حدثت مشكلة أثناء حفظ التغييرات في NodeBB. (%1)"
}

View File

@@ -1,8 +1,8 @@
{
"post-cache": "التخزين المؤقت للمشاركات",
"group-cache": "Group Cache",
"local-cache": "Local Cache",
"object-cache": "Object Cache",
"group-cache": "التخزين المؤقت للمجموعات",
"local-cache": "تخزين مؤقت محلي",
"object-cache": "تخزين مؤقت للأشياء",
"percent-full": "1% كاملة",
"post-cache-size": "حجم التخزين المؤقت للمشاركات",
"items-in-cache": "العناصر في التخزين المؤقت"

View File

@@ -1,52 +1,52 @@
{
"x-b": "%1 b",
"x-mb": "%1 mb",
"x-gb": "%1 gb",
"uptime-seconds": "Uptime in Seconds",
"uptime-days": "Uptime in Days",
"x-b": "٪1 بايت",
"x-mb": "٪1 ميقا بايت",
"x-gb": "٪1 قيقا بايت",
"uptime-seconds": "مدة التشغيل بالثواني",
"uptime-days": "مدة التشغيل بالأيام",
"mongo": "Mongo",
"mongo.version": "MongoDB Version",
"mongo.storage-engine": "Storage Engine",
"mongo.collections": "Collections",
"mongo.objects": "Objects",
"mongo.avg-object-size": "Avg. Object Size",
"mongo.data-size": "Data Size",
"mongo.storage-size": "Storage Size",
"mongo.index-size": "Index Size",
"mongo.file-size": "File Size",
"mongo.resident-memory": "Resident Memory",
"mongo.version": "اصدار MongoDB",
"mongo.storage-engine": "محرك التخزين",
"mongo.collections": "التجميعات",
"mongo.objects": "العناصر",
"mongo.avg-object-size": "معدل حجم العناصر",
"mongo.data-size": "حجم البيانات",
"mongo.storage-size": "حجم التخرين",
"mongo.index-size": "حجم الفهرس",
"mongo.file-size": "حجم الملف",
"mongo.resident-memory": "الذاكرة الساكنة",
"mongo.virtual-memory": "الذاكرة الإفتراضية",
"mongo.mapped-memory": "Mapped Memory",
"mongo.bytes-in": "Bytes In",
"mongo.bytes-out": "Bytes Out",
"mongo.num-requests": "Number of Requests",
"mongo.raw-info": "MongoDB Raw Info",
"mongo.unauthorized": "NodeBB was unable to query the MongoDB database for relevant statistics. Please ensure that the user in use by NodeBB contains the &quot;clusterMonitor&quot; role for the &quot;admin&quot; database.",
"mongo.mapped-memory": "الذاكرة المعينة",
"mongo.bytes-in": "البايتات الواردة",
"mongo.bytes-out": "البايتات الصادرة",
"mongo.num-requests": "عدد الطلبات",
"mongo.raw-info": "معلومات MongoDB الأولية",
"mongo.unauthorized": "لم يستطع NodeBB من الاستعلام عن احصاءات قواعد البيانات ل MongoDB. الرجاء التأكد من أن المستخدم في NodeBB يحتوي على دور &quot;clusterMonitor&quot; ال &quot;admin&quot; لقواعد البيانات.",
"redis": "Redis",
"redis.version": "Redis Version",
"redis.keys": "Keys",
"redis.expires": "Expires",
"redis.avg-ttl": "Average TTL",
"redis.connected-clients": "Connected Clients",
"redis.connected-slaves": "Connected Slaves",
"redis.blocked-clients": "Blocked Clients",
"redis.version": "إصدار Redis",
"redis.keys": "المفاتيح",
"redis.expires": "ينتهي ",
"redis.avg-ttl": "متوسط وقت الانعاش",
"redis.connected-clients": "العميل المتصل",
"redis.connected-slaves": "البدلاء المتصلين",
"redis.blocked-clients": "العملاء المحظورون",
"redis.used-memory": "الذاكرة المستخدمة",
"redis.memory-frag-ratio": "Memory Fragmentation Ratio",
"redis.memory-frag-ratio": "نسبة تجزئة الذاكرة",
"redis.total-connections-recieved": "إجمالي الاتصالات المستلمة",
"redis.total-commands-processed": "إجمالي الأوامر التي تمت معالجتها",
"redis.iops": "Instantaneous Ops. Per Second",
"redis.iinput": "Instantaneous Input Per Second",
"redis.ioutput": "Instantaneous Output Per Second",
"redis.total-input": "Total Input",
"redis.total-output": "Total Ouput",
"redis.iops": "العمليات اللحظية في الثانية",
"redis.iinput": "الإدخال الفوري في الثانية",
"redis.ioutput": "المخرجات الفورية في الثانية",
"redis.total-input": "مجموع المدخلات",
"redis.total-output": "مجموع المخرجات",
"redis.keyspace-hits": "Keyspace Hits",
"redis.keyspace-misses": "Keyspace Misses",
"redis.raw-info": "Redis Raw Info",
"redis.keyspace-hits": "المفاتيح المضغوطة",
"redis.keyspace-misses": "المفاتيح المخفقة",
"redis.raw-info": "معلومات Redis الأولية",
"postgres": "Postgres",
"postgres.version": "PostgreSQL Version",
"postgres.raw-info": "Postgres Raw Info"
"postgres.version": "إصدار PostgreSQL",
"postgres.raw-info": "معلومات Postgres الأولية"
}

View File

@@ -3,7 +3,7 @@
"no-events": "لا توجد أحداث",
"control-panel": "لوحة تحكم الأحداث",
"delete-events": "حذف الاحداث",
"confirm-delete-all-events": "Are you sure you want to delete all logged events?",
"confirm-delete-all-events": "هل أنت متاكد أنك تريد حذف كل سجل اﻻحداث؟",
"filters": "تصفية",
"filters-apply": "تطبيق التصفية",
"filter-type": "نوع الحدث",

View File

@@ -1,14 +1,14 @@
{
"custom-css": "Custom CSS/LESS",
"custom-css.description": "Enter your own CSS/LESS declarations here, which will be applied after all other styles.",
"custom-css.enable": "Enable Custom CSS/LESS",
"custom-css": "Custom CSS/SASS",
"custom-css.description": "Enter your own CSS/SASS declarations here, which will be applied after all other styles.",
"custom-css.enable": "Enable Custom CSS/SASS",
"custom-js": "Javascript مخصصة",
"custom-js.description": "أدخل Javascript الخاص بك هنا. سيتم تنفيذها بعد تحميل الصفحة بالكامل.",
"custom-js.enable": "تفعيل Javascript المخصصة",
"custom-header": "ترويسة مخصصة",
"custom-header.description": "Enter custom HTML here (ex. Meta Tags, etc.), which will be appended to the <code>&lt;head&gt;</code> section of your forum's markup. Script tags are allowed, but are discouraged, as the <a href=\"#custom-js\" data-toggle=\"tab\">Custom Javascript</a> tab is available.",
"custom-header.description": "أدخل وسوم HTML المخصصة هنا (مثل: Meta Tags, وغيرها)، والتي سيتم تضمينها لجزئية <code>&lt;head&gt;</code> من ترميز المنتدى. يُسمح بعلامات البرمجة النصية، ولكن لا يُنصح بها ، نظرًا لأن علامة التبويب <a href=\"#custom-js\" data-toggle=\"tab\"> Custom Javascript </a> متاحة.",
"custom-header.enable": "تفعيل الترويسة المخصصة",
"custom-css.livereload": "تفعيل إعادة التحميل المباشرة",

View File

@@ -7,5 +7,5 @@
"revert-confirm": "هل أنت متأكد من أنك ترغب في استعادة قااب NodeBB الافتراضي؟",
"theme-changed": "تم تغيير القالب",
"revert-success": "لقد قمت بنجاح بإستعادة القالب الأساسي لـNodeBB",
"restart-to-activate": "Please rebuild and restart your NodeBB to fully activate this theme."
"restart-to-activate": "يرجى إعادة بناء وإعادة تشغيل NodeBB لتنشيط هذا الثيم."
}

View File

@@ -1,9 +1,9 @@
{
"forum-traffic": "Forum Traffic",
"forum-traffic": "حركة المنتدى",
"page-views": "مشاهدات الصفحات",
"unique-visitors": "زائرين فريدين",
"logins": "Logins",
"new-users": "New Users",
"logins": "عمليات تسجيل الدخول",
"new-users": "مستخدم جديد",
"posts": "مشاركات",
"topics": "مواضيع",
"page-views-seven": "آخر 7 ايام",
@@ -15,24 +15,24 @@
"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.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 يعمل على احدث إصدار للحصول على أحدث التصحيحات الأمنية وإصلاحات الأخطاء.",
"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>",
"upgrade-available": "<p> هناك إصدار جديد برقم (v%1). خذ بعين الاعتبار <a href=\"https://docs.nodebb.org/configuring/upgrade/\" target=\"_blank\"> ترقية NodeBB </a>.</p>",
"prerelease-upgrade-available": "<p>هذا إصدار منتهي من الاصدارات المسبقة من NodeBB. هناك إصدار جديد برقم (v٪ 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>",
"fallback-emailer-not-found": "Fallback emailer not found!",
"fallback-emailer-not-found": "مرسل البريد الإلكتروني الاحتياطي غير موجود!",
"running-in-development": "المنتدى قيد التشغيل في وضع \"المطورين\". وقد تكون هناك ثغرات أمنية مفتوحة؛ من فضلك تواصل مع مسؤول نظامك.",
"latest-lookup-failed": "<p>Failed to look up latest available version of NodeBB</p>",
"latest-lookup-failed": "<p>فشل البحث عن أحدث إصدار متوفر من NodeBB</p>",
"notices": "إشعارات",
"restart-not-required": "إعادة التشغيل غير مطلوب",
@@ -42,10 +42,10 @@
"search-plugin-tooltip": "نصب إضافة البحث من صفحة الإضافات البرمجية لتنشيط وظيفة البحث",
"control-panel": "التحكم بالنظام",
"rebuild-and-restart": "Rebuild &amp; 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.",
"rebuild-and-restart": "أعد البناء &amp; وأعد التشغيل",
"restart": "أعد التشغيل",
"restart-warning": "ستؤدي إعادة بناء أو إعادة تشغيل NodeBB إلى إنقطاع الاتصال بالمنتدى لبضع ثوان.",
"restart-disabled": "تم تعطيل إعادة بناء NodeBB وإعادة تشغيله حيث لا يبدو أنك تقوم بتشغيله عبر البرنامج الخفي المناسب.",
"maintenance-mode": "وضع الصيانة",
"maintenance-mode-title": "انقر هنا لإعداد وضع الصيانة لـNodeBB",
"realtime-chart-updates": "التحديث الفوري للرسم البياني",
@@ -54,10 +54,10 @@
"active-users.users": "الأعضاء",
"active-users.guests": "الزوار",
"active-users.total": "المجموع",
"active-users.connections": "Connections",
"active-users.connections": "روابط الاتصال",
"guest-registered-users": "Guest vs Registered Users",
"guest": "Guest",
"guest-registered-users": "الزائر مقابل المستخدمين المسجلين",
"guest": "الزائر",
"registered": "مسجل",
"user-presence": "تواجد المستخدمين",
@@ -68,23 +68,26 @@
"unread": "غير مقروء",
"high-presence-topics": "مواضيع ذات حضور قوي",
"popular-searches": "Popular Searches",
"popular-searches": "عمليات البحث الشائعة",
"graphs.page-views": "مشاهدات الصفحة",
"graphs.page-views-registered": "Page Views Registered",
"graphs.page-views-guest": "Page Views Guest",
"graphs.page-views-bot": "Page Views Bot",
"graphs.page-views-registered": "زيارات الصفحات المسجلة",
"graphs.page-views-guest": "زيارات الصفحات للزوار",
"graphs.page-views-bot": "زيارات الصفحات الآلية",
"graphs.unique-visitors": "زوار فريدين",
"graphs.registered-users": "مستخدمين مسجلين",
"graphs.guest-users": "Guest Users",
"last-restarted-by": "Last restarted by",
"no-users-browsing": "No users browsing",
"graphs.guest-users": "المستخدمين الزوار",
"last-restarted-by": "آخر إعادة تشغيل بواسطة",
"no-users-browsing": "لا يوجد مستخدمين يتصفحون",
"back-to-dashboard": "Back to Dashboard",
"details.no-users": "No users have joined within the selected timeframe",
"details.no-topics": "No topics have been posted within the selected timeframe",
"details.no-searches": "No searches have been made yet",
"details.no-logins": "No logins have been recorded within the selected timeframe",
"details.logins-static": "NodeBB only saves session data for %1 days, and so this table below will only show the most recently active sessions",
"details.logins-login-time": "Login Time"
"back-to-dashboard": "العودة للوحة التحكم",
"details.no-users": "لم ينضم أي مستخدم خلال الإطار الزمني المحدد",
"details.no-topics": "لم يتم نشر أي مواضيع خلال الإطار الزمني المحدد",
"details.no-searches": "لم يتم إجراء أي بحث خلال الإطار الزمني المحدد",
"details.no-logins": "لم يوثق أي تسجيل دخول خلال الإطار الزمني المحدد",
"details.logins-static": "يقوم NodeBB بحفظ بيانات الجلسة لمدة ٪1 يوم/أيام فقط، ولذا فإن هذا الجدول أدناه سيعرض فقط أحدث الجلسات النشطة",
"details.logins-login-time": "وقت تسجيل الدخول",
"start": "بدء",
"end": "إنهاء",
"filter": "تصفية"
}

View File

@@ -1,8 +1,8 @@
{
"you-are-on": "You are on <strong>%1:%2</strong>",
"ip": "IP <strong>%1</strong>",
"nodes-responded": "%1 nodes responded within %2ms!",
"host": "host",
"you-are-on": "أنت في <strong> %1:%2 </strong>",
"ip": "رقم الآي بي <strong> %1 </strong>",
"nodes-responded": "عدد %1 نقطة/نقاط استجابوا خلال %2 جزء من الثانية.",
"host": "المضيف",
"primary": "primary / run jobs",
"pid": "pid",
"nodejs": "nodejs",

View File

@@ -1,12 +1,12 @@
{
"logger-settings": "Logger Settings",
"description": "By enabling the check boxes, you will receive logs to your terminal. If you specify a path, logs will then be saved to a file instead. HTTP logging is useful for collecting statistics about who, when, and what people access on your forum. In addition to logging HTTP requests, we can also log socket.io events. Socket.io logging, in combination with redis-cli monitor, can be very helpful for learning NodeBB's internals.",
"explanation": "Simply check/uncheck the logging settings to enable or disable logging on the fly. No restart needed.",
"enable-http": "Enable HTTP logging",
"enable-socket": "Enable socket.io event logging",
"file-path": "Path to log file",
"file-path-placeholder": "/path/to/log/file.log ::: leave blank to log to your terminal",
"logger-settings": "إعدادات المسجِّل",
"description": "من خلال تمكين مربعات الاختيار ، ستتلقى سجلات إلى جهازك الطرفي. إذا حددت مسارًا ، فسيتم بعد ذلك حفظ السجلات في ملف بدلاً من ذلك. يعد تسجيل HTTP مفيدًا لجمع الإحصائيات حول من ومتى وماذا يصل الأشخاص في المنتدى. بالإضافة إلى تسجيل طلبات HTTP ، يمكننا أيضًا تسجيل أحداث socket.io. يمكن أن يكون تسجيل Socket.io ، جنبًا إلى جنب مع شاشة redis-cli ، مفيدًا جدًا في تعلم العناصر الداخلية لـ NodeBB.",
"explanation": "ما عليك سوى تحديدأو/ إلغاء تحديد إعدادات التسجيل لتمكين أو تعطيل التسجيل أثناء التنقل. لا حاجة لإعادة التشغيل.",
"enable-http": "تمكين سجلات HTTP",
"enable-socket": "تفعيل تسجيل أحداث socket.io",
"file-path": "مسار ملف السجل",
"file-path-placeholder": "/path/to/log/file.log ::: اتركه فارغا لاظهار السجلات لنافذة الطرفية",
"control-panel": "Logger Control Panel",
"update-settings": "Update Logger Settings"
"control-panel": "لوحة تحكم المسجل",
"update-settings": "تحديث إعدادات المسجل"
}

View File

@@ -1,15 +1,15 @@
{
"rewards": "Rewards",
"condition-if-users": "If User's",
"condition-is": "Is:",
"condition-then": "Then:",
"max-claims": "Amount of times reward is claimable",
"zero-infinite": "Enter 0 for infinite",
"delete": "Delete",
"enable": "Enable",
"disable": "Disable",
"rewards": "المكافآت",
"condition-if-users": "إذا كان للمستخدم",
"condition-is": "يكون: ",
"condition-then": "عندئذ:",
"max-claims": "عدد المرات التي يمكن فيها المطالبة بالمكافأة",
"zero-infinite": "أدخل 0 للقيمة اللانهائية",
"delete": "احذف",
"enable": "مكّن",
"disable": "عطّل",
"alert.delete-success": "Successfully deleted reward",
"alert.no-inputs-found": "Illegal reward - no inputs found!",
"alert.save-success": "Successfully saved rewards"
"alert.delete-success": "المكافآت المحذوفة بنجاح",
"alert.no-inputs-found": "مكافأة غير قانونية - لم يتم العثور على مدخلات!",
"alert.save-success": "المكافآت المحفوظة بنجاح"
}

View File

@@ -8,9 +8,9 @@
"containers.none": "None",
"container.well": "Well",
"container.jumbotron": "Jumbotron",
"container.panel": "Panel",
"container.panel-header": "Panel Header",
"container.panel-body": "Panel Body",
"container.card": "Card",
"container.card-header": "Card Header",
"container.card-body": "Card Body",
"container.alert": "Alert",
"alert.confirm-delete": "Are you sure you wish to delete this widget?",

View File

@@ -39,6 +39,5 @@
"revert": "Revert",
"edit.no-users-found": "No Users Found",
"edit.confirm-remove-user": "Are you sure you want to remove this user?",
"edit.save-success": "Changes saved!"
"edit.confirm-remove-user": "Are you sure you want to remove this user?"
}

View File

@@ -49,7 +49,6 @@
"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-admins-mods": "<strong>Are you sure you wish to grant the &quot;Admins &amp; Mods&quot; privilege to this user/group?</strong> Users with this privilege are able to promote and demote other users into privileged positions, <em>including super administrator</em>",
"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 set of <strong>%1</strong> to <strong>all categories</strong>?",

View File

@@ -1,20 +1,20 @@
{
"queue": "Queue",
"queue": "الطابور",
"description": "There are no users in the registration queue. <br> To enable this feature, go to <a href=\"%1\">Settings &rarr; User &rarr; User Registration</a> and set <strong>Registration Type</strong> to \"Admin Approval\".",
"list.name": "Name",
"list.email": "Email",
"list.name": "اﻹسم",
"list.email": "البريد الإلكتروني",
"list.ip": "IP",
"list.time": "Time",
"list.time": "التوقيت",
"list.username-spam": "Frequency: %1 Appears: %2 Confidence: %3",
"list.email-spam": "Frequency: %1 Appears: %2",
"list.ip-spam": "Frequency: %1 Appears: %2",
"invitations": "Invitations",
"invitations": "الدعوات",
"invitations.description": "Below is a complete list of invitations sent. Use ctrl-f to search through the list by email or username. <br><br>The username will be displayed to the right of the emails for users who have redeemed their invitations.",
"invitations.inviter-username": "Inviter Username",
"invitations.invitee-email": "Invitee Email",
"invitations.invitee-username": "Invitee Username (if registered)",
"invitations.inviter-username": "أسم المستخدم الداعي",
"invitations.invitee-email": "البريد اﻻلكتروني للمدعو",
"invitations.invitee-username": "اسم المستخم للمدعو (اذا كان مسجل)",
"invitations.confirm-delete": "Are you sure you wish to delete this invitation?"
"invitations.confirm-delete": "هل أنت متأكد من أنك تريد حذف هذه الدعوة؟"
}

View File

@@ -11,6 +11,9 @@
"uid": "User ID",
"uid-help-text": "Specify a User ID to associate with this token. If the user ID is <code>0</code>, it will be considered a <em>master</em> token, which can assume the identity of other users based on the <code>_uid</code> parameter",
"description": "Description",
"last-seen-ago": "Last used <span class=\"timeago\" title=\"%1\"></span>.",
"last-seen-on": "Last used on <span class=\"timeago\" title=\"%1\"></span>.",
"last-seen-never": "This key has never been used.",
"no-description": "No description specified.",
"token-on-save": "Token will be generated once form is saved"
}

View File

@@ -12,7 +12,7 @@
"groups": "Groups:",
"open-new-window": "Open in a new window",
"dropdown": "Dropdown",
"dropdown-placeholder": "Place your dropdown menu items below, ie: <br/>&lt;li&gt;&lt;a href&#x3D;&quot;https://myforum.com&quot;&gt;Link 1&lt;/a&gt;&lt;/li&gt;",
"dropdown-placeholder": "Place your dropdown menu items below, ie: <br/>&lt;li&gt;&lt;a class=&quot;dropdown-item&quot; href&#x3D;&quot;https://myforum.com&quot;&gt;Link 1&lt;/a&gt;&lt;/li&gt;",
"btn.delete": "Delete",
"btn.disable": "Disable",

View File

@@ -29,6 +29,8 @@
"session-time-days": "Days",
"session-time-seconds": "Seconds",
"session-time-help": "These values are used to govern how long a user stays logged in when they check &quot;Remember Me&quot; on login. Note that only one of these values will be used. If there is no <i>seconds</i> value we fall back to <i>days</i>. If there is no <i>days</i> value we default to <i>14 days</i>.",
"session-duration": "Session length if \"Remember Me\" is not checked (seconds)",
"session-duration-help": "By default — or if set to <code>0</code> — a user will stay logged in for the duration of the session (e.g. however long the browser window/tab remains open). Set this value to explicitly invalidate the session after the specified number of seconds.",
"online-cutoff": "Minutes after user is considered inactive",
"online-cutoff-help": "If user performs no actions for this duration, they are considered inactive and they do not receive realtime updates.",
"registration": "تسجيل المستخدم",

View File

@@ -62,6 +62,7 @@
"no-user": "اسم مستخدم غير موجود",
"no-teaser": "مقتطف غير موجود",
"no-flag": "Flag does not exist",
"no-chat-room": "Chat room does not exist",
"no-privileges": "لاتملك الصلاحيات اللازمة للقيام بهذه العملية",
"category-disabled": "قائمة معطلة",
"topic-locked": "الموضوع مقفول",
@@ -88,6 +89,7 @@
"category-not-selected": "Category not selected.",
"too-many-posts": "يسمح لك بالنشر مرة كل %1 ثانية - يرجى الإنتظار قبل النشر مجدداً",
"too-many-posts-newbie": "As a new user, you can only post once every %1 second(s) until you have earned %2 reputation - please wait before posting again",
"already-posting": "You are already posting",
"tag-too-short": "Please enter a longer tag. Tags should contain at least %1 character(s)",
"tag-too-long": "Please enter a shorter tag. Tags can't be longer than %1 character(s)",
"not-enough-tags": "Not enough tags. Topics must have at least %1 tag(s)",
@@ -155,6 +157,9 @@
"chat-deleted-already": "This chat message has already been deleted.",
"chat-restored-already": "This chat message has already been restored.",
"chat-room-does-not-exist": "Chat room does not exist.",
"cant-add-users-to-chat-room": "Can't add users to chat room.",
"cant-remove-users-from-chat-room": "Can't remove users from chat room.",
"chat-room-name-too-long": "Chat room name too long.",
"already-voting-for-this-post": "لقد شاركت بالتصويت ، ألا تذكر؟",
"reputation-system-disabled": "نظام السمعة معطل",
"downvoting-disabled": "التصويتات السلبية معطلة",
@@ -219,5 +224,6 @@
"api.429": "You have made too many requests, please try again later",
"api.500": "An unexpected error was encountered while attempting to service your request.",
"api.501": "The route you are trying to call is not implemented yet, please try again tomorrow",
"api.503": "The route you are trying to call is not currently available due to a server configuration"
"api.503": "The route you are trying to call is not currently available due to a server configuration",
"api.reauth-required": "The resource you are trying to access requires (re-)authentication."
}

View File

@@ -3,25 +3,27 @@
"reports": "Reports",
"first-reported": "First Reported",
"no-flags": "Hooray! No flags found.",
"x-flags-found": "%1 flag(s) found.",
"assignee": "المحال إليه",
"update": "تحديث",
"updated": "تم التحديث",
"resolved": "Resolved",
"target-purged": "The content this flag referred to has been purged and is no longer available.",
"target-aboutme-empty": "This user has no &quot;About Me&quot; set.",
"graph-label": "Daily Flags",
"quick-filters": "Quick Filters",
"filter-active": "There are one or more filters active in this list of flags",
"filter-reset": "ازالة الفلاتر",
"filters": "خيارات الفلتر",
"filter-reporterId": "Reporter UID",
"filter-targetUid": "Flagged UID",
"filter-reporterId": "Reporter",
"filter-targetUid": "Reportee",
"filter-type": "عنوان العلامة",
"filter-type-all": "كل المحتوي",
"filter-type-post": "مشاركة",
"filter-type-user": "مستخدم",
"filter-state": "الحالة",
"filter-assignee": "Assignee UID",
"filter-assignee": "Assignee",
"filter-cid": "Category",
"filter-quick-mine": "Assigned to me",
"filter-cid-all": "All categories",
@@ -45,6 +47,7 @@
"notes": "Flag Notes",
"add-note": "اضافة ملاحظة",
"edit-note": "Edit Note",
"no-notes": "No shared notes.",
"delete-note-confirm": "Are you sure you want to delete this flag note?",
"delete-flag-confirm": "Are you sure you want to delete this flag?",

View File

@@ -37,9 +37,13 @@
"header.notifications": "التنبيهات",
"header.search": "بحث",
"header.profile": "ملف",
"header.account": "Account",
"header.navigation": "الاستكشاف",
"header.manage": "Manage",
"header.drafts": "Drafts",
"notifications.loading": "تحميل التنبيهات",
"chats.loading": "تحميل الدردشات",
"drafts.loading": "Loading Drafts",
"motd.welcome": "مرحبا بكم في NodeBB، منصة المناقشة المستقبلية.",
"previouspage": "الصفحة السابقة",
"nextpage": "الصفحة التالية",
@@ -54,7 +58,8 @@
"users": "الأعضاء",
"topics": "المواضيع",
"posts": "المشاركات",
"x-posts": "%1 posts",
"x-posts": "<span class=\"formatted-number\">%1</span> posts",
"x-topics": "<span class=\"formatted-number\">%1</span> topics",
"best": "الأفضل",
"controversial": "Controversial",
"votes": "Votes",
@@ -69,6 +74,7 @@
"reputation": "السمعة",
"lastpost": "Last post",
"firstpost": "First post",
"about": "About",
"read_more": "اقرأ المزيد",
"more": "المزيد",
"none": "None",
@@ -82,11 +88,13 @@
"user_posted_ago": "%1 كتب %2",
"guest_posted_ago": "كتب زائر %1",
"last_edited_by": "اخر تحرير بواسطة 1%",
"edited-timestamp": "Edited %1",
"norecentposts": "لاوجود لمشاركات جديدة",
"norecenttopics": "لاوجود لمواضيع جديدة",
"recentposts": "آخر المشاركات",
"recentips": "آخر عناوين ال IP التي سجلت الدخول",
"moderator_tools": "أدوات المشرف",
"status": "Status",
"online": "المتواجدون حاليًّا",
"away": "غير متواجد",
"dnd": "عدم الإزعاج",
@@ -122,5 +130,7 @@
"edited": "حُرِر",
"disabled": "معطل",
"select": "تحديد",
"user-search-prompt": "Type something here to find users..."
"user-search-prompt": "Type something here to find users...",
"hidden": "Hidden",
"sort": "Sort"
}

View File

@@ -1,5 +1,6 @@
{
"groups": "المجموعات",
"members": "Members",
"view_group": "معاينة المجموعة",
"owner": "مالك المجموعة",
"new_group": "أنشئ مجموعة جديدة",

View File

@@ -1,7 +1,11 @@
{
"chat.chatting_with": "Chat with",
"chat.placeholder": "Type chat message here, drag & drop images, press enter to send",
"chat.placeholder.mobile": "Type chat message here",
"chat.scroll-up-alert": "You are looking at older messages, click here to go to most recent message.",
"chat.usernames-and-x-others": "%1 & %2 others",
"chat.chat-with-usernames": "Chat with %1",
"chat.chat-with-usernames-and-x-others": "Chat with %1 & %2 others",
"chat.send": "أرسل",
"chat.no_active": "لا يوجد لديك دردشات نشطة.",
"chat.user_typing": "%1 يكتب رسالة...",
@@ -42,6 +46,7 @@
"composer.compose": "اكتب",
"composer.show_preview": "عرض المعاينة",
"composer.hide_preview": "إخفاء المعاينة",
"composer.help": "Help",
"composer.user_said_in": "%1 كتب في %2",
"composer.user_said": "%1 كتب:",
"composer.discard": "هل أنت متأكد أنك تريد التخلي عن التغييرات؟",
@@ -65,6 +70,9 @@
"composer.schedule-time": "Time",
"composer.cancel-scheduling": "Cancel Scheduling",
"composer.set-schedule-date": "Set Date",
"composer.discard-all-drafts": "Discard all drafts",
"composer.no-drafts": "You have no drafts",
"composer.discard-draft-confirm": "Do you want to discard this draft?",
"bootbox.ok": "OK",
"bootbox.cancel": "إلغاء",
"bootbox.confirm": "تأكيد",

View File

@@ -49,6 +49,7 @@
"account/watched_categories": "%1's Watched Categories",
"account/bookmarks": "%1's Bookmarked Posts",
"account/settings": "خيارات المستخدم",
"account/settings-of": "Changing settings of %1",
"account/watched": "Topics watched by %1",
"account/ignored": "Topics ignored by %1",
"account/upvoted": "Posts upvoted by %1",

View File

@@ -1,8 +1,12 @@
{
"post-queue": "Post Queue",
"description": "There are no posts in the post queue. <br> To enable this feature, go to <a href=\"%1\">Settings &rarr; Post &rarr; Post Queue</a> and enable <strong>Post Queue</strong>.",
"no-queued-posts": "There are no posts in the post queue.",
"no-single-post": "The topic or post you are looking for is no longer in the queue. It has likely been approved or deleted already.",
"enabling-help": "To enable this feature, go to <a href=\"%1\">Settings &rarr; Post &rarr; Post Queue</a> and enable <strong>Post Queue</strong>.",
"back-to-list": "Back to Post Queue",
"user": "User",
"when": "When",
"category": "Category",
"title": "Title",
"content": "Content",
@@ -19,6 +23,7 @@
"notify": "Notify",
"notify-user": "Notify User",
"confirm-reject": "Do you want to reject this post?",
"confirm-remove": "Do you want to remove this post?",
"bulk-actions": "Bulk Actions",
"accept-all": "Accept All",
"accept-selected": "Accept Selected",
@@ -26,6 +31,10 @@
"reject-all-confirm": "Do you want to reject all posts?",
"reject-selected": "Reject Selected",
"reject-selected-confirm": "Do you want to reject %1 selected posts?",
"remove-all": "Remove all",
"remove-all-confirm": "Do you want to remove all posts?",
"remove-selected": "Remove Selected",
"remove-selected-confirm": "Do you want to remove %1 selected posts?",
"bulk-accept-success": "%1 posts accepted",
"bulk-reject-success": "%1 posts rejected"
}

View File

@@ -1,5 +1,6 @@
{
"register": "تسجيل",
"already-have-account": "Already have an account?",
"cancel_registration": "إلغاء التسجيل",
"help.email": "افتراضيا، سيتم إخفاء بريدك الإلكتروني من العامة.",
"help.username_restrictions": "اسم مستخدم فريدة من نوعها بين 1% و 2% حرفا. بإمكان الآخرين مناداتك بـ @<span id='yourUsername'>اسم المستخدم</span>.",

View File

@@ -1,21 +1,41 @@
{
"type-to-search": "Type to search",
"results_matching": "%1 نتيجة (نتائج) موافقة لـ \"%2\", (%3 ثواني)",
"no-matches": "لم يتم العثور على نتائج.",
"advanced-search": "بحث متقدم",
"in": "في",
"titles": "العناوين",
"titles-posts": "العناوين والمشاركات",
"in-titles": "In titles",
"in-titles-posts": "In titles and posts",
"in-posts": "In posts",
"in-categories": "In categories",
"in-users": "In users",
"in-tags": "In tags",
"categories": "Categories",
"all-categories": "All categories",
"categories-x": "Categories: %1",
"categories-watched-categories": "Categories: Watched categories",
"type-a-category": "Type a category",
"tags": "Tags",
"tags-x": "Tags: %1",
"type-a-tag": "Type a tag",
"match-words": "Match words",
"match-all-words": "Match all words",
"match-any-word": "Match any word",
"all": "All",
"any": "Any",
"posted-by": "مشاركة من طرف",
"in-categories": "في الفئات",
"posted-by-usernames": "Posted by: %1",
"type-a-username": "Type a username",
"search-child-categories": "بحث في الفئات الفرعية",
"has-tags": "Has tags",
"reply-count": "عدد المشاركات",
"replies": "Replies",
"replies-atleast-count": "Replies: At least %1",
"replies-atmost-count": "Replies: At most %1",
"at-least": "على اﻷقل",
"at-most": "على اﻷكثر",
"relevance": "Relevance",
"time": "Time",
"post-time": "تاريخ المشاركة",
"votes": "Votes",
"newer-than": "أحدث من",
@@ -28,7 +48,22 @@
"three-months": "ثلاثة أشهر",
"six-months": "ستة أشهر",
"one-year": "عام",
"time-newer-than-86400": "Time: Newer than yesterday",
"time-older-than-86400": "Time: Older than yesterday",
"time-newer-than-604800": "Time: Newer than one week",
"time-older-than-604800": "Time: Older than one week",
"time-newer-than-1209600": "Time: Newer than two weeks",
"time-older-than-1209600": "Time: Older than two weeks",
"time-newer-than-2592000": "Time: Newer than one month",
"time-older-than-2592000": "Time: Older than one month",
"time-newer-than-7776000": "Time: Newer than three months",
"time-older-than-7776000": "Time: Older than three months",
"time-newer-than-15552000": "Time: Newer than six months",
"time-older-than-15552000": "Time: Older than six months",
"time-newer-than-31104000": "Time: Newer than one year",
"time-older-than-31104000": "Time: Older than one year",
"sort-by": "عرض حسب",
"sort": "Sort",
"last-reply-time": "تاريخ آخر رد",
"topic-title": "عنوان الموضوع",
"topic-votes": "Topic votes",
@@ -39,11 +74,36 @@
"category": "فئة",
"descending": "في ترتيب تنازلي",
"ascending": "في ترتيب تصاعدي",
"sort-by-relevance-desc": "Sort by: Relevance in descending order",
"sort-by-relevance-asc": "Sort by: Relevance in ascending order",
"sort-by-timestamp-desc": "Sort by: Post time in descending order",
"sort-by-timestamp-asc": "Sort by: Post time in ascending order",
"sort-by-votes-desc": "Sort by: Votes in descending order",
"sort-by-votes-asc": "Sort by: Votes in ascending order",
"sort-by-topic.lastposttime-desc": "Sort by: Last reply time in descending order",
"sort-by-topic.lastposttime-asc": "Sort by: Last reply time in ascending order",
"sort-by-topic.title-desc": "Sort by: Topic title in descending order",
"sort-by-topic.title-asc": "Sort by: Topic title in ascending order",
"sort-by-topic.postcount-desc": "Sort by: Number of replies in descending order",
"sort-by-topic.postcount-asc": "Sort by: Number of replies in ascending order",
"sort-by-topic.viewcount-desc": "Sort by: Number of views in descending order",
"sort-by-topic.viewcount-asc": "Sort by: Number of views in ascending order",
"sort-by-topic.votes-desc": "Sort by: Topic votes in descending order",
"sort-by-topic.votes-asc": "Sort by: Topic votes in ascending order",
"sort-by-topic.timestamp-desc": "Sort by: Topic start date in descending order",
"sort-by-topic.timestamp-asc": "Sort by: Topic start date in ascending order",
"sort-by-user.username-desc": "Sort by: Username in descending order",
"sort-by-user.username-asc": "Sort by: Username in ascending order",
"sort-by-category.name-desc": "Sort by: Category in descending order",
"sort-by-category.name-asc": "Sort by: Category in ascending order",
"save": "Save",
"save-preferences": "حفظ التفضيلات",
"clear-preferences": "ازالة التفضيلات",
"search-preferences-saved": "تم حفظ تفضيلات البحث",
"search-preferences-cleared": "تم ازالة تفضيلات البحث",
"show-results-as": "عرض النتائج كـ",
"show-results-as-topics": "Show results as topics",
"show-results-as-posts": "Show results as posts",
"see-more-results": "See more results (%1)",
"search-in-category": "Search in \"%1\""
}

View File

@@ -1,5 +1,7 @@
{
"all-tags": "All tags",
"no_tag_topics": "لا يوجد مواضيع بهذه الكلمة الدلالية.",
"no-tags-found": "No tags found",
"tags": "الكلمات الدلالية",
"enter_tags_here": "Enter tags here, between %1 and %2 characters each.",
"enter_tags_here_short": "أدخل الكلمات الدلالية...",

View File

@@ -39,16 +39,30 @@
"copy-ip": "Copy IP",
"ban-ip": "Ban IP",
"view-history": "Edit History",
"locked-by": "Locked by",
"unlocked-by": "Unlocked by",
"pinned-by": "Pinned by",
"unpinned-by": "Unpinned by",
"deleted-by": "Deleted by",
"restored-by": "Restored by",
"moved-from-by": "Moved from %1 by",
"queued-by": "Post queued for approval &rarr;",
"backlink": "Referenced by",
"forked-by": "Forked by",
"wrote-ago": "wrote <a href=\"%1\" class=\"timeago text-muted\" title=\"%2\"></a>",
"wrote-on": "wrote on <a href=\"%1\" class=\"timeago text-muted\" title=\"%2\"></a>",
"replied-to-user-ago": "replied to <a component=\"post/parent\" data-topid=\"%1\" href=\"%2\">%3</a> <a href=\"%4\" class=\"timeago text-muted\" title=\"%5\"></a>",
"replied-to-user-on": "replied to <a component=\"post/parent\" data-topid=\"%1\" href=\"%2\">%3</a> on <a hrf=\"%4\" class=\"timeago text-muted\" title=\"%5\"></a>",
"user-locked-topic-ago": "%1 locked this topic %2",
"user-locked-topic-on": "%1 locked this topic on %2",
"user-unlocked-topic-ago": "%1 unlocked this topic %2",
"user-unlocked-topic-on": "%1 unlocked this topic on %2",
"user-pinned-topic-ago": "%1 pinned this topic %2",
"user-pinned-topic-on": "%1 pinned this topic on %2",
"user-unpinned-topic-ago": "%1 unpinned this topic %2",
"user-unpinned-topic-on": "%1 unpinned this topic on %2",
"user-deleted-topic-ago": "%1 deleted this topic %2",
"user-deleted-topic-on": "%1 deleted this topic on %2",
"user-restored-topic-ago": "%1 restored this topic %2",
"user-restored-topic-on": "%1 restored this topic on %2",
"user-moved-topic-from-ago": "%1 moved this topic from %2 %3",
"user-moved-topic-from-on": "%1 moved this topic from %2 on %3",
"user-queued-post-ago": "%1 <a href=\"%2\">queued</a> post for approval %3",
"user-queued-post-on": "%1 <a href=\"%2\">queued</a> post for approval on %3",
"user-referenced-topic-ago": "%1 <a href=\"%2\">referenced</a> this topic %3",
"user-referenced-topic-on": "%1 <a href=\"%2\">referenced</a> this topic on %3",
"user-forked-topic-ago": "%1 <a href=\"%2\">forked</a> this topic %3",
"user-forked-topic-on": "%1 <a href=\"%2\">forked</a> this topic on %3",
"bookmark_instructions": "اضغط هنا للعودة لأخر مشاركة مقروءة في الموضوع",
"flag-post": "Flag this post",
"flag-user": "Flag this user",
@@ -95,7 +109,7 @@
"thread_tools.purge": "تطهير الموضوع",
"thread_tools.purge_confirm": "هل أنت متأكد أنك تريد تطهير هذا الموضوع؟",
"thread_tools.merge_topics": "Merge Topics",
"thread_tools.merge": "Merge",
"thread_tools.merge": "Merge Topic",
"topic_move_success": "This topic will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_multiple_success": "These topics will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_all_success": "All topics will be moved to \"%1\" shortly. Click here to undo.",
@@ -121,7 +135,7 @@
"post_moved": "تم نقل المشاركة",
"fork_topic": "فرع الموضوع",
"enter-new-topic-title": "Enter new topic title",
"fork_topic_instruction": "إضغط على المشاركات التي تريد تفريعها",
"fork_topic_instruction": "Click the posts you want to fork, enter a title for the new topic and click fork topic",
"fork_no_pids": "لم تختر أي مشاركة",
"no-posts-selected": "No posts selected!",
"x-posts-selected": "%1 post(s) selected",
@@ -136,9 +150,11 @@
"merge-new-title-for-topic": "New title for topic",
"topic-id": "Topic ID",
"move_posts_instruction": "Click the posts you want to move then enter a topic ID or go to the target topic",
"move_topic_instruction": "Select the target category and then click move",
"change_owner_instruction": "Click the posts you want to assign to another user",
"composer.title_placeholder": "أدخل عنوان موضوعك هنا...",
"composer.handle_placeholder": "Enter your name/handle here",
"composer.hide": "Hide",
"composer.discard": "نبذ التغييرات",
"composer.submit": "حفظ",
"composer.additional-options": "Additional Options",
@@ -184,5 +200,7 @@
"last-post": "Last post",
"go-to-my-next-post": "Go to my next post",
"no-more-next-post": "You don't have more posts in this topic",
"post-quick-reply": "Post quick reply"
"post-quick-reply": "Quick reply",
"navigator.index": "Post %1 of %2",
"navigator.unread": "%1 unread"
}

View File

@@ -1,6 +1,6 @@
{
"banned": "محظور",
"muted": "Muted",
"muted": "كتم ",
"offline": "غير متصل",
"deleted": "محذوف",
"username": "إسم المستخدم",
@@ -9,7 +9,7 @@
"email": "البريد الإلكتروني",
"confirm_email": "تأكيد عنوان البريد الإلكتروني",
"account_info": "معلومات الحساب",
"admin_actions_label": "Administrative Actions",
"admin_actions_label": "الإجراءات الإدارية",
"ban_account": "حظر الحساب",
"ban_account_confirm": "هل تريد حقاً حظر هاذا العضو؟",
"unban_account": "إزالة حظر الحساب",
@@ -24,7 +24,7 @@
"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 />",
"account-deleted": "تم حذف الحساب",
"account-content-deleted": "Account content deleted",
"account-content-deleted": "تم حذف محتوى حساب",
"fullname": "الاسم الكامل",
"website": "الموقع الإلكتروني",
"location": "الموقع",
@@ -34,25 +34,26 @@
"profile": "الملف الشخصي",
"profile_views": "عدد المشاهدات",
"reputation": "السمعة",
"bookmarks": "Bookmarks",
"watched_categories": "Watched categories",
"change_all": "Change All",
"bookmarks": "المفضلات",
"watched_categories": "الأقسام المُتابعة",
"change_all": "غير الكل",
"watched": "متابع",
"ignored": "تم تجاهله",
"default-category-watch-state": "Default category watch state",
"default-category-watch-state": "حالة مشاهدة اﻻقسام الافتراضية",
"followers": "المتابعون",
"following": "يتابع",
"blocks": "Blocks",
"block_toggle": "Toggle Block",
"block_user": "Block User",
"unblock_user": "Unblock User",
"blocks": "الكتل",
"blocked-users": "Blocked users",
"block_toggle": "تبديل الكتلة",
"block_user": "أحظر المستخدم",
"unblock_user": "ألغ حظر المستخدم",
"aboutme": "معلومة عنك او السيرة الذاتية",
"signature": "توقيع",
"birthday": "عيد ميلاد",
"chat": "محادثة",
"chat_with": "متابعة الدردشة مع %1",
"new_chat_with": "بدء دردشة جديدة مع %1",
"flag-profile": "Flag Profile",
"flag-profile": "ضع علامة على الملف الشخصي",
"follow": "تابع",
"unfollow": "إلغاء المتابعة",
"more": "المزيد",
@@ -68,6 +69,7 @@
"upload_new_picture": "رفع صورة جديدة",
"upload_new_picture_from_url": "رفع صورة جديدة من رابط",
"current_password": "كلمة السر الحالية",
"new_password": "New Password",
"change_password": "تغيير كلمة السر",
"change_password_error": "كلمة سر غير صحيحة",
"change_password_error_wrong_current": "كلمة السر الحالية ليست صحيحة",
@@ -87,7 +89,7 @@
"remove_cover_picture_confirm": "هل تريد بالتأكيد إزالة صورة الغلاف؟",
"crop_picture": "إقتصاص الصورة",
"upload_cropped_picture": "إقتصاص ورفع",
"avatar-background-colour": "Avatar background colour",
"avatar-background-colour": "لون الخلفية للصورة الرمزية",
"settings": "خيارات",
"show_email": "أظهر بريدي الإلكتروني",
"show_fullname": "أظهر اسمي الكامل",
@@ -108,16 +110,18 @@
"has_no_ignored_topics": "هذا المستخدم لم يقم بتجاهل اية مواضيع حتى الآن.",
"has_no_upvoted_posts": "هذا المستخدم لم يقم بالتصويت للأعلى لأي مشاركة حتى الآن.",
"has_no_downvoted_posts": "هذا المستخدم لم يقم بالتصويت للأسفل لأي مشاركة حتى الآن.",
"has_no_controversial_posts": "This user does not have any downvoted posts yet.",
"has_no_blocks": "You have blocked no users.",
"has_no_controversial_posts": "هذا المستخدم ﻻيمتلك تصويت للأسفل لأي مشاركة حتى الآن.",
"has_no_blocks": "أنت لم تحظر اي مستخدم",
"email_hidden": "البريد الإلكتروني مخفي",
"hidden": "مخفي",
"paginate_description": "عرض المواضيع والردود موزعة على صفحات عوضاً عن التمرير اللانهائي.",
"topics_per_page": "المواضيع في كل صفحة",
"posts_per_page": "الردود في كل صفحة",
"category-topic-sort": "Category topic sort",
"topic-post-sort": "Topic post sort",
"max_items_per_page": "أقصى %1",
"acp_language": "Admin Page Language",
"notifications": "Notifications",
"acp_language": "لغة صفحة اﻻدارة",
"notifications": "التنبيهات",
"upvote-notif-freq": "معدل تكرار تنبيهات التصويت للأعلى",
"upvote-notif-freq.all": "كل التصويتات للأعلى",
"upvote-notif-freq.first": "First Per Post",
@@ -168,6 +172,8 @@
"info.moderation-note.success": "تم حفظ ملاحظة الإشراف",
"info.moderation-note.add": "إضافة ملاحظة",
"sessions.description": "This page allows you to view any active sessions on this forum and revoke them if necessary. You can revoke your own session by logging out of your account.",
"revoke-session": "Revoke Session",
"browser-version-on-platform": "%1 %2 on %3",
"consent.title": "Your Rights &amp; Consent",
"consent.lead": "This community forum collects and processes your personal information.",
"consent.intro": "We use this information strictly to personalise your experience in this community, as well as to associate the posts you make to your user account. During the registration step you were asked to provide a username and email address, you can also optionally provide additional information to complete your user profile on this website.<br /><br />We retain this information for the life of your user account, and you are able to withdraw consent at any time by deleting your account. At any time you may request a copy of your contribution to this website, via your Rights &amp; Consent page.<br /><br />If you have any questions or concerns, we encourage you to reach out to this forum's administrative team.",

View File

@@ -1,18 +1,19 @@
{
"all-users": "All Users",
"latest_users": "أحدث الأعضاء",
"top_posters": "اﻷكثر مشاركة",
"most_reputation": "أعلى سمعة",
"most_flags": "Most Flags",
"most_flags": "معظم الأعلام",
"search": "بحث",
"enter_username": "أدخل اسم مستخدم للبحث",
"search-user-for-chat": "ابحث عن مستخدم لبدء محادثة ",
"search-user-for-chat": "Search for a user to start chat:",
"load_more": "حمل المزيد",
"users-found-search-took": "تم إيجاد %1 مستخدمـ(ين)! استغرق البحث %2 ثانية.",
"filter-by": "Filter By",
"filter-by": "تصفية بحسب",
"online-only": "المتصلون فقط",
"invite": "دعوة",
"prompt-email": "Emails:",
"groups-to-join": "Groups to be joined when invite is accepted:",
"prompt-email": "البريد الإلكتروني:",
"groups-to-join": "المجموعات التي سيتم الانضمام إليها عند قبول الدعوة:",
"invitation-email-sent": "تم إرسال دعوة بالبريد الإلكتروني إلى %1",
"user_list": "قائمة اﻷعضاء",
"recent_topics": "أحدث المواضيع",

View File

@@ -4,8 +4,6 @@
"acp-title": "%1 | Контролен панел за администратори на NodeBB",
"settings-header-contents": "Съдържание",
"changes-saved": "Промените са запазени",
"changes-saved-message": "Промените Ви в настройките на NodeBB бяха запазени.",
"changes-not-saved": "Промените не са запазени",
"changes-not-saved-message": "Възникна проблем при запазването на промените Ви по NodeBB. (%1)"
}

View File

@@ -1,7 +1,7 @@
{
"custom-css": "Персонализиран CSS/LESS",
"custom-css.description": "Въведете своите собствени декларации на CSS/LESS, те ще бъдат приложени след всички останали стилове.",
"custom-css.enable": "Включване на персонализиран CSS/LESS",
"custom-css": "Персонализиран CSS/SASS",
"custom-css.description": "Въведете своите собствени декларации на CSS/SASS. Те ще бъдат приложени след всички останали стилове.",
"custom-css.enable": "Включване на персонализиран CSS/SASS",
"custom-js": "Персонализиран код на Javascript",
"custom-js.description": "Въведете свой собствен код на javascript тук. Той ще бъде изпълнен след като страницата се зареди напълно.",

View File

@@ -83,8 +83,11 @@
"back-to-dashboard": "Назад към таблото",
"details.no-users": "В избрания период не са се регистрирали нови потребители",
"details.no-topics": "В избрания период не са публикувани нови теми",
"details.no-searches": "Все още не са правени търсения",
"details.no-searches": "В избрания период не са правени търсения",
"details.no-logins": "В избрания период не са отчетени вписвания",
"details.logins-static": "NodeBB запазва данни за сесията в продължение на %1 дни, така че в следната таблица могат да се видят само последните активни сесии",
"details.logins-login-time": "Време на вписване"
"details.logins-login-time": "Време на вписване",
"start": "Начало",
"end": "Край",
"filter": "Филтриране"
}

View File

@@ -8,9 +8,9 @@
"containers.none": "Няма",
"container.well": "Кладенец",
"container.jumbotron": "Джъмботрон",
"container.panel": "Панел",
"container.panel-header": "Заглавна част на панел",
"container.panel-body": "Основна част на панел",
"container.card": "Карта",
"container.card-header": "Заглавна част на карта",
"container.card-body": "Основна част на карта",
"container.alert": "Предупреждение",
"alert.confirm-delete": "Наистина ли искате да изтриете джаджата?",

View File

@@ -39,6 +39,5 @@
"revert": "Отмяна",
"edit.no-users-found": "Няма намерени потребители",
"edit.confirm-remove-user": "Наистина ли искате да премахнете този потребител?",
"edit.save-success": "Промените са запазени!"
"edit.confirm-remove-user": "Наистина ли искате да премахнете този потребител?"
}

View File

@@ -49,7 +49,6 @@
"alert.confirm-moderate": "<strong>Наистина ли искате да дадете правомощието за модериране на тази потребителска група?</strong> Тази група е публична и всеки може свободно да се присъедини към нея.",
"alert.confirm-admins-mods": "<strong>Наистина ли искате да дадете правото „Администратори и модератори“ на този потребител/група?</strong> Потребителите с това право могат да променят правомощията на други групи, <em>включително да им дават правото на супер администратори</em>",
"alert.confirm-save": "Моля, потвърдете желанието си да запазите тези правомощия",
"alert.saved": "Промените по правомощията са запазени и приложени",
"alert.confirm-discard": "Наистина ли искате да отхвърлите промените по правомощията?",
"alert.discarded": "Промените по правомощията са отхвърлени",
"alert.confirm-copyToAll": "Наистина ли искате да приложите този набор от <strong>%1</strong> към <strong>всички категории</strong>?",

View File

@@ -11,6 +11,9 @@
"uid": "Потребителски ИД",
"uid-help-text": "Посочете потребителски ИД, който да бъде свързан с този код. Ако ИД е <code>0</code>, това ще се счита за <em>главен</em> код, който може да приема идентичността на всеки от другите потребители чрез параметъра <code>_uid</code>",
"description": "Описание",
"last-seen-ago": "Последно използван <span class=\"timeago\" title=\"%1\"></span>.",
"last-seen-on": "Последно използван на <span class=\"timeago\" title=\"%1\"></span>.",
"last-seen-never": "Този ключ не е използван никога.",
"no-description": "Няма описание.",
"token-on-save": "Кодът ще бъде създаден след като данните бъдат запазени"
}

View File

@@ -12,7 +12,7 @@
"groups": "Групи:",
"open-new-window": "Отваряне в нов прозорец",
"dropdown": "Падащо меню",
"dropdown-placeholder": "Въведете елементите на падащото меню по-долу. Пример: <br/>&lt;li&gt;&lt;a href&#x3D;&quot;https://myforum.com&quot;&gt;Връзка 1&lt;/a&gt;&lt;/li&gt;",
"dropdown-placeholder": "Въведете елементите на падащото меню по-долу. Пример: <br/>&lt;li&gt;&lt;a class=&quot;dropdown-item&quot; href&#x3D;&quot;https://myforum.com&quot;&gt;Връзка 1&lt;/a&gt;&lt;/li&gt;",
"btn.delete": "Изтриване",
"btn.disable": "Изключване",

View File

@@ -29,6 +29,8 @@
"session-time-days": "Дни",
"session-time-seconds": "Секунди",
"session-time-help": "Тези стойности се използват за определяне на дължината на периода, през който потребителите ще останат вписани в системата, ако поставят отметка в полето „Запомнете ме“ при вписването. Имайте предвид, че ще се използва само една от тези стойности. Ако няма стойност за <i>секунди</i>, ще се използва стойността за <i>дни</i>. Ако няма и стойност за <i>дни</i>, то ще се използва стандартната стойност от <i>14 дни</i>.",
"session-duration": "Продължителност на сесията, ако „Запомнете ме“ не е отбелязано (в секунди)",
"session-duration-help": "По подразбиране (или ако стойността е <code>0</code>) потребителят ще остане вписан докато не изтече сесията му (обикновено докато браузърът или разделът не бъде затворен). Използвайте тази настройка, ако искате да определите точно време (в секунди), след което сесията на потребителя да бъде прекратена.",
"online-cutoff": "Брой минути, след които потребителят ще бъде смятан за неактивен",
"online-cutoff-help": "Ако потребителят не извършва никакви действия през този период, ще бъде смятан за неактивен и няма да получава известия в реално време.",
"registration": "Регистриране на потребителите",

View File

@@ -62,6 +62,7 @@
"no-user": "Потребителят не съществува",
"no-teaser": "Резюмето не съществува",
"no-flag": "Докладът не съществува",
"no-chat-room": "Стаята за разговори не съществува",
"no-privileges": "Нямате достатъчно права за това действие.",
"category-disabled": "Категорията е изключена",
"topic-locked": "Темата е заключена",
@@ -88,6 +89,7 @@
"category-not-selected": "Не е избрана категория.",
"too-many-posts": "Можете да публикувате веднъж на %1 секунда/и моля, изчакайте малко, преди да опитате да публикувате отново",
"too-many-posts-newbie": "Като нов потребител, Вие можете да публикувате веднъж на %1 секунда/и, докато не натрупате %2 репутация моля, изчакайте малко, преди да опитате да публикувате отново",
"already-posting": "В момента публикувате",
"tag-too-short": "Моля, въведете по-дълъг етикет. Етикетите трябва да съдържат поне %1 символ(а)",
"tag-too-long": "Моля, въведете по-кратък етикет. Етикетите трябва да съдържат не повече от %1 символ(а)",
"not-enough-tags": "Недостатъчно етикети. Темите трябва да имат поне %1 етикет(а)",
@@ -155,6 +157,9 @@
"chat-deleted-already": "Това съобщение вече е изтрито.",
"chat-restored-already": "Това съобщение вече е възстановено.",
"chat-room-does-not-exist": "Стаята за разговори не съществува.",
"cant-add-users-to-chat-room": "Към стаята за разговори не могат да бъдат добавяни потребители.",
"cant-remove-users-from-chat-room": "От стаята за разговори не могат да бъдат премахвани потребители.",
"chat-room-name-too-long": "Името на стаята за разговори е твърде дълго.",
"already-voting-for-this-post": "Вече сте дали глас за тази публикация.",
"reputation-system-disabled": "Системата за репутация е изключена.",
"downvoting-disabled": "Отрицателното гласуване е изключено",
@@ -219,5 +224,6 @@
"api.429": "Направили сте твърде много заявки. Моля, опитайте отново по-късно.",
"api.500": "При обработката на заявката Ви възникна неочаквана грешка.",
"api.501": "Пътят, който се опитвате да извикате, все още не съществува. Моля, опитайте отново утре.",
"api.503": "Пътят, който се опитвате да извикате, в момента не е достъпен, поради настройките на сървъра."
"api.503": "Пътят, който се опитвате да извикате, в момента не е достъпен, поради настройките на сървъра.",
"api.reauth-required": "Ресурсът, който се опитвате да достъпите, изисква (повторно) удостоверяване."
}

View File

@@ -3,25 +3,27 @@
"reports": "Доклади",
"first-reported": "Първо докладване",
"no-flags": "Ура! Няма намерени доклади.",
"x-flags-found": "Намерени доклади: %1.",
"assignee": "Назначен",
"update": "Обновяване",
"updated": "Обновено",
"resolved": "Разрешен",
"target-purged": "Съдържанието, за което се отнася този доклад, е било изтрито и вече не е налично.",
"target-aboutme-empty": "Този потребител не е попълнил нищо в секцията за себе си.",
"graph-label": "Дневни етикети",
"quick-filters": "Бързи филтри",
"filter-active": "В този списък с доклади има един или повече филтри",
"filter-reset": "Премахване на филтрите",
"filters": "Настройки на филтрите",
"filter-reporterId": "Потр. ид. на докладвалия",
"filter-targetUid": "Потр. ид. на докладвания",
"filter-reporterId": "Докладвал",
"filter-targetUid": "Докладван",
"filter-type": "Вид на доклада",
"filter-type-all": "Всичко",
"filter-type-post": "Публикация",
"filter-type-user": "Потребител",
"filter-state": "Състояние",
"filter-assignee": "Потр. ид. на назначения",
"filter-assignee": "Назначен",
"filter-cid": "Категория",
"filter-quick-mine": "Назначени на мен",
"filter-cid-all": "Всички категории",
@@ -45,6 +47,7 @@
"notes": "Бележки към доклада",
"add-note": "Добавяне на бележка",
"edit-note": "Редактиране на бележката",
"no-notes": "Няма споделени бележки.",
"delete-note-confirm": "Наистина ли искате да изтриете тази бележка към доклада?",
"delete-flag-confirm": "Наистина ли искате да изтриете този доклад?",

View File

@@ -37,9 +37,13 @@
"header.notifications": "Известия",
"header.search": "Търсене",
"header.profile": "Профил",
"header.account": "Акаунт",
"header.navigation": "Навигация",
"header.manage": "Управление",
"header.drafts": "Чернови",
"notifications.loading": "Зареждане на известията",
"chats.loading": "Зареждане на разговорите",
"drafts.loading": "Зареждане на черновите",
"motd.welcome": "Добре дошли в NodeBB, системата за дискусии на бъдещето.",
"previouspage": "Предишна страница",
"nextpage": "Следваща страница",
@@ -54,7 +58,8 @@
"users": "Потребители",
"topics": "Теми",
"posts": "Публ.",
"x-posts": "%1 публикации",
"x-posts": "<span class=\"formatted-number\">%1</span> публикации",
"x-topics": "<span class=\"formatted-number\">%1</span> теми",
"best": "Най-добри",
"controversial": "Противоречиви",
"votes": "Гласове",
@@ -69,6 +74,7 @@
"reputation": "Репутация",
"lastpost": "Последна публикация",
"firstpost": "Първа публикация",
"about": "Относно",
"read_more": "още",
"more": "Още",
"none": "Нищо",
@@ -82,11 +88,13 @@
"user_posted_ago": "%1 публикува %2",
"guest_posted_ago": "гост публикува %1",
"last_edited_by": "последно редактирано от %1",
"edited-timestamp": "Редактирано %1",
"norecentposts": "Няма скорошни публикации",
"norecenttopics": "Няма скорошни теми",
"recentposts": "Скорошни публикации",
"recentips": "Наскоро ползвани IP адреси",
"moderator_tools": "Модераторски инструменти",
"status": "Състояние",
"online": "На линия",
"away": "Отсъстващ",
"dnd": "Отпочиващ",
@@ -122,5 +130,7 @@
"edited": "Редактирано",
"disabled": "Изключено",
"select": "Избиране",
"user-search-prompt": "Започнете да пишете, за да потърсите потребител…"
"user-search-prompt": "Започнете да пишете, за да потърсите потребител…",
"hidden": "Скрито",
"sort": "Подреждане"
}

View File

@@ -1,5 +1,6 @@
{
"groups": "Групи",
"members": "Членове",
"view_group": "Преглед на групата",
"owner": "Собственик на групата",
"new_group": "Създаване на нова група",

View File

@@ -1,7 +1,11 @@
{
"chat.chatting_with": "Разговор с",
"chat.placeholder": "Въведете съобщение тук или пуснете снимки и натиснете Ентер за изпращане",
"chat.placeholder.mobile": "Въведете съобщение тук",
"chat.scroll-up-alert": "В момента разглеждате по-стари съобщения. Щракнете тук, за да се прехвърлите към най-новото съобщение.",
"chat.usernames-and-x-others": "%1 и %2 други",
"chat.chat-with-usernames": "Разговор с %1",
"chat.chat-with-usernames-and-x-others": "Разговор с %1 и %2 други",
"chat.send": "Изпращане",
"chat.no_active": "Нямате текущи разговори.",
"chat.user_typing": "%1 пише...",
@@ -42,6 +46,7 @@
"composer.compose": "Писане",
"composer.show_preview": "Показване на прегледа",
"composer.hide_preview": "Скриване на прегледа",
"composer.help": "Помощ",
"composer.user_said_in": "%1 каза в %2:",
"composer.user_said": "%1 каза:",
"composer.discard": "Наистина ли искате да отхвърлите тази публикация?",
@@ -65,6 +70,9 @@
"composer.schedule-time": "Час",
"composer.cancel-scheduling": "Отмяна на насрочването",
"composer.set-schedule-date": "Задаване на дата",
"composer.discard-all-drafts": "Изтриване на всички чернови",
"composer.no-drafts": "Нямате никакви чернови",
"composer.discard-draft-confirm": "Искате ли да изтриете тази чернова?",
"bootbox.ok": "Добре",
"bootbox.cancel": "Отказ",
"bootbox.confirm": "Потвърждаване",

View File

@@ -49,6 +49,7 @@
"account/watched_categories": "Следените категории на %1",
"account/bookmarks": "Отметнатите публикации на %1",
"account/settings": "Потребителски настройки",
"account/settings-of": "Променят се настройките на %1",
"account/watched": "Теми, следени от %1",
"account/ignored": "Теми, пренебрегвани от %1",
"account/upvoted": "Публикации, получили положителен глас от %1",

View File

@@ -1,8 +1,12 @@
{
"post-queue": "Опашка за публикации",
"description": "Няма публикации в опашката. <br> За да включите тази функционалност, идете в <a href=\"%1\">Настройки &rarr; Публикуване &rarr; Опашка за публикации</a> и включете <strong>Опашката за публикации</strong>.",
"no-queued-posts": "В опашката за публикации няма нищо.",
"no-single-post": "Темата или публикацията, която търсите, вече не се намира в опашката. Вероятно или е била одобрена, или изтрита.",
"enabling-help": "За да включите тази функционалност, идете в <a href=\"%1\">Настройки &rarr; Публикуване &rarr; Опашка за публикации</a> и включете <strong>Опашката за публикации</strong>.",
"back-to-list": "Назад към Опашката за публикации",
"user": "Потребител",
"when": "Кога",
"category": "Категория",
"title": "Заглавие",
"content": "Съдържание",
@@ -19,6 +23,7 @@
"notify": "Известяване",
"notify-user": "Известяване на потребителя",
"confirm-reject": "Искате ли да отхвърлите тази публикация?",
"confirm-remove": "Искате ли да премахнете тази публикация?",
"bulk-actions": "Групови действия",
"accept-all": "Приемане на всички",
"accept-selected": "Приемане на избраните",
@@ -26,6 +31,10 @@
"reject-all-confirm": "Наистина ли искате да отхвърлите всички публикации?",
"reject-selected": "Отхвърляне на избраните",
"reject-selected-confirm": "Наистина ли искате да отхвърлите %1 избрани публикации?",
"remove-all": "Премахване на всички",
"remove-all-confirm": "Наистина ли искате да премахнете всички публикации?",
"remove-selected": "Премахване на избраните",
"remove-selected-confirm": "Наистина ли искате да премахнете избраните %1 публикации?",
"bulk-accept-success": "Одобрени публикации: %1",
"bulk-reject-success": "Отхвърлени публикации: %1"
}

View File

@@ -1,5 +1,6 @@
{
"register": "Регистрация",
"already-have-account": "Вече имате акаунт?",
"cancel_registration": "Отказ от регистриране",
"help.email": "По подразбиране, Вашата е-поща ще бъде скрита за останалите.",
"help.username_restrictions": "Уникално потребителско име с дължина между %1 и %2 символа. Другите ще могат да Ви споменават чрез @<span id='yourUsername'>потребител</span>.",

View File

@@ -1,21 +1,41 @@
{
"type-to-search": "Пишете тук за търсене",
"results_matching": "%1 резултат(а), отговарящи на „%2“, (%3 секунди)",
"no-matches": "Няма съвпадения",
"advanced-search": "Разширено търсене",
"in": "В",
"titles": "Заглавия",
"titles-posts": "Заглавия и публикации",
"match-words": "Съвпадащи думи",
"in-titles": "В заглавията",
"in-titles-posts": "В заглавията и публикациите",
"in-posts": "В публикациите",
"in-categories": "В категориите",
"in-users": "В потребителите",
"in-tags": "В етикетите",
"categories": "Категории",
"all-categories": "Всички категории",
"categories-x": "Категории: %1",
"categories-watched-categories": "Категории: Следени категории",
"type-a-category": "Въведете категория",
"tags": "Етикети",
"tags-x": "Етикети: %1",
"type-a-tag": "Въведете етикет",
"match-words": "Съвпадение на думите",
"match-all-words": "Съвпадение на всички думи",
"match-any-word": "Съвпадение на някоя дума",
"all": "Всички",
"any": "Която и да е",
"posted-by": "Публикувано от",
"in-categories": "В категории",
"posted-by-usernames": "Публикувано от: %1",
"type-a-username": "Въведете потребителско име",
"search-child-categories": "Претърсване на подкатегориите",
"has-tags": "Има етикети",
"reply-count": "Брой на отговорите",
"replies": "Отговори",
"replies-atleast-count": "Отговори: Поне %1",
"replies-atmost-count": "Отговори: Не повече от %1",
"at-least": "Поне",
"at-most": "Най-много",
"relevance": "Уместност",
"time": "Време",
"post-time": "Време на публикуване",
"votes": "Гласове",
"newer-than": "По-нови от",
@@ -28,7 +48,22 @@
"three-months": "Три месеца",
"six-months": "Шест месеца",
"one-year": "Една година",
"time-newer-than-86400": "Време: От вчера досега",
"time-older-than-86400": "Време: Преди вчера",
"time-newer-than-604800": "Време: По-нови от една седмица",
"time-older-than-604800": "Време: По-стари от една седмица",
"time-newer-than-1209600": "Време: По-нови от две седмици",
"time-older-than-1209600": "Време: По-стари от две седмици",
"time-newer-than-2592000": "Време: По-нови от един месец",
"time-older-than-2592000": "Време: По-стари от един месец",
"time-newer-than-7776000": "Време: По-нови от три месеца",
"time-older-than-7776000": "Време: По-стари от три месеца",
"time-newer-than-15552000": "Време: По-нови от шест месеца",
"time-older-than-15552000": "Време: По-стари от шест месеца",
"time-newer-than-31104000": "Време: По-нови от една година",
"time-older-than-31104000": "Време: По-стари от една година",
"sort-by": "Подреждане по",
"sort": "Подреждане",
"last-reply-time": "Време на последния отговор",
"topic-title": "Заглавие на темата",
"topic-votes": "Гласувания за темата",
@@ -39,11 +74,36 @@
"category": "Категория",
"descending": "В низходящ ред",
"ascending": "Във възходящ ред",
"sort-by-relevance-desc": "Подреждане по: Съответствие, в низходящ ред",
"sort-by-relevance-asc": "Подреждане по: Съответствие, във възходящ ред",
"sort-by-timestamp-desc": "Подреждане по: Време на публикуване, в низходящ ред",
"sort-by-timestamp-asc": "Подреждане по: Време на публикуване, във възходящ ред",
"sort-by-votes-desc": "Подреждане по: Брой гласове, в низходящ ред",
"sort-by-votes-asc": "Подреждане по: Брой гласове, във възходящ ред",
"sort-by-topic.lastposttime-desc": "Подреждане по: Време на последния отговор, в низходящ ред",
"sort-by-topic.lastposttime-asc": "Подреждане по: Време на последния отговор, във възходящ ред",
"sort-by-topic.title-desc": "Подреждане по: Заглавие на темата, в низходящ ред",
"sort-by-topic.title-asc": "Подреждане по: Заглавие на темата, във възходящ ред",
"sort-by-topic.postcount-desc": "Подреждане по: Брой отговори, в низходящ ред",
"sort-by-topic.postcount-asc": "Подреждане по: Брой отговори, във възходящ ред",
"sort-by-topic.viewcount-desc": "Подреждане по: Брой преглеждания, в низходящ ред",
"sort-by-topic.viewcount-asc": "Подреждане по: Брой преглеждания, във възходящ ред",
"sort-by-topic.votes-desc": "Подреждане по: Брой гласове за темата, в низходящ ред",
"sort-by-topic.votes-asc": "Подреждане по: Брой гласове за темата, във възходящ ред",
"sort-by-topic.timestamp-desc": "Подреждане по: Начална дата на темата, в низходящ ред",
"sort-by-topic.timestamp-asc": "Подреждане по: Начална дата на темата, във възходящ ред",
"sort-by-user.username-desc": "Подреждане по: Потребителско име, в низходящ ред",
"sort-by-user.username-asc": "Подреждане по: Потребителско име, във възходящ ред",
"sort-by-category.name-desc": "Подреждане по: Категория, в низходящ ред",
"sort-by-category.name-asc": "Подреждане по: Категория, във възходящ ред",
"save": "Запазване",
"save-preferences": "Запазване на предпочитанията",
"clear-preferences": "Изчистване на предпочитанията",
"search-preferences-saved": "Предпочитанията за търсене бяха запазени",
"search-preferences-cleared": "Предпочитанията за търсене бяха изчистени",
"show-results-as": "Показване на резултатите като",
"show-results-as-topics": "Показване на резултатите като теми",
"show-results-as-posts": "Показване на резултатите като публикации",
"see-more-results": "Показване на още резултати (%1)",
"search-in-category": "Търсене в „%1“"
}

View File

@@ -1,5 +1,7 @@
{
"all-tags": "Всички етикети",
"no_tag_topics": "Няма теми с този етикет.",
"no-tags-found": "Няма намерени етикети",
"tags": "Етикети",
"enter_tags_here": "Тук въведете етикети, всеки между %1 и %2 знака.",
"enter_tags_here_short": "Въведете етикети...",

View File

@@ -39,16 +39,30 @@
"copy-ip": "Копиране на IP адреса",
"ban-ip": "Блокиране на IP адреса",
"view-history": "История на редакциите",
"locked-by": "Заключена от",
"unlocked-by": "Отключена от",
"pinned-by": "Закачена от",
"unpinned-by": "Откачена от",
"deleted-by": "Изтрита от",
"restored-by": "Възстановена от",
"moved-from-by": "Преместена от %1 от",
"queued-by": "Публикацията е добавена в опашката за одобрение &rarr;",
"backlink": "Спомената от",
"forked-by": "Разделена от",
"wrote-ago": "писа <a href=\"%1\" class=\"timeago text-muted\" title=\"%2\"></a>",
"wrote-on": "писа на <a href=\"%1\" class=\"timeago text-muted\" title=\"%2\"></a>",
"replied-to-user-ago": "отговори на <a component=\"post/parent\" data-topid=\"%1\" href=\"%2\">%3</a> <a href=\"%4\" class=\"timeago text-muted\" title=\"%5\"></a>",
"replied-to-user-on": "отговори на <a component=\"post/parent\" data-topid=\"%1\" href=\"%2\">%3</a> на <a hrf=\"%4\" class=\"timeago text-muted\" title=\"%5\"></a>",
"user-locked-topic-ago": "%1 заключи тази тема %2",
"user-locked-topic-on": "%1 заключи тази тема на %2",
"user-unlocked-topic-ago": "%1 отключи тази тема %2",
"user-unlocked-topic-on": "%1 отключи тази тема на %2",
"user-pinned-topic-ago": "%1 закачи тази тема %2",
"user-pinned-topic-on": "%1 закачи тази тема на %2",
"user-unpinned-topic-ago": "%1 откачи тази тема %2",
"user-unpinned-topic-on": "%1 откачи тази тема на %2",
"user-deleted-topic-ago": "%1 изтри тази тема %2",
"user-deleted-topic-on": "%1 изтри тази тема на %2",
"user-restored-topic-ago": "%1 възстанови тази тема %2",
"user-restored-topic-on": "%1 възстанови тази тема на %2",
"user-moved-topic-from-ago": "%1 премести тази тема от %2 %3",
"user-moved-topic-from-on": "%1 премести тази тема от %2 на %3",
"user-queued-post-ago": "%1 добави тази публикация в <a href=\"%2\">опашката за одобрение</a> %3",
"user-queued-post-on": "%1 добави тази публикация в <a href=\"%2\">опашката</a> за одобрение на %3",
"user-referenced-topic-ago": "%1 <a href=\"%2\">направи препратка</a> към тази тема %3",
"user-referenced-topic-on": "%1 <a href=\"%2\">направи препратка</a> към тази тема на %3",
"user-forked-topic-ago": "%1 <a href=\"%2\">раздели</a> тази тема %3",
"user-forked-topic-on": "%1 <a href=\"%2\">раздели</a> тази тема на %3",
"bookmark_instructions": "Щракнете тук, за да се върнете към последно прочетената публикация в тази тема.",
"flag-post": "Докладване на тази публикация",
"flag-user": "Докладване на този потребител",
@@ -95,7 +109,7 @@
"thread_tools.purge": "Изчистване на темата",
"thread_tools.purge_confirm": "Наистина ли искате да изчистите тази тема?",
"thread_tools.merge_topics": "Сливане на темите",
"thread_tools.merge": "Сливане",
"thread_tools.merge": "Сливане на темата",
"topic_move_success": "Темата ще бъде преместена в „%1“ след малко. Натиснете тук, за да отмените преместването.",
"topic_move_multiple_success": "Темите ще бъдат преместени в „%1“ след малко. Натиснете тук, за да отмените преместването.",
"topic_move_all_success": "Всички теми ще бъдат преместени в „%1“ след малко. Натиснете тук, за да отмените преместването.",
@@ -121,7 +135,7 @@
"post_moved": "Публикацията беше преместена!",
"fork_topic": "Разделяне на темата",
"enter-new-topic-title": "Въведете заглавието на новата тема",
"fork_topic_instruction": "Натиснете публикациите, които искате да отделите",
"fork_topic_instruction": "Щракнете върху публикациите, които искате да разделите, въведете име за новата тема, и натиснете „Разделяне на темата“",
"fork_no_pids": "Няма избрани публикации!",
"no-posts-selected": "Няма избрани публикации!",
"x-posts-selected": "Избрани публикации: %1",
@@ -136,9 +150,11 @@
"merge-new-title-for-topic": "Ново заглавие за темата",
"topic-id": "Ид. на темата",
"move_posts_instruction": "Щракнете върху публикациите, които искате да преместите, а след това въведете ид. на тема или отидете в целевата тема",
"move_topic_instruction": "Изберете целевата категория и натиснете „Преместване“",
"change_owner_instruction": "Натиснете публикациите, които искате да прехвърлите на друг потребител",
"composer.title_placeholder": "Въведете заглавието на темата си тук...",
"composer.handle_placeholder": "Въведете името тук",
"composer.hide": "Скриване",
"composer.discard": "Отхвърляне",
"composer.submit": "Публикуване",
"composer.additional-options": "Допълнителни настройки",
@@ -184,5 +200,7 @@
"last-post": "Последна публикация",
"go-to-my-next-post": "Към следващата ми публикация",
"no-more-next-post": "Нямате повече публикации в тази тема",
"post-quick-reply": "Пускане на бърза публикация"
"post-quick-reply": "Бърз отговор",
"navigator.index": "Публикация %1 от %2",
"navigator.unread": "%1 непрочетени"
}

View File

@@ -43,6 +43,7 @@
"followers": "Последователи",
"following": "Следва",
"blocks": "Блокира",
"blocked-users": "Блокирани потребители",
"block_toggle": "Превключване на блокирането",
"block_user": "Блокиране на потребителя",
"unblock_user": "Отблокиране на потребителя",
@@ -68,6 +69,7 @@
"upload_new_picture": "Качване на нова снимка",
"upload_new_picture_from_url": "Качване на нова снимка от адрес",
"current_password": "Текуща парола",
"new_password": "Нова парола",
"change_password": "Промяна на паролата",
"change_password_error": "Грешна парола!",
"change_password_error_wrong_current": "Текущата Ви парола е грешна!",
@@ -115,6 +117,8 @@
"paginate_description": "Разделяне на темите и публикациите на страници, вместо да се превърта безкрайно",
"topics_per_page": "Теми на страница",
"posts_per_page": "Публикации на страница",
"category-topic-sort": "Подреждане на темите в категория",
"topic-post-sort": "Подреждане на публикациите в тема",
"max_items_per_page": "Най-много %1",
"acp_language": "Език на администраторската страница",
"notifications": "Известия",
@@ -168,6 +172,8 @@
"info.moderation-note.success": "Модераторската бележка е запазена",
"info.moderation-note.add": "Добавяне на бележка",
"sessions.description": "На тази страница можете да видите активните си сесии на този форум и да ги анулирате, ако желаете. Можете да анулирате текущата си сесия, като се отпишете от акаунта си.",
"revoke-session": "Анулиране на сесията",
"browser-version-on-platform": "%1 %2 на %3",
"consent.title": "Вашите права и съгласие",
"consent.lead": "Този обществен форум събира и обработва лична информация.",
"consent.intro": "Използваме тази информация, само за да персонализираме взаимодействието Ви с форума, както и за да свържем публикациите Ви с Вашия потребителски акаунт. По време на регистрацията ще трябва да въведете потребителско име и е-поща, но ако искате, можете да предоставите и допълнителна информация, за да завършите потребителския си профил в уеб сайта.<br /><br />Ние съхраняваме тази информация докато съществува потребителският Ви акаунт. Във всеки един момент можете да оттеглите съгласието си за това, като изтриете акаунта си. Във всеки един момент можете да изискате копие на въведеното от Вас в уеб сайт, чрез страницата за „Права и съгласие“.<br /><br />Ако имате въпроси или притеснения, можете да се свържете с екипа от администратори на форума.",

View File

@@ -1,11 +1,12 @@
{
"all-users": "Всички потребители",
"latest_users": "Последни потребители",
"top_posters": "С най-много публикации",
"most_reputation": "С най-много репутация",
"most_flags": "С най-много доклади",
"search": "Търсене",
"enter_username": "Въведете потребителско име, което да потърсите",
"search-user-for-chat": "Потърсете потребител, с когото да започнете разговор",
"search-user-for-chat": "Потърсете потребител, с когото да започнете разговор:",
"load_more": "Зареждане на още",
"users-found-search-took": "Намерени са %1 потребител(и)! Търсенето отне %2 секунди.",
"filter-by": "Филтриране",

View File

@@ -4,8 +4,6 @@
"acp-title": "%1 | NodeBB এডমিন কন্ট্রোল প্যানেল",
"settings-header-contents": "কনটেন্টস",
"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)"
}

View File

@@ -1,7 +1,7 @@
{
"custom-css": "Custom CSS/LESS",
"custom-css.description": "Enter your own CSS/LESS declarations here, which will be applied after all other styles.",
"custom-css.enable": "Enable Custom CSS/LESS",
"custom-css": "Custom CSS/SASS",
"custom-css.description": "Enter your own CSS/SASS declarations here, which will be applied after all other styles.",
"custom-css.enable": "Enable Custom CSS/SASS",
"custom-js": "Custom Javascript",
"custom-js.description": "Enter your own javascript here. It will be executed after the page is loaded completely.",

View File

@@ -83,8 +83,11 @@
"back-to-dashboard": "Back to Dashboard",
"details.no-users": "No users have joined within the selected timeframe",
"details.no-topics": "No topics have been posted within the selected timeframe",
"details.no-searches": "No searches have been made yet",
"details.no-searches": "No searches have been made within the selected timeframe",
"details.no-logins": "No logins have been recorded within the selected timeframe",
"details.logins-static": "NodeBB only saves session data for %1 days, and so this table below will only show the most recently active sessions",
"details.logins-login-time": "Login Time"
"details.logins-login-time": "Login Time",
"start": "Start",
"end": "End",
"filter": "Filter"
}

View File

@@ -8,9 +8,9 @@
"containers.none": "None",
"container.well": "Well",
"container.jumbotron": "Jumbotron",
"container.panel": "Panel",
"container.panel-header": "Panel Header",
"container.panel-body": "Panel Body",
"container.card": "Card",
"container.card-header": "Card Header",
"container.card-body": "Card Body",
"container.alert": "Alert",
"alert.confirm-delete": "Are you sure you wish to delete this widget?",

View File

@@ -39,6 +39,5 @@
"revert": "Revert",
"edit.no-users-found": "No Users Found",
"edit.confirm-remove-user": "Are you sure you want to remove this user?",
"edit.save-success": "Changes saved!"
"edit.confirm-remove-user": "Are you sure you want to remove this user?"
}

View File

@@ -49,7 +49,6 @@
"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-admins-mods": "<strong>Are you sure you wish to grant the &quot;Admins &amp; Mods&quot; privilege to this user/group?</strong> Users with this privilege are able to promote and demote other users into privileged positions, <em>including super administrator</em>",
"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 set of <strong>%1</strong> to <strong>all categories</strong>?",

View File

@@ -11,6 +11,9 @@
"uid": "User ID",
"uid-help-text": "Specify a User ID to associate with this token. If the user ID is <code>0</code>, it will be considered a <em>master</em> token, which can assume the identity of other users based on the <code>_uid</code> parameter",
"description": "Description",
"last-seen-ago": "Last used <span class=\"timeago\" title=\"%1\"></span>.",
"last-seen-on": "Last used on <span class=\"timeago\" title=\"%1\"></span>.",
"last-seen-never": "This key has never been used.",
"no-description": "No description specified.",
"token-on-save": "Token will be generated once form is saved"
}

View File

@@ -12,7 +12,7 @@
"groups": "Groups:",
"open-new-window": "Open in a new window",
"dropdown": "Dropdown",
"dropdown-placeholder": "Place your dropdown menu items below, ie: <br/>&lt;li&gt;&lt;a href&#x3D;&quot;https://myforum.com&quot;&gt;Link 1&lt;/a&gt;&lt;/li&gt;",
"dropdown-placeholder": "Place your dropdown menu items below, ie: <br/>&lt;li&gt;&lt;a class=&quot;dropdown-item&quot; href&#x3D;&quot;https://myforum.com&quot;&gt;Link 1&lt;/a&gt;&lt;/li&gt;",
"btn.delete": "Delete",
"btn.disable": "Disable",

View File

@@ -29,6 +29,8 @@
"session-time-days": "Days",
"session-time-seconds": "Seconds",
"session-time-help": "These values are used to govern how long a user stays logged in when they check &quot;Remember Me&quot; on login. Note that only one of these values will be used. If there is no <i>seconds</i> value we fall back to <i>days</i>. If there is no <i>days</i> value we default to <i>14 days</i>.",
"session-duration": "Session length if \"Remember Me\" is not checked (seconds)",
"session-duration-help": "By default — or if set to <code>0</code> — a user will stay logged in for the duration of the session (e.g. however long the browser window/tab remains open). Set this value to explicitly invalidate the session after the specified number of seconds.",
"online-cutoff": "Minutes after user is considered inactive",
"online-cutoff-help": "If user performs no actions for this duration, they are considered inactive and they do not receive realtime updates.",
"registration": "User Registration",

View File

@@ -62,6 +62,7 @@
"no-user": "এই নামে কোন সদস্য নেই",
"no-teaser": "টিজারটি খুজে পাওয়া যায় নি",
"no-flag": "Flag does not exist",
"no-chat-room": "Chat room does not exist",
"no-privileges": "এই কাজটির জন্য আপনার পর্যাপ্ত অধিকার নেই",
"category-disabled": "বিভাগটি নিষ্ক্রিয়",
"topic-locked": "টপিক বন্ধ",
@@ -88,6 +89,7 @@
"category-not-selected": "Category not selected.",
"too-many-posts": "You can only post once every %1 second(s) - please wait before posting again",
"too-many-posts-newbie": "As a new user, you can only post once every %1 second(s) until you have earned %2 reputation - please wait before posting again",
"already-posting": "You are already posting",
"tag-too-short": "Please enter a longer tag. Tags should contain at least %1 character(s)",
"tag-too-long": "Please enter a shorter tag. Tags can't be longer than %1 character(s)",
"not-enough-tags": "Not enough tags. Topics must have at least %1 tag(s)",
@@ -155,6 +157,9 @@
"chat-deleted-already": "This chat message has already been deleted.",
"chat-restored-already": "This chat message has already been restored.",
"chat-room-does-not-exist": "Chat room does not exist.",
"cant-add-users-to-chat-room": "Can't add users to chat room.",
"cant-remove-users-from-chat-room": "Can't remove users from chat room.",
"chat-room-name-too-long": "Chat room name too long.",
"already-voting-for-this-post": "You have already voted for this post.",
"reputation-system-disabled": "সম্মাননা ব্যাবস্থা নিস্ক্রীয় রাখা হয়েছে",
"downvoting-disabled": "ঋণাত্মক ভোট নিস্ক্রীয় রাখা হয়েছে।",
@@ -219,5 +224,6 @@
"api.429": "You have made too many requests, please try again later",
"api.500": "An unexpected error was encountered while attempting to service your request.",
"api.501": "The route you are trying to call is not implemented yet, please try again tomorrow",
"api.503": "The route you are trying to call is not currently available due to a server configuration"
"api.503": "The route you are trying to call is not currently available due to a server configuration",
"api.reauth-required": "The resource you are trying to access requires (re-)authentication."
}

View File

@@ -3,25 +3,27 @@
"reports": "Reports",
"first-reported": "First Reported",
"no-flags": "Hooray! No flags found.",
"x-flags-found": "%1 flag(s) found.",
"assignee": "Assignee",
"update": "Update",
"updated": "Updated",
"resolved": "Resolved",
"target-purged": "The content this flag referred to has been purged and is no longer available.",
"target-aboutme-empty": "This user has no &quot;About Me&quot; set.",
"graph-label": "Daily Flags",
"quick-filters": "Quick Filters",
"filter-active": "There are one or more filters active in this list of flags",
"filter-reset": "Remove Filters",
"filters": "Filter Options",
"filter-reporterId": "Reporter UID",
"filter-targetUid": "Flagged UID",
"filter-reporterId": "Reporter",
"filter-targetUid": "Reportee",
"filter-type": "Flag Type",
"filter-type-all": "All Content",
"filter-type-post": "Post",
"filter-type-user": "User",
"filter-state": "State",
"filter-assignee": "Assignee UID",
"filter-assignee": "Assignee",
"filter-cid": "Category",
"filter-quick-mine": "Assigned to me",
"filter-cid-all": "All categories",
@@ -45,6 +47,7 @@
"notes": "Flag Notes",
"add-note": "Add Note",
"edit-note": "Edit Note",
"no-notes": "No shared notes.",
"delete-note-confirm": "Are you sure you want to delete this flag note?",
"delete-flag-confirm": "Are you sure you want to delete this flag?",

View File

@@ -37,9 +37,13 @@
"header.notifications": "বিজ্ঞপ্তি",
"header.search": "অনুসন্ধান",
"header.profile": "প্রোফাইল",
"header.account": "Account",
"header.navigation": "Navigation",
"header.manage": "Manage",
"header.drafts": "Drafts",
"notifications.loading": "বিজ্ঞপ্তিগুলি লোড হচ্ছে",
"chats.loading": "কথোপকথনগুলি লোড হচ্ছে ",
"drafts.loading": "Loading Drafts",
"motd.welcome": "ভবিষ্যতের আলোচনার প্লাটফর্ম, NodeBB তে স্বাগতম।",
"previouspage": "আগের পাতা",
"nextpage": "পরের পাতা",
@@ -54,7 +58,8 @@
"users": "ব্যবহারকারীগণ",
"topics": "টপিক",
"posts": "পোস্টগুলি",
"x-posts": "%1 posts",
"x-posts": "<span class=\"formatted-number\">%1</span> posts",
"x-topics": "<span class=\"formatted-number\">%1</span> topics",
"best": "Best",
"controversial": "Controversial",
"votes": "Votes",
@@ -69,6 +74,7 @@
"reputation": "সন্মাননা",
"lastpost": "Last post",
"firstpost": "First post",
"about": "About",
"read_more": "আরো পড়ুন",
"more": "আরো...",
"none": "None",
@@ -82,11 +88,13 @@
"user_posted_ago": "%1 পোস্ট করেছেন %2",
"guest_posted_ago": "অতিথি পোস্ট করেছেন %1",
"last_edited_by": "last edited by %1",
"edited-timestamp": "Edited %1",
"norecentposts": "কোনও সাম্প্রতিক পোস্ট নেই",
"norecenttopics": "কোনও সাম্প্রতিক টপিক নেই",
"recentposts": "সাম্প্রতিক পোস্ট",
"recentips": "সাম্প্রতিক প্রবেশকৃত আইপি সমুহ",
"moderator_tools": "Moderator Tools",
"status": "Status",
"online": "অনলাইন",
"away": "দূরে",
"dnd": "Do not disturb",
@@ -122,5 +130,7 @@
"edited": "Edited",
"disabled": "Disabled",
"select": "Select",
"user-search-prompt": "Type something here to find users..."
"user-search-prompt": "Type something here to find users...",
"hidden": "Hidden",
"sort": "Sort"
}

View File

@@ -1,5 +1,6 @@
{
"groups": "গ্রুপসমূহ",
"members": "Members",
"view_group": "গ্রুপ দেখুন",
"owner": "Group Owner",
"new_group": "Create New Group",

View File

@@ -1,7 +1,11 @@
{
"chat.chatting_with": "Chat with",
"chat.placeholder": "Type chat message here, drag & drop images, press enter to send",
"chat.placeholder.mobile": "Type chat message here",
"chat.scroll-up-alert": "You are looking at older messages, click here to go to most recent message.",
"chat.usernames-and-x-others": "%1 & %2 others",
"chat.chat-with-usernames": "Chat with %1",
"chat.chat-with-usernames-and-x-others": "Chat with %1 & %2 others",
"chat.send": "প্রেরন করুন",
"chat.no_active": "আপনার কোন সচল কথোপকথন নেই",
"chat.user_typing": "%1 লিখছেন",
@@ -42,6 +46,7 @@
"composer.compose": "Compose",
"composer.show_preview": "Show Preview",
"composer.hide_preview": "Hide Preview",
"composer.help": "Help",
"composer.user_said_in": "%1 বলেছেন %2:",
"composer.user_said": "%1 বলেছেনঃ",
"composer.discard": "আপনি কি নিশ্চিত যে আপনি এই পোস্ট বাতিল করতে ইচ্ছুক?",
@@ -65,6 +70,9 @@
"composer.schedule-time": "Time",
"composer.cancel-scheduling": "Cancel Scheduling",
"composer.set-schedule-date": "Set Date",
"composer.discard-all-drafts": "Discard all drafts",
"composer.no-drafts": "You have no drafts",
"composer.discard-draft-confirm": "Do you want to discard this draft?",
"bootbox.ok": "OK",
"bootbox.cancel": "Cancel",
"bootbox.confirm": "Confirm",

View File

@@ -49,6 +49,7 @@
"account/watched_categories": "%1's Watched Categories",
"account/bookmarks": "%1's Bookmarked Posts",
"account/settings": "User Settings",
"account/settings-of": "Changing settings of %1",
"account/watched": "Topics watched by %1",
"account/ignored": "Topics ignored by %1",
"account/upvoted": "Posts upvoted by %1",

View File

@@ -1,8 +1,12 @@
{
"post-queue": "Post Queue",
"description": "There are no posts in the post queue. <br> To enable this feature, go to <a href=\"%1\">Settings &rarr; Post &rarr; Post Queue</a> and enable <strong>Post Queue</strong>.",
"no-queued-posts": "There are no posts in the post queue.",
"no-single-post": "The topic or post you are looking for is no longer in the queue. It has likely been approved or deleted already.",
"enabling-help": "To enable this feature, go to <a href=\"%1\">Settings &rarr; Post &rarr; Post Queue</a> and enable <strong>Post Queue</strong>.",
"back-to-list": "Back to Post Queue",
"user": "User",
"when": "When",
"category": "Category",
"title": "Title",
"content": "Content",
@@ -19,6 +23,7 @@
"notify": "Notify",
"notify-user": "Notify User",
"confirm-reject": "Do you want to reject this post?",
"confirm-remove": "Do you want to remove this post?",
"bulk-actions": "Bulk Actions",
"accept-all": "Accept All",
"accept-selected": "Accept Selected",
@@ -26,6 +31,10 @@
"reject-all-confirm": "Do you want to reject all posts?",
"reject-selected": "Reject Selected",
"reject-selected-confirm": "Do you want to reject %1 selected posts?",
"remove-all": "Remove all",
"remove-all-confirm": "Do you want to remove all posts?",
"remove-selected": "Remove Selected",
"remove-selected-confirm": "Do you want to remove %1 selected posts?",
"bulk-accept-success": "%1 posts accepted",
"bulk-reject-success": "%1 posts rejected"
}

View File

@@ -1,5 +1,6 @@
{
"register": "নিবন্ধন",
"already-have-account": "Already have an account?",
"cancel_registration": "নিবন্ধন বাতিল",
"help.email": "ডিফল্টভাবে, আপনার ইমেইল সর্বসাধারণ থেকে লুকানো থাকবে।",
"help.username_restrictions": "%1 এবং %2 অক্ষরের মাঝে একটি অনন্য সদস্য নাম। বাকিরা আপনাকে @<span id='yourUsername'>নাম</span> দিয়ে উল্লেখ করতে পারবেন।",

View File

@@ -1,21 +1,41 @@
{
"type-to-search": "Type to search",
"results_matching": "\"%2\" এর সাথে মিলিয়ে %1 ফলাফল পাওয়া গেছে, ( %3 seconds সময় লেগেছে )",
"no-matches": "কোন মিল খুঁজে পাওয়া যায় নি",
"advanced-search": "এডভান্সড সার্চ",
"in": "এর মধ্যে",
"titles": "টাইটেলস",
"titles-posts": "টাইটেল এবং পোস্ট সমূহ",
"in-titles": "In titles",
"in-titles-posts": "In titles and posts",
"in-posts": "In posts",
"in-categories": "In categories",
"in-users": "In users",
"in-tags": "In tags",
"categories": "Categories",
"all-categories": "All categories",
"categories-x": "Categories: %1",
"categories-watched-categories": "Categories: Watched categories",
"type-a-category": "Type a category",
"tags": "Tags",
"tags-x": "Tags: %1",
"type-a-tag": "Type a tag",
"match-words": "Match words",
"match-all-words": "Match all words",
"match-any-word": "Match any word",
"all": "All",
"any": "Any",
"posted-by": "পোষ্ট করেছেন",
"in-categories": "বিভাগের ভিতরে",
"posted-by-usernames": "Posted by: %1",
"type-a-username": "Type a username",
"search-child-categories": "উপবিভাগের ভিতরে",
"has-tags": "Has tags",
"reply-count": "রিপ্লাই কাউন্ট",
"replies": "Replies",
"replies-atleast-count": "Replies: At least %1",
"replies-atmost-count": "Replies: At most %1",
"at-least": "কমপক্ষে",
"at-most": "সর্বোচ্চ",
"relevance": "Relevance",
"time": "Time",
"post-time": "পোস্টের সময়",
"votes": "Votes",
"newer-than": "Newer than",
@@ -28,7 +48,22 @@
"three-months": "তিন মাস",
"six-months": "ছয় মাস",
"one-year": "এক বছর",
"time-newer-than-86400": "Time: Newer than yesterday",
"time-older-than-86400": "Time: Older than yesterday",
"time-newer-than-604800": "Time: Newer than one week",
"time-older-than-604800": "Time: Older than one week",
"time-newer-than-1209600": "Time: Newer than two weeks",
"time-older-than-1209600": "Time: Older than two weeks",
"time-newer-than-2592000": "Time: Newer than one month",
"time-older-than-2592000": "Time: Older than one month",
"time-newer-than-7776000": "Time: Newer than three months",
"time-older-than-7776000": "Time: Older than three months",
"time-newer-than-15552000": "Time: Newer than six months",
"time-older-than-15552000": "Time: Older than six months",
"time-newer-than-31104000": "Time: Newer than one year",
"time-older-than-31104000": "Time: Older than one year",
"sort-by": "সাজানোর ভিত্তি",
"sort": "Sort",
"last-reply-time": "সর্বশেষ রিপ্লাইয়ের সময়",
"topic-title": "টপিকের টাইটেল",
"topic-votes": "Topic votes",
@@ -39,11 +74,36 @@
"category": "বিভাগ",
"descending": "বড় থেকে ছোট অর্ডারে",
"ascending": "ছোট থেকে বড় অর্ডারে",
"sort-by-relevance-desc": "Sort by: Relevance in descending order",
"sort-by-relevance-asc": "Sort by: Relevance in ascending order",
"sort-by-timestamp-desc": "Sort by: Post time in descending order",
"sort-by-timestamp-asc": "Sort by: Post time in ascending order",
"sort-by-votes-desc": "Sort by: Votes in descending order",
"sort-by-votes-asc": "Sort by: Votes in ascending order",
"sort-by-topic.lastposttime-desc": "Sort by: Last reply time in descending order",
"sort-by-topic.lastposttime-asc": "Sort by: Last reply time in ascending order",
"sort-by-topic.title-desc": "Sort by: Topic title in descending order",
"sort-by-topic.title-asc": "Sort by: Topic title in ascending order",
"sort-by-topic.postcount-desc": "Sort by: Number of replies in descending order",
"sort-by-topic.postcount-asc": "Sort by: Number of replies in ascending order",
"sort-by-topic.viewcount-desc": "Sort by: Number of views in descending order",
"sort-by-topic.viewcount-asc": "Sort by: Number of views in ascending order",
"sort-by-topic.votes-desc": "Sort by: Topic votes in descending order",
"sort-by-topic.votes-asc": "Sort by: Topic votes in ascending order",
"sort-by-topic.timestamp-desc": "Sort by: Topic start date in descending order",
"sort-by-topic.timestamp-asc": "Sort by: Topic start date in ascending order",
"sort-by-user.username-desc": "Sort by: Username in descending order",
"sort-by-user.username-asc": "Sort by: Username in ascending order",
"sort-by-category.name-desc": "Sort by: Category in descending order",
"sort-by-category.name-asc": "Sort by: Category in ascending order",
"save": "Save",
"save-preferences": "প্রেফারেন্স সেভ",
"clear-preferences": "Clear preferences",
"search-preferences-saved": "Search preferences saved",
"search-preferences-cleared": "Search preferences cleared",
"show-results-as": "ফলাফল দেখানো হোক : ",
"show-results-as-topics": "Show results as topics",
"show-results-as-posts": "Show results as posts",
"see-more-results": "See more results (%1)",
"search-in-category": "Search in \"%1\""
}

View File

@@ -1,5 +1,7 @@
{
"all-tags": "All tags",
"no_tag_topics": "এই ট্যাগ সম্বলিত কোন টপিক নেই",
"no-tags-found": "No tags found",
"tags": "ট্যাগসমূহ",
"enter_tags_here": "Enter tags here, between %1 and %2 characters each.",
"enter_tags_here_short": "ট্যাগ বসান",

View File

@@ -39,16 +39,30 @@
"copy-ip": "Copy IP",
"ban-ip": "Ban IP",
"view-history": "Edit History",
"locked-by": "Locked by",
"unlocked-by": "Unlocked by",
"pinned-by": "Pinned by",
"unpinned-by": "Unpinned by",
"deleted-by": "Deleted by",
"restored-by": "Restored by",
"moved-from-by": "Moved from %1 by",
"queued-by": "Post queued for approval &rarr;",
"backlink": "Referenced by",
"forked-by": "Forked by",
"wrote-ago": "wrote <a href=\"%1\" class=\"timeago text-muted\" title=\"%2\"></a>",
"wrote-on": "wrote on <a href=\"%1\" class=\"timeago text-muted\" title=\"%2\"></a>",
"replied-to-user-ago": "replied to <a component=\"post/parent\" data-topid=\"%1\" href=\"%2\">%3</a> <a href=\"%4\" class=\"timeago text-muted\" title=\"%5\"></a>",
"replied-to-user-on": "replied to <a component=\"post/parent\" data-topid=\"%1\" href=\"%2\">%3</a> on <a hrf=\"%4\" class=\"timeago text-muted\" title=\"%5\"></a>",
"user-locked-topic-ago": "%1 locked this topic %2",
"user-locked-topic-on": "%1 locked this topic on %2",
"user-unlocked-topic-ago": "%1 unlocked this topic %2",
"user-unlocked-topic-on": "%1 unlocked this topic on %2",
"user-pinned-topic-ago": "%1 pinned this topic %2",
"user-pinned-topic-on": "%1 pinned this topic on %2",
"user-unpinned-topic-ago": "%1 unpinned this topic %2",
"user-unpinned-topic-on": "%1 unpinned this topic on %2",
"user-deleted-topic-ago": "%1 deleted this topic %2",
"user-deleted-topic-on": "%1 deleted this topic on %2",
"user-restored-topic-ago": "%1 restored this topic %2",
"user-restored-topic-on": "%1 restored this topic on %2",
"user-moved-topic-from-ago": "%1 moved this topic from %2 %3",
"user-moved-topic-from-on": "%1 moved this topic from %2 on %3",
"user-queued-post-ago": "%1 <a href=\"%2\">queued</a> post for approval %3",
"user-queued-post-on": "%1 <a href=\"%2\">queued</a> post for approval on %3",
"user-referenced-topic-ago": "%1 <a href=\"%2\">referenced</a> this topic %3",
"user-referenced-topic-on": "%1 <a href=\"%2\">referenced</a> this topic on %3",
"user-forked-topic-ago": "%1 <a href=\"%2\">forked</a> this topic %3",
"user-forked-topic-on": "%1 <a href=\"%2\">forked</a> this topic on %3",
"bookmark_instructions": "Click here to return to the last read post in this thread.",
"flag-post": "Flag this post",
"flag-user": "Flag this user",
@@ -95,7 +109,7 @@
"thread_tools.purge": "টপিক পার্জ করুন",
"thread_tools.purge_confirm": "আপনি নিশ্চিত যে আপনি টপিকটি পার্জ করতে চাচ্ছেন ? ",
"thread_tools.merge_topics": "Merge Topics",
"thread_tools.merge": "Merge",
"thread_tools.merge": "Merge Topic",
"topic_move_success": "This topic will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_multiple_success": "These topics will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_all_success": "All topics will be moved to \"%1\" shortly. Click here to undo.",
@@ -121,7 +135,7 @@
"post_moved": "পোষ্ট সরানো হয়েছে",
"fork_topic": "টপিক ফর্ক করুন",
"enter-new-topic-title": "Enter new topic title",
"fork_topic_instruction": "যে পোষ্টটি ফর্ক করতে চান সেটি ক্লিক করুন",
"fork_topic_instruction": "Click the posts you want to fork, enter a title for the new topic and click fork topic",
"fork_no_pids": "কোন পোষ্ট সিলেক্ট করা হয় নি",
"no-posts-selected": "No posts selected!",
"x-posts-selected": "%1 post(s) selected",
@@ -136,9 +150,11 @@
"merge-new-title-for-topic": "New title for topic",
"topic-id": "Topic ID",
"move_posts_instruction": "Click the posts you want to move then enter a topic ID or go to the target topic",
"move_topic_instruction": "Select the target category and then click move",
"change_owner_instruction": "Click the posts you want to assign to another user",
"composer.title_placeholder": "আপনার টপিকের শিরোনাম দিন",
"composer.handle_placeholder": "Enter your name/handle here",
"composer.hide": "Hide",
"composer.discard": "বাতিল",
"composer.submit": "সাবমিট",
"composer.additional-options": "Additional Options",
@@ -184,5 +200,7 @@
"last-post": "Last post",
"go-to-my-next-post": "Go to my next post",
"no-more-next-post": "You don't have more posts in this topic",
"post-quick-reply": "Post quick reply"
"post-quick-reply": "Quick reply",
"navigator.index": "Post %1 of %2",
"navigator.unread": "%1 unread"
}

View File

@@ -43,6 +43,7 @@
"followers": "যাদের অনুসরণ করছেন",
"following": "যারা আপনাকে অনুসরণ করছে",
"blocks": "Blocks",
"blocked-users": "Blocked users",
"block_toggle": "Toggle Block",
"block_user": "Block User",
"unblock_user": "Unblock User",
@@ -68,6 +69,7 @@
"upload_new_picture": "নতুন ছবি আপলোড করুন",
"upload_new_picture_from_url": "URL থেকে নতুন ছবি আপলোড করুন",
"current_password": "বর্তমান পাসওয়ার্ড",
"new_password": "New Password",
"change_password": "পাসওয়ার্ড পরিবর্তন",
"change_password_error": "অগ্রহনযোগ্য পাসওয়ার্ড",
"change_password_error_wrong_current": "আপনার পাসওয়ার্ড সঠিক নয়",
@@ -115,6 +117,8 @@
"paginate_description": "ইনফাইনাইট স্ক্রলের বদলে টপিক ও পোস্টের জন্য পেজিনেশন ব্যাবহার করা হোক",
"topics_per_page": "প্রতি পেজে কতগুলো টপিক থাকবে",
"posts_per_page": "প্রতি পেইজে কতগুলো পোষ্ট থাকবে",
"category-topic-sort": "Category topic sort",
"topic-post-sort": "Topic post sort",
"max_items_per_page": "Maximum %1",
"acp_language": "Admin Page Language",
"notifications": "Notifications",
@@ -168,6 +172,8 @@
"info.moderation-note.success": "Moderation note saved",
"info.moderation-note.add": "Add note",
"sessions.description": "This page allows you to view any active sessions on this forum and revoke them if necessary. You can revoke your own session by logging out of your account.",
"revoke-session": "Revoke Session",
"browser-version-on-platform": "%1 %2 on %3",
"consent.title": "Your Rights &amp; Consent",
"consent.lead": "This community forum collects and processes your personal information.",
"consent.intro": "We use this information strictly to personalise your experience in this community, as well as to associate the posts you make to your user account. During the registration step you were asked to provide a username and email address, you can also optionally provide additional information to complete your user profile on this website.<br /><br />We retain this information for the life of your user account, and you are able to withdraw consent at any time by deleting your account. At any time you may request a copy of your contribution to this website, via your Rights &amp; Consent page.<br /><br />If you have any questions or concerns, we encourage you to reach out to this forum's administrative team.",

View File

@@ -1,11 +1,12 @@
{
"all-users": "All Users",
"latest_users": "সর্বশেষ নিবন্ধিত সদস্যরা:",
"top_posters": "সর্বোচ্চ পোষ্টকারী",
"most_reputation": "সর্বোচ্চ সম্মাননাধারী",
"most_flags": "সর্বোচ্চ অভিযোগ",
"search": "খুঁজুন",
"enter_username": "ইউজারনেম এর ভিত্তিতে সার্চ করুন",
"search-user-for-chat": "Search a user to start chat",
"search-user-for-chat": "Search for a user to start chat:",
"load_more": "আরো লোড করুন",
"users-found-search-took": "%1 জন সদস্য(দের) খুঁজে পাওয়া গেছে। খুঁজতে সময় লেগেছে %2 সেকেন্ড ",
"filter-by": "ফিল্টার করার ধরন",

View File

@@ -4,8 +4,6 @@
"acp-title": "Ovládací panel správce NodeBB | %1",
"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)"
}

View File

@@ -1,7 +1,7 @@
{
"custom-css": "Uživatelský CSS/LESS",
"custom-css.description": "Zadejte vlastní definici CSS/LESS, která bude nadřazená ostatním stylům.",
"custom-css.enable": "Povolit uživatelský CSS/LESS",
"custom-css": "Custom CSS/SASS",
"custom-css.description": "Enter your own CSS/SASS declarations here, which will be applied after all other styles.",
"custom-css.enable": "Enable Custom CSS/SASS",
"custom-js": "Uživatelský Javascript",
"custom-js.description": "Zadejte zde váš javascriptový kód. Bude spuštěn, jakmile se stránka plně načte.",

View File

@@ -83,8 +83,11 @@
"back-to-dashboard": "Back to Dashboard",
"details.no-users": "No users have joined within the selected timeframe",
"details.no-topics": "No topics have been posted within the selected timeframe",
"details.no-searches": "No searches have been made yet",
"details.no-searches": "No searches have been made within the selected timeframe",
"details.no-logins": "No logins have been recorded within the selected timeframe",
"details.logins-static": "NodeBB only saves session data for %1 days, and so this table below will only show the most recently active sessions",
"details.logins-login-time": "Login Time"
"details.logins-login-time": "Login Time",
"start": "Start",
"end": "End",
"filter": "Filter"
}

View File

@@ -8,9 +8,9 @@
"containers.none": "Nic",
"container.well": "Well",
"container.jumbotron": "Jumbotron",
"container.panel": "Panel",
"container.panel-header": "Hlavička panelu",
"container.panel-body": "Tělo panelu",
"container.card": "Card",
"container.card-header": "Card Header",
"container.card-body": "Card Body",
"container.alert": "Upozornění",
"alert.confirm-delete": "Jste si jist/a, že chcete smazat tuto miniaplikaci?",

View File

@@ -39,6 +39,5 @@
"revert": "Zpět",
"edit.no-users-found": "Nenalezen žádný uživatel",
"edit.confirm-remove-user": "Jste si jist/a, že chcete vyřadit tohoto uživatele?",
"edit.save-success": "Změny byly uloženy."
"edit.confirm-remove-user": "Jste si jist/a, že chcete vyřadit tohoto uživatele?"
}

View File

@@ -49,7 +49,6 @@
"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-admins-mods": "<strong>Are you sure you wish to grant the &quot;Admins &amp; Mods&quot; privilege to this user/group?</strong> Users with this privilege are able to promote and demote other users into privileged positions, <em>including super administrator</em>",
"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 set of <strong>%1</strong> to <strong>all categories</strong>?",

View File

@@ -11,6 +11,9 @@
"uid": "User ID",
"uid-help-text": "Specify a User ID to associate with this token. If the user ID is <code>0</code>, it will be considered a <em>master</em> token, which can assume the identity of other users based on the <code>_uid</code> parameter",
"description": "Description",
"last-seen-ago": "Last used <span class=\"timeago\" title=\"%1\"></span>.",
"last-seen-on": "Last used on <span class=\"timeago\" title=\"%1\"></span>.",
"last-seen-never": "This key has never been used.",
"no-description": "No description specified.",
"token-on-save": "Token will be generated once form is saved"
}

View File

@@ -12,7 +12,7 @@
"groups": "Skupiny:",
"open-new-window": "Otevřít v novém okně",
"dropdown": "Dropdown",
"dropdown-placeholder": "Place your dropdown menu items below, ie: <br/>&lt;li&gt;&lt;a href&#x3D;&quot;https://myforum.com&quot;&gt;Link 1&lt;/a&gt;&lt;/li&gt;",
"dropdown-placeholder": "Place your dropdown menu items below, ie: <br/>&lt;li&gt;&lt;a class=&quot;dropdown-item&quot; href&#x3D;&quot;https://myforum.com&quot;&gt;Link 1&lt;/a&gt;&lt;/li&gt;",
"btn.delete": "Odstranit",
"btn.disable": "Zakázat",

View File

@@ -29,6 +29,8 @@
"session-time-days": "Dny",
"session-time-seconds": "Sekundy",
"session-time-help": "Tyto hodnoty jsou využity v rozhodujícím procesu, jak dlouho zůstane uživatel přihlášen při zaškrtnutí „Zapamatovat si mě”. Nezapomeňte, že bude použita jen jedna hodnota. Jestli není nastavena hodnota v <i>sekundách</i>, budou brány v potaz <i>dny</i>. Nebudou-li nastaveny <i>dny</i>, hodnota bude standardně <i>14 dní</i>.",
"session-duration": "Session length if \"Remember Me\" is not checked (seconds)",
"session-duration-help": "By default — or if set to <code>0</code> — a user will stay logged in for the duration of the session (e.g. however long the browser window/tab remains open). Set this value to explicitly invalidate the session after the specified number of seconds.",
"online-cutoff": "Počet minut, kdy je uživatel považován za neaktivního",
"online-cutoff-help": "Nebude-li uživatel vykonávat žádnou akci v tomto časovém rozpětí, bude považován za neaktivního a nebude docházet k automatickým aktualizacím.",
"registration": "Registrace uživatele",

View File

@@ -19,5 +19,5 @@
"notwatching.message": "Nyní nesledujete aktualizace z této kategorie a všech podkategorií",
"ignoring.message": "Nyní ignorujete aktualizace této kategorie a všech jejich kategorii",
"watched-categories": "Sledované kategorie",
"x-more-categories": "%1 more categories"
"x-more-categories": "%1 dalších kategorií"
}

View File

@@ -6,9 +6,9 @@
"greeting_no_name": "Dobrý den",
"greeting_with_name": "Dobrý den %1",
"email.verify-your-email.subject": "Ověřte prosím vaší e-mailovou adresu",
"email.verify.text1": "You've requested that we change or confirm your email address",
"email.verify.text2": "For security purposes, we only change or confirm the email address on file once its ownership has been confirmed via email. <strong>If you did not request this, no action is required on your part.</strong>",
"email.verify.text3": "Once you confirm this email address, we will replace your current email address with this one (%1).",
"email.verify.text1": "Požádali jste o změnu nebo potvrzení Vaší emailové adresy",
"email.verify.text2": "Z bezpečnostních důvodů potvrzujeme emailové adresy až ve chvíli, kdy potvrdíte jejich vlastnictví. <strong>Pokud jste toto nevyžádali, není třeba na Vaší straně žádné další akce.</strong>",
"email.verify.text3": "Jakmile adresu potvrdíte, nahradíme vaši současnou emailovou adresu touto (%1).",
"welcome.text1": "Děkujeme vám za registraci na %1!",
"welcome.text2": "Pro úplnou aktivaci vašeho účtu potřebujeme ověřit vaši e-mailovou adresu.",
"welcome.text3": "Administrátor právě potvrdil vaší registraci. Nyní se můžete přihlásit jménem a heslem.",
@@ -23,8 +23,8 @@
"reset.notify.text1": "Informujeme Vás, že na %1 vaše heslo bylo úspěšně změněno.",
"reset.notify.text2": "Pokud jste to neschválil, prosíme neprodleně kontaktujte správce.",
"digest.latest_topics": "Nejnovější témata od %1",
"digest.top-topics": "Top topics from %1",
"digest.popular-topics": "Popular topics from %1",
"digest.top-topics": "Nejlepší témata od %1",
"digest.popular-topics": "Oblíbená témata od %1",
"digest.cta": "Kliknutím zde navštívíte %1",
"digest.unsub.info": "Tento výtah vám byl odeslán, protože jste si to nastavili ve vašich odběrech.",
"digest.day": "den",
@@ -48,8 +48,8 @@
"unsub.cta": "Chcete-li změnit tyto nastavení, klikněte zde.",
"unsubscribe": "odhlásit",
"unsub.success": "Již nebudete nadále dostávat e-maily z <strong>%1</strong>",
"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>)",
"unsub.failure.title": "Zrušení odběru selhalo",
"unsub.failure.message": "Bohužel jsme nebyli schopni Vás odebrat z emailové korespondence, jelikož nastal problém s odkazem. Nicméně je možné upravit emailové předvolby ve Vašich <a href=\"%2\">uživatelských nastaveních</a>. <br /> <br /> (chyba: <code>%1</code>)",
"banned.subject": "Byl jste zablokován od %1",
"banned.text1": "Uživatel %1 byl zablokován od %2",
"banned.text2": "Blokace bude trvat do %1",

View File

@@ -62,6 +62,7 @@
"no-user": "Uživatel neexistuje",
"no-teaser": "Chyták neexistuje",
"no-flag": "Flag does not exist",
"no-chat-room": "Chat room does not exist",
"no-privileges": "Na tuto akci nemáte dostatečné oprávnění.",
"category-disabled": "Kategorie zakázána",
"topic-locked": "Téma uzamknuto",
@@ -88,6 +89,7 @@
"category-not-selected": "Nebyla vybrána kategorie.",
"too-many-posts": "Můžete přispívat jednou za %1 sekund - vyčkejte tedy, než vytvoříte další příspěvek",
"too-many-posts-newbie": "Jako nový uživatel, můžete přispívat jednou za %1 sekund, dokud nezískáte pověst %2 - vyčkejte tedy, než vytvoříte další příspěvek",
"already-posting": "You are already posting",
"tag-too-short": "Zadejte delší značku. Značky by měli mít alespoň %1 znaků",
"tag-too-long": "Zadejte kratší značku. Značky nesmí být delší než %1 znaků",
"not-enough-tags": "Málo značek. Téma musí obsahovat alespoň %1 značek",
@@ -155,6 +157,9 @@
"chat-deleted-already": "Tato konverzační zpráva již byla odstraněna.",
"chat-restored-already": "Tato konverzační zpráva již byla obnovena.",
"chat-room-does-not-exist": "Chat room does not exist.",
"cant-add-users-to-chat-room": "Can't add users to chat room.",
"cant-remove-users-from-chat-room": "Can't remove users from chat room.",
"chat-room-name-too-long": "Chat room name too long.",
"already-voting-for-this-post": "Již jste v tomto příspěvku hlasoval.",
"reputation-system-disabled": "Systém reputací je zakázán.",
"downvoting-disabled": "Systém nesouhlasu je zakázán",
@@ -219,5 +224,6 @@
"api.429": "You have made too many requests, please try again later",
"api.500": "An unexpected error was encountered while attempting to service your request.",
"api.501": "The route you are trying to call is not implemented yet, please try again tomorrow",
"api.503": "The route you are trying to call is not currently available due to a server configuration"
"api.503": "The route you are trying to call is not currently available due to a server configuration",
"api.reauth-required": "The resource you are trying to access requires (re-)authentication."
}

View File

@@ -3,33 +3,35 @@
"reports": "Reports",
"first-reported": "First Reported",
"no-flags": "Hurá, žádné označení.",
"x-flags-found": "%1 flag(s) found.",
"assignee": "Nabyvatel",
"update": "Aktualizovat",
"updated": "Aktualizováno",
"resolved": "Resolved",
"target-purged": "Obsah, na který se toto označení vztahuje, byl vymazán a již není k dispozici.",
"target-aboutme-empty": "This user has no &quot;About Me&quot; set.",
"graph-label": "Denní označení",
"quick-filters": "Rychlé filtry",
"filter-active": "V tomto seznamu označení je jeden nebo více aktivních filtrů",
"filter-reset": "Vyjmout filtry",
"filters": "Možnosti filtru",
"filter-reporterId": "UID ohlašovatele",
"filter-targetUid": "UID označení",
"filter-reporterId": "Reporter",
"filter-targetUid": "Reportee",
"filter-type": "Typ označení",
"filter-type-all": "Všechen obsah",
"filter-type-post": "Příspěvek",
"filter-type-user": "Uživatel",
"filter-state": "Stav",
"filter-assignee": "UID nabyvatele",
"filter-assignee": "Assignee",
"filter-cid": "Kategorie",
"filter-quick-mine": "Přiřazeno mě",
"filter-cid-all": "Všechny kategorie",
"apply-filters": "Použít filtry",
"more-filters": "More Filters",
"fewer-filters": "Fewer Filters",
"more-filters": "Další filtry",
"fewer-filters": "Méně filtrů",
"quick-actions": "Quick Actions",
"quick-actions": "Rychlé akce",
"flagged-user": "Označený uživatel",
"view-profile": "Zobrazit profil",
"start-new-chat": "Začít novou konverzaci",
@@ -45,6 +47,7 @@
"notes": "Poznámky označení",
"add-note": "Přidat poznámku",
"edit-note": "Edit Note",
"no-notes": "Žádné sdílené poznámky.",
"delete-note-confirm": "Are you sure you want to delete this flag note?",
"delete-flag-confirm": "Are you sure you want to delete this flag?",
@@ -62,7 +65,7 @@
"state-rejected": "Zamítnuto",
"no-assignee": "Nepřiřazeno",
"sort": "Sort by",
"sort": "Seřadit dle",
"sort-newest": "Newest first",
"sort-oldest": "Oldest first",
"sort-reports": "Most reports",

View File

@@ -23,23 +23,27 @@
"close": "Zrušit",
"pagination": "Stránkování",
"pagination.out_of": "%1 z %2",
"pagination.enter_index": "Go to post index",
"pagination.enter_index": "Přejít na n-tý příspěvek",
"header.admin": "Administrace",
"header.categories": "Kategorie",
"header.recent": "Nejnovější",
"header.unread": "Nepřečtené",
"header.tags": "Značky",
"header.popular": "Populární",
"header.top": "Top",
"header.top": "Nejlepší",
"header.users": "Uživatelé",
"header.groups": "Skupiny",
"header.chats": "Chaty",
"header.notifications": "Upozornění",
"header.search": "Hledat",
"header.profile": "Profil",
"header.account": "Account",
"header.navigation": "Navigace",
"header.manage": "Manage",
"header.drafts": "Drafts",
"notifications.loading": "Načítání upozornění",
"chats.loading": "Načítání chatů",
"drafts.loading": "Loading Drafts",
"motd.welcome": "Vítejte na NodeBB, diskusní platforma buducnosti.",
"previouspage": "Předchozí stránka",
"nextpage": "Další stránka",
@@ -54,24 +58,26 @@
"users": "Uživatelé",
"topics": "Témata",
"posts": "Příspěvky",
"x-posts": "%1 posts",
"x-posts": "<span class=\"formatted-number\">%1</span> posts",
"x-topics": "<span class=\"formatted-number\">%1</span> topics",
"best": "Nejlepší",
"controversial": "Controversial",
"controversial": "Kontroverzní",
"votes": "Počet hlasů",
"x-votes": "%1 votes",
"voters": "Voters",
"x-votes": "%1 hlasů",
"voters": "Hlasující",
"upvoters": "Souhlasník",
"upvoted": "Souhlasů",
"downvoters": "Nesouhlasník",
"downvoted": "Nesouhlasů",
"views": "Zobrazení",
"posters": "Posters",
"posters": "Přispěvatelé",
"reputation": "Reputace",
"lastpost": "Poslední příspěvek",
"firstpost": "První příspěvek",
"about": "About",
"read_more": "čtěte více",
"more": "Více",
"none": "None",
"none": "Žádné",
"posted_ago_by_guest": "přispěl %1 host",
"posted_ago_by": "přispěl %1 od %2",
"posted_ago": "přispěl %1",
@@ -82,11 +88,13 @@
"user_posted_ago": "%1 přispěl %2",
"guest_posted_ago": "Host přispěl %1",
"last_edited_by": "naposledy upravil %1",
"edited-timestamp": "Edited %1",
"norecentposts": "Žádné nedávné příspěvky",
"norecenttopics": "Žádné nedávné témata",
"recentposts": "Nedávné příspěvky",
"recentips": "Naposledy zaznamenané IP adresy",
"moderator_tools": "Nástroje moderátora",
"status": "Status",
"online": "Online",
"away": "Pryč",
"dnd": "Nevyrušovat",
@@ -97,8 +105,8 @@
"guest": "Host",
"guests": "Hosté",
"former_user": "Bývalý uživatel",
"system-user": "System",
"unknown-user": "Unknown user",
"system-user": "Systém",
"unknown-user": "Neznámý uživatel",
"updated.title": "Fórum bylo zaktualizováno",
"updated.message": "Toto fórum bylo právě aktualizováno na poslední verzi. Klikněte zde a obnovte tuto stránku.",
"privacy": "Soukromí",
@@ -122,5 +130,7 @@
"edited": "Upraveno",
"disabled": "Nepovoleno",
"select": "Vyberte",
"user-search-prompt": "Pro hledání uživatelů, zde pište..."
"user-search-prompt": "Pro hledání uživatelů, zde pište...",
"hidden": "Hidden",
"sort": "Sort"
}

View File

@@ -1,5 +1,6 @@
{
"groups": "Skupiny",
"members": "Members",
"view_group": "Zobrazit skupinu",
"owner": "Vlastník skupiny",
"new_group": "Vytvořit novou skupinu",

Some files were not shown because too many files have changed in this diff Show More