Compare commits

..

7 Commits

Author SHA1 Message Date
Julian Lam
43b90c5679 fixed #3218
Conflicts:
	src/database/mongo.js
2015-06-05 13:35:58 -04:00
Barış Soner Uşaklı
58b8c32fe9 crash fix 2015-05-29 00:47:37 -04:00
Julian Lam
1b88a6a523 upped mentions minver 2015-05-28 12:16:59 -04:00
Julian Lam
8ecd90729e latest translations and fallbacks 2015-05-28 12:16:31 -04:00
barisusakli
a5b8a656e9 fix minSchemaDate 2015-05-23 19:30:56 -04:00
Julian Lam
2cae7995e7 0.7.0 2015-05-23 18:56:50 -04:00
Julian Lam
19ca796915 🚀 2015-05-23 18:56:42 -04:00
1352 changed files with 29443 additions and 66608 deletions

View File

@@ -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
View File

@@ -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

View File

@@ -1,12 +0,0 @@
Please include the following information when submitting a bug report/issue:
* NodeBB version and git hash (to find your git hash, execute `git rev-parse HEAD` from the main NodeBB directory)
* Exact steps to cause this issue
1. First I did this...
2. Then, I clicked on this item...
* What you expected
* e.g. I expected *abc* to *xyz*
* What happened instead
* e.g. Instead, I got *zyx* and NodeBB set fire to my house
Thank you!

23
.gitignore vendored
View File

@@ -8,6 +8,7 @@ public/css/*.css
*.sublime-project *.sublime-project
*.sublime-workspace *.sublime-workspace
.project .project
.idea
*.swp *.swp
Vagrantfile Vagrantfile
.vagrant .vagrant
@@ -22,32 +23,12 @@ pidfile
# templates # templates
/public/templates /public/templates
/public/sounds
/public/uploads /public/uploads
/public/sounds
# compiled files # compiled files
/public/stylesheet.css /public/stylesheet.css
/public/admin.css /public/admin.css
/public/nodebb.min.js /public/nodebb.min.js
/public/nodebb.min.js.map /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
##Coverage output
coverage

View File

@@ -24,7 +24,7 @@
// "single" : require single quotes // "single" : require single quotes
// "double" : require double quotes // "double" : require double quotes
"undef" : true, // true: Require all non-global variables to be declared (prevents global leaks) "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 "strict" : true, // true: Requires all functions run in ES5 Strict Mode
"trailing" : false, // true: Prohibit trailing whitespaces "trailing" : false, // true: Prohibit trailing whitespaces
"maxparams" : false, // {int} Max number of formal params allowed per function "maxparams" : false, // {int} Max number of formal params allowed per function

View File

@@ -10,18 +10,7 @@ before_install:
before_script: before_script:
- "until nc -z localhost 27017; do echo Waiting for MongoDB; sleep 1; done" - "until nc -z localhost 27017; do echo Waiting for MongoDB; sleep 1; done"
language: node_js language: node_js
env:
- CXX=g++-4.8
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-4.8
node_js: node_js:
- "4.2"
- "4.1"
- "4.0"
- "0.11" - "0.11"
- "0.10" - "0.10"
branches: branches:

View File

@@ -9,7 +9,6 @@ trans.ar = public/language/ar/category.json
trans.bn = public/language/bn/category.json trans.bn = public/language/bn/category.json
trans.bg = public/language/bg/category.json trans.bg = public/language/bg/category.json
trans.cs = public/language/cs/category.json trans.cs = public/language/cs/category.json
trans.da = public/language/da/category.json
trans.de = public/language/de/category.json trans.de = public/language/de/category.json
trans.el = public/language/el/category.json trans.el = public/language/el/category.json
trans.en_US = public/language/en_US/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.fa_IR = public/language/fa_IR/category.json
trans.fi = public/language/fi/category.json trans.fi = public/language/fi/category.json
trans.fr = public/language/fr/category.json trans.fr = public/language/fr/category.json
trans.gl = public/language/gl/category.json
trans.he = public/language/he/category.json trans.he = public/language/he/category.json
trans.hu = public/language/hu/category.json trans.hu = public/language/hu/category.json
trans.id = public/language/id/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.pt_BR = public/language/pt_BR/category.json
trans.ru = public/language/ru/category.json trans.ru = public/language/ru/category.json
trans.ro = public/language/ro/category.json trans.ro = public/language/ro/category.json
trans.rw = public/language/rw/category.json
trans.sc = public/language/sc/category.json trans.sc = public/language/sc/category.json
trans.sk = public/language/sk/category.json trans.sk = public/language/sk/category.json
trans.sl = public/language/sl/category.json
trans.sr = public/language/sr/category.json
trans.sv = public/language/sv/category.json trans.sv = public/language/sv/category.json
trans.th = public/language/th/category.json trans.th = public/language/th/category.json
trans.tr = public/language/tr/category.json trans.tr = public/language/tr/category.json
@@ -55,7 +50,6 @@ trans.ar = public/language/ar/login.json
trans.bn = public/language/bn/login.json trans.bn = public/language/bn/login.json
trans.bg = public/language/bg/login.json trans.bg = public/language/bg/login.json
trans.cs = public/language/cs/login.json trans.cs = public/language/cs/login.json
trans.da = public/language/da/login.json
trans.de = public/language/de/login.json trans.de = public/language/de/login.json
trans.el = public/language/el/login.json trans.el = public/language/el/login.json
trans.en_US = public/language/en_US/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.fa_IR = public/language/fa_IR/login.json
trans.fi = public/language/fi/login.json trans.fi = public/language/fi/login.json
trans.fr = public/language/fr/login.json trans.fr = public/language/fr/login.json
trans.gl = public/language/gl/login.json
trans.he = public/language/he/login.json trans.he = public/language/he/login.json
trans.hu = public/language/hu/login.json trans.hu = public/language/hu/login.json
trans.id = public/language/id/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.pt_BR = public/language/pt_BR/login.json
trans.ru = public/language/ru/login.json trans.ru = public/language/ru/login.json
trans.ro = public/language/ro/login.json trans.ro = public/language/ro/login.json
trans.rw = public/language/rw/login.json
trans.sc = public/language/sc/login.json trans.sc = public/language/sc/login.json
trans.sk = public/language/sk/login.json trans.sk = public/language/sk/login.json
trans.sl = public/language/sl/login.json
trans.sr = public/language/sr/login.json
trans.sv = public/language/sv/login.json trans.sv = public/language/sv/login.json
trans.th = public/language/th/login.json trans.th = public/language/th/login.json
trans.tr = public/language/tr/login.json trans.tr = public/language/tr/login.json
@@ -94,14 +84,12 @@ trans.zh_TW = public/language/zh_TW/login.json
type = KEYVALUEJSON type = KEYVALUEJSON
[nodebb.recent] [nodebb.recent]
file_filter = public/language/<lang>/recent.json
source_file = public/language/en_GB/recent.json source_file = public/language/en_GB/recent.json
source_lang = en_GB source_lang = en_GB
trans.ar = public/language/ar/recent.json trans.ar = public/language/ar/recent.json
trans.bn = public/language/bn/recent.json trans.bn = public/language/bn/recent.json
trans.bg = public/language/bg/recent.json trans.bg = public/language/bg/recent.json
trans.cs = public/language/cs/recent.json trans.cs = public/language/cs/recent.json
trans.da = public/language/da/recent.json
trans.de = public/language/de/recent.json trans.de = public/language/de/recent.json
trans.el = public/language/el/recent.json trans.el = public/language/el/recent.json
trans.en_US = public/language/en_US/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.fa_IR = public/language/fa_IR/recent.json
trans.fi = public/language/fi/recent.json trans.fi = public/language/fi/recent.json
trans.fr = public/language/fr/recent.json trans.fr = public/language/fr/recent.json
trans.gl = public/language/gl/recent.json
trans.he = public/language/he/recent.json trans.he = public/language/he/recent.json
trans.hu = public/language/hu/recent.json trans.hu = public/language/hu/recent.json
trans.id = public/language/id/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.pt_BR = public/language/pt_BR/recent.json
trans.ru = public/language/ru/recent.json trans.ru = public/language/ru/recent.json
trans.ro = public/language/ro/recent.json trans.ro = public/language/ro/recent.json
trans.rw = public/language/rw/recent.json
trans.sc = public/language/sc/recent.json trans.sc = public/language/sc/recent.json
trans.sk = public/language/sk/recent.json trans.sk = public/language/sk/recent.json
trans.sl = public/language/sl/recent.json
trans.sr = public/language/sr/recent.json
trans.sv = public/language/sv/recent.json trans.sv = public/language/sv/recent.json
trans.th = public/language/th/recent.json trans.th = public/language/th/recent.json
trans.tr = public/language/tr/recent.json trans.tr = public/language/tr/recent.json
@@ -140,14 +124,12 @@ trans.zh_TW = public/language/zh_TW/recent.json
type = KEYVALUEJSON type = KEYVALUEJSON
[nodebb.unread] [nodebb.unread]
file_filter = public/language/<lang>/unread.json
source_file = public/language/en_GB/unread.json source_file = public/language/en_GB/unread.json
source_lang = en_GB source_lang = en_GB
trans.ar = public/language/ar/unread.json trans.ar = public/language/ar/unread.json
trans.bn = public/language/bn/unread.json trans.bn = public/language/bn/unread.json
trans.bg = public/language/bg/unread.json trans.bg = public/language/bg/unread.json
trans.cs = public/language/cs/unread.json trans.cs = public/language/cs/unread.json
trans.da = public/language/da/unread.json
trans.de = public/language/de/unread.json trans.de = public/language/de/unread.json
trans.el = public/language/el/unread.json trans.el = public/language/el/unread.json
trans.en_US = public/language/en_US/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.fa_IR = public/language/fa_IR/unread.json
trans.fi = public/language/fi/unread.json trans.fi = public/language/fi/unread.json
trans.fr = public/language/fr/unread.json trans.fr = public/language/fr/unread.json
trans.gl = public/language/gl/unread.json
trans.he = public/language/he/unread.json trans.he = public/language/he/unread.json
trans.hu = public/language/hu/unread.json trans.hu = public/language/hu/unread.json
trans.id = public/language/id/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.pt_BR = public/language/pt_BR/unread.json
trans.ru = public/language/ru/unread.json trans.ru = public/language/ru/unread.json
trans.ro = public/language/ro/unread.json trans.ro = public/language/ro/unread.json
trans.rw = public/language/rw/unread.json
trans.sc = public/language/sc/unread.json trans.sc = public/language/sc/unread.json
trans.sk = public/language/sk/unread.json trans.sk = public/language/sk/unread.json
trans.sl = public/language/sl/unread.json
trans.sr = public/language/sr/unread.json
trans.sv = public/language/sv/unread.json trans.sv = public/language/sv/unread.json
trans.th = public/language/th/unread.json trans.th = public/language/th/unread.json
trans.tr = public/language/tr/unread.json trans.tr = public/language/tr/unread.json
@@ -186,14 +164,12 @@ trans.zh_TW = public/language/zh_TW/unread.json
type = KEYVALUEJSON type = KEYVALUEJSON
[nodebb.modules] [nodebb.modules]
file_filter = public/language/<lang>/modules.json
source_file = public/language/en_GB/modules.json source_file = public/language/en_GB/modules.json
source_lang = en_GB source_lang = en_GB
trans.ar = public/language/ar/modules.json trans.ar = public/language/ar/modules.json
trans.bn = public/language/bn/modules.json trans.bn = public/language/bn/modules.json
trans.bg = public/language/bg/modules.json trans.bg = public/language/bg/modules.json
trans.cs = public/language/cs/modules.json trans.cs = public/language/cs/modules.json
trans.da = public/language/da/modules.json
trans.de = public/language/de/modules.json trans.de = public/language/de/modules.json
trans.el = public/language/el/modules.json trans.el = public/language/el/modules.json
trans.en_US = public/language/en_US/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.fa_IR = public/language/fa_IR/modules.json
trans.fi = public/language/fi/modules.json trans.fi = public/language/fi/modules.json
trans.fr = public/language/fr/modules.json trans.fr = public/language/fr/modules.json
trans.gl = public/language/gl/modules.json
trans.he = public/language/he/modules.json trans.he = public/language/he/modules.json
trans.hu = public/language/hu/modules.json trans.hu = public/language/hu/modules.json
trans.id = public/language/id/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.pt_BR = public/language/pt_BR/modules.json
trans.ru = public/language/ru/modules.json trans.ru = public/language/ru/modules.json
trans.ro = public/language/ro/modules.json trans.ro = public/language/ro/modules.json
trans.rw = public/language/rw/modules.json
trans.sc = public/language/sc/modules.json trans.sc = public/language/sc/modules.json
trans.sk = public/language/sk/modules.json trans.sk = public/language/sk/modules.json
trans.sl = public/language/sl/modules.json
trans.sr = public/language/sr/modules.json
trans.sv = public/language/sv/modules.json trans.sv = public/language/sv/modules.json
trans.th = public/language/th/modules.json trans.th = public/language/th/modules.json
trans.tr = public/language/tr/modules.json trans.tr = public/language/tr/modules.json
@@ -232,14 +204,12 @@ trans.zh_TW = public/language/zh_TW/modules.json
type = KEYVALUEJSON type = KEYVALUEJSON
[nodebb.register] [nodebb.register]
file_filter = public/language/<lang>/register.json
source_file = public/language/en_GB/register.json source_file = public/language/en_GB/register.json
source_lang = en_GB source_lang = en_GB
trans.ar = public/language/ar/register.json trans.ar = public/language/ar/register.json
trans.bn = public/language/bn/register.json trans.bn = public/language/bn/register.json
trans.bg = public/language/bg/register.json trans.bg = public/language/bg/register.json
trans.cs = public/language/cs/register.json trans.cs = public/language/cs/register.json
trans.da = public/language/da/register.json
trans.de = public/language/de/register.json trans.de = public/language/de/register.json
trans.el = public/language/el/register.json trans.el = public/language/el/register.json
trans.en_US = public/language/en_US/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.fa_IR = public/language/fa_IR/register.json
trans.fi = public/language/fi/register.json trans.fi = public/language/fi/register.json
trans.fr = public/language/fr/register.json trans.fr = public/language/fr/register.json
trans.gl = public/language/gl/register.json
trans.he = public/language/he/register.json trans.he = public/language/he/register.json
trans.hu = public/language/hu/register.json trans.hu = public/language/hu/register.json
trans.id = public/language/id/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.pt_BR = public/language/pt_BR/register.json
trans.ru = public/language/ru/register.json trans.ru = public/language/ru/register.json
trans.ro = public/language/ro/register.json trans.ro = public/language/ro/register.json
trans.rw = public/language/rw/register.json
trans.sc = public/language/sc/register.json trans.sc = public/language/sc/register.json
trans.sk = public/language/sk/register.json trans.sk = public/language/sk/register.json
trans.sl = public/language/sl/register.json
trans.sr = public/language/sr/register.json
trans.sv = public/language/sv/register.json trans.sv = public/language/sv/register.json
trans.th = public/language/th/register.json trans.th = public/language/th/register.json
trans.tr = public/language/tr/register.json trans.tr = public/language/tr/register.json
@@ -278,14 +244,12 @@ trans.zh_TW = public/language/zh_TW/register.json
type = KEYVALUEJSON type = KEYVALUEJSON
[nodebb.user] [nodebb.user]
file_filter = public/language/<lang>/user.json
source_file = public/language/en_GB/user.json source_file = public/language/en_GB/user.json
source_lang = en_GB source_lang = en_GB
trans.ar = public/language/ar/user.json trans.ar = public/language/ar/user.json
trans.bn = public/language/bn/user.json trans.bn = public/language/bn/user.json
trans.bg = public/language/bg/user.json trans.bg = public/language/bg/user.json
trans.cs = public/language/cs/user.json trans.cs = public/language/cs/user.json
trans.da = public/language/da/user.json
trans.de = public/language/de/user.json trans.de = public/language/de/user.json
trans.el = public/language/el/user.json trans.el = public/language/el/user.json
trans.en_US = public/language/en_US/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.fa_IR = public/language/fa_IR/user.json
trans.fi = public/language/fi/user.json trans.fi = public/language/fi/user.json
trans.fr = public/language/fr/user.json trans.fr = public/language/fr/user.json
trans.gl = public/language/gl/user.json
trans.he = public/language/he/user.json trans.he = public/language/he/user.json
trans.hu = public/language/hu/user.json trans.hu = public/language/hu/user.json
trans.id = public/language/id/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.pt_BR = public/language/pt_BR/user.json
trans.ru = public/language/ru/user.json trans.ru = public/language/ru/user.json
trans.ro = public/language/ro/user.json trans.ro = public/language/ro/user.json
trans.rw = public/language/rw/user.json
trans.sc = public/language/sc/user.json trans.sc = public/language/sc/user.json
trans.sk = public/language/sk/user.json trans.sk = public/language/sk/user.json
trans.sl = public/language/sl/user.json
trans.sr = public/language/sr/user.json
trans.sv = public/language/sv/user.json trans.sv = public/language/sv/user.json
trans.th = public/language/th/user.json trans.th = public/language/th/user.json
trans.tr = public/language/tr/user.json trans.tr = public/language/tr/user.json
@@ -324,14 +284,12 @@ trans.zh_TW = public/language/zh_TW/user.json
type = KEYVALUEJSON type = KEYVALUEJSON
[nodebb.global] [nodebb.global]
file_filter = public/language/<lang>/global.json
source_file = public/language/en_GB/global.json source_file = public/language/en_GB/global.json
source_lang = en_GB source_lang = en_GB
trans.ar = public/language/ar/global.json trans.ar = public/language/ar/global.json
trans.bn = public/language/bn/global.json trans.bn = public/language/bn/global.json
trans.bg = public/language/bg/global.json trans.bg = public/language/bg/global.json
trans.cs = public/language/cs/global.json trans.cs = public/language/cs/global.json
trans.da = public/language/da/global.json
trans.de = public/language/de/global.json trans.de = public/language/de/global.json
trans.el = public/language/el/global.json trans.el = public/language/el/global.json
trans.en_US = public/language/en_US/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.fa_IR = public/language/fa_IR/global.json
trans.fi = public/language/fi/global.json trans.fi = public/language/fi/global.json
trans.fr = public/language/fr/global.json trans.fr = public/language/fr/global.json
trans.gl = public/language/gl/global.json
trans.he = public/language/he/global.json trans.he = public/language/he/global.json
trans.hu = public/language/hu/global.json trans.hu = public/language/hu/global.json
trans.id = public/language/id/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.pt_BR = public/language/pt_BR/global.json
trans.ru = public/language/ru/global.json trans.ru = public/language/ru/global.json
trans.ro = public/language/ro/global.json trans.ro = public/language/ro/global.json
trans.rw = public/language/rw/global.json
trans.sc = public/language/sc/global.json trans.sc = public/language/sc/global.json
trans.sk = public/language/sk/global.json trans.sk = public/language/sk/global.json
trans.sl = public/language/sl/global.json
trans.sr = public/language/sr/global.json
trans.sv = public/language/sv/global.json trans.sv = public/language/sv/global.json
trans.th = public/language/th/global.json trans.th = public/language/th/global.json
trans.tr = public/language/tr/global.json trans.tr = public/language/tr/global.json
@@ -370,14 +324,12 @@ trans.zh_TW = public/language/zh_TW/global.json
type = KEYVALUEJSON type = KEYVALUEJSON
[nodebb.notifications] [nodebb.notifications]
file_filter = public/language/<lang>/notifications.json
source_file = public/language/en_GB/notifications.json source_file = public/language/en_GB/notifications.json
source_lang = en_GB source_lang = en_GB
trans.ar = public/language/ar/notifications.json trans.ar = public/language/ar/notifications.json
trans.bn = public/language/bn/notifications.json trans.bn = public/language/bn/notifications.json
trans.bg = public/language/bg/notifications.json trans.bg = public/language/bg/notifications.json
trans.cs = public/language/cs/notifications.json trans.cs = public/language/cs/notifications.json
trans.da = public/language/da/notifications.json
trans.de = public/language/de/notifications.json trans.de = public/language/de/notifications.json
trans.el = public/language/el/notifications.json trans.el = public/language/el/notifications.json
trans.en_US = public/language/en_US/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.fa_IR = public/language/fa_IR/notifications.json
trans.fi = public/language/fi/notifications.json trans.fi = public/language/fi/notifications.json
trans.fr = public/language/fr/notifications.json trans.fr = public/language/fr/notifications.json
trans.gl = public/language/gl/notifications.json
trans.he = public/language/he/notifications.json trans.he = public/language/he/notifications.json
trans.hu = public/language/hu/notifications.json trans.hu = public/language/hu/notifications.json
trans.id = public/language/id/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.pt_BR = public/language/pt_BR/notifications.json
trans.ru = public/language/ru/notifications.json trans.ru = public/language/ru/notifications.json
trans.ro = public/language/ro/notifications.json trans.ro = public/language/ro/notifications.json
trans.rw = public/language/rw/notifications.json
trans.sc = public/language/sc/notifications.json trans.sc = public/language/sc/notifications.json
trans.sk = public/language/sk/notifications.json trans.sk = public/language/sk/notifications.json
trans.sl = public/language/sl/notifications.json
trans.sr = public/language/sr/notifications.json
trans.sv = public/language/sv/notifications.json trans.sv = public/language/sv/notifications.json
trans.th = public/language/th/notifications.json trans.th = public/language/th/notifications.json
trans.tr = public/language/tr/notifications.json trans.tr = public/language/tr/notifications.json
@@ -416,14 +364,12 @@ trans.zh_TW = public/language/zh_TW/notifications.json
type = KEYVALUEJSON type = KEYVALUEJSON
[nodebb.reset_password] [nodebb.reset_password]
file_filter = public/language/<lang>/reset_password.json
source_file = public/language/en_GB/reset_password.json source_file = public/language/en_GB/reset_password.json
source_lang = en_GB source_lang = en_GB
trans.ar = public/language/ar/reset_password.json trans.ar = public/language/ar/reset_password.json
trans.bn = public/language/bn/reset_password.json trans.bn = public/language/bn/reset_password.json
trans.bg = public/language/bg/reset_password.json trans.bg = public/language/bg/reset_password.json
trans.cs = public/language/cs/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.de = public/language/de/reset_password.json
trans.el = public/language/el/reset_password.json trans.el = public/language/el/reset_password.json
trans.en_US = public/language/en_US/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.fa_IR = public/language/fa_IR/reset_password.json
trans.fi = public/language/fi/reset_password.json trans.fi = public/language/fi/reset_password.json
trans.fr = public/language/fr/reset_password.json trans.fr = public/language/fr/reset_password.json
trans.gl = public/language/gl/reset_password.json
trans.he = public/language/he/reset_password.json trans.he = public/language/he/reset_password.json
trans.hu = public/language/hu/reset_password.json trans.hu = public/language/hu/reset_password.json
trans.id = public/language/id/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.pt_BR = public/language/pt_BR/reset_password.json
trans.ru = public/language/ru/reset_password.json trans.ru = public/language/ru/reset_password.json
trans.ro = public/language/ro/reset_password.json trans.ro = public/language/ro/reset_password.json
trans.rw = public/language/rw/reset_password.json
trans.sc = public/language/sc/reset_password.json trans.sc = public/language/sc/reset_password.json
trans.sk = public/language/sk/reset_password.json trans.sk = public/language/sk/reset_password.json
trans.sl = public/language/sl/reset_password.json
trans.sr = public/language/sr/reset_password.json
trans.sv = public/language/sv/reset_password.json trans.sv = public/language/sv/reset_password.json
trans.th = public/language/th/reset_password.json trans.th = public/language/th/reset_password.json
trans.tr = public/language/tr/reset_password.json trans.tr = public/language/tr/reset_password.json
@@ -462,14 +404,12 @@ trans.zh_TW = public/language/zh_TW/reset_password.json
type = KEYVALUEJSON type = KEYVALUEJSON
[nodebb.users] [nodebb.users]
file_filter = public/language/<lang>/users.json
source_file = public/language/en_GB/users.json source_file = public/language/en_GB/users.json
source_lang = en_GB source_lang = en_GB
trans.ar = public/language/ar/users.json trans.ar = public/language/ar/users.json
trans.bn = public/language/bn/users.json trans.bn = public/language/bn/users.json
trans.bg = public/language/bg/users.json trans.bg = public/language/bg/users.json
trans.cs = public/language/cs/users.json trans.cs = public/language/cs/users.json
trans.da = public/language/da/users.json
trans.de = public/language/de/users.json trans.de = public/language/de/users.json
trans.el = public/language/el/users.json trans.el = public/language/el/users.json
trans.en_US = public/language/en_US/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.fa_IR = public/language/fa_IR/users.json
trans.fi = public/language/fi/users.json trans.fi = public/language/fi/users.json
trans.fr = public/language/fr/users.json trans.fr = public/language/fr/users.json
trans.gl = public/language/gl/users.json
trans.he = public/language/he/users.json trans.he = public/language/he/users.json
trans.hu = public/language/hu/users.json trans.hu = public/language/hu/users.json
trans.id = public/language/id/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.pt_BR = public/language/pt_BR/users.json
trans.ru = public/language/ru/users.json trans.ru = public/language/ru/users.json
trans.ro = public/language/ro/users.json trans.ro = public/language/ro/users.json
trans.rw = public/language/rw/users.json
trans.sc = public/language/sc/users.json trans.sc = public/language/sc/users.json
trans.sk = public/language/sk/users.json trans.sk = public/language/sk/users.json
trans.sl = public/language/sl/users.json
trans.sr = public/language/sr/users.json
trans.sv = public/language/sv/users.json trans.sv = public/language/sv/users.json
trans.th = public/language/th/users.json trans.th = public/language/th/users.json
trans.tr = public/language/tr/users.json trans.tr = public/language/tr/users.json
@@ -507,15 +443,13 @@ trans.zh_CN = public/language/zh_CN/users.json
trans.zh_TW = public/language/zh_TW/users.json trans.zh_TW = public/language/zh_TW/users.json
type = KEYVALUEJSON type = KEYVALUEJSON
[nodebb.language-1] [nodebb.language]
file_filter = public/language/<lang>/language.json
source_file = public/language/en_GB/language.json source_file = public/language/en_GB/language.json
source_lang = en_GB source_lang = en_GB
trans.ar = public/language/ar/language.json trans.ar = public/language/ar/language.json
trans.bn = public/language/bn/language.json trans.bn = public/language/bn/language.json
trans.bg = public/language/bg/language.json trans.bg = public/language/bg/language.json
trans.cs = public/language/cs/language.json trans.cs = public/language/cs/language.json
trans.da = public/language/da/language.json
trans.de = public/language/de/language.json trans.de = public/language/de/language.json
trans.el = public/language/el/language.json trans.el = public/language/el/language.json
trans.en_US = public/language/en_US/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.fa_IR = public/language/fa_IR/language.json
trans.fi = public/language/fi/language.json trans.fi = public/language/fi/language.json
trans.fr = public/language/fr/language.json trans.fr = public/language/fr/language.json
trans.gl = public/language/gl/language.json
trans.he = public/language/he/language.json trans.he = public/language/he/language.json
trans.hu = public/language/hu/language.json trans.hu = public/language/hu/language.json
trans.id = public/language/id/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.pt_BR = public/language/pt_BR/language.json
trans.ru = public/language/ru/language.json trans.ru = public/language/ru/language.json
trans.ro = public/language/ro/language.json trans.ro = public/language/ro/language.json
trans.rw = public/language/rw/language.json
trans.sc = public/language/sc/language.json trans.sc = public/language/sc/language.json
trans.sk = public/language/sk/language.json trans.sk = public/language/sk/language.json
trans.sl = public/language/sl/language.json
trans.sr = public/language/sr/language.json
trans.sv = public/language/sv/language.json trans.sv = public/language/sv/language.json
trans.th = public/language/th/language.json trans.th = public/language/th/language.json
trans.tr = public/language/tr/language.json trans.tr = public/language/tr/language.json
@@ -554,14 +484,12 @@ trans.zh_TW = public/language/zh_TW/language.json
type = KEYVALUEJSON type = KEYVALUEJSON
[nodebb.pages] [nodebb.pages]
file_filter = public/language/<lang>/pages.json
source_file = public/language/en_GB/pages.json source_file = public/language/en_GB/pages.json
source_lang = en_GB source_lang = en_GB
trans.ar = public/language/ar/pages.json trans.ar = public/language/ar/pages.json
trans.bn = public/language/bn/pages.json trans.bn = public/language/bn/pages.json
trans.bg = public/language/bg/pages.json trans.bg = public/language/bg/pages.json
trans.cs = public/language/cs/pages.json trans.cs = public/language/cs/pages.json
trans.da = public/language/da/pages.json
trans.de = public/language/de/pages.json trans.de = public/language/de/pages.json
trans.el = public/language/el/pages.json trans.el = public/language/el/pages.json
trans.en_US = public/language/en_US/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.fa_IR = public/language/fa_IR/pages.json
trans.fi = public/language/fi/pages.json trans.fi = public/language/fi/pages.json
trans.fr = public/language/fr/pages.json trans.fr = public/language/fr/pages.json
trans.gl = public/language/gl/pages.json
trans.he = public/language/he/pages.json trans.he = public/language/he/pages.json
trans.hu = public/language/hu/pages.json trans.hu = public/language/hu/pages.json
trans.id = public/language/id/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.pt_BR = public/language/pt_BR/pages.json
trans.ru = public/language/ru/pages.json trans.ru = public/language/ru/pages.json
trans.ro = public/language/ro/pages.json trans.ro = public/language/ro/pages.json
trans.rw = public/language/rw/pages.json
trans.sc = public/language/sc/pages.json trans.sc = public/language/sc/pages.json
trans.sk = public/language/sk/pages.json trans.sk = public/language/sk/pages.json
trans.sl = public/language/sl/pages.json
trans.sr = public/language/sr/pages.json
trans.sv = public/language/sv/pages.json trans.sv = public/language/sv/pages.json
trans.th = public/language/th/pages.json trans.th = public/language/th/pages.json
trans.tr = public/language/tr/pages.json trans.tr = public/language/tr/pages.json
@@ -600,14 +524,12 @@ trans.zh_TW = public/language/zh_TW/pages.json
type = KEYVALUEJSON type = KEYVALUEJSON
[nodebb.topic] [nodebb.topic]
file_filter = public/language/<lang>/topic.json
source_file = public/language/en_GB/topic.json source_file = public/language/en_GB/topic.json
source_lang = en_GB source_lang = en_GB
trans.ar = public/language/ar/topic.json trans.ar = public/language/ar/topic.json
trans.bn = public/language/bn/topic.json trans.bn = public/language/bn/topic.json
trans.bg = public/language/bg/topic.json trans.bg = public/language/bg/topic.json
trans.cs = public/language/cs/topic.json trans.cs = public/language/cs/topic.json
trans.da = public/language/da/topic.json
trans.de = public/language/de/topic.json trans.de = public/language/de/topic.json
trans.el = public/language/el/topic.json trans.el = public/language/el/topic.json
trans.en_US = public/language/en_US/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.fa_IR = public/language/fa_IR/topic.json
trans.fi = public/language/fi/topic.json trans.fi = public/language/fi/topic.json
trans.fr = public/language/fr/topic.json trans.fr = public/language/fr/topic.json
trans.gl = public/language/gl/topic.json
trans.he = public/language/he/topic.json trans.he = public/language/he/topic.json
trans.hu = public/language/hu/topic.json trans.hu = public/language/hu/topic.json
trans.id = public/language/id/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.pt_BR = public/language/pt_BR/topic.json
trans.ru = public/language/ru/topic.json trans.ru = public/language/ru/topic.json
trans.ro = public/language/ro/topic.json trans.ro = public/language/ro/topic.json
trans.rw = public/language/rw/topic.json
trans.sc = public/language/sc/topic.json trans.sc = public/language/sc/topic.json
trans.sk = public/language/sk/topic.json trans.sk = public/language/sk/topic.json
trans.sl = public/language/sl/topic.json
trans.sr = public/language/sr/topic.json
trans.sv = public/language/sv/topic.json trans.sv = public/language/sv/topic.json
trans.th = public/language/th/topic.json trans.th = public/language/th/topic.json
trans.tr = public/language/tr/topic.json trans.tr = public/language/tr/topic.json
@@ -646,14 +564,12 @@ trans.zh_TW = public/language/zh_TW/topic.json
type = KEYVALUEJSON type = KEYVALUEJSON
[nodebb.success] [nodebb.success]
file_filter = public/language/<lang>/success.json
source_file = public/language/en_GB/success.json source_file = public/language/en_GB/success.json
source_lang = en_GB source_lang = en_GB
trans.ar = public/language/ar/success.json trans.ar = public/language/ar/success.json
trans.bn = public/language/bn/success.json trans.bn = public/language/bn/success.json
trans.bg = public/language/bg/success.json trans.bg = public/language/bg/success.json
trans.cs = public/language/cs/success.json trans.cs = public/language/cs/success.json
trans.da = public/language/da/success.json
trans.de = public/language/de/success.json trans.de = public/language/de/success.json
trans.el = public/language/el/success.json trans.el = public/language/el/success.json
trans.en_US = public/language/en_US/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.fa_IR = public/language/fa_IR/success.json
trans.fi = public/language/fi/success.json trans.fi = public/language/fi/success.json
trans.fr = public/language/fr/success.json trans.fr = public/language/fr/success.json
trans.gl = public/language/gl/success.json
trans.he = public/language/he/success.json trans.he = public/language/he/success.json
trans.hu = public/language/hu/success.json trans.hu = public/language/hu/success.json
trans.id = public/language/id/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.pt_BR = public/language/pt_BR/success.json
trans.ru = public/language/ru/success.json trans.ru = public/language/ru/success.json
trans.ro = public/language/ro/success.json trans.ro = public/language/ro/success.json
trans.rw = public/language/rw/success.json
trans.sc = public/language/sc/success.json trans.sc = public/language/sc/success.json
trans.sk = public/language/sk/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.sv = public/language/sv/success.json
trans.th = public/language/th/success.json trans.th = public/language/th/success.json
trans.tr = public/language/tr/success.json trans.tr = public/language/tr/success.json
@@ -692,14 +604,12 @@ trans.zh_TW = public/language/zh_TW/success.json
type = KEYVALUEJSON type = KEYVALUEJSON
[nodebb.error] [nodebb.error]
file_filter = public/language/<lang>/error.json
source_file = public/language/en_GB/error.json source_file = public/language/en_GB/error.json
source_lang = en_GB source_lang = en_GB
trans.ar = public/language/ar/error.json trans.ar = public/language/ar/error.json
trans.bn = public/language/bn/error.json trans.bn = public/language/bn/error.json
trans.bg = public/language/bg/error.json trans.bg = public/language/bg/error.json
trans.cs = public/language/cs/error.json trans.cs = public/language/cs/error.json
trans.da = public/language/da/error.json
trans.de = public/language/de/error.json trans.de = public/language/de/error.json
trans.el = public/language/el/error.json trans.el = public/language/el/error.json
trans.en_US = public/language/en_US/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.fa_IR = public/language/fa_IR/error.json
trans.fi = public/language/fi/error.json trans.fi = public/language/fi/error.json
trans.fr = public/language/fr/error.json trans.fr = public/language/fr/error.json
trans.gl = public/language/gl/error.json
trans.he = public/language/he/error.json trans.he = public/language/he/error.json
trans.hu = public/language/hu/error.json trans.hu = public/language/hu/error.json
trans.id = public/language/id/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.pt_BR = public/language/pt_BR/error.json
trans.ru = public/language/ru/error.json trans.ru = public/language/ru/error.json
trans.ro = public/language/ro/error.json trans.ro = public/language/ro/error.json
trans.rw = public/language/rw/error.json
trans.sc = public/language/sc/error.json trans.sc = public/language/sc/error.json
trans.sk = public/language/sk/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.sv = public/language/sv/error.json
trans.th = public/language/th/error.json trans.th = public/language/th/error.json
trans.tr = public/language/tr/error.json trans.tr = public/language/tr/error.json
@@ -738,14 +644,12 @@ trans.zh_TW = public/language/zh_TW/error.json
type = KEYVALUEJSON type = KEYVALUEJSON
[nodebb.tags] [nodebb.tags]
file_filter = public/language/<lang>/tags.json
source_file = public/language/en_GB/tags.json source_file = public/language/en_GB/tags.json
source_lang = en_GB source_lang = en_GB
trans.ar = public/language/ar/tags.json trans.ar = public/language/ar/tags.json
trans.bn = public/language/bn/tags.json trans.bn = public/language/bn/tags.json
trans.bg = public/language/bg/tags.json trans.bg = public/language/bg/tags.json
trans.cs = public/language/cs/tags.json trans.cs = public/language/cs/tags.json
trans.da = public/language/da/tags.json
trans.de = public/language/de/tags.json trans.de = public/language/de/tags.json
trans.el = public/language/el/tags.json trans.el = public/language/el/tags.json
trans.en_US = public/language/en_US/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.fa_IR = public/language/fa_IR/tags.json
trans.fi = public/language/fi/tags.json trans.fi = public/language/fi/tags.json
trans.fr = public/language/fr/tags.json trans.fr = public/language/fr/tags.json
trans.gl = public/language/gl/tags.json
trans.he = public/language/he/tags.json trans.he = public/language/he/tags.json
trans.hu = public/language/hu/tags.json trans.hu = public/language/hu/tags.json
trans.id = public/language/id/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.pt_BR = public/language/pt_BR/tags.json
trans.ru = public/language/ru/tags.json trans.ru = public/language/ru/tags.json
trans.ro = public/language/ro/tags.json trans.ro = public/language/ro/tags.json
trans.rw = public/language/rw/tags.json
trans.sc = public/language/sc/tags.json trans.sc = public/language/sc/tags.json
trans.sk = public/language/sk/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.sv = public/language/sv/tags.json
trans.th = public/language/th/tags.json trans.th = public/language/th/tags.json
trans.tr = public/language/tr/tags.json trans.tr = public/language/tr/tags.json
@@ -784,14 +684,12 @@ trans.zh_TW = public/language/zh_TW/tags.json
type = KEYVALUEJSON type = KEYVALUEJSON
[nodebb.email] [nodebb.email]
file_filter = public/language/<lang>/email.json
source_file = public/language/en_GB/email.json source_file = public/language/en_GB/email.json
source_lang = en_GB source_lang = en_GB
trans.ar = public/language/ar/email.json trans.ar = public/language/ar/email.json
trans.bn = public/language/bn/email.json trans.bn = public/language/bn/email.json
trans.bg = public/language/bg/email.json trans.bg = public/language/bg/email.json
trans.cs = public/language/cs/email.json trans.cs = public/language/cs/email.json
trans.da = public/language/da/email.json
trans.de = public/language/de/email.json trans.de = public/language/de/email.json
trans.el = public/language/el/email.json trans.el = public/language/el/email.json
trans.en_US = public/language/en_US/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.fa_IR = public/language/fa_IR/email.json
trans.fi = public/language/fi/email.json trans.fi = public/language/fi/email.json
trans.fr = public/language/fr/email.json trans.fr = public/language/fr/email.json
trans.gl = public/language/gl/email.json
trans.he = public/language/he/email.json trans.he = public/language/he/email.json
trans.hu = public/language/hu/email.json trans.hu = public/language/hu/email.json
trans.id = public/language/id/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.pt_BR = public/language/pt_BR/email.json
trans.ru = public/language/ru/email.json trans.ru = public/language/ru/email.json
trans.ro = public/language/ro/email.json trans.ro = public/language/ro/email.json
trans.rw = public/language/rw/email.json
trans.sc = public/language/sc/email.json trans.sc = public/language/sc/email.json
trans.sk = public/language/sk/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.sv = public/language/sv/email.json
trans.th = public/language/th/email.json trans.th = public/language/th/email.json
trans.tr = public/language/tr/email.json trans.tr = public/language/tr/email.json
@@ -830,14 +724,12 @@ trans.zh_TW = public/language/zh_TW/email.json
type = KEYVALUEJSON type = KEYVALUEJSON
[nodebb.search] [nodebb.search]
file_filter = public/language/<lang>/search.json
source_file = public/language/en_GB/search.json source_file = public/language/en_GB/search.json
source_lang = en_GB source_lang = en_GB
trans.ar = public/language/ar/search.json trans.ar = public/language/ar/search.json
trans.bn = public/language/bn/search.json trans.bn = public/language/bn/search.json
trans.bg = public/language/bg/search.json trans.bg = public/language/bg/search.json
trans.cs = public/language/cs/search.json trans.cs = public/language/cs/search.json
trans.da = public/language/da/search.json
trans.de = public/language/de/search.json trans.de = public/language/de/search.json
trans.el = public/language/el/search.json trans.el = public/language/el/search.json
trans.en_US = public/language/en_US/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.fa_IR = public/language/fa_IR/search.json
trans.fi = public/language/fi/search.json trans.fi = public/language/fi/search.json
trans.fr = public/language/fr/search.json trans.fr = public/language/fr/search.json
trans.gl = public/language/gl/search.json
trans.he = public/language/he/search.json trans.he = public/language/he/search.json
trans.hu = public/language/hu/search.json trans.hu = public/language/hu/search.json
trans.id = public/language/id/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.pt_BR = public/language/pt_BR/search.json
trans.ru = public/language/ru/search.json trans.ru = public/language/ru/search.json
trans.ro = public/language/ro/search.json trans.ro = public/language/ro/search.json
trans.rw = public/language/rw/search.json
trans.sc = public/language/sc/search.json trans.sc = public/language/sc/search.json
trans.sk = public/language/sk/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.sv = public/language/sv/search.json
trans.th = public/language/th/search.json trans.th = public/language/th/search.json
trans.tr = public/language/tr/search.json trans.tr = public/language/tr/search.json
@@ -876,14 +764,12 @@ trans.zh_TW = public/language/zh_TW/search.json
type = KEYVALUEJSON type = KEYVALUEJSON
[nodebb.groups] [nodebb.groups]
file_filter = public/language/<lang>/groups.json
source_file = public/language/en_GB/groups.json source_file = public/language/en_GB/groups.json
source_lang = en_GB source_lang = en_GB
trans.ar = public/language/ar/groups.json trans.ar = public/language/ar/groups.json
trans.bn = public/language/bn/groups.json trans.bn = public/language/bn/groups.json
trans.bg = public/language/bg/groups.json trans.bg = public/language/bg/groups.json
trans.cs = public/language/cs/groups.json trans.cs = public/language/cs/groups.json
trans.da = public/language/da/groups.json
trans.de = public/language/de/groups.json trans.de = public/language/de/groups.json
trans.el = public/language/el/groups.json trans.el = public/language/el/groups.json
trans.en_US = public/language/en_US/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.fa_IR = public/language/fa_IR/groups.json
trans.fi = public/language/fi/groups.json trans.fi = public/language/fi/groups.json
trans.fr = public/language/fr/groups.json trans.fr = public/language/fr/groups.json
trans.gl = public/language/gl/groups.json
trans.he = public/language/he/groups.json trans.he = public/language/he/groups.json
trans.hu = public/language/hu/groups.json trans.hu = public/language/hu/groups.json
trans.id = public/language/id/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.pt_BR = public/language/pt_BR/groups.json
trans.ru = public/language/ru/groups.json trans.ru = public/language/ru/groups.json
trans.ro = public/language/ro/groups.json trans.ro = public/language/ro/groups.json
trans.rw = public/language/rw/groups.json
trans.sc = public/language/sc/groups.json trans.sc = public/language/sc/groups.json
trans.sk = public/language/sk/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.sv = public/language/sv/groups.json
trans.th = public/language/th/groups.json trans.th = public/language/th/groups.json
trans.tr = public/language/tr/groups.json trans.tr = public/language/tr/groups.json
@@ -920,49 +802,3 @@ trans.vi = public/language/vi/groups.json
trans.zh_CN = public/language/zh_CN/groups.json trans.zh_CN = public/language/zh_CN/groups.json
trans.zh_TW = public/language/zh_TW/groups.json trans.zh_TW = public/language/zh_TW/groups.json
type = KEYVALUEJSON type = KEYVALUEJSON
[nodebb.uploads]
file_filter = public/language/<lang>/uploads.json
source_file = public/language/en_GB/uploads.json
source_lang = en_GB
trans.ar = public/language/ar/uploads.json
trans.bn = public/language/bn/uploads.json
trans.bg = public/language/bg/uploads.json
trans.cs = public/language/cs/uploads.json
trans.da = public/language/da/uploads.json
trans.de = public/language/de/uploads.json
trans.el = public/language/el/uploads.json
trans.en_US = public/language/en_US/uploads.json
trans.en@pirate = public/language/en@pirate/uploads.json
trans.es = public/language/es/uploads.json
trans.et = public/language/et/uploads.json
trans.fa_IR = public/language/fa_IR/uploads.json
trans.fi = public/language/fi/uploads.json
trans.fr = public/language/fr/uploads.json
trans.gl = public/language/gl/uploads.json
trans.he = public/language/he/uploads.json
trans.hu = public/language/hu/uploads.json
trans.id = public/language/id/uploads.json
trans.it = public/language/it/uploads.json
trans.ja = public/language/ja/uploads.json
trans.ko = public/language/ko/uploads.json
trans.lt = public/language/lt/uploads.json
trans.ms = public/language/ms/uploads.json
trans.nb = public/language/nb/uploads.json
trans.nl = public/language/nl/uploads.json
trans.pl = public/language/pl/uploads.json
trans.pt_BR = public/language/pt_BR/uploads.json
trans.ru = public/language/ru/uploads.json
trans.ro = public/language/ro/uploads.json
trans.rw = public/language/rw/uploads.json
trans.sc = public/language/sc/uploads.json
trans.sk = public/language/sk/uploads.json
trans.sl = public/language/sl/uploads.json
trans.sr = public/language/sr/uploads.json
trans.sv = public/language/sv/uploads.json
trans.th = public/language/th/uploads.json
trans.tr = public/language/tr/uploads.json
trans.vi = public/language/vi/uploads.json
trans.zh_CN = public/language/zh_CN/uploads.json
trans.zh_TW = public/language/zh_TW/uploads.json
type = KEYVALUEJSON

View File

@@ -4,7 +4,7 @@ First of all, thank you! Please consider this [style guide](https://docs.nodebb.
## Contributor License Agreement ## 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. 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.

View File

@@ -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

View File

@@ -7,42 +7,38 @@ var fork = require('child_process').fork,
module.exports = function(grunt) { module.exports = function(grunt) {
var args = [];
if (!grunt.option('verbose')) {
args.push('--log-level=info');
}
function update(action, filepath, target) { function update(action, filepath, target) {
var updateArgs = args.slice(), var args = [],
fromFile = '', fromFile = '',
compiling = '', compiling = '',
time = Date.now(); time = Date.now();
if (target === 'lessUpdated_Client') { if (!grunt.option('verbose')) {
fromFile = ['js', 'tpl', 'acpLess']; args.push('--log-level=info');
compiling = 'clientLess'; }
} else if (target === 'lessUpdated_Admin') {
fromFile = ['js', 'tpl', 'clientLess']; if (target === 'lessUpdated') {
compiling = 'acpLess'; fromFile = ['js','tpl'];
compiling = 'less';
} else if (target === 'clientUpdated') { } else if (target === 'clientUpdated') {
fromFile = ['clientLess', 'acpLess', 'tpl']; fromFile = ['less','tpl'];
compiling = 'js'; compiling = 'js';
} else if (target === 'templatesUpdated') { } else if (target === 'templatesUpdated') {
fromFile = ['js', 'clientLess', 'acpLess']; fromFile = ['js','less'];
compiling = 'tpl'; compiling = 'tpl';
} else if (target === 'serverUpdated') { } else if (target === 'serverUpdated') {
fromFile = ['clientLess', 'acpLess', 'js', 'tpl']; fromFile = ['less','js','tpl'];
} }
fromFile = fromFile.filter(function(ext) { fromFile = fromFile.filter(function(ext) {
return incomplete.indexOf(ext) === -1; return incomplete.indexOf(ext) === -1;
}); });
updateArgs.push('--from-file=' + fromFile.join(',')); args.push('--from-file=' + fromFile.join(','));
incomplete.push(compiling); incomplete.push(compiling);
worker.kill(); worker.kill();
worker = fork('app.js', updateArgs, { env: env }); worker = fork('app.js', args, { env: env });
worker.on('message', function() { worker.on('message', function() {
if (incomplete.length) { if (incomplete.length) {
@@ -57,51 +53,26 @@ module.exports = function(grunt) {
grunt.initConfig({ grunt.initConfig({
watch: { watch: {
lessUpdated_Client: { lessUpdated: {
files: [ files: ['public/**/*.less', 'node_modules/nodebb-*/*.less', 'node_modules/nodebb-*/*/*.less', 'node_modules/nodebb-*/*/*/*.less', 'node_modules/nodebb-*/*/*/*/*.less']
'public/*.less',
'node_modules/nodebb-*/*.less', 'node_modules/nodebb-*/**/*.less',
'!node_modules/nodebb-*/node_modules/**',
'!node_modules/nodebb-*/.git/**'
]
},
lessUpdated_Admin: {
files: ['public/**/*.less']
}, },
clientUpdated: { clientUpdated: {
files: [ files: ['public/src/**/*.js', 'node_modules/nodebb-*/*.js', 'node_modules/nodebb-*/*/*.js', 'node_modules/nodebb-*/*/*/*.js', 'node_modules/nodebb-*/*/*/*/*.js', 'node_modules/templates.js/lib/templates.js']
'public/src/**/*.js',
'node_modules/nodebb-*/*.js', 'node_modules/nodebb-*/**/*.js',
'!node_modules/nodebb-*/node_modules/**',
'node_modules/templates.js/lib/templates.js',
'!node_modules/nodebb-*/.git/**'
]
}, },
serverUpdated: { serverUpdated: {
files: ['*.js', 'install/*.js', 'src/**/*.js'] files: ['*.js', 'install/*.js', 'src/**/*.js']
}, },
templatesUpdated: { templatesUpdated: {
files: [ files: ['src/views/**/*.tpl', 'node_modules/nodebb-*/*.tpl', 'node_modules/nodebb-*/*/*.tpl', 'node_modules/nodebb-*/*/*/*.tpl', 'node_modules/nodebb-*/*/*/*/*.tpl', 'node_modules/nodebb-*/*/*/*/*/*.tpl']
'src/views/**/*.tpl',
'node_modules/nodebb-*/*.tpl', 'node_modules/nodebb-*/**/*.tpl',
'!node_modules/nodebb-*/node_modules/**',
'!node_modules/nodebb-*/.git/**'
]
} }
} }
}); });
grunt.loadNpmTasks('grunt-contrib-watch'); grunt.loadNpmTasks('grunt-contrib-watch');
if (grunt.option('skip')) {
grunt.registerTask('default', ['watch:serverUpdated']);
} else {
grunt.registerTask('default', ['watch']); grunt.registerTask('default', ['watch']);
}
env.NODE_ENV = 'development'; env.NODE_ENV = 'development';
worker = fork('app.js', args, { env: env }); worker = fork('app.js', [], { env: env });
grunt.event.on('watch', update); grunt.event.on('watch', update);
}; };

View File

@@ -6,32 +6,24 @@
[![Code Climate](https://codeclimate.com/github/NodeBB/NodeBB/badges/gpa.svg)](https://codeclimate.com/github/NodeBB/NodeBB) [![Code Climate](https://codeclimate.com/github/NodeBB/NodeBB/badges/gpa.svg)](https://codeclimate.com/github/NodeBB/NodeBB)
[![Documentation Status](https://readthedocs.org/projects/nodebb/badge/?version=latest)](https://readthedocs.org/projects/nodebb/?badge=latest) [![Documentation Status](https://readthedocs.org/projects/nodebb/badge/?version=latest)](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. Additional functionality is enabled through the use of third-party plugins.
* [Get NodeBB](http://www.nodebb.org/ "NodeBB") * [Get NodeBB](http://www.nodebb.org/ "NodeBB")
* [Demo & Meta Discussion](http://community.nodebb.org) * [Demo & Meta Discussion](http://community.nodebb.org)
* [Documentation & Installation Instructions](http://docs.nodebb.org)
* [Help translate NodeBB](https://www.transifex.com/projects/p/nodebb/)
* [NodeBB Blog](http://blog.nodebb.org) * [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 * [Join us on IRC](https://kiwiirc.com/client/irc.freenode.net/nodebb) - #nodebb on Freenode
* [Follow us on Twitter](http://www.twitter.com/NodeBB/ "NodeBB Twitter") * [Follow us on Twitter](http://www.twitter.com/NodeBB/ "NodeBB Twitter")
* [Like us on Facebook](http://www.facebook.com/NodeBB/ "NodeBB Facebook") * [Like us on Facebook](http://www.facebook.com/NodeBB/ "NodeBB Facebook")
* [Get Plugins](http://community.nodebb.org/category/7/nodebb-plugins "NodeBB Plugins")
* [Get Themes](http://community.nodebb.org/category/10/nodebb-themes "NodeBB Themes")
* [Help translate NodeBB](https://www.transifex.com/projects/p/nodebb/)
## Screenshots ## Screenshots
[![](http://i.imgur.com/VCoOFyqb.png)](http://i.imgur.com/VCoOFyq.png) [<img src="http://i.imgur.com/FLOUuIqb.png" />](http://i.imgur.com/FLOUuIq.png)&nbsp;[<img src="http://i.imgur.com/Ud1LrfIb.png" />](http://i.imgur.com/Ud1LrfI.png)&nbsp;[<img src="http://i.imgur.com/ZC8W39ab.png" />](http://i.imgur.com/ZC8W39a.png)&nbsp;[<img src="http://i.imgur.com/o90kVPib.png" />](http://i.imgur.com/o90kVPi.png)&nbsp;[<img src="http://i.imgur.com/AaRRrU2b.png" />](http://i.imgur.com/AaRRrU2.png)&nbsp;[<img src="http://i.imgur.com/LmHtPhob.png" />](http://i.imgur.com/LmHtPho.png)&nbsp;[<img src="http://i.imgur.com/paiJPJkb.jpg" />](http://i.imgur.com/paiJPJk.jpg)&nbsp;[<img src="http://i.imgur.com/ZfavPHDb.png" />](http://i.imgur.com/ZfavPHD.png)&nbsp;[<img src="http://i.imgur.com/8OLssij.png" />](http://i.imgur.com/8OLssij.png)&nbsp;[<img src="http://i.imgur.com/JKOc0LZ.png"/>](http://i.imgur.com/JKOc0LZ.png)
[![](http://i.imgur.com/FLOUuIqb.png)](http://i.imgur.com/FLOUuIq.png)
[![](http://i.imgur.com/Ud1LrfIb.png)](http://i.imgur.com/Ud1LrfI.png)
[![](http://i.imgur.com/h6yZ66sb.png)](http://i.imgur.com/h6yZ66s.png)
[![](http://i.imgur.com/o90kVPib.png)](http://i.imgur.com/o90kVPi.png)
[![](http://i.imgur.com/AaRRrU2b.png)](http://i.imgur.com/AaRRrU2.png)
[![](http://i.imgur.com/LmHtPhob.png)](http://i.imgur.com/LmHtPho.png)
[![](http://i.imgur.com/paiJPJkb.jpg)](http://i.imgur.com/paiJPJk.jpg)
[![](http://i.imgur.com/8OLssij.png)](http://i.imgur.com/8OLssij.png)
[![](http://i.imgur.com/JKOc0LZ.png)](http://i.imgur.com/JKOc0LZ.png)
## How can I follow along/contribute? ## How can I follow along/contribute?
@@ -70,6 +62,4 @@ Detailed upgrade instructions are listed in [Upgrading NodeBB](https://docs.node
## License ## License
NodeBB is licensed under the **GNU General Public License v3 (GPL-3)** (http://www.gnu.org/copyleft/gpl.html). 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.

218
app.js
View File

@@ -23,13 +23,16 @@
var nconf = require('nconf'); var nconf = require('nconf');
nconf.argv().env('__'); nconf.argv().env('__');
var url = require('url'), var fs = require('fs'),
os = require('os'),
url = require('url'),
async = require('async'), async = require('async'),
semver = require('semver'),
winston = require('winston'), winston = require('winston'),
colors = require('colors'),
path = require('path'), path = require('path'),
pkg = require('./package.json'), pkg = require('./package.json'),
file = require('./src/file'); utils = require('./public/src/utils.js');
global.env = process.env.NODE_ENV || 'production'; global.env = process.env.NODE_ENV || 'production';
@@ -40,49 +43,39 @@ winston.add(winston.transports.Console, {
var date = new Date(); var date = new Date();
return date.getDate() + '/' + (date.getMonth() + 1) + ' ' + date.toTimeString().substr(0,5) + ' [' + global.process.pid + ']'; 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 // Alternate configuration file support
var configFile = path.join(__dirname, '/config.json'); var configFile = path.join(__dirname, '/config.json'),
configExists;
if (nconf.get('config')) { if (nconf.get('config')) {
configFile = path.resolve(__dirname, nconf.get('config')); configFile = path.resolve(__dirname, nconf.get('config'));
} }
configExists = fs.existsSync(configFile);
var configExists = file.existsSync(configFile) || (nconf.get('url') && nconf.get('secret') && nconf.get('database')); if (!nconf.get('setup') && !nconf.get('install') && !nconf.get('upgrade') && !nconf.get('reset') && configExists) {
start();
loadConfig(); } else if (nconf.get('setup') || nconf.get('install')) {
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')) {
setup(); setup();
} else if (!configExists) { } else if (!configExists) {
require('./install/web').install(nconf.get('port')); require('./install/web').install(nconf.get('port'));
} else if (nconf.get('upgrade')) { } else if (nconf.get('upgrade')) {
upgrade(); upgrade();
} else if (nconf.get('reset')) { } else if (nconf.get('reset')) {
require('./src/reset').reset(); reset();
} else if (nconf.get('activate')) {
activate();
} else if (nconf.get('plugins')) {
listPlugins();
} else {
start();
} }
function loadConfig() { function loadConfig() {
winston.verbose('* using configuration stored in: %s', configFile);
nconf.file({ nconf.file({
file: configFile file: configFile
}); });
@@ -102,11 +95,19 @@ function loadConfig() {
// Ensure themes_path is a full filepath // Ensure themes_path is a full filepath
nconf.set('themes_path', path.resolve(__dirname, nconf.get('themes_path'))); nconf.set('themes_path', path.resolve(__dirname, nconf.get('themes_path')));
nconf.set('core_templates_path', path.join(__dirname, 'src/views')); nconf.set('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() { function start() {
loadConfig();
var db = require('./src/database'); var db = require('./src/database');
// nconf defaults, if not set in config // nconf defaults, if not set in config
@@ -116,17 +117,15 @@ function start() {
// Parse out the relative_url and other goodies from the configured URL // Parse out the relative_url and other goodies from the configured URL
var urlObject = url.parse(nconf.get('url')); var urlObject = url.parse(nconf.get('url'));
var relativePath = urlObject.pathname !== '/' ? urlObject.pathname : ''; 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('use_port', !!urlObject.port);
nconf.set('relative_path', relativePath); nconf.set('relative_path', relativePath);
nconf.set('port', urlObject.port || nconf.get('port') || nconf.get('PORT') || 4567); nconf.set('port', urlObject.port || nconf.get('port') || nconf.get('PORT') || 4567);
nconf.set('upload_url', nconf.get('upload_path').replace(/^\/public/, '')); nconf.set('upload_url', '/uploads/');
if (nconf.get('isPrimary') === 'true') { if (nconf.get('isPrimary') === 'true') {
winston.info('Time: %s', (new Date()).toString()); winston.info('Time: %s', (new Date()).toString());
winston.info('Initializing NodeBB v%s', nconf.get('version')); 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'), var host = nconf.get(nconf.get('database') + ':host'),
storeLocation = host ? 'at ' + host + (host.indexOf('/') === -1 ? ':' + nconf.get(nconf.get('database') + ':port') : '') : ''; storeLocation = host ? 'at ' + host + (host.indexOf('/') === -1 ? ':' + nconf.get(nconf.get('database') + ':port') : '') : '';
@@ -149,13 +148,16 @@ function start() {
meta.reload(); meta.reload();
break; break;
case 'js-propagate': case 'js-propagate':
meta.js.target = message.data; meta.js.cache = message.cache;
meta.js.map = message.map;
meta.js.hash = message.hash;
emitter.emit('meta:js.compiled'); emitter.emit('meta:js.compiled');
winston.verbose('[cluster] Client-side javascript and mapping propagated to worker %s', process.pid); winston.verbose('[cluster] Client-side javascript and mapping propagated to worker %s', process.pid);
break; break;
case 'css-propagate': case 'css-propagate':
meta.css.cache = message.cache; meta.css.cache = message.cache;
meta.css.acpCache = message.acpCache; meta.css.acpCache = message.acpCache;
meta.css.hash = message.hash;
emitter.emit('meta:css.compiled'); emitter.emit('meta:css.compiled');
winston.verbose('[cluster] Stylesheets propagated to worker %s', process.pid); winston.verbose('[cluster] Stylesheets propagated to worker %s', process.pid);
break; break;
@@ -179,18 +181,16 @@ function start() {
function(next) { function(next) {
require('./src/meta').configs.init(next); require('./src/meta').configs.init(next);
}, },
function(next) {
if (nconf.get('dep-check') === undefined || nconf.get('dep-check') !== false) {
require('./src/meta').dependencies.check(next);
} else {
winston.warn('[init] Dependency checking skipped!');
setImmediate(next);
}
},
function(next) { function(next) {
require('./src/upgrade').check(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'); var webserver = require('./src/webserver');
require('./src/socket.io').init(webserver.server); require('./src/socket.io').init(webserver.server);
@@ -203,35 +203,20 @@ function start() {
} }
], function(err) { ], function(err) {
if (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;
case 'dependencies-missing':
winston.warn('One or more of NodeBB\'s dependent packages are missing. Please run the following command to update them:');
winston.warn(' ./nodebb upgrade');
break;
default:
if (err.stacktrace !== false) { if (err.stacktrace !== false) {
winston.error(err.stack); winston.error(err.stack);
} else { } else {
winston.error(err.message); winston.error(err.message);
} }
break;
}
// Either way, bad stuff happened. Abort start.
process.exit(); process.exit();
} }
}); });
} }
function setup() { function setup() {
loadConfig();
winston.info('NodeBB Setup Triggered via Command Line'); winston.info('NodeBB Setup Triggered via Command Line');
var install = require('./src/install'); var install = require('./src/install');
@@ -272,6 +257,8 @@ function setup() {
} }
function upgrade() { function upgrade() {
loadConfig();
require('./src/database').init(function(err) { require('./src/database').init(function(err) {
if (err) { if (err) {
winston.error(err.stack); winston.error(err.stack);
@@ -283,28 +270,107 @@ function upgrade() {
}); });
} }
function activate() { function reset() {
loadConfig();
require('./src/database').init(function(err) { require('./src/database').init(function(err) {
var plugin = nconf.get('_')[1] ? nconf.get('_')[1] : nconf.get('activate'), if (err) {
db = require('./src/database'); winston.error(err.message);
process.exit();
}
winston.info('Activating plugin %s', plugin); if (nconf.get('theme')) {
resetThemes();
db.sortedSetAdd('plugins:active', 0, plugin, start); } else if (nconf.get('plugin')) {
}); resetPlugin(nconf.get('plugin'));
} } else if (nconf.get('plugins')) {
resetPlugins();
function listPlugins() { } else if (nconf.get('widgets')) {
require('./src/database').init(function(err) { resetWidgets();
var db = require('./src/database'); } else if (nconf.get('settings')) {
resetSettings();
db.getSortedSetRange('plugins:active', 0, -1, function(err, plugins) { } else if (nconf.get('all')) {
winston.info('Active plugins: \n\t - ' + plugins.join('\n\t - ')); 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(); 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) { function shutdown(code) {
winston.info('[app] Shutdown (SIGTERM/SIGINT) Initialised.'); winston.info('[app] Shutdown (SIGTERM/SIGINT) Initialised.');

View File

@@ -2,7 +2,6 @@
{ {
"name": "Announcements", "name": "Announcements",
"description": "Announcements regarding our community", "description": "Announcements regarding our community",
"descriptionParsed": "<p>Announcements regarding our community</p>\n",
"bgColor": "#fda34b", "bgColor": "#fda34b",
"color": "#fff", "color": "#fff",
"icon" : "fa-bullhorn", "icon" : "fa-bullhorn",
@@ -11,7 +10,6 @@
{ {
"name": "General Discussion", "name": "General Discussion",
"description": "A place to talk about whatever you want", "description": "A place to talk about whatever you want",
"descriptionParsed": "<p>A place to talk about whatever you want</p>\n",
"bgColor": "#59b3d0", "bgColor": "#59b3d0",
"color": "#fff", "color": "#fff",
"icon" : "fa-comments-o", "icon" : "fa-comments-o",
@@ -20,7 +18,6 @@
{ {
"name": "Blogs", "name": "Blogs",
"description": "Blog posts from individual members", "description": "Blog posts from individual members",
"descriptionParsed": "<p>Blog posts from individual members</p>\n",
"bgColor": "#86ba4b", "bgColor": "#86ba4b",
"color": "#fff", "color": "#fff",
"icon" : "fa-newspaper-o", "icon" : "fa-newspaper-o",
@@ -29,7 +26,6 @@
{ {
"name": "Comments & Feedback", "name": "Comments & Feedback",
"description": "Got a question? Ask away!", "description": "Got a question? Ask away!",
"descriptionParsed": "<p>Got a question? Ask away!</p>\n",
"bgColor": "#e95c5a", "bgColor": "#e95c5a",
"color": "#fff", "color": "#fff",
"icon" : "fa-question", "icon" : "fa-question",

View File

@@ -1,39 +1,106 @@
{ [
"title": "NodeBB", {
"showSiteTitle": 1, "field": "title",
"postDelay": 10, "value": "NodeBB"
"initialPostDelay": 10, },
"newbiePostDelay": 120, {
"newbiePostDelayThreshold": 3, "field": "showSiteTitle",
"minimumPostLength": 8, "value": "1"
"maximumPostLength": 32767, },
"minimumTagsPerTopic": 0, {
"maximumTagsPerTopic": 5, "field": "postDelay",
"minimumTagLength": 3, "value": 10
"maximumTagLength": 15, },
"allowGuestSearching": 0, {
"allowTopicsThumbnail": 0, "field": "initialPostDelay",
"registrationType": "normal", "value": 10
"allowLocalLogin": 1, },
"allowAccountDelete": 1, {
"allowFileUploads": 0, "field": "newbiePostDelay",
"allowUserHomePage": 1, "value": 120
"maximumFileSize": 2048, },
"minimumTitleLength": 3, {
"maximumTitleLength": 255, "field": "newbiePostDelayThreshold",
"minimumUsernameLength": 2, "value": 3
"maximumUsernameLength": 16, },
"minimumPasswordLength": 6, {
"maximumSignatureLength": 255, "field": "minimumPostLength",
"maximumAboutMeLength": 1000, "value": 8
"maximumProfileImageSize": 256, },
"maximumCoverImageSize": 2048, {
"profileImageDimension": 128, "field": "maximumPostLength",
"requireEmailConfirmation": 0, "value": 32767
"allowProfileImageUploads": 1, },
"teaserPost": "last-reply", {
"allowPrivateGroups": 1, "field": "allowGuestSearching",
"unreadCutoff": 2, "value": 0
"bookmarkThreshold": 5, },
"topicsPerList": 20 {
} "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
}
]

View File

@@ -2,7 +2,7 @@
{ {
"widget": "html", "widget": "html",
"data" : { "data" : {
"html": "<footer id=\"footer\" class=\"container footer\">\r\n\t<div class=\"copyright\">\r\n\t\tCopyright © 2016 <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":"", "title":"",
"container":"" "container":""
} }

View File

@@ -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", "id": "unread-count",
"route": "/unread", "route": "/unread",
@@ -67,7 +59,7 @@
"textClass": "visible-xs-inline", "textClass": "visible-xs-inline",
"text": "\\[\\[global:header.admin\\]\\]", "text": "\\[\\[global:header.admin\\]\\]",
"properties": { "properties": {
"targetBlank": false, "target": "_top",
"adminOnly": true "adminOnly": true
} }
}, },
@@ -79,7 +71,9 @@
"textClass": "visible-xs-inline", "textClass": "visible-xs-inline",
"text": "\\[\\[global:header.search\\]\\]", "text": "\\[\\[global:header.search\\]\\]",
"properties": { "properties": {
"searchInstalled": true "installed": {
"search": true
}
} }
} }
] ]

View File

@@ -1,6 +1,6 @@
# Welcome to your brand new NodeBB forum! # 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. 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 ## Additional Resources

View File

@@ -1,56 +1,26 @@
"use strict"; "use strict";
var async = require('async'); var async = require('async'),
var prompt = require('prompt'); prompt = require('prompt'),
var winston = require('winston'); nconf = require('nconf'),
winston = require('winston'),
var questions = { questions = {};
redis: require('../src/database/redis').questions,
mongo: require('../src/database/mongo').questions
};
module.exports = function(config, callback) { function success(err, 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) {
if (!config) { if (!config) {
return callback(new Error('aborted')); return callback(new Error('aborted'));
} }
if (config.database === 'redis') { var database = (config.redis || config.mongo) ? config.secondary_database : config.database;
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));
}
}
function saveDatabaseConfig(config, databaseConfig, callback) { function dbQuestionsSuccess(err, databaseConfig) {
if (!databaseConfig) { if (!databaseConfig) {
return callback(new Error('aborted')); return callback(new Error('aborted'));
} }
// Translate redis properties into redis object // Translate redis properties into redis object
if (config.database === 'redis') { if(database === 'redis') {
config.redis = { config.redis = {
host: databaseConfig['redis:host'], host: databaseConfig['redis:host'],
port: databaseConfig['redis:port'], port: databaseConfig['redis:port'],
@@ -61,7 +31,7 @@ function saveDatabaseConfig(config, databaseConfig, callback) {
if (config.redis.host.slice(0, 1) === '/') { if (config.redis.host.slice(0, 1) === '/') {
delete config.redis.port; delete config.redis.port;
} }
} else if (config.database === 'mongo') { } else if (database === 'mongo') {
config.mongo = { config.mongo = {
host: databaseConfig['mongo:host'], host: databaseConfig['mongo:host'],
port: databaseConfig['mongo:port'], port: databaseConfig['mongo:port'],
@@ -70,13 +40,65 @@ function saveDatabaseConfig(config, databaseConfig, callback) {
database: databaseConfig['mongo:database'] database: databaseConfig['mongo:database']
}; };
} else { } else {
return callback(new Error('unknown database : ' + config.database)); return callback(new Error('unknown database : ' + database));
} }
var allQuestions = questions.redis.concat(questions.mongo); var allQuestions = questions.redis.concat(questions.mongo);
for (var x=0; x<allQuestions.length; x++) { for(var x=0;x<allQuestions.length;x++) {
delete config[allQuestions[x].name]; 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);
};

View File

@@ -12,16 +12,6 @@ var winston = require('winston'),
app = express(), app = express(),
server; 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 = {}, var web = {},
scripts = [ scripts = [
'public/vendor/xregexp/xregexp.js', 'public/vendor/xregexp/xregexp.js',
@@ -51,7 +41,8 @@ web.install = function(port) {
function launchExpress(port) { function launchExpress(port) {
server = app.listen(port, function() { 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'] 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(); child.unref();
process.exit(0); process.exit(0);

View File

@@ -8,7 +8,7 @@ var nconf = require('nconf'),
async = require('async'), async = require('async'),
logrotate = require('logrotate-stream'), logrotate = require('logrotate-stream'),
file = require('./src/file'),
pkg = require('./package.json'); pkg = require('./package.json');
nconf.argv().env().file({ nconf.argv().env().file({
@@ -24,20 +24,19 @@ var pidFilePath = __dirname + '/pidfile',
Loader = { Loader = {
timesStarted: 0, timesStarted: 0,
js: { js: {
target: {} cache: undefined,
map: undefined
}, },
css: { css: {
cache: undefined, cache: undefined,
acpCache: undefined acpCache: undefined
}, }
templatesCompiled: false
}; };
Loader.init = function(callback) { Loader.init = function(callback) {
if (silent) { if (silent) {
console.log = function() { console.log = function(value) {
var args = Array.prototype.slice.call(arguments); output.write(value + '\n');
output.write(args.join(' ') + '\n');
}; };
} }
@@ -87,10 +86,12 @@ Loader.addWorkerEvents = function(worker) {
if (message && typeof message === 'object' && message.action) { if (message && typeof message === 'object' && message.action) {
switch (message.action) { switch (message.action) {
case 'ready': case 'ready':
if (Loader.js.target['nodebb.min.js'] && Loader.js.target['acp.min.js'] && !worker.isPrimary) { if (Loader.js.cache && !worker.isPrimary) {
worker.send({ worker.send({
action: 'js-propagate', action: 'js-propagate',
data: Loader.js.target cache: Loader.js.cache,
map: Loader.js.map,
hash: Loader.js.hash
}); });
} }
@@ -98,13 +99,8 @@ Loader.addWorkerEvents = function(worker) {
worker.send({ worker.send({
action: 'css-propagate', action: 'css-propagate',
cache: Loader.css.cache, cache: Loader.css.cache,
acpCache: Loader.css.acpCache acpCache: Loader.css.acpCache,
}); hash: Loader.css.hash
}
if (Loader.templatesCompiled && !worker.isPrimary) {
worker.send({
action: 'templates:compiled'
}); });
} }
@@ -119,26 +115,30 @@ Loader.addWorkerEvents = function(worker) {
Loader.reload(); Loader.reload();
break; break;
case 'js-propagate': case 'js-propagate':
Loader.js.target = message.data; Loader.js.cache = message.cache;
Loader.js.map = message.map;
Loader.js.hash = message.hash;
Loader.notifyWorkers({ Loader.notifyWorkers({
action: 'js-propagate', action: 'js-propagate',
data: message.data cache: message.cache,
map: message.map,
hash: message.hash
}, worker.pid); }, worker.pid);
break; break;
case 'css-propagate': case 'css-propagate':
Loader.css.cache = message.cache; Loader.css.cache = message.cache;
Loader.css.acpCache = message.acpCache; Loader.css.acpCache = message.acpCache;
Loader.css.hash = message.hash;
Loader.notifyWorkers({ Loader.notifyWorkers({
action: 'css-propagate', action: 'css-propagate',
cache: message.cache, cache: message.cache,
acpCache: message.acpCache acpCache: message.acpCache,
hash: message.hash
}, worker.pid); }, worker.pid);
break; break;
case 'templates:compiled': case 'templates:compiled':
Loader.templatesCompiled = true;
Loader.notifyWorkers({ Loader.notifyWorkers({
action: 'templates:compiled', action: 'templates:compiled',
}, worker.pid); }, worker.pid);
@@ -169,7 +169,7 @@ function forkWorker(index, isPrimary) {
} }
process.env.isPrimary = isPrimary; process.env.isPrimary = isPrimary;
process.env.isCluster = ports.length > 1 ? true : false; process.env.isCluster = true;
process.env.port = ports[index]; process.env.port = ports[index];
var worker = fork('app.js', [], { var worker = fork('app.js', [], {
@@ -249,7 +249,7 @@ Loader.notifyWorkers = function(msg, worker_pid) {
fs.open(path.join(__dirname, 'config.json'), 'r', function(err) { fs.open(path.join(__dirname, 'config.json'), 'r', function(err) {
if (!err) { if (!err) {
if (nconf.get('daemon') !== 'false' && nconf.get('daemon') !== false) { if (nconf.get('daemon') !== 'false' && nconf.get('daemon') !== false) {
if (file.existsSync(pidFilePath)) { if (fs.existsSync(pidFilePath)) {
try { try {
var pid = fs.readFileSync(pidFilePath, { encoding: 'utf-8' }); var pid = fs.readFileSync(pidFilePath, { encoding: 'utf-8' });
process.kill(pid, 0); process.kill(pid, 0);

View File

@@ -1,44 +1,38 @@
"use strict"; "use strict";
var uglifyjs = require('uglify-js'); var uglifyjs = require('uglify-js'),
var async = require('async'); less = require('less'),
var fs = require('fs'); async = require('async'),
var file = require('./src/file'); fs = require('fs'),
path = require('path'),
crypto = require('crypto'),
utils = require('./public/src/utils'),
var Minifier = { Minifier = {
js: {} js: {}
}; };
/* Javascript */ /* Javascript */
Minifier.js.minify = function (scripts, minify, callback) { Minifier.js.minify = function (scripts, minify, callback) {
scripts = scripts.filter(function(file) { 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) { if (minify) {
minifyScripts(scripts, callback); minifyScripts(scripts, function() {
callback.apply(this, arguments);
});
} else { } else {
concatenateScripts(scripts, callback); concatenateScripts(scripts, callback);
} }
});
}; };
process.on('message', function(payload) { process.on('message', function(payload) {
switch(payload.action) { switch(payload.action) {
case 'js': case 'js':
Minifier.js.minify(payload.scripts, payload.minify, function(minified/*, sourceMap*/) { Minifier.js.minify(payload.scripts, payload.minify, function(minified) {
process.send({ process.send({
type: 'end', type: 'end',
// sourceMap: sourceMap,
minified: minified minified: minified
}); });
}); });
@@ -47,19 +41,26 @@ process.on('message', function(payload) {
}); });
function minifyScripts(scripts, callback) { 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 { try {
var minified = uglifyjs.minify(scripts, { var minified = uglifyjs.minify(scripts, {
// outSourceMap: "nodebb.min.js.map",
compress: false 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) { } catch(err) {
process.send({ process.send({
type: 'error', type: 'error',
message: err.message payload: err.message
}); });
} }
} }
@@ -69,9 +70,8 @@ function concatenateScripts(scripts, callback) {
if (err) { if (err) {
process.send({ process.send({
type: 'error', type: 'error',
message: err.message payload: err
}); });
return;
} }
scripts = scripts.join(require('os').EOL + ';'); scripts = scripts.join(require('os').EOL + ';');

492
nodebb
View File

@@ -1,387 +1,137 @@
#!/usr/bin/env node #!/bin/bash
try { # $0 script path
var colors = require('colors'), # $1 action
cproc = require('child_process'), # $2 subaction
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');
} catch (e) {
if (e.code === 'MODULE_NOT_FOUND') {
process.stdout.write('NodeBB could not be started because it\'s dependencies have not been installed.\n');
process.stdout.write('Please ensure that you have executed "npm install --production" prior to running NodeBB.\n\n');
process.stdout.write('For more information, please see: https://docs.nodebb.org/en/latest/installing/os.html\n\n');
process.stdout.write('Could not start: ' + e.code + '\n');
process.exit(1); 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
} }
var getRunningPid = function(callback) { case "$1" in
fs.readFile(__dirname + '/pidfile', { start)
encoding: 'utf-8' echo "Starting NodeBB";
}, function(err, pid) { echo " \"./nodebb stop\" to stop the NodeBB server";
if (err) { echo " \"./nodebb log\" to view server output";
return callback(err);
}
try { # Start the loader daemon
process.kill(parseInt(pid, 10), 0); "$node" loader "$@"
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;
payload.files = payload.files.filter(function(file) { stop)
return isNbbModule.test(file); pidExists;
}); if [ 0 -eq $? ];
then
echo "NodeBB is already stopped.";
else
echo "Stopping NodeBB. Goodbye!";
kill $(cat pidfile);
fi
;;
try { restart)
payload.deps = JSON.parse(payload.deps).dependencies; pidExists;
payload.bundled = []; if [ 0 -eq $? ];
payload.installed = []; then
} catch (err) { echo "NodeBB could not be restarted, as a running instance could not be found.";
return callback(err); else
} echo "Restarting NodeBB.";
kill -1 $(cat pidfile);
fi
;;
for (moduleName in payload.deps) { reload)
if (isNbbModule.test(moduleName)) { pidExists;
payload.bundled.push(moduleName); 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
;;
// Whittle down deps to send back only extraneously installed plugins/themes/etc status)
payload.files.forEach(function(moduleName) { pidExists;
try { if [ 0 -eq $? ];
fs.accessSync(path.join(__dirname, 'node_modules/' + moduleName, '.git')); then
isGitRepo = true; echo "NodeBB is not running";
} catch(e) { echo " \"./nodebb start\" to launch the NodeBB server";
isGitRepo = false; 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
;;
if ( log)
payload.files.indexOf(moduleName) !== -1 // found in `node_modules/` clear;
&& payload.bundled.indexOf(moduleName) === -1 // not found in `package.json` tail -F ./logs/output.log;
&& !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);
}
});
getModuleVersions(payload.installed, callback); upgrade)
}); npm install
}, # ls -d node_modules/nodebb* | xargs -n1 basename | xargs npm install
getModuleVersions = function(modules, callback) { # ls -d node_modules/nodebb* | xargs -n1 basename | xargs npm update
var versionHash = {}; npm i nodebb-theme-vanilla nodebb-theme-lavender nodebb-widget-essentials
"$node" app --upgrade
touch package.json
;;
async.eachLimit(modules, 50, function(module, next) { setup)
fs.readFile(path.join(__dirname, 'node_modules/' + module + '/package.json'), { encoding: 'utf-8' }, function(err, pkg) { "$node" app --setup "$@"
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... ');
}
async.waterfall([ reset)
async.apply(async.parallel, { "$node" app --reset --$2
plugins: async.apply(getInstalledPlugins), ;;
version: async.apply(getCurrentVersion)
}),
function(payload, next) {
var toCheck = Object.keys(payload.plugins);
if (!toCheck.length) { dev)
process.stdout.write('OK'.green + '\n'.reset); echo "Launching NodeBB in \"development\" mode."
return next(null, []); // no extraneous plugins installed 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 "$@"
;;
request({ watch)
method: 'GET', echo "***************************************************************************"
url: 'https://packages.nodebb.org/api/v1/suggest?version=' + payload.version + '&package[]=' + toCheck.join('&package[]='), echo "WARNING: ./nodebb watch will be deprecated soon. Please use grunt: "
json: true echo "https://docs.nodebb.org/en/latest/running/index.html#grunt-development"
}, function(err, res, body) { echo "***************************************************************************"
if (err) { NODE_ENV=development supervisor -q --ignore public/templates,public/nodebb.min.js,public/nodebb.min.js.map --extensions 'node|js|tpl|less' -- app "$@"
process.stdout.write('error'.red + '\n'.reset); ;;
return next(err);
}
process.stdout.write('OK'.green + '\n'.reset);
if (!Array.isArray(body) && toCheck.length === 1) { *)
body = [body]; echo "Welcome to NodeBB"
} echo $"Usage: $0 {start|stop|reload|restart|log|setup|reset|upgrade|dev|watch}"
echo ''
var current, suggested, column -s ' ' -t <<< '
upgradable = body.map(function(suggestObj) { start Start the NodeBB server
current = payload.plugins[suggestObj.package]; stop Stops the NodeBB server
suggested = suggestObj.version; reload Restarts NodeBB
restart Restarts NodeBB
if (suggestObj.code === 'match-found' && semver.gt(suggested, current)) { log Opens the logging interface (useful for debugging)
return { setup Runs the NodeBB setup script
name: suggestObj.package, reset Disables all plugins, restores the default theme.
current: current, upgrade Run NodeBB upgrade scripts, ensure packages are up-to-date
suggested: suggested dev Start NodeBB in interactive development mode
} watch Start NodeBB in development mode and watch for changes
} else { '
return null; exit 1
} esac
}).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 (['y', 'Y', 'yes', 'YES'].indexOf(result.upgrade) !== -1) {
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;
}

3269
npm-shrinkwrap.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,8 +1,8 @@
{ {
"name": "nodebb", "name": "nodebb",
"license": "GPL-3.0", "license": "GPLv3 or later",
"description": "NodeBB Forum", "description": "NodeBB Forum",
"version": "1.1.2", "version": "0.7.0",
"homepage": "http://www.nodebb.org", "homepage": "http://www.nodebb.org",
"repository": { "repository": {
"type": "git", "type": "git",
@@ -11,88 +11,70 @@
"main": "app.js", "main": "app.js",
"scripts": { "scripts": {
"start": "node loader.js", "start": "node loader.js",
"test": "./node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha -- ./tests -t 10000" "test": "mocha ./tests -t 10000"
}, },
"dependencies": { "dependencies": {
"async": "~1.5.0", "async": "~0.9.0",
"autoprefixer": "^6.2.3", "bcryptjs": "~2.1.0",
"bcryptjs": "~2.3.0",
"body-parser": "^1.9.0", "body-parser": "^1.9.0",
"chart.js": "^2.1.0",
"colors": "^1.1.0",
"compression": "^1.1.0", "compression": "^1.1.0",
"connect-ensure-login": "^0.1.1", "connect-ensure-login": "^0.1.1",
"connect-flash": "^0.1.1", "connect-flash": "^0.1.1",
"connect-mongo": "~1.1.0", "connect-multiparty": "^1.2.4",
"connect-multiparty": "^2.0.0",
"connect-redis": "~3.0.2",
"cookie-parser": "^1.3.3", "cookie-parser": "^1.3.3",
"cron": "^1.0.5", "cron": "^1.0.5",
"csurf": "^1.6.1", "csurf": "^1.6.1",
"daemon": "~1.1.0", "daemon": "~1.1.0",
"express": "^4.9.5", "express": "^4.9.5",
"express-session": "^1.8.2", "express-session": "^1.8.2",
"express-useragent": "0.2.4", "gm": "1.17.0",
"html-to-text": "2.0.0", "gravatar": "^1.1.0",
"ip": "1.1.2", "heapdump": "^0.3.0",
"jimp": "0.2.21",
"json-2-csv": "^2.0.22",
"less": "^2.0.0", "less": "^2.0.0",
"logrotate-stream": "^0.2.3", "logrotate-stream": "^0.2.3",
"lru-cache": "4.0.0", "lru-cache": "^2.6.1",
"mime": "^1.3.4", "mime": "^1.3.4",
"minimist": "^1.1.1",
"mkdirp": "~0.5.0", "mkdirp": "~0.5.0",
"mongodb": "~2.1.3", "mmmagic": "^0.3.13",
"morgan": "^1.3.2", "morgan": "^1.3.2",
"mousetrap": "^1.5.3", "nconf": "~0.7.1",
"nconf": "~0.8.2", "nodebb-plugin-dbsearch": "^0.2.12",
"nodebb-plugin-composer-default": "4.1.7", "nodebb-plugin-emoji-extended": "^0.4.8",
"nodebb-plugin-dbsearch": "1.0.2", "nodebb-plugin-markdown": "^2.1.7",
"nodebb-plugin-emoji-extended": "1.1.1", "nodebb-plugin-mentions": "^0.11.4",
"nodebb-plugin-emoji-one": "1.1.5", "nodebb-plugin-soundpack-default": "^0.1.1",
"nodebb-plugin-markdown": "6.0.2", "nodebb-plugin-spam-be-gone": "^0.4.0",
"nodebb-plugin-mentions": "1.1.3", "nodebb-theme-lavender": "^1.0.42",
"nodebb-plugin-soundpack-default": "0.1.6", "nodebb-theme-vanilla": "^1.0.130",
"nodebb-plugin-spam-be-gone": "0.4.9", "nodebb-theme-persona": "^0.1.55",
"nodebb-rewards-essentials": "0.0.9", "nodebb-widget-essentials": "^1.0.2",
"nodebb-theme-lavender": "3.0.13", "nodebb-rewards-essentials": "^0.0.1",
"nodebb-theme-persona": "4.1.19", "npm": "^2.1.4",
"nodebb-theme-vanilla": "5.1.9", "passport": "^0.2.1",
"nodebb-widget-essentials": "2.0.10",
"nodemailer": "2.0.0",
"nodemailer-sendmail-transport": "1.0.0",
"nodemailer-smtp-transport": "^2.4.1",
"passport": "^0.3.0",
"passport-local": "1.0.0", "passport-local": "1.0.0",
"postcss": "^5.0.13", "prompt": "^0.2.14",
"prompt": "^1.0.0",
"redis": "~2.4.2",
"request": "^2.44.0", "request": "^2.44.0",
"rimraf": "~2.5.0", "rimraf": "~2.3.2",
"rss": "^1.0.0", "rss": "^1.0.0",
"semver": "^5.1.0", "semver": "^4.3.3",
"serve-favicon": "^2.1.5", "serve-favicon": "^2.1.5",
"sitemap": "^1.4.0", "sitemap": "^0.8.1",
"socket.io": "^1.4.0", "socket.io": "^1.2.1",
"socket.io-client": "^1.4.0", "socket.io-client": "^1.2.1",
"socket.io-redis": "^1.0.0", "socket.io-redis": "^0.1.3",
"socketio-wildcard": "~0.3.0", "socketio-wildcard": "~0.1.1",
"string": "^3.0.0", "string": "^3.0.0",
"templates.js": "0.3.4", "templates.js": "^0.2.3",
"toobusy-js": "^0.4.2", "uglify-js": "git+https://github.com/julianlam/UglifyJS2.git",
"uglify-js": "^2.6.0", "underscore": "~1.8.3",
"underscore": "^1.8.3", "validator": "^3.30.0",
"underscore.deep": "^0.5.1", "winston": "^0.9.0",
"validator": "^5.0.0", "xregexp": "~2.0.0"
"winston": "^2.1.0",
"xregexp": "~3.1.0"
}, },
"devDependencies": { "devDependencies": {
"mocha": "~1.13.0",
"grunt": "~0.4.5", "grunt": "~0.4.5",
"grunt-contrib-watch": "^1.0.0", "grunt-contrib-watch": "^0.6.1"
"istanbul": "^0.4.2",
"mocha": "~1.13.0"
}, },
"bugs": { "bugs": {
"url": "https://github.com/NodeBB/NodeBB/issues" "url": "https://github.com/NodeBB/NodeBB/issues"
@@ -103,17 +85,17 @@
"maintainers": [ "maintainers": [
{ {
"name": "Andrew Rodrigues", "name": "Andrew Rodrigues",
"email": "andrew@nodebb.org", "email": "andrew@designcreateplay.com",
"url": "https://github.com/psychobunny" "url": "https://github.com/psychobunny"
}, },
{ {
"name": "Julian Lam", "name": "Julian Lam",
"email": "julian@nodebb.org", "email": "julian@designcreateplay.com",
"url": "https://github.com/julianlam" "url": "https://github.com/julianlam"
}, },
{ {
"name": "Barış Soner Uşaklı", "name": "Barış Soner Uşaklı",
"email": "baris@nodebb.org", "email": "baris@designcreateplay.com",
"url": "https://github.com/barisusakli" "url": "https://github.com/barisusakli"
} }
] ]

View File

@@ -1,177 +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'>
<meta name="viewport" content="width=device-width, initial-scale=1">
<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;
}
@media (max-width: 640px) {
h1 {
font-size: 125px;
}
p {
font-size: 16px;
}
p strong {
font-size: 20px;
}
}
.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>
</p>
<p>
We shouldn't be down for long. Please check back shortly. Sorry for the inconvenience!
</p>
<p>
&nbsp;<small id="hide" class="hide">Alright. You can stop clicking... it's not going to make the site come back sooner!</small>
</p>
</div>
</div>
</body>
</html>

View File

@@ -1,7 +0,0 @@
/*
The following stylesheet is only included on pages that can execute javascript
*/
[component="post/content"] img:not(.not-responsive):not([data-state]) {
display: none !important;
}

View File

@@ -1,20 +1,12 @@
{ {
"category": "فئة",
"subcategories": "فئة فرعية",
"new_topic_button": "موضوع جديد", "new_topic_button": "موضوع جديد",
"guest-login-post": "سجل بالدخول للرد", "guest-login-post": "المرجو تسجيل الدخول أوَّلا",
"no_topics": "<strong>لا توجد مواضيع في هذه الفئة</strong>لم لا تحاول إنشاء موضوع؟<br />", "no_topics": "<strong>لا توجد مواضيع في هذه الفئة</strong>لم لا تحاول إنشاء موضوع؟<br />",
"browsing": "تصفح", "browsing": "تصفح",
"no_replies": "لم يرد أحد", "no_replies": "لم يرد أحد",
"no_new_posts": "لا يوجد مشاركات جديدة.",
"share_this_category": "انشر هذه الفئة", "share_this_category": "انشر هذه الفئة",
"watch": "تابع", "watch": "Watch",
"ignore": "تجاهل", "ignore": "تجاهل",
"watching": "متابع", "watch.message": "You are now watching updates from this category",
"ignoring": "متجاهل", "ignore.message": "You are now ignoring updates from this category"
"watching.description": "أظهر المواضيع في غير مقروء",
"ignoring.description": "لا تظهر المواضيع في غير مقروء",
"watch.message": "أنت اﻷن تتابع تحديثات هذه الفئة",
"ignore.message": "أنت اﻷن تتجاهل تحديثات هذه الفئة",
"watched-categories": "الفئات المتابعة"
} }

View File

@@ -1,17 +1,13 @@
{ {
"password-reset-requested": "تم طلب إعادة تعيين كلمة المرور - %1!", "password-reset-requested": "تم طلب إعادة تعيين كلمة السر - %1!",
"welcome-to": "مرحبًا بك في %1", "welcome-to": "مرحبًا بك في %1",
"invite": "دعوة من %1",
"greeting_no_name": "مرحبًا", "greeting_no_name": "مرحبًا",
"greeting_with_name": "مرحبًا بك يا %1", "greeting_with_name": "مرحبًا بك يا %1",
"welcome.text1": "شكرًا على تسجيلك في %1!", "welcome.text1": "شكرًا على تسجيلك في %1!",
"welcome.text2": "لتفعيل حسابك، نحتاج إلى التأكد من صحة عنوان البريد الإلكتروني الذي سجلت به.", "welcome.text2": "لتفعيل حسابك، نحتاج إلى التأكد من صحة عنوان البريد الإلكتروني الذي تسجلت به.",
"welcome.text3": "تم قبول نتسجيلك ، يمكنك الدخول باتسخدام اسم المستخدم و كلمة المرور.",
"welcome.cta": "انقر هنا لتفعيل عنوان بريدك الإلكتروني", "welcome.cta": "انقر هنا لتفعيل عنوان بريدك الإلكتروني",
"invitation.text1": "%1 قام بدعوتك للانضمام لـ %2", "reset.text1": "لقد توصلنا بطلب إعادة تعيين كلمة السرالخاصة بك، ربما لكونك قد نسيتها, إن لم يكن الأمر كذلك، المرجو تجاهل هذه الرسالة.",
"invitation.ctr": "إضغط هنا لإنشاء حسابك", "reset.text2": "لمواصلة طلب إعاة تعيين كلمة السر، المرجو تتبع هذا الرابط.",
"reset.text1": "لقد توصلنا بطلب إعادة تعيين كلمة المرور الخاصة بك، ربما لكونك قد نسيتها, إن لم يكن الأمر كذلك، المرجو تجاهل هذه الرسالة.",
"reset.text2": "لمواصلة طلب إعاة تعيين كلمة المرور، الرجاء تتبع هذا الرابط.",
"reset.cta": "انقر هنا لإعادة تعيين كلمة السر الخاصة بك.", "reset.cta": "انقر هنا لإعادة تعيين كلمة السر الخاصة بك.",
"reset.notify.subject": "تم تغيير كلمة المرور بنجاح", "reset.notify.subject": "تم تغيير كلمة المرور بنجاح",
"reset.notify.text1": "نحيطك علما أن كلمة مرورك قد تم تغييرها في %1", "reset.notify.text1": "نحيطك علما أن كلمة مرورك قد تم تغييرها في %1",
@@ -21,10 +17,6 @@
"digest.cta": "انقر هنا لمشاهدة %1", "digest.cta": "انقر هنا لمشاهدة %1",
"digest.unsub.info": "تم إرسال هذا الإشعار بآخر المستجدات وفقا لخيارات تسجيلكم.", "digest.unsub.info": "تم إرسال هذا الإشعار بآخر المستجدات وفقا لخيارات تسجيلكم.",
"digest.no_topics": "ليس هناك مواضيع نشيطة في %1 الماضي", "digest.no_topics": "ليس هناك مواضيع نشيطة في %1 الماضي",
"digest.day": "يوم",
"digest.week": "أسبوع",
"digest.month": "شهر",
"digest.subject": "إستهلاك ل",
"notif.chat.subject": "هناك محادثة جديدة من %1", "notif.chat.subject": "هناك محادثة جديدة من %1",
"notif.chat.cta": "انقر هنا لمتابعة المحادثة", "notif.chat.cta": "انقر هنا لمتابعة المحادثة",
"notif.chat.unsub.info": "تم إرسال هذا الإشعار بوجودة محادثة جديدة وفقا لخيارات تسجيلك.", "notif.chat.unsub.info": "تم إرسال هذا الإشعار بوجودة محادثة جديدة وفقا لخيارات تسجيلك.",

View File

@@ -1,8 +1,8 @@
{ {
"invalid-data": "بيانات غير صحيحة", "invalid-data": "بيانات غير صالحة",
"not-logged-in": "لم تقم بتسجيل الدخول", "not-logged-in": "لم تقم بتسجيل الدخول",
"account-locked": "تم حظر حسابك مؤقتًا.", "account-locked": "تم إقفال حسابكم مؤقتًا.",
"search-requires-login": "البحث في المنتدى يتطلب حساب - الرجاء تسجيل الدخول أو التسجيل", "search-requires-login": "Searching requires an account - please login or register.",
"invalid-cid": "قائمة غير موجودة", "invalid-cid": "قائمة غير موجودة",
"invalid-tid": "موضوع غير متواجد", "invalid-tid": "موضوع غير متواجد",
"invalid-pid": "رد غير موجود", "invalid-pid": "رد غير موجود",
@@ -14,23 +14,18 @@
"invalid-password": "كلمة السر غير مقبولة", "invalid-password": "كلمة السر غير مقبولة",
"invalid-username-or-password": "المرجود تحديد اسم مستخدم و كلمة مرور", "invalid-username-or-password": "المرجود تحديد اسم مستخدم و كلمة مرور",
"invalid-search-term": "كلمة البحث غير صحيحة", "invalid-search-term": "كلمة البحث غير صحيحة",
"csrf-invalid": "We were unable to log you in, likely due to an expired session. Please try again", "invalid-pagination-value": "رقم الصفحة غير موجود",
"invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2",
"username-taken": "اسم المستخدم مأخوذ", "username-taken": "اسم المستخدم مأخوذ",
"email-taken": "البريد الالكتروني مأخوذ", "email-taken": "البريد الالكتروني مأخوذ",
"email-not-confirmed": "عنوان بريدك الإلكتروني غير مفعل بعد. انقر هنا لتفعيله من فضلك.", "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": "هذا المنتدى يستلزم تفعيل بريدك الإلكتروني، انقر هنا من فضلك لإدخاله.", "no-email-to-confirm": "هذا المنتدى يستلزم تفعيل بريدك الإلكتروني، انقر هنا من فضلك لإدخاله.",
"email-confirm-failed": "لم نستطع تفعيل بريدك الإلكتروني، المرجو المحاولة لاحقًا.", "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.",
"sendmail-not-found": "The sendmail executable could not be found, please ensure it is installed and executable by the user running NodeBB.",
"username-too-short": "اسم المستخدم قصير.", "username-too-short": "اسم المستخدم قصير.",
"username-too-long": "اسم المستخدم طويل", "username-too-long": "اسم المستخدم طويل",
"password-too-long": "Password too long",
"user-banned": "المستخدم محظور", "user-banned": "المستخدم محظور",
"user-too-new": "عذرا, يجب أن تنتظر 1% ثواني قبل قيامك بأول مشاركة", "user-too-new": "عذرا, يجب أن تنتظر 1% ثواني قبل قيامك بأول مشاركة",
"blacklisted-ip": "Sorry, your IP address has been banned from this community. If you feel this is in error, please contact an administrator.",
"ban-expiry-missing": "Please provide an end date for this ban",
"no-category": "قائمة غير موجودة", "no-category": "قائمة غير موجودة",
"no-topic": "موضوع غير موجود", "no-topic": "موضوع غير موجود",
"no-post": "رد غير موجود", "no-post": "رد غير موجود",
@@ -38,22 +33,11 @@
"no-user": "اسم مستخدم غير موجود", "no-user": "اسم مستخدم غير موجود",
"no-teaser": "مقتطف غير موجود", "no-teaser": "مقتطف غير موجود",
"no-privileges": "لاتملك الصلاحيات اللازمة للقيام بهذه العملية", "no-privileges": "لاتملك الصلاحيات اللازمة للقيام بهذه العملية",
"no-emailers-configured": "لا يمكن إرسال رسالة إلكترونية تجريبية لعدم وجود قوالب خاصة بالرسائل الإلكترونية،",
"category-disabled": "قائمة معطلة", "category-disabled": "قائمة معطلة",
"topic-locked": "الموضوع مقفول", "topic-locked": "الموضوع مقفول",
"post-edit-duration-expired": "You are only allowed to edit posts for %1 second(s) after posting", "post-edit-duration-expired": "You are only allowed to edit posts for %1 second(s) after posting",
"post-edit-duration-expired-minutes": "You are only allowed to edit posts for %1 minute(s) after posting", "still-uploading": "الرجاء انتظار الرفع",
"post-edit-duration-expired-minutes-seconds": "You are only allowed to edit posts for %1 minute(s) %2 second(s) after posting",
"post-edit-duration-expired-hours": "You are only allowed to edit posts for %1 hour(s) after posting",
"post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting",
"post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting",
"post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting",
"post-delete-duration-expired": "You are only allowed to delete posts for %1 second(s) after posting",
"post-delete-duration-expired-minutes": "You are only allowed to delete posts for %1 minute(s) after posting",
"post-delete-duration-expired-minutes-seconds": "You are only allowed to delete posts for %1 minute(s) %2 second(s) after posting",
"post-delete-duration-expired-hours": "You are only allowed to delete posts for %1 hour(s) after posting",
"post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting",
"post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting",
"post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting",
"content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).", "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).", "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).", "title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).",
@@ -62,28 +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", "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-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)", "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", "file-too-big": "Maximum allowed file size is %1 kB - please upload a smaller file",
"guest-upload-disabled": "Guest uploading has been disabled", "cant-vote-self-post": "لايمكنك التصويت لردك",
"already-favourited": "You have already bookmarked this post", "already-favourited": "لقد سبق وأضفت هذا الرد إلى المفضلة",
"already-unfavourited": "You have already unbookmarked this post", "already-unfavourited": "لقد سبق وحذفت هذا الرد من المفضلة",
"cant-ban-other-admins": "لايمكن حظر مدبر نظام آخر.", "cant-ban-other-admins": "لايمكن حظر مدبر نظام آخر.",
"cant-remove-last-admin": "You are the only administrator. Add another user as an administrator before removing yourself as admin",
"cant-delete-admin": "Remove administrator privileges from this account before attempting to delete it.",
"invalid-image-type": "Invalid image type. Allowed types are: %1", "invalid-image-type": "Invalid image type. Allowed types are: %1",
"invalid-image-extension": "Invalid image extension", "invalid-image-extension": "Invalid image extension",
"invalid-file-type": "Invalid file type. Allowed types are: %1", "invalid-file-type": "Invalid file type. Allowed types are: %1",
"group-name-too-short": "اسم المجموعة قصير", "group-name-too-short": "اسم المجموعة قصير",
"group-name-too-long": "Group name too long",
"group-already-exists": "المجموعة موجودة مسبقا", "group-already-exists": "المجموعة موجودة مسبقا",
"group-name-change-not-allowed": "لايسمح بتغيير أسماء المجموعات", "group-name-change-not-allowed": "لايسمح بتغيير أسماء المجموعات",
"group-already-member": "Already part of this group", "group-already-member": "You are already part of this group",
"group-not-member": "Not a member of this group", "group-needs-owner": "This group requires at least one owner",
"group-needs-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-deleted": "سبق وتم حذف هذا الرد",
"post-already-restored": "سبق وتم إلغاء حذف هذا الرد", "post-already-restored": "سبق وتم إلغاء حذف هذا الرد",
"topic-already-deleted": "سبق وتم حذف هذا الموضوع", "topic-already-deleted": "سبق وتم حذف هذا الموضوع",
@@ -92,33 +67,18 @@
"topic-thumbnails-are-disabled": "الصور المصغرة غير مفعلة.", "topic-thumbnails-are-disabled": "الصور المصغرة غير مفعلة.",
"invalid-file": "ملف غير مقبول", "invalid-file": "ملف غير مقبول",
"uploads-are-disabled": "رفع الملفات غير مفعل", "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).", "about-me-too-long": "Sorry, your about me cannot be longer than %1 character(s).",
"cant-chat-with-yourself": "لايمكنك فتح محادثة مع نفسك", "cant-chat-with-yourself": "لايمكنك فتح محادثة مع نفسك",
"chat-restricted": "هذا المستخدم عطل المحادثات الواردة عليه. يجب أن يتبعك حتى تتمكن من فتح محادثة معه.", "chat-restricted": "هذا المستخدم عطل المحادثات الواردة عليه. يجب أن يتبعك حتى تتمكن من فتح محادثة معه.",
"chat-disabled": "Chat system disabled", "too-many-messages": "You have sent too many messages, please wait awhile.",
"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",
"already-voting-for-this-post": "You have already voted for this post.",
"reputation-system-disabled": "نظام السمعة معطل", "reputation-system-disabled": "نظام السمعة معطل",
"downvoting-disabled": "التصويتات السلبية معطلة", "downvoting-disabled": "التصويتات السلبية معطلة",
"not-enough-reputation-to-downvote": "ليس لديك سمعة تكفي لإضافة صوت سلبي لهذا الموضوع", "not-enough-reputation-to-downvote": "ليس لديك سمعة تكفي لإضافة صوت سلبي لهذا الموضوع",
"not-enough-reputation-to-flag": "ليس لديك سمعة تكفي للإشعار بموضوع مخل", "not-enough-reputation-to-flag": "ليس لديك سمعة تكفي للإشعار بموضوع مخل",
"already-flagged": "You have already flagged this post",
"reload-failed": "المنتدى واجه مشكلة أثناء إعادة التحميل: \"%1\". سيواصل المنتدى خدمة العملاء السابقين لكن يجب عليك إلغاء أي تغيير قمت به قبل إعادة التحميل.", "reload-failed": "المنتدى واجه مشكلة أثناء إعادة التحميل: \"%1\". سيواصل المنتدى خدمة العملاء السابقين لكن يجب عليك إلغاء أي تغيير قمت به قبل إعادة التحميل.",
"registration-error": "حدث خطأ أثناء التسجيل", "registration-error": "حدث خطأ أثناء التسجيل",
"parse-error": "حدث خطأ ما أثناء تحليل استجابة الخادم", "parse-error": "Something went wrong while parsing server response",
"wrong-login-type-email": "الرجاء استعمال بريدك اﻹلكتروني للدخول", "wrong-login-type-email": "الرجاء استعمال بريدك اﻹلكتروني للدخول",
"wrong-login-type-username": "الرجاء استعمال اسم المستخدم الخاص بك للدخول", "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",
"cant-kick-self": "You can't kick yourself from the group",
"no-users-selected": "No user(s) selected",
"invalid-home-page-route": "Invalid home page route"
} }

View File

@@ -3,7 +3,7 @@
"search": "بحث", "search": "بحث",
"buttons.close": "أغلق", "buttons.close": "أغلق",
"403.title": "غير مسموح بالدخول", "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>?", "403.login": "Perhaps you should <a href='%1/login'>try logging in</a>?",
"404.title": "لم يتم العثور", "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>.", "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.out_of": "%1 من %2",
"pagination.enter_index": "أدخل الرقم التسلسلي", "pagination.enter_index": "أدخل الرقم التسلسلي",
"header.admin": "مدبر نظام", "header.admin": "مدبر نظام",
"header.categories": "الفئات",
"header.recent": "حديث", "header.recent": "حديث",
"header.unread": "غير مقروء", "header.unread": "غير مقروء",
"header.tags": "وسم", "header.tags": "وسم",
@@ -33,7 +32,6 @@
"header.notifications": "التنبيهات", "header.notifications": "التنبيهات",
"header.search": "بحث", "header.search": "بحث",
"header.profile": "ملف", "header.profile": "ملف",
"header.navigation": "Navigation",
"notifications.loading": "تحميل التبليغات", "notifications.loading": "تحميل التبليغات",
"chats.loading": "تحميل الدردشات", "chats.loading": "تحميل الدردشات",
"motd.welcome": "مرحبا بكم NodeBB، منصة مناقشة المستقبل", "motd.welcome": "مرحبا بكم NodeBB، منصة مناقشة المستقبل",
@@ -49,31 +47,25 @@
"users": "الأعضاء", "users": "الأعضاء",
"topics": "المواضيع", "topics": "المواضيع",
"posts": "المشاركات", "posts": "المشاركات",
"best": "Best",
"upvoters": "Upvoters",
"upvoted": "Upvoted",
"downvoters": "Downvoters",
"downvoted": "Downvoted",
"views": "المشاهدات", "views": "المشاهدات",
"reputation": "السمعة", "reputation": "السمعة",
"read_more": "اقرأ المزيد", "read_more": "اقرأ المزيد",
"more": "المزيد",
"posted_ago_by_guest": "كتب %1 من طرف زائر", "posted_ago_by_guest": "كتب %1 من طرف زائر",
"posted_ago_by": "كتب %1 من طرف %2", "posted_ago_by": "كتب %1 من طرف %2",
"posted_ago": "كتب %1", "posted_ago": "كتب %1",
"posted_in": "posted in %1", "posted_in_ago_by_guest": "كتب في %1 %2 من طرف زائر",
"posted_in_by": "posted in %1 by %2",
"posted_in_ago": "كتب في %1 %2",
"posted_in_ago_by": "كتب في %1 %2 من طرف %3", "posted_in_ago_by": "كتب في %1 %2 من طرف %3",
"posted_in_ago": "كتب في %1 %2",
"replied_ago": "رد %1",
"user_posted_ago": "%1 كتب %2", "user_posted_ago": "%1 كتب %2",
"guest_posted_ago": "كتب زائر %1", "guest_posted_ago": "كتب زائر %1",
"last_edited_by": "last edited by %1", "last_edited_by_ago": "آخر تعديل من طرف %1 %2",
"norecentposts": "لاوجود لمشاركات جديدة", "norecentposts": "لاوجود لمشاركات جديدة",
"norecenttopics": "لاوجود لمواضيع جديدة", "norecenttopics": "لاوجود لمواضيع جديدة",
"recentposts": "آخر المشاركات", "recentposts": "آخر المشاركات",
"recentips": "آخر عناوين ال IP التي سجلت الدخول", "recentips": "آخر عناوين ال IP التي سجلت الدخول",
"away": "غير متواجد", "away": "غير متواجد",
"dnd": "Do not disturb", "dnd": "المرجو عدم الإزعاج",
"invisible": "مخفي", "invisible": "مخفي",
"offline": "غير متصل", "offline": "غير متصل",
"email": "عنوان البريد الإلكتروني", "email": "عنوان البريد الإلكتروني",
@@ -85,12 +77,5 @@
"privacy": "الخصوصية", "privacy": "الخصوصية",
"follow": "متابعة", "follow": "متابعة",
"unfollow": "إلغاء المتابعة", "unfollow": "إلغاء المتابعة",
"delete_all": "حذف الكل", "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"
} }

View File

@@ -6,25 +6,16 @@
"no_groups_found": "لاوجدود لمجموعات يمكن معاينتها", "no_groups_found": "لاوجدود لمجموعات يمكن معاينتها",
"pending.accept": "موافق", "pending.accept": "موافق",
"pending.reject": "رفض", "pending.reject": "رفض",
"pending.accept_all": "قبول الكل", "cover-instructions": "اسحب وأسقِط صورة، اسحبها للموضع المرغوب، وانقر على <strong>حفظ</strong>",
"pending.reject_all": "رفض الكل", "cover-change": "تغيير",
"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-save": "حفظ", "cover-save": "حفظ",
"cover-saving": "جاري الحفظ", "cover-saving": "جاري الحفظ",
"details.title": "تفاصيل المجموعة", "details.title": "تفاصيل المجموعة",
"details.members": "لائحة الأعضاء", "details.members": "لائحة الأعضاء",
"details.pending": "المستخدمون في الانتظار", "details.pending": "المستخدمون في الانتظار",
"details.invited": "اﻷعضار المدعوون",
"details.has_no_posts": "أعضاء هذه المجموعة لم يضيفوا أية مشاركة", "details.has_no_posts": "أعضاء هذه المجموعة لم يضيفوا أية مشاركة",
"details.latest_posts": "آخر المشاركات", "details.latest_posts": "آخر المشاركات",
"details.private": "خاص", "details.private": "خاص",
"details.disableJoinRequests": "Disable join requests",
"details.grant": "منح/سحب المِلكية", "details.grant": "منح/سحب المِلكية",
"details.kick": "طرد", "details.kick": "طرد",
"details.owner_options": "إدارة المجموعة", "details.owner_options": "إدارة المجموعة",
@@ -39,16 +30,7 @@
"details.userTitleEnabled": "إظهار الوسام", "details.userTitleEnabled": "إظهار الوسام",
"details.private_help": "في حالة تفعيل الخيار، الانضمام إلى المجموعة يستلزم قبول مالكها", "details.private_help": "في حالة تفعيل الخيار، الانضمام إلى المجموعة يستلزم قبول مالكها",
"details.hidden": "مخفي", "details.hidden": "مخفي",
"details.hidden_help": "في حالة تفعيل الخيار، لن تظهر المجموعة للعموم والإنضمام إليها سيتلزم دعوة.", "details.hidden_help": "في حالة تفعيل الخيار، لن تظهر المجموعة للعموم والإنضمام إليها سيتلزم دعوة يدوية.",
"details.delete_group": "حذف المجموعة",
"details.private_system_help": "Private groups is disabled at system level, this option does not do anything",
"event.updated": "تم تحديث بيانات المجموعة", "event.updated": "تم تحديث بيانات المجموعة",
"event.deleted": "تم حذف المجموعة %1", "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"
} }

View File

@@ -5,8 +5,7 @@
"remember_me": "تذكرني؟", "remember_me": "تذكرني؟",
"forgot_password": "نسيت كلمة المرور؟", "forgot_password": "نسيت كلمة المرور؟",
"alternative_logins": "تسجيلات الدخول البديلة", "alternative_logins": "تسجيلات الدخول البديلة",
"failed_login_attempt": "Login Unsuccessful", "failed_login_attempt": "فشلت محاولة تسجيل الدخول، يرجى المحاولة مرة أخرى.",
"login_successful": "قمت بتسجيل الدخول بنجاح!", "login_successful": "قمت بتسجيل الدخول بنجاح!",
"dont_have_account": ا تملك حساب؟", "dont_have_account": م تفتح حسابك بعد؟"
"logged-out-due-to-inactivity": "You have been logged out of the Admin Control Panel due to inactivity"
} }

View File

@@ -5,10 +5,8 @@
"chat.no_active": "لا يوجد لديك دردشات نشطة.", "chat.no_active": "لا يوجد لديك دردشات نشطة.",
"chat.user_typing": "%1 يكتب رسالة...", "chat.user_typing": "%1 يكتب رسالة...",
"chat.user_has_messaged_you": "%1 أرسل لك رسالة.", "chat.user_has_messaged_you": "%1 أرسل لك رسالة.",
"chat.see_all": "عرض كل المحادثات", "chat.see_all": "معاينة كل الدردشات",
"chat.mark_all_read": "Mark all chats read",
"chat.no-messages": "المرجو اختيار مرسل إليه لمعاينة تاريخ الدردشات", "chat.no-messages": "المرجو اختيار مرسل إليه لمعاينة تاريخ الدردشات",
"chat.no-users-in-room": "No users in this room",
"chat.recent-chats": "آخر الدردشات", "chat.recent-chats": "آخر الدردشات",
"chat.contacts": "الأصدقاء", "chat.contacts": "الأصدقاء",
"chat.message-history": "تاريخ الرسائل", "chat.message-history": "تاريخ الرسائل",
@@ -17,30 +15,12 @@
"chat.seven_days": "7 أيام", "chat.seven_days": "7 أيام",
"chat.thirty_days": "30 يومًا", "chat.thirty_days": "30 يومًا",
"chat.three_months": "3 أشهر", "chat.three_months": "3 أشهر",
"chat.delete_message_confirm": "هل أنت متأكد من أنك تريد حذف هذه الرسالة؟", "composer.compose": "Compose",
"chat.roomname": "Chat Room %1",
"chat.add-users-to-room": "Add users to room",
"composer.compose": "اكتب",
"composer.show_preview": "عرض المعاينة", "composer.show_preview": "عرض المعاينة",
"composer.hide_preview": "إخفاء المعاينة", "composer.hide_preview": "إخفاء المعاينة",
"composer.user_said_in": "%1 كتب في %2", "composer.user_said_in": "%1 كتب في %2",
"composer.user_said": "%1 كتب:", "composer.user_said": "%1 كتب:",
"composer.discard": "هل أنت متأكد أنك تريد التخلي عن التغييرات؟", "composer.discard": "هل أنت متأكد أنك تريد التخلي عن التغييرات؟",
"composer.submit_and_lock": "Submit and Lock", "composer.submit_and_lock": "Submit and Lock",
"composer.toggle_dropdown": "Toggle Dropdown", "composer.toggle_dropdown": "Toggle Dropdown"
"composer.uploading": "Uploading %1",
"composer.formatting.bold": "Bold",
"composer.formatting.italic": "Italic",
"composer.formatting.list": "List",
"composer.formatting.strikethrough": "Strikethrough",
"composer.formatting.link": "Link",
"composer.formatting.picture": "Picture",
"composer.upload-picture": "Upload Image",
"composer.upload-file": "Upload File",
"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"
} }

View File

@@ -1,33 +1,25 @@
{ {
"title": "التنبيهات", "title": "التنبيهات",
"no_notifs": "ليس لديك أية تنبيهات جديدة", "no_notifs": "ليس لديك أية تنبيهات جديدة",
"see_all": "عرض كل التنبيهات", "see_all": "معاينة كل التنبيهات",
"mark_all_read": "اجعل كل التنبيهات مقروءة", "mark_all_read": "اجعل كل التنبيهات مقروءة",
"back_to_home": "عودة إلى %1", "back_to_home": "عودة إلى %1",
"outgoing_link": "رابط خارجي", "outgoing_link": "رابط خارجي",
"outgoing_link_message": "You are now leaving %1", "outgoing_link_message": "أنت تغادر %1 حاليا.",
"continue_to": "استمر إلى %1", "continue_to": "استمر إلى %1",
"return_to": "عودة إى %1", "return_to": "عودة إى %1",
"new_notification": "تنبيه جديد", "new_notification": "تنبيه جديد",
"you_have_unread_notifications": "لديك تنبيهات غير مقروءة.", "you_have_unread_notifications": "لديك تنبيهات غير مقروءة.",
"new_message_from": "رسالة جديدة من <strong>%1</strong>", "new_message_from": "رسالة جديدة من <strong>%1</strong>",
"upvoted_your_post_in": "<strong>%1</strong> أضاف صوتًا إيجابيا إلى مشاركتك في <strong>%2</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>.", "moved_your_post": "<strong>%1</strong> نقل مشاركتك.",
"upvoted_your_post_in_multiple": "<strong>%1</strong> and %2 others have upvoted your post in <strong>%3</strong>.", "moved_your_topic": "<strong>%1</strong> نقل موضوعك.",
"moved_your_post": "<strong>%1</strong> has moved your post to <strong>%2</strong>", "favourited_your_post_in": "<strong>%1</strong> أضاف مشاركتك في <strong>%2</strong> إلى مفضلته.",
"moved_your_topic": "<strong>%1</strong> has moved <strong>%2</strong>",
"user_flagged_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": "<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_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": "<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": "تم التحقق من عنوان البريد الإلكتروني",
"email-confirmed-message": "شكرًا على إثبات صحة عنوان بريدك الإلكتروني. صار حسابك مفعلًا بالكامل.", "email-confirmed-message": "شكرًا على إثبات صحة عنوان بريدك الإلكتروني. صار حسابك مفعلًا بالكامل.",
"email-confirm-error-message": "حدث خطأ أثناء التحقق من عنوان بريدك الإلكتروني. ربما رمز التفعيل خاطئ أو انتهت صلاحيته.", "email-confirm-error-message": "حدث خطأ أثناء التحقق من عنوان بريدك الإلكتروني. ربما رمز التفعيل خاطئ أو انتهت صلاحيته.",

View File

@@ -1,48 +1,21 @@
{ {
"home": "الصفحة الرئيسية", "home": "الصفحة الرئيسية",
"unread": "المواضيع الغير مقروءة", "unread": "المواضيع الغير مقروءة",
"popular-day": "Popular topics today", "popular": "المواضيع الأكثر شهرة",
"popular-week": "Popular topics this week",
"popular-month": "Popular topics this month",
"popular-alltime": "All time popular topics",
"recent": "المواضيع الحديثة", "recent": "المواضيع الحديثة",
"flagged-posts": "Flagged Posts", "users": "اﻷعضاء المسجلون",
"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/most-flags": "Most flagged users",
"users/search": "User Search",
"notifications": "التنبيهات", "notifications": "التنبيهات",
"tags": "الكلمات الدلالية", "tags": "Tags",
"tag": "Topics tagged under \"%1\"", "tag": "Topics tagged under \"%1\"",
"register": سجيل حساب", "user.edit": عديل \"%1\"",
"login": "Login to your account", "user.following": "المستخدمون الذين يتبعهم %1",
"reset": "إعادة تعيين كلمة مرور حسابك", "user.followers": "المستخدمون الذين يتبعون %1",
"categories": "الفئات", "user.posts": "ردود %1",
"groups": "المجموعات", "user.topics": "مواضيع %1",
"group": "%1 group", "user.groups": "%1's Groups",
"chats": "Chats", "user.favourites": "مفضلات %1",
"chat": "Chatting with %1", "user.settings": "خيارات المستخدم",
"account/edit": "Editing \"%1\"", "user.watched": "Topics watched by %1",
"account/edit/password": "Editing password of \"%1\"",
"account/edit/username": "Editing username of \"%1\"",
"account/edit/email": "Editing email of \"%1\"",
"account/info": "Account Info",
"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": "تم التحقق من عنوان البريد الإلكتروني",
"maintenance.text": "جاري صيانة %1. المرجو العودة لاحقًا.", "maintenance.text": "جاري صيانة %1. المرجو العودة لاحقًا.",
"maintenance.messageIntro": "بالإضافة إلى ذلك، قام مدبر النظام بترك هذه الرسالة:", "maintenance.messageIntro": "بالإضافة إلى ذلك، قام مدبر النظام بترك هذه الرسالة:"
"throttled.text": "%1 is currently unavailable due to excessive load. Please come back another time."
} }

View File

@@ -1,23 +1,18 @@
{ {
"register": "تسجيل", "register": "تسجيل",
"cancel_registration": "إلغاء التسجيل", "help.email": "افتراضيا، سيتم إخفاء بريدك الإلكتروني من الجمهور.",
"help.email": "افتراضيا، سيتم إخفاء بريدك الإلكتروني من العامة.",
"help.username_restrictions": "اسم مستخدم فريدة من نوعها بين1% و2% حرفا. يمكن للآخرين ذكرك @ <'span id='your-username> اسم المستخدم </span>.", "help.username_restrictions": "اسم مستخدم فريدة من نوعها بين1% و2% حرفا. يمكن للآخرين ذكرك @ <'span id='your-username> اسم المستخدم </span>.",
"help.minimum_password_length": "كلمة المرور يجب أن تكون على الأقل بها 1% أحرف", "help.minimum_password_length": "كلمتك السر يجب أن تكون على الأقل متألفة من 1% أحرف",
"email_address": "عنوان البريد الإلكتروني", "email_address": "عنوان البريد الإلكتروني",
"email_address_placeholder": "ادخل عنوان البريد الإلكتروني", "email_address_placeholder": "ادخل عنوان البريد الإلكتروني",
"username": "اسم المستخدم", "username": "اسم المستخدم",
"username_placeholder": "أدخل اسم المستخدم", "username_placeholder": "أدخل اسم المستخدم",
"password": "كلمة المرور", "password": "كلمة السر",
"password_placeholder": "أدخل كلمة المرور", "password_placeholder": "أدخل كلمة السر",
"confirm_password": "تأكيد كلمة المرور", "confirm_password": "تأكيد كلمة السر",
"confirm_password_placeholder": "تأكيد كلمة المرور", "confirm_password_placeholder": "تأكيد كلمة السر",
"register_now_button": "قم بالتسجيل الآن", "register_now_button": "قم بالتسجيل الآن",
"alternative_registration": "طريقة تسجيل بديلة", "alternative_registration": "طريقة تسجيل بديلة",
"terms_of_use": "شروط الاستخدام", "terms_of_use": "شروط الاستخدام",
"agree_to_terms_of_use": "أوافق على شروط الاستخدام", "agree_to_terms_of_use": "أوافق على شروط الاستخدام"
"terms_of_use_error": "You must agree to the 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.",
"interstitial.intro": "We require some additional information before we can create your account.",
"interstitial.errors-found": "We could not complete your registration:"
} }

View File

@@ -1,17 +1,17 @@
{ {
"reset_password": "إعادة تعيين كلمة المرور", "reset_password": "إعادة تعيين كلمة السر",
"update_password": "تحديث كلمة المرور", "update_password": "تحديث كلمة السر",
"password_changed.title": "تم تغير كلمة المرور", "password_changed.title": "تم تغير كلمة السر",
"password_changed.message": "<p>تم تغير كلمة المرور بنجاح، الرجاء <a href='/login'>إعادة الدخول</a></p>", "password_changed.message": "<p>تم تغير كلمة السر بنجاح. يرجى <a href='/login'>إعادة الدخول</a></p>",
"wrong_reset_code.title": "رمز إعادة التعيين غير صحيح", "wrong_reset_code.title": "رمز إعادة التعيين غير صحيح",
"wrong_reset_code.message": "رمز إعادة التعين غير صحيح، يرجى المحاولة مرة أخرى أو <a href='/reset'>اطلب رمزا جديدا</a>", "wrong_reset_code.message": "رمز إعادة التعين غير صحيح، يرجى المحاولة مرة أخرى أو <a href='/reset'>اطلب رمزا جديدا</a>",
"new_password": "كلمة المرور الجديدة", "new_password": "كلمة السر الجديدة",
"repeat_password": "تأكيد كلمة المرور", "repeat_password": "تأكيد كلمة السر",
"enter_email": "يرجى إدخال <strong>عنوان البريد الإلكتروني</strong> الخاص بك وسوف نرسل لك رسالة بالبريد الالكتروني مع تعليمات حول كيفية إستعادة حسابك.", "enter_email": "يرجى إدخال <strong>عنوان البريد الإلكتروني</strong> الخاص بك وسوف نرسل لك رسالة بالبريد الالكتروني مع تعليمات حول كيفية إستعادة حسابك.",
"enter_email_address": "ادخل عنوان البريد الإلكتروني", "enter_email_address": "ادخل عنوان البريد الإلكتروني",
"password_reset_sent": "إعادة تعيين كلمة السر أرسلت", "password_reset_sent": "إعادة تعيين كلمة السر أرسلت",
"invalid_email": "بريد إلكتروني غير صالح أو غير موجود", "invalid_email": "بريد إلكتروني غير صالح أو غير موجود",
"password_too_short": "كلمة المرور التي أدخلتها قصيرة، الرجاء اختر كلمة مرور مختلفة", "password_too_short": "The password entered is too short, please pick a different password.",
"passwords_do_not_match": "كلمتا السر التي أدخلتهما غير متطابقتان", "passwords_do_not_match": "The two passwords you've entered do not match.",
"password_expired": "لقد انتهت صلاحية كلمة المرور الخاصة بك، الرجاء اختيار كلمة مرور جديدة" "password_expired": "Your password has expired, please choose a new password"
} }

View File

@@ -1,16 +1,16 @@
{ {
"results_matching": "%1 نتيجة (نتائج) موافقة لـ \"%2\", (%3 ثواني)", "results_matching": "%1 نتيجة (نتائج) موافقة ل \"%2\", (%3 ثواني)",
"no-matches": "لم يتم العثور على نتائج.", "no-matches": "No matches found",
"advanced-search": "بحث متقدم", "advanced-search": "بحث متقدم",
"in": "في", "in": "في",
"titles": "العناوين", "titles": "العناوين",
"titles-posts": "العناوين والمشاركات", "titles-posts": "العناوين والمشاركات",
"posted-by": "مشاركة من طرف", "posted-by": "Posted by",
"in-categories": "في الفئات", "in-categories": "في الفئات",
"search-child-categories": "بحث في الفئات الفرعية", "search-child-categories": "بحث في الفئات الفرعية",
"reply-count": "عدد المشاركات", "reply-count": "Reply Count",
"at-least": "على اﻷقل", "at-least": "At least",
"at-most": "على اﻷكثر", "at-most": "At most",
"post-time": "تاريخ المشاركة", "post-time": "تاريخ المشاركة",
"newer-than": "أحدث من", "newer-than": "أحدث من",
"older-than": "أقدم من", "older-than": "أقدم من",
@@ -22,7 +22,7 @@
"three-months": "ثلاثة أشهر", "three-months": "ثلاثة أشهر",
"six-months": "ستة أشهر", "six-months": "ستة أشهر",
"one-year": "عام", "one-year": "عام",
"sort-by": "عرض حسب", "sort-by": "Sort by",
"last-reply-time": "تاريخ آخر رد", "last-reply-time": "تاريخ آخر رد",
"topic-title": "عنوان الموضوع", "topic-title": "عنوان الموضوع",
"number-of-replies": "عدد الردود", "number-of-replies": "عدد الردود",
@@ -30,11 +30,11 @@
"topic-start-date": "تاريخ بدأ الموضوع", "topic-start-date": "تاريخ بدأ الموضوع",
"username": "اسم المستخدم", "username": "اسم المستخدم",
"category": "فئة", "category": "فئة",
"descending": "في ترتيب تنازلي", "descending": "In descending order",
"ascending": "في ترتيب تصاعدي", "ascending": "In ascending order",
"save-preferences": "حفظ التفضيلات", "save-preferences": "حفظ التفضيلات",
"clear-preferences": "ازالة التفضيلات", "clear-preferences": "Clear preferences",
"search-preferences-saved": "تم حفظ تفضيلات البحث", "search-preferences-saved": "تم حفظ تفضيلات البحث",
"search-preferences-cleared": "تم ازالة تفضيلات البحث", "search-preferences-cleared": "Search preferences cleared",
"show-results-as": "عرض النتائج كـ" "show-results-as": "عرض النتائج كـ"
} }

View File

@@ -1,7 +1,7 @@
{ {
"no_tag_topics": "لا يوجد مواضيع بهذه الكلمة الدلالية.", "no_tag_topics": "لاوجود لمواضيع تحمل هذا الوسم.",
"tags": "الكلمات الدلالية", "tags": "بطاقات",
"enter_tags_here": "Enter tags here, between %1 and %2 characters each.", "enter_tags_here": "Enter tags here, between %1 and %2 characters each.",
"enter_tags_here_short": "أدخل الكلمات الدلالية...", "enter_tags_here_short": "أدخل البطاقات...",
"no_tags": "لا يوجد كلمات دلالية بعد." "no_tags": "لاتوجد هناك بطاقات بعد."
} }

View File

@@ -13,7 +13,6 @@
"notify_me": "تلق تنبيهات بالردود الجديدة في هذا الموضوع", "notify_me": "تلق تنبيهات بالردود الجديدة في هذا الموضوع",
"quote": "اقتبس", "quote": "اقتبس",
"reply": "رد", "reply": "رد",
"reply-as-topic": "Reply as topic",
"guest-login-reply": "يجب عليك تسجيل الدخول للرد", "guest-login-reply": "يجب عليك تسجيل الدخول للرد",
"edit": "تعديل", "edit": "تعديل",
"delete": "حذف", "delete": "حذف",
@@ -26,30 +25,20 @@
"tools": "أدوات", "tools": "أدوات",
"flag": "تبليغ", "flag": "تبليغ",
"locked": "مقفل", "locked": "مقفل",
"pinned": "Pinned", "bookmark_instructions": "إضغط هنا للعودة إلى آخر موضع أو غلق للإلغاء",
"moved": "Moved",
"bookmark_instructions": "Click here to return to the last read post in this thread.",
"flag_title": "إشعار بمشاركة مخلة.", "flag_title": "إشعار بمشاركة مخلة.",
"flag_confirm": "هل تريد حقًّا التبليغ بهذه المشاركة؟",
"flag_success": "تم الإشعار بهذه المشاركة على أنها مخلة", "flag_success": "تم الإشعار بهذه المشاركة على أنها مخلة",
"deleted_message": "هذه المشاركة محذوفة. فقط من لهم صلاحية الإشراف على ا لمشاركات يمكنهم معاينتها.", "deleted_message": "هذه المشاركة محذوفة. فقط من لهم صلاحية الإشراف على ا لمشاركات يمكنهم معاينتها.",
"following_topic.message": "ستستلم تنبيها عند كل مشاركة جديدة في هذا الموضوع.", "following_topic.message": "ستستلم تنبيها عند كل مشاركة جديدة في هذا الموضوع.",
"not_following_topic.message": "You will see this topic in the unread topics list, but you will not receive notifications when somebody posts to this topic.", "not_following_topic.message": "لن تستلم أي تنبيه بخصوص عذا الموضوع بعد الآن.",
"ignoring_topic.message": "You will no longer see this topic in the unread topics list. You will be notified when you are mentioned or your post is up voted.",
"login_to_subscribe": "المرجو إنشاء حساب أو تسجيل الدخول حتى يمكنك متابعة هذا الموضوع.", "login_to_subscribe": "المرجو إنشاء حساب أو تسجيل الدخول حتى يمكنك متابعة هذا الموضوع.",
"markAsUnreadForAll.success": "تم تحديد الموضوع على أنه غير مقروء.", "markAsUnreadForAll.success": "تم تحديد الموضوع على أنه غير مقروء.",
"mark_unread": "Mark unread",
"mark_unread.success": "Topic marked as unread.",
"watch": "مراقبة", "watch": "مراقبة",
"unwatch": "الغاء المراقبة", "unwatch": "الغاء المراقبة",
"watch.title": "استلم تنبيها بالردود الجديدة في هذا الموضوع", "watch.title": "استلم تنبيها بالردود الجديدة في هذا الموضوع",
"unwatch.title": "ألغ مراقبة هذا الموضوع", "unwatch.title": "ألغ مراقبة هذا الموضوع",
"share_this_post": "انشر هذا الموضوع", "share_this_post": "انشر هذا الموضوع",
"watching": "Watching",
"not-watching": "Not Watching",
"ignoring": "Ignoring",
"watching.description": "Notify me of new replies.<br/>Show topic in unread.",
"not-watching.description": "Do not notify me of new replies.<br/>Show topic in unread if category is not ignored.",
"ignoring.description": "Do not notify me of new replies.<br/>Do not show topic in unread.",
"thread_tools.title": "أدوات الموضوع", "thread_tools.title": "أدوات الموضوع",
"thread_tools.markAsUnreadForAll": "علم غير مقروء", "thread_tools.markAsUnreadForAll": "علم غير مقروء",
"thread_tools.pin": "علق الموضوع", "thread_tools.pin": "علق الموضوع",
@@ -60,7 +49,6 @@
"thread_tools.move_all": "نقل الكل", "thread_tools.move_all": "نقل الكل",
"thread_tools.fork": "إنشاء فرع الموضوع", "thread_tools.fork": "إنشاء فرع الموضوع",
"thread_tools.delete": "حذف الموضوع", "thread_tools.delete": "حذف الموضوع",
"thread_tools.delete-posts": "Delete Posts",
"thread_tools.delete_confirm": "هل أنت متأكد أنك تريد حذف هذا الموضوع؟", "thread_tools.delete_confirm": "هل أنت متأكد أنك تريد حذف هذا الموضوع؟",
"thread_tools.restore": "استعادة الموضوع", "thread_tools.restore": "استعادة الموضوع",
"thread_tools.restore_confirm": "هل أنت متأكد أنك تريد استعادة هذا الموضوع؟", "thread_tools.restore_confirm": "هل أنت متأكد أنك تريد استعادة هذا الموضوع؟",
@@ -74,9 +62,9 @@
"disabled_categories_note": "الفئات المعطلة رمادية", "disabled_categories_note": "الفئات المعطلة رمادية",
"confirm_move": "انقل", "confirm_move": "انقل",
"confirm_fork": "فرع", "confirm_fork": "فرع",
"favourite": "Bookmark", "favourite": "إضافة إلى المفضلة",
"favourites": "Bookmarks", "favourites": "المفضلة",
"favourites.has_no_favourites": "You haven't bookmarked any posts yet.", "favourites.has_no_favourites": "ليس لديك أي ردود مفضلة. أضف بعض المشاركات إلى المفضلة لرؤيتهم هنا",
"loading_more_posts": "تحميل المزيد من المشاركات", "loading_more_posts": "تحميل المزيد من المشاركات",
"move_topic": "نقل الموضوع", "move_topic": "نقل الموضوع",
"move_topics": "نقل المواضيع", "move_topics": "نقل المواضيع",
@@ -87,9 +75,8 @@
"fork_topic_instruction": "إضغط على المشاركات التي تريد تفريعها", "fork_topic_instruction": "إضغط على المشاركات التي تريد تفريعها",
"fork_no_pids": "لم تختر أي مشاركة", "fork_no_pids": "لم تختر أي مشاركة",
"fork_success": "تم إنشاء فرع للموضوع بنجاح! إضغط هنا لمعاينة الفرع.", "fork_success": "تم إنشاء فرع للموضوع بنجاح! إضغط هنا لمعاينة الفرع.",
"delete_posts_instruction": "Click the posts you want to delete/purge",
"composer.title_placeholder": "أدخل عنوان موضوعك هنا...", "composer.title_placeholder": "أدخل عنوان موضوعك هنا...",
"composer.handle_placeholder": "اﻹسم", "composer.handle_placeholder": "Name",
"composer.discard": "نبذ التغييرات", "composer.discard": "نبذ التغييرات",
"composer.submit": "حفظ", "composer.submit": "حفظ",
"composer.replying_to": "الرد على %1", "composer.replying_to": "الرد على %1",
@@ -109,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"
} }

View File

@@ -5,9 +5,5 @@
"mark_as_read": "حدد غير مقروء", "mark_as_read": "حدد غير مقروء",
"selected": "المحددة", "selected": "المحددة",
"all": "الكل", "all": "الكل",
"all_categories": "كل الفئات", "topics_marked_as_read.success": "تم تحديد المواضيع على أنها مقروءة!"
"topics_marked_as_read.success": "تم تحديد المواضيع على أنها مقروءة!",
"all-topics": "كل المواضيع",
"new-topics": "مواضيع جديدة",
"watched-topics": "المواضيع المتابعة"
} }

View File

@@ -1,6 +0,0 @@
{
"uploading-file": "جاري رفع الملف...",
"select-file-to-upload": "Select a file to upload!",
"upload-success": "تم رفع الملف بنجاح!",
"maximum-file-size": "Maximum %1 kb"
}

View File

@@ -6,14 +6,8 @@
"postcount": "عدد المشاركات", "postcount": "عدد المشاركات",
"email": "البريد الإلكتروني", "email": "البريد الإلكتروني",
"confirm_email": "تأكيد عنوان البريد الإلكتروني", "confirm_email": "تأكيد عنوان البريد الإلكتروني",
"account_info": "معلومات الحساب",
"ban_account": "Ban Account",
"ban_account_confirm": "هل تريد حقاً حظر هاذا العضو؟",
"unban_account": "Unban Account",
"delete_account": "حذف الحساب", "delete_account": "حذف الحساب",
"delete_account_confirm": "هل أن متأكد أنك تريد حذف حسابك؟<br /><strong> هذه العملية غير قابلة للإلغاء ولن يكون بالإمكان استعادة بياناتك</strong><br /><br />أدخل اسم المستخدم الخاص بك لتأكيد عملية الحذف", "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": "الاسم الكامل", "fullname": "الاسم الكامل",
"website": "الموقع الإلكتروني", "website": "الموقع الإلكتروني",
"location": "الموقع", "location": "الموقع",
@@ -23,25 +17,21 @@
"profile": "الملف الشخصي", "profile": "الملف الشخصي",
"profile_views": "عدد المشاهدات", "profile_views": "عدد المشاهدات",
"reputation": "السمعة", "reputation": "السمعة",
"favourites": "Bookmarks", "favourites": "التفضيلات",
"watched": "متابع", "watched": "متابع",
"followers": "المتابعون", "followers": "المتابعون",
"following": "يتابع", "following": "يتابع",
"aboutme": "معلومة عنك او السيرة الذاتية", "aboutme": "About me",
"signature": "توقيع", "signature": "توقيع",
"gravatar": "Gravatar",
"birthday": "عيد ميلاد", "birthday": "عيد ميلاد",
"chat": "محادثة", "chat": "محادثة",
"chat_with": "Chat with %1",
"follow": "تابع", "follow": "تابع",
"unfollow": "إلغاء المتابعة", "unfollow": "إلغاء المتابعة",
"more": "المزيد", "more": "المزيد",
"profile_update_success": "تم تحديث الملف الشخصي بنجاح", "profile_update_success": "تم تحديث الملف الشخصي بنجاح",
"change_picture": "تغيير الصورة", "change_picture": "تغيير الصورة",
"change_username": "تغيير اسم المستخدم",
"change_email": "تغيير البريد اﻹلكتروني",
"edit": "تعديل", "edit": "تعديل",
"edit-profile": "تعديل الملف الشخصي",
"default_picture": "Default Icon",
"uploaded_picture": "الصورة المرفوعة", "uploaded_picture": "الصورة المرفوعة",
"upload_new_picture": "رفع صورة جديدة", "upload_new_picture": "رفع صورة جديدة",
"upload_new_picture_from_url": "رفع صورة جديدة من رابط", "upload_new_picture_from_url": "رفع صورة جديدة من رابط",
@@ -56,12 +46,9 @@
"confirm_password": "تأكيد كلمة السر", "confirm_password": "تأكيد كلمة السر",
"password": "كلمة السر", "password": "كلمة السر",
"username_taken_workaround": "اسم المستخدم الذي اخترته سبق أخذه، لذا تم تغييره قليلا. أن الآن مسجل تحت الاسم <strong>%1</strong>", "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_picture": "ارفع الصورة",
"upload_a_picture": "رفع صورة", "upload_a_picture": "رفع صورة",
"remove_uploaded_picture": "Remove Uploaded Picture", "image_spec": "لايمكنك رفع إلا الصور ذات الصيغ PNG أو JPG أو GIF.",
"upload_cover_picture": "Upload cover picture",
"settings": "خيارات", "settings": "خيارات",
"show_email": "أظهر بريدي الإلكتروني", "show_email": "أظهر بريدي الإلكتروني",
"show_fullname": "أظهر اسمي الكامل", "show_fullname": "أظهر اسمي الكامل",
@@ -77,12 +64,9 @@
"settings-require-reload": "تغيير بعض اﻹعدادات يتطلب تحديث الصفحة. إضغط هنا لتحديث الصفحة", "settings-require-reload": "تغيير بعض اﻹعدادات يتطلب تحديث الصفحة. إضغط هنا لتحديث الصفحة",
"has_no_follower": "هذا المستخدم ليس لديه أي متابع :(", "has_no_follower": "هذا المستخدم ليس لديه أي متابع :(",
"follows_no_one": "هذا المستخدم لا يتابع أحد :(", "follows_no_one": "هذا المستخدم لا يتابع أحد :(",
"has_no_posts": "This user hasn't posted anything yet.", "has_no_posts": "هذا المستخدم لم يكتب أي شيء بعد.",
"has_no_topics": "This user hasn't posted any topics yet.", "has_no_topics": "هذا المستخدم لم ينشئ أي موضوع بعد.",
"has_no_watched_topics": "This user hasn't watched any topics yet.", "has_no_watched_topics": "This user didn't watch 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",
"email_hidden": "البريد الإلكتروني مخفي", "email_hidden": "البريد الإلكتروني مخفي",
"hidden": "مخفي", "hidden": "مخفي",
"paginate_description": "Paginate topics and posts instead of using infinite scroll", "paginate_description": "Paginate topics and posts instead of using infinite scroll",
@@ -93,26 +77,8 @@
"open_links_in_new_tab": "فتح الروابط الخارجية في نافدة جديدة", "open_links_in_new_tab": "فتح الروابط الخارجية في نافدة جديدة",
"enable_topic_searching": "تفعيل خاصية البحث داخل المواضيع", "enable_topic_searching": "تفعيل خاصية البحث داخل المواضيع",
"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", "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",
"delay_image_loading": "Delay Image Loading", "follow_topics_you_reply_to": "متابعة المواضيع التي تقوم بالرد فيها",
"image_load_delay_help": "If enabled, images in topics will not load until they are scrolled into view", "follow_topics_you_create": "متابعة المواضيع التي تنشئها",
"scroll_to_my_post": "After posting a reply, show the new post", "grouptitle": "Select the group title you would like to display",
"follow_topics_you_reply_to": "Watch topics that you reply to", "no-group-title": "No group title"
"follow_topics_you_create": "Watch topics you create",
"grouptitle": "عنوان المجموعة",
"no-group-title": "لا يوجد عنوان للمجموعة",
"select-skin": "Select a Skin",
"select-homepage": "Select a 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",
"info.latest-flags": "Latest Flags",
"info.no-flags": "No Flagged Posts Found",
"info.ban-history": "Recent Ban History",
"info.no-ban-history": "This user has never been banned",
"info.banned-until": "Banned until %1",
"info.banned-permanently": "Banned permanently"
} }

View File

@@ -2,20 +2,11 @@
"latest_users": "أحدث الأعضاء", "latest_users": "أحدث الأعضاء",
"top_posters": "اﻷكثر مشاركة", "top_posters": "اﻷكثر مشاركة",
"most_reputation": "أعلى سمعة", "most_reputation": "أعلى سمعة",
"most_flags": "Most Flags",
"search": "بحث", "search": "بحث",
"enter_username": "أدخل اسم مستخدم للبحث", "enter_username": "أدخل اسم مستخدم للبحث",
"load_more": "حمل المزيد", "load_more": "حمل المزيد",
"users-found-search-took": "تم إيجاد %1 مستخدمـ(ين)! استغرق البحث %2 ثانية.", "users-found-search-took": "%1 user(s) found! Search took %2 seconds.",
"filter-by": "Filter By", "filter-by": "Filter By",
"online-only": "المتصلون فقط", "online-only": "المتصلون فقط",
"invite": "دعوة", "picture-only": "Picture only"
"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!"
} }

View File

@@ -1,20 +1,12 @@
{ {
"category": "Категория",
"subcategories": "Подкатегории",
"new_topic_button": "Нова тема", "new_topic_button": "Нова тема",
"guest-login-post": "Влезте, за да можете да публикувате", "guest-login-post": "Влезте, за да можете да публикувате",
"no_topics": "<strong>Все още няма теми в тази категория.</strong><br />Защо не създадеш една?", "no_topics": "<strong>Все още няма теми в тази категория.</strong><br />Защо не създадеш една?",
"browsing": "Разглежда", "browsing": "Разглежда",
"no_replies": "Все още никой не е отговорил", "no_replies": "Все още никой не е отговорил",
"no_new_posts": "Няма нови публикации.",
"share_this_category": "Споделяне на тази категория", "share_this_category": "Споделяне на тази категория",
"watch": "Следене", "watch": "Следене",
"ignore": "Игнориране", "ignore": "Игнориране",
"watching": "Наблюдавате",
"ignoring": "Пренебрегвате",
"watching.description": "Темите ще се показват в непрочетените",
"ignoring.description": "Темите няма да се показват в непрочетените",
"watch.message": "Вече следите обновленията в тази категория", "watch.message": "Вече следите обновленията в тази категория",
"ignore.message": "Вече не следите обновленията в тази категория", "ignore.message": "Вече не следите обновленията в тази категория"
"watched-categories": "Наблюдавани категории"
} }

View File

@@ -1,15 +1,11 @@
{ {
"password-reset-requested": "Изпратена е заявка за подновяване на паролата %1!", "password-reset-requested": "Изпратена е заявка за подновяване на паролата %1!",
"welcome-to": "Добре дошли в %1", "welcome-to": "Добре дошли в %1",
"invite": "Покана от %1",
"greeting_no_name": "Здравейте", "greeting_no_name": "Здравейте",
"greeting_with_name": "Здравейте, %1", "greeting_with_name": "Здравейте, %1",
"welcome.text1": "Благодарим Ви, че се регистрирахте с %1", "welcome.text1": "Благодарим Ви, че се регистрирахте с %1",
"welcome.text2": "За да активирате напълно Вашия акаунт, трябва да потвърдите е-пощата, с която сте се регистрирали.", "welcome.text2": "За да активирате напълно Вашия акаунт, трябва да потвърдите е-пощата, с която сте се регистрирали.",
"welcome.text3": "Вашата заявка за регистрация беше приета от администратор. Вече можете да се впишете с Вашето потребителско име и парола.",
"welcome.cta": "Натиснете тук, за да потвърдите Вашата е-поща.", "welcome.cta": "Натиснете тук, за да потвърдите Вашата е-поща.",
"invitation.text1": "%1 Ви покани да се присъедините към %2",
"invitation.ctr": "Натиснете тук, за да си създадете акаунт.",
"reset.text1": "Получихме заявка за подновяване на Вашата парола, най-вероятно защото сте я забравили. Ако това не е така, моля не обръщайте внимание на това е-писмо.", "reset.text1": "Получихме заявка за подновяване на Вашата парола, най-вероятно защото сте я забравили. Ако това не е така, моля не обръщайте внимание на това е-писмо.",
"reset.text2": "За да продължите с процедурата по подновяване на паролата, моля последвайте следната връзка:", "reset.text2": "За да продължите с процедурата по подновяване на паролата, моля последвайте следната връзка:",
"reset.cta": "Натиснете тук, за да подновите паролата си", "reset.cta": "Натиснете тук, за да подновите паролата си",
@@ -21,13 +17,9 @@
"digest.cta": "Натиснете тук, за да посетите %1", "digest.cta": "Натиснете тук, за да посетите %1",
"digest.unsub.info": "Това резюме беше изпратено до Вас поради настройките Ви за абонаментите.", "digest.unsub.info": "Това резюме беше изпратено до Вас поради настройките Ви за абонаментите.",
"digest.no_topics": "Не е имало дейност по темите в последните %1", "digest.no_topics": "Не е имало дейност по темите в последните %1",
"digest.day": "ден", "notif.chat.subject": "Получено е ново чат съобщение от %1",
"digest.week": "месец",
"digest.month": "година",
"digest.subject": "Резюме за %1",
"notif.chat.subject": "Получено е ново съобщение от %1",
"notif.chat.cta": "Натиснете тук, за да продължите разговора", "notif.chat.cta": "Натиснете тук, за да продължите разговора",
"notif.chat.unsub.info": "Това известие за разговор беше изпратено до Вас поради настройките Ви за абонаментите.", "notif.chat.unsub.info": "Това известие за чата беше изпратено до Вас поради настройките Ви за абонаментите.",
"notif.post.cta": "Натиснете тук, за да прочетете цялата тема", "notif.post.cta": "Натиснете тук, за да прочетете цялата тема",
"notif.post.unsub.info": "Това известие за публикация беше изпратено до Вас поради настройките Ви за абонаментите.", "notif.post.unsub.info": "Това известие за публикация беше изпратено до Вас поради настройките Ви за абонаментите.",
"test.text1": "Това е пробно е-писмо, за да потвърдим, че изпращачът на е-поща е правилно настроен за Вашия NodeBB.", "test.text1": "Това е пробно е-писмо, за да потвърдим, че изпращачът на е-поща е правилно настроен за Вашия NodeBB.",

View File

@@ -1,36 +1,31 @@
{ {
"invalid-data": "Грешни данни", "invalid-data": "Невалидни данни",
"not-logged-in": "Изглежда не сте влезли в системата.", "not-logged-in": "Изглежда не сте влезли в системата.",
"account-locked": "Вашият акаунт беше заключен временно", "account-locked": "Вашият акаунт беше заключен временно",
"search-requires-login": "Търсенето изисква акаунт моля, влезте или се регистрирайте.", "search-requires-login": "Търсенето изисква акаунт моля, влезте или се регистрирайте.",
"invalid-cid": "Грешен идентификатор на категория", "invalid-cid": "Невалиден идентификатор на категория",
"invalid-tid": "Грешен идентификатор на тема", "invalid-tid": "Невалиден идентификатор на тема",
"invalid-pid": "Грешен идентификатор на публикация", "invalid-pid": "Невалиден идентификатор на публикация",
"invalid-uid": "Грешен идентификатор на потребител", "invalid-uid": "Невалиден идентификатор на потребител",
"invalid-username": "Грешно потребителско име", "invalid-username": "Невалидно потребителско име",
"invalid-email": "Грешна е-поща", "invalid-email": "Невалидна е-поща",
"invalid-title": "Грешно заглавие!", "invalid-title": "Невалидно заглавие!",
"invalid-user-data": "Грешни потребителски данни", "invalid-user-data": "Невалидни потребителски данни",
"invalid-password": "Грешна парола", "invalid-password": "Невалидна парола",
"invalid-username-or-password": "Моля, посочете потребителско име и парола", "invalid-username-or-password": "Моля, посочете потребителско име и парола",
"invalid-search-term": "Грешен текст за търсене", "invalid-search-term": "Невалиден текст за търсене",
"csrf-invalid": "Не успяхме да Ви впишем, най-вероятно защото сесията Ви е изтекла. Моля, опитайте отново", "invalid-pagination-value": "Невалиден номер на страница",
"invalid-pagination-value": "Грешен номер на страница, трябва да бъде между %1 и %2",
"username-taken": "Потребителското име е заето", "username-taken": "Потребителското име е заето",
"email-taken": "Е-пощата е заета", "email-taken": "Е-пощата е заета",
"email-not-confirmed": "Вашата е-поща все още не е потвърдена. Моля, натиснете тук, за да потвърдите е-пощата си.", "email-not-confirmed": "Вашата е-поща все още не е потвърдена. Моля, натиснете тук, за да потвърдите е-пощата си.",
"email-not-confirmed-chat": "Няма да можете да пишете в разговори, докато е-пощата Ви не бъде потвърдена. Моля, натиснете тук, за да потвърдите е-пощата си.", "email-not-confirmed-chat": "Няма да можете да пишете в чата, докато е-пощата Ви не бъде потвърдена. Моля, натиснете тук, за да потвърдите е-пощата си.",
"no-email-to-confirm": "Този форум изисква потвърдена е-поща. Моля, натиснете тук, за да въведете е-поща", "no-email-to-confirm": "Този форум изисква потвърдена е-поща. Моля, натиснете тук, за да въведете е-поща",
"email-confirm-failed": "Не успяхме да потвърдим е-пощата Ви. Моля, опитайте отново по-късно.", "email-confirm-failed": "Не успяхме да потвърдим е-пощата Ви. Моля, опитайте отново по-късно.",
"confirm-email-already-sent": "Е-писмото за потвърждение вече е изпратено. Моля, почакайте още %1 минута/и, преди да изпратите ново.", "confirm-email-already-sent": "Е-писмото за потвърждение вече е изпратено. Моля, почакайте още %1 минута/и, преди да изпратите ново.",
"sendmail-not-found": "Изпълнимият файл на „sendmail“ не може да бъде намерен. Моля, уверете се, че е инсталиран и изпълним за потребителя, чрез който е пуснат NodeBB.",
"username-too-short": "Потребителското име е твърде кратко", "username-too-short": "Потребителското име е твърде кратко",
"username-too-long": "Потребителското име е твърде дълго", "username-too-long": "Потребителското име е твърде дълго",
"password-too-long": "Паролата е твърде дълга",
"user-banned": "Потребителят е блокиран", "user-banned": "Потребителят е блокиран",
"user-too-new": "Съжаляваме, но трябва да изчакате поне %1 секунда/и, преди да направите първата си публикация", "user-too-new": "Съжаляваме, но трябва да изчакате поне %1 секунда/и, преди да направите първата си публикация",
"blacklisted-ip": "Съжаляваме, но Вашият IP адрес е забранен за ползване в тази общност. Ако смятате, че това е грешка, моля, свържете се с администратор.",
"ban-expiry-missing": "Моля, задайте крайна дата за това блокиране",
"no-category": "Категорията не съществува", "no-category": "Категорията не съществува",
"no-topic": "Темата не съществува", "no-topic": "Темата не съществува",
"no-post": "Публикацията не съществува", "no-post": "Публикацията не съществува",
@@ -38,22 +33,11 @@
"no-user": "Потребителят не съществува", "no-user": "Потребителят не съществува",
"no-teaser": "Резюмето не съществува", "no-teaser": "Резюмето не съществува",
"no-privileges": "Нямате достатъчно права за това действие.", "no-privileges": "Нямате достатъчно права за това действие.",
"no-emailers-configured": "Добавките за е-поща не са заредени, така че не може да бъде изпратено пробно е-писмо",
"category-disabled": "Категорията е изключена", "category-disabled": "Категорията е изключена",
"topic-locked": "Темата е заключена", "topic-locked": "Темата е заключена",
"post-edit-duration-expired": "Можете да редактирате публикациите си до %1 секунда/и, след като ги пуснете", "post-edit-duration-expired": "Можете да редактирате публикациите си до %1 секунда/и, след като ги пуснете",
"post-edit-duration-expired-minutes": "Можете да редактирате публикациите си до %1 минута/и, след като ги пуснете", "still-uploading": "Моля, изчакайте качването да приключи.",
"post-edit-duration-expired-minutes-seconds": "Можете да редактирате публикациите си до %1 минута/и и %2 секунда/и, след като ги пуснете",
"post-edit-duration-expired-hours": "Можете да редактирате публикациите си до %1 час(а), след като ги пуснете",
"post-edit-duration-expired-hours-minutes": "Можете да редактирате публикациите си до %1 час(а) и %2 минута/и, след като ги пуснете",
"post-edit-duration-expired-days": "Можете да редактирате публикациите си до %1 ден(а), след като ги пуснете",
"post-edit-duration-expired-days-hours": "Можете да редактирате публикациите си до %1 ден(а) и %2 час(а), след като ги пуснете",
"post-delete-duration-expired": "Можете да изтривате публикациите си до %1 секунда/и, след като ги пуснете",
"post-delete-duration-expired-minutes": "Можете да изтривате публикациите си до %1 минута/и, след като ги пуснете",
"post-delete-duration-expired-minutes-seconds": "Можете да изтривате публикациите си до %1 минута/и и %2 секунда/и, след като ги пуснете",
"post-delete-duration-expired-hours": "Можете да изтривате публикациите си до %1 час(а), след като ги пуснете",
"post-delete-duration-expired-hours-minutes": "Можете да изтривате публикациите си до %1 час(а) и %2 минута/и, след като ги пуснете",
"post-delete-duration-expired-days": "Можете да изтривате публикациите си до %1 ден(а), след като ги пуснете",
"post-delete-duration-expired-days-hours": "Можете да изтривате публикациите си до %1 ден(а) и %2 час(а), след като ги пуснете",
"content-too-short": "Моля, въведете по-дълъг текст на публикацията. Публикациите трябва да съдържат поне %1 символ(а).", "content-too-short": "Моля, въведете по-дълъг текст на публикацията. Публикациите трябва да съдържат поне %1 символ(а).",
"content-too-long": "Моля, въведете по-кратък текст на публикацията. Публикациите трябва да съдържат не повече от %1 символ(а).", "content-too-long": "Моля, въведете по-кратък текст на публикацията. Публикациите трябва да съдържат не повече от %1 символ(а).",
"title-too-short": "Моля, въведете по-дълго заглавие. Заглавията трябва да съдържат поне %1 символ(а).", "title-too-short": "Моля, въведете по-дълго заглавие. Заглавията трябва да съдържат поне %1 символ(а).",
@@ -62,28 +46,19 @@
"too-many-posts-newbie": "Като нов потребител, Вие можете да публикувате веднъж на %1 секунда/и, докато не натрупате %2 репутация моля, изчакайте малко, преди да опитате да публикувате отново", "too-many-posts-newbie": "Като нов потребител, Вие можете да публикувате веднъж на %1 секунда/и, докато не натрупате %2 репутация моля, изчакайте малко, преди да опитате да публикувате отново",
"tag-too-short": "Моля, въведете по-дълъг етикет. Етикетите трябва да съдържат поне %1 символ(а)", "tag-too-short": "Моля, въведете по-дълъг етикет. Етикетите трябва да съдържат поне %1 символ(а)",
"tag-too-long": "Моля, въведете по-кратък етикет. Етикетите трябва да съдържат не повече от %1 символ(а)", "tag-too-long": "Моля, въведете по-кратък етикет. Етикетите трябва да съдържат не повече от %1 символ(а)",
"not-enough-tags": "Недостатъчно етикети. Темите трябва да имат поне %1 етикет(а)",
"too-many-tags": "Твърде много етикети. Темите не могат да имат повече от %1 етикет(а)",
"still-uploading": "Моля, изчакайте качването да приключи.",
"file-too-big": "Максималният разрешен размер на файл е %1 КБ моля, качете по-малък файл", "file-too-big": "Максималният разрешен размер на файл е %1 КБ моля, качете по-малък файл",
"guest-upload-disabled": "Качването не е разрешено за гости", "cant-vote-self-post": "Не можете да гласувате за собствената си публикация",
"already-favourited": "Вече имате отметка към тази публикация", "already-favourited": "Вече сте отбелязали тази публикация като любима",
"already-unfavourited": "Вече сте премахнали отметката си към тази публикация", "already-unfavourited": "Вече сте премахнали тази публикация от любимите си",
"cant-ban-other-admins": "Не можете да блокирате другите администратори!", "cant-ban-other-admins": "Не можете да блокирате другите администратори!",
"cant-remove-last-admin": "Вие сте единственият администратор. Добавете друг потребител като администратор, преди да премахнете себе си като администратор",
"cant-delete-admin": "Премахнете администраторските права от този акаунт, преди да го изтриете.",
"invalid-image-type": "Грешен тип на изображение. Позволените типове са: %1", "invalid-image-type": "Грешен тип на изображение. Позволените типове са: %1",
"invalid-image-extension": "Грешно разширение на изображението", "invalid-image-extension": "Грешно разширение на изображението",
"invalid-file-type": "Грешен тип на файл. Позволените типове са: %1", "invalid-file-type": "Грешен тип на файл. Позволените типове са: %1",
"group-name-too-short": "Името на групата е твърде кратко", "group-name-too-short": "Името на групата е твърде кратко",
"group-name-too-long": "Името на групата е твърде дълго",
"group-already-exists": "Вече съществува такава група", "group-already-exists": "Вече съществува такава група",
"group-name-change-not-allowed": "Промяната на името на групата не е разрешено", "group-name-change-not-allowed": "Промяната на името на групата не е разрешено",
"group-already-member": "Потребителят вече членува в тази група", "group-already-member": "Вече сте част от тази група",
"group-not-member": "Потребителят не членува в тази група",
"group-needs-owner": "Тази група се нуждае от поне един собственик", "group-needs-owner": "Тази група се нуждае от поне един собственик",
"group-already-invited": "Този потребител вече е бил поканен",
"group-already-requested": "Вашата заявка за членство вече е била изпратена",
"post-already-deleted": "Тази публикация вече е изтрита", "post-already-deleted": "Тази публикация вече е изтрита",
"post-already-restored": "Тази публикация вече е възстановена", "post-already-restored": "Тази публикация вече е възстановена",
"topic-already-deleted": "Тази тема вече е изтрита", "topic-already-deleted": "Тази тема вече е изтрита",
@@ -92,33 +67,18 @@
"topic-thumbnails-are-disabled": "Иконките на темите са изключени.", "topic-thumbnails-are-disabled": "Иконките на темите са изключени.",
"invalid-file": "Грешен файл", "invalid-file": "Грешен файл",
"uploads-are-disabled": "Качването не е разрешено", "uploads-are-disabled": "Качването не е разрешено",
"signature-too-long": "Съжаляваме, но подписът Ви трябва да съдържа не повече от %1 символ(а).", "signature-too-long": "Sorry, your signature cannot be longer than %1 character(s).",
"about-me-too-long": "Съжаляваме, но информацията за Вас трябва да съдържа не повече от %1 символ(а).", "about-me-too-long": "Sorry, your about me cannot be longer than %1 character(s).",
"cant-chat-with-yourself": "Не можете да пишете съобщение на себе си!", "cant-chat-with-yourself": "Не можете да пишете чат съобщение на себе си!",
"chat-restricted": "Този потребител е ограничил съобщенията до себе си. Той трябва първо да Ви последва, преди да можете да си пишете с него.", "chat-restricted": "Този потребител е ограничил чат съобщенията до себе си. Той трябва първо да Ви последва, преди да можете да си пишете с него.",
"chat-disabled": "Системата за разговори е изключена",
"too-many-messages": "Изпратили сте твърде много съобщения. Моля, изчакайте малко.", "too-many-messages": "Изпратили сте твърде много съобщения. Моля, изчакайте малко.",
"invalid-chat-message": "Неправилно съобщение",
"chat-message-too-long": "Съобщението е твърде дълго",
"cant-edit-chat-message": "Нямате право да редактирате това съобщение",
"cant-remove-last-user": "Не можете да премахнете последния потребител",
"cant-delete-chat-message": "Нямате право да изтриете това съобщение",
"already-voting-for-this-post": "Вече сте дали глас за тази публикация.",
"reputation-system-disabled": "Системата за репутация е изключена.", "reputation-system-disabled": "Системата за репутация е изключена.",
"downvoting-disabled": "Отрицателното гласуване е изключено", "downvoting-disabled": "Отрицателното гласуване е изключено",
"not-enough-reputation-to-downvote": "Нямате достатъчно репутация, за да гласувате отрицателно за тази публикация", "not-enough-reputation-to-downvote": "Нямате достатъчно репутация, за да гласувате отрицателно за тази публикация",
"not-enough-reputation-to-flag": "Нямате достатъчно репутация, за да докладвате тази публикация", "not-enough-reputation-to-flag": "Нямате достатъчно репутация, за да докладвате тази публикация",
"already-flagged": "Вече сте докладвали тази публикация",
"reload-failed": "NodeBB срещна проблем при презареждането: „%1“. NodeBB ще продължи да поддържа съществуващите клиентски ресурси, но Вие трябва да отмените последните си действия преди презареждането.", "reload-failed": "NodeBB срещна проблем при презареждането: „%1“. NodeBB ще продължи да поддържа съществуващите клиентски ресурси, но Вие трябва да отмените последните си действия преди презареждането.",
"registration-error": "Грешка при регистрацията", "registration-error": "Грешка при регистрацията",
"parse-error": "Нещо се обърка при прочитането на отговора на сървъра", "parse-error": "Нещо се обърка при прочитането на отговора на сървъра",
"wrong-login-type-email": "Моля, използвайте е-пощата си, за да влезете", "wrong-login-type-email": "Моля, използвайте е-пощата си, за да влезете",
"wrong-login-type-username": "Моля, използвайте потребителското си име, за да влезете", "wrong-login-type-username": "Моля, използвайте потребителското си име, за да влезете"
"invite-maximum-met": "Вие сте поканили максимално позволения брой хора (%1 от %2).",
"no-session-found": "Не е открита сесия за вход!",
"not-in-room": "Потребителят не е в стаята",
"no-users-in-room": "Няма потребители в тази стая",
"cant-kick-self": "Не можете да изритате себе си от групата",
"no-users-selected": "Няма избран(и) потребител(и)",
"invalid-home-page-route": "Грешен път към началната страница"
} }

View File

@@ -9,8 +9,8 @@
"404.message": "Изглежда сте се опитали да посетите страница, която не съществува. Върнете се към <a href='%1/'>началната страница</a>.", "404.message": "Изглежда сте се опитали да посетите страница, която не съществува. Върнете се към <a href='%1/'>началната страница</a>.",
"500.title": "Вътрешна грешка.", "500.title": "Вътрешна грешка.",
"500.message": "Опа! Изглежда нещо се обърка!", "500.message": "Опа! Изглежда нещо се обърка!",
"register": "Регистрация", "register": "Регистриране",
"login": "Вход", "login": "Влизане",
"please_log_in": "Моля, влезте", "please_log_in": "Моля, влезте",
"logout": "Изход", "logout": "Изход",
"posting_restriction_info": "Публикуването в момента е позволено само за регистрираните потребители. Натиснете тук, за да влезете.", "posting_restriction_info": "Публикуването в момента е позволено само за регистрираните потребители. Натиснете тук, за да влезете.",
@@ -22,20 +22,18 @@
"pagination.out_of": "%1 от %2", "pagination.out_of": "%1 от %2",
"pagination.enter_index": "Въведете номер", "pagination.enter_index": "Въведете номер",
"header.admin": "Администратор", "header.admin": "Администратор",
"header.categories": "Категории",
"header.recent": "Скорошни", "header.recent": "Скорошни",
"header.unread": "Непрочетени", "header.unread": "Непрочетени",
"header.tags": "Етикети", "header.tags": "Етикети",
"header.popular": "Популярни", "header.popular": "Популярни",
"header.users": "Потребители", "header.users": "Потребители",
"header.groups": "Групи", "header.groups": "Групи",
"header.chats": "Разговори", "header.chats": "Чатове",
"header.notifications": "Известия", "header.notifications": "Известия",
"header.search": "Търсене", "header.search": "Търсене",
"header.profile": "Профил", "header.profile": "Профил",
"header.navigation": "Навигация",
"notifications.loading": "Зареждане на известията", "notifications.loading": "Зареждане на известията",
"chats.loading": "Зареждане на разговорите", "chats.loading": "Зареждане на чатовете",
"motd.welcome": "Добре дошли в NodeBB, системата за дискусии на бъдещето.", "motd.welcome": "Добре дошли в NodeBB, системата за дискусии на бъдещето.",
"previouspage": "Предишна страница", "previouspage": "Предишна страница",
"nextpage": "Следваща страница", "nextpage": "Следваща страница",
@@ -48,26 +46,20 @@
"online": "На линия", "online": "На линия",
"users": "Потребители", "users": "Потребители",
"topics": "Теми", "topics": "Теми",
"posts": "Публ.", "posts": "Публикации",
"best": "Най-добри", "views": "Преглеждания",
"upvoters": "Гласували положително",
"upvoted": "С положителни гласове",
"downvoters": "Гласували отрицателно",
"downvoted": "С отрицателни гласове",
"views": "Прегл.",
"reputation": "Репутация", "reputation": "Репутация",
"read_more": "още", "read_more": "още",
"more": "Още",
"posted_ago_by_guest": "публикувано %1 от гост", "posted_ago_by_guest": "публикувано %1 от гост",
"posted_ago_by": "публикувано %1 от %2", "posted_ago_by": "публикувано %1 от %2",
"posted_ago": "публикувано %1", "posted_ago": "публикувано %1",
"posted_in": "публикувано в %1", "posted_in_ago_by_guest": "публикувано в %1 %2 от гост",
"posted_in_by": "публикувано в %1 от %2",
"posted_in_ago": "публикувано в %1 %2",
"posted_in_ago_by": "публикувано в %1 %2 от %3", "posted_in_ago_by": "публикувано в %1 %2 от %3",
"posted_in_ago": "публикувано в %1 %2",
"replied_ago": "отговори %1",
"user_posted_ago": "%1 публикува %2", "user_posted_ago": "%1 публикува %2",
"guest_posted_ago": "гост публикува %1", "guest_posted_ago": "гост публикува %1",
"last_edited_by": "последно редактирано от %1", "last_edited_by_ago": "последно редактирано от %1 %2",
"norecentposts": "Няма скорошни публикации", "norecentposts": "Няма скорошни публикации",
"norecenttopics": "Няма скорошни теми", "norecenttopics": "Няма скорошни теми",
"recentposts": "Скорошни публикации", "recentposts": "Скорошни публикации",
@@ -85,12 +77,5 @@
"privacy": "Поверителност", "privacy": "Поверителност",
"follow": "Следване", "follow": "Следване",
"unfollow": "Прекратяване на следването", "unfollow": "Прекратяване на следването",
"delete_all": "Изтриване на всичко", "delete_all": "Изтриване на всичко"
"map": "Карта",
"sessions": "Сесии за вход",
"ip_address": "IP адрес",
"enter_page_number": "Въведете номер на страница",
"upload_file": "Качване на файл",
"upload": "Качване",
"allowed-file-types": "Разрешените файлови типове са: %1"
} }

View File

@@ -6,25 +6,16 @@
"no_groups_found": "Няма групи", "no_groups_found": "Няма групи",
"pending.accept": "Приемане", "pending.accept": "Приемане",
"pending.reject": "Отхвърляне", "pending.reject": "Отхвърляне",
"pending.accept_all": "Приемане на всички", "cover-instructions": "Плъзнете снимка, наместете я в предпочитаната позиция и натистнете <strong>Запазване</strong>",
"pending.reject_all": "Отхвърляне на всички", "cover-change": "Промяна",
"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-save": "Запазване", "cover-save": "Запазване",
"cover-saving": "Запазване", "cover-saving": "Запазване",
"details.title": "Подробности за групата", "details.title": "Подробности за групата",
"details.members": "Списък на членовете", "details.members": "Списък на членовете",
"details.pending": "Кандидатстващи членове", "details.pending": "Кандидатстващи членове",
"details.invited": "Поканени членове",
"details.has_no_posts": "Членовете на тази група не са публикували нищо.", "details.has_no_posts": "Членовете на тази група не са публикували нищо.",
"details.latest_posts": "Скорошни публикации", "details.latest_posts": "Скорошни публикации",
"details.private": "Частна", "details.private": "Частна",
"details.disableJoinRequests": "Забраняване на заявките за присъединяване",
"details.grant": "Даване/отнемане на собственост", "details.grant": "Даване/отнемане на собственост",
"details.kick": "Изгонване", "details.kick": "Изгонване",
"details.owner_options": "Администрация на групата", "details.owner_options": "Администрация на групата",
@@ -40,15 +31,6 @@
"details.private_help": "Ако е включено, присъединяването към група изисква одобрението на собственика ѝ", "details.private_help": "Ако е включено, присъединяването към група изисква одобрението на собственика ѝ",
"details.hidden": "Скрита", "details.hidden": "Скрита",
"details.hidden_help": "Ако е включено, тази група няма да бъде извеждана в списъка от групи и потребителите ще трябва да бъдат поканени лично", "details.hidden_help": "Ако е включено, тази група няма да бъде извеждана в списъка от групи и потребителите ще трябва да бъдат поканени лично",
"details.delete_group": "Изтриване на групата",
"details.private_system_help": "Частните групи са забранени на системно ниво; тази възможност не върши нищо",
"event.updated": "Подробностите за групата бяха обновени", "event.updated": "Подробностите за групата бяха обновени",
"event.deleted": "Групата „%1“ беше изтрита", "event.deleted": "Групата „%1“ беше изтрита"
"membership.accept-invitation": "Приемане на поканата",
"membership.invitation-pending": "Чакаща покана",
"membership.join-group": "Присъединяване към групата",
"membership.leave-group": "Напускане на групата",
"membership.reject": "Отхвърляне",
"new-group.group_name": "Име на групата:",
"upload-group-cover": "Качване на снимка за показване на групата"
} }

View File

@@ -5,8 +5,7 @@
"remember_me": "Запомнете ме?", "remember_me": "Запомнете ме?",
"forgot_password": "Забравена парола?", "forgot_password": "Забравена парола?",
"alternative_logins": "Други начини за влизане", "alternative_logins": "Други начини за влизане",
"failed_login_attempt": "Влизането беше неуспешно", "failed_login_attempt": "Неуспешно влизане. Моля, опитайте отново.",
"login_successful": "Вие влязохте успешно!", "login_successful": "Вие влязохте успешно!",
"dont_have_account": "Нямате акаунт?", "dont_have_account": "Нямате акаунт?"
"logged-out-due-to-inactivity": "Вие излязохте автоматично от администраторския контролен панел, поради бездействие."
} }

View File

@@ -1,46 +1,26 @@
{ {
"chat.chatting_with": "Разговор с <span id=\"chat-with-name\"></span>", "chat.chatting_with": "Чат с <span id=\"chat-with-name\"></span>",
"chat.placeholder": "Въведете съобщението тук и натиснете Ентер за изпращане", "chat.placeholder": "Въведете чат съобщението тук и натиснете Ентер за изпращане",
"chat.send": "Изпращане", "chat.send": "Изпращане",
"chat.no_active": "Нямате текущи разговори.", "chat.no_active": "Нямате текущи чатове.",
"chat.user_typing": "%1 пише...", "chat.user_typing": "%1 пише...",
"chat.user_has_messaged_you": "%1 Ви написа съобщение.", "chat.user_has_messaged_you": "%1 Ви написа съобщение.",
"chat.see_all": "Вижте всички разговори", "chat.see_all": "Вижте всички чатове",
"chat.mark_all_read": "Отбелязване на всички разговори като прочетени", "chat.no-messages": "Моля, изберете получател, за да видите историята на чат съобщенията",
"chat.no-messages": "Моля, изберете получател, за да видите историята на съобщенията", "chat.recent-chats": "Скорошни чатове",
"chat.no-users-in-room": "Няма потребители в тази стая",
"chat.recent-chats": "Скорошни разговори",
"chat.contacts": "Контакти", "chat.contacts": "Контакти",
"chat.message-history": "История на съобщенията", "chat.message-history": "История на съобщенията",
"chat.pop-out": "Отделяне на разговора в прозорец", "chat.pop-out": "Отделяне на чата в прозорец",
"chat.maximize": "Уголемяване", "chat.maximize": "Уголемяване",
"chat.seven_days": "7 дни", "chat.seven_days": "7 дни",
"chat.thirty_days": "30 дни", "chat.thirty_days": "30 дни",
"chat.three_months": "3 месеца", "chat.three_months": "3 месеца",
"chat.delete_message_confirm": "Наистина ли искате да изтриете това съобщение?",
"chat.roomname": "Стая за разговори %1",
"chat.add-users-to-room": "Добавяне на потребители към стаята",
"composer.compose": "Писане", "composer.compose": "Писане",
"composer.show_preview": "Показване на прегледа", "composer.show_preview": "Показване на прегледа",
"composer.hide_preview": "Скриване на прегледа", "composer.hide_preview": "Скриване на прегледа",
"composer.user_said_in": "%1 каза в %2:", "composer.user_said_in": "%1 каза в %2:",
"composer.user_said": "%1 каза:", "composer.user_said": "%1 каза:",
"composer.discard": "Наистина ли искате да отхвърлите тази публикация?", "composer.discard": "Сигурни ли сте, че искате да отхвърлите тази публикация?",
"composer.submit_and_lock": "Публикуване и заключване", "composer.submit_and_lock": "Публикуване и заключване",
"composer.toggle_dropdown": "Превключване на падащото меню", "composer.toggle_dropdown": "Превключване на падащото меню"
"composer.uploading": "Качване на %1",
"composer.formatting.bold": "Получер",
"composer.formatting.italic": "Курсив",
"composer.formatting.list": "Списък",
"composer.formatting.strikethrough": "Зачертан",
"composer.formatting.link": "Връзка",
"composer.formatting.picture": "Снимка",
"composer.upload-picture": "Качване на изображение",
"composer.upload-file": "Качване на файл",
"bootbox.ok": "Добре",
"bootbox.cancel": "Отказ",
"bootbox.confirm": "Потвърждаване",
"cover.dragging_title": "Наместване на снимката",
"cover.dragging_message": "Преместете снимката на желаното положение и натиснете „Запазване“",
"cover.saved": "Снимката и мястото ѝ бяха запазени"
} }

View File

@@ -5,29 +5,21 @@
"mark_all_read": "Отбелязване на всички известия като прочетени", "mark_all_read": "Отбелязване на всички известия като прочетени",
"back_to_home": "Назад към %1", "back_to_home": "Назад към %1",
"outgoing_link": "Външна връзка", "outgoing_link": "Външна връзка",
"outgoing_link_message": "Напускате %1", "outgoing_link_message": "Вие напускате %1.",
"continue_to": "Продължаване към %1", "continue_to": "Продължаване към %1",
"return_to": "Връщане към %1", "return_to": "Връщане към %1",
"new_notification": "Ново известие", "new_notification": "Ново известие",
"you_have_unread_notifications": "Имате непрочетени известия", "you_have_unread_notifications": "Имате непрочетени известия",
"new_message_from": "Ново съобщение от <strong>%1</strong>", "new_message_from": "Ново съобщение от <strong>%1</strong>",
"upvoted_your_post_in": "<strong>%1</strong> гласува положително за Ваша публикация в <strong>%2</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>.", "moved_your_post": "<strong>%1</strong> премести Ваша публикация.",
"upvoted_your_post_in_multiple": "<strong>%1</strong> и %2 други гласуваха положително за Ваша публикация в <strong>%3</strong>.", "moved_your_topic": "<strong>%1</strong> премести Ваша тема.",
"moved_your_post": "<strong>%1</strong> премести публикацията Ви в <strong>%2</strong>", "favourited_your_post_in": "<strong>%1</strong> отбеляза Ваша публикация в <strong>%2</strong> като любима.",
"moved_your_topic": "<strong>%1</strong> премести <strong>%2</strong>",
"user_flagged_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": "<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_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": "<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": "Има <strong>%1</strong> заявки за регистрация, които очакват да бъдат прегледани.",
"email-confirmed": "Е-пощата беше потвърдена", "email-confirmed": "Е-пощата беше потвърдена",
"email-confirmed-message": "Благодарим Ви, че потвърдихте е-пощата си. Акаунтът Ви е вече напълно активиран.", "email-confirmed-message": "Благодарим Ви, че потвърдихте е-пощата си. Акаунтът Ви е вече напълно активиран.",
"email-confirm-error-message": "Възникна проблем при потвърждаването на е-пощата Ви. Може кодът да е грешен или давността му да е изтекла.", "email-confirm-error-message": "Възникна проблем при потвърждаването на е-пощата Ви. Може кодът да е грешен или давността му да е изтекла.",

View File

@@ -1,48 +1,21 @@
{ {
"home": "Начало", "home": "Начало",
"unread": "Непрочетени теми", "unread": "Непрочетени теми",
"popular-day": "Популярните теми днес", "popular": "Популярни теми",
"popular-week": "Популярните теми тази седмица",
"popular-month": "Популярните теми този месец",
"popular-alltime": "Популярните теми за всички времена",
"recent": "Скорошни теми", "recent": "Скорошни теми",
"flagged-posts": "Докладвани публикации", "users": "Регистрирани потребители",
"users/online": "Потребители на линия",
"users/latest": "Последни потребители",
"users/sort-posts": "Потребители с най-много публикации",
"users/sort-reputation": "Потребители с най-висока репутация",
"users/banned": "Блокирани потребители",
"users/most-flags": "Най-докладвани потребители",
"users/search": "Търсене на потребители",
"notifications": "Известия", "notifications": "Известия",
"tags": "Етикети", "tags": "Етикети",
"tag": "Теми, отбелязани като „%1“", "tag": "Теми, отбелязани като „%1“",
"register": "Регистрирайте акаунт", "user.edit": "Редактиране на „%1“",
"login": "Влезте в акаунта си", "user.following": "Хора, които %1 следва",
"reset": "Подновете паролата за акаунта си", "user.followers": "Хора, които следват %1",
"categories": "Категории", "user.posts": "Публикации от %1",
"groups": "Групи", "user.topics": "Теми, създадени от %1",
"group": "Група %1", "user.groups": "Групите на %1",
"chats": "Разговори", "user.favourites": "Любимите публикации на %1",
"chat": "Разговаря с %1", "user.settings": "Настройки на потребителя",
"account/edit": "Редактиране на „%1", "user.watched": "Теми, следени от %1",
"account/edit/password": "Редактиране на паролата на „%1“",
"account/edit/username": "Редактиране на потребителското име на „%1“",
"account/edit/email": "Редактиране на е-пощата на „%1“",
"account/info": "Информация за акаунта",
"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": "Е-пощата е потвърдена",
"maintenance.text": "%1 в момента е в профилактика. Моля, върнете се по-късно.", "maintenance.text": "%1 в момента е в профилактика. Моля, върнете се по-късно.",
"maintenance.messageIntro": "В допълнение, администраторът е оставил това съобщение:", "maintenance.messageIntro": "В допълнение, администраторът е оставил това съобщение:"
"throttled.text": "%1 в момента е недостъпен, поради прекомерно натоварване. Моля, върнете се отново по-късно."
} }

View File

@@ -1,6 +1,5 @@
{ {
"register": "Регистрация", "register": "Регистрация",
"cancel_registration": "Отказване на регистрацията",
"help.email": "По подразбиране, Вашата е-поща ще бъде скрита за останалите.", "help.email": "По подразбиране, Вашата е-поща ще бъде скрита за останалите.",
"help.username_restrictions": "Уникално потребителско име с дължина между %1 и %2 символа. Другите ще могат да Ви споменават чрез @<span id='yourUsername'>потребител</span>.", "help.username_restrictions": "Уникално потребителско име с дължина между %1 и %2 символа. Другите ще могат да Ви споменават чрез @<span id='yourUsername'>потребител</span>.",
"help.minimum_password_length": "Дължината на паролата Ви трябва да е поне %1 символа.", "help.minimum_password_length": "Дължината на паролата Ви трябва да е поне %1 символа.",
@@ -15,9 +14,5 @@
"register_now_button": "Регистриране", "register_now_button": "Регистриране",
"alternative_registration": "Друг начин за регистриране", "alternative_registration": "Друг начин за регистриране",
"terms_of_use": "Условия за ползване", "terms_of_use": "Условия за ползване",
"agree_to_terms_of_use": "Съгласен съм с условията за ползване", "agree_to_terms_of_use": "Съгласен съм с условията за ползване"
"terms_of_use_error": "Трябва да се съгласите с условията за ползване",
"registration-added-to-queue": "Вашата регистрация беше добавена в опашката за одобрение. Ще получите е-писмо, когато тя бъде одобрена от администратор.",
"interstitial.intro": "Нуждаем се от малко допълнителна информация, преди да можем да създадем акаунта Ви.",
"interstitial.errors-found": "Не можем да завършим Вашата регистрация:"
} }

View File

@@ -9,11 +9,10 @@
"profile": "Профил", "profile": "Профил",
"posted_by": "Публикувано от %1", "posted_by": "Публикувано от %1",
"posted_by_guest": "Публикувано от гост", "posted_by_guest": "Публикувано от гост",
"chat": "Разговор", "chat": "Чат",
"notify_me": "Получавайте известия за новите отговори в тази тема", "notify_me": "Получавайте известия за новите отговори в тази тема",
"quote": "Цитат", "quote": "Цитат",
"reply": "Отговор", "reply": "Отговор",
"reply-as-topic": "Отговор в нова тема",
"guest-login-reply": "Влезте, за да отговорите", "guest-login-reply": "Влезте, за да отговорите",
"edit": "Редактиране", "edit": "Редактиране",
"delete": "Изтриване", "delete": "Изтриване",
@@ -26,30 +25,20 @@
"tools": "Инструменти", "tools": "Инструменти",
"flag": "Докладване", "flag": "Докладване",
"locked": "Заключена", "locked": "Заключена",
"pinned": "Закачена", "bookmark_instructions": "Натиснете, за да се върнете на последната си позиция или затворете, за да отхвърлите.",
"moved": "Преместена",
"bookmark_instructions": "Щракнете тук, за да се върнете към последно прочетената публикация в тази тема.",
"flag_title": "Докладване на тази публикация до модератор", "flag_title": "Докладване на тази публикация до модератор",
"flag_confirm": "Сигурни ли сте, че искате да докладвате тази публикация?",
"flag_success": "Тази публикация е била докладвана до модератор.", "flag_success": "Тази публикация е била докладвана до модератор.",
"deleted_message": "Тази тема е била изтрита. Само потребители с права за управление на темите могат да я видят.", "deleted_message": "Тази тема е била изтрита. Само потребители с права за управление на темите могат да я видят.",
"following_topic.message": "Вече ще получавате известия когато някой публикува коментар в тази тема.", "following_topic.message": "Вече ще получавате известия когато някой публикува коментар в тази тема.",
"not_following_topic.message": "Ще виждате тази тема в списъка с непрочетени теми, но няма да получавате известия, когато хората публикуват нещо в нея.", "not_following_topic.message": "Вече няма да получавате известия за тази тема.",
"ignoring_topic.message": "Вече няма да виждате тази тема в списъка с непрочетени теми. Ще получите известие, когато някой Ви спомене или гласува положително за Ваша публикация.",
"login_to_subscribe": "Моля, регистрирайте се или влезте, за да се абонирате за тази тема.", "login_to_subscribe": "Моля, регистрирайте се или влезте, за да се абонирате за тази тема.",
"markAsUnreadForAll.success": "Темата е отбелязана като непрочетена за всички.", "markAsUnreadForAll.success": "Темата е отбелязана като непрочетена за всички.",
"mark_unread": "Отбелязване като непрочетена",
"mark_unread.success": "Темата е отбелязана като непрочетена.",
"watch": "Наблюдаване", "watch": "Наблюдаване",
"unwatch": "Спиране на наблюдаването", "unwatch": "Спиране на наблюдаването",
"watch.title": "Получавайте известия за новите отговори в тази тема", "watch.title": "Получавайте известия за новите отговори в тази тема",
"unwatch.title": "Спрете да наблюдавате тази тема", "unwatch.title": "Спрете да наблюдавате тази тема",
"share_this_post": "Споделете тази публикация", "share_this_post": "Споделете тази публикация",
"watching": "Наблюдавате",
"not-watching": "Не наблюдавате",
"ignoring": "Пренебрегвате",
"watching.description": "Ще получавате известия за новите отговори.<br/>Темата ще се показва в списъка с непрочетени.",
"not-watching.description": "Няма да получавате известия за новите отговори.<br/>Темата ще се показва в списъка с непрочетени, само ако категорията не се пренебрегва.",
"ignoring.description": "Няма да получавате известия за новите отговори.<br/>Темата няма да се показва в списъка с непрочетени.",
"thread_tools.title": "Инструменти за темата", "thread_tools.title": "Инструменти за темата",
"thread_tools.markAsUnreadForAll": "Отбелязване като непрочетена", "thread_tools.markAsUnreadForAll": "Отбелязване като непрочетена",
"thread_tools.pin": "Закачане на темата", "thread_tools.pin": "Закачане на темата",
@@ -60,23 +49,22 @@
"thread_tools.move_all": "Преместване на всички", "thread_tools.move_all": "Преместване на всички",
"thread_tools.fork": "Разделяне на темата", "thread_tools.fork": "Разделяне на темата",
"thread_tools.delete": "Изтриване на темата", "thread_tools.delete": "Изтриване на темата",
"thread_tools.delete-posts": "Изтриване на публикациите", "thread_tools.delete_confirm": "Сигурни ли сте, че искате да изтриете тази тема?",
"thread_tools.delete_confirm": "Наистина ли искате да изтриете тази тема?",
"thread_tools.restore": "Възстановяване на темата", "thread_tools.restore": "Възстановяване на темата",
"thread_tools.restore_confirm": "Наистина ли искате да възстановите тази тема?", "thread_tools.restore_confirm": "Сигурни ли сте, че искате да възстановите тази тема?",
"thread_tools.purge": "Изчистване на темата", "thread_tools.purge": "Изчистване на темата",
"thread_tools.purge_confirm": "Наистина ли искате да изчистите тази тема?", "thread_tools.purge_confirm": "Сигурни ли сте, че искате да изчистите тази тема?",
"topic_move_success": "Темата беше преместена успешно в %1", "topic_move_success": "Темата беше преместена успешно в %1",
"post_delete_confirm": "Наистина ли искате да изтриете тази публикация?", "post_delete_confirm": "Сигурни ли сте, че искате да изтриете тази публикация?",
"post_restore_confirm": "Наистина ли искате да възстановите тази публикация?", "post_restore_confirm": "Сигурни ли сте, че искате да възстановите тази публикация?",
"post_purge_confirm": "Наистина ли искате да изчистите тази публикация?", "post_purge_confirm": "Сигурни ли сте, че искате да изчистите тази публикация?",
"load_categories": "Зареждане на категориите", "load_categories": "Зареждане на категориите",
"disabled_categories_note": "Изключените категории са засивени", "disabled_categories_note": "Изключените категории са засивени",
"confirm_move": "Преместване", "confirm_move": "Преместване",
"confirm_fork": "Разделяне", "confirm_fork": "Разделяне",
"favourite": "Отметка", "favourite": "Любима",
"favourites": "Отметки", "favourites": "Любими",
"favourites.has_no_favourites": "Все още не сте си запазвали отметки към никакви публикации.", "favourites.has_no_favourites": "Нямате любими, отбележете няколко публикации, за да ги видите тук!",
"loading_more_posts": "Зареждане на още публикации", "loading_more_posts": "Зареждане на още публикации",
"move_topic": "Преместване на темата", "move_topic": "Преместване на темата",
"move_topics": "Преместване на темите", "move_topics": "Преместване на темите",
@@ -87,7 +75,6 @@
"fork_topic_instruction": "Натиснете публикациите, които искате да отделите", "fork_topic_instruction": "Натиснете публикациите, които искате да отделите",
"fork_no_pids": "Няма избрани публикации!", "fork_no_pids": "Няма избрани публикации!",
"fork_success": "Темата е разделена успешно! Натиснете тук, за да преминете към отделената тема.", "fork_success": "Темата е разделена успешно! Натиснете тук, за да преминете към отделената тема.",
"delete_posts_instruction": "Натиснете публикациите, които искате да изтриете/изчистите",
"composer.title_placeholder": "Въведете заглавието на темата си тук...", "composer.title_placeholder": "Въведете заглавието на темата си тук...",
"composer.handle_placeholder": "Име", "composer.handle_placeholder": "Име",
"composer.discard": "Отхвърляне", "composer.discard": "Отхвърляне",
@@ -109,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": "Създаване на нова тема вместо това?",
"stale.warning": "Темата, в която отговаряте, е доста стара. Искате ли вместо това да създадете нова и да направите препратка към тази в отговора си?",
"stale.create": "Създаване на нова тема",
"stale.reply_anyway": "Отговаряне в тази тема въпреки това",
"link_back": "Отговор: [%1](%2)",
"spam": "Спам",
"offensive": "Обидно",
"custom-flag-reason": "Изберете причина за докладване"
} }

View File

@@ -5,9 +5,5 @@
"mark_as_read": "Отбелязване като прочетени", "mark_as_read": "Отбелязване като прочетени",
"selected": "Избраните", "selected": "Избраните",
"all": "Всички", "all": "Всички",
"all_categories": "Всички категории", "topics_marked_as_read.success": "Темите бяха отбелязани като прочетени!"
"topics_marked_as_read.success": "Темите бяха отбелязани като прочетени!",
"all-topics": "Всички теми",
"new-topics": "Нови теми",
"watched-topics": "Наблюдавани теми"
} }

View File

@@ -1,6 +0,0 @@
{
"uploading-file": "Качване на файла…",
"select-file-to-upload": "Изберете файл за качване!",
"upload-success": "Файлът е качен успешно!",
"maximum-file-size": "Най-много %1 КБ"
}

View File

@@ -6,14 +6,8 @@
"postcount": "Брой публикации", "postcount": "Брой публикации",
"email": "Е-поща", "email": "Е-поща",
"confirm_email": "Потвърдете е-пощата", "confirm_email": "Потвърдете е-пощата",
"account_info": "Информация за акаунта",
"ban_account": "Блокиране на акаунта",
"ban_account_confirm": "Наистина ли искате да блокирате този потребител?",
"unban_account": "Отблокиране на акаунта",
"delete_account": "Изтриване на акаунта", "delete_account": "Изтриване на акаунта",
"delete_account_confirm": "Наистина ли искате да изтриете акаунта си? <br /><strong>Това действие е необратимо и няма да можете да възстановите нищо от данните си</strong><br /><br />Въведете потребителското си име, за да потвърдите, че искате да унищожите този акаунт.", "delete_account_confirm": "Сигурни ли сте, че искате да изтриете акаунта си? <br /><strong>Това действие е необратимо и няма да можете да възстановите нищо от данните си</strong><br /><br />Въведете потребителското си име, за да потвърдите, че искате да унищожите този акаунт.",
"delete_this_account_confirm": "Наистина ли искате да изтриете този акаунт? <br /><strong>Това действие е необратимо и няма да можете да възстановите нищо от данните</strong><br /><br />",
"account-deleted": "Акаунтът е изтрит",
"fullname": "Цяло име", "fullname": "Цяло име",
"website": "Уеб сайт", "website": "Уеб сайт",
"location": "Местоположение", "location": "Местоположение",
@@ -23,25 +17,21 @@
"profile": "Профил", "profile": "Профил",
"profile_views": "Преглеждания на профила", "profile_views": "Преглеждания на профила",
"reputation": "Репутация", "reputation": "Репутация",
"favourites": "Отметки", "favourites": "Любими",
"watched": "Наблюдавани", "watched": "Наблюдавани",
"followers": "Последователи", "followers": "Последователи",
"following": "Следва", "following": "Следва",
"aboutme": "За мен", "aboutme": "За мен",
"signature": "Подпис", "signature": "Подпис",
"gravatar": "Граватар",
"birthday": "Рождена дата", "birthday": "Рождена дата",
"chat": "Разговор", "chat": "Чат",
"chat_with": "Разговор с %1",
"follow": "Следване", "follow": "Следване",
"unfollow": "Спиране на следването", "unfollow": "Спиране на следването",
"more": "Още", "more": "Още",
"profile_update_success": "Профилът беше обновен успешно!", "profile_update_success": "Профилът беше обновен успешно!",
"change_picture": "Промяна на снимката", "change_picture": "Промяна на снимката",
"change_username": "Промяна на потребителското име",
"change_email": "Промяна на е-пощата",
"edit": "Редактиране", "edit": "Редактиране",
"edit-profile": "Редактиране на профила",
"default_picture": "Иконка по подразбиране",
"uploaded_picture": "Качена снимка", "uploaded_picture": "Качена снимка",
"upload_new_picture": "Качване на нова снимка", "upload_new_picture": "Качване на нова снимка",
"upload_new_picture_from_url": "Качване на нова снимка от адрес", "upload_new_picture_from_url": "Качване на нова снимка от адрес",
@@ -55,34 +45,28 @@
"change_password_success": "Паролата ви е обновена!", "change_password_success": "Паролата ви е обновена!",
"confirm_password": "Потвърдете паролата", "confirm_password": "Потвърдете паролата",
"password": "Парола", "password": "Парола",
"username_taken_workaround": "Потребителското име, което искате, е заето и затова ние го променихме малко. Вие ще се наричате <strong>%1</strong>", "username_taken_workaround": "Потребителското име, което искате, е заето и затова ние го променихме леко. Вие ще се наричате <strong>%1</strong>",
"password_same_as_username": "Паролата е същата като потребителското Ви име. Моля, изберете друга парола.",
"password_same_as_email": "Паролата е същата като е-пощата Ви. Моля, изберете друга парола.",
"upload_picture": "Качване на снимка", "upload_picture": "Качване на снимка",
"upload_a_picture": "Качване на снимка", "upload_a_picture": "Качване на снимка",
"remove_uploaded_picture": "Премахване на качената снимка", "image_spec": "Можете да качвате само PNG, JPG, или GIF файлове",
"upload_cover_picture": "Качване на снимка за показване",
"settings": "Настройки", "settings": "Настройки",
"show_email": "Да се показва е-пощата ми", "show_email": "Да се показва е-пощата ми",
"show_fullname": "Да се показва цялото ми име", "show_fullname": "Да се показва цялото ми име",
"restrict_chats": "Разрешаване на съобщенията само от потребители, които следвам", "restrict_chats": "Разрешаване на чат съобщенията само от потребители, които следвам",
"digest_label": "Абониране за резюмета", "digest_label": "Абониране за резюмета",
"digest_description": "Абониране за новини по е-пощата относно този форум (нови известия и теми) според избрания график", "digest_description": "Абониране за новини по е-пощата относно този форум (нови известия и теми) според избрания график",
"digest_off": "Изключено", "digest_off": "Изключено",
"digest_daily": "Ежедневно", "digest_daily": "Ежедневно",
"digest_weekly": "Ежеседмично", "digest_weekly": "Ежеседмично",
"digest_monthly": "Ежемесечно", "digest_monthly": "Ежемесечно",
"send_chat_notifications": "Изпращане на е-писмо, ако получа ново съобщение в разговор, а не съм на линия", "send_chat_notifications": "Изпращане на е-писмо, ако получа ново чат съобщения, а не съм на линия",
"send_post_notifications": "Изпращане на е-писмо, когато се появи отговор в темите, за които съм абониран/а.", "send_post_notifications": "Изпращане на е-писмо, когато се появи отговор в темите, за които съм абониран/а.",
"settings-require-reload": "Някои промени в настройките изискват презареждане. Натиснете тук, за да презаредите страницата.", "settings-require-reload": "Някои промени в настройките изискват презареждане. Натиснете тук, за да презаредите страницата.",
"has_no_follower": "Този потребител няма последователи :(", "has_no_follower": "Този потребител няма последователи :(",
"follows_no_one": "Този потребител не следва никого :(", "follows_no_one": "Този потребител не следва никого :(",
"has_no_posts": "Този потребител не е публикувал нищо досега.", "has_no_posts": "Този потребител не е публикувал нищо все още.",
"has_no_topics": "Този потребител не е създавал теми досега.", "has_no_topics": "Този потребител не е създавал теми досега.",
"has_no_watched_topics": "Този потребител не е наблюдавал нито една тема досега.", "has_no_watched_topics": "Този потребител не е наблюдавал нито една тема все още.",
"has_no_upvoted_posts": "Този потребител не е гласувал положително досега.",
"has_no_downvoted_posts": "Този потребител не е гласувал отрицателно досега.",
"has_no_voted_posts": "Този потребител не е гласувал досега.",
"email_hidden": "Е-пощата е скрита", "email_hidden": "Е-пощата е скрита",
"hidden": "скрито", "hidden": "скрито",
"paginate_description": "Разделяне на темите и публикациите на страници, вместо да се превърта безкрайно", "paginate_description": "Разделяне на темите и публикациите на страници, вместо да се превърта безкрайно",
@@ -93,26 +77,8 @@
"open_links_in_new_tab": "Отваряне на външните връзки в нов подпрозорец", "open_links_in_new_tab": "Отваряне на външните връзки в нов подпрозорец",
"enable_topic_searching": "Включване на търсенето в темите", "enable_topic_searching": "Включване на търсенето в темите",
"topic_search_help": "Ако е включено, търсенето в темата ще замени стандартното поведение на браузъра при търсене в страницата и ще Ви позволи да претърсвате цялата тема, а не само това, което се вижда на екрана", "topic_search_help": "Ако е включено, търсенето в темата ще замени стандартното поведение на браузъра при търсене в страницата и ще Ви позволи да претърсвате цялата тема, а не само това, което се вижда на екрана",
"delay_image_loading": "Отлагане на зареждането на изображения", "follow_topics_you_reply_to": "Следване на темите, на които отговаряте",
"image_load_delay_help": "Ако е включено, изображенията в темите няма да бъдат зареждани, докато не превъртите страницата до тях", "follow_topics_you_create": "Следване на темите, които създавате",
"scroll_to_my_post": "След публикуване на отговор, да се показва новата публикация", "grouptitle": "Изберете заглавието на групата, което искате да се показва",
"follow_topics_you_reply_to": "Наблюдаване на темите, в които отговаряте", "no-group-title": "Няма заглавие на група"
"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": "Натиснете тук, за да свържете с",
"info.latest-flags": "Последни доклади",
"info.no-flags": "Не са открити докладвани публикации",
"info.ban-history": "Скорошна история на блокиранията",
"info.no-ban-history": "Този потребител никога не е бил блокиран",
"info.banned-until": "Блокиран до %1",
"info.banned-permanently": "Блокиран за постоянно"
} }

View File

@@ -2,20 +2,11 @@
"latest_users": "Последни потребители", "latest_users": "Последни потребители",
"top_posters": "С най-много публикации", "top_posters": "С най-много публикации",
"most_reputation": "С най-много репутация", "most_reputation": "С най-много репутация",
"most_flags": "С най-много доклади",
"search": "Търсене", "search": "Търсене",
"enter_username": "Въведете потребителско име, което да потърсите", "enter_username": "Въведете потребителско име, което да потърсите",
"load_more": "Зареждане на още", "load_more": "Зареждане на още",
"users-found-search-took": "Намерени са %1 потребител(и)! Търсенето отне %2 секунди.", "users-found-search-took": "Намерени са %1 потребител(и)! Търсенето отне %2 секунди.",
"filter-by": "Филтриране", "filter-by": "Филтриране",
"online-only": "Само тези на линия", "online-only": "Само тези на линия",
"invite": "Канене", "picture-only": "Само със снимка"
"invitation-email-sent": "Беше изпратено е-писмо за потвърждение до %1",
"user_list": "Списък от потребители",
"recent_topics": "Скорошни теми",
"popular_topics": "Популярни теми",
"unread_topics": "Непрочетени теми",
"categories": "Категории",
"tags": "Етикети",
"no-users-found": "Няма открити потребители!"
} }

View File

@@ -1,20 +1,12 @@
{ {
"category": "বিভাগ",
"subcategories": "উপবিভাগ",
"new_topic_button": "নতুন টপিক", "new_topic_button": "নতুন টপিক",
"guest-login-post": "উত্তর দিতে লগিন করুন", "guest-login-post": "Log in to post",
"no_topics": "<strong>এই বিভাগে কোন আলোচনা নেই! </strong><br /> আপনি চাইলে নতুন আলোচনা শুরু করতে পারেন।", "no_topics": "<strong>এই বিভাগে কোন টপিক নেই! </strong><br /> আপনি চাইলে একটি পোষ্ট করতে পারেন।",
"browsing": "ব্রাউজিং", "browsing": "ব্রাউজিং",
"no_replies": "কোন রিপ্লাই নেই", "no_replies": "কোন রিপ্লাই নেই",
"no_new_posts": "নতুন কোন পোস্ট নাই",
"share_this_category": "এই বিভাগটি অন্যের সাথে ভাগাভাগি করুন", "share_this_category": "এই বিভাগটি অন্যের সাথে ভাগাভাগি করুন",
"watch": "নজর রাখুন", "watch": "Watch",
"ignore": "উপেক্ষা করুন", "ignore": "উপেক্ষা করুন",
"watching": "Watching", "watch.message": "You are now watching updates from this category",
"ignoring": "Ignoring", "ignore.message": "You are now ignoring updates from this category"
"watching.description": "Show topics in unread",
"ignoring.description": "Do not show topics in unread",
"watch.message": "আপনি এই বিভাগটিতে নজর রাখছেন",
"ignore.message": "আপনি এই বিভাগটির উপেক্ষা করছেন ",
"watched-categories": "প্রেক্ষিত বিভাগসমূহ"
} }

View File

@@ -1,35 +1,27 @@
{ {
"password-reset-requested": "পাসওয়ার্ড রিসেটের জন্য অনুরোধ করা হয়েছে - %1!", "password-reset-requested": "পাসওয়ার্ড রিসেটের জন্য অনুরোধ করা হয়েছে - %1!",
"welcome-to": "%1 এ স্বাগতম", "welcome-to": "%1 এ স্বাগতম",
"invite": "%1 থেকে আমন্ত্রণ",
"greeting_no_name": "স্বাগতম", "greeting_no_name": "স্বাগতম",
"greeting_with_name": "স্বাগতম %1", "greeting_with_name": "স্বাগতম %1",
"welcome.text1": "%1 এ নিবন্ধন করার জন্য আপনাকে ধন্যবাদ!", "welcome.text1": "%1 এ নিবন্ধন করার জন্য আপনাকে ধন্যবাদ!",
"welcome.text2": "আপনার একাউন্ট এ্যাক্টিভেট করার জন্য, আপনি যে ইমেইল এড্রেস ব্যাবহার করে নিবন্ধন করেছেন তা যাচাই করতে হবে", "welcome.text2": "আপনার একাউন্ট এ্যাক্টিভেট করার জন্য, আপনি যে ইমেইল এড্রেস ব্যাবহার করে নিবন্ধন করেছেন তা যাচাই করতে হবে",
"welcome.text3": "An administrator has accepted your registration application. You can login with your username/password now.",
"welcome.cta": "আপনার ইমেইল এড্রেস নিশ্চিত করার জন্য এখানে ক্লিক করুন", "welcome.cta": "আপনার ইমেইল এড্রেস নিশ্চিত করার জন্য এখানে ক্লিক করুন",
"invitation.text1": "%1 আপনাকে %2 তে যোগ দিতে আমন্ত্রণ জানিয়েছেন ",
"invitation.ctr": "আপনার একাউন্ট খুলতে এখানে ক্লিক করুন",
"reset.text1": "আমরা আপনার পাসওয়ার্ড রিসেট করার অনুরোধ পেয়েছি, সম্ভবত আপনি আপনার পাসওয়ার্ড ভুলে গিয়েছেন বলেই। তবে যদি তা না হয়ে থাকে, তাহলে এই মেইলকে উপেক্ষা করতে পারেন।", "reset.text1": "আমরা আপনার পাসওয়ার্ড রিসেট করার অনুরোধ পেয়েছি, সম্ভবত আপনি আপনার পাসওয়ার্ড ভুলে গিয়েছেন বলেই। তবে যদি তা না হয়ে থাকে, তাহলে এই মেইলকে উপেক্ষা করতে পারেন।",
"reset.text2": "পাসওয়ার্ড রিসেট করতে নিচের লিংকে ক্লিক করুন", "reset.text2": "পাসওয়ার্ড রিসেট করতে নিচের লিংকে ক্লিক করুন",
"reset.cta": "পাসওয়ার্ড রিসেট করতে এখানে ক্লিক করুন", "reset.cta": "পাসওয়ার্ড রিসেট করতে এখানে ক্লিক করুন",
"reset.notify.subject": "পাসওয়ার্ড পরিবর্তন সফল হয়েছে", "reset.notify.subject": "Password successfully changed",
"reset.notify.text1": "আপনাকে জানাচ্ছি যে %1 এ আপনার পাসওয়ার্ড পরিবর্তন হয়েছে", "reset.notify.text1": "We are notifying you that on %1, your password was changed successfully.",
"reset.notify.text2": "এটা আপনার অজান্তে হলে এখনই প্রশাসককে আবহিত করুন", "reset.notify.text2": "If you did not authorise this, please notify an administrator immediately.",
"digest.notifications": "%1 থেকে আনরিড নোটিফিকেশন আছে।", "digest.notifications": "%1 থেকে আনরিড নোটিফিকেশন আছে।",
"digest.latest_topics": "%1 এর সর্বশেষ টপিকসমূহ", "digest.latest_topics": "%1 এর সর্বশেষ টপিকসমূহ",
"digest.cta": "%1 ভিজিট করতে এখানে ক্লিক করুন", "digest.cta": "%1 ভিজিট করতে এখানে ক্লিক করুন",
"digest.unsub.info": "আপনার সাবস্ক্রীপশন সেটিংসের কারনে আপনাকে এই ডাইজেষ্টটি পাঠানো হয়েছে।", "digest.unsub.info": "আপনার সাবস্ক্রীপশন সেটিংসের কারনে আপনাকে এই ডাইজেষ্টটি পাঠানো হয়েছে।",
"digest.no_topics": "%1 এ কোন সক্রিয় টপিক নেই।", "digest.no_topics": "%1 এ কোন সক্রিয় টপিক নেই।",
"digest.day": "day",
"digest.week": "week",
"digest.month": "month",
"digest.subject": "Digest for %1",
"notif.chat.subject": "%1 এর থেকে নতুন মেসেজ এসেছে।", "notif.chat.subject": "%1 এর থেকে নতুন মেসেজ এসেছে।",
"notif.chat.cta": "কথপোকথন চালিয়ে যেতে এখানে ক্লিক করুন", "notif.chat.cta": "কথপোকথন চালিয়ে যেতে এখানে ক্লিক করুন",
"notif.chat.unsub.info": "আপনার সাবস্ক্রীপশন সেটিংসের কারনে আপনার এই নোটিফিকেশন পাঠানো হয়েছে", "notif.chat.unsub.info": "আপনার সাবস্ক্রীপশন সেটিংসের কারনে আপনার এই নোটিফিকেশন পাঠানো হয়েছে",
"notif.post.cta": "পুরো বিষয়টি পড়তে এখানে ক্লিক করুন", "notif.post.cta": "Click here to read the full topic",
"notif.post.unsub.info": "আপনার সাবস্ক্রিপশন সেটিংসের কারনে আপনার এই বার্তাটি পাঠানো হয়েছে", "notif.post.unsub.info": "This post notification was sent to you due to your subscription settings.",
"test.text1": "আপনি সঠিকভাবে নোডবিবির জন্য মেইলার সেটাপ করেছেন কিনা নিশ্চিত করার জন্য এই টেষ্ট ইমেইল পাঠানো হয়েছে", "test.text1": "আপনি সঠিকভাবে নোডবিবির জন্য মেইলার সেটাপ করেছেন কিনা নিশ্চিত করার জন্য এই টেষ্ট ইমেইল পাঠানো হয়েছে",
"unsub.cta": "সেটিংসগুলো পরিবর্তন করতে এখানে ক্লিক করুন", "unsub.cta": "সেটিংসগুলো পরিবর্তন করতে এখানে ক্লিক করুন",
"closing": "ধন্যবাদ!" "closing": "ধন্যবাদ!"

View File

@@ -14,8 +14,7 @@
"invalid-password": "ভুল পাসওয়ার্ড", "invalid-password": "ভুল পাসওয়ার্ড",
"invalid-username-or-password": "অনুগ্রহ পূর্বক ইউজারনেম এবং পাসওয়ার্ড উভয়ই প্রদান করুন", "invalid-username-or-password": "অনুগ্রহ পূর্বক ইউজারনেম এবং পাসওয়ার্ড উভয়ই প্রদান করুন",
"invalid-search-term": "অগ্রহনযোগ্য সার্চ টার্ম", "invalid-search-term": "অগ্রহনযোগ্য সার্চ টার্ম",
"csrf-invalid": "We were unable to log you in, likely due to an expired session. Please try again", "invalid-pagination-value": "ভুল পৃষ্ঠা নাম্বার",
"invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2",
"username-taken": "ইউজারনেম আগেই ব্যবহৃত", "username-taken": "ইউজারনেম আগেই ব্যবহৃত",
"email-taken": "ইমেইল আগেই ব্যবহৃত", "email-taken": "ইমেইল আগেই ব্যবহৃত",
"email-not-confirmed": "আপনার ইমেইল এড্রেস নিশ্চিত করা হয় নি, নিশ্চিত করতে এখানে ক্লিক করুন।", "email-not-confirmed": "আপনার ইমেইল এড্রেস নিশ্চিত করা হয় নি, নিশ্চিত করতে এখানে ক্লিক করুন।",
@@ -23,14 +22,10 @@
"no-email-to-confirm": "This forum requires email confirmation, please click here to enter an email", "no-email-to-confirm": "This forum requires email confirmation, please click here to enter an email",
"email-confirm-failed": "We could not confirm your email, please try again later.", "email-confirm-failed": "We could not confirm your email, please try again later.",
"confirm-email-already-sent": "Confirmation email already sent, please wait %1 minute(s) to send another one.", "confirm-email-already-sent": "Confirmation email already sent, please wait %1 minute(s) to send another one.",
"sendmail-not-found": "The sendmail executable could not be found, please ensure it is installed and executable by the user running NodeBB.",
"username-too-short": "খুব ছোট ইউজারনেম", "username-too-short": "খুব ছোট ইউজারনেম",
"username-too-long": "ইউজারনেম বড় হয়ে গিয়েছে", "username-too-long": "ইউজারনেম বড় হয়ে গিয়েছে",
"password-too-long": "Password too long",
"user-banned": "ব্যবহারকারী নিষিদ্ধ", "user-banned": "ব্যবহারকারী নিষিদ্ধ",
"user-too-new": "Sorry, you are required to wait %1 second(s) before making your first post", "user-too-new": "Sorry, you are required to wait %1 second(s) before making your first post",
"blacklisted-ip": "Sorry, your IP address has been banned from this community. If you feel this is in error, please contact an administrator.",
"ban-expiry-missing": "Please provide an end date for this ban",
"no-category": "বিভাগটি খুজে পাওয়া যায় নি", "no-category": "বিভাগটি খুজে পাওয়া যায় নি",
"no-topic": "এই টপিক নেই", "no-topic": "এই টপিক নেই",
"no-post": "এই পোষ্ট নেই", "no-post": "এই পোষ্ট নেই",
@@ -38,22 +33,11 @@
"no-user": "এই নামে কোন সদস্য নেই", "no-user": "এই নামে কোন সদস্য নেই",
"no-teaser": "টিজারটি খুজে পাওয়া যায় নি", "no-teaser": "টিজারটি খুজে পাওয়া যায় নি",
"no-privileges": "এই কাজটির জন্য আপনার পর্যাপ্ত অধিকার নেই", "no-privileges": "এই কাজটির জন্য আপনার পর্যাপ্ত অধিকার নেই",
"no-emailers-configured": "কোন ইমেল প্লাগইন লোড করা নেই, কাজেই টেস্ট মেইল পাঠানো সম্ভব হচ্ছে না",
"category-disabled": "বিভাগটি নিষ্ক্রিয়", "category-disabled": "বিভাগটি নিষ্ক্রিয়",
"topic-locked": "টপিক বন্ধ", "topic-locked": "টপিক বন্ধ",
"post-edit-duration-expired": "You are only allowed to edit posts for %1 second(s) after posting", "post-edit-duration-expired": "You are only allowed to edit posts for %1 second(s) after posting",
"post-edit-duration-expired-minutes": "You are only allowed to edit posts for %1 minute(s) after posting", "still-uploading": "আপলোড সম্পূর্ণ জন্য অনুগ্রহ করে অপেক্ষা করুন",
"post-edit-duration-expired-minutes-seconds": "You are only allowed to edit posts for %1 minute(s) %2 second(s) after posting",
"post-edit-duration-expired-hours": "You are only allowed to edit posts for %1 hour(s) after posting",
"post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting",
"post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting",
"post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting",
"post-delete-duration-expired": "You are only allowed to delete posts for %1 second(s) after posting",
"post-delete-duration-expired-minutes": "You are only allowed to delete posts for %1 minute(s) after posting",
"post-delete-duration-expired-minutes-seconds": "You are only allowed to delete posts for %1 minute(s) %2 second(s) after posting",
"post-delete-duration-expired-hours": "You are only allowed to delete posts for %1 hour(s) after posting",
"post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting",
"post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting",
"post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting",
"content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).", "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).", "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).", "title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).",
@@ -62,28 +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", "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-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)", "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", "file-too-big": "Maximum allowed file size is %1 kB - please upload a smaller file",
"guest-upload-disabled": "Guest uploading has been disabled", "cant-vote-self-post": "আপনি নিজের পোস্টে ভোট দিতে পারবেন না।",
"already-favourited": "You have already bookmarked this post", "already-favourited": "আপনি ইতিমধ্যে এই পোষ্টটি পছন্দের তালিকায় যোগ করেছেন",
"already-unfavourited": "You have already unbookmarked this post", "already-unfavourited": "আপনি ইতিমধ্যে এই পোষ্টটি আপনার পছন্দের তালিকা থেকে সরিয়ে ফেলেছেন",
"cant-ban-other-admins": "আপনি অন্য এ্যাডমিনদের নিষিদ্ধ করতে পারেন না!", "cant-ban-other-admins": "আপনি অন্য এ্যাডমিনদের নিষিদ্ধ করতে পারেন না!",
"cant-remove-last-admin": "You are the only administrator. Add another user as an administrator before removing yourself as admin",
"cant-delete-admin": "Remove administrator privileges from this account before attempting to delete it.",
"invalid-image-type": "Invalid image type. Allowed types are: %1", "invalid-image-type": "Invalid image type. Allowed types are: %1",
"invalid-image-extension": "Invalid image extension", "invalid-image-extension": "Invalid image extension",
"invalid-file-type": "Invalid file type. Allowed types are: %1", "invalid-file-type": "Invalid file type. Allowed types are: %1",
"group-name-too-short": "গ্রুপের নাম খুব ছোট", "group-name-too-short": "গ্রুপের নাম খুব ছোট",
"group-name-too-long": "Group name too long",
"group-already-exists": "গ্রুপ ইতিমধ্যেই বিদ্যমান", "group-already-exists": "গ্রুপ ইতিমধ্যেই বিদ্যমান",
"group-name-change-not-allowed": "গ্রুপের নাম পরিবর্তনের অনুমতি নেই", "group-name-change-not-allowed": "গ্রুপের নাম পরিবর্তনের অনুমতি নেই",
"group-already-member": "Already part of this group", "group-already-member": "You are already part of this group",
"group-not-member": "Not a member of this group",
"group-needs-owner": "This group requires at least one owner", "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-deleted": "এই পোস্টটি ইতিমধ্যে ডিলিট করা হয়ে গিয়েছে",
"post-already-restored": "এই পোষ্টটি ইতিমধ্যে পুনরোদ্ধার করা হয়েছে", "post-already-restored": "এই পোষ্টটি ইতিমধ্যে পুনরোদ্ধার করা হয়েছে",
"topic-already-deleted": "এই টপিকটি ইতিমধ্যে ডিলিট করা হয়েছে", "topic-already-deleted": "এই টপিকটি ইতিমধ্যে ডিলিট করা হয়েছে",
@@ -96,29 +71,14 @@
"about-me-too-long": "Sorry, your about me 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": "আপনি নিজের সাথে চ্যাট করতে পারবেন না!", "cant-chat-with-yourself": "আপনি নিজের সাথে চ্যাট করতে পারবেন না!",
"chat-restricted": "এই সদস্য তার বার্তালাপ সংরক্ষিত রেখেছেন। এই সদস্য আপনাকে ফলো করার পরই কেবলমাত্র আপনি তার সাথে চ্যাট করতে পারবেন", "chat-restricted": "এই সদস্য তার বার্তালাপ সংরক্ষিত রেখেছেন। এই সদস্য আপনাকে ফলো করার পরই কেবলমাত্র আপনি তার সাথে চ্যাট করতে পারবেন",
"chat-disabled": "Chat system disabled",
"too-many-messages": "You have sent too many messages, please wait awhile.", "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",
"already-voting-for-this-post": "You have already voted for this post.",
"reputation-system-disabled": "সম্মাননা ব্যাবস্থা নিস্ক্রীয় রাখা হয়েছে", "reputation-system-disabled": "সম্মাননা ব্যাবস্থা নিস্ক্রীয় রাখা হয়েছে",
"downvoting-disabled": "ঋণাত্মক ভোট নিস্ক্রীয় রাখা হয়েছে।", "downvoting-disabled": "ঋণাত্মক ভোট নিস্ক্রীয় রাখা হয়েছে।",
"not-enough-reputation-to-downvote": "আপনার এই পোস্ট downvote করার জন্য পর্যাপ্ত সম্মাননা নেই", "not-enough-reputation-to-downvote": "আপনার এই পোস্ট downvote করার জন্য পর্যাপ্ত সম্মাননা নেই",
"not-enough-reputation-to-flag": "এই পোষ্টকে ফ্লাগ করার জন্য আপনার পর্যাপ্ত সম্মাননা নেই", "not-enough-reputation-to-flag": "এই পোষ্টকে ফ্লাগ করার জন্য আপনার পর্যাপ্ত সম্মাননা নেই",
"already-flagged": "You have already flagged this post",
"reload-failed": "\"%1\" রিলোড করতে সমস্যা হয়েছে। রিলোডের পূর্বে যা করা হয়েছিল সেটি আনডু করা সমীচীন। ", "reload-failed": "\"%1\" রিলোড করতে সমস্যা হয়েছে। রিলোডের পূর্বে যা করা হয়েছিল সেটি আনডু করা সমীচীন। ",
"registration-error": "নিবন্ধন এরর!", "registration-error": "নিবন্ধন এরর!",
"parse-error": "Something went wrong while parsing server response", "parse-error": "Something went wrong while parsing server response",
"wrong-login-type-email": "Please use your email to login", "wrong-login-type-email": "Please use your email to login",
"wrong-login-type-username": "Please use your username 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",
"cant-kick-self": "You can't kick yourself from the group",
"no-users-selected": "No user(s) selected",
"invalid-home-page-route": "Invalid home page route"
} }

View File

@@ -22,7 +22,6 @@
"pagination.out_of": "%2 এর মাঝে %1", "pagination.out_of": "%2 এর মাঝে %1",
"pagination.enter_index": "সূচক লিখুন", "pagination.enter_index": "সূচক লিখুন",
"header.admin": "অ্যাডমিন", "header.admin": "অ্যাডমিন",
"header.categories": "বিভাগ",
"header.recent": "সাম্প্রতিক", "header.recent": "সাম্প্রতিক",
"header.unread": "অপঠিত", "header.unread": "অপঠিত",
"header.tags": "ট্যাগ", "header.tags": "ট্যাগ",
@@ -33,7 +32,6 @@
"header.notifications": "বিজ্ঞপ্তি", "header.notifications": "বিজ্ঞপ্তি",
"header.search": "অনুসন্ধান", "header.search": "অনুসন্ধান",
"header.profile": "প্রোফাইল", "header.profile": "প্রোফাইল",
"header.navigation": "Navigation",
"notifications.loading": "বিজ্ঞপ্তিগুলি লোড হচ্ছে", "notifications.loading": "বিজ্ঞপ্তিগুলি লোড হচ্ছে",
"chats.loading": "কথোপকথনগুলি লোড হচ্ছে ", "chats.loading": "কথোপকথনগুলি লোড হচ্ছে ",
"motd.welcome": "ভবিষ্যতের আলোচনার প্লাটফর্ম, NodeBB তে স্বাগতম।", "motd.welcome": "ভবিষ্যতের আলোচনার প্লাটফর্ম, NodeBB তে স্বাগতম।",
@@ -49,31 +47,25 @@
"users": "ব্যবহারকারীগণ", "users": "ব্যবহারকারীগণ",
"topics": "টপিক", "topics": "টপিক",
"posts": "পোস্টগুলি", "posts": "পোস্টগুলি",
"best": "Best",
"upvoters": "Upvoters",
"upvoted": "Upvoted",
"downvoters": "Downvoters",
"downvoted": "Downvoted",
"views": "দেখেছেন", "views": "দেখেছেন",
"reputation": "সন্মাননা", "reputation": "সন্মাননা",
"read_more": "আরো পড়ুন", "read_more": "আরো পড়ুন",
"more": "আরো...",
"posted_ago_by_guest": "অতিথি পোস্ট করেছেন %1", "posted_ago_by_guest": "অতিথি পোস্ট করেছেন %1",
"posted_ago_by": " %1 %2 দ্বারা পোস্টকৃত", "posted_ago_by": " %1 %2 দ্বারা পোস্টকৃত",
"posted_ago": "পোস্ট করেছেন %1", "posted_ago": "পোস্ট করেছেন %1",
"posted_in": "posted in %1", "posted_in_ago_by_guest": "%1 বিভাগে অতিথি পোস্ট করেছেন %2",
"posted_in_by": "posted in %1 by %2",
"posted_in_ago": "%1 বিভাগে পোস্ট করা হয়েছে %2 আগে",
"posted_in_ago_by": "%3 %1 বিভাগে পোস্ট করেছেন %2", "posted_in_ago_by": "%3 %1 বিভাগে পোস্ট করেছেন %2",
"posted_in_ago": "%1 বিভাগে পোস্ট করা হয়েছে %2 আগে",
"replied_ago": "উত্তর দেয়া হয়েছে %1 ",
"user_posted_ago": "%1 পোস্ট করেছেন %2", "user_posted_ago": "%1 পোস্ট করেছেন %2",
"guest_posted_ago": "অতিথি পোস্ট করেছেন %1", "guest_posted_ago": "অতিথি পোস্ট করেছেন %1",
"last_edited_by": "last edited by %1", "last_edited_by_ago": "সর্বশেষ সম্পাদনা করেছেন %1 %2",
"norecentposts": "কোনও সাম্প্রতিক পোস্ট নেই", "norecentposts": "কোনও সাম্প্রতিক পোস্ট নেই",
"norecenttopics": "কোনও সাম্প্রতিক টপিক নেই", "norecenttopics": "কোনও সাম্প্রতিক টপিক নেই",
"recentposts": "সাম্প্রতিক পোস্ট", "recentposts": "সাম্প্রতিক পোস্ট",
"recentips": "সাম্প্রতিক প্রবেশকৃত আইপি সমুহ", "recentips": "সাম্প্রতিক প্রবেশকৃত আইপি সমুহ",
"away": "দূরে", "away": "দূরে",
"dnd": "Do not disturb", "dnd": "বিরক্ত করবেন না",
"invisible": "অদৃশ্য", "invisible": "অদৃশ্য",
"offline": "অফলাইন", "offline": "অফলাইন",
"email": "ইমেইল", "email": "ইমেইল",
@@ -85,12 +77,5 @@
"privacy": "নিরাপত্তা", "privacy": "নিরাপত্তা",
"follow": "Follow", "follow": "Follow",
"unfollow": "Unfollow", "unfollow": "Unfollow",
"delete_all": "সব মুছে ফেলুন", "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"
} }

View File

@@ -6,25 +6,16 @@
"no_groups_found": "There are no groups to see", "no_groups_found": "There are no groups to see",
"pending.accept": "Accept", "pending.accept": "Accept",
"pending.reject": "Reject", "pending.reject": "Reject",
"pending.accept_all": "Accept All", "cover-instructions": "Drag and Drop a photo, drag to position, and hit <strong>Save</strong>",
"pending.reject_all": "Reject All", "cover-change": "Change",
"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-save": "Save", "cover-save": "Save",
"cover-saving": "Saving", "cover-saving": "Saving",
"details.title": "গ্রুপের বিস্তারিত", "details.title": "গ্রুপের বিস্তারিত",
"details.members": "সদস্য তালিকা", "details.members": "সদস্য তালিকা",
"details.pending": "Pending Members", "details.pending": "Pending Members",
"details.invited": "Invited Members",
"details.has_no_posts": "এই গ্রুপের সদস্যরা এখনো কোন পোষ্ট করেন নি", "details.has_no_posts": "এই গ্রুপের সদস্যরা এখনো কোন পোষ্ট করেন নি",
"details.latest_posts": "সর্বশেষ পোষ্টসমূহ", "details.latest_posts": "সর্বশেষ পোষ্টসমূহ",
"details.private": "Private", "details.private": "Private",
"details.disableJoinRequests": "Disable join requests",
"details.grant": "Grant/Rescind Ownership", "details.grant": "Grant/Rescind Ownership",
"details.kick": "Kick", "details.kick": "Kick",
"details.owner_options": "Group Administration", "details.owner_options": "Group Administration",
@@ -40,15 +31,6 @@
"details.private_help": "If enabled, joining of groups requires approval from a group owner", "details.private_help": "If enabled, joining of groups requires approval from a group owner",
"details.hidden": "Hidden", "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.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",
"details.private_system_help": "Private groups is disabled at system level, this option does not do anything",
"event.updated": "Group details have been updated", "event.updated": "Group details have been updated",
"event.deleted": "The group \"%1\" has been deleted", "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"
} }

View File

@@ -1,12 +1,11 @@
{ {
"username-email": "ইউজারনেম / ইমেইল", "username-email": "Username / Email",
"username": "ইউজারনেম", "username": "Username",
"email": "ইমেইল", "email": "Email",
"remember_me": "মনে রাখুন", "remember_me": "মনে রাখুন",
"forgot_password": "পাসওয়ার্ড ভুলে গিয়েছেন?", "forgot_password": "পাসওয়ার্ড ভুলে গিয়েছেন?",
"alternative_logins": "বিকল্প প্রবেশ", "alternative_logins": "বিকল্প প্রবেশ",
"failed_login_attempt": "Login Unsuccessful", "failed_login_attempt": "প্রবেশ সফল হয় নি, আবার চেষ্টা করুন।",
"login_successful": "আপনি সফলভাবে প্রবেশ করেছেন!", "login_successful": "আপনি সফলভাবে প্রবেশ করেছেন!",
"dont_have_account": "কোন একাউন্ট নেই?", "dont_have_account": "কোন একাউন্ট নেই?"
"logged-out-due-to-inactivity": "You have been logged out of the Admin Control Panel due to inactivity"
} }

View File

@@ -5,10 +5,8 @@
"chat.no_active": "আপনার কোন সচল কথোপকথন নেই", "chat.no_active": "আপনার কোন সচল কথোপকথন নেই",
"chat.user_typing": "%1 লিখছেন", "chat.user_typing": "%1 লিখছেন",
"chat.user_has_messaged_you": "%1 আপনাকে বার্তা পাঠিয়েছেন", "chat.user_has_messaged_you": "%1 আপনাকে বার্তা পাঠিয়েছেন",
"chat.see_all": "See all chats", "chat.see_all": "সকল কথোপকথন দেখুন",
"chat.mark_all_read": "Mark all chats read",
"chat.no-messages": "মেসেজ হিস্টোরী দেখতে প্রাপক নির্বাচন করুন", "chat.no-messages": "মেসেজ হিস্টোরী দেখতে প্রাপক নির্বাচন করুন",
"chat.no-users-in-room": "No users in this room",
"chat.recent-chats": "সাম্প্রতিক চ্যাটসমূহ", "chat.recent-chats": "সাম্প্রতিক চ্যাটসমূহ",
"chat.contacts": "কন্টাক্টস", "chat.contacts": "কন্টাক্টস",
"chat.message-history": "মেসেজ হিস্টোরী", "chat.message-history": "মেসেজ হিস্টোরী",
@@ -17,9 +15,6 @@
"chat.seven_days": " দিন", "chat.seven_days": " দিন",
"chat.thirty_days": "৩০ দিন", "chat.thirty_days": "৩০ দিন",
"chat.three_months": "৩ মাস", "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.compose": "Compose",
"composer.show_preview": "Show Preview", "composer.show_preview": "Show Preview",
"composer.hide_preview": "Hide Preview", "composer.hide_preview": "Hide Preview",
@@ -27,20 +22,5 @@
"composer.user_said": "%1 বলেছেনঃ", "composer.user_said": "%1 বলেছেনঃ",
"composer.discard": "আপনি কি নিশ্চিত যে আপনি এই পোস্ট বাতিল করতে ইচ্ছুক?", "composer.discard": "আপনি কি নিশ্চিত যে আপনি এই পোস্ট বাতিল করতে ইচ্ছুক?",
"composer.submit_and_lock": "Submit and Lock", "composer.submit_and_lock": "Submit and Lock",
"composer.toggle_dropdown": "Toggle Dropdown", "composer.toggle_dropdown": "Toggle Dropdown"
"composer.uploading": "Uploading %1",
"composer.formatting.bold": "Bold",
"composer.formatting.italic": "Italic",
"composer.formatting.list": "List",
"composer.formatting.strikethrough": "Strikethrough",
"composer.formatting.link": "Link",
"composer.formatting.picture": "Picture",
"composer.upload-picture": "Upload Image",
"composer.upload-file": "Upload File",
"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"
} }

View File

@@ -1,33 +1,25 @@
{ {
"title": "বিজ্ঞপ্তিগুলো", "title": "বিজ্ঞপ্তিগুলো",
"no_notifs": "আপনার নতুন কোন বিজ্ঞপ্তি নেই", "no_notifs": "আপনার নতুন কোন বিজ্ঞপ্তি নেই",
"see_all": "See all notifications", "see_all": "সকল বিজ্ঞপ্তিগুলো দেখুন",
"mark_all_read": "Mark all notifications read", "mark_all_read": "Mark all notifications read",
"back_to_home": "ফিরুন %1", "back_to_home": "ফিরুন %1",
"outgoing_link": "বহির্গামী লিঙ্ক", "outgoing_link": "বহির্গামী লিঙ্ক",
"outgoing_link_message": "You are now leaving %1", "outgoing_link_message": "আপনি এখন %1 ত্যাগ করছেন",
"continue_to": "%1 তে আগান", "continue_to": "%1 তে আগান",
"return_to": "%1 এ ফেরত যান", "return_to": "%1 এ ফেরত যান",
"new_notification": "নতুন বিজ্ঞপ্তি", "new_notification": "নতুন বিজ্ঞপ্তি",
"you_have_unread_notifications": "আপনার অপঠিত বিজ্ঞপ্তি আছে।", "you_have_unread_notifications": "আপনার অপঠিত বিজ্ঞপ্তি আছে।",
"new_message_from": "<strong>%1</strong> থেকে নতুন বার্তা", "new_message_from": "<strong>%1</strong> থেকে নতুন বার্তা",
"upvoted_your_post_in": "<strong>%1</strong> , <strong>%2</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>.", "moved_your_post": "<strong>%1</strong> আপনার পোষ্ট সরিয়ে নিয়েছেন। ",
"upvoted_your_post_in_multiple": "<strong>%1</strong> and %2 others have upvoted your post in <strong>%3</strong>.", "moved_your_topic": "<strong>%1</strong> আপনার টপিক সরিয়ে নিয়েছেন। ",
"moved_your_post": "<strong>%1</strong> has moved your post to <strong>%2</strong>", "favourited_your_post_in": "<strong>%1</strong> has favourited your post in <strong>%2</strong>.",
"moved_your_topic": "<strong>%1</strong> has moved <strong>%2</strong>",
"user_flagged_post_in": "<strong>%1</strong> flagged a 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": "<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_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": "<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": "ইমেইল নিশ্চিত করা হয়েছে",
"email-confirmed-message": "আপনার ইমেইল যাচাই করার জন্য আপনাকে ধন্যবাদ। আপনার অ্যাকাউন্টটি এখন সম্পূর্ণরূপে সক্রিয়।", "email-confirmed-message": "আপনার ইমেইল যাচাই করার জন্য আপনাকে ধন্যবাদ। আপনার অ্যাকাউন্টটি এখন সম্পূর্ণরূপে সক্রিয়।",
"email-confirm-error-message": "আপনার ইমেল ঠিকানার বৈধতা যাচাইয়ে একটি সমস্যা হয়েছে। সম্ভবত কোডটি ভুল ছিল অথবা কোডের মেয়াদ শেষ হয়ে গিয়েছে।", "email-confirm-error-message": "আপনার ইমেল ঠিকানার বৈধতা যাচাইয়ে একটি সমস্যা হয়েছে। সম্ভবত কোডটি ভুল ছিল অথবা কোডের মেয়াদ শেষ হয়ে গিয়েছে।",

View File

@@ -1,48 +1,21 @@
{ {
"home": "নীড়পাতা", "home": "নীড়পাতা",
"unread": "অপঠিত টপিক", "unread": "অপঠিত টপিক",
"popular-day": "Popular topics today", "popular": "জনপ্রিয় টপিক",
"popular-week": "Popular topics this week",
"popular-month": "Popular topics this month",
"popular-alltime": "All time popular topics",
"recent": "সাম্প্রতিক টপিক", "recent": "সাম্প্রতিক টপিক",
"flagged-posts": "Flagged Posts", "users": "নিবন্ধিত সদস্যগণ",
"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/most-flags": "Most flagged users",
"users/search": "User Search",
"notifications": "বিজ্ঞপ্তি", "notifications": "বিজ্ঞপ্তি",
"tags": "ট্যাগসমূহ", "tags": "Tags",
"tag": "Topics tagged under \"%1\"", "tag": "Topics tagged under \"%1\"",
"register": "Register an account", "user.edit": "সম্পাদনা \"%1\"",
"login": "Login to your account", "user.following": "%1 যাদের অনুসরণ করেন",
"reset": "Reset your account password", "user.followers": "যারা %1 কে অনুসরণ করেন",
"categories": "বিভাগ", "user.posts": "%1 এর পোস্ট সমুহ",
"groups": "Groups", "user.topics": "%1 এর টপিক সমুহ",
"group": "%1 group", "user.groups": "%1's Groups",
"chats": "Chats", "user.favourites": "%1'র প্রিয় পোস্টগুলো",
"chat": "Chatting with %1", "user.settings": "সদস্য সেটিংস",
"account/edit": "Editing \"%1\"", "user.watched": "Topics watched by %1",
"account/edit/password": "Editing password of \"%1\"",
"account/edit/username": "Editing username of \"%1\"",
"account/edit/email": "Editing email of \"%1\"",
"account/info": "Account Info",
"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",
"maintenance.text": "%1 is currently undergoing maintenance. Please come back another time.", "maintenance.text": "%1 is currently undergoing maintenance. Please come back another time.",
"maintenance.messageIntro": "Additionally, the administrator has left this message:", "maintenance.messageIntro": "Additionally, the administrator has left this message:"
"throttled.text": "%1 is currently unavailable due to excessive load. Please come back another time."
} }

View File

@@ -1,6 +1,5 @@
{ {
"register": "নিবন্ধন", "register": "নিবন্ধন",
"cancel_registration": "Cancel Registration",
"help.email": "ডিফল্টভাবে, আপনার ইমেইল সর্বসাধারণ থেকে লুকানো থাকবে।", "help.email": "ডিফল্টভাবে, আপনার ইমেইল সর্বসাধারণ থেকে লুকানো থাকবে।",
"help.username_restrictions": "%1 এবং %2 অক্ষরের মাঝে একটি অনন্য সদস্য নাম। বাকিরা আপনাকে @<span id='yourUsername'>নাম</span> দিয়ে উল্লেখ করতে পারবেন।", "help.username_restrictions": "%1 এবং %2 অক্ষরের মাঝে একটি অনন্য সদস্য নাম। বাকিরা আপনাকে @<span id='yourUsername'>নাম</span> দিয়ে উল্লেখ করতে পারবেন।",
"help.minimum_password_length": "আপনার পাসওয়ার্ড এর দৈর্ঘ্য অন্তত %1 অক্ষরের হতে হবে।", "help.minimum_password_length": "আপনার পাসওয়ার্ড এর দৈর্ঘ্য অন্তত %1 অক্ষরের হতে হবে।",
@@ -15,9 +14,5 @@
"register_now_button": "নিবন্ধন করুন", "register_now_button": "নিবন্ধন করুন",
"alternative_registration": "বিকল্প নিবন্ধন", "alternative_registration": "বিকল্প নিবন্ধন",
"terms_of_use": "নিয়মাবলী", "terms_of_use": "নিয়মাবলী",
"agree_to_terms_of_use": "আমি নিয়মাবলী মেনে চলতে সম্মতি জানালাম", "agree_to_terms_of_use": "আমি নিয়মাবলী মেনে চলতে সম্মতি জানালাম"
"terms_of_use_error": "You must agree to the Terms of Use",
"registration-added-to-queue": "আপনার নিবন্ধনটি এ্যাপ্লুভাল তালিকায় যুক্ত হয়েছে। একজন এডমিনিস্ট্রেটর কর্তৃক নিবন্ধন গৃহীত হলে আপনি একটি মেইল পাবেন। ",
"interstitial.intro": "We require some additional information before we can create your account.",
"interstitial.errors-found": "We could not complete your registration:"
} }

View File

@@ -1,40 +1,40 @@
{ {
"results_matching": "\"%2\" এর সাথে মিলিয়ে %1 ফলাফল পাওয়া গেছে, ( %3 seconds সময় লেগেছে )", "results_matching": "\"%2\" এর সাথে মিলিয়ে %1 ফলাফল পাওয়া গেছে, ( %3 seconds সময় লেগেছে )",
"no-matches": "কোন মিল খুঁজে পাওয়া যায় নি", "no-matches": "No matches found",
"advanced-search": "এডভান্সড সার্চ", "advanced-search": "Advanced Search",
"in": "এর মধ্যে", "in": "In",
"titles": "টাইটেলস", "titles": "Titles",
"titles-posts": "টাইটেল এবং পোস্ট সমূহ", "titles-posts": "Titles and Posts",
"posted-by": "পোষ্ট করেছেন", "posted-by": "Posted by",
"in-categories": "বিভাগের ভিতরে", "in-categories": "In Categories",
"search-child-categories": "উপবিভাগের ভিতরে", "search-child-categories": "Search child categories",
"reply-count": "রিপ্লাই কাউন্ট", "reply-count": "Reply Count",
"at-least": "কমপক্ষে", "at-least": "At least",
"at-most": "সর্বোচ্চ", "at-most": "At most",
"post-time": "পোস্টের সময়", "post-time": "Post time",
"newer-than": "Newer than", "newer-than": "Newer than",
"older-than": "Older than", "older-than": "Older than",
"any-date": "যেকোন তারিখ", "any-date": "Any date",
"yesterday": "গতকাল", "yesterday": "Yesterday",
"one-week": "এক সপ্তাহ", "one-week": "One week",
"two-weeks": "দুই সপ্তাহ", "two-weeks": "Two weeks",
"one-month": "এক মাস", "one-month": "One month",
"three-months": "তিন মাস", "three-months": "Three months",
"six-months": "ছয় মাস", "six-months": "Six months",
"one-year": "এক বছর", "one-year": "One year",
"sort-by": "সাজানোর ভিত্তি", "sort-by": "Sort by",
"last-reply-time": "সর্বশেষ রিপ্লাইয়ের সময়", "last-reply-time": "Last reply time",
"topic-title": "টপিকের টাইটেল", "topic-title": "Topic title",
"number-of-replies": "রিপ্লাইয়ের সংখ্যা", "number-of-replies": "Number of replies",
"number-of-views": "সর্বমোট ভিউ", "number-of-views": "Number of views",
"topic-start-date": "টপিক শুরুর তারিখ", "topic-start-date": "Topic start date",
"username": "ইউজারনেম", "username": "Username",
"category": "বিভাগ", "category": "Category",
"descending": "বড় থেকে ছোট অর্ডারে", "descending": "In descending order",
"ascending": "ছোট থেকে বড় অর্ডারে", "ascending": "In ascending order",
"save-preferences": "প্রেফারেন্স সেভ", "save-preferences": "Save preferences",
"clear-preferences": "Clear preferences", "clear-preferences": "Clear preferences",
"search-preferences-saved": "Search preferences saved", "search-preferences-saved": "Search preferences saved",
"search-preferences-cleared": "Search preferences cleared", "search-preferences-cleared": "Search preferences cleared",
"show-results-as": "ফলাফল দেখানো হোক : " "show-results-as": "Show results as"
} }

View File

@@ -13,7 +13,6 @@
"notify_me": "এই টপিকে নতুন উত্তর আসলে জানুন", "notify_me": "এই টপিকে নতুন উত্তর আসলে জানুন",
"quote": "উদ্ধৃতি", "quote": "উদ্ধৃতি",
"reply": "উত্তর", "reply": "উত্তর",
"reply-as-topic": "Reply as topic",
"guest-login-reply": "Log in to reply", "guest-login-reply": "Log in to reply",
"edit": "সম্পাদণা", "edit": "সম্পাদণা",
"delete": "মুছে ফেলুন", "delete": "মুছে ফেলুন",
@@ -26,30 +25,20 @@
"tools": "টুলস", "tools": "টুলস",
"flag": "ফ্ল্যাগ", "flag": "ফ্ল্যাগ",
"locked": "বন্ধ", "locked": "বন্ধ",
"pinned": "Pinned", "bookmark_instructions": "আপনার সর্বশেষ অবস্থানে ফিরে যাবার জন্য এখানে ক্লিক করুন অথবা অগ্রাহ্য করতে চাইলে বন্ধ করুন",
"moved": "Moved",
"bookmark_instructions": "Click here to return to the last read post in this thread.",
"flag_title": "মডারেশনের জন্য এই পোস্টটি ফ্ল্যাগ করুন", "flag_title": "মডারেশনের জন্য এই পোস্টটি ফ্ল্যাগ করুন",
"flag_confirm": "আপনি কি নিশ্চিত যে এই পোস্টটিকে আপনি ফ্ল্যাগ করতে চান? ",
"flag_success": "এই পোস্টটি মডারেশনের জন্য ফ্ল্যাগ করা হয়েছে।", "flag_success": "এই পোস্টটি মডারেশনের জন্য ফ্ল্যাগ করা হয়েছে।",
"deleted_message": "এই টপিকটি মুছে ফেলা হয়েছে। শুধুমাত্র টপিক ব্যবস্থাপনার ক্ষমতাপ্রাপ্ত সদস্যগণ এটি দেখতে পারবেন।", "deleted_message": "এই টপিকটি মুছে ফেলা হয়েছে। শুধুমাত্র টপিক ব্যবস্থাপনার ক্ষমতাপ্রাপ্ত সদস্যগণ এটি দেখতে পারবেন।",
"following_topic.message": "এখন থেকে এই টপিকে অন্যকেউ পোস্ট করলে আপনি নোটিফিকেশন পাবেন।", "following_topic.message": "এখন থেকে এই টপিকে অন্যকেউ পোস্ট করলে আপনি নোটিফিকেশন পাবেন।",
"not_following_topic.message": "You will see this topic in the unread topics list, but you will not receive notifications when somebody posts to this topic.", "not_following_topic.message": "এই টপিক থেকে আপনি আর নোটিফিকেশন পাবেন না।",
"ignoring_topic.message": "You will no longer see this topic in the unread topics list. You will be notified when you are mentioned or your post is up voted.",
"login_to_subscribe": "এই টপিকে সাবস্ক্রাইব করতে চাইলে অনুগ্রহ করে নিবন্ধণ করুন অথবা প্রবেশ করুন।", "login_to_subscribe": "এই টপিকে সাবস্ক্রাইব করতে চাইলে অনুগ্রহ করে নিবন্ধণ করুন অথবা প্রবেশ করুন।",
"markAsUnreadForAll.success": "টপিকটি সবার জন্য অপঠিত হিসাবে মার্ক করুন।", "markAsUnreadForAll.success": "টপিকটি সবার জন্য অপঠিত হিসাবে মার্ক করুন।",
"mark_unread": "Mark unread",
"mark_unread.success": "Topic marked as unread.",
"watch": "দেখা", "watch": "দেখা",
"unwatch": "অদেখা", "unwatch": "অদেখা",
"watch.title": "এই টপিকে নতুন উত্তর এলে বিজ্ঞাপণের মাধ্যমে জানুন।", "watch.title": "এই টপিকে নতুন উত্তর এলে বিজ্ঞাপণের মাধ্যমে জানুন।",
"unwatch.title": "এই টপিক দেখা বন্ধ করুন", "unwatch.title": "এই টপিক দেখা বন্ধ করুন",
"share_this_post": "এই পোষ্টটি শেয়ার করুন", "share_this_post": "এই পোষ্টটি শেয়ার করুন",
"watching": "Watching",
"not-watching": "Not Watching",
"ignoring": "Ignoring",
"watching.description": "Notify me of new replies.<br/>Show topic in unread.",
"not-watching.description": "Do not notify me of new replies.<br/>Show topic in unread if category is not ignored.",
"ignoring.description": "Do not notify me of new replies.<br/>Do not show topic in unread.",
"thread_tools.title": "টপিক সম্পর্কিত টুলস", "thread_tools.title": "টপিক সম্পর্কিত টুলস",
"thread_tools.markAsUnreadForAll": "\"অপঠিত\" হিসেবে চিহ্নিত করুন", "thread_tools.markAsUnreadForAll": "\"অপঠিত\" হিসেবে চিহ্নিত করুন",
"thread_tools.pin": "টপিক পিন করুন", "thread_tools.pin": "টপিক পিন করুন",
@@ -60,7 +49,6 @@
"thread_tools.move_all": "সমস্ত টপিক সরান", "thread_tools.move_all": "সমস্ত টপিক সরান",
"thread_tools.fork": "টপিক ফর্ক করুন", "thread_tools.fork": "টপিক ফর্ক করুন",
"thread_tools.delete": "টপিক মুছে ফেলুন", "thread_tools.delete": "টপিক মুছে ফেলুন",
"thread_tools.delete-posts": "Delete Posts",
"thread_tools.delete_confirm": "আপনি নিশ্চিত যে আপনি এই টপিকটি মুছে ফেলতে চান?", "thread_tools.delete_confirm": "আপনি নিশ্চিত যে আপনি এই টপিকটি মুছে ফেলতে চান?",
"thread_tools.restore": "টপিক পুনরূদ্ধার করুন", "thread_tools.restore": "টপিক পুনরূদ্ধার করুন",
"thread_tools.restore_confirm": "আপনি নিশ্চিত যে আপনি টপিকটি পুনরূদ্ধার করতে চান?", "thread_tools.restore_confirm": "আপনি নিশ্চিত যে আপনি টপিকটি পুনরূদ্ধার করতে চান?",
@@ -74,9 +62,9 @@
"disabled_categories_note": "নিস্ক্রীয় ক্যাটাগরীসমূহ ধূসর কালিতে লেখা রয়েছে। ", "disabled_categories_note": "নিস্ক্রীয় ক্যাটাগরীসমূহ ধূসর কালিতে লেখা রয়েছে। ",
"confirm_move": "সরান", "confirm_move": "সরান",
"confirm_fork": "ফর্ক", "confirm_fork": "ফর্ক",
"favourite": "Bookmark", "favourite": "পছন্দ",
"favourites": "Bookmarks", "favourites": "পছন্দতালিকা",
"favourites.has_no_favourites": "You haven't bookmarked any posts yet.", "favourites.has_no_favourites": "আপনার যদি কোন পছন্দের পোষ্ট না থেকে থাকে তাহলে কিছু পোষ্ট ফেভারিট করা হলে সেগুলো এখানে দেখতে পাবেন।",
"loading_more_posts": "আরো পোষ্ট লোড করা হচ্ছে", "loading_more_posts": "আরো পোষ্ট লোড করা হচ্ছে",
"move_topic": "টপিক সরান", "move_topic": "টপিক সরান",
"move_topics": "টপিক সমূহ সরান", "move_topics": "টপিক সমূহ সরান",
@@ -87,7 +75,6 @@
"fork_topic_instruction": "যে পোষ্টটি ফর্ক করতে চান সেটি ক্লিক করুন", "fork_topic_instruction": "যে পোষ্টটি ফর্ক করতে চান সেটি ক্লিক করুন",
"fork_no_pids": "কোন পোষ্ট সিলেক্ট করা হয় নি", "fork_no_pids": "কোন পোষ্ট সিলেক্ট করা হয় নি",
"fork_success": "টপিক ফর্ক করা হয়েছে। ফর্ক করা টপিকে যেতে এখানে ক্লিক করুন", "fork_success": "টপিক ফর্ক করা হয়েছে। ফর্ক করা টপিকে যেতে এখানে ক্লিক করুন",
"delete_posts_instruction": "Click the posts you want to delete/purge",
"composer.title_placeholder": "আপনার টপিকের শিরোনাম দিন", "composer.title_placeholder": "আপনার টপিকের শিরোনাম দিন",
"composer.handle_placeholder": "Name", "composer.handle_placeholder": "Name",
"composer.discard": "বাতিল", "composer.discard": "বাতিল",
@@ -109,13 +96,5 @@
"oldest_to_newest": "পুরাতন থেকে নতুন", "oldest_to_newest": "পুরাতন থেকে নতুন",
"newest_to_oldest": "নতুন থেকে পুরাতন", "newest_to_oldest": "নতুন থেকে পুরাতন",
"most_votes": "সর্বোচ্চ ভোট", "most_votes": "সর্বোচ্চ ভোট",
"most_posts": "Most posts", "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"
} }

View File

@@ -5,9 +5,5 @@
"mark_as_read": "পঠিত হিসেবে চিহ্নিত করুন", "mark_as_read": "পঠিত হিসেবে চিহ্নিত করুন",
"selected": "নির্বাচিত", "selected": "নির্বাচিত",
"all": "সবগুলো", "all": "সবগুলো",
"all_categories": "All categories", "topics_marked_as_read.success": "পঠিত হিসেবে চিহ্নিত টপিকসমূহ"
"topics_marked_as_read.success": "পঠিত হিসেবে চিহ্নিত টপিকসমূহ",
"all-topics": "All Topics",
"new-topics": "New Topics",
"watched-topics": "Watched Topics"
} }

View File

@@ -1,6 +0,0 @@
{
"uploading-file": "Uploading the file...",
"select-file-to-upload": "Select a file to upload!",
"upload-success": "File uploaded successfully!",
"maximum-file-size": "Maximum %1 kb"
}

View File

@@ -2,18 +2,12 @@
"banned": "নিষিদ্ধ", "banned": "নিষিদ্ধ",
"offline": "অফলাইন", "offline": "অফলাইন",
"username": "সদস্যের নাম", "username": "সদস্যের নাম",
"joindate": "নিবন্ধন তারিখ", "joindate": "Join Date",
"postcount": "সর্বমোট পোষ্ট", "postcount": "Post Count",
"email": "ইমেইল", "email": "ইমেইল",
"confirm_email": "ইমেইল নিশ্চিত করুন", "confirm_email": "ইমেইল নিশ্চিত করুন",
"account_info": "Account Info",
"ban_account": "একাউন্ট নিষিদ্ধ করুন",
"ban_account_confirm": "আপনি কি নিশ্চিত যে এই সদস্যকে নিষিদ্ধ করতে চান ?",
"unban_account": "নিষেদ্ধাজ্ঞা তুলে নিন",
"delete_account": "একাউন্ট মুছে ফেলুন", "delete_account": "একাউন্ট মুছে ফেলুন",
"delete_account_confirm": "আপনি কি নিশ্চিত যে আপনি আপনার একাউন্ট মুছে ফেলতে চান ? <br /><strong>এই কাজটির ফলে আপনার কোন তথ্য পুনরূদ্ধার করা সম্ভব নয় </strong><br /><br /> নিশ্চিত করতে আপনার ইউজারনেম প্রবেশ করান। ", "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": "পুর্ণ নাম", "fullname": "পুর্ণ নাম",
"website": "ওয়েবসাইট", "website": "ওয়েবসাইট",
"location": "স্থান", "location": "স্থান",
@@ -23,25 +17,21 @@
"profile": "প্রোফাইল", "profile": "প্রোফাইল",
"profile_views": "প্রোফাইল দেখেছেন", "profile_views": "প্রোফাইল দেখেছেন",
"reputation": "সন্মাননা", "reputation": "সন্মাননা",
"favourites": "Bookmarks", "favourites": "পছন্দের তালিকা",
"watched": "দেখা হয়েছে", "watched": "Watched",
"followers": "যাদের অনুসরণ করছেন", "followers": "যাদের অনুসরণ করছেন",
"following": "যারা আপনাকে অনুসরণ করছে", "following": "যারা আপনাকে অনুসরণ করছে",
"aboutme": "আমার সম্পর্কে: ", "aboutme": "About me",
"signature": "স্বাক্ষর", "signature": "স্বাক্ষর",
"gravatar": "গ্রাভাতার",
"birthday": "জন্মদিন", "birthday": "জন্মদিন",
"chat": "বার্তালাপ", "chat": "বার্তালাপ",
"chat_with": "চ্যাট উইথ %1",
"follow": "অনুসরন করুন", "follow": "অনুসরন করুন",
"unfollow": "অনুসরন করা থেকে বিরত থাকুন", "unfollow": "অনুসরন করা থেকে বিরত থাকুন",
"more": "আরো...", "more": "More",
"profile_update_success": "প্রোফাইল আপডেট সফল হয়েছে", "profile_update_success": "প্রোফাইল আপডেট সফল হয়েছে",
"change_picture": "ছবি পরিবর্তন", "change_picture": "ছবি পরিবর্তন",
"change_username": "ইউজারনেম পরিবর্তন করুন",
"change_email": "ইমেইল পরিবর্তন করুন",
"edit": "সম্পাদনা", "edit": "সম্পাদনা",
"edit-profile": "Edit Profile",
"default_picture": "ডিফল্ট আইকন",
"uploaded_picture": "ছবি আপলোড করুন", "uploaded_picture": "ছবি আপলোড করুন",
"upload_new_picture": "নতুন ছবি আপলোড করুন", "upload_new_picture": "নতুন ছবি আপলোড করুন",
"upload_new_picture_from_url": "URL থেকে নতুন ছবি আপলোড করুন", "upload_new_picture_from_url": "URL থেকে নতুন ছবি আপলোড করুন",
@@ -56,12 +46,9 @@
"confirm_password": "পাসওয়ার্ড নিশ্চিত করুন", "confirm_password": "পাসওয়ার্ড নিশ্চিত করুন",
"password": "পাসওয়ার্ড", "password": "পাসওয়ার্ড",
"username_taken_workaround": "আপনি যে ইউজারনেম চাচ্ছিলেন সেটি ইতিমধ্যে নেয়া হয়ে গেছে, কাজেই আমরা এটি কিঞ্চিং পরিবর্তন করেছি। আপনি এখন <strong>%1</strong> হিসেবে পরিচিত", "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_picture": "ছবি আপলোড করুন",
"upload_a_picture": "ছবি (একটি) আপলোড করুন", "upload_a_picture": "ছবি (একটি) আপলোড করুন",
"remove_uploaded_picture": "আপলোড করা ছবিটি সরিয়ে নাও", "image_spec": "আপনি কেবলমাত্র PNG, JPG অথবা GIF ফাইল আপলোড করতে পারবেন",
"upload_cover_picture": "Upload cover picture",
"settings": "সেটিংস", "settings": "সেটিংস",
"show_email": "আমার ইমেইল দেখাও", "show_email": "আমার ইমেইল দেখাও",
"show_fullname": "আমার সম্পূর্ণ নাম দেখাও", "show_fullname": "আমার সম্পূর্ণ নাম দেখাও",
@@ -73,46 +60,25 @@
"digest_weekly": "সাপ্তাহিক", "digest_weekly": "সাপ্তাহিক",
"digest_monthly": "মাসিক", "digest_monthly": "মাসিক",
"send_chat_notifications": "যদি আমি অনলাইনে না থাকি, সেক্ষেত্রে নতুন চ্যাট মেসেজ আসলে আমাকে ইমেইল করুন", "send_chat_notifications": "যদি আমি অনলাইনে না থাকি, সেক্ষেত্রে নতুন চ্যাট মেসেজ আসলে আমাকে ইমেইল করুন",
"send_post_notifications": "আমার সাবস্ক্রাইব করা টপিকগুলোতে রিপ্লাই করা হলে আমাকে মেইল করা হোক", "send_post_notifications": "Send an email when replies are made to topics I am subscribed to",
"settings-require-reload": "কিছু কিছু পরিবর্তনের জন্য রিলোড করা আবশ্যক। পেজটি রিলোড করতে এখানে ক্লিক করুন", "settings-require-reload": "Some setting changes require a reload. Click here to reload the page.",
"has_no_follower": "এই সদস্যের কোন ফলোয়ার নেই :(", "has_no_follower": "এই সদস্যের কোন ফলোয়ার নেই :(",
"follows_no_one": "এই সদস্য কাউকে ফলো করছেন না :(", "follows_no_one": "এই সদস্য কাউকে ফলো করছেন না :(",
"has_no_posts": "এই সদস্য এখন পর্যন্ত কোন পো্ট করেন নি", "has_no_posts": "এই সদস্য এখন কোন পো্ট করেন নি",
"has_no_topics": "এই সদস্য এখনো কোন টপিক করেন নি", "has_no_topics": "এই সদস্য এখনো কোন টপিক পোষ্ট করেন নি",
"has_no_watched_topics": "এই সদস্য এখনো কোন টপিক দেখেন নি", "has_no_watched_topics": "This user didn't watch 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",
"email_hidden": "ইমেইল গোপন রাখা হয়েছে", "email_hidden": "ইমেইল গোপন রাখা হয়েছে",
"hidden": "গোপন করা হয়েছে", "hidden": "গোপন করা হয়েছে",
"paginate_description": "ইনফাইনাইট স্ক্রলের বদলে টপিক ও পোস্টের জন্য পেজিনেশন ব্যাবহার করা হোক", "paginate_description": "Paginate topics and posts instead of using infinite scroll",
"topics_per_page": "প্রতি পেজে কতগুলো টপিক থাকবে", "topics_per_page": "প্রতি পেজে কতগুলো টপিক থাকবে",
"posts_per_page": "প্রতি পেইজে কতগুলো পোষ্ট থাকবে", "posts_per_page": "প্রতি পেইজে কতগুলো পোষ্ট থাকবে",
"notification_sounds": "নোটিফিকেশনের জন্য নোটিফিকেশন সাউন্ড এনাবল করুন", "notification_sounds": "Play a sound when you receive a notification",
"browsing": "Browsing সেটিংস", "browsing": "Browsing সেটিংস",
"open_links_in_new_tab": "আউটগোয়িং লিংকগুলো নতুন ট্যাবে খুলুন", "open_links_in_new_tab": "Open outgoing links in new tab",
"enable_topic_searching": "In-Topic সার্চ সক্রীয় করো", "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", "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",
"delay_image_loading": "Delay Image Loading", "follow_topics_you_reply_to": "Follow topics that you reply to",
"image_load_delay_help": "If enabled, images in topics will not load until they are scrolled into view", "follow_topics_you_create": "Follow topics you create",
"scroll_to_my_post": "After posting a reply, show the new post", "grouptitle": "Select the group title you would like to display",
"follow_topics_you_reply_to": "Watch topics that you reply to", "no-group-title": "No group title"
"follow_topics_you_create": "Watch topics you create",
"grouptitle": "Group Title",
"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",
"info.latest-flags": "Latest Flags",
"info.no-flags": "No Flagged Posts Found",
"info.ban-history": "Recent Ban History",
"info.no-ban-history": "This user has never been banned",
"info.banned-until": "Banned until %1",
"info.banned-permanently": "Banned permanently"
} }

View File

@@ -2,20 +2,11 @@
"latest_users": "সর্বশেষ নিবন্ধিত সদস্যরা:", "latest_users": "সর্বশেষ নিবন্ধিত সদস্যরা:",
"top_posters": "সর্বোচ্চ পোষ্টকারী", "top_posters": "সর্বোচ্চ পোষ্টকারী",
"most_reputation": "সর্বোচ্চ সম্মাননাধারী", "most_reputation": "সর্বোচ্চ সম্মাননাধারী",
"most_flags": "Most Flags",
"search": "খুঁজুন", "search": "খুঁজুন",
"enter_username": "ইউজারনেম এর ভিত্তিতে সার্চ করুন", "enter_username": "ইউজারনেম এর ভিত্তিতে সার্চ করুন",
"load_more": "আরো লোড করুন", "load_more": "আরো লোড করুন",
"users-found-search-took": "%1 জন সদস্য(দের) খুঁজে পাওয়া গেছে। খুঁজতে সময় লেগেছে %2 সেকেন্ড ", "users-found-search-took": "%1 user(s) found! Search took %2 seconds.",
"filter-by": "ফিল্টার করার ধরন", "filter-by": "Filter By",
"online-only": "শুধুমাত্র অনলাইন", "online-only": "Online only",
"invite": "ইনভাইট", "picture-only": "Picture only"
"invitation-email-sent": "%1 কে একটি ইনভাইটেশন ইমেইল পাঠানো হয়েছে",
"user_list": "সদস্য তালিকা",
"recent_topics": "সাম্প্রতিক টপিক",
"popular_topics": "জনপ্রিয় টপিক",
"unread_topics": "অপঠিত টপিক",
"categories": "বিভাগ",
"tags": "ট্যাগসমূহ",
"no-users-found": "No users found!"
} }

View File

@@ -1,20 +1,12 @@
{ {
"category": "Kategorie",
"subcategories": "Podkategorie",
"new_topic_button": "Nové téma", "new_topic_button": "Nové téma",
"guest-login-post": "Přihlásit se pro přispívání", "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í!", "no_topics": "<strong>V této kategorii zatím nejsou žádné příspěvky.</strong><br />Můžeš být první!",
"browsing": "prohlíží", "browsing": "prohlíží",
"no_replies": "Nikdo ještě neodpověděl", "no_replies": "Nikdo ještě neodpověděl",
"no_new_posts": "Žádné nové příspěvky",
"share_this_category": "Share this category", "share_this_category": "Share this category",
"watch": "Sledovat", "watch": "Watch",
"ignore": "Ignorovat", "ignore": "Ignorovat",
"watching": "Watching", "watch.message": "You are now watching updates from this category",
"ignoring": "Ignoring", "ignore.message": "You are now ignoring updates from this category"
"watching.description": "Show topics in unread",
"ignoring.description": "Do not show topics in unread",
"watch.message": "Nyní sledujete aktualizace ve skupině",
"ignore.message": "Nyní ignorujete aktualizace ve skupině ",
"watched-categories": "Sledované kategorie"
} }

View File

@@ -1,35 +1,27 @@
{ {
"password-reset-requested": "Požadována obnova hesla - %1!", "password-reset-requested": "Požadována obnova hesla - %1!",
"welcome-to": "Vítejte v %1", "welcome-to": "Vítejte v %1",
"invite": "Pozvánka od %1",
"greeting_no_name": "Dobrý den", "greeting_no_name": "Dobrý den",
"greeting_with_name": "Dobrý den %1", "greeting_with_name": "Dobrý den %1",
"welcome.text1": "Děkujeme vám za registraci na %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.text2": "Pro úplnou aktivaci vašeho účtu potřebujeme ověřit vaší emailovou adresu.",
"welcome.text3": "Administrátor právě potvrdil vaší registraci. Nyní se můžete přihlásit jménem a heslem.",
"welcome.cta": "Klikněte zde pro potvrzení vaší emailové adresy", "welcome.cta": "Klikněte zde pro potvrzení vaší emailové adresy",
"invitation.text1": "%1 Vás pozval abyste se připojil k %2",
"invitation.ctr": "Klikněte zde pro vytvoření vašeho účtu",
"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.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.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", "reset.cta": "Klikněte zde, chcete-li obnovit vaše heslo",
"reset.notify.subject": "Heslo úspěšně změněno", "reset.notify.subject": "Password successfully changed",
"reset.notify.text1": "Informujeme Vás, že na %1 vaše heslo bylo úspěšně změněno.", "reset.notify.text1": "We are notifying you that on %1, your password was changed successfully.",
"reset.notify.text2": "Pokud jste to neschválil, prosíme neprodleně kontaktujte správce.", "reset.notify.text2": "If you did not authorise this, please notify an administrator immediately.",
"digest.notifications": "Máte tu nepřečtená oznámení od %1:", "digest.notifications": "Máte tu nepřečtená oznámení od %1:",
"digest.latest_topics": "Nejnovější témata od %1", "digest.latest_topics": "Nejnovější témata od %1",
"digest.cta": "Kliknutím zde navštívíte %1", "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.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.no_topics": "Dosud tu nebyly žádné aktivní témata %1",
"digest.day": "den",
"digest.week": "týden",
"digest.month": "měsíc",
"digest.subject": "Výběr pro %1",
"notif.chat.subject": "Nová zpráva z chatu od %1", "notif.chat.subject": "Nová zpráva z chatu od %1",
"notif.chat.cta": "Chcete-li pokračovat v konverzaci, klikněte zde.", "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.", "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.",
"notif.post.cta": "Klikněte zde pro přečtené celého tématu", "notif.post.cta": "Click here to read the full topic",
"notif.post.unsub.info": "Toto oznámení Vám bylo odesláno na základě vašeho nastavení odběru.", "notif.post.unsub.info": "This post notification was sent to you due to your subscription settings.",
"test.text1": "Tento testovací email slouží k ověření, že mailer je správně nastaven. NodeBB.", "test.text1": "Tento testovací email slouží k ověření, že mailer je správně nastaven. NodeBB.",
"unsub.cta": "Chcete-li změnit tyto nastavení, klikněte zde.", "unsub.cta": "Chcete-li změnit tyto nastavení, klikněte zde.",
"closing": "Díky!" "closing": "Díky!"

View File

@@ -14,23 +14,18 @@
"invalid-password": "Neplatné heslo", "invalid-password": "Neplatné heslo",
"invalid-username-or-password": "Stanovte, prosím, oboje, jak uživatelské jméno, tak 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-search-term": "Neplatný výraz pro vyhledávání",
"csrf-invalid": "We were unable to log you in, likely due to an expired session. Please try again", "invalid-pagination-value": "Neplatná hodnota pro stránkování",
"invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2",
"username-taken": "Uživatelské jméno je již použito", "username-taken": "Uživatelské jméno je již použito",
"email-taken": "Email je již použit", "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.", "email-not-confirmed": "Vaše emailová adresa zatím nebyla potvrzena. Kliknutím zde svůj email potvrdíte.",
"email-not-confirmed-chat": "You are unable to chat until your email is confirmed, please click here to confirm your email.", "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": "This forum requires email confirmation, please click here to enter an email", "no-email-to-confirm": "This forum requires email confirmation, please click here to enter an email",
"email-confirm-failed": "We could not confirm your email, please try again later.", "email-confirm-failed": "We could not confirm your email, please try again later.",
"confirm-email-already-sent": "Potvrzovací email již byl odeslán. Vyčkejte %1 minut pokud chcete odeslat další.", "confirm-email-already-sent": "Confirmation email already sent, please wait %1 minute(s) to send another one.",
"sendmail-not-found": "The sendmail executable could not be found, please ensure it is installed and executable by the user running NodeBB.",
"username-too-short": "Uživatelské jméno je příliš krátké", "username-too-short": "Uživatelské jméno je příliš krátké",
"username-too-long": "Uživatelské jméno je příliš dlouhé", "username-too-long": "Uživatelské jméno je příliš dlouhé",
"password-too-long": "Heslo je příliš dlouhé",
"user-banned": "Uživatel byl zakázán", "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", "user-too-new": "Sorry, you are required to wait %1 second(s) before making your first post",
"blacklisted-ip": "Sorry, your IP address has been banned from this community. If you feel this is in error, please contact an administrator.",
"ban-expiry-missing": "Please provide an end date for this ban",
"no-category": "Kategorie neexistuje", "no-category": "Kategorie neexistuje",
"no-topic": "Téma neexistuje", "no-topic": "Téma neexistuje",
"no-post": "Příspěvek neexistuje", "no-post": "Příspěvek neexistuje",
@@ -38,22 +33,11 @@
"no-user": "Uživatel neexistuje", "no-user": "Uživatel neexistuje",
"no-teaser": "Teaser does not exist", "no-teaser": "Teaser does not exist",
"no-privileges": "Na tuto akci nemáte dostatečná práva", "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", "category-disabled": "Kategorie zakázána",
"topic-locked": "Téma uzamčeno", "topic-locked": "Téma uzamčeno",
"post-edit-duration-expired": "You are only allowed to edit posts for %1 second(s) after posting", "post-edit-duration-expired": "You are only allowed to edit posts for %1 second(s) after posting",
"post-edit-duration-expired-minutes": "You are only allowed to edit posts for %1 minute(s) after posting", "still-uploading": "Vyčkejte, prosím, nežli se vše kompletně nahraje.",
"post-edit-duration-expired-minutes-seconds": "You are only allowed to edit posts for %1 minute(s) %2 second(s) after posting",
"post-edit-duration-expired-hours": "You are only allowed to edit posts for %1 hour(s) after posting",
"post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting",
"post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting",
"post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting",
"post-delete-duration-expired": "You are only allowed to delete posts for %1 second(s) after posting",
"post-delete-duration-expired-minutes": "You are only allowed to delete posts for %1 minute(s) after posting",
"post-delete-duration-expired-minutes-seconds": "You are only allowed to delete posts for %1 minute(s) %2 second(s) after posting",
"post-delete-duration-expired-hours": "You are only allowed to delete posts for %1 hour(s) after posting",
"post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting",
"post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting",
"post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting",
"content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).", "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).", "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).", "title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).",
@@ -62,28 +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", "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-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)", "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", "file-too-big": "Maximum allowed file size is %1 kB - please upload a smaller file",
"guest-upload-disabled": "Guest uploading has been disabled", "cant-vote-self-post": "Nemůžete hlasovat pro svůj vlastní příspěvek",
"already-favourited": "You have already bookmarked this post", "already-favourited": "You have already favourited this post",
"already-unfavourited": "You have already unbookmarked this post", "already-unfavourited": "You have already unfavourited this post",
"cant-ban-other-admins": "Nemůžete zakazovat ostatní administrátory!", "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",
"cant-delete-admin": "Remove administrator privileges from this account before attempting to delete it.",
"invalid-image-type": "Invalid image type. Allowed types are: %1", "invalid-image-type": "Invalid image type. Allowed types are: %1",
"invalid-image-extension": "Invalid image extension", "invalid-image-extension": "Invalid image extension",
"invalid-file-type": "Invalid file type. Allowed types are: %1", "invalid-file-type": "Invalid file type. Allowed types are: %1",
"group-name-too-short": "Název skupiny je příliš krátký", "group-name-too-short": "Název skupiny je příliš krátký",
"group-name-too-long": "Group name too long",
"group-already-exists": "Skupina už exstuje", "group-already-exists": "Skupina už exstuje",
"group-name-change-not-allowed": "Změna názvu skupiny není povolena", "group-name-change-not-allowed": "Změna názvu skupiny není povolena",
"group-already-member": "Already part of this group", "group-already-member": "You are already part of this group",
"group-not-member": "Not a member of this group",
"group-needs-owner": "This group requires at least one owner", "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-deleted": "Tento příspěvek byl již vymazán",
"post-already-restored": "Tento příspěvek byl již obnoven", "post-already-restored": "Tento příspěvek byl již obnoven",
"topic-already-deleted": "Toto téma bylo již vymazáno", "topic-already-deleted": "Toto téma bylo již vymazáno",
@@ -96,29 +71,14 @@
"about-me-too-long": "Sorry, your about me 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": "Nemůžete chatovat sami se sebou!", "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-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.", "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",
"already-voting-for-this-post": "You have already voted for this post.",
"reputation-system-disabled": "Systém reputací je zakázán.", "reputation-system-disabled": "Systém reputací je zakázán.",
"downvoting-disabled": "Downvoting is disabled", "downvoting-disabled": "Downvoting is disabled",
"not-enough-reputation-to-downvote": "You do not have enough reputation to downvote this post", "not-enough-reputation-to-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", "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.", "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", "registration-error": "Chyba při registraci",
"parse-error": "Something went wrong while parsing server response", "parse-error": "Something went wrong while parsing server response",
"wrong-login-type-email": "Použijte prosím Váš e-mail pro přihlášení", "wrong-login-type-email": "Please use your email to login",
"wrong-login-type-username": "Použijte prosím Váše přihlašovací jméno pro přihlášení", "wrong-login-type-username": "Please use your username to login"
"invite-maximum-met": "Již jste pozval/a maximálně možný počet lidí (%1 z %2).",
"no-session-found": "No login session found!",
"not-in-room": "User not in room",
"no-users-in-room": "No users in this room",
"cant-kick-self": "Nemůžete vyhodit sami sebe ze kupiny",
"no-users-selected": "No user(s) selected",
"invalid-home-page-route": "Invalid home page route"
} }

View File

@@ -3,10 +3,10 @@
"search": "Hledat", "search": "Hledat",
"buttons.close": "Zavřít", "buttons.close": "Zavřít",
"403.title": "Přístup odepřen", "403.title": "Přístup odepřen",
"403.message": "Zdá se, že jste narazil/a na stránky na které nemáte přístup.", "403.message": "You seem to have stumbled upon a page that you do not have access to.",
"403.login": "Možná byste měli se <a href='%1/login'>zkusit přihlásit</a>?", "403.login": "Perhaps you should <a href='%1/login'>try logging in</a>?",
"404.title": "Stránka nenalezena", "404.title": "Stránka nenalezena",
"404.message": "Zdá se, že jste narazil/a na stránku která neexistuje. Vrátit se zpět na <a href='%1/'>domovskou stránku</a>.", "404.message": "You seem to have stumbled upon a page that does not exist. Return to the <a href='%1/'>home page</a>.",
"500.title": "Neznámá chyba", "500.title": "Neznámá chyba",
"500.message": "Jejda, vypadá to, že se něco pokazilo.", "500.message": "Jejda, vypadá to, že se něco pokazilo.",
"register": "Registrovat", "register": "Registrovat",
@@ -22,58 +22,50 @@
"pagination.out_of": "%1 z %2", "pagination.out_of": "%1 z %2",
"pagination.enter_index": "Enter index", "pagination.enter_index": "Enter index",
"header.admin": "Administrace", "header.admin": "Administrace",
"header.categories": "Kategorie", "header.recent": "Aktuality",
"header.recent": "Nejnovější",
"header.unread": "Nepřečtené", "header.unread": "Nepřečtené",
"header.tags": "Tagy", "header.tags": "Tagy",
"header.popular": "Populární", "header.popular": "Populární",
"header.users": "Uživatelé", "header.users": "Uživatelé",
"header.groups": "Skupiny", "header.groups": "Groups",
"header.chats": "Chaty", "header.chats": "Chats",
"header.notifications": "Oznámení", "header.notifications": "Oznámení",
"header.search": "Hledat", "header.search": "Hledat",
"header.profile": "Můj profil", "header.profile": "Můj profil",
"header.navigation": "Navigace",
"notifications.loading": "Načítání upozornění", "notifications.loading": "Načítání upozornění",
"chats.loading": "Načítání chatů", "chats.loading": "Načítání grafů",
"motd.welcome": "Vítejte na NodeBB, diskusní platforma buducnosti.", "motd.welcome": "Vítejte na NodeBB, diskusní platforma buducnosti.",
"previouspage": "Předchozí stránka", "previouspage": "Předchozí stránka",
"nextpage": "Další stránka", "nextpage": "Další stránka",
"alert.success": "Úspěch", "alert.success": "Success",
"alert.error": "Chyba", "alert.error": "Chyba",
"alert.banned": "Banned", "alert.banned": "Banned",
"alert.banned.message": "You have just been banned, you will now be logged out.", "alert.banned.message": "You have just been banned, you will now be logged out.",
"alert.unfollow": "Již nesledujete %1!", "alert.unfollow": "You are no longer following %1!",
"alert.follow": "Nyní sledujete %1!", "alert.follow": "You are now following %1!",
"online": "Online", "online": "Online",
"users": "Uživatelé", "users": "Uživatelé",
"topics": "Témata", "topics": "Témata",
"posts": "Příspěvky", "posts": "Příspěvky",
"best": "Nejlepší",
"upvoters": "Upvoters",
"upvoted": "Upvoted",
"downvoters": "Downvoters",
"downvoted": "Downvoted",
"views": "Zobrazení", "views": "Zobrazení",
"reputation": "Reputace", "reputation": "Reputation",
"read_more": "čtěte více", "read_more": "read more",
"more": "Více",
"posted_ago_by_guest": "posted %1 by Guest", "posted_ago_by_guest": "posted %1 by Guest",
"posted_ago_by": "posted %1 by %2", "posted_ago_by": "posted %1 by %2",
"posted_ago": "posted %1", "posted_ago": "posted %1",
"posted_in": "posted in %1", "posted_in_ago_by_guest": "posted in %1 %2 by Guest",
"posted_in_by": "posted in %1 by %2",
"posted_in_ago": "posted in %1 %2",
"posted_in_ago_by": "posted in %1 %2 by %3", "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", "user_posted_ago": "%1 posted %2",
"guest_posted_ago": "Guest posted %1", "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", "norecentposts": "Žádné nedávné příspěvky",
"norecenttopics": "Žádné nedávné témata", "norecenttopics": "Žádné nedávné témata",
"recentposts": "Nedávné příspěvky", "recentposts": "Nedávné příspěvky",
"recentips": "Naposledy zaznamenané IP adresy", "recentips": "Recently Logged In IPs",
"away": "Pryč", "away": "Pryč",
"dnd": "Nevyrušovat", "dnd": "Nerušit",
"invisible": "Neviditelný", "invisible": "Neviditelný",
"offline": "Offline", "offline": "Offline",
"email": "Email", "email": "Email",
@@ -82,15 +74,8 @@
"guests": "Hosté", "guests": "Hosté",
"updated.title": "Fórum zaktualizováno", "updated.title": "Fórum zaktualizováno",
"updated.message": "Toto fórum bylo právě aktualizováno na poslední verzi. Klikněte zde a obnovte tuto stránku.", "updated.message": "Toto fórum bylo právě aktualizováno na poslední verzi. Klikněte zde a obnovte tuto stránku.",
"privacy": "Soukromí", "privacy": "Privacy",
"follow": "Sledovat", "follow": "Follow",
"unfollow": "Prestat sledovat", "unfollow": "Unfollow",
"delete_all": "Vymazat vše", "delete_all": "Vymazat vše"
"map": "Mapa",
"sessions": "Login Sessions",
"ip_address": "IP adresa",
"enter_page_number": "Zadejte číslo stránky",
"upload_file": "Nahrár soubor",
"upload": "Nahrát",
"allowed-file-types": "Povolené typy souborů jsou %1"
} }

View File

@@ -1,54 +1,36 @@
{ {
"groups": "Skupiny", "groups": "Skupiny",
"view_group": "Prohlédnout skupinu", "view_group": "Prohlédnout skupinu",
"owner": "Vlastník skupiny", "owner": "Group Owner",
"new_group": "Vytvořit novou skupinu", "new_group": "Create New Group",
"no_groups_found": "Žádné skupiny k prohlížení", "no_groups_found": "There are no groups to see",
"pending.accept": "Přijmout", "pending.accept": "Accept",
"pending.reject": "Odmítnout", "pending.reject": "Reject",
"pending.accept_all": "Přijmout vše", "cover-instructions": "Drag and Drop a photo, drag to position, and hit <strong>Save</strong>",
"pending.reject_all": "Odmítnout vše", "cover-change": "Change",
"pending.none": "Žádní čekající členové v tuto chvíli", "cover-save": "Save",
"invited.none": "Žádní pozvaní členové v tuto chvíli", "cover-saving": "Saving",
"invited.uninvite": "Zrušit pozvánku", "details.title": "podrobnosti skupiny",
"invited.search": "Hledat uživatele k pozvání do této skupiny",
"invited.notification_title": "Byl jste pozván abyste se připojil/a k <strong>%1</strong>",
"request.notification_title": "Požadavek na členství ve skupině od <strong>%1</strong>",
"request.notification_text": "<strong>%1</strong> požádál o členství v <strong>%2</strong>",
"cover-save": "Uložit",
"cover-saving": "Ukládám",
"details.title": "Podrobnosti skupiny",
"details.members": "Seznam členů", "details.members": "Seznam členů",
"details.pending": "Čekající členové", "details.pending": "Pending Members",
"details.invited": "Pozvaní členové",
"details.has_no_posts": "Členové této skupiny dosud neodeslali ani jeden příspěvek.", "details.has_no_posts": "Členové této skupiny dosud neodeslali ani jeden příspěvek.",
"details.latest_posts": "Nejnovější příspěvky", "details.latest_posts": "Nejnovější příspěvky",
"details.private": "Soukromé", "details.private": "Private",
"details.disableJoinRequests": "Zakázat žádosti o připojení", "details.grant": "Grant/Rescind Ownership",
"details.grant": "Přidat/Zrušit vlastnictví", "details.kick": "Kick",
"details.kick": "Vyhodit", "details.owner_options": "Group Administration",
"details.owner_options": "Administrátor skupiny", "details.group_name": "Group Name",
"details.group_name": "Název skupiny", "details.member_count": "Member Count",
"details.member_count": "Počet členů", "details.creation_date": "Creation Date",
"details.creation_date": "Datum vytvoření", "details.description": "Description",
"details.description": "Popis", "details.badge_preview": "Badge Preview",
"details.badge_preview": "Náhled odznaku", "details.change_icon": "Change Icon",
"details.change_icon": "Změnit ikonu", "details.change_colour": "Change Colour",
"details.change_colour": "Změnit barvu", "details.badge_text": "Badge Text",
"details.badge_text": "Text odznaku", "details.userTitleEnabled": "Show Badge",
"details.userTitleEnabled": "Zobrazit odznak", "details.private_help": "If enabled, joining of groups requires approval from a group owner",
"details.private_help": "Pokud je povoleno, připojování do skupin vyžaduje schválení od vlastníka skupiny", "details.hidden": "Hidden",
"details.hidden": "Skrytý", "details.hidden_help": "If enabled, this group will not be found in the groups listing, and users will have to be invited manually",
"details.hidden_help": "Pokud je povoleno, tato skupina nebude zobrazena v seznamu skupin, uživatelé budou muset být pozváni manuálně", "event.updated": "Group details have been updated",
"details.delete_group": "Odstranit skupinu", "event.deleted": "The group \"%1\" has been deleted"
"details.private_system_help": "Soukromé skupiny jsou zakázáné na systémové úrovni, tato možnost nic nedělá",
"event.updated": "Podrobnosti skupiny byly aktualizovány",
"event.deleted": "Skupina \"%1\" byla odstraněna",
"membership.accept-invitation": "Přijmout pozvání",
"membership.invitation-pending": "Čekající pozvání",
"membership.join-group": "Vstoupit do skupiny",
"membership.leave-group": "Opustit skupinu",
"membership.reject": "Odmítnout",
"new-group.group_name": "Název skupiny:",
"upload-group-cover": "Nahrát titulní obrázek skupiny"
} }

View File

@@ -1,12 +1,11 @@
{ {
"username-email": "Uživatel / Email", "username-email": "Username / Email",
"username": "Uživatel", "username": "Username",
"email": "Email", "email": "Email",
"remember_me": "Zapamatovat si mě?", "remember_me": "Zapamatovat si mě?",
"forgot_password": "Zapomněli jste heslo?", "forgot_password": "Zapomněli jste heslo?",
"alternative_logins": "Další způsoby přihlášení", "alternative_logins": "Další způsoby přihlášení",
"failed_login_attempt": "Přihlášení neúspěšné", "failed_login_attempt": "Přihlášení se nezdařilo, zkuste to prosím znovu.",
"login_successful": "Přihlášení proběhlo úspěšně!", "login_successful": "Přihlášení proběhlo úspěšně!",
"dont_have_account": "Nemáte účet?", "dont_have_account": "Nemáte účet?"
"logged-out-due-to-inactivity": "You have been logged out of the Admin Control Panel due to inactivity"
} }

View File

@@ -4,43 +4,23 @@
"chat.send": "Odeslat", "chat.send": "Odeslat",
"chat.no_active": "Nemáte žádné aktivní konverzace.", "chat.no_active": "Nemáte žádné aktivní konverzace.",
"chat.user_typing": "%1 píše ...", "chat.user_typing": "%1 píše ...",
"chat.user_has_messaged_you": "%1 Vám napsal.", "chat.user_has_messaged_you": "%1 has messaged you.",
"chat.see_all": "Prohlédnout všechny chaty", "chat.see_all": "See all Chats",
"chat.mark_all_read": "Označit vše jako přečtené", "chat.no-messages": "Please select a recipient to view chat message history",
"chat.no-messages": "Prosím vyberte příjemce k prohlédnutí historie zpráv.", "chat.recent-chats": "Recent Chats",
"chat.no-users-in-room": "Žádní uživatelé v místnosti.",
"chat.recent-chats": "Aktuální chaty",
"chat.contacts": "Kontakty", "chat.contacts": "Kontakty",
"chat.message-history": "Historie zpráv", "chat.message-history": "Historie zpráv",
"chat.pop-out": "Skrýt chat", "chat.pop-out": "Pop out chat",
"chat.maximize": "Maximalizovat", "chat.maximize": "Maximalizovat",
"chat.seven_days": "7 dní", "chat.seven_days": "7 dní",
"chat.thirty_days": "30 dní", "chat.thirty_days": "30 dní",
"chat.three_months": "3 měsíce", "chat.three_months": "3 měsíce",
"chat.delete_message_confirm": "Jste si jisti že chcete odstranit tuto zprávu?", "composer.compose": "Compose",
"chat.roomname": "Místnost %1", "composer.show_preview": "Show Preview",
"chat.add-users-to-room": "Přidat uživatele do místnosti", "composer.hide_preview": "Hide Preview",
"composer.compose": "Napsat", "composer.user_said_in": "%1 said in %2:",
"composer.show_preview": "Ukázat náhled", "composer.user_said": "%1 said:",
"composer.hide_preview": "Skrýt náhled", "composer.discard": "Are you sure you wish to discard this post?",
"composer.user_said_in": "%1 řekl v %2:", "composer.submit_and_lock": "Submit and Lock",
"composer.user_said": "%1 řekl:", "composer.toggle_dropdown": "Toggle Dropdown"
"composer.discard": "Jste si jisti, že chcete zrušit tento příspěvek?",
"composer.submit_and_lock": "Potvrdit a uzamknout",
"composer.toggle_dropdown": "Toggle Dropdown",
"composer.uploading": "Odesílám %1",
"composer.formatting.bold": "Tučné",
"composer.formatting.italic": "Kurzíva",
"composer.formatting.list": "Seznam",
"composer.formatting.strikethrough": "Přeškrtnutí",
"composer.formatting.link": "Odkaz",
"composer.formatting.picture": "Obrázek",
"composer.upload-picture": "Nahrát obrázek",
"composer.upload-file": "Nahrát soubor",
"bootbox.ok": "OK",
"bootbox.cancel": "Zrušit",
"bootbox.confirm": "Potvrdit",
"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"
} }

View File

@@ -1,35 +1,27 @@
{ {
"title": "Upozornění", "title": "Upozornění",
"no_notifs": "Nemáte žádná nová upozornění.", "no_notifs": "You have no new notifications",
"see_all": "Zobrazit všechna upozornění", "see_all": "See all Notifications",
"mark_all_read": "Označit všechna upozornění jako přečtená", "mark_all_read": "Mark all notifications read",
"back_to_home": "Zpět na %1", "back_to_home": "Back to %1",
"outgoing_link": "Odkaz mimo fórum", "outgoing_link": "Odkaz mimo fórum",
"outgoing_link_message": "Opouštíte %1", "outgoing_link_message": "You are now leaving %1.",
"continue_to": "Pokračovat na %1", "continue_to": "Continue to %1",
"return_to": "Vrátit na %1", "return_to": "Return to %1",
"new_notification": "Nové upozornění", "new_notification": "New Notification",
"you_have_unread_notifications": "Máte nepřečtená upozornění.", "you_have_unread_notifications": "You have unread notifications.",
"new_message_from": "Nová zpráva od <strong>%1</strong>", "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": "<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>.", "moved_your_post": "<strong>%1</strong> has moved your post.",
"upvoted_your_post_in_multiple": "<strong>%1</strong> and %2 others have upvoted your post in <strong>%3</strong>.", "moved_your_topic": "<strong>%1</strong> has moved your topic.",
"moved_your_post": "<strong>%1</strong> has moved your post to <strong>%2</strong>", "favourited_your_post_in": "<strong>%1</strong> has favourited your post in <strong>%2</strong>.",
"moved_your_topic": "<strong>%1</strong> has moved <strong>%2</strong>",
"user_flagged_post_in": "<strong>%1</strong> flagged a 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": "<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_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": "<strong>%1</strong> started following you.",
"user_started_following_you_dual": "<strong>%1</strong> and <strong>%2</strong> started following you.", "email-confirmed": "Email Confirmed",
"user_started_following_you_multiple": "<strong>%1</strong> and %2 others started following you.", "email-confirmed-message": "Thank you for validating your email. Your account is now fully activated.",
"new_register": "<strong>%1</strong> sent a registration request.", "email-confirm-error-message": "There was a problem validating your email address. Perhaps the code was invalid or has expired.",
"new_register_multiple": "There are <strong>%1</strong> registration requests awaiting review.", "email-confirm-sent": "Confirmation email sent."
"email-confirmed": "Email potvrzen",
"email-confirmed-message": "Děkujeme za ověření Vaší emailové adresy. Váš účet je nyní aktivován.",
"email-confirm-error-message": "Nastal problém s ověřením Vaší emailové adresy. Pravděpodobně neplatný nebo expirovaný kód.",
"email-confirm-sent": "Ověřovací email odeslán."
} }

View File

@@ -1,48 +1,21 @@
{ {
"home": "Domů", "home": "Home",
"unread": "Nepřečtená témata", "unread": "Unread Topics",
"popular-day": "Dnešní oblíbená témata", "popular": "Popular Topics",
"popular-week": "Oblíbená témata pro tento týden", "recent": "Recent Topics",
"popular-month": "Oblíbená témata pro tento měsíc", "users": "Registered Users",
"popular-alltime": "Oblíbená témata za celou dobu", "notifications": "Notifications",
"recent": "Aktuální témata", "tags": "Tags",
"flagged-posts": "Označené příspěvky", "tag": "Topics tagged under \"%1\"",
"users/online": "Uživatelé online", "user.edit": "Editing \"%1\"",
"users/latest": "Nejnovější uživatelé", "user.following": "People %1 Follows",
"users/sort-posts": "Uživatelé s nejvíce příspěvky", "user.followers": "People who Follow %1",
"users/sort-reputation": "Uživatelé s nejlepší reputací", "user.posts": "Posts made by %1",
"users/banned": "Zabanovaní uživatelé", "user.topics": "Topics created by %1",
"users/most-flags": "Most flagged users", "user.groups": "%1's Groups",
"users/search": "Hledání uživatele", "user.favourites": "%1's Favourite Posts",
"notifications": "Oznámení", "user.settings": "User Settings",
"tags": "Tagy", "user.watched": "Topics watched by %1",
"tag": "Téma označeno pod \"%1\"",
"register": "Zaregistrovat účet",
"login": "Přihlásit se ke svému účtu",
"reset": "Obnovit heslo k účtu",
"categories": "Kategorie",
"groups": "Skupiny",
"group": "%1 skupina",
"chats": "Chaty",
"chat": "Chatovat s %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/info": "Account Info",
"account/following": "People %1 follows",
"account/followers": "Lidé kteří sledují %1",
"account/posts": "Příspěvky od %1",
"account/topics": "Příspěvky vytvořeny uživatelem %1",
"account/groups": "%1's skupiny",
"account/favourites": "%1's Bookmarked Posts",
"account/settings": "Uživatelské nastavení",
"account/watched": "Topics watched by %1",
"account/upvoted": "Posts upvoted by %1",
"account/downvoted": "Posts downvoted by %1",
"account/best": "Nejlepší příspěvky od %1",
"confirm": "Email potvrzen",
"maintenance.text": "%1 is currently undergoing maintenance. Please come back another time.", "maintenance.text": "%1 is currently undergoing maintenance. Please come back another time.",
"maintenance.messageIntro": "Additionally, the administrator has left this message:", "maintenance.messageIntro": "Additionally, the administrator has left this message:"
"throttled.text": "%1 je v současnou chvíli nedostupný pro velkou zátěž. Prosíme zkuste to za chvíli."
} }

View File

@@ -3,17 +3,17 @@
"day": "Den", "day": "Den",
"week": "Týden", "week": "Týden",
"month": "Měsíc", "month": "Měsíc",
"year": "Rok", "year": "Year",
"alltime": "Pořád", "alltime": "All Time",
"no_recent_topics": "Nebyly nalezeny žádné nové téma.", "no_recent_topics": "There are no recent topics.",
"no_popular_topics": "Žádná oblíbená téma.", "no_popular_topics": "There are no popular topics.",
"there-is-a-new-topic": "K dispozici je nová téma.", "there-is-a-new-topic": "There is a new topic.",
"there-is-a-new-topic-and-a-new-post": "K dispozici je nové téma a nový příspěvěk.", "there-is-a-new-topic-and-a-new-post": "There is a new topic and a new post.",
"there-is-a-new-topic-and-new-posts": "K dispozici je nové téma a %1 nových příspěvků.", "there-is-a-new-topic-and-new-posts": "There is a new topic and %1 new posts.",
"there-are-new-topics": "K dispozici je %1 nových témat.", "there-are-new-topics": "There are %1 new topics.",
"there-are-new-topics-and-a-new-post": "K dispozici je %1 nových témat a jeden nový příspěvek.", "there-are-new-topics-and-a-new-post": "There are %1 new topics and a new post.",
"there-are-new-topics-and-new-posts": "K dispozici je %1 nových témat a %2 nových příspěvků.", "there-are-new-topics-and-new-posts": "There are %1 new topics and %2 new posts.",
"there-is-a-new-post": "K dispozici je nový příspěvek.", "there-is-a-new-post": "There is a new post.",
"there-are-new-posts": "K dispozici je %1 nových příspěvků.", "there-are-new-posts": "There are %1 new posts.",
"click-here-to-reload": "Kliknutím sem znovu načtete." "click-here-to-reload": "Click here to reload."
} }

View File

@@ -1,6 +1,5 @@
{ {
"register": "Registrace", "register": "Registrace",
"cancel_registration": "Cancel Registration",
"help.email": "Váš email nebude bez vašeho svolení zveřejněn.", "help.email": "Váš email nebude bez vašeho svolení zveřejněn.",
"help.username_restrictions": "Jedinečné uživatelské jméno dlouhé %1 až %2 znaků. Ostatní uživatelé Vás mohou zmínit jako @<span id='yourUsername'>uživatelské-jméno</span>.", "help.username_restrictions": "Jedinečné uživatelské jméno dlouhé %1 až %2 znaků. Ostatní uživatelé Vás mohou zmínit jako @<span id='yourUsername'>uživatelské-jméno</span>.",
"help.minimum_password_length": "Délka vašeho hesla musí být alespoň %1 znaků.", "help.minimum_password_length": "Délka vašeho hesla musí být alespoň %1 znaků.",
@@ -15,9 +14,5 @@
"register_now_button": "Zaregistrovat se", "register_now_button": "Zaregistrovat se",
"alternative_registration": "Jiný způsob registrace", "alternative_registration": "Jiný způsob registrace",
"terms_of_use": "Podmínky", "terms_of_use": "Podmínky",
"agree_to_terms_of_use": "Souhlasím s Podmínkami", "agree_to_terms_of_use": "Souhlasím s Podmínkami"
"terms_of_use_error": "You must agree to the Terms of Use",
"registration-added-to-queue": "Vaše registrace byla přidána do fronty. Obdržíte e-mail až ji správce schválí.",
"interstitial.intro": "We require some additional information before we can create your account.",
"interstitial.errors-found": "We could not complete your registration:"
} }

View File

@@ -11,7 +11,7 @@
"enter_email_address": "Zadejte emailovou adresu", "enter_email_address": "Zadejte emailovou adresu",
"password_reset_sent": "Obnova hesla odeslána", "password_reset_sent": "Obnova hesla odeslána",
"invalid_email": "Špatný email / Email neexistuje!", "invalid_email": "Špatný email / Email neexistuje!",
"password_too_short": "Zadané heslo je příliš krátké, zvolte si prosím jiné.", "password_too_short": "The password entered is too short, please pick a different password.",
"passwords_do_not_match": "Vámi zadaná hesla se neshodují.", "passwords_do_not_match": "The two passwords you've entered do not match.",
"password_expired": "Platnost Vašeho hesla vypršela, zvolte si prosím nové." "password_expired": "Your password has expired, please choose a new password"
} }

View File

@@ -1,7 +1,7 @@
{ {
"results_matching": "%1 result(s) matching \"%2\", (%3 seconds)", "results_matching": "%1 result(s) matching \"%2\", (%3 seconds)",
"no-matches": "No matches found", "no-matches": "No matches found",
"advanced-search": "Pokročilé hledání", "advanced-search": "Advanced Search",
"in": "In", "in": "In",
"titles": "Titles", "titles": "Titles",
"titles-posts": "Titles and Posts", "titles-posts": "Titles and Posts",
@@ -12,28 +12,28 @@
"at-least": "At least", "at-least": "At least",
"at-most": "At most", "at-most": "At most",
"post-time": "Post time", "post-time": "Post time",
"newer-than": "Novější než", "newer-than": "Newer than",
"older-than": "Starší než", "older-than": "Older than",
"any-date": "Any date", "any-date": "Any date",
"yesterday": "Včera", "yesterday": "Yesterday",
"one-week": "Jeden týden", "one-week": "One week",
"two-weeks": "Dva týdny", "two-weeks": "Two weeks",
"one-month": "Jeden měsíc", "one-month": "One month",
"three-months": "Three months", "three-months": "Three months",
"six-months": "Šest měsíců", "six-months": "Six months",
"one-year": "Jeden rok", "one-year": "One year",
"sort-by": "Řadit dle", "sort-by": "Sort by",
"last-reply-time": "Last reply time", "last-reply-time": "Last reply time",
"topic-title": "Topic title", "topic-title": "Topic title",
"number-of-replies": "Number of replies", "number-of-replies": "Number of replies",
"number-of-views": "Number of views", "number-of-views": "Number of views",
"topic-start-date": "Topic start date", "topic-start-date": "Topic start date",
"username": "Uživatelské jméno", "username": "Username",
"category": "Kategorie", "category": "Category",
"descending": "In descending order", "descending": "In descending order",
"ascending": "In ascending order", "ascending": "In ascending order",
"save-preferences": "Uložit nastavení", "save-preferences": "Save preferences",
"clear-preferences": "Vymazat nastavení", "clear-preferences": "Clear preferences",
"search-preferences-saved": "Search preferences saved", "search-preferences-saved": "Search preferences saved",
"search-preferences-cleared": "Search preferences cleared", "search-preferences-cleared": "Search preferences cleared",
"show-results-as": "Show results as" "show-results-as": "Show results as"

View File

@@ -1,6 +1,6 @@
{ {
"success": "Úspěch", "success": "Success",
"topic-post": "Úspěšně umístěno.", "topic-post": "You have successfully posted.",
"authentication-successful": "Úspěšné přihlášení", "authentication-successful": "Authentication Successful",
"settings-saved": "Nastavení byla uložena!" "settings-saved": "Settings saved!"
} }

View File

@@ -1,7 +1,7 @@
{ {
"no_tag_topics": "Není zde žádné téma s tímto tagem.", "no_tag_topics": "Není zde žádné téma s tímto tagem.",
"tags": "Tagy", "tags": "Tagy",
"enter_tags_here": "Zde vložte tagy, každý o délce %1 až %2 znaků.", "enter_tags_here": "Enter tags here, between %1 and %2 characters each.",
"enter_tags_here_short": "Vložte tagy ...", "enter_tags_here_short": "Vložte tagy ...",
"no_tags": "Zatím tu není žádný tag." "no_tags": "Zatím tu není žádný tag."
} }

View File

@@ -5,64 +5,52 @@
"no_topics_found": "Nebyla nalezena žádná témata!", "no_topics_found": "Nebyla nalezena žádná témata!",
"no_posts_found": "Nebyly nalezeny žádné příspěvky!", "no_posts_found": "Nebyly nalezeny žádné příspěvky!",
"post_is_deleted": "Tento příspěvek je vymazán!", "post_is_deleted": "Tento příspěvek je vymazán!",
"topic_is_deleted": "Toto téma je smazané!", "topic_is_deleted": "This topic is deleted!",
"profile": "Profil", "profile": "Profil",
"posted_by": "Přidal %1", "posted_by": "Posted by %1",
"posted_by_guest": "Přidal Host", "posted_by_guest": "Posted by Guest",
"chat": "Chat", "chat": "Chat",
"notify_me": "Sledovat toto téma", "notify_me": "Sledovat toto téma",
"quote": "Citovat", "quote": "Citovat",
"reply": "Odpovědět", "reply": "Odpovědět",
"reply-as-topic": "Odpovědět jako Téma", "guest-login-reply": "Log in to reply",
"guest-login-reply": "Přihlásit se pro odpověď",
"edit": "Upravit", "edit": "Upravit",
"delete": "Smazat", "delete": "Smazat",
"purge": "Vypráznit", "purge": "Purge",
"restore": "Obnovit", "restore": "Restore",
"move": "Přesunout", "move": "Přesunout",
"fork": "Rozdělit", "fork": "Rozdělit",
"link": "Odkaz", "link": "Odkaz",
"share": "Sdílet", "share": "Sdílet",
"tools": "Nástroje", "tools": "Nástroje",
"flag": "Flag", "flag": "Flag",
"locked": "Uzamčeno", "locked": "Locked",
"pinned": "Pinned", "bookmark_instructions": "Click here to return to your last position or close to discard.",
"moved": "Moved",
"bookmark_instructions": "Click here to return to the last read post in this thread.",
"flag_title": "Flag this post for moderation", "flag_title": "Flag this post for moderation",
"flag_confirm": "Are you sure you want to flag this post?",
"flag_success": "This post has been flagged for moderation.", "flag_success": "This post has been flagged for moderation.",
"deleted_message": "This topic has been deleted. Only users with topic management privileges can see it.", "deleted_message": "This 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.", "following_topic.message": "You will now be receiving notifications when somebody posts to this topic.",
"not_following_topic.message": "You will see this topic in the unread topics list, but you will not receive notifications when somebody posts to this topic.", "not_following_topic.message": "You will no longer receive notifications from this topic.",
"ignoring_topic.message": "You will no longer see this topic in the unread topics list. You will be notified when you are mentioned or your post is up voted.",
"login_to_subscribe": "Please register or log in in order to subscribe to this topic.", "login_to_subscribe": "Please register or log in in order to subscribe to this topic.",
"markAsUnreadForAll.success": "Topic marked as unread for all.", "markAsUnreadForAll.success": "Topic marked as unread for all.",
"mark_unread": "Označ za nepřečtené", "watch": "Watch",
"mark_unread.success": "Téma označeno jako nepřečtené",
"watch": "Sledovat",
"unwatch": "Unwatch", "unwatch": "Unwatch",
"watch.title": "Be notified of new replies in this topic", "watch.title": "Be notified of new replies in this topic",
"unwatch.title": "Stop watching this topic", "unwatch.title": "Stop watching this topic",
"share_this_post": "Sdílet toto téma", "share_this_post": "Share this Post",
"watching": "Watching", "thread_tools.title": "Topic Tools",
"not-watching": "Not Watching",
"ignoring": "Ignoring",
"watching.description": "Notify me of new replies.<br/>Show topic in unread.",
"not-watching.description": "Do not notify me of new replies.<br/>Show topic in unread if category is not ignored.",
"ignoring.description": "Do not notify me of new replies.<br/>Do not show topic in unread.",
"thread_tools.title": "Správa tématu",
"thread_tools.markAsUnreadForAll": "Označit jako nepřečtené", "thread_tools.markAsUnreadForAll": "Označit jako nepřečtené",
"thread_tools.pin": "Připnout téma", "thread_tools.pin": "Pin Topic",
"thread_tools.unpin": "Odepnout téma", "thread_tools.unpin": "Unpin Topic",
"thread_tools.lock": "Zamknout téma", "thread_tools.lock": "Lock Topic",
"thread_tools.unlock": "Odemknout téma", "thread_tools.unlock": "Unlock Topic",
"thread_tools.move": "Přesunout téma", "thread_tools.move": "Move Topic",
"thread_tools.move_all": "Přesunout vše", "thread_tools.move_all": "Move All",
"thread_tools.fork": "Větvit téma", "thread_tools.fork": "Fork Topic",
"thread_tools.delete": "Odstranit téma", "thread_tools.delete": "Delete Topic",
"thread_tools.delete-posts": "Odstranit přispěvky", "thread_tools.delete_confirm": "Are you sure you want to delete this topic?",
"thread_tools.delete_confirm": "Opravdu chcete smazat toto téma.", "thread_tools.restore": "Restore Topic",
"thread_tools.restore": "Obnovit téma",
"thread_tools.restore_confirm": "Are you sure you want to restore this topic?", "thread_tools.restore_confirm": "Are you sure you want to restore this topic?",
"thread_tools.purge": "Purge Topic", "thread_tools.purge": "Purge Topic",
"thread_tools.purge_confirm": "Are you sure you want to purge this topic?", "thread_tools.purge_confirm": "Are you sure you want to purge this topic?",
@@ -74,48 +62,39 @@
"disabled_categories_note": "Vypnuté (disabled) kategorie jsou šedé.", "disabled_categories_note": "Vypnuté (disabled) kategorie jsou šedé.",
"confirm_move": "Přesunout", "confirm_move": "Přesunout",
"confirm_fork": "Rozdělit", "confirm_fork": "Rozdělit",
"favourite": "Záložka", "favourite": "Oblíbené",
"favourites": "Záložky", "favourites": "Oblíbené",
"favourites.has_no_favourites": "Zatím jste do záložek nepřidal žádné příspěvky.", "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ů", "loading_more_posts": "Načítání více příspěvků",
"move_topic": "Přesunout téma", "move_topic": "Přesunout téma",
"move_topics": "Přesunout témata", "move_topics": "Move Topics",
"move_post": "Přesunout příspěvek", "move_post": "Přesunout příspěvek",
"post_moved": "Příspěvek přesunut!", "post_moved": "Post moved!",
"fork_topic": "Rozdělit příspěvek", "fork_topic": "Rozdělit příspěvek",
"topic_will_be_moved_to": "Toto téma bude přesunuto do kategorie", "topic_will_be_moved_to": "Toto téma bude přesunuto do kategorie",
"fork_topic_instruction": "Vyber příspěvky, které chceš oddělit", "fork_topic_instruction": "Vyber příspěvky, které chceš oddělit",
"fork_no_pids": "Žádné příspěvky nebyly vybrány!", "fork_no_pids": "Žádné příspěvky nebyly vybrány!",
"fork_success": "Successfully forked topic! Click here to go to the forked topic.", "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.title_placeholder": "Zadejte název tématu...", "composer.handle_placeholder": "Name",
"composer.handle_placeholder": "Jméno", "composer.discard": "Discard",
"composer.discard": "Zrušit", "composer.submit": "Submit",
"composer.submit": "Odeslat",
"composer.replying_to": "Replying to %1", "composer.replying_to": "Replying to %1",
"composer.new_topic": "Nové téma", "composer.new_topic": "New Topic",
"composer.uploading": "nahrávání...", "composer.uploading": "uploading...",
"composer.thumb_url_label": "Vložit URL náhled tématu", "composer.thumb_url_label": "Paste a topic thumbnail URL",
"composer.thumb_title": "Přidat k tématu náhled", "composer.thumb_title": "Add a thumbnail to this topic",
"composer.thumb_url_placeholder": "http://example.com/thumb.png", "composer.thumb_url_placeholder": "http://example.com/thumb.png",
"composer.thumb_file_label": "Nebo nahrajte soubor", "composer.thumb_file_label": "Or upload a file",
"composer.thumb_remove": "Vymazat pole", "composer.thumb_remove": "Clear fields",
"composer.drag_and_drop_images": "Drag and Drop Images Here", "composer.drag_and_drop_images": "Drag and Drop Images Here",
"more_users_and_guests": "%1 more user(s) and %2 guest(s)", "more_users_and_guests": "%1 more user(s) and %2 guest(s)",
"more_users": "%1 more user(s)", "more_users": "%1 more user(s)",
"more_guests": "%1 more guest(s)", "more_guests": "%1 more guest(s)",
"users_and_others": "%1 and %2 others", "users_and_others": "%1 and %2 others",
"sort_by": "Řadit dle", "sort_by": "Sort by",
"oldest_to_newest": "Od nejstarších po nejnovější", "oldest_to_newest": "Oldest to Newest",
"newest_to_oldest": "Od nejnovějších po nejstarší", "newest_to_oldest": "Newest to Oldest",
"most_votes": "Nejvíce hlasů", "most_votes": "Most votes",
"most_posts": "Nejvíce příspěvků", "most_posts": "Most posts"
"stale.title": "Přesto vytvořit nové téma",
"stale.warning": "Reagujete na starší téma. Nechcete raději vytvořit téma nové a na původní v něm odkázat?",
"stale.create": "Vytvořit nové téma",
"stale.reply_anyway": "Přesto reagovat na toto téma",
"link_back": "Re: [%1](%2)",
"spam": "Spam",
"offensive": "Urážlivé",
"custom-flag-reason": "Vložte důvod oznámení"
} }

View File

@@ -2,12 +2,8 @@
"title": "Nepřečtené", "title": "Nepřečtené",
"no_unread_topics": "Nejsou zde žádné nepřečtené témata.", "no_unread_topics": "Nejsou zde žádné nepřečtené témata.",
"load_more": "Načíst další", "load_more": "Načíst další",
"mark_as_read": "Označit jako přečtené", "mark_as_read": "Označit jako přeštené",
"selected": "Vybrané", "selected": "Vybrané",
"all": "Vše", "all": "Vše",
"all_categories": "Všechny kategorie", "topics_marked_as_read.success": "Téma bylo označeno jako přečtené!"
"topics_marked_as_read.success": "Téma bylo označeno jako přečtené!",
"all-topics": "Všechna témata",
"new-topics": "Nová témata",
"watched-topics": "Sledovaná témata"
} }

View File

@@ -1,6 +0,0 @@
{
"uploading-file": "Nahrávání souboru...",
"select-file-to-upload": "Vyberte soubor pro nahrání!",
"upload-success": "Soubor byl úspěšně nahrán!",
"maximum-file-size": "Maximum %1 kb"
}

View File

@@ -2,18 +2,12 @@
"banned": "Banned", "banned": "Banned",
"offline": "Offline", "offline": "Offline",
"username": "Uživatelské jméno", "username": "Uživatelské jméno",
"joindate": "Datum ragistrace", "joindate": "Join Date",
"postcount": "Počet příspěvků", "postcount": "Post Count",
"email": "Email", "email": "Email",
"confirm_email": "Potvrdit email", "confirm_email": "Potvrdit email",
"account_info": "Account Info",
"ban_account": "Zablokovat účet",
"ban_account_confirm": "Opravdu chcete zablokovat tohoto uživatele?",
"unban_account": "Odblokovat účet",
"delete_account": "Vymazat úč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_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.",
"delete_this_account_confirm": "Skutečně chcete zrušit tento účet? <br /><strong>Tato akce je nevratná a již nebude žádná možnost obnovení vašich dat</strong><br /><br />",
"account-deleted": "Účet smazán",
"fullname": "Jméno a příjmení", "fullname": "Jméno a příjmení",
"website": "Webové stránky", "website": "Webové stránky",
"location": "Poloha", "location": "Poloha",
@@ -23,96 +17,68 @@
"profile": "Profil", "profile": "Profil",
"profile_views": "Zobrazení profilu", "profile_views": "Zobrazení profilu",
"reputation": "Reputace", "reputation": "Reputace",
"favourites": "Záložky", "favourites": "Oblíbené",
"watched": "Sledován", "watched": "Watched",
"followers": "Sledují ho", "followers": "Sledují ho",
"following": "Sleduje", "following": "Sleduje",
"aboutme": "O mně", "aboutme": "About me",
"signature": "Podpis", "signature": "Podpis",
"gravatar": "Gravatar",
"birthday": "Datum narození", "birthday": "Datum narození",
"chat": "Chat", "chat": "Chat",
"chat_with": "Chatovat s %1", "follow": "Follow",
"follow": "Sledovat", "unfollow": "Unfollow",
"unfollow": "Nesledovat", "more": "More",
"more": "Více",
"profile_update_success": "Profil byl úspěšně aktualizován!", "profile_update_success": "Profil byl úspěšně aktualizován!",
"change_picture": "Změnit obrázek", "change_picture": "Změnit obrázek",
"change_username": "Změnit uživatelské jméno",
"change_email": "Změnit email",
"edit": "Upravit", "edit": "Upravit",
"edit-profile": "Editovat profil",
"default_picture": "Výchozí ikonka",
"uploaded_picture": "Nahraný obrázek", "uploaded_picture": "Nahraný obrázek",
"upload_new_picture": "Nahrát nový obrázek", "upload_new_picture": "Nahrát nový obrázek",
"upload_new_picture_from_url": "Nahrát nový obrázek z URL", "upload_new_picture_from_url": "Upload New Picture From URL",
"current_password": "Současné heslo", "current_password": "Současné heslo",
"change_password": "Změnit heslo", "change_password": "Změnit heslo",
"change_password_error": "Neplatné heslo", "change_password_error": "Neplatné heslo",
"change_password_error_wrong_current": "Současné heslo není správné!", "change_password_error_wrong_current": "Your current password is not correct!",
"change_password_error_length": "Heslo je příliš krátké!", "change_password_error_length": "Password too short!",
"change_password_error_match": "Hesla se neshodují!", "change_password_error_match": "Passwords must match!",
"change_password_error_privileges": "Nemáte práva změnit toto heslo.", "change_password_error_privileges": "You do not have the rights to change this password.",
"change_password_success": "Heslo je aktualizované!", "change_password_success": "Your password is updated!",
"confirm_password": "Potvrzení hesla", "confirm_password": "Potvrzení hesla",
"password": "Heslo", "password": "Heslo",
"username_taken_workaround": "Zvolené uživatelské jméno je již zabrané, takže jsme ho trochu upravili. Nyní jste znám jako <strong>%1</strong>", "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": "Vaše heslo je stejné jako vaše přihlašovací jméno. Zvolte si prosím jiné heslo.",
"password_same_as_email": "Vaše heslo je stejné jako email. Vyberte si prosím jiné heslo.",
"upload_picture": "Nahrát obrázek", "upload_picture": "Nahrát obrázek",
"upload_a_picture": "Nahrát obrázek", "upload_a_picture": "Nahrát obrázek",
"remove_uploaded_picture": "Odstranit nahraný obrázek", "image_spec": "You may only upload PNG, JPG, or GIF files",
"upload_cover_picture": "Náhrát titulní obrázek",
"settings": "Nastavení", "settings": "Nastavení",
"show_email": "Zobrazovat můj email v profilu", "show_email": "Zobrazovat můj email v profilu",
"show_fullname": "Zobrazovat celé jméno", "show_fullname": "Show My Full Name",
"restrict_chats": "Povolit chatovací zprávy pouze od uživatelů, které sleduji.", "restrict_chats": "Only allow chat messages from users I follow",
"digest_label": "Odebírat přehled", "digest_label": "Subscribe to Digest",
"digest_description": "Subscribe to email updates for this forum (new notifications and topics) according to a set schedule", "digest_description": "Subscribe to email updates for this forum (new notifications and topics) according to a set schedule",
"digest_off": "Vypnuto", "digest_off": "Off",
"digest_daily": "Denně", "digest_daily": "Daily",
"digest_weekly": "Týdně", "digest_weekly": "Weekly",
"digest_monthly": "Měsíčně", "digest_monthly": "Monthly",
"send_chat_notifications": "Send an email if a new chat message arrives and I am not online", "send_chat_notifications": "Send an email if a new chat message arrives and I am not online",
"send_post_notifications": "Send an email when replies are made to topics I am subscribed to", "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.", "settings-require-reload": "Some setting changes require a reload. Click here to reload the page.",
"has_no_follower": "Tohoto uživatele nikdo nesleduje :(", "has_no_follower": "Tohoto uživatele nikdo nesleduje :(",
"follows_no_one": "Tento uživatel nikoho nesleduje :(", "follows_no_one": "Tento uživatel nikoho nesleduje :(",
"has_no_posts": "This user hasn't posted anything yet.", "has_no_posts": "This user didn't post anything yet.",
"has_no_topics": "This user hasn't posted any topics yet.", "has_no_topics": "This user didn't post any topics yet.",
"has_no_watched_topics": "This user hasn't watched any topics yet.", "has_no_watched_topics": "This user didn't watch 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",
"email_hidden": "Skrytý email", "email_hidden": "Skrytý email",
"hidden": "skrytý", "hidden": "skrytý",
"paginate_description": "Paginate topics and posts instead of using infinite scroll", "paginate_description": "Paginate topics and posts instead of using infinite scroll",
"topics_per_page": "Témat na stránce", "topics_per_page": "Topics per Page",
"posts_per_page": "Příspěvků na stránce", "posts_per_page": "Posts per Page",
"notification_sounds": "Přehrát zvuk když dostanete notifikaci", "notification_sounds": "Play a sound when you receive a notification",
"browsing": "Browsing Settings", "browsing": "Browsing Settings",
"open_links_in_new_tab": "Open outgoing links in new tab", "open_links_in_new_tab": "Open outgoing links in new tab",
"enable_topic_searching": "Enable In-Topic Searching", "enable_topic_searching": "Enable In-Topic Searching",
"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", "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",
"delay_image_loading": "Delay Image Loading", "follow_topics_you_reply_to": "Follow topics that you reply to",
"image_load_delay_help": "If enabled, images in topics will not load until they are scrolled into view", "follow_topics_you_create": "Follow topics you create",
"scroll_to_my_post": "After posting a reply, show the new post", "grouptitle": "Select the group title you would like to display",
"follow_topics_you_reply_to": "Watch topics that you reply to", "no-group-title": "No group title"
"follow_topics_you_create": "Watch topics you create",
"grouptitle": "Nadpis skupiny",
"no-group-title": "Žádný nadpis skupiny",
"select-skin": "Vybrat skin",
"select-homepage": "Vybrat domovskou stránku",
"homepage": "Domovská stránka",
"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",
"info.latest-flags": "Latest Flags",
"info.no-flags": "No Flagged Posts Found",
"info.ban-history": "Recent Ban History",
"info.no-ban-history": "This user has never been banned",
"info.banned-until": "Banned until %1",
"info.banned-permanently": "Banned permanently"
} }

View File

@@ -2,20 +2,11 @@
"latest_users": "Nejnovější uživatelé", "latest_users": "Nejnovější uživatelé",
"top_posters": "Nejaktivnější", "top_posters": "Nejaktivnější",
"most_reputation": "Nejváženější", "most_reputation": "Nejváženější",
"most_flags": "Most Flags",
"search": "Vyhledávat", "search": "Vyhledávat",
"enter_username": "Zadej uživatelské jméno k hledání", "enter_username": "Zadej uživatelské jméno k hledání",
"load_more": "Načíst další", "load_more": "Načíst další",
"users-found-search-took": "Nalezeno %1 uživatel(ů) za %2 vteřiny.", "users-found-search-took": "%1 user(s) found! Search took %2 seconds.",
"filter-by": "Filtrovat dle", "filter-by": "Filter By",
"online-only": "Pouze online", "online-only": "Online only",
"invite": "Pozvat", "picture-only": "Picture only"
"invitation-email-sent": "E-mailová pozvánka byla odeslána na adresu %1",
"user_list": "Seznam uživatelů",
"recent_topics": "Poslední témata",
"popular_topics": "Oblíbená témata",
"unread_topics": "Nepřečtená témata",
"categories": "Kategorie",
"tags": "Tagy",
"no-users-found": "Nebyly nalezeny žádní uživatelé!"
} }

View File

@@ -1,20 +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",
"watching": "Watching",
"ignoring": "Ignoring",
"watching.description": "Show topics in unread",
"ignoring.description": "Do not show topics in unread",
"watch.message": "Du overvåger nu opdateringer fra denne kategori",
"ignore.message": "Du ignorere nu opdateringer fra denne kategori",
"watched-categories": "Fulgte kategorier"
}

View File

@@ -1,36 +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",
"digest.subject": "Digest for %1",
"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!"
}

View File

@@ -1,124 +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",
"csrf-invalid": "We were unable to log you in, likely due to an expired session. Please try again",
"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.",
"sendmail-not-found": "The sendmail executable could not be found, please ensure it is installed and executable by the user running NodeBB.",
"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",
"blacklisted-ip": "Sorry, your IP address has been banned from this community. If you feel this is in error, please contact an administrator.",
"ban-expiry-missing": "Please provide an end date for this ban",
"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",
"post-edit-duration-expired-minutes": "You are only allowed to edit posts for %1 minute(s) after posting",
"post-edit-duration-expired-minutes-seconds": "You are only allowed to edit posts for %1 minute(s) %2 second(s) after posting",
"post-edit-duration-expired-hours": "You are only allowed to edit posts for %1 hour(s) after posting",
"post-edit-duration-expired-hours-minutes": "You are only allowed to edit posts for %1 hour(s) %2 minute(s) after posting",
"post-edit-duration-expired-days": "You are only allowed to edit posts for %1 day(s) after posting",
"post-edit-duration-expired-days-hours": "You are only allowed to edit posts for %1 day(s) %2 hour(s) after posting",
"post-delete-duration-expired": "You are only allowed to delete posts for %1 second(s) after posting",
"post-delete-duration-expired-minutes": "You are only allowed to delete posts for %1 minute(s) after posting",
"post-delete-duration-expired-minutes-seconds": "You are only allowed to delete posts for %1 minute(s) %2 second(s) after posting",
"post-delete-duration-expired-hours": "You are only allowed to delete posts for %1 hour(s) after posting",
"post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting",
"post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting",
"post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting",
"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",
"cant-delete-admin": "Remove administrator privileges from this account before attempting to delete it.",
"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-name-too-long": "Group name too long",
"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",
"already-voting-for-this-post": "You have already voted for this post.",
"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",
"cant-kick-self": "You can't kick yourself from the group",
"no-users-selected": "No user(s) selected",
"invalid-home-page-route": "Invalid home page route"
}

View File

@@ -1,96 +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",
"upvoters": "Upvoters",
"upvoted": "Syntes godt om",
"downvoters": "Downvoters",
"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"
}

View File

@@ -1,54 +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",
"details.private_system_help": "Private groups is disabled at system level, this option does not do anything",
"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"
}

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