mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-12-20 07:20:27 +01:00
Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5de430deb5 | ||
|
|
e1c9bd7229 | ||
|
|
eabbc81b40 | ||
|
|
e29aa5abf8 | ||
|
|
cde7168f9c |
11
.gitignore
vendored
11
.gitignore
vendored
@@ -3,7 +3,7 @@ node_modules/
|
|||||||
sftp-config.json
|
sftp-config.json
|
||||||
config.json
|
config.json
|
||||||
public/src/nodebb.min.js
|
public/src/nodebb.min.js
|
||||||
!src/views/config.json
|
public/config.json
|
||||||
public/css/*.css
|
public/css/*.css
|
||||||
*.sublime-project
|
*.sublime-project
|
||||||
*.sublime-workspace
|
*.sublime-workspace
|
||||||
@@ -25,12 +25,3 @@ pidfile
|
|||||||
|
|
||||||
# templates
|
# templates
|
||||||
/public/templates
|
/public/templates
|
||||||
/public/sounds
|
|
||||||
|
|
||||||
/public/uploads
|
|
||||||
|
|
||||||
# compiled files
|
|
||||||
/public/stylesheet.css
|
|
||||||
/public/admin.css
|
|
||||||
/public/nodebb.min.js
|
|
||||||
/public/nodebb.min.js.map
|
|
||||||
12
.travis.yml
12
.travis.yml
@@ -1,12 +0,0 @@
|
|||||||
services:
|
|
||||||
- redis-server
|
|
||||||
before_install:
|
|
||||||
- npm i --production
|
|
||||||
- node app --setup="{\"base_url\":\"http://127.0.0.1\",\"port\":4567,\"use_port\":false,\"secret\":\"abcdef\",\"bind_address\":\"0.0.0.0\",\"database\":\"redis\",\"redis:host\":\"127.0.0.1\",\"redis:port\":6379,\"redis:password\":\"\",\"redis:database\":0,\"admin:username\":\"admin\",\"admin:email\":\"test@example.org\",\"admin:password\":\"abcdef\",\"admin:password:confirm\":\"abcdef\"}" --ci="{\"host\":\"127.0.0.1\",\"port\":6379,\"database\":0}"
|
|
||||||
language: node_js
|
|
||||||
node_js:
|
|
||||||
- "0.11"
|
|
||||||
- "0.10"
|
|
||||||
branches:
|
|
||||||
only:
|
|
||||||
- master
|
|
||||||
355
.tx/config
355
.tx/config
@@ -8,32 +8,24 @@ source_lang = en_GB
|
|||||||
trans.ar = public/language/ar/category.json
|
trans.ar = public/language/ar/category.json
|
||||||
trans.cs = public/language/cs/category.json
|
trans.cs = public/language/cs/category.json
|
||||||
trans.de = public/language/de/category.json
|
trans.de = public/language/de/category.json
|
||||||
trans.en_US = public/language/en_US/category.json
|
|
||||||
trans.en@pirate = public/language/en@pirate/category.json
|
trans.en@pirate = public/language/en@pirate/category.json
|
||||||
trans.es = public/language/es/category.json
|
trans.es = public/language/es/category.json
|
||||||
trans.et = public/language/et/category.json
|
|
||||||
trans.fa_IR = public/language/fa_IR/category.json
|
trans.fa_IR = public/language/fa_IR/category.json
|
||||||
trans.fi = public/language/fi/category.json
|
trans.fi = public/language/fi/category.json
|
||||||
trans.fr = public/language/fr/category.json
|
trans.fr = public/language/fr/category.json
|
||||||
trans.he = public/language/he/category.json
|
trans.he = public/language/he/category.json
|
||||||
trans.hu = public/language/hu/category.json
|
trans.hu = public/language/hu/category.json
|
||||||
trans.it = public/language/it/category.json
|
trans.it = public/language/it/category.json
|
||||||
trans.ja = public/language/ja/category.json
|
|
||||||
trans.ko = public/language/ko/category.json
|
|
||||||
trans.lt = public/language/lt/category.json
|
|
||||||
trans.ms = public/language/ms/category.json
|
|
||||||
trans.nb = public/language/nb/category.json
|
trans.nb = public/language/nb/category.json
|
||||||
trans.nl = public/language/nl/category.json
|
trans.nl = public/language/nl/category.json
|
||||||
trans.pl = public/language/pl/category.json
|
trans.pl = public/language/pl/category.json
|
||||||
trans.pt_BR = public/language/pt_BR/category.json
|
trans.pt_BR = public/language/pt_BR/category.json
|
||||||
trans.ru = public/language/ru/category.json
|
trans.ru = public/language/ru/category.json
|
||||||
trans.ro = public/language/ro/category.json
|
|
||||||
trans.sc = public/language/sc/category.json
|
trans.sc = public/language/sc/category.json
|
||||||
trans.sk = public/language/sk/category.json
|
trans.sk = public/language/sk/category.json
|
||||||
trans.sv = public/language/sv/category.json
|
trans.sv = public/language/sv/category.json
|
||||||
trans.th = public/language/th/category.json
|
trans.th = public/language/th/category.json
|
||||||
trans.tr = public/language/tr/category.json
|
trans.tr = public/language/tr/category.json
|
||||||
trans.vi = public/language/vi/category.json
|
|
||||||
trans.zh_CN = public/language/zh_CN/category.json
|
trans.zh_CN = public/language/zh_CN/category.json
|
||||||
trans.zh_TW = public/language/zh_TW/category.json
|
trans.zh_TW = public/language/zh_TW/category.json
|
||||||
type = KEYVALUEJSON
|
type = KEYVALUEJSON
|
||||||
@@ -45,32 +37,24 @@ source_lang = en_GB
|
|||||||
trans.ar = public/language/ar/login.json
|
trans.ar = public/language/ar/login.json
|
||||||
trans.cs = public/language/cs/login.json
|
trans.cs = public/language/cs/login.json
|
||||||
trans.de = public/language/de/login.json
|
trans.de = public/language/de/login.json
|
||||||
trans.en_US = public/language/en_US/login.json
|
|
||||||
trans.en@pirate = public/language/en@pirate/login.json
|
trans.en@pirate = public/language/en@pirate/login.json
|
||||||
trans.es = public/language/es/login.json
|
trans.es = public/language/es/login.json
|
||||||
trans.et = public/language/et/login.json
|
|
||||||
trans.fa_IR = public/language/fa_IR/login.json
|
trans.fa_IR = public/language/fa_IR/login.json
|
||||||
trans.fi = public/language/fi/login.json
|
trans.fi = public/language/fi/login.json
|
||||||
trans.fr = public/language/fr/login.json
|
trans.fr = public/language/fr/login.json
|
||||||
trans.he = public/language/he/login.json
|
trans.he = public/language/he/login.json
|
||||||
trans.hu = public/language/hu/login.json
|
trans.hu = public/language/hu/login.json
|
||||||
trans.it = public/language/it/login.json
|
trans.it = public/language/it/login.json
|
||||||
trans.ja = public/language/ja/login.json
|
|
||||||
trans.ko = public/language/ko/login.json
|
|
||||||
trans.lt = public/language/lt/login.json
|
|
||||||
trans.ms = public/language/ms/login.json
|
|
||||||
trans.nb = public/language/nb/login.json
|
trans.nb = public/language/nb/login.json
|
||||||
trans.nl = public/language/nl/login.json
|
trans.nl = public/language/nl/login.json
|
||||||
trans.pl = public/language/pl/login.json
|
trans.pl = public/language/pl/login.json
|
||||||
trans.pt_BR = public/language/pt_BR/login.json
|
trans.pt_BR = public/language/pt_BR/login.json
|
||||||
trans.ru = public/language/ru/login.json
|
trans.ru = public/language/ru/login.json
|
||||||
trans.ro = public/language/ro/login.json
|
|
||||||
trans.sc = public/language/sc/login.json
|
trans.sc = public/language/sc/login.json
|
||||||
trans.sk = public/language/sk/login.json
|
trans.sk = public/language/sk/login.json
|
||||||
trans.sv = public/language/sv/login.json
|
trans.sv = public/language/sv/login.json
|
||||||
trans.th = public/language/th/login.json
|
trans.th = public/language/th/login.json
|
||||||
trans.tr = public/language/tr/login.json
|
trans.tr = public/language/tr/login.json
|
||||||
trans.vi = public/language/vi/login.json
|
|
||||||
trans.zh_CN = public/language/zh_CN/login.json
|
trans.zh_CN = public/language/zh_CN/login.json
|
||||||
trans.zh_TW = public/language/zh_TW/login.json
|
trans.zh_TW = public/language/zh_TW/login.json
|
||||||
type = KEYVALUEJSON
|
type = KEYVALUEJSON
|
||||||
@@ -81,32 +65,24 @@ source_lang = en_GB
|
|||||||
trans.ar = public/language/ar/recent.json
|
trans.ar = public/language/ar/recent.json
|
||||||
trans.cs = public/language/cs/recent.json
|
trans.cs = public/language/cs/recent.json
|
||||||
trans.de = public/language/de/recent.json
|
trans.de = public/language/de/recent.json
|
||||||
trans.en_US = public/language/en_US/recent.json
|
|
||||||
trans.en@pirate = public/language/en@pirate/recent.json
|
trans.en@pirate = public/language/en@pirate/recent.json
|
||||||
trans.es = public/language/es/recent.json
|
trans.es = public/language/es/recent.json
|
||||||
trans.et = public/language/et/recent.json
|
|
||||||
trans.fa_IR = public/language/fa_IR/recent.json
|
trans.fa_IR = public/language/fa_IR/recent.json
|
||||||
trans.fi = public/language/fi/recent.json
|
trans.fi = public/language/fi/recent.json
|
||||||
trans.fr = public/language/fr/recent.json
|
trans.fr = public/language/fr/recent.json
|
||||||
trans.he = public/language/he/recent.json
|
trans.he = public/language/he/recent.json
|
||||||
trans.hu = public/language/hu/recent.json
|
trans.hu = public/language/hu/recent.json
|
||||||
trans.it = public/language/it/recent.json
|
trans.it = public/language/it/recent.json
|
||||||
trans.ja = public/language/ja/recent.json
|
|
||||||
trans.ko = public/language/ko/recent.json
|
|
||||||
trans.lt = public/language/lt/recent.json
|
|
||||||
trans.ms = public/language/ms/recent.json
|
|
||||||
trans.nb = public/language/nb/recent.json
|
trans.nb = public/language/nb/recent.json
|
||||||
trans.nl = public/language/nl/recent.json
|
trans.nl = public/language/nl/recent.json
|
||||||
trans.pl = public/language/pl/recent.json
|
trans.pl = public/language/pl/recent.json
|
||||||
trans.pt_BR = public/language/pt_BR/recent.json
|
trans.pt_BR = public/language/pt_BR/recent.json
|
||||||
trans.ru = public/language/ru/recent.json
|
trans.ru = public/language/ru/recent.json
|
||||||
trans.ro = public/language/ro/recent.json
|
|
||||||
trans.sc = public/language/sc/recent.json
|
trans.sc = public/language/sc/recent.json
|
||||||
trans.sk = public/language/sk/recent.json
|
trans.sk = public/language/sk/recent.json
|
||||||
trans.sv = public/language/sv/recent.json
|
trans.sv = public/language/sv/recent.json
|
||||||
trans.th = public/language/th/recent.json
|
trans.th = public/language/th/recent.json
|
||||||
trans.tr = public/language/tr/recent.json
|
trans.tr = public/language/tr/recent.json
|
||||||
trans.vi = public/language/vi/recent.json
|
|
||||||
trans.zh_CN = public/language/zh_CN/recent.json
|
trans.zh_CN = public/language/zh_CN/recent.json
|
||||||
trans.zh_TW = public/language/zh_TW/recent.json
|
trans.zh_TW = public/language/zh_TW/recent.json
|
||||||
type = KEYVALUEJSON
|
type = KEYVALUEJSON
|
||||||
@@ -117,68 +93,80 @@ source_lang = en_GB
|
|||||||
trans.ar = public/language/ar/unread.json
|
trans.ar = public/language/ar/unread.json
|
||||||
trans.cs = public/language/cs/unread.json
|
trans.cs = public/language/cs/unread.json
|
||||||
trans.de = public/language/de/unread.json
|
trans.de = public/language/de/unread.json
|
||||||
trans.en_US = public/language/en_US/unread.json
|
|
||||||
trans.en@pirate = public/language/en@pirate/unread.json
|
trans.en@pirate = public/language/en@pirate/unread.json
|
||||||
trans.es = public/language/es/unread.json
|
trans.es = public/language/es/unread.json
|
||||||
trans.et = public/language/et/unread.json
|
|
||||||
trans.fa_IR = public/language/fa_IR/unread.json
|
trans.fa_IR = public/language/fa_IR/unread.json
|
||||||
trans.fi = public/language/fi/unread.json
|
trans.fi = public/language/fi/unread.json
|
||||||
trans.fr = public/language/fr/unread.json
|
trans.fr = public/language/fr/unread.json
|
||||||
trans.he = public/language/he/unread.json
|
trans.he = public/language/he/unread.json
|
||||||
trans.hu = public/language/hu/unread.json
|
trans.hu = public/language/hu/unread.json
|
||||||
trans.it = public/language/it/unread.json
|
trans.it = public/language/it/unread.json
|
||||||
trans.ja = public/language/ja/unread.json
|
|
||||||
trans.ko = public/language/ko/unread.json
|
|
||||||
trans.lt = public/language/lt/unread.json
|
|
||||||
trans.ms = public/language/ms/unread.json
|
|
||||||
trans.nb = public/language/nb/unread.json
|
trans.nb = public/language/nb/unread.json
|
||||||
trans.nl = public/language/nl/unread.json
|
trans.nl = public/language/nl/unread.json
|
||||||
trans.pl = public/language/pl/unread.json
|
trans.pl = public/language/pl/unread.json
|
||||||
trans.pt_BR = public/language/pt_BR/unread.json
|
trans.pt_BR = public/language/pt_BR/unread.json
|
||||||
trans.ru = public/language/ru/unread.json
|
trans.ru = public/language/ru/unread.json
|
||||||
trans.ro = public/language/ro/unread.json
|
|
||||||
trans.sc = public/language/sc/unread.json
|
trans.sc = public/language/sc/unread.json
|
||||||
trans.sk = public/language/sk/unread.json
|
trans.sk = public/language/sk/unread.json
|
||||||
trans.sv = public/language/sv/unread.json
|
trans.sv = public/language/sv/unread.json
|
||||||
trans.th = public/language/th/unread.json
|
trans.th = public/language/th/unread.json
|
||||||
trans.tr = public/language/tr/unread.json
|
trans.tr = public/language/tr/unread.json
|
||||||
trans.vi = public/language/vi/unread.json
|
|
||||||
trans.zh_CN = public/language/zh_CN/unread.json
|
trans.zh_CN = public/language/zh_CN/unread.json
|
||||||
trans.zh_TW = public/language/zh_TW/unread.json
|
trans.zh_TW = public/language/zh_TW/unread.json
|
||||||
type = KEYVALUEJSON
|
type = KEYVALUEJSON
|
||||||
|
|
||||||
|
[nodebb.footer]
|
||||||
|
source_file = public/language/en_GB/footer.json
|
||||||
|
source_lang = en_GB
|
||||||
|
trans.ar = public/language/ar/footer.json
|
||||||
|
trans.cs = public/language/cs/footer.json
|
||||||
|
trans.de = public/language/de/footer.json
|
||||||
|
trans.en@pirate = public/language/en@pirate/footer.json
|
||||||
|
trans.es = public/language/es/footer.json
|
||||||
|
trans.fa_IR = public/language/fa_IR/footer.json
|
||||||
|
trans.fi = public/language/fi/footer.json
|
||||||
|
trans.fr = public/language/fr/footer.json
|
||||||
|
trans.he = public/language/he/footer.json
|
||||||
|
trans.hu = public/language/hu/footer.json
|
||||||
|
trans.it = public/language/it/footer.json
|
||||||
|
trans.nb = public/language/nb/footer.json
|
||||||
|
trans.nl = public/language/nl/footer.json
|
||||||
|
trans.pl = public/language/pl/footer.json
|
||||||
|
trans.pt_BR = public/language/pt_BR/footer.json
|
||||||
|
trans.ru = public/language/ru/footer.json
|
||||||
|
trans.sc = public/language/sc/footer.json
|
||||||
|
trans.sk = public/language/sk/footer.json
|
||||||
|
trans.sv = public/language/sv/footer.json
|
||||||
|
trans.th = public/language/th/footer.json
|
||||||
|
trans.tr = public/language/tr/footer.json
|
||||||
|
trans.zh_CN = public/language/zh_CN/footer.json
|
||||||
|
trans.zh_TW = public/language/zh_TW/footer.json
|
||||||
|
type = KEYVALUEJSON
|
||||||
|
|
||||||
[nodebb.modules]
|
[nodebb.modules]
|
||||||
source_file = public/language/en_GB/modules.json
|
source_file = public/language/en_GB/modules.json
|
||||||
source_lang = en_GB
|
source_lang = en_GB
|
||||||
trans.ar = public/language/ar/modules.json
|
trans.ar = public/language/ar/modules.json
|
||||||
trans.cs = public/language/cs/modules.json
|
trans.cs = public/language/cs/modules.json
|
||||||
trans.de = public/language/de/modules.json
|
trans.de = public/language/de/modules.json
|
||||||
trans.en_US = public/language/en_US/modules.json
|
|
||||||
trans.en@pirate = public/language/en@pirate/modules.json
|
trans.en@pirate = public/language/en@pirate/modules.json
|
||||||
trans.es = public/language/es/modules.json
|
trans.es = public/language/es/modules.json
|
||||||
trans.et = public/language/et/modules.json
|
|
||||||
trans.fa_IR = public/language/fa_IR/modules.json
|
trans.fa_IR = public/language/fa_IR/modules.json
|
||||||
trans.fi = public/language/fi/modules.json
|
trans.fi = public/language/fi/modules.json
|
||||||
trans.fr = public/language/fr/modules.json
|
trans.fr = public/language/fr/modules.json
|
||||||
trans.he = public/language/he/modules.json
|
trans.he = public/language/he/modules.json
|
||||||
trans.hu = public/language/hu/modules.json
|
trans.hu = public/language/hu/modules.json
|
||||||
trans.it = public/language/it/modules.json
|
trans.it = public/language/it/modules.json
|
||||||
trans.ja = public/language/ja/modules.json
|
|
||||||
trans.ko = public/language/ko/modules.json
|
|
||||||
trans.lt = public/language/lt/modules.json
|
|
||||||
trans.ms = public/language/ms/modules.json
|
|
||||||
trans.nb = public/language/nb/modules.json
|
trans.nb = public/language/nb/modules.json
|
||||||
trans.nl = public/language/nl/modules.json
|
trans.nl = public/language/nl/modules.json
|
||||||
trans.pl = public/language/pl/modules.json
|
trans.pl = public/language/pl/modules.json
|
||||||
trans.pt_BR = public/language/pt_BR/modules.json
|
trans.pt_BR = public/language/pt_BR/modules.json
|
||||||
trans.ru = public/language/ru/modules.json
|
trans.ru = public/language/ru/modules.json
|
||||||
trans.ro = public/language/ro/modules.json
|
|
||||||
trans.sc = public/language/sc/modules.json
|
trans.sc = public/language/sc/modules.json
|
||||||
trans.sk = public/language/sk/modules.json
|
trans.sk = public/language/sk/modules.json
|
||||||
trans.sv = public/language/sv/modules.json
|
trans.sv = public/language/sv/modules.json
|
||||||
trans.th = public/language/th/modules.json
|
trans.th = public/language/th/modules.json
|
||||||
trans.tr = public/language/tr/modules.json
|
trans.tr = public/language/tr/modules.json
|
||||||
trans.vi = public/language/vi/modules.json
|
|
||||||
trans.zh_CN = public/language/zh_CN/modules.json
|
trans.zh_CN = public/language/zh_CN/modules.json
|
||||||
trans.zh_TW = public/language/zh_TW/modules.json
|
trans.zh_TW = public/language/zh_TW/modules.json
|
||||||
type = KEYVALUEJSON
|
type = KEYVALUEJSON
|
||||||
@@ -189,32 +177,24 @@ source_lang = en_GB
|
|||||||
trans.ar = public/language/ar/register.json
|
trans.ar = public/language/ar/register.json
|
||||||
trans.cs = public/language/cs/register.json
|
trans.cs = public/language/cs/register.json
|
||||||
trans.de = public/language/de/register.json
|
trans.de = public/language/de/register.json
|
||||||
trans.en_US = public/language/en_US/register.json
|
|
||||||
trans.en@pirate = public/language/en@pirate/register.json
|
trans.en@pirate = public/language/en@pirate/register.json
|
||||||
trans.es = public/language/es/register.json
|
trans.es = public/language/es/register.json
|
||||||
trans.et = public/language/et/register.json
|
|
||||||
trans.fa_IR = public/language/fa_IR/register.json
|
trans.fa_IR = public/language/fa_IR/register.json
|
||||||
trans.fi = public/language/fi/register.json
|
trans.fi = public/language/fi/register.json
|
||||||
trans.fr = public/language/fr/register.json
|
trans.fr = public/language/fr/register.json
|
||||||
trans.he = public/language/he/register.json
|
trans.he = public/language/he/register.json
|
||||||
trans.hu = public/language/hu/register.json
|
trans.hu = public/language/hu/register.json
|
||||||
trans.it = public/language/it/register.json
|
trans.it = public/language/it/register.json
|
||||||
trans.ja = public/language/ja/register.json
|
|
||||||
trans.ko = public/language/ko/register.json
|
|
||||||
trans.lt = public/language/lt/register.json
|
|
||||||
trans.ms = public/language/ms/register.json
|
|
||||||
trans.nb = public/language/nb/register.json
|
trans.nb = public/language/nb/register.json
|
||||||
trans.nl = public/language/nl/register.json
|
trans.nl = public/language/nl/register.json
|
||||||
trans.pl = public/language/pl/register.json
|
trans.pl = public/language/pl/register.json
|
||||||
trans.pt_BR = public/language/pt_BR/register.json
|
trans.pt_BR = public/language/pt_BR/register.json
|
||||||
trans.ru = public/language/ru/register.json
|
trans.ru = public/language/ru/register.json
|
||||||
trans.ro = public/language/ro/register.json
|
|
||||||
trans.sc = public/language/sc/register.json
|
trans.sc = public/language/sc/register.json
|
||||||
trans.sk = public/language/sk/register.json
|
trans.sk = public/language/sk/register.json
|
||||||
trans.sv = public/language/sv/register.json
|
trans.sv = public/language/sv/register.json
|
||||||
trans.th = public/language/th/register.json
|
trans.th = public/language/th/register.json
|
||||||
trans.tr = public/language/tr/register.json
|
trans.tr = public/language/tr/register.json
|
||||||
trans.vi = public/language/vi/register.json
|
|
||||||
trans.zh_CN = public/language/zh_CN/register.json
|
trans.zh_CN = public/language/zh_CN/register.json
|
||||||
trans.zh_TW = public/language/zh_TW/register.json
|
trans.zh_TW = public/language/zh_TW/register.json
|
||||||
type = KEYVALUEJSON
|
type = KEYVALUEJSON
|
||||||
@@ -225,32 +205,24 @@ source_lang = en_GB
|
|||||||
trans.ar = public/language/ar/user.json
|
trans.ar = public/language/ar/user.json
|
||||||
trans.cs = public/language/cs/user.json
|
trans.cs = public/language/cs/user.json
|
||||||
trans.de = public/language/de/user.json
|
trans.de = public/language/de/user.json
|
||||||
trans.en_US = public/language/en_US/user.json
|
|
||||||
trans.en@pirate = public/language/en@pirate/user.json
|
trans.en@pirate = public/language/en@pirate/user.json
|
||||||
trans.es = public/language/es/user.json
|
trans.es = public/language/es/user.json
|
||||||
trans.et = public/language/et/user.json
|
|
||||||
trans.fa_IR = public/language/fa_IR/user.json
|
trans.fa_IR = public/language/fa_IR/user.json
|
||||||
trans.fi = public/language/fi/user.json
|
trans.fi = public/language/fi/user.json
|
||||||
trans.fr = public/language/fr/user.json
|
trans.fr = public/language/fr/user.json
|
||||||
trans.he = public/language/he/user.json
|
trans.he = public/language/he/user.json
|
||||||
trans.hu = public/language/hu/user.json
|
trans.hu = public/language/hu/user.json
|
||||||
trans.it = public/language/it/user.json
|
trans.it = public/language/it/user.json
|
||||||
trans.ja = public/language/ja/user.json
|
|
||||||
trans.ko = public/language/ko/user.json
|
|
||||||
trans.lt = public/language/lt/user.json
|
|
||||||
trans.ms = public/language/ms/user.json
|
|
||||||
trans.nb = public/language/nb/user.json
|
trans.nb = public/language/nb/user.json
|
||||||
trans.nl = public/language/nl/user.json
|
trans.nl = public/language/nl/user.json
|
||||||
trans.pl = public/language/pl/user.json
|
trans.pl = public/language/pl/user.json
|
||||||
trans.pt_BR = public/language/pt_BR/user.json
|
trans.pt_BR = public/language/pt_BR/user.json
|
||||||
trans.ru = public/language/ru/user.json
|
trans.ru = public/language/ru/user.json
|
||||||
trans.ro = public/language/ro/user.json
|
|
||||||
trans.sc = public/language/sc/user.json
|
trans.sc = public/language/sc/user.json
|
||||||
trans.sk = public/language/sk/user.json
|
trans.sk = public/language/sk/user.json
|
||||||
trans.sv = public/language/sv/user.json
|
trans.sv = public/language/sv/user.json
|
||||||
trans.th = public/language/th/user.json
|
trans.th = public/language/th/user.json
|
||||||
trans.tr = public/language/tr/user.json
|
trans.tr = public/language/tr/user.json
|
||||||
trans.vi = public/language/vi/user.json
|
|
||||||
trans.zh_CN = public/language/zh_CN/user.json
|
trans.zh_CN = public/language/zh_CN/user.json
|
||||||
trans.zh_TW = public/language/zh_TW/user.json
|
trans.zh_TW = public/language/zh_TW/user.json
|
||||||
type = KEYVALUEJSON
|
type = KEYVALUEJSON
|
||||||
@@ -261,32 +233,24 @@ source_lang = en_GB
|
|||||||
trans.ar = public/language/ar/global.json
|
trans.ar = public/language/ar/global.json
|
||||||
trans.cs = public/language/cs/global.json
|
trans.cs = public/language/cs/global.json
|
||||||
trans.de = public/language/de/global.json
|
trans.de = public/language/de/global.json
|
||||||
trans.en_US = public/language/en_US/global.json
|
|
||||||
trans.en@pirate = public/language/en@pirate/global.json
|
trans.en@pirate = public/language/en@pirate/global.json
|
||||||
trans.es = public/language/es/global.json
|
trans.es = public/language/es/global.json
|
||||||
trans.et = public/language/et/global.json
|
|
||||||
trans.fa_IR = public/language/fa_IR/global.json
|
trans.fa_IR = public/language/fa_IR/global.json
|
||||||
trans.fi = public/language/fi/global.json
|
trans.fi = public/language/fi/global.json
|
||||||
trans.fr = public/language/fr/global.json
|
trans.fr = public/language/fr/global.json
|
||||||
trans.he = public/language/he/global.json
|
trans.he = public/language/he/global.json
|
||||||
trans.hu = public/language/hu/global.json
|
trans.hu = public/language/hu/global.json
|
||||||
trans.it = public/language/it/global.json
|
trans.it = public/language/it/global.json
|
||||||
trans.ja = public/language/ja/global.json
|
|
||||||
trans.ko = public/language/ko/global.json
|
|
||||||
trans.lt = public/language/lt/global.json
|
|
||||||
trans.ms = public/language/ms/global.json
|
|
||||||
trans.nb = public/language/nb/global.json
|
trans.nb = public/language/nb/global.json
|
||||||
trans.nl = public/language/nl/global.json
|
trans.nl = public/language/nl/global.json
|
||||||
trans.pl = public/language/pl/global.json
|
trans.pl = public/language/pl/global.json
|
||||||
trans.pt_BR = public/language/pt_BR/global.json
|
trans.pt_BR = public/language/pt_BR/global.json
|
||||||
trans.ru = public/language/ru/global.json
|
trans.ru = public/language/ru/global.json
|
||||||
trans.ro = public/language/ro/global.json
|
|
||||||
trans.sc = public/language/sc/global.json
|
trans.sc = public/language/sc/global.json
|
||||||
trans.sk = public/language/sk/global.json
|
trans.sk = public/language/sk/global.json
|
||||||
trans.sv = public/language/sv/global.json
|
trans.sv = public/language/sv/global.json
|
||||||
trans.th = public/language/th/global.json
|
trans.th = public/language/th/global.json
|
||||||
trans.tr = public/language/tr/global.json
|
trans.tr = public/language/tr/global.json
|
||||||
trans.vi = public/language/vi/global.json
|
|
||||||
trans.zh_CN = public/language/zh_CN/global.json
|
trans.zh_CN = public/language/zh_CN/global.json
|
||||||
trans.zh_TW = public/language/zh_TW/global.json
|
trans.zh_TW = public/language/zh_TW/global.json
|
||||||
type = KEYVALUEJSON
|
type = KEYVALUEJSON
|
||||||
@@ -297,32 +261,24 @@ source_lang = en_GB
|
|||||||
trans.ar = public/language/ar/notifications.json
|
trans.ar = public/language/ar/notifications.json
|
||||||
trans.cs = public/language/cs/notifications.json
|
trans.cs = public/language/cs/notifications.json
|
||||||
trans.de = public/language/de/notifications.json
|
trans.de = public/language/de/notifications.json
|
||||||
trans.en_US = public/language/en_US/notifications.json
|
|
||||||
trans.en@pirate = public/language/en@pirate/notifications.json
|
trans.en@pirate = public/language/en@pirate/notifications.json
|
||||||
trans.es = public/language/es/notifications.json
|
trans.es = public/language/es/notifications.json
|
||||||
trans.et = public/language/et/notifications.json
|
|
||||||
trans.fa_IR = public/language/fa_IR/notifications.json
|
trans.fa_IR = public/language/fa_IR/notifications.json
|
||||||
trans.fi = public/language/fi/notifications.json
|
trans.fi = public/language/fi/notifications.json
|
||||||
trans.fr = public/language/fr/notifications.json
|
trans.fr = public/language/fr/notifications.json
|
||||||
trans.he = public/language/he/notifications.json
|
trans.he = public/language/he/notifications.json
|
||||||
trans.hu = public/language/hu/notifications.json
|
trans.hu = public/language/hu/notifications.json
|
||||||
trans.it = public/language/it/notifications.json
|
trans.it = public/language/it/notifications.json
|
||||||
trans.ja = public/language/ja/notifications.json
|
|
||||||
trans.ko = public/language/ko/notifications.json
|
|
||||||
trans.lt = public/language/lt/notifications.json
|
|
||||||
trans.ms = public/language/ms/notifications.json
|
|
||||||
trans.nb = public/language/nb/notifications.json
|
trans.nb = public/language/nb/notifications.json
|
||||||
trans.nl = public/language/nl/notifications.json
|
trans.nl = public/language/nl/notifications.json
|
||||||
trans.pl = public/language/pl/notifications.json
|
trans.pl = public/language/pl/notifications.json
|
||||||
trans.pt_BR = public/language/pt_BR/notifications.json
|
trans.pt_BR = public/language/pt_BR/notifications.json
|
||||||
trans.ru = public/language/ru/notifications.json
|
trans.ru = public/language/ru/notifications.json
|
||||||
trans.ro = public/language/ro/notifications.json
|
|
||||||
trans.sc = public/language/sc/notifications.json
|
trans.sc = public/language/sc/notifications.json
|
||||||
trans.sk = public/language/sk/notifications.json
|
trans.sk = public/language/sk/notifications.json
|
||||||
trans.sv = public/language/sv/notifications.json
|
trans.sv = public/language/sv/notifications.json
|
||||||
trans.th = public/language/th/notifications.json
|
trans.th = public/language/th/notifications.json
|
||||||
trans.tr = public/language/tr/notifications.json
|
trans.tr = public/language/tr/notifications.json
|
||||||
trans.vi = public/language/vi/notifications.json
|
|
||||||
trans.zh_CN = public/language/zh_CN/notifications.json
|
trans.zh_CN = public/language/zh_CN/notifications.json
|
||||||
trans.zh_TW = public/language/zh_TW/notifications.json
|
trans.zh_TW = public/language/zh_TW/notifications.json
|
||||||
type = KEYVALUEJSON
|
type = KEYVALUEJSON
|
||||||
@@ -333,32 +289,24 @@ source_lang = en_GB
|
|||||||
trans.ar = public/language/ar/reset_password.json
|
trans.ar = public/language/ar/reset_password.json
|
||||||
trans.cs = public/language/cs/reset_password.json
|
trans.cs = public/language/cs/reset_password.json
|
||||||
trans.de = public/language/de/reset_password.json
|
trans.de = public/language/de/reset_password.json
|
||||||
trans.en_US = public/language/en_US/reset_password.json
|
|
||||||
trans.en@pirate = public/language/en@pirate/reset_password.json
|
trans.en@pirate = public/language/en@pirate/reset_password.json
|
||||||
trans.es = public/language/es/reset_password.json
|
trans.es = public/language/es/reset_password.json
|
||||||
trans.et = public/language/et/reset_password.json
|
|
||||||
trans.fa_IR = public/language/fa_IR/reset_password.json
|
trans.fa_IR = public/language/fa_IR/reset_password.json
|
||||||
trans.fi = public/language/fi/reset_password.json
|
trans.fi = public/language/fi/reset_password.json
|
||||||
trans.fr = public/language/fr/reset_password.json
|
trans.fr = public/language/fr/reset_password.json
|
||||||
trans.he = public/language/he/reset_password.json
|
trans.he = public/language/he/reset_password.json
|
||||||
trans.hu = public/language/hu/reset_password.json
|
trans.hu = public/language/hu/reset_password.json
|
||||||
trans.it = public/language/it/reset_password.json
|
trans.it = public/language/it/reset_password.json
|
||||||
trans.ja = public/language/ja/reset_password.json
|
|
||||||
trans.ko = public/language/ko/reset_password.json
|
|
||||||
trans.lt = public/language/lt/reset_password.json
|
|
||||||
trans.ms = public/language/ms/reset_password.json
|
|
||||||
trans.nb = public/language/nb/reset_password.json
|
trans.nb = public/language/nb/reset_password.json
|
||||||
trans.nl = public/language/nl/reset_password.json
|
trans.nl = public/language/nl/reset_password.json
|
||||||
trans.pl = public/language/pl/reset_password.json
|
trans.pl = public/language/pl/reset_password.json
|
||||||
trans.pt_BR = public/language/pt_BR/reset_password.json
|
trans.pt_BR = public/language/pt_BR/reset_password.json
|
||||||
trans.ru = public/language/ru/reset_password.json
|
trans.ru = public/language/ru/reset_password.json
|
||||||
trans.ro = public/language/ro/reset_password.json
|
|
||||||
trans.sc = public/language/sc/reset_password.json
|
trans.sc = public/language/sc/reset_password.json
|
||||||
trans.sk = public/language/sk/reset_password.json
|
trans.sk = public/language/sk/reset_password.json
|
||||||
trans.sv = public/language/sv/reset_password.json
|
trans.sv = public/language/sv/reset_password.json
|
||||||
trans.th = public/language/th/reset_password.json
|
trans.th = public/language/th/reset_password.json
|
||||||
trans.tr = public/language/tr/reset_password.json
|
trans.tr = public/language/tr/reset_password.json
|
||||||
trans.vi = public/language/vi/reset_password.json
|
|
||||||
trans.zh_CN = public/language/zh_CN/reset_password.json
|
trans.zh_CN = public/language/zh_CN/reset_password.json
|
||||||
trans.zh_TW = public/language/zh_TW/reset_password.json
|
trans.zh_TW = public/language/zh_TW/reset_password.json
|
||||||
type = KEYVALUEJSON
|
type = KEYVALUEJSON
|
||||||
@@ -369,32 +317,24 @@ source_lang = en_GB
|
|||||||
trans.ar = public/language/ar/users.json
|
trans.ar = public/language/ar/users.json
|
||||||
trans.cs = public/language/cs/users.json
|
trans.cs = public/language/cs/users.json
|
||||||
trans.de = public/language/de/users.json
|
trans.de = public/language/de/users.json
|
||||||
trans.en_US = public/language/en_US/users.json
|
|
||||||
trans.en@pirate = public/language/en@pirate/users.json
|
trans.en@pirate = public/language/en@pirate/users.json
|
||||||
trans.es = public/language/es/users.json
|
trans.es = public/language/es/users.json
|
||||||
trans.et = public/language/et/users.json
|
|
||||||
trans.fa_IR = public/language/fa_IR/users.json
|
trans.fa_IR = public/language/fa_IR/users.json
|
||||||
trans.fi = public/language/fi/users.json
|
trans.fi = public/language/fi/users.json
|
||||||
trans.fr = public/language/fr/users.json
|
trans.fr = public/language/fr/users.json
|
||||||
trans.he = public/language/he/users.json
|
trans.he = public/language/he/users.json
|
||||||
trans.hu = public/language/hu/users.json
|
trans.hu = public/language/hu/users.json
|
||||||
trans.it = public/language/it/users.json
|
trans.it = public/language/it/users.json
|
||||||
trans.ja = public/language/ja/users.json
|
|
||||||
trans.ko = public/language/ko/users.json
|
|
||||||
trans.lt = public/language/lt/users.json
|
|
||||||
trans.ms = public/language/ms/users.json
|
|
||||||
trans.nb = public/language/nb/users.json
|
trans.nb = public/language/nb/users.json
|
||||||
trans.nl = public/language/nl/users.json
|
trans.nl = public/language/nl/users.json
|
||||||
trans.pl = public/language/pl/users.json
|
trans.pl = public/language/pl/users.json
|
||||||
trans.pt_BR = public/language/pt_BR/users.json
|
trans.pt_BR = public/language/pt_BR/users.json
|
||||||
trans.ru = public/language/ru/users.json
|
trans.ru = public/language/ru/users.json
|
||||||
trans.ro = public/language/ro/users.json
|
|
||||||
trans.sc = public/language/sc/users.json
|
trans.sc = public/language/sc/users.json
|
||||||
trans.sk = public/language/sk/users.json
|
trans.sk = public/language/sk/users.json
|
||||||
trans.sv = public/language/sv/users.json
|
trans.sv = public/language/sv/users.json
|
||||||
trans.th = public/language/th/users.json
|
trans.th = public/language/th/users.json
|
||||||
trans.tr = public/language/tr/users.json
|
trans.tr = public/language/tr/users.json
|
||||||
trans.vi = public/language/vi/users.json
|
|
||||||
trans.zh_CN = public/language/zh_CN/users.json
|
trans.zh_CN = public/language/zh_CN/users.json
|
||||||
trans.zh_TW = public/language/zh_TW/users.json
|
trans.zh_TW = public/language/zh_TW/users.json
|
||||||
type = KEYVALUEJSON
|
type = KEYVALUEJSON
|
||||||
@@ -405,32 +345,24 @@ source_lang = en_GB
|
|||||||
trans.ar = public/language/ar/language.json
|
trans.ar = public/language/ar/language.json
|
||||||
trans.cs = public/language/cs/language.json
|
trans.cs = public/language/cs/language.json
|
||||||
trans.de = public/language/de/language.json
|
trans.de = public/language/de/language.json
|
||||||
trans.en_US = public/language/en_US/language.json
|
|
||||||
trans.en@pirate = public/language/en@pirate/language.json
|
trans.en@pirate = public/language/en@pirate/language.json
|
||||||
trans.es = public/language/es/language.json
|
trans.es = public/language/es/language.json
|
||||||
trans.et = public/language/et/language.json
|
|
||||||
trans.fa_IR = public/language/fa_IR/language.json
|
trans.fa_IR = public/language/fa_IR/language.json
|
||||||
trans.fi = public/language/fi/language.json
|
trans.fi = public/language/fi/language.json
|
||||||
trans.fr = public/language/fr/language.json
|
trans.fr = public/language/fr/language.json
|
||||||
trans.he = public/language/he/language.json
|
trans.he = public/language/he/language.json
|
||||||
trans.hu = public/language/hu/language.json
|
trans.hu = public/language/hu/language.json
|
||||||
trans.it = public/language/it/language.json
|
trans.it = public/language/it/language.json
|
||||||
trans.ja = public/language/ja/language.json
|
|
||||||
trans.ko = public/language/ko/language.json
|
|
||||||
trans.lt = public/language/lt/language.json
|
|
||||||
trans.ms = public/language/ms/language.json
|
|
||||||
trans.nb = public/language/nb/language.json
|
trans.nb = public/language/nb/language.json
|
||||||
trans.nl = public/language/nl/language.json
|
trans.nl = public/language/nl/language.json
|
||||||
trans.pl = public/language/pl/language.json
|
trans.pl = public/language/pl/language.json
|
||||||
trans.pt_BR = public/language/pt_BR/language.json
|
trans.pt_BR = public/language/pt_BR/language.json
|
||||||
trans.ru = public/language/ru/language.json
|
trans.ru = public/language/ru/language.json
|
||||||
trans.ro = public/language/ro/language.json
|
|
||||||
trans.sc = public/language/sc/language.json
|
trans.sc = public/language/sc/language.json
|
||||||
trans.sk = public/language/sk/language.json
|
trans.sk = public/language/sk/language.json
|
||||||
trans.sv = public/language/sv/language.json
|
trans.sv = public/language/sv/language.json
|
||||||
trans.th = public/language/th/language.json
|
trans.th = public/language/th/language.json
|
||||||
trans.tr = public/language/tr/language.json
|
trans.tr = public/language/tr/language.json
|
||||||
trans.vi = public/language/vi/language.json
|
|
||||||
trans.zh_CN = public/language/zh_CN/language.json
|
trans.zh_CN = public/language/zh_CN/language.json
|
||||||
trans.zh_TW = public/language/zh_TW/language.json
|
trans.zh_TW = public/language/zh_TW/language.json
|
||||||
type = KEYVALUEJSON
|
type = KEYVALUEJSON
|
||||||
@@ -441,32 +373,24 @@ source_lang = en_GB
|
|||||||
trans.ar = public/language/ar/pages.json
|
trans.ar = public/language/ar/pages.json
|
||||||
trans.cs = public/language/cs/pages.json
|
trans.cs = public/language/cs/pages.json
|
||||||
trans.de = public/language/de/pages.json
|
trans.de = public/language/de/pages.json
|
||||||
trans.en_US = public/language/en_US/pages.json
|
|
||||||
trans.en@pirate = public/language/en@pirate/pages.json
|
trans.en@pirate = public/language/en@pirate/pages.json
|
||||||
trans.es = public/language/es/pages.json
|
trans.es = public/language/es/pages.json
|
||||||
trans.et = public/language/et/pages.json
|
|
||||||
trans.fa_IR = public/language/fa_IR/pages.json
|
trans.fa_IR = public/language/fa_IR/pages.json
|
||||||
trans.fi = public/language/fi/pages.json
|
trans.fi = public/language/fi/pages.json
|
||||||
trans.fr = public/language/fr/pages.json
|
trans.fr = public/language/fr/pages.json
|
||||||
trans.he = public/language/he/pages.json
|
trans.he = public/language/he/pages.json
|
||||||
trans.hu = public/language/hu/pages.json
|
trans.hu = public/language/hu/pages.json
|
||||||
trans.it = public/language/it/pages.json
|
trans.it = public/language/it/pages.json
|
||||||
trans.ja = public/language/ja/pages.json
|
|
||||||
trans.ko = public/language/ko/pages.json
|
|
||||||
trans.lt = public/language/lt/pages.json
|
|
||||||
trans.ms = public/language/ms/pages.json
|
|
||||||
trans.nb = public/language/nb/pages.json
|
trans.nb = public/language/nb/pages.json
|
||||||
trans.nl = public/language/nl/pages.json
|
trans.nl = public/language/nl/pages.json
|
||||||
trans.pl = public/language/pl/pages.json
|
trans.pl = public/language/pl/pages.json
|
||||||
trans.pt_BR = public/language/pt_BR/pages.json
|
trans.pt_BR = public/language/pt_BR/pages.json
|
||||||
trans.ru = public/language/ru/pages.json
|
trans.ru = public/language/ru/pages.json
|
||||||
trans.ro = public/language/ro/pages.json
|
|
||||||
trans.sc = public/language/sc/pages.json
|
trans.sc = public/language/sc/pages.json
|
||||||
trans.sk = public/language/sk/pages.json
|
trans.sk = public/language/sk/pages.json
|
||||||
trans.sv = public/language/sv/pages.json
|
trans.sv = public/language/sv/pages.json
|
||||||
trans.th = public/language/th/pages.json
|
trans.th = public/language/th/pages.json
|
||||||
trans.tr = public/language/tr/pages.json
|
trans.tr = public/language/tr/pages.json
|
||||||
trans.vi = public/language/vi/pages.json
|
|
||||||
trans.zh_CN = public/language/zh_CN/pages.json
|
trans.zh_CN = public/language/zh_CN/pages.json
|
||||||
trans.zh_TW = public/language/zh_TW/pages.json
|
trans.zh_TW = public/language/zh_TW/pages.json
|
||||||
type = KEYVALUEJSON
|
type = KEYVALUEJSON
|
||||||
@@ -477,248 +401,25 @@ source_lang = en_GB
|
|||||||
trans.ar = public/language/ar/topic.json
|
trans.ar = public/language/ar/topic.json
|
||||||
trans.cs = public/language/cs/topic.json
|
trans.cs = public/language/cs/topic.json
|
||||||
trans.de = public/language/de/topic.json
|
trans.de = public/language/de/topic.json
|
||||||
trans.en_US = public/language/en_US/topic.json
|
|
||||||
trans.en@pirate = public/language/en@pirate/topic.json
|
trans.en@pirate = public/language/en@pirate/topic.json
|
||||||
trans.es = public/language/es/topic.json
|
trans.es = public/language/es/topic.json
|
||||||
trans.et = public/language/et/topic.json
|
|
||||||
trans.fa_IR = public/language/fa_IR/topic.json
|
trans.fa_IR = public/language/fa_IR/topic.json
|
||||||
trans.fi = public/language/fi/topic.json
|
trans.fi = public/language/fi/topic.json
|
||||||
trans.fr = public/language/fr/topic.json
|
trans.fr = public/language/fr/topic.json
|
||||||
trans.he = public/language/he/topic.json
|
trans.he = public/language/he/topic.json
|
||||||
trans.hu = public/language/hu/topic.json
|
trans.hu = public/language/hu/topic.json
|
||||||
trans.it = public/language/it/topic.json
|
trans.it = public/language/it/topic.json
|
||||||
trans.ja = public/language/ja/topic.json
|
|
||||||
trans.ko = public/language/ko/topic.json
|
|
||||||
trans.lt = public/language/lt/topic.json
|
|
||||||
trans.ms = public/language/ms/topic.json
|
|
||||||
trans.nb = public/language/nb/topic.json
|
trans.nb = public/language/nb/topic.json
|
||||||
trans.nl = public/language/nl/topic.json
|
trans.nl = public/language/nl/topic.json
|
||||||
trans.pl = public/language/pl/topic.json
|
trans.pl = public/language/pl/topic.json
|
||||||
trans.pt_BR = public/language/pt_BR/topic.json
|
trans.pt_BR = public/language/pt_BR/topic.json
|
||||||
trans.ru = public/language/ru/topic.json
|
trans.ru = public/language/ru/topic.json
|
||||||
trans.ro = public/language/ro/topic.json
|
|
||||||
trans.sc = public/language/sc/topic.json
|
trans.sc = public/language/sc/topic.json
|
||||||
trans.sk = public/language/sk/topic.json
|
trans.sk = public/language/sk/topic.json
|
||||||
trans.sv = public/language/sv/topic.json
|
trans.sv = public/language/sv/topic.json
|
||||||
trans.th = public/language/th/topic.json
|
trans.th = public/language/th/topic.json
|
||||||
trans.tr = public/language/tr/topic.json
|
trans.tr = public/language/tr/topic.json
|
||||||
trans.vi = public/language/vi/topic.json
|
|
||||||
trans.zh_CN = public/language/zh_CN/topic.json
|
trans.zh_CN = public/language/zh_CN/topic.json
|
||||||
trans.zh_TW = public/language/zh_TW/topic.json
|
trans.zh_TW = public/language/zh_TW/topic.json
|
||||||
type = KEYVALUEJSON
|
type = KEYVALUEJSON
|
||||||
|
|
||||||
[nodebb.success]
|
|
||||||
source_file = public/language/en_GB/success.json
|
|
||||||
source_lang = en_GB
|
|
||||||
trans.ar = public/language/ar/success.json
|
|
||||||
trans.cs = public/language/cs/success.json
|
|
||||||
trans.de = public/language/de/success.json
|
|
||||||
trans.en_US = public/language/en_US/success.json
|
|
||||||
trans.en@pirate = public/language/en@pirate/success.json
|
|
||||||
trans.es = public/language/es/success.json
|
|
||||||
trans.et = public/language/et/success.json
|
|
||||||
trans.fa_IR = public/language/fa_IR/success.json
|
|
||||||
trans.fi = public/language/fi/success.json
|
|
||||||
trans.fr = public/language/fr/success.json
|
|
||||||
trans.he = public/language/he/success.json
|
|
||||||
trans.hu = public/language/hu/success.json
|
|
||||||
trans.it = public/language/it/success.json
|
|
||||||
trans.ja = public/language/ja/success.json
|
|
||||||
trans.ko = public/language/ko/success.json
|
|
||||||
trans.lt = public/language/lt/success.json
|
|
||||||
trans.ms = public/language/ms/success.json
|
|
||||||
trans.nb = public/language/nb/success.json
|
|
||||||
trans.nl = public/language/nl/success.json
|
|
||||||
trans.pl = public/language/pl/success.json
|
|
||||||
trans.pt_BR = public/language/pt_BR/success.json
|
|
||||||
trans.ru = public/language/ru/success.json
|
|
||||||
trans.ro = public/language/ro/success.json
|
|
||||||
trans.sc = public/language/sc/success.json
|
|
||||||
trans.sk = public/language/sk/success.json
|
|
||||||
trans.sv = public/language/sv/success.json
|
|
||||||
trans.th = public/language/th/success.json
|
|
||||||
trans.tr = public/language/tr/success.json
|
|
||||||
trans.vi = public/language/vi/success.json
|
|
||||||
trans.zh_CN = public/language/zh_CN/success.json
|
|
||||||
trans.zh_TW = public/language/zh_TW/success.json
|
|
||||||
type = KEYVALUEJSON
|
|
||||||
|
|
||||||
[nodebb.error]
|
|
||||||
source_file = public/language/en_GB/error.json
|
|
||||||
source_lang = en_GB
|
|
||||||
trans.ar = public/language/ar/error.json
|
|
||||||
trans.cs = public/language/cs/error.json
|
|
||||||
trans.de = public/language/de/error.json
|
|
||||||
trans.en_US = public/language/en_US/error.json
|
|
||||||
trans.en@pirate = public/language/en@pirate/error.json
|
|
||||||
trans.es = public/language/es/error.json
|
|
||||||
trans.et = public/language/et/error.json
|
|
||||||
trans.fa_IR = public/language/fa_IR/error.json
|
|
||||||
trans.fi = public/language/fi/error.json
|
|
||||||
trans.fr = public/language/fr/error.json
|
|
||||||
trans.he = public/language/he/error.json
|
|
||||||
trans.hu = public/language/hu/error.json
|
|
||||||
trans.it = public/language/it/error.json
|
|
||||||
trans.ja = public/language/ja/error.json
|
|
||||||
trans.ko = public/language/ko/error.json
|
|
||||||
trans.lt = public/language/lt/error.json
|
|
||||||
trans.ms = public/language/ms/error.json
|
|
||||||
trans.nb = public/language/nb/error.json
|
|
||||||
trans.nl = public/language/nl/error.json
|
|
||||||
trans.pl = public/language/pl/error.json
|
|
||||||
trans.pt_BR = public/language/pt_BR/error.json
|
|
||||||
trans.ru = public/language/ru/error.json
|
|
||||||
trans.ro = public/language/ro/error.json
|
|
||||||
trans.sc = public/language/sc/error.json
|
|
||||||
trans.sk = public/language/sk/error.json
|
|
||||||
trans.sv = public/language/sv/error.json
|
|
||||||
trans.th = public/language/th/error.json
|
|
||||||
trans.tr = public/language/tr/error.json
|
|
||||||
trans.vi = public/language/vi/error.json
|
|
||||||
trans.zh_CN = public/language/zh_CN/error.json
|
|
||||||
trans.zh_TW = public/language/zh_TW/error.json
|
|
||||||
type = KEYVALUEJSON
|
|
||||||
|
|
||||||
[nodebb.tags]
|
|
||||||
source_file = public/language/en_GB/tags.json
|
|
||||||
source_lang = en_GB
|
|
||||||
trans.ar = public/language/ar/tags.json
|
|
||||||
trans.cs = public/language/cs/tags.json
|
|
||||||
trans.de = public/language/de/tags.json
|
|
||||||
trans.en_US = public/language/en_US/tags.json
|
|
||||||
trans.en@pirate = public/language/en@pirate/tags.json
|
|
||||||
trans.es = public/language/es/tags.json
|
|
||||||
trans.et = public/language/et/tags.json
|
|
||||||
trans.fa_IR = public/language/fa_IR/tags.json
|
|
||||||
trans.fi = public/language/fi/tags.json
|
|
||||||
trans.fr = public/language/fr/tags.json
|
|
||||||
trans.he = public/language/he/tags.json
|
|
||||||
trans.hu = public/language/hu/tags.json
|
|
||||||
trans.it = public/language/it/tags.json
|
|
||||||
trans.ja = public/language/ja/tags.json
|
|
||||||
trans.ko = public/language/ko/tags.json
|
|
||||||
trans.lt = public/language/lt/tags.json
|
|
||||||
trans.ms = public/language/ms/tags.json
|
|
||||||
trans.nb = public/language/nb/tags.json
|
|
||||||
trans.nl = public/language/nl/tags.json
|
|
||||||
trans.pl = public/language/pl/tags.json
|
|
||||||
trans.pt_BR = public/language/pt_BR/tags.json
|
|
||||||
trans.ru = public/language/ru/tags.json
|
|
||||||
trans.ro = public/language/ro/tags.json
|
|
||||||
trans.sc = public/language/sc/tags.json
|
|
||||||
trans.sk = public/language/sk/tags.json
|
|
||||||
trans.sv = public/language/sv/tags.json
|
|
||||||
trans.th = public/language/th/tags.json
|
|
||||||
trans.tr = public/language/tr/tags.json
|
|
||||||
trans.vi = public/language/vi/tags.json
|
|
||||||
trans.zh_CN = public/language/zh_CN/tags.json
|
|
||||||
trans.zh_TW = public/language/zh_TW/tags.json
|
|
||||||
type = KEYVALUEJSON
|
|
||||||
|
|
||||||
[nodebb.email]
|
|
||||||
source_file = public/language/en_GB/email.json
|
|
||||||
source_lang = en_GB
|
|
||||||
trans.ar = public/language/ar/email.json
|
|
||||||
trans.cs = public/language/cs/email.json
|
|
||||||
trans.de = public/language/de/email.json
|
|
||||||
trans.en_US = public/language/en_US/email.json
|
|
||||||
trans.en@pirate = public/language/en@pirate/email.json
|
|
||||||
trans.es = public/language/es/email.json
|
|
||||||
trans.et = public/language/et/email.json
|
|
||||||
trans.fa_IR = public/language/fa_IR/email.json
|
|
||||||
trans.fi = public/language/fi/email.json
|
|
||||||
trans.fr = public/language/fr/email.json
|
|
||||||
trans.he = public/language/he/email.json
|
|
||||||
trans.hu = public/language/hu/email.json
|
|
||||||
trans.it = public/language/it/email.json
|
|
||||||
trans.ja = public/language/ja/email.json
|
|
||||||
trans.ko = public/language/ko/email.json
|
|
||||||
trans.lt = public/language/lt/email.json
|
|
||||||
trans.ms = public/language/ms/email.json
|
|
||||||
trans.nb = public/language/nb/email.json
|
|
||||||
trans.nl = public/language/nl/email.json
|
|
||||||
trans.pl = public/language/pl/email.json
|
|
||||||
trans.pt_BR = public/language/pt_BR/email.json
|
|
||||||
trans.ru = public/language/ru/email.json
|
|
||||||
trans.ro = public/language/ro/email.json
|
|
||||||
trans.sc = public/language/sc/email.json
|
|
||||||
trans.sk = public/language/sk/email.json
|
|
||||||
trans.sv = public/language/sv/email.json
|
|
||||||
trans.th = public/language/th/email.json
|
|
||||||
trans.tr = public/language/tr/email.json
|
|
||||||
trans.vi = public/language/vi/email.json
|
|
||||||
trans.zh_CN = public/language/zh_CN/email.json
|
|
||||||
trans.zh_TW = public/language/zh_TW/email.json
|
|
||||||
type = KEYVALUEJSON
|
|
||||||
|
|
||||||
[nodebb.search]
|
|
||||||
source_file = public/language/en_GB/search.json
|
|
||||||
source_lang = en_GB
|
|
||||||
trans.ar = public/language/ar/search.json
|
|
||||||
trans.cs = public/language/cs/search.json
|
|
||||||
trans.de = public/language/de/search.json
|
|
||||||
trans.en_US = public/language/en_US/search.json
|
|
||||||
trans.en@pirate = public/language/en@pirate/search.json
|
|
||||||
trans.es = public/language/es/search.json
|
|
||||||
trans.et = public/language/et/search.json
|
|
||||||
trans.fa_IR = public/language/fa_IR/search.json
|
|
||||||
trans.fi = public/language/fi/search.json
|
|
||||||
trans.fr = public/language/fr/search.json
|
|
||||||
trans.he = public/language/he/search.json
|
|
||||||
trans.hu = public/language/hu/search.json
|
|
||||||
trans.it = public/language/it/search.json
|
|
||||||
trans.ja = public/language/ja/search.json
|
|
||||||
trans.ko = public/language/ko/search.json
|
|
||||||
trans.lt = public/language/lt/search.json
|
|
||||||
trans.ms = public/language/ms/search.json
|
|
||||||
trans.nb = public/language/nb/search.json
|
|
||||||
trans.nl = public/language/nl/search.json
|
|
||||||
trans.pl = public/language/pl/search.json
|
|
||||||
trans.pt_BR = public/language/pt_BR/search.json
|
|
||||||
trans.ru = public/language/ru/search.json
|
|
||||||
trans.ro = public/language/ro/search.json
|
|
||||||
trans.sc = public/language/sc/search.json
|
|
||||||
trans.sk = public/language/sk/search.json
|
|
||||||
trans.sv = public/language/sv/search.json
|
|
||||||
trans.th = public/language/th/search.json
|
|
||||||
trans.tr = public/language/tr/search.json
|
|
||||||
trans.vi = public/language/vi/search.json
|
|
||||||
trans.zh_CN = public/language/zh_CN/search.json
|
|
||||||
trans.zh_TW = public/language/zh_TW/search.json
|
|
||||||
type = KEYVALUEJSON
|
|
||||||
|
|
||||||
[nodebb.groups]
|
|
||||||
source_file = public/language/en_GB/groups.json
|
|
||||||
source_lang = en_GB
|
|
||||||
trans.ar = public/language/ar/groups.json
|
|
||||||
trans.cs = public/language/cs/groups.json
|
|
||||||
trans.de = public/language/de/groups.json
|
|
||||||
trans.en_US = public/language/en_US/groups.json
|
|
||||||
trans.en@pirate = public/language/en@pirate/groups.json
|
|
||||||
trans.es = public/language/es/groups.json
|
|
||||||
trans.et = public/language/et/groups.json
|
|
||||||
trans.fa_IR = public/language/fa_IR/groups.json
|
|
||||||
trans.fi = public/language/fi/groups.json
|
|
||||||
trans.fr = public/language/fr/groups.json
|
|
||||||
trans.he = public/language/he/groups.json
|
|
||||||
trans.hu = public/language/hu/groups.json
|
|
||||||
trans.it = public/language/it/groups.json
|
|
||||||
trans.ja = public/language/ja/groups.json
|
|
||||||
trans.ko = public/language/ko/groups.json
|
|
||||||
trans.lt = public/language/lt/groups.json
|
|
||||||
trans.ms = public/language/ms/groups.json
|
|
||||||
trans.nb = public/language/nb/groups.json
|
|
||||||
trans.nl = public/language/nl/groups.json
|
|
||||||
trans.pl = public/language/pl/groups.json
|
|
||||||
trans.pt_BR = public/language/pt_BR/groups.json
|
|
||||||
trans.ru = public/language/ru/groups.json
|
|
||||||
trans.ro = public/language/ro/groups.json
|
|
||||||
trans.sc = public/language/sc/groups.json
|
|
||||||
trans.sk = public/language/sk/groups.json
|
|
||||||
trans.sv = public/language/sv/groups.json
|
|
||||||
trans.th = public/language/th/groups.json
|
|
||||||
trans.tr = public/language/tr/groups.json
|
|
||||||
trans.vi = public/language/vi/groups.json
|
|
||||||
trans.zh_CN = public/language/zh_CN/groups.json
|
|
||||||
trans.zh_TW = public/language/zh_TW/groups.json
|
|
||||||
type = KEYVALUEJSON
|
|
||||||
4
ATTRIBUTION.md
Normal file
4
ATTRIBUTION.md
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
## Sound Assets
|
||||||
|
|
||||||
|
* "Waterdrop" by [Porphyr](freesound.org/people/Porphyr) / [CC BY 3.0](creativecommons.org/licenses/by/3.0)
|
||||||
|
* "SweetAlertSound2.wav" by [KIZILSUNGUR](http://www.freesound.org/people/KIZILSUNGUR/) / [Public Domain / CC 0](http://creativecommons.org/publicdomain/zero/1.0/)
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
# Issues & Bugs
|
|
||||||
|
|
||||||
Thanks for reporting an issue with NodeBB! Please follow these guidelines in order to streamline the debugging process. The more guidelines you follow, the easier it will be for us to reproduce your problem.
|
|
||||||
|
|
||||||
In general, if we can't reproduce it, we can't fix it!
|
|
||||||
|
|
||||||
## Try the latest version of NodeBB
|
|
||||||
|
|
||||||
There is a chance that the issue you are experiencing may have already been fixed.
|
|
||||||
|
|
||||||
## Provide the NodeBB version number and git hash
|
|
||||||
|
|
||||||
You can find the NodeBB version number in the Admin Control Panel (ACP), as well as the first line output to the shell when running NodeBB
|
|
||||||
|
|
||||||
``` plaintext
|
|
||||||
info: NodeBB v0.5.2-dev Copyright (C) 2013-2014 NodeBB Inc.
|
|
||||||
info: This program comes with ABSOLUTELY NO WARRANTY.
|
|
||||||
info: This is free software, and you are welcome to redistribute it under certain conditions.
|
|
||||||
info:
|
|
||||||
info: Time: Tue Oct 07 2014 20:25:20 GMT-0400 (EDT)
|
|
||||||
```
|
|
||||||
|
|
||||||
If you are running NodeBB via git, it is also helpful to let the maintainers know what commit hash you are on. To find the commit hash, execute the following command:
|
|
||||||
|
|
||||||
``` bash
|
|
||||||
$ cd /path/to/my/nodebb
|
|
||||||
$ git rev-parse HEAD
|
|
||||||
```
|
|
||||||
|
|
||||||
If you have downloaded the `.zip` or `.tar.gz` packages from GitHub (or elsewhere), please let us know.
|
|
||||||
15
NOTES.md
Normal file
15
NOTES.md
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
## 0.4x Refactor Notes
|
||||||
|
|
||||||
|
Please remove this file after 0.4x (or perhaps organize it so that we can see the history of breaking changes)
|
||||||
|
|
||||||
|
### Immediate Deprecation Notices
|
||||||
|
|
||||||
|
* `action:ajaxifying` is no longer triggered on body but on window instead, in line with other similar hooks.
|
||||||
|
* `filter:server.create_routes` and `filter:admin.create_routes` will have limited support (ajaxify works, but first-load will not). Please have a look at [this plugin](https://github.com/psychobunny/nodebb-plugin-kitchen-sink/blob/master/library.js#L16-L22) for an example on how to create routes in plugins from now on.
|
||||||
|
|
||||||
|
### Upcoming Deprecation Warnings
|
||||||
|
|
||||||
|
* `filter:footer.build` will be deprecated for 0.4x in favour of the widget system (WIP)
|
||||||
|
* templates.setGlobal (server-side only) deprecated in favour of using res.locals
|
||||||
|
* `plugins/fireHook` route will be deprecated for 0.4x
|
||||||
|
* synchronous hooks will be deprecated for 0.4x - we're reducing complexity by removing the `callbacked: true` property in `plugin.json` - just use callbacks.
|
||||||
31
README.md
31
README.md
@@ -1,48 +1,45 @@
|
|||||||
# <img alt="NodeBB" src="http://i.imgur.com/mYxPPtB.png" />
|
# <img alt="NodeBB" src="http://i.imgur.com/3yj1n6N.png" />
|
||||||
[](https://travis-ci.org/NodeBB/NodeBB)
|
[](https://david-dm.org/designcreateplay/nodebb)
|
||||||
[](https://david-dm.org/nodebb/nodebb)
|
[](https://codeclimate.com/github/designcreateplay/NodeBB)
|
||||||
[](https://codeclimate.com/github/NodeBB/NodeBB)
|
|
||||||
[](https://readthedocs.org/projects/nodebb/?badge=latest)
|
|
||||||
|
|
||||||
**NodeBB Forum Software** is powered by Node.js and built on a Redis database. It utilizes web sockets for instant interactions and real-time notifications. NodeBB is compatible down to IE8 and has many modern features out of the box such as social network integration and streaming discussions.
|
**NodeBB Forum Software** is powered by Node.js and built on a Redis database. It utilizes web sockets for instant interactions and real-time notifications. NodeBB is compatible down to IE8 and has many modern features out of the box such as social network integration and streaming discussions.
|
||||||
|
|
||||||
* [Get NodeBB](http://www.nodebb.org/ "NodeBB")
|
* [Get NodeBB](http://www.nodebb.org/ "NodeBB")
|
||||||
* [Demo & Meta Discussion](http://community.nodebb.org)
|
* [Demo & Meta Discussion](http://community.nodebb.org)
|
||||||
* [NodeBB Blog](http://blog.nodebb.org)
|
* [NodeBB Blog](http://blog.nodebb.org)
|
||||||
* [Documentation](http://docs.nodebb.org) - includes setup instructions for other platforms
|
* [Wiki Guides](https://github.com/designcreateplay/NodeBB/wiki) - includes setup for other platforms
|
||||||
* [Join us on IRC](https://kiwiirc.com/client/irc.freenode.net/nodebb) - #nodebb on Freenode
|
* [Join us on IRC](https://kiwiirc.com/client/irc.freenode.net/nodebb) - #nodebb on Freenode
|
||||||
* [Follow us on Twitter](http://www.twitter.com/NodeBB/ "NodeBB Twitter")
|
* [Follow on Twitter](http://www.twitter.com/NodeBB/ "NodeBB Twitter")
|
||||||
* [Like us on Facebook](http://www.facebook.com/NodeBB/ "NodeBB Facebook")
|
* [Like us on Facebook](http://www.facebook.com/NodeBB/ "NodeBB Facebook")
|
||||||
* [Get Plugins](http://community.nodebb.org/category/7/nodebb-plugins "NodeBB Plugins")
|
* [Get Plugins](http://community.nodebb.org/category/7/nodebb-plugins "NodeBB Plugins")
|
||||||
* [Get Themes](http://community.nodebb.org/category/10/nodebb-themes "NodeBB Themes")
|
* [Get Themes](http://community.nodebb.org/category/10/nodebb-themes "NodeBB Themes")
|
||||||
* [Help translate NodeBB](https://www.transifex.com/projects/p/nodebb/)
|
|
||||||
|
|
||||||
## Screenshots
|
## Screenshots
|
||||||
|
|
||||||
[<img src="http://i.imgur.com/FLOUuIqb.png" />](http://i.imgur.com/FLOUuIq.png) [<img src="http://i.imgur.com/Ud1LrfIb.png" />](http://i.imgur.com/Ud1LrfI.png) [<img src="http://i.imgur.com/ZC8W39ab.png" />](http://i.imgur.com/ZC8W39a.png) [<img src="http://i.imgur.com/o90kVPib.png" />](http://i.imgur.com/o90kVPi.png) [<img src="http://i.imgur.com/AaRRrU2b.png" />](http://i.imgur.com/AaRRrU2.png) [<img src="http://i.imgur.com/LmHtPhob.png" />](http://i.imgur.com/LmHtPho.png) [<img src="http://i.imgur.com/paiJPJkb.jpg" />](http://i.imgur.com/paiJPJk.jpg) [<img src="http://i.imgur.com/ZfavPHDb.png" />](http://i.imgur.com/ZfavPHD.png) [<img src="http://i.imgur.com/8OLssij.png" />](http://i.imgur.com/8OLssij.png) [<img src="http://i.imgur.com/JKOc0LZ.png"/>](http://i.imgur.com/JKOc0LZ.png)
|
[<img src="http://i.imgur.com/FLOUuIqb.png" />](http://i.imgur.com/FLOUuIq.png) [<img src="http://i.imgur.com/Ud1LrfIb.png" />](http://i.imgur.com/Ud1LrfI.png) [<img src="http://i.imgur.com/ZC8W39ab.png" />](http://i.imgur.com/ZC8W39a.png) [<img src="http://i.imgur.com/o90kVPib.png" />](http://i.imgur.com/o90kVPi.png) [<img src="http://i.imgur.com/AaRRrU2b.png" />](http://i.imgur.com/AaRRrU2.png) [<img src="http://i.imgur.com/LmHtPhob.png" />](http://i.imgur.com/LmHtPho.png) [<img src="http://i.imgur.com/paiJPJkb.jpg" />](http://i.imgur.com/paiJPJk.jpg) [<img src="http://i.imgur.com/ZfavPHDb.png" />](http://i.imgur.com/ZfavPHD.png) [<img src="http://i.imgur.com/8vc1Ytc.png" />](http://i.imgur.com/8vc1Ytc.png)
|
||||||
|
|
||||||
|
|
||||||
Credit: [Convoe](http://www.convoe.com), [Kano](http://www.kano.me), [Manchester United Forum](http://manutdforums.com/).
|
Credit: [Convoe](http://www.convoe.com), [Kano](http://www.kano.me), [Manchester United Forum](http://manutdforums.com/).
|
||||||
|
|
||||||
|
|
||||||
## How can I follow along/contribute?
|
## How can I follow along/contribute?
|
||||||
|
|
||||||
* Our feature roadmap is hosted on the project wiki's [Version History / Roadmap](https://github.com/NodeBB/NodeBB/wiki/Version-History-%26-Roadmap)
|
* Our feature roadmap is hosted on the project wiki's [Version History / Roadmap](https://github.com/designcreateplay/NodeBB/wiki/Version-History-%26-Roadmap)
|
||||||
* If you are a developer, feel free to check out the source and submit pull requests. We also have a wide array of [plugins](http://community.nodebb.org/category/7/nodebb-plugins) which would be a great starting point for learning the codebase.
|
* If you are a developer, feel free to check out the source and submit pull requests. We also have a wide array of [plugins](http://community.nodebb.org/category/7/nodebb-plugins) which would be a great starting point for learning the codebase.
|
||||||
* If you are a designer, [NodeBB needs themes](http://community.nodebb.org/category/10/nodebb-themes)! NodeBB's theming system allows extention of the base templates as well as styling via LESS or CSS. NodeBB's base theme utilizes [Bootstrap 3](http://getbootstrap.com/) but themes can choose to use a different framework altogether.
|
* If you are a designer, [NodeBB needs themes](http://community.nodebb.org/category/10/nodebb-themes)! NodeBB's theming system allows extention of the base templates as well as styling via LESS or CSS. NodeBB's base theme utilizes [Bootstrap 3](http://getbootstrap.com/) but themes can choose to use a different framework altogether.
|
||||||
* If you know languages other than English you can help us translate NodeBB. We use [Transifex](https://www.transifex.com/projects/p/nodebb/) for internationalization.
|
|
||||||
* Please don't forget to **like**, **follow**, and **star our repo**! Join our growing [community](http://community.nodebb.org) to keep up to date with the latest NodeBB development.
|
* Please don't forget to **like**, **follow**, and **star our repo**! Join our growing [community](http://community.nodebb.org) to keep up to date with the latest NodeBB development.
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
NodeBB requires the following software to be installed:
|
NodeBB requires the following software to be installed:
|
||||||
|
|
||||||
* A version of Node.js at least 0.10 or greater
|
* A version of Node.js at least 0.8 or greater
|
||||||
* Redis, version 2.6 or greater **or** MongoDB, version 2.6 or greater
|
* Redis, version 2.6 or greater **or** MongoDB, version 2.4 or greater
|
||||||
* nginx, version 1.3.13 or greater (**only if** intending to use nginx to proxy requests to a NodeBB)
|
* nginx, version 1.3.13 or greater (**only if** intending to use nginx to proxy requests to a NodeBB)
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
[Please refer to platform-specific installation documentation](http://docs.nodebb.org/en/latest/installing/os.html)
|
[Please refer to platform-specific installation documentation](https://github.com/designcreateplay/NodeBB/wiki#wiki-installing-nodebb)
|
||||||
|
|
||||||
## Securing NodeBB
|
## Securing NodeBB
|
||||||
|
|
||||||
@@ -57,8 +54,4 @@ It is important to ensure that your NodeBB and database servers are secured. Bea
|
|||||||
|
|
||||||
## Upgrading NodeBB
|
## Upgrading NodeBB
|
||||||
|
|
||||||
Detailed upgrade instructions are listed in [Upgrading NodeBB](https://docs.nodebb.org/en/latest/upgrading/index.html)
|
Detailed upgrade instructions are listed in [Upgrading NodeBB](https://github.com/designcreateplay/NodeBB/wiki/Upgrading-NodeBB)
|
||||||
|
|
||||||
## License
|
|
||||||
|
|
||||||
NodeBB is licensed under the **GNU General Public License v3 (GPL-3)** (http://www.gnu.org/copyleft/gpl.html)
|
|
||||||
|
|||||||
254
app.js
254
app.js
@@ -1,7 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
NodeBB - A better forum platform for the modern web
|
NodeBB - A forum powered by node in development by designcreateplay
|
||||||
https://github.com/NodeBB/NodeBB/
|
Copyright (C) 2013 DesignCreatePlay Inc.
|
||||||
Copyright (C) 2013-2014 NodeBB Inc.
|
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
This program is free software: you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@@ -17,8 +16,8 @@
|
|||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
/*global require, global, process*/
|
|
||||||
|
|
||||||
var nconf = require('nconf');
|
var nconf = require('nconf');
|
||||||
nconf.argv().env();
|
nconf.argv().env();
|
||||||
@@ -28,7 +27,6 @@ var fs = require('fs'),
|
|||||||
semver = require('semver'),
|
semver = require('semver'),
|
||||||
winston = require('winston'),
|
winston = require('winston'),
|
||||||
path = require('path'),
|
path = require('path'),
|
||||||
cluster = require('cluster'),
|
|
||||||
pkg = require('./package.json'),
|
pkg = require('./package.json'),
|
||||||
utils = require('./public/src/utils.js');
|
utils = require('./public/src/utils.js');
|
||||||
|
|
||||||
@@ -41,7 +39,7 @@ winston.add(winston.transports.Console, {
|
|||||||
});
|
});
|
||||||
|
|
||||||
winston.add(winston.transports.File, {
|
winston.add(winston.transports.File, {
|
||||||
filename: 'logs/error.log',
|
filename: 'error.log',
|
||||||
level: 'error'
|
level: 'error'
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -58,24 +56,21 @@ if(os.platform() === 'linux') {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!cluster.isWorker) {
|
// Log GNU copyright info along with server info
|
||||||
// If run using `node app`, log GNU copyright info along with server info
|
winston.info('NodeBB v' + pkg.version + ' Copyright (C) 2013 DesignCreatePlay Inc.');
|
||||||
winston.info('NodeBB v' + pkg.version + ' Copyright (C) 2013-2014 NodeBB Inc.');
|
winston.info('This program comes with ABSOLUTELY NO WARRANTY.');
|
||||||
winston.info('This program comes with ABSOLUTELY NO WARRANTY.');
|
winston.info('This is free software, and you are welcome to redistribute it under certain conditions.');
|
||||||
winston.info('This is free software, and you are welcome to redistribute it under certain conditions.');
|
winston.info('');
|
||||||
winston.info('');
|
|
||||||
}
|
|
||||||
|
|
||||||
// Alternate configuration file support
|
// Alternate configuration file support
|
||||||
var configFile = path.join(__dirname, '/config.json'),
|
var configFile = __dirname + '/config.json',
|
||||||
configExists;
|
configExists;
|
||||||
|
|
||||||
if (nconf.get('config')) {
|
if (nconf.get('config')) {
|
||||||
configFile = path.resolve(__dirname, nconf.get('config'));
|
configFile = path.resolve(__dirname, nconf.get('config'));
|
||||||
}
|
}
|
||||||
configExists = fs.existsSync(configFile);
|
configExists = fs.existsSync(configFile);
|
||||||
|
|
||||||
if (!nconf.get('setup') && !nconf.get('install') && !nconf.get('upgrade') && !nconf.get('reset') && configExists) {
|
if (!nconf.get('help') && !nconf.get('setup') && !nconf.get('install') && !nconf.get('upgrade') && !nconf.get('reset') && configExists) {
|
||||||
start();
|
start();
|
||||||
} else if (nconf.get('setup') || nconf.get('install') || !configExists) {
|
} else if (nconf.get('setup') || nconf.get('install') || !configExists) {
|
||||||
setup();
|
setup();
|
||||||
@@ -83,6 +78,8 @@ if (!nconf.get('setup') && !nconf.get('install') && !nconf.get('upgrade') && !nc
|
|||||||
upgrade();
|
upgrade();
|
||||||
} else if (nconf.get('reset')) {
|
} else if (nconf.get('reset')) {
|
||||||
reset();
|
reset();
|
||||||
|
} else {
|
||||||
|
displayHelp();
|
||||||
}
|
}
|
||||||
|
|
||||||
function loadConfig() {
|
function loadConfig() {
|
||||||
@@ -91,43 +88,38 @@ function loadConfig() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
nconf.defaults({
|
nconf.defaults({
|
||||||
base_dir: __dirname,
|
themes_path: path.join(__dirname, 'node_modules')
|
||||||
themes_path: path.join(__dirname, 'node_modules'),
|
|
||||||
upload_url: '/uploads/',
|
|
||||||
views_dir: path.join(__dirname, 'public/templates')
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// Ensure themes_path is a full filepath
|
// Ensure themes_path is a full filepath
|
||||||
nconf.set('themes_path', path.resolve(__dirname, nconf.get('themes_path')));
|
nconf.set('themes_path', path.resolve(__dirname, nconf.get('themes_path')));
|
||||||
nconf.set('core_templates_path', path.join(__dirname, 'src/views'));
|
|
||||||
nconf.set('base_templates_path', path.join(nconf.get('themes_path'), 'nodebb-theme-vanilla/templates'));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function start() {
|
function start() {
|
||||||
loadConfig();
|
loadConfig();
|
||||||
|
|
||||||
if (!cluster.isWorker) {
|
nconf.set('url', nconf.get('base_url') + (nconf.get('use_port') ? ':' + nconf.get('port') : '') + nconf.get('relative_path'));
|
||||||
|
nconf.set('upload_url', path.join(path.sep, 'uploads', path.sep));
|
||||||
|
nconf.set('base_dir', __dirname);
|
||||||
|
nconf.set('views_dir', path.join(__dirname, 'public/templates'));
|
||||||
|
|
||||||
winston.info('Time: ' + new Date());
|
winston.info('Time: ' + new Date());
|
||||||
winston.info('Initializing NodeBB v' + pkg.version);
|
winston.info('Initializing NodeBB v' + pkg.version);
|
||||||
winston.info('* using configuration stored in: ' + configFile);
|
winston.info('* using configuration stored in: ' + configFile);
|
||||||
}
|
var host = nconf.get(nconf.get('database') + ':host');
|
||||||
|
winston.info('* using ' + nconf.get('database') +' store at ' + host + (host.indexOf('/') === -1 ? ':' + nconf.get(nconf.get('database') + ':port') : ''));
|
||||||
if (cluster.isWorker && process.env.cluster_setup === 'true') {
|
|
||||||
var host = nconf.get(nconf.get('database') + ':host'),
|
|
||||||
storeLocation = host ? 'at ' + host + (host.indexOf('/') === -1 ? ':' + nconf.get(nconf.get('database') + ':port') : '') : '';
|
|
||||||
|
|
||||||
winston.info('* using ' + nconf.get('database') +' store ' + storeLocation);
|
|
||||||
winston.info('* using themes stored in: ' + nconf.get('themes_path'));
|
winston.info('* using themes stored in: ' + nconf.get('themes_path'));
|
||||||
|
|
||||||
|
if (process.env.NODE_ENV === 'development') {
|
||||||
|
winston.info('Base Configuration OK.');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var meta = require('./src/meta');
|
||||||
|
|
||||||
require('./src/database').init(function(err) {
|
require('./src/database').init(function(err) {
|
||||||
if (err) {
|
|
||||||
winston.error(err.stack);
|
|
||||||
process.exit();
|
|
||||||
}
|
|
||||||
var meta = require('./src/meta');
|
|
||||||
meta.configs.init(function () {
|
meta.configs.init(function () {
|
||||||
var templates = require('templates.js'),
|
var templates = require('./public/src/templates'),
|
||||||
|
translator = require('./public/src/translator'),
|
||||||
webserver = require('./src/webserver'),
|
webserver = require('./src/webserver'),
|
||||||
sockets = require('./src/socket.io'),
|
sockets = require('./src/socket.io'),
|
||||||
plugins = require('./src/plugins'),
|
plugins = require('./src/plugins'),
|
||||||
@@ -138,56 +130,31 @@ function start() {
|
|||||||
upgrade.check(function(schema_ok) {
|
upgrade.check(function(schema_ok) {
|
||||||
if (schema_ok || nconf.get('check-schema') === false) {
|
if (schema_ok || nconf.get('check-schema') === false) {
|
||||||
sockets.init(webserver.server);
|
sockets.init(webserver.server);
|
||||||
|
plugins.init();
|
||||||
|
translator.loadServer();
|
||||||
|
|
||||||
nconf.set('url', nconf.get('base_url') + (nconf.get('use_port') ? ':' + nconf.get('port') : '') + nconf.get('relative_path'));
|
nconf.set('base_templates_path', path.join(nconf.get('themes_path'), 'nodebb-theme-vanilla/templates'));
|
||||||
|
nconf.set('theme_templates_path', meta.config['theme:templates'] ? path.join(nconf.get('themes_path'), meta.config['theme:id'], meta.config['theme:templates']) : nconf.get('base_templates_path'));
|
||||||
|
|
||||||
plugins.ready(function() {
|
plugins.ready(function() {
|
||||||
webserver.init(function() {
|
webserver.init();
|
||||||
webserver.listen(function() {
|
|
||||||
process.send({
|
|
||||||
action: 'ready'
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|
||||||
process.on('SIGTERM', shutdown);
|
process.on('SIGTERM', shutdown);
|
||||||
process.on('SIGINT', shutdown);
|
process.on('SIGINT', shutdown);
|
||||||
process.on('SIGHUP', restart);
|
process.on('SIGHUP', restart);
|
||||||
process.on('message', function(message) {
|
|
||||||
switch(message.action) {
|
|
||||||
case 'reload':
|
|
||||||
meta.reload();
|
|
||||||
break;
|
|
||||||
case 'js-propagate':
|
|
||||||
meta.js.cache = message.cache;
|
|
||||||
meta.js.map = message.map;
|
|
||||||
winston.info('[cluster] Client-side javascript and mapping propagated to worker ' + cluster.worker.id);
|
|
||||||
break;
|
|
||||||
case 'css-propagate':
|
|
||||||
meta.css.cache = message.cache;
|
|
||||||
meta.css.acpCache = message.acpCache;
|
|
||||||
winston.info('[cluster] Stylesheets propagated to worker ' + cluster.worker.id);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
process.on('uncaughtException', function(err) {
|
process.on('uncaughtException', function(err) {
|
||||||
winston.error(err.stack);
|
winston.error('[app] Encountered Uncaught Exception: ' + err.message);
|
||||||
console.log(err.stack);
|
console.log(err.stack);
|
||||||
|
restart();
|
||||||
meta.js.killMinifier();
|
|
||||||
shutdown(1);
|
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
winston.warn('Your NodeBB schema is out-of-date. Please run the following command to bring your dataset up to spec:');
|
winston.warn('Your NodeBB schema is out-of-date. Please run the following command to bring your dataset up to spec:');
|
||||||
winston.warn(' ./nodebb upgrade');
|
winston.warn(' node app --upgrade');
|
||||||
if (cluster.isWorker) {
|
winston.warn('To ignore this error (not recommended):');
|
||||||
cluster.worker.kill();
|
winston.warn(' node app --no-check-schema');
|
||||||
} else {
|
|
||||||
process.exit();
|
process.exit();
|
||||||
}
|
}
|
||||||
}
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -222,12 +189,10 @@ function setup() {
|
|||||||
function upgrade() {
|
function upgrade() {
|
||||||
loadConfig();
|
loadConfig();
|
||||||
|
|
||||||
|
var meta = require('./src/meta');
|
||||||
|
|
||||||
require('./src/database').init(function(err) {
|
require('./src/database').init(function(err) {
|
||||||
if (err) {
|
meta.configs.init(function () {
|
||||||
winston.error(err.stack);
|
|
||||||
process.exit();
|
|
||||||
}
|
|
||||||
require('./src/meta').configs.init(function () {
|
|
||||||
require('./src/upgrade').upgrade();
|
require('./src/upgrade').upgrade();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -236,103 +201,38 @@ function upgrade() {
|
|||||||
function reset() {
|
function reset() {
|
||||||
loadConfig();
|
loadConfig();
|
||||||
|
|
||||||
require('./src/database').init(function(err) {
|
var meta = require('./src/meta'),
|
||||||
|
db = require('./src/database'),
|
||||||
|
async = require('async');
|
||||||
|
|
||||||
|
db.init(function(err) {
|
||||||
|
meta.configs.init(function () {
|
||||||
|
async.parallel([
|
||||||
|
function(next) {
|
||||||
|
db.delete('plugins:active', next);
|
||||||
|
},
|
||||||
|
function(next) {
|
||||||
|
meta.configs.set('theme:type', 'local', next);
|
||||||
|
},
|
||||||
|
function(next) {
|
||||||
|
meta.configs.set('theme:id', 'nodebb-theme-vanilla', next);
|
||||||
|
},
|
||||||
|
function(next) {
|
||||||
|
meta.configs.set('theme:staticDir', '', next);
|
||||||
|
},
|
||||||
|
function(next) {
|
||||||
|
meta.configs.set('theme:templates', '', next);
|
||||||
|
}
|
||||||
|
], function(err) {
|
||||||
if (err) {
|
if (err) {
|
||||||
winston.error(err.message);
|
winston.error(err);
|
||||||
process.exit();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (nconf.get('themes')) {
|
|
||||||
resetThemes();
|
|
||||||
} else if (nconf.get('plugin')) {
|
|
||||||
resetPlugin(nconf.get('plugin'));
|
|
||||||
} else if (nconf.get('plugins')) {
|
|
||||||
resetPlugins();
|
|
||||||
} else if (nconf.get('widgets')) {
|
|
||||||
resetWidgets();
|
|
||||||
} else if (nconf.get('settings')) {
|
|
||||||
resetSettings();
|
|
||||||
} else if (nconf.get('all')) {
|
|
||||||
require('async').series([resetWidgets, resetThemes, resetPlugins, resetSettings], function(err) {
|
|
||||||
if (!err) {
|
|
||||||
winston.info('[reset] Reset complete.');
|
|
||||||
} else {
|
} else {
|
||||||
winston.error('[reset] Errors were encountered while resetting your forum settings: ' + err.message);
|
winston.info("Successfully reset theme to Vanilla and disabled all plugins.");
|
||||||
}
|
|
||||||
process.exit();
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
winston.warn('[reset] Nothing reset.');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function resetSettings(callback) {
|
|
||||||
var meta = require('./src/meta');
|
|
||||||
meta.configs.set('allowLocalLogin', 1, function(err) {
|
|
||||||
winston.info('[reset] Settings reset to default');
|
|
||||||
if (typeof callback === 'function') {
|
|
||||||
callback(err);
|
|
||||||
} else {
|
|
||||||
process.exit();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function resetThemes(callback) {
|
|
||||||
var meta = require('./src/meta');
|
|
||||||
|
|
||||||
meta.themes.set({
|
|
||||||
type: 'local',
|
|
||||||
id: 'nodebb-theme-vanilla'
|
|
||||||
}, function(err) {
|
|
||||||
winston.info('[reset] Theme reset to Vanilla');
|
|
||||||
if (typeof callback === 'function') {
|
|
||||||
callback(err);
|
|
||||||
} else {
|
|
||||||
process.exit();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function resetPlugin(pluginId) {
|
|
||||||
var db = require('./src/database');
|
|
||||||
db.setRemove('plugins:active', pluginId, function(err, result) {
|
|
||||||
if (err || result !== 1) {
|
|
||||||
winston.error('[reset] Could not disable plugin: ' + pluginId);
|
|
||||||
if (err) {
|
|
||||||
winston.error('[reset] Encountered error: ' + err.message);
|
|
||||||
} else {
|
|
||||||
winston.info('[reset] Perhaps it has already been disabled?');
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
winston.info('[reset] Plugin `' + pluginId + '` disabled');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
process.exit();
|
process.exit();
|
||||||
});
|
});
|
||||||
}
|
|
||||||
|
|
||||||
function resetPlugins(callback) {
|
|
||||||
var db = require('./src/database');
|
|
||||||
db.delete('plugins:active', function(err) {
|
|
||||||
winston.info('[reset] All Plugins De-activated');
|
|
||||||
if (typeof callback === 'function') {
|
|
||||||
callback(err);
|
|
||||||
} else {
|
|
||||||
process.exit();
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
}
|
|
||||||
|
|
||||||
function resetWidgets(callback) {
|
|
||||||
require('./src/widgets').reset(function(err) {
|
|
||||||
winston.info('[reset] All Widgets moved to Draft Zone');
|
|
||||||
if (typeof callback === 'function') {
|
|
||||||
callback(err);
|
|
||||||
} else {
|
|
||||||
process.exit();
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -340,21 +240,29 @@ function shutdown(code) {
|
|||||||
winston.info('[app] Shutdown (SIGTERM/SIGINT) Initialised.');
|
winston.info('[app] Shutdown (SIGTERM/SIGINT) Initialised.');
|
||||||
require('./src/database').close();
|
require('./src/database').close();
|
||||||
winston.info('[app] Database connection closed.');
|
winston.info('[app] Database connection closed.');
|
||||||
require('./src/webserver').server.close();
|
|
||||||
winston.info('[app] Web server closed to connections.');
|
|
||||||
|
|
||||||
winston.info('[app] Shutdown complete.');
|
winston.info('[app] Shutdown complete.');
|
||||||
process.exit(code || 0);
|
process.exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
function restart() {
|
function restart() {
|
||||||
if (process.send) {
|
if (process.send) {
|
||||||
winston.info('[app] Restarting...');
|
winston.info('[app] Restarting...');
|
||||||
process.send({
|
process.send('nodebb:restart');
|
||||||
action: 'restart'
|
|
||||||
});
|
|
||||||
} else {
|
} else {
|
||||||
winston.error('[app] Could not restart server. Shutting down.');
|
winston.error('[app] Could not restart server. Shutting down.');
|
||||||
shutdown(1);
|
shutdown();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function displayHelp() {
|
||||||
|
winston.info('Usage: node app [options] [arguments]');
|
||||||
|
winston.info(' [NODE_ENV=development | NODE_ENV=production] node app [--start] [arguments]');
|
||||||
|
winston.info('');
|
||||||
|
winston.info('Options:');
|
||||||
|
winston.info(' --help displays this usage information');
|
||||||
|
winston.info(' --setup configure your environment and setup NodeBB');
|
||||||
|
winston.info(' --upgrade upgrade NodeBB, first read: github.com/designcreateplay/NodeBB/wiki/Upgrading-NodeBB');
|
||||||
|
winston.info(' --reset soft resets NodeBB; disables all plugins and restores selected theme to Vanilla');
|
||||||
|
winston.info(' --start manually start NodeBB (default when no options are given)');
|
||||||
|
}
|
||||||
|
|||||||
29
bcrypt.js
29
bcrypt.js
@@ -1,29 +0,0 @@
|
|||||||
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var bcrypt = require('bcryptjs'),
|
|
||||||
async = require('async'),
|
|
||||||
action = process.argv[2];
|
|
||||||
|
|
||||||
switch(action) {
|
|
||||||
case 'compare':
|
|
||||||
bcrypt.compare(process.argv[3], process.argv[4], function(err, res) {
|
|
||||||
process.stdout.write(res ? 'true' : 'false');
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'hash':
|
|
||||||
async.waterfall([
|
|
||||||
async.apply(bcrypt.genSalt, parseInt(process.argv[3], 10)),
|
|
||||||
function(salt, next) {
|
|
||||||
bcrypt.hash(process.argv[4], salt, next);
|
|
||||||
}
|
|
||||||
], function(err, hash) {
|
|
||||||
if (!err) {
|
|
||||||
process.stdout.write(hash);
|
|
||||||
} else {
|
|
||||||
process.stderr.write(err.message);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"name": "Announcements",
|
"name": "Announcements",
|
||||||
"description": "Announcements regarding our community",
|
"description": "Announcements regarding our community",
|
||||||
|
|||||||
@@ -1,86 +0,0 @@
|
|||||||
[
|
|
||||||
{
|
|
||||||
"field": "title",
|
|
||||||
"value": "NodeBB"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"field": "showSiteTitle",
|
|
||||||
"value": "1"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"field": "postDelay",
|
|
||||||
"value": 10
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"field": "initialPostDelay",
|
|
||||||
"value": 10
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"field": "minimumPostLength",
|
|
||||||
"value": 8
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"field": "allowGuestSearching",
|
|
||||||
"value": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"field": "allowTopicsThumbnail",
|
|
||||||
"value": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"field": "allowRegistration",
|
|
||||||
"value": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"field": "allowLocalLogin",
|
|
||||||
"value": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"field": "allowAccountDelete",
|
|
||||||
"value": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"field": "allowFileUploads",
|
|
||||||
"value": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"field": "maximumFileSize",
|
|
||||||
"value": 2048
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"field": "minimumTitleLength",
|
|
||||||
"value": 3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"field": "maximumTitleLength",
|
|
||||||
"value": 255
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"field": "minimumUsernameLength",
|
|
||||||
"value": 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"field": "maximumUsernameLength",
|
|
||||||
"value": 16
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"field": "minimumPasswordLength",
|
|
||||||
"value": 6
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"field": "maximumSignatureLength",
|
|
||||||
"value": 255
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"field": "maximumProfileImageSize",
|
|
||||||
"value": 256
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"field": "profileImageDimension",
|
|
||||||
"value": 128
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"field": "requireEmailConfirmation",
|
|
||||||
"value": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
@@ -1,104 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
var async = require('async'),
|
|
||||||
prompt = require('prompt'),
|
|
||||||
nconf = require('nconf'),
|
|
||||||
winston = require('winston'),
|
|
||||||
|
|
||||||
questions = {};
|
|
||||||
|
|
||||||
function success(err, config, callback) {
|
|
||||||
if (!config) {
|
|
||||||
return callback(new Error('aborted'));
|
|
||||||
}
|
|
||||||
|
|
||||||
var database = (config.redis || config.mongo) ? config.secondary_database : config.database;
|
|
||||||
|
|
||||||
function dbQuestionsSuccess(err, databaseConfig) {
|
|
||||||
if (!databaseConfig) {
|
|
||||||
return callback(new Error('aborted'));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Translate redis properties into redis object
|
|
||||||
if(database === 'redis') {
|
|
||||||
config.redis = {
|
|
||||||
host: databaseConfig['redis:host'],
|
|
||||||
port: databaseConfig['redis:port'],
|
|
||||||
password: databaseConfig['redis:password'],
|
|
||||||
database: databaseConfig['redis:database']
|
|
||||||
};
|
|
||||||
|
|
||||||
if (config.redis.host.slice(0, 1) === '/') {
|
|
||||||
delete config.redis.port;
|
|
||||||
}
|
|
||||||
} else if (database === 'mongo') {
|
|
||||||
config.mongo = {
|
|
||||||
host: databaseConfig['mongo:host'],
|
|
||||||
port: databaseConfig['mongo:port'],
|
|
||||||
username: databaseConfig['mongo:username'],
|
|
||||||
password: databaseConfig['mongo:password'],
|
|
||||||
database: databaseConfig['mongo:database']
|
|
||||||
};
|
|
||||||
} else {
|
|
||||||
return callback(new Error('unknown database : ' + database));
|
|
||||||
}
|
|
||||||
|
|
||||||
var allQuestions = questions.redis.concat(questions.mongo);
|
|
||||||
for(var x=0;x<allQuestions.length;x++) {
|
|
||||||
delete config[allQuestions[x].name];
|
|
||||||
}
|
|
||||||
|
|
||||||
callback(err, config);
|
|
||||||
}
|
|
||||||
|
|
||||||
if(database === 'redis') {
|
|
||||||
if (config['redis:host'] && config['redis:port']) {
|
|
||||||
dbQuestionsSuccess(null, config);
|
|
||||||
} else {
|
|
||||||
prompt.get(questions.redis, dbQuestionsSuccess);
|
|
||||||
}
|
|
||||||
} else if(database === 'mongo') {
|
|
||||||
if (config['mongo:host'] && config['mongo:port']) {
|
|
||||||
dbQuestionsSuccess(null, config);
|
|
||||||
} else {
|
|
||||||
prompt.get(questions.mongo, dbQuestionsSuccess);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
return callback(new Error('unknown database : ' + database));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function getSecondaryDatabaseModules(config, next) {
|
|
||||||
prompt.get({
|
|
||||||
"name": "secondary_db_modules",
|
|
||||||
"description": "Which database modules should " + config.secondary_database + " store?",
|
|
||||||
"default": nconf.get('secondary_db_modules') || "hash, list, sets, sorted"
|
|
||||||
}, function(err, db) {
|
|
||||||
config.secondary_db_modules = db.secondary_db_modules;
|
|
||||||
success(err, config, next);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = function(err, config, databases, callback) {
|
|
||||||
var allowedDBs = Object.keys(databases);
|
|
||||||
|
|
||||||
allowedDBs.forEach(function(db) {
|
|
||||||
questions[db] = require('./../src/database/' + db).questions;
|
|
||||||
});
|
|
||||||
|
|
||||||
async.waterfall([
|
|
||||||
function(next) {
|
|
||||||
process.stdout.write('\n');
|
|
||||||
winston.info('Now configuring ' + config.database + ' database:');
|
|
||||||
success(err, config, next);
|
|
||||||
},
|
|
||||||
function(config, next) {
|
|
||||||
if (config.secondary_database && allowedDBs.indexOf(config.secondary_database) !== -1) {
|
|
||||||
winston.info('Now configuring ' + config.secondary_database + ' database:');
|
|
||||||
getSecondaryDatabaseModules(config, next);
|
|
||||||
} else {
|
|
||||||
next(err, config);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
], callback);
|
|
||||||
};
|
|
||||||
276
loader.js
276
loader.js
@@ -2,251 +2,75 @@
|
|||||||
|
|
||||||
var nconf = require('nconf'),
|
var nconf = require('nconf'),
|
||||||
fs = require('fs'),
|
fs = require('fs'),
|
||||||
path = require('path'),
|
|
||||||
cluster = require('cluster'),
|
|
||||||
async = require('async'),
|
|
||||||
logrotate = require('logrotate-stream'),
|
|
||||||
|
|
||||||
pkg = require('./package.json'),
|
|
||||||
|
|
||||||
pidFilePath = __dirname + '/pidfile',
|
pidFilePath = __dirname + '/pidfile',
|
||||||
output = logrotate({ file: __dirname + '/logs/output.log', size: '1m', keep: 3, compress: true }),
|
start = function() {
|
||||||
silent = process.env.NODE_ENV !== 'development' ? true : false,
|
var fork = require('child_process').fork,
|
||||||
numProcs,
|
nbb_start = function() {
|
||||||
|
nbb = fork('./app', process.argv.slice(2), {
|
||||||
|
env: {
|
||||||
|
'NODE_ENV': process.env.NODE_ENV
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
Loader = {
|
nbb.on('message', function(cmd) {
|
||||||
timesStarted: 0,
|
if (cmd === 'nodebb:restart') {
|
||||||
shutdown_queue: [],
|
nbb_restart();
|
||||||
js: {
|
}
|
||||||
cache: undefined,
|
});
|
||||||
map: undefined
|
|
||||||
},
|
},
|
||||||
css: {
|
nbb_stop = function() {
|
||||||
cache: undefined,
|
nbb.kill();
|
||||||
acpCache: undefined
|
if (fs.existsSync(pidFilePath)) {
|
||||||
|
var pid = parseInt(fs.readFileSync(pidFilePath, { encoding: 'utf-8' }), 10);
|
||||||
|
if (process.pid === pid) {
|
||||||
|
fs.unlinkSync(pidFilePath);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
nbb_restart = function() {
|
||||||
|
nbb.on('exit', function() {
|
||||||
|
nbb_start();
|
||||||
|
});
|
||||||
|
nbb.kill();
|
||||||
};
|
};
|
||||||
|
|
||||||
Loader.init = function(callback) {
|
process.on('SIGINT', nbb_stop);
|
||||||
cluster.setupMaster({
|
process.on('SIGTERM', nbb_stop);
|
||||||
exec: "app.js",
|
process.on('SIGHUP', nbb_restart);
|
||||||
silent: silent
|
|
||||||
});
|
|
||||||
Loader.primaryWorker = 1;
|
|
||||||
|
|
||||||
if (silent) {
|
nbb_start();
|
||||||
console.log = function(value) {
|
},
|
||||||
output.write(value + '\n');
|
nbb;
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
process.on('SIGHUP', Loader.restart);
|
nconf.argv();
|
||||||
callback();
|
|
||||||
};
|
|
||||||
|
|
||||||
Loader.displayStartupMessages = function(callback) {
|
// Start the daemon!
|
||||||
console.log('NodeBB v' + pkg.version + ' Copyright (C) 2013-2014 NodeBB Inc.');
|
if (nconf.get('d')) {
|
||||||
console.log('This program comes with ABSOLUTELY NO WARRANTY.');
|
// Check for a still-active NodeBB process
|
||||||
console.log('This is free software, and you are welcome to redistribute it under certain conditions.');
|
|
||||||
console.log('For the full license, please visit: http://www.gnu.org/copyleft/gpl.html');
|
|
||||||
console.log('');
|
|
||||||
callback();
|
|
||||||
};
|
|
||||||
|
|
||||||
Loader.addClusterEvents = function(callback) {
|
|
||||||
cluster.on('fork', function(worker) {
|
|
||||||
worker.on('message', function(message) {
|
|
||||||
if (message && typeof message === 'object' && message.action) {
|
|
||||||
var otherWorkers;
|
|
||||||
|
|
||||||
switch (message.action) {
|
|
||||||
case 'ready':
|
|
||||||
if (Loader.js.cache) {
|
|
||||||
worker.send({
|
|
||||||
action: 'js-propagate',
|
|
||||||
cache: Loader.js.cache,
|
|
||||||
map: Loader.js.map
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
if (Loader.css.cache) {
|
|
||||||
worker.send({
|
|
||||||
action: 'css-propagate',
|
|
||||||
cache: Loader.css.cache,
|
|
||||||
acpCache: Loader.css.acpCache
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
// Kill an instance in the shutdown queue
|
|
||||||
var workerToKill = Loader.shutdown_queue.pop();
|
|
||||||
if (workerToKill) {
|
|
||||||
cluster.workers[workerToKill].kill();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 'restart':
|
|
||||||
console.log('[cluster] Restarting...');
|
|
||||||
Loader.restart(function(err) {
|
|
||||||
console.log('[cluster] Restarting...');
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
case 'reload':
|
|
||||||
console.log('[cluster] Reloading...');
|
|
||||||
Loader.reload();
|
|
||||||
break;
|
|
||||||
case 'js-propagate':
|
|
||||||
Loader.js.cache = message.cache;
|
|
||||||
Loader.js.map = message.map;
|
|
||||||
|
|
||||||
otherWorkers = Object.keys(cluster.workers).filter(function(worker_id) {
|
|
||||||
return parseInt(worker_id, 10) !== parseInt(worker.id, 10);
|
|
||||||
});
|
|
||||||
|
|
||||||
otherWorkers.forEach(function(worker_id) {
|
|
||||||
cluster.workers[worker_id].send({
|
|
||||||
action: 'js-propagate',
|
|
||||||
cache: message.cache,
|
|
||||||
map: message.map
|
|
||||||
});
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
case 'css-propagate':
|
|
||||||
Loader.css.cache = message.cache;
|
|
||||||
Loader.css.acpCache = message.acpCache;
|
|
||||||
|
|
||||||
otherWorkers = Object.keys(cluster.workers).filter(function(worker_id) {
|
|
||||||
return parseInt(worker_id, 10) !== parseInt(worker.id, 10);
|
|
||||||
});
|
|
||||||
|
|
||||||
otherWorkers.forEach(function(worker_id) {
|
|
||||||
cluster.workers[worker_id].send({
|
|
||||||
action: 'css-propagate',
|
|
||||||
cache: message.cache,
|
|
||||||
acpCache: message.acpCache
|
|
||||||
});
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
case 'listening':
|
|
||||||
if (message.primary) {
|
|
||||||
Loader.primaryWorker = parseInt(worker.id, 10);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 'user:connect':
|
|
||||||
case 'user:disconnect':
|
|
||||||
case 'config:update':
|
|
||||||
Loader.notifyWorkers(message);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
cluster.on('listening', function(worker) {
|
|
||||||
console.log('[cluster] Child Process (' + worker.process.pid + ') listening for connections.');
|
|
||||||
});
|
|
||||||
|
|
||||||
cluster.on('exit', function(worker, code, signal) {
|
|
||||||
if (code !== 0) {
|
|
||||||
if (Loader.timesStarted < numProcs*3) {
|
|
||||||
Loader.timesStarted++;
|
|
||||||
if (Loader.crashTimer) {
|
|
||||||
clearTimeout(Loader.crashTimer);
|
|
||||||
}
|
|
||||||
Loader.crashTimer = setTimeout(function() {
|
|
||||||
Loader.timesStarted = 0;
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
console.log(numProcs*3 + ' restarts in 10 seconds, most likely an error on startup. Halting.');
|
|
||||||
process.exit();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
console.log('[cluster] Child Process (' + worker.process.pid + ') has exited (code: ' + code + ')');
|
|
||||||
if (!worker.suicide) {
|
|
||||||
console.log('[cluster] Spinning up another process...');
|
|
||||||
|
|
||||||
var wasPrimary = parseInt(worker.id, 10) === Loader.primaryWorker;
|
|
||||||
cluster.fork({
|
|
||||||
handle_jobs: wasPrimary
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
callback();
|
|
||||||
}
|
|
||||||
|
|
||||||
Loader.start = function(callback) {
|
|
||||||
var output = logrotate({ file: __dirname + '/logs/output.log', size: '1m', keep: 3, compress: true }),
|
|
||||||
worker;
|
|
||||||
|
|
||||||
console.log('Clustering enabled: Spinning up ' + numProcs + ' process(es).\n');
|
|
||||||
|
|
||||||
for(var x=0;x<numProcs;x++) {
|
|
||||||
// Only the first worker sets up templates/sounds/jobs/etc
|
|
||||||
worker = cluster.fork({
|
|
||||||
cluster_setup: x === 0,
|
|
||||||
handle_jobs: x === 0
|
|
||||||
});
|
|
||||||
|
|
||||||
// Logging
|
|
||||||
if (silent) {
|
|
||||||
worker.process.stdout.pipe(output);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (callback) callback();
|
|
||||||
};
|
|
||||||
|
|
||||||
Loader.restart = function(callback) {
|
|
||||||
// Slate existing workers for termination -- welcome to death row.
|
|
||||||
Loader.shutdown_queue = Loader.shutdown_queue.concat(Object.keys(cluster.workers));
|
|
||||||
Loader.start();
|
|
||||||
};
|
|
||||||
|
|
||||||
Loader.reload = function() {
|
|
||||||
Object.keys(cluster.workers).forEach(function(worker_id) {
|
|
||||||
cluster.workers[worker_id].send({
|
|
||||||
action: 'reload'
|
|
||||||
});
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
Loader.notifyWorkers = function (msg) {
|
|
||||||
Object.keys(cluster.workers).forEach(function(id) {
|
|
||||||
cluster.workers[id].send(msg);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
nconf.argv().file({
|
|
||||||
file: path.join(__dirname, '/config.json')
|
|
||||||
});
|
|
||||||
|
|
||||||
numProcs = nconf.get('cluster') || 1;
|
|
||||||
numProcs = (numProcs === true) ? require('os').cpus().length : numProcs;
|
|
||||||
|
|
||||||
if (nconf.get('daemon') !== false) {
|
|
||||||
if (fs.existsSync(pidFilePath)) {
|
if (fs.existsSync(pidFilePath)) {
|
||||||
try {
|
try {
|
||||||
var pid = fs.readFileSync(pidFilePath, { encoding: 'utf-8' });
|
var pid = fs.readFileSync(pidFilePath, { encoding: 'utf-8' });
|
||||||
process.kill(pid, 0);
|
process.kill(pid, 0);
|
||||||
|
console.log('\n Error: Another NodeBB is already running!');
|
||||||
process.exit();
|
process.exit();
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
fs.unlinkSync(pidFilePath);
|
fs.unlinkSync(pidFilePath);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
require('daemon')();
|
// Initialise logging streams
|
||||||
|
var outputStream = fs.createWriteStream(__dirname + '/logs/output.log');
|
||||||
|
outputStream.on('open', function(fd) {
|
||||||
|
// Daemonize
|
||||||
|
require('daemon')({
|
||||||
|
stdout: fd
|
||||||
|
});
|
||||||
|
|
||||||
|
// Write its pid to a pidfile
|
||||||
fs.writeFile(__dirname + '/pidfile', process.pid);
|
fs.writeFile(__dirname + '/pidfile', process.pid);
|
||||||
}
|
|
||||||
|
|
||||||
async.series([
|
start();
|
||||||
Loader.init,
|
});
|
||||||
Loader.displayStartupMessages,
|
} else {
|
||||||
Loader.addClusterEvents,
|
start();
|
||||||
Loader.start
|
}
|
||||||
], function(err) {
|
|
||||||
if (err) {
|
|
||||||
console.log('[loader] Error during startup: ' + err.message);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
68
minifier.js
68
minifier.js
@@ -1,68 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
var uglifyjs = require('uglify-js'),
|
|
||||||
less = require('less'),
|
|
||||||
async = require('async'),
|
|
||||||
fs = require('fs'),
|
|
||||||
path = require('path'),
|
|
||||||
crypto = require('crypto'),
|
|
||||||
|
|
||||||
Minifier = {
|
|
||||||
js: {}
|
|
||||||
};
|
|
||||||
|
|
||||||
/* Javascript */
|
|
||||||
Minifier.js.minify = function (scripts, relativePath, minify, callback) {
|
|
||||||
var options = {
|
|
||||||
compress: false
|
|
||||||
};
|
|
||||||
|
|
||||||
scripts = scripts.filter(function(file) {
|
|
||||||
return fs.existsSync(file);
|
|
||||||
});
|
|
||||||
|
|
||||||
if (!minify) {
|
|
||||||
options.sourceMapURL = '/nodebb.min.js.map';
|
|
||||||
options.outSourceMap = 'nodebb.min.js.map';
|
|
||||||
options.sourceRoot = relativePath;
|
|
||||||
options.mangle = false;
|
|
||||||
options.prefix = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
var minified = uglifyjs.minify(scripts, options),
|
|
||||||
hasher = crypto.createHash('md5'),
|
|
||||||
hash;
|
|
||||||
|
|
||||||
// Calculate js hash
|
|
||||||
hasher.update(minified.code, 'utf-8');
|
|
||||||
hash = hasher.digest('hex');
|
|
||||||
process.send({
|
|
||||||
type: 'hash',
|
|
||||||
payload: hash.slice(0, 8)
|
|
||||||
});
|
|
||||||
|
|
||||||
callback({
|
|
||||||
js: minified.code,
|
|
||||||
map: minified.map
|
|
||||||
});
|
|
||||||
} catch(err) {
|
|
||||||
process.send({
|
|
||||||
type: 'error',
|
|
||||||
payload: err
|
|
||||||
});
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
process.on('message', function(payload) {
|
|
||||||
switch(payload.action) {
|
|
||||||
case 'js':
|
|
||||||
Minifier.js.minify(payload.scripts, payload.relativePath, payload.minify, function(data) {
|
|
||||||
process.send({
|
|
||||||
type: 'end',
|
|
||||||
data: data
|
|
||||||
});
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
@@ -5,22 +5,15 @@
|
|||||||
|
|
||||||
(function(module) {
|
(function(module) {
|
||||||
'use strict';
|
'use strict';
|
||||||
/*global before*/
|
|
||||||
|
|
||||||
var utils = require('./../../public/src/utils.js'),
|
var utils = require('./../public/src/utils.js'),
|
||||||
path = require('path'),
|
path = require('path'),
|
||||||
nconf = require('nconf'),
|
nconf = require('nconf'),
|
||||||
winston = require('winston'),
|
winston = require('winston'),
|
||||||
errorText;
|
errorText;
|
||||||
|
|
||||||
|
|
||||||
nconf.file({ file: path.join(__dirname, '../../config.json') });
|
nconf.file({ file: path.join(__dirname, '../config.json') });
|
||||||
nconf.defaults({
|
|
||||||
base_dir: path.join(__dirname,'../..'),
|
|
||||||
themes_path: path.join(__dirname, '../../node_modules'),
|
|
||||||
upload_url: path.join(path.sep, '../../uploads', path.sep),
|
|
||||||
views_dir: path.join(__dirname, '../../public/templates')
|
|
||||||
});
|
|
||||||
|
|
||||||
var dbType = nconf.get('database'),
|
var dbType = nconf.get('database'),
|
||||||
testDbConfig = nconf.get('test_database'),
|
testDbConfig = nconf.get('test_database'),
|
||||||
@@ -45,10 +38,6 @@
|
|||||||
' "password": "",' + '\n' +
|
' "password": "",' + '\n' +
|
||||||
' "database": "1"' + '\n' +
|
' "database": "1"' + '\n' +
|
||||||
'}\n'+
|
'}\n'+
|
||||||
" or (level):\n" +
|
|
||||||
'"test_database": {' + '\n' +
|
|
||||||
' "database": "/path/to/database"' + '\n' +
|
|
||||||
'}\n'+
|
|
||||||
"==========================================================="
|
"==========================================================="
|
||||||
);
|
);
|
||||||
winston.error(errorText);
|
winston.error(errorText);
|
||||||
@@ -66,10 +55,11 @@
|
|||||||
|
|
||||||
nconf.set(dbType, testDbConfig);
|
nconf.set(dbType, testDbConfig);
|
||||||
|
|
||||||
var db = require('../../src/database'),
|
var db = require('../src/database'),
|
||||||
meta = require('../../src/meta');
|
meta = require('../src/meta');
|
||||||
|
|
||||||
before(function(done) {
|
before(function(done) {
|
||||||
|
|
||||||
db.init(function(err) {
|
db.init(function(err) {
|
||||||
//Clean up
|
//Clean up
|
||||||
db.flushdb(function(err) {
|
db.flushdb(function(err) {
|
||||||
@@ -81,13 +71,9 @@
|
|||||||
winston.info('test_database flushed');
|
winston.info('test_database flushed');
|
||||||
|
|
||||||
meta.configs.init(function () {
|
meta.configs.init(function () {
|
||||||
nconf.set('url', nconf.get('base_url') + (nconf.get('use_port') ? ':' + nconf.get('port') : '') + nconf.get('relative_path'));
|
|
||||||
nconf.set('core_templates_path', path.join(__dirname, '../../src/views'));
|
|
||||||
nconf.set('base_templates_path', path.join(nconf.get('themes_path'), 'nodebb-theme-vanilla/templates'));
|
|
||||||
nconf.set('theme_templates_path', meta.config['theme:templates'] ? path.join(nconf.get('themes_path'), meta.config['theme:id'], meta.config['theme:templates']) : nconf.get('base_templates_path'));
|
|
||||||
|
|
||||||
var webserver = require('../../src/webserver'),
|
var webserver = require('../src/webserver'),
|
||||||
sockets = require('../../src/socket.io');
|
sockets = require('../src/socket.io');
|
||||||
sockets.init(webserver.server);
|
sockets.init(webserver.server);
|
||||||
|
|
||||||
done();
|
done();
|
||||||
43
nodebb
43
nodebb
@@ -4,11 +4,6 @@
|
|||||||
# $1 action
|
# $1 action
|
||||||
# $2 subaction
|
# $2 subaction
|
||||||
|
|
||||||
node="$(which nodejs 2>/dev/null)";
|
|
||||||
if [ $? -gt 0 ];
|
|
||||||
then node="$(which node)";
|
|
||||||
fi
|
|
||||||
|
|
||||||
function pidExists() {
|
function pidExists() {
|
||||||
if [ -e "pidfile" ];
|
if [ -e "pidfile" ];
|
||||||
then
|
then
|
||||||
@@ -27,31 +22,18 @@ case "$1" in
|
|||||||
echo "Starting NodeBB";
|
echo "Starting NodeBB";
|
||||||
echo " \"./nodebb stop\" to stop the NodeBB server";
|
echo " \"./nodebb stop\" to stop the NodeBB server";
|
||||||
echo " \"./nodebb log\" to view server output";
|
echo " \"./nodebb log\" to view server output";
|
||||||
|
echo "" > ./logs/output.log;
|
||||||
# Start the loader daemon
|
node loader -d "$@"
|
||||||
"$node" loader -d "$@"
|
|
||||||
;;
|
;;
|
||||||
|
|
||||||
stop)
|
stop)
|
||||||
pidExists;
|
|
||||||
if [ 0 -eq $? ];
|
|
||||||
then
|
|
||||||
echo "NodeBB is already stopped.";
|
|
||||||
else
|
|
||||||
echo "Stopping NodeBB. Goodbye!";
|
echo "Stopping NodeBB. Goodbye!";
|
||||||
kill $(cat pidfile);
|
kill $(cat pidfile);
|
||||||
fi
|
|
||||||
;;
|
;;
|
||||||
|
|
||||||
reload|restart)
|
reload|restart)
|
||||||
pidExists;
|
|
||||||
if [ 0 -eq $? ];
|
|
||||||
then
|
|
||||||
echo "NodeBB could not be restarted, as a running instance could not be found.";
|
|
||||||
else
|
|
||||||
echo "Restarting NodeBB.";
|
echo "Restarting NodeBB.";
|
||||||
kill -1 $(cat pidfile);
|
kill -1 $(cat pidfile);
|
||||||
fi
|
|
||||||
;;
|
;;
|
||||||
|
|
||||||
status)
|
status)
|
||||||
@@ -60,11 +42,13 @@ case "$1" in
|
|||||||
then
|
then
|
||||||
echo "NodeBB is not running";
|
echo "NodeBB is not running";
|
||||||
echo " \"./nodebb start\" to launch the NodeBB server";
|
echo " \"./nodebb start\" to launch the NodeBB server";
|
||||||
|
return 1;
|
||||||
else
|
else
|
||||||
echo "NodeBB Running (pid $(cat pidfile))";
|
echo "NodeBB Running (pid $(cat pidfile))";
|
||||||
echo " \"./nodebb stop\" to stop the NodeBB server";
|
echo " \"./nodebb stop\" to stop the NodeBB server";
|
||||||
echo " \"./nodebb log\" to view server output";
|
echo " \"./nodebb log\" to view server output";
|
||||||
echo " \"./nodebb restart\" to restart NodeBB";
|
echo " \"./nodebb restart\" to restart NodeBB";
|
||||||
|
return 0;
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
||||||
@@ -75,34 +59,33 @@ case "$1" in
|
|||||||
|
|
||||||
upgrade)
|
upgrade)
|
||||||
npm install
|
npm install
|
||||||
# ls -d node_modules/nodebb* | xargs -n1 basename | xargs npm install
|
ls -d node_modules/nodebb* | xargs -n1 basename | xargs npm install
|
||||||
# ls -d node_modules/nodebb* | xargs -n1 basename | xargs npm update
|
ls -d node_modules/nodebb* | xargs -n1 basename | xargs npm update
|
||||||
npm i nodebb-theme-vanilla nodebb-theme-lavender nodebb-widget-essentials
|
node loader --upgrade
|
||||||
"$node" app --upgrade
|
|
||||||
touch package.json
|
touch package.json
|
||||||
echo -e "\n\e[00;32mNodeBB Dependencies up-to-date!\e[00;00m";
|
echo -e "\n\e[00;32mNodeBB Dependencies up-to-date!\e[00;00m";
|
||||||
;;
|
;;
|
||||||
|
|
||||||
setup)
|
setup)
|
||||||
"$node" app --setup "$@"
|
node loader --setup "$@"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
reset)
|
reset)
|
||||||
"$node" app --reset --$2
|
node loader --reset
|
||||||
;;
|
;;
|
||||||
|
|
||||||
dev)
|
dev)
|
||||||
echo "Launching NodeBB in \"development\" mode."
|
echo "Launching NodeBB in \"development\" mode."
|
||||||
echo "To run the production build of NodeBB, please use \"forever\"."
|
echo "To run the production build of NodeBB, please use \"forever\"."
|
||||||
echo "More Information: https://docs.nodebb.org/en/latest/running/index.html"
|
echo "More Information: https://github.com/designcreateplay/NodeBB/wiki/How-to-run-NodeBB"
|
||||||
NODE_ENV=development "$node" loader --no-daemon "$@"
|
NODE_ENV=development node loader "$@"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
watch)
|
watch)
|
||||||
echo "Launching NodeBB in \"development\" mode."
|
echo "Launching NodeBB in \"development\" mode."
|
||||||
echo "To run the production build of NodeBB, please use \"forever\"."
|
echo "To run the production build of NodeBB, please use \"forever\"."
|
||||||
echo "More Information: https://docs.nodebb.org/en/latest/running/index.html"
|
echo "More Information: https://github.com/designcreateplay/NodeBB/wiki/How-to-run-NodeBB"
|
||||||
NODE_ENV=development supervisor -q --ignore public/templates,public/nodebb.min.js,public/nodebb.min.js.map --extensions 'node|js|tpl|less' -- app "$@"
|
NODE_ENV=development supervisor -q --ignore public/templates --extensions 'node|js|tpl' -- app "$@"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
*)
|
*)
|
||||||
|
|||||||
950
npm-shrinkwrap.json
generated
Normal file
950
npm-shrinkwrap.json
generated
Normal file
@@ -0,0 +1,950 @@
|
|||||||
|
{
|
||||||
|
"name": "nodebb",
|
||||||
|
"version": "0.4.0",
|
||||||
|
"dependencies": {
|
||||||
|
"async": {
|
||||||
|
"version": "0.2.10",
|
||||||
|
"from": "async@~0.2.8"
|
||||||
|
},
|
||||||
|
"bcryptjs": {
|
||||||
|
"version": "0.7.12",
|
||||||
|
"from": "bcryptjs@~0.7.10"
|
||||||
|
},
|
||||||
|
"connect-mongo": {
|
||||||
|
"version": "0.4.0",
|
||||||
|
"from": "connect-mongo@0.4.0"
|
||||||
|
},
|
||||||
|
"connect-redis": {
|
||||||
|
"version": "1.4.5",
|
||||||
|
"from": "connect-redis@1.4.5",
|
||||||
|
"dependencies": {
|
||||||
|
"redis": {
|
||||||
|
"version": "0.7.3",
|
||||||
|
"from": "redis@0.7.x"
|
||||||
|
},
|
||||||
|
"debug": {
|
||||||
|
"version": "0.8.0",
|
||||||
|
"from": "debug@*"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"cron": {
|
||||||
|
"version": "1.0.4",
|
||||||
|
"from": "cron@~1.0.4"
|
||||||
|
},
|
||||||
|
"daemon": {
|
||||||
|
"version": "1.1.0",
|
||||||
|
"from": "daemon@~1.1.0"
|
||||||
|
},
|
||||||
|
"express": {
|
||||||
|
"version": "3.2.0",
|
||||||
|
"from": "express@3.2.0",
|
||||||
|
"dependencies": {
|
||||||
|
"connect": {
|
||||||
|
"version": "2.7.6",
|
||||||
|
"from": "connect@2.7.6",
|
||||||
|
"dependencies": {
|
||||||
|
"qs": {
|
||||||
|
"version": "0.5.1",
|
||||||
|
"from": "qs@0.5.1"
|
||||||
|
},
|
||||||
|
"formidable": {
|
||||||
|
"version": "1.0.11",
|
||||||
|
"from": "formidable@1.0.11"
|
||||||
|
},
|
||||||
|
"buffer-crc32": {
|
||||||
|
"version": "0.1.1",
|
||||||
|
"from": "buffer-crc32@0.1.1"
|
||||||
|
},
|
||||||
|
"bytes": {
|
||||||
|
"version": "0.2.0",
|
||||||
|
"from": "bytes@0.2.0"
|
||||||
|
},
|
||||||
|
"pause": {
|
||||||
|
"version": "0.0.1",
|
||||||
|
"from": "pause@0.0.1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"commander": {
|
||||||
|
"version": "0.6.1",
|
||||||
|
"from": "commander@0.6.1"
|
||||||
|
},
|
||||||
|
"range-parser": {
|
||||||
|
"version": "0.0.4",
|
||||||
|
"from": "range-parser@0.0.4"
|
||||||
|
},
|
||||||
|
"cookie": {
|
||||||
|
"version": "0.0.5",
|
||||||
|
"from": "cookie@0.0.5"
|
||||||
|
},
|
||||||
|
"buffer-crc32": {
|
||||||
|
"version": "0.2.1",
|
||||||
|
"from": "buffer-crc32@~0.2.1"
|
||||||
|
},
|
||||||
|
"fresh": {
|
||||||
|
"version": "0.1.0",
|
||||||
|
"from": "fresh@0.1.0"
|
||||||
|
},
|
||||||
|
"methods": {
|
||||||
|
"version": "0.0.1",
|
||||||
|
"from": "methods@0.0.1"
|
||||||
|
},
|
||||||
|
"send": {
|
||||||
|
"version": "0.1.0",
|
||||||
|
"from": "send@0.1.0",
|
||||||
|
"dependencies": {
|
||||||
|
"mime": {
|
||||||
|
"version": "1.2.6",
|
||||||
|
"from": "mime@1.2.6"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"cookie-signature": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"from": "cookie-signature@1.0.1"
|
||||||
|
},
|
||||||
|
"debug": {
|
||||||
|
"version": "0.8.0",
|
||||||
|
"from": "debug@*"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"express-namespace": {
|
||||||
|
"version": "0.1.1",
|
||||||
|
"from": "express-namespace@~0.1.1",
|
||||||
|
"dependencies": {
|
||||||
|
"methods": {
|
||||||
|
"version": "0.0.1",
|
||||||
|
"from": "methods@0.0.1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"gm": {
|
||||||
|
"version": "1.14.2",
|
||||||
|
"from": "gm@1.14.2",
|
||||||
|
"dependencies": {
|
||||||
|
"debug": {
|
||||||
|
"version": "0.7.0",
|
||||||
|
"from": "debug@0.7.0"
|
||||||
|
},
|
||||||
|
"array-series": {
|
||||||
|
"version": "0.1.5",
|
||||||
|
"from": "array-series@~0.1.0"
|
||||||
|
},
|
||||||
|
"array-parallel": {
|
||||||
|
"version": "0.1.3",
|
||||||
|
"from": "array-parallel@~0.1.0"
|
||||||
|
},
|
||||||
|
"stream-to-buffer": {
|
||||||
|
"version": "0.0.1",
|
||||||
|
"from": "stream-to-buffer@~0.0.1"
|
||||||
|
},
|
||||||
|
"through": {
|
||||||
|
"version": "2.3.4",
|
||||||
|
"from": "through@~2.3.1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"gravatar": {
|
||||||
|
"version": "1.0.6",
|
||||||
|
"from": "gravatar@1.0.6"
|
||||||
|
},
|
||||||
|
"hiredis": {
|
||||||
|
"version": "0.1.16",
|
||||||
|
"from": "hiredis@~0.1.15",
|
||||||
|
"dependencies": {
|
||||||
|
"bindings": {
|
||||||
|
"version": "1.1.1",
|
||||||
|
"from": "bindings@*"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"less": {
|
||||||
|
"version": "1.6.3",
|
||||||
|
"from": "less@~1.6.3",
|
||||||
|
"dependencies": {
|
||||||
|
"mime": {
|
||||||
|
"version": "1.2.11",
|
||||||
|
"from": "mime@1.2.x"
|
||||||
|
},
|
||||||
|
"request": {
|
||||||
|
"version": "2.34.0",
|
||||||
|
"from": "request@>=2.12.0",
|
||||||
|
"dependencies": {
|
||||||
|
"qs": {
|
||||||
|
"version": "0.6.6",
|
||||||
|
"from": "qs@~0.6.0"
|
||||||
|
},
|
||||||
|
"json-stringify-safe": {
|
||||||
|
"version": "5.0.0",
|
||||||
|
"from": "json-stringify-safe@~5.0.0"
|
||||||
|
},
|
||||||
|
"forever-agent": {
|
||||||
|
"version": "0.5.2",
|
||||||
|
"from": "forever-agent@~0.5.0"
|
||||||
|
},
|
||||||
|
"node-uuid": {
|
||||||
|
"version": "1.4.1",
|
||||||
|
"from": "node-uuid@~1.4.0"
|
||||||
|
},
|
||||||
|
"tough-cookie": {
|
||||||
|
"version": "0.12.1",
|
||||||
|
"from": "tough-cookie@>=0.12.0",
|
||||||
|
"dependencies": {
|
||||||
|
"punycode": {
|
||||||
|
"version": "1.2.4",
|
||||||
|
"from": "punycode@>=0.2.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"form-data": {
|
||||||
|
"version": "0.1.2",
|
||||||
|
"from": "form-data@~0.1.0",
|
||||||
|
"dependencies": {
|
||||||
|
"combined-stream": {
|
||||||
|
"version": "0.0.4",
|
||||||
|
"from": "combined-stream@~0.0.4",
|
||||||
|
"dependencies": {
|
||||||
|
"delayed-stream": {
|
||||||
|
"version": "0.0.5",
|
||||||
|
"from": "delayed-stream@0.0.5"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tunnel-agent": {
|
||||||
|
"version": "0.3.0",
|
||||||
|
"from": "tunnel-agent@~0.3.0"
|
||||||
|
},
|
||||||
|
"http-signature": {
|
||||||
|
"version": "0.10.0",
|
||||||
|
"from": "http-signature@~0.10.0",
|
||||||
|
"dependencies": {
|
||||||
|
"assert-plus": {
|
||||||
|
"version": "0.1.2",
|
||||||
|
"from": "assert-plus@0.1.2"
|
||||||
|
},
|
||||||
|
"asn1": {
|
||||||
|
"version": "0.1.11",
|
||||||
|
"from": "asn1@0.1.11"
|
||||||
|
},
|
||||||
|
"ctype": {
|
||||||
|
"version": "0.5.2",
|
||||||
|
"from": "ctype@0.5.2"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"oauth-sign": {
|
||||||
|
"version": "0.3.0",
|
||||||
|
"from": "oauth-sign@~0.3.0"
|
||||||
|
},
|
||||||
|
"hawk": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"from": "hawk@~1.0.0",
|
||||||
|
"dependencies": {
|
||||||
|
"hoek": {
|
||||||
|
"version": "0.9.1",
|
||||||
|
"from": "hoek@0.9.x"
|
||||||
|
},
|
||||||
|
"boom": {
|
||||||
|
"version": "0.4.2",
|
||||||
|
"from": "boom@0.4.x"
|
||||||
|
},
|
||||||
|
"cryptiles": {
|
||||||
|
"version": "0.2.2",
|
||||||
|
"from": "cryptiles@0.2.x"
|
||||||
|
},
|
||||||
|
"sntp": {
|
||||||
|
"version": "0.2.4",
|
||||||
|
"from": "sntp@0.2.x"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"aws-sign2": {
|
||||||
|
"version": "0.5.0",
|
||||||
|
"from": "aws-sign2@~0.5.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"clean-css": {
|
||||||
|
"version": "2.0.8",
|
||||||
|
"from": "clean-css@2.0.x",
|
||||||
|
"dependencies": {
|
||||||
|
"commander": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"from": "commander@2.0.x"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"source-map": {
|
||||||
|
"version": "0.1.33",
|
||||||
|
"from": "source-map@0.1.x",
|
||||||
|
"dependencies": {
|
||||||
|
"amdefine": {
|
||||||
|
"version": "0.1.0",
|
||||||
|
"from": "amdefine@>=0.0.4"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"less-middleware": {
|
||||||
|
"version": "0.1.12",
|
||||||
|
"from": "less-middleware@0.1.12",
|
||||||
|
"dependencies": {
|
||||||
|
"less": {
|
||||||
|
"version": "1.4.2",
|
||||||
|
"from": "less@~1.4",
|
||||||
|
"dependencies": {
|
||||||
|
"mime": {
|
||||||
|
"version": "1.2.11",
|
||||||
|
"from": "mime@1.2.x"
|
||||||
|
},
|
||||||
|
"request": {
|
||||||
|
"version": "2.34.0",
|
||||||
|
"from": "request@>=2.12.0",
|
||||||
|
"dependencies": {
|
||||||
|
"qs": {
|
||||||
|
"version": "0.6.6",
|
||||||
|
"from": "qs@~0.6.0"
|
||||||
|
},
|
||||||
|
"json-stringify-safe": {
|
||||||
|
"version": "5.0.0",
|
||||||
|
"from": "json-stringify-safe@~5.0.0"
|
||||||
|
},
|
||||||
|
"forever-agent": {
|
||||||
|
"version": "0.5.2",
|
||||||
|
"from": "forever-agent@~0.5.0"
|
||||||
|
},
|
||||||
|
"node-uuid": {
|
||||||
|
"version": "1.4.1",
|
||||||
|
"from": "node-uuid@~1.4.0"
|
||||||
|
},
|
||||||
|
"tough-cookie": {
|
||||||
|
"version": "0.12.1",
|
||||||
|
"from": "tough-cookie@>=0.12.0",
|
||||||
|
"dependencies": {
|
||||||
|
"punycode": {
|
||||||
|
"version": "1.2.4",
|
||||||
|
"from": "punycode@>=0.2.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"form-data": {
|
||||||
|
"version": "0.1.2",
|
||||||
|
"from": "form-data@~0.1.0",
|
||||||
|
"dependencies": {
|
||||||
|
"combined-stream": {
|
||||||
|
"version": "0.0.4",
|
||||||
|
"from": "combined-stream@~0.0.4",
|
||||||
|
"dependencies": {
|
||||||
|
"delayed-stream": {
|
||||||
|
"version": "0.0.5",
|
||||||
|
"from": "delayed-stream@0.0.5"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tunnel-agent": {
|
||||||
|
"version": "0.3.0",
|
||||||
|
"from": "tunnel-agent@~0.3.0"
|
||||||
|
},
|
||||||
|
"http-signature": {
|
||||||
|
"version": "0.10.0",
|
||||||
|
"from": "http-signature@~0.10.0",
|
||||||
|
"dependencies": {
|
||||||
|
"assert-plus": {
|
||||||
|
"version": "0.1.2",
|
||||||
|
"from": "assert-plus@0.1.2"
|
||||||
|
},
|
||||||
|
"asn1": {
|
||||||
|
"version": "0.1.11",
|
||||||
|
"from": "asn1@0.1.11"
|
||||||
|
},
|
||||||
|
"ctype": {
|
||||||
|
"version": "0.5.2",
|
||||||
|
"from": "ctype@0.5.2"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"oauth-sign": {
|
||||||
|
"version": "0.3.0",
|
||||||
|
"from": "oauth-sign@~0.3.0"
|
||||||
|
},
|
||||||
|
"hawk": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"from": "hawk@~1.0.0",
|
||||||
|
"dependencies": {
|
||||||
|
"hoek": {
|
||||||
|
"version": "0.9.1",
|
||||||
|
"from": "hoek@0.9.x"
|
||||||
|
},
|
||||||
|
"boom": {
|
||||||
|
"version": "0.4.2",
|
||||||
|
"from": "boom@0.4.x"
|
||||||
|
},
|
||||||
|
"cryptiles": {
|
||||||
|
"version": "0.2.2",
|
||||||
|
"from": "cryptiles@0.2.x"
|
||||||
|
},
|
||||||
|
"sntp": {
|
||||||
|
"version": "0.2.4",
|
||||||
|
"from": "sntp@0.2.x"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"aws-sign2": {
|
||||||
|
"version": "0.5.0",
|
||||||
|
"from": "aws-sign2@~0.5.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ycssmin": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"from": "ycssmin@>=1.0.1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"marked": {
|
||||||
|
"version": "0.2.8",
|
||||||
|
"from": "marked@0.2.8"
|
||||||
|
},
|
||||||
|
"mkdirp": {
|
||||||
|
"version": "0.3.5",
|
||||||
|
"from": "mkdirp@~0.3.5"
|
||||||
|
},
|
||||||
|
"mongodb": {
|
||||||
|
"version": "1.3.23",
|
||||||
|
"from": "mongodb@~1.3.19",
|
||||||
|
"dependencies": {
|
||||||
|
"bson": {
|
||||||
|
"version": "0.2.5",
|
||||||
|
"from": "bson@0.2.5"
|
||||||
|
},
|
||||||
|
"kerberos": {
|
||||||
|
"version": "0.0.3",
|
||||||
|
"from": "kerberos@0.0.3"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nconf": {
|
||||||
|
"version": "0.6.9",
|
||||||
|
"from": "nconf@~0.6.7",
|
||||||
|
"dependencies": {
|
||||||
|
"async": {
|
||||||
|
"version": "0.2.9",
|
||||||
|
"from": "async@0.2.9"
|
||||||
|
},
|
||||||
|
"ini": {
|
||||||
|
"version": "1.1.0",
|
||||||
|
"from": "ini@1.x.x"
|
||||||
|
},
|
||||||
|
"optimist": {
|
||||||
|
"version": "0.6.0",
|
||||||
|
"from": "optimist@0.6.0",
|
||||||
|
"dependencies": {
|
||||||
|
"wordwrap": {
|
||||||
|
"version": "0.0.2",
|
||||||
|
"from": "wordwrap@~0.0.2"
|
||||||
|
},
|
||||||
|
"minimist": {
|
||||||
|
"version": "0.0.8",
|
||||||
|
"from": "minimist@~0.0.1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nodebb-plugin-markdown": {
|
||||||
|
"version": "0.4.1",
|
||||||
|
"from": "nodebb-plugin-markdown@~0.4.1",
|
||||||
|
"dependencies": {
|
||||||
|
"marked": {
|
||||||
|
"version": "0.2.10",
|
||||||
|
"from": "marked@~0.2.9"
|
||||||
|
},
|
||||||
|
"pygmentize-bundled": {
|
||||||
|
"version": "2.1.0",
|
||||||
|
"from": "pygmentize-bundled@~2.1.0",
|
||||||
|
"dependencies": {
|
||||||
|
"readable-stream": {
|
||||||
|
"version": "1.0.26-4",
|
||||||
|
"from": "readable-stream@~1.0.17",
|
||||||
|
"dependencies": {
|
||||||
|
"core-util-is": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"from": "core-util-is@~1.0.0"
|
||||||
|
},
|
||||||
|
"isarray": {
|
||||||
|
"version": "0.0.1",
|
||||||
|
"from": "isarray@0.0.1"
|
||||||
|
},
|
||||||
|
"string_decoder": {
|
||||||
|
"version": "0.10.25-1",
|
||||||
|
"from": "string_decoder@~0.10.x"
|
||||||
|
},
|
||||||
|
"inherits": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"from": "inherits@^2.0.1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"bl": {
|
||||||
|
"version": "0.4.2",
|
||||||
|
"from": "bl@~0.4.1"
|
||||||
|
},
|
||||||
|
"through2": {
|
||||||
|
"version": "0.2.3",
|
||||||
|
"from": "through2@~0.2.1",
|
||||||
|
"dependencies": {
|
||||||
|
"readable-stream": {
|
||||||
|
"version": "1.1.12",
|
||||||
|
"from": "readable-stream@~1.1.9",
|
||||||
|
"dependencies": {
|
||||||
|
"core-util-is": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"from": "core-util-is@~1.0.0"
|
||||||
|
},
|
||||||
|
"isarray": {
|
||||||
|
"version": "0.0.1",
|
||||||
|
"from": "isarray@0.0.1"
|
||||||
|
},
|
||||||
|
"string_decoder": {
|
||||||
|
"version": "0.10.25-1",
|
||||||
|
"from": "string_decoder@~0.10.x"
|
||||||
|
},
|
||||||
|
"inherits": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"from": "inherits@^2.0.1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"xtend": {
|
||||||
|
"version": "2.1.2",
|
||||||
|
"from": "xtend@~2.1.1",
|
||||||
|
"dependencies": {
|
||||||
|
"object-keys": {
|
||||||
|
"version": "0.4.0",
|
||||||
|
"from": "object-keys@~0.4.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nodebb-plugin-mentions": {
|
||||||
|
"version": "0.4.1-1",
|
||||||
|
"from": "nodebb-plugin-mentions@~0.4.0"
|
||||||
|
},
|
||||||
|
"nodebb-theme-lavender": {
|
||||||
|
"version": "0.0.25-0",
|
||||||
|
"from": "nodebb-theme-lavender@~0.0.25"
|
||||||
|
},
|
||||||
|
"nodebb-theme-vanilla": {
|
||||||
|
"version": "0.0.19-0",
|
||||||
|
"from": "nodebb-theme-vanilla@~0.0.19"
|
||||||
|
},
|
||||||
|
"nodebb-widget-essentials": {
|
||||||
|
"version": "0.0.21-0",
|
||||||
|
"from": "nodebb-widget-essentials@~0.0.21",
|
||||||
|
"dependencies": {
|
||||||
|
"marked": {
|
||||||
|
"version": "0.3.2",
|
||||||
|
"from": "marked@^0.3.2"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"passport": {
|
||||||
|
"version": "0.2.0",
|
||||||
|
"from": "passport@~0.2.0",
|
||||||
|
"dependencies": {
|
||||||
|
"passport-strategy": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"from": "passport-strategy@1.x.x"
|
||||||
|
},
|
||||||
|
"pause": {
|
||||||
|
"version": "0.0.1",
|
||||||
|
"from": "pause@0.0.1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"passport-local": {
|
||||||
|
"version": "0.1.6",
|
||||||
|
"from": "passport-local@0.1.6",
|
||||||
|
"dependencies": {
|
||||||
|
"pkginfo": {
|
||||||
|
"version": "0.2.3",
|
||||||
|
"from": "pkginfo@0.2.x"
|
||||||
|
},
|
||||||
|
"passport": {
|
||||||
|
"version": "0.1.18",
|
||||||
|
"from": "passport@~0.1.1",
|
||||||
|
"dependencies": {
|
||||||
|
"pause": {
|
||||||
|
"version": "0.0.1",
|
||||||
|
"from": "pause@0.0.1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"prompt": {
|
||||||
|
"version": "0.2.12",
|
||||||
|
"from": "prompt@~0.2.11",
|
||||||
|
"dependencies": {
|
||||||
|
"pkginfo": {
|
||||||
|
"version": "0.3.0",
|
||||||
|
"from": "pkginfo@0.x.x"
|
||||||
|
},
|
||||||
|
"read": {
|
||||||
|
"version": "1.0.5",
|
||||||
|
"from": "read@1.0.x",
|
||||||
|
"dependencies": {
|
||||||
|
"mute-stream": {
|
||||||
|
"version": "0.0.4",
|
||||||
|
"from": "mute-stream@~0.0.4"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"revalidator": {
|
||||||
|
"version": "0.1.6",
|
||||||
|
"from": "revalidator@0.1.x"
|
||||||
|
},
|
||||||
|
"utile": {
|
||||||
|
"version": "0.2.1",
|
||||||
|
"from": "utile@0.2.x",
|
||||||
|
"dependencies": {
|
||||||
|
"deep-equal": {
|
||||||
|
"version": "0.2.1",
|
||||||
|
"from": "deep-equal@*"
|
||||||
|
},
|
||||||
|
"i": {
|
||||||
|
"version": "0.3.2",
|
||||||
|
"from": "i@0.3.x"
|
||||||
|
},
|
||||||
|
"ncp": {
|
||||||
|
"version": "0.4.2",
|
||||||
|
"from": "ncp@0.4.x"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"winston": {
|
||||||
|
"version": "0.6.2",
|
||||||
|
"from": "winston@0.6.x",
|
||||||
|
"dependencies": {
|
||||||
|
"async": {
|
||||||
|
"version": "0.1.22",
|
||||||
|
"from": "async@0.1.x"
|
||||||
|
},
|
||||||
|
"colors": {
|
||||||
|
"version": "0.6.2",
|
||||||
|
"from": "colors@0.x.x"
|
||||||
|
},
|
||||||
|
"cycle": {
|
||||||
|
"version": "1.0.3",
|
||||||
|
"from": "cycle@1.0.x"
|
||||||
|
},
|
||||||
|
"eyes": {
|
||||||
|
"version": "0.1.8",
|
||||||
|
"from": "eyes@0.1.x"
|
||||||
|
},
|
||||||
|
"pkginfo": {
|
||||||
|
"version": "0.2.3",
|
||||||
|
"from": "pkginfo@0.2.x"
|
||||||
|
},
|
||||||
|
"request": {
|
||||||
|
"version": "2.9.203",
|
||||||
|
"from": "request@2.9.x"
|
||||||
|
},
|
||||||
|
"stack-trace": {
|
||||||
|
"version": "0.0.9",
|
||||||
|
"from": "stack-trace@0.0.x"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"redis": {
|
||||||
|
"version": "0.8.3",
|
||||||
|
"from": "redis@0.8.3"
|
||||||
|
},
|
||||||
|
"reds": {
|
||||||
|
"version": "0.2.4",
|
||||||
|
"from": "reds@~0.2.4",
|
||||||
|
"dependencies": {
|
||||||
|
"natural": {
|
||||||
|
"version": "0.1.17",
|
||||||
|
"from": "natural@0.1.17",
|
||||||
|
"dependencies": {
|
||||||
|
"sylvester": {
|
||||||
|
"version": "0.0.21",
|
||||||
|
"from": "sylvester@>= 0.0.12"
|
||||||
|
},
|
||||||
|
"apparatus": {
|
||||||
|
"version": "0.0.8",
|
||||||
|
"from": "apparatus@>= 0.0.6"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"redis": {
|
||||||
|
"version": "0.7.2",
|
||||||
|
"from": "redis@0.7.2"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"rimraf": {
|
||||||
|
"version": "2.2.6",
|
||||||
|
"from": "rimraf@~2.2.6"
|
||||||
|
},
|
||||||
|
"rss": {
|
||||||
|
"version": "0.2.1",
|
||||||
|
"from": "rss@~0.2.0",
|
||||||
|
"dependencies": {
|
||||||
|
"xml": {
|
||||||
|
"version": "0.0.12",
|
||||||
|
"from": "xml@~0.0.4"
|
||||||
|
},
|
||||||
|
"mime": {
|
||||||
|
"version": "1.2.11",
|
||||||
|
"from": "mime@~1.2.11"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"semver": {
|
||||||
|
"version": "2.2.1",
|
||||||
|
"from": "semver@~2.2.1"
|
||||||
|
},
|
||||||
|
"sitemap": {
|
||||||
|
"version": "0.7.2",
|
||||||
|
"from": "sitemap@~0.7.1"
|
||||||
|
},
|
||||||
|
"socket.io": {
|
||||||
|
"version": "0.9.16",
|
||||||
|
"from": "socket.io@~0.9.16",
|
||||||
|
"dependencies": {
|
||||||
|
"socket.io-client": {
|
||||||
|
"version": "0.9.16",
|
||||||
|
"from": "socket.io-client@0.9.16",
|
||||||
|
"dependencies": {
|
||||||
|
"uglify-js": {
|
||||||
|
"version": "1.2.5",
|
||||||
|
"from": "uglify-js@1.2.5"
|
||||||
|
},
|
||||||
|
"ws": {
|
||||||
|
"version": "0.4.31",
|
||||||
|
"from": "ws@0.4.x",
|
||||||
|
"dependencies": {
|
||||||
|
"commander": {
|
||||||
|
"version": "0.6.1",
|
||||||
|
"from": "commander@~0.6.1"
|
||||||
|
},
|
||||||
|
"nan": {
|
||||||
|
"version": "0.3.2",
|
||||||
|
"from": "nan@~0.3.0"
|
||||||
|
},
|
||||||
|
"tinycolor": {
|
||||||
|
"version": "0.0.1",
|
||||||
|
"from": "tinycolor@0.x"
|
||||||
|
},
|
||||||
|
"options": {
|
||||||
|
"version": "0.0.5",
|
||||||
|
"from": "options@>=0.0.5"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"xmlhttprequest": {
|
||||||
|
"version": "1.4.2",
|
||||||
|
"from": "xmlhttprequest@1.4.2"
|
||||||
|
},
|
||||||
|
"active-x-obfuscator": {
|
||||||
|
"version": "0.0.1",
|
||||||
|
"from": "active-x-obfuscator@0.0.1",
|
||||||
|
"dependencies": {
|
||||||
|
"zeparser": {
|
||||||
|
"version": "0.0.5",
|
||||||
|
"from": "zeparser@0.0.5"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"policyfile": {
|
||||||
|
"version": "0.0.4",
|
||||||
|
"from": "policyfile@0.0.4"
|
||||||
|
},
|
||||||
|
"base64id": {
|
||||||
|
"version": "0.1.0",
|
||||||
|
"from": "base64id@0.1.0"
|
||||||
|
},
|
||||||
|
"redis": {
|
||||||
|
"version": "0.7.3",
|
||||||
|
"from": "redis@0.7.3"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"socket.io-wildcard": {
|
||||||
|
"version": "0.1.1",
|
||||||
|
"from": "socket.io-wildcard@~0.1.1"
|
||||||
|
},
|
||||||
|
"string": {
|
||||||
|
"version": "1.7.0",
|
||||||
|
"from": "string@~1.7.0"
|
||||||
|
},
|
||||||
|
"uglify-js": {
|
||||||
|
"version": "2.4.13",
|
||||||
|
"from": "uglify-js@~2.4.0",
|
||||||
|
"dependencies": {
|
||||||
|
"source-map": {
|
||||||
|
"version": "0.1.33",
|
||||||
|
"from": "source-map@~0.1.33",
|
||||||
|
"dependencies": {
|
||||||
|
"amdefine": {
|
||||||
|
"version": "0.1.0",
|
||||||
|
"from": "amdefine@>=0.0.4"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"optimist": {
|
||||||
|
"version": "0.3.7",
|
||||||
|
"from": "optimist@~0.3.5",
|
||||||
|
"dependencies": {
|
||||||
|
"wordwrap": {
|
||||||
|
"version": "0.0.2",
|
||||||
|
"from": "wordwrap@~0.0.2"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"uglify-to-browserify": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"from": "uglify-to-browserify@~1.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"underscore": {
|
||||||
|
"version": "1.6.0",
|
||||||
|
"from": "underscore@^1.6.0"
|
||||||
|
},
|
||||||
|
"validator": {
|
||||||
|
"version": "3.5.1",
|
||||||
|
"from": "validator@^3.4.0"
|
||||||
|
},
|
||||||
|
"winston": {
|
||||||
|
"version": "0.7.3",
|
||||||
|
"from": "winston@~0.7.2",
|
||||||
|
"dependencies": {
|
||||||
|
"colors": {
|
||||||
|
"version": "0.6.2",
|
||||||
|
"from": "colors@0.6.x"
|
||||||
|
},
|
||||||
|
"cycle": {
|
||||||
|
"version": "1.0.3",
|
||||||
|
"from": "cycle@1.0.x"
|
||||||
|
},
|
||||||
|
"eyes": {
|
||||||
|
"version": "0.1.8",
|
||||||
|
"from": "eyes@0.1.x"
|
||||||
|
},
|
||||||
|
"pkginfo": {
|
||||||
|
"version": "0.3.0",
|
||||||
|
"from": "pkginfo@0.3.x"
|
||||||
|
},
|
||||||
|
"request": {
|
||||||
|
"version": "2.16.6",
|
||||||
|
"from": "request@2.16.x",
|
||||||
|
"dependencies": {
|
||||||
|
"form-data": {
|
||||||
|
"version": "0.0.10",
|
||||||
|
"from": "form-data@~0.0.3",
|
||||||
|
"dependencies": {
|
||||||
|
"combined-stream": {
|
||||||
|
"version": "0.0.4",
|
||||||
|
"from": "combined-stream@~0.0.4",
|
||||||
|
"dependencies": {
|
||||||
|
"delayed-stream": {
|
||||||
|
"version": "0.0.5",
|
||||||
|
"from": "delayed-stream@0.0.5"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"mime": {
|
||||||
|
"version": "1.2.11",
|
||||||
|
"from": "mime@~1.2.7"
|
||||||
|
},
|
||||||
|
"hawk": {
|
||||||
|
"version": "0.10.2",
|
||||||
|
"from": "hawk@~0.10.2",
|
||||||
|
"dependencies": {
|
||||||
|
"hoek": {
|
||||||
|
"version": "0.7.6",
|
||||||
|
"from": "hoek@0.7.x"
|
||||||
|
},
|
||||||
|
"boom": {
|
||||||
|
"version": "0.3.8",
|
||||||
|
"from": "boom@0.3.x"
|
||||||
|
},
|
||||||
|
"cryptiles": {
|
||||||
|
"version": "0.1.3",
|
||||||
|
"from": "cryptiles@0.1.x"
|
||||||
|
},
|
||||||
|
"sntp": {
|
||||||
|
"version": "0.1.4",
|
||||||
|
"from": "sntp@0.1.x"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node-uuid": {
|
||||||
|
"version": "1.4.1",
|
||||||
|
"from": "node-uuid@~1.4.0"
|
||||||
|
},
|
||||||
|
"cookie-jar": {
|
||||||
|
"version": "0.2.0",
|
||||||
|
"from": "cookie-jar@~0.2.0"
|
||||||
|
},
|
||||||
|
"aws-sign": {
|
||||||
|
"version": "0.2.0",
|
||||||
|
"from": "aws-sign@~0.2.0"
|
||||||
|
},
|
||||||
|
"oauth-sign": {
|
||||||
|
"version": "0.2.0",
|
||||||
|
"from": "oauth-sign@~0.2.0"
|
||||||
|
},
|
||||||
|
"forever-agent": {
|
||||||
|
"version": "0.2.0",
|
||||||
|
"from": "forever-agent@~0.2.0"
|
||||||
|
},
|
||||||
|
"tunnel-agent": {
|
||||||
|
"version": "0.2.0",
|
||||||
|
"from": "tunnel-agent@~0.2.0"
|
||||||
|
},
|
||||||
|
"json-stringify-safe": {
|
||||||
|
"version": "3.0.0",
|
||||||
|
"from": "json-stringify-safe@~3.0.0"
|
||||||
|
},
|
||||||
|
"qs": {
|
||||||
|
"version": "0.5.6",
|
||||||
|
"from": "qs@~0.5.4"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"stack-trace": {
|
||||||
|
"version": "0.0.9",
|
||||||
|
"from": "stack-trace@0.0.x"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"xregexp": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"from": "xregexp@~2.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
94
package.json
94
package.json
@@ -2,75 +2,69 @@
|
|||||||
"name": "nodebb",
|
"name": "nodebb",
|
||||||
"license": "GPLv3 or later",
|
"license": "GPLv3 or later",
|
||||||
"description": "NodeBB Forum",
|
"description": "NodeBB Forum",
|
||||||
"version": "0.5.2",
|
"version": "0.4.0",
|
||||||
"homepage": "http://www.nodebb.org",
|
"homepage": "http://www.nodebb.org",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/NodeBB/NodeBB/"
|
"url": "https://github.com/designcreateplay/NodeBB/"
|
||||||
},
|
},
|
||||||
"main": "app.js",
|
"main": "app.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "./nodebb start",
|
"start": "./nodebb start",
|
||||||
"stop": "./nodebb stop",
|
"stop": "./nodebb stop",
|
||||||
"test": "mocha ./tests -t 10000"
|
"test": "mocha ./tests"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"async": "~0.9.0",
|
"socket.io": "~0.9.16",
|
||||||
"bcryptjs": "~2.0.1",
|
"express": "3.2.0",
|
||||||
"body-parser": "^1.9.0",
|
"express-namespace": "~0.1.1",
|
||||||
"compression": "^1.1.0",
|
"passport": "~0.2.0",
|
||||||
"connect-ensure-login": "^0.1.1",
|
"passport-local": "0.1.6",
|
||||||
"connect-flash": "^0.1.1",
|
"less-middleware": "0.1.12",
|
||||||
"connect-multiparty": "^1.2.4",
|
"marked": "0.2.8",
|
||||||
"cookie-parser": "^1.3.3",
|
"async": "~0.2.8",
|
||||||
"cron": "^1.0.5",
|
"gm": "1.14.2",
|
||||||
"csurf": "^1.6.1",
|
"gravatar": "1.0.6",
|
||||||
"daemon": "~1.1.0",
|
|
||||||
"express": "^4.9.5",
|
|
||||||
"express-session": "^1.8.2",
|
|
||||||
"gm": "1.16.0",
|
|
||||||
"gravatar": "^1.1.0",
|
|
||||||
"less": "^1.7.5",
|
|
||||||
"logrotate-stream": "^0.2.3",
|
|
||||||
"mkdirp": "~0.5.0",
|
|
||||||
"morgan": "^1.3.2",
|
|
||||||
"nconf": "~0.6.7",
|
"nconf": "~0.6.7",
|
||||||
"nodebb-plugin-dbsearch": "0.0.15",
|
"sitemap": "~0.7.1",
|
||||||
"nodebb-plugin-markdown": "^0.7.0",
|
"reds": "~0.2.4",
|
||||||
"nodebb-plugin-mentions": "~0.6.0",
|
"winston": "~0.7.2",
|
||||||
"nodebb-plugin-soundpack-default": "~0.1.1",
|
"rss": "~0.2.0",
|
||||||
"nodebb-theme-lavender": "~0.1.0",
|
"prompt": "~0.2.11",
|
||||||
"nodebb-theme-vanilla": "~0.1.0",
|
"uglify-js": "~2.4.0",
|
||||||
"nodebb-widget-essentials": "~0.1.1",
|
"validator": "^3.4.0",
|
||||||
"npm": "^2.1.4",
|
"cron": "~1.0.4",
|
||||||
"passport": "^0.2.1",
|
"semver": "~2.2.1",
|
||||||
"passport-local": "1.0.0",
|
"string": "~1.7.0",
|
||||||
"prompt": "^0.2.14",
|
"xregexp": "~2.0.0",
|
||||||
"request": "^2.44.0",
|
|
||||||
"rimraf": "~2.2.6",
|
|
||||||
"rss": "^1.0.0",
|
|
||||||
"semver": "^4.0.3",
|
|
||||||
"serve-favicon": "^2.1.5",
|
|
||||||
"sitemap": "^0.7.4",
|
|
||||||
"socket.io": "^0.9.17",
|
|
||||||
"socket.io-client": "^0.9.17",
|
|
||||||
"socket.io-wildcard": "~0.1.1",
|
"socket.io-wildcard": "~0.1.1",
|
||||||
"string": "^2.1.0",
|
"bcryptjs": "~0.7.10",
|
||||||
"templates.js": "0.1.2",
|
"nodebb-plugin-mentions": "~0.4.0",
|
||||||
"uglify-js": "git+https://github.com/julianlam/UglifyJS2.git",
|
"nodebb-plugin-markdown": "~0.4.1",
|
||||||
"underscore": "~1.7.0",
|
"nodebb-widget-essentials": "~0.0.21",
|
||||||
"validator": "~3.21.0",
|
"nodebb-theme-vanilla": "~0.0.19",
|
||||||
"winston": "^0.8.0",
|
"nodebb-theme-lavender": "~0.0.25",
|
||||||
"xregexp": "~2.0.0"
|
"less": "~1.6.3",
|
||||||
|
"daemon": "~1.1.0",
|
||||||
|
"underscore": "^1.6.0",
|
||||||
|
"mkdirp": "~0.3.5",
|
||||||
|
"rimraf": "~2.2.6"
|
||||||
|
},
|
||||||
|
"optionalDependencies": {
|
||||||
|
"redis": "0.8.3",
|
||||||
|
"hiredis": "~0.1.15",
|
||||||
|
"connect-redis": "1.4.5",
|
||||||
|
"mongodb": "~1.3.19",
|
||||||
|
"connect-mongo": "0.4.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"mocha": "~1.13.0"
|
"mocha": "~1.13.0"
|
||||||
},
|
},
|
||||||
"bugs": {
|
"bugs": {
|
||||||
"url": "https://github.com/NodeBB/NodeBB/issues"
|
"url": "https://github.com/designcreateplay/NodeBB/issues"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=0.10"
|
"node": ">=0.8"
|
||||||
},
|
},
|
||||||
"maintainers": [
|
"maintainers": [
|
||||||
{
|
{
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 521 B |
Binary file not shown.
|
Before Width: | Height: | Size: 5.9 KiB |
@@ -1,8 +1,12 @@
|
|||||||
{
|
{
|
||||||
"new_topic_button": "موضوع جديد",
|
"new_topic_button": "موضوع جديد",
|
||||||
"no_topics": "<strong>لا توجد مواضيع في هذه الفئة</strong>لماذا لا تحاول نشر موضوع؟<br />",
|
"no_topics": "<strong>لا توجد مواضيع في هذه الفئة</strong>لماذا لا تحاول نشر واحد؟<br />",
|
||||||
"browsing": "تصفح",
|
"posts": "مشاركات",
|
||||||
|
"views": "مشاهدات",
|
||||||
|
"posted": "نشر",
|
||||||
|
"browsing": "يتصفح",
|
||||||
"no_replies": "لم يرد أحد",
|
"no_replies": "لم يرد أحد",
|
||||||
"share_this_category": "انشر هذه الفئة",
|
"replied": "رد",
|
||||||
"ignore": "Ignore"
|
"last_edited_by": "تغيرت أخيراً عبر",
|
||||||
|
"share_this_category": "Share this category"
|
||||||
}
|
}
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
{
|
|
||||||
"password-reset-requested": "Password Reset Requested - %1!",
|
|
||||||
"welcome-to": "Welcome to %1",
|
|
||||||
"greeting_no_name": "Hello",
|
|
||||||
"greeting_with_name": "Hello %1",
|
|
||||||
"welcome.text1": "Thank you for registering with %1!",
|
|
||||||
"welcome.text2": "To fully activate your account, we need to verify that you own the email address you registered with.",
|
|
||||||
"welcome.cta": "Click here to confirm your email address",
|
|
||||||
"reset.text1": "We received a request to reset your password, possibly because you have forgotten it. If this is not the case, please ignore this email.",
|
|
||||||
"reset.text2": "To continue with the password reset, please click on the following link:",
|
|
||||||
"reset.cta": "Click here to reset your password",
|
|
||||||
"digest.notifications": "You have some unread notifications from %1:",
|
|
||||||
"digest.latest_topics": "Latest topics from %1",
|
|
||||||
"digest.cta": "Click here to visit %1",
|
|
||||||
"digest.unsub.info": "This digest was sent to you due to your subscription settings.",
|
|
||||||
"digest.daily.no_topics": "There have been no active topics in the past day",
|
|
||||||
"notif.chat.subject": "New chat message received from %1",
|
|
||||||
"notif.chat.cta": "Click here to continue the conversation",
|
|
||||||
"notif.chat.unsub.info": "This chat notification was sent to you due to your subscription settings.",
|
|
||||||
"test.text1": "This is a test email to verify that the emailer is set up correctly for your NodeBB.",
|
|
||||||
"unsub.cta": "Click here to alter those settings",
|
|
||||||
"closing": "Thanks!"
|
|
||||||
}
|
|
||||||
@@ -1,64 +0,0 @@
|
|||||||
{
|
|
||||||
"invalid-data": "بيانات غير صالحة",
|
|
||||||
"not-logged-in": "لم تقم بتسجيل الدخول",
|
|
||||||
"account-locked": "Your account has been locked temporarily",
|
|
||||||
"search-requires-login": "Searching requires an account! Please login or register!",
|
|
||||||
"invalid-cid": "Invalid Category ID",
|
|
||||||
"invalid-tid": "Invalid Topic ID",
|
|
||||||
"invalid-pid": "Invalid Post ID",
|
|
||||||
"invalid-uid": "Invalid User ID",
|
|
||||||
"invalid-username": "اسم المستخدم غير مقبول",
|
|
||||||
"invalid-email": "البريد الاكتروني غير مقبول",
|
|
||||||
"invalid-title": "Invalid title!",
|
|
||||||
"invalid-user-data": "Invalid User Data",
|
|
||||||
"invalid-password": "كلمة السر غير مقبولة",
|
|
||||||
"invalid-username-or-password": "Please specify both a username and password",
|
|
||||||
"invalid-search-term": "Invalid search term",
|
|
||||||
"invalid-pagination-value": "Invalid pagination value",
|
|
||||||
"username-taken": "اسم المستخدم ماخوذ",
|
|
||||||
"email-taken": "البريد الالكتروني ماخوذ",
|
|
||||||
"email-not-confirmed": "Your email is not confirmed, please click here to confirm your email.",
|
|
||||||
"username-too-short": "Username too short",
|
|
||||||
"username-too-long": "Username too long",
|
|
||||||
"user-banned": "المستخدم محظور",
|
|
||||||
"user-too-new": "You need to wait %1 seconds before making your first post!",
|
|
||||||
"no-category": "Category doesn't exist",
|
|
||||||
"no-topic": "Topic doesn't exist",
|
|
||||||
"no-post": "Post doesn't exist",
|
|
||||||
"no-group": "Group doesn't exist",
|
|
||||||
"no-user": "المستخدم لا يوجد",
|
|
||||||
"no-teaser": "Teaser doesn't exist",
|
|
||||||
"no-privileges": "You don't have enough privileges for this action.",
|
|
||||||
"no-emailers-configured": "No email plugins were loaded, so a test email could not be sent",
|
|
||||||
"category-disabled": "Category disabled",
|
|
||||||
"topic-locked": "الموضوع مقفول",
|
|
||||||
"still-uploading": "الرجاء انتظار الرفع",
|
|
||||||
"content-too-short": "Please enter a longer post. At least %1 characters.",
|
|
||||||
"title-too-short": "Please enter a longer title. At least %1 characters.",
|
|
||||||
"title-too-long": "Please enter a shorter title. Titles can't be longer than %1 characters.",
|
|
||||||
"too-many-posts": "You can only post every %1 seconds.",
|
|
||||||
"file-too-big": "Maximum allowed file size is %1 kbs",
|
|
||||||
"cant-vote-self-post": "You cannot vote for your own post",
|
|
||||||
"already-favourited": "You already favourited this post",
|
|
||||||
"already-unfavourited": "You already unfavourited this post",
|
|
||||||
"cant-ban-other-admins": "You can't ban other admins!",
|
|
||||||
"invalid-image-type": "نوع الصورة ممنوع",
|
|
||||||
"group-name-too-short": "Group name too short",
|
|
||||||
"group-already-exists": "Group already exists",
|
|
||||||
"group-name-change-not-allowed": "Group name change not allowed",
|
|
||||||
"post-already-deleted": "Post already deleted",
|
|
||||||
"post-already-restored": "Post already restored",
|
|
||||||
"topic-already-deleted": "Topic already deleted",
|
|
||||||
"topic-already-restored": "Topic already restored",
|
|
||||||
"topic-thumbnails-are-disabled": "Topic thumbnails are disabled.",
|
|
||||||
"invalid-file": "Invalid File",
|
|
||||||
"uploads-are-disabled": "Uploads are disabled",
|
|
||||||
"upload-error": "مشكلة في الرفع: 1%",
|
|
||||||
"signature-too-long": "Signature can't be longer than %1 characters!",
|
|
||||||
"cant-chat-with-yourself": "You can't chat with yourself!",
|
|
||||||
"reputation-system-disabled": "Reputation system is disabled.",
|
|
||||||
"downvoting-disabled": "Downvoting is disabled",
|
|
||||||
"not-enough-reputation-to-downvote": "You do not have enough reputation to downvote this post",
|
|
||||||
"not-enough-reputation-to-flag": "Yo do not have enough reputation to flag this post",
|
|
||||||
"reload-failed": "NodeBB encountered a problem while reloading: \"%1\". NodeBB will continue to serve the existing client-side assets, although you should undo what you did just prior to reloading."
|
|
||||||
}
|
|
||||||
7
public/language/ar/footer.json
Normal file
7
public/language/ar/footer.json
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"stats.online": "حالياً على الموقع",
|
||||||
|
"stats.users": "مستخدمين",
|
||||||
|
"stats.topics": "مواضيع",
|
||||||
|
"stats.posts": "مشاركات",
|
||||||
|
"success": "نجاح"
|
||||||
|
}
|
||||||
@@ -13,17 +13,14 @@
|
|||||||
"please_log_in": "Please Log In",
|
"please_log_in": "Please Log In",
|
||||||
"logout": "تسجيل الخروج",
|
"logout": "تسجيل الخروج",
|
||||||
"posting_restriction_info": "Posting is currently restricted to registered members only, click here to log in.",
|
"posting_restriction_info": "Posting is currently restricted to registered members only, click here to log in.",
|
||||||
"welcome_back": "Welcome Back",
|
"welcome_back": "Welcome Back ",
|
||||||
"you_have_successfully_logged_in": "You have successfully logged in",
|
"you_have_successfully_logged_in": "You have successfully logged in",
|
||||||
"save_changes": "حفظ التغييرات",
|
"save_changes": "حفظ التغييرات",
|
||||||
"close": "أغلق",
|
"close": "أغلق",
|
||||||
"pagination": "Pagination",
|
"pagination": "Pagination",
|
||||||
"pagination.out_of": "%1 out of %2",
|
|
||||||
"pagination.enter_index": "Enter index",
|
|
||||||
"header.admin": "مشرف",
|
"header.admin": "مشرف",
|
||||||
"header.recent": "حديث",
|
"header.recent": "حديث",
|
||||||
"header.unread": "غير مقروء",
|
"header.unread": "غير مقروء",
|
||||||
"header.tags": "Tags",
|
|
||||||
"header.popular": "Popular",
|
"header.popular": "Popular",
|
||||||
"header.users": "المستخدمين",
|
"header.users": "المستخدمين",
|
||||||
"header.chats": "Chats",
|
"header.chats": "Chats",
|
||||||
@@ -38,38 +35,21 @@
|
|||||||
"alert.success": "Success",
|
"alert.success": "Success",
|
||||||
"alert.error": "Error",
|
"alert.error": "Error",
|
||||||
"alert.banned": "Banned",
|
"alert.banned": "Banned",
|
||||||
"alert.banned.message": "You have just been banned, you will now be logged out.",
|
"alert.banned.message": "You are banned you will be logged out!",
|
||||||
"alert.unfollow": "You are no longer following %1!",
|
"alert.unfollow": "You are no longer following %1!",
|
||||||
"alert.follow": "You are now following %1!",
|
"alert.follow": "You are now following %1!",
|
||||||
"online": "Online",
|
|
||||||
"users": "Users",
|
|
||||||
"topics": "Topics",
|
|
||||||
"posts": "Posts",
|
"posts": "Posts",
|
||||||
"views": "Views",
|
"views": "Views",
|
||||||
"reputation": "Reputation",
|
"posted": "posted",
|
||||||
"read_more": "read more",
|
"in": "in",
|
||||||
"posted_ago_by_guest": "posted %1 by Guest",
|
|
||||||
"posted_ago_by": "posted %1 by %2",
|
|
||||||
"posted_ago": "posted %1",
|
|
||||||
"posted_in_ago_by_guest": "posted in %1 %2 by Guest",
|
|
||||||
"posted_in_ago_by": "posted in %1 %2 by %3",
|
|
||||||
"posted_in_ago": "posted in %1 %2",
|
|
||||||
"replied_ago": "replied %1",
|
|
||||||
"user_posted_ago": "%1 posted %2",
|
|
||||||
"guest_posted_ago": "Guest posted %1",
|
|
||||||
"last_edited_by_ago": "last edited by %1 %2",
|
|
||||||
"norecentposts": "No Recent Posts",
|
"norecentposts": "No Recent Posts",
|
||||||
"norecenttopics": "No Recent Topics",
|
"norecenttopics": "No Recent Topics",
|
||||||
"recentposts": "Recent Posts",
|
"recentposts": "Recent Posts",
|
||||||
"recentips": "Recently Logged In IPs",
|
"recentips": "Recently Logged In IPs",
|
||||||
|
"online": "Online",
|
||||||
"away": "Away",
|
"away": "Away",
|
||||||
"dnd": "Do not Disturb",
|
"dnd": "Do not Disturb",
|
||||||
"invisible": "Invisible",
|
"invisible": "Invisible",
|
||||||
"offline": "Offline",
|
"offline": "Offline",
|
||||||
"email": "Email",
|
"privacy": "Privacy"
|
||||||
"language": "Language",
|
|
||||||
"guest": "Guest",
|
|
||||||
"guests": "Guests",
|
|
||||||
"updated.title": "Forum Updated",
|
|
||||||
"updated.message": "This forum has just been updated to the latest version. Click here to refresh the page."
|
|
||||||
}
|
}
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
"view_group": "View Group",
|
|
||||||
"details.title": "Group Details",
|
|
||||||
"details.members": "Member List",
|
|
||||||
"details.has_no_posts": "This group's members have not made any posts.",
|
|
||||||
"details.latest_posts": "Latest Posts"
|
|
||||||
}
|
|
||||||
@@ -1,9 +1,10 @@
|
|||||||
{
|
{
|
||||||
|
"login": "دخول",
|
||||||
"username": "Username / Email",
|
"username": "Username / Email",
|
||||||
|
"password": "كلمة السر",
|
||||||
"remember_me": "تذكرني؟",
|
"remember_me": "تذكرني؟",
|
||||||
"forgot_password": "نسيت كلمة المرور؟",
|
"forgot_password": "نسيت كلمة المرور؟",
|
||||||
"alternative_logins": "تسجيلات الدخول البديلة",
|
"alternative_logins": "تسجيلات الدخول البديلة",
|
||||||
"failed_login_attempt": "فشلت محاولة تسجيل الدخول، يرجى المحاولة مرة أخرى.",
|
"failed_login_attempt": "فشلت محاولة تسجيل الدخول، يرجى المحاولة مرة أخرى.",
|
||||||
"login_successful": "قمت بتسجيل الدخول بنجاح!",
|
"login_successful": "قمت بتسجيل الدخول بنجاح!"
|
||||||
"dont_have_account": "Don't have an account?"
|
|
||||||
}
|
}
|
||||||
@@ -1,22 +1,6 @@
|
|||||||
{
|
{
|
||||||
"chat.chatting_with": "الدردشة مع <span id=\"chat-with-name\"></span>",
|
"chat.chatting_with": "الدردشة مع <span id=\"chat-with-name\"></span>",
|
||||||
"chat.placeholder": "Type chat message here, press enter to send",
|
"chat.placeholder": "اكتب رسالة دردشة هنا، وإضغط ENTER لإرسال",
|
||||||
"chat.send": "أرسل",
|
"chat.send": "أرسل",
|
||||||
"chat.no_active": "لا يوجد لديك دردشات نشطة.",
|
"chat.no_active": "لا يوجد لديك دردشات نشطة."
|
||||||
"chat.user_typing": "%1 is typing ...",
|
|
||||||
"chat.user_has_messaged_you": "%1 has messaged you.",
|
|
||||||
"chat.see_all": "See all Chats",
|
|
||||||
"chat.no-messages": "Please select a recipient to view chat message history",
|
|
||||||
"chat.recent-chats": "Recent Chats",
|
|
||||||
"chat.contacts": "Contacts",
|
|
||||||
"chat.message-history": "Message History",
|
|
||||||
"chat.pop-out": "Pop out chat",
|
|
||||||
"chat.maximize": "Maximize",
|
|
||||||
"chat.yesterday": "Yesterday",
|
|
||||||
"chat.seven_days": "7 Days",
|
|
||||||
"chat.thirty_days": "30 Days",
|
|
||||||
"chat.three_months": "3 Months",
|
|
||||||
"composer.user_said_in": "%1 said in %2:",
|
|
||||||
"composer.user_said": "%1 said:",
|
|
||||||
"composer.discard": "Are you sure you wish to discard this post?"
|
|
||||||
}
|
}
|
||||||
@@ -2,25 +2,9 @@
|
|||||||
"title": "إعلام",
|
"title": "إعلام",
|
||||||
"no_notifs": "You have no new notifications",
|
"no_notifs": "You have no new notifications",
|
||||||
"see_all": "See all Notifications",
|
"see_all": "See all Notifications",
|
||||||
"back_to_home": "Back to %1",
|
"back_to_home": "العودة إلى NodeBB",
|
||||||
"outgoing_link": "رابط خارجي",
|
"outgoing_link": "رابط خارجي",
|
||||||
"outgoing_link_message": "You are now leaving %1.",
|
"outgoing_link_message": "أنت الأن ترحل",
|
||||||
"continue_to": "Continue to %1",
|
"continue_to": "أكمل إلى",
|
||||||
"return_to": "Return to %1",
|
"return_to": "إرجع إلى"
|
||||||
"new_notification": "New Notification",
|
|
||||||
"you_have_unread_notifications": "You have unread notifications.",
|
|
||||||
"new_message_from": "New message from <strong>%1</strong>",
|
|
||||||
"upvoted_your_post_in": "<strong>%1</strong> has upvoted your post in <strong>%2</strong>.",
|
|
||||||
"moved_your_post": "<strong>%1</strong> has moved your post.",
|
|
||||||
"moved_your_topic": "<strong>%1</strong> has moved your topic.",
|
|
||||||
"favourited_your_post_in": "<strong>%1</strong> has favourited your post in <strong>%2</strong>.",
|
|
||||||
"user_flagged_post_in": "<strong>%1</strong> flagged a post in <strong>%2</strong>",
|
|
||||||
"user_posted_to": "<strong>%1</strong> has posted a reply to: <strong>%2</strong>",
|
|
||||||
"user_mentioned_you_in": "<strong>%1</strong> mentioned you in <strong>%2</strong>",
|
|
||||||
"user_started_following_you": "<strong>%1</strong> started following you.",
|
|
||||||
"email-confirmed": "Email Confirmed",
|
|
||||||
"email-confirmed-message": "Thank you for validating your email. Your account is now fully activated.",
|
|
||||||
"email-confirm-error": "An error occurred...",
|
|
||||||
"email-confirm-error-message": "There was a problem validating your email address. Perhaps the code was invalid or has expired.",
|
|
||||||
"email-confirm-sent": "Confirmation email sent."
|
|
||||||
}
|
}
|
||||||
@@ -5,14 +5,10 @@
|
|||||||
"recent": "Recent Topics",
|
"recent": "Recent Topics",
|
||||||
"users": "Registered Users",
|
"users": "Registered Users",
|
||||||
"notifications": "Notifications",
|
"notifications": "Notifications",
|
||||||
"tags": "Topics tagged under \"%1\"",
|
|
||||||
"user.edit": "Editing \"%1\"",
|
"user.edit": "Editing \"%1\"",
|
||||||
"user.following": "People %1 Follows",
|
"user.following": "People %1 Follows",
|
||||||
"user.followers": "People who Follow %1",
|
"user.followers": "People who Follow %1",
|
||||||
"user.posts": "Posts made by %1",
|
"user.posts": "Posts made by %1",
|
||||||
"user.topics": "Topics created by %1",
|
|
||||||
"user.favourites": "%1's Favourite Posts",
|
"user.favourites": "%1's Favourite Posts",
|
||||||
"user.settings": "User Settings",
|
"user.settings": "User Settings"
|
||||||
"maintenance.text": "%1 is currently undergoing maintenance. Please come back another time.",
|
|
||||||
"maintenance.messageIntro": "Additionally, the administator has left this message:"
|
|
||||||
}
|
}
|
||||||
@@ -3,7 +3,5 @@
|
|||||||
"day": "يوم",
|
"day": "يوم",
|
||||||
"week": "أسبوع",
|
"week": "أسبوع",
|
||||||
"month": "شهر",
|
"month": "شهر",
|
||||||
"year": "Year",
|
|
||||||
"alltime": "All Time",
|
|
||||||
"no_recent_topics": "There are no recent topics."
|
"no_recent_topics": "There are no recent topics."
|
||||||
}
|
}
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
{
|
|
||||||
"results_matching": "%1 result(s) matching \"%2\", (%3 seconds)",
|
|
||||||
"no-matches": "No posts found"
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
{
|
|
||||||
"success": "Success",
|
|
||||||
"topic-post": "You have successfully posted.",
|
|
||||||
"authentication-successful": "Authentication Successful",
|
|
||||||
"settings-saved": "Settings saved!"
|
|
||||||
}
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
"no_tag_topics": "There are no topics with this tag.",
|
|
||||||
"tags": "Tags",
|
|
||||||
"enter_tags_here": "Enter tags here. Press enter after each tag.",
|
|
||||||
"enter_tags_here_short": "Enter tags...",
|
|
||||||
"no_tags": "There are no tags yet."
|
|
||||||
}
|
|
||||||
@@ -1,20 +1,18 @@
|
|||||||
{
|
{
|
||||||
"topic": "موضوع",
|
"topic": "موضوع",
|
||||||
|
"topics": "مواضيع",
|
||||||
"topic_id": "Topic ID",
|
"topic_id": "Topic ID",
|
||||||
"topic_id_placeholder": "Enter topic ID",
|
"topic_id_placeholder": "Enter topic ID",
|
||||||
"no_topics_found": "لا توجد مواضيع !",
|
"no_topics_found": "لا توجد مواضيع !",
|
||||||
"no_posts_found": "No posts found!",
|
"no_posts_found": "No posts found!",
|
||||||
"post_is_deleted": "This post is deleted!",
|
|
||||||
"profile": "ملف",
|
"profile": "ملف",
|
||||||
"posted_by": "Posted by %1",
|
"posted_by": "Posted by",
|
||||||
"posted_by_guest": "Posted by Guest",
|
|
||||||
"chat": "دردشة",
|
"chat": "دردشة",
|
||||||
"notify_me": "تنبه من ردود جديدة في هذا الموضوع",
|
"notify_me": "تنبه من ردود جديدة في هذا الموضوع",
|
||||||
"quote": "اقتبس",
|
"quote": "اقتبس",
|
||||||
"reply": "رد",
|
"reply": "رد",
|
||||||
"edit": "صحح",
|
"edit": "صحح",
|
||||||
"delete": "حذف",
|
"delete": "حذف",
|
||||||
"purge": "Purge",
|
|
||||||
"restore": "Restore",
|
"restore": "Restore",
|
||||||
"move": "انقل",
|
"move": "انقل",
|
||||||
"fork": "فرع",
|
"fork": "فرع",
|
||||||
@@ -23,61 +21,60 @@
|
|||||||
"share": "شارك",
|
"share": "شارك",
|
||||||
"tools": "أدوات",
|
"tools": "أدوات",
|
||||||
"flag": "Flag",
|
"flag": "Flag",
|
||||||
"locked": "Locked",
|
|
||||||
"bookmark_instructions": "Click here to return to your last position or close to discard.",
|
"bookmark_instructions": "Click here to return to your last position or close to discard.",
|
||||||
"flag_title": "Flag this post for moderation",
|
"flag_title": "Flag this post for moderation",
|
||||||
"flag_confirm": "Are you sure you want to flag this post?",
|
"flag_confirm": "Are you sure you want to flag this post?",
|
||||||
"flag_success": "This post has been flagged for moderation.",
|
"flag_success": "This post has been flagged for moderation.",
|
||||||
"deleted_message": "This topic has been deleted. Only users with topic management privileges can see it.",
|
"deleted_message": "This thread has been deleted. Only users with thread management privileges can see it.",
|
||||||
|
"following_topic.title": "Following Topic",
|
||||||
"following_topic.message": "You will now be receiving notifications when somebody posts to this topic.",
|
"following_topic.message": "You will now be receiving notifications when somebody posts to this topic.",
|
||||||
|
"not_following_topic.title": "Not Following Topic",
|
||||||
"not_following_topic.message": "You will no longer receive notifications from this topic.",
|
"not_following_topic.message": "You will no longer receive notifications from this topic.",
|
||||||
"login_to_subscribe": "Please register or log in in order to subscribe to this topic.",
|
"login_to_subscribe": "Please register or log in in order to subscribe to this topic.",
|
||||||
"markAsUnreadForAll.success": "Topic marked as unread for all.",
|
"markAsUnreadForAll.success": "Topic marked as unread for all.",
|
||||||
"watch": "Watch",
|
"watch": "Watch",
|
||||||
"unwatch": "Unwatch",
|
|
||||||
"watch.title": "Be notified of new replies in this topic",
|
"watch.title": "Be notified of new replies in this topic",
|
||||||
"unwatch.title": "Stop watching this topic",
|
|
||||||
"share_this_post": "Share this Post",
|
"share_this_post": "Share this Post",
|
||||||
"thread_tools.title": "Topic Tools",
|
"thread_tools.title": "أدوات الموضوع",
|
||||||
"thread_tools.markAsUnreadForAll": "علم غير مقروء",
|
"thread_tools.markAsUnreadForAll": "علم غير مقروء",
|
||||||
"thread_tools.pin": "علق الموضوع",
|
"thread_tools.pin": "علق الموضوع",
|
||||||
"thread_tools.unpin": "Unpin Topic",
|
"thread_tools.unpin": "Unpin Topic",
|
||||||
"thread_tools.lock": "قفل الموضوع",
|
"thread_tools.lock": "قفل الموضوع",
|
||||||
"thread_tools.unlock": "Unlock Topic",
|
"thread_tools.unlock": "Unlock Topic",
|
||||||
"thread_tools.move": "نقل الموضوع",
|
"thread_tools.move": "نقل الموضوع",
|
||||||
"thread_tools.move_all": "Move All",
|
|
||||||
"thread_tools.fork": "تفرع الموضوع",
|
"thread_tools.fork": "تفرع الموضوع",
|
||||||
"thread_tools.delete": "حذف الموضوع",
|
"thread_tools.delete": "حذف الموضوع",
|
||||||
"thread_tools.delete_confirm": "Are you sure you want to delete this topic?",
|
|
||||||
"thread_tools.restore": "Restore Topic",
|
"thread_tools.restore": "Restore Topic",
|
||||||
"thread_tools.restore_confirm": "Are you sure you want to restore this topic?",
|
|
||||||
"thread_tools.purge": "Purge Topic",
|
|
||||||
"thread_tools.purge_confirm": "Are you sure you want to purge this topic?",
|
|
||||||
"topic_move_success": "This topic has been successfully moved to %1",
|
|
||||||
"post_delete_confirm": "Are you sure you want to delete this post?",
|
|
||||||
"post_restore_confirm": "Are you sure you want to restore this post?",
|
|
||||||
"post_purge_confirm": "Are you sure you want to purge this post?",
|
|
||||||
"load_categories": "تحميل الفئات",
|
"load_categories": "تحميل الفئات",
|
||||||
"disabled_categories_note": "الفئات المجلدة رمادية",
|
"disabled_categories_note": "الفئات المجلدة رمادية",
|
||||||
"confirm_move": "انقل",
|
"confirm_move": "انقل",
|
||||||
"confirm_fork": "فرع",
|
"confirm_fork": "فرع",
|
||||||
"favourite": "المفضل",
|
"favourite": "المفضل",
|
||||||
"favourites": "المفضلة",
|
"favourites": "المفضلة",
|
||||||
|
"favourites.not_logged_in.title": "ليس موجود حالياً",
|
||||||
|
"favourites.not_logged_in.message": "الرجاء تسجيل الدخول لتفضل هذا الرد",
|
||||||
"favourites.has_no_favourites": "ليس لديك أي ردود مفضلة. فضل بعد الردود لرؤيتهم هنا",
|
"favourites.has_no_favourites": "ليس لديك أي ردود مفضلة. فضل بعد الردود لرؤيتهم هنا",
|
||||||
|
"vote.not_logged_in.title": "Not Logged In",
|
||||||
|
"vote.not_logged_in.message": "Please log in in order to vote",
|
||||||
|
"vote.cant_vote_self.title": "Invalid Vote",
|
||||||
|
"vote.cant_vote_self.message": "You cannot vote for your own post",
|
||||||
"loading_more_posts": "تحميل المزيد من المشاركات",
|
"loading_more_posts": "تحميل المزيد من المشاركات",
|
||||||
"move_topic": "نقل الموضوع",
|
"move_topic": "نقل الموضوع",
|
||||||
"move_topics": "Move Topics",
|
|
||||||
"move_post": "نقل الرد",
|
"move_post": "نقل الرد",
|
||||||
"post_moved": "Post moved!",
|
|
||||||
"fork_topic": "فرع الموضوع",
|
"fork_topic": "فرع الموضوع",
|
||||||
"topic_will_be_moved_to": "هذا الموضوع سوف ينقل إلى فئة",
|
"topic_will_be_moved_to": "هذا الموضوع سوف ينقل إلى فئة",
|
||||||
"fork_topic_instruction": "إضغط على الردود لتفريعهم",
|
"fork_topic_instruction": "إضغط على الردود لتفريعهم",
|
||||||
"fork_no_pids": "لم تختار أي رد",
|
"fork_no_pids": "لم تختار أي رد",
|
||||||
"fork_success": "Succesfully forked topic! Click here to go to the forked topic.",
|
"fork_success": "تفريع الموضوع بنجاح!",
|
||||||
|
"reputation": "سمعة",
|
||||||
|
"posts": "ردود",
|
||||||
"composer.title_placeholder": "Enter your topic title here...",
|
"composer.title_placeholder": "Enter your topic title here...",
|
||||||
|
"composer.write": "Write",
|
||||||
|
"composer.preview": "Preview",
|
||||||
|
"composer.help": "Help",
|
||||||
"composer.discard": "Discard",
|
"composer.discard": "Discard",
|
||||||
"composer.submit": "Submit",
|
"composer.submit": "Submit",
|
||||||
"composer.replying_to": "Replying to %1",
|
"composer.replying_to": "Replying to",
|
||||||
"composer.new_topic": "New Topic",
|
"composer.new_topic": "New Topic",
|
||||||
"composer.uploading": "uploading...",
|
"composer.uploading": "uploading...",
|
||||||
"composer.thumb_url_label": "Paste a topic thumbnail URL",
|
"composer.thumb_url_label": "Paste a topic thumbnail URL",
|
||||||
@@ -86,12 +83,5 @@
|
|||||||
"composer.thumb_file_label": "Or upload a file",
|
"composer.thumb_file_label": "Or upload a file",
|
||||||
"composer.thumb_remove": "Clear fields",
|
"composer.thumb_remove": "Clear fields",
|
||||||
"composer.drag_and_drop_images": "Drag and Drop Images Here",
|
"composer.drag_and_drop_images": "Drag and Drop Images Here",
|
||||||
"more_users_and_guests": "%1 more user(s) and %2 guest(s)",
|
"composer.upload_instructions": "Upload images by dragging & dropping them."
|
||||||
"more_users": "%1 more user(s)",
|
|
||||||
"more_guests": "%1 more guest(s)",
|
|
||||||
"users_and_others": "%1 and %2 others",
|
|
||||||
"sort_by": "Sort by",
|
|
||||||
"oldest_to_newest": "Oldest to Newest",
|
|
||||||
"newest_to_oldest": "Newest to Oldest",
|
|
||||||
"most_votes": "Most votes"
|
|
||||||
}
|
}
|
||||||
@@ -1,9 +1,6 @@
|
|||||||
{
|
{
|
||||||
"title": "Unread",
|
"title": "Unread",
|
||||||
"no_unread_topics": "ليس هناك أي موضوع غير مقروء",
|
"no_unread_topics": "ليس هناك أي موضوع غير مقروء",
|
||||||
"load_more": "حمل المزيد",
|
"mark_all_read": "إجعل كل المواضيع مقرؤة",
|
||||||
"mark_as_read": "Mark as Read",
|
"load_more": "حمل المزيد"
|
||||||
"selected": "Selected",
|
|
||||||
"all": "All",
|
|
||||||
"topics_marked_as_read.success": "Topics marked as read!"
|
|
||||||
}
|
}
|
||||||
@@ -3,11 +3,9 @@
|
|||||||
"offline": "ليس موجود حالياً",
|
"offline": "ليس موجود حالياً",
|
||||||
"username": "إسم المستخدم",
|
"username": "إسم المستخدم",
|
||||||
"email": "البريد الإلكتروني",
|
"email": "البريد الإلكتروني",
|
||||||
"confirm_email": "Confirm Email",
|
|
||||||
"delete_account": "Delete Account",
|
|
||||||
"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 username to confirm that you wish to destroy this account.",
|
|
||||||
"fullname": "الاسم الكامل",
|
"fullname": "الاسم الكامل",
|
||||||
"website": "الموقع الإلكتروني",
|
"website": "الموقع الإلكتروني",
|
||||||
|
"user:website_placeholder": "http://...",
|
||||||
"location": "موقع",
|
"location": "موقع",
|
||||||
"age": "عمر",
|
"age": "عمر",
|
||||||
"joined": "تاريخ التسجيل",
|
"joined": "تاريخ التسجيل",
|
||||||
@@ -15,57 +13,44 @@
|
|||||||
"profile": "Profile",
|
"profile": "Profile",
|
||||||
"profile_views": "مشاهد الملف",
|
"profile_views": "مشاهد الملف",
|
||||||
"reputation": "سمعة",
|
"reputation": "سمعة",
|
||||||
|
"posts": "ردود",
|
||||||
"favourites": "Favourites",
|
"favourites": "Favourites",
|
||||||
"followers": "أتباع",
|
"followers": "أتباع",
|
||||||
"following": "يتبع",
|
"following": "يتبع",
|
||||||
"signature": "توقيع",
|
"signature": "توقيع",
|
||||||
"gravatar": "Gravatar",
|
"gravatar": "Gravatar",
|
||||||
"birthday": "عيد ميلاد",
|
"birthday": "عيد ميلاد",
|
||||||
|
"birthday_placeholder": "mm/dd/yyyy",
|
||||||
"chat": "Chat",
|
"chat": "Chat",
|
||||||
"follow": "Follow",
|
"follow": "Follow",
|
||||||
"unfollow": "Unfollow",
|
"unfollow": "Unfollow",
|
||||||
"profile_update_success": "Profile has been updated successfully!",
|
|
||||||
"change_picture": "تغيير الصورة",
|
"change_picture": "تغيير الصورة",
|
||||||
"edit": "صحح",
|
"edit": "صحح",
|
||||||
"uploaded_picture": "صورة تم تحميلها",
|
"uploaded_picture": "صورة تم تحميلها",
|
||||||
"upload_new_picture": "تحميل صورة جديدة",
|
"upload_new_picture": "تحميل صورة جديدة",
|
||||||
"upload_new_picture_from_url": "Upload New Picture From URL",
|
|
||||||
"current_password": "Current Password",
|
"current_password": "Current Password",
|
||||||
"change_password": "تغيير كلمة السر",
|
"change_password": "تغيير كلمة السر",
|
||||||
"change_password_error": "Invalid Password!",
|
"change_password_error": "Invalid Password!",
|
||||||
"change_password_error_wrong_current": "Your current password is not correct!",
|
"change_password_error_wrong_current": "Your current password is not correct!",
|
||||||
"change_password_error_length": "Password too short!",
|
"change_password_error_length": "Password too short!",
|
||||||
"change_password_error_match": "Passwords must match!",
|
"change_password_error_match": "Passwords must match!",
|
||||||
"change_password_error_privileges": "You do not have the rights to change this password.",
|
"change_password_error_privileges": "You are not have the rights to change this password.",
|
||||||
"change_password_success": "Your password is updated!",
|
"change_password_success": "Your password is updated!",
|
||||||
"confirm_password": "تأكيد كلمة السر",
|
"confirm_password": "تأكيد كلمة السر",
|
||||||
"password": "كلمة السر",
|
"password": "كلمة السر",
|
||||||
"username_taken_workaround": "The username you requested was already taken, so we have altered it slightly. You are now known as <strong>%1</strong>",
|
|
||||||
"upload_picture": "تحميل الصورة",
|
"upload_picture": "تحميل الصورة",
|
||||||
"upload_a_picture": "تحميل صورة",
|
"upload_a_picture": "تحميل صورة",
|
||||||
"image_spec": "You may only upload PNG, JPG, or GIF files",
|
"image_spec": "You may only upload PNG, JPG, or GIF files",
|
||||||
"max": "max.",
|
"max": "max.",
|
||||||
"settings": "Settings",
|
"settings": "Settings",
|
||||||
"show_email": "أظهر بريدي الإلكتروني",
|
"show_email": "أظهر بريدي الإلكتروني",
|
||||||
"digest_label": "Subscribe to Digest",
|
|
||||||
"digest_description": "Subscribe to email updates for this forum (new notifications and topics) according to a set schedule",
|
|
||||||
"digest_off": "Off",
|
|
||||||
"digest_daily": "Daily",
|
|
||||||
"digest_weekly": "Weekly",
|
|
||||||
"digest_monthly": "Monthly",
|
|
||||||
"send_chat_notifications": "Send an email if a new chat message arrives and I am not online",
|
|
||||||
"has_no_follower": "هذا المستخدم ليس لديه أي أتباع :(",
|
"has_no_follower": "هذا المستخدم ليس لديه أي أتباع :(",
|
||||||
"follows_no_one": "هذا المستخدم لا يتبع أحد :(",
|
"follows_no_one": "هذا المستخدم لا يتبع أحد :(",
|
||||||
"has_no_posts": "This user didn't post anything yet.",
|
"has_no_posts": "This user didn't post anything yet.",
|
||||||
"has_no_topics": "This user didn't post any topics yet.",
|
|
||||||
"email_hidden": "البريد الإلكتروني مخفي",
|
"email_hidden": "البريد الإلكتروني مخفي",
|
||||||
"hidden": "مخفي",
|
"hidden": "مخفي",
|
||||||
"paginate_description": "Paginate topics and posts instead of using infinite scroll.",
|
"paginate_description": "Paginate topics and posts instead of using infinite scroll.",
|
||||||
"topics_per_page": "Topics per Page",
|
"topics_per_page": "Topics per Page",
|
||||||
"posts_per_page": "Posts per Page",
|
"posts_per_page": "Posts per Page",
|
||||||
"notification_sounds": "Play a sound when you receive a notification.",
|
"notification_sounds": "Play a sound when you receive a notification."
|
||||||
"browsing": "Browsing Settings",
|
|
||||||
"open_links_in_new_tab": "Open outgoing links in new tab?",
|
|
||||||
"follow_topics_you_reply_to": "Follow topics that you reply to.",
|
|
||||||
"follow_topics_you_create": "Follow topics you create."
|
|
||||||
}
|
}
|
||||||
@@ -2,9 +2,8 @@
|
|||||||
"latest_users": "أحدث المستخدمين",
|
"latest_users": "أحدث المستخدمين",
|
||||||
"top_posters": "أكثر المشتركين",
|
"top_posters": "أكثر المشتركين",
|
||||||
"most_reputation": "أعلى سمعة",
|
"most_reputation": "أعلى سمعة",
|
||||||
|
"online": "موجودين حالياً",
|
||||||
"search": "بحث",
|
"search": "بحث",
|
||||||
"enter_username": "أدخل اسم مستخدم للبحث",
|
"enter_username": "أدخل اسم مستخدم للبحث",
|
||||||
"load_more": "حمل المزيد",
|
"load_more": "حمل المزيد"
|
||||||
"user-not-found": "User not found!",
|
|
||||||
"users-found-search-took": "%1 user(s) found! Search took %2 ms."
|
|
||||||
}
|
}
|
||||||
@@ -1,8 +1,12 @@
|
|||||||
{
|
{
|
||||||
"new_topic_button": "Nové téma",
|
"new_topic_button": "Nové téma",
|
||||||
"no_topics": "<strong>V této kategorii zatím nejsou žádné příspěvky.</strong><br />Můžeš být první!",
|
"no_topics": "<strong>V této kategorii zatím nejsou žádné příspěvky.</strong><br />Můžeš být první!",
|
||||||
|
"posts": "příspěvky",
|
||||||
|
"views": "zobrazení",
|
||||||
|
"posted": "odesláno",
|
||||||
"browsing": "prohlíží",
|
"browsing": "prohlíží",
|
||||||
"no_replies": "Nikdo ještě neodpověděl",
|
"no_replies": "Nikdo ještě neodpověděl",
|
||||||
"share_this_category": "Share this category",
|
"replied": "přispěl",
|
||||||
"ignore": "Ignore"
|
"last_edited_by": "naposledy upravil",
|
||||||
|
"share_this_category": "Share this category"
|
||||||
}
|
}
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
{
|
|
||||||
"password-reset-requested": "Password Reset Requested - %1!",
|
|
||||||
"welcome-to": "Welcome to %1",
|
|
||||||
"greeting_no_name": "Hello",
|
|
||||||
"greeting_with_name": "Hello %1",
|
|
||||||
"welcome.text1": "Thank you for registering with %1!",
|
|
||||||
"welcome.text2": "To fully activate your account, we need to verify that you own the email address you registered with.",
|
|
||||||
"welcome.cta": "Click here to confirm your email address",
|
|
||||||
"reset.text1": "We received a request to reset your password, possibly because you have forgotten it. If this is not the case, please ignore this email.",
|
|
||||||
"reset.text2": "To continue with the password reset, please click on the following link:",
|
|
||||||
"reset.cta": "Click here to reset your password",
|
|
||||||
"digest.notifications": "You have some unread notifications from %1:",
|
|
||||||
"digest.latest_topics": "Latest topics from %1",
|
|
||||||
"digest.cta": "Click here to visit %1",
|
|
||||||
"digest.unsub.info": "This digest was sent to you due to your subscription settings.",
|
|
||||||
"digest.daily.no_topics": "There have been no active topics in the past day",
|
|
||||||
"notif.chat.subject": "New chat message received from %1",
|
|
||||||
"notif.chat.cta": "Click here to continue the conversation",
|
|
||||||
"notif.chat.unsub.info": "This chat notification was sent to you due to your subscription settings.",
|
|
||||||
"test.text1": "This is a test email to verify that the emailer is set up correctly for your NodeBB.",
|
|
||||||
"unsub.cta": "Click here to alter those settings",
|
|
||||||
"closing": "Thanks!"
|
|
||||||
}
|
|
||||||
@@ -1,64 +0,0 @@
|
|||||||
{
|
|
||||||
"invalid-data": "Invalid Data",
|
|
||||||
"not-logged-in": "You don't seem to be logged in.",
|
|
||||||
"account-locked": "Your account has been locked temporarily",
|
|
||||||
"search-requires-login": "Searching requires an account! Please login or register!",
|
|
||||||
"invalid-cid": "Invalid Category ID",
|
|
||||||
"invalid-tid": "Invalid Topic ID",
|
|
||||||
"invalid-pid": "Invalid Post ID",
|
|
||||||
"invalid-uid": "Invalid User ID",
|
|
||||||
"invalid-username": "Invalid Username",
|
|
||||||
"invalid-email": "Invalid Email",
|
|
||||||
"invalid-title": "Invalid title!",
|
|
||||||
"invalid-user-data": "Invalid User Data",
|
|
||||||
"invalid-password": "Invalid Password",
|
|
||||||
"invalid-username-or-password": "Please specify both a username and password",
|
|
||||||
"invalid-search-term": "Invalid search term",
|
|
||||||
"invalid-pagination-value": "Invalid pagination value",
|
|
||||||
"username-taken": "Username taken",
|
|
||||||
"email-taken": "Email taken",
|
|
||||||
"email-not-confirmed": "Your email is not confirmed, please click here to confirm your email.",
|
|
||||||
"username-too-short": "Username too short",
|
|
||||||
"username-too-long": "Username too long",
|
|
||||||
"user-banned": "User banned",
|
|
||||||
"user-too-new": "You need to wait %1 seconds before making your first post!",
|
|
||||||
"no-category": "Category doesn't exist",
|
|
||||||
"no-topic": "Topic doesn't exist",
|
|
||||||
"no-post": "Post doesn't exist",
|
|
||||||
"no-group": "Group doesn't exist",
|
|
||||||
"no-user": "User doesn't exist",
|
|
||||||
"no-teaser": "Teaser doesn't exist",
|
|
||||||
"no-privileges": "You don't have enough privileges for this action.",
|
|
||||||
"no-emailers-configured": "No email plugins were loaded, so a test email could not be sent",
|
|
||||||
"category-disabled": "Category disabled",
|
|
||||||
"topic-locked": "Topic Locked",
|
|
||||||
"still-uploading": "Please wait for uploads to complete.",
|
|
||||||
"content-too-short": "Please enter a longer post. At least %1 characters.",
|
|
||||||
"title-too-short": "Please enter a longer title. At least %1 characters.",
|
|
||||||
"title-too-long": "Please enter a shorter title. Titles can't be longer than %1 characters.",
|
|
||||||
"too-many-posts": "You can only post every %1 seconds.",
|
|
||||||
"file-too-big": "Maximum allowed file size is %1 kbs",
|
|
||||||
"cant-vote-self-post": "You cannot vote for your own post",
|
|
||||||
"already-favourited": "You already favourited this post",
|
|
||||||
"already-unfavourited": "You already unfavourited this post",
|
|
||||||
"cant-ban-other-admins": "You can't ban other admins!",
|
|
||||||
"invalid-image-type": "Invalid image type",
|
|
||||||
"group-name-too-short": "Group name too short",
|
|
||||||
"group-already-exists": "Group already exists",
|
|
||||||
"group-name-change-not-allowed": "Group name change not allowed",
|
|
||||||
"post-already-deleted": "Post already deleted",
|
|
||||||
"post-already-restored": "Post already restored",
|
|
||||||
"topic-already-deleted": "Topic already deleted",
|
|
||||||
"topic-already-restored": "Topic already restored",
|
|
||||||
"topic-thumbnails-are-disabled": "Topic thumbnails are disabled.",
|
|
||||||
"invalid-file": "Invalid File",
|
|
||||||
"uploads-are-disabled": "Uploads are disabled",
|
|
||||||
"upload-error": "Upload Error : %1",
|
|
||||||
"signature-too-long": "Signature can't be longer than %1 characters!",
|
|
||||||
"cant-chat-with-yourself": "You can't chat with yourself!",
|
|
||||||
"reputation-system-disabled": "Reputation system is disabled.",
|
|
||||||
"downvoting-disabled": "Downvoting is disabled",
|
|
||||||
"not-enough-reputation-to-downvote": "You do not have enough reputation to downvote this post",
|
|
||||||
"not-enough-reputation-to-flag": "Yo do not have enough reputation to flag this post",
|
|
||||||
"reload-failed": "NodeBB encountered a problem while reloading: \"%1\". NodeBB will continue to serve the existing client-side assets, although you should undo what you did just prior to reloading."
|
|
||||||
}
|
|
||||||
7
public/language/cs/footer.json
Normal file
7
public/language/cs/footer.json
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"stats.online": "Online",
|
||||||
|
"stats.users": "Uživatelé",
|
||||||
|
"stats.topics": "Témata",
|
||||||
|
"stats.posts": "Příspěvky",
|
||||||
|
"success": "úspěch"
|
||||||
|
}
|
||||||
@@ -13,17 +13,14 @@
|
|||||||
"please_log_in": "Please Log In",
|
"please_log_in": "Please Log In",
|
||||||
"logout": "Odhlásit se",
|
"logout": "Odhlásit se",
|
||||||
"posting_restriction_info": "Posting is currently restricted to registered members only, click here to log in.",
|
"posting_restriction_info": "Posting is currently restricted to registered members only, click here to log in.",
|
||||||
"welcome_back": "Welcome Back",
|
"welcome_back": "Welcome Back ",
|
||||||
"you_have_successfully_logged_in": "You have successfully logged in",
|
"you_have_successfully_logged_in": "You have successfully logged in",
|
||||||
"save_changes": "Uložit změny",
|
"save_changes": "Uložit změny",
|
||||||
"close": "Zrušit",
|
"close": "Zrušit",
|
||||||
"pagination": "Pagination",
|
"pagination": "Pagination",
|
||||||
"pagination.out_of": "%1 out of %2",
|
|
||||||
"pagination.enter_index": "Enter index",
|
|
||||||
"header.admin": "Administrace",
|
"header.admin": "Administrace",
|
||||||
"header.recent": "Aktuality",
|
"header.recent": "Aktuality",
|
||||||
"header.unread": "Nepřečtené",
|
"header.unread": "Nepřečtené",
|
||||||
"header.tags": "Tags",
|
|
||||||
"header.popular": "Populární",
|
"header.popular": "Populární",
|
||||||
"header.users": "Uživatelé",
|
"header.users": "Uživatelé",
|
||||||
"header.chats": "Chats",
|
"header.chats": "Chats",
|
||||||
@@ -38,38 +35,21 @@
|
|||||||
"alert.success": "Success",
|
"alert.success": "Success",
|
||||||
"alert.error": "Error",
|
"alert.error": "Error",
|
||||||
"alert.banned": "Banned",
|
"alert.banned": "Banned",
|
||||||
"alert.banned.message": "You have just been banned, you will now be logged out.",
|
"alert.banned.message": "You are banned you will be logged out!",
|
||||||
"alert.unfollow": "You are no longer following %1!",
|
"alert.unfollow": "You are no longer following %1!",
|
||||||
"alert.follow": "You are now following %1!",
|
"alert.follow": "You are now following %1!",
|
||||||
"online": "Online",
|
|
||||||
"users": "Users",
|
|
||||||
"topics": "Topics",
|
|
||||||
"posts": "Příspěvky",
|
"posts": "Příspěvky",
|
||||||
"views": "Zobrazení",
|
"views": "Zobrazení",
|
||||||
"reputation": "Reputation",
|
"posted": "odesláno",
|
||||||
"read_more": "read more",
|
"in": "v",
|
||||||
"posted_ago_by_guest": "posted %1 by Guest",
|
|
||||||
"posted_ago_by": "posted %1 by %2",
|
|
||||||
"posted_ago": "posted %1",
|
|
||||||
"posted_in_ago_by_guest": "posted in %1 %2 by Guest",
|
|
||||||
"posted_in_ago_by": "posted in %1 %2 by %3",
|
|
||||||
"posted_in_ago": "posted in %1 %2",
|
|
||||||
"replied_ago": "replied %1",
|
|
||||||
"user_posted_ago": "%1 posted %2",
|
|
||||||
"guest_posted_ago": "Guest posted %1",
|
|
||||||
"last_edited_by_ago": "last edited by %1 %2",
|
|
||||||
"norecentposts": "No Recent Posts",
|
"norecentposts": "No Recent Posts",
|
||||||
"norecenttopics": "No Recent Topics",
|
"norecenttopics": "No Recent Topics",
|
||||||
"recentposts": "Nedávné příspěvky",
|
"recentposts": "Nedávné příspěvky",
|
||||||
"recentips": "Recently Logged In IPs",
|
"recentips": "Recently Logged In IPs",
|
||||||
|
"online": "Online",
|
||||||
"away": "Pryč",
|
"away": "Pryč",
|
||||||
"dnd": "Nerušit",
|
"dnd": "Nerušit",
|
||||||
"invisible": "Neviditelný",
|
"invisible": "Neviditelný",
|
||||||
"offline": "Offline",
|
"offline": "Offline",
|
||||||
"email": "Email",
|
"privacy": "Privacy"
|
||||||
"language": "Language",
|
|
||||||
"guest": "Guest",
|
|
||||||
"guests": "Guests",
|
|
||||||
"updated.title": "Forum Updated",
|
|
||||||
"updated.message": "This forum has just been updated to the latest version. Click here to refresh the page."
|
|
||||||
}
|
}
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
"view_group": "View Group",
|
|
||||||
"details.title": "Group Details",
|
|
||||||
"details.members": "Member List",
|
|
||||||
"details.has_no_posts": "This group's members have not made any posts.",
|
|
||||||
"details.latest_posts": "Latest Posts"
|
|
||||||
}
|
|
||||||
@@ -1,9 +1,10 @@
|
|||||||
{
|
{
|
||||||
|
"login": "Přihlásit se",
|
||||||
"username": "Username / Email",
|
"username": "Username / Email",
|
||||||
|
"password": "Heslo",
|
||||||
"remember_me": "Zapamatovat si mě?",
|
"remember_me": "Zapamatovat si mě?",
|
||||||
"forgot_password": "Zapomněli jste heslo?",
|
"forgot_password": "Zapomněli jste heslo?",
|
||||||
"alternative_logins": "Další způsoby přihlášení",
|
"alternative_logins": "Další způsoby přihlášení",
|
||||||
"failed_login_attempt": "Přihlášení se nezdařilo, zkuste to prosím znovu.",
|
"failed_login_attempt": "Přihlášení se nezdařilo, zkuste to prosím znovu.",
|
||||||
"login_successful": "Přihlášení proběhlo úspěšně!",
|
"login_successful": "Přihlášení proběhlo úspěšně!"
|
||||||
"dont_have_account": "Don't have an account?"
|
|
||||||
}
|
}
|
||||||
@@ -1,22 +1,6 @@
|
|||||||
{
|
{
|
||||||
"chat.chatting_with": "Chat s <span id=\"chat-with-name\"></span>",
|
"chat.chatting_with": "Chat s <span id=\"chat-with-name\"></span>",
|
||||||
"chat.placeholder": "Type chat message here, press enter to send",
|
"chat.placeholder": "napište zprávu sem a zmáčkněte enter pro odeslání",
|
||||||
"chat.send": "Odeslat",
|
"chat.send": "Odeslat",
|
||||||
"chat.no_active": "Nemáte žádné aktivní konverzace.",
|
"chat.no_active": "Nemáte žádné aktivní konverzace."
|
||||||
"chat.user_typing": "%1 is typing ...",
|
|
||||||
"chat.user_has_messaged_you": "%1 has messaged you.",
|
|
||||||
"chat.see_all": "See all Chats",
|
|
||||||
"chat.no-messages": "Please select a recipient to view chat message history",
|
|
||||||
"chat.recent-chats": "Recent Chats",
|
|
||||||
"chat.contacts": "Contacts",
|
|
||||||
"chat.message-history": "Message History",
|
|
||||||
"chat.pop-out": "Pop out chat",
|
|
||||||
"chat.maximize": "Maximize",
|
|
||||||
"chat.yesterday": "Yesterday",
|
|
||||||
"chat.seven_days": "7 Days",
|
|
||||||
"chat.thirty_days": "30 Days",
|
|
||||||
"chat.three_months": "3 Months",
|
|
||||||
"composer.user_said_in": "%1 said in %2:",
|
|
||||||
"composer.user_said": "%1 said:",
|
|
||||||
"composer.discard": "Are you sure you wish to discard this post?"
|
|
||||||
}
|
}
|
||||||
@@ -2,25 +2,9 @@
|
|||||||
"title": "Upozornění",
|
"title": "Upozornění",
|
||||||
"no_notifs": "You have no new notifications",
|
"no_notifs": "You have no new notifications",
|
||||||
"see_all": "See all Notifications",
|
"see_all": "See all Notifications",
|
||||||
"back_to_home": "Back to %1",
|
"back_to_home": "Zpět na úvodní stránku",
|
||||||
"outgoing_link": "Odkaz mimo fórum",
|
"outgoing_link": "Odkaz mimo fórum",
|
||||||
"outgoing_link_message": "You are now leaving %1.",
|
"outgoing_link_message": "Nyní opouštíte fórum",
|
||||||
"continue_to": "Continue to %1",
|
"continue_to": "Přejít na",
|
||||||
"return_to": "Return to %1",
|
"return_to": "Vrátit se na "
|
||||||
"new_notification": "New Notification",
|
|
||||||
"you_have_unread_notifications": "You have unread notifications.",
|
|
||||||
"new_message_from": "New message from <strong>%1</strong>",
|
|
||||||
"upvoted_your_post_in": "<strong>%1</strong> has upvoted your post in <strong>%2</strong>.",
|
|
||||||
"moved_your_post": "<strong>%1</strong> has moved your post.",
|
|
||||||
"moved_your_topic": "<strong>%1</strong> has moved your topic.",
|
|
||||||
"favourited_your_post_in": "<strong>%1</strong> has favourited your post in <strong>%2</strong>.",
|
|
||||||
"user_flagged_post_in": "<strong>%1</strong> flagged a post in <strong>%2</strong>",
|
|
||||||
"user_posted_to": "<strong>%1</strong> has posted a reply to: <strong>%2</strong>",
|
|
||||||
"user_mentioned_you_in": "<strong>%1</strong> mentioned you in <strong>%2</strong>",
|
|
||||||
"user_started_following_you": "<strong>%1</strong> started following you.",
|
|
||||||
"email-confirmed": "Email Confirmed",
|
|
||||||
"email-confirmed-message": "Thank you for validating your email. Your account is now fully activated.",
|
|
||||||
"email-confirm-error": "An error occurred...",
|
|
||||||
"email-confirm-error-message": "There was a problem validating your email address. Perhaps the code was invalid or has expired.",
|
|
||||||
"email-confirm-sent": "Confirmation email sent."
|
|
||||||
}
|
}
|
||||||
@@ -5,14 +5,10 @@
|
|||||||
"recent": "Recent Topics",
|
"recent": "Recent Topics",
|
||||||
"users": "Registered Users",
|
"users": "Registered Users",
|
||||||
"notifications": "Notifications",
|
"notifications": "Notifications",
|
||||||
"tags": "Topics tagged under \"%1\"",
|
|
||||||
"user.edit": "Editing \"%1\"",
|
"user.edit": "Editing \"%1\"",
|
||||||
"user.following": "People %1 Follows",
|
"user.following": "People %1 Follows",
|
||||||
"user.followers": "People who Follow %1",
|
"user.followers": "People who Follow %1",
|
||||||
"user.posts": "Posts made by %1",
|
"user.posts": "Posts made by %1",
|
||||||
"user.topics": "Topics created by %1",
|
|
||||||
"user.favourites": "%1's Favourite Posts",
|
"user.favourites": "%1's Favourite Posts",
|
||||||
"user.settings": "User Settings",
|
"user.settings": "User Settings"
|
||||||
"maintenance.text": "%1 is currently undergoing maintenance. Please come back another time.",
|
|
||||||
"maintenance.messageIntro": "Additionally, the administator has left this message:"
|
|
||||||
}
|
}
|
||||||
@@ -3,7 +3,5 @@
|
|||||||
"day": "Den",
|
"day": "Den",
|
||||||
"week": "Týden",
|
"week": "Týden",
|
||||||
"month": "Měsíc",
|
"month": "Měsíc",
|
||||||
"year": "Year",
|
|
||||||
"alltime": "All Time",
|
|
||||||
"no_recent_topics": "There are no recent topics."
|
"no_recent_topics": "There are no recent topics."
|
||||||
}
|
}
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
{
|
|
||||||
"results_matching": "%1 result(s) matching \"%2\", (%3 seconds)",
|
|
||||||
"no-matches": "No posts found"
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
{
|
|
||||||
"success": "Success",
|
|
||||||
"topic-post": "You have successfully posted.",
|
|
||||||
"authentication-successful": "Authentication Successful",
|
|
||||||
"settings-saved": "Settings saved!"
|
|
||||||
}
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
"no_tag_topics": "There are no topics with this tag.",
|
|
||||||
"tags": "Tags",
|
|
||||||
"enter_tags_here": "Enter tags here. Press enter after each tag.",
|
|
||||||
"enter_tags_here_short": "Enter tags...",
|
|
||||||
"no_tags": "There are no tags yet."
|
|
||||||
}
|
|
||||||
@@ -1,20 +1,18 @@
|
|||||||
{
|
{
|
||||||
"topic": "Téma",
|
"topic": "Téma",
|
||||||
|
"topics": "Témata",
|
||||||
"topic_id": "Topic ID",
|
"topic_id": "Topic ID",
|
||||||
"topic_id_placeholder": "Enter topic ID",
|
"topic_id_placeholder": "Enter topic ID",
|
||||||
"no_topics_found": "Nebyla nalezena žádná témata!",
|
"no_topics_found": "Nebyla nalezena žádná témata!",
|
||||||
"no_posts_found": "No posts found!",
|
"no_posts_found": "No posts found!",
|
||||||
"post_is_deleted": "This post is deleted!",
|
|
||||||
"profile": "Profil",
|
"profile": "Profil",
|
||||||
"posted_by": "Posted by %1",
|
"posted_by": "Odeslal",
|
||||||
"posted_by_guest": "Posted by Guest",
|
|
||||||
"chat": "Chat",
|
"chat": "Chat",
|
||||||
"notify_me": "Sledovat toto téma",
|
"notify_me": "Sledovat toto téma",
|
||||||
"quote": "Citovat",
|
"quote": "Citovat",
|
||||||
"reply": "Odpovědět",
|
"reply": "Odpovědět",
|
||||||
"edit": "Upravit",
|
"edit": "Upravit",
|
||||||
"delete": "Smazat",
|
"delete": "Smazat",
|
||||||
"purge": "Purge",
|
|
||||||
"restore": "Restore",
|
"restore": "Restore",
|
||||||
"move": "Přesunout",
|
"move": "Přesunout",
|
||||||
"fork": "Rozdělit",
|
"fork": "Rozdělit",
|
||||||
@@ -23,61 +21,60 @@
|
|||||||
"share": "Sdílet",
|
"share": "Sdílet",
|
||||||
"tools": "Nástroje",
|
"tools": "Nástroje",
|
||||||
"flag": "Flag",
|
"flag": "Flag",
|
||||||
"locked": "Locked",
|
|
||||||
"bookmark_instructions": "Click here to return to your last position or close to discard.",
|
"bookmark_instructions": "Click here to return to your last position or close to discard.",
|
||||||
"flag_title": "Flag this post for moderation",
|
"flag_title": "Flag this post for moderation",
|
||||||
"flag_confirm": "Are you sure you want to flag this post?",
|
"flag_confirm": "Are you sure you want to flag this post?",
|
||||||
"flag_success": "This post has been flagged for moderation.",
|
"flag_success": "This post has been flagged for moderation.",
|
||||||
"deleted_message": "This topic has been deleted. Only users with topic management privileges can see it.",
|
"deleted_message": "This thread has been deleted. Only users with thread management privileges can see it.",
|
||||||
|
"following_topic.title": "Following Topic",
|
||||||
"following_topic.message": "You will now be receiving notifications when somebody posts to this topic.",
|
"following_topic.message": "You will now be receiving notifications when somebody posts to this topic.",
|
||||||
|
"not_following_topic.title": "Not Following Topic",
|
||||||
"not_following_topic.message": "You will no longer receive notifications from this topic.",
|
"not_following_topic.message": "You will no longer receive notifications from this topic.",
|
||||||
"login_to_subscribe": "Please register or log in in order to subscribe to this topic.",
|
"login_to_subscribe": "Please register or log in in order to subscribe to this topic.",
|
||||||
"markAsUnreadForAll.success": "Topic marked as unread for all.",
|
"markAsUnreadForAll.success": "Topic marked as unread for all.",
|
||||||
"watch": "Watch",
|
"watch": "Watch",
|
||||||
"unwatch": "Unwatch",
|
|
||||||
"watch.title": "Be notified of new replies in this topic",
|
"watch.title": "Be notified of new replies in this topic",
|
||||||
"unwatch.title": "Stop watching this topic",
|
|
||||||
"share_this_post": "Share this Post",
|
"share_this_post": "Share this Post",
|
||||||
"thread_tools.title": "Topic Tools",
|
"thread_tools.title": "Nástroje",
|
||||||
"thread_tools.markAsUnreadForAll": "Označit jako nepřečtené",
|
"thread_tools.markAsUnreadForAll": "Označit jako nepřečtené",
|
||||||
"thread_tools.pin": "Pin Topic",
|
"thread_tools.pin": "Pin Topic",
|
||||||
"thread_tools.unpin": "Unpin Topic",
|
"thread_tools.unpin": "Unpin Topic",
|
||||||
"thread_tools.lock": "Lock Topic",
|
"thread_tools.lock": "Lock Topic",
|
||||||
"thread_tools.unlock": "Unlock Topic",
|
"thread_tools.unlock": "Unlock Topic",
|
||||||
"thread_tools.move": "Move Topic",
|
"thread_tools.move": "Move Topic",
|
||||||
"thread_tools.move_all": "Move All",
|
|
||||||
"thread_tools.fork": "Fork Topic",
|
"thread_tools.fork": "Fork Topic",
|
||||||
"thread_tools.delete": "Delete Topic",
|
"thread_tools.delete": "Delete Topic",
|
||||||
"thread_tools.delete_confirm": "Are you sure you want to delete this topic?",
|
|
||||||
"thread_tools.restore": "Restore Topic",
|
"thread_tools.restore": "Restore Topic",
|
||||||
"thread_tools.restore_confirm": "Are you sure you want to restore this topic?",
|
|
||||||
"thread_tools.purge": "Purge Topic",
|
|
||||||
"thread_tools.purge_confirm": "Are you sure you want to purge this topic?",
|
|
||||||
"topic_move_success": "This topic has been successfully moved to %1",
|
|
||||||
"post_delete_confirm": "Are you sure you want to delete this post?",
|
|
||||||
"post_restore_confirm": "Are you sure you want to restore this post?",
|
|
||||||
"post_purge_confirm": "Are you sure you want to purge this post?",
|
|
||||||
"load_categories": "Načítání kategorií",
|
"load_categories": "Načítání kategorií",
|
||||||
"disabled_categories_note": "Vypnuté (disabled) kategorie jsou šedé.",
|
"disabled_categories_note": "Vypnuté (disabled) kategorie jsou šedé.",
|
||||||
"confirm_move": "Přesunout",
|
"confirm_move": "Přesunout",
|
||||||
"confirm_fork": "Rozdělit",
|
"confirm_fork": "Rozdělit",
|
||||||
"favourite": "Oblíbené",
|
"favourite": "Oblíbené",
|
||||||
"favourites": "Oblíbené",
|
"favourites": "Oblíbené",
|
||||||
|
"favourites.not_logged_in.title": "Přihlaste se!",
|
||||||
|
"favourites.not_logged_in.message": "Pro oblíbení příspěvku se musíte přihlásit.",
|
||||||
"favourites.has_no_favourites": "Nemáte žádné oblíbené příspěvky, přidejte některý příspěvek k oblíbeným a uvidíte ho zde!",
|
"favourites.has_no_favourites": "Nemáte žádné oblíbené příspěvky, přidejte některý příspěvek k oblíbeným a uvidíte ho zde!",
|
||||||
|
"vote.not_logged_in.title": "Not Logged In",
|
||||||
|
"vote.not_logged_in.message": "Please log in in order to vote",
|
||||||
|
"vote.cant_vote_self.title": "Invalid Vote",
|
||||||
|
"vote.cant_vote_self.message": "You cannot vote for your own post",
|
||||||
"loading_more_posts": "Načítání více příspěvků",
|
"loading_more_posts": "Načítání více příspěvků",
|
||||||
"move_topic": "Přesunout téma",
|
"move_topic": "Přesunout téma",
|
||||||
"move_topics": "Move Topics",
|
|
||||||
"move_post": "Přesunout příspěvek",
|
"move_post": "Přesunout příspěvek",
|
||||||
"post_moved": "Post moved!",
|
|
||||||
"fork_topic": "Rozdělit příspěvek",
|
"fork_topic": "Rozdělit příspěvek",
|
||||||
"topic_will_be_moved_to": "Toto téma bude přesunuto do kategorie",
|
"topic_will_be_moved_to": "Toto téma bude přesunuto do kategorie",
|
||||||
"fork_topic_instruction": "Vyber příspěvky, které chceš oddělit",
|
"fork_topic_instruction": "Vyber příspěvky, které chceš oddělit",
|
||||||
"fork_no_pids": "Žádné příspěvky nebyly vybrány!",
|
"fork_no_pids": "Žádné příspěvky nebyly vybrány!",
|
||||||
"fork_success": "Succesfully forked topic! Click here to go to the forked topic.",
|
"fork_success": "Téma bylo úspěšně rozděleno!",
|
||||||
|
"reputation": "Reputace",
|
||||||
|
"posts": "Příspěvky",
|
||||||
"composer.title_placeholder": "Enter your topic title here...",
|
"composer.title_placeholder": "Enter your topic title here...",
|
||||||
|
"composer.write": "Write",
|
||||||
|
"composer.preview": "Preview",
|
||||||
|
"composer.help": "Help",
|
||||||
"composer.discard": "Discard",
|
"composer.discard": "Discard",
|
||||||
"composer.submit": "Submit",
|
"composer.submit": "Submit",
|
||||||
"composer.replying_to": "Replying to %1",
|
"composer.replying_to": "Replying to",
|
||||||
"composer.new_topic": "New Topic",
|
"composer.new_topic": "New Topic",
|
||||||
"composer.uploading": "uploading...",
|
"composer.uploading": "uploading...",
|
||||||
"composer.thumb_url_label": "Paste a topic thumbnail URL",
|
"composer.thumb_url_label": "Paste a topic thumbnail URL",
|
||||||
@@ -86,12 +83,5 @@
|
|||||||
"composer.thumb_file_label": "Or upload a file",
|
"composer.thumb_file_label": "Or upload a file",
|
||||||
"composer.thumb_remove": "Clear fields",
|
"composer.thumb_remove": "Clear fields",
|
||||||
"composer.drag_and_drop_images": "Drag and Drop Images Here",
|
"composer.drag_and_drop_images": "Drag and Drop Images Here",
|
||||||
"more_users_and_guests": "%1 more user(s) and %2 guest(s)",
|
"composer.upload_instructions": "Upload images by dragging & dropping them."
|
||||||
"more_users": "%1 more user(s)",
|
|
||||||
"more_guests": "%1 more guest(s)",
|
|
||||||
"users_and_others": "%1 and %2 others",
|
|
||||||
"sort_by": "Sort by",
|
|
||||||
"oldest_to_newest": "Oldest to Newest",
|
|
||||||
"newest_to_oldest": "Newest to Oldest",
|
|
||||||
"most_votes": "Most votes"
|
|
||||||
}
|
}
|
||||||
@@ -1,9 +1,6 @@
|
|||||||
{
|
{
|
||||||
"title": "Unread",
|
"title": "Unread",
|
||||||
"no_unread_topics": "Nejsou zde žádné nepřečtené témata.",
|
"no_unread_topics": "Nejsou zde žádné nepřečtené témata.",
|
||||||
"load_more": "Načíst další",
|
"mark_all_read": "Označit vše jako přečtené",
|
||||||
"mark_as_read": "Mark as Read",
|
"load_more": "Načíst další"
|
||||||
"selected": "Selected",
|
|
||||||
"all": "All",
|
|
||||||
"topics_marked_as_read.success": "Topics marked as read!"
|
|
||||||
}
|
}
|
||||||
@@ -3,11 +3,9 @@
|
|||||||
"offline": "Offline",
|
"offline": "Offline",
|
||||||
"username": "Uživatelské jméno",
|
"username": "Uživatelské jméno",
|
||||||
"email": "Email",
|
"email": "Email",
|
||||||
"confirm_email": "Confirm Email",
|
|
||||||
"delete_account": "Delete Account",
|
|
||||||
"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 username to confirm that you wish to destroy this account.",
|
|
||||||
"fullname": "Jméno a příjmení",
|
"fullname": "Jméno a příjmení",
|
||||||
"website": "Webové stránky",
|
"website": "Webové stránky",
|
||||||
|
"user:website_placeholder": "http://...",
|
||||||
"location": "Poloha",
|
"location": "Poloha",
|
||||||
"age": "Věk",
|
"age": "Věk",
|
||||||
"joined": "Registrován",
|
"joined": "Registrován",
|
||||||
@@ -15,57 +13,44 @@
|
|||||||
"profile": "Profile",
|
"profile": "Profile",
|
||||||
"profile_views": "Zobrazení profilu",
|
"profile_views": "Zobrazení profilu",
|
||||||
"reputation": "Reputace",
|
"reputation": "Reputace",
|
||||||
|
"posts": "Příspěvky",
|
||||||
"favourites": "Oblíbené",
|
"favourites": "Oblíbené",
|
||||||
"followers": "Sledují ho",
|
"followers": "Sledují ho",
|
||||||
"following": "Sleduje",
|
"following": "Sleduje",
|
||||||
"signature": "Podpis",
|
"signature": "Podpis",
|
||||||
"gravatar": "Gravatar",
|
"gravatar": "Gravatar",
|
||||||
"birthday": "Datum narození",
|
"birthday": "Datum narození",
|
||||||
|
"birthday_placeholder": "mm/dd/yyyy",
|
||||||
"chat": "Chat",
|
"chat": "Chat",
|
||||||
"follow": "Follow",
|
"follow": "Follow",
|
||||||
"unfollow": "Unfollow",
|
"unfollow": "Unfollow",
|
||||||
"profile_update_success": "Profile has been updated successfully!",
|
|
||||||
"change_picture": "Změnit obrázek",
|
"change_picture": "Změnit obrázek",
|
||||||
"edit": "Upravit",
|
"edit": "Upravit",
|
||||||
"uploaded_picture": "Nahraný obrázek",
|
"uploaded_picture": "Nahraný obrázek",
|
||||||
"upload_new_picture": "Nahrát nový obrázek",
|
"upload_new_picture": "Nahrát nový obrázek",
|
||||||
"upload_new_picture_from_url": "Upload New Picture From URL",
|
|
||||||
"current_password": "Current Password",
|
"current_password": "Current Password",
|
||||||
"change_password": "Změnit heslo",
|
"change_password": "Změnit heslo",
|
||||||
"change_password_error": "Invalid Password!",
|
"change_password_error": "Invalid Password!",
|
||||||
"change_password_error_wrong_current": "Your current password is not correct!",
|
"change_password_error_wrong_current": "Your current password is not correct!",
|
||||||
"change_password_error_length": "Password too short!",
|
"change_password_error_length": "Password too short!",
|
||||||
"change_password_error_match": "Passwords must match!",
|
"change_password_error_match": "Passwords must match!",
|
||||||
"change_password_error_privileges": "You do not have the rights to change this password.",
|
"change_password_error_privileges": "You are not have the rights to change this password.",
|
||||||
"change_password_success": "Your password is updated!",
|
"change_password_success": "Your password is updated!",
|
||||||
"confirm_password": "Potvrzení hesla",
|
"confirm_password": "Potvrzení hesla",
|
||||||
"password": "Heslo",
|
"password": "Heslo",
|
||||||
"username_taken_workaround": "The username you requested was already taken, so we have altered it slightly. You are now known as <strong>%1</strong>",
|
|
||||||
"upload_picture": "Nahrát obrázek",
|
"upload_picture": "Nahrát obrázek",
|
||||||
"upload_a_picture": "Nahrát obrázek",
|
"upload_a_picture": "Nahrát obrázek",
|
||||||
"image_spec": "You may only upload PNG, JPG, or GIF files",
|
"image_spec": "You may only upload PNG, JPG, or GIF files",
|
||||||
"max": "max.",
|
"max": "max.",
|
||||||
"settings": "Nastavení",
|
"settings": "Nastavení",
|
||||||
"show_email": "Zobrazovat můj email v profilu",
|
"show_email": "Zobrazovat můj email v profilu",
|
||||||
"digest_label": "Subscribe to Digest",
|
|
||||||
"digest_description": "Subscribe to email updates for this forum (new notifications and topics) according to a set schedule",
|
|
||||||
"digest_off": "Off",
|
|
||||||
"digest_daily": "Daily",
|
|
||||||
"digest_weekly": "Weekly",
|
|
||||||
"digest_monthly": "Monthly",
|
|
||||||
"send_chat_notifications": "Send an email if a new chat message arrives and I am not online",
|
|
||||||
"has_no_follower": "Tohoto uživatele nikdo nesleduje :(",
|
"has_no_follower": "Tohoto uživatele nikdo nesleduje :(",
|
||||||
"follows_no_one": "Tento uživatel nikoho nesleduje :(",
|
"follows_no_one": "Tento uživatel nikoho nesleduje :(",
|
||||||
"has_no_posts": "This user didn't post anything yet.",
|
"has_no_posts": "This user didn't post anything yet.",
|
||||||
"has_no_topics": "This user didn't post any topics yet.",
|
|
||||||
"email_hidden": "Skrytý email",
|
"email_hidden": "Skrytý email",
|
||||||
"hidden": "skrytý",
|
"hidden": "skrytý",
|
||||||
"paginate_description": "Paginate topics and posts instead of using infinite scroll.",
|
"paginate_description": "Paginate topics and posts instead of using infinite scroll.",
|
||||||
"topics_per_page": "Topics per Page",
|
"topics_per_page": "Topics per Page",
|
||||||
"posts_per_page": "Posts per Page",
|
"posts_per_page": "Posts per Page",
|
||||||
"notification_sounds": "Play a sound when you receive a notification.",
|
"notification_sounds": "Play a sound when you receive a notification."
|
||||||
"browsing": "Browsing Settings",
|
|
||||||
"open_links_in_new_tab": "Open outgoing links in new tab?",
|
|
||||||
"follow_topics_you_reply_to": "Follow topics that you reply to.",
|
|
||||||
"follow_topics_you_create": "Follow topics you create."
|
|
||||||
}
|
}
|
||||||
@@ -2,9 +2,8 @@
|
|||||||
"latest_users": "Nejnovější uživatelé",
|
"latest_users": "Nejnovější uživatelé",
|
||||||
"top_posters": "Nejaktivnější",
|
"top_posters": "Nejaktivnější",
|
||||||
"most_reputation": "Nejváženější",
|
"most_reputation": "Nejváženější",
|
||||||
|
"online": "Online",
|
||||||
"search": "Vyhledávat",
|
"search": "Vyhledávat",
|
||||||
"enter_username": "Zadej uživatelské jméno k hledání",
|
"enter_username": "Zadej uživatelské jméno k hledání",
|
||||||
"load_more": "Načíst další",
|
"load_more": "Načíst další"
|
||||||
"user-not-found": "User not found!",
|
|
||||||
"users-found-search-took": "%1 user(s) found! Search took %2 ms."
|
|
||||||
}
|
}
|
||||||
@@ -1,8 +1,12 @@
|
|||||||
{
|
{
|
||||||
"new_topic_button": "Neues Thema",
|
"new_topic_button": "Neues Thema",
|
||||||
"no_topics": "<strong>Es gibt noch keine Themen in dieser Kategorie.</strong><br />Warum beginnst du nicht das erste?",
|
"no_topics": "<strong>Es gibt noch keine Themen in dieser Kategorie.</strong><br />Warum beginnst du nicht das erste?",
|
||||||
|
"posts": "Beiträge",
|
||||||
|
"views": "Aufrufe",
|
||||||
|
"posted": "Geschrieben",
|
||||||
"browsing": "Aktiv",
|
"browsing": "Aktiv",
|
||||||
"no_replies": "Niemand hat geantwortet",
|
"no_replies": "Niemand hat geantwortet",
|
||||||
"share_this_category": "Teile diese Kategorie",
|
"replied": "geantwortet",
|
||||||
"ignore": "Ignorieren"
|
"last_edited_by": "zuletzt editiert durch",
|
||||||
|
"share_this_category": "Share this category"
|
||||||
}
|
}
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
{
|
|
||||||
"password-reset-requested": "Zurücksetzung des Passworts beantragt - %1!",
|
|
||||||
"welcome-to": "Willkommen zu %1",
|
|
||||||
"greeting_no_name": "Hallo",
|
|
||||||
"greeting_with_name": "Hallo %1",
|
|
||||||
"welcome.text1": "Vielen Dank für die Registrierung mit %1!",
|
|
||||||
"welcome.text2": "Um dein Konto vollständig zu aktivieren, müssen wir überprüfen, ob du Besitzer der E-Mail-Adresse bist, mit der du dich registriert hast.",
|
|
||||||
"welcome.cta": "Klicke hier, um deine E-Mail-Adresse zu bestätigen.",
|
|
||||||
"reset.text1": "Wir haben eine Anfrage auf Zurücksetzung deines Passworts erhalten, wahrscheinlich, weil du es vergessen hast. Falls dies nicht der Fall ist, ignoriere bitte diese E-Mail.",
|
|
||||||
"reset.text2": "Klicke bitte auf den folgenden Link, um mit der Zurücksetzung deines Passworts fortzufahren:",
|
|
||||||
"reset.cta": "Klicke hier, um dein Passwort zurückzusetzen",
|
|
||||||
"digest.notifications": "Du hast einige ungelesene Benachrichtigungen vom %1:",
|
|
||||||
"digest.latest_topics": "Aktuellste Themen vom %1",
|
|
||||||
"digest.cta": "Klicke hier, um %1 zu besuchen",
|
|
||||||
"digest.unsub.info": "Diese Zusammenfassung wurde dir aufgrund deiner Abonnement-Einstellungen gesendet.",
|
|
||||||
"digest.daily.no_topics": "Es gab heute keine aktiven Themen",
|
|
||||||
"notif.chat.subject": "Neue Chatnachricht von %1 erhalten",
|
|
||||||
"notif.chat.cta": "Klicke hier, um die Unterhaltung fortzusetzen",
|
|
||||||
"notif.chat.unsub.info": "Diese Chat-Benachrichtigung wurde dir aufgrund deiner Abonnement-Einstellungen gesendet.",
|
|
||||||
"test.text1": "Dies ist eine Test-E-Mail, um zu überprüfen, ob der E-Mailer deines NodeBB korrekt eingestellt wurde.",
|
|
||||||
"unsub.cta": "Klicke hier, um diese Einstellungen zu ändern.",
|
|
||||||
"closing": "Danke!"
|
|
||||||
}
|
|
||||||
@@ -1,64 +0,0 @@
|
|||||||
{
|
|
||||||
"invalid-data": "Daten ungültig",
|
|
||||||
"not-logged-in": "Du bist nicht angemeldet.",
|
|
||||||
"account-locked": "Dein Account wurde vorübergehend gesperrt.",
|
|
||||||
"search-requires-login": "Die Suche erfordert ein Konto! Bitte log dich ein oder registrieren dich!",
|
|
||||||
"invalid-cid": "Ungültige Kategorie-ID",
|
|
||||||
"invalid-tid": "Ungültige Themen-ID",
|
|
||||||
"invalid-pid": "Ungültige Beitrags-ID",
|
|
||||||
"invalid-uid": "Ungültige Benutzer-ID",
|
|
||||||
"invalid-username": "Ungültiger Benutzername",
|
|
||||||
"invalid-email": "Ungültige E-Mail-Adresse",
|
|
||||||
"invalid-title": "Ungültiger Titel",
|
|
||||||
"invalid-user-data": "Ungültige Benutzerdaten",
|
|
||||||
"invalid-password": "Ungültiges Passwort",
|
|
||||||
"invalid-username-or-password": "Bitte gebe einen Benutzernamen und ein Passwort an",
|
|
||||||
"invalid-search-term": "Invalid search term",
|
|
||||||
"invalid-pagination-value": "Die Nummerierung ist ungültig",
|
|
||||||
"username-taken": "Der Benutzername ist bereits vergeben",
|
|
||||||
"email-taken": "Die E-Mail-Adresse ist bereits vergeben",
|
|
||||||
"email-not-confirmed": "Deine E-Mail wurde noch nicht bestätigt. Bitte klicke hier, um deine E-Mail zu bestätigen.",
|
|
||||||
"username-too-short": "Benutzername ist zu kurz",
|
|
||||||
"username-too-long": "Der Benutzername ist zu lang",
|
|
||||||
"user-banned": "Der Benutzer ist gesperrt",
|
|
||||||
"user-too-new": "Du musst %1 Sekunden warten, bevor du deinen ersten Beitrag verfassen kannst!",
|
|
||||||
"no-category": "Die Kategorie existiert nicht",
|
|
||||||
"no-topic": "Das Thema existiert nicht",
|
|
||||||
"no-post": "Der Beitrag existiert nicht",
|
|
||||||
"no-group": "Die Gruppe existiert nicht",
|
|
||||||
"no-user": "Der Benutzer existiert nicht",
|
|
||||||
"no-teaser": "Kurztext existiert nicht",
|
|
||||||
"no-privileges": "Du verfügst nicht über ausreichende Berechtigungen, um die Aktion durchzuführen.",
|
|
||||||
"no-emailers-configured": "Es wurde keine E-Mail-Plugins geladen, weshalb eine Test-E-Mail nicht gesendet werden konnte.",
|
|
||||||
"category-disabled": "Kategorie ist deaktiviert",
|
|
||||||
"topic-locked": "Thema ist gesperrt",
|
|
||||||
"still-uploading": "Bitte warte bis der Vorgang abgeschlossen ist.",
|
|
||||||
"content-too-short": "Der Beitrag muss mindestens %1 Zeichen enthalten.",
|
|
||||||
"title-too-short": "Der Titel muss mindestens %1 Zeichen enthalten.",
|
|
||||||
"title-too-long": "Der Titel darf maximal %1 Zeichen enthalten.",
|
|
||||||
"too-many-posts": "Du kannst maximal alle %1 Sekunden einen Beitrag erstellen.",
|
|
||||||
"file-too-big": "Die maximale Dateigröße beträgt %1 kbs",
|
|
||||||
"cant-vote-self-post": "Du kannst deinen eigenen Beitrag nicht bewerten.",
|
|
||||||
"already-favourited": "Dieser Beitrag ist bereits in deinen Favoriten enthalten",
|
|
||||||
"already-unfavourited": "Du hast diesen Beitrag bereits aus deinen Favoriten entfernt",
|
|
||||||
"cant-ban-other-admins": "Du kannst andere Administratoren nicht sperren!",
|
|
||||||
"invalid-image-type": "Ungültiger Bildtyp",
|
|
||||||
"group-name-too-short": "Gruppenname zu kurz",
|
|
||||||
"group-already-exists": "Gruppe existiert bereits",
|
|
||||||
"group-name-change-not-allowed": "Du kannst den Namen der Gruppe nicht ändern",
|
|
||||||
"post-already-deleted": "Beitrag wurde bereits gelöscht",
|
|
||||||
"post-already-restored": "Der Beitrag wurde bereits wiederhergestellt",
|
|
||||||
"topic-already-deleted": "Das Thema wurde bereits gelöscht",
|
|
||||||
"topic-already-restored": "Das Thema wurde bereits wiederhergestellt",
|
|
||||||
"topic-thumbnails-are-disabled": "Vorschaubilder für Themen sind deaktiviert",
|
|
||||||
"invalid-file": "Datei ungültig",
|
|
||||||
"uploads-are-disabled": "Uploads sind deaktiviert",
|
|
||||||
"upload-error": "Upload-Fehler: %1",
|
|
||||||
"signature-too-long": "Die Signatur darf maximal %1 Zeichen enthalten!",
|
|
||||||
"cant-chat-with-yourself": "Du kannst nicht mit dir selber chatten!",
|
|
||||||
"reputation-system-disabled": "Das Reputationssystem ist deaktiviert.",
|
|
||||||
"downvoting-disabled": "Downvotes sind deaktiviert.",
|
|
||||||
"not-enough-reputation-to-downvote": "Deine Reputation ist zu niedrig, um diesen Beitrag negativ zu bewerten.",
|
|
||||||
"not-enough-reputation-to-flag": "Deine Reputation ist nicht gut genug, um diesen Beitrag zu melden.",
|
|
||||||
"reload-failed": "Es ist ein Problem während des Reloads von NodeBB aufgetreten: \"%1\". NodeBB wird weiterhin clientseitige Assets bereitstellen, allerdings solltest du das, was du vor dem Reload gemacht hast, rückgängig machen."
|
|
||||||
}
|
|
||||||
7
public/language/de/footer.json
Normal file
7
public/language/de/footer.json
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"stats.online": "Online",
|
||||||
|
"stats.users": "Benutzer",
|
||||||
|
"stats.topics": "Themen",
|
||||||
|
"stats.posts": "Beiträge",
|
||||||
|
"success": "erfolg"
|
||||||
|
}
|
||||||
@@ -2,13 +2,13 @@
|
|||||||
"home": "Übersicht",
|
"home": "Übersicht",
|
||||||
"search": "Suche",
|
"search": "Suche",
|
||||||
"buttons.close": "Schließen",
|
"buttons.close": "Schließen",
|
||||||
"403.title": "Zugriff verweigert",
|
"403.title": "Zugriff Verweigert",
|
||||||
"403.message": "Du bist nicht dazu berechtigt, diese Seite aufzurufen. <a href='/login'>Logge dich ein</a> und versuche es erneut.",
|
"403.message": "Du bist nicht dazu berechtigt, diese Seite aufzurufen. <a href='/login'>Logge dich ein</a> und versuche es erneut.",
|
||||||
"404.title": " Nicht Gefunden",
|
"404.title": " Nicht Gefunden",
|
||||||
"404.message": "Die angeforderte Seite wurde nicht gefunden. <a href='/''>Zurück zur Übersicht</a>.",
|
"404.message": "Die abgefragte Seite wurde nicht gefunden. <a href='/''>Zurück zur Übersicht</a>.",
|
||||||
"500.title": "Interner Fehler.",
|
"500.title": "Internal error.",
|
||||||
"500.message": "Ups! Scheint als wäre etwas schief gelaufen!",
|
"500.message": "Ooops! Looks like something went wrong!",
|
||||||
"register": "Registrieren",
|
"register": "Registrierung",
|
||||||
"login": "Login",
|
"login": "Login",
|
||||||
"please_log_in": "Bitte einloggen",
|
"please_log_in": "Bitte einloggen",
|
||||||
"logout": "Logout",
|
"logout": "Logout",
|
||||||
@@ -18,19 +18,16 @@
|
|||||||
"save_changes": "Speichere Änderungen",
|
"save_changes": "Speichere Änderungen",
|
||||||
"close": "Schließen",
|
"close": "Schließen",
|
||||||
"pagination": "Seitennummerierung",
|
"pagination": "Seitennummerierung",
|
||||||
"pagination.out_of": "%1 von %2",
|
|
||||||
"pagination.enter_index": "Seitenzahl eingeben",
|
|
||||||
"header.admin": "Admin",
|
"header.admin": "Admin",
|
||||||
"header.recent": "Aktuell",
|
"header.recent": "Aktuell",
|
||||||
"header.unread": "Ungelesen",
|
"header.unread": "Ungelesen",
|
||||||
"header.tags": "Tags",
|
|
||||||
"header.popular": "Beliebt",
|
"header.popular": "Beliebt",
|
||||||
"header.users": "Benutzer",
|
"header.users": "Benutzer",
|
||||||
"header.chats": "Chats",
|
"header.chats": "Chats",
|
||||||
"header.notifications": "Benachrichtigungen",
|
"header.notifications": "Benachrichtigungen",
|
||||||
"header.search": "Suche",
|
"header.search": "Suche",
|
||||||
"header.profile": "Profil",
|
"header.profile": "Profil",
|
||||||
"notifications.loading": "Benachrichtigungen werden geladen",
|
"notifications.loading": "Benachrichtigungen laden",
|
||||||
"chats.loading": "Nachrichten werden geladen",
|
"chats.loading": "Nachrichten werden geladen",
|
||||||
"motd.welcome": "Willkommen auf NodeBB, der Diskussionsplattform der Zukunft.",
|
"motd.welcome": "Willkommen auf NodeBB, der Diskussionsplattform der Zukunft.",
|
||||||
"previouspage": "Vorherige Seite",
|
"previouspage": "Vorherige Seite",
|
||||||
@@ -41,35 +38,18 @@
|
|||||||
"alert.banned.message": "Du bist gebannt und wirst nun ausgeloggt.",
|
"alert.banned.message": "Du bist gebannt und wirst nun ausgeloggt.",
|
||||||
"alert.unfollow": "Du folgst %1 nicht länger!",
|
"alert.unfollow": "Du folgst %1 nicht länger!",
|
||||||
"alert.follow": "Du folgst nun %1!",
|
"alert.follow": "Du folgst nun %1!",
|
||||||
"online": "Online",
|
|
||||||
"users": "Benutzer",
|
|
||||||
"topics": "Themen",
|
|
||||||
"posts": "Beiträge",
|
"posts": "Beiträge",
|
||||||
"views": "Aufrufe",
|
"views": "Aufrufe",
|
||||||
"reputation": "Reputation",
|
"posted": "geposted",
|
||||||
"read_more": "weiterlesen",
|
"in": "in",
|
||||||
"posted_ago_by_guest": "%1 von einem Gast geschrieben",
|
|
||||||
"posted_ago_by": "%1 von %2 geschrieben",
|
|
||||||
"posted_ago": "%1 geschrieben",
|
|
||||||
"posted_in_ago_by_guest": "verfasst in %1 %2 von einem Gast",
|
|
||||||
"posted_in_ago_by": "Verfasst in %1 %2 von %3",
|
|
||||||
"posted_in_ago": "Verfasst in %1 %2",
|
|
||||||
"replied_ago": "antwortete %1",
|
|
||||||
"user_posted_ago": "%1 schrieb %2",
|
|
||||||
"guest_posted_ago": "Gast schrieb %1",
|
|
||||||
"last_edited_by_ago": "zuletzt editiert von %1 %2",
|
|
||||||
"norecentposts": "Keine aktuellen Beiträge",
|
"norecentposts": "Keine aktuellen Beiträge",
|
||||||
"norecenttopics": "Keine aktuellen Themen",
|
"norecenttopics": "Keine aktuellen Themen",
|
||||||
"recentposts": "Aktuelle Beiträge",
|
"recentposts": "Aktuelle Beiträge",
|
||||||
"recentips": "Zuletzt eingeloggte IPs",
|
"recentips": "Zuletzt eingeloggte IPs",
|
||||||
|
"online": "Online",
|
||||||
"away": "Abwesend",
|
"away": "Abwesend",
|
||||||
"dnd": "Nicht stören",
|
"dnd": "Nicht stören",
|
||||||
"invisible": "Unsichtbar",
|
"invisible": "Unsichtbar",
|
||||||
"offline": "Offline",
|
"offline": "Offline",
|
||||||
"email": "E-Mail",
|
"privacy": "Privatsphäre"
|
||||||
"language": "Sprache",
|
|
||||||
"guest": "Gast",
|
|
||||||
"guests": "Gäste",
|
|
||||||
"updated.title": "Forum aktualisiert",
|
|
||||||
"updated.message": "Dieses Forum wurde gerade auf die neueste Version aktualisiert. Klicke hier, um die Seite neuzuladen."
|
|
||||||
}
|
}
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
"view_group": "Gruppe betrachten",
|
|
||||||
"details.title": "Gruppendetails",
|
|
||||||
"details.members": "Mitgliederliste",
|
|
||||||
"details.has_no_posts": "Die Mitglieder dieser Gruppe haben keine Beiträge verfasst.",
|
|
||||||
"details.latest_posts": "Aktuelle Beiträge"
|
|
||||||
}
|
|
||||||
@@ -1,9 +1,10 @@
|
|||||||
{
|
{
|
||||||
|
"login": "Einloggen",
|
||||||
"username": "Nutzername / E-Mail Adresse",
|
"username": "Nutzername / E-Mail Adresse",
|
||||||
|
"password": "Passwort",
|
||||||
"remember_me": "Eingeloggt bleiben?",
|
"remember_me": "Eingeloggt bleiben?",
|
||||||
"forgot_password": "Passwort vergessen?",
|
"forgot_password": "Passwort vergessen?",
|
||||||
"alternative_logins": "Login Alternativen",
|
"alternative_logins": "Login Alternativen",
|
||||||
"failed_login_attempt": " Anmeldeversuch fehlgeschlagen, versuche es erneut.",
|
"failed_login_attempt": " Anmeldeversuch fehlgeschlagen, versuche es erneut.",
|
||||||
"login_successful": "Du hast dich erfolgreich eingeloggt!",
|
"login_successful": "Du hast dich erfolgreich eingeloggt!"
|
||||||
"dont_have_account": "Sie haben noch kein Konto?"
|
|
||||||
}
|
}
|
||||||
@@ -1,22 +1,6 @@
|
|||||||
{
|
{
|
||||||
"chat.chatting_with": "Mit <span id='chat-with-name'></span> chatten",
|
"chat.chatting_with": "Chatten mit <span id='chat-with-name'></span>",
|
||||||
"chat.placeholder": "Schreibe hier etwas, und drücke Enter zum Absenden.",
|
"chat.placeholder": "schreibe hier etwas, und drücke Enter zum absenden",
|
||||||
"chat.send": "Senden",
|
"chat.send": "Senden",
|
||||||
"chat.no_active": "Du hast keine aktiven Chats.",
|
"chat.no_active": "Du hast keine aktiven Chats."
|
||||||
"chat.user_typing": "%1 tippt gerade ...",
|
|
||||||
"chat.user_has_messaged_you": "%1 hat dir geschrieben.",
|
|
||||||
"chat.see_all": "Alle Chats anzeigen",
|
|
||||||
"chat.no-messages": "Bitte wähle einen Empfänger, um den jeweiligen Nachrichtenverlauf anzuzeigen.",
|
|
||||||
"chat.recent-chats": "Aktuelle Chats",
|
|
||||||
"chat.contacts": "Kontakte",
|
|
||||||
"chat.message-history": "Nachrichtenverlauf",
|
|
||||||
"chat.pop-out": "Chat als Pop-out anzeigen",
|
|
||||||
"chat.maximize": "Maximieren",
|
|
||||||
"chat.yesterday": "Gestern",
|
|
||||||
"chat.seven_days": "7 Tage",
|
|
||||||
"chat.thirty_days": "30 Tage",
|
|
||||||
"chat.three_months": "3 Monate",
|
|
||||||
"composer.user_said_in": "%1 sagte in %2:",
|
|
||||||
"composer.user_said": "%1 sagte:",
|
|
||||||
"composer.discard": "Bist du sicher, dass du diesen Post verwerfen möchtest?"
|
|
||||||
}
|
}
|
||||||
@@ -2,25 +2,9 @@
|
|||||||
"title": "Benachrichtigungen",
|
"title": "Benachrichtigungen",
|
||||||
"no_notifs": "Du hast keine neuen Benachrichtigungen",
|
"no_notifs": "Du hast keine neuen Benachrichtigungen",
|
||||||
"see_all": "Alle Benachrichtigungen ansehen",
|
"see_all": "Alle Benachrichtigungen ansehen",
|
||||||
"back_to_home": "Zurück zu %1",
|
"back_to_home": "Zurück zur Startseite",
|
||||||
"outgoing_link": "Externer Link",
|
"outgoing_link": "Externer Link",
|
||||||
"outgoing_link_message": "Du verlässt nun %1.",
|
"outgoing_link_message": "Du verlässt nun",
|
||||||
"continue_to": "Fortfahren zu %1",
|
"continue_to": "Gehe weiter zu",
|
||||||
"return_to": "Kehre zurück zu %1",
|
"return_to": "Kehre zurück zu"
|
||||||
"new_notification": "Neue Benachrichtigung",
|
|
||||||
"you_have_unread_notifications": "Du hast ungelesene Benachrichtigungen.",
|
|
||||||
"new_message_from": "Neue Nachricht von <strong>%1</strong>",
|
|
||||||
"upvoted_your_post_in": "<strong>%1</strong> hat deinen Beitrag in <strong>%2</strong> positiv bewertet.",
|
|
||||||
"moved_your_post": "<strong>%1</strong> has moved your post.",
|
|
||||||
"moved_your_topic": "<strong>%1</strong> has moved your topic.",
|
|
||||||
"favourited_your_post_in": "<strong>%1</strong> hat deinen Beitrag in <strong>%2</strong> favorisiert.",
|
|
||||||
"user_flagged_post_in": "<strong>%1</strong> hat einen Beitrag in </strong>%2</strong> gemeldet",
|
|
||||||
"user_posted_to": "<strong>%1</strong> hat auf <strong>%2</strong> geantwortet.",
|
|
||||||
"user_mentioned_you_in": "<strong>%1</strong> erwähnte dich in <strong>%2</strong>",
|
|
||||||
"user_started_following_you": "<strong>%1</strong> folgt dir jetzt.",
|
|
||||||
"email-confirmed": "E-Mail bestätigt",
|
|
||||||
"email-confirmed-message": "Vielen Dank für Ihre E-Mail-Validierung. Ihr Konto ist nun vollständig aktiviert.",
|
|
||||||
"email-confirm-error": "Es ist ein Fehler aufgetreten ...",
|
|
||||||
"email-confirm-error-message": "Es gab ein Problem bei der Validierung Ihrer E-Mail-Adresse. Möglicherweise ist der Code ungültig oder abgelaufen.",
|
|
||||||
"email-confirm-sent": "Bestätigungs-E-Mail gesendet."
|
|
||||||
}
|
}
|
||||||
@@ -1,18 +1,14 @@
|
|||||||
{
|
{
|
||||||
"home": "Home",
|
"home": "Home",
|
||||||
"unread": "Ungelesene Themen",
|
"unread": "Unread Topics",
|
||||||
"popular": "Beliebte Themen",
|
"popular": "Beliebte Themen",
|
||||||
"recent": "Neueste Themen",
|
"recent": "Recent Topics",
|
||||||
"users": "Registrierte User",
|
"users": "Registered Users",
|
||||||
"notifications": "Benachrichtigungen",
|
"notifications": "Notifications",
|
||||||
"tags": "Themen markiert unter \"%1\"",
|
"user.edit": "Editing \"%1\"",
|
||||||
"user.edit": "Bearbeite \"%1\"",
|
"user.following": "People %1 Follows",
|
||||||
"user.following": "Nutzer, die %1 folgt",
|
"user.followers": "People who Follow %1",
|
||||||
"user.followers": "Nutzer, die %1 folgen",
|
|
||||||
"user.posts": "Beiträge von %1",
|
"user.posts": "Beiträge von %1",
|
||||||
"user.topics": "Themen von %1",
|
"user.favourites": "%1's favorisierte Beiträge",
|
||||||
"user.favourites": "Von %1 favorisierte Beiträge",
|
"user.settings": "User Settings"
|
||||||
"user.settings": "Benutzer-Einstellungen",
|
|
||||||
"maintenance.text": "%1 is currently undergoing maintenance. Please come back another time.",
|
|
||||||
"maintenance.messageIntro": "Additionally, the administator has left this message:"
|
|
||||||
}
|
}
|
||||||
@@ -3,7 +3,5 @@
|
|||||||
"day": "Tag",
|
"day": "Tag",
|
||||||
"week": "Woche",
|
"week": "Woche",
|
||||||
"month": "Monat",
|
"month": "Monat",
|
||||||
"year": "Jahr",
|
|
||||||
"alltime": "Gesamter Zeitraum",
|
|
||||||
"no_recent_topics": "Es gibt keine aktuellen Themen."
|
"no_recent_topics": "Es gibt keine aktuellen Themen."
|
||||||
}
|
}
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"register": "Registrieren",
|
"register": "Registrieren",
|
||||||
"help.email": "Deine E-Mail Adresse ist standardmäßig nicht öffentlich sichtbar.",
|
"help.email": "Deine E-Mail Adresse ist standardmäßig nicht öffentlich sichtbar.",
|
||||||
"help.username_restrictions": "Einen einmaligen Benutzernamen. %1-%2 Zeichen. Andere Benutzer können dich mit @<span id='yourUsername'>Benutzername</span> anschreiben.",
|
"help.username_restrictions": "Einen einmaligen Benutzernamen. 3-16 Zeichen. Andere Benutzer können dich mit @<span id='yourUsername'>Benutzername</span> anschreiben.",
|
||||||
"help.minimum_password_length": "Dein Passwort muss mindestens %1 Zeichen lang sein.",
|
"help.minimum_password_length": "Dein Passwort muss mindestens sechs Zeichen lang sein.",
|
||||||
"email_address": "E-Mail",
|
"email_address": "E-Mail",
|
||||||
"email_address_placeholder": "E-Mail Adresse hier eingeben",
|
"email_address_placeholder": "E-Mail Adresse hier eingeben",
|
||||||
"username": "Benutzername",
|
"username": "Benutzername",
|
||||||
|
|||||||
@@ -9,6 +9,6 @@
|
|||||||
"repeat_password": "Wiederhole das Passwort",
|
"repeat_password": "Wiederhole das Passwort",
|
||||||
"enter_email": "Bitte gib Deine <strong>E-Mail Adresse</strong> ein und wir senden Dir eine Anleitung, wie Du Dein Passwort zurücksetzen kannst.",
|
"enter_email": "Bitte gib Deine <strong>E-Mail Adresse</strong> ein und wir senden Dir eine Anleitung, wie Du Dein Passwort zurücksetzen kannst.",
|
||||||
"enter_email_address": "E-Mail Adresse eingeben",
|
"enter_email_address": "E-Mail Adresse eingeben",
|
||||||
"password_reset_sent": "Passwortzurücksetzung beantragt.",
|
"password_reset_sent": "Passwortzrücksetzung beantragt.",
|
||||||
"invalid_email": "Ungültige E-Mail / Adresse existiert nicht!"
|
"invalid_email": "Ungültige E-Mail / Adresse existiert nicht!"
|
||||||
}
|
}
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
{
|
|
||||||
"results_matching": "%1 Ergebniss(e) stimmen mit \"%2\" überein, (%3 Sekunden)",
|
|
||||||
"no-matches": "Keine Beiträge gefunden"
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
{
|
|
||||||
"success": "Fertig",
|
|
||||||
"topic-post": "Beitrag erfolgreich erstellt.",
|
|
||||||
"authentication-successful": "Authentifizierung erfolgreich!",
|
|
||||||
"settings-saved": "Einstellungen gespeichert!"
|
|
||||||
}
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
"no_tag_topics": "Es gibt keine Themen mit diesem Tag.",
|
|
||||||
"tags": "Tags",
|
|
||||||
"enter_tags_here": "Gib hier Tags ein und drück die Eingabetaste nach jedem Tag.",
|
|
||||||
"enter_tags_here_short": "Enter tags...",
|
|
||||||
"no_tags": "Es gibt bisher keine Tags."
|
|
||||||
}
|
|
||||||
@@ -1,83 +1,80 @@
|
|||||||
{
|
{
|
||||||
"topic": "Thema",
|
"topic": "Thema",
|
||||||
|
"topics": "Themen",
|
||||||
"topic_id": "Topic ID",
|
"topic_id": "Topic ID",
|
||||||
"topic_id_placeholder": "Topic ID eingeben",
|
"topic_id_placeholder": "Enter topic ID",
|
||||||
"no_topics_found": "Keine passenden Themen gefunden.",
|
"no_topics_found": "Keine passende Themen gefunden.",
|
||||||
"no_posts_found": "Keine Beiträge gefunden!",
|
"no_posts_found": "Keine Beiträge gefunden!",
|
||||||
"post_is_deleted": "Dieser Beitrag wurde gelöscht!",
|
|
||||||
"profile": "Profil",
|
"profile": "Profil",
|
||||||
"posted_by": "Geschrieben von %1",
|
"posted_by": "Geposted von",
|
||||||
"posted_by_guest": "Verfasst von einem Gast",
|
|
||||||
"chat": "Chat",
|
"chat": "Chat",
|
||||||
"notify_me": "Erhalte eine Benachrichtigung bei neuen Antworten zu diesem Thema.",
|
"notify_me": "Werde bei neues Antworten auf dieses Thema benachrichtigt.",
|
||||||
"quote": "zitieren",
|
"quote": "zitieren",
|
||||||
"reply": "antworten",
|
"reply": "antworten",
|
||||||
"edit": "bearbeiten",
|
"edit": "bearbeiten",
|
||||||
"delete": "löschen",
|
"delete": "löschen",
|
||||||
"purge": "bereinigen",
|
|
||||||
"restore": "Wiederherstellen",
|
"restore": "Wiederherstellen",
|
||||||
"move": "verschieben",
|
"move": "Verschieben",
|
||||||
"fork": "Aufspalten",
|
"fork": "Aufspalten",
|
||||||
"banned": "gesperrt",
|
"banned": "gesperrt",
|
||||||
"link": "Link",
|
"link": "Link",
|
||||||
"share": "Teilen",
|
"share": "Teilen",
|
||||||
"tools": "Tools",
|
"tools": "Tools",
|
||||||
"flag": "Markieren",
|
"flag": "Markieren",
|
||||||
"locked": "Gesperrt",
|
|
||||||
"bookmark_instructions": "Klicke hier um zur letzten Position zurückzukehren oder schließe zum Abbrechen.",
|
"bookmark_instructions": "Klicke hier um zur letzten Position zurückzukehren oder schließe zum Abbrechen.",
|
||||||
"flag_title": "Diesen Beitrag zur Moderation markieren",
|
"flag_title": "Diesen Beitrag zur Moderation markieren",
|
||||||
"flag_confirm": "Sind Sie sicher, dass Sie diesen Post markieren möchten?",
|
"flag_confirm": "Are you sure you want to flag this post?",
|
||||||
"flag_success": "Dieser Beitrag wurde erfolgreich für die Moderation markiert.",
|
"flag_success": "This post has been flagged for moderation.",
|
||||||
"deleted_message": "This topic has been deleted. Only users with topic management privileges can see it.",
|
"deleted_message": "Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können ihn sehen.",
|
||||||
|
"following_topic.title": "Thema wird gefolgt",
|
||||||
"following_topic.message": "Du erhälst nun eine Benachrichtigung, wenn jemand einen Beitrag zu diesem Thema verfasst.",
|
"following_topic.message": "Du erhälst nun eine Benachrichtigung, wenn jemand einen Beitrag zu diesem Thema verfasst.",
|
||||||
|
"not_following_topic.title": "Thema nicht gefolgt",
|
||||||
"not_following_topic.message": "Du erhälst keine weiteren Benachrichtigungen zu diesem Thema.",
|
"not_following_topic.message": "Du erhälst keine weiteren Benachrichtigungen zu diesem Thema.",
|
||||||
"login_to_subscribe": "Bitte registrieren oder einloggen um dieses Thema zu abonnieren",
|
"login_to_subscribe": "Bitte registrieren oder einloggen um dieses Thema zu abonnieren",
|
||||||
"markAsUnreadForAll.success": "Thema für Alle als ungelesen markiert.",
|
"markAsUnreadForAll.success": "Thema für Alle als ungelesen markiert.",
|
||||||
"watch": "Beobachten",
|
"watch": "Beobachten",
|
||||||
"unwatch": "Unwatch",
|
|
||||||
"watch.title": "Bei neuen Antworten benachrichtigen",
|
"watch.title": "Bei neuen Antworten benachrichtigen",
|
||||||
"unwatch.title": "Stop watching this topic",
|
|
||||||
"share_this_post": "Diesen Beitrag teilen",
|
"share_this_post": "Diesen Beitrag teilen",
|
||||||
"thread_tools.title": "Topic Tools",
|
"thread_tools.title": "Tools",
|
||||||
"thread_tools.markAsUnreadForAll": "Als ungelesen markieren",
|
"thread_tools.markAsUnreadForAll": "Als ungelesen markieren",
|
||||||
"thread_tools.pin": "Thema anpinnen",
|
"thread_tools.pin": "Thema anpinnen",
|
||||||
"thread_tools.unpin": "Thema nicht mehr anpinnen",
|
"thread_tools.unpin": "Thema nicht mehr anpinnen",
|
||||||
"thread_tools.lock": "Thema schließen",
|
"thread_tools.lock": "Thema schließen",
|
||||||
"thread_tools.unlock": "Thema öffnen",
|
"thread_tools.unlock": "Thema öffnen",
|
||||||
"thread_tools.move": "Thema verschieben",
|
"thread_tools.move": "Thema verschieben",
|
||||||
"thread_tools.move_all": "Alle verschieben",
|
|
||||||
"thread_tools.fork": "Thema aufspalten",
|
"thread_tools.fork": "Thema aufspalten",
|
||||||
"thread_tools.delete": "Thema löschen",
|
"thread_tools.delete": "Thema löschen",
|
||||||
"thread_tools.delete_confirm": "Are you sure you want to delete this topic?",
|
|
||||||
"thread_tools.restore": "Thema wiederherstellen",
|
"thread_tools.restore": "Thema wiederherstellen",
|
||||||
"thread_tools.restore_confirm": "Are you sure you want to restore this topic?",
|
|
||||||
"thread_tools.purge": "Thema bereinigen",
|
|
||||||
"thread_tools.purge_confirm": "Are you sure you want to purge this topic?",
|
|
||||||
"topic_move_success": "Thema wurde erfolgreich zu %1 verschoben.",
|
|
||||||
"post_delete_confirm": "Sind Sie sicher, dass Sie diesen Beitrag löschen möchten?",
|
|
||||||
"post_restore_confirm": "Sind Sie sicher, dass Sie diesen Beitrag wiederherstellen möchten?",
|
|
||||||
"post_purge_confirm": "Sind Sie sicher, das Sie diesen Beitrag bereinigen möchten?",
|
|
||||||
"load_categories": "Kategorien laden",
|
"load_categories": "Kategorien laden",
|
||||||
"disabled_categories_note": "Deaktivierte Kategorien sind ausgegraut.",
|
"disabled_categories_note": "Deaktivierte Kategorien sind ausgegraut.",
|
||||||
"confirm_move": "Verschieben",
|
"confirm_move": "verschieben",
|
||||||
"confirm_fork": "Aufspalten",
|
"confirm_fork": "Aufspalten",
|
||||||
"favourite": "Favorisieren",
|
"favourite": "Favorit",
|
||||||
"favourites": "Favoriten",
|
"favourites": "Favoriten",
|
||||||
|
"favourites.not_logged_in.title": "Nicht eingeloggt!",
|
||||||
|
"favourites.not_logged_in.message": "Bitte logge dich ein, um diesen Beitrag favorisieren zu können.",
|
||||||
"favourites.has_no_favourites": "Du hast noch keine Favoriten.",
|
"favourites.has_no_favourites": "Du hast noch keine Favoriten.",
|
||||||
"loading_more_posts": "Lade mehr Beiträge",
|
"vote.not_logged_in.title": "Nicht eingeloggt",
|
||||||
|
"vote.not_logged_in.message": "Zum Bewerten bitte einloggen",
|
||||||
|
"vote.cant_vote_self.title": "Ungültige Bewertung",
|
||||||
|
"vote.cant_vote_self.message": "Du kannst deinen eigenen Beitrag nicht bewerten",
|
||||||
|
"loading_more_posts": "Lade Mehr Posts",
|
||||||
"move_topic": "Thema verschieben",
|
"move_topic": "Thema verschieben",
|
||||||
"move_topics": "Themen verschieben",
|
|
||||||
"move_post": "Beitrag verschieben",
|
"move_post": "Beitrag verschieben",
|
||||||
"post_moved": "Beitrag wurde verschoben!",
|
|
||||||
"fork_topic": "Thema aufspalten",
|
"fork_topic": "Thema aufspalten",
|
||||||
"topic_will_be_moved_to": "Dieses Thema wird verschoben nach",
|
"topic_will_be_moved_to": "Dieses Thema wird verschoben nach",
|
||||||
"fork_topic_instruction": "Klicke auf die Beiträge, die du aufspalten willst",
|
"fork_topic_instruction": "Klicke auf die Posts, die du aufspalten willst",
|
||||||
"fork_no_pids": "Keine Beiträge ausgewählt!",
|
"fork_no_pids": "Keine Beiträge ausgewählt!",
|
||||||
"fork_success": "Thema erfolgreich abgespalten! Klicke hier, um zum abgespalteten Thema zu gelangen.",
|
"fork_success": "Thema erfolgreich aufgespalten!",
|
||||||
|
"reputation": "Reputation",
|
||||||
|
"posts": "Beiträge",
|
||||||
"composer.title_placeholder": "Hier den Titel des Themas eingeben...",
|
"composer.title_placeholder": "Hier den Titel des Themas eingeben...",
|
||||||
|
"composer.write": "Schreiben",
|
||||||
|
"composer.preview": "Vorschau",
|
||||||
|
"composer.help": "Hilfe",
|
||||||
"composer.discard": "Verwerfen",
|
"composer.discard": "Verwerfen",
|
||||||
"composer.submit": "Absenden",
|
"composer.submit": "Absenden",
|
||||||
"composer.replying_to": "Antworte auf %1",
|
"composer.replying_to": "Als Antwort auf",
|
||||||
"composer.new_topic": "Neues Thema",
|
"composer.new_topic": "Neues Thema",
|
||||||
"composer.uploading": "Upload läuft...",
|
"composer.uploading": "Upload läuft...",
|
||||||
"composer.thumb_url_label": "Vorschaubild-URL hier einfügen",
|
"composer.thumb_url_label": "Vorschaubild-URL hier einfügen",
|
||||||
@@ -86,12 +83,5 @@
|
|||||||
"composer.thumb_file_label": "Oder eine Datei hochladen",
|
"composer.thumb_file_label": "Oder eine Datei hochladen",
|
||||||
"composer.thumb_remove": "Felder leeren",
|
"composer.thumb_remove": "Felder leeren",
|
||||||
"composer.drag_and_drop_images": "Bilder hier reinziehen",
|
"composer.drag_and_drop_images": "Bilder hier reinziehen",
|
||||||
"more_users_and_guests": "%1 weitere(r) Nutzer und %2 Gäste",
|
"composer.upload_instructions": "Zum Hochladen Bilder hier reinziehen."
|
||||||
"more_users": "%1 weitere(r) Nutzer",
|
|
||||||
"more_guests": "%1 weitere Gäste",
|
|
||||||
"users_and_others": "%1 und %2 andere",
|
|
||||||
"sort_by": "Sortieren nach",
|
|
||||||
"oldest_to_newest": "Älteste zuerst",
|
|
||||||
"newest_to_oldest": "Neuster zuerst",
|
|
||||||
"most_votes": "Die meisten Stimmen"
|
|
||||||
}
|
}
|
||||||
@@ -1,9 +1,6 @@
|
|||||||
{
|
{
|
||||||
"title": "Ungelesen",
|
"title": "Ungelesen",
|
||||||
"no_unread_topics": "Es gibt keine ungelesenen Themen.",
|
"no_unread_topics": "Es gibt keine ungelesenen Themen.",
|
||||||
"load_more": "mehr laden",
|
"mark_all_read": "alle als gelesen markieren",
|
||||||
"mark_as_read": "Als gelesen markieren",
|
"load_more": "mehr laden"
|
||||||
"selected": "Ausgewählte",
|
|
||||||
"all": "Alle",
|
|
||||||
"topics_marked_as_read.success": "Themen als gelesen markiert!"
|
|
||||||
}
|
}
|
||||||
@@ -3,11 +3,9 @@
|
|||||||
"offline": "offline",
|
"offline": "offline",
|
||||||
"username": "Nutzername",
|
"username": "Nutzername",
|
||||||
"email": "E-Mail",
|
"email": "E-Mail",
|
||||||
"confirm_email": "E-Mail bestätigen",
|
|
||||||
"delete_account": "Konto löschen",
|
|
||||||
"delete_account_confirm": "Bist du sicher, dass du dein Konto löschen möchtest? <br /><strong>Diese Aktion kann nicht rückgängig gemacht werden und du kannst deine Daten nicht widerherstellen</strong><br /><br />Gebe deinen Benutzernamen ein, um zu bestätigen, dass du dieses Konto terminieren möchtest.",
|
|
||||||
"fullname": "Kompletter Name",
|
"fullname": "Kompletter Name",
|
||||||
"website": "Homepage",
|
"website": "Homepage",
|
||||||
|
"user:website_placeholder": "http://...",
|
||||||
"location": "Wohnort",
|
"location": "Wohnort",
|
||||||
"age": "Alter",
|
"age": "Alter",
|
||||||
"joined": "Beigetreten",
|
"joined": "Beigetreten",
|
||||||
@@ -15,57 +13,44 @@
|
|||||||
"profile": "Profil",
|
"profile": "Profil",
|
||||||
"profile_views": "Profilaufrufe",
|
"profile_views": "Profilaufrufe",
|
||||||
"reputation": "Reputation",
|
"reputation": "Reputation",
|
||||||
|
"posts": "Posts",
|
||||||
"favourites": "Favoriten",
|
"favourites": "Favoriten",
|
||||||
"followers": "Folger",
|
"followers": "Follower",
|
||||||
"following": "Folgt",
|
"following": "Folgt",
|
||||||
"signature": "Signatur",
|
"signature": "Signatur",
|
||||||
"gravatar": "Gravatar",
|
"gravatar": "Gravatar",
|
||||||
"birthday": "Geburtstag",
|
"birthday": "Geburtstag",
|
||||||
|
"birthday_placeholder": "mm/dd/yyyy",
|
||||||
"chat": "Chat",
|
"chat": "Chat",
|
||||||
"follow": "Folgen",
|
"follow": "Folgen",
|
||||||
"unfollow": "Nicht mehr folgen",
|
"unfollow": "Nicht mehr folgen",
|
||||||
"profile_update_success": "Profil erfolgreich aktualisiert!",
|
"change_picture": "Ändere Profilbild",
|
||||||
"change_picture": "Profilbild ändern",
|
|
||||||
"edit": "Ändern",
|
"edit": "Ändern",
|
||||||
"uploaded_picture": "Hochgeladene Bilder",
|
"uploaded_picture": "Hochgeladene Bilder",
|
||||||
"upload_new_picture": "Neues Bild hochladen",
|
"upload_new_picture": "Neues Bild hochladen",
|
||||||
"upload_new_picture_from_url": "Upload New Picture From URL",
|
|
||||||
"current_password": "Aktuelles Passwort",
|
"current_password": "Aktuelles Passwort",
|
||||||
"change_password": "Passwort ändern",
|
"change_password": "Ändere Passwort",
|
||||||
"change_password_error": "Ungültiges Passwort!",
|
"change_password_error": "Invalid Password!",
|
||||||
"change_password_error_wrong_current": "Ihr derzeitiges Passwort ist ungültig!",
|
"change_password_error_wrong_current": "Your current password is not correct!",
|
||||||
"change_password_error_length": "Passwort zu kurz!",
|
"change_password_error_length": "Password too short!",
|
||||||
"change_password_error_match": "Passwörter müssen übereinstimmen!",
|
"change_password_error_match": "Passwords must match!",
|
||||||
"change_password_error_privileges": "Deine Berechtigungen reichen nicht aus, um dieses Passwort zu ändern.",
|
"change_password_error_privileges": "You are not have the rights to change this password.",
|
||||||
"change_password_success": "Ihr Passwort wurde aktualisiert!",
|
"change_password_success": "Your password is updated!",
|
||||||
"confirm_password": "Passwort wiederholen",
|
"confirm_password": "Passwort wiederholen",
|
||||||
"password": "Passwort",
|
"password": "Passwort",
|
||||||
"username_taken_workaround": "Der gewünschte Benutzername ist bereits vergeben, deshalb haben wir ihn ein wenig verändert. Du bist jetzt unter dem Namen <strong>%1</strong> bekannt.",
|
|
||||||
"upload_picture": "Bild hochladen",
|
"upload_picture": "Bild hochladen",
|
||||||
"upload_a_picture": "Ein Bild hochladen",
|
"upload_a_picture": "Ein Bild hochladen",
|
||||||
"image_spec": "Sie dürfen nur Dateien vom Typ PNG, JPG oder GIF hochladen",
|
"image_spec": "Du darfst nur Dateien vom Typ PNG, JPG oder GIF hochladen",
|
||||||
"max": "max.",
|
"max": "max.",
|
||||||
"settings": "Einstellungen",
|
"settings": "Einstellungen",
|
||||||
"show_email": "Zeige meine E-Mail Adresse an.",
|
"show_email": "Zeige meine E-Mail Adresse an.",
|
||||||
"digest_label": "Auszug abonnieren",
|
|
||||||
"digest_description": "Abonniere E-Mail-Benachrichtigungen für dieses Forum (neue Benachrichtigungen und Themen) nach einem festen Zeitplan.",
|
|
||||||
"digest_off": "Aus",
|
|
||||||
"digest_daily": "Täglich",
|
|
||||||
"digest_weekly": "Wöchentlich",
|
|
||||||
"digest_monthly": "Monatlich",
|
|
||||||
"send_chat_notifications": "Sende eine E-Mail, wenn eine neue Chat-Nachricht eingeht und ich nicht online bin",
|
|
||||||
"has_no_follower": "Dieser User hat noch keine Follower.",
|
"has_no_follower": "Dieser User hat noch keine Follower.",
|
||||||
"follows_no_one": "Dieser User folgt noch niemandem :(",
|
"follows_no_one": "Dieser User folgt noch niemanden.",
|
||||||
"has_no_posts": "Dieser Nutzer hat noch nichts gepostet.",
|
"has_no_posts": "Dieser Nutzer hat noch nichts gepostet.",
|
||||||
"has_no_topics": "Dieser Nutzer hat noch keine Themen gepostet.",
|
|
||||||
"email_hidden": "E-Mail Adresse versteckt",
|
"email_hidden": "E-Mail Adresse versteckt",
|
||||||
"hidden": "versteckt",
|
"hidden": "versteckt",
|
||||||
"paginate_description": "Themen und Beiträge auf Seiten aufteilen statt unendliches Scrollen verwenden.",
|
"paginate_description": "Themen und Beiträge auf Seiten aufteilen statt unendliches Scrollen verweden",
|
||||||
"topics_per_page": "Themen pro Seite",
|
"topics_per_page": "Themen pro Seite",
|
||||||
"posts_per_page": "Beiträge pro Seite",
|
"posts_per_page": "Beiträge pro Seite",
|
||||||
"notification_sounds": "Ton abspielen, wenn ich eine Benachrichtigung erhalte.",
|
"notification_sounds": "Ton abspielen, wenn ich eine Benachrichtigung erhalte."
|
||||||
"browsing": "Browser Einstellungen",
|
|
||||||
"open_links_in_new_tab": "Externe Links in neuem Tab öffnen?",
|
|
||||||
"follow_topics_you_reply_to": "Folge Themen, auf die du antwortest.",
|
|
||||||
"follow_topics_you_create": "Folge Themen, die du erstellst."
|
|
||||||
}
|
}
|
||||||
@@ -1,10 +1,9 @@
|
|||||||
{
|
{
|
||||||
"latest_users": "neuste Benutzer",
|
"latest_users": "neuste Benutzer",
|
||||||
"top_posters": "meiste Beiträge",
|
"top_posters": "meiste Beiträge",
|
||||||
"most_reputation": "höchstes Ansehen",
|
"most_reputation": "höhstes Ansehen",
|
||||||
|
"online": "Online",
|
||||||
"search": "Suchen",
|
"search": "Suchen",
|
||||||
"enter_username": "Benutzer durchsuchen",
|
"enter_username": "Benutzer durchsuchen",
|
||||||
"load_more": "mehr laden",
|
"load_more": "mehr laden"
|
||||||
"user-not-found": "Benutzer nicht gefunden!",
|
|
||||||
"users-found-search-took": "%1 Benutzer gefunden! Die Suche dauerte %2 ms."
|
|
||||||
}
|
}
|
||||||
@@ -1,8 +1,12 @@
|
|||||||
{
|
{
|
||||||
"new_topic_button": "New Topic",
|
"new_topic_button": "New Topic",
|
||||||
"no_topics": "<strong>Thar be no topics in 'tis category.</strong><br />Why don't ye give a go' postin' one?",
|
"no_topics": "<strong>Thar be no topics in 'tis category.</strong><br />Why don't ye give a go' postin' one?",
|
||||||
|
"posts": "messages",
|
||||||
|
"views": "views",
|
||||||
|
"posted": "sent",
|
||||||
"browsing": "browsin'",
|
"browsing": "browsin'",
|
||||||
"no_replies": "No one has replied to ye message",
|
"no_replies": "No one has replied to ye message",
|
||||||
"share_this_category": "Share this category",
|
"replied": "replied",
|
||||||
"ignore": "Ignore"
|
"last_edited_by": "last edited by",
|
||||||
|
"share_this_category": "Share this category"
|
||||||
}
|
}
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
{
|
|
||||||
"password-reset-requested": "Password Reset Requested - %1!",
|
|
||||||
"welcome-to": "Welcome to %1",
|
|
||||||
"greeting_no_name": "Hello",
|
|
||||||
"greeting_with_name": "Hello %1",
|
|
||||||
"welcome.text1": "Thank you for registering with %1!",
|
|
||||||
"welcome.text2": "To fully activate your account, we need to verify that you own the email address you registered with.",
|
|
||||||
"welcome.cta": "Click here to confirm your email address",
|
|
||||||
"reset.text1": "We received a request to reset your password, possibly because you have forgotten it. If this is not the case, please ignore this email.",
|
|
||||||
"reset.text2": "To continue with the password reset, please click on the following link:",
|
|
||||||
"reset.cta": "Click here to reset your password",
|
|
||||||
"digest.notifications": "You have some unread notifications from %1:",
|
|
||||||
"digest.latest_topics": "Latest topics from %1",
|
|
||||||
"digest.cta": "Click here to visit %1",
|
|
||||||
"digest.unsub.info": "This digest was sent to you due to your subscription settings.",
|
|
||||||
"digest.daily.no_topics": "There have been no active topics in the past day",
|
|
||||||
"notif.chat.subject": "New chat message received from %1",
|
|
||||||
"notif.chat.cta": "Click here to continue the conversation",
|
|
||||||
"notif.chat.unsub.info": "This chat notification was sent to you due to your subscription settings.",
|
|
||||||
"test.text1": "This is a test email to verify that the emailer is set up correctly for your NodeBB.",
|
|
||||||
"unsub.cta": "Click here to alter those settings",
|
|
||||||
"closing": "Thanks!"
|
|
||||||
}
|
|
||||||
@@ -1,64 +0,0 @@
|
|||||||
{
|
|
||||||
"invalid-data": "Invalid Data",
|
|
||||||
"not-logged-in": "You don't seem to be logged in.",
|
|
||||||
"account-locked": "Your account has been locked temporarily",
|
|
||||||
"search-requires-login": "Searching requires an account! Please login or register!",
|
|
||||||
"invalid-cid": "Invalid Category ID",
|
|
||||||
"invalid-tid": "Invalid Topic ID",
|
|
||||||
"invalid-pid": "Invalid Post ID",
|
|
||||||
"invalid-uid": "Invalid User ID",
|
|
||||||
"invalid-username": "Invalid Username",
|
|
||||||
"invalid-email": "Invalid Email",
|
|
||||||
"invalid-title": "Invalid title!",
|
|
||||||
"invalid-user-data": "Invalid User Data",
|
|
||||||
"invalid-password": "Invalid Password",
|
|
||||||
"invalid-username-or-password": "Please specify both a username and password",
|
|
||||||
"invalid-search-term": "Invalid search term",
|
|
||||||
"invalid-pagination-value": "Invalid pagination value",
|
|
||||||
"username-taken": "Username taken",
|
|
||||||
"email-taken": "Email taken",
|
|
||||||
"email-not-confirmed": "Your email is not confirmed, please click here to confirm your email.",
|
|
||||||
"username-too-short": "Username too short",
|
|
||||||
"username-too-long": "Username too long",
|
|
||||||
"user-banned": "User banned",
|
|
||||||
"user-too-new": "You need to wait %1 seconds before making your first post!",
|
|
||||||
"no-category": "Category doesn't exist",
|
|
||||||
"no-topic": "Topic doesn't exist",
|
|
||||||
"no-post": "Post doesn't exist",
|
|
||||||
"no-group": "Group doesn't exist",
|
|
||||||
"no-user": "User doesn't exist",
|
|
||||||
"no-teaser": "Teaser doesn't exist",
|
|
||||||
"no-privileges": "You don't have enough privileges for this action.",
|
|
||||||
"no-emailers-configured": "No email plugins were loaded, so a test email could not be sent",
|
|
||||||
"category-disabled": "Category disabled",
|
|
||||||
"topic-locked": "Topic Locked",
|
|
||||||
"still-uploading": "Please wait for uploads to complete.",
|
|
||||||
"content-too-short": "Please enter a longer post. At least %1 characters.",
|
|
||||||
"title-too-short": "Please enter a longer title. At least %1 characters.",
|
|
||||||
"title-too-long": "Please enter a shorter title. Titles can't be longer than %1 characters.",
|
|
||||||
"too-many-posts": "You can only post every %1 seconds.",
|
|
||||||
"file-too-big": "Maximum allowed file size is %1 kbs",
|
|
||||||
"cant-vote-self-post": "You cannot vote for your own post",
|
|
||||||
"already-favourited": "You already favourited this post",
|
|
||||||
"already-unfavourited": "You already unfavourited this post",
|
|
||||||
"cant-ban-other-admins": "You can't ban other admins!",
|
|
||||||
"invalid-image-type": "Invalid image type",
|
|
||||||
"group-name-too-short": "Group name too short",
|
|
||||||
"group-already-exists": "Group already exists",
|
|
||||||
"group-name-change-not-allowed": "Group name change not allowed",
|
|
||||||
"post-already-deleted": "Post already deleted",
|
|
||||||
"post-already-restored": "Post already restored",
|
|
||||||
"topic-already-deleted": "Topic already deleted",
|
|
||||||
"topic-already-restored": "Topic already restored",
|
|
||||||
"topic-thumbnails-are-disabled": "Topic thumbnails are disabled.",
|
|
||||||
"invalid-file": "Invalid File",
|
|
||||||
"uploads-are-disabled": "Uploads are disabled",
|
|
||||||
"upload-error": "Upload Error : %1",
|
|
||||||
"signature-too-long": "Signature can't be longer than %1 characters!",
|
|
||||||
"cant-chat-with-yourself": "You can't chat with yourself!",
|
|
||||||
"reputation-system-disabled": "Reputation system is disabled.",
|
|
||||||
"downvoting-disabled": "Downvoting is disabled",
|
|
||||||
"not-enough-reputation-to-downvote": "You do not have enough reputation to downvote this post",
|
|
||||||
"not-enough-reputation-to-flag": "Yo do not have enough reputation to flag this post",
|
|
||||||
"reload-failed": "NodeBB encountered a problem while reloading: \"%1\". NodeBB will continue to serve the existing client-side assets, although you should undo what you did just prior to reloading."
|
|
||||||
}
|
|
||||||
7
public/language/en@pirate/footer.json
Normal file
7
public/language/en@pirate/footer.json
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"stats.online": "Online",
|
||||||
|
"stats.users": "Mates",
|
||||||
|
"stats.topics": "Topics",
|
||||||
|
"stats.posts": "Messages",
|
||||||
|
"success": "success"
|
||||||
|
}
|
||||||
@@ -13,17 +13,14 @@
|
|||||||
"please_log_in": "Please Log In",
|
"please_log_in": "Please Log In",
|
||||||
"logout": "Logout",
|
"logout": "Logout",
|
||||||
"posting_restriction_info": "Postin' be currently restricted to registered members only, click here to log in.",
|
"posting_restriction_info": "Postin' be currently restricted to registered members only, click here to log in.",
|
||||||
"welcome_back": "Welcome Back",
|
"welcome_back": "Welcome to Port",
|
||||||
"you_have_successfully_logged_in": "Ye have successfully logged in",
|
"you_have_successfully_logged_in": "Ye have successfully logged in",
|
||||||
"save_changes": "Save yer Changes",
|
"save_changes": "Save yer Changes",
|
||||||
"close": "Shoot down",
|
"close": "Shoot down",
|
||||||
"pagination": "Pagination",
|
"pagination": "Pagination",
|
||||||
"pagination.out_of": "%1 out of %2",
|
|
||||||
"pagination.enter_index": "Enter index",
|
|
||||||
"header.admin": "Captains only",
|
"header.admin": "Captains only",
|
||||||
"header.recent": "Recent",
|
"header.recent": "Recent",
|
||||||
"header.unread": "Undiscovered",
|
"header.unread": "Undiscovered",
|
||||||
"header.tags": "Tags",
|
|
||||||
"header.popular": "Famous",
|
"header.popular": "Famous",
|
||||||
"header.users": "Mates",
|
"header.users": "Mates",
|
||||||
"header.chats": "Yik-Yaks",
|
"header.chats": "Yik-Yaks",
|
||||||
@@ -38,38 +35,21 @@
|
|||||||
"alert.success": "Success",
|
"alert.success": "Success",
|
||||||
"alert.error": "Somethin' broke",
|
"alert.error": "Somethin' broke",
|
||||||
"alert.banned": "Exiled",
|
"alert.banned": "Exiled",
|
||||||
"alert.banned.message": "You have just been banned, you will now be logged out.",
|
"alert.banned.message": "Ye be banned ye gunna be logged out!",
|
||||||
"alert.unfollow": "Ye be no longer stalkin' %1!",
|
"alert.unfollow": "Ye be no longer stalkin' %1!",
|
||||||
"alert.follow": "Ye be stalkin' %1",
|
"alert.follow": "Ye be stalkin' %1",
|
||||||
"online": "Available",
|
|
||||||
"users": "Users",
|
|
||||||
"topics": "Topics",
|
|
||||||
"posts": "Messages",
|
"posts": "Messages",
|
||||||
"views": "Views",
|
"views": "Views",
|
||||||
"reputation": "Reputation",
|
"posted": "posted",
|
||||||
"read_more": "read more",
|
"in": "in",
|
||||||
"posted_ago_by_guest": "posted %1 by Guest",
|
|
||||||
"posted_ago_by": "posted %1 by %2",
|
|
||||||
"posted_ago": "posted %1",
|
|
||||||
"posted_in_ago_by_guest": "posted in %1 %2 by Guest",
|
|
||||||
"posted_in_ago_by": "posted in %1 %2 by %3",
|
|
||||||
"posted_in_ago": "posted in %1 %2",
|
|
||||||
"replied_ago": "replied %1",
|
|
||||||
"user_posted_ago": "%1 posted %2",
|
|
||||||
"guest_posted_ago": "Guest posted %1",
|
|
||||||
"last_edited_by_ago": "last edited by %1 %2",
|
|
||||||
"norecentposts": "No Recent Posts",
|
"norecentposts": "No Recent Posts",
|
||||||
"norecenttopics": "No Recent Topics",
|
"norecenttopics": "No Recent Topics",
|
||||||
"recentposts": "Recent Messages",
|
"recentposts": "Recent Messages",
|
||||||
"recentips": "Recently Logged In IPs",
|
"recentips": "Recently Logged In IPs",
|
||||||
|
"online": "Available",
|
||||||
"away": "Out to sea",
|
"away": "Out to sea",
|
||||||
"dnd": "Do not Disturb",
|
"dnd": "Do not Disturb",
|
||||||
"invisible": "Magic usin'",
|
"invisible": "Magic usin'",
|
||||||
"offline": "Dead",
|
"offline": "Dead",
|
||||||
"email": "Email",
|
"privacy": "Privacy"
|
||||||
"language": "Language",
|
|
||||||
"guest": "Guest",
|
|
||||||
"guests": "Guests",
|
|
||||||
"updated.title": "Forum Updated",
|
|
||||||
"updated.message": "This forum has just been updated to the latest version. Click here to refresh the page."
|
|
||||||
}
|
}
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
"view_group": "View Group",
|
|
||||||
"details.title": "Group Details",
|
|
||||||
"details.members": "Member List",
|
|
||||||
"details.has_no_posts": "This group's members have not made any posts.",
|
|
||||||
"details.latest_posts": "Latest Posts"
|
|
||||||
}
|
|
||||||
@@ -1,9 +1,10 @@
|
|||||||
{
|
{
|
||||||
|
"login": "Login",
|
||||||
"username": "Yer handle or email",
|
"username": "Yer handle or email",
|
||||||
|
"password": "Secret Combination",
|
||||||
"remember_me": "Remember Me?",
|
"remember_me": "Remember Me?",
|
||||||
"forgot_password": "My mind be a scatt'rbrain, help a matey out!",
|
"forgot_password": "My mind be a scatt'rbrain, help a matey out!",
|
||||||
"alternative_logins": "Oth'r gangplanks",
|
"alternative_logins": "Oth'r gangplanks",
|
||||||
"failed_login_attempt": "Failed login attempt, please give it a go' again.",
|
"failed_login_attempt": "Failed login attempt, please give it a go' again.",
|
||||||
"login_successful": "Welcome on board, matey!",
|
"login_successful": "Welcome on board, matey!"
|
||||||
"dont_have_account": "Don't have an account?"
|
|
||||||
}
|
}
|
||||||
@@ -1,22 +1,6 @@
|
|||||||
{
|
{
|
||||||
"chat.chatting_with": "Letters from <span id=\"chat-with-name\"></span>",
|
"chat.chatting_with": "Letters from <span id=\"chat-with-name\"></span>",
|
||||||
"chat.placeholder": "Type chat message here, press enter to send",
|
"chat.placeholder": "Yer message goes here, hit enter to send 'er off",
|
||||||
"chat.send": "Send Parrot",
|
"chat.send": "Send Parrot",
|
||||||
"chat.no_active": "Ye be a lonely sailor.",
|
"chat.no_active": "Ye be a lonely sailor."
|
||||||
"chat.user_typing": "%1 is typing ...",
|
|
||||||
"chat.user_has_messaged_you": "%1 has messaged you.",
|
|
||||||
"chat.see_all": "See all Chats",
|
|
||||||
"chat.no-messages": "Please select a recipient to view chat message history",
|
|
||||||
"chat.recent-chats": "Recent Chats",
|
|
||||||
"chat.contacts": "Contacts",
|
|
||||||
"chat.message-history": "Message History",
|
|
||||||
"chat.pop-out": "Pop out chat",
|
|
||||||
"chat.maximize": "Maximize",
|
|
||||||
"chat.yesterday": "Yesterday",
|
|
||||||
"chat.seven_days": "7 Days",
|
|
||||||
"chat.thirty_days": "30 Days",
|
|
||||||
"chat.three_months": "3 Months",
|
|
||||||
"composer.user_said_in": "%1 said in %2:",
|
|
||||||
"composer.user_said": "%1 said:",
|
|
||||||
"composer.discard": "Are you sure you wish to discard this post?"
|
|
||||||
}
|
}
|
||||||
@@ -2,25 +2,9 @@
|
|||||||
"title": "Notifications",
|
"title": "Notifications",
|
||||||
"no_notifs": "You have no new notifications",
|
"no_notifs": "You have no new notifications",
|
||||||
"see_all": "Spy wit' ye eye all ye notifications",
|
"see_all": "Spy wit' ye eye all ye notifications",
|
||||||
"back_to_home": "Back to %1",
|
"back_to_home": "Take me back!",
|
||||||
"outgoing_link": "Go offshore",
|
"outgoing_link": "Go offshore",
|
||||||
"outgoing_link_message": "You are now leaving %1.",
|
"outgoing_link_message": "Ye be goin' offshore",
|
||||||
"continue_to": "Continue to %1",
|
"continue_to": "Continue to",
|
||||||
"return_to": "Return to %1",
|
"return_to": "Return to"
|
||||||
"new_notification": "New Notification",
|
|
||||||
"you_have_unread_notifications": "You have unread notifications.",
|
|
||||||
"new_message_from": "New message from <strong>%1</strong>",
|
|
||||||
"upvoted_your_post_in": "<strong>%1</strong> has upvoted your post in <strong>%2</strong>.",
|
|
||||||
"moved_your_post": "<strong>%1</strong> has moved your post.",
|
|
||||||
"moved_your_topic": "<strong>%1</strong> has moved your topic.",
|
|
||||||
"favourited_your_post_in": "<strong>%1</strong> has favourited your post in <strong>%2</strong>.",
|
|
||||||
"user_flagged_post_in": "<strong>%1</strong> flagged a post in <strong>%2</strong>",
|
|
||||||
"user_posted_to": "<strong>%1</strong> has posted a reply to: <strong>%2</strong>",
|
|
||||||
"user_mentioned_you_in": "<strong>%1</strong> mentioned you in <strong>%2</strong>",
|
|
||||||
"user_started_following_you": "<strong>%1</strong> started following you.",
|
|
||||||
"email-confirmed": "Email Confirmed",
|
|
||||||
"email-confirmed-message": "Thank you for validating your email. Your account is now fully activated.",
|
|
||||||
"email-confirm-error": "An error occurred...",
|
|
||||||
"email-confirm-error-message": "There was a problem validating your email address. Perhaps the code was invalid or has expired.",
|
|
||||||
"email-confirm-sent": "Confirmation email sent."
|
|
||||||
}
|
}
|
||||||
@@ -5,14 +5,10 @@
|
|||||||
"recent": "Recent Topics",
|
"recent": "Recent Topics",
|
||||||
"users": "Registered Users",
|
"users": "Registered Users",
|
||||||
"notifications": "Notifications",
|
"notifications": "Notifications",
|
||||||
"tags": "Topics tagged under \"%1\"",
|
|
||||||
"user.edit": "Editing \"%1\"",
|
"user.edit": "Editing \"%1\"",
|
||||||
"user.following": "People %1 Follows",
|
"user.following": "People %1 Follows",
|
||||||
"user.followers": "People who Follow %1",
|
"user.followers": "People who Follow %1",
|
||||||
"user.posts": "Posts made by %1",
|
"user.posts": "Posts made by %1",
|
||||||
"user.topics": "Topics created by %1",
|
|
||||||
"user.favourites": "%1's Favourite Posts",
|
"user.favourites": "%1's Favourite Posts",
|
||||||
"user.settings": "User Settings",
|
"user.settings": "User Settings"
|
||||||
"maintenance.text": "%1 is currently undergoing maintenance. Please come back another time.",
|
|
||||||
"maintenance.messageIntro": "Additionally, the administator has left this message:"
|
|
||||||
}
|
}
|
||||||
@@ -3,7 +3,5 @@
|
|||||||
"day": "Day",
|
"day": "Day",
|
||||||
"week": "Week",
|
"week": "Week",
|
||||||
"month": "Month",
|
"month": "Month",
|
||||||
"year": "Year",
|
|
||||||
"alltime": "All Time",
|
|
||||||
"no_recent_topics": "There be no recent topics."
|
"no_recent_topics": "There be no recent topics."
|
||||||
}
|
}
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
{
|
|
||||||
"results_matching": "%1 result(s) matching \"%2\", (%3 seconds)",
|
|
||||||
"no-matches": "No posts found"
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
{
|
|
||||||
"success": "Success",
|
|
||||||
"topic-post": "You have successfully posted.",
|
|
||||||
"authentication-successful": "Authentication Successful",
|
|
||||||
"settings-saved": "Settings saved!"
|
|
||||||
}
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
"no_tag_topics": "There are no topics with this tag.",
|
|
||||||
"tags": "Tags",
|
|
||||||
"enter_tags_here": "Enter tags here. Press enter after each tag.",
|
|
||||||
"enter_tags_here_short": "Enter tags...",
|
|
||||||
"no_tags": "There are no tags yet."
|
|
||||||
}
|
|
||||||
@@ -1,20 +1,18 @@
|
|||||||
{
|
{
|
||||||
"topic": "Topic",
|
"topic": "Topic",
|
||||||
|
"topics": "Topics",
|
||||||
"topic_id": "Topic ID",
|
"topic_id": "Topic ID",
|
||||||
"topic_id_placeholder": "Enter topic ID",
|
"topic_id_placeholder": "Enter topic ID",
|
||||||
"no_topics_found": "No topics found!",
|
"no_topics_found": "No topics found!",
|
||||||
"no_posts_found": "No posts found!",
|
"no_posts_found": "No posts found!",
|
||||||
"post_is_deleted": "This post is deleted!",
|
|
||||||
"profile": "Profile",
|
"profile": "Profile",
|
||||||
"posted_by": "Posted by %1",
|
"posted_by": "Posted by",
|
||||||
"posted_by_guest": "Posted by Guest",
|
|
||||||
"chat": "Chat",
|
"chat": "Chat",
|
||||||
"notify_me": "Be notified of new replies in this topic",
|
"notify_me": "Be notified of new replies in this topic",
|
||||||
"quote": "Quote",
|
"quote": "Quote",
|
||||||
"reply": "Reply",
|
"reply": "Reply",
|
||||||
"edit": "Edit",
|
"edit": "Edit",
|
||||||
"delete": "Delete",
|
"delete": "Delete",
|
||||||
"purge": "Purge",
|
|
||||||
"restore": "Restore",
|
"restore": "Restore",
|
||||||
"move": "Move",
|
"move": "Move",
|
||||||
"fork": "Fork",
|
"fork": "Fork",
|
||||||
@@ -23,61 +21,60 @@
|
|||||||
"share": "Share",
|
"share": "Share",
|
||||||
"tools": "Tools",
|
"tools": "Tools",
|
||||||
"flag": "Flag",
|
"flag": "Flag",
|
||||||
"locked": "Locked",
|
|
||||||
"bookmark_instructions": "Click here to return to your last position or close to discard.",
|
"bookmark_instructions": "Click here to return to your last position or close to discard.",
|
||||||
"flag_title": "Flag this post for moderation",
|
"flag_title": "Flag this post for moderation",
|
||||||
"flag_confirm": "Are you sure you want to flag this post?",
|
"flag_confirm": "Are you sure you want to flag this post?",
|
||||||
"flag_success": "This post has been flagged for moderation.",
|
"flag_success": "This post has been flagged for moderation.",
|
||||||
"deleted_message": "This topic has been deleted. Only users with topic management privileges can see it.",
|
"deleted_message": "This thread has been deleted. Only users with thread management privileges can see it.",
|
||||||
|
"following_topic.title": "Following Topic",
|
||||||
"following_topic.message": "You will now be receiving notifications when somebody posts to this topic.",
|
"following_topic.message": "You will now be receiving notifications when somebody posts to this topic.",
|
||||||
|
"not_following_topic.title": "Not Following Topic",
|
||||||
"not_following_topic.message": "You will no longer receive notifications from this topic.",
|
"not_following_topic.message": "You will no longer receive notifications from this topic.",
|
||||||
"login_to_subscribe": "Please register or log in in order to subscribe to this topic.",
|
"login_to_subscribe": "Please register or log in in order to subscribe to this topic.",
|
||||||
"markAsUnreadForAll.success": "Topic marked as unread for all.",
|
"markAsUnreadForAll.success": "Topic marked as unread for all.",
|
||||||
"watch": "Watch",
|
"watch": "Watch",
|
||||||
"unwatch": "Unwatch",
|
|
||||||
"watch.title": "Be notified of new replies in this topic",
|
"watch.title": "Be notified of new replies in this topic",
|
||||||
"unwatch.title": "Stop watching this topic",
|
|
||||||
"share_this_post": "Share this Post",
|
"share_this_post": "Share this Post",
|
||||||
"thread_tools.title": "Topic Tools",
|
"thread_tools.title": "Thread Tools",
|
||||||
"thread_tools.markAsUnreadForAll": "Mark Unread",
|
"thread_tools.markAsUnreadForAll": "Mark Unread",
|
||||||
"thread_tools.pin": "Pin Topic",
|
"thread_tools.pin": "Pin Topic",
|
||||||
"thread_tools.unpin": "Unpin Topic",
|
"thread_tools.unpin": "Unpin Topic",
|
||||||
"thread_tools.lock": "Lock Topic",
|
"thread_tools.lock": "Lock Topic",
|
||||||
"thread_tools.unlock": "Unlock Topic",
|
"thread_tools.unlock": "Unlock Topic",
|
||||||
"thread_tools.move": "Move Topic",
|
"thread_tools.move": "Move Topic",
|
||||||
"thread_tools.move_all": "Move All",
|
|
||||||
"thread_tools.fork": "Fork Topic",
|
"thread_tools.fork": "Fork Topic",
|
||||||
"thread_tools.delete": "Delete Topic",
|
"thread_tools.delete": "Delete Topic",
|
||||||
"thread_tools.delete_confirm": "Are you sure you want to delete this topic?",
|
|
||||||
"thread_tools.restore": "Restore Topic",
|
"thread_tools.restore": "Restore Topic",
|
||||||
"thread_tools.restore_confirm": "Are you sure you want to restore this topic?",
|
|
||||||
"thread_tools.purge": "Purge Topic",
|
|
||||||
"thread_tools.purge_confirm": "Are you sure you want to purge this topic?",
|
|
||||||
"topic_move_success": "This topic has been successfully moved to %1",
|
|
||||||
"post_delete_confirm": "Are you sure you want to delete this post?",
|
|
||||||
"post_restore_confirm": "Are you sure you want to restore this post?",
|
|
||||||
"post_purge_confirm": "Are you sure you want to purge this post?",
|
|
||||||
"load_categories": "Loading Categories",
|
"load_categories": "Loading Categories",
|
||||||
"disabled_categories_note": "Disabled Categories are greyed out",
|
"disabled_categories_note": "Disabled Categories are greyed out",
|
||||||
"confirm_move": "Move",
|
"confirm_move": "Move",
|
||||||
"confirm_fork": "Fork",
|
"confirm_fork": "Fork",
|
||||||
"favourite": "Favourite",
|
"favourite": "Favourite",
|
||||||
"favourites": "Favourites",
|
"favourites": "Favourites",
|
||||||
|
"favourites.not_logged_in.title": "Not Logged In",
|
||||||
|
"favourites.not_logged_in.message": "Please log in in order to favourite this post",
|
||||||
"favourites.has_no_favourites": "You don't have any favourites, favourite some posts to see them here!",
|
"favourites.has_no_favourites": "You don't have any favourites, favourite some posts to see them here!",
|
||||||
|
"vote.not_logged_in.title": "Not Logged In",
|
||||||
|
"vote.not_logged_in.message": "Please log in in order to vote",
|
||||||
|
"vote.cant_vote_self.title": "Invalid Vote",
|
||||||
|
"vote.cant_vote_self.message": "You cannot vote for your own post",
|
||||||
"loading_more_posts": "Loading More Posts",
|
"loading_more_posts": "Loading More Posts",
|
||||||
"move_topic": "Move Topic",
|
"move_topic": "Move Topic",
|
||||||
"move_topics": "Move Topics",
|
|
||||||
"move_post": "Move Post",
|
"move_post": "Move Post",
|
||||||
"post_moved": "Post moved!",
|
|
||||||
"fork_topic": "Fork Topic",
|
"fork_topic": "Fork Topic",
|
||||||
"topic_will_be_moved_to": "This topic will be moved to the category",
|
"topic_will_be_moved_to": "This topic will be moved to the category",
|
||||||
"fork_topic_instruction": "Click the posts you want to fork",
|
"fork_topic_instruction": "Click the posts you want to fork",
|
||||||
"fork_no_pids": "No posts selected!",
|
"fork_no_pids": "No posts selected!",
|
||||||
"fork_success": "Succesfully forked topic! Click here to go to the forked topic.",
|
"fork_success": "Succesfully forked topic!",
|
||||||
|
"reputation": "Reputation",
|
||||||
|
"posts": "Posts",
|
||||||
"composer.title_placeholder": "Enter your topic title here...",
|
"composer.title_placeholder": "Enter your topic title here...",
|
||||||
|
"composer.write": "Write",
|
||||||
|
"composer.preview": "Preview",
|
||||||
|
"composer.help": "Help",
|
||||||
"composer.discard": "Discard",
|
"composer.discard": "Discard",
|
||||||
"composer.submit": "Submit",
|
"composer.submit": "Submit",
|
||||||
"composer.replying_to": "Replying to %1",
|
"composer.replying_to": "Replying to",
|
||||||
"composer.new_topic": "New Topic",
|
"composer.new_topic": "New Topic",
|
||||||
"composer.uploading": "uploading...",
|
"composer.uploading": "uploading...",
|
||||||
"composer.thumb_url_label": "Paste a topic thumbnail URL",
|
"composer.thumb_url_label": "Paste a topic thumbnail URL",
|
||||||
@@ -86,12 +83,5 @@
|
|||||||
"composer.thumb_file_label": "Or upload a file",
|
"composer.thumb_file_label": "Or upload a file",
|
||||||
"composer.thumb_remove": "Clear fields",
|
"composer.thumb_remove": "Clear fields",
|
||||||
"composer.drag_and_drop_images": "Drag and Drop Images Here",
|
"composer.drag_and_drop_images": "Drag and Drop Images Here",
|
||||||
"more_users_and_guests": "%1 more user(s) and %2 guest(s)",
|
"composer.upload_instructions": "Upload images by dragging & dropping them."
|
||||||
"more_users": "%1 more user(s)",
|
|
||||||
"more_guests": "%1 more guest(s)",
|
|
||||||
"users_and_others": "%1 and %2 others",
|
|
||||||
"sort_by": "Sort by",
|
|
||||||
"oldest_to_newest": "Oldest to Newest",
|
|
||||||
"newest_to_oldest": "Newest to Oldest",
|
|
||||||
"most_votes": "Most votes"
|
|
||||||
}
|
}
|
||||||
@@ -1,9 +1,6 @@
|
|||||||
{
|
{
|
||||||
"title": "Unread",
|
"title": "Unread",
|
||||||
"no_unread_topics": "There be no unread topics.",
|
"no_unread_topics": "There be no unread topics.",
|
||||||
"load_more": "Giv'er more",
|
"mark_all_read": "I seen 'em all!",
|
||||||
"mark_as_read": "Mark as Read",
|
"load_more": "Giv'er more"
|
||||||
"selected": "Selected",
|
|
||||||
"all": "All",
|
|
||||||
"topics_marked_as_read.success": "Topics marked as read!"
|
|
||||||
}
|
}
|
||||||
@@ -3,11 +3,9 @@
|
|||||||
"offline": "Asleep at the wheel",
|
"offline": "Asleep at the wheel",
|
||||||
"username": "User Name",
|
"username": "User Name",
|
||||||
"email": "Email",
|
"email": "Email",
|
||||||
"confirm_email": "Confirm Email",
|
|
||||||
"delete_account": "Delete Account",
|
|
||||||
"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 username to confirm that you wish to destroy this account.",
|
|
||||||
"fullname": "Full Name",
|
"fullname": "Full Name",
|
||||||
"website": "Website",
|
"website": "Website",
|
||||||
|
"user:website_placeholder": "http://...",
|
||||||
"location": "Location",
|
"location": "Location",
|
||||||
"age": "Age",
|
"age": "Age",
|
||||||
"joined": "Joined",
|
"joined": "Joined",
|
||||||
@@ -15,57 +13,44 @@
|
|||||||
"profile": "Profile",
|
"profile": "Profile",
|
||||||
"profile_views": "Profile views",
|
"profile_views": "Profile views",
|
||||||
"reputation": "Reputation",
|
"reputation": "Reputation",
|
||||||
|
"posts": "Posts",
|
||||||
"favourites": "Favourites",
|
"favourites": "Favourites",
|
||||||
"followers": "Followers",
|
"followers": "Followers",
|
||||||
"following": "Following",
|
"following": "Following",
|
||||||
"signature": "Signature",
|
"signature": "Signature",
|
||||||
"gravatar": "Gravatar",
|
"gravatar": "Gravatar",
|
||||||
"birthday": "Birthday",
|
"birthday": "Birthday",
|
||||||
|
"birthday_placeholder": "mm/dd/yyyy",
|
||||||
"chat": "Chat",
|
"chat": "Chat",
|
||||||
"follow": "Follow",
|
"follow": "Follow",
|
||||||
"unfollow": "Unfollow",
|
"unfollow": "Unfollow",
|
||||||
"profile_update_success": "Profile has been updated successfully!",
|
|
||||||
"change_picture": "Change Picture",
|
"change_picture": "Change Picture",
|
||||||
"edit": "Edit",
|
"edit": "Edit",
|
||||||
"uploaded_picture": "Uploaded Picture",
|
"uploaded_picture": "Uploaded Picture",
|
||||||
"upload_new_picture": "Upload New Picture",
|
"upload_new_picture": "Upload New Picture",
|
||||||
"upload_new_picture_from_url": "Upload New Picture From URL",
|
|
||||||
"current_password": "Current Password",
|
"current_password": "Current Password",
|
||||||
"change_password": "Change Password",
|
"change_password": "Change Password",
|
||||||
"change_password_error": "Invalid Password!",
|
"change_password_error": "Invalid Password!",
|
||||||
"change_password_error_wrong_current": "Your current password is not correct!",
|
"change_password_error_wrong_current": "Your current password is not correct!",
|
||||||
"change_password_error_length": "Password too short!",
|
"change_password_error_length": "Password too short!",
|
||||||
"change_password_error_match": "Passwords must match!",
|
"change_password_error_match": "Passwords must match!",
|
||||||
"change_password_error_privileges": "You do not have the rights to change this password.",
|
"change_password_error_privileges": "You are not have the rights to change this password.",
|
||||||
"change_password_success": "Your password is updated!",
|
"change_password_success": "Your password is updated!",
|
||||||
"confirm_password": "Confirm Password",
|
"confirm_password": "Confirm Password",
|
||||||
"password": "Password",
|
"password": "Password",
|
||||||
"username_taken_workaround": "The username you requested was already taken, so we have altered it slightly. You are now known as <strong>%1</strong>",
|
|
||||||
"upload_picture": "Upload picture",
|
"upload_picture": "Upload picture",
|
||||||
"upload_a_picture": "Upload a picture",
|
"upload_a_picture": "Upload a picture",
|
||||||
"image_spec": "You may only upload PNG, JPG, or GIF files",
|
"image_spec": "You may only upload PNG, JPG, or GIF files",
|
||||||
"max": "max.",
|
"max": "max.",
|
||||||
"settings": "Settings",
|
"settings": "Settings",
|
||||||
"show_email": "Show My Email",
|
"show_email": "Show My Email",
|
||||||
"digest_label": "Subscribe to Digest",
|
|
||||||
"digest_description": "Subscribe to email updates for this forum (new notifications and topics) according to a set schedule",
|
|
||||||
"digest_off": "Off",
|
|
||||||
"digest_daily": "Daily",
|
|
||||||
"digest_weekly": "Weekly",
|
|
||||||
"digest_monthly": "Monthly",
|
|
||||||
"send_chat_notifications": "Send an email if a new chat message arrives and I am not online",
|
|
||||||
"has_no_follower": "This user doesn't have any followers :(",
|
"has_no_follower": "This user doesn't have any followers :(",
|
||||||
"follows_no_one": "This user isn't following anyone :(",
|
"follows_no_one": "This user isn't following anyone :(",
|
||||||
"has_no_posts": "This user didn't post anything yet.",
|
"has_no_posts": "This user didn't post anything yet.",
|
||||||
"has_no_topics": "This user didn't post any topics yet.",
|
|
||||||
"email_hidden": "Email Hidden",
|
"email_hidden": "Email Hidden",
|
||||||
"hidden": "hidden",
|
"hidden": "hidden",
|
||||||
"paginate_description": "Paginate topics and posts instead of using infinite scroll.",
|
"paginate_description": "Paginate topics and posts instead of using infinite scroll.",
|
||||||
"topics_per_page": "Topics per Page",
|
"topics_per_page": "Topics per Page",
|
||||||
"posts_per_page": "Posts per Page",
|
"posts_per_page": "Posts per Page",
|
||||||
"notification_sounds": "Play a sound when you receive a notification.",
|
"notification_sounds": "Play a sound when you receive a notification."
|
||||||
"browsing": "Browsing Settings",
|
|
||||||
"open_links_in_new_tab": "Open outgoing links in new tab?",
|
|
||||||
"follow_topics_you_reply_to": "Follow topics that you reply to.",
|
|
||||||
"follow_topics_you_create": "Follow topics you create."
|
|
||||||
}
|
}
|
||||||
@@ -2,9 +2,8 @@
|
|||||||
"latest_users": "Land lubbers",
|
"latest_users": "Land lubbers",
|
||||||
"top_posters": "Top mateys",
|
"top_posters": "Top mateys",
|
||||||
"most_reputation": "Most Reputation",
|
"most_reputation": "Most Reputation",
|
||||||
|
"online": "Online",
|
||||||
"search": "Search",
|
"search": "Search",
|
||||||
"enter_username": "Gimme y'er handle",
|
"enter_username": "Gimme y'er handle",
|
||||||
"load_more": "Load More",
|
"load_more": "Load More"
|
||||||
"user-not-found": "User not found!",
|
|
||||||
"users-found-search-took": "%1 user(s) found! Search took %2 ms."
|
|
||||||
}
|
}
|
||||||
@@ -1,10 +1,12 @@
|
|||||||
{
|
{
|
||||||
"new_topic_button": "New Topic",
|
"new_topic_button": "New Topic",
|
||||||
"no_topics": "<strong>There are no topics in this category.</strong><br />Why don't you try posting one?",
|
"no_topics": "<strong>There are no topics in this category.</strong><br />Why don't you try posting one?",
|
||||||
|
"posts": "posts",
|
||||||
|
"views": "views",
|
||||||
|
"posted": "posted",
|
||||||
"browsing": "browsing",
|
"browsing": "browsing",
|
||||||
"no_replies": "No one has replied",
|
"no_replies": "No one has replied",
|
||||||
|
"replied": "replied",
|
||||||
"share_this_category": "Share this category",
|
"last_edited_by": "last edited by",
|
||||||
"ignore": "Ignore"
|
"share_this_category": "Share this category"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,31 +0,0 @@
|
|||||||
{
|
|
||||||
"password-reset-requested": "Password Reset Requested - %1!",
|
|
||||||
"welcome-to": "Welcome to %1",
|
|
||||||
|
|
||||||
"greeting_no_name": "Hello",
|
|
||||||
"greeting_with_name": "Hello %1",
|
|
||||||
|
|
||||||
"welcome.text1": "Thank you for registering with %1!",
|
|
||||||
"welcome.text2": "To fully activate your account, we need to verify that you own the email address you registered with.",
|
|
||||||
"welcome.cta": "Click here to confirm your email address",
|
|
||||||
|
|
||||||
"reset.text1": "We received a request to reset your password, possibly because you have forgotten it. If this is not the case, please ignore this email.",
|
|
||||||
"reset.text2": "To continue with the password reset, please click on the following link:",
|
|
||||||
"reset.cta": "Click here to reset your password",
|
|
||||||
|
|
||||||
"digest.notifications": "You have unread notifications from %1:",
|
|
||||||
"digest.latest_topics": "Latest topics from %1",
|
|
||||||
"digest.cta": "Click here to visit %1",
|
|
||||||
"digest.unsub.info": "This digest was sent to you due to your subscription settings.",
|
|
||||||
"digest.daily.no_topics": "There have been no active topics in the past day",
|
|
||||||
|
|
||||||
"notif.chat.subject": "New chat message received from %1",
|
|
||||||
"notif.chat.cta": "Click here to continue the conversation",
|
|
||||||
"notif.chat.unsub.info": "This chat notification was sent to you due to your subscription settings.",
|
|
||||||
|
|
||||||
"test.text1": "This is a test email to verify that the emailer is set up correctly for your NodeBB.",
|
|
||||||
|
|
||||||
"unsub.cta": "Click here to alter those settings",
|
|
||||||
|
|
||||||
"closing": "Thanks!"
|
|
||||||
}
|
|
||||||
@@ -1,87 +0,0 @@
|
|||||||
{
|
|
||||||
"invalid-data": "Invalid Data",
|
|
||||||
|
|
||||||
"not-logged-in": "You don't seem to be logged in.",
|
|
||||||
"account-locked": "Your account has been locked temporarily",
|
|
||||||
"search-requires-login": "Searching requires an account! Please login or register!",
|
|
||||||
|
|
||||||
"invalid-cid": "Invalid Category ID",
|
|
||||||
"invalid-tid": "Invalid Topic ID",
|
|
||||||
"invalid-pid": "Invalid Post ID",
|
|
||||||
"invalid-uid": "Invalid User ID",
|
|
||||||
|
|
||||||
"invalid-username": "Invalid Username",
|
|
||||||
"invalid-email": "Invalid Email",
|
|
||||||
"invalid-title": "Invalid title",
|
|
||||||
"invalid-user-data": "Invalid User Data",
|
|
||||||
"invalid-password": "Invalid Password",
|
|
||||||
"invalid-username-or-password": "Please specify both a username and password",
|
|
||||||
"invalid-search-term": "Invalid search term",
|
|
||||||
|
|
||||||
"invalid-pagination-value": "Invalid pagination value",
|
|
||||||
|
|
||||||
"username-taken": "Username taken",
|
|
||||||
"email-taken": "Email taken",
|
|
||||||
"email-not-confirmed": "Your email has not been confirmed yet, please click here to confirm your email.",
|
|
||||||
|
|
||||||
"username-too-short": "Username too short",
|
|
||||||
"username-too-long": "Username too long",
|
|
||||||
|
|
||||||
"user-banned": "User banned",
|
|
||||||
"user-too-new": "Sorry, you are required to wait %1 seconds before making your first post",
|
|
||||||
|
|
||||||
"no-category": "Category does not exist",
|
|
||||||
"no-topic": "Topic does not exist",
|
|
||||||
"no-post": "Post does not exist",
|
|
||||||
"no-group": "Group does not exist",
|
|
||||||
"no-user": "User does not exist",
|
|
||||||
"no-teaser": "Teaser does not exist",
|
|
||||||
"no-privileges": "You do not have enough privileges for this action.",
|
|
||||||
"no-emailers-configured": "No email plugins were loaded, so a test email could not be sent",
|
|
||||||
|
|
||||||
"category-disabled": "Category disabled",
|
|
||||||
|
|
||||||
"topic-locked": "Topic Locked",
|
|
||||||
|
|
||||||
"still-uploading": "Please wait for uploads to complete.",
|
|
||||||
"content-too-short": "Please enter a longer post. Posts should contain at least %1 characters.",
|
|
||||||
"title-too-short": "Please enter a longer title. Titles should contain at least %1 characters.",
|
|
||||||
"title-too-long": "Please enter a shorter title. Titles can't be longer than %1 characters.",
|
|
||||||
"invalid-title": "Invalid title!",
|
|
||||||
"too-many-posts": "You can only post once every %1 seconds - please wait before posting again",
|
|
||||||
"file-too-big": "Maximum allowed file size is %1 kbs - please upload a smaller file",
|
|
||||||
|
|
||||||
"cant-vote-self-post": "You cannot vote for your own post",
|
|
||||||
"already-favourited": "You have already favourited this post",
|
|
||||||
"already-unfavourited": "You have already unfavourited this post",
|
|
||||||
|
|
||||||
"cant-ban-other-admins": "You can't ban other admins!",
|
|
||||||
|
|
||||||
"invalid-image-type": "Invalid image type",
|
|
||||||
|
|
||||||
"group-name-too-short": "Group name too short",
|
|
||||||
"group-already-exists": "Group already exists",
|
|
||||||
"group-name-change-not-allowed": "Group name change not allowed",
|
|
||||||
|
|
||||||
"post-already-deleted": "This post has already been deleted",
|
|
||||||
"post-already-restored": "This post has already been restored",
|
|
||||||
|
|
||||||
"topic-already-deleted": "This topic has already been deleted",
|
|
||||||
"topic-already-restored": "This topic has already been restored",
|
|
||||||
|
|
||||||
"topic-thumbnails-are-disabled": "Topic thumbnails are disabled.",
|
|
||||||
"invalid-file": "Invalid File",
|
|
||||||
"uploads-are-disabled": "Uploads are disabled",
|
|
||||||
"upload-error": "Upload Error : %1",
|
|
||||||
|
|
||||||
"signature-too-long" : "Sorry, your signature cannot be longer than %1 characters.",
|
|
||||||
|
|
||||||
"cant-chat-with-yourself": "You can't chat with yourself!",
|
|
||||||
|
|
||||||
"reputation-system-disabled": "Reputation system is disabled.",
|
|
||||||
"downvoting-disabled": "Downvoting is disabled",
|
|
||||||
"not-enough-reputation-to-downvote": "You do not have enough reputation to downvote this post",
|
|
||||||
"not-enough-reputation-to-flag": "You do not have enough reputation to flag this post",
|
|
||||||
|
|
||||||
"reload-failed": "NodeBB encountered a problem while reloading: \"%1\". NodeBB will continue to serve the existing client-side assets, although you should undo what you did just prior to reloading."
|
|
||||||
}
|
|
||||||
7
public/language/en_GB/footer.json
Normal file
7
public/language/en_GB/footer.json
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"stats.online": "Online",
|
||||||
|
"stats.users": "Users",
|
||||||
|
"stats.topics": "Topics",
|
||||||
|
"stats.posts": "Posts",
|
||||||
|
"success": "success"
|
||||||
|
}
|
||||||
@@ -19,17 +19,15 @@
|
|||||||
"welcome_back": "Welcome Back ",
|
"welcome_back": "Welcome Back ",
|
||||||
"you_have_successfully_logged_in": "You have successfully logged in",
|
"you_have_successfully_logged_in": "You have successfully logged in",
|
||||||
|
|
||||||
|
|
||||||
"save_changes": "Save Changes",
|
"save_changes": "Save Changes",
|
||||||
"close": "Close",
|
"close": "Close",
|
||||||
|
|
||||||
"pagination": "Pagination",
|
"pagination": "Pagination",
|
||||||
"pagination.out_of": "%1 out of %2",
|
|
||||||
"pagination.enter_index": "Enter index",
|
|
||||||
|
|
||||||
"header.admin": "Admin",
|
"header.admin": "Admin",
|
||||||
"header.recent": "Recent",
|
"header.recent": "Recent",
|
||||||
"header.unread": "Unread",
|
"header.unread": "Unread",
|
||||||
"header.tags": "Tags",
|
|
||||||
"header.popular": "Popular",
|
"header.popular": "Popular",
|
||||||
"header.users": "Users",
|
"header.users": "Users",
|
||||||
"header.chats": "Chats",
|
"header.chats": "Chats",
|
||||||
@@ -49,32 +47,16 @@
|
|||||||
"alert.error": "Error",
|
"alert.error": "Error",
|
||||||
|
|
||||||
"alert.banned": "Banned",
|
"alert.banned": "Banned",
|
||||||
"alert.banned.message": "You have just been banned, you will now be logged out.",
|
"alert.banned.message": "You are banned you will be logged out!",
|
||||||
|
|
||||||
"alert.unfollow": "You are no longer following %1!",
|
"alert.unfollow": "You are no longer following %1!",
|
||||||
"alert.follow": "You are now following %1!",
|
"alert.follow": "You are now following %1!",
|
||||||
|
|
||||||
"online": "Online",
|
|
||||||
"users": "Users",
|
|
||||||
"topics": "Topics",
|
|
||||||
"posts": "Posts",
|
"posts": "Posts",
|
||||||
"views": "Views",
|
"views": "Views",
|
||||||
"reputation": "Reputation",
|
|
||||||
|
|
||||||
"read_more": "read more",
|
"posted": "posted",
|
||||||
|
"in": "in",
|
||||||
"posted_ago_by_guest": "posted %1 by Guest",
|
|
||||||
"posted_ago_by": "posted %1 by %2",
|
|
||||||
"posted_ago": "posted %1",
|
|
||||||
|
|
||||||
"posted_in_ago_by_guest": "posted in %1 %2 by Guest",
|
|
||||||
"posted_in_ago_by": "posted in %1 %2 by %3",
|
|
||||||
"posted_in_ago": "posted in %1 %2",
|
|
||||||
|
|
||||||
"replied_ago": "replied %1",
|
|
||||||
"user_posted_ago": "%1 posted %2",
|
|
||||||
"guest_posted_ago": "Guest posted %1",
|
|
||||||
"last_edited_by_ago": "last edited by %1 %2",
|
|
||||||
|
|
||||||
"norecentposts": "No Recent Posts",
|
"norecentposts": "No Recent Posts",
|
||||||
"norecenttopics": "No Recent Topics",
|
"norecenttopics": "No Recent Topics",
|
||||||
@@ -87,14 +69,5 @@
|
|||||||
"invisible": "Invisible",
|
"invisible": "Invisible",
|
||||||
"offline": "Offline",
|
"offline": "Offline",
|
||||||
|
|
||||||
"email": "Email",
|
|
||||||
"language": "Language",
|
|
||||||
|
|
||||||
"guest": "Guest",
|
|
||||||
"guests": "Guests",
|
|
||||||
|
|
||||||
"updated.title": "Forum Updated",
|
|
||||||
"updated.message": "This forum has just been updated to the latest version. Click here to refresh the page.",
|
|
||||||
|
|
||||||
"privacy": "Privacy"
|
"privacy": "Privacy"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +0,0 @@
|
|||||||
{
|
|
||||||
"groups": "Groups",
|
|
||||||
"view_group": "View Group",
|
|
||||||
|
|
||||||
"details.title": "Group Details",
|
|
||||||
"details.members": "Member List",
|
|
||||||
"details.has_no_posts": "This group's members have not made any posts.",
|
|
||||||
"details.latest_posts": "Latest Posts"
|
|
||||||
}
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user