Compare commits

..

1 Commits

Author SHA1 Message Date
Julian Lam
3b1e7883b9 feat: rename default express session key from express.sid to nodebb.sid 2023-10-16 11:33:21 -04:00
1542 changed files with 12023 additions and 19011 deletions

View File

@@ -1,10 +0,0 @@
.*
logs
test
node_modules
commitlint.config.js
nodebb.bat
renovate.json
*.yml
*.md
Dockerfile

View File

@@ -18,4 +18,3 @@ logs/
.eslintrc
test/files
*.min.js
install/docker/

View File

@@ -52,10 +52,10 @@ jobs:
- name: Build and push Docker images
uses: docker/build-push-action@v5
with:
cache-from: type=gha
cache-to: type=gha,mode=max
context: .
file: ./Dockerfile
platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true
tags: ${{ steps.meta.outputs.tags }}
platforms: linux/amd64,linux/arm64,linux/arm/v7
cache-from: type=gha
cache-to: type=gha,mode=max

View File

@@ -63,7 +63,7 @@ jobs:
- 5432:5432
redis:
image: 'redis:7.2.3'
image: 'redis:7.2.1'
# Set health checks to wait until redis has started
options: >-
--health-cmd "redis-cli ping"
@@ -86,7 +86,7 @@ jobs:
- run: cp install/package.json package.json
- name: Install Node
uses: actions/setup-node@v4
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}

4
.gitignore vendored
View File

@@ -69,6 +69,4 @@ package-lock.json
/package.json
*.mongodb
link-plugins.sh
test.sh
.docker/
test.sh

View File

@@ -2549,59 +2549,6 @@ trans.et = public/language/et/themes/persona.json
trans.it = public/language/it/themes/persona.json
trans.rw = public/language/rw/themes/persona.json
[o:nodebb:p:nodebb:r:aria]
file_filter = public/language/<lang>/aria.json
source_file = public/language/en-GB/aria.json
source_lang = en_GB
type = KEYVALUEJSON
trans.th = public/language/th/aria.json
trans.bg = public/language/bg/aria.json
trans.hr = public/language/hr/aria.json
trans.hy = public/language/hy/aria.json
trans.sk = public/language/sk/aria.json
trans.sl = public/language/sl/aria.json
trans.sq_AL = public/language/sq-AL/aria.json
trans.sv = public/language/sv/aria.json
trans.vi = public/language/vi/aria.json
trans.da = public/language/da/aria.json
trans.en_US = public/language/en-US/aria.json
trans.gl = public/language/gl/aria.json
trans.ko = public/language/ko/aria.json
trans.lt = public/language/lt/aria.json
trans.pt_BR = public/language/pt-BR/aria.json
trans.hu = public/language/hu/aria.json
trans.lv = public/language/lv/aria.json
trans.ro = public/language/ro/aria.json
trans.ru = public/language/ru/aria.json
trans.sr = public/language/sr/aria.json
trans.bn = public/language/bn/aria.json
trans.he = public/language/he/aria.json
trans.nl = public/language/nl/aria.json
trans.sc = public/language/sc/aria.json
trans.zh_CN = public/language/zh-CN/aria.json
trans.fi = public/language/fi/aria.json
trans.ja = public/language/ja/aria.json
trans.nb = public/language/nb/aria.json
trans.pl = public/language/pl/aria.json
trans.zh_TW = public/language/zh-TW/aria.json
trans.ar = public/language/ar/aria.json
trans.cs = public/language/cs/aria.json
trans.fa_IR = public/language/fa-IR/aria.json
trans.ms = public/language/ms/aria.json
trans.pt_PT = public/language/pt-PT/aria.json
trans.tr = public/language/tr/aria.json
trans.en@pirate = public/language/en-x-pirate/aria.json
trans.fr = public/language/fr/aria.json
trans.id = public/language/id/aria.json
trans.uk = public/language/uk/aria.json
trans.de = public/language/de/aria.json
trans.el = public/language/el/aria.json
trans.es = public/language/es/aria.json
trans.et = public/language/et/aria.json
trans.it = public/language/it/aria.json
trans.rw = public/language/rw/aria.json
[o:nodebb:p:nodebb:r:category]
file_filter = public/language/<lang>/category.json
source_file = public/language/en-GB/category.json
@@ -3433,58 +3380,6 @@ trans.pl = public/language/pl/reset_password.json
trans.sl = public/language/sl/reset_password.json
trans.th = public/language/th/reset_password.json
[o:nodebb:p:nodebb:r:rewards]
file_filter = public/language/<lang>/rewards.json
source_file = public/language/en-GB/rewards.json
source_lang = en_GB
type = KEYVALUEJSON
trans.bg = public/language/bg/rewards.json
trans.fr = public/language/fr/rewards.json
trans.hr = public/language/hr/rewards.json
trans.hy = public/language/hy/rewards.json
trans.ja = public/language/ja/rewards.json
trans.pt_PT = public/language/pt-PT/rewards.json
trans.zh_CN = public/language/zh-CN/rewards.json
trans.sv = public/language/sv/rewards.json
trans.de = public/language/de/rewards.json
trans.fa_IR = public/language/fa-IR/rewards.json
trans.gl = public/language/gl/rewards.json
trans.hu = public/language/hu/rewards.json
trans.id = public/language/id/rewards.json
trans.rw = public/language/rw/rewards.json
trans.sc = public/language/sc/rewards.json
trans.vi = public/language/vi/rewards.json
trans.bn = public/language/bn/rewards.json
trans.he = public/language/he/rewards.json
trans.ro = public/language/ro/rewards.json
trans.sq_AL = public/language/sq-AL/rewards.json
trans.ar = public/language/ar/rewards.json
trans.cs = public/language/cs/rewards.json
trans.ko = public/language/ko/rewards.json
trans.ms = public/language/ms/rewards.json
trans.pt_BR = public/language/pt-BR/rewards.json
trans.sr = public/language/sr/rewards.json
trans.tr = public/language/tr/rewards.json
trans.ru = public/language/ru/rewards.json
trans.zh_TW = public/language/zh-TW/rewards.json
trans.da = public/language/da/rewards.json
trans.en@pirate = public/language/en-x-pirate/rewards.json
trans.en_US = public/language/en-US/rewards.json
trans.lt = public/language/lt/rewards.json
trans.lv = public/language/lv/rewards.json
trans.nb = public/language/nb/rewards.json
trans.sk = public/language/sk/rewards.json
trans.el = public/language/el/rewards.json
trans.es = public/language/es/rewards.json
trans.et = public/language/et/rewards.json
trans.uk = public/language/uk/rewards.json
trans.fi = public/language/fi/rewards.json
trans.it = public/language/it/rewards.json
trans.nl = public/language/nl/rewards.json
trans.pl = public/language/pl/rewards.json
trans.sl = public/language/sl/rewards.json
trans.th = public/language/th/rewards.json
[o:nodebb:p:nodebb:r:search]
file_filter = public/language/<lang>/search.json
source_file = public/language/en-GB/search.json

File diff suppressed because it is too large Load Diff

View File

@@ -13,39 +13,29 @@ USER node
RUN npm install --omit=dev
FROM node:lts as rebuild
ARG BUILDPLATFORM
ARG TARGETPLATFORM
RUN mkdir -p /usr/src/build && \
chown -R node:node /usr/src/build
COPY --from=npm /usr/src/build /usr/src/build
RUN if [ $BUILDPLATFORM != $TARGETPLATFORM ]; then \
npm rebuild && \
npm cache clean --force; fi
FROM node:lts-slim as run
ARG NODE_ENV
ENV NODE_ENV=$NODE_ENV \
daemon=false \
silent=false
FROM node:lts
RUN mkdir -p /usr/src/app && \
chown -R node:node /usr/src/app
COPY --chown=node:node --from=rebuild /usr/src/build /usr/src/app
WORKDIR /usr/src/app
ARG NODE_ENV
ENV NODE_ENV $NODE_ENV
COPY --chown=node:node --from=npm /usr/src/build /usr/src/app
USER node
RUN npm rebuild && \
npm cache clean --force
COPY --chown=node:node . /usr/src/app
ENV NODE_ENV=production \
daemon=false \
silent=false
EXPOSE 4567
VOLUME ["/usr/src/app/node_modules", "/usr/src/app/build", "/usr/src/app/public/uploads", "/opt/config"]
ENTRYPOINT ["./install/docker/entrypoint.sh"]
CMD test -n "${SETUP}" && ./nodebb setup || node ./nodebb build; node ./nodebb start

View File

@@ -46,8 +46,7 @@ NodeBB requires the following software to be installed:
## Installation
[Please refer to platform-specific installation documentation](https://docs.nodebb.org/installing/os).
If installing via the cloud (or using Docker), [please see cloud-based installation documentation](https://docs.nodebb.org/installing/cloud/).
[Please refer to platform-specific installation documentation](https://docs.nodebb.org/installing/os)
## Securing NodeBB
@@ -60,7 +59,6 @@ It is important to ensure that your NodeBB and database servers are secured. Bea
2. Use `iptables` to secure your server from unintended open ports. In Ubuntu, `ufw` provides a friendlier interface to working with `iptables`.
* e.g. If your NodeBB is proxied, no ports should be open except 80 (and possibly 22, for SSH access)
## Upgrading NodeBB
Detailed upgrade instructions are listed in [Upgrading NodeBB](https://docs.nodebb.org/configuring/upgrade/)

View File

@@ -1,55 +1,24 @@
version: '3.8'
version: '3.5'
services:
nodebb:
node:
build: .
restart: unless-stopped
ports:
- "4567:4567/tcp" # comment this out if you don't want to expose NodeBB to the host, or change the first number to any port you want
# uncomment if you want to use another container as a reverse proxy
# expose:
# - 4567
depends_on:
- db
expose:
- 4567 # use a reverse proxy like Traefik
db:
image: mongo:bionic
restart: unless-stopped
expose:
- 27017
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: root
volumes:
- ./.docker/build:/usr/src/app/build
- ./.docker/public/uploads:/usr/src/app/public/uploads
- ./.docker:/opt/config
- ./install/docker/setup.json:/usr/src/app/setup.json
- mongo:/data/db
volumes:
mongo:
image: "mongo:7-jammy"
restart: unless-stopped
expose:
- "27017"
environment:
MONGO_INITDB_ROOT_USERNAME: nodebb
MONGO_INITDB_ROOT_PASSWORD: nodebb
MONGO_INITDB_DATABASE: nodebb
volumes:
- ./.docker/database/mongo/config:/etc/mongo
- ./.docker/database/mongo/data:/data/db
- ./install/docker/mongodb-user-init.js:/docker-entrypoint-initdb.d/user-init.js
profiles:
- mongo
postgres:
image: postgres:16.2-alpine
restart: unless-stopped
expose:
- "5432"
environment:
POSTGRES_USER: nodebb
POSTGRES_PASSWORD: nodebb
POSTGRES_DB: nodebb
volumes:
- ./.docker/database/postgresql/data:/var/lib/postgresql/data
profiles:
- postgres
redis:
image: redis:7.2.3-alpine
restart: unless-stopped
command: ["redis-server", "--appendonly", "yes", "--loglevel", "warning"]
# command: ["redis-server", "--save", "60", "1", "--loglevel", "warning"] # uncomment if you want to use snapshotting instead of AOF
expose:
- "6379"
volumes:
- ./.docker/database/redis:/data
profiles:
- redis

View File

@@ -23,11 +23,10 @@
"chatMessageDelay": 2000,
"newbieChatMessageDelay": 120000,
"notificationSendDelay": 60,
"newbieReputationThreshold": 3,
"newbiePostDelayThreshold": 3,
"postQueue": 0,
"postQueueReputationThreshold": 0,
"groupsExemptFromPostQueue": ["administrators", "Global Moderators"],
"groupsExemptFromNewUserRestrictions": ["administrators", "Global Moderators"],
"groupsExemptFromMaintenanceMode": ["administrators", "Global Moderators"],
"minimumPostLength": 8,
"maximumPostLength": 32767,
@@ -42,11 +41,11 @@
"registrationApprovalType": "normal",
"allowAccountDelete": 1,
"privateUploads": 0,
"allowedFileExtensions": "png,jpg,bmp,txt,webp,webm,mp4,gif",
"allowedFileExtensions": "png,jpg,bmp,txt",
"uploadRateLimitThreshold": 10,
"uploadRateLimitCooldown": 60,
"allowUserHomePage": 1,
"allowMultipleBadges": 1,
"allowMultipleBadges": 0,
"maximumFileSize": 2048,
"stripEXIFData": 1,
"orphanExpiryDays": 0,
@@ -99,8 +98,6 @@
"min:rep:aboutme": 0,
"min:rep:signature": 0,
"flags:limitPerTarget": 0,
"flags:postFlagsPerDay": 10,
"flags:userFlagsPerDay": 10,
"flags:autoFlagOnDownvoteThreshold": 0,
"flags:actionOnResolve": "rescind",
"flags:actionOnReject": "rescind",
@@ -178,7 +175,7 @@
"onlineCutoff": 30,
"timeagoCutoff": 30,
"necroThreshold": 7,
"categoryWatchState": "tracking",
"categoryWatchState": "watching",
"submitPluginUsage": 1,
"showAverageApprovalTime": 1,
"autoApproveTime": 0,
@@ -190,4 +187,4 @@
"maxReconnectionAttempts": 5,
"reconnectionDelay": 1500,
"disableCustomUserSkins": 0
}
}

View File

@@ -1,46 +0,0 @@
#!/bin/bash
export CONFIG_DIR="${CONFIG_DIR:-/opt/config}"
export CONFIG=$CONFIG_DIR/config.json
export FORCE_BUILD_BEFORE_START="${FORCE_BUILD_BEFORE_START:-false}"
# Supported verbs: install (web install), setup (interactive CLI session). Default: web install
# TODO: constraint it using a hash set (or hash table)
export NODEBB_INIT_VERB="${NODEBB_INIT_VERB:-install}"
# Setup variable for backward compatibility, default: <empty>
export SETUP="${SETUP:-}"
mkdir -p $CONFIG_DIR
# if the folder is mounted as a volume this can fail, the check below is to ensure there is still write access
chmod -fR 760 $CONFIG_DIR 2> /dev/null
if [[ ! -w $CONFIG_DIR ]]; then
echo "panic: no write permission for $CONFIG_DIR"
exit 1
fi
[[ -f $CONFIG_DIR/package.json ]] || cp install/package.json $CONFIG_DIR/package.json
[[ -f $CONFIG_DIR/package-lock.json ]] || touch $CONFIG_DIR/package-lock.json
ln -fs $CONFIG_DIR/package.json package.json
ln -fs $CONFIG_DIR/package-lock.json package-lock.json
npm install --omit=dev
if [[ -n $SETUP ]]; then
echo "Setup environmental variable detected"
echo "Starting setup session"
./nodebb setup --config=$CONFIG
elif [ -f $CONFIG ]; then
echo "Config file exist at $CONFIG, assuming it is a valid config"
echo "Starting forum"
if [ "$FORCE_BUILD_BEFORE_START" = true ]; then
./nodebb build --config=$CONFIG
fi
./nodebb start --config=$CONFIG
else
echo "Config file not found at $CONFIG"
echo "Starting installation session"
./nodebb "${NODEBB_INIT_VERB}" --config=$CONFIG
fi

View File

@@ -1 +0,0 @@
db.createUser( { user: 'nodebb', pwd: 'nodebb', roles: [ { role: 'readWrite', db: 'nodebb' }, { role: 'clusterMonitor', db: 'admin' } ] } )

View File

@@ -1,21 +0,0 @@
{
"mongo": {
"host": "mongo",
"port": 27017,
"database": "nodebb",
"username": "nodebb",
"password": "nodebb"
},
"redis": {
"host": "redis",
"port": 6379,
"database": 0
},
"postgres": {
"host": "postgres",
"port": 5432,
"database": "nodebb",
"username": "nodebb",
"password": "nodebb"
}
}

View File

@@ -2,7 +2,7 @@
"name": "nodebb",
"license": "GPL-3.0",
"description": "NodeBB Forum",
"version": "3.7.3",
"version": "3.4.3",
"homepage": "https://www.nodebb.org",
"repository": {
"type": "git",
@@ -29,49 +29,48 @@
},
"dependencies": {
"@adactive/bootstrap-tagsinput": "0.8.2",
"@fontsource/inter": "5.0.16",
"@fontsource/inter": "5.0.13",
"@fontsource/poppins": "5.0.8",
"@fortawesome/fontawesome-free": "6.5.1",
"@fortawesome/fontawesome-free": "6.4.2",
"@isaacs/ttlcache": "1.4.1",
"@popperjs/core": "2.11.8",
"ace-builds": "1.32.7",
"archiver": "7.0.0",
"async": "3.2.5",
"autoprefixer": "10.4.18",
"ace-builds": "1.30.0",
"archiver": "6.0.1",
"async": "3.2.4",
"autoprefixer": "10.4.16",
"bcryptjs": "2.4.3",
"benchpressjs": "2.5.1",
"body-parser": "1.20.2",
"bootbox": "6.0.0",
"bootstrap": "5.3.3",
"bootswatch": "5.3.3",
"bootstrap": "5.3.2",
"bootswatch": "5.3.2",
"chalk": "4.1.2",
"chart.js": "4.4.2",
"chart.js": "4.4.0",
"cli-graph": "3.2.2",
"clipboard": "2.0.11",
"colors": "1.4.0",
"commander": "12.0.0",
"commander": "11.1.0",
"compare-versions": "6.1.0",
"compression": "1.7.4",
"connect-flash": "0.1.1",
"connect-mongo": "5.1.0",
"connect-multiparty": "2.2.0",
"connect-pg-simple": "9.0.1",
"connect-redis": "7.1.1",
"connect-pg-simple": "9.0.0",
"connect-redis": "7.1.0",
"cookie-parser": "1.4.6",
"cron": "3.1.6",
"cron": "3.1.1",
"cropperjs": "1.6.1",
"csrf-sync": "4.0.3",
"csrf-sync": "4.0.1",
"daemon": "1.1.0",
"diff": "5.2.0",
"esbuild": "0.20.1",
"express": "4.18.3",
"express-session": "1.18.0",
"diff": "5.1.0",
"esbuild": "0.19.4",
"express": "4.18.2",
"express-session": "1.17.3",
"express-useragent": "1.0.15",
"fetch-cookie": "3.0.1",
"file-loader": "6.2.0",
"fs-extra": "11.2.0",
"fs-extra": "11.1.1",
"graceful-fs": "4.2.11",
"helmet": "7.1.0",
"helmet": "7.0.0",
"html-to-text": "9.0.5",
"imagesloaded": "5.0.0",
"ipaddr.js": "2.1.0",
@@ -85,68 +84,69 @@
"jsonwebtoken": "9.0.2",
"lodash": "4.17.21",
"logrotate-stream": "0.2.9",
"lru-cache": "10.2.0",
"lru-cache": "10.0.1",
"mime": "3.0.0",
"mkdirp": "3.0.1",
"mongodb": "6.5.0",
"mongodb": "6.1.0",
"morgan": "1.10.0",
"mousetrap": "1.6.5",
"multiparty": "4.2.3",
"nconf": "0.12.1",
"nconf": "0.12.0",
"nodebb-plugin-2factor": "7.4.0",
"nodebb-plugin-composer-default": "10.2.33",
"nodebb-plugin-dbsearch": "6.2.3",
"nodebb-plugin-composer-default": "10.2.24",
"nodebb-plugin-dbsearch": "6.2.2",
"nodebb-plugin-emoji": "5.1.13",
"nodebb-plugin-emoji-android": "4.0.0",
"nodebb-plugin-markdown": "12.2.6",
"nodebb-plugin-mentions": "4.4.0",
"nodebb-plugin-ntfy": "1.7.4",
"nodebb-plugin-spam-be-gone": "2.2.1",
"nodebb-rewards-essentials": "1.0.0",
"nodebb-theme-harmony": "1.2.44",
"nodebb-theme-lavender": "7.1.8",
"nodebb-theme-peace": "2.2.4",
"nodebb-theme-persona": "13.3.11",
"nodebb-widget-essentials": "7.0.15",
"nodemailer": "6.9.11",
"nodebb-plugin-markdown": "12.2.5",
"nodebb-plugin-mentions": "4.3.6",
"nodebb-plugin-ntfy": "1.7.3",
"nodebb-plugin-spam-be-gone": "2.2.0",
"nodebb-rewards-essentials": "0.2.3",
"nodebb-theme-harmony": "1.1.84",
"nodebb-theme-lavender": "7.1.4",
"nodebb-theme-peace": "2.1.22",
"nodebb-theme-persona": "13.2.38",
"nodebb-widget-essentials": "7.0.14",
"nodemailer": "6.9.6",
"nprogress": "0.2.0",
"passport": "0.7.0",
"passport": "0.6.0",
"passport-http-bearer": "1.0.1",
"passport-local": "1.0.0",
"pg": "8.11.3",
"pg-cursor": "2.10.3",
"postcss": "8.4.35",
"postcss": "8.4.31",
"postcss-clean": "1.2.0",
"progress-webpack-plugin": "1.0.16",
"prompt": "1.3.0",
"ioredis": "5.3.2",
"request": "2.88.2",
"request-promise-native": "1.0.9",
"rimraf": "5.0.5",
"rss": "1.2.2",
"rtlcss": "4.1.1",
"sanitize-html": "2.12.1",
"sass": "1.71.1",
"semver": "7.6.0",
"sanitize-html": "2.11.0",
"sass": "1.69.3",
"semver": "7.5.4",
"serve-favicon": "2.5.0",
"sharp": "0.32.6",
"sitemap": "7.1.1",
"socket.io": "4.7.4",
"socket.io-client": "4.7.4",
"socket.io": "4.7.2",
"socket.io-client": "4.7.2",
"@socket.io/redis-adapter": "8.2.1",
"sortablejs": "1.15.2",
"spdx-license-list": "6.9.0",
"sortablejs": "1.15.0",
"spdx-license-list": "6.7.0",
"spider-detector": "2.0.1",
"terser-webpack-plugin": "5.3.10",
"terser-webpack-plugin": "5.3.9",
"textcomplete": "0.18.2",
"textcomplete.contenteditable": "0.1.1",
"timeago": "1.6.7",
"tinycon": "0.6.8",
"toobusy-js": "0.5.1",
"tough-cookie": "4.1.3",
"validator": "13.11.0",
"webpack": "5.90.3",
"webpack": "5.89.0",
"webpack-merge": "5.10.0",
"winston": "3.11.0",
"workerpool": "9.1.0",
"workerpool": "6.5.1",
"xml": "1.0.1",
"xregexp": "5.1.1",
"yargs": "17.7.2",
@@ -154,25 +154,25 @@
},
"devDependencies": {
"@apidevtools/swagger-parser": "10.1.0",
"@commitlint/cli": "19.0.3",
"@commitlint/config-angular": "19.0.3",
"@commitlint/cli": "17.8.0",
"@commitlint/config-angular": "17.8.0",
"coveralls": "3.1.1",
"eslint": "8.57.0",
"eslint": "8.51.0",
"eslint-config-nodebb": "0.2.1",
"eslint-plugin-import": "2.29.1",
"eslint-plugin-import": "2.28.1",
"grunt": "1.6.1",
"grunt-contrib-watch": "1.1.0",
"husky": "8.0.3",
"jsdom": "24.0.0",
"lint-staged": "15.2.2",
"mocha": "10.3.0",
"jsdom": "22.1.0",
"lint-staged": "15.0.1",
"mocha": "10.2.0",
"mocha-lcov-reporter": "1.3.0",
"mockdate": "3.0.5",
"nyc": "15.1.0",
"smtp-server": "3.13.3"
"smtp-server": "3.13.0"
},
"optionalDependencies": {
"sass-embedded": "1.71.1"
"sass-embedded": "1.69.2"
},
"resolutions": {
"*/jquery": "3.7.1"
@@ -181,7 +181,7 @@
"url": "https://github.com/NodeBB/NodeBB/issues"
},
"engines": {
"node": ">=18"
"node": ">=16"
},
"maintainers": [
{

View File

@@ -174,8 +174,6 @@ function install(req, res) {
const database = nconf.get('database') || req.body.database || 'mongo';
const setupEnvVars = {
...process.env,
CONFIG: nconf.get('config'),
NODEBB_CONFIG: nconf.get('config'),
NODEBB_URL: nconf.get('url') || req.body.url || (`${req.protocol}://${req.get('host')}`),
NODEBB_PORT: nconf.get('port') || 4567,
NODEBB_ADMIN_USERNAME: nconf.get('admin:username') || req.body['admin:username'],

View File

@@ -99,9 +99,7 @@ Loader.start = function () {
function forkWorker(index, isPrimary) {
const ports = getPorts();
const args = [];
if (nconf.get('max-memory')) {
args.push(`--max-old-space-size=${nconf.get('max-memory')}`);
}
if (!ports[index]) {
return console.log(`[cluster] invalid port for worker : ${index} ports: ${ports.length}`);
}

View File

@@ -1,41 +0,0 @@
<html>
<head>
<title>Internal Server Error</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" href="/assets/5xx.css" />
<script type="text/javascript">
window.onload = function() {
let count = 0;
const 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">500</h1>
<p>
<strong>Internal server error. </strong>
</p>
<p>
{message}
</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

@@ -2,12 +2,147 @@
<head>
<title>Excessive Load Warning</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" href="/assets/5xx.css" />
<style type="text/css">
body {
background: #00A9EA;
color: white;
font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
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() {
let count = 0;
const bounce = document.getElementById('click-me');
var count = 0,
bounce = document.getElementById('click-me');
bounce.onclick = function() {
count++;
bounce.className = '';

View File

@@ -1,135 +0,0 @@
body {
background: #00A9EA;
color: white;
font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
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;
}

View File

@@ -94,8 +94,5 @@
"view-as-json": "View as JSON",
"expand-analytics": "Expand analytics",
"clear-search-history": "Clear Search History",
"clear-search-history-confirm": "Are you sure you want to clear entire search history?",
"search-term": "Term",
"search-count": "Count",
"view-all": "View all"
"clear-search-history-confirm": "Are you sure you want to clear entire search history?"
}

View File

@@ -29,7 +29,5 @@
"hide-from-groups": "Hide from groups",
"start-date": "Start date",
"end-date": "End date",
"hide-on-mobile": "Hide on mobile",
"hide-drafts": "Hide drafts",
"show-drafts": "Show drafts"
"hide-on-mobile": "Hide on mobile"
}

View File

@@ -8,7 +8,6 @@
"edit-privileges": "Edit Privileges",
"select-clear-all": "Select/Clear All",
"chat": "Chat",
"chat-with-privileged": "Chat with Privileged",
"upload-images": "Upload Images",
"upload-files": "Upload Files",
"signature": "Signature",

View File

@@ -8,6 +8,7 @@
"max-chat-room-name-length": "Maximum length of chat room names",
"max-room-size": "Maximum number of users in chat rooms",
"delay": "Time between chat messages (ms)",
"newbieDelay": "... for new users (ms)",
"notification-delay": "Notification delay for chat messages",
"notification-delay-help": "Additional messages sent between this time are collated, and the user is notified once per delay period. Set this to 0 to disable the delay.",
"restrictions.seconds-edit-after": "Number of seconds a chat message will remain editable.",

View File

@@ -4,15 +4,13 @@
"sorting.post-default": "Default Post Sorting",
"sorting.oldest-to-newest": "Oldest to Newest",
"sorting.newest-to-oldest": "Newest to Oldest",
"sorting.recently-replied": "Recently Replied",
"sorting.recently-created": "Recently Created",
"sorting.most-votes": "Most Votes",
"sorting.most-posts": "Most Posts",
"sorting.most-views": "Most Views",
"sorting.topic-default": "Default Topic Sorting",
"length": "Post Length",
"post-queue": "Post Queue",
"restrictions": "Posting Restrictions",
"restrictions-new": "New User Restrictions",
"restrictions.post-queue": "Enable post queue",
"restrictions.post-queue-rep-threshold": "Reputation required to bypass post queue",
"restrictions.groups-exempt-from-post-queue": "Select groups that should be exempt from the post queue",
@@ -20,6 +18,9 @@
"restrictions.post-queue-help": "Enabling post queue will put the posts of new users in a queue for approval",
"restrictions-new.post-queue-help": "Enabling new user restrictions will set restrictions on posts created by new users",
"restrictions.seconds-between": "Number of seconds between posts",
"restrictions.seconds-between-new": "Seconds between posts for new users",
"restrictions.rep-threshold": "Reputation threshold before these restrictions are lifted",
"restrictions.seconds-before-new": "Seconds before a new user can make their first post",
"restrictions.seconds-edit-after": "Number of seconds a post remains editable (set to 0 to disable)",
"restrictions.seconds-delete-after": "Number of seconds a post remains deletable (set to 0 to disable)",
"restrictions.replies-no-delete": "Number of replies after users are disallowed to delete their own topics (set to 0 to disable)",

View File

@@ -23,12 +23,7 @@
"flags.limit-per-target": "Maximum number of times something can be flagged",
"flags.limit-per-target-placeholder": "Default: 0",
"flags.limit-per-target-help": "When a post or user is flagged multiple times, each additional flag is considered a &quot;report&quot; and added to the original flag. Set this option to a number other than zero to limit the number of reports an item can receive.",
"flags.limit-post-flags-per-day": "Maximum number of times a user can flag posts in a day",
"flags.limit-post-flags-per-day-help": "Set to 0 to disable, (default: 10)",
"flags.limit-user-flags-per-day": "Maximum number of times a user can flag users in a day",
"flags.limit-user-flags-per-day-help": "Set to 0 to disable, (default: 10)",
"flags.auto-flag-on-downvote-threshold": "Number of downvotes to auto flag posts",
"flags.auto-flag-on-downvote-threshold-help": "Set to 0 to disable, (default: 0)",
"flags.auto-flag-on-downvote-threshold": "Number of downvotes to auto flag posts (Set to 0 to disable, default: 0)",
"flags.auto-resolve-on-ban": "Automatically resolve all of a user's tickets when they are banned",
"flags.action-on-resolve": "Do the following when a flag is resolved",
"flags.action-on-reject": "Do the following when a flag is rejected",

View File

@@ -79,14 +79,7 @@
"follow-replied-topics": "Follow topics that you reply to",
"default-notification-settings": "Default notification settings",
"categoryWatchState": "Default category watch state",
"categoryWatchState.tracking": "Tracking",
"categoryWatchState.watching": "Watching",
"categoryWatchState.notwatching": "Not Watching",
"categoryWatchState.ignoring": "Ignoring",
"restrictions-new": "New User Restrictions",
"restrictions.rep-threshold": "Reputation threshold before these restrictions are lifted",
"restrictions.seconds-between-new": "Seconds between posts for new users",
"restrictions.seconds-before-new": "Seconds before a new user can make their first post",
"restrictions.seconds-edit-after-new": "Number of seconds a post remains editable for new users (set to 0 to disable)",
"restrictions.milliseconds-between-messages": "Time between chat messages for new users (ms)",
"restrictions.groups-exempt-from-new-user-restrictions": "Select groups that should be exempt from the new user restrictions"
"categoryWatchState.ignoring": "Ignoring"
}

View File

@@ -1,8 +0,0 @@
{
"post-sort-option": "Post sort option, %1",
"topic-sort-option": "Topic sort option, %1",
"user-avatar-for": "User avatar for %1",
"user-watched-tags": "User watched tags",
"delete-upload-button": "Delete upload button",
"group-page-link-for": "Group page link for %1"
}

View File

@@ -10,15 +10,12 @@
"watch": "تابع",
"ignore": "تجاهل",
"watching": "متابع",
"tracking": "Tracking",
"not-watching": "لست متابع",
"ignoring": "متجاهل",
"watching.description": "Notify me of new topics.<br/>Show topics in unread & recent",
"tracking.description": "Shows topics in unread & recent",
"watching.description": "أظهر المواضيع في الغير مقروء و الحديث",
"not-watching.description": "Do not show topics in unread, show in recent",
"ignoring.description": "Do not show topics in unread & recent",
"ignoring.description": "Do not show topics in unread and recent",
"watching.message": "You are now watching updates from this category and all subcategories",
"tracking.message": "You are now tracking updates from this category and all subcategories",
"notwatching.message": "You are not watching updates from this category and all subcategories",
"ignoring.message": "You are now ignoring updates from this category and all subcategories",
"watched-categories": "الأقسام المُتابعة",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Folder exists",
"invalid-pagination-value": "رقم الصفحة غير صحيح ، يجب أن يكون بين %1 و %2 .",
"username-taken": "اسم المستخدم مأخوذ",
"email-taken": "Email address is already taken.",
"email-taken": "البريد الالكتروني مأخوذ",
"email-nochange": "The email entered is the same as the email already on file.",
"email-invited": "Email was already invited",
"email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.",
@@ -91,7 +91,6 @@
"category-not-selected": "Category not selected.",
"too-many-posts": "يسمح لك بالنشر مرة كل %1 ثانية - يرجى الإنتظار قبل النشر مجدداً",
"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-minutes": "As a new user, you can only post once every %1 minute(s) until you have earned %2 reputation - please wait before posting again",
"already-posting": "You are already posting",
"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)",
@@ -184,8 +183,6 @@
"user-already-flagged": "You have already flagged this user",
"post-flagged-too-many-times": "This post has been flagged by others already",
"user-flagged-too-many-times": "This user has been flagged by others already",
"too-many-post-flags-per-day": "You can only flag %1 post(s) per day",
"too-many-user-flags-per-day": "You can only flag %1 user(s) per day",
"cant-flag-privileged": "You are not allowed to flag the profiles or content of privileged users (moderators/global moderators/admins)",
"cant-locate-flag-report": "Cannot locate flag report",
"self-vote": "You cannot vote on your own post",
@@ -221,7 +218,6 @@
"already-unblocked": "This user is already unblocked",
"no-connection": "There seems to be a problem with your internet connection",
"socket-reconnect-failed": "Unable to reach the server at this time. Click here to try again, or try again later",
"invalid-plugin-id": "Invalid plugin ID",
"plugin-not-whitelisted": "Unable to install plugin &ndash; only plugins whitelisted by the NodeBB Package Manager can be installed via the ACP",
"plugins-set-in-configuration": "You are not allowed to change plugin state as they are defined at runtime (config.json, environmental variables or terminal arguments), please modify the configuration instead.",
"theme-not-set-in-configuration": "When defining active plugins in configuration, changing themes requires adding the new theme to the list of active plugins before updating it in the ACP",

View File

@@ -24,15 +24,8 @@
"cancel": "Cancel",
"close": "أغلق",
"pagination": "الصفحات",
"pagination.previouspage": "Previous Page",
"pagination.nextpage": "Next Page",
"pagination.firstpage": "First Page",
"pagination.lastpage": "Last Page",
"pagination.out-of": "%1 من %2",
"pagination.enter-index": "Go to post index",
"pagination.go-to-page": "Go to page",
"pagination.page-x": "Page %1",
"header.brand-logo": "Brand Logo",
"header.admin": "مدير النظام",
"header.categories": "الأقسام",
"header.recent": "حديث",
@@ -54,6 +47,8 @@
"chats.loading": "تحميل الدردشات",
"drafts.loading": "Loading Drafts",
"motd.welcome": "مرحبا بكم في NodeBB، منصة المناقشة المستقبلية.",
"previouspage": "الصفحة السابقة",
"nextpage": "الصفحة التالية",
"alert.success": "نجاح",
"alert.error": "خطأ",
"alert.warning": "Warning",
@@ -140,12 +135,9 @@
"edited": "حُرِر",
"disabled": "معطل",
"select": "تحديد",
"selected": "Selected",
"copied": "Copied",
"user-search-prompt": "Type something here to find users...",
"hidden": "Hidden",
"sort": "Sort",
"actions": "Actions",
"rss-feed": "RSS Feed",
"skip-to-content": "Skip to content"
"actions": "Actions"
}

View File

@@ -68,8 +68,6 @@
"chat.in-room": "In this room",
"chat.kick": "Kick",
"chat.show-ip": "Show IP",
"chat.copy-text": "Copy Text",
"chat.copy-link": "Copy Link",
"chat.owner": "Room Owner",
"chat.grant-rescind-ownership": "Grant/Rescind Ownership",
"chat.system.user-join": "%1 has joined the room <span class=\"timeago\" title=\"%2\"></span>",

View File

@@ -13,14 +13,12 @@
"all": "الكل",
"topics": "مواضيع",
"tags": "Tags",
"categories": "Categories",
"replies": "ردود",
"chat": "محادثات",
"group-chat": "Group Chats",
"public-chat": "Public Chats",
"follows": "متابعون",
"upvote": "الموافقين",
"awards": "Awards",
"new-flags": "New Flags",
"my-flags": "Flags assigned to me",
"bans": "الحظر",
@@ -56,7 +54,6 @@
"user-posted-topic-with-tag-dual": "<strong>%1</strong> has posted a new topic with tags <strong>%2</strong> and <strong>%3</strong>",
"user-posted-topic-with-tag-triple": "<strong>%1</strong> has posted a new topic with tags <strong>%2</strong>, <strong>%3</strong> and <strong>%4</strong>",
"user-posted-topic-with-tag-multiple": "<strong>%1</strong> has posted a new topic with tags <strong>%2</strong>",
"user-posted-topic-in-category": "<strong>%1</strong> has posted a new topic in <strong>%2</strong>",
"user-started-following-you": "<strong>%1</strong> صار يتابعك.",
"user-started-following-you-dual": "<strong>%1</strong> and <strong>%2</strong> started following you.",
"user-started-following-you-triple": "<strong>%1</strong>, <strong>%2</strong> and <strong>%3</strong> started following you.",
@@ -83,7 +80,6 @@
"notificationType-upvote": "عندما يوافقك احدهم على منشورك",
"notificationType-new-topic": "When someone you follow posts a topic",
"notificationType-new-topic-with-tag": "When a topic is posted with a tag you follow",
"notificationType-new-topic-in-category": "When a topic is posted in a category you are watching",
"notificationType-new-reply": "When a new reply is posted in a topic you are watching",
"notificationType-post-edit": "When a post is edited in a topic you are watching",
"notificationType-follow": "When someone starts following you",
@@ -96,6 +92,5 @@
"notificationType-new-register": "When someone gets added to registration queue",
"notificationType-post-queue": "When a new post is queued",
"notificationType-new-post-flag": "When a post is flagged",
"notificationType-new-user-flag": "When a user is flagged",
"notificationType-new-reward": "When you earn a new reward"
"notificationType-new-user-flag": "When a user is flagged"
}

View File

@@ -3,10 +3,8 @@
"post-queue": "Post Queue",
"no-queued-posts": "There are no posts in the post queue.",
"no-single-post": "The topic or post you are looking for is no longer in the queue. It has likely been approved or deleted already.",
"enabling-help": "The post queue is currently <strong>disabled</strong>. To enable this feature, go to <a href=\"%1\">Settings &rarr; Post &rarr; Post Queue</a> and enable <strong>Post Queue</strong>.",
"enabling-help": "To enable this feature, go to <a href=\"%1\">Settings &rarr; Post &rarr; Post Queue</a> and enable <strong>Post Queue</strong>.",
"back-to-list": "Back to Post Queue",
"public-intro": "If you have any queued posts, they will be shown here.",
"public-description": "This forum is configured to automatically queue posts from new accounts, pending moderator approval.<br />If you have queued posts awaiting approval, you will be able to see them here.",
"user": "User",
"when": "When",
"category": "Category",

View File

@@ -1,10 +0,0 @@
{
"awarded-x-reputation": "You have been awarded <strong>%1</strong> reputation",
"awarded-group-membership": "You have been added to the group <strong>%1</strong>",
"essentials/user.reputation-conditional-value": "<span class=\"text-xs\">(Reputation %1 %2)</span>",
"essentials/user.postcount-conditional-value": "<span class=\"text-xs\">(Post Count %1 %2)</span>",
"essentials/user.lastonline-conditional-value": "<span class=\"text-xs\">(Last Online %1 %2)</span>",
"essentials/user.joindate-conditional-value": "<span class=\"text-xs\">(Join Date %1 %2)</span>",
"essentials/user.daysregistered-conditional-value": "<span class=\"text-xs\">(Days Registered %1 %2)</span>"
}

View File

@@ -7,7 +7,6 @@
"in-titles": "In titles",
"in-titles-posts": "In titles and posts",
"in-posts": "In posts",
"in-bookmarks": "In bookmarks",
"in-categories": "In categories",
"in-users": "In users",
"in-tags": "In tags",

View File

@@ -6,7 +6,5 @@
"sign-in-with-google": "تسجيل الدخول باستخدام قوقل",
"sign-up-with-google": "التسجيل باستخدام قوقل",
"log-in-with-facebook": "تسجيل الدخول باستخدام فيسبوك",
"continue-with-facebook": "التسجيل باستخدام فيسبوك",
"sign-in-with-linkedin": "Sign in with LinkedIn",
"sign-up-with-linkedin": "Sign up with LinkedIn"
"continue-with-facebook": "التسجيل باستخدام فيسبوك"
}

View File

@@ -3,7 +3,7 @@
"no-tag-topics": "لا يوجد مواضيع بهذه الكلمة الدلالية.",
"no-tags-found": "No tags found",
"tags": "الكلمات الدلالية",
"enter-tags-here": "Enter tags, %1 - %2 characters.",
"enter-tags-here": "Enter tags here, between %1 and %2 characters each.",
"enter-tags-here-short": "أدخل الكلمات الدلالية...",
"no-tags": "لا يوجد كلمات دلالية بعد.",
"select-tags": "Select Tags",

View File

@@ -3,17 +3,14 @@
"skins": "Skins",
"collapse": "Collapse",
"expand": "Expand",
"sidebar-toggle": "Sidebar Toggle",
"login-register-to-search": "Login or register to search.",
"settings.title": "Theme settings",
"settings.enableQuickReply": "Enable quick reply",
"settings.enableBreadcrumbs": "Enable breadcrumbs",
"settings.centerHeaderElements": "Center header elements",
"settings.mobileTopicTeasers": "Show topic teasers on mobile",
"settings.stickyToolbar": "Sticky toolbar",
"settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page",
"settings.autohideBottombar": "Auto hide bottom bar",
"settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down",
"settings.openSidebars": "Open sidebars",
"settings.chatModals": "Enable chat modals"
}

View File

@@ -15,7 +15,6 @@
"replies-to-this-post": "%1 الردود",
"one-reply-to-this-post": "1 رد",
"last-reply-time": "آخر رد",
"reply-options": "Reply options",
"reply-as-topic": "رد بموضوع",
"guest-login-reply": "يجب عليك تسجيل الدخول للرد",
"login-to-view": "سجل الدخول للمشاهدة",
@@ -35,7 +34,6 @@
"pinned": "مثبت",
"pinned-with-expiry": "مثبت حتى %1",
"scheduled": "Scheduled",
"deleted": "Deleted",
"moved": "منقول",
"moved-from": "Moved from %1",
"copy-code": "Copy Code",
@@ -182,8 +180,6 @@
"sort-by": "ترتيب حسب",
"oldest-to-newest": "من الأقدم إلى الأحدث",
"newest-to-oldest": "من الأحدث إلى الأقدم",
"recently-replied": "Recently Replied",
"recently-created": "Recently Created",
"most-votes": "Most Votes",
"most-posts": "Most Posts",
"most-views": "Most Views",
@@ -208,13 +204,7 @@
"last-post": "Last post",
"go-to-my-next-post": "Go to my next post",
"no-more-next-post": "You don't have more posts in this topic",
"open-composer": "Open composer",
"post-quick-reply": "Quick reply",
"navigator.index": "Post %1 of %2",
"navigator.unread": "%1 unread",
"upvote-post": "Upvote post",
"downvote-post": "Downvote post",
"post-tools": "Post tools",
"unread-posts-link": "Unread posts link",
"thumb-image": "Topic thumbnail image"
"navigator.unread": "%1 unread"
}

View File

@@ -3,7 +3,6 @@
"no-unread-topics": "ليس هناك أي موضوع غير مقروء",
"load-more": "حمل المزيد",
"mark-as-read": "حدد غير مقروء",
"mark-as-unread": "Mark as Unread",
"selected": "المحددة",
"all": "الكل",
"all-categories": "كل الفئات",

View File

@@ -1,5 +1,4 @@
{
"user-menu": "User menu",
"banned": "محظور",
"muted": "كتم",
"offline": "غير متصل",
@@ -142,10 +141,6 @@
"follow-topics-you-create": "متابعة المواضيع التي تقوم بإنشائها",
"grouptitle": "عنوان المجموعة",
"group-order-help": "Select a group and use the arrows to order titles",
"show-group-title": "Show group title",
"hide-group-title": "Hide group title",
"order-group-up": "Order group up",
"order-group-down": "Order group down",
"no-group-title": "لا يوجد عنوان للمجموعة",
"select-skin": "إختر سمة",
"default": "Default (%1)",

View File

@@ -94,8 +94,5 @@
"view-as-json": "Преглед като JSON",
"expand-analytics": "Разгъване на данните за анализ",
"clear-search-history": "Изчистване на историята на търсенията",
"clear-search-history-confirm": "Наистина ли искате да изчистите историята на търсенията?",
"search-term": "Фраза",
"search-count": "Брой",
"view-all": "Преглед на всички"
"clear-search-history-confirm": "Наистина ли искате да изчистите историята на търсенията?"
}

View File

@@ -29,7 +29,5 @@
"hide-from-groups": "Скриване от групите",
"start-date": "Начална дата",
"end-date": "Крайна дата",
"hide-on-mobile": "Скриване на мобилни устройства",
"hide-drafts": "Скриване на черновите",
"show-drafts": "Показване на черновите"
"hide-on-mobile": "Скриване на мобилни устройства"
}

View File

@@ -8,7 +8,6 @@
"edit-privileges": "Редактиране на правомощията",
"select-clear-all": "Избиране/изчистване на всичко",
"chat": "Разговор",
"chat-with-privileged": "Разговор с някого с по-високи правомощия",
"upload-images": "Качване на изображения",
"upload-files": "Качване на файлове",
"signature": "Подпис",

View File

@@ -8,6 +8,7 @@
"max-chat-room-name-length": "Максимална дължина на имената на стаи за разговори",
"max-room-size": "Максимален брой потребители в стая за разговор",
"delay": "Време между съобщенията в разговорите (мсек)",
"newbieDelay": "…за нови потребители (мсек)",
"notification-delay": "Забавяне преди известяване за съобщения в разговорите",
"notification-delay-help": "Допълнителните съобщения, изпратени в рамките на това време, се комбинират, и потребителят получава по едно известие за всеки такъв период на забавяне. Задайте стойност 0, за да изключите забавянето.",
"restrictions.seconds-edit-after": "Брой секунди, през които съобщенията в разговор могат да бъдат редактирани.",

View File

@@ -4,15 +4,13 @@
"sorting.post-default": "Подредба по подразбиране на публикациите",
"sorting.oldest-to-newest": "Първо най-старите",
"sorting.newest-to-oldest": "Първо най-новите",
"sorting.recently-replied": "Първо тези с най-скорошни отговори",
"sorting.recently-created": "Първо най-скоро създадените",
"sorting.most-votes": "Първо тези с най-много гласове",
"sorting.most-posts": "Първо тези с най-много публикации",
"sorting.most-views": "Първо тези с най-много преглеждания",
"sorting.topic-default": "Подредба по подразбиране на темите",
"length": "Дължина на публикациите",
"post-queue": "Опашка за публикации",
"restrictions": "Ограничения за публикуването",
"restrictions-new": "Ограничения за новите потребители",
"restrictions.post-queue": "Включване на опашката за публикации",
"restrictions.post-queue-rep-threshold": "Нужна репутация за пропускане на опашката за публикации",
"restrictions.groups-exempt-from-post-queue": "Избиране на групи, които да пропускат опашката за публикации",
@@ -20,6 +18,9 @@
"restrictions.post-queue-help": "Ако опашката за публикации е включена, публикациите на новите потребители ще бъдат добавяни в опашка за одобрение",
"restrictions-new.post-queue-help": "Ако ограниченията за новите потребители са включени, това ще зададе някои ограничения за публикациите създадени от новите потребители",
"restrictions.seconds-between": "Брой секунди между публикациите",
"restrictions.seconds-between-new": "Брой секунди между публикациите за нови потребители",
"restrictions.rep-threshold": "Необходима репутация за премахване на това ограничение",
"restrictions.seconds-before-new": "Брой секунди преди новите потребители да могат да публикуват за пръв път",
"restrictions.seconds-edit-after": "Брой секунди, през които публикациите могат да бъдат редактирани. (0 = изключено)",
"restrictions.seconds-delete-after": "Брой секунди, през които публикациите могат да бъдат изтрити. (0 = изключено)",
"restrictions.replies-no-delete": "Брой отговори, след които потребителите вече не могат да изтриват собствените си теми. (0 = изключено)",

View File

@@ -23,12 +23,7 @@
"flags.limit-per-target": "Максимален брой докладвания на едно и също нещо",
"flags.limit-per-target-placeholder": "По подразбиране: 0",
"flags.limit-per-target-help": "Когато публикация или потребител бъде докладван няколко пъти, това се добавя към един общ доклад. Задайте на тази настройка стойност по-голяма от нула, за да ограничите броя на докладванията, които могат да бъдат натрупани към една публикация или потребител.",
"flags.limit-post-flags-per-day": "Максимален брой публикации, които потребител може да докладва в рамките на един ден",
"flags.limit-post-flags-per-day-help": "Задайте 0 за изключване (по подразбиране: 10)",
"flags.limit-user-flags-per-day": "Максимален брой потребители, които даден потребител може да докладва в рамките на един ден",
"flags.limit-user-flags-per-day-help": "Задайте 0 за изключване (по подразбиране: 10)",
"flags.auto-flag-on-downvote-threshold": "Брой отрицателни гласове за автоматично докладване на публикации",
"flags.auto-flag-on-downvote-threshold-help": "Задайте 0 за изключване (по подразбиране: 0)",
"flags.auto-flag-on-downvote-threshold": "Брой отрицателни гласове, при които публикациите да бъдат докладвани автоматично (0 = изключено, по подразбиране: 0)",
"flags.auto-resolve-on-ban": "Автоматично премахване на всички доклади за потребител, когато той бъде блокиран",
"flags.action-on-resolve": "Когато докладване бъде разрешено, да се направи следното",
"flags.action-on-reject": "Когато докладване бъде отхвърлено, да се направи следното",

View File

@@ -78,15 +78,8 @@
"follow-created-topics": "Следване на темите, които създавате",
"follow-replied-topics": "Следване на темите, на които отговаряте",
"default-notification-settings": "Настройки по подразбиране за известията",
"categoryWatchState": "Състояние по подразбиране за наблюдаването на категории",
"categoryWatchState.tracking": "Да се следят",
"categoryWatchState.notwatching": "Да не се наблюдават",
"categoryWatchState.ignoring": "Да се пренебрегват",
"restrictions-new": "Ограничения за новите потребители",
"restrictions.rep-threshold": "Необходима репутация за премахване на това ограничение",
"restrictions.seconds-between-new": "Брой секунди между публикациите за нови потребители",
"restrictions.seconds-before-new": "Брой секунди преди новите потребители да могат да публикуват за пръв път",
"restrictions.seconds-edit-after-new": "Брой секунди, през които публикациите могат да бъдат редактирани от нови потребители. (0 = изключено)",
"restrictions.milliseconds-between-messages": "Време между съобщенията в разговорите за нови потребители (мсек)",
"restrictions.groups-exempt-from-new-user-restrictions": "Избиране на групи, за които да не важат ограниченията за нови потребители"
"categoryWatchState": "Състояние по подразбиране за следенето на категории",
"categoryWatchState.watching": "Да се следят",
"categoryWatchState.notwatching": "Да не се следят",
"categoryWatchState.ignoring": "Да се пренебрегват"
}

View File

@@ -1,8 +0,0 @@
{
"post-sort-option": "Настройка за подредбата на публикациите, %1",
"topic-sort-option": "Настройка за подредбата на темите, %1",
"user-avatar-for": "Изображение на потребителя за %1",
"user-watched-tags": "Наблюдавани от потребителя етикети",
"delete-upload-button": "Бутон за изтриване на каченото",
"group-page-link-for": "Връзка към груповата страница за %1"
}

View File

@@ -7,20 +7,17 @@
"browsing": "разглежда",
"no-replies": "Няма отговори",
"no-new-posts": "Няма нови публикации.",
"watch": "Наблюдаване",
"watch": "Следене",
"ignore": "Пренебрегване",
"watching": "Наблюдавате",
"tracking": "Следите",
"not-watching": "Не наблюдавате",
"watching": "Следите",
"not-watching": "Не следите",
"ignoring": "Пренебрегвате",
"watching.description": "Искам да получавам известия за новите теми.<br/>Искам темите да се показват в списъците с непрочетени и скорошни.",
"tracking.description": "Темите да се показват в непрочетените и скорошните",
"watching.description": "Темите да се показват в непрочетените и скорошните",
"not-watching.description": "Темите да не се показват в непрочетените, а само в скорошните",
"ignoring.description": "Темите да не се показват нито в непрочетените, нито в скорошните",
"watching.message": "Вече наблюдавате новите неща в категорията и подкатегориите ѝ",
"tracking.message": "Вече следите новите неща в категорията и подкатегориите ѝ",
"notwatching.message": "Вече не наблюдавате новите неща в категорията и подкатегориите ѝ",
"watching.message": "Вече следите новите неща в категорията и подкатегориите ѝ",
"notwatching.message": "Вече не следите новите неща в категорията и подкатегориите ѝ",
"ignoring.message": "Вече пренебрегвате новите неща в тази категория и всички нейни подкатегории",
"watched-categories": "Наблюдавани категории",
"watched-categories": "Следени категории",
"x-more-categories": "Още %1 категории"
}

View File

@@ -32,7 +32,7 @@
"folder-exists": "Вече има папка с това име",
"invalid-pagination-value": "Грешен номер на странициране, трябва да бъде между %1 и %2",
"username-taken": "Потребителското име е заето",
"email-taken": "Адресът на е-пощата вече е зает.",
"email-taken": "Е-пощата е заета",
"email-nochange": "Въведената е-поща е същата като съществуващата.",
"email-invited": "На тази е-поща вече е била изпратена покана",
"email-not-confirmed": "Публикуването в някои категории и теми ще бъде възможно едва след като е-пощата Ви бъде потвърдена. Щръкнете тук, за да Ви изпратим е-писмо за потвърждение.",
@@ -91,7 +91,6 @@
"category-not-selected": "Не е избрана категория.",
"too-many-posts": "Можете да публикувате веднъж на %1 секунда/и моля, изчакайте малко, преди да опитате да публикувате отново",
"too-many-posts-newbie": "Като нов потребител, Вие можете да публикувате веднъж на %1 секунда/и, докато не натрупате %2 репутация моля, изчакайте малко, преди да опитате да публикувате отново",
"too-many-posts-newbie-minutes": "Като нов потребител, Вие можете да публикувате веднъж на %1 минута/и, докато не натрупате %2 репутация моля, изчакайте малко, преди да опитате да публикувате отново",
"already-posting": "В момента публикувате",
"tag-too-short": "Моля, въведете по-дълъг етикет. Етикетите трябва да съдържат поне %1 символ(а)",
"tag-too-long": "Моля, въведете по-кратък етикет. Етикетите трябва да съдържат не повече от %1 символ(а)",
@@ -184,8 +183,6 @@
"user-already-flagged": "Вече сте докладвали този потребител",
"post-flagged-too-many-times": "Тази публикация вече е докладвана от други хора",
"user-flagged-too-many-times": "Този потребител вече е докладван от други хора",
"too-many-post-flags-per-day": "Можете да докладвате най-много %1 публикации на ден",
"too-many-user-flags-per-day": "Можете да докладвате най-много %1 потребител(и) на ден",
"cant-flag-privileged": "Не можете да докладвате профилите или съдържанието от потребители с по-високи правомощия (модератори, глобални модератори, администратори)",
"cant-locate-flag-report": "Докладът не може да бъде намерен",
"self-vote": "Не можете да гласувате за собствената си публикация",
@@ -221,7 +218,6 @@
"already-unblocked": "Този потребител вече е отблокиран",
"no-connection": "Изглежда има проблем с връзката Ви с Интернет",
"socket-reconnect-failed": "В момента сървърът е недостъпен. Натиснете тук, за да опитате отново, или опитайте пак по-късно.",
"invalid-plugin-id": "Грешен идентификатор на добавка",
"plugin-not-whitelisted": "Добавката не може да бъде инсталирана само добавки, одобрени от пакетния мениджър на NodeBB могат да бъдат инсталирани чрез ACP",
"plugins-set-in-configuration": "Не можете да променяте състоянието на добавката, тъй като то се определя по време на работата ѝ (чрез config.json, променливи на средата или аргументи при изпълнение). Вместо това може да промените конфигурацията.",
"theme-not-set-in-configuration": "Когато определяте активните добавки в конфигурацията, промяната на темите изисква да се добави новата тема към активните добавки, преди актуализирането ѝ в ACP",

View File

@@ -24,15 +24,8 @@
"cancel": "Отказ",
"close": "Затваряне",
"pagination": "Странициране",
"pagination.previouspage": "Предишна страница",
"pagination.nextpage": "Следваща страница",
"pagination.firstpage": "Първа страница",
"pagination.lastpage": "Последна страница",
"pagination.out-of": "%1 от %2",
"pagination.enter-index": "Към публикация номер",
"pagination.go-to-page": "Към страница",
"pagination.page-x": "Страница %1",
"header.brand-logo": "Лого на марката",
"header.admin": "Администратор",
"header.categories": "Категории",
"header.recent": "Скорошни",
@@ -54,6 +47,8 @@
"chats.loading": "Зареждане на разговорите",
"drafts.loading": "Зареждане на черновите",
"motd.welcome": "Добре дошли в NodeBB, системата за дискусии на бъдещето.",
"previouspage": "Предишна страница",
"nextpage": "Следваща страница",
"alert.success": "Готово",
"alert.error": "Грешка",
"alert.warning": "Предупреждение",
@@ -140,12 +135,9 @@
"edited": "Редактирано",
"disabled": "Изключено",
"select": "Избиране",
"selected": "Избрано",
"copied": "Копирано",
"user-search-prompt": "Започнете да пишете, за да потърсите потребител…",
"hidden": "Скрито",
"sort": "Подреждане",
"actions": "Действия",
"rss-feed": "RSS поток",
"skip-to-content": "Преминаване към съдържанието"
"actions": "Действия"
}

View File

@@ -68,8 +68,6 @@
"chat.in-room": "В тази стая",
"chat.kick": "Изгонване",
"chat.show-ip": "Показване на IP адреса",
"chat.copy-text": "Копиране на текста",
"chat.copy-link": "Копиране на връзката",
"chat.owner": "Собственик на стаята",
"chat.grant-rescind-ownership": "Даване/отнемане на собственост",
"chat.system.user-join": "%1 се присъедини към стаята <span class=\"timeago\" title=\"%2\"></span>",

View File

@@ -13,14 +13,12 @@
"all": "Всички",
"topics": "Теми",
"tags": "Етикети",
"categories": "Категории",
"replies": "Отговори",
"chat": "Разговори",
"group-chat": "Групови разговори",
"public-chat": "Публични разговори",
"follows": "Следвания",
"upvote": "Положителни гласове",
"awards": "Награди",
"new-flags": "Нови докладвания",
"my-flags": "Докладвания, назначени на мен",
"bans": "Блокирания",
@@ -56,7 +54,6 @@
"user-posted-topic-with-tag-dual": "<strong>%1</strong> публикува нова тема с етикети <strong>%2</strong> и <strong>%3</strong>",
"user-posted-topic-with-tag-triple": "<strong>%1</strong> публикува нова тема с етикети <strong>%2</strong>, <strong>%3</strong> и <strong>%4</strong>",
"user-posted-topic-with-tag-multiple": "<strong>%1</strong> публикува нова тема с етикети <strong>%2</strong>",
"user-posted-topic-in-category": "<strong>%1</strong> публикува нова тема в <strong>%2</strong>",
"user-started-following-you": "<strong>%1</strong> започна да Ви следва.",
"user-started-following-you-dual": "<strong>%1</strong> и <strong>%2</strong> започнаха да Ви следват.",
"user-started-following-you-triple": "<strong>%1</strong>, <strong>%2</strong> и <strong>%3</strong> започнаха да Ви следват.",
@@ -83,9 +80,8 @@
"notificationType-upvote": "Когато някой гласува положително за Ваша публикация",
"notificationType-new-topic": "Когато някой, когото следвате, публикува тема",
"notificationType-new-topic-with-tag": "Когато бъде публикувана нова тема с етикет, който следвате",
"notificationType-new-topic-in-category": "Когато бъде публикувана нова тема в категория, която наблюдавате",
"notificationType-new-reply": "Когато бъде публикуван нов отговор в тема, която наблюдавате",
"notificationType-post-edit": "Когато бъде редактирана публикация в тема, която наблюдавате",
"notificationType-new-reply": "Когато бъде публикуван нов отговор в тема, която следвате",
"notificationType-post-edit": "Когато бъде редактирана публикация в тема, която следите",
"notificationType-follow": "Когато някой започне да Ви следва",
"notificationType-new-chat": "Когато получите съобщение в разговор",
"notificationType-new-group-chat": "Когато получите съобщение в групов разговор",
@@ -96,6 +92,5 @@
"notificationType-new-register": "Когато някой бъде добавен в опашката за регистрация",
"notificationType-post-queue": "Когато бъде добавена нова публикация в опашката",
"notificationType-new-post-flag": "Когато публикация бъде докладвана",
"notificationType-new-user-flag": "Когато потребител бъде докладван",
"notificationType-new-reward": "Когато получите нова награда"
"notificationType-new-user-flag": "Когато потребител бъде докладван"
}

View File

@@ -47,12 +47,12 @@
"account/latest-posts": "Последни публикации от %1",
"account/topics": "Теми, създадени от %1",
"account/groups": "Групите на %1",
"account/watched-categories": "Наблюдаваните категории на %1",
"account/watched-tags": "Наблюдаваните етикети на %1",
"account/watched-categories": "Следените категории на %1",
"account/watched-tags": "Следените етикети на %1",
"account/bookmarks": "Отметнатите публикации на %1",
"account/settings": "Потребителски настройки",
"account/settings-of": "Променят се настройките на %1",
"account/watched": "Теми, наблюдавани от %1",
"account/watched": "Теми, следени от %1",
"account/ignored": "Теми, пренебрегвани от %1",
"account/upvoted": "Публикации, получили положителен глас от %1",
"account/downvoted": "Публикации, получили отрицателен глас от %1",

View File

@@ -3,10 +3,8 @@
"post-queue": "Опашка за публикации",
"no-queued-posts": "В опашката за публикации няма нищо.",
"no-single-post": "Темата или публикацията, която търсите, вече не се намира в опашката. Вероятно или е била одобрена, или изтрита.",
"enabling-help": "В момента опашката за публикации е <strong>изключена</strong>. За да включите тази функционалност, идете в <a href=\"%1\">Настройки &rarr; Публикации &rarr; Опашка за публикации</a> и включете <strong>Опашката за публикации</strong>.",
"enabling-help": "За да включите тази функционалност, идете в <a href=\"%1\">Настройки &rarr; Публикуване &rarr; Опашка за публикации</a> и включете <strong>Опашката за публикации</strong>.",
"back-to-list": "Назад към Опашката за публикации",
"public-intro": "Ако имате публикации, които чакат в опашката, те ще бъдат показани тук.",
"public-description": "Този форум е настроен автоматично да добавя публикациите от нови потребители, така че да чакат одобрението на модератор.<br />Ако имате публикации, които чакат в опашката за одобрение, ще можете да ги видите тук.",
"user": "Потребител",
"when": "Кога",
"category": "Категория",

View File

@@ -1,10 +0,0 @@
{
"awarded-x-reputation": "Получихте <strong>%1</strong> точки репутация",
"awarded-group-membership": "Бяхте добавен/а в групата <strong>%1</strong>",
"essentials/user.reputation-conditional-value": "<span class=\"text-xs\">(Репутация %1 %2)</span>",
"essentials/user.postcount-conditional-value": "<span class=\"text-xs\">(Брой публикации %1 %2)</span>",
"essentials/user.lastonline-conditional-value": "<span class=\"text-xs\">(Последно на линия %1 %2)</span>",
"essentials/user.joindate-conditional-value": "<span class=\"text-xs\">(Дата на присъединяване %1 %2)</span>",
"essentials/user.daysregistered-conditional-value": "<span class=\"text-xs\">(Брой дни с регистрация %1 %2)</span>"
}

View File

@@ -7,14 +7,13 @@
"in-titles": "В заглавията",
"in-titles-posts": "В заглавията и публикациите",
"in-posts": "В публикациите",
"in-bookmarks": "В отметките",
"in-categories": "В категориите",
"in-users": "В потребителите",
"in-tags": "В етикетите",
"categories": "Категории",
"all-categories": "Всички категории",
"categories-x": "Категории: %1",
"categories-watched-categories": "Категории: Наблюдавани категории",
"categories-watched-categories": "Категории: Следени категории",
"type-a-category": "Въведете категория",
"tags": "Етикети",
"tags-x": "Етикети: %1",

View File

@@ -6,7 +6,5 @@
"sign-in-with-google": "Вписване с Google",
"sign-up-with-google": "Регистриране с Google",
"log-in-with-facebook": "Вписване с Facebook",
"continue-with-facebook": "Продължаване с Facebook",
"sign-in-with-linkedin": "Вписване с LinkedIn",
"sign-up-with-linkedin": "Регистриране с LinkedIn"
"continue-with-facebook": "Продължаване с Facebook"
}

View File

@@ -3,13 +3,13 @@
"no-tag-topics": "Няма теми с този етикет.",
"no-tags-found": "Няма намерени етикети",
"tags": "Етикети",
"enter-tags-here": "Въведете етикети, с по %1 %2 знака.",
"enter-tags-here": "Тук въведете етикети, всеки между %1 и %2 знака.",
"enter-tags-here-short": "Въведете етикети...",
"no-tags": "Все още няма етикети.",
"select-tags": "Изберете етикети",
"tag-whitelist": "Списък от разрешени етикети",
"watching": "Наблюдавате",
"not-watching": "Не наблюдавате",
"watching": "Следите",
"not-watching": "Не следите",
"watching.description": "Искам да получавам известия за нови теми.",
"not-watching.description": "Не искам да получавам известия за нови теми.",
"following-tag.message": "Вече ще получавате известия, когато някой публикува тема с този етикет.",

View File

@@ -3,17 +3,14 @@
"skins": "Облици",
"collapse": "Свиване",
"expand": "Разгъване",
"sidebar-toggle": "Превключване на страничната лента",
"login-register-to-search": "Впишете се или се регистрирайте, за да можете да търсите.",
"settings.title": "Настройки на темата",
"settings.enableQuickReply": "Включване на бързите отговори",
"settings.enableBreadcrumbs": "Включване на пътечките на страниците",
"settings.centerHeaderElements": "Центриране на заглавните елементи",
"settings.mobileTopicTeasers": "Показване на резюмета на темите на мобилни устройства",
"settings.stickyToolbar": "Статична лента с инструменти",
"settings.stickyToolbar.help": "Лентата с инструменти в страниците с теми и категории ще стои винаги в горния край на страницата",
"settings.autohideBottombar": "Автоматично скриване на долната лента",
"settings.autohideBottombar.help": "В изгледа за мобилни устройства долната лента ще се скрива, когато страницата се превърта надолу",
"settings.openSidebars": "Отваряне на страничните ленти",
"settings.chatModals": "Включване на прозорците за разговори"
}

View File

@@ -15,7 +15,6 @@
"replies-to-this-post": "%1 отговора",
"one-reply-to-this-post": "1 отговор",
"last-reply-time": "Последен отговор",
"reply-options": "Настройки за отговора",
"reply-as-topic": "Отговор в нова тема",
"guest-login-reply": "Впишете се, за да отговорите",
"login-to-view": "🔒 Впишете се, за да видите това",
@@ -35,7 +34,6 @@
"pinned": "Закачена",
"pinned-with-expiry": "Закачена до %1",
"scheduled": "Насрочена",
"deleted": "Изтрита",
"moved": "Преместена",
"moved-from": "Преместена от %1",
"copy-code": "Копиране на кода",
@@ -82,13 +80,13 @@
"markAsUnreadForAll.success": "Темата е отбелязана като непрочетена за всички.",
"mark-unread": "Отбелязване като непрочетена",
"mark-unread.success": "Темата е отбелязана като непрочетена.",
"watch": "Наблюдаване",
"unwatch": "Спиране на наблюдаването",
"watch": "Следене",
"unwatch": "Спиране на следенето",
"watch.title": "Получавайте известия за новите отговори в тази тема",
"unwatch.title": "Спрете да наблюдавате тази тема",
"unwatch.title": "Спрете да следите тази тема",
"share-this-post": "Споделете тази публикация",
"watching": "Наблюдавате",
"not-watching": "Не наблюдавате",
"watching": "Следите",
"not-watching": "Не следите",
"ignoring": "Пренебрегвате",
"watching.description": "Искам да получавам известия за новите отговори.<br/>Искам темата да се показва в списъка с непрочетени.",
"not-watching.description": "Не искам да получавам известия за новите отговори.<br/>Темата да се показва в списъка с непрочетени, само ако категорията не се пренебрегва.",
@@ -182,8 +180,6 @@
"sort-by": "Подреждане по",
"oldest-to-newest": "Първо най-старите",
"newest-to-oldest": "Първо най-новите",
"recently-replied": "Първо тези с най-скорошни отговори",
"recently-created": "Първо най-скоро създадените",
"most-votes": "Първо тези с най-много гласове",
"most-posts": "Първо тези с най-много публикации",
"most-views": "Първо тези с най-много преглеждания",
@@ -208,13 +204,7 @@
"last-post": "Последна публикация",
"go-to-my-next-post": "Към следващата ми публикация",
"no-more-next-post": "Нямате повече публикации в тази тема",
"open-composer": "Отваряне на редактора",
"post-quick-reply": "Бърз отговор",
"navigator.index": "Публикация %1 от %2",
"navigator.unread": "%1 непрочетени",
"upvote-post": "Положително гласуване за публикацията",
"downvote-post": "Отрицателно гласуване за публикацията",
"post-tools": "Инструменти за публикациите",
"unread-posts-link": "Връзка към непрочетените публикации",
"thumb-image": "Иконка на темата"
"navigator.unread": "%1 непрочетени"
}

View File

@@ -3,14 +3,13 @@
"no-unread-topics": "Няма непрочетени теми.",
"load-more": "Зареждане на още",
"mark-as-read": "Отбелязване като прочетени",
"mark-as-unread": "Отбелязване като непрочетени",
"selected": "Избраните",
"all": "Всички",
"all-categories": "Всички категории",
"topics-marked-as-read.success": "Темите бяха отбелязани като прочетени!",
"all-topics": "Всички теми",
"new-topics": "Нови теми",
"watched-topics": "Наблюдавани теми",
"watched-topics": "Следени теми",
"unreplied-topics": "Теми без отговор",
"multiple-categories-selected": "Избрани са няколко"
}

View File

@@ -1,5 +1,4 @@
{
"user-menu": "Потребителско меню",
"banned": "Блокиран",
"muted": "Заглушен",
"offline": "Извън линия",
@@ -36,12 +35,12 @@
"profile-views": "Преглеждания на профила",
"reputation": "Репутация",
"bookmarks": "Отметки",
"watched-categories": "Наблюдавани категории",
"watched-tags": "Наблюдавани етикети",
"watched-categories": "Следени категории",
"watched-tags": "Следени етикети",
"change-all": "Промяна на всички",
"watched": "Наблюдавани",
"watched": "Следени",
"ignored": "Пренебрегвани",
"default-category-watch-state": "Състояние по подразбиране за наблюдаването на категории",
"default-category-watch-state": "Състояние по подразбиране за следенето на категории",
"followers": "Последователи",
"following": "Следва",
"blocks": "Блокира",
@@ -109,7 +108,7 @@
"has-no-posts": "Този потребител не е публикувал нищо досега.",
"has-no-best-posts": "Този потребител не е получавал положителни гласове за публикациите си досега.",
"has-no-topics": "Този потребител не е създавал теми досега.",
"has-no-watched-topics": "Този потребител не е наблюдавал нито една тема досега.",
"has-no-watched-topics": "Този потребител не е следил нито една тема досега.",
"has-no-ignored-topics": "Този потребител не е пренебрегнал нито една тема досега.",
"has-no-upvoted-posts": "Този потребител не е гласувал положително досега.",
"has-no-downvoted-posts": "Този потребител не е гласувал отрицателно досега.",
@@ -138,14 +137,10 @@
"topic-search-help": "Ако е включено, търсенето в темата ще замени стандартното поведение на браузъра при търсене в страницата и ще Ви позволи да претърсвате цялата тема, а не само това, което се вижда на екрана",
"update-url-with-post-index": "Обновяване на адресната лента с номера на публикацията по време на разглеждане на темите",
"scroll-to-my-post": "След публикуване на отговор, да се показва новата публикация",
"follow-topics-you-reply-to": "Наблюдаване на темите, в които отговаряте",
"follow-topics-you-create": "Наблюдаване на темите, които създавате",
"follow-topics-you-reply-to": "Следене на темите, в които отговаряте",
"follow-topics-you-create": "Следене на темите, които създавате",
"grouptitle": "Заглавие на групата",
"group-order-help": "Изберете група и използвайте стрелките, за да пренаредите заглавията",
"show-group-title": "Показване на заглавието на групата",
"hide-group-title": "Скриване на заглавието на групата",
"order-group-up": "Преместване на групата нагоре",
"order-group-down": "Преместване на групата надолу",
"no-group-title": "Няма заглавие на група",
"select-skin": "Изберете облик",
"default": "По подразбиране (%1)",

View File

@@ -94,8 +94,5 @@
"view-as-json": "View as JSON",
"expand-analytics": "Expand analytics",
"clear-search-history": "Clear Search History",
"clear-search-history-confirm": "Are you sure you want to clear entire search history?",
"search-term": "Term",
"search-count": "Count",
"view-all": "View all"
"clear-search-history-confirm": "Are you sure you want to clear entire search history?"
}

View File

@@ -29,7 +29,5 @@
"hide-from-groups": "Hide from groups",
"start-date": "Start date",
"end-date": "End date",
"hide-on-mobile": "Hide on mobile",
"hide-drafts": "Hide drafts",
"show-drafts": "Show drafts"
"hide-on-mobile": "Hide on mobile"
}

View File

@@ -8,7 +8,6 @@
"edit-privileges": "Edit Privileges",
"select-clear-all": "Select/Clear All",
"chat": "Chat",
"chat-with-privileged": "Chat with Privileged",
"upload-images": "Upload Images",
"upload-files": "Upload Files",
"signature": "Signature",

View File

@@ -8,6 +8,7 @@
"max-chat-room-name-length": "Maximum length of chat room names",
"max-room-size": "Maximum number of users in chat rooms",
"delay": "Time between chat messages (ms)",
"newbieDelay": "... for new users (ms)",
"notification-delay": "Notification delay for chat messages",
"notification-delay-help": "Additional messages sent between this time are collated, and the user is notified once per delay period. Set this to 0 to disable the delay.",
"restrictions.seconds-edit-after": "Number of seconds a chat message will remain editable.",

View File

@@ -4,15 +4,13 @@
"sorting.post-default": "Default Post Sorting",
"sorting.oldest-to-newest": "Oldest to Newest",
"sorting.newest-to-oldest": "Newest to Oldest",
"sorting.recently-replied": "Recently Replied",
"sorting.recently-created": "Recently Created",
"sorting.most-votes": "Most Votes",
"sorting.most-posts": "Most Posts",
"sorting.most-views": "Most Views",
"sorting.topic-default": "Default Topic Sorting",
"length": "Post Length",
"post-queue": "Post Queue",
"restrictions": "Posting Restrictions",
"restrictions-new": "New User Restrictions",
"restrictions.post-queue": "Enable post queue",
"restrictions.post-queue-rep-threshold": "Reputation required to bypass post queue",
"restrictions.groups-exempt-from-post-queue": "Select groups that should be exempt from the post queue",
@@ -20,6 +18,9 @@
"restrictions.post-queue-help": "Enabling post queue will put the posts of new users in a queue for approval",
"restrictions-new.post-queue-help": "Enabling new user restrictions will set restrictions on posts created by new users",
"restrictions.seconds-between": "Number of seconds between posts",
"restrictions.seconds-between-new": "Seconds between posts for new users",
"restrictions.rep-threshold": "Reputation threshold before these restrictions are lifted",
"restrictions.seconds-before-new": "Seconds before a new user can make their first post",
"restrictions.seconds-edit-after": "Number of seconds a post remains editable (set to 0 to disable)",
"restrictions.seconds-delete-after": "Number of seconds a post remains deletable (set to 0 to disable)",
"restrictions.replies-no-delete": "Number of replies after users are disallowed to delete their own topics (set to 0 to disable)",

View File

@@ -23,12 +23,7 @@
"flags.limit-per-target": "Maximum number of times something can be flagged",
"flags.limit-per-target-placeholder": "Default: 0",
"flags.limit-per-target-help": "When a post or user is flagged multiple times, each additional flag is considered a &quot;report&quot; and added to the original flag. Set this option to a number other than zero to limit the number of reports an item can receive.",
"flags.limit-post-flags-per-day": "Maximum number of times a user can flag posts in a day",
"flags.limit-post-flags-per-day-help": "Set to 0 to disable, (default: 10)",
"flags.limit-user-flags-per-day": "Maximum number of times a user can flag users in a day",
"flags.limit-user-flags-per-day-help": "Set to 0 to disable, (default: 10)",
"flags.auto-flag-on-downvote-threshold": "Number of downvotes to auto flag posts",
"flags.auto-flag-on-downvote-threshold-help": "Set to 0 to disable, (default: 0)",
"flags.auto-flag-on-downvote-threshold": "Number of downvotes to auto flag posts (Set to 0 to disable, default: 0)",
"flags.auto-resolve-on-ban": "Automatically resolve all of a user's tickets when they are banned",
"flags.action-on-resolve": "Do the following when a flag is resolved",
"flags.action-on-reject": "Do the following when a flag is rejected",

View File

@@ -79,14 +79,7 @@
"follow-replied-topics": "Follow topics that you reply to",
"default-notification-settings": "Default notification settings",
"categoryWatchState": "Default category watch state",
"categoryWatchState.tracking": "Tracking",
"categoryWatchState.watching": "Watching",
"categoryWatchState.notwatching": "Not Watching",
"categoryWatchState.ignoring": "Ignoring",
"restrictions-new": "New User Restrictions",
"restrictions.rep-threshold": "Reputation threshold before these restrictions are lifted",
"restrictions.seconds-between-new": "Seconds between posts for new users",
"restrictions.seconds-before-new": "Seconds before a new user can make their first post",
"restrictions.seconds-edit-after-new": "Number of seconds a post remains editable for new users (set to 0 to disable)",
"restrictions.milliseconds-between-messages": "Time between chat messages for new users (ms)",
"restrictions.groups-exempt-from-new-user-restrictions": "Select groups that should be exempt from the new user restrictions"
"categoryWatchState.ignoring": "Ignoring"
}

View File

@@ -1,8 +0,0 @@
{
"post-sort-option": "Post sort option, %1",
"topic-sort-option": "Topic sort option, %1",
"user-avatar-for": "User avatar for %1",
"user-watched-tags": "User watched tags",
"delete-upload-button": "Delete upload button",
"group-page-link-for": "Group page link for %1"
}

View File

@@ -10,15 +10,12 @@
"watch": "নজর রাখুন",
"ignore": "উপেক্ষা করুন",
"watching": "দৃশ্যমান",
"tracking": "Tracking",
"not-watching": "দেখা হচ্ছে না",
"ignoring": "উপেক্ষারত",
"watching.description": "Notify me of new topics.<br/>Show topics in unread & recent",
"tracking.description": "Shows topics in unread & recent",
"watching.description": "অপঠিত এবং সাম্প্রতিক বিষয়গুলো দেখাও",
"not-watching.description": "Do not show topics in unread, show in recent",
"ignoring.description": "Do not show topics in unread & recent",
"ignoring.description": "Do not show topics in unread and recent",
"watching.message": "You are now watching updates from this category and all subcategories",
"tracking.message": "You are now tracking updates from this category and all subcategories",
"notwatching.message": "You are not watching updates from this category and all subcategories",
"ignoring.message": "You are now ignoring updates from this category and all subcategories",
"watched-categories": "প্রেক্ষিত বিভাগসমূহ",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Folder exists",
"invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2",
"username-taken": "ইউজারনেম আগেই ব্যবহৃত",
"email-taken": "Email address is already taken.",
"email-taken": "ইমেইল আগেই ব্যবহৃত",
"email-nochange": "The email entered is the same as the email already on file.",
"email-invited": "Email was already invited",
"email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.",
@@ -91,7 +91,6 @@
"category-not-selected": "Category not selected.",
"too-many-posts": "You can only post once every %1 second(s) - 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",
"too-many-posts-newbie-minutes": "As a new user, you can only post once every %1 minute(s) until you have earned %2 reputation - please wait before posting again",
"already-posting": "You are already posting",
"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)",
@@ -184,8 +183,6 @@
"user-already-flagged": "You have already flagged this user",
"post-flagged-too-many-times": "This post has been flagged by others already",
"user-flagged-too-many-times": "This user has been flagged by others already",
"too-many-post-flags-per-day": "You can only flag %1 post(s) per day",
"too-many-user-flags-per-day": "You can only flag %1 user(s) per day",
"cant-flag-privileged": "You are not allowed to flag the profiles or content of privileged users (moderators/global moderators/admins)",
"cant-locate-flag-report": "Cannot locate flag report",
"self-vote": "You cannot vote on your own post",
@@ -221,7 +218,6 @@
"already-unblocked": "This user is already unblocked",
"no-connection": "There seems to be a problem with your internet connection",
"socket-reconnect-failed": "Unable to reach the server at this time. Click here to try again, or try again later",
"invalid-plugin-id": "Invalid plugin ID",
"plugin-not-whitelisted": "Unable to install plugin &ndash; only plugins whitelisted by the NodeBB Package Manager can be installed via the ACP",
"plugins-set-in-configuration": "You are not allowed to change plugin state as they are defined at runtime (config.json, environmental variables or terminal arguments), please modify the configuration instead.",
"theme-not-set-in-configuration": "When defining active plugins in configuration, changing themes requires adding the new theme to the list of active plugins before updating it in the ACP",

View File

@@ -24,15 +24,8 @@
"cancel": "Cancel",
"close": "বন্ধ",
"pagination": "পাতা নং",
"pagination.previouspage": "Previous Page",
"pagination.nextpage": "Next Page",
"pagination.firstpage": "First Page",
"pagination.lastpage": "Last Page",
"pagination.out-of": "%2 এর মাঝে %1",
"pagination.enter-index": "Go to post index",
"pagination.go-to-page": "Go to page",
"pagination.page-x": "Page %1",
"header.brand-logo": "Brand Logo",
"header.admin": "অ্যাডমিন",
"header.categories": "বিভাগ",
"header.recent": "সাম্প্রতিক",
@@ -54,6 +47,8 @@
"chats.loading": "কথোপকথনগুলি লোড হচ্ছে",
"drafts.loading": "Loading Drafts",
"motd.welcome": "ভবিষ্যতের আলোচনার প্লাটফর্ম, NodeBB তে স্বাগতম।",
"previouspage": "আগের পাতা",
"nextpage": "পরের পাতা",
"alert.success": "সফল",
"alert.error": "ত্রুটি",
"alert.warning": "Warning",
@@ -140,12 +135,9 @@
"edited": "Edited",
"disabled": "Disabled",
"select": "Select",
"selected": "Selected",
"copied": "Copied",
"user-search-prompt": "Type something here to find users...",
"hidden": "Hidden",
"sort": "Sort",
"actions": "Actions",
"rss-feed": "RSS Feed",
"skip-to-content": "Skip to content"
"actions": "Actions"
}

View File

@@ -68,8 +68,6 @@
"chat.in-room": "In this room",
"chat.kick": "Kick",
"chat.show-ip": "Show IP",
"chat.copy-text": "Copy Text",
"chat.copy-link": "Copy Link",
"chat.owner": "Room Owner",
"chat.grant-rescind-ownership": "Grant/Rescind Ownership",
"chat.system.user-join": "%1 has joined the room <span class=\"timeago\" title=\"%2\"></span>",

View File

@@ -13,14 +13,12 @@
"all": "All",
"topics": "Topics",
"tags": "Tags",
"categories": "Categories",
"replies": "Replies",
"chat": "Chats",
"group-chat": "Group Chats",
"public-chat": "Public Chats",
"follows": "Follows",
"upvote": "Upvotes",
"awards": "Awards",
"new-flags": "New Flags",
"my-flags": "Flags assigned to me",
"bans": "Bans",
@@ -56,7 +54,6 @@
"user-posted-topic-with-tag-dual": "<strong>%1</strong> has posted a new topic with tags <strong>%2</strong> and <strong>%3</strong>",
"user-posted-topic-with-tag-triple": "<strong>%1</strong> has posted a new topic with tags <strong>%2</strong>, <strong>%3</strong> and <strong>%4</strong>",
"user-posted-topic-with-tag-multiple": "<strong>%1</strong> has posted a new topic with tags <strong>%2</strong>",
"user-posted-topic-in-category": "<strong>%1</strong> has posted a new topic in <strong>%2</strong>",
"user-started-following-you": "<strong>%1</strong> আপনাকে অনুসরন করা শুরু করেছেন।",
"user-started-following-you-dual": "<strong>%1</strong> and <strong>%2</strong> started following you.",
"user-started-following-you-triple": "<strong>%1</strong>, <strong>%2</strong> and <strong>%3</strong> started following you.",
@@ -83,7 +80,6 @@
"notificationType-upvote": "When someone upvotes your post",
"notificationType-new-topic": "When someone you follow posts a topic",
"notificationType-new-topic-with-tag": "When a topic is posted with a tag you follow",
"notificationType-new-topic-in-category": "When a topic is posted in a category you are watching",
"notificationType-new-reply": "When a new reply is posted in a topic you are watching",
"notificationType-post-edit": "When a post is edited in a topic you are watching",
"notificationType-follow": "When someone starts following you",
@@ -96,6 +92,5 @@
"notificationType-new-register": "When someone gets added to registration queue",
"notificationType-post-queue": "When a new post is queued",
"notificationType-new-post-flag": "When a post is flagged",
"notificationType-new-user-flag": "When a user is flagged",
"notificationType-new-reward": "When you earn a new reward"
"notificationType-new-user-flag": "When a user is flagged"
}

View File

@@ -3,10 +3,8 @@
"post-queue": "Post Queue",
"no-queued-posts": "There are no posts in the post queue.",
"no-single-post": "The topic or post you are looking for is no longer in the queue. It has likely been approved or deleted already.",
"enabling-help": "The post queue is currently <strong>disabled</strong>. To enable this feature, go to <a href=\"%1\">Settings &rarr; Post &rarr; Post Queue</a> and enable <strong>Post Queue</strong>.",
"enabling-help": "To enable this feature, go to <a href=\"%1\">Settings &rarr; Post &rarr; Post Queue</a> and enable <strong>Post Queue</strong>.",
"back-to-list": "Back to Post Queue",
"public-intro": "If you have any queued posts, they will be shown here.",
"public-description": "This forum is configured to automatically queue posts from new accounts, pending moderator approval.<br />If you have queued posts awaiting approval, you will be able to see them here.",
"user": "User",
"when": "When",
"category": "Category",

View File

@@ -1,10 +0,0 @@
{
"awarded-x-reputation": "You have been awarded <strong>%1</strong> reputation",
"awarded-group-membership": "You have been added to the group <strong>%1</strong>",
"essentials/user.reputation-conditional-value": "<span class=\"text-xs\">(Reputation %1 %2)</span>",
"essentials/user.postcount-conditional-value": "<span class=\"text-xs\">(Post Count %1 %2)</span>",
"essentials/user.lastonline-conditional-value": "<span class=\"text-xs\">(Last Online %1 %2)</span>",
"essentials/user.joindate-conditional-value": "<span class=\"text-xs\">(Join Date %1 %2)</span>",
"essentials/user.daysregistered-conditional-value": "<span class=\"text-xs\">(Days Registered %1 %2)</span>"
}

View File

@@ -7,7 +7,6 @@
"in-titles": "In titles",
"in-titles-posts": "In titles and posts",
"in-posts": "In posts",
"in-bookmarks": "In bookmarks",
"in-categories": "In categories",
"in-users": "In users",
"in-tags": "In tags",

View File

@@ -6,7 +6,5 @@
"sign-in-with-google": "Sign in with Google",
"sign-up-with-google": "Sign up with Google",
"log-in-with-facebook": "Log in with Facebook",
"continue-with-facebook": "Continue with Facebook",
"sign-in-with-linkedin": "Sign in with LinkedIn",
"sign-up-with-linkedin": "Sign up with LinkedIn"
"continue-with-facebook": "Continue with Facebook"
}

View File

@@ -3,7 +3,7 @@
"no-tag-topics": "এই ট্যাগ সম্বলিত কোন টপিক নেই",
"no-tags-found": "No tags found",
"tags": "ট্যাগসমূহ",
"enter-tags-here": "Enter tags, %1 - %2 characters.",
"enter-tags-here": "Enter tags here, between %1 and %2 characters each.",
"enter-tags-here-short": "ট্যাগ বসান",
"no-tags": "এখন পর্যন্ত কোন ট্যাগ নেই",
"select-tags": "Select Tags",

View File

@@ -3,17 +3,14 @@
"skins": "Skins",
"collapse": "Collapse",
"expand": "Expand",
"sidebar-toggle": "Sidebar Toggle",
"login-register-to-search": "Login or register to search.",
"settings.title": "Theme settings",
"settings.enableQuickReply": "Enable quick reply",
"settings.enableBreadcrumbs": "Enable breadcrumbs",
"settings.centerHeaderElements": "Center header elements",
"settings.mobileTopicTeasers": "Show topic teasers on mobile",
"settings.stickyToolbar": "Sticky toolbar",
"settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page",
"settings.autohideBottombar": "Auto hide bottom bar",
"settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down",
"settings.openSidebars": "Open sidebars",
"settings.chatModals": "Enable chat modals"
}

View File

@@ -15,7 +15,6 @@
"replies-to-this-post": "%1 Replies",
"one-reply-to-this-post": "1 Reply",
"last-reply-time": "Last reply",
"reply-options": "Reply options",
"reply-as-topic": "Reply as topic",
"guest-login-reply": "Log in to reply",
"login-to-view": "🔒 Log in to view",
@@ -35,7 +34,6 @@
"pinned": "Pinned",
"pinned-with-expiry": "Pinned until %1",
"scheduled": "Scheduled",
"deleted": "Deleted",
"moved": "Moved",
"moved-from": "Moved from %1",
"copy-code": "Copy Code",
@@ -182,8 +180,6 @@
"sort-by": "সাজানোর ভিত্তি:",
"oldest-to-newest": "পুরাতন থেকে নতুন",
"newest-to-oldest": "নতুন থেকে পুরাতন",
"recently-replied": "Recently Replied",
"recently-created": "Recently Created",
"most-votes": "Most Votes",
"most-posts": "Most Posts",
"most-views": "Most Views",
@@ -208,13 +204,7 @@
"last-post": "Last post",
"go-to-my-next-post": "Go to my next post",
"no-more-next-post": "You don't have more posts in this topic",
"open-composer": "Open composer",
"post-quick-reply": "Quick reply",
"navigator.index": "Post %1 of %2",
"navigator.unread": "%1 unread",
"upvote-post": "Upvote post",
"downvote-post": "Downvote post",
"post-tools": "Post tools",
"unread-posts-link": "Unread posts link",
"thumb-image": "Topic thumbnail image"
"navigator.unread": "%1 unread"
}

View File

@@ -3,7 +3,6 @@
"no-unread-topics": "কোন অপঠিত টপিক নেই",
"load-more": "আরো লোড করুন",
"mark-as-read": "পঠিত হিসেবে চিহ্নিত করুন",
"mark-as-unread": "Mark as Unread",
"selected": "নির্বাচিত",
"all": "সবগুলো",
"all-categories": "All categories",

View File

@@ -1,5 +1,4 @@
{
"user-menu": "User menu",
"banned": "নিষিদ্ধ",
"muted": "Muted",
"offline": "অফলাইন",
@@ -142,10 +141,6 @@
"follow-topics-you-create": "Watch topics you create",
"grouptitle": "Group Title",
"group-order-help": "Select a group and use the arrows to order titles",
"show-group-title": "Show group title",
"hide-group-title": "Hide group title",
"order-group-up": "Order group up",
"order-group-down": "Order group down",
"no-group-title": "No group title",
"select-skin": "Select a Skin",
"default": "Default (%1)",

View File

@@ -17,7 +17,7 @@
"mongo.file-size": "Velikost souboru",
"mongo.resident-memory": "Residentní paměť",
"mongo.virtual-memory": "Virtuální paměť",
"mongo.mapped-memory": "Namapovaná paměť",
"mongo.mapped-memory": "Mapped Memory",
"mongo.bytes-in": "Bajtů ->",
"mongo.bytes-out": "Bajtů <-",
"mongo.num-requests": "Počet požadavků",

View File

@@ -94,8 +94,5 @@
"view-as-json": "View as JSON",
"expand-analytics": "Expand analytics",
"clear-search-history": "Clear Search History",
"clear-search-history-confirm": "Are you sure you want to clear entire search history?",
"search-term": "Term",
"search-count": "Count",
"view-all": "View all"
"clear-search-history-confirm": "Are you sure you want to clear entire search history?"
}

View File

@@ -5,7 +5,7 @@
"none-installed": "Nebyly nalezeny žádné miniaplikace! Aktivujte zásuvný modul miniaplikace v ovládacím panelu <a href=\"%1\">zásuvné moduly</a>.",
"clone-from": "Klonovat miniaplikaci z",
"containers.available": "Dostupné moduly",
"containers.explanation": "Přetáhněte a pusťte na libovolnou miniaplikaci",
"containers.explanation": "Drag and drop on top of any widget",
"containers.none": "Nic",
"container.well": "Well",
"container.jumbotron": "Jumbotron",
@@ -29,7 +29,5 @@
"hide-from-groups": "Skrýt ve skupinách",
"start-date": "Start date",
"end-date": "End date",
"hide-on-mobile": "Skrýt na mobilu",
"hide-drafts": "Hide drafts",
"show-drafts": "Show drafts"
"hide-on-mobile": "Skrýt na mobilu"
}

View File

@@ -6,9 +6,8 @@
"group-privileges": "Oprávnění skupiny",
"user-privileges": "Oprávnění uživatele",
"edit-privileges": "Upravit oprávnění",
"select-clear-all": "Vybrat/vymazat vše",
"select-clear-all": "Select/Clear All",
"chat": "Konverzace",
"chat-with-privileged": "Konverzace s privilegovanými",
"upload-images": "Nahrát obrázky",
"upload-files": "Náhrát soubory",
"signature": "Podpis",
@@ -49,7 +48,7 @@
"admin-tags": "Tags",
"admin-settings": "Nastavení",
"alert.confirm-moderate": "<strong>Jste si jisti, že chcete této skupině uživatelů udělit oprávnění k moderování?</strong> Tato skupina je veřejná a každý uživatel se do ní může libovolně připojit.",
"alert.confirm-moderate": "<strong>Are you sure you wish to grant the moderation privilege to this user group?</strong> This group is public, and any users can join at will.",
"alert.confirm-admins-mods": "<strong>Are you sure you wish to grant the &quot;Admins &amp; Mods&quot; privilege to this user/group?</strong> Users with this privilege are able to promote and demote other users into privileged positions, <em>including super administrator</em>",
"alert.confirm-save": "Please confirm your intention to save these privileges",
"alert.confirm-discard": "Are you sure you wish to discard your privilege changes?",

View File

@@ -8,6 +8,7 @@
"max-chat-room-name-length": "Maximum length of chat room names",
"max-room-size": "Maximální počet uživatelů v konverzační místnosti",
"delay": "Time between chat messages (ms)",
"newbieDelay": "... for new users (ms)",
"notification-delay": "Notification delay for chat messages",
"notification-delay-help": "Additional messages sent between this time are collated, and the user is notified once per delay period. Set this to 0 to disable the delay.",
"restrictions.seconds-edit-after": "Number of seconds a chat message will remain editable.",

View File

@@ -4,15 +4,13 @@
"sorting.post-default": "Výchozí třídění příspěvků",
"sorting.oldest-to-newest": "Od nejstarších po nejnovější",
"sorting.newest-to-oldest": "Od nejnovějších po nejstarší",
"sorting.recently-replied": "Recently Replied",
"sorting.recently-created": "Recently Created",
"sorting.most-votes": "Dle počtu hlasů",
"sorting.most-posts": "Dle počtu příspěvků",
"sorting.most-views": "Most Views",
"sorting.topic-default": "Výchozí třídění tématu",
"length": "Délka příspěvku",
"post-queue": "Příspěvky ve frontě",
"restrictions": "Omezení příspěvků",
"restrictions-new": "Omezení nového uživatele",
"restrictions.post-queue": "Povolit frontu pro příspěvky",
"restrictions.post-queue-rep-threshold": "Vyžadovaná reputace pro přeskočení fronty příspěvků",
"restrictions.groups-exempt-from-post-queue": "Vyberte skupinu, která by měla být vyloučena z fronty příspěvků",
@@ -20,6 +18,9 @@
"restrictions.post-queue-help": "Povolení fronty příspěvků bude mít za následek vložení příspěvků nových uživatelů do fronty pro schválení.",
"restrictions-new.post-queue-help": "Povolení omezení nových uživatelů bude mít za následek omezení příspěvků vytvořených novými uživateli",
"restrictions.seconds-between": "Počet sekund mezi novými příspěvky",
"restrictions.seconds-between-new": "Sekund mezi příspěvky pro nové uživatele",
"restrictions.rep-threshold": "Ohraničení reputace než začnou platit tato omezení",
"restrictions.seconds-before-new": "Počet sekund, než může nový uživatel vytvořit první příspěvek",
"restrictions.seconds-edit-after": "Počet sekund, kdy příspěvek může být ještě upraven (pro zakázání - 0)",
"restrictions.seconds-delete-after": "Počet sekund, kdy příspěvek může být ještě odstraněn (pro zakázání - 0)",
"restrictions.replies-no-delete": "Počet odpovědí, kdy je již uživateli zakázáno odstranit založená témata (pro zakázání - 0)",

View File

@@ -23,12 +23,7 @@
"flags.limit-per-target": "Maximum number of times something can be flagged",
"flags.limit-per-target-placeholder": "Default: 0",
"flags.limit-per-target-help": "When a post or user is flagged multiple times, each additional flag is considered a &quot;report&quot; and added to the original flag. Set this option to a number other than zero to limit the number of reports an item can receive.",
"flags.limit-post-flags-per-day": "Maximum number of times a user can flag posts in a day",
"flags.limit-post-flags-per-day-help": "Set to 0 to disable, (default: 10)",
"flags.limit-user-flags-per-day": "Maximum number of times a user can flag users in a day",
"flags.limit-user-flags-per-day-help": "Set to 0 to disable, (default: 10)",
"flags.auto-flag-on-downvote-threshold": "Number of downvotes to auto flag posts",
"flags.auto-flag-on-downvote-threshold-help": "Set to 0 to disable, (default: 0)",
"flags.auto-flag-on-downvote-threshold": "Number of downvotes to auto flag posts (Set to 0 to disable, default: 0)",
"flags.auto-resolve-on-ban": "Automatically resolve all of a user's tickets when they are banned",
"flags.action-on-resolve": "Do the following when a flag is resolved",
"flags.action-on-reject": "Do the following when a flag is rejected",

View File

@@ -79,14 +79,7 @@
"follow-replied-topics": "Sledovat témata, na které jste odpověděl",
"default-notification-settings": "Nastavení výchozího oznámení",
"categoryWatchState": "Stav sledování výchozí kategorie",
"categoryWatchState.tracking": "Tracking",
"categoryWatchState.watching": "Sledování",
"categoryWatchState.notwatching": "Nesleduji",
"categoryWatchState.ignoring": "Ignorace",
"restrictions-new": "New User Restrictions",
"restrictions.rep-threshold": "Reputation threshold before these restrictions are lifted",
"restrictions.seconds-between-new": "Seconds between posts for new users",
"restrictions.seconds-before-new": "Seconds before a new user can make their first post",
"restrictions.seconds-edit-after-new": "Number of seconds a post remains editable for new users (set to 0 to disable)",
"restrictions.milliseconds-between-messages": "Time between chat messages for new users (ms)",
"restrictions.groups-exempt-from-new-user-restrictions": "Select groups that should be exempt from the new user restrictions"
"categoryWatchState.ignoring": "Ignorace"
}

View File

@@ -1,8 +0,0 @@
{
"post-sort-option": "Post sort option, %1",
"topic-sort-option": "Topic sort option, %1",
"user-avatar-for": "User avatar for %1",
"user-watched-tags": "User watched tags",
"delete-upload-button": "Delete upload button",
"group-page-link-for": "Group page link for %1"
}

View File

@@ -10,15 +10,12 @@
"watch": "Sledovat",
"ignore": "Ignorovat",
"watching": "Sledováno",
"tracking": "Tracking",
"not-watching": "Nesledováno",
"ignoring": "Ignorováno",
"watching.description": "Notify me of new topics.<br/>Show topics in unread & recent",
"tracking.description": "Shows topics in unread & recent",
"watching.description": "Zobrazit témata v nepřečtených a posledních",
"not-watching.description": "Nezobrazovat témata v nepřečtených, zobrazit poslední",
"ignoring.description": "Do not show topics in unread & recent",
"ignoring.description": "Nezobrazovat témata v nepřečtených a posledních",
"watching.message": "Nyní sledujete aktualizace pro tuto kategorii a všech podkategorii",
"tracking.message": "You are now tracking updates from this category and all subcategories",
"notwatching.message": "Nyní nesledujete aktualizace z této kategorie a všech podkategorií",
"ignoring.message": "Nyní ignorujete aktualizace této kategorie a všech jejich kategorii",
"watched-categories": "Sledované kategorie",

View File

@@ -32,7 +32,7 @@
"folder-exists": "Folder exists",
"invalid-pagination-value": "Neplatná hodnota stránkování, musí být alespoň %1 a nejvýše %2",
"username-taken": "Uživatelské jméno je již použito",
"email-taken": "Email address is already taken.",
"email-taken": "Tento e-mail je již použit",
"email-nochange": "The email entered is the same as the email already on file.",
"email-invited": "Email was already invited",
"email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.",
@@ -91,7 +91,6 @@
"category-not-selected": "Nebyla vybrána kategorie.",
"too-many-posts": "Můžete přispívat jednou za %1 sekund - vyčkejte tedy, než vytvoříte další příspěvek",
"too-many-posts-newbie": "Jako nový uživatel, můžete přispívat jednou za %1 sekund, dokud nezískáte pověst %2 - vyčkejte tedy, než vytvoříte další příspěvek",
"too-many-posts-newbie-minutes": "As a new user, you can only post once every %1 minute(s) until you have earned %2 reputation - please wait before posting again",
"already-posting": "You are already posting",
"tag-too-short": "Zadejte delší značku. Značky by měli mít alespoň %1 znaků",
"tag-too-long": "Zadejte kratší značku. Značky nesmí být delší než %1 znaků",
@@ -184,8 +183,6 @@
"user-already-flagged": "You have already flagged this user",
"post-flagged-too-many-times": "This post has been flagged by others already",
"user-flagged-too-many-times": "This user has been flagged by others already",
"too-many-post-flags-per-day": "You can only flag %1 post(s) per day",
"too-many-user-flags-per-day": "You can only flag %1 user(s) per day",
"cant-flag-privileged": "You are not allowed to flag the profiles or content of privileged users (moderators/global moderators/admins)",
"cant-locate-flag-report": "Cannot locate flag report",
"self-vote": "U svého vlastního příspěvku nemůžete hlasovat",
@@ -221,7 +218,6 @@
"already-unblocked": "Tento uživatel již byl odblokován",
"no-connection": "Zdá se, že nastal problém s připojením k internetu",
"socket-reconnect-failed": "Unable to reach the server at this time. Click here to try again, or try again later",
"invalid-plugin-id": "Invalid plugin ID",
"plugin-not-whitelisted": "Unable to install plugin &ndash; only plugins whitelisted by the NodeBB Package Manager can be installed via the ACP",
"plugins-set-in-configuration": "You are not allowed to change plugin state as they are defined at runtime (config.json, environmental variables or terminal arguments), please modify the configuration instead.",
"theme-not-set-in-configuration": "When defining active plugins in configuration, changing themes requires adding the new theme to the list of active plugins before updating it in the ACP",

View File

@@ -24,15 +24,8 @@
"cancel": "Cancel",
"close": "Zrušit",
"pagination": "Stránkování",
"pagination.previouspage": "Previous Page",
"pagination.nextpage": "Next Page",
"pagination.firstpage": "First Page",
"pagination.lastpage": "Last Page",
"pagination.out-of": "%1 z %2",
"pagination.enter-index": "Přejít na n-tý příspěvek",
"pagination.go-to-page": "Go to page",
"pagination.page-x": "Page %1",
"header.brand-logo": "Brand Logo",
"header.admin": "Administrace",
"header.categories": "Kategorie",
"header.recent": "Nejnovější",
@@ -54,6 +47,8 @@
"chats.loading": "Načítání chatů",
"drafts.loading": "Loading Drafts",
"motd.welcome": "Vítejte na NodeBB, diskusní platforma buducnosti.",
"previouspage": "Předchozí stránka",
"nextpage": "Další stránka",
"alert.success": "Úspěšné",
"alert.error": "Chyba",
"alert.warning": "Warning",
@@ -140,12 +135,9 @@
"edited": "Upraveno",
"disabled": "Nepovoleno",
"select": "Vyberte",
"selected": "Selected",
"copied": "Copied",
"user-search-prompt": "Pro hledání uživatelů, zde pište...",
"hidden": "Hidden",
"sort": "Sort",
"actions": "Actions",
"rss-feed": "RSS Feed",
"skip-to-content": "Skip to content"
"actions": "Actions"
}

View File

@@ -68,8 +68,6 @@
"chat.in-room": "V této místnosti",
"chat.kick": "Vykopnout",
"chat.show-ip": "Zobrazit IP",
"chat.copy-text": "Copy Text",
"chat.copy-link": "Copy Link",
"chat.owner": "Majitel místnosti",
"chat.grant-rescind-ownership": "Grant/Rescind Ownership",
"chat.system.user-join": "%1 has joined the room <span class=\"timeago\" title=\"%2\"></span>",

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