Compare commits

..

368 Commits

Author SHA1 Message Date
Misty (Bot)
aa77758afd chore: incrementing version number - v1.19.0 2022-01-13 18:51:21 +00:00
Misty (Bot)
d35ed55b5c Latest translations and fallbacks 2022-01-13 09:06:53 +00:00
Renovate Bot
ad6f6051bd fix(deps): update dependency nodebb-plugin-markdown to v8.14.6 2022-01-12 22:04:29 -05:00
Julian Lam
31b4b8fd6e feat: bundling nodebb-plugin-2factor with all NodeBB installations, v1.19.0 onwards 🎉 2022-01-12 11:18:44 -05:00
Julian Lam
6ca216ab6e feat: revoke user sessions on successful password reset 2022-01-12 11:09:02 -05:00
Julian Lam
be4dbe3441 chore: org; merge consecutive await calls into one Promise.all 2022-01-12 11:08:34 -05:00
Misty (Bot)
53ac159e28 Latest translations and fallbacks 2022-01-12 09:06:03 +00:00
renovate[bot]
2fee1d074e fix(deps): update dependency winston to v3.4.0 (#10150)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-11 18:52:39 -05:00
renovate[bot]
bfad04ab85 fix(deps): update dependency ioredis to v4.28.3 (#10151)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-11 18:51:56 -05:00
Renovate Bot
56d134c317 chore(deps): update commitlint monorepo 2022-01-11 23:50:19 +00:00
Julian Lam
0a5420ed74 chore: fix #9213 2022-01-11 14:35:38 -05:00
Julian Lam
487f25ba29 chore: revert engines change in install/package.json 2022-01-11 14:33:41 -05:00
Julian Lam
f95acce3b5 chore: update renovate config
- Auto-merge dev dependencies only
- Do not touch
2022-01-11 14:33:10 -05:00
Julian Lam
ffdf26afef docs: comment hint :shipit: 2022-01-11 13:54:02 -05:00
Misty (Bot)
2633d8a53c Latest translations and fallbacks 2022-01-11 09:05:42 +00:00
Renovate Bot
da2bb340ac fix(deps): pin dependencies 2022-01-11 08:36:35 +00:00
renovate[bot]
15bf3db2b6 fix(deps): pin dependency socket.io-adapter-cluster to 1.0.1 (#10146)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-10 20:15:29 -05:00
renovate[bot]
2fa3cd0de7 fix(deps): update dependency nodebb-theme-vanilla to v12.1.15 (#10149)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-10 20:15:14 -05:00
Barış Soner Uşaklı
6c1e184c74 test: fix util test 2022-01-10 18:54:06 -05:00
Barış Soner Uşaklı
afc75ba48a lint: remove unused 2022-01-10 18:45:42 -05:00
Barış Soner Uşaklı
9b75b1ede2 test: update tag tests, fix linux symlink error 2022-01-10 18:41:07 -05:00
renovate[bot]
762de2d862 fix(deps): update dependency nodebb-theme-slick to v1.4.23 (#10148)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-10 18:18:56 -05:00
renovate[bot]
385d4c71d8 fix(deps): update dependency nodebb-theme-persona to v11.3.13 (#10147)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-10 18:17:22 -05:00
Barış Soner Uşaklı
ea735bc245 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2022-01-10 18:02:26 -05:00
Barış Soner Uşaklı
c9592e173c fix: lint 2022-01-10 18:02:25 -05:00
Julian Lam
37a71291af fix: icon alignment issue that was also bugging me :shipit: 2022-01-10 17:33:29 -05:00
Julian Lam
bc0f33df95 chore: update renovate range strategy...
... to pin dependencies, and not use a range

@barisusakli @pitaj @oplik0
2022-01-10 16:53:12 -05:00
Barış Soner Uşaklı
a75a043b61 feat: allow % in tags, #10135 2022-01-10 16:44:16 -05:00
Barış Soner Uşaklı
42caef7fa7 fix: #10143, add back ace editor searchbox 2022-01-10 16:22:39 -05:00
Renovate Bot
4bada01b2d fix(deps): update dependency winston to v3.3.4 2022-01-10 05:16:25 +00:00
Opliko
1adc898ba7 Stop colors.js vandalism (#10131)
* fix: pin colors to 1.4.0

* fix: exclude colors from renovate updates
2022-01-08 19:26:28 -05:00
Renovate Bot
40e7007fee chore(deps): update dependency lint-staged to v12.1.7 2022-01-07 20:29:46 +00:00
Renovate Bot
a47883e89b fix(deps): update dependency autoprefixer to v10.4.2 2022-01-07 18:11:13 +00:00
Renovate Bot
f78108ace5 chore(deps): update dependency lint-staged to v12.1.6 2022-01-07 11:49:41 +00:00
Renovate Bot
50eb4556cf fix(deps): update dependency mongodb to v4.3.0 2022-01-07 03:30:21 +00:00
Renovate Bot
9eb00cb2e0 fix(deps): update socket.io packages to v4.4.1 2022-01-06 11:44:52 +00:00
Misty (Bot)
418a6cf04c Latest translations and fallbacks 2022-01-06 09:05:48 +00:00
Misty (Bot)
b610db09e5 Latest translations and fallbacks 2022-01-05 09:06:12 +00:00
Misty (Bot)
d79d7e8081 chore(i18n): fallback strings for new resources: nodebb.user 2022-01-04 15:51:02 +00:00
Barış Soner Uşaklı
5eb02f59c2 fix: #10095, add login info to email interstitial 2022-01-04 10:50:19 -05:00
Barış Soner Uşaklı
8ad64ec0f9 fix: #10121, fix error messages in user creation 2022-01-04 10:24:10 -05:00
Misty (Bot)
6b1cd17e4a Latest translations and fallbacks 2022-01-03 09:05:39 +00:00
Renovate Bot
a69afdb60b chore(deps): update dependency eslint-plugin-import to v2.25.4 2022-01-03 01:37:37 +00:00
Renovate Bot
12038039f5 chore(deps): update dependency lint-staged to v12.1.5 2022-01-02 23:27:13 +00:00
Barış Soner Uşaklı
69a7634a78 fix: #10115, fix chat autocomplete hook 2022-01-02 15:13:30 -05:00
Misty (Bot)
bec0ef8995 Latest translations and fallbacks 2022-01-02 09:05:42 +00:00
Renovate Bot
0a15c99e4f fix(deps): update dependency nodebb-rewards-essentials to v0.2.1 2022-01-02 00:27:18 +00:00
Misty (Bot)
9260355a96 Latest translations and fallbacks 2022-01-01 09:05:41 +00:00
Renovate Bot
b546ff4e84 chore(deps): update dependency eslint to v8.6.0 2022-01-01 01:41:48 +00:00
Misty (Bot)
ccdf65884e Latest translations and fallbacks 2021-12-31 09:05:47 +00:00
Barış Soner Uşaklı
cc27a324b5 fix: notice links in subfolder installs 2021-12-30 23:06:43 -05:00
Julian Lam
d89fc44c03 fix: move authenticateRequest before interstitial and maintenance mode middlewares, allowed plugins to disable authentication on certain routes
fixes #10112
2021-12-30 16:14:50 -05:00
Renovate Bot
f1aa5f7d18 fix(deps): update dependency autoprefixer to v10.4.1 2021-12-29 19:17:10 +00:00
Barış Soner Uşaklı
0d9ec9d30e test: fix restore test 2021-12-28 21:36:37 -05:00
Misty (Bot)
e6a46ef6ce chore(i18n): fallback strings for new resources: nodebb.admin-settings-uploads 2021-12-28 17:41:44 +00:00
Barış Soner Uşaklı
a78e58f252 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2021-12-28 12:40:57 -05:00
Barış Soner Uşaklı
5278b11a01 refactor: remove unused language key 2021-12-28 12:40:48 -05:00
Misty (Bot)
5439e45f3e Latest translations and fallbacks 2021-12-28 09:05:54 +00:00
Misty (Bot)
1a6d5250fb Latest translations and fallbacks 2021-12-26 09:16:51 +00:00
Renovate Bot
87779fc8f9 chore(deps): update dependency lint-staged to v12.1.4 2021-12-24 13:04:03 +00:00
Misty (Bot)
a395596fbc Latest translations and fallbacks 2021-12-24 09:05:54 +00:00
Renovate Bot
5c3335b799 fix(deps): update dependency yargs to v17.3.1 2021-12-24 01:50:17 +00:00
Julian Lam
b5b188fd53 feat: allow isCluster, isPrimary, and jobsDisabled to be passed in as numbers in addition to string/bool
/cc @barisusakli
2021-12-23 15:20:34 -05:00
renovate[bot]
dd8b1f757d fix(deps): update dependency nodebb-theme-vanilla to v12.1.14 (#10102)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-23 13:58:44 -05:00
renovate[bot]
dd1633fff8 fix(deps): update dependency nodebb-theme-slick to v1.4.22 (#10101)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-23 13:54:50 -05:00
renovate[bot]
eccdfc9d6b fix(deps): update dependency nodebb-theme-lavender to v5.3.2 (#10099)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-23 13:27:12 -05:00
renovate[bot]
ee05b76264 chore(deps): update dependency jsdom to v19 (#10053)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-23 13:23:11 -05:00
renovate[bot]
4f6fc10b84 fix(deps): update dependency nodebb-theme-persona to v11.3.12 (#10100)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-23 13:22:22 -05:00
Barış Soner Uşaklı
07232a8cf6 fix: retry incrObjtFieldBy 2021-12-23 11:28:48 -05:00
Barış Soner Uşaklı
b179f0fc0f fix: use component instead of class name 2021-12-23 11:05:37 -05:00
Misty (Bot)
842f96fc68 Latest translations and fallbacks 2021-12-23 09:05:46 +00:00
Julian Lam
d960f601a1 style: eslint 2021-12-22 15:37:23 -05:00
Julian Lam
2fe53cf849 feat: GET /api/v3/chats/:roomId/messages 2021-12-22 15:19:37 -05:00
Julian Lam
d95b4ee29a fix: assertion check to ensure messages are in the room when editing/deleting, etc 2021-12-22 14:58:42 -05:00
Julian Lam
82768fcf6e chore: remove debug logs in test/api.js 2021-12-22 14:39:31 -05:00
Julian Lam
aaa6f752d0 refactor: put message api calls behind /messages prefix, #10097 2021-12-22 14:39:18 -05:00
Misty (Bot)
207ae8cd6e chore(i18n): fallback strings for new resources: nodebb.error 2021-12-22 16:14:58 +00:00
Julian Lam
aeb43b9bb1 fix: rename language key for incorrect parameter type error 2021-12-22 10:59:36 -05:00
Julian Lam
e747998cba test: fix user tests calling deprecated socket methods 2021-12-22 10:59:36 -05:00
Julian Lam
47ab952639 docs: fix description for route 2021-12-22 10:59:36 -05:00
Julian Lam
0aa25f20d5 docs: roomId is number 2021-12-22 10:59:36 -05:00
Julian Lam
16ba16cdc4 fix: deprecate chats.leave 2021-12-22 10:59:36 -05:00
Julian Lam
fe17c94c35 feat: DELETE /api/v3/chats/:roomId/users and DELETE /api/v3/chats/:roomId/users/:uid 2021-12-22 10:59:36 -05:00
Julian Lam
6294beea0b fix: re-allow kicking of the other party in a 1-to-1 chat 2021-12-22 10:59:36 -05:00
Julian Lam
d62ee84637 feat: POST /chats/:roomId/users 2021-12-22 10:59:36 -05:00
Julian Lam
6eea6451d2 feat: GET /chats/:roomId/users [breaking] 2021-12-22 10:59:36 -05:00
Julian Lam
d5fd098ecf feat: POST /chats/:roomId/:mid and DELETE /chats/:roomId/:mid 2021-12-22 10:59:36 -05:00
Julian Lam
90fcbe4416 feat: middleware.assert.message 2021-12-22 10:59:36 -05:00
Julian Lam
b292960594 feat: GET /chats/:roomId/:mid 2021-12-22 10:59:36 -05:00
Julian Lam
f48ed3658a feat: PUT /chats/:roomId/:mid 2021-12-22 10:59:36 -05:00
Julian Lam
140f9d2481 fix: isFinite check for room assertion, more test migrating 2021-12-22 10:59:36 -05:00
Julian Lam
e745e21242 chore: use apiv3 for room rename tests 2021-12-22 10:59:36 -05:00
Julian Lam
74f1905ea8 feat: allow API checkRequired middleware error to be internationalized 2021-12-22 10:59:36 -05:00
Julian Lam
c990211cf2 refactor: rewrite messaging tests to use API v3 calls when available, rewrote a bunch of tests to async..await 2021-12-22 10:59:36 -05:00
Julian Lam
9a4fd5dc7e feat: PUT /api/v3/chats/:roomId 2021-12-22 10:59:36 -05:00
Julian Lam
eeffb9d978 feat: POST /api/v3/chats/:roomId 2021-12-22 10:59:36 -05:00
Julian Lam
09cf9c7770 feat: GET /api/v3/chats/:roomId 2021-12-22 10:59:36 -05:00
Julian Lam
55e68e2fd5 docs: openAPI documentation for routes 2021-12-22 10:59:36 -05:00
Julian Lam
40b4544e70 feat: POST /api/v3/chats, chat room creation, plus openAPI docs update 2021-12-22 10:59:36 -05:00
Julian Lam
94bead71fe feat: GET /api/v3/chats 2021-12-22 10:59:36 -05:00
Julian Lam
02e878be72 feat: stub code for v3 chats api 2021-12-22 10:59:36 -05:00
Barış Soner Uşaklı
a115b771f0 fix: #10096, don't display preview for links if hostname doesnt match 2021-12-22 10:55:30 -05:00
Misty (Bot)
139a4378b3 Latest translations and fallbacks 2021-12-22 09:05:51 +00:00
Barış Soner Uşaklı
35fea58a57 refactor: only write analytics data on nbb that has runJobs=true
prevents mongodb index error when lots of nodebbs try to write to the same key
2021-12-21 23:09:01 -05:00
Barış Soner Uşaklı
a9f81215cf fix: only render preview on topic page 2021-12-21 11:52:16 -05:00
Julian Lam
33c8b1971e docs: use social media card in readme header 2021-12-21 01:10:47 -05:00
Julian Lam
f7b3f69f6a docs: add social media card 2021-12-21 01:10:15 -05:00
Barış Soner Uşaklı
42781467d2 refactor: remove knonwOwner param 2021-12-20 17:43:45 -05:00
Barış Soner Uşaklı
8fb89d761a fix: don't crash server if analytics fails to save
fixes
MongoBulkWriteError: E11000 duplicate key error collection:
 community.objects index: _key_1_value_-1 dup key: { _key: "analytics:pageviews", value: "1639807200000" }
2021-12-20 16:28:03 -05:00
Barış Soner Uşaklı
e332acf3f7 fix: upgrade script to handle strings as well 2021-12-20 15:43:44 -05:00
Renovate Bot
32cbf760f6 fix(deps): update dependency nodebb-theme-persona to v11.3.11 2021-12-20 13:58:36 -05:00
Nazim
d23ac79839 Revert 2021-12-20 10:11:19 -05:00
Nils Ramsperger
c046b8f41d fixed version number 2021-12-20 10:09:52 -05:00
Renovate Bot
9253519c72 fix(deps): update dependency nodebb-theme-slick to v1.4.21 2021-12-19 17:31:40 +00:00
Misty (Bot)
a1729e1afd Latest translations and fallbacks 2021-12-19 09:05:48 +00:00
Barış Soner Uşaklı
fdaf8274cf fix: #10090, remove left over necro posts messages 2021-12-18 16:46:49 -05:00
Renovate Bot
c0dd8dcb1f chore(deps): update dependency lint-staged to v12.1.3 2021-12-18 13:45:45 +00:00
Misty (Bot)
34ffe69f27 Latest translations and fallbacks 2021-12-18 09:05:48 +00:00
Renovate Bot
55b9fab1be chore(deps): update dependency eslint to v8.5.0 2021-12-18 02:25:28 +00:00
Barış Soner Uşaklı
a76444662c refactor: remove console.log 2021-12-17 19:06:41 -05:00
Barış Soner Uşaklı
59214ca297 fix: #10086, if pidfile is empty delete 2021-12-17 19:06:01 -05:00
Misty (Bot)
edba10e22c chore(i18n): fallback strings for new resources: nodebb.post-queue 2021-12-17 20:31:45 +00:00
Julian Lam
5e68a99e73 Revert "chore: trigger lang"
This reverts commit 540eeae9bc.
2021-12-17 15:30:58 -05:00
Barış Soner Uşaklı
540eeae9bc chore: trigger lang 2021-12-17 13:50:37 -05:00
renovate[bot]
019804e177 fix(deps): update dependency nodebb-theme-slick to v1.4.20 (#10084)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-17 12:22:33 -05:00
renovate[bot]
66c759ed2b fix(deps): update dependency nodebb-theme-vanilla to v12.1.13 (#10085)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-17 12:18:03 -05:00
Misty (Bot)
98abf30b18 Latest translations and fallbacks 2021-12-17 09:06:11 +00:00
renovate[bot]
d276c9cdb1 fix(deps): update dependency nodebb-theme-persona to v11.3.10 (#10083)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-16 22:50:27 -05:00
renovate[bot]
0ef9c7ab2e fix(deps): update dependency nodebb-plugin-composer-default to v7.0.17 (#10082)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-16 22:50:21 -05:00
Barış Soner Uşaklı
4e1d421722 refactor: remove unused validator 2021-12-16 22:45:31 -05:00
Misty (Bot)
fd939f8bec chore(i18n): fallback strings for new resources: nodebb.modules, nodebb.notifications 2021-12-17 03:26:55 +00:00
Barış Soner Uşaklı
c4042c70de feat: #9506, allow seeing and editing your queued posts
allow regular users access to post queue
allow regular users to edit their queued post/topic title
allow regular users to remove their post from post queue
ability to send a notification to user without removing from post queue
allow accessing single post queue items from notifications
2021-12-16 22:25:39 -05:00
Barış Soner Uşaklı
b8896d1328 refactor: only pass qs 2021-12-16 13:46:49 -05:00
Barış Soner Uşaklı
599bffd8e0 feat: pass in all query params to category search filter 2021-12-16 13:26:07 -05:00
Barış Soner Uşaklı
c4156bdd7b feat: add data param to filter:categories.search
so plugins can do custom search for categories
2021-12-16 09:42:16 -05:00
Misty (Bot)
2170c8a8f5 Latest translations and fallbacks 2021-12-16 09:06:09 +00:00
Barış Soner Uşaklı
1e60ae8703 refactor: change error message 2021-12-15 21:32:30 -05:00
Barış Soner Uşaklı
1264dcb555 test: add email interstitial tests 2021-12-15 21:28:46 -05:00
Barış Soner Uşaklı
91e21ecc62 fix: utils method 2021-12-15 14:03:46 -05:00
Barış Soner Uşaklı
9f1b8a3b1e refactor: use hasOwnProperty 2021-12-15 13:48:59 -05:00
Barış Soner Uşaklı
dbba0c396b refactor: remove object.create 2021-12-15 13:48:31 -05:00
Barış Soner Uşaklı
3d3ae82f5b refactor: remove unused args 2021-12-15 13:42:16 -05:00
Barış Soner Uşaklı
633061f4a7 refactor: remove comment 2021-12-15 12:51:52 -05:00
Barış Soner Uşaklı
d4f3ee67fa refactor: use .map to return promises 2021-12-15 12:49:50 -05:00
Renovate Bot
dda7c0753e fix(deps): update dependency nodebb-theme-vanilla to v12.1.12 2021-12-14 23:51:42 +00:00
Barış Soner Uşaklı
5e08f7e604 test: don't use csrf_token for get,head, options 2021-12-14 14:44:05 -05:00
Renovate Bot
4577600e98 fix(deps): update dependency nodebb-theme-slick to v1.4.19 2021-12-14 19:15:13 +00:00
Barış Soner Uşaklı
0e273ab25a test: fix tests 2021-12-14 12:15:08 -05:00
Barış Soner Uşaklı
1f063058f0 breaking: remove socket.emit('user.exists')
remove socket.emit('user.deleteAccount')
remove socket.emit('user.follow')
remove socket.emit('user.unfollow')
remove socket.emit('user.saveSettings')
2021-12-14 12:05:12 -05:00
Renovate Bot
5e2281c350 fix(deps): update dependency nodebb-theme-persona to v11.3.8 2021-12-14 08:01:20 +00:00
Renovate Bot
0551a19e6e fix(deps): update dependency mongodb to v4.2.2 2021-12-14 04:26:09 +00:00
Barış Soner Uşaklı
6b45dee9c5 breaking: remove socket.emit('user.changeUsernameEmail')
remove socket.emit('user.changePassword')
remove socket.emit('user.updateProfile')
2021-12-13 20:10:45 -05:00
Barış Soner Uşaklı
cc0a087a70 fix: prevent crash if groups is not valid json 2021-12-13 19:19:56 -05:00
Barış Soner Uşaklı
968d461692 fix: upgrade script 2021-12-13 19:18:51 -05:00
Barış Soner Uşaklı
682f60890b lint: fix 2021-12-13 16:57:26 -05:00
Barış Soner Uşaklı
737e1c191e fix: delete left over nav items after removal of some 2021-12-13 16:29:39 -05:00
Barış Soner Uşaklı
10e890e41f fix: targetBlank/dropdown not getting cleared
show caret if nav item is dropdown
2021-12-13 16:24:17 -05:00
Barış Soner Uşaklı
69c96078ea breaking: #10077, store nav items in objects 2021-12-13 16:00:22 -05:00
Barış Soner Uşaklı
3b0c42a591 fix: prettier bulk method usage 2021-12-13 14:46:52 -05:00
Julian Lam
42959df053 fix: bug where groupChat property was not set for chat rooms 2021-12-13 14:46:47 -05:00
Barış Soner Uşaklı
f918a38164 breaking: remove socket.emit('topics.follow')
remove socket.emit('topics.changeWatching')
2021-12-13 12:55:54 -05:00
Renovate Bot
16398dd92f fix(deps): update dependency postcss to v8.4.5 2021-12-13 03:45:21 +00:00
Barış Soner Uşaklı
68fd087567 test: remove old test 2021-12-12 13:58:21 -05:00
Barış Soner Uşaklı
6ad0472106 breaking: remove socket.emit('topics.post')
remove socket.emit('topics.search')
remove socket.emit('topics.getTopic')
2021-12-12 13:14:08 -05:00
Barış Soner Uşaklı
49641a3217 breaking: remove socket.emit('user.banUsers');
remove socket.emit('user.unbanUsers');
2021-12-12 12:47:02 -05:00
Barış Soner Uşaklı
4604a5724c breaking: remove socket.emit('posts.reply')
remove socket.emit('posts.getPost')
2021-12-12 12:19:24 -05:00
Barış Soner Uşaklı
6d95684bc8 breaking: remove socket.emit('user.changePicture') 2021-12-12 11:53:00 -05:00
Barış Soner Uşaklı
0d694c781c breaking: remove socket.emit('user.search') 2021-12-12 11:38:15 -05:00
Misty (Bot)
5e232f17f6 Latest translations and fallbacks 2021-12-11 09:05:40 +00:00
Barış Soner Uşaklı
99f865c618 breaking: remove socketHelpers.setDefaultPostData 2021-12-10 22:14:21 -05:00
Barış Soner Uşaklı
02ea17ea1b breaking: remove deprecated groups socket calls
socket.emit('groups.join') removed use `PUT /api/v3/groups/:slug/membership/:uid`
socket.emit('groups.leave') removed use `DELETE /api/v3/groups/:slug/membership/:uid`
socket.emit('groups.grant') removed, `PUT /api/v3/groups/:slug/ownership/:uid`
socket.emit('groups.rescind') removed, `DELETE /api/v3/groups/:slug/ownership/:uid`
socket.emit('groups.update') removed, `PUT /api/v3/groups/:slug`
socket.emit('groups.create') removed, `POST /api/v3/groups`
socket.emit('groups.delete') removed, `DELETE /api/v3/groups`
2021-12-10 21:50:23 -05:00
Julian Lam
bc7707aa88 fix: #9484 show user history only to admins and gmods 2021-12-10 15:38:50 -05:00
Baris Usakli
20e76699a2 lint: missing ; 2021-12-10 12:16:58 -05:00
Baris Usakli
0d1e57dce0 breaking: remove deprecated methods
socket.emit('topics.delete') removed use `DELETE /api/v3/topics/state`
socket.emit('topics.restore') removed use `PUT /api/v3/topics/state`
socket.emit('topics.purge') removed use `DELETE /api/v3/topics`
socket.emit('topics.lock') removed use `PUT /api/v3/topics/lock`
socket.emit('topics.unlock') removed use `DELETE /api/v3/topics/lock`
socket.emit('topics.pin') removed use `PUT /api/v3/topics/pin`
socket.emit('topics.unpin') removed use `DELETE /api/v3/topics/pin`
2021-12-10 12:12:04 -05:00
Julian Lam
45c9dde319 fix: no need to pass 'img' to teaser tags stripping as images are already converted to alt text 2021-12-10 10:18:16 -05:00
Renovate Bot
de1ed01d81 fix(deps): update dependency compare-versions to v4.1.2 2021-12-10 08:37:51 +00:00
Barış Soner Uşaklı
bd1cb2d4f9 breaking: remove socket.emit('posts.delete')
remove socket.emit('posts.restore')
remove socket.emit('posts.purge')
remove socket.emit('posts.deletePosts')
remove socket.emit('posts.purgePosts')
2021-12-09 19:58:40 -05:00
Barış Soner Uşaklı
ec1d5e38da breaking: remove socket.emit('posts.upvote')
socket.emit('posts.downvote')
socket.emit('posts.unvote')
2021-12-09 19:12:49 -05:00
Barış Soner Uşaklı
8427c5d9db breaking: remove socket.emit('posts.move') 2021-12-09 18:59:23 -05:00
Barış Soner Uşaklı
4247f62441 breaking: remove socket.emit('posts.edit') 2021-12-09 18:42:43 -05:00
Barış Soner Uşaklı
f7418ccd47 breaking: remove socket.emit('posts.bookmark/unbookmark') 2021-12-09 17:59:23 -05:00
Julian Lam
16c88a977c fix(deps): bump persona 2021-12-09 09:41:06 -05:00
Misty (Bot)
f2ca69d8f7 Latest translations and fallbacks 2021-12-09 09:05:43 +00:00
Barış Soner Uşaklı
5c3d5f1f40 test: make it async 2021-12-08 22:59:12 -05:00
Barış Soner Uşaklı
26f00ffb60 test: fix 2021-12-08 20:48:19 -05:00
Barış Soner Uşaklı
cfd474487a refactor: async 2021-12-08 19:45:18 -05:00
Barış Soner Uşaklı
f0394c4965 refactor: async 2021-12-08 19:40:50 -05:00
Barış Soner Uşaklı
8491f67daf refactor: use async 2021-12-08 19:40:33 -05:00
Barış Soner Uşaklı
e3c0f0be0a refactor: remove unused 2021-12-08 19:30:12 -05:00
Barış Soner Uşaklı
07e2741ea6 breaking: remove deprecated admin.groups methods 2021-12-08 19:28:08 -05:00
Barış Soner Uşaklı
a8afdc6019 fix: #10069, don't modify fields array
use a single setObjectFields for the profile update
2021-12-08 18:38:02 -05:00
Julian Lam
c90a89264c fix(deps): bump persona 2021-12-08 16:58:09 -05:00
Barış Soner Uşaklı
236d4e8056 fix: #10068, update data-index values after sort 2021-12-08 11:16:49 -05:00
Barış Soner Uşaklı
9af2335134 fix: #10068, baseIndex should be read before sort update fix off by one error 2021-12-08 09:41:48 -05:00
Barış Soner Uşaklı
45d8157fee fix: tests 2021-12-07 19:03:20 -05:00
Barış Soner Uşaklı
9627fa9029 refactor: always returns array 2021-12-07 18:43:14 -05:00
Barış Soner Uşaklı
830166d120 fix: #10067, count posts instead of incr/decr 2021-12-07 18:40:23 -05:00
Barış Soner Uşaklı
f4aa249d8c refactor: use async/await 2021-12-07 15:24:22 -05:00
renovate[bot]
07217762e6 fix(deps): update dependency nodebb-plugin-mentions to v3.0.4 (#10063)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-07 12:14:21 -05:00
renovate[bot]
a5840c5aff fix(deps): update dependency nodebb-plugin-spam-be-gone to v0.7.12 (#10064)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-07 11:50:07 -05:00
renovate[bot]
5477cf32ad fix(deps): update dependency nodebb-theme-slick to v1.4.18 (#10065)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-07 11:49:58 -05:00
renovate[bot]
60d778f063 fix(deps): update dependency nodebb-plugin-markdown to v8.14.5 (#10062)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-07 11:08:44 -05:00
renovate[bot]
8695d370ce fix(deps): update dependency nodebb-theme-persona to v11.3.5 (#10059)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-07 11:08:34 -05:00
Renovate Bot
70068d6c8b fix(deps): update dependency nodebb-plugin-dbsearch to v5.1.1 2021-12-07 15:28:27 +00:00
Renovate Bot
84b03a348c fix(deps): update dependency nodebb-plugin-composer-default to v7.0.15 2021-12-07 14:06:41 +00:00
Misty (Bot)
cf6032b1b2 Latest translations and fallbacks 2021-12-07 09:06:28 +00:00
Renovate Bot
ba02f01553 chore(deps): update dependency eslint to v8.4.1 2021-12-07 08:37:16 +00:00
Barış Soner Uşaklı
cbf198fe9b lint: remove unused 2021-12-06 22:07:25 -05:00
Barış Soner Uşaklı
45d755b6ae breaking: remove socket.emit('categories.getCategory') 2021-12-06 21:58:56 -05:00
Barış Soner Uşaklı
cc3f82bc83 breaking: remove socket.emit('admin.categories.setPrivilege') and socket.emit('admin.categories.getPrivilegeSettings') 2021-12-06 21:47:47 -05:00
Barış Soner Uşaklı
0b9c01f9a0 breaking: remove deprecated socket.emit('admin.categories.update') 2021-12-06 20:34:33 -05:00
Barış Soner Uşaklı
ba5d2e7b81 breaking: remove deprecated socket.emit('admin.categories.purge') 2021-12-06 20:22:09 -05:00
Barış Soner Uşaklı
b335372348 breaking: remove deprecated socket.emit('admin.categories.create') 2021-12-06 20:14:44 -05:00
Barış Soner Uşaklı
10c19af2ad breaking: remove deprecated socket.emit('admin.categories.getAll') 2021-12-06 20:06:15 -05:00
Barış Soner Uşaklı
f8f0a83b52 test: one more getTopicPosts test 2021-12-06 17:18:38 -05:00
Barış Soner Uşaklı
a20abdce02 lint: remove unused 2021-12-06 17:07:32 -05:00
Barış Soner Uşaklı
36eb47d9a0 refactor: change var name 2021-12-06 17:00:50 -05:00
Barış Soner Uşaklı
170e5dd941 breaking: remove getTopicPosts(tid, ...) usage 2021-12-06 17:00:25 -05:00
Barış Soner Uşaklı
906dc5675e fix: handle start=0 stop=0 for topics.getTopicPosts
add more tests
2021-12-06 16:36:30 -05:00
Barış Soner Uşaklı
621c142f8e refactor: alerts 2021-12-06 16:24:09 -05:00
Barış Soner Uşaklı
0a6eeb933e lint: fix 2021-12-06 15:25:10 -05:00
Barış Soner Uşaklı
cba78aee16 refactor: use alerts.error/success 2021-12-06 14:31:35 -05:00
Barış Soner Uşaklı
4f4236101b fix: wrong usage of is ACP 2021-12-06 14:27:43 -05:00
Misty (Bot)
4a53adf626 chore(i18n): fallback strings for new resources: nodebb.admin-admin 2021-12-06 17:52:30 +00:00
Barış Soner Uşaklı
b4a0af4972 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2021-12-06 12:51:06 -05:00
Barış Soner Uşaklı
dd02c49f43 refactor: use lang keys, fix typo 2021-12-06 12:50:59 -05:00
Misty (Bot)
b052a8e763 chore(i18n): fallback strings for new resources: nodebb.admin-admin 2021-12-06 17:46:20 +00:00
Barış Soner Uşaklı
1980feed46 refactor: use alerts module 2021-12-06 12:45:35 -05:00
Renovate Bot
8cbe0df2e5 fix(deps): update dependency nodebb-theme-persona to v11.3.3 2021-12-06 00:06:12 +00:00
Renovate Bot
4b11371586 chore(deps): update dependency eslint to v8.4.0 2021-12-04 11:32:58 +00:00
Misty (Bot)
0b88cfd9dd Latest translations and fallbacks 2021-12-04 09:06:26 +00:00
Julian Lam
fa01801f64 fix: don't throw on invalid session, just return early so socket is not opened.
Also updated the plugin hook call to `static:sockets.validateSession` to not return a result, because in static calls that result is always null anyway
2021-12-02 14:13:20 -05:00
Renovate Bot
b342338935 chore(deps): update dependency lint-staged to v12 2021-12-02 12:09:58 -05:00
Renovate Bot
e9aadde180 chore(deps): update dependency eslint to v8 2021-12-02 12:09:50 -05:00
Renovate Bot
f6c6425d68 chore(deps): update commitlint monorepo to v15 2021-12-02 12:09:43 -05:00
Barış Soner Uşaklı
71fa8175bb chore: up themes 2021-12-02 11:43:32 -05:00
Barış Soner Uşaklı
a29535833f fix: #10052, dont use spaces in tag class name 2021-12-02 10:58:23 -05:00
Barış Soner Uşaklı
41db9436e8 perf: only add middleware if relativePath is set 2021-12-01 17:18:38 -05:00
Julian Lam
a3bdb70617 feat: ensure that all requests handled by NodeBB fall under the relative_path as configured 2021-12-01 16:57:46 -05:00
Julian Lam
14e352470d fix(deps): bump emoji plugin 2021-12-01 16:28:23 -05:00
Renovate Bot
597d826b26 fix(deps): update dependency ioredis to v4.28.2 2021-12-01 13:46:55 +00:00
Misty (Bot)
7af902fc31 Latest translations and fallbacks 2021-12-01 09:06:09 +00:00
Renovate Bot
115de4e544 fix(deps): update dependency yargs to v17.3.0 2021-12-01 03:34:52 +00:00
renovate[bot]
49813cce42 fix(deps): update dependency mime to v3 (#9963)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-11-30 20:28:44 -05:00
Barış Soner Uşaklı
2bb0828af6 refactor: dont need local function 2021-11-30 20:27:16 -05:00
sadaszewski
a1c9a69cd3 incr by bulk. (#9952)
* incr by bulk.

* Update analytics.js

* Update analytics.js

* lint: fix

Co-authored-by: Barış Soner Uşaklı <baris@nodebb.org>
Co-authored-by: Barış Soner Uşaklı <barisusakli@gmail.com>
2021-11-30 20:26:07 -05:00
Barış Soner Uşaklı
6ea3b51f12 Zincrybulk (#9975)
* feat: zincry bulk

* feat: psql bulk incr placeholder

* test: redis test fix

* test: redis test
2021-11-30 19:59:47 -05:00
Barış Soner Uşaklı
d9c42c000c feat: show 10 members 2021-11-30 18:42:52 -05:00
Barış Soner Uşaklı
7b99dc46eb test: utils.params 2021-11-30 18:36:18 -05:00
Renovate Bot
f72af319fb fix(deps): update dependency mongodb to v4.2.1 2021-11-30 22:50:25 +00:00
Barış Soner Uşaklı
594293c763 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2021-11-30 15:47:24 -05:00
Barış Soner Uşaklı
1cdb0b1e19 fix: don't crash if tid is falsy 2021-11-30 15:47:19 -05:00
Misty (Bot)
32326c22fd Latest translations and fallbacks 2021-11-30 09:07:46 +00:00
Renovate Bot
ed4b0cf73d fix(deps): update dependency @socket.io/redis-adapter to v7.1.0 2021-11-30 02:56:32 +00:00
Barış Soner Uşaklı
0414356cf7 perf: don't load all set members to get count 2021-11-29 19:29:18 -05:00
Barış Soner Uşaklı
50063fe238 fix: regression from 27c05448e1 2021-11-29 15:17:02 -05:00
Misty (Bot)
7e6fa7b490 Latest translations and fallbacks 2021-11-29 09:07:01 +00:00
Barış Soner Uşaklı
cd2040ac6b test: regular user shouldn't see admin:privileges 2021-11-28 20:47:13 -05:00
Barış Soner Uşaklı
82b72f7edc lint: remove unused utils 2021-11-28 20:26:27 -05:00
Barış Soner Uşaklı
5843122178 test: add missing tests 2021-11-28 20:18:36 -05:00
Barış Soner Uşaklı
8117b7f22f breaking: remove deprecated post diff socket calls 2021-11-28 19:45:29 -05:00
Barış Soner Uşaklı
324262cbb5 refactor: DRY 2021-11-28 19:31:08 -05:00
Barış Soner Uşaklı
1a7fffc7e9 breaking: remove deprecated user middlewares 2021-11-28 18:58:17 -05:00
Barış Soner Uşaklı
941ecaf899 fix: keep query params on /me redirects 2021-11-28 18:48:52 -05:00
Barış Soner Uşaklı
65c5504193 fix: 403/400/500 page not generating csrf_token 2021-11-28 07:31:09 -05:00
Barış Soner Uşaklı
747b2e7f70 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2021-11-28 06:42:21 -05:00
Barış Soner Uşaklı
3dd681ebce fix: error pages dont have config.csrf_token 2021-11-28 06:42:19 -05:00
Misty (Bot)
6b054d7a23 Latest translations and fallbacks 2021-11-28 09:06:35 +00:00
Barış Soner Uşaklı
36aa60346b breaking: remove action:category.loaded, use action:topics.loading
action:category.loaded will not fire on infintite load of topics
2021-11-27 14:58:03 -05:00
Renovate Bot
b34b8aa969 fix(deps): update dependency postcss to v8.4.4 2021-11-27 18:10:53 +00:00
Renovate Bot
2dadf7865a fix(deps): update dependency postcss to v8.4.3 2021-11-27 04:22:19 +00:00
Barış Soner Uşaklı
7434cbf66f test: add api token tests 2021-11-26 18:59:29 -05:00
Barış Soner Uşaklı
1e53552874 feat: closes #10018 2021-11-26 17:08:47 -05:00
Baris Usakli
9239582e36 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2021-11-26 14:43:06 -05:00
Baris Usakli
06bfec8840 feat: #10018 add href 2021-11-26 14:42:57 -05:00
Misty (Bot)
23c915ba66 chore(i18n): fallback strings for new resources: nodebb.topic 2021-11-26 19:42:35 +00:00
Baris Usakli
0f14f23b2a feat: #10018 , wip 2021-11-26 14:41:46 -05:00
Julian Lam
6c07433dea refactor: use routePrefixMap instead of routeRegexpMap, +tests (#10035)
* refactor: use routePrefixMap instead of routeRegexpMap, +tests

Currently tests fail because privilege pages resolve if passed garbage... hmm

* fix: priv check paths

remove /v3 from path as well

Co-authored-by: Barış Soner Uşaklı <barisusakli@gmail.com>
2021-11-26 13:53:53 -05:00
Baris Usakli
d378bf4c9c fix: quote button staying on screen on slow computers 2021-11-26 12:57:13 -05:00
Misty (Bot)
2c08a2b3bd Latest translations and fallbacks 2021-11-26 09:06:42 +00:00
Misty (Bot)
bfb29fea07 Latest translations and fallbacks 2021-11-25 09:08:47 +00:00
Renovate Bot
6a2737980e fix(deps): update dependency postcss to v8.4.1 2021-11-25 02:11:34 +00:00
Barış Soner Uşaklı
daf385cd42 refactor: use hasOwnProprety 2021-11-24 18:17:58 -05:00
Renovate Bot
2934527532 fix(deps): update dependency postcss to v8.4.0 2021-11-24 16:38:04 +00:00
Misty (Bot)
ffc26bc9be Latest translations and fallbacks 2021-11-24 09:07:06 +00:00
Barış Soner Uşaklı
404a877408 test: add missing tests 2021-11-23 19:47:29 -05:00
Barış Soner Uşaklı
2bdb4906ec test: upgrade.runParticular 2021-11-23 19:02:49 -05:00
Barış Soner Uşaklı
6dcdf1d342 breaking: remove setTopicSort/setCategorySort 2021-11-23 18:45:30 -05:00
Barış Soner Uşaklı
7aa85882d5 chore: right dropdown 2021-11-23 18:25:30 -05:00
Barış Soner Uşaklı
a998cc1c47 chore: right dropdown 2021-11-23 18:25:01 -05:00
Barış Soner Uşaklı
c17ec996e0 test: add missing acp root category test 2021-11-23 18:18:02 -05:00
Barış Soner Uşaklı
a7d1dfb65c breaking: remove deprecated socket user create/delete functions
add missing tests
2021-11-23 18:02:44 -05:00
Barış Soner Uşaklı
217aae4c81 test: cache dump test 2021-11-23 15:20:44 -05:00
Barış Soner Uşaklı
a0e2704da1 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2021-11-23 15:16:47 -05:00
Barış Soner Uşaklı
c93d7fdbdd breaking: remove deprecated uploads.delete 2021-11-23 15:16:41 -05:00
Julian Lam
e0caa5e0c4 fix: removed unused var 2021-11-23 14:53:30 -05:00
Misty (Bot)
eecd02fbee chore(i18n): fallback strings for new resources: nodebb.admin-settings-user, nodebb.login 2021-11-23 19:47:37 +00:00
Julian Lam
01bd8a8694 remove email only login (#10030)
* feat: remove ACP option for email-only logins

* feat: remove email-only login, upgrade script to fix config
2021-11-23 14:46:24 -05:00
Barış Soner Uşaklı
79de48c57f breaking: remove deprecated methods 2021-11-23 13:21:18 -05:00
Renovate Bot
9966a00fbe fix(deps): update dependency ioredis to v4.28.1 2021-11-23 11:05:44 +00:00
Misty (Bot)
9fdbfe6779 Latest translations and fallbacks 2021-11-23 09:07:43 +00:00
Barış Soner Uşaklı
bc120dba68 test: add missing controllers 2021-11-23 00:13:54 -05:00
Barış Soner Uşaklı
edf7c647e8 test: fix tpl name 2021-11-23 00:04:10 -05:00
Barış Soner Uşaklı
6d186ff10d test: add mising email.test tpls 2021-11-22 23:53:13 -05:00
Barış Soner Uşaklı
754cdab896 test: debug routes in dev 2021-11-22 23:38:04 -05:00
Barış Soner Uşaklı
1280d9ae85 test: add digest route test 2021-11-22 23:28:04 -05:00
Barış Soner Uşaklı
2473d5d873 fix: #10027, properly auto confirm first user 2021-11-22 23:20:31 -05:00
Barış Soner Uşaklı
71e34be565 fix: cli password reset 2021-11-22 22:20:01 -05:00
Barış Soner Uşaklı
f11bc33ac5 test: digest 2021-11-22 21:22:44 -05:00
Barış Soner Uşaklı
0e72512509 test: fix function name 2021-11-22 21:17:54 -05:00
Barış Soner Uşaklı
d375dcb873 test: submitUsage 2021-11-22 21:10:12 -05:00
Barış Soner Uşaklı
d7c32ccbc2 test: remove log 2021-11-22 20:01:47 -05:00
Barış Soner Uşaklı
29b3587d91 test: middleware/expose.js 2021-11-22 19:56:12 -05:00
Barış Soner Uşaklı
fa1ac04dc6 lint: fix 2021-11-22 19:26:18 -05:00
Barış Soner Uşaklı
c5f08fdc81 breaking: remove socket.io/flags.js
refactor: helpers.loginUser returns a single object {jar, csrf_token}
2021-11-22 19:23:51 -05:00
Julian Lam
f0d192fbfd feat: autocomplete for activate/reset
useless features™️
2021-11-22 15:37:37 -05:00
Renovate Bot
fdae69911b fix(deps): update dependency nodebb-theme-persona to v11.3.1 2021-11-22 14:33:37 -05:00
Julian Lam
a10ea03c3a fix: #10023, bump persona 2021-11-22 11:14:29 -05:00
Misty (Bot)
6eac500a50 Latest translations and fallbacks 2021-11-22 09:06:27 +00:00
Renovate Bot
87433b79ef chore(deps): update dependency jsdom to v18.1.1 2021-11-22 05:21:28 +00:00
Barış Soner Uşaklı
242f8e95ad fix: #10020, /api/post/upload returns v3 style response 2021-11-21 19:45:04 -05:00
Misty (Bot)
34de9608d0 Latest translations and fallbacks 2021-11-21 09:06:13 +00:00
Misty (Bot)
387f2a07eb Latest translations and fallbacks 2021-11-20 09:06:23 +00:00
Julian Lam
5b42b6b369 API route for returning tracked analytics keys (#10019)
* feat: track metrics saved by NodeBB (and assoc. plugins), #9949

* feat: route to retrieve analytics keys, closes #9949
2021-11-19 15:12:13 -05:00
Julian Lam
449366ca83 fix: consolidate plugin reset logic 2021-11-19 12:21:14 -05:00
Barış Soner Uşaklı
9245f71a66 fix: search crash 2021-11-18 20:12:07 -05:00
Barış Soner Uşaklı
fb363957d1 refactor: tab rules 2021-11-18 16:42:18 -05:00
Barış Soner Uşaklı
c26870d227 feat: #10008, add history entry for note deletion 2021-11-18 13:59:39 -05:00
Barış Soner Uşaklı
697dd37670 refactor: change category feed so it is not updated on every reply
allow cid query param for recent/top/popular feeds
2021-11-18 13:11:05 -05:00
Renovate Bot
f05d308ac7 fix(deps): update socket.io packages to v4.4.0 2021-11-18 16:03:55 +00:00
Renovate Bot
68dddbd946 fix(deps): update dependency nodebb-theme-vanilla to v12.1.10 2021-11-18 13:07:31 +00:00
Renovate Bot
3eb91a2011 fix(deps): update dependency nodebb-theme-persona to v11.2.22 2021-11-18 11:14:11 +00:00
Renovate Bot
5ec32c3145 fix(deps): update dependency nodebb-plugin-mentions to v3.0.3 2021-11-18 09:10:41 +00:00
Barış Soner Uşaklı
d5bfd51267 fix: #10010, handle reverse sorting for topic events
dont add events to dom if sort is most votes
if sorting is reverse add new events after the main post or at the top instead of bottom
2021-11-17 23:34:01 -05:00
Barış Soner Uşaklı
e368feef51 refactor: dont expost entire res._locals to client side 2021-11-17 22:11:24 -05:00
renovate[bot]
2378fc84fa fix(deps): update dependency mongodb to v4.2.0 (#10011)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-11-17 13:42:10 -05:00
Barış Soner Uşaklı
af5393ecdc chore: update readme mongodb version 2021-11-17 13:20:07 -05:00
Barış Soner Uşaklı
500cad78e5 test: up mongodb version 2021-11-17 13:07:58 -05:00
Barış Soner Uşaklı
190532b3b4 refactor: shorter meta.settings.get 2021-11-16 19:25:40 -05:00
Barış Soner Uşaklı
51cbeccb08 refactor: clone settings before returning
prevents plugins from mistakenly modifying saved settings in cache
2021-11-16 19:20:18 -05:00
Barış Soner Uşaklı
27c05448e1 refactor: remove another async.series 2021-11-16 17:11:26 -05:00
Barış Soner Uşaklı
4359e5c97c refactor: remove tabs after declaration 2021-11-16 16:24:17 -05:00
Barış Soner Uşaklı
0532c1b2a1 feat: #9957, don't remove existing fields form config.json 2021-11-16 16:20:39 -05:00
Barış Soner Uşaklı
047f031dd7 fix: #10006, dont allow new rooms or adding to a room if target is blocked 2021-11-16 11:57:00 -05:00
Misty (Bot)
c16dad40cf Latest translations and fallbacks 2021-11-16 09:07:13 +00:00
Barış Soner Uşaklı
aac0792ab8 test: mainPost removed from inf scroll 2021-11-15 18:31:55 -05:00
Barış Soner Uşaklı
6d38eab69a refactor: update dates 2021-11-15 18:27:22 -05:00
Barış Soner Uşaklı
f729e51921 refactor: clone before returning 2021-11-15 18:21:52 -05:00
Barış Soner Uşaklı
258f368e32 refactor: add filter:topic.getPosts
this hook only fires when loading the posts of a topic cold load + infinite scroll
do not remove posts if they have index =-1
use topics.getTopicPosts instead of getMainPostAndReplies
2021-11-15 18:08:09 -05:00
dependabot[bot]
ea9f2c731c chore(deps): bump compare-versions from 3.6.0 to 4.1.1 in /install
Bumps [compare-versions](https://github.com/omichelsen/compare-versions) from 3.6.0 to 4.1.1.
- [Release notes](https://github.com/omichelsen/compare-versions/releases)
- [Changelog](https://github.com/omichelsen/compare-versions/blob/master/CHANGELOG.md)
- [Commits](https://github.com/omichelsen/compare-versions/compare/v3.6.0...v4.1.1)

---
updated-dependencies:
- dependency-name: compare-versions
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-15 12:10:59 -05:00
Renovate Bot
aae7be027e fix(deps): update dependency @socket.io/redis-adapter to v7.0.1 2021-11-15 12:56:30 +00:00
Renovate Bot
4616253755 fix(deps): update dependency sharp to v0.29.3 2021-11-14 14:30:14 +00:00
Misty (Bot)
2b39dc4dea Latest translations and fallbacks 2021-11-14 09:05:56 +00:00
Barış Soner Uşaklı
231472354e perf: create user tooltips on demand 2021-11-13 20:25:09 -05:00
Barış Soner Uşaklı
7f8783555b Revert "perf: remove createUserTooltips"
This reverts commit facc10e40f.
2021-11-13 20:16:24 -05:00
Renovate Bot
d7c2a311ab chore(deps): update dependency jsdom to v18.1.0 2021-11-13 03:59:36 +00:00
Barış Soner Uşaklı
8379c11b22 refactor: setObjectBulk to match sortedSetAddBulk 2021-11-12 19:51:59 -05:00
Julian Lam
1a85aaad23 docs: add docs link higher up 2021-11-12 15:26:00 -05:00
Julian Lam
e325aa935a docs: update readme blurb 2021-11-12 15:23:46 -05:00
Baris Usakli
d412ba4411 perf: closes #9994, bulk methods for settings 2021-11-12 15:13:36 -05:00
Misty (Bot)
72e1c281d7 chore(i18n): fallback strings for new resources: nodebb.admin-settings-email 2021-11-12 19:59:42 +00:00
Julian Lam
09e0c6d503 feat: add feature flag to disable verification emails, closes #9996 2021-11-12 14:58:56 -05:00
Baris Usakli
facc10e40f perf: remove createUserTooltips 2021-11-12 11:18:44 -05:00
Barış Soner Uşaklı
d196409580 refactor: remove more async.eachSeries/mapSeries 2021-11-10 20:55:06 -05:00
Barış Soner Uşaklı
8750ee04a6 refactor: make a single call to set widgets per template 2021-11-10 20:40:34 -05:00
Barış Soner Uşaklı
80f9963bed refactor: remove jshint, remove async.parallel 2021-11-10 20:19:13 -05:00
Misty (Bot)
3a78a15134 chore: incrementing version number - v1.18.6
(cherry picked from commit 22e74dc0bb)
Signed-off-by: Misty (Bot) <deploy@nodebb.org>
2021-11-10 20:45:25 +00:00
Misty (Bot)
3c8109e27f chore: update changelog for v1.18.6 2021-11-10 20:45:25 +00:00
866 changed files with 7445 additions and 5873 deletions

View File

@@ -69,7 +69,7 @@ jobs:
- 6379:6379
mongo:
image: 'mongo:3.2'
image: 'mongo:3.6'
ports:
# Maps port 27017 on service container to the host
- 27017:27017

View File

@@ -1,3 +1,110 @@
#### v1.18.6 (2021-11-10)
##### Chores
* make it a link (a0f0dd02)
* update badges, remove david doesnt work (dad31c8e)
* up themes (b1d6c9ba)
* up mentions (98b98a11)
* up mentions (3e4d477e)
* fix type.yaml example and summary (591424ce)
* incrementing version number - v1.18.5 (1e418f5b)
* update changelog for v1.18.5 (82eda23a)
* remove .opacity() mixin as it is supported cross-browser (28efcb59)
* **deps:**
* update dependency eslint-plugin-import to v2.25.3 (45a0895c)
* update commitlint monorepo to v14 (dc78125a)
* update dependency jsdom to v18.0.1 (7d468e72)
* **i18n:**
* fallback strings for new resources: nodebb.admin-development-info (91676c6c)
* fallback strings for new resources: nodebb.admin-settings-navigation (3727e39f)
* fallback strings for new resources: nodebb.admin-settings-post (46789910)
##### New Features
* #9992, hooks.one (96f13e4f)
* use auto-generated meta and link tags in ACP, closes #9991 (1719bff8)
* add node 16 (#9847) (d27c9696)
* #9967, allow dropdowns in navigation (2e623dd2)
* show number of events per type in acp (b916e42f)
* show posts previews if enabled on mouse over (8c670316)
##### Bug Fixes
* **deps:**
* update dependency nodebb-theme-slick to v1.4.16 (#9990) (cf30876f)
* update dependency nodebb-plugin-composer-default to v7.0.14 (#9989) (ef02bdc4)
* update dependency nodebb-plugin-composer-default to v7.0.13 (#9988) (654c8e61)
* update dependency nodebb-plugin-mentions to v3.0.2 (1a22b0ec)
* update dependency socket.io to v4.3.2 (98ebc4d9)
* update dependency html-to-text to v8.1.0 (c1f5889f)
* update dependency nodebb-plugin-dbsearch to v5.1.0 (#9983) (4f1ee1fc)
* update dependency nodebb-plugin-composer-default to v7.0.12 (7fee0e32)
* update dependency nodebb-plugin-mentions to v3.0.1 (#9979) (8224a2a9)
* update dependency nodebb-plugin-spam-be-gone to v0.7.11 (91293ecc)
* update dependency nodebb-theme-lavender to v5.3.1 (f7295aaa)
* update dependency nodebb-plugin-mentions to v3 (#9966) (0888aae6)
* update dependency mongodb to v4.1.4 (#9968) (f5993731)
* update dependency nodebb-theme-persona to v11.2.21 (#9969) (8fac8d61)
* update dependency nodebb-plugin-mentions to v2.15.1 (0f8a68c0)
* update dependency validator to v13.7.0 (81c8d70c)
* update dependency autoprefixer to v10.4.0 (755860f1)
* ability to enumerate email via updateProfile method (c1ac2912)
* accidentally not clearing email when said email is confirmed for a different uid (b912a564)
* #9976 (28dd31a8)
* #9976, handle array or object (9bfb6c72)
* dont show previews on mobile (41e02400)
* category load more btn visibility (05468526)
* #9973, ignore if assigning to same parent (66e7cdac)
* #9972 (67cb2491)
* remove tooltip on ajaxify (f728abda)
* don't highlight external nav items (8a88295d)
* don't use # for previews (5a0efd2d)
* events for just topic with main post (3d611ab7)
* #9954, get next post timestamp (89399c0e)
* topic events not rendered in infinitescroll (a7f235db)
* broken post uploads due to 6a976a9db0340e34577961ce8d5d9479c78f7856 (485b6ced)
* #9950, rename account export routes to remove `uid/` prefix (0ee85d5a)
* double invocation of authenticateRequest (60352eca)
* #9945, call authenticateRequest middleware for mount points in /api (6a976a9d)
* hooks is sometimes undefined (74aa12c9)
* typo in flags (bc4b19b4)
* remove unused code (50b2ebf8)
* handle undefined data.query (8f08d9ca)
##### Performance Improvements
* only load posts once (9fbb3b11)
##### Refactors
* shorter require (41c3eb82)
* deprecate app.alert functions user alerts module directly (0428912c)
* deprecate app.logout (8b4510cc)
* simpler rejoin (61903448)
* deprecate app.openChat/newChat (f352be63)
* move search functions from app.js to search module (1a9b1598)
* move session messages (666fe209)
* move warnings/messages out of app.js (51855254)
* remove jshint (0a7ff208)
* cleanup info, better cpu usage % (4b738c8c)
* acp only uses 3 modes and a single theme (890bf03f)
* display errors from category drag/drop (c1cc35a9)
* use utils.debounce (e8c17fee)
##### Tests
* add another assert for random failing test (ae64b9f4)
* socket.emit doesnt exist in tests (61d1f565)
* show body when test fails (e3f5b706)
* lint (3d2398ac)
* fix tpl test (30cce142)
* dbsearch no longer has staticDir (3386893b)
* increase timeout (4ac9270a)
* fix account export test routes (10bb8cf7)
* add test aliases.buildTargets (62ac9a8b)
* empty query params for search (bda5d144)
#### v1.18.5 (2021-10-27)
##### Breaking Changes

View File

@@ -1,22 +1,14 @@
# ![NodeBB](public/images/logo.svg)
# ![NodeBB](public/images/sm-card.png)
[![Workflow](https://github.com/NodeBB/NodeBB/actions/workflows/test.yaml/badge.svg)](https://github.com/NodeBB/NodeBB/actions/workflows/test.yaml)
[![Coverage Status](https://coveralls.io/repos/github/NodeBB/NodeBB/badge.svg?branch=master)](https://coveralls.io/github/NodeBB/NodeBB?branch=master)
[![Code Climate](https://codeclimate.com/github/NodeBB/NodeBB/badges/gpa.svg)](https://codeclimate.com/github/NodeBB/NodeBB)
[**NodeBB Forum Software**](https://nodebb.org) is powered by Node.js and supports either Redis, MongoDB, or a PostgreSQL database. It utilizes web sockets for instant interactions and real-time notifications. NodeBB has many modern features out of the box such as social network integration and streaming discussions, while still making sure to be compatible with older browsers.
[**NodeBB Forum Software**](https://nodebb.org) is powered by Node.js and supports either Redis, MongoDB, or a PostgreSQL database. It utilizes web sockets for instant interactions and real-time notifications. NodeBB takes the best of the modern web: real-time streaming discussions, mobile responsiveness, and rich RESTful read/write APIs, while staying true to the original bulletin board/forum format &rarr; categorical hierarchies, local user accounts, and asynchronous messaging.
Additional functionality is enabled through the use of third-party plugins.
NodeBB by itself contains a "common core" of basic functionality, while additional functionality and integrations are enabled through the use of third-party plugins.
* [Demo](https://try.nodebb.org)
* [Developer Community](http://community.nodebb.org)
* [Documentation & Installation Instructions](http://docs.nodebb.org)
* [Help translate NodeBB](https://www.transifex.com/projects/p/nodebb/)
* [NodeBB Blog](http://blog.nodebb.org)
* [Premium Hosting for NodeBB](http://www.nodebb.org/ "NodeBB")
* Unofficial IRC community &ndash; channel `#nodebb` on Libera.chat
* [Follow us on Twitter](http://www.twitter.com/NodeBB/ "NodeBB Twitter")
* [Like us on Facebook](http://www.facebook.com/NodeBB/ "NodeBB Facebook")
### [Try it now](//try.nodebb.org) | [Documentation](//docs.nodebb.org)
## Screenshots
@@ -50,7 +42,7 @@ Our minimalist "Persona" theme gets you going right away, no coding experience r
NodeBB requires the following software to be installed:
* A version of Node.js at least 12 or greater ([installation/upgrade instructions](https://github.com/nodesource/distributions))
* MongoDB, version 2.6 or greater **or** Redis, version 2.8.9 or greater
* MongoDB, version 3.6 or greater **or** Redis, version 2.8.9 or greater
* If you are using [clustering](https://docs.nodebb.org/configuring/scaling/) you need Redis installed and configured.
* nginx, version 1.3.13 or greater (**only if** intending to use nginx to proxy requests to a NodeBB)
@@ -78,3 +70,15 @@ Detailed upgrade instructions are listed in [Upgrading NodeBB](https://docs.node
NodeBB is licensed under the **GNU General Public License v3 (GPL-3)** (http://www.gnu.org/copyleft/gpl.html).
Interested in a sublicense agreement for use of NodeBB in a non-free/restrictive environment? Contact us at sales@nodebb.org.
## More Information/Links
* [Demo](https://try.nodebb.org)
* [Developer Community](http://community.nodebb.org)
* [Documentation & Installation Instructions](http://docs.nodebb.org)
* [Help translate NodeBB](https://www.transifex.com/projects/p/nodebb/)
* [NodeBB Blog](http://blog.nodebb.org)
* [Premium Hosting for NodeBB](http://www.nodebb.org/ "NodeBB")
* Unofficial IRC community &ndash; channel `#nodebb` on Libera.chat
* [Follow us on Twitter](http://www.twitter.com/NodeBB/ "NodeBB Twitter")
* [Like us on Facebook](http://www.facebook.com/NodeBB/ "NodeBB Facebook")

2
app.js
View File

@@ -1,7 +1,7 @@
/*
NodeBB - A better forum platform for the modern web
https://github.com/NodeBB/NodeBB/
Copyright (C) 2013-2017 NodeBB Inc.
Copyright (C) 2013-2021 NodeBB Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by

View File

@@ -138,6 +138,7 @@
"disableEmailSubscriptions": 0,
"emailConfirmInterval": 10,
"removeEmailNotificationImages": 0,
"sendValidationEmail": 1,
"includeUnverifiedEmails": 0,
"emailPrompt": 1,
"inviteExpiration": 7,

View File

@@ -64,9 +64,6 @@
"iconClass": "fa-cogs",
"textClass": "visible-xs-inline",
"text": "[[global:header.admin]]",
"groups": ["administrators"],
"properties": {
"targetBlank": false
}
"groups": ["administrators"]
}
]

View File

@@ -2,7 +2,7 @@
"name": "nodebb",
"license": "GPL-3.0",
"description": "NodeBB Forum",
"version": "1.18.6",
"version": "1.19.0",
"homepage": "http://www.nodebb.org",
"repository": {
"type": "git",
@@ -28,41 +28,41 @@
]
},
"dependencies": {
"@adactive/bootstrap-tagsinput": "^0.8.2",
"ace-builds": "^1.4.12",
"archiver": "^5.2.0",
"async": "^3.2.0",
"autoprefixer": "10.4.0",
"@adactive/bootstrap-tagsinput": "0.8.2",
"ace-builds": "1.4.13",
"archiver": "5.3.0",
"async": "3.2.3",
"autoprefixer": "10.4.2",
"bcryptjs": "2.4.3",
"benchpressjs": "2.4.3",
"body-parser": "^1.19.0",
"body-parser": "1.19.1",
"bootbox": "5.5.2",
"bootstrap": "^3.4.1",
"chart.js": "^2.9.4",
"cli-graph": "^3.2.2",
"clipboard": "^2.0.6",
"colors": "^1.4.0",
"commander": "^7.1.0",
"compare-versions": "3.6.0",
"compression": "^1.7.4",
"connect-flash": "^0.1.1",
"bootstrap": "3.4.1",
"chart.js": "2.9.4",
"cli-graph": "3.2.2",
"clipboard": "2.0.8",
"colors": "1.4.0",
"commander": "7.2.0",
"compare-versions": "4.1.2",
"compression": "1.7.4",
"connect-flash": "0.1.1",
"connect-mongo": "4.6.0",
"connect-multiparty": "^2.2.0",
"connect-pg-simple": "^7.0.0",
"connect-multiparty": "2.2.0",
"connect-pg-simple": "7.0.0",
"connect-redis": "6.0.0",
"cookie-parser": "^1.4.5",
"cron": "^1.8.2",
"cropperjs": "^1.5.11",
"csurf": "^1.11.0",
"daemon": "^1.1.0",
"diff": "^5.0.0",
"express": "^4.17.1",
"express-session": "^1.17.1",
"express-useragent": "^1.0.15",
"graceful-fs": "^4.2.6",
"helmet": "^4.4.1",
"cookie-parser": "1.4.6",
"cron": "1.8.2",
"cropperjs": "1.5.12",
"csurf": "1.11.0",
"daemon": "1.1.0",
"diff": "5.0.0",
"express": "4.17.2",
"express-session": "1.17.2",
"express-useragent": "1.0.15",
"graceful-fs": "4.2.9",
"helmet": "4.6.0",
"html-to-text": "8.1.0",
"ipaddr.js": "^2.0.0",
"ipaddr.js": "2.0.1",
"jquery": "3.6.0",
"jquery-deserialize": "2.0.0",
"jquery-form": "4.3.0",
@@ -70,89 +70,90 @@
"jquery-ui": "1.13.0",
"jsesc": "3.0.2",
"json2csv": "5.0.6",
"jsonwebtoken": "^8.5.1",
"less": "^3.11.1",
"lodash": "^4.17.21",
"logrotate-stream": "^0.2.7",
"jsonwebtoken": "8.5.1",
"less": "3.13.1",
"lodash": "4.17.21",
"logrotate-stream": "0.2.8",
"lru-cache": "6.0.0",
"material-design-lite": "^1.3.0",
"mime": "^2.5.2",
"mkdirp": "^1.0.4",
"mongodb": "4.1.4",
"morgan": "^1.10.0",
"mousetrap": "^1.6.5",
"material-design-lite": "1.3.0",
"mime": "3.0.0",
"mkdirp": "1.0.4",
"mongodb": "4.3.0",
"morgan": "1.10.0",
"mousetrap": "1.6.5",
"multiparty": "4.2.2",
"@nodebb/bootswatch": "3.4.2",
"nconf": "^0.11.2",
"nodebb-plugin-composer-default": "7.0.14",
"nodebb-plugin-dbsearch": "5.1.0",
"nodebb-plugin-emoji": "^3.5.0",
"nconf": "0.11.3",
"nodebb-plugin-2factor": "3.0.4",
"nodebb-plugin-composer-default": "7.0.17",
"nodebb-plugin-dbsearch": "5.1.1",
"nodebb-plugin-emoji": "3.5.4",
"nodebb-plugin-emoji-android": "2.0.5",
"nodebb-plugin-markdown": "8.14.4",
"nodebb-plugin-mentions": "3.0.3",
"nodebb-plugin-spam-be-gone": "0.7.11",
"nodebb-rewards-essentials": "0.2.0",
"nodebb-theme-lavender": "5.3.1",
"nodebb-theme-persona": "11.2.21",
"nodebb-theme-slick": "1.4.16",
"nodebb-theme-vanilla": "12.1.9",
"nodebb-plugin-markdown": "8.14.6",
"nodebb-plugin-mentions": "3.0.4",
"nodebb-plugin-spam-be-gone": "0.7.12",
"nodebb-rewards-essentials": "0.2.1",
"nodebb-theme-lavender": "5.3.2",
"nodebb-theme-persona": "11.3.13",
"nodebb-theme-slick": "1.4.23",
"nodebb-theme-vanilla": "12.1.15",
"nodebb-widget-essentials": "5.0.4",
"nodemailer": "^6.5.0",
"nodemailer": "6.7.2",
"nprogress": "0.2.0",
"passport": "^0.5.0",
"passport-http-bearer": "^1.0.1",
"passport": "0.5.2",
"passport-http-bearer": "1.0.1",
"passport-local": "1.0.0",
"pg": "^8.7.1",
"pg-cursor": "^2.7.1",
"postcss": "8.3.11",
"pg": "8.7.1",
"pg-cursor": "2.7.1",
"postcss": "8.4.5",
"postcss-clean": "1.2.0",
"prompt": "^1.1.0",
"ioredis": "4.28.0",
"prompt": "1.2.1",
"ioredis": "4.28.3",
"request": "2.88.2",
"request-promise-native": "^1.0.9",
"request-promise-native": "1.0.9",
"requirejs": "2.3.6",
"rimraf": "3.0.2",
"rss": "^1.2.2",
"sanitize-html": "^2.3.2",
"semver": "^7.3.4",
"serve-favicon": "^2.5.0",
"sharp": "0.29.2",
"sitemap": "^7.0.0",
"rss": "1.2.2",
"sanitize-html": "2.6.1",
"semver": "7.3.5",
"serve-favicon": "2.5.0",
"sharp": "0.29.3",
"sitemap": "7.1.0",
"slideout": "1.0.1",
"socket.io": "4.3.2",
"socket.io-adapter-cluster": "^1.0.1",
"socket.io-client": "4.3.2",
"@socket.io/redis-adapter": "7.0.0",
"socket.io": "4.4.1",
"socket.io-adapter-cluster": "1.0.1",
"socket.io-client": "4.4.1",
"@socket.io/redis-adapter": "7.1.0",
"sortablejs": "1.14.0",
"spdx-license-list": "^6.4.0",
"spdx-license-list": "6.4.0",
"spider-detector": "2.0.0",
"textcomplete": "^0.18.0",
"textcomplete.contenteditable": "^0.1.1",
"timeago": "^1.6.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",
"toobusy-js": "0.5.1",
"uglify-es": "3.3.9",
"validator": "13.7.0",
"visibilityjs": "2.0.2",
"winston": "3.3.3",
"xml": "^1.0.1",
"xregexp": "^5.0.1",
"yargs": "17.2.1",
"zxcvbn": "^4.4.2"
"winston": "3.4.0",
"xml": "1.0.1",
"xregexp": "5.1.0",
"yargs": "17.3.1",
"zxcvbn": "4.4.2"
},
"devDependencies": {
"@apidevtools/swagger-parser": "10.0.3",
"@commitlint/cli": "14.1.0",
"@commitlint/config-angular": "14.1.0",
"@commitlint/cli": "16.0.2",
"@commitlint/config-angular": "16.0.0",
"coveralls": "3.1.1",
"eslint": "7.32.0",
"eslint-config-nodebb": "0.0.3",
"eslint-plugin-import": "2.25.3",
"eslint": "8.6.0",
"eslint-config-nodebb": "0.1.1",
"eslint-plugin-import": "2.25.4",
"grunt": "1.4.1",
"grunt-contrib-watch": "1.1.0",
"husky": "7.0.4",
"jsdom": "18.0.1",
"lint-staged": "11.2.6",
"jsdom": "19.0.0",
"lint-staged": "12.1.7",
"mocha": "9.1.3",
"mocha-lcov-reporter": "1.3.0",
"mockdate": "3.0.5",
@@ -182,4 +183,4 @@
"url": "https://github.com/barisusakli"
}
]
}
}

View File

@@ -48,7 +48,7 @@ Loader.init = function () {
Loader.displayStartupMessages = function () {
console.log('');
console.log(`NodeBB v${pkg.version} Copyright (C) 2013-2014 NodeBB Inc.`);
console.log(`NodeBB v${pkg.version} Copyright (C) 2013-${(new Date()).getFullYear()} NodeBB Inc.`);
console.log('This program comes with ABSOLUTELY NO WARRANTY.');
console.log('This is free software, and you are welcome to redistribute it under certain conditions.');
console.log('For the full license, please visit: http://www.gnu.org/copyleft/gpl.html');
@@ -208,12 +208,25 @@ fs.open(pathToConfig, 'r', (err) => {
if (nconf.get('daemon') !== 'false' && nconf.get('daemon') !== false) {
if (file.existsSync(pidFilePath)) {
let pid = 0;
try {
const pid = fs.readFileSync(pidFilePath, { encoding: 'utf-8' });
process.kill(pid, 0);
process.exit();
} catch (e) {
fs.unlinkSync(pidFilePath);
pid = fs.readFileSync(pidFilePath, { encoding: 'utf-8' });
if (pid) {
process.kill(pid, 0);
console.info(`Process "${pid}" from pidfile already running, exiting`);
process.exit();
} else {
console.info(`Invalid pid "${pid}" from pidfile, deleting pidfile`);
fs.unlinkSync(pidFilePath);
}
} catch (err) {
if (err.code === 'ESRCH') {
console.info(`Process "${pid}" from pidfile not found, deleting pidfile`);
fs.unlinkSync(pidFilePath);
} else {
console.error(err.stack);
throw err;
}
}
}

View File

@@ -1,84 +0,0 @@
{
"maxerr" : 50, // {int} Maximum error before stopping
"esversion": 9,
// Enforcing
"bitwise" : true, // true: Prohibit bitwise operators (&, |, ^, etc.)
"camelcase" : false, // true: Identifiers must be in camelCase
"curly" : true, // true: Require {} for every new block or scope
"eqeqeq" : true, // true: Require triple equals (===) for comparison
"forin" : true, // true: Require filtering for..in loops with obj.hasOwnProperty()
"immed" : false, // true: Require immediate invocations to be wrapped in parens e.g. `(function () { } ());`
"indent" : 4, // {int} Number of spaces to use for indentation
"latedef" : false, // true: Require variables/functions to be defined before being used
"newcap" : false, // true: Require capitalization of all constructor functions e.g. `new F()`
"noarg" : true, // true: Prohibit use of `arguments.caller` and `arguments.callee`
"noempty" : true, // true: Prohibit use of empty blocks
"nonew" : false, // true: Prohibit use of constructors for side-effects (without assignment)
"plusplus" : false, // true: Prohibit use of `++` & `--`
"quotmark" : false, // Quotation mark consistency:
// false : do nothing (default)
// true : ensure whatever is used is consistent
// "single" : require single quotes
// "double" : require double quotes
"undef" : true, // true: Require all non-global variables to be declared (prevents global leaks)
"unused" : true, // true: Require all defined variables be used
"strict" : true, // true: Requires all functions run in ES5 Strict Mode
"trailing" : false, // true: Prohibit trailing whitespaces
"maxparams" : false, // {int} Max number of formal params allowed per function
"maxdepth" : false, // {int} Max depth of nested blocks (within functions)
"maxstatements" : false, // {int} Max number statements per function
"maxcomplexity" : false, // {int} Max cyclomatic complexity per function
"maxlen" : false, // {int} Max number of characters per line
// Relaxing
"asi" : false, // true: Tolerate Automatic Semicolon Insertion (no semicolons)
"boss" : false, // true: Tolerate assignments where comparisons would be expected
"debug" : false, // true: Allow debugger statements e.g. browser breakpoints.
"eqnull" : false, // true: Tolerate use of `== null`
"es5" : false, // true: Allow ES5 syntax (ex: getters and setters)
"esnext" : false, // true: Allow ES.next (ES6) syntax (ex: `const`)
"moz" : false, // true: Allow Mozilla specific syntax (extends and overrides esnext features)
// (ex: `for each`, multiple try/catch, function expression…)
"evil" : false, // true: Tolerate use of `eval` and `new Function()`
"expr" : false, // true: Tolerate `ExpressionStatement` as Programs
"funcscope" : false, // true: Tolerate defining variables inside control statements"
"globalstrict" : true, // true: Allow global "use strict" (also enables 'strict')
"iterator" : false, // true: Tolerate using the `__iterator__` property
"lastsemic" : false, // true: Tolerate omitting a semicolon for the last statement of a 1-line block
"laxbreak" : false, // true: Tolerate possibly unsafe line breakings
"laxcomma" : false, // true: Tolerate comma-first style coding
"loopfunc" : false, // true: Tolerate functions being defined in loops
"multistr" : false, // true: Tolerate multi-line strings
"proto" : false, // true: Tolerate using the `__proto__` property
"scripturl" : false, // true: Tolerate script-targeted URLs
"smarttabs" : false, // true: Tolerate mixed tabs/spaces when used for alignment
"shadow" : false, // true: Allows re-define variables later in code e.g. `var x=1; x=2;`
"sub" : false, // true: Tolerate using `[]` notation when it can still be expressed in dot notation
"supernew" : false, // true: Tolerate `new function () { ... };` and `new Object;`
"validthis" : false, // true: Tolerate using this in a non-constructor function
"globals": {
"app": true,
"io": true,
"socket": true,
"ajaxify": true,
"config": true,
"utils": true,
"overrides": true,
"componentHandler": true,
"templates": true,
"Visibility": true,
"Tinycon": true,
"require": true,
"define": true,
"ace": true,
"Sortable": true,
"Slideout": true,
"NProgress": true
},
"jquery": true,
"browser": true
}

BIN
public/images/sm-card.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 215 KiB

View File

@@ -3,5 +3,9 @@
"alert.confirm-restart": "هل تريد بالتأكيد إعادة تشغيل NodeBB؟",
"acp-title": "لوحة تحكم إدارة NodeBB | %1",
"settings-header-contents": "محتويات"
"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

@@ -38,7 +38,8 @@
"subscriptions.hour-help": "Please enter a number representing the hour to send scheduled email digests (e.g. <code>0</code> for midnight, <code>17</code> for 5:00pm). Keep in mind that this is the hour according to the server itself, and may not exactly match your system clock.<br /> The approximate server time is: <span id=\"serverTime\"></span><br /> The next daily digest is scheduled to be sent <span id=\"nextDigestTime\"></span>",
"notifications.remove-images": "Remove images from email notifications",
"require-email-address": "Require new users to specify an email address",
"require-email-address-warning": "By default, users can opt-out of entering an email address. Enabling this option means they have to enter an email address in order to proceed with registration. <strong>It does not ensure user will enter a real email address, nor even an address they own.</strong>",
"require-email-address-warning": "By default, users can opt-out of entering an email address by leaving the field blank. Enabling this option means they have to enter an email address in order to proceed with registration. <strong>It does not ensure user will enter a real email address, nor even an address they own.</strong>",
"send-validation-email": "Send validation emails when an email is added or changed",
"include-unverified-emails": "Send emails to recipients who have not explicitly confirmed their emails",
"include-unverified-warning": "By default, users with emails associated with their account have already been verified, but there are situations where this is not the case (e.g. SSO logins, grandfathered users, etc). <strong>Enable this setting at your own risk</strong> &ndash; sending emails to unverified addresses may be a violation of regional anti-spam laws.",
"prompt": "Prompt users to enter or confirm their emails",

View File

@@ -1,6 +1,5 @@
{
"posts": "المشاركات",
"allow-files": "السماح للأعضاء بتحميل الملفات الإعتيادية",
"private": "جعل الملفات التي تم رفعها خاصة",
"strip-exif-data": "Strip EXIF Data",
"private-extensions": "File extensions to make private",

View File

@@ -6,7 +6,6 @@
"allow-login-with": "السماح بتسجيل الدخول باستخدام",
"allow-login-with.username-email": "اسم المستخدم أو البريد الالكتروني",
"allow-login-with.username": "اسم المستخدم فقط",
"allow-login-with.email": "البريد الالكتروني فقط",
"account-settings": "إعدادت الحساب",
"gdpr_enabled": "Enable GDPR consent collection",
"gdpr_enabled_help": "When enabled, all new registrants will be required to explicitly give consent for data collection and usage under the <a href=\"https://ec.europa.eu/info/priorities/justice-and-fundamental-rights/data-protection/2018-reform-eu-data-protection-rules/eu-data-protection-rules_en\">General Data Protection Regulation (GDPR)</a>. <strong>Note</strong>: Enabling GDPR does not force pre-existing users to provide consent. To do so, you will need to install the GDPR plugin.",

View File

@@ -1,6 +1,8 @@
{
"invalid-data": "بيانات غير صحيحة",
"invalid-json": "Invalid JSON",
"wrong-parameter-type": "A value of type %3 was expected for property `%1`, but %2 was received instead",
"required-parameters-missing": "Required parameters were missing from this API call: %1",
"not-logged-in": "لم تقم بتسجيل الدخول",
"account-locked": "تم حظر حسابك مؤقتًا.",
"search-requires-login": "البحث في المنتدى يتطلب حساب - الرجاء تسجيل الدخول أو التسجيل",
@@ -9,6 +11,7 @@
"invalid-tid": "موضوع غير متواجد",
"invalid-pid": "رد غير موجود",
"invalid-uid": "مستخدم غير موجود",
"invalid-mid": "Invalid Chat Message ID",
"invalid-date": "A valid date must be provided",
"invalid-username": "اسم المستخدم غير مقبول",
"invalid-email": "البريد الاكتروني غير مقبول",
@@ -142,7 +145,6 @@
"invalid-chat-message": "الرسالة غير صالحة.",
"chat-message-too-long": "Chat messages can not be longer than %1 characters.",
"cant-edit-chat-message": "غير مصرح لك بتعديل الرسالة.",
"cant-remove-last-user": "لأيمكنك إزالت اخر مستخدم.",
"cant-delete-chat-message": "غير مصرح لك بحذف الرسالة.",
"chat-edit-duration-expired": "You are only allowed to edit chat messages for %1 second(s) after posting",
"chat-delete-duration-expired": "You are only allowed to delete chat messages for %1 second(s) after posting",

View File

@@ -1,7 +1,6 @@
{
"username-email": "اسم المستخدم / البريد الإلكتروني",
"username": "اسم المستخدم",
"email": "البريد الإلكتروني",
"remember_me": "تذكرني؟",
"forgot_password": "نسيت كلمة المرور؟",
"alternative_logins": "تسجيلات الدخول البديلة",

View File

@@ -68,6 +68,8 @@
"bootbox.ok": "OK",
"bootbox.cancel": "إلغاء",
"bootbox.confirm": "تأكيد",
"bootbox.submit": "Submit",
"bootbox.send": "Send",
"cover.dragging_title": "Cover Photo Positioning",
"cover.dragging_message": "Drag the cover photo to the desired position and click \"Save\"",
"cover.saved": "Cover photo image and position saved",

View File

@@ -50,6 +50,7 @@
"users-csv-exported": "Users csv exported, click to download",
"post-queue-accepted": "Your queued post has been accepted. Click here to see your post.",
"post-queue-rejected": "Your queued post has been rejected.",
"post-queue-notify": "Queued post received a notification:<br/>\"%1\"",
"email-confirmed": "تم التحقق من عنوان البريد الإلكتروني",
"email-confirmed-message": "شكرًا على إثبات صحة عنوان بريدك الإلكتروني. صار حسابك مفعلًا بالكامل.",
"email-confirm-error-message": "حدث خطأ أثناء التحقق من عنوان بريدك الإلكتروني. ربما رمز التفعيل خاطئ أو انتهت صلاحيته.",

View File

@@ -14,5 +14,8 @@
"reply": "Reply",
"topic": "Topic",
"accept": "Accept",
"reject": "Reject"
"reject": "Reject",
"remove": "Remove",
"notify": "Notify",
"notify-user": "Notify User"
}

View File

@@ -48,6 +48,7 @@
"moved-from-by": "Moved from %1 by",
"queued-by": "Post queued for approval &rarr;",
"backlink": "Referenced by",
"forked-by": "Forked by",
"bookmark_instructions": "اضغط هنا للعودة لأخر مشاركة مقروءة في الموضوع",
"flag-post": "Flag this post",
"flag-user": "Flag this user",

View File

@@ -184,6 +184,6 @@
"consent.export_posts": "Export Posts (.csv)",
"consent.export-posts-success": "Exporting posts, you will get a notification when it is complete.",
"emailUpdate.intro": "Please enter your email address below. This forum uses your email address for scheduled digest and notifications, as well as for account recovery in the event of a lost password.",
"emailUpdate.optional": "<strong>This field is optional</strong>. You are not obligated to provide your email address, but without a validated email, you will not be able to recover your account.",
"emailUpdate.optional": "<strong>This field is optional</strong>. You are not obligated to provide your email address, but without a validated email, you will not be able to recover your account or login with your email.",
"emailUpdate.change-instructions": "A confirmation email will be sent to the entered email address with a unique link. Accessing that link will confirm your ownership of the email address and it will become active on your account. At any time, you are able to update your email on file from within your account page."
}

View File

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

View File

@@ -38,7 +38,8 @@
"subscriptions.hour-help": "Моля, въведете число, представляващо часа, в който да се разпращат е-писма с подготвеното резюме (напр.. <code>0</code> за полунощ, <code>17</code> за 5 следобед). Имайте предвид, че този час е според часовата зона на сървъра и може да не съвпада с часовника на системата Ви.<br /> Приблизителното време на сървъра е: <span id=\"serverTime\"></span><br /> Изпращането на следващия ежедневен бюлетин е планирано за <span id=\"nextDigestTime\"></span>",
"notifications.remove-images": "Премахване на изображенията от известията по е-поща",
"require-email-address": "Новите потребители задължително трябва да предоставят е-поща",
"require-email-address-warning": "По подразбиране потребителите могат да не въвеждат адрес на е-поща. Ако включите това, те задължително ще трябва да предоставят е-поща, за да могат да се регистрират. <strong>Това не означава, че потребителят ще въведе съществуваща е-поща, нито че тя ще е негова.</strong>",
"require-email-address-warning": "По подразбиране потребителите могат да не въвеждат адрес на е-поща, като оставят полето празно. Ако включите това, те задължително ще трябва да предоставят е-поща, за да могат да се регистрират. <strong>Това не означава, че потребителят ще въведе съществуваща е-поща, нито че тя ще е негова.</strong>",
"send-validation-email": "Изпращане на е-писма за потвърждение, когато бъде добавена или променена е-поща",
"include-unverified-emails": "Изпращане на е-писма към получатели, които не са потвърдили изрично е-пощата си",
"include-unverified-warning": "За потребителите, които имат свързана е-поща с регистрацията си, тя се смята за потвърдена. Но има ситуации, в които това не е така (например при ползване на регистрация от друга система, но и в други случаи), <strong>Включете тази настройка на собствен риск</strong> &ndash; изпращането на е-писма към непотвърдени адреси може да нарушава определени местни закони против нежеланата поща.",
"prompt": "Подсещане на потребителите да въведат или потвърдят е-пощата си",

View File

@@ -1,6 +1,5 @@
{
"posts": "Публикации",
"allow-files": "Позволяване на потребителите да качват обикновени файлове",
"private": "Качените файлове да бъдат частни",
"strip-exif-data": "Премахване на данните EXIF",
"private-extensions": "Файлови разширения, които да бъдат частни",

View File

@@ -6,7 +6,6 @@
"allow-login-with": "Позволяване на вписването чрез",
"allow-login-with.username-email": "Потребителско име или е-поща",
"allow-login-with.username": "Само потребителско име",
"allow-login-with.email": "Само е-поща",
"account-settings": "Настройки на акаунта",
"gdpr_enabled": "Включване на искането за съгласие с ОРЗД",
"gdpr_enabled_help": "Ако това е включено, всички новорегистрирани потребители ще бъдат задължени изрично да дадат съгласието си за събирането на данни и статистики за потреблението според <a href=\"https://ec.europa.eu/info/priorities/justice-and-fundamental-rights/data-protection/2018-reform-eu-data-protection-rules/eu-data-protection-rules_en\">Общия регламент относно защитата на данните (ОРЗД)</a>. <strong>Забележка</strong>: Включването на ОРЗД не задължава съществуващите потребители да дадат съгласието си. Ако искате това, ще трябва да инсталирате добавката за ОРЗД (GDPR).",

View File

@@ -1,6 +1,8 @@
{
"invalid-data": "Грешни данни",
"invalid-json": "Неправилен JSON",
"wrong-parameter-type": "За свойството `%1` се очакваше стойност от тип %3, но вместо това беше получено %2",
"required-parameters-missing": "Липсват задължителни параметри от това извикване към ППИ: %1",
"not-logged-in": "Изглежда не сте се вписали в системата.",
"account-locked": "Вашият акаунт беше заключен временно",
"search-requires-login": "Търсенето изисква регистриран акаунт! Моля, впишете се или се регистрирайте!",
@@ -9,6 +11,7 @@
"invalid-tid": "Грешен идентификатор на тема",
"invalid-pid": "Грешен идентификатор на публикация",
"invalid-uid": "Грешен идентификатор на потребител",
"invalid-mid": "Грешен идентификатор на съобщение в разговор",
"invalid-date": "Трябва да бъде посочена правилна дата",
"invalid-username": "Грешно потребителско име",
"invalid-email": "Грешна е-поща",
@@ -142,7 +145,6 @@
"invalid-chat-message": "Неправилно съобщение",
"chat-message-too-long": "Съобщенията в разговор не може да бъдат по-дълги от %1 знака.",
"cant-edit-chat-message": "Нямате право да редактирате това съобщение",
"cant-remove-last-user": "Не можете да премахнете последния потребител",
"cant-delete-chat-message": "Нямате право да изтриете това съобщение",
"chat-edit-duration-expired": "Можете да редактирате съобщенията си в разговорите до %1 секунда/и, след като ги пуснете",
"chat-delete-duration-expired": "Можете да изтривате съобщенията си в разговорите до %1 секунда/и след пускането им",

View File

@@ -1,7 +1,6 @@
{
"username-email": "Потребителско име / е-поща",
"username": "Потребителско име",
"email": "Е-поща",
"remember_me": "Запомнете ме?",
"forgot_password": "Забравена парола?",
"alternative_logins": "Други начини за вписване",

View File

@@ -68,6 +68,8 @@
"bootbox.ok": "Добре",
"bootbox.cancel": "Отказ",
"bootbox.confirm": "Потвърждаване",
"bootbox.submit": "Публикуване",
"bootbox.send": "Изпращане",
"cover.dragging_title": "Наместване на снимката",
"cover.dragging_message": "Преместете снимката на желаното положение и натиснете „Запазване“",
"cover.saved": "Снимката и мястото ѝ бяха запазени",

View File

@@ -50,6 +50,7 @@
"users-csv-exported": "Потребителите са изнесени във формат „csv“, щракнете за сваляне",
"post-queue-accepted": "Вашата публикация, която чакаше в опашката, беше приета. Натиснете тук, за да я видите.",
"post-queue-rejected": "Вашата публикация, която чакаше в опашката, беше отхвърлена.",
"post-queue-notify": "Публикация, чакаща в опашката, получи известие:<br/>„%1“",
"email-confirmed": "Е-пощата беше потвърдена",
"email-confirmed-message": "Благодарим Ви, че потвърдихте е-пощата си. Акаунтът Ви е вече напълно активиран.",
"email-confirm-error-message": "Възникна проблем при потвърждаването на е-пощата Ви. Може кодът да е грешен или давността му да е изтекла.",

View File

@@ -14,5 +14,8 @@
"reply": "Отговор",
"topic": "Тема",
"accept": "Приемане",
"reject": "Отказване"
"reject": "Отказване",
"remove": "Премахване",
"notify": "Известяване",
"notify-user": "Известяване на потребителя"
}

View File

@@ -48,6 +48,7 @@
"moved-from-by": "Преместена от %1 от",
"queued-by": "Публикацията е добавена в опашката за одобрение &rarr;",
"backlink": "Спомената от",
"forked-by": "Разделена от",
"bookmark_instructions": "Щракнете тук, за да се върнете към последно прочетената публикация в тази тема.",
"flag-post": "Докладване на тази публикация",
"flag-user": "Докладване на този потребител",

View File

@@ -184,6 +184,6 @@
"consent.export_posts": "Изнасяне на публикациите (.csv)",
"consent.export-posts-success": "Изнасяне на публикациите… Ще получите известие, когато е готово.",
"emailUpdate.intro": "Въведете е-пощата си по-долу. Този форум използва е-пощата за планирани резюмета и известия, както и за възстановяване на акаунта, в случай на забравена парола.",
"emailUpdate.optional": "<strong>Това поле не е задължително</strong>. Не сте длъжен/на да ни давате адреса на е-пощата си, но ако нямате потвърдена е-поща, няма да можете да възстановите достъпа до акаунта си в случай на проблем.",
"emailUpdate.optional": "<strong>Това поле не е задължително</strong>. Не сте длъжен/на да предоставяте адрес на е-поща, но без проверена е-поща, няма да можете да възстановите акаунта си в случай на проблем, нито ще можете да се вписвате с е-пощата си.",
"emailUpdate.change-instructions": "Ще Ви изпратим е-писмо за потвърждение на посочената е-поща, което ще съдържа уникална връзка. Щом последвате тази връзка, притежанието Ви на тази е-поща ще бъде потвърдено и тя ще бъде свързана с акаунта Ви. Ще можете да промените тази е-поща по всяко време, от страницата на акаунта си."
}

View File

@@ -3,5 +3,9 @@
"alert.confirm-restart": "আপনি কি নিশ্চিত যে আপনি NodeBB রিস্টার্ট করতে চান ?",
"acp-title": "%1 | NodeBB এডমিন কন্ট্রোল প্যানেল",
"settings-header-contents": "কনটেন্টস"
"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

@@ -38,7 +38,8 @@
"subscriptions.hour-help": "Please enter a number representing the hour to send scheduled email digests (e.g. <code>0</code> for midnight, <code>17</code> for 5:00pm). Keep in mind that this is the hour according to the server itself, and may not exactly match your system clock.<br /> The approximate server time is: <span id=\"serverTime\"></span><br /> The next daily digest is scheduled to be sent <span id=\"nextDigestTime\"></span>",
"notifications.remove-images": "Remove images from email notifications",
"require-email-address": "Require new users to specify an email address",
"require-email-address-warning": "By default, users can opt-out of entering an email address. Enabling this option means they have to enter an email address in order to proceed with registration. <strong>It does not ensure user will enter a real email address, nor even an address they own.</strong>",
"require-email-address-warning": "By default, users can opt-out of entering an email address by leaving the field blank. Enabling this option means they have to enter an email address in order to proceed with registration. <strong>It does not ensure user will enter a real email address, nor even an address they own.</strong>",
"send-validation-email": "Send validation emails when an email is added or changed",
"include-unverified-emails": "Send emails to recipients who have not explicitly confirmed their emails",
"include-unverified-warning": "By default, users with emails associated with their account have already been verified, but there are situations where this is not the case (e.g. SSO logins, grandfathered users, etc). <strong>Enable this setting at your own risk</strong> &ndash; sending emails to unverified addresses may be a violation of regional anti-spam laws.",
"prompt": "Prompt users to enter or confirm their emails",

View File

@@ -1,6 +1,5 @@
{
"posts": "Posts",
"allow-files": "Allow users to upload regular files",
"private": "Make uploaded files private",
"strip-exif-data": "Strip EXIF Data",
"private-extensions": "File extensions to make private",

View File

@@ -6,7 +6,6 @@
"allow-login-with": "Allow login with",
"allow-login-with.username-email": "Username or Email",
"allow-login-with.username": "Username Only",
"allow-login-with.email": "Email Only",
"account-settings": "Account Settings",
"gdpr_enabled": "Enable GDPR consent collection",
"gdpr_enabled_help": "When enabled, all new registrants will be required to explicitly give consent for data collection and usage under the <a href=\"https://ec.europa.eu/info/priorities/justice-and-fundamental-rights/data-protection/2018-reform-eu-data-protection-rules/eu-data-protection-rules_en\">General Data Protection Regulation (GDPR)</a>. <strong>Note</strong>: Enabling GDPR does not force pre-existing users to provide consent. To do so, you will need to install the GDPR plugin.",

View File

@@ -1,6 +1,8 @@
{
"invalid-data": "ভুল তথ্য",
"invalid-json": "Invalid JSON",
"wrong-parameter-type": "A value of type %3 was expected for property `%1`, but %2 was received instead",
"required-parameters-missing": "Required parameters were missing from this API call: %1",
"not-logged-in": "আপনি লগিন করেননি",
"account-locked": "আপনার অ্যাকাউন্ট সাময়িকভাবে লক করা হয়েছে",
"search-requires-login": "Searching requires an account - please login or register.",
@@ -9,6 +11,7 @@
"invalid-tid": "ভুল টপিক নাম্বার",
"invalid-pid": "ভুল পোস্ট নাম্বার",
"invalid-uid": "ভুল ব্যবহারকারী নাম্বার",
"invalid-mid": "Invalid Chat Message ID",
"invalid-date": "A valid date must be provided",
"invalid-username": "ভুল ইউজারনেম",
"invalid-email": "ভুল ইমেইল",
@@ -142,7 +145,6 @@
"invalid-chat-message": "Invalid chat message",
"chat-message-too-long": "Chat messages can not be longer than %1 characters.",
"cant-edit-chat-message": "You are not allowed to edit this message",
"cant-remove-last-user": "You can't remove the last user",
"cant-delete-chat-message": "You are not allowed to delete this message",
"chat-edit-duration-expired": "You are only allowed to edit chat messages for %1 second(s) after posting",
"chat-delete-duration-expired": "You are only allowed to delete chat messages for %1 second(s) after posting",

View File

@@ -1,7 +1,6 @@
{
"username-email": "ইউজারনেম / ইমেইল",
"username": "ইউজারনেম",
"email": "ইমেইল",
"remember_me": "মনে রাখুন",
"forgot_password": "পাসওয়ার্ড ভুলে গিয়েছেন?",
"alternative_logins": "বিকল্প প্রবেশ",

View File

@@ -68,6 +68,8 @@
"bootbox.ok": "OK",
"bootbox.cancel": "Cancel",
"bootbox.confirm": "Confirm",
"bootbox.submit": "Submit",
"bootbox.send": "Send",
"cover.dragging_title": "Cover Photo Positioning",
"cover.dragging_message": "Drag the cover photo to the desired position and click \"Save\"",
"cover.saved": "Cover photo image and position saved",

View File

@@ -50,6 +50,7 @@
"users-csv-exported": "Users csv exported, click to download",
"post-queue-accepted": "Your queued post has been accepted. Click here to see your post.",
"post-queue-rejected": "Your queued post has been rejected.",
"post-queue-notify": "Queued post received a notification:<br/>\"%1\"",
"email-confirmed": "ইমেইল নিশ্চিত করা হয়েছে",
"email-confirmed-message": "আপনার ইমেইল যাচাই করার জন্য আপনাকে ধন্যবাদ। আপনার অ্যাকাউন্টটি এখন সম্পূর্ণরূপে সক্রিয়।",
"email-confirm-error-message": "আপনার ইমেল ঠিকানার বৈধতা যাচাইয়ে একটি সমস্যা হয়েছে। সম্ভবত কোডটি ভুল ছিল অথবা কোডের মেয়াদ শেষ হয়ে গিয়েছে।",

View File

@@ -14,5 +14,8 @@
"reply": "Reply",
"topic": "Topic",
"accept": "Accept",
"reject": "Reject"
"reject": "Reject",
"remove": "Remove",
"notify": "Notify",
"notify-user": "Notify User"
}

View File

@@ -48,6 +48,7 @@
"moved-from-by": "Moved from %1 by",
"queued-by": "Post queued for approval &rarr;",
"backlink": "Referenced by",
"forked-by": "Forked by",
"bookmark_instructions": "Click here to return to the last read post in this thread.",
"flag-post": "Flag this post",
"flag-user": "Flag this user",

View File

@@ -184,6 +184,6 @@
"consent.export_posts": "Export Posts (.csv)",
"consent.export-posts-success": "Exporting posts, you will get a notification when it is complete.",
"emailUpdate.intro": "Please enter your email address below. This forum uses your email address for scheduled digest and notifications, as well as for account recovery in the event of a lost password.",
"emailUpdate.optional": "<strong>This field is optional</strong>. You are not obligated to provide your email address, but without a validated email, you will not be able to recover your account.",
"emailUpdate.optional": "<strong>This field is optional</strong>. You are not obligated to provide your email address, but without a validated email, you will not be able to recover your account or login with your email.",
"emailUpdate.change-instructions": "A confirmation email will be sent to the entered email address with a unique link. Accessing that link will confirm your ownership of the email address and it will become active on your account. At any time, you are able to update your email on file from within your account page."
}

View File

@@ -3,5 +3,9 @@
"alert.confirm-restart": "Jste si jist/a, že si přejete restartovat NodeBB?",
"acp-title": "Ovládací panel správce NodeBB | %1",
"settings-header-contents": "Obsah"
"settings-header-contents": "Obsah",
"changes-saved": "Changes Saved",
"changes-saved-message": "Your changes to the NodeBB configuration have been saved.",
"changes-not-saved": "Changes Not Saved",
"changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)"
}

View File

@@ -38,7 +38,8 @@
"subscriptions.hour-help": "Zadejte číslo odpovídající hodině, kdy mají být odeslány přehledové e-maily (tj. <code>0</code> pro půlnoc, <code>17</code> pro 5:00pm). Mějte na paměti, že tato hodina závisí na hodinách samotného serveru a nemusí tak souhlasit se systémovými hodinami. <br />Přibližný čas serveru je: <span id=\"serverTime\"></span>.<br />Další odeslání přehledů je plánováno na <span id=\"nextDigestTime\"></span>.",
"notifications.remove-images": "Remove images from email notifications",
"require-email-address": "Require new users to specify an email address",
"require-email-address-warning": "By default, users can opt-out of entering an email address. Enabling this option means they have to enter an email address in order to proceed with registration. <strong>It does not ensure user will enter a real email address, nor even an address they own.</strong>",
"require-email-address-warning": "By default, users can opt-out of entering an email address by leaving the field blank. Enabling this option means they have to enter an email address in order to proceed with registration. <strong>It does not ensure user will enter a real email address, nor even an address they own.</strong>",
"send-validation-email": "Send validation emails when an email is added or changed",
"include-unverified-emails": "Send emails to recipients who have not explicitly confirmed their emails",
"include-unverified-warning": "By default, users with emails associated with their account have already been verified, but there are situations where this is not the case (e.g. SSO logins, grandfathered users, etc). <strong>Enable this setting at your own risk</strong> &ndash; sending emails to unverified addresses may be a violation of regional anti-spam laws.",
"prompt": "Prompt users to enter or confirm their emails",

View File

@@ -1,6 +1,5 @@
{
"posts": "Příspěvky",
"allow-files": "Povolit uživatelům nahrávat normální soubory",
"private": "Nahrané soubory jsou soukromé",
"strip-exif-data": "Nepoužít data EXIF",
"private-extensions": "Přípona souborů je soukromá",

View File

@@ -6,7 +6,6 @@
"allow-login-with": "Povolit přihlášení pomocí",
"allow-login-with.username-email": "Uživatelské jméno nebo e-mail",
"allow-login-with.username": "Pouze uživatelské jméno",
"allow-login-with.email": "Pouze e-mail",
"account-settings": "Nastavení účtu",
"gdpr_enabled": "Povolit souhlas s GDPR",
"gdpr_enabled_help": "When enabled, all new registrants will be required to explicitly give consent for data collection and usage under the <a href=\"https://ec.europa.eu/info/priorities/justice-and-fundamental-rights/data-protection/2018-reform-eu-data-protection-rules/eu-data-protection-rules_en\">General Data Protection Regulation (GDPR)</a>. <strong>Note</strong>: Enabling GDPR does not force pre-existing users to provide consent. To do so, you will need to install the GDPR plugin.",

View File

@@ -1,6 +1,8 @@
{
"invalid-data": "Neplatná data",
"invalid-json": "Neplatný JSON",
"wrong-parameter-type": "A value of type %3 was expected for property `%1`, but %2 was received instead",
"required-parameters-missing": "Required parameters were missing from this API call: %1",
"not-logged-in": "Zdá se, že nejste přihlášen/a",
"account-locked": "Váš účet byl dočasně uzamknut",
"search-requires-login": "Pro hledání je vyžadován účet přihlaste se nebo zaregistrujte.",
@@ -9,6 +11,7 @@
"invalid-tid": "Neplatné ID tématu",
"invalid-pid": "Neplatné ID příspěvku",
"invalid-uid": "Neplatné ID uživatele",
"invalid-mid": "Invalid Chat Message ID",
"invalid-date": "A valid date must be provided",
"invalid-username": "Neplatné uživatelské jméno",
"invalid-email": "Neplatný e-mail",
@@ -142,7 +145,6 @@
"invalid-chat-message": "Neplatná konverzační zpráva",
"chat-message-too-long": "Konverzační zprávy nemohou být delší než %1 znaků.",
"cant-edit-chat-message": "Tuto zprávu nemůžete upravit",
"cant-remove-last-user": "Posledního uživatele nemůžete vyjmout",
"cant-delete-chat-message": "Tuto zprávu nemůžete odstranit",
"chat-edit-duration-expired": "Je vám umožněno upravit konverzační zprávy pod dobu %1 sekund/y po jejich odeslání",
"chat-delete-duration-expired": "Je vám umožněno odstranit konverzační zprávy pod dobu %1 sekund/y po jejich odeslání",

View File

@@ -1,7 +1,6 @@
{
"username-email": "Uživatelské jméno / e-mail",
"username": "Uživatel",
"email": "E-mail",
"remember_me": "Zapamatovat si mě?",
"forgot_password": "Zapomněli jste heslo?",
"alternative_logins": "Další způsoby přihlášení",

View File

@@ -68,6 +68,8 @@
"bootbox.ok": "OK",
"bootbox.cancel": "Zrušit",
"bootbox.confirm": "Potvrdit",
"bootbox.submit": "Submit",
"bootbox.send": "Send",
"cover.dragging_title": "Umístění fotografie",
"cover.dragging_message": "Přesuňte fotku na požadovanou pozici a klikněte na „Uložit”",
"cover.saved": "Fotografie a její umístění uloženo",

View File

@@ -50,6 +50,7 @@
"users-csv-exported": "Users csv exported, click to download",
"post-queue-accepted": "Your queued post has been accepted. Click here to see your post.",
"post-queue-rejected": "Your queued post has been rejected.",
"post-queue-notify": "Queued post received a notification:<br/>\"%1\"",
"email-confirmed": "E-mail potvrzen",
"email-confirmed-message": "Děkujeme za ověření vaší e-mailové adresy. Váš účet je nyní aktivní.",
"email-confirm-error-message": "Nastal problém s ověřením vaší e-mailové adresy. Kód je pravděpodobně neplatný nebo jeho platnost vypršela.",

View File

@@ -14,5 +14,8 @@
"reply": "Reply",
"topic": "Topic",
"accept": "Accept",
"reject": "Reject"
"reject": "Reject",
"remove": "Remove",
"notify": "Notify",
"notify-user": "Notify User"
}

View File

@@ -48,6 +48,7 @@
"moved-from-by": "Moved from %1 by",
"queued-by": "Post queued for approval &rarr;",
"backlink": "Referenced by",
"forked-by": "Forked by",
"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",

View File

@@ -184,6 +184,6 @@
"consent.export_posts": "Exportovat příspěvky (*.csv)",
"consent.export-posts-success": "Exporting posts, you will get a notification when it is complete.",
"emailUpdate.intro": "Please enter your email address below. This forum uses your email address for scheduled digest and notifications, as well as for account recovery in the event of a lost password.",
"emailUpdate.optional": "<strong>This field is optional</strong>. You are not obligated to provide your email address, but without a validated email, you will not be able to recover your account.",
"emailUpdate.optional": "<strong>This field is optional</strong>. You are not obligated to provide your email address, but without a validated email, you will not be able to recover your account or login with your email.",
"emailUpdate.change-instructions": "A confirmation email will be sent to the entered email address with a unique link. Accessing that link will confirm your ownership of the email address and it will become active on your account. At any time, you are able to update your email on file from within your account page."
}

View File

@@ -3,5 +3,9 @@
"alert.confirm-restart": "Er du sikker på at du ønsker at genstarte NodeBB?",
"acp-title": "%1 | NodeBB Admin Kontrol Panel",
"settings-header-contents": "Indhold"
"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

@@ -38,7 +38,8 @@
"subscriptions.hour-help": "Please enter a number representing the hour to send scheduled email digests (e.g. <code>0</code> for midnight, <code>17</code> for 5:00pm). Keep in mind that this is the hour according to the server itself, and may not exactly match your system clock.<br /> The approximate server time is: <span id=\"serverTime\"></span><br /> The next daily digest is scheduled to be sent <span id=\"nextDigestTime\"></span>",
"notifications.remove-images": "Remove images from email notifications",
"require-email-address": "Require new users to specify an email address",
"require-email-address-warning": "By default, users can opt-out of entering an email address. Enabling this option means they have to enter an email address in order to proceed with registration. <strong>It does not ensure user will enter a real email address, nor even an address they own.</strong>",
"require-email-address-warning": "By default, users can opt-out of entering an email address by leaving the field blank. Enabling this option means they have to enter an email address in order to proceed with registration. <strong>It does not ensure user will enter a real email address, nor even an address they own.</strong>",
"send-validation-email": "Send validation emails when an email is added or changed",
"include-unverified-emails": "Send emails to recipients who have not explicitly confirmed their emails",
"include-unverified-warning": "By default, users with emails associated with their account have already been verified, but there are situations where this is not the case (e.g. SSO logins, grandfathered users, etc). <strong>Enable this setting at your own risk</strong> &ndash; sending emails to unverified addresses may be a violation of regional anti-spam laws.",
"prompt": "Prompt users to enter or confirm their emails",

View File

@@ -1,6 +1,5 @@
{
"posts": "Posts",
"allow-files": "Allow users to upload regular files",
"private": "Make uploaded files private",
"strip-exif-data": "Strip EXIF Data",
"private-extensions": "File extensions to make private",

View File

@@ -6,7 +6,6 @@
"allow-login-with": "Allow login with",
"allow-login-with.username-email": "Username or Email",
"allow-login-with.username": "Username Only",
"allow-login-with.email": "Email Only",
"account-settings": "Account Settings",
"gdpr_enabled": "Enable GDPR consent collection",
"gdpr_enabled_help": "When enabled, all new registrants will be required to explicitly give consent for data collection and usage under the <a href=\"https://ec.europa.eu/info/priorities/justice-and-fundamental-rights/data-protection/2018-reform-eu-data-protection-rules/eu-data-protection-rules_en\">General Data Protection Regulation (GDPR)</a>. <strong>Note</strong>: Enabling GDPR does not force pre-existing users to provide consent. To do so, you will need to install the GDPR plugin.",

View File

@@ -1,6 +1,8 @@
{
"invalid-data": "Ugyldig Data",
"invalid-json": "Invalid JSON",
"wrong-parameter-type": "A value of type %3 was expected for property `%1`, but %2 was received instead",
"required-parameters-missing": "Required parameters were missing from this API call: %1",
"not-logged-in": "Det ser ikke ud til at du er logget ind.",
"account-locked": "Din konto er blevet blokeret midlertidigt.",
"search-requires-login": "Du skal have en konto for at søge - log venligst ind eller registrer dig.",
@@ -9,6 +11,7 @@
"invalid-tid": "Ugyldig Tråd ID",
"invalid-pid": "Ugyldig Indlæg ID",
"invalid-uid": "Ugyldig Bruger ID",
"invalid-mid": "Invalid Chat Message ID",
"invalid-date": "A valid date must be provided",
"invalid-username": "Ugyldig Brugernavn",
"invalid-email": "Ugyldig Email",
@@ -142,7 +145,6 @@
"invalid-chat-message": "Ugyldig chat besked",
"chat-message-too-long": "Chat messages can not be longer than %1 characters.",
"cant-edit-chat-message": "Du har ikke tilladelse til at redigere denne besked",
"cant-remove-last-user": "Du kan ikke fjerne den sidste bruger",
"cant-delete-chat-message": "Du har ikke tilladelse til at slette denne besked",
"chat-edit-duration-expired": "You are only allowed to edit chat messages for %1 second(s) after posting",
"chat-delete-duration-expired": "You are only allowed to delete chat messages for %1 second(s) after posting",

View File

@@ -1,7 +1,6 @@
{
"username-email": "Brugernavn / Email",
"username": "Brugernavn",
"email": "Email",
"remember_me": "Husk mig?",
"forgot_password": "Glemt kodeord?",
"alternative_logins": "alternative logins",

View File

@@ -68,6 +68,8 @@
"bootbox.ok": "OK",
"bootbox.cancel": "Annuller",
"bootbox.confirm": "Bekræft",
"bootbox.submit": "Submit",
"bootbox.send": "Send",
"cover.dragging_title": "Coverbillede positionering",
"cover.dragging_message": "Træk coverbilledet til den ønskede position og klik \"Gem\"",
"cover.saved": "Coverbillede og position gemt",

View File

@@ -50,6 +50,7 @@
"users-csv-exported": "Users csv exported, click to download",
"post-queue-accepted": "Your queued post has been accepted. Click here to see your post.",
"post-queue-rejected": "Your queued post has been rejected.",
"post-queue-notify": "Queued post received a notification:<br/>\"%1\"",
"email-confirmed": "Email bekræftet",
"email-confirmed-message": "Tak fordi du validerede din email. Din konto er nu fuldt ud aktiveret.",
"email-confirm-error-message": "Der var et problem med valideringen af din emailadresse. Bekræftelses koden var muligvis forkert eller udløbet.",

View File

@@ -14,5 +14,8 @@
"reply": "Reply",
"topic": "Topic",
"accept": "Accept",
"reject": "Reject"
"reject": "Reject",
"remove": "Remove",
"notify": "Notify",
"notify-user": "Notify User"
}

View File

@@ -48,6 +48,7 @@
"moved-from-by": "Moved from %1 by",
"queued-by": "Post queued for approval &rarr;",
"backlink": "Referenced by",
"forked-by": "Forked by",
"bookmark_instructions": "Klik her for at vende tilbage til den sidst læste indlæg i denne tråd.",
"flag-post": "Flag this post",
"flag-user": "Flag this user",

View File

@@ -184,6 +184,6 @@
"consent.export_posts": "Export Posts (.csv)",
"consent.export-posts-success": "Exporting posts, you will get a notification when it is complete.",
"emailUpdate.intro": "Please enter your email address below. This forum uses your email address for scheduled digest and notifications, as well as for account recovery in the event of a lost password.",
"emailUpdate.optional": "<strong>This field is optional</strong>. You are not obligated to provide your email address, but without a validated email, you will not be able to recover your account.",
"emailUpdate.optional": "<strong>This field is optional</strong>. You are not obligated to provide your email address, but without a validated email, you will not be able to recover your account or login with your email.",
"emailUpdate.change-instructions": "A confirmation email will be sent to the entered email address with a unique link. Accessing that link will confirm your ownership of the email address and it will become active on your account. At any time, you are able to update your email on file from within your account page."
}

View File

@@ -3,5 +3,9 @@
"alert.confirm-restart": "Bist du sicher, dass du NodeBB neu starten möchtest?",
"acp-title": "%1 | NodeBB Admin Systemsteuerung",
"settings-header-contents": "Inhalte"
"settings-header-contents": "Inhalte",
"changes-saved": "Änderungen gespeichert",
"changes-saved-message": "Deine Änderungen an der NodeBB Konfiguration wurden gespeichert.",
"changes-not-saved": "Änderungen verworfen",
"changes-not-saved-message": "Beim Speichern der Änderungen ist ein Problem aufgetreten. (%1)"
}

View File

@@ -1,22 +1,22 @@
{
"lead": "A listing of digest delivery stats and times is displayed below.",
"disclaimer": "Please be advised that email delivery is not guaranteed, due to the nature of email technology. Many variables factor into whether an email sent to the recipient server is ultimately delivered into the user's inbox, including server reputation, blacklisted IP addresses, and whether DKIM/SPF/DMARC is configured.",
"disclaimer-continued": "A successful delivery means the message was sent successfully by NodeBB and acknowledged by the recipient server. It does not mean the email landed in the inbox. For best results, we recommend using a third-party email delivery service such as <a href=\"https://sendgrid.com/why-sendgrid/\">SendGrid</a>.",
"lead": "Nachfolgend ist eine Auflistung der Zustellungsstatistiken und -zeiten zusammengefasst.",
"disclaimer": "Bitte beachten Sie, dass die Zustellung von E-Mails aufgrund der Funktionsweise von E-Mail-Technologien nicht garantiert werden kann. Ob eine E-Mail im Posteingang des Benutzers auf dem an Empfängerserver letztendlich ankommt, hängt von vielen Variablen ab, z. B. von der Reputation des Servers, von IP-Adressen, die auf der schwarzen Liste stehen, und davon, ob DKIM/SPF/DMARC konfiguriert ist.",
"disclaimer-continued": "Eine erfolgreiche Zustellung zeigt an, dass die Nachricht erfolgreich von NodeBB gesendet und vom Empfänger-Server bestätigt wurde. Es bedeutet nicht, dass die E-Mail im Posteingang gelandet ist. Um beste Ergebnisse zu erzielen, empfehlen wir, einen E-Mail-Zustelldienst eines Drittanbieters wie <a href=\"https://sendgrid.com/why-sendgrid/\">SendGrid</a> zu verwenden.",
"user": "Benutzer",
"subscription": "Subscription Type",
"subscription": "Abonnement Typ",
"last-delivery": "Letzte erfolgreiche Zustellung",
"default": "System Standard",
"default-help": "<em>System default</em> means the user has not explicitly overridden the global forum setting for digests, which is currently: &quot;<strong>%1</strong>&quot;",
"resend": "Resend Digest",
"resend-all-confirm": "Are you sure you wish to manually execute this digest run?",
"resent-single": "Manual digest resend completed",
"resent-day": "Daily digest resent",
"resent-week": "Weekly digest resent",
"resent-biweek": "Bi-Weekly digest resent",
"resent-month": "Monthly digest resent",
"null": "<em>Never</em>",
"manual-run": "Manual digest run:",
"default-help": "<em>Systemstandard</em> bedeutet, dass der Benutzer die globale Foreneinstellung für Tagesübersichten nicht explizit außer Kraft gesetzt hat, die derzeit wie folgt lautet: &quot;<strong>%1</strong>&quot;",
"resend": "Tagesübersicht erneut senden",
"resend-all-confirm": "Sind Sie sicher, dass Sie diesen Tagesübersichts-Lauf manuell ausführen möchten?",
"resent-single": "Manuelles Übersichtversenden abgeschlossen",
"resent-day": "Tägliche Übersicht erneut gesendet",
"resent-week": "Wöchentliche Übersicht erneut gesendet",
"resent-biweek": "Zweiwöchentliche Übersicht erneut gesendet",
"resent-month": "Monatliche Übersicht erneut gesendet",
"null": "<em>Niemals</em>",
"manual-run": "Manueller Tagesübersichts-Lauf:",
"no-delivery-data": "No delivery data found"
"no-delivery-data": "Keine Zustelldaten gefunden"
}

View File

@@ -5,8 +5,8 @@
"description": "Gruppenbeschreibung",
"member-count": "Mitglieder Anzahl",
"system": "System",
"hidden": "Hidden",
"private": "Private",
"hidden": "Versteckt",
"private": "Privat",
"edit": "Ändern",
"delete": "Delete",
"privileges": "Privileges",

View File

@@ -1,7 +1,7 @@
{
"maintenance-mode": "Wartungsmodus",
"maintenance-mode.help": "Während das Forum im Wartungsmodus ist werden alle Anfragen zu einer statischen Seite weitergeleitet. Administratoren sind von dieser Weiterleitung ausgenommen und können die Seite normal aufrufen.",
"maintenance-mode.status": "Maintenance Mode Status Code",
"maintenance-mode.status": "Statuscode für Wartungsmodus",
"maintenance-mode.message": "Wartungsnachricht",
"headers": "Headers",
"headers.allow-from": "ALLOW-FROM setzen um NodeBB in einem iFrame zu platzieren",
@@ -32,12 +32,12 @@
"sockets.settings": "WebSocket Settings",
"sockets.max-attempts": "Max Reconnection Attempts",
"sockets.default-placeholder": "Default: %1",
"sockets.delay": "Reconnection Delay",
"sockets.delay": "Wiederverbindungsverzögerung",
"analytics.settings": "Analytics Settings",
"analytics.max-cache": "Analytics Cache Max Value",
"analytics.max-cache-help": "On high-traffic installs, the cache could be exhausted continuously if there are more concurrent active users than the Max Cache value. (Restart required)",
"compression.settings": "Compression Settings",
"compression.enable": "Enable Compression",
"compression.help": "This setting enables gzip compression. For a high-traffic website in production, the best way to put compression in place is to implement it at a reverse proxy level. You can enable it here for testing purposes."
"compression.enable": "Komprimierung einschalten",
"compression.help": "Diese Einstellung aktiviert die gzip-Komprimierung. Für eine produktive Website mit hohem Datenverkehr ist es am besten, die Komprimierung auf der Ebene des Reverse-Proxys zu implementieren. Sie können sie hier zu Testzwecken aktivieren."
}

View File

@@ -38,7 +38,8 @@
"subscriptions.hour-help": "Bitte geben Sie eine Nummer ein, welche die Stunde repräsentiert zu welcher geplante Emails versandt werden sollen (z.B. <code>0</code> für Mitternacht, <code>17</code> für 5 Uhr Nachmittags). Beachten Sie, dass die Zeit auf der Serverzeit basiert und daher nicht umbedingt mit ihrer Systemzeit übereinstimmen muss.<br>Die ungefähre Serverzeit ist: <span id=\"serverTime\"></span><br>Die nächste tägliche Sendung ist um <span id=\"nextDigestTime\"></span> geplant",
"notifications.remove-images": "Remove images from email notifications",
"require-email-address": "Require new users to specify an email address",
"require-email-address-warning": "By default, users can opt-out of entering an email address. Enabling this option means they have to enter an email address in order to proceed with registration. <strong>It does not ensure user will enter a real email address, nor even an address they own.</strong>",
"require-email-address-warning": "By default, users can opt-out of entering an email address by leaving the field blank. Enabling this option means they have to enter an email address in order to proceed with registration. <strong>It does not ensure user will enter a real email address, nor even an address they own.</strong>",
"send-validation-email": "Send validation emails when an email is added or changed",
"include-unverified-emails": "Send emails to recipients who have not explicitly confirmed their emails",
"include-unverified-warning": "By default, users with emails associated with their account have already been verified, but there are situations where this is not the case (e.g. SSO logins, grandfathered users, etc). <strong>Enable this setting at your own risk</strong> &ndash; sending emails to unverified addresses may be a violation of regional anti-spam laws.",
"prompt": "Prompt users to enter or confirm their emails",

View File

@@ -1,11 +1,11 @@
{
"site-settings": "Forum Einstellungen",
"title": "Forum Titel",
"title.short": "Short Title",
"title.short-placeholder": "If no short title is specified, the site title will be used",
"title.url": "Title Link URL",
"title.short": "Kurzbezeichnung",
"title.short-placeholder": "Wenn kein Kurztitel angegeben ist, wird der Forum-Titel verwendet.",
"title.url": "Titel Link-URL",
"title.url-placeholder": "Die URL des Seitentitels",
"title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index. <br> Note: This is not the external URL used in emails, etc. That is set by the <code>url</code> property in config.json",
"title.url-help": "Wenn der Titel angeklickt wird, werden die Benutzer an diese Adresse weitergeleitet. Wenn Sie nichts angeben, wird der Benutzer zum Forum-Index weitergeleitet. <br> Hinweis: Dies ist nicht die externe URL, die in E-Mails etc. verwendet wird. Diese wird über die Eigenschaft <code>url</code> in config.json festgelegt.",
"title.name": "Name Deiner Community",
"title.show-in-header": "Titel im Header anzeigen",
"browser-title": "Browser Titel",
@@ -20,31 +20,31 @@
"logo.image": "Bild",
"logo.image-placeholder": "Pfad zu einem Logo, welches im Header des Forums angezeigt werden soll",
"logo.upload": "Hochladen",
"logo.url": "Logo Link URL",
"logo.url": "Logo Link-URL",
"logo.url-placeholder": "Die URL des Logos",
"logo.url-help": "When the logo is clicked, send users to this address. If left blank, user will be sent to the forum index. <br> Note: This is not the external URL used in emails, etc. That is set by the <code>url</code> property in config.json",
"logo.url-help": "Wenn das Logo angeklickt wird, werden die Benutzer an diese Adresse weitergeleitet. Wenn Sie nichts angeben, wird der Benutzer zum Forum-Index weitergeleitet. <br> Hinweis: Dies ist nicht die externe URL, die in E-Mails etc. verwendet wird. Diese wird über die Eigenschaft <code>url</code> in config.json festgelegt.",
"logo.alt-text": "Alt Text",
"log.alt-text-placeholder": "Alternativer Text, falls das Bild nicht angezeigt werden kann",
"favicon": "Favicon",
"favicon.upload": "Hochladen",
"pwa": "Progressive Web App",
"touch-icon": "Touch Icon",
"pwa": "Progressive Web-App",
"touch-icon": "Touch-Symbol",
"touch-icon.upload": "Hochladen",
"touch-icon.help": "Recommended size and format: 512x512, PNG format only. If no touch icon is specified, NodeBB will fall back to using the favicon.",
"maskable-icon": "Maskable (Homescreen) Icon",
"maskable-icon.help": "Recommended size and format: 512x512, PNG format only. If no maskable icon is specified, NodeBB will fall back to the Touch Icon.",
"touch-icon.help": "Empfohlene Größe und Format: 512x512, nur PNG-Format. Wenn kein Touch-Symbol angegeben wird, verwendet NodeBB wieder das Favicon.",
"maskable-icon": "Maskierbares (Start-Bildschirm) Symbol",
"maskable-icon.help": "Empfohlene Größe und Format: 512x512, nur PNG-Format. Wenn kein maskierbares Icon angegeben wird, greift NodeBB auf das Touch-Symbol zurück.",
"outgoing-links": "Ausgehende Links",
"outgoing-links.warning-page": "Warnseite für ausgehende links verwenden",
"search": "Search",
"search-default-in": "Search In",
"search-default-in-quick": "Quick Search In",
"search-default-sort-by": "Sort by",
"search": "Suche",
"search-default-in": "Suchen in",
"search-default-in-quick": "Schnellsuchen in",
"search-default-sort-by": "Sortieren nach",
"outgoing-links.whitelist": "Domains, für die keine Warnseite angezeigt werden soll",
"site-colors": "Site Color Metadata",
"theme-color": "Theme Color",
"background-color": "Background Color",
"background-color-help": "Color used for splash screen background when website is installed as a PWA",
"undo-timeout": "Undo Timeout",
"undo-timeout-help": "Some operations such as moving topics will allow for the moderator to undo their action within a certain timeframe. Set to 0 to disable undo completely.",
"topic-tools": "Topic Tools"
"site-colors": "Website Farben-Metadaten",
"theme-color": "Theme-Farbe",
"background-color": "Hintergrundfarbe",
"background-color-help": "Farbe, die für den Hintergrund des Startbildschirms verwendet wird, wenn die Website als PWA installiert ist",
"undo-timeout": "Zeitüberschreitung rückgängig machen",
"undo-timeout-help": "Bei einigen Vorgängen, wie z. B. dem Verschieben eines Themes, kann der Moderator seine Aktion innerhalb eines bestimmten Zeitrahmens rückgängig machen. Setzen Sie den Wert auf 0, um die Rückgängigmachung vollständig zu deaktivieren.",
"topic-tools": "Themen-Tools"
}

View File

@@ -1,7 +1,7 @@
{
"settings": "Settings",
"settings": "Einstellungen",
"handles.enabled": "Gastzugänge erlauben",
"handles.enabled-help": "Diese Option offenbart ein neues Feld, welches Gästen erlaubt einen Nutzernamen zu wählen, welcher sie mit jedem Beitrag assoziiert den sie erstellen. Wenn diese Option deaktiviert ist, werden sie einfach \"Gast\" genannt",
"topic-views.enabled": "Allow guests to increase topic view counts",
"reply-notifications.enabled": "Allow guests to generate reply notifications"
"topic-views.enabled": "Gästen erlauben, die gezählte Anzahl der Themenaufrufe zu erhöhen",
"reply-notifications.enabled": "Erlauben Sie Gästen, Antwortbenachrichtigungen zu erstellen"
}

View File

@@ -5,8 +5,8 @@
"votes-are-public": "Alle Bewertungen sind öffentlich",
"thresholds": "Aktivitätsschwelle",
"min-rep-downvote": "Minimales Ansehen um Beiträge negativ zu bewerten",
"downvotes-per-day": "Downvotes per day (set to 0 for unlimited downvotes)",
"downvotes-per-user-per-day": "Downvotes per user per day (set to 0 for unlimited downvotes)",
"downvotes-per-day": "Runtervoten pro Tag (auf 0 gesetzt für unbegrenzte Runtervotes)",
"downvotes-per-user-per-day": "Runtervoten pro Benutzer pro Tag (auf 0 gesetzt für unbegrenzte Runtervotes)",
"min-rep-flag": "Minimales Ansehen und Beiträge zu melden",
"min-rep-website": "Erforderliche Reputation um eine \"Website\" zum Benutzerprofil hinzuzufügen",
"min-rep-aboutme": "Erforderliche Reputation um eine \"Über mich\"-Sektion zum Benutzerprofil hinzuzufügen",
@@ -14,9 +14,9 @@
"min-rep-profile-picture": "Minimale Reputation um ein Profilbild hinzuzufügen",
"min-rep-cover-picture": "Minimale Reputation um ein Deckbild hinzuzufügen",
"flags": "Flag Settings",
"flags": "Merkmal-Einstellung",
"flags.limit-per-target": "Maximum number of times something can be flagged",
"flags.limit-per-target-placeholder": "Default: 0",
"flags.limit-per-target-placeholder": "Standardwert: 0",
"flags.limit-per-target-help": "When a post or user is flagged multiple times, each additional flag is considered a &quot;report&quot; and added to the original flag. Set this option to a number other than zero to limit the number of reports an item can receive.",
"flags.auto-resolve-on-ban": "Automatically resolve all of a user's tickets when they are banned"
"flags.auto-resolve-on-ban": "Automatisches Beenden aller Tickets eines Benutzers, wenn dieser gesperrt wird"
}

View File

@@ -1,6 +1,5 @@
{
"posts": "Beiträge",
"allow-files": "Nutzern erlauben normale Dateien hochzuladen",
"private": "Hochgeladene Dateien privatisieren",
"strip-exif-data": "EXIF-Daten entfernen",
"private-extensions": "Private Dateiendungen",

View File

@@ -6,7 +6,6 @@
"allow-login-with": "Erlaube Login mit",
"allow-login-with.username-email": "Benutzername oder E-Mail",
"allow-login-with.username": "Nur Benutzername",
"allow-login-with.email": "Nur E-Mail",
"account-settings": "Kontoeinstellungen",
"gdpr_enabled": "Aktivieren Sie die DSGVO-Zustimmungserfassung",
"gdpr_enabled_help": "When enabled, all new registrants will be required to explicitly give consent for data collection and usage under the <a href=\"https://ec.europa.eu/info/priorities/justice-and-fundamental-rights/data-protection/2018-reform-eu-data-protection-rules/eu-data-protection-rules_en\">General Data Protection Regulation (GDPR)</a>. <strong>Note</strong>: Enabling GDPR does not force pre-existing users to provide consent. To do so, you will need to install the GDPR plugin.",

View File

@@ -19,5 +19,5 @@
"notwatching.message": "Du beobachtest jetzt keine Aktualisierungen aus dieser Kategorie und allen Unterkategorien",
"ignoring.message": "Du ignorierst jetzt Aktualisierungen aus dieser Kategorie und allen Unterkategorien",
"watched-categories": "Beobachtete Kategorien",
"x-more-categories": "%1 more categories"
"x-more-categories": "%1 weitere Kategorien"
}

View File

@@ -1,6 +1,8 @@
{
"invalid-data": "Ungültige Daten",
"invalid-json": "Ungültiges JSON",
"wrong-parameter-type": "A value of type %3 was expected for property `%1`, but %2 was received instead",
"required-parameters-missing": "Required parameters were missing from this API call: %1",
"not-logged-in": "Du bist nicht angemeldet.",
"account-locked": "Dein Konto wurde vorübergehend gesperrt.",
"search-requires-login": "Die Suche erfordert ein Konto, bitte einloggen oder registrieren.",
@@ -9,6 +11,7 @@
"invalid-tid": "Ungültige Themen-ID",
"invalid-pid": "Ungültige Beitrags-ID",
"invalid-uid": "Ungültige Benutzer-ID",
"invalid-mid": "Invalid Chat Message ID",
"invalid-date": "A valid date must be provided",
"invalid-username": "Ungültiger Benutzername",
"invalid-email": "Ungültige E-Mail-Adresse",
@@ -25,18 +28,18 @@
"invalid-event": "Invalid event: %1",
"local-login-disabled": "Lokales Login System wurde für nicht-priviligierte Konten deaktiviert.",
"csrf-invalid": "Dein Login war nicht erfolgreich da wahrscheinlich deine Sitzung abgelaufen ist. Bitte versuche es noch einmal",
"invalid-path": "Invalid path",
"folder-exists": "Folder exists",
"invalid-path": "Ungültiger Pfad",
"folder-exists": "Ordner existiert",
"invalid-pagination-value": "Ungültige Seitennummerierung, muss mindestens %1 und maximal %2 sein",
"username-taken": "Der Benutzername ist bereits vergeben",
"email-taken": "Die E-Mail-Adresse ist bereits vergeben",
"email-nochange": "The email entered is the same as the email already on file.",
"email-invited": "Email was already invited",
"email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.",
"email-invited": "E-Mail wurde bereits eingeladen",
"email-not-confirmed": "Das Schreiben von Beiträgen in einigen Kategorien oder Themen ist erst möglich, wenn Ihre E-Mail bestätigt wurde. Bitte klicken Sie hier, um eine Bestätigungs-E-Mail zu senden.",
"email-not-confirmed-chat": "Du kannst den Chat erst nutzen wenn deine E-Mail bestätigt wurde, bitte klicke hier, um deine E-Mail zu bestätigen.",
"email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email. You may not be able to post in some categories or chat until your email is confirmed.",
"no-email-to-confirm": "Your account does not have an email set. An email is necessary for account recovery, and may be necessary for chatting and posting in some categories. Please click here to enter an email.",
"user-doesnt-have-email": "User \"%1\" does not have an email set.",
"email-not-confirmed-email-sent": "Ihre E-Mail wurde noch nicht bestätigt. Bitte überprüfen Sie Ihren Posteingang auf die Bestätigungs-E-Mail. Es kann sein, dass Sie nicht in der Lage sind, in einigen Kategorien zu schreiben oder zu chatten, bis Ihre E-Mail bestätigt ist.",
"no-email-to-confirm": "Für Ihr Konto ist keine E-Mail angegeben. Eine E-Mail ist für die Wiederherstellung des Kontos erforderlich und kann für das Chatten und in einigen Kategorien für das Schreiben von Beiträgen notwendig sein. Bitte klicken Sie hier, um eine E-Mail einzugeben.",
"user-doesnt-have-email": "Für den Benutzer \"%1\" ist keine E-Mail eingetragen.",
"email-confirm-failed": "Wir konnten deine E-Mail-Adresse nicht bestätigen, bitte versuch es später noch einmal",
"confirm-email-already-sent": "Die Bestätigungsmail wurde verschickt. Bitte warte %1 Minute(n), um eine weitere zu verschicken.",
"sendmail-not-found": "Sendmail wurde nicht gefunden. Bitte stelle sicher, dass es installiert ist und durch den Benutzer unter dem NodeBB läuft ausgeführt werden kann.",
@@ -45,7 +48,7 @@
"username-too-long": "Benutzername ist zu lang",
"password-too-long": "Passwort ist zu lang",
"reset-rate-limited": "Zu viele Anfragen zum Zurücksetzen des Passworts (Rate begrenzt)",
"reset-same-password": "Please use a password that is different from your current one",
"reset-same-password": "Bitte verwenden Sie ein anderes Passwort als Ihr derzeitiges.",
"user-banned": "Benutzer ist gesperrt",
"user-banned-reason": "Entschuldige, dieses Konto wurde gesperrt (Grund: %1)",
"user-banned-reason-until": "Entschuldigung, dieses Konto wurde bis %1 (Reason: %2) gesperrt.",
@@ -88,27 +91,27 @@
"tag-too-long": "Bitte gebe ein kürzeres Schlagwort ein. Schlagworte können nicht länger als %1 Zeichen sein.",
"not-enough-tags": "Nicht genügend Schlagworte. Themen müssen mindestens %1 Schlagwort(e) enthalten",
"too-many-tags": "Zu viele Schlagworte. Themen dürfen nicht mehr als %1 Schlagwort(e) enthalten",
"cant-use-system-tag": "You can not use this system tag.",
"cant-remove-system-tag": "You can not remove this system tag.",
"cant-use-system-tag": "Sie können dieses System-Tag nicht verwenden.",
"cant-remove-system-tag": "Sie können dieses System-Tag nicht entfernen.",
"still-uploading": "Bitte warte bis der Vorgang abgeschlossen ist.",
"file-too-big": "Die maximale Dateigröße ist %1 kB, bitte lade eine kleinere Datei hoch.",
"guest-upload-disabled": "Uploads für Gäste wurden deaktiviert.",
"cors-error": "Das Hochladen von Bildern ist aufgrund von falsch konfigurierten CORS nicht möglich.",
"upload-ratelimit-reached": "You have uploaded too many files at one time. Please try again later.",
"scheduling-to-past": "Please select a date in the future.",
"invalid-schedule-date": "Please enter a valid date and time.",
"cant-pin-scheduled": "Scheduled topics cannot be (un)pinned.",
"cant-merge-scheduled": "Scheduled topics cannot be merged.",
"cant-move-posts-to-scheduled": "Can't move posts to a scheduled topic.",
"cant-move-from-scheduled-to-existing": "Can't move posts from a scheduled topic to an existing topic.",
"upload-ratelimit-reached": "Sie haben zu viele Dateien auf einmal hochgeladen. Bitte versuchen Sie es später noch einmal.",
"scheduling-to-past": "Wählen Sie bitte ein Datum in der Zukunft.",
"invalid-schedule-date": "Geben Sie bitte ein gültiges Datum und eine Uhrzeit ein.",
"cant-pin-scheduled": "Geplante Themen können nicht (un)angeheftet werden.",
"cant-merge-scheduled": "Geplante Themen können nicht zusammengeführt werden.",
"cant-move-posts-to-scheduled": "Beiträge können nicht in ein geplantes Thema verschoben werden.",
"cant-move-from-scheduled-to-existing": "Beiträge können nicht in ein geplantes Thema verschoben werden.",
"already-bookmarked": "Du hast diesen Beitrag bereits als Lesezeichen gespeichert",
"already-unbookmarked": "Du hast diesen Beitrag bereits aus deinen Lesezeichen entfernt",
"cant-ban-other-admins": "Du kannst andere Administratoren nicht sperren!",
"cant-make-banned-users-admin": "You can't make banned users admin.",
"cant-make-banned-users-admin": "Sie können gesperrte Benutzer nicht zum Administrator machen.",
"cant-remove-last-admin": "Du bist der einzige Administrator. Füge zuerst einen anderen Administrator hinzu, bevor du dich selbst als Administrator entfernst",
"account-deletion-disabled": "Account deletion is disabled",
"account-deletion-disabled": "Kontolöschung ist deaktiviert",
"cant-delete-admin": "Bevor du versuchst dieses Konto zu löschen, entferne die zugehörigen Administratorrechte.",
"already-deleting": "Already deleting",
"already-deleting": "Bereits gelöscht",
"invalid-image": "Ungültiges Bild",
"invalid-image-type": "Falsche Bildart. Erlaubte Arten sind: %1",
"invalid-image-extension": "Ungültige Dateinamenerweiterung",
@@ -142,13 +145,12 @@
"invalid-chat-message": "Ungültige Nachricht",
"chat-message-too-long": "Nachrichten dürfen nicht länger als %1 Zeichen sein.",
"cant-edit-chat-message": "Du darfst diese Nachricht nicht ändern",
"cant-remove-last-user": "Du kannst den letzten Benutzer nicht entfernen",
"cant-delete-chat-message": "Du darfst diese Nachricht nicht löschen",
"chat-edit-duration-expired": "Du darfst Chat-Nachrichten nur bis zu %1 Sekunde(n) nach der erstellung verändern",
"chat-delete-duration-expired": "Du darfst Chat-Nachrichten nur bis zu %1 Sekunde(n) nach der erstellung löschen",
"chat-deleted-already": "Diese Chatnachricht wurde bereits gelöscht.",
"chat-restored-already": "Diese Chatnachricht wurde bereits wiederhergestellt.",
"chat-room-does-not-exist": "Chat room does not exist.",
"chat-room-does-not-exist": "Der Chatraum existiert nicht.",
"already-voting-for-this-post": "Du hast diesen Beitrag bereits bewertet.",
"reputation-system-disabled": "Das Reputationssystem ist deaktiviert.",
"downvoting-disabled": "Downvotes sind deaktiviert.",
@@ -163,7 +165,7 @@
"user-already-flagged": "Du hast diesen Benutzer bereits gemeldet",
"post-flagged-too-many-times": "Dieser Beitrag wurde bereits von anderen Benutzern gemeldet",
"user-flagged-too-many-times": "Dieser Benutzer wurde bereits von anderen Benutzern gemeldet",
"cant-flag-privileged": "You are not allowed to flag the profiles or content of privileged users (moderators/global moderators/admins)",
"cant-flag-privileged": "Sie dürfen die Profile oder Inhalte von privilegierten Benutzern (Moderatoren/Globalmoderatoren/Admins) nicht kennzeichnen.",
"self-vote": "Du kannst deine eigenen Beiträge nicht bewerten",
"too-many-downvotes-today": "Du kannst nur %1 mal am Tag eine schlechte Bewertung abgeben",
"too-many-downvotes-today-user": "Du kannst einen Benutzer nur %1 mal am Tag schlecht bewerten",
@@ -180,10 +182,10 @@
"cant-kick-self": "Du kannst dich nicht selber aus der Gruppe entfernen.",
"no-users-selected": "Kein(e) Benutzer ausgewählt",
"invalid-home-page-route": "Ungültiger Startseitenpfad",
"invalid-session": "Invalid Session",
"invalid-session-text": "It looks like your login session is no longer active. Please refresh this page.",
"invalid-session": "Ungültige Session",
"invalid-session-text": "Es scheint als wäre deine Login-Sitzung nicht mehr aktiv. Bitte aktualisiere diese Seite.",
"session-mismatch": "Session Mismatch",
"session-mismatch-text": "It looks like your login session no longer matches with the server. Please refresh this page.",
"session-mismatch-text": "Es sieht so aus, als ob deine Login-Sitzung nicht mehr mit dem Server übereinstimmt. Bitte aktualisieren Sie diese Seite.",
"no-topics-selected": "Keine Beiträge ausgewählt!",
"cant-move-to-same-topic": "Du kannst den Beitrag nicht in das selbe Thema schieben!",
"cant-move-topic-to-same-category": "Das Thema kann nicht zur selben Kategorie verschoben werden!",
@@ -193,12 +195,12 @@
"already-blocked": "Dieser Nutzer ist bereits gesperrt",
"already-unblocked": "Dieser Nutzer ist bereits entsperrt",
"no-connection": "Es scheint als gäbe es ein Problem mit deiner Internetverbindung",
"socket-reconnect-failed": "Unable to reach the server at this time. Click here to try again, or try again later",
"plugin-not-whitelisted": "Unable to install plugin &ndash; only plugins whitelisted by the NodeBB Package Manager can be installed via the ACP",
"socket-reconnect-failed": "Der Server kann zurzeit nicht erreicht werden. Klicken Sie hier, um es erneut zu versuchen, oder versuchen Sie es später erneut",
"plugin-not-whitelisted": "Plugin kann nicht installiert werden &ndash; nur Plugins, die vom NodeBB Package Manager in die Whitelist aufgenommen wurden, können über den ACP installiert werden",
"topic-event-unrecognized": "Topic event '%1' unrecognized",
"cant-set-child-as-parent": "Can't set child as parent category",
"cant-set-child-as-parent": "Untergeordnete Kategorie kann nicht als übergeordnete Kategorie festgelegt werden",
"cant-set-self-as-parent": "Can't set self as parent category",
"api.master-token-no-uid": "A master token was received without a corresponding `_uid` in the request body",
"api.master-token-no-uid": "Ein Master-Token wurde ohne eine entsprechende `_uid` im Anfrage-Body empfangen",
"api.400": "Something was wrong with the request payload you passed in.",
"api.401": "A valid login session was not found. Please log in and try again.",
"api.403": "You are not authorised to make this call",

View File

@@ -1,7 +1,6 @@
{
"username-email": "Benutzername / E-Mail-Adresse",
"username": "Benutzername",
"email": "E-Mail",
"remember_me": "Eingeloggt bleiben?",
"forgot_password": "Passwort vergessen?",
"alternative_logins": "Alternative Logins",

View File

@@ -68,6 +68,8 @@
"bootbox.ok": "OK",
"bootbox.cancel": "Abbrechen",
"bootbox.confirm": "Bestätigen",
"bootbox.submit": "Submit",
"bootbox.send": "Send",
"cover.dragging_title": "Titelbildpositionierung",
"cover.dragging_message": "Ziehe das Titelbild an die gewünschte Position und klicke auf \"Speichern\"",
"cover.saved": "Titelbild und -position gespeichert",

View File

@@ -50,6 +50,7 @@
"users-csv-exported": "Users csv exported, click to download",
"post-queue-accepted": "Your queued post has been accepted. Click here to see your post.",
"post-queue-rejected": "Your queued post has been rejected.",
"post-queue-notify": "Queued post received a notification:<br/>\"%1\"",
"email-confirmed": "E-Mail bestätigt",
"email-confirmed-message": "Vielen Dank für Ihre E-Mail-Validierung. Ihr Konto ist nun vollständig aktiviert.",
"email-confirm-error-message": "Es gab ein Problem bei der Validierung Ihrer E-Mail-Adresse. Möglicherweise ist der Code ungültig oder abgelaufen.",

View File

@@ -8,11 +8,14 @@
"content": "Inhalt",
"posted": "Gepostet",
"reply-to": "Auf \"%1\" antworten",
"content-editable": "Click on content to edit",
"category-editable": "Click on category to edit",
"title-editable": "Click on title to edit",
"reply": "Reply",
"topic": "Topic",
"accept": "Accept",
"reject": "Reject"
"content-editable": "Inhalt zum Bearbeiten anklicken",
"category-editable": "Kategorie zum Bearbeiten anklicken",
"title-editable": "Titel zum Bearbeiten anklicken",
"reply": "Antworten",
"topic": "Thema",
"accept": "Annehmen",
"reject": "Ablehnen",
"remove": "Remove",
"notify": "Notify",
"notify-user": "Notify User"
}

View File

@@ -18,15 +18,15 @@
"agree_to_terms_of_use": "Ich stimme den Nutzungsbedingungen zu",
"terms_of_use_error": "Du musst den Nutzungsbedingungen zustimmen",
"registration-added-to-queue": "Deine Registration wurde abgeschickt. Du wirst eine E-Mail erhalten, sobald sie von einem Administrator akzeptiert wird.",
"registration-queue-average-time": "Our average time for approving memberships is %1 hours %2 minutes.",
"registration-queue-auto-approve-time": "Your membership to this forum will be fully activated in up to %1 hours.",
"registration-queue-average-time": "Unsere durchschnittliche Zeit für die Genehmigung von Mitgliedschaften beträgt %1 Stunden %2 Minuten.",
"registration-queue-auto-approve-time": "Ihre Mitgliedschaft in diesem Forum wird in bis zu %1 Stunden vollständig aktiviert sein.",
"interstitial.intro": "We'd like some additional information in order to update your account&hellip;",
"interstitial.intro-new": "We'd like some additional information before we can create your account&hellip;",
"interstitial.errors-found": "Please review the entered information:",
"interstitial.errors-found": "Bitte überprüfen Sie die eingegebenen Informationen:",
"gdpr_agree_data": "Ich stimme der Sammlung und Verarbeitung meiner Persönlichen Daten auf dieser Website zu.",
"gdpr_agree_email": "Ich bin damit einverstanden, dass ich Informations und Benachrichtigungs-E-Mails von dieser Website erhalte.",
"gdpr_consent_denied": "Du musst zustimmen, dass diese Seite deine Daten sammeln und verarbeiten darf, und dir Emails senden darf.",
"invite.error-admin-only": "Direct user registration has been disabled. Please contact an administrator for more details.",
"invite.error-invite-only": "Direct user registration has been disabled. You must be invited by an existing user in order to access this forum.",
"invite.error-invalid-data": "The registration data received does not correspond to our records. Please contact an administrator for more details"
"invite.error-admin-only": "Die direkte Benutzerregistrierung wurde deaktiviert. Bitte kontaktieren Sie einen Administrator für weitere Details.",
"invite.error-invite-only": "Die direkte Benutzerregistrierung wurde deaktiviert. Sie müssen von einem bestehenden Benutzer eingeladen werden, um Zugang zu diesem Forum zu erhalten.",
"invite.error-invalid-data": "Die erhaltenen Registrierungsdaten stimmen nicht mit unseren Aufzeichnungen überein. Bitte kontaktieren Sie einen Administrator für weitere Details"
}

View File

@@ -7,7 +7,7 @@
"wrong_reset_code.message": "Der empfangene Reset-Code war falsch. Bitte versuche es erneut oder <a href=\"/reset\">fordere einen neuen Code an</a>.",
"new_password": "Neues Passwort",
"repeat_password": "Wiederhole das Passwort",
"changing_password": "Changing Password",
"changing_password": "Passwort ändern",
"enter_email": "Bitte gib Deine <strong>E-Mail Adresse</strong> ein und wir senden Dir eine Anleitung, wie Du Dein Passwort zurücksetzen kannst.",
"enter_email_address": "E-Mail Adresse eingeben",
"password_reset_sent": "Falls die angegebene Adresse zu einem Benutzerkonto gehört, wurde eine E-Mail zum zurücksetzen des Passworts versendet. Denk daran, dass maximal eine E-Mail pro Minute versendet wird.",

View File

@@ -4,5 +4,5 @@
"enter_tags_here": "Hier Schlagworte eingeben. Jeweils %1 bis %2 Zeichen.",
"enter_tags_here_short": "Schlagworte eingeben...",
"no_tags": "Es gibt noch keine Schlagworte.",
"select_tags": "Tags auswählen"
"select_tags": "Schlagwort auswählen"
}

View File

@@ -1,4 +1,4 @@
{
"title": "Top",
"no_top_topics": "No top topics"
"title": "Top-Themen",
"no_top_topics": "Keine Top-Themen"
}

View File

@@ -1,6 +1,6 @@
{
"topic": "Thema",
"title": "Title",
"title": "Titel",
"no_topics_found": "Keine passenden Themen gefunden!",
"no_posts_found": "Keine Beiträge gefunden!",
"post_is_deleted": "Dieser Beitrag wurde gelöscht!",
@@ -20,8 +20,8 @@
"login-to-view": "🔒 Zum ansehen einloggen",
"edit": "Bearbeiten",
"delete": "Löschen",
"delete-event": "Delete Event",
"delete-event-confirm": "Are you sure you want to delete this event?",
"delete-event": "Ereignisse löschen",
"delete-event-confirm": "Bist du sicher, dass du dieses Ereignis löschen willst?",
"purge": "Endgültig löschen",
"restore": "Wiederherstellen",
"move": "Verschieben",
@@ -32,22 +32,23 @@
"tools": "Werkzeuge",
"locked": "Gesperrt",
"pinned": "Angeheftet",
"pinned-with-expiry": "Pinned until %1",
"pinned-with-expiry": "Angepinnt bis %1",
"scheduled": "Scheduled",
"moved": "Verschoben",
"moved-from": "Moved from %1",
"copy-ip": "IP-Adresse Kopieren",
"ban-ip": "IP-Adresse bannen",
"view-history": "Verlauf bearbeiten",
"locked-by": "Locked by",
"unlocked-by": "Unlocked by",
"pinned-by": "Pinned by",
"locked-by": "Gesperrt von",
"unlocked-by": "Entsperrt von",
"pinned-by": "Angeheftet von",
"unpinned-by": "Unpinned by",
"deleted-by": "Deleted by",
"restored-by": "Restored by",
"deleted-by": "Gelöscht von",
"restored-by": "Wiederhergestellt von",
"moved-from-by": "Moved from %1 by",
"queued-by": "Post queued for approval &rarr;",
"backlink": "Referenced by",
"forked-by": "Forked by",
"bookmark_instructions": "Klicke hier, um zum letzten gelesenen Beitrag des Themas zurückzukehren.",
"flag-post": "Diesen Post melden",
"flag-user": "Diesen Benutzer melden",

View File

@@ -184,6 +184,6 @@
"consent.export_posts": "Beiträge exportieren (.csv)",
"consent.export-posts-success": "Beiträge werden exportiert, du bekommst eine Benachrichtigung sobald der Vorgang abgeschlossen ist.",
"emailUpdate.intro": "Please enter your email address below. This forum uses your email address for scheduled digest and notifications, as well as for account recovery in the event of a lost password.",
"emailUpdate.optional": "<strong>This field is optional</strong>. You are not obligated to provide your email address, but without a validated email, you will not be able to recover your account.",
"emailUpdate.optional": "<strong>This field is optional</strong>. You are not obligated to provide your email address, but without a validated email, you will not be able to recover your account or login with your email.",
"emailUpdate.change-instructions": "A confirmation email will be sent to the entered email address with a unique link. Accessing that link will confirm your ownership of the email address and it will become active on your account. At any time, you are able to update your email on file from within your account page."
}

View File

@@ -3,5 +3,9 @@
"alert.confirm-restart": "Είστε βέβαιοι ότι θέλετε να επανεκκινήσετε το NodeBB;",
"acp-title": "%1 | NodeBB Πίνακας Ελέγχου",
"settings-header-contents": "Περιεχόμενα"
"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

@@ -38,7 +38,8 @@
"subscriptions.hour-help": "Please enter a number representing the hour to send scheduled email digests (e.g. <code>0</code> for midnight, <code>17</code> for 5:00pm). Keep in mind that this is the hour according to the server itself, and may not exactly match your system clock.<br /> The approximate server time is: <span id=\"serverTime\"></span><br /> The next daily digest is scheduled to be sent <span id=\"nextDigestTime\"></span>",
"notifications.remove-images": "Remove images from email notifications",
"require-email-address": "Require new users to specify an email address",
"require-email-address-warning": "By default, users can opt-out of entering an email address. Enabling this option means they have to enter an email address in order to proceed with registration. <strong>It does not ensure user will enter a real email address, nor even an address they own.</strong>",
"require-email-address-warning": "By default, users can opt-out of entering an email address by leaving the field blank. Enabling this option means they have to enter an email address in order to proceed with registration. <strong>It does not ensure user will enter a real email address, nor even an address they own.</strong>",
"send-validation-email": "Send validation emails when an email is added or changed",
"include-unverified-emails": "Send emails to recipients who have not explicitly confirmed their emails",
"include-unverified-warning": "By default, users with emails associated with their account have already been verified, but there are situations where this is not the case (e.g. SSO logins, grandfathered users, etc). <strong>Enable this setting at your own risk</strong> &ndash; sending emails to unverified addresses may be a violation of regional anti-spam laws.",
"prompt": "Prompt users to enter or confirm their emails",

View File

@@ -1,6 +1,5 @@
{
"posts": "Posts",
"allow-files": "Allow users to upload regular files",
"private": "Make uploaded files private",
"strip-exif-data": "Strip EXIF Data",
"private-extensions": "File extensions to make private",

View File

@@ -6,7 +6,6 @@
"allow-login-with": "Allow login with",
"allow-login-with.username-email": "Username or Email",
"allow-login-with.username": "Username Only",
"allow-login-with.email": "Email Only",
"account-settings": "Account Settings",
"gdpr_enabled": "Enable GDPR consent collection",
"gdpr_enabled_help": "When enabled, all new registrants will be required to explicitly give consent for data collection and usage under the <a href=\"https://ec.europa.eu/info/priorities/justice-and-fundamental-rights/data-protection/2018-reform-eu-data-protection-rules/eu-data-protection-rules_en\">General Data Protection Regulation (GDPR)</a>. <strong>Note</strong>: Enabling GDPR does not force pre-existing users to provide consent. To do so, you will need to install the GDPR plugin.",

View File

@@ -1,6 +1,8 @@
{
"invalid-data": "Άκυρα Δεδομένα",
"invalid-json": "Invalid JSON",
"wrong-parameter-type": "A value of type %3 was expected for property `%1`, but %2 was received instead",
"required-parameters-missing": "Required parameters were missing from this API call: %1",
"not-logged-in": "Φαίνεται πως δεν είσαι συνδεδεμένος/η.",
"account-locked": "Ο λογαριασμός σου έχει κλειδωθεί προσωρινά",
"search-requires-login": "Searching requires an account - please login or register.",
@@ -9,6 +11,7 @@
"invalid-tid": "Άκυρο ID Θέματος",
"invalid-pid": "Άκυρο ID Δημοσίευσης",
"invalid-uid": "Άκυρο ID Χρήστη",
"invalid-mid": "Invalid Chat Message ID",
"invalid-date": "A valid date must be provided",
"invalid-username": "Άκυρο Όνομα Χρήστη",
"invalid-email": "Άκυρο Email",
@@ -142,7 +145,6 @@
"invalid-chat-message": "Invalid chat message",
"chat-message-too-long": "Chat messages can not be longer than %1 characters.",
"cant-edit-chat-message": "You are not allowed to edit this message",
"cant-remove-last-user": "You can't remove the last user",
"cant-delete-chat-message": "You are not allowed to delete this message",
"chat-edit-duration-expired": "You are only allowed to edit chat messages for %1 second(s) after posting",
"chat-delete-duration-expired": "You are only allowed to delete chat messages for %1 second(s) after posting",

View File

@@ -1,7 +1,6 @@
{
"username-email": "Όνομα χρήστη / Email",
"username": "Όνομα Χρήστη",
"email": "Email",
"remember_me": "Απομνημόνευση;",
"forgot_password": "Ξέχασες τον κωδικό σου;",
"alternative_logins": "Εναλλακτικά Login",

View File

@@ -68,6 +68,8 @@
"bootbox.ok": "OK",
"bootbox.cancel": "Cancel",
"bootbox.confirm": "Confirm",
"bootbox.submit": "Submit",
"bootbox.send": "Send",
"cover.dragging_title": "Cover Photo Positioning",
"cover.dragging_message": "Drag the cover photo to the desired position and click \"Save\"",
"cover.saved": "Cover photo image and position saved",

View File

@@ -50,6 +50,7 @@
"users-csv-exported": "Users csv exported, click to download",
"post-queue-accepted": "Your queued post has been accepted. Click here to see your post.",
"post-queue-rejected": "Your queued post has been rejected.",
"post-queue-notify": "Queued post received a notification:<br/>\"%1\"",
"email-confirmed": "Email Confirmed",
"email-confirmed-message": "Thank you for validating your email. Your account is now fully activated.",
"email-confirm-error-message": "There was a problem validating your email address. Perhaps the code was invalid or has expired.",

View File

@@ -14,5 +14,8 @@
"reply": "Reply",
"topic": "Topic",
"accept": "Accept",
"reject": "Reject"
"reject": "Reject",
"remove": "Remove",
"notify": "Notify",
"notify-user": "Notify User"
}

View File

@@ -48,6 +48,7 @@
"moved-from-by": "Moved from %1 by",
"queued-by": "Post queued for approval &rarr;",
"backlink": "Referenced by",
"forked-by": "Forked by",
"bookmark_instructions": "Click here to return to the last read post in this thread.",
"flag-post": "Flag this post",
"flag-user": "Flag this user",

View File

@@ -184,6 +184,6 @@
"consent.export_posts": "Export Posts (.csv)",
"consent.export-posts-success": "Exporting posts, you will get a notification when it is complete.",
"emailUpdate.intro": "Please enter your email address below. This forum uses your email address for scheduled digest and notifications, as well as for account recovery in the event of a lost password.",
"emailUpdate.optional": "<strong>This field is optional</strong>. You are not obligated to provide your email address, but without a validated email, you will not be able to recover your account.",
"emailUpdate.optional": "<strong>This field is optional</strong>. You are not obligated to provide your email address, but without a validated email, you will not be able to recover your account or login with your email.",
"emailUpdate.change-instructions": "A confirmation email will be sent to the entered email address with a unique link. Accessing that link will confirm your ownership of the email address and it will become active on your account. At any time, you are able to update your email on file from within your account page."
}

View File

@@ -3,5 +3,9 @@
"alert.confirm-restart": "Are you sure you wish to restart NodeBB?",
"acp-title": "%1 | NodeBB Admin Control Panel",
"settings-header-contents": "Contents"
"settings-header-contents": "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

@@ -38,7 +38,8 @@
"subscriptions.hour-help": "Please enter a number representing the hour to send scheduled email digests (e.g. <code>0</code> for midnight, <code>17</code> for 5:00pm). Keep in mind that this is the hour according to the server itself, and may not exactly match your system clock.<br /> The approximate server time is: <span id=\"serverTime\"></span><br /> The next daily digest is scheduled to be sent <span id=\"nextDigestTime\"></span>",
"notifications.remove-images": "Remove images from email notifications",
"require-email-address": "Require new users to specify an email address",
"require-email-address-warning": "By default, users can opt-out of entering an email address. Enabling this option means they have to enter an email address in order to proceed with registration. <strong>It does not ensure user will enter a real email address, nor even an address they own.</strong>",
"require-email-address-warning": "By default, users can opt-out of entering an email address by leaving the field blank. Enabling this option means they have to enter an email address in order to proceed with registration. <strong>It does not ensure user will enter a real email address, nor even an address they own.</strong>",
"send-validation-email": "Send validation emails when an email is added or changed",
"include-unverified-emails": "Send emails to recipients who have not explicitly confirmed their emails",
"include-unverified-warning": "By default, users with emails associated with their account have already been verified, but there are situations where this is not the case (e.g. SSO logins, grandfathered users, etc). <strong>Enable this setting at your own risk</strong> &ndash; sending emails to unverified addresses may be a violation of regional anti-spam laws.",
"prompt": "Prompt users to enter or confirm their emails",

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