Compare commits

...

1317 Commits

Author SHA1 Message Date
Misty Release Bot
e82d40f8b1 chore: incrementing version number - v4.7.0
(cherry picked from commit 3d8638ed5c)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2025-11-26 16:59:43 +00:00
Misty Release Bot
8a9f300281 Merge commit '2bb6683f1613f06a64b1f2834cf420cf474c904d' into v4.x 2025-11-26 16:58:04 +00:00
Julian Lam
2bb6683f16 Merge remote-tracking branch 'origin/master' into develop 2025-11-26 10:53:44 -05:00
Julian Lam
e3ac9ccf1b fix(deps): bump mentions to fix #13637 2025-11-25 13:19:19 -05:00
Julian Lam
9d83a3d0da fix: null check on attachments property in assertPrivate 2025-11-24 15:48:38 -05:00
Julian Lam
24e1768312 fix: update announce and undo(announce) so that their IDs don't use timestamps 2025-11-24 12:20:35 -05:00
Julian Lam
832477f819 feat: federate out undo(announce) when moving topics 2025-11-24 11:53:59 -05:00
Julian Lam
2b733e4a8e fix: incorrect topic event added when topic moved out of cid -1 (used to be a share by the user; since removed.) 2025-11-21 15:20:44 -05:00
Julian Lam
aa7e078fbf fix: #13654, improper OrderedCollectionPage ID 2025-11-20 14:15:43 -05:00
Julian Lam
822f4edc4c feat: native image appending for remote private notes 2025-11-20 14:08:12 -05:00
Barış Soner Uşaklı
bdb452488b fix: IS logic when body.height < window.height 2025-11-20 12:58:07 -05:00
Barış Soner Uşaklı
6cd8a7c740 Merge branch 'master' into develop 2025-11-20 09:14:51 -05:00
Misty Release Bot
9fc5b0f38e chore: incrementing version number - v4.6.3
(cherry picked from commit af7f78e9b6)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2025-11-20 14:13:21 +00:00
Misty Release Bot
3fd193e373 chore: update changelog for v4.6.3 2025-11-20 14:13:20 +00:00
Misty Release Bot
af7f78e9b6 chore: incrementing version number - v4.6.3 2025-11-20 14:13:20 +00:00
Misty Release Bot
cd3b4b0435 Merge commit 'a34794b5ee3c7ba096eaee5dfa4d33d48f430107' into v4.x 2025-11-20 14:13:17 +00:00
renovate[bot]
894f19882e chore(deps): update dependency @stylistic/eslint-plugin to v5.6.1 (#13778)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-20 09:07:58 -05:00
renovate[bot]
5ab8f87741 fix(deps): update dependency rimraf to v6.1.2 (#13784)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-20 09:07:38 -05:00
Barış Soner Uşaklı
a34794b5ee Merge branch 'master' of https://github.com/NodeBB/NodeBB 2025-11-20 09:02:22 -05:00
Barış Soner Uşaklı
af477d0c2d fix: update validator dep. to get fix for CVE-2025-56200
https://nvd.nist.gov/vuln/detail/CVE-2025-56200
2025-11-20 09:02:17 -05:00
Julian Lam
d4e3b42369 Merge branch 'master' into develop 2025-11-19 15:17:08 -05:00
Julian Lam
76a07d5941 fix: missing logic in mocks.notes.private that precluded the use of emoji 2025-11-19 15:16:51 -05:00
renovate[bot]
cecc0fee54 fix(deps): update dependency @isaacs/ttlcache to v2.1.2 (#13780)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-19 11:31:04 -05:00
renovate[bot]
bfffb4b9e6 fix(deps): update dependency workerpool to v10.0.1 (#13781)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-19 11:29:41 -05:00
renovate[bot]
e24d8c1780 chore(deps): update redis docker tag to v8.4.0 (#13782)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-19 11:22:37 -05:00
renovate[bot]
5acfd1844c fix(deps): update dependency webpack to v5.103.0 (#13783)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-19 11:22:27 -05:00
Barış Soner Uşaklı
12dab84914 fix: tiny fix for IS when page is empty
related 4aad601967
https://github.com/NodeBB/NodeBB/pull/9525
2025-11-19 11:03:44 -05:00
renovate[bot]
b0c9bb1eed fix(deps): update dependency sass to v1.94.1 (#13777)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-19 10:37:18 -05:00
Barış Soner Uşaklı
958bb04769 Merge branch 'master' into develop 2025-11-19 10:32:58 -05:00
Misty Release Bot
f98747db42 chore: incrementing version number - v4.6.2
(cherry picked from commit 065a87ad5c)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2025-11-19 15:31:58 +00:00
Misty Release Bot
8da3819c5f chore: update changelog for v4.6.2 2025-11-19 15:31:58 +00:00
Misty Release Bot
065a87ad5c chore: incrementing version number - v4.6.2 2025-11-19 15:31:57 +00:00
Misty Release Bot
87a6549ed2 Merge commit 'e30024119334479c57e442a72ed72a07084fe1e9' into v4.x 2025-11-19 15:31:55 +00:00
Barış Soner Uşaklı
88598886f0 Merge branch 'master' into develop 2025-11-19 08:45:35 -05:00
Barış Soner Uşaklı
e300241193 fix: #13779, svg uploads
if tmp file doesn't have extension stripEXIF was called for gifs/svgs
2025-11-19 08:45:08 -05:00
Barış Soner Uşaklı
b00c08ce89 Merge branch 'master' into develop 2025-11-18 10:24:37 -05:00
Barış Soner Uşaklı
abfb6d1365 fix: #13776, if plugin is in install/package.json use latest version from there
otherwise show latest version from nbbpm
2025-11-18 10:23:49 -05:00
Barış Soner Uşaklı
26795272fa Merge branch 'master' into develop 2025-11-17 20:25:14 -05:00
Barış Soner Uşaklı
dece0628bf fix: category labels showing up on infinite scroll on category page
regression from cross posting tpl change
2025-11-17 20:25:05 -05:00
Barış Soner Uşaklı
aacd27ee32 refactor: remove unused share 2025-11-17 20:13:55 -05:00
Julian Lam
c51b7b650a fix: update markdown and web-push to latest versions 2025-11-17 14:34:35 -05:00
Julian Lam
2ce691cb77 fix: bump mentions to 4.8.2 2025-11-17 14:30:18 -05:00
Barış Soner Uşaklı
e2f4884e15 Merge branch 'master' into develop 2025-11-17 13:01:58 -05:00
Barış Soner Uşaklı
5bc5bb3d08 chore: up emoji 2025-11-17 13:01:37 -05:00
Barış Soner Uşaklı
db4ba8c385 Merge branch 'master' into develop 2025-11-17 08:00:46 -05:00
Barış Soner Uşaklı
f764b79118 chore: up peace, closes #13774 2025-11-17 07:59:49 -05:00
renovate[bot]
3ea029bdb2 chore(deps): update postgres docker tag to v18.1 (#13771)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-15 12:45:13 -05:00
renovate[bot]
111ae16330 fix(deps): update dependency mongodb to v6.21.0 (#13772)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-15 12:45:04 -05:00
renovate[bot]
c95bfcbf5e fix(deps): update dependency sass to v1.94.0 (#13773)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-15 12:44:53 -05:00
renovate[bot]
899414f418 chore(deps): update dependency jsdom to v27.2.0 (#13770)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-15 12:18:15 -05:00
renovate[bot]
93c69f9d77 fix(deps): update dependency validator to v13.15.23 (#13769)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-15 12:18:03 -05:00
renovate[bot]
e14d3ac14b fix(deps): update dependency express-useragent to v2.0.2 (#13767)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-15 12:01:52 -05:00
renovate[bot]
9271e26786 fix(deps): update dependency autoprefixer to v10.4.22 (#13768)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-15 12:01:17 -05:00
Barış Soner Uşaklı
50951d5db5 Merge branch 'master' into develop 2025-11-13 12:25:24 -05:00
Barış Soner Uşaklı
9900171f24 fix: crash in resolveInboxes
2025-11-13T12:38:44.161Z [4568/2508892] - error: uncaughtException: Invalid URL
TypeError: Invalid URL
    at new URL (node:internal/url:818:25)
    at /home/saas/nodebb/src/activitypub/index.js:123:25
    at Array.filter (<anonymous>)
    at ActivityPub.resolveInboxes (/home/saas/nodebb/src/activitypub/index.js:122:13)
    at ActivityPub.send (/home/saas/nodebb/src/activitypub/index.js:424:36)
    at Object.announce (/home/saas/nodebb/src/activitypub/feps.js:72:20)
2025-11-13 12:25:16 -05:00
renovate[bot]
f24bb090b1 fix(deps): update dependency @isaacs/ttlcache to v2.1.1 (#13763)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-13 10:47:24 -05:00
renovate[bot]
63789ebb3b fix(deps): update dependency esbuild to v0.27.0 (#13766)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-13 10:46:53 -05:00
Julian Lam
5d9da6035e fix: log out user if session cookie resolves to non-existent uid 2025-11-10 11:55:19 -05:00
renovate[bot]
6ad93cd332 fix(deps): update dependency cron to v4.3.4 (#13762)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-06 18:20:28 -05:00
renovate[bot]
bc64d27f73 chore(deps): update dependency smtp-server to v3.16.1 (#13755)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-06 17:33:59 -05:00
Misty Release Bot
c88ecd25eb Latest translations and fallbacks 2025-11-06 20:53:04 +00:00
Julian Lam
3a81f90322 fix: make i18n test failure message easier to read 2025-11-06 15:51:23 -05:00
renovate[bot]
5be0a63054 fix(deps): update dependency sharp to v0.34.5 (#13758)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-06 15:35:13 -05:00
Barış Soner Uşaklı
dfe53d293a chore: up dbsearch 2025-11-06 12:36:26 -05:00
Julian Lam
9bb8a955cf fix: rename activitypub.out.announce.category, federate out Delete on topic move to cid -1 2025-11-06 11:59:56 -05:00
Julian Lam
e6911be35d refactor: deleteOrRestore internal method to federate out a Delete on delete, not just purge; better adheres to FEP 4f05 2025-11-06 11:30:17 -05:00
renovate[bot]
e1bf80dcef chore(deps): update dependency mocha to v11.7.5 (#13754)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-06 09:44:09 -05:00
Misty Release Bot
62889d2d5c Latest translations and fallbacks 2025-11-06 09:21:54 +00:00
Julian Lam
c616e657cc fix: bump harmony and persona for #13756 2025-11-05 13:50:47 -05:00
Julian Lam
2066727f3e fix: renderOverride to not clobber url if already set in template data 2025-11-05 13:43:04 -05:00
Julian Lam
172aabcb57 feat: add isNumber to client-side helpers 2025-11-05 13:43:04 -05:00
Misty Release Bot
49567c7295 chore(i18n): fallback strings for new resources: nodebb.admin-manage-categories 2025-11-05 17:55:34 +00:00
Julian Lam
ed83bc5b83 revert: remove federatedDescription category field, closes #13757 2025-11-05 12:55:08 -05:00
Misty Release Bot
a8e45587bc Latest translations and fallbacks 2025-11-05 09:22:28 +00:00
renovate[bot]
4c5f7f6060 chore(deps): update redis docker tag to v8.2.3 (#13750)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-04 12:54:57 -05:00
renovate[bot]
a34284df83 fix(deps): update dependency bcryptjs to v3.0.3 (#13751)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-04 12:44:03 -05:00
renovate[bot]
1921ccaa10 fix(deps): update dependency sitemap to v9 (#13752)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-04 12:43:34 -05:00
Barış Soner Uşaklı
4e33c1dfd3 chore: up harmony, closes #13753 2025-11-04 12:42:08 -05:00
renovate[bot]
13c23fddd7 chore(deps): update github artifact actions (#13730)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-04 11:56:41 -05:00
renovate[bot]
4e7867a95d chore(deps): update dependency @eslint/js to v9.39.1 (#13747)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-04 11:56:01 -05:00
renovate[bot]
090eb08845 fix(deps): update dependency esbuild to v0.25.12 (#13748)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-04 11:55:48 -05:00
Julian Lam
7fb9bb2f15 Merge remote-tracking branch 'origin/master' into develop 2025-11-04 11:32:55 -05:00
Julian Lam
be4d0e811e fix: wrong auto-categorization if group actor is explicitly included in audience 2025-11-04 11:09:15 -05:00
Misty Release Bot
85d2667215 Latest translations and fallbacks 2025-11-01 09:20:27 +00:00
renovate[bot]
a36d89fcda fix(deps): update dependency rimraf to v6.1.0 (#13744)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-31 20:27:53 -04:00
renovate[bot]
ba1230735f fix(deps): update dependency sass to v1.93.3 (#13746)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-31 20:27:10 -04:00
renovate[bot]
cb96701b47 chore(deps): update dependency sass-embedded to v1.93.3 (#13745)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-31 20:27:01 -04:00
renovate[bot]
4ce4e773cb chore(deps): update dependency jsdom to v27.1.0 (#13743)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-31 16:17:35 -04:00
Julian Lam
98a1101d40 test: update test for toPid logic to reflect that toPid stays even if parent is purged 2025-10-31 09:44:06 -04:00
Julian Lam
9d3e817960 fix: bump themes for cross-post support, #13396 2025-10-31 09:41:04 -04:00
Barış Soner Uşaklı
179440372a refactor: get rid of post.exists check, if post doesnt exist content is falsy 2025-10-30 20:34:01 -04:00
Barış Soner Uşaklı
b5ea20898e chore: up express-useragent 2025-10-30 20:32:24 -04:00
Misty Release Bot
425d2eb295 Latest translations and fallbacks 2025-10-30 09:20:53 +00:00
Julian Lam
4858abe149 fix: add replies in parallel during note assertion 2025-10-29 15:18:19 -04:00
Julian Lam
748cc5eecd fix: logic error in context generation 2025-10-29 15:18:19 -04:00
Julian Lam
30b1212a0a fix: relax toPid assertion checks so that it only checks that it is a number or uri 2025-10-29 15:18:19 -04:00
Julian Lam
f6219d0026 fix: update logic so that purging a post does not remove toPid fields from children, updated addParentPosts so that post existence is checked 2025-10-29 15:18:19 -04:00
Barış Soner Uşaklı
728184dab6 Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-10-29 13:16:39 -04:00
Barış Soner Uşaklı
a0a10c8b5c chore: up ttlcache to 2.x 2025-10-29 13:16:34 -04:00
renovate[bot]
97e5aa1d18 chore(deps): update mongo docker tag to v8.2 (#13738)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-29 13:08:05 -04:00
renovate[bot]
b5c1e8e7f6 fix(deps): update dependency sitemap to v8.0.2 (#13736)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-29 13:07:55 -04:00
renovate[bot]
07d169d29e chore(deps): update dependency smtp-server to v3.16.0 (#13737)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-29 13:07:34 -04:00
Julian Lam
5c3b126166 fix(deps): update mentions 2025-10-29 12:32:36 -04:00
Julian Lam
524df6e548 fix: update category mock to save full handle 2025-10-29 12:32:24 -04:00
renovate[bot]
6f448ce2f6 fix(deps): update dependency validator to v13.15.20 (#13733)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-29 11:47:10 -04:00
Julian Lam
964a5388b7 fix(deps): bump mentions to 4.8.0 2025-10-28 13:40:35 -04:00
Julian Lam
a68b00ade9 Merge branch 'master' into develop 2025-10-28 11:51:10 -04:00
Julian Lam
5cfec5b1a9 fix: order of operations when updating category handle 2025-10-28 11:51:02 -04:00
Barış Soner Uşaklı
d1a06ba020 Merge branch 'master' into develop 2025-10-27 20:11:21 -04:00
Barış Soner Uşaklı
07eb16150c center user count in chat, add commas to usercount, make last user image full width 2025-10-27 20:07:33 -04:00
renovate[bot]
a49efe49ea fix(deps): update dependency commander to v14.0.2 (#13731)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-27 10:57:57 -04:00
Misty Release Bot
ff5f65bfa1 Latest translations and fallbacks 2025-10-27 09:21:45 +00:00
Julian Lam
ab9154aa49 fix: logic error in out.remove.context 2025-10-24 13:32:04 -04:00
Barış Soner Uşaklı
9ce8480831 Merge branch 'master' into develop 2025-10-24 11:27:50 -04:00
Barış Soner Uşaklı
008e1ae4e4 lint: fix lint 2025-10-24 11:27:43 -04:00
Barış Soner Uşaklı
aa1ba4b59e Merge branch 'master' into develop 2025-10-24 11:13:11 -04:00
Barış Soner Uşaklı
430a3e8113 test: add test for #13729 2025-10-24 11:12:20 -04:00
Barış Soner Uşaklı
9410f466d8 fix: closes #13729, fix filename encoding 2025-10-24 11:04:29 -04:00
renovate[bot]
418717fdff fix(deps): update dependency redis to v5.9.0 (#13727)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-24 09:16:38 -04:00
Misty Release Bot
25c088b228 Latest translations and fallbacks 2025-10-24 09:21:02 +00:00
Julian Lam
8ca52c7e78 feat: handle Move(Context) activity 2025-10-23 12:15:36 -04:00
Julian Lam
194cedb4d7 fix: cross-check remove(context) target prop against cid 2025-10-23 12:03:04 -04:00
renovate[bot]
e3c55f76c1 chore(deps): update dependency lint-staged to v16.2.6 (#13725)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-23 09:36:55 -04:00
renovate[bot]
c1f6e52ba5 fix(deps): update dependency nodemailer to v7.0.10 (#13726)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-23 09:36:33 -04:00
Julian Lam
4f2f872bf9 fix: update logic re: federating out topic moves 2025-10-22 15:15:19 -04:00
Julian Lam
22868d3f97 fix: bad var 2025-10-22 15:05:06 -04:00
Julian Lam
d02e188a5f feat: update Remove(Context) to use target instead of origin, federate out Move(Context) on topic move between local cids 2025-10-22 15:04:47 -04:00
Julian Lam
3ede64d8a1 refactor: move all methods in src/api/activitypub.js to src/activitypub.out.js 2025-10-22 14:41:56 -04:00
Misty Release Bot
bb34b8c7a3 Latest translations and fallbacks 2025-10-22 09:20:27 +00:00
renovate[bot]
5a6c209770 fix(deps): update dependency workerpool to v10 (#13723)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-21 20:23:22 -04:00
Julian Lam
3df4970ce1 fix: call api.topics method on topic move during note assertion, have category announce new topic on note assertion 2025-10-21 12:16:20 -04:00
Julian Lam
34e95e6d46 feat: context removal logic (aka moving topics to uncategorized, and federating this to other NodeBBs)
Squashed commit of the following:

commit 3309117eb1
Author: Julian Lam <julian@nodebb.org>
Date:   Tue Oct 21 11:48:12 2025 -0400

    fix: activitypubApi.remove.context to use oldCid instead of cid

commit e90c5f79eb
Author: Julian Lam <julian@nodebb.org>
Date:   Tue Oct 21 11:41:05 2025 -0400

    fix: parseInt cid in cid detection for api.topics.move

commit ab6561e60f
Author: Julian Lam <julian@nodebb.org>
Date:   Mon Oct 20 14:03:45 2025 -0400

    feat: inbox handler for Remove(Context)

commit 30dc527cc0
Author: Julian Lam <julian@nodebb.org>
Date:   Mon Oct 20 12:17:23 2025 -0400

    feat: unwind announce(delete), federate out Remove(Context) on delete, but not on purge
2025-10-21 12:00:01 -04:00
renovate[bot]
83a172c9a4 chore(deps): update dependency lint-staged to v16.2.5 (#13721)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-21 10:13:58 -04:00
Misty Release Bot
e7498e8fb5 chore(i18n): fallback strings for new resources: nodebb.admin-settings-uploads 2025-10-21 14:11:49 +00:00
Barış Soner Uşaklı
97e59fbe04 feat: add new setting to control posts uploads being shown as thumbs 2025-10-21 10:11:18 -04:00
renovate[bot]
93d46c842e chore(deps): update dependency @stylistic/eslint-plugin to v5.5.0 (#13717)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-20 11:44:31 -04:00
renovate[bot]
9d2b83f563 chore(deps): update dependency jsdom to v27.0.1 (#13718)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-20 11:33:11 -04:00
renovate[bot]
1d9d7fc56b fix(deps): update dependency sitemap to v8.0.1 (#13720)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-20 11:32:52 -04:00
renovate[bot]
7fd9e89495 chore(deps): update dependency @eslint/js to v9.38.0 (#13716)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-17 22:25:08 -04:00
renovate[bot]
27a0dc731b fix(deps): update dependency ace-builds to v1.43.4 (#13714)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-17 22:10:24 -04:00
Barış Soner Uşaklı
f59b1c03b8 Merge branch 'master' into develop 2025-10-17 22:03:10 -04:00
Barış Soner Uşaklı
52c56bc545 chore: up themes 2025-10-17 22:02:57 -04:00
Barış Soner Uşaklı
2425f3b671 https://github.com/NodeBB/NodeBB/issues/13713 2025-10-17 16:23:50 -04:00
Misty Release Bot
f47aa678f5 chore: incrementing version number - v4.6.1
(cherry picked from commit 351c9abc6f)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2025-10-17 15:21:57 +00:00
Misty Release Bot
655c858b5d chore: update changelog for v4.6.1 2025-10-17 15:21:57 +00:00
Misty Release Bot
351c9abc6f chore: incrementing version number - v4.6.1 2025-10-17 15:21:57 +00:00
Misty Release Bot
acf1e996b4 Merge commit 'ecf95d1898347d3d8f0c6799d6c2ea9c92d4818b' into v4.x 2025-10-17 15:21:46 +00:00
Julian Lam
ecf95d1898 fix: do not include image or icon props if they are falsy values 2025-10-17 11:13:13 -04:00
Julian Lam
603068aebb fix: do not include image or icon props if they are falsy values 2025-10-17 11:11:04 -04:00
Julian Lam
f98a7216a3 feat: handle Delete(Context) as a move to cid -1 if the remote context still exists 2025-10-16 16:23:27 -04:00
Julian Lam
e09bb8b611 refactor: user announces no longer occur on topic move. Instead, the new category announces. Only occurs when topic moved to local categories. 2025-10-16 15:57:01 -04:00
Julian Lam
1d529473b4 fix: rebroadcasting logic should only execute for local tids if the remote cid is not addressed already 2025-10-16 12:17:52 -04:00
Julian Lam
2b2028e446 refactor: inbox announce(delete) handling to also handle context deletion, #13712 2025-10-16 11:27:51 -04:00
Julian Lam
4d5005b972 feat: handle incoming Announce(Delete), closes #13712 2025-10-16 11:12:00 -04:00
Julian Lam
fadac6165e fix: move Announce(Delete) out of topics.move and into topics API method 2025-10-15 15:02:23 -04:00
Julian Lam
3fa74d4cec fix: do not include actor from reflected activity when rebroadcasting remote cid 2025-10-15 12:33:57 -04:00
Julian Lam
d4695f1085 fix: broken category urls in to, cc 2025-10-15 12:31:55 -04:00
Julian Lam
a45f6f9c4c fix: update getPrivateKey to send application actor key when cid 0 2025-10-15 12:24:42 -04:00
Julian Lam
58a9e1c4f9 fix: update targets in 1b12 rebroadcast when cid is remote 2025-10-15 12:21:44 -04:00
Julian Lam
79d088536a fix: update 1b12 rebroadcast logic to send as application actor if post is in remote cid 2025-10-15 12:03:26 -04:00
Julian Lam
c25c629023 fix(deps): bump dbsearch 2025-10-15 11:52:47 -04:00
Julian Lam
9583f0d49b feat: execute 1b12 rebroadcast logic on all tids even if not posted to a local cid 2025-10-15 11:24:12 -04:00
renovate[bot]
41b7a91d8f fix(deps): update dependency esbuild to v0.25.11 (#13710)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-15 09:10:55 -04:00
renovate[bot]
febe0ae01a chore(deps): update actions/setup-node action to v6 (#13708)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-14 13:24:44 -04:00
renovate[bot]
bf37c7bd77 fix(deps): update dependency chart.js to v4.5.1 (#13704)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-14 13:24:26 -04:00
Julian Lam
af5efbd71d fix: regression caused by d3b3720915 2025-10-14 11:21:39 -04:00
Barış Soner Uşaklı
c80cb51065 Merge branch 'master' into develop 2025-10-13 13:45:21 -04:00
Barış Soner Uşaklı
499c50a485 fix: #13705, don't cover link if preview is opening up 2025-10-13 13:45:11 -04:00
renovate[bot]
238600a0ec chore(deps): update dependency smtp-server to v3.15.0 (#13702)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-11 21:04:03 -04:00
renovate[bot]
f608c7c7a7 chore(deps): update dependency lint-staged to v16.2.4 (#13699)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-11 21:03:52 -04:00
renovate[bot]
fa18287d03 fix(deps): update dependency nodebb-theme-persona to v14.1.15 (#13701)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-11 21:03:42 -04:00
renovate[bot]
49a2932594 fix(deps): update dependency nodebb-theme-harmony to v2.1.21 (#13700)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-11 21:03:34 -04:00
Barış Soner Uşaklı
6c2100684b fix: crash in tests 2025-10-11 20:54:00 -04:00
Barış Soner Uşaklı
d7657538fa Revert "feat: auto-enable link-preview plugin on new installations"
This reverts commit b153941cf3.
2025-10-11 20:39:14 -04:00
renovate[bot]
5d3709f002 fix(deps): update dependency nodemailer to v7.0.9 (#13695)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-11 16:02:42 -04:00
renovate[bot]
a2892f60bc fix(deps): update dependency semver to v7.7.3 (#13697)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-11 16:02:30 -04:00
renovate[bot]
bb7b65eaa1 fix(deps): update dependency webpack to v5.102.1 (#13698)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-11 16:02:20 -04:00
Barış Soner Uşaklı
b309a672a8 chore: up persona 2025-10-10 12:19:58 -04:00
Julian Lam
b153941cf3 feat: auto-enable link-preview plugin on new installations 2025-10-09 14:01:08 -04:00
Julian Lam
e7bdf6bc31 feat: bundle link-preview plugin 2025-10-09 14:00:30 -04:00
Julian Lam
07bed55e33 fix: add attachments to retrieved post data onNewPost 2025-10-09 13:58:13 -04:00
Julian Lam
d3b3720915 refactor: move post attachment handling directly into posts.create 2025-10-09 13:58:08 -04:00
Julian Lam
623cec9d91 fix: logic error in image mime type checking 2025-10-08 11:07:43 -04:00
Barış Soner Uşaklı
79327e6cac chore: up harmony 2025-10-07 17:34:55 -04:00
Julian Lam
4d24309a06 feat: federate topic deletion on topic deletion as well as purge 2025-10-07 11:35:36 -04:00
Julian Lam
e29a418cdd Merge branch 'master' into develop 2025-10-06 22:17:45 -04:00
Julian Lam
ec3998974c fix: omg what. 2025-10-06 22:17:35 -04:00
Julian Lam
93b6cb5984 feat: federate Delete on post delete as well as purge, topic deletion federates Announce(Delete(Object)) 2025-10-06 13:45:46 -04:00
renovate[bot]
923ddbc1f1 chore(deps): update postgres docker tag to v18 (#13679)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-06 10:28:44 -04:00
renovate[bot]
d73892aeda chore(deps): update dependency @eslint/js to v9.37.0 (#13693)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-06 10:13:40 -04:00
renovate[bot]
5dc9f2c5d4 fix(deps): update dependency nodemailer to v7.0.7 (#13694)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-06 10:13:26 -04:00
Misty Release Bot
66285ef53e Latest translations and fallbacks 2025-10-05 09:20:02 +00:00
renovate[bot]
9b6e9b2ac3 fix(deps): update dependency redis to v5.8.3 (#13691)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-03 16:50:50 -04:00
renovate[bot]
4640a63e4b chore(deps): update redis docker tag to v8.2.2 (#13692)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-03 16:47:23 -04:00
renovate[bot]
c769666737 chore(deps): update dependency mocha to v11.7.4 (#13685)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-03 16:05:14 -04:00
renovate[bot]
eb06bda8d8 chore(deps): update dependency @commitlint/cli to v20.1.0 (#13686)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-03 16:04:55 -04:00
renovate[bot]
19dc1025d4 fix(deps): update dependency winston to v3.18.3 (#13687)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-03 16:04:26 -04:00
Misty Release Bot
ee395bc5e7 chore: incrementing version number - v4.6.0
(cherry picked from commit 367f66caa4)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2025-10-01 18:12:06 +00:00
Misty Release Bot
c0d9bb0723 chore: update changelog for v4.6.0 2025-10-01 18:12:06 +00:00
Misty Release Bot
367f66caa4 chore: incrementing version number - v4.6.0 2025-10-01 18:12:05 +00:00
Misty Release Bot
2fc253f2db Merge commit '39e5b8fec3bd5d284b843597e8c637d6b67388a2' into v4.x 2025-10-01 18:04:49 +00:00
Julian Lam
39e5b8fec3 Merge branch 'master' into develop 2025-10-01 13:51:11 -04:00
Julian Lam
5ed19ef8a9 fix: login handler to handle if non-confirmed email is entered 2025-10-01 13:51:04 -04:00
Julian Lam
189fcfa694 Merge branch 'master' into develop 2025-10-01 12:52:17 -04:00
Julian Lam
56a9336611 docs: update openapi schema to refer to try.nodebb.org instead of example.org 2025-10-01 12:52:09 -04:00
Julian Lam
3fcaa678a1 chore: remove unneeded secureRandom require 2025-10-01 12:15:07 -04:00
Julian Lam
675178aca4 fix: allow quote-inline class in mocks sanitizer so quote-post fallback elements can be detected and removed during title generation, fixes #13688 2025-10-01 12:13:57 -04:00
Julian Lam
9cee799937 fix: force outgoing page on direct access to /ap handler 2025-10-01 11:53:57 -04:00
Julian Lam
954e7bc8e3 fix: update outgoing page to match 404 design 2025-10-01 11:43:29 -04:00
renovate[bot]
d7e93a5d75 chore(deps): update dependency lint-staged to v16.2.3 (#13681)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-01 11:31:16 -04:00
renovate[bot]
17dba0b038 fix(deps): update dependency webpack to v5.102.0 (#13683)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-01 11:12:42 -04:00
Julian Lam
4776d01281 sec: disallow checkHeader from returning a URL from a different origin than the passed-in URL 2025-10-01 11:00:03 -04:00
Julian Lam
c3df68f2ed fix: don\'t begin processing local login if the passed-in username isn't even valid 2025-09-30 11:05:46 -04:00
Misty Release Bot
ad2da6392d chore: incrementing version number - v4.5.2
(cherry picked from commit 30ba8e8247)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2025-09-29 14:04:08 +00:00
Misty Release Bot
9a596d67f3 chore: update changelog for v4.5.2 2025-09-29 14:04:08 +00:00
Misty Release Bot
30ba8e8247 chore: incrementing version number - v4.5.2 2025-09-29 14:04:07 +00:00
Misty Release Bot
40dc047a9b Merge commit '7abdfd86ac87bcd4f5df7d17ae0cdf157177a991' into v4.x 2025-09-29 14:04:06 +00:00
Misty Release Bot
f644974a9b Latest translations and fallbacks 2025-09-28 09:20:03 +00:00
Misty Release Bot
675bec331c Latest translations and fallbacks 2025-09-27 09:20:16 +00:00
Misty Release Bot
160907d0fa Latest translations and fallbacks 2025-09-26 09:20:35 +00:00
Barış Soner Uşaklı
28a6256209 Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-09-25 21:35:02 -04:00
Barış Soner Uşaklı
d6e7e168ba test: fix message 2025-09-25 21:35:01 -04:00
renovate[bot]
30ca00002a chore(deps): update actions/download-artifact action to v5 (#13646)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-25 20:49:28 -04:00
renovate[bot]
a4d8619ba3 chore(deps): update dependency @eslint/js to v9.36.0 (#13670)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-25 20:47:24 -04:00
renovate[bot]
6dab3f2e63 chore(deps): update commitlint monorepo to v20 (#13678)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-25 20:33:52 -04:00
Barış Soner Uşaklı
8061a53b3a Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-09-25 19:20:21 -04:00
Barış Soner Uşaklı
8614d8258d test: show tids on test fail 2025-09-25 19:20:17 -04:00
renovate[bot]
3370c06472 chore(deps): update dependency @stylistic/eslint-plugin to v5.4.0 (#13671)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-25 19:18:05 -04:00
renovate[bot]
13ce106b21 chore(deps): update dependency lint-staged to v16.2.1 (#13672)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-25 19:01:50 -04:00
renovate[bot]
9b00ff1e52 fix(deps): update dependency mongodb to v6.20.0 (#13665)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-25 18:42:27 -04:00
Julian Lam
3bba902932 test: more fixes for note vs. article 2025-09-25 15:29:10 -04:00
Julian Lam
1587808700 test: short OPs create Notes again 2025-09-25 15:18:26 -04:00
Julian Lam
051043b682 doc: 'nickname' and 'descriptionParsed' use in categories controller 2025-09-25 15:16:42 -04:00
Julian Lam
7184507be2 fix: #13667, record to instances:lastSeen instead of domains:lastSeen 2025-09-25 15:12:52 -04:00
Barış Soner Uşaklı
c7e84b8d92 Merge branch 'master' into develop 2025-09-25 12:38:02 -04:00
Julian Lam
7abdfd86ac fix: skip header checking during note assertion if test runner is active 2025-09-25 11:56:38 -04:00
Barış Soner Uşaklı
0a2fa45da1 perf: update upgrade script to use bulk methods
add missing progress.total
2025-09-25 11:02:12 -04:00
Misty Release Bot
15fdaba5f6 Latest translations and fallbacks 2025-09-25 09:20:45 +00:00
Barış Soner Uşaklı
32d0ee4808 perf: update old upgrade scripts to use bulkSet/Add
fix a missing await
2025-09-25 02:03:24 -04:00
Barış Soner Uşaklı
2b987d09ce perf: update old upgrade scripts to use bulkSet/Add
fix a missing await
2025-09-25 02:03:14 -04:00
Misty Release Bot
6055b345e1 chore(i18n): fallback strings for new resources: nodebb.admin-manage-categories 2025-09-24 17:49:25 +00:00
Julian Lam
cf3964be6f chore: fix grammatical error in language string 2025-09-24 13:48:57 -04:00
Misty Release Bot
8730073af1 chore(i18n): fallback strings for new resources: nodebb.admin-manage-categories 2025-09-24 15:25:46 +00:00
Julian Lam
bd80b77a7a feat: ability to nickname remote categories, closes #13677 2025-09-24 11:25:20 -04:00
Julian Lam
175dc20906 fix: #13676, bug where nested remote categories could not be removed 2025-09-24 10:42:16 -04:00
Julian Lam
8c553b1854 fix: regression 218f5ea from via, stricter check on whether the calling user is a remote uid 2025-09-24 10:01:20 -04:00
Misty Release Bot
d0921ea5a2 Latest translations and fallbacks 2025-09-24 09:20:40 +00:00
renovate[bot]
00d80616d9 fix(deps): update dependency lru-cache to v11.2.2 (#13669)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-23 20:17:28 -04:00
renovate[bot]
df9d637c13 chore(deps): update dependency sass-embedded to v1.93.2 (#13673)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-23 20:16:38 -04:00
renovate[bot]
1b5804e1c9 fix(deps): update dependency sass to v1.93.2 (#13674)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-23 20:16:28 -04:00
renovate[bot]
6e84e35fc3 fix(deps): update fontsource monorepo (#13663)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-23 19:40:03 -04:00
Julian Lam
218f5eabe2 fix: #13668, privilege checking on topic create for remote users; was not properly checking against fediverse pseudo-user 2025-09-23 11:00:17 -04:00
Julian Lam
33b56e810c Merge branch 'master' into develop 2025-09-22 12:15:30 -04:00
Julian Lam
d0c058263f fix: update note assertion topic members check to simpler posts.exists check
The original logic checked that each member of the resolved chain was part of the resolved topic.

That isn't always the case, especially when topics splinter due to network timeouts/unavailability.

This ended up causing issues where already asserted posts were re-asserted but failed because they no longer served an _activitypub object since it was already asserted and the data was just pulled from the db.
2025-09-22 12:14:20 -04:00
Julian Lam
be098e1207 Merge branch 'master' into develop 2025-09-22 11:57:05 -04:00
Julian Lam
4d68e3fe14 fix: re-jig handling of ap tag values so that only hashtags are considered (not Piefed community tags, etc.) 2025-09-22 11:56:55 -04:00
Misty Release Bot
3f8ff7139f Latest translations and fallbacks 2025-09-21 09:20:01 +00:00
Julian Lam
9deb576d1e Merge branch 'master' into develop 2025-09-19 14:43:13 -04:00
Julian Lam
f9edb13f62 fix: missing actor assertion on 1b12 announced upboat 2025-09-19 14:43:04 -04:00
Julian Lam
d122bf4a98 fix: update logic as to whether a post is served as an article or not
Now, if OP is less than 500 characters, it is just federated out as a Note instead.
2025-09-19 12:43:13 -04:00
Julian Lam
be9212b59f fix: update activitypubFilterList logic so that it is also checked on resolveInbox and ActivityPub.get methods, updated instances.isAllowed to no longer return a promise 2025-09-19 10:56:35 -04:00
Julian Lam
559155da63 refactor: notes.assert to add finally block, update assertPayload to update instances:lastSeen via method instead of direct db call 2025-09-19 10:34:57 -04:00
Julian Lam
d1f5060f11 fix(deps): bump 2factor to 7.6.0 2025-09-18 13:33:16 -04:00
renovate[bot]
9b48bbd501 fix(deps): update dependency esbuild to v0.25.10 (#13664)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-17 17:33:55 -04:00
renovate[bot]
c8680f300a fix(deps): update dependency sharp to v0.34.4 (#13662)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-17 17:00:39 -04:00
renovate[bot]
3238248eec chore(deps): update dependency jsdom to v27 (#13653)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-17 11:41:57 -04:00
renovate[bot]
b2d91dc319 fix(deps): update dependency satori to v0.18.3 (#13660)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-17 11:41:33 -04:00
Barış Soner Uşaklı
5beeedd67c Revert "lint: remove unused"
This reverts commit a6674f67a1.
2025-09-17 11:09:02 -04:00
Barış Soner Uşaklı
57a4ce8006 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2025-09-17 10:58:31 -04:00
Barış Soner Uşaklı
a6674f67a1 lint: remove unused 2025-09-17 10:58:26 -04:00
Julian Lam
532653110c Revert "fix: add pre-processing step to title generation logic so sbd doesn't fall over so badly"
This reverts commit f7c4742987.
2025-09-17 10:58:07 -04:00
Barış Soner Uşaklı
6cca55e37f fix: use parameterized query for key lookup 2025-09-17 10:50:35 -04:00
Julian Lam
f7c4742987 fix: add pre-processing step to title generation logic so sbd doesn't fall over so badly 2025-09-17 10:44:51 -04:00
renovate[bot]
b845aa48be fix(deps): update dependency nodebb-theme-harmony to v2.1.20 (#13659)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-16 21:26:59 -04:00
renovate[bot]
8324be2d79 fix(deps): update dependency fs-extra to v11.3.2 (#13658)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-16 21:18:11 -04:00
Barış Soner Uşaklı
6cba6927e4 Merge branch 'master' into develop 2025-09-16 19:08:14 -04:00
Barış Soner Uşaklı
b1e134b44e pass string to isUUID 2025-09-16 19:08:10 -04:00
Barış Soner Uşaklı
f7bbec7ccf fix: switch to action 2025-09-16 11:48:39 -04:00
Barış Soner Uşaklı
9c18c6fe49 feat: add a term param to recent controller so it can be controller without req.query.term 2025-09-16 11:24:14 -04:00
Barış Soner Uşaklı
68a8db856a feat: add a new hook to override generateUrl in navigator.js 2025-09-16 11:23:31 -04:00
Julian Lam
36346dd822 Merge branch 'master' into develop 2025-09-15 14:10:07 -04:00
Julian Lam
b66c30a2a7 fix: handle cases where incoming ap object tag can be a non-array 2025-09-15 14:10:02 -04:00
Julian Lam
e2e916e200 Merge remote-tracking branch 'origin/master' into develop 2025-09-15 14:01:08 -04:00
Julian Lam
5f4790a48c feat: allow activities to be addressed to as:Public or Public to be treated as public content 2025-09-15 14:01:00 -04:00
Julian Lam
f67942caec fix: local pids not always converted to absolute URLs on topic actor controller 2025-09-15 13:53:35 -04:00
Barış Soner Uşaklı
8a120b76a8 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2025-09-15 12:57:34 -04:00
Barış Soner Uşaklı
52fec49310 chore: remove obsolete deprecation 2025-09-15 12:57:29 -04:00
Julian Lam
225bf85e94 fix: #13657, fix remote category data inconsistency in sendNotificationToPostOwner 2025-09-15 12:47:49 -04:00
renovate[bot]
db89250982 fix(deps): update dependency @fontsource/inter to v5.2.7 (#13655)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-15 11:09:40 -04:00
Barış Soner Uşaklı
b95c6e2d2d Merge branch 'master' into develop 2025-09-15 09:33:12 -04:00
Barış Soner Uşaklı
405d2172ac chore: up persona 2025-09-15 09:32:05 -04:00
renovate[bot]
19f3919890 fix(deps): update dependency commander to v14.0.1 (#13652)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-13 20:27:47 -04:00
Barış Soner Uşaklı
61b3931621 Merge branch 'master' into develop 2025-09-13 18:11:56 -04:00
Barış Soner Uşaklı
dfe19a98c1 fix: don't show votes on unread if rep system disabled
add openapi spec
2025-09-13 17:51:25 -04:00
Barış Soner Uşaklı
8cb1cae1cc Merge branch 'master' into develop 2025-09-13 17:40:49 -04:00
Barış Soner Uşaklı
8a786c717e fix: if reputation is disabled hide votes on /recent
they were only hidden on category page
2025-09-13 17:40:09 -04:00
Barış Soner Uşaklı
e2dc592c4f fix: favicon path 2025-09-12 19:50:19 -04:00
Barış Soner Uşaklı
a37521b016 lint: fix 2025-09-12 19:27:07 -04:00
Barış Soner Uşaklı
56fad0be0d fix: check brand:touchIcon for correct path 2025-09-12 19:19:52 -04:00
renovate[bot]
1e82af66a6 fix(deps): update dependency bootswatch to v5.3.8 (#13651)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-12 11:36:55 -04:00
Barış Soner Uşaklı
f9ddbebacc fix: remove .auth call 2025-09-12 11:33:53 -04:00
Misty Release Bot
eecf9dda64 Latest translations and fallbacks 2025-09-12 09:21:18 +00:00
renovate[bot]
15b0b54000 chore(deps): update dependency sass-embedded to v1.92.1 (#13638)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-11 18:58:44 -04:00
renovate[bot]
10344c98a8 fix(deps): update dependency sass to v1.92.1 (#13645)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-11 18:58:34 -04:00
renovate[bot]
7147a2e31a chore(deps): update dependency lint-staged to v16.1.6 (#13635)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-11 17:46:24 -04:00
Barış Soner Uşaklı
f9688b36b6 fix: port the try/catch for notes.assert from develop 2025-09-11 17:44:34 -04:00
Barış Soner Uşaklı
9184a7a4cc fix: add missing unlock in nested try/catch 2025-09-11 17:28:56 -04:00
Julian Lam
95fb084ca4 fix: wrap majority of note assertion logic in try..catch to handle exceptions so that the lock is always released 2025-09-11 10:30:25 -04:00
renovate[bot]
4f5e770c5f chore(deps): update actions/setup-node action to v5 (#13647)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-11 09:24:29 -04:00
renovate[bot]
6a1e9e8a11 fix(deps): update dependency workerpool to v9.3.4 (#13650)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-11 09:23:59 -04:00
Misty Release Bot
67fa433f1a Latest translations and fallbacks 2025-09-11 09:21:14 +00:00
renovate[bot]
ac90ef8c9a chore(deps): update dependency mocha to v11.7.2 (#13636)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-10 17:27:20 -04:00
renovate[bot]
6adfbb2482 fix(deps): update dependency lru-cache to v11.2.1 (#13644)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-10 17:26:21 -04:00
Julian Lam
f7d10e09ac Merge branch 'master' into develop 2025-09-10 15:07:13 -04:00
Julian Lam
953c051c2e fix: perform Link header check on note assertion only when skipChecks is falsy 2025-09-10 14:59:13 -04:00
Julian Lam
feda629f82 chore: remove formatApiResponse logging 2025-09-10 14:48:24 -04:00
Misty Release Bot
8d4e46529f chore(i18n): fallback strings for new resources: nodebb.admin-manage-categories 2025-09-10 13:49:20 +00:00
Barış Soner Uşaklı
160f475029 Merge branch 'master' into develop 2025-09-10 09:48:49 -04:00
Barış Soner Uşaklı
0311b98ed7 feat: add topic templates per category, closes #13649 2025-09-10 09:46:39 -04:00
Barış Soner Uşaklı
8d6a0f0298 test: ap timeouts 2025-09-09 11:28:29 -04:00
Barış Soner Uşaklı
10350ea6f6 revert: post queue changes to fix tests 2025-09-09 11:20:03 -04:00
Barış Soner Uşaklı
a5ea4b4056 chore: up eslint 2025-09-09 11:07:28 -04:00
Misty Release Bot
3044f38291 Latest translations and fallbacks 2025-09-09 09:20:59 +00:00
Misty Release Bot
8939010195 chore(i18n): fallback strings for new resources: nodebb.admin-settings-activitypub 2025-09-08 19:37:21 +00:00
Julian Lam
1d6a9fe738 feat: allow user auto-categorization rule 2025-09-08 15:36:48 -04:00
Julian Lam
10f665e3e3 Merge branch 'master' into develop 2025-09-08 12:00:49 -04:00
Julian Lam
527f27af29 fix: make auto-categorization logic case-insensitive 2025-09-08 12:00:32 -04:00
Barış Soner Uşaklı
c43e85164d Merge branch 'master' into develop 2025-09-08 09:37:54 -04:00
Barış Soner Uşaklı
b3ffa00789 fix: closes #13641, log test email sending errors server side 2025-09-08 09:29:32 -04:00
Misty Release Bot
5528c6eb19 Latest translations and fallbacks 2025-09-08 09:20:47 +00:00
Barış Soner Uşaklı
290a9395c0 fix: pass object to.auth 2025-09-06 13:47:46 -04:00
Julian Lam
9bfce68b5e test: disable post queue when testing posting logic 2025-09-05 14:39:23 -04:00
Julian Lam
15f9fbaa5c feat: add minor pre-processing step to better handle header elements in incoming html 2025-09-05 13:16:28 -04:00
Misty Release Bot
2de200b311 Latest translations and fallbacks 2025-09-05 09:20:19 +00:00
Julian Lam
2ea624fc8e fix: use newline_boundaries param for tokenizer during title and summary generation, attempt to serve HTML in summary generation 2025-09-04 16:55:04 -04:00
Misty Release Bot
69f4b61f63 chore: incrementing version number - v4.5.1
(cherry picked from commit 7a9e09a696)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2025-09-04 16:02:48 +00:00
Misty Release Bot
a9fffd7ca0 chore: update changelog for v4.5.1 2025-09-04 16:02:47 +00:00
Misty Release Bot
7a9e09a696 chore: incrementing version number - v4.5.1 2025-09-04 16:02:47 +00:00
Misty Release Bot
0d32af682c Merge commit '8d7e35378fef8d93c92c37a0e974256a40253ea5' into v4.x 2025-09-04 16:02:44 +00:00
Julian Lam
fcd9f1a999 Merge branch 'master' into develop 2025-09-04 11:47:45 -04:00
Julian Lam
8d7e35378f fix: remove unused dependency 2025-09-04 11:47:40 -04:00
Julian Lam
9221d34f01 fix: remove test for 1b12 announce on topic move (as this no longer occurs) 2025-09-04 11:45:33 -04:00
Julian Lam
99e067f19e Merge branch 'master' into develop 2025-09-04 11:20:26 -04:00
Julian Lam
e6996846ac fix: use existing id if checkHeader returns false 2025-09-04 11:20:17 -04:00
Barış Soner Uşaklı
58677c117a Merge branch 'master' into develop 2025-09-04 10:48:59 -04:00
Barış Soner Uşaklı
0c48e0e909 feat: use _variables.scss overrides from acp in custom skins and bootswatch skins as well 2025-09-04 10:48:53 -04:00
Julian Lam
2563255931 Merge branch 'master' into develop 2025-09-04 10:32:48 -04:00
Julian Lam
86d9016f02 fix: regression that caused Piefed (or potentially others) content to be dropped on receipt 2025-09-04 10:29:17 -04:00
Barış Soner Uşaklı
c07e81d2ab chore: up dbsearch 2025-09-03 20:57:55 -04:00
Julian Lam
3f00f250d9 Merge remote-tracking branch 'origin/master' into develop 2025-09-03 16:56:46 -04:00
Julian Lam
0f9015f050 fix: deprecated call to api.topics.move 2025-09-03 16:56:34 -04:00
Julian Lam
7adfe39ea1 fix: remove faulty code that tried to announce a remote object but couldn't as the ID was not a number 2025-09-03 14:46:01 -04:00
Barış Soner Uşaklı
b472dba244 Merge branch 'master' into develop 2025-09-03 14:12:23 -04:00
Julian Lam
5d6535719a chore: update default settings
undoTimeout reduced to 0
post queue default enabled with minimum reputation to bypass set to 1
2025-09-03 14:02:58 -04:00
Misty Release Bot
f05c5d060c chore: incrementing version number - v4.5.0
(cherry picked from commit 8c4d68a728)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2025-09-03 17:42:16 +00:00
Misty Release Bot
86d03b1e46 chore: update changelog for v4.5.0 2025-09-03 17:42:16 +00:00
Misty Release Bot
8c4d68a728 chore: incrementing version number - v4.5.0 2025-09-03 17:42:15 +00:00
Misty Release Bot
9b8874107e Merge commit '2dc39f1e3e7e0f24ab03a819a213ac6f53677cbc' into v4.x 2025-09-03 17:42:12 +00:00
renovate[bot]
2dc39f1e3e fix(deps): update dependency satori to v0.18.2 (#13628)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-03 11:27:55 -04:00
renovate[bot]
7adabd600d fix(deps): update dependency ace-builds to v1.43.3 (#13633)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-03 11:25:56 -04:00
renovate[bot]
4ade600785 chore(deps): pin dependency @stylistic/eslint-plugin to 5.3.1 (#13634)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-03 11:25:35 -04:00
renovate[bot]
07b9cd16bd fix(deps): update dependency nodemailer to v7.0.6 (#13630)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-03 11:20:27 -04:00
Julian Lam
70bbed93ce test: delete commented-out test 2025-09-03 11:12:45 -04:00
Barış Soner Uşaklı
5c00c6a579 Merge branch 'master' into develop 2025-09-03 11:10:31 -04:00
Barış Soner Uşaklı
2d5ad8b24e Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-08-30 13:24:34 -04:00
Barış Soner Uşaklı
19aa8a7168 fix: display proper id if lock fails 2025-08-30 13:24:33 -04:00
Misty Release Bot
b517e27d60 Latest translations and fallbacks 2025-08-30 09:19:56 +00:00
Jakub Bliźniuk
931b7345e4 ci: use native arm runners for building docker images (#13627)
* ci: split docker runners

* ci: don't tag initial image

* ci: use lowercase image name

* ci: remove qemu
2025-08-29 21:07:29 -04:00
Barış Soner Uşaklı
9d4a9b83cc fix: closes #13624, update post fields before schedule code
tldr when reschedule was called it was still using the timestamp in the future when adding to cid:<cid>:pids causing that post to get stuck at the top of that zset, which led to the bug in this issue
2025-08-29 21:02:14 -04:00
Barış Soner Uşaklı
a4674578e4 Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-08-29 15:23:24 -04:00
Barış Soner Uşaklı
f67265daa7 refactor: revert, don't need to pass relative_path 2025-08-29 15:23:19 -04:00
Julian Lam
4ef605b1aa fix: #13622, WordPress blog URLs not asserting properly 2025-08-29 13:33:19 -04:00
Barış Soner Uşaklı
648c454303 refactor: leaner utils.params for relative path 2025-08-29 13:07:46 -04:00
Barış Soner Uşaklı
a0e78ff853 fix: closes #13625, fix utils.params so it works with relative_paths 2025-08-29 12:50:06 -04:00
Julian Lam
35641f377c feat: use sbd to more intelligently put together a sub-500 character summary based on existing sentences in post content
The original behaviour was to just shove the entire post content (html and all) into summary. Summary _can_ include HTML, but it's a little harder to retain HTML but truncate the content based on sentences, without accidentally dropping tags.
2025-08-28 14:27:46 -04:00
Julian Lam
8268632235 feat: add sbd dependency to improve title generation (and for summary generation, later) 2025-08-28 14:12:04 -04:00
Julian Lam
a0be4a28da fix: remove webfinger error log 2025-08-28 12:45:56 -04:00
Barış Soner Uşaklı
b73ee309e0 refactor: remove invalid queued items
catch invalid json in payload
2025-08-28 12:39:44 -04:00
Julian Lam
5f7085f34d fix: urlencoded param in openapi spec example 2025-08-28 11:52:22 -04:00
Julian Lam
cbdc90a432 fix: re-ordering dependencies because raisins 2025-08-28 09:55:17 -04:00
Misty Release Bot
c67983cc50 Latest translations and fallbacks 2025-08-28 09:20:35 +00:00
Julian Lam
788301a56a fix: missed a tab character 2025-08-28 00:03:12 -04:00
Barış Soner Uşaklı
f83d2536ce refactor: braces 2025-08-27 18:46:37 -04:00
Barış Soner Uşaklı
457908bdf4 Merge branch 'master' into develop 2025-08-27 18:43:00 -04:00
ledlamp
8a326a6e74 Allow setting value of Express 'trust proxy' from config (#13034)
* Allow setting value of Express 'trust proxy' from config

* Allow config to disable 'trust proxy' if port is 80/443

And show the value of trust_proxy in log

* fix errors
2025-08-27 18:42:30 -04:00
Julian Lam
0f44034ec3 docs: add missing routes to openapi schema 2025-08-27 15:21:38 -04:00
Julian Lam
771b8dcb2d fix: random hotkeys adding dependencies to my project smh 2025-08-27 15:08:51 -04:00
Julian Lam
560cc2ebf9 docs: openapi typo 2025-08-27 14:21:45 -04:00
Misty Release Bot
cb00fb3bcc chore(i18n): fallback strings for new resources: nodebb.admin-settings-activitypub 2025-08-27 18:17:35 +00:00
Julian Lam
a9a12a9f08 docs: update openapi schema for relays and rules 2025-08-27 14:16:42 -04:00
Julian Lam
40973ca7d1 fix: parseAndTranslate bug 2025-08-27 14:16:42 -04:00
Julian Lam
aa26dfb372 feat: send local posts out to established relays 2025-08-27 14:16:42 -04:00
Julian Lam
6576468e2e fix: internationalize relay states 2025-08-27 14:16:42 -04:00
Julian Lam
28b63891d4 fix: minor fixes for yukimochi/Activity-Relay compatibility 2025-08-27 14:16:42 -04:00
Julian Lam
b1dbb19c10 fix: inbox.announce to not reject activities from relays 2025-08-27 14:16:42 -04:00
Julian Lam
f4d1df7c66 feat: relay handshake logic, handle Follow/Accept, send back Accept. 2025-08-27 14:16:42 -04:00
Julian Lam
4967492f4f fix: handle webfinger responses with subject missing scheme 2025-08-27 14:16:42 -04:00
Julian Lam
1e0fb20db4 feat: adding and removing relays from AP settings page in ACP 2025-08-27 14:16:42 -04:00
renovate[bot]
6d856545ec fix(deps): update dependency mongodb to v6.19.0 (#13619)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-27 13:42:18 -04:00
Barış Soner Uşaklı
be53dbcbb8 remove logs 2025-08-27 13:30:29 -04:00
Barış Soner Uşaklı
4ad7b59281 Update notes.js 2025-08-27 13:28:26 -04:00
Barış Soner Uşaklı
5dab17450f Revert "test: more logs for failing test"
This reverts commit 79c6e72ce6.
2025-08-27 13:27:36 -04:00
Barış Soner Uşaklı
8f7411c3aa test: add timeout to ap.helpers.query 2025-08-27 13:08:19 -04:00
Barış Soner Uşaklı
8e160fe05e test: more logs 2025-08-27 12:49:42 -04:00
Barış Soner Uşaklı
f703a94b31 test: add more logs 2025-08-27 12:34:24 -04:00
Barış Soner Uşaklı
681ce8bf2f test: add more logs 2025-08-27 12:23:10 -04:00
Barış Soner Uşaklı
029da6c52e test: debug timeout 2025-08-27 12:10:30 -04:00
Barış Soner Uşaklı
79c6e72ce6 test: more logs for failing test 2025-08-27 11:29:43 -04:00
Barış Soner Uşaklı
bf279d71b0 fix: closes #13501
add missing await
2025-08-27 11:02:12 -04:00
Barış Soner Uşaklı
027d6f307c fix: closes #13620 2025-08-27 00:06:32 -04:00
Barış Soner Uşaklı
5ee1fd02bb refactor: add missing awaits
fix error message, lock not using second param
2025-08-26 19:23:39 -04:00
Barış Soner Uşaklı
567f453b79 chore: enable dbsearch on new installs 2025-08-26 14:09:03 -04:00
Barış Soner Uşaklı
e79dfeb7c3 fix: rare crash if queued item is no longer in db but id is in post:queue 2025-08-26 13:56:47 -04:00
Barış Soner Uşaklı
69a6c1502f test: catch error in failing test 2025-08-26 12:04:58 -04:00
Barış Soner Uşaklı
fa1985bb17 Merge branch 'master' into develop 2025-08-26 11:52:09 -04:00
Barış Soner Uşaklı
f5ad786240 fix: jquery selector on post edit 2025-08-26 11:52:02 -04:00
renovate[bot]
08ea56bd12 fix(deps): update dependency sass to v1.91.0 (#13615)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-26 11:32:19 -04:00
renovate[bot]
e504ee348c chore(deps): update dependency sass-embedded to v1.91.0 (#13614)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-26 11:32:11 -04:00
renovate[bot]
29a7402fc9 fix(deps): update dependency bootstrap to v5.3.8 (#13618)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-26 11:21:33 -04:00
renovate[bot]
dfc558cdeb chore(deps): update dependency @eslint/js to v9.34.0 (#13612)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-26 11:01:39 -04:00
Julian Lam
a771b17fac fix: relative paths in openapi schema 2025-08-25 23:51:33 -04:00
Julian Lam
e8401472c0 fix: add missing routes to write.yaml 2025-08-25 16:48:33 -04:00
Julian Lam
d4bf5f0c2f lint: fix comma dangle 2025-08-25 13:23:25 -04:00
Barış Soner Uşaklı
590eae2917 Merge branch 'master' into develop 2025-08-25 12:17:23 -04:00
Barış Soner Uşaklı
1ea10eff1c test: sharp invalid png 2025-08-25 12:08:55 -04:00
Julian Lam
c0248ca52b docs: openapi schema fixes for auto-categorization commits 2025-08-25 12:05:50 -04:00
Barış Soner Uşaklı
3cdf28bd2c test: latest sharp 2025-08-25 11:48:34 -04:00
Julian Lam
165af50dc8 feat: apply auto-categorization logic 2025-08-25 11:47:05 -04:00
Barış Soner Uşaklı
312df52393 fix: only process unique slugs 2025-08-25 11:18:04 -04:00
Julian Lam
70d7e32929 fix: remove special-case logic that added a requested object to a topic if its defined context didn't actually contain it 2025-08-25 10:11:09 -04:00
Misty Release Bot
ae7fa6958d Latest translations and fallbacks 2025-08-24 09:19:45 +00:00
Barış Soner Uşaklı
09898b94ec fix: return null if field is falsy
fixes MongoServerError: FieldPath cannot be constructed with empty string error when getObjectField is called with a falsy value
2025-08-22 11:06:47 -04:00
Barış Soner Uşaklı
c16f9d6495 fix: mark-all read notifications button 2025-08-22 08:50:09 -04:00
Misty Release Bot
929ae61646 Latest translations and fallbacks 2025-08-22 09:20:14 +00:00
Barış Soner Uşaklı
fdd0152ee4 chore: up peace 2025-08-21 21:32:10 -04:00
Barış Soner Uşaklı
6d60f9457a chore: up harmony 2025-08-21 21:29:53 -04:00
Barış Soner Uşaklı
9bdf24f08b fix: catch exceptions in assertPayload, closes #13611 2025-08-21 21:25:14 -04:00
Barış Soner Uşaklı
74cd68b865 Merge branch 'master' into develop 2025-08-21 11:01:15 -04:00
Barış Soner Uşaklı
5dfd241335 lint: fix lint issue 2025-08-21 10:49:13 -04:00
Barış Soner Uşaklı
845e4cb8f3 Merge branch 'master' into develop 2025-08-21 10:48:35 -04:00
Barış Soner Uşaklı
2d415b5610 Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-08-21 10:45:36 -04:00
Barış Soner Uşaklı
20e2c8fe67 Merge branch 'master' into develop 2025-08-21 10:45:28 -04:00
Marco Beyer
181aa9c2ed (fix) fixed typos in activitypub urls (#13610) 2025-08-21 10:45:06 -04:00
Marco Beyer
8bef680015 (fix) Return relative asset URL instead of absolute asset url (#13605)
* Return relative asset URL instead of absolute asset url

* fixed linter issues and repeating relative path
2025-08-21 10:44:28 -04:00
renovate[bot]
2f4cf26c59 fix(deps): update dependency nodebb-theme-harmony to v2.1.17 (#13607)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-21 10:33:45 -04:00
renovate[bot]
8af76f3cae fix(deps): update dependency nodebb-theme-peace to v2.2.47 (#13608)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-21 10:33:35 -04:00
Misty Release Bot
f6e1a2e55c Latest translations and fallbacks 2025-08-21 09:19:42 +00:00
renovate[bot]
02228c04ef chore(deps): update redis docker tag to v8.2.1 (#13603)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-20 14:14:31 -04:00
renovate[bot]
138c675374 fix(deps): update dependency redis to v5.8.2 (#13606)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-20 14:14:16 -04:00
renovate[bot]
996740bdf9 fix(deps): update dependency webpack to v5.101.3 (#13602)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-20 13:49:29 -04:00
Barış Soner Uşaklı
44c0413c75 chore: use fontsource-utils/scss to get rid of deprecation warning
closes #13520
2025-08-20 11:48:19 -04:00
Misty Release Bot
981d3c29f8 Latest translations and fallbacks 2025-08-20 09:21:29 +00:00
Julian Lam
057e3b790b fix: add missing files 2025-08-19 19:55:05 -04:00
Misty Release Bot
10d84d0329 Latest translations and fallbacks 2025-08-19 09:20:26 +00:00
Misty Release Bot
40bda8fca4 chore(i18n): fallback strings for new resources: nodebb.admin-manage-categories, nodebb.admin-settings-activitypub 2025-08-18 20:09:26 +00:00
Julian Lam
bdcf28a3d9 feat: ability to add/remove auto-categorization rules for incoming federated content 2025-08-18 16:08:32 -04:00
Julian Lam
cb0b609289 refactor: category listing logic to allow remote categories to be added, disabled, and re-arranged in main forum index 2025-08-18 16:08:11 -04:00
Julian Lam
75639c86bd feat: re-jigger 'add category' button to allow addition of remote category to main index 2025-08-18 16:08:11 -04:00
Barış Soner Uşaklı
1515580940 test: add logs for test that's timing out 2025-08-17 11:17:47 -04:00
renovate[bot]
f4f7953ae3 chore(deps): update dependency lint-staged to v16.1.5 (#13585)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-16 18:43:50 -04:00
renovate[bot]
90bddccbc5 fix(deps): update dependency webpack to v5.101.2 (#13598)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-15 10:02:33 -04:00
renovate[bot]
f5b0444b1c fix(deps): update dependency nodebb-widget-essentials to v7.0.40 (#13597)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-15 10:02:07 -04:00
renovate[bot]
62d15a0e05 chore(deps): update postgres docker tag to v17.6 (#13599)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-15 10:01:56 -04:00
renovate[bot]
ceb65d138f fix(deps): update dependency tough-cookie to v6 (#13600)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-15 10:01:45 -04:00
Barış Soner Uşaklı
0bb86b20b3 Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-08-14 19:05:30 -04:00
Barış Soner Uşaklı
3a1ebae796 dont spam logs 2025-08-14 19:05:25 -04:00
renovate[bot]
bfdf47b69e chore(deps): update dependency @eslint/js to v9.33.0 (#13589)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-14 18:49:27 -04:00
Misty Release Bot
e079f8b291 Latest translations and fallbacks 2025-08-14 09:20:43 +00:00
Julian Lam
ecab347b2d fix: add missing file to ur language folder 2025-08-13 18:37:27 -04:00
Barış Soner Uşaklı
076cc9e868 lint: remove unused url 2025-08-13 17:36:55 -04:00
renovate[bot]
311bbefa42 chore(deps): update actions/checkout action to v5 (#13590)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-13 17:35:28 -04:00
renovate[bot]
9ef4cfa2e2 fix(deps): update dependency esbuild to v0.25.9 (#13593)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-13 17:35:05 -04:00
renovate[bot]
0f72b8cd6f fix(deps): update dependency redis to v5.8.1 (#13594)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-13 17:34:49 -04:00
Julian Lam
0481549734 test: use protocol of test runner 2025-08-13 15:26:32 -04:00
Julian Lam
06c3824740 fix: regression caused by cc6fd49c4d 2025-08-13 14:41:44 -04:00
renovate[bot]
c67aa43f14 fix(deps): update dependency webpack to v5.101.1 (#13588)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-13 11:02:52 -04:00
Julian Lam
cc6fd49c4d fix: protocol-relative URLs being accidentally munged, #13592 2025-08-13 10:01:05 -04:00
Julian Lam
673896390f fix: cache lookup error when doing loopback calls 2025-08-13 10:00:39 -04:00
Julian Lam
8c6992f525 feat: add Urdu localisation, thank you! 2025-08-13 09:35:08 -04:00
Misty Release Bot
49de4f375e Latest translations and fallbacks 2025-08-13 09:19:46 +00:00
Misty Release Bot
eeabc99092 chore(i18n): fallback strings for new resources: nodebb.social 2025-08-12 21:07:22 +00:00
Barış Soner Uşaklı
82037dee00 feat: add wordpress 2025-08-12 17:07:06 -04:00
Barış Soner Uşaklı
c10656ec52 feat: add wordpress 2025-08-12 17:06:57 -04:00
Misty Release Bot
e90b524b66 Latest translations and fallbacks 2025-08-12 09:19:59 +00:00
Misty Release Bot
18a6c98c9d Latest translations and fallbacks 2025-08-11 09:20:05 +00:00
Barış Soner Uşaklı
f8733e06a7 refactor: show code/stack when dep check fails 2025-08-08 16:10:11 -04:00
Barış Soner Uşaklı
900b04cbad Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-08-08 13:54:17 -04:00
Barış Soner Uşaklı
e68deaaca1 chore: up eslibt 2025-08-08 13:54:12 -04:00
renovate[bot]
abf7dd74d0 fix(deps): update dependency sass to v1.90.0 (#13582)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-08 13:51:20 -04:00
renovate[bot]
c869433373 chore(deps): update dependency sass-embedded to v1.90.0 (#13581)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-08 13:51:09 -04:00
Barış Soner Uşaklı
c8e3dc6b0b Merge branch 'master' into develop 2025-08-08 13:33:28 -04:00
Barış Soner Uşaklı
e7b479954a chore: up widget essentials 2025-08-08 13:21:43 -04:00
Misty Release Bot
88b40e1e9d Latest translations and fallbacks 2025-08-08 09:19:47 +00:00
Misty Release Bot
c305cc9069 Latest translations and fallbacks 2025-08-07 09:20:34 +00:00
Julian Lam
b4ff79061f fix: image handling when image url received is not a path with an extension 2025-08-06 13:50:17 -04:00
Misty Release Bot
074043ad41 chore: incrementing version number - v4.4.6
(cherry picked from commit bb913c152b)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2025-08-06 17:48:34 +00:00
Misty Release Bot
3895a0590c chore: update changelog for v4.4.6 2025-08-06 17:48:34 +00:00
Misty Release Bot
bb913c152b chore: incrementing version number - v4.4.6 2025-08-06 17:48:33 +00:00
Misty Release Bot
ea7ededae1 Merge commit '567ed8755b6783ef99619f2700b8b2a67095e70e' into v4.x 2025-08-06 17:48:31 +00:00
Barış Soner Uşaklı
32de562e70 Revert "feat: add inspect argument"
This reverts commit 955b27debc.
2025-08-06 13:38:42 -04:00
renovate[bot]
34ecdf2043 chore(deps): update dependency lint-staged to v16.1.4 (#13575)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-06 13:12:31 -04:00
renovate[bot]
5ce556d41f fix(deps): update dependency fs-extra to v11.3.1 (#13579)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-06 13:12:19 -04:00
renovate[bot]
3c3e448606 fix(deps): update dependency redis to v5.8.0 (#13580)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-06 13:12:05 -04:00
Barış Soner Uşaklı
955b27debc feat: add inspect argument 2025-08-06 13:10:56 -04:00
renovate[bot]
25bc9ba00b chore(deps): update redis docker tag to v8.2.0 (#13577)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-05 18:01:42 -04:00
Barış Soner Uşaklı
f8a0a7e194 test: fix notification tests 2025-08-05 18:00:44 -04:00
Barış Soner Uşaklı
9d39ed512f feat: only mark notifications read that match current filter
closes #13574
2025-08-05 17:51:53 -04:00
Barış Soner Uşaklı
e1423636a5 feat: closes #13578, increase uniquevisitors
on ap pageviews like normal pageviews
2025-08-05 10:46:10 -04:00
Misty Release Bot
340618d3e0 Latest translations and fallbacks 2025-08-04 09:19:55 +00:00
Barış Soner Uşaklı
2b8f3a7891 Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-08-03 06:43:36 -04:00
Barış Soner Uşaklı
c6889f0864 fix: readd retry items 2025-08-03 06:43:31 -04:00
Misty Release Bot
2a6e4b0a8d Latest translations and fallbacks 2025-08-03 09:19:18 +00:00
Julian Lam
fe1601608d fix: set noindex tag on remote profiles as well 2025-08-03 02:33:54 -04:00
Julian Lam
c8ad086779 fix: duplicate canonical link header 2025-08-02 09:52:13 -04:00
Julian Lam
8ce5498f23 fix: add rel canonical to remote user profiles 2025-08-02 09:48:59 -04:00
renovate[bot]
27d60a19f9 fix(deps): update dependency redis to v5.7.0 (#13570)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-01 20:37:15 -04:00
renovate[bot]
0b4efa14a9 fix(deps): update dependency cron to v4.3.3 (#13573)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-01 20:37:04 -04:00
Barış Soner Uşaklı
bc40d79cf8 refactor: dont del if cache disabled 2025-08-01 18:46:27 -04:00
Barış Soner Uşaklı
567ed8755b feat: add new brite skin from bootswatch 2025-08-01 16:18:10 -04:00
Barış Soner Uşaklı
8305a7425a refactor: remove old arg 2025-08-01 12:26:38 -04:00
Barış Soner Uşaklı
b229488daf Merge branch 'master' into develop 2025-08-01 12:21:25 -04:00
Barış Soner Uşaklı
d5f57af342 fix: pass max-memory expose-gc as process args 2025-08-01 12:21:17 -04:00
Barış Soner Uşaklı
a8bf4ea069 fix: ap queue id to use payload.type payload.id 2025-08-01 11:59:59 -04:00
Barış Soner Uşaklı
9a32bb5696 Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-08-01 11:50:15 -04:00
Barış Soner Uşaklı
d5f6d158f4 refactor: if user.delete fails in actor prune
remove from ap sets/keys
2025-08-01 11:50:13 -04:00
Misty Release Bot
5c69c8bf9c Latest translations and fallbacks 2025-08-01 09:20:24 +00:00
Barış Soner Uşaklı
e851a52390 feat: add new brite skin from bootswatch 2025-07-31 18:44:09 -04:00
Barış Soner Uşaklı
5d737a7819 Merge branch 'master' into develop 2025-07-31 10:29:08 -04:00
Misty Release Bot
6f10692393 chore: incrementing version number - v4.4.5
(cherry picked from commit af95cde187)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2025-07-31 13:57:00 +00:00
Misty Release Bot
de05dad251 chore: update changelog for v4.4.5 2025-07-31 13:57:00 +00:00
Misty Release Bot
af95cde187 chore: incrementing version number - v4.4.5 2025-07-31 13:57:00 +00:00
Misty Release Bot
bbc25696a9 Merge commit '5f5a6972537fb5a614fb384c4894b8d8e792a78c' into v4.x 2025-07-31 13:56:43 +00:00
Barış Soner Uşaklı
95f6688c04 test: one more fix 2025-07-31 09:33:19 -04:00
Barış Soner Uşaklı
7393bdd444 test: fix spec 2025-07-31 09:33:19 -04:00
Barış Soner Uşaklı
1071ac0cea test: fix openapi 2025-07-31 09:33:18 -04:00
Barış Soner Uşaklı
472df3aa22 refactor: use promise.all 2025-07-31 09:33:18 -04:00
Barış Soner Uşaklı
97d4994afb feat: add filter:post.getDiffs 2025-07-31 09:33:18 -04:00
Barış Soner Uşaklı
5f5a697253 test: one more fix 2025-07-31 09:24:04 -04:00
Barış Soner Uşaklı
3b60931604 test: fix spec 2025-07-31 09:17:26 -04:00
Barış Soner Uşaklı
c7c83e0e4b test: fix openapi 2025-07-31 09:14:19 -04:00
Barış Soner Uşaklı
90a6512970 feat: add filter:post.getDiffs 2025-07-31 09:03:14 -04:00
Barış Soner Uşaklı
7c00e814b7 refactor: use promise.all 2025-07-31 09:02:58 -04:00
Barış Soner Uşaklı
bbb9a46019 feat: add filter:post.getDiffs 2025-07-31 09:02:49 -04:00
Barış Soner Uşaklı
6eab44a01d refactor: use promise.all 2025-07-31 09:00:40 -04:00
renovate[bot]
70d3a29c32 fix(deps): update dependency satori to v0.16.2 (#13569)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-30 10:54:26 -04:00
Barış Soner Uşaklı
bba18e3102 feat: add expose-gc flag to loader 2025-07-30 09:37:36 -04:00
Barış Soner Uşaklı
36d2929fa9 Merge branch 'master' into develop 2025-07-30 09:34:36 -04:00
Barış Uşaklı
b3a4a128cd refactor: move ap retry queue from lru cache to db (#13568)
* refactor: move ap retry queue from lru cache to db

get rid of the setTimeouts that were running for 2months
retries will survive server restarts

* refactor: reduce exp. backoff
2025-07-30 09:32:58 -04:00
renovate[bot]
6fc8dfa940 fix(deps): update dependency webpack to v5.101.0 (#13567)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-29 11:45:02 -04:00
Barış Soner Uşaklı
5f696176b4 fix: clearTimeout if item is evicted from cache 2025-07-27 10:38:09 -04:00
Barış Soner Uşaklı
0997fbfa4d fix: clearTimeout if item is evicted from cache 2025-07-27 10:35:17 -04:00
renovate[bot]
2d1a5fea11 fix(deps): update dependency satori to v0.16.1 (#13560)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-26 17:44:14 -04:00
Barış Soner Uşaklı
637373e31a chore: up eslint 2025-07-25 13:37:20 -04:00
Barış Soner Uşaklı
9b566a55d9 Merge branch 'master' into develop 2025-07-25 10:57:45 -04:00
Barış Soner Uşaklı
fe9b49e3d5 test: increase timeout of failing test 2025-07-25 10:57:30 -04:00
Barış Soner Uşaklı
b20e486367 Merge branch 'master' into develop 2025-07-25 10:54:27 -04:00
Barış Soner Uşaklı
b74c789849 fix: use sharp to convert svg to png, closes #13534 2025-07-25 10:49:52 -04:00
renovate[bot]
5a86415092 chore(config): migrate config renovate.json (#13565)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-25 10:28:40 -04:00
Barış Soner Uşaklı
65364bfa0f fix: sometimes summary is null/undefined
fixes
TypeError: Cannot read properties of null (reading 'replace')
    at /home/saas/nodebb/src/activitypub/mocks.js:202:24
2025-07-24 23:54:38 -04:00
renovate[bot]
1262aee843 fix(deps): update dependency redis to v5.6.1 (#13564)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-24 12:19:56 -04:00
Barış Soner Uşaklı
947702fe0c Merge branch 'master' into develop 2025-07-24 12:07:32 -04:00
Barış Soner Uşaklı
5bcf078a75 fix: use filename to check for svg, tempPath doesn't always have extension 2025-07-24 12:07:26 -04:00
Barış Soner Uşaklı
dcdda2a8c8 Merge branch 'master' into develop 2025-07-24 11:55:39 -04:00
Barış Soner Uşaklı
a8f4c5e63a fix: apply sanitizeSvg to regular uploads and uploads from manage uploads acp page 2025-07-24 10:34:37 -04:00
renovate[bot]
8e9d38430c fix(deps): update dependency mongodb to v6.18.0 (#13563)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-23 09:49:52 -04:00
Barış Soner Uşaklı
de71cc6310 refactor: log uid that failed 2025-07-22 16:35:55 -04:00
Barış Soner Uşaklı
f6ed7ec21c fix: don't translate text on admin logs page 2025-07-22 16:28:37 -04:00
Barış Soner Uşaklı
1776bd1d7e test: fix meta test 2025-07-22 10:58:17 -04:00
Barış Soner Uşaklı
8eedb38a99 test: test fixes for default teaser change 2025-07-22 10:51:54 -04:00
Barış Soner Uşaklı
8ba230a205 refactor: change default teaser to last-post 2025-07-22 10:39:27 -04:00
Barış Soner Uşaklı
c43c353350 fix: change the client side reloginTimer to match setting
when setting is changed restart timer
closes #13561
2025-07-21 21:22:40 -04:00
renovate[bot]
6a732e3616 fix(deps): update dependency esbuild to v0.25.8 (#13559)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-21 15:00:49 -04:00
Barış Soner Uşaklı
54fae3b12b set max on upload rate limit 2025-07-20 13:38:31 -04:00
Barış Soner Uşaklı
eac3d0a043 fix: redis connect host/port 2025-07-20 11:57:34 -04:00
Barış Soner Uşaklı
e365cd5606 Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-07-19 17:21:01 -04:00
Barış Soner Uşaklı
25c24298fb fix: closes #13558, override/extend json opts from config.json 2025-07-19 17:20:59 -04:00
renovate[bot]
1697e36f3a fix(deps): update dependency esbuild to v0.25.7 (#13557)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-19 13:34:52 -04:00
renovate[bot]
0eb0a67ae5 fix(deps): update dependency express-session to v1.18.2 (#13554)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-19 13:04:10 -04:00
renovate[bot]
0e457f1585 fix(deps): update dependency morgan to v1.10.1 (#13555)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-19 13:03:45 -04:00
renovate[bot]
35ca0e3b47 fix(deps): update dependency multer to v2.0.2 (#13556)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-19 13:03:18 -04:00
Barış Soner Uşaklı
3f520c33ef fix: add missing cache name 2025-07-18 21:35:08 -04:00
renovate[bot]
12b9f4c743 fix(deps): update dependency compression to v1.8.1 (#13553)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-17 22:22:31 -04:00
renovate[bot]
57564190f3 fix(deps): update dependency ace-builds to v1.43.2 (#13548)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-17 22:07:59 -04:00
renovate[bot]
0b398bba4f fix(deps): update dependency webpack to v5.100.2 (#13549)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-17 22:07:44 -04:00
Barış Soner Uşaklı
e4a0160e08 refactor: copy session/headers when building req 2025-07-17 21:34:14 -04:00
Barış Soner Uşaklı
1d7c32a52f refactor: show both days and hours 2025-07-17 12:34:52 -04:00
Barış Soner Uşaklı
272008bb51 refactor: add missing cache name 2025-07-16 20:23:57 -04:00
Barış Soner Uşaklı
0fdde13208 refactor: another missing cache name 2025-07-16 18:10:21 -04:00
Barış Soner Uşaklı
a08551a5e1 refactor: add names to caches, add max to request cache 2025-07-16 17:42:23 -04:00
Barış Soner Uşaklı
1ad97ac194 refactor: closes #13547, process user uploads via batch
reduce processed user count to 100 per batch
2025-07-15 13:02:46 -04:00
renovate[bot]
97a5d54387 chore(deps): update dependency @eslint/js to v9.31.0 (#13545)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-14 10:25:17 -04:00
renovate[bot]
d8c26bec45 fix(deps): update dependency webpack to v5.100.1 (#13544)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-14 10:24:51 -04:00
renovate[bot]
e838bb268f fix(deps): update dependency cron to v4.3.2 (#13546)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-14 10:24:42 -04:00
Misty Release Bot
e5de79ff7d Latest translations and fallbacks 2025-07-14 09:19:32 +00:00
Misty Release Bot
352f4a0c35 Latest translations and fallbacks 2025-07-13 09:19:24 +00:00
Misty Release Bot
32e4db8ea8 Latest translations and fallbacks 2025-07-12 09:19:22 +00:00
Barış Soner Uşaklı
01f2effced fix: add missing ap pageview middleware 2025-07-11 15:38:21 -04:00
Barış Soner Uşaklı
3ff7822d44 Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-07-11 15:18:49 -04:00
Barış Soner Uşaklı
020e0ad12e test: add openapi spec 2025-07-11 15:18:44 -04:00
Misty Release Bot
5d16fdc93f chore(i18n): fallback strings for new resources: nodebb.admin-dashboard 2025-07-11 19:10:21 +00:00
Barış Soner Uşaklı
559a2d233d feat: add ap pageviews analytics 2025-07-11 15:09:55 -04:00
Misty Release Bot
59c1ce853f chore(i18n): fallback strings for new resources: nodebb.admin-development-info 2025-07-11 14:23:04 +00:00
Barış Soner Uşaklı
e74996fbb9 revert: remove heapdump 2025-07-11 10:22:37 -04:00
Barış Soner Uşaklı
27aab92191 test: try timeout again 2025-07-11 09:05:43 -04:00
Barış Soner Uşaklı
3cc3b6760c Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-07-11 09:01:39 -04:00
Barış Soner Uşaklı
930ff21f33 test: disable timeout 2025-07-11 09:01:33 -04:00
Misty Release Bot
5b54e926f7 chore(i18n): fallback strings for new resources: nodebb.admin-development-info 2025-07-11 12:51:18 +00:00
Barış Soner Uşaklı
f88329dbbe feat: add heap snapshot 2025-07-11 08:50:53 -04:00
renovate[bot]
e4f56e8392 fix(deps): update dependency nodebb-theme-peace to v2.2.46 (#13542)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-10 09:10:00 -04:00
renovate[bot]
4a5a4fe6bd fix(deps): update dependency webpack to v5.100.0 (#13541)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-09 18:03:23 -04:00
renovate[bot]
1b80910e80 chore(deps): update redis docker tag to v8.0.3 (#13539)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-08 14:09:15 -04:00
Barış Soner Uşaklı
da1f2a9c9f Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-07-08 14:04:01 -04:00
Barış Soner Uşaklı
dae81b76fb chore: up dbsearch 2025-07-08 14:03:56 -04:00
renovate[bot]
a6cb933bac fix(deps): update dependency redis to v5.6.0 (#13540)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-08 13:55:29 -04:00
Barış Soner Uşaklı
0ef98ec495 fix: set to empty string if undefined 2025-07-08 13:34:41 -04:00
Barış Soner Uşaklı
dbed2db992 fix: make clickable element anchor
add rounded corners
2025-07-08 11:03:02 -04:00
renovate[bot]
8960fdb3a5 fix(deps): update dependency esbuild to v0.25.6 (#13538)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-07 17:39:03 -04:00
renovate[bot]
c6f4148b21 fix(deps): update dependency nodemailer to v7.0.5 (#13537)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-07 17:38:43 -04:00
Barış Soner Uşaklı
113607829f remove log 2025-07-07 17:09:42 -04:00
Barış Soner Uşaklı
329f98d5db fix: for attribute, remove upload trigger when click inputs
user can input an absolute url in the inputs
2025-07-07 12:16:08 -04:00
Barış Soner Uşaklı
72fec565c2 fix: check topic and thumbs 2025-07-07 11:28:22 -04:00
Barış Uşaklı
24e7cf4a00 refactor: move post uploads to post hash (#13533)
* refactor: move post uploads to post hash

* test: add uploads to api definition

* refactor: move thumbs to topic hash

* chore: up composer

* refactor: dont use old zset
2025-07-07 10:22:24 -04:00
Misty Release Bot
bfcc36f7cb Latest translations and fallbacks 2025-07-06 09:19:12 +00:00
renovate[bot]
991f518e2f fix(deps): update dependency nodebb-theme-peace to v2.2.45 (#13529)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-04 14:47:50 -04:00
Misty Release Bot
80fabdcb33 Latest translations and fallbacks 2025-07-03 09:20:10 +00:00
Barış Soner Uşaklı
5a5ca8a5fb fix: closes #13526, dont send multiple emails when user is invited 2025-07-02 17:38:35 -04:00
renovate[bot]
ceae2aa1a8 fix(deps): update dependency nodebb-plugin-web-push to v0.7.5 (#13523)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-02 16:19:16 -04:00
renovate[bot]
6d7df13fdb chore(deps): update dependency @eslint/js to v9.30.1 (#13524)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-02 16:19:07 -04:00
renovate[bot]
aba2ddad94 fix(deps): update dependency ace-builds to v1.43.1 (#13525)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-02 16:18:56 -04:00
Barış Soner Uşaklı
37f0fa961e Refactor hook call for filterSortedTids 2025-07-01 10:01:10 -04:00
Barış Soner Uşaklı
18d6e5e1d6 chore: up eslint-plugin 2025-06-30 20:33:16 -04:00
renovate[bot]
f1fbea7b28 fix(deps): update dependency nodemailer to v7.0.4 (#13522)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-30 20:25:03 -04:00
Misty Release Bot
48071ebbb5 Latest translations and fallbacks 2025-06-29 09:19:19 +00:00
renovate[bot]
15ea123382 chore(deps): update dependency @eslint/js to v9.30.0 (#13519)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-27 22:04:00 -04:00
Barış Soner Uşaklı
22005b9ccf assign correct data 2025-06-27 16:17:06 -04:00
Barış Soner Uşaklı
85e2d7d338 test: psql fix 2025-06-27 16:08:51 -04:00
renovate[bot]
fd82919e5a fix(deps): update dependency pg to v8.16.3 (#13517)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-27 15:41:54 -04:00
renovate[bot]
655a3bd3a3 fix(deps): update dependency workerpool to v9.3.3 (#13518)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-27 15:41:45 -04:00
Barış Soner Uşaklı
59707df70b Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-06-27 15:22:44 -04:00
Barış Soner Uşaklı
c056bf5618 chore: up eslint 2025-06-27 15:22:39 -04:00
renovate[bot]
6e5083c263 fix(deps): update dependency pg-cursor to v2.15.3 (#13516)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-27 15:20:28 -04:00
Barış Soner Uşaklı
22d1972f83 test: one more test fix 2025-06-27 15:13:16 -04:00
Barış Soner Uşaklı
7acd63c2a0 test: fix test, add joinLeaveMessages to newRoom 2025-06-27 15:03:23 -04:00
Misty Release Bot
f5aca1144d chore(i18n): fallback strings for new resources: nodebb.modules 2025-06-27 18:19:19 +00:00
Barış Soner Uşaklı
92a3859f7b feat: add option to toggle chat join/leave message
closes #13508
2025-06-27 14:18:53 -04:00
renovate[bot]
a41d2c0b1a chore(deps): update dependency smtp-server to v3.14.0 (#13515)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-27 09:43:26 -04:00
renovate[bot]
d2f0944eab fix(deps): update dependency pg to v8.16.2 (#13505)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-26 20:29:27 -04:00
renovate[bot]
bbacd8f6e4 chore(deps): update dependency mocha to v11.7.1 (#13509)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-26 20:29:07 -04:00
renovate[bot]
5909093103 fix(deps): update dependency nodebb-theme-peace to v2.2.44 (#13514)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-26 13:20:12 -04:00
renovate[bot]
4be2e82b5a fix(deps): update dependency nodebb-theme-harmony to v2.1.16 (#13513)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-26 13:20:02 -04:00
Barış Soner Uşaklı
fa31ba0560 test: increase timeout 2025-06-26 13:10:11 -04:00
Barış Soner Uşaklı
1a85fafbaf test: on more 2025-06-26 13:01:28 -04:00
Barış Soner Uşaklı
82c8034cfb test: testing timeout on failing test 2025-06-26 12:55:31 -04:00
renovate[bot]
1eefaf5cd8 fix(deps): update dependency bootswatch to v5.3.7 (#13510)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-26 12:43:41 -04:00
renovate[bot]
10f7b49be8 fix(deps): update dependency pg-cursor to v2.15.2 (#13506)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-26 11:20:37 -04:00
renovate[bot]
e360f649b3 fix(deps): update dependency ace-builds to v1.43.0 (#13507)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-26 11:19:33 -04:00
Misty Release Bot
f9c6d24c73 Latest translations and fallbacks 2025-06-21 09:19:27 +00:00
renovate[bot]
3b364ba120 fix(deps): update dependency pg-cursor to v2.15.1 (#13504)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-18 17:13:33 -04:00
Barış Soner Uşaklı
0b9bfc1ce1 refactor: parallel socket.io adapter 2025-06-18 16:59:57 -04:00
Barış Soner Uşaklı
48621f5c6b Merge branch 'master' into develop 2025-06-18 15:41:15 -04:00
Barış Soner Uşaklı
a8faf2ba7c Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-06-18 13:42:24 -04:00
Barış Soner Uşaklı
39d243b04f test: remove ci env 2025-06-18 13:42:19 -04:00
renovate[bot]
819e28052a fix(deps): update dependency pg to v8.16.1 (#13503)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-18 13:35:38 -04:00
Barış Soner Uşaklı
0315e36941 chore: remove logs 2025-06-18 13:34:55 -04:00
Barış Uşaklı
3e961257ec Update README.md 2025-06-18 13:25:36 -04:00
Barış Soner Uşaklı
a54dad932a Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-06-18 13:21:23 -04:00
Barış Soner Uşaklı
1fc91d5e75 test: add a null field test 2025-06-18 13:21:18 -04:00
renovate[bot]
0a0dd1c14d chore(deps): update dependency mocha to v11.7.0 (#13502)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-18 13:19:01 -04:00
renovate[bot]
e84fc73939 fix(deps): update dependency bootstrap to v5.3.7 (#13499)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-18 13:18:50 -04:00
renovate[bot]
d3faff3680 fix(deps): update dependency connect-redis to v9 (#13497)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-18 13:18:36 -04:00
Barış Soner Uşaklı
f7f70468fd fix: pubsub on node-redis 2025-06-18 13:17:29 -04:00
Barış Uşaklı
14043ab0fd Node redis (#13500)
* refactor: start migrating to node-redis

* few more zset fixes

* fix: db.scan

* fix: list methods

* fix set methods

* fix: hash methods

* use hasOwn, remove cloning

* sorted set fixes

* fix: so data is converted to strings before saving

otherwise node-redis throws below error
TypeError: "arguments[2]" must be of type "string | Buffer", got number instead.

* chore: remove comments

* fix: zrank string param

* use new close

* chore: up dbsearch

* test: add log

* test: more log

* test: log failing test

* test: catch errors in formatApiResponse

add await so exception goes to catch

* tetst: add log

* fix: dont set null/undefined values

* test: more fixes
2025-06-18 13:04:57 -04:00
Misty Release Bot
d323af440e chore: incrementing version number - v4.4.4
(cherry picked from commit 2490c312c9)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2025-06-18 14:20:41 +00:00
Misty Release Bot
7b14e26775 chore: update changelog for v4.4.4 2025-06-18 14:20:41 +00:00
Misty Release Bot
2490c312c9 chore: incrementing version number - v4.4.4 2025-06-18 14:20:41 +00:00
Misty Release Bot
60d2650dd8 Merge commit 'a3fed408e571b4f4be0dfcf75539dd77f95ae60b' into v4.x 2025-06-18 14:20:36 +00:00
Barış Soner Uşaklı
3f7d415744 Merge branch 'master' into develop 2025-06-17 10:00:05 -04:00
renovate[bot]
2046ca724a chore(deps): update dependency @eslint/js to v9.29.0 (#13491)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-17 09:36:26 -04:00
Barış Soner Uşaklı
a3fed408e5 change default to perma ban 2025-06-17 09:21:00 -04:00
Barış Soner Uşaklı
8c69c6a0c4 feat: link to post in preview timestamp 2025-06-17 09:17:57 -04:00
renovate[bot]
f36a5ac892 fix(deps): update dependency chart.js to v4.5.0 (#13495)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-17 08:10:55 -04:00
renovate[bot]
d6ba79302d chore(deps): update dependency lint-staged to v16.1.2 (#13492)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-17 08:09:05 -04:00
renovate[bot]
703fcbbf36 fix(deps): update dependency postcss to v8.5.6 (#13494)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-16 20:02:18 -04:00
renovate[bot]
c101d0d5af fix(deps): update dependency postcss to v8.5.5 (#13490)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-11 17:59:25 -04:00
Barış Soner Uşaklı
c1b47fbf4d Merge branch 'master' into develop 2025-06-11 17:14:08 -04:00
Barış Soner Uşaklı
da2597f81c fix: sanitize svg when uploading site-logo, default avatar and og:image 2025-06-11 17:13:56 -04:00
Barış Soner Uşaklı
dc37789b5d refactor: send single message 2025-06-11 13:16:52 -04:00
Eli Sheinfeld
84d99a0fc7 feat: Add live reload functionality with Grunt watch and Socket.IO (#13489)
- Added livereload event to Grunt watch tasks for instant browser refresh
- Integrated Socket.IO WebSocket communication for real-time updates
- Enhanced development workflow with immediate file change detection
- Improved developer experience with automatic browser reload on file changes

Changes:
- Gruntfile.js: Send livereload message when files change
- src/start.js: Handle livereload events and broadcast via Socket.IO
2025-06-11 13:13:23 -04:00
renovate[bot]
442c6e71c0 fix(deps): update dependency sass to v1.89.2 (#13487)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-11 11:04:53 -04:00
renovate[bot]
efcbbf29d1 fix(deps): update dependency nodebb-plugin-emoji to v6.0.3 (#13486)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-11 11:02:43 -04:00
renovate[bot]
d2a7eecb28 fix(deps): update dependency serve-favicon to v2.5.1 (#13488)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-11 11:02:25 -04:00
renovate[bot]
c04bd7cc6e fix(deps): update dependency @fontsource/inter to v5.2.6 (#13477)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-11 10:38:12 -04:00
renovate[bot]
f565178782 chore(deps): update dependency sass-embedded to v1.89.2 (#13482)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-11 10:37:52 -04:00
cliffmccarthy
6c5b22684b fix: Revise package hash check in Docker entrypoint.sh (#13483)
- In the build_forum() function, the file install_hash.md5 is intended
  to track the content of package.json and detect changes that imply
  the need to run 'nodebb upgrade'.
- The check to compare the current checksum of package.json to the one
  saved in install_hash.md5 is reversed.  The "package.json was
  updated" branch is taken when the hashes are the same, not when they
  are different.
- When install_hash.md5 does not exist, the comparison value becomes
  the null string, which never matches the checksum of package.json.
  As a result, the code always takes the "No changes in package.json"
  branch and returns from the function without creating
  install_hash.md5.  As a result, install_hash.md5 never gets created
  on a new installation.
- Revised build_forum() to use "not equals" when comparing the two
  checksums.  This causes it to run 'nodebb upgrade' when the
  checksums are different, and also when install_hash.md5 does not yet
  exist.  If the checksum saved in install_hash.md5 matches the
  current package.json checksum, it proceeds to either the "Build
  before start" case or the "No changes" case.
2025-06-11 09:52:36 -04:00
Misty Release Bot
95ae8b5f1a Latest translations and fallbacks 2025-06-11 09:19:40 +00:00
Barış Soner Uşaklı
afa3664070 Merge branch 'master' into develop 2025-06-10 13:37:00 -04:00
Barış Soner Uşaklı
32faaba0e5 fix: more edge cases 2025-06-10 13:36:23 -04:00
Barış Soner Uşaklı
2280ea88f2 fix: typo 2025-06-10 12:46:07 -04:00
Barış Soner Uşaklı
fca90e66ce Merge branch 'master' into develop 2025-06-10 12:39:57 -04:00
Barış Soner Uşaklı
0ebb31fe87 fix: #13484, clear tooltip if cursor leaves link
and doesn't enter tooltip
2025-06-10 12:39:49 -04:00
Barış Soner Uşaklı
6a5c2a43ed Merge branch 'master' into develop 2025-06-10 10:53:01 -04:00
Barış Soner Uşaklı
8ab034d8f0 lint: fix lint 2025-06-10 10:52:55 -04:00
Barış Soner Uşaklı
341b570d0d Merge branch 'master' into develop 2025-06-10 10:47:22 -04:00
Barış Soner Uşaklı
14e30c4bf8 feat: closes #13484, post preview changes
don't close preview when mouse leaves the anchor
close preview on click outside
close preview when mouseleaves preview
open the preview to the top if there isn't enough space
add scrollbar to post preview
2025-06-10 10:47:14 -04:00
renovate[bot]
78ebe2988b fix(deps): update dependency satori to v0.15.2 (#13481)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-09 11:55:37 -04:00
Barış Soner Uşaklı
89b637af44 Merge branch 'master' into develop 2025-06-09 11:37:59 -04:00
Misty Release Bot
d354c2eb2b chore: incrementing version number - v4.4.3
(cherry picked from commit 3d88cb8696)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2025-06-09 15:26:59 +00:00
Misty Release Bot
0c9297f81c chore: update changelog for v4.4.3 2025-06-09 15:26:59 +00:00
Misty Release Bot
3d88cb8696 chore: incrementing version number - v4.4.3 2025-06-09 15:26:58 +00:00
Misty Release Bot
5879d6a801 Merge commit '5f51dfc4356a70493a789d419dec41866b8003f3' into v4.x 2025-06-09 15:26:15 +00:00
Barış Soner Uşaklı
5f51dfc435 chore: up composer 2025-06-09 11:10:07 -04:00
Barış Soner Uşaklı
61870b76bb Merge branch 'master' into develop 2025-06-09 11:08:32 -04:00
renovate[bot]
9b4082dcfb chore(deps): update dependency mocha to v11.6.0 (#13479)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-09 10:54:01 -04:00
Barış Soner Uşaklı
b02eb57d06 fix: escape, query params 2025-06-09 10:23:00 -04:00
Misty Release Bot
f157cfa7e8 Latest translations and fallbacks 2025-06-08 09:19:19 +00:00
renovate[bot]
29afcd36b5 fix(deps): update dependency satori to v0.14.0 (#13476)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-06 13:18:57 -04:00
Barış Soner Uşaklı
536ae9d6a5 chore: up eslint 2025-06-06 11:26:02 -04:00
renovate[bot]
d239125f43 chore(deps): update dependency smtp-server to v3.13.8 (#13464)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-06 11:08:54 -04:00
renovate[bot]
6b33b1f457 fix(deps): update dependency workerpool to v9.3.2 (#13452)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-06 11:08:44 -04:00
renovate[bot]
166aaa7ab9 chore(deps): update redis docker tag to v8.0.2 (#13465)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-06 11:08:25 -04:00
renovate[bot]
b3170c9c8b chore(deps): update dependency @eslint/js to v9.28.0 (#13469)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-06 11:08:13 -04:00
Misty Release Bot
01b10170aa Latest translations and fallbacks 2025-06-06 09:20:17 +00:00
renovate[bot]
44d1a17bc5 fix(deps): update dependency satori to v0.13.2 (#13468)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-05 11:46:25 -04:00
Barış Soner Uşaklı
d3a2dcf074 Merge branch 'master' into develop 2025-06-05 11:46:05 -04:00
Barış Soner Uşaklı
806e54bf5a fix: closes #13475, don't store escaped username
when updating profile
2025-06-05 11:42:29 -04:00
Julian Lam
6478532bf5 fix: ensure check returns false if no addresses are looked up, fix bug where cached value got changed accidentally 2025-06-05 11:28:47 -04:00
renovate[bot]
32f13162dc chore(deps): update dependency sass-embedded to v1.89.1 (#13463)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-05 07:19:56 -04:00
renovate[bot]
1c432925cd fix(deps): update dependency postcss to v8.5.4 (#13453)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-05 07:19:30 -04:00
renovate[bot]
d0060e5d71 fix(deps): update dependency multer to v2.0.1 (#13466)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-05 07:19:13 -04:00
renovate[bot]
602417d0f9 fix(deps): update dependency sass to v1.89.1 (#13467)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-05 07:17:56 -04:00
renovate[bot]
c363b84e90 fix(deps): update dependency ace-builds to v1.42.0 (#13470)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-05 07:17:34 -04:00
renovate[bot]
a3cc99a2f0 fix(deps): update dependency mongodb to v6.17.0 (#13471)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-05 07:17:11 -04:00
Misty Release Bot
efb14ead1d chore(i18n): fallback strings for new resources: nodebb.error 2025-06-05 11:16:26 +00:00
Barış Soner Uşaklı
677d6dd060 Merge branch 'master' into develop 2025-06-05 07:16:00 -04:00
Barış Uşaklı
4fbcfae8b1 Post queue write api (#13473)
* move post queue from socket.io to rest api

* move harmony post-queue to core

add canEdit, allow users to edit their queued posts

* fix: openapi spec

* lint: whitespace
2025-06-05 07:15:45 -04:00
renovate[bot]
3694f6555b fix(deps): update dependency cron to v4.3.1 (#13457)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-04 13:54:37 -04:00
Julian Lam
010113a9a0 fix: wrap cached returns for dns lookups in nextTick 2025-06-04 13:19:33 -04:00
Misty Release Bot
ea91dc00cd Latest translations and fallbacks 2025-06-04 09:20:16 +00:00
Misty Release Bot
0ccfe1dfe9 Latest translations and fallbacks 2025-06-03 09:20:10 +00:00
Julian Lam
6411c19765 fix: #13459, unread indicators for remote categories 2025-06-02 11:58:54 -04:00
Misty Release Bot
55c510aec3 chore: incrementing version number - v4.4.2
(cherry picked from commit 9c7cbbe2e4)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2025-06-02 15:06:29 +00:00
Misty Release Bot
6d40a2118c chore: update changelog for v4.4.2 2025-06-02 15:06:29 +00:00
Misty Release Bot
9c7cbbe2e4 chore: incrementing version number - v4.4.2 2025-06-02 15:06:29 +00:00
Misty Release Bot
8183de19fc Merge commit '524a1e8bfe403fa240e804f076943871264caf2f' into v4.x 2025-06-02 15:06:27 +00:00
Misty Release Bot
e1eb76feba chore(i18n): fallback strings for new resources: nodebb.error 2025-06-02 15:06:01 +00:00
Julian Lam
a8e613e13a fix: further guard against DNS rebinding attack 2025-06-02 11:05:35 -04:00
Julian Lam
70c04f0cb2 fix: undefined check, allow plugins to append to allow list 2025-06-02 11:05:35 -04:00
Julian Lam
df36021628 fix: simplify dns to use .lookup instead of .resolve4 and .resolve6, automatically allow requests to own hostname 2025-06-02 11:05:35 -04:00
Julian Lam
9d3b8c3abc feat: add protection mechanism to request lib so that network requests to reserved IP ranges throw an error 2025-06-02 11:05:35 -04:00
Julian Lam
524a1e8bfe fix: return 200 for non-implemented activities instead of 501 2025-06-02 10:15:05 -04:00
Barış Soner Uşaklı
b1022566da fix: closes #13458, check if plugin is system
plugin before activate/deactive/install/uninstall
2025-06-02 09:55:20 -04:00
Julian Lam
fcb3bfbc35 fix: return 200 for non-implemented activities instead of 501 2025-06-01 12:40:42 -04:00
Misty Release Bot
ff00829b3f Latest translations and fallbacks 2025-06-01 09:19:27 +00:00
Julian Lam
3d88f70680 Merge branch 'master' into develop 2025-06-01 00:32:05 -04:00
Julian Lam
cc92702620 fix: add try..catch around topics.post in note assertion logic 2025-06-01 00:31:58 -04:00
Julian Lam
f34930f5e8 Merge branch 'master' into develop 2025-05-31 22:47:06 -04:00
Julian Lam
83a55f6adc fix: don't throw on unknown post on Undo(Like) 2025-05-31 22:46:47 -04:00
Barış Soner Uşaklı
033e6e8f8b Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-05-30 17:12:56 -04:00
Barış Soner Uşaklı
0d595008b0 chore: eslint config 2025-05-30 17:12:54 -04:00
Julian Lam
4d44456ff9 Merge branch 'master' into develop 2025-05-30 16:49:24 -04:00
Julian Lam
629eec7b5b fix: add try..catch wrapper around Announce(Like) call to internal method so as to not return a 500 — just drop the Like activity 2025-05-30 16:49:15 -04:00
Barış Soner Uşaklı
ebb88c1277 feat: add action:post-queue.save
fires after a post is added to the post queue
2025-05-30 11:45:04 -04:00
Barış Soner Uşaklı
57a5de2682 refactor: use strings for cids 2025-05-30 11:15:02 -04:00
Barış Soner Uşaklı
28c021a01b fix: remove null categories 2025-05-30 11:11:45 -04:00
Barış Soner Uşaklı
8d16367ad4 Merge branch 'master' into develop 2025-05-30 11:02:56 -04:00
Barış Soner Uşaklı
390f642850 fix: browser title translation 2025-05-30 11:00:08 -04:00
Barış Soner Uşaklı
78de8c6da1 fix: allow guests to load topic tools if they have privilege to view them
display errors from topics.loadTopicTools
2025-05-30 09:22:06 -04:00
Julian Lam
a80edfa1f1 fix: patch ap .probe() so that it does not execute on requests for its own resources 2025-05-29 15:15:06 -04:00
Julian Lam
0c1a61839e test: fix groups:find webfinger test 2025-05-29 15:08:28 -04:00
Barış Soner Uşaklı
a9348e3607 Merge branch 'master' into develop 2025-05-29 11:37:02 -04:00
Barış Soner Uşaklı
72417d82bd fix: closes #13454, align dropdowns to opposite side on rtl 2025-05-29 11:36:46 -04:00
Julian Lam
20abeade41 Merge branch 'master' into develop 2025-05-28 14:53:38 -04:00
Julian Lam
49b5268e52 fix: send actor in undo(follow) 2025-05-28 14:53:32 -04:00
Julian Lam
b20a6ed0d7 fix: missed handling zset on ap unfollow 2025-05-28 12:31:53 -04:00
renovate[bot]
36f0cf250f fix(deps): update dependency validator to v13.15.15 (#13451)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-28 09:04:04 -04:00
renovate[bot]
6efe3fdd02 chore(deps): update dependency lint-staged to v16.1.0 (#13449)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-27 17:36:42 -04:00
renovate[bot]
6a5bbe9204 fix(deps): update dependency esbuild to v0.25.5 (#13447)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-27 09:09:21 -04:00
Julian Lam
a888b868c7 fix: additional tests for remote privileges, enforcing privileges for remote edits and deletes 2025-05-26 14:49:48 -04:00
Barış Soner Uşaklı
e16420a4eb Merge branch 'master' into develop 2025-05-25 19:04:33 -04:00
Barış Soner Uşaklı
fd2ae7261e chore: up eslint stylistic 2025-05-25 19:04:01 -04:00
Misty Release Bot
aeeda7c3be Latest translations and fallbacks 2025-05-25 09:19:33 +00:00
Barış Soner Uşaklı
e2de0ec212 chore: up dbsearch 2025-05-24 16:50:53 -04:00
renovate[bot]
3ca6a9bcfa fix(deps): update dependency nodebb-plugin-dbsearch to v6.2.18 (#13445)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-24 11:54:27 -04:00
Barış Soner Uşaklı
30aa0fe6d2 chore: up dbsearch 2025-05-24 11:49:49 -04:00
renovate[bot]
e3a7fb5ccb fix(deps): update dependency bootbox to v6.0.4 (#13443)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-24 06:11:41 -04:00
renovate[bot]
c184647578 chore(deps): update dependency mocha to v11.5.0 (#13442)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-23 19:51:45 -04:00
Misty Release Bot
777ecdf2c1 Latest translations and fallbacks 2025-05-23 09:20:20 +00:00
Julian Lam
e70e990a1a feat: restrict access to ap.probe method to registered users, add rate limiting protection 2025-05-22 14:13:41 -04:00
renovate[bot]
76a624b9ca fix(deps): update dependency diff to v8.0.2 (#13440)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-22 11:31:52 -04:00
Barış Soner Uşaklı
f633f57d52 Merge branch 'master' into develop 2025-05-22 11:16:20 -04:00
Barış Soner Uşaklı
99234b3f97 chore: up harmony 2025-05-22 11:16:14 -04:00
Barış Soner Uşaklı
f9541f17dc Merge branch 'master' into develop 2025-05-22 11:01:12 -04:00
Barış Soner Uşaklı
a16bc7382c chore: up harmony 2025-05-22 11:01:05 -04:00
renovate[bot]
1d624aadbe fix(deps): update dependency commander to v14 (#13434)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-20 10:57:23 -04:00
renovate[bot]
136e88140f chore(deps): update dependency smtp-server to v3.13.7 (#13437)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-20 10:57:09 -04:00
renovate[bot]
314a4ff047 fix(deps): update dependency webpack to v5.99.9 (#13438)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-20 10:56:59 -04:00
Barış Uşaklı
385f4f12be replace connect-multiparty with Multer (#13439)
* post upload route

* more multer changes

keep name and type fields in file objects so we dont break all plugins using these

* remove log

* fix: thumbs delete

* test: add array check
2025-05-20 10:45:56 -04:00
Barış Soner Uşaklı
3c09e6247f Merge branch 'master' into develop 2025-05-20 09:26:58 -04:00
Misty Release Bot
2e02d3f673 Latest translations and fallbacks 2025-05-20 09:19:53 +00:00
renovate[bot]
ee8e223f20 fix(deps): update dependency connect-redis to v8.1.0 (#13433)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-19 17:11:51 -04:00
renovate[bot]
aa9772822a chore(deps): update dependency sass-embedded to v1.89.0 (#13425)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-19 17:11:40 -04:00
renovate[bot]
5d017710bd chore(deps): update dependency mocha to v11.4.0 (#13435)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-19 17:10:26 -04:00
renovate[bot]
42f16da501 fix(deps): update dependency nodebb-plugin-dbsearch to v6.2.17 (#13432)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-19 13:43:21 -04:00
renovate[bot]
650eeac908 chore(deps): update dependency mocha to v11.3.0 (#13426)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-19 13:15:23 -04:00
renovate[bot]
2417a79b5f fix(deps): update dependency sass to v1.89.0 (#13427)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-19 13:15:06 -04:00
renovate[bot]
475b0704b9 chore(deps): update dependency @eslint/js to v9.27.0 (#13429)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-19 13:14:48 -04:00
Misty Release Bot
0fe1e53cf9 Latest translations and fallbacks 2025-05-18 09:19:19 +00:00
Misty Release Bot
5ae79b4e4c chore: incrementing version number - v4.4.1
(cherry picked from commit 672dcc5d14)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2025-05-16 16:37:49 +00:00
Misty Release Bot
a686cf2062 chore: update changelog for v4.4.1 2025-05-16 16:37:49 +00:00
Misty Release Bot
672dcc5d14 chore: incrementing version number - v4.4.1 2025-05-16 16:37:49 +00:00
Misty Release Bot
cad550843a Merge commit '948bfe46f1c0fdb5c9d7e56dbcf26f40586ce330' into v4.x 2025-05-16 16:37:48 +00:00
Julian Lam
0b9c760092 Merge branch 'master' into develop 2025-05-16 11:43:32 -04:00
Julian Lam
948bfe46f1 test: fix tests to account for a460a55064 2025-05-16 11:43:26 -04:00
Julian Lam
f71c10ae42 Merge branch 'master' into develop 2025-05-16 10:04:51 -04:00
Julian Lam
ce5ef1ab6e fix: openapi schema to handle additional attachments field in postsobject 2025-05-16 10:04:43 -04:00
Misty Release Bot
4602b6b7c8 Latest translations and fallbacks 2025-05-16 09:20:24 +00:00
Barış Soner Uşaklı
61a63851d4 chore: up themes 2025-05-15 18:25:10 -04:00
Barış Soner Uşaklı
0a574d7240 fix: group edit url 2025-05-15 18:23:38 -04:00
Julian Lam
a463495fb0 Merge branch 'master' into develop 2025-05-15 16:57:17 -04:00
Julian Lam
8f9f377121 fix: add attachments to getpostsummaries call in search, #13324 2025-05-15 16:57:05 -04:00
Julian Lam
a460a55064 fix: bring back auto-categorization if group and object are same-origin, handle Peertube putting channel names in attributedTo 2025-05-15 15:40:01 -04:00
Julian Lam
8f933459cd fix: bring back auto-categorization if group and object are same-origin, handle Peertube putting channel names in attributedTo 2025-05-15 15:38:57 -04:00
Julian Lam
c55f12214f Merge branch 'master' into develop 2025-05-15 14:00:20 -04:00
Julian Lam
3674fa5783 feat: save width and height values into post attachment 2025-05-15 13:56:31 -04:00
Julian Lam
45a11d45fc fix: #13419, handle remote content with mediaType text/markdown 2025-05-15 12:01:45 -04:00
Barış Soner Uşaklı
6c3e2a8e22 refactor: create date once per digest.send 2025-05-15 09:42:55 -04:00
Barış Soner Uşaklı
3faae559a8 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2025-05-15 09:38:49 -04:00
Barış Soner Uşaklı
3d96afb2d1 feat: use local date string for digest subject
closes #13420
2025-05-15 09:38:43 -04:00
Misty Release Bot
ab6ed11155 Latest translations and fallbacks 2025-05-15 09:19:48 +00:00
Misty Release Bot
0a75eee316 chore: incrementing version number - v4.4.0
(cherry picked from commit b31d769d9c)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2025-05-14 20:36:36 +00:00
Misty Release Bot
09cc91d5a0 chore: update changelog for v4.4.0 2025-05-14 20:36:36 +00:00
Misty Release Bot
b31d769d9c chore: incrementing version number - v4.4.0 2025-05-14 20:36:35 +00:00
Misty Release Bot
8524a46a6e Merge commit '799b08db3a6f74bf32b4fc45fbb4e94441e3892d' into v4.x 2025-05-14 20:36:34 +00:00
Julian Lam
799b08db3a fix: adjust Peertube-specific handling to shove mp4 into post attachments, #13324 2025-05-14 15:23:06 -04:00
renovate[bot]
919d62ab4e fix(deps): update dependency diff to v8 (#13409)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-14 14:23:24 -04:00
renovate[bot]
3e18af1e25 fix(deps): update dependency sanitize-html to v2.17.0 (#13418)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-14 14:22:45 -04:00
Julian Lam
d5865613e3 fix: #13081, don't add mention when you are replying to yourself 2025-05-14 14:14:09 -04:00
renovate[bot]
f176d6b2c5 fix(deps): update dependency satori to v0.13.1 (#13408)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-14 13:45:21 -04:00
renovate[bot]
7320a85896 fix(deps): update dependency pg-cursor to v2.15.0 (#13414)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-14 13:45:10 -04:00
renovate[bot]
84b8ecc7a0 fix(deps): update dependency nodebb-plugin-markdown to v13.2.1 (#13416)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-14 13:45:01 -04:00
renovate[bot]
366651d6e1 fix(deps): update dependency semver to v7.7.2 (#13410)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-14 12:40:46 -04:00
renovate[bot]
0825c569aa fix(deps): update dependency pg to v8.16.0 (#13411)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-14 12:40:24 -04:00
renovate[bot]
fbe97b4e91 chore(deps): update redis docker tag to v8.0.1 (#13415)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-14 12:38:22 -04:00
renovate[bot]
383a7ce507 fix(deps): update dependency nodebb-plugin-mentions to v4.7.6 (#13417)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-14 12:38:00 -04:00
Julian Lam
0f576a4219 fix: add announces to postdataobject schema 2025-05-14 12:16:06 -04:00
Julian Lam
61f6806b6a test: a few additional tests for announce handling 2025-05-14 11:49:12 -04:00
Julian Lam
5b118904c9 test: fix regression from 5802c7ddd9 2025-05-14 11:05:10 -04:00
Julian Lam
9dc91f11a4 test: fix broken test due to adjusted note assertion relation logic 2025-05-14 11:00:56 -04:00
Misty Release Bot
7dc690a14a Latest translations and fallbacks 2025-05-14 09:19:59 +00:00
Julian Lam
fe13c75549 fix: #13375, plus additional tests 2025-05-13 13:59:34 -04:00
Barış Soner Uşaklı
30db15836b Merge branch 'master' into develop 2025-05-12 21:23:19 -04:00
Barış Soner Uşaklı
a9c02acae2 Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-05-12 17:48:47 -04:00
Barış Soner Uşaklı
1b0b1da6b9 refactor: use a single until 2025-05-12 17:48:46 -04:00
Julian Lam
5802c7ddd9 fix: missing awaits, more comprehensive 1b12 tests 2025-05-12 15:00:00 -04:00
Misty Release Bot
0aa9c187f7 chore: update changelog for v4.3.2 2025-05-12 14:53:40 +00:00
Misty Release Bot
b92b5d80e4 chore: incrementing version number - v4.3.2
(cherry picked from commit f607489060)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2025-05-12 14:53:40 +00:00
Misty Release Bot
f607489060 chore: incrementing version number - v4.3.2 2025-05-12 14:53:39 +00:00
Misty Release Bot
b385a633f6 Merge commit '00668bdc342f22b1ef263ca2d6003b12bbb194af' into v4.x 2025-05-12 14:53:33 +00:00
Barış Soner Uşaklı
f88f99b7a2 Merge branch 'master' into develop 2025-05-12 10:29:45 -04:00
Barış Soner Uşaklı
00668bdc34 refactor: wrap ap routes in try/catch 2025-05-12 10:29:32 -04:00
Barış Soner Uşaklı
dfa213298b refactor: call verify if request is POST 2025-05-12 10:28:26 -04:00
Barış Soner Uşaklı
16504bad81 fix: sql injection in sortedSetScan 2025-05-12 10:02:59 -04:00
Barış Soner Uşaklı
285d438cb3 fix: escape flag filters 2025-05-12 09:30:33 -04:00
Barış Soner Uşaklı
31be083e86 fix: #13407, don't restart user jobs
if jobsDisabled=true on that process
2025-05-12 09:12:51 -04:00
Barış Soner Uşaklı
5b6c34bfcf Merge branch 'master' into develop 2025-05-12 09:02:18 -04:00
Barış Soner Uşaklı
fcf9e8b796 chore: up mentions 2025-05-12 09:01:32 -04:00
renovate[bot]
23374fd7e9 fix(deps): update dependency lru-cache to v11 (#12685)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-11 22:33:49 -04:00
renovate[bot]
6a4ffe0215 fix(deps): update dependency rimraf to v6 (#12686)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-11 22:33:25 -04:00
renovate[bot]
1df7313c99 chore(deps): update redis docker tag to v8 (#13387)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-11 22:32:58 -04:00
renovate[bot]
d319b0aaad chore(deps): update postgres docker tag to v17.5 (#13398)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-11 22:32:45 -04:00
renovate[bot]
7a7cf830c3 fix(deps): update dependency bootswatch to v5.3.6 (#13400)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-11 22:32:37 -04:00
renovate[bot]
ecce999818 fix(deps): update dependency csrf-sync to v4.2.1 (#13401)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-11 22:32:27 -04:00
renovate[bot]
694c79bc9a chore(deps): update dependency sass-embedded to v1.88.0 (#13402)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-11 22:32:18 -04:00
renovate[bot]
7ffba2186c fix(deps): update dependency sass to v1.88.0 (#13403)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-11 22:31:59 -04:00
renovate[bot]
9d877481bd chore(deps): update dependency lint-staged to v16 (#13404)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-11 22:31:50 -04:00
Barış Soner Uşaklı
8174578c5b fix: closes #13405, catch errors in ap.verify 2025-05-11 22:31:00 -04:00
Julian Lam
bbf69e4093 Merge branch 'master' into develop 2025-05-09 10:34:25 -04:00
Julian Lam
20ab90694c fix: send proper accept header for outgoing webfinger requests 2025-05-09 10:34:19 -04:00
Julian Lam
d7cc637675 Merge branch 'master' into develop 2025-05-09 10:17:50 -04:00
Julian Lam
64fdf91b6b fix: wrap generateCollection calls in try..catch to send 404 if thrown 2025-05-09 10:16:33 -04:00
renovate[bot]
af3afba0f8 fix(deps): update dependency nodemailer to v7.0.3 (#13395)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-08 20:21:13 -04:00
Julian Lam
6bfe4e627d fix: another case 2025-05-08 16:34:13 -04:00
Julian Lam
e042201f4b fix: handle missing orderedItems property in followers route 2025-05-08 16:32:21 -04:00
Julian Lam
d5349b39f5 Merge branch 'master' into develop 2025-05-08 14:12:33 -04:00
Julian Lam
26e6a22278 fix: #13397, null values in category sync list 2025-05-08 13:55:42 -04:00
Julian Lam
401ff797c9 fix: #13392, regression from c6f2c87, unable to unfollow from pending follows 2025-05-08 13:55:17 -04:00
Julian Lam
a9a5ab5e4b fix: #13397, update getCidByHandle to work with remote categories, fix sync with handles causing issues with null entries 2025-05-08 13:41:43 -04:00
renovate[bot]
7a7a4f0ab7 chore(deps): update commitlint monorepo to v19.8.1 (#13394)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-08 09:40:53 -04:00
Barış Soner Uşaklı
4245575e09 Merge branch 'master' into develop 2025-05-07 19:06:01 -04:00
renovate[bot]
0b4d403c61 fix(deps): update dependency nodemailer to v7 (#13381)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-07 18:59:04 -04:00
renovate[bot]
4f0f67a45f fix(deps): update dependency csrf-sync to v4.2.0 (#13364)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-07 18:58:52 -04:00
Opliko
10077d0f89 fix: correct stage name in dev dockerfile (#13393)
Co-authored-by: ThisIsMissEm <ThisIsMissEm@users.noreply.github.com>
2025-05-07 18:57:40 -04:00
renovate[bot]
c7a164aef5 fix(deps): update dependency webpack to v5.99.8 (#13390)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-07 13:02:39 -04:00
Barış Soner Uşaklı
a819d39c31 test: update filter:router.page tests to response:router.page 2025-05-07 12:42:22 -04:00
Misty Release Bot
308e6b9f95 chore: incrementing version number - v4.3.1
(cherry picked from commit 130b93eca9)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2025-05-07 15:38:18 +00:00
Misty Release Bot
2310a7b835 chore: update changelog for v4.3.1 2025-05-07 15:38:18 +00:00
Misty Release Bot
130b93eca9 chore: incrementing version number - v4.3.1 2025-05-07 15:38:18 +00:00
Misty Release Bot
17427ed845 Merge commit '9324a1937be24d8eb7ad057ee922e2dff37370eb' into v4.x 2025-05-07 15:38:14 +00:00
Barış Uşaklı
9324a1937b Update README.md 2025-05-07 11:28:33 -04:00
Misty Release Bot
ebe40f960c Latest translations and fallbacks 2025-05-07 09:20:10 +00:00
renovate[bot]
96dc5c89a4 chore(deps): update dependency lint-staged to v15.5.2 (#13383)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-06 17:26:01 -04:00
renovate[bot]
e6a1961274 fix(deps): update dependency bootstrap to v5.3.6 (#13384)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-06 17:25:50 -04:00
renovate[bot]
b6f4de5bff fix(deps): update dependency esbuild to v0.25.4 (#13385)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-06 17:25:40 -04:00
Julian Lam
52df41b906 test: adjustment for now-removed labels property 2025-05-06 15:13:29 -04:00
Julian Lam
860ac8953e docs: remove since-removed labels property from api 2025-05-06 15:08:21 -04:00
Julian Lam
15b6a2c117 chore: remove unused require 2025-05-06 13:38:42 -04:00
Julian Lam
8ea377a401 breaking: removal of deprecated privilege hooks
* filter:privileges.global.list
* filter:privileges.global.groups.list
* filter:privileges.global.list_human
* filter:privileges.global.groups.list_human
* filter:privileges.list
* filter:privileges.groups.list
* filter:privileges.list_human
* filter:privileges.groups.list_human
* filter:privileges.admin.list
* filter:privileges.admin.groups.list
* filter:privileges.admin.list_human
* filter:privileges.admin.groups.list_human
2025-05-06 13:38:42 -04:00
Julian Lam
547fb482eb breaking: removal of filter:flags.getFilters 2025-05-06 13:38:42 -04:00
Julian Lam
7e25946cd7 breaking: removal of filter:user.verify.code 2025-05-06 13:38:42 -04:00
Julian Lam
df5c1a938d breaking: removal of filter:post.purge 2025-05-06 13:38:42 -04:00
Julian Lam
c84b72fb37 breaking: removal of filter:post.purge 2025-05-06 13:38:42 -04:00
Julian Lam
9d8061eab9 breaking: removal of filter:router.page 2025-05-06 13:38:42 -04:00
Julian Lam
b73a8d3e1d breaking: removal of filter:email.send 2025-05-06 13:38:42 -04:00
Julian Lam
651ebaaf6c fix: missing await 2025-05-06 13:24:58 -04:00
Julian Lam
53bb0bbc26 fix: handle missing orderedItems 2025-05-06 12:30:43 -04:00
Julian Lam
f83b1fbf68 fix: extra orderedItems property in generated paginated OrderedCollection, #13153 2025-05-06 12:27:35 -04:00
Julian Lam
a2de7aaecf fix: #13153, follower and following collections to use generateCollection helper 2025-05-06 12:27:35 -04:00
Julian Lam
7f59238d3a refactor: Helpers.generateCollection so that total count and a bound function can be passed in, #13153 2025-05-06 12:27:35 -04:00
renovate[bot]
450ce3b85c chore(deps): update dependency @eslint/js to v9.26.0 (#13371)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-06 11:29:19 -04:00
renovate[bot]
e2a8cf98f3 fix(deps): update dependency @fontsource/poppins to v5.2.6 (#13376)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-06 11:17:35 -04:00
Julian Lam
b433848971 fix: #13374, updates to posts.edit to handle remote content updates better 2025-05-06 10:45:09 -04:00
Julian Lam
625ce96f94 fix: leftover handle var 2025-05-06 10:03:33 -04:00
renovate[bot]
2c0aba02d3 fix(deps): update dependency nodebb-plugin-mentions to v4.7.5 (#13386)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-06 09:59:17 -04:00
renovate[bot]
7f757615e5 fix(deps): update dependency nodebb-widget-essentials to v7.0.38 (#13380)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-06 09:37:52 -04:00
renovate[bot]
954aa541ac fix(deps): update dependency nodebb-theme-persona to v14.1.11 (#13379)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-06 09:35:30 -04:00
renovate[bot]
2aa0bfc5f6 fix(deps): update dependency nodebb-theme-peace to v2.2.42 (#13378)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-06 09:32:50 -04:00
renovate[bot]
72b3a21539 fix(deps): update dependency nodebb-theme-harmony to v2.1.12 (#13377)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-06 09:32:32 -04:00
Misty Release Bot
92af415829 Latest translations and fallbacks 2025-05-06 09:20:36 +00:00
Julian Lam
f8d012c81c fix: AP inbox update handling for non-note objects 2025-05-05 17:01:07 -04:00
Julian Lam
9f80d10d09 fix: 1b12 creates being dropped 2025-05-05 16:50:44 -04:00
Julian Lam
7cf61ab080 fix: update AP api (un)follow ids to be url encoded id instead of handle 2025-05-05 16:35:12 -04:00
Barış Soner Uşaklı
31af05c75a test: fix android test 2025-05-05 11:09:53 -04:00
Barış Soner Uşaklı
25979294e1 test: fix android test 2025-05-05 11:00:30 -04:00
Barış Soner Uşaklı
7ef79981dd test: fix a test 2025-05-05 10:57:43 -04:00
Barış Soner Uşaklı
800426d68b chore: node 18 eol 2025-05-05 10:46:04 -04:00
Barış Soner Uşaklı
2d15555e5c update tests to node 20/22 2025-05-05 10:43:56 -04:00
renovate[bot]
4b78710b46 fix(deps): update dependency ace-builds to v1.41.0 (#13372)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-05 09:06:41 -04:00
Barış Soner Uşaklı
ee2f91ad98 chore: up widgets 2025-05-03 14:36:20 -04:00
Barış Soner Uşaklı
18867fb14a chore: up themes 2025-05-02 19:49:56 -04:00
Barış Soner Uşaklı
d35aad317d https://github.com/NodeBB/NodeBB/issues/13367 2025-05-02 19:48:48 -04:00
Barış Soner Uşaklı
39953ee16b https://github.com/NodeBB/NodeBB/issues/13367 2025-05-02 19:48:35 -04:00
renovate[bot]
e958010f40 chore(deps): update dependency mocha to v11.2.2 (#13366)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-02 19:41:55 -04:00
Julian Lam
f3bd8590e9 fix(deps): bump markdown 2025-05-02 14:07:56 -04:00
Misty Release Bot
227bfabb8b Latest translations and fallbacks 2025-05-02 09:19:56 +00:00
Barış Soner Uşaklı
cf62da5c3e Merge branch 'master' into develop 2025-05-01 13:06:16 -04:00
Barış Soner Uşaklı
343f13e1c1 chore: update bundled plugins to use eslint9 2025-05-01 10:55:00 -04:00
Misty Release Bot
6ada76f401 Latest translations and fallbacks 2025-05-01 09:19:38 +00:00
Misty Release Bot
bff291db4d chore: incrementing version number - v4.3.0
(cherry picked from commit 7b43b1b80e)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2025-05-01 04:13:40 +00:00
Misty Release Bot
76c03019f8 chore: update changelog for v4.3.0 2025-05-01 04:13:40 +00:00
Misty Release Bot
7b43b1b80e chore: incrementing version number - v4.3.0 2025-05-01 04:13:39 +00:00
Misty Release Bot
56163dd143 Merge commit '1c07eab66be6d20879cc6cc35ff7a66bb7a3ecc8' into v4.x 2025-05-01 04:13:38 +00:00
Julian Lam
1c07eab66b Merge remote-tracking branch 'origin/master' into develop 2025-05-01 00:06:47 -04:00
Julian Lam
b32b7fccff docs: update openapi spec with new (missing) properties 2025-04-30 15:18:05 -04:00
Julian Lam
2bf2e55664 fix: bump harmony 2025-04-30 15:11:51 -04:00
Misty Release Bot
2524d4ce12 Latest translations and fallbacks 2025-04-30 09:20:22 +00:00
Julian Lam
28b7a20339 lint: yup. 2025-04-29 15:13:22 -04:00
Misty Release Bot
2827498d76 chore(i18n): fallback strings for new resources: nodebb.category, nodebb.world 2025-04-29 19:06:06 +00:00
Julian Lam
5aee2f2661 feat: upgrade script to remote duplicate remote users and categories as per #13352 2025-04-29 14:35:28 -04:00
Julian Lam
2572cbf5d5 fix: #13352, also do the webfinger backreference check when calling assertGroup 2025-04-29 11:18:24 -04:00
Julian Lam
e9b3306e79 fix: regression that caused non-public content with source.content to fail parsing 2025-04-29 10:28:18 -04:00
Julian Lam
decc9cf196 feat: add new mixin clamp-fade, and handler for expanding it in category description
closes #13322
2025-04-29 10:28:18 -04:00
Barış Soner Uşaklı
537a742898 fix: closes #13360, catch error in buildAccountData middleware 2025-04-29 10:28:18 -04:00
Julian Lam
e3e78445ba chore: v4.3.0-beta.2 2025-04-29 10:28:18 -04:00
Julian Lam
044736696e feat: handle Announce(Update(Note)) as well, #13320 2025-04-29 10:28:18 -04:00
Julian Lam
74e32a170f feat: #13255, proper handling of upvotes shared by group actors
fixes #13320
2025-04-29 10:28:18 -04:00
Julian Lam
5c5fd3d44f feat: send the whole post content in summary as well 2025-04-29 10:28:18 -04:00
Julian Lam
c2a3ef817d fix: bug where disparate ids all claiming to be the same handle were causing duplicate remote users due to collisions, #13352 2025-04-29 10:28:18 -04:00
Julian Lam
3e508d6c65 test: article for new topic, note for replies 2025-04-29 10:28:18 -04:00
Julian Lam
a0a8c4624f fix: posts incorrectly excluded from results if result pid is in a remote category 2025-04-29 10:28:18 -04:00
Julian Lam
d020e33422 fix: ap helpers.makeSet to handle undefined property values 2025-04-29 10:28:18 -04:00
Julian Lam
512f889ec2 test: missing clear ap send cache 2025-04-29 10:28:18 -04:00
Julian Lam
0689da8120 chore: v4.3.0-beta.1 2025-04-29 10:28:18 -04:00
Julian Lam
804208b7b5 feat: show/hide categories on world page, #13255 2025-04-29 10:28:18 -04:00
Julian Lam
d58d5861d9 fix: add back localCategories to categorySearch when defaultCategories is supplied 2025-04-29 10:28:18 -04:00
Julian Lam
93a5b35f33 feat: notice on remote categories that have no local followers, #13255 2025-04-29 10:28:18 -04:00
Julian Lam
f02d96614a fix: remote bare hash for remote users on prune as well 2025-04-29 10:28:18 -04:00
Julian Lam
a487d5f6f2 feat: add new option to categorySearch module, defaultCategories, use to populate the category list when you don't want to poll backend for the main category list 2025-04-29 10:28:18 -04:00
Julian Lam
695312f17f fix: missing teasers for remote categories on /world 2025-04-29 10:28:18 -04:00
Julian Lam
0fab4255cc fix: remove superfluous privilege filter in markAllRead 2025-04-29 10:28:18 -04:00
Julian Lam
2e3e675be4 chore: cut 4.3.0-alpha.3 2025-04-29 10:28:18 -04:00
Julian Lam
1790951659 feat: category quick search on world page, theme version updates, #13255 2025-04-29 10:28:18 -04:00
Julian Lam
dabcefafd4 fix: reversed image and icon for remote categories, omit fa icon if remote category has icon property set, #13255 2025-04-29 10:28:18 -04:00
Julian Lam
34ab677174 feat: show tracked/watched remote categories in world page, #13255 2025-04-29 10:28:18 -04:00
Barış Soner Uşaklı
f1d1d0820a fix: closes #13289, id can be null 2025-04-29 10:28:18 -04:00
Julian Lam
4a7111d042 fix: marking remote category topics as read 2025-04-29 10:28:18 -04:00
Julian Lam
b0236735f2 fix: markAllRead to get tids based on same logic as unread page, instead of marking all recent posts read 2025-04-29 10:28:18 -04:00
Julian Lam
39fc9bae89 test: additional test for ensuring handle:uid is continually set even after re-assertion 2025-04-29 10:28:18 -04:00
Julian Lam
c4690392cd chore: cut v4.3.0-alpha.2 2025-04-29 10:28:18 -04:00
Julian Lam
6dee3e56e6 fix: key ownership cross-check to also work with remote categories, #13255 2025-04-29 10:28:18 -04:00
Julian Lam
4379df68f5 chore: cut v4.3.0-alpha 2025-04-29 10:28:18 -04:00
Julian Lam
1f04678210 fix: #13255, assert all recipients of the main post when asserting a note, so that remote categories can be discovered 2025-04-29 10:28:18 -04:00
Julian Lam
4d1d7c3dca fix: remote categories should not show up in a user's follow lists 2025-04-29 10:28:18 -04:00
Julian Lam
3213da1c77 fix: #13255, remote user-to-category migration should not move shares that are already in an existing cid 2025-04-29 10:28:18 -04:00
Julian Lam
f2e0ba2165 fix: proper handling of actors.qualify response 2025-04-29 10:28:18 -04:00
Julian Lam
2cb6d10d9e fix: missing dep 2025-04-29 10:28:18 -04:00
Julian Lam
c2f77cee04 test: additional test for remote category topic assertion when ignoring category 2025-04-29 10:28:17 -04:00
Julian Lam
c4274a3dca fix: topics in remote categories showing up in /recent 2025-04-29 10:28:17 -04:00
Julian Lam
0246c14643 fix: regression that caused resolveInboxes to always return empty, added tests for resolveInboxes 2025-04-29 10:28:17 -04:00
Barış Soner Uşaklı
97a232e9d5 dont make db call if ap disabled 2025-04-29 10:28:17 -04:00
Barış Soner Uşaklı
74661381d8 refactor: use promise.all 2025-04-29 10:28:17 -04:00
Barış Soner Uşaklı
c1b7196429 fix: spread fail, @julianlam
add ap check
2025-04-29 10:28:17 -04:00
Julian Lam
ac7b7f81b3 feat: remote user to category migration should also migrate local user follows into category watches 2025-04-29 10:28:17 -04:00
Julian Lam
309deb0d7a fix: filter out non-asserted targets when sending ap messages, diff. getter method when passed-in ID is a remote category 2025-04-29 10:28:17 -04:00
Julian Lam
c5901e0d24 fix: tag whitelist check socket call for remote categories 2025-04-29 10:28:17 -04:00
Julian Lam
23b3148c84 feat: allowing manual group assertion via category search input 2025-04-29 10:28:17 -04:00
Julian Lam
ee34396c71 fix: migrate topics as system user instead of uid 0 2025-04-29 10:28:17 -04:00
Julian Lam
6e374200e5 send ap follow/undo-follow if remote category watch state changes 2025-04-29 10:28:17 -04:00
Julian Lam
d19f692b8d feat: remote group actors migrated to categories if they were previous asserted as remote users 2025-04-29 10:28:17 -04:00
Julian Lam
c6f2c87478 fix: do not send out ap (undo:)follow if local user or category is (not)already following 2025-04-29 10:28:17 -04:00
Julian Lam
85e7c1a20d test: #13255, reply to topic in remote category addresses remote category 2025-04-29 10:28:17 -04:00
Julian Lam
b8c531d53d feat: #13255 new topics in remote category addresses remote category, tests, fixes to tests 2025-04-29 10:28:17 -04:00
Julian Lam
0b333fb7d4 fix: allow category controller to respond also by remote category id 2025-04-29 10:28:17 -04:00
Julian Lam
9c1d5cd36e feat: #13255, deliver asserted topics to remote category followers 2025-04-29 10:28:17 -04:00
Julian Lam
6e23de46d6 fix: #13255, update category search logic to allow for remote categories 2025-04-29 10:28:17 -04:00
Julian Lam
876d1b0414 feat: #13255, add category name and handle to category search zset 2025-04-29 10:28:17 -04:00
Julian Lam
bfc7daf255 refactor: categories.sortTidsBySet to not take cid, retrieve from tids themselves
re: ##13255, this fixes the issue with topics outside of cid -1 in /world being sorted incorrectly
2025-04-29 10:28:17 -04:00
Julian Lam
53dc79a1bd test: remote user pruning tests 2025-04-29 10:28:17 -04:00
Julian Lam
9b5855f79d feat: integrate remote category pruning into actor pruning logic 2025-04-29 10:28:17 -04:00
Julian Lam
4be0f73ace feat: migration of group-as-user to group-as-category, remote category purging, more tests 2025-04-29 10:28:17 -04:00
Julian Lam
7ccd6b73ae fix: delete shares zset on account deletion 2025-04-29 10:28:17 -04:00
Julian Lam
4f7481582c test: introduce overrides into person and group mocks 2025-04-29 10:28:17 -04:00
Julian Lam
80069a198c test: have ap helper mocks for person and group auto-save to ap cache 2025-04-29 10:28:17 -04:00
Julian Lam
afc4764358 test: add failing tests for actor/group assertion via wrong method, remote user to category migration 2025-04-29 10:28:17 -04:00
Julian Lam
f483e883a7 feat: asserted topics and posts to remote categories will notify and add to unread based on remote category watch state 2025-04-29 10:28:17 -04:00
Julian Lam
804052f272 test: add tests for topics slotting into remote categories if addressed 2025-04-29 10:28:17 -04:00
Julian Lam
ca9a5b6dfb test: group actor assertion tests 2025-04-29 10:28:17 -04:00
Julian Lam
0fa98237af refactor: allow topics to be asserted directly into a remote category, or -1 otherwise 2025-04-29 10:28:17 -04:00
Julian Lam
f73f727d90 feat: also include category in to field when mocking post for federation 2025-04-29 10:28:17 -04:00
Julian Lam
1f40995f79 refactor: ability to browse to remote categories, group actor assertion logic, etc. -- no logic to assign topics to remote categories yet 2025-04-29 10:28:17 -04:00
Julian Lam
55c89969ed revert: use of vanity domains, needs rethinking. Originally added in 709a02d97a 2025-04-29 10:28:17 -04:00
Misty Release Bot
85fc167800 Latest translations and fallbacks 2025-04-29 09:20:03 +00:00
Misty Release Bot
4111512841 Latest translations and fallbacks 2025-04-27 09:19:32 +00:00
Barış Soner Uşaklı
ea9f7903ef fix: persona tooltip so it doesn't appear when dropdowns are open 2025-04-26 20:44:35 -04:00
renovate[bot]
7f533167ee fix(deps): update dependency pg to v8.15.6 (#13362)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-26 14:37:21 -04:00
Misty Release Bot
f7aaabaadb Latest translations and fallbacks 2025-04-26 09:19:33 +00:00
renovate[bot]
03e06784d4 fix(deps): update dependency pg-cursor to v2.14.6 (#13363)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-25 16:18:47 -04:00
Misty Release Bot
c889d60c5d chore(i18n): fallback strings for new resources: nodebb.error 2025-04-25 16:18:30 +00:00
Barış Soner Uşaklı
4277765b64 fix: lang keys 2025-04-25 12:17:26 -04:00
Misty Release Bot
d3409b40b1 chore(i18n): fallback strings for new resources: nodebb.admin-settings-user, nodebb.user 2025-04-25 15:54:52 +00:00
Barış Soner Uşaklı
a5afad27e5 feat: chat allow/deny list, closes #13359 2025-04-25 11:54:11 -04:00
renovate[bot]
7800016f2f chore(deps): update redis docker tag to v7.4.3 (#13358)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-25 09:04:15 -04:00
renovate[bot]
0a3e4d61d8 fix(deps): update dependency webpack to v5.99.7 (#13361)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-25 09:04:06 -04:00
Barış Soner Uşaklı
be7959e5eb refactor: remove datepicker
using datetime-local now https://github.com/NodeBB/NodeBB/blob/master/src/views/admin/partials/widget-settings.tpl#L14-L20
2025-04-24 11:38:48 -04:00
renovate[bot]
74558b0fc7 fix(deps): update dependency pg to v8.15.5 (#13356)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-24 10:20:12 -04:00
Barış Soner Uşaklı
8ffbc35923 refactor: add sping/ping into openapi
change getObject to getSortedSetRange so db is always checked. getObject calls are cached
2025-04-24 09:50:52 -04:00
Misty Release Bot
7eb2f12751 Latest translations and fallbacks 2025-04-24 09:19:59 +00:00
renovate[bot]
4eec053a77 fix(deps): update dependency ace-builds to v1.40.1 (#13354)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-23 20:01:22 -04:00
renovate[bot]
43d7d47fa6 fix(deps): update dependency esbuild to v0.25.3 (#13355)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-23 20:01:12 -04:00
renovate[bot]
00be573d4f fix(deps): update dependency pg-cursor to v2.14.5 (#13350)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-23 20:00:56 -04:00
renovate[bot]
b49436de0a fix(deps): update dependency pg to v8.15.2 (#13349)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-23 14:21:47 -04:00
Barış Soner Uşaklı
ed92ffaf08 fix: closes #13353, don't use index for finding plugin data 2025-04-23 06:50:40 -04:00
Barış Soner Uşaklı
e0235a1e94 test: shorter test 2025-04-22 17:22:01 -04:00
Barış Soner Uşaklı
f864a5a4ac test: eslint for tests 2025-04-22 17:15:48 -04:00
Barış Uşaklı
b57ce29dc6 chore: up pg, pg-cursor (#13351)
* chore: up pg, pg-cursor

* test: check file directly
2025-04-22 13:32:41 -04:00
Barış Soner Uşaklı
1a3e669b6f Merge branch 'master' into develop 2025-04-22 12:38:25 -04:00
Misty Release Bot
17fecc24e4 chore: incrementing version number - v4.2.2
(cherry picked from commit a8bb46996b)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2025-04-22 16:33:52 +00:00
Misty Release Bot
ce196589f5 chore: update changelog for v4.2.2 2025-04-22 16:33:51 +00:00
Misty Release Bot
a8bb46996b chore: incrementing version number - v4.2.2 2025-04-22 16:33:51 +00:00
Misty Release Bot
e15276091c Merge commit '42a5a127b6a55483c800a7f459b12fc62c63c6a5' into v4.x 2025-04-22 16:33:38 +00:00
Barış Soner Uşaklı
71cd46e132 Merge branch 'master' into develop 2025-04-22 11:46:43 -04:00
Barış Soner Uşaklı
42a5a127b6 fix: escape displayname in topic events 2025-04-22 11:46:03 -04:00
Barış Soner Uşaklı
e2543abb59 Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-04-22 11:24:58 -04:00
renovate[bot]
bee79784cf chore(deps): update dependency sass-embedded to v1.87.0 (#13347)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-22 09:52:10 -04:00
renovate[bot]
50a58bbc03 fix(deps): update dependency sass to v1.87.0 (#13348)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-22 09:51:59 -04:00
Misty Release Bot
92f7f2305f Latest translations and fallbacks 2025-04-22 09:19:47 +00:00
renovate[bot]
25e4e844d9 chore(deps): update dependency @eslint/js to v9.25.1 (#13344)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-21 18:54:15 -04:00
renovate[bot]
8d84206f5b fix(deps): update dependency connect-redis to v8.0.3 (#13345)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-21 18:54:05 -04:00
renovate[bot]
3c24810d73 fix(deps): update dependency mongodb to v6.16.0 (#13346)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-21 18:53:57 -04:00
Barış Soner Uşaklı
65b2042ffb Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-04-21 09:05:39 -04:00
Barış Soner Uşaklı
e184c9108a refactor: moved these rules to nodebb-config 2025-04-21 09:05:35 -04:00
renovate[bot]
d687fe60a1 chore(deps): update dependency eslint-config-nodebb to v1.1.3 (#13343)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-20 20:49:23 -04:00
Misty Release Bot
71642f5ced Latest translations and fallbacks 2025-04-20 09:19:23 +00:00
renovate[bot]
0cc492c6df chore(deps): update dependency @eslint/js to v9.25.0 (#13342)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-19 20:30:57 -04:00
Barış Soner Uşaklı
853244a13a chore: up eslint-nodebb 2025-04-18 22:17:30 -04:00
Barış Soner Uşaklı
3f01b719c4 remove unused import, up eslint-nodebb 2025-04-18 22:10:35 -04:00
Barış Soner Uşaklı
92d6e0220b refactor: switch eslint configs to esm
add rules from https://eslint.style/
refactor for in loops to use Object.entries
2025-04-18 21:57:12 -04:00
renovate[bot]
0c5ef0e866 fix(deps): update dependency chart.js to v4.4.9 (#13328)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-18 15:03:37 -04:00
renovate[bot]
6f8c7aba50 fix(deps): update dependency nconf to v0.13.0 (#13333)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-18 15:03:15 -04:00
renovate[bot]
5d461f0417 fix(deps): update dependency ace-builds to v1.40.0 (#13331)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-18 15:00:13 -04:00
renovate[bot]
6fbb2b4bc4 fix(deps): update dependency nodemailer to v6.10.1 (#13329)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-18 14:59:48 -04:00
renovate[bot]
74d9806d28 fix(deps): update dependency ioredis to v5.6.1 (#13318)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-18 12:00:22 -04:00
renovate[bot]
9046aceaa6 chore(deps): update dependency lint-staged to v15.5.1 (#13319)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-18 12:00:13 -04:00
renovate[bot]
f96ce25a84 fix(deps): update dependency cron to v4.3.0 (#13332)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-18 12:00:01 -04:00
renovate[bot]
24a5f407ec fix(deps): update dependency sanitize-html to v2.16.0 (#13339)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-18 11:44:59 -04:00
renovate[bot]
cac1c37b6b fix(deps): update dependency webpack to v5.99.6 (#13341)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-18 11:44:42 -04:00
Barış Soner Uşaklı
321defb989 test: fix tests 2025-04-18 11:16:02 -04:00
renovate[bot]
8f784bb348 fix(deps): update dependency bootbox to v6.0.3 (#13327)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-18 11:00:19 -04:00
Misty Release Bot
40767c8bcb Latest translations and fallbacks 2025-04-18 09:19:34 +00:00
Barış Soner Uşaklı
4301bf9797 chore: up themes 2025-04-17 13:20:37 -04:00
Barış Soner Uşaklı
9f93cc9bd0 refactor: move topic/post menu lists to core 2025-04-17 13:19:48 -04:00
Barış Soner Uşaklı
87aacc8943 refactor: show topic tools if plugins add them
previously regular users couldn't see topic tools if it was something that didnt require privileges
2025-04-17 12:02:52 -04:00
Barış Soner Uşaklı
b73fb67b33 refactor: remove reply icons 2025-04-17 09:32:55 -04:00
Misty Release Bot
13884e43c0 Latest translations and fallbacks 2025-04-17 09:19:56 +00:00
Barış Soner Uşaklı
be1abcc957 Merge branch 'master' into develop 2025-04-16 10:31:41 -04:00
Barış Soner Uşaklı
6832541c02 lint: fix semi 2025-04-16 10:31:28 -04:00
Barış Soner Uşaklı
4f13eb0338 fix: closes #13336, allow main post deletion from "delete posts" tool 2025-04-16 10:23:25 -04:00
Misty Release Bot
83245e4abf Latest translations and fallbacks 2025-04-16 09:19:59 +00:00
renovate[bot]
3f000ed6ec chore(deps): update dependency jsdom to v26.1.0 (#13330)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-15 17:57:02 -04:00
Julian Lam
4125219716 fix: regression on search query that is a url, via 3526c937cc 2025-04-15 14:15:06 -04:00
Misty Release Bot
6c163f7c13 chore(i18n): fallback strings for new resources: nodebb.global 2025-04-15 14:08:09 +00:00
Barış Soner Uşaklı
bf2d4c46f8 feat: show topic follower counts (#13326)
fix upgrade script dates
add upgrade script to count topic followers for each topic
2025-04-15 10:07:45 -04:00
Julian Lam
5d94f2cad4 test: fix test expecting Note when it is now Article 2025-04-15 10:06:04 -04:00
Julian Lam
3c4be7738c feat: federate out as:Article with preview for root-level posts in a topic, instead of as:Note 2025-04-14 13:56:49 -04:00
Julian Lam
2a98a9b334 fix: bug where generateHandle would throw when passed in an invalid slug 2025-04-14 13:35:22 -04:00
Misty Release Bot
38b46fb488 Latest translations and fallbacks 2025-04-13 09:19:23 +00:00
Misty Release Bot
dcf34e3da2 chore(i18n): fallback strings for new resources: nodebb.notifications 2025-04-12 18:17:23 +00:00
Barış Soner Uşaklı
73c8dbfe00 Merge branch 'master' into develop 2025-04-12 14:16:58 -04:00
Barış Soner Uşaklı
d59a5728df lint: fix missing comma 2025-04-11 19:58:48 -04:00
Barış Soner Uşaklı
46ed56cf96 refactor: use sortedSetsCard 2025-04-11 19:51:18 -04:00
Misty Release Bot
852a270c5e chore: incrementing version number - v4.2.1
(cherry picked from commit 59bc2b0d4b)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2025-04-10 14:03:46 +00:00
Misty Release Bot
4cee37b98e chore: update changelog for v4.2.1 2025-04-10 14:03:46 +00:00
Misty Release Bot
59bc2b0d4b chore: incrementing version number - v4.2.1 2025-04-10 14:03:46 +00:00
Misty Release Bot
a133085fb9 Merge commit '33d50637a33814f10bb5e8d78b8e314a39bea417' into v4.x 2025-04-10 14:03:45 +00:00
renovate[bot]
1bd1262247 fix(deps): update dependency nodebb-theme-harmony to v2.1.6 (#13314)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-10 09:54:21 -04:00
renovate[bot]
6de89952f5 fix(deps): update dependency nodebb-theme-persona to v14.1.5 (#13316)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-10 09:54:06 -04:00
Barış Soner Uşaklı
33d50637a3 fix: closes #13317, fix email confirm for changing email 2025-04-10 09:53:20 -04:00
Misty Release Bot
59bcb6ee77 Latest translations and fallbacks 2025-04-10 09:20:24 +00:00
renovate[bot]
41be539fb8 chore(deps): update dependency @eslint/js to v9.24.0 (#13310)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-09 09:35:11 -04:00
renovate[bot]
140440ccbf fix(deps): update dependency webpack to v5.99.5 (#13312)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-09 09:34:51 -04:00
Misty Release Bot
dcb2e9b997 Latest translations and fallbacks 2025-04-09 09:20:04 +00:00
renovate[bot]
5fa09a6756 fix(deps): update dependency cron to v4.1.4 (#13307)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-08 11:52:40 -04:00
renovate[bot]
6f3e985397 fix(deps): update dependency nodebb-theme-persona to v14.1.2 (#13311)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-08 11:52:25 -04:00
renovate[bot]
9905e6aa73 fix(deps): update dependency nodebb-theme-harmony to v2.1.3 (#13309)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-08 11:52:13 -04:00
renovate[bot]
4b511546d2 fix(deps): update dependency bootswatch to v5.3.5 (#13308)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-08 11:51:54 -04:00
Misty Release Bot
b1e95bc637 chore(i18n): fallback strings for new resources: nodebb.error 2025-04-08 13:30:42 +00:00
Barış Soner Uşaklı
b49a4586cf fix: closes #13313, add error:post-deleted 2025-04-08 09:30:16 -04:00
renovate[bot]
22b3dc656e fix(deps): update dependency bootstrap to v5.3.5 (#13304)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-07 16:54:34 -04:00
Barış Soner Uşaklı
52ca086b83 fix: upgrade script 2025-04-07 13:56:04 -04:00
Barış Soner Uşaklı
021b3af04a refactor: remove debug log 2025-04-07 13:23:46 -04:00
Barış Soner Uşaklı
3526c937cc fix: tag urls getting double escaped (#13306)
* fix: tag urls getting double escaped

get rid of weird decodeURIComponent($.param()) usage
$.param returns a string suitable for use in query param string

* add a new test
2025-04-07 13:23:22 -04:00
Barış Soner Uşaklı
bf243e0778 fix: notifications.markAllRead
so that it actually marks all notifications read instead of the most recent 100. if you had more than 100 unread it required clicking multiple times.

also don't use markReadMultiple since we are clearing them all.
2025-04-07 10:05:27 -04:00
Misty Release Bot
8dd98206db Latest translations and fallbacks 2025-04-07 09:19:46 +00:00
renovate[bot]
70e788ba05 fix(deps): update dependency sass to v1.86.3 (#13302)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-04 14:03:25 -04:00
renovate[bot]
cd2ed209a0 fix(deps): update dependency spdx-license-list to v6.10.0 (#13303)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-04 14:02:55 -04:00
Barış Soner Uşaklı
c93dc5897a refactor: break long line 2025-04-04 11:47:24 -04:00
renovate[bot]
0bd4394093 chore(deps): update dependency sass-embedded to v1.86.3 (#13301)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-04 11:11:00 -04:00
Barış Soner Uşaklı
c41c7e8a03 fix: posts.uploads.usage since paths changed 2025-04-04 11:04:09 -04:00
Barış Soner Uşaklı
3ad6ee075b Thumb uploads/post uploads normalization (#13300)
* testing thumn/post upload refactor

* fix: isOrphan check

* lint: fix md5

* test: fix upload test

* user

* fix: upgrade script

* refactor: long line

* lint: lint

* test: fix tests

* Squashed commit of the following:

commit cd70e6c610
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Fri Apr 4 09:24:54 2025 -0400

    fix: req.body can be undefined

* refactor: show data on test fail

* test: logs

* test: change test

* make sure timestamps are different
2025-04-04 10:45:05 -04:00
Barış Soner Uşaklı
cd70e6c610 fix: req.body can be undefined 2025-04-04 09:24:54 -04:00
renovate[bot]
d9074dbc41 fix(deps): update dependency bootstrap to v5.3.4 (#13299)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-03 17:16:47 -04:00
Barış Soner Uşaklı
bbfd64457d fix: closes #13298, catch exceptions in webfinger and nodeinfo 2025-04-03 12:57:49 -04:00
Barış Soner Uşaklı
a6839b6149 refactor: only write to db on runJobs processes
similart to analytics.js
2025-04-03 12:52:02 -04:00
Barış Soner Uşaklı
667367a68f refactor: use bulk increment 2025-04-03 11:53:48 -04:00
renovate[bot]
dd3d1917d1 fix(deps): update dependency nodebb-plugin-mentions to v4.7.3 (#13294)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-03 11:13:07 -04:00
renovate[bot]
dfd2621ebd fix(deps): update dependency bootbox to v6.0.2 (#13293)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-03 11:12:51 -04:00
renovate[bot]
fdcd2a84a4 chore(deps): update dependency sass-embedded to v1.86.2 (#13291)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-03 11:10:21 -04:00
renovate[bot]
1a763cbbf2 fix(deps): update dependency sass to v1.86.2 (#13295)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-03 11:10:04 -04:00
renovate[bot]
311cbec222 fix(deps): update dependency benchpressjs to v2.5.5 (#13292)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-03 10:40:11 -04:00
renovate[bot]
5caadd2d50 fix(deps): update dependency nodebb-theme-harmony to v2.1.0 (#13296)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-03 10:39:58 -04:00
Barış Soner Uşaklı
bc8126c7c0 chore: up dbsearch 2025-04-03 10:18:34 -04:00
renovate[bot]
e6a021760d fix(deps): update dependency esbuild to v0.25.2 (#13284)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-03 09:54:27 -04:00
renovate[bot]
c46c262330 fix(deps): update dependency cron to v4.1.3 (#13282)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-03 09:54:04 -04:00
Barış Soner Uşaklı
4b9331d95f chore: up dbsearch 2025-04-03 09:53:30 -04:00
Barış Soner Uşaklı
d464b80f35 fix progress bar bg 2025-04-02 11:13:26 -04:00
Barış Soner Uşaklı
ef98f8f9d3 fix: closes #13205, make parent post font-size small until expanded 2025-04-02 10:01:05 -04:00
Barış Soner Uşaklı
2c59007b10 fix: closes #13275, set 'announces' after adding to zset to prevent race condition 2025-04-01 10:55:03 -04:00
Barış Soner Uşaklı
d9f33204a8 fix: use slug instead of groupname in acp for groups
#13286, acp page was inaccessible
2025-04-01 10:46:31 -04:00
Misty Release Bot
bee38166c7 Latest translations and fallbacks 2025-04-01 09:20:25 +00:00
Barış Soner Uşaklı
4cdfcf95e6 lint: fix tabs 2025-03-28 16:06:38 -04:00
renovate[bot]
11f7b42ce8 fix(deps): update dependency cron to v4.1.2 (#13281)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-28 13:58:54 -04:00
Julian Lam
aa4f23bfad fix: do not await the batch call to sendMessage 2025-03-28 12:59:06 -04:00
Julian Lam
4b22f29778 fix: commenting out outward federation of Add activity, pending forumwg discussion 2025-03-28 12:39:19 -04:00
renovate[bot]
28ec8a79c0 fix(deps): update dependency satori to v0.12.2 (#13280)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-27 21:48:35 -04:00
Barış Soner Uşaklı
b1cfe9cbd4 Merge branch 'master' into develop 2025-03-27 11:59:05 -04:00
Barış Soner Uşaklı
d161eb6f6c chore: up harmony 2025-03-27 11:57:21 -04:00
Barış Soner Uşaklı
34de970fbe Merge branch 'master' into develop 2025-03-27 11:43:42 -04:00
Barış Soner Uşaklı
2237e17a12 chore: up persona 2025-03-27 11:43:35 -04:00
Barış Soner Uşaklı
389bc062e3 feat: body-parser-2.x test (#13278)
* feat: body-parser-2.x test

* fix req.body
2025-03-27 11:29:37 -04:00
renovate[bot]
57819810ce fix(deps): update dependency cron to v4.1.1 (#13276)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-27 10:02:55 -04:00
renovate[bot]
40ecffa0bd fix(deps): update dependency nodebb-plugin-composer-default to v10.2.49 (#13272)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-27 10:01:23 -04:00
Barış Soner Uşaklı
635d0e605b Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2025-03-27 09:50:50 -04:00
Barış Soner Uşaklı
352c42d8db lint: fix typo 2025-03-27 09:50:46 -04:00
renovate[bot]
5b40c14927 fix(deps): update dependency nodebb-theme-harmony to v2.0.42 (#13274)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-27 09:48:19 -04:00
Julian Lam
4bbe27d44c fix: on user deletion during assertion (due to 410), if delete fails, just run ap post-deletion to clean up 2025-03-26 13:45:30 -04:00
Julian Lam
7d32cdacb2 fix(deps): bump mentions 2025-03-26 12:01:26 -04:00
Misty Release Bot
c5a1239eba Latest translations and fallbacks 2025-03-26 09:20:35 +00:00
Barış Soner Uşaklı
9637abcaa1 refactor: remove spammy error log 2025-03-25 18:25:35 -04:00
Misty Release Bot
d5d1812159 Latest translations and fallbacks 2025-03-25 09:21:20 +00:00
renovate[bot]
d275af6077 fix(deps): update dependency validator to v13.15.0 (#13273)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-24 19:48:14 -04:00
Barış Soner Uşaklı
e722e86956 refactor: get rid of async.parallel 2025-03-24 10:22:27 -04:00
Barış Soner Uşaklı
e54d21a5b8 Revert "chore(deps): update dependency @apidevtools/swagger-parser to v10.1.1 (#13037)"
This reverts commit 3305c7b04f.
2025-03-23 14:32:41 -04:00
renovate[bot]
3305c7b04f chore(deps): update dependency @apidevtools/swagger-parser to v10.1.1 (#13037)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-23 14:28:02 -04:00
renovate[bot]
92caab97c1 fix(deps): update dependency csrf-sync to v4.1.0 (#13268)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-23 14:27:35 -04:00
Barış Soner Uşaklı
807a8c66db fix: race condition in test 2025-03-22 12:12:35 -04:00
Barış Soner Uşaklı
cab8ab9b7b remove colors dep 2025-03-22 12:09:13 -04:00
Barış Soner Uşaklı
d147432d2a Merge branch 'master' into develop 2025-03-22 12:03:52 -04:00
Barış Soner Uşaklı
485562d591 feat: upgrade commander, get rid of custom color & wrapping code 2025-03-22 12:03:22 -04:00
Barış Soner Uşaklı
6813664120 feat: testing eslint9 (#13266)
* feat: testing eslint9

* fix: restore original functionality
2025-03-22 11:21:49 -04:00
Misty Release Bot
87b617e9bb Latest translations and fallbacks 2025-03-22 09:20:25 +00:00
renovate[bot]
ca479efc1b fix(deps): update dependency nodebb-theme-persona to v14.0.17 (#13263)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-21 21:17:29 -04:00
renovate[bot]
33c25ce6ce fix(deps): update dependency nodebb-theme-harmony to v2.0.41 (#13262)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-21 21:17:21 -04:00
renovate[bot]
5b98af9fd0 fix(deps): update dependency nodebb-plugin-composer-default to v10.2.48 (#13261)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-21 21:17:11 -04:00
renovate[bot]
e17163ad09 fix(deps): update dependency sanitize-html to v2.15.0 (#13264)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-21 20:24:55 -04:00
renovate[bot]
532fea9929 fix(deps): update dependency ace-builds to v1.39.1 (#13260)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-21 15:58:34 -04:00
Misty Release Bot
e24865ac70 Latest translations and fallbacks 2025-03-21 09:21:58 +00:00
Barış Soner Uşaklı
75f1f6fbfe chore: up persona 2025-03-20 17:10:02 -04:00
Misty Release Bot
aa573e7945 Latest translations and fallbacks 2025-03-20 09:22:12 +00:00
Barış Soner Uşaklı
747457d7b6 refactor: remove pointless true 2025-03-19 21:14:02 -04:00
Barış Soner Uşaklı
6fe066ced2 fix: check if latestversion is valid before using semver.gt 2025-03-19 21:03:08 -04:00
Barış Soner Uşaklı
c258f597c5 refactor: make register intro heading 2025-03-19 20:54:31 -04:00
Barış Soner Uşaklı
c662017033 fix: closes #13256, allow keyboard access to icon colors 2025-03-19 20:49:04 -04:00
Misty Release Bot
87581958a9 chore: incrementing version number - v4.2.0
(cherry picked from commit 322c40842c)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2025-03-19 18:34:00 +00:00
Misty Release Bot
c9e0198de4 chore: update changelog for v4.2.0 2025-03-19 18:34:00 +00:00
Misty Release Bot
322c40842c chore: incrementing version number - v4.2.0 2025-03-19 18:33:59 +00:00
Misty Release Bot
004bd84439 Merge commit '08796a0a5929a76a5b0bff995d50f35982b312da' into v4.x 2025-03-19 18:33:53 +00:00
Julian Lam
08796a0a59 fix: wrong property name used 2025-03-19 14:01:09 -04:00
renovate[bot]
1c23d0cfa6 fix(deps): update dependency mongodb to v6.15.0 (#13253)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-19 11:04:38 -04:00
Julian Lam
80e03c857e fix: #13254, configurable ap content prune 2025-03-19 10:17:09 -04:00
Misty Release Bot
28f7d6870a Latest translations and fallbacks 2025-03-19 09:21:51 +00:00
Barış Soner Uşaklı
8ee69f5169 Merge branch 'master' into develop 2025-03-18 21:22:15 -04:00
Barış Soner Uşaklı
8982923e41 test: add url/statusCode to failing test 2025-03-18 21:22:07 -04:00
renovate[bot]
ee3c0bf427 chore(deps): update commitlint monorepo to v19.8.0 (#13244)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-18 21:20:02 -04:00
renovate[bot]
f4fe3f5f93 chore(deps): update dependency lint-staged to v15.5.0 (#13245)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-18 21:19:45 -04:00
renovate[bot]
4d6d71d823 fix(deps): update dependency pg to v8.14.1 (#13247)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-18 21:19:36 -04:00
renovate[bot]
dbd0fd2288 fix(deps): update dependency nodebb-widget-essentials to v7.0.36 (#13250)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-18 21:19:22 -04:00
renovate[bot]
3bb861ae21 chore(deps): update dependency sass-embedded to v1.86.0 (#13251)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-18 21:18:58 -04:00
renovate[bot]
a1465268af fix(deps): update dependency sass to v1.86.0 (#13252)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-18 21:18:47 -04:00
renovate[bot]
ce3bb8b5d5 fix(deps): update dependency esbuild to v0.25.1 (#13243)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-18 16:05:24 -04:00
renovate[bot]
b96f532bb7 fix(deps): update dependency ioredis to v5.6.0 (#13246)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-18 16:04:55 -04:00
renovate[bot]
e90a8b26d3 fix(deps): update dependency connect-redis to v8.0.2 (#13242)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-18 15:58:43 -04:00
renovate[bot]
4e69ed568b fix(deps): update dependency autoprefixer to v10.4.21 (#13241)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-18 15:57:11 -04:00
renovate[bot]
9272754989 fix(deps): update dependency pg-cursor to v2.13.1 (#13248)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-18 15:56:14 -04:00
Barış Soner Uşaklı
ed57f89659 chore: up widgets 2025-03-18 15:56:03 -04:00
Misty Release Bot
5c3e725675 Latest translations and fallbacks 2025-03-18 09:21:03 +00:00
Barış Soner Uşaklı
653a2502b2 Merge branch 'master' into develop 2025-03-15 16:51:21 -04:00
Misty Release Bot
fb5fba1aca Latest translations and fallbacks 2025-03-15 09:21:08 +00:00
Misty Release Bot
c68cf5316f Latest translations and fallbacks 2025-03-14 09:21:57 +00:00
Misty Release Bot
ff87bc9508 Latest translations and fallbacks 2025-03-13 09:22:03 +00:00
Misty Release Bot
b2afbb1606 chore: incrementing version number - v4.1.1
(cherry picked from commit f875a83423)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2025-03-12 23:10:22 +00:00
Misty Release Bot
2c3f85614d chore: update changelog for v4.1.1 2025-03-12 23:10:22 +00:00
Misty Release Bot
f875a83423 chore: incrementing version number - v4.1.1 2025-03-12 23:10:21 +00:00
Misty Release Bot
395a5ce593 Merge commit 'fc9cc8d6d7f66275e91be129f0bd59db79672af1' into v4.x 2025-03-12 23:10:19 +00:00
Misty Release Bot
9b1142bb38 Latest translations and fallbacks 2025-03-12 09:20:54 +00:00
Julian Lam
945617cbcf fix: only 1b12 announce topic fork if OP is local, fix race condition in tests 2025-03-11 15:32:10 -04:00
Julian Lam
291af926a6 fix: bug where remote post was attempted to be announced on post move 2025-03-11 15:17:10 -04:00
Julian Lam
254f0738bb feat: 1b12 category announce on post move to a new tid, #13236 2025-03-11 15:06:24 -04:00
Julian Lam
d7116adcd3 chore: add missing file to az lang 2025-03-11 14:29:34 -04:00
Julian Lam
0e1006fb3b test: fix remoteUrl property generation, tests for topic moving 2025-03-11 14:19:08 -04:00
Julian Lam
537880d2e8 test: fix actor tests 2025-03-11 13:27:37 -04:00
Julian Lam
74443c3b15 refactor: remove announceObject in favour of feps.announce, added create activity mock to support 2025-03-11 13:24:21 -04:00
Misty Release Bot
866cd5398f chore(i18n): fallback strings for new resources: nodebb.admin-settings-email 2025-03-11 15:55:40 +00:00
Barış Soner Uşaklı
459fe50cd6 Merge branch 'master' into develop 2025-03-11 11:55:11 -04:00
Barış Soner Uşaklı
fc9cc8d6d7 fix: lang typo 2025-03-11 11:50:16 -04:00
Barış Soner Uşaklı
de502cd2ee feat: allow self-signed certs, closes #13238 2025-03-11 11:49:40 -04:00
Barış Soner Uşaklı
1ca7b7ecce test: fix inf loop if dirname results in same dir, ie \ 2025-03-10 18:25:53 -04:00
Barış Soner Uşaklı
7ef36ab05b Merge branch 'master' into develop 2025-03-10 18:13:21 -04:00
Barış Soner Uşaklı
c4e3139599 lint: missing semi 2025-03-10 18:13:16 -04:00
Barış Soner Uşaklı
f9ce92df98 Merge branch 'master' into develop 2025-03-10 17:59:58 -04:00
Barış Soner Uşaklı
e775564fc1 refactor: prevent following symlinks 2025-03-10 17:59:31 -04:00
Barış Soner Uşaklı
76896859fa fix: check if folder exists when uploading files in acp 2025-03-10 16:49:40 -04:00
Barış Soner Uşaklı
6d74ee2f59 refactor: show simple error if path doesn't exist 2025-03-10 16:20:51 -04:00
Barış Soner Uşaklı
810e8dbbbf fix: sanitize category svg image files 2025-03-10 15:51:43 -04:00
Julian Lam
61d17c95e5 chore: language labels for az/pl 2025-03-10 11:16:59 -04:00
Julian Lam
825e4c7025 feat: add Azerbaijani localisations, təşəkkür edirəm! 2025-03-10 11:04:11 -04:00
Julian Lam
b7bb35f83c chore: alphabetize transifex config file languages
They were mangled when a new tx client migrated the config file to
a new format.
2025-03-10 10:16:29 -04:00
Misty Release Bot
6d648713f0 Latest translations and fallbacks 2025-03-10 09:19:28 +00:00
Barış Soner Uşaklı
ec657b2715 Merge branch 'master' into develop 2025-03-09 12:13:48 -04:00
Barış Soner Uşaklı
1e6c6f4e44 fix: #13094, update unread chats on reconnect
unread topics and notifications were updated on reconnections, added chats as well
convert function to async added awaits
2025-03-09 12:03:09 -04:00
Barış Soner Uşaklı
170787aacd Merge branch 'master' into develop 2025-03-09 11:14:23 -04:00
Barış Soner Uşaklı
6b9f166cb8 fix: don't update topic lastposttime by announce
this was causing topics to show up as unread eventhough there are no new posts and out of order on /recent
2025-03-09 11:14:16 -04:00
Misty Release Bot
ee9e08837c Latest translations and fallbacks 2025-03-09 09:19:29 +00:00
Misty Release Bot
b8a1883c19 Latest translations and fallbacks 2025-03-08 09:18:56 +00:00
Barış Soner Uşaklı
b517f05e90 refactor: use navAdmin 2025-03-08 00:39:46 -05:00
Barış Soner Uşaklı
1bd4087be2 Merge branch 'master' into develop 2025-03-08 00:39:14 -05:00
Barış Soner Uşaklı
0427971879 test: #13078, add nav test 2025-03-08 00:39:05 -05:00
Barış Soner Uşaklı
1cabcc45f3 Merge branch 'master' into develop 2025-03-08 00:13:11 -05:00
Barış Soner Uşaklı
bef1792086 fix: closes #13078, toggle /world navItem when AP is toggled 2025-03-08 00:09:41 -05:00
Misty Release Bot
b4dfd7fe62 chore(i18n): fallback strings for new resources: nodebb.error 2025-03-07 20:26:36 +00:00
Julian Lam
885b83e509 feat: if an incoming remote message is too long, don't create the room, but notify the local recipients instead
closes #13174
2025-03-07 15:26:13 -05:00
Misty Release Bot
2f9576556e chore(i18n): fallback strings for new resources: nodebb.admin-settings-chat 2025-03-07 20:04:43 +00:00
Julian Lam
81509b13f3 feat: new ACP config for max length of remote chat messages, #13174 2025-03-07 15:04:18 -05:00
Julian Lam
44354dac5e fix: handling of href in remote object attachments, #13169 2025-03-07 14:18:09 -05:00
Julian Lam
14fd33ce8f fix: #13100, direct access to a tag page no longer excludes cid -1 2025-03-07 14:04:36 -05:00
Julian Lam
fc64e89f7f test: openapi schema for remoteUrl 2025-03-07 13:41:09 -05:00
Misty Release Bot
78a2c087f8 chore(i18n): fallback strings for new resources: nodebb.user 2025-03-07 18:28:09 +00:00
Julian Lam
78c9239b22 fix: expose remote url in user object 2025-03-07 13:27:10 -05:00
Barış Soner Uşaklı
c83f91bd12 refactor: dont generate UUID if no email 2025-03-07 10:23:55 -05:00
Barış Soner Uşaklı
84d3fe7969 refactor: show warning if there is no email for validation 2025-03-07 10:21:59 -05:00
Misty Release Bot
f8a2cd7a4d Latest translations and fallbacks 2025-03-07 09:20:06 +00:00
Misty Release Bot
c3993018ab chore(i18n): fallback strings for new resources: nodebb.admin-manage-categories 2025-03-06 16:52:30 +00:00
Julian Lam
f2a164220c docs: openapi schema for admin/extend/plugins 2025-03-06 11:52:06 -05:00
Julian Lam
dfabadbeab feat: add federatedDescription property to a category.
The federated description will be appended to the category description when queried remotely.
The default string is translatable, and tells users that it identifies as a forum category and that topics can be created within by mentioning the category directly.

closes #13127
2025-03-06 11:51:56 -05:00
renovate[bot]
8ca1d6e6cc fix(deps): update fontsource monorepo to v5.2.5 (#13226)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-06 11:17:06 -05:00
renovate[bot]
b39e4d19fa fix(deps): update dependency mongodb to v6.14.2 (#13229)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-06 11:16:41 -05:00
renovate[bot]
7b40e21044 fix(deps): update dependency terser-webpack-plugin to v5.3.14 (#13230)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-06 11:16:12 -05:00
Julian Lam
fa8216f29a feat: add link to category edit page in acp category sidebar 2025-03-06 10:56:42 -05:00
Julian Lam
3589c570b5 feat: add additional logic that checks whether a cid follows the activity actor, and asserts note into that category if so
closes #13232
2025-03-06 10:53:50 -05:00
Julian Lam
4324857836 fix: hide disable and purge buttons from category-federation.tpl 2025-03-06 10:23:25 -05:00
Julian Lam
1f6871e57e fix: show 'copy settings from' button in acp category sidebar only on category.tpl 2025-03-06 10:22:30 -05:00
Julian Lam
dc2dcaf182 feat: move category sidebar to ACP partial, add sidebar to category-federation 2025-03-06 10:22:03 -05:00
Misty Release Bot
7e9da14e04 Latest translations and fallbacks 2025-03-06 09:19:54 +00:00
Misty Release Bot
efdb416c8b chore(i18n): fallback strings for new resources: nodebb.admin-manage-categories 2025-03-05 22:20:17 +00:00
Barış Soner Uşaklı
2c0fdfeea1 Merge branch 'master' into develop 2025-03-05 17:19:52 -05:00
Barış Soner Uşaklı
bb13ea3013 fix: closes #13231, add some text-truncate, match width 2025-03-05 17:19:47 -05:00
Julian Lam
128dd2d3a1 docs: update openapi schema from 6c26d9f4a3 2025-03-05 12:42:39 -05:00
Barış Soner Uşaklı
48f0f47a2e fix: #13228, use timestamp from mainpost/lastpost
when forking a topic
2025-03-05 11:30:46 -05:00
Julian Lam
4053573981 Merge branch 'normalize-notes-input' into develop 2025-03-04 14:17:31 -05:00
Misty Release Bot
3168d1ae8e Latest translations and fallbacks 2025-03-04 09:19:39 +00:00
Barış Soner Uşaklı
530756c124 Merge branch 'master' into develop 2025-03-03 18:05:33 -05:00
renovate[bot]
a58af228de fix(deps): update dependency mongodb to v6.14.1 (#13225)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-03 18:04:27 -05:00
Barış Soner Uşaklı
34414f168a chore: up themes 2025-03-03 17:55:44 -05:00
Misty Release Bot
8314d8ba91 chore(i18n): fallback strings for new resources: nodebb.category 2025-03-03 20:03:52 +00:00
Misty Release Bot
36c808508f chore: incrementing version number - v4.1.0
(cherry picked from commit 4a4b223ef7)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2025-02-27 18:59:19 +00:00
Misty Release Bot
be3fc90af2 Merge commit 'f1c2b2be04da4201458d0ad7d525c946e28502f8' into v4.x 2025-02-27 18:59:16 +00:00
Misty Release Bot
4a52fb2e90 chore: incrementing version number - v4.0.6
(cherry picked from commit b71dd26731)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2025-02-27 02:06:56 +00:00
Misty Release Bot
0d95bd5b7e Merge commit '9e1a0a13e14d0293e80ff0b9674fb46159a3b67d' into v4.x 2025-02-27 02:03:59 +00:00
Misty Release Bot
1792a62bad chore: incrementing version number - v4.0.5
(cherry picked from commit 4fe23e5c85)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2025-02-20 18:17:39 +00:00
Misty Release Bot
83baf06c90 Merge commit 'e63f1234a7fa4c5d9d9be7dafd07be498dcbe1ee' into v4.x 2025-02-20 18:17:37 +00:00
Misty Release Bot
b1125cce47 chore: incrementing version number - v4.0.4
(cherry picked from commit a0d9f99945)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2025-02-17 04:45:48 +00:00
Misty Release Bot
1c6eaab0fa Merge commit '33d7b9b3ab58382d979b93b3155a87485170fa58' into v4.x 2025-02-17 04:45:35 +00:00
Misty Release Bot
2b65c73537 chore: incrementing version number - v4.0.3
(cherry picked from commit 6d73c13495)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2025-02-09 01:01:55 +00:00
Misty Release Bot
f3d9e78de0 Merge commit '1b4e0c87260b4d2c5eb9b0b0f954480182ff2a96' into v4.x 2025-02-09 01:01:53 +00:00
Misty Release Bot
73fe5fcfd3 chore: incrementing version number - v4.0.2
(cherry picked from commit 1b9bda2af2)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2025-02-02 08:59:52 +00:00
Misty Release Bot
262cac509d Merge commit '51e660d5aeca59acd541c99331027983defa0c92' into v4.x 2025-02-02 08:59:40 +00:00
Misty Release Bot
a461b75843 chore: incrementing version number - v4.0.1
(cherry picked from commit 97530589bf)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2025-01-29 19:26:28 +00:00
Misty Release Bot
808e5e60ef Merge commit 'ddb6e0f32b6253eab8034dcee4bf7968341eb05f' into v4.x 2025-01-29 19:26:16 +00:00
Misty Release Bot
c1eaee4529 chore: incrementing version number - v4.0.0
(cherry picked from commit 137ac91410)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2025-01-20 18:53:47 +00:00
1474 changed files with 26487 additions and 9491 deletions

View File

@@ -1,21 +0,0 @@
node_modules/
*.sublime-project
*.sublime-workspace
.project
.vagrant
.DS_Store
logs/
/public/templates
/public/uploads
/public/vendor
/public/src/modules/string.js
.idea/
.vscode/
*.ipr
*.iws
/coverage
/build
.eslintrc
test/files
*.min.js
install/docker/

View File

@@ -1,3 +0,0 @@
{
"extends": "nodebb"
}

View File

@@ -16,14 +16,28 @@ permissions:
packages: write
jobs:
release:
runs-on: ubuntu-latest
build:
strategy:
matrix:
include:
- os: ubuntu-latest
platforms: linux/amd64
required: true
- os: ubuntu-24.04-arm
platforms: linux/arm64
required: true
- os: ubuntu-24.04-arm
platforms: linux/arm/v7
required: false
continue-on-error: ${{ !matrix.required }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Prepare
run: |
platform=${{ matrix.platforms }}
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV
echo "IMAGE=ghcr.io/${GITHUB_REPOSITORY@L}" >> $GITHUB_ENV
- uses: actions/checkout@v5
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
@@ -34,24 +48,11 @@ jobs:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Get current date in NST
run: echo "CURRENT_DATE_NST=$(date +'%Y%m%d-%H%M%S' -d '-3 hours -30 minutes')" >> $GITHUB_ENV
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: ghcr.io/${{ github.repository }}
tags: |
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=semver,pattern={{major}}.x
type=raw,value=latest,enable={{is_default_branch}}
type=ref,event=branch,enable=${{ github.event.repository.default_branch != github.ref }}
type=raw,value=${{ env.CURRENT_DATE_NST }}
flavor: |
latest=true
images: ${{ env.IMAGE }}
- name: Cache node_modules
id: cache-node-modules
@@ -61,12 +62,73 @@ jobs:
key: var-cache-node-modules-${{ hashFiles('Dockerfile', 'install/package.json') }}
- name: Build and push Docker images
id: build
uses: docker/build-push-action@v6
with:
cache-from: type=gha
cache-to: type=gha,mode=min
context: .
file: ./Dockerfile
platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true
tags: ${{ steps.meta.outputs.tags }}
platforms: ${{ matrix.platforms }}
labels: ${{ steps.meta.outputs.labels }}
tags: ${{ env.IMAGE }}
outputs: type=image,push-by-digest=true,name-canonical=true,push=true
- name: Export digest
run: |
mkdir -p ${{ runner.temp }}/digests
digest="${{ steps.build.outputs.digest }}"
touch "${{ runner.temp }}/digests/${digest#sha256:}"
- name: Upload digest
uses: actions/upload-artifact@v5
with:
name: digests-${{ env.PLATFORM_PAIR }}
path: ${{ runner.temp }}/digests/*
if-no-files-found: error
retention-days: 1
merge:
runs-on: ubuntu-latest
needs:
- build
steps:
- name: Prepare
run: |
echo "IMAGE=ghcr.io/${GITHUB_REPOSITORY@L}" >> $GITHUB_ENV
echo "CURRENT_DATE_NST=$(date +'%Y%m%d-%H%M%S' -d '-3 hours -30 minutes')" >> $GITHUB_ENV
- name: Download digests
uses: actions/download-artifact@v6
with:
path: ${{ runner.temp }}/digests
pattern: digests-*
merge-multiple: true
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.IMAGE }}
tags: |
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=semver,pattern={{major}}.x
type=raw,value=latest,enable={{is_default_branch}}
type=ref,event=branch,enable=${{ github.event.repository.default_branch != github.ref }}
type=raw,value=${{ env.CURRENT_DATE_NST }}
flavor: |
latest=true
- name: Create manifest list and push
working-directory: ${{ runner.temp }}/digests
run: |
docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \
$(printf '${{ env.IMAGE }}@sha256:%s ' *)
- name: Inspect image
run: |
docker buildx imagetools inspect ${{ env.IMAGE }}:${{ steps.meta.outputs.version }}

View File

@@ -27,19 +27,19 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest]
node: [18, 20]
node: [20, 22]
database: [mongo-dev, mongo, redis, postgres]
include:
# only run coverage once
- os: ubuntu-latest
node: 18
node: 22
coverage: true
# test under development once
- database: mongo-dev
test_env: development
# only run eslint once
- os: ubuntu-latest
node: 18
node: 22
database: mongo-dev
lint: true
runs-on: ${{ matrix.os }}
@@ -48,7 +48,7 @@ jobs:
services:
postgres:
image: 'postgres:17-alpine'
image: 'postgres:18-alpine'
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
@@ -63,7 +63,7 @@ jobs:
- 5432:5432
redis:
image: 'redis:7.4.2'
image: 'redis:8.4.0'
# Set health checks to wait until redis has started
options: >-
--health-cmd "redis-cli ping"
@@ -75,18 +75,18 @@ jobs:
- 6379:6379
mongo:
image: 'mongo:8.0'
image: 'mongo:8.2'
ports:
# Maps port 27017 on service container to the host
- 27017:27017
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- run: cp install/package.json package.json
- name: Install Node
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node }}

5669
.tx/config

File diff suppressed because it is too large Load Diff

22
.tx/fix.js Normal file
View File

@@ -0,0 +1,22 @@
'use strict';
const { readFile, writeFile } = require('fs').promises;
(async () => {
const contents = await readFile('./config', { encoding: 'utf-8' });
const blocks = contents
.split('\n\n')
.map((block) => {
block = block.split('\n').sort((a, b) => {
if (!a.startsWith('trans') || !b.startsWith('trans')) {
return 0;
}
return a.localeCompare(b);
})
return block.join('\n');
});
await writeFile('./config', blocks.join('\n\n'), { encoding: 'utf-8' });
})();

File diff suppressed because it is too large Load Diff

View File

@@ -173,7 +173,10 @@ module.exports = function (grunt) {
winston.error(err.stack);
}
if (worker) {
worker.send({ compiling: compiling });
worker.send({
compiling: compiling,
livereload: true, // Send livereload event via Socket.IO for instant browser refresh
});
}
});
});

View File

@@ -39,8 +39,8 @@ Our minimalist "Harmony" theme gets you going right away, no coding experience r
NodeBB requires the following software to be installed:
* A version of Node.js at least 18 or greater ([installation/upgrade instructions](https://github.com/nodesource/distributions))
* MongoDB, version 3.6 or greater **or** Redis, version 2.8.9 or greater
* A version of Node.js at least 20 or greater ([installation/upgrade instructions](https://github.com/nodesource/distributions))
* MongoDB, version 5 or greater **or** Redis, version 7.2 or greater
* If you are using [clustering](https://docs.nodebb.org/configuring/scaling/) you need Redis installed and configured.
* nginx, version 1.3.13 or greater (**only if** intending to use nginx to proxy requests to a NodeBB)

View File

@@ -58,8 +58,8 @@ RUN corepack enable \
&& mkdir -p /usr/src/app/logs/ /opt/config/ \
&& chown -R ${USER}:${USER} /usr/src/app/ /opt/config/
COPY --from=build --chown=${USER}:${USER} /usr/src/app/ /usr/src/app/install/docker/setup.json /usr/src/app/
COPY --from=build --chown=${USER}:${USER} /usr/bin/tini /usr/src/app/install/docker/entrypoint.sh /usr/local/bin/
COPY --from=git --chown=${USER}:${USER} /usr/src/app/ /usr/src/app/install/docker/setup.json /usr/src/app/
COPY --from=git --chown=${USER}:${USER} /usr/bin/tini /usr/src/app/install/docker/entrypoint.sh /usr/local/bin/
COPY --from=node_modules_touch --chown=${USER}:${USER} /usr/src/app/ /usr/src/app/
COPY --from=git --chown=${USER}:${USER} /usr/src/app/ /usr/src/app/

View File

@@ -14,7 +14,7 @@ services:
- ./install/docker/setup.json:/usr/src/app/setup.json
postgres:
image: postgres:17.4-alpine
image: postgres:18.1-alpine
restart: unless-stopped
environment:
POSTGRES_USER: nodebb
@@ -24,7 +24,7 @@ services:
- postgres-data:/var/lib/postgresql/data
redis:
image: redis:7.4.2-alpine
image: redis:8.4.0-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

View File

@@ -14,7 +14,7 @@ services:
- ./install/docker/setup.json:/usr/src/app/setup.json
redis:
image: redis:7.4.2-alpine
image: redis:8.4.0-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

View File

@@ -24,7 +24,7 @@ services:
- mongo-data:/data/db
- ./install/docker/mongodb-user-init.js:/docker-entrypoint-initdb.d/user-init.js
redis:
image: redis:7.4.2-alpine
image: redis:8.4.0-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
@@ -34,7 +34,7 @@ services:
- redis
postgres:
image: postgres:17.4-alpine
image: postgres:18.1-alpine
restart: unless-stopped
environment:
POSTGRES_USER: nodebb

65
eslint.config.mjs Normal file
View File

@@ -0,0 +1,65 @@
'use strict';
import serverConfig from 'eslint-config-nodebb';
import publicConfig from 'eslint-config-nodebb/public';
import commonRules from 'eslint-config-nodebb/common';
import { defineConfig } from 'eslint/config';
import stylisticJs from '@stylistic/eslint-plugin'
import js from '@eslint/js';
import globals from 'globals';
export default defineConfig([
{
ignores: [
'node_modules/',
'.project',
'.vagrant',
'.DS_Store',
'.tx',
'logs/',
'public/uploads/',
'public/vendor/',
'.idea/',
'.vscode/',
'*.ipr',
'*.iws',
'coverage/',
'build/',
'test/files/',
'*.min.js',
'install/docker/',
],
},
// tests
{
plugins: {
js,
'@stylistic/js': stylisticJs,
},
extends: ['js/recommended'],
files: ['test/**/*.js'],
languageOptions: {
ecmaVersion: 2020,
sourceType: 'commonjs',
globals: {
...globals.node,
...globals.browser,
it: 'readonly',
describe: 'readonly',
before: 'readonly',
beforeEach: 'readonly',
after: 'readonly',
afterEach: 'readonly',
},
},
rules: {
...commonRules,
'no-unused-vars': 'off',
'no-prototype-builtins': 'off',
}
},
...publicConfig,
...serverConfig
]);

View File

@@ -36,8 +36,9 @@
"maximumTagsPerTopic": 5,
"minimumTagLength": 3,
"maximumTagLength": 15,
"undoTimeout": 10000,
"undoTimeout": 0,
"allowTopicsThumbnail": 1,
"showPostUploadsAsThumbnails": 1,
"registrationType": "normal",
"registrationApprovalType": "normal",
"allowAccountDelete": 1,
@@ -67,6 +68,7 @@
"maximumAboutMeLength": 1000,
"maximumUsersInChatRoom": 0,
"maximumChatMessageLength": 1000,
"maximumRemoteChatMessageLength": 5000,
"maximumChatRoomNameLength": 50,
"maximumProfileImageSize": 256,
"maximumCoverImageSize": 2048,
@@ -75,7 +77,7 @@
"profile:keepAllUserImages": 0,
"gdpr_enabled": 1,
"allowProfileImageUploads": 1,
"teaserPost": "last-reply",
"teaserPost": "last-post",
"showPostPreviewsOnHover": 1,
"allowPrivateGroups": 1,
"unreadCutoff": 2,
@@ -147,6 +149,7 @@
"username:disableEdit": 0,
"email:disableEdit": 0,
"email:smtpTransport:pool": 0,
"email:smtpTransport:allow-self-signed": 0,
"hideFullname": 0,
"hideEmail": 0,
"showFullnameAsDisplayName": 0,

View File

@@ -103,7 +103,7 @@ build_forum() {
local config="$1"
local start_build="$2"
local package_hash=$(md5sum install/package.json | head -c 32)
if [ "$package_hash" = "$(cat $CONFIG_DIR/install_hash.md5 || true)" ]; then
if [ "$package_hash" != "$(cat $CONFIG_DIR/install_hash.md5 || true)" ]; then
echo "package.json was updated. Upgrading..."
/usr/src/app/nodebb upgrade --config="$config" || {
echo "Failed to build NodeBB. Exiting..."

View File

@@ -2,7 +2,7 @@
"name": "nodebb",
"license": "GPL-3.0",
"description": "NodeBB Forum",
"version": "4.1.0",
"version": "4.7.0",
"homepage": "https://www.nodebb.org",
"repository": {
"type": "git",
@@ -29,52 +29,50 @@
},
"dependencies": {
"@adactive/bootstrap-tagsinput": "0.8.2",
"@fontsource/inter": "5.1.1",
"@fontsource/poppins": "5.1.1",
"@fontsource-utils/scss": "0.2.2",
"@fontsource/inter": "5.2.8",
"@fontsource/poppins": "5.2.7",
"@fortawesome/fontawesome-free": "6.7.2",
"@isaacs/ttlcache": "1.4.1",
"@isaacs/ttlcache": "2.1.2",
"@nodebb/spider-detector": "2.0.3",
"@popperjs/core": "2.11.8",
"@resvg/resvg-js": "2.6.2",
"@textcomplete/contenteditable": "0.1.13",
"@textcomplete/core": "0.1.13",
"@textcomplete/textarea": "0.1.13",
"ace-builds": "1.39.0",
"ace-builds": "1.43.4",
"archiver": "7.0.1",
"async": "3.2.6",
"autoprefixer": "10.4.20",
"bcryptjs": "3.0.2",
"benchpressjs": "2.5.3",
"body-parser": "1.20.3",
"bootbox": "6.0.0",
"bootstrap": "5.3.3",
"bootswatch": "5.3.3",
"autoprefixer": "10.4.22",
"bcryptjs": "3.0.3",
"benchpressjs": "2.5.5",
"body-parser": "2.2.0",
"bootbox": "6.0.4",
"bootstrap": "5.3.8",
"bootswatch": "5.3.8",
"chalk": "4.1.2",
"chart.js": "4.4.8",
"chart.js": "4.5.1",
"cli-graph": "3.2.2",
"clipboard": "2.0.11",
"colors": "1.4.0",
"commander": "12.1.0",
"commander": "14.0.2",
"compare-versions": "6.1.1",
"compression": "1.8.0",
"compression": "1.8.1",
"connect-flash": "0.1.1",
"connect-mongo": "5.1.0",
"connect-multiparty": "2.2.0",
"connect-pg-simple": "10.0.0",
"connect-redis": "8.0.1",
"connect-redis": "9.0.0",
"cookie-parser": "1.4.7",
"cron": "4.1.0",
"cron": "4.3.4",
"cropperjs": "1.6.2",
"csrf-sync": "4.0.3",
"csrf-sync": "4.2.1",
"daemon": "1.1.0",
"diff": "7.0.0",
"esbuild": "0.25.0",
"diff": "8.0.2",
"esbuild": "0.27.0",
"express": "4.21.2",
"express-session": "1.18.1",
"express-useragent": "1.0.15",
"express-session": "1.18.2",
"express-useragent": "2.0.2",
"fetch-cookie": "3.1.0",
"file-loader": "6.2.0",
"fs-extra": "11.3.0",
"fs-extra": "11.3.2",
"graceful-fs": "4.2.11",
"helmet": "7.2.0",
"html-to-text": "9.0.5",
@@ -90,68 +88,72 @@
"jsonwebtoken": "9.0.2",
"lodash": "4.17.21",
"logrotate-stream": "0.2.9",
"lru-cache": "10.4.3",
"lru-cache": "11.2.2",
"mime": "3.0.0",
"mkdirp": "3.0.1",
"mongodb": "6.14.0",
"morgan": "1.10.0",
"mongodb": "6.21.0",
"morgan": "1.10.1",
"mousetrap": "1.6.5",
"multiparty": "4.2.3",
"nconf": "0.12.1",
"nodebb-plugin-2factor": "7.5.9",
"nodebb-plugin-composer-default": "10.2.47",
"nodebb-plugin-dbsearch": "6.2.13",
"nodebb-plugin-emoji": "6.0.2",
"multer": "2.0.2",
"nconf": "0.13.0",
"nodebb-plugin-2factor": "7.6.0",
"nodebb-plugin-composer-default": "10.3.1",
"nodebb-plugin-dbsearch": "6.3.4",
"nodebb-plugin-emoji": "6.0.5",
"nodebb-plugin-emoji-android": "4.1.1",
"nodebb-plugin-markdown": "13.1.1",
"nodebb-plugin-mentions": "4.7.1",
"nodebb-plugin-spam-be-gone": "2.3.1",
"nodebb-plugin-web-push": "0.7.3",
"nodebb-rewards-essentials": "1.0.1",
"nodebb-theme-harmony": "2.0.38",
"nodebb-theme-lavender": "7.1.17",
"nodebb-theme-peace": "2.2.39",
"nodebb-theme-persona": "14.0.15",
"nodebb-widget-essentials": "7.0.35",
"nodemailer": "6.10.0",
"nodebb-plugin-link-preview": "2.1.5",
"nodebb-plugin-markdown": "13.2.2",
"nodebb-plugin-mentions": "4.8.3",
"nodebb-plugin-spam-be-gone": "2.3.2",
"nodebb-plugin-web-push": "0.7.6",
"nodebb-rewards-essentials": "1.0.2",
"nodebb-theme-harmony": "2.1.25",
"nodebb-theme-lavender": "7.1.19",
"nodebb-theme-peace": "2.2.49",
"nodebb-theme-persona": "14.1.18",
"nodebb-widget-essentials": "7.0.40",
"nodemailer": "7.0.10",
"nprogress": "0.2.0",
"passport": "0.7.0",
"passport-http-bearer": "1.0.1",
"passport-local": "1.0.0",
"pg": "8.13.3",
"pg-cursor": "2.12.3",
"postcss": "8.5.3",
"pg": "8.16.3",
"pg-cursor": "2.15.3",
"postcss": "8.5.6",
"postcss-clean": "1.2.0",
"pretty": "^2.0.0",
"progress-webpack-plugin": "1.0.16",
"prompt": "1.3.0",
"ioredis": "5.5.0",
"rimraf": "5.0.10",
"redis": "5.9.0",
"rimraf": "6.1.2",
"rss": "1.2.2",
"rtlcss": "4.3.0",
"sanitize-html": "2.14.0",
"sass": "1.85.1",
"satori": "0.12.1",
"semver": "7.7.1",
"serve-favicon": "2.5.0",
"sharp": "0.32.6",
"sitemap": "8.0.0",
"sanitize-html": "2.17.0",
"sass": "1.94.1",
"satori": "0.18.3",
"sbd": "^1.0.19",
"semver": "7.7.3",
"serve-favicon": "2.5.1",
"sharp": "0.34.5",
"sitemap": "9.0.0",
"socket.io": "4.8.1",
"socket.io-client": "4.8.1",
"@socket.io/redis-adapter": "8.3.0",
"sortablejs": "1.15.6",
"spdx-license-list": "6.9.0",
"terser-webpack-plugin": "5.3.12",
"spdx-license-list": "6.10.0",
"terser-webpack-plugin": "5.3.14",
"textcomplete": "0.18.2",
"textcomplete.contenteditable": "0.1.1",
"timeago": "1.6.7",
"tinycon": "0.6.8",
"toobusy-js": "0.5.1",
"tough-cookie": "5.1.2",
"validator": "13.12.0",
"webpack": "5.98.0",
"tough-cookie": "6.0.0",
"undici": "^7.10.0",
"validator": "13.15.23",
"webpack": "5.103.0",
"webpack-merge": "6.0.1",
"winston": "3.17.0",
"workerpool": "9.2.0",
"winston": "3.18.3",
"workerpool": "10.0.1",
"xml": "1.0.1",
"xregexp": "5.1.2",
"yargs": "17.7.2",
@@ -159,25 +161,26 @@
},
"devDependencies": {
"@apidevtools/swagger-parser": "10.1.0",
"@commitlint/cli": "19.7.1",
"@commitlint/config-angular": "19.7.1",
"@commitlint/cli": "20.1.0",
"@commitlint/config-angular": "20.0.0",
"coveralls": "3.1.1",
"eslint": "8.57.1",
"eslint-config-nodebb": "0.2.1",
"eslint-plugin-import": "2.31.0",
"@eslint/js": "9.39.1",
"@stylistic/eslint-plugin": "5.6.1",
"eslint-config-nodebb": "1.1.11",
"eslint-plugin-import": "2.32.0",
"grunt": "1.6.1",
"grunt-contrib-watch": "1.1.0",
"husky": "8.0.3",
"jsdom": "26.0.0",
"lint-staged": "15.4.3",
"mocha": "11.1.0",
"jsdom": "27.2.0",
"lint-staged": "16.2.6",
"mocha": "11.7.5",
"mocha-lcov-reporter": "1.3.0",
"mockdate": "3.0.5",
"nyc": "17.1.0",
"smtp-server": "3.13.6"
"smtp-server": "3.16.1"
},
"optionalDependencies": {
"sass-embedded": "1.85.1"
"sass-embedded": "1.93.3"
},
"resolutions": {
"*/jquery": "3.7.1"
@@ -186,7 +189,7 @@
"url": "https://github.com/NodeBB/NodeBB/issues"
},
"engines": {
"node": ">=18"
"node": ">=20"
},
"maintainers": [
{
@@ -200,4 +203,4 @@
"url": "https://github.com/barisusakli"
}
]
}
}

View File

@@ -99,9 +99,14 @@ Loader.start = function () {
function forkWorker(index, isPrimary) {
const ports = getPorts();
const args = [];
const execArgv = [];
if (nconf.get('max-memory')) {
args.push(`--max-old-space-size=${nconf.get('max-memory')}`);
execArgv.push(`--max-old-space-size=${nconf.get('max-memory')}`);
}
if (nconf.get('expose-gc')) {
execArgv.push('--expose-gc');
}
if (!ports[index]) {
return console.log(`[cluster] invalid port for worker : ${index} ports: ${ports.length}`);
}
@@ -109,10 +114,10 @@ function forkWorker(index, isPrimary) {
process.env.isPrimary = isPrimary;
process.env.isCluster = nconf.get('isCluster') || ports.length > 1;
process.env.port = ports[index];
const worker = fork(appPath, args, {
silent: silent,
env: process.env,
execArgv: execArgv,
});
worker.index = index;

View File

@@ -1,3 +0,0 @@
{
"extends": "nodebb/public"
}

View File

@@ -75,6 +75,7 @@
"graphs.page-views-registered": "زيارات الصفحات المسجلة",
"graphs.page-views-guest": "زيارات الصفحات للزوار",
"graphs.page-views-bot": "زيارات الصفحات الآلية",
"graphs.page-views-ap": "ActivityPub Page Views",
"graphs.unique-visitors": "زوار فريدين",
"graphs.registered-users": "مستخدمين مسجلين",
"graphs.guest-users": "المستخدمين الزوار",

View File

@@ -1,15 +1,22 @@
{
"manage-categories": "Manage Categories",
"add-category": "Add category",
"add-local-category": "Add Local category",
"add-remote-category": "Add Remote category",
"remove": "Remove",
"rename": "Rename",
"jump-to": "Jump to...",
"settings": "اعدادات القسم",
"edit-category": "Edit Category",
"privileges": "الصلاحيات",
"back-to-categories": "Back to categories",
"id": "Category ID",
"name": "Category Name",
"handle": "Category Handle",
"handle.help": "Your category handle is used as a representation of this category across other networks, similar to a username. A category handle must not match an existing username or user group.",
"description": "Category Description",
"topic-template": "Topic Template",
"topic-template.help": "Define a template for new topics created in this category.",
"bg-color": "Background Colour",
"text-color": "Text Colour",
"bg-image-size": "Background Image Size",
@@ -94,11 +101,17 @@
"federation.followers-handle": "Handle",
"federation.followers-id": "ID",
"federation.followers-none": "No followers.",
"federation.followers-autofill": "Autofill",
"alert.created": "Created",
"alert.create-success": "Category successfully created!",
"alert.none-active": "You have no active categories.",
"alert.create": "Create a Category",
"alert.add": "Add a Category",
"alert.add-help": "Remote categories can be added to the categories listing by specifying their handle.<br /><br /><strong>Note</strong> — The remote category may not reflect all topics published unless at least one local user tracks/watches it.",
"alert.rename": "Rename a Remote Category",
"alert.rename-help": "Please enter a new name for this category. Leave blank to restore original name.",
"alert.confirm-remove": "Do you really want to remove this category? You can add it back at any time.",
"alert.confirm-purge": "<p class=\"lead\">Do you really want to purge this category \"%1\"?</p><h5><strong class=\"text-danger\">Warning!</strong> All topics and posts in this category will be purged!</h5> <p class=\"help-block\">Purging a category will remove all topics and posts, and delete the category from the database. If you want to remove a category <em>temporarily</em>, you'll want to \"disable\" the category instead.</p>",
"alert.purge-success": "Category purged!",
"alert.copy-success": "Settings Copied!",

View File

@@ -18,6 +18,28 @@
"probe-timeout": "Lookup Timeout (milliseconds)",
"probe-timeout-help": "(Default: 2000) If the lookup query does not receive a response within the set timeframe, will send the user to the link directly instead. Adjust this number higher if sites are responding slowly and you wish to give extra time.",
"rules": "Categorization",
"rules-intro": "Content discovered via ActivityPub can be automatically categorized based on certain rules (e.g. hashtag)",
"rules.modal.title": "How it works",
"rules.modal.instructions": "Any incoming content is checked against these categorization rules, and matching content is automatically moved into the category of choice.<br /><br /><strong>N.B.</strong> Content that is already categorized (i.e. in a remote category) will not pass through these rules.",
"rules.add": "Add New Rule",
"rules.help-hashtag": "Topics containing this case-insensitive hashtag will match. Do not enter the <code>#</code> symbol",
"rules.help-user": "Topics created by the entered user will match. Enter a handle or full ID (e.g. <code>bob@example.org</code> or <code>https://example.org/users/bob</code>.",
"rules.type": "Type",
"rules.value": "Value",
"rules.cid": "Category",
"relays": "Relays",
"relays.intro": "A relay improves discovery of content to and from your NodeBB. Subscribing to a relay means content received by the relay is forwarded here, and content posted here is syndicated outward by the relay.",
"relays.warning": "Note: Relays can send larges amounts of traffic in, and may increase storage and processing costs.",
"relays.litepub": "NodeBB follows the LitePub-style relay standard. The URL you enter here should end with <code>/actor</code>.",
"relays.add": "Add New Relay",
"relays.relay": "Relay",
"relays.state": "State",
"relays.state-0": "Pending",
"relays.state-1": "Receiving only",
"relays.state-2": "Active",
"server-filtering": "Filtering",
"count": "This NodeBB is currently aware of <strong>%1</strong> server(s)",
"server.filter-help": "Specify servers you would like to bar from federating with your NodeBB. Alternatively, you may opt to selectively <em>allow</em> federation with specific servers, instead. Both options are supported, although they are mutually exclusive.",

View File

@@ -5,6 +5,8 @@
"disable-editing": "Disable chat message editing/deletion",
"disable-editing-help": "Administrators and global moderators are exempt from this restriction",
"max-length": "Maximum length of chat messages",
"max-length-remote": "Maximum length of remote chat messages",
"max-length-remote-help": "This value is usually set higher than the chat message maximum for local users as remote messages tend to be longer (with @ mentions, etc.)",
"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)",

View File

@@ -28,6 +28,8 @@
"smtp-transport.password": "Password",
"smtp-transport.pool": "Enable pooled connections",
"smtp-transport.pool-help": "Pooling connections prevents NodeBB from creating a new connection for every email. This option only applies if SMTP Transport is enabled.",
"smtp-transport.allow-self-signed": "Allow self-signed certificates",
"smtp-transport.allow-self-signed-help": "Enabling this setting will allow you to use self-signed or invalid TLS certificates.",
"template": "Edit Email Template",
"template.select": "Select Email Template",

View File

@@ -22,6 +22,7 @@
"reject-image-height": "Maximum Image Height (in pixels)",
"reject-image-height-help": "Images taller than this value will be rejected.",
"allow-topic-thumbnails": "السماح للاعضاء برفع الصور المصغرة للموضوع",
"show-post-uploads-as-thumbnails": "Show post uploads as thumbnails",
"topic-thumb-size": "حجم الصورة المصغرة للموضوع",
"allowed-file-extensions": "إمتدادات الملفات المسموح بها",
"allowed-file-extensions-help": "أدخل قائمة بامتدادات الملفات مفصولة بفواصل (مثال: <code>pdf,xls,doc</code>). القائمة الفارغة تعني أن كل الامتدادات مسموح بها.",

View File

@@ -64,6 +64,7 @@
"show-email": "عرض البريد الإلكتروني",
"show-fullname": "عرض الاسم الكامل",
"restrict-chat": "السماح فقط برسائل الدردشة من المستخدمين الذين أتبعهم",
"disable-incoming-chats": "Disable incoming chat messages",
"outgoing-new-tab": "Open outgoing links in new tab",
"topic-search": "Enable In-Topic Searching",
"update-url-with-post-index": "Update url with post index while browsing topics",

View File

@@ -3,9 +3,11 @@
"subcategories": "قسم فرعي",
"uncategorized": "Uncategorized",
"uncategorized.description": "Topics that do not strictly fit in with any existing categories",
"handle.description": "This category can be followed from the open social web via the handle %1",
"new-topic-button": "موضوع جديد",
"guest-login-post": "سجل الدخول للمشاركة",
"no-topics": "<strong>لا توجد مواضيع في هذه القسم</strong>لم لا تحاول إنشاء موضوع؟<br />",
"no-followers": "Nobody on this website is tracking or watching this category. Track or watch this category in order to begin receiving updates.",
"browsing": "تصفح",
"no-replies": "لم يرد أحد",
"no-new-posts": "لا توجد مشاركات جديدة.",

View File

@@ -3,6 +3,7 @@
"invalid-json": "Invalid JSON",
"wrong-parameter-type": "A value of type %3 was expected for property `%1`, but %2 was received instead",
"required-parameters-missing": "Required parameters were missing from this API call: %1",
"reserved-ip-address": "Network requests to reserved IP ranges are not allowed.",
"not-logged-in": "لم تقم بتسجيل الدخول",
"account-locked": "تم حظر حسابك مؤقتًا.",
"search-requires-login": "البحث في المنتدى يتطلب حساب - الرجاء تسجيل الدخول أو التسجيل",
@@ -67,7 +68,8 @@
"no-chat-room": "Chat room does not exist",
"no-privileges": "لاتملك الصلاحيات اللازمة للقيام بهذه العملية",
"category-disabled": "قائمة معطلة",
"topic-locked": "الموضوع مقفول",
"post-deleted": "Post deleted",
"topic-locked": "Topic locked",
"post-edit-duration-expired": "يسمح لك بتعديل مشاركتك حتى %1 ثانية من نشرها",
"post-edit-duration-expired-minutes": "يسمح لك بتعديل مشاركتك حتى %1 دقيقة من نشرها",
"post-edit-duration-expired-minutes-seconds": "يسمح لك بتعديل مشاركتك حتى %1 دقيقة و %2 ثوان من نشرها",
@@ -153,6 +155,8 @@
"about-me-too-long": "نأسف، ( عني ) لا يمكن أن يكون أكثر من %1 حرف.",
"cant-chat-with-yourself": "لايمكنك فتح محادثة مع نفسك",
"chat-restricted": "هذا المستخدم عطل المحادثات الواردة عليه. يجب أن يتبعك حتى تتمكن من فتح محادثة معه.",
"chat-allow-list-user-already-added": "This user is already in your allow list",
"chat-deny-list-user-already-added": "This user is already in your deny list",
"chat-user-blocked": "You have been blocked by this user.",
"chat-disabled": "نظام المحادثة معطل.",
"too-many-messages": "لقد أرسلت الكثير من الرسائل، الرجاء اﻹنتظار قليلاً",
@@ -168,6 +172,7 @@
"cant-add-users-to-chat-room": "Can't add users to chat room.",
"cant-remove-users-from-chat-room": "Can't remove users from chat room.",
"chat-room-name-too-long": "Chat room name too long. Names can't be longer than %1 characters.",
"remote-chat-received-too-long": "You received a chat message from %1, but it was too long and was rejected.",
"already-voting-for-this-post": "لقد شاركت بالتصويت ، ألا تذكر؟",
"reputation-system-disabled": "نظام السمعة معطل",
"downvoting-disabled": "التصويتات السلبية معطلة",
@@ -232,6 +237,7 @@
"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",
"cannot-toggle-system-plugin": "You cannot toggle the state of a system plugin",
"plugin-installation-via-acp-disabled": "Plugin installation via ACP is disabled",
"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

@@ -82,6 +82,7 @@
"downvoted": "مصوت بالسالب",
"views": "المشاهدات",
"posters": "Posters",
"watching": "Watching",
"reputation": "السمعة",
"lastpost": "Last post",
"firstpost": "First post",

View File

@@ -48,6 +48,7 @@
"chat.add-user": "Add User",
"chat.notification-settings": "Notification Settings",
"chat.default-notification-setting": "Default Notification Setting",
"chat.join-leave-messages": "Join/Leave Messages",
"chat.notification-setting-room-default": "Room Default",
"chat.notification-setting-none": "No notifications",
"chat.notification-setting-at-mention-only": "@mention only",

View File

@@ -75,7 +75,6 @@
"email-confirmed": "تم التحقق من عنوان البريد الإلكتروني",
"email-confirmed-message": "شكرًا على إثبات صحة عنوان بريدك الإلكتروني. صار حسابك مفعلًا بالكامل.",
"email-confirm-error-message": "حدث خطأ أثناء التحقق من عنوان بريدك الإلكتروني. ربما رمز التفعيل خاطئ أو انتهت صلاحيته.",
"email-confirm-error-message-already-validated": "Your email address was already validated.",
"email-confirm-sent": "تم إرسال بريد التفعيل.",
"none": "None",
"notification-only": "التنبيهات فقط",

View File

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

View File

@@ -59,6 +59,7 @@
"chat": "محادثة",
"chat-with": "متابعة الدردشة مع %1",
"new-chat-with": "بدء دردشة جديدة مع %1",
"view-remote": "View Original",
"flag-profile": "ضع علامة على الملف الشخصي",
"profile-flagged": "Already flagged",
"follow": "تابع",
@@ -104,6 +105,10 @@
"show-email": "أظهر بريدي الإلكتروني",
"show-fullname": "أظهر اسمي الكامل",
"restrict-chats": "لاتسمح بورود محادثات إلا من طرف المستخدمين الذين أتابعهم.",
"disable-incoming-chats": "Disable incoming chat messages <a data-bs-toggle=\"tooltip\" href=\"#\" title=\"Admins and moderators can still send you messages\"><i class=\"fa-solid fa-circle-info\"></i></a>",
"chat-allow-list": "Allow chat messages from the following users",
"chat-deny-list": "Deny chat messages from the following users",
"chat-list-add-user": "Add user",
"digest-label": "اشترك في النشرة الدورية",
"digest-description": "استلام اشعارات بآخر مستجدات هذا القسم (التنبيهات والمواضيع الجديدة) عبر البريد الإلكتروني وفقا لجدول زمني محدد.",
"digest-off": "غير مفعل",

View File

@@ -14,5 +14,8 @@
"onboard.title": "Your window to the fediverse...",
"onboard.what": "This is your personalized category made up of only content found outside of this forum. Whether something shows up in this page depends on whether you follow them, or whether that post was shared by someone you follow.",
"onboard.why": "There's a lot that goes on outside of this forum, and not all of it is relevant to your interests. That's why following people is the best way to signal that you want to see more from someone.",
"onboard.how": "In the meantime, you can click on the shortcut buttons at the top to see what else this forum knows about, and start discovering some new content!"
"onboard.how": "In the meantime, you can click on the shortcut buttons at the top to see what else this forum knows about, and start discovering some new content!",
"show-categories": "Show categories",
"hide-categories": "Hide categories"
}

View File

@@ -0,0 +1,3 @@
# The files here are not meant to be edited directly
Please see the &rarr; [Internalization README](../README.md).

View File

@@ -0,0 +1,18 @@
{
"alert.confirm-rebuild-and-restart": "NodeBB-ni yenidən qurmaq və yenidən başlatmaq istədiyinizə əminsiniz?",
"alert.confirm-restart": "NodeBB-ni yenidən başlatmaq istədiyinizə əminsiniz?",
"acp-title": "%1 | NodeBB İdarəetmə Paneli",
"settings-header-contents": "Məzmun",
"changes-saved": "Dəyişikliklər yadda saxlandı",
"changes-saved-message": "NodeBB konfiqurasiyasına etdiyiniz dəyişikliklər yadda saxlanıldı.",
"changes-not-saved": "Dəyişikliklər saxlanmadı",
"changes-not-saved-message": "NodeBB dəyişikliklərinizi yadda saxlayarkən problemlə qarşılaşdı. (% 1)",
"save-changes": "Dəyişiklikləri yadda saxlayın",
"min": "Min:",
"max": "Maks:",
"view": "Bax",
"edit": "Redaktə et",
"add": "Əlavə et",
"select-icon": "İkonu seç"
}

View File

@@ -0,0 +1,10 @@
{
"cache": "Keş",
"post-cache": "Yazıların keşi",
"group-cache": "Qrup keşi",
"local-cache": "Lokal keş",
"object-cache": "Obyekt keşi",
"percent-full": "%1% dolu",
"post-cache-size": "Yazıların keş ölçüsü",
"items-in-cache": "Keşdəki elementlər"
}

View File

@@ -0,0 +1,52 @@
{
"x-b": "%1 b",
"x-mb": "%1 mb",
"x-gb": "%1 gb",
"uptime-seconds": "Saniyələrlə işləmə müddəti",
"uptime-days": "Günlərlə işləmə müddəti",
"mongo": "MongoDB",
"mongo.version": "MongoDB versiyası",
"mongo.storage-engine": "Saxlama Motoru",
"mongo.collections": "Kolleksiyalar",
"mongo.objects": "Obyektlər",
"mongo.avg-object-size": "Orta. Obyekt Ölçüsü",
"mongo.data-size": "Data ölçüsü",
"mongo.storage-size": "Yaddaş ölçüsü",
"mongo.index-size": "İndeks ölçüsü",
"mongo.file-size": "Fayl ölçüsü",
"mongo.resident-memory": "Rezident yaddaş",
"mongo.virtual-memory": "Virtual yaddaş",
"mongo.mapped-memory": "Xəritəli yaddaş",
"mongo.bytes-in": "Daxil olan Baytlar",
"mongo.bytes-out": "Xaric olan Baytlar",
"mongo.num-requests": "Sorğuların sayı",
"mongo.raw-info": "MongoDB raw məlumatı",
"mongo.unauthorized": "NodeBB müvafiq statistika üçün MongoDB verilənlər bazasını sorğulaya bilmədi. NodeBB tərəfindən istifadə edilən istifadəçinin &quot;clusterMonitor&quot; &quot;admin&quot; üçün rol; verilənlər bazası.",
"redis": "Redis",
"redis.version": "Redis versiyası",
"redis.keys": "Açarlar",
"redis.expires": "Vaxtı bitir",
"redis.avg-ttl": "Ortalama TTL",
"redis.connected-clients": "Qoşulmuş müştərilər",
"redis.connected-slaves": "Əlaqədar qullar",
"redis.blocked-clients": "Blok edilmiş müştərilər",
"redis.used-memory": "İstifadə edilən yaddaş",
"redis.memory-frag-ratio": "Yaddaşın fraqmentasiya nisbəti",
"redis.total-connections-recieved": "Alınan ümumi əlaqələr",
"redis.total-commands-processed": "Cəmi əmrlər işlənib",
"redis.iops": "Dərhal əməliyyatlar. Saniyədə",
"redis.iinput": "Saniyədə ani daxiletmə",
"redis.ioutput": "Saniyədə ani çıxış",
"redis.total-input": "Ümumi giriş",
"redis.total-output": "Ümumi çıxış",
"redis.keyspace-hits": "Klaviatura xitləri",
"redis.keyspace-misses": "Klaviatura boşluqları boşdur",
"redis.raw-info": "Redis raw məlumatı",
"postgres": "Postgres",
"postgres.version": "PostgreSQL sersiyası",
"postgres.raw-info": "Postgres raw məlumatı"
}

View File

@@ -0,0 +1,15 @@
{
"errors": "Xətalar",
"figure-x": "Şəkil %1",
"error-events-per-day": "Gündə <code>%1</code> hadisə",
"error.404": "404 tapılmadı",
"error.503": "503 xidmət əlçatan deyil",
"manage-error-log": "Xəta qeydlərini idarə et",
"export-error-log": "İxrac xətası jurnalı (CSV)",
"clear-error-log": "Xəta loqlarını sil",
"route": "Marşrut",
"count": "Say",
"no-routes-not-found": "Yaşasın! 404 səhv yoxdur!",
"clear404-confirm": "404 xəta qeydlərini təmizləmək istədiyinizə əminsiniz?",
"clear404-success": "\"404 Tapılmadı\" xətaları silindi"
}

View File

@@ -0,0 +1,17 @@
{
"events": "Hadisələr",
"no-events": "Hadisə yoxdur",
"control-panel": "Hadisələrin İdarəetmə Paneli",
"delete-events": "Tədbirləri sil",
"confirm-delete-all-events": "Daxil edilmiş bütün hadisələri silmək istədiyinizə əminsiniz?",
"filters": "Filtrlər",
"filters-apply": "Filtrləri tətbiq et",
"filter-type": "Hadisə növü",
"filter-start": "Başlama tarixi",
"filter-end": "Bitmə tarixi",
"filter-user": "İstifadəçiyə görə filtrlə",
"filter-user.placeholder": "Filtr etmək üçün istifadəçi adını daxil edin...",
"filter-group": "Qrup üzrə filtrlə",
"filter-group.placeholder": "Filtr etmək üçün qrup adını yazın...",
"filter-per-page": "Hər səhifə üçün"
}

View File

@@ -0,0 +1,7 @@
{
"logs": "Loqlar",
"control-panel": "Loqların idarəetmə paneli",
"reload": "Loqları yenidən yükləyin",
"clear": "Loqları təmizləyin",
"clear-success": "Loqlar təmizləndi!"
}

View File

@@ -0,0 +1,20 @@
{
"customise": "Fərdiləşdirmək",
"custom-css": "Fərdi CSS/SASS",
"custom-css.description": "Buraya bütün digər üslublardan sonra tətbiq olunacaq öz CSS/SASS bəyannamələrinizi daxil edin.",
"custom-css.enable": "Fərdi CSS/SASS-ı aktiv edin",
"custom-js": "Fərdi JavaScript",
"custom-js.description": "Burada öz javascriptinizi daxil edin. Səhifə tamamilə yükləndikdən sonra yerinə yetiriləcək.",
"custom-js.enable": "Fərdi Javascript-i aktiv edin",
"custom-header": "Fərdi başlıq",
"custom-header.description": "Bura xüsusi HTML daxil edin (məs. Meta Teqlər və s.), o <code>&lt;head&gt;</code> forumunuzun işarələmə bölməsi. <a href=\"#custom-js\" data-toggle=\"tab\">Xüsusi Javascript</a> nişanı mövcud olduğu üçün skript teqlərinə icazə verilir, lakin bunlar qadağandır.",
"custom-header.enable": "Fərdi Başlığı aktivləşdir",
"custom-css.livereload": "Canlı Yenidən Yükləməni aktiv et",
"custom-css.livereload.description": "Hesabınızın altındakı hər bir cihazdakı bütün sessiyaları yadda saxla düyməsini kliklədiyiniz zaman yeniləməyə məcbur etmək üçün bunu aktiv edin",
"bsvariables": "_variables.scss",
"bsvariables.description": "Bootstrap dəyişənlərini burada ləğv edin. Siz həmçinin <a href=\"https://bootstrap.build/app\">bootstrap.build</a> kimi alətdən istifadə edib nəticəni bura yapışdıra bilərsiniz. <br/>Dəyişikliklər yenidən qurmaq və yenidən işə salmaq tələb olunur.",
"bsvariables.enable": "_variables.scss-i aktivləşdirin"
}

View File

@@ -0,0 +1,18 @@
{
"skins": "Örtüklər",
"bootswatch-skins": "Bootswatch örtükləri",
"custom-skins": "Fərdi örtüklər",
"add-skin": "Örtük əlavə et",
"save-custom-skins": "Fərdi örtüyü saxla",
"save-custom-skins-success": "Fərdi örtüklər uğurla yadda saxlanıldı",
"custom-skin-name": "Fərdi örtük adı",
"custom-skin-variables": "Fərdi örtük dəyişənləri",
"loading": "Örtüklər yüklənir...",
"homepage": "Əsas səhifə",
"select-skin": "Örtüyü seçin",
"revert-skin": "Örtüyü bərpa edin",
"current-skin": "Cari örtük",
"skin-updated": "Örtük yeniləndi",
"applied-success": "%1 örtük uğurla tətbiq olundu",
"revert-success": "Örtük əsas rənglərə qayıtdı"
}

View File

@@ -0,0 +1,13 @@
{
"themes": "Mövzular",
"checking-for-installed": "Quraşdırılmış mövzular yoxlanılır...",
"homepage": "Əsas səhifə",
"select-theme": "Mövzu seç",
"revert-theme": "Mövzunu geri qaytar",
"current-theme": "Cari mövzu",
"no-themes": "Quraşdırılmış mövzu tapılmadı",
"revert-confirm": "Defolt NodeBB mövzusunu bərpa etmək istədiyinizə əminsiniz?",
"theme-changed": "Mövzu dəyişdirildi",
"revert-success": "Siz NodeBB-ni müvəffəqiyyətlə defolt mövzuya qaytardınız.",
"restart-to-activate": "Zəhmət olmasa, bu mövzunu tam aktivləşdirmək üçün NodeBB-ni yenidən qurun və başladın."
}

View File

@@ -0,0 +1,102 @@
{
"forum-traffic": "Forum trafiki",
"page-views": "Səhifə baxışları",
"unique-visitors": "Unikal ziyarətçilər",
"logins": "Daxil olmalar",
"new-users": "Yeni istifadəçilər",
"posts": "Yazılar",
"topics": "Mövzular",
"page-views-seven": "Son 7 Gün",
"page-views-thirty": "Son 30 Gün",
"page-views-last-day": "Son 24 saat",
"page-views-custom": "Fərdi tarix aralığı",
"page-views-custom-start": "Aralığın başlanğıcı",
"page-views-custom-end": "Aralığın sonu",
"page-views-custom-help": "Baxmaq istədiyiniz səhifə baxışlarının tarix diapazonunu daxil edin. Əgər tarix seçici mövcud deyilsə, qəbul edilən format <code>YYYY-AA-GG</code>-dir",
"page-views-custom-error": "Lütfən, <code>YYYY-AA-GG</code> formatında etibarlı tarix diapazonu daxil edin",
"stats.yesterday": "Dünən",
"stats.today": "Bu gün",
"stats.last-week": "Keçən həftə",
"stats.this-week": "Bu həftə",
"stats.last-month": "Keçən ay",
"stats.this-month": "Bu ay",
"stats.all": "Bütün zamanlar",
"updates": "Yeniləmələr",
"running-version": "Siz NodeBB v%1 işlədirsiniz.",
"keep-updated": "Həmişə NodeBB-nin ən son təhlükəsizlik yamaları və xətaların düzəldilməsi üçün yeni olduğundan əmin olun.",
"up-to-date": "Siz son <strong>variantasınız</strong> <i class=\"fa fa-check\"></i>",
"upgrade-available": "Yeni versiya (v%1) buraxılmışdır. NodeBB-ni <a href=\"https://docs.nodebb.org/configuring/upgrade/\" target=\"_blank\">təkmilləşdirməyi nəzərdən keçirin</a>.",
"prerelease-upgrade-available": "Bu, NodeBB proqramının köhnəlmiş buraxılışdan əvvəlki versiyasıdır. Yeni versiya (v%1) buraxılmışdır. NodeBB-ni <a href=\"https://docs.nodebb.org/configuring/upgrade/\" target=\"_blank\">təkmilləşdirməyi nəzərdən keçirin</a>.",
"prerelease-warning": "Bu, NodeBB-nin <strong>buraxılışdan öncəki</strong> versiyasıdır. Gözlənilməz səhvlər baş verə bilər. <i class=\"fa fa-exclamation-triangle\"></i>",
"fallback-emailer-not-found": "Yekun e-poçt göndərişi tapılmadı!",
"running-in-development": "Forum inkişaf rejimində işləyir. Forum potensial boşluqlar üçün açıq ola bilər; lütfən sistem inzibatçısı ilə əlaqə saxlayın",
"latest-lookup-failed": "NodeBB-nin ən son mövcud versiyasını axtarmaq alınmadı",
"notices": "Bildirişlər",
"restart-not-required": "Yenidən başlama tələb olunmur",
"restart-required": "Yenidən başlatma tələb olunur",
"search-plugin-installed": "Axtarış plagini quraşdırılıb",
"search-plugin-not-installed": "Axtarış plagini quraşdırılmayıb",
"search-plugin-tooltip": "Axtarış funksiyasını aktivləşdirmək üçün plagin səhifəsindən axtarış plaqini quraşdır",
"control-panel": "Sistem nəzarəti",
"rebuild-and-restart": "Yenidən qur &amp; başlat",
"restart": "Yenidən başlat",
"restart-warning": "NodeBB-nin yenidən qurulması və ya yenidən işə salınması bütün mövcud əlaqələri bir neçə saniyəyə kəsəcək.",
"restart-disabled": "NodeBB-nin yenidən qurulması və yenidən işə salınması qeyri-aktiv edilib, çünki siz onu uyğun demon vasitəsilə idarə etmirsiniz.",
"maintenance-mode": "Texniki baxım rejimi",
"maintenance-mode-title": "NodeBB üçün texniki xidmət rejimini qurmaq üçün bura kliklə",
"dark-mode": "Qaranlıq rejimi",
"realtime-chart-updates": "Real vaxt qrafiki yeniləmələri",
"active-users": "Aktiv istifadəçilər",
"active-users.users": "İstifadəçilər",
"active-users.guests": "Qonaqlar",
"active-users.total": "Cəmi",
"active-users.connections": "Bağlantılar",
"guest-registered-users": "Qonaq və Qeydiyyatdan keçmiş istifadəçilər",
"guest": "Qonaq",
"registered": "Qeydiyyatdan keçib",
"user-presence": "İstifadəçi mövcudluğu",
"on-categories": "Kateqoriyalar siyahısında",
"reading-posts": "Yazıların oxunması",
"browsing-topics": "Mövzulara baxış",
"recent": "Ən yeni",
"unread": "Oxunmamış",
"high-presence-topics": "Yüksək mövzular",
"popular-searches": "Populyar axtarışlar",
"graphs.page-views": "Səhifə baxışları",
"graphs.page-views-registered": "Səhifə Baxışları qeydə alınıb",
"graphs.page-views-guest": "Səhifə baxışı qonaq",
"graphs.page-views-bot": "Səhifə baxış botu",
"graphs.page-views-ap": "ActivityPub Page Views",
"graphs.unique-visitors": "Unikal ziyarətçilər",
"graphs.registered-users": "Qeydiyyatdan keçmiş istifadəçilər",
"graphs.guest-users": "Qonaqlar",
"last-restarted-by": "Sonuncu dəfə yenidən başlat",
"no-users-browsing": "Axtarış edən heç bir istifadəçi yoxdur",
"back-to-dashboard": "İdarə Panelinə qayıt",
"details.no-users": "Seçilmiş müddət ərzində heç bir istifadəçi qoşulmayıb",
"details.no-topics": "Seçilmiş vaxt çərçivəsində heç bir mövzu yerləşdirilməyib",
"details.no-searches": "Seçilmiş müddət ərzində heç bir axtarış aparılmayıb",
"details.no-logins": "Seçilmiş müddət ərzində heç bir giriş qeydə alınmayıb",
"details.logins-static": "NodeBB yalnız %1 gün ərzində sessiya məlumatlarını saxlayır və buna görə də aşağıdakı cədvəldə yalnız ən son aktiv sessiyalar göstəriləcək",
"details.logins-login-time": "Daxil olma vaxtı",
"start": "Başlanğıc",
"end": "Son",
"filter": "Filtr",
"view-as-json": "JSON kimi bax",
"expand-analytics": "Analitikanı genişləndir",
"clear-search-history": "Axtarış tarixçəsini təmizlə",
"clear-search-history-confirm": "Bütün axtarış tarixçəsini təmizləmək istədiyinizə əminsiniz?",
"search-term": "Qayda",
"search-count": "Say",
"view-all": "Hamısına bax"
}

View File

@@ -0,0 +1,26 @@
{
"you-are-on": "Siz <strong>%1:%2</strong>-dəsiniz",
"ip": "IP <strong>%1</strong>",
"nodes-responded": "%1 nod %2ms ərzində cavab verdi!",
"host": "host",
"primary": "əsas / iş",
"pid": "pid",
"nodejs": "nodejs",
"online": "onlayn",
"git": "git",
"process-memory": "proses yaddaşı",
"system-memory": "sistem yaddaşı",
"used-memory-process": "Proseslər yaddaşdan istifadə edir",
"used-memory-os": "İstifadə olunmuş sistem yaddaşı",
"total-memory-os": "Ümumi sistem yaddaşı",
"load": "sistem yükləməsi",
"cpu-usage": "CPU istifadəsi",
"uptime": "işləmə müddəti",
"registered": "Qeydiyyatdan keçib",
"sockets": "Sockets",
"connection-count": "Bağlantı sayı",
"guests": "Qonaqlar",
"info": "Məlumat"
}

View File

@@ -0,0 +1,13 @@
{
"logger": "Logger",
"logger-settings": "Logger ayarları",
"description": "Yoxlama qutularını aktivləşdirməklə, siz terminalınıza qeydlər alacaqsınız. Bir yol göstərsəniz, qeydlər bunun əvəzinə faylda saxlanacaq. HTTP girişi, forumunuzda insanların kim, nə vaxt və nəyə daxil olması ilə bağlı statistika toplamaq üçün faydalıdır. HTTP sorğularını qeyd etməklə yanaşı, biz socket.io hadisələrini də qeyd edə bilərik. Socket.io girişi, redis-cli monitoru ilə birlikdə NodeBB-nin daxili hissələrini öyrənmək üçün çox faydalı ola bilər.",
"explanation": "Aktivləşdirmək və ya söndürmək üçün sadəcə giriş parametrlərini çek/ançek edin. Yenidən başlatmağa ehtiyac yoxdur.",
"enable-http": "HTTP loqunu aktiv edin",
"enable-socket": "Socket.io hadisə qeydini aktiv edin",
"file-path": "Loq faylına yol",
"file-path-placeholder": "/path/to/log/file.log ::: terminalınıza loqlamaq üçün boş saxlayın",
"control-panel": "Logger idarəetmə paneli",
"update-settings": "Logger parametrlərini yenilə"
}

View File

@@ -0,0 +1,58 @@
{
"plugins": "Plaginlər",
"trending": "Trend",
"installed": "Quraşdırılıb",
"active": "Aktiv",
"inactive": "Qeyri-aktiv",
"out-of-date": "Vaxtı keçmiş",
"none-found": "Heç bir plagin tapılmadı.",
"none-active": "Aktiv plaginlər yoxdur",
"find-plugins": "Pluginləri tapın",
"plugin-search": "Plugin axtarışı",
"plugin-search-placeholder": "Plugin axtarın...",
"submit-anonymous-usage": "Anonim plagin istifadə məlumatlarını təqdim edin.",
"reorder-plugins": "Pluginləri təkrar sifariş et",
"order-active": "Aktiv plaginlər sifariş et",
"dev-interested": "NodeBB üçün plaginlər yazmaqla maraqlanırsınız?",
"docs-info": "Plugin müəllifliyi ilə bağlı tam sənədləri <a target=\"_blank\" href=\"https://docs.nodebb.org/development/plugins/\">NodeBB Sənədlər Portalında</a> tapa bilərsiniz.",
"order.description": "Bəzi plaginlər digər plaginlərdən əvvəl/sonra işə salındıqda ideal şəkildə işləyir.",
"order.explanation": "Pluginlər burada göstərilən ardıcıllıqla yuxarıdan aşağı yüklənir",
"plugin-item.themes": "Mövzular",
"plugin-item.deactivate": "Deaktiv et",
"plugin-item.activate": "Aktiv et",
"plugin-item.install": "Quraşdır",
"plugin-item.uninstall": "Sil",
"plugin-item.settings": "Parametrlər",
"plugin-item.installed": "Quraşdırılıb",
"plugin-item.latest": "Ən son",
"plugin-item.upgrade": "Təkmilləşdir",
"plugin-item.more-info": "Ətraflı məlumat üçün:",
"plugin-item.unknown": "Naməlum",
"plugin-item.unknown-explanation": "Bu plaqinin vəziyyəti yanlış konfiqurasiya xətası səbəbindən müəyyən edilə bilmədi.",
"plugin-item.compatible": "Bu plagin NodeBB %1-də işləyir",
"plugin-item.not-compatible": "Bu plaqinin uyğunluq məlumatı yoxdur, prod mühitinizdə quraşdırmadan əvvəl onun işlədiyinə əmin olun.",
"alert.enabled": "Plugin aktivdir",
"alert.disabled": "Plugin deaktivdir",
"alert.upgraded": "Plugin təkmilləşdirildi",
"alert.installed": "Plugin quraşdırılıb",
"alert.uninstalled": "Plugin silindi",
"alert.activate-success": "Bu plaqini tam aktivləşdirmək üçün NodeBB-ni yenidən qurun və yenidən başladın",
"alert.deactivate-success": "Plugin uğurla deaktiv edildi",
"alert.upgrade-success": "Bu plaqini tam təkmilləşdirmək üçün NodeBB-ni yenidən qurun və yenidən başladın.",
"alert.install-success": "Plugin uğurla quraşdırıldı, lütfən, plaqini aktivləşdirin.",
"alert.uninstall-success": "Plugin uğurla deaktiv edildi və silindi.",
"alert.suggest-error": "<p>NodeBB paket menecerinə çata bilmədi, ən son versiyanın quraşdırılmasına davam edin?</p><div class=\"alert alert-danger\"><strong> Server qaytarıldı (%1)</strong>: %2</div>",
"alert.package-manager-unreachable": "<p>NodeBB paket menecerinə müraciət edə bilmədi, hazırda təkmilləşdirmə təklif edilmir.</p>",
"alert.incompatible": "<p>NodeBB versiyanız (v%1) yalnız bu plaqinin v%2-yə yüksəldilməsi üçün silinib. Bu plaqinin daha yeni versiyasını quraşdırmaq istəyirsinizsə, lütfən, NodeBB-ni yeniləyin.</p>",
"alert.possibly-incompatible": "<div class=\"alert alert-warning\"><p><strong>Uyğunluq haqqında məlumat tapılmadı. </strong></p><p>Bu plagin sizin NodeBB versiyanızı nəzərə alaraq quraşdırma üçün xüsusi versiyanı təyin etməyib.</p></div><p> Tam uyğunluğa zəmanət verilə bilməz və NodeBB-nin artıq düzgün başlamamasına səbəb ola bilər. NodeBB düzgün yüklənə bilmədikdə:<pre><code>$ ./nodebb reset plugin=\"%1\"</code></pre><p>Bu plaqinin ən son versiyasının quraşdırılmasına davam edilsin?</p>",
"alert.reorder": "Pluginlər yenidən sifariş edildi",
"alert.reorder-success": "Prosesi tam başa çatdırmaq üçün NodeBB-ni yenidən qurun və yenidən başladın.",
"license.title": "Plugin lisenziya məlumatı",
"license.intro": "%1 plaqini %2 altında lisenziyalaşdırılıb. Bu plagini aktivləşdirməzdən əvvəl lisenziya şərtlərini oxuyun və anlayın.",
"license.cta": "Bu plaqini aktivləşdirməyə davam etmək istəyirsiniz?"
}

View File

@@ -0,0 +1,17 @@
{
"rewards": "Mükafatlar",
"add-reward": "Mükafat əlavə et",
"condition-if-users": "Əgər istifadəçi",
"condition-is": "Əgər:",
"condition-then": "O zaman:",
"max-claims": "Mükafatın tələb oluna biləcəyi vaxtların miqdarı",
"zero-infinite": "Sonsuzluq üçün 0 daxil edin",
"select-reward": "Mükafat seç",
"delete": "Sil",
"enable": "Aktivləşdir",
"disable": "Qeyri-aktiv et",
"alert.delete-success": "Mükafat uğurla silindi",
"alert.no-inputs-found": "Xətalı mükafat - heç bir giriş tapılmadı!",
"alert.save-success": "Mükafatlar müvəffəqiyyətlə yadda saxlanıldı"
}

View File

@@ -0,0 +1,37 @@
{
"widgets": "Vidjetlər",
"available": "Mövcud vidjetlər",
"explanation": "Açılan menyudan vidceti seçin və sonra onu sol tərəfdəki şablonun widget sahəsinə sürükləyib buraxın.",
"none-installed": "Heç bir vidcet tapılmadı! <a href=\"%1\">Pluginlərin</a> idarəetmə panelində əsas vidjet plaginini aktivləşdirin.",
"clone-from": "Vidjetləri klonla",
"containers.available": "Mövcud konteynerlər",
"containers.explanation": "İstənilən vidcetin üzərinə sürükləyin və buraxın",
"containers.none": "Heç biri",
"container.well": "Yaxşı",
"container.jumbotron": "Jumbotron",
"container.card": "Kart",
"container.card-header": "Kart başlığı",
"container.card-body": "Kart gövdəsi",
"container.title": "Başlıq",
"container.body": "Gövdə",
"container.alert": "Xəbərdarlıq",
"alert.confirm-delete": "Bu vidceti silmək istədiyinizə əminsiniz?",
"alert.updated": "Vidjetlər yeniləndi",
"alert.update-success": "Vidjetlər uğurla yeniləndi",
"alert.clone-success": "Vidjetlər uğurla klonlandı",
"error.select-clone": "Zəhmət olmasa klonlamaq üçün səhifə seçin",
"title": "Başlıq",
"title.placeholder": "Başlıq (yalnız bəzi konteynerlərdə göstərilir)",
"container": "Konteyner",
"container.placeholder": "Konteyneri sürükləyib buraxın və ya bura HTML daxil edin.",
"show-to-groups": "Qruplara göstər",
"hide-from-groups": "Qruplardan gizlət",
"start-date": "Başlama tarixi",
"end-date": "Bitmə tarixi",
"hide-on-mobile": "Mobildə gizlət",
"hide-drafts": "Qaralamaları gizlət",
"show-drafts": "Qaralamaları göstər"
}

View File

@@ -0,0 +1,13 @@
{
"manage-admins-and-mods": "Adminləri və Moderlərı idarə et",
"administrators": "Administratorlar",
"global-moderators": "Qlobal moderatorlar",
"moderators": "Moderatorlar",
"no-global-moderators": "Qlobal moderator yoxdur",
"no-sub-categories": "Alt kateqoriya yoxdur",
"view-children": "Uşaqlara baxmaq (% 1)",
"no-moderators": "Moderator yoxdur",
"add-administrator": "Administrator əlavə et",
"add-global-moderator": "Qlobal moderator əlavə et",
"add-moderator": "Moderator əlavə et"
}

View File

@@ -0,0 +1,131 @@
{
"manage-categories": "Kateqoriyaları idarə et",
"add-category": "Kateqoriya əlavə et",
"add-local-category": "Add Local category",
"add-remote-category": "Add Remote category",
"remove": "Remove",
"rename": "Rename",
"jump-to": "Keç...",
"settings": "Kateqoriya parametrləri",
"edit-category": "Kateqoriyanı redaktə et",
"privileges": "İmtiyazlar",
"back-to-categories": "Kateqoriyalara qayıt",
"id": "Category ID",
"name": "Kateqoriya adı",
"handle": "Kateqoriya dəstəyi",
"handle.help": "Kateqoriya dəstəyiniz istifadəçi adına bənzər digər şəbəkələrdə bu kateqoriyanın təmsili kimi istifadə olunur. Kateqoriya sapı mövcud istifadəçi adı və ya istifadəçi qrupuna uyğun olmamalıdır.",
"description": "Kateqoriya təsviri",
"topic-template": "Topic Template",
"topic-template.help": "Define a template for new topics created in this category.",
"bg-color": "Arxa fon rəngi",
"text-color": "Mətnin rəngi",
"bg-image-size": "Fon şəklinin ölçüsü",
"custom-class": "Fərdi sinif",
"num-recent-replies": "# son cavablar",
"ext-link": "# son cavablar",
"subcategories-per-page": "Səhifə başına alt kateqoriyalar",
"is-section": "Bu kateqoriyanı bir bölmə kimi nəzərə al",
"post-queue": "Yazı növbəsi",
"tag-whitelist": "İcazəli təq",
"upload-image": "Şəkil yüklə",
"upload": "Yüklə",
"delete-image": "Sil",
"category-image": "Kateqoriya şəkli",
"image-and-icon": "Şəkil və ikon",
"parent-category": "Ana kateqoriya",
"optional-parent-category": "(İstəyə görə) Ana kateqoriya",
"top-level": "Yuxarı səviyyə",
"parent-category-none": "(Heç biri)",
"copy-parent": "Valideyni kopyala",
"copy-settings": "Parametrləri kopyala",
"optional-clone-settings": "(İstəyə bağlı) Kateqoriyadan parametrləri klonla",
"clone-children": "Uşaq kateqoriyalarını və parametrlərini klonla",
"purge": "Kateqoriyanı təmizlə",
"enable": "Aktivləşdir",
"disable": "Qeyri-aktiv et",
"edit": "Redaktə et",
"analytics": "Analitika",
"federation": "Federasiya",
"view-category": "Kateqoriyaya bax",
"set-order": "Ardıcıllığı təyin et",
"set-order-help": "Kateqoriya sırasının təyin edilməsi bu kateqoriyanı həmin sıraya köçürəcək və lazım gəldikdə digər kateqoriyaların sırasını yeniləyəcək. Minimum sifariş 1-dir ki, bu da kateqoriyanı yuxarıya qoyur.",
"select-category": "Kateqoriya seç",
"set-parent-category": "Ana kateqoriya seç",
"privileges.description": "Siz bu bölmədə saytın hissələri üçün girişə nəzarət imtiyazlarını konfiqurasiya edə bilərsiniz. İmtiyazlar hər istifadəçi və ya qrup üzrə verilə bilər. Aşağıdakıılan menyudan təsir sahəsini seçin.",
"privileges.category-selector": "İmtiyazların konfiqurasiyası",
"privileges.warning": "<strong>Qeyd</strong>: İmtiyaz parametrləri dərhal qüvvəyə minir. Bu parametrləri tənzimlədikdən sonra kateqoriyanı saxlamaq lazım deyil.",
"privileges.section-viewing": "Baxış imtiyazları",
"privileges.section-posting": "Yazıların imtiyazları",
"privileges.section-moderation": "Moderasiya imtiyazları",
"privileges.section-other": "Digər",
"privileges.section-user": "İstifadəçi",
"privileges.search-user": "İstifadəçi əlavə et",
"privileges.no-users": "Bu kateqoriyada istifadəçiyə məxsus imtiyazlar yoxdur.",
"privileges.section-group": "Qrup",
"privileges.group-private": "Bu qrup şəxsidir",
"privileges.inheritance-exception": "Bu qrup qeydiyyatdan keçmiş istifadəçilər qrupundan imtiyazları devralmır",
"privileges.banned-user-inheritance": "Qadağan edilmiş istifadəçilər qadağan olunmuş istifadəçilər qrupundan imtiyazları miras alırlar",
"privileges.search-group": "Qrup əlavə et",
"privileges.copy-to-children": "Uşaqlara kopyala",
"privileges.copy-from-category": "Kateqoriyadan kopyala",
"privileges.copy-privileges-to-all-categories": "Bütün kateqoriyalara kopyala",
"privileges.copy-group-privileges-to-children": "Bu qrupun imtiyazlarını bu kateqoriyadan olan uşaqlara köçür",
"privileges.copy-group-privileges-to-all-categories": "Bu qrupun imtiyazlarını bütün kateqoriyalara köçür",
"privileges.copy-group-privileges-from": "Bu qrupun imtiyazlarını başqa kateqoriyadan köçür",
"privileges.inherit": "<code>Qeydiyyatdan keçmiş istifadəçilər</code> qrupuna xüsusi imtiyaz verilirsə, bütün digər qruplar açıq şəkildə müəyyən edilməmiş/yoxlanılmamış olsa belə, <strong>gizli imtiyaz</strong> alır. Bu gizli imtiyaz sizə göstərilir, çünki bütün istifadəçilər <code>qeydiyyatdan keçmiş istifadəçilər</code> qrupunun bir hissəsidir və buna görə də əlavə qruplar üçün imtiyazların açıq şəkildə verilməsinə ehtiyac yoxdur.",
"privileges.copy-success": "İmtiyazlar kopyalandı!",
"analytics.back": "Kateqoriyalar siyahısına qayıt",
"analytics.title": "\"% 1\" kateqoriyası üçün analitika",
"analytics.pageviews-hourly": "<strong>Şəkil 1</strong> &ndash; Bu kateqoriya üçün saatlıq səhifə baxışları</small>",
"analytics.pageviews-daily": "<strong>Şəkil 2</strong> &ndash; Bu kateqoriya üçün gündəlik səhifə baxışları</small>",
"analytics.topics-daily": "<strong>Şəkil 3</strong> &ndash; Bu kateqoriyada yaradılan gündəlik mövzular</small>",
"analytics.posts-daily": "<strong>Şəkil 4</strong> &ndash; Bu kateqoriyada gündəlik yazılar hazırlanır</small>",
"federation.title": "\"%1\" kateqoriyası üçün federasiya parametrləri",
"federation.disabled": "Federasiya sayt boyu deaktiv edilib, buna görə kateqoriya federasiya parametrləri hazırda əlçatan deyil.",
"federation.disabled-cta": "Federasiya parametrləri &rarr;",
"federation.syncing-header": "Sinxronizasiya",
"federation.syncing-intro": "Kateqoriya ActivityPub protokolu vasitəsilə \"Qrup Aktyoru\"nu izləyə bilər. Məzmun aşağıda sadalanan aktyorlardan birindən alınarsa, o, avtomatik olaraq bu kateqoriyaya əlavə olunacaq.",
"federation.syncing-caveat": "N.B. Sinxronizasiyanın burada qurulması birtərəfli sinxronizasiya yaradır. NodeBB aktyora abunə olmağa/izləməyə çalışır, lakin bunun əksini güman etmək olmaz.",
"federation.syncing-none": "Bu kateqoriyanı hal-hazırda heç kimi izləmir.",
"federation.syncing-add": "Sinxronizasiya et...",
"federation.syncing-actorUri": "Aktyor",
"federation.syncing-follow": "İzlə",
"federation.syncing-unfollow": "İzləməni dayandır",
"federation.followers": "Bu kateqoriyanı izləyən uzaq istifadəçilər",
"federation.followers-handle": "Dəstək",
"federation.followers-id": "ID",
"federation.followers-none": "İzləyici yoxdur.",
"federation.followers-autofill": "Avtomatik doldur",
"alert.created": "Yaradıldı",
"alert.create-success": "Kateqoriya uğurla yaradıldı!",
"alert.none-active": "Aktiv kateqoriyalarınız yoxdur.",
"alert.create": "Kateqoriya yarat",
"alert.add": "Add a Category",
"alert.add-help": "Remote categories can be added to the categories listing by specifying their handle.<br /><br /><strong>Note</strong> — The remote category may not reflect all topics published unless at least one local user tracks/watches it.",
"alert.rename": "Rename a Remote Category",
"alert.rename-help": "Please enter a new name for this category. Leave blank to restore original name.",
"alert.confirm-remove": "Do you really want to remove this category? You can add it back at any time.",
"alert.confirm-purge": "<p class=\"lead\">Bu \"%1\" kateqoriyasını həqiqətən təmizləmək istəyirsiniz?</p><h5><strong class=\"text-danger\"> Xəbərdarlıq!</strong> Bu kateqoriyadakı bütün mövzular və yazılar silinəcək! </h5><p class=\"help-block\">Kateqoriyanın təmizlənməsi bütün mövzuları və yazıları siləcək və kateqoriyanı verilənlər bazasından siləcək. Kateqoriyanı <em>müvəqqəti</em> olaraq silmək istəyirsinizsə, bunun əvəzinə kateqoriyanı \"deaktiv etmək\" istəyəcəksiniz.</p>",
"alert.purge-success": "Kateqoriya təmizləndi!",
"alert.copy-success": "Parametrlər kopyalandı!",
"alert.set-parent-category": "Ana kateqoriya seç",
"alert.updated": "Yenilənmiş kateqoriyalar",
"alert.updated-success": "Kateqoriya ID-ləri %1 uğurla yeniləndi.",
"alert.upload-image": "Kateqoriya şəklini yüklə",
"alert.find-user": "İstifadəçi axtar",
"alert.user-search": "İstifadəçini burada axtar...",
"alert.find-group": "Qrup tap",
"alert.group-search": "Qrupu burada axtarın...",
"alert.not-enough-whitelisted-tags": "Ağ siyahıya alınmış teqlər minimum teqlərdən azdır, daha çox ağ siyahıya alınmış teqlər yaratmalısınız!",
"collapse-all": "Hamısını yığ",
"expand-all": "Hamısını aç",
"disable-on-create": "Yaradarkən deaktiv et",
"no-matches": "Uyğunluq yoxdur"
}

View File

@@ -0,0 +1,22 @@
{
"lead": "Aşağıda həzm çatdırılması statistikası və vaxtlarının siyahısı göstərilir.",
"disclaimer": "Nəzərə alın ki, e-poçt texnologiyasının təbiətinə görə e-poçt çatdırılmasına zəmanət verilmir. Bir çox dəyişənlər alıcının serverinə göndərilən e-poçtun son nəticədə istifadəçinin gələnlər qutusuna daxil olub-olmamasına, o cümlədən server reputasiyasına, qara siyahıya alınmış IP ünvanlarına və DKIM/SPF/DMARC-nin konfiqurasiya edilib-edilməməsinə təsir göstərir.",
"disclaimer-continued": "Uğurlu çatdırılma mesajın NodeBB tərəfindən uğurla göndərilməsi və alıcı server tərəfindən təsdiqlənməsi deməkdir. Bu, e-poçtun gələnlər qutusuna düşməsi demək deyil. Ən yaxşı nəticələr üçün biz <a href=\"https://sendgrid.com/why-sendgrid/\">SendGrid</a> kimi üçüncü tərəfin e-poçt çatdırılması xidmətindən istifadə etməyi tövsiyə edirik.",
"user": "İstifadəçi",
"subscription": "Abunə növü",
"last-delivery": "Sonuncu uğurlu çatdırılma",
"default": "Sistemin defolt",
"default-help": "<em>Sistem defolt</em> o deməkdir ki, istifadəçi hazırda həzmlər üçün qlobal forum parametrini ləğv etməyib: &quot;<strong>%1</strong>&quot;",
"resend": "Digesti yenidən göndərin",
"resend-all-confirm": "Bu həzm işini əl ilə yerinə yetirmək istədiyinizə əminsiniz?",
"resent-single": "Manual digest yenidən göndərmə tamamlandı",
"resent-day": "Gündəlik həzm hirslənir",
"resent-week": "Həftəlik həzm hirsləndi",
"resent-biweek": "İki həftəlik həzm rezidenti",
"resent-month": "Aylıq həzm yenidən göndərildi",
"null": "<em>Heç vaxt</em>",
"manual-run": "Əl ilə həzm işlət:",
"no-delivery-data": "Çatdırılma məlumatı tapılmadı"
}

View File

@@ -0,0 +1,49 @@
{
"manage-groups": "Qrupları idarə et",
"add-group": "Qrup əlavə et",
"edit-group": "Qrupu redaktə et",
"back-to-groups": "Qruplara qayıt",
"view-group": "Qrupa bax",
"icon-and-title": "İkon və Başlıq",
"name": "Qrupun adı",
"badge": "Nişan",
"properties": "Xüsusiyyətlər",
"description": "Qrupun təsviri",
"member-count": "Üzv sayı",
"system": "Sistem",
"hidden": "Gizli",
"private": "Şəxsi",
"edit": "Redaktə et",
"delete": "Sil",
"privileges": "İmtiyazlar",
"members-csv": "Üzvlər (CSV)",
"search-placeholder": "Axtarış",
"create": "Qrup yarat",
"description-placeholder": "Qrupunuz haqqında qısa məlumat",
"create-button": "Yaratmaq",
"alerts.create-failure": "<strong>Uh-Oh</strong> <p>Qrupunuzu yaratarkən problem yarandı. Daha sonra yenidən cəhd edin!</p>",
"alerts.confirm-delete": "Bu qrupu silmək istədiyinizə əminsiniz?",
"edit.name": "Adı",
"edit.description": "Təsviri",
"edit.user-title": "Üzvlərin adı",
"edit.icon": "Qrup ikonu",
"edit.label-color": "Qrup başlığı rəngi",
"edit.text-color": "Qrup mətn rəngi",
"edit.show-badge": "Nişanı göstər",
"edit.private-details": "Aktiv edilərsə, qruplara qoşulmaq üçün qrup sahibinin təsdiqi tələb olunur.",
"edit.private-override": "Xəbərdarlıq: Şəxsi qruplar sistem səviyyəsində deaktiv edilib və bu seçimi ləğv edir.",
"edit.disable-join": "Qoşulma sorğularını deaktiv edin",
"edit.disable-leave": "İstifadəçilərin qrupdan çıxmasına icazə verməyin",
"edit.hidden": "Gizli",
"edit.hidden-details": "Aktivləşdirilərsə, bu qrup qruplar siyahısında tapılmayacaq və istifadəçilər əl ilə dəvət olunmalı olacaqlar",
"edit.add-user": "İstifadəçini qrupa əlavə et",
"edit.add-user-search": "İstifadəçiləri axtar",
"edit.members": "Üzv siyahısı",
"control-panel": "Qrup idarəetmə paneli",
"revert": "Geri qaytar",
"edit.no-users-found": "İstifadəçi tapılmadı",
"edit.confirm-remove-user": "Bu istifadəçini silmək istədiyinizə əminsiniz?"
}

View File

@@ -0,0 +1,66 @@
{
"manage-privileges": "İmtiyazları idarə et",
"discard-changes": "Dəyişiklikləri ləğv et",
"global": "Qlobal",
"admin": "Admin",
"group-privileges": "Qrup imtiyazları",
"user-privileges": "İstifadəçi imtiyazları",
"edit-privileges": "İmtiyazları redaktə et",
"select-clear-all": "Hamısını seç/sil",
"chat": "Söhbət",
"chat-with-privileged": "İmtiyazlı ilə söhbət et",
"upload-images": "Şəkilləri yüklə",
"upload-files": "Faylları yüklə",
"signature": "İmza",
"ban": "Qadağa et",
"mute": "Səssizləşdir",
"invite": "Dəvət et",
"search-content": "Məzmunu axtar",
"search-users": "İstifadəçiləri axtar",
"search-tags": "Teqləri axtar",
"view-users": "İstifadəçilərə bax",
"view-tags": "Teqlərə bax",
"view-groups": "Qruplara bax",
"allow-local-login": "Lokal giriş",
"allow-group-creation": "Qrup yarat",
"view-users-info": "İstifadəçi məlumatlarına bax",
"find-category": "Kateqoriya tap",
"access-category": "Kateqoriyaya giriş",
"access-topics": "Mövzulara daxil olun",
"create-topics": "Mövzular yarat",
"reply-to-topics": "Mövzulara cavab ver",
"schedule-topics": "Mövzuları təqvim et",
"tag-topics": "Mövzuları teqlə",
"edit-posts": "Yazıları redaktə et",
"view-edit-history": "Redaktə tarixçəsinə bax",
"delete-posts": "Yazıları sil",
"view-deleted": "Silinmiş yazılara bax",
"upvote-posts": "Yazılara müsbət səs ver",
"downvote-posts": "Yazılara mənfi səs ver",
"delete-topics": "Mövzuları sil",
"purge": "Təmizlə",
"moderate": "Moderasiya",
"admin-dashboard": "İdarə paneli",
"admin-categories": "Kateqoriyalar",
"admin-privileges": "İmtiyazlar",
"admin-users": "İstifadəçilər",
"admin-admins-mods": "Adminlər &amp; Moderatorlar",
"admin-groups": "Qruplar",
"admin-tags": "Teqlər",
"admin-settings": "Parametrlər",
"alert.confirm-moderate": "<strong>Bu istifadəçi qrupuna moderasiya imtiyazı vermək istədiyinizə əminsiniz?</strong> Bu qrup ictimaidir və istənilən istifadəçi öz istəyi ilə qoşula bilər.",
"alert.confirm-admins-mods": "<strong>Siz &quot;Adminlər &amp; Mods&quot; bu istifadəçi/qrup üçün imtiyaz varmı?</strong> Bu imtiyazlı istifadəçilər digər istifadəçiləri super administrator da daxil olmaqla imtiyazlı vəzifələrə <em>yüksəldə və aşağı sala bilərlər.</em>",
"alert.confirm-save": "Bu imtiyazları saxlamaq niyyətinizi təsdiq et",
"alert.confirm-discard": "İmtiyaz dəyişikliklərinizi ləğv etmək istədiyinizə əminsiniz?",
"alert.discarded": "İmtiyaz dəyişiklikləri ləğv et",
"alert.confirm-copyToAll": "Bu <strong>%1 </strong>dəstini <strong>bütün kateqoriyalara tətbiq etmək istədiyinizə əminsiniz</strong>?",
"alert.confirm-copyToAllGroup": "Bu qrupun <strong>%1</strong> dəstini <strong>bütün kateqoriyalara tətbiq etmək istədiyinizə əminsiniz</strong>?",
"alert.confirm-copyToChildren": "Bu <strong>%1</strong> dəstini <strong>bütün nəsil (uşaq) kateqoriyalara tətbiq etmək istədiyinizə əminsiniz</strong>?",
"alert.confirm-copyToChildrenGroup": "Bu qrupun <strong>%1</strong> dəstini <strong>bütün nəsil (uşaq) kateqoriyalara tətbiq etmək istədiyinizə əminsiniz</strong>?",
"alert.no-undo": "<em>Bu əməliyyat geri qaytarıla bilməz.</em>",
"alert.admin-warning": "Administratorlar dolayısı ilə bütün imtiyazları əldə edirlər",
"alert.copyPrivilegesFrom-title": "Kopyalamaq üçün kateqoriya seç",
"alert.copyPrivilegesFrom-warning": "Bu, seçilmiş kateqoriyadan %1-ni kopyalayacaq.",
"alert.copyPrivilegesFromGroup-warning": "Bu, bu qrupun %1 dəstini seçilmiş kateqoriyadan kopyalayacaq."
}

View File

@@ -0,0 +1,20 @@
{
"queue": "Növbə",
"description": "Qeydiyyat növbəsində heç bir istifadəçi yoxdur. <br>Bu funksiyanı aktivləşdirmək üçün <a href=\"%1\">Parametrlərə keçin &rarr; İstifadəçi &rarr;</a> İstifadəçi Qeydiyyatı və <strong>Qeydiyyat Tipini</strong> \"Admin Təsdiqi\" olaraq təyin edin.",
"list.name": "Adı",
"list.email": "E-poçt",
"list.ip": "IP",
"list.time": "Zaman",
"list.username-spam": "Tezlik: %1 Görünür: %2 Etibarlılıq: %3",
"list.email-spam": "Tezlik: %1 Görünür: %2",
"list.ip-spam": "Tezlik: %1 Görünür: %2",
"invitations": "Dəvətlər",
"invitations.description": "Aşağıda göndərilən dəvətlərin tam siyahısı verilmişdir. Siyahıda e-poçt və ya istifadəçi adı ilə axtarış etmək üçün ctrl-f düymələrindən istifadə edin. <br><br>İstifadəçi adı dəvətnamələrini istifadə etmiş istifadəçilər üçün e-poçtların sağında göstəriləcək.",
"invitations.inviter-username": "Dəvət edənin istifadəçi adı",
"invitations.invitee-email": "Dəvət olunanın E-poçtu",
"invitations.invitee-username": "Dəvət edən istifadəçi adı (qeydiyyatdan keçmişdirsə)",
"invitations.confirm-delete": "Bu dəvəti silmək istədiyinizə əminsiniz?"
}

View File

@@ -0,0 +1,20 @@
{
"manage-tags": "Teqləri idarə et",
"none": "Forumunuzda hələ teqləri olan mövzu yoxdur.",
"bg-color": "Arxa fon rəngi",
"text-color": "Mətnin rəngi",
"description": "Klikləyərək və ya sürükləyərək teqləri seçin, birdən çox teq seçmək üçün <code>CTRL</code> düyməsini istifadə edin.",
"create": "Teq yarat",
"add-tag": "Teq əlavə et",
"modify": "Teqləri dəyiş",
"rename": "Teqlərin adını dəyiş",
"delete": "Seçilmiş teqləri sil",
"search": "Teqləri axtarın...",
"settings": "Teqlər parametrləri",
"name": "Teq adı",
"alerts.editing": "Teq(lər)i redaktə et",
"alerts.confirm-delete": "Seçilmiş teqləri silmək istəyirsiniz?",
"alerts.update-success": "Teq yeniləndi!",
"reset-colors": "Rəngləri sıfırla"
}

View File

@@ -0,0 +1,12 @@
{
"manage-uploads": "Yükləmələri idarə et",
"upload-file": "Faylı yüklə",
"filename": "Faylın adı",
"usage": "Yazıdan istifadə",
"orphaned": "Yetim qalmış",
"size/filecount": "Həcmi / Fayl sayı",
"confirm-delete": "Bu faylı həqiqətən silmək istəyirsiniz?",
"filecount": "%1 fayl",
"new-folder": "Yeni qovluq",
"name-new-folder": "Yeni qovluq üçün ad daxil edin"
}

View File

@@ -0,0 +1,28 @@
{
"title": "Fərdi istifadəçi sahələrin idarə edilməsi",
"create-field": "Sahə yarat",
"edit-field": "Sahə düzəliş et",
"manage-custom-fields": "Fərdi sahələri idarə edin",
"type-of-input": "Daxiletmə növü",
"key": "Açar",
"name": "Adı",
"icon": "İkon",
"type": "Növü",
"min-rep": "Minimum reputasiya",
"input-type-text": "Daxiletmə (Mətn)",
"input-type-link": "Daxiletmə (Link)",
"input-type-number": "Daxiletmə (Nömrə)",
"input-type-date": "Daxiletmə (Tarix)",
"input-type-select": "Seçim",
"input-type-select-multi": "Birdən çox seçim",
"select-options": "Variantlar",
"select-options-help": "Seçilmiş element üçün hər sətirə bir variant əlavə edin",
"minimum-reputation": "Minimum reputasiya",
"minimum-reputation-help": "Əgər istifadəçi bu dəyərdən azdırsa, o, bu sahədən istifadə edə bilməyəcək",
"delete-field-confirm-x": "Siz həqiqətən \"% 1\" fərdi sahəsini silmək istəyirsiniz?",
"custom-fields-saved": "Fərdi sahələr yadda saxlanıldı",
"visibility": "Görünüş parametrləri",
"visibility-all": "Hər kəs sahəni görə bilər",
"visibility-loggedin": "Yalnız sistemə daxil olan istifadəçilər sahəni görə bilər",
"visibility-privileged": "Bu sahəni yalnız adminlər və moderatorlar kimi imtiyazlı istifadəçilər görə bilər"
}

View File

@@ -0,0 +1,152 @@
{
"manage-users": "İstifadəçiləri idarə et",
"users": "İstifadəçilər",
"edit": "Fəaliyyətlər",
"make-admin": "Admin et",
"remove-admin": "Admini sil",
"change-email": "E-poçtu dəyiş",
"new-email": "Yeni e-poçt",
"validate-email": "E-poçtu təsdiqlə",
"send-validation-email": "Doğrulama e-poçtu göndər",
"change-password": "Şifrəni dəyiş",
"password-reset-email": "Şifrəni sıfırlama məktubunu göndər",
"force-password-reset": "Şifrəni sıfırlamağa və çıxmağa məcbur edin",
"ban": "Qadağa et",
"ban-users": "İstifadəçi(ləri) qadağan et",
"temp-ban": "İstifadəçi(ləri) müvəqqəti olaraq qadağan et",
"unban": "İstifadəçi(lər)i blokdan çıxart",
"reset-lockout": "Lokautu sıfırla",
"reset-flags": "Bayraqları sıfırla",
"delete": "Sil",
"delete-users": "<strong>İstifadəçi(ləri)</strong> sil",
"delete-content": "İstifadəçi(lər)in <strong>məzmununu</strong> sil",
"purge": "<strong>İstifadəçi(lər)i</strong> və <strong>məzmunu</strong> silin",
"download-csv": "CSV-ni endir",
"custom-user-fields": "Fərdi istifadəçi sahələri",
"manage-groups": "Qrupları idarə et",
"set-reputation": "Reputasiya təyin et",
"add-group": "Qrup əlavə et",
"create": "İstifadəçi yarat",
"invite": "E-poçtla dəvət et",
"new": "Yeni istifadəçi",
"filter-by": "Filtrlə",
"pills.unvalidated": "Təsdiqlənməyib",
"pills.validated": "Təsdiq edilib",
"pills.banned": "Qadağan edilib",
"50-per-page": "Səhifə başına 50",
"100-per-page": "Səhifə başına 100",
"250-per-page": "Səhifə başına 250",
"500-per-page": "Səhifə başına 500",
"search.uid": "İstifadəçi ID ilə",
"search.uid-placeholder": "Axtarmaq üçün istifadəçi ID-sini daxil edin",
"search.username": "İstifadəçi adı ilə",
"search.username-placeholder": "Axtarış etmək üçün istifadəçi adı daxil edin",
"search.email": "E-poçtla",
"search.email-placeholder": "Axtarmaq üçün e-poçt ünvanını daxil edin",
"search.ip": "IP ünvanı ilə",
"search.ip-placeholder": "Axtarmaq üçün bir IP ünvanı daxil edin",
"search.not-found": "İstifadəçi tapılmadı!",
"inactive.3-months": "3 Ay",
"inactive.6-months": "6 ay",
"inactive.12-months": "12 ay",
"users.uid": "uid",
"users.username": "istifadəçi adı",
"users.email": "e-poçt",
"users.no-email": "(e-poçt yoxdur)",
"users.validated": "Təsdiq edilib",
"users.not-validated": "Təsdiqlənməyib",
"users.validation-pending": "Təsdiqləmə gözlənir",
"users.validation-expired": "Təsdiqləmə müddəti başa çatıb",
"users.ip": "IP",
"users.postcount": "postcount",
"users.reputation": "reputasiya",
"users.flags": "işarələr",
"users.joined": "qoşulub",
"users.last-online": "sonuncu onlayn",
"users.banned": "qadağan edilib",
"create.username": "İstifadəçi adı",
"create.email": "E-poçt",
"create.email-placeholder": "Bu istifadəçinin e-poçtu",
"create.password": "Şifrə",
"create.password-confirm": "Şifrəni təsdiqlə",
"temp-ban.length": "Uzunluq",
"temp-ban.reason": "Səbəb <span class=\"text-muted\">(İstəyə görə)</span>",
"temp-ban.hours": "Saat",
"temp-ban.days": "Günlər",
"temp-ban.explanation": "Qadağanın müddətini daxil edin. Nəzərə alın ki, 0 vaxtı daimi qadağa hesab olunacaq.",
"alerts.confirm-ban": "Həqiqətən bu istifadəçini <strong>həmişəlik</strong> qadağan etmək istəyirsiniz?",
"alerts.confirm-ban-multi": "Bu istifadəçiləri <strong>həmişəlik</strong> qadağan etmək istəyirsiniz?",
"alerts.ban-success": "İstifadəçi(lər) qadağan edilib",
"alerts.button-ban-x": "%1 istifadəçin(lər)i qadağan et",
"alerts.unban-success": "İstifadəçi(lər) qadağadan çıxarıldı!",
"alerts.lockout-reset-success": "Lokaut(lar) sıfırlandı!",
"alerts.password-change-success": "Şifrə(lər) dəyişdi!",
"alerts.flag-reset-success": "Bayraq(lar) sıfırlandı!",
"alerts.no-remove-yourself-admin": "Özünüzü Administrator kimi silə bilməzsiniz!",
"alerts.make-admin-success": "İstifadəçi indi administratordur.",
"alerts.confirm-remove-admin": "Siz həqiqətən bu administratoru silmək istəyirsiniz?",
"alerts.remove-admin-success": "İstifadəçi artıq administrator deyil.",
"alerts.make-global-mod-success": "İstifadəçi indi qlobal moderatordur.",
"alerts.confirm-remove-global-mod": "Həqiqətən bu qlobal moderatoru silmək istəyirsiniz?",
"alerts.remove-global-mod-success": "İstifadəçi artıq qlobal moderator deyil.",
"alerts.make-moderator-success": "İstifadəçi artıq moderatordur.",
"alerts.confirm-remove-moderator": "Həqiqətən bu moderatoru silmək istəyirsiniz?",
"alerts.remove-moderator-success": "İstifadəçi artıq moderator deyil.",
"alerts.confirm-validate-email": "Bu istifadəçi(lər)in e-poçt(lar)ını təsdiq etmək istəyirsiniz?",
"alerts.confirm-force-password-reset": "Şifrənin sıfırlanmasını məcbur etmək və bu istifadəçi(lər)dən çıxmaq istədiyinizə əminsiniz?",
"alerts.validate-email-success": "E-poçtlar təsdiqləndi",
"alerts.validate-force-password-reset-success": "İstifadəçi(lər)in şifrələri sıfırlanıb və onların mövcud sessiyaları ləğv edilib.",
"alerts.password-reset-confirm": "Bu istifadəçi(lər)ə şifrə sıfırlama məktubunu göndərmək istəyirsiniz?",
"alerts.password-reset-email-sent": "Şifrənin sıfırlanması məktubu göndərildi.",
"alerts.confirm-delete": "<strong>Xəbərdarlıq!</strong><p> Siz həqiqətən <strong>istifadəçi(ləri)</strong> silmək istəyirsiniz?</p><p> Bu əməliyyat geri qaytarıla bilməz! Yalnız istifadəçi hesabı silinəcək, onların yazıları və mövzuları qalacaq.</p>",
"alerts.delete-success": "İstifadəçi(lər) silindi!",
"alerts.confirm-delete-content": "<strong>Xəbərdarlıq!</strong><p> Bu istifadəçi(lər)in <strong>məzmununu</strong> həqiqətən silmək istəyirsiniz? </p><p>Bu əməliyyat geri qaytarıla bilməz! İstifadəçilərin hesabları qalacaq, lakin onların yazıları və mövzuları silinəcək.</p>",
"alerts.delete-content-success": "İstifadəçi(lər) məzmunu silindi!",
"alerts.confirm-purge": "<strong>Xəbərdarlıq!</strong><p><strong> İstifadəçi(ləri) və onların məzmununu </strong>həqiqətən silmək istəyirsiniz?</p><p> Bu əməliyyat geri qaytarıla bilməz! Bütün istifadəçi məlumatları və məzmunu silinəcək!</p>",
"alerts.create": "İstifadəçi yarat",
"alerts.button-create": "Yarat",
"alerts.button-cancel": "Ləğv et",
"alerts.button-change": "Dəyiş",
"alerts.error-passwords-different": "Şifrələr üst-üstə düşməlidir!",
"alerts.error-x": "<strong>Xəta</strong> <p>%1</p>",
"alerts.create-success": "İstifadəçi yaradıldı!",
"alerts.prompt-email": "E-poçt ünvanları:",
"alerts.email-sent-to": "Dəvət məktubu %1 ünvanına göndərildi",
"alerts.x-users-found": "%1 istifadəçi tapıldı, (%2 saniyə)",
"alerts.select-a-single-user-to-change-email": "E-poçtu dəyişdirmək üçün bir istifadəçi seçin",
"export": "İxrac",
"export-users-fields-title": "CSV Sahələrini seç",
"export-field-email": "E-poçt",
"export-field-username": "İstifadəçi adı",
"export-field-uid": "UID",
"export-field-ip": "IP",
"export-field-joindate": "Qoşulma tarixi",
"export-field-lastonline": "Sonuncu onlayn",
"export-field-lastposttime": "Son göndərmə vaxtı",
"export-field-reputation": "Reputasiya",
"export-field-postcount": "Yazıların sayı",
"export-field-topiccount": "Mövzu sayı",
"export-field-profileviews": "Profil baxışları",
"export-field-followercount": "İzləyici sayı",
"export-field-followingcount": "Sayı izləyir",
"export-field-fullname": "Tam adı",
"export-field-website": "Veb sayt",
"export-field-location": "Məkan",
"export-field-birthday": "Doğum tarixi",
"export-field-signature": "İmza",
"export-field-aboutme": "Mənim haqqımda",
"export-users-started": "İstifadəçilərin csv kimi eksport edilməsi bir az vaxt apara bilər. Tamamlandıqda bildiriş alacaqsınız.",
"export-users-completed": "Csv olaraq ixrac edilən istifadəçilər, yükləmək üçün bura klikləyin.",
"email": "E-poçt",
"password": "Şifrə",
"manage": "İdarə et"
}

View File

@@ -0,0 +1,93 @@
{
"section-dashboard": "İdarə paneli",
"dashboard/overview": "Ümumi baxış",
"dashboard/logins": "Daxil olmalar",
"dashboard/users": "İstifadəçilər",
"dashboard/topics": "Mövzular",
"dashboard/searches": "Axtarışlar",
"section-general": "Ümumi",
"section-manage": "İdarə et",
"manage/categories": "Kateqoriyalar",
"manage/privileges": "İmtiyazlar",
"manage/tags": "Teqlər",
"manage/users": "İstifadəçilər",
"manage/admins-mods": "Adminlər & Moderatorlar",
"manage/registration": "Qeydiyyat növbəsi",
"manage/flagged-content": "İşarələnmiş məzmun",
"manage/post-queue": "Yazı növbəsi",
"manage/groups": "Qruplar",
"manage/ip-blacklist": "IP qara siyahısı",
"manage/uploads": "Yükləmələr",
"manage/digest": "Həzmlər",
"section-settings": "Parametrlər",
"settings/general": "Ümumi",
"settings/homepage": "Əsas səhifə",
"settings/navigation": "Naviqasiya",
"settings/reputation": "Reputasiya və Bayraqlar",
"settings/email": "E-poçt",
"settings/user": "İstifadəçilər",
"settings/group": "Qruplar",
"settings/guest": "Qonaqlar",
"settings/uploads": "Yükləmələr",
"settings/languages": "Dillər",
"settings/post": "Yazılar",
"settings/chat": "Söhbətlər",
"settings/pagination": "Səhifələmə",
"settings/tags": "Teqlər",
"settings/notifications": "Bildirişlər",
"settings/api": "API çıxışı",
"settings/activitypub": "Federasiya (ActivityPub)",
"settings/sounds": "Səslər",
"settings/social": "Sosial",
"settings/cookies": "Kukilər",
"settings/web-crawler": "Veb tarayıcı",
"settings/sockets": "Sockets",
"settings/advanced": "İnkişaf etmiş",
"settings.page-title": "%1 Parametrlər",
"section-appearance": "Görünüş",
"appearance/themes": "Mövzular",
"appearance/skins": "Örtüklər",
"appearance/customise": "Fərdi məzmun (HTML/JS/CSS)",
"section-extend": "Artırmaq",
"extend/plugins": "Plaginlər",
"extend/widgets": "Vidjetlər",
"extend/rewards": "Mükafatlar",
"section-social-auth": "Sosial hesab autentifikasiyası",
"section-plugins": "Plaginlər",
"extend/plugins.install": "Plaginləri quraşdır",
"section-advanced": "İnkişaf etmiş",
"advanced/database": "Verilənlər bazası",
"advanced/events": "Hadisələr",
"advanced/hooks": "Huklar",
"advanced/logs": "Loqlar",
"advanced/errors": "Xətalar",
"advanced/cache": "Keş",
"development/logger": "Logger",
"development/info": "Məlumat",
"rebuild-and-restart-forum": "Forumu yenidən qur və başlat",
"rebuild-and-restart": "Yenidən qur və başlat",
"restart-forum": "Forumu yenidən başlat",
"restart": "Yenidən başlat",
"logout": ıx",
"view-forum": "Foruma bax",
"search.placeholder": "Parametrləri axtar",
"search.no-results": "Nəticə yoxdur...",
"search.search-forum": "Forumda axtarın <strong></strong>",
"search.keep-typing": "Nəticələri görmək üçün daha çox məlumat yazın...",
"search.start-typing": "Nəticələrə baxmaq üçün yazmağa başlayın...",
"connection-lost": "%1 ilə əlaqə kəsildi, yenidən qoşulmağa cəhd edilir...",
"alerts.version": "<strong>NodeBB v% 1</strong> işləyir",
"alerts.upgrade": "v% 1 səviyyəsinə yüksəlt"
}

View File

@@ -0,0 +1,48 @@
{
"intro-lead": "Federasiya nədir?",
"intro-body": "NodeBB onu dəstəkləyən digər NodeBB instansiyaları ilə əlaqə qura bilir. Buna <a href=\"https://activitypub.rocks/\">ActivityPub</a> adlı protokol vasitəsilə nail olunur. Aktivləşdirilərsə, NodeBB ActivityPub istifadə edən digər proqramlar və vebsaytlarla (məsələn, Mastodon, Peertube və s.) əlaqə saxlaya biləcək.",
"general": "Ümumi",
"pruning": "Məzmunun budaması",
"content-pruning": "Uzaq məzmunu saxlamaq üçün günlər",
"content-pruning-help": "Nəzərə alın ki, nişan almış uzaq məzmun (cavab və ya müsbət/mənfi səs) qorunacaq. (əlillər üçün 0)",
"user-pruning": "Uzaqdan istifadəçi hesablarını keşləmək üçün günlər",
"user-pruning-help": "Uzaqdan olan istifadəçi hesabları yalnız yazıları olmadıqda kəsiləcək. Əks halda onlar yenidən geri alınacaq. (əlillər üçün 0)",
"enabled": "Federasiyanı aktivləşdirin",
"enabled-help": "Aktivləşdirilərsə, bu NodeBB daha geniş fediverse üzrə bütün Activitypub-u aktivləşdirən müştərilərlə əlaqə saxlamağa imkan verəcək.",
"allowLoopback": "Geri dönmə emalına icazə verin",
"allowLoopback-help": "Yalnız sazlama məqsədləri üçün faydalıdır. Yəqin ki, bunu əlil buraxmalısınız.",
"probe": "Tətbiqdə açın",
"probe-enabled": "NodeBB-də ActivityPub-u aktivləşdirən resursları açmağa çalışın",
"probe-enabled-help": "Aktiv edilərsə, NodeBB hər bir xarici linki ActivityPub ekvivalenti üçün yoxlayacaq və əvəzinə onu NodeBB-də yükləyəcək.",
"probe-timeout": "Axtarış vaxtı (millisaniyə)",
"probe-timeout-help": "(Defolt: 2000) Əgər axtarış sorğusu müəyyən edilmiş vaxt çərçivəsində cavab almazsa, onun əvəzinə istifadəçi birbaşa linkə göndəriləcək. Saytlar ləng cavab verirsə və əlavə vaxt vermək istəyirsinizsə, bu rəqəmi daha yüksək tənzimləyin.",
"rules": "Categorization",
"rules-intro": "Content discovered via ActivityPub can be automatically categorized based on certain rules (e.g. hashtag)",
"rules.modal.title": "How it works",
"rules.modal.instructions": "Any incoming content is checked against these categorization rules, and matching content is automatically moved into the category of choice.<br /><br /><strong>N.B.</strong> Content that is already categorized (i.e. in a remote category) will not pass through these rules.",
"rules.add": "Add New Rule",
"rules.help-hashtag": "Topics containing this case-insensitive hashtag will match. Do not enter the <code>#</code> symbol",
"rules.help-user": "Topics created by the entered user will match. Enter a handle or full ID (e.g. <code>bob@example.org</code> or <code>https://example.org/users/bob</code>.",
"rules.type": "Type",
"rules.value": "Value",
"rules.cid": "Category",
"relays": "Relays",
"relays.intro": "A relay improves discovery of content to and from your NodeBB. Subscribing to a relay means content received by the relay is forwarded here, and content posted here is syndicated outward by the relay.",
"relays.warning": "Note: Relays can send larges amounts of traffic in, and may increase storage and processing costs.",
"relays.litepub": "NodeBB follows the LitePub-style relay standard. The URL you enter here should end with <code>/actor</code>.",
"relays.add": "Add New Relay",
"relays.relay": "Relay",
"relays.state": "State",
"relays.state-0": "Pending",
"relays.state-1": "Receiving only",
"relays.state-2": "Active",
"server-filtering": "Filtrlə",
"count": "Bu NodeBB hazırda <strong>%1</strong> server(lər)dən xəbərdardır",
"server.filter-help": "NodeBB ilə federasiyaya mane olmaq istədiyiniz serverləri göstərin. Alternativ olaraq, bunun əvəzinə xüsusi serverlərlə federasiyaya seçimlə <em>icazə verə bilərsiniz</em>. Hər iki variant bir-birini istisna etsə də, dəstəklənir.",
"server.filter-help-hostname": "Aşağıdakı misal host adını daxil edin (məsələn, <code>example.org</code>), sətir fasilələri ilə ayrılır.",
"server.filter-allow-list": "Bunun əvəzinə İcazə Siyahısı kimi istifadə edin"
}

View File

@@ -0,0 +1,47 @@
{
"maintenance-mode": "Texniki baxım rejimi",
"maintenance-mode.help": "Forum texniki xidmət rejimində olduqda, bütün sorğular statik saxlama səhifəsinə yönləndiriləcək. Administratorlar bu yönləndirmədən azaddırlar və normal şəkildə sayta daxil ola bilərlər.",
"maintenance-mode.status": "Baxım rejimi status kodu",
"maintenance-mode.message": "Baxım mesajı",
"maintenance-mode.groups-exempt-from-maintenance-mode": "Baxım rejimindən azad edilməli olan qrupları seçin",
"headers": "Başlıqlar",
"headers.allow-from": "NodeBB-ni iFrame-də yerləşdirmək üçün ALLOW-FROM seçin",
"headers.csp-frame-ancestors": "NodeBB-ni iFrame-də yerləşdirmək üçün Content-Security-Policy çərçivə-əcdadları başlığını təyin edin",
"headers.csp-frame-ancestors-help": "'yox', 'öz'(defolt) və ya icazə veriləcək URI siyahısı.",
"headers.powered-by": "NodeBB tərəfindən göndərilən \"Powered By\" başlığını fərdiləşdirin",
"headers.acao": "Giriş-nəzarət-İcazə ver-mənşə",
"headers.acao-regex": "Giriş-nəzarət-icazə ver-mənşəyi müntəzəm ifadə",
"headers.acao-help": "Bütün saytlara girişi rədd etmək üçün boş burax",
"headers.acao-regex-help": "Dinamik mənşələrə uyğun gəlmək üçün normal ifadələri buraya daxil edin. Bütün saytlara girişi rədd etmək üçün boş buraxın",
"headers.acac": "Giriş-nəzarət-İcazə verin-etimadnamələr",
"headers.acam": "Giriş-nəzarət-icazə vermək-metodları",
"headers.acah": "Giriş-nəzarət-İcazə ver-başlıqlar",
"headers.coep": "Cross-Origin-Embedder-Siyasəti",
"headers.coep-help": "Aktivləşdirildikdə (defolt), başlığı <code>tələb-korp</code> olaraq təyin edəcək",
"headers.coop": "Cross-Origin-Opener-Siyasəti",
"headers.corp": "Cross-Origin-Resurs-Siyasəti",
"headers.permissions-policy": "İcazələr-Siyasət",
"headers.permissions-policy-help": "İcazə siyasəti başlığını təyin etməyə imkan verir, məsələn, \"geolocation=*, camera=()\", əlavə məlumat üçün <a href=\"https://github.com/w3c/webappsec-permissions-policy/blob/main/permissions-policy-explainer.md\">buna</a> baxın.",
"hsts": "Ciddi nəqliyyat təhlükəsizliyi",
"hsts.enabled": "Aktivləşdirilmiş HSTS (tövsiyə olunur)",
"hsts.maxAge": "HSTS maksimum yaş",
"hsts.subdomains": "HSTS başlığına subdomenləri daxil et",
"hsts.preload": "HSTS başlığının əvvəlcədən yüklənməsinə icazə ver",
"hsts.help": "Aktiv edilərsə, bu sayt üçün HSTS başlığı təyin ediləcək. Başlığınıza subdomenləri və əvvəlcədən yükləmə bayraqlarını daxil etməyi seçə bilərsiniz. Əgər şübhəniz varsa, bunları yoxlamadan qoya bilərsiniz. <a href=\"%1\">Ətraflı məlumat<i class=\"fa fa-external-link\"></i></a>",
"traffic-management": "Trafik idarəetmə",
"traffic.help": "NodeBB yüksək trafik vəziyyətlərində sorğuları avtomatik olaraq rədd edən moduldan istifadə edir. Defolt parametrlər yaxşı başlanğıc nöqtəsi olsa da, bu parametrləri burada tənzimləyə bilərsiniz.",
"traffic.enable": "Trafik idarəetməsini aktivləşdir",
"traffic.event-lag": "Hadisə döngəsinin gecikmə həddi (millisaniyələrlə)",
"traffic.event-lag-help": "Bu dəyərin aşağı salınması səhifənin yüklənməsi üçün gözləmə vaxtlarını azaldır, eyni zamanda daha çox istifadəçiyə \"həddindən artıq yükləmə\" mesajını göstərəcək. (Yenidən başladın tələb olunur)",
"traffic.lag-check-interval": "Yoxlama intervalı (millisaniyələrlə)",
"traffic.lag-check-interval-help": "Bu dəyərin aşağı salınması NodeBB-nin yükdəki sıçrayışlara daha həssas olmasına səbəb olur, eyni zamanda çekin çox həssas olmasına səbəb ola bilər. (Yenidən başladın tələb olunur)",
"sockets.settings": "WebSocket parametrləri",
"sockets.max-attempts": "Maksimum yenidən qoşulma cəhdləri",
"sockets.default-placeholder": "Defolt: %1",
"sockets.delay": "Yenidən qoşulma gecikməsi",
"compression.settings": "Kompressiya parametrləri",
"compression.enable": "Sıxılmanı aktiv edin",
"compression.help": "Bu parametr gzip sıxılmasını təmin edir. İstehsalda yüksək trafikə malik veb sayt üçün sıxılmanın ən yaxşı yolu onu əks proxy səviyyəsində həyata keçirməkdir. Test məqsədləri üçün burada aktivləşdirə bilərsiniz."
}

View File

@@ -0,0 +1,29 @@
{
"tokens": "Tokenlər",
"settings": "Parametrlər",
"lead-text": "Bu səhifədən NodeBB-də Write API-yə girişi konfiqurasiya edə bilərsiniz.",
"intro": "Varsayılan olaraq, Write API istifadəçiləri seans kukisi əsasında autentifikasiya edir, lakin NodeBB bu səhifə vasitəsilə yaradılan tokenlər vasitəsilə Taşıyıcının autentifikasiyasını da dəstəkləyir.",
"warning": "<strong>Diqqətli olun</strong> - tokenlərə şifrə kimi yanaşın. Əgər onlar sızdırılıbsa, hesabınız təhlükə altına düşmüş hesab olunmalıdır.",
"docs": "Tam API spesifikasiyasına daxil olmaq üçün buraya klikləyin",
"require-https": "API istifadəsini yalnız HTTPS vasitəsilə tələb edin",
"require-https-caveat": "<strong>Qeyd</strong>: Yük balanslaşdırıcılarını əhatə edən bəzi qurğular HTTP istifadə edərək öz sorğularını NodeBB-yə proksiləşdirə bilər, bu halda bu seçim qeyri-aktiv olaraq qalmalıdır.",
"uid": "İstifadəçi ID-si",
"token": "Token",
"uid-help-text": "Bu işarə ilə əlaqələndirmək üçün İstifadəçi ID-sini göstərin. Əgər istifadəçi identifikatoru <code>0</code> olarsa, o, <code>_uid</code> parametrinə əsasən digər istifadəçilərin şəxsiyyətini qəbul edə bilən <em>əsas token</em> hesab ediləcək.",
"description": "Təsvir",
"last-seen": "Sonuncu dəfə görüldü",
"created": "Yaradıldı",
"create-token": "Token yarat",
"update-token": "Tokeni yenilə",
"master-token": "Master token",
"last-seen-never": "Bu açar heç istifadə edilməyib.",
"no-description": "Təsvir qeyd olunmayıb.",
"actions": "Fəaliyyətlər",
"edit": "Redaktə et",
"roll": "Roll",
"delete-confirm": "Bu tokeni silmək istədiyinizə əminsiniz? Onu bərpa etmək mümkün olmayacaq.",
"roll-confirm": "Bu tokeni bərpa etmək istədiyinizə əminsiniz? Köhnə token dərhal ləğv ediləcək və onu bərpa etmək mümkün olmayacaq."
}

View File

@@ -0,0 +1,17 @@
{
"zero-is-disabled": "Bu məhdudiyyəti ləğv etmək üçün 0 daxil edin",
"chat-settings": "Söhbət parametrləri",
"disable": "Söhbəti deaktiv et",
"disable-editing": "Söhbət mesajının redaktəsini/silinməsini deaktiv et",
"disable-editing-help": "Administratorlar və qlobal moderatorlar bu məhdudiyyətdən azaddırlar",
"max-length": "Söhbət mesajlarının maksimum uzunluğu",
"max-length-remote": "Uzaq söhbət mesajlarının maksimum uzunluğu",
"max-length-remote-help": "Bu dəyər adətən yerli istifadəçilər üçün maksimum söhbət mesajından yuxarı təyin edilir, çünki uzaqdan gələn mesajlar daha uzun olur (@ qeydləri ilə və s.)",
"max-chat-room-name-length": "Söhbət otağı adlarının maksimum uzunluğu",
"max-room-size": "Söhbət otaqlarında maksimum istifadəçi sayı",
"delay": "Söhbət mesajları arasındakı vaxt (ms)",
"notification-delay": "Söhbət mesajları üçün bildiriş gecikməsi",
"notification-delay-help": "Bu vaxt arasında göndərilən əlavə mesajlar toplanır və istifadəçiyə hər gecikmə müddətində bir dəfə bildiriş göndərilir. Gecikməni söndürmək üçün bunu 0-a qoyun.",
"restrictions.seconds-edit-after": "Söhbət mesajının redaktə oluna biləcəyi saniyələrin sayı.",
"restrictions.seconds-delete-after": "Söhbət mesajının silinə biləcəyi saniyələrin sayı."
}

View File

@@ -0,0 +1,13 @@
{
"eu-consent": "AB Razılığı",
"consent.enabled": "Aktivləşdirilib",
"consent.message": "Bildiriş mesajı",
"consent.acceptance": "Qəbul mesajı",
"consent.link-text": "Siyasət linki mətni",
"consent.link-url": "Siyasət linki URL",
"consent.blank-localised-default": "NodeBB lokallaşdırılmış defoltlarından istifadə etmək üçün boş buraxın",
"settings": "Parametrlər",
"cookie-domain": "Sessiya kukisi domeni",
"max-user-sessions": "Bir istifadəçi üçün maksimum aktiv sessiyalar",
"blank-default": "Defolt üçün boş buraxın"
}

View File

@@ -0,0 +1,54 @@
{
"email-settings": "E-poçt parametrləri",
"address": "E-poçt ünvanı",
"address-help": "Aşağıdakı e-poçt ünvanı alıcının \"Kimdən\" və \"Cavab vermək\" sahələrində görəcəyi e-poçta aiddir.",
"from": "Kimin adından",
"from-help": "E-poçtda göstərilən addan.",
"confirmation-settings": "Təsdiq",
"confirmation.expiry": "E-poçt təsdiqləmə linkini etibarlı saxlamaq üçün saatlar",
"smtp-transport": "SMTP nəqliyyat",
"smtp-transport.enabled": "SMTP Nəqliyyatını aktivləşdir",
"smtp-transport-help": "Siz tanınmış xidmətlərin siyahısından seçə və ya xüsusi xidmətlər daxil edə bilərsiniz.",
"smtp-transport.service": "Xidmət seçin",
"smtp-transport.service-custom": "Fərdi xidmət",
"smtp-transport.service-help": "Onun haqqında məlum məlumatdan istifadə etmək üçün yuxarıda xidmət adını seçin. Alternativ olaraq, &quot;Xüsusi Xidmət&quot; və aşağıdakı təfərrüatları daxil edin.",
"smtp-transport.gmail-warning1": "Əgər siz GMail-i e-poçt provayderiniz kimi istifadə edirsinizsə, siz &quot;Tətbiq parolu&quot; NodeBB-nin müvəffəqiyyətlə autentifikasiyası üçün. Siz <a href=\"https://myaccount.google.com/apppasswords\">Tətbiq Parolları<i class=\"fa fa-external-link\"></i></a> səhifəsində birini yarada bilərsiniz.",
"smtp-transport.gmail-warning2": "Bu müvəqqəti həll haqqında daha ətraflı məlumat üçün, <a href=\"https://nodemailer.com/usage/using-gmail/\">lütfən, problemlə bağlı bu NodeMailer məqaləsinə<i class=\"fa fa-external-link\"></i></a> müraciət edin. Alternativ olaraq, SendGrid, Mailgun və s. kimi üçüncü tərəf e-poçt plaginindən istifadə etmək olardı. <a href=\"../extend/plugins\">Mövcud plaginləri burada nəzərdən keçirin</a>.",
"smtp-transport.auto-enable-toast": "Deyəsən, siz SMTP nəqliyyatını konfiqurasiya edirsiniz. Sizin üçün \"SMTP Nəqliyyat\" seçimini aktiv etdik.",
"smtp-transport.host": "SMTP Host",
"smtp-transport.port": "SMTP Port",
"smtp-transport.security": "Bağlantı təhlükəsizliyi",
"smtp-transport.security-encrypted": "Şifrələnmiş",
"smtp-transport.security-starttls": "StartTLS",
"smtp-transport.security-none": "Heç biri",
"smtp-transport.username": "İstifadəçi adı",
"smtp-transport.username-help": "<b>Gmail xidməti üçün</b>, xüsusən də Google Apps tərəfindən idarə olunan domendən istifadə edirsinizsə, tam e-poçt ünvanını buraya daxil edin.",
"smtp-transport.password": "Şifrə",
"smtp-transport.pool": "Birləşdirilmiş əlaqələri aktiv et",
"smtp-transport.pool-help": "Əlaqələrin birləşdirilməsi NodeBB-nin hər e-poçt üçün yeni əlaqə yaratmasının qarşısını alır. Bu seçim yalnız SMTP Nəqliyyatı aktiv olduqda tətbiq edilir.",
"smtp-transport.allow-self-signed": "Özünü imzalayan sertifikatlara icazə verin",
"smtp-transport.allow-self-signed-help": "Bu parametri aktivləşdirərək siz öz imzalı və ya etibarsız TLS sertifikatlarından istifadə etmək imkanı əldə edəcəksiniz.",
"template": "E-poçt şablonunu redaktə et",
"template.select": "E-poçt şablonunu seç",
"template.revert": "Orijinala qayıt",
"testing": "Elektron poçt testi",
"testing.select": "E-poçt şablonunu seç",
"testing.send": "Test məktubu göndər",
"testing.send-help": "Test məktubu hazırda daxil olmuş istifadəçinin e-poçt ünvanına göndəriləcək.",
"subscriptions": "E-poçt həzmləri",
"subscriptions.disable": "E-poçt həzmlərini deaktiv edin",
"subscriptions.hour": "Digest saatı",
"subscriptions.hour-help": "Zəhmət olmasa, planlaşdırılmış e-poçt həzmlərini göndərmək üçün saatı təmsil edən nömrə daxil edin (məsələn, gecə yarısı üçün <code>0</code>, 17:00 üçün <code>17</code>). Nəzərə alın ki, bu, serverin özünə görə saatdır və sistem saatınıza tam uyğun gəlməyə bilər.<br /> Təxmini server vaxtı: <span id=\"serverTime\"></span><br /> Növbəti gündəlik digestin göndərilməsi planlaşdırılır <span id=\"nextDigestTime\"></span>",
"notifications.remove-images": "E-poçt bildirişlərindən şəkilləri sil",
"require-email-address": "Yeni istifadəçilərdən e-poçt ünvanını göstərmələrini tələb et",
"require-email-address-warning": "Varsayılan olaraq, istifadəçilər sahəsi boş qoyaraq e-poçt ünvanını daxil etməkdən imtina edə bilərlər. Bu seçimi aktivləşdirmək o deməkdir ki, yeni istifadəçilər qeydiyyata <strong>və foruma</strong> sonradan girişə davam etmək üçün e-poçt ünvanını daxil etməli və təsdiq etməli olacaqlar. <strong>Bu, istifadəçinin həqiqi e-poçt ünvanını, hətta sahib olduğu bir ünvanı da daxil edəcəyini təmin etmir.</strong>",
"send-validation-email": "E-poçt əlavə edildikdə və ya dəyişdirildikdə doğrulama e-poçtları göndər",
"include-unverified-emails": "E-poçtlarınııq şəkildə təsdiqləməmiş alıcılara e-poçt göndər",
"include-unverified-warning": "Defolt olaraq, hesabları ilə əlaqəli e-poçtları olan istifadəçilər artıq təsdiqlənib, lakin bunun belə olmadığı hallar var (məsələn, SSO girişləri, babalı istifadəçilər və s.). <strong>Bu parametri öz riskinizlə aktivləşdirin &ndash; yoxlanılmamış </strong>ünvanlara e-poçtların göndərilməsi regional anti-spam qanunlarının pozulması ola bilər.",
"prompt": "İstifadəçiləri e-poçtlarını daxil etməyə və ya təsdiq etməyə dəvət edin",
"prompt-help": "Əgər istifadəçinin e-poçtu yoxdursa və ya e-poçtu təsdiqlənməyibsə, ekranda xəbərdarlıq göstərilir.",
"sendEmailToBanned": "Ban edilmiş olsa belə, istifadəçilərə e-poçt göndərin"
}

View File

@@ -0,0 +1,63 @@
{
"general-settings": "Ümumi parametrlər",
"on-this-page": "Bu səhifədə:",
"site-settings": "Sayt parametrləri",
"title": "Saytın adı",
"title.short": "Qısa başlıq",
"title.short-placeholder": "Qısa başlıq göstərilməyibsə, saytın başlığından istifadə olunacaq",
"title.url": "Başlıq Linkinin URL-si",
"title.url-placeholder": "Saytın başlığının URL-i",
"title.url-help": "Başlığa kliklədikdə istifadəçiləri bu ünvana göndərin. Boş buraxılarsa, istifadəçi forum indeksinə göndəriləcək. Qeyd: Bu, e-poçtlarda istifadə olunan xarici URL deyil və s. Bu, config.json-da <code>url</code> xüsusiyyəti tərəfindən təyin edilir.",
"title.name": "İcma adınız",
"title.show-in-header": "Başlıqda sayt başlığını göstərin",
"browser-title": "Brauzerin adı",
"browser-title-help": "Brauzer başlığı göstərilməyibsə, saytın başlığından istifadə ediləcək",
"title-layout": "Başlıq tərtibatı",
"title-layout-help": "Brauzer başlığının necə qurulacağını müəyyənləşdirin, yəni. &#123;səhifəTitle&#125; | &#123;brauzerTitle&#125;",
"description.placeholder": "İcma haqqında qısa təsvir",
"description": "Sayt təsviri",
"keywords": "Saytın açar sözləri",
"keywords-placeholder": "İcmanızı təsvir edən açar sözlər, vergüllə ayrılmış",
"logo-and-icons": "Saytın loqosu və ikonaları",
"logo.image": "Şəkil",
"logo.image-placeholder": "Forumun başlığında göstəriləcək loqoya gedən yol",
"logo.upload": "Yüklə",
"logo.url": "Logo link URL",
"logo.url-placeholder": "Saytın loqosunun URL-i",
"logo.url-help": "Loqo kliklədikdə istifadəçiləri bu ünvana göndərin. Boş buraxılarsa, istifadəçi forum indeksinə göndəriləcək. <br>Qeyd: Bu, e-poçtlarda istifadə olunan xarici URL deyil və s. Bu, config.json-da <code>url </code>xüsusiyyəti tərəfindən təyin edilir.",
"logo.alt-text": "Alt Text",
"log.alt-text-placeholder": "Əlçatımlılıq üçün alternativ mətn",
"favicon": "Favicon",
"favicon.upload": "Yüklə",
"pwa": "Progressive Web App",
"touch-icon": "Toxunuş ikonu",
"touch-icon.upload": "Yüklə",
"touch-icon.help": "Tövsiyə olunan ölçü və format: 512x512, yalnız PNG formatı. Əgər toxunma ikonu göstərilməyibsə, NodeBB favikondan istifadə etməyə qayıdacaq.",
"maskable-icon": "Maskalana bilən (Ev ekranı) ikonu",
"maskable-icon.help": "Tövsiyə olunan ölçü və format: 512x512, yalnız PNG formatı. Əgər maskalana bilən ikona göstərilməyibsə, NodeBB yenidən Touch Icon-a düşəcək.",
"outgoing-links": ıxış linklər",
"outgoing-links.warning-page": "Gedən linklər xəbərdarlıq səhifəsindən istifadə edin",
"search": "Axtarış",
"search-default-in": "Axtarış",
"search-default-in-quick": "Sürətli axtarış",
"search-default-sort-by": "Sırala",
"outgoing-links.whitelist": "Xəbərdarlıq səhifəsindən yan keçmək üçün ağ siyahıya salınacaq domenlər",
"site-colors": "Sayt rəngi metaməlumatları",
"theme-color": "Mövzu rəngi",
"background-color": "Arxa fon rəngi",
"background-color-help": "Veb sayt PWA olaraq quraşdırıldıqda sıçrayış ekranı fonu üçün istifadə edilən rəng",
"undo-timeout": "Vaxt aşımını geri qaytar",
"undo-timeout-help": "Mövzuları köçürmək kimi bəzi əməliyyatlar moderatora müəyyən müddət ərzində öz hərəkətlərini ləğv etməyə imkan verəcək. Tamamilə geri qaytarmağı söndürmək üçün 0-a təyin edin.",
"topic-tools": "Mövzu alətləri",
"home-page": "Əsas səhifə",
"home-page-route": "Əsas səhifə marşrutu",
"home-page-description": "İstifadəçilər forumunuzun kök URL-inə keçdikdə hansı səhifənin göstəriləcəyini seçin.",
"custom-route": "Fərdi marşrut",
"allow-user-home-pages": "İstifadəçi ana səhifələrinə icazə ver",
"home-page-title": "Əsas səhifənin başlığı (defolt \"Home\")",
"default-language": "Defolt dil",
"auto-detect": "Qonaqlar üçün avtomatik təsbit dil parametri",
"default-language-help": "Defolt dil forumunuzu ziyarət edən bütün istifadəçilər üçün dil parametrlərini müəyyən edir. <br />Fərdi istifadəçilər öz hesab parametrləri səhifəsində defolt dili ləğv edə bilərlər.",
"post-sharing": "Yazı paylaşımı",
"info-plugins-additional": "Pluginlər yazıların paylaşılması üçün əlavə şəbəkələr əlavə edə bilər."
}

View File

@@ -0,0 +1,13 @@
{
"general": "Ümumi",
"private-groups": "Şəxsi qruplar",
"private-groups.help": "Aktivdirsə, qruplara qoşulmaq üçün qrup sahibinin təsdiqi tələb olunur <em>(Defolt: aktivdir)</em>",
"private-groups.warning": "<strong>Ehtiyatlı olun!</strong> Bu seçim qeyri-aktivdirsə və şəxsi qruplarınız varsa, onlar avtomatik olaraq ictimailəşir.",
"allow-multiple-badges": "Birdən çox nişanlara icazə ver",
"allow-multiple-badges-help": "Bu bayraq istifadəçilərə bir neçə qrup nişanı seçməyə icazə vermək üçün istifadə edilə bilər, mövzu dəstəyi tələb edir.",
"max-name-length": "Qrup adının maksimum uzunluğu",
"max-title-length": "Qrup başlığının maksimum uzunluğu",
"cover-image": "Qrup örtük şəkili",
"default-cover": "Defolt örtük şəkilləri",
"default-cover-help": "Yüklənmiş örtük şəkli olmayan qruplar üçün vergüllə ayrılmış defolt örtük şəkilləri əlavə edin"
}

View File

@@ -0,0 +1,26 @@
{
"navigation": "Naviqasiya",
"icon": "İkon:",
"change-icon": "dəyiş",
"route": "Marşrut:",
"tooltip": "İpucu:",
"text": "Mətn:",
"text-class": "Mətn sinfi: <small>istəyə görə</small>",
"class": "Sinif: <small>istəyə görə</small>",
"id": "ID: <small>istəyə görə</small>",
"properties": "Xüsusiyyətlər:",
"show-to-groups": "Qruplara göstər:",
"open-new-window": "Yeni pəncərədə aç",
"dropdown": "Açılan siyahı",
"dropdown-placeholder": "Aşağıılan menyu elementlərinizi yerləşdirin, yəni:<br/> &lt;li&gt;&lt;a class=&quot;açılan element&quot; href&#x3D;&quot;https://myforum.com&quot;&gt;Link 1&lt;/a&gt;&lt;/li&gt;",
"btn.delete": "Sil",
"btn.disable": "Qeyri-aktiv et",
"btn.enable": "Aktivləşdir",
"available-menu-items": "Mövcud menyu elementləri",
"custom-route": "Fərdi marşrut",
"core": "özək",
"plugin": "plagin"
}

View File

@@ -0,0 +1,7 @@
{
"notifications": "Bildirişlər",
"welcome-notification": "Xoş gəlmisiniz bildirişi",
"welcome-notification-link": "Xoş gəlmisiniz bildiriş linki",
"welcome-notification-uid": "Xoş gəlmisiniz bildiriş istifadəçisi (UID)",
"post-queue-notification-uid": "Yazı növbəsi istifadəçisi (UID)"
}

View File

@@ -0,0 +1,12 @@
{
"pagination": "Səhifələmə parametrləri",
"enable": "Sonsuz sürüşdürmə əvəzinə mövzuları və yazıları səhifələşdirin",
"posts": "Yazıların səhifələndirilməsi",
"topics": "Mövzunun səhifələndirilməsi",
"posts-per-page": "Səhifə üzrə yazılar",
"max-posts-per-page": "Səhifə başına maksimum yazı",
"categories": "Kateqoriya səhifələmə",
"topics-per-page": "Səhifə üzrə mövzular",
"max-topics-per-page": "Səhifə başına maksimum mövzular",
"categories-per-page": "Səhifə başına kateqoriyalar"
}

View File

@@ -0,0 +1,64 @@
{
"general": "Ümumi",
"sorting": "Yazıların çeşidlənməsi",
"sorting.post-default": "Defolt yazı çeşidlənməsi",
"sorting.oldest-to-newest": "Ən köhnədən yeniyə",
"sorting.newest-to-oldest": "Ən yenidən köhnəyə",
"sorting.recently-replied": "Son cavablandırılmış",
"sorting.recently-created": "Son yaradılmış",
"sorting.most-votes": "Ən çox səs",
"sorting.most-posts": "Ən çox yazı",
"sorting.most-views": "Ən çox baxış",
"sorting.topic-default": "Defolt mövzu çeşidləmə",
"length": "Yazının uzunluğu",
"post-queue": "Yazı növbəsi",
"restrictions": "Göndərmə məhdudiyyətləri",
"restrictions.post-queue": "Yazı növbəsini aktivləşdir",
"restrictions.post-queue-rep-threshold": "Yazı növbəsini keçmək üçün reputasiya tələb olunur",
"restrictions.groups-exempt-from-post-queue": "Yazı növbəsindən azad edilməli qrupları seçin",
"restrictions-new.post-queue": "Yeni istifadəçi məhdudiyyətlərini aktivləşdir",
"restrictions.post-queue-help": "Yazı növbəsinin aktivləşdirilməsi yeni istifadəçilərin yazılarını təsdiq üçün növbəyə qoyacaq",
"restrictions-new.post-queue-help": "Yeni istifadəçi məhdudiyyətlərinin aktivləşdirilməsi yeni istifadəçilər tərəfindən yaradılan yazılara məhdudiyyətlər qoyacaq",
"restrictions.seconds-between": "Yazılar arasındakı saniyələrin sayı",
"restrictions.seconds-edit-after": "Yazının redaktə edilə bilən saniyə sayı (deaktiv etmək üçün 0-a təyin edin)",
"restrictions.seconds-delete-after": "Yazının silinə biləcəyi saniyə sayı (deaktiv etmək üçün 0-a təyin edin)",
"restrictions.replies-no-delete": "İstifadəçilərə öz mövzularını silməyə icazə verildikdən sonra cavabların sayı (deaktiv etmək üçün 0-a təyin edilir)",
"restrictions.title-length": "Başlığın uzunluğu",
"restrictions.post-length": "Yazının uzunluğu",
"restrictions.days-until-stale": "Mövzunun köhnəlmiş sayılmasına qədər olan günlər",
"restrictions.stale-help": "Mövzu \"köhnə\" hesab edilərsə, həmin mövzuya cavab verməyə cəhd edən istifadəçilərə xəbərdarlıq göstərilir. (deaktiv etmək üçün 0-a təyin edin)",
"timestamp": "Timestamp",
"timestamp.cut-off": "Kəsilmə tarixi (günlərlə)",
"timestamp.cut-off-help": "Tarixlər &amp; vaxtlar nisbi şəkildə göstəriləcək (məsələn, \"3 saat əvvəl\" / \"5 gün əvvəl\") və müxtəlif vaxtlarda lokallaşdırılacaq\n\t\t\t\t\tdillər. Müəyyən bir nöqtədən sonra bu mətn lokallaşdırılmış tarixin özünü göstərmək üçün dəyişdirilə bilər\n\t\t\t\t\t(məsələn, 5 noyabr 2016-cı il 15:30).<br /><em>(Defolt: <code>30</code> və ya bir ay). Tarixləri həmişə göstərmək üçün 0-a təyin edin, həmişə nisbi vaxtları göstərmək üçün boş buraxın.</em>",
"timestamp.necro-threshold": "Necro Threshold (in days)",
"timestamp.necro-threshold-help": "Mesajlar arasındakı vaxt nekro həddindən artıq olarsa, mesajlar arasında mesaj göstərilir. (Defolt: <code>7</code> və ya bir həftə). Deaktiv etmək üçün 0-a təyin edin.</em>",
"timestamp.topic-views-interval": "Mövzuya baxış intervalını artır (dəqiqələrlə)",
"timestamp.topic-views-interval-help": "Mövzu baxışları bu parametrlə müəyyən edildiyi kimi yalnız hər X dəqiqədə bir dəfə artırılacaq.",
"teaser": "Tizer post",
"teaser.last-post": "Son &ndash; Cavab yoxdursa, orijinal yazı da daxil olmaqla, ən son yazını göstər",
"teaser.last-reply": "Son &ndash; Ən son cavabı və ya cavab yoxdursa, \"Cavab yoxdur\" yerini göstər",
"teaser.first": "Birinci",
"showPostPreviewsOnHover": "Siçan yuxarı qalxdıqda yazıların önizləməsini göstər",
"unread-and-recent": "Oxunmamış və son parametrlər",
"unread.cutoff": "Oxunmamış kəsilmə günləri",
"unread.min-track-last": "Son oxunuşu izləmədən əvvəl mövzuda minimum yazılar",
"recent.max-topics": "Maksimum mövzular son",
"recent.categoryFilter.disable": "Son səhifədə nəzərə alınmayan kateqoriyalardakı mövzuların filtrasiyasını deaktiv edin",
"signature": "İmza parametrləri",
"signature.disable": "İmzaları söndür",
"signature.no-links": "İmzalardakı bağlantıları deaktiv et",
"signature.no-images": "İmzalardakı şəkilləri söndür",
"signature.hide-duplicates": "Mövzularda dublikat imzaları gizlət",
"signature.max-length": "Maksimum imza uzunluğu",
"composer": "Bəstəkar parametrləri",
"composer-help": "Aşağıdakı parametrlər göstərilən post bəstəkarının funksionallığını və/yaxud görünüşünü idarə edir\n\t\t\t\tistifadəçilərə yeni mövzular yaratdıqda və ya mövcud mövzulara cavab verdikdə.",
"composer.show-help": "\"Yardım\" tabını göstər",
"composer.enable-plugin-help": "Pluginlərə kömək tabına məzmun əlavə etməyə icazə ver",
"composer.custom-help": "Fərdi yardım mətni",
"backlinks": "Geri bağlantılar",
"backlinks.enabled": "Mövzu geri bağlantılarını aktivləşdir",
"backlinks.help": "Əgər yazı başqa mövzuya istinad edirsə, həmin anda həmin yazıya geri keçid istinad edilən mövzuya daxil ediləcək.",
"ip-tracking": "IP İzləmə",
"ip-tracking.each-post": "Hər yazı üçün IP ünvanını izlə",
"enable-post-history": "Post tarixçəsini aktivləşdir"
}

View File

@@ -0,0 +1,43 @@
{
"reputation": "Reputasiya parametrləri",
"disable": "Reputasiya sistemini deaktiv et",
"disable-down-voting": "Aşağı səsverməni deaktiv et",
"upvote-visibility": "Səs görmə qabiliyyətini artırın",
"upvote-visibility-all": "Hər kəs səsləri görə bilər",
"upvote-visibility-loggedin": "Yalnız sistemə daxil olan istifadəçilər səsləri görə bilər",
"upvote-visibility-privileged": "Yalnız adminlər və moderatorlar kimi imtiyazlı istifadəçilər müsbət səsləri görə bilər",
"downvote-visibility": "Aşağı səsvermə görünürlüğü",
"downvote-visibility-all": "Hər kəs aşağı səsləri görə bilər",
"downvote-visibility-loggedin": "Yalnız daxil olan istifadəçilər aşağı səsləri görə bilər",
"downvote-visibility-privileged": "Yalnız adminlər və moderatorlar kimi imtiyazlı istifadəçilər aşağı səsləri görə bilər",
"thresholds": "Fəaliyyət hədləri",
"min-rep-upvote": "Yazılara səs vermək üçün minimum reputasiya",
"upvotes-per-day": "Gündə müsbət səslər (məhdud olmayan müsbət səslər üçün 0-a təyin et)",
"upvotes-per-user-per-day": "Gündə istifadəçi başına müsbət səslər (məhdud olmayan müsbət səslər üçün 0-a təyin et)",
"min-rep-downvote": "Yazılara mənfi səs vermək üçün minimum reputasiya",
"downvotes-per-day": "Gündə mənfi səslər (məhdud mənfi səslər üçün 0-a təyin et)",
"downvotes-per-user-per-day": "Gündə bir istifadəçi üçün mənfi səslər (məhdud mənfi səslər üçün 0-a təyin et)",
"min-rep-chat": "Söhbət mesajları göndərmək üçün minimum reputasiya",
"min-rep-post-links": "Linkləri yerləşdirmək üçün minimum reputasiya",
"min-rep-flag": "Yazılara bayraq qoymaq üçün minimum reputasiya",
"min-rep-aboutme": "İstifadəçi profilinə \"Haqqımda\" əlavə etmək üçün minimum reputasiya",
"min-rep-signature": "İstifadəçi profilinə \"İmza\" əlavə etmək üçün minimum reputasiya",
"min-rep-profile-picture": "İstifadəçi profilinə \"Profil Şəkili\" əlavə etmək üçün minimum reputasiya",
"min-rep-cover-picture": "İstifadəçi profilinə \"Örtük şəkli\" əlavə etmək üçün minimum reputasiya",
"flags": "Bayraq parametrləri",
"flags.limit-per-target": "Bir şeyin işarələnə biləcəyi maksimum sayı",
"flags.limit-per-target-placeholder": "Defolt: 0",
"flags.limit-per-target-help": "Yazı və ya istifadəçi dəfələrlə işarələndikdə, hər bir əlavə bayraq &quot;hesabat&quot; və orijinal bayrağına əlavə edildi. Elementin qəbul edə biləcəyi hesabatların sayını məhdudlaşdırmaq üçün bu seçimi sıfırdan başqa bir rəqəmə təyin edin.",
"flags.limit-post-flags-per-day": "Bir istifadəçinin bir gündə yazıları qeyd edə biləcəyi maksimum sayı",
"flags.limit-post-flags-per-day-help": "Deaktiv etmək üçün 0-a təyin edin, (defolt: 10)",
"flags.limit-user-flags-per-day": "Bir istifadəçinin gündə maksimum neçə dəfə istifadəçiləri işarələyə bilər",
"flags.limit-user-flags-per-day-help": "Deaktiv etmək üçün 0-a təyin edin, (defolt: 10)",
"flags.auto-flag-on-downvote-threshold": "Avtomatik bayraq yazılarına mənfi səslərin sayı",
"flags.auto-flag-on-downvote-threshold-help": "Deaktiv etmək üçün 0-a təyin edin, (defolt: 0)",
"flags.auto-resolve-on-ban": "İstifadəçinin bütün biletləri qadağan olunduqda onları avtomatik həll edin",
"flags.action-on-resolve": "Bayraq həll edildikdə aşağıdakıları edin",
"flags.action-on-reject": "Bayraq rədd edildikdə aşağıdakıları edin",
"flags.action.nothing": "Heç nə etmə",
"flags.action.rescind": "Moderatorlara/inzibatçılara göndərilən bildirişi ləğv et"
}

View File

@@ -0,0 +1,6 @@
{
"reconnection": "Yenidən qoşulma parametrləri",
"max-attempts": "Maksimum yenidən qoşulma cəhdləri",
"default-placeholder": "Defolt: %1",
"delay": "Yenidən qoşulma gecikməsi"
}

View File

@@ -0,0 +1,9 @@
{
"notifications": "Bildirişlər",
"chat-messages": "Söhbət mesajları",
"play-sound": "Oynat",
"incoming-message": "Gələn mesaj",
"outgoing-message": "Gedən mesaj",
"upload-new-sound": "Yeni səs yüklə",
"saved": "Parametrlər yadda saxlandı"
}

View File

@@ -0,0 +1,13 @@
{
"tag": "Teq parametrləri",
"link-to-manage": "Teqləri idarə et",
"system-tags": "Sistem teqləri",
"system-tags-help": "Bu teqlərdən yalnız imtiyazlı istifadəçilər istifadə edə biləcəklər.",
"tags-per-topic": "Mövzu başına teqlər",
"min-per-topic": "Mövzu üzrə minimum teqlər",
"max-per-topic": "Mövzu üzrə maksimum teqlər",
"min-length": "Minimum teq uzunluğu",
"max-length": "Maksimum teq uzunluğu",
"related-topics": "Əlaqəli mövzular",
"max-related-topics": "Göstəriləcək maksimum əlaqəli mövzular (tema tərəfindən dəstəklənirsə)"
}

View File

@@ -0,0 +1,47 @@
{
"posts": "Yazılar",
"orphans": "Yetim sənədlər",
"private": "Yüklənmiş faylları şəxsi et",
"strip-exif-data": "EXIF məlumatlarını ayır",
"preserve-orphaned-uploads": "Yazı təmizləndikdən sonra yüklənmiş faylları diskdə saxla",
"orphanExpiryDays": "Yetim faylları saxlamaq üçün günlər",
"orphanExpiryDays-help": "Bu bir çox gündən sonra, yetim qalmış yükləmələr fayl sistemindən silinəcək. <br />0 təyin edin və ya söndürmək üçün boş buraxın.",
"private-extensions": "Şəxsi etmək üçün fayl genişləndirmələri",
"private-uploads-extensions-help": "Şəxsi etmək üçün fayl uzantılarının vergüllə ayrılmış siyahısını daxil edin (məsələn, <code>pdf, xls, doc</code>). Boş siyahı bütün faylların şəxsi olduğunu bildirir.",
"resize-image-width-threshold": "Göstərilən genişlikdən daha geniş olan şəkillərin ölçüsünü dəyişdir",
"resize-image-width-threshold-help": "(piksellə, defolt: 2000 piksel, söndürmək üçün 0-a təyin edin)",
"resize-image-width": "Şəkillərin ölçüsünü müəyyən edilmiş enə qədər dəyişdir",
"resize-image-width-help": "(piksellə, defolt: 760 piksel, söndürmək üçün 0-a təyin et)",
"resize-image-keep-original": "Ölçüsü dəyişdirildikdən sonra orijinal şəkli saxla",
"resize-image-quality": "Şəkillərin ölçüsünü dəyişdirərkən istifadə ediləcək keyfiyyət",
"resize-image-quality-help": "Ölçüsü dəyişdirilmiş şəkillərin fayl ölçüsünü azaltmaq üçün daha aşağı keyfiyyətli parametrdən istifadə edin.",
"max-file-size": "Maksimum fayl ölçüsü (KiB ilə)",
"max-file-size-help": "(kibibaytla, defolt: 2048 KiB)",
"reject-image-width": "Maksimum şəkil eni (piksellə)",
"reject-image-width-help": "Bu dəyərdən daha geniş şəkillər rədd ediləcək.",
"reject-image-height": "Maksimum şəklin hündürlüyü (piksellə)",
"reject-image-height-help": "Bu dəyərdən yüksək olan şəkillər rədd ediləcək.",
"allow-topic-thumbnails": "İstifadəçilərə mövzu miniatürlərini yükləməyə icazə ver",
"show-post-uploads-as-thumbnails": "Show post uploads as thumbnails",
"topic-thumb-size": "Mövzu thumb ölçüsü",
"allowed-file-extensions": "İcazə verilən fayl uzantıları",
"allowed-file-extensions-help": "Fayl uzantılarının vergüllə ayrılmış siyahısını buraya daxil edin (məsələn, <code>pdf, xls, doc</code>). Boş siyahı bütün genişləndirmələrə icazə verildiyini bildirir.",
"upload-limit-threshold": "İstifadəçi yükləmələri üçün limit:",
"upload-limit-threshold-per-minute": "%1 dəqiqəyə",
"upload-limit-threshold-per-minutes": "%1 dəqiqəyə",
"profile-avatars": "Profil avatarları",
"allow-profile-image-uploads": "İstifadəçilərə profil şəkillərini yükləməyə icazə ver",
"convert-profile-image-png": "Profil şəklini PNG formatına çevir",
"default-avatar": "Fərdi defolt avatar",
"upload": "Yüklə",
"profile-image-dimension": "Profil şəklinin ölçüsü",
"profile-image-dimension-help": "(piksellə, defolt: 128 piksel)",
"max-profile-image-size": "Maksimum profil şəkli fayl ölçüsü",
"max-profile-image-size-help": "(kibibaytla, defolt: 256 KiB)",
"max-cover-image-size": "Maksimum örtük şəklin ölçüsü",
"max-cover-image-size-help": "(kibibaytla, defolt: 2,048 KiB)",
"keep-all-user-images": "Avatarların və profil örtüklərinin köhnə versiyalarını serverdə saxla",
"profile-covers": "Profil örtükləri",
"default-covers": "Defolt örtük şəkilləri",
"default-covers-help": "Yüklənmiş örtük şəkli olmayan hesablar üçün vergüllə ayrılmış defolt örtük şəkilləri əlavə et"
}

View File

@@ -0,0 +1,98 @@
{
"authentication": "Autentifikasiya",
"email-confirm-interval": "İstifadəçi təsdiq e-poçtunu yenidən göndərə bilməz",
"email-confirm-interval2": "dəqiqə keçib",
"allow-login-with": "Daxil olmağa icazə verin",
"allow-login-with.username-email": "İstifadəçi adı və ya E-poçt",
"allow-login-with.username": "Sadəcə istifadəçi adı",
"account-settings": "Hesab parametrləri",
"gdpr-enabled": "GDPR razılığının toplanmasına icazə ver",
"gdpr-enabled-help": "Aktivləşdirildikdə, bütün yeni qeydiyyatdan keçənlərdən <a href=\"https://ec.europa.eu/info/priorities/justice-and-fundamental-rights/data-protection/2018-reform-eu-data-protection-rules/eu-data-protection-rules_en\">Ümumi Məlumatların Qorunması Qaydalarına (GDPR)</a> əsasən məlumatların toplanması və istifadəsi üçün açıq şəkildə razılıq vermələri tələb olunacaq. <strong>Qeyd</strong>: GDPR-nin aktivləşdirilməsi əvvəlcədən mövcud olan istifadəçiləri razılıq verməyə məcbur etmir. Bunu etmək üçün GDPR plaginini quraşdırmalısınız.",
"disable-username-changes": "İstifadəçi adı dəyişikliklərini deaktiv et",
"disable-email-changes": "E-poçt dəyişikliklərini deaktiv et",
"disable-password-changes": "Parol dəyişikliklərini deaktiv et",
"allow-account-deletion": "Hesabın silinməsinə icazə ver",
"hide-fullname": "Tam adı istifadəçilərdən gizlət",
"hide-email": "İstifadəçilərdən e-poçtu gizlət",
"show-fullname-as-displayname": "Əgər varsa, istifadəçinin tam adını onun ekran adı kimi göstər",
"themes": "Mövzular",
"disable-user-skins": "İstifadəçilərin fərdi örtük seçmələrinin qarşısını al",
"account-protection": "Hesabın qorunması",
"admin-relogin-duration": "Admin yenidən daxil olma müddəti (dəqiqə)",
"admin-relogin-duration-help": "Müəyyən vaxtdan sonra admin bölməsinə daxil olmaq üçün yenidən giriş tələb olunacaq, onu söndürmək üçün 0-a təyin edin",
"login-attempts": "Hər saatda daxil olmaq cəhdləri",
"login-attempts-help": "Əgər istifadəçinin hesabına giriş cəhdləri bu həddi keçərsə, həmin hesab əvvəlcədən konfiqurasiya edilmiş müddət ərzində kilidlənəcək.",
"lockout-duration": "Hesabın kilidlənməsi müddəti (dəqiqələr)",
"login-days": "İstifadəçinin giriş seanslarını xatırlamaq üçün günlər",
"password-expiry-days": "Müəyyən günlərdən sonra parol sıfırlamağa məcbur et",
"session-time": "Sessiya vaxtı",
"session-time-days": "Günlər",
"session-time-seconds": "Saniyələr",
"session-time-help": "Bu dəyərlər istifadəçinin &quot;Məni yadda saxla&quot; girişdə. Qeyd edək ki, bu dəyərlərdən yalnız biri istifadə olunacaq. Əgər <i>saniyə</i> dəyəri yoxdursa, <i>günlərə</i> qayıdırıq. <i>Gün</i> dəyəri yoxdursa, defolt olaraq <i>14 gündür</i>.",
"session-duration": "\"Məni Xatırla\" işarəsi seçilməyibsə, sessiyanın uzunluğu (saniyələr)",
"session-duration-help": "Defolt olaraq - və ya 0-a təyin olunarsa, istifadəçi sessiya müddətində daxil olaraq qalacaq (məsələn, brauzer pəncərəsi/tabı nə qədər açıq qalsa da). Müəyyən edilmiş saniyə sayından sonra sessiyanııq şəkildə etibarsız etmək üçün bu dəyəri təyin edin.",
"online-cutoff": "İstifadəçidən bir neçə dəqiqə sonra qeyri-aktiv hesab edilir",
"online-cutoff-help": "İstifadəçi bu müddət ərzində heç bir hərəkət etməzsə, onlar qeyri-aktiv sayılır və real vaxt yeniləmələrini almırlar.",
"registration": "İstifadəçinin qeydiyyatı",
"registration-type": "Qeydiyyat növü",
"registration-approval-type": "Qeydiyyatın təsdiqi növü",
"registration-type.normal": "Normal",
"registration-type.admin-approval": "Administrator təsdiqi",
"registration-type.admin-approval-ip": "IP-lər üçün admin təsdiqi",
"registration-type.invite-only": "Yalnız dəvət ilə",
"registration-type.admin-invite-only": "Yalnız admin dəvəti ilə",
"registration-type.disabled": "Qeydiyyat bağlıdır",
"registration-type.help": "Normal - İstifadəçilər /register səhifəsindən qeydiyyatdan keçə bilərlər.<br/>\nYalnız Dəvət Et - İstifadəçilər <a href=\"%1/users\" target=\"_blank\">istifadəçilər</a> səhifəsindən başqalarını dəvət edə bilərlər.<br/>\nYalnız Admin Dəvət - Yalnız administratorlar <a href=\"%1/users\" target=\"_blank\">istifadəçilərdən</a> və <a href=\"%1/admin/manage/users\">admin/idarə/istifadəçi</a> səhifələrindən başqalarını dəvət edə bilər<br/>\nQeydiyyat yoxdur - İstifadəçi qeydiyyatı yoxdur.<br/>",
"registration-approval-type.help": "Normal - İstifadəçilər dərhal qeydiyyatdan keçirlər<br/>.\nAdmin Təsdiqi - İstifadəçi qeydiyyatları administratorlar üçün <a href=\"%1/admin/manage/registration\">təsdiq növbəsinə</a> yerləşdirilir<br/>.\nIP-lər üçün Admin Təsdiqi - Yeni istifadəçilər üçün normal, artıq hesabı olan IP ünvanları üçün Admin Təsdiqi.<br/>",
"registration-queue-auto-approve-time": "Avtomatik təsdiqləmə vaxtı",
"registration-queue-auto-approve-time-help": "İstifadəçinin avtomatik təsdiqlənməsindən bir neçə saat əvvəl. Deaktiv etmək üçün 0.",
"registration-queue-show-average-time": "İstifadəçilərə yeni istifadəçinin təsdiqlənməsi üçün tələb olunan orta vaxtı göstər",
"registration.max-invites": "İstifadəçi başına maksimum dəvətlər",
"max-invites": "İstifadəçi başına maksimum dəvətlər",
"max-invites-help": "Heç bir məhdudiyyət üçün 0. Adminlər sonsuz dəvət alırlar.Yalnız \"Yalnız Dəvət Et\" üçün keçərlidir",
"invite-expiration": "Dəvət müddəti bitməsi",
"invite-expiration-help": "Dəvətlərin müddəti # gündür.",
"min-username-length": "Minimum istifadəçi adı uzunluğu",
"max-username-length": "Maksimum istifadəçi adı uzunluğu",
"min-password-length": "Minimum şifrə uzunluğu",
"min-password-strength": "Minimum şifrə uzunluğu",
"max-about-me-length": "Haqqımda maksimum uzunluq",
"terms-of-use": "Forum İstifadə Şərtləri <small>(deaktiv etmək üçün boş buraxın)</small>",
"user-search": "İstifadəçi axtarışı",
"user-search-results-per-page": "Axtarış nəticələrində göstəriləcək istifadəçilərin sayı",
"default-user-settings": "Defolt istifadəçi parametrləri",
"show-email": "E-poçtu göstər",
"show-fullname": "Tam adı göstər",
"restrict-chat": "Yalnız izlədiyim istifadəçilərdən gələn söhbət mesajlarına icazə ver",
"disable-incoming-chats": "Disable incoming chat messages",
"outgoing-new-tab": "Gedən bağlantıları yeni tabda açın",
"topic-search": "Mövzudaxili axtarışı aktivləşdir",
"update-url-with-post-index": "Mövzulara baxarkən url-i post indeksi ilə yenilə",
"digest-freq": "Digest-ə abunə ol",
"digest-freq.off": "Söndür",
"digest-freq.daily": "Gündəlik",
"digest-freq.weekly": "Həftəlik",
"digest-freq.biweekly": "İki həftədə bir",
"digest-freq.monthly": "Aylıq",
"email-chat-notifs": "Yeni söhbət mesajı gəlsə və mən onlayn deyiləmsə, e-poçt göndər",
"email-post-notif": "Abunə olduğum mövzulara cavablar verildikdə e-məktub göndər",
"follow-created-topics": "Yaratdığınız mövzuları izlə",
"follow-replied-topics": "Cavab verdiyiniz mövzuları izlə",
"default-notification-settings": "Defolt bildiriş parametri",
"categoryWatchState": "Defolt kateqoriya izləmə vəziyyəti",
"categoryWatchState.tracking": "İzlənir",
"categoryWatchState.notwatching": "İzlənilirmir",
"categoryWatchState.ignoring": "İqnor edilir",
"restrictions-new": "Yeni istifadəçi məhdudiyyətləri",
"restrictions.rep-threshold": "Bu məhdudiyyətlər götürülməzdən əvvəl reputasiya həddinə çatmaq",
"restrictions.seconds-between-new": "Yeni istifadəçilər üçün yazılar arasında saniyələr",
"restrictions.seconds-before-new": "Yeni istifadəçinin ilk postunu yazmasına saniyələr qalmış",
"restrictions.seconds-edit-after-new": "Yazının yeni istifadəçilər üçün redaktə edilə biləcəyi saniyələrin sayı (deaktiv etmək üçün 0-a təyin edilir)",
"restrictions.milliseconds-between-messages": "Yeni istifadəçilər üçün söhbət mesajları arasındakı vaxt (ms)",
"restrictions.groups-exempt-from-new-user-restrictions": "Yeni istifadəçi məhdudiyyətlərindən azad edilməli qruplar seçin",
"guest-settings": "Qonaq parametrləri",
"handles.enabled": "Qonaq qulplarına icazə ver",
"handles.enabled-help": "Bu seçim qonaqlara yazdıqları hər yazı ilə əlaqələndirmək üçün ad seçməyə imkan verən yeni sahəni açır. Əgər əlil olarsa, onlar sadəcə olaraq \"Qonaq\" adlanacaqlar.",
"topic-views.enabled": "Qonaqlara mövzuya baxış sayını artırmağa icazə ver",
"reply-notifications.enabled": "Qonaqlara cavab bildirişləri yaratmağa icazə ver"
}

View File

@@ -0,0 +1,10 @@
{
"crawlability-settings": "Taranma parametrləri",
"robots-txt": "Xüsusi Robots.txt <small>Defolt olaraq boş buraxın</small>",
"sitemap-feed-settings": "Sayt xəritəsi və Lent Parametrləri",
"disable-rss-feeds": "RSS Lentlərini söndür",
"disable-sitemap-xml": "Sitemap.xml-ni deaktiv et",
"sitemap-topics": "Sayt xəritəsində göstəriləcək mövzuların sayı",
"clear-sitemap-cache": "Sayt xəritəsi keşini təmizlə",
"view-sitemap": "Saytın Xəritəsinə bax"
}

View File

@@ -0,0 +1,9 @@
{
"post-sort-option": "Yazı çeşidləmə seçimi, %1",
"topic-sort-option": "Mövzu çeşidləmə seçimi, %1",
"user-avatar-for": "%1 üçün istifadəçi avatarı",
"profile-page-for": "%1 istifadəçisi üçün profil səhifəsi",
"user-watched-tags": "İstifadəçinin izlədiyi təqlər",
"delete-upload-button": "Yükləmə düyməsini silmək",
"group-page-link-for": "%1 üçün qrup səhifəsi linki"
}

View File

@@ -0,0 +1,30 @@
{
"category": "Kateqoriya",
"subcategories": "Alt kateqoriyalar",
"uncategorized": "Kateqoriyasız",
"uncategorized.description": "Mövcud kateqoriyalara tam uyğun gəlməyən mövzular",
"handle.description": "Bu kateqoriya açıq sosial şəbəkədən %1 idarəsi vasitəsilə izlənilə bilər",
"new-topic-button": "Yeni mövzu",
"guest-login-post": "Yazmaq üçün daxil ol",
"no-topics": "Bu kateqoriyada heç bir mövzu yoxdur. Niyə birini dərc etməyə cəhd etmirsiz?",
"no-followers": "Nobody on this website is tracking or watching this category. Track or watch this category in order to begin receiving updates.",
"browsing": "gözdən keçirmə",
"no-replies": "Heç kim cavab yazmayıb",
"no-new-posts": "Yeni yazı yoxdur.",
"watch": "İzlə",
"ignore": "İqnor et",
"watching": "İzlənilir",
"tracking": "İzlənir",
"not-watching": "İzlənilirmir",
"ignoring": "İqnor edilir",
"watching.description": "Yeni cavablar barədə mənə bildirin. <br/>Mövzuları oxunmamış və ən yenilərdə göstərin",
"tracking.description": "Mövzuları oxunmamış və ən yenilərdə göstərin",
"not-watching.description": "Mövzuları oxunmamış halda göstərməyin, son olaraq göstərin",
"ignoring.description": "Mövzuları oxunmamış və ən yenilərdə göstərməyin",
"watching.message": "İndi bu kateqoriyadan və bütün altkateqoriyalardan olan yeniləmələri izləyirsiniz",
"tracking.message": "İndi bu kateqoriyadan və bütün altkateqoriyalardan yenilənmələri izləyirsiniz",
"notwatching.message": "Siz bu kateqoriyadan və bütün altkateqoriyalardan olan yeniləmələri izləmirsiniz",
"ignoring.message": "İndi bu kateqoriyadan və bütün alt kateqoriyalardan olan yeniləmələrə iqnor qoymursunuz",
"watched-categories": "İzlənilən kateqoriyalar",
"x-more-categories": "daha %1 kateqoriya"
}

View File

@@ -0,0 +1,61 @@
{
"test-email.subject": "E-poçtu test et",
"password-reset-requested": "Şifrənin sıfırlanması istənilir!",
"welcome-to": "%1-ə xoş gəlmisiniz",
"invite": "%1-dən dəvət",
"greeting-no-name": "Salam",
"greeting-with-name": "Salam %1",
"email.verify-your-email.subject": "E-poçtunuzu təsdiqləyin",
"email.verify.text1": "Siz e-poçt ünvanınızı dəyişdirməyimizi və ya təsdiq etməyimizi xahiş etmisiniz",
"email.verify.text2": "Təhlükəsizlik məqsədləri üçün biz fayldakı e-poçt ünvanını yalnız onun mülkiyyəti e-poçt vasitəsilə təsdiqləndikdən sonra dəyişdiririk və ya təsdiq edirik. <strong>Əgər siz bunu tələb etməmisinizsə, sizin tərəfinizdən heç bir tədbir tələb olunmur.</strong>",
"email.verify.text3": "Siz bu e-poçt ünvanını təsdiqlədikdən sonra cari e-poçt ünvanınızı bu (%1) ilə əvəz edəcəyik.",
"welcome.text1": "%1 ilə qeydiyyatdan keçdiyiniz üçün təşəkkür edirik!",
"welcome.text2": "Hesabınızı tam aktivləşdirmək üçün qeydiyyatdan keçdiyiniz e-poçt ünvanına sahib olduğunuzu təsdiq etməliyik.",
"welcome.text3": "Administrator qeydiyyat ərizənizi qəbul etdi. İndi istifadəçi adınız/şifrəniz ilə daxil ola bilərsiniz.",
"welcome.cta": "E-poçt ünvanınızı təsdiqləmək üçün bura klikləyin",
"invitation.text1": "%1 sizi %2-yə qoşulmağa dəvət etdi",
"invitation.text2": "Dəvətinizin vaxtı %1 günə bitəcək.",
"invitation.cta": "Hesab yaratmaq üçün bura vurun. ",
"reset.text1": "Şifrənizi unutmusunuz deyə, şifrənizi sıfırlamaq üçün sorğu aldıq. Əgər belə deyilsə, lütfən, bu e-məktubu iqnor edin.",
"reset.text2": "Şifrənin sıfırlanmasına davam etmək üçün aşağıdakı linkə klikləyin:",
"reset.cta": "Şifrənizi sıfırlamaq üçün buraya klikləyin",
"reset.notify.subject": "Şifrə uğurla dəyişdirildi",
"reset.notify.text1": "%1-də şifrənizin uğurla dəyişdirildiyini sizə bildiririk.",
"reset.notify.text2": "Əgər buna icazə verməmisinizsə, dərhal administratoru xəbərdar edin.",
"digest.unread-rooms": "Oxunmamış otaqlar",
"digest.room-name-unreadcount": "%1 (%2 oxunmamış)",
"digest.latest-topics": "%1-dən ən son mövzular",
"digest.top-topics": "%1-dən ən yaxşı mövzular",
"digest.popular-topics": "%1-dən populyar mövzular",
"digest.cta": "%1-ə daxil olmaq üçün buraya klikləyin",
"digest.unsub.info": "Abunəlik ayarlarınıza görə bu həzm sizə göndərilib.",
"digest.day": "gün",
"digest.week": "həftə",
"digest.month": "ay",
"digest.subject": "%1 üçün həzm",
"digest.title.day": "Gündəlik həzminiz",
"digest.title.week": "Həftəlik həzminiz",
"digest.title.month": "Aylıq həzminiz",
"notif.chat.new-message-from-user": "\"% 1\"dən yeni mesaj",
"notif.chat.new-message-from-user-in-room": "%2 otaqdakı %1-dən yeni mesaj",
"notif.chat.cta": "Söhbəti davam etdirmək üçün buraya klikləyin",
"notif.chat.unsub.info": "Bu söhbət bildirişi abunəlik ayarlarınıza görə sizə göndərilib.",
"notif.post.unsub.info": "Bu yazı bildirişi abunəlik ayarlarınıza görə sizə göndərilib.",
"notif.post.unsub.one-click": "Alternativ olaraq, klikləməklə bu kimi gələcək e-poçtların abunəliyini ləğv edin",
"notif.cta": "Foruma keç",
"notif.cta-new-reply": "Yazıya bax",
"notif.cta-new-chat": "Söhbətə bax",
"notif.test.short": "Test bildirişləri",
"notif.test.long": "Bu, bildirişlər e-poçtunun sınağıdır. Yardım göndər!",
"test.text1": "Bu e-poçt göndəricinin NodeBB üçün düzgün qurulduğunu yoxlamaq üçün test e-poçtudur.",
"unsub.cta": "Parametrləri dəyişdirmək üçün bura klikləyin",
"unsubscribe": "abunədən çıx",
"unsub.success": "Siz daha <strong>%1</strong> poçt siyahısından e-məktublar almayacaqsınız",
"unsub.failure.title": "Abunəlikdən çıxmaq mümkün deyil",
"unsub.failure.message": "Təəssüf ki, linkdə problem olduğu üçün sizi poçt siyahısından çıxara bilmədik. Bununla belə, siz istifadəçi parametrlərinizə keçməklə <a href=\"%2\">e-poçt seçimlərinizi dəyişə bilərsiniz</a>. <br /><br />(xəta: <code>%1</code>)",
"banned.subject": "Siz %1-dən ban olunmusunuz",
"banned.text1": "%1 istifadəçisi %2-dən ban edilib.",
"banned.text2": "Bu qadağa %1-ə qədər davam edəcək.",
"banned.text3": "Ban olunmağınızın səbəbi budur:",
"closing": "Təşəkkürlər!"
}

View File

@@ -0,0 +1,266 @@
{
"invalid-data": "Etibarsız məlumat",
"invalid-json": "Yanlış JSON",
"wrong-parameter-type": "`%1` mülkiyyəti üçün %3 növünün dəyəri gözlənilən idi, lakin bunun əvəzinə %2 alındı",
"required-parameters-missing": "Bu API çağırışında tələb olunan parametrlər yoxdur: %1",
"reserved-ip-address": "Network requests to reserved IP ranges are not allowed.",
"not-logged-in": "Siz hesaba daxil olmamısınız.",
"account-locked": "Hesabınız müvəqqəti olaraq bloklanıb",
"search-requires-login": "Axtarış üçün hesab tələb olunur - zəhmət olmasa daxil olun və ya qeydiyyatdan keçin.",
"goback": "Əvvəlki səhifəyə qayıtmaq üçün geri düyməsini basın",
"invalid-cid": "Yanlış kateqoriya ID-si",
"invalid-tid": "Yanlış mövzu ID-si",
"invalid-pid": "Yanlış yazı ID-si",
"invalid-uid": "Yanlış istifadəçi ID-si",
"invalid-mid": "Yanlış söhbət mesajı ID-si",
"invalid-date": "Etibarlı tarix göstərilməlidir",
"invalid-username": "Yanlış istifadəçi adı",
"invalid-email": "Yanlış e-poçt",
"invalid-fullname": "Yanlış tam ad",
"invalid-location": "Yanlış məkan",
"invalid-birthday": "Yanlış doğum günü",
"invalid-title": "Yanlış başlıq",
"invalid-user-data": "Yanlış istifadəçi məlumatı",
"invalid-password": "Yanlış şifrə",
"invalid-login-credentials": "Yanlış giriş məlumatları",
"invalid-username-or-password": "Zəhmət olmasa istifadəçi adı və şifrənizi daxil edin",
"invalid-search-term": "Yanlış axtarış termini",
"invalid-url": "Yanlış URL",
"invalid-event": "Yanlış hadisə: %1",
"local-login-disabled": "Yerli giriş sistemi imtiyazlı olmayan hesablar üçün deaktiv edilib.",
"csrf-invalid": "Çox güman ki, vaxtı keçmiş sessiya səbəbindən sizi daxil edə bilmədik. Zəhmət olmasa, yenidən cəhd edin",
"invalid-path": "Yanlış yol",
"folder-exists": "Qovluq mövcuddur",
"invalid-pagination-value": "Yanlış səhifələmə dəyəri, ən azı %1 və ən çoxu %2 olmalıdır",
"username-taken": "İstifadəçi adı artıq məşğuldur",
"email-taken": "E-poçt ünvanı artıq götürülüb.",
"email-nochange": "Daxil edilmiş e-poçt artıq faylda olan e-poçt ilə eynidir.",
"email-invited": "E-poçt artıq dəvət edilib",
"email-not-confirmed": "E-poç ünvanınız təsdiq edildikdən sonra bəzi kateqoriyalar və ya mövzularda yazı yerləşdirməsi aktivləşdirilir, lütfən, təsdiq e-məktubu göndərmək üçün bura klikləyin.",
"email-not-confirmed-chat": "E-poçtunuz təsdiqlənənə qədər söhbət edə bilməzsiniz, e-poçtunuzu təsdiqləmək üçün bura klikləyin.",
"email-not-confirmed-email-sent": "E-poçtunuz hələ təsdiqlənməyib, lütfən, təsdiq e-poçtu üçün gələnlər qutusunu yoxlayın. E-poçtunuz təsdiqlənənə qədər bəzi kateqoriyalarda yazı yaza və ya söhbət edə bilməyəcəksiniz.",
"no-email-to-confirm": "Hesabınızda e-poçt təyin olunmayıb . E-poçt hesabı bərpa etmək və bəzi kateqoriyalarda söhbət etmək və dərc etmək üçün lazım ola bilər. E-poçt daxil etmək üçün bura klikləyin.",
"user-doesnt-have-email": "\"%1\" istifadəçisinin e-poçt ünvanı yoxdur.",
"email-confirm-failed": "E-poçtunuzu təsdiq edə bilmədik, lütfən, daha sonra yenidən cəhd edin.",
"confirm-email-already-sent": "Təsdiq məktubu artıq göndərilib, lütfən, başqa bir e-poçt göndərmək üçün %1 dəqiqə gözləyin.",
"confirm-email-expired": "Təsdiq məktubunun vaxtı bitdi",
"sendmail-not-found": "Sendmail icra edilə bilən faylı tapmaq mümkün olmadı, lütfən, onun NodeBB ilə işləyən istifadəçi tərəfindən quraşdırıldığına və icra edilə bilən olduğuna əmin olun.",
"digest-not-enabled": "Bu istifadəçinin həzmləri aktivləşdirməyib və ya sistem defolt həzmləri göndərmək üçün konfiqurasiya edilməyib",
"username-too-short": "İstifadəçi adı çox qısadır",
"username-too-long": "İstifadəçi adı çox uzundur",
"password-too-long": "Şifrə çox uzundur",
"reset-rate-limited": "Həddindən artıq çox şifrə sıfırlama sorğusu (cəhdlərin məhdudlaşdırılması)",
"reset-same-password": "Lütfən, indiki şifrənizdən fərqli şifrə istifadə edin",
"user-banned": "İstifadəçi qadağan edilib",
"user-banned-reason": "Üzr istəyirik, bu hesaba qadağa qoyulub (Səbəb: %1)",
"user-banned-reason-until": "Üzr istəyirik, bu hesab %1-ə qədər qadağan edilib (Səbəb: %2)",
"user-too-new": "Üzr istəyirik, sizdən ilk yazınızı yaratmazdan əvvəl %1 saniyə gözləmək tələb olunur",
"blacklisted-ip": "Üzr istəyirik, sizin IP ünvanınız bu saytda qadağan edilib. Əgər bunun səhv olduğunu düşünürsünüzsə, lütfən, administratorla əlaqə saxlayın.",
"cant-blacklist-self-ip": "Siz öz IP-ni qara siyahıya sala bilməzsiniz",
"ban-expiry-missing": "Zəhmət olmasa, bu qadağanın bitmə tarixini qeyd edin",
"no-category": "Kateqoriya mövcud deyil",
"no-topic": "Mövzu mövcud deyil",
"no-post": "Yazı mövcud deyil",
"no-group": "Qrup mövcud deyil",
"no-user": "İstifadəçi mövcud deyil",
"no-teaser": "Tizer mövcud deyil",
"no-flag": "Bayraq mövcud deyil",
"no-chat-room": "Söhbət otağı mövcud deyil",
"no-privileges": "Bu əməliyyat üçün kifayət qədər imtiyazınız yoxdur.",
"category-disabled": "Kateqoriya deaktiv edilib",
"post-deleted": "Yazı silindi",
"topic-locked": "Mövzu kilidləndi",
"post-edit-duration-expired": "Sizə yazıları dərc etdikdən sonra yalnız %1 saniyə ərzində redaktə etmək icazəsi verilir",
"post-edit-duration-expired-minutes": "Paylaşdıqdan sonra yalnız %1 dəqiqə ərzində yazıları redaktə etmək icazəniz var",
"post-edit-duration-expired-minutes-seconds": "Göndərdikdən sonra yalnız %1 dəqiqə %2 saniyə ərzində yazıları redaktə etməyə icazəniz var",
"post-edit-duration-expired-hours": "Sizə yalnız %1 saat ərzində yazıları redaktə etmək icazəsi verilir",
"post-edit-duration-expired-hours-minutes": "Sizə yalnız %1 saat(s) %2 dəqiqə ərzində yazıları redaktə etmək icazəniz var",
"post-edit-duration-expired-days": "Sizə yalnız %1 gün ərzində yazıları redaktə etmək icazəsi verilir",
"post-edit-duration-expired-days-hours": "Sizə yalnız %1 gün %2 saat ərzində yazıları redaktə etmək icazə verilir",
"post-delete-duration-expired": "Sizə yazıları göndərdikdən sonra yalnız %1 saniyə(lər) ərzində silməyə icazə verilir",
"post-delete-duration-expired-minutes": "Paylaşdıqdan sonra yalnız %1 dəqiqə(lər) ərzində yazıları silmək icazəniz var",
"post-delete-duration-expired-minutes-seconds": "Göndərdikdən sonra yalnız %1 dəqiqə %2 saniyə ərzində yazıları silmək icazəniz var",
"post-delete-duration-expired-hours": "Paylaşdıqdan sonra yalnız %1 saat ərzində yazıları silmək icazəniz var",
"post-delete-duration-expired-hours-minutes": "Sizə yalnız %1 saat(s) %2 dəqiqə ərzində yazıları silmək icazəniz var",
"post-delete-duration-expired-days": "Sizə yalnız %1 gün ərzində yazıları silmək icazəsi verilir",
"post-delete-duration-expired-days-hours": "Göndərdikdən sonra yalnız %1 gün %2 saat ərzində yazıları silmək icazəniz var",
"cant-delete-topic-has-reply": "Mövzunuza cavab verildikdən sonra onu silə bilməzsiniz",
"cant-delete-topic-has-replies": "Mövzunuzda %1 cavab olduqdan sonra onu silə bilməzsiniz",
"content-too-short": "Zəhmət olmasa daha uzun yazı daxil edin. Yazılarda ən azı %1 simvol olmalıdır.",
"content-too-long": "Zəhmət olmasa daha qısa yazı daxil edin. Yazıların uzunluğu %1 simvoldan çox ola bilməz.",
"title-too-short": "Daha uzun başlıq daxil edin. Başlıqlar ən azı %1 simvoldan ibarət olmalıdır.",
"title-too-long": "Daha qısa başlıq daxil edin. Başlıqlar %1 simvoldan uzun ola bilməz.",
"category-not-selected": "Kateqoriya seçilməyib.",
"too-many-posts": "Siz yalnız %1 saniyədə bir dəfə yaza bilərsiniz - lütfən, yenidən yerləşdirməzdən əvvəl gözləyin",
"too-many-posts-newbie": "Yeni istifadəçi olaraq, siz %2 reputasiya qazanana qədər yalnız hər %1 saniyədə bir dəfə yaza bilərsiniz - lütfən, yenidən yerləşdirməzdən əvvəl gözləyin",
"too-many-posts-newbie-minutes": "Yeni istifadəçi olaraq, siz %2 reputasiya qazanana qədər yalnız hər %1 dəqiqədə bir dəfə paylaşım edə bilərsiniz - lütfən, yenidən göndərməzdən əvvəl gözləyin",
"already-posting": "Artıq yazırsınız",
"tag-too-short": "Zəhmət olmasa daha uzun teqlər daxil edin. Teqlər ən azı %1 simvoldan ibarət olmalıdır",
"tag-too-long": "Zəhmət olmasa daha qısa teqlər daxil edin. Teqlər %1 simvoldan uzun ola bilməz",
"tag-not-allowed": "Tag icazə verilmir",
"not-enough-tags": "Teqlər kifayət deyil. Mövzularda ən azı %1 teq olmalıdır",
"too-many-tags": "Çoxlu teqlər! Mövzularda %1 teqdən çox ola bilməz",
"cant-use-system-tag": "Bu sistem teqindən istifadə edə bilməzsiniz.",
"cant-remove-system-tag": "Bu sistem teqini silə bilməzsiniz.",
"still-uploading": "Yükləmələrin tamamlanmasını gözləyin.",
"file-too-big": "İcazə verilən maksimum fayl ölçüsü %1 kB-dir - lütfən, daha kiçik fayl yükləyin",
"guest-upload-disabled": "Qonaq yükləməsi deaktiv edilib",
"cors-error": "Yanlış konfiqurasiya edilmiş CORS səbəbindən şəkli yükləmək mümkün deyil",
"upload-ratelimit-reached": "Siz eyni anda çoxlu fayl yükləmisiniz. Zəhmət olmasa daha sonra yenidən cəhd edin.",
"upload-error-fallback": "Şəkli yükləmək mümkün deyil — %1",
"scheduling-to-past": "Gələcəkdə bir tarix seçin.",
"invalid-schedule-date": "Zəhmət olmasa düzgün tarix və vaxt daxil edin.",
"cant-pin-scheduled": "Planlaşdırılmış mövzular bərkidil(məy)ə bilməz.",
"cant-merge-scheduled": "Planlaşdırılmış mövzular birləşdirilə bilməz.",
"cant-move-posts-to-scheduled": "Yazıları planlaşdırılmış mövzuya köçürmək mümkün deyil.",
"cant-move-from-scheduled-to-existing": "Yazıları planlaşdırılan mövzudan mövcud mövzuya köçürmək mümkün deyil.",
"already-bookmarked": "Siz artıq bu yazıya əlfəcin qoymusunuz",
"already-unbookmarked": "Siz artıq bu yazının əlfəcinindən çıxarmısınız",
"cant-ban-other-admins": "Başqa adminlərə qadağa qoya bilməzsiniz!",
"cant-mute-other-admins": "Digər adminlərin səsini kəsə bilməzsiniz!",
"user-muted-for-hours": "Səssizləşdirildiniz, %1 saata yazı yaza biləcəksiniz",
"user-muted-for-minutes": "Səsiniz susduruldu, %1 dəqiqədən sonra yaza biləcəksiniz",
"cant-make-banned-users-admin": "Siz qadağan edilmiş istifadəçiləri admin edə bilməzsiniz.",
"cant-remove-last-admin": "Siz yeganə administratorsunuz. Özünüzü administrator kimi silməzdən əvvəl başqa bir istifadəçini administrator kimi əlavə edin",
"account-deletion-disabled": "Hesabın silinməsi deaktiv edilib",
"cant-delete-admin": "Onu silməyə cəhd etməzdən əvvəl bu hesabdan administrator imtiyazlarını silin.",
"already-deleting": "Artıq silinir",
"invalid-image": "Yanlış şəkil",
"invalid-image-type": "Yanlış şəkil növü. İcazə verilən növlər bunlardır: %1",
"invalid-image-extension": "Yanlış şəkil genişləndirilməsi",
"invalid-file-type": "Yanlış fayl növü. İcazə verilən növlər bunlardır: %1",
"invalid-image-dimensions": "Şəkil ölçüləri çox böyükdür",
"group-name-too-short": "Qrup adı çox qısadır",
"group-name-too-long": "Qrup adı çox uzundur",
"group-already-exists": "Qrup artıq mövcuddur",
"group-name-change-not-allowed": "Qrup adının dəyişdirilməsinə icazə verilmir",
"group-already-member": "Artıq bu qrupun bir hissəsidir",
"group-not-member": "Bu qrupun üzvü deyil",
"group-needs-owner": "Bu qrupa ən azı bir sahib lazımdır",
"group-already-invited": "Bu istifadəçi artıq dəvət olunub",
"group-already-requested": "Üzvlük sorğunuz artıq təqdim edilib",
"group-join-disabled": "Siz hazırda bu qrupa qoşula bilmirsiniz",
"group-leave-disabled": "Hazırda bu qrupdan çıxa bilməzsiniz",
"group-user-not-pending": "İstifadəçinin bu qrupa qoşulmaq üçün gözlənilən sorğusu yoxdur.",
"gorup-user-not-invited": "İstifadəçi bu qrupa qoşulmağa dəvət edilməyib.",
"post-already-deleted": "Bu yazı artıq silinib",
"post-already-restored": "Bu yazı artıq bərpa olunub",
"topic-already-deleted": "Bu mövzu artıq silinib",
"topic-already-restored": "Bu mövzu artıq bərpa olunub",
"cant-purge-main-post": "Siz əsas yazını silə bilməzsiniz, lütfən, əvəzinə mövzunu silin",
"topic-thumbnails-are-disabled": "Mövzu kiçik şəkilləri deaktiv edilib.",
"invalid-file": "Etibarsız fayl",
"uploads-are-disabled": "Yükləmələr deaktiv edilib",
"signature-too-long": "Üzr istəyirik, imzanız %1 simvoldan uzun ola bilməz.",
"about-me-too-long": "Üzr istəyirik, mənim haqqımda %1 simvoldan uzun ola bilməz.",
"cant-chat-with-yourself": "Özünüzlə söhbət edə bilməzsiniz!",
"chat-restricted": "Bu istifadəçi söhbət mesajlarını məhdudlaşdırıb. Siz onlarla söhbət etməzdən əvvəl onlar sizi izləməlidirlər",
"chat-allow-list-user-already-added": "This user is already in your allow list",
"chat-deny-list-user-already-added": "This user is already in your deny list",
"chat-user-blocked": "Siz bu istifadəçi tərəfindən bloklanmısınız.",
"chat-disabled": "Söhbət sistemi deaktiv edilib",
"too-many-messages": "Həddən artıq çox mesaj göndərmisiniz, bir az gözləyin,",
"invalid-chat-message": "Yanlış söhbət mesajı",
"chat-message-too-long": "Söhbət mesajları %1 simvoldan uzun ola bilməz.",
"cant-edit-chat-message": "Bu mesajı redaktə etmək icazəniz yoxdur",
"cant-delete-chat-message": "Bu mesajı silmək icazəniz yoxdur",
"chat-edit-duration-expired": "Söhbət mesajlarını dərc etdikdən sonra yalnız %1 saniyə ərzində redaktə etmək icazəniz var",
"chat-delete-duration-expired": "Söhbət mesajlarını yazdıqdan sonra yalnız %1 saniyə ərzində silmək icazəniz var",
"chat-deleted-already": "Bu söhbət mesajı artıq silinib.",
"chat-restored-already": "Bu söhbət mesajı artıq bərpa edilib.",
"chat-room-does-not-exist": "Söhbət otağı mövcud deyil.",
"cant-add-users-to-chat-room": "İstifadəçiləri söhbət otağına əlavə etmək mümkün deyil.",
"cant-remove-users-from-chat-room": "İstifadəçiləri söhbət otağından silmək mümkün deyil.",
"chat-room-name-too-long": "Söhbət otağının adı çox uzundur. Adlar %1 simvoldan uzun ola bilməz.",
"remote-chat-received-too-long": "Siz %1-dən söhbət mesajı aldınız, lakin o, çox uzun idi və rədd edildi.",
"already-voting-for-this-post": "Siz artıq bu yazıya səs vermisiniz.",
"reputation-system-disabled": "Reputasiya sistemi deaktiv edilib.",
"downvoting-disabled": "Mənfi səsvermə deaktiv edilib",
"not-enough-reputation-to-chat": "Söhbət etmək üçün sizə %1 reputasiya lazımdır",
"not-enough-reputation-to-upvote": "Səs vermək üçün sizə %1 reputasiya lazımdır",
"not-enough-reputation-to-downvote": "Mənfi səs vermək üçün sizə %1 reputasiya lazımdır",
"not-enough-reputation-to-post-links": "Linkləri yerləşdirmək üçün sizə %1 reputasiya lazımdır",
"not-enough-reputation-to-flag": "Bu yazını işarələmək üçün %1 reputasiya lazımdır",
"not-enough-reputation-min-rep-website": "Veb sayt əlavə etmək üçün sizə %1 reputasiya lazımdır",
"not-enough-reputation-min-rep-aboutme": "Haqqımda məlumat əlavə etmək üçün sizə %1 reputasiya lazımdır",
"not-enough-reputation-min-rep-signature": "İmza əlavə etmək üçün sizə %1 reputasiya lazımdır",
"not-enough-reputation-min-rep-profile-picture": "Profil şəkli əlavə etmək üçün sizə %1 reputasiya lazımdır",
"not-enough-reputation-min-rep-cover-picture": "Örtük şəkli əlavə etmək üçün sizə %1 reputasiya lazımdır",
"not-enough-reputation-custom-field": "Sizə %2 üçün %1 reputasiya lazımdır",
"custom-user-field-value-too-long": "Fərdi sahə dəyəri çox uzun, %1",
"custom-user-field-select-value-invalid": "Fərdi sahə seçilmiş seçim yanlışdır, %1",
"custom-user-field-invalid-text": "Fərdi sahə mətni yanlışdır, %1",
"custom-user-field-invalid-link": "Fərdi sahə keçidi yanlışdır, %1",
"custom-user-field-invalid-number": "Fərdi sahə nömrəsi yanlışdır, %1",
"custom-user-field-invalid-date": "Fərdi sahə tarixi etibarsızdır, %1",
"invalid-custom-user-field": "Yanlış fərdi istifadəçi sahəsi, \"%1\" artıq NodeBB tərəfindən istifadə olunur",
"post-already-flagged": "Siz artıq bu yazını işarələmisiniz",
"user-already-flagged": "Siz artıq bu istifadəçini işarələmisiniz",
"post-flagged-too-many-times": "Bu yazı artıq başqaları tərəfindən işarələnib",
"user-flagged-too-many-times": "Bu istifadəçi artıq başqaları tərəfindən işarələnib",
"too-many-post-flags-per-day": "Siz gündə yalnız %1 yazı(lar)ya işarə edə bilərsiniz",
"too-many-user-flags-per-day": "Siz gündə yalnız %1 istifadəç(lər)ini qeyd edə bilərsiniz",
"cant-flag-privileged": "İmtiyazlı istifadəçilərin (moderatorlar/qlobal moderatorlar/adminlər) profillərini və ya məzmununu qeyd etmək icazəniz yoxdur.",
"cant-locate-flag-report": "Bayraq hesabatını tapmaq mümkün deyil",
"self-vote": "Öz postunuza səs verə bilməzsiniz",
"too-many-upvotes-today": "Siz gündə yalnız %1 dəfə müsbət səs verə bilərsiniz",
"too-many-upvotes-today-user": "Siz istifadəçiyə gündə yalnız %1 dəfə müsbət səs verə bilərsiniz",
"too-many-downvotes-today": "Siz gündə yalnız %1 dəfə aşağı səs verə bilərsiniz",
"too-many-downvotes-today-user": "Siz istifadəçiyə gündə yalnız %1 dəfə aşağı səs verə bilərsiniz",
"reload-failed": "NodeBB yenidən yüklənərkən problemlə üzləşdi: \"% 1\". NodeBB mövcud müştəri tərəfi aktivlərinə xidmət göstərməyə davam edəcək, baxmayaraq ki, siz yenidən yükləmədən əvvəl etdiklərinizi geri qaytarmalısınız.",
"registration-error": "Qeydiyyat xətası",
"parse-error": "Server cavabının təhlili zamanı xəta baş verdi",
"wrong-login-type-email": "Daxil olmaq üçün e-poçtunuzdan istifadə edin",
"wrong-login-type-username": "Zəhmət olmasa, daxil olmaq üçün istifadəçi adınızı istifadə edin",
"sso-registration-disabled": "%1 hesablar üçün qeydiyyat deaktiv edilib, lütfən, ilk olaraq e-poçt ünvanı ilə qeydiyyatdan keçin",
"sso-multiple-association": "Siz bu xidmətdən birdən çox hesabı NodeBB hesabınızla əlaqələndirə bilməzsiniz. Lütfən, mövcud hesabınızı ayırın və yenidən cəhd edin.",
"invite-maximum-met": "Siz maksimum insan sayını dəvət etmisiniz (%2-dən %1).",
"no-session-found": "Giriş sessiyası tapılmadı!",
"not-in-room": "İstifadəçi otaqda deyil",
"cant-kick-self": "Özünüzü qrupdan çıxara bilməzsiniz",
"no-users-selected": "İstifadəçi(lər) seçilməyib",
"no-groups-selected": "Heç bir qrup(lar) seçilməyib",
"invalid-home-page-route": "Etibarsız ana səhifə marşrutu",
"invalid-session": "Etibarsız sessiya",
"invalid-session-text": "Görünür, giriş sessiyanız artıq aktiv deyil. Zəhmət olmasa bu səhifəni yeniləyin.",
"session-mismatch": "Sessiyanın uyğunsuzluğu",
"session-mismatch-text": "Görünür, giriş sessiyanız artıq serverlə uyğun gəlmir. Zəhmət olmasa bu səhifəni yeniləyin.",
"no-topics-selected": "Mövzu seçilməyib!",
"cant-move-to-same-topic": "Yazı eyni mövzuya köçürülə bilməz!",
"cant-move-topic-to-same-category": "Mövzunu eyni kateqoriyaya köçürmək mümkün deyil!",
"cannot-block-self": "Özünüzü bloklaya bilməzsiniz!",
"cannot-block-privileged": "Siz administratorları və ya qlobal moderatorları bloklaya bilməzsiniz",
"cannot-block-guest": "Qonaq digər istifadəçiləri bloklaya bilməz",
"already-blocked": "Bu istifadəçi artıq bloklanıb",
"already-unblocked": "Bu istifadəçi artıq blokdan çıxarılıb",
"no-connection": "Görünür, internet bağlantınızla bağlı problem var",
"socket-reconnect-failed": "Hazırda serverə daxil olmaq mümkün deyil. Yenidən cəhd etmək üçün bura klikləyin və ya daha sonra yenidən cəhd edin",
"invalid-plugin-id": "Yanlış plagin identifikatoru",
"plugin-not-whitelisted": "Plugini quraşdırmaq mümkün deyil &ndash; yalnız NodeBB Paket Meneceri tərəfindən ağ siyahıya alınmış plaginlər ACP vasitəsilə quraşdırıla bilər",
"cannot-toggle-system-plugin": "You cannot toggle the state of a system plugin",
"plugin-installation-via-acp-disabled": "ACP vasitəsilə plagin quraşdırılması deaktiv edilib",
"plugins-set-in-configuration": "Sizə plagin vəziyyətini dəyişdirmək icazəsi verilmir, çünki onlar icra zamanı təyin olunur (config.json, ətraf mühit dəyişənləri və ya terminal arqumentləri), lütfən, bunun əvəzinə konfiqurasiyanı dəyişdirin.",
"theme-not-set-in-configuration": "Konfiqurasiyada aktiv plaginləri təyin edərkən, mövzuların dəyişdirilməsi ACP-də yeniləmədən əvvəl yeni mövzunun aktiv plaginlərin siyahısına əlavə edilməsini tələb edir.",
"topic-event-unrecognized": "'%1' mövzu hadisəsi tanınmadı",
"category.handle-taken": "Kateqoriya sapı artıq götürülüb, lütfən, başqa birini seçin.",
"cant-set-child-as-parent": "Uşağı ana kateqoriya olaraq təyin etmək mümkün deyil",
"cant-set-self-as-parent": "Özünü ana kateqoriya olaraq təyin etmək mümkün deyil",
"api.master-token-no-uid": "Sorğu bodisində müvafiq `_uid` olmadan master token qəbul edildi",
"api.400": "Daxil etdiyiniz sorğunun faydalı yükü ilə bağlı problem olub.",
"api.401": "Düzgün giriş sessiyası tapılmadı. Daxil olun və yenidən cəhd edin.",
"api.403": "Bu zəng etmək səlahiyyətiniz yoxdur",
"api.404": "Yanlış API çağırışı",
"api.426": "Api-yə sorğular üçün HTTPS tələb olunur, xahiş edirik sorğunuzu HTTPS vasitəsilə yenidən göndərin",
"api.429": "Həddindən artıq sorğu göndərmisiniz, lütfən, biraz sonra yenidən cəhd edin",
"api.500": "Sorğunuza xidmət göstərməyə cəhd edərkən gözlənilməz xəta ilə qarşılaşdı.",
"api.501": "Zəng etmək istədiyiniz marşrut hələ həyata keçirilməyib, sabah yenidən cəhd edin",
"api.503": "Zəng etmək istədiyiniz marşrut server konfiqurasiyasına görə hazırda mövcud deyil",
"api.reauth-required": "Daxil olmağa çalışdığınız resurs (yenidən) autentifikasiya tələb edir.",
"activitypub.not-enabled": "Federasiya bu serverdə aktiv deyil",
"activitypub.invalid-id": "Daxiletmə identifikatorunu həll etmək mümkün deyil, çox güman ki, o, səhv formatlaşdırılıb.",
"activitypub.get-failed": "Müəyyən edilmiş resursu əldə etmək mümkün deyil.",
"activitypub.pubKey-not-found": "Açıq açarı həll etmək mümkün deyil, ona görə də faydalı yükün yoxlanılması həyata keçirilə bilməz.",
"activitypub.origin-mismatch": "Alınan obyektin mənşəyi göndərənin mənşəyi ilə uyğun gəlmir",
"activitypub.actor-mismatch": "Alınan fəaliyyət gözlənildiyindən fərqli icraçı tərəfindən həyata keçirilir.",
"activitypub.not-implemented": "Sorğu rədd edildi, çünki o və ya onun bir aspekti alıcı server tərəfindən icra olunmur"
}

View File

@@ -0,0 +1,101 @@
{
"state": "Hal",
"report": "Hesabat",
"reports": "Hesabatlar",
"first-reported": "İlk məlumat verilib",
"no-flags": "Yaşasın! Heç bir bayraq tapılmadı.",
"x-flags-found": "%1 bayraq(lar) tapıldı.",
"assignee": "Təyin edən",
"update": "Yenilə",
"updated": "Yenilənib",
"resolved": "Həll olundu",
"report-added": "Əlavə edilib",
"report-rescinded": "Ləğv edildi",
"target-purged": "Bu bayrağın istinad etdiyi məzmun təmizləndi və artıq əlçatan deyil.",
"target-aboutme-empty": "Bu istifadəçinin &quot;Haqqımda&quot; məlumatı təyin edilməyib.",
"graph-label": "Gündəlik bayraqlar",
"quick-filters": "Sürətli filtrlər",
"filter-active": "Bu bayraqlar siyahısında aktiv olan bir və ya bir neçə filtr var",
"filter-reset": "Filtrləri çıxar",
"filters": "Filtr seçimləri",
"filter-reporterId": "Müxbir",
"filter-targetUid": "Məruzəçi",
"filter-type": "Bayraq növü",
"filter-type-all": "Bütün məzmun",
"filter-type-post": "Yazı",
"filter-type-user": "İstifadəçi",
"filter-state": "Hal",
"filter-assignee": "Təyin edən",
"filter-cid": "Kateqoriya",
"filter-quick-mine": "Mənə təyin edilmiş",
"filter-cid-all": "Bütün kateqoriyalar",
"apply-filters": "Filtrləri tətbiq et",
"more-filters": "Daha çox filtr",
"fewer-filters": "Daha az filtr",
"quick-actions": "Sürətli hərəkətlər",
"flagged-user": "İşarələnmiş istifadəçi",
"view-profile": "Profilə bax",
"start-new-chat": "Yeni söhbətə başla",
"go-to-target": "Bayraq hədəfinə bax",
"assign-to-me": "Mənə təyin et",
"delete-post": "Yazını sil",
"purge-post": "Yazını təmizlə",
"restore-post": "Yazını bərpa et",
"delete": "Bayrağı sil",
"user-view": "Profilə bax",
"user-edit": "Profili redaktə et",
"notes": "Qeydlərə bayraq əlavə et",
"add-note": "Qeyd əlavə etmək",
"edit-note": "Qeydi redaktə et",
"no-notes": "Paylaşılan qeyd yoxdur.",
"delete-note-confirm": "Bu bayraq qeydini silmək istədiyinizə əminsiniz?",
"delete-flag-confirm": "Bu bayrağı silmək istədiyinizə əminsiniz?l",
"note-added": "Qeyd əlavə edildi",
"note-deleted": "Qeyd silindi",
"flag-deleted": "Bayraq silindi",
"history": "Hesab &amp; Bayraq tarixi",
"no-history": "Bayraq tarixçəsi yoxdur.",
"state-all": "Bütün hallar",
"state-open": "Yeni/Açıq",
"state-wip": "İş davam edir",
"state-resolved": "Həll olundu",
"state-rejected": "Rədd edildi",
"no-assignee": "Təyin olunmayıb",
"sort": "Sırala",
"sort-newest": "Ən yeni ilk",
"sort-oldest": "Ən qədimi birinci",
"sort-reports": "Əksər hesabatlar",
"sort-all": "Bütün bayraq növləri...",
"sort-posts-only": "Yalnız yazılar...",
"sort-downvotes": "Ən aşağı səslər",
"sort-upvotes": "Ən çox müsbət səslər",
"sort-replies": "Ən çox cavablar",
"modal-title": "Məzmunu bildir",
"modal-body": "Lütfən, nəzərdən keçirmək üçün %1 %2 işarələmə səbəbinizi qeyd edin. Mümkünsə, alternativ olaraq, sürətli hesabat düymələrindən birini istifadə edin.",
"modal-reason-spam": "Spam",
"modal-reason-offensive": "Təhqiredici",
"modal-reason-other": "Digər (aşağıda göstər)",
"modal-reason-custom": "Bu məzmunu bildirməyin səbəbi...",
"modal-notify-remote": "Bu hesabatı %1-ə yönləndir",
"modal-submit": "Hesabatı göndər",
"modal-submit-success": "Məzmun moderasiya üçün işarələnib.",
"modal-confirm-rescind": "Hesabat ləğv edilsin?",
"bulk-actions": "Toplu hərəkətlər",
"bulk-resolve": "Bayrağ(lar)ı həll et",
"confirm-purge": "Bu bayraqları həmişəlik silmək istədiyinizə əminsiniz?",
"purge-cancelled": "Bayraq təmizləmə ləğv edildi",
"bulk-purge": "Təmizləmə bayraq(lar)ı",
"bulk-success": "%1 bayraq yeniləndi",
"flagged-timeago": "İşarələnmiş <span class=\"timeago\" title=\"%1\"></span>",
"auto-flagged": "[Avtomatik işarələnmiş] %1 mənfi səs aldı."
}

View File

@@ -0,0 +1,154 @@
{
"home": "Əsas səhifə",
"search": "Axtarış",
"buttons.close": "Bağla",
"403.title": "Giriş rədd edildi",
"403.message": "Deyəsən, girişiniz olmayan səhifəyə rast gəldiniz.",
"403.login": "Bəlkə <a class=\"alert-link\" href='%1/login'>daxil olmağa</a> çalışmalısınız?",
"404.title": "Tapılmadı",
"404.message": "Deyəsən, mövcud olmayan bir səhifə ilə qarşılaşmısınız.<br/><div class=\"text-sm text-muted\"><a href='%1/'> Əsas səhifəyə</a> qayıdın.</div>",
"500.title": "Daxili xəta.",
"500.message": "Vay! Deyəsən, nəsə xəta baş verib!",
"400.title": "Səhv sorğu.",
"400.message": "Deyəsən, bu link səhv formadadır, xahiş edirik, yenidən yoxlayın və cəhd edin.<br/><div class=\"text-sm text-muted\"><a href='%1/'> Əsas səhifəyə</a> qayıdın.</div>",
"register": "Qeydiyyatdan keç",
"login": "Daxil ol",
"please-log-in": "Zəhmət olmasa Daxil olun",
"logout": ıxmaq",
"posting-restriction-info": "Göndərmə hazırda yalnız qeydiyyatdan keçmiş üzvlərlə məhdudlaşır, daxil olmaq üçün bura klikləyin.",
"welcome-back": "Xoş gəlmisiniz",
"you-have-successfully-logged-in": "Siz uğurla daxil oldunuz",
"save-changes": "Dəyişiklikləri yadda saxla",
"save": "Yadda saxla",
"create": "Yaratmaq",
"cancel": "Ləğv et",
"close": "Bağla",
"pagination": "Səhifələmə",
"pagination.previouspage": "Əvvəlki səhifə",
"pagination.nextpage": "Növbəti səhifə",
"pagination.firstpage": "Birinci səhifə",
"pagination.lastpage": "Sonuncu səhifə",
"pagination.out-of": "%2-dən %1",
"pagination.enter-index": "Yazı indeksinə keçin",
"pagination.go-to-page": "Səhifəyə keçin",
"pagination.page-x": "Səhifə %1",
"header.brand-logo": "Brend loqosu",
"header.admin": "Admin",
"header.categories": "Kateqoriyalar",
"header.recent": "Ən yeni",
"header.unread": "Oxunmamış",
"header.tags": "Teqlər",
"header.popular": "Populyar",
"header.top": "Ən yaxşı",
"header.users": "İstifadəçilər",
"header.groups": "Qruplar",
"header.chats": "Söhbətlər",
"header.notifications": "Bildirişlər",
"header.search": "Axtarış",
"header.profile": "Profil",
"header.account": "Hesab",
"header.navigation": "Naviqasiya",
"header.manage": "İdarə et",
"header.drafts": "Qaralamalar",
"header.world": "Dünya",
"notifications.loading": "Bildirişlər yüklənilir",
"chats.loading": "Söhbətlər yüklənir",
"drafts.loading": "Qaralamalar yüklənir",
"motd.welcome": "Gələcəyin müzakirə platforması olan NodeBB-ə xoş gəlmisiniz.",
"alert.success": "Müvəffəqiyyət",
"alert.error": "Xəta",
"alert.warning": "Xəbərdarlıq",
"alert.info": "Məlumat",
"alert.banned": "Qadağan edilib",
"alert.banned.message": "Siz indicə qadağan olundunuz, girişiniz məhdudlaşdırılıb.",
"alert.unbanned": "Qadağadan çıxarılıb",
"alert.unbanned.message": "Sizin qadağanız götürüldü.",
"alert.unfollow": "Siz artıq %1-i izləmirsiniz!",
"alert.follow": "İndi %1-i izləyirsiniz!",
"users": "İstifadəçilər",
"topics": "Mövzu",
"posts": "Yazı",
"x-posts": "<span class=\"formatted-number\">%1</span> yazı",
"x-topics": "<span class=\"formatted-number\">%1</span> mövzu",
"x-reputation": "<span class=\"formatted-number\">%1</span> reputasiya",
"best": "Ən yaxşısı",
"controversial": "Mübahisəli",
"votes": "Səslər",
"x-votes": "%1 səs",
"voters": "Səsverənlər",
"upvoters": "Müsbət səs verənlər",
"upvoted": "Müsbət səs verildir",
"downvoters": "Mənfi səs verənlər",
"downvoted": "Mənfi səs verildi",
"views": "Baxış",
"posters": "Yazarlar",
"watching": "İzlənilir",
"reputation": "Reputasiya",
"lastpost": "Son yazı",
"firstpost": "İlk yazı",
"about": "Haqqında",
"read-more": "ətraflı oxu",
"more": "Daha çox",
"none": "Heç biri",
"posted-ago-by-guest": "%1 qonaq tərəfindən dərc edilib",
"posted-ago-by": "%2 tərəfindən %1 dərc edilib",
"posted-ago": "% 1 yerləşdirdi",
"posted-in": "%1-də yerləşdirilib",
"posted-in-by": "%2 tərəfindən %1-də yerləşdirilib",
"posted-in-ago": "%1 %2-də yerləşdirilib",
"posted-in-ago-by": "%1 %2-də %3 tərəfindən yerləşdirilib",
"user-posted-ago": "%1 yerləşdirdi %2",
"guest-posted-ago": "Qonaq göndərdi %1",
"last-edited-by": "sonuncu dəfə %1 tərəfindən redaktə edilib",
"edited-timestamp": "Redaktə edildi %1",
"norecentposts": "Son yazılar yoxdur",
"norecenttopics": "Son mövzular yoxdur",
"recentposts": "Ən son yazılar",
"recentips": "Bu yaxınlarda daxil olmuş IP-lər",
"moderator-tools": "Moderator alətləri",
"status": "Status",
"online": "Onlayn",
"away": "Uzaqda",
"dnd": "Narahat etmə",
"invisible": "Görünməz",
"offline": "Oflayn",
"remote-user": "Bu istifadəçi bu forumdan kənardır",
"email": "E-poçt",
"language": "Dil",
"guest": "Qonaq",
"guests": "Qonaqlar",
"former-user": "Keçmiş istifadəçi",
"system-user": "Sistem",
"unknown-user": "Naməlum istifadəçi",
"updated.title": "Forum yenilənib",
"updated.message": "Bu forum ən son versiyaya yenilənib. Səhifəni yeniləmək üçün bura klikləyin.",
"privacy": "Məxfilik",
"follow": "İzlə",
"unfollow": "İzləməni dayandır",
"delete-all": "Hamısını sil",
"map": "Xəritə",
"sessions": "Giriş sessiyaları",
"ip-address": "IP ünvanı",
"enter-page-number": "Səhifə nömrəsini daxil edin",
"upload-file": "Faylı yüklə",
"upload": "Yüklə",
"uploads": "Yükləmələr",
"allowed-file-types": "İcazə verilən fayl növləri %1-dir",
"unsaved-changes": "Saxlanmamış dəyişiklikləriniz var. Digər yerə keçid etmək istədiyinizə əminsiniz?",
"reconnecting-message": "Görünür, %1 ilə əlaqəniz itib, lütfən, yenidən qoşulmağa cəhd edənə qədər gözləyin.",
"play": "Oynat",
"cookies.message": "Bu vebsayt ən yaxşı təcrübə əldə etməyinizə əmin olmaq üçün kukilərdən istifadə edir.",
"cookies.accept": "Anladım!",
"cookies.learn-more": "Ətraflı öyrənin",
"edited": "Redaktə edilib",
"disabled": "Qeyri-aktiv",
"select": "Seç",
"selected": "Seçildi",
"copied": "Kopyalandı",
"user-search-prompt": "İstifadəçiləri tapmaq üçün bura nəsə yazın...",
"hidden": "Gizli",
"sort": "Sırala",
"actions": "Fəaliyyətlər",
"rss-feed": "RSS Lenti",
"skip-to-content": "Məzmuna keçin"
}

View File

@@ -0,0 +1,66 @@
{
"all-groups": "Bütün qruplar",
"groups": "Qruplar",
"members": "Üzvlər",
"view-group": "Qrupa bax",
"owner": "Qrup sahibi",
"new-group": "Yeni qrup yarat",
"no-groups-found": "Baxmaq üçün qruplar yoxdur",
"pending.accept": "Qəbul et",
"pending.reject": "Rədd et",
"pending.accept-all": "Hamısını qəbul et",
"pending.reject-all": "Hamısını rədd et",
"pending.none": "Hazırda gözləmədə olan üzvlər yoxdur",
"invited.none": "Hazırda dəvət olunmuş üzv yoxdur",
"invited.uninvite": "Dəvəti ləğv et",
"invited.search": "Bu qrupa dəvət etmək üçün istifadəçi axtar",
"invited.notification-title": "Siz %1-ə qoşulmağa dəvət olundunuz",
"request.notification-title": "%1-dən qrup üzvlük sorğusu",
"request.notification-text": "<strong>%1</strong> <strong>%2</strong> üzv olmaq üçün sorğu göndərdi",
"cover-save": "Yadda saxla",
"cover-saving": "Saxlanılır",
"details.title": "Qrup detalları",
"details.members": "Üzv siyahısı",
"details.pending": "Gözləmədə olan üzvlər",
"details.invited": "Dəvət olunmuş üzvlər",
"details.has-no-posts": "Bu qrupun üzvləri heç bir paylaşım etməyiblər.",
"details.latest-posts": "Son istifadəçilər",
"details.private": "Şəxsi",
"details.disableJoinRequests": "Qoşulma sorğularını deaktiv edin",
"details.disableLeave": "İstifadəçilərin qrupdan çıxmasına icazə verməyin",
"details.grant": "Mülkiyyət hüququ verin/ləğv edin",
"details.kick": ıxart",
"details.kick-confirm": "Bu üzvü qrupdan silmək istədiyinizə əminsiniz?",
"details.add-member": "Üzvü əlavə et",
"details.owner-options": "Qrup administrasiyası",
"details.group-name": "Qrupun adı",
"details.member-count": "Üzv sayı",
"details.creation-date": "Yaradılma tarixi",
"details.description": "Təsviri",
"details.member-post-cids": "Mesajları göstərmək üçün kateqoriya identifikatorlarıMesajları göstərmək üçün kateqoriya identifikatorları",
"details.badge-preview": "Nişan önizləməsi",
"details.change-icon": "İkonu dəyiş",
"details.change-label-colour": "Başlıq rəngini dəyiş",
"details.change-text-colour": "Mətn rəngini dəyiş",
"details.badge-text": "Nişan mətni",
"details.userTitleEnabled": "Nişanı göstər",
"details.private-help": "Aktivləşdirilibsə, qruplara qoşulmaq üçün qrup sahibinin təsdiqi tələb olunur",
"details.hidden": "Gizli",
"details.hidden-help": "Aktivləşdirilərsə, bu qrup qruplar siyahısında tapılmayacaq və istifadəçilər əl ilə dəvət olunmalı olacaqlar",
"details.delete-group": "Qrupu sil",
"details.private-system-help": "Şəxsi qruplar sistem səviyyəsində deaktiv edilib, bu seçim heç bir şey etmir",
"event.updated": "Qrup təfərrüatları yeniləndi",
"event.deleted": "\"%1\" qrupu silindi",
"membership.accept-invitation": "Dəvəti qəbul et",
"membership.accept.notification-title": "Siz indi <strong>%1</strong>-in üzvüsünüz",
"membership.invitation-pending": "Dəvət gözləmədədir",
"membership.join-group": "Qrupa qoşul",
"membership.leave-group": "Qrupu tərk et",
"membership.leave.notification-title": "<strong>%1</strong> <strong>%2</strong> qrupunu tərk etdi",
"membership.reject": "Rədd et",
"new-group.group-name": "Qrupun adı:",
"upload-group-cover": "Qrup örtüyü yükləyin",
"bulk-invite-instructions": "Bu qrupa dəvət etmək üçün vergüllə ayrılmış istifadəçi adlarının siyahısını daxil edin",
"bulk-invite": "Toplu dəvət",
"remove-group-cover-confirm": "Örtük şəklini silmək istədiyinizə əminsiniz?"
}

View File

@@ -0,0 +1,19 @@
{
"lead": "İP qara siyahınızı burada konfiqurasiya edin.",
"description": "Bəzən istifadəçi hesabı qadağası kifayət qədər maneə törətmir. Digər hallarda, foruma girişi müəyyən bir IP və ya bir sıra IP-lərlə məhdudlaşdırmaq forumu qorumaq üçün ən yaxşı yoldur. Bu ssenarilərdə siz bu qara siyahıya problemli IP ünvanlarını və ya bütün CIDR bloklarını əlavə edə bilərsiniz və onların yeni hesaba daxil olmasının və ya qeydiyyatdan keçirilməsinin qarşısı alınacaq.",
"active-rules": "Aktiv Qaydalar",
"validate": "Qara siyahını təsdiq edin",
"apply": "Qara siyahı tətbiq et",
"hints": "Sintaksis göstərişləri",
"hint-1": "Hər sətir üçün tək IP ünvanlarını təyin edin. CIDR formatına (məsələn, <code>192.168.100.0/22</code>) əməl etdikcə IP bloklarını əlavə edə bilərsiniz.",
"hint-2": "Şərhlərə <code>#</code> simvolu ilə başlayan sətirlər əlavə edə bilərsiniz.",
"validate.x-valid": "<strong>%2</strong> qayda(lar)dan <strong>%1</strong> etibarlıdır.",
"validate.x-invalid": "Aşağıdakı <strong>%1</strong> qaydalar yanlışdır:",
"alerts.applied-success": "Qara siyahı tətbiq olundu",
"analytics.blacklist-hourly": "<strong>Şəkil 1</strong> &ndash; Saatda qara siyahıya daxil olanlar",
"analytics.blacklist-daily": "<strong>Şəkil 2</strong> &ndash; Gündə qara siyahıya daxil olanlar",
"ip-banned": "IP qadağan edildi"
}

View File

@@ -0,0 +1,5 @@
{
"name": "Azərbaycan dili",
"code": "az",
"dir": "ltr"
}

View File

@@ -0,0 +1,12 @@
{
"username-email": "İstifadəçi adı / E-poçt",
"username": "İstifadəçi adı",
"remember-me": "Məni xatırlamaq?",
"forgot-password": "Şifrəni unutmusunuz?",
"alternative-logins": "Alternativ girişlər",
"failed-login-attempt": "Giriş uğursuz oldu",
"login-successful": "Siz uğurla daxil oldunuz!",
"dont-have-account": "Sizin hesabınız yoxdur?",
"logged-out-due-to-inactivity": "Siz fəaliyyətsizlik səbəbindən İdarəetmə Panelindən çıxmısınız",
"caps-lock-enabled": "Caps Lock aktivdir"
}

View File

@@ -0,0 +1,135 @@
{
"chat.room-id": "Otaq %1",
"chat.chatting-with": "Söhbətə başla",
"chat.placeholder": "Söhbət mesajını bura yazın, şəkilləri dartıb buraxın",
"chat.placeholder.mobile": "Söhbət mesajını daxil edin",
"chat.placeholder.message-room": "Mesaj #%1",
"chat.scroll-up-alert": "Son mesaja keç",
"chat.usernames-and-x-others": "%1 & %2 başqaları",
"chat.chat-with-usernames": "%1 ilə söhbət edin",
"chat.chat-with-usernames-and-x-others": "%1 və %2 başqaları ilə söhbət edin",
"chat.send": "Göndər",
"chat.no-active": "Aktiv söhbətləriniz yoxdur.",
"chat.user-typing-1": "<strong>%1</strong> yazır...",
"chat.user-typing-2": "<strong>%1</strong> və <strong>%2</strong> yazırlar...",
"chat.user-typing-3": "<strong>%1</strong>,<strong>%2</strong> və <strong>%3</strong> yazırlar...",
"chat.user-typing-n": "<strong>%1</strong>,<strong>%2</strong> və <strong>%3</strong> və başqaları yazırlar...",
"chat.user-has-messaged-you": "%1 sizə mesaj göndərib.",
"chat.replying-to": "%1-ə cavab verilir",
"chat.see-all": "Bütün söhbətlər",
"chat.mark-all-read": "Oxunmuş et",
"chat.no-messages": "Söhbət mesajı tarixçəsinə baxmaq üçün alıcı tərəfi seçin",
"chat.no-users-in-room": "Bu otaqda heç bir istifadəçi yoxdur",
"chat.recent-chats": "Son söhbətlər",
"chat.contacts": "Kontaktlar",
"chat.message-history": "Mesaj tarixçəsi",
"chat.message-deleted": "Mesaj silinib",
"chat.options": "Söhbət seçimləri",
"chat.pop-out": "Söhbəti pop-out ekrana çıxart",
"chat.minimize": "Minimallaşdır",
"chat.maximize": "Maksimallaşdır",
"chat.seven-days": "7 Gün",
"chat.thirty-days": "30 Gün",
"chat.three-months": "3 Ay",
"chat.delete-message-confirm": "Bu mesajı silmək istədiyinizə əminsiniz?",
"chat.retrieving-users": "İstifadəçilər yüklənir...",
"chat.view-users-list": "İstifadəçi siyahısına bax",
"chat.pinned-messages": "Sabitlənmiş mesajlar",
"chat.no-pinned-messages": "Sabitlənmiş mesajlar yoxdur",
"chat.pin-message": "Mesajı sabitlə",
"chat.unpin-message": "Mesajı sabitdən çıxart",
"chat.public-rooms": "İctimai otaqlar (%1)",
"chat.private-rooms": "Şəxsi otaqlar (%1)",
"chat.create-room": "Söhbət otağı yarat",
"chat.private.option": "Şəxsi (Yalnız otağa əlavə olunan istifadəçilərə görünür)",
"chat.public.option": "İctimai (Seçilmiş qruplardakı hər istifadəçiyə görünür)",
"chat.public.groups-help": "Bütün istifadəçilərin görə biləcəyi söhbət otağı yaratmaq üçün qrup siyahısından qeydiyyatdan keçmiş istifadəçiləri seçin.",
"chat.manage-room": "Söhbət otağını idarə et",
"chat.add-user": "İstifadəçi əlavə et",
"chat.notification-settings": "Bildiriş parametrləri",
"chat.default-notification-setting": "Defolt bildiriş parametri",
"chat.join-leave-messages": "Join/Leave Messages",
"chat.notification-setting-room-default": "Defolt otaq",
"chat.notification-setting-none": "Bildiriş yoxdur",
"chat.notification-setting-at-mention-only": "yalnız @qeyd",
"chat.notification-setting-all-messages": "Bütün mesajlar",
"chat.select-groups": "Qrup seçin",
"chat.add-user-help": "İstifadəçiləri burada axtarın. Seçildikdə istifadəçi söhbətə əlavə ediləcək. Yeni istifadəçi söhbətə əlavə olunmamışdan əvvəl yazılan söhbət mesajlarını görə bilməyəcək. Yalnız otaq sahibləri (<i class=\"fa fa-star text-warning\"></i>) istifadəçiləri söhbət otaqlarından silə bilər.",
"chat.confirm-chat-with-dnd-user": "Bu istifadəçi öz statusunu DnD (Narahat etməyin) olaraq təyin edib. Siz hələ də onlarla söhbət etmək istəyirsiniz?",
"chat.room-name-optional": "Otaq Adı (İstəyə görə)",
"chat.rename-room": "Otağın adını dəyiş",
"chat.rename-placeholder": "Otağınızın adını bura daxil edin",
"chat.rename-help": "Burada qoyulmuş otaq adına otaqdakı bütün iştirakçılar baxa biləcək.",
"chat.leave": "Tərk et",
"chat.leave-room": "Otağı tərk et",
"chat.leave-prompt": "Bu çatdan çıxmaq istədiyinizə əminsiniz?",
"chat.leave-help": "Bu söhbəti tərk etmək sizi bu çatda gələcək yazışmalardan siləcək. Gələcəkdə yenidən əlavə olunsanız, yenidən qoşulmadan əvvəl heç bir söhbət tarixçəsini görməyəcəksiniz.",
"chat.delete": "Sil",
"chat.delete-room": "Otağı sil",
"chat.delete-prompt": "Söhbət otağını silmək istədiyinizə əminsiniz?",
"chat.in-room": "Bu otaqda",
"chat.kick": ıxart",
"chat.show-ip": "IP-ni göstər",
"chat.copy-text": "Mətni kopyala",
"chat.copy-link": "Linki kopyala",
"chat.owner": "Otağın sahibi",
"chat.grant-rescind-ownership": "Mülkiyyət hüququ verin/ləğv edin",
"chat.system.user-join": "%1 otağa qoşuldu <span class=\"timeago\" title=\"%2\"></span>",
"chat.system.user-leave": "%1 otağı tərk etdi <span class=\"timeago\" title=\"%2\"></span>",
"chat.system.room-rename": "%2 bu otağın adını \"% 1\" olaraq dəyişdi <span class=\"timeago\" title=\"%3\"></span>",
"composer.compose": "Yaratmaq",
"composer.show-preview": "Önizləməni göstər",
"composer.hide-preview": "Önizləməni gizlət",
"composer.help": "Yardım",
"composer.user-said-in": "%1 %2-də dedi:",
"composer.user-said": "%1 dedi:",
"composer.discard": "Bu yazını silmək istədiyinizə əminsiniz?",
"composer.submit-and-lock": "Göndər və kilidlə",
"composer.toggle-dropdown": "Açılan menyunu dəyiş",
"composer.uploading": "%1 yüklənir",
"composer.formatting.bold": "Qalın",
"composer.formatting.italic": "kursiv",
"composer.formatting.heading": "Başlıq",
"composer.formatting.heading1": "Başlıq 1",
"composer.formatting.heading2": "Başlıq 2",
"composer.formatting.heading3": "Başlıq 3",
"composer.formatting.heading4": "Başlıq 4",
"composer.formatting.heading5": "Başlıq 5",
"composer.formatting.heading6": "Başlıq 6",
"composer.formatting.list": "Siyahı",
"composer.formatting.strikethrough": "Üstündən xətt çəkmək",
"composer.formatting.code": "Kod parçası",
"composer.formatting.link": "Link",
"composer.formatting.picture": "Şəkil linki",
"composer.upload-picture": "Şəkil yüklə",
"composer.upload-file": "Faylı yüklə",
"composer.zen-mode": "Zen rejimi",
"composer.select-category": "Kateqoriya seç",
"composer.textarea.placeholder": "Yazı məzmununuzu buraya daxil edin, şəkilləri sürükləyin və buraxın",
"composer.post-queue-alert": "Salam 👋! <br/>Bu forum yazı növbə sistemindən istifadə edir, çünki siz yeni istifadəçi olduğunuza görə yazınız moderasiya komandamız tərəfindən təsdiqlənənə qədər gizlədilir.",
"composer.schedule-for": "Mövzunu planlaşdırın",
"composer.schedule-date": "Tarix",
"composer.schedule-time": "Zaman",
"composer.cancel-scheduling": "Planlaşdırmanı ləğv et",
"composer.change-schedule-date": "Tarixi dəyiş",
"composer.set-schedule-date": "Tarix təyin et",
"composer.discard-all-drafts": "Bütün qaralamaları ləğv edin",
"composer.no-drafts": "Qaralamalarınız yoxdur",
"composer.discard-draft-confirm": "Bu qaralamadan imtina etmək istəyirsiniz?",
"composer.remote-pid-editing": "Uzaqdan göndərilən yazının redaktəsi",
"composer.remote-pid-content-immutable": "Uzaq yazıların məzmunu redaktə edilə bilməz. Bununla belə, siz mövzunun başlığını və teqlərini dəyişə bilərsiniz.",
"bootbox.ok": "OK",
"bootbox.cancel": "Ləğv et",
"bootbox.confirm": "Təsdiqlə",
"bootbox.submit": "Göndər",
"bootbox.send": "Göndər",
"cover.dragging-title": "Örtük fotoşəkilinin yerləşdirilməsi",
"cover.dragging-message": "Örtük şəklini istədiyiniz yerə çəkin və \"Saxla\" düyməsini basın",
"cover.saved": "Örtük şəkli və mövqeyi yadda saxlandı",
"thumbs.modal.title": "Mövzunun kiçik şəkillərini idarə edin",
"thumbs.modal.no-thumbs": "Heç bir kiçik şəkil tapılmadı.",
"thumbs.modal.resize-note": "<strong>Qeyd</strong>: Bu forum mövzu kiçik şəkillərinin ölçüsünü maksimum %1px eninə qədər dəyişdirmək üçün konfiqurasiya edilmişdir.",
"thumbs.modal.add": "Kiçik şəkil əlavə et",
"thumbs.modal.remove": "Kiçik şəkli sil",
"thumbs.modal.confirm-remove": "Bu kiçik şəkli silmək istədiyinizə əminsiniz?"
}

View File

@@ -0,0 +1,105 @@
{
"title": "Bildirişlər",
"no-notifs": "Yeni bildirişləriniz yoxdur",
"see-all": "Bütün bildirişlər",
"mark-all-read": "Oxunmuş et",
"back-to-home": "%1-ə qayıt",
"outgoing-link": ıxış linki",
"outgoing-link-message": "İndi %1-i tərk edirsiniz",
"continue-to": "%1-ə davam edin",
"return-to": "%1-ə qayıt",
"new-notification": "Yeni bildirişiniz var",
"you-have-unread-notifications": "Oxunmamış bildirişləriniz var.",
"all": "Hamısı",
"topics": "Mövzular",
"tags": "Teqlər",
"categories": "Kateqoriyalar",
"replies": "Cavablar",
"chat": "Söhbətlər",
"group-chat": "Qrup söhbətləri",
"public-chat": "İctimai söhbətlər",
"follows": "İzləmələr",
"upvote": "Müsbət səslər",
"awards": "Mükafatlar",
"new-flags": "Yeni bayraqlar",
"my-flags": "Mənə təyin olunmuş bayraqlar",
"bans": "Qadağalar",
"new-message-from": "%1-dən yeni mesaj",
"new-messages-from": "<strong>%2</strong>-dən %1 yeni mesaj",
"new-message-in": "<strong>%1</strong>-də yeni mesaj",
"new-messages-in": "<strong>%2</strong>-də %1 yeni mesaj",
"user-posted-in-public-room": "<strong>%1</strong> <strong class=\"text-nowrap\"><i class=\"fa %2\"></i>%3</strong>-də yazdı",
"user-posted-in-public-room-dual": "<strong>%1</strong> və <strong>%2</strong> <strong class=\"text-nowrap\"><i class=\"fa %3\"></i>%4</strong>-də yazdı",
"user-posted-in-public-room-triple": "<strong>%1</strong>, <strong>%2</strong> və <strong>%3</strong> <strong class=\"text-nowrap\"><i class=\"fa %4\"></i>%5</strong> ilə yazır",
"user-posted-in-public-room-multiple": "<strong>%1</strong>, <strong>%2</strong> və %3 digərləri <strong class=\"text-nowrap\"><i class=\"fa %4\"></i>%5</strong>-də yazıblar",
"upvoted-your-post-in": "<strong>%1</strong>, <strong>%2</strong>-də yazınıza müsbət səs verdi.",
"upvoted-your-post-in-dual": "<strong>%1</strong> və <strong>%2</strong> <strong>%3</strong>-də yazınıza müsbət səs verdi.",
"upvoted-your-post-in-triple": "<strong>%1</strong>, <strong>%2</strong> və <strong>%3</strong> <strong>%4</strong>-də yazınıza müsbət səs verdi.",
"upvoted-your-post-in-multiple": "<strong>%1</strong>, <strong>%2</strong> və %3 digərləri <strong>%4</strong>-də yazınıza müsbət səs verdilər.",
"moved-your-post": "<strong>%1</strong> yazınızı <strong>%2</strong>-ə köçürdü",
"moved-your-topic": "<strong>%1</strong> <strong>%2</strong>-ni köçürdü",
"user-flagged-post-in": "<strong>%1</strong>, <strong>%2</strong>-də yazını qeyd etdi",
"user-flagged-post-in-dual": "<strong>%1</strong> və <strong>%2</strong> yazını <strong>%3</strong>-də qeyd etdi",
"user-flagged-post-in-triple": "<strong>%1</strong>, <strong>%2</strong> və <strong>%3</strong> <strong>%4</strong>-də postu qeyd etdi",
"user-flagged-post-in-multiple": "<strong>%1</strong>, <strong>%2</strong> və %3 başqaları <strong>%4</strong>-də yazını işarələdi",
"user-flagged-user": "<strong>% 1</strong> istifadəçi profilini işarələdi (%2)",
"user-flagged-user-dual": "<strong>%1</strong> və <strong>%2</strong> istifadəçi profilini qeyd etdi (%3)",
"user-flagged-user-triple": "<strong>%1</strong>, <strong>%2</strong> və <strong>%3</strong> istifadəçi profilini qeyd etdi (%4)",
"user-flagged-user-multiple": "<strong>%1</strong>, <strong>%2</strong> və digər %3 digər istifadəçi profilini qeyd etdi (%4)",
"user-posted-to": "<strong>%1</strong> cavab yazdı: <strong>%2</strong>",
"user-posted-to-dual": "<strong>%1</strong> və <strong>%2</strong> cavablar göndərdi: <strong>%3</strong>",
"user-posted-to-triple": "<strong>%1</strong>, <strong>%2</strong> və <strong>%3</strong> cavablar göndərdi: <strong>%4</strong>",
"user-posted-to-multiple": "<strong>%1</strong>, <strong>%2</strong> və %3 başqaları cavab yazmışdır: <strong>%4</strong>",
"user-posted-topic": "<strong>%1</strong> yeni mövzu yerləşdirdi: <strong>%2</strong>",
"user-edited-post": "<strong>%1</strong> <strong>%2</strong>-də yazını redaktə etdi",
"user-posted-topic-with-tag": "<strong>%1</strong>, <strong>%2</strong>-ni dərc etdi (%3 ilə taq edilib)",
"user-posted-topic-with-tag-dual": "<strong>%1</strong> paylaşdı <strong>%2</strong> (%3 və %4 təqli)",
"user-posted-topic-with-tag-triple": "<strong>%1</strong> paylaşdı <strong>%2</strong> (teqli %3, %4 və %5)",
"user-posted-topic-with-tag-multiple": "<strong>%1</strong>, <strong>%2</strong>-ni dərc etdi (%3 ilə işarələnmiş)",
"user-posted-topic-in-category": "<strong>%1</strong> <strong>%2</strong>-də yeni mövzu yerləşdirdi",
"user-started-following-you": "<strong>%1</strong> sizi izləməyə başladı.",
"user-started-following-you-dual": "<strong>%1</strong> və <strong>%2</strong> sizi izləməyə başladı.",
"user-started-following-you-triple": "<strong>%1</strong>, <strong>%2</strong> və <strong>%3</strong> sizi izləməyə başladı.",
"user-started-following-you-multiple": "<strong>%1</strong>, <strong>%2</strong> və %3 başqaları sizi izləməyə başladılar.",
"new-register": "<strong>%1</strong> qeydiyyat sorğusu göndərdi.",
"new-register-multiple": "Nəzərdən keçirilməsini gözləyən <strong>%1</strong> qeydiyyat sorğusu var.",
"flag-assigned-to-you": "<strong>%1</strong> bayrağı sizə təyin olundu",
"post-awaiting-review": "Yazı nəzərdən keçirilməsini gözləyir",
"profile-exported": "<strong>%1</strong> profil ixrac edildi, endirmək üçün klikləyin",
"posts-exported": "<strong>%1</strong> yazı ixrac edildi, endirmək üçün klikləyin",
"uploads-exported": "<strong>%1</strong> yükləmə ixrac edildi, endirmək üçün klikləyin",
"users-csv-exported": "İstifadəçilər csv faylına ixrac edildi, yükləmək üçün klikləyin",
"post-queue-accepted": "Növbəyə qoyduğunuz yazı qəbul edildi. Yazınıza baxmaq üçün bura klikləyin.",
"post-queue-rejected": "Növbəyə qoyduğunuz yazı rədd edildi.",
"post-queue-notify": "Növbəyə qoyulmuş yazı bildiriş aldı:<br/>\"% 1\"",
"email-confirmed": "E-poçt təsdiqləndi",
"email-confirmed-message": "E-poçtunuzu təsdiq etdiyiniz üçün təşəkkür edirik. Artıq hesabınız tam aktivləşdirilib.",
"email-confirm-error-message": "E-poçt ünvanınızı təsdiqkləyərkən problem baş verdi. Ola bilsin ki, kod etibarsız olub və ya vaxtı keçib.",
"email-confirm-sent": "Təsdiq e-poçtu göndərildi.",
"none": "Heç biri",
"notification-only": "Yalnız bildiriş",
"email-only": "Yalnız E-poçt",
"notification-and-email": "Bildiriş və E-poçt",
"notificationType-upvote": "Kimsə yazınıza müsbət səs verdikdə",
"notificationType-new-topic": "İzlədiyiniz biri mövzu yazdıqda",
"notificationType-new-topic-with-tag": "Mövzu izlədiyiniz teqlə dərc edildikdə",
"notificationType-new-topic-in-category": "Baxdığınız kateqoriyada mövzu yerləşdirildikdə",
"notificationType-new-reply": "Baxdığınız mövzuda yeni cavab yerləşdirildikdə",
"notificationType-post-edit": "Baxdığınız mövzuda yazı redaktə edildikdə",
"notificationType-follow": "Kimsə sizi izləməyə başlayanda",
"notificationType-new-chat": "Söhbət mesajı aldığınız zaman",
"notificationType-new-group-chat": "Qrup söhbət mesajı aldığınız zaman",
"notificationType-new-public-chat": "İctimai qrup söhbət mesajı aldığınız zaman",
"notificationType-group-invite": "Qrup dəvəti aldığınız zaman",
"notificationType-group-leave": "İstifadəçi qrupunuzu tərk etdikdə",
"notificationType-group-request-membership": "Kimsə sizin sahib olduğunuz qrupa qoşulmaq üçün sorğu göndərdikdə",
"notificationType-new-register": "Kimsə qeydiyyat növbəsinə əlavə edildikdə",
"notificationType-post-queue": "Yeni yazı növbəyə qoyulduqda",
"notificationType-new-post-flag": "Yazı işarələndikdə",
"notificationType-new-user-flag": "İstifadəçi işarələndikdə",
"notificationType-new-reward": "Yeni bir mükafat qazandığınız zaman",
"activitypub.announce": "<strong>%1</strong> yazınızı <strong>%2</strong>-də öz izləyiciləri ilə paylaşdı.",
"activitypub.announce-dual": "<strong>%1</strong> və <strong>%2</strong> yazınızı <strong>%3</strong>-də öz izləyiciləri ilə paylaşdı.",
"activitypub.announce-triple": "<strong>%1</strong>, <strong>%2</strong> və <strong>%3</strong> yazınızı <strong>%4</strong>-də öz izləyiciləri ilə paylaşdı.",
"activitypub.announce-multiple": "<strong>%1</strong>, <strong>%2</strong> və %3 başqaları <strong>%4</strong>-də yazınızı öz izləyiciləri ilə paylaşdı."
}

View File

@@ -0,0 +1,71 @@
{
"home": "Əsas səhifə",
"unread": "Oxunmamış mövzular",
"popular-day": "Bu günün populyar mövzuları",
"popular-week": "Bu həftənin populyar mövzuları",
"popular-month": "Bu ayın populyar mövzuları",
"popular-alltime": "Bütün zamanların populyar mövzuları",
"recent": "Son Mövzular",
"top-day": "Bu gün ən çox səs toplayan mövzular",
"top-week": "Bu həftə ən çox səs toplayan mövzular",
"top-month": "Bu ay ən çox səs toplayan mövzular",
"top-alltime": "Ən çox səs verilən mövzular",
"moderator-tools": "Moderator alətləri",
"flagged-content": "İşarələnmiş məzmun",
"ip-blacklist": "IP qara siyahısı",
"post-queue": "Yazı növbəsi",
"registration-queue": "Qeydiyyat növbəsi",
"users/online": "Online istifadəçilər",
"users/latest": "Son istifadəçilər",
"users/sort-posts": "Ən çox yazısı olan istifadəçilər",
"users/sort-reputation": "Ən çox reputasiyası olan istifadəçilər",
"users/banned": "Bloklanmış istifadəçilər",
"users/most-flags": "Ən çox işarələnmiş istifadəçilər",
"users/search": "İstifadəçi axtarışı",
"notifications": "Bildirişlər",
"tags": "Teqlər",
"tag": "&quot;%1&quot; altında teqlənmiş mövzular",
"register": "Hesab yaradın",
"registration-complete": "Qeydiyyat tamamlandı",
"login": "Hesabınıza daxil olun",
"reset": "Hesabınızın şifrəsini sıfırlayın",
"categories": "Kateqoriyalar",
"groups": "Qruplar",
"group": "%1 qrup",
"chats": "Söhbətlər",
"chat": "%1 ilə söhbət",
"flags": "İşarələr",
"flag-details": "%1 təfərrüatları işarələ",
"world": "Dünya",
"account/edit": "\"%1\" redaktəsi",
"account/edit/password": "\"%1\" şifrəsinin redaktəsi",
"account/edit/username": "\"%1\" istifadəçi adının redaktəsi",
"account/edit/email": "\"%1\" e-poçtunun redaktəsi",
"account/info": "Hesab məlumatları",
"account/following": "%1 nəfər izləyir",
"account/followers": "%1-i izləyən insanlar",
"account/posts": "%1 tərəfindən hazırlanmış yazılar",
"account/latest-posts": "%1 tərəfindən əlavə edilən son yazılar",
"account/topics": "%1 tərəfindən yaradılmış mövzular ",
"account/groups": "%1-in qrupları",
"account/watched-categories": "%1-in izlənən kateqoriyalar",
"account/watched-tags": "%1-in izlənən teqlər",
"account/bookmarks": "%1-in əlfəcinli yazıları",
"account/settings": "İstifadəçi ayarları",
"account/settings-of": "%1 parametrləri dəyişdirilir",
"account/watched": "%1 tərəfindən izlənilən mövzular",
"account/ignored": "%1 tərəfindən rədd edilən mövzular",
"account/read": "%1 tərəfindən oxunan mövzular",
"account/upvoted": "%1 tərəfindən müsbət səsə sahib yazılar",
"account/downvoted": "%1 tərəfindən mənfi səsə sahib yazılar",
"account/best": "%1 tərəfindən hazırlanmış ən yaxşı yazılar",
"account/controversial": "%1 tərəfindən edilən mübahisəli postlar",
"account/blocks": "%1 üçün bloklanmış istifadəçilər",
"account/uploads": "%1 aid yükləmələr",
"account/sessions": "Giriş sessiyaları",
"account/shares": "%1 tərəfindən paylaşılan mövzular",
"confirm": "E-poçt təsdiqləndi",
"maintenance.text": "%1 hazırda texniki baxışdan keçir. <br/>Lütfən, başqa vaxt geri qayıdın.",
"maintenance.messageIntro": "Əlavə olaraq, administrator bu mesajı yazıb:",
"throttled.text": "Həddindən artıq yükləmə səbəbindən %1 hazırda əlçatan deyil. Zəhmət olmasa, başqa vaxt geri qayıdın."
}

View File

@@ -0,0 +1,43 @@
{
"post-queue": "Yazı növbəsi",
"no-queued-posts": "Yazı növbəsində heç bir yazı yoxdur.",
"no-single-post": "Axtardığınız mövzu və ya yazı artıq növbədə deyil. Çox güman ki, artıq təsdiqlənib və ya silinib.",
"enabling-help": "Yazı növbəsi hazırda <strong>deaktivdir</strong>. Bu funksiyanı aktivləşdirmək üçün <a href=\"%1\">Parametrlərə keçin &rarr; Post &rarr; Növbəni Göndər</a> və <strong>Yazı növbəsini aktivləşdir</strong>.",
"back-to-list": "Yazı növbəsinə qayıt",
"public-intro": "Əgər növbəyə qoyulmuş yazılarınız varsa, onlar burada göstəriləcək.",
"public-description": "Bu forum moderatorun təsdiqini gözləyən yeni hesablardan yazıları avtomatik növbəyə salmaq üçün konfiqurasiya olunub. <br />Təsdiqini gözləyən yazılarınız varsa, onları burada görə biləcəksiniz.",
"user": "İstifadəçi",
"when": "Nə zaman",
"category": "Kateqoriya",
"title": "Başlıq",
"content": "Məzmun",
"posted": "Dərc olunub",
"reply-to": "\"% 1\" cavab yazın",
"content-editable": "Redaktə etmək üçün məzmuna klikləyin",
"category-editable": "Redaktə etmək üçün kateqoriyaya klikləyin",
"title-editable": "Redaktə etmək üçün başlığa klikləyin",
"reply": "Cavab ver",
"topic": "Mövzu",
"accept": "Qəbul et",
"reject": "Rədd et",
"remove": "Sil",
"notify": "Xəbərdar et",
"notify-user": "İstifadəçini xəbərdar et",
"confirm-reject": "Bu yazını rədd etmək istəyirsiniz?",
"confirm-remove": "Bu yazını silmək istəyirsiniz?",
"bulk-actions": "Toplu hərəkətlər",
"accept-all": "Hamısını qəbul et",
"accept-selected": "Seçilmişləri qəbul edin",
"reject-all": "Hamısını rədd et",
"reject-all-confirm": "Bütün yazıları rədd etmək istəyirsiniz?",
"reject-selected": "Seçilənləri rədd et",
"reject-selected-confirm": "Seçilmiş %1 yazıdan imtina etmək istəyirsiniz?",
"remove-all": "Hamısını sil",
"remove-all-confirm": "Bütün yazıları silmək istəyirsiniz?",
"remove-selected": "Seçilmişləri sil",
"remove-selected-confirm": "Seçilmiş %1 yazını silmək istəyirsiniz?",
"bulk-accept-success": "%1 yazı qəbul edildi",
"bulk-reject-success": "%1 yazı rədd edildi",
"links-in-this-post": "Bu yazıdakı linklər"
}

View File

@@ -0,0 +1,13 @@
{
"title": "Ən yeni",
"day": "Gün",
"week": "Həftə",
"month": "Ay",
"year": "İl",
"alltime": "Bütün zamanlar",
"no-recent-topics": "Heç bir son mövzu yoxdur.",
"no-popular-topics": "Heç bir populyar mövzu yoxdur.",
"load-new-posts": "Yeni yazıları yükləyin",
"uncategorized.title": "Bütün məlum mövzular",
"uncategorized.intro": "Bu səhifədə bu forumun qəbul etdiyi hər bir mövzunun xronoloji siyahısı göstərilir. <br />Aşağıdakı mövzularda ifadə edilən fikirlər və mülahizələr moderasiya edilmir və bu veb-saytın fikir və mülahizələrini təmsil etməyə bilər."
}

View File

@@ -0,0 +1,33 @@
{
"register": "Qeydiyyatdan keç",
"already-have-account": "Artıq hesabınız var?",
"cancel-registration": "Qeydiyyatı ləğv et",
"help.email": "Susmuş olaraq, e-poçtunuz ictimaiyyətdən gizlədiləcək.",
"help.username-restrictions": "%1 və %2 simvollar arasında unikal istifadəçi adı. Digərləri sizi @<span id='yourUsername'>username</span> ilə qeyd edə bilər.",
"help.minimum-password-length": "Şifrənizin uzunluğu ən azı %1 simvoldan ibarət olmalıdır.",
"email-address": "E-poçt ünvanı",
"email-address-placeholder": "E-poçt ünvanını daxil edin",
"username": "İstifadəçi adı",
"username-placeholder": "İstifadəçi adı daxil edin",
"password": "Şifrə",
"password-placeholder": "Şifrəni daxil edin",
"confirm-password": "Şifrəni təsdiqlə",
"confirm-password-placeholder": "Şifrəni təsdiqlə",
"register-now-button": "İndi qeydiyyatdan keç",
"alternative-registration": "Alternativ qeydiyyat",
"terms-of-use": "İstifadə şərtləri",
"agree-to-terms-of-use": "Mən İstifadə Şərtləri ilə razılaşıram",
"terms-of-use-error": "Siz İstifadə Şərtləri ilə razılaşmalısınız",
"registration-added-to-queue": "Qeydiyyatınız təsdiq sırasına əlavə edildi. Administrator tərəfindən qəbul edildikdə e-məktub alacaqsınız.",
"registration-queue-average-time": "Üzvlükləri təsdiqləmək üçün orta müddətimiz %1 saat %2 dəqiqədir.",
"registration-queue-auto-approve-time": "Bu foruma üzvlüyünüz %1 saat ərzində tam aktivləşəcək.",
"interstitial.intro": "Hesabınızı yeniləmək üçün bəzi əlavə məlumat istərdik&hellip;",
"interstitial.intro-new": "Hesabınızı yaratmazdan əvvəl biz bəzi əlavə məlumat istərdik&hellip;",
"interstitial.errors-found": "Zəhmət olmasa daxil edilmiş məlumatları nəzərdən keçirin:",
"gdpr-agree-data": "Mən bu saytda şəxsi məlumatlarımın toplanması və işlənməsi ilə razılaşıram.",
"gdpr-agree-email": "Mən bu vebsaytdan həzm və bildiriş e-məktublarını almağa razıyam.",
"gdpr-consent-denied": "Siz bu sayta məlumatlarınızı toplamaq/emal etmək və sizə e-poçt göndərmək üçün razılıq verməlisiniz.",
"invite.error-admin-only": "Birbaşa istifadəçi qeydiyyatı deaktiv edilib. Ətraflı məlumat üçün administratorla əlaqə saxlayın.",
"invite.error-invite-only": "Birbaşa istifadəçi qeydiyyatı deaktiv edilib. Siz bu foruma daxil olmaq üçün mövcud istifadəçi tərəfindən dəvət olunmalısınız.",
"invite.error-invalid-data": "Alınan qeydiyyat məlumatları qeydlərimizə uyğun gəlmir. Ətraflı məlumat üçün administratorla əlaqə saxlamağınız xahiş olunur"
}

View File

@@ -0,0 +1,18 @@
{
"reset-password": "Şifrəni sıfırla",
"update-password": "Şifrəni yenilə",
"password-changed.title": "Şifrə dəyişildi",
"password-changed.message": "<p>Şifrə uğurla sıfırlandı, lütfən, yenidən <a href=\"/login\">daxil olun</a>.",
"wrong-reset-code.title": "Səhv sıfırlama kodu",
"wrong-reset-code.message": "Alınan sıfırlama kodu yanlışdir. Yenidən cəhd edin və ya <a href=\"/reset\">yeni sıfırlama kodu tələb edin</a>.",
"new-password": "Yeni şifrə",
"repeat-password": "Şifrəni təsdiqlə",
"changing-password": "Şifrənin dəyişdirilməsi",
"enter-email": "Zəhmət olmasa, <strong>e-poçt ünvanınızı</strong> daxil edin və sizə hesabınızı necə sıfırlayacağınıza dair təlimatları göndərək.",
"enter-email-address": "E-poçt ünvanını daxil edin",
"password-reset-sent": "Göstərilən ünvan mövcud istifadəçi hesabına uyğun gəlirsə, şifrənin sıfırlanması e-poçtu göndərildi. Unutmayın ki, dəqiqədə yalnız bir e-poçt göndəriləcək.",
"invalid-email": "Etibarsız E-poçt / E-poçt mövcud deyil!",
"password-too-short": "Daxil edilmiş şifrə çox qısadır, lütfən, başqa parol seçin.",
"passwords-do-not-match": "Daxil etdiyiniz şifrələr üst-üstə düşmür.",
"password-expired": "Şifrənizin vaxtı keçib, yeni parol seçin"
}

View File

@@ -0,0 +1,10 @@
{
"awarded-x-reputation": "Siz <strong>%1</strong> reputasiyaya layiq görülmüsünüz",
"awarded-group-membership": "Siz <strong>%1</strong> qrupuna əlavə edildiniz",
"essentials/user.reputation-conditional-value": "<span class=\"text-xs\">(Reputasiya %1 %2)</span>",
"essentials/user.postcount-conditional-value": "<span class=\"text-xs\">(Yazıların sayı %1 %2)</span>",
"essentials/user.lastonline-conditional-value": "<span class=\"text-xs\">(Son onlayn %1 %2)</span>",
"essentials/user.joindate-conditional-value": "<span class=\"text-xs\">(Qoşulma tarixi %1 %2)</span>",
"essentials/user.daysregistered-conditional-value": "<span class=\"text-xs\">(Qeydiyyatdan keçmiş günlər %1 %2)</span>"
}

View File

@@ -0,0 +1,110 @@
{
"type-to-search": "Axtarmaq üçün daxil edin",
"results-matching": "\"%2\" ilə uyğun gələn %1 nəticə(lər) (%3 saniyə)",
"no-matches": "Heç bir uyğunluq tapılmadı",
"advanced-search": "Ətraflı axtarış",
"in": "in",
"in-titles": "Başlıqlarda",
"in-titles-posts": "Başlıqlarda və yazılarda",
"in-posts": "Yazılarda",
"in-bookmarks": "Əlfəcinlərdə",
"in-categories": "Kateqoriyalarda",
"in-users": "İstifadəçilərdə",
"in-tags": "Teqlərdə",
"categories": "Kateqoriyalar",
"all-categories": "Bütün kateqoriyalar",
"categories-x": "Kateqoriyalar: %1",
"categories-watched-categories": "Kateqoriyalar: Baxılan kateqoriyalar",
"type-a-category": "Bir kateqoriya daxil edin",
"tags": "Teqlər",
"tags-x": "Teqlər: %1",
"type-a-tag": "Teq daxil edin",
"match-words": "Sözləri uyğunlaşdır",
"match-all-words": "Bütün sözləri uyğunlaşdır",
"match-any-word": "İstənilən sözü uyğunlaşdır",
"all": "Hamısı",
"any": "İstənilən",
"posted-by": "Müəllif",
"posted-by-usernames": "Müəllif: %1",
"type-a-username": "İstifadəçi adı daxil edin",
"search-child-categories": "Alt kateqoriyasını axtarın",
"has-tags": "Haşteqlər",
"reply-count": "Cavab sayı",
"replies": "Cavablar",
"replies-atleast-count": "Cavablar: Ən azı %1",
"replies-atmost-count": "Cavablar: Ən çox %1",
"at-least": "Ən azından",
"at-most": "Ən çox",
"relevance": "Uyğunluq",
"time": "Zaman",
"post-time": "Dərc etmə vaxtı",
"votes": "Səslər",
"newer-than": "-dən yeni",
"older-than": "-dən yaşlı",
"any-date": "İstənilən tarix",
"yesterday": "Dünən",
"one-week": "Bir həftə",
"two-weeks": "İki həftə",
"one-month": "Bir ay",
"three-months": "Üç ay",
"six-months": "Altı ay",
"one-year": "Bir il",
"time-newer-than-86400": "Vaxt: Dünəndən daha yeni",
"time-older-than-86400": "Vaxt: Dünəndən köhnə",
"time-newer-than-604800": "Vaxt: Bir həftədən az",
"time-older-than-604800": "Vaxt: Bir həftədən çox",
"time-newer-than-1209600": "Vaxt: İki həftədən az",
"time-older-than-1209600": "Vaxt: İki həftədən çox",
"time-newer-than-2592000": "Vaxt: Bir aydan az",
"time-older-than-2592000": "Vaxt: Bir aydan çox",
"time-newer-than-7776000": "Vaxt: Üç aydan az",
"time-older-than-7776000": "Vaxt: Üç aydan çox",
"time-newer-than-15552000": "Vaxt: Altı aydan az",
"time-older-than-15552000": "Vaxt: Altı aydan çox",
"time-newer-than-31104000": "Vaxt: Bir ildən az",
"time-older-than-31104000": "Vaxt: Bir ildən çox",
"sort-by": "Sırala",
"sort": "Sırala",
"last-reply-time": "Son cavab vaxtı",
"topic-title": "Mövzu başlığı",
"topic-votes": "Mövzu səsləri",
"number-of-replies": "Cavabların sayı",
"number-of-views": "Baxışların sayı",
"topic-start-date": "Mövzunun başlama tarixi",
"username": "İstifadəçi adı",
"category": "Kateqoriya",
"descending": "Azalan ardıcıllıqla",
"ascending": "Artan ardıcıllıqla",
"sort-by-relevance-desc": "Sırala: Azalan qaydada uyğunluq",
"sort-by-relevance-asc": "Sırala: Artan qaydada uyğunluq",
"sort-by-timestamp-desc": "Sırala: Dərc vatı azalan qaydada",
"sort-by-timestamp-asc": "Sırala: Dərc vatı artan qaydada",
"sort-by-votes-desc": "Sırala: Səslər azalan qaydada ",
"sort-by-votes-asc": "Sırala: Səslər artan qaydada ",
"sort-by-topic.lastposttime-desc": "Sırala: Son cavab vaxtı azalan qaydada ",
"sort-by-topic.lastposttime-asc": "Sırala: Son cavab vaxtı artan qaydada ",
"sort-by-topic.title-desc": "Sırala: Mövzu başlığı azalan qaydada",
"sort-by-topic.title-asc": "Sırala: Mövzu başlığı artan qaydada",
"sort-by-topic.postcount-desc": "Sırala: Cavabların sayı azalan qaydada",
"sort-by-topic.postcount-asc": "Sırala: Cavabların sayı artan qaydada",
"sort-by-topic.viewcount-desc": "Sırala: Baxışların sayı azalan qaydada",
"sort-by-topic.viewcount-asc": "Sırala: Baxışların sayı artan qaydada",
"sort-by-topic.votes-desc": "Sırala: Mövzu səsləri azalan qaydada",
"sort-by-topic.votes-asc": "Sırala: Mövzu səsləri artan qaydada",
"sort-by-topic.timestamp-desc": "Sırala: Mövzunun başlama tarixi azalan qaydada",
"sort-by-topic.timestamp-asc": "Sırala: Mövzunun başlama tarixi artan qaydada",
"sort-by-user.username-desc": "Sırala: İstifadəçi adı azalan qaydada",
"sort-by-user.username-asc": "Sırala: İstifadəçi adı artan qaydada",
"sort-by-category.name-desc": "Sırala: Kateqoriya azalan qaydada",
"sort-by-category.name-asc": "Sırala: Kateqoriya artan qaydada ",
"save": "Yadda saxla",
"save-preferences": "Seçimləri yadda saxla",
"clear-preferences": "Tərcihləri sil",
"search-preferences-saved": "Axtarış seçimləri yadda saxlandı",
"search-preferences-cleared": "Axtarış seçimləri təmizləndi",
"show-results-as": "Nəticələri aşağıdakı kimi göstər",
"show-results-as-topics": "Nəticələri mövzu kimi göstər",
"show-results-as-posts": "Nəticələri yazı kimi göstər",
"see-more-results": "Daha çox nəticəyə baxın (%1)",
"search-in-category": "\"% 1\" də axtar"
}

View File

@@ -0,0 +1,14 @@
{
"sign-in-with-twitter": "Twitter ilə daxil olun",
"sign-up-with-twitter": "Twitter ilə qeydiyyatdan keç",
"sign-in-with-github": "Github ilə daxil olun",
"sign-up-with-github": "Github ilə qeydiyyatdan keç",
"sign-in-with-google": "Google ilə daxil olun",
"sign-up-with-google": "Google ilə qeydiyyatdan keç",
"log-in-with-facebook": "Facebook ilə daxil olun",
"continue-with-facebook": "Facebook ilə davam edin",
"sign-in-with-linkedin": "LinkedIn ilə daxil olun",
"sign-up-with-linkedin": "LinkedIn ilə qeydiyyatdan keç",
"sign-in-with-wordpress": "Sign in with WordPress",
"sign-up-with-wordpress": "Sign up with WordPress"
}

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