Compare commits

...

163 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
1540 changed files with 27027 additions and 38906 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,197 @@
#### 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

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

@@ -182,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.6",
"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,46 +29,48 @@
},
"dependencies": {
"@adactive/bootstrap-tagsinput": "0.8.2",
"@isaacs/ttlcache": "1.2.1",
"ace-builds": "1.15.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.5.1",
"body-parser": "1.20.1",
"bootbox": "5.5.3",
"bootstrap": "3.4.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.5.0",
"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.2.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.17.8",
"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.4",
"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",
@@ -78,38 +80,38 @@
"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": "2.1.3",
"mongodb": "4.14.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.3",
"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-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-lavender": "6.0.1",
"nodebb-theme-persona": "12.1.15",
"nodebb-theme-slick": "2.0.4",
"nodebb-theme-vanilla": "12.1.19",
"nodebb-widget-essentials": "6.0.1",
"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.9.0",
"pg-cursor": "2.8.0",
"pg": "8.10.0",
"pg-cursor": "2.9.0",
"postcss": "8.4.21",
"postcss-clean": "1.2.0",
"progress-webpack-plugin": "1.0.16",
@@ -117,57 +119,61 @@
"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.9.0",
"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.6.0",
"socket.io-client": "4.6.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.9.0",
"webpack": "5.75.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": "9.0.1",
"@commitlint/cli": "17.4.3",
"@commitlint/config-angular": "17.4.3",
"@apidevtools/swagger-parser": "10.1.0",
"@commitlint/cli": "17.5.0",
"@commitlint/config-angular": "17.4.4",
"coveralls": "3.1.1",
"eslint": "8.34.0",
"eslint": "8.36.0",
"eslint-config-nodebb": "0.2.1",
"eslint-plugin-import": "2.27.5",
"grunt": "1.6.1",
"grunt-contrib-watch": "1.1.0",
"husky": "8.0.3",
"jsdom": "21.1.0",
"lint-staged": "13.1.1",
"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

@@ -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,26 +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 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",
"start": "Start",
"end": "End",
"filter": "Filter"
"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

@@ -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

@@ -224,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

@@ -6,6 +6,7 @@
"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",
@@ -22,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",
@@ -29,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

@@ -43,6 +43,7 @@
"followers": "المتابعون",
"following": "يتابع",
"blocks": "الكتل",
"blocked-users": "Blocked users",
"block_toggle": "تبديل الكتلة",
"block_user": "أحظر المستخدم",
"unblock_user": "ألغ حظر المستخدم",
@@ -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": "كلمة السر الحالية ليست صحيحة",
@@ -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": "أقصى %1",
"acp_language": "لغة صفحة اﻻدارة",
"notifications": "التنبيهات",
@@ -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

@@ -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

@@ -224,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

@@ -6,6 +6,7 @@
"enabling-help": "За да включите тази функционалност, идете в <a href=\"%1\">Настройки &rarr; Публикуване &rarr; Опашка за публикации</a> и включете <strong>Опашката за публикации</strong>.",
"back-to-list": "Назад към Опашката за публикации",
"user": "Потребител",
"when": "Кога",
"category": "Категория",
"title": "Заглавие",
"content": "Съдържание",
@@ -22,6 +23,7 @@
"notify": "Известяване",
"notify-user": "Известяване на потребителя",
"confirm-reject": "Искате ли да отхвърлите тази публикация?",
"confirm-remove": "Искате ли да премахнете тази публикация?",
"bulk-actions": "Групови действия",
"accept-all": "Приемане на всички",
"accept-selected": "Приемане на избраните",
@@ -29,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

@@ -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

@@ -224,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

@@ -6,6 +6,7 @@
"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",
@@ -22,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",
@@ -29,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

@@ -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

@@ -224,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": "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",
@@ -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?",

View File

@@ -37,9 +37,13 @@
"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,7 +58,8 @@
"users": "Uživatelé",
"topics": "Témata",
"posts": "Příspěvky",
"x-posts": "% příspěvků",
"x-posts": "<span class=\"formatted-number\">%1</span> posts",
"x-topics": "<span class=\"formatted-number\">%1</span> topics",
"best": "Nejlepší",
"controversial": "Kontroverzní",
"votes": "Počet hlasů",
@@ -69,6 +74,7 @@
"reputation": "Reputace",
"lastpost": "Poslední příspěvek",
"firstpost": "První příspěvek",
"about": "About",
"read_more": "čtěte více",
"more": "Více",
"none": "Žádné",
@@ -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",
@@ -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",

View File

@@ -1,7 +1,11 @@
{
"chat.chatting_with": "Konverzace s",
"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": "Odeslat",
"chat.no_active": "Nemáte žádné aktivní konverzace.",
"chat.user_typing": "%1 píše…",
@@ -42,6 +46,7 @@
"composer.compose": "Napsat",
"composer.show_preview": "Ukázat náhled",
"composer.hide_preview": "Skrýt náhled",
"composer.help": "Help",
"composer.user_said_in": "%1 řekl v %2:",
"composer.user_said": "%1 řekl:",
"composer.discard": "Jste si jisti, že chcete zrušit tento příspěvek?",
@@ -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": "Zrušit",
"bootbox.confirm": "Potvrdit",

View File

@@ -49,6 +49,7 @@
"account/watched_categories": "%1's sledovaných kategorii",
"account/bookmarks": "%1's zazáložkované příspěvky",
"account/settings": "Uživatelské nastavení",
"account/settings-of": "Changing settings of %1",
"account/watched": "Témata sledovaná uživatelem %1",
"account/ignored": "Témata ignorovaná uživatelem %1",
"account/upvoted": "Souhlasí s příspěvkem %1",

View File

@@ -6,6 +6,7 @@
"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": "Uživatel",
"when": "When",
"category": "Kategorie",
"title": "Název",
"content": "Obsah",
@@ -22,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",
@@ -29,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": "Registrace",
"already-have-account": "Already have an account?",
"cancel_registration": "Zrušit registraci",
"help.email": "Ve výchozím nastavení bude váš e-mail skrytý.",
"help.username_restrictions": "Jedinečné uživatelské jméno dlouhé %1 až %2 znaků. Ostatní uživatelé Vás mohou zmínit jako @<span id='yourUsername'>uživatelské jméno</span>.",

View File

@@ -1,21 +1,41 @@
{
"type-to-search": "Type to search",
"results_matching": "Počet výsledků pro „%2“: %1, (%3 sekund)",
"no-matches": "Nic nebylo nalezeno",
"advanced-search": "Pokročilé hledání",
"in": "v",
"titles": "Název",
"titles-posts": "Název a příspěvky",
"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": "Shodná slova",
"match-all-words": "Match all words",
"match-any-word": "Match any word",
"all": "Vše",
"any": "Jakékoliv",
"posted-by": "Napsal",
"in-categories": "V kategoriích",
"posted-by-usernames": "Posted by: %1",
"type-a-username": "Type a username",
"search-child-categories": "Hledat podružné kategorie",
"has-tags": "Obsahuje značky",
"reply-count": "Počet odpovědí",
"replies": "Replies",
"replies-atleast-count": "Replies: At least %1",
"replies-atmost-count": "Replies: At most %1",
"at-least": "Nejméně",
"at-most": "Nejvíce",
"relevance": "Relevantnost",
"time": "Time",
"post-time": "Čas příspěvku",
"votes": "Hlasů",
"newer-than": "Novější než",
@@ -28,7 +48,22 @@
"three-months": "Tři měsíce",
"six-months": "Šest měsíců",
"one-year": "Jeden rok",
"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": "Řadit dle",
"sort": "Sort",
"last-reply-time": "Čas poslední odpovědi",
"topic-title": "Název tématu",
"topic-votes": "Hlasy tématu",
@@ -39,11 +74,36 @@
"category": "Kategorie",
"descending": "Sestupně",
"ascending": "Vzestupně",
"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": "Uložit nastavení",
"clear-preferences": "Smazat nastavení",
"search-preferences-saved": "Hledat dle uložených nastavení",
"search-preferences-cleared": "Hledat dle smazaných nastavení",
"show-results-as": "Zobrazit výsledek jako",
"show-results-as-topics": "Show results as topics",
"show-results-as-posts": "Show results as posts",
"see-more-results": "Zobrazit více výsledků (%1)",
"search-in-category": "Search in \"%1\""
}

View File

@@ -1,5 +1,7 @@
{
"all-tags": "All tags",
"no_tag_topics": "Není zde žádné téma s tímto označením.",
"no-tags-found": "No tags found",
"tags": "Označení",
"enter_tags_here": "Zde vložte označení, každé o délce %1 až %2 znaků.",
"enter_tags_here_short": "Zadejte označení…",

View File

@@ -39,16 +39,30 @@
"copy-ip": "Kopírovat IP",
"ban-ip": "Zakázat IP",
"view-history": "Upravit historii",
"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": "Pro návrat k poslednímu čtenému příspěvku v tématu, klikněte zde.",
"flag-post": "Flag this post",
"flag-user": "Flag this user",
@@ -95,7 +109,7 @@
"thread_tools.purge": "Vyčistit téma",
"thread_tools.purge_confirm": "Jste si jist/a, že chcete vyčistit toto téma?",
"thread_tools.merge_topics": "Sloučit témata",
"thread_tools.merge": "Sloučit",
"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": "Příspěvek přesunut.",
"fork_topic": "Rozdělit příspěvek",
"enter-new-topic-title": "Enter new topic title",
"fork_topic_instruction": "Vyberte příspěvky, které chcete oddělit",
"fork_topic_instruction": "Click the posts you want to fork, enter a title for the new topic and click fork topic",
"fork_no_pids": "Nebyly vybrány žádné příspěvky.",
"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": "Klikněte na příspěvek u kterého chcete změnit vlastníka",
"composer.title_placeholder": "Zadejte název tématu…",
"composer.handle_placeholder": "Enter your name/handle here",
"composer.hide": "Hide",
"composer.discard": "Zrušit",
"composer.submit": "Odeslat",
"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": "Sledují ho",
"following": "Sleduje",
"blocks": "Zablokováni",
"blocked-users": "Blocked users",
"block_toggle": "Přepnout zablokování",
"block_user": "Zablokovat uživatele",
"unblock_user": "Odblokovat uživatele",
@@ -68,6 +69,7 @@
"upload_new_picture": "Nahrát nový obrázek",
"upload_new_picture_from_url": "Nahrát nový obrázek z URL",
"current_password": "Aktuální heslo",
"new_password": "New Password",
"change_password": "Změnit heslo",
"change_password_error": "Neplatné heslo.",
"change_password_error_wrong_current": "Aktuální heslo není správně.",
@@ -115,6 +117,8 @@
"paginate_description": "Stránkovat témata a příspěvky místo použití nekonečného posunování",
"topics_per_page": "Témat na stránce",
"posts_per_page": "Příspěvků na stránce",
"category-topic-sort": "Category topic sort",
"topic-post-sort": "Topic post sort",
"max_items_per_page": "Maximum %1",
"acp_language": "Jazyk stránky správce",
"notifications": "Oznámení",
@@ -168,6 +172,8 @@
"info.moderation-note.success": "Poznámka moderace byla uložena",
"info.moderation-note.add": "Přidat poznámku",
"sessions.description": "Tato stránka vám zobrazuje aktivní relace na tomto fóru a umožňuje vám je zrušit. Můžete tak i zrušit vlastní relaci svým odhlášením. ",
"revoke-session": "Revoke Session",
"browser-version-on-platform": "%1 %2 on %3",
"consent.title": "Váš právní souhlas",
"consent.lead": "Toto komunitní fórum sbírá zpracovává vaše osobní údaje.",
"consent.intro": "Tyto informace používáme pouze pro peronizaci vašich zkušeností v této komunitě, stejně tak k rozpoznání příspěvků, které jste pod uživatelským účtem vytvořil. Během jednotlivých registračních kroků budete požádán/a o zadání Vašeho uživatelského jména a e-mailové adresy. Můžete také dobrovolně poskytnout některé dodatečné informace do vašeho profilu na webové stránce.Tyto informace uchováváme po dobu životnosti vašeho uživatelského účtu a Vy můžete kdykoliv zrušit tento svůj souhlas smazáním vašeho účtu. Kdykoli můžete požadovat kopii svých příspěvků na této webové stránce pomocí stránky „Práva a souhlas”<br /><br />Máte-li nějaké otázky nebo obavy, obraťte se na tým správců fóra.",

View File

@@ -1,11 +1,12 @@
{
"all-users": "All Users",
"latest_users": "Nejnovější uživatelé",
"top_posters": "Nejaktivnější",
"most_reputation": "Nejváženější",
"most_flags": "Nejoznačovanější",
"search": "Hledat",
"enter_username": "Zadej uživatelské jméno k hledání",
"search-user-for-chat": "Search a user to start chat",
"search-user-for-chat": "Search for a user to start chat:",
"load_more": "Načíst další",
"users-found-search-took": "Nalezeno %1 uživatel(ů) za %2 vteřiny.",
"filter-by": "Filtrovat dle",

View File

@@ -4,8 +4,6 @@
"acp-title": "%1 | NodeBB Admin Kontrol Panel",
"settings-header-contents": "Indhold",
"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.",

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