mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-12-22 16:30:34 +01:00
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e9b9f090e4 | ||
|
|
b82a6fa888 |
7
.gitignore
vendored
7
.gitignore
vendored
@@ -14,14 +14,9 @@ Vagrantfile
|
||||
.vagrant
|
||||
provision.sh
|
||||
*.komodoproject
|
||||
.DS_Store
|
||||
|
||||
feeds/recent.rss
|
||||
|
||||
# winston?
|
||||
error.log
|
||||
events.log
|
||||
|
||||
pidfile
|
||||
|
||||
# templates
|
||||
/public/templates
|
||||
|
||||
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
|
||||
440
.tx/config
440
.tx/config
@@ -1,440 +0,0 @@
|
||||
[main]
|
||||
host = https://www.transifex.com
|
||||
|
||||
[nodebb.category]
|
||||
file_filter = public/language/<lang>/category.json
|
||||
source_file = public/language/en_GB/category.json
|
||||
source_lang = en_GB
|
||||
trans.ar = public/language/ar/category.json
|
||||
trans.cs = public/language/cs/category.json
|
||||
trans.de = public/language/de/category.json
|
||||
trans.en@pirate = public/language/en@pirate/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.fi = public/language/fi/category.json
|
||||
trans.fr = public/language/fr/category.json
|
||||
trans.he = public/language/he/category.json
|
||||
trans.hu = public/language/hu/category.json
|
||||
trans.it = public/language/it/category.json
|
||||
trans.nb = public/language/nb/category.json
|
||||
trans.nl = public/language/nl/category.json
|
||||
trans.pl = public/language/pl/category.json
|
||||
trans.pt_BR = public/language/pt_BR/category.json
|
||||
trans.ru = public/language/ru/category.json
|
||||
trans.sc = public/language/sc/category.json
|
||||
trans.sk = public/language/sk/category.json
|
||||
trans.sv = public/language/sv/category.json
|
||||
trans.th = public/language/th/category.json
|
||||
trans.tr = public/language/tr/category.json
|
||||
trans.zh_CN = public/language/zh_CN/category.json
|
||||
trans.zh_TW = public/language/zh_TW/category.json
|
||||
type = KEYVALUEJSON
|
||||
|
||||
[nodebb.login]
|
||||
file_filter = public/language/<lang>/login.json
|
||||
source_file = public/language/en_GB/login.json
|
||||
source_lang = en_GB
|
||||
trans.ar = public/language/ar/login.json
|
||||
trans.cs = public/language/cs/login.json
|
||||
trans.de = public/language/de/login.json
|
||||
trans.en@pirate = public/language/en@pirate/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.fi = public/language/fi/login.json
|
||||
trans.fr = public/language/fr/login.json
|
||||
trans.he = public/language/he/login.json
|
||||
trans.hu = public/language/hu/login.json
|
||||
trans.it = public/language/it/login.json
|
||||
trans.nb = public/language/nb/login.json
|
||||
trans.nl = public/language/nl/login.json
|
||||
trans.pl = public/language/pl/login.json
|
||||
trans.pt_BR = public/language/pt_BR/login.json
|
||||
trans.ru = public/language/ru/login.json
|
||||
trans.sc = public/language/sc/login.json
|
||||
trans.sk = public/language/sk/login.json
|
||||
trans.sv = public/language/sv/login.json
|
||||
trans.th = public/language/th/login.json
|
||||
trans.tr = public/language/tr/login.json
|
||||
trans.zh_CN = public/language/zh_CN/login.json
|
||||
trans.zh_TW = public/language/zh_TW/login.json
|
||||
type = KEYVALUEJSON
|
||||
|
||||
[nodebb.recent]
|
||||
source_file = public/language/en_GB/recent.json
|
||||
source_lang = en_GB
|
||||
trans.ar = public/language/ar/recent.json
|
||||
trans.cs = public/language/cs/recent.json
|
||||
trans.de = public/language/de/recent.json
|
||||
trans.en@pirate = public/language/en@pirate/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.fi = public/language/fi/recent.json
|
||||
trans.fr = public/language/fr/recent.json
|
||||
trans.he = public/language/he/recent.json
|
||||
trans.hu = public/language/hu/recent.json
|
||||
trans.it = public/language/it/recent.json
|
||||
trans.nb = public/language/nb/recent.json
|
||||
trans.nl = public/language/nl/recent.json
|
||||
trans.pl = public/language/pl/recent.json
|
||||
trans.pt_BR = public/language/pt_BR/recent.json
|
||||
trans.ru = public/language/ru/recent.json
|
||||
trans.sc = public/language/sc/recent.json
|
||||
trans.sk = public/language/sk/recent.json
|
||||
trans.sv = public/language/sv/recent.json
|
||||
trans.th = public/language/th/recent.json
|
||||
trans.tr = public/language/tr/recent.json
|
||||
trans.zh_CN = public/language/zh_CN/recent.json
|
||||
trans.zh_TW = public/language/zh_TW/recent.json
|
||||
type = KEYVALUEJSON
|
||||
|
||||
[nodebb.unread]
|
||||
source_file = public/language/en_GB/unread.json
|
||||
source_lang = en_GB
|
||||
trans.ar = public/language/ar/unread.json
|
||||
trans.cs = public/language/cs/unread.json
|
||||
trans.de = public/language/de/unread.json
|
||||
trans.en@pirate = public/language/en@pirate/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.fi = public/language/fi/unread.json
|
||||
trans.fr = public/language/fr/unread.json
|
||||
trans.he = public/language/he/unread.json
|
||||
trans.hu = public/language/hu/unread.json
|
||||
trans.it = public/language/it/unread.json
|
||||
trans.nb = public/language/nb/unread.json
|
||||
trans.nl = public/language/nl/unread.json
|
||||
trans.pl = public/language/pl/unread.json
|
||||
trans.pt_BR = public/language/pt_BR/unread.json
|
||||
trans.ru = public/language/ru/unread.json
|
||||
trans.sc = public/language/sc/unread.json
|
||||
trans.sk = public/language/sk/unread.json
|
||||
trans.sv = public/language/sv/unread.json
|
||||
trans.th = public/language/th/unread.json
|
||||
trans.tr = public/language/tr/unread.json
|
||||
trans.zh_CN = public/language/zh_CN/unread.json
|
||||
trans.zh_TW = public/language/zh_TW/unread.json
|
||||
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.et = public/language/et/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]
|
||||
source_file = public/language/en_GB/modules.json
|
||||
source_lang = en_GB
|
||||
trans.ar = public/language/ar/modules.json
|
||||
trans.cs = public/language/cs/modules.json
|
||||
trans.de = public/language/de/modules.json
|
||||
trans.en@pirate = public/language/en@pirate/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.fi = public/language/fi/modules.json
|
||||
trans.fr = public/language/fr/modules.json
|
||||
trans.he = public/language/he/modules.json
|
||||
trans.hu = public/language/hu/modules.json
|
||||
trans.it = public/language/it/modules.json
|
||||
trans.nb = public/language/nb/modules.json
|
||||
trans.nl = public/language/nl/modules.json
|
||||
trans.pl = public/language/pl/modules.json
|
||||
trans.pt_BR = public/language/pt_BR/modules.json
|
||||
trans.ru = public/language/ru/modules.json
|
||||
trans.sc = public/language/sc/modules.json
|
||||
trans.sk = public/language/sk/modules.json
|
||||
trans.sv = public/language/sv/modules.json
|
||||
trans.th = public/language/th/modules.json
|
||||
trans.tr = public/language/tr/modules.json
|
||||
trans.zh_CN = public/language/zh_CN/modules.json
|
||||
trans.zh_TW = public/language/zh_TW/modules.json
|
||||
type = KEYVALUEJSON
|
||||
|
||||
[nodebb.register]
|
||||
source_file = public/language/en_GB/register.json
|
||||
source_lang = en_GB
|
||||
trans.ar = public/language/ar/register.json
|
||||
trans.cs = public/language/cs/register.json
|
||||
trans.de = public/language/de/register.json
|
||||
trans.en@pirate = public/language/en@pirate/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.fi = public/language/fi/register.json
|
||||
trans.fr = public/language/fr/register.json
|
||||
trans.he = public/language/he/register.json
|
||||
trans.hu = public/language/hu/register.json
|
||||
trans.it = public/language/it/register.json
|
||||
trans.nb = public/language/nb/register.json
|
||||
trans.nl = public/language/nl/register.json
|
||||
trans.pl = public/language/pl/register.json
|
||||
trans.pt_BR = public/language/pt_BR/register.json
|
||||
trans.ru = public/language/ru/register.json
|
||||
trans.sc = public/language/sc/register.json
|
||||
trans.sk = public/language/sk/register.json
|
||||
trans.sv = public/language/sv/register.json
|
||||
trans.th = public/language/th/register.json
|
||||
trans.tr = public/language/tr/register.json
|
||||
trans.zh_CN = public/language/zh_CN/register.json
|
||||
trans.zh_TW = public/language/zh_TW/register.json
|
||||
type = KEYVALUEJSON
|
||||
|
||||
[nodebb.user]
|
||||
source_file = public/language/en_GB/user.json
|
||||
source_lang = en_GB
|
||||
trans.ar = public/language/ar/user.json
|
||||
trans.cs = public/language/cs/user.json
|
||||
trans.de = public/language/de/user.json
|
||||
trans.en@pirate = public/language/en@pirate/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.fi = public/language/fi/user.json
|
||||
trans.fr = public/language/fr/user.json
|
||||
trans.he = public/language/he/user.json
|
||||
trans.hu = public/language/hu/user.json
|
||||
trans.it = public/language/it/user.json
|
||||
trans.nb = public/language/nb/user.json
|
||||
trans.nl = public/language/nl/user.json
|
||||
trans.pl = public/language/pl/user.json
|
||||
trans.pt_BR = public/language/pt_BR/user.json
|
||||
trans.ru = public/language/ru/user.json
|
||||
trans.sc = public/language/sc/user.json
|
||||
trans.sk = public/language/sk/user.json
|
||||
trans.sv = public/language/sv/user.json
|
||||
trans.th = public/language/th/user.json
|
||||
trans.tr = public/language/tr/user.json
|
||||
trans.zh_CN = public/language/zh_CN/user.json
|
||||
trans.zh_TW = public/language/zh_TW/user.json
|
||||
type = KEYVALUEJSON
|
||||
|
||||
[nodebb.global]
|
||||
source_file = public/language/en_GB/global.json
|
||||
source_lang = en_GB
|
||||
trans.ar = public/language/ar/global.json
|
||||
trans.cs = public/language/cs/global.json
|
||||
trans.de = public/language/de/global.json
|
||||
trans.en@pirate = public/language/en@pirate/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.fi = public/language/fi/global.json
|
||||
trans.fr = public/language/fr/global.json
|
||||
trans.he = public/language/he/global.json
|
||||
trans.hu = public/language/hu/global.json
|
||||
trans.it = public/language/it/global.json
|
||||
trans.nb = public/language/nb/global.json
|
||||
trans.nl = public/language/nl/global.json
|
||||
trans.pl = public/language/pl/global.json
|
||||
trans.pt_BR = public/language/pt_BR/global.json
|
||||
trans.ru = public/language/ru/global.json
|
||||
trans.sc = public/language/sc/global.json
|
||||
trans.sk = public/language/sk/global.json
|
||||
trans.sv = public/language/sv/global.json
|
||||
trans.th = public/language/th/global.json
|
||||
trans.tr = public/language/tr/global.json
|
||||
trans.zh_CN = public/language/zh_CN/global.json
|
||||
trans.zh_TW = public/language/zh_TW/global.json
|
||||
type = KEYVALUEJSON
|
||||
|
||||
[nodebb.notifications]
|
||||
source_file = public/language/en_GB/notifications.json
|
||||
source_lang = en_GB
|
||||
trans.ar = public/language/ar/notifications.json
|
||||
trans.cs = public/language/cs/notifications.json
|
||||
trans.de = public/language/de/notifications.json
|
||||
trans.en@pirate = public/language/en@pirate/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.fi = public/language/fi/notifications.json
|
||||
trans.fr = public/language/fr/notifications.json
|
||||
trans.he = public/language/he/notifications.json
|
||||
trans.hu = public/language/hu/notifications.json
|
||||
trans.it = public/language/it/notifications.json
|
||||
trans.nb = public/language/nb/notifications.json
|
||||
trans.nl = public/language/nl/notifications.json
|
||||
trans.pl = public/language/pl/notifications.json
|
||||
trans.pt_BR = public/language/pt_BR/notifications.json
|
||||
trans.ru = public/language/ru/notifications.json
|
||||
trans.sc = public/language/sc/notifications.json
|
||||
trans.sk = public/language/sk/notifications.json
|
||||
trans.sv = public/language/sv/notifications.json
|
||||
trans.th = public/language/th/notifications.json
|
||||
trans.tr = public/language/tr/notifications.json
|
||||
trans.zh_CN = public/language/zh_CN/notifications.json
|
||||
trans.zh_TW = public/language/zh_TW/notifications.json
|
||||
type = KEYVALUEJSON
|
||||
|
||||
[nodebb.reset_password]
|
||||
source_file = public/language/en_GB/reset_password.json
|
||||
source_lang = en_GB
|
||||
trans.ar = public/language/ar/reset_password.json
|
||||
trans.cs = public/language/cs/reset_password.json
|
||||
trans.de = public/language/de/reset_password.json
|
||||
trans.en@pirate = public/language/en@pirate/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.fi = public/language/fi/reset_password.json
|
||||
trans.fr = public/language/fr/reset_password.json
|
||||
trans.he = public/language/he/reset_password.json
|
||||
trans.hu = public/language/hu/reset_password.json
|
||||
trans.it = public/language/it/reset_password.json
|
||||
trans.nb = public/language/nb/reset_password.json
|
||||
trans.nl = public/language/nl/reset_password.json
|
||||
trans.pl = public/language/pl/reset_password.json
|
||||
trans.pt_BR = public/language/pt_BR/reset_password.json
|
||||
trans.ru = public/language/ru/reset_password.json
|
||||
trans.sc = public/language/sc/reset_password.json
|
||||
trans.sk = public/language/sk/reset_password.json
|
||||
trans.sv = public/language/sv/reset_password.json
|
||||
trans.th = public/language/th/reset_password.json
|
||||
trans.tr = public/language/tr/reset_password.json
|
||||
trans.zh_CN = public/language/zh_CN/reset_password.json
|
||||
trans.zh_TW = public/language/zh_TW/reset_password.json
|
||||
type = KEYVALUEJSON
|
||||
|
||||
[nodebb.users]
|
||||
source_file = public/language/en_GB/users.json
|
||||
source_lang = en_GB
|
||||
trans.ar = public/language/ar/users.json
|
||||
trans.cs = public/language/cs/users.json
|
||||
trans.de = public/language/de/users.json
|
||||
trans.en@pirate = public/language/en@pirate/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.fi = public/language/fi/users.json
|
||||
trans.fr = public/language/fr/users.json
|
||||
trans.he = public/language/he/users.json
|
||||
trans.hu = public/language/hu/users.json
|
||||
trans.it = public/language/it/users.json
|
||||
trans.nb = public/language/nb/users.json
|
||||
trans.nl = public/language/nl/users.json
|
||||
trans.pl = public/language/pl/users.json
|
||||
trans.pt_BR = public/language/pt_BR/users.json
|
||||
trans.ru = public/language/ru/users.json
|
||||
trans.sc = public/language/sc/users.json
|
||||
trans.sk = public/language/sk/users.json
|
||||
trans.sv = public/language/sv/users.json
|
||||
trans.th = public/language/th/users.json
|
||||
trans.tr = public/language/tr/users.json
|
||||
trans.zh_CN = public/language/zh_CN/users.json
|
||||
trans.zh_TW = public/language/zh_TW/users.json
|
||||
type = KEYVALUEJSON
|
||||
|
||||
[nodebb.language]
|
||||
source_file = public/language/en_GB/language.json
|
||||
source_lang = en_GB
|
||||
trans.ar = public/language/ar/language.json
|
||||
trans.cs = public/language/cs/language.json
|
||||
trans.de = public/language/de/language.json
|
||||
trans.en@pirate = public/language/en@pirate/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.fi = public/language/fi/language.json
|
||||
trans.fr = public/language/fr/language.json
|
||||
trans.he = public/language/he/language.json
|
||||
trans.hu = public/language/hu/language.json
|
||||
trans.it = public/language/it/language.json
|
||||
trans.nb = public/language/nb/language.json
|
||||
trans.nl = public/language/nl/language.json
|
||||
trans.pl = public/language/pl/language.json
|
||||
trans.pt_BR = public/language/pt_BR/language.json
|
||||
trans.ru = public/language/ru/language.json
|
||||
trans.sc = public/language/sc/language.json
|
||||
trans.sk = public/language/sk/language.json
|
||||
trans.sv = public/language/sv/language.json
|
||||
trans.th = public/language/th/language.json
|
||||
trans.tr = public/language/tr/language.json
|
||||
trans.zh_CN = public/language/zh_CN/language.json
|
||||
trans.zh_TW = public/language/zh_TW/language.json
|
||||
type = KEYVALUEJSON
|
||||
|
||||
[nodebb.pages]
|
||||
source_file = public/language/en_GB/pages.json
|
||||
source_lang = en_GB
|
||||
trans.ar = public/language/ar/pages.json
|
||||
trans.cs = public/language/cs/pages.json
|
||||
trans.de = public/language/de/pages.json
|
||||
trans.en@pirate = public/language/en@pirate/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.fi = public/language/fi/pages.json
|
||||
trans.fr = public/language/fr/pages.json
|
||||
trans.he = public/language/he/pages.json
|
||||
trans.hu = public/language/hu/pages.json
|
||||
trans.it = public/language/it/pages.json
|
||||
trans.nb = public/language/nb/pages.json
|
||||
trans.nl = public/language/nl/pages.json
|
||||
trans.pl = public/language/pl/pages.json
|
||||
trans.pt_BR = public/language/pt_BR/pages.json
|
||||
trans.ru = public/language/ru/pages.json
|
||||
trans.sc = public/language/sc/pages.json
|
||||
trans.sk = public/language/sk/pages.json
|
||||
trans.sv = public/language/sv/pages.json
|
||||
trans.th = public/language/th/pages.json
|
||||
trans.tr = public/language/tr/pages.json
|
||||
trans.zh_CN = public/language/zh_CN/pages.json
|
||||
trans.zh_TW = public/language/zh_TW/pages.json
|
||||
type = KEYVALUEJSON
|
||||
|
||||
[nodebb.topic]
|
||||
source_file = public/language/en_GB/topic.json
|
||||
source_lang = en_GB
|
||||
trans.ar = public/language/ar/topic.json
|
||||
trans.cs = public/language/cs/topic.json
|
||||
trans.de = public/language/de/topic.json
|
||||
trans.en@pirate = public/language/en@pirate/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.fi = public/language/fi/topic.json
|
||||
trans.fr = public/language/fr/topic.json
|
||||
trans.he = public/language/he/topic.json
|
||||
trans.hu = public/language/hu/topic.json
|
||||
trans.it = public/language/it/topic.json
|
||||
trans.nb = public/language/nb/topic.json
|
||||
trans.nl = public/language/nl/topic.json
|
||||
trans.pl = public/language/pl/topic.json
|
||||
trans.pt_BR = public/language/pt_BR/topic.json
|
||||
trans.ru = public/language/ru/topic.json
|
||||
trans.sc = public/language/sc/topic.json
|
||||
trans.sk = public/language/sk/topic.json
|
||||
trans.sv = public/language/sv/topic.json
|
||||
trans.th = public/language/th/topic.json
|
||||
trans.tr = public/language/tr/topic.json
|
||||
trans.zh_CN = public/language/zh_CN/topic.json
|
||||
trans.zh_TW = public/language/zh_TW/topic.json
|
||||
type = KEYVALUEJSON
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
## 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/)
|
||||
15
NOTES.md
15
NOTES.md
@@ -1,15 +0,0 @@
|
||||
## 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.
|
||||
74
README.md
74
README.md
@@ -1,57 +1,69 @@
|
||||
# <img alt="NodeBB" src="http://i.imgur.com/3yj1n6N.png" />
|
||||
[](https://travis-ci.org/designcreateplay/NodeBB)
|
||||
[](https://david-dm.org/designcreateplay/nodebb)
|
||||
[](https://codeclimate.com/github/designcreateplay/NodeBB)
|
||||
# NodeBB
|
||||
**NodeBB** is a robust Node.js driven forum built on a redis database. It is powered by web sockets, and is compatible down to IE8.
|
||||
|
||||
**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")
|
||||
* [Demo & Meta Discussion](http://community.nodebb.org)
|
||||
* [NodeBB Blog](http://blog.nodebb.org)
|
||||
* [NodeBB Homepage](http://www.nodebb.org/ "NodeBB")
|
||||
* [Demo & Meta Discussion](http://try.nodebb.org)
|
||||
* [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
|
||||
* [Follow on Twitter](http://www.twitter.com/NodeBB/ "NodeBB Twitter")
|
||||
* [Like us on Facebook](http://www.facebook.com/NodeBB/ "NodeBB Facebook")
|
||||
* [Get Plugins](http://community.nodebb.org/category/7/nodebb-plugins "NodeBB Plugins")
|
||||
* [Get Themes](http://community.nodebb.org/category/10/nodebb-themes "NodeBB Themes")
|
||||
|
||||
## 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/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/).
|
||||

|
||||
|
||||

|
||||
|
||||
## How can I follow along/contribute?
|
||||
|
||||
* 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 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.
|
||||
* 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.
|
||||
* If you are a developer, feel free to check out the source and submit pull requests.
|
||||
* If you are a designer, NodeBB needs themes! NodeBB will accept any LESS or CSS file and use it in place of the default Twitter Bootstrap theme. Consider extending Bootstrap themes by extending the base bootstrap LESS file.
|
||||
|
||||
## Requirements
|
||||
|
||||
NodeBB requires the following software to be installed:
|
||||
|
||||
* A version of Node.js at least 0.10 or greater
|
||||
* Redis, version 2.6 or greater **or** MongoDB, version 2.4 or greater
|
||||
* A version of Node.js at least 0.8 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)
|
||||
|
||||
## Installation
|
||||
|
||||
[Please refer to platform-specific installation documentation](https://github.com/designcreateplay/NodeBB/wiki#wiki-installing-nodebb)
|
||||
First, we install our base software stack:
|
||||
|
||||
## Securing NodeBB
|
||||
# apt-get install git nodejs redis-server npm build-essential imagemagick
|
||||
|
||||
It is important to ensure that your NodeBB and database servers are secured. Bear these points in mind:
|
||||
If you want to use MongoDB instead of Redis install it from http://www.mongodb.org/downloads and remove 'redis-server' from the above command. [MongoDB-Setup](https://github.com/designcreateplay/NodeBB/wiki/MongoDB-Setup)
|
||||
|
||||
1. While some distributions set up Redis with a more restrictive configuration, Redis by default listens to all interfaces, which is especially dangerous when a server is open to the public. Some suggestions:
|
||||
* Set `bind_address` to `127.0.0.1` so as to restrict access to the local machine only
|
||||
* Use `requirepass` to secure Redis behind a password (preferably a long one)
|
||||
* Familiarise yourself with [Redis Security](http://redis.io/topics/security)
|
||||
2. Use `iptables` to secure your server from unintended open ports. In Ubuntu, `ufw` provides a friendlier interface to working with `iptables`.
|
||||
* e.g. If your NodeBB is proxied, no ports should be open except 80 (and possibly 22, for SSH access)
|
||||
**If your package manager only installed a version of Node.js that is less than 0.8 (e.g. Ubuntu 12.10, 13.04):**
|
||||
|
||||
# add-apt-repository ppa:chris-lea/node.js
|
||||
# apt-get update && apt-get dist-upgrade
|
||||
|
||||
Next, clone this repository:
|
||||
|
||||
$ cd /path/to/nodebb/install/location
|
||||
$ git clone git://github.com/designcreateplay/NodeBB.git nodebb
|
||||
|
||||
Obtain all of the dependencies required by NodeBB:
|
||||
|
||||
$ cd nodebb
|
||||
$ npm install
|
||||
|
||||
Initiate the setup script by running the app with the `--setup` flag:
|
||||
|
||||
$ node app --setup
|
||||
|
||||
The default settings are for a local server running on the default port, with a redis store on the same machine/port.
|
||||
|
||||
Lastly, we run the forum.
|
||||
|
||||
$ node app
|
||||
|
||||
NodeBB can also be started with helper programs, such as `supervisor` and `forever`. [Take a look at the options here](https://github.com/designcreateplay/NodeBB/wiki/How-to-run-NodeBB).
|
||||
|
||||
*(Optional)* Some server configurations may install the node binary as `nodejs` instead of `node`. You can re-map it (so as to not break compatibility with `node-supervisor`) by running the following command:
|
||||
|
||||
# update-alternatives --install /usr/bin/node node /usr/bin/nodejs 10
|
||||
|
||||
## Upgrading NodeBB
|
||||
|
||||
|
||||
426
app.js
426
app.js
@@ -16,294 +16,166 @@
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
(function () {
|
||||
"use strict";
|
||||
|
||||
"use strict";
|
||||
// Configuration setup
|
||||
var nconf = require('nconf');
|
||||
nconf.argv().env();
|
||||
|
||||
var nconf = require('nconf');
|
||||
nconf.argv().env();
|
||||
var fs = require('fs'),
|
||||
async = require('async'),
|
||||
semver = require('semver'),
|
||||
winston = require('winston'),
|
||||
path = require('path'),
|
||||
pkg = require('./package.json'),
|
||||
utils = require('./public/src/utils.js'),
|
||||
meta;
|
||||
|
||||
var fs = require('fs'),
|
||||
os = require('os'),
|
||||
semver = require('semver'),
|
||||
winston = require('winston'),
|
||||
path = require('path'),
|
||||
pkg = require('./package.json'),
|
||||
utils = require('./public/src/utils.js');
|
||||
// Runtime environment
|
||||
global.env = process.env.NODE_ENV || 'production';
|
||||
|
||||
winston.remove(winston.transports.Console);
|
||||
winston.add(winston.transports.Console, {
|
||||
colorize: true
|
||||
});
|
||||
|
||||
global.env = process.env.NODE_ENV || 'production';
|
||||
winston.add(winston.transports.File, {
|
||||
filename: 'error.log',
|
||||
level: 'error'
|
||||
});
|
||||
|
||||
winston.remove(winston.transports.Console);
|
||||
winston.add(winston.transports.Console, {
|
||||
colorize: true
|
||||
});
|
||||
// TODO: remove once https://github.com/flatiron/winston/issues/280 is fixed
|
||||
winston.err = function (err) {
|
||||
winston.error(err.stack);
|
||||
};
|
||||
|
||||
winston.add(winston.transports.File, {
|
||||
filename: 'logs/error.log',
|
||||
level: 'error'
|
||||
});
|
||||
|
||||
// TODO: remove once https://github.com/flatiron/winston/issues/280 is fixed
|
||||
winston.err = function (err) {
|
||||
winston.error(err.stack);
|
||||
};
|
||||
|
||||
if(os.platform() === 'linux') {
|
||||
require('child_process').exec('/usr/bin/which convert', function(err, stdout, stderr) {
|
||||
if(err || !stdout) {
|
||||
winston.warn('Couldn\'t find convert. Did you install imagemagick?');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Log GNU copyright info along with server info
|
||||
winston.info('NodeBB v' + pkg.version + ' Copyright (C) 2013 DesignCreatePlay Inc.');
|
||||
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('');
|
||||
|
||||
// Alternate configuration file support
|
||||
var configFile = __dirname + '/config.json',
|
||||
configExists;
|
||||
if (nconf.get('config')) {
|
||||
configFile = path.resolve(__dirname, nconf.get('config'));
|
||||
}
|
||||
configExists = fs.existsSync(configFile);
|
||||
|
||||
if (!nconf.get('help') && !nconf.get('setup') && !nconf.get('install') && !nconf.get('upgrade') && !nconf.get('reset') && configExists) {
|
||||
start();
|
||||
} else if (nconf.get('setup') || nconf.get('install') || !configExists) {
|
||||
setup();
|
||||
} else if (nconf.get('upgrade')) {
|
||||
upgrade();
|
||||
} else if (nconf.get('reset')) {
|
||||
reset();
|
||||
} else {
|
||||
displayHelp();
|
||||
}
|
||||
|
||||
function loadConfig() {
|
||||
nconf.file({
|
||||
file: configFile
|
||||
});
|
||||
|
||||
nconf.defaults({
|
||||
base_dir: __dirname,
|
||||
themes_path: path.join(__dirname, 'node_modules'),
|
||||
upload_url: path.join(path.sep, 'uploads', path.sep),
|
||||
views_dir: path.join(__dirname, 'public/templates')
|
||||
});
|
||||
|
||||
// Ensure themes_path is a full filepath
|
||||
nconf.set('themes_path', path.resolve(__dirname, nconf.get('themes_path')));
|
||||
}
|
||||
|
||||
function start() {
|
||||
loadConfig();
|
||||
|
||||
winston.info('Time: ' + new Date());
|
||||
winston.info('Initializing NodeBB v' + pkg.version);
|
||||
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') : ''));
|
||||
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) {
|
||||
meta.configs.init(function () {
|
||||
var templates = require('./public/src/templates'),
|
||||
translator = require('./public/src/translator'),
|
||||
webserver = require('./src/webserver'),
|
||||
sockets = require('./src/socket.io'),
|
||||
plugins = require('./src/plugins'),
|
||||
upgrade = require('./src/upgrade');
|
||||
|
||||
templates.setGlobal('relative_path', nconf.get('relative_path'));
|
||||
|
||||
upgrade.check(function(schema_ok) {
|
||||
if (schema_ok || nconf.get('check-schema') === false) {
|
||||
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() {
|
||||
webserver.init();
|
||||
});
|
||||
|
||||
process.on('SIGTERM', shutdown);
|
||||
process.on('SIGINT', shutdown);
|
||||
process.on('SIGHUP', restart);
|
||||
} else {
|
||||
winston.warn('Your NodeBB schema is out-of-date. Please run the following command to bring your dataset up to spec:');
|
||||
winston.warn(' node app --upgrade');
|
||||
winston.warn('To ignore this error (not recommended):');
|
||||
winston.warn(' node app --no-check-schema');
|
||||
process.exit();
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function setup() {
|
||||
loadConfig();
|
||||
|
||||
if (nconf.get('setup')) {
|
||||
winston.info('NodeBB Setup Triggered via Command Line');
|
||||
} else {
|
||||
winston.warn('Configuration not found, starting NodeBB setup');
|
||||
}
|
||||
|
||||
var install = require('./src/install');
|
||||
|
||||
winston.info('Welcome to NodeBB!');
|
||||
winston.info('This looks like a new installation, so you\'ll have to answer a few questions about your environment before we can proceed.');
|
||||
winston.info('Press enter to accept the default setting (shown in brackets).');
|
||||
|
||||
install.setup(function (err) {
|
||||
if (err) {
|
||||
winston.error('There was a problem completing NodeBB setup: ', err.message);
|
||||
} else {
|
||||
winston.info('NodeBB Setup Completed. Run \'./nodebb start\' to manually start your NodeBB server.');
|
||||
}
|
||||
|
||||
process.exit();
|
||||
});
|
||||
}
|
||||
|
||||
function upgrade() {
|
||||
loadConfig();
|
||||
|
||||
var meta = require('./src/meta');
|
||||
|
||||
require('./src/database').init(function(err) {
|
||||
meta.configs.init(function () {
|
||||
require('./src/upgrade').upgrade();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function reset() {
|
||||
loadConfig();
|
||||
|
||||
require('./src/database').init(function(err) {
|
||||
if (err) {
|
||||
winston.error(err.message);
|
||||
process.exit();
|
||||
}
|
||||
|
||||
if (nconf.get('themes')) {
|
||||
resetThemes();
|
||||
} 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 {
|
||||
winston.error('[reset] Errors were encountered while resetting your forum settings: ' + err.message);
|
||||
}
|
||||
process.exit();
|
||||
});
|
||||
} else {
|
||||
console.log('no match');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
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 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();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function shutdown(code) {
|
||||
winston.info('[app] Shutdown (SIGTERM/SIGINT) Initialised.');
|
||||
require('./src/database').close();
|
||||
winston.info('[app] Database connection closed.');
|
||||
|
||||
winston.info('[app] Shutdown complete.');
|
||||
process.exit();
|
||||
}
|
||||
|
||||
function restart() {
|
||||
if (process.send) {
|
||||
winston.info('[app] Restarting...');
|
||||
process.send({
|
||||
action: 'restart'
|
||||
});
|
||||
} else {
|
||||
winston.error('[app] Could not restart server. Shutting down.');
|
||||
shutdown();
|
||||
}
|
||||
}
|
||||
|
||||
function displayHelp() {
|
||||
winston.info('Usage: node app [options] [arguments]');
|
||||
winston.info(' [NODE_ENV=development | NODE_ENV=production] node app [--start] [arguments]');
|
||||
// Log GNU copyright info along with server info
|
||||
winston.info('NodeBB v' + pkg.version + ' Copyright (C) 2013 DesignCreatePlay Inc.');
|
||||
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('');
|
||||
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)');
|
||||
}
|
||||
|
||||
|
||||
if (!nconf.get('help') && !nconf.get('setup') && !nconf.get('install') && !nconf.get('upgrade') && fs.existsSync(__dirname + '/config.json')) {
|
||||
// Load server-side configs
|
||||
nconf.file({
|
||||
file: __dirname + '/config.json'
|
||||
});
|
||||
meta = require('./src/meta');
|
||||
|
||||
nconf.set('url', nconf.get('base_url') + (nconf.get('use_port') ? ':' + nconf.get('port') : '') + nconf.get('relative_path') + path.sep);
|
||||
nconf.set('upload_url', path.join(path.sep, nconf.get('relative_path'), 'uploads', path.sep));
|
||||
nconf.set('base_dir', __dirname);
|
||||
|
||||
winston.info('Initializing NodeBB v' + pkg.version + ', on port ' + nconf.get('port') + ', using Redis store at ' + nconf.get('redis:host') + ':' + nconf.get('redis:port') + '.');
|
||||
winston.info('NodeBB instance bound to: ' + ((nconf.get('bind_address') === "0.0.0.0" || !nconf.get('bind_address')) ? 'Any address (0.0.0.0)' : nconf.get('bind_address')));
|
||||
|
||||
if (process.env.NODE_ENV === 'development') {
|
||||
winston.info('Base Configuration OK.');
|
||||
}
|
||||
|
||||
if (semver.gt(pkg.dependencies['nodebb-theme-cerulean'], require('./node_modules/nodebb-theme-cerulean/package.json').version)) {
|
||||
winston.error('nodebb-theme-cerulean is out of date - please run npm install.')
|
||||
}
|
||||
|
||||
require('./src/database').init(function(err) {
|
||||
meta.configs.init(function () {
|
||||
|
||||
var templates = require('./public/src/templates'),
|
||||
translator = require('./public/src/translator'),
|
||||
webserver = require('./src/webserver'),
|
||||
SocketIO = require('socket.io').listen(global.server, { log: false, transports: ['websocket', 'xhr-polling', 'jsonp-polling', 'flashsocket'], 'browser client minification': true}),
|
||||
websockets = require('./src/websockets'),
|
||||
plugins = require('./src/plugins'),
|
||||
notifications = require('./src/notifications'),
|
||||
upgrade = require('./src/upgrade');
|
||||
|
||||
upgrade.check(function(schema_ok) {
|
||||
if (schema_ok || nconf.get('check-schema') === false) {
|
||||
websockets.init(SocketIO);
|
||||
|
||||
plugins.init();
|
||||
global.templates = {};
|
||||
global.translator = translator;
|
||||
|
||||
translator.loadServer();
|
||||
|
||||
var customTemplates = meta.config['theme:templates'] ? path.join(__dirname, 'node_modules', meta.config['theme:id'], meta.config['theme:templates']) : false;
|
||||
|
||||
|
||||
utils.walk(path.join(__dirname, 'public/templates'), function (err, tplsToLoad) {
|
||||
templates.init(tplsToLoad, customTemplates);
|
||||
});
|
||||
|
||||
plugins.ready(function() {
|
||||
templates.ready(webserver.init);
|
||||
});
|
||||
|
||||
notifications.init();
|
||||
} else {
|
||||
winston.warn('Your NodeBB schema is out-of-date. Please run the following command to bring your dataset up to spec:');
|
||||
winston.warn(' node app --upgrade');
|
||||
winston.warn('To ignore this error (not recommended):');
|
||||
winston.warn(' node app --no-check-schema')
|
||||
process.exit();
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
} else if (nconf.get('setup') || nconf.get('install') || !fs.existsSync(__dirname + '/config.json')) {
|
||||
// New install, ask setup questions
|
||||
if (nconf.get('setup')) {
|
||||
winston.info('NodeBB Setup Triggered via Command Line');
|
||||
} else {
|
||||
winston.warn('Configuration not found, starting NodeBB setup');
|
||||
}
|
||||
|
||||
nconf.file({
|
||||
file: __dirname + '/config.json'
|
||||
});
|
||||
|
||||
var install = require('./src/install');
|
||||
|
||||
winston.info('Welcome to NodeBB!');
|
||||
winston.info('This looks like a new installation, so you\'ll have to answer a few questions about your environment before we can proceed.');
|
||||
winston.info('Press enter to accept the default setting (shown in brackets).');
|
||||
|
||||
install.setup(function (err) {
|
||||
if (err) {
|
||||
winston.error('There was a problem completing NodeBB setup: ', err.message);
|
||||
} else {
|
||||
winston.info('NodeBB Setup Completed. Run \'node app\' to manually start your NodeBB server.');
|
||||
}
|
||||
|
||||
process.exit();
|
||||
});
|
||||
|
||||
} else if (nconf.get('upgrade')) {
|
||||
nconf.file({
|
||||
file: __dirname + '/config.json'
|
||||
});
|
||||
require('./src/database').init(function(err) {
|
||||
meta = require('./src/meta.js');
|
||||
|
||||
meta.configs.init(function () {
|
||||
require('./src/upgrade').upgrade();
|
||||
});
|
||||
});
|
||||
} else/* if (nconf.get('help') */{
|
||||
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(' --start manually start NodeBB (default when no options are given)');
|
||||
};
|
||||
}());
|
||||
|
||||
1
feeds/categories/.gitignore
vendored
Normal file
1
feeds/categories/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
*.rss
|
||||
1
feeds/topics/.gitignore
vendored
Normal file
1
feeds/topics/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
*.rss
|
||||
86
loader.js
86
loader.js
@@ -1,86 +0,0 @@
|
||||
"use strict";
|
||||
|
||||
var nconf = require('nconf'),
|
||||
fs = require('fs'),
|
||||
pidFilePath = __dirname + '/pidfile',
|
||||
start = function() {
|
||||
var fork = require('child_process').fork,
|
||||
nbb_start = function() {
|
||||
nbb = fork('./app', process.argv.slice(2), {
|
||||
env: {
|
||||
'NODE_ENV': process.env.NODE_ENV
|
||||
}
|
||||
});
|
||||
|
||||
nbb.on('message', function(message) {
|
||||
if (message && typeof message === 'object' && message.action) {
|
||||
if (message.action === 'restart') {
|
||||
nbb_restart();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
nbb.on('exit', function(code, signal) {
|
||||
if (code) {
|
||||
nbb_start();
|
||||
} else {
|
||||
nbb_stop();
|
||||
}
|
||||
});
|
||||
},
|
||||
nbb_stop = function() {
|
||||
nbb.kill();
|
||||
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();
|
||||
};
|
||||
|
||||
process.on('SIGINT', nbb_stop);
|
||||
process.on('SIGTERM', nbb_stop);
|
||||
process.on('SIGHUP', nbb_restart);
|
||||
|
||||
nbb_start();
|
||||
},
|
||||
nbb;
|
||||
|
||||
nconf.argv();
|
||||
|
||||
// Start the daemon!
|
||||
if (nconf.get('d')) {
|
||||
// Check for a still-active NodeBB process
|
||||
if (fs.existsSync(pidFilePath)) {
|
||||
try {
|
||||
var pid = fs.readFileSync(pidFilePath, { encoding: 'utf-8' });
|
||||
process.kill(pid, 0);
|
||||
console.log('\n Error: Another NodeBB is already running!');
|
||||
process.exit();
|
||||
} catch (e) {
|
||||
fs.unlinkSync(pidFilePath);
|
||||
}
|
||||
}
|
||||
|
||||
// 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);
|
||||
|
||||
start();
|
||||
});
|
||||
} else {
|
||||
start();
|
||||
}
|
||||
1
logs/.gitignore
vendored
1
logs/.gitignore
vendored
@@ -1 +0,0 @@
|
||||
*.log
|
||||
58
minifier.js
58
minifier.js
@@ -1,58 +0,0 @@
|
||||
var uglifyjs = require('uglify-js'),
|
||||
less = require('less'),
|
||||
async = require('async'),
|
||||
fs = require('fs'),
|
||||
|
||||
Minifier = {
|
||||
js: {},
|
||||
css: {}
|
||||
};
|
||||
|
||||
/* Javascript */
|
||||
Minifier.js.minify = function (scripts, callback) {
|
||||
try {
|
||||
var minified = uglifyjs.minify(scripts);
|
||||
callback(minified.code);
|
||||
} catch(err) {
|
||||
process.send({
|
||||
action: 'error',
|
||||
error: err
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
Minifier.js.concatenate = function(scripts, callback) {
|
||||
async.map(scripts, function(path, next) {
|
||||
fs.readFile(path, { encoding: 'utf-8' }, next);
|
||||
}, function(err, contents) {
|
||||
if (err) {
|
||||
process.send({
|
||||
action: 'error',
|
||||
error: err
|
||||
});
|
||||
} else {
|
||||
callback(contents.reduce(function(output, src) {
|
||||
return output.length ? output + ';\n' + src : src;
|
||||
}, ''));
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
process.on('message', function(payload) {
|
||||
var executeCallback = function(data) {
|
||||
process.send({
|
||||
action: payload.action,
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
switch(payload.action) {
|
||||
case 'js.minify':
|
||||
Minifier.js.minify(payload.scripts, executeCallback);
|
||||
break;
|
||||
|
||||
case 'js.concatenate':
|
||||
Minifier.js.concatenate(payload.scripts, executeCallback);
|
||||
break;
|
||||
}
|
||||
})
|
||||
@@ -14,12 +14,6 @@
|
||||
|
||||
|
||||
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'),
|
||||
testDbConfig = nconf.get('test_database'),
|
||||
@@ -32,17 +26,17 @@
|
||||
"Please, add parameters for test database in config.json\n"+
|
||||
"For example (redis):\n"+
|
||||
'"test_database": {' + '\n' +
|
||||
' "host": "127.0.0.1",' + '\n' +
|
||||
' "port": "6379",' + '\n' +
|
||||
' "password": "",' + '\n' +
|
||||
' "database": "1"' + '\n' +
|
||||
' "host": "127.0.0.1",' + '\n' +
|
||||
' "port": "6379",' + '\n' +
|
||||
' "password": "",' + '\n' +
|
||||
' "database": "1"' + '\n' +
|
||||
'}\n'+
|
||||
" or (mongo):\n" +
|
||||
'"test_database": {' + '\n' +
|
||||
' "host": "127.0.0.1",' + '\n' +
|
||||
' "port": "27017",' + '\n' +
|
||||
' "password": "",' + '\n' +
|
||||
' "database": "1"' + '\n' +
|
||||
' "host": "127.0.0.1",' + '\n' +
|
||||
' "port": "27017",' + '\n' +
|
||||
' "password": "",' + '\n' +
|
||||
' "database": "1"' + '\n' +
|
||||
'}\n'+
|
||||
"==========================================================="
|
||||
);
|
||||
@@ -61,31 +55,23 @@
|
||||
|
||||
nconf.set(dbType, testDbConfig);
|
||||
|
||||
var db = require('../src/database'),
|
||||
meta = require('../src/meta');
|
||||
|
||||
db = require('../src/database');
|
||||
before(function(done) {
|
||||
|
||||
db.init(function(err) {
|
||||
//Clean up
|
||||
db.flushdb(function(err) {
|
||||
if(err) {
|
||||
if(err){
|
||||
winston.error(err);
|
||||
throw new Error(err);
|
||||
} else {
|
||||
winston.info('test_database flushed');
|
||||
done();
|
||||
}
|
||||
|
||||
winston.info('test_database flushed');
|
||||
//TODO: data seeding, if needed at all
|
||||
|
||||
meta.configs.init(function () {
|
||||
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'));
|
||||
|
||||
var webserver = require('../src/webserver'),
|
||||
sockets = require('../src/socket.io');
|
||||
sockets.init(webserver.server);
|
||||
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
106
nodebb
106
nodebb
@@ -4,109 +4,51 @@
|
||||
# $1 action
|
||||
# $2 subaction
|
||||
|
||||
function pidExists() {
|
||||
if [ -e "pidfile" ];
|
||||
then
|
||||
kill -s 0 $(cat pidfile);
|
||||
if [ !$? ];
|
||||
then return 1;
|
||||
else return 0;
|
||||
fi
|
||||
else
|
||||
return 0;
|
||||
fi
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
echo "Starting NodeBB";
|
||||
echo " \"./nodebb stop\" to stop the NodeBB server";
|
||||
echo " \"./nodebb log\" to view server output";
|
||||
|
||||
if [ -f "./logs/output.log" ]; # Preserve the last output log
|
||||
then
|
||||
mv ./logs/output.log ./logs/output.1.log;
|
||||
fi;
|
||||
|
||||
# Start the loader daemon
|
||||
node loader -d "$@"
|
||||
;;
|
||||
|
||||
stop)
|
||||
echo "Stopping NodeBB. Goodbye!";
|
||||
kill $(cat pidfile);
|
||||
;;
|
||||
|
||||
reload|restart)
|
||||
echo "Restarting NodeBB.";
|
||||
kill -1 $(cat pidfile);
|
||||
;;
|
||||
|
||||
status)
|
||||
pidExists;
|
||||
if [ 0 -eq $? ];
|
||||
then
|
||||
echo "NodeBB is not running";
|
||||
echo " \"./nodebb start\" to launch the NodeBB server";
|
||||
else
|
||||
echo "NodeBB Running (pid $(cat pidfile))";
|
||||
echo " \"./nodebb stop\" to stop the NodeBB server";
|
||||
echo " \"./nodebb log\" to view server output";
|
||||
echo " \"./nodebb restart\" to restart NodeBB";
|
||||
fi
|
||||
;;
|
||||
|
||||
log)
|
||||
clear;
|
||||
tail -F ./logs/output.log;
|
||||
;;
|
||||
|
||||
upgrade)
|
||||
npm install
|
||||
ls -d node_modules/nodebb* | xargs -n1 basename | xargs npm install
|
||||
ls -d node_modules/nodebb* | xargs -n1 basename | xargs npm update
|
||||
node loader --upgrade
|
||||
touch package.json
|
||||
echo -e "\n\e[00;32mNodeBB Dependencies up-to-date!\e[00;00m";
|
||||
;;
|
||||
|
||||
setup)
|
||||
node loader --setup "$@"
|
||||
;;
|
||||
|
||||
reset)
|
||||
node loader --reset --$2
|
||||
node app
|
||||
;;
|
||||
|
||||
dev)
|
||||
echo "Launching NodeBB in \"development\" mode."
|
||||
echo "To run the production build of NodeBB, please use \"forever\"."
|
||||
echo "More Information: https://github.com/designcreateplay/NodeBB/wiki/How-to-run-NodeBB"
|
||||
NODE_ENV=development node loader "$@"
|
||||
NODE_ENV=development node app
|
||||
;;
|
||||
|
||||
watch)
|
||||
echo "Launching NodeBB in \"development\" mode."
|
||||
echo "To run the production build of NodeBB, please use \"forever\"."
|
||||
echo "More Information: https://github.com/designcreateplay/NodeBB/wiki/How-to-run-NodeBB"
|
||||
NODE_ENV=development supervisor -q --ignore public/templates --extensions 'node|js|tpl' -- app "$@"
|
||||
NODE_ENV=development supervisor -q --extensions 'node|js|tpl' -- app $1
|
||||
;;
|
||||
|
||||
language)
|
||||
case "$2" in
|
||||
check)
|
||||
node app --language="check"
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Language Settings"
|
||||
echo $"Usage: $0 language {check}"
|
||||
echo ''
|
||||
column -s ' ' -t <<< '
|
||||
check Compare language files against the /en directory
|
||||
'
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Welcome to NodeBB"
|
||||
echo $"Usage: $0 {start|stop|reload|restart|log|setup|reset|upgrade|dev|watch}"
|
||||
echo $"Usage: $0 {start|dev|watch|language}"
|
||||
echo ''
|
||||
column -s ' ' -t <<< '
|
||||
start Start the NodeBB server
|
||||
stop Stops the NodeBB server
|
||||
reload Restarts NodeBB
|
||||
restart Restarts NodeBB
|
||||
log Opens the logging interface (useful for debugging)
|
||||
setup Runs the NodeBB setup script
|
||||
reset Disables all plugins, restores the default theme.
|
||||
upgrade Run NodeBB upgrade scripts, ensure packages are up-to-date
|
||||
dev Start NodeBB in interactive development mode
|
||||
start Start NodeBB in production mode
|
||||
dev Start NodeBB in development mode
|
||||
watch Start NodeBB in development mode and watch for changes
|
||||
language Language settings
|
||||
'
|
||||
exit 1
|
||||
esac
|
||||
|
||||
843
npm-shrinkwrap.json
generated
843
npm-shrinkwrap.json
generated
@@ -1,843 +0,0 @@
|
||||
{
|
||||
"name": "nodebb",
|
||||
"version": "0.4.1",
|
||||
"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",
|
||||
"resolved": "https://registry.npmjs.org/connect-mongo/-/connect-mongo-0.4.0.tgz"
|
||||
},
|
||||
"connect-redis": {
|
||||
"version": "1.4.5",
|
||||
"from": "connect-redis@1.4.5",
|
||||
"dependencies": {
|
||||
"redis": {
|
||||
"version": "0.7.3",
|
||||
"from": "redis@0.7.x",
|
||||
"resolved": "https://registry.npmjs.org/redis/-/redis-0.7.3.tgz"
|
||||
},
|
||||
"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",
|
||||
"resolved": "https://registry.npmjs.org/express/-/express-3.2.0.tgz",
|
||||
"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",
|
||||
"resolved": "https://registry.npmjs.org/mime/-/mime-1.2.6.tgz"
|
||||
}
|
||||
}
|
||||
},
|
||||
"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",
|
||||
"resolved": "https://registry.npmjs.org/gm/-/gm-1.14.2.tgz",
|
||||
"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.2.0",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"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",
|
||||
"resolved": "https://registry.npmjs.org/mongodb/-/mongodb-1.3.23.tgz",
|
||||
"dependencies": {
|
||||
"bson": {
|
||||
"version": "0.2.5",
|
||||
"from": "bson@0.2.5",
|
||||
"resolved": "https://registry.npmjs.org/bson/-/bson-0.2.5.tgz"
|
||||
},
|
||||
"kerberos": {
|
||||
"version": "0.0.3",
|
||||
"from": "kerberos@0.0.3",
|
||||
"resolved": "https://registry.npmjs.org/kerberos/-/kerberos-0.0.3.tgz"
|
||||
}
|
||||
}
|
||||
},
|
||||
"nconf": {
|
||||
"version": "0.6.9",
|
||||
"from": "nconf@~0.6.7",
|
||||
"dependencies": {
|
||||
"async": {
|
||||
"version": "0.2.9",
|
||||
"from": "async@0.2.9",
|
||||
"resolved": "https://registry.npmjs.org/async/-/async-0.2.9.tgz"
|
||||
},
|
||||
"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-2",
|
||||
"from": "nodebb-plugin-mentions@~0.4.0"
|
||||
},
|
||||
"nodebb-theme-lavender": {
|
||||
"version": "0.0.25-4",
|
||||
"from": "nodebb-theme-lavender@~0.0.25"
|
||||
},
|
||||
"nodebb-theme-vanilla": {
|
||||
"version": "0.0.19-13",
|
||||
"from": "nodebb-theme-vanilla@~0.0.19"
|
||||
},
|
||||
"nodebb-widget-essentials": {
|
||||
"version": "0.0.21-1",
|
||||
"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",
|
||||
"resolved": "https://registry.npmjs.org/redis/-/redis-0.8.3.tgz"
|
||||
},
|
||||
"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",
|
||||
"resolved": "https://registry.npmjs.org/redis/-/redis-0.7.2.tgz"
|
||||
}
|
||||
}
|
||||
},
|
||||
"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.x",
|
||||
"resolved": "https://registry.npmjs.org/redis/-/redis-0.7.3.tgz"
|
||||
}
|
||||
}
|
||||
},
|
||||
"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.4.0",
|
||||
"from": "validator@~3.4.0",
|
||||
"resolved": "https://registry.npmjs.org/validator/-/validator-3.4.0.tgz"
|
||||
},
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
66
package.json
66
package.json
@@ -2,7 +2,7 @@
|
||||
"name": "nodebb",
|
||||
"license": "GPLv3 or later",
|
||||
"description": "NodeBB Forum",
|
||||
"version": "0.4.1",
|
||||
"version": "0.2.2",
|
||||
"homepage": "http://www.nodebb.org",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -10,51 +10,49 @@
|
||||
},
|
||||
"main": "app.js",
|
||||
"scripts": {
|
||||
"start": "./nodebb start",
|
||||
"stop": "./nodebb stop",
|
||||
"test": "mocha ./tests -t 10000"
|
||||
"test": "mocha ./tests"
|
||||
},
|
||||
"dependencies": {
|
||||
"socket.io": "~0.9.16",
|
||||
"express": "3.2.0",
|
||||
"express-namespace": "~0.1.1",
|
||||
"passport": "~0.2.0",
|
||||
"emailjs": "0.3.4",
|
||||
"cookie": "0.0.6",
|
||||
"passport": "0.1.17",
|
||||
"passport-local": "0.1.6",
|
||||
"passport-twitter": "0.1.5",
|
||||
"passport-google-oauth": "0.1.5",
|
||||
"passport-facebook": "0.1.5",
|
||||
"less-middleware": "0.1.12",
|
||||
"marked": "0.2.8",
|
||||
"bcrypt": "0.7.5",
|
||||
"async": "~0.2.8",
|
||||
"gm": "1.14.2",
|
||||
"node-imagemagick": "0.1.8",
|
||||
"gravatar": "1.0.6",
|
||||
"nconf": "~0.6.7",
|
||||
"sitemap": "~0.7.1",
|
||||
"sitemap": "~0.6.0",
|
||||
"request": "~2.25.0",
|
||||
"reds": "~0.2.4",
|
||||
"winston": "~0.7.2",
|
||||
"rss": "~0.2.0",
|
||||
"prompt": "~0.2.11",
|
||||
"uglify-js": "~2.4.0",
|
||||
"validator": "~3.4.0",
|
||||
"cron": "~1.0.4",
|
||||
"validator": "~1.5.1",
|
||||
"nodebb-plugin-mentions": "~0.1",
|
||||
"nodebb-plugin-markdown": "~0.3",
|
||||
"nodebb-theme-vanilla": "~0.0.12",
|
||||
"nodebb-theme-cerulean": "0.0.10",
|
||||
"cron": "~1.0.1",
|
||||
"semver": "~2.2.1",
|
||||
"string": "~1.7.0",
|
||||
"xregexp": "~2.0.0",
|
||||
"socket.io-wildcard": "~0.1.1",
|
||||
"bcryptjs": "~0.7.10",
|
||||
"nodebb-plugin-mentions": "~0.4.0",
|
||||
"nodebb-plugin-markdown": "~0.4.1",
|
||||
"nodebb-widget-essentials": "~0.0.21",
|
||||
"nodebb-theme-vanilla": "~0.0.19",
|
||||
"nodebb-theme-lavender": "~0.0.25",
|
||||
"less": "~1.6.3",
|
||||
"daemon": "~1.1.0",
|
||||
"underscore": "~1.6.0",
|
||||
"mkdirp": "~0.3.5",
|
||||
"rimraf": "~2.2.6"
|
||||
"xregexp": "~2.0.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"redis": "0.8.3",
|
||||
"hiredis": "~0.1.15",
|
||||
"connect-redis": "1.4.5",
|
||||
"mongodb": "~1.3.19",
|
||||
"connect-mongo": "0.4.0"
|
||||
"connect-redis": "1.4.5",
|
||||
"connect-mongo": "0.4.0",
|
||||
"hiredis": "~0.1.15"
|
||||
},
|
||||
"devDependencies": {
|
||||
"mocha": "~1.13.0"
|
||||
@@ -65,7 +63,7 @@
|
||||
"engines": {
|
||||
"node": ">=0.8"
|
||||
},
|
||||
"maintainers": [
|
||||
"contributors": [
|
||||
{
|
||||
"name": "Andrew Rodrigues",
|
||||
"email": "andrew@designcreateplay.com",
|
||||
@@ -80,6 +78,22 @@
|
||||
"name": "Barış Soner Uşaklı",
|
||||
"email": "baris@designcreateplay.com",
|
||||
"url": "https://github.com/barisusakli"
|
||||
},
|
||||
{
|
||||
"name": "Andrew Darqui",
|
||||
"url": "https://github.com/adarqui"
|
||||
},
|
||||
{
|
||||
"name": "Damian Bushong",
|
||||
"url": "https://github.com/damianb"
|
||||
},
|
||||
{
|
||||
"name": "Matt Smith",
|
||||
"url": "https://github.com/soimafreak"
|
||||
},
|
||||
{
|
||||
"name": "Quinton Marchi",
|
||||
"url": "https://github.com/iamcardinal"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
{
|
||||
"new_topic_button": "موضوع جديد",
|
||||
"no_topics": "<strong>لا توجد مواضيع في هذه الفئة</strong>لماذا لا تحاول نشر واحد؟<br />",
|
||||
"posts": "مشاركات",
|
||||
"views": "مشاهدات",
|
||||
"posted": "نشر",
|
||||
"browsing": "يتصفح",
|
||||
"no_replies": "لم يرد أحد",
|
||||
"replied": "رد",
|
||||
"last_edited_by": "تغيرت أخيراً عبر",
|
||||
"share_this_category": "Share this category"
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"stats.online": "حالياً على الموقع",
|
||||
"stats.users": "مستخدمين",
|
||||
"stats.topics": "مواضيع",
|
||||
"stats.posts": "مشاركات",
|
||||
"success": "نجاح"
|
||||
}
|
||||
@@ -1,55 +0,0 @@
|
||||
{
|
||||
"home": "الصفحة الرئيسية",
|
||||
"search": "بحث",
|
||||
"buttons.close": "أغلق",
|
||||
"403.title": "غير مسموح بالدخول",
|
||||
"403.message": "يبدو أنك قد تعثر على الصفحة التي لم يكن لديك الوصول إليها. ربما يجب عليك <a href='/login'> تسجيل الدخول </a> ",
|
||||
"404.title": "لم يتم العثور",
|
||||
"404.message": "يبدو أنك قد تعثرت على صفحة غير موجودة. عودة إلى الصفحة الرئيسية.",
|
||||
"500.title": "خطأ داخلي.",
|
||||
"500.message": "عفوا! يبدو وكأنه شيء ذهب على نحو خاطئ!",
|
||||
"register": "تسجيل",
|
||||
"login": "دخول",
|
||||
"please_log_in": "Please Log In",
|
||||
"logout": "تسجيل الخروج",
|
||||
"posting_restriction_info": "Posting is currently restricted to registered members only, click here to log in.",
|
||||
"welcome_back": "Welcome Back ",
|
||||
"you_have_successfully_logged_in": "You have successfully logged in",
|
||||
"save_changes": "حفظ التغييرات",
|
||||
"close": "أغلق",
|
||||
"pagination": "Pagination",
|
||||
"header.admin": "مشرف",
|
||||
"header.recent": "حديث",
|
||||
"header.unread": "غير مقروء",
|
||||
"header.popular": "Popular",
|
||||
"header.users": "المستخدمين",
|
||||
"header.chats": "Chats",
|
||||
"header.notifications": "Notifications",
|
||||
"header.search": "بحث",
|
||||
"header.profile": "ملف",
|
||||
"notifications.loading": "تحميل التبليغات",
|
||||
"chats.loading": "تحميل الدردشات",
|
||||
"motd.welcome": "مرحبا بكم NodeBB، منصة مناقشة المستقبل",
|
||||
"previouspage": "Previous Page",
|
||||
"nextpage": "Next Page",
|
||||
"alert.success": "Success",
|
||||
"alert.error": "Error",
|
||||
"alert.banned": "Banned",
|
||||
"alert.banned.message": "You are banned you will be logged out!",
|
||||
"alert.unfollow": "You are no longer following %1!",
|
||||
"alert.follow": "You are now following %1!",
|
||||
"posts": "Posts",
|
||||
"views": "Views",
|
||||
"posted": "posted",
|
||||
"in": "in",
|
||||
"norecentposts": "No Recent Posts",
|
||||
"norecenttopics": "No Recent Topics",
|
||||
"recentposts": "Recent Posts",
|
||||
"recentips": "Recently Logged In IPs",
|
||||
"online": "Online",
|
||||
"away": "Away",
|
||||
"dnd": "Do not Disturb",
|
||||
"invisible": "Invisible",
|
||||
"offline": "Offline",
|
||||
"privacy": "Privacy"
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"name": "العربية",
|
||||
"code": "ar",
|
||||
"dir": "rtl"
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"login": "دخول",
|
||||
"username": "Username / Email",
|
||||
"password": "كلمة السر",
|
||||
"remember_me": "تذكرني؟",
|
||||
"forgot_password": "نسيت كلمة المرور؟",
|
||||
"alternative_logins": "تسجيلات الدخول البديلة",
|
||||
"failed_login_attempt": "فشلت محاولة تسجيل الدخول، يرجى المحاولة مرة أخرى.",
|
||||
"login_successful": "قمت بتسجيل الدخول بنجاح!"
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"chat.chatting_with": "الدردشة مع <span id=\"chat-with-name\"></span>",
|
||||
"chat.placeholder": "اكتب رسالة دردشة هنا، وإضغط ENTER لإرسال",
|
||||
"chat.send": "أرسل",
|
||||
"chat.no_active": "لا يوجد لديك دردشات نشطة."
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"title": "إعلام",
|
||||
"no_notifs": "You have no new notifications",
|
||||
"see_all": "See all Notifications",
|
||||
"back_to_home": "العودة إلى NodeBB",
|
||||
"outgoing_link": "رابط خارجي",
|
||||
"outgoing_link_message": "أنت الأن ترحل",
|
||||
"continue_to": "أكمل إلى",
|
||||
"return_to": "إرجع إلى"
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
{
|
||||
"home": "Home",
|
||||
"unread": "Unread Topics",
|
||||
"popular": "Popular Topics",
|
||||
"recent": "Recent Topics",
|
||||
"users": "Registered Users",
|
||||
"notifications": "Notifications",
|
||||
"user.edit": "Editing \"%1\"",
|
||||
"user.following": "People %1 Follows",
|
||||
"user.followers": "People who Follow %1",
|
||||
"user.posts": "Posts made by %1",
|
||||
"user.topics": "Topics created by %1",
|
||||
"user.favourites": "%1's Favourite Posts",
|
||||
"user.settings": "User Settings"
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"title": "Recent",
|
||||
"day": "يوم",
|
||||
"week": "أسبوع",
|
||||
"month": "شهر",
|
||||
"no_recent_topics": "There are no recent topics."
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
{
|
||||
"register": "تسجيل",
|
||||
"help.email": "افتراضيا، سيتم إخفاء بريدك الإلكتروني من الجمهور.",
|
||||
"help.username_restrictions": "اسم مستخدم فريدة من نوعها بين1% و2% حرفا. يمكن للآخرين ذكرك @ <'span id='your-username> اسم المستخدم </span>.",
|
||||
"help.minimum_password_length": "كلمتك السر يجب أن تكون على الأقل متألفة من 1% أحرف",
|
||||
"email_address": "عنوان البريد الإلكتروني",
|
||||
"email_address_placeholder": "ادخل عنوان البريد الإلكتروني",
|
||||
"username": "اسم المستخدم",
|
||||
"username_placeholder": "أدخل اسم المستخدم",
|
||||
"password": "كلمة السر",
|
||||
"password_placeholder": "أدخل كلمة السر",
|
||||
"confirm_password": "تأكيد كلمة السر",
|
||||
"confirm_password_placeholder": "تأكيد كلمة السر",
|
||||
"register_now_button": "قم بالتسجيل الآن",
|
||||
"alternative_registration": "التسجيل البديلة",
|
||||
"terms_of_use": "Terms of Use",
|
||||
"agree_to_terms_of_use": "I agree to the Terms of Use"
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
{
|
||||
"reset_password": "إعادة تعيين كلمة السر",
|
||||
"update_password": "تحديث كلمة السر",
|
||||
"password_changed.title": "تم تغير كلمة السر",
|
||||
"password_changed.message": "<p>تم تغير كلمة السر بنجاح. يرجى <a href='/login'>إعادة الدخول</a></p>",
|
||||
"wrong_reset_code.title": "إعادة تعيين رمز غير صحيح",
|
||||
"wrong_reset_code.message": "رامز إعادة التعين غير صحيح، يرجى المحاولة مرة أخرى أو <a href='/reset'>اطلب رمز جديد</a>",
|
||||
"new_password": "كلمة السر الجديدة",
|
||||
"repeat_password": "تأكيد كلمة السر",
|
||||
"enter_email": "يرجى إدخال <strong>عنوان البريد الإلكتروني</strong> الخاص بك وسوف نرسل لك رسالة بالبريد الالكتروني مع تعليمات حول كيفية إستعادة حسابك.",
|
||||
"enter_email_address": "Enter Email Address",
|
||||
"password_reset_sent": "إعادة تعيين كلمة السر أرسلت",
|
||||
"invalid_email": "بريد إلكتروني غير صالح أو غير موجود"
|
||||
}
|
||||
@@ -1,93 +0,0 @@
|
||||
{
|
||||
"topic": "موضوع",
|
||||
"topics": "مواضيع",
|
||||
"topic_id": "Topic ID",
|
||||
"topic_id_placeholder": "Enter topic ID",
|
||||
"no_topics_found": "لا توجد مواضيع !",
|
||||
"no_posts_found": "No posts found!",
|
||||
"profile": "ملف",
|
||||
"posted_by": "Posted by",
|
||||
"chat": "دردشة",
|
||||
"notify_me": "تنبه من ردود جديدة في هذا الموضوع",
|
||||
"quote": "اقتبس",
|
||||
"reply": "رد",
|
||||
"edit": "صحح",
|
||||
"delete": "حذف",
|
||||
"restore": "Restore",
|
||||
"move": "انقل",
|
||||
"fork": "فرع",
|
||||
"banned": "محظور",
|
||||
"link": "رابط",
|
||||
"share": "شارك",
|
||||
"tools": "أدوات",
|
||||
"flag": "Flag",
|
||||
"bookmark_instructions": "Click here to return to your last position or close to discard.",
|
||||
"flag_title": "Flag this post for moderation",
|
||||
"flag_confirm": "Are you sure you want to flag this post?",
|
||||
"flag_success": "This post has been flagged for moderation.",
|
||||
"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.",
|
||||
"not_following_topic.title": "Not Following 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.",
|
||||
"markAsUnreadForAll.success": "Topic marked as unread for all.",
|
||||
"watch": "Watch",
|
||||
"watch.title": "Be notified of new replies in this topic",
|
||||
"share_this_post": "Share this Post",
|
||||
"thread_tools.title": "أدوات الموضوع",
|
||||
"thread_tools.markAsUnreadForAll": "علم غير مقروء",
|
||||
"thread_tools.pin": "علق الموضوع",
|
||||
"thread_tools.unpin": "Unpin Topic",
|
||||
"thread_tools.lock": "قفل الموضوع",
|
||||
"thread_tools.unlock": "Unlock Topic",
|
||||
"thread_tools.move": "نقل الموضوع",
|
||||
"thread_tools.fork": "تفرع الموضوع",
|
||||
"thread_tools.delete": "حذف الموضوع",
|
||||
"thread_tools.delete_confirm": "Are you sure you want to delete this thread?",
|
||||
"thread_tools.restore": "Restore Topic",
|
||||
"thread_tools.restore_confirm": "Are you sure you want to restore this thread?",
|
||||
"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_delete_error": "Could not delete this post!",
|
||||
"post_restore_error": "Could not restore this post!",
|
||||
"load_categories": "تحميل الفئات",
|
||||
"disabled_categories_note": "الفئات المجلدة رمادية",
|
||||
"confirm_move": "انقل",
|
||||
"confirm_fork": "فرع",
|
||||
"favourite": "المفضل",
|
||||
"favourites": "المفضلة",
|
||||
"favourites.not_logged_in.title": "ليس موجود حالياً",
|
||||
"favourites.not_logged_in.message": "الرجاء تسجيل الدخول لتفضل هذا الرد",
|
||||
"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": "تحميل المزيد من المشاركات",
|
||||
"move_topic": "نقل الموضوع",
|
||||
"move_post": "نقل الرد",
|
||||
"fork_topic": "فرع الموضوع",
|
||||
"topic_will_be_moved_to": "هذا الموضوع سوف ينقل إلى فئة",
|
||||
"fork_topic_instruction": "إضغط على الردود لتفريعهم",
|
||||
"fork_no_pids": "لم تختار أي رد",
|
||||
"fork_success": "تفريع الموضوع بنجاح!",
|
||||
"reputation": "سمعة",
|
||||
"posts": "ردود",
|
||||
"composer.title_placeholder": "Enter your topic title here...",
|
||||
"composer.write": "Write",
|
||||
"composer.preview": "Preview",
|
||||
"composer.help": "Help",
|
||||
"composer.discard": "Discard",
|
||||
"composer.submit": "Submit",
|
||||
"composer.replying_to": "Replying to",
|
||||
"composer.new_topic": "New Topic",
|
||||
"composer.uploading": "uploading...",
|
||||
"composer.thumb_url_label": "Paste a topic thumbnail URL",
|
||||
"composer.thumb_title": "Add a thumbnail to this topic",
|
||||
"composer.thumb_url_placeholder": "http://example.com/thumb.png",
|
||||
"composer.thumb_file_label": "Or upload a file",
|
||||
"composer.thumb_remove": "Clear fields",
|
||||
"composer.drag_and_drop_images": "Drag and Drop Images Here",
|
||||
"composer.upload_instructions": "Upload images by dragging & dropping them."
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"title": "Unread",
|
||||
"no_unread_topics": "ليس هناك أي موضوع غير مقروء",
|
||||
"mark_all_read": "إجعل كل المواضيع مقرؤة",
|
||||
"load_more": "حمل المزيد"
|
||||
}
|
||||
@@ -1,55 +0,0 @@
|
||||
{
|
||||
"banned": "محظور",
|
||||
"offline": "ليس موجود حالياً",
|
||||
"username": "إسم المستخدم",
|
||||
"email": "البريد الإلكتروني",
|
||||
"fullname": "الاسم الكامل",
|
||||
"website": "الموقع الإلكتروني",
|
||||
"location": "موقع",
|
||||
"age": "عمر",
|
||||
"joined": "تاريخ التسجيل",
|
||||
"lastonline": "تاريخ أخر دخول",
|
||||
"profile": "Profile",
|
||||
"profile_views": "مشاهد الملف",
|
||||
"reputation": "سمعة",
|
||||
"posts": "ردود",
|
||||
"favourites": "Favourites",
|
||||
"followers": "أتباع",
|
||||
"following": "يتبع",
|
||||
"signature": "توقيع",
|
||||
"gravatar": "Gravatar",
|
||||
"birthday": "عيد ميلاد",
|
||||
"chat": "Chat",
|
||||
"follow": "Follow",
|
||||
"unfollow": "Unfollow",
|
||||
"change_picture": "تغيير الصورة",
|
||||
"edit": "صحح",
|
||||
"uploaded_picture": "صورة تم تحميلها",
|
||||
"upload_new_picture": "تحميل صورة جديدة",
|
||||
"current_password": "Current Password",
|
||||
"change_password": "تغيير كلمة السر",
|
||||
"change_password_error": "Invalid Password!",
|
||||
"change_password_error_wrong_current": "Your current password is not correct!",
|
||||
"change_password_error_length": "Password too short!",
|
||||
"change_password_error_match": "Passwords must match!",
|
||||
"change_password_error_privileges": "You are not have the rights to change this password.",
|
||||
"change_password_success": "Your password is updated!",
|
||||
"confirm_password": "تأكيد كلمة السر",
|
||||
"password": "كلمة السر",
|
||||
"upload_picture": "تحميل الصورة",
|
||||
"upload_a_picture": "تحميل صورة",
|
||||
"image_spec": "You may only upload PNG, JPG, or GIF files",
|
||||
"max": "max.",
|
||||
"settings": "Settings",
|
||||
"show_email": "أظهر بريدي الإلكتروني",
|
||||
"has_no_follower": "هذا المستخدم ليس لديه أي أتباع :(",
|
||||
"follows_no_one": "هذا المستخدم لا يتبع أحد :(",
|
||||
"has_no_posts": "This user didn't post anything yet.",
|
||||
"has_no_topics": "This user didn't post any topics yet.",
|
||||
"email_hidden": "البريد الإلكتروني مخفي",
|
||||
"hidden": "مخفي",
|
||||
"paginate_description": "Paginate topics and posts instead of using infinite scroll.",
|
||||
"topics_per_page": "Topics per Page",
|
||||
"posts_per_page": "Posts per Page",
|
||||
"notification_sounds": "Play a sound when you receive a notification."
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"latest_users": "أحدث المستخدمين",
|
||||
"top_posters": "أكثر المشتركين",
|
||||
"most_reputation": "أعلى سمعة",
|
||||
"online": "موجودين حالياً",
|
||||
"search": "بحث",
|
||||
"enter_username": "أدخل اسم مستخدم للبحث",
|
||||
"load_more": "حمل المزيد"
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
{
|
||||
"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í!",
|
||||
"posts": "příspěvky",
|
||||
"views": "zobrazení",
|
||||
"posted": "odesláno",
|
||||
"browsing": "prohlíží",
|
||||
"no_replies": "Nikdo ještě neodpověděl",
|
||||
"replied": "přispěl",
|
||||
"last_edited_by": "naposledy upravil",
|
||||
"share_this_category": "Share this category"
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"stats.online": "Online",
|
||||
"stats.users": "Uživatelé",
|
||||
"stats.topics": "Témata",
|
||||
"stats.posts": "Příspěvky",
|
||||
"success": "úspěch"
|
||||
}
|
||||
@@ -1,55 +0,0 @@
|
||||
{
|
||||
"home": "Domů",
|
||||
"search": "Hledat",
|
||||
"buttons.close": "Zavřít",
|
||||
"403.title": "Přístup odepřen",
|
||||
"403.message": "K této stránce nemáte přístup. Zkuste se <a href='/login'>přihlásit</a>?",
|
||||
"404.title": "Stránka nenalezena",
|
||||
"404.message": "Tato stránka bohužel neexistuje. Vraťte se na <a href='/'>domovskou stránku</a>.",
|
||||
"500.title": "Neznámá chyba",
|
||||
"500.message": "Jejda, vypadá to, že se něco pokazilo.",
|
||||
"register": "Registrovat",
|
||||
"login": "Přihlásit se",
|
||||
"please_log_in": "Please Log In",
|
||||
"logout": "Odhlásit se",
|
||||
"posting_restriction_info": "Posting is currently restricted to registered members only, click here to log in.",
|
||||
"welcome_back": "Welcome Back ",
|
||||
"you_have_successfully_logged_in": "You have successfully logged in",
|
||||
"save_changes": "Uložit změny",
|
||||
"close": "Zrušit",
|
||||
"pagination": "Pagination",
|
||||
"header.admin": "Administrace",
|
||||
"header.recent": "Aktuality",
|
||||
"header.unread": "Nepřečtené",
|
||||
"header.popular": "Populární",
|
||||
"header.users": "Uživatelé",
|
||||
"header.chats": "Chats",
|
||||
"header.notifications": "Notifications",
|
||||
"header.search": "Hledat",
|
||||
"header.profile": "Můj profil",
|
||||
"notifications.loading": "Načítání upozornění",
|
||||
"chats.loading": "Načítání grafů",
|
||||
"motd.welcome": "Vítejte na NodeBB, diskusní platforma buducnosti.",
|
||||
"previouspage": "Předchozí stránka",
|
||||
"nextpage": "Další stránka",
|
||||
"alert.success": "Success",
|
||||
"alert.error": "Error",
|
||||
"alert.banned": "Banned",
|
||||
"alert.banned.message": "You are banned you will be logged out!",
|
||||
"alert.unfollow": "You are no longer following %1!",
|
||||
"alert.follow": "You are now following %1!",
|
||||
"posts": "Příspěvky",
|
||||
"views": "Zobrazení",
|
||||
"posted": "odesláno",
|
||||
"in": "v",
|
||||
"norecentposts": "No Recent Posts",
|
||||
"norecenttopics": "No Recent Topics",
|
||||
"recentposts": "Nedávné příspěvky",
|
||||
"recentips": "Recently Logged In IPs",
|
||||
"online": "Online",
|
||||
"away": "Pryč",
|
||||
"dnd": "Nerušit",
|
||||
"invisible": "Neviditelný",
|
||||
"offline": "Offline",
|
||||
"privacy": "Privacy"
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"name": "Czech",
|
||||
"code": "cs",
|
||||
"dir": "ltr"
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"login": "Přihlásit se",
|
||||
"username": "Username / Email",
|
||||
"password": "Heslo",
|
||||
"remember_me": "Zapamatovat si mě?",
|
||||
"forgot_password": "Zapomněli jste heslo?",
|
||||
"alternative_logins": "Další způsoby přihlášení",
|
||||
"failed_login_attempt": "Přihlášení se nezdařilo, zkuste to prosím znovu.",
|
||||
"login_successful": "Přihlášení proběhlo úspěšně!"
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"chat.chatting_with": "Chat s <span id=\"chat-with-name\"></span>",
|
||||
"chat.placeholder": "napište zprávu sem a zmáčkněte enter pro odeslání",
|
||||
"chat.send": "Odeslat",
|
||||
"chat.no_active": "Nemáte žádné aktivní konverzace."
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"title": "Upozornění",
|
||||
"no_notifs": "You have no new notifications",
|
||||
"see_all": "See all Notifications",
|
||||
"back_to_home": "Zpět na úvodní stránku",
|
||||
"outgoing_link": "Odkaz mimo fórum",
|
||||
"outgoing_link_message": "Nyní opouštíte fórum",
|
||||
"continue_to": "Přejít na",
|
||||
"return_to": "Vrátit se na "
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
{
|
||||
"home": "Home",
|
||||
"unread": "Unread Topics",
|
||||
"popular": "Popular Topics",
|
||||
"recent": "Recent Topics",
|
||||
"users": "Registered Users",
|
||||
"notifications": "Notifications",
|
||||
"user.edit": "Editing \"%1\"",
|
||||
"user.following": "People %1 Follows",
|
||||
"user.followers": "People who Follow %1",
|
||||
"user.posts": "Posts made by %1",
|
||||
"user.topics": "Topics created by %1",
|
||||
"user.favourites": "%1's Favourite Posts",
|
||||
"user.settings": "User Settings"
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"title": "Nedávné",
|
||||
"day": "Den",
|
||||
"week": "Týden",
|
||||
"month": "Měsíc",
|
||||
"no_recent_topics": "There are no recent topics."
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
{
|
||||
"register": "Registrace",
|
||||
"help.email": "Váš email nebude bez vašeho svolení zveřejněn.",
|
||||
"help.username_restrictions": "Jedinečné uživatelské jméno dlouhé %1 až %2 znaků. Ostatní uživatelé Vás mohou zmínit jako @<span id='yourUsername'>uživatelské-jméno</span>.",
|
||||
"help.minimum_password_length": "Délka vašeho hesla musí být alespoň %1 znaků.",
|
||||
"email_address": "Email",
|
||||
"email_address_placeholder": "Zadejte email",
|
||||
"username": "Uživatelské jméno",
|
||||
"username_placeholder": "Zadejte uživatelské jméno",
|
||||
"password": "Heslo",
|
||||
"password_placeholder": "Zadejte heslo",
|
||||
"confirm_password": "Potvrzení hesla",
|
||||
"confirm_password_placeholder": "Potvrďte heslo",
|
||||
"register_now_button": "Zaregistrovat se",
|
||||
"alternative_registration": "Jiný způsob registrace",
|
||||
"terms_of_use": "Podmínky",
|
||||
"agree_to_terms_of_use": "Souhlasím s Podmínkami"
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
{
|
||||
"reset_password": "Obnovit heslo",
|
||||
"update_password": "Upravit heslo",
|
||||
"password_changed.title": "Heslo změněno",
|
||||
"password_changed.message": "<p>Heslo bylo úspěšně změněno, <a href=\"/login\">přihlaste se znovu</a> prosím.",
|
||||
"wrong_reset_code.title": "Špatný kód",
|
||||
"wrong_reset_code.message": "Byl zadán špatný kód. Zadejte ho prosím znovu, nebo <a href=\"/reset\">si nechte poslat nový</a>.",
|
||||
"new_password": "Nové heslo",
|
||||
"repeat_password": "Potvrzení hesla",
|
||||
"enter_email": "Zadejte svou <strong>emailovou adresu</strong> a my Vám pošleme informace, jak můžete obnovit své heslo.",
|
||||
"enter_email_address": "Enter Email Address",
|
||||
"password_reset_sent": "Obnova hesla odeslána",
|
||||
"invalid_email": "Špatný email / Email neexistuje!"
|
||||
}
|
||||
@@ -1,93 +0,0 @@
|
||||
{
|
||||
"topic": "Téma",
|
||||
"topics": "Témata",
|
||||
"topic_id": "Topic ID",
|
||||
"topic_id_placeholder": "Enter topic ID",
|
||||
"no_topics_found": "Nebyla nalezena žádná témata!",
|
||||
"no_posts_found": "No posts found!",
|
||||
"profile": "Profil",
|
||||
"posted_by": "Odeslal",
|
||||
"chat": "Chat",
|
||||
"notify_me": "Sledovat toto téma",
|
||||
"quote": "Citovat",
|
||||
"reply": "Odpovědět",
|
||||
"edit": "Upravit",
|
||||
"delete": "Smazat",
|
||||
"restore": "Restore",
|
||||
"move": "Přesunout",
|
||||
"fork": "Rozdělit",
|
||||
"banned": "banned",
|
||||
"link": "Odkaz",
|
||||
"share": "Sdílet",
|
||||
"tools": "Nástroje",
|
||||
"flag": "Flag",
|
||||
"bookmark_instructions": "Click here to return to your last position or close to discard.",
|
||||
"flag_title": "Flag this post for moderation",
|
||||
"flag_confirm": "Are you sure you want to flag this post?",
|
||||
"flag_success": "This post has been flagged for moderation.",
|
||||
"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.",
|
||||
"not_following_topic.title": "Not Following 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.",
|
||||
"markAsUnreadForAll.success": "Topic marked as unread for all.",
|
||||
"watch": "Watch",
|
||||
"watch.title": "Be notified of new replies in this topic",
|
||||
"share_this_post": "Share this Post",
|
||||
"thread_tools.title": "Nástroje",
|
||||
"thread_tools.markAsUnreadForAll": "Označit jako nepřečtené",
|
||||
"thread_tools.pin": "Pin Topic",
|
||||
"thread_tools.unpin": "Unpin Topic",
|
||||
"thread_tools.lock": "Lock Topic",
|
||||
"thread_tools.unlock": "Unlock Topic",
|
||||
"thread_tools.move": "Move Topic",
|
||||
"thread_tools.fork": "Fork Topic",
|
||||
"thread_tools.delete": "Delete Topic",
|
||||
"thread_tools.delete_confirm": "Are you sure you want to delete this thread?",
|
||||
"thread_tools.restore": "Restore Topic",
|
||||
"thread_tools.restore_confirm": "Are you sure you want to restore this thread?",
|
||||
"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_delete_error": "Could not delete this post!",
|
||||
"post_restore_error": "Could not restore this post!",
|
||||
"load_categories": "Načítání kategorií",
|
||||
"disabled_categories_note": "Vypnuté (disabled) kategorie jsou šedé.",
|
||||
"confirm_move": "Přesunout",
|
||||
"confirm_fork": "Rozdělit",
|
||||
"favourite": "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!",
|
||||
"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ů",
|
||||
"move_topic": "Přesunout téma",
|
||||
"move_post": "Přesunout příspěvek",
|
||||
"fork_topic": "Rozdělit příspěvek",
|
||||
"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_no_pids": "Žádné příspěvky nebyly vybrány!",
|
||||
"fork_success": "Téma bylo úspěšně rozděleno!",
|
||||
"reputation": "Reputace",
|
||||
"posts": "Příspěvky",
|
||||
"composer.title_placeholder": "Enter your topic title here...",
|
||||
"composer.write": "Write",
|
||||
"composer.preview": "Preview",
|
||||
"composer.help": "Help",
|
||||
"composer.discard": "Discard",
|
||||
"composer.submit": "Submit",
|
||||
"composer.replying_to": "Replying to",
|
||||
"composer.new_topic": "New Topic",
|
||||
"composer.uploading": "uploading...",
|
||||
"composer.thumb_url_label": "Paste a topic thumbnail URL",
|
||||
"composer.thumb_title": "Add a thumbnail to this topic",
|
||||
"composer.thumb_url_placeholder": "http://example.com/thumb.png",
|
||||
"composer.thumb_file_label": "Or upload a file",
|
||||
"composer.thumb_remove": "Clear fields",
|
||||
"composer.drag_and_drop_images": "Drag and Drop Images Here",
|
||||
"composer.upload_instructions": "Upload images by dragging & dropping them."
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"title": "Unread",
|
||||
"no_unread_topics": "Nejsou zde žádné nepřečtené témata.",
|
||||
"mark_all_read": "Označit vše jako přečtené",
|
||||
"load_more": "Načíst další"
|
||||
}
|
||||
@@ -1,55 +0,0 @@
|
||||
{
|
||||
"banned": "Banned",
|
||||
"offline": "Offline",
|
||||
"username": "Uživatelské jméno",
|
||||
"email": "Email",
|
||||
"fullname": "Jméno a příjmení",
|
||||
"website": "Webové stránky",
|
||||
"location": "Poloha",
|
||||
"age": "Věk",
|
||||
"joined": "Registrován",
|
||||
"lastonline": "Naposledy online",
|
||||
"profile": "Profile",
|
||||
"profile_views": "Zobrazení profilu",
|
||||
"reputation": "Reputace",
|
||||
"posts": "Příspěvky",
|
||||
"favourites": "Oblíbené",
|
||||
"followers": "Sledují ho",
|
||||
"following": "Sleduje",
|
||||
"signature": "Podpis",
|
||||
"gravatar": "Gravatar",
|
||||
"birthday": "Datum narození",
|
||||
"chat": "Chat",
|
||||
"follow": "Follow",
|
||||
"unfollow": "Unfollow",
|
||||
"change_picture": "Změnit obrázek",
|
||||
"edit": "Upravit",
|
||||
"uploaded_picture": "Nahraný obrázek",
|
||||
"upload_new_picture": "Nahrát nový obrázek",
|
||||
"current_password": "Current Password",
|
||||
"change_password": "Změnit heslo",
|
||||
"change_password_error": "Invalid Password!",
|
||||
"change_password_error_wrong_current": "Your current password is not correct!",
|
||||
"change_password_error_length": "Password too short!",
|
||||
"change_password_error_match": "Passwords must match!",
|
||||
"change_password_error_privileges": "You are not have the rights to change this password.",
|
||||
"change_password_success": "Your password is updated!",
|
||||
"confirm_password": "Potvrzení hesla",
|
||||
"password": "Heslo",
|
||||
"upload_picture": "Nahrát obrázek",
|
||||
"upload_a_picture": "Nahrát obrázek",
|
||||
"image_spec": "You may only upload PNG, JPG, or GIF files",
|
||||
"max": "max.",
|
||||
"settings": "Nastavení",
|
||||
"show_email": "Zobrazovat můj email v profilu",
|
||||
"has_no_follower": "Tohoto uživatele nikdo nesleduje :(",
|
||||
"follows_no_one": "Tento uživatel nikoho nesleduje :(",
|
||||
"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",
|
||||
"hidden": "skrytý",
|
||||
"paginate_description": "Paginate topics and posts instead of using infinite scroll.",
|
||||
"topics_per_page": "Topics per Page",
|
||||
"posts_per_page": "Posts per Page",
|
||||
"notification_sounds": "Play a sound when you receive a notification."
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"latest_users": "Nejnovější uživatelé",
|
||||
"top_posters": "Nejaktivnější",
|
||||
"most_reputation": "Nejváženější",
|
||||
"online": "Online",
|
||||
"search": "Vyhledávat",
|
||||
"enter_username": "Zadej uživatelské jméno k hledání",
|
||||
"load_more": "Načíst další"
|
||||
}
|
||||
@@ -1,12 +1,14 @@
|
||||
{
|
||||
"new_topic_button": "Neues Thema",
|
||||
"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",
|
||||
"no_replies": "Niemand hat geantwortet",
|
||||
"replied": "geantwortet",
|
||||
"last_edited_by": "zuletzt editiert durch",
|
||||
"share_this_category": "Share this category"
|
||||
}
|
||||
"new_topic_button": "Neues Thema",
|
||||
"no_topics": "<strong>Es gibt noch keine Threads in dieser Kategorie.</strong><br />Warum beginnst du nicht den ersten?",
|
||||
"sidebar.recent_replies": "Neuste Antworten",
|
||||
"sidebar.active_participants": "Aktive Teilnehmer",
|
||||
"sidebar.moderators": "Moderatoren",
|
||||
"posts": "Posts",
|
||||
"views": "Aufrufe",
|
||||
"posted": "Geposted",
|
||||
"browsing": "Sieht zu",
|
||||
"no_replies": "Niemand hat geantwortet",
|
||||
"replied": "geantwortet",
|
||||
"last_edited_by": "zuletzt editiert durch"
|
||||
}
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
{
|
||||
"stats.online": "Online",
|
||||
"stats.users": "Benutzer",
|
||||
"stats.topics": "Themen",
|
||||
"stats.posts": "Beiträge",
|
||||
"success": "Erfolg"
|
||||
}
|
||||
"chat.chatting_with": "Chatten mit <span id='chat-with-name'></span>",
|
||||
"chat.placeholder": "schreibe hier etwas, und drücke Enter zum absenden",
|
||||
"chat.send": "Senden",
|
||||
"stats.online": "Online",
|
||||
"stats.users": "Benutzer",
|
||||
"stats.topics": "Themen",
|
||||
"stats.posts": "Beiträge",
|
||||
"success": "erfolg"
|
||||
}
|
||||
|
||||
@@ -1,55 +1,31 @@
|
||||
{
|
||||
"home": "Übersicht",
|
||||
"search": "Suche",
|
||||
"buttons.close": "Schließen",
|
||||
"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.",
|
||||
"404.title": " Nicht Gefunden",
|
||||
"404.message": "Die abgefragte Seite wurde nicht gefunden. <a href='/''>Zurück zur Übersicht</a>.",
|
||||
"500.title": "Interner Fehler.",
|
||||
"500.message": "Ups! Scheint als wäre etwas schief gelaufen!",
|
||||
"register": "Registrierung",
|
||||
"login": "Login",
|
||||
"please_log_in": "Bitte einloggen",
|
||||
"logout": "Logout",
|
||||
"posting_restriction_info": "Nur registrierte Mitglieder dürfen Beiträge verfassen. Hier klicken zum Einloggen.",
|
||||
"welcome_back": "Willkommen zurück",
|
||||
"you_have_successfully_logged_in": "Du hast dich erfolgreich eingeloggt",
|
||||
"save_changes": "Speichere Änderungen",
|
||||
"close": "Schließen",
|
||||
"pagination": "Seitennummerierung",
|
||||
"header.admin": "Admin",
|
||||
"header.recent": "Aktuell",
|
||||
"header.unread": "Ungelesen",
|
||||
"header.popular": "Beliebt",
|
||||
"header.users": "Benutzer",
|
||||
"header.chats": "Chats",
|
||||
"header.notifications": "Benachrichtigungen",
|
||||
"header.search": "Suche",
|
||||
"header.profile": "Profil",
|
||||
"notifications.loading": "Benachrichtigungen laden",
|
||||
"chats.loading": "Nachrichten werden geladen",
|
||||
"motd.welcome": "Willkommen auf NodeBB, der Diskussionsplattform der Zukunft.",
|
||||
"previouspage": "Vorherige Seite",
|
||||
"nextpage": "Nächste Seite",
|
||||
"alert.success": "Erfolg",
|
||||
"alert.error": "Fehler",
|
||||
"alert.banned": "Gebannt",
|
||||
"alert.banned.message": "Du bist gebannt und wirst nun ausgeloggt.",
|
||||
"alert.unfollow": "Du folgst %1 nicht länger!",
|
||||
"alert.follow": "Du folgst nun %1!",
|
||||
"posts": "Beiträge",
|
||||
"views": "Aufrufe",
|
||||
"posted": "geposted",
|
||||
"in": "in",
|
||||
"norecentposts": "Keine aktuellen Beiträge",
|
||||
"norecenttopics": "Keine aktuellen Themen",
|
||||
"recentposts": "Aktuelle Beiträge",
|
||||
"recentips": "Zuletzt eingeloggte IPs",
|
||||
"online": "Online",
|
||||
"away": "Abwesend",
|
||||
"dnd": "Nicht stören",
|
||||
"invisible": "Unsichtbar",
|
||||
"offline": "Offline",
|
||||
"privacy": "Privatsphäre"
|
||||
}
|
||||
"home": "Übersicht",
|
||||
"search": "Suche",
|
||||
"buttons.close": "Schließen",
|
||||
"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.",
|
||||
"404.title": " Nicht Gefunden",
|
||||
"404.message": "Die abgefragte Seite wurde nicht gefunden. <a href='/''>Zurück zur Übersicht</a>.",
|
||||
"500.title": "Internal error.",
|
||||
"500.message": "Ooops! Looks like something went wrong!",
|
||||
|
||||
"register": "Registrierung",
|
||||
"login": "Login",
|
||||
|
||||
"logout": "Logout",
|
||||
"logout.title": "Du bist ausgeloggt.",
|
||||
"logout.message": "Du hast dich soeben erfolgreich aus dem Forum ausgeloggt.",
|
||||
|
||||
"save_changes": "Speichere Änderungen",
|
||||
"close": "Schließen",
|
||||
|
||||
"header.admin": "Admin",
|
||||
"header.recent": "Aktuell",
|
||||
"header.unread": "Ungelesen",
|
||||
"header.users": "Benutzer",
|
||||
"header.search": "Suche",
|
||||
"header.profile": "Profil",
|
||||
|
||||
"notifications.loading": "Benachrichtigungen laden",
|
||||
"chats.loading": "Nachrichten werden geladen"
|
||||
}
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"name": "German",
|
||||
"code": "de",
|
||||
"dir": "ltr"
|
||||
}
|
||||
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"login": "Einloggen",
|
||||
"username": "Nutzername / E-Mail Adresse",
|
||||
"password": "Passwort",
|
||||
"remember_me": "Eingeloggt bleiben?",
|
||||
"forgot_password": "Passwort vergessen?",
|
||||
"alternative_logins": "Login Alternativen",
|
||||
"failed_login_attempt": " Anmeldeversuch fehlgeschlagen, versuche es erneut.",
|
||||
"login_successful": "Du hast dich erfolgreich eingeloggt!"
|
||||
}
|
||||
"login": "Einloggen",
|
||||
"username": "Benutzername",
|
||||
"password": "Passwort",
|
||||
"remember_me": "Eingeloggt bleiben?",
|
||||
"forgot_password": "Passwort vergessen?",
|
||||
"alternative_logins": "Login Alternativen",
|
||||
"failed_login_attempt": " Anmeldeversuch fehlgeschlagen, versuche es erneut.",
|
||||
"login_successful": "Du hast dich erfolgreich eingeloggt!"
|
||||
}
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"chat.chatting_with": "Chatten mit <span id='chat-with-name'></span>",
|
||||
"chat.placeholder": "schreibe hier etwas, und drücke Enter zum absenden",
|
||||
"chat.send": "Senden",
|
||||
"chat.no_active": "Du hast keine aktiven Chats."
|
||||
}
|
||||
@@ -1,10 +1,9 @@
|
||||
{
|
||||
"title": "Benachrichtigungen",
|
||||
"no_notifs": "Du hast keine neuen Benachrichtigungen",
|
||||
"see_all": "Alle Benachrichtigungen ansehen",
|
||||
"back_to_home": "Zurück zur Startseite",
|
||||
"outgoing_link": "Externer Link",
|
||||
"outgoing_link_message": "Du verlässt nun",
|
||||
"continue_to": "Gehe weiter zu",
|
||||
"return_to": "Kehre zurück zu"
|
||||
}
|
||||
"title": "Benachrichtigungen",
|
||||
"back_to_home": "Zurück zur Startseite",
|
||||
"mark_all_as_read": "Alles als gelesen markieren",
|
||||
"outgoing_link": "Externer Link",
|
||||
"outgoing_link_message": "Du verlässt nun",
|
||||
"continue_to": "Gehe weiter zu",
|
||||
"return_to": "Kehre zurück zu"
|
||||
}
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
{
|
||||
"home": "Home",
|
||||
"unread": "Ungelesene Themen",
|
||||
"popular": "Beliebte Themen",
|
||||
"recent": "Neueste Topics",
|
||||
"users": "Registrierte User",
|
||||
"notifications": "Benachrichtigungen",
|
||||
"user.edit": "Bearbeite \"%1\"",
|
||||
"user.following": "User %1 folgen",
|
||||
"user.followers": "User die folgen %1",
|
||||
"user.posts": "Beiträge von %1",
|
||||
"user.topics": "Topics created by %1",
|
||||
"user.favourites": "%1's favorisierte Beiträge",
|
||||
"user.settings": "User Einstellungen"
|
||||
}
|
||||
@@ -1,7 +1,5 @@
|
||||
{
|
||||
"title": "Aktuell",
|
||||
"day": "Tag",
|
||||
"week": "Woche",
|
||||
"month": "Monat",
|
||||
"no_recent_topics": "Es gibt keine aktuellen Themen."
|
||||
}
|
||||
"day": "Tag",
|
||||
"week": "Woche",
|
||||
"month": "Monat"
|
||||
}
|
||||
|
||||
@@ -1,18 +1,16 @@
|
||||
{
|
||||
"register": "Registrieren",
|
||||
"help.email": "Deine E-Mail Adresse ist standardmäßig nicht öffentlich sichtbar.",
|
||||
"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 sechs Zeichen lang sein.",
|
||||
"email_address": "E-Mail",
|
||||
"email_address_placeholder": "E-Mail Adresse hier eingeben",
|
||||
"username": "Benutzername",
|
||||
"username_placeholder": "Benutzernamen eingeben",
|
||||
"password": "Passwort",
|
||||
"password_placeholder": "Passwort eingeben",
|
||||
"confirm_password": "Passwort bestätigen",
|
||||
"confirm_password_placeholder": "Passwort zur Bestätigung erneut eingeben",
|
||||
"register_now_button": "Jetzt registrieren",
|
||||
"alternative_registration": "Alternative Registrierung",
|
||||
"terms_of_use": "Nutzungsbedingungen",
|
||||
"agree_to_terms_of_use": "Ich stimme den Nutzungsbedingungen zu"
|
||||
}
|
||||
"register": "Registrieren",
|
||||
"help.email": "Deine E-Mail Adresse ist standardmäßig nicht öffentlich sichtbar.",
|
||||
"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 sechs Zeichen lang sein.",
|
||||
"email_address": "E-Mail",
|
||||
"email_address_placeholder": "E-Mail Adresse hier eingeben",
|
||||
"username": "Benutzername",
|
||||
"username_placeholder": "Benutzernamen eingeben",
|
||||
"password": "Passwort",
|
||||
"password_placeholder": "Passwort eingeben",
|
||||
"confirm_password": "Passwort bestätigen",
|
||||
"confirm_password_placeholder": "Passwort zur Bestätigung erneut eingeben",
|
||||
"register_now_button": "Jetzt registrieren",
|
||||
"alternative_registration": "Alternative Registrierung"
|
||||
}
|
||||
|
||||
@@ -1,14 +1,13 @@
|
||||
{
|
||||
"reset_password": "Passwort zurücksetzen",
|
||||
"update_password": "Ändere Passwort",
|
||||
"password_changed.title": "Passwort geändert",
|
||||
"password_changed.message": "<p>Passwort erfolgreich zurückgesetzt. Bitte <a href=\"/login\">logge dich erneut ein</a>.",
|
||||
"wrong_reset_code.title": "Der Reset-Code ist falsch.",
|
||||
"wrong_reset_code.message": "Der empfangene Reset-Code war falsch. Bitte versuche es erneut oder <a href=\"/reset\">fordere einen neuen Code an</a>.",
|
||||
"new_password": "Neues Passwort",
|
||||
"repeat_password": "Wiederhole das Passwort",
|
||||
"enter_email": "Bitte gib Deine <strong>E-Mail Adresse</strong> ein und wir senden Dir eine Anleitung, wie Du Dein Passwort zurücksetzen kannst.",
|
||||
"enter_email_address": "E-Mail Adresse eingeben",
|
||||
"password_reset_sent": "Passwortzrücksetzung beantragt.",
|
||||
"invalid_email": "Ungültige E-Mail / Adresse existiert nicht!"
|
||||
}
|
||||
"reset_password": "Passwort zurücksetzen",
|
||||
"update_password": "Ändere Passwort",
|
||||
"password_change": "Passwort wurde geändert",
|
||||
"password_reset_successful": "<p>Das Passwort wurde erfolgreich zurückgesetzt. <a href=\"/login\">Log dich neu ein</a>.",
|
||||
"wrong_reset_code.title": "Der Reset-Code ist falsch.",
|
||||
"wrong_reset_code.message": "Der empfangene Reset-Code war falsch. Bitte versuche es erneut oder <a href=\"/reset\">fordere einen neuen Code an</a>.",
|
||||
"new_password": "Neues Passwort",
|
||||
"repeat_password": "Wiederhole das Passwort",
|
||||
"enter_email": "Bitte gib Deine <strong>E-Mail Adresse</strong> ein und wir senden Dir eine Anleitung, wie Du Dein Passwort zurücksetzen kannst.",
|
||||
"password_reset_sent": "Passwortzrücksetzung beantragt.",
|
||||
"invalid_email": "Ungültige E-Mail / Adresse existiert nicht!"
|
||||
}
|
||||
|
||||
@@ -1,93 +1,43 @@
|
||||
{
|
||||
"topic": "Thema",
|
||||
"topics": "Themen",
|
||||
"topic_id": "Topic ID",
|
||||
"topic_id_placeholder": "Topic ID eingeben",
|
||||
"no_topics_found": "Keine passende Themen gefunden.",
|
||||
"no_posts_found": "Keine Beiträge gefunden!",
|
||||
"profile": "Profil",
|
||||
"posted_by": "Geposted von",
|
||||
"chat": "Chat",
|
||||
"notify_me": "Werde bei neues Antworten auf dieses Thema benachrichtigt.",
|
||||
"quote": "zitieren",
|
||||
"reply": "antworten",
|
||||
"edit": "bearbeiten",
|
||||
"delete": "löschen",
|
||||
"restore": "Wiederherstellen",
|
||||
"move": "Verschieben",
|
||||
"fork": "Aufspalten",
|
||||
"banned": "gesperrt",
|
||||
"link": "Link",
|
||||
"share": "Teilen",
|
||||
"tools": "Tools",
|
||||
"flag": "Markieren",
|
||||
"bookmark_instructions": "Klicke hier um zur letzten Position zurückzukehren oder schließe zum Abbrechen.",
|
||||
"flag_title": "Diesen Beitrag zur Moderation markieren",
|
||||
"flag_confirm": "Sind Sie sicher, dass Sie diesen Post markieren möchten?",
|
||||
"flag_success": "Dieser Beitrag wurde erfolgreich für die Moderation markiert.",
|
||||
"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.",
|
||||
"not_following_topic.title": "Thema nicht gefolgt",
|
||||
"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",
|
||||
"markAsUnreadForAll.success": "Thema für Alle als ungelesen markiert.",
|
||||
"watch": "Beobachten",
|
||||
"watch.title": "Bei neuen Antworten benachrichtigen",
|
||||
"share_this_post": "Diesen Beitrag teilen",
|
||||
"thread_tools.title": "Tools",
|
||||
"thread_tools.markAsUnreadForAll": "Als ungelesen markieren",
|
||||
"thread_tools.pin": "Thema anpinnen",
|
||||
"thread_tools.unpin": "Thema nicht mehr anpinnen",
|
||||
"thread_tools.lock": "Thema schließen",
|
||||
"thread_tools.unlock": "Thema öffnen",
|
||||
"thread_tools.move": "Thema verschieben",
|
||||
"thread_tools.fork": "Thema aufspalten",
|
||||
"thread_tools.delete": "Thema löschen",
|
||||
"thread_tools.delete_confirm": "Sind Sie sicher, dass Sie dieses Thema löschen möchten?",
|
||||
"thread_tools.restore": "Thema wiederherstellen",
|
||||
"thread_tools.restore_confirm": "Sind Sie sicher, dass Sie dieses Thema wiederherstellen möchten?",
|
||||
"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_delete_error": "Beitrag konnte nicht gelöscht werden!",
|
||||
"post_restore_error": "Beitrag konnte nicht wiederhergestellt werden!",
|
||||
"load_categories": "Kategorien laden",
|
||||
"disabled_categories_note": "Deaktivierte Kategorien sind ausgegraut.",
|
||||
"confirm_move": "Verschieben",
|
||||
"confirm_fork": "Aufspalten",
|
||||
"favourite": "Favorit",
|
||||
"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.",
|
||||
"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_post": "Beitrag verschieben",
|
||||
"fork_topic": "Thema aufspalten",
|
||||
"topic_will_be_moved_to": "Dieses Thema wird verschoben nach",
|
||||
"fork_topic_instruction": "Klicke auf die Posts, die du aufspalten willst",
|
||||
"fork_no_pids": "Keine Beiträge ausgewählt!",
|
||||
"fork_success": "Thema erfolgreich aufgespalten!",
|
||||
"reputation": "Reputation",
|
||||
"posts": "Beiträge",
|
||||
"composer.title_placeholder": "Hier den Titel des Themas eingeben...",
|
||||
"composer.write": "Schreiben",
|
||||
"composer.preview": "Vorschau",
|
||||
"composer.help": "Hilfe",
|
||||
"composer.discard": "Verwerfen",
|
||||
"composer.submit": "Absenden",
|
||||
"composer.replying_to": "Als Antwort auf",
|
||||
"composer.new_topic": "Neues Thema",
|
||||
"composer.uploading": "Upload läuft...",
|
||||
"composer.thumb_url_label": "Vorschaubild-URL hier einfügen",
|
||||
"composer.thumb_title": "Vorschaubild zu diesem Thema hinzufügen",
|
||||
"composer.thumb_url_placeholder": "http://example.com/thumb.png",
|
||||
"composer.thumb_file_label": "Oder eine Datei hochladen",
|
||||
"composer.thumb_remove": "Felder leeren",
|
||||
"composer.drag_and_drop_images": "Bilder hier reinziehen",
|
||||
"composer.upload_instructions": "Zum Hochladen Bilder hier reinziehen."
|
||||
}
|
||||
"topic": "Thema",
|
||||
"topics": "Themen",
|
||||
|
||||
"no_topics_found": "Keine passende Themen gefunden.",
|
||||
|
||||
"profile": "Profil",
|
||||
"posted_by": "geschrieben von",
|
||||
"chat": "Chat",
|
||||
"notify_me": "Werde bei neues Antworten auf dieses Thema benachrichtigt.",
|
||||
"quote": "zitieren",
|
||||
"reply": "antworten",
|
||||
"edit": "bearbeiten",
|
||||
"delete": "löschen",
|
||||
"banned": "gesperrt",
|
||||
"link": "Link",
|
||||
|
||||
"thread_tools.title": "Thread Tools",
|
||||
"thread_tools.pin": "Thread pinnen",
|
||||
"thread_tools.unpin": "Thread nicht mehr pinnen",
|
||||
"thread_tools.lock": "Thread sperren",
|
||||
"thread_tools.move": "Thread verschieben",
|
||||
"thread_tools.delete": "Thread löschen",
|
||||
|
||||
"load_categories": "Kategorien laden",
|
||||
"disabled_categories_note": "Deaktivierte Kategorien sind ausgegraut.",
|
||||
"confirm_move": "verschieben",
|
||||
|
||||
"favourite": "Favorit",
|
||||
"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.",
|
||||
|
||||
"posted_by": "Geposted von",
|
||||
"loading": "Lade",
|
||||
"more_posts": "Mehr Posts",
|
||||
"move_topic": "Thema verschieben",
|
||||
"topic_will_be_moved_to": "Dieses Thema wird verschoben nach",
|
||||
|
||||
"reputation": "Reputation",
|
||||
"posts": "Posts"
|
||||
}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
{
|
||||
"title": "Ungelesen",
|
||||
"no_unread_topics": "Es gibt keine ungelesenen Themen.",
|
||||
"mark_all_read": "alle als gelesen markieren",
|
||||
"load_more": "mehr laden"
|
||||
"no_unread_topics": "Es gibt keine ungelesenen Themen.",
|
||||
"mark_all_read": "alle als gelesen markieren",
|
||||
"load_more": "mehr laden"
|
||||
}
|
||||
@@ -1,55 +1,38 @@
|
||||
{
|
||||
"banned": "Gebannt",
|
||||
"offline": "offline",
|
||||
"username": "Nutzername",
|
||||
"email": "E-Mail",
|
||||
"fullname": "Kompletter Name",
|
||||
"website": "Homepage",
|
||||
"location": "Wohnort",
|
||||
"age": "Alter",
|
||||
"joined": "Beigetreten",
|
||||
"lastonline": "Zuletzt online",
|
||||
"profile": "Profil",
|
||||
"profile_views": "Profilaufrufe",
|
||||
"reputation": "Reputation",
|
||||
"posts": "Posts",
|
||||
"favourites": "Favoriten",
|
||||
"followers": "Follower",
|
||||
"following": "Folgt",
|
||||
"signature": "Signatur",
|
||||
"gravatar": "Gravatar",
|
||||
"birthday": "Geburtstag",
|
||||
"chat": "Chat",
|
||||
"follow": "Folgen",
|
||||
"unfollow": "Nicht mehr folgen",
|
||||
"change_picture": "Ändere Profilbild",
|
||||
"edit": "Ändern",
|
||||
"uploaded_picture": "Hochgeladene Bilder",
|
||||
"upload_new_picture": "Neues Bild hochladen",
|
||||
"current_password": "Aktuelles Passwort",
|
||||
"change_password": "Ändere Passwort",
|
||||
"change_password_error": "Ungültiges Passwort!",
|
||||
"change_password_error_wrong_current": "Ihr derzeitiges Passwort ist ungültig!",
|
||||
"change_password_error_length": "Passwort zu kurz!",
|
||||
"change_password_error_match": "Passworte müssen übereinstimmen!",
|
||||
"change_password_error_privileges": "Sie haben nicht die Berechtigungen dieses Passwort zu ändern.",
|
||||
"change_password_success": "Ihr Passwort wurde aktualisiert!",
|
||||
"confirm_password": "Passwort wiederholen",
|
||||
"password": "Passwort",
|
||||
"upload_picture": "Bild hochladen",
|
||||
"upload_a_picture": "Ein Bild hochladen",
|
||||
"image_spec": "Sie dürfen nur Dateien vom Typ PNG, JPG oder GIF hochladen",
|
||||
"max": "max.",
|
||||
"settings": "Einstellungen",
|
||||
"show_email": "Zeige meine E-Mail Adresse an.",
|
||||
"has_no_follower": "Dieser User hat noch keine Follower.",
|
||||
"follows_no_one": "Dieser User folgt noch niemanden.",
|
||||
"has_no_posts": "Dieser Nutzer hat noch nichts gepostet.",
|
||||
"has_no_topics": "This user didn't post any topics yet.",
|
||||
"email_hidden": "E-Mail Adresse versteckt",
|
||||
"hidden": "versteckt",
|
||||
"paginate_description": "Themen und Beiträge auf Seiten aufteilen statt unendliches Scrollen verweden",
|
||||
"topics_per_page": "Themen pro Seite",
|
||||
"posts_per_page": "Beiträge pro Seite",
|
||||
"notification_sounds": "Ton abspielen, wenn ich eine Benachrichtigung erhalte."
|
||||
}
|
||||
"banned": "Gebannt",
|
||||
"offline": "offline",
|
||||
"email": "E-Mail",
|
||||
"fullname": "Kompletter Name",
|
||||
"website": "Homepage",
|
||||
"location": "Wohnort",
|
||||
"age": "Alter",
|
||||
"joined": "Beigetreten",
|
||||
"profile_views": "Profilaufrufe",
|
||||
"reputation": "Reputation",
|
||||
"posts": "Posts",
|
||||
"followers": "Follower",
|
||||
"following": "Folgt",
|
||||
"signature": "Signatur",
|
||||
"gravatar": "Gravatar",
|
||||
"birthday": "Geburtstag",
|
||||
|
||||
"change_picture": "Ändere Profilbild",
|
||||
"edit": "Ändern",
|
||||
"uploaded_picture": "Hochgeladene Bilder",
|
||||
"upload_new_picture": "Neues Bild hochladen",
|
||||
"change_password": "Ändere Passwort",
|
||||
"confirm_password": "Passwort wiederholen",
|
||||
"password": "Passwort",
|
||||
|
||||
"upload_picture": "Bild hochladen",
|
||||
"upload_a_picture": "Ein Bild hochladen",
|
||||
"image_spec": "Du solltest nur Dateien die PNG, JPG, oder GIF kleiner als 256kb hochladen.",
|
||||
|
||||
"settings": "Einstellungen",
|
||||
"show_email": "Zeige meine E-Mail Adresse an.",
|
||||
|
||||
"has_no_follower": "Dieser User hat noch keine Follower.",
|
||||
"follows_no_one": "Dieser User folgt noch niemanden."
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"latest_users": "neuste Benutzer",
|
||||
"top_posters": "meiste Beiträge",
|
||||
"most_reputation": "höhstes Ansehen",
|
||||
"online": "Online",
|
||||
"search": "Suchen",
|
||||
"enter_username": "Benutzer durchsuchen",
|
||||
"load_more": "mehr laden"
|
||||
}
|
||||
"latest_users": "neuste Benutzer",
|
||||
"top_posters": "meiste Beiträge",
|
||||
"most_reputation": "höhstes Ansehen",
|
||||
"online": "Online",
|
||||
"search": "Suchen",
|
||||
"enter_username": "Benutzer durchsuchen",
|
||||
"load_more": "mehr laden"
|
||||
}
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
{
|
||||
"new_topic_button": "New Topic",
|
||||
"no_topics": "<strong>There are no topics in this category.</strong><br />Why don't you try posting one?",
|
||||
"sidebar.recent_replies": "Recent Replies",
|
||||
"sidebar.active_participants": "Active Participants",
|
||||
"sidebar.moderators": "Moderators",
|
||||
"posts": "posts",
|
||||
"views": "views",
|
||||
"posted": "posted",
|
||||
"browsing": "browsing",
|
||||
"no_replies": "No one has replied",
|
||||
"replied": "replied",
|
||||
"last_edited_by": "last edited by",
|
||||
"share_this_category": "Share this category"
|
||||
"last_edited_by": "last edited by"
|
||||
}
|
||||
@@ -2,5 +2,9 @@
|
||||
"chat.chatting_with": "Chat with <span id=\"chat-with-name\"></span>",
|
||||
"chat.placeholder": "type chat message here, press enter to send",
|
||||
"chat.send": "Send",
|
||||
"chat.no_active": "You have no active chats."
|
||||
}
|
||||
"stats.online": "Online",
|
||||
"stats.users": "Users",
|
||||
"stats.topics": "Topics",
|
||||
"stats.posts": "Posts",
|
||||
"success": "success"
|
||||
}
|
||||
31
public/language/en/global.json
Normal file
31
public/language/en/global.json
Normal file
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"home": "Home",
|
||||
"search": "Search",
|
||||
"buttons.close": "Close",
|
||||
"403.title": "Access Denied",
|
||||
"403.message": "You seem to have stumbled upon a page that you do not have access to. Perhaps you should <a href='/login'>try logging in</a>?",
|
||||
"404.title": "Not Found",
|
||||
"404.message": "You seem to have stumbled upon a page that does not exist. Return to the <a href='/'>home page</a>.",
|
||||
"500.title": "Internal error.",
|
||||
"500.message": "Oops! Looks like something went wrong!",
|
||||
|
||||
"register": "Register",
|
||||
"login": "Login",
|
||||
|
||||
"logout": "Logout",
|
||||
"logout.title": "You are now logged out.",
|
||||
"logout.message": "You have successfully logged out of NodeBB",
|
||||
|
||||
"save_changes": "Save Changes",
|
||||
"close": "Close",
|
||||
|
||||
"header.admin": "Admin",
|
||||
"header.recent": "Recent",
|
||||
"header.unread": "Unread",
|
||||
"header.users": "Users",
|
||||
"header.search": "Search",
|
||||
"header.profile": "Profile",
|
||||
|
||||
"notifications.loading": "Loading Notifications",
|
||||
"chats.loading": "Loading Chats"
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"login": "Login",
|
||||
"username": "Username / Email",
|
||||
"username": "Username",
|
||||
"password": "Password",
|
||||
"remember_me": "Remember Me?",
|
||||
"forgot_password": "Forgot Password?",
|
||||
@@ -1,9 +1,7 @@
|
||||
{
|
||||
"title": "Notifications",
|
||||
"no_notifs": "You have no new notifications",
|
||||
"see_all": "See all Notifications",
|
||||
|
||||
"back_to_home": "Back to NodeBB",
|
||||
"back_to_home": "back to NodeBB",
|
||||
"mark_all_as_read": "Mark All as Read",
|
||||
"outgoing_link": "Outgoing Link",
|
||||
"outgoing_link_message": "You are now leaving",
|
||||
"continue_to": "Continue to",
|
||||
5
public/language/en/recent.json
Normal file
5
public/language/en/recent.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"day": "Day",
|
||||
"week": "Week",
|
||||
"month": "Month"
|
||||
}
|
||||
@@ -12,7 +12,5 @@
|
||||
"confirm_password": "Confirm Password",
|
||||
"confirm_password_placeholder": "Confirm Password",
|
||||
"register_now_button": "Register Now",
|
||||
"alternative_registration": "Alternative Registration",
|
||||
"terms_of_use": "Terms of Use",
|
||||
"agree_to_terms_of_use": "I agree to the Terms of Use"
|
||||
"alternative_registration": "Alternative Registration"
|
||||
}
|
||||
@@ -8,7 +8,6 @@
|
||||
"new_password": "New Password",
|
||||
"repeat_password": "Confirm Password",
|
||||
"enter_email": "Please enter your <strong>email address</strong> and we will send you an email with instructions on how to reset your account.",
|
||||
"enter_email_address": "Enter Email Address",
|
||||
"password_reset_sent": "Password Reset Sent",
|
||||
"invalid_email": "Invalid Email / Email does not exist!"
|
||||
}
|
||||
43
public/language/en/topic.json
Normal file
43
public/language/en/topic.json
Normal file
@@ -0,0 +1,43 @@
|
||||
{
|
||||
"topic": "Topic",
|
||||
"topics": "Topics",
|
||||
|
||||
"no_topics_found": "No topics found!",
|
||||
|
||||
"profile": "Profile",
|
||||
"posted_by": "Posted by",
|
||||
"chat": "Chat",
|
||||
"notify_me": "Be notified of new replies in this topic",
|
||||
"quote": "Quote",
|
||||
"reply": "Reply",
|
||||
"edit": "Edit",
|
||||
"delete": "Delete",
|
||||
"fork": "Fork",
|
||||
"banned": "banned",
|
||||
"link": "Link",
|
||||
|
||||
"thread_tools.title": "Thread Tools",
|
||||
"thread_tools.pin": "Pin Thread",
|
||||
"thread_tools.lock": "Lock Thread",
|
||||
"thread_tools.move": "Move Thread",
|
||||
"thread_tools.delete": "Delete Thread",
|
||||
|
||||
"load_categories": "Loading Categories",
|
||||
"disabled_categories_note": "Disabled Categories are greyed out",
|
||||
"confirm_move": "Move",
|
||||
|
||||
"favourite": "Favourite",
|
||||
"favourites": "Favorites",
|
||||
"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!",
|
||||
|
||||
"posted_by": "posted by",
|
||||
"loading": "Loading",
|
||||
"more_posts": "More Posts",
|
||||
"move_topic": "Move Topic",
|
||||
"topic_will_be_moved_to": "This topic will be moved to the category",
|
||||
|
||||
"reputation": "Reputation",
|
||||
"posts": "Posts"
|
||||
}
|
||||
5
public/language/en/unread.json
Normal file
5
public/language/en/unread.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"no_unread_topics": "There are no unread topics.",
|
||||
"mark_all_read": "Mark all as Read",
|
||||
"load_more": "Load More"
|
||||
}
|
||||
40
public/language/en/user.json
Normal file
40
public/language/en/user.json
Normal file
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"banned": "Banned",
|
||||
"offline": "Offline",
|
||||
"email": "Email",
|
||||
"fullname": "Full Name",
|
||||
"website": "Website",
|
||||
"location": "Location",
|
||||
"age": "Age",
|
||||
"joined": "Joined",
|
||||
"lastonline": "Last Online",
|
||||
"profile_views": "Profile views",
|
||||
"reputation": "Reputation",
|
||||
"posts": "Posts",
|
||||
"followers": "Followers",
|
||||
"following": "Following",
|
||||
"signature": "Signature",
|
||||
"gravatar": "Gravatar",
|
||||
"birthday": "Birthday",
|
||||
|
||||
"change_picture": "Change Picture",
|
||||
"edit": "Edit",
|
||||
"uploaded_picture": "Uploaded Picture",
|
||||
"upload_new_picture": "Upload New Picture",
|
||||
"change_password": "Change Password",
|
||||
"confirm_password": "Confirm Password",
|
||||
"password": "Password",
|
||||
|
||||
"upload_picture": "Upload picture",
|
||||
"upload_a_picture": "Upload a picture",
|
||||
"image_spec": "You may only upload PNG, JPG, or GIF files under 256kb.",
|
||||
|
||||
"settings": "settings",
|
||||
"show_email": "Show My Email",
|
||||
|
||||
"has_no_follower": "This user doesn't have any followers :(",
|
||||
"follows_no_one": "This user isn't following anyone :(",
|
||||
|
||||
"email_hidden": "Email Hidden",
|
||||
"hidden": "hidden"
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
{
|
||||
"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?",
|
||||
"posts": "messages",
|
||||
"views": "views",
|
||||
"posted": "sent",
|
||||
"browsing": "browsin'",
|
||||
"no_replies": "No one has replied to ye message",
|
||||
"replied": "replied",
|
||||
"last_edited_by": "last edited by",
|
||||
"share_this_category": "Share this category"
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"stats.online": "Online",
|
||||
"stats.users": "Mates",
|
||||
"stats.topics": "Topics",
|
||||
"stats.posts": "Messages",
|
||||
"success": "success"
|
||||
}
|
||||
@@ -1,55 +0,0 @@
|
||||
{
|
||||
"home": "Home Port",
|
||||
"search": "Finderer",
|
||||
"buttons.close": "Shoot down",
|
||||
"403.title": "Not Enough Booty Power",
|
||||
"403.message": "Ye seem to have stumbled upon a page that ye do not have access to. Perhaps ye <a href='/login'>give a go' loggin' in</a>?",
|
||||
"404.title": "T'ere be nut'in 'ere",
|
||||
"404.message": "Ye seem to have stumbled upon a page that does not exist. Return to th' <a href='/'>home page</a>",
|
||||
"500.title": "Broken beam.",
|
||||
"500.message": "Looks like we've got somethin' in th' sails.",
|
||||
"register": "Register",
|
||||
"login": "Login",
|
||||
"please_log_in": "Please Log In",
|
||||
"logout": "Logout",
|
||||
"posting_restriction_info": "Postin' be currently restricted to registered members only, click here to log in.",
|
||||
"welcome_back": "Welcome to Port",
|
||||
"you_have_successfully_logged_in": "Ye have successfully logged in",
|
||||
"save_changes": "Save yer Changes",
|
||||
"close": "Shoot down",
|
||||
"pagination": "Pagination",
|
||||
"header.admin": "Captains only",
|
||||
"header.recent": "Recent",
|
||||
"header.unread": "Undiscovered",
|
||||
"header.popular": "Famous",
|
||||
"header.users": "Mates",
|
||||
"header.chats": "Yik-Yaks",
|
||||
"header.notifications": "Parrot Calls",
|
||||
"header.search": "Finderer",
|
||||
"header.profile": "Bunk",
|
||||
"notifications.loading": "Fetching yer Parrot Calls",
|
||||
"chats.loading": "Loading Yik-Yaks",
|
||||
"motd.welcome": "Welcome to NodeBB, th' discussion platform 'o th' future.",
|
||||
"previouspage": "Previous Page",
|
||||
"nextpage": "Next Page",
|
||||
"alert.success": "Success",
|
||||
"alert.error": "Somethin' broke",
|
||||
"alert.banned": "Exiled",
|
||||
"alert.banned.message": "Ye be banned ye gunna be logged out!",
|
||||
"alert.unfollow": "Ye be no longer stalkin' %1!",
|
||||
"alert.follow": "Ye be stalkin' %1",
|
||||
"posts": "Messages",
|
||||
"views": "Views",
|
||||
"posted": "posted",
|
||||
"in": "in",
|
||||
"norecentposts": "No Recent Posts",
|
||||
"norecenttopics": "No Recent Topics",
|
||||
"recentposts": "Recent Messages",
|
||||
"recentips": "Recently Logged In IPs",
|
||||
"online": "Available",
|
||||
"away": "Out to sea",
|
||||
"dnd": "Do not Disturb",
|
||||
"invisible": "Magic usin'",
|
||||
"offline": "Dead",
|
||||
"privacy": "Privacy"
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"name": "English (Pirate)",
|
||||
"code": "en@pirate",
|
||||
"dir": "ltr"
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"login": "Login",
|
||||
"username": "Yer handle or email",
|
||||
"password": "Secret Combination",
|
||||
"remember_me": "Remember Me?",
|
||||
"forgot_password": "My mind be a scatt'rbrain, help a matey out!",
|
||||
"alternative_logins": "Oth'r gangplanks",
|
||||
"failed_login_attempt": "Failed login attempt, please give it a go' again.",
|
||||
"login_successful": "Welcome on board, matey!"
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"chat.chatting_with": "Letters from <span id=\"chat-with-name\"></span>",
|
||||
"chat.placeholder": "Yer message goes here, hit enter to send 'er off",
|
||||
"chat.send": "Send Parrot",
|
||||
"chat.no_active": "Ye be a lonely sailor."
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"title": "Notifications",
|
||||
"no_notifs": "You have no new notifications",
|
||||
"see_all": "Spy wit' ye eye all ye notifications",
|
||||
"back_to_home": "Take me back!",
|
||||
"outgoing_link": "Go offshore",
|
||||
"outgoing_link_message": "Ye be goin' offshore",
|
||||
"continue_to": "Continue to",
|
||||
"return_to": "Return to"
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
{
|
||||
"home": "Home",
|
||||
"unread": "Unread Topics",
|
||||
"popular": "Popular Topics",
|
||||
"recent": "Recent Topics",
|
||||
"users": "Registered Users",
|
||||
"notifications": "Notifications",
|
||||
"user.edit": "Editing \"%1\"",
|
||||
"user.following": "People %1 Follows",
|
||||
"user.followers": "People who Follow %1",
|
||||
"user.posts": "Posts made by %1",
|
||||
"user.topics": "Topics created by %1",
|
||||
"user.favourites": "%1's Favourite Posts",
|
||||
"user.settings": "User Settings"
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"title": "Recent",
|
||||
"day": "Day",
|
||||
"week": "Week",
|
||||
"month": "Month",
|
||||
"no_recent_topics": "There be no recent topics."
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
{
|
||||
"register": "Board the ship",
|
||||
"help.email": "By default, your email will be hidden from the public.",
|
||||
"help.username_restrictions": "A unique username between %1 and %2 characters. Others can mention you with @<span id='yourUsername'>username</span>.",
|
||||
"help.minimum_password_length": "Your password's length must be at least %1 characters.",
|
||||
"email_address": "Email Address",
|
||||
"email_address_placeholder": "Enter Email Address",
|
||||
"username": "Username",
|
||||
"username_placeholder": "Enter Username",
|
||||
"password": "Password",
|
||||
"password_placeholder": "Enter Password",
|
||||
"confirm_password": "Confirm Password",
|
||||
"confirm_password_placeholder": "Confirm Password",
|
||||
"register_now_button": "Register Now",
|
||||
"alternative_registration": "Alternative Registration",
|
||||
"terms_of_use": "Terms of Use",
|
||||
"agree_to_terms_of_use": "I agree to the Terms of Use"
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
{
|
||||
"reset_password": "Reset Password",
|
||||
"update_password": "Update Password",
|
||||
"password_changed.title": "Password Changed",
|
||||
"password_changed.message": "<p>Password successfully reset, please <a href=\"/login\">log in again</a>.",
|
||||
"wrong_reset_code.title": "Incorrect Reset Code",
|
||||
"wrong_reset_code.message": "The reset code received was incorrect. Please try again, or <a href=\"/reset\">request a new reset code</a>.",
|
||||
"new_password": "New Password",
|
||||
"repeat_password": "Confirm Password",
|
||||
"enter_email": "Please enter your <strong>email address</strong> and we will send you an email with instructions on how to reset your account.",
|
||||
"enter_email_address": "Enter Email Address",
|
||||
"password_reset_sent": "Password Reset Sent",
|
||||
"invalid_email": "Invalid Email / Email does not exist!"
|
||||
}
|
||||
@@ -1,93 +0,0 @@
|
||||
{
|
||||
"topic": "Topic",
|
||||
"topics": "Topics",
|
||||
"topic_id": "Topic ID",
|
||||
"topic_id_placeholder": "Enter topic ID",
|
||||
"no_topics_found": "No topics found!",
|
||||
"no_posts_found": "No posts found!",
|
||||
"profile": "Profile",
|
||||
"posted_by": "Posted by",
|
||||
"chat": "Chat",
|
||||
"notify_me": "Be notified of new replies in this topic",
|
||||
"quote": "Quote",
|
||||
"reply": "Reply",
|
||||
"edit": "Edit",
|
||||
"delete": "Delete",
|
||||
"restore": "Restore",
|
||||
"move": "Move",
|
||||
"fork": "Fork",
|
||||
"banned": "banned",
|
||||
"link": "Link",
|
||||
"share": "Share",
|
||||
"tools": "Tools",
|
||||
"flag": "Flag",
|
||||
"bookmark_instructions": "Click here to return to your last position or close to discard.",
|
||||
"flag_title": "Flag this post for moderation",
|
||||
"flag_confirm": "Are you sure you want to flag this post?",
|
||||
"flag_success": "This post has been flagged for moderation.",
|
||||
"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.",
|
||||
"not_following_topic.title": "Not Following 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.",
|
||||
"markAsUnreadForAll.success": "Topic marked as unread for all.",
|
||||
"watch": "Watch",
|
||||
"watch.title": "Be notified of new replies in this topic",
|
||||
"share_this_post": "Share this Post",
|
||||
"thread_tools.title": "Thread Tools",
|
||||
"thread_tools.markAsUnreadForAll": "Mark Unread",
|
||||
"thread_tools.pin": "Pin Topic",
|
||||
"thread_tools.unpin": "Unpin Topic",
|
||||
"thread_tools.lock": "Lock Topic",
|
||||
"thread_tools.unlock": "Unlock Topic",
|
||||
"thread_tools.move": "Move Topic",
|
||||
"thread_tools.fork": "Fork Topic",
|
||||
"thread_tools.delete": "Delete Topic",
|
||||
"thread_tools.delete_confirm": "Are you sure you want to delete this thread?",
|
||||
"thread_tools.restore": "Restore Topic",
|
||||
"thread_tools.restore_confirm": "Are you sure you want to restore this thread?",
|
||||
"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_delete_error": "Could not delete this post!",
|
||||
"post_restore_error": "Could not restore this post!",
|
||||
"load_categories": "Loading Categories",
|
||||
"disabled_categories_note": "Disabled Categories are greyed out",
|
||||
"confirm_move": "Move",
|
||||
"confirm_fork": "Fork",
|
||||
"favourite": "Favourite",
|
||||
"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!",
|
||||
"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_post": "Move Post",
|
||||
"fork_topic": "Fork Topic",
|
||||
"topic_will_be_moved_to": "This topic will be moved to the category",
|
||||
"fork_topic_instruction": "Click the posts you want to fork",
|
||||
"fork_no_pids": "No posts selected!",
|
||||
"fork_success": "Succesfully forked topic!",
|
||||
"reputation": "Reputation",
|
||||
"posts": "Posts",
|
||||
"composer.title_placeholder": "Enter your topic title here...",
|
||||
"composer.write": "Write",
|
||||
"composer.preview": "Preview",
|
||||
"composer.help": "Help",
|
||||
"composer.discard": "Discard",
|
||||
"composer.submit": "Submit",
|
||||
"composer.replying_to": "Replying to",
|
||||
"composer.new_topic": "New Topic",
|
||||
"composer.uploading": "uploading...",
|
||||
"composer.thumb_url_label": "Paste a topic thumbnail URL",
|
||||
"composer.thumb_title": "Add a thumbnail to this topic",
|
||||
"composer.thumb_url_placeholder": "http://example.com/thumb.png",
|
||||
"composer.thumb_file_label": "Or upload a file",
|
||||
"composer.thumb_remove": "Clear fields",
|
||||
"composer.drag_and_drop_images": "Drag and Drop Images Here",
|
||||
"composer.upload_instructions": "Upload images by dragging & dropping them."
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"title": "Unread",
|
||||
"no_unread_topics": "There be no unread topics.",
|
||||
"mark_all_read": "I seen 'em all!",
|
||||
"load_more": "Giv'er more"
|
||||
}
|
||||
@@ -1,55 +0,0 @@
|
||||
{
|
||||
"banned": "Blackmarked",
|
||||
"offline": "Asleep at the wheel",
|
||||
"username": "User Name",
|
||||
"email": "Email",
|
||||
"fullname": "Full Name",
|
||||
"website": "Website",
|
||||
"location": "Location",
|
||||
"age": "Age",
|
||||
"joined": "Joined",
|
||||
"lastonline": "Last Online",
|
||||
"profile": "Profile",
|
||||
"profile_views": "Profile views",
|
||||
"reputation": "Reputation",
|
||||
"posts": "Posts",
|
||||
"favourites": "Favourites",
|
||||
"followers": "Followers",
|
||||
"following": "Following",
|
||||
"signature": "Signature",
|
||||
"gravatar": "Gravatar",
|
||||
"birthday": "Birthday",
|
||||
"chat": "Chat",
|
||||
"follow": "Follow",
|
||||
"unfollow": "Unfollow",
|
||||
"change_picture": "Change Picture",
|
||||
"edit": "Edit",
|
||||
"uploaded_picture": "Uploaded Picture",
|
||||
"upload_new_picture": "Upload New Picture",
|
||||
"current_password": "Current Password",
|
||||
"change_password": "Change Password",
|
||||
"change_password_error": "Invalid Password!",
|
||||
"change_password_error_wrong_current": "Your current password is not correct!",
|
||||
"change_password_error_length": "Password too short!",
|
||||
"change_password_error_match": "Passwords must match!",
|
||||
"change_password_error_privileges": "You are not have the rights to change this password.",
|
||||
"change_password_success": "Your password is updated!",
|
||||
"confirm_password": "Confirm Password",
|
||||
"password": "Password",
|
||||
"upload_picture": "Upload picture",
|
||||
"upload_a_picture": "Upload a picture",
|
||||
"image_spec": "You may only upload PNG, JPG, or GIF files",
|
||||
"max": "max.",
|
||||
"settings": "Settings",
|
||||
"show_email": "Show My Email",
|
||||
"has_no_follower": "This user doesn't have any followers :(",
|
||||
"follows_no_one": "This user isn't following anyone :(",
|
||||
"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.",
|
||||
"topics_per_page": "Topics per Page",
|
||||
"posts_per_page": "Posts per Page",
|
||||
"notification_sounds": "Play a sound when you receive a notification."
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"latest_users": "Land lubbers",
|
||||
"top_posters": "Top mateys",
|
||||
"most_reputation": "Most Reputation",
|
||||
"online": "Online",
|
||||
"search": "Search",
|
||||
"enter_username": "Gimme y'er handle",
|
||||
"load_more": "Load More"
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
{
|
||||
"invalid-data": "Invalid Data",
|
||||
|
||||
"not-logged-in": "You don't seem to be logged in, so you cannot reply.",
|
||||
|
||||
"invalid-cid": "Invalid Category ID",
|
||||
|
||||
"no-category": "Category doesn't exist",
|
||||
"no-topic": "Topic doesn't exist",
|
||||
"no-privileges": "You don't have enough privileges for this action.",
|
||||
|
||||
"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"
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"stats.online": "Online",
|
||||
"stats.users": "Users",
|
||||
"stats.topics": "Topics",
|
||||
"stats.posts": "Posts",
|
||||
"success": "success"
|
||||
}
|
||||
@@ -1,73 +0,0 @@
|
||||
{
|
||||
"home": "Home",
|
||||
"search": "Search",
|
||||
"buttons.close": "Close",
|
||||
"403.title": "Access Denied",
|
||||
"403.message": "You seem to have stumbled upon a page that you do not have access to. Perhaps you should <a href='/login'>try logging in</a>?",
|
||||
"404.title": "Not Found",
|
||||
"404.message": "You seem to have stumbled upon a page that does not exist. Return to the <a href='/'>home page</a>.",
|
||||
"500.title": "Internal error.",
|
||||
"500.message": "Oops! Looks like something went wrong!",
|
||||
|
||||
"register": "Register",
|
||||
"login": "Login",
|
||||
"please_log_in": "Please Log In",
|
||||
"logout": "Logout",
|
||||
|
||||
"posting_restriction_info": "Posting is currently restricted to registered members only, click here to log in.",
|
||||
|
||||
"welcome_back": "Welcome Back ",
|
||||
"you_have_successfully_logged_in": "You have successfully logged in",
|
||||
|
||||
|
||||
"save_changes": "Save Changes",
|
||||
"close": "Close",
|
||||
|
||||
"pagination": "Pagination",
|
||||
|
||||
"header.admin": "Admin",
|
||||
"header.recent": "Recent",
|
||||
"header.unread": "Unread",
|
||||
"header.popular": "Popular",
|
||||
"header.users": "Users",
|
||||
"header.chats": "Chats",
|
||||
"header.notifications": "Notifications",
|
||||
"header.search": "Search",
|
||||
"header.profile": "Profile",
|
||||
|
||||
"notifications.loading": "Loading Notifications",
|
||||
"chats.loading": "Loading Chats",
|
||||
|
||||
"motd.welcome": "Welcome to NodeBB, the discussion platform of the future.",
|
||||
|
||||
"previouspage": "Previous Page",
|
||||
"nextpage": "Next Page",
|
||||
|
||||
"alert.success": "Success",
|
||||
"alert.error": "Error",
|
||||
|
||||
"alert.banned": "Banned",
|
||||
"alert.banned.message": "You are banned you will be logged out!",
|
||||
|
||||
"alert.unfollow": "You are no longer following %1!",
|
||||
"alert.follow": "You are now following %1!",
|
||||
|
||||
"posts": "Posts",
|
||||
"views": "Views",
|
||||
|
||||
"posted": "posted",
|
||||
"in": "in",
|
||||
|
||||
"norecentposts": "No Recent Posts",
|
||||
"norecenttopics": "No Recent Topics",
|
||||
"recentposts": "Recent Posts",
|
||||
"recentips": "Recently Logged In IPs",
|
||||
|
||||
"online": "Online",
|
||||
"away": "Away",
|
||||
"dnd": "Do not Disturb",
|
||||
"invisible": "Invisible",
|
||||
"offline": "Offline",
|
||||
|
||||
"privacy": "Privacy"
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"name": "English (United Kingdom/Canada)",
|
||||
"code": "en_GB",
|
||||
"dir": "ltr"
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
{
|
||||
"home": "Home",
|
||||
"unread": "Unread Topics",
|
||||
"popular": "Popular Topics",
|
||||
"recent": "Recent Topics",
|
||||
"users": "Registered Users",
|
||||
"notifications": "Notifications",
|
||||
"user.edit": "Editing \"%1\"",
|
||||
"user.following": "People %1 Follows",
|
||||
"user.followers": "People who Follow %1",
|
||||
"user.posts": "Posts made by %1",
|
||||
"user.topics": "Topics created by %1",
|
||||
"user.favourites": "%1's Favourite Posts",
|
||||
"user.settings": "User Settings"
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"title": "Recent",
|
||||
"day": "Day",
|
||||
"week": "Week",
|
||||
"month": "Month",
|
||||
"no_recent_topics": "There are no recent topics."
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"topic-post": "You have successfully posted."
|
||||
|
||||
}
|
||||
@@ -1,110 +0,0 @@
|
||||
{
|
||||
"topic": "Topic",
|
||||
"topics": "Topics",
|
||||
"topic_id": "Topic ID",
|
||||
"topic_id_placeholder": "Enter topic ID",
|
||||
|
||||
"no_topics_found": "No topics found!",
|
||||
"no_posts_found": "No posts found!",
|
||||
|
||||
"profile": "Profile",
|
||||
"posted_by": "Posted by",
|
||||
"chat": "Chat",
|
||||
"notify_me": "Be notified of new replies in this topic",
|
||||
"quote": "Quote",
|
||||
"reply": "Reply",
|
||||
"edit": "Edit",
|
||||
"delete": "Delete",
|
||||
"restore": "Restore",
|
||||
"move": "Move",
|
||||
"fork": "Fork",
|
||||
"banned": "banned",
|
||||
"link": "Link",
|
||||
"share": "Share",
|
||||
"tools": "Tools",
|
||||
"flag": "Flag",
|
||||
|
||||
"bookmark_instructions" : "Click here to return to your last position or close to discard.",
|
||||
|
||||
"flag_title": "Flag this post for moderation",
|
||||
"flag_confirm": "Are you sure you want to flag this post?",
|
||||
"flag_success": "This post has been flagged for moderation.",
|
||||
"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.",
|
||||
"not_following_topic.title": "Not Following 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.",
|
||||
|
||||
"markAsUnreadForAll.success" : "Topic marked as unread for all.",
|
||||
|
||||
"watch": "Watch",
|
||||
"watch.title": "Be notified of new replies in this topic",
|
||||
"share_this_post": "Share this Post",
|
||||
|
||||
"thread_tools.title": "Thread Tools",
|
||||
"thread_tools.markAsUnreadForAll": "Mark Unread",
|
||||
"thread_tools.pin": "Pin Topic",
|
||||
"thread_tools.unpin": "Unpin Topic",
|
||||
"thread_tools.lock": "Lock Topic",
|
||||
"thread_tools.unlock": "Unlock Topic",
|
||||
"thread_tools.move": "Move Topic",
|
||||
"thread_tools.fork": "Fork Topic",
|
||||
"thread_tools.delete": "Delete Topic",
|
||||
"thread_tools.delete_confirm": "Are you sure you want to delete this thread?",
|
||||
"thread_tools.restore": "Restore Topic",
|
||||
"thread_tools.restore_confirm": "Are you sure you want to restore this thread?",
|
||||
|
||||
"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_delete_error": "Could not delete this post!",
|
||||
"post_restore_error": "Could not restore this post!",
|
||||
|
||||
"load_categories": "Loading Categories",
|
||||
"disabled_categories_note": "Disabled Categories are greyed out",
|
||||
"confirm_move": "Move",
|
||||
"confirm_fork": "Fork",
|
||||
|
||||
"favourite": "Favourite",
|
||||
"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!",
|
||||
|
||||
"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_post": "Move Post",
|
||||
"fork_topic": "Fork Topic",
|
||||
"topic_will_be_moved_to": "This topic will be moved to the category",
|
||||
"fork_topic_instruction": "Click the posts you want to fork",
|
||||
"fork_no_pids": "No posts selected!",
|
||||
"fork_success": "Succesfully forked topic!",
|
||||
|
||||
"reputation": "Reputation",
|
||||
"posts": "Posts",
|
||||
|
||||
"composer.title_placeholder": "Enter your topic title here...",
|
||||
"composer.write": "Write",
|
||||
"composer.preview": "Preview",
|
||||
"composer.help": "Help",
|
||||
"composer.discard": "Discard",
|
||||
"composer.submit": "Submit",
|
||||
"composer.replying_to": "Replying to",
|
||||
"composer.new_topic": "New Topic",
|
||||
|
||||
"composer.uploading": "uploading...",
|
||||
"composer.thumb_url_label": "Paste a topic thumbnail URL",
|
||||
"composer.thumb_title": "Add a thumbnail to this topic",
|
||||
"composer.thumb_url_placeholder": "http://example.com/thumb.png",
|
||||
"composer.thumb_file_label": "Or upload a file",
|
||||
"composer.thumb_remove": "Clear fields",
|
||||
"composer.drag_and_drop_images": "Drag and Drop Images Here",
|
||||
"composer.upload_instructions": "Upload images by dragging & dropping them."
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"title": "Unread",
|
||||
"no_unread_topics": "There are no unread topics.",
|
||||
"load_more": "Load More",
|
||||
"mark_as_read": "Mark as Read",
|
||||
"selected": "Selected",
|
||||
"all": "All",
|
||||
"topics_marked_as_read.success": "Topics marked as read!"
|
||||
}
|
||||
@@ -1,62 +0,0 @@
|
||||
{
|
||||
"banned": "Banned",
|
||||
"offline": "Offline",
|
||||
"username": "User Name",
|
||||
"email": "Email",
|
||||
"fullname": "Full Name",
|
||||
"website": "Website",
|
||||
"location": "Location",
|
||||
"age": "Age",
|
||||
"joined": "Joined",
|
||||
"lastonline": "Last Online",
|
||||
"profile": "Profile",
|
||||
"profile_views": "Profile views",
|
||||
"reputation": "Reputation",
|
||||
"posts": "Posts",
|
||||
"favourites":"Favourites",
|
||||
"followers": "Followers",
|
||||
"following": "Following",
|
||||
"signature": "Signature",
|
||||
"gravatar": "Gravatar",
|
||||
"birthday": "Birthday",
|
||||
"chat": "Chat",
|
||||
"follow": "Follow",
|
||||
"unfollow": "Unfollow",
|
||||
|
||||
"change_picture": "Change Picture",
|
||||
"edit": "Edit",
|
||||
"uploaded_picture": "Uploaded Picture",
|
||||
"upload_new_picture": "Upload New Picture",
|
||||
"current_password": "Current Password",
|
||||
"change_password": "Change Password",
|
||||
"change_password_error": "Invalid Password!",
|
||||
"change_password_error_wrong_current": "Your current password is not correct!",
|
||||
"change_password_error_length": "Password too short!",
|
||||
"change_password_error_match": "Passwords must match!",
|
||||
"change_password_error_privileges": "You are not have the rights to change this password.",
|
||||
"change_password_success": "Your password is updated!",
|
||||
"confirm_password": "Confirm Password",
|
||||
"password": "Password",
|
||||
|
||||
"upload_picture": "Upload picture",
|
||||
"upload_a_picture": "Upload a picture",
|
||||
"image_spec": "You may only upload PNG, JPG, or GIF files",
|
||||
"max": "max.",
|
||||
|
||||
"settings": "Settings",
|
||||
"show_email": "Show My Email",
|
||||
|
||||
"has_no_follower": "This user doesn't have any followers :(",
|
||||
"follows_no_one": "This user isn't following anyone :(",
|
||||
"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.",
|
||||
"topics_per_page": "Topics per Page",
|
||||
"posts_per_page": "Posts per Page",
|
||||
|
||||
"notification_sounds" : "Play a sound when you receive a notification."
|
||||
}
|
||||
@@ -1,12 +1,14 @@
|
||||
{
|
||||
"new_topic_button": "Nuevo Tema",
|
||||
"no_topics": "<strong>No hay temas en esta categoría.</strong><br />Por que no te animas y publicas uno?",
|
||||
"posts": "respuestas",
|
||||
"views": "visitas",
|
||||
"posted": "posted",
|
||||
"browsing": "viendo ahora",
|
||||
"no_replies": "Nadie ha respondido aún",
|
||||
"replied": "respondió",
|
||||
"last_edited_by": "ultima edición por",
|
||||
"share_this_category": "Compartir esta categoría"
|
||||
"new_topic_button": "Nuevo Tema",
|
||||
"no_topics": "<strong>No hay temas en esta categoría.</strong><br />Por que no te animas y publicas uno?",
|
||||
"sidebar.recent_replies": "Respuestas recientes",
|
||||
"sidebar.active_participants": "Miembros más activos",
|
||||
"sidebar.moderators": "Moderadores",
|
||||
"posts": "respuestas",
|
||||
"views": "visitas",
|
||||
"posted": "posted",
|
||||
"browsing": "viendo ahora",
|
||||
"no_replies": "Nadie ha respondido aún",
|
||||
"replied": "respondio",
|
||||
"last_edited_by": "ultima edición por"
|
||||
}
|
||||
@@ -1,7 +1,10 @@
|
||||
{
|
||||
"stats.online": "Online",
|
||||
"stats.users": "Gente",
|
||||
"stats.topics": "Temas",
|
||||
"stats.posts": "Posts",
|
||||
"success": "éxito!"
|
||||
"chat.chatting_with": "Chatear con <span id='chat-with-name'></span>",
|
||||
"chat.placeholder": "ingresa tu mensaje aqui, y presiona enter para enviar",
|
||||
"chat.send": "Enviar",
|
||||
"stats.online": "Online",
|
||||
"stats.users": "Usuarios",
|
||||
"stats.topics": "Temas",
|
||||
"stats.posts": "Posts",
|
||||
"success": "exito!"
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user