Compare commits

..

18 Commits

Author SHA1 Message Date
Misty (Bot)
3a836017de chore: incrementing version number - v1.13.4-4 2020-05-21 23:45:48 +00:00
Misty (Bot)
a6ab71f373 Merge commit '6f504c4142d7584cdfe9347cd5cf183c655e2159' into v1.13.x 2020-05-21 23:45:47 +00:00
Misty (Bot)
7fee153438 chore: incrementing version number - v1.13.4-3 2020-05-20 15:42:49 +00:00
Misty (Bot)
9005f67852 Merge commit 'e327d1247ec6bc4882e873b23e2b8a7ce33cedcb' into v1.13.x 2020-05-20 15:42:49 +00:00
Misty (Bot)
ed6bfd05df chore: incrementing version number - v1.13.4-2 2020-05-20 13:26:18 +00:00
Misty (Bot)
8c373eb028 Merge commit 'f2907908c904229289ace88beec81aa95a9a5993' into v1.13.x 2020-05-20 13:26:18 +00:00
Misty (Bot)
2fd9ae5866 chore: incrementing version number - v1.13.4-1 2020-05-20 00:12:00 +00:00
Misty (Bot)
89e66f19c9 Merge commit '2a00b0e973ca6f2d04482f037afda5bc7a22b6b3' into v1.13.x 2020-05-20 00:12:00 +00:00
Misty (Bot)
695a3e3c6a chore: incrementing version number - v1.13.4-0 2020-05-14 01:28:09 +00:00
Misty (Bot)
6db8754544 Merge commit '45dfeeb033672e6537e8a8efd7a2970129a86a5a' into v1.13.x 2020-05-14 01:28:09 +00:00
Misty (Bot)
5db31e7e95 chore: incrementing version number - v1.13.3 2020-05-08 14:52:44 +00:00
Misty (Bot)
ffdc618a91 Merge commit 'd09bd2cfdf80e69e2462ebb04cf62e0c10443802' into v1.13.x 2020-05-08 14:52:43 +00:00
Barış Soner Uşaklı
a476d7261b fix: pin jquery version 2020-04-23 11:07:38 -04:00
Misty (Bot)
71f4607db4 chore: incrementing version number - v1.13.2 2020-02-05 21:03:51 +00:00
Misty (Bot)
d6ac2ba396 Merge commit 'a5ef6b53b8aab7b3e472eb3857c82ad3d72a6516' into v1.13.x 2020-02-05 21:03:51 +00:00
Misty (Bot)
d1e0672fa6 chore: incrementing version number - v1.13.1 2019-12-19 20:16:59 +00:00
Misty (Bot)
bf7cab0e4f Merge commit '94e2c7e4bb0bc8f6db6bc25537b4a630e6a4f487' into v1.13.x 2019-12-19 20:16:59 +00:00
Misty (Bot)
c6ef1486de chore: incrementing version number - v1.13.0 2019-11-13 21:43:14 +00:00
1899 changed files with 8535 additions and 21975 deletions

View File

@@ -24,7 +24,7 @@
"consistent-return": "off",
"func-names": "off",
"no-tabs": "off",
"indent": ["error", "tab", { "SwitchCase": 1 }],
"indent": ["error", "tab"],
"no-eq-null": "off",
"camelcase": "off",
"no-new": "off",
@@ -121,7 +121,7 @@
// "comma-spacing": "off",
// "no-trailing-spaces": "off",
// "key-spacing": "off",
"no-multiple-empty-lines": "off"
// "no-multiple-empty-lines": "off",
// "spaced-comment": "off",
// "space-in-parens": "off",
// "block-spacing": "off",

9
.github/SECURITY.md vendored
View File

@@ -1,9 +0,0 @@
# Reporting a security vulnerability
NodeBB's security policy is based around a private bug bounty program. Users are invited to explore NodeBB for vulnerabilities, and report them to the NodeBB team so that they can be patched.
If you have found a security vulnerability, **do not post it onto our GitHub tracker**. Some security vulnerabilities are quite severe and discretion is recommended. Email the NodeBB Security Team at security@nodebb.org, instead.
# Bug Bounty Program
Security vulnerability reports may be eligible for a bounty based on severity and confirmation from NodeBB team members. For full details regarding our bug bounty program, including the bounty amounts, please consult the following page: https://blog.nodebb.org/bounty

3
.gitignore vendored
View File

@@ -67,5 +67,4 @@ test/files/normalise.jpg.png
test/files/normalise-resized.jpg
package-lock.json
/package.json
*.mongodb
link-plugins.sh
*.mongodb

View File

@@ -39,7 +39,6 @@ addons:
- g++-4.8
- mongodb-org-server
node_js:
- "14"
- "12"
- "10"
branches:

View File

@@ -251,106 +251,6 @@ trans.zh_CN = public/language/zh-CN/modules.json
trans.zh_TW = public/language/zh-TW/modules.json
type = KEYVALUEJSON
[nodebb.post-queue]
file_filter = public/language/<lang>/post-queue.json
source_file = public/language/en-GB/post-queue.json
source_lang = en_GB
trans.ar = public/language/ar/post-queue.json
trans.bg = public/language/bg/post-queue.json
trans.bn = public/language/bn/post-queue.json
trans.cs = public/language/cs/post-queue.json
trans.da = public/language/da/post-queue.json
trans.de = public/language/de/post-queue.json
trans.el = public/language/el/post-queue.json
trans.en@pirate = public/language/en-x-pirate/post-queue.json
trans.en_US = public/language/en-US/post-queue.json
trans.es = public/language/es/post-queue.json
trans.et = public/language/et/post-queue.json
trans.fa_IR = public/language/fa-IR/post-queue.json
trans.fi = public/language/fi/post-queue.json
trans.fr = public/language/fr/post-queue.json
trans.gl = public/language/gl/post-queue.json
trans.he = public/language/he/post-queue.json
trans.hr = public/language/hr/post-queue.json
trans.hu = public/language/hu/post-queue.json
trans.id = public/language/id/post-queue.json
trans.it = public/language/it/post-queue.json
trans.ja = public/language/ja/post-queue.json
trans.ko = public/language/ko/post-queue.json
trans.lt = public/language/lt/post-queue.json
trans.lv = public/language/lv/post-queue.json
trans.ms = public/language/ms/post-queue.json
trans.nb = public/language/nb/post-queue.json
trans.nl = public/language/nl/post-queue.json
trans.pl = public/language/pl/post-queue.json
trans.pt_BR = public/language/pt-BR/post-queue.json
trans.pt_PT = public/language/pt-PT/post-queue.json
trans.ro = public/language/ro/post-queue.json
trans.ru = public/language/ru/post-queue.json
trans.rw = public/language/rw/post-queue.json
trans.sc = public/language/sc/post-queue.json
trans.sk = public/language/sk/post-queue.json
trans.sl = public/language/sl/post-queue.json
trans.sr = public/language/sr/post-queue.json
trans.sv = public/language/sv/post-queue.json
trans.th = public/language/th/post-queue.json
trans.tr = public/language/tr/post-queue.json
trans.uk = public/language/uk/post-queue.json
trans.vi = public/language/vi/post-queue.json
trans.zh_CN = public/language/zh-CN/post-queue.json
trans.zh_TW = public/language/zh-TW/post-queue.json
type = KEYVALUEJSON
[nodebb.ip-blacklist]
file_filter = public/language/<lang>/ip-blacklist.json
source_file = public/language/en-GB/ip-blacklist.json
source_lang = en_GB
trans.ar = public/language/ar/ip-blacklist.json
trans.bg = public/language/bg/ip-blacklist.json
trans.bn = public/language/bn/ip-blacklist.json
trans.cs = public/language/cs/ip-blacklist.json
trans.da = public/language/da/ip-blacklist.json
trans.de = public/language/de/ip-blacklist.json
trans.el = public/language/el/ip-blacklist.json
trans.en@pirate = public/language/en-x-pirate/ip-blacklist.json
trans.en_US = public/language/en-US/ip-blacklist.json
trans.es = public/language/es/ip-blacklist.json
trans.et = public/language/et/ip-blacklist.json
trans.fa_IR = public/language/fa-IR/ip-blacklist.json
trans.fi = public/language/fi/ip-blacklist.json
trans.fr = public/language/fr/ip-blacklist.json
trans.gl = public/language/gl/ip-blacklist.json
trans.he = public/language/he/ip-blacklist.json
trans.hr = public/language/hr/ip-blacklist.json
trans.hu = public/language/hu/ip-blacklist.json
trans.id = public/language/id/ip-blacklist.json
trans.it = public/language/it/ip-blacklist.json
trans.ja = public/language/ja/ip-blacklist.json
trans.ko = public/language/ko/ip-blacklist.json
trans.lt = public/language/lt/ip-blacklist.json
trans.lv = public/language/lv/ip-blacklist.json
trans.ms = public/language/ms/ip-blacklist.json
trans.nb = public/language/nb/ip-blacklist.json
trans.nl = public/language/nl/ip-blacklist.json
trans.pl = public/language/pl/ip-blacklist.json
trans.pt_BR = public/language/pt-BR/ip-blacklist.json
trans.pt_PT = public/language/pt-PT/ip-blacklist.json
trans.ro = public/language/ro/ip-blacklist.json
trans.ru = public/language/ru/ip-blacklist.json
trans.rw = public/language/rw/ip-blacklist.json
trans.sc = public/language/sc/ip-blacklist.json
trans.sk = public/language/sk/ip-blacklist.json
trans.sl = public/language/sl/ip-blacklist.json
trans.sr = public/language/sr/ip-blacklist.json
trans.sv = public/language/sv/ip-blacklist.json
trans.th = public/language/th/ip-blacklist.json
trans.tr = public/language/tr/ip-blacklist.json
trans.uk = public/language/uk/ip-blacklist.json
trans.vi = public/language/vi/ip-blacklist.json
trans.zh_CN = public/language/zh-CN/ip-blacklist.json
trans.zh_TW = public/language/zh-TW/ip-blacklist.json
type = KEYVALUEJSON
[nodebb.register]
file_filter = public/language/<lang>/register.json
source_file = public/language/en-GB/register.json
@@ -1950,304 +1850,304 @@ trans.zh_CN = public/language/zh-CN/admin/extend/widgets.json
trans.zh_TW = public/language/zh-TW/admin/extend/widgets.json
type = KEYVALUEJSON
[nodebb.admin-dashboard]
file_filter = public/language/<lang>/admin/dashboard.json
source_file = public/language/en-GB/admin/dashboard.json
[nodebb.admin-general-dashboard]
file_filter = public/language/<lang>/admin/general/dashboard.json
source_file = public/language/en-GB/admin/general/dashboard.json
source_lang = en_GB
trans.ar = public/language/ar/admin/dashboard.json
trans.bg = public/language/bg/admin/dashboard.json
trans.bn = public/language/bn/admin/dashboard.json
trans.cs = public/language/cs/admin/dashboard.json
trans.da = public/language/da/admin/dashboard.json
trans.de = public/language/de/admin/dashboard.json
trans.el = public/language/el/admin/dashboard.json
trans.en@pirate = public/language/en-x-pirate/admin/dashboard.json
trans.en_US = public/language/en-US/admin/dashboard.json
trans.es = public/language/es/admin/dashboard.json
trans.et = public/language/et/admin/dashboard.json
trans.fa_IR = public/language/fa-IR/admin/dashboard.json
trans.fi = public/language/fi/admin/dashboard.json
trans.fr = public/language/fr/admin/dashboard.json
trans.gl = public/language/gl/admin/dashboard.json
trans.he = public/language/he/admin/dashboard.json
trans.hr = public/language/hr/admin/dashboard.json
trans.hu = public/language/hu/admin/dashboard.json
trans.id = public/language/id/admin/dashboard.json
trans.it = public/language/it/admin/dashboard.json
trans.ja = public/language/ja/admin/dashboard.json
trans.ko = public/language/ko/admin/dashboard.json
trans.lt = public/language/lt/admin/dashboard.json
trans.lv = public/language/lv/admin/dashboard.json
trans.ms = public/language/ms/admin/dashboard.json
trans.nb = public/language/nb/admin/dashboard.json
trans.nl = public/language/nl/admin/dashboard.json
trans.pl = public/language/pl/admin/dashboard.json
trans.pt_BR = public/language/pt-BR/admin/dashboard.json
trans.pt_PT = public/language/pt-PT/admin/dashboard.json
trans.ro = public/language/ro/admin/dashboard.json
trans.ru = public/language/ru/admin/dashboard.json
trans.rw = public/language/rw/admin/dashboard.json
trans.sc = public/language/sc/admin/dashboard.json
trans.sk = public/language/sk/admin/dashboard.json
trans.sl = public/language/sl/admin/dashboard.json
trans.sr = public/language/sr/admin/dashboard.json
trans.sv = public/language/sv/admin/dashboard.json
trans.th = public/language/th/admin/dashboard.json
trans.tr = public/language/tr/admin/dashboard.json
trans.uk = public/language/uk/admin/dashboard.json
trans.vi = public/language/vi/admin/dashboard.json
trans.zh_CN = public/language/zh-CN/admin/dashboard.json
trans.zh_TW = public/language/zh-TW/admin/dashboard.json
trans.ar = public/language/ar/admin/general/dashboard.json
trans.bg = public/language/bg/admin/general/dashboard.json
trans.bn = public/language/bn/admin/general/dashboard.json
trans.cs = public/language/cs/admin/general/dashboard.json
trans.da = public/language/da/admin/general/dashboard.json
trans.de = public/language/de/admin/general/dashboard.json
trans.el = public/language/el/admin/general/dashboard.json
trans.en@pirate = public/language/en-x-pirate/admin/general/dashboard.json
trans.en_US = public/language/en-US/admin/general/dashboard.json
trans.es = public/language/es/admin/general/dashboard.json
trans.et = public/language/et/admin/general/dashboard.json
trans.fa_IR = public/language/fa-IR/admin/general/dashboard.json
trans.fi = public/language/fi/admin/general/dashboard.json
trans.fr = public/language/fr/admin/general/dashboard.json
trans.gl = public/language/gl/admin/general/dashboard.json
trans.he = public/language/he/admin/general/dashboard.json
trans.hr = public/language/hr/admin/general/dashboard.json
trans.hu = public/language/hu/admin/general/dashboard.json
trans.id = public/language/id/admin/general/dashboard.json
trans.it = public/language/it/admin/general/dashboard.json
trans.ja = public/language/ja/admin/general/dashboard.json
trans.ko = public/language/ko/admin/general/dashboard.json
trans.lt = public/language/lt/admin/general/dashboard.json
trans.lv = public/language/lv/admin/general/dashboard.json
trans.ms = public/language/ms/admin/general/dashboard.json
trans.nb = public/language/nb/admin/general/dashboard.json
trans.nl = public/language/nl/admin/general/dashboard.json
trans.pl = public/language/pl/admin/general/dashboard.json
trans.pt_BR = public/language/pt-BR/admin/general/dashboard.json
trans.pt_PT = public/language/pt-PT/admin/general/dashboard.json
trans.ro = public/language/ro/admin/general/dashboard.json
trans.ru = public/language/ru/admin/general/dashboard.json
trans.rw = public/language/rw/admin/general/dashboard.json
trans.sc = public/language/sc/admin/general/dashboard.json
trans.sk = public/language/sk/admin/general/dashboard.json
trans.sl = public/language/sl/admin/general/dashboard.json
trans.sr = public/language/sr/admin/general/dashboard.json
trans.sv = public/language/sv/admin/general/dashboard.json
trans.th = public/language/th/admin/general/dashboard.json
trans.tr = public/language/tr/admin/general/dashboard.json
trans.uk = public/language/uk/admin/general/dashboard.json
trans.vi = public/language/vi/admin/general/dashboard.json
trans.zh_CN = public/language/zh-CN/admin/general/dashboard.json
trans.zh_TW = public/language/zh-TW/admin/general/dashboard.json
type = KEYVALUEJSON
[nodebb.admin-settings-homepage]
file_filter = public/language/<lang>/admin/settings/homepage.json
source_file = public/language/en-GB/admin/settings/homepage.json
[nodebb.admin-general-homepage]
file_filter = public/language/<lang>/admin/general/homepage.json
source_file = public/language/en-GB/admin/general/homepage.json
source_lang = en_GB
trans.ar = public/language/ar/admin/settings/homepage.json
trans.bg = public/language/bg/admin/settings/homepage.json
trans.bn = public/language/bn/admin/settings/homepage.json
trans.cs = public/language/cs/admin/settings/homepage.json
trans.da = public/language/da/admin/settings/homepage.json
trans.de = public/language/de/admin/settings/homepage.json
trans.el = public/language/el/admin/settings/homepage.json
trans.en@pirate = public/language/en-x-pirate/admin/settings/homepage.json
trans.en_US = public/language/en-US/admin/settings/homepage.json
trans.es = public/language/es/admin/settings/homepage.json
trans.et = public/language/et/admin/settings/homepage.json
trans.fa_IR = public/language/fa-IR/admin/settings/homepage.json
trans.fi = public/language/fi/admin/settings/homepage.json
trans.fr = public/language/fr/admin/settings/homepage.json
trans.gl = public/language/gl/admin/settings/homepage.json
trans.he = public/language/he/admin/settings/homepage.json
trans.hr = public/language/hr/admin/settings/homepage.json
trans.hu = public/language/hu/admin/settings/homepage.json
trans.id = public/language/id/admin/settings/homepage.json
trans.it = public/language/it/admin/settings/homepage.json
trans.ja = public/language/ja/admin/settings/homepage.json
trans.ko = public/language/ko/admin/settings/homepage.json
trans.lt = public/language/lt/admin/settings/homepage.json
trans.lv = public/language/lv/admin/settings/homepage.json
trans.ms = public/language/ms/admin/settings/homepage.json
trans.nb = public/language/nb/admin/settings/homepage.json
trans.nl = public/language/nl/admin/settings/homepage.json
trans.pl = public/language/pl/admin/settings/homepage.json
trans.pt_BR = public/language/pt-BR/admin/settings/homepage.json
trans.pt_PT = public/language/pt-PT/admin/settings/homepage.json
trans.ro = public/language/ro/admin/settings/homepage.json
trans.ru = public/language/ru/admin/settings/homepage.json
trans.rw = public/language/rw/admin/settings/homepage.json
trans.sc = public/language/sc/admin/settings/homepage.json
trans.sk = public/language/sk/admin/settings/homepage.json
trans.sl = public/language/sl/admin/settings/homepage.json
trans.sr = public/language/sr/admin/settings/homepage.json
trans.sv = public/language/sv/admin/settings/homepage.json
trans.th = public/language/th/admin/settings/homepage.json
trans.tr = public/language/tr/admin/settings/homepage.json
trans.uk = public/language/uk/admin/settings/homepage.json
trans.vi = public/language/vi/admin/settings/homepage.json
trans.zh_CN = public/language/zh-CN/admin/settings/homepage.json
trans.zh_TW = public/language/zh-TW/admin/settings/homepage.json
trans.ar = public/language/ar/admin/general/homepage.json
trans.bg = public/language/bg/admin/general/homepage.json
trans.bn = public/language/bn/admin/general/homepage.json
trans.cs = public/language/cs/admin/general/homepage.json
trans.da = public/language/da/admin/general/homepage.json
trans.de = public/language/de/admin/general/homepage.json
trans.el = public/language/el/admin/general/homepage.json
trans.en@pirate = public/language/en-x-pirate/admin/general/homepage.json
trans.en_US = public/language/en-US/admin/general/homepage.json
trans.es = public/language/es/admin/general/homepage.json
trans.et = public/language/et/admin/general/homepage.json
trans.fa_IR = public/language/fa-IR/admin/general/homepage.json
trans.fi = public/language/fi/admin/general/homepage.json
trans.fr = public/language/fr/admin/general/homepage.json
trans.gl = public/language/gl/admin/general/homepage.json
trans.he = public/language/he/admin/general/homepage.json
trans.hr = public/language/hr/admin/general/homepage.json
trans.hu = public/language/hu/admin/general/homepage.json
trans.id = public/language/id/admin/general/homepage.json
trans.it = public/language/it/admin/general/homepage.json
trans.ja = public/language/ja/admin/general/homepage.json
trans.ko = public/language/ko/admin/general/homepage.json
trans.lt = public/language/lt/admin/general/homepage.json
trans.lv = public/language/lv/admin/general/homepage.json
trans.ms = public/language/ms/admin/general/homepage.json
trans.nb = public/language/nb/admin/general/homepage.json
trans.nl = public/language/nl/admin/general/homepage.json
trans.pl = public/language/pl/admin/general/homepage.json
trans.pt_BR = public/language/pt-BR/admin/general/homepage.json
trans.pt_PT = public/language/pt-PT/admin/general/homepage.json
trans.ro = public/language/ro/admin/general/homepage.json
trans.ru = public/language/ru/admin/general/homepage.json
trans.rw = public/language/rw/admin/general/homepage.json
trans.sc = public/language/sc/admin/general/homepage.json
trans.sk = public/language/sk/admin/general/homepage.json
trans.sl = public/language/sl/admin/general/homepage.json
trans.sr = public/language/sr/admin/general/homepage.json
trans.sv = public/language/sv/admin/general/homepage.json
trans.th = public/language/th/admin/general/homepage.json
trans.tr = public/language/tr/admin/general/homepage.json
trans.uk = public/language/uk/admin/general/homepage.json
trans.vi = public/language/vi/admin/general/homepage.json
trans.zh_CN = public/language/zh-CN/admin/general/homepage.json
trans.zh_TW = public/language/zh-TW/admin/general/homepage.json
type = KEYVALUEJSON
[nodebb.admin-settings-languages]
file_filter = public/language/<lang>/admin/settings/languages.json
source_file = public/language/en-GB/admin/settings/languages.json
[nodebb.admin-general-languages]
file_filter = public/language/<lang>/admin/general/languages.json
source_file = public/language/en-GB/admin/general/languages.json
source_lang = en_GB
trans.ar = public/language/ar/admin/settings/languages.json
trans.bg = public/language/bg/admin/settings/languages.json
trans.bn = public/language/bn/admin/settings/languages.json
trans.cs = public/language/cs/admin/settings/languages.json
trans.da = public/language/da/admin/settings/languages.json
trans.de = public/language/de/admin/settings/languages.json
trans.el = public/language/el/admin/settings/languages.json
trans.en@pirate = public/language/en-x-pirate/admin/settings/languages.json
trans.en_US = public/language/en-US/admin/settings/languages.json
trans.es = public/language/es/admin/settings/languages.json
trans.et = public/language/et/admin/settings/languages.json
trans.fa_IR = public/language/fa-IR/admin/settings/languages.json
trans.fi = public/language/fi/admin/settings/languages.json
trans.fr = public/language/fr/admin/settings/languages.json
trans.gl = public/language/gl/admin/settings/languages.json
trans.he = public/language/he/admin/settings/languages.json
trans.hr = public/language/hr/admin/settings/languages.json
trans.hu = public/language/hu/admin/settings/languages.json
trans.id = public/language/id/admin/settings/languages.json
trans.it = public/language/it/admin/settings/languages.json
trans.ja = public/language/ja/admin/settings/languages.json
trans.ko = public/language/ko/admin/settings/languages.json
trans.lt = public/language/lt/admin/settings/languages.json
trans.lv = public/language/lv/admin/settings/languages.json
trans.ms = public/language/ms/admin/settings/languages.json
trans.nb = public/language/nb/admin/settings/languages.json
trans.nl = public/language/nl/admin/settings/languages.json
trans.pl = public/language/pl/admin/settings/languages.json
trans.pt_BR = public/language/pt-BR/admin/settings/languages.json
trans.pt_PT = public/language/pt-PT/admin/settings/languages.json
trans.ro = public/language/ro/admin/settings/languages.json
trans.ru = public/language/ru/admin/settings/languages.json
trans.rw = public/language/rw/admin/settings/languages.json
trans.sc = public/language/sc/admin/settings/languages.json
trans.sk = public/language/sk/admin/settings/languages.json
trans.sl = public/language/sl/admin/settings/languages.json
trans.sr = public/language/sr/admin/settings/languages.json
trans.sv = public/language/sv/admin/settings/languages.json
trans.th = public/language/th/admin/settings/languages.json
trans.tr = public/language/tr/admin/settings/languages.json
trans.uk = public/language/uk/admin/settings/languages.json
trans.vi = public/language/vi/admin/settings/languages.json
trans.zh_CN = public/language/zh-CN/admin/settings/languages.json
trans.zh_TW = public/language/zh-TW/admin/settings/languages.json
trans.ar = public/language/ar/admin/general/languages.json
trans.bg = public/language/bg/admin/general/languages.json
trans.bn = public/language/bn/admin/general/languages.json
trans.cs = public/language/cs/admin/general/languages.json
trans.da = public/language/da/admin/general/languages.json
trans.de = public/language/de/admin/general/languages.json
trans.el = public/language/el/admin/general/languages.json
trans.en@pirate = public/language/en-x-pirate/admin/general/languages.json
trans.en_US = public/language/en-US/admin/general/languages.json
trans.es = public/language/es/admin/general/languages.json
trans.et = public/language/et/admin/general/languages.json
trans.fa_IR = public/language/fa-IR/admin/general/languages.json
trans.fi = public/language/fi/admin/general/languages.json
trans.fr = public/language/fr/admin/general/languages.json
trans.gl = public/language/gl/admin/general/languages.json
trans.he = public/language/he/admin/general/languages.json
trans.hr = public/language/hr/admin/general/languages.json
trans.hu = public/language/hu/admin/general/languages.json
trans.id = public/language/id/admin/general/languages.json
trans.it = public/language/it/admin/general/languages.json
trans.ja = public/language/ja/admin/general/languages.json
trans.ko = public/language/ko/admin/general/languages.json
trans.lt = public/language/lt/admin/general/languages.json
trans.lv = public/language/lv/admin/general/languages.json
trans.ms = public/language/ms/admin/general/languages.json
trans.nb = public/language/nb/admin/general/languages.json
trans.nl = public/language/nl/admin/general/languages.json
trans.pl = public/language/pl/admin/general/languages.json
trans.pt_BR = public/language/pt-BR/admin/general/languages.json
trans.pt_PT = public/language/pt-PT/admin/general/languages.json
trans.ro = public/language/ro/admin/general/languages.json
trans.ru = public/language/ru/admin/general/languages.json
trans.rw = public/language/rw/admin/general/languages.json
trans.sc = public/language/sc/admin/general/languages.json
trans.sk = public/language/sk/admin/general/languages.json
trans.sl = public/language/sl/admin/general/languages.json
trans.sr = public/language/sr/admin/general/languages.json
trans.sv = public/language/sv/admin/general/languages.json
trans.th = public/language/th/admin/general/languages.json
trans.tr = public/language/tr/admin/general/languages.json
trans.uk = public/language/uk/admin/general/languages.json
trans.vi = public/language/vi/admin/general/languages.json
trans.zh_CN = public/language/zh-CN/admin/general/languages.json
trans.zh_TW = public/language/zh-TW/admin/general/languages.json
type = KEYVALUEJSON
[nodebb.admin-settings-navigation]
file_filter = public/language/<lang>/admin/settings/navigation.json
source_file = public/language/en-GB/admin/settings/navigation.json
[nodebb.admin-general-navigation]
file_filter = public/language/<lang>/admin/general/navigation.json
source_file = public/language/en-GB/admin/general/navigation.json
source_lang = en_GB
trans.ar = public/language/ar/admin/settings/navigation.json
trans.bg = public/language/bg/admin/settings/navigation.json
trans.bn = public/language/bn/admin/settings/navigation.json
trans.cs = public/language/cs/admin/settings/navigation.json
trans.da = public/language/da/admin/settings/navigation.json
trans.de = public/language/de/admin/settings/navigation.json
trans.el = public/language/el/admin/settings/navigation.json
trans.en@pirate = public/language/en-x-pirate/admin/settings/navigation.json
trans.en_US = public/language/en-US/admin/settings/navigation.json
trans.es = public/language/es/admin/settings/navigation.json
trans.et = public/language/et/admin/settings/navigation.json
trans.fa_IR = public/language/fa-IR/admin/settings/navigation.json
trans.fi = public/language/fi/admin/settings/navigation.json
trans.fr = public/language/fr/admin/settings/navigation.json
trans.gl = public/language/gl/admin/settings/navigation.json
trans.he = public/language/he/admin/settings/navigation.json
trans.hr = public/language/hr/admin/settings/navigation.json
trans.hu = public/language/hu/admin/settings/navigation.json
trans.id = public/language/id/admin/settings/navigation.json
trans.it = public/language/it/admin/settings/navigation.json
trans.ja = public/language/ja/admin/settings/navigation.json
trans.ko = public/language/ko/admin/settings/navigation.json
trans.lt = public/language/lt/admin/settings/navigation.json
trans.lv = public/language/lv/admin/settings/navigation.json
trans.ms = public/language/ms/admin/settings/navigation.json
trans.nb = public/language/nb/admin/settings/navigation.json
trans.nl = public/language/nl/admin/settings/navigation.json
trans.pl = public/language/pl/admin/settings/navigation.json
trans.pt_BR = public/language/pt-BR/admin/settings/navigation.json
trans.pt_PT = public/language/pt-PT/admin/settings/navigation.json
trans.ro = public/language/ro/admin/settings/navigation.json
trans.ru = public/language/ru/admin/settings/navigation.json
trans.rw = public/language/rw/admin/settings/navigation.json
trans.sc = public/language/sc/admin/settings/navigation.json
trans.sk = public/language/sk/admin/settings/navigation.json
trans.sl = public/language/sl/admin/settings/navigation.json
trans.sr = public/language/sr/admin/settings/navigation.json
trans.sv = public/language/sv/admin/settings/navigation.json
trans.th = public/language/th/admin/settings/navigation.json
trans.tr = public/language/tr/admin/settings/navigation.json
trans.uk = public/language/uk/admin/settings/navigation.json
trans.vi = public/language/vi/admin/settings/navigation.json
trans.zh_CN = public/language/zh-CN/admin/settings/navigation.json
trans.zh_TW = public/language/zh-TW/admin/settings/navigation.json
trans.ar = public/language/ar/admin/general/navigation.json
trans.bg = public/language/bg/admin/general/navigation.json
trans.bn = public/language/bn/admin/general/navigation.json
trans.cs = public/language/cs/admin/general/navigation.json
trans.da = public/language/da/admin/general/navigation.json
trans.de = public/language/de/admin/general/navigation.json
trans.el = public/language/el/admin/general/navigation.json
trans.en@pirate = public/language/en-x-pirate/admin/general/navigation.json
trans.en_US = public/language/en-US/admin/general/navigation.json
trans.es = public/language/es/admin/general/navigation.json
trans.et = public/language/et/admin/general/navigation.json
trans.fa_IR = public/language/fa-IR/admin/general/navigation.json
trans.fi = public/language/fi/admin/general/navigation.json
trans.fr = public/language/fr/admin/general/navigation.json
trans.gl = public/language/gl/admin/general/navigation.json
trans.he = public/language/he/admin/general/navigation.json
trans.hr = public/language/hr/admin/general/navigation.json
trans.hu = public/language/hu/admin/general/navigation.json
trans.id = public/language/id/admin/general/navigation.json
trans.it = public/language/it/admin/general/navigation.json
trans.ja = public/language/ja/admin/general/navigation.json
trans.ko = public/language/ko/admin/general/navigation.json
trans.lt = public/language/lt/admin/general/navigation.json
trans.lv = public/language/lv/admin/general/navigation.json
trans.ms = public/language/ms/admin/general/navigation.json
trans.nb = public/language/nb/admin/general/navigation.json
trans.nl = public/language/nl/admin/general/navigation.json
trans.pl = public/language/pl/admin/general/navigation.json
trans.pt_BR = public/language/pt-BR/admin/general/navigation.json
trans.pt_PT = public/language/pt-PT/admin/general/navigation.json
trans.ro = public/language/ro/admin/general/navigation.json
trans.ru = public/language/ru/admin/general/navigation.json
trans.rw = public/language/rw/admin/general/navigation.json
trans.sc = public/language/sc/admin/general/navigation.json
trans.sk = public/language/sk/admin/general/navigation.json
trans.sl = public/language/sl/admin/general/navigation.json
trans.sr = public/language/sr/admin/general/navigation.json
trans.sv = public/language/sv/admin/general/navigation.json
trans.th = public/language/th/admin/general/navigation.json
trans.tr = public/language/tr/admin/general/navigation.json
trans.uk = public/language/uk/admin/general/navigation.json
trans.vi = public/language/vi/admin/general/navigation.json
trans.zh_CN = public/language/zh-CN/admin/general/navigation.json
trans.zh_TW = public/language/zh-TW/admin/general/navigation.json
type = KEYVALUEJSON
[nodebb.admin-settings-social]
file_filter = public/language/<lang>/admin/settings/social.json
source_file = public/language/en-GB/admin/settings/social.json
[nodebb.admin-general-social]
file_filter = public/language/<lang>/admin/general/social.json
source_file = public/language/en-GB/admin/general/social.json
source_lang = en_GB
trans.ar = public/language/ar/admin/settings/social.json
trans.bg = public/language/bg/admin/settings/social.json
trans.bn = public/language/bn/admin/settings/social.json
trans.cs = public/language/cs/admin/settings/social.json
trans.da = public/language/da/admin/settings/social.json
trans.de = public/language/de/admin/settings/social.json
trans.el = public/language/el/admin/settings/social.json
trans.en@pirate = public/language/en-x-pirate/admin/settings/social.json
trans.en_US = public/language/en-US/admin/settings/social.json
trans.es = public/language/es/admin/settings/social.json
trans.et = public/language/et/admin/settings/social.json
trans.fa_IR = public/language/fa-IR/admin/settings/social.json
trans.fi = public/language/fi/admin/settings/social.json
trans.fr = public/language/fr/admin/settings/social.json
trans.gl = public/language/gl/admin/settings/social.json
trans.he = public/language/he/admin/settings/social.json
trans.hr = public/language/hr/admin/settings/social.json
trans.hu = public/language/hu/admin/settings/social.json
trans.id = public/language/id/admin/settings/social.json
trans.it = public/language/it/admin/settings/social.json
trans.ja = public/language/ja/admin/settings/social.json
trans.ko = public/language/ko/admin/settings/social.json
trans.lt = public/language/lt/admin/settings/social.json
trans.lv = public/language/lv/admin/settings/social.json
trans.ms = public/language/ms/admin/settings/social.json
trans.nb = public/language/nb/admin/settings/social.json
trans.nl = public/language/nl/admin/settings/social.json
trans.pl = public/language/pl/admin/settings/social.json
trans.pt_BR = public/language/pt-BR/admin/settings/social.json
trans.pt_PT = public/language/pt-PT/admin/settings/social.json
trans.ro = public/language/ro/admin/settings/social.json
trans.ru = public/language/ru/admin/settings/social.json
trans.rw = public/language/rw/admin/settings/social.json
trans.sc = public/language/sc/admin/settings/social.json
trans.sk = public/language/sk/admin/settings/social.json
trans.sl = public/language/sl/admin/settings/social.json
trans.sr = public/language/sr/admin/settings/social.json
trans.sv = public/language/sv/admin/settings/social.json
trans.th = public/language/th/admin/settings/social.json
trans.tr = public/language/tr/admin/settings/social.json
trans.uk = public/language/uk/admin/settings/social.json
trans.vi = public/language/vi/admin/settings/social.json
trans.zh_CN = public/language/zh-CN/admin/settings/social.json
trans.zh_TW = public/language/zh-TW/admin/settings/social.json
trans.ar = public/language/ar/admin/general/social.json
trans.bg = public/language/bg/admin/general/social.json
trans.bn = public/language/bn/admin/general/social.json
trans.cs = public/language/cs/admin/general/social.json
trans.da = public/language/da/admin/general/social.json
trans.de = public/language/de/admin/general/social.json
trans.el = public/language/el/admin/general/social.json
trans.en@pirate = public/language/en-x-pirate/admin/general/social.json
trans.en_US = public/language/en-US/admin/general/social.json
trans.es = public/language/es/admin/general/social.json
trans.et = public/language/et/admin/general/social.json
trans.fa_IR = public/language/fa-IR/admin/general/social.json
trans.fi = public/language/fi/admin/general/social.json
trans.fr = public/language/fr/admin/general/social.json
trans.gl = public/language/gl/admin/general/social.json
trans.he = public/language/he/admin/general/social.json
trans.hr = public/language/hr/admin/general/social.json
trans.hu = public/language/hu/admin/general/social.json
trans.id = public/language/id/admin/general/social.json
trans.it = public/language/it/admin/general/social.json
trans.ja = public/language/ja/admin/general/social.json
trans.ko = public/language/ko/admin/general/social.json
trans.lt = public/language/lt/admin/general/social.json
trans.lv = public/language/lv/admin/general/social.json
trans.ms = public/language/ms/admin/general/social.json
trans.nb = public/language/nb/admin/general/social.json
trans.nl = public/language/nl/admin/general/social.json
trans.pl = public/language/pl/admin/general/social.json
trans.pt_BR = public/language/pt-BR/admin/general/social.json
trans.pt_PT = public/language/pt-PT/admin/general/social.json
trans.ro = public/language/ro/admin/general/social.json
trans.ru = public/language/ru/admin/general/social.json
trans.rw = public/language/rw/admin/general/social.json
trans.sc = public/language/sc/admin/general/social.json
trans.sk = public/language/sk/admin/general/social.json
trans.sl = public/language/sl/admin/general/social.json
trans.sr = public/language/sr/admin/general/social.json
trans.sv = public/language/sv/admin/general/social.json
trans.th = public/language/th/admin/general/social.json
trans.tr = public/language/tr/admin/general/social.json
trans.uk = public/language/uk/admin/general/social.json
trans.vi = public/language/vi/admin/general/social.json
trans.zh_CN = public/language/zh-CN/admin/general/social.json
trans.zh_TW = public/language/zh-TW/admin/general/social.json
type = KEYVALUEJSON
[nodebb.admin-settings-sounds]
file_filter = public/language/<lang>/admin/settings/sounds.json
source_file = public/language/en-GB/admin/settings/sounds.json
[nodebb.admin-general-sounds]
file_filter = public/language/<lang>/admin/general/sounds.json
source_file = public/language/en-GB/admin/general/sounds.json
source_lang = en_GB
trans.ar = public/language/ar/admin/settings/sounds.json
trans.bg = public/language/bg/admin/settings/sounds.json
trans.bn = public/language/bn/admin/settings/sounds.json
trans.cs = public/language/cs/admin/settings/sounds.json
trans.da = public/language/da/admin/settings/sounds.json
trans.de = public/language/de/admin/settings/sounds.json
trans.el = public/language/el/admin/settings/sounds.json
trans.en@pirate = public/language/en-x-pirate/admin/settings/sounds.json
trans.en_US = public/language/en-US/admin/settings/sounds.json
trans.es = public/language/es/admin/settings/sounds.json
trans.et = public/language/et/admin/settings/sounds.json
trans.fa_IR = public/language/fa-IR/admin/settings/sounds.json
trans.fi = public/language/fi/admin/settings/sounds.json
trans.fr = public/language/fr/admin/settings/sounds.json
trans.gl = public/language/gl/admin/settings/sounds.json
trans.he = public/language/he/admin/settings/sounds.json
trans.hr = public/language/hr/admin/settings/sounds.json
trans.hu = public/language/hu/admin/settings/sounds.json
trans.id = public/language/id/admin/settings/sounds.json
trans.it = public/language/it/admin/settings/sounds.json
trans.ja = public/language/ja/admin/settings/sounds.json
trans.ko = public/language/ko/admin/settings/sounds.json
trans.lt = public/language/lt/admin/settings/sounds.json
trans.lv = public/language/lv/admin/settings/sounds.json
trans.ms = public/language/ms/admin/settings/sounds.json
trans.nb = public/language/nb/admin/settings/sounds.json
trans.nl = public/language/nl/admin/settings/sounds.json
trans.pl = public/language/pl/admin/settings/sounds.json
trans.pt_BR = public/language/pt-BR/admin/settings/sounds.json
trans.pt_PT = public/language/pt-PT/admin/settings/sounds.json
trans.ro = public/language/ro/admin/settings/sounds.json
trans.ru = public/language/ru/admin/settings/sounds.json
trans.rw = public/language/rw/admin/settings/sounds.json
trans.sc = public/language/sc/admin/settings/sounds.json
trans.sk = public/language/sk/admin/settings/sounds.json
trans.sl = public/language/sl/admin/settings/sounds.json
trans.sr = public/language/sr/admin/settings/sounds.json
trans.sv = public/language/sv/admin/settings/sounds.json
trans.th = public/language/th/admin/settings/sounds.json
trans.tr = public/language/tr/admin/settings/sounds.json
trans.uk = public/language/uk/admin/settings/sounds.json
trans.vi = public/language/vi/admin/settings/sounds.json
trans.zh_CN = public/language/zh-CN/admin/settings/sounds.json
trans.zh_TW = public/language/zh-TW/admin/settings/sounds.json
trans.ar = public/language/ar/admin/general/sounds.json
trans.bg = public/language/bg/admin/general/sounds.json
trans.bn = public/language/bn/admin/general/sounds.json
trans.cs = public/language/cs/admin/general/sounds.json
trans.da = public/language/da/admin/general/sounds.json
trans.de = public/language/de/admin/general/sounds.json
trans.el = public/language/el/admin/general/sounds.json
trans.en@pirate = public/language/en-x-pirate/admin/general/sounds.json
trans.en_US = public/language/en-US/admin/general/sounds.json
trans.es = public/language/es/admin/general/sounds.json
trans.et = public/language/et/admin/general/sounds.json
trans.fa_IR = public/language/fa-IR/admin/general/sounds.json
trans.fi = public/language/fi/admin/general/sounds.json
trans.fr = public/language/fr/admin/general/sounds.json
trans.gl = public/language/gl/admin/general/sounds.json
trans.he = public/language/he/admin/general/sounds.json
trans.hr = public/language/hr/admin/general/sounds.json
trans.hu = public/language/hu/admin/general/sounds.json
trans.id = public/language/id/admin/general/sounds.json
trans.it = public/language/it/admin/general/sounds.json
trans.ja = public/language/ja/admin/general/sounds.json
trans.ko = public/language/ko/admin/general/sounds.json
trans.lt = public/language/lt/admin/general/sounds.json
trans.lv = public/language/lv/admin/general/sounds.json
trans.ms = public/language/ms/admin/general/sounds.json
trans.nb = public/language/nb/admin/general/sounds.json
trans.nl = public/language/nl/admin/general/sounds.json
trans.pl = public/language/pl/admin/general/sounds.json
trans.pt_BR = public/language/pt-BR/admin/general/sounds.json
trans.pt_PT = public/language/pt-PT/admin/general/sounds.json
trans.ro = public/language/ro/admin/general/sounds.json
trans.ru = public/language/ru/admin/general/sounds.json
trans.rw = public/language/rw/admin/general/sounds.json
trans.sc = public/language/sc/admin/general/sounds.json
trans.sk = public/language/sk/admin/general/sounds.json
trans.sl = public/language/sl/admin/general/sounds.json
trans.sr = public/language/sr/admin/general/sounds.json
trans.sv = public/language/sv/admin/general/sounds.json
trans.th = public/language/th/admin/general/sounds.json
trans.tr = public/language/tr/admin/general/sounds.json
trans.uk = public/language/uk/admin/general/sounds.json
trans.vi = public/language/vi/admin/general/sounds.json
trans.zh_CN = public/language/zh-CN/admin/general/sounds.json
trans.zh_TW = public/language/zh-TW/admin/general/sounds.json
type = KEYVALUEJSON
[nodebb.admin-manage-admins-mods]
@@ -2400,6 +2300,56 @@ trans.zh_CN = public/language/zh-CN/admin/manage/groups.json
trans.zh_TW = public/language/zh-TW/admin/manage/groups.json
type = KEYVALUEJSON
[nodebb.admin-manage-ip-blacklist]
file_filter = public/language/<lang>/admin/manage/ip-blacklist.json
source_file = public/language/en-GB/admin/manage/ip-blacklist.json
source_lang = en_GB
trans.ar = public/language/ar/admin/manage/ip-blacklist.json
trans.bg = public/language/bg/admin/manage/ip-blacklist.json
trans.bn = public/language/bn/admin/manage/ip-blacklist.json
trans.cs = public/language/cs/admin/manage/ip-blacklist.json
trans.da = public/language/da/admin/manage/ip-blacklist.json
trans.de = public/language/de/admin/manage/ip-blacklist.json
trans.el = public/language/el/admin/manage/ip-blacklist.json
trans.en@pirate = public/language/en-x-pirate/admin/manage/ip-blacklist.json
trans.en_US = public/language/en-US/admin/manage/ip-blacklist.json
trans.es = public/language/es/admin/manage/ip-blacklist.json
trans.et = public/language/et/admin/manage/ip-blacklist.json
trans.fa_IR = public/language/fa-IR/admin/manage/ip-blacklist.json
trans.fi = public/language/fi/admin/manage/ip-blacklist.json
trans.fr = public/language/fr/admin/manage/ip-blacklist.json
trans.gl = public/language/gl/admin/manage/ip-blacklist.json
trans.he = public/language/he/admin/manage/ip-blacklist.json
trans.hr = public/language/hr/admin/manage/ip-blacklist.json
trans.hu = public/language/hu/admin/manage/ip-blacklist.json
trans.id = public/language/id/admin/manage/ip-blacklist.json
trans.it = public/language/it/admin/manage/ip-blacklist.json
trans.ja = public/language/ja/admin/manage/ip-blacklist.json
trans.ko = public/language/ko/admin/manage/ip-blacklist.json
trans.lt = public/language/lt/admin/manage/ip-blacklist.json
trans.lv = public/language/lv/admin/manage/ip-blacklist.json
trans.ms = public/language/ms/admin/manage/ip-blacklist.json
trans.nb = public/language/nb/admin/manage/ip-blacklist.json
trans.nl = public/language/nl/admin/manage/ip-blacklist.json
trans.pl = public/language/pl/admin/manage/ip-blacklist.json
trans.pt_BR = public/language/pt-BR/admin/manage/ip-blacklist.json
trans.pt_PT = public/language/pt-PT/admin/manage/ip-blacklist.json
trans.ro = public/language/ro/admin/manage/ip-blacklist.json
trans.ru = public/language/ru/admin/manage/ip-blacklist.json
trans.rw = public/language/rw/admin/manage/ip-blacklist.json
trans.sc = public/language/sc/admin/manage/ip-blacklist.json
trans.sk = public/language/sk/admin/manage/ip-blacklist.json
trans.sl = public/language/sl/admin/manage/ip-blacklist.json
trans.sr = public/language/sr/admin/manage/ip-blacklist.json
trans.sv = public/language/sv/admin/manage/ip-blacklist.json
trans.th = public/language/th/admin/manage/ip-blacklist.json
trans.tr = public/language/tr/admin/manage/ip-blacklist.json
trans.uk = public/language/uk/admin/manage/ip-blacklist.json
trans.vi = public/language/vi/admin/manage/ip-blacklist.json
trans.zh_CN = public/language/zh-CN/admin/manage/ip-blacklist.json
trans.zh_TW = public/language/zh-TW/admin/manage/ip-blacklist.json
type = KEYVALUEJSON
[nodebb.admin-manage-privileges]
file_filter = public/language/<lang>/admin/manage/privileges.json
source_file = public/language/en-GB/admin/manage/privileges.json
@@ -2450,6 +2400,56 @@ trans.zh_CN = public/language/zh-CN/admin/manage/privileges.json
trans.zh_TW = public/language/zh-TW/admin/manage/privileges.json
type = KEYVALUEJSON
[nodebb.admin-manage-post-queue]
file_filter = public/language/<lang>/admin/manage/post-queue.json
source_file = public/language/en-GB/admin/manage/post-queue.json
source_lang = en_GB
trans.ar = public/language/ar/admin/manage/post-queue.json
trans.bg = public/language/bg/admin/manage/post-queue.json
trans.bn = public/language/bn/admin/manage/post-queue.json
trans.cs = public/language/cs/admin/manage/post-queue.json
trans.da = public/language/da/admin/manage/post-queue.json
trans.de = public/language/de/admin/manage/post-queue.json
trans.el = public/language/el/admin/manage/post-queue.json
trans.en@pirate = public/language/en-x-pirate/admin/manage/post-queue.json
trans.en_US = public/language/en-US/admin/manage/post-queue.json
trans.es = public/language/es/admin/manage/post-queue.json
trans.et = public/language/et/admin/manage/post-queue.json
trans.fa_IR = public/language/fa-IR/admin/manage/post-queue.json
trans.fi = public/language/fi/admin/manage/post-queue.json
trans.fr = public/language/fr/admin/manage/post-queue.json
trans.gl = public/language/gl/admin/manage/post-queue.json
trans.he = public/language/he/admin/manage/post-queue.json
trans.hr = public/language/hr/admin/manage/post-queue.json
trans.hu = public/language/hu/admin/manage/post-queue.json
trans.id = public/language/id/admin/manage/post-queue.json
trans.it = public/language/it/admin/manage/post-queue.json
trans.ja = public/language/ja/admin/manage/post-queue.json
trans.ko = public/language/ko/admin/manage/post-queue.json
trans.lt = public/language/lt/admin/manage/post-queue.json
trans.lv = public/language/lv/admin/manage/post-queue.json
trans.ms = public/language/ms/admin/manage/post-queue.json
trans.nb = public/language/nb/admin/manage/post-queue.json
trans.nl = public/language/nl/admin/manage/post-queue.json
trans.pl = public/language/pl/admin/manage/post-queue.json
trans.pt_BR = public/language/pt-BR/admin/manage/post-queue.json
trans.pt_PT = public/language/pt-PT/admin/manage/post-queue.json
trans.ro = public/language/ro/admin/manage/post-queue.json
trans.ru = public/language/ru/admin/manage/post-queue.json
trans.rw = public/language/rw/admin/manage/post-queue.json
trans.sc = public/language/sc/admin/manage/post-queue.json
trans.sk = public/language/sk/admin/manage/post-queue.json
trans.sl = public/language/sl/admin/manage/post-queue.json
trans.sr = public/language/sr/admin/manage/post-queue.json
trans.sv = public/language/sv/admin/manage/post-queue.json
trans.th = public/language/th/admin/manage/post-queue.json
trans.tr = public/language/tr/admin/manage/post-queue.json
trans.uk = public/language/uk/admin/manage/post-queue.json
trans.vi = public/language/vi/admin/manage/post-queue.json
trans.zh_CN = public/language/zh-CN/admin/manage/post-queue.json
trans.zh_TW = public/language/zh-TW/admin/manage/post-queue.json
type = KEYVALUEJSON
[nodebb.admin-manage-registration]
file_filter = public/language/<lang>/admin/manage/registration.json
source_file = public/language/en-GB/admin/manage/registration.json

View File

@@ -1,747 +1,3 @@
#### v1.15.0-beta.6 (2020-08-27)
##### Chores
* incrementing version number - v1.15.0-beta.6 (a9019cbe)
* update changelog for v1.15.0-beta.5 (0e90064e)
* **deps:** update dependency lint-staged to v10.2.13 (efc30e97)
##### New Features
* theme work for #8580, closes #8580 (6e805c1b)
##### Bug Fixes
* #8582 (9f9164a9)
* debug logging :dog: (fb3b4a02)
* ip-blacklist not working after #8580 (56101ae5)
* ip-blacklist not working after #8580 (c681b4b2)
* post-queue not working after #8580 (dc5bd760)
* #8411 missing language sources for ip-blacklist/post-queue (a93e1955)
* removed invalid options for the sendmail transport (#8576) (2b785628)
##### Refactors
* ip-blacklist and post-queue language files (4dc6e64a)
* moved ip-blacklist and post-queue styles/tpls to themes (b6b94a56)
#### v1.15.0-beta.5 (2020-08-26)
##### Chores
* incrementing version number - v1.15.0-beta.5 (81e4c4df)
* update changelog for v1.15.0-beta.4 (6c4aed8c)
* **deps:** update dependency mocha to v8.1.2 (#8579) (c722b0e5)
##### New Features
* allow undo of topic move (abb5e81d)
* added alert.timeoutfn (cd8e7963)
* sort dependencies alphabetically (a4dbbc37)
##### Bug Fixes
* missing localisation for topic move error (bacee6b4)
* select all checkbox does not re-enable bulk actions button (5d60dce3)
* **deps:** update dependency sharp to v0.26.0 (#8578) (7ca967ee)
#### v1.15.0-beta.4 (2020-08-25)
##### Chores
* incrementing version number - v1.15.0-beta.4 (f2726a6d)
* update changelog for v1.15.0-beta.3 (11e2ccab)
##### New Features
* up persona (af9f328c)
##### Bug Fixes
* dupes in unread followed topics (55533b11)
* wrong data passed to getCategories (39f4bbaa)
#### v1.15.0-beta.3 (2020-08-22)
##### Chores
* incrementing version number - v1.15.0-beta.3 (39178c2d)
* update changelog for v1.15.0-beta.2 (d8a9f1c3)
##### New Features
* banning a user will resolve their post flags (354e6ccc)
##### Bug Fixes
* openapi spec (4f7cfd53)
* api spec (c4ad14cb)
* username, email history disappering if content was deleted (91d9333a)
* up composer (9fd37753)
* package-install clobbering scoped nodebb plugins (840cb510)
#### v1.15.0-beta.2 (2020-08-21)
##### Chores
* incrementing version number - v1.15.0-beta.2 (59b50d0a)
* update changelog for v1.15.0-beta.1 (aeca19d5)
##### Bug Fixes
* empty "manage" menu showing in ACP (4b0cb26b)
* hide nodebb version in ACP for non-superadmins (cc268605)
* change how admin middlewares are exported (f00595b3)
* one less return, to appease codeclimate (ae68a254)
* inability to access /admin if not superadmin (03bd76de)
* #8560, fix old upgrade script (29e3ab24)
* use promises in privilege save (9cbe9389)
* overzealous click handler on flag list row (7a5daff4)
* +comment, -debug log (9608b44f)
##### Refactors
* changed way middleware was exported (cf2f1e95)
#### v1.15.0-beta.1 (2020-08-20)
##### Chores
* incrementing version number - v1.15.0-beta.1 (4fa57fbb)
##### New Features
* theme changes for #8571 (5415c01c)
* logic for bulk actions in flags list, #8571 (a3a22793)
* expose global/admin privileges to all routes (4737f937)
##### Bug Fixes
* multiple alerts in the same millisecond overwrite each other (589216e7)
* reintroduce 20s delay for api tests (56393795)
* client-side error in flags/detail (b2271eb6)
* #8570 (7daba7dd)
##### Tests
* **openapi:** missing commonprops addition (0dc55bbc)
#### 1.14.3 (2020-07-08)
##### Bug Fixes
* improper targetUid check during password change (c2477d9d)
#### 1.14.2 (2020-07-15)
##### Chores
* incrementing version number - v1.14.2 (1e4d683f)
* update changelog for v1.14.2 (488e69fd)
* up theme (63fb2ad7)
* incrementing version number - v1.14.2-beta.1 (9d1465d0)
* up theme (15aabfd3)
* up theme (599c5015)
* incrementing version number - v1.14.2-beta.0 (fca4ee31)
* incrementing version number - v1.14.1 (31203b16)
* update changelog for v1.14.1 (d4c16086)
* **deps:** update commitlint monorepo to v9.1.1 (0ca7e28a)
##### New Features
* logic for flag note editing, #8499 (14417209)
* logic for flag note deletion, #8499 (f85a45c7)
* #8460, export groups members as csv (00d39fb3)
* pass connection options to socket.io-adapter-mongo (393f19b4)
* #8023, allow wildcard search for uid/email (3dcf5387)
* up composer (6235b31c)
* #8427, daily downvote limits (c513b88d)
* warn user if whitelisted tags are less than minTags (4adbf87c)
##### Bug Fixes
* **deps:**
* update dependency nodebb-plugin-mentions to v2.9.1 (c54287fe)
* update dependency nodebb-plugin-mentions to v2.9.0 (7730e7da)
* update dependency nodebb-theme-persona to v10.1.62 (#8485) (4e9743ab)
* update dependency nodebb-plugin-composer-default to v6.3.49 (#8479) (ab244ca6)
* #8499 (65240a17)
* #8500 (5e984d10)
* invalid session error modal during logout (2286ee2a)
* #8488 (b3a88331)
* category search in selector (46a66863)
* groups.updateCover (73ddf1cb)
* **docs:** bad changelog (60bf488f)
##### Other Changes
* update changelog for v1.14.2" (e085c846)
* flag.showModal on flag modal appearance (3379d65f)
* NodeBB/NodeBB (2fba0a14)
* update changelog for v1.14.1" (26c74409)
#### 1.14.1 (2020-07-08)
##### Chores
* incrementing version number - v1.14.1 (31203b16)
* update changelog for v1.14.1 (d4c16086)
* incrementing version number - v1.14.1-beta.3 (e8ecef6b)
* incrementing version number - v1.14.1-beta.2 (b8d9b6b1)
* incrementing version number - v1.14.1-beta.1 (be85123a)
* incrementing version number - v1.14.1-beta.0 (c279875a)
* incrementing version number - v1.14.0 (bb73d6a4)
* update changelog for v1.14.0 (cffae0f1)
##### New Features
* add tools to recent/unread (#8477) (658dd03b)
* fire new hooks on chat message editing (4f51838d)
* add back redis tests (bdc4d9e7)
* remove redis test (8461a179)
* use covered query (057b783d)
* add js-enabled.css to list of preloaded css files (da29b947)
* zscan (#8457) (723fe8e8)
* fix blocksCount not being returned on user profile (bd228d5e)
##### Bug Fixes
* **deps:**
* update dependency nodebb-theme-persona to v10.1.60 (#8478) (14eafcb6)
* bump nodebb-plugin-composer-default to 6.3.48 (943a344a)
* update dependency nodebb-plugin-dbsearch to v4.1.1 (#8476) (9f06f12c)
* update dependency nodebb-plugin-composer-default to v6.3.47 (#8473) (857900f1)
* update dependency nodebb-plugin-dbsearch to v4.1.0 (#8471) (eb51cfd4)
* update dependency nodebb-theme-persona to v10.1.59 (#8468) (ee38e05d)
* update dependency nodebb-widget-essentials to v4.1.1 (#8466) (519e035d)
* update dependency @nodebb/socket.io-adapter-mongo to v3.0.1 (#8464) (412ca4ae)
* #8474 (c2ca02df)
* show stack properly (7b04d897)
* editing chat messages does not go through content sanity checks (9a6b87d2)
* don't show blocked users under nested replies (d6c619cf)
* tests (87dd6c83)
* handle scan/zscan returning duplicate elements on redis (746222d6)
* #8467, fix url to merged topic in subfolder installs (9eb748b9)
* openapi (5f1865c0)
* openapi (65c0adc7)
* dont allow searching by email/ip if not privileged (ac6b571e)
* missing backgroundImage #8386 (fef04fcf)
* dont allow searching by ip/banned/flagged for regular users (02ac44cc)
* admin privileges client-side regression (f3441fce)
* only add blocksCount for self and admins (59a2ace6)
* tests (fd20e5c6)
* better changelog (f992af05)
* **tests:**
* another shot in the dark (8853cd1a)
* shot in the dark (9458d90b)
* **openapi:** tests (c468942f)
##### Other Changes
* update changelog for v1.14.1" (26c74409)
* //github.com/NodeBB/NodeBB (0d9461b1)
* //github.com/NodeBB/NodeBB (ace312e0)
* post.changeOwner (b60e1cbf)
##### Reverts
* bad changelog (a761e31f)
#### 1.14.0 (2020-07-02)
##### Chores
* incrementing version number - v1.14.0 (bb73d6a4)
* update changelog for v1.14.0 (cffae0f1)
* bump persona (19f9af94)
* latest translations and fallbacks (22879633)
* incrementing version number - v1.13.3 (ee583e80)
* bump persona (d2bd746c)
* incrementing version number - v1.13.2 (beafd613)
* **deps:**
* update dependency smtp-server to v3.7.0 (e80100b5)
* update dependency eslint to v7.3.1 (#8417) (33492744)
* update commitlint monorepo to v9 (569b7664)
* update dependency lint-staged to v10.2.11 (157e7444)
* update dependency lint-staged to v10.2.10 (102a6004)
* update dependency mocha to v8 (#8393) (f4bace03)
* update dependency eslint to v7.2.0 (cd1375cb)
* update dependency eslint-plugin-import to v2.21.1 (4b577a52)
* update dependency lint-staged to v10.2.9 (#8369) (124125f7)
* update dependency lint-staged to v10.2.8 (331b1a85)
* update dependency lint-staged to v10.2.7 (d1df0826)
* update dependency mocha to v7.2.0 (ecaa9b76)
* update dependency eslint to v7.1.0 (e62d892a)
* update dependency lint-staged to v10.2.6 (78d562b3)
* update dependency lint-staged to v10.2.4 (a26011e7)
* update dependency eslint to v7 (28df9aba)
* update dependency coveralls to v3.1.0 (5ed4a108)
* pin dependency @apidevtools/swagger-parser to 9.0.1 (51eccef5)
* update dependency husky to v4.2.5 (30a25983)
* update dependency husky to v4.2.4 (0a650118)
* update dependency lint-staged to v10.1.3 (a9e68639)
* update dependency nyc to v15.0.1 (#8231) (a3789e28)
* update dependency lint-staged to v10.1.2 (#8235) (e1919c90)
* update dependency lint-staged to v10.1.1 (944a6f58)
* update dependency lint-staged to v10.1.0 (30bd233b)
* update dependency eslint-config-airbnb-base to v14.1.0 (811c3aee)
* update dependency jsdom to v16.2.2 (c5a7242d)
* update dependency eslint-plugin-import to v2.20.2 (b92c1600)
* update dependency lint-staged to v10.0.10 (0ad4b556)
* update dependency coveralls to v3.0.11 (14458087)
* update dependency smtp-server to v3.6.0 (22681945)
* update dependency mocha to v7.1.1 (#8215) (c5356541)
* update dependency grunt to v1.1.0 (#8214) (b0864e7c)
* update dependency husky to v4.2.3 (#8162) (776fe9d2)
* update dependency lint-staged to v10.0.8 (#8180) (13d8f6f1)
* update dependency eslint-plugin-import to v2.20.1 (#8081) (4cdb3131)
* update dependency jsdom to v16.2.1 (#8165) (fbd95a50)
* update dependency husky to v4.2.2 (#8160) (f4ed35c9)
* update dependency jsdom to v16 (#8114) (1037de02)
##### Documentation Changes
* updated changelog (146388aa)
##### New Features
* polish for user blocks UX (6cb31791)
* #8450, next/prev link tags on /unread /recent (eb9704f8)
* allow flagging of user acounts from post tools menu (6931f29d)
* closes #8440, allow configuring max topic count (e09ab3dc)
* add missing translation key (bffb830d)
* #3783, min/max tags per category (c718b729)
* use tags partial instead of post_bar (0482fb29)
* hide elements if search element is a direct child of dropdown (4f6b6c56)
* increase wait (6aecc177)
* move export functions into child processes (8383992d)
* display stack trace on winston.error (e80379dc)
* show more relevant snippets (f70d1648)
* #8412 breadcrumbs for ip-blacklist/post queue/flags (35a06a84)
* show editor in post diffs if available (f909ed25)
* #8408 flags' quick assignment (d5af9769)
* bump themes, closes #8406 (cb5ba76b)
* allow post diffs to be restored, #8406 (58b3d608)
* add missing translation (3a80a165)
* up composer (96cb94dc)
* more search changes (6349fa03)
* more merge/search fixes (4b38533b)
* merge changes (bb3aa540)
* more search & merge fixes (5fd05dc9)
* merge improvements wip (c4bdeae0)
* #8387 expose global and admin privs to flags detail page (4acb3fb2)
* redirect /me to user profile (3be4d5f7)
* #8384 options to delete account, content, or both (4d60eac6)
* account content deletion, closes #8381 (67aca822)
* add missing language files for #8347 (656b391f)
* privileges for Admin Control Panel (#8355) (a82e9bd7)
* add buildHeaderAsync (#8367) (842b8abb)
* #8360 flag quick actions for delete/restore/purge (8ea16348)
* #8349, remove user posts from queue if user is deleted (5a2b5154)
* up plugins (5b009e07)
* add results into results container (9ffcb6f7)
* quick search changes (f12d448e)
* move quick search into search module (bb1a56f0)
* fix session mismatch errors by clearing cookie on logout (#8338) (5781a2dc)
* add getSortedSetMembers (0009f54e)
* add privilege give/rescind hooks (#8336) (ec5582b5)
* filter followed tids by category (f3afba61)
* use getSortedSetsMembers to load followed tids (1b9e8928)
* add batch size to cursors (a015af4a)
* up cache size (9600ede5)
* tweak intersection code, add tests (4ee3543e)
* change to contains to match scoped modules (6108064e)
* improve grunt restart/rebuild speed (cb662e15)
* don't overwrite req.query.lang if it exists (4263efa0)
* convert queries so they used indices directly (12c6bc2e)
* cookie SameSite property (ae2db423)
* if only one value is passed used faster function (2587112f)
* closes #8316, add more data to export profile (f0323b6c)
* throw error if uid is missing for update (1d3fa3bc)
* ignore mongodb playground file (a219285e)
* parse quick search tpl even if no results (765b8156)
* match hook property to topic property (0e58fa33)
* add methods for adding/removing tags from topics (bfad4572)
* write-api update, WIP (9fd5c439)
* closes #8308, edit post notif for watched topic posts (a73c755b)
* add null tests for sorted sets (edf9fe3b)
* Add hooks for user blocks (#8296) (c4545381)
* allow activating additional plugins for testing via config.json (a969c5ce)
* move plugin tests to separate file (3a23ddab)
* remove node14 for now (a72e4429)
* reduce infinite scroll area (3fcbd691)
* manifest.json improvements from #8126 (#8264) (6e5ebb61)
* show error if json is invalid (15345627)
* moved component specs into separate files (cd506557)
* added UserObject, UserObjectFull, Breadcrumb, Pagination component (64d79fe5)
* added some summary and descriptions (ae3e90d6)
* add some descriptions (442c018e)
* common schema (eade13f9)
* openapi component (1af5507a)
* add page query param to docs (9987813f)
* tag route doc (bbddaadf)
* local redoc view on development mode only (1136a369)
* added auto-generated, slimmed-down openapi 3.0 file for read api (7b155dab)
* add parent cids to body class (23571224)
* add 2 hooks for modifying privileges (d080c7b0)
* add user ip to admin/dev/info (5e91a67e)
* change option name (cba5b23e)
* add no-build to ./nodebb setup (476f6717)
* add awaitable socket.emit (4083a6e3)
* settings sorted list (#8170) (3c9689a5)
* guard against accidental ommision (79737c53)
* **docs:** updated changelog (87c1687d)
* **openapi:**
* merging openapi-test branch into master (8387178b)
* move all commonprops out for commonprops component (65c78de6)
* added template to commonprops (2425f453)
##### Bug Fixes
* **deps:**
* update dependency nodebb-plugin-composer-default to v6.3.46 (5a713d85)
* update dependency nodebb-plugin-mentions to v2.8.3 (#8449) (bbd85049)
* update dependency nodebb-plugin-mentions to v2.8.0 (d40720f9)
* update dependency nodebb-plugin-composer-default to v6.3.44 (#8436) (c1991abe)
* update dependency winston to v3.3.3 (#8431) (6a8f54fd)
* update dependency nodebb-theme-persona to v10.1.55 (#8434) (a860a793)
* update dependency nodebb-theme-vanilla to v11.1.30 (#8435) (272b4992)
* update dependency nodebb-theme-vanilla to v11.1.29 (#8429) (b5a68a44)
* update dependency nodebb-theme-persona to v10.1.54 (#8428) (3ffb6fde)
* update dependency winston to v3.3.2 (54310d69)
* update dependency nodebb-plugin-spam-be-gone to v0.7.2 (11244348)
* update dependency winston to v3.3.1 (#8421) (fd628570)
* #8412 bump themes (365996e7)
* bump persona/vanilla, closes #8408 (225cac18)
* update dependency sharp to v0.25.4 (#8403) (3c3e1515)
* update dependency nodebb-theme-vanilla to v11.1.25 (#8405) (90446365)
* update dependency nodebb-theme-persona to v10.1.50 (#8404) (44273a64)
* update dependency mongodb to v3.5.9 (#8402) (90570660)
* update dependency nodebb-plugin-composer-default to v6.3.43 (78b7382c)
* update dependency validator to v13.1.1 (#8397) (2ae68f9b)
* update dependency validator to v13.1.0 (#8391) (ad6e3634)
* update dependency nodebb-theme-vanilla to v11.1.24 (#8395) (eec03de8)
* update dependency nodebb-theme-persona to v10.1.49 (#8394) (90846740)
* update dependency postcss to v7.0.32 (87ce31d1)
* update dependency nodebb-plugin-composer-default to v6.3.41 (dde830db)
* update dependency nodebb-plugin-composer-default to v6.3.40 (#8388) (cf0f8f64)
* bump themes, closes #8387 (e97a2b71)
* bump themes (ccac6a35)
* update dependency nodebb-theme-persona to v10.1.46 (#8382) (036e6ef5)
* update dependency nodebb-theme-vanilla to v11.1.21 (#8383) (7caeb273)
* update dependency nodebb-plugin-composer-default to v6.3.39 (aeefc60b)
* update dependency nodebb-plugin-composer-default to v6.3.37 (7f6ff0b1)
* update dependency nodebb-plugin-composer-default to v6.3.36 (6b2ea077)
* update dependency nodebb-plugin-composer-default to v6.3.35 (2d582df7)
* update dependency nodebb-theme-persona to v10.1.45 (#8372) (771ea194)
* update dependency nodebb-theme-vanilla to v11.1.20 (#8373) (f8ee981b)
* update dependency socket.io-redis to v5.3.0 (#8370) (d2463bb4)
* update dependency nodebb-theme-vanilla to v11.1.19 (f6ad9605)
* update dependency nodebb-theme-persona to v10.1.44 (cb28e6cf)
* update dependency nodebb-plugin-composer-default to v6.3.34 (#8357) (d7ab0894)
* update dependency nodebb-plugin-composer-default to v6.3.33 (c4047179)
* update dependency nodebb-plugin-spam-be-gone to v0.7.1 (27ab36ac)
* update dependency nodebb-theme-persona to v10.1.43 (#8343) (dabff972)
* update dependency mongodb to v3.5.8 (#8342) (8224127f)
* update dependency nodebb-theme-persona to v10.1.40 (#8332) (a20af6e2)
* update dependency nodebb-plugin-spam-be-gone to v0.7.0 (cc206b4d)
* bump composer-default (827d42a9)
* bump composer-default (a665881b)
* update dependency nodebb-plugin-composer-default to v6.3.29 (bf8a2c2e)
* update dependency postcss to v7.0.30 (#8288) (a532e2bb)
* update dependency sharp to v0.25.3 (0437ecc2)
* update dependency nodebb-plugin-composer-default to v6.3.28 (#8309) (f246057a)
* update dependency nodebb-plugin-composer-default to v6.3.27 (#8307) (6d57d844)
* #8298 bump persona (158d9231)
* update dependency nodebb-plugin-composer-default to v6.3.25 (89d17647)
* update dependency jquery to v3.5.1 [security] (#8281) (a69f0b29)
* update dependency nodebb-rewards-essentials to v0.1.3 (#8289) (919034a7)
* update dependency mongodb to v3.5.7 (#8279) (25d509c4)
* actually, swagger-parser is a dev dependency (d09c6ae0)
* missing @apidevtools/swagger-parser (f1720735)
* update dependency nodebb-theme-persona to v10.1.37 (#8258) (b0c30ceb)
* update dependency archiver to v4 (28777f67)
* update dependency mongodb to v3.5.6 (#8256) (49236067)
* bump dependencies (#8239) (e68156e1)
* update dependency jsesc to v3.0.1 (#8243) (92b55ef5)
* update dependency jsesc to v3 (bb70cebb)
* update dependency pg to v8 (#8227) (ac98775f)
* update dependency validator to v13 (f497ee62)
* update dependency sharp to v0.25.2 (#8220) (dd660c87)
* bump markdown (ee6cb412)
* update dependency mongodb to v3.5.5 (#8205) (5535c50c)
* update dependency sitemap to v6 (#8198) (2052f14c)
* update dependency nodebb-plugin-composer-default to v6.3.23 (6d98d5a1)
* update dependency sharp to v0.25.1 (#8199) (21e91c91)
* update dependency nodebb-plugin-composer-default to v6.3.22 (#8193) (e01f05e3)
* update dependency nodebb-theme-slick to v1.2.29 (#8177) (9daa21ff)
* update dependency nodebb-theme-vanilla to v11.1.16 (#8178) (7d6a983b)
* update dependency nodebb-theme-persona to v10.1.35 (#8176) (3acc24b0)
* update dependency sharp to v0.24.1 (#8164) (7cc63f7d)
* update dependency mongodb to v3.5.3 (#8161) (4b907137)
* update dependency nodebb-widget-essentials to v4.1.0 (#8159) (a5f3c2a2)
* update dependency request to v2.88.2 (#8158) (7fde180a)
* update dependency redis to v3 (#8152) (ef964b11)
* update dependency rimraf to v3.0.2 (#8153) (d8efc6b6)
* don't show in unreplied if score is null (fd400a00)
* lint (0d0b9513)
* upgrade script to unescape navigation titles (37b6b8fd)
* test (f0ce309d)
* show controls @julianlam (023de94e)
* #8437, #8433 (e53a18f2)
* copy settings showing empty category selection (ed4b5caf)
* don't init autocomplete if user doesn't have privs (8482a54a)
* only allow valid uids (00d8ce26)
* tests (f03ca086)
* vulnerability in cover and admin uploads (#8419) (48b41deb)
* reverse tabnabbing exploit in post images (040e6a9a)
* follower count going out of sync with real follower count (2bcf7f72)
* test lock for user create (#8415) (bef37e27)
* add mising timestamp (f0526bff)
* ban (bfd7eafe)
* remove use of 'hidden' class in navbar toggling (5a367ecb)
* bug where category privs page thought it was on admin (2515aa77)
* #8410 (b3115ea8)
* tests breaking due to #8406 (d5578c99)
* add missing translations (42466d3c)
* #8401, #8237 (7ed1a014)
* add timestamp to initial username history (18d89239)
* crash in export posts if post content is undefined (53a9517d)
* messaging unread (0041c024)
* whitespace (a024cc13)
* typo (0595e710)
* #8392, clear group member cache when group is renamed (89b01024)
* return false (8591f5d2)
* language (a255c8f6)
* #8386, use backgroundImage everywhere (8627bee5)
* prevent logout form from submitting (d92032da)
* missing space in ACP menu dropdown (daeceb45)
* #8385 (942cc4b1)
* acp language keys from #8347 not updated in tx config (9ae7fd3e)
* #8363, dont break history (50703db8)
* #8363, go to hash when entering topic (0c265a41)
* #8374, revert event delete (30cc83c0)
* new language tag for select_tags (09184f40)
* remove duplicate link to manage/tags in settings/tags (260a482c)
* tests (3a078f59)
* handle search tag permission as well (1b5d5425)
* checking correct permissions for user search (#8371) (f6b92d24)
* change event name so it doesnt trigger complete event (7786187e)
* clear error log before checking (75b3a81d)
* #8323, let admins send validation emails without timeout (e603ebc0)
* #8352, remove webfonts (#8354) (de7ec47f)
* more tests (da90fd56)
* tests due to 0633ad327 (98dffa3a)
* retry failed setObject calls (2c9e8657)
* acp menu items (0633ad32)
* re-jigged tags acp pages (a83f4259)
* move checks into timeout (47d73a2a)
* #8339, add missing translation (a9315aee)
* don't explode if server sends `checkSession` (84c20f91)
* eliminate unnecessary try..catch (f0e59c14)
* test breakages from 8d995d1eb609837e4e6e4c77cd855766830378fa (a66fe013)
* #8320, dont load moderators separately for each category (0a31e3e6)
* show stack trace on startup errors (11bb6abb)
* don't trigger quick search if val doesn't change (d6c2764f)
* prevent duplicate search triggers (6f78113e)
* user faster method if sorting by smallest set (3ec05eea)
* add txt to list of default allowed file extensions (01bff2ae)
* search post snipets incase content is plain text (ada45a34)
* derp includes (d484731d)
* another test fix (f2907908)
* tests (feb748a4)
* tests on redis (7a801aba)
* tests, handle no sessions (8bf980cb)
* #8318, clean expired sessions on login and get (a0d76ff0)
* tests (a032e12b)
* #8317 (81e33b93)
* #8142 invalid session warning if server-side session destroyed (526b3cd9)
* check privileges before exporting post/topic data (5fd81c5c)
* exporting posts (dfae664e)
* undefined uid when downloading posts (bdda0222)
* #8311, fix allowUserHomePage value (1ba6929c)
* dont crash if topic is null (e20ad5c5)
* if category in selector has url use it (1f992cf3)
* convert cids to string for comparison (c47a1c4d)
* missing await (97c086ab)
* add missing schema item (4e14cb57)
* category selector disabled categories (337be368)
* #8305, don't use null values (6a5e86dc)
* #8302, send string to writeFileSync (d09bd2cf)
* winston showing json object (7d081843)
* sortable topics even if only 1 pinned topic (6765de3d)
* #8298, use class name added by jQueryUI instead (dd2bc189)
* topic search shortcut for macs (f2c725c6)
* #8297, uids.length is different than topics.length (0431d75f)
* #8297 guest handles shown in category.tpl (fcb81cb8)
* only add to set if numRecentReplies>0 (16a98eaf)
* #8293, don't show error if there are no self messages (be305410)
* failing tests @julianlam (ecd622fd)
* #3321, run plugin tests for installed plugins (a6bb9f43)
* remove deprecated mocha.opts (3d0db963)
* spec (84383d39)
* #8290, if there are no filters go to ?reset=1 (9839346e)
* #8283, update gdpr link again (2d076344)
* add missing await (4f1128fd)
* #8287, dont readd user after deletion (9d153fd3)
* missing await (4d6b2ec3)
* #8286, rescind notif when its resolved/rejected (0391856d)
* #8284, parse ToS on register (0ca84bd9)
* #8283, point to official site (17d664e0)
* jquery xhtml violations (275e837b)
* #8274 Don't escape HTML in manage users (#8275) (4855f1de)
* crash in topic controller (0c7c70ed)
* crash when res.locals.linkTags is undefined (7cab2b0f)
* #8272 user link in digest email (e80b8101)
* tag of /api/unread/total (9ffdab02)
* response hook logic (5a1c6ee7)
* remove upload picture test (avatars) (6edf02d4)
* remove tests related to group covers, as route is gone (442fe65f)
* #8269, return array of topics from hook (4eafe0f0)
* remove dead picture upload code #8260 (ef52461f)
* path.resolve to logs file (5bcaf715)
* only trigger infinitescroll on scroll end (ba6d3fd3)
* wrong data returned in available.groups (c7ea84a2)
* no focus on find user modal (1b425ef1)
* accidental fp precision on flag and acp dash graphs (bcbf98aa)
* #8232, unresolvable session mismatch on register cancel (f2f6fbf1)
* pin jquery to 3.4.1, #8252 (e440d617)
* #8249, don't send move notifications for deleted posts/topics (d77036db)
* missing descriptions for common properties (7b31fb34)
* some definitions in read API spec (03739b6f)
* tagged all routes in read api spec (455d42bc)
* override ACAO header for read API spec file (240d9091)
* throw error if topic does not exist (59cf0e80)
* hookname (e93578b8)
* #8230, add hook getUserDataByUserSlug (0d1b5a7f)
* ignore case for group details route (15d6975e)
* lint (740e598a)
* lint (8e23dec8)
* #8221, fix parent selection (08031730)
* invite properly (071506eb)
* admins not seeing invite button (8f4b99a4)
* #8217, add missing lang key (0b5fac75)
* #8206 first message in chat has false `newSet` (93acd139)
* #8203, fix user invites refreshing page (2f9c7c62)
* #8202, filter non-existing users in search by uid (f07f4f8e)
* notification bodyShort truncated if there is a comma in topic title (266061c3)
* hsts max-age missing translation (b67af70d)
* call next (80f1bcad)
* try travis fix again (05bee629)
* try fixing psql on travis (bc9e92a1)
* dont let regular users see other users watched categories (cf6eadb9)
* also fix updating bookmark if sorting is newest_to_oldest (6e5de39b)
* #8188, fix bookmark if sorting is newest_to_oldest (32ada7c4)
* duplicate ID + label (ac241fb8)
* #8184 global mods unable to revoke other user sessions (f0db240a)
* return null if field does not exist (e72a29b3)
* #8179, limit length of location/website/fullname, check grouptitle (14e78667)
* tag key (32636755)
* #8175 (bc93b567)
* #8168 re-allowing slashes in homePageRoute (667608a0)
* tweak to session validation in addHeaders (eddbd868)
* only call clearCookie for logged in users (630f5d5b)
* #6422, update deleted/restored messages (06703408)
* #8163, prevent account deletion (4d0636f8)
* register (5a0c7c14)
* #8157, update recent tid when post is moved (e7495440)
* tests (b73aa84d)
* move start/stop every iteration (dd3893b1)
* #8154, move start/stop every iteration (300c04ce)
* #8154, respect stop (690bb69d)
* #8156 dont allow loading members from hidden groups (f23bc347)
* #8155, don't validate name on update if groupName didn't change (03a02e5d)
* return correct number of suggested topics (236e1e68)
* #8151, don't crash if taskbar doesn't have element (2e794801)
* logic for determining dailyStats hour vars (398f0120)
* fix daily analytics being one day off (9ecdb92f)
* remove debug line (0b9ad416)
* no decimal places for category analytics (14655f87)
* #8142, broken site if no server-side session (#8148) (d6e3f3f0)
* #8144 pluginHooks in maintenance mode middleware (0885ec68)
* **openapi:**
* tests for #8412 (4cae893f)
* api change for #8387 (6a969442)
* schema for new flags api (a0e243ee)
* broken tests (45dfeeb0)
* v14 test fix (23a0b8c5)
* remove account and group upload routes (d342a28c)
* more fleshing out (058a15db)
* fleshed out admin routes (bae88e08)
* added some descriptions (ab4bd7e1)
* added PostsObject component (2395d2be)
* finished moving all category objects out (23dd2727)
* changed some descriptions (c939f8c6)
* added CategoryObject component (55d0a9ff)
* removed repeated breadcrumb blocks in favour of $ref (646fac1e)
* remove all repeated pagination blocks in favour of (ac579f9d)
* removed warning for category mods route (1cf62095)
* normalising the file for programmatic updates (3a5c6e07)
* **style:**
* more switch..case (6b1d1acb)
* switch..case (922d49be)
* enforcing "better" indentation for switch..case (d135b6f7)
* **docs:** added titles to all routes (aa4ae78b)
##### Other Changes
* id, category fields (2355d9d5)
* //github.com/NodeBB/NodeBB (c3c8b19a)
* //github.com/NodeBB/NodeBB (0ddfb6b0)
* //github.com/NodeBB/NodeBB (d1c1cb2c)
* //github.com/NodeBB/NodeBB (79a7f892)
* user.getFields to match topic/posts (a680a95e)
* //github.com/NodeBB/NodeBB (b459592a)
* //github.com/NodeBB/NodeBB (066b442e)
* //github.com/NodeBB/NodeBB (fd6bf0c9)
* //github.com/NodeBB/NodeBB (c1d8b9bb)
* middleware.renderHeader (2727f472)
* //github.com/NodeBB/NodeBB (69a87933)
* uploadFile (7f24200c)
* #8142 invalid session warning if server-side session destroyed" (e327d124)
* ''}) (2a00b0e9)
* //github.com/NodeBB/NodeBB (8c8cdc99)
* categories.getRecentTopicReplies (aad0880f)
* #8298 (2e57d8ac)
* post.updatePostVoteCount (b25b51bd)
* //github.com/NodeBB/NodeBB (5e140454)
* categories.updateRecentTid (6c59683b)
* categories.updateRecentTid (51933c1f)
* router.page, dep. filter variant (0053e779)
* flags as well (5ebcdb18)
* crash when res.locals.linkTags is undefined" (fe03effe)
* //github.com/NodeBB/NodeBB (87a6ff0d)
* cnpm and pnpm (#8222) (e6a1741c)
* //github.com/NodeBB/NodeBB (7ae76477)
* openapi component" (683e5851)
* override ACAO header for read API spec file" (c82a2637)
* password.change (00e299e9)
* topic.tools.load (5aa76cdf)
* #8154, move start/stop every iteration" (4abe5eb7)
* **deps:** update dependency nodebb-plugin-mentions to v2.8.0" (5c7d37c0)
##### Refactors
* make code climate happier? (0d112b36)
* shorter code (af790e3f)
* shorter code (e8f0da6e)
* change name to privileges to match other apis (2100a03c)
* making rendering of header and footer async functions (023942da)
* remove general menu from ACP (#8347) (a51fff8b)
* use getSortedSetMembers (7d484fc0)
* src/flags.js because codeclimate (cf00cda0)
* flags detail page (8d995d1e)
* move code (3b6d57e4)
* remove console.log (40b5cbab)
* shorter function (7e429884)
* match core field name pinned (478ed6c1)
* getUsersCSV to use batch lib (1efb238a)
* reorganized socket.io admin modules (e1c6c3b2)
##### Reverts
* bad changelog (a761e31f)
#### 1.13.3 (2020-05-08)
##### Chores

View File

@@ -45,9 +45,6 @@ module.exports = function (grunt) {
if (!plugins.includes('nodebb-plugin-composer-default')) {
plugins.push('nodebb-plugin-composer-default');
}
if (!plugins.includes('nodebb-theme-persona')) {
plugins.push('nodebb-theme-persona');
}
}
const styleUpdated_Client = plugins.map(p => 'node_modules/' + p + '/*.less')

View File

@@ -48,7 +48,7 @@ Our minimalist "Persona" theme gets you going right away, no coding experience r
NodeBB requires the following software to be installed:
* A version of Node.js at least 10 or greater ([installation/upgrade instructions](https://github.com/nodesource/distributions))
* A version of Node.js at least 8 or greater ([installation/upgrade instructions](https://github.com/nodesource/distributions))
* Redis, version 2.8.9 or greater **or** MongoDB, version 2.6 or greater
* nginx, version 1.3.13 or greater (**only if** intending to use nginx to proxy requests to a NodeBB)

2
app.js
View File

@@ -35,7 +35,7 @@ process.env.NODE_ENV = process.env.NODE_ENV || 'production';
global.env = process.env.NODE_ENV || 'production';
// Alternate configuration file support
const configFile = path.resolve(__dirname, nconf.any(['config', 'CONFIG']) || 'config.json');
const configFile = path.resolve(__dirname, nconf.any(['config', 'CONFIG']) || 'config.json');
const configExists = file.existsSync(configFile) || (nconf.get('url') && nconf.get('secret') && nconf.get('database'));

View File

@@ -70,8 +70,6 @@
"reputation:disabled": 0,
"downvote:disabled": 0,
"disableSignatures": 0,
"downvotesPerDay": 10,
"downvotesPerUserPerDay": 3,
"min:rep:downvote": 0,
"min:rep:flag": 0,
"min:rep:profile-picture": 0,
@@ -79,7 +77,6 @@
"min:rep:website": 0,
"min:rep:aboutme": 0,
"min:rep:signature": 0,
"flags:limitPerTarget": 0,
"notificationType_upvote": "notification",
"notificationType_new-topic": "notification",
"notificationType_new-reply": "notification",
@@ -110,11 +107,11 @@
"maximumInvites": 0,
"username:disableEdit": 0,
"email:disableEdit": 0,
"email:smtpTransport:pool": false,
"email:sendmail:rateLimit": 2,
"email:sendmail:rateDelta": 1000,
"hideFullname": 0,
"hideEmail": 0,
"allowGuestHandles": 0,
"recentMaxTopics": 200,
"disableRecentCategoryFilter": 0,
"maximumRelatedTopics": 0,
"disableEmailSubscriptions": 0,

View File

@@ -1,51 +1,58 @@
'use strict';
const prompt = require('prompt');
const winston = require('winston');
var async = require('async');
var prompt = require('prompt');
var winston = require('winston');
const util = require('util');
const promptGet = util.promisify((schema, callback) => prompt.get(schema, callback));
const questions = {
var questions = {
redis: require('../src/database/redis').questions,
mongo: require('../src/database/mongo').questions,
postgres: require('../src/database/postgres').questions,
};
module.exports = async function (config) {
winston.info('\nNow configuring ' + config.database + ' database:');
const databaseConfig = await getDatabaseConfig(config);
return saveDatabaseConfig(config, databaseConfig);
module.exports = function (config, callback) {
async.waterfall([
function (next) {
winston.info('\nNow configuring ' + config.database + ' database:');
getDatabaseConfig(config, next);
},
function (databaseConfig, next) {
saveDatabaseConfig(config, databaseConfig, next);
},
], callback);
};
async function getDatabaseConfig(config) {
function getDatabaseConfig(config, callback) {
if (!config) {
throw new Error('invalid config, aborted');
return callback(new Error('aborted'));
}
if (config.database === 'redis') {
if (config['redis:host'] && config['redis:port']) {
return config;
callback(null, config);
} else {
prompt.get(questions.redis, callback);
}
return await promptGet(questions.redis);
} else if (config.database === 'mongo') {
if ((config['mongo:host'] && config['mongo:port']) || config['mongo:uri']) {
return config;
callback(null, config);
} else {
prompt.get(questions.mongo, callback);
}
return await promptGet(questions.mongo);
} else if (config.database === 'postgres') {
if (config['postgres:host'] && config['postgres:port']) {
return config;
callback(null, config);
} else {
prompt.get(questions.postgres, callback);
}
return await promptGet(questions.postgres);
} else {
return callback(new Error('unknown database : ' + config.database));
}
throw new Error('unknown database : ' + config.database);
}
function saveDatabaseConfig(config, databaseConfig) {
function saveDatabaseConfig(config, databaseConfig, callback) {
if (!databaseConfig) {
throw new Error('invalid config, aborted');
return callback(new Error('aborted'));
}
// Translate redis properties into redis object
@@ -79,13 +86,13 @@ function saveDatabaseConfig(config, databaseConfig) {
ssl: databaseConfig['postgres:ssl'],
};
} else {
throw new Error('unknown database : ' + config.database);
return callback(new Error('unknown database : ' + config.database));
}
const allQuestions = questions.redis.concat(questions.mongo).concat(questions.postgres);
var allQuestions = questions.redis.concat(questions.mongo).concat(questions.postgres);
for (var x = 0; x < allQuestions.length; x += 1) {
delete config[allQuestions[x].name];
}
return config;
callback(null, config);
}

View File

@@ -2,7 +2,7 @@
"name": "nodebb",
"license": "GPL-3.0",
"description": "NodeBB Forum",
"version": "1.15.0-beta.7",
"version": "1.13.4-4",
"homepage": "http://www.nodebb.org",
"repository": {
"type": "git",
@@ -11,15 +11,15 @@
"main": "app.js",
"scripts": {
"start": "node loader.js",
"lint": "npx eslint --cache ./nodebb .",
"lint": "eslint --cache ./nodebb .",
"pretest": "npm run lint",
"test": "npx nyc --reporter=html --reporter=text-summary npx mocha",
"test": "nyc --reporter=html --reporter=text-summary mocha",
"coveralls": "nyc report --reporter=text-lcov | coveralls && rm -r coverage"
},
"husky": {
"hooks": {
"pre-commit": "npx lint-staged",
"commit-msg": "npx commitlint -E HUSKY_GIT_PARAMS"
"pre-commit": "lint-staged",
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
}
},
"lint-staged": {
@@ -30,25 +30,26 @@
},
"dependencies": {
"ace-builds": "^1.4.9",
"archiver": "^5.0.0",
"archiver": "^4.0.0",
"async": "^3.2.0",
"autoprefixer": "^9.7.6",
"bcryptjs": "2.4.3",
"benchpressjs": "^2.0.2",
"body-parser": "^1.19.0",
"bootstrap": "^3.4.1",
"bootswatch": "git://github.com/thomaspark/bootswatch.git#c41a8f066feb8950c6f9c6bcf5a3c37d1085404e",
"chart.js": "^2.9.3",
"cli-graph": "^3.2.2",
"clipboard": "^2.0.6",
"colors": "^1.4.0",
"commander": "^6.0.0",
"commander": "^5.0.0",
"compression": "^1.7.4",
"connect-ensure-login": "^0.1.1",
"connect-flash": "^0.1.1",
"connect-mongo": "3.2.0",
"connect-multiparty": "^2.2.0",
"connect-pg-simple": "^6.1.0",
"connect-redis": "5.0.0",
"connect-redis": "4.0.4",
"cookie-parser": "^1.4.5",
"cron": "^1.8.2",
"cropperjs": "^1.5.6",
@@ -59,9 +60,9 @@
"express-session": "^1.17.0",
"express-useragent": "^1.0.13",
"graceful-fs": "^4.2.3",
"helmet": "^4.0.0",
"helmet": "^3.22.0",
"html-to-text": "^5.1.1",
"ipaddr.js": "^2.0.0",
"ipaddr.js": "^1.9.1",
"jquery": "3.5.1",
"jsesc": "3.0.1",
"json2csv": "5.0.1",
@@ -69,37 +70,35 @@
"less": "^3.11.1",
"lodash": "^4.17.15",
"logrotate-stream": "^0.2.6",
"lru-cache": "6.0.0",
"lru-cache": "5.1.1",
"material-design-lite": "^1.3.0",
"mime": "^2.4.4",
"mkdirp": "^1.0.4",
"mongodb": "3.6.0",
"mongodb": "3.5.7",
"morgan": "^1.10.0",
"mousetrap": "^1.6.5",
"@nodebb/bootswatch": "3.4.2",
"@nodebb/mubsub": "1.7.0",
"@nodebb/socket.io-adapter-mongo": "3.1.0",
"@nodebb/mubsub": "^1.6.0",
"nconf": "^0.10.0",
"nodebb-plugin-composer-default": "6.3.54",
"nodebb-plugin-dbsearch": "4.1.2",
"nodebb-plugin-composer-default": "6.3.31",
"nodebb-plugin-dbsearch": "4.0.7",
"nodebb-plugin-emoji": "^3.3.0",
"nodebb-plugin-emoji-android": "2.0.0",
"nodebb-plugin-markdown": "8.11.2",
"nodebb-plugin-mentions": "2.9.3",
"nodebb-plugin-mentions": "2.7.4",
"nodebb-plugin-soundpack-default": "1.0.0",
"nodebb-plugin-spam-be-gone": "0.7.2",
"nodebb-plugin-spam-be-gone": "0.6.7",
"nodebb-rewards-essentials": "0.1.3",
"nodebb-theme-lavender": "5.1.0",
"nodebb-theme-persona": "10.2.10",
"nodebb-theme-lavender": "5.0.11",
"nodebb-theme-persona": "10.1.39",
"nodebb-theme-slick": "1.2.29",
"nodebb-theme-vanilla": "11.2.5",
"nodebb-widget-essentials": "4.1.1",
"nodebb-theme-vanilla": "11.1.16",
"nodebb-widget-essentials": "4.1.0",
"nodemailer": "^6.4.6",
"passport": "^0.4.1",
"passport-local": "1.0.0",
"pg": "^8.0.2",
"pg-cursor": "^2.1.9",
"postcss": "7.0.32",
"postcss": "7.0.30",
"postcss-clean": "1.1.0",
"promise-polyfill": "^8.1.3",
"prompt": "^1.0.0",
@@ -111,13 +110,14 @@
"sanitize-html": "^1.23.0",
"semver": "^7.2.1",
"serve-favicon": "^2.5.0",
"sharp": "0.26.0",
"sharp": "0.25.3",
"sitemap": "^6.1.0",
"socket.io": "2.3.0",
"socket.io-adapter-cluster": "^1.0.1",
"socket.io-adapter-mongo": "^2.0.5",
"socket.io-adapter-postgres": "^1.2.1",
"socket.io-client": "2.3.0",
"socket.io-redis": "5.3.0",
"socket.io-redis": "5.2.0",
"socketio-wildcard": "2.0.0",
"spdx-license-list": "^6.1.0",
"spider-detector": "2.0.0",
@@ -125,35 +125,35 @@
"textcomplete.contenteditable": "^0.1.1",
"toobusy-js": "^0.5.1",
"uglify-es": "^3.3.9",
"validator": "13.1.1",
"winston": "3.3.3",
"validator": "13.0.0",
"winston": "3.2.1",
"xml": "^1.0.1",
"xregexp": "^4.3.0",
"zxcvbn": "^4.4.2"
},
"devDependencies": {
"@apidevtools/swagger-parser": "10.0.1",
"@commitlint/cli": "9.1.2",
"@commitlint/config-angular": "9.1.2",
"@apidevtools/swagger-parser": "9.0.1",
"@commitlint/cli": "8.3.5",
"@commitlint/config-angular": "8.3.4",
"coveralls": "3.1.0",
"eslint": "7.7.0",
"eslint-config-airbnb-base": "14.2.0",
"eslint-plugin-import": "2.22.0",
"grunt": "1.3.0",
"eslint": "7.0.0",
"eslint-config-airbnb-base": "14.1.0",
"eslint-plugin-import": "2.20.2",
"grunt": "1.1.0",
"grunt-contrib-watch": "1.1.0",
"husky": "4.2.5",
"jsdom": "16.4.0",
"lint-staged": "10.2.13",
"mocha": "8.1.2",
"jsdom": "16.2.2",
"lint-staged": "10.2.4",
"mocha": "7.1.2",
"mocha-lcov-reporter": "1.3.0",
"nyc": "15.1.0",
"smtp-server": "3.7.0"
"nyc": "15.0.1",
"smtp-server": "3.6.0"
},
"bugs": {
"url": "https://github.com/NodeBB/NodeBB/issues"
},
"engines": {
"node": ">=10"
"node": ">=8"
},
"maintainers": [
{

View File

@@ -81,7 +81,7 @@ web.install = function (port) {
async.parallel([compileLess, compileJS, copyCSS, loadDefaults], function (err) {
if (err) {
winston.error(err.stack);
winston.error(err);
}
setupRoutes();
launchExpress(port);
@@ -223,17 +223,14 @@ function launch(req, res) {
}
function compileLess(callback) {
var installSrc = path.join(__dirname, '../public/less/install.less');
fs.readFile(installSrc, function (err, style) {
fs.readFile(path.join(__dirname, '../public/less/install.less'), function (err, style) {
if (err) {
return winston.error('Unable to read LESS install file: ', err.stack);
return winston.error('Unable to read LESS install file: ', err);
}
less.render(style.toString(), {
filename: path.resolve(installSrc),
}, function (err, css) {
less.render(style.toString(), function (err, css) {
if (err) {
return winston.error('Unable to compile LESS: ', err.stack);
return winston.error('Unable to compile LESS: ', err);
}
fs.writeFile(path.join(__dirname, '../public/installer.css'), css.css, callback);

View File

@@ -87,22 +87,22 @@ Loader.addWorkerEvents = function (worker) {
worker.on('message', function (message) {
if (message && typeof message === 'object' && message.action) {
switch (message.action) {
case 'restart':
console.log('[cluster] Restarting...');
Loader.restart();
break;
case 'pubsub':
workers.forEach(function (w) {
case 'restart':
console.log('[cluster] Restarting...');
Loader.restart();
break;
case 'pubsub':
workers.forEach(function (w) {
w.send(message);
});
break;
case 'socket.io':
workers.forEach(function (w) {
if (w !== worker) {
w.send(message);
});
break;
case 'socket.io':
workers.forEach(function (w) {
if (w !== worker) {
w.send(message);
}
});
break;
}
});
break;
}
}
});

View File

@@ -21,13 +21,11 @@
"es6": false
},
"rules": {
"block-scoped-var": "off",
"no-dupe-class-members": "off",
"no-var": "off",
"object-shorthand": "off",
"prefer-arrow-callback": "off",
"prefer-spread": "off",
"prefer-object-spread": "off",
"prefer-reflect": "off",
"prefer-template": "off"
},

View File

@@ -1,13 +1,13 @@
<html>
<head>
<title>Excessive Load Warning</title>
<link href='https://fonts.googleapis.com/css?family=Ubuntu:400,500,700' rel='stylesheet' type='text/css'>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style type="text/css">
body {
background: #00A9EA;
color: white;
/* see public/less/admin/vars.less for documentation on system font family */
font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
font-family: 'Ubuntu', sans-serif;
text-align: center;
-webkit-transform-style: preserve-3d;
-moz-transform-style: preserve-3d;

3
public/js-enabled.css Normal file
View File

@@ -0,0 +1,3 @@
/*
The following stylesheet is only included on pages that can execute javascript
*/

View File

@@ -2,7 +2,6 @@
"events": "أحداث",
"no-events": "لا توجد أحداث",
"control-panel": "لوحة تحكم الأحداث",
"delete-events": "Delete Events",
"filters": "Filters",
"filters-apply": "Apply Filters",
"filter-type": "Event Type",

View File

@@ -1,79 +0,0 @@
{
"forum-traffic": "Forum Traffic",
"page-views": "مشاهدات الصفحات",
"unique-visitors": "زائرين فريدين",
"new-users": "New Users",
"posts": "مشاركات",
"topics": "مواضيع",
"page-views-seven": "آخر 7 ايام",
"page-views-thirty": "آخر 30 يوماً",
"page-views-last-day": "آخر 24 ساعة",
"page-views-custom": "مدة زمنية مخصصة",
"page-views-custom-start": "بداية المدة",
"page-views-custom-end": "نهاية المده",
"page-views-custom-help": "أدخل نطاقا زمنيا لمرات مشاهدة الصفحات التي ترغب في عرضها. إذا لم يظهر منتقي التاريخ، فإن التنسيق المقبول هو <code>YYYY-MM-DD</code>",
"page-views-custom-error": "الرجاء إدخال نطاق تاريخ صالح بالتنسيق <code>YYYY-MM-DD</code>",
"stats.yesterday": "Yesterday",
"stats.today": "Today",
"stats.last-week": "Last Week",
"stats.this-week": "This Week",
"stats.last-month": "Last Month",
"stats.this-month": "This Month",
"stats.all": "كل الوقت",
"updates": "تحديثات",
"running-version": "المنتدى يعمل حاليا على <strong>NodeBB الإصدار<span id=\"version\">%1</span></strong>.",
"keep-updated": "تأكد دائما من أن NodeBB يعمل على احدث إصدار للحصول على أحدث التصحيحات الأمنية وإصلاحات الأخطاء.",
"up-to-date": "<p>المنتدى <strong>يعمل على أحدث إصدار</strong> <i class=\"fa fa-check\"></i></p>",
"upgrade-available": "<p>A new version (v%1) has been released. Consider <a href=\"https://docs.nodebb.org/configuring/upgrade/\" target=\"_blank\">upgrading your NodeBB</a>.</p>",
"prerelease-upgrade-available": "<p>This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider <a href=\"https://docs.nodebb.org/configuring/upgrade/\" target=\"_blank\">upgrading your NodeBB</a>.</p>",
"prerelease-warning": "<p>هذه نسخة <strong>ماقبل الإصدار</strong> من NodeBB. قد تحدث أخطاء غير مقصودة. <i class=\"fa fa-exclamation-triangle\"></i></p>",
"running-in-development": "المنتدى قيد التشغيل في وضع \"المطورين\". وقد تكون هناك ثغرات أمنية مفتوحة؛ من فضلك تواصل مع مسؤول نظامك.",
"latest-lookup-failed": "<p>Failed to look up latest available version of NodeBB</p>",
"notices": "إشعارات",
"restart-not-required": "إعادة التشغيل غير مطلوب",
"restart-required": "إعادة التشغيل مطلوبة",
"search-plugin-installed": "إضافة البحث منصبة",
"search-plugin-not-installed": "إضافة البحث غير منصبة",
"search-plugin-tooltip": "نصب إضافة البحث من صفحة الإضافات البرمجية لتنشيط وظيفة البحث",
"control-panel": "التحكم بالنظام",
"rebuild-and-restart": "Rebuild &amp; Restart",
"restart": "Restart",
"restart-warning": "Rebuilding or Restarting your NodeBB will drop all existing connections for a few seconds.",
"restart-disabled": "Rebuilding and Restarting your NodeBB has been disabled as you do not seem to be running it via the appropriate daemon.",
"maintenance-mode": "وضع الصيانة",
"maintenance-mode-title": "انقر هنا لإعداد وضع الصيانة لـNodeBB",
"realtime-chart-updates": "التحديث الفوري للرسم البياني",
"active-users": "المستخدمين النشطين",
"active-users.users": "الأعضاء",
"active-users.guests": "الزوار",
"active-users.total": "المجموع",
"active-users.connections": "Connections",
"anonymous-registered-users": "المجهولين مقابل المستخدمين المسجلين",
"anonymous": "مجهول",
"registered": "مسجل",
"user-presence": "تواجد المستخدمين",
"on-categories": "في قائمة الأقسام",
"reading-posts": "قراءة المشاركات",
"browsing-topics": "تصفح المواضيع",
"recent": "الأخيرة",
"unread": "غير مقروء",
"high-presence-topics": "مواضيع ذات حضور قوي",
"graphs.page-views": "مشاهدات الصفحة",
"graphs.page-views-registered": "Page Views Registered",
"graphs.page-views-guest": "Page Views Guest",
"graphs.page-views-bot": "Page Views Bot",
"graphs.unique-visitors": "زوار فريدين",
"graphs.registered-users": "مستخدمين مسجلين",
"graphs.anonymous-users": "مستخدمين مجهولين",
"last-restarted-by": "Last restarted by",
"no-users-browsing": "No users browsing"
}

View File

@@ -3,7 +3,6 @@
"ip": "IP <strong>%1</strong>",
"nodes-responded": "%1 nodes responded within %2ms!",
"host": "host",
"primary": "primary / run jobs",
"pid": "pid",
"nodejs": "nodejs",
"online": "online",

View File

@@ -1,7 +1,7 @@
{
"available": "Available Widgets",
"explanation": "Select a widget from the dropdown menu and then drag and drop it into a template's widget area on the left.",
"none-installed": "No widgets found! Activate the widget essentials plugin in the <a href=\"%1\">plugins</a> control panel.",
"none-installed": "No widgets found! Activate the essential widgets plugin in the <a href=\"%1\">plugins</a> control panel.",
"clone-from": "Clone widgets from",
"containers.available": "Available Containers",
"containers.explanation": "Drag and drop on top of any active widget",

View File

@@ -11,7 +11,6 @@
"num-recent-replies": "# of Recent Replies",
"ext-link": "External Link",
"is-section": "Treat this category as a section",
"tag-whitelist": "Tag Whitelist",
"upload-image": "Upload Image",
"delete-image": "Remove",
"category-image": "Category Image",
@@ -27,8 +26,6 @@
"enable": "Enable",
"disable": "Disable",
"edit": "Edit",
"analytics": "Analytics",
"view-category": "View category",
"select-category": "Select Category",
"set-parent-category": "Set Parent Category",
@@ -66,6 +63,7 @@
"alert.create-success": "Category successfully created!",
"alert.none-active": "You have no active categories.",
"alert.create": "Create a Category",
"alert.confirm-moderate": "<strong>Are you sure you wish to grant the moderation privilege to this user group?</strong> This group is public, and any users can join at will.",
"alert.confirm-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!",
@@ -77,9 +75,7 @@
"alert.user-search": "Search for a user here...",
"alert.find-group": "Find a Group",
"alert.group-search": "Search for a group here...",
"alert.not-enough-whitelisted-tags": "Whitelisted tags are less than minimum tags, you need to create more whitelisted tags!",
"collapse-all": "Collapse All",
"expand-all": "Expand All",
"disable-on-create": "Disable on create",
"no-matches": "No matches"
"disable-on-create": "Disable on create"
}

View File

@@ -9,7 +9,7 @@
"default": "System default",
"default-help": "<em>System default</em> means the user has not explicitly overridden the global forum setting for digests, which is currently: &quot;<strong>%1</strong>&quot;",
"resend": "Resend Digest",
"resend-all-confirm": "Are you sure you wish to manually execute this digest run?",
"resend-all-confirm": "Are you sure you wish to mnually execute this digest run?",
"resent-single": "Manual digest resend completed",
"resent-day": "Daily digest resent",
"resent-week": "Weekly digest resent",
@@ -18,4 +18,4 @@
"manual-run": "Manual digest run:",
"no-delivery-data": "No delivery data found"
}
}

View File

@@ -8,9 +8,6 @@
"hidden": "Hidden",
"private": "Private",
"edit": "Edit",
"delete": "Delete",
"privileges": "Privileges",
"download-csv": "CSV",
"search-placeholder": "Search",
"create": "Create Group",
"description-placeholder": "A short description about your group",

View File

@@ -1,9 +1,8 @@
{
"global": "Global",
"admin": "Admin",
"global.no-users": "No user-specific global privileges.",
"group-privileges": "Group Privileges",
"user-privileges": "User Privileges",
"edit-privileges": "Edit Privileges",
"chat": "Chat",
"upload-images": "Upload Images",
"upload-files": "Upload Files",
@@ -32,21 +31,5 @@
"downvote-posts": "Downvote Posts",
"delete-topics": "Delete Topics",
"purge": "Purge",
"moderate": "Moderate",
"admin-dashboard": "Dashboard",
"admin-categories": "Categories",
"admin-privileges": "Privileges",
"admin-users": "Users",
"admin-settings": "Settings",
"alert.confirm-moderate": "<strong>Are you sure you wish to grant the moderation privilege to this user group?</strong> This group is public, and any users can join at will.",
"alert.confirm-save": "Please confirm your intention to save these privileges",
"alert.saved": "Privilege changes saved and applied",
"alert.confirm-discard": "Are you sure you wish to discard your privilege changes?",
"alert.discarded": "Privilege changes discarded",
"alert.confirm-copyToAll": "Are you sure you wish to apply this privilege set to <strong>all categories</strong>?",
"alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to <strong>all categories</strong>?",
"alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to <strong>all descendant (child) categories</strong>?",
"alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to <strong>all descendant (child) categories</strong>?",
"alert.no-undo": "<em>This action cannot be undone.</em>"
"moderate": "Moderate"
}

View File

@@ -3,13 +3,13 @@
"bg-color": "Background Colour",
"text-color": "Text Colour",
"create-modify": "Create & Modify Tags",
"description": "Select tags by clicking or dragging, use <code>CTRL</code> to select multiple tags.",
"description": "Select tags via clicking and/or dragging, use shift to select multiple.",
"create": "Create Tag",
"modify": "Modify Tags",
"rename": "Rename Tags",
"delete": "Delete Selected Tags",
"search": "Search for tags...",
"settings": "Tags Settings",
"settings": "Click <a href=\"%1\">here</a> to visit the tag settings page.",
"name": "Tag Name",
"alerts.editing": "Editing tag(s)",

View File

@@ -12,9 +12,8 @@
"unban": "Unban User(s)",
"reset-lockout": "Reset Lockout",
"reset-flags": "Reset Flags",
"delete": "Delete <strong>User(s)</strong>",
"delete-content": "Delete User(s) <strong>Content</strong>",
"purge": "Delete <strong>User(s)</strong> and <strong>Content</strong>",
"delete": "Delete User(s)",
"purge": "Delete User(s) and Content",
"download-csv": "Download CSV",
"manage-groups": "Manage Groups",
"add-group": "Add Group",
@@ -94,11 +93,9 @@
"alerts.validate-email-success": "Emails validated",
"alerts.validate-force-password-reset-success": "User(s) passwords have been reset and their existing sessions have been revoked.",
"alerts.password-reset-confirm": "Do you want to send password reset email(s) to these user(s)?",
"alerts.confirm-delete": "<strong>Warning!</strong><p>Do you really want to delete <strong>user(s)</strong>?</p><p>This action is not reversible! Only the user account will be deleted, their posts and topics will remain.</p>",
"alerts.confirm-delete": "<b>Warning!</b><br/>Do you really want to delete user(s)?<br/> This action is not reversable! Only the user account will be deleted, their posts and topics will remain.",
"alerts.delete-success": "User(s) Deleted!",
"alerts.confirm-delete-content": "<strong>Warning!</strong><p>Do you really want to delete these user(s) <strong>content</strong>?</p><p>This action is not reversible! The users' accounts will remain, but their posts and topics will be deleted.</p>",
"alerts.delete-content-success": "User(s) Content Deleted!",
"alerts.confirm-purge": "<strong>Warning!</strong><p>Do you really want to delete <strong>user(s) and their content</strong>?</p><p>This action is not reversible! All user data and content will be erased!</p>",
"alerts.confirm-purge": "<b>Warning!</b><br/>Do you really want to delete user(s) and their content?<br/> This action is not reversable! All user data and content will be erased!",
"alerts.create": "Create User",
"alerts.button-create": "Create",
"alerts.button-cancel": "Cancel",
@@ -108,5 +105,5 @@
"alerts.prompt-email": "Emails: ",
"alerts.email-sent-to": "An invitation email has been sent to %1",
"alerts.x-users-found": "%1 user(s) found, (%2 seconds)"
"alerts.x-users-found": "%1 user(s) found! Search took %2 ms."
}

View File

@@ -1,6 +1,11 @@
{
"dashboard": "Dashboard",
"section-general": "عام",
"general/dashboard": "اللوحة الرئيسية",
"general/homepage": "الصفحة الرئيسية",
"general/navigation": "التصفح",
"general/languages": "اللغات",
"general/sounds": "الأصوات",
"general/social": "شبكات التواصل",
"section-manage": "إدارة",
"manage/categories": "الأقسام",
@@ -17,22 +22,17 @@
"section-settings": "إعدادات",
"settings/general": "عامة",
"settings/homepage": "Home Page",
"settings/navigation": "Navigation",
"settings/reputation": "Reputation & Flags",
"settings/reputation": "السمعة",
"settings/email": "البريد الإلكتروني",
"settings/user": "Users",
"settings/group": "Groups",
"settings/user": "الأعضاء",
"settings/group": "المجموعات",
"settings/guest": "الزوار",
"settings/uploads": "الرفع",
"settings/languages": "Languages",
"settings/post": "Posts",
"settings/chat": "Chats",
"settings/post": "المشاركة",
"settings/chat": "الدردشة",
"settings/pagination": "ترقيم الصفحات",
"settings/tags": "الكلمات المفتاحية",
"settings/notifications": "التنبيهات",
"settings/sounds": "Sounds",
"settings/social": "Social",
"settings/cookies": "Cookies",
"settings/web-crawler": "Web Crawler",
"settings/sockets": "Sockets",

View File

@@ -20,15 +20,10 @@
"hsts.preload": "Allow preloading of HSTS header",
"hsts.help": "If enabled, an HSTS header will be set for this site. You can elect to include subdomains and preloading flags in your header. If in doubt, you can leave these unchecked. <a href=\"%1\">More information <i class=\"fa fa-external-link\"></i></a>",
"traffic-management": "Traffic Management",
"traffic.help": "NodeBB uses a module that automatically denies requests in high-traffic situations. You can tune these settings here, although the defaults are a good starting point.",
"traffic.help": "NodeBB deploys equipped with a module that automatically denies requests in high-traffic situations. You can tune these settings here, although the defaults are a good starting point.",
"traffic.enable": "Enable Traffic Management",
"traffic.event-lag": "Event Loop Lag Threshold (in milliseconds)",
"traffic.event-lag-help": "Lowering this value decreases wait times for page loads, but will also show the \"excessive load\" message to more users. (Restart required)",
"traffic.lag-check-interval": "Check Interval (in milliseconds)",
"traffic.lag-check-interval-help": "Lowering this value causes NodeBB to become more sensitive to spikes in load, but may also cause the check to become too sensitive. (Restart required)",
"sockets.settings": "WebSocket Settings",
"sockets.max-attempts": "Max Reconnection Attempts",
"sockets.default-placeholder": "Default: %1",
"sockets.delay": "Reconnection Delay"
"traffic.lag-check-interval-help": "Lowering this value causes NodeBB to become more sensitive to spikes in load, but may also cause the check to become too sensitive. (Restart required)"
}

View File

@@ -4,7 +4,10 @@
"address-help": "The following email address refers to the email that the recipient will see in the \"From\" and \"Reply To\" fields.",
"from": "From Name",
"from-help": "The from name to display in the email.",
"sendmail-rate-limit": "Send <em>X</em> emails...",
"sendmail-rate-delta": "... every <em>X</em> milliseconds",
"sendmail-rate-help": "Instructs the NodeBB mailer to limit the number of messages sent at once in order to not overwhelm email receiving services. These options do not apply if SMTP Transport is enabled (below).",
"smtp-transport": "SMTP Transport",
"smtp-transport.enabled": "Use an external email server to send emails",
"smtp-transport-help": "You can select from a list of well-known services or enter a custom one.",
@@ -22,8 +25,6 @@
"smtp-transport.username": "Username",
"smtp-transport.username-help": "<b>For the Gmail service,</b> enter the full email address here, especially if you are using a Google Apps managed domain.",
"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.",
"template": "Edit Email Template",
"template.select": "Select Email Template",

View File

@@ -1,41 +1,41 @@
{
"site-settings": "اعدادات الموقع",
"title": "عنوان الموقع",
"title.short": "عنوان قصير",
"title.short-placeholder": "ان لم تقم بكتابة عنوان مختصر, سيتم استخدام عنوان الموقع الكلي",
"title.url": "الرابط",
"site-settings": "Site Settings",
"title": "Site Title",
"title.short": "Short Title",
"title.short-placeholder": "If no short title is specified, the site title will be used",
"title.url": "URL",
"title.url-placeholder": "The URL of the site title",
"title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index.",
"title.name": "اسم المنتدي",
"title.name": "Your Community Name",
"title.show-in-header": "Show Site Title in Header",
"browser-title": "عنوان المتصفح",
"browser-title": "Browser Title",
"browser-title-help": "If no browser title is specified, the site title will be used",
"title-layout": "Title Layout",
"title-layout-help": "Define how the browser title will be structured ie. &#123;pageTitle&#125; | &#123;browserTitle&#125;",
"description.placeholder": "A short description about your community",
"description": "وصف الموقع",
"keywords": "الكلمات الدليله للموقع",
"description": "Site Description",
"keywords": "Site Keywords",
"keywords-placeholder": "Keywords describing your community, comma-separated",
"logo": "شعار الموقع",
"logo.image": "صورة",
"logo": "Site Logo",
"logo.image": "Image",
"logo.image-placeholder": "Path to a logo to display on forum header",
"logo.upload": "رفع",
"logo.url": "الرابط",
"logo.upload": "Upload",
"logo.url": "URL",
"logo.url-placeholder": "The URL of the site logo",
"logo.url-help": "When the logo is clicked, send users to this address. If left blank, user will be sent to the forum index.",
"logo.alt-text": "نص بديل",
"logo.alt-text": "Alt Text",
"log.alt-text-placeholder": "Alternative text for accessibility",
"favicon": "صورة المفضله",
"favicon.upload": "رفع",
"favicon": "Favicon",
"favicon.upload": "Upload",
"touch-icon": "Homescreen/Touch Icon",
"touch-icon.upload": "رفع",
"touch-icon.upload": "Upload",
"touch-icon.help": "Recommended size and format: 192x192, PNG format only. If no touch icon is specified, NodeBB will fall back to using the favicon.",
"outgoing-links": "Outgoing Links",
"outgoing-links.warning-page": "Use Outgoing Links Warning Page",
"search-default-sort-by": "الترتيب الافتراضي للبحث",
"search-default-sort-by": "Search default sort by",
"outgoing-links.whitelist": "Domains to whitelist for bypassing the warning page",
"site-colors": "Site Color Metadata",
"theme-color": "لون الثيم",
"background-color": "لون الخلفية",
"theme-color": "Theme Color",
"background-color": "Background Color",
"background-color-help": "Color used for splash screen background when website is installed as a PWA"
}

View File

@@ -1,6 +0,0 @@
{
"language-settings": "اعدادات اللغة",
"description": "تُحدد اللغة الافتراضية إعدادات اللغة لجميع المستخدمين الذين يزورون المنتدى. <br />يمكن للأعضاء تجاوز اللغة الافتراضية من خلال صفحة إعدادات الحساب الخاصة بهم.",
"default-language": "اللغة الافتراضية",
"auto-detect": "الكشف عن إعدادات اللغة للزوار بشكل آلي"
}

View File

@@ -2,5 +2,6 @@
"notifications": "Notifications",
"welcome-notification": "Welcome Notification",
"welcome-notification-link": "Welcome Notification Link",
"welcome-notification-uid": "Welcome Notification User (UID)"
"welcome-notification-uid": "Welcome Notification User (UID)",
"notification-alert-timeout": "Notification Alert Timeout"
}

View File

@@ -42,7 +42,6 @@
"unread.cutoff": "Unread cutoff days",
"unread.min-track-last": "Minimum posts in topic before tracking last read",
"recent": "Recent Settings",
"recent.max-topics": "Maximum topics on /recent",
"recent.categoryFilter.disable": "Disable filtering of topics in ignored categories on the /recent page",
"signature": "Signature Settings",
"signature.disable": "Disable signatures",

View File

@@ -5,16 +5,10 @@
"votes-are-public": "All Votes Are Public",
"thresholds": "Activity Thresholds",
"min-rep-downvote": "Minimum reputation to downvote posts",
"downvotes-per-day": "Downvotes per day (set to 0 for unlimited downvotes)",
"downvotes-per-user-per-day": "Downvotes per user per day (set to 0 for unlimited downvotes)",
"min-rep-flag": "Minimum reputation to flag posts",
"min-rep-website": "Minimum reputation to add \"Website\" to user profile",
"min-rep-aboutme": "Minimum reputation to add \"About me\" to user profile",
"min-rep-signature": "Minimum reputation to add \"Signature\" to user profile",
"min-rep-profile-picture": "Minimum reputation to add \"Profile Picture\" to user profile",
"min-rep-cover-picture": "Minimum reputation to add \"Cover Picture\" to user profile",
"flags": "Flag Settings",
"flags.limit-per-target": "Maximum number of times something can be flagged",
"flags.limit-per-target-placeholder": "Default: 0"
"min-rep-cover-picture": "Minimum reputation to add \"Cover Picture\" to user profile"
}

View File

@@ -1,9 +0,0 @@
{
"notifications": "التنبيهات",
"chat-messages": "Chat Messages",
"play-sound": "Play",
"incoming-message": "Incoming Message",
"outgoing-message": "Outgoing Message",
"upload-new-sound": "Upload New Sound",
"saved": "Settings Saved"
}

View File

@@ -1,10 +1,10 @@
{
"tag": "Tag Settings",
"link-to-manage": "Manage Tags",
"min-per-topic": "Minimum Tags per Topic",
"max-per-topic": "Maximum Tags per Topic",
"min-length": "Minimum Tag Length",
"max-length": "Maximum Tag Length",
"goto-manage": "Click here to visit the tag management page.",
"related-topics": "Related Topics",
"max-related-topics": "Maximum related topics to display (if supported by theme)"
}

View File

@@ -138,13 +138,8 @@
"not-enough-reputation-min-rep-signature": "You do not have enough reputation to add a signature",
"not-enough-reputation-min-rep-profile-picture": "You do not have enough reputation to add a profile picture",
"not-enough-reputation-min-rep-cover-picture": "You do not have enough reputation to add a cover picture",
"post-already-flagged": "You have already flagged this post",
"user-already-flagged": "You have already flagged this user",
"post-flagged-too-many-times": "This post has been flagged by others already",
"user-flagged-too-many-times": "This user has been flagged by others already",
"already-flagged": "لقد بلغت عن هذه المشاركة من قبل.",
"self-vote": "You cannot vote on your own post",
"too-many-downvotes-today": "You can only downvote %1 times a day",
"too-many-downvotes-today-user": "You can only downvote a user %1 times a day",
"reload-failed": "المنتدى واجه مشكلة أثناء إعادة التحميل: \"%1\". سيواصل المنتدى خدمة العملاء السابقين لكن يجب عليك إلغاء أي تغيير قمت به قبل إعادة التحميل.",
"registration-error": "حدث خطأ أثناء التسجيل",
"parse-error": "حدث خطأ ما أثناء تحليل استجابة الخادم",
@@ -162,7 +157,6 @@
"invalid-session-text": "يبدو أن فترة التسجيل لم تعد قائمة او هي غير مطابقة مع الخادم. يرجى إعادة تحميل هذه الصفحة.",
"no-topics-selected": "No topics selected!",
"cant-move-to-same-topic": "Can't move post to same topic!",
"cant-move-topic-to-same-category": "Can't move topic to the same category!",
"cannot-block-self": "You cannot block yourself!",
"cannot-block-privileged": "You cannot block administrators or global moderators",
"cannot-block-guest": "Guest are not able to block other users",

View File

@@ -1,66 +1,56 @@
{
"state": "الحالة",
"reports": "Reports",
"first-reported": "First Reported",
"state": "State",
"reporter": "Reporter",
"reported-at": "Reported At",
"description": "Description",
"no-flags": "Hooray! No flags found.",
"assignee": "المحال إليه",
"update": "تحديث",
"updated": "تم التحديث",
"assignee": "Assignee",
"update": "Update",
"updated": "Updated",
"target-purged": "The content this flag referred to has been purged and is no longer available.",
"graph-label": "Daily Flags",
"quick-filters": "Quick Filters",
"filter-active": "There are one or more filters active in this list of flags",
"filter-reset": "ازالة الفلاتر",
"filters": "خيارات الفلتر",
"filter-reset": "Remove Filters",
"filters": "Filter Options",
"filter-reporterId": "Reporter UID",
"filter-targetUid": "Flagged UID",
"filter-type": "عنوان العلامة",
"filter-type-all": "كل المحتوي",
"filter-type-post": "مشاركة",
"filter-type-user": "مستخدم",
"filter-state": "الحالة",
"filter-type": "Flag Type",
"filter-type-all": "All Content",
"filter-type-post": "Post",
"filter-type-user": "User",
"filter-state": "State",
"filter-assignee": "Assignee UID",
"filter-cid": "Category",
"filter-quick-mine": "Assigned to me",
"filter-cid-all": "All categories",
"apply-filters": "Apply Filters",
"more-filters": "More Filters",
"quick-actions": "اجراءات سريعه",
"quick-links": "Quick Links",
"flagged-user": "Flagged User",
"view-profile": "مشاهدة الملف الشخصي",
"start-new-chat": "بدء محادثه جديده",
"view-profile": "View Profile",
"start-new-chat": "Start New Chat",
"go-to-target": "View Flag Target",
"assign-to-me": "Assign To Me",
"delete-post": "حذف المشاركة",
"purge-post": "Purge Post",
"restore-post": "استرجاع المشاركة",
"user-view": "مشاهدة الملف الشخصي",
"user-edit": "تعديل الملف الشخصي",
"user-view": "View Profile",
"user-edit": "Edit Profile",
"notes": "Flag Notes",
"add-note": "اضافة ملاحظة",
"add-note": "Add Note",
"no-notes": "No shared notes.",
"delete-note-confirm": "Are you sure you want to delete this flag note?",
"note-added": "Note Added",
"note-deleted": "Note Deleted",
"history": "Account &amp; Flag History",
"history": "Flag History",
"back": "Back to Flags List",
"no-history": "No flag history.",
"state-all": "All states",
"state-open": "New/Open",
"state-wip": "Work in Progress",
"state-resolved": "تم حلها",
"state-rejected": "تم رفضها",
"state-resolved": "Resolved",
"state-rejected": "Rejected",
"no-assignee": "Not Assigned",
"sort": "Sort by",
"sort-newest": "Newest first",
"sort-oldest": "Oldest first",
"sort-reports": "Most reports",
"note-added": "Note Added",
"modal-title": "Report Inappropriate Content",
"modal-body": "Please specify your reason for flagging %1 %2 for review. Alternatively, use one of the quick report buttons if applicable.",
@@ -72,9 +62,5 @@
"modal-submit-success": "Content has been flagged for moderation.",
"modal-submit-confirm": "Confirm Submission",
"modal-submit-confirm-text": "You have a custom reason specified already. Are you sure you wish to submit via quick-report?",
"modal-submit-confirm-text-help": "Submitting a quick report will overwrite any custom reasons defined.",
"bulk-actions": "Bulk Actions",
"bulk-resolve": "Resolve Flag(s)",
"bulk-success": "%1 flags updated"
"modal-submit-confirm-text-help": "Submitting a quick report will overwrite any custom reasons defined."
}

View File

@@ -30,7 +30,6 @@
"header.unread": "غير مقروء",
"header.tags": "وسم",
"header.popular": "الأكثر شهرة",
"header.top": "Top",
"header.users": "المستخدمين",
"header.groups": "المجموعات",
"header.chats": "المحادثات",
@@ -54,7 +53,6 @@
"posts": "المشاركات",
"best": "الأفضل",
"votes": "Votes",
"voters": "Voters",
"upvoters": "الموافقين",
"upvoted": "مصوت بالموجب",
"downvoters": "مصوتين بالسالب",

View File

@@ -1,7 +1,6 @@
{
"chat.chatting_with": "Chat with",
"chat.placeholder": "أكتب رسالة دردشة هنا، اضغط ENTER للإرسال",
"chat.scroll-up-alert": "You are looking at older messages, click here to go to most recent message.",
"chat.send": "أرسل",
"chat.no_active": "لا يوجد لديك دردشات نشطة.",
"chat.user_typing": "%1 يكتب رسالة...",
@@ -59,7 +58,6 @@
"composer.upload-file": "Upload File",
"composer.zen_mode": "Zen Mode",
"composer.select_category": "Select a category",
"composer.textarea.placeholder": "Enter your post content here, drag and drop images",
"bootbox.ok": "OK",
"bootbox.cancel": "إلغاء",
"bootbox.confirm": "تأكيد",

View File

@@ -43,9 +43,6 @@
"new_register_multiple": "There are <strong>%1</strong> registration requests awaiting review.",
"flag_assigned_to_you": "تم تخصيص العلامة 1% لك",
"post_awaiting_review": "Post awaiting review",
"profile-exported": "<strong>%1</strong> profile exported, click to download",
"posts-exported": "<strong>%1</strong> posts exported, click to download",
"uploads-exported": "<strong>%1</strong> uploads exported, click to download",
"email-confirmed": "تم التحقق من عنوان البريد الإلكتروني",
"email-confirmed-message": "شكرًا على إثبات صحة عنوان بريدك الإلكتروني. صار حسابك مفعلًا بالكامل.",
"email-confirm-error-message": "حدث خطأ أثناء التحقق من عنوان بريدك الإلكتروني. ربما رمز التفعيل خاطئ أو انتهت صلاحيته.",

View File

@@ -3,6 +3,5 @@
"tags": "الكلمات الدلالية",
"enter_tags_here": "Enter tags here, between %1 and %2 characters each.",
"enter_tags_here_short": "أدخل الكلمات الدلالية...",
"no_tags": "لا يوجد كلمات دلالية بعد.",
"select_tags": "Select Tags"
"no_tags": "لا يوجد كلمات دلالية بعد."
}

View File

@@ -36,11 +36,8 @@
"ban-ip": "Ban IP",
"view-history": "Edit History",
"bookmark_instructions": "اضغط هنا للعودة لأخر مشاركة مقروءة في الموضوع",
"flag-post": "Flag this post",
"flag-user": "Flag this user",
"already-flagged": "Already Flagged",
"view-flag-report": "View Flag Report",
"merged_message": "This topic has been merged into <a href=\"%1\">%2</a>",
"flag_title": "إشعار بمشاركة مخلة.",
"merged_message": "This topic has been merged into <a href=\"/topic/%1\">%2</a>",
"deleted_message": "هذه المشاركة محذوفة. فقط من لهم صلاحية الإشراف على ا لمشاركات يمكنهم معاينتها.",
"following_topic.message": "ستستلم تنبيها عند كل مشاركة جديدة في هذا الموضوع.",
"not_following_topic.message": "You will see this topic in the unread topics list, but you will not receive notifications when somebody posts to this topic.",
@@ -81,8 +78,7 @@
"thread_tools.purge_confirm": "هل أنت متأكد أنك تريد تطهير هذا الموضوع؟",
"thread_tools.merge_topics": "Merge Topics",
"thread_tools.merge": "Merge",
"topic_move_success": "This topic has been successfully moved to %1. Click here to undo.",
"topic_move_undone": "Topic move undone",
"topic_move_success": "تم نقل هذا الموضوع إلى %1 بنجاح",
"post_delete_confirm": "هل أنت متأكد أنك تريد حذف هذه المشاركة؟",
"post_restore_confirm": "هل أنت متأكد أنك تريد استعادة هذه المشاركة؟",
"post_purge_confirm": "هل أنت متأكد أنك تريد تطهير هذه المشاركة؟",
@@ -103,11 +99,7 @@
"fork_pid_count": "1% مشاركة محددة",
"fork_success": "تم إنشاء فرع للموضوع بنجاح! إضغط هنا لمعاينة الفرع.",
"delete_posts_instruction": "Click the posts you want to delete/purge",
"merge_topics_instruction": "Click the topics you want to merge or search for them",
"merge-topic-list-title": "List of topics to be merged",
"merge-options": "Merge options",
"merge-select-main-topic": "Select the main topic",
"merge-new-title-for-topic": "New title for topic",
"merge_topics_instruction": "Click the topics you want to merge",
"move_posts_instruction": "Click the posts you want to move",
"change_owner_instruction": "Click the posts you want to assign to another user",
"composer.title_placeholder": "أدخل عنوان موضوعك هنا...",
@@ -142,9 +134,6 @@
"diffs.no-revisions-description": "This post has <strong>%1</strong> revisions.",
"diffs.current-revision": "current revision",
"diffs.original-revision": "original revision",
"diffs.restore": "Restore this revision",
"diffs.restore-description": "A new revision will be appended to this post's edit history.",
"diffs.post-restored": "Post successfully restored to earlier revision",
"timeago_later": "%1 later",
"timeago_earlier": "%1 earlier"
}

View File

@@ -1,27 +1,20 @@
{
"banned": "محظور",
"offline": "غير متصل",
"deleted": "محذوف",
"deleted": "Deleted",
"username": "إسم المستخدم",
"joindate": "تاريخ الإنضمام",
"postcount": "عدد المشاركات",
"email": "البريد الإلكتروني",
"confirm_email": "تأكيد عنوان البريد الإلكتروني",
"account_info": "معلومات الحساب",
"admin_actions_label": "Administrative Actions",
"ban_account": "حظر الحساب",
"ban_account_confirm": "هل تريد حقاً حظر هاذا العضو؟",
"unban_account": "إزالة حظر الحساب",
"delete_account": "حذف الحساب",
"delete_account_as_admin": "Delete <strong>Account</strong>",
"delete_content": "Delete Account <strong>Content</strong>",
"delete_all": "Delete <strong>Account</strong> and <strong>Content</strong>",
"delete_account_confirm": "Are you sure you want to anonymize your posts and delete your account?<br /><strong>This action is irreversible and you will not be able to recover any of your data</strong><br /><br />Enter your password to confirm that you wish to destroy this account.",
"delete_this_account_confirm": "Are you sure you want to delete this account while leaving its contents behind?<br /><strong>This action is irreversible, posts will be anonymized, and you will not be able to restore post associations with the deleted account</strong><br /><br />",
"delete_account_content_confirm": "Are you sure you want to delete this account's content (posts/topics/uploads)? <br /><strong>This action is irreversible and you will not be able to recover any data</strong><br /><br />",
"delete_all_confirm": "Are you sure you want to delete this account and all of its content (posts/topics/uploads)? <br /><strong>This action is irreversible and you will not be able to recover any data</strong><br /><br />",
"delete_account_confirm": "Are you sure you want to delete your account? <br /><strong>This action is irreversible and you will not be able to recover any of your data</strong><br /><br />Enter your password to confirm that you wish to destroy this account.",
"delete_this_account_confirm": "هل انت متأكد من رغبتك بحذف هذا الحساب؟ <br /> <strong>هذا الإجراء لا رجعة فيه ولن تتمكن من استرداد أي بيانات</strong><br /><br />",
"account-deleted": "تم حذف الحساب",
"account-content-deleted": "Account content deleted",
"fullname": "الاسم الكامل",
"website": "الموقع الإلكتروني",
"location": "الموقع",
@@ -151,7 +144,6 @@
"info.ban-history": "سجل الحظر الأحدث",
"info.no-ban-history": "هذا المستخدم لم يتم حظره مطلقا",
"info.banned-until": "محظور حتى %1",
"info.banned-expiry": "Expiry",
"info.banned-permanently": "محظور بشكل دائم",
"info.banned-reason-label": "سبب",
"info.banned-no-reason": "لم يتم إعطاء سبب.",
@@ -179,9 +171,6 @@
"consent.right_to_data_portability": "You have the Right to Data Portability",
"consent.right_to_data_portability_description": "You may request from us a machine-readable export of any collected data about you and your account. You can do so by clicking the appropriate button below.",
"consent.export_profile": "Export Profile (.json)",
"consent.export-profile-success": "Exporting profile, you will get a notification when it is complete.",
"consent.export_uploads": "Export Uploaded Content (.zip)",
"consent.export-uploads-success": "Exporting uploads, you will get a notification when it is complete.",
"consent.export_posts": "Export Posts (.csv)",
"consent.export-posts-success": "Exporting posts, you will get a notification when it is complete."
"consent.export_posts": "Export Posts (.csv)"
}

View File

@@ -2,7 +2,6 @@
"events": "Събития",
"no-events": "Няма събития",
"control-panel": "Контролен панел за събитията",
"delete-events": "Изтриване на събитията",
"filters": "Филтри",
"filters-apply": "Прилагане на филтрите",
"filter-type": "Вид събитие",

View File

@@ -1,79 +0,0 @@
{
"forum-traffic": "Трафик на форума",
"page-views": "Преглеждания на страниците",
"unique-visitors": "Уникални посетители",
"new-users": "Нови потребители",
"posts": "Публикации",
"topics": "Теми",
"page-views-seven": "Последните 7 дни",
"page-views-thirty": "Последните 30 дни",
"page-views-last-day": "Последните 24 часа",
"page-views-custom": "Интервал по избор",
"page-views-custom-start": "Начална дата",
"page-views-custom-end": "Крайна дата",
"page-views-custom-help": "Въведете интервал от дати, за които искате да видите преглежданията на страниците. Ако не се появи календар за избор, можете да въведете датите във формат: <code>ГГГГ-ММ-ДД</code>",
"page-views-custom-error": "Моля, въведете правилен интервал от дати във формата: <code>ГГГГ-ММ-ДД</code>",
"stats.yesterday": "Вчера",
"stats.today": "Днес",
"stats.last-week": "Миналата седмица",
"stats.this-week": "Тази седмица",
"stats.last-month": "Миналия месец",
"stats.this-month": "Този месец",
"stats.all": "От началото",
"updates": "Обновления",
"running-version": "Вие използвате <strong>NodeBB версия <span id=\"version\">%1</span></strong>.",
"keep-updated": "Стремете се винаги да използвате най-новата версия на NodeBB, за да се възползвате от последните подобрения на сигурността и поправки на проблеми.",
"up-to-date": "<p>Вие използвате <strong>най-новата версия</strong> <i class=\"fa fa-check\"></i></p>",
"upgrade-available": "<p>Има нова версия (версия %1). Ако имате възможност, <a href=\"https://docs.nodebb.org/configuring/upgrade/\" target=\"_blank\">обновете NodeBB</a>.</p>",
"prerelease-upgrade-available": "<p>Това е остаряла предварителна версия на NodeBB. Има нова версия (версия %1). Ако имате възможност, <a href=\"https://docs.nodebb.org/configuring/upgrade/\" target=\"_blank\">обновете NodeBB</a>.</p>",
"prerelease-warning": "<p>Това е версия за <strong>предварителен преглед</strong> на NodeBB. Възможно е да има неочаквани неизправности. <i class=\"fa fa-exclamation-triangle\"></i></p>",
"running-in-development": "<span>Форумът работи в режим за разработчици, така че може да бъде уязвим. Моля, свържете се със системния си администратор.</span>",
"latest-lookup-failed": "<p>Не може да бъде извършена проверка за последната налична версия на NodeBB</p>",
"notices": "Забележки",
"restart-not-required": "Не се изисква рестартиране",
"restart-required": "Изисква се рестартиране",
"search-plugin-installed": "Добавката за търсене е инсталирана",
"search-plugin-not-installed": "Добавката за търсене не е инсталирана",
"search-plugin-tooltip": "Инсталирайте добавка за търсене от страницата с добавките, за да включите функционалността за търсене",
"control-panel": "Системен контрол",
"rebuild-and-restart": "Повторно изграждане и рестартиране",
"restart": "Рестартиране",
"restart-warning": "Повторното изграждане и рестартирането на NodeBB ще прекъснат всички връзки за няколко секунди.",
"restart-disabled": "Възможностите за повторно изграждане и рестартиране на NodeBB са изключени, тъй като изглежда, че NodeBB не се изпълнява чрез подходящия демон.",
"maintenance-mode": "Режим на профилактика",
"maintenance-mode-title": "Щракнете тук, за да зададете режим на профилактика на NodeBB",
"realtime-chart-updates": "Актуализации на таблиците в реално време",
"active-users": "Дейни потребители",
"active-users.users": "Потребители",
"active-users.guests": "Гости",
"active-users.total": "Общо",
"active-users.connections": "Връзки",
"anonymous-registered-users": "Анонимни към регистрирани потребители",
"anonymous": "Анонимни",
"registered": "Регистрирани",
"user-presence": "Присъствие на потребителите ",
"on-categories": "В списъка с категории",
"reading-posts": "Четящи публикации",
"browsing-topics": "Разглеждащи теми",
"recent": "Скорошни",
"unread": "Непрочетени",
"high-presence-topics": "Теми с най-голяма присъственост",
"graphs.page-views": "Преглеждания на страниците",
"graphs.page-views-registered": "Преглеждания на страниците от регистрирани потребители",
"graphs.page-views-guest": "Преглеждания на страниците от гости",
"graphs.page-views-bot": "Преглеждания на страниците от ботове",
"graphs.unique-visitors": "Уникални посетители",
"graphs.registered-users": "Регистрирани потребители",
"graphs.anonymous-users": "Анонимни потребители",
"last-restarted-by": "Последно рестартиране от",
"no-users-browsing": "Няма разглеждащи потребители"
}

View File

@@ -3,7 +3,6 @@
"ip": "IP <strong>%1</strong>",
"nodes-responded": "%1 възела отговориха в рамките на %2мсек!",
"host": "сървър",
"primary": "основен / изпълнение на задачите",
"pid": "ид. на процеса",
"nodejs": "nodejs",
"online": "на линия",

View File

@@ -11,7 +11,6 @@
"num-recent-replies": "Брой на скорошните отговори",
"ext-link": "Външна връзка",
"is-section": "Използване на тази категория като раздел",
"tag-whitelist": "Списък от разрешени етикети",
"upload-image": "Качване на изображение",
"delete-image": "Премахване",
"category-image": "Изображение на категорията",
@@ -27,8 +26,6 @@
"enable": "Включване",
"disable": "Изключване",
"edit": "Редактиране",
"analytics": "Анализи",
"view-category": "Преглед на категорията",
"select-category": "Изберете категория",
"set-parent-category": "Задайте базова категория",
@@ -66,6 +63,7 @@
"alert.create-success": "Категорията е създадена успешно!",
"alert.none-active": "Нямате активни категории.",
"alert.create": "Създаване на категория",
"alert.confirm-moderate": "<strong>Наистина ли искате да дадете правомощието за модериране на тази потребителска група?</strong> Тази група е публична и всеки може свободно да се присъедини към нея.",
"alert.confirm-purge": "<p class=\"lead\">Наистина ли искате да изтриете категорията „%1“?</p><h5><strong class=\"text-danger\">Внимание!</strong> Всички теми и публикации в тази категория ще бъдат изтрити!</h5> <p class=\"help-block\">Изтриването на категорията ще премахне всички теми и публикации, и ще изтрие категорията от базата данни. Ако искате да премахнете категорията <em>временно</em>, можете просто да я „изключите“.</p>",
"alert.purge-success": "Категорията е изтрита!",
"alert.copy-success": "Настройките са копирани!",
@@ -77,9 +75,7 @@
"alert.user-search": "Потърсете потребител тук…",
"alert.find-group": "Търсене на група",
"alert.group-search": "Потърсете група тук…",
"alert.not-enough-whitelisted-tags": "Разрешените етикети са по-малко от минимума. Трябва да създадете още разрешени етикети!",
"collapse-all": "Свиване на всички",
"expand-all": "Разгъване на всички",
"disable-on-create": "Изключване при създаване",
"no-matches": "Няма съвпадения"
"disable-on-create": "Изключване при създаване"
}

View File

@@ -18,4 +18,4 @@
"manual-run": "Ръчно разпращане на резюмето:",
"no-delivery-data": "Няма данни за доставката"
}
}

View File

@@ -8,9 +8,6 @@
"hidden": "Скрита",
"private": "Частна",
"edit": "Редактиране",
"delete": "Изтриване",
"privileges": "Правомощия",
"download-csv": "CSV",
"search-placeholder": "Търсене",
"create": "Създаване на група",
"description-placeholder": "Кратко описание на групата",

View File

@@ -1,9 +1,8 @@
{
"global": "Глобални",
"admin": "Администратор",
"global.no-users": "Няма глобални правомощия за отделни потребители.",
"group-privileges": "Правомощия за групите",
"user-privileges": "Правомощия за потребителите",
"edit-privileges": "Редактиране на правомощията",
"chat": "Разговор",
"upload-images": "Качване на изображения",
"upload-files": "Качване на файлове",
@@ -32,21 +31,5 @@
"downvote-posts": "Отрицателно гласуване за публикации",
"delete-topics": "Изтриване на теми",
"purge": "Изчистване",
"moderate": "Модериране",
"admin-dashboard": "Табло",
"admin-categories": "Категории",
"admin-privileges": "Правомощия",
"admin-users": "Потребители",
"admin-settings": "Настройки",
"alert.confirm-moderate": "<strong>Наистина ли искате да дадете правомощието за модериране на тази потребителска група?</strong> Тази група е публична и всеки може свободно да се присъедини към нея.",
"alert.confirm-save": "Моля, потвърдете желанието си да запазите тези правомощия",
"alert.saved": "Промените по правомощията са запазени и приложени",
"alert.confirm-discard": "Наистина ли искате да отхвърлите промените по правомощията?",
"alert.discarded": "Промените по правомощията са отхвърлени",
"alert.confirm-copyToAll": "Наистина ли искате да приложите този набор от правомощия към <strong>всички категории</strong>?",
"alert.confirm-copyToAllGroup": "Наистина ли искате да приложите набора от правомощия на таи група към <strong>всички категории</strong>?",
"alert.confirm-copyToChildren": "Наистина ли искате да приложите този набор от правомощия към <strong>всички по-долни (дъщерни) категории</strong>?",
"alert.confirm-copyToChildrenGroup": "Наистина ли искате да приложите набора от правомощия на таи група към <strong>всички по-долни (дъщерни) категории</strong>?",
"alert.no-undo": "<em>Това действие е необратимо.</em>"
"moderate": "Модериране"
}

View File

@@ -3,13 +3,13 @@
"bg-color": "Цвят на фона",
"text-color": "Цвят на текста",
"create-modify": "Създаване и редактиране на етикети",
"description": "Изберете етикетите чрез щракване или влачене. Използвайте <code>CTRL</code>, за да изберете няколко етикета.",
"description": "Изберете етикетите чрез щракване или влачене. Използвайте „Shift“, за да изберете няколко етикета.",
"create": "Създаване на етикет",
"modify": "Редактиране на етикети",
"rename": "Преименуване на етикети",
"delete": "Изтриване на избраните етикети",
"search": "Търсене на етикети…",
"settings": "Настройки за етикетите",
"settings": "Натиснете <a href=\"%1\">тук</a>, за да отворите страницата с настройки на етикета.",
"name": "Име на етикета",
"alerts.editing": "Редактиране на етикет(и)",

View File

@@ -12,9 +12,8 @@
"unban": "Деблокиране на потребителя/ите",
"reset-lockout": "Нулиране на заключването",
"reset-flags": "Анулиране на докладите",
"delete": "Изтриване на <strong>потребителя/ите</strong>",
"delete-content": "Изтриване на <strong>съдържанието</strong> на потребителя/ите",
"purge": "Изтриване на <strong>потребителя/ите</strong> и <strong>съдържанието</strong>",
"delete": "Изтриване на потребителя/ите",
"purge": "Изтриване на потребителя/ите и съдържанието",
"download-csv": "Сваляне във формат „CSV“",
"manage-groups": "Управление на групите",
"add-group": "Добавяне на група",
@@ -94,11 +93,9 @@
"alerts.validate-email-success": "Е-пощите са проверени",
"alerts.validate-force-password-reset-success": "Паролата на потребителя (или паролите на потребителите) беше подновена и сесията му беше прекратена.",
"alerts.password-reset-confirm": "Искате ли да изпратите е-писмо/а за възстановяване на паролата на този/тези потребител(и)?",
"alerts.confirm-delete": "<strong>ВНИМАНИЕ!</strong><p>Наистина ли искате да изтриете <strong>потребителя/ите</strong>?</p> <p>Това действие е необратимо! Ще бъде изтрит само профилът на потребителя/ите, неговите/техните публикациите и теми ще останат.</p>",
"alerts.confirm-delete": "<b>ВНИМАНИЕ!</b><br/>Наистина ли искате да изтриете потребителя/ите?<br/> Това действие е необратимо! Ще бъде изтрит само профилът на потребителя/ите, неговите/техните публикациите и теми ще останат.",
"alerts.delete-success": "Потребителят/ите е/са изтрит(и)!",
"alerts.confirm-delete-content": "<strong>ВНИМАНИЕ!</strong><p>Наистина ли искате да изтриете <strong>съдържанието</strong> на този потребител или тези потребители?</p> <p>Това действие е необратимо! Профилите на потребителите ще останат, но всички техни публикации и теми ще бъдат изтрити.</p>",
"alerts.delete-content-success": "Съдържанието на потребителя/ите е изтрито!",
"alerts.confirm-purge": "<strong>ВНИМАНИЕ!</strong><p>Наистина ли искате да изтриете <strong>потребителя/ите и неговото/тяхното съдържание</strong>?</p> <p>Това действие е необратимо! Всички потребителски данни и съдържание ще бъдат заличени!</p>",
"alerts.confirm-purge": "<b>ВНИМАНИЕ!</b><br/>Наистина ли искате да изтриете потребителя/ите?<br/> Това действие е необратимо! Всички потребителски данни и съдържание ще бъдат заличени!",
"alerts.create": "Създаване на потребител",
"alerts.button-create": "Създаване",
"alerts.button-cancel": "Отказ",
@@ -108,5 +105,5 @@
"alerts.prompt-email": "Е-пощи: ",
"alerts.email-sent-to": "Беше изпратено е-писмо за потвърждение до %1",
"alerts.x-users-found": "Намерени потребители: %1 (%2 секунди)"
"alerts.x-users-found": "Намерени потребители: %1! Търсенето отне %2 милисекунди."
}

View File

@@ -1,6 +1,11 @@
{
"dashboard": "Табло",
"section-general": "Общи",
"general/dashboard": "Табло",
"general/homepage": "Начало",
"general/navigation": "Навигация",
"general/languages": "Езици",
"general/sounds": "Звуци",
"general/social": "Обществени",
"section-manage": "Управление",
"manage/categories": "Категории",
@@ -17,22 +22,17 @@
"section-settings": "Настройки",
"settings/general": "Общи",
"settings/homepage": "Начална страница",
"settings/navigation": "Навигация",
"settings/reputation": "Репутация и доклади",
"settings/reputation": "Репутация",
"settings/email": "Е-поща",
"settings/user": "Потребители",
"settings/group": "Групи",
"settings/user": "Потребител",
"settings/group": "Група",
"settings/guest": "Гости",
"settings/uploads": "Качвания",
"settings/languages": "Езици",
"settings/post": "Публикации",
"settings/chat": "Разговори",
"settings/post": "Публикация",
"settings/chat": "Разговор",
"settings/pagination": "Странициране",
"settings/tags": "Етикети",
"settings/notifications": "Известия",
"settings/sounds": "Звуци",
"settings/social": "Обществени",
"settings/cookies": "Бисквитки",
"settings/web-crawler": "Обхождач на уеб страници",
"settings/sockets": "Сокети",

View File

@@ -20,15 +20,10 @@
"hsts.preload": "Позволяване на предварителното зареждане на заглавката на HSTS",
"hsts.help": "Ако това е включено, за този уеб ще бъде настроена заглавка за HSTS. Можете да изберете дали да включите поддомейните и дали за заредите предварително флаговете в заглавката си. Ако не знаете какво да направите, най-добре не избирайте нищо. <a href=\"%1\">Още информация<i class=\"fa fa-external-link\"></i></a>",
"traffic-management": "Управление на трафика",
"traffic.help": "NodeBB използва модул, който автоматично отказва заявките в натоварените моменти. Можете да настроите поведението тук, въпреки че стойностите по подразбиране са добра отправна точка.",
"traffic.help": "NodeBB има вграден модул, който автоматично отказва заявките в натоварените моменти. Можете да настроите поведението тук, въпреки че стойностите по подразбиране са добра отправна точка.",
"traffic.enable": "Включване на управлението на трафика",
"traffic.event-lag": "Граница на забавяне в цикъла на събитията (в милисекунди)",
"traffic.event-lag-help": "Намаляването на тази стойност ще намали времето за изчакване при зареждане на страници, но също така ще предизвика по-често показване на съобщението „прекомерно натоварване“ на повече потребители. (Нужно е рестартиране.)",
"traffic.lag-check-interval": "Интервал на проверка (в милисекунди)",
"traffic.lag-check-interval-help": "Намаляването на тази стойност ще направи NodeBB по-чувствителен към скоковете в натовареността, но може и да направи проверката твърде чувствителна. (Нужно е рестартиране.)",
"sockets.settings": "Настройки за WebSocket",
"sockets.max-attempts": "Максимален брой опити за повторно свързване",
"sockets.default-placeholder": "По подразбиране: %1",
"sockets.delay": "Забавяне при повторно свързване"
"traffic.lag-check-interval-help": "Намаляването на тази стойност ще направи NodeBB по-чувствителен към скоковете в натовареността, но може и да направи проверката твърде чувствителна. (Нужно е рестартиране.)"
}

View File

@@ -4,7 +4,10 @@
"address-help": "Следният адрес на е-поща е този, който получателят ще види в полетата „От“ и “Отговор до“.",
"from": "Име за полето „От“",
"from-help": "Името на изпращача, което да бъде показано в е-писмото.",
"sendmail-rate-limit": "Изпращане на <em>X</em> е-писма…",
"sendmail-rate-delta": "…на всеки <em>X</em> милисекунди",
"sendmail-rate-help": "Задава на програмата за изпращане на е-писма на NodeBB да ограничи броя едновременно изпращани съобщения, за да не се претоварват пощенските сървъри. Тези настройки не се вземат предвид, ако е включена настройката „Транспорт чрез SMTP“ (по-долу).",
"smtp-transport": "Транспорт чрез SMTP",
"smtp-transport.enabled": "Използване на външен сървър за е-поща за изпращане на е-писма",
"smtp-transport-help": "Можете да изберете от списък от познати услуги, или да въведете такава ръчно.",
@@ -22,8 +25,6 @@
"smtp-transport.username": "Потребителско име",
"smtp-transport.username-help": "<b>За услугата на Gmail</b>, въведете пълния адрес на е-пощата тук, особено ако използвате управляван домейн на „Google Apps“.",
"smtp-transport.password": "Парола",
"smtp-transport.pool": "Включване на групираните връзки",
"smtp-transport.pool-help": "Групирането на връзките предотвратява създаването на нова връзка за всяко е-писмо. Тази настройка има ефект, само ако е включено „Транспорт чрез SMTP“.",
"template": "Редактирана не шаблона за е-писма",
"template.select": "Изберете шаблон за е-писма",

View File

@@ -1,8 +0,0 @@
{
"home-page": "Начална страница",
"description": "Изберете коя страница да бъде показана, когато потребителите отидат на главния адрес на форума.",
"home-page-route": "Път на началната страница",
"custom-route": "Персонализиран път",
"allow-user-home-pages": "Разрешаване на потребителските начални страници",
"home-page-title": "Заглавие на началната страница (по подразбиране: „Начало“)"
}

View File

@@ -1,6 +0,0 @@
{
"language-settings": "Езикови настройки",
"description": "Езикът по подразбиране определя езиковите настройки за всички потребители, които посещават Вашия форум. <br />Отделните потребители могат да сменят езика си от страницата с настройки на профила си.",
"default-language": "Език по подразбиране",
"auto-detect": "Автоматично разпознаване на езика за гостите"
}

View File

@@ -1,23 +0,0 @@
{
"icon": "Иконка:",
"change-icon": "промяна",
"route": "Маршрут:",
"tooltip": "Подсказка:",
"text": "Текст:",
"text-class": "Текстов клас: <small>незадължително</small>",
"class": "Клас: <small>незадължително</small>",
"id": "Идентификатор: <small>незадължително</small>",
"properties": "Свойства:",
"groups": "Групи:",
"open-new-window": "Отваряне в нов прозорец",
"btn.delete": "Изтриване",
"btn.disable": "Изключване",
"btn.enable": "Включване",
"available-menu-items": "Налични елементи за менюто",
"custom-route": "Персонализиран маршрут",
"core": "ядро",
"plugin": "добавка"
}

View File

@@ -2,5 +2,6 @@
"notifications": "Известия",
"welcome-notification": "Приветствено известие",
"welcome-notification-link": "Връзка за приветственото известие",
"welcome-notification-uid": "Потр. ид. за приветственото известие"
"welcome-notification-uid": "Потр. ид. за приветственото известие",
"notification-alert-timeout": "Време за изчакване преди премахване на уведомяването за известие"
}

View File

@@ -42,7 +42,6 @@
"unread.cutoff": "Възраст на публикациите, след която те не се показват в непрочетените (в брой дни)",
"unread.min-track-last": "Минимален брой публикации в темата, след което да започва следене на последно прочетената",
"recent": "Настройки за скорошните",
"recent.max-topics": "Максимален брой теми в скорошните",
"recent.categoryFilter.disable": "Изключване на филтрирането на темите в пренебрегваните категории на страницата /recent",
"signature": "Настройки за подписите",
"signature.disable": "Забраняване на подписите",

View File

@@ -5,16 +5,10 @@
"votes-are-public": "Всички гласувания са публични",
"thresholds": "Ограничения на дейността",
"min-rep-downvote": "Минимална репутация, необходима за отрицателно гласуване за публикации",
"downvotes-per-day": "Отрицателни гласувания за ден (задайте 0 за неограничен брой)",
"downvotes-per-user-per-day": "Отрицателни гласувания за потребител за ден (задайте 0 за неограничен брой)",
"min-rep-flag": "Минимална репутация, необходима за докладване на публикации",
"min-rep-website": "Минимална репутация, необходима за добавяне на полето „Уебсайт“ към профила на потребителя",
"min-rep-aboutme": "Минимална репутация, необходима за добавяне на полето „За мен“ към профила на потребителя",
"min-rep-signature": "Минимална репутация, необходима за добавяне на полето „Подпис“ към профила на потребителя",
"min-rep-profile-picture": "Минимална репутация, необходима за добавяне на профилна снимка към профила на потребителя",
"min-rep-cover-picture": "Минимална репутация, необходима за добавяне на снимка на корицата към профила на потребителя",
"flags": "Настройки за докладите",
"flags.limit-per-target": "Максимален брой докладвания на едно и също нещо",
"flags.limit-per-target-placeholder": "По подразбиране: 0"
"min-rep-cover-picture": "Минимална репутация, необходима за добавяне на снимка на корицата към профила на потребителя"
}

View File

@@ -1,5 +0,0 @@
{
"post-sharing": "Споделяне на публикации",
"info-plugins-additional": "Добавките могат да добавят допълнителни мрежи за споделяне на публикации.",
"save-success": "Мрежите за споделяне на публикации са запазени успешно!"
}

View File

@@ -1,9 +0,0 @@
{
"notifications": "Известия",
"chat-messages": "Съобщения в разговори",
"play-sound": "Пускане",
"incoming-message": "Входящо съобщение",
"outgoing-message": "Изходящо съобщение",
"upload-new-sound": "Качване на нов звук",
"saved": "Настройките са запазени"
}

View File

@@ -1,10 +1,10 @@
{
"tag": "Настройки за етикетите",
"link-to-manage": "Управление на етикетите",
"min-per-topic": "Минимален брой етикети за тема",
"max-per-topic": "Максимален брой етикети за тема",
"min-length": "Минимална дължина на етикетите",
"max-length": "Максимална дължина на етикетите",
"goto-manage": "Щракнете тук, за да отворите страницата за управление на етикетите.",
"related-topics": "Свързани теми",
"max-related-topics": "Максимален брой свързани теми, които да бъдат показвани (ако това се поддържа от темата)"
}

View File

@@ -138,13 +138,8 @@
"not-enough-reputation-min-rep-signature": "Нямате достатъчно репутация, за да добавите подпис",
"not-enough-reputation-min-rep-profile-picture": "Нямате достатъчно репутация, за да добавите снимка на профила си",
"not-enough-reputation-min-rep-cover-picture": "Нямате достатъчно репутация, за да добавите снимка на корицата",
"post-already-flagged": "Вече сте докладвали тази публикация",
"user-already-flagged": "Вече сте докладвали този потребител",
"post-flagged-too-many-times": "Тази публикация вече е докладвана от други хора",
"user-flagged-too-many-times": "Този потребител вече е докладван от други хора",
"already-flagged": "Вече сте докладвали тази публикация",
"self-vote": "Не можете да гласувате за собствената си публикация",
"too-many-downvotes-today": "Можете да гласувате отрицателно не повече от %1 пъти на ден",
"too-many-downvotes-today-user": "Можете да гласувате отрицателно за потребител не повече от %1 пъти на ден",
"reload-failed": "NodeBB срещна проблем при презареждането: „%1“. NodeBB ще продължи да поддържа съществуващите клиентски ресурси, но Вие трябва да отмените последните си действия преди презареждането.",
"registration-error": "Грешка при регистрацията",
"parse-error": "Нещо се обърка при прочитането на отговора на сървъра",
@@ -162,7 +157,6 @@
"invalid-session-text": "Изглежда сесията Ви на вписване вече е изтекла или не съответства на сървъра. Моля, опреснете страницата.",
"no-topics-selected": "Няма избрани теми!",
"cant-move-to-same-topic": "Публикацията не може да бъде преместена в същата тема!",
"cant-move-topic-to-same-category": "Темата не може да бъде преместена в същата категория!",
"cannot-block-self": "Не можете да блокирате себе си!",
"cannot-block-privileged": "Не можете да блокирате администратори и глобални модератори",
"cannot-block-guest": "Гостите не могат да блокират други потребители",

View File

@@ -1,7 +1,8 @@
{
"state": "Състояние",
"reports": "Доклади",
"first-reported": "Първо докладване",
"reporter": "Докладвал",
"reported-at": "Докладвано на",
"description": "Описание",
"no-flags": "Ура! Няма намерени доклади.",
"assignee": "Назначен",
"update": "Обновяване",
@@ -25,17 +26,12 @@
"filter-quick-mine": "Назначени на мен",
"filter-cid-all": "Всички категории",
"apply-filters": "Прилагане на филтрите",
"more-filters": "Още филтри",
"quick-actions": "Бързи действия",
"quick-links": "Бързи връзки",
"flagged-user": "Докладван потребител",
"view-profile": "Преглед на профила",
"start-new-chat": "Започване на нов разговор",
"go-to-target": "Преглед на целта на доклада",
"assign-to-me": "Назначаване на мен",
"delete-post": "Изтриване на публикацията",
"purge-post": "Изчистване на публикацията",
"restore-post": "Възстановяване на публикацията",
"user-view": "Преглед на профила",
"user-edit": "Редактиране на профила",
@@ -43,11 +39,9 @@
"notes": "Бележки към доклада",
"add-note": "Добавяне на бележка",
"no-notes": "Няма споделени бележки.",
"delete-note-confirm": "Наистина ли искате да изтриете тази бележка към доклада?",
"note-added": "Бележката е добавена",
"note-deleted": "Бележката е изтрита",
"history": "Акаунт и история на докладванията",
"history": "История на доклада",
"back": "Обратно към списъка с доклади",
"no-history": "Няма история на доклада.",
"state-all": "Всички състояния",
@@ -56,11 +50,7 @@
"state-resolved": "Разрешен",
"state-rejected": "Отхвърлен",
"no-assignee": "Без назначение",
"sort": "Подреждане по",
"sort-newest": "Първо най-новите",
"sort-oldest": "Първо най-старите",
"sort-reports": "Първо тези с най-много доклади",
"note-added": "Бележката е добавена",
"modal-title": "Докладване на неуместно съдържание",
"modal-body": "Моля, посочете причината за докладването на %1 %2 за преглед. Или използвайте някой от бутоните за бързо докладване, ако са приложими.",
@@ -72,9 +62,5 @@
"modal-submit-success": "Съдържанието беше докладвано на модераторите.",
"modal-submit-confirm": "Потвърждаване на докладването",
"modal-submit-confirm-text": "Вече сте описали специалната си причина. Наистина ли искате да изпратите доклада си по бързата процедура?",
"modal-submit-confirm-text-help": "Изпращането на доклад по бързата процедура ще премахне описаната от Вас специалната причина.",
"bulk-actions": "Групови действия",
"bulk-resolve": "Разрешаване на доклад(и)",
"bulk-success": "%1 доклада са обновени"
"modal-submit-confirm-text-help": "Изпращането на доклад по бързата процедура ще премахне описаната от Вас специалната причина."
}

View File

@@ -30,7 +30,6 @@
"header.unread": "Непрочетени",
"header.tags": "Етикети",
"header.popular": "Популярни",
"header.top": "Най-харесвани",
"header.users": "Потребители",
"header.groups": "Групи",
"header.chats": "Разговори",
@@ -54,7 +53,6 @@
"posts": "Публ.",
"best": "Най-добри",
"votes": "Гласове",
"voters": "Гласували",
"upvoters": "Гласували положително",
"upvoted": "С положителни гласове",
"downvoters": "Гласували отрицателно",

View File

@@ -1,7 +1,6 @@
{
"chat.chatting_with": "Разговор с",
"chat.placeholder": "Въведете съобщението тук и натиснете Ентер за изпращане",
"chat.scroll-up-alert": "В момента разглеждате по-стари съобщения. Щракнете тук, за да се прехвърлите към най-новото съобщение.",
"chat.send": "Изпращане",
"chat.no_active": "Нямате текущи разговори.",
"chat.user_typing": "%1 пише...",
@@ -59,7 +58,6 @@
"composer.upload-file": "Качване на файл",
"composer.zen_mode": "Режим Дзен",
"composer.select_category": "Изберете категория",
"composer.textarea.placeholder": "Въведете съдържанието на публикацията си тук. Можете също да влачите и пускате снимки.",
"bootbox.ok": "Добре",
"bootbox.cancel": "Отказ",
"bootbox.confirm": "Потвърждаване",

View File

@@ -43,9 +43,6 @@
"new_register_multiple": "Има <strong>%1</strong> заявки за регистрация, които очакват да бъдат прегледани.",
"flag_assigned_to_you": "<strong>Докладът %1</strong> беше назначен на Вас",
"post_awaiting_review": "Публикацията чака да бъде прегледана",
"profile-exported": "Профилът на <strong>%1</strong> е изнесен, щракнете за сваляне",
"posts-exported": "Публикациите на <strong>%1</strong> са изнесени, щракнете за сваляне",
"uploads-exported": "Качванията на <strong>%1</strong> са изнесени, щракнете за сваляне",
"email-confirmed": "Е-пощата беше потвърдена",
"email-confirmed-message": "Благодарим Ви, че потвърдихте е-пощата си. Акаунтът Ви е вече напълно активиран.",
"email-confirm-error-message": "Възникна проблем при потвърждаването на е-пощата Ви. Може кодът да е грешен или давността му да е изтекла.",

View File

@@ -3,6 +3,5 @@
"tags": "Етикети",
"enter_tags_here": "Тук въведете етикети, всеки между %1 и %2 знака.",
"enter_tags_here_short": "Въведете етикети...",
"no_tags": "Все още няма етикети.",
"select_tags": "Изберете етикети"
"no_tags": "Все още няма етикети."
}

View File

@@ -36,11 +36,8 @@
"ban-ip": "Блокиране на IP адреса",
"view-history": "История на редакциите",
"bookmark_instructions": "Щракнете тук, за да се върнете към последно прочетената публикация в тази тема.",
"flag-post": "Докладване на тази публикация",
"flag-user": "Докладване на този потребител",
"already-flagged": "Вече е докладвано",
"view-flag-report": "Преглед на доклада",
"merged_message": "Тази тема беше слята в <a href=\"%1\">%2</a>",
"flag_title": "Докладване на тази публикация до модератор",
"merged_message": "Тази тема беше слята в <a href=\"/topic/%1\">%2</a>",
"deleted_message": "Темата е изтрита. Само потребители с права за управление на темите могат да я видят.",
"following_topic.message": "Вече ще получавате известия когато някой публикува коментар в тази тема.",
"not_following_topic.message": "Ще виждате тази тема в списъка с непрочетени теми, но няма да получавате известия, когато хората публикуват нещо в нея.",
@@ -81,8 +78,7 @@
"thread_tools.purge_confirm": "Наистина ли искате да изчистите тази тема?",
"thread_tools.merge_topics": "Сливане на темите",
"thread_tools.merge": "Сливане",
"topic_move_success": "Темата беше преместена успешно в %1. Щракнете тук за отмяна.",
"topic_move_undone": "Преместването на темата беше отменено",
"topic_move_success": "Темата беше преместена успешно в %1",
"post_delete_confirm": "Наистина ли искате да изтриете тази публикация?",
"post_restore_confirm": "Наистина ли искате да възстановите тази публикация?",
"post_purge_confirm": "Наистина ли искате да изчистите тази публикация?",
@@ -103,11 +99,7 @@
"fork_pid_count": "Избрани публикации: %1",
"fork_success": "Темата е разделена успешно! Натиснете тук, за да преминете към отделената тема.",
"delete_posts_instruction": "Натиснете публикациите, които искате да изтриете/изчистите",
"merge_topics_instruction": "Щракнете върху темите, които искате да слеете, или ги потърсете",
"merge-topic-list-title": "Списък от темите, които ще бъдат слети",
"merge-options": "Настройки за сливането",
"merge-select-main-topic": "Изберете основната тема",
"merge-new-title-for-topic": "Ново заглавие за темата",
"merge_topics_instruction": "Натиснете темите, които искате да слеете",
"move_posts_instruction": "Натиснете публикациите, които искате да преместите",
"change_owner_instruction": "Натиснете публикациите, които искате да прехвърлите на друг потребител",
"composer.title_placeholder": "Въведете заглавието на темата си тук...",
@@ -138,13 +130,10 @@
"stale.reply_anyway": "Отговаряне в тази тема въпреки това",
"link_back": "Отговор: [%1](%2)",
"diffs.title": "История на редакциите",
"diffs.description": "Тази публикация има <strong>%1</strong> версии. Щракнете върху някоя от версиите по-долу, за да видите съдържанието ѝ в съответния момент.",
"diffs.no-revisions-description": "Тази публикация има <strong>%1</strong> версии.",
"diffs.description": "Тази публикация има <strong>%1</strong> варианта. Щракнете върху някоя от версиите по-долу, за да видите съдържанието ѝ в съответния момент.",
"diffs.no-revisions-description": "Тази публикация има <strong>%1</strong> варианта.",
"diffs.current-revision": "текуща версия",
"diffs.original-revision": "оригинална версия",
"diffs.restore": "Възстановяване на тази версия",
"diffs.restore-description": "Към историята на редакциите на тази публикация ще бъде добавена нова версия.",
"diffs.post-restored": "Публикацията е възстановена успешно до по-ранна версия",
"timeago_later": "%1 по-късно",
"timeago_earlier": "%1 по-рано"
}

View File

@@ -8,20 +8,13 @@
"email": "Е-поща",
"confirm_email": "Потвърдете е-пощата",
"account_info": "Информация за акаунта",
"admin_actions_label": "Административни действия",
"ban_account": "Блокиране на акаунта",
"ban_account_confirm": "Наистина ли искате да блокирате този потребител?",
"unban_account": "Деблокиране на акаунта",
"delete_account": "Изтриване на акаунта",
"delete_account_as_admin": "Изтриване на <strong>акаунта</strong>",
"delete_content": "Изтриване на <strong>съдържанието</strong> на акаунта",
"delete_all": "Изтриване на <strong>акаунта</strong> и <strong>съдържанието</strong>",
"delete_account_confirm": "Наистина ли искате да направите публикациите си анонимни и да изтриете акаунта си? <br /><strong>Това действие е необратимо и няма да можете да възстановите нищо от данните си.</strong><br /><br />Въведете паролата си, за да потвърдите, че искате да унищожите този акаунт.",
"delete_this_account_confirm": "Наистина ли искате да изтриете този акаунт, но да оставите съдържанието му?<br /><strong>Това действие е необратимо. Публикациите ще бъдат превърнати в анонимни и вече няма да можете да възстановите връзката между публикациите и изтрития акаунт</strong><br /><br />",
"delete_account_content_confirm": "Наистина ли искате да изтриете съдържанието (публикации/теми/качвания) на този акаунт? <br /><strong>Това действие е необратимо и няма да можете да възстановите нищо от данните.</strong><br /><br />",
"delete_all_confirm": "Наистина ли искате да изтриете този акаунт и цялото му съдържание (публикации/теми/качвания)? <br /><strong>Това действие е необратимо и няма да можете да възстановите нищо от данните.</strong><br /><br />",
"delete_account_confirm": "Наистина ли искате да изтриете акаунта си? <br /><strong>Това действие е необратимо и няма да можете да възстановите нищо от данните си.</strong><br /><br />Въведете паролата си, за да потвърдите, че искате да унищожите този акаунт.",
"delete_this_account_confirm": "Наистина ли искате да изтриете този акаунт? <br /><strong>Това действие е необратимо и няма да можете да възстановите нищо от данните си.</strong><br /><br />",
"account-deleted": "Акаунтът е изтрит",
"account-content-deleted": "Съдържанието на акаунта е изтрито",
"fullname": "Пълно име",
"website": "Уеб сайт",
"location": "Местоположение",
@@ -151,7 +144,6 @@
"info.ban-history": "Скорошна история на блокиранията",
"info.no-ban-history": "Този потребител никога не е бил блокиран",
"info.banned-until": "Блокиран до %1",
"info.banned-expiry": "Давност",
"info.banned-permanently": "Блокиран за постоянно",
"info.banned-reason-label": "Причина",
"info.banned-no-reason": "Няма посочена причина.",
@@ -179,9 +171,6 @@
"consent.right_to_data_portability": "Имате право на пренос на данни",
"consent.right_to_data_portability_description": "Можете да изискате от нас всички събрани за Вас и акаунта Ви данни в машинен формат. Можете да направите това като натиснете съответния бутон по-долу.",
"consent.export_profile": "Изнасяне на профила (.json)",
"consent.export-profile-success": "Изнасяне на профила… Ще получите известие, когато е готово.",
"consent.export_uploads": "Изнасяне на каченото съдържание (.zip)",
"consent.export-uploads-success": "Изнасяне на каченото съдържание… Ще получите известие, когато е готово.",
"consent.export_posts": "Изнасяне на публикациите (.csv)",
"consent.export-posts-success": "Изнасяне на публикациите… Ще получите известие, когато е готово."
"consent.export_posts": "Изнасяне на публикациите (.csv)"
}

View File

@@ -2,7 +2,6 @@
"events": "Events",
"no-events": "There are no events",
"control-panel": "Events Control Panel",
"delete-events": "Delete Events",
"filters": "Filters",
"filters-apply": "Apply Filters",
"filter-type": "Event Type",

View File

@@ -3,7 +3,6 @@
"ip": "IP <strong>%1</strong>",
"nodes-responded": "%1 nodes responded within %2ms!",
"host": "host",
"primary": "primary / run jobs",
"pid": "pid",
"nodejs": "nodejs",
"online": "online",

View File

@@ -1,7 +1,7 @@
{
"available": "Available Widgets",
"explanation": "Select a widget from the dropdown menu and then drag and drop it into a template's widget area on the left.",
"none-installed": "No widgets found! Activate the widget essentials plugin in the <a href=\"%1\">plugins</a> control panel.",
"none-installed": "No widgets found! Activate the essential widgets plugin in the <a href=\"%1\">plugins</a> control panel.",
"clone-from": "Clone widgets from",
"containers.available": "Available Containers",
"containers.explanation": "Drag and drop on top of any active widget",

View File

@@ -11,7 +11,6 @@
"num-recent-replies": "# of Recent Replies",
"ext-link": "External Link",
"is-section": "Treat this category as a section",
"tag-whitelist": "Tag Whitelist",
"upload-image": "Upload Image",
"delete-image": "Remove",
"category-image": "Category Image",
@@ -27,8 +26,6 @@
"enable": "Enable",
"disable": "Disable",
"edit": "Edit",
"analytics": "Analytics",
"view-category": "View category",
"select-category": "Select Category",
"set-parent-category": "Set Parent Category",
@@ -66,6 +63,7 @@
"alert.create-success": "Category successfully created!",
"alert.none-active": "You have no active categories.",
"alert.create": "Create a Category",
"alert.confirm-moderate": "<strong>Are you sure you wish to grant the moderation privilege to this user group?</strong> This group is public, and any users can join at will.",
"alert.confirm-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!",
@@ -77,9 +75,7 @@
"alert.user-search": "Search for a user here...",
"alert.find-group": "Find a Group",
"alert.group-search": "Search for a group here...",
"alert.not-enough-whitelisted-tags": "Whitelisted tags are less than minimum tags, you need to create more whitelisted tags!",
"collapse-all": "Collapse All",
"expand-all": "Expand All",
"disable-on-create": "Disable on create",
"no-matches": "No matches"
"disable-on-create": "Disable on create"
}

View File

@@ -9,7 +9,7 @@
"default": "System default",
"default-help": "<em>System default</em> means the user has not explicitly overridden the global forum setting for digests, which is currently: &quot;<strong>%1</strong>&quot;",
"resend": "Resend Digest",
"resend-all-confirm": "Are you sure you wish to manually execute this digest run?",
"resend-all-confirm": "Are you sure you wish to mnually execute this digest run?",
"resent-single": "Manual digest resend completed",
"resent-day": "Daily digest resent",
"resent-week": "Weekly digest resent",
@@ -18,4 +18,4 @@
"manual-run": "Manual digest run:",
"no-delivery-data": "No delivery data found"
}
}

View File

@@ -8,9 +8,6 @@
"hidden": "Hidden",
"private": "Private",
"edit": "Edit",
"delete": "Delete",
"privileges": "Privileges",
"download-csv": "CSV",
"search-placeholder": "Search",
"create": "Create Group",
"description-placeholder": "A short description about your group",

View File

@@ -1,9 +1,8 @@
{
"global": "Global",
"admin": "Admin",
"global.no-users": "No user-specific global privileges.",
"group-privileges": "Group Privileges",
"user-privileges": "User Privileges",
"edit-privileges": "Edit Privileges",
"chat": "Chat",
"upload-images": "Upload Images",
"upload-files": "Upload Files",
@@ -32,21 +31,5 @@
"downvote-posts": "Downvote Posts",
"delete-topics": "Delete Topics",
"purge": "Purge",
"moderate": "Moderate",
"admin-dashboard": "Dashboard",
"admin-categories": "Categories",
"admin-privileges": "Privileges",
"admin-users": "Users",
"admin-settings": "Settings",
"alert.confirm-moderate": "<strong>Are you sure you wish to grant the moderation privilege to this user group?</strong> This group is public, and any users can join at will.",
"alert.confirm-save": "Please confirm your intention to save these privileges",
"alert.saved": "Privilege changes saved and applied",
"alert.confirm-discard": "Are you sure you wish to discard your privilege changes?",
"alert.discarded": "Privilege changes discarded",
"alert.confirm-copyToAll": "Are you sure you wish to apply this privilege set to <strong>all categories</strong>?",
"alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to <strong>all categories</strong>?",
"alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to <strong>all descendant (child) categories</strong>?",
"alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to <strong>all descendant (child) categories</strong>?",
"alert.no-undo": "<em>This action cannot be undone.</em>"
"moderate": "Moderate"
}

View File

@@ -3,13 +3,13 @@
"bg-color": "Background Colour",
"text-color": "Text Colour",
"create-modify": "Create & Modify Tags",
"description": "Select tags by clicking or dragging, use <code>CTRL</code> to select multiple tags.",
"description": "Select tags via clicking and/or dragging, use shift to select multiple.",
"create": "Create Tag",
"modify": "Modify Tags",
"rename": "Rename Tags",
"delete": "Delete Selected Tags",
"search": "Search for tags...",
"settings": "Tags Settings",
"settings": "Click <a href=\"%1\">here</a> to visit the tag settings page.",
"name": "Tag Name",
"alerts.editing": "Editing tag(s)",

View File

@@ -12,9 +12,8 @@
"unban": "Unban User(s)",
"reset-lockout": "Reset Lockout",
"reset-flags": "Reset Flags",
"delete": "Delete <strong>User(s)</strong>",
"delete-content": "Delete User(s) <strong>Content</strong>",
"purge": "Delete <strong>User(s)</strong> and <strong>Content</strong>",
"delete": "Delete User(s)",
"purge": "Delete User(s) and Content",
"download-csv": "Download CSV",
"manage-groups": "Manage Groups",
"add-group": "Add Group",
@@ -94,11 +93,9 @@
"alerts.validate-email-success": "Emails validated",
"alerts.validate-force-password-reset-success": "User(s) passwords have been reset and their existing sessions have been revoked.",
"alerts.password-reset-confirm": "Do you want to send password reset email(s) to these user(s)?",
"alerts.confirm-delete": "<strong>Warning!</strong><p>Do you really want to delete <strong>user(s)</strong>?</p><p>This action is not reversible! Only the user account will be deleted, their posts and topics will remain.</p>",
"alerts.confirm-delete": "<b>Warning!</b><br/>Do you really want to delete user(s)?<br/> This action is not reversable! Only the user account will be deleted, their posts and topics will remain.",
"alerts.delete-success": "User(s) Deleted!",
"alerts.confirm-delete-content": "<strong>Warning!</strong><p>Do you really want to delete these user(s) <strong>content</strong>?</p><p>This action is not reversible! The users' accounts will remain, but their posts and topics will be deleted.</p>",
"alerts.delete-content-success": "User(s) Content Deleted!",
"alerts.confirm-purge": "<strong>Warning!</strong><p>Do you really want to delete <strong>user(s) and their content</strong>?</p><p>This action is not reversible! All user data and content will be erased!</p>",
"alerts.confirm-purge": "<b>Warning!</b><br/>Do you really want to delete user(s) and their content?<br/> This action is not reversable! All user data and content will be erased!",
"alerts.create": "Create User",
"alerts.button-create": "Create",
"alerts.button-cancel": "Cancel",
@@ -108,5 +105,5 @@
"alerts.prompt-email": "Emails: ",
"alerts.email-sent-to": "An invitation email has been sent to %1",
"alerts.x-users-found": "%1 user(s) found, (%2 seconds)"
"alerts.x-users-found": "%1 user(s) found! Search took %2 ms."
}

View File

@@ -1,6 +1,11 @@
{
"dashboard": "Dashboard",
"section-general": "General",
"general/dashboard": "Dashboard",
"general/homepage": "Home Page",
"general/navigation": "Navigation",
"general/languages": "Languages",
"general/sounds": "Sounds",
"general/social": "Social",
"section-manage": "Manage",
"manage/categories": "Categories",
@@ -17,22 +22,17 @@
"section-settings": "Settings",
"settings/general": "General",
"settings/homepage": "Home Page",
"settings/navigation": "Navigation",
"settings/reputation": "Reputation & Flags",
"settings/reputation": "Reputation",
"settings/email": "Email",
"settings/user": "Users",
"settings/group": "Groups",
"settings/user": "User",
"settings/group": "Group",
"settings/guest": "Guests",
"settings/uploads": "Uploads",
"settings/languages": "Languages",
"settings/post": "Posts",
"settings/chat": "Chats",
"settings/post": "Post",
"settings/chat": "Chat",
"settings/pagination": "Pagination",
"settings/tags": "Tags",
"settings/notifications": "Notifications",
"settings/sounds": "Sounds",
"settings/social": "Social",
"settings/cookies": "Cookies",
"settings/web-crawler": "Web Crawler",
"settings/sockets": "Sockets",

View File

@@ -20,15 +20,10 @@
"hsts.preload": "Allow preloading of HSTS header",
"hsts.help": "If enabled, an HSTS header will be set for this site. You can elect to include subdomains and preloading flags in your header. If in doubt, you can leave these unchecked. <a href=\"%1\">More information <i class=\"fa fa-external-link\"></i></a>",
"traffic-management": "Traffic Management",
"traffic.help": "NodeBB uses a module that automatically denies requests in high-traffic situations. You can tune these settings here, although the defaults are a good starting point.",
"traffic.help": "NodeBB deploys equipped with a module that automatically denies requests in high-traffic situations. You can tune these settings here, although the defaults are a good starting point.",
"traffic.enable": "Enable Traffic Management",
"traffic.event-lag": "Event Loop Lag Threshold (in milliseconds)",
"traffic.event-lag-help": "Lowering this value decreases wait times for page loads, but will also show the \"excessive load\" message to more users. (Restart required)",
"traffic.lag-check-interval": "Check Interval (in milliseconds)",
"traffic.lag-check-interval-help": "Lowering this value causes NodeBB to become more sensitive to spikes in load, but may also cause the check to become too sensitive. (Restart required)",
"sockets.settings": "WebSocket Settings",
"sockets.max-attempts": "Max Reconnection Attempts",
"sockets.default-placeholder": "Default: %1",
"sockets.delay": "Reconnection Delay"
"traffic.lag-check-interval-help": "Lowering this value causes NodeBB to become more sensitive to spikes in load, but may also cause the check to become too sensitive. (Restart required)"
}

View File

@@ -4,7 +4,10 @@
"address-help": "The following email address refers to the email that the recipient will see in the \"From\" and \"Reply To\" fields.",
"from": "From Name",
"from-help": "The from name to display in the email.",
"sendmail-rate-limit": "<em>X</em> ইমেইল পাঠাও... ",
"sendmail-rate-delta": "... প্রতি<em>X</em> মিলিসেকেন্ডে",
"sendmail-rate-help": "NodeBB মেইলার কে নির্দেশ দিন যে একবারে পাঠানো মেইলের সংখ্যা সিমিত রাখতে যাতে ইমেইল গ্রাহক সার্ভিস ওভারলোডেড না হয়ে যায়। এই অপশন কার্যকর হবে না যদি SMTP Transport চালু থাকে (নিচে দেখুন)। ",
"smtp-transport": "SMTP Transport",
"smtp-transport.enabled": "Use an external email server to send emails",
"smtp-transport-help": "You can select from a list of well-known services or enter a custom one.",
@@ -22,8 +25,6 @@
"smtp-transport.username": "Username",
"smtp-transport.username-help": "<b>For the Gmail service,</b> enter the full email address here, especially if you are using a Google Apps managed domain.",
"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.",
"template": "Edit Email Template",
"template.select": "Select Email Template",

View File

@@ -1,8 +0,0 @@
{
"home-page": "Home Page",
"description": "Choose what page is shown when users navigate to the root URL of your forum.",
"home-page-route": "Home Page Route",
"custom-route": "Custom Route",
"allow-user-home-pages": "Allow User Home Pages",
"home-page-title": "Title of the home page (default \"Home\")"
}

View File

@@ -1,23 +0,0 @@
{
"icon": "Icon:",
"change-icon": "change",
"route": "Route:",
"tooltip": "Tooltip:",
"text": "Text:",
"text-class": "Text Class: <small>optional</small>",
"class": "Class: <small>optional</small>",
"id": "ID: <small>optional</small>",
"properties": "Properties:",
"groups": "Groups:",
"open-new-window": "Open in a new window",
"btn.delete": "Delete",
"btn.disable": "Disable",
"btn.enable": "Enable",
"available-menu-items": "Available Menu Items",
"custom-route": "Custom Route",
"core": "core",
"plugin": "plugin"
}

View File

@@ -2,5 +2,6 @@
"notifications": "Notifications",
"welcome-notification": "Welcome Notification",
"welcome-notification-link": "Welcome Notification Link",
"welcome-notification-uid": "Welcome Notification User (UID)"
"welcome-notification-uid": "Welcome Notification User (UID)",
"notification-alert-timeout": "Notification Alert Timeout"
}

View File

@@ -42,7 +42,6 @@
"unread.cutoff": "Unread cutoff days",
"unread.min-track-last": "Minimum posts in topic before tracking last read",
"recent": "Recent Settings",
"recent.max-topics": "Maximum topics on /recent",
"recent.categoryFilter.disable": "Disable filtering of topics in ignored categories on the /recent page",
"signature": "Signature Settings",
"signature.disable": "Disable signatures",

View File

@@ -5,16 +5,10 @@
"votes-are-public": "All Votes Are Public",
"thresholds": "Activity Thresholds",
"min-rep-downvote": "Minimum reputation to downvote posts",
"downvotes-per-day": "Downvotes per day (set to 0 for unlimited downvotes)",
"downvotes-per-user-per-day": "Downvotes per user per day (set to 0 for unlimited downvotes)",
"min-rep-flag": "Minimum reputation to flag posts",
"min-rep-website": "Minimum reputation to add \"Website\" to user profile",
"min-rep-aboutme": "Minimum reputation to add \"About me\" to user profile",
"min-rep-signature": "Minimum reputation to add \"Signature\" to user profile",
"min-rep-profile-picture": "Minimum reputation to add \"Profile Picture\" to user profile",
"min-rep-cover-picture": "Minimum reputation to add \"Cover Picture\" to user profile",
"flags": "Flag Settings",
"flags.limit-per-target": "Maximum number of times something can be flagged",
"flags.limit-per-target-placeholder": "Default: 0"
"min-rep-cover-picture": "Minimum reputation to add \"Cover Picture\" to user profile"
}

View File

@@ -1,5 +0,0 @@
{
"post-sharing": "Post Sharing",
"info-plugins-additional": "Plugins can add additional networks for sharing posts.",
"save-success": "Successfully saved Post Sharing Networks!"
}

View File

@@ -1,10 +1,10 @@
{
"tag": "Tag Settings",
"link-to-manage": "Manage Tags",
"min-per-topic": "Minimum Tags per Topic",
"max-per-topic": "Maximum Tags per Topic",
"min-length": "Minimum Tag Length",
"max-length": "Maximum Tag Length",
"goto-manage": "Click here to visit the tag management page.",
"related-topics": "Related Topics",
"max-related-topics": "Maximum related topics to display (if supported by theme)"
}

View File

@@ -138,13 +138,8 @@
"not-enough-reputation-min-rep-signature": "You do not have enough reputation to add a signature",
"not-enough-reputation-min-rep-profile-picture": "You do not have enough reputation to add a profile picture",
"not-enough-reputation-min-rep-cover-picture": "You do not have enough reputation to add a cover picture",
"post-already-flagged": "You have already flagged this post",
"user-already-flagged": "You have already flagged this user",
"post-flagged-too-many-times": "This post has been flagged by others already",
"user-flagged-too-many-times": "This user has been flagged by others already",
"already-flagged": "You have already flagged this post",
"self-vote": "You cannot vote on your own post",
"too-many-downvotes-today": "You can only downvote %1 times a day",
"too-many-downvotes-today-user": "You can only downvote a user %1 times a day",
"reload-failed": "\"%1\" রিলোড করতে সমস্যা হয়েছে। রিলোডের পূর্বে যা করা হয়েছিল সেটি আনডু করা সমীচীন। ",
"registration-error": "নিবন্ধন এরর!",
"parse-error": "Something went wrong while parsing server response",
@@ -162,7 +157,6 @@
"invalid-session-text": "It looks like your login session is no longer active, or no longer matches with the server. Please refresh this page.",
"no-topics-selected": "No topics selected!",
"cant-move-to-same-topic": "Can't move post to same topic!",
"cant-move-topic-to-same-category": "Can't move topic to the same category!",
"cannot-block-self": "You cannot block yourself!",
"cannot-block-privileged": "You cannot block administrators or global moderators",
"cannot-block-guest": "Guest are not able to block other users",

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