mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-12-17 05:50:25 +01:00
Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
43b90c5679 | ||
|
|
58b8c32fe9 | ||
|
|
1b88a6a523 | ||
|
|
8ecd90729e | ||
|
|
a5b8a656e9 | ||
|
|
2cae7995e7 | ||
|
|
19ca796915 |
@@ -1,8 +0,0 @@
|
||||
# Save as .codeclimate.yml (note leading .) in project root directory
|
||||
languages:
|
||||
Ruby: true
|
||||
JavaScript: true
|
||||
PHP: true
|
||||
exclude_paths:
|
||||
- "public/vendor/*"
|
||||
- "tests/*"
|
||||
13
.gitattributes
vendored
13
.gitattributes
vendored
@@ -1,13 +0,0 @@
|
||||
# These files are text and should be normalized (convert crlf => lf)
|
||||
*.json text
|
||||
*.css text
|
||||
*.less text
|
||||
*.tpl text
|
||||
*.html text
|
||||
*.js text
|
||||
*.md text
|
||||
|
||||
# Images should be treated as binary
|
||||
# (binary is a macro for -text -diff)
|
||||
*.png binary
|
||||
*.jpg binary
|
||||
20
.gitignore
vendored
20
.gitignore
vendored
@@ -8,6 +8,7 @@ public/css/*.css
|
||||
*.sublime-project
|
||||
*.sublime-workspace
|
||||
.project
|
||||
.idea
|
||||
*.swp
|
||||
Vagrantfile
|
||||
.vagrant
|
||||
@@ -22,29 +23,12 @@ pidfile
|
||||
|
||||
# templates
|
||||
/public/templates
|
||||
/public/sounds
|
||||
|
||||
/public/uploads
|
||||
/public/sounds
|
||||
|
||||
# compiled files
|
||||
/public/stylesheet.css
|
||||
/public/admin.css
|
||||
/public/nodebb.min.js
|
||||
/public/nodebb.min.js.map
|
||||
/public/acp.min.js
|
||||
/public/acp.min.js.map
|
||||
|
||||
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio
|
||||
*.iml
|
||||
|
||||
## Directory-based project format:
|
||||
.idea/
|
||||
.vscode/
|
||||
|
||||
## File-based project format:
|
||||
*.ipr
|
||||
*.iws
|
||||
|
||||
## Transifex
|
||||
tx.exe
|
||||
.transifexrc
|
||||
@@ -24,7 +24,7 @@
|
||||
// "single" : require single quotes
|
||||
// "double" : require double quotes
|
||||
"undef" : true, // true: Require all non-global variables to be declared (prevents global leaks)
|
||||
"unused" : true, // true: Require all defined variables be used
|
||||
"unused" : false, // true: Require all defined variables be used TODO: Set this to true, update codebase.
|
||||
"strict" : true, // true: Requires all functions run in ES5 Strict Mode
|
||||
"trailing" : false, // true: Prohibit trailing whitespaces
|
||||
"maxparams" : false, // {int} Max number of formal params allowed per function
|
||||
|
||||
11
.travis.yml
11
.travis.yml
@@ -10,18 +10,7 @@ before_install:
|
||||
before_script:
|
||||
- "until nc -z localhost 27017; do echo Waiting for MongoDB; sleep 1; done"
|
||||
language: node_js
|
||||
env:
|
||||
- CXX=g++-4.8
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
- g++-4.8
|
||||
node_js:
|
||||
- "4.2"
|
||||
- "4.1"
|
||||
- "4.0"
|
||||
- "0.11"
|
||||
- "0.10"
|
||||
branches:
|
||||
|
||||
120
.tx/config
120
.tx/config
@@ -9,7 +9,6 @@ trans.ar = public/language/ar/category.json
|
||||
trans.bn = public/language/bn/category.json
|
||||
trans.bg = public/language/bg/category.json
|
||||
trans.cs = public/language/cs/category.json
|
||||
trans.da = public/language/da/category.json
|
||||
trans.de = public/language/de/category.json
|
||||
trans.el = public/language/el/category.json
|
||||
trans.en_US = public/language/en_US/category.json
|
||||
@@ -19,7 +18,6 @@ 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.gl = public/language/gl/category.json
|
||||
trans.he = public/language/he/category.json
|
||||
trans.hu = public/language/hu/category.json
|
||||
trans.id = public/language/id/category.json
|
||||
@@ -34,11 +32,8 @@ trans.pl = public/language/pl/category.json
|
||||
trans.pt_BR = public/language/pt_BR/category.json
|
||||
trans.ru = public/language/ru/category.json
|
||||
trans.ro = public/language/ro/category.json
|
||||
trans.rw = public/language/rw/category.json
|
||||
trans.sc = public/language/sc/category.json
|
||||
trans.sk = public/language/sk/category.json
|
||||
trans.sl = public/language/sl/category.json
|
||||
trans.sr = public/language/sr/category.json
|
||||
trans.sv = public/language/sv/category.json
|
||||
trans.th = public/language/th/category.json
|
||||
trans.tr = public/language/tr/category.json
|
||||
@@ -55,7 +50,6 @@ trans.ar = public/language/ar/login.json
|
||||
trans.bn = public/language/bn/login.json
|
||||
trans.bg = public/language/bg/login.json
|
||||
trans.cs = public/language/cs/login.json
|
||||
trans.da = public/language/da/login.json
|
||||
trans.de = public/language/de/login.json
|
||||
trans.el = public/language/el/login.json
|
||||
trans.en_US = public/language/en_US/login.json
|
||||
@@ -65,7 +59,6 @@ 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.gl = public/language/gl/login.json
|
||||
trans.he = public/language/he/login.json
|
||||
trans.hu = public/language/hu/login.json
|
||||
trans.id = public/language/id/login.json
|
||||
@@ -80,11 +73,8 @@ trans.pl = public/language/pl/login.json
|
||||
trans.pt_BR = public/language/pt_BR/login.json
|
||||
trans.ru = public/language/ru/login.json
|
||||
trans.ro = public/language/ro/login.json
|
||||
trans.rw = public/language/rw/login.json
|
||||
trans.sc = public/language/sc/login.json
|
||||
trans.sk = public/language/sk/login.json
|
||||
trans.sl = public/language/sl/login.json
|
||||
trans.sr = public/language/sr/login.json
|
||||
trans.sv = public/language/sv/login.json
|
||||
trans.th = public/language/th/login.json
|
||||
trans.tr = public/language/tr/login.json
|
||||
@@ -94,14 +84,12 @@ trans.zh_TW = public/language/zh_TW/login.json
|
||||
type = KEYVALUEJSON
|
||||
|
||||
[nodebb.recent]
|
||||
file_filter = public/language/<lang>/recent.json
|
||||
source_file = public/language/en_GB/recent.json
|
||||
source_lang = en_GB
|
||||
trans.ar = public/language/ar/recent.json
|
||||
trans.bn = public/language/bn/recent.json
|
||||
trans.bg = public/language/bg/recent.json
|
||||
trans.cs = public/language/cs/recent.json
|
||||
trans.da = public/language/da/recent.json
|
||||
trans.de = public/language/de/recent.json
|
||||
trans.el = public/language/el/recent.json
|
||||
trans.en_US = public/language/en_US/recent.json
|
||||
@@ -111,7 +99,6 @@ 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.gl = public/language/gl/recent.json
|
||||
trans.he = public/language/he/recent.json
|
||||
trans.hu = public/language/hu/recent.json
|
||||
trans.id = public/language/id/recent.json
|
||||
@@ -126,11 +113,8 @@ trans.pl = public/language/pl/recent.json
|
||||
trans.pt_BR = public/language/pt_BR/recent.json
|
||||
trans.ru = public/language/ru/recent.json
|
||||
trans.ro = public/language/ro/recent.json
|
||||
trans.rw = public/language/rw/recent.json
|
||||
trans.sc = public/language/sc/recent.json
|
||||
trans.sk = public/language/sk/recent.json
|
||||
trans.sl = public/language/sl/recent.json
|
||||
trans.sr = public/language/sr/recent.json
|
||||
trans.sv = public/language/sv/recent.json
|
||||
trans.th = public/language/th/recent.json
|
||||
trans.tr = public/language/tr/recent.json
|
||||
@@ -140,14 +124,12 @@ trans.zh_TW = public/language/zh_TW/recent.json
|
||||
type = KEYVALUEJSON
|
||||
|
||||
[nodebb.unread]
|
||||
file_filter = public/language/<lang>/unread.json
|
||||
source_file = public/language/en_GB/unread.json
|
||||
source_lang = en_GB
|
||||
trans.ar = public/language/ar/unread.json
|
||||
trans.bn = public/language/bn/unread.json
|
||||
trans.bg = public/language/bg/unread.json
|
||||
trans.cs = public/language/cs/unread.json
|
||||
trans.da = public/language/da/unread.json
|
||||
trans.de = public/language/de/unread.json
|
||||
trans.el = public/language/el/unread.json
|
||||
trans.en_US = public/language/en_US/unread.json
|
||||
@@ -157,7 +139,6 @@ 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.gl = public/language/gl/unread.json
|
||||
trans.he = public/language/he/unread.json
|
||||
trans.hu = public/language/hu/unread.json
|
||||
trans.id = public/language/id/unread.json
|
||||
@@ -172,11 +153,8 @@ trans.pl = public/language/pl/unread.json
|
||||
trans.pt_BR = public/language/pt_BR/unread.json
|
||||
trans.ru = public/language/ru/unread.json
|
||||
trans.ro = public/language/ro/unread.json
|
||||
trans.rw = public/language/rw/unread.json
|
||||
trans.sc = public/language/sc/unread.json
|
||||
trans.sk = public/language/sk/unread.json
|
||||
trans.sl = public/language/sl/unread.json
|
||||
trans.sr = public/language/sr/unread.json
|
||||
trans.sv = public/language/sv/unread.json
|
||||
trans.th = public/language/th/unread.json
|
||||
trans.tr = public/language/tr/unread.json
|
||||
@@ -186,14 +164,12 @@ trans.zh_TW = public/language/zh_TW/unread.json
|
||||
type = KEYVALUEJSON
|
||||
|
||||
[nodebb.modules]
|
||||
file_filter = public/language/<lang>/modules.json
|
||||
source_file = public/language/en_GB/modules.json
|
||||
source_lang = en_GB
|
||||
trans.ar = public/language/ar/modules.json
|
||||
trans.bn = public/language/bn/modules.json
|
||||
trans.bg = public/language/bg/modules.json
|
||||
trans.cs = public/language/cs/modules.json
|
||||
trans.da = public/language/da/modules.json
|
||||
trans.de = public/language/de/modules.json
|
||||
trans.el = public/language/el/modules.json
|
||||
trans.en_US = public/language/en_US/modules.json
|
||||
@@ -203,7 +179,6 @@ 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.gl = public/language/gl/modules.json
|
||||
trans.he = public/language/he/modules.json
|
||||
trans.hu = public/language/hu/modules.json
|
||||
trans.id = public/language/id/modules.json
|
||||
@@ -218,11 +193,8 @@ trans.pl = public/language/pl/modules.json
|
||||
trans.pt_BR = public/language/pt_BR/modules.json
|
||||
trans.ru = public/language/ru/modules.json
|
||||
trans.ro = public/language/ro/modules.json
|
||||
trans.rw = public/language/rw/modules.json
|
||||
trans.sc = public/language/sc/modules.json
|
||||
trans.sk = public/language/sk/modules.json
|
||||
trans.sl = public/language/sl/modules.json
|
||||
trans.sr = public/language/sr/modules.json
|
||||
trans.sv = public/language/sv/modules.json
|
||||
trans.th = public/language/th/modules.json
|
||||
trans.tr = public/language/tr/modules.json
|
||||
@@ -232,14 +204,12 @@ trans.zh_TW = public/language/zh_TW/modules.json
|
||||
type = KEYVALUEJSON
|
||||
|
||||
[nodebb.register]
|
||||
file_filter = public/language/<lang>/register.json
|
||||
source_file = public/language/en_GB/register.json
|
||||
source_lang = en_GB
|
||||
trans.ar = public/language/ar/register.json
|
||||
trans.bn = public/language/bn/register.json
|
||||
trans.bg = public/language/bg/register.json
|
||||
trans.cs = public/language/cs/register.json
|
||||
trans.da = public/language/da/register.json
|
||||
trans.de = public/language/de/register.json
|
||||
trans.el = public/language/el/register.json
|
||||
trans.en_US = public/language/en_US/register.json
|
||||
@@ -249,7 +219,6 @@ 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.gl = public/language/gl/register.json
|
||||
trans.he = public/language/he/register.json
|
||||
trans.hu = public/language/hu/register.json
|
||||
trans.id = public/language/id/register.json
|
||||
@@ -264,11 +233,8 @@ trans.pl = public/language/pl/register.json
|
||||
trans.pt_BR = public/language/pt_BR/register.json
|
||||
trans.ru = public/language/ru/register.json
|
||||
trans.ro = public/language/ro/register.json
|
||||
trans.rw = public/language/rw/register.json
|
||||
trans.sc = public/language/sc/register.json
|
||||
trans.sk = public/language/sk/register.json
|
||||
trans.sl = public/language/sl/register.json
|
||||
trans.sr = public/language/sr/register.json
|
||||
trans.sv = public/language/sv/register.json
|
||||
trans.th = public/language/th/register.json
|
||||
trans.tr = public/language/tr/register.json
|
||||
@@ -278,14 +244,12 @@ trans.zh_TW = public/language/zh_TW/register.json
|
||||
type = KEYVALUEJSON
|
||||
|
||||
[nodebb.user]
|
||||
file_filter = public/language/<lang>/user.json
|
||||
source_file = public/language/en_GB/user.json
|
||||
source_lang = en_GB
|
||||
trans.ar = public/language/ar/user.json
|
||||
trans.bn = public/language/bn/user.json
|
||||
trans.bg = public/language/bg/user.json
|
||||
trans.cs = public/language/cs/user.json
|
||||
trans.da = public/language/da/user.json
|
||||
trans.de = public/language/de/user.json
|
||||
trans.el = public/language/el/user.json
|
||||
trans.en_US = public/language/en_US/user.json
|
||||
@@ -295,7 +259,6 @@ 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.gl = public/language/gl/user.json
|
||||
trans.he = public/language/he/user.json
|
||||
trans.hu = public/language/hu/user.json
|
||||
trans.id = public/language/id/user.json
|
||||
@@ -310,11 +273,8 @@ trans.pl = public/language/pl/user.json
|
||||
trans.pt_BR = public/language/pt_BR/user.json
|
||||
trans.ru = public/language/ru/user.json
|
||||
trans.ro = public/language/ro/user.json
|
||||
trans.rw = public/language/rw/user.json
|
||||
trans.sc = public/language/sc/user.json
|
||||
trans.sk = public/language/sk/user.json
|
||||
trans.sl = public/language/sl/user.json
|
||||
trans.sr = public/language/sr/user.json
|
||||
trans.sv = public/language/sv/user.json
|
||||
trans.th = public/language/th/user.json
|
||||
trans.tr = public/language/tr/user.json
|
||||
@@ -324,14 +284,12 @@ trans.zh_TW = public/language/zh_TW/user.json
|
||||
type = KEYVALUEJSON
|
||||
|
||||
[nodebb.global]
|
||||
file_filter = public/language/<lang>/global.json
|
||||
source_file = public/language/en_GB/global.json
|
||||
source_lang = en_GB
|
||||
trans.ar = public/language/ar/global.json
|
||||
trans.bn = public/language/bn/global.json
|
||||
trans.bg = public/language/bg/global.json
|
||||
trans.cs = public/language/cs/global.json
|
||||
trans.da = public/language/da/global.json
|
||||
trans.de = public/language/de/global.json
|
||||
trans.el = public/language/el/global.json
|
||||
trans.en_US = public/language/en_US/global.json
|
||||
@@ -341,7 +299,6 @@ 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.gl = public/language/gl/global.json
|
||||
trans.he = public/language/he/global.json
|
||||
trans.hu = public/language/hu/global.json
|
||||
trans.id = public/language/id/global.json
|
||||
@@ -356,11 +313,8 @@ trans.pl = public/language/pl/global.json
|
||||
trans.pt_BR = public/language/pt_BR/global.json
|
||||
trans.ru = public/language/ru/global.json
|
||||
trans.ro = public/language/ro/global.json
|
||||
trans.rw = public/language/rw/global.json
|
||||
trans.sc = public/language/sc/global.json
|
||||
trans.sk = public/language/sk/global.json
|
||||
trans.sl = public/language/sl/global.json
|
||||
trans.sr = public/language/sr/global.json
|
||||
trans.sv = public/language/sv/global.json
|
||||
trans.th = public/language/th/global.json
|
||||
trans.tr = public/language/tr/global.json
|
||||
@@ -370,14 +324,12 @@ trans.zh_TW = public/language/zh_TW/global.json
|
||||
type = KEYVALUEJSON
|
||||
|
||||
[nodebb.notifications]
|
||||
file_filter = public/language/<lang>/notifications.json
|
||||
source_file = public/language/en_GB/notifications.json
|
||||
source_lang = en_GB
|
||||
trans.ar = public/language/ar/notifications.json
|
||||
trans.bn = public/language/bn/notifications.json
|
||||
trans.bg = public/language/bg/notifications.json
|
||||
trans.cs = public/language/cs/notifications.json
|
||||
trans.da = public/language/da/notifications.json
|
||||
trans.de = public/language/de/notifications.json
|
||||
trans.el = public/language/el/notifications.json
|
||||
trans.en_US = public/language/en_US/notifications.json
|
||||
@@ -387,7 +339,6 @@ 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.gl = public/language/gl/notifications.json
|
||||
trans.he = public/language/he/notifications.json
|
||||
trans.hu = public/language/hu/notifications.json
|
||||
trans.id = public/language/id/notifications.json
|
||||
@@ -402,11 +353,8 @@ trans.pl = public/language/pl/notifications.json
|
||||
trans.pt_BR = public/language/pt_BR/notifications.json
|
||||
trans.ru = public/language/ru/notifications.json
|
||||
trans.ro = public/language/ro/notifications.json
|
||||
trans.rw = public/language/rw/notifications.json
|
||||
trans.sc = public/language/sc/notifications.json
|
||||
trans.sk = public/language/sk/notifications.json
|
||||
trans.sl = public/language/sl/notifications.json
|
||||
trans.sr = public/language/sr/notifications.json
|
||||
trans.sv = public/language/sv/notifications.json
|
||||
trans.th = public/language/th/notifications.json
|
||||
trans.tr = public/language/tr/notifications.json
|
||||
@@ -416,14 +364,12 @@ trans.zh_TW = public/language/zh_TW/notifications.json
|
||||
type = KEYVALUEJSON
|
||||
|
||||
[nodebb.reset_password]
|
||||
file_filter = public/language/<lang>/reset_password.json
|
||||
source_file = public/language/en_GB/reset_password.json
|
||||
source_lang = en_GB
|
||||
trans.ar = public/language/ar/reset_password.json
|
||||
trans.bn = public/language/bn/reset_password.json
|
||||
trans.bg = public/language/bg/reset_password.json
|
||||
trans.cs = public/language/cs/reset_password.json
|
||||
trans.da = public/language/da/reset_password.json
|
||||
trans.de = public/language/de/reset_password.json
|
||||
trans.el = public/language/el/reset_password.json
|
||||
trans.en_US = public/language/en_US/reset_password.json
|
||||
@@ -433,7 +379,6 @@ 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.gl = public/language/gl/reset_password.json
|
||||
trans.he = public/language/he/reset_password.json
|
||||
trans.hu = public/language/hu/reset_password.json
|
||||
trans.id = public/language/id/reset_password.json
|
||||
@@ -448,11 +393,8 @@ 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.ro = public/language/ro/reset_password.json
|
||||
trans.rw = public/language/rw/reset_password.json
|
||||
trans.sc = public/language/sc/reset_password.json
|
||||
trans.sk = public/language/sk/reset_password.json
|
||||
trans.sl = public/language/sl/reset_password.json
|
||||
trans.sr = public/language/sr/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
|
||||
@@ -462,14 +404,12 @@ trans.zh_TW = public/language/zh_TW/reset_password.json
|
||||
type = KEYVALUEJSON
|
||||
|
||||
[nodebb.users]
|
||||
file_filter = public/language/<lang>/users.json
|
||||
source_file = public/language/en_GB/users.json
|
||||
source_lang = en_GB
|
||||
trans.ar = public/language/ar/users.json
|
||||
trans.bn = public/language/bn/users.json
|
||||
trans.bg = public/language/bg/users.json
|
||||
trans.cs = public/language/cs/users.json
|
||||
trans.da = public/language/da/users.json
|
||||
trans.de = public/language/de/users.json
|
||||
trans.el = public/language/el/users.json
|
||||
trans.en_US = public/language/en_US/users.json
|
||||
@@ -479,7 +419,6 @@ 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.gl = public/language/gl/users.json
|
||||
trans.he = public/language/he/users.json
|
||||
trans.hu = public/language/hu/users.json
|
||||
trans.id = public/language/id/users.json
|
||||
@@ -494,11 +433,8 @@ trans.pl = public/language/pl/users.json
|
||||
trans.pt_BR = public/language/pt_BR/users.json
|
||||
trans.ru = public/language/ru/users.json
|
||||
trans.ro = public/language/ro/users.json
|
||||
trans.rw = public/language/rw/users.json
|
||||
trans.sc = public/language/sc/users.json
|
||||
trans.sk = public/language/sk/users.json
|
||||
trans.sl = public/language/sl/users.json
|
||||
trans.sr = public/language/sr/users.json
|
||||
trans.sv = public/language/sv/users.json
|
||||
trans.th = public/language/th/users.json
|
||||
trans.tr = public/language/tr/users.json
|
||||
@@ -507,15 +443,13 @@ trans.zh_CN = public/language/zh_CN/users.json
|
||||
trans.zh_TW = public/language/zh_TW/users.json
|
||||
type = KEYVALUEJSON
|
||||
|
||||
[nodebb.language-1]
|
||||
file_filter = public/language/<lang>/language.json
|
||||
[nodebb.language]
|
||||
source_file = public/language/en_GB/language.json
|
||||
source_lang = en_GB
|
||||
trans.ar = public/language/ar/language.json
|
||||
trans.bn = public/language/bn/language.json
|
||||
trans.bg = public/language/bg/language.json
|
||||
trans.cs = public/language/cs/language.json
|
||||
trans.da = public/language/da/language.json
|
||||
trans.de = public/language/de/language.json
|
||||
trans.el = public/language/el/language.json
|
||||
trans.en_US = public/language/en_US/language.json
|
||||
@@ -525,7 +459,6 @@ 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.gl = public/language/gl/language.json
|
||||
trans.he = public/language/he/language.json
|
||||
trans.hu = public/language/hu/language.json
|
||||
trans.id = public/language/id/language.json
|
||||
@@ -540,11 +473,8 @@ trans.pl = public/language/pl/language.json
|
||||
trans.pt_BR = public/language/pt_BR/language.json
|
||||
trans.ru = public/language/ru/language.json
|
||||
trans.ro = public/language/ro/language.json
|
||||
trans.rw = public/language/rw/language.json
|
||||
trans.sc = public/language/sc/language.json
|
||||
trans.sk = public/language/sk/language.json
|
||||
trans.sl = public/language/sl/language.json
|
||||
trans.sr = public/language/sr/language.json
|
||||
trans.sv = public/language/sv/language.json
|
||||
trans.th = public/language/th/language.json
|
||||
trans.tr = public/language/tr/language.json
|
||||
@@ -554,14 +484,12 @@ trans.zh_TW = public/language/zh_TW/language.json
|
||||
type = KEYVALUEJSON
|
||||
|
||||
[nodebb.pages]
|
||||
file_filter = public/language/<lang>/pages.json
|
||||
source_file = public/language/en_GB/pages.json
|
||||
source_lang = en_GB
|
||||
trans.ar = public/language/ar/pages.json
|
||||
trans.bn = public/language/bn/pages.json
|
||||
trans.bg = public/language/bg/pages.json
|
||||
trans.cs = public/language/cs/pages.json
|
||||
trans.da = public/language/da/pages.json
|
||||
trans.de = public/language/de/pages.json
|
||||
trans.el = public/language/el/pages.json
|
||||
trans.en_US = public/language/en_US/pages.json
|
||||
@@ -571,7 +499,6 @@ 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.gl = public/language/gl/pages.json
|
||||
trans.he = public/language/he/pages.json
|
||||
trans.hu = public/language/hu/pages.json
|
||||
trans.id = public/language/id/pages.json
|
||||
@@ -586,11 +513,8 @@ trans.pl = public/language/pl/pages.json
|
||||
trans.pt_BR = public/language/pt_BR/pages.json
|
||||
trans.ru = public/language/ru/pages.json
|
||||
trans.ro = public/language/ro/pages.json
|
||||
trans.rw = public/language/rw/pages.json
|
||||
trans.sc = public/language/sc/pages.json
|
||||
trans.sk = public/language/sk/pages.json
|
||||
trans.sl = public/language/sl/pages.json
|
||||
trans.sr = public/language/sr/pages.json
|
||||
trans.sv = public/language/sv/pages.json
|
||||
trans.th = public/language/th/pages.json
|
||||
trans.tr = public/language/tr/pages.json
|
||||
@@ -600,14 +524,12 @@ trans.zh_TW = public/language/zh_TW/pages.json
|
||||
type = KEYVALUEJSON
|
||||
|
||||
[nodebb.topic]
|
||||
file_filter = public/language/<lang>/topic.json
|
||||
source_file = public/language/en_GB/topic.json
|
||||
source_lang = en_GB
|
||||
trans.ar = public/language/ar/topic.json
|
||||
trans.bn = public/language/bn/topic.json
|
||||
trans.bg = public/language/bg/topic.json
|
||||
trans.cs = public/language/cs/topic.json
|
||||
trans.da = public/language/da/topic.json
|
||||
trans.de = public/language/de/topic.json
|
||||
trans.el = public/language/el/topic.json
|
||||
trans.en_US = public/language/en_US/topic.json
|
||||
@@ -617,7 +539,6 @@ 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.gl = public/language/gl/topic.json
|
||||
trans.he = public/language/he/topic.json
|
||||
trans.hu = public/language/hu/topic.json
|
||||
trans.id = public/language/id/topic.json
|
||||
@@ -632,11 +553,8 @@ trans.pl = public/language/pl/topic.json
|
||||
trans.pt_BR = public/language/pt_BR/topic.json
|
||||
trans.ru = public/language/ru/topic.json
|
||||
trans.ro = public/language/ro/topic.json
|
||||
trans.rw = public/language/rw/topic.json
|
||||
trans.sc = public/language/sc/topic.json
|
||||
trans.sk = public/language/sk/topic.json
|
||||
trans.sl = public/language/sl/topic.json
|
||||
trans.sr = public/language/sr/topic.json
|
||||
trans.sv = public/language/sv/topic.json
|
||||
trans.th = public/language/th/topic.json
|
||||
trans.tr = public/language/tr/topic.json
|
||||
@@ -646,14 +564,12 @@ trans.zh_TW = public/language/zh_TW/topic.json
|
||||
type = KEYVALUEJSON
|
||||
|
||||
[nodebb.success]
|
||||
file_filter = public/language/<lang>/success.json
|
||||
source_file = public/language/en_GB/success.json
|
||||
source_lang = en_GB
|
||||
trans.ar = public/language/ar/success.json
|
||||
trans.bn = public/language/bn/success.json
|
||||
trans.bg = public/language/bg/success.json
|
||||
trans.cs = public/language/cs/success.json
|
||||
trans.da = public/language/da/success.json
|
||||
trans.de = public/language/de/success.json
|
||||
trans.el = public/language/el/success.json
|
||||
trans.en_US = public/language/en_US/success.json
|
||||
@@ -663,7 +579,6 @@ trans.et = public/language/et/success.json
|
||||
trans.fa_IR = public/language/fa_IR/success.json
|
||||
trans.fi = public/language/fi/success.json
|
||||
trans.fr = public/language/fr/success.json
|
||||
trans.gl = public/language/gl/success.json
|
||||
trans.he = public/language/he/success.json
|
||||
trans.hu = public/language/hu/success.json
|
||||
trans.id = public/language/id/success.json
|
||||
@@ -678,11 +593,8 @@ trans.pl = public/language/pl/success.json
|
||||
trans.pt_BR = public/language/pt_BR/success.json
|
||||
trans.ru = public/language/ru/success.json
|
||||
trans.ro = public/language/ro/success.json
|
||||
trans.rw = public/language/rw/success.json
|
||||
trans.sc = public/language/sc/success.json
|
||||
trans.sk = public/language/sk/success.json
|
||||
trans.sl = public/language/sl/success.json
|
||||
trans.sr = public/language/sr/success.json
|
||||
trans.sv = public/language/sv/success.json
|
||||
trans.th = public/language/th/success.json
|
||||
trans.tr = public/language/tr/success.json
|
||||
@@ -692,14 +604,12 @@ trans.zh_TW = public/language/zh_TW/success.json
|
||||
type = KEYVALUEJSON
|
||||
|
||||
[nodebb.error]
|
||||
file_filter = public/language/<lang>/error.json
|
||||
source_file = public/language/en_GB/error.json
|
||||
source_lang = en_GB
|
||||
trans.ar = public/language/ar/error.json
|
||||
trans.bn = public/language/bn/error.json
|
||||
trans.bg = public/language/bg/error.json
|
||||
trans.cs = public/language/cs/error.json
|
||||
trans.da = public/language/da/error.json
|
||||
trans.de = public/language/de/error.json
|
||||
trans.el = public/language/el/error.json
|
||||
trans.en_US = public/language/en_US/error.json
|
||||
@@ -709,7 +619,6 @@ trans.et = public/language/et/error.json
|
||||
trans.fa_IR = public/language/fa_IR/error.json
|
||||
trans.fi = public/language/fi/error.json
|
||||
trans.fr = public/language/fr/error.json
|
||||
trans.gl = public/language/gl/error.json
|
||||
trans.he = public/language/he/error.json
|
||||
trans.hu = public/language/hu/error.json
|
||||
trans.id = public/language/id/error.json
|
||||
@@ -724,11 +633,8 @@ trans.pl = public/language/pl/error.json
|
||||
trans.pt_BR = public/language/pt_BR/error.json
|
||||
trans.ru = public/language/ru/error.json
|
||||
trans.ro = public/language/ro/error.json
|
||||
trans.rw = public/language/rw/error.json
|
||||
trans.sc = public/language/sc/error.json
|
||||
trans.sk = public/language/sk/error.json
|
||||
trans.sl = public/language/sl/error.json
|
||||
trans.sr = public/language/sr/error.json
|
||||
trans.sv = public/language/sv/error.json
|
||||
trans.th = public/language/th/error.json
|
||||
trans.tr = public/language/tr/error.json
|
||||
@@ -738,14 +644,12 @@ trans.zh_TW = public/language/zh_TW/error.json
|
||||
type = KEYVALUEJSON
|
||||
|
||||
[nodebb.tags]
|
||||
file_filter = public/language/<lang>/tags.json
|
||||
source_file = public/language/en_GB/tags.json
|
||||
source_lang = en_GB
|
||||
trans.ar = public/language/ar/tags.json
|
||||
trans.bn = public/language/bn/tags.json
|
||||
trans.bg = public/language/bg/tags.json
|
||||
trans.cs = public/language/cs/tags.json
|
||||
trans.da = public/language/da/tags.json
|
||||
trans.de = public/language/de/tags.json
|
||||
trans.el = public/language/el/tags.json
|
||||
trans.en_US = public/language/en_US/tags.json
|
||||
@@ -755,7 +659,6 @@ trans.et = public/language/et/tags.json
|
||||
trans.fa_IR = public/language/fa_IR/tags.json
|
||||
trans.fi = public/language/fi/tags.json
|
||||
trans.fr = public/language/fr/tags.json
|
||||
trans.gl = public/language/gl/tags.json
|
||||
trans.he = public/language/he/tags.json
|
||||
trans.hu = public/language/hu/tags.json
|
||||
trans.id = public/language/id/tags.json
|
||||
@@ -770,11 +673,8 @@ trans.pl = public/language/pl/tags.json
|
||||
trans.pt_BR = public/language/pt_BR/tags.json
|
||||
trans.ru = public/language/ru/tags.json
|
||||
trans.ro = public/language/ro/tags.json
|
||||
trans.rw = public/language/rw/tags.json
|
||||
trans.sc = public/language/sc/tags.json
|
||||
trans.sk = public/language/sk/tags.json
|
||||
trans.sl = public/language/sl/tags.json
|
||||
trans.sr = public/language/sr/tags.json
|
||||
trans.sv = public/language/sv/tags.json
|
||||
trans.th = public/language/th/tags.json
|
||||
trans.tr = public/language/tr/tags.json
|
||||
@@ -784,14 +684,12 @@ trans.zh_TW = public/language/zh_TW/tags.json
|
||||
type = KEYVALUEJSON
|
||||
|
||||
[nodebb.email]
|
||||
file_filter = public/language/<lang>/email.json
|
||||
source_file = public/language/en_GB/email.json
|
||||
source_lang = en_GB
|
||||
trans.ar = public/language/ar/email.json
|
||||
trans.bn = public/language/bn/email.json
|
||||
trans.bg = public/language/bg/email.json
|
||||
trans.cs = public/language/cs/email.json
|
||||
trans.da = public/language/da/email.json
|
||||
trans.de = public/language/de/email.json
|
||||
trans.el = public/language/el/email.json
|
||||
trans.en_US = public/language/en_US/email.json
|
||||
@@ -801,7 +699,6 @@ trans.et = public/language/et/email.json
|
||||
trans.fa_IR = public/language/fa_IR/email.json
|
||||
trans.fi = public/language/fi/email.json
|
||||
trans.fr = public/language/fr/email.json
|
||||
trans.gl = public/language/gl/email.json
|
||||
trans.he = public/language/he/email.json
|
||||
trans.hu = public/language/hu/email.json
|
||||
trans.id = public/language/id/email.json
|
||||
@@ -816,11 +713,8 @@ trans.pl = public/language/pl/email.json
|
||||
trans.pt_BR = public/language/pt_BR/email.json
|
||||
trans.ru = public/language/ru/email.json
|
||||
trans.ro = public/language/ro/email.json
|
||||
trans.rw = public/language/rw/email.json
|
||||
trans.sc = public/language/sc/email.json
|
||||
trans.sk = public/language/sk/email.json
|
||||
trans.sl = public/language/sl/email.json
|
||||
trans.sr = public/language/sr/email.json
|
||||
trans.sv = public/language/sv/email.json
|
||||
trans.th = public/language/th/email.json
|
||||
trans.tr = public/language/tr/email.json
|
||||
@@ -830,14 +724,12 @@ trans.zh_TW = public/language/zh_TW/email.json
|
||||
type = KEYVALUEJSON
|
||||
|
||||
[nodebb.search]
|
||||
file_filter = public/language/<lang>/search.json
|
||||
source_file = public/language/en_GB/search.json
|
||||
source_lang = en_GB
|
||||
trans.ar = public/language/ar/search.json
|
||||
trans.bn = public/language/bn/search.json
|
||||
trans.bg = public/language/bg/search.json
|
||||
trans.cs = public/language/cs/search.json
|
||||
trans.da = public/language/da/search.json
|
||||
trans.de = public/language/de/search.json
|
||||
trans.el = public/language/el/search.json
|
||||
trans.en_US = public/language/en_US/search.json
|
||||
@@ -847,7 +739,6 @@ trans.et = public/language/et/search.json
|
||||
trans.fa_IR = public/language/fa_IR/search.json
|
||||
trans.fi = public/language/fi/search.json
|
||||
trans.fr = public/language/fr/search.json
|
||||
trans.gl = public/language/gl/search.json
|
||||
trans.he = public/language/he/search.json
|
||||
trans.hu = public/language/hu/search.json
|
||||
trans.id = public/language/id/search.json
|
||||
@@ -862,11 +753,8 @@ trans.pl = public/language/pl/search.json
|
||||
trans.pt_BR = public/language/pt_BR/search.json
|
||||
trans.ru = public/language/ru/search.json
|
||||
trans.ro = public/language/ro/search.json
|
||||
trans.rw = public/language/rw/search.json
|
||||
trans.sc = public/language/sc/search.json
|
||||
trans.sk = public/language/sk/search.json
|
||||
trans.sl = public/language/sl/search.json
|
||||
trans.sr = public/language/sr/search.json
|
||||
trans.sv = public/language/sv/search.json
|
||||
trans.th = public/language/th/search.json
|
||||
trans.tr = public/language/tr/search.json
|
||||
@@ -876,14 +764,12 @@ trans.zh_TW = public/language/zh_TW/search.json
|
||||
type = KEYVALUEJSON
|
||||
|
||||
[nodebb.groups]
|
||||
file_filter = public/language/<lang>/groups.json
|
||||
source_file = public/language/en_GB/groups.json
|
||||
source_lang = en_GB
|
||||
trans.ar = public/language/ar/groups.json
|
||||
trans.bn = public/language/bn/groups.json
|
||||
trans.bg = public/language/bg/groups.json
|
||||
trans.cs = public/language/cs/groups.json
|
||||
trans.da = public/language/da/groups.json
|
||||
trans.de = public/language/de/groups.json
|
||||
trans.el = public/language/el/groups.json
|
||||
trans.en_US = public/language/en_US/groups.json
|
||||
@@ -893,7 +779,6 @@ trans.et = public/language/et/groups.json
|
||||
trans.fa_IR = public/language/fa_IR/groups.json
|
||||
trans.fi = public/language/fi/groups.json
|
||||
trans.fr = public/language/fr/groups.json
|
||||
trans.gl = public/language/gl/groups.json
|
||||
trans.he = public/language/he/groups.json
|
||||
trans.hu = public/language/hu/groups.json
|
||||
trans.id = public/language/id/groups.json
|
||||
@@ -908,11 +793,8 @@ trans.pl = public/language/pl/groups.json
|
||||
trans.pt_BR = public/language/pt_BR/groups.json
|
||||
trans.ru = public/language/ru/groups.json
|
||||
trans.ro = public/language/ro/groups.json
|
||||
trans.rw = public/language/rw/groups.json
|
||||
trans.sc = public/language/sc/groups.json
|
||||
trans.sk = public/language/sk/groups.json
|
||||
trans.sl = public/language/sl/groups.json
|
||||
trans.sr = public/language/sr/groups.json
|
||||
trans.sv = public/language/sv/groups.json
|
||||
trans.th = public/language/th/groups.json
|
||||
trans.tr = public/language/tr/groups.json
|
||||
|
||||
@@ -4,7 +4,7 @@ First of all, thank you! Please consider this [style guide](https://docs.nodebb.
|
||||
|
||||
## Contributor License Agreement
|
||||
|
||||
Thank you for considering contributing to NodeBB. **Before you are able to submit a pull request, please take a moment to read our [contributor license agreement](https://gist.github.com/psychobunny/65946d7aa8854b12fab9)** and agree to it on the pull request page on GitHub. In summary, signing this document means that 1) you own the code that you are contributing and 2) you give permission to NodeBB Inc. to license the code to others. This agreement applies to any repository under the NodeBB organization.
|
||||
Thank you for considering contributing to NodeBB. **Before we can accept any pull requests, please take a moment to read and sign our [license agreement](https://www.clahub.com/agreements/NodeBB/NodeBB)**. In summary, signing this document means that 1) you own the code that you are contributing and 2) you give permission to NodeBB Inc. to license the code to others. This agreement applies to any repository under the NodeBB organization.
|
||||
|
||||
If you are writing contributions as part of employment from another company / individual, then your employer will need to sign a separate agreement. Please [contact us](mailto:accounts@nodebb.org) so that we can send this additional agreement to your employer.
|
||||
|
||||
15
Dockerfile
15
Dockerfile
@@ -1,15 +0,0 @@
|
||||
# The base image is the latest 4.x node (LTS) on jessie (debian)
|
||||
# -onbuild will install the node dependencies found in the project package.json
|
||||
# and copy its content in /usr/src/app, its WORKDIR
|
||||
FROM node:4-onbuild
|
||||
|
||||
ENV NODE_ENV=production \
|
||||
daemon=false \
|
||||
silent=false
|
||||
|
||||
# nodebb setup will ask you for connection information to a redis (default), mongodb then run the forum
|
||||
# nodebb upgrade is not included and might be desired
|
||||
CMD node app --setup && npm start
|
||||
|
||||
# the default port for NodeBB is exposed outside the container
|
||||
EXPOSE 4567
|
||||
@@ -69,13 +69,7 @@ module.exports = function(grunt) {
|
||||
});
|
||||
|
||||
grunt.loadNpmTasks('grunt-contrib-watch');
|
||||
|
||||
if (grunt.option('skip')) {
|
||||
grunt.registerTask('default', ['watch:serverUpdated']);
|
||||
} else {
|
||||
grunt.registerTask('default', ['watch']);
|
||||
}
|
||||
|
||||
|
||||
env.NODE_ENV = 'development';
|
||||
|
||||
|
||||
24
README.md
24
README.md
@@ -6,32 +6,24 @@
|
||||
[](https://codeclimate.com/github/NodeBB/NodeBB)
|
||||
[](https://readthedocs.org/projects/nodebb/?badge=latest)
|
||||
|
||||
[**NodeBB Forum Software**](https://nodebb.org) is powered by Node.js and built on either a Redis or MongoDB database. It utilizes web sockets for instant interactions and real-time notifications. NodeBB has many modern features out of the box such as social network integration and streaming discussions, while still making sure to be compatible with older browsers.
|
||||
**NodeBB Forum Software** is powered by Node.js and built on either a Redis or MongoDB 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.
|
||||
|
||||
Additional functionality is enabled through the use of third-party plugins.
|
||||
|
||||
* [Get NodeBB](http://www.nodebb.org/ "NodeBB")
|
||||
* [Demo & Meta Discussion](http://community.nodebb.org)
|
||||
* [Documentation & Installation Instructions](http://docs.nodebb.org)
|
||||
* [Help translate NodeBB](https://www.transifex.com/projects/p/nodebb/)
|
||||
* [NodeBB Blog](http://blog.nodebb.org)
|
||||
* [Documentation & Installation Instructions](http://docs.nodebb.org)
|
||||
* [Join us on IRC](https://kiwiirc.com/client/irc.freenode.net/nodebb) - #nodebb on Freenode
|
||||
* [Follow us on Twitter](http://www.twitter.com/NodeBB/ "NodeBB Twitter")
|
||||
* [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")
|
||||
* [Help translate NodeBB](https://www.transifex.com/projects/p/nodebb/)
|
||||
|
||||
## Screenshots
|
||||
|
||||
[](http://i.imgur.com/VCoOFyq.png)
|
||||
[](http://i.imgur.com/FLOUuIq.png)
|
||||
[](http://i.imgur.com/Ud1LrfI.png)
|
||||
[](http://i.imgur.com/h6yZ66s.png)
|
||||
[](http://i.imgur.com/o90kVPi.png)
|
||||
[](http://i.imgur.com/AaRRrU2.png)
|
||||
[](http://i.imgur.com/LmHtPho.png)
|
||||
[](http://i.imgur.com/paiJPJk.jpg)
|
||||
|
||||
[](http://i.imgur.com/8OLssij.png)
|
||||
[](http://i.imgur.com/JKOc0LZ.png)
|
||||
[<img src="http://i.imgur.com/FLOUuIqb.png" />](http://i.imgur.com/FLOUuIq.png) [<img src="http://i.imgur.com/Ud1LrfIb.png" />](http://i.imgur.com/Ud1LrfI.png) [<img src="http://i.imgur.com/ZC8W39ab.png" />](http://i.imgur.com/ZC8W39a.png) [<img src="http://i.imgur.com/o90kVPib.png" />](http://i.imgur.com/o90kVPi.png) [<img src="http://i.imgur.com/AaRRrU2b.png" />](http://i.imgur.com/AaRRrU2.png) [<img src="http://i.imgur.com/LmHtPhob.png" />](http://i.imgur.com/LmHtPho.png) [<img src="http://i.imgur.com/paiJPJkb.jpg" />](http://i.imgur.com/paiJPJk.jpg) [<img src="http://i.imgur.com/ZfavPHDb.png" />](http://i.imgur.com/ZfavPHD.png) [<img src="http://i.imgur.com/8OLssij.png" />](http://i.imgur.com/8OLssij.png) [<img src="http://i.imgur.com/JKOc0LZ.png"/>](http://i.imgur.com/JKOc0LZ.png)
|
||||
|
||||
## How can I follow along/contribute?
|
||||
|
||||
@@ -70,6 +62,4 @@ Detailed upgrade instructions are listed in [Upgrading NodeBB](https://docs.node
|
||||
|
||||
## License
|
||||
|
||||
NodeBB is licensed under the **GNU General Public License v3 (GPL-3)** (http://www.gnu.org/copyleft/gpl.html).
|
||||
|
||||
Interested in a sublicense agreement for use of NodeBB in a non-free/restrictive environment? Contact us at sales@nodebb.org.
|
||||
NodeBB is licensed under the **GNU General Public License v3 (GPL-3)** (http://www.gnu.org/copyleft/gpl.html)
|
||||
|
||||
207
app.js
207
app.js
@@ -23,13 +23,16 @@
|
||||
var nconf = require('nconf');
|
||||
nconf.argv().env('__');
|
||||
|
||||
var url = require('url'),
|
||||
var fs = require('fs'),
|
||||
os = require('os'),
|
||||
url = require('url'),
|
||||
async = require('async'),
|
||||
semver = require('semver'),
|
||||
winston = require('winston'),
|
||||
colors = require('colors'),
|
||||
path = require('path'),
|
||||
pkg = require('./package.json'),
|
||||
file = require('./src/file');
|
||||
utils = require('./public/src/utils.js');
|
||||
|
||||
|
||||
global.env = process.env.NODE_ENV || 'production';
|
||||
|
||||
@@ -40,49 +43,39 @@ winston.add(winston.transports.Console, {
|
||||
var date = new Date();
|
||||
return date.getDate() + '/' + (date.getMonth() + 1) + ' ' + date.toTimeString().substr(0,5) + ' [' + global.process.pid + ']';
|
||||
},
|
||||
level: nconf.get('log-level') || (global.env === 'production' ? 'info' : 'verbose')
|
||||
level: (global.env === 'production' || nconf.get('log-level') === 'info') ? 'info' : 'verbose'
|
||||
});
|
||||
|
||||
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?');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Alternate configuration file support
|
||||
var configFile = path.join(__dirname, '/config.json');
|
||||
var configFile = path.join(__dirname, '/config.json'),
|
||||
configExists;
|
||||
|
||||
if (nconf.get('config')) {
|
||||
configFile = path.resolve(__dirname, nconf.get('config'));
|
||||
}
|
||||
configExists = fs.existsSync(configFile);
|
||||
|
||||
var configExists = file.existsSync(configFile);
|
||||
|
||||
loadConfig();
|
||||
|
||||
if (!process.send) {
|
||||
// If run using `node app`, log GNU copyright info along with server info
|
||||
winston.info('NodeBB v' + nconf.get('version') + ' Copyright (C) 2013-2014 NodeBB 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('');
|
||||
}
|
||||
|
||||
|
||||
if (nconf.get('setup') || nconf.get('install')) {
|
||||
if (!nconf.get('setup') && !nconf.get('install') && !nconf.get('upgrade') && !nconf.get('reset') && configExists) {
|
||||
start();
|
||||
} else if (nconf.get('setup') || nconf.get('install')) {
|
||||
setup();
|
||||
} else if (!configExists) {
|
||||
require('./install/web').install(nconf.get('port'));
|
||||
} else if (nconf.get('upgrade')) {
|
||||
upgrade();
|
||||
} else if (nconf.get('reset')) {
|
||||
require('./src/reset').reset();
|
||||
} else if (nconf.get('activate')) {
|
||||
activate();
|
||||
} else if (nconf.get('plugins')) {
|
||||
listPlugins();
|
||||
} else {
|
||||
start();
|
||||
reset();
|
||||
}
|
||||
|
||||
function loadConfig() {
|
||||
winston.verbose('* using configuration stored in: %s', configFile);
|
||||
|
||||
nconf.file({
|
||||
file: configFile
|
||||
});
|
||||
@@ -102,11 +95,19 @@ function loadConfig() {
|
||||
// Ensure themes_path is a full filepath
|
||||
nconf.set('themes_path', path.resolve(__dirname, nconf.get('themes_path')));
|
||||
nconf.set('core_templates_path', path.join(__dirname, 'src/views'));
|
||||
nconf.set('base_templates_path', path.join(nconf.get('themes_path'), 'nodebb-theme-persona/templates'));
|
||||
nconf.set('base_templates_path', path.join(nconf.get('themes_path'), 'nodebb-theme-vanilla/templates'));
|
||||
|
||||
if (!process.send) {
|
||||
// If run using `node app`, log GNU copyright info along with server info
|
||||
winston.info('NodeBB v' + nconf.get('version') + ' Copyright (C) 2013-2014 NodeBB 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('');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function start() {
|
||||
loadConfig();
|
||||
var db = require('./src/database');
|
||||
|
||||
// nconf defaults, if not set in config
|
||||
@@ -116,8 +117,6 @@ function start() {
|
||||
// Parse out the relative_url and other goodies from the configured URL
|
||||
var urlObject = url.parse(nconf.get('url'));
|
||||
var relativePath = urlObject.pathname !== '/' ? urlObject.pathname : '';
|
||||
nconf.set('base_url', urlObject.protocol + '//' + urlObject.host);
|
||||
nconf.set('secure', urlObject.protocol === 'https');
|
||||
nconf.set('use_port', !!urlObject.port);
|
||||
nconf.set('relative_path', relativePath);
|
||||
nconf.set('port', urlObject.port || nconf.get('port') || nconf.get('PORT') || 4567);
|
||||
@@ -126,7 +125,7 @@ function start() {
|
||||
if (nconf.get('isPrimary') === 'true') {
|
||||
winston.info('Time: %s', (new Date()).toString());
|
||||
winston.info('Initializing NodeBB v%s', nconf.get('version'));
|
||||
|
||||
winston.verbose('* using configuration stored in: %s', configFile);
|
||||
|
||||
var host = nconf.get(nconf.get('database') + ':host'),
|
||||
storeLocation = host ? 'at ' + host + (host.indexOf('/') === -1 ? ':' + nconf.get(nconf.get('database') + ':port') : '') : '';
|
||||
@@ -149,15 +148,16 @@ function start() {
|
||||
meta.reload();
|
||||
break;
|
||||
case 'js-propagate':
|
||||
meta.js.target[message.target] = meta.js.target[message.target] || {};
|
||||
meta.js.target[message.target].cache = message.cache;
|
||||
meta.js.target[message.target].map = message.map;
|
||||
meta.js.cache = message.cache;
|
||||
meta.js.map = message.map;
|
||||
meta.js.hash = message.hash;
|
||||
emitter.emit('meta:js.compiled');
|
||||
winston.verbose('[cluster] Client-side javascript and mapping propagated to worker %s', process.pid);
|
||||
break;
|
||||
case 'css-propagate':
|
||||
meta.css.cache = message.cache;
|
||||
meta.css.acpCache = message.acpCache;
|
||||
meta.css.hash = message.hash;
|
||||
emitter.emit('meta:css.compiled');
|
||||
winston.verbose('[cluster] Stylesheets propagated to worker %s', process.pid);
|
||||
break;
|
||||
@@ -181,13 +181,16 @@ function start() {
|
||||
function(next) {
|
||||
require('./src/meta').configs.init(next);
|
||||
},
|
||||
function(next) {
|
||||
require('./src/meta').dependencies.check(next);
|
||||
},
|
||||
function(next) {
|
||||
require('./src/upgrade').check(next);
|
||||
},
|
||||
function(next) {
|
||||
function(schema_ok, next) {
|
||||
if (!schema_ok && nconf.get('check-schema') !== false) {
|
||||
winston.warn('Your NodeBB schema is out-of-date. Please run the following command to bring your dataset up to spec:');
|
||||
winston.warn(' ./nodebb upgrade');
|
||||
process.exit();
|
||||
return;
|
||||
}
|
||||
var webserver = require('./src/webserver');
|
||||
require('./src/socket.io').init(webserver.server);
|
||||
|
||||
@@ -200,31 +203,20 @@ function start() {
|
||||
}
|
||||
], function(err) {
|
||||
if (err) {
|
||||
switch(err.message) {
|
||||
case 'schema-out-of-date':
|
||||
winston.warn('Your NodeBB schema is out-of-date. Please run the following command to bring your dataset up to spec:');
|
||||
winston.warn(' ./nodebb upgrade');
|
||||
break;
|
||||
case 'dependencies-out-of-date':
|
||||
winston.warn('One or more of NodeBB\'s dependent packages are out-of-date. Please run the following command to update them:');
|
||||
winston.warn(' ./nodebb upgrade');
|
||||
break;
|
||||
default:
|
||||
if (err.stacktrace !== false) {
|
||||
winston.error(err.stack);
|
||||
} else {
|
||||
winston.error(err.message);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
// Either way, bad stuff happened. Abort start.
|
||||
process.exit();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function setup() {
|
||||
loadConfig();
|
||||
|
||||
winston.info('NodeBB Setup Triggered via Command Line');
|
||||
|
||||
var install = require('./src/install');
|
||||
@@ -265,6 +257,8 @@ function setup() {
|
||||
}
|
||||
|
||||
function upgrade() {
|
||||
loadConfig();
|
||||
|
||||
require('./src/database').init(function(err) {
|
||||
if (err) {
|
||||
winston.error(err.stack);
|
||||
@@ -276,28 +270,107 @@ function upgrade() {
|
||||
});
|
||||
}
|
||||
|
||||
function activate() {
|
||||
function reset() {
|
||||
loadConfig();
|
||||
|
||||
require('./src/database').init(function(err) {
|
||||
var plugin = nconf.get('_')[1] ? nconf.get('_')[1] : nconf.get('activate'),
|
||||
db = require('./src/database');
|
||||
|
||||
winston.info('Activating plugin %s', plugin);
|
||||
|
||||
db.sortedSetAdd('plugins:active', 0, plugin, start);
|
||||
});
|
||||
if (err) {
|
||||
winston.error(err.message);
|
||||
process.exit();
|
||||
}
|
||||
|
||||
function listPlugins() {
|
||||
require('./src/database').init(function(err) {
|
||||
var db = require('./src/database');
|
||||
|
||||
db.getSortedSetRange('plugins:active', 0, -1, function(err, plugins) {
|
||||
winston.info('Active plugins: \n\t - ' + plugins.join('\n\t - '));
|
||||
if (nconf.get('theme')) {
|
||||
resetThemes();
|
||||
} else if (nconf.get('plugin')) {
|
||||
resetPlugin(nconf.get('plugin'));
|
||||
} else if (nconf.get('plugins')) {
|
||||
resetPlugins();
|
||||
} else if (nconf.get('widgets')) {
|
||||
resetWidgets();
|
||||
} else if (nconf.get('settings')) {
|
||||
resetSettings();
|
||||
} else if (nconf.get('all')) {
|
||||
require('async').series([resetWidgets, resetThemes, resetPlugins, resetSettings], function(err) {
|
||||
if (!err) {
|
||||
winston.info('[reset] Reset complete.');
|
||||
} else {
|
||||
winston.error('[reset] Errors were encountered while resetting your forum settings: %s', err.message);
|
||||
}
|
||||
process.exit();
|
||||
});
|
||||
} else {
|
||||
winston.warn('[reset] Nothing reset.');
|
||||
winston.info('Use ./nodebb reset {theme|plugins|widgets|settings|all}');
|
||||
winston.info(' or');
|
||||
winston.info('Use ./nodebb reset plugin="nodebb-plugin-pluginName"');
|
||||
process.exit();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function resetSettings(callback) {
|
||||
var meta = require('./src/meta');
|
||||
meta.configs.set('allowLocalLogin', 1, function(err) {
|
||||
winston.info('[reset] Settings reset to default');
|
||||
if (typeof callback === 'function') {
|
||||
callback(err);
|
||||
} else {
|
||||
process.exit();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function resetThemes(callback) {
|
||||
var meta = require('./src/meta');
|
||||
|
||||
meta.themes.set({
|
||||
type: 'local',
|
||||
id: 'nodebb-theme-vanilla'
|
||||
}, function(err) {
|
||||
winston.info('[reset] Theme reset to Vanilla');
|
||||
if (typeof callback === 'function') {
|
||||
callback(err);
|
||||
} else {
|
||||
process.exit();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function resetPlugin(pluginId) {
|
||||
var db = require('./src/database');
|
||||
db.sortedSetRemove('plugins:active', pluginId, function(err) {
|
||||
if (err) {
|
||||
winston.error('[reset] Could not disable plugin: %s encountered error %s', pluginId, err.message);
|
||||
} else {
|
||||
winston.info('[reset] Plugin `%s` disabled', pluginId);
|
||||
}
|
||||
|
||||
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.');
|
||||
|
||||
@@ -1,34 +1,106 @@
|
||||
[
|
||||
{
|
||||
"title": "NodeBB",
|
||||
"showSiteTitle": 1,
|
||||
"postDelay": 10,
|
||||
"initialPostDelay": 10,
|
||||
"newbiePostDelay": 120,
|
||||
"newbiePostDelayThreshold": 3,
|
||||
"minimumPostLength": 8,
|
||||
"maximumPostLength": 32767,
|
||||
"minimumTagsPerTopic": 0,
|
||||
"maximumTagsPerTopic": 5,
|
||||
"allowGuestSearching": 0,
|
||||
"allowTopicsThumbnail": 0,
|
||||
"registrationType": "normal",
|
||||
"allowLocalLogin": 1,
|
||||
"allowAccountDelete": 1,
|
||||
"allowFileUploads": 0,
|
||||
"allowUserHomePage": 1,
|
||||
"maximumFileSize": 2048,
|
||||
"minimumTitleLength": 3,
|
||||
"maximumTitleLength": 255,
|
||||
"minimumUsernameLength": 2,
|
||||
"maximumUsernameLength": 16,
|
||||
"minimumPasswordLength": 6,
|
||||
"maximumSignatureLength": 255,
|
||||
"maximumAboutMeLength": 1000,
|
||||
"maximumProfileImageSize": 256,
|
||||
"maximumCoverImageSize": 2048,
|
||||
"profileImageDimension": 128,
|
||||
"requireEmailConfirmation": 0,
|
||||
"allowProfileImageUploads": 1,
|
||||
"teaserPost": "last",
|
||||
"allowPrivateGroups": 1
|
||||
"field": "title",
|
||||
"value": "NodeBB"
|
||||
},
|
||||
{
|
||||
"field": "showSiteTitle",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"field": "postDelay",
|
||||
"value": 10
|
||||
},
|
||||
{
|
||||
"field": "initialPostDelay",
|
||||
"value": 10
|
||||
},
|
||||
{
|
||||
"field": "newbiePostDelay",
|
||||
"value": 120
|
||||
},
|
||||
{
|
||||
"field": "newbiePostDelayThreshold",
|
||||
"value": 3
|
||||
},
|
||||
{
|
||||
"field": "minimumPostLength",
|
||||
"value": 8
|
||||
},
|
||||
{
|
||||
"field": "maximumPostLength",
|
||||
"value": 32767
|
||||
},
|
||||
{
|
||||
"field": "allowGuestSearching",
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"field": "allowTopicsThumbnail",
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"field": "allowRegistration",
|
||||
"value": 1
|
||||
},
|
||||
{
|
||||
"field": "allowLocalLogin",
|
||||
"value": 1
|
||||
},
|
||||
{
|
||||
"field": "allowAccountDelete",
|
||||
"value": 1
|
||||
},
|
||||
{
|
||||
"field": "allowFileUploads",
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"field": "maximumFileSize",
|
||||
"value": 2048
|
||||
},
|
||||
{
|
||||
"field": "minimumTitleLength",
|
||||
"value": 3
|
||||
},
|
||||
{
|
||||
"field": "maximumTitleLength",
|
||||
"value": 255
|
||||
},
|
||||
{
|
||||
"field": "minimumUsernameLength",
|
||||
"value": 2
|
||||
},
|
||||
{
|
||||
"field": "maximumUsernameLength",
|
||||
"value": 16
|
||||
},
|
||||
{
|
||||
"field": "minimumPasswordLength",
|
||||
"value": 6
|
||||
},
|
||||
{
|
||||
"field": "maximumSignatureLength",
|
||||
"value": 255
|
||||
},
|
||||
{
|
||||
"field": "maximumAboutMeLength",
|
||||
"value": 1000
|
||||
},
|
||||
{
|
||||
"field": "maximumProfileImageSize",
|
||||
"value": 256
|
||||
},
|
||||
{
|
||||
"field": "profileImageDimension",
|
||||
"value": 128
|
||||
},
|
||||
{
|
||||
"field": "requireEmailConfirmation",
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"field": "profile:allowProfileImageUploads",
|
||||
"value": 1
|
||||
}
|
||||
]
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
{
|
||||
"widget": "html",
|
||||
"data" : {
|
||||
"html": "<footer id=\"footer\" class=\"container footer\">\r\n\t<div class=\"copyright\">\r\n\t\tCopyright © 2015 <a target=\"_blank\" href=\"https://nodebb.org\">NodeBB Forums</a> | <a target=\"_blank\" href=\"//github.com/NodeBB/NodeBB/graphs/contributors\">Contributors</a>\r\n\t</div>\r\n</footer>",
|
||||
"html": "<footer id=\"footer\" class=\"container footer\">\r\n\t<div class=\"copyright\">\r\n\t\tCopyright © 2014 <a target=\"_blank\" href=\"https://nodebb.org\">NodeBB Forums</a> | <a target=\"_blank\" href=\"//github.com/NodeBB/NodeBB/graphs/contributors\">Contributors</a>\r\n\t</div>\r\n</footer>",
|
||||
"title":"",
|
||||
"container":""
|
||||
}
|
||||
|
||||
@@ -1,12 +1,4 @@
|
||||
[
|
||||
{
|
||||
"route": "/categories",
|
||||
"title": "\\[\\[global:header.categories\\]\\]",
|
||||
"enabled": true,
|
||||
"iconClass": "fa-list",
|
||||
"textClass": "visible-xs-inline",
|
||||
"text": "\\[\\[global:header.categories\\]\\]"
|
||||
},
|
||||
{
|
||||
"id": "unread-count",
|
||||
"route": "/unread",
|
||||
@@ -67,7 +59,7 @@
|
||||
"textClass": "visible-xs-inline",
|
||||
"text": "\\[\\[global:header.admin\\]\\]",
|
||||
"properties": {
|
||||
"targetBlank": false,
|
||||
"target": "_top",
|
||||
"adminOnly": true
|
||||
}
|
||||
},
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Welcome to your brand new NodeBB forum!
|
||||
|
||||
This is what a topic and post looks like. As an administrator, you can edit the post\'s title and content.
|
||||
This is what a topic and post looks like. As an administator, you can edit the post\'s title and content.
|
||||
To customise your forum, go to the [Administrator Control Panel](../../admin). You can modify all aspects of your forum there, including installation of third-party plugins.
|
||||
|
||||
## Additional Resources
|
||||
|
||||
@@ -1,56 +1,26 @@
|
||||
"use strict";
|
||||
|
||||
var async = require('async');
|
||||
var prompt = require('prompt');
|
||||
var winston = require('winston');
|
||||
var async = require('async'),
|
||||
prompt = require('prompt'),
|
||||
nconf = require('nconf'),
|
||||
winston = require('winston'),
|
||||
|
||||
var questions = {
|
||||
redis: require('../src/database/redis').questions,
|
||||
mongo: require('../src/database/mongo').questions
|
||||
};
|
||||
questions = {};
|
||||
|
||||
module.exports = function(config, callback) {
|
||||
async.waterfall([
|
||||
function (next) {
|
||||
process.stdout.write('\n');
|
||||
winston.info('Now configuring ' + config.database + ' database:');
|
||||
getDatabaseConfig(config, next);
|
||||
},
|
||||
function (databaseConfig, next) {
|
||||
saveDatabaseConfig(config, databaseConfig, next);
|
||||
}
|
||||
], callback);
|
||||
};
|
||||
|
||||
function getDatabaseConfig(config, callback) {
|
||||
function success(err, config, callback) {
|
||||
if (!config) {
|
||||
return callback(new Error('aborted'));
|
||||
}
|
||||
|
||||
if (config.database === 'redis') {
|
||||
if (config['redis:host'] && config['redis:port']) {
|
||||
callback(null, config);
|
||||
} else {
|
||||
prompt.get(questions.redis, callback);
|
||||
}
|
||||
} else if (config.database === 'mongo') {
|
||||
if (config['mongo:host'] && config['mongo:port']) {
|
||||
callback(null, config);
|
||||
} else {
|
||||
prompt.get(questions.mongo, callback);
|
||||
}
|
||||
} else {
|
||||
return callback(new Error('unknown database : ' + config.database));
|
||||
}
|
||||
}
|
||||
var database = (config.redis || config.mongo) ? config.secondary_database : config.database;
|
||||
|
||||
function saveDatabaseConfig(config, databaseConfig, callback) {
|
||||
function dbQuestionsSuccess(err, databaseConfig) {
|
||||
if (!databaseConfig) {
|
||||
return callback(new Error('aborted'));
|
||||
}
|
||||
|
||||
// Translate redis properties into redis object
|
||||
if (config.database === 'redis') {
|
||||
if(database === 'redis') {
|
||||
config.redis = {
|
||||
host: databaseConfig['redis:host'],
|
||||
port: databaseConfig['redis:port'],
|
||||
@@ -61,7 +31,7 @@ function saveDatabaseConfig(config, databaseConfig, callback) {
|
||||
if (config.redis.host.slice(0, 1) === '/') {
|
||||
delete config.redis.port;
|
||||
}
|
||||
} else if (config.database === 'mongo') {
|
||||
} else if (database === 'mongo') {
|
||||
config.mongo = {
|
||||
host: databaseConfig['mongo:host'],
|
||||
port: databaseConfig['mongo:port'],
|
||||
@@ -70,7 +40,7 @@ function saveDatabaseConfig(config, databaseConfig, callback) {
|
||||
database: databaseConfig['mongo:database']
|
||||
};
|
||||
} else {
|
||||
return callback(new Error('unknown database : ' + config.database));
|
||||
return callback(new Error('unknown database : ' + database));
|
||||
}
|
||||
|
||||
var allQuestions = questions.redis.concat(questions.mongo);
|
||||
@@ -78,5 +48,57 @@ function saveDatabaseConfig(config, databaseConfig, callback) {
|
||||
delete config[allQuestions[x].name];
|
||||
}
|
||||
|
||||
callback(null, config);
|
||||
callback(err, config);
|
||||
}
|
||||
|
||||
if(database === 'redis') {
|
||||
if (config['redis:host'] && config['redis:port']) {
|
||||
dbQuestionsSuccess(null, config);
|
||||
} else {
|
||||
prompt.get(questions.redis, dbQuestionsSuccess);
|
||||
}
|
||||
} else if(database === 'mongo') {
|
||||
if (config['mongo:host'] && config['mongo:port']) {
|
||||
dbQuestionsSuccess(null, config);
|
||||
} else {
|
||||
prompt.get(questions.mongo, dbQuestionsSuccess);
|
||||
}
|
||||
} else {
|
||||
return callback(new Error('unknown database : ' + database));
|
||||
}
|
||||
}
|
||||
|
||||
function getSecondaryDatabaseModules(config, next) {
|
||||
prompt.get({
|
||||
"name": "secondary_db_modules",
|
||||
"description": "Which database modules should " + config.secondary_database + " store?",
|
||||
"default": nconf.get('secondary_db_modules') || "hash, list, sets, sorted"
|
||||
}, function(err, db) {
|
||||
config.secondary_db_modules = db.secondary_db_modules;
|
||||
success(err, config, next);
|
||||
});
|
||||
}
|
||||
|
||||
module.exports = function(err, config, databases, callback) {
|
||||
var allowedDBs = Object.keys(databases);
|
||||
|
||||
allowedDBs.forEach(function(db) {
|
||||
questions[db] = require('./../src/database/' + db).questions;
|
||||
});
|
||||
|
||||
async.waterfall([
|
||||
function(next) {
|
||||
process.stdout.write('\n');
|
||||
winston.info('Now configuring ' + config.database + ' database:');
|
||||
success(err, config, next);
|
||||
},
|
||||
function(config, next) {
|
||||
if (config.secondary_database && allowedDBs.indexOf(config.secondary_database) !== -1) {
|
||||
winston.info('Now configuring ' + config.secondary_database + ' database:');
|
||||
getSecondaryDatabaseModules(config, next);
|
||||
} else {
|
||||
next(err, config);
|
||||
}
|
||||
}
|
||||
], callback);
|
||||
};
|
||||
@@ -12,16 +12,6 @@ var winston = require('winston'),
|
||||
app = express(),
|
||||
server;
|
||||
|
||||
winston.add(winston.transports.File, {
|
||||
filename: 'logs/webinstall.log',
|
||||
colorize: true,
|
||||
timestamp: function() {
|
||||
var date = new Date();
|
||||
return date.getDate() + '/' + (date.getMonth() + 1) + ' ' + date.toTimeString().substr(0,5) + ' [' + global.process.pid + ']';
|
||||
},
|
||||
level: 'verbose'
|
||||
});
|
||||
|
||||
var web = {},
|
||||
scripts = [
|
||||
'public/vendor/xregexp/xregexp.js',
|
||||
@@ -51,7 +41,8 @@ web.install = function(port) {
|
||||
|
||||
function launchExpress(port) {
|
||||
server = app.listen(port, function() {
|
||||
winston.info('Web installer listening on http://%s:%s', '0.0.0.0', port);
|
||||
var host = server.address().address;
|
||||
winston.info('Web installer listening on http://%s:%s', host, port);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -113,10 +104,6 @@ function launch(req, res) {
|
||||
stdio: ['ignore', 'ignore', 'ignore']
|
||||
});
|
||||
|
||||
process.stdout.write('\nStarting NodeBB\n');
|
||||
process.stdout.write(' "./nodebb stop" to stop the NodeBB server\n');
|
||||
process.stdout.write(' "./nodebb log" to view server output\n');
|
||||
process.stdout.write(' "./nodebb restart" to restart NodeBB\n');
|
||||
|
||||
child.unref();
|
||||
process.exit(0);
|
||||
|
||||
39
loader.js
39
loader.js
@@ -8,7 +8,7 @@ var nconf = require('nconf'),
|
||||
|
||||
async = require('async'),
|
||||
logrotate = require('logrotate-stream'),
|
||||
file = require('./src/file'),
|
||||
|
||||
pkg = require('./package.json');
|
||||
|
||||
nconf.argv().env().file({
|
||||
@@ -24,7 +24,8 @@ var pidFilePath = __dirname + '/pidfile',
|
||||
Loader = {
|
||||
timesStarted: 0,
|
||||
js: {
|
||||
target: {}
|
||||
cache: undefined,
|
||||
map: undefined
|
||||
},
|
||||
css: {
|
||||
cache: undefined,
|
||||
@@ -85,21 +86,12 @@ Loader.addWorkerEvents = function(worker) {
|
||||
if (message && typeof message === 'object' && message.action) {
|
||||
switch (message.action) {
|
||||
case 'ready':
|
||||
if (Loader.js.target['nodebb.min.js'] && Loader.js.target['nodebb.min.js'].cache && !worker.isPrimary) {
|
||||
if (Loader.js.cache && !worker.isPrimary) {
|
||||
worker.send({
|
||||
action: 'js-propagate',
|
||||
cache: Loader.js.target['nodebb.min.js'].cache,
|
||||
map: Loader.js.target['nodebb.min.js'].map,
|
||||
target: 'nodebb.min.js'
|
||||
});
|
||||
}
|
||||
|
||||
if (Loader.js.target['acp.min.js'] && Loader.js.target['acp.min.js'].cache && !worker.isPrimary) {
|
||||
worker.send({
|
||||
action: 'js-propagate',
|
||||
cache: Loader.js.target['acp.min.js'].cache,
|
||||
map: Loader.js.target['acp.min.js'].map,
|
||||
target: 'acp.min.js'
|
||||
cache: Loader.js.cache,
|
||||
map: Loader.js.map,
|
||||
hash: Loader.js.hash
|
||||
});
|
||||
}
|
||||
|
||||
@@ -107,7 +99,8 @@ Loader.addWorkerEvents = function(worker) {
|
||||
worker.send({
|
||||
action: 'css-propagate',
|
||||
cache: Loader.css.cache,
|
||||
acpCache: Loader.css.acpCache
|
||||
acpCache: Loader.css.acpCache,
|
||||
hash: Loader.css.hash
|
||||
});
|
||||
}
|
||||
|
||||
@@ -122,25 +115,27 @@ Loader.addWorkerEvents = function(worker) {
|
||||
Loader.reload();
|
||||
break;
|
||||
case 'js-propagate':
|
||||
Loader.js.target[message.target] = Loader.js.target[message.target] || {};
|
||||
Loader.js.target[message.target].cache = message.cache;
|
||||
Loader.js.target[message.target].map = message.map;
|
||||
Loader.js.cache = message.cache;
|
||||
Loader.js.map = message.map;
|
||||
Loader.js.hash = message.hash;
|
||||
|
||||
Loader.notifyWorkers({
|
||||
action: 'js-propagate',
|
||||
cache: message.cache,
|
||||
map: message.map,
|
||||
target: message.target
|
||||
hash: message.hash
|
||||
}, worker.pid);
|
||||
break;
|
||||
case 'css-propagate':
|
||||
Loader.css.cache = message.cache;
|
||||
Loader.css.acpCache = message.acpCache;
|
||||
Loader.css.hash = message.hash;
|
||||
|
||||
Loader.notifyWorkers({
|
||||
action: 'css-propagate',
|
||||
cache: message.cache,
|
||||
acpCache: message.acpCache
|
||||
acpCache: message.acpCache,
|
||||
hash: message.hash
|
||||
}, worker.pid);
|
||||
break;
|
||||
case 'templates:compiled':
|
||||
@@ -254,7 +249,7 @@ Loader.notifyWorkers = function(msg, worker_pid) {
|
||||
fs.open(path.join(__dirname, 'config.json'), 'r', function(err) {
|
||||
if (!err) {
|
||||
if (nconf.get('daemon') !== 'false' && nconf.get('daemon') !== false) {
|
||||
if (file.existsSync(pidFilePath)) {
|
||||
if (fs.existsSync(pidFilePath)) {
|
||||
try {
|
||||
var pid = fs.readFileSync(pidFilePath, { encoding: 'utf-8' });
|
||||
process.kill(pid, 0);
|
||||
|
||||
52
minifier.js
52
minifier.js
@@ -1,44 +1,38 @@
|
||||
"use strict";
|
||||
|
||||
var uglifyjs = require('uglify-js');
|
||||
var async = require('async');
|
||||
var fs = require('fs');
|
||||
var file = require('./src/file');
|
||||
var uglifyjs = require('uglify-js'),
|
||||
less = require('less'),
|
||||
async = require('async'),
|
||||
fs = require('fs'),
|
||||
path = require('path'),
|
||||
crypto = require('crypto'),
|
||||
utils = require('./public/src/utils'),
|
||||
|
||||
var Minifier = {
|
||||
Minifier = {
|
||||
js: {}
|
||||
};
|
||||
|
||||
/* Javascript */
|
||||
Minifier.js.minify = function (scripts, minify, callback) {
|
||||
|
||||
scripts = scripts.filter(function(file) {
|
||||
return file && file.endsWith('.js');
|
||||
return fs.existsSync(file) && file.endsWith('.js');
|
||||
});
|
||||
|
||||
async.filter(scripts, function(script, next) {
|
||||
file.exists(script, function(exists) {
|
||||
if (!exists) {
|
||||
console.warn('[minifier] file not found, ' + script);
|
||||
}
|
||||
next(exists);
|
||||
});
|
||||
}, function(scripts) {
|
||||
if (minify) {
|
||||
minifyScripts(scripts, callback);
|
||||
minifyScripts(scripts, function() {
|
||||
callback.apply(this, arguments);
|
||||
});
|
||||
} else {
|
||||
concatenateScripts(scripts, callback);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
process.on('message', function(payload) {
|
||||
switch(payload.action) {
|
||||
case 'js':
|
||||
Minifier.js.minify(payload.scripts, payload.minify, function(minified/*, sourceMap*/) {
|
||||
Minifier.js.minify(payload.scripts, payload.minify, function(minified) {
|
||||
process.send({
|
||||
type: 'end',
|
||||
// sourceMap: sourceMap,
|
||||
minified: minified
|
||||
});
|
||||
});
|
||||
@@ -47,19 +41,26 @@ process.on('message', function(payload) {
|
||||
});
|
||||
|
||||
function minifyScripts(scripts, callback) {
|
||||
// The portions of code involving the source map are commented out as they're broken in UglifyJS2
|
||||
// Follow along here: https://github.com/mishoo/UglifyJS2/issues/700
|
||||
try {
|
||||
var minified = uglifyjs.minify(scripts, {
|
||||
// outSourceMap: "nodebb.min.js.map",
|
||||
compress: false
|
||||
}),
|
||||
hasher = crypto.createHash('md5'),
|
||||
hash;
|
||||
|
||||
// Calculate js hash
|
||||
hasher.update(minified.code, 'utf-8');
|
||||
hash = hasher.digest('hex');
|
||||
process.send({
|
||||
type: 'hash',
|
||||
payload: hash.slice(0, 8)
|
||||
});
|
||||
|
||||
callback(minified.code/*, minified.map*/);
|
||||
callback(minified.code);
|
||||
} catch(err) {
|
||||
process.send({
|
||||
type: 'error',
|
||||
message: err.message
|
||||
payload: err.message
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -69,9 +70,8 @@ function concatenateScripts(scripts, callback) {
|
||||
if (err) {
|
||||
process.send({
|
||||
type: 'error',
|
||||
message: err.message
|
||||
payload: err
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
scripts = scripts.join(require('os').EOL + ';');
|
||||
|
||||
480
nodebb
480
nodebb
@@ -1,375 +1,137 @@
|
||||
#!/usr/bin/env node
|
||||
#!/bin/bash
|
||||
|
||||
var colors = require('colors'),
|
||||
cproc = require('child_process'),
|
||||
argv = require('minimist')(process.argv.slice(2)),
|
||||
fs = require('fs'),
|
||||
path = require('path'),
|
||||
request = require('request'),
|
||||
semver = require('semver'),
|
||||
prompt = require('prompt'),
|
||||
async = require('async');
|
||||
# $0 script path
|
||||
# $1 action
|
||||
# $2 subaction
|
||||
|
||||
var getRunningPid = function(callback) {
|
||||
fs.readFile(__dirname + '/pidfile', {
|
||||
encoding: 'utf-8'
|
||||
}, function(err, pid) {
|
||||
if (err) {
|
||||
return callback(err);
|
||||
node="$(which nodejs 2>/dev/null)";
|
||||
if [ $? -gt 0 ];
|
||||
then node="$(which node)";
|
||||
fi
|
||||
|
||||
function pidExists() {
|
||||
if [ -e "pidfile" ];
|
||||
then
|
||||
if ps -p $(cat pidfile) > /dev/null
|
||||
then return 1;
|
||||
else
|
||||
rm ./pidfile;
|
||||
return 0;
|
||||
fi
|
||||
else
|
||||
return 0;
|
||||
fi
|
||||
}
|
||||
|
||||
try {
|
||||
process.kill(parseInt(pid, 10), 0);
|
||||
callback(null, parseInt(pid, 10));
|
||||
} catch(e) {
|
||||
callback(e);
|
||||
}
|
||||
});
|
||||
},
|
||||
getCurrentVersion = function(callback) {
|
||||
fs.readFile(path.join(__dirname, 'package.json'), { encoding: 'utf-8' }, function(err, pkg) {
|
||||
try {
|
||||
pkg = JSON.parse(pkg);
|
||||
return callback(null, pkg.version);
|
||||
} catch(err) {
|
||||
return callback(err);
|
||||
}
|
||||
})
|
||||
},
|
||||
fork = function (args) {
|
||||
cproc.fork('app.js', args, {
|
||||
cwd: __dirname,
|
||||
silent: false
|
||||
});
|
||||
},
|
||||
getInstalledPlugins = function(callback) {
|
||||
async.parallel({
|
||||
files: async.apply(fs.readdir, path.join(__dirname, 'node_modules')),
|
||||
deps: async.apply(fs.readFile, path.join(__dirname, 'package.json'), { encoding: 'utf-8' })
|
||||
}, function(err, payload) {
|
||||
var isNbbModule = /^nodebb-(?:plugin|theme|widget|rewards)-[\w\-]+$/,
|
||||
moduleName, isGitRepo;
|
||||
case "$1" in
|
||||
start)
|
||||
echo "Starting NodeBB";
|
||||
echo " \"./nodebb stop\" to stop the NodeBB server";
|
||||
echo " \"./nodebb log\" to view server output";
|
||||
|
||||
payload.files = payload.files.filter(function(file) {
|
||||
return isNbbModule.test(file);
|
||||
});
|
||||
# Start the loader daemon
|
||||
"$node" loader "$@"
|
||||
;;
|
||||
|
||||
try {
|
||||
payload.deps = JSON.parse(payload.deps).dependencies;
|
||||
payload.bundled = [];
|
||||
payload.installed = [];
|
||||
} catch (err) {
|
||||
return callback(err);
|
||||
}
|
||||
stop)
|
||||
pidExists;
|
||||
if [ 0 -eq $? ];
|
||||
then
|
||||
echo "NodeBB is already stopped.";
|
||||
else
|
||||
echo "Stopping NodeBB. Goodbye!";
|
||||
kill $(cat pidfile);
|
||||
fi
|
||||
;;
|
||||
|
||||
for (moduleName in payload.deps) {
|
||||
if (isNbbModule.test(moduleName)) {
|
||||
payload.bundled.push(moduleName);
|
||||
}
|
||||
}
|
||||
restart)
|
||||
pidExists;
|
||||
if [ 0 -eq $? ];
|
||||
then
|
||||
echo "NodeBB could not be restarted, as a running instance could not be found.";
|
||||
else
|
||||
echo "Restarting NodeBB.";
|
||||
kill -1 $(cat pidfile);
|
||||
fi
|
||||
;;
|
||||
|
||||
// Whittle down deps to send back only extraneously installed plugins/themes/etc
|
||||
payload.files.forEach(function(moduleName) {
|
||||
try {
|
||||
fs.accessSync(path.join(__dirname, 'node_modules/' + moduleName, '.git'));
|
||||
isGitRepo = true;
|
||||
} catch(e) {
|
||||
isGitRepo = false;
|
||||
}
|
||||
reload)
|
||||
pidExists;
|
||||
if [ 0 -eq $? ];
|
||||
then
|
||||
echo "NodeBB could not be reloaded, as a running instance could not be found.";
|
||||
else
|
||||
echo "Reloading NodeBB.";
|
||||
kill -12 $(cat pidfile);
|
||||
fi
|
||||
;;
|
||||
|
||||
if (
|
||||
payload.files.indexOf(moduleName) !== -1 // found in `node_modules/`
|
||||
&& payload.bundled.indexOf(moduleName) === -1 // not found in `package.json`
|
||||
&& !fs.lstatSync(path.join(__dirname, 'node_modules/' + moduleName)).isSymbolicLink() // is not a symlink
|
||||
&& !isGitRepo // .git/ does not exist, so it is not a git repository
|
||||
) {
|
||||
payload.installed.push(moduleName);
|
||||
}
|
||||
});
|
||||
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
|
||||
;;
|
||||
|
||||
getModuleVersions(payload.installed, callback);
|
||||
});
|
||||
},
|
||||
getModuleVersions = function(modules, callback) {
|
||||
var versionHash = {};
|
||||
log)
|
||||
clear;
|
||||
tail -F ./logs/output.log;
|
||||
;;
|
||||
|
||||
async.eachLimit(modules, 50, function(module, next) {
|
||||
fs.readFile(path.join(__dirname, 'node_modules/' + module + '/package.json'), { encoding: 'utf-8' }, function(err, pkg) {
|
||||
try {
|
||||
pkg = JSON.parse(pkg);
|
||||
versionHash[module] = pkg.version;
|
||||
next();
|
||||
} catch (err) {
|
||||
next(err);
|
||||
}
|
||||
});
|
||||
}, function(err) {
|
||||
callback(err, versionHash);
|
||||
});
|
||||
},
|
||||
checkPlugins = function(standalone, callback) {
|
||||
if (standalone) {
|
||||
process.stdout.write('Checking installed plugins and themes for updates... ');
|
||||
}
|
||||
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
|
||||
npm i nodebb-theme-vanilla nodebb-theme-lavender nodebb-widget-essentials
|
||||
"$node" app --upgrade
|
||||
touch package.json
|
||||
;;
|
||||
|
||||
async.waterfall([
|
||||
async.apply(async.parallel, {
|
||||
plugins: async.apply(getInstalledPlugins),
|
||||
version: async.apply(getCurrentVersion)
|
||||
}),
|
||||
function(payload, next) {
|
||||
if (!payload.plugins.length) {
|
||||
process.stdout.write('OK'.green + '\n'.reset);
|
||||
return next(null, []); // no extraneous plugins installed
|
||||
}
|
||||
setup)
|
||||
"$node" app --setup "$@"
|
||||
;;
|
||||
|
||||
var toCheck = Object.keys(payload.plugins);
|
||||
request({
|
||||
method: 'GET',
|
||||
url: 'https://packages.nodebb.org/api/v1/suggest?version=' + payload.version + '&package[]=' + toCheck.join('&package[]='),
|
||||
json: true
|
||||
}, function(err, res, body) {
|
||||
if (err) {
|
||||
process.stdout.write('error'.red + '\n'.reset);
|
||||
return next(err);
|
||||
}
|
||||
process.stdout.write('OK'.green + '\n'.reset);
|
||||
reset)
|
||||
"$node" app --reset --$2
|
||||
;;
|
||||
|
||||
if (!Array.isArray(body) && toCheck.length === 1) {
|
||||
body = [body];
|
||||
}
|
||||
dev)
|
||||
echo "Launching NodeBB in \"development\" mode."
|
||||
echo "To run the production build of NodeBB, please use \"forever\"."
|
||||
echo "More Information: https://docs.nodebb.org/en/latest/running/index.html"
|
||||
NODE_ENV=development "$node" loader --no-daemon --no-silent "$@"
|
||||
;;
|
||||
|
||||
var current, suggested,
|
||||
upgradable = body.map(function(suggestObj) {
|
||||
current = payload.plugins[suggestObj.package];
|
||||
suggested = suggestObj.version;
|
||||
watch)
|
||||
echo "***************************************************************************"
|
||||
echo "WARNING: ./nodebb watch will be deprecated soon. Please use grunt: "
|
||||
echo "https://docs.nodebb.org/en/latest/running/index.html#grunt-development"
|
||||
echo "***************************************************************************"
|
||||
NODE_ENV=development supervisor -q --ignore public/templates,public/nodebb.min.js,public/nodebb.min.js.map --extensions 'node|js|tpl|less' -- app "$@"
|
||||
;;
|
||||
|
||||
if (suggestObj.code === 'match-found' && semver.gt(suggested, current)) {
|
||||
return {
|
||||
name: suggestObj.package,
|
||||
current: current,
|
||||
suggested: suggested
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}).filter(Boolean);
|
||||
|
||||
next(null, upgradable);
|
||||
})
|
||||
}
|
||||
], callback);
|
||||
},
|
||||
upgradePlugins = function(callback) {
|
||||
var standalone = false;
|
||||
if (typeof callback !== 'function') {
|
||||
callback = function() {};
|
||||
standalone = true;
|
||||
};
|
||||
|
||||
checkPlugins(standalone, function(err, found) {
|
||||
if (err) {
|
||||
process.stdout.write('\Warning'.yellow + ': An unexpected error occured when attempting to verify plugin upgradability\n'.reset);
|
||||
return callback(err);
|
||||
}
|
||||
|
||||
if (found && found.length) {
|
||||
process.stdout.write('\nA total of ' + new String(found.length).bold + ' package(s) can be upgraded:\n');
|
||||
found.forEach(function(suggestObj) {
|
||||
process.stdout.write(' * '.yellow + suggestObj.name.reset + ' (' + suggestObj.current.yellow + ' -> '.reset + suggestObj.suggested.green + ')\n'.reset);
|
||||
});
|
||||
process.stdout.write('\n');
|
||||
} else {
|
||||
if (standalone) {
|
||||
process.stdout.write('\nAll packages up-to-date!'.green + '\n'.reset);
|
||||
}
|
||||
return callback();
|
||||
}
|
||||
|
||||
prompt.message = '';
|
||||
prompt.delimiter = '';
|
||||
|
||||
prompt.start();
|
||||
prompt.get({
|
||||
name: 'upgrade',
|
||||
description: 'Proceed with upgrade (y|n)?'.reset,
|
||||
type: 'string'
|
||||
}, function(err, result) {
|
||||
if (result.upgrade === 'y' || result.upgrade === 'yes') {
|
||||
process.stdout.write('\nUpgrading packages...');
|
||||
var args = ['npm', 'i'];
|
||||
found.forEach(function(suggestObj) {
|
||||
args.push(suggestObj.name + '@' + suggestObj.suggested);
|
||||
});
|
||||
|
||||
require('child_process').execFile('/usr/bin/env', args, { stdio: 'ignore' }, function(err) {
|
||||
if (!err) {
|
||||
process.stdout.write(' OK\n'.green);
|
||||
}
|
||||
|
||||
callback(err);
|
||||
});
|
||||
} else {
|
||||
process.stdout.write('\nPackage upgrades skipped'.yellow + '. Check for upgrades at any time by running "'.reset + './nodebb upgrade-plugins'.green + '".\n'.reset);
|
||||
callback();
|
||||
}
|
||||
})
|
||||
});
|
||||
};
|
||||
|
||||
switch(process.argv[2]) {
|
||||
case 'status':
|
||||
getRunningPid(function(err, pid) {
|
||||
if (!err) {
|
||||
process.stdout.write('\nNodeBB Running '.bold + '(pid '.cyan + pid.toString().cyan + ')\n'.cyan);
|
||||
process.stdout.write('\t"' + './nodebb stop'.yellow + '" to stop the NodeBB server\n');
|
||||
process.stdout.write('\t"' + './nodebb log'.yellow + '" to view server output\n');
|
||||
process.stdout.write('\t"' + './nodebb restart'.yellow + '" to restart NodeBB\n\n');
|
||||
} else {
|
||||
process.stdout.write('\nNodeBB is not running\n'.bold);
|
||||
process.stdout.write('\t"' + './nodebb start'.yellow + '" to launch the NodeBB server\n\n'.reset);
|
||||
}
|
||||
})
|
||||
break;
|
||||
|
||||
case 'start':
|
||||
process.stdout.write('\nStarting NodeBB\n'.bold);
|
||||
process.stdout.write(' "' + './nodebb stop'.yellow + '" to stop the NodeBB server\n');
|
||||
process.stdout.write(' "' + './nodebb log'.yellow + '" to view server output\n');
|
||||
process.stdout.write(' "' + './nodebb restart'.yellow + '" to restart NodeBB\n\n'.reset);
|
||||
|
||||
// Spawn a new NodeBB process
|
||||
cproc.fork(__dirname + '/loader.js', {
|
||||
env: process.env
|
||||
});
|
||||
break;
|
||||
|
||||
case 'stop':
|
||||
getRunningPid(function(err, pid) {
|
||||
if (!err) {
|
||||
process.kill(pid, 'SIGTERM');
|
||||
process.stdout.write('Stopping NodeBB. Goodbye!\n')
|
||||
} else {
|
||||
process.stdout.write('NodeBB is already stopped.\n');
|
||||
}
|
||||
});
|
||||
break;
|
||||
|
||||
case 'restart':
|
||||
getRunningPid(function(err, pid) {
|
||||
if (!err) {
|
||||
process.kill(pid, 'SIGHUP');
|
||||
process.stdout.write('\nRestarting NodeBB\n'.bold);
|
||||
} else {
|
||||
process.stdout.write('NodeBB could not be restarted, as a running instance could not be found.\n');
|
||||
}
|
||||
});
|
||||
break;
|
||||
|
||||
case 'reload':
|
||||
getRunningPid(function(err, pid) {
|
||||
if (!err) {
|
||||
process.kill(pid, 'SIGUSR2');
|
||||
} else {
|
||||
process.stdout.write('NodeBB could not be reloaded, as a running instance could not be found.\n');
|
||||
}
|
||||
});
|
||||
break;
|
||||
|
||||
case 'dev':
|
||||
process.env.NODE_ENV = 'development';
|
||||
cproc.fork(__dirname + '/loader.js', ['--no-daemon', '--no-silent'], {
|
||||
env: process.env
|
||||
});
|
||||
break;
|
||||
|
||||
case 'log':
|
||||
process.stdout.write('\nType '.red + 'Ctrl-C '.bold + 'to exit'.red);
|
||||
process.stdout.write('\n\n'.reset);
|
||||
cproc.spawn('tail', ['-F', './logs/output.log'], {
|
||||
cwd: __dirname,
|
||||
stdio: 'inherit'
|
||||
});
|
||||
break;
|
||||
|
||||
case 'setup':
|
||||
cproc.fork('app.js', ['--setup'], {
|
||||
cwd: __dirname,
|
||||
silent: false
|
||||
});
|
||||
break;
|
||||
|
||||
case 'reset':
|
||||
var args = process.argv.slice(0);
|
||||
args.unshift('--reset');
|
||||
fork(args);
|
||||
break;
|
||||
|
||||
case 'activate':
|
||||
var args = process.argv.slice(0);
|
||||
args.unshift('--activate');
|
||||
fork(args);
|
||||
break;
|
||||
|
||||
case 'plugins':
|
||||
var args = process.argv.slice(0);
|
||||
args.unshift('--plugins');
|
||||
fork(args);
|
||||
break;
|
||||
|
||||
case 'upgrade-plugins':
|
||||
upgradePlugins();
|
||||
break;
|
||||
|
||||
case 'upgrade':
|
||||
async.series([
|
||||
function(next) {
|
||||
process.stdout.write('1. '.bold + 'Bringing base dependencies up to date... '.yellow);
|
||||
require('child_process').execFile('/usr/bin/env', ['npm', 'i', '--production'], { stdio: 'ignore' }, next);
|
||||
},
|
||||
function(next) {
|
||||
process.stdout.write('OK\n'.green);
|
||||
process.stdout.write('2. '.bold + 'Checking installed plugins for updates... '.yellow);
|
||||
upgradePlugins(next);
|
||||
},
|
||||
function(next) {
|
||||
process.stdout.write('3. '.bold + 'Updating NodeBB data store schema...\n'.yellow);
|
||||
var upgradeProc = cproc.fork('app.js', ['--upgrade'], {
|
||||
cwd: __dirname,
|
||||
silent: false
|
||||
});
|
||||
|
||||
upgradeProc.on('close', next)
|
||||
}
|
||||
], function(err) {
|
||||
if (err) {
|
||||
process.stdout.write('\nError'.red + ': ' + err.message + '\n');
|
||||
} else {
|
||||
var message = 'NodeBB Upgrade Complete!';
|
||||
// some consoles will return undefined/zero columns, so just use 2 spaces in upgrade script if we can't get our column count
|
||||
var columns = process.stdout.columns;
|
||||
var spaces = columns ? new Array(Math.floor(columns / 2) - (message.length / 2) + 1).join(' ') : " ";
|
||||
|
||||
process.stdout.write('OK\n'.green);
|
||||
process.stdout.write('\n' + spaces + message.green.bold + '\n\n'.reset);
|
||||
}
|
||||
});
|
||||
break;
|
||||
|
||||
default:
|
||||
process.stdout.write('\nWelcome to NodeBB\n\n'.bold);
|
||||
process.stdout.write('Usage: ./nodebb {start|stop|reload|restart|log|setup|reset|upgrade|dev}\n\n');
|
||||
process.stdout.write('\t' + 'start'.yellow + '\tStart the NodeBB server\n');
|
||||
process.stdout.write('\t' + 'stop'.yellow + '\tStops the NodeBB server\n');
|
||||
process.stdout.write('\t' + 'reload'.yellow + '\tRestarts NodeBB\n');
|
||||
process.stdout.write('\t' + 'restart'.yellow + '\tRestarts NodeBB\n');
|
||||
process.stdout.write('\t' + 'log'.yellow + '\tOpens the logging interface (useful for debugging)\n');
|
||||
process.stdout.write('\t' + 'setup'.yellow + '\tRuns the NodeBB setup script\n');
|
||||
process.stdout.write('\t' + 'reset'.yellow + '\tDisables all plugins, restores the default theme.\n');
|
||||
process.stdout.write('\t' + 'activate'.yellow + '\tActivate a plugin on start up.\n');
|
||||
process.stdout.write('\t' + 'plugins'.yellow + '\tList all plugins that have been installed.\n');
|
||||
process.stdout.write('\t' + 'upgrade'.yellow + '\tRun NodeBB upgrade scripts, ensure packages are up-to-date\n');
|
||||
process.stdout.write('\t' + 'dev'.yellow + '\tStart NodeBB in interactive development mode\n');
|
||||
process.stdout.write('\n'.reset);
|
||||
break;
|
||||
}
|
||||
*)
|
||||
echo "Welcome to NodeBB"
|
||||
echo $"Usage: $0 {start|stop|reload|restart|log|setup|reset|upgrade|dev|watch}"
|
||||
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
|
||||
watch Start NodeBB in development mode and watch for changes
|
||||
'
|
||||
exit 1
|
||||
esac
|
||||
|
||||
3269
npm-shrinkwrap.json
generated
Normal file
3269
npm-shrinkwrap.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
95
package.json
95
package.json
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"name": "nodebb",
|
||||
"license": "GPL-3.0",
|
||||
"license": "GPLv3 or later",
|
||||
"description": "NodeBB Forum",
|
||||
"version": "1.0.2",
|
||||
"version": "0.7.0",
|
||||
"homepage": "http://www.nodebb.org",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -14,75 +14,62 @@
|
||||
"test": "mocha ./tests -t 10000"
|
||||
},
|
||||
"dependencies": {
|
||||
"async": "~1.5.0",
|
||||
"autoprefixer": "^6.2.3",
|
||||
"bcryptjs": "~2.3.0",
|
||||
"async": "~0.9.0",
|
||||
"bcryptjs": "~2.1.0",
|
||||
"body-parser": "^1.9.0",
|
||||
"colors": "^1.1.0",
|
||||
"compression": "^1.1.0",
|
||||
"connect-ensure-login": "^0.1.1",
|
||||
"connect-flash": "^0.1.1",
|
||||
"connect-mongo": "~1.1.0",
|
||||
"connect-multiparty": "^2.0.0",
|
||||
"connect-redis": "~3.0.2",
|
||||
"connect-multiparty": "^1.2.4",
|
||||
"cookie-parser": "^1.3.3",
|
||||
"cron": "^1.0.5",
|
||||
"csurf": "^1.6.1",
|
||||
"daemon": "~1.1.0",
|
||||
"express": "^4.9.5",
|
||||
"express-session": "^1.8.2",
|
||||
"express-useragent": "0.2.4",
|
||||
"html-to-text": "2.0.0",
|
||||
"ip": "1.1.2",
|
||||
"jimp": "0.2.21",
|
||||
"gm": "1.17.0",
|
||||
"gravatar": "^1.1.0",
|
||||
"heapdump": "^0.3.0",
|
||||
"less": "^2.0.0",
|
||||
"logrotate-stream": "^0.2.3",
|
||||
"lru-cache": "4.0.0",
|
||||
"lru-cache": "^2.6.1",
|
||||
"mime": "^1.3.4",
|
||||
"minimist": "^1.1.1",
|
||||
"mkdirp": "~0.5.0",
|
||||
"mongodb": "~2.1.3",
|
||||
"mmmagic": "^0.3.13",
|
||||
"morgan": "^1.3.2",
|
||||
"nconf": "~0.8.2",
|
||||
"nodebb-plugin-composer-default": "3.0.11",
|
||||
"nodebb-plugin-dbsearch": "1.0.0",
|
||||
"nodebb-plugin-emoji-extended": "1.0.3",
|
||||
"nodebb-plugin-markdown": "4.0.17",
|
||||
"nodebb-plugin-mentions": "1.0.20",
|
||||
"nodebb-plugin-soundpack-default": "0.1.6",
|
||||
"nodebb-plugin-spam-be-gone": "0.4.5",
|
||||
"nodebb-rewards-essentials": "0.0.8",
|
||||
"nodebb-theme-lavender": "3.0.9",
|
||||
"nodebb-theme-persona": "4.0.100",
|
||||
"nodebb-theme-vanilla": "5.0.56",
|
||||
"nodebb-widget-essentials": "2.0.8",
|
||||
"nodemailer": "2.0.0",
|
||||
"nodemailer-sendmail-transport": "1.0.0",
|
||||
"nodemailer-smtp-transport": "^2.4.1",
|
||||
"passport": "^0.3.0",
|
||||
"nconf": "~0.7.1",
|
||||
"nodebb-plugin-dbsearch": "^0.2.12",
|
||||
"nodebb-plugin-emoji-extended": "^0.4.8",
|
||||
"nodebb-plugin-markdown": "^2.1.7",
|
||||
"nodebb-plugin-mentions": "^0.11.4",
|
||||
"nodebb-plugin-soundpack-default": "^0.1.1",
|
||||
"nodebb-plugin-spam-be-gone": "^0.4.0",
|
||||
"nodebb-theme-lavender": "^1.0.42",
|
||||
"nodebb-theme-vanilla": "^1.0.130",
|
||||
"nodebb-theme-persona": "^0.1.55",
|
||||
"nodebb-widget-essentials": "^1.0.2",
|
||||
"nodebb-rewards-essentials": "^0.0.1",
|
||||
"npm": "^2.1.4",
|
||||
"passport": "^0.2.1",
|
||||
"passport-local": "1.0.0",
|
||||
"postcss": "^5.0.13",
|
||||
"prompt": "^1.0.0",
|
||||
"redis": "~2.4.2",
|
||||
"prompt": "^0.2.14",
|
||||
"request": "^2.44.0",
|
||||
"rimraf": "~2.5.0",
|
||||
"rimraf": "~2.3.2",
|
||||
"rss": "^1.0.0",
|
||||
"semver": "^5.0.1",
|
||||
"semver": "^4.3.3",
|
||||
"serve-favicon": "^2.1.5",
|
||||
"sitemap": "^1.4.0",
|
||||
"socket.io": "^1.4.0",
|
||||
"socket.io-client": "^1.4.0",
|
||||
"socket.io-redis": "^1.0.0",
|
||||
"socketio-wildcard": "~0.3.0",
|
||||
"sitemap": "^0.8.1",
|
||||
"socket.io": "^1.2.1",
|
||||
"socket.io-client": "^1.2.1",
|
||||
"socket.io-redis": "^0.1.3",
|
||||
"socketio-wildcard": "~0.1.1",
|
||||
"string": "^3.0.0",
|
||||
"templates.js": "0.3.3",
|
||||
"toobusy-js": "^0.4.2",
|
||||
"uglify-js": "^2.6.0",
|
||||
"underscore": "^1.8.3",
|
||||
"underscore.deep": "^0.5.1",
|
||||
"validator": "^5.0.0",
|
||||
"winston": "^2.1.0",
|
||||
"xregexp": "~3.1.0"
|
||||
"templates.js": "^0.2.3",
|
||||
"uglify-js": "git+https://github.com/julianlam/UglifyJS2.git",
|
||||
"underscore": "~1.8.3",
|
||||
"validator": "^3.30.0",
|
||||
"winston": "^0.9.0",
|
||||
"xregexp": "~2.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"mocha": "~1.13.0",
|
||||
@@ -98,17 +85,17 @@
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "Andrew Rodrigues",
|
||||
"email": "andrew@nodebb.org",
|
||||
"email": "andrew@designcreateplay.com",
|
||||
"url": "https://github.com/psychobunny"
|
||||
},
|
||||
{
|
||||
"name": "Julian Lam",
|
||||
"email": "julian@nodebb.org",
|
||||
"email": "julian@designcreateplay.com",
|
||||
"url": "https://github.com/julianlam"
|
||||
},
|
||||
{
|
||||
"name": "Barış Soner Uşaklı",
|
||||
"email": "baris@nodebb.org",
|
||||
"email": "baris@designcreateplay.com",
|
||||
"url": "https://github.com/barisusakli"
|
||||
}
|
||||
]
|
||||
|
||||
160
public/503.html
160
public/503.html
@@ -1,160 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Excessive Load Warning</title>
|
||||
<link href='http://fonts.googleapis.com/css?family=Ubuntu:400,500,700' rel='stylesheet' type='text/css'>
|
||||
<style type="text/css">
|
||||
body {
|
||||
background: #00A9EA;
|
||||
color: white;
|
||||
font-family: 'Ubuntu', sans-serif;
|
||||
text-align: center;
|
||||
-webkit-transform-style: preserve-3d;
|
||||
-moz-transform-style: preserve-3d;
|
||||
transform-style: preserve-3d;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 250px;
|
||||
color: #fff;
|
||||
opacity: 0.5;
|
||||
margin: 10px;
|
||||
cursor: pointer;
|
||||
-moz-user-select: none;
|
||||
-khtml-user-select: none;
|
||||
-webkit-user-select: none;
|
||||
}
|
||||
|
||||
p {
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
p strong {
|
||||
font-size: 28px;
|
||||
}
|
||||
|
||||
.center {
|
||||
position: relative;
|
||||
top: 50%;
|
||||
-webkit-transform: translateY(50%);
|
||||
-ms-transform: translateY(50%);
|
||||
transform: translateY(50%);
|
||||
}
|
||||
|
||||
@-webkit-keyframes bounce {
|
||||
0%, 20%, 53%, 80%, 100% {
|
||||
-webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
||||
transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
||||
-webkit-transform: translate3d(0,0,0);
|
||||
transform: translate3d(0,0,0);
|
||||
}
|
||||
|
||||
40%, 43% {
|
||||
-webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
|
||||
transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
|
||||
-webkit-transform: translate3d(0, -30px, 0);
|
||||
transform: translate3d(0, -30px, 0);
|
||||
}
|
||||
|
||||
70% {
|
||||
-webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
|
||||
transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
|
||||
-webkit-transform: translate3d(0, -15px, 0);
|
||||
transform: translate3d(0, -15px, 0);
|
||||
}
|
||||
|
||||
90% {
|
||||
-webkit-transform: translate3d(0,-4px,0);
|
||||
transform: translate3d(0,-4px,0);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes bounce {
|
||||
0%, 20%, 53%, 80%, 100% {
|
||||
-webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
||||
transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
||||
-webkit-transform: translate3d(0,0,0);
|
||||
transform: translate3d(0,0,0);
|
||||
}
|
||||
|
||||
40%, 43% {
|
||||
-webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
|
||||
transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
|
||||
-webkit-transform: translate3d(0, -30px, 0);
|
||||
transform: translate3d(0, -30px, 0);
|
||||
}
|
||||
|
||||
70% {
|
||||
-webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
|
||||
transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
|
||||
-webkit-transform: translate3d(0, -15px, 0);
|
||||
transform: translate3d(0, -15px, 0);
|
||||
}
|
||||
|
||||
90% {
|
||||
-webkit-transform: translate3d(0,-4px,0);
|
||||
transform: translate3d(0,-4px,0);
|
||||
}
|
||||
}
|
||||
|
||||
.bounce {
|
||||
-webkit-animation-name: bounce;
|
||||
animation-name: bounce;
|
||||
-webkit-transform-origin: center bottom;
|
||||
-ms-transform-origin: center bottom;
|
||||
transform-origin: center bottom;
|
||||
}
|
||||
|
||||
.animated {
|
||||
-webkit-animation-duration: 1s;
|
||||
animation-duration: 1s;
|
||||
-webkit-animation-fill-mode: both;
|
||||
animation-fill-mode: both;
|
||||
}
|
||||
|
||||
.animated.infinite {
|
||||
-webkit-animation-iteration-count: infinite;
|
||||
animation-iteration-count: infinite;
|
||||
}
|
||||
|
||||
.animated.hinge {
|
||||
-webkit-animation-duration: 2s;
|
||||
animation-duration: 2s;
|
||||
}
|
||||
|
||||
.hide {
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
window.onload = function() {
|
||||
var count = 0,
|
||||
bounce = document.getElementById('click-me');
|
||||
bounce.onclick = function() {
|
||||
count++;
|
||||
bounce.className = '';
|
||||
setTimeout(function() {
|
||||
bounce.className = 'animated bounce';
|
||||
}, 50);
|
||||
|
||||
if (count > 5) {
|
||||
document.getElementById('hide').className = '';
|
||||
}
|
||||
};
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="wrapper">
|
||||
<div class="center">
|
||||
<h1 id="click-me" class="animated bounce">503</h1>
|
||||
<p>
|
||||
<strong>This forum is temporarily unavailable due to excessive load.</strong> <br />
|
||||
We shouldn't be down for long. Please check back shortly. Sorry for the inconvenience!
|
||||
</p>
|
||||
<p id="hide" class="hide">
|
||||
<small>Alright. You can stop clicking... it's not going to make the site come back sooner!</small>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,16 +1,12 @@
|
||||
{
|
||||
"category": "فئة",
|
||||
"subcategories": "فئة فرعية",
|
||||
"new_topic_button": "موضوع جديد",
|
||||
"guest-login-post": "يجب عليك تسجيل الدخول للرد",
|
||||
"guest-login-post": "المرجو تسجيل الدخول أوَّلا",
|
||||
"no_topics": "<strong>لا توجد مواضيع في هذه الفئة</strong>لم لا تحاول إنشاء موضوع؟<br />",
|
||||
"browsing": "تصفح",
|
||||
"no_replies": "لا توجد ردود.",
|
||||
"no_new_posts": "لا يوجد مشاركات جديدة.",
|
||||
"no_replies": "لم يرد أحد",
|
||||
"share_this_category": "انشر هذه الفئة",
|
||||
"watch": "متابعة",
|
||||
"watch": "Watch",
|
||||
"ignore": "تجاهل",
|
||||
"watch.message": "أنت اﻷن متابع لتحديثات هذه الفئة",
|
||||
"ignore.message": "أنت اﻷن تتجاهل تحديثات هذه الفئة",
|
||||
"watched-categories": "Watched categories"
|
||||
"watch.message": "You are now watching updates from this category",
|
||||
"ignore.message": "You are now ignoring updates from this category"
|
||||
}
|
||||
@@ -1,17 +1,13 @@
|
||||
{
|
||||
"password-reset-requested": "تم طلب إعادة تعيين كلمة المرور - %1!",
|
||||
"password-reset-requested": "تم طلب إعادة تعيين كلمة السر - %1!",
|
||||
"welcome-to": "مرحبًا بك في %1",
|
||||
"invite": "دعوة من %1",
|
||||
"greeting_no_name": "مرحبًا",
|
||||
"greeting_with_name": "مرحبًا بك يا %1",
|
||||
"welcome.text1": "شكرًا على تسجيلك في %1!",
|
||||
"welcome.text2": "لتفعيل حسابك، نحتاج إلى التأكد من صحة عنوان البريد الإلكتروني الذي سجلت به.",
|
||||
"welcome.text3": "تم قبول نتسجيلك ، يمكنك الدخول باتسخدام اسم المستخدم و كلمة المرور.",
|
||||
"welcome.text2": "لتفعيل حسابك، نحتاج إلى التأكد من صحة عنوان البريد الإلكتروني الذي تسجلت به.",
|
||||
"welcome.cta": "انقر هنا لتفعيل عنوان بريدك الإلكتروني",
|
||||
"invitation.text1": "%1 قام بدعوتك للانضمام لـ %2",
|
||||
"invitation.ctr": "إضغط هنا لإنشاء حسابك",
|
||||
"reset.text1": "لقد توصلنا بطلب إعادة تعيين كلمة المرور الخاصة بك، ربما لكونك قد نسيتها, إن لم يكن الأمر كذلك، المرجو تجاهل هذه الرسالة.",
|
||||
"reset.text2": "لمواصلة طلب إعاة تعيين كلمة المرور، الرجاء تتبع هذا الرابط.",
|
||||
"reset.text1": "لقد توصلنا بطلب إعادة تعيين كلمة السرالخاصة بك، ربما لكونك قد نسيتها, إن لم يكن الأمر كذلك، المرجو تجاهل هذه الرسالة.",
|
||||
"reset.text2": "لمواصلة طلب إعاة تعيين كلمة السر، المرجو تتبع هذا الرابط.",
|
||||
"reset.cta": "انقر هنا لإعادة تعيين كلمة السر الخاصة بك.",
|
||||
"reset.notify.subject": "تم تغيير كلمة المرور بنجاح",
|
||||
"reset.notify.text1": "نحيطك علما أن كلمة مرورك قد تم تغييرها في %1",
|
||||
@@ -21,9 +17,6 @@
|
||||
"digest.cta": "انقر هنا لمشاهدة %1",
|
||||
"digest.unsub.info": "تم إرسال هذا الإشعار بآخر المستجدات وفقا لخيارات تسجيلكم.",
|
||||
"digest.no_topics": "ليس هناك مواضيع نشيطة في %1 الماضي",
|
||||
"digest.day": "day",
|
||||
"digest.week": "week",
|
||||
"digest.month": "month",
|
||||
"notif.chat.subject": "هناك محادثة جديدة من %1",
|
||||
"notif.chat.cta": "انقر هنا لمتابعة المحادثة",
|
||||
"notif.chat.unsub.info": "تم إرسال هذا الإشعار بوجودة محادثة جديدة وفقا لخيارات تسجيلك.",
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"invalid-data": "بيانات غير صالحة",
|
||||
"not-logged-in": "لم تقم بتسجيل الدخول",
|
||||
"account-locked": "تم حظر حسابك مؤقتًا.",
|
||||
"search-requires-login": "البحث في المنتدى يتطلب حساب - الرجاء تسجيل الدخول أو التسجيل",
|
||||
"account-locked": "تم إقفال حسابكم مؤقتًا.",
|
||||
"search-requires-login": "Searching requires an account - please login or register.",
|
||||
"invalid-cid": "قائمة غير موجودة",
|
||||
"invalid-tid": "موضوع غير متواجد",
|
||||
"invalid-pid": "رد غير موجود",
|
||||
@@ -14,17 +14,16 @@
|
||||
"invalid-password": "كلمة السر غير مقبولة",
|
||||
"invalid-username-or-password": "المرجود تحديد اسم مستخدم و كلمة مرور",
|
||||
"invalid-search-term": "كلمة البحث غير صحيحة",
|
||||
"invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2",
|
||||
"invalid-pagination-value": "رقم الصفحة غير موجود",
|
||||
"username-taken": "اسم المستخدم مأخوذ",
|
||||
"email-taken": "البريد الالكتروني مأخوذ",
|
||||
"email-not-confirmed": "عنوان بريدك الإلكتروني غير مفعل بعد. انقر هنا لتفعيله من فضلك.",
|
||||
"email-not-confirmed-chat": "لا يمكنك الدردشة حتى تقوم بتأكيد بريدك الإلكتروني، الرجاء إضغط هنا لتأكيد بريدك اﻹلكتروني.",
|
||||
"email-not-confirmed-chat": "You are unable to chat until your email is confirmed, please click here to confirm your email.",
|
||||
"no-email-to-confirm": "هذا المنتدى يستلزم تفعيل بريدك الإلكتروني، انقر هنا من فضلك لإدخاله.",
|
||||
"email-confirm-failed": "لم نستطع تفعيل بريدك الإلكتروني، المرجو المحاولة لاحقًا.",
|
||||
"confirm-email-already-sent": "لقد تم ارسال بريد التأكيد، الرجاء اﻹنتظار 1% دقائق لإعادة اﻹرسال",
|
||||
"confirm-email-already-sent": "Confirmation email already sent, please wait %1 minute(s) to send another one.",
|
||||
"username-too-short": "اسم المستخدم قصير.",
|
||||
"username-too-long": "اسم المستخدم طويل",
|
||||
"password-too-long": "Password too long",
|
||||
"user-banned": "المستخدم محظور",
|
||||
"user-too-new": "عذرا, يجب أن تنتظر 1% ثواني قبل قيامك بأول مشاركة",
|
||||
"no-category": "قائمة غير موجودة",
|
||||
@@ -34,9 +33,11 @@
|
||||
"no-user": "اسم مستخدم غير موجود",
|
||||
"no-teaser": "مقتطف غير موجود",
|
||||
"no-privileges": "لاتملك الصلاحيات اللازمة للقيام بهذه العملية",
|
||||
"no-emailers-configured": "لا يمكن إرسال رسالة إلكترونية تجريبية لعدم وجود قوالب خاصة بالرسائل الإلكترونية،",
|
||||
"category-disabled": "قائمة معطلة",
|
||||
"topic-locked": "الموضوع مقفول",
|
||||
"post-edit-duration-expired": "You are only allowed to edit posts for %1 second(s) after posting",
|
||||
"still-uploading": "الرجاء انتظار الرفع",
|
||||
"content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).",
|
||||
"content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).",
|
||||
"title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).",
|
||||
@@ -45,26 +46,19 @@
|
||||
"too-many-posts-newbie": "As a new user, you can only post once every %1 second(s) until you have earned %2 reputation - please wait before posting again",
|
||||
"tag-too-short": "Please enter a longer tag. Tags should contain at least %1 character(s)",
|
||||
"tag-too-long": "Please enter a shorter tag. Tags can't be longer than %1 character(s)",
|
||||
"not-enough-tags": "Not enough tags. Topics must have at least %1 tag(s)",
|
||||
"too-many-tags": "Too many tags. Topics can't have more than %1 tag(s)",
|
||||
"still-uploading": "الرجاء انتظار الرفع",
|
||||
"file-too-big": "Maximum allowed file size is %1 kB - please upload a smaller file",
|
||||
"guest-upload-disabled": "Guest uploading has been disabled",
|
||||
"already-favourited": "You have already bookmarked this post",
|
||||
"already-unfavourited": "You have already unbookmarked this post",
|
||||
"cant-vote-self-post": "لايمكنك التصويت لردك",
|
||||
"already-favourited": "لقد سبق وأضفت هذا الرد إلى المفضلة",
|
||||
"already-unfavourited": "لقد سبق وحذفت هذا الرد من المفضلة",
|
||||
"cant-ban-other-admins": "لايمكن حظر مدبر نظام آخر.",
|
||||
"cant-remove-last-admin": "You are the only administrator. Add another user as an administrator before removing yourself as admin",
|
||||
"invalid-image-type": "Invalid image type. Allowed types are: %1",
|
||||
"invalid-image-extension": "Invalid image extension",
|
||||
"invalid-file-type": "Invalid file type. Allowed types are: %1",
|
||||
"group-name-too-short": "اسم المجموعة قصير",
|
||||
"group-already-exists": "المجموعة موجودة مسبقا",
|
||||
"group-name-change-not-allowed": "لايسمح بتغيير أسماء المجموعات",
|
||||
"group-already-member": "Already part of this group",
|
||||
"group-not-member": "Not a member of this group",
|
||||
"group-needs-owner": "هذه المجموعة تتطلب مالك واحد على اﻷقل",
|
||||
"group-already-invited": "This user has already been invited",
|
||||
"group-already-requested": "Your membership request has already been submitted",
|
||||
"group-already-member": "You are already part of this group",
|
||||
"group-needs-owner": "This group requires at least one owner",
|
||||
"post-already-deleted": "سبق وتم حذف هذا الرد",
|
||||
"post-already-restored": "سبق وتم إلغاء حذف هذا الرد",
|
||||
"topic-already-deleted": "سبق وتم حذف هذا الموضوع",
|
||||
@@ -73,29 +67,18 @@
|
||||
"topic-thumbnails-are-disabled": "الصور المصغرة غير مفعلة.",
|
||||
"invalid-file": "ملف غير مقبول",
|
||||
"uploads-are-disabled": "رفع الملفات غير مفعل",
|
||||
"signature-too-long": "عذرا، توقيعك يجب ألا يتجاوز %1 حرفًا.",
|
||||
"signature-too-long": "Sorry, your signature cannot be longer than %1 character(s).",
|
||||
"about-me-too-long": "Sorry, your about me cannot be longer than %1 character(s).",
|
||||
"cant-chat-with-yourself": "لايمكنك فتح محادثة مع نفسك",
|
||||
"chat-restricted": "هذا المستخدم عطل المحادثات الواردة عليه. يجب أن يتبعك حتى تتمكن من فتح محادثة معه.",
|
||||
"chat-disabled": "Chat system disabled",
|
||||
"too-many-messages": "لقد أرسلت الكثير من الرسائل، الرجاء اﻹنتظار قليلاً",
|
||||
"invalid-chat-message": "Invalid chat message",
|
||||
"chat-message-too-long": "Chat message is too long",
|
||||
"cant-edit-chat-message": "You are not allowed to edit this message",
|
||||
"cant-remove-last-user": "You can't remove the last user",
|
||||
"cant-delete-chat-message": "You are not allowed to delete this message",
|
||||
"too-many-messages": "You have sent too many messages, please wait awhile.",
|
||||
"reputation-system-disabled": "نظام السمعة معطل",
|
||||
"downvoting-disabled": "التصويتات السلبية معطلة",
|
||||
"not-enough-reputation-to-downvote": "ليس لديك سمعة تكفي لإضافة صوت سلبي لهذا الموضوع",
|
||||
"not-enough-reputation-to-flag": "ليس لديك سمعة تكفي للإشعار بموضوع مخل",
|
||||
"already-flagged": "You have already flagged this post",
|
||||
"reload-failed": "المنتدى واجه مشكلة أثناء إعادة التحميل: \"%1\". سيواصل المنتدى خدمة العملاء السابقين لكن يجب عليك إلغاء أي تغيير قمت به قبل إعادة التحميل.",
|
||||
"registration-error": "حدث خطأ أثناء التسجيل",
|
||||
"parse-error": "حدث خطأ ما أثناء تحليل استجابة الخادم",
|
||||
"parse-error": "Something went wrong while parsing server response",
|
||||
"wrong-login-type-email": "الرجاء استعمال بريدك اﻹلكتروني للدخول",
|
||||
"wrong-login-type-username": "الرجاء استعمال اسم المستخدم الخاص بك للدخول",
|
||||
"invite-maximum-met": "You have invited the maximum amount of people (%1 out of %2).",
|
||||
"no-session-found": "No login session found!",
|
||||
"not-in-room": "User not in room",
|
||||
"no-users-in-room": "No users in this room"
|
||||
"wrong-login-type-username": "الرجاء استعمال اسم المستخدم الخاص بك للدخول"
|
||||
}
|
||||
@@ -3,7 +3,7 @@
|
||||
"search": "بحث",
|
||||
"buttons.close": "أغلق",
|
||||
"403.title": "غير مسموح بالدخول",
|
||||
"403.message": "يبدو أنك قد تعثرت على صفحة لا تمتلك الصلاحية للدخول إليها",
|
||||
"403.message": "You seem to have stumbled upon a page that you do not have access to.",
|
||||
"403.login": "Perhaps you should <a href='%1/login'>try logging in</a>?",
|
||||
"404.title": "لم يتم العثور",
|
||||
"404.message": "You seem to have stumbled upon a page that does not exist. Return to the <a href='%1/'>home page</a>.",
|
||||
@@ -22,7 +22,6 @@
|
||||
"pagination.out_of": "%1 من %2",
|
||||
"pagination.enter_index": "أدخل الرقم التسلسلي",
|
||||
"header.admin": "مدبر نظام",
|
||||
"header.categories": "الفئات",
|
||||
"header.recent": "حديث",
|
||||
"header.unread": "غير مقروء",
|
||||
"header.tags": "وسم",
|
||||
@@ -33,7 +32,6 @@
|
||||
"header.notifications": "التنبيهات",
|
||||
"header.search": "بحث",
|
||||
"header.profile": "ملف",
|
||||
"header.navigation": "Navigation",
|
||||
"notifications.loading": "تحميل التبليغات",
|
||||
"chats.loading": "تحميل الدردشات",
|
||||
"motd.welcome": "مرحبا بكم NodeBB، منصة مناقشة المستقبل",
|
||||
@@ -49,29 +47,25 @@
|
||||
"users": "الأعضاء",
|
||||
"topics": "المواضيع",
|
||||
"posts": "المشاركات",
|
||||
"best": "Best",
|
||||
"upvoted": "Upvoted",
|
||||
"downvoted": "Downvoted",
|
||||
"views": "المشاهدات",
|
||||
"reputation": "السمعة",
|
||||
"read_more": "اقرأ المزيد",
|
||||
"more": "المزيد",
|
||||
"posted_ago_by_guest": "كتب %1 من طرف زائر",
|
||||
"posted_ago_by": "كتب %1 من طرف %2",
|
||||
"posted_ago": "كتب %1",
|
||||
"posted_in": "posted in %1",
|
||||
"posted_in_by": "posted in %1 by %2",
|
||||
"posted_in_ago": "كتب في %1 %2",
|
||||
"posted_in_ago_by_guest": "كتب في %1 %2 من طرف زائر",
|
||||
"posted_in_ago_by": "كتب في %1 %2 من طرف %3",
|
||||
"posted_in_ago": "كتب في %1 %2",
|
||||
"replied_ago": "رد %1",
|
||||
"user_posted_ago": "%1 كتب %2",
|
||||
"guest_posted_ago": "كتب زائر %1",
|
||||
"last_edited_by": "last edited by %1",
|
||||
"last_edited_by_ago": "آخر تعديل من طرف %1 %2",
|
||||
"norecentposts": "لاوجود لمشاركات جديدة",
|
||||
"norecenttopics": "لاوجود لمواضيع جديدة",
|
||||
"recentposts": "آخر المشاركات",
|
||||
"recentips": "آخر عناوين ال IP التي سجلت الدخول",
|
||||
"away": "غير متواجد",
|
||||
"dnd": "Do not disturb",
|
||||
"dnd": "المرجو عدم الإزعاج",
|
||||
"invisible": "مخفي",
|
||||
"offline": "غير متصل",
|
||||
"email": "عنوان البريد الإلكتروني",
|
||||
@@ -83,12 +77,5 @@
|
||||
"privacy": "الخصوصية",
|
||||
"follow": "متابعة",
|
||||
"unfollow": "إلغاء المتابعة",
|
||||
"delete_all": "حذف الكل",
|
||||
"map": "Map",
|
||||
"sessions": "Login Sessions",
|
||||
"ip_address": "IP Address",
|
||||
"enter_page_number": "Enter page number",
|
||||
"upload_file": "Upload file",
|
||||
"upload": "Upload",
|
||||
"allowed-file-types": "Allowed file types are %1"
|
||||
"delete_all": "حذف الكل"
|
||||
}
|
||||
@@ -6,25 +6,16 @@
|
||||
"no_groups_found": "لاوجدود لمجموعات يمكن معاينتها",
|
||||
"pending.accept": "موافق",
|
||||
"pending.reject": "رفض",
|
||||
"pending.accept_all": "قبول الكل",
|
||||
"pending.reject_all": "رفض الكل",
|
||||
"pending.none": "لايوجد أعضاء ينتظرون التفعيل حالياً",
|
||||
"invited.none": "لايوجد أعضاء مدعوون في حالياً",
|
||||
"invited.uninvite": "إلغ الدعوة",
|
||||
"invited.search": "ابحث عن أعضاء لدعوتهم للمجموعة",
|
||||
"invited.notification_title": "You have been invited to join <strong>%1</strong>",
|
||||
"request.notification_title": "Group Membership Request from <strong>%1</strong>",
|
||||
"request.notification_text": "<strong>%1</strong> has requested to become a member of <strong>%2</strong>",
|
||||
"cover-instructions": "اسحب وأسقِط صورة، اسحبها للموضع المرغوب، وانقر على <strong>حفظ</strong>",
|
||||
"cover-change": "تغيير",
|
||||
"cover-save": "حفظ",
|
||||
"cover-saving": "جاري الحفظ",
|
||||
"details.title": "تفاصيل المجموعة",
|
||||
"details.members": "لائحة الأعضاء",
|
||||
"details.pending": "المستخدمون في الانتظار",
|
||||
"details.invited": "اﻷعضار المدعوون",
|
||||
"details.has_no_posts": "أعضاء هذه المجموعة لم يضيفوا أية مشاركة",
|
||||
"details.latest_posts": "آخر المشاركات",
|
||||
"details.private": "خاص",
|
||||
"details.disableJoinRequests": "Disable join requests",
|
||||
"details.grant": "منح/سحب المِلكية",
|
||||
"details.kick": "طرد",
|
||||
"details.owner_options": "إدارة المجموعة",
|
||||
@@ -39,15 +30,7 @@
|
||||
"details.userTitleEnabled": "إظهار الوسام",
|
||||
"details.private_help": "في حالة تفعيل الخيار، الانضمام إلى المجموعة يستلزم قبول مالكها",
|
||||
"details.hidden": "مخفي",
|
||||
"details.hidden_help": "في حالة تفعيل الخيار، لن تظهر المجموعة للعموم والإنضمام إليها سيتلزم دعوة.",
|
||||
"details.delete_group": "حذف المجموعة",
|
||||
"details.hidden_help": "في حالة تفعيل الخيار، لن تظهر المجموعة للعموم والإنضمام إليها سيتلزم دعوة يدوية.",
|
||||
"event.updated": "تم تحديث بيانات المجموعة",
|
||||
"event.deleted": "تم حذف المجموعة %1",
|
||||
"membership.accept-invitation": "اقبل الدعوة",
|
||||
"membership.invitation-pending": "الدعوة بانتظار القبول",
|
||||
"membership.join-group": "انظم للمجموعة",
|
||||
"membership.leave-group": "غادر المجموعة",
|
||||
"membership.reject": "رفض",
|
||||
"new-group.group_name": "اسم المجموعة",
|
||||
"upload-group-cover": "Upload group cover"
|
||||
"event.deleted": "تم حذف المجموعة %1"
|
||||
}
|
||||
@@ -7,5 +7,5 @@
|
||||
"alternative_logins": "تسجيلات الدخول البديلة",
|
||||
"failed_login_attempt": "فشلت محاولة تسجيل الدخول، يرجى المحاولة مرة أخرى.",
|
||||
"login_successful": "قمت بتسجيل الدخول بنجاح!",
|
||||
"dont_have_account": "لا تملك حساب؟"
|
||||
"dont_have_account": "لم تفتح حسابك بعد؟"
|
||||
}
|
||||
@@ -5,9 +5,8 @@
|
||||
"chat.no_active": "لا يوجد لديك دردشات نشطة.",
|
||||
"chat.user_typing": "%1 يكتب رسالة...",
|
||||
"chat.user_has_messaged_you": "%1 أرسل لك رسالة.",
|
||||
"chat.see_all": "عرض كل المحادثات",
|
||||
"chat.see_all": "معاينة كل الدردشات",
|
||||
"chat.no-messages": "المرجو اختيار مرسل إليه لمعاينة تاريخ الدردشات",
|
||||
"chat.no-users-in-room": "No users in this room",
|
||||
"chat.recent-chats": "آخر الدردشات",
|
||||
"chat.contacts": "الأصدقاء",
|
||||
"chat.message-history": "تاريخ الرسائل",
|
||||
@@ -16,22 +15,12 @@
|
||||
"chat.seven_days": "7 أيام",
|
||||
"chat.thirty_days": "30 يومًا",
|
||||
"chat.three_months": "3 أشهر",
|
||||
"chat.delete_message_confirm": "Are you sure you wish to delete this message?",
|
||||
"chat.roomname": "Chat Room %1",
|
||||
"chat.add-users-to-room": "Add users to room",
|
||||
"composer.compose": "اكتب",
|
||||
"composer.compose": "Compose",
|
||||
"composer.show_preview": "عرض المعاينة",
|
||||
"composer.hide_preview": "إخفاء المعاينة",
|
||||
"composer.user_said_in": "%1 كتب في %2",
|
||||
"composer.user_said": "%1 كتب:",
|
||||
"composer.discard": "هل أنت متأكد أنك تريد التخلي عن التغييرات؟",
|
||||
"composer.submit_and_lock": "Submit and Lock",
|
||||
"composer.toggle_dropdown": "Toggle Dropdown",
|
||||
"composer.uploading": "Uploading %1",
|
||||
"bootbox.ok": "OK",
|
||||
"bootbox.cancel": "إلغاء",
|
||||
"bootbox.confirm": "تأكيد",
|
||||
"cover.dragging_title": "Cover Photo Positioning",
|
||||
"cover.dragging_message": "Drag the cover photo to the desired position and click \"Save\"",
|
||||
"cover.saved": "Cover photo image and position saved"
|
||||
"composer.toggle_dropdown": "Toggle Dropdown"
|
||||
}
|
||||
@@ -1,36 +1,25 @@
|
||||
{
|
||||
"title": "التنبيهات",
|
||||
"no_notifs": "ليس لديك أية تنبيهات جديدة",
|
||||
"see_all": "عرض كل التنبيهات",
|
||||
"see_all": "معاينة كل التنبيهات",
|
||||
"mark_all_read": "اجعل كل التنبيهات مقروءة",
|
||||
"back_to_home": "عودة إلى %1",
|
||||
"outgoing_link": "رابط خارجي",
|
||||
"outgoing_link_message": "You are now leaving %1",
|
||||
"outgoing_link_message": "أنت تغادر %1 حاليا.",
|
||||
"continue_to": "استمر إلى %1",
|
||||
"return_to": "عودة إى %1",
|
||||
"new_notification": "تنبيه جديد",
|
||||
"you_have_unread_notifications": "لديك تنبيهات غير مقروءة.",
|
||||
"new_message_from": "رسالة جديدة من <strong>%1</strong>",
|
||||
"upvoted_your_post_in": "<strong>%1</strong> أضاف صوتًا إيجابيا إلى مشاركتك في <strong>%2</strong>.",
|
||||
"upvoted_your_post_in_dual": "<strong>%1</strong> and <strong>%2</strong> have upvoted your post in <strong>%3</strong>.",
|
||||
"upvoted_your_post_in_multiple": "<strong>%1</strong> and %2 others have upvoted your post in <strong>%3</strong>.",
|
||||
"moved_your_post": "<strong>%1</strong> has moved your post to <strong>%2</strong>",
|
||||
"moved_your_topic": "<strong>%1</strong> has moved <strong>%2</strong>",
|
||||
"favourited_your_post_in": "<strong>%1</strong> has bookmarked your post in <strong>%2</strong>.",
|
||||
"favourited_your_post_in_dual": "<strong>%1</strong> and <strong>%2</strong> have bookmarked your post in <strong>%3</strong>.",
|
||||
"favourited_your_post_in_multiple": "<strong>%1</strong> and %2 others have bookmarked your post in <strong>%3</strong>.",
|
||||
"moved_your_post": "<strong>%1</strong> نقل مشاركتك.",
|
||||
"moved_your_topic": "<strong>%1</strong> نقل موضوعك.",
|
||||
"favourited_your_post_in": "<strong>%1</strong> أضاف مشاركتك في <strong>%2</strong> إلى مفضلته.",
|
||||
"user_flagged_post_in": "<strong>%1</strong> أشعَرَ بمشاركة مخلة في <strong>%2</strong>",
|
||||
"user_flagged_post_in_dual": "<strong>%1</strong> and <strong>%2</strong> flagged a post in <strong>%3</strong>",
|
||||
"user_flagged_post_in_multiple": "<strong>%1</strong> and %2 others flagged a post in <strong>%3</strong>",
|
||||
"user_posted_to": "<strong>%1</strong> أضاف ردا إلى: <strong>%2</strong>",
|
||||
"user_posted_to_dual": "<strong>%1</strong> and <strong>%2</strong> have posted replies to: <strong>%3</strong>",
|
||||
"user_posted_to_multiple": "<strong>%1</strong> and %2 others have posted replies to: <strong>%3</strong>",
|
||||
"user_posted_topic": "<strong>%1</strong> أنشأ موضوعًا جديدًا: <strong>%2</strong>",
|
||||
"user_mentioned_you_in": "<strong>%1</strong> ذكرَ اسمك في <strong>%2</strong>",
|
||||
"user_started_following_you": "<strong>%1</strong> صار يتابعك.",
|
||||
"user_started_following_you_dual": "<strong>%1</strong> and <strong>%2</strong> started following you.",
|
||||
"user_started_following_you_multiple": "<strong>%1</strong> and %2 others started following you.",
|
||||
"new_register": "<strong>%1</strong> sent a registration request.",
|
||||
"new_register_multiple": "There are <strong>%1</strong> registration requests awaiting review.",
|
||||
"email-confirmed": "تم التحقق من عنوان البريد الإلكتروني",
|
||||
"email-confirmed-message": "شكرًا على إثبات صحة عنوان بريدك الإلكتروني. صار حسابك مفعلًا بالكامل.",
|
||||
"email-confirm-error-message": "حدث خطأ أثناء التحقق من عنوان بريدك الإلكتروني. ربما رمز التفعيل خاطئ أو انتهت صلاحيته.",
|
||||
|
||||
@@ -1,46 +1,21 @@
|
||||
{
|
||||
"home": "الصفحة الرئيسية",
|
||||
"unread": "المواضيع الغير مقروءة",
|
||||
"popular-day": "Popular topics today",
|
||||
"popular-week": "Popular topics this week",
|
||||
"popular-month": "Popular topics this month",
|
||||
"popular-alltime": "All time popular topics",
|
||||
"popular": "المواضيع الأكثر شهرة",
|
||||
"recent": "المواضيع الحديثة",
|
||||
"flagged-posts": "Flagged Posts",
|
||||
"users/online": "اﻷعضاء المتصلون",
|
||||
"users/latest": "أحدث اﻷعضاء",
|
||||
"users/sort-posts": "Users with the most posts",
|
||||
"users/sort-reputation": "Users with the most reputation",
|
||||
"users/banned": "Banned Users",
|
||||
"users/search": "User Search",
|
||||
"users": "اﻷعضاء المسجلون",
|
||||
"notifications": "التنبيهات",
|
||||
"tags": "الكلمات الدلالية",
|
||||
"tags": "Tags",
|
||||
"tag": "Topics tagged under \"%1\"",
|
||||
"register": "Register an account",
|
||||
"login": "Login to your account",
|
||||
"reset": "Reset your account password",
|
||||
"categories": "الفئات",
|
||||
"groups": "المجموعات",
|
||||
"group": "%1 group",
|
||||
"chats": "Chats",
|
||||
"chat": "Chatting with %1",
|
||||
"account/edit": "Editing \"%1\"",
|
||||
"account/edit/password": "Editing password of \"%1\"",
|
||||
"account/edit/username": "Editing username of \"%1\"",
|
||||
"account/edit/email": "Editing email of \"%1\"",
|
||||
"account/following": "People %1 follows",
|
||||
"account/followers": "People who follow %1",
|
||||
"account/posts": "Posts made by %1",
|
||||
"account/topics": "Topics created by %1",
|
||||
"account/groups": "%1's Groups",
|
||||
"account/favourites": "%1's Bookmarked Posts",
|
||||
"account/settings": "User Settings",
|
||||
"account/watched": "Topics watched by %1",
|
||||
"account/upvoted": "Posts upvoted by %1",
|
||||
"account/downvoted": "Posts downvoted by %1",
|
||||
"account/best": "Best posts made by %1",
|
||||
"confirm": "Email Confirmed",
|
||||
"user.edit": "تعديل \"%1\"",
|
||||
"user.following": "المستخدمون الذين يتبعهم %1",
|
||||
"user.followers": "المستخدمون الذين يتبعون %1",
|
||||
"user.posts": "ردود %1",
|
||||
"user.topics": "مواضيع %1",
|
||||
"user.groups": "%1's Groups",
|
||||
"user.favourites": "مفضلات %1",
|
||||
"user.settings": "خيارات المستخدم",
|
||||
"user.watched": "Topics watched by %1",
|
||||
"maintenance.text": "جاري صيانة %1. المرجو العودة لاحقًا.",
|
||||
"maintenance.messageIntro": "بالإضافة إلى ذلك، قام مدبر النظام بترك هذه الرسالة:",
|
||||
"throttled.text": "%1 is currently unavailable due to excessive load. Please come back another time."
|
||||
"maintenance.messageIntro": "بالإضافة إلى ذلك، قام مدبر النظام بترك هذه الرسالة:"
|
||||
}
|
||||
@@ -1,19 +1,18 @@
|
||||
{
|
||||
"register": "تسجيل",
|
||||
"help.email": "افتراضيا، سيتم إخفاء بريدك الإلكتروني من العامة.",
|
||||
"help.email": "افتراضيا، سيتم إخفاء بريدك الإلكتروني من الجمهور.",
|
||||
"help.username_restrictions": "اسم مستخدم فريدة من نوعها بين1% و2% حرفا. يمكن للآخرين ذكرك @ <'span id='your-username> اسم المستخدم </span>.",
|
||||
"help.minimum_password_length": "كلمة المرور يجب أن تكون على الأقل بها 1% أحرف",
|
||||
"help.minimum_password_length": "كلمتك السر يجب أن تكون على الأقل متألفة من 1% أحرف",
|
||||
"email_address": "عنوان البريد الإلكتروني",
|
||||
"email_address_placeholder": "ادخل عنوان البريد الإلكتروني",
|
||||
"username": "اسم المستخدم",
|
||||
"username_placeholder": "أدخل اسم المستخدم",
|
||||
"password": "كلمة المرور",
|
||||
"password_placeholder": "أدخل كلمة المرور",
|
||||
"confirm_password": "تأكيد كلمة المرور",
|
||||
"confirm_password_placeholder": "تأكيد كلمة المرور",
|
||||
"password": "كلمة السر",
|
||||
"password_placeholder": "أدخل كلمة السر",
|
||||
"confirm_password": "تأكيد كلمة السر",
|
||||
"confirm_password_placeholder": "تأكيد كلمة السر",
|
||||
"register_now_button": "قم بالتسجيل الآن",
|
||||
"alternative_registration": "طريقة تسجيل بديلة",
|
||||
"terms_of_use": "شروط الاستخدام",
|
||||
"agree_to_terms_of_use": "أوافق على شروط الاستخدام",
|
||||
"registration-added-to-queue": "Your registration has been added to the approval queue. You will receive an email when it is accepted by an administrator."
|
||||
"agree_to_terms_of_use": "أوافق على شروط الاستخدام"
|
||||
}
|
||||
@@ -1,17 +1,17 @@
|
||||
{
|
||||
"reset_password": "إعادة تعيين كلمة المرور",
|
||||
"update_password": "تحديث كلمة المرور",
|
||||
"password_changed.title": "تم تغير كلمة المرور",
|
||||
"password_changed.message": "<p>تم تغير كلمة المرور بنجاح، الرجاء <a href='/login'>إعادة الدخول</a></p>",
|
||||
"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": "تأكيد كلمة المرور",
|
||||
"new_password": "كلمة السر الجديدة",
|
||||
"repeat_password": "تأكيد كلمة السر",
|
||||
"enter_email": "يرجى إدخال <strong>عنوان البريد الإلكتروني</strong> الخاص بك وسوف نرسل لك رسالة بالبريد الالكتروني مع تعليمات حول كيفية إستعادة حسابك.",
|
||||
"enter_email_address": "ادخل عنوان البريد الإلكتروني",
|
||||
"password_reset_sent": "إعادة تعيين كلمة السر أرسلت",
|
||||
"invalid_email": "بريد إلكتروني غير صالح أو غير موجود",
|
||||
"password_too_short": "كلمة المرور التي أدخلتها قصيرة، الرجاء اختر كلمة مرور مختلفة",
|
||||
"passwords_do_not_match": "كلمتا السر التي أدخلتهما غير متطابقتان",
|
||||
"password_expired": "لقد انتهت صلاحية كلمة المرور الخاصة بك، الرجاء اختيار كلمة مرور جديدة"
|
||||
"password_too_short": "The password entered is too short, please pick a different password.",
|
||||
"passwords_do_not_match": "The two passwords you've entered do not match.",
|
||||
"password_expired": "Your password has expired, please choose a new password"
|
||||
}
|
||||
@@ -1,16 +1,16 @@
|
||||
{
|
||||
"results_matching": "%1 نتيجة (نتائج) موافقة لـ \"%2\", (%3 ثواني)",
|
||||
"no-matches": "لم يتم العثور على نتائج.",
|
||||
"results_matching": "%1 نتيجة (نتائج) موافقة ل \"%2\", (%3 ثواني)",
|
||||
"no-matches": "No matches found",
|
||||
"advanced-search": "بحث متقدم",
|
||||
"in": "في",
|
||||
"titles": "العناوين",
|
||||
"titles-posts": "العناوين والمشاركات",
|
||||
"posted-by": "مشاركة من طرف",
|
||||
"posted-by": "Posted by",
|
||||
"in-categories": "في الفئات",
|
||||
"search-child-categories": "بحث في الفئات الفرعية",
|
||||
"reply-count": "عدد المشاركات",
|
||||
"at-least": "على اﻷقل",
|
||||
"at-most": "على اﻷكثر",
|
||||
"reply-count": "Reply Count",
|
||||
"at-least": "At least",
|
||||
"at-most": "At most",
|
||||
"post-time": "تاريخ المشاركة",
|
||||
"newer-than": "أحدث من",
|
||||
"older-than": "أقدم من",
|
||||
@@ -22,7 +22,7 @@
|
||||
"three-months": "ثلاثة أشهر",
|
||||
"six-months": "ستة أشهر",
|
||||
"one-year": "عام",
|
||||
"sort-by": "عرض حسب",
|
||||
"sort-by": "Sort by",
|
||||
"last-reply-time": "تاريخ آخر رد",
|
||||
"topic-title": "عنوان الموضوع",
|
||||
"number-of-replies": "عدد الردود",
|
||||
@@ -30,11 +30,11 @@
|
||||
"topic-start-date": "تاريخ بدأ الموضوع",
|
||||
"username": "اسم المستخدم",
|
||||
"category": "فئة",
|
||||
"descending": "في ترتيب تنازلي",
|
||||
"ascending": "في ترتيب تصاعدي",
|
||||
"descending": "In descending order",
|
||||
"ascending": "In ascending order",
|
||||
"save-preferences": "حفظ التفضيلات",
|
||||
"clear-preferences": "ازالة التفضيلات",
|
||||
"clear-preferences": "Clear preferences",
|
||||
"search-preferences-saved": "تم حفظ تفضيلات البحث",
|
||||
"search-preferences-cleared": "تم ازالة تفضيلات البحث",
|
||||
"search-preferences-cleared": "Search preferences cleared",
|
||||
"show-results-as": "عرض النتائج كـ"
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"no_tag_topics": "لا يوجد مواضيع بهذه الكلمة الدلالية.",
|
||||
"tags": "الكلمات الدلالية",
|
||||
"no_tag_topics": "لاوجود لمواضيع تحمل هذا الوسم.",
|
||||
"tags": "بطاقات",
|
||||
"enter_tags_here": "Enter tags here, between %1 and %2 characters each.",
|
||||
"enter_tags_here_short": "أدخل الكلمات الدلالية...",
|
||||
"no_tags": "لا يوجد كلمات دلالية بعد."
|
||||
"enter_tags_here_short": "أدخل البطاقات...",
|
||||
"no_tags": "لاتوجد هناك بطاقات بعد."
|
||||
}
|
||||
@@ -13,7 +13,6 @@
|
||||
"notify_me": "تلق تنبيهات بالردود الجديدة في هذا الموضوع",
|
||||
"quote": "اقتبس",
|
||||
"reply": "رد",
|
||||
"reply-as-topic": "Reply as topic",
|
||||
"guest-login-reply": "يجب عليك تسجيل الدخول للرد",
|
||||
"edit": "تعديل",
|
||||
"delete": "حذف",
|
||||
@@ -26,16 +25,15 @@
|
||||
"tools": "أدوات",
|
||||
"flag": "تبليغ",
|
||||
"locked": "مقفل",
|
||||
"bookmark_instructions": "Click here to return to the last unread post in this thread.",
|
||||
"bookmark_instructions": "إضغط هنا للعودة إلى آخر موضع أو غلق للإلغاء",
|
||||
"flag_title": "إشعار بمشاركة مخلة.",
|
||||
"flag_confirm": "هل تريد حقًّا التبليغ بهذه المشاركة؟",
|
||||
"flag_success": "تم الإشعار بهذه المشاركة على أنها مخلة",
|
||||
"deleted_message": "هذه المشاركة محذوفة. فقط من لهم صلاحية الإشراف على ا لمشاركات يمكنهم معاينتها.",
|
||||
"following_topic.message": "ستستلم تنبيها عند كل مشاركة جديدة في هذا الموضوع.",
|
||||
"not_following_topic.message": "لن تستلم أي تنبيه بخصوص عذا الموضوع بعد الآن.",
|
||||
"login_to_subscribe": "المرجو إنشاء حساب أو تسجيل الدخول حتى يمكنك متابعة هذا الموضوع.",
|
||||
"markAsUnreadForAll.success": "تم تحديد الموضوع على أنه غير مقروء.",
|
||||
"mark_unread": "Mark unread",
|
||||
"mark_unread.success": "Topic marked as unread.",
|
||||
"watch": "مراقبة",
|
||||
"unwatch": "الغاء المراقبة",
|
||||
"watch.title": "استلم تنبيها بالردود الجديدة في هذا الموضوع",
|
||||
@@ -51,7 +49,6 @@
|
||||
"thread_tools.move_all": "نقل الكل",
|
||||
"thread_tools.fork": "إنشاء فرع الموضوع",
|
||||
"thread_tools.delete": "حذف الموضوع",
|
||||
"thread_tools.delete-posts": "Delete Posts",
|
||||
"thread_tools.delete_confirm": "هل أنت متأكد أنك تريد حذف هذا الموضوع؟",
|
||||
"thread_tools.restore": "استعادة الموضوع",
|
||||
"thread_tools.restore_confirm": "هل أنت متأكد أنك تريد استعادة هذا الموضوع؟",
|
||||
@@ -65,9 +62,9 @@
|
||||
"disabled_categories_note": "الفئات المعطلة رمادية",
|
||||
"confirm_move": "انقل",
|
||||
"confirm_fork": "فرع",
|
||||
"favourite": "Bookmark",
|
||||
"favourites": "Bookmarks",
|
||||
"favourites.has_no_favourites": "You haven't bookmarked any posts yet.",
|
||||
"favourite": "إضافة إلى المفضلة",
|
||||
"favourites": "المفضلة",
|
||||
"favourites.has_no_favourites": "ليس لديك أي ردود مفضلة. أضف بعض المشاركات إلى المفضلة لرؤيتهم هنا",
|
||||
"loading_more_posts": "تحميل المزيد من المشاركات",
|
||||
"move_topic": "نقل الموضوع",
|
||||
"move_topics": "نقل المواضيع",
|
||||
@@ -78,9 +75,8 @@
|
||||
"fork_topic_instruction": "إضغط على المشاركات التي تريد تفريعها",
|
||||
"fork_no_pids": "لم تختر أي مشاركة",
|
||||
"fork_success": "تم إنشاء فرع للموضوع بنجاح! إضغط هنا لمعاينة الفرع.",
|
||||
"delete_posts_instruction": "Click the posts you want to delete/purge",
|
||||
"composer.title_placeholder": "أدخل عنوان موضوعك هنا...",
|
||||
"composer.handle_placeholder": "اﻹسم",
|
||||
"composer.handle_placeholder": "Name",
|
||||
"composer.discard": "نبذ التغييرات",
|
||||
"composer.submit": "حفظ",
|
||||
"composer.replying_to": "الرد على %1",
|
||||
@@ -100,13 +96,5 @@
|
||||
"oldest_to_newest": "من الأقدم إلى الأحدث",
|
||||
"newest_to_oldest": "من الأحدث إلى الأقدم",
|
||||
"most_votes": "الأكثر تصويتًا",
|
||||
"most_posts": "اﻷكثر رداً",
|
||||
"stale.title": "Create new topic instead?",
|
||||
"stale.warning": "The topic you are replying to is quite old. Would you like to create a new topic instead, and reference this one in your reply?",
|
||||
"stale.create": "Create a new topic",
|
||||
"stale.reply_anyway": "Reply to this topic anyway",
|
||||
"link_back": "Re: [%1](%2)",
|
||||
"spam": "Spam",
|
||||
"offensive": "Offensive",
|
||||
"custom-flag-reason": "Enter a flagging reason"
|
||||
"most_posts": "اﻷكثر رداً"
|
||||
}
|
||||
@@ -5,6 +5,5 @@
|
||||
"mark_as_read": "حدد غير مقروء",
|
||||
"selected": "المحددة",
|
||||
"all": "الكل",
|
||||
"all_categories": "كل الفئات",
|
||||
"topics_marked_as_read.success": "تم تحديد المواضيع على أنها مقروءة!"
|
||||
}
|
||||
@@ -6,13 +6,8 @@
|
||||
"postcount": "عدد المشاركات",
|
||||
"email": "البريد الإلكتروني",
|
||||
"confirm_email": "تأكيد عنوان البريد الإلكتروني",
|
||||
"ban_account": "Ban Account",
|
||||
"ban_account_confirm": "هل تريد حقاً حظر هاذا العضو؟",
|
||||
"unban_account": "Unban Account",
|
||||
"delete_account": "حذف الحساب",
|
||||
"delete_account_confirm": "هل أن متأكد أنك تريد حذف حسابك؟<br /><strong> هذه العملية غير قابلة للإلغاء ولن يكون بالإمكان استعادة بياناتك</strong><br /><br />أدخل اسم المستخدم الخاص بك لتأكيد عملية الحذف",
|
||||
"delete_this_account_confirm": "Are you sure you want to delete this account? <br /><strong>This action is irreversible and you will not be able to recover any data</strong><br /><br />",
|
||||
"account-deleted": "Account deleted",
|
||||
"fullname": "الاسم الكامل",
|
||||
"website": "الموقع الإلكتروني",
|
||||
"location": "الموقع",
|
||||
@@ -22,24 +17,21 @@
|
||||
"profile": "الملف الشخصي",
|
||||
"profile_views": "عدد المشاهدات",
|
||||
"reputation": "السمعة",
|
||||
"favourites": "Bookmarks",
|
||||
"favourites": "التفضيلات",
|
||||
"watched": "متابع",
|
||||
"followers": "المتابعون",
|
||||
"following": "يتابع",
|
||||
"aboutme": "معلومة عنك او السيرة الذاتية",
|
||||
"aboutme": "About me",
|
||||
"signature": "توقيع",
|
||||
"gravatar": "Gravatar",
|
||||
"birthday": "عيد ميلاد",
|
||||
"chat": "محادثة",
|
||||
"chat_with": "Chat with %1",
|
||||
"follow": "تابع",
|
||||
"unfollow": "إلغاء المتابعة",
|
||||
"more": "المزيد",
|
||||
"profile_update_success": "تم تحديث الملف الشخصي بنجاح",
|
||||
"change_picture": "تغيير الصورة",
|
||||
"change_username": "Change Username",
|
||||
"change_email": "Change Email",
|
||||
"edit": "تعديل",
|
||||
"default_picture": "Default Icon",
|
||||
"uploaded_picture": "الصورة المرفوعة",
|
||||
"upload_new_picture": "رفع صورة جديدة",
|
||||
"upload_new_picture_from_url": "رفع صورة جديدة من رابط",
|
||||
@@ -54,12 +46,9 @@
|
||||
"confirm_password": "تأكيد كلمة السر",
|
||||
"password": "كلمة السر",
|
||||
"username_taken_workaround": "اسم المستخدم الذي اخترته سبق أخذه، لذا تم تغييره قليلا. أن الآن مسجل تحت الاسم <strong>%1</strong>",
|
||||
"password_same_as_username": "Your password is the same as your username, please select another password.",
|
||||
"password_same_as_email": "Your password is the same as your email, please select another password.",
|
||||
"upload_picture": "ارفع الصورة",
|
||||
"upload_a_picture": "رفع صورة",
|
||||
"remove_uploaded_picture": "Remove Uploaded Picture",
|
||||
"upload_cover_picture": "Upload cover picture",
|
||||
"image_spec": "لايمكنك رفع إلا الصور ذات الصيغ PNG أو JPG أو GIF.",
|
||||
"settings": "خيارات",
|
||||
"show_email": "أظهر بريدي الإلكتروني",
|
||||
"show_fullname": "أظهر اسمي الكامل",
|
||||
@@ -75,12 +64,9 @@
|
||||
"settings-require-reload": "تغيير بعض اﻹعدادات يتطلب تحديث الصفحة. إضغط هنا لتحديث الصفحة",
|
||||
"has_no_follower": "هذا المستخدم ليس لديه أي متابع :(",
|
||||
"follows_no_one": "هذا المستخدم لا يتابع أحد :(",
|
||||
"has_no_posts": "This user hasn't posted anything yet.",
|
||||
"has_no_topics": "This user hasn't posted any topics yet.",
|
||||
"has_no_watched_topics": "This user hasn't watched any topics yet.",
|
||||
"has_no_upvoted_posts": "This user hasn't upvoted any posts yet.",
|
||||
"has_no_downvoted_posts": "This user hasn't downvoted any posts yet.",
|
||||
"has_no_voted_posts": "This user has no voted posts",
|
||||
"has_no_posts": "هذا المستخدم لم يكتب أي شيء بعد.",
|
||||
"has_no_topics": "هذا المستخدم لم ينشئ أي موضوع بعد.",
|
||||
"has_no_watched_topics": "This user didn't watch any topics yet.",
|
||||
"email_hidden": "البريد الإلكتروني مخفي",
|
||||
"hidden": "مخفي",
|
||||
"paginate_description": "Paginate topics and posts instead of using infinite scroll",
|
||||
@@ -93,15 +79,6 @@
|
||||
"topic_search_help": "If enabled, in-topic searching will override the browser's default page search behaviour and allow you to search through the entire topic, instead of what is only shown on screen",
|
||||
"follow_topics_you_reply_to": "متابعة المواضيع التي تقوم بالرد فيها",
|
||||
"follow_topics_you_create": "متابعة المواضيع التي تنشئها",
|
||||
"grouptitle": "حدد عنوان المجموعة الذي تريد عرضه",
|
||||
"no-group-title": "لا يوجد عنوان للمجموعة",
|
||||
"select-skin": "Select a Skin",
|
||||
"select-homepage": "Select a Homepage",
|
||||
"homepage": "Homepage",
|
||||
"homepage_description": "Select a page to use as the forum homepage or 'None' to use the default homepage.",
|
||||
"custom_route": "Custom Homepage Route",
|
||||
"custom_route_help": "Enter a route name here, without any preceding slash (e.g. \"recent\", or \"popular\")",
|
||||
"sso.title": "Single Sign-on Services",
|
||||
"sso.associated": "Associated with",
|
||||
"sso.not-associated": "Click here to associate with"
|
||||
"grouptitle": "Select the group title you would like to display",
|
||||
"no-group-title": "No group title"
|
||||
}
|
||||
@@ -5,16 +5,8 @@
|
||||
"search": "بحث",
|
||||
"enter_username": "أدخل اسم مستخدم للبحث",
|
||||
"load_more": "حمل المزيد",
|
||||
"users-found-search-took": "تم إيجاد %1 مستخدمـ(ين)! استغرق البحث %2 ثانية.",
|
||||
"users-found-search-took": "%1 user(s) found! Search took %2 seconds.",
|
||||
"filter-by": "Filter By",
|
||||
"online-only": "المتصلون فقط",
|
||||
"invite": "دعوة",
|
||||
"invitation-email-sent": "An invitation email has been sent to %1",
|
||||
"user_list": "قائمة اﻷعضاء",
|
||||
"recent_topics": "أحدث المواضيع",
|
||||
"popular_topics": "Popular Topics",
|
||||
"unread_topics": "المواضيع الغير مقروءة",
|
||||
"categories": "الفئات",
|
||||
"tags": "الكلمات الدلالية",
|
||||
"no-users-found": "No users found!"
|
||||
"picture-only": "Picture only"
|
||||
}
|
||||
@@ -1,16 +1,12 @@
|
||||
{
|
||||
"category": "Категория",
|
||||
"subcategories": "Подкатегории",
|
||||
"new_topic_button": "Нова тема",
|
||||
"guest-login-post": "Влезте, за да можете да публикувате",
|
||||
"no_topics": "<strong>Все още няма теми в тази категория.</strong><br />Защо не създадеш една?",
|
||||
"browsing": "Разглежда",
|
||||
"no_replies": "Все още никой не е отговорил",
|
||||
"no_new_posts": "Няма нови публикации.",
|
||||
"share_this_category": "Споделяне на тази категория",
|
||||
"watch": "Следене",
|
||||
"ignore": "Игнориране",
|
||||
"watch.message": "Вече следите обновленията в тази категория",
|
||||
"ignore.message": "Вече не следите обновленията в тази категория",
|
||||
"watched-categories": "Следени категории"
|
||||
"ignore.message": "Вече не следите обновленията в тази категория"
|
||||
}
|
||||
@@ -1,15 +1,11 @@
|
||||
{
|
||||
"password-reset-requested": "Изпратена е заявка за подновяване на паролата – %1!",
|
||||
"welcome-to": "Добре дошли в %1",
|
||||
"invite": "Покана от %1",
|
||||
"greeting_no_name": "Здравейте",
|
||||
"greeting_with_name": "Здравейте, %1",
|
||||
"welcome.text1": "Благодарим Ви, че се регистрирахте с %1",
|
||||
"welcome.text2": "За да активирате напълно Вашия акаунт, трябва да потвърдите е-пощата, с която сте се регистрирали.",
|
||||
"welcome.text3": "Вашата заявка за регистрация беше приета от администратор. Вече можете да се впишете с Вашето потребителско име и парола.",
|
||||
"welcome.cta": "Натиснете тук, за да потвърдите Вашата е-поща.",
|
||||
"invitation.text1": "%1 Ви покани да се присъедините към %2",
|
||||
"invitation.ctr": "Натиснете тук, за да си създадете акаунт.",
|
||||
"reset.text1": "Получихме заявка за подновяване на Вашата парола, най-вероятно защото сте я забравили. Ако това не е така, моля не обръщайте внимание на това е-писмо.",
|
||||
"reset.text2": "За да продължите с процедурата по подновяване на паролата, моля последвайте следната връзка:",
|
||||
"reset.cta": "Натиснете тук, за да подновите паролата си",
|
||||
@@ -21,12 +17,9 @@
|
||||
"digest.cta": "Натиснете тук, за да посетите %1",
|
||||
"digest.unsub.info": "Това резюме беше изпратено до Вас поради настройките Ви за абонаментите.",
|
||||
"digest.no_topics": "Не е имало дейност по темите в последните %1",
|
||||
"digest.day": "ден",
|
||||
"digest.week": "месец",
|
||||
"digest.month": "година",
|
||||
"notif.chat.subject": "Получено е ново съобщение от %1",
|
||||
"notif.chat.subject": "Получено е ново чат съобщение от %1",
|
||||
"notif.chat.cta": "Натиснете тук, за да продължите разговора",
|
||||
"notif.chat.unsub.info": "Това известие за разговор беше изпратено до Вас поради настройките Ви за абонаментите.",
|
||||
"notif.chat.unsub.info": "Това известие за чата беше изпратено до Вас поради настройките Ви за абонаментите.",
|
||||
"notif.post.cta": "Натиснете тук, за да прочетете цялата тема",
|
||||
"notif.post.unsub.info": "Това известие за публикация беше изпратено до Вас поради настройките Ви за абонаментите.",
|
||||
"test.text1": "Това е пробно е-писмо, за да потвърдим, че изпращачът на е-поща е правилно настроен за Вашия NodeBB.",
|
||||
|
||||
@@ -3,28 +3,27 @@
|
||||
"not-logged-in": "Изглежда не сте влезли в системата.",
|
||||
"account-locked": "Вашият акаунт беше заключен временно",
|
||||
"search-requires-login": "Търсенето изисква акаунт – моля, влезте или се регистрирайте.",
|
||||
"invalid-cid": "Грешен идентификатор на категория",
|
||||
"invalid-tid": "Грешен идентификатор на тема",
|
||||
"invalid-pid": "Грешен идентификатор на публикация",
|
||||
"invalid-uid": "Грешен идентификатор на потребител",
|
||||
"invalid-username": "Грешно потребителско име",
|
||||
"invalid-email": "Грешна е-поща",
|
||||
"invalid-title": "Грешно заглавие!",
|
||||
"invalid-user-data": "Грешни потребителски данни",
|
||||
"invalid-password": "Грешна парола",
|
||||
"invalid-cid": "Невалиден идентификатор на категория",
|
||||
"invalid-tid": "Невалиден идентификатор на тема",
|
||||
"invalid-pid": "Невалиден идентификатор на публикация",
|
||||
"invalid-uid": "Невалиден идентификатор на потребител",
|
||||
"invalid-username": "Невалидно потребителско име",
|
||||
"invalid-email": "Невалидна е-поща",
|
||||
"invalid-title": "Невалидно заглавие!",
|
||||
"invalid-user-data": "Невалидни потребителски данни",
|
||||
"invalid-password": "Невалидна парола",
|
||||
"invalid-username-or-password": "Моля, посочете потребителско име и парола",
|
||||
"invalid-search-term": "Грешен текст за търсене",
|
||||
"invalid-pagination-value": "Грешен номер на страница, трябва да бъде между %1 и %2",
|
||||
"invalid-search-term": "Невалиден текст за търсене",
|
||||
"invalid-pagination-value": "Невалиден номер на страница",
|
||||
"username-taken": "Потребителското име е заето",
|
||||
"email-taken": "Е-пощата е заета",
|
||||
"email-not-confirmed": "Вашата е-поща все още не е потвърдена. Моля, натиснете тук, за да потвърдите е-пощата си.",
|
||||
"email-not-confirmed-chat": "Няма да можете да пишете в разговори, докато е-пощата Ви не бъде потвърдена. Моля, натиснете тук, за да потвърдите е-пощата си.",
|
||||
"email-not-confirmed-chat": "Няма да можете да пишете в чата, докато е-пощата Ви не бъде потвърдена. Моля, натиснете тук, за да потвърдите е-пощата си.",
|
||||
"no-email-to-confirm": "Този форум изисква потвърдена е-поща. Моля, натиснете тук, за да въведете е-поща",
|
||||
"email-confirm-failed": "Не успяхме да потвърдим е-пощата Ви. Моля, опитайте отново по-късно.",
|
||||
"confirm-email-already-sent": "Е-писмото за потвърждение вече е изпратено. Моля, почакайте още %1 минута/и, преди да изпратите ново.",
|
||||
"username-too-short": "Потребителското име е твърде кратко",
|
||||
"username-too-long": "Потребителското име е твърде дълго",
|
||||
"password-too-long": "Паролата е твърде дълга",
|
||||
"user-banned": "Потребителят е блокиран",
|
||||
"user-too-new": "Съжаляваме, но трябва да изчакате поне %1 секунда/и, преди да направите първата си публикация",
|
||||
"no-category": "Категорията не съществува",
|
||||
@@ -34,9 +33,11 @@
|
||||
"no-user": "Потребителят не съществува",
|
||||
"no-teaser": "Резюмето не съществува",
|
||||
"no-privileges": "Нямате достатъчно права за това действие.",
|
||||
"no-emailers-configured": "Добавките за е-поща не са заредени, така че не може да бъде изпратено пробно е-писмо",
|
||||
"category-disabled": "Категорията е изключена",
|
||||
"topic-locked": "Темата е заключена",
|
||||
"post-edit-duration-expired": "Можете да редактирате публикациите си до %1 секунда/и, след като ги пуснете",
|
||||
"still-uploading": "Моля, изчакайте качването да приключи.",
|
||||
"content-too-short": "Моля, въведете по-дълъг текст на публикацията. Публикациите трябва да съдържат поне %1 символ(а).",
|
||||
"content-too-long": "Моля, въведете по-кратък текст на публикацията. Публикациите трябва да съдържат не повече от %1 символ(а).",
|
||||
"title-too-short": "Моля, въведете по-дълго заглавие. Заглавията трябва да съдържат поне %1 символ(а).",
|
||||
@@ -45,26 +46,19 @@
|
||||
"too-many-posts-newbie": "Като нов потребител, Вие можете да публикувате веднъж на %1 секунда/и, докато не натрупате %2 репутация – моля, изчакайте малко, преди да опитате да публикувате отново",
|
||||
"tag-too-short": "Моля, въведете по-дълъг етикет. Етикетите трябва да съдържат поне %1 символ(а)",
|
||||
"tag-too-long": "Моля, въведете по-кратък етикет. Етикетите трябва да съдържат не повече от %1 символ(а)",
|
||||
"not-enough-tags": "Недостатъчно етикети. Темите трябва да имат поне %1 етикет(а)",
|
||||
"too-many-tags": "Твърде много етикети. Темите не могат да имат повече от %1 етикет(а)",
|
||||
"still-uploading": "Моля, изчакайте качването да приключи.",
|
||||
"file-too-big": "Максималният разрешен размер на файл е %1 КБ – моля, качете по-малък файл",
|
||||
"guest-upload-disabled": "Качването не е разрешено за гости",
|
||||
"already-favourited": "Вече имате отметка към тази публикация",
|
||||
"already-unfavourited": "Вече сте премахнали отметката си към тази публикация",
|
||||
"cant-vote-self-post": "Не можете да гласувате за собствената си публикация",
|
||||
"already-favourited": "Вече сте отбелязали тази публикация като любима",
|
||||
"already-unfavourited": "Вече сте премахнали тази публикация от любимите си",
|
||||
"cant-ban-other-admins": "Не можете да блокирате другите администратори!",
|
||||
"cant-remove-last-admin": "Вие сте единственият администратор. Добавете друг потребител като администратор, преди да премахнете себе си като администратор",
|
||||
"invalid-image-type": "Грешен тип на изображение. Позволените типове са: %1",
|
||||
"invalid-image-extension": "Грешно разширение на изображението",
|
||||
"invalid-file-type": "Грешен тип на файл. Позволените типове са: %1",
|
||||
"group-name-too-short": "Името на групата е твърде кратко",
|
||||
"group-already-exists": "Вече съществува такава група",
|
||||
"group-name-change-not-allowed": "Промяната на името на групата не е разрешено",
|
||||
"group-already-member": "Вече членувате в тази група",
|
||||
"group-not-member": "Не членувате в тази група",
|
||||
"group-already-member": "Вече сте част от тази група",
|
||||
"group-needs-owner": "Тази група се нуждае от поне един собственик",
|
||||
"group-already-invited": "Този потребител вече е бил поканен",
|
||||
"group-already-requested": "Вашата заявка за членство вече е била изпратена",
|
||||
"post-already-deleted": "Тази публикация вече е изтрита",
|
||||
"post-already-restored": "Тази публикация вече е възстановена",
|
||||
"topic-already-deleted": "Тази тема вече е изтрита",
|
||||
@@ -73,29 +67,18 @@
|
||||
"topic-thumbnails-are-disabled": "Иконките на темите са изключени.",
|
||||
"invalid-file": "Грешен файл",
|
||||
"uploads-are-disabled": "Качването не е разрешено",
|
||||
"signature-too-long": "Съжаляваме, но подписът Ви трябва да съдържа не повече от %1 символ(а).",
|
||||
"about-me-too-long": "Съжаляваме, но информацията за Вас трябва да съдържа не повече от %1 символ(а).",
|
||||
"cant-chat-with-yourself": "Не можете да пишете съобщение на себе си!",
|
||||
"chat-restricted": "Този потребител е ограничил съобщенията до себе си. Той трябва първо да Ви последва, преди да можете да си пишете с него.",
|
||||
"chat-disabled": "Системата за разговори е изключена",
|
||||
"signature-too-long": "Sorry, your signature cannot be longer than %1 character(s).",
|
||||
"about-me-too-long": "Sorry, your about me cannot be longer than %1 character(s).",
|
||||
"cant-chat-with-yourself": "Не можете да пишете чат съобщение на себе си!",
|
||||
"chat-restricted": "Този потребител е ограничил чат съобщенията до себе си. Той трябва първо да Ви последва, преди да можете да си пишете с него.",
|
||||
"too-many-messages": "Изпратили сте твърде много съобщения. Моля, изчакайте малко.",
|
||||
"invalid-chat-message": "Невалидно съобщение",
|
||||
"chat-message-too-long": "Съобщението е твърде дълго",
|
||||
"cant-edit-chat-message": "Нямате право да редактирате това съобщение",
|
||||
"cant-remove-last-user": "Не можете да премахнете последния потребител",
|
||||
"cant-delete-chat-message": "Нямате право да изтриете това съобщение",
|
||||
"reputation-system-disabled": "Системата за репутация е изключена.",
|
||||
"downvoting-disabled": "Отрицателното гласуване е изключено",
|
||||
"not-enough-reputation-to-downvote": "Нямате достатъчно репутация, за да гласувате отрицателно за тази публикация",
|
||||
"not-enough-reputation-to-flag": "Нямате достатъчно репутация, за да докладвате тази публикация",
|
||||
"already-flagged": "Вече сте докладвали тази публикация",
|
||||
"reload-failed": "NodeBB срещна проблем при презареждането: „%1“. NodeBB ще продължи да поддържа съществуващите клиентски ресурси, но Вие трябва да отмените последните си действия преди презареждането.",
|
||||
"registration-error": "Грешка при регистрацията",
|
||||
"parse-error": "Нещо се обърка при прочитането на отговора на сървъра",
|
||||
"wrong-login-type-email": "Моля, използвайте е-пощата си, за да влезете",
|
||||
"wrong-login-type-username": "Моля, използвайте потребителското си име, за да влезете",
|
||||
"invite-maximum-met": "Вие сте поканили максимално позволения брой хора (%1 от %2).",
|
||||
"no-session-found": "Не е открита сесия за вход!",
|
||||
"not-in-room": "Потребителят не е в стаята",
|
||||
"no-users-in-room": "Няма потребители в тази стая"
|
||||
"wrong-login-type-username": "Моля, използвайте потребителското си име, за да влезете"
|
||||
}
|
||||
@@ -9,8 +9,8 @@
|
||||
"404.message": "Изглежда сте се опитали да посетите страница, която не съществува. Върнете се към <a href='%1/'>началната страница</a>.",
|
||||
"500.title": "Вътрешна грешка.",
|
||||
"500.message": "Опа! Изглежда нещо се обърка!",
|
||||
"register": "Регистрация",
|
||||
"login": "Вход",
|
||||
"register": "Регистриране",
|
||||
"login": "Влизане",
|
||||
"please_log_in": "Моля, влезте",
|
||||
"logout": "Изход",
|
||||
"posting_restriction_info": "Публикуването в момента е позволено само за регистрираните потребители. Натиснете тук, за да влезете.",
|
||||
@@ -22,20 +22,18 @@
|
||||
"pagination.out_of": "%1 от %2",
|
||||
"pagination.enter_index": "Въведете номер",
|
||||
"header.admin": "Администратор",
|
||||
"header.categories": "Категории",
|
||||
"header.recent": "Скорошни",
|
||||
"header.unread": "Непрочетени",
|
||||
"header.tags": "Етикети",
|
||||
"header.popular": "Популярни",
|
||||
"header.users": "Потребители",
|
||||
"header.groups": "Групи",
|
||||
"header.chats": "Разговори",
|
||||
"header.chats": "Чатове",
|
||||
"header.notifications": "Известия",
|
||||
"header.search": "Търсене",
|
||||
"header.profile": "Профил",
|
||||
"header.navigation": "Навигация",
|
||||
"notifications.loading": "Зареждане на известията",
|
||||
"chats.loading": "Зареждане на разговорите",
|
||||
"chats.loading": "Зареждане на чатовете",
|
||||
"motd.welcome": "Добре дошли в NodeBB, системата за дискусии на бъдещето.",
|
||||
"previouspage": "Предишна страница",
|
||||
"nextpage": "Следваща страница",
|
||||
@@ -48,24 +46,20 @@
|
||||
"online": "На линия",
|
||||
"users": "Потребители",
|
||||
"topics": "Теми",
|
||||
"posts": "Публ.",
|
||||
"best": "Най-добри",
|
||||
"upvoted": "С положителни гласове",
|
||||
"downvoted": "С отрицателни гласове",
|
||||
"views": "Прегл.",
|
||||
"posts": "Публикации",
|
||||
"views": "Преглеждания",
|
||||
"reputation": "Репутация",
|
||||
"read_more": "още",
|
||||
"more": "Още",
|
||||
"posted_ago_by_guest": "публикувано %1 от гост",
|
||||
"posted_ago_by": "публикувано %1 от %2",
|
||||
"posted_ago": "публикувано %1",
|
||||
"posted_in": "публикувано в %1",
|
||||
"posted_in_by": "публикувано в %1 от %2",
|
||||
"posted_in_ago": "публикувано в %1 %2",
|
||||
"posted_in_ago_by_guest": "публикувано в %1 %2 от гост",
|
||||
"posted_in_ago_by": "публикувано в %1 %2 от %3",
|
||||
"posted_in_ago": "публикувано в %1 %2",
|
||||
"replied_ago": "отговори %1",
|
||||
"user_posted_ago": "%1 публикува %2",
|
||||
"guest_posted_ago": "гост публикува %1",
|
||||
"last_edited_by": "последно редактирано от %1",
|
||||
"last_edited_by_ago": "последно редактирано от %1 %2",
|
||||
"norecentposts": "Няма скорошни публикации",
|
||||
"norecenttopics": "Няма скорошни теми",
|
||||
"recentposts": "Скорошни публикации",
|
||||
@@ -83,12 +77,5 @@
|
||||
"privacy": "Поверителност",
|
||||
"follow": "Следване",
|
||||
"unfollow": "Прекратяване на следването",
|
||||
"delete_all": "Изтриване на всичко",
|
||||
"map": "Карта",
|
||||
"sessions": "Сесии за вход",
|
||||
"ip_address": "IP адрес",
|
||||
"enter_page_number": "Въведете номер на страница",
|
||||
"upload_file": "Качване на файл",
|
||||
"upload": "Качване",
|
||||
"allowed-file-types": "Разрешените файлови типове са: %1"
|
||||
"delete_all": "Изтриване на всичко"
|
||||
}
|
||||
@@ -6,25 +6,16 @@
|
||||
"no_groups_found": "Няма групи",
|
||||
"pending.accept": "Приемане",
|
||||
"pending.reject": "Отхвърляне",
|
||||
"pending.accept_all": "Приемане на всички",
|
||||
"pending.reject_all": "Отхвърляне на всички",
|
||||
"pending.none": "В момента няма чакащи членове",
|
||||
"invited.none": "В момента няма поканени членове",
|
||||
"invited.uninvite": "Отмяна на поканата",
|
||||
"invited.search": "Потърсете потребител, когото да поканите в тази група",
|
||||
"invited.notification_title": "Вие бяхте поканен/а да се присъедините към <strong>%1</strong>",
|
||||
"request.notification_title": "Заявка за членство в групата от <strong>%1</strong>",
|
||||
"request.notification_text": "<strong>%1</strong> поиска да стане член на <strong>%2</strong>",
|
||||
"cover-instructions": "Плъзнете снимка, наместете я в предпочитаната позиция и натистнете <strong>Запазване</strong>",
|
||||
"cover-change": "Промяна",
|
||||
"cover-save": "Запазване",
|
||||
"cover-saving": "Запазване",
|
||||
"details.title": "Подробности за групата",
|
||||
"details.members": "Списък на членовете",
|
||||
"details.pending": "Кандидатстващи членове",
|
||||
"details.invited": "Поканени членове",
|
||||
"details.has_no_posts": "Членовете на тази група не са публикували нищо.",
|
||||
"details.latest_posts": "Скорошни публикации",
|
||||
"details.private": "Частна",
|
||||
"details.disableJoinRequests": "Забраняване на заявките за присъединяване",
|
||||
"details.grant": "Даване/отнемане на собственост",
|
||||
"details.kick": "Изгонване",
|
||||
"details.owner_options": "Администрация на групата",
|
||||
@@ -40,14 +31,6 @@
|
||||
"details.private_help": "Ако е включено, присъединяването към група изисква одобрението на собственика ѝ",
|
||||
"details.hidden": "Скрита",
|
||||
"details.hidden_help": "Ако е включено, тази група няма да бъде извеждана в списъка от групи и потребителите ще трябва да бъдат поканени лично",
|
||||
"details.delete_group": "Изтриване на групата",
|
||||
"event.updated": "Подробностите за групата бяха обновени",
|
||||
"event.deleted": "Групата „%1“ беше изтрита",
|
||||
"membership.accept-invitation": "Приемане на поканата",
|
||||
"membership.invitation-pending": "Чакаща покана",
|
||||
"membership.join-group": "Присъединяване към групата",
|
||||
"membership.leave-group": "Напускане на групата",
|
||||
"membership.reject": "Отхвърляне",
|
||||
"new-group.group_name": "Име на групата:",
|
||||
"upload-group-cover": "Качване на снимка за показване на групата"
|
||||
"event.deleted": "Групата „%1“ беше изтрита"
|
||||
}
|
||||
@@ -1,37 +1,26 @@
|
||||
{
|
||||
"chat.chatting_with": "Разговор с <span id=\"chat-with-name\"></span>",
|
||||
"chat.placeholder": "Въведете съобщението тук и натиснете Ентер за изпращане",
|
||||
"chat.chatting_with": "Чат с <span id=\"chat-with-name\"></span>",
|
||||
"chat.placeholder": "Въведете чат съобщението тук и натиснете Ентер за изпращане",
|
||||
"chat.send": "Изпращане",
|
||||
"chat.no_active": "Нямате текущи разговори.",
|
||||
"chat.no_active": "Нямате текущи чатове.",
|
||||
"chat.user_typing": "%1 пише...",
|
||||
"chat.user_has_messaged_you": "%1 Ви написа съобщение.",
|
||||
"chat.see_all": "Вижте всички разговори",
|
||||
"chat.no-messages": "Моля, изберете получател, за да видите историята на съобщенията",
|
||||
"chat.no-users-in-room": "Няма потребители в тази стая",
|
||||
"chat.recent-chats": "Скорошни разговори",
|
||||
"chat.see_all": "Вижте всички чатове",
|
||||
"chat.no-messages": "Моля, изберете получател, за да видите историята на чат съобщенията",
|
||||
"chat.recent-chats": "Скорошни чатове",
|
||||
"chat.contacts": "Контакти",
|
||||
"chat.message-history": "История на съобщенията",
|
||||
"chat.pop-out": "Отделяне на разговора в прозорец",
|
||||
"chat.pop-out": "Отделяне на чата в прозорец",
|
||||
"chat.maximize": "Уголемяване",
|
||||
"chat.seven_days": "7 дни",
|
||||
"chat.thirty_days": "30 дни",
|
||||
"chat.three_months": "3 месеца",
|
||||
"chat.delete_message_confirm": "Сигурен/а ли сте, че искате да изтриете това съобщение?",
|
||||
"chat.roomname": "Стая за разговори %1",
|
||||
"chat.add-users-to-room": "Добавяне на потребители към стаята",
|
||||
"composer.compose": "Писане",
|
||||
"composer.show_preview": "Показване на прегледа",
|
||||
"composer.hide_preview": "Скриване на прегледа",
|
||||
"composer.user_said_in": "%1 каза в %2:",
|
||||
"composer.user_said": "%1 каза:",
|
||||
"composer.discard": "Сигурен/а ли сте, че искате да отхвърлите тази публикация?",
|
||||
"composer.discard": "Сигурни ли сте, че искате да отхвърлите тази публикация?",
|
||||
"composer.submit_and_lock": "Публикуване и заключване",
|
||||
"composer.toggle_dropdown": "Превключване на падащото меню",
|
||||
"composer.uploading": "Качване на %1",
|
||||
"bootbox.ok": "Добре",
|
||||
"bootbox.cancel": "Отказ",
|
||||
"bootbox.confirm": "Потвърждаване",
|
||||
"cover.dragging_title": "Наместване на снимката",
|
||||
"cover.dragging_message": "Преместете снимката на желаното положение и натиснете „Запазване“",
|
||||
"cover.saved": "Снимката и мястото ѝ бяха запазени"
|
||||
"composer.toggle_dropdown": "Превключване на падащото меню"
|
||||
}
|
||||
@@ -5,32 +5,21 @@
|
||||
"mark_all_read": "Отбелязване на всички известия като прочетени",
|
||||
"back_to_home": "Назад към %1",
|
||||
"outgoing_link": "Външна връзка",
|
||||
"outgoing_link_message": "Напускате %1",
|
||||
"outgoing_link_message": "Вие напускате %1.",
|
||||
"continue_to": "Продължаване към %1",
|
||||
"return_to": "Връщане към %1",
|
||||
"new_notification": "Ново известие",
|
||||
"you_have_unread_notifications": "Имате непрочетени известия",
|
||||
"new_message_from": "Ново съобщение от <strong>%1</strong>",
|
||||
"upvoted_your_post_in": "<strong>%1</strong> гласува положително за Ваша публикация в <strong>%2</strong>.",
|
||||
"upvoted_your_post_in_dual": "<strong>%1</strong> и <strong>%2</strong> гласуваха положително за Ваша публикация в <strong>%3</strong>.",
|
||||
"upvoted_your_post_in_multiple": "<strong>%1</strong> и %2 други гласуваха положително за Ваша публикация в <strong>%3</strong>.",
|
||||
"moved_your_post": "<strong>%1</strong> премести публикацията Ви в <strong>%2</strong>",
|
||||
"moved_your_topic": "<strong>%1</strong> премести <strong>%2</strong>",
|
||||
"favourited_your_post_in": "<strong>%1</strong> си запази отметка към Ваша публикация в <strong>%2</strong>.",
|
||||
"favourited_your_post_in_dual": "<strong>%1</strong> и <strong>%2</strong> си запазиха отметки към Ваша публикация в <strong>%3</strong>.",
|
||||
"favourited_your_post_in_multiple": "<strong>%1</strong> и %2 други си запазиха отметки към Ваша публикация в <strong>%3</strong>.",
|
||||
"moved_your_post": "<strong>%1</strong> премести Ваша публикация.",
|
||||
"moved_your_topic": "<strong>%1</strong> премести Ваша тема.",
|
||||
"favourited_your_post_in": "<strong>%1</strong> отбеляза Ваша публикация в <strong>%2</strong> като любима.",
|
||||
"user_flagged_post_in": "<strong>%1</strong> докладва Ваша публикация в <strong>%2</strong>",
|
||||
"user_flagged_post_in_dual": "<strong>%1</strong> и <strong>%2</strong> докладваха Ваша публикация в <strong>%3</strong>",
|
||||
"user_flagged_post_in_multiple": "<strong>%1</strong> и %2 други докладваха Ваша публикация в <strong>%3</strong>",
|
||||
"user_posted_to": "<strong>%1</strong> публикува отговор на: <strong>%2</strong>",
|
||||
"user_posted_to_dual": "<strong>%1</strong> и <strong>%2</strong> публикуваха отговори на: <strong>%3</strong>",
|
||||
"user_posted_to_multiple": "<strong>%1</strong> и %2 други публикуваха отговори на: <strong>%3</strong>",
|
||||
"user_posted_topic": "<strong>%1</strong> публикува нова тема: <strong>%2</strong>",
|
||||
"user_mentioned_you_in": "<strong>%1</strong> Ви спомена в <strong>%2</strong>",
|
||||
"user_started_following_you": "<strong>%1</strong> започна да Ви следва.",
|
||||
"user_started_following_you_dual": "<strong>%1</strong> и <strong>%2</strong> започнаха да Ви следват.",
|
||||
"user_started_following_you_multiple": "<strong>%1</strong> и %2 започнаха да Ви следват.",
|
||||
"new_register": "<strong>%1</strong> изпрати заявка за регистрация.",
|
||||
"new_register_multiple": "There are <strong>%1</strong> registration requests awaiting review.",
|
||||
"email-confirmed": "Е-пощата беше потвърдена",
|
||||
"email-confirmed-message": "Благодарим Ви, че потвърдихте е-пощата си. Акаунтът Ви е вече напълно активиран.",
|
||||
"email-confirm-error-message": "Възникна проблем при потвърждаването на е-пощата Ви. Може кодът да е грешен или давността му да е изтекла.",
|
||||
|
||||
@@ -1,46 +1,21 @@
|
||||
{
|
||||
"home": "Начало",
|
||||
"unread": "Непрочетени теми",
|
||||
"popular-day": "Популярните теми днес",
|
||||
"popular-week": "Популярните теми тази седмица",
|
||||
"popular-month": "Популярните теми този месец",
|
||||
"popular-alltime": "Популярните теми за всички времена",
|
||||
"popular": "Популярни теми",
|
||||
"recent": "Скорошни теми",
|
||||
"flagged-posts": "Докладвани публикации",
|
||||
"users/online": "Потребители на линия",
|
||||
"users/latest": "Последни потребители",
|
||||
"users/sort-posts": "Потребители с най-много публикации",
|
||||
"users/sort-reputation": "Потребители с най-висока репутация",
|
||||
"users/banned": "Блокирани потребители",
|
||||
"users/search": "Търсене на потребители",
|
||||
"users": "Регистрирани потребители",
|
||||
"notifications": "Известия",
|
||||
"tags": "Етикети",
|
||||
"tag": "Теми, отбелязани като „%1“",
|
||||
"register": "Регистрирайте акаунт",
|
||||
"login": "Влезте в акаунта си",
|
||||
"reset": "Подновете паролата за акаунта си",
|
||||
"categories": "Категории",
|
||||
"groups": "Групи",
|
||||
"group": "Група %1",
|
||||
"chats": "Разговори",
|
||||
"chat": "Разговаря с %1",
|
||||
"account/edit": "Редактиране на „%1“",
|
||||
"account/edit/password": "Редактиране на паролата на „%1“",
|
||||
"account/edit/username": "Редактиране на потребителското име на „%1“",
|
||||
"account/edit/email": "Редактиране на е-пощата на „%1“",
|
||||
"account/following": "Хора, които %1 следва",
|
||||
"account/followers": "Хора, които следват %1",
|
||||
"account/posts": "Публикации от %1",
|
||||
"account/topics": "Теми, създадени от %1",
|
||||
"account/groups": "Групите на %1",
|
||||
"account/favourites": "Отметнатите публикации на %1",
|
||||
"account/settings": "Потребителски настройки",
|
||||
"account/watched": "Теми, следени от %1",
|
||||
"account/upvoted": "Публикации, получили положителен глас от %1",
|
||||
"account/downvoted": "Публикации, получили отрицателен глас от %1",
|
||||
"account/best": "Най-добрите публикации от %1",
|
||||
"confirm": "Е-пощата е потвърдена",
|
||||
"user.edit": "Редактиране на „%1“",
|
||||
"user.following": "Хора, които %1 следва",
|
||||
"user.followers": "Хора, които следват %1",
|
||||
"user.posts": "Публикации от %1",
|
||||
"user.topics": "Теми, създадени от %1",
|
||||
"user.groups": "Групите на %1",
|
||||
"user.favourites": "Любимите публикации на %1",
|
||||
"user.settings": "Настройки на потребителя",
|
||||
"user.watched": "Теми, следени от %1",
|
||||
"maintenance.text": "%1 в момента е в профилактика. Моля, върнете се по-късно.",
|
||||
"maintenance.messageIntro": "В допълнение, администраторът е оставил това съобщение:",
|
||||
"throttled.text": "%1 в момента е недостъпен, поради прекомерно натоварване. Моля, върнете се отново по-късно."
|
||||
"maintenance.messageIntro": "В допълнение, администраторът е оставил това съобщение:"
|
||||
}
|
||||
@@ -14,6 +14,5 @@
|
||||
"register_now_button": "Регистриране",
|
||||
"alternative_registration": "Друг начин за регистриране",
|
||||
"terms_of_use": "Условия за ползване",
|
||||
"agree_to_terms_of_use": "Съгласен съм с условията за ползване",
|
||||
"registration-added-to-queue": "Вашата регистрация беше добавена в опашката за одобрение. Ще получите е-писмо, когато тя бъде одобрена от администратор."
|
||||
"agree_to_terms_of_use": "Съгласен съм с условията за ползване"
|
||||
}
|
||||
@@ -9,11 +9,10 @@
|
||||
"profile": "Профил",
|
||||
"posted_by": "Публикувано от %1",
|
||||
"posted_by_guest": "Публикувано от гост",
|
||||
"chat": "Разговор",
|
||||
"chat": "Чат",
|
||||
"notify_me": "Получавайте известия за новите отговори в тази тема",
|
||||
"quote": "Цитат",
|
||||
"reply": "Отговор",
|
||||
"reply-as-topic": "Отговор в нова тема",
|
||||
"guest-login-reply": "Влезте, за да отговорите",
|
||||
"edit": "Редактиране",
|
||||
"delete": "Изтриване",
|
||||
@@ -26,16 +25,15 @@
|
||||
"tools": "Инструменти",
|
||||
"flag": "Докладване",
|
||||
"locked": "Заключена",
|
||||
"bookmark_instructions": "Натиснете тук, за да се върнете на последната непрочетена публикация в тази тема.",
|
||||
"bookmark_instructions": "Натиснете, за да се върнете на последната си позиция или затворете, за да отхвърлите.",
|
||||
"flag_title": "Докладване на тази публикация до модератор",
|
||||
"flag_confirm": "Сигурни ли сте, че искате да докладвате тази публикация?",
|
||||
"flag_success": "Тази публикация е била докладвана до модератор.",
|
||||
"deleted_message": "Тази тема е била изтрита. Само потребители с права за управление на темите могат да я видят.",
|
||||
"following_topic.message": "Вече ще получавате известия когато някой публикува коментар в тази тема.",
|
||||
"not_following_topic.message": "Вече няма да получавате известия за тази тема.",
|
||||
"login_to_subscribe": "Моля, регистрирайте се или влезте, за да се абонирате за тази тема.",
|
||||
"markAsUnreadForAll.success": "Темата е отбелязана като непрочетена за всички.",
|
||||
"mark_unread": "Отбелязване като непрочетена",
|
||||
"mark_unread.success": "Темата е отбелязана като непрочетена.",
|
||||
"watch": "Наблюдаване",
|
||||
"unwatch": "Спиране на наблюдаването",
|
||||
"watch.title": "Получавайте известия за новите отговори в тази тема",
|
||||
@@ -51,23 +49,22 @@
|
||||
"thread_tools.move_all": "Преместване на всички",
|
||||
"thread_tools.fork": "Разделяне на темата",
|
||||
"thread_tools.delete": "Изтриване на темата",
|
||||
"thread_tools.delete-posts": "Изтриване на публикациите",
|
||||
"thread_tools.delete_confirm": "Сигурен/а ли сте, че искате да изтриете тази тема?",
|
||||
"thread_tools.delete_confirm": "Сигурни ли сте, че искате да изтриете тази тема?",
|
||||
"thread_tools.restore": "Възстановяване на темата",
|
||||
"thread_tools.restore_confirm": "Сигурен/а ли сте, че искате да възстановите тази тема?",
|
||||
"thread_tools.restore_confirm": "Сигурни ли сте, че искате да възстановите тази тема?",
|
||||
"thread_tools.purge": "Изчистване на темата",
|
||||
"thread_tools.purge_confirm": "Сигурен/а ли сте, че искате да изчистите тази тема?",
|
||||
"thread_tools.purge_confirm": "Сигурни ли сте, че искате да изчистите тази тема?",
|
||||
"topic_move_success": "Темата беше преместена успешно в %1",
|
||||
"post_delete_confirm": "Сигурен/а ли сте, че искате да изтриете тази публикация?",
|
||||
"post_restore_confirm": "Сигурен/а ли сте, че искате да възстановите тази публикация?",
|
||||
"post_purge_confirm": "Сигурен/а ли сте, че искате да изчистите тази публикация?",
|
||||
"post_delete_confirm": "Сигурни ли сте, че искате да изтриете тази публикация?",
|
||||
"post_restore_confirm": "Сигурни ли сте, че искате да възстановите тази публикация?",
|
||||
"post_purge_confirm": "Сигурни ли сте, че искате да изчистите тази публикация?",
|
||||
"load_categories": "Зареждане на категориите",
|
||||
"disabled_categories_note": "Изключените категории са засивени",
|
||||
"confirm_move": "Преместване",
|
||||
"confirm_fork": "Разделяне",
|
||||
"favourite": "Отметка",
|
||||
"favourites": "Отметки",
|
||||
"favourites.has_no_favourites": "Все още не сте си запазвали отметки към никакви публикации.",
|
||||
"favourite": "Любима",
|
||||
"favourites": "Любими",
|
||||
"favourites.has_no_favourites": "Нямате любими, отбележете няколко публикации, за да ги видите тук!",
|
||||
"loading_more_posts": "Зареждане на още публикации",
|
||||
"move_topic": "Преместване на темата",
|
||||
"move_topics": "Преместване на темите",
|
||||
@@ -78,7 +75,6 @@
|
||||
"fork_topic_instruction": "Натиснете публикациите, които искате да отделите",
|
||||
"fork_no_pids": "Няма избрани публикации!",
|
||||
"fork_success": "Темата е разделена успешно! Натиснете тук, за да преминете към отделената тема.",
|
||||
"delete_posts_instruction": "Натиснете публикациите, които искате да изтриете/изчистите",
|
||||
"composer.title_placeholder": "Въведете заглавието на темата си тук...",
|
||||
"composer.handle_placeholder": "Име",
|
||||
"composer.discard": "Отхвърляне",
|
||||
@@ -100,13 +96,5 @@
|
||||
"oldest_to_newest": "Първо най-старите",
|
||||
"newest_to_oldest": "Първо най-новите",
|
||||
"most_votes": "Най-много гласове",
|
||||
"most_posts": "Най-много публикации",
|
||||
"stale.title": "Създаване на нова тема вместо това?",
|
||||
"stale.warning": "Темата, в която отговаряте, е доста стара. Искате ли вместо това да създадете нова и да направите препратка към тази в отговора си?",
|
||||
"stale.create": "Създаване на нова тема",
|
||||
"stale.reply_anyway": "Отговаряне в тази тема въпреки това",
|
||||
"link_back": "Отговор: [%1](%2)",
|
||||
"spam": "Спам",
|
||||
"offensive": "Обидно",
|
||||
"custom-flag-reason": "Изберете причина за докладване"
|
||||
"most_posts": "Най-много публикации"
|
||||
}
|
||||
@@ -5,6 +5,5 @@
|
||||
"mark_as_read": "Отбелязване като прочетени",
|
||||
"selected": "Избраните",
|
||||
"all": "Всички",
|
||||
"all_categories": "Всички категории",
|
||||
"topics_marked_as_read.success": "Темите бяха отбелязани като прочетени!"
|
||||
}
|
||||
@@ -6,13 +6,8 @@
|
||||
"postcount": "Брой публикации",
|
||||
"email": "Е-поща",
|
||||
"confirm_email": "Потвърдете е-пощата",
|
||||
"ban_account": "Блокиране на акаунта",
|
||||
"ban_account_confirm": "Наистина ли искате да блокирате този потребител?",
|
||||
"unban_account": "Отблокиране на акаунта",
|
||||
"delete_account": "Изтриване на акаунта",
|
||||
"delete_account_confirm": "Сигурен/а ли сте, че искате да изтриете акаунта си? <br /><strong>Това действие е необратимо и няма да можете да възстановите нищо от данните си</strong><br /><br />Въведете потребителското си име, за да потвърдите, че искате да унищожите този акаунт.",
|
||||
"delete_this_account_confirm": "Сигурен/а ли сте, че искате да изтриете този акаунт? <br /><strong>Това действие е необратимо и няма да можете да възстановите нищо от данните</strong><br /><br />",
|
||||
"account-deleted": "Акаунтът е изтрит",
|
||||
"delete_account_confirm": "Сигурни ли сте, че искате да изтриете акаунта си? <br /><strong>Това действие е необратимо и няма да можете да възстановите нищо от данните си</strong><br /><br />Въведете потребителското си име, за да потвърдите, че искате да унищожите този акаунт.",
|
||||
"fullname": "Цяло име",
|
||||
"website": "Уеб сайт",
|
||||
"location": "Местоположение",
|
||||
@@ -22,24 +17,21 @@
|
||||
"profile": "Профил",
|
||||
"profile_views": "Преглеждания на профила",
|
||||
"reputation": "Репутация",
|
||||
"favourites": "Отметки",
|
||||
"favourites": "Любими",
|
||||
"watched": "Наблюдавани",
|
||||
"followers": "Последователи",
|
||||
"following": "Следва",
|
||||
"aboutme": "За мен",
|
||||
"signature": "Подпис",
|
||||
"gravatar": "Граватар",
|
||||
"birthday": "Рождена дата",
|
||||
"chat": "Разговор",
|
||||
"chat_with": "Разговор с %1",
|
||||
"chat": "Чат",
|
||||
"follow": "Следване",
|
||||
"unfollow": "Спиране на следването",
|
||||
"more": "Още",
|
||||
"profile_update_success": "Профилът беше обновен успешно!",
|
||||
"change_picture": "Промяна на снимката",
|
||||
"change_username": "Промяна на потребителското име",
|
||||
"change_email": "Промяна на е-пощата",
|
||||
"edit": "Редактиране",
|
||||
"default_picture": "Иконка по подразбиране",
|
||||
"uploaded_picture": "Качена снимка",
|
||||
"upload_new_picture": "Качване на нова снимка",
|
||||
"upload_new_picture_from_url": "Качване на нова снимка от адрес",
|
||||
@@ -53,34 +45,28 @@
|
||||
"change_password_success": "Паролата ви е обновена!",
|
||||
"confirm_password": "Потвърдете паролата",
|
||||
"password": "Парола",
|
||||
"username_taken_workaround": "Потребителското име, което искате, е заето и затова ние го променихме малко. Вие ще се наричате <strong>%1</strong>",
|
||||
"password_same_as_username": "Паролата е същата като потребителското Ви име. Моля, изберете друга парола.",
|
||||
"password_same_as_email": "Паролата е същата като е-пощата Ви. Моля, изберете друга парола.",
|
||||
"username_taken_workaround": "Потребителското име, което искате, е заето и затова ние го променихме леко. Вие ще се наричате <strong>%1</strong>",
|
||||
"upload_picture": "Качване на снимка",
|
||||
"upload_a_picture": "Качване на снимка",
|
||||
"remove_uploaded_picture": "Премахване на качената снимка",
|
||||
"upload_cover_picture": "Качване на снимка за показване",
|
||||
"image_spec": "Можете да качвате само PNG, JPG, или GIF файлове",
|
||||
"settings": "Настройки",
|
||||
"show_email": "Да се показва е-пощата ми",
|
||||
"show_fullname": "Да се показва цялото ми име",
|
||||
"restrict_chats": "Разрешаване на съобщенията само от потребители, които следвам",
|
||||
"restrict_chats": "Разрешаване на чат съобщенията само от потребители, които следвам",
|
||||
"digest_label": "Абониране за резюмета",
|
||||
"digest_description": "Абониране за новини по е-пощата относно този форум (нови известия и теми) според избрания график",
|
||||
"digest_off": "Изключено",
|
||||
"digest_daily": "Ежедневно",
|
||||
"digest_weekly": "Ежеседмично",
|
||||
"digest_monthly": "Ежемесечно",
|
||||
"send_chat_notifications": "Изпращане на е-писмо, ако получа ново съобщение в разговор, а не съм на линия",
|
||||
"send_chat_notifications": "Изпращане на е-писмо, ако получа ново чат съобщения, а не съм на линия",
|
||||
"send_post_notifications": "Изпращане на е-писмо, когато се появи отговор в темите, за които съм абониран/а.",
|
||||
"settings-require-reload": "Някои промени в настройките изискват презареждане. Натиснете тук, за да презаредите страницата.",
|
||||
"has_no_follower": "Този потребител няма последователи :(",
|
||||
"follows_no_one": "Този потребител не следва никого :(",
|
||||
"has_no_posts": "Този потребител не е публикувал нищо досега.",
|
||||
"has_no_posts": "Този потребител не е публикувал нищо все още.",
|
||||
"has_no_topics": "Този потребител не е създавал теми досега.",
|
||||
"has_no_watched_topics": "Този потребител не е следил нито една тема досега.",
|
||||
"has_no_upvoted_posts": "Този потребител не е гласувал положително досега.",
|
||||
"has_no_downvoted_posts": "Този потребител не е гласувал отрицателно досега.",
|
||||
"has_no_voted_posts": "Този потребител не е гласувал досега.",
|
||||
"has_no_watched_topics": "Този потребител не е наблюдавал нито една тема все още.",
|
||||
"email_hidden": "Е-пощата е скрита",
|
||||
"hidden": "скрито",
|
||||
"paginate_description": "Разделяне на темите и публикациите на страници, вместо да се превърта безкрайно",
|
||||
@@ -94,14 +80,5 @@
|
||||
"follow_topics_you_reply_to": "Следване на темите, на които отговаряте",
|
||||
"follow_topics_you_create": "Следване на темите, които създавате",
|
||||
"grouptitle": "Изберете заглавието на групата, което искате да се показва",
|
||||
"no-group-title": "Няма заглавие на група",
|
||||
"select-skin": "Изберете облик",
|
||||
"select-homepage": "Изберете начална страница",
|
||||
"homepage": "Начална страница",
|
||||
"homepage_description": "Изберете страница, която да използвате като начална за форума, или „Нищо“, за да използвате тази по подразбиране.",
|
||||
"custom_route": "Път до персонализираната начална страница",
|
||||
"custom_route_help": "Въведете името на пътя тук, без наклонена черта пред него (пример: „recent“ или „popular“)",
|
||||
"sso.title": "Услуги за еднократно вписване",
|
||||
"sso.associated": "Свързан с",
|
||||
"sso.not-associated": "Натиснете тук, за да свържете с"
|
||||
"no-group-title": "Няма заглавие на група"
|
||||
}
|
||||
@@ -8,13 +8,5 @@
|
||||
"users-found-search-took": "Намерени са %1 потребител(и)! Търсенето отне %2 секунди.",
|
||||
"filter-by": "Филтриране",
|
||||
"online-only": "Само тези на линия",
|
||||
"invite": "Канене",
|
||||
"invitation-email-sent": "Беше изпратено е-писмо за потвърждение до %1",
|
||||
"user_list": "Списък от потребители",
|
||||
"recent_topics": "Скорошни теми",
|
||||
"popular_topics": "Популярни теми",
|
||||
"unread_topics": "Непрочетени теми",
|
||||
"categories": "Категории",
|
||||
"tags": "Етикети",
|
||||
"no-users-found": "Няма открити потребители!"
|
||||
"picture-only": "Само със снимка"
|
||||
}
|
||||
@@ -1,16 +1,12 @@
|
||||
{
|
||||
"category": "বিভাগ",
|
||||
"subcategories": "উপবিভাগ",
|
||||
"new_topic_button": "নতুন টপিক",
|
||||
"guest-login-post": "উত্তর দিতে লগিন করুন",
|
||||
"no_topics": "<strong>এই বিভাগে কোন আলোচনা নেই! </strong><br /> আপনি চাইলে নতুন আলোচনা শুরু করতে পারেন।",
|
||||
"guest-login-post": "Log in to post",
|
||||
"no_topics": "<strong>এই বিভাগে কোন টপিক নেই! </strong><br /> আপনি চাইলে একটি পোষ্ট করতে পারেন।",
|
||||
"browsing": "ব্রাউজিং",
|
||||
"no_replies": "কোন রিপ্লাই নেই",
|
||||
"no_new_posts": "নতুন কোন পোস্ট নাই",
|
||||
"share_this_category": "এই বিভাগটি অন্যের সাথে ভাগাভাগি করুন",
|
||||
"watch": "নজর রাখুন",
|
||||
"watch": "Watch",
|
||||
"ignore": "উপেক্ষা করুন",
|
||||
"watch.message": "আপনি এই বিভাগটিতে নজর রাখছেন",
|
||||
"ignore.message": "আপনি এই বিভাগটির উপেক্ষা করছেন ",
|
||||
"watched-categories": "প্রেক্ষিত বিভাগসমূহ"
|
||||
"watch.message": "You are now watching updates from this category",
|
||||
"ignore.message": "You are now ignoring updates from this category"
|
||||
}
|
||||
@@ -1,34 +1,27 @@
|
||||
{
|
||||
"password-reset-requested": "পাসওয়ার্ড রিসেটের জন্য অনুরোধ করা হয়েছে - %1!",
|
||||
"welcome-to": "%1 এ স্বাগতম",
|
||||
"invite": "%1 থেকে আমন্ত্রণ",
|
||||
"greeting_no_name": "স্বাগতম",
|
||||
"greeting_with_name": "স্বাগতম %1",
|
||||
"welcome.text1": "%1 এ নিবন্ধন করার জন্য আপনাকে ধন্যবাদ!",
|
||||
"welcome.text2": "আপনার একাউন্ট এ্যাক্টিভেট করার জন্য, আপনি যে ইমেইল এড্রেস ব্যাবহার করে নিবন্ধন করেছেন তা যাচাই করতে হবে",
|
||||
"welcome.text3": "An administrator has accepted your registration application. You can login with your username/password now.",
|
||||
"welcome.cta": "আপনার ইমেইল এড্রেস নিশ্চিত করার জন্য এখানে ক্লিক করুন",
|
||||
"invitation.text1": "%1 আপনাকে %2 তে যোগ দিতে আমন্ত্রণ জানিয়েছেন ",
|
||||
"invitation.ctr": "আপনার একাউন্ট খুলতে এখানে ক্লিক করুন",
|
||||
"reset.text1": "আমরা আপনার পাসওয়ার্ড রিসেট করার অনুরোধ পেয়েছি, সম্ভবত আপনি আপনার পাসওয়ার্ড ভুলে গিয়েছেন বলেই। তবে যদি তা না হয়ে থাকে, তাহলে এই মেইলকে উপেক্ষা করতে পারেন।",
|
||||
"reset.text2": "পাসওয়ার্ড রিসেট করতে নিচের লিংকে ক্লিক করুন",
|
||||
"reset.cta": "পাসওয়ার্ড রিসেট করতে এখানে ক্লিক করুন",
|
||||
"reset.notify.subject": "পাসওয়ার্ড পরিবর্তন সফল হয়েছে",
|
||||
"reset.notify.text1": "আপনাকে জানাচ্ছি যে %1 এ আপনার পাসওয়ার্ড পরিবর্তন হয়েছে",
|
||||
"reset.notify.text2": "এটা আপনার অজান্তে হলে এখনই প্রশাসককে আবহিত করুন",
|
||||
"reset.notify.subject": "Password successfully changed",
|
||||
"reset.notify.text1": "We are notifying you that on %1, your password was changed successfully.",
|
||||
"reset.notify.text2": "If you did not authorise this, please notify an administrator immediately.",
|
||||
"digest.notifications": "%1 থেকে আনরিড নোটিফিকেশন আছে।",
|
||||
"digest.latest_topics": "%1 এর সর্বশেষ টপিকসমূহ",
|
||||
"digest.cta": "%1 ভিজিট করতে এখানে ক্লিক করুন",
|
||||
"digest.unsub.info": "আপনার সাবস্ক্রীপশন সেটিংসের কারনে আপনাকে এই ডাইজেষ্টটি পাঠানো হয়েছে।",
|
||||
"digest.no_topics": "%1 এ কোন সক্রিয় টপিক নেই।",
|
||||
"digest.day": "day",
|
||||
"digest.week": "week",
|
||||
"digest.month": "month",
|
||||
"notif.chat.subject": "%1 এর থেকে নতুন মেসেজ এসেছে।",
|
||||
"notif.chat.cta": "কথপোকথন চালিয়ে যেতে এখানে ক্লিক করুন",
|
||||
"notif.chat.unsub.info": "আপনার সাবস্ক্রীপশন সেটিংসের কারনে আপনার এই নোটিফিকেশন পাঠানো হয়েছে",
|
||||
"notif.post.cta": "পুরো বিষয়টি পড়তে এখানে ক্লিক করুন",
|
||||
"notif.post.unsub.info": "আপনার সাবস্ক্রিপশন সেটিংসের কারনে আপনার এই বার্তাটি পাঠানো হয়েছে",
|
||||
"notif.post.cta": "Click here to read the full topic",
|
||||
"notif.post.unsub.info": "This post notification was sent to you due to your subscription settings.",
|
||||
"test.text1": "আপনি সঠিকভাবে নোডবিবির জন্য মেইলার সেটাপ করেছেন কিনা নিশ্চিত করার জন্য এই টেষ্ট ইমেইল পাঠানো হয়েছে",
|
||||
"unsub.cta": "সেটিংসগুলো পরিবর্তন করতে এখানে ক্লিক করুন",
|
||||
"closing": "ধন্যবাদ!"
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
"invalid-password": "ভুল পাসওয়ার্ড",
|
||||
"invalid-username-or-password": "অনুগ্রহ পূর্বক ইউজারনেম এবং পাসওয়ার্ড উভয়ই প্রদান করুন",
|
||||
"invalid-search-term": "অগ্রহনযোগ্য সার্চ টার্ম",
|
||||
"invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2",
|
||||
"invalid-pagination-value": "ভুল পৃষ্ঠা নাম্বার",
|
||||
"username-taken": "ইউজারনেম আগেই ব্যবহৃত",
|
||||
"email-taken": "ইমেইল আগেই ব্যবহৃত",
|
||||
"email-not-confirmed": "আপনার ইমেইল এড্রেস নিশ্চিত করা হয় নি, নিশ্চিত করতে এখানে ক্লিক করুন।",
|
||||
@@ -24,7 +24,6 @@
|
||||
"confirm-email-already-sent": "Confirmation email already sent, please wait %1 minute(s) to send another one.",
|
||||
"username-too-short": "খুব ছোট ইউজারনেম",
|
||||
"username-too-long": "ইউজারনেম বড় হয়ে গিয়েছে",
|
||||
"password-too-long": "Password too long",
|
||||
"user-banned": "ব্যবহারকারী নিষিদ্ধ",
|
||||
"user-too-new": "Sorry, you are required to wait %1 second(s) before making your first post",
|
||||
"no-category": "বিভাগটি খুজে পাওয়া যায় নি",
|
||||
@@ -34,9 +33,11 @@
|
||||
"no-user": "এই নামে কোন সদস্য নেই",
|
||||
"no-teaser": "টিজারটি খুজে পাওয়া যায় নি",
|
||||
"no-privileges": "এই কাজটির জন্য আপনার পর্যাপ্ত অধিকার নেই",
|
||||
"no-emailers-configured": "কোন ইমেল প্লাগইন লোড করা নেই, কাজেই টেস্ট মেইল পাঠানো সম্ভব হচ্ছে না",
|
||||
"category-disabled": "বিভাগটি নিষ্ক্রিয়",
|
||||
"topic-locked": "টপিক বন্ধ",
|
||||
"post-edit-duration-expired": "You are only allowed to edit posts for %1 second(s) after posting",
|
||||
"still-uploading": "আপলোড সম্পূর্ণ জন্য অনুগ্রহ করে অপেক্ষা করুন",
|
||||
"content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).",
|
||||
"content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).",
|
||||
"title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).",
|
||||
@@ -45,26 +46,19 @@
|
||||
"too-many-posts-newbie": "As a new user, you can only post once every %1 second(s) until you have earned %2 reputation - please wait before posting again",
|
||||
"tag-too-short": "Please enter a longer tag. Tags should contain at least %1 character(s)",
|
||||
"tag-too-long": "Please enter a shorter tag. Tags can't be longer than %1 character(s)",
|
||||
"not-enough-tags": "Not enough tags. Topics must have at least %1 tag(s)",
|
||||
"too-many-tags": "Too many tags. Topics can't have more than %1 tag(s)",
|
||||
"still-uploading": "আপলোড সম্পূর্ণ জন্য অনুগ্রহ করে অপেক্ষা করুন",
|
||||
"file-too-big": "Maximum allowed file size is %1 kB - please upload a smaller file",
|
||||
"guest-upload-disabled": "Guest uploading has been disabled",
|
||||
"already-favourited": "You have already bookmarked this post",
|
||||
"already-unfavourited": "You have already unbookmarked this post",
|
||||
"cant-vote-self-post": "আপনি নিজের পোস্টে ভোট দিতে পারবেন না।",
|
||||
"already-favourited": "আপনি ইতিমধ্যে এই পোষ্টটি পছন্দের তালিকায় যোগ করেছেন",
|
||||
"already-unfavourited": "আপনি ইতিমধ্যে এই পোষ্টটি আপনার পছন্দের তালিকা থেকে সরিয়ে ফেলেছেন",
|
||||
"cant-ban-other-admins": "আপনি অন্য এ্যাডমিনদের নিষিদ্ধ করতে পারেন না!",
|
||||
"cant-remove-last-admin": "You are the only administrator. Add another user as an administrator before removing yourself as admin",
|
||||
"invalid-image-type": "Invalid image type. Allowed types are: %1",
|
||||
"invalid-image-extension": "Invalid image extension",
|
||||
"invalid-file-type": "Invalid file type. Allowed types are: %1",
|
||||
"group-name-too-short": "গ্রুপের নাম খুব ছোট",
|
||||
"group-already-exists": "গ্রুপ ইতিমধ্যেই বিদ্যমান",
|
||||
"group-name-change-not-allowed": "গ্রুপের নাম পরিবর্তনের অনুমতি নেই",
|
||||
"group-already-member": "Already part of this group",
|
||||
"group-not-member": "Not a member of this group",
|
||||
"group-already-member": "You are already part of this group",
|
||||
"group-needs-owner": "This group requires at least one owner",
|
||||
"group-already-invited": "This user has already been invited",
|
||||
"group-already-requested": "Your membership request has already been submitted",
|
||||
"post-already-deleted": "এই পোস্টটি ইতিমধ্যে ডিলিট করা হয়ে গিয়েছে",
|
||||
"post-already-restored": "এই পোষ্টটি ইতিমধ্যে পুনরোদ্ধার করা হয়েছে",
|
||||
"topic-already-deleted": "এই টপিকটি ইতিমধ্যে ডিলিট করা হয়েছে",
|
||||
@@ -77,25 +71,14 @@
|
||||
"about-me-too-long": "Sorry, your about me cannot be longer than %1 character(s).",
|
||||
"cant-chat-with-yourself": "আপনি নিজের সাথে চ্যাট করতে পারবেন না!",
|
||||
"chat-restricted": "এই সদস্য তার বার্তালাপ সংরক্ষিত রেখেছেন। এই সদস্য আপনাকে ফলো করার পরই কেবলমাত্র আপনি তার সাথে চ্যাট করতে পারবেন",
|
||||
"chat-disabled": "Chat system disabled",
|
||||
"too-many-messages": "You have sent too many messages, please wait awhile.",
|
||||
"invalid-chat-message": "Invalid chat message",
|
||||
"chat-message-too-long": "Chat message is too long",
|
||||
"cant-edit-chat-message": "You are not allowed to edit this message",
|
||||
"cant-remove-last-user": "You can't remove the last user",
|
||||
"cant-delete-chat-message": "You are not allowed to delete this message",
|
||||
"reputation-system-disabled": "সম্মাননা ব্যাবস্থা নিস্ক্রীয় রাখা হয়েছে",
|
||||
"downvoting-disabled": "ঋণাত্মক ভোট নিস্ক্রীয় রাখা হয়েছে।",
|
||||
"not-enough-reputation-to-downvote": "আপনার এই পোস্ট downvote করার জন্য পর্যাপ্ত সম্মাননা নেই",
|
||||
"not-enough-reputation-to-flag": "এই পোষ্টকে ফ্লাগ করার জন্য আপনার পর্যাপ্ত সম্মাননা নেই",
|
||||
"already-flagged": "You have already flagged this post",
|
||||
"reload-failed": "\"%1\" রিলোড করতে সমস্যা হয়েছে। রিলোডের পূর্বে যা করা হয়েছিল সেটি আনডু করা সমীচীন। ",
|
||||
"registration-error": "নিবন্ধন এরর!",
|
||||
"parse-error": "Something went wrong while parsing server response",
|
||||
"wrong-login-type-email": "Please use your email to login",
|
||||
"wrong-login-type-username": "Please use your username to login",
|
||||
"invite-maximum-met": "You have invited the maximum amount of people (%1 out of %2).",
|
||||
"no-session-found": "No login session found!",
|
||||
"not-in-room": "User not in room",
|
||||
"no-users-in-room": "No users in this room"
|
||||
"wrong-login-type-username": "Please use your username to login"
|
||||
}
|
||||
@@ -22,7 +22,6 @@
|
||||
"pagination.out_of": "%2 এর মাঝে %1",
|
||||
"pagination.enter_index": "সূচক লিখুন",
|
||||
"header.admin": "অ্যাডমিন",
|
||||
"header.categories": "বিভাগ",
|
||||
"header.recent": "সাম্প্রতিক",
|
||||
"header.unread": "অপঠিত",
|
||||
"header.tags": "ট্যাগ",
|
||||
@@ -33,7 +32,6 @@
|
||||
"header.notifications": "বিজ্ঞপ্তি",
|
||||
"header.search": "অনুসন্ধান",
|
||||
"header.profile": "প্রোফাইল",
|
||||
"header.navigation": "Navigation",
|
||||
"notifications.loading": "বিজ্ঞপ্তিগুলি লোড হচ্ছে",
|
||||
"chats.loading": "কথোপকথনগুলি লোড হচ্ছে ",
|
||||
"motd.welcome": "ভবিষ্যতের আলোচনার প্লাটফর্ম, NodeBB তে স্বাগতম।",
|
||||
@@ -49,29 +47,25 @@
|
||||
"users": "ব্যবহারকারীগণ",
|
||||
"topics": "টপিক",
|
||||
"posts": "পোস্টগুলি",
|
||||
"best": "Best",
|
||||
"upvoted": "Upvoted",
|
||||
"downvoted": "Downvoted",
|
||||
"views": "দেখেছেন",
|
||||
"reputation": "সন্মাননা",
|
||||
"read_more": "আরো পড়ুন",
|
||||
"more": "আরো...",
|
||||
"posted_ago_by_guest": "অতিথি পোস্ট করেছেন %1",
|
||||
"posted_ago_by": " %1 %2 দ্বারা পোস্টকৃত",
|
||||
"posted_ago": "পোস্ট করেছেন %1",
|
||||
"posted_in": "posted in %1",
|
||||
"posted_in_by": "posted in %1 by %2",
|
||||
"posted_in_ago": "%1 বিভাগে পোস্ট করা হয়েছে %2 আগে",
|
||||
"posted_in_ago_by_guest": "%1 বিভাগে অতিথি পোস্ট করেছেন %2",
|
||||
"posted_in_ago_by": "%3 %1 বিভাগে পোস্ট করেছেন %2",
|
||||
"posted_in_ago": "%1 বিভাগে পোস্ট করা হয়েছে %2 আগে",
|
||||
"replied_ago": "উত্তর দেয়া হয়েছে %1 ",
|
||||
"user_posted_ago": "%1 পোস্ট করেছেন %2",
|
||||
"guest_posted_ago": "অতিথি পোস্ট করেছেন %1",
|
||||
"last_edited_by": "last edited by %1",
|
||||
"last_edited_by_ago": "সর্বশেষ সম্পাদনা করেছেন %1 %2",
|
||||
"norecentposts": "কোনও সাম্প্রতিক পোস্ট নেই",
|
||||
"norecenttopics": "কোনও সাম্প্রতিক টপিক নেই",
|
||||
"recentposts": "সাম্প্রতিক পোস্ট",
|
||||
"recentips": "সাম্প্রতিক প্রবেশকৃত আইপি সমুহ",
|
||||
"away": "দূরে",
|
||||
"dnd": "Do not disturb",
|
||||
"dnd": "বিরক্ত করবেন না",
|
||||
"invisible": "অদৃশ্য",
|
||||
"offline": "অফলাইন",
|
||||
"email": "ইমেইল",
|
||||
@@ -83,12 +77,5 @@
|
||||
"privacy": "নিরাপত্তা",
|
||||
"follow": "Follow",
|
||||
"unfollow": "Unfollow",
|
||||
"delete_all": "সব মুছে ফেলুন",
|
||||
"map": "ম্যাপ",
|
||||
"sessions": "Login Sessions",
|
||||
"ip_address": "IP Address",
|
||||
"enter_page_number": "Enter page number",
|
||||
"upload_file": "Upload file",
|
||||
"upload": "Upload",
|
||||
"allowed-file-types": "Allowed file types are %1"
|
||||
"delete_all": "সব মুছে ফেলুন"
|
||||
}
|
||||
@@ -6,25 +6,16 @@
|
||||
"no_groups_found": "There are no groups to see",
|
||||
"pending.accept": "Accept",
|
||||
"pending.reject": "Reject",
|
||||
"pending.accept_all": "Accept All",
|
||||
"pending.reject_all": "Reject All",
|
||||
"pending.none": "There are no pending members at this time",
|
||||
"invited.none": "There are no invited members at this time",
|
||||
"invited.uninvite": "Rescind Invitation",
|
||||
"invited.search": "Search for a user to invite to this group",
|
||||
"invited.notification_title": "You have been invited to join <strong>%1</strong>",
|
||||
"request.notification_title": "Group Membership Request from <strong>%1</strong>",
|
||||
"request.notification_text": "<strong>%1</strong> has requested to become a member of <strong>%2</strong>",
|
||||
"cover-instructions": "Drag and Drop a photo, drag to position, and hit <strong>Save</strong>",
|
||||
"cover-change": "Change",
|
||||
"cover-save": "Save",
|
||||
"cover-saving": "Saving",
|
||||
"details.title": "গ্রুপের বিস্তারিত",
|
||||
"details.members": "সদস্য তালিকা",
|
||||
"details.pending": "Pending Members",
|
||||
"details.invited": "Invited Members",
|
||||
"details.has_no_posts": "এই গ্রুপের সদস্যরা এখনো কোন পোষ্ট করেন নি",
|
||||
"details.latest_posts": "সর্বশেষ পোষ্টসমূহ",
|
||||
"details.private": "Private",
|
||||
"details.disableJoinRequests": "Disable join requests",
|
||||
"details.grant": "Grant/Rescind Ownership",
|
||||
"details.kick": "Kick",
|
||||
"details.owner_options": "Group Administration",
|
||||
@@ -40,14 +31,6 @@
|
||||
"details.private_help": "If enabled, joining of groups requires approval from a group owner",
|
||||
"details.hidden": "Hidden",
|
||||
"details.hidden_help": "If enabled, this group will not be found in the groups listing, and users will have to be invited manually",
|
||||
"details.delete_group": "Delete Group",
|
||||
"event.updated": "Group details have been updated",
|
||||
"event.deleted": "The group \"%1\" has been deleted",
|
||||
"membership.accept-invitation": "Accept Invitation",
|
||||
"membership.invitation-pending": "Invitation Pending",
|
||||
"membership.join-group": "Join Group",
|
||||
"membership.leave-group": "Leave Group",
|
||||
"membership.reject": "Reject",
|
||||
"new-group.group_name": "Group Name:",
|
||||
"upload-group-cover": "Upload group cover"
|
||||
"event.deleted": "The group \"%1\" has been deleted"
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"username-email": "ইউজারনেম / ইমেইল",
|
||||
"username": "ইউজারনেম",
|
||||
"email": "ইমেইল",
|
||||
"username-email": "Username / Email",
|
||||
"username": "Username",
|
||||
"email": "Email",
|
||||
"remember_me": "মনে রাখুন",
|
||||
"forgot_password": "পাসওয়ার্ড ভুলে গিয়েছেন?",
|
||||
"alternative_logins": "বিকল্প প্রবেশ",
|
||||
|
||||
@@ -5,9 +5,8 @@
|
||||
"chat.no_active": "আপনার কোন সচল কথোপকথন নেই",
|
||||
"chat.user_typing": "%1 লিখছেন",
|
||||
"chat.user_has_messaged_you": "%1 আপনাকে বার্তা পাঠিয়েছেন",
|
||||
"chat.see_all": "See all chats",
|
||||
"chat.see_all": "সকল কথোপকথন দেখুন",
|
||||
"chat.no-messages": "মেসেজ হিস্টোরী দেখতে প্রাপক নির্বাচন করুন",
|
||||
"chat.no-users-in-room": "No users in this room",
|
||||
"chat.recent-chats": "সাম্প্রতিক চ্যাটসমূহ",
|
||||
"chat.contacts": "কন্টাক্টস",
|
||||
"chat.message-history": "মেসেজ হিস্টোরী",
|
||||
@@ -16,9 +15,6 @@
|
||||
"chat.seven_days": "৭ দিন",
|
||||
"chat.thirty_days": "৩০ দিন",
|
||||
"chat.three_months": "৩ মাস",
|
||||
"chat.delete_message_confirm": "Are you sure you wish to delete this message?",
|
||||
"chat.roomname": "Chat Room %1",
|
||||
"chat.add-users-to-room": "Add users to room",
|
||||
"composer.compose": "Compose",
|
||||
"composer.show_preview": "Show Preview",
|
||||
"composer.hide_preview": "Hide Preview",
|
||||
@@ -26,12 +22,5 @@
|
||||
"composer.user_said": "%1 বলেছেনঃ",
|
||||
"composer.discard": "আপনি কি নিশ্চিত যে আপনি এই পোস্ট বাতিল করতে ইচ্ছুক?",
|
||||
"composer.submit_and_lock": "Submit and Lock",
|
||||
"composer.toggle_dropdown": "Toggle Dropdown",
|
||||
"composer.uploading": "Uploading %1",
|
||||
"bootbox.ok": "OK",
|
||||
"bootbox.cancel": "Cancel",
|
||||
"bootbox.confirm": "Confirm",
|
||||
"cover.dragging_title": "Cover Photo Positioning",
|
||||
"cover.dragging_message": "Drag the cover photo to the desired position and click \"Save\"",
|
||||
"cover.saved": "Cover photo image and position saved"
|
||||
"composer.toggle_dropdown": "Toggle Dropdown"
|
||||
}
|
||||
@@ -1,36 +1,25 @@
|
||||
{
|
||||
"title": "বিজ্ঞপ্তিগুলো",
|
||||
"no_notifs": "আপনার নতুন কোন বিজ্ঞপ্তি নেই",
|
||||
"see_all": "See all notifications",
|
||||
"see_all": "সকল বিজ্ঞপ্তিগুলো দেখুন",
|
||||
"mark_all_read": "Mark all notifications read",
|
||||
"back_to_home": "ফিরুন %1",
|
||||
"outgoing_link": "বহির্গামী লিঙ্ক",
|
||||
"outgoing_link_message": "You are now leaving %1",
|
||||
"outgoing_link_message": "আপনি এখন %1 ত্যাগ করছেন",
|
||||
"continue_to": "%1 তে আগান",
|
||||
"return_to": "%1 এ ফেরত যান",
|
||||
"new_notification": "নতুন বিজ্ঞপ্তি",
|
||||
"you_have_unread_notifications": "আপনার অপঠিত বিজ্ঞপ্তি আছে।",
|
||||
"new_message_from": "<strong>%1</strong> থেকে নতুন বার্তা",
|
||||
"upvoted_your_post_in": "<strong>%1</strong> , <strong>%2</strong> এ আপানার পোষ্টকে আপভোট করেছেন। ",
|
||||
"upvoted_your_post_in_dual": "<strong>%1</strong> and <strong>%2</strong> have upvoted your post in <strong>%3</strong>.",
|
||||
"upvoted_your_post_in_multiple": "<strong>%1</strong> and %2 others have upvoted your post in <strong>%3</strong>.",
|
||||
"moved_your_post": "<strong>%1</strong> has moved your post to <strong>%2</strong>",
|
||||
"moved_your_topic": "<strong>%1</strong> has moved <strong>%2</strong>",
|
||||
"favourited_your_post_in": "<strong>%1</strong> has bookmarked your post in <strong>%2</strong>.",
|
||||
"favourited_your_post_in_dual": "<strong>%1</strong> and <strong>%2</strong> have bookmarked your post in <strong>%3</strong>.",
|
||||
"favourited_your_post_in_multiple": "<strong>%1</strong> and %2 others have bookmarked your post in <strong>%3</strong>.",
|
||||
"moved_your_post": "<strong>%1</strong> আপনার পোষ্ট সরিয়ে নিয়েছেন। ",
|
||||
"moved_your_topic": "<strong>%1</strong> আপনার টপিক সরিয়ে নিয়েছেন। ",
|
||||
"favourited_your_post_in": "<strong>%1</strong> has favourited your post in <strong>%2</strong>.",
|
||||
"user_flagged_post_in": "<strong>%1</strong> flagged a post in <strong>%2</strong>",
|
||||
"user_flagged_post_in_dual": "<strong>%1</strong> and <strong>%2</strong> flagged a post in <strong>%3</strong>",
|
||||
"user_flagged_post_in_multiple": "<strong>%1</strong> and %2 others flagged a post in <strong>%3</strong>",
|
||||
"user_posted_to": "<strong>%1</strong> একটি উত্তর দিয়েছেন: <strong>%2</strong>",
|
||||
"user_posted_to_dual": "<strong>%1</strong> and <strong>%2</strong> have posted replies to: <strong>%3</strong>",
|
||||
"user_posted_to_multiple": "<strong>%1</strong> and %2 others have posted replies to: <strong>%3</strong>",
|
||||
"user_posted_topic": "<strong>%1</strong> has posted a new topic: <strong>%2</strong>",
|
||||
"user_mentioned_you_in": "<strong>%1</strong>, <strong>%2</strong> এ আপনার নাম উল্লেখ করেছেন",
|
||||
"user_started_following_you": "<strong>%1</strong> আপনাকে অনুসরন করা শুরু করেছেন।",
|
||||
"user_started_following_you_dual": "<strong>%1</strong> and <strong>%2</strong> started following you.",
|
||||
"user_started_following_you_multiple": "<strong>%1</strong> and %2 others started following you.",
|
||||
"new_register": "<strong>%1</strong> sent a registration request.",
|
||||
"new_register_multiple": "There are <strong>%1</strong> registration requests awaiting review.",
|
||||
"email-confirmed": "ইমেইল নিশ্চিত করা হয়েছে",
|
||||
"email-confirmed-message": "আপনার ইমেইল যাচাই করার জন্য আপনাকে ধন্যবাদ। আপনার অ্যাকাউন্টটি এখন সম্পূর্ণরূপে সক্রিয়।",
|
||||
"email-confirm-error-message": "আপনার ইমেল ঠিকানার বৈধতা যাচাইয়ে একটি সমস্যা হয়েছে। সম্ভবত কোডটি ভুল ছিল অথবা কোডের মেয়াদ শেষ হয়ে গিয়েছে।",
|
||||
|
||||
@@ -1,46 +1,21 @@
|
||||
{
|
||||
"home": "নীড়পাতা",
|
||||
"unread": "অপঠিত টপিক",
|
||||
"popular-day": "Popular topics today",
|
||||
"popular-week": "Popular topics this week",
|
||||
"popular-month": "Popular topics this month",
|
||||
"popular-alltime": "All time popular topics",
|
||||
"popular": "জনপ্রিয় টপিক",
|
||||
"recent": "সাম্প্রতিক টপিক",
|
||||
"flagged-posts": "Flagged Posts",
|
||||
"users/online": "Online Users",
|
||||
"users/latest": "Latest Users",
|
||||
"users/sort-posts": "Users with the most posts",
|
||||
"users/sort-reputation": "Users with the most reputation",
|
||||
"users/banned": "Banned Users",
|
||||
"users/search": "User Search",
|
||||
"users": "নিবন্ধিত সদস্যগণ",
|
||||
"notifications": "বিজ্ঞপ্তি",
|
||||
"tags": "ট্যাগসমূহ",
|
||||
"tags": "Tags",
|
||||
"tag": "Topics tagged under \"%1\"",
|
||||
"register": "Register an account",
|
||||
"login": "Login to your account",
|
||||
"reset": "Reset your account password",
|
||||
"categories": "বিভাগ",
|
||||
"groups": "Groups",
|
||||
"group": "%1 group",
|
||||
"chats": "Chats",
|
||||
"chat": "Chatting with %1",
|
||||
"account/edit": "Editing \"%1\"",
|
||||
"account/edit/password": "Editing password of \"%1\"",
|
||||
"account/edit/username": "Editing username of \"%1\"",
|
||||
"account/edit/email": "Editing email of \"%1\"",
|
||||
"account/following": "People %1 follows",
|
||||
"account/followers": "People who follow %1",
|
||||
"account/posts": "Posts made by %1",
|
||||
"account/topics": "Topics created by %1",
|
||||
"account/groups": "%1's Groups",
|
||||
"account/favourites": "%1's Bookmarked Posts",
|
||||
"account/settings": "User Settings",
|
||||
"account/watched": "Topics watched by %1",
|
||||
"account/upvoted": "Posts upvoted by %1",
|
||||
"account/downvoted": "Posts downvoted by %1",
|
||||
"account/best": "Best posts made by %1",
|
||||
"confirm": "Email Confirmed",
|
||||
"user.edit": "সম্পাদনা \"%1\"",
|
||||
"user.following": "%1 যাদের অনুসরণ করেন",
|
||||
"user.followers": "যারা %1 কে অনুসরণ করেন",
|
||||
"user.posts": "%1 এর পোস্ট সমুহ",
|
||||
"user.topics": "%1 এর টপিক সমুহ",
|
||||
"user.groups": "%1's Groups",
|
||||
"user.favourites": "%1'র প্রিয় পোস্টগুলো",
|
||||
"user.settings": "সদস্য সেটিংস",
|
||||
"user.watched": "Topics watched by %1",
|
||||
"maintenance.text": "%1 is currently undergoing maintenance. Please come back another time.",
|
||||
"maintenance.messageIntro": "Additionally, the administrator has left this message:",
|
||||
"throttled.text": "%1 is currently unavailable due to excessive load. Please come back another time."
|
||||
"maintenance.messageIntro": "Additionally, the administrator has left this message:"
|
||||
}
|
||||
@@ -14,6 +14,5 @@
|
||||
"register_now_button": "নিবন্ধন করুন",
|
||||
"alternative_registration": "বিকল্প নিবন্ধন",
|
||||
"terms_of_use": "নিয়মাবলী",
|
||||
"agree_to_terms_of_use": "আমি নিয়মাবলী মেনে চলতে সম্মতি জানালাম",
|
||||
"registration-added-to-queue": "আপনার নিবন্ধনটি এ্যাপ্লুভাল তালিকায় যুক্ত হয়েছে। একজন এডমিনিস্ট্রেটর কর্তৃক নিবন্ধন গৃহীত হলে আপনি একটি মেইল পাবেন। "
|
||||
"agree_to_terms_of_use": "আমি নিয়মাবলী মেনে চলতে সম্মতি জানালাম"
|
||||
}
|
||||
@@ -1,40 +1,40 @@
|
||||
{
|
||||
"results_matching": "\"%2\" এর সাথে মিলিয়ে %1 ফলাফল পাওয়া গেছে, ( %3 seconds সময় লেগেছে )",
|
||||
"no-matches": "কোন মিল খুঁজে পাওয়া যায় নি",
|
||||
"advanced-search": "এডভান্সড সার্চ",
|
||||
"in": "এর মধ্যে",
|
||||
"titles": "টাইটেলস",
|
||||
"titles-posts": "টাইটেল এবং পোস্ট সমূহ",
|
||||
"posted-by": "পোষ্ট করেছেন",
|
||||
"in-categories": "বিভাগের ভিতরে",
|
||||
"search-child-categories": "উপবিভাগের ভিতরে",
|
||||
"reply-count": "রিপ্লাই কাউন্ট",
|
||||
"at-least": "কমপক্ষে",
|
||||
"at-most": "সর্বোচ্চ",
|
||||
"post-time": "পোস্টের সময়",
|
||||
"no-matches": "No matches found",
|
||||
"advanced-search": "Advanced Search",
|
||||
"in": "In",
|
||||
"titles": "Titles",
|
||||
"titles-posts": "Titles and Posts",
|
||||
"posted-by": "Posted by",
|
||||
"in-categories": "In Categories",
|
||||
"search-child-categories": "Search child categories",
|
||||
"reply-count": "Reply Count",
|
||||
"at-least": "At least",
|
||||
"at-most": "At most",
|
||||
"post-time": "Post time",
|
||||
"newer-than": "Newer than",
|
||||
"older-than": "Older than",
|
||||
"any-date": "যেকোন তারিখ",
|
||||
"yesterday": "গতকাল",
|
||||
"one-week": "এক সপ্তাহ",
|
||||
"two-weeks": "দুই সপ্তাহ",
|
||||
"one-month": "এক মাস",
|
||||
"three-months": "তিন মাস",
|
||||
"six-months": "ছয় মাস",
|
||||
"one-year": "এক বছর",
|
||||
"sort-by": "সাজানোর ভিত্তি",
|
||||
"last-reply-time": "সর্বশেষ রিপ্লাইয়ের সময়",
|
||||
"topic-title": "টপিকের টাইটেল",
|
||||
"number-of-replies": "রিপ্লাইয়ের সংখ্যা",
|
||||
"number-of-views": "সর্বমোট ভিউ",
|
||||
"topic-start-date": "টপিক শুরুর তারিখ",
|
||||
"username": "ইউজারনেম",
|
||||
"category": "বিভাগ",
|
||||
"descending": "বড় থেকে ছোট অর্ডারে",
|
||||
"ascending": "ছোট থেকে বড় অর্ডারে",
|
||||
"save-preferences": "প্রেফারেন্স সেভ",
|
||||
"any-date": "Any date",
|
||||
"yesterday": "Yesterday",
|
||||
"one-week": "One week",
|
||||
"two-weeks": "Two weeks",
|
||||
"one-month": "One month",
|
||||
"three-months": "Three months",
|
||||
"six-months": "Six months",
|
||||
"one-year": "One year",
|
||||
"sort-by": "Sort by",
|
||||
"last-reply-time": "Last reply time",
|
||||
"topic-title": "Topic title",
|
||||
"number-of-replies": "Number of replies",
|
||||
"number-of-views": "Number of views",
|
||||
"topic-start-date": "Topic start date",
|
||||
"username": "Username",
|
||||
"category": "Category",
|
||||
"descending": "In descending order",
|
||||
"ascending": "In ascending order",
|
||||
"save-preferences": "Save preferences",
|
||||
"clear-preferences": "Clear preferences",
|
||||
"search-preferences-saved": "Search preferences saved",
|
||||
"search-preferences-cleared": "Search preferences cleared",
|
||||
"show-results-as": "ফলাফল দেখানো হোক : "
|
||||
"show-results-as": "Show results as"
|
||||
}
|
||||
@@ -13,7 +13,6 @@
|
||||
"notify_me": "এই টপিকে নতুন উত্তর আসলে জানুন",
|
||||
"quote": "উদ্ধৃতি",
|
||||
"reply": "উত্তর",
|
||||
"reply-as-topic": "Reply as topic",
|
||||
"guest-login-reply": "Log in to reply",
|
||||
"edit": "সম্পাদণা",
|
||||
"delete": "মুছে ফেলুন",
|
||||
@@ -26,16 +25,15 @@
|
||||
"tools": "টুলস",
|
||||
"flag": "ফ্ল্যাগ",
|
||||
"locked": "বন্ধ",
|
||||
"bookmark_instructions": "Click here to return to the last unread post in this thread.",
|
||||
"bookmark_instructions": "আপনার সর্বশেষ অবস্থানে ফিরে যাবার জন্য এখানে ক্লিক করুন অথবা অগ্রাহ্য করতে চাইলে বন্ধ করুন",
|
||||
"flag_title": "মডারেশনের জন্য এই পোস্টটি ফ্ল্যাগ করুন",
|
||||
"flag_confirm": "আপনি কি নিশ্চিত যে এই পোস্টটিকে আপনি ফ্ল্যাগ করতে চান? ",
|
||||
"flag_success": "এই পোস্টটি মডারেশনের জন্য ফ্ল্যাগ করা হয়েছে।",
|
||||
"deleted_message": "এই টপিকটি মুছে ফেলা হয়েছে। শুধুমাত্র টপিক ব্যবস্থাপনার ক্ষমতাপ্রাপ্ত সদস্যগণ এটি দেখতে পারবেন।",
|
||||
"following_topic.message": "এখন থেকে এই টপিকে অন্যকেউ পোস্ট করলে আপনি নোটিফিকেশন পাবেন।",
|
||||
"not_following_topic.message": "এই টপিক থেকে আপনি আর নোটিফিকেশন পাবেন না।",
|
||||
"login_to_subscribe": "এই টপিকে সাবস্ক্রাইব করতে চাইলে অনুগ্রহ করে নিবন্ধণ করুন অথবা প্রবেশ করুন।",
|
||||
"markAsUnreadForAll.success": "টপিকটি সবার জন্য অপঠিত হিসাবে মার্ক করুন।",
|
||||
"mark_unread": "Mark unread",
|
||||
"mark_unread.success": "Topic marked as unread.",
|
||||
"watch": "দেখা",
|
||||
"unwatch": "অদেখা",
|
||||
"watch.title": "এই টপিকে নতুন উত্তর এলে বিজ্ঞাপণের মাধ্যমে জানুন।",
|
||||
@@ -51,7 +49,6 @@
|
||||
"thread_tools.move_all": "সমস্ত টপিক সরান",
|
||||
"thread_tools.fork": "টপিক ফর্ক করুন",
|
||||
"thread_tools.delete": "টপিক মুছে ফেলুন",
|
||||
"thread_tools.delete-posts": "Delete Posts",
|
||||
"thread_tools.delete_confirm": "আপনি নিশ্চিত যে আপনি এই টপিকটি মুছে ফেলতে চান?",
|
||||
"thread_tools.restore": "টপিক পুনরূদ্ধার করুন",
|
||||
"thread_tools.restore_confirm": "আপনি নিশ্চিত যে আপনি টপিকটি পুনরূদ্ধার করতে চান?",
|
||||
@@ -65,9 +62,9 @@
|
||||
"disabled_categories_note": "নিস্ক্রীয় ক্যাটাগরীসমূহ ধূসর কালিতে লেখা রয়েছে। ",
|
||||
"confirm_move": "সরান",
|
||||
"confirm_fork": "ফর্ক",
|
||||
"favourite": "Bookmark",
|
||||
"favourites": "Bookmarks",
|
||||
"favourites.has_no_favourites": "You haven't bookmarked any posts yet.",
|
||||
"favourite": "পছন্দ",
|
||||
"favourites": "পছন্দতালিকা",
|
||||
"favourites.has_no_favourites": "আপনার যদি কোন পছন্দের পোষ্ট না থেকে থাকে তাহলে কিছু পোষ্ট ফেভারিট করা হলে সেগুলো এখানে দেখতে পাবেন।",
|
||||
"loading_more_posts": "আরো পোষ্ট লোড করা হচ্ছে",
|
||||
"move_topic": "টপিক সরান",
|
||||
"move_topics": "টপিক সমূহ সরান",
|
||||
@@ -78,7 +75,6 @@
|
||||
"fork_topic_instruction": "যে পোষ্টটি ফর্ক করতে চান সেটি ক্লিক করুন",
|
||||
"fork_no_pids": "কোন পোষ্ট সিলেক্ট করা হয় নি",
|
||||
"fork_success": "টপিক ফর্ক করা হয়েছে। ফর্ক করা টপিকে যেতে এখানে ক্লিক করুন",
|
||||
"delete_posts_instruction": "Click the posts you want to delete/purge",
|
||||
"composer.title_placeholder": "আপনার টপিকের শিরোনাম দিন",
|
||||
"composer.handle_placeholder": "Name",
|
||||
"composer.discard": "বাতিল",
|
||||
@@ -100,13 +96,5 @@
|
||||
"oldest_to_newest": "পুরাতন থেকে নতুন",
|
||||
"newest_to_oldest": "নতুন থেকে পুরাতন",
|
||||
"most_votes": "সর্বোচ্চ ভোট",
|
||||
"most_posts": "Most posts",
|
||||
"stale.title": "Create new topic instead?",
|
||||
"stale.warning": "The topic you are replying to is quite old. Would you like to create a new topic instead, and reference this one in your reply?",
|
||||
"stale.create": "Create a new topic",
|
||||
"stale.reply_anyway": "Reply to this topic anyway",
|
||||
"link_back": "Re: [%1](%2)",
|
||||
"spam": "Spam",
|
||||
"offensive": "Offensive",
|
||||
"custom-flag-reason": "Enter a flagging reason"
|
||||
"most_posts": "Most posts"
|
||||
}
|
||||
@@ -5,6 +5,5 @@
|
||||
"mark_as_read": "পঠিত হিসেবে চিহ্নিত করুন",
|
||||
"selected": "নির্বাচিত",
|
||||
"all": "সবগুলো",
|
||||
"all_categories": "All categories",
|
||||
"topics_marked_as_read.success": "পঠিত হিসেবে চিহ্নিত টপিকসমূহ"
|
||||
}
|
||||
@@ -2,17 +2,12 @@
|
||||
"banned": "নিষিদ্ধ",
|
||||
"offline": "অফলাইন",
|
||||
"username": "সদস্যের নাম",
|
||||
"joindate": "নিবন্ধন তারিখ",
|
||||
"postcount": "সর্বমোট পোষ্ট",
|
||||
"joindate": "Join Date",
|
||||
"postcount": "Post Count",
|
||||
"email": "ইমেইল",
|
||||
"confirm_email": "ইমেইল নিশ্চিত করুন",
|
||||
"ban_account": "একাউন্ট নিষিদ্ধ করুন",
|
||||
"ban_account_confirm": "আপনি কি নিশ্চিত যে এই সদস্যকে নিষিদ্ধ করতে চান ?",
|
||||
"unban_account": "নিষেদ্ধাজ্ঞা তুলে নিন",
|
||||
"delete_account": "একাউন্ট মুছে ফেলুন",
|
||||
"delete_account_confirm": "আপনি কি নিশ্চিত যে আপনি আপনার একাউন্ট মুছে ফেলতে চান ? <br /><strong>এই কাজটির ফলে আপনার কোন তথ্য পুনরূদ্ধার করা সম্ভব নয় </strong><br /><br /> নিশ্চিত করতে আপনার ইউজারনেম প্রবেশ করান। ",
|
||||
"delete_this_account_confirm": "Are you sure you want to delete this account? <br /><strong>This action is irreversible and you will not be able to recover any data</strong><br /><br />",
|
||||
"account-deleted": "একাউন্ট মুছে ফেলা হয়েছে",
|
||||
"fullname": "পুর্ণ নাম",
|
||||
"website": "ওয়েবসাইট",
|
||||
"location": "স্থান",
|
||||
@@ -22,24 +17,21 @@
|
||||
"profile": "প্রোফাইল",
|
||||
"profile_views": "প্রোফাইল দেখেছেন",
|
||||
"reputation": "সন্মাননা",
|
||||
"favourites": "Bookmarks",
|
||||
"watched": "দেখা হয়েছে",
|
||||
"favourites": "পছন্দের তালিকা",
|
||||
"watched": "Watched",
|
||||
"followers": "যাদের অনুসরণ করছেন",
|
||||
"following": "যারা আপনাকে অনুসরণ করছে",
|
||||
"aboutme": "আমার সম্পর্কে: ",
|
||||
"aboutme": "About me",
|
||||
"signature": "স্বাক্ষর",
|
||||
"gravatar": "গ্রাভাতার",
|
||||
"birthday": "জন্মদিন",
|
||||
"chat": "বার্তালাপ",
|
||||
"chat_with": "চ্যাট উইথ %1",
|
||||
"follow": "অনুসরন করুন",
|
||||
"unfollow": "অনুসরন করা থেকে বিরত থাকুন",
|
||||
"more": "আরো...",
|
||||
"more": "More",
|
||||
"profile_update_success": "প্রোফাইল আপডেট সফল হয়েছে",
|
||||
"change_picture": "ছবি পরিবর্তন",
|
||||
"change_username": "ইউজারনেম পরিবর্তন করুন",
|
||||
"change_email": "ইমেইল পরিবর্তন করুন",
|
||||
"edit": "সম্পাদনা",
|
||||
"default_picture": "ডিফল্ট আইকন",
|
||||
"uploaded_picture": "ছবি আপলোড করুন",
|
||||
"upload_new_picture": "নতুন ছবি আপলোড করুন",
|
||||
"upload_new_picture_from_url": "URL থেকে নতুন ছবি আপলোড করুন",
|
||||
@@ -54,12 +46,9 @@
|
||||
"confirm_password": "পাসওয়ার্ড নিশ্চিত করুন",
|
||||
"password": "পাসওয়ার্ড",
|
||||
"username_taken_workaround": "আপনি যে ইউজারনেম চাচ্ছিলেন সেটি ইতিমধ্যে নেয়া হয়ে গেছে, কাজেই আমরা এটি কিঞ্চিং পরিবর্তন করেছি। আপনি এখন <strong>%1</strong> হিসেবে পরিচিত",
|
||||
"password_same_as_username": "Your password is the same as your username, please select another password.",
|
||||
"password_same_as_email": "Your password is the same as your email, please select another password.",
|
||||
"upload_picture": "ছবি আপলোড করুন",
|
||||
"upload_a_picture": "ছবি (একটি) আপলোড করুন",
|
||||
"remove_uploaded_picture": "আপলোড করা ছবিটি সরিয়ে নাও",
|
||||
"upload_cover_picture": "Upload cover picture",
|
||||
"image_spec": "আপনি কেবলমাত্র PNG, JPG অথবা GIF ফাইল আপলোড করতে পারবেন",
|
||||
"settings": "সেটিংস",
|
||||
"show_email": "আমার ইমেইল দেখাও",
|
||||
"show_fullname": "আমার সম্পূর্ণ নাম দেখাও",
|
||||
@@ -71,37 +60,25 @@
|
||||
"digest_weekly": "সাপ্তাহিক",
|
||||
"digest_monthly": "মাসিক",
|
||||
"send_chat_notifications": "যদি আমি অনলাইনে না থাকি, সেক্ষেত্রে নতুন চ্যাট মেসেজ আসলে আমাকে ইমেইল করুন",
|
||||
"send_post_notifications": "আমার সাবস্ক্রাইব করা টপিকগুলোতে রিপ্লাই করা হলে আমাকে মেইল করা হোক",
|
||||
"settings-require-reload": "কিছু কিছু পরিবর্তনের জন্য রিলোড করা আবশ্যক। পেজটি রিলোড করতে এখানে ক্লিক করুন",
|
||||
"send_post_notifications": "Send an email when replies are made to topics I am subscribed to",
|
||||
"settings-require-reload": "Some setting changes require a reload. Click here to reload the page.",
|
||||
"has_no_follower": "এই সদস্যের কোন ফলোয়ার নেই :(",
|
||||
"follows_no_one": "এই সদস্য কাউকে ফলো করছেন না :(",
|
||||
"has_no_posts": "এই সদস্য এখন পর্যন্ত কোন পোস্ট করেন নি",
|
||||
"has_no_topics": "এই সদস্য এখনো কোন টপিক করেন নি",
|
||||
"has_no_watched_topics": "এই সদস্য এখনো কোন টপিক দেখেন নি",
|
||||
"has_no_upvoted_posts": "This user hasn't upvoted any posts yet.",
|
||||
"has_no_downvoted_posts": "This user hasn't downvoted any posts yet.",
|
||||
"has_no_voted_posts": "This user has no voted posts",
|
||||
"has_no_posts": "এই সদস্য এখনো কোন পোষ্ট করেন নি",
|
||||
"has_no_topics": "এই সদস্য এখনো কোন টপিক পোষ্ট করেন নি",
|
||||
"has_no_watched_topics": "This user didn't watch any topics yet.",
|
||||
"email_hidden": "ইমেইল গোপন রাখা হয়েছে",
|
||||
"hidden": "গোপন করা হয়েছে",
|
||||
"paginate_description": "ইনফাইনাইট স্ক্রলের বদলে টপিক ও পোস্টের জন্য পেজিনেশন ব্যাবহার করা হোক",
|
||||
"paginate_description": "Paginate topics and posts instead of using infinite scroll",
|
||||
"topics_per_page": "প্রতি পেজে কতগুলো টপিক থাকবে",
|
||||
"posts_per_page": "প্রতি পেইজে কতগুলো পোষ্ট থাকবে",
|
||||
"notification_sounds": "নোটিফিকেশনের জন্য নোটিফিকেশন সাউন্ড এনাবল করুন",
|
||||
"notification_sounds": "Play a sound when you receive a notification",
|
||||
"browsing": "Browsing সেটিংস",
|
||||
"open_links_in_new_tab": "আউটগোয়িং লিংকগুলো নতুন ট্যাবে খুলুন",
|
||||
"open_links_in_new_tab": "Open outgoing links in new tab",
|
||||
"enable_topic_searching": "In-Topic সার্চ সক্রীয় করো",
|
||||
"topic_search_help": "If enabled, in-topic searching will override the browser's default page search behaviour and allow you to search through the entire topic, instead of what is only shown on screen",
|
||||
"follow_topics_you_reply_to": "Follow topics that you reply to",
|
||||
"follow_topics_you_create": "Follow topics you create",
|
||||
"grouptitle": "Select the group title you would like to display",
|
||||
"no-group-title": "No group title",
|
||||
"select-skin": "Select a Skin",
|
||||
"select-homepage": "Select a Homepage",
|
||||
"homepage": "Homepage",
|
||||
"homepage_description": "Select a page to use as the forum homepage or 'None' to use the default homepage.",
|
||||
"custom_route": "Custom Homepage Route",
|
||||
"custom_route_help": "Enter a route name here, without any preceding slash (e.g. \"recent\", or \"popular\")",
|
||||
"sso.title": "Single Sign-on Services",
|
||||
"sso.associated": "Associated with",
|
||||
"sso.not-associated": "Click here to associate with"
|
||||
"no-group-title": "No group title"
|
||||
}
|
||||
@@ -5,16 +5,8 @@
|
||||
"search": "খুঁজুন",
|
||||
"enter_username": "ইউজারনেম এর ভিত্তিতে সার্চ করুন",
|
||||
"load_more": "আরো লোড করুন",
|
||||
"users-found-search-took": "%1 জন সদস্য(দের) খুঁজে পাওয়া গেছে। খুঁজতে সময় লেগেছে %2 সেকেন্ড ",
|
||||
"filter-by": "ফিল্টার করার ধরন",
|
||||
"online-only": "শুধুমাত্র অনলাইন",
|
||||
"invite": "ইনভাইট",
|
||||
"invitation-email-sent": "%1 কে একটি ইনভাইটেশন ইমেইল পাঠানো হয়েছে",
|
||||
"user_list": "সদস্য তালিকা",
|
||||
"recent_topics": "সাম্প্রতিক টপিক",
|
||||
"popular_topics": "জনপ্রিয় টপিক",
|
||||
"unread_topics": "অপঠিত টপিক",
|
||||
"categories": "বিভাগ",
|
||||
"tags": "ট্যাগসমূহ",
|
||||
"no-users-found": "No users found!"
|
||||
"users-found-search-took": "%1 user(s) found! Search took %2 seconds.",
|
||||
"filter-by": "Filter By",
|
||||
"online-only": "Online only",
|
||||
"picture-only": "Picture only"
|
||||
}
|
||||
@@ -1,16 +1,12 @@
|
||||
{
|
||||
"category": "Category",
|
||||
"subcategories": "Subcategories",
|
||||
"new_topic_button": "Nové téma",
|
||||
"guest-login-post": "Log in to post",
|
||||
"no_topics": "<strong>V této kategorii zatím nejsou žádné příspěvky.</strong><br />Můžeš být první!",
|
||||
"browsing": "prohlíží",
|
||||
"no_replies": "Nikdo ještě neodpověděl",
|
||||
"no_new_posts": "No new posts.",
|
||||
"share_this_category": "Share this category",
|
||||
"watch": "Watch",
|
||||
"ignore": "Ignorovat",
|
||||
"watch.message": "You are now watching updates from this category",
|
||||
"ignore.message": "You are now ignoring updates from this category",
|
||||
"watched-categories": "Watched categories"
|
||||
"ignore.message": "You are now ignoring updates from this category"
|
||||
}
|
||||
@@ -1,15 +1,11 @@
|
||||
{
|
||||
"password-reset-requested": "Požadována obnova hesla - %1!",
|
||||
"welcome-to": "Vítejte v %1",
|
||||
"invite": "Invitation from %1",
|
||||
"greeting_no_name": "Dobrý den",
|
||||
"greeting_with_name": "Dobrý den %1",
|
||||
"welcome.text1": "Děkujeme vám za registraci s %1!",
|
||||
"welcome.text2": "Pro úplnou aktivaci vašeho účtu potřebujeme ověřit vaší emailovou adresu.",
|
||||
"welcome.text3": "An administrator has accepted your registration application. You can login with your username/password now.",
|
||||
"welcome.cta": "Klikněte zde pro potvrzení vaší emailové adresy",
|
||||
"invitation.text1": "%1 has invited you to join %2",
|
||||
"invitation.ctr": "Click here to create your account.",
|
||||
"reset.text1": "Obdrželi jsme požadavek na obnovu hesla, pravděpodobně kvůli tomu, že jste ho zapomněli. Pokud to není tento případ, ignorujte, prosím, tento email.",
|
||||
"reset.text2": "Přejete-li si pokračovat v obnově vašeho hesla, klikněte, prosím, na následující odkaz:",
|
||||
"reset.cta": "Klikněte zde, chcete-li obnovit vaše heslo",
|
||||
@@ -21,9 +17,6 @@
|
||||
"digest.cta": "Kliknutím zde navštívíte %1",
|
||||
"digest.unsub.info": "Tento výtah vám byl odeslán, protože jste si to nastavili ve vašich odběrech.",
|
||||
"digest.no_topics": "Dosud tu nebyly žádné aktivní témata %1",
|
||||
"digest.day": "day",
|
||||
"digest.week": "week",
|
||||
"digest.month": "month",
|
||||
"notif.chat.subject": "Nová zpráva z chatu od %1",
|
||||
"notif.chat.cta": "Chcete-li pokračovat v konverzaci, klikněte zde.",
|
||||
"notif.chat.unsub.info": "Toto oznámení z chatu vám bylo zasláno, protože jste si to nastavili ve vašich odběrech.",
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
"invalid-password": "Neplatné heslo",
|
||||
"invalid-username-or-password": "Stanovte, prosím, oboje, jak uživatelské jméno, tak heslo",
|
||||
"invalid-search-term": "Neplatný výraz pro vyhledávání",
|
||||
"invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2",
|
||||
"invalid-pagination-value": "Neplatná hodnota pro stránkování",
|
||||
"username-taken": "Uživatelské jméno je již použito",
|
||||
"email-taken": "Email je již použit",
|
||||
"email-not-confirmed": "Vaše emailová adresa zatím nebyla potvrzena. Kliknutím zde svůj email potvrdíte.",
|
||||
@@ -24,7 +24,6 @@
|
||||
"confirm-email-already-sent": "Confirmation email already sent, please wait %1 minute(s) to send another one.",
|
||||
"username-too-short": "Uživatelské jméno je příliš krátké",
|
||||
"username-too-long": "Uživatelské jméno je příliš dlouhé",
|
||||
"password-too-long": "Password too long",
|
||||
"user-banned": "Uživatel byl zakázán",
|
||||
"user-too-new": "Sorry, you are required to wait %1 second(s) before making your first post",
|
||||
"no-category": "Kategorie neexistuje",
|
||||
@@ -34,9 +33,11 @@
|
||||
"no-user": "Uživatel neexistuje",
|
||||
"no-teaser": "Teaser does not exist",
|
||||
"no-privileges": "Na tuto akci nemáte dostatečná práva",
|
||||
"no-emailers-configured": "Protože není zaveden žádný emailový plugin, není možné odeslat testovací email.",
|
||||
"category-disabled": "Kategorie zakázána",
|
||||
"topic-locked": "Téma uzamčeno",
|
||||
"post-edit-duration-expired": "You are only allowed to edit posts for %1 second(s) after posting",
|
||||
"still-uploading": "Vyčkejte, prosím, nežli se vše kompletně nahraje.",
|
||||
"content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).",
|
||||
"content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).",
|
||||
"title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).",
|
||||
@@ -45,26 +46,19 @@
|
||||
"too-many-posts-newbie": "As a new user, you can only post once every %1 second(s) until you have earned %2 reputation - please wait before posting again",
|
||||
"tag-too-short": "Please enter a longer tag. Tags should contain at least %1 character(s)",
|
||||
"tag-too-long": "Please enter a shorter tag. Tags can't be longer than %1 character(s)",
|
||||
"not-enough-tags": "Not enough tags. Topics must have at least %1 tag(s)",
|
||||
"too-many-tags": "Too many tags. Topics can't have more than %1 tag(s)",
|
||||
"still-uploading": "Vyčkejte, prosím, nežli se vše kompletně nahraje.",
|
||||
"file-too-big": "Maximum allowed file size is %1 kB - please upload a smaller file",
|
||||
"guest-upload-disabled": "Guest uploading has been disabled",
|
||||
"already-favourited": "You have already bookmarked this post",
|
||||
"already-unfavourited": "You have already unbookmarked this post",
|
||||
"cant-vote-self-post": "Nemůžete hlasovat pro svůj vlastní příspěvek",
|
||||
"already-favourited": "You have already favourited this post",
|
||||
"already-unfavourited": "You have already unfavourited this post",
|
||||
"cant-ban-other-admins": "Nemůžete zakazovat ostatní administrátory!",
|
||||
"cant-remove-last-admin": "You are the only administrator. Add another user as an administrator before removing yourself as admin",
|
||||
"invalid-image-type": "Invalid image type. Allowed types are: %1",
|
||||
"invalid-image-extension": "Invalid image extension",
|
||||
"invalid-file-type": "Invalid file type. Allowed types are: %1",
|
||||
"group-name-too-short": "Název skupiny je příliš krátký",
|
||||
"group-already-exists": "Skupina už exstuje",
|
||||
"group-name-change-not-allowed": "Změna názvu skupiny není povolena",
|
||||
"group-already-member": "Already part of this group",
|
||||
"group-not-member": "Not a member of this group",
|
||||
"group-already-member": "You are already part of this group",
|
||||
"group-needs-owner": "This group requires at least one owner",
|
||||
"group-already-invited": "This user has already been invited",
|
||||
"group-already-requested": "Your membership request has already been submitted",
|
||||
"post-already-deleted": "Tento příspěvek byl již vymazán",
|
||||
"post-already-restored": "Tento příspěvek byl již obnoven",
|
||||
"topic-already-deleted": "Toto téma bylo již vymazáno",
|
||||
@@ -77,25 +71,14 @@
|
||||
"about-me-too-long": "Sorry, your about me cannot be longer than %1 character(s).",
|
||||
"cant-chat-with-yourself": "Nemůžete chatovat sami se sebou!",
|
||||
"chat-restricted": "This user has restricted their chat messages. They must follow you before you can chat with them",
|
||||
"chat-disabled": "Chat system disabled",
|
||||
"too-many-messages": "You have sent too many messages, please wait awhile.",
|
||||
"invalid-chat-message": "Invalid chat message",
|
||||
"chat-message-too-long": "Chat message is too long",
|
||||
"cant-edit-chat-message": "You are not allowed to edit this message",
|
||||
"cant-remove-last-user": "You can't remove the last user",
|
||||
"cant-delete-chat-message": "You are not allowed to delete this message",
|
||||
"reputation-system-disabled": "Systém reputací je zakázán.",
|
||||
"downvoting-disabled": "Downvoting is disabled",
|
||||
"not-enough-reputation-to-downvote": "You do not have enough reputation to downvote this post",
|
||||
"not-enough-reputation-to-flag": "You do not have enough reputation to flag this post",
|
||||
"already-flagged": "You have already flagged this post",
|
||||
"reload-failed": "NodeBB encountered a problem while reloading: \"%1\". NodeBB will continue to serve the existing client-side assets, although you should undo what you did just prior to reloading.",
|
||||
"registration-error": "Chyba při registraci",
|
||||
"parse-error": "Something went wrong while parsing server response",
|
||||
"wrong-login-type-email": "Please use your email to login",
|
||||
"wrong-login-type-username": "Please use your username to login",
|
||||
"invite-maximum-met": "You have invited the maximum amount of people (%1 out of %2).",
|
||||
"no-session-found": "No login session found!",
|
||||
"not-in-room": "User not in room",
|
||||
"no-users-in-room": "No users in this room"
|
||||
"wrong-login-type-username": "Please use your username to login"
|
||||
}
|
||||
@@ -22,7 +22,6 @@
|
||||
"pagination.out_of": "%1 z %2",
|
||||
"pagination.enter_index": "Enter index",
|
||||
"header.admin": "Administrace",
|
||||
"header.categories": "Categories",
|
||||
"header.recent": "Aktuality",
|
||||
"header.unread": "Nepřečtené",
|
||||
"header.tags": "Tagy",
|
||||
@@ -33,7 +32,6 @@
|
||||
"header.notifications": "Oznámení",
|
||||
"header.search": "Hledat",
|
||||
"header.profile": "Můj profil",
|
||||
"header.navigation": "Navigation",
|
||||
"notifications.loading": "Načítání upozornění",
|
||||
"chats.loading": "Načítání grafů",
|
||||
"motd.welcome": "Vítejte na NodeBB, diskusní platforma buducnosti.",
|
||||
@@ -49,29 +47,25 @@
|
||||
"users": "Uživatelé",
|
||||
"topics": "Témata",
|
||||
"posts": "Příspěvky",
|
||||
"best": "Best",
|
||||
"upvoted": "Upvoted",
|
||||
"downvoted": "Downvoted",
|
||||
"views": "Zobrazení",
|
||||
"reputation": "Reputation",
|
||||
"read_more": "read more",
|
||||
"more": "More",
|
||||
"posted_ago_by_guest": "posted %1 by Guest",
|
||||
"posted_ago_by": "posted %1 by %2",
|
||||
"posted_ago": "posted %1",
|
||||
"posted_in": "posted in %1",
|
||||
"posted_in_by": "posted in %1 by %2",
|
||||
"posted_in_ago": "posted in %1 %2",
|
||||
"posted_in_ago_by_guest": "posted in %1 %2 by Guest",
|
||||
"posted_in_ago_by": "posted in %1 %2 by %3",
|
||||
"posted_in_ago": "posted in %1 %2",
|
||||
"replied_ago": "replied %1",
|
||||
"user_posted_ago": "%1 posted %2",
|
||||
"guest_posted_ago": "Guest posted %1",
|
||||
"last_edited_by": "last edited by %1",
|
||||
"last_edited_by_ago": "last edited by %1 %2",
|
||||
"norecentposts": "Žádné nedávné příspěvky",
|
||||
"norecenttopics": "Žádné nedávné témata",
|
||||
"recentposts": "Nedávné příspěvky",
|
||||
"recentips": "Recently Logged In IPs",
|
||||
"away": "Pryč",
|
||||
"dnd": "Do not disturb",
|
||||
"dnd": "Nerušit",
|
||||
"invisible": "Neviditelný",
|
||||
"offline": "Offline",
|
||||
"email": "Email",
|
||||
@@ -83,12 +77,5 @@
|
||||
"privacy": "Privacy",
|
||||
"follow": "Follow",
|
||||
"unfollow": "Unfollow",
|
||||
"delete_all": "Vymazat vše",
|
||||
"map": "Map",
|
||||
"sessions": "Login Sessions",
|
||||
"ip_address": "IP Address",
|
||||
"enter_page_number": "Enter page number",
|
||||
"upload_file": "Upload file",
|
||||
"upload": "Upload",
|
||||
"allowed-file-types": "Allowed file types are %1"
|
||||
"delete_all": "Vymazat vše"
|
||||
}
|
||||
@@ -6,25 +6,16 @@
|
||||
"no_groups_found": "There are no groups to see",
|
||||
"pending.accept": "Accept",
|
||||
"pending.reject": "Reject",
|
||||
"pending.accept_all": "Accept All",
|
||||
"pending.reject_all": "Reject All",
|
||||
"pending.none": "There are no pending members at this time",
|
||||
"invited.none": "There are no invited members at this time",
|
||||
"invited.uninvite": "Rescind Invitation",
|
||||
"invited.search": "Search for a user to invite to this group",
|
||||
"invited.notification_title": "You have been invited to join <strong>%1</strong>",
|
||||
"request.notification_title": "Group Membership Request from <strong>%1</strong>",
|
||||
"request.notification_text": "<strong>%1</strong> has requested to become a member of <strong>%2</strong>",
|
||||
"cover-instructions": "Drag and Drop a photo, drag to position, and hit <strong>Save</strong>",
|
||||
"cover-change": "Change",
|
||||
"cover-save": "Save",
|
||||
"cover-saving": "Saving",
|
||||
"details.title": "podrobnosti skupiny",
|
||||
"details.members": "Seznam členů",
|
||||
"details.pending": "Pending Members",
|
||||
"details.invited": "Invited Members",
|
||||
"details.has_no_posts": "Členové této skupiny dosud neodeslali ani jeden příspěvek.",
|
||||
"details.latest_posts": "Nejnovější příspěvky",
|
||||
"details.private": "Private",
|
||||
"details.disableJoinRequests": "Disable join requests",
|
||||
"details.grant": "Grant/Rescind Ownership",
|
||||
"details.kick": "Kick",
|
||||
"details.owner_options": "Group Administration",
|
||||
@@ -40,14 +31,6 @@
|
||||
"details.private_help": "If enabled, joining of groups requires approval from a group owner",
|
||||
"details.hidden": "Hidden",
|
||||
"details.hidden_help": "If enabled, this group will not be found in the groups listing, and users will have to be invited manually",
|
||||
"details.delete_group": "Delete Group",
|
||||
"event.updated": "Group details have been updated",
|
||||
"event.deleted": "The group \"%1\" has been deleted",
|
||||
"membership.accept-invitation": "Accept Invitation",
|
||||
"membership.invitation-pending": "Invitation Pending",
|
||||
"membership.join-group": "Join Group",
|
||||
"membership.leave-group": "Leave Group",
|
||||
"membership.reject": "Reject",
|
||||
"new-group.group_name": "Group Name:",
|
||||
"upload-group-cover": "Upload group cover"
|
||||
"event.deleted": "The group \"%1\" has been deleted"
|
||||
}
|
||||
@@ -5,9 +5,8 @@
|
||||
"chat.no_active": "Nemáte žádné aktivní konverzace.",
|
||||
"chat.user_typing": "%1 píše ...",
|
||||
"chat.user_has_messaged_you": "%1 has messaged you.",
|
||||
"chat.see_all": "See all chats",
|
||||
"chat.see_all": "See all Chats",
|
||||
"chat.no-messages": "Please select a recipient to view chat message history",
|
||||
"chat.no-users-in-room": "No users in this room",
|
||||
"chat.recent-chats": "Recent Chats",
|
||||
"chat.contacts": "Kontakty",
|
||||
"chat.message-history": "Historie zpráv",
|
||||
@@ -16,9 +15,6 @@
|
||||
"chat.seven_days": "7 dní",
|
||||
"chat.thirty_days": "30 dní",
|
||||
"chat.three_months": "3 měsíce",
|
||||
"chat.delete_message_confirm": "Are you sure you wish to delete this message?",
|
||||
"chat.roomname": "Chat Room %1",
|
||||
"chat.add-users-to-room": "Add users to room",
|
||||
"composer.compose": "Compose",
|
||||
"composer.show_preview": "Show Preview",
|
||||
"composer.hide_preview": "Hide Preview",
|
||||
@@ -26,12 +22,5 @@
|
||||
"composer.user_said": "%1 said:",
|
||||
"composer.discard": "Are you sure you wish to discard this post?",
|
||||
"composer.submit_and_lock": "Submit and Lock",
|
||||
"composer.toggle_dropdown": "Toggle Dropdown",
|
||||
"composer.uploading": "Uploading %1",
|
||||
"bootbox.ok": "OK",
|
||||
"bootbox.cancel": "Cancel",
|
||||
"bootbox.confirm": "Confirm",
|
||||
"cover.dragging_title": "Cover Photo Positioning",
|
||||
"cover.dragging_message": "Drag the cover photo to the desired position and click \"Save\"",
|
||||
"cover.saved": "Cover photo image and position saved"
|
||||
"composer.toggle_dropdown": "Toggle Dropdown"
|
||||
}
|
||||
@@ -1,36 +1,25 @@
|
||||
{
|
||||
"title": "Upozornění",
|
||||
"no_notifs": "You have no new notifications",
|
||||
"see_all": "See all notifications",
|
||||
"see_all": "See all Notifications",
|
||||
"mark_all_read": "Mark all notifications read",
|
||||
"back_to_home": "Back to %1",
|
||||
"outgoing_link": "Odkaz mimo fórum",
|
||||
"outgoing_link_message": "You are now leaving %1",
|
||||
"outgoing_link_message": "You are now leaving %1.",
|
||||
"continue_to": "Continue to %1",
|
||||
"return_to": "Return to %1",
|
||||
"new_notification": "New Notification",
|
||||
"you_have_unread_notifications": "You have unread notifications.",
|
||||
"new_message_from": "New message from <strong>%1</strong>",
|
||||
"upvoted_your_post_in": "<strong>%1</strong> has upvoted your post in <strong>%2</strong>.",
|
||||
"upvoted_your_post_in_dual": "<strong>%1</strong> and <strong>%2</strong> have upvoted your post in <strong>%3</strong>.",
|
||||
"upvoted_your_post_in_multiple": "<strong>%1</strong> and %2 others have upvoted your post in <strong>%3</strong>.",
|
||||
"moved_your_post": "<strong>%1</strong> has moved your post to <strong>%2</strong>",
|
||||
"moved_your_topic": "<strong>%1</strong> has moved <strong>%2</strong>",
|
||||
"favourited_your_post_in": "<strong>%1</strong> has bookmarked your post in <strong>%2</strong>.",
|
||||
"favourited_your_post_in_dual": "<strong>%1</strong> and <strong>%2</strong> have bookmarked your post in <strong>%3</strong>.",
|
||||
"favourited_your_post_in_multiple": "<strong>%1</strong> and %2 others have bookmarked your post in <strong>%3</strong>.",
|
||||
"moved_your_post": "<strong>%1</strong> has moved your post.",
|
||||
"moved_your_topic": "<strong>%1</strong> has moved your topic.",
|
||||
"favourited_your_post_in": "<strong>%1</strong> has favourited your post in <strong>%2</strong>.",
|
||||
"user_flagged_post_in": "<strong>%1</strong> flagged a post in <strong>%2</strong>",
|
||||
"user_flagged_post_in_dual": "<strong>%1</strong> and <strong>%2</strong> flagged a post in <strong>%3</strong>",
|
||||
"user_flagged_post_in_multiple": "<strong>%1</strong> and %2 others flagged a post in <strong>%3</strong>",
|
||||
"user_posted_to": "<strong>%1</strong> has posted a reply to: <strong>%2</strong>",
|
||||
"user_posted_to_dual": "<strong>%1</strong> and <strong>%2</strong> have posted replies to: <strong>%3</strong>",
|
||||
"user_posted_to_multiple": "<strong>%1</strong> and %2 others have posted replies to: <strong>%3</strong>",
|
||||
"user_posted_topic": "<strong>%1</strong> has posted a new topic: <strong>%2</strong>",
|
||||
"user_mentioned_you_in": "<strong>%1</strong> mentioned you in <strong>%2</strong>",
|
||||
"user_started_following_you": "<strong>%1</strong> started following you.",
|
||||
"user_started_following_you_dual": "<strong>%1</strong> and <strong>%2</strong> started following you.",
|
||||
"user_started_following_you_multiple": "<strong>%1</strong> and %2 others started following you.",
|
||||
"new_register": "<strong>%1</strong> sent a registration request.",
|
||||
"new_register_multiple": "There are <strong>%1</strong> registration requests awaiting review.",
|
||||
"email-confirmed": "Email Confirmed",
|
||||
"email-confirmed-message": "Thank you for validating your email. Your account is now fully activated.",
|
||||
"email-confirm-error-message": "There was a problem validating your email address. Perhaps the code was invalid or has expired.",
|
||||
|
||||
@@ -1,46 +1,21 @@
|
||||
{
|
||||
"home": "Home",
|
||||
"unread": "Unread Topics",
|
||||
"popular-day": "Popular topics today",
|
||||
"popular-week": "Popular topics this week",
|
||||
"popular-month": "Popular topics this month",
|
||||
"popular-alltime": "All time popular topics",
|
||||
"popular": "Popular Topics",
|
||||
"recent": "Recent Topics",
|
||||
"flagged-posts": "Flagged Posts",
|
||||
"users/online": "Online Users",
|
||||
"users/latest": "Latest Users",
|
||||
"users/sort-posts": "Users with the most posts",
|
||||
"users/sort-reputation": "Users with the most reputation",
|
||||
"users/banned": "Banned Users",
|
||||
"users/search": "User Search",
|
||||
"users": "Registered Users",
|
||||
"notifications": "Notifications",
|
||||
"tags": "Tags",
|
||||
"tag": "Topics tagged under \"%1\"",
|
||||
"register": "Register an account",
|
||||
"login": "Login to your account",
|
||||
"reset": "Reset your account password",
|
||||
"categories": "Categories",
|
||||
"groups": "Groups",
|
||||
"group": "%1 group",
|
||||
"chats": "Chats",
|
||||
"chat": "Chatting with %1",
|
||||
"account/edit": "Editing \"%1\"",
|
||||
"account/edit/password": "Editing password of \"%1\"",
|
||||
"account/edit/username": "Editing username of \"%1\"",
|
||||
"account/edit/email": "Editing email of \"%1\"",
|
||||
"account/following": "People %1 follows",
|
||||
"account/followers": "People who follow %1",
|
||||
"account/posts": "Posts made by %1",
|
||||
"account/topics": "Topics created by %1",
|
||||
"account/groups": "%1's Groups",
|
||||
"account/favourites": "%1's Bookmarked Posts",
|
||||
"account/settings": "User Settings",
|
||||
"account/watched": "Topics watched by %1",
|
||||
"account/upvoted": "Posts upvoted by %1",
|
||||
"account/downvoted": "Posts downvoted by %1",
|
||||
"account/best": "Best posts made by %1",
|
||||
"confirm": "Email Confirmed",
|
||||
"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.groups": "%1's Groups",
|
||||
"user.favourites": "%1's Favourite Posts",
|
||||
"user.settings": "User Settings",
|
||||
"user.watched": "Topics watched by %1",
|
||||
"maintenance.text": "%1 is currently undergoing maintenance. Please come back another time.",
|
||||
"maintenance.messageIntro": "Additionally, the administrator has left this message:",
|
||||
"throttled.text": "%1 is currently unavailable due to excessive load. Please come back another time."
|
||||
"maintenance.messageIntro": "Additionally, the administrator has left this message:"
|
||||
}
|
||||
@@ -14,6 +14,5 @@
|
||||
"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",
|
||||
"registration-added-to-queue": "Your registration has been added to the approval queue. You will receive an email when it is accepted by an administrator."
|
||||
"agree_to_terms_of_use": "Souhlasím s Podmínkami"
|
||||
}
|
||||
@@ -13,7 +13,6 @@
|
||||
"notify_me": "Sledovat toto téma",
|
||||
"quote": "Citovat",
|
||||
"reply": "Odpovědět",
|
||||
"reply-as-topic": "Reply as topic",
|
||||
"guest-login-reply": "Log in to reply",
|
||||
"edit": "Upravit",
|
||||
"delete": "Smazat",
|
||||
@@ -26,16 +25,15 @@
|
||||
"tools": "Nástroje",
|
||||
"flag": "Flag",
|
||||
"locked": "Locked",
|
||||
"bookmark_instructions": "Click here to return to the last unread post in this thread.",
|
||||
"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 topic has been deleted. Only users with topic management privileges can see it.",
|
||||
"following_topic.message": "You will now be receiving notifications when somebody posts to this topic.",
|
||||
"not_following_topic.message": "You will no longer receive notifications from this topic.",
|
||||
"login_to_subscribe": "Please register or log in in order to subscribe to this topic.",
|
||||
"markAsUnreadForAll.success": "Topic marked as unread for all.",
|
||||
"mark_unread": "Mark unread",
|
||||
"mark_unread.success": "Topic marked as unread.",
|
||||
"watch": "Watch",
|
||||
"unwatch": "Unwatch",
|
||||
"watch.title": "Be notified of new replies in this topic",
|
||||
@@ -51,7 +49,6 @@
|
||||
"thread_tools.move_all": "Move All",
|
||||
"thread_tools.fork": "Fork Topic",
|
||||
"thread_tools.delete": "Delete Topic",
|
||||
"thread_tools.delete-posts": "Delete Posts",
|
||||
"thread_tools.delete_confirm": "Are you sure you want to delete this topic?",
|
||||
"thread_tools.restore": "Restore Topic",
|
||||
"thread_tools.restore_confirm": "Are you sure you want to restore this topic?",
|
||||
@@ -65,9 +62,9 @@
|
||||
"disabled_categories_note": "Vypnuté (disabled) kategorie jsou šedé.",
|
||||
"confirm_move": "Přesunout",
|
||||
"confirm_fork": "Rozdělit",
|
||||
"favourite": "Bookmark",
|
||||
"favourites": "Bookmarks",
|
||||
"favourites.has_no_favourites": "You haven't bookmarked any posts yet.",
|
||||
"favourite": "Oblíbené",
|
||||
"favourites": "Oblíbené",
|
||||
"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!",
|
||||
"loading_more_posts": "Načítání více příspěvků",
|
||||
"move_topic": "Přesunout téma",
|
||||
"move_topics": "Move Topics",
|
||||
@@ -78,7 +75,6 @@
|
||||
"fork_topic_instruction": "Vyber příspěvky, které chceš oddělit",
|
||||
"fork_no_pids": "Žádné příspěvky nebyly vybrány!",
|
||||
"fork_success": "Successfully forked topic! Click here to go to the forked topic.",
|
||||
"delete_posts_instruction": "Click the posts you want to delete/purge",
|
||||
"composer.title_placeholder": "Enter your topic title here...",
|
||||
"composer.handle_placeholder": "Name",
|
||||
"composer.discard": "Discard",
|
||||
@@ -100,13 +96,5 @@
|
||||
"oldest_to_newest": "Oldest to Newest",
|
||||
"newest_to_oldest": "Newest to Oldest",
|
||||
"most_votes": "Most votes",
|
||||
"most_posts": "Most posts",
|
||||
"stale.title": "Create new topic instead?",
|
||||
"stale.warning": "The topic you are replying to is quite old. Would you like to create a new topic instead, and reference this one in your reply?",
|
||||
"stale.create": "Create a new topic",
|
||||
"stale.reply_anyway": "Reply to this topic anyway",
|
||||
"link_back": "Re: [%1](%2)",
|
||||
"spam": "Spam",
|
||||
"offensive": "Offensive",
|
||||
"custom-flag-reason": "Enter a flagging reason"
|
||||
"most_posts": "Most posts"
|
||||
}
|
||||
@@ -5,6 +5,5 @@
|
||||
"mark_as_read": "Označit jako přeštené",
|
||||
"selected": "Vybrané",
|
||||
"all": "Vše",
|
||||
"all_categories": "All categories",
|
||||
"topics_marked_as_read.success": "Téma bylo označeno jako přečtené!"
|
||||
}
|
||||
@@ -2,17 +2,12 @@
|
||||
"banned": "Banned",
|
||||
"offline": "Offline",
|
||||
"username": "Uživatelské jméno",
|
||||
"joindate": "Datum ragistrace",
|
||||
"postcount": "Počet příspěvků",
|
||||
"joindate": "Join Date",
|
||||
"postcount": "Post Count",
|
||||
"email": "Email",
|
||||
"confirm_email": "Potvrdit email",
|
||||
"ban_account": "Zablokovat účet",
|
||||
"ban_account_confirm": "Opravdu chcete zablokovat tohoto uživatele?",
|
||||
"unban_account": "Odblokovat účet",
|
||||
"delete_account": "Vymazat účet",
|
||||
"delete_account_confirm": "Opravdu chcete smazat váš účet? <br /><strong>Tato akce je nevratná a nebude možné obnovit žádné vaše data.</strong><br /><br /> Pro potvrzení smazání účtu napište vaše uživatelské jméno.",
|
||||
"delete_this_account_confirm": "Are you sure you want to delete this account? <br /><strong>This action is irreversible and you will not be able to recover any data</strong><br /><br />",
|
||||
"account-deleted": "Account deleted",
|
||||
"delete_account_confirm": "Are you sure you want to delete your account? <br /><strong>This action is irreversible and you will not be able to recover any of your data</strong><br /><br />Enter your username to confirm that you wish to destroy this account.",
|
||||
"fullname": "Jméno a příjmení",
|
||||
"website": "Webové stránky",
|
||||
"location": "Poloha",
|
||||
@@ -22,47 +17,41 @@
|
||||
"profile": "Profil",
|
||||
"profile_views": "Zobrazení profilu",
|
||||
"reputation": "Reputace",
|
||||
"favourites": "Bookmarks",
|
||||
"watched": "Sledován",
|
||||
"favourites": "Oblíbené",
|
||||
"watched": "Watched",
|
||||
"followers": "Sledují ho",
|
||||
"following": "Sleduje",
|
||||
"aboutme": "O mně",
|
||||
"aboutme": "About me",
|
||||
"signature": "Podpis",
|
||||
"gravatar": "Gravatar",
|
||||
"birthday": "Datum narození",
|
||||
"chat": "Chat",
|
||||
"chat_with": "Chat with %1",
|
||||
"follow": "Sledovat",
|
||||
"unfollow": "Nesledovat",
|
||||
"more": "Více",
|
||||
"follow": "Follow",
|
||||
"unfollow": "Unfollow",
|
||||
"more": "More",
|
||||
"profile_update_success": "Profil byl úspěšně aktualizován!",
|
||||
"change_picture": "Změnit obrázek",
|
||||
"change_username": "Change Username",
|
||||
"change_email": "Change Email",
|
||||
"edit": "Upravit",
|
||||
"default_picture": "Default Icon",
|
||||
"uploaded_picture": "Nahraný obrázek",
|
||||
"upload_new_picture": "Nahrát nový obrázek",
|
||||
"upload_new_picture_from_url": "Nahrát nový obrázek z URL",
|
||||
"upload_new_picture_from_url": "Upload New Picture From URL",
|
||||
"current_password": "Současné heslo",
|
||||
"change_password": "Změnit heslo",
|
||||
"change_password_error": "Neplatné heslo",
|
||||
"change_password_error_wrong_current": "Současné heslo není správné!",
|
||||
"change_password_error_length": "Heslo je příliš krátké!",
|
||||
"change_password_error_match": "Hesla se neshodují!",
|
||||
"change_password_error_privileges": "Nemáte práva změnit toto heslo.",
|
||||
"change_password_success": "Heslo je aktualizované!",
|
||||
"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 do not have the rights to change this password.",
|
||||
"change_password_success": "Your password is updated!",
|
||||
"confirm_password": "Potvrzení hesla",
|
||||
"password": "Heslo",
|
||||
"username_taken_workaround": "The username you requested was already taken, so we have altered it slightly. You are now known as <strong>%1</strong>",
|
||||
"password_same_as_username": "Your password is the same as your username, please select another password.",
|
||||
"password_same_as_email": "Your password is the same as your email, please select another password.",
|
||||
"upload_picture": "Nahrát obrázek",
|
||||
"upload_a_picture": "Nahrát obrázek",
|
||||
"remove_uploaded_picture": "Remove Uploaded Picture",
|
||||
"upload_cover_picture": "Upload cover picture",
|
||||
"image_spec": "You may only upload PNG, JPG, or GIF files",
|
||||
"settings": "Nastavení",
|
||||
"show_email": "Zobrazovat můj email v profilu",
|
||||
"show_fullname": "Zobrazovat celé jméno",
|
||||
"show_fullname": "Show My Full Name",
|
||||
"restrict_chats": "Only allow chat messages from users I follow",
|
||||
"digest_label": "Subscribe to Digest",
|
||||
"digest_description": "Subscribe to email updates for this forum (new notifications and topics) according to a set schedule",
|
||||
@@ -75,12 +64,9 @@
|
||||
"settings-require-reload": "Some setting changes require a reload. Click here to reload the page.",
|
||||
"has_no_follower": "Tohoto uživatele nikdo nesleduje :(",
|
||||
"follows_no_one": "Tento uživatel nikoho nesleduje :(",
|
||||
"has_no_posts": "This user hasn't posted anything yet.",
|
||||
"has_no_topics": "This user hasn't posted any topics yet.",
|
||||
"has_no_watched_topics": "This user hasn't watched any topics yet.",
|
||||
"has_no_upvoted_posts": "This user hasn't upvoted any posts yet.",
|
||||
"has_no_downvoted_posts": "This user hasn't downvoted any posts yet.",
|
||||
"has_no_voted_posts": "This user has no voted posts",
|
||||
"has_no_posts": "This user didn't post anything yet.",
|
||||
"has_no_topics": "This user didn't post any topics yet.",
|
||||
"has_no_watched_topics": "This user didn't watch any topics yet.",
|
||||
"email_hidden": "Skrytý email",
|
||||
"hidden": "skrytý",
|
||||
"paginate_description": "Paginate topics and posts instead of using infinite scroll",
|
||||
@@ -94,14 +80,5 @@
|
||||
"follow_topics_you_reply_to": "Follow topics that you reply to",
|
||||
"follow_topics_you_create": "Follow topics you create",
|
||||
"grouptitle": "Select the group title you would like to display",
|
||||
"no-group-title": "No group title",
|
||||
"select-skin": "Select a Skin",
|
||||
"select-homepage": "Select a Homepage",
|
||||
"homepage": "Homepage",
|
||||
"homepage_description": "Select a page to use as the forum homepage or 'None' to use the default homepage.",
|
||||
"custom_route": "Custom Homepage Route",
|
||||
"custom_route_help": "Enter a route name here, without any preceding slash (e.g. \"recent\", or \"popular\")",
|
||||
"sso.title": "Single Sign-on Services",
|
||||
"sso.associated": "Associated with",
|
||||
"sso.not-associated": "Click here to associate with"
|
||||
"no-group-title": "No group title"
|
||||
}
|
||||
@@ -8,13 +8,5 @@
|
||||
"users-found-search-took": "%1 user(s) found! Search took %2 seconds.",
|
||||
"filter-by": "Filter By",
|
||||
"online-only": "Online only",
|
||||
"invite": "Invite",
|
||||
"invitation-email-sent": "An invitation email has been sent to %1",
|
||||
"user_list": "User List",
|
||||
"recent_topics": "Recent Topics",
|
||||
"popular_topics": "Popular Topics",
|
||||
"unread_topics": "Unread Topics",
|
||||
"categories": "Categories",
|
||||
"tags": "Tags",
|
||||
"no-users-found": "No users found!"
|
||||
"picture-only": "Picture only"
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
{
|
||||
"category": "Kategori",
|
||||
"subcategories": "Underkategorier",
|
||||
"new_topic_button": "Nyt emne",
|
||||
"guest-login-post": "Log ind",
|
||||
"no_topics": "<strong>Der er ikke nogen nye emner i denne kategori.</strong><br /> Hvorfor prøver du ikke at lave et?",
|
||||
"browsing": "browse",
|
||||
"no_replies": "Ingen har svaret",
|
||||
"no_new_posts": "Ingen nye indlæg",
|
||||
"share_this_category": "Del denne kategori",
|
||||
"watch": "Overvåg",
|
||||
"ignore": "Ignorer",
|
||||
"watch.message": "Du overvåger nu opdateringer fra denne kategori",
|
||||
"ignore.message": "Du ignorere nu opdateringer fra denne kategori",
|
||||
"watched-categories": "Fulgte kategorier"
|
||||
}
|
||||
@@ -1,35 +0,0 @@
|
||||
{
|
||||
"password-reset-requested": "Vi skal anmode dig om at nulstille dit kodeord - %1!",
|
||||
"welcome-to": "Velkommen til %1",
|
||||
"invite": "Invitation fra %1",
|
||||
"greeting_no_name": "Hej",
|
||||
"greeting_with_name": "Hej %1",
|
||||
"welcome.text1": "Tak for at du registrerede dig hos %1!",
|
||||
"welcome.text2": "For at færdiggøre din konto, har vi brug for at verificere at du ejer den email adresse du registerede med.",
|
||||
"welcome.text3": "En administrator har accepteret din registreringsansøgning. Du kan logge ind med dit brugernavn og adgangskode nu.",
|
||||
"welcome.cta": "Klik her for at bekræfte din email adresse.",
|
||||
"invitation.text1": "%1 har inviteret dig til at deltage i %2",
|
||||
"invitation.ctr": "Klik her for at oprette din konto.",
|
||||
"reset.text1": "Vi har modtaget en anmodning om at nulstille dit kodeord, måske fordi du har glemt det. Hvis det ikke er tilfældet, venligst ignorer denne email.",
|
||||
"reset.text2": "For at fortsætte med at nulstille kodeordet, venligst klik på dette link:",
|
||||
"reset.cta": "Klik her for at nulstille dit kodeord. ",
|
||||
"reset.notify.subject": "Dit kodeord er nu ændret",
|
||||
"reset.notify.text1": "Bemærk: %1 gang blev dit kodeord ændret.",
|
||||
"reset.notify.text2": "Hvis du ikke godkendte dette, kontakt straks en administrator.",
|
||||
"digest.notifications": "Du har ulæste notifikationer fra %1:",
|
||||
"digest.latest_topics": "Nyeste emne fra %1",
|
||||
"digest.cta": "Klik her for at gå til %1",
|
||||
"digest.unsub.info": "Du har fået tilsendt dette sammendrag pga. indstillingerne i dit abonnement.",
|
||||
"digest.no_topics": "Der har ikke været nogen aktive emner de/den sidste %1",
|
||||
"digest.day": "dag",
|
||||
"digest.week": "uge",
|
||||
"digest.month": "måned",
|
||||
"notif.chat.subject": "Ny chat besked modtaget fra %1",
|
||||
"notif.chat.cta": "Klik her for at forsætte med samtalen",
|
||||
"notif.chat.unsub.info": "Denne chat notifikation blev sendt til dig pga. indstillingerne i dit abonnement.",
|
||||
"notif.post.cta": "Klik her for a læse hele emnet",
|
||||
"notif.post.unsub.info": "Denne indlægs notifikation var sendt pga. dine abonnering indstillinger.",
|
||||
"test.text1": "Dette er en test email for at kontrollere, at den udgående email server er opsat korrekt i forhold til din NodeBB installation.",
|
||||
"unsub.cta": "Klik her for at ændre disse indstillinger",
|
||||
"closing": "Tak!"
|
||||
}
|
||||
@@ -1,101 +0,0 @@
|
||||
{
|
||||
"invalid-data": "Ugyldig Data",
|
||||
"not-logged-in": "Det ser ikke ud til at du er logget ind.",
|
||||
"account-locked": "Din konto er blevet blokeret midlertidigt.",
|
||||
"search-requires-login": "Du skal have en konto for at søge - log venligst ind eller registrer dig.",
|
||||
"invalid-cid": "Ugyldig Kategori ID",
|
||||
"invalid-tid": "Ugyldig Tråd ID",
|
||||
"invalid-pid": "Ugyldig Indlæg ID",
|
||||
"invalid-uid": "Ugyldig Bruger ID",
|
||||
"invalid-username": "Ugyldig Brugernavn",
|
||||
"invalid-email": "Ugyldig Email",
|
||||
"invalid-title": "Ugylidt titel",
|
||||
"invalid-user-data": "Ugyldig Bruger Data",
|
||||
"invalid-password": "Ugyldig Adgangskode",
|
||||
"invalid-username-or-password": "Venligst angiv både brugernavn og adgangskode",
|
||||
"invalid-search-term": "Ugyldig søgeterm",
|
||||
"invalid-pagination-value": "Ugyldig side værdi, skal mindst være %1 og maks. %2",
|
||||
"username-taken": "Brugernavn optaget",
|
||||
"email-taken": "Emailadresse allerede i brug",
|
||||
"email-not-confirmed": "Din email adresse er ikke blevet bekræftet endnu, venligst klik her for at bekrætige den.",
|
||||
"email-not-confirmed-chat": "Du kan ikke chatte før din email er bekræftet, klik her for at bekræfte din email.",
|
||||
"no-email-to-confirm": "Dette forum kræver bekræftelse af din email, klik her for at indtaste en email",
|
||||
"email-confirm-failed": "Vi kunne ikke bekræfte din email, prøv igen senere.",
|
||||
"confirm-email-already-sent": "Bekræftelses email er allerede afsendt, vent venligt %1 minut(ter) for at sende endnu en.",
|
||||
"username-too-short": "Brugernavn er for kort",
|
||||
"username-too-long": "Brugernavn er for langt",
|
||||
"password-too-long": "Kodeord er for langt",
|
||||
"user-banned": "Bruger er bortvist",
|
||||
"user-too-new": "Beklager, du er nødt til at vente %1 sekund(er) før du opretter dit indlæg",
|
||||
"no-category": "Kategorien eksisterer ikke",
|
||||
"no-topic": "Tråden eksisterer ikke",
|
||||
"no-post": "Indlægget eksisterer ikke",
|
||||
"no-group": "Gruppen eksisterer ikke",
|
||||
"no-user": "Brugeren eksisterer ikke",
|
||||
"no-teaser": "Teaser eksisterer ikke",
|
||||
"no-privileges": "Du har ikke nok rettigheder til at udføre denne handling",
|
||||
"category-disabled": "Kategorien er deaktiveret",
|
||||
"topic-locked": "Tråden er låst",
|
||||
"post-edit-duration-expired": "Du kan kun redigere indlæg i %1 sekund(er) efter indlæg",
|
||||
"content-too-short": "Venligst indtast et længere indlæg. Indlægget skal mindst indeholde %1 karakter(er).",
|
||||
"content-too-long": "Venligt indtast et kortere indlæg. Indlæg kan ikke være længere end %1 karakter(er).",
|
||||
"title-too-short": "Venligst indtast en længere titel. Titlen skal mindst indeholde %1 karakter(er).",
|
||||
"title-too-long": "Venligst indtast en kortere titel. Titlen kan ikke indeholde flere end %1 karakter(er).",
|
||||
"too-many-posts": "Du kan højest skrive et indlæg hver %1 sekund(er) - venligst vent et øjeblik før næste indlæg",
|
||||
"too-many-posts-newbie": "Som ny bruger kan du kun skrive et indlæg engang hvert %1. sekund() indtil du har optjent %2 omdømme point - venligst vent et øjeblik før næste indlæg.",
|
||||
"tag-too-short": "Indtast et længere tag. Tags skal indeholde mindst %1 karakter(er).",
|
||||
"tag-too-long": "Indtast et længere tag. Tags kan ikke være længere end %1 karakter(er).",
|
||||
"not-enough-tags": "Ikke nok tags. Tråde skal have mindst %1 tag(s)",
|
||||
"too-many-tags": "For mange tags. Tråde kan ikke have mere end %1 tag(s)",
|
||||
"still-uploading": "Venligst vent til overførslen er færdig",
|
||||
"file-too-big": "Maksimum filstørrelse er %1 kB - venligst overfør en mindre fil",
|
||||
"guest-upload-disabled": "Gæsteupload er deaktiveret",
|
||||
"already-favourited": "Du har allerede bogmærket dette indlæg",
|
||||
"already-unfavourited": "Du har allerede fjernet dette indlæg fra bogmærker",
|
||||
"cant-ban-other-admins": "Du kan ikke udlukke andre administatrorer!",
|
||||
"cant-remove-last-admin": "Du er den eneste administrator. Tilføj en anden bruger som administrator før du fjerner dig selv som administrator",
|
||||
"invalid-image-type": "Invalid billed type. De tilladte typer er: %1",
|
||||
"invalid-image-extension": "Forkert billede filnavnsendelse",
|
||||
"invalid-file-type": "Invalid fil type. Tilladte typer er: %1",
|
||||
"group-name-too-short": "Gruppe navn for kort",
|
||||
"group-already-exists": "Gruppen eksisterer allerede",
|
||||
"group-name-change-not-allowed": "Ændring af gruppe navn er ikke tilladt",
|
||||
"group-already-member": "Allerede medlem af denne gruppe",
|
||||
"group-not-member": "Ikke medlem af denne gruppe",
|
||||
"group-needs-owner": "Denne grupper kræver mindst én ejer",
|
||||
"group-already-invited": "Denne bruger er allerede blevet inviteret",
|
||||
"group-already-requested": "Din medlemskabs anmodning er allerede blevet afsendt",
|
||||
"post-already-deleted": "Dette indlæg er allerede blevet slettet",
|
||||
"post-already-restored": "Dette indlæg er allerede blevet genskabt",
|
||||
"topic-already-deleted": "Denne tråd er allerede blevet slettet",
|
||||
"topic-already-restored": "Denne tråd er allerede blevet genskabt",
|
||||
"cant-purge-main-post": "Du kan ikke udradere hoved indlægget, fjern venligt tråden istedet",
|
||||
"topic-thumbnails-are-disabled": "Tråd miniaturebilleder er slået fra.",
|
||||
"invalid-file": "Ugyldig fil",
|
||||
"uploads-are-disabled": "Overførsel er slået fra",
|
||||
"signature-too-long": "Beklager, din signatur kan ikke være længere end %1 karakter(er).",
|
||||
"about-me-too-long": "Beklager, men din om mig side kan ikke være længere end %1 karakter(er).",
|
||||
"cant-chat-with-yourself": "Du kan ikke chatte med dig selv!",
|
||||
"chat-restricted": "Denne bruger har spæret adgangen til chat beskeder. Brugeren må følge dig før du kan chatte med ham/hende",
|
||||
"chat-disabled": "Chat system er deaktiveret",
|
||||
"too-many-messages": "Du har sendt for mange beskeder, vent venligt lidt.",
|
||||
"invalid-chat-message": "Ugyldig chat besked",
|
||||
"chat-message-too-long": "Chat beskeden er for lang",
|
||||
"cant-edit-chat-message": "Du har ikke tilladelse til at redigere denne besked",
|
||||
"cant-remove-last-user": "Du kan ikke fjerne den sidste bruger",
|
||||
"cant-delete-chat-message": "Du har ikke tilladelse til at slette denne besked",
|
||||
"reputation-system-disabled": "Vurderingssystem er slået fra.",
|
||||
"downvoting-disabled": "Nedvurdering er slået fra",
|
||||
"not-enough-reputation-to-downvote": "Du har ikke nok omdømme til at nedstemme dette indlæg",
|
||||
"not-enough-reputation-to-flag": "Du har ikke nok omdømme til at vurdere dette indlæg",
|
||||
"already-flagged": "Du har allerede vurderet dette indlæg",
|
||||
"reload-failed": "NodeBB stødte på et problem under genindlæsningen : \"%1\". NodeBB vil fortsætte med en ældre version, og det er nok god ide at genoptage fra lige før du genindlæste siden.",
|
||||
"registration-error": "Registeringsfejl",
|
||||
"parse-error": "Noget gik galt under fortolknings er serverens respons",
|
||||
"wrong-login-type-email": "Brug venligt din email til login",
|
||||
"wrong-login-type-username": "Brug venligt dit brugernavn til login",
|
||||
"invite-maximum-met": "Du har inviteret det maksimale antal personer (%1 ud af %2)",
|
||||
"no-session-found": "Ingen login session kan findes!",
|
||||
"not-in-room": "Bruger er ikke i rummet",
|
||||
"no-users-in-room": "Ingen brugere i rummet"
|
||||
}
|
||||
@@ -1,94 +0,0 @@
|
||||
{
|
||||
"home": "Forside",
|
||||
"search": "Søg",
|
||||
"buttons.close": "Luk",
|
||||
"403.title": "Adgang nægtet",
|
||||
"403.message": "Det ser ud til du er stødt på en side du ikke har adgang til.",
|
||||
"403.login": "Måske du skulle <a href='%1/login'>prøve og logge ind</a>?",
|
||||
"404.title": "Ikke fundet",
|
||||
"404.message": "Det ser ud til du er stødt på en side der ikke finder. Retuner til <a href='%1/'> forsiden</a>.",
|
||||
"500.title": "Intern fejl.",
|
||||
"500.message": "Ups! Ser ud til at noget gik galt!",
|
||||
"register": "Tilmeld",
|
||||
"login": "Log ind",
|
||||
"please_log_in": "Venligst log ind",
|
||||
"logout": "Log ud",
|
||||
"posting_restriction_info": "Det er i øjeblikket kun muligt at skrive indlæg som registeret medlem, klik her for at logge ind.",
|
||||
"welcome_back": "Velkommen tilbage",
|
||||
"you_have_successfully_logged_in": "Du er nu logget ind",
|
||||
"save_changes": "Gem ændringer",
|
||||
"close": "Luk",
|
||||
"pagination": "Sidetal",
|
||||
"pagination.out_of": "%1 ud af %2",
|
||||
"pagination.enter_index": "Indtast indeks",
|
||||
"header.admin": "Administrator",
|
||||
"header.categories": "Kategorier",
|
||||
"header.recent": "Seneste",
|
||||
"header.unread": "Ulæst",
|
||||
"header.tags": "Etiket",
|
||||
"header.popular": "Populære",
|
||||
"header.users": "Bruger",
|
||||
"header.groups": "Grupper",
|
||||
"header.chats": "Chats",
|
||||
"header.notifications": "Notifikationer",
|
||||
"header.search": "Søg",
|
||||
"header.profile": "Profil",
|
||||
"header.navigation": "Navigation",
|
||||
"notifications.loading": "Indlæser notifikationer",
|
||||
"chats.loading": "Indlæser chats",
|
||||
"motd.welcome": "Velkommen til NodeBB, fremtidens diskussion platform. ",
|
||||
"previouspage": "Forrige side",
|
||||
"nextpage": "Næste side",
|
||||
"alert.success": "Succes",
|
||||
"alert.error": "Fejl",
|
||||
"alert.banned": "Forment adgang",
|
||||
"alert.banned.message": "Du er lige blevet udelukket, du vil nu blive logget ud.",
|
||||
"alert.unfollow": "Du følger ikke længere %1!",
|
||||
"alert.follow": "Du følger nu %1!",
|
||||
"online": "Online",
|
||||
"users": "Bruger",
|
||||
"topics": "Emner",
|
||||
"posts": "Indlæg",
|
||||
"best": "Bedste",
|
||||
"upvoted": "Syntes godt om",
|
||||
"downvoted": "Syntes ikke godt om",
|
||||
"views": "Visninger",
|
||||
"reputation": "Omdømme",
|
||||
"read_more": "læs mere",
|
||||
"more": "Mere",
|
||||
"posted_ago_by_guest": "indsendt %1 af gæst",
|
||||
"posted_ago_by": "indsendt %1 siden af %2",
|
||||
"posted_ago": "Indsendt %1 siden",
|
||||
"posted_in": "skrevet i %1",
|
||||
"posted_in_by": "skrevet i %1 af %2",
|
||||
"posted_in_ago": "skrivet i %1 %2",
|
||||
"posted_in_ago_by": "skrevet i %1 %2 af %3",
|
||||
"user_posted_ago": "%1 skrev for %2",
|
||||
"guest_posted_ago": "Gæst skrev for %1",
|
||||
"last_edited_by": "sidst redigeret af %1",
|
||||
"norecentposts": "Ingen seneste indlæg",
|
||||
"norecenttopics": "Ingen seneste tråde",
|
||||
"recentposts": "Seneste indlæg",
|
||||
"recentips": "Seneste loggede ind IPer",
|
||||
"away": "Væk",
|
||||
"dnd": "Vil ikke forstyres",
|
||||
"invisible": "Usynlig",
|
||||
"offline": "Offline",
|
||||
"email": "Email",
|
||||
"language": "Sprog",
|
||||
"guest": "Gæst",
|
||||
"guests": "Gæster",
|
||||
"updated.title": "Forum opdateret",
|
||||
"updated.message": "Dette form er lige blevet opdateret til den seneste version. Klik her for at genindlæse siden.",
|
||||
"privacy": "Privatliv",
|
||||
"follow": "Følg",
|
||||
"unfollow": "Følg ikke længere",
|
||||
"delete_all": "Slet alt",
|
||||
"map": "Kort",
|
||||
"sessions": "Login Sessioner",
|
||||
"ip_address": "IP-adresse",
|
||||
"enter_page_number": "Indsæt sideantal",
|
||||
"upload_file": "Upload fil",
|
||||
"upload": "Upload",
|
||||
"allowed-file-types": "Tilladte filtyper er %1"
|
||||
}
|
||||
@@ -1,53 +0,0 @@
|
||||
{
|
||||
"groups": "grupper",
|
||||
"view_group": "se gruppe",
|
||||
"owner": "Gruppe ejer",
|
||||
"new_group": "Opret ny gruppe",
|
||||
"no_groups_found": "Der er ingen grupper at se",
|
||||
"pending.accept": "Accepter",
|
||||
"pending.reject": "Afvis",
|
||||
"pending.accept_all": "Acceptér Alle",
|
||||
"pending.reject_all": "Afvis Alle",
|
||||
"pending.none": "Der er ikke nogen afventene medlemmer i øjeblikket",
|
||||
"invited.none": "Der er ingen inviterede medlemmer i øjeblikket",
|
||||
"invited.uninvite": "Tilbagetræk invitation",
|
||||
"invited.search": "Søg efter en bruger at invitere til denne gruppe",
|
||||
"invited.notification_title": "Du er blevet inviteret til at blive medlem af <strong>%1</strong>",
|
||||
"request.notification_title": "Gruppe medlemskab anmodning fra <strong>%1</strong>",
|
||||
"request.notification_text": "<strong>%1</strong> har anmodet om at blive medlem af <strong>%2</strong>",
|
||||
"cover-save": "Gem",
|
||||
"cover-saving": "Gemmer",
|
||||
"details.title": "gruppe detaljer",
|
||||
"details.members": "liste over medlemmer",
|
||||
"details.pending": "Verserende medlemmer",
|
||||
"details.invited": "Inviterede Medlemmer",
|
||||
"details.has_no_posts": "Medlemmer af denne gruppe har ikke oprettet indlæg.",
|
||||
"details.latest_posts": "seneste indlæg",
|
||||
"details.private": "Privat",
|
||||
"details.disableJoinRequests": "Deaktiver Anmodninger",
|
||||
"details.grant": "Giv/ophæv ejerskab",
|
||||
"details.kick": "Spark",
|
||||
"details.owner_options": "Gruppe administration",
|
||||
"details.group_name": "Gruppe navn",
|
||||
"details.member_count": "Medlemsantal",
|
||||
"details.creation_date": "Oprettelsesdato",
|
||||
"details.description": "Beskrivelse",
|
||||
"details.badge_preview": "Mærke forhåndsvisning",
|
||||
"details.change_icon": "Skift ikon",
|
||||
"details.change_colour": "Skift farve",
|
||||
"details.badge_text": "Mærke tekst",
|
||||
"details.userTitleEnabled": "Vis mærke",
|
||||
"details.private_help": "Hvis aktiveret, så vil det kræve godkendelse af gruppe ejeren for at tilslutte sig en gruppe",
|
||||
"details.hidden": "Skjult",
|
||||
"details.hidden_help": "Hvis aktiveret, så vil denne gruppe ikke kunne ses i gruppelisten og bruhere skal inviteres manuelt",
|
||||
"details.delete_group": "Slet Gruppe",
|
||||
"event.updated": "Gruppe detaljer er blevet opdateret",
|
||||
"event.deleted": "Gruppen \"%1\" er blevet slettet",
|
||||
"membership.accept-invitation": "Acceptér Invitation",
|
||||
"membership.invitation-pending": "Afventende Invitationer",
|
||||
"membership.join-group": "Bliv medlem af gruppe",
|
||||
"membership.leave-group": "Forlad Gruppe",
|
||||
"membership.reject": "Afvis",
|
||||
"new-group.group_name": "Gruppe Navn:",
|
||||
"upload-group-cover": "Upload Gruppe coverbillede"
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"name": "Danish",
|
||||
"code": "da",
|
||||
"dir": "ltr"
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
"username-email": "Brugernavn / Email",
|
||||
"username": "Brugernavn",
|
||||
"email": "Email",
|
||||
"remember_me": "Husk mig?",
|
||||
"forgot_password": "Glemt kodeord?",
|
||||
"alternative_logins": "alternative logins",
|
||||
"failed_login_attempt": "Login mislykkedes, venligt prøv igen.",
|
||||
"login_successful": "Du har successfuldt logged in!",
|
||||
"dont_have_account": "Har du ikke en konto?"
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
{
|
||||
"chat.chatting_with": "Chat med <span id=\"chat-with-name\"></span>",
|
||||
"chat.placeholder": "Skriv din chatbesked her, tryk enter for at sende",
|
||||
"chat.send": "Send",
|
||||
"chat.no_active": "Du har ingen aktive chats.",
|
||||
"chat.user_typing": "%1 skriver ...",
|
||||
"chat.user_has_messaged_you": "1% har skrevet til dig.",
|
||||
"chat.see_all": "Se alle chats",
|
||||
"chat.no-messages": "Vælg en modtager for at se beskedhistorikken",
|
||||
"chat.no-users-in-room": "Ingen brugere i rummet",
|
||||
"chat.recent-chats": "Seneste chats",
|
||||
"chat.contacts": "Kontakter",
|
||||
"chat.message-history": "Beskedhistorik",
|
||||
"chat.pop-out": "Pop ud chatten",
|
||||
"chat.maximize": "Maximer",
|
||||
"chat.seven_days": "7 dage",
|
||||
"chat.thirty_days": "30 dage",
|
||||
"chat.three_months": "3 måneder",
|
||||
"chat.delete_message_confirm": "Er du sikker på at du vil slette denne besked?",
|
||||
"chat.roomname": "Chatrum %1",
|
||||
"chat.add-users-to-room": "Tilføj brugere til chatrum",
|
||||
"composer.compose": "Skriv",
|
||||
"composer.show_preview": "Vis forhåndsvisning",
|
||||
"composer.hide_preview": "Fjern forhåndsvisning",
|
||||
"composer.user_said_in": "%1 sagde i %2:",
|
||||
"composer.user_said": "%1 sagde:",
|
||||
"composer.discard": "Er du sikker på at du vil kassere dette indlæg?",
|
||||
"composer.submit_and_lock": "Send og lås",
|
||||
"composer.toggle_dropdown": "Skift mellem dropdown",
|
||||
"composer.uploading": "Uploader %1",
|
||||
"bootbox.ok": "OK",
|
||||
"bootbox.cancel": "Annuller",
|
||||
"bootbox.confirm": "Bekræft",
|
||||
"cover.dragging_title": "Coverbillede positionering ",
|
||||
"cover.dragging_message": "Træk coverbilledet til den ønskede position og klik \"Gem\"",
|
||||
"cover.saved": "Coverbillede og position gemt "
|
||||
}
|
||||
@@ -1,38 +0,0 @@
|
||||
{
|
||||
"title": "Notifikationer",
|
||||
"no_notifs": "Du har ingen nye notifkationer",
|
||||
"see_all": "Se alle notifikationer",
|
||||
"mark_all_read": "Marker alle notifikationer læst",
|
||||
"back_to_home": "Tilbage til %1",
|
||||
"outgoing_link": "Udgående link",
|
||||
"outgoing_link_message": "Du forlader nu %1",
|
||||
"continue_to": "Fortsæt til %1",
|
||||
"return_to": "Returnere til %t",
|
||||
"new_notification": "Ny notifikation",
|
||||
"you_have_unread_notifications": "Du har ulæste notifikationer.",
|
||||
"new_message_from": "Ny besked fra <strong>%1</strong>",
|
||||
"upvoted_your_post_in": "<strong>%1</strong> har upvotet dit indlæg i <strong>%2</strong>.",
|
||||
"upvoted_your_post_in_dual": "<strong>%1</strong> og <strong>%2</strong> har syntes godt om dit indlæg i <strong>%3</strong>.",
|
||||
"upvoted_your_post_in_multiple": "<strong>%1</strong> og %2 andre har syntes godt om dit indlæg i<strong>%3</strong>.",
|
||||
"moved_your_post": "<strong>%1</strong> har flyttet dit indlæg til <strong>%2</strong>",
|
||||
"moved_your_topic": "<strong>%1</strong> har flyttet <strong>%2</strong>",
|
||||
"favourited_your_post_in": "<strong>%1</strong> har bogmærket dit indlæg i <strong>%2</strong>.",
|
||||
"favourited_your_post_in_dual": "<strong>%1</strong> og <strong>%2</strong> har bogmærket dit indlæg i <strong>%3</strong>.",
|
||||
"favourited_your_post_in_multiple": "<strong>%1</strong> og %2 andre har bogmærket dit indlæg i <strong>%3</strong>.",
|
||||
"user_flagged_post_in": "<strong>%1</strong> har anmeldt et indlæg i <strong>%2</strong>",
|
||||
"user_flagged_post_in_dual": "<strong>%1</strong> og <strong>%2</strong> har anmeldt et indlæg i <strong>%3</strong>",
|
||||
"user_flagged_post_in_multiple": "<strong>%1</strong> og %2 andre har anmeldt et indlæg i <strong>%3</strong>",
|
||||
"user_posted_to": "<strong>%1</strong> har skrevet et svar til: <strong>%2</strong>",
|
||||
"user_posted_to_dual": "<strong>%1</strong> og <strong>%2</strong> har skrevet svar til: <strong>%3</strong>",
|
||||
"user_posted_to_multiple": "<strong>%1</strong> og %2 andre har skrevet svar til: <strong>%3</strong>",
|
||||
"user_posted_topic": "<strong>%1</strong> har oprettet en ny tråd: <strong>%2</strong>",
|
||||
"user_started_following_you": "<strong>%1</strong> har valgt at følge dig.",
|
||||
"user_started_following_you_dual": "<strong>%1</strong> og <strong>%2</strong> har valgt at følge dig.",
|
||||
"user_started_following_you_multiple": "<strong>%1</strong> og %2 har valgt at følge dig.",
|
||||
"new_register": "<strong>%1</strong> har sendt en registrerings anmodning.",
|
||||
"new_register_multiple": "There are <strong>%1</strong> registration requests awaiting review.",
|
||||
"email-confirmed": "Email bekræftet",
|
||||
"email-confirmed-message": "Tak fordi du validerede din email. Din konto er nu fuldt ud aktiveret.",
|
||||
"email-confirm-error-message": "Der var et problem med valideringen af din emailadresse. Bekræftelses koden var muligvis forkert eller udløbet.",
|
||||
"email-confirm-sent": "Bekræftelses email afsendt."
|
||||
}
|
||||
@@ -1,46 +0,0 @@
|
||||
{
|
||||
"home": "Forside",
|
||||
"unread": "Ulæste tråde",
|
||||
"popular-day": "Populære tråde i dag",
|
||||
"popular-week": "Populære tråde denne ude",
|
||||
"popular-month": "Populære tråde denne måned",
|
||||
"popular-alltime": "Top populære tråde",
|
||||
"recent": "Seneste tråde",
|
||||
"flagged-posts": "Anmeldte Indlæg",
|
||||
"users/online": "Online brugere",
|
||||
"users/latest": "Seneste brugere",
|
||||
"users/sort-posts": "Brugere med de fleste indlæg",
|
||||
"users/sort-reputation": "Brugere med mest omdømme",
|
||||
"users/banned": "Banlyste Brugere",
|
||||
"users/search": "Bruger søgning",
|
||||
"notifications": "Notifikationer",
|
||||
"tags": "Tags",
|
||||
"tag": "Tråde tagget under \"%1\"",
|
||||
"register": "Registre en konto",
|
||||
"login": "Login til din konto",
|
||||
"reset": "Nulstil din adgangskode",
|
||||
"categories": "Kategorier",
|
||||
"groups": "Grupper",
|
||||
"group": "%1 gruppe",
|
||||
"chats": "Chats",
|
||||
"chat": "Chatter med %1",
|
||||
"account/edit": "Redigere \"%1\"",
|
||||
"account/edit/password": "Redigerer adgangskode for \"%1\"",
|
||||
"account/edit/username": "Redigerer brugernavn for \"%1\"",
|
||||
"account/edit/email": "Redigerer email for \"%1\"",
|
||||
"account/following": "Personer som %1 følger",
|
||||
"account/followers": "Personer som følger %1",
|
||||
"account/posts": "Indlæg oprettet af %1",
|
||||
"account/topics": "Tråde lavet af %1",
|
||||
"account/groups": "%1s grupper",
|
||||
"account/favourites": "%1's Bogmærkede Indlæg",
|
||||
"account/settings": "Bruger instillinger",
|
||||
"account/watched": "Tråde fulgt af %1",
|
||||
"account/upvoted": "Indlæg syntes godt om af %1",
|
||||
"account/downvoted": "Indlæg syntes ikke godt om af %1",
|
||||
"account/best": "Bedste indlæg skrevet af %1",
|
||||
"confirm": "Email Bekræftet",
|
||||
"maintenance.text": "%1 er under vedligeholdelse. Kom venligst tilbage senere.",
|
||||
"maintenance.messageIntro": "Administratoren har yderligere vedlagt denne besked:",
|
||||
"throttled.text": "%1 er ikke tilgængelig på grund af overbelastning. Venligst kom tilbage senere."
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
{
|
||||
"title": "Seneste",
|
||||
"day": "Dag",
|
||||
"week": "Uge",
|
||||
"month": "Måned",
|
||||
"year": "År",
|
||||
"alltime": "Al tid",
|
||||
"no_recent_topics": "Der er ingen seneste tråde",
|
||||
"no_popular_topics": "Der er ingen populære tråde.",
|
||||
"there-is-a-new-topic": "Der er en ny tråd.",
|
||||
"there-is-a-new-topic-and-a-new-post": "Der er en ny tråd og et nyt indlæg.",
|
||||
"there-is-a-new-topic-and-new-posts": "Der er en tråd og %1 nye indlæg",
|
||||
"there-are-new-topics": "Der er %1 nye indlæg.",
|
||||
"there-are-new-topics-and-a-new-post": "Der er %1 nye indlæg og et nyt indlæg.",
|
||||
"there-are-new-topics-and-new-posts": "Der er %1 nye tråde og %2 nye indlæg.",
|
||||
"there-is-a-new-post": "Der er et nyt indlæg.",
|
||||
"there-are-new-posts": "Der er %1 nye indlæg.",
|
||||
"click-here-to-reload": "Klik her for at genindlæse."
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
{
|
||||
"register": "Tilmeld",
|
||||
"help.email": "Den email er skjult som standard.",
|
||||
"help.username_restrictions": "Et unikt brugernavn mellem %1 og %2 karakterer. Andre kan nævne dig med @<span id='yourUsername'>brugernavn</span>.",
|
||||
"help.minimum_password_length": "Din adgangskode skal være på mindst %1 karakterer.",
|
||||
"email_address": "Emailadresse",
|
||||
"email_address_placeholder": "Indtast emailadresse",
|
||||
"username": "Brugernavn",
|
||||
"username_placeholder": "Indtast brugernavn",
|
||||
"password": "Adgangskode",
|
||||
"password_placeholder": "Indtast adgangskode",
|
||||
"confirm_password": "Bekræft adgangskode",
|
||||
"confirm_password_placeholder": "Bekræft adgangskode",
|
||||
"register_now_button": "Registrer nu",
|
||||
"alternative_registration": "Alternativ registrering",
|
||||
"terms_of_use": "Betingelser for brug",
|
||||
"agree_to_terms_of_use": "Jeg acceptere betingelserne for brug",
|
||||
"registration-added-to-queue": "Din registrering er blevet tilføjet til godkendelses køen. Du vil mostage en email når du er blevet accepteret af en administrator."
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
{
|
||||
"reset_password": "Nulstil adgangskode",
|
||||
"update_password": "Opdater adgangskode",
|
||||
"password_changed.title": "Adgangskode ændret",
|
||||
"password_changed.message": "<p>Adgangskode er blevet ændret, <a href=\"/login\">log venligt ind igen</a>.",
|
||||
"wrong_reset_code.title": "Forkert nulstillingskode",
|
||||
"wrong_reset_code.message": "Nulstillingskoden var forkert. Prøv venligst igen, eller <a href=\"/reset\">anmod om en ny nultillingskode</a>.",
|
||||
"new_password": "Ny adgangskode",
|
||||
"repeat_password": "Bekræft adgangskode",
|
||||
"enter_email": "Indtast venligst din <strong>emailadresse</strong> så vi kan sende dig instrukser til at nulstille din konto.",
|
||||
"enter_email_address": "Indtast emailadresse",
|
||||
"password_reset_sent": "Adgangskode nulstilling afsendt",
|
||||
"invalid_email": "Ugyldig emailadresse / Emailadresse findes ikke",
|
||||
"password_too_short": "Den indtastede adgangskode er for kort, vælg venligt en anden adgangskode.",
|
||||
"passwords_do_not_match": "De to indtastede adgangskoder er ikke ens.",
|
||||
"password_expired": "Din adgangskode er udløbet, vælg venligst en ny adgangskode"
|
||||
}
|
||||
@@ -1,40 +0,0 @@
|
||||
{
|
||||
"results_matching": "%1 resultat(er) matcher \"%2\", (%3 sekunder)",
|
||||
"no-matches": "Ingen resultatet fundet",
|
||||
"advanced-search": "Advanceret søgning",
|
||||
"in": "I",
|
||||
"titles": "Titler",
|
||||
"titles-posts": "Titler og indlæg",
|
||||
"posted-by": "Skrevet af",
|
||||
"in-categories": "I katagorierne",
|
||||
"search-child-categories": "Søg underkategorier",
|
||||
"reply-count": "Svar antal",
|
||||
"at-least": "Mindst",
|
||||
"at-most": "Højst",
|
||||
"post-time": "Skrevet",
|
||||
"newer-than": "Nyere end",
|
||||
"older-than": "Ældre end",
|
||||
"any-date": "Enhver dato",
|
||||
"yesterday": "Igår",
|
||||
"one-week": "En uge",
|
||||
"two-weeks": "To uger",
|
||||
"one-month": "En måned",
|
||||
"three-months": "Tre måneder",
|
||||
"six-months": "Seks måneder",
|
||||
"one-year": "Et år",
|
||||
"sort-by": "Sorter efter",
|
||||
"last-reply-time": "Sidste svar tid",
|
||||
"topic-title": "Tråd titel",
|
||||
"number-of-replies": "Antal svar",
|
||||
"number-of-views": "Antal visninger",
|
||||
"topic-start-date": "Tråd starts dato",
|
||||
"username": "Brugernavn",
|
||||
"category": "Kategori",
|
||||
"descending": "I faldende rækkefølge",
|
||||
"ascending": "I stigende rækkefølge",
|
||||
"save-preferences": "Gem præferencer",
|
||||
"clear-preferences": "Slet præferencer",
|
||||
"search-preferences-saved": "Søgnings præferencer gemt",
|
||||
"search-preferences-cleared": "Søgnings præferencer slettet",
|
||||
"show-results-as": "Vis resultater som"
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"success": "Udført",
|
||||
"topic-post": "Du har indsendt et indlæg.",
|
||||
"authentication-successful": "Du blev autentificeret",
|
||||
"settings-saved": "Indstillinger gemt!"
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"no_tag_topics": "Der er ikke indlæg med dette tag.",
|
||||
"tags": "Tags",
|
||||
"enter_tags_here": "Indsæt tags her, hver på mellem %1 og %2 karakterer.",
|
||||
"enter_tags_here_short": "Skriv tags",
|
||||
"no_tags": "Der er ingen tags endnu."
|
||||
}
|
||||
@@ -1,112 +0,0 @@
|
||||
{
|
||||
"topic": "Tråd",
|
||||
"topic_id": "Tråd-id",
|
||||
"topic_id_placeholder": "Angiv tråd-id",
|
||||
"no_topics_found": "Ingen tråde fundet",
|
||||
"no_posts_found": "Ingen indlæg fundet!",
|
||||
"post_is_deleted": "Dette indlæg er slettet!",
|
||||
"topic_is_deleted": "Denne tråd er blevet slettet!",
|
||||
"profile": "Profil",
|
||||
"posted_by": "Skrevet af %1",
|
||||
"posted_by_guest": "Skrevet af Gæst",
|
||||
"chat": "Chat",
|
||||
"notify_me": "Bliv notificeret ved nye svar i dette emne",
|
||||
"quote": "Citer",
|
||||
"reply": "Svar",
|
||||
"reply-as-topic": "Svar som emne",
|
||||
"guest-login-reply": "Login for at svare",
|
||||
"edit": "Rediger",
|
||||
"delete": "Slet",
|
||||
"purge": "Udrader",
|
||||
"restore": "Gendan",
|
||||
"move": "Flyt",
|
||||
"fork": "Fork",
|
||||
"link": "Link",
|
||||
"share": "Del",
|
||||
"tools": "Værktøjer",
|
||||
"flag": "Marker",
|
||||
"locked": "Låst",
|
||||
"bookmark_instructions": "Klik her for at returnere til det seneste ulæste indlæg i denne tråd.",
|
||||
"flag_title": "Meld dette indlæg til moderation",
|
||||
"flag_success": "Dette indlæg er blevet meldt til moderation.",
|
||||
"deleted_message": "Denne tråd er blevet slettet. Kun brugere med emne behandlings privilegier kan se den.",
|
||||
"following_topic.message": "Du vil nu modtage notifikationer når nogle skriver et indlæg i dette emne.",
|
||||
"not_following_topic.message": "Du vil ikke længere modtage notifikationer fra dette emne.",
|
||||
"login_to_subscribe": "Venligt registrer eller login for at abbonere på dette emne.",
|
||||
"markAsUnreadForAll.success": "Emnet er market ulæst for alle.",
|
||||
"mark_unread": "Marker ulæste",
|
||||
"mark_unread.success": "Emne markeret som ulæst.",
|
||||
"watch": "Overvåg",
|
||||
"unwatch": "Fjern overvågning",
|
||||
"watch.title": "Bliv notificeret ved nye indlæg i dette emne",
|
||||
"unwatch.title": "Fjern overvågning af dette emne",
|
||||
"share_this_post": "Del dette indlæg",
|
||||
"thread_tools.title": "Emne værktøjer",
|
||||
"thread_tools.markAsUnreadForAll": "Marker som ulæst",
|
||||
"thread_tools.pin": "Fastgør tråd",
|
||||
"thread_tools.unpin": "Frigør tråd",
|
||||
"thread_tools.lock": "Lås tråd",
|
||||
"thread_tools.unlock": "Lås tråd op",
|
||||
"thread_tools.move": "Flyt tråd",
|
||||
"thread_tools.move_all": "Flyt alt",
|
||||
"thread_tools.fork": "Fraskil tråd",
|
||||
"thread_tools.delete": "Slet tråd",
|
||||
"thread_tools.delete-posts": "Slet Indlæg",
|
||||
"thread_tools.delete_confirm": "Er du sikker på at du vil slette dette emne?",
|
||||
"thread_tools.restore": "Gendan tråd",
|
||||
"thread_tools.restore_confirm": "Er du sikker på at du ønsker at genoprette denne tråd?",
|
||||
"thread_tools.purge": "Udrader tråd",
|
||||
"thread_tools.purge_confirm": "Er du sikker på at du vil udrense denne tråd?",
|
||||
"topic_move_success": "Denne tråd blev flyttet til %1",
|
||||
"post_delete_confirm": "Er du sikker på at du vil slette dette indlæg?",
|
||||
"post_restore_confirm": "Er du sikker på at du vil gendanne dette indlæg?",
|
||||
"post_purge_confirm": "Er du sikker på at du vil udradere dette indlæg?",
|
||||
"load_categories": "Indlæser kategorier",
|
||||
"disabled_categories_note": "Deaktiverede kategorier er nedtonede",
|
||||
"confirm_move": "Flyt",
|
||||
"confirm_fork": "Fraskil",
|
||||
"favourite": "Bogmærke",
|
||||
"favourites": "Bogmærker",
|
||||
"favourites.has_no_favourites": "Du har ikke tilføjet nogle indlæg til dine bogmærker endnu.",
|
||||
"loading_more_posts": "Indlæser flere indlæg",
|
||||
"move_topic": "Flyt tråd",
|
||||
"move_topics": "Flyt tråde",
|
||||
"move_post": "Flyt indlæg",
|
||||
"post_moved": "Indlæg flyttet!",
|
||||
"fork_topic": "Fraskil tråd",
|
||||
"topic_will_be_moved_to": "Denne tråd vil blive flyttet til katagorien",
|
||||
"fork_topic_instruction": "Klik på indlæg du ønsker at fraskille",
|
||||
"fork_no_pids": "Ingen indlæg valgt",
|
||||
"fork_success": "Tråden blev fraskilt! Klik her for at gå til den fraskilte tråd.",
|
||||
"delete_posts_instruction": "Klik på de indlæg du vil slette/rense",
|
||||
"composer.title_placeholder": "Angiv din trådtittel her ...",
|
||||
"composer.handle_placeholder": "Navn",
|
||||
"composer.discard": "Fortryd",
|
||||
"composer.submit": "Send",
|
||||
"composer.replying_to": "Svare til %1",
|
||||
"composer.new_topic": "Ny tråd",
|
||||
"composer.uploading": "uploader...",
|
||||
"composer.thumb_url_label": "Indsæt en tråd miniature URL",
|
||||
"composer.thumb_title": "Tilføj en miniature til denne tråd",
|
||||
"composer.thumb_url_placeholder": "http://example.com/thumb.png",
|
||||
"composer.thumb_file_label": "Eller upload en fil",
|
||||
"composer.thumb_remove": "Slet felter",
|
||||
"composer.drag_and_drop_images": "Træk og slip billeder her",
|
||||
"more_users_and_guests": "%1 flere bruger(e) og %2 gæst(er)",
|
||||
"more_users": "%1 flere bruger(e)",
|
||||
"more_guests": "%1 flere gæst(er)",
|
||||
"users_and_others": "%1 og %2 andre",
|
||||
"sort_by": "Sorter efter",
|
||||
"oldest_to_newest": "Ældste til nyeste",
|
||||
"newest_to_oldest": "Nyeste til ældste",
|
||||
"most_votes": "Flest stemmer",
|
||||
"most_posts": "Flest indlæg",
|
||||
"stale.title": "Opret nyt emne istedet?",
|
||||
"stale.warning": "Emnet du svarer på er ret gammelt. Vil du oprette et nyt emne istedet og referere dette indlæg i dit svar?",
|
||||
"stale.create": "Opret nyt emne",
|
||||
"stale.reply_anyway": "Svar dette emne alligevel",
|
||||
"link_back": "Svar: [%1](%2)",
|
||||
"spam": "Spam",
|
||||
"offensive": "Stødende",
|
||||
"custom-flag-reason": "Indsæt en markeringsgrund"
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"title": "Ulæst",
|
||||
"no_unread_topics": "Der er ingen ulæste emner.",
|
||||
"load_more": "Indlæs mere",
|
||||
"mark_as_read": "Marker som læst",
|
||||
"selected": "Valgte",
|
||||
"all": "Alle",
|
||||
"all_categories": "Alle kategorier",
|
||||
"topics_marked_as_read.success": "Emner markeret som læst!"
|
||||
}
|
||||
@@ -1,107 +0,0 @@
|
||||
{
|
||||
"banned": "Banlyst",
|
||||
"offline": "Offline",
|
||||
"username": "Brugernavn",
|
||||
"joindate": "Oprettet",
|
||||
"postcount": "Antal indlæg",
|
||||
"email": "Email",
|
||||
"confirm_email": "Bekræft email",
|
||||
"ban_account": "Ban Konto",
|
||||
"ban_account_confirm": "Ønsker du virkelig at banne denne konto?",
|
||||
"unban_account": "Afban Konto",
|
||||
"delete_account": "Slet konto",
|
||||
"delete_account_confirm": "Er du sikker på du vil slette din konto? <br /><strong>Dette kan ikke fortrydes, og du vil ikke være istand til at genoprette dine data</strong><br /><br />Indtast dit brugernavn for at bekræfte at du ønsker at slette din konto.",
|
||||
"delete_this_account_confirm": "Er du sikker på at du vil slette denne konto?<br /><strong>Denne handling kan ikke fortrydes, og du kan ikke genskabe nogen data.</strong><br /><br />",
|
||||
"account-deleted": "Konto slettet",
|
||||
"fullname": "Fulde navn",
|
||||
"website": "Webside",
|
||||
"location": "Lokation",
|
||||
"age": "Alder",
|
||||
"joined": "Oprettet",
|
||||
"lastonline": "Sidst online",
|
||||
"profile": "Profil",
|
||||
"profile_views": "Profil visninger",
|
||||
"reputation": "Omdømme",
|
||||
"favourites": "Bogmærker",
|
||||
"watched": "Set",
|
||||
"followers": "Followers",
|
||||
"following": "Følger",
|
||||
"aboutme": "Om mig",
|
||||
"signature": "Signatur",
|
||||
"birthday": "Fødselsdag",
|
||||
"chat": "Chat",
|
||||
"chat_with": "Chat med %1",
|
||||
"follow": "Følg",
|
||||
"unfollow": "Følg ikke",
|
||||
"more": "Mere",
|
||||
"profile_update_success": "Din profil blev opdateret",
|
||||
"change_picture": "Skift billede",
|
||||
"change_username": "Ændre brugernavn",
|
||||
"change_email": "Ændre email",
|
||||
"edit": "Rediger",
|
||||
"default_picture": "Standard ikon",
|
||||
"uploaded_picture": "Upload billede",
|
||||
"upload_new_picture": "Upload nyt billede",
|
||||
"upload_new_picture_from_url": "Upload nyt billede fra URL",
|
||||
"current_password": "Nuværende kodeord",
|
||||
"change_password": "Skift kodeord",
|
||||
"change_password_error": "Ukorrekt kodeord",
|
||||
"change_password_error_wrong_current": "Nuværende kodeord er ikke korrekt",
|
||||
"change_password_error_length": "Kodeord er for kort!",
|
||||
"change_password_error_match": "Passwords matcher ikke!",
|
||||
"change_password_error_privileges": "Du har ikke rettigheder til at ændre dette password.",
|
||||
"change_password_success": "Dit password er opdateret!",
|
||||
"confirm_password": "Bekræft kodeord",
|
||||
"password": "Kodeord",
|
||||
"username_taken_workaround": "Det valgte brugernavn er allerede taget, så vi har ændret det en smule. Du hedder nu <strong>%1</strong>",
|
||||
"password_same_as_username": "Din adgangskode er det samme som dit brugernavn, vælg venligst en anden adgangskode.",
|
||||
"password_same_as_email": "Dit kodeord er det samme som din email, venligst vælg et andet kodeord",
|
||||
"upload_picture": "Upload billede",
|
||||
"upload_a_picture": "Upload et billede",
|
||||
"remove_uploaded_picture": "Fjern uploaded billede",
|
||||
"upload_cover_picture": "Upload coverbillede",
|
||||
"settings": "Indstillinger",
|
||||
"show_email": "Vis min emailaddresse",
|
||||
"show_fullname": "Vis mit fulde navn",
|
||||
"restrict_chats": "Tillad kun chat beskeder fra brugere jeg følger",
|
||||
"digest_label": "Abonner på sammendrag",
|
||||
"digest_description": "Abonner på email opdateringer for detta forum (nye notifikationer og indlæg) efter en bestemt køreplan",
|
||||
"digest_off": "Slukket",
|
||||
"digest_daily": "Daglig",
|
||||
"digest_weekly": "Ugentlig",
|
||||
"digest_monthly": "Månedlig",
|
||||
"send_chat_notifications": "Send en email hvis en ny chat besked er modtaget og jeg ikke er online",
|
||||
"send_post_notifications": "Send en email når der er skrevet svar til indlæg jeg abonnere på",
|
||||
"settings-require-reload": "Nogle indstillinger kræver en genindlæsning. Klik her for at genindlæse siden.",
|
||||
"has_no_follower": "Denne bruger har ingen følgere :(",
|
||||
"follows_no_one": "Denne bruger følger ikke nogen :(",
|
||||
"has_no_posts": "Denne bruger har ikke skrevet noget endnu.",
|
||||
"has_no_topics": "Denne bruger har ikke skrævet nogle tråde endnu.",
|
||||
"has_no_watched_topics": "Denne bruger har ikke fulgt nogle tråde endnu.",
|
||||
"has_no_upvoted_posts": "Denne bruger har ikke syntes godt om nogle indlæg endnu.",
|
||||
"has_no_downvoted_posts": "Denne bruger har ikke, syntes ikke godt om nogle indlæg endnu.",
|
||||
"has_no_voted_posts": "Denne bruger har ingen stemte indlæg",
|
||||
"email_hidden": "Email Skjult",
|
||||
"hidden": "skjult",
|
||||
"paginate_description": "Sideinddel emner og indlæg istedet for uendeligt rul",
|
||||
"topics_per_page": "Emner per side",
|
||||
"posts_per_page": "Indlæg per side",
|
||||
"notification_sounds": "Afspil en lyd når du modtager en notifikation",
|
||||
"browsing": "Gennemsenings indstillinger",
|
||||
"open_links_in_new_tab": "Åben udgående link i en ny tab",
|
||||
"enable_topic_searching": "Slå In-Topic søgning til",
|
||||
"topic_search_help": "Hvis slået til, så vil in-topic søgning overskrive browserens almindelige søge function og tillade dig at søge hele emnet, istedet for kun det der er vist på skærmen",
|
||||
"follow_topics_you_reply_to": "Følg emner du har skrevet indlæg i",
|
||||
"follow_topics_you_create": "Følg emner du opretter",
|
||||
"grouptitle": "Vælg gruppe titlen du gerne vil fremvise",
|
||||
"no-group-title": "Ingen gruppe titel",
|
||||
"select-skin": "Vælg et skin",
|
||||
"select-homepage": "Vælg en hjemmeside",
|
||||
"homepage": "Hjemmeside",
|
||||
"homepage_description": "Vælg en side som forummets hjemmeside, eller 'Ingen' for at bruge standard hjemmesiden.",
|
||||
"custom_route": "Brugerdefinerede hjemme rute",
|
||||
"custom_route_help": "Indtast et rute navn her, uden nogle foregående skråstreg (f.eks. \"nyligt\" eller \"populært\")",
|
||||
"sso.title": "Enkeltgangs Sign-on Servicer",
|
||||
"sso.associated": "Forbundet med",
|
||||
"sso.not-associated": "Klik her for at forbinde med"
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user