Compare commits

..

255 Commits

Author SHA1 Message Date
Misty Release Bot
0f6847a556 chore: incrementing version number - v3.6.4 2024-01-24 17:22:26 +00:00
Barış Soner Uşaklı
cf40d68176 fix: if there is no bookmarkThreshold dont init unread indicator 2024-01-24 12:11:17 -05:00
Barış Soner Uşaklı
cb21f28b56 feat: add success hook to quick reply 2024-01-24 12:00:27 -05:00
Barış Soner Uşaklı
20d88e6861 use template name instead of url
sometimes topic.tpl can be rendered on a different url
2024-01-24 11:27:07 -05:00
Barış Soner Uşaklı
d5f445f15e fix: remove leftover code from 2.x, closes #12301 2024-01-23 10:24:44 -05:00
Barış Soner Uşaklı
06269cdfe4 fix: copy single line code blocks, closes #12297 2024-01-22 12:55:44 -05:00
Barış Soner Uşaklı
4427ca4cab add itemprop="comment" 2024-01-18 18:05:38 -05:00
Barış Soner Uşaklı
e8befbcc6f test: add plugin id tests 2024-01-17 15:18:26 -05:00
Barış Soner Uşaklı
76f3efff8f fix: validate plugin id in toggleActive 2024-01-16 10:13:50 -05:00
Misty Release Bot
92ffc57cce chore: update changelog for v3.6.3 2024-01-12 16:06:06 +00:00
Misty Release Bot
2eb36b03a6 chore: incrementing version number - v3.6.3 2024-01-12 16:06:05 +00:00
Barış Soner Uşaklı
f3927ce76b fix: #12275, pin sharp to 0.32.6 2024-01-12 10:28:26 -05:00
Barış Soner Uşaklı
5f91cc833f fix: topic event translations closes #12273 2024-01-10 17:44:52 -05:00
Misty Release Bot
82a936c380 chore: update changelog for v3.6.2 2024-01-10 14:22:20 +00:00
Misty Release Bot
a1143e22eb chore: incrementing version number - v3.6.2 2024-01-10 14:22:20 +00:00
Barış Soner Uşaklı
ef8f8db7bd chore: up composer 2024-01-06 22:30:27 -05:00
Barış Soner Uşaklı
d3d6d77d1e fix: recent loading 2024-01-05 16:15:13 -05:00
Barış Soner Uşaklı
2bed405cd5 chore: up harmony 2024-01-04 12:59:33 -05:00
Barış Soner Uşaklı
b6dbe1a6d6 chore: up harmony 2024-01-01 21:22:51 -05:00
Barış Soner Uşaklı
16f0affa70 chore: up lavender 2023-12-29 11:49:44 -05:00
Barış Soner Uşaklı
980bfee88f chore: up themes 2023-12-27 18:34:07 -05:00
Barış Soner Uşaklı
0af19afd2e feat: #12247 2023-12-27 18:32:11 -05:00
Barış Soner Uşaklı
8867f243e8 fix: closes #12246, direction is passed in as string as query param with new api call
cid isn't necessary in query params since its in path
2023-12-27 17:43:56 -05:00
Barış Soner Uşaklı
a74b51415c fix: stricter selector for sort 2023-12-23 17:58:03 -05:00
Barış Soner Uşaklı
563e03b6ae perf: dont load all followed tids on unread/recent?filter=watched 2023-12-23 00:16:19 -05:00
Misty Release Bot
1e4abdbfd2 chore: update changelog for v3.6.1 2023-12-22 15:36:18 +00:00
Misty Release Bot
76d28c7e58 chore: incrementing version number - v3.6.1 2023-12-22 15:36:17 +00:00
Barış Soner Uşaklı
788404c1d2 fix: #12243, don' set process.env.config if it doesnt exist 2023-12-22 10:17:33 -05:00
Barış Soner Uşaklı
48a2b5f725 fix: lang key for move notification closes #12241 2023-12-21 09:59:36 -05:00
Barış Soner Uşaklı
459468be0f go to moved post 2023-12-21 09:41:11 -05:00
Barış Soner Uşaklı
e72b26f565 fix: dont send topic notification to poster 2023-12-20 15:12:12 -05:00
Misty Release Bot
eb92cee633 chore: update changelog for v3.6.0 2023-12-20 19:03:41 +00:00
Misty Release Bot
75a7062d6b chore: incrementing version number - v3.6.0 2023-12-20 19:03:40 +00:00
Misty Release Bot
d3cfa1b7e3 chore(i18n): fallback strings for new resources: nodebb.error 2023-12-20 16:37:28 +00:00
Julian Lam
dd0743d3fc chore: make error:email-taken slightly more descriptive 2023-12-20 11:37:04 -05:00
Misty Release Bot
8a8109f160 Latest translations and fallbacks 2023-12-20 09:18:33 +00:00
Barış Soner Uşaklı
250cc771b5 chore: up harmony 2023-12-19 21:34:21 -05:00
Barış Soner Uşaklı
dc97583815 fix: fix display post history 2023-12-19 21:32:05 -05:00
Julian Lam
506d7be5f5 fix: update isJSON test in request lib 2023-12-19 14:34:05 -05:00
Barış Soner Uşaklı
9324a75c33 chore: up harmony 2023-12-19 13:14:12 -05:00
Barış Soner Uşaklı
2d7a737666 Merge branch 'master' into develop 2023-12-19 12:16:19 -05:00
Barış Soner Uşaklı
f7e0fd0bd7 fix: 503 rendering on ajaxify
regression from a75a043b61
2023-12-19 12:16:03 -05:00
Barış Soner Uşaklı
06221a0ddf feat: add 500 page for missing tpls, closes #12230 2023-12-18 17:35:37 -05:00
renovate[bot]
055b759703 chore(deps): update dependency eslint-plugin-import to v2.29.1 (#12229)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-18 12:41:48 -05:00
renovate[bot]
a7dd0f92fa chore(deps): update dependency eslint to v8.56.0 (#12231)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-18 12:41:41 -05:00
Barış Soner Uşaklı
4e560adef7 refactor: line breaks good 2023-12-18 12:37:40 -05:00
Barış Soner Uşaklı
4e98653b49 dont blow up upgrade 2023-12-18 12:13:22 -05:00
renovate[bot]
2cccbcf648 fix(deps): update dependency workerpool to v9 (#12234)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-18 12:10:40 -05:00
Barış Soner Uşaklı
c15bdd4cf0 👋Request, 🐶 Fetch, closes #10341 (#12236)
* axios migration

* controller tests

* add missing deps

* feeds

* remove unused async

* flags

* locale-detect

* messaging/middleware

* remove log

* meta

* plugins

* posts

* search

* topics/thumbs

* user/emails

* uploads.js

* socket.io

* cleaunup

* test native fetch

* cleanup

* increase engine to 18

fix remaining tests

* remove testing file

* fix comments,typo

* revert debug
2023-12-18 12:08:34 -05:00
renovate[bot]
451430006e fix(deps): update dependency sharp to v0.33.1 (#12233)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-17 19:08:43 -05:00
renovate[bot]
9e2a6f8625 fix(deps): update dependency csrf-sync to v4.0.3 (#12232)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-17 19:06:30 -05:00
Barış Soner Uşaklı
7b7bfdb762 text-break on uploads 2023-12-15 20:08:22 -05:00
renovate[bot]
b6ca117ae8 fix(deps): update dependency ace-builds to v1.32.2 (#12228)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-14 12:09:33 -05:00
Barış Soner Uşaklı
f91b823ecc refactor: replace deprecated call with api call 2023-12-14 10:13:19 -05:00
Barış Soner Uşaklı
d13bfacd74 Merge branch 'master' into develop 2023-12-13 13:18:32 -05:00
Barış Soner Uşaklı
2dc1def51f fix: #12227, fix crash in redirect 2023-12-13 13:18:07 -05:00
Misty Release Bot
e49ddaf815 chore: update changelog for v3.5.3 2023-12-13 15:42:45 +00:00
Misty Release Bot
3d7bad3274 Latest translations and fallbacks 2023-12-13 09:18:42 +00:00
renovate[bot]
6036d14463 fix(deps): update dependency ace-builds to v1.32.1 (#12226)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-12 20:22:36 -05:00
renovate[bot]
d96d4d0991 fix(deps): update dependency esbuild to v0.19.9 (#12224)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-11 11:03:53 -05:00
Barış Soner Uşaklı
dd94b967c2 Merge branch 'master' into develop 2023-12-08 13:55:26 -05:00
Barış Soner Uşaklı
7c416efc89 Merge branch 'master' into develop 2023-12-08 11:07:39 -05:00
Misty Release Bot
255a67cd7f Latest translations and fallbacks 2023-12-08 09:19:24 +00:00
Steve Fan
daf2900a71 Update defaults.json (#12208) 2023-12-07 12:49:11 -05:00
renovate[bot]
e32eb8b3d7 fix(deps): update dependency @fontsource/inter to v5.0.16 (#12219)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-07 12:48:56 -05:00
Misty Release Bot
3c31ae239b Latest translations and fallbacks 2023-12-07 09:18:44 +00:00
Misty Release Bot
da2441b9bd Latest translations and fallbacks 2023-12-06 09:19:56 +00:00
Julian Lam
445b70deda test: migrate socket modules tests to v3 api 2023-12-05 11:47:55 -05:00
Julian Lam
565ca3cc3b fix: deprecated emailer hook 2023-12-05 10:41:23 -05:00
Julian Lam
2c1c4dfe41 test: migrate socket.io groups tests to use api v3 2023-12-05 10:41:14 -05:00
renovate[bot]
b6b569c0a8 fix(deps): update dependency chart.js to v4.4.1 (#12217)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-04 19:45:33 -05:00
renovate[bot]
6dab99fd7b fix(deps): update dependency nodebb-theme-persona to v13.2.49 (#12218)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-04 19:45:13 -05:00
renovate[bot]
32a403b2bd chore(deps): update dependency eslint to v8.55.0 (#12203)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-04 16:39:06 -05:00
renovate[bot]
da87970475 fix(deps): update dependency postcss to v8.4.32 (#12204)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-04 16:38:53 -05:00
renovate[bot]
9763e97f5a chore(deps): update dependency lint-staged to v15.2.0 (#12210)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-04 16:38:42 -05:00
Opliko
f8219aa6cd feat: remove gif exif stripping exception 2023-12-04 11:31:36 -05:00
Opliko
0b3eb6c02d fix: extract all pages when stripping metadata
fixes #12207
2023-12-04 11:31:36 -05:00
Misty Release Bot
9cd4dac729 Latest translations and fallbacks 2023-12-04 09:18:51 +00:00
Julian Lam
2c6024e07f feat: update groups.leave to allow global mods to kick users out of groups 2023-12-01 13:04:32 -05:00
Julian Lam
78835ebbe9 fix: incorrect call to load additional group members 2023-12-01 12:25:01 -05:00
Barış Soner Uşaklı
dbbf3a2c6f chore: up harmony 2023-12-01 09:32:48 -05:00
Barış Soner Uşaklı
29ae98e8f7 Merge branch 'master' into develop 2023-12-01 09:19:13 -05:00
Barış Soner Uşaklı
e4656bd41c chore: up harmony 2023-12-01 09:13:55 -05:00
Opliko
2d8026ebb7 Add basic author information to topic data (#12202)
* feat: add author metadata to topics

* docs: add author object to OpenAPI definition

* docs: add remaining author properties to openapi definition

* docs: mark optional properties optional

* docs: properly set required properties
2023-12-01 09:08:50 -05:00
renovate[bot]
b41c7f2a8a fix(deps): update dependency @fortawesome/fontawesome-free to v6.5.1 (#12198)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-01 09:08:25 -05:00
renovate[bot]
72d6a4b16d fix(deps): update dependency nodebb-theme-harmony to v1.1.101 (#12199)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-01 09:08:17 -05:00
renovate[bot]
cd625705a0 fix(deps): update dependency sortablejs to v1.15.1 (#12200)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-01 09:07:44 -05:00
renovate[bot]
75f063ba60 fix(deps): update dependency ace-builds to v1.32.0 (#12197)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-01 09:07:21 -05:00
Misty Release Bot
a8ea2340f4 Latest translations and fallbacks 2023-12-01 09:18:48 +00:00
renovate[bot]
a94f4a482d fix(deps): update dependency @fortawesome/fontawesome-free to v6.5.0 (#12193)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-30 09:56:42 -05:00
renovate[bot]
a50b141f6d chore(deps): update dependency jsdom to v23.0.1 (#12196)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-30 09:56:31 -05:00
renovate[bot]
1f287c74c8 fix(deps): update dependency sharp to v0.33.0 (#12194)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-30 09:56:10 -05:00
Barış Soner Uşaklı
c71995be0d Merge branch 'master' into develop 2023-11-29 12:54:31 -05:00
Misty Release Bot
97f6c53914 Latest translations and fallbacks 2023-11-29 09:18:46 +00:00
Barış Soner Uşaklı
0ec9d4c393 chore: up themes 2023-11-28 20:59:26 -05:00
Barış Soner Uşaklı
b905013950 fix: closes #12185, fix cli user password reset
refactor session get/destroy
2023-11-28 20:58:07 -05:00
renovate[bot]
4eaf2320d6 fix(deps): update dependency fs-extra to v11.2.0 (#12191)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-28 12:39:12 -05:00
renovate[bot]
bbf7c5e192 fix(deps): update dependency passport to v0.7.0 (#12190)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-28 12:38:57 -05:00
renovate[bot]
bc59856e55 fix(deps): update dependency esbuild to v0.19.8 (#12187)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-27 11:57:44 -05:00
renovate[bot]
8c0472a085 chore(deps): update dependency jsdom to v23 (#12186)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-27 11:57:23 -05:00
Barış Soner Uşaklı
50a90f8e03 fix: don't require login for listing categories 2023-11-27 09:11:26 -05:00
Misty Release Bot
5695054750 Latest translations and fallbacks 2023-11-26 09:18:22 +00:00
Misty Release Bot
1ca986e62e Latest translations and fallbacks 2023-11-25 09:18:23 +00:00
Barış Soner Uşaklı
0a4f3c8a56 fix: #12183, remove ensureLoggedIn middleware
from category routes
add privilege check to getTopicCount
2023-11-24 17:05:36 -05:00
renovate[bot]
22932bdb40 fix(deps): update dependency lru-cache to v10.1.0 (#12181)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-22 16:00:50 -05:00
renovate[bot]
fd5d7b651f chore(deps): update commitlint monorepo to v18.4.3 (#12177)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-21 13:22:35 -05:00
renovate[bot]
00cb5839b5 fix(deps): update dependency esbuild to v0.19.7 (#12176)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-21 13:22:25 -05:00
renovate[bot]
c404ef73cf fix(deps): update dependency lru-cache to v10.0.3 (#12175)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-21 13:22:09 -05:00
Barış Soner Uşaklı
f4faa0b7d1 feat: better layout for manage chat room modal 2023-11-20 18:33:02 -05:00
Julian Lam
9079ad0b2c chore: added missing deprecation warning for .getTopics 2023-11-20 16:18:11 -05:00
Julian Lam
b5940a5d44 fix: remove unused requires 2023-11-20 13:06:26 -05:00
Julian Lam
c1e6be7705 refactor(socket.io): deprecate SocketModules.chats.typing in favour of api.chats.toggleTyping 2023-11-20 13:06:26 -05:00
Julian Lam
401e8636bd refactor(socket.io): deprecate SocketModules.chats.loadPinnedMessages in favour of api.chats.getPinnedMessages" 2023-11-20 13:06:26 -05:00
Julian Lam
f9dc35021d refactor(socket.io): deprecate SocketModules.chats.searchMessages in favour of api.search.roomMessages 2023-11-20 13:06:26 -05:00
Julian Lam
f9c471a09b fix: remove lodash require 2023-11-20 13:06:26 -05:00
Julian Lam
75c8cda18c refactor(socket.io): deprecate SocketModules.chats.setNotificationSetting in favour of api.chats.watch 2023-11-20 13:06:26 -05:00
Julian Lam
b13c6ee431 refactor(socket.io): deprecated SocketModules.chats.toggleOwner in favour of api.chats.toggleOwner 2023-11-20 13:06:26 -05:00
Julian Lam
932bd29200 feat: update Messaging.toggleOwner to optionally take a third state argument 2023-11-20 13:06:26 -05:00
Julian Lam
6e952263d1 refactor(socket.io): deprecated SocketModules.chats.searchMembers in favour of api.search.roomUsers 2023-11-20 13:06:26 -05:00
Julian Lam
62b7dfd400 refactor(socket.io): deprecate SocketModules.sortPublicRooms in favour of api.chats.sortPublicRooms 2023-11-20 13:06:26 -05:00
Julian Lam
2de534fad8 chore: update note at top of file 2023-11-20 13:06:26 -05:00
Julian Lam
5eaffb422c refactor(socket.io): deprecate SocketModules.chat.getUnreadCount in favour of api.chats.getUnread 2023-11-20 13:06:26 -05:00
Julian Lam
214989a8c1 refactor(socket.io): deprecate SocketModules.chats.getIP in favour of api.chats.getIpAddress 2023-11-20 13:06:26 -05:00
Julian Lam
0d3c94e6bb refactor(socket.io): deprecate SocketModules.chats.hasPrivateChat in favour of api.users.getPrivateRoomId 2023-11-20 13:06:26 -05:00
Julian Lam
a4133500fe refactor(socket.io): deprecate SocketModules.chats.canMessage and .markAllRead with no alternative. deprecate .getRecentChats in favour of api.chats.list 2023-11-20 13:06:26 -05:00
Julian Lam
eebea4df2e refactor(socket.io): deprecate SocketModules.chats.isDnD in favour of api.users.getStatus 2023-11-20 13:06:26 -05:00
Julian Lam
c4b4e79b28 refactor(socket.io): deprecate SocketModules.chats.getRaw in favour of api.chats.getRawMessage 2023-11-20 13:06:26 -05:00
Barış Soner Uşaklı
22181f161b Merge branch 'master' into develop 2023-11-19 19:51:27 -05:00
Misty Release Bot
548b334295 Latest translations and fallbacks 2023-11-19 09:18:21 +00:00
Barış Soner Uşaklı
4649f96e76 Merge branch 'master' into develop 2023-11-18 19:42:16 -05:00
renovate[bot]
b627545359 chore(deps): update dependency eslint to v8.54.0 (#12172)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-18 14:20:43 -05:00
renovate[bot]
d6a92d4c2d chore(deps): update commitlint monorepo to v18.4.2 (#12169)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-18 14:20:31 -05:00
renovate[bot]
b4a41af91b fix(deps): update dependency ace-builds to v1.31.2 (#12168)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-18 13:24:15 -05:00
renovate[bot]
85936a597c fix(deps): update dependency mongodb to v6.3.0 (#12170)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-18 13:24:05 -05:00
Misty Release Bot
64fe1278cf chore(i18n): fallback strings for new resources: nodebb.post-queue 2023-11-18 18:22:22 +00:00
Barış Soner Uşaklı
496f882d1e Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2023-11-18 13:21:55 -05:00
Barış Soner Uşaklı
b69816935d chore: up dbsearch 2023-11-18 13:21:50 -05:00
Misty Release Bot
3d971294c4 Latest translations and fallbacks 2023-11-18 09:18:23 +00:00
Julian Lam
89a1134cae fix: #12171, bump harmony 2023-11-17 11:48:45 -05:00
Julian Lam
41bdc9e8fd fix: update design of post-queue 2023-11-17 11:46:45 -05:00
Julian Lam
63ba498647 fix: update post-queue template for #12171 2023-11-17 11:45:09 -05:00
Misty Release Bot
f98205c1fd chore(i18n): fallback strings for new resources: nodebb.post-queue 2023-11-17 16:38:42 +00:00
Julian Lam
5d03321e92 feat: new language strings for post-queue page 2023-11-17 11:38:17 -05:00
Misty Release Bot
30b3e14381 Latest translations and fallbacks 2023-11-17 09:19:27 +00:00
Misty Release Bot
081352b6b2 chore(i18n): fallback strings for new resources: nodebb.social 2023-11-15 21:50:11 +00:00
Barış Soner Uşaklı
b4aefcca80 add linkedin 2023-11-15 16:49:47 -05:00
Barış Soner Uşaklı
9a1f8e9b21 chore: up themes 2023-11-15 11:02:59 -05:00
Barış Soner Uşaklı
ace171a6bf feat: add some new social share buttons 2023-11-15 11:01:30 -05:00
Barış Soner Uşaklı
fe5f3fbbee Merge branch 'master' into develop 2023-11-15 09:25:01 -05:00
renovate[bot]
616ff5733a chore(deps): update postgres docker tag to v16.1 (#12167)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-14 07:50:59 -05:00
Misty Release Bot
d98d8ff7b3 Latest translations and fallbacks 2023-11-14 09:18:36 +00:00
Barış Soner Uşaklı
84693fce18 Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2023-11-12 13:52:56 -05:00
renovate[bot]
5f8a4f3a4e chore(deps): update mongo docker tag to v7 (#12166)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-12 13:52:41 -05:00
renovate[bot]
c41f9a7534 chore(deps): update redis docker tag to v7.2.3 (#12165)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-12 13:52:22 -05:00
Barış Soner Uşaklı
35ad73585f Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2023-11-12 13:51:58 -05:00
Barış Soner Uşaklı
4c7c46f32c fix: language key 2023-11-12 13:51:54 -05:00
Opliko
7f3a9968ef feat: docker improvements (#12031)
* use yarn and debian slim build

* feat: update Dockerfile to use multistage builds

* Create main.yml

* remove some useless things from docker context and assume yarn by default

* remove all dotfiles in docker context

* no need for extra build tools, complain to the module author if there is no alpine build

(cherry picked from commit 90516a3c8399e74c38be7115edb39411ba0d86b9)

* specify the config file location instead of creating it

(cherry picked from commit 38e4295d70682f1049fe671ade96eeccd669d908)

* set explicit config path

(cherry picked from commit 8dcc6f249d099cb8939a95511ec13702491958bc)

* fix docker-compose example to use the exposed volumes

* dockerfile: upgrade alpine to 3.16

* dockerignore: add more ignorable entries

* docker-compose: change the way the docker startup process works

* install: pass config path to child process as well

Signed-off-by: steve <29133953+stevefan1999-personal@users.noreply.github.com>

* setup: move config file resolution up before setup

This fixes issue with different config file location, which will otherwise default on 'config.json', which means the config save won't save to the file we specified

Signed-off-by: steve <29133953+stevefan1999-personal@users.noreply.github.com>

* docker-entrypoint: don't fix CONFIG_DIR location but fix default location

Signed-off-by: steve <29133953+stevefan1999-personal@users.noreply.github.com>

* docker-entrypoint: handle missing config file logic

Signed-off-by: steve <29133953+stevefan1999-personal@users.noreply.github.com>

* README: add simple notice on how to use it

Signed-off-by: steve <29133953+stevefan1999-personal@users.noreply.github.com>

* add missing semicolons

Signed-off-by: steve <29133953+stevefan1999-personal@users.noreply.github.com>

* docker-compose: remove multi override, use one big profile instead

However, Docker Compose doesn't support profile-based dependency and this would probably means we have less guarantee about the liveness of the database. But since this is just a sample configuration it should be fine

Signed-off-by: steve <29133953+stevefan1999-personal@users.noreply.github.com>

* workflows: remove main.yml, add platforms to buildx matrix in docker.yml

Signed-off-by: steve <29133953+stevefan1999-personal@users.noreply.github.com>

* workflows: set docker buildx to build for amd64 and arm64 only

Signed-off-by: steve <29133953+stevefan1999-personal@users.noreply.github.com>

* docker-entrypoint: don't force build everytime before start

Signed-off-by: steve <29133953+stevefan1999-personal@users.noreply.github.com>

* docker-entrypoint: implement init verb

This would allow you to change between "setup" (automated setup using environmental variables which is the current preferred way to run containerized NodeBB) or "install" (web install that guides user to fill in connection information, which is similar to WordPress)

Signed-off-by: steve <29133953+stevefan1999-personal@users.noreply.github.com>

* README: mention caveat with MongoDB

Signed-off-by: steve <29133953+stevefan1999-personal@users.noreply.github.com>

* README: add Docker section placeholder for doc migration

Signed-off-by: steve <29133953+stevefan1999-personal@users.noreply.github.com>

* docker-entrypoint: add SETUP variable support

Signed-off-by: steve <29133953+stevefan1999-personal@users.noreply.github.com>

* docker-compose: add force flag to ln on setup

Signed-off-by: steve <29133953+stevefan1999-personal@users.noreply.github.com>

* docker-compose: fix permission issue; docker-compose: fast exit if still no permission on config dir

Signed-off-by: steve <29133953+stevefan1999-personal@users.noreply.github.com>

* fix: remove redundant FROM

* docs: remove docker stuff (in favour of docs entry, nodebb/docs#78) but add link to cloud install docs

* fix: correctly check if directory is writable

* fix: ignore .docker directory

* fix: multi-arch docker builds and chown performance

* chore: bump database image versions

* fix: move from alpine to slim image

* fix: use omit=dev instead of only=prod

* feat: move entrypoint to install directory

* feat: initialize mongodb user

* feat: use separate rebuild stage

* fix: disable eslint for mongodb script

* fix: remove node_modules bind mount

bind mounts don't save data from container, resulting in a LOONG startup

* feat: prepopulate database defaults for installation

* feat: enable persistence in redis container

* docs: add some comments to the compose file

---------

Signed-off-by: steve <29133953+stevefan1999-personal@users.noreply.github.com>
Co-authored-by: Steve Fan <29133953+stevefan1999-personal@users.noreply.github.com>
Co-authored-by: Steve Fan <19037626d@connect.polyu.hk>
Co-authored-by: Julian Lam <julian@nodebb.org>
2023-11-12 13:38:00 -05:00
Barış Soner Uşaklı
55fafa9154 Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2023-11-12 12:17:19 -05:00
renovate[bot]
9d18d3c7ab fix(deps): update dependency lru-cache to v10.0.2 (#12160)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-12 12:17:06 -05:00
renovate[bot]
1796ed2b23 chore(deps): update dependency lint-staged to v15.1.0 (#12161)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-12 12:16:56 -05:00
renovate[bot]
be3d3393e3 chore(deps): update dependency @commitlint/cli to v18.4.1 (#12162)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-12 12:16:45 -05:00
Barış Soner Uşaklı
4fc54a139f Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2023-11-12 12:16:33 -05:00
Barış Soner Uşaklı
ed10dda29a chore: up themes 2023-11-12 12:16:31 -05:00
Misty Release Bot
d563fa0708 Latest translations and fallbacks 2023-11-12 09:18:18 +00:00
Barış Soner Uşaklı
20e978a9c4 Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2023-11-11 13:24:59 -05:00
Barış Soner Uşaklı
22d7e92f8a chore: up composer 2023-11-11 13:24:54 -05:00
Misty Release Bot
fdb6e9b0b1 Latest translations and fallbacks 2023-11-11 09:18:16 +00:00
Barış Soner Uşaklı
5aa4bf3310 dont show legends on error charts 2023-11-10 16:29:33 -05:00
renovate[bot]
128c24f29c chore(deps): update commitlint monorepo to v18.4.0 (#12159)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-10 09:57:46 -05:00
Barış Soner Uşaklı
20db425fe3 Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2023-11-10 09:54:46 -05:00
Barış Soner Uşaklı
5ea7dec939 feat: closes #12158, add sortable rewards
convert rewards:list to a sorted set
2023-11-10 09:54:37 -05:00
Misty Release Bot
0fa6a26a0b Latest translations and fallbacks 2023-11-10 09:18:39 +00:00
Barış Soner Uşaklı
7fba622e52 mobile widgets changes 2023-11-09 15:54:52 -05:00
Barış Soner Uşaklı
2eb3c6f59c Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2023-11-09 13:08:13 -05:00
Barış Soner Uşaklı
fcdd373741 chore: up themes 2023-11-09 13:08:09 -05:00
Misty Release Bot
4fe84ae897 chore(i18n): fallback strings for new resources: nodebb.modules 2023-11-09 17:46:55 +00:00
Barış Soner Uşaklı
4b2491becd feat: add copy text 2023-11-09 12:46:31 -05:00
Julian Lam
f4c36b842b chore: v4 note for deprecations 2023-11-09 11:53:17 -05:00
Julian Lam
dc4cc74fbd refator(socket.io): deprecate socketGroups.getChatGroups in favour of api.admin.listGroups 2023-11-09 11:53:17 -05:00
Julian Lam
181a93996c chore: minor re-order of routes/controllers in admin api v3 router/controller 2023-11-09 11:53:17 -05:00
Julian Lam
807d778c77 refactor(socket.io): deprecate socketGroups.loadMoreMembers in favour of api.groups.listMembers 2023-11-09 11:53:17 -05:00
Julian Lam
d2f3333af0 refactor(socket.io): deprecate socketGroups.searchMembers in favour of api.groups.listMembers 2023-11-09 11:53:17 -05:00
Julian Lam
b61e814787 refactor(socket.io): deprecate socketGroups.loadMore in favour of api.groups.list 2023-11-09 11:53:17 -05:00
Julian Lam
54a08087cb chore: add in note at top of files ready for deletion in v4 2023-11-09 11:53:17 -05:00
Misty Release Bot
9d77857233 Latest translations and fallbacks 2023-11-09 09:18:51 +00:00
renovate[bot]
d1a7ba35a7 chore(deps): update dependency eslint to v8.53.0 (#12151)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-08 15:50:35 -05:00
Barış Soner Uşaklı
c73df36d81 Merge branch 'master' into develop 2023-11-08 15:38:15 -05:00
Misty Release Bot
ab05cc1c74 Latest translations and fallbacks 2023-11-08 09:18:43 +00:00
renovate[bot]
50aa1a7c5a fix(deps): update dependency helmet to v7.1.0 (#12155)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-07 12:53:02 -05:00
renovate[bot]
2eff691299 chore(deps): update redis docker tag to v7.2.3 (#12152)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-07 12:52:48 -05:00
renovate[bot]
0e9eafa191 fix(deps): update dependency async to v3.2.5 (#12150)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-07 12:52:19 -05:00
renovate[bot]
b489af0662 fix(deps): update dependency nodebb-theme-persona to v13.2.44 (#12149)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-07 12:51:57 -05:00
Misty Release Bot
94777927ff chore(i18n): fallback strings for new resources: nodebb.admin-settings-chat, nodebb.admin-settings-post, nodebb.admin-settings-user 2023-11-07 17:37:34 +00:00
Barış Soner Uşaklı
fdff165e2b feat: closes #12154, add exempt groups
for new user restrictions
2023-11-07 12:36:40 -05:00
Barış Soner Uşaklı
119c3362ff feat: update moved keys 2023-11-07 11:37:21 -05:00
Barış Soner Uşaklı
3d505c5c9d feat: move new user restrrictions 2023-11-07 11:32:51 -05:00
Barış Soner Uşaklı
f4bbc5bd3f fix: another missing state 2023-11-07 10:49:42 -05:00
Barış Soner Uşaklı
3b91e8e27f fix: add missing tracking 2023-11-07 10:49:06 -05:00
Misty Release Bot
519bc67066 Latest translations and fallbacks 2023-11-07 09:18:45 +00:00
Misty Release Bot
36c5025e4b Latest translations and fallbacks 2023-11-04 09:18:20 +00:00
Misty Release Bot
29b3a4038f chore(i18n): fallback strings for new resources: nodebb.admin-settings-user, nodebb.category, nodebb.notifications 2023-11-03 17:28:52 +00:00
renovate[bot]
77b0baeace fix(deps): update dependency nodebb-theme-harmony to v1.1.95 (#12148)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-03 12:50:12 -04:00
Barış Soner Uşaklı
84fed97b41 feat: add tracking categories and make watching send notifications (#12147)
* feat: add tracking categories and make watching send notifications

upgrade script to change the defaults

* add missing spec

* test: one more spec
2023-11-03 12:49:17 -04:00
Julian Lam
f8cc8548bb docs: fix improper verbiage in category watch schema 2023-11-03 10:41:53 -04:00
Barış Soner Uşaklı
1b8dcbc2d7 chore: up harmony 2023-11-02 15:44:45 -04:00
Julian Lam
a5e3754b90 fix: bump harmony 2023-11-02 15:04:24 -04:00
Misty Release Bot
6c54f36feb Latest translations and fallbacks 2023-11-02 09:18:39 +00:00
renovate[bot]
4e23d0d12e fix(deps): update dependency connect-pg-simple to v9.0.1 (#12144)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-01 19:23:22 -04:00
Julian Lam
4601a6f7fe fix: #12133 dropdown menus on mobile stay open during ajaxify 2023-11-01 14:15:21 -04:00
Julian Lam
b4297cd8f0 fix: update ajaxifyTimer logic to only drop the request if the URL is the same as the one it's already processing
re: #12133
2023-11-01 14:15:21 -04:00
Misty Release Bot
4a5ab081f6 Latest translations and fallbacks 2023-11-01 09:18:51 +00:00
Julian Lam
cefd4061ca fix: #12141, use apiv3 for category search module 2023-10-31 16:41:32 -04:00
Misty Release Bot
7d8f700f56 chore(i18n): fallback strings for new resources: nodebb.error 2023-10-31 15:33:11 +00:00
Barış Soner Uşaklı
161526f7f2 Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2023-10-31 11:32:45 -04:00
Barış Soner Uşaklı
d8d26c9f57 feat: add new lang string for minutes 2023-10-31 11:32:43 -04:00
Julian Lam
4ffe041732 docs: openapi schema for api.search.categories 2023-10-31 11:32:07 -04:00
Julian Lam
581516c88e fix: made parentCid optional in api.search.categories 2023-10-31 11:32:07 -04:00
Julian Lam
00de9d5b07 refactor(socket.io): deprecate categories.categorySearch in favour of api.search.categories
THIS IS WIP
2023-10-31 11:32:07 -04:00
Julian Lam
1ce4ca54da refactor(socket.io): deprecate categories.loadMore in favour of api.categories.getTopics 2023-10-31 11:32:07 -04:00
Julian Lam
5399e86af1 docs(socket.io): openapi schema for remaining added routes 2023-10-31 11:32:07 -04:00
Julian Lam
54000aabf5 fix(socket.io): update getPosts controller to return object containing posts instead of straight array 2023-10-31 11:32:07 -04:00
Julian Lam
f279bca038 docs(socket.io): added schema for new routes 2023-10-31 11:32:07 -04:00
Julian Lam
010727f5cb refactor(socket.io): deprecate categories.loadMoreSubCategories in favour of api.categories.getChildren 2023-10-31 11:32:07 -04:00
Julian Lam
d7c6b3d60e refactor(socket.io): deprecate categories.setWatchState in favour of api.categories.setWatchState 2023-10-31 11:32:07 -04:00
Julian Lam
f1dbfaa283 chore(socket.io): deprecate categories.(isModerator|ignore|watch|getSelectCategories|getMoveCategories|getCategoriesByPrivilege) 2023-10-31 11:32:07 -04:00
Julian Lam
c442b6e662 refactor(socket.io): deprecate categories.getTopicCount in favour of api.categories.getTopicCount 2023-10-31 11:32:07 -04:00
Julian Lam
96046373da refactor(socket.io): deprecate categories.get in favour of api.categories.list 2023-10-31 11:32:07 -04:00
Julian Lam
52b78e83a8 refactor(socket.io): deprecate categories.getRecentReplies in favour of api.categories.getPosts 2023-10-31 11:32:07 -04:00
Misty Release Bot
8393113851 chore(i18n): fallback strings for new resources: nodebb.modules 2023-10-31 14:15:30 +00:00
Barış Soner Uşaklı
4c4f3ac983 feat: add direct message link (#12138)
* feat: add direct message link

/message/:mid
add /:index? to chat routes
add copy link to chat messages
add messageCount to each room object
add infinitescroll in both directions to chat

* fix more tests

* test: more text fixes

* test: fix tests

* remove async

* dont crash if element not in dom

clamp scrollToIndex values to 0, msgCount
2023-10-31 10:15:06 -04:00
Misty Release Bot
7a8c27bf90 Latest translations and fallbacks 2023-10-31 09:18:34 +00:00
renovate[bot]
91e45fa26d fix(deps): update dependency nodebb-theme-persona to v13.2.43 (#12140)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-30 22:41:07 -04:00
renovate[bot]
97016f4780 chore(deps): update commitlint monorepo to v18 (#12105)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-30 22:40:55 -04:00
renovate[bot]
a3452c8f39 fix(deps): update dependency nodebb-theme-harmony to v1.1.92 (#12131)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-30 22:40:34 -04:00
renovate[bot]
29a59b90a2 fix(deps): update dependency nodebb-theme-peace to v2.1.24 (#12139)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-30 22:40:14 -04:00
renovate[bot]
2337d64194 fix(deps): update dependency spdx-license-list to v6.8.0 2023-10-30 14:01:05 -04:00
renovate[bot]
cdb407194a fix(deps): update dependency nodebb-plugin-composer-default to v10.2.25 (#12136)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-30 10:48:44 -04:00
renovate[bot]
2fb3af3cfe fix(deps): update dependency cron to v3.1.6 (#12132)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-30 10:48:07 -04:00
renovate[bot]
6b28f1dc1a fix(deps): update dependency ace-builds to v1.31.1 (#12135)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-30 10:47:51 -04:00
Barış Soner Uşaklı
d3fb339c37 derp 2023-10-28 20:44:51 -04:00
Barış Soner Uşaklı
21c4779c93 Merge branch 'master' into develop 2023-10-28 13:42:14 -04:00
Misty Release Bot
3210ace6ae Latest translations and fallbacks 2023-10-28 09:18:17 +00:00
Barış Soner Uşaklı
87a859aa93 feat: closes #5584, setup winston to output to file
on upgrade
2023-10-27 19:27:00 -04:00
Julian Lam
022fa0e75f fix: don't count internal links towards link count when restricting new users from posting links 2023-10-26 11:18:23 -04:00
Barış Soner Uşaklı
4693f8bf1e Merge branch 'master' into develop 2023-10-26 11:15:53 -04:00
renovate[bot]
9bed7646d2 fix(deps): update dependency workerpool to v8 (#12121)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-26 10:24:10 -04:00
renovate[bot]
9e8a21167b chore(deps): update dependency sass-embedded to v1.69.5 (#12127)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-26 10:23:55 -04:00
renovate[bot]
b351c00a7d fix(deps): update dependency sass to v1.69.5 (#12128)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-26 10:23:47 -04:00
Barış Soner Uşaklı
6c7e614417 feat: batch.processSortedSet min/max (#12129)
* feat: batch.processSortedSet min/max

* test if this works
2023-10-26 10:23:27 -04:00
Barış Soner Uşaklı
075cd598d1 fix: closes #12126, fix language keys 2023-10-25 19:06:29 -04:00
Barış Soner Uşaklı
23629e9025 Merge branch 'master' into develop 2023-10-25 15:53:54 -04:00
Barış Soner Uşaklı
e5a60dc857 fix: param 2023-10-25 13:40:15 -04:00
Barış Soner Uşaklı
dabc282dde refactor: move async call to parallel 2023-10-25 13:25:55 -04:00
Julian Lam
6a696c43a3 fix: handle public chat rooms too 2023-10-25 13:23:01 -04:00
Julian Lam
18c27d1ad3 fix: suppress chat message notifications for users who are known to be in the chat room (uid is present in the corresponding socket.io room) 2023-10-25 13:23:01 -04:00
673 changed files with 8399 additions and 7244 deletions

10
.dockerignore Normal file
View File

@@ -0,0 +1,10 @@
.*
logs
test
node_modules
commitlint.config.js
nodebb.bat
renovate.json
*.yml
*.md
Dockerfile

View File

@@ -18,3 +18,4 @@ logs/
.eslintrc
test/files
*.min.js
install/docker/

View File

@@ -52,10 +52,10 @@ jobs:
- name: Build and push Docker images
uses: docker/build-push-action@v5
with:
context: .
file: ./Dockerfile
push: true
tags: ${{ steps.meta.outputs.tags }}
platforms: linux/amd64,linux/arm64,linux/arm/v7
cache-from: type=gha
cache-to: type=gha,mode=max
context: .
file: ./Dockerfile
platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true
tags: ${{ steps.meta.outputs.tags }}

View File

@@ -63,7 +63,7 @@ jobs:
- 5432:5432
redis:
image: 'redis:7.2.2'
image: 'redis:7.2.3'
# Set health checks to wait until redis has started
options: >-
--health-cmd "redis-cli ping"

4
.gitignore vendored
View File

@@ -69,4 +69,6 @@ package-lock.json
/package.json
*.mongodb
link-plugins.sh
test.sh
test.sh
.docker/

View File

@@ -1,3 +1,421 @@
#### v3.6.3 (2024-01-12)
##### Chores
* incrementing version number - v3.6.2 (0f577a57)
* update changelog for v3.6.2 (82a936c3)
* incrementing version number - v3.6.1 (f1a69468)
* incrementing version number - v3.6.0 (4cdf85f8)
* incrementing version number - v3.5.3 (ed0e8783)
* incrementing version number - v3.5.2 (52fbb2da)
* incrementing version number - v3.5.1 (4c543488)
* incrementing version number - v3.5.0 (d06fb4f0)
* incrementing version number - v3.4.3 (5c984250)
* incrementing version number - v3.4.2 (3f0dac38)
* incrementing version number - v3.4.1 (01e69574)
* incrementing version number - v3.4.0 (fd9247c5)
* incrementing version number - v3.3.9 (5805e770)
* incrementing version number - v3.3.8 (a5603565)
* incrementing version number - v3.3.7 (b26f1744)
* incrementing version number - v3.3.6 (7fb38792)
* incrementing version number - v3.3.4 (a67f84ea)
* incrementing version number - v3.3.3 (f94d239b)
* incrementing version number - v3.3.2 (ec9dac97)
* incrementing version number - v3.3.1 (151cc68f)
* incrementing version number - v3.3.0 (fc1ad70f)
* incrementing version number - v3.2.3 (b06d3e63)
* incrementing version number - v3.2.2 (758ecfcd)
* incrementing version number - v3.2.1 (20145074)
* incrementing version number - v3.2.0 (9ecac38e)
* incrementing version number - v3.1.7 (0b4e81ab)
* incrementing version number - v3.1.6 (b3a3b130)
* incrementing version number - v3.1.5 (ec19343a)
* incrementing version number - v3.1.4 (2452783c)
* incrementing version number - v3.1.3 (3b4e9d3f)
* incrementing version number - v3.1.2 (40fa3489)
* incrementing version number - v3.1.1 (40250733)
* incrementing version number - v3.1.0 (0cb386bd)
* incrementing version number - v3.0.1 (26f6ea49)
* incrementing version number - v3.0.0 (224e08cd)
##### Bug Fixes
* #12275, pin sharp to 0.32.6 (f3927ce7)
* topic event translations closes #12273 (5f91cc83)
#### v3.6.2 (2024-01-10)
##### Chores
* up composer (ef8f8db7)
* up harmony (2bed405c)
* up harmony (b6dbe1a6)
* up lavender (16f0affa)
* up themes (980bfee8)
* incrementing version number - v3.6.1 (f1a69468)
* update changelog for v3.6.1 (1e4abdbf)
* incrementing version number - v3.6.0 (4cdf85f8)
* incrementing version number - v3.5.3 (ed0e8783)
* incrementing version number - v3.5.2 (52fbb2da)
* incrementing version number - v3.5.1 (4c543488)
* incrementing version number - v3.5.0 (d06fb4f0)
* incrementing version number - v3.4.3 (5c984250)
* incrementing version number - v3.4.2 (3f0dac38)
* incrementing version number - v3.4.1 (01e69574)
* incrementing version number - v3.4.0 (fd9247c5)
* incrementing version number - v3.3.9 (5805e770)
* incrementing version number - v3.3.8 (a5603565)
* incrementing version number - v3.3.7 (b26f1744)
* incrementing version number - v3.3.6 (7fb38792)
* incrementing version number - v3.3.4 (a67f84ea)
* incrementing version number - v3.3.3 (f94d239b)
* incrementing version number - v3.3.2 (ec9dac97)
* incrementing version number - v3.3.1 (151cc68f)
* incrementing version number - v3.3.0 (fc1ad70f)
* incrementing version number - v3.2.3 (b06d3e63)
* incrementing version number - v3.2.2 (758ecfcd)
* incrementing version number - v3.2.1 (20145074)
* incrementing version number - v3.2.0 (9ecac38e)
* incrementing version number - v3.1.7 (0b4e81ab)
* incrementing version number - v3.1.6 (b3a3b130)
* incrementing version number - v3.1.5 (ec19343a)
* incrementing version number - v3.1.4 (2452783c)
* incrementing version number - v3.1.3 (3b4e9d3f)
* incrementing version number - v3.1.2 (40fa3489)
* incrementing version number - v3.1.1 (40250733)
* incrementing version number - v3.1.0 (0cb386bd)
* incrementing version number - v3.0.1 (26f6ea49)
* incrementing version number - v3.0.0 (224e08cd)
##### New Features
* #12247 (0af19afd)
##### Bug Fixes
* recent loading (d3d6d77d)
* closes #12246, direction is passed in as string as query param with new api call (8867f243)
* stricter selector for sort (a74b5141)
##### Performance Improvements
* dont load all followed tids on unread/recent?filter=watched (563e03b6)
#### v3.6.1 (2023-12-22)
##### Chores
* incrementing version number - v3.6.0 (4cdf85f8)
* update changelog for v3.6.0 (eb92cee6)
* incrementing version number - v3.5.3 (ed0e8783)
* incrementing version number - v3.5.2 (52fbb2da)
* incrementing version number - v3.5.1 (4c543488)
* incrementing version number - v3.5.0 (d06fb4f0)
* incrementing version number - v3.4.3 (5c984250)
* incrementing version number - v3.4.2 (3f0dac38)
* incrementing version number - v3.4.1 (01e69574)
* incrementing version number - v3.4.0 (fd9247c5)
* incrementing version number - v3.3.9 (5805e770)
* incrementing version number - v3.3.8 (a5603565)
* incrementing version number - v3.3.7 (b26f1744)
* incrementing version number - v3.3.6 (7fb38792)
* incrementing version number - v3.3.4 (a67f84ea)
* incrementing version number - v3.3.3 (f94d239b)
* incrementing version number - v3.3.2 (ec9dac97)
* incrementing version number - v3.3.1 (151cc68f)
* incrementing version number - v3.3.0 (fc1ad70f)
* incrementing version number - v3.2.3 (b06d3e63)
* incrementing version number - v3.2.2 (758ecfcd)
* incrementing version number - v3.2.1 (20145074)
* incrementing version number - v3.2.0 (9ecac38e)
* incrementing version number - v3.1.7 (0b4e81ab)
* incrementing version number - v3.1.6 (b3a3b130)
* incrementing version number - v3.1.5 (ec19343a)
* incrementing version number - v3.1.4 (2452783c)
* incrementing version number - v3.1.3 (3b4e9d3f)
* incrementing version number - v3.1.2 (40fa3489)
* incrementing version number - v3.1.1 (40250733)
* incrementing version number - v3.1.0 (0cb386bd)
* incrementing version number - v3.0.1 (26f6ea49)
* incrementing version number - v3.0.0 (224e08cd)
##### Bug Fixes
* #12243, don' set process.env.config if it doesnt exist (788404c1)
* lang key for move notification closes #12241 (48a2b5f7)
* dont send topic notification to poster (e72b26f5)
#### v3.6.0 (2023-12-20)
##### Chores
* **i18n:**
* fallback strings for new resources: nodebb.error (d3cfa1b7)
* fallback strings for new resources: nodebb.post-queue (64fe1278)
* fallback strings for new resources: nodebb.post-queue (f98205c1)
* fallback strings for new resources: nodebb.social (081352b6)
* fallback strings for new resources: nodebb.modules (4fe84ae8)
* fallback strings for new resources: nodebb.admin-settings-chat, nodebb.admin-settings-post, nodebb.admin-settings-user (94777927)
* fallback strings for new resources: nodebb.admin-settings-user, nodebb.category, nodebb.notifications (29b3a403)
* fallback strings for new resources: nodebb.error (7d8f700f)
* fallback strings for new resources: nodebb.modules (83931138)
* make error:email-taken slightly more descriptive (dd0743d3)
* up harmony (250cc771)
* up harmony (9324a75c)
* incrementing version number - v3.5.3 (ed0e8783)
* update changelog for v3.5.3 (e49ddaf8)
* up harmony (dbbf3a2c)
* up harmony (e4656bd4)
* incrementing version number - v3.5.2 (52fbb2da)
* up themes (0ec9d4c3)
* added missing deprecation warning for .getTopics (9079ad0b)
* update note at top of file (2de534fa)
* up dbsearch (b6981693)
* up themes (9a1f8e9b)
* incrementing version number - v3.5.1 (4c543488)
* up themes (ed10dda2)
* up composer (22d7e92f)
* up themes (fcdd3737)
* v4 note for deprecations (f4c36b84)
* minor re-order of routes/controllers in admin api v3 router/controller (181a9399)
* add in note at top of files ready for deletion in v4 (54a08087)
* up harmony (1b8dcbc2)
* incrementing version number - v3.5.0 (d06fb4f0)
* incrementing version number - v3.4.3 (5c984250)
* incrementing version number - v3.4.2 (3f0dac38)
* incrementing version number - v3.4.1 (01e69574)
* incrementing version number - v3.4.0 (fd9247c5)
* incrementing version number - v3.3.9 (5805e770)
* incrementing version number - v3.3.8 (a5603565)
* incrementing version number - v3.3.7 (b26f1744)
* incrementing version number - v3.3.6 (7fb38792)
* incrementing version number - v3.3.4 (a67f84ea)
* incrementing version number - v3.3.3 (f94d239b)
* incrementing version number - v3.3.2 (ec9dac97)
* incrementing version number - v3.3.1 (151cc68f)
* incrementing version number - v3.3.0 (fc1ad70f)
* incrementing version number - v3.2.3 (b06d3e63)
* incrementing version number - v3.2.2 (758ecfcd)
* incrementing version number - v3.2.1 (20145074)
* incrementing version number - v3.2.0 (9ecac38e)
* incrementing version number - v3.1.7 (0b4e81ab)
* incrementing version number - v3.1.6 (b3a3b130)
* incrementing version number - v3.1.5 (ec19343a)
* incrementing version number - v3.1.4 (2452783c)
* incrementing version number - v3.1.3 (3b4e9d3f)
* incrementing version number - v3.1.2 (40fa3489)
* incrementing version number - v3.1.1 (40250733)
* incrementing version number - v3.1.0 (0cb386bd)
* incrementing version number - v3.0.1 (26f6ea49)
* incrementing version number - v3.0.0 (224e08cd)
* **deps:**
* update dependency eslint-plugin-import to v2.29.1 (#12229) (055b7597)
* update dependency eslint to v8.56.0 (#12231) (a7dd0f92)
* update dependency eslint to v8.55.0 (#12203) (32a403b2)
* update dependency lint-staged to v15.2.0 (#12210) (9763e97f)
* update dependency jsdom to v23.0.1 (#12196) (a50b141f)
* update dependency jsdom to v23 (#12186) (8c0472a0)
* update commitlint monorepo to v18.4.3 (#12177) (fd5d7b65)
* update dependency eslint to v8.54.0 (#12172) (b6275453)
* update commitlint monorepo to v18.4.2 (#12169) (d6a92d4c)
* update postgres docker tag to v16.1 (#12167) (616ff573)
* update mongo docker tag to v7 (#12166) (5f8a4f3a)
* update redis docker tag to v7.2.3 (#12165) (c41f9a75)
* update dependency lint-staged to v15.1.0 (#12161) (1796ed2b)
* update dependency @commitlint/cli to v18.4.1 (#12162) (be3d3393)
* update commitlint monorepo to v18.4.0 (#12159) (128c24f2)
* update dependency eslint to v8.53.0 (#12151) (d1a7ba35)
* update redis docker tag to v7.2.3 (#12152) (2eff6912)
* update commitlint monorepo to v18 (#12105) (97016f47)
* update dependency sass-embedded to v1.69.5 (#12127) (9e8a2116)
* **socket.io:** deprecate categories.(isModerator|ignore|watch|getSelectCategories|getMoveCategories|getCategoriesByPrivilege) (f1dbfaa2)
##### Documentation Changes
* fix improper verbiage in category watch schema (f8cc8548)
* openapi schema for api.search.categories (4ffe0417)
* **socket.io:**
* openapi schema for remaining added routes (5399e86a)
* added schema for new routes (f279bca0)
##### New Features
* add 500 page for missing tpls, closes #12230 (06221a0d)
* remove gif exif stripping exception (f8219aa6)
* update groups.leave to allow global mods to kick users out of groups (2c6024e0)
* better layout for manage chat room modal (f4faa0b7)
* update Messaging.toggleOwner to optionally take a third `state` argument (932bd292)
* new language strings for post-queue page (5d03321e)
* add some new social share buttons (ace171a6)
* docker improvements (#12031) (7f3a9968)
* closes #12158, add sortable rewards (5ea7dec9)
* add copy text (4b2491be)
* closes #12154, add exempt groups (fdff165e)
* update moved keys (119c3362)
* move new user restrrictions (3d505c5c)
* add tracking categories and make watching send notifications (#12147) (84fed97b)
* add new lang string for minutes (d8d26c9f)
* add direct message link (#12138) (4c4f3ac9)
* closes #5584, setup winston to output to file (87a859aa)
* batch.processSortedSet min/max (#12129) (6c7e6144)
##### Bug Fixes
* fix display post history (dc975838)
* update isJSON test in request lib (506d7be5)
* 503 rendering on ajaxify (f7e0fd0b)
* #12227, fix crash in redirect (2dc1def5)
* deprecated emailer hook (565ca3cc)
* extract all pages when stripping metadata (0b3eb6c0)
* incorrect call to load additional group members (78835ebb)
* closes #12185, fix cli user password reset (b9050139)
* don't require login for listing categories (50a90f8e)
* #12183, remove ensureLoggedIn middleware (0a4f3c8a)
* remove unused requires (b5940a5d)
* remove lodash require (f9c471a0)
* #12171, bump harmony (89a1134c)
* update design of post-queue (41bdc9e8)
* update post-queue template for #12171 (63ba4986)
* language key (4c7c46f3)
* another missing state (f4bbc5bd)
* add missing tracking (3b91e8e2)
* bump harmony (a5e3754b)
* #12133 dropdown menus on mobile stay open during ajaxify (4601a6f7)
* update ajaxifyTimer logic to only drop the request if the URL is the same as the one it's already processing (b4297cd8)
* #12141, use apiv3 for category search module (cefd4061)
* made parentCid optional in api.search.categories (581516c8)
* don't count internal links towards link count when restricting new users from posting links (022fa0e7)
* closes #12126, fix language keys (075cd598)
* param (e5a60dc8)
* handle public chat rooms too (6a696c43)
* suppress chat message notifications for users who are known to be in the chat room (uid is present in the corresponding socket.io room) (18c27d1a)
* **deps:**
* update dependency workerpool to v9 (#12234) (2cccbcf6)
* update dependency sharp to v0.33.1 (#12233) (45143000)
* update dependency csrf-sync to v4.0.3 (#12232) (9e2a6f86)
* update dependency ace-builds to v1.32.2 (#12228) (b6ca117a)
* update dependency ace-builds to v1.32.1 (#12226) (6036d144)
* update dependency esbuild to v0.19.9 (#12224) (d96d4d09)
* update dependency @fontsource/inter to v5.0.16 (#12219) (e32eb8b3)
* update dependency chart.js to v4.4.1 (#12217) (b6b569c0)
* update dependency nodebb-theme-persona to v13.2.49 (#12218) (6dab99fd)
* update dependency postcss to v8.4.32 (#12204) (da879704)
* update dependency @fortawesome/fontawesome-free to v6.5.1 (#12198) (b41c7f2a)
* update dependency nodebb-theme-harmony to v1.1.101 (#12199) (72d6a4b1)
* update dependency sortablejs to v1.15.1 (#12200) (cd625705)
* update dependency ace-builds to v1.32.0 (#12197) (75f063ba)
* update dependency @fortawesome/fontawesome-free to v6.5.0 (#12193) (a94f4a48)
* update dependency sharp to v0.33.0 (#12194) (1f287c74)
* update dependency fs-extra to v11.2.0 (#12191) (4eaf2320)
* update dependency passport to v0.7.0 (#12190) (bbf7c5e1)
* update dependency esbuild to v0.19.8 (#12187) (bc59856e)
* update dependency lru-cache to v10.1.0 (#12181) (22932bdb)
* update dependency esbuild to v0.19.7 (#12176) (00cb5839)
* update dependency lru-cache to v10.0.3 (#12175) (c404ef73)
* update dependency ace-builds to v1.31.2 (#12168) (b4a41af9)
* update dependency mongodb to v6.3.0 (#12170) (85936a59)
* update dependency lru-cache to v10.0.2 (#12160) (9d18d3c7)
* update dependency helmet to v7.1.0 (#12155) (50aa1a7c)
* update dependency async to v3.2.5 (#12150) (0e9eafa1)
* update dependency nodebb-theme-persona to v13.2.44 (#12149) (b489af06)
* update dependency nodebb-theme-harmony to v1.1.95 (#12148) (77b0baea)
* update dependency connect-pg-simple to v9.0.1 (#12144) (4e23d0d1)
* update dependency nodebb-theme-persona to v13.2.43 (#12140) (91e45fa2)
* update dependency nodebb-theme-harmony to v1.1.92 (#12131) (a3452c8f)
* update dependency nodebb-theme-peace to v2.1.24 (#12139) (29a59b90)
* update dependency spdx-license-list to v6.8.0 (2337d641)
* update dependency nodebb-plugin-composer-default to v10.2.25 (#12136) (cdb40719)
* update dependency cron to v3.1.6 (#12132) (2fb3af3c)
* update dependency ace-builds to v1.31.1 (#12135) (6b28f1dc)
* update dependency workerpool to v8 (#12121) (9bed7646)
* update dependency sass to v1.69.5 (#12128) (b351c00a)
* **socket.io:** update getPosts controller to return object containing posts instead of straight array (54000aab)
##### Other Changes
* **socket.io:** deprecate socketGroups.getChatGroups in favour of api.admin.listGroups (dc4cc74f)
##### Refactors
* line breaks good (4e560ade)
* replace deprecated call with api call (f91b823e)
* move async call to parallel (dabc282d)
* **socket.io:**
* deprecate SocketModules.chats.typing in favour of api.chats.toggleTyping (c1e6be77)
* deprecate SocketModules.chats.loadPinnedMessages in favour of api.chats.getPinnedMessages" (401e8636)
* deprecate SocketModules.chats.searchMessages in favour of api.search.roomMessages (f9dc3502)
* deprecate SocketModules.chats.setNotificationSetting in favour of api.chats.watch (75c8cda1)
* deprecated SocketModules.chats.toggleOwner in favour of api.chats.toggleOwner (b13c6ee4)
* deprecated SocketModules.chats.searchMembers in favour of api.search.roomUsers (6e952263)
* deprecate SocketModules.sortPublicRooms in favour of api.chats.sortPublicRooms (62b7dfd4)
* deprecate SocketModules.chat.getUnreadCount in favour of api.chats.getUnread (5eaffb42)
* deprecate SocketModules.chats.getIP in favour of api.chats.getIpAddress (214989a8)
* deprecate SocketModules.chats.hasPrivateChat in favour of api.users.getPrivateRoomId (0d3c94e6)
* deprecate SocketModules.chats.canMessage and .markAllRead with no alternative. deprecate .getRecentChats in favour of api.chats.list (a4133500)
* deprecate SocketModules.chats.isDnD in favour of api.users.getStatus (eebea4df)
* deprecate SocketModules.chats.getRaw in favour of api.chats.getRawMessage (c4b4e79b)
* deprecate socketGroups.loadMoreMembers in favour of api.groups.listMembers (807d778c)
* deprecate socketGroups.searchMembers in favour of api.groups.listMembers (d2f3333a)
* deprecate socketGroups.loadMore in favour of api.groups.list (b61e8147)
* deprecate categories.categorySearch in favour of api.search.categories (00de9d5b)
* deprecate categories.loadMore in favour of api.categories.getTopics (1ce4ca54)
* deprecate categories.loadMoreSubCategories in favour of api.categories.getChildren (010727f5)
* deprecate categories.setWatchState in favour of api.categories.setWatchState (d7c6b3d6)
* deprecate categories.getTopicCount in favour of api.categories.getTopicCount (c442b6e6)
* deprecate categories.get in favour of api.categories.list (96046373)
* deprecate categories.getRecentReplies in favour of api.categories.getPosts (52b78e83)
##### Tests
* migrate socket modules tests to v3 api (445b70de)
* migrate socket.io groups tests to use api v3 (2c1c4dfe)
#### v3.5.3 (2023-12-13)
##### Chores
* up composer (245e5df3)
* up composer default (c1f82b78)
* incrementing version number - v3.5.2 (52fbb2da)
* update changelog for v3.5.2 (e2e85053)
* incrementing version number - v3.5.1 (4c543488)
* incrementing version number - v3.5.0 (d06fb4f0)
* incrementing version number - v3.4.3 (5c984250)
* incrementing version number - v3.4.2 (3f0dac38)
* incrementing version number - v3.4.1 (01e69574)
* incrementing version number - v3.4.0 (fd9247c5)
* incrementing version number - v3.3.9 (5805e770)
* incrementing version number - v3.3.8 (a5603565)
* incrementing version number - v3.3.7 (b26f1744)
* incrementing version number - v3.3.6 (7fb38792)
* incrementing version number - v3.3.4 (a67f84ea)
* incrementing version number - v3.3.3 (f94d239b)
* incrementing version number - v3.3.2 (ec9dac97)
* incrementing version number - v3.3.1 (151cc68f)
* incrementing version number - v3.3.0 (fc1ad70f)
* incrementing version number - v3.2.3 (b06d3e63)
* incrementing version number - v3.2.2 (758ecfcd)
* incrementing version number - v3.2.1 (20145074)
* incrementing version number - v3.2.0 (9ecac38e)
* incrementing version number - v3.1.7 (0b4e81ab)
* incrementing version number - v3.1.6 (b3a3b130)
* incrementing version number - v3.1.5 (ec19343a)
* incrementing version number - v3.1.4 (2452783c)
* incrementing version number - v3.1.3 (3b4e9d3f)
* incrementing version number - v3.1.2 (40fa3489)
* incrementing version number - v3.1.1 (40250733)
* incrementing version number - v3.1.0 (0cb386bd)
* incrementing version number - v3.0.1 (26f6ea49)
* incrementing version number - v3.0.0 (224e08cd)
##### Bug Fixes
* change translator escape (c434262e)
##### Other Changes
* add types for database abstration layer (#10762) (17cd19c7)
#### v3.5.2 (2023-11-29)
##### Chores

View File

@@ -13,29 +13,39 @@ USER node
RUN npm install --omit=dev
FROM node:lts as rebuild
FROM node:lts
ARG BUILDPLATFORM
ARG TARGETPLATFORM
RUN mkdir -p /usr/src/app && \
chown -R node:node /usr/src/app
WORKDIR /usr/src/app
RUN mkdir -p /usr/src/build && \
chown -R node:node /usr/src/build
COPY --from=npm /usr/src/build /usr/src/build
RUN if [ $BUILDPLATFORM != $TARGETPLATFORM ]; then \
npm rebuild && \
npm cache clean --force; fi
FROM node:lts-slim as run
ARG NODE_ENV
ENV NODE_ENV $NODE_ENV
COPY --chown=node:node --from=npm /usr/src/build /usr/src/app
USER node
RUN npm rebuild && \
npm cache clean --force
COPY --chown=node:node . /usr/src/app
ENV NODE_ENV=production \
ENV NODE_ENV=$NODE_ENV \
daemon=false \
silent=false
EXPOSE 4567
RUN mkdir -p /usr/src/app && \
chown -R node:node /usr/src/app
CMD test -n "${SETUP}" && ./nodebb setup || node ./nodebb build; node ./nodebb start
COPY --chown=node:node --from=rebuild /usr/src/build /usr/src/app
WORKDIR /usr/src/app
USER node
COPY --chown=node:node . /usr/src/app
EXPOSE 4567
VOLUME ["/usr/src/app/node_modules", "/usr/src/app/build", "/usr/src/app/public/uploads", "/opt/config"]
ENTRYPOINT ["./install/docker/entrypoint.sh"]

View File

@@ -46,7 +46,8 @@ NodeBB requires the following software to be installed:
## Installation
[Please refer to platform-specific installation documentation](https://docs.nodebb.org/installing/os)
[Please refer to platform-specific installation documentation](https://docs.nodebb.org/installing/os).
If installing via the cloud (or using Docker), [please see cloud-based installation documentation](https://docs.nodebb.org/installing/cloud/).
## Securing NodeBB
@@ -59,6 +60,7 @@ It is important to ensure that your NodeBB and database servers are secured. Bea
2. Use `iptables` to secure your server from unintended open ports. In Ubuntu, `ufw` provides a friendlier interface to working with `iptables`.
* e.g. If your NodeBB is proxied, no ports should be open except 80 (and possibly 22, for SSH access)
## Upgrading NodeBB
Detailed upgrade instructions are listed in [Upgrading NodeBB](https://docs.nodebb.org/configuring/upgrade/)

View File

@@ -1,24 +1,55 @@
version: '3.5'
version: '3.8'
services:
node:
nodebb:
build: .
restart: unless-stopped
depends_on:
- db
expose:
- 4567 # use a reverse proxy like Traefik
db:
image: mongo:bionic
ports:
- "4567:4567/tcp" # comment this out if you don't want to expose NodeBB to the host, or change the first number to any port you want
# uncomment if you want to use another container as a reverse proxy
# expose:
# - 4567
volumes:
- ./.docker/build:/usr/src/app/build
- ./.docker/public/uploads:/usr/src/app/public/uploads
- ./.docker:/opt/config
- ./install/docker/setup.json:/usr/src/app/setup.json
mongo:
image: "mongo:7-jammy"
restart: unless-stopped
expose:
- 27017
- "27017"
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: root
MONGO_INITDB_ROOT_USERNAME: nodebb
MONGO_INITDB_ROOT_PASSWORD: nodebb
MONGO_INITDB_DATABASE: nodebb
volumes:
- mongo:/data/db
volumes:
mongo:
- ./.docker/database/mongo/config:/etc/mongo
- ./.docker/database/mongo/data:/data/db
- ./install/docker/mongodb-user-init.js:/docker-entrypoint-initdb.d/user-init.js
profiles:
- mongo
postgres:
image: postgres:16.1-alpine
restart: unless-stopped
expose:
- "5432"
environment:
POSTGRES_USER: nodebb
POSTGRES_PASSWORD: nodebb
POSTGRES_DB: nodebb
volumes:
- ./.docker/database/postgresql/data:/var/lib/postgresql/data
profiles:
- postgres
redis:
image: redis:7.2.3-alpine
restart: unless-stopped
command: ["redis-server", "--appendonly", "yes", "--loglevel", "warning"]
# command: ["redis-server", "--save", "60", "1", "--loglevel", "warning"] # uncomment if you want to use snapshotting instead of AOF
expose:
- "6379"
volumes:
- ./.docker/database/redis:/data
profiles:
- redis

View File

@@ -23,10 +23,11 @@
"chatMessageDelay": 2000,
"newbieChatMessageDelay": 120000,
"notificationSendDelay": 60,
"newbiePostDelayThreshold": 3,
"newbieReputationThreshold": 3,
"postQueue": 0,
"postQueueReputationThreshold": 0,
"groupsExemptFromPostQueue": ["administrators", "Global Moderators"],
"groupsExemptFromNewUserRestrictions": ["administrators", "Global Moderators"],
"groupsExemptFromMaintenanceMode": ["administrators", "Global Moderators"],
"minimumPostLength": 8,
"maximumPostLength": 32767,
@@ -41,7 +42,7 @@
"registrationApprovalType": "normal",
"allowAccountDelete": 1,
"privateUploads": 0,
"allowedFileExtensions": "png,jpg,bmp,txt",
"allowedFileExtensions": "png,jpg,bmp,txt,webp,webm,mp4,gif",
"uploadRateLimitThreshold": 10,
"uploadRateLimitCooldown": 60,
"allowUserHomePage": 1,
@@ -187,4 +188,4 @@
"maxReconnectionAttempts": 5,
"reconnectionDelay": 1500,
"disableCustomUserSkins": 0
}
}

46
install/docker/entrypoint.sh Executable file
View File

@@ -0,0 +1,46 @@
#!/bin/bash
export CONFIG_DIR="${CONFIG_DIR:-/opt/config}"
export CONFIG=$CONFIG_DIR/config.json
export FORCE_BUILD_BEFORE_START="${FORCE_BUILD_BEFORE_START:-false}"
# Supported verbs: install (web install), setup (interactive CLI session). Default: web install
# TODO: constraint it using a hash set (or hash table)
export NODEBB_INIT_VERB="${NODEBB_INIT_VERB:-install}"
# Setup variable for backward compatibility, default: <empty>
export SETUP="${SETUP:-}"
mkdir -p $CONFIG_DIR
# if the folder is mounted as a volume this can fail, the check below is to ensure there is still write access
chmod -fR 760 $CONFIG_DIR 2> /dev/null
if [[ ! -w $CONFIG_DIR ]]; then
echo "panic: no write permission for $CONFIG_DIR"
exit 1
fi
[[ -f $CONFIG_DIR/package.json ]] || cp install/package.json $CONFIG_DIR/package.json
[[ -f $CONFIG_DIR/package-lock.json ]] || touch $CONFIG_DIR/package-lock.json
ln -fs $CONFIG_DIR/package.json package.json
ln -fs $CONFIG_DIR/package-lock.json package-lock.json
npm install --omit=dev
if [[ -n $SETUP ]]; then
echo "Setup environmental variable detected"
echo "Starting setup session"
./nodebb setup --config=$CONFIG
elif [ -f $CONFIG ]; then
echo "Config file exist at $CONFIG, assuming it is a valid config"
echo "Starting forum"
if [ "$FORCE_BUILD_BEFORE_START" = true ]; then
./nodebb build --config=$CONFIG
fi
./nodebb start --config=$CONFIG
else
echo "Config file not found at $CONFIG"
echo "Starting installation session"
./nodebb "${NODEBB_INIT_VERB}" --config=$CONFIG
fi

View File

@@ -0,0 +1 @@
db.createUser( { user: 'nodebb', pwd: 'nodebb', roles: [ { role: 'readWrite', db: 'nodebb' }, { role: 'clusterMonitor', db: 'admin' } ] } )

21
install/docker/setup.json Normal file
View File

@@ -0,0 +1,21 @@
{
"mongo": {
"host": "mongo",
"port": 27017,
"database": "nodebb",
"username": "nodebb",
"password": "nodebb"
},
"redis": {
"host": "redis",
"port": 6379,
"database": 0
},
"postgres": {
"host": "postgres",
"port": 5432,
"database": "nodebb",
"username": "nodebb",
"password": "nodebb"
}
}

View File

@@ -2,7 +2,7 @@
"name": "nodebb",
"license": "GPL-3.0",
"description": "NodeBB Forum",
"version": "3.5.3",
"version": "3.6.4",
"homepage": "https://www.nodebb.org",
"repository": {
"type": "git",
@@ -29,14 +29,14 @@
},
"dependencies": {
"@adactive/bootstrap-tagsinput": "0.8.2",
"@fontsource/inter": "5.0.15",
"@fontsource/inter": "5.0.16",
"@fontsource/poppins": "5.0.8",
"@fortawesome/fontawesome-free": "6.4.2",
"@fortawesome/fontawesome-free": "6.5.1",
"@isaacs/ttlcache": "1.4.1",
"@popperjs/core": "2.11.8",
"ace-builds": "1.31.0",
"ace-builds": "1.32.2",
"archiver": "6.0.1",
"async": "3.2.4",
"async": "3.2.5",
"autoprefixer": "10.4.16",
"bcryptjs": "2.4.3",
"benchpressjs": "2.5.1",
@@ -45,7 +45,7 @@
"bootstrap": "5.3.2",
"bootswatch": "5.3.2",
"chalk": "4.1.2",
"chart.js": "4.4.0",
"chart.js": "4.4.1",
"cli-graph": "3.2.2",
"clipboard": "2.0.11",
"colors": "1.4.0",
@@ -55,22 +55,23 @@
"connect-flash": "0.1.1",
"connect-mongo": "5.1.0",
"connect-multiparty": "2.2.0",
"connect-pg-simple": "9.0.0",
"connect-pg-simple": "9.0.1",
"connect-redis": "7.1.0",
"cookie-parser": "1.4.6",
"cron": "3.1.4",
"cron": "3.1.6",
"cropperjs": "1.6.1",
"csrf-sync": "4.0.1",
"csrf-sync": "4.0.3",
"daemon": "1.1.0",
"diff": "5.1.0",
"esbuild": "0.19.5",
"esbuild": "0.19.9",
"express": "4.18.2",
"express-session": "1.17.3",
"express-useragent": "1.0.15",
"fetch-cookie": "2.1.0",
"file-loader": "6.2.0",
"fs-extra": "11.1.1",
"fs-extra": "11.2.0",
"graceful-fs": "4.2.11",
"helmet": "7.0.0",
"helmet": "7.1.0",
"html-to-text": "9.0.5",
"imagesloaded": "5.0.0",
"ipaddr.js": "2.1.0",
@@ -84,17 +85,17 @@
"jsonwebtoken": "9.0.2",
"lodash": "4.17.21",
"logrotate-stream": "0.2.9",
"lru-cache": "10.0.1",
"lru-cache": "10.1.0",
"mime": "3.0.0",
"mkdirp": "3.0.1",
"mongodb": "6.2.0",
"mongodb": "6.3.0",
"morgan": "1.10.0",
"mousetrap": "1.6.5",
"multiparty": "4.2.3",
"nconf": "0.12.1",
"nodebb-plugin-2factor": "7.4.0",
"nodebb-plugin-composer-default": "10.2.29",
"nodebb-plugin-dbsearch": "6.2.2",
"nodebb-plugin-composer-default": "10.2.31",
"nodebb-plugin-dbsearch": "6.2.3",
"nodebb-plugin-emoji": "5.1.13",
"nodebb-plugin-emoji-android": "4.0.0",
"nodebb-plugin-markdown": "12.2.5",
@@ -102,30 +103,28 @@
"nodebb-plugin-ntfy": "1.7.3",
"nodebb-plugin-spam-be-gone": "2.2.0",
"nodebb-rewards-essentials": "1.0.0",
"nodebb-theme-harmony": "1.1.91",
"nodebb-theme-lavender": "7.1.5",
"nodebb-theme-peace": "2.1.23",
"nodebb-theme-persona": "13.2.42",
"nodebb-theme-harmony": "1.1.108",
"nodebb-theme-lavender": "7.1.7",
"nodebb-theme-peace": "2.1.26",
"nodebb-theme-persona": "13.2.50",
"nodebb-widget-essentials": "7.0.14",
"nodemailer": "6.9.7",
"nprogress": "0.2.0",
"passport": "0.6.0",
"passport": "0.7.0",
"passport-http-bearer": "1.0.1",
"passport-local": "1.0.0",
"pg": "8.11.3",
"pg-cursor": "2.10.3",
"postcss": "8.4.31",
"postcss": "8.4.32",
"postcss-clean": "1.2.0",
"progress-webpack-plugin": "1.0.16",
"prompt": "1.3.0",
"ioredis": "5.3.2",
"request": "2.88.2",
"request-promise-native": "1.0.9",
"rimraf": "5.0.5",
"rss": "1.2.2",
"rtlcss": "4.1.1",
"sanitize-html": "2.11.0",
"sass": "1.69.4",
"sass": "1.69.5",
"semver": "7.5.4",
"serve-favicon": "2.5.0",
"sharp": "0.32.6",
@@ -133,8 +132,8 @@
"socket.io": "4.7.2",
"socket.io-client": "4.7.2",
"@socket.io/redis-adapter": "8.2.1",
"sortablejs": "1.15.0",
"spdx-license-list": "6.7.0",
"sortablejs": "1.15.1",
"spdx-license-list": "6.8.0",
"spider-detector": "2.0.1",
"terser-webpack-plugin": "5.3.9",
"textcomplete": "0.18.2",
@@ -142,11 +141,12 @@
"timeago": "1.6.7",
"tinycon": "0.6.8",
"toobusy-js": "0.5.1",
"tough-cookie": "4.1.3",
"validator": "13.11.0",
"webpack": "5.89.0",
"webpack-merge": "5.10.0",
"winston": "3.11.0",
"workerpool": "6.5.1",
"workerpool": "9.0.1",
"xml": "1.0.1",
"xregexp": "5.1.1",
"yargs": "17.7.2",
@@ -154,17 +154,17 @@
},
"devDependencies": {
"@apidevtools/swagger-parser": "10.1.0",
"@commitlint/cli": "17.8.1",
"@commitlint/config-angular": "17.8.1",
"@commitlint/cli": "18.4.3",
"@commitlint/config-angular": "18.4.3",
"coveralls": "3.1.1",
"eslint": "8.52.0",
"eslint": "8.56.0",
"eslint-config-nodebb": "0.2.1",
"eslint-plugin-import": "2.29.0",
"eslint-plugin-import": "2.29.1",
"grunt": "1.6.1",
"grunt-contrib-watch": "1.1.0",
"husky": "8.0.3",
"jsdom": "22.1.0",
"lint-staged": "15.0.2",
"jsdom": "23.0.1",
"lint-staged": "15.2.0",
"mocha": "10.2.0",
"mocha-lcov-reporter": "1.3.0",
"mockdate": "3.0.5",
@@ -172,7 +172,7 @@
"smtp-server": "3.13.0"
},
"optionalDependencies": {
"sass-embedded": "1.69.4"
"sass-embedded": "1.69.5"
},
"resolutions": {
"*/jquery": "3.7.1"
@@ -181,7 +181,7 @@
"url": "https://github.com/NodeBB/NodeBB/issues"
},
"engines": {
"node": ">=16"
"node": ">=18"
},
"maintainers": [
{

View File

@@ -174,6 +174,8 @@ function install(req, res) {
const database = nconf.get('database') || req.body.database || 'mongo';
const setupEnvVars = {
...process.env,
CONFIG: nconf.get('config'),
NODEBB_CONFIG: nconf.get('config'),
NODEBB_URL: nconf.get('url') || req.body.url || (`${req.protocol}://${req.get('host')}`),
NODEBB_PORT: nconf.get('port') || 4567,
NODEBB_ADMIN_USERNAME: nconf.get('admin:username') || req.body['admin:username'],

41
public/500.html Normal file
View File

@@ -0,0 +1,41 @@
<html>
<head>
<title>Internal Server Error</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" href="/assets/5xx.css" />
<script type="text/javascript">
window.onload = function() {
let count = 0;
const bounce = document.getElementById('click-me');
bounce.onclick = function() {
count++;
bounce.className = '';
setTimeout(function() {
bounce.className = 'animated bounce';
}, 50);
if (count > 5) {
document.getElementById('hide').className = '';
}
};
}
</script>
</head>
<body>
<div class="wrapper">
<div class="center">
<h1 id="click-me" class="animated bounce">500</h1>
<p>
<strong>Internal server error. </strong>
</p>
<p>
{message}
</p>
<p>
&nbsp;<small id="hide" class="hide">Alright. You can stop clicking... it's not going to make the site come back sooner!</small>
</p>
</div>
</div>
</body>
</html>

View File

@@ -2,147 +2,12 @@
<head>
<title>Excessive Load Warning</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style type="text/css">
body {
background: #00A9EA;
color: white;
font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
text-align: center;
-webkit-transform-style: preserve-3d;
-moz-transform-style: preserve-3d;
transform-style: preserve-3d;
}
<link rel="stylesheet" type="text/css" href="/assets/5xx.css" />
h1 {
font-size: 250px;
color: #fff;
opacity: 0.5;
margin: 10px;
cursor: pointer;
-moz-user-select: none;
-khtml-user-select: none;
-webkit-user-select: none;
}
p {
font-size: 20px;
}
p strong {
font-size: 28px;
}
@media (max-width: 640px) {
h1 {
font-size: 125px;
}
p {
font-size: 16px;
}
p strong {
font-size: 20px;
}
}
.center {
position: relative;
top: 50%;
-webkit-transform: translateY(50%);
-ms-transform: translateY(50%);
transform: translateY(50%);
}
@-webkit-keyframes bounce {
0%, 20%, 53%, 80%, 100% {
-webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
-webkit-transform: translate3d(0,0,0);
transform: translate3d(0,0,0);
}
40%, 43% {
-webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
-webkit-transform: translate3d(0, -30px, 0);
transform: translate3d(0, -30px, 0);
}
70% {
-webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
-webkit-transform: translate3d(0, -15px, 0);
transform: translate3d(0, -15px, 0);
}
90% {
-webkit-transform: translate3d(0,-4px,0);
transform: translate3d(0,-4px,0);
}
}
@keyframes bounce {
0%, 20%, 53%, 80%, 100% {
-webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
-webkit-transform: translate3d(0,0,0);
transform: translate3d(0,0,0);
}
40%, 43% {
-webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
-webkit-transform: translate3d(0, -30px, 0);
transform: translate3d(0, -30px, 0);
}
70% {
-webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
-webkit-transform: translate3d(0, -15px, 0);
transform: translate3d(0, -15px, 0);
}
90% {
-webkit-transform: translate3d(0,-4px,0);
transform: translate3d(0,-4px,0);
}
}
.bounce {
-webkit-animation-name: bounce;
animation-name: bounce;
-webkit-transform-origin: center bottom;
-ms-transform-origin: center bottom;
transform-origin: center bottom;
}
.animated {
-webkit-animation-duration: 1s;
animation-duration: 1s;
-webkit-animation-fill-mode: both;
animation-fill-mode: both;
}
.animated.infinite {
-webkit-animation-iteration-count: infinite;
animation-iteration-count: infinite;
}
.animated.hinge {
-webkit-animation-duration: 2s;
animation-duration: 2s;
}
.hide {
display: none;
}
</style>
<script type="text/javascript">
window.onload = function() {
var count = 0,
bounce = document.getElementById('click-me');
let count = 0;
const bounce = document.getElementById('click-me');
bounce.onclick = function() {
count++;
bounce.className = '';

135
public/5xx.css Normal file
View File

@@ -0,0 +1,135 @@
body {
background: #00A9EA;
color: white;
font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
text-align: center;
-webkit-transform-style: preserve-3d;
-moz-transform-style: preserve-3d;
transform-style: preserve-3d;
}
h1 {
font-size: 250px;
color: #fff;
opacity: 0.5;
margin: 10px;
cursor: pointer;
-moz-user-select: none;
-khtml-user-select: none;
-webkit-user-select: none;
}
p {
font-size: 20px;
}
p strong {
font-size: 28px;
}
@media (max-width: 640px) {
h1 {
font-size: 125px;
}
p {
font-size: 16px;
}
p strong {
font-size: 20px;
}
}
.center {
position: relative;
top: 50%;
-webkit-transform: translateY(50%);
-ms-transform: translateY(50%);
transform: translateY(50%);
}
@-webkit-keyframes bounce {
0%, 20%, 53%, 80%, 100% {
-webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
-webkit-transform: translate3d(0,0,0);
transform: translate3d(0,0,0);
}
40%, 43% {
-webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
-webkit-transform: translate3d(0, -30px, 0);
transform: translate3d(0, -30px, 0);
}
70% {
-webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
-webkit-transform: translate3d(0, -15px, 0);
transform: translate3d(0, -15px, 0);
}
90% {
-webkit-transform: translate3d(0,-4px,0);
transform: translate3d(0,-4px,0);
}
}
@keyframes bounce {
0%, 20%, 53%, 80%, 100% {
-webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
-webkit-transform: translate3d(0,0,0);
transform: translate3d(0,0,0);
}
40%, 43% {
-webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
-webkit-transform: translate3d(0, -30px, 0);
transform: translate3d(0, -30px, 0);
}
70% {
-webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
-webkit-transform: translate3d(0, -15px, 0);
transform: translate3d(0, -15px, 0);
}
90% {
-webkit-transform: translate3d(0,-4px,0);
transform: translate3d(0,-4px,0);
}
}
.bounce {
-webkit-animation-name: bounce;
animation-name: bounce;
-webkit-transform-origin: center bottom;
-ms-transform-origin: center bottom;
transform-origin: center bottom;
}
.animated {
-webkit-animation-duration: 1s;
animation-duration: 1s;
-webkit-animation-fill-mode: both;
animation-fill-mode: both;
}
.animated.infinite {
-webkit-animation-iteration-count: infinite;
animation-iteration-count: infinite;
}
.animated.hinge {
-webkit-animation-duration: 2s;
animation-duration: 2s;
}
.hide {
display: none;
}

View File

@@ -8,7 +8,6 @@
"max-chat-room-name-length": "Maximum length of chat room names",
"max-room-size": "Maximum number of users in chat rooms",
"delay": "Time between chat messages (ms)",
"newbieDelay": "... for new users (ms)",
"notification-delay": "Notification delay for chat messages",
"notification-delay-help": "Additional messages sent between this time are collated, and the user is notified once per delay period. Set this to 0 to disable the delay.",
"restrictions.seconds-edit-after": "Number of seconds a chat message will remain editable.",

View File

@@ -10,7 +10,6 @@
"length": "Post Length",
"post-queue": "Post Queue",
"restrictions": "Posting Restrictions",
"restrictions-new": "New User Restrictions",
"restrictions.post-queue": "Enable post queue",
"restrictions.post-queue-rep-threshold": "Reputation required to bypass post queue",
"restrictions.groups-exempt-from-post-queue": "Select groups that should be exempt from the post queue",
@@ -18,9 +17,6 @@
"restrictions.post-queue-help": "Enabling post queue will put the posts of new users in a queue for approval",
"restrictions-new.post-queue-help": "Enabling new user restrictions will set restrictions on posts created by new users",
"restrictions.seconds-between": "Number of seconds between posts",
"restrictions.seconds-between-new": "Seconds between posts for new users",
"restrictions.rep-threshold": "Reputation threshold before these restrictions are lifted",
"restrictions.seconds-before-new": "Seconds before a new user can make their first post",
"restrictions.seconds-edit-after": "Number of seconds a post remains editable (set to 0 to disable)",
"restrictions.seconds-delete-after": "Number of seconds a post remains deletable (set to 0 to disable)",
"restrictions.replies-no-delete": "Number of replies after users are disallowed to delete their own topics (set to 0 to disable)",

View File

@@ -79,7 +79,14 @@
"follow-replied-topics": "Follow topics that you reply to",
"default-notification-settings": "Default notification settings",
"categoryWatchState": "Default category watch state",
"categoryWatchState.watching": "Watching",
"categoryWatchState.tracking": "Tracking",
"categoryWatchState.notwatching": "Not Watching",
"categoryWatchState.ignoring": "Ignoring"
"categoryWatchState.ignoring": "Ignoring",
"restrictions-new": "New User Restrictions",
"restrictions.rep-threshold": "Reputation threshold before these restrictions are lifted",
"restrictions.seconds-between-new": "Seconds between posts for new users",
"restrictions.seconds-before-new": "Seconds before a new user can make their first post",
"restrictions.seconds-edit-after-new": "Number of seconds a post remains editable for new users (set to 0 to disable)",
"restrictions.milliseconds-between-messages": "Time between chat messages for new users (ms)",
"restrictions.groups-exempt-from-new-user-restrictions": "Select groups that should be exempt from the new user restrictions"
}

View File

@@ -10,12 +10,15 @@
"watch": "تابع",
"ignore": "تجاهل",
"watching": "متابع",
"tracking": "Tracking",
"not-watching": "لست متابع",
"ignoring": "متجاهل",
"watching.description": "أظهر المواضيع في الغير مقروء و الحديث",
"watching.description": "Notify me of new topics.<br/>Show topics in unread & recent",
"tracking.description": "Shows topics in unread & recent",
"not-watching.description": "Do not show topics in unread, show in recent",
"ignoring.description": "Do not show topics in unread and recent",
"ignoring.description": "Do not show topics in unread & recent",
"watching.message": "You are now watching updates from this category and all subcategories",
"tracking.message": "You are now tracking updates from this category and all subcategories",
"notwatching.message": "You are not watching updates from this category and all subcategories",
"ignoring.message": "You are now ignoring updates from this category and all subcategories",
"watched-categories": "الأقسام المُتابعة",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Folder exists",
"invalid-pagination-value": "رقم الصفحة غير صحيح ، يجب أن يكون بين %1 و %2 .",
"username-taken": "اسم المستخدم مأخوذ",
"email-taken": "البريد الالكتروني مأخوذ",
"email-taken": "Email address is already taken.",
"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.",
@@ -91,6 +91,7 @@
"category-not-selected": "Category not selected.",
"too-many-posts": "يسمح لك بالنشر مرة كل %1 ثانية - يرجى الإنتظار قبل النشر مجدداً",
"too-many-posts-newbie": "As a new user, you can only post once every %1 second(s) until you have earned %2 reputation - please wait before posting again",
"too-many-posts-newbie-minutes": "As a new user, you can only post once every %1 minute(s) until you have earned %2 reputation - please wait before posting again",
"already-posting": "You are already posting",
"tag-too-short": "Please enter a longer tag. Tags should contain at least %1 character(s)",
"tag-too-long": "Please enter a shorter tag. Tags can't be longer than %1 character(s)",

View File

@@ -68,6 +68,8 @@
"chat.in-room": "In this room",
"chat.kick": "Kick",
"chat.show-ip": "Show IP",
"chat.copy-text": "Copy Text",
"chat.copy-link": "Copy Link",
"chat.owner": "Room Owner",
"chat.grant-rescind-ownership": "Grant/Rescind Ownership",
"chat.system.user-join": "%1 has joined the room <span class=\"timeago\" title=\"%2\"></span>",

View File

@@ -13,6 +13,7 @@
"all": "الكل",
"topics": "مواضيع",
"tags": "Tags",
"categories": "Categories",
"replies": "ردود",
"chat": "محادثات",
"group-chat": "Group Chats",
@@ -55,6 +56,7 @@
"user-posted-topic-with-tag-dual": "<strong>%1</strong> has posted a new topic with tags <strong>%2</strong> and <strong>%3</strong>",
"user-posted-topic-with-tag-triple": "<strong>%1</strong> has posted a new topic with tags <strong>%2</strong>, <strong>%3</strong> and <strong>%4</strong>",
"user-posted-topic-with-tag-multiple": "<strong>%1</strong> has posted a new topic with tags <strong>%2</strong>",
"user-posted-topic-in-category": "<strong>%1</strong> has posted a new topic in <strong>%2</strong>",
"user-started-following-you": "<strong>%1</strong> صار يتابعك.",
"user-started-following-you-dual": "<strong>%1</strong> and <strong>%2</strong> started following you.",
"user-started-following-you-triple": "<strong>%1</strong>, <strong>%2</strong> and <strong>%3</strong> started following you.",
@@ -81,6 +83,7 @@
"notificationType-upvote": "عندما يوافقك احدهم على منشورك",
"notificationType-new-topic": "When someone you follow posts a topic",
"notificationType-new-topic-with-tag": "When a topic is posted with a tag you follow",
"notificationType-new-topic-in-category": "When a topic is posted in a category you are watching",
"notificationType-new-reply": "When a new reply is posted in a topic you are watching",
"notificationType-post-edit": "When a post is edited in a topic you are watching",
"notificationType-follow": "When someone starts following you",

View File

@@ -3,8 +3,10 @@
"post-queue": "Post Queue",
"no-queued-posts": "There are no posts in the post queue.",
"no-single-post": "The topic or post you are looking for is no longer in the queue. It has likely been approved or deleted already.",
"enabling-help": "To enable this feature, go to <a href=\"%1\">Settings &rarr; Post &rarr; Post Queue</a> and enable <strong>Post Queue</strong>.",
"enabling-help": "The post queue is currently <strong>disabled</strong>. To enable this feature, go to <a href=\"%1\">Settings &rarr; Post &rarr; Post Queue</a> and enable <strong>Post Queue</strong>.",
"back-to-list": "Back to Post Queue",
"public-intro": "If you have any queued posts, they will be shown here.",
"public-description": "This forum is configured to automatically queue posts from new accounts, pending moderator approval.<br />If you have queued posts awaiting approval, you will be able to see them here.",
"user": "User",
"when": "When",
"category": "Category",

View File

@@ -6,5 +6,7 @@
"sign-in-with-google": "تسجيل الدخول باستخدام قوقل",
"sign-up-with-google": "التسجيل باستخدام قوقل",
"log-in-with-facebook": "تسجيل الدخول باستخدام فيسبوك",
"continue-with-facebook": "التسجيل باستخدام فيسبوك"
"continue-with-facebook": "التسجيل باستخدام فيسبوك",
"sign-in-with-linkedin": "Sign in with LinkedIn",
"sign-up-with-linkedin": "Sign up with LinkedIn"
}

View File

@@ -8,7 +8,6 @@
"max-chat-room-name-length": "Максимална дължина на имената на стаи за разговори",
"max-room-size": "Максимален брой потребители в стая за разговор",
"delay": "Време между съобщенията в разговорите (мсек)",
"newbieDelay": "…за нови потребители (мсек)",
"notification-delay": "Забавяне преди известяване за съобщения в разговорите",
"notification-delay-help": "Допълнителните съобщения, изпратени в рамките на това време, се комбинират, и потребителят получава по едно известие за всеки такъв период на забавяне. Задайте стойност 0, за да изключите забавянето.",
"restrictions.seconds-edit-after": "Брой секунди, през които съобщенията в разговор могат да бъдат редактирани.",

View File

@@ -10,7 +10,6 @@
"length": "Дължина на публикациите",
"post-queue": "Опашка за публикации",
"restrictions": "Ограничения за публикуването",
"restrictions-new": "Ограничения за новите потребители",
"restrictions.post-queue": "Включване на опашката за публикации",
"restrictions.post-queue-rep-threshold": "Нужна репутация за пропускане на опашката за публикации",
"restrictions.groups-exempt-from-post-queue": "Избиране на групи, които да пропускат опашката за публикации",
@@ -18,9 +17,6 @@
"restrictions.post-queue-help": "Ако опашката за публикации е включена, публикациите на новите потребители ще бъдат добавяни в опашка за одобрение",
"restrictions-new.post-queue-help": "Ако ограниченията за новите потребители са включени, това ще зададе някои ограничения за публикациите създадени от новите потребители",
"restrictions.seconds-between": "Брой секунди между публикациите",
"restrictions.seconds-between-new": "Брой секунди между публикациите за нови потребители",
"restrictions.rep-threshold": "Необходима репутация за премахване на това ограничение",
"restrictions.seconds-before-new": "Брой секунди преди новите потребители да могат да публикуват за пръв път",
"restrictions.seconds-edit-after": "Брой секунди, през които публикациите могат да бъдат редактирани. (0 = изключено)",
"restrictions.seconds-delete-after": "Брой секунди, през които публикациите могат да бъдат изтрити. (0 = изключено)",
"restrictions.replies-no-delete": "Брой отговори, след които потребителите вече не могат да изтриват собствените си теми. (0 = изключено)",

View File

@@ -78,8 +78,15 @@
"follow-created-topics": "Следване на темите, които създавате",
"follow-replied-topics": "Следване на темите, на които отговаряте",
"default-notification-settings": "Настройки по подразбиране за известията",
"categoryWatchState": "Състояние по подразбиране за следенето на категории",
"categoryWatchState.watching": "Да се следят",
"categoryWatchState.notwatching": "Да не се следят",
"categoryWatchState.ignoring": "Да се пренебрегват"
"categoryWatchState": "Състояние по подразбиране за наблюдаването на категории",
"categoryWatchState.tracking": "Да се следят",
"categoryWatchState.notwatching": "Да не се наблюдават",
"categoryWatchState.ignoring": "Да се пренебрегват",
"restrictions-new": "Ограничения за новите потребители",
"restrictions.rep-threshold": "Необходима репутация за премахване на това ограничение",
"restrictions.seconds-between-new": "Брой секунди между публикациите за нови потребители",
"restrictions.seconds-before-new": "Брой секунди преди новите потребители да могат да публикуват за пръв път",
"restrictions.seconds-edit-after-new": "Брой секунди, през които публикациите могат да бъдат редактирани от нови потребители. (0 = изключено)",
"restrictions.milliseconds-between-messages": "Време между съобщенията в разговорите за нови потребители (мсек)",
"restrictions.groups-exempt-from-new-user-restrictions": "Избиране на групи, за които да не важат ограниченията за нови потребители"
}

View File

@@ -7,17 +7,20 @@
"browsing": "разглежда",
"no-replies": "Няма отговори",
"no-new-posts": "Няма нови публикации.",
"watch": "Следене",
"watch": "Наблюдаване",
"ignore": "Пренебрегване",
"watching": "Следите",
"not-watching": "Не следите",
"watching": "Наблюдавате",
"tracking": "Следите",
"not-watching": "Не наблюдавате",
"ignoring": "Пренебрегвате",
"watching.description": "Темите да се показват в непрочетените и скорошните",
"watching.description": "Искам да получавам известия за новите теми.<br/>Искам темите да се показват в списъците с непрочетени и скорошни.",
"tracking.description": "Темите да се показват в непрочетените и скорошните",
"not-watching.description": "Темите да не се показват в непрочетените, а само в скорошните",
"ignoring.description": "Темите да не се показват нито в непрочетените, нито в скорошните",
"watching.message": "Вече следите новите неща в категорията и подкатегориите ѝ",
"notwatching.message": "Вече не следите новите неща в категорията и подкатегориите ѝ",
"watching.message": "Вече наблюдавате новите неща в категорията и подкатегориите ѝ",
"tracking.message": "Вече следите новите неща в категорията и подкатегориите ѝ",
"notwatching.message": "Вече не наблюдавате новите неща в категорията и подкатегориите ѝ",
"ignoring.message": "Вече пренебрегвате новите неща в тази категория и всички нейни подкатегории",
"watched-categories": "Следени категории",
"watched-categories": "Наблюдавани категории",
"x-more-categories": "Още %1 категории"
}

View File

@@ -32,7 +32,7 @@
"folder-exists": "Вече има папка с това име",
"invalid-pagination-value": "Грешен номер на странициране, трябва да бъде между %1 и %2",
"username-taken": "Потребителското име е заето",
"email-taken": "Е-пощата е заета",
"email-taken": "Email address is already taken.",
"email-nochange": "Въведената е-поща е същата като съществуващата.",
"email-invited": "На тази е-поща вече е била изпратена покана",
"email-not-confirmed": "Публикуването в някои категории и теми ще бъде възможно едва след като е-пощата Ви бъде потвърдена. Щръкнете тук, за да Ви изпратим е-писмо за потвърждение.",
@@ -91,6 +91,7 @@
"category-not-selected": "Не е избрана категория.",
"too-many-posts": "Можете да публикувате веднъж на %1 секунда/и моля, изчакайте малко, преди да опитате да публикувате отново",
"too-many-posts-newbie": "Като нов потребител, Вие можете да публикувате веднъж на %1 секунда/и, докато не натрупате %2 репутация моля, изчакайте малко, преди да опитате да публикувате отново",
"too-many-posts-newbie-minutes": "Като нов потребител, Вие можете да публикувате веднъж на %1 минута/и, докато не натрупате %2 репутация моля, изчакайте малко, преди да опитате да публикувате отново",
"already-posting": "В момента публикувате",
"tag-too-short": "Моля, въведете по-дълъг етикет. Етикетите трябва да съдържат поне %1 символ(а)",
"tag-too-long": "Моля, въведете по-кратък етикет. Етикетите трябва да съдържат не повече от %1 символ(а)",

View File

@@ -68,6 +68,8 @@
"chat.in-room": "В тази стая",
"chat.kick": "Изгонване",
"chat.show-ip": "Показване на IP адреса",
"chat.copy-text": "Копиране на текста",
"chat.copy-link": "Копиране на връзката",
"chat.owner": "Собственик на стаята",
"chat.grant-rescind-ownership": "Даване/отнемане на собственост",
"chat.system.user-join": "%1 се присъедини към стаята <span class=\"timeago\" title=\"%2\"></span>",

View File

@@ -13,6 +13,7 @@
"all": "Всички",
"topics": "Теми",
"tags": "Етикети",
"categories": "Категории",
"replies": "Отговори",
"chat": "Разговори",
"group-chat": "Групови разговори",
@@ -55,6 +56,7 @@
"user-posted-topic-with-tag-dual": "<strong>%1</strong> публикува нова тема с етикети <strong>%2</strong> и <strong>%3</strong>",
"user-posted-topic-with-tag-triple": "<strong>%1</strong> публикува нова тема с етикети <strong>%2</strong>, <strong>%3</strong> и <strong>%4</strong>",
"user-posted-topic-with-tag-multiple": "<strong>%1</strong> публикува нова тема с етикети <strong>%2</strong>",
"user-posted-topic-in-category": "<strong>%1</strong> публикува нова тема в <strong>%2</strong>",
"user-started-following-you": "<strong>%1</strong> започна да Ви следва.",
"user-started-following-you-dual": "<strong>%1</strong> и <strong>%2</strong> започнаха да Ви следват.",
"user-started-following-you-triple": "<strong>%1</strong>, <strong>%2</strong> и <strong>%3</strong> започнаха да Ви следват.",
@@ -81,8 +83,9 @@
"notificationType-upvote": "Когато някой гласува положително за Ваша публикация",
"notificationType-new-topic": "Когато някой, когото следвате, публикува тема",
"notificationType-new-topic-with-tag": "Когато бъде публикувана нова тема с етикет, който следвате",
"notificationType-new-reply": "Когато бъде публикуван нов отговор в тема, която следвате",
"notificationType-post-edit": "Когато бъде редактирана публикация в тема, която следите",
"notificationType-new-topic-in-category": "Когато бъде публикувана нова тема в категория, която наблюдавате",
"notificationType-new-reply": "Когато бъде публикуван нов отговор в тема, която наблюдавате",
"notificationType-post-edit": "Когато бъде редактирана публикация в тема, която наблюдавате",
"notificationType-follow": "Когато някой започне да Ви следва",
"notificationType-new-chat": "Когато получите съобщение в разговор",
"notificationType-new-group-chat": "Когато получите съобщение в групов разговор",

View File

@@ -47,12 +47,12 @@
"account/latest-posts": "Последни публикации от %1",
"account/topics": "Теми, създадени от %1",
"account/groups": "Групите на %1",
"account/watched-categories": "Следените категории на %1",
"account/watched-tags": "Следените етикети на %1",
"account/watched-categories": "Наблюдаваните категории на %1",
"account/watched-tags": "Наблюдаваните етикети на %1",
"account/bookmarks": "Отметнатите публикации на %1",
"account/settings": "Потребителски настройки",
"account/settings-of": "Променят се настройките на %1",
"account/watched": "Теми, следени от %1",
"account/watched": "Теми, наблюдавани от %1",
"account/ignored": "Теми, пренебрегвани от %1",
"account/upvoted": "Публикации, получили положителен глас от %1",
"account/downvoted": "Публикации, получили отрицателен глас от %1",

View File

@@ -3,8 +3,10 @@
"post-queue": "Опашка за публикации",
"no-queued-posts": "В опашката за публикации няма нищо.",
"no-single-post": "Темата или публикацията, която търсите, вече не се намира в опашката. Вероятно или е била одобрена, или изтрита.",
"enabling-help": "За да включите тази функционалност, идете в <a href=\"%1\">Настройки &rarr; Публикуване &rarr; Опашка за публикации</a> и включете <strong>Опашката за публикации</strong>.",
"enabling-help": "В момента опашката за публикации е <strong>изключена</strong>. За да включите тази функционалност, идете в <a href=\"%1\">Настройки &rarr; Публикации &rarr; Опашка за публикации</a> и включете <strong>Опашката за публикации</strong>.",
"back-to-list": "Назад към Опашката за публикации",
"public-intro": "Ако имате публикации, които чакат в опашката, те ще бъдат показани тук.",
"public-description": "Този форум е настроен автоматично да добавя публикациите от нови потребители, така че да чакат одобрението на модератор.<br />Ако имате публикации, които чакат в опашката за одобрение, ще можете да ги видите тук.",
"user": "Потребител",
"when": "Кога",
"category": "Категория",

View File

@@ -13,7 +13,7 @@
"categories": "Категории",
"all-categories": "Всички категории",
"categories-x": "Категории: %1",
"categories-watched-categories": "Категории: Следени категории",
"categories-watched-categories": "Категории: Наблюдавани категории",
"type-a-category": "Въведете категория",
"tags": "Етикети",
"tags-x": "Етикети: %1",

View File

@@ -6,5 +6,7 @@
"sign-in-with-google": "Вписване с Google",
"sign-up-with-google": "Регистриране с Google",
"log-in-with-facebook": "Вписване с Facebook",
"continue-with-facebook": "Продължаване с Facebook"
"continue-with-facebook": "Продължаване с Facebook",
"sign-in-with-linkedin": "Вписване с LinkedIn",
"sign-up-with-linkedin": "Регистриране с LinkedIn"
}

View File

@@ -8,8 +8,8 @@
"no-tags": "Все още няма етикети.",
"select-tags": "Изберете етикети",
"tag-whitelist": "Списък от разрешени етикети",
"watching": "Следите",
"not-watching": "Не следите",
"watching": "Наблюдавате",
"not-watching": "Не наблюдавате",
"watching.description": "Искам да получавам известия за нови теми.",
"not-watching.description": "Не искам да получавам известия за нови теми.",
"following-tag.message": "Вече ще получавате известия, когато някой публикува тема с този етикет.",

View File

@@ -80,13 +80,13 @@
"markAsUnreadForAll.success": "Темата е отбелязана като непрочетена за всички.",
"mark-unread": "Отбелязване като непрочетена",
"mark-unread.success": "Темата е отбелязана като непрочетена.",
"watch": "Следене",
"unwatch": "Спиране на следенето",
"watch": "Наблюдаване",
"unwatch": "Спиране на наблюдаването",
"watch.title": "Получавайте известия за новите отговори в тази тема",
"unwatch.title": "Спрете да следите тази тема",
"unwatch.title": "Спрете да наблюдавате тази тема",
"share-this-post": "Споделете тази публикация",
"watching": "Следите",
"not-watching": "Не следите",
"watching": "Наблюдавате",
"not-watching": "Не наблюдавате",
"ignoring": "Пренебрегвате",
"watching.description": "Искам да получавам известия за новите отговори.<br/>Искам темата да се показва в списъка с непрочетени.",
"not-watching.description": "Не искам да получавам известия за новите отговори.<br/>Темата да се показва в списъка с непрочетени, само ако категорията не се пренебрегва.",

View File

@@ -9,7 +9,7 @@
"topics-marked-as-read.success": "Темите бяха отбелязани като прочетени!",
"all-topics": "Всички теми",
"new-topics": "Нови теми",
"watched-topics": "Следени теми",
"watched-topics": "Наблюдавани теми",
"unreplied-topics": "Теми без отговор",
"multiple-categories-selected": "Избрани са няколко"
}

View File

@@ -35,12 +35,12 @@
"profile-views": "Преглеждания на профила",
"reputation": "Репутация",
"bookmarks": "Отметки",
"watched-categories": "Следени категории",
"watched-tags": "Следени етикети",
"watched-categories": "Наблюдавани категории",
"watched-tags": "Наблюдавани етикети",
"change-all": "Промяна на всички",
"watched": "Следени",
"watched": "Наблюдавани",
"ignored": "Пренебрегвани",
"default-category-watch-state": "Състояние по подразбиране за следенето на категории",
"default-category-watch-state": "Състояние по подразбиране за наблюдаването на категории",
"followers": "Последователи",
"following": "Следва",
"blocks": "Блокира",
@@ -108,7 +108,7 @@
"has-no-posts": "Този потребител не е публикувал нищо досега.",
"has-no-best-posts": "Този потребител не е получавал положителни гласове за публикациите си досега.",
"has-no-topics": "Този потребител не е създавал теми досега.",
"has-no-watched-topics": "Този потребител не е следил нито една тема досега.",
"has-no-watched-topics": "Този потребител не е наблюдавал нито една тема досега.",
"has-no-ignored-topics": "Този потребител не е пренебрегнал нито една тема досега.",
"has-no-upvoted-posts": "Този потребител не е гласувал положително досега.",
"has-no-downvoted-posts": "Този потребител не е гласувал отрицателно досега.",
@@ -137,8 +137,8 @@
"topic-search-help": "Ако е включено, търсенето в темата ще замени стандартното поведение на браузъра при търсене в страницата и ще Ви позволи да претърсвате цялата тема, а не само това, което се вижда на екрана",
"update-url-with-post-index": "Обновяване на адресната лента с номера на публикацията по време на разглеждане на темите",
"scroll-to-my-post": "След публикуване на отговор, да се показва новата публикация",
"follow-topics-you-reply-to": "Следене на темите, в които отговаряте",
"follow-topics-you-create": "Следене на темите, които създавате",
"follow-topics-you-reply-to": "Наблюдаване на темите, в които отговаряте",
"follow-topics-you-create": "Наблюдаване на темите, които създавате",
"grouptitle": "Заглавие на групата",
"group-order-help": "Изберете група и използвайте стрелките, за да пренаредите заглавията",
"no-group-title": "Няма заглавие на група",

View File

@@ -8,7 +8,6 @@
"max-chat-room-name-length": "Maximum length of chat room names",
"max-room-size": "Maximum number of users in chat rooms",
"delay": "Time between chat messages (ms)",
"newbieDelay": "... for new users (ms)",
"notification-delay": "Notification delay for chat messages",
"notification-delay-help": "Additional messages sent between this time are collated, and the user is notified once per delay period. Set this to 0 to disable the delay.",
"restrictions.seconds-edit-after": "Number of seconds a chat message will remain editable.",

View File

@@ -10,7 +10,6 @@
"length": "Post Length",
"post-queue": "Post Queue",
"restrictions": "Posting Restrictions",
"restrictions-new": "New User Restrictions",
"restrictions.post-queue": "Enable post queue",
"restrictions.post-queue-rep-threshold": "Reputation required to bypass post queue",
"restrictions.groups-exempt-from-post-queue": "Select groups that should be exempt from the post queue",
@@ -18,9 +17,6 @@
"restrictions.post-queue-help": "Enabling post queue will put the posts of new users in a queue for approval",
"restrictions-new.post-queue-help": "Enabling new user restrictions will set restrictions on posts created by new users",
"restrictions.seconds-between": "Number of seconds between posts",
"restrictions.seconds-between-new": "Seconds between posts for new users",
"restrictions.rep-threshold": "Reputation threshold before these restrictions are lifted",
"restrictions.seconds-before-new": "Seconds before a new user can make their first post",
"restrictions.seconds-edit-after": "Number of seconds a post remains editable (set to 0 to disable)",
"restrictions.seconds-delete-after": "Number of seconds a post remains deletable (set to 0 to disable)",
"restrictions.replies-no-delete": "Number of replies after users are disallowed to delete their own topics (set to 0 to disable)",

View File

@@ -79,7 +79,14 @@
"follow-replied-topics": "Follow topics that you reply to",
"default-notification-settings": "Default notification settings",
"categoryWatchState": "Default category watch state",
"categoryWatchState.watching": "Watching",
"categoryWatchState.tracking": "Tracking",
"categoryWatchState.notwatching": "Not Watching",
"categoryWatchState.ignoring": "Ignoring"
"categoryWatchState.ignoring": "Ignoring",
"restrictions-new": "New User Restrictions",
"restrictions.rep-threshold": "Reputation threshold before these restrictions are lifted",
"restrictions.seconds-between-new": "Seconds between posts for new users",
"restrictions.seconds-before-new": "Seconds before a new user can make their first post",
"restrictions.seconds-edit-after-new": "Number of seconds a post remains editable for new users (set to 0 to disable)",
"restrictions.milliseconds-between-messages": "Time between chat messages for new users (ms)",
"restrictions.groups-exempt-from-new-user-restrictions": "Select groups that should be exempt from the new user restrictions"
}

View File

@@ -10,12 +10,15 @@
"watch": "নজর রাখুন",
"ignore": "উপেক্ষা করুন",
"watching": "দৃশ্যমান",
"tracking": "Tracking",
"not-watching": "দেখা হচ্ছে না",
"ignoring": "উপেক্ষারত",
"watching.description": "অপঠিত এবং সাম্প্রতিক বিষয়গুলো দেখাও",
"watching.description": "Notify me of new topics.<br/>Show topics in unread & recent",
"tracking.description": "Shows topics in unread & recent",
"not-watching.description": "Do not show topics in unread, show in recent",
"ignoring.description": "Do not show topics in unread and recent",
"ignoring.description": "Do not show topics in unread & recent",
"watching.message": "You are now watching updates from this category and all subcategories",
"tracking.message": "You are now tracking updates from this category and all subcategories",
"notwatching.message": "You are not watching updates from this category and all subcategories",
"ignoring.message": "You are now ignoring updates from this category and all subcategories",
"watched-categories": "প্রেক্ষিত বিভাগসমূহ",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Folder exists",
"invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2",
"username-taken": "ইউজারনেম আগেই ব্যবহৃত",
"email-taken": "ইমেইল আগেই ব্যবহৃত",
"email-taken": "Email address is already taken.",
"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.",
@@ -91,6 +91,7 @@
"category-not-selected": "Category not selected.",
"too-many-posts": "You can only post once every %1 second(s) - please wait before posting again",
"too-many-posts-newbie": "As a new user, you can only post once every %1 second(s) until you have earned %2 reputation - please wait before posting again",
"too-many-posts-newbie-minutes": "As a new user, you can only post once every %1 minute(s) until you have earned %2 reputation - please wait before posting again",
"already-posting": "You are already posting",
"tag-too-short": "Please enter a longer tag. Tags should contain at least %1 character(s)",
"tag-too-long": "Please enter a shorter tag. Tags can't be longer than %1 character(s)",

View File

@@ -68,6 +68,8 @@
"chat.in-room": "In this room",
"chat.kick": "Kick",
"chat.show-ip": "Show IP",
"chat.copy-text": "Copy Text",
"chat.copy-link": "Copy Link",
"chat.owner": "Room Owner",
"chat.grant-rescind-ownership": "Grant/Rescind Ownership",
"chat.system.user-join": "%1 has joined the room <span class=\"timeago\" title=\"%2\"></span>",

View File

@@ -13,6 +13,7 @@
"all": "All",
"topics": "Topics",
"tags": "Tags",
"categories": "Categories",
"replies": "Replies",
"chat": "Chats",
"group-chat": "Group Chats",
@@ -55,6 +56,7 @@
"user-posted-topic-with-tag-dual": "<strong>%1</strong> has posted a new topic with tags <strong>%2</strong> and <strong>%3</strong>",
"user-posted-topic-with-tag-triple": "<strong>%1</strong> has posted a new topic with tags <strong>%2</strong>, <strong>%3</strong> and <strong>%4</strong>",
"user-posted-topic-with-tag-multiple": "<strong>%1</strong> has posted a new topic with tags <strong>%2</strong>",
"user-posted-topic-in-category": "<strong>%1</strong> has posted a new topic in <strong>%2</strong>",
"user-started-following-you": "<strong>%1</strong> আপনাকে অনুসরন করা শুরু করেছেন।",
"user-started-following-you-dual": "<strong>%1</strong> and <strong>%2</strong> started following you.",
"user-started-following-you-triple": "<strong>%1</strong>, <strong>%2</strong> and <strong>%3</strong> started following you.",
@@ -81,6 +83,7 @@
"notificationType-upvote": "When someone upvotes your post",
"notificationType-new-topic": "When someone you follow posts a topic",
"notificationType-new-topic-with-tag": "When a topic is posted with a tag you follow",
"notificationType-new-topic-in-category": "When a topic is posted in a category you are watching",
"notificationType-new-reply": "When a new reply is posted in a topic you are watching",
"notificationType-post-edit": "When a post is edited in a topic you are watching",
"notificationType-follow": "When someone starts following you",

View File

@@ -3,8 +3,10 @@
"post-queue": "Post Queue",
"no-queued-posts": "There are no posts in the post queue.",
"no-single-post": "The topic or post you are looking for is no longer in the queue. It has likely been approved or deleted already.",
"enabling-help": "To enable this feature, go to <a href=\"%1\">Settings &rarr; Post &rarr; Post Queue</a> and enable <strong>Post Queue</strong>.",
"enabling-help": "The post queue is currently <strong>disabled</strong>. To enable this feature, go to <a href=\"%1\">Settings &rarr; Post &rarr; Post Queue</a> and enable <strong>Post Queue</strong>.",
"back-to-list": "Back to Post Queue",
"public-intro": "If you have any queued posts, they will be shown here.",
"public-description": "This forum is configured to automatically queue posts from new accounts, pending moderator approval.<br />If you have queued posts awaiting approval, you will be able to see them here.",
"user": "User",
"when": "When",
"category": "Category",

View File

@@ -6,5 +6,7 @@
"sign-in-with-google": "Sign in with Google",
"sign-up-with-google": "Sign up with Google",
"log-in-with-facebook": "Log in with Facebook",
"continue-with-facebook": "Continue with Facebook"
"continue-with-facebook": "Continue with Facebook",
"sign-in-with-linkedin": "Sign in with LinkedIn",
"sign-up-with-linkedin": "Sign up with LinkedIn"
}

View File

@@ -8,7 +8,6 @@
"max-chat-room-name-length": "Maximum length of chat room names",
"max-room-size": "Maximální počet uživatelů v konverzační místnosti",
"delay": "Time between chat messages (ms)",
"newbieDelay": "... for new users (ms)",
"notification-delay": "Notification delay for chat messages",
"notification-delay-help": "Additional messages sent between this time are collated, and the user is notified once per delay period. Set this to 0 to disable the delay.",
"restrictions.seconds-edit-after": "Number of seconds a chat message will remain editable.",

View File

@@ -10,7 +10,6 @@
"length": "Délka příspěvku",
"post-queue": "Příspěvky ve frontě",
"restrictions": "Omezení příspěvků",
"restrictions-new": "Omezení nového uživatele",
"restrictions.post-queue": "Povolit frontu pro příspěvky",
"restrictions.post-queue-rep-threshold": "Vyžadovaná reputace pro přeskočení fronty příspěvků",
"restrictions.groups-exempt-from-post-queue": "Vyberte skupinu, která by měla být vyloučena z fronty příspěvků",
@@ -18,9 +17,6 @@
"restrictions.post-queue-help": "Povolení fronty příspěvků bude mít za následek vložení příspěvků nových uživatelů do fronty pro schválení.",
"restrictions-new.post-queue-help": "Povolení omezení nových uživatelů bude mít za následek omezení příspěvků vytvořených novými uživateli",
"restrictions.seconds-between": "Počet sekund mezi novými příspěvky",
"restrictions.seconds-between-new": "Sekund mezi příspěvky pro nové uživatele",
"restrictions.rep-threshold": "Ohraničení reputace než začnou platit tato omezení",
"restrictions.seconds-before-new": "Počet sekund, než může nový uživatel vytvořit první příspěvek",
"restrictions.seconds-edit-after": "Počet sekund, kdy příspěvek může být ještě upraven (pro zakázání - 0)",
"restrictions.seconds-delete-after": "Počet sekund, kdy příspěvek může být ještě odstraněn (pro zakázání - 0)",
"restrictions.replies-no-delete": "Počet odpovědí, kdy je již uživateli zakázáno odstranit založená témata (pro zakázání - 0)",

View File

@@ -79,7 +79,14 @@
"follow-replied-topics": "Sledovat témata, na které jste odpověděl",
"default-notification-settings": "Nastavení výchozího oznámení",
"categoryWatchState": "Stav sledování výchozí kategorie",
"categoryWatchState.watching": "Sledování",
"categoryWatchState.tracking": "Tracking",
"categoryWatchState.notwatching": "Nesleduji",
"categoryWatchState.ignoring": "Ignorace"
"categoryWatchState.ignoring": "Ignorace",
"restrictions-new": "New User Restrictions",
"restrictions.rep-threshold": "Reputation threshold before these restrictions are lifted",
"restrictions.seconds-between-new": "Seconds between posts for new users",
"restrictions.seconds-before-new": "Seconds before a new user can make their first post",
"restrictions.seconds-edit-after-new": "Number of seconds a post remains editable for new users (set to 0 to disable)",
"restrictions.milliseconds-between-messages": "Time between chat messages for new users (ms)",
"restrictions.groups-exempt-from-new-user-restrictions": "Select groups that should be exempt from the new user restrictions"
}

View File

@@ -10,12 +10,15 @@
"watch": "Sledovat",
"ignore": "Ignorovat",
"watching": "Sledováno",
"tracking": "Tracking",
"not-watching": "Nesledováno",
"ignoring": "Ignorováno",
"watching.description": "Zobrazit témata v nepřečtených a posledních",
"watching.description": "Notify me of new topics.<br/>Show topics in unread & recent",
"tracking.description": "Shows topics in unread & recent",
"not-watching.description": "Nezobrazovat témata v nepřečtených, zobrazit poslední",
"ignoring.description": "Nezobrazovat témata v nepřečtených a posledních",
"ignoring.description": "Do not show topics in unread & recent",
"watching.message": "Nyní sledujete aktualizace pro tuto kategorii a všech podkategorii",
"tracking.message": "You are now tracking updates from this category and all subcategories",
"notwatching.message": "Nyní nesledujete aktualizace z této kategorie a všech podkategorií",
"ignoring.message": "Nyní ignorujete aktualizace této kategorie a všech jejich kategorii",
"watched-categories": "Sledované kategorie",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Folder exists",
"invalid-pagination-value": "Neplatná hodnota stránkování, musí být alespoň %1 a nejvýše %2",
"username-taken": "Uživatelské jméno je již použito",
"email-taken": "Tento e-mail je již použit",
"email-taken": "Email address is already taken.",
"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.",
@@ -91,6 +91,7 @@
"category-not-selected": "Nebyla vybrána kategorie.",
"too-many-posts": "Můžete přispívat jednou za %1 sekund - vyčkejte tedy, než vytvoříte další příspěvek",
"too-many-posts-newbie": "Jako nový uživatel, můžete přispívat jednou za %1 sekund, dokud nezískáte pověst %2 - vyčkejte tedy, než vytvoříte další příspěvek",
"too-many-posts-newbie-minutes": "As a new user, you can only post once every %1 minute(s) until you have earned %2 reputation - please wait before posting again",
"already-posting": "You are already posting",
"tag-too-short": "Zadejte delší značku. Značky by měli mít alespoň %1 znaků",
"tag-too-long": "Zadejte kratší značku. Značky nesmí být delší než %1 znaků",

View File

@@ -68,6 +68,8 @@
"chat.in-room": "V této místnosti",
"chat.kick": "Vykopnout",
"chat.show-ip": "Zobrazit IP",
"chat.copy-text": "Copy Text",
"chat.copy-link": "Copy Link",
"chat.owner": "Majitel místnosti",
"chat.grant-rescind-ownership": "Grant/Rescind Ownership",
"chat.system.user-join": "%1 has joined the room <span class=\"timeago\" title=\"%2\"></span>",

View File

@@ -13,6 +13,7 @@
"all": "Vše",
"topics": "Témata",
"tags": "Tags",
"categories": "Categories",
"replies": "Odpovědi",
"chat": "Konverzace",
"group-chat": "Skupinová konverzace",
@@ -55,6 +56,7 @@
"user-posted-topic-with-tag-dual": "<strong>%1</strong> has posted a new topic with tags <strong>%2</strong> and <strong>%3</strong>",
"user-posted-topic-with-tag-triple": "<strong>%1</strong> has posted a new topic with tags <strong>%2</strong>, <strong>%3</strong> and <strong>%4</strong>",
"user-posted-topic-with-tag-multiple": "<strong>%1</strong> has posted a new topic with tags <strong>%2</strong>",
"user-posted-topic-in-category": "<strong>%1</strong> has posted a new topic in <strong>%2</strong>",
"user-started-following-you": "<strong>%1</strong> vás začal sledovat.",
"user-started-following-you-dual": "<strong>%1</strong> a <strong>%2</strong> vás začali sledovat.",
"user-started-following-you-triple": "<strong>%1</strong>, <strong>%2</strong> and <strong>%3</strong> started following you.",
@@ -81,6 +83,7 @@
"notificationType-upvote": "Jakmile někdo vyjádří souhlas s vaším příspěvkem",
"notificationType-new-topic": "Jakmile někdo koho sledujete vytvoří nové téma",
"notificationType-new-topic-with-tag": "When a topic is posted with a tag you follow",
"notificationType-new-topic-in-category": "When a topic is posted in a category you are watching",
"notificationType-new-reply": "Jakmile je přidán nový příspěvek v tématu, které sledujete",
"notificationType-post-edit": "Jakmile je upraven příspěvek v tématu, které sledujete",
"notificationType-follow": "Jakmile vás někdo začne sledovat",

View File

@@ -3,8 +3,10 @@
"post-queue": "Fronta příspěvků",
"no-queued-posts": "There are no posts in the post queue.",
"no-single-post": "The topic or post you are looking for is no longer in the queue. It has likely been approved or deleted already.",
"enabling-help": "To enable this feature, go to <a href=\"%1\">Settings &rarr; Post &rarr; Post Queue</a> and enable <strong>Post Queue</strong>.",
"enabling-help": "The post queue is currently <strong>disabled</strong>. To enable this feature, go to <a href=\"%1\">Settings &rarr; Post &rarr; Post Queue</a> and enable <strong>Post Queue</strong>.",
"back-to-list": "Back to Post Queue",
"public-intro": "If you have any queued posts, they will be shown here.",
"public-description": "This forum is configured to automatically queue posts from new accounts, pending moderator approval.<br />If you have queued posts awaiting approval, you will be able to see them here.",
"user": "Uživatel",
"when": "When",
"category": "Kategorie",

View File

@@ -6,5 +6,7 @@
"sign-in-with-google": "Sign in with Google",
"sign-up-with-google": "Sign up with Google",
"log-in-with-facebook": "Log in with Facebook",
"continue-with-facebook": "Continue with Facebook"
"continue-with-facebook": "Continue with Facebook",
"sign-in-with-linkedin": "Sign in with LinkedIn",
"sign-up-with-linkedin": "Sign up with LinkedIn"
}

View File

@@ -8,7 +8,6 @@
"max-chat-room-name-length": "Maximum length of chat room names",
"max-room-size": "Maximum number of users in chat rooms",
"delay": "Time between chat messages (ms)",
"newbieDelay": "... for new users (ms)",
"notification-delay": "Notification delay for chat messages",
"notification-delay-help": "Additional messages sent between this time are collated, and the user is notified once per delay period. Set this to 0 to disable the delay.",
"restrictions.seconds-edit-after": "Number of seconds a chat message will remain editable.",

View File

@@ -10,7 +10,6 @@
"length": "Post Length",
"post-queue": "Post Queue",
"restrictions": "Posting Restrictions",
"restrictions-new": "New User Restrictions",
"restrictions.post-queue": "Enable post queue",
"restrictions.post-queue-rep-threshold": "Reputation required to bypass post queue",
"restrictions.groups-exempt-from-post-queue": "Select groups that should be exempt from the post queue",
@@ -18,9 +17,6 @@
"restrictions.post-queue-help": "Enabling post queue will put the posts of new users in a queue for approval",
"restrictions-new.post-queue-help": "Enabling new user restrictions will set restrictions on posts created by new users",
"restrictions.seconds-between": "Number of seconds between posts",
"restrictions.seconds-between-new": "Seconds between posts for new users",
"restrictions.rep-threshold": "Reputation threshold before these restrictions are lifted",
"restrictions.seconds-before-new": "Seconds before a new user can make their first post",
"restrictions.seconds-edit-after": "Number of seconds a post remains editable (set to 0 to disable)",
"restrictions.seconds-delete-after": "Number of seconds a post remains deletable (set to 0 to disable)",
"restrictions.replies-no-delete": "Number of replies after users are disallowed to delete their own topics (set to 0 to disable)",

View File

@@ -79,7 +79,14 @@
"follow-replied-topics": "Follow topics that you reply to",
"default-notification-settings": "Default notification settings",
"categoryWatchState": "Default category watch state",
"categoryWatchState.watching": "Watching",
"categoryWatchState.tracking": "Tracking",
"categoryWatchState.notwatching": "Not Watching",
"categoryWatchState.ignoring": "Ignoring"
"categoryWatchState.ignoring": "Ignoring",
"restrictions-new": "New User Restrictions",
"restrictions.rep-threshold": "Reputation threshold before these restrictions are lifted",
"restrictions.seconds-between-new": "Seconds between posts for new users",
"restrictions.seconds-before-new": "Seconds before a new user can make their first post",
"restrictions.seconds-edit-after-new": "Number of seconds a post remains editable for new users (set to 0 to disable)",
"restrictions.milliseconds-between-messages": "Time between chat messages for new users (ms)",
"restrictions.groups-exempt-from-new-user-restrictions": "Select groups that should be exempt from the new user restrictions"
}

View File

@@ -10,12 +10,15 @@
"watch": "Overvåg",
"ignore": "Ignorer",
"watching": "Watching",
"tracking": "Tracking",
"not-watching": "Not Watching",
"ignoring": "Ignoring",
"watching.description": "Show topics in unread and recent",
"watching.description": "Notify me of new topics.<br/>Show topics in unread & recent",
"tracking.description": "Shows topics in unread & recent",
"not-watching.description": "Do not show topics in unread, show in recent",
"ignoring.description": "Do not show topics in unread and recent",
"ignoring.description": "Do not show topics in unread & recent",
"watching.message": "You are now watching updates from this category and all subcategories",
"tracking.message": "You are now tracking updates from this category and all subcategories",
"notwatching.message": "You are not watching updates from this category and all subcategories",
"ignoring.message": "You are now ignoring updates from this category and all subcategories",
"watched-categories": "Fulgte kategorier",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Folder exists",
"invalid-pagination-value": "Ugyldig side værdi, skal mindst være %1 og maks. %2",
"username-taken": "Brugernavn optaget",
"email-taken": "Emailadresse allerede i brug",
"email-taken": "Email address is already taken.",
"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.",
@@ -91,6 +91,7 @@
"category-not-selected": "Category not selected.",
"too-many-posts": "Du kan højest skrive et indlæg hver %1 sekund(er) - venligst vent et øjeblik før næste indlæg",
"too-many-posts-newbie": "Som ny bruger kan du kun skrive et indlæg engang hvert %1. sekund() indtil du har optjent %2 omdømme point - venligst vent et øjeblik før næste indlæg.",
"too-many-posts-newbie-minutes": "As a new user, you can only post once every %1 minute(s) until you have earned %2 reputation - please wait before posting again",
"already-posting": "You are already posting",
"tag-too-short": "Indtast et længere tag. Tags skal indeholde mindst %1 karakter(er).",
"tag-too-long": "Indtast et længere tag. Tags kan ikke være længere end %1 karakter(er).",

View File

@@ -68,6 +68,8 @@
"chat.in-room": "In this room",
"chat.kick": "Kick",
"chat.show-ip": "Show IP",
"chat.copy-text": "Copy Text",
"chat.copy-link": "Copy Link",
"chat.owner": "Room Owner",
"chat.grant-rescind-ownership": "Grant/Rescind Ownership",
"chat.system.user-join": "%1 has joined the room <span class=\"timeago\" title=\"%2\"></span>",

View File

@@ -13,6 +13,7 @@
"all": "All",
"topics": "Topics",
"tags": "Tags",
"categories": "Categories",
"replies": "Replies",
"chat": "Chats",
"group-chat": "Group Chats",
@@ -55,6 +56,7 @@
"user-posted-topic-with-tag-dual": "<strong>%1</strong> has posted a new topic with tags <strong>%2</strong> and <strong>%3</strong>",
"user-posted-topic-with-tag-triple": "<strong>%1</strong> has posted a new topic with tags <strong>%2</strong>, <strong>%3</strong> and <strong>%4</strong>",
"user-posted-topic-with-tag-multiple": "<strong>%1</strong> has posted a new topic with tags <strong>%2</strong>",
"user-posted-topic-in-category": "<strong>%1</strong> has posted a new topic in <strong>%2</strong>",
"user-started-following-you": "<strong>%1</strong> har valgt at følge dig.",
"user-started-following-you-dual": "<strong>%1</strong> og <strong>%2</strong> har valgt at følge dig.",
"user-started-following-you-triple": "<strong>%1</strong>, <strong>%2</strong> and <strong>%3</strong> started following you.",
@@ -81,6 +83,7 @@
"notificationType-upvote": "When someone upvotes your post",
"notificationType-new-topic": "When someone you follow posts a topic",
"notificationType-new-topic-with-tag": "When a topic is posted with a tag you follow",
"notificationType-new-topic-in-category": "When a topic is posted in a category you are watching",
"notificationType-new-reply": "When a new reply is posted in a topic you are watching",
"notificationType-post-edit": "When a post is edited in a topic you are watching",
"notificationType-follow": "When someone starts following you",

View File

@@ -3,8 +3,10 @@
"post-queue": "Post Queue",
"no-queued-posts": "There are no posts in the post queue.",
"no-single-post": "The topic or post you are looking for is no longer in the queue. It has likely been approved or deleted already.",
"enabling-help": "To enable this feature, go to <a href=\"%1\">Settings &rarr; Post &rarr; Post Queue</a> and enable <strong>Post Queue</strong>.",
"enabling-help": "The post queue is currently <strong>disabled</strong>. To enable this feature, go to <a href=\"%1\">Settings &rarr; Post &rarr; Post Queue</a> and enable <strong>Post Queue</strong>.",
"back-to-list": "Back to Post Queue",
"public-intro": "If you have any queued posts, they will be shown here.",
"public-description": "This forum is configured to automatically queue posts from new accounts, pending moderator approval.<br />If you have queued posts awaiting approval, you will be able to see them here.",
"user": "User",
"when": "When",
"category": "Category",

View File

@@ -6,5 +6,7 @@
"sign-in-with-google": "Sign in with Google",
"sign-up-with-google": "Sign up with Google",
"log-in-with-facebook": "Log in with Facebook",
"continue-with-facebook": "Continue with Facebook"
"continue-with-facebook": "Continue with Facebook",
"sign-in-with-linkedin": "Sign in with LinkedIn",
"sign-up-with-linkedin": "Sign up with LinkedIn"
}

View File

@@ -30,6 +30,6 @@
"start-date": "Anfangsdatum",
"end-date": "Enddatum",
"hide-on-mobile": "Auf dem Handy verstecken",
"hide-drafts": "Hide drafts",
"show-drafts": "Show drafts"
"hide-drafts": "Entwürfe ausblenden",
"show-drafts": "Entwürfe anzeigen"
}

View File

@@ -8,7 +8,6 @@
"max-chat-room-name-length": "Maximale Länge der Namen von Chaträumen",
"max-room-size": "Maximale Anzahl von Benutzern in Chatrooms",
"delay": "Zeit zwischen Chat-Nachrichten (ms)",
"newbieDelay": "... für neue Benutzer (ms)",
"notification-delay": "Benachrichtigungsverzögerung für Chat-Nachrichten",
"notification-delay-help": "Zusätzliche Nachrichten, die zwischen dieser Zeit gesendet werden, werden gesammelt, und der Benutzer wird einmal pro Verzögerungszeitraum benachrichtigt. Setze diesen Wert auf 0, um die Verzögerung zu deaktivieren.",
"restrictions.seconds-edit-after": "Anzahl der Sekunden, die eine Chat-Nachricht bearbeitbar bleibt.",

View File

@@ -10,7 +10,6 @@
"length": "Beitragslänge",
"post-queue": "Beitragswarteschlange",
"restrictions": "Posting beschränkungen",
"restrictions-new": "Beschränkungen für neue Benutzer",
"restrictions.post-queue": "Beitragswarteschlange verwenden",
"restrictions.post-queue-rep-threshold": "Benötigte Reputation um Beiträge ohne Warteschlange zu verfassen",
"restrictions.groups-exempt-from-post-queue": "Gruppen auswählen, die von der Beitragswarteschlange ausgenommen sind",
@@ -18,9 +17,6 @@
"restrictions.post-queue-help": "Aktivierte Beitragswarteschlange sorgt dafür, dass Posts von neuen Benutzern vor dem Veröffentlichen genehmigt werden müssen.",
"restrictions-new.post-queue-help": "Durch das Aktivieren von Einschränkungen für neue Benutzer werden Einschränkungen für Beiträge festgelegt, die von neuen Benutzern erstellt wurden",
"restrictions.seconds-between": "Anzahl der Sekunden zwischen Posts",
"restrictions.seconds-between-new": "Sekunden zwischen Beiträgen für neue Benutzer",
"restrictions.rep-threshold": "Mindesreputation bevor die Beschränkungen aufgehoben werden",
"restrictions.seconds-before-new": "Sekunden, bevor ein neuer Benutzer seinen ersten Beitrag schreiben kann",
"restrictions.seconds-edit-after": "Anzahl der Sekunden, die ein Beitrag bearbeitet werden kann (zum Deaktivieren auf 0 setzen)",
"restrictions.seconds-delete-after": "Anzahl der Sekunden, die ein Beitrag löschbar bleibt (zum Deaktivieren auf 0 setzen)",
"restrictions.replies-no-delete": "Anzahl der Antworten, nachdem Benutzern das Löschen ihrer eigenen Themen verweigert wurde (zum Deaktivieren auf 0 setzen)",

View File

@@ -79,7 +79,14 @@
"follow-replied-topics": "Themen folgen, auf die du antwortest",
"default-notification-settings": "Standardbenachrichtigungseinstellungen",
"categoryWatchState": "Standardmäßige Beobachtung",
"categoryWatchState.watching": "Beobachtet",
"categoryWatchState.tracking": "Verfolgung",
"categoryWatchState.notwatching": "Nicht beobachtet",
"categoryWatchState.ignoring": "Ignoriert"
"categoryWatchState.ignoring": "Ignoriert",
"restrictions-new": "Neue Benutzerbeschränkungen",
"restrictions.rep-threshold": "Mindestansehen bevor die Beschränkungen aufgehoben werden",
"restrictions.seconds-between-new": "Sekunden zwischen Beiträgen für neue Benutzer",
"restrictions.seconds-before-new": "Sekunden, bevor ein neuer Nutzer seinen ersten Beitrag verfassen kann",
"restrictions.seconds-edit-after-new": "Anzahl der Sekunden, die ein Beitrag für neue Benutzer bearbeitbar bleibt (zum Deaktivieren auf 0 setzen)",
"restrictions.milliseconds-between-messages": "Zeit zwischen Chat-Nachrichten für neue Benutzer (ms)",
"restrictions.groups-exempt-from-new-user-restrictions": "Gruppen auswählen, die von den neuen Benutzerbeschränkungen ausgenommen werden sollen"
}

View File

@@ -10,12 +10,15 @@
"watch": "Beobachten",
"ignore": "Ignorieren",
"watching": "Beobachte",
"tracking": "Verfolgung",
"not-watching": "Nicht beobachtet",
"ignoring": "Ignoriert",
"watching.description": "Zeige Themen in Ungelesen und Aktuell",
"watching.description": "Über neue Themen benachrichtigen.<br/>Themen in Ungelesen & Aktuell anzeigen",
"tracking.description": "Zeigt Themen in Ungelesen und Aktuell",
"not-watching.description": "Zeige keine Themen in Ungelesen, zeige sie in Aktuell",
"ignoring.description": "Zeige keine Themen in Ungelesen und Aktuell",
"ignoring.description": "Zeige keine Themen in Ungelesen & Neu",
"watching.message": "Du beobachtest jetzt Aktualisierungen aus dieser Kategorie und allen Unterkategorien",
"tracking.message": "Du verfolgst jetzt Aktualisierungen von dieser Kategorie und allen Unterkategorien",
"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",

View File

@@ -32,7 +32,7 @@
"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": "E-Mail-Adresse vergeben",
"email-taken": "Email address is already taken.",
"email-nochange": "Die eingegebene E-Mail ist die gleiche wie die bereits hinterlegte E-Mail.",
"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.",
@@ -91,6 +91,7 @@
"category-not-selected": "Kategorie nicht ausgewählt",
"too-many-posts": "Du kannst nur einen Beitrag innerhalb von %1 Sekunden erstellen - Bitte warte bevor Du erneut einen Beitrag erstellst.",
"too-many-posts-newbie": "Als neuer Benutzer kannst du nur einmal alle %1 Sekunde(n) posten, bis du %2 Reputation erworben hast - bitte warte, bevor du erneut postest",
"too-many-posts-newbie-minutes": "Als neuer Benutzer kannst du nur einmal alle %1 Minute(n) posten, bis du %2 Ansehen erworben hast - bitte warte, bevor du erneut postest",
"already-posting": "Du bist bereits am Posten",
"tag-too-short": "Bitte gebe ein längeres Schlagwort ein. Schlagworte sollten mindestens %1 Zeichen enthalten.",
"tag-too-long": "Bitte gebe ein kürzeres Schlagwort ein. Schlagworte können nicht länger als %1 Zeichen sein.",

View File

@@ -68,6 +68,8 @@
"chat.in-room": "In diesem Chat-Room",
"chat.kick": "Rauswerfen",
"chat.show-ip": "IP anzeigen",
"chat.copy-text": "Text kopieren",
"chat.copy-link": "Link kopieren",
"chat.owner": "Raumbesitzer",
"chat.grant-rescind-ownership": "Erteilung/Aufhebung des Eigentums",
"chat.system.user-join": "%1 hat den Raum betreten <span class=\"timeago\" title=\"%2\"></span>",

View File

@@ -13,6 +13,7 @@
"all": "Alle",
"topics": "Themen",
"tags": "Tags",
"categories": "Kategorien",
"replies": "Antworten",
"chat": "Chats",
"group-chat": "Gruppenchats",
@@ -48,13 +49,14 @@
"user-posted-to": "<strong>%1</strong> hat auf <strong>%2</strong> geantwortet.",
"user-posted-to-dual": "<strong>%1</strong> und <strong>%2</strong> haben auf <strong>%3</strong> geantwortet.",
"user-posted-to-triple": "<strong>%1</strong>, <strong>%2</strong> und <strong>%3</strong> haben geantwortet auf: <strong>%4</strong>",
"user-posted-to-multiple": "<strong>%1</strong>, <strong>%2</strong> und %3 andere haben geantwortet auf :<strong>%4</strong>",
"user-posted-to-multiple": "<strong>%1</strong>, <strong>%2</strong> und %3 andere haben geantwortet auf: <strong>%4</strong>",
"user-posted-topic": "<strong>%1</strong> hat ein neues Thema erstellt: <strong>%2</strong>",
"user-edited-post": "<strong>%1</strong> hat einen Post in <strong>%2</strong> bearbeitet",
"user-posted-topic-with-tag": "<strong>%1</strong> hat ein neues Thema mit dem Tag <strong>%2</strong> erstellt",
"user-posted-topic-with-tag-dual": "<strong>%1</strong> hat ein neues Thema mit den Tags <strong>%2</strong> and <strong>%3</strong> erstellt",
"user-posted-topic-with-tag-triple": "<strong>%1</strong> hat ein neues Thema mit den Tags <strong>%2</strong>, <strong>%3</strong> und <strong>%4</strong> erstellt",
"user-posted-topic-with-tag-multiple": "<strong>%1</strong> hat ein neues Thema mit den Tags <strong>%2</strong> erstellt",
"user-posted-topic-in-category": "<strong>%1</strong> hat ein neues Thema in <strong>%2</strong> erstellt",
"user-started-following-you": "<strong>%1</strong> folgt dir jetzt.",
"user-started-following-you-dual": "<strong>%1</strong> und <strong>%2</strong> folgen dir jetzt.",
"user-started-following-you-triple": "<strong>%1</strong>, <strong>%2</strong> und <strong>%3</strong> folgen dir jetzt.",
@@ -81,6 +83,7 @@
"notificationType-upvote": "Wenn jemand deinen beitrag positiv bewertet",
"notificationType-new-topic": "Wenn jemand, dem du folgst, einen Beitrag erstellt",
"notificationType-new-topic-with-tag": "Wenn ein Thema mit einem Tag gepostet wird, dem du folgst",
"notificationType-new-topic-in-category": "Wenn ein Thema in einer Kategorie veröffentlicht wird, die du beobachtest",
"notificationType-new-reply": "Wenn es eine neue Antwort auf ein Thema das du beobachtest gibt",
"notificationType-post-edit": "Wenn ein Post bearbeitet wurde, in einem Thema welches du beobachtest",
"notificationType-follow": "Wenn dir jemand neues folgt",

View File

@@ -3,8 +3,10 @@
"post-queue": "Beitragswarteschlange",
"no-queued-posts": "Es sind keine Beiträge in der Beitragswarteschlange",
"no-single-post": "Dieses Thema oder dieser Beitrag ist nicht mehr in der Warteschlange. Er wurde wahrscheinlich angenommen oder gelöscht.",
"enabling-help": "Um diese Funktion zu aktivieren, gehe zu <a href=\"%1\">Einstellungen &rarr; Posts &rarr; Beitragswarteschlange</a> und aktiviere die <strong>Beitragswarteschlange</strong>.",
"enabling-help": "Die Beitragswarteschlange ist derzeit <strong>deaktiviert</strong>. Um diese Funktion zu aktivieren, gehe zu <a href=\"%1\">Einstellungen &rarr; Post &rarr; Beitragswarteschlange</a> und aktiviere <strong>Beitragswarteschlange</strong>.",
"back-to-list": "Zurück zur Beitragswarteschlange",
"public-intro": "Wenn sich Beiträge in der Warteschlange befinden, werden sie hier angezeigt.",
"public-description": "Dieses Forum ist so konfiguriert, dass Beiträge von neuen Konten automatisch in die Warteschlange gestellt werden, bis sie von einem Moderator genehmigt werden. <br />Wenn du Beiträge in der Warteschlange hast, die auf die Genehmigung warten, kannst du sie hier sehen.",
"user": "Benutzer",
"when": "Wann",
"category": "Kategorie",

View File

@@ -6,5 +6,7 @@
"sign-in-with-google": "Mit Google anmelden",
"sign-up-with-google": "Mit Google registrieren",
"log-in-with-facebook": "Mit Facebook anmelden",
"continue-with-facebook": "Mit Facebook fortsetzen"
"continue-with-facebook": "Mit Facebook fortsetzen",
"sign-in-with-linkedin": "Mit LinkedIn anmelden",
"sign-up-with-linkedin": "Mit LinkedIn registrieren"
}

View File

@@ -8,7 +8,6 @@
"max-chat-room-name-length": "Maximum length of chat room names",
"max-room-size": "Maximum number of users in chat rooms",
"delay": "Time between chat messages (ms)",
"newbieDelay": "... for new users (ms)",
"notification-delay": "Notification delay for chat messages",
"notification-delay-help": "Additional messages sent between this time are collated, and the user is notified once per delay period. Set this to 0 to disable the delay.",
"restrictions.seconds-edit-after": "Number of seconds a chat message will remain editable.",

View File

@@ -10,7 +10,6 @@
"length": "Post Length",
"post-queue": "Post Queue",
"restrictions": "Posting Restrictions",
"restrictions-new": "New User Restrictions",
"restrictions.post-queue": "Enable post queue",
"restrictions.post-queue-rep-threshold": "Reputation required to bypass post queue",
"restrictions.groups-exempt-from-post-queue": "Select groups that should be exempt from the post queue",
@@ -18,9 +17,6 @@
"restrictions.post-queue-help": "Enabling post queue will put the posts of new users in a queue for approval",
"restrictions-new.post-queue-help": "Enabling new user restrictions will set restrictions on posts created by new users",
"restrictions.seconds-between": "Number of seconds between posts",
"restrictions.seconds-between-new": "Seconds between posts for new users",
"restrictions.rep-threshold": "Reputation threshold before these restrictions are lifted",
"restrictions.seconds-before-new": "Seconds before a new user can make their first post",
"restrictions.seconds-edit-after": "Number of seconds a post remains editable (set to 0 to disable)",
"restrictions.seconds-delete-after": "Number of seconds a post remains deletable (set to 0 to disable)",
"restrictions.replies-no-delete": "Number of replies after users are disallowed to delete their own topics (set to 0 to disable)",

View File

@@ -79,7 +79,14 @@
"follow-replied-topics": "Follow topics that you reply to",
"default-notification-settings": "Default notification settings",
"categoryWatchState": "Default category watch state",
"categoryWatchState.watching": "Watching",
"categoryWatchState.tracking": "Tracking",
"categoryWatchState.notwatching": "Not Watching",
"categoryWatchState.ignoring": "Ignoring"
"categoryWatchState.ignoring": "Ignoring",
"restrictions-new": "New User Restrictions",
"restrictions.rep-threshold": "Reputation threshold before these restrictions are lifted",
"restrictions.seconds-between-new": "Seconds between posts for new users",
"restrictions.seconds-before-new": "Seconds before a new user can make their first post",
"restrictions.seconds-edit-after-new": "Number of seconds a post remains editable for new users (set to 0 to disable)",
"restrictions.milliseconds-between-messages": "Time between chat messages for new users (ms)",
"restrictions.groups-exempt-from-new-user-restrictions": "Select groups that should be exempt from the new user restrictions"
}

View File

@@ -10,12 +10,15 @@
"watch": "Παρακολουθήστε",
"ignore": "Αγνόηση",
"watching": "Παρακολουθώ",
"tracking": "Tracking",
"not-watching": "Δεν παρακολουθώ",
"ignoring": "Αγνόησε",
"watching.description": "Εμφάνιση θεμάτων σε μη αναγνωσμένα και πρόσφατα",
"watching.description": "Notify me of new topics.<br/>Show topics in unread & recent",
"tracking.description": "Shows topics in unread & recent",
"not-watching.description": "Να μην εμφανίζονται θέματα σε μη αναγνωσμένα, να εμφανίζονται σε πρόσφατα",
"ignoring.description": "Να μην εμφανίζονται θέματα σε μη αναγνωσμένα και πρόσφατα",
"ignoring.description": "Do not show topics in unread & recent",
"watching.message": "Παρακολουθείτε τώρα ενημερώσεις από αυτήν την κατηγορία και όλες τις υποκατηγορίες",
"tracking.message": "You are now tracking updates from this category and all subcategories",
"notwatching.message": "Δεν παρακολουθείτε ενημερώσεις από αυτήν την κατηγορία και όλες τις υποκατηγορίες",
"ignoring.message": "Τώρα αγνοείτε ενημερώσεις από αυτήν την κατηγορία και όλες τις υποκατηγορίες",
"watched-categories": "Κατηγορίες υπό παρακολούθηση",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Folder exists",
"invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2",
"username-taken": "Το όνομα χρήστη είναι πιασμένο",
"email-taken": "Το email είναι πιασμένο",
"email-taken": "Email address is already taken.",
"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.",
@@ -91,6 +91,7 @@
"category-not-selected": "Category not selected.",
"too-many-posts": "You can only post once every %1 second(s) - please wait before posting again",
"too-many-posts-newbie": "As a new user, you can only post once every %1 second(s) until you have earned %2 reputation - please wait before posting again",
"too-many-posts-newbie-minutes": "As a new user, you can only post once every %1 minute(s) until you have earned %2 reputation - please wait before posting again",
"already-posting": "You are already posting",
"tag-too-short": "Please enter a longer tag. Tags should contain at least %1 character(s)",
"tag-too-long": "Please enter a shorter tag. Tags can't be longer than %1 character(s)",

View File

@@ -68,6 +68,8 @@
"chat.in-room": "In this room",
"chat.kick": "Kick",
"chat.show-ip": "Show IP",
"chat.copy-text": "Copy Text",
"chat.copy-link": "Copy Link",
"chat.owner": "Room Owner",
"chat.grant-rescind-ownership": "Grant/Rescind Ownership",
"chat.system.user-join": "%1 has joined the room <span class=\"timeago\" title=\"%2\"></span>",

View File

@@ -13,6 +13,7 @@
"all": "All",
"topics": "Topics",
"tags": "Tags",
"categories": "Categories",
"replies": "Replies",
"chat": "Chats",
"group-chat": "Group Chats",
@@ -55,6 +56,7 @@
"user-posted-topic-with-tag-dual": "<strong>%1</strong> has posted a new topic with tags <strong>%2</strong> and <strong>%3</strong>",
"user-posted-topic-with-tag-triple": "<strong>%1</strong> has posted a new topic with tags <strong>%2</strong>, <strong>%3</strong> and <strong>%4</strong>",
"user-posted-topic-with-tag-multiple": "<strong>%1</strong> has posted a new topic with tags <strong>%2</strong>",
"user-posted-topic-in-category": "<strong>%1</strong> has posted a new topic in <strong>%2</strong>",
"user-started-following-you": "<strong>%1</strong> started following you.",
"user-started-following-you-dual": "<strong>%1</strong> and <strong>%2</strong> started following you.",
"user-started-following-you-triple": "<strong>%1</strong>, <strong>%2</strong> and <strong>%3</strong> started following you.",
@@ -81,6 +83,7 @@
"notificationType-upvote": "When someone upvotes your post",
"notificationType-new-topic": "When someone you follow posts a topic",
"notificationType-new-topic-with-tag": "When a topic is posted with a tag you follow",
"notificationType-new-topic-in-category": "When a topic is posted in a category you are watching",
"notificationType-new-reply": "When a new reply is posted in a topic you are watching",
"notificationType-post-edit": "When a post is edited in a topic you are watching",
"notificationType-follow": "When someone starts following you",

View File

@@ -3,8 +3,10 @@
"post-queue": "Post Queue",
"no-queued-posts": "There are no posts in the post queue.",
"no-single-post": "The topic or post you are looking for is no longer in the queue. It has likely been approved or deleted already.",
"enabling-help": "To enable this feature, go to <a href=\"%1\">Settings &rarr; Post &rarr; Post Queue</a> and enable <strong>Post Queue</strong>.",
"enabling-help": "The post queue is currently <strong>disabled</strong>. To enable this feature, go to <a href=\"%1\">Settings &rarr; Post &rarr; Post Queue</a> and enable <strong>Post Queue</strong>.",
"back-to-list": "Back to Post Queue",
"public-intro": "If you have any queued posts, they will be shown here.",
"public-description": "This forum is configured to automatically queue posts from new accounts, pending moderator approval.<br />If you have queued posts awaiting approval, you will be able to see them here.",
"user": "User",
"when": "When",
"category": "Category",

View File

@@ -6,5 +6,7 @@
"sign-in-with-google": "Sign in with Google",
"sign-up-with-google": "Sign up with Google",
"log-in-with-facebook": "Log in with Facebook",
"continue-with-facebook": "Continue with Facebook"
"continue-with-facebook": "Continue with Facebook",
"sign-in-with-linkedin": "Sign in with LinkedIn",
"sign-up-with-linkedin": "Sign up with LinkedIn"
}

View File

@@ -8,7 +8,6 @@
"max-chat-room-name-length": "Maximum length of chat room names",
"max-room-size": "Maximum number of users in chat rooms",
"delay": "Time between chat messages (ms)",
"newbieDelay": "... for new users (ms)",
"notification-delay": "Notification delay for chat messages",
"notification-delay-help": "Additional messages sent between this time are collated, and the user is notified once per delay period. Set this to 0 to disable the delay.",
"restrictions.seconds-edit-after": "Number of seconds a chat message will remain editable.",

View File

@@ -10,7 +10,6 @@
"length": "Post Length",
"post-queue": "Post Queue",
"restrictions": "Posting Restrictions",
"restrictions-new": "New User Restrictions",
"restrictions.post-queue": "Enable post queue",
"restrictions.post-queue-rep-threshold": "Reputation required to bypass post queue",
"restrictions.groups-exempt-from-post-queue": "Select groups that should be exempt from the post queue",
@@ -18,9 +17,6 @@
"restrictions.post-queue-help": "Enabling post queue will put the posts of new users in a queue for approval",
"restrictions-new.post-queue-help": "Enabling new user restrictions will set restrictions on posts created by new users",
"restrictions.seconds-between": "Number of seconds between posts",
"restrictions.seconds-between-new": "Seconds between posts for new users",
"restrictions.rep-threshold": "Reputation threshold before these restrictions are lifted",
"restrictions.seconds-before-new": "Seconds before a new user can make their first post",
"restrictions.seconds-edit-after": "Number of seconds a post remains editable (set to 0 to disable)",
"restrictions.seconds-delete-after": "Number of seconds a post remains deletable (set to 0 to disable)",
"restrictions.replies-no-delete": "Number of replies after users are disallowed to delete their own topics (set to 0 to disable)",

View File

@@ -79,7 +79,14 @@
"follow-replied-topics": "Follow topics that you reply to",
"default-notification-settings": "Default notification settings",
"categoryWatchState": "Default category watch state",
"categoryWatchState.watching": "Watching",
"categoryWatchState.tracking": "Tracking",
"categoryWatchState.notwatching": "Not Watching",
"categoryWatchState.ignoring": "Ignoring"
"categoryWatchState.ignoring": "Ignoring",
"restrictions-new": "New User Restrictions",
"restrictions.rep-threshold": "Reputation threshold before these restrictions are lifted",
"restrictions.seconds-between-new": "Seconds between posts for new users",
"restrictions.seconds-before-new": "Seconds before a new user can make their first post",
"restrictions.seconds-edit-after-new": "Number of seconds a post remains editable for new users (set to 0 to disable)",
"restrictions.milliseconds-between-messages": "Time between chat messages for new users (ms)",
"restrictions.groups-exempt-from-new-user-restrictions": "Select groups that should be exempt from the new user restrictions"
}

View File

@@ -13,13 +13,16 @@
"watch": "Watch",
"ignore": "Ignore",
"watching": "Watching",
"tracking": "Tracking",
"not-watching": "Not Watching",
"ignoring": "Ignoring",
"watching.description": "Show topics in unread and recent",
"watching.description": "Notify me of new topics.<br/>Show topics in unread & recent",
"tracking.description": "Shows topics in unread & recent",
"not-watching.description": "Do not show topics in unread, show in recent",
"ignoring.description": "Do not show topics in unread and recent",
"ignoring.description": "Do not show topics in unread & recent",
"watching.message": "You are now watching updates from this category and all subcategories",
"tracking.message": "You are now tracking updates from this category and all subcategories",
"notwatching.message": "You are not watching updates from this category and all subcategories",
"ignoring.message": "You are now ignoring updates from this category and all subcategories",

View File

@@ -37,7 +37,7 @@
"invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2",
"username-taken": "Username taken",
"email-taken": "Email taken",
"email-taken": "Email address is already taken.",
"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.",
@@ -104,6 +104,7 @@
"category-not-selected": "Category not selected.",
"too-many-posts": "You can only post once every %1 second(s) - please wait before posting again",
"too-many-posts-newbie": "As a new user, you can only post once every %1 second(s) until you have earned %2 reputation - please wait before posting again",
"too-many-posts-newbie-minutes": "As a new user, you can only post once every %1 minute(s) until you have earned %2 reputation - please wait before posting again",
"already-posting": "You are already posting",
"tag-too-short": "Please enter a longer tag. Tags should contain at least %1 character(s)",
"tag-too-long": "Please enter a shorter tag. Tags can't be longer than %1 character(s)",
@@ -254,6 +255,7 @@
"no-connection": "There seems to be a problem with your internet connection",
"socket-reconnect-failed": "Unable to reach the server at this time. Click here to try again, or try again later",
"invalid-plugin-id": "Invalid plugin ID",
"plugin-not-whitelisted": "Unable to install plugin &ndash; only plugins whitelisted by the NodeBB Package Manager can be installed via the ACP",
"plugins-set-in-configuration": "You are not allowed to change plugin state as they are defined at runtime (config.json, environmental variables or terminal arguments), please modify the configuration instead.",
"theme-not-set-in-configuration": "When defining active plugins in configuration, changing themes requires adding the new theme to the list of active plugins before updating it in the ACP",

View File

@@ -68,6 +68,8 @@
"chat.in-room": "In this room",
"chat.kick": "Kick",
"chat.show-ip": "Show IP",
"chat.copy-text": "Copy Text",
"chat.copy-link": "Copy Link",
"chat.owner": "Room Owner",
"chat.grant-rescind-ownership": "Grant/Rescind Ownership",

View File

@@ -15,6 +15,7 @@
"all": "All",
"topics": "Topics",
"tags": "Tags",
"categories": "Categories",
"replies": "Replies",
"chat": "Chats",
"group-chat": "Group Chats",
@@ -61,6 +62,8 @@
"user-posted-topic-with-tag-triple": "<strong>%1</strong> has posted a new topic with tags <strong>%2</strong>, <strong>%3</strong> and <strong>%4</strong>",
"user-posted-topic-with-tag-multiple": "<strong>%1</strong> has posted a new topic with tags <strong>%2</strong>",
"user-posted-topic-in-category": "<strong>%1</strong> has posted a new topic in <strong>%2</strong>",
"user-started-following-you": "<strong>%1</strong> started following you.",
"user-started-following-you-dual": "<strong>%1</strong> and <strong>%2</strong> started following you.",
"user-started-following-you-triple": "<strong>%1</strong>, <strong>%2</strong> and <strong>%3</strong> started following you.",
@@ -89,6 +92,7 @@
"notificationType-upvote": "When someone upvotes your post",
"notificationType-new-topic": "When someone you follow posts a topic",
"notificationType-new-topic-with-tag": "When a topic is posted with a tag you follow",
"notificationType-new-topic-in-category": "When a topic is posted in a category you are watching",
"notificationType-new-reply": "When a new reply is posted in a topic you are watching",
"notificationType-post-edit": "When a post is edited in a topic you are watching",
"notificationType-follow": "When someone starts following you",

View File

@@ -3,8 +3,10 @@
"post-queue": "Post Queue",
"no-queued-posts": "There are no posts in the post queue.",
"no-single-post": "The topic or post you are looking for is no longer in the queue. It has likely been approved or deleted already.",
"enabling-help": "To enable this feature, go to <a href=\"%1\">Settings &rarr; Post &rarr; Post Queue</a> and enable <strong>Post Queue</strong>.",
"enabling-help": "The post queue is currently <strong>disabled</strong>. To enable this feature, go to <a href=\"%1\">Settings &rarr; Post &rarr; Post Queue</a> and enable <strong>Post Queue</strong>.",
"back-to-list": "Back to Post Queue",
"public-intro": "If you have any queued posts, they will be shown here.",
"public-description": "This forum is configured to automatically queue posts from new accounts, pending moderator approval.<br />If you have queued posts awaiting approval, you will be able to see them here.",
"user": "User",
"when": "When",
"category": "Category",

View File

@@ -6,5 +6,7 @@
"sign-in-with-google": "Sign in with Google",
"sign-up-with-google": "Sign up with Google",
"log-in-with-facebook": "Log in with Facebook",
"continue-with-facebook": "Continue with Facebook"
"continue-with-facebook": "Continue with Facebook",
"sign-in-with-linkedin": "Sign in with LinkedIn",
"sign-up-with-linkedin": "Sign up with LinkedIn"
}

View File

@@ -8,7 +8,6 @@
"max-chat-room-name-length": "Maximum length of chat room names",
"max-room-size": "Maximum number of users in chat rooms",
"delay": "Time between chat messages (ms)",
"newbieDelay": "... for new users (ms)",
"notification-delay": "Notification delay for chat messages",
"notification-delay-help": "Additional messages sent between this time are collated, and the user is notified once per delay period. Set this to 0 to disable the delay.",
"restrictions.seconds-edit-after": "Number of seconds a chat message will remain editable.",

View File

@@ -10,7 +10,6 @@
"length": "Post Length",
"post-queue": "Post Queue",
"restrictions": "Posting Restrictions",
"restrictions-new": "New User Restrictions",
"restrictions.post-queue": "Enable post queue",
"restrictions.post-queue-rep-threshold": "Reputation required to bypass post queue",
"restrictions.groups-exempt-from-post-queue": "Select groups that should be exempt from the post queue",
@@ -18,9 +17,6 @@
"restrictions.post-queue-help": "Enabling post queue will put the posts of new users in a queue for approval",
"restrictions-new.post-queue-help": "Enabling new user restrictions will set restrictions on posts created by new users",
"restrictions.seconds-between": "Number of seconds between posts",
"restrictions.seconds-between-new": "Seconds between posts for new users",
"restrictions.rep-threshold": "Reputation threshold before these restrictions are lifted",
"restrictions.seconds-before-new": "Seconds before a new user can make their first post",
"restrictions.seconds-edit-after": "Number of seconds a post remains editable (set to 0 to disable)",
"restrictions.seconds-delete-after": "Number of seconds a post remains deletable (set to 0 to disable)",
"restrictions.replies-no-delete": "Number of replies after users are disallowed to delete their own topics (set to 0 to disable)",

View File

@@ -79,7 +79,14 @@
"follow-replied-topics": "Follow topics that you reply to",
"default-notification-settings": "Default notification settings",
"categoryWatchState": "Default category watch state",
"categoryWatchState.watching": "Watching",
"categoryWatchState.tracking": "Tracking",
"categoryWatchState.notwatching": "Not Watching",
"categoryWatchState.ignoring": "Ignoring"
"categoryWatchState.ignoring": "Ignoring",
"restrictions-new": "New User Restrictions",
"restrictions.rep-threshold": "Reputation threshold before these restrictions are lifted",
"restrictions.seconds-between-new": "Seconds between posts for new users",
"restrictions.seconds-before-new": "Seconds before a new user can make their first post",
"restrictions.seconds-edit-after-new": "Number of seconds a post remains editable for new users (set to 0 to disable)",
"restrictions.milliseconds-between-messages": "Time between chat messages for new users (ms)",
"restrictions.groups-exempt-from-new-user-restrictions": "Select groups that should be exempt from the new user restrictions"
}

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