Compare commits

..

7 Commits

Author SHA1 Message Date
Barış Soner Uşaklı
afd96a00b1 chore: up themes 2024-11-07 10:42:33 -05:00
Barış Soner Uşaklı
b40e530434 feat: add min:rep to custom fields
add validation in profile.update
2024-11-06 19:16:44 -05:00
Barış Soner Uşaklı
4b5cb613e5 test: add openapi spec, move menu button 2024-11-06 12:03:22 -05:00
Barış Soner Uşaklı
0c551fa240 Merge branch 'develop' into custom-user-fields 2024-11-06 11:48:05 -05:00
Barış Soner Uşaklı
13f39053c9 refactor: dont need delete function 2024-07-31 00:23:39 -04:00
Barış Soner Uşaklı
f33c8849d8 feat: show custom fields on edit/profile 2024-07-30 21:30:00 -04:00
Barış Soner Uşaklı
5e1d8769d4 feat: add custom user fields acp page 2024-07-30 17:08:25 -04:00
2431 changed files with 15093 additions and 49341 deletions

21
.eslintignore Normal file
View File

@@ -0,0 +1,21 @@
node_modules/
*.sublime-project
*.sublime-workspace
.project
.vagrant
.DS_Store
logs/
/public/templates
/public/uploads
/public/vendor
/public/src/modules/string.js
.idea/
.vscode/
*.ipr
*.iws
/coverage
/build
.eslintrc
test/files
*.min.js
install/docker/

3
.eslintrc Normal file
View File

@@ -0,0 +1,3 @@
{
"extends": "nodebb"
}

View File

@@ -16,91 +16,15 @@ permissions:
packages: write
jobs:
build:
strategy:
matrix:
include:
- os: ubuntu-latest
platforms: linux/amd64
required: true
- os: ubuntu-24.04-arm
platforms: linux/arm64
required: true
- os: ubuntu-24.04-arm
platforms: linux/arm/v7
required: false
continue-on-error: ${{ !matrix.required }}
runs-on: ${{ matrix.os }}
steps:
- name: Prepare
run: |
platform=${{ matrix.platforms }}
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV
echo "IMAGE=ghcr.io/${GITHUB_REPOSITORY@L}" >> $GITHUB_ENV
- uses: actions/checkout@v5
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.IMAGE }}
- name: Cache node_modules
id: cache-node-modules
uses: actions/cache@v4
with:
path: var-cache-node-modules
key: var-cache-node-modules-${{ hashFiles('Dockerfile', 'install/package.json') }}
- name: Build and push Docker images
id: build
uses: docker/build-push-action@v6
with:
cache-from: type=gha
cache-to: type=gha,mode=min
context: .
file: ./Dockerfile
platforms: ${{ matrix.platforms }}
labels: ${{ steps.meta.outputs.labels }}
tags: ${{ env.IMAGE }}
outputs: type=image,push-by-digest=true,name-canonical=true,push=true
- name: Export digest
run: |
mkdir -p ${{ runner.temp }}/digests
digest="${{ steps.build.outputs.digest }}"
touch "${{ runner.temp }}/digests/${digest#sha256:}"
- name: Upload digest
uses: actions/upload-artifact@v4
with:
name: digests-${{ env.PLATFORM_PAIR }}
path: ${{ runner.temp }}/digests/*
if-no-files-found: error
retention-days: 1
merge:
release:
runs-on: ubuntu-latest
needs:
- build
steps:
- name: Prepare
run: |
echo "IMAGE=ghcr.io/${GITHUB_REPOSITORY@L}" >> $GITHUB_ENV
echo "CURRENT_DATE_NST=$(date +'%Y%m%d-%H%M%S' -d '-3 hours -30 minutes')" >> $GITHUB_ENV
- name: Download digests
uses: actions/download-artifact@v5
with:
path: ${{ runner.temp }}/digests
pattern: digests-*
merge-multiple: true
- uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
@@ -110,11 +34,15 @@ jobs:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Get current date in NST
run: echo "CURRENT_DATE_NST=$(date +'%Y%m%d-%H%M%S' -d '-3 hours -30 minutes')" >> $GITHUB_ENV
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.IMAGE }}
images: ghcr.io/${{ github.repository }}
tags: |
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
@@ -124,11 +52,21 @@ jobs:
type=raw,value=${{ env.CURRENT_DATE_NST }}
flavor: |
latest=true
- name: Create manifest list and push
working-directory: ${{ runner.temp }}/digests
run: |
docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \
$(printf '${{ env.IMAGE }}@sha256:%s ' *)
- name: Inspect image
run: |
docker buildx imagetools inspect ${{ env.IMAGE }}:${{ steps.meta.outputs.version }}
- name: Cache node_modules
id: cache-node-modules
uses: actions/cache@v4
with:
path: var-cache-node-modules
key: var-cache-node-modules-${{ hashFiles('Dockerfile', 'install/package.json') }}
- name: Build and push Docker images
uses: docker/build-push-action@v6
with:
cache-from: type=gha
cache-to: type=gha,mode=min
context: .
file: ./Dockerfile
platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true
tags: ${{ steps.meta.outputs.tags }}

View File

@@ -27,19 +27,19 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest]
node: [20, 22]
node: [18, 20]
database: [mongo-dev, mongo, redis, postgres]
include:
# only run coverage once
- os: ubuntu-latest
node: 22
node: 18
coverage: true
# test under development once
- database: mongo-dev
test_env: development
# only run eslint once
- os: ubuntu-latest
node: 22
node: 18
database: mongo-dev
lint: true
runs-on: ${{ matrix.os }}
@@ -63,7 +63,7 @@ jobs:
- 5432:5432
redis:
image: 'redis:8.2.1'
image: 'redis:7.4.1'
# Set health checks to wait until redis has started
options: >-
--health-cmd "redis-cli ping"
@@ -81,12 +81,12 @@ jobs:
- 27017:27017
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v4
- run: cp install/package.json package.json
- name: Install Node
uses: actions/setup-node@v5
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
@@ -192,7 +192,7 @@ jobs:
run: npm run coverage
- name: Test coverage
uses: coverallsapp/github-action@648a8eb78e6d50909eff900e4ec85cab4524a45b # v2.3.6
uses: coverallsapp/github-action@cfd0633edbd2411b532b808ba7a8b5e04f76d2c8 # v2.3.4
if: matrix.coverage
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
@@ -206,7 +206,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Coveralls Finished
uses: coverallsapp/github-action@648a8eb78e6d50909eff900e4ec85cab4524a45b # v2.3.6
uses: coverallsapp/github-action@cfd0633edbd2411b532b808ba7a8b5e04f76d2c8 # v2.3.4
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
parallel-finished: true

5796
.tx/config

File diff suppressed because it is too large Load Diff

View File

@@ -1,22 +0,0 @@
'use strict';
const { readFile, writeFile } = require('fs').promises;
(async () => {
const contents = await readFile('./config', { encoding: 'utf-8' });
const blocks = contents
.split('\n\n')
.map((block) => {
block = block.split('\n').sort((a, b) => {
if (!a.startsWith('trans') || !b.startsWith('trans')) {
return 0;
}
return a.localeCompare(b);
})
return block.join('\n');
});
await writeFile('./config', blocks.join('\n\n'), { encoding: 'utf-8' });
})();

File diff suppressed because it is too large Load Diff

View File

@@ -31,8 +31,7 @@ RUN groupadd --gid ${GID} ${USER} \
USER ${USER}
RUN npm install --omit=dev \
&& rm -rf .npm
RUN npm install --omit=dev
# TODO: generate lockfiles for each package manager
## pnpm import \

View File

@@ -173,10 +173,7 @@ module.exports = function (grunt) {
winston.error(err.stack);
}
if (worker) {
worker.send({
compiling: compiling,
livereload: true, // Send livereload event via Socket.IO for instant browser refresh
});
worker.send({ compiling: compiling });
}
});
});

View File

@@ -39,8 +39,8 @@ Our minimalist "Harmony" theme gets you going right away, no coding experience r
NodeBB requires the following software to be installed:
* A version of Node.js at least 20 or greater ([installation/upgrade instructions](https://github.com/nodesource/distributions))
* MongoDB, version 5 or greater **or** Redis, version 7.2 or greater
* A version of Node.js at least 16 or greater ([installation/upgrade instructions](https://github.com/nodesource/distributions))
* MongoDB, version 3.6 or greater **or** Redis, version 2.8.9 or greater
* If you are using [clustering](https://docs.nodebb.org/configuring/scaling/) you need Redis installed and configured.
* nginx, version 1.3.13 or greater (**only if** intending to use nginx to proxy requests to a NodeBB)

View File

@@ -38,9 +38,8 @@ COPY --from=git --chown=${USER}:${USER} /usr/src/app/install/package.json /usr/s
USER ${USER}
RUN npm install \
&& rm -rf .npm
RUN npm install
FROM node:lts-slim AS final
ENV NODE_ENV=development \
@@ -58,8 +57,8 @@ RUN corepack enable \
&& mkdir -p /usr/src/app/logs/ /opt/config/ \
&& chown -R ${USER}:${USER} /usr/src/app/ /opt/config/
COPY --from=git --chown=${USER}:${USER} /usr/src/app/ /usr/src/app/install/docker/setup.json /usr/src/app/
COPY --from=git --chown=${USER}:${USER} /usr/bin/tini /usr/src/app/install/docker/entrypoint.sh /usr/local/bin/
COPY --from=build --chown=${USER}:${USER} /usr/src/app/ /usr/src/app/install/docker/setup.json /usr/src/app/
COPY --from=build --chown=${USER}:${USER} /usr/bin/tini /usr/src/app/install/docker/entrypoint.sh /usr/local/bin/
COPY --from=node_modules_touch --chown=${USER}:${USER} /usr/src/app/ /usr/src/app/
COPY --from=git --chown=${USER}:${USER} /usr/src/app/ /usr/src/app/

View File

@@ -14,7 +14,7 @@ services:
- ./install/docker/setup.json:/usr/src/app/setup.json
postgres:
image: postgres:17.6-alpine
image: postgres:17.0-alpine
restart: unless-stopped
environment:
POSTGRES_USER: nodebb
@@ -24,7 +24,7 @@ services:
- postgres-data:/var/lib/postgresql/data
redis:
image: redis:8.2.1-alpine
image: redis:7.4.1-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

View File

@@ -14,7 +14,7 @@ services:
- ./install/docker/setup.json:/usr/src/app/setup.json
redis:
image: redis:8.2.1-alpine
image: redis:7.4.1-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

View File

@@ -1,3 +1,5 @@
version: '3.8'
services:
nodebb:
build: .
@@ -24,7 +26,7 @@ services:
- mongo-data:/data/db
- ./install/docker/mongodb-user-init.js:/docker-entrypoint-initdb.d/user-init.js
redis:
image: redis:8.2.1-alpine
image: redis:7.4.1-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
@@ -34,7 +36,7 @@ services:
- redis
postgres:
image: postgres:17.6-alpine
image: postgres:17.0-alpine
restart: unless-stopped
environment:
POSTGRES_USER: nodebb

View File

@@ -1,65 +0,0 @@
'use strict';
import serverConfig from 'eslint-config-nodebb';
import publicConfig from 'eslint-config-nodebb/public';
import commonRules from 'eslint-config-nodebb/common';
import { defineConfig } from 'eslint/config';
import stylisticJs from '@stylistic/eslint-plugin'
import js from '@eslint/js';
import globals from 'globals';
export default defineConfig([
{
ignores: [
'node_modules/',
'.project',
'.vagrant',
'.DS_Store',
'.tx',
'logs/',
'public/uploads/',
'public/vendor/',
'.idea/',
'.vscode/',
'*.ipr',
'*.iws',
'coverage/',
'build/',
'test/files/',
'*.min.js',
'install/docker/',
],
},
// tests
{
plugins: {
js,
'@stylistic/js': stylisticJs,
},
extends: ['js/recommended'],
files: ['test/**/*.js'],
languageOptions: {
ecmaVersion: 2020,
sourceType: 'commonjs',
globals: {
...globals.node,
...globals.browser,
it: 'readonly',
describe: 'readonly',
before: 'readonly',
beforeEach: 'readonly',
after: 'readonly',
afterEach: 'readonly',
},
},
rules: {
...commonRules,
'no-unused-vars': 'off',
'no-prototype-builtins': 'off',
}
},
...publicConfig,
...serverConfig
]);

View File

@@ -36,7 +36,7 @@
"maximumTagsPerTopic": 5,
"minimumTagLength": 3,
"maximumTagLength": 15,
"undoTimeout": 0,
"undoTimeout": 10000,
"allowTopicsThumbnail": 1,
"registrationType": "normal",
"registrationApprovalType": "normal",
@@ -52,7 +52,6 @@
"orphanExpiryDays": 0,
"resizeImageWidthThreshold": 2000,
"resizeImageWidth": 760,
"resizeImageKeepOriginal": 1,
"rejectImageWidth": 5000,
"rejectImageHeight": 5000,
"resizeImageQuality": 80,
@@ -67,7 +66,6 @@
"maximumAboutMeLength": 1000,
"maximumUsersInChatRoom": 0,
"maximumChatMessageLength": 1000,
"maximumRemoteChatMessageLength": 5000,
"maximumChatRoomNameLength": 50,
"maximumProfileImageSize": 256,
"maximumCoverImageSize": 2048,
@@ -76,7 +74,7 @@
"profile:keepAllUserImages": 0,
"gdpr_enabled": 1,
"allowProfileImageUploads": 1,
"teaserPost": "last-post",
"teaserPost": "last-reply",
"showPostPreviewsOnHover": 1,
"allowPrivateGroups": 1,
"unreadCutoff": 2,
@@ -108,14 +106,11 @@
"flags:actionOnReject": "rescind",
"notificationType_upvote": "notification",
"notificationType_new-topic": "notification",
"notificationType_new-topic-with-tag": "notification",
"notificationType_new-topic-in-category": "notification",
"notificationType_new-reply": "notification",
"notificationType_post-edit": "notification",
"notificationType_follow": "notification",
"notificationType_new-chat": "notification",
"notificationType_new-group-chat": "notification",
"notificationType_new-public-chat": "none",
"notificationType_group-invite": "notification",
"notificationType_group-leave": "notification",
"notificationType_group-request-membership": "notification",
@@ -148,7 +143,6 @@
"username:disableEdit": 0,
"email:disableEdit": 0,
"email:smtpTransport:pool": 0,
"email:smtpTransport:allow-self-signed": 0,
"hideFullname": 0,
"hideEmail": 0,
"showFullnameAsDisplayName": 0,
@@ -196,12 +190,5 @@
"composer:allowPluginHelp": 1,
"maxReconnectionAttempts": 5,
"reconnectionDelay": 1500,
"disableCustomUserSkins": 0,
"activitypubEnabled": 1,
"activitypubAllowLoopback": 0,
"activitypubProbe": 1,
"activitypubProbeTimeout": 2000,
"activitypubContentPruneDays": 30,
"activitypubUserPruneDays": 7,
"activitypubFilter": 0
"disableCustomUserSkins": 0
}

View File

@@ -41,14 +41,6 @@
"textClass": "d-lg-none",
"text": "[[global:header.popular]]"
},
{
"route": "/world",
"title": "[[global:header.world]]",
"enabled": true,
"iconClass": "fa-globe",
"textClass": "d-lg-none",
"text": "[[global:header.world]]"
},
{
"route": "/users",
"title": "[[global:header.users]]",

View File

@@ -103,7 +103,7 @@ build_forum() {
local config="$1"
local start_build="$2"
local package_hash=$(md5sum install/package.json | head -c 32)
if [ "$package_hash" != "$(cat $CONFIG_DIR/install_hash.md5 || true)" ]; then
if [ "$package_hash" = "$(cat $CONFIG_DIR/install_hash.md5 || true)" ]; then
echo "package.json was updated. Upgrading..."
/usr/src/app/nodebb upgrade --config="$config" || {
echo "Failed to build NodeBB. Exiting..."

View File

@@ -2,7 +2,7 @@
"name": "nodebb",
"license": "GPL-3.0",
"description": "NodeBB Forum",
"version": "4.6.1",
"version": "3.10.3",
"homepage": "https://www.nodebb.org",
"repository": {
"type": "git",
@@ -29,50 +29,51 @@
},
"dependencies": {
"@adactive/bootstrap-tagsinput": "0.8.2",
"@fontsource-utils/scss": "0.2.2",
"@fontsource/inter": "5.2.8",
"@fontsource/poppins": "5.2.7",
"@fortawesome/fontawesome-free": "6.7.2",
"@fontsource/inter": "5.1.0",
"@fontsource/poppins": "5.1.0",
"@fortawesome/fontawesome-free": "6.6.0",
"@isaacs/ttlcache": "1.4.1",
"@nodebb/spider-detector": "2.0.3",
"@popperjs/core": "2.11.8",
"@textcomplete/contenteditable": "0.1.13",
"@textcomplete/core": "0.1.13",
"@textcomplete/textarea": "0.1.13",
"ace-builds": "1.43.3",
"ace-builds": "1.36.4",
"archiver": "7.0.1",
"async": "3.2.6",
"autoprefixer": "10.4.21",
"bcryptjs": "3.0.2",
"benchpressjs": "2.5.5",
"body-parser": "2.2.0",
"bootbox": "6.0.4",
"bootstrap": "5.3.8",
"bootswatch": "5.3.8",
"autoprefixer": "10.4.20",
"bcryptjs": "2.4.3",
"benchpressjs": "2.5.1",
"body-parser": "1.20.3",
"bootbox": "6.0.0",
"bootstrap": "5.3.3",
"bootswatch": "5.3.3",
"chalk": "4.1.2",
"chart.js": "4.5.0",
"chart.js": "4.4.6",
"cli-graph": "3.2.2",
"clipboard": "2.0.11",
"commander": "14.0.1",
"colors": "1.4.0",
"commander": "12.1.0",
"compare-versions": "6.1.1",
"compression": "1.8.1",
"compression": "1.7.5",
"connect-flash": "0.1.1",
"connect-mongo": "5.1.0",
"connect-multiparty": "2.2.0",
"connect-pg-simple": "10.0.0",
"connect-redis": "9.0.0",
"connect-redis": "7.1.1",
"cookie-parser": "1.4.7",
"cron": "4.3.3",
"cron": "3.1.9",
"cropperjs": "1.6.2",
"csrf-sync": "4.2.1",
"csrf-sync": "4.0.3",
"daemon": "1.1.0",
"diff": "8.0.2",
"esbuild": "0.25.10",
"express": "4.21.2",
"express-session": "1.18.2",
"diff": "7.0.0",
"esbuild": "0.24.0",
"express": "4.21.1",
"express-session": "1.18.1",
"express-useragent": "1.0.15",
"fetch-cookie": "3.1.0",
"fetch-cookie": "3.0.1",
"file-loader": "6.2.0",
"fs-extra": "11.3.2",
"fs-extra": "11.2.0",
"graceful-fs": "4.2.11",
"helmet": "7.2.0",
"html-to-text": "9.0.5",
@@ -83,103 +84,98 @@
"jquery-form": "4.3.0",
"jquery-serializeobject": "1.0.0",
"jquery-ui": "1.14.1",
"jsesc": "3.1.0",
"jsesc": "3.0.2",
"json2csv": "5.0.7",
"jsonwebtoken": "9.0.2",
"lodash": "4.17.21",
"logrotate-stream": "0.2.9",
"lru-cache": "11.2.2",
"lru-cache": "10.4.3",
"mime": "3.0.0",
"mkdirp": "3.0.1",
"mongodb": "6.20.0",
"morgan": "1.10.1",
"mongodb": "6.10.0",
"morgan": "1.10.0",
"mousetrap": "1.6.5",
"multer": "2.0.2",
"nconf": "0.13.0",
"nodebb-plugin-2factor": "7.6.0",
"nodebb-plugin-composer-default": "10.3.1",
"nodebb-plugin-dbsearch": "6.3.2",
"nodebb-plugin-emoji": "6.0.3",
"nodebb-plugin-emoji-android": "4.1.1",
"nodebb-plugin-markdown": "13.2.1",
"nodebb-plugin-mentions": "4.7.6",
"nodebb-plugin-spam-be-gone": "2.3.2",
"nodebb-plugin-web-push": "0.7.5",
"nodebb-rewards-essentials": "1.0.2",
"nodebb-theme-harmony": "2.1.21",
"nodebb-theme-lavender": "7.1.19",
"nodebb-theme-peace": "2.2.48",
"nodebb-theme-persona": "14.1.15",
"nodebb-widget-essentials": "7.0.40",
"nodemailer": "7.0.6",
"multiparty": "4.2.3",
"nconf": "0.12.1",
"nodebb-plugin-2factor": "7.5.6",
"nodebb-plugin-composer-default": "10.2.42",
"nodebb-plugin-dbsearch": "6.2.5",
"nodebb-plugin-emoji": "5.1.15",
"nodebb-plugin-emoji-android": "4.0.0",
"nodebb-plugin-markdown": "12.2.8",
"nodebb-plugin-mentions": "4.4.3",
"nodebb-plugin-ntfy": "1.7.7",
"nodebb-plugin-spam-be-gone": "2.2.2",
"nodebb-rewards-essentials": "1.0.0",
"nodebb-theme-harmony": "1.2.79",
"nodebb-theme-lavender": "7.1.10",
"nodebb-theme-peace": "2.2.8",
"nodebb-theme-persona": "13.3.42",
"nodebb-widget-essentials": "7.0.30",
"nodemailer": "6.9.16",
"nprogress": "0.2.0",
"passport": "0.7.0",
"passport-http-bearer": "1.0.1",
"passport-local": "1.0.0",
"pg": "8.16.3",
"pg-cursor": "2.15.3",
"postcss": "8.5.6",
"pg": "8.13.1",
"pg-cursor": "2.12.1",
"postcss": "8.4.47",
"postcss-clean": "1.2.0",
"pretty": "^2.0.0",
"progress-webpack-plugin": "1.0.16",
"prompt": "1.3.0",
"redis": "5.8.2",
"rimraf": "6.0.1",
"ioredis": "5.4.1",
"rimraf": "5.0.10",
"rss": "1.2.2",
"rtlcss": "4.3.0",
"sanitize-html": "2.17.0",
"sass": "1.93.2",
"satori": "0.18.3",
"sbd": "^1.0.19",
"semver": "7.7.2",
"serve-favicon": "2.5.1",
"sharp": "0.34.4",
"sanitize-html": "2.13.1",
"sass": "1.80.6",
"semver": "7.6.3",
"serve-favicon": "2.5.0",
"sharp": "0.32.6",
"sitemap": "8.0.0",
"socket.io": "4.8.1",
"socket.io-client": "4.8.1",
"@socket.io/redis-adapter": "8.3.0",
"sortablejs": "1.15.6",
"spdx-license-list": "6.10.0",
"terser-webpack-plugin": "5.3.14",
"sortablejs": "1.15.3",
"spdx-license-list": "6.9.0",
"terser-webpack-plugin": "5.3.10",
"textcomplete": "0.18.2",
"textcomplete.contenteditable": "0.1.1",
"timeago": "1.6.7",
"tinycon": "0.6.8",
"toobusy-js": "0.5.1",
"tough-cookie": "6.0.0",
"undici": "^7.10.0",
"validator": "13.15.15",
"webpack": "5.102.0",
"tough-cookie": "5.0.0",
"validator": "13.12.0",
"webpack": "5.96.1",
"webpack-merge": "6.0.1",
"winston": "3.17.0",
"workerpool": "9.3.4",
"winston": "3.16.0",
"workerpool": "9.2.0",
"xml": "1.0.1",
"xregexp": "5.1.2",
"xregexp": "5.1.1",
"yargs": "17.7.2",
"zxcvbn": "4.4.2"
},
"devDependencies": {
"@apidevtools/swagger-parser": "10.1.0",
"@commitlint/cli": "20.0.0",
"@commitlint/config-angular": "20.0.0",
"@commitlint/cli": "19.5.0",
"@commitlint/config-angular": "19.5.0",
"coveralls": "3.1.1",
"@eslint/js": "9.36.0",
"@stylistic/eslint-plugin": "5.4.0",
"eslint-config-nodebb": "1.1.11",
"eslint-plugin-import": "2.32.0",
"eslint": "8.57.1",
"eslint-config-nodebb": "0.2.1",
"eslint-plugin-import": "2.31.0",
"grunt": "1.6.1",
"grunt-contrib-watch": "1.1.0",
"husky": "8.0.3",
"jsdom": "27.0.0",
"lint-staged": "16.2.3",
"mocha": "11.7.2",
"jsdom": "25.0.1",
"lint-staged": "15.2.10",
"mocha": "10.8.2",
"mocha-lcov-reporter": "1.3.0",
"mockdate": "3.0.5",
"nyc": "17.1.0",
"smtp-server": "3.14.0"
"smtp-server": "3.13.6"
},
"optionalDependencies": {
"sass-embedded": "1.93.2"
"sass-embedded": "1.80.6"
},
"resolutions": {
"*/jquery": "3.7.1"
@@ -188,7 +184,7 @@
"url": "https://github.com/NodeBB/NodeBB/issues"
},
"engines": {
"node": ">=20"
"node": ">=18"
},
"maintainers": [
{

View File

@@ -2,7 +2,6 @@
const winston = require('winston');
const express = require('express');
const session = require('express-session');
const bodyParser = require('body-parser');
const fs = require('fs');
const path = require('path');
@@ -14,10 +13,7 @@ const nconf = require('nconf');
const Benchpress = require('benchpressjs');
const { mkdirp } = require('mkdirp');
const { paths } = require('../src/constants');
const utils = require('../src/utils');
const sass = utils.getSass();
const { generateToken, csrfSynchronisedProtection } = require('../src/middleware/csrf');
const sass = require('../src/utils').getSass();
const app = express();
let server;
@@ -77,13 +73,6 @@ web.install = async function (port) {
app.use(bodyParser.urlencoded({
extended: true,
}));
app.use(session({
secret: utils.generateUUID(),
resave: false,
saveUninitialized: false,
}));
try {
await Promise.all([
compileTemplate(),
@@ -114,8 +103,8 @@ function launchExpress(port) {
}
function setupRoutes() {
app.get('/', csrfSynchronisedProtection, welcome);
app.post('/', csrfSynchronisedProtection, install);
app.get('/', welcome);
app.post('/', install);
app.get('/testdb', testDatabase);
app.get('/ping', ping);
app.get('/sping', ping);
@@ -171,7 +160,6 @@ function welcome(req, res) {
minimumPasswordStrength: defaults.minimumPasswordStrength,
installing: installing,
percentInstalled: installing ? ((Date.now() - timeStart) / totalTime * 100).toFixed(2) : 0,
csrf_token: generateToken(req),
});
}

View File

@@ -26,7 +26,7 @@ if (!fs.existsSync(logDir)) {
mkdirp.sync(path.dirname(outputLogFilePath));
}
const output = logrotate({ file: outputLogFilePath, size: '10m', keep: 3, compress: true });
const output = logrotate({ file: outputLogFilePath, size: '1m', keep: 3, compress: true });
const silent = nconf.get('silent') === 'false' ? false : nconf.get('silent') !== false;
let numProcs;
const workers = [];
@@ -99,14 +99,9 @@ Loader.start = function () {
function forkWorker(index, isPrimary) {
const ports = getPorts();
const args = [];
const execArgv = [];
if (nconf.get('max-memory')) {
execArgv.push(`--max-old-space-size=${nconf.get('max-memory')}`);
args.push(`--max-old-space-size=${nconf.get('max-memory')}`);
}
if (nconf.get('expose-gc')) {
execArgv.push('--expose-gc');
}
if (!ports[index]) {
return console.log(`[cluster] invalid port for worker : ${index} ports: ${ports.length}`);
}
@@ -114,10 +109,10 @@ function forkWorker(index, isPrimary) {
process.env.isPrimary = isPrimary;
process.env.isCluster = nconf.get('isCluster') || ports.length > 1;
process.env.port = ports[index];
const worker = fork(appPath, args, {
silent: silent,
env: process.env,
execArgv: execArgv,
});
worker.index = index;

3
public/.eslintrc Normal file
View File

@@ -0,0 +1,3 @@
{
"extends": "nodebb/public"
}

View File

@@ -10,8 +10,8 @@
"filter-start": "تاريخ البدء",
"filter-end": "تاريخ الانتهاء",
"filter-user": "Filter by User",
"filter-user.placeholder": "قم بكتابة اسم مستخدم للتصفية...",
"filter-user.placeholder": "Type user name to filter...",
"filter-group": "Filter by Group",
"filter-group.placeholder": "قم بكتابة اسم مجموعة للتصفية...",
"filter-group.placeholder": "Type group name to filter...",
"filter-per-page": "لكل صفحة"
}

View File

@@ -75,7 +75,6 @@
"graphs.page-views-registered": "زيارات الصفحات المسجلة",
"graphs.page-views-guest": "زيارات الصفحات للزوار",
"graphs.page-views-bot": "زيارات الصفحات الآلية",
"graphs.page-views-ap": "ActivityPub Page Views",
"graphs.unique-visitors": "زوار فريدين",
"graphs.registered-users": "مستخدمين مسجلين",
"graphs.guest-users": "المستخدمين الزوار",

View File

@@ -1,25 +1,13 @@
{
"manage-categories": "Manage Categories",
"add-category": "Add category",
"add-local-category": "Add Local category",
"add-remote-category": "Add Remote category",
"remove": "Remove",
"rename": "Rename",
"jump-to": "Jump to...",
"settings": "اعدادات القسم",
"edit-category": "Edit Category",
"privileges": "الصلاحيات",
"back-to-categories": "Back to categories",
"id": "Category ID",
"name": "Category Name",
"handle": "Category Handle",
"handle.help": "Your category handle is used as a representation of this category across other networks, similar to a username. A category handle must not match an existing username or user group.",
"description": "Category Description",
"federatedDescription": "Federated Description",
"federatedDescription.help": "This text will be appended to the category description when queried by other websites/apps.",
"federatedDescription.default": "This is a forum category containing topical discussion. You can start new discussions by mentioning this category.",
"topic-template": "Topic Template",
"topic-template.help": "Define a template for new topics created in this category.",
"bg-color": "Background Colour",
"text-color": "Text Colour",
"bg-image-size": "Background Image Size",
@@ -49,7 +37,6 @@
"disable": "Disable",
"edit": "Edit",
"analytics": "Analytics",
"federation": "Federation",
"view-category": "View category",
"set-order": "Set order",
@@ -89,32 +76,10 @@
"analytics.topics-daily": "<strong>Figure 3</strong> &ndash; Daily topics created in this category</small>",
"analytics.posts-daily": "<strong>Figure 4</strong> &ndash; Daily posts made in this category</small>",
"federation.title": "Federation settings for \"%1\" category",
"federation.disabled": "Federation is disabled site-wide, so category federation settings are currently unavailable.",
"federation.disabled-cta": "Federation Settings &rarr;",
"federation.syncing-header": "Synchronization",
"federation.syncing-intro": "A category can follow a \"Group Actor\" via the ActivityPub protocol. If content is received from one of the actors listed below, it will be automatically added to this category.",
"federation.syncing-caveat": "N.B. Setting up syncing here establishes a one-way synchronization. NodeBB attempts to subscribe/follow the actor, but the reverse cannot be assumed.",
"federation.syncing-none": "This category is not currently following anybody.",
"federation.syncing-add": "Synchronize with...",
"federation.syncing-actorUri": "Actor",
"federation.syncing-follow": "Follow",
"federation.syncing-unfollow": "Unfollow",
"federation.followers": "Remote users following this category",
"federation.followers-handle": "Handle",
"federation.followers-id": "ID",
"federation.followers-none": "No followers.",
"federation.followers-autofill": "Autofill",
"alert.created": "Created",
"alert.create-success": "Category successfully created!",
"alert.none-active": "You have no active categories.",
"alert.create": "Create a Category",
"alert.add": "Add a Category",
"alert.add-help": "Remote categories can be added to the categories listing by specifying their handle.<br /><br /><strong>Note</strong> — The remote category may not reflect all topics published unless at least one local user tracks/watches it.",
"alert.rename": "Rename a Remote Category",
"alert.rename-help": "Please enter a new name for this category. Leave blank to restore original name.",
"alert.confirm-remove": "Do you really want to remove this category? You can add it back at any time.",
"alert.confirm-purge": "<p class=\"lead\">Do you really want to purge this category \"%1\"?</p><h5><strong class=\"text-danger\">Warning!</strong> All topics and posts in this category will be purged!</h5> <p class=\"help-block\">Purging a category will remove all topics and posts, and delete the category from the database. If you want to remove a category <em>temporarily</em>, you'll want to \"disable\" the category instead.</p>",
"alert.purge-success": "Category purged!",
"alert.copy-success": "Settings Copied!",

View File

@@ -1,28 +0,0 @@
{
"title": "Manage Custom User Fields",
"create-field": "Create Field",
"edit-field": "Edit Field",
"manage-custom-fields": "Manage Custom Fields",
"type-of-input": "Type of input",
"key": "Key",
"name": "Name",
"icon": "Icon",
"type": "Type",
"min-rep": "Minimum Reputation",
"input-type-text": "Input (Text)",
"input-type-link": "Input (Link)",
"input-type-number": "Input (Number)",
"input-type-date": "Input (Date)",
"input-type-select": "Select",
"input-type-select-multi": "Select Multiple",
"select-options": "Options",
"select-options-help": "Add one option per line for the select element",
"minimum-reputation": "Minimum reputation",
"minimum-reputation-help": "If a user has less than this value they won't be able to use this field",
"delete-field-confirm-x": "Do you really want to delete custom field \"%1\"?",
"custom-fields-saved": "Custom fields saved",
"visibility": "Visibility",
"visibility-all": "Everyone can see the field",
"visibility-loggedin": "Only logged in users can see the field",
"visibility-privileged": "Only privileged users like admins & moderators can see the field"
}

View File

@@ -22,7 +22,6 @@
"delete-content": "Delete User(s) <strong>Content</strong>",
"purge": "Delete <strong>User(s)</strong> and <strong>Content</strong>",
"download-csv": "Download CSV",
"custom-user-fields": "Custom User Fields",
"manage-groups": "Manage Groups",
"set-reputation": "Set Reputation",
"add-group": "Add Group",

View File

@@ -38,7 +38,6 @@
"settings/tags": "الكلمات المفتاحية",
"settings/notifications": "التنبيهات",
"settings/api": "API Access",
"settings/activitypub": "Federation (ActivityPub)",
"settings/sounds": "Sounds",
"settings/social": "Social",
"settings/cookies": "Cookies",

View File

@@ -1,48 +0,0 @@
{
"intro-lead": "What is Federation?",
"intro-body": "NodeBB is able to communicate with other NodeBB instances that support it. This is achieved through a protocol called <a href=\"https://activitypub.rocks/\">ActivityPub</a>. If enabled, NodeBB will also be able to communicate with other apps and websites that use ActivityPub (e.g. Mastodon, Peertube, etc.)",
"general": "General",
"pruning": "Content Pruning",
"content-pruning": "Days to keep remote content",
"content-pruning-help": "Note that remote content that has received engagement (a reply or a upvote/downvote) will be preserved. (0 for disabled)",
"user-pruning": "Days to cache remote user accounts",
"user-pruning-help": "Remote user accounts will only be pruned if they have no posts. Otherwise they will be re-retrieved. (0 for disabled)",
"enabled": "Enable Federation",
"enabled-help": "If enabled, will allow this NodeBB will be able to communicate with all Activitypub-enabled clients on the wider fediverse.",
"allowLoopback": "Allow loopback processing",
"allowLoopback-help": "Useful for debugging purposes only. You should probably leave this disabled.",
"probe": "Open in App",
"probe-enabled": "Try to open ActivityPub-enabled resources in NodeBB",
"probe-enabled-help": "If enabled, NodeBB will check every external link for an ActivityPub equivalent, and load it in NodeBB instead.",
"probe-timeout": "Lookup Timeout (milliseconds)",
"probe-timeout-help": "(Default: 2000) If the lookup query does not receive a response within the set timeframe, will send the user to the link directly instead. Adjust this number higher if sites are responding slowly and you wish to give extra time.",
"rules": "Categorization",
"rules-intro": "Content discovered via ActivityPub can be automatically categorized based on certain rules (e.g. hashtag)",
"rules.modal.title": "How it works",
"rules.modal.instructions": "Any incoming content is checked against these categorization rules, and matching content is automatically moved into the category of choice.<br /><br /><strong>N.B.</strong> Content that is already categorized (i.e. in a remote category) will not pass through these rules.",
"rules.add": "Add New Rule",
"rules.help-hashtag": "Topics containing this case-insensitive hashtag will match. Do not enter the <code>#</code> symbol",
"rules.help-user": "Topics created by the entered user will match. Enter a handle or full ID (e.g. <code>bob@example.org</code> or <code>https://example.org/users/bob</code>.",
"rules.type": "Type",
"rules.value": "Value",
"rules.cid": "Category",
"relays": "Relays",
"relays.intro": "A relay improves discovery of content to and from your NodeBB. Subscribing to a relay means content received by the relay is forwarded here, and content posted here is syndicated outward by the relay.",
"relays.warning": "Note: Relays can send larges amounts of traffic in, and may increase storage and processing costs.",
"relays.litepub": "NodeBB follows the LitePub-style relay standard. The URL you enter here should end with <code>/actor</code>.",
"relays.add": "Add New Relay",
"relays.relay": "Relay",
"relays.state": "State",
"relays.state-0": "Pending",
"relays.state-1": "Receiving only",
"relays.state-2": "Active",
"server-filtering": "Filtering",
"count": "This NodeBB is currently aware of <strong>%1</strong> server(s)",
"server.filter-help": "Specify servers you would like to bar from federating with your NodeBB. Alternatively, you may opt to selectively <em>allow</em> federation with specific servers, instead. Both options are supported, although they are mutually exclusive.",
"server.filter-help-hostname": "Enter just the instance hostname below (e.g. <code>example.org</code>), separated by line breaks.",
"server.filter-allow-list": "Use this as an Allow List instead"
}

View File

@@ -41,6 +41,9 @@
"sockets.default-placeholder": "Default: %1",
"sockets.delay": "Reconnection Delay",
"analytics.settings": "Analytics Settings",
"analytics.max-cache": "Analytics Cache Max Value",
"analytics.max-cache-help": "On high-traffic installs, the cache could be exhausted continuously if there are more concurrent active users than the Max Cache value. (Restart required)",
"compression.settings": "Compression Settings",
"compression.enable": "Enable Compression",
"compression.help": "This setting enables gzip compression. For a high-traffic website in production, the best way to put compression in place is to implement it at a reverse proxy level. You can enable it here for testing purposes."

View File

@@ -5,8 +5,6 @@
"disable-editing": "Disable chat message editing/deletion",
"disable-editing-help": "Administrators and global moderators are exempt from this restriction",
"max-length": "Maximum length of chat messages",
"max-length-remote": "Maximum length of remote chat messages",
"max-length-remote-help": "This value is usually set higher than the chat message maximum for local users as remote messages tend to be longer (with @ mentions, etc.)",
"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)",

View File

@@ -28,8 +28,6 @@
"smtp-transport.password": "Password",
"smtp-transport.pool": "Enable pooled connections",
"smtp-transport.pool-help": "Pooling connections prevents NodeBB from creating a new connection for every email. This option only applies if SMTP Transport is enabled.",
"smtp-transport.allow-self-signed": "Allow self-signed certificates",
"smtp-transport.allow-self-signed-help": "Enabling this setting will allow you to use self-signed or invalid TLS certificates.",
"template": "Edit Email Template",
"template.select": "Select Email Template",

View File

@@ -15,7 +15,7 @@
"title-layout": "Title Layout",
"title-layout-help": "Define how the browser title will be structured ie. &#123;pageTitle&#125; | &#123;browserTitle&#125;",
"description.placeholder": "A short description about your community",
"description": "Site Description",
"description": "وصف الموقع",
"keywords": "الكلمات الدليله للموقع",
"keywords-placeholder": "Keywords describing your community, comma-separated",
"logo-and-icons": "Site Logo & Icons",
@@ -48,16 +48,5 @@
"background-color-help": "Color used for splash screen background when website is installed as a PWA",
"undo-timeout": "Undo Timeout",
"undo-timeout-help": "Some operations such as moving topics will allow for the moderator to undo their action within a certain timeframe. Set to 0 to disable undo completely.",
"topic-tools": "Topic Tools",
"home-page": "Home Page",
"home-page-route": "Home Page Route",
"home-page-description": "Choose what page is shown when users navigate to the root URL of your forum.",
"custom-route": "Custom Route",
"allow-user-home-pages": "Allow User Home Pages",
"home-page-title": "Title of the home page (default \"Home\")",
"default-language": "اللغة الافتراضية",
"auto-detect": "الكشف عن إعدادات اللغة للزوار بشكل آلي",
"default-language-help": "تُحدد اللغة الافتراضية إعدادات اللغة لجميع المستخدمين الذين يزورون المنتدى. <br />يمكن للأعضاء تجاوز اللغة الافتراضية من خلال صفحة إعدادات الحساب الخاصة بهم.",
"post-sharing": "Post Sharing",
"info-plugins-additional": "Plugins can add additional networks for sharing posts."
}
"topic-tools": "Topic Tools"
}

View File

@@ -0,0 +1,8 @@
{
"settings": "Settings",
"guest-settings": "Guest Settings",
"handles.enabled": "Allow guest handles",
"handles.enabled-help": "This option exposes a new field that allows guests to pick a name to associate with each post they make. If disabled, they will simply be called \"Guest\"",
"topic-views.enabled": "Allow guests to increase topic view counts",
"reply-notifications.enabled": "Allow guests to generate reply notifications"
}

View File

@@ -0,0 +1,8 @@
{
"home-page": "Home Page",
"description": "Choose what page is shown when users navigate to the root URL of your forum.",
"home-page-route": "Home Page Route",
"custom-route": "Custom Route",
"allow-user-home-pages": "Allow User Home Pages",
"home-page-title": "Title of the home page (default \"Home\")"
}

View File

@@ -0,0 +1,6 @@
{
"language-settings": "اعدادات اللغة",
"description": "تُحدد اللغة الافتراضية إعدادات اللغة لجميع المستخدمين الذين يزورون المنتدى. <br />يمكن للأعضاء تجاوز اللغة الافتراضية من خلال صفحة إعدادات الحساب الخاصة بهم.",
"default-language": "اللغة الافتراضية",
"auto-detect": "الكشف عن إعدادات اللغة للزوار بشكل آلي"
}

View File

@@ -20,6 +20,7 @@
"min-rep-chat": "Minimum reputation to send chat messages",
"min-rep-post-links": "Minimum reputation to post links",
"min-rep-flag": "Minimum reputation to flag posts",
"min-rep-website": "Minimum reputation to add \"Website\" to user profile",
"min-rep-aboutme": "Minimum reputation to add \"About me\" to user profile",
"min-rep-signature": "Minimum reputation to add \"Signature\" to user profile",
"min-rep-profile-picture": "Minimum reputation to add \"Profile Picture\" to user profile",

View File

@@ -0,0 +1,4 @@
{
"post-sharing": "Post Sharing",
"info-plugins-additional": "Plugins can add additional networks for sharing posts."
}

View File

@@ -9,10 +9,9 @@
"private-extensions": "File extensions to make private",
"private-uploads-extensions-help": "Enter comma-separated list of file extensions to make private here (e.g. <code>pdf,xls,doc</code>). An empty list means all files are private.",
"resize-image-width-threshold": "Resize images if they are wider than specified width",
"resize-image-width-threshold-help": "(in pixels, default: 2000 pixels, set to 0 to disable)",
"resize-image-width-threshold-help": "(in pixels, default: 1520 pixels, set to 0 to disable)",
"resize-image-width": "Resize images down to specified width",
"resize-image-width-help": "(in pixels, default: 760 pixels, set to 0 to disable)",
"resize-image-keep-original": "Keep original image after resize",
"resize-image-quality": "Quality to use when resizing images",
"resize-image-quality-help": "Use a lower quality setting to reduce the file size of resized images.",
"max-file-size": "الحد الأقصى لحجم الملف (بالكيبيبايت)",

View File

@@ -64,7 +64,6 @@
"show-email": "عرض البريد الإلكتروني",
"show-fullname": "عرض الاسم الكامل",
"restrict-chat": "السماح فقط برسائل الدردشة من المستخدمين الذين أتبعهم",
"disable-incoming-chats": "Disable incoming chat messages",
"outgoing-new-tab": "Open outgoing links in new tab",
"topic-search": "Enable In-Topic Searching",
"update-url-with-post-index": "Update url with post index while browsing topics",
@@ -89,10 +88,5 @@
"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",
"guest-settings": "Guest Settings",
"handles.enabled": "Allow guest handles",
"handles.enabled-help": "This option exposes a new field that allows guests to pick a name to associate with each post they make. If disabled, they will simply be called \"Guest\"",
"topic-views.enabled": "Allow guests to increase topic view counts",
"reply-notifications.enabled": "Allow guests to generate reply notifications"
}
"restrictions.groups-exempt-from-new-user-restrictions": "Select groups that should be exempt from the new user restrictions"
}

View File

@@ -2,7 +2,6 @@
"post-sort-option": "Post sort option, %1",
"topic-sort-option": "Topic sort option, %1",
"user-avatar-for": "User avatar for %1",
"profile-page-for": "Profile page for user %1",
"user-watched-tags": "User watched tags",
"delete-upload-button": "Delete upload button",
"group-page-link-for": "Group page link for %1"

View File

@@ -1,13 +1,9 @@
{
"category": "قسم",
"subcategories": "قسم فرعي",
"uncategorized": "Uncategorized",
"uncategorized.description": "Topics that do not strictly fit in with any existing categories",
"handle.description": "This category can be followed from the open social web via the handle %1",
"new-topic-button": "موضوع جديد",
"guest-login-post": "سجل الدخول للمشاركة",
"no-topics": "<strong>لا توجد مواضيع في هذه القسم</strong>لم لا تحاول إنشاء موضوع؟<br />",
"no-followers": "Nobody on this website is tracking or watching this category. Track or watch this category in order to begin receiving updates.",
"browsing": "تصفح",
"no-replies": "لم يرد أحد",
"no-new-posts": "لا توجد مشاركات جديدة.",

View File

@@ -3,7 +3,6 @@
"invalid-json": "Invalid JSON",
"wrong-parameter-type": "A value of type %3 was expected for property `%1`, but %2 was received instead",
"required-parameters-missing": "Required parameters were missing from this API call: %1",
"reserved-ip-address": "Network requests to reserved IP ranges are not allowed.",
"not-logged-in": "لم تقم بتسجيل الدخول",
"account-locked": "تم حظر حسابك مؤقتًا.",
"search-requires-login": "البحث في المنتدى يتطلب حساب - الرجاء تسجيل الدخول أو التسجيل",
@@ -68,8 +67,7 @@
"no-chat-room": "Chat room does not exist",
"no-privileges": "لاتملك الصلاحيات اللازمة للقيام بهذه العملية",
"category-disabled": "قائمة معطلة",
"post-deleted": "Post deleted",
"topic-locked": "Topic locked",
"topic-locked": "الموضوع مقفول",
"post-edit-duration-expired": "يسمح لك بتعديل مشاركتك حتى %1 ثانية من نشرها",
"post-edit-duration-expired-minutes": "يسمح لك بتعديل مشاركتك حتى %1 دقيقة من نشرها",
"post-edit-duration-expired-minutes-seconds": "يسمح لك بتعديل مشاركتك حتى %1 دقيقة و %2 ثوان من نشرها",
@@ -155,8 +153,6 @@
"about-me-too-long": "نأسف، ( عني ) لا يمكن أن يكون أكثر من %1 حرف.",
"cant-chat-with-yourself": "لايمكنك فتح محادثة مع نفسك",
"chat-restricted": "هذا المستخدم عطل المحادثات الواردة عليه. يجب أن يتبعك حتى تتمكن من فتح محادثة معه.",
"chat-allow-list-user-already-added": "This user is already in your allow list",
"chat-deny-list-user-already-added": "This user is already in your deny list",
"chat-user-blocked": "You have been blocked by this user.",
"chat-disabled": "نظام المحادثة معطل.",
"too-many-messages": "لقد أرسلت الكثير من الرسائل، الرجاء اﻹنتظار قليلاً",
@@ -172,7 +168,6 @@
"cant-add-users-to-chat-room": "Can't add users to chat room.",
"cant-remove-users-from-chat-room": "Can't remove users from chat room.",
"chat-room-name-too-long": "Chat room name too long. Names can't be longer than %1 characters.",
"remote-chat-received-too-long": "You received a chat message from %1, but it was too long and was rejected.",
"already-voting-for-this-post": "لقد شاركت بالتصويت ، ألا تذكر؟",
"reputation-system-disabled": "نظام السمعة معطل",
"downvoting-disabled": "التصويتات السلبية معطلة",
@@ -186,14 +181,6 @@
"not-enough-reputation-min-rep-signature": "You need %1 reputation to add a signature",
"not-enough-reputation-min-rep-profile-picture": "You need %1 reputation to add a profile picture",
"not-enough-reputation-min-rep-cover-picture": "You need %1 reputation to add a cover picture",
"not-enough-reputation-custom-field": "You need %1 reputation for %2",
"custom-user-field-value-too-long": "Custom field value too long, %1",
"custom-user-field-select-value-invalid": "Custom field selected option is invalid, %1",
"custom-user-field-invalid-text": "Custom field text is invalid, %1",
"custom-user-field-invalid-link": "Custom field link is invalid, %1",
"custom-user-field-invalid-number": "Custom field number is invalid, %1",
"custom-user-field-invalid-date": "Custom field date is invalid, %1",
"invalid-custom-user-field": "Invalid custom user field, \"%1\" is already used by NodeBB",
"post-already-flagged": "You have already flagged this post",
"user-already-flagged": "You have already flagged this user",
"post-flagged-too-many-times": "This post has been flagged by others already",
@@ -237,12 +224,9 @@
"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",
"cannot-toggle-system-plugin": "You cannot toggle the state of a system plugin",
"plugin-installation-via-acp-disabled": "Plugin installation via ACP is disabled",
"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",
"topic-event-unrecognized": "Topic event '%1' unrecognized",
"category.handle-taken": "Category handle is already taken, please choose another.",
"cant-set-child-as-parent": "Can't set child as parent category",
"cant-set-self-as-parent": "Can't set self as parent category",
"api.master-token-no-uid": "A master token was received without a corresponding `_uid` in the request body",
@@ -255,12 +239,5 @@
"api.500": "An unexpected error was encountered while attempting to service your request.",
"api.501": "The route you are trying to call is not implemented yet, please try again tomorrow",
"api.503": "The route you are trying to call is not currently available due to a server configuration",
"api.reauth-required": "The resource you are trying to access requires (re-)authentication.",
"activitypub.not-enabled": "Federation is not enabled on this server",
"activitypub.invalid-id": "Unable to resolve the input id, likely as it is malformed.",
"activitypub.get-failed": "Unable to retrieve the specified resource.",
"activitypub.pubKey-not-found": "Unable to resolve public key, so payload verification cannot take place.",
"activitypub.origin-mismatch": "The received object's origin does not match the sender's origin",
"activitypub.actor-mismatch": "The received activity is being carried out by an actor that is different from expected.",
"activitypub.not-implemented": "The request was denied because it or an aspect of it is not implemented by the recipient server"
"api.reauth-required": "The resource you are trying to access requires (re-)authentication."
}

View File

@@ -84,17 +84,11 @@
"modal-reason-offensive": "Offensive",
"modal-reason-other": "Other (specify below)",
"modal-reason-custom": "Reason for reporting this content...",
"modal-notify-remote": "Forward this report to %1",
"modal-submit": "Submit Report",
"modal-submit-success": "Content has been flagged for moderation.",
"modal-confirm-rescind": "Rescind Report?",
"bulk-actions": "Bulk Actions",
"bulk-resolve": "Resolve Flag(s)",
"confirm-purge": "Are you sure you want to permanently delete these flags?",
"purge-cancelled": "Flag Purge Cancelled",
"bulk-purge": "Purge Flag(s)",
"bulk-success": "%1 flags updated",
"flagged-timeago": "Flagged <span class=\"timeago\" title=\"%1\"></span>",
"auto-flagged": "[Auto Flagged] Received %1 downvotes."

View File

@@ -50,7 +50,6 @@
"header.navigation": "الاستكشاف",
"header.manage": "Manage",
"header.drafts": "Drafts",
"header.world": "World",
"notifications.loading": "تحميل التنبيهات",
"chats.loading": "تحميل الدردشات",
"drafts.loading": "Loading Drafts",
@@ -82,7 +81,6 @@
"downvoted": "مصوت بالسالب",
"views": "المشاهدات",
"posters": "Posters",
"watching": "Watching",
"reputation": "السمعة",
"lastpost": "Last post",
"firstpost": "First post",
@@ -112,7 +110,6 @@
"dnd": "عدم الإزعاج",
"invisible": "مخفي",
"offline": "غير متصل",
"remote-user": "This user is from outside of this forum",
"email": "عنوان البريد الإلكتروني",
"language": "اللغة",
"guest": "زائر",

View File

@@ -48,7 +48,6 @@
"chat.add-user": "Add User",
"chat.notification-settings": "Notification Settings",
"chat.default-notification-setting": "Default Notification Setting",
"chat.join-leave-messages": "Join/Leave Messages",
"chat.notification-setting-room-default": "Room Default",
"chat.notification-setting-none": "No notifications",
"chat.notification-setting-at-mention-only": "@mention only",
@@ -116,8 +115,6 @@
"composer.discard-all-drafts": "Discard all drafts",
"composer.no-drafts": "You have no drafts",
"composer.discard-draft-confirm": "Do you want to discard this draft?",
"composer.remote-pid-editing": "Editing a remote post",
"composer.remote-pid-content-immutable": "The content of remote posts cannot be edited. However, you are able change the topic title and tags.",
"bootbox.ok": "OK",
"bootbox.cancel": "إلغاء",
"bootbox.confirm": "تأكيد",

View File

@@ -75,6 +75,7 @@
"email-confirmed": "تم التحقق من عنوان البريد الإلكتروني",
"email-confirmed-message": "شكرًا على إثبات صحة عنوان بريدك الإلكتروني. صار حسابك مفعلًا بالكامل.",
"email-confirm-error-message": "حدث خطأ أثناء التحقق من عنوان بريدك الإلكتروني. ربما رمز التفعيل خاطئ أو انتهت صلاحيته.",
"email-confirm-error-message-already-validated": "Your email address was already validated.",
"email-confirm-sent": "تم إرسال بريد التفعيل.",
"none": "None",
"notification-only": "التنبيهات فقط",
@@ -97,9 +98,5 @@
"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",
"activitypub.announce": "<strong>%1</strong> shared your post in <strong>%2</strong> to their followers.",
"activitypub.announce-dual": "<strong>%1</strong> and <strong>%2</strong> shared your post in <strong>%3</strong> to their followers.",
"activitypub.announce-triple": "<strong>%1</strong>, <strong>%2</strong> and <strong>%3</strong> shared your post in <strong>%4</strong> to their followers.",
"activitypub.announce-multiple": "<strong>%1</strong>, <strong>%2</strong> and %3 others shared your post in <strong>%4</strong> to their followers."
"notificationType-new-reward": "When you earn a new reward"
}

View File

@@ -36,7 +36,6 @@
"chat": "Chatting with %1",
"flags": "Flags",
"flag-details": "Flag %1 Details",
"world": "World",
"account/edit": "Editing \"%1\"",
"account/edit/password": "Editing password of \"%1\"",
"account/edit/username": "Editing username of \"%1\"",
@@ -63,7 +62,6 @@
"account/blocks": "Blocked users for %1",
"account/uploads": "Uploads by %1",
"account/sessions": "Login Sessions",
"account/shares": "Topics shared by %1",
"confirm": "تم التحقق من عنوان البريد الإلكتروني",
"maintenance.text": "%1 is currently undergoing maintenance.<br/>Please come back another time.",
"maintenance.messageIntro": "بالإضافة إلى ذلك، قام مدبر النظام بترك هذه الرسالة:",

View File

@@ -7,7 +7,5 @@
"alltime": "دائمًا",
"no-recent-topics": "لايوجد مواضيع جديدة",
"no-popular-topics": "لا يوجد مواضيع شائعة",
"load-new-posts": "Load new posts",
"uncategorized.title": "All known topics",
"uncategorized.intro": "This page shows a chronological listing of every topic that this forum has received.<br />The views and opinions expressed in the topics below are not moderated and may not represent the views and opinions of this website."
"load-new-posts": "Load new posts"
}

View File

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

View File

@@ -13,11 +13,8 @@
"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.topicSidebarTools": "Topic sidebar tools",
"settings.topicSidebarTools.help": "This option will move the topic tools to the sidebar on desktop",
"settings.autohideBottombar": "Auto hide mobile navigation bar",
"settings.autohideBottombar.help": "The mobile bar will be hidden when the page is scrolled down",
"settings.topMobilebar": "Move the mobile navigation bar to the top",
"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

@@ -27,7 +27,6 @@
"restore": "استعادة",
"move": "نقل",
"change-owner": "Change Owner",
"manage-editors": "Manage Editors",
"fork": "فرع",
"link": "رابط",
"share": "نشر",
@@ -61,8 +60,6 @@
"user-restored-topic-on": "%1 restored this topic on %2",
"user-moved-topic-from-ago": "%1 moved this topic from %2 %3",
"user-moved-topic-from-on": "%1 moved this topic from %2 on %3",
"user-shared-topic-ago": "%1 shared this topic %2",
"user-shared-topic-on": "%1 shared this topic on %2",
"user-queued-post-ago": "%1 <a href=\"%2\">queued</a> post for approval %3",
"user-queued-post-on": "%1 <a href=\"%2\">queued</a> post for approval on %3",
"user-referenced-topic-ago": "%1 <a href=\"%2\">referenced</a> this topic %3",
@@ -106,7 +103,6 @@
"thread-tools.move-posts": "Move Posts",
"thread-tools.move-all": "نقل الكل",
"thread-tools.change-owner": "Change Owner",
"thread-tools.manage-editors": "Manage Editors",
"thread-tools.select-category": "Select Category",
"thread-tools.fork": "إنشاء فرع الموضوع",
"thread-tools.tag": "Tag Topic",
@@ -137,7 +133,6 @@
"bookmarks": "Bookmarks",
"bookmarks.has-no-bookmarks": "You haven't bookmarked any posts yet.",
"copy-permalink": "Copy Permalink",
"go-to-original": "View Original Post",
"loading-more-posts": "تحميل المزيد من المشاركات",
"move-topic": "نقل الموضوع",
"move-topics": "نقل المواضيع",
@@ -162,7 +157,6 @@
"move-posts-instruction": "Click the posts you want to move then enter a topic ID or go to the target topic",
"move-topic-instruction": "Select the target category and then click move",
"change-owner-instruction": "Click the posts you want to assign to another user",
"manage-editors-instruction": "Manage the users who can edit this post below.",
"composer.title-placeholder": "أدخل عنوان موضوعك هنا...",
"composer.handle-placeholder": "Enter your name/handle here",
"composer.hide": "Hide",
@@ -222,7 +216,5 @@
"downvote-post": "Downvote post",
"post-tools": "Post tools",
"unread-posts-link": "Unread posts link",
"thumb-image": "Topic thumbnail image",
"announcers": "Shares",
"announcers-x": "Shares (%1)"
"thumb-image": "Topic thumbnail image"
}

View File

@@ -1,5 +1,5 @@
{
"user-menu": "قائمة المستخدم",
"user-menu": "User menu",
"banned": "محظور",
"unbanned": "Unbanned",
"muted": "كتم",
@@ -16,7 +16,7 @@
"ban-account": "حظر الحساب",
"ban-account-confirm": "هل تريد حقاً حظر هاذا العضو؟",
"unban-account": "إزالة حظر الحساب",
"mute-account": "كتم الحساب",
"mute-account": "Mute Account",
"unmute-account": "Unmute Account",
"delete-account": "حذف الحساب",
"delete-account-as-admin": "Delete <strong>Account</strong>",
@@ -39,7 +39,7 @@
"reputation": "السمعة",
"bookmarks": "المفضلات",
"watched-categories": "الأقسام المُتابعة",
"watched-tags": "الوسوم المُتابعة",
"watched-tags": "Watched tags",
"change-all": "غير الكل",
"watched": "متابع",
"ignored": "تم تجاهله",
@@ -47,7 +47,6 @@
"default-category-watch-state": "حالة مشاهدة اﻻقسام الافتراضية",
"followers": "المتابعون",
"following": "يتابع",
"shares": "Shares",
"blocks": "الكتل",
"blocked-users": "Blocked users",
"block-toggle": "تبديل الكتلة",
@@ -59,12 +58,9 @@
"chat": "محادثة",
"chat-with": "متابعة الدردشة مع %1",
"new-chat-with": "بدء دردشة جديدة مع %1",
"view-remote": "View Original",
"flag-profile": "ضع علامة على الملف الشخصي",
"profile-flagged": "Already flagged",
"follow": "تابع",
"unfollow": "إلغاء المتابعة",
"cancel-follow": "Cancel follow request",
"more": "المزيد",
"profile-update-success": "تم تحديث الملف الشخصي بنجاح",
"change-picture": "تغيير الصورة",
@@ -79,11 +75,11 @@
"upload-new-picture": "رفع صورة جديدة",
"upload-new-picture-from-url": "رفع صورة جديدة من رابط",
"current-password": "كلمة السر الحالية",
"new-password": "كلمة السر الجديدة",
"new-password": "New Password",
"change-password": "تغيير كلمة السر",
"change-password-error": "كلمة سر غير صحيحة",
"change-password-error-wrong-current": "كلمة السر الحالية ليست صحيحة",
"change-password-error-same-password": "كلمة السر الجديدة مطابقة لكلمة السر الحالية, فضلاً قم بإدخال كلمة سر جديدة.",
"change-password-error-same-password": "Your new password matches your current password, please use a new password.",
"change-password-error-match": "كلمة السر غير مطابقة لتأكيد كلمة السر",
"change-password-error-privileges": "ليس لديك الصلاحيات الكافية لتغيير كلمة السر هذه.",
"change-password-success": "تم تحديث كلمة السر خاصتك.",
@@ -105,10 +101,6 @@
"show-email": "أظهر بريدي الإلكتروني",
"show-fullname": "أظهر اسمي الكامل",
"restrict-chats": "لاتسمح بورود محادثات إلا من طرف المستخدمين الذين أتابعهم.",
"disable-incoming-chats": "Disable incoming chat messages <a data-bs-toggle=\"tooltip\" href=\"#\" title=\"Admins and moderators can still send you messages\"><i class=\"fa-solid fa-circle-info\"></i></a>",
"chat-allow-list": "Allow chat messages from the following users",
"chat-deny-list": "Deny chat messages from the following users",
"chat-list-add-user": "Add user",
"digest-label": "اشترك في النشرة الدورية",
"digest-description": "استلام اشعارات بآخر مستجدات هذا القسم (التنبيهات والمواضيع الجديدة) عبر البريد الإلكتروني وفقا لجدول زمني محدد.",
"digest-off": "غير مفعل",
@@ -123,12 +115,11 @@
"has-no-topics": "هذا المستخدم لم يكتب أي موضوع حتى الآن.",
"has-no-watched-topics": "هذا المستخدم لم يقم بمراقبة اية مواضيع حتى الآن.",
"has-no-ignored-topics": "هذا المستخدم لم يقم بتجاهل اية مواضيع حتى الآن.",
"has-no-read-topics": "هذا المستخدم لم يقم بقراءة أي مشاركة حتى الاّن.",
"has-no-read-topics": "This user hasn't read any topics yet.",
"has-no-upvoted-posts": "هذا المستخدم لم يقم بالتصويت للأعلى لأي مشاركة حتى الآن.",
"has-no-downvoted-posts": "هذا المستخدم لم يقم بالتصويت للأسفل لأي مشاركة حتى الآن.",
"has-no-controversial-posts": "هذا المستخدم ﻻيمتلك تصويت للأسفل لأي مشاركة حتى الآن.",
"has-no-blocks": "أنت لم تحظر اي مستخدم",
"has-no-shares": "This user has not shared any topics.",
"email-hidden": "البريد الإلكتروني مخفي",
"hidden": "مخفي",
"paginate-description": "عرض المواضيع والردود موزعة على صفحات عوضاً عن التمرير اللانهائي.",

View File

@@ -1,5 +1,5 @@
{
"all-users": "كل المستخدمين",
"all-users": "All Users",
"followed-users": "Followed Users",
"latest-users": "أحدث الأعضاء",
"top-posters": "اﻷكثر مشاركة",

View File

@@ -1,21 +0,0 @@
{
"name": "World",
"popular": "Popular topics",
"recent": "All topics",
"help": "Help",
"help.title": "What is this page?",
"help.intro": "Welcome to your corner of the fediverse.",
"help.fediverse": "The \"fediverse\" is a network of interconnected applications and websites that all talk to one another and whose users can see each other. This forum is federated, and can interact with that social web (or \"fediverse\"). This page is your corner of the fediverse. It consists solely of topics created by — and shared from — users <strong>you</strong> follow.",
"help.build": "There might not be a lot of topics here to start; that's normal. You will start to see more content here over time when you start following other users.",
"help.federating": "Likewise, if users from outside of this forum start following <em>you</em>, then your posts will start appearing on those apps and websites as well.",
"help.next-generation": "This is the next generation of social media, start contributing today!",
"onboard.title": "Your window to the fediverse...",
"onboard.what": "This is your personalized category made up of only content found outside of this forum. Whether something shows up in this page depends on whether you follow them, or whether that post was shared by someone you follow.",
"onboard.why": "There's a lot that goes on outside of this forum, and not all of it is relevant to your interests. That's why following people is the best way to signal that you want to see more from someone.",
"onboard.how": "In the meantime, you can click on the shortcut buttons at the top to see what else this forum knows about, and start discovering some new content!",
"show-categories": "Show categories",
"hide-categories": "Hide categories"
}

View File

@@ -1,3 +0,0 @@
# The files here are not meant to be edited directly
Please see the &rarr; [Internalization README](../README.md).

View File

@@ -1,18 +0,0 @@
{
"alert.confirm-rebuild-and-restart": "NodeBB-ni yenidən qurmaq və yenidən başlatmaq istədiyinizə əminsiniz?",
"alert.confirm-restart": "NodeBB-ni yenidən başlatmaq istədiyinizə əminsiniz?",
"acp-title": "%1 | NodeBB İdarəetmə Paneli",
"settings-header-contents": "Məzmun",
"changes-saved": "Dəyişikliklər yadda saxlandı",
"changes-saved-message": "NodeBB konfiqurasiyasına etdiyiniz dəyişikliklər yadda saxlanıldı.",
"changes-not-saved": "Dəyişikliklər saxlanmadı",
"changes-not-saved-message": "NodeBB dəyişikliklərinizi yadda saxlayarkən problemlə qarşılaşdı. (% 1)",
"save-changes": "Dəyişiklikləri yadda saxlayın",
"min": "Min:",
"max": "Maks:",
"view": "Bax",
"edit": "Redaktə et",
"add": "Əlavə et",
"select-icon": "İkonu seç"
}

View File

@@ -1,10 +0,0 @@
{
"cache": "Keş",
"post-cache": "Yazıların keşi",
"group-cache": "Qrup keşi",
"local-cache": "Lokal keş",
"object-cache": "Obyekt keşi",
"percent-full": "%1% dolu",
"post-cache-size": "Yazıların keş ölçüsü",
"items-in-cache": "Keşdəki elementlər"
}

View File

@@ -1,52 +0,0 @@
{
"x-b": "%1 b",
"x-mb": "%1 mb",
"x-gb": "%1 gb",
"uptime-seconds": "Saniyələrlə işləmə müddəti",
"uptime-days": "Günlərlə işləmə müddəti",
"mongo": "MongoDB",
"mongo.version": "MongoDB versiyası",
"mongo.storage-engine": "Saxlama Motoru",
"mongo.collections": "Kolleksiyalar",
"mongo.objects": "Obyektlər",
"mongo.avg-object-size": "Orta. Obyekt Ölçüsü",
"mongo.data-size": "Data ölçüsü",
"mongo.storage-size": "Yaddaş ölçüsü",
"mongo.index-size": "İndeks ölçüsü",
"mongo.file-size": "Fayl ölçüsü",
"mongo.resident-memory": "Rezident yaddaş",
"mongo.virtual-memory": "Virtual yaddaş",
"mongo.mapped-memory": "Xəritəli yaddaş",
"mongo.bytes-in": "Daxil olan Baytlar",
"mongo.bytes-out": "Xaric olan Baytlar",
"mongo.num-requests": "Sorğuların sayı",
"mongo.raw-info": "MongoDB raw məlumatı",
"mongo.unauthorized": "NodeBB müvafiq statistika üçün MongoDB verilənlər bazasını sorğulaya bilmədi. NodeBB tərəfindən istifadə edilən istifadəçinin &quot;clusterMonitor&quot; &quot;admin&quot; üçün rol; verilənlər bazası.",
"redis": "Redis",
"redis.version": "Redis versiyası",
"redis.keys": "Açarlar",
"redis.expires": "Vaxtı bitir",
"redis.avg-ttl": "Ortalama TTL",
"redis.connected-clients": "Qoşulmuş müştərilər",
"redis.connected-slaves": "Əlaqədar qullar",
"redis.blocked-clients": "Blok edilmiş müştərilər",
"redis.used-memory": "İstifadə edilən yaddaş",
"redis.memory-frag-ratio": "Yaddaşın fraqmentasiya nisbəti",
"redis.total-connections-recieved": "Alınan ümumi əlaqələr",
"redis.total-commands-processed": "Cəmi əmrlər işlənib",
"redis.iops": "Dərhal əməliyyatlar. Saniyədə",
"redis.iinput": "Saniyədə ani daxiletmə",
"redis.ioutput": "Saniyədə ani çıxış",
"redis.total-input": "Ümumi giriş",
"redis.total-output": "Ümumi çıxış",
"redis.keyspace-hits": "Klaviatura xitləri",
"redis.keyspace-misses": "Klaviatura boşluqları boşdur",
"redis.raw-info": "Redis raw məlumatı",
"postgres": "Postgres",
"postgres.version": "PostgreSQL sersiyası",
"postgres.raw-info": "Postgres raw məlumatı"
}

View File

@@ -1,15 +0,0 @@
{
"errors": "Xətalar",
"figure-x": "Şəkil %1",
"error-events-per-day": "Gündə <code>%1</code> hadisə",
"error.404": "404 tapılmadı",
"error.503": "503 xidmət əlçatan deyil",
"manage-error-log": "Xəta qeydlərini idarə et",
"export-error-log": "İxrac xətası jurnalı (CSV)",
"clear-error-log": "Xəta loqlarını sil",
"route": "Marşrut",
"count": "Say",
"no-routes-not-found": "Yaşasın! 404 səhv yoxdur!",
"clear404-confirm": "404 xəta qeydlərini təmizləmək istədiyinizə əminsiniz?",
"clear404-success": "\"404 Tapılmadı\" xətaları silindi"
}

View File

@@ -1,17 +0,0 @@
{
"events": "Hadisələr",
"no-events": "Hadisə yoxdur",
"control-panel": "Hadisələrin İdarəetmə Paneli",
"delete-events": "Tədbirləri sil",
"confirm-delete-all-events": "Daxil edilmiş bütün hadisələri silmək istədiyinizə əminsiniz?",
"filters": "Filtrlər",
"filters-apply": "Filtrləri tətbiq et",
"filter-type": "Hadisə növü",
"filter-start": "Başlama tarixi",
"filter-end": "Bitmə tarixi",
"filter-user": "İstifadəçiyə görə filtrlə",
"filter-user.placeholder": "Filtr etmək üçün istifadəçi adını daxil edin...",
"filter-group": "Qrup üzrə filtrlə",
"filter-group.placeholder": "Filtr etmək üçün qrup adını yazın...",
"filter-per-page": "Hər səhifə üçün"
}

View File

@@ -1,7 +0,0 @@
{
"logs": "Loqlar",
"control-panel": "Loqların idarəetmə paneli",
"reload": "Loqları yenidən yükləyin",
"clear": "Loqları təmizləyin",
"clear-success": "Loqlar təmizləndi!"
}

View File

@@ -1,20 +0,0 @@
{
"customise": "Fərdiləşdirmək",
"custom-css": "Fərdi CSS/SASS",
"custom-css.description": "Buraya bütün digər üslublardan sonra tətbiq olunacaq öz CSS/SASS bəyannamələrinizi daxil edin.",
"custom-css.enable": "Fərdi CSS/SASS-ı aktiv edin",
"custom-js": "Fərdi JavaScript",
"custom-js.description": "Burada öz javascriptinizi daxil edin. Səhifə tamamilə yükləndikdən sonra yerinə yetiriləcək.",
"custom-js.enable": "Fərdi Javascript-i aktiv edin",
"custom-header": "Fərdi başlıq",
"custom-header.description": "Bura xüsusi HTML daxil edin (məs. Meta Teqlər və s.), o <code>&lt;head&gt;</code> forumunuzun işarələmə bölməsi. <a href=\"#custom-js\" data-toggle=\"tab\">Xüsusi Javascript</a> nişanı mövcud olduğu üçün skript teqlərinə icazə verilir, lakin bunlar qadağandır.",
"custom-header.enable": "Fərdi Başlığı aktivləşdir",
"custom-css.livereload": "Canlı Yenidən Yükləməni aktiv et",
"custom-css.livereload.description": "Hesabınızın altındakı hər bir cihazdakı bütün sessiyaları yadda saxla düyməsini kliklədiyiniz zaman yeniləməyə məcbur etmək üçün bunu aktiv edin",
"bsvariables": "_variables.scss",
"bsvariables.description": "Bootstrap dəyişənlərini burada ləğv edin. Siz həmçinin <a href=\"https://bootstrap.build/app\">bootstrap.build</a> kimi alətdən istifadə edib nəticəni bura yapışdıra bilərsiniz. <br/>Dəyişikliklər yenidən qurmaq və yenidən işə salmaq tələb olunur.",
"bsvariables.enable": "_variables.scss-i aktivləşdirin"
}

View File

@@ -1,18 +0,0 @@
{
"skins": "Örtüklər",
"bootswatch-skins": "Bootswatch örtükləri",
"custom-skins": "Fərdi örtüklər",
"add-skin": "Örtük əlavə et",
"save-custom-skins": "Fərdi örtüyü saxla",
"save-custom-skins-success": "Fərdi örtüklər uğurla yadda saxlanıldı",
"custom-skin-name": "Fərdi örtük adı",
"custom-skin-variables": "Fərdi örtük dəyişənləri",
"loading": "Örtüklər yüklənir...",
"homepage": "Əsas səhifə",
"select-skin": "Örtüyü seçin",
"revert-skin": "Örtüyü bərpa edin",
"current-skin": "Cari örtük",
"skin-updated": "Örtük yeniləndi",
"applied-success": "%1 örtük uğurla tətbiq olundu",
"revert-success": "Örtük əsas rənglərə qayıtdı"
}

View File

@@ -1,13 +0,0 @@
{
"themes": "Mövzular",
"checking-for-installed": "Quraşdırılmış mövzular yoxlanılır...",
"homepage": "Əsas səhifə",
"select-theme": "Mövzu seç",
"revert-theme": "Mövzunu geri qaytar",
"current-theme": "Cari mövzu",
"no-themes": "Quraşdırılmış mövzu tapılmadı",
"revert-confirm": "Defolt NodeBB mövzusunu bərpa etmək istədiyinizə əminsiniz?",
"theme-changed": "Mövzu dəyişdirildi",
"revert-success": "Siz NodeBB-ni müvəffəqiyyətlə defolt mövzuya qaytardınız.",
"restart-to-activate": "Zəhmət olmasa, bu mövzunu tam aktivləşdirmək üçün NodeBB-ni yenidən qurun və başladın."
}

View File

@@ -1,102 +0,0 @@
{
"forum-traffic": "Forum trafiki",
"page-views": "Səhifə baxışları",
"unique-visitors": "Unikal ziyarətçilər",
"logins": "Daxil olmalar",
"new-users": "Yeni istifadəçilər",
"posts": "Yazılar",
"topics": "Mövzular",
"page-views-seven": "Son 7 Gün",
"page-views-thirty": "Son 30 Gün",
"page-views-last-day": "Son 24 saat",
"page-views-custom": "Fərdi tarix aralığı",
"page-views-custom-start": "Aralığın başlanğıcı",
"page-views-custom-end": "Aralığın sonu",
"page-views-custom-help": "Baxmaq istədiyiniz səhifə baxışlarının tarix diapazonunu daxil edin. Əgər tarix seçici mövcud deyilsə, qəbul edilən format <code>YYYY-AA-GG</code>-dir",
"page-views-custom-error": "Lütfən, <code>YYYY-AA-GG</code> formatında etibarlı tarix diapazonu daxil edin",
"stats.yesterday": "Dünən",
"stats.today": "Bu gün",
"stats.last-week": "Keçən həftə",
"stats.this-week": "Bu həftə",
"stats.last-month": "Keçən ay",
"stats.this-month": "Bu ay",
"stats.all": "Bütün zamanlar",
"updates": "Yeniləmələr",
"running-version": "Siz NodeBB v%1 işlədirsiniz.",
"keep-updated": "Həmişə NodeBB-nin ən son təhlükəsizlik yamaları və xətaların düzəldilməsi üçün yeni olduğundan əmin olun.",
"up-to-date": "Siz son <strong>variantasınız</strong> <i class=\"fa fa-check\"></i>",
"upgrade-available": "Yeni versiya (v%1) buraxılmışdır. NodeBB-ni <a href=\"https://docs.nodebb.org/configuring/upgrade/\" target=\"_blank\">təkmilləşdirməyi nəzərdən keçirin</a>.",
"prerelease-upgrade-available": "Bu, NodeBB proqramının köhnəlmiş buraxılışdan əvvəlki versiyasıdır. Yeni versiya (v%1) buraxılmışdır. NodeBB-ni <a href=\"https://docs.nodebb.org/configuring/upgrade/\" target=\"_blank\">təkmilləşdirməyi nəzərdən keçirin</a>.",
"prerelease-warning": "Bu, NodeBB-nin <strong>buraxılışdan öncəki</strong> versiyasıdır. Gözlənilməz səhvlər baş verə bilər. <i class=\"fa fa-exclamation-triangle\"></i>",
"fallback-emailer-not-found": "Yekun e-poçt göndərişi tapılmadı!",
"running-in-development": "Forum inkişaf rejimində işləyir. Forum potensial boşluqlar üçün açıq ola bilər; lütfən sistem inzibatçısı ilə əlaqə saxlayın",
"latest-lookup-failed": "NodeBB-nin ən son mövcud versiyasını axtarmaq alınmadı",
"notices": "Bildirişlər",
"restart-not-required": "Yenidən başlama tələb olunmur",
"restart-required": "Yenidən başlatma tələb olunur",
"search-plugin-installed": "Axtarış plagini quraşdırılıb",
"search-plugin-not-installed": "Axtarış plagini quraşdırılmayıb",
"search-plugin-tooltip": "Axtarış funksiyasını aktivləşdirmək üçün plagin səhifəsindən axtarış plaqini quraşdır",
"control-panel": "Sistem nəzarəti",
"rebuild-and-restart": "Yenidən qur &amp; başlat",
"restart": "Yenidən başlat",
"restart-warning": "NodeBB-nin yenidən qurulması və ya yenidən işə salınması bütün mövcud əlaqələri bir neçə saniyəyə kəsəcək.",
"restart-disabled": "NodeBB-nin yenidən qurulması və yenidən işə salınması qeyri-aktiv edilib, çünki siz onu uyğun demon vasitəsilə idarə etmirsiniz.",
"maintenance-mode": "Texniki baxım rejimi",
"maintenance-mode-title": "NodeBB üçün texniki xidmət rejimini qurmaq üçün bura kliklə",
"dark-mode": "Qaranlıq rejimi",
"realtime-chart-updates": "Real vaxt qrafiki yeniləmələri",
"active-users": "Aktiv istifadəçilər",
"active-users.users": "İstifadəçilər",
"active-users.guests": "Qonaqlar",
"active-users.total": "Cəmi",
"active-users.connections": "Bağlantılar",
"guest-registered-users": "Qonaq və Qeydiyyatdan keçmiş istifadəçilər",
"guest": "Qonaq",
"registered": "Qeydiyyatdan keçib",
"user-presence": "İstifadəçi mövcudluğu",
"on-categories": "Kateqoriyalar siyahısında",
"reading-posts": "Yazıların oxunması",
"browsing-topics": "Mövzulara baxış",
"recent": "Ən yeni",
"unread": "Oxunmamış",
"high-presence-topics": "Yüksək mövzular",
"popular-searches": "Populyar axtarışlar",
"graphs.page-views": "Səhifə baxışları",
"graphs.page-views-registered": "Səhifə Baxışları qeydə alınıb",
"graphs.page-views-guest": "Səhifə baxışı qonaq",
"graphs.page-views-bot": "Səhifə baxış botu",
"graphs.page-views-ap": "ActivityPub Page Views",
"graphs.unique-visitors": "Unikal ziyarətçilər",
"graphs.registered-users": "Qeydiyyatdan keçmiş istifadəçilər",
"graphs.guest-users": "Qonaqlar",
"last-restarted-by": "Sonuncu dəfə yenidən başlat",
"no-users-browsing": "Axtarış edən heç bir istifadəçi yoxdur",
"back-to-dashboard": "İdarə Panelinə qayıt",
"details.no-users": "Seçilmiş müddət ərzində heç bir istifadəçi qoşulmayıb",
"details.no-topics": "Seçilmiş vaxt çərçivəsində heç bir mövzu yerləşdirilməyib",
"details.no-searches": "Seçilmiş müddət ərzində heç bir axtarış aparılmayıb",
"details.no-logins": "Seçilmiş müddət ərzində heç bir giriş qeydə alınmayıb",
"details.logins-static": "NodeBB yalnız %1 gün ərzində sessiya məlumatlarını saxlayır və buna görə də aşağıdakı cədvəldə yalnız ən son aktiv sessiyalar göstəriləcək",
"details.logins-login-time": "Daxil olma vaxtı",
"start": "Başlanğıc",
"end": "Son",
"filter": "Filtr",
"view-as-json": "JSON kimi bax",
"expand-analytics": "Analitikanı genişləndir",
"clear-search-history": "Axtarış tarixçəsini təmizlə",
"clear-search-history-confirm": "Bütün axtarış tarixçəsini təmizləmək istədiyinizə əminsiniz?",
"search-term": "Qayda",
"search-count": "Say",
"view-all": "Hamısına bax"
}

View File

@@ -1,26 +0,0 @@
{
"you-are-on": "Siz <strong>%1:%2</strong>-dəsiniz",
"ip": "IP <strong>%1</strong>",
"nodes-responded": "%1 nod %2ms ərzində cavab verdi!",
"host": "host",
"primary": "əsas / iş",
"pid": "pid",
"nodejs": "nodejs",
"online": "onlayn",
"git": "git",
"process-memory": "proses yaddaşı",
"system-memory": "sistem yaddaşı",
"used-memory-process": "Proseslər yaddaşdan istifadə edir",
"used-memory-os": "İstifadə olunmuş sistem yaddaşı",
"total-memory-os": "Ümumi sistem yaddaşı",
"load": "sistem yükləməsi",
"cpu-usage": "CPU istifadəsi",
"uptime": "işləmə müddəti",
"registered": "Qeydiyyatdan keçib",
"sockets": "Sockets",
"connection-count": "Bağlantı sayı",
"guests": "Qonaqlar",
"info": "Məlumat"
}

View File

@@ -1,13 +0,0 @@
{
"logger": "Logger",
"logger-settings": "Logger ayarları",
"description": "Yoxlama qutularını aktivləşdirməklə, siz terminalınıza qeydlər alacaqsınız. Bir yol göstərsəniz, qeydlər bunun əvəzinə faylda saxlanacaq. HTTP girişi, forumunuzda insanların kim, nə vaxt və nəyə daxil olması ilə bağlı statistika toplamaq üçün faydalıdır. HTTP sorğularını qeyd etməklə yanaşı, biz socket.io hadisələrini də qeyd edə bilərik. Socket.io girişi, redis-cli monitoru ilə birlikdə NodeBB-nin daxili hissələrini öyrənmək üçün çox faydalı ola bilər.",
"explanation": "Aktivləşdirmək və ya söndürmək üçün sadəcə giriş parametrlərini çek/ançek edin. Yenidən başlatmağa ehtiyac yoxdur.",
"enable-http": "HTTP loqunu aktiv edin",
"enable-socket": "Socket.io hadisə qeydini aktiv edin",
"file-path": "Loq faylına yol",
"file-path-placeholder": "/path/to/log/file.log ::: terminalınıza loqlamaq üçün boş saxlayın",
"control-panel": "Logger idarəetmə paneli",
"update-settings": "Logger parametrlərini yenilə"
}

View File

@@ -1,58 +0,0 @@
{
"plugins": "Plaginlər",
"trending": "Trend",
"installed": "Quraşdırılıb",
"active": "Aktiv",
"inactive": "Qeyri-aktiv",
"out-of-date": "Vaxtı keçmiş",
"none-found": "Heç bir plagin tapılmadı.",
"none-active": "Aktiv plaginlər yoxdur",
"find-plugins": "Pluginləri tapın",
"plugin-search": "Plugin axtarışı",
"plugin-search-placeholder": "Plugin axtarın...",
"submit-anonymous-usage": "Anonim plagin istifadə məlumatlarını təqdim edin.",
"reorder-plugins": "Pluginləri təkrar sifariş et",
"order-active": "Aktiv plaginlər sifariş et",
"dev-interested": "NodeBB üçün plaginlər yazmaqla maraqlanırsınız?",
"docs-info": "Plugin müəllifliyi ilə bağlı tam sənədləri <a target=\"_blank\" href=\"https://docs.nodebb.org/development/plugins/\">NodeBB Sənədlər Portalında</a> tapa bilərsiniz.",
"order.description": "Bəzi plaginlər digər plaginlərdən əvvəl/sonra işə salındıqda ideal şəkildə işləyir.",
"order.explanation": "Pluginlər burada göstərilən ardıcıllıqla yuxarıdan aşağı yüklənir",
"plugin-item.themes": "Mövzular",
"plugin-item.deactivate": "Deaktiv et",
"plugin-item.activate": "Aktiv et",
"plugin-item.install": "Quraşdır",
"plugin-item.uninstall": "Sil",
"plugin-item.settings": "Parametrlər",
"plugin-item.installed": "Quraşdırılıb",
"plugin-item.latest": "Ən son",
"plugin-item.upgrade": "Təkmilləşdir",
"plugin-item.more-info": "Ətraflı məlumat üçün:",
"plugin-item.unknown": "Naməlum",
"plugin-item.unknown-explanation": "Bu plaqinin vəziyyəti yanlış konfiqurasiya xətası səbəbindən müəyyən edilə bilmədi.",
"plugin-item.compatible": "Bu plagin NodeBB %1-də işləyir",
"plugin-item.not-compatible": "Bu plaqinin uyğunluq məlumatı yoxdur, prod mühitinizdə quraşdırmadan əvvəl onun işlədiyinə əmin olun.",
"alert.enabled": "Plugin aktivdir",
"alert.disabled": "Plugin deaktivdir",
"alert.upgraded": "Plugin təkmilləşdirildi",
"alert.installed": "Plugin quraşdırılıb",
"alert.uninstalled": "Plugin silindi",
"alert.activate-success": "Bu plaqini tam aktivləşdirmək üçün NodeBB-ni yenidən qurun və yenidən başladın",
"alert.deactivate-success": "Plugin uğurla deaktiv edildi",
"alert.upgrade-success": "Bu plaqini tam təkmilləşdirmək üçün NodeBB-ni yenidən qurun və yenidən başladın.",
"alert.install-success": "Plugin uğurla quraşdırıldı, lütfən, plaqini aktivləşdirin.",
"alert.uninstall-success": "Plugin uğurla deaktiv edildi və silindi.",
"alert.suggest-error": "<p>NodeBB paket menecerinə çata bilmədi, ən son versiyanın quraşdırılmasına davam edin?</p><div class=\"alert alert-danger\"><strong> Server qaytarıldı (%1)</strong>: %2</div>",
"alert.package-manager-unreachable": "<p>NodeBB paket menecerinə müraciət edə bilmədi, hazırda təkmilləşdirmə təklif edilmir.</p>",
"alert.incompatible": "<p>NodeBB versiyanız (v%1) yalnız bu plaqinin v%2-yə yüksəldilməsi üçün silinib. Bu plaqinin daha yeni versiyasını quraşdırmaq istəyirsinizsə, lütfən, NodeBB-ni yeniləyin.</p>",
"alert.possibly-incompatible": "<div class=\"alert alert-warning\"><p><strong>Uyğunluq haqqında məlumat tapılmadı. </strong></p><p>Bu plagin sizin NodeBB versiyanızı nəzərə alaraq quraşdırma üçün xüsusi versiyanı təyin etməyib.</p></div><p> Tam uyğunluğa zəmanət verilə bilməz və NodeBB-nin artıq düzgün başlamamasına səbəb ola bilər. NodeBB düzgün yüklənə bilmədikdə:<pre><code>$ ./nodebb reset plugin=\"%1\"</code></pre><p>Bu plaqinin ən son versiyasının quraşdırılmasına davam edilsin?</p>",
"alert.reorder": "Pluginlər yenidən sifariş edildi",
"alert.reorder-success": "Prosesi tam başa çatdırmaq üçün NodeBB-ni yenidən qurun və yenidən başladın.",
"license.title": "Plugin lisenziya məlumatı",
"license.intro": "%1 plaqini %2 altında lisenziyalaşdırılıb. Bu plagini aktivləşdirməzdən əvvəl lisenziya şərtlərini oxuyun və anlayın.",
"license.cta": "Bu plaqini aktivləşdirməyə davam etmək istəyirsiniz?"
}

View File

@@ -1,17 +0,0 @@
{
"rewards": "Mükafatlar",
"add-reward": "Mükafat əlavə et",
"condition-if-users": "Əgər istifadəçi",
"condition-is": "Əgər:",
"condition-then": "O zaman:",
"max-claims": "Mükafatın tələb oluna biləcəyi vaxtların miqdarı",
"zero-infinite": "Sonsuzluq üçün 0 daxil edin",
"select-reward": "Mükafat seç",
"delete": "Sil",
"enable": "Aktivləşdir",
"disable": "Qeyri-aktiv et",
"alert.delete-success": "Mükafat uğurla silindi",
"alert.no-inputs-found": "Xətalı mükafat - heç bir giriş tapılmadı!",
"alert.save-success": "Mükafatlar müvəffəqiyyətlə yadda saxlanıldı"
}

View File

@@ -1,37 +0,0 @@
{
"widgets": "Vidjetlər",
"available": "Mövcud vidjetlər",
"explanation": "Açılan menyudan vidceti seçin və sonra onu sol tərəfdəki şablonun widget sahəsinə sürükləyib buraxın.",
"none-installed": "Heç bir vidcet tapılmadı! <a href=\"%1\">Pluginlərin</a> idarəetmə panelində əsas vidjet plaginini aktivləşdirin.",
"clone-from": "Vidjetləri klonla",
"containers.available": "Mövcud konteynerlər",
"containers.explanation": "İstənilən vidcetin üzərinə sürükləyin və buraxın",
"containers.none": "Heç biri",
"container.well": "Yaxşı",
"container.jumbotron": "Jumbotron",
"container.card": "Kart",
"container.card-header": "Kart başlığı",
"container.card-body": "Kart gövdəsi",
"container.title": "Başlıq",
"container.body": "Gövdə",
"container.alert": "Xəbərdarlıq",
"alert.confirm-delete": "Bu vidceti silmək istədiyinizə əminsiniz?",
"alert.updated": "Vidjetlər yeniləndi",
"alert.update-success": "Vidjetlər uğurla yeniləndi",
"alert.clone-success": "Vidjetlər uğurla klonlandı",
"error.select-clone": "Zəhmət olmasa klonlamaq üçün səhifə seçin",
"title": "Başlıq",
"title.placeholder": "Başlıq (yalnız bəzi konteynerlərdə göstərilir)",
"container": "Konteyner",
"container.placeholder": "Konteyneri sürükləyib buraxın və ya bura HTML daxil edin.",
"show-to-groups": "Qruplara göstər",
"hide-from-groups": "Qruplardan gizlət",
"start-date": "Başlama tarixi",
"end-date": "Bitmə tarixi",
"hide-on-mobile": "Mobildə gizlət",
"hide-drafts": "Qaralamaları gizlət",
"show-drafts": "Qaralamaları göstər"
}

View File

@@ -1,13 +0,0 @@
{
"manage-admins-and-mods": "Adminləri və Moderlərı idarə et",
"administrators": "Administratorlar",
"global-moderators": "Qlobal moderatorlar",
"moderators": "Moderatorlar",
"no-global-moderators": "Qlobal moderator yoxdur",
"no-sub-categories": "Alt kateqoriya yoxdur",
"view-children": "Uşaqlara baxmaq (% 1)",
"no-moderators": "Moderator yoxdur",
"add-administrator": "Administrator əlavə et",
"add-global-moderator": "Qlobal moderator əlavə et",
"add-moderator": "Moderator əlavə et"
}

View File

@@ -1,134 +0,0 @@
{
"manage-categories": "Kateqoriyaları idarə et",
"add-category": "Kateqoriya əlavə et",
"add-local-category": "Add Local category",
"add-remote-category": "Add Remote category",
"remove": "Remove",
"rename": "Rename",
"jump-to": "Keç...",
"settings": "Kateqoriya parametrləri",
"edit-category": "Kateqoriyanı redaktə et",
"privileges": "İmtiyazlar",
"back-to-categories": "Kateqoriyalara qayıt",
"id": "Category ID",
"name": "Kateqoriya adı",
"handle": "Kateqoriya dəstəyi",
"handle.help": "Kateqoriya dəstəyiniz istifadəçi adına bənzər digər şəbəkələrdə bu kateqoriyanın təmsili kimi istifadə olunur. Kateqoriya sapı mövcud istifadəçi adı və ya istifadəçi qrupuna uyğun olmamalıdır.",
"description": "Kateqoriya təsviri",
"federatedDescription": "Federasiya təsviri",
"federatedDescription.help": "Bu mətn digər vebsaytlar/tətbiqlər tərəfindən sorğulandıqda kateqoriya təsvirinə əlavə olunacaq.",
"federatedDescription.default": "Bu, aktual müzakirələrdən ibarət forum kateqoriyasıdır. Bu kateqoriyanı qeyd etməklə yeni müzakirələrə başlaya bilərsiniz.",
"topic-template": "Topic Template",
"topic-template.help": "Define a template for new topics created in this category.",
"bg-color": "Arxa fon rəngi",
"text-color": "Mətnin rəngi",
"bg-image-size": "Fon şəklinin ölçüsü",
"custom-class": "Fərdi sinif",
"num-recent-replies": "# son cavablar",
"ext-link": "# son cavablar",
"subcategories-per-page": "Səhifə başına alt kateqoriyalar",
"is-section": "Bu kateqoriyanı bir bölmə kimi nəzərə al",
"post-queue": "Yazı növbəsi",
"tag-whitelist": "İcazəli təq",
"upload-image": "Şəkil yüklə",
"upload": "Yüklə",
"delete-image": "Sil",
"category-image": "Kateqoriya şəkli",
"image-and-icon": "Şəkil və ikon",
"parent-category": "Ana kateqoriya",
"optional-parent-category": "(İstəyə görə) Ana kateqoriya",
"top-level": "Yuxarı səviyyə",
"parent-category-none": "(Heç biri)",
"copy-parent": "Valideyni kopyala",
"copy-settings": "Parametrləri kopyala",
"optional-clone-settings": "(İstəyə bağlı) Kateqoriyadan parametrləri klonla",
"clone-children": "Uşaq kateqoriyalarını və parametrlərini klonla",
"purge": "Kateqoriyanı təmizlə",
"enable": "Aktivləşdir",
"disable": "Qeyri-aktiv et",
"edit": "Redaktə et",
"analytics": "Analitika",
"federation": "Federasiya",
"view-category": "Kateqoriyaya bax",
"set-order": "Ardıcıllığı təyin et",
"set-order-help": "Kateqoriya sırasının təyin edilməsi bu kateqoriyanı həmin sıraya köçürəcək və lazım gəldikdə digər kateqoriyaların sırasını yeniləyəcək. Minimum sifariş 1-dir ki, bu da kateqoriyanı yuxarıya qoyur.",
"select-category": "Kateqoriya seç",
"set-parent-category": "Ana kateqoriya seç",
"privileges.description": "Siz bu bölmədə saytın hissələri üçün girişə nəzarət imtiyazlarını konfiqurasiya edə bilərsiniz. İmtiyazlar hər istifadəçi və ya qrup üzrə verilə bilər. Aşağıdakıılan menyudan təsir sahəsini seçin.",
"privileges.category-selector": "İmtiyazların konfiqurasiyası",
"privileges.warning": "<strong>Qeyd</strong>: İmtiyaz parametrləri dərhal qüvvəyə minir. Bu parametrləri tənzimlədikdən sonra kateqoriyanı saxlamaq lazım deyil.",
"privileges.section-viewing": "Baxış imtiyazları",
"privileges.section-posting": "Yazıların imtiyazları",
"privileges.section-moderation": "Moderasiya imtiyazları",
"privileges.section-other": "Digər",
"privileges.section-user": "İstifadəçi",
"privileges.search-user": "İstifadəçi əlavə et",
"privileges.no-users": "Bu kateqoriyada istifadəçiyə məxsus imtiyazlar yoxdur.",
"privileges.section-group": "Qrup",
"privileges.group-private": "Bu qrup şəxsidir",
"privileges.inheritance-exception": "Bu qrup qeydiyyatdan keçmiş istifadəçilər qrupundan imtiyazları devralmır",
"privileges.banned-user-inheritance": "Qadağan edilmiş istifadəçilər qadağan olunmuş istifadəçilər qrupundan imtiyazları miras alırlar",
"privileges.search-group": "Qrup əlavə et",
"privileges.copy-to-children": "Uşaqlara kopyala",
"privileges.copy-from-category": "Kateqoriyadan kopyala",
"privileges.copy-privileges-to-all-categories": "Bütün kateqoriyalara kopyala",
"privileges.copy-group-privileges-to-children": "Bu qrupun imtiyazlarını bu kateqoriyadan olan uşaqlara köçür",
"privileges.copy-group-privileges-to-all-categories": "Bu qrupun imtiyazlarını bütün kateqoriyalara köçür",
"privileges.copy-group-privileges-from": "Bu qrupun imtiyazlarını başqa kateqoriyadan köçür",
"privileges.inherit": "<code>Qeydiyyatdan keçmiş istifadəçilər</code> qrupuna xüsusi imtiyaz verilirsə, bütün digər qruplar açıq şəkildə müəyyən edilməmiş/yoxlanılmamış olsa belə, <strong>gizli imtiyaz</strong> alır. Bu gizli imtiyaz sizə göstərilir, çünki bütün istifadəçilər <code>qeydiyyatdan keçmiş istifadəçilər</code> qrupunun bir hissəsidir və buna görə də əlavə qruplar üçün imtiyazların açıq şəkildə verilməsinə ehtiyac yoxdur.",
"privileges.copy-success": "İmtiyazlar kopyalandı!",
"analytics.back": "Kateqoriyalar siyahısına qayıt",
"analytics.title": "\"% 1\" kateqoriyası üçün analitika",
"analytics.pageviews-hourly": "<strong>Şəkil 1</strong> &ndash; Bu kateqoriya üçün saatlıq səhifə baxışları</small>",
"analytics.pageviews-daily": "<strong>Şəkil 2</strong> &ndash; Bu kateqoriya üçün gündəlik səhifə baxışları</small>",
"analytics.topics-daily": "<strong>Şəkil 3</strong> &ndash; Bu kateqoriyada yaradılan gündəlik mövzular</small>",
"analytics.posts-daily": "<strong>Şəkil 4</strong> &ndash; Bu kateqoriyada gündəlik yazılar hazırlanır</small>",
"federation.title": "\"%1\" kateqoriyası üçün federasiya parametrləri",
"federation.disabled": "Federasiya sayt boyu deaktiv edilib, buna görə kateqoriya federasiya parametrləri hazırda əlçatan deyil.",
"federation.disabled-cta": "Federasiya parametrləri &rarr;",
"federation.syncing-header": "Sinxronizasiya",
"federation.syncing-intro": "Kateqoriya ActivityPub protokolu vasitəsilə \"Qrup Aktyoru\"nu izləyə bilər. Məzmun aşağıda sadalanan aktyorlardan birindən alınarsa, o, avtomatik olaraq bu kateqoriyaya əlavə olunacaq.",
"federation.syncing-caveat": "N.B. Sinxronizasiyanın burada qurulması birtərəfli sinxronizasiya yaradır. NodeBB aktyora abunə olmağa/izləməyə çalışır, lakin bunun əksini güman etmək olmaz.",
"federation.syncing-none": "Bu kateqoriyanı hal-hazırda heç kimi izləmir.",
"federation.syncing-add": "Sinxronizasiya et...",
"federation.syncing-actorUri": "Aktyor",
"federation.syncing-follow": "İzlə",
"federation.syncing-unfollow": "İzləməni dayandır",
"federation.followers": "Bu kateqoriyanı izləyən uzaq istifadəçilər",
"federation.followers-handle": "Dəstək",
"federation.followers-id": "ID",
"federation.followers-none": "İzləyici yoxdur.",
"federation.followers-autofill": "Avtomatik doldur",
"alert.created": "Yaradıldı",
"alert.create-success": "Kateqoriya uğurla yaradıldı!",
"alert.none-active": "Aktiv kateqoriyalarınız yoxdur.",
"alert.create": "Kateqoriya yarat",
"alert.add": "Add a Category",
"alert.add-help": "Remote categories can be added to the categories listing by specifying their handle.<br /><br /><strong>Note</strong> — The remote category may not reflect all topics published unless at least one local user tracks/watches it.",
"alert.rename": "Rename a Remote Category",
"alert.rename-help": "Please enter a new name for this category. Leave blank to restore original name.",
"alert.confirm-remove": "Do you really want to remove this category? You can add it back at any time.",
"alert.confirm-purge": "<p class=\"lead\">Bu \"%1\" kateqoriyasını həqiqətən təmizləmək istəyirsiniz?</p><h5><strong class=\"text-danger\"> Xəbərdarlıq!</strong> Bu kateqoriyadakı bütün mövzular və yazılar silinəcək! </h5><p class=\"help-block\">Kateqoriyanın təmizlənməsi bütün mövzuları və yazıları siləcək və kateqoriyanı verilənlər bazasından siləcək. Kateqoriyanı <em>müvəqqəti</em> olaraq silmək istəyirsinizsə, bunun əvəzinə kateqoriyanı \"deaktiv etmək\" istəyəcəksiniz.</p>",
"alert.purge-success": "Kateqoriya təmizləndi!",
"alert.copy-success": "Parametrlər kopyalandı!",
"alert.set-parent-category": "Ana kateqoriya seç",
"alert.updated": "Yenilənmiş kateqoriyalar",
"alert.updated-success": "Kateqoriya ID-ləri %1 uğurla yeniləndi.",
"alert.upload-image": "Kateqoriya şəklini yüklə",
"alert.find-user": "İstifadəçi axtar",
"alert.user-search": "İstifadəçini burada axtar...",
"alert.find-group": "Qrup tap",
"alert.group-search": "Qrupu burada axtarın...",
"alert.not-enough-whitelisted-tags": "Ağ siyahıya alınmış teqlər minimum teqlərdən azdır, daha çox ağ siyahıya alınmış teqlər yaratmalısınız!",
"collapse-all": "Hamısını yığ",
"expand-all": "Hamısını aç",
"disable-on-create": "Yaradarkən deaktiv et",
"no-matches": "Uyğunluq yoxdur"
}

View File

@@ -1,22 +0,0 @@
{
"lead": "Aşağıda həzm çatdırılması statistikası və vaxtlarının siyahısı göstərilir.",
"disclaimer": "Nəzərə alın ki, e-poçt texnologiyasının təbiətinə görə e-poçt çatdırılmasına zəmanət verilmir. Bir çox dəyişənlər alıcının serverinə göndərilən e-poçtun son nəticədə istifadəçinin gələnlər qutusuna daxil olub-olmamasına, o cümlədən server reputasiyasına, qara siyahıya alınmış IP ünvanlarına və DKIM/SPF/DMARC-nin konfiqurasiya edilib-edilməməsinə təsir göstərir.",
"disclaimer-continued": "Uğurlu çatdırılma mesajın NodeBB tərəfindən uğurla göndərilməsi və alıcı server tərəfindən təsdiqlənməsi deməkdir. Bu, e-poçtun gələnlər qutusuna düşməsi demək deyil. Ən yaxşı nəticələr üçün biz <a href=\"https://sendgrid.com/why-sendgrid/\">SendGrid</a> kimi üçüncü tərəfin e-poçt çatdırılması xidmətindən istifadə etməyi tövsiyə edirik.",
"user": "İstifadəçi",
"subscription": "Abunə növü",
"last-delivery": "Sonuncu uğurlu çatdırılma",
"default": "Sistemin defolt",
"default-help": "<em>Sistem defolt</em> o deməkdir ki, istifadəçi hazırda həzmlər üçün qlobal forum parametrini ləğv etməyib: &quot;<strong>%1</strong>&quot;",
"resend": "Digesti yenidən göndərin",
"resend-all-confirm": "Bu həzm işini əl ilə yerinə yetirmək istədiyinizə əminsiniz?",
"resent-single": "Manual digest yenidən göndərmə tamamlandı",
"resent-day": "Gündəlik həzm hirslənir",
"resent-week": "Həftəlik həzm hirsləndi",
"resent-biweek": "İki həftəlik həzm rezidenti",
"resent-month": "Aylıq həzm yenidən göndərildi",
"null": "<em>Heç vaxt</em>",
"manual-run": "Əl ilə həzm işlət:",
"no-delivery-data": "Çatdırılma məlumatı tapılmadı"
}

View File

@@ -1,49 +0,0 @@
{
"manage-groups": "Qrupları idarə et",
"add-group": "Qrup əlavə et",
"edit-group": "Qrupu redaktə et",
"back-to-groups": "Qruplara qayıt",
"view-group": "Qrupa bax",
"icon-and-title": "İkon və Başlıq",
"name": "Qrupun adı",
"badge": "Nişan",
"properties": "Xüsusiyyətlər",
"description": "Qrupun təsviri",
"member-count": "Üzv sayı",
"system": "Sistem",
"hidden": "Gizli",
"private": "Şəxsi",
"edit": "Redaktə et",
"delete": "Sil",
"privileges": "İmtiyazlar",
"members-csv": "Üzvlər (CSV)",
"search-placeholder": "Axtarış",
"create": "Qrup yarat",
"description-placeholder": "Qrupunuz haqqında qısa məlumat",
"create-button": "Yaratmaq",
"alerts.create-failure": "<strong>Uh-Oh</strong> <p>Qrupunuzu yaratarkən problem yarandı. Daha sonra yenidən cəhd edin!</p>",
"alerts.confirm-delete": "Bu qrupu silmək istədiyinizə əminsiniz?",
"edit.name": "Adı",
"edit.description": "Təsviri",
"edit.user-title": "Üzvlərin adı",
"edit.icon": "Qrup ikonu",
"edit.label-color": "Qrup başlığı rəngi",
"edit.text-color": "Qrup mətn rəngi",
"edit.show-badge": "Nişanı göstər",
"edit.private-details": "Aktiv edilərsə, qruplara qoşulmaq üçün qrup sahibinin təsdiqi tələb olunur.",
"edit.private-override": "Xəbərdarlıq: Şəxsi qruplar sistem səviyyəsində deaktiv edilib və bu seçimi ləğv edir.",
"edit.disable-join": "Qoşulma sorğularını deaktiv edin",
"edit.disable-leave": "İstifadəçilərin qrupdan çıxmasına icazə verməyin",
"edit.hidden": "Gizli",
"edit.hidden-details": "Aktivləşdirilərsə, bu qrup qruplar siyahısında tapılmayacaq və istifadəçilər əl ilə dəvət olunmalı olacaqlar",
"edit.add-user": "İstifadəçini qrupa əlavə et",
"edit.add-user-search": "İstifadəçiləri axtar",
"edit.members": "Üzv siyahısı",
"control-panel": "Qrup idarəetmə paneli",
"revert": "Geri qaytar",
"edit.no-users-found": "İstifadəçi tapılmadı",
"edit.confirm-remove-user": "Bu istifadəçini silmək istədiyinizə əminsiniz?"
}

View File

@@ -1,66 +0,0 @@
{
"manage-privileges": "İmtiyazları idarə et",
"discard-changes": "Dəyişiklikləri ləğv et",
"global": "Qlobal",
"admin": "Admin",
"group-privileges": "Qrup imtiyazları",
"user-privileges": "İstifadəçi imtiyazları",
"edit-privileges": "İmtiyazları redaktə et",
"select-clear-all": "Hamısını seç/sil",
"chat": "Söhbət",
"chat-with-privileged": "İmtiyazlı ilə söhbət et",
"upload-images": "Şəkilləri yüklə",
"upload-files": "Faylları yüklə",
"signature": "İmza",
"ban": "Qadağa et",
"mute": "Səssizləşdir",
"invite": "Dəvət et",
"search-content": "Məzmunu axtar",
"search-users": "İstifadəçiləri axtar",
"search-tags": "Teqləri axtar",
"view-users": "İstifadəçilərə bax",
"view-tags": "Teqlərə bax",
"view-groups": "Qruplara bax",
"allow-local-login": "Lokal giriş",
"allow-group-creation": "Qrup yarat",
"view-users-info": "İstifadəçi məlumatlarına bax",
"find-category": "Kateqoriya tap",
"access-category": "Kateqoriyaya giriş",
"access-topics": "Mövzulara daxil olun",
"create-topics": "Mövzular yarat",
"reply-to-topics": "Mövzulara cavab ver",
"schedule-topics": "Mövzuları təqvim et",
"tag-topics": "Mövzuları teqlə",
"edit-posts": "Yazıları redaktə et",
"view-edit-history": "Redaktə tarixçəsinə bax",
"delete-posts": "Yazıları sil",
"view-deleted": "Silinmiş yazılara bax",
"upvote-posts": "Yazılara müsbət səs ver",
"downvote-posts": "Yazılara mənfi səs ver",
"delete-topics": "Mövzuları sil",
"purge": "Təmizlə",
"moderate": "Moderasiya",
"admin-dashboard": "İdarə paneli",
"admin-categories": "Kateqoriyalar",
"admin-privileges": "İmtiyazlar",
"admin-users": "İstifadəçilər",
"admin-admins-mods": "Adminlər &amp; Moderatorlar",
"admin-groups": "Qruplar",
"admin-tags": "Teqlər",
"admin-settings": "Parametrlər",
"alert.confirm-moderate": "<strong>Bu istifadəçi qrupuna moderasiya imtiyazı vermək istədiyinizə əminsiniz?</strong> Bu qrup ictimaidir və istənilən istifadəçi öz istəyi ilə qoşula bilər.",
"alert.confirm-admins-mods": "<strong>Siz &quot;Adminlər &amp; Mods&quot; bu istifadəçi/qrup üçün imtiyaz varmı?</strong> Bu imtiyazlı istifadəçilər digər istifadəçiləri super administrator da daxil olmaqla imtiyazlı vəzifələrə <em>yüksəldə və aşağı sala bilərlər.</em>",
"alert.confirm-save": "Bu imtiyazları saxlamaq niyyətinizi təsdiq et",
"alert.confirm-discard": "İmtiyaz dəyişikliklərinizi ləğv etmək istədiyinizə əminsiniz?",
"alert.discarded": "İmtiyaz dəyişiklikləri ləğv et",
"alert.confirm-copyToAll": "Bu <strong>%1 </strong>dəstini <strong>bütün kateqoriyalara tətbiq etmək istədiyinizə əminsiniz</strong>?",
"alert.confirm-copyToAllGroup": "Bu qrupun <strong>%1</strong> dəstini <strong>bütün kateqoriyalara tətbiq etmək istədiyinizə əminsiniz</strong>?",
"alert.confirm-copyToChildren": "Bu <strong>%1</strong> dəstini <strong>bütün nəsil (uşaq) kateqoriyalara tətbiq etmək istədiyinizə əminsiniz</strong>?",
"alert.confirm-copyToChildrenGroup": "Bu qrupun <strong>%1</strong> dəstini <strong>bütün nəsil (uşaq) kateqoriyalara tətbiq etmək istədiyinizə əminsiniz</strong>?",
"alert.no-undo": "<em>Bu əməliyyat geri qaytarıla bilməz.</em>",
"alert.admin-warning": "Administratorlar dolayısı ilə bütün imtiyazları əldə edirlər",
"alert.copyPrivilegesFrom-title": "Kopyalamaq üçün kateqoriya seç",
"alert.copyPrivilegesFrom-warning": "Bu, seçilmiş kateqoriyadan %1-ni kopyalayacaq.",
"alert.copyPrivilegesFromGroup-warning": "Bu, bu qrupun %1 dəstini seçilmiş kateqoriyadan kopyalayacaq."
}

View File

@@ -1,20 +0,0 @@
{
"queue": "Növbə",
"description": "Qeydiyyat növbəsində heç bir istifadəçi yoxdur. <br>Bu funksiyanı aktivləşdirmək üçün <a href=\"%1\">Parametrlərə keçin &rarr; İstifadəçi &rarr;</a> İstifadəçi Qeydiyyatı və <strong>Qeydiyyat Tipini</strong> \"Admin Təsdiqi\" olaraq təyin edin.",
"list.name": "Adı",
"list.email": "E-poçt",
"list.ip": "IP",
"list.time": "Zaman",
"list.username-spam": "Tezlik: %1 Görünür: %2 Etibarlılıq: %3",
"list.email-spam": "Tezlik: %1 Görünür: %2",
"list.ip-spam": "Tezlik: %1 Görünür: %2",
"invitations": "Dəvətlər",
"invitations.description": "Aşağıda göndərilən dəvətlərin tam siyahısı verilmişdir. Siyahıda e-poçt və ya istifadəçi adı ilə axtarış etmək üçün ctrl-f düymələrindən istifadə edin. <br><br>İstifadəçi adı dəvətnamələrini istifadə etmiş istifadəçilər üçün e-poçtların sağında göstəriləcək.",
"invitations.inviter-username": "Dəvət edənin istifadəçi adı",
"invitations.invitee-email": "Dəvət olunanın E-poçtu",
"invitations.invitee-username": "Dəvət edən istifadəçi adı (qeydiyyatdan keçmişdirsə)",
"invitations.confirm-delete": "Bu dəvəti silmək istədiyinizə əminsiniz?"
}

View File

@@ -1,20 +0,0 @@
{
"manage-tags": "Teqləri idarə et",
"none": "Forumunuzda hələ teqləri olan mövzu yoxdur.",
"bg-color": "Arxa fon rəngi",
"text-color": "Mətnin rəngi",
"description": "Klikləyərək və ya sürükləyərək teqləri seçin, birdən çox teq seçmək üçün <code>CTRL</code> düyməsini istifadə edin.",
"create": "Teq yarat",
"add-tag": "Teq əlavə et",
"modify": "Teqləri dəyiş",
"rename": "Teqlərin adını dəyiş",
"delete": "Seçilmiş teqləri sil",
"search": "Teqləri axtarın...",
"settings": "Teqlər parametrləri",
"name": "Teq adı",
"alerts.editing": "Teq(lər)i redaktə et",
"alerts.confirm-delete": "Seçilmiş teqləri silmək istəyirsiniz?",
"alerts.update-success": "Teq yeniləndi!",
"reset-colors": "Rəngləri sıfırla"
}

View File

@@ -1,12 +0,0 @@
{
"manage-uploads": "Yükləmələri idarə et",
"upload-file": "Faylı yüklə",
"filename": "Faylın adı",
"usage": "Yazıdan istifadə",
"orphaned": "Yetim qalmış",
"size/filecount": "Həcmi / Fayl sayı",
"confirm-delete": "Bu faylı həqiqətən silmək istəyirsiniz?",
"filecount": "%1 fayl",
"new-folder": "Yeni qovluq",
"name-new-folder": "Yeni qovluq üçün ad daxil edin"
}

View File

@@ -1,28 +0,0 @@
{
"title": "Fərdi istifadəçi sahələrin idarə edilməsi",
"create-field": "Sahə yarat",
"edit-field": "Sahə düzəliş et",
"manage-custom-fields": "Fərdi sahələri idarə edin",
"type-of-input": "Daxiletmə növü",
"key": "Açar",
"name": "Adı",
"icon": "İkon",
"type": "Növü",
"min-rep": "Minimum reputasiya",
"input-type-text": "Daxiletmə (Mətn)",
"input-type-link": "Daxiletmə (Link)",
"input-type-number": "Daxiletmə (Nömrə)",
"input-type-date": "Daxiletmə (Tarix)",
"input-type-select": "Seçim",
"input-type-select-multi": "Birdən çox seçim",
"select-options": "Variantlar",
"select-options-help": "Seçilmiş element üçün hər sətirə bir variant əlavə edin",
"minimum-reputation": "Minimum reputasiya",
"minimum-reputation-help": "Əgər istifadəçi bu dəyərdən azdırsa, o, bu sahədən istifadə edə bilməyəcək",
"delete-field-confirm-x": "Siz həqiqətən \"% 1\" fərdi sahəsini silmək istəyirsiniz?",
"custom-fields-saved": "Fərdi sahələr yadda saxlanıldı",
"visibility": "Görünüş parametrləri",
"visibility-all": "Hər kəs sahəni görə bilər",
"visibility-loggedin": "Yalnız sistemə daxil olan istifadəçilər sahəni görə bilər",
"visibility-privileged": "Bu sahəni yalnız adminlər və moderatorlar kimi imtiyazlı istifadəçilər görə bilər"
}

View File

@@ -1,152 +0,0 @@
{
"manage-users": "İstifadəçiləri idarə et",
"users": "İstifadəçilər",
"edit": "Fəaliyyətlər",
"make-admin": "Admin et",
"remove-admin": "Admini sil",
"change-email": "E-poçtu dəyiş",
"new-email": "Yeni e-poçt",
"validate-email": "E-poçtu təsdiqlə",
"send-validation-email": "Doğrulama e-poçtu göndər",
"change-password": "Şifrəni dəyiş",
"password-reset-email": "Şifrəni sıfırlama məktubunu göndər",
"force-password-reset": "Şifrəni sıfırlamağa və çıxmağa məcbur edin",
"ban": "Qadağa et",
"ban-users": "İstifadəçi(ləri) qadağan et",
"temp-ban": "İstifadəçi(ləri) müvəqqəti olaraq qadağan et",
"unban": "İstifadəçi(lər)i blokdan çıxart",
"reset-lockout": "Lokautu sıfırla",
"reset-flags": "Bayraqları sıfırla",
"delete": "Sil",
"delete-users": "<strong>İstifadəçi(ləri)</strong> sil",
"delete-content": "İstifadəçi(lər)in <strong>məzmununu</strong> sil",
"purge": "<strong>İstifadəçi(lər)i</strong> və <strong>məzmunu</strong> silin",
"download-csv": "CSV-ni endir",
"custom-user-fields": "Fərdi istifadəçi sahələri",
"manage-groups": "Qrupları idarə et",
"set-reputation": "Reputasiya təyin et",
"add-group": "Qrup əlavə et",
"create": "İstifadəçi yarat",
"invite": "E-poçtla dəvət et",
"new": "Yeni istifadəçi",
"filter-by": "Filtrlə",
"pills.unvalidated": "Təsdiqlənməyib",
"pills.validated": "Təsdiq edilib",
"pills.banned": "Qadağan edilib",
"50-per-page": "Səhifə başına 50",
"100-per-page": "Səhifə başına 100",
"250-per-page": "Səhifə başına 250",
"500-per-page": "Səhifə başına 500",
"search.uid": "İstifadəçi ID ilə",
"search.uid-placeholder": "Axtarmaq üçün istifadəçi ID-sini daxil edin",
"search.username": "İstifadəçi adı ilə",
"search.username-placeholder": "Axtarış etmək üçün istifadəçi adı daxil edin",
"search.email": "E-poçtla",
"search.email-placeholder": "Axtarmaq üçün e-poçt ünvanını daxil edin",
"search.ip": "IP ünvanı ilə",
"search.ip-placeholder": "Axtarmaq üçün bir IP ünvanı daxil edin",
"search.not-found": "İstifadəçi tapılmadı!",
"inactive.3-months": "3 Ay",
"inactive.6-months": "6 ay",
"inactive.12-months": "12 ay",
"users.uid": "uid",
"users.username": "istifadəçi adı",
"users.email": "e-poçt",
"users.no-email": "(e-poçt yoxdur)",
"users.validated": "Təsdiq edilib",
"users.not-validated": "Təsdiqlənməyib",
"users.validation-pending": "Təsdiqləmə gözlənir",
"users.validation-expired": "Təsdiqləmə müddəti başa çatıb",
"users.ip": "IP",
"users.postcount": "postcount",
"users.reputation": "reputasiya",
"users.flags": "işarələr",
"users.joined": "qoşulub",
"users.last-online": "sonuncu onlayn",
"users.banned": "qadağan edilib",
"create.username": "İstifadəçi adı",
"create.email": "E-poçt",
"create.email-placeholder": "Bu istifadəçinin e-poçtu",
"create.password": "Şifrə",
"create.password-confirm": "Şifrəni təsdiqlə",
"temp-ban.length": "Uzunluq",
"temp-ban.reason": "Səbəb <span class=\"text-muted\">(İstəyə görə)</span>",
"temp-ban.hours": "Saat",
"temp-ban.days": "Günlər",
"temp-ban.explanation": "Qadağanın müddətini daxil edin. Nəzərə alın ki, 0 vaxtı daimi qadağa hesab olunacaq.",
"alerts.confirm-ban": "Həqiqətən bu istifadəçini <strong>həmişəlik</strong> qadağan etmək istəyirsiniz?",
"alerts.confirm-ban-multi": "Bu istifadəçiləri <strong>həmişəlik</strong> qadağan etmək istəyirsiniz?",
"alerts.ban-success": "İstifadəçi(lər) qadağan edilib",
"alerts.button-ban-x": "%1 istifadəçin(lər)i qadağan et",
"alerts.unban-success": "İstifadəçi(lər) qadağadan çıxarıldı!",
"alerts.lockout-reset-success": "Lokaut(lar) sıfırlandı!",
"alerts.password-change-success": "Şifrə(lər) dəyişdi!",
"alerts.flag-reset-success": "Bayraq(lar) sıfırlandı!",
"alerts.no-remove-yourself-admin": "Özünüzü Administrator kimi silə bilməzsiniz!",
"alerts.make-admin-success": "İstifadəçi indi administratordur.",
"alerts.confirm-remove-admin": "Siz həqiqətən bu administratoru silmək istəyirsiniz?",
"alerts.remove-admin-success": "İstifadəçi artıq administrator deyil.",
"alerts.make-global-mod-success": "İstifadəçi indi qlobal moderatordur.",
"alerts.confirm-remove-global-mod": "Həqiqətən bu qlobal moderatoru silmək istəyirsiniz?",
"alerts.remove-global-mod-success": "İstifadəçi artıq qlobal moderator deyil.",
"alerts.make-moderator-success": "İstifadəçi artıq moderatordur.",
"alerts.confirm-remove-moderator": "Həqiqətən bu moderatoru silmək istəyirsiniz?",
"alerts.remove-moderator-success": "İstifadəçi artıq moderator deyil.",
"alerts.confirm-validate-email": "Bu istifadəçi(lər)in e-poçt(lar)ını təsdiq etmək istəyirsiniz?",
"alerts.confirm-force-password-reset": "Şifrənin sıfırlanmasını məcbur etmək və bu istifadəçi(lər)dən çıxmaq istədiyinizə əminsiniz?",
"alerts.validate-email-success": "E-poçtlar təsdiqləndi",
"alerts.validate-force-password-reset-success": "İstifadəçi(lər)in şifrələri sıfırlanıb və onların mövcud sessiyaları ləğv edilib.",
"alerts.password-reset-confirm": "Bu istifadəçi(lər)ə şifrə sıfırlama məktubunu göndərmək istəyirsiniz?",
"alerts.password-reset-email-sent": "Şifrənin sıfırlanması məktubu göndərildi.",
"alerts.confirm-delete": "<strong>Xəbərdarlıq!</strong><p> Siz həqiqətən <strong>istifadəçi(ləri)</strong> silmək istəyirsiniz?</p><p> Bu əməliyyat geri qaytarıla bilməz! Yalnız istifadəçi hesabı silinəcək, onların yazıları və mövzuları qalacaq.</p>",
"alerts.delete-success": "İstifadəçi(lər) silindi!",
"alerts.confirm-delete-content": "<strong>Xəbərdarlıq!</strong><p> Bu istifadəçi(lər)in <strong>məzmununu</strong> həqiqətən silmək istəyirsiniz? </p><p>Bu əməliyyat geri qaytarıla bilməz! İstifadəçilərin hesabları qalacaq, lakin onların yazıları və mövzuları silinəcək.</p>",
"alerts.delete-content-success": "İstifadəçi(lər) məzmunu silindi!",
"alerts.confirm-purge": "<strong>Xəbərdarlıq!</strong><p><strong> İstifadəçi(ləri) və onların məzmununu </strong>həqiqətən silmək istəyirsiniz?</p><p> Bu əməliyyat geri qaytarıla bilməz! Bütün istifadəçi məlumatları və məzmunu silinəcək!</p>",
"alerts.create": "İstifadəçi yarat",
"alerts.button-create": "Yarat",
"alerts.button-cancel": "Ləğv et",
"alerts.button-change": "Dəyiş",
"alerts.error-passwords-different": "Şifrələr üst-üstə düşməlidir!",
"alerts.error-x": "<strong>Xəta</strong> <p>%1</p>",
"alerts.create-success": "İstifadəçi yaradıldı!",
"alerts.prompt-email": "E-poçt ünvanları:",
"alerts.email-sent-to": "Dəvət məktubu %1 ünvanına göndərildi",
"alerts.x-users-found": "%1 istifadəçi tapıldı, (%2 saniyə)",
"alerts.select-a-single-user-to-change-email": "E-poçtu dəyişdirmək üçün bir istifadəçi seçin",
"export": "İxrac",
"export-users-fields-title": "CSV Sahələrini seç",
"export-field-email": "E-poçt",
"export-field-username": "İstifadəçi adı",
"export-field-uid": "UID",
"export-field-ip": "IP",
"export-field-joindate": "Qoşulma tarixi",
"export-field-lastonline": "Sonuncu onlayn",
"export-field-lastposttime": "Son göndərmə vaxtı",
"export-field-reputation": "Reputasiya",
"export-field-postcount": "Yazıların sayı",
"export-field-topiccount": "Mövzu sayı",
"export-field-profileviews": "Profil baxışları",
"export-field-followercount": "İzləyici sayı",
"export-field-followingcount": "Sayı izləyir",
"export-field-fullname": "Tam adı",
"export-field-website": "Veb sayt",
"export-field-location": "Məkan",
"export-field-birthday": "Doğum tarixi",
"export-field-signature": "İmza",
"export-field-aboutme": "Mənim haqqımda",
"export-users-started": "İstifadəçilərin csv kimi eksport edilməsi bir az vaxt apara bilər. Tamamlandıqda bildiriş alacaqsınız.",
"export-users-completed": "Csv olaraq ixrac edilən istifadəçilər, yükləmək üçün bura klikləyin.",
"email": "E-poçt",
"password": "Şifrə",
"manage": "İdarə et"
}

View File

@@ -1,93 +0,0 @@
{
"section-dashboard": "İdarə paneli",
"dashboard/overview": "Ümumi baxış",
"dashboard/logins": "Daxil olmalar",
"dashboard/users": "İstifadəçilər",
"dashboard/topics": "Mövzular",
"dashboard/searches": "Axtarışlar",
"section-general": "Ümumi",
"section-manage": "İdarə et",
"manage/categories": "Kateqoriyalar",
"manage/privileges": "İmtiyazlar",
"manage/tags": "Teqlər",
"manage/users": "İstifadəçilər",
"manage/admins-mods": "Adminlər & Moderatorlar",
"manage/registration": "Qeydiyyat növbəsi",
"manage/flagged-content": "İşarələnmiş məzmun",
"manage/post-queue": "Yazı növbəsi",
"manage/groups": "Qruplar",
"manage/ip-blacklist": "IP qara siyahısı",
"manage/uploads": "Yükləmələr",
"manage/digest": "Həzmlər",
"section-settings": "Parametrlər",
"settings/general": "Ümumi",
"settings/homepage": "Əsas səhifə",
"settings/navigation": "Naviqasiya",
"settings/reputation": "Reputasiya və Bayraqlar",
"settings/email": "E-poçt",
"settings/user": "İstifadəçilər",
"settings/group": "Qruplar",
"settings/guest": "Qonaqlar",
"settings/uploads": "Yükləmələr",
"settings/languages": "Dillər",
"settings/post": "Yazılar",
"settings/chat": "Söhbətlər",
"settings/pagination": "Səhifələmə",
"settings/tags": "Teqlər",
"settings/notifications": "Bildirişlər",
"settings/api": "API çıxışı",
"settings/activitypub": "Federasiya (ActivityPub)",
"settings/sounds": "Səslər",
"settings/social": "Sosial",
"settings/cookies": "Kukilər",
"settings/web-crawler": "Veb tarayıcı",
"settings/sockets": "Sockets",
"settings/advanced": "İnkişaf etmiş",
"settings.page-title": "%1 Parametrlər",
"section-appearance": "Görünüş",
"appearance/themes": "Mövzular",
"appearance/skins": "Örtüklər",
"appearance/customise": "Fərdi məzmun (HTML/JS/CSS)",
"section-extend": "Artırmaq",
"extend/plugins": "Plaginlər",
"extend/widgets": "Vidjetlər",
"extend/rewards": "Mükafatlar",
"section-social-auth": "Sosial hesab autentifikasiyası",
"section-plugins": "Plaginlər",
"extend/plugins.install": "Plaginləri quraşdır",
"section-advanced": "İnkişaf etmiş",
"advanced/database": "Verilənlər bazası",
"advanced/events": "Hadisələr",
"advanced/hooks": "Huklar",
"advanced/logs": "Loqlar",
"advanced/errors": "Xətalar",
"advanced/cache": "Keş",
"development/logger": "Logger",
"development/info": "Məlumat",
"rebuild-and-restart-forum": "Forumu yenidən qur və başlat",
"rebuild-and-restart": "Yenidən qur və başlat",
"restart-forum": "Forumu yenidən başlat",
"restart": "Yenidən başlat",
"logout": ıx",
"view-forum": "Foruma bax",
"search.placeholder": "Parametrləri axtar",
"search.no-results": "Nəticə yoxdur...",
"search.search-forum": "Forumda axtarın <strong></strong>",
"search.keep-typing": "Nəticələri görmək üçün daha çox məlumat yazın...",
"search.start-typing": "Nəticələrə baxmaq üçün yazmağa başlayın...",
"connection-lost": "%1 ilə əlaqə kəsildi, yenidən qoşulmağa cəhd edilir...",
"alerts.version": "<strong>NodeBB v% 1</strong> işləyir",
"alerts.upgrade": "v% 1 səviyyəsinə yüksəlt"
}

View File

@@ -1,48 +0,0 @@
{
"intro-lead": "Federasiya nədir?",
"intro-body": "NodeBB onu dəstəkləyən digər NodeBB instansiyaları ilə əlaqə qura bilir. Buna <a href=\"https://activitypub.rocks/\">ActivityPub</a> adlı protokol vasitəsilə nail olunur. Aktivləşdirilərsə, NodeBB ActivityPub istifadə edən digər proqramlar və vebsaytlarla (məsələn, Mastodon, Peertube və s.) əlaqə saxlaya biləcək.",
"general": "Ümumi",
"pruning": "Məzmunun budaması",
"content-pruning": "Uzaq məzmunu saxlamaq üçün günlər",
"content-pruning-help": "Nəzərə alın ki, nişan almış uzaq məzmun (cavab və ya müsbət/mənfi səs) qorunacaq. (əlillər üçün 0)",
"user-pruning": "Uzaqdan istifadəçi hesablarını keşləmək üçün günlər",
"user-pruning-help": "Uzaqdan olan istifadəçi hesabları yalnız yazıları olmadıqda kəsiləcək. Əks halda onlar yenidən geri alınacaq. (əlillər üçün 0)",
"enabled": "Federasiyanı aktivləşdirin",
"enabled-help": "Aktivləşdirilərsə, bu NodeBB daha geniş fediverse üzrə bütün Activitypub-u aktivləşdirən müştərilərlə əlaqə saxlamağa imkan verəcək.",
"allowLoopback": "Geri dönmə emalına icazə verin",
"allowLoopback-help": "Yalnız sazlama məqsədləri üçün faydalıdır. Yəqin ki, bunu əlil buraxmalısınız.",
"probe": "Tətbiqdə açın",
"probe-enabled": "NodeBB-də ActivityPub-u aktivləşdirən resursları açmağa çalışın",
"probe-enabled-help": "Aktiv edilərsə, NodeBB hər bir xarici linki ActivityPub ekvivalenti üçün yoxlayacaq və əvəzinə onu NodeBB-də yükləyəcək.",
"probe-timeout": "Axtarış vaxtı (millisaniyə)",
"probe-timeout-help": "(Defolt: 2000) Əgər axtarış sorğusu müəyyən edilmiş vaxt çərçivəsində cavab almazsa, onun əvəzinə istifadəçi birbaşa linkə göndəriləcək. Saytlar ləng cavab verirsə və əlavə vaxt vermək istəyirsinizsə, bu rəqəmi daha yüksək tənzimləyin.",
"rules": "Categorization",
"rules-intro": "Content discovered via ActivityPub can be automatically categorized based on certain rules (e.g. hashtag)",
"rules.modal.title": "How it works",
"rules.modal.instructions": "Any incoming content is checked against these categorization rules, and matching content is automatically moved into the category of choice.<br /><br /><strong>N.B.</strong> Content that is already categorized (i.e. in a remote category) will not pass through these rules.",
"rules.add": "Add New Rule",
"rules.help-hashtag": "Topics containing this case-insensitive hashtag will match. Do not enter the <code>#</code> symbol",
"rules.help-user": "Topics created by the entered user will match. Enter a handle or full ID (e.g. <code>bob@example.org</code> or <code>https://example.org/users/bob</code>.",
"rules.type": "Type",
"rules.value": "Value",
"rules.cid": "Category",
"relays": "Relays",
"relays.intro": "A relay improves discovery of content to and from your NodeBB. Subscribing to a relay means content received by the relay is forwarded here, and content posted here is syndicated outward by the relay.",
"relays.warning": "Note: Relays can send larges amounts of traffic in, and may increase storage and processing costs.",
"relays.litepub": "NodeBB follows the LitePub-style relay standard. The URL you enter here should end with <code>/actor</code>.",
"relays.add": "Add New Relay",
"relays.relay": "Relay",
"relays.state": "State",
"relays.state-0": "Pending",
"relays.state-1": "Receiving only",
"relays.state-2": "Active",
"server-filtering": "Filtrlə",
"count": "Bu NodeBB hazırda <strong>%1</strong> server(lər)dən xəbərdardır",
"server.filter-help": "NodeBB ilə federasiyaya mane olmaq istədiyiniz serverləri göstərin. Alternativ olaraq, bunun əvəzinə xüsusi serverlərlə federasiyaya seçimlə <em>icazə verə bilərsiniz</em>. Hər iki variant bir-birini istisna etsə də, dəstəklənir.",
"server.filter-help-hostname": "Aşağıdakı misal host adını daxil edin (məsələn, <code>example.org</code>), sətir fasilələri ilə ayrılır.",
"server.filter-allow-list": "Bunun əvəzinə İcazə Siyahısı kimi istifadə edin"
}

View File

@@ -1,47 +0,0 @@
{
"maintenance-mode": "Texniki baxım rejimi",
"maintenance-mode.help": "Forum texniki xidmət rejimində olduqda, bütün sorğular statik saxlama səhifəsinə yönləndiriləcək. Administratorlar bu yönləndirmədən azaddırlar və normal şəkildə sayta daxil ola bilərlər.",
"maintenance-mode.status": "Baxım rejimi status kodu",
"maintenance-mode.message": "Baxım mesajı",
"maintenance-mode.groups-exempt-from-maintenance-mode": "Baxım rejimindən azad edilməli olan qrupları seçin",
"headers": "Başlıqlar",
"headers.allow-from": "NodeBB-ni iFrame-də yerləşdirmək üçün ALLOW-FROM seçin",
"headers.csp-frame-ancestors": "NodeBB-ni iFrame-də yerləşdirmək üçün Content-Security-Policy çərçivə-əcdadları başlığını təyin edin",
"headers.csp-frame-ancestors-help": "'yox', 'öz'(defolt) və ya icazə veriləcək URI siyahısı.",
"headers.powered-by": "NodeBB tərəfindən göndərilən \"Powered By\" başlığını fərdiləşdirin",
"headers.acao": "Giriş-nəzarət-İcazə ver-mənşə",
"headers.acao-regex": "Giriş-nəzarət-icazə ver-mənşəyi müntəzəm ifadə",
"headers.acao-help": "Bütün saytlara girişi rədd etmək üçün boş burax",
"headers.acao-regex-help": "Dinamik mənşələrə uyğun gəlmək üçün normal ifadələri buraya daxil edin. Bütün saytlara girişi rədd etmək üçün boş buraxın",
"headers.acac": "Giriş-nəzarət-İcazə verin-etimadnamələr",
"headers.acam": "Giriş-nəzarət-icazə vermək-metodları",
"headers.acah": "Giriş-nəzarət-İcazə ver-başlıqlar",
"headers.coep": "Cross-Origin-Embedder-Siyasəti",
"headers.coep-help": "Aktivləşdirildikdə (defolt), başlığı <code>tələb-korp</code> olaraq təyin edəcək",
"headers.coop": "Cross-Origin-Opener-Siyasəti",
"headers.corp": "Cross-Origin-Resurs-Siyasəti",
"headers.permissions-policy": "İcazələr-Siyasət",
"headers.permissions-policy-help": "İcazə siyasəti başlığını təyin etməyə imkan verir, məsələn, \"geolocation=*, camera=()\", əlavə məlumat üçün <a href=\"https://github.com/w3c/webappsec-permissions-policy/blob/main/permissions-policy-explainer.md\">buna</a> baxın.",
"hsts": "Ciddi nəqliyyat təhlükəsizliyi",
"hsts.enabled": "Aktivləşdirilmiş HSTS (tövsiyə olunur)",
"hsts.maxAge": "HSTS maksimum yaş",
"hsts.subdomains": "HSTS başlığına subdomenləri daxil et",
"hsts.preload": "HSTS başlığının əvvəlcədən yüklənməsinə icazə ver",
"hsts.help": "Aktiv edilərsə, bu sayt üçün HSTS başlığı təyin ediləcək. Başlığınıza subdomenləri və əvvəlcədən yükləmə bayraqlarını daxil etməyi seçə bilərsiniz. Əgər şübhəniz varsa, bunları yoxlamadan qoya bilərsiniz. <a href=\"%1\">Ətraflı məlumat<i class=\"fa fa-external-link\"></i></a>",
"traffic-management": "Trafik idarəetmə",
"traffic.help": "NodeBB yüksək trafik vəziyyətlərində sorğuları avtomatik olaraq rədd edən moduldan istifadə edir. Defolt parametrlər yaxşı başlanğıc nöqtəsi olsa da, bu parametrləri burada tənzimləyə bilərsiniz.",
"traffic.enable": "Trafik idarəetməsini aktivləşdir",
"traffic.event-lag": "Hadisə döngəsinin gecikmə həddi (millisaniyələrlə)",
"traffic.event-lag-help": "Bu dəyərin aşağı salınması səhifənin yüklənməsi üçün gözləmə vaxtlarını azaldır, eyni zamanda daha çox istifadəçiyə \"həddindən artıq yükləmə\" mesajını göstərəcək. (Yenidən başladın tələb olunur)",
"traffic.lag-check-interval": "Yoxlama intervalı (millisaniyələrlə)",
"traffic.lag-check-interval-help": "Bu dəyərin aşağı salınması NodeBB-nin yükdəki sıçrayışlara daha həssas olmasına səbəb olur, eyni zamanda çekin çox həssas olmasına səbəb ola bilər. (Yenidən başladın tələb olunur)",
"sockets.settings": "WebSocket parametrləri",
"sockets.max-attempts": "Maksimum yenidən qoşulma cəhdləri",
"sockets.default-placeholder": "Defolt: %1",
"sockets.delay": "Yenidən qoşulma gecikməsi",
"compression.settings": "Kompressiya parametrləri",
"compression.enable": "Sıxılmanı aktiv edin",
"compression.help": "Bu parametr gzip sıxılmasını təmin edir. İstehsalda yüksək trafikə malik veb sayt üçün sıxılmanın ən yaxşı yolu onu əks proxy səviyyəsində həyata keçirməkdir. Test məqsədləri üçün burada aktivləşdirə bilərsiniz."
}

View File

@@ -1,29 +0,0 @@
{
"tokens": "Tokenlər",
"settings": "Parametrlər",
"lead-text": "Bu səhifədən NodeBB-də Write API-yə girişi konfiqurasiya edə bilərsiniz.",
"intro": "Varsayılan olaraq, Write API istifadəçiləri seans kukisi əsasında autentifikasiya edir, lakin NodeBB bu səhifə vasitəsilə yaradılan tokenlər vasitəsilə Taşıyıcının autentifikasiyasını da dəstəkləyir.",
"warning": "<strong>Diqqətli olun</strong> - tokenlərə şifrə kimi yanaşın. Əgər onlar sızdırılıbsa, hesabınız təhlükə altına düşmüş hesab olunmalıdır.",
"docs": "Tam API spesifikasiyasına daxil olmaq üçün buraya klikləyin",
"require-https": "API istifadəsini yalnız HTTPS vasitəsilə tələb edin",
"require-https-caveat": "<strong>Qeyd</strong>: Yük balanslaşdırıcılarını əhatə edən bəzi qurğular HTTP istifadə edərək öz sorğularını NodeBB-yə proksiləşdirə bilər, bu halda bu seçim qeyri-aktiv olaraq qalmalıdır.",
"uid": "İstifadəçi ID-si",
"token": "Token",
"uid-help-text": "Bu işarə ilə əlaqələndirmək üçün İstifadəçi ID-sini göstərin. Əgər istifadəçi identifikatoru <code>0</code> olarsa, o, <code>_uid</code> parametrinə əsasən digər istifadəçilərin şəxsiyyətini qəbul edə bilən <em>əsas token</em> hesab ediləcək.",
"description": "Təsvir",
"last-seen": "Sonuncu dəfə görüldü",
"created": "Yaradıldı",
"create-token": "Token yarat",
"update-token": "Tokeni yenilə",
"master-token": "Master token",
"last-seen-never": "Bu açar heç istifadə edilməyib.",
"no-description": "Təsvir qeyd olunmayıb.",
"actions": "Fəaliyyətlər",
"edit": "Redaktə et",
"roll": "Roll",
"delete-confirm": "Bu tokeni silmək istədiyinizə əminsiniz? Onu bərpa etmək mümkün olmayacaq.",
"roll-confirm": "Bu tokeni bərpa etmək istədiyinizə əminsiniz? Köhnə token dərhal ləğv ediləcək və onu bərpa etmək mümkün olmayacaq."
}

View File

@@ -1,17 +0,0 @@
{
"zero-is-disabled": "Bu məhdudiyyəti ləğv etmək üçün 0 daxil edin",
"chat-settings": "Söhbət parametrləri",
"disable": "Söhbəti deaktiv et",
"disable-editing": "Söhbət mesajının redaktəsini/silinməsini deaktiv et",
"disable-editing-help": "Administratorlar və qlobal moderatorlar bu məhdudiyyətdən azaddırlar",
"max-length": "Söhbət mesajlarının maksimum uzunluğu",
"max-length-remote": "Uzaq söhbət mesajlarının maksimum uzunluğu",
"max-length-remote-help": "Bu dəyər adətən yerli istifadəçilər üçün maksimum söhbət mesajından yuxarı təyin edilir, çünki uzaqdan gələn mesajlar daha uzun olur (@ qeydləri ilə və s.)",
"max-chat-room-name-length": "Söhbət otağı adlarının maksimum uzunluğu",
"max-room-size": "Söhbət otaqlarında maksimum istifadəçi sayı",
"delay": "Söhbət mesajları arasındakı vaxt (ms)",
"notification-delay": "Söhbət mesajları üçün bildiriş gecikməsi",
"notification-delay-help": "Bu vaxt arasında göndərilən əlavə mesajlar toplanır və istifadəçiyə hər gecikmə müddətində bir dəfə bildiriş göndərilir. Gecikməni söndürmək üçün bunu 0-a qoyun.",
"restrictions.seconds-edit-after": "Söhbət mesajının redaktə oluna biləcəyi saniyələrin sayı.",
"restrictions.seconds-delete-after": "Söhbət mesajının silinə biləcəyi saniyələrin sayı."
}

View File

@@ -1,13 +0,0 @@
{
"eu-consent": "AB Razılığı",
"consent.enabled": "Aktivləşdirilib",
"consent.message": "Bildiriş mesajı",
"consent.acceptance": "Qəbul mesajı",
"consent.link-text": "Siyasət linki mətni",
"consent.link-url": "Siyasət linki URL",
"consent.blank-localised-default": "NodeBB lokallaşdırılmış defoltlarından istifadə etmək üçün boş buraxın",
"settings": "Parametrlər",
"cookie-domain": "Sessiya kukisi domeni",
"max-user-sessions": "Bir istifadəçi üçün maksimum aktiv sessiyalar",
"blank-default": "Defolt üçün boş buraxın"
}

View File

@@ -1,54 +0,0 @@
{
"email-settings": "E-poçt parametrləri",
"address": "E-poçt ünvanı",
"address-help": "Aşağıdakı e-poçt ünvanı alıcının \"Kimdən\" və \"Cavab vermək\" sahələrində görəcəyi e-poçta aiddir.",
"from": "Kimin adından",
"from-help": "E-poçtda göstərilən addan.",
"confirmation-settings": "Təsdiq",
"confirmation.expiry": "E-poçt təsdiqləmə linkini etibarlı saxlamaq üçün saatlar",
"smtp-transport": "SMTP nəqliyyat",
"smtp-transport.enabled": "SMTP Nəqliyyatını aktivləşdir",
"smtp-transport-help": "Siz tanınmış xidmətlərin siyahısından seçə və ya xüsusi xidmətlər daxil edə bilərsiniz.",
"smtp-transport.service": "Xidmət seçin",
"smtp-transport.service-custom": "Fərdi xidmət",
"smtp-transport.service-help": "Onun haqqında məlum məlumatdan istifadə etmək üçün yuxarıda xidmət adını seçin. Alternativ olaraq, &quot;Xüsusi Xidmət&quot; və aşağıdakı təfərrüatları daxil edin.",
"smtp-transport.gmail-warning1": "Əgər siz GMail-i e-poçt provayderiniz kimi istifadə edirsinizsə, siz &quot;Tətbiq parolu&quot; NodeBB-nin müvəffəqiyyətlə autentifikasiyası üçün. Siz <a href=\"https://myaccount.google.com/apppasswords\">Tətbiq Parolları<i class=\"fa fa-external-link\"></i></a> səhifəsində birini yarada bilərsiniz.",
"smtp-transport.gmail-warning2": "Bu müvəqqəti həll haqqında daha ətraflı məlumat üçün, <a href=\"https://nodemailer.com/usage/using-gmail/\">lütfən, problemlə bağlı bu NodeMailer məqaləsinə<i class=\"fa fa-external-link\"></i></a> müraciət edin. Alternativ olaraq, SendGrid, Mailgun və s. kimi üçüncü tərəf e-poçt plaginindən istifadə etmək olardı. <a href=\"../extend/plugins\">Mövcud plaginləri burada nəzərdən keçirin</a>.",
"smtp-transport.auto-enable-toast": "Deyəsən, siz SMTP nəqliyyatını konfiqurasiya edirsiniz. Sizin üçün \"SMTP Nəqliyyat\" seçimini aktiv etdik.",
"smtp-transport.host": "SMTP Host",
"smtp-transport.port": "SMTP Port",
"smtp-transport.security": "Bağlantı təhlükəsizliyi",
"smtp-transport.security-encrypted": "Şifrələnmiş",
"smtp-transport.security-starttls": "StartTLS",
"smtp-transport.security-none": "Heç biri",
"smtp-transport.username": "İstifadəçi adı",
"smtp-transport.username-help": "<b>Gmail xidməti üçün</b>, xüsusən də Google Apps tərəfindən idarə olunan domendən istifadə edirsinizsə, tam e-poçt ünvanını buraya daxil edin.",
"smtp-transport.password": "Şifrə",
"smtp-transport.pool": "Birləşdirilmiş əlaqələri aktiv et",
"smtp-transport.pool-help": "Əlaqələrin birləşdirilməsi NodeBB-nin hər e-poçt üçün yeni əlaqə yaratmasının qarşısını alır. Bu seçim yalnız SMTP Nəqliyyatı aktiv olduqda tətbiq edilir.",
"smtp-transport.allow-self-signed": "Özünü imzalayan sertifikatlara icazə verin",
"smtp-transport.allow-self-signed-help": "Bu parametri aktivləşdirərək siz öz imzalı və ya etibarsız TLS sertifikatlarından istifadə etmək imkanı əldə edəcəksiniz.",
"template": "E-poçt şablonunu redaktə et",
"template.select": "E-poçt şablonunu seç",
"template.revert": "Orijinala qayıt",
"testing": "Elektron poçt testi",
"testing.select": "E-poçt şablonunu seç",
"testing.send": "Test məktubu göndər",
"testing.send-help": "Test məktubu hazırda daxil olmuş istifadəçinin e-poçt ünvanına göndəriləcək.",
"subscriptions": "E-poçt həzmləri",
"subscriptions.disable": "E-poçt həzmlərini deaktiv edin",
"subscriptions.hour": "Digest saatı",
"subscriptions.hour-help": "Zəhmət olmasa, planlaşdırılmış e-poçt həzmlərini göndərmək üçün saatı təmsil edən nömrə daxil edin (məsələn, gecə yarısı üçün <code>0</code>, 17:00 üçün <code>17</code>). Nəzərə alın ki, bu, serverin özünə görə saatdır və sistem saatınıza tam uyğun gəlməyə bilər.<br /> Təxmini server vaxtı: <span id=\"serverTime\"></span><br /> Növbəti gündəlik digestin göndərilməsi planlaşdırılır <span id=\"nextDigestTime\"></span>",
"notifications.remove-images": "E-poçt bildirişlərindən şəkilləri sil",
"require-email-address": "Yeni istifadəçilərdən e-poçt ünvanını göstərmələrini tələb et",
"require-email-address-warning": "Varsayılan olaraq, istifadəçilər sahəsi boş qoyaraq e-poçt ünvanını daxil etməkdən imtina edə bilərlər. Bu seçimi aktivləşdirmək o deməkdir ki, yeni istifadəçilər qeydiyyata <strong>və foruma</strong> sonradan girişə davam etmək üçün e-poçt ünvanını daxil etməli və təsdiq etməli olacaqlar. <strong>Bu, istifadəçinin həqiqi e-poçt ünvanını, hətta sahib olduğu bir ünvanı da daxil edəcəyini təmin etmir.</strong>",
"send-validation-email": "E-poçt əlavə edildikdə və ya dəyişdirildikdə doğrulama e-poçtları göndər",
"include-unverified-emails": "E-poçtlarınııq şəkildə təsdiqləməmiş alıcılara e-poçt göndər",
"include-unverified-warning": "Defolt olaraq, hesabları ilə əlaqəli e-poçtları olan istifadəçilər artıq təsdiqlənib, lakin bunun belə olmadığı hallar var (məsələn, SSO girişləri, babalı istifadəçilər və s.). <strong>Bu parametri öz riskinizlə aktivləşdirin &ndash; yoxlanılmamış </strong>ünvanlara e-poçtların göndərilməsi regional anti-spam qanunlarının pozulması ola bilər.",
"prompt": "İstifadəçiləri e-poçtlarını daxil etməyə və ya təsdiq etməyə dəvət edin",
"prompt-help": "Əgər istifadəçinin e-poçtu yoxdursa və ya e-poçtu təsdiqlənməyibsə, ekranda xəbərdarlıq göstərilir.",
"sendEmailToBanned": "Ban edilmiş olsa belə, istifadəçilərə e-poçt göndərin"
}

View File

@@ -1,63 +0,0 @@
{
"general-settings": "Ümumi parametrlər",
"on-this-page": "Bu səhifədə:",
"site-settings": "Sayt parametrləri",
"title": "Saytın adı",
"title.short": "Qısa başlıq",
"title.short-placeholder": "Qısa başlıq göstərilməyibsə, saytın başlığından istifadə olunacaq",
"title.url": "Başlıq Linkinin URL-si",
"title.url-placeholder": "Saytın başlığının URL-i",
"title.url-help": "Başlığa kliklədikdə istifadəçiləri bu ünvana göndərin. Boş buraxılarsa, istifadəçi forum indeksinə göndəriləcək. Qeyd: Bu, e-poçtlarda istifadə olunan xarici URL deyil və s. Bu, config.json-da <code>url</code> xüsusiyyəti tərəfindən təyin edilir.",
"title.name": "İcma adınız",
"title.show-in-header": "Başlıqda sayt başlığını göstərin",
"browser-title": "Brauzerin adı",
"browser-title-help": "Brauzer başlığı göstərilməyibsə, saytın başlığından istifadə ediləcək",
"title-layout": "Başlıq tərtibatı",
"title-layout-help": "Brauzer başlığının necə qurulacağını müəyyənləşdirin, yəni. &#123;səhifəTitle&#125; | &#123;brauzerTitle&#125;",
"description.placeholder": "İcma haqqında qısa təsvir",
"description": "Sayt təsviri",
"keywords": "Saytın açar sözləri",
"keywords-placeholder": "İcmanızı təsvir edən açar sözlər, vergüllə ayrılmış",
"logo-and-icons": "Saytın loqosu və ikonaları",
"logo.image": "Şəkil",
"logo.image-placeholder": "Forumun başlığında göstəriləcək loqoya gedən yol",
"logo.upload": "Yüklə",
"logo.url": "Logo link URL",
"logo.url-placeholder": "Saytın loqosunun URL-i",
"logo.url-help": "Loqo kliklədikdə istifadəçiləri bu ünvana göndərin. Boş buraxılarsa, istifadəçi forum indeksinə göndəriləcək. <br>Qeyd: Bu, e-poçtlarda istifadə olunan xarici URL deyil və s. Bu, config.json-da <code>url </code>xüsusiyyəti tərəfindən təyin edilir.",
"logo.alt-text": "Alt Text",
"log.alt-text-placeholder": "Əlçatımlılıq üçün alternativ mətn",
"favicon": "Favicon",
"favicon.upload": "Yüklə",
"pwa": "Progressive Web App",
"touch-icon": "Toxunuş ikonu",
"touch-icon.upload": "Yüklə",
"touch-icon.help": "Tövsiyə olunan ölçü və format: 512x512, yalnız PNG formatı. Əgər toxunma ikonu göstərilməyibsə, NodeBB favikondan istifadə etməyə qayıdacaq.",
"maskable-icon": "Maskalana bilən (Ev ekranı) ikonu",
"maskable-icon.help": "Tövsiyə olunan ölçü və format: 512x512, yalnız PNG formatı. Əgər maskalana bilən ikona göstərilməyibsə, NodeBB yenidən Touch Icon-a düşəcək.",
"outgoing-links": ıxış linklər",
"outgoing-links.warning-page": "Gedən linklər xəbərdarlıq səhifəsindən istifadə edin",
"search": "Axtarış",
"search-default-in": "Axtarış",
"search-default-in-quick": "Sürətli axtarış",
"search-default-sort-by": "Sırala",
"outgoing-links.whitelist": "Xəbərdarlıq səhifəsindən yan keçmək üçün ağ siyahıya salınacaq domenlər",
"site-colors": "Sayt rəngi metaməlumatları",
"theme-color": "Mövzu rəngi",
"background-color": "Arxa fon rəngi",
"background-color-help": "Veb sayt PWA olaraq quraşdırıldıqda sıçrayış ekranı fonu üçün istifadə edilən rəng",
"undo-timeout": "Vaxt aşımını geri qaytar",
"undo-timeout-help": "Mövzuları köçürmək kimi bəzi əməliyyatlar moderatora müəyyən müddət ərzində öz hərəkətlərini ləğv etməyə imkan verəcək. Tamamilə geri qaytarmağı söndürmək üçün 0-a təyin edin.",
"topic-tools": "Mövzu alətləri",
"home-page": "Əsas səhifə",
"home-page-route": "Əsas səhifə marşrutu",
"home-page-description": "İstifadəçilər forumunuzun kök URL-inə keçdikdə hansı səhifənin göstəriləcəyini seçin.",
"custom-route": "Fərdi marşrut",
"allow-user-home-pages": "İstifadəçi ana səhifələrinə icazə ver",
"home-page-title": "Əsas səhifənin başlığı (defolt \"Home\")",
"default-language": "Defolt dil",
"auto-detect": "Qonaqlar üçün avtomatik təsbit dil parametri",
"default-language-help": "Defolt dil forumunuzu ziyarət edən bütün istifadəçilər üçün dil parametrlərini müəyyən edir. <br />Fərdi istifadəçilər öz hesab parametrləri səhifəsində defolt dili ləğv edə bilərlər.",
"post-sharing": "Yazı paylaşımı",
"info-plugins-additional": "Pluginlər yazıların paylaşılması üçün əlavə şəbəkələr əlavə edə bilər."
}

View File

@@ -1,13 +0,0 @@
{
"general": "Ümumi",
"private-groups": "Şəxsi qruplar",
"private-groups.help": "Aktivdirsə, qruplara qoşulmaq üçün qrup sahibinin təsdiqi tələb olunur <em>(Defolt: aktivdir)</em>",
"private-groups.warning": "<strong>Ehtiyatlı olun!</strong> Bu seçim qeyri-aktivdirsə və şəxsi qruplarınız varsa, onlar avtomatik olaraq ictimailəşir.",
"allow-multiple-badges": "Birdən çox nişanlara icazə ver",
"allow-multiple-badges-help": "Bu bayraq istifadəçilərə bir neçə qrup nişanı seçməyə icazə vermək üçün istifadə edilə bilər, mövzu dəstəyi tələb edir.",
"max-name-length": "Qrup adının maksimum uzunluğu",
"max-title-length": "Qrup başlığının maksimum uzunluğu",
"cover-image": "Qrup örtük şəkili",
"default-cover": "Defolt örtük şəkilləri",
"default-cover-help": "Yüklənmiş örtük şəkli olmayan qruplar üçün vergüllə ayrılmış defolt örtük şəkilləri əlavə edin"
}

View File

@@ -1,26 +0,0 @@
{
"navigation": "Naviqasiya",
"icon": "İkon:",
"change-icon": "dəyiş",
"route": "Marşrut:",
"tooltip": "İpucu:",
"text": "Mətn:",
"text-class": "Mətn sinfi: <small>istəyə görə</small>",
"class": "Sinif: <small>istəyə görə</small>",
"id": "ID: <small>istəyə görə</small>",
"properties": "Xüsusiyyətlər:",
"show-to-groups": "Qruplara göstər:",
"open-new-window": "Yeni pəncərədə aç",
"dropdown": "Açılan siyahı",
"dropdown-placeholder": "Aşağıılan menyu elementlərinizi yerləşdirin, yəni:<br/> &lt;li&gt;&lt;a class=&quot;açılan element&quot; href&#x3D;&quot;https://myforum.com&quot;&gt;Link 1&lt;/a&gt;&lt;/li&gt;",
"btn.delete": "Sil",
"btn.disable": "Qeyri-aktiv et",
"btn.enable": "Aktivləşdir",
"available-menu-items": "Mövcud menyu elementləri",
"custom-route": "Fərdi marşrut",
"core": "özək",
"plugin": "plagin"
}

View File

@@ -1,7 +0,0 @@
{
"notifications": "Bildirişlər",
"welcome-notification": "Xoş gəlmisiniz bildirişi",
"welcome-notification-link": "Xoş gəlmisiniz bildiriş linki",
"welcome-notification-uid": "Xoş gəlmisiniz bildiriş istifadəçisi (UID)",
"post-queue-notification-uid": "Yazı növbəsi istifadəçisi (UID)"
}

View File

@@ -1,12 +0,0 @@
{
"pagination": "Səhifələmə parametrləri",
"enable": "Sonsuz sürüşdürmə əvəzinə mövzuları və yazıları səhifələşdirin",
"posts": "Yazıların səhifələndirilməsi",
"topics": "Mövzunun səhifələndirilməsi",
"posts-per-page": "Səhifə üzrə yazılar",
"max-posts-per-page": "Səhifə başına maksimum yazı",
"categories": "Kateqoriya səhifələmə",
"topics-per-page": "Səhifə üzrə mövzular",
"max-topics-per-page": "Səhifə başına maksimum mövzular",
"categories-per-page": "Səhifə başına kateqoriyalar"
}

View File

@@ -1,64 +0,0 @@
{
"general": "Ümumi",
"sorting": "Yazıların çeşidlənməsi",
"sorting.post-default": "Defolt yazı çeşidlənməsi",
"sorting.oldest-to-newest": "Ən köhnədən yeniyə",
"sorting.newest-to-oldest": "Ən yenidən köhnəyə",
"sorting.recently-replied": "Son cavablandırılmış",
"sorting.recently-created": "Son yaradılmış",
"sorting.most-votes": "Ən çox səs",
"sorting.most-posts": "Ən çox yazı",
"sorting.most-views": "Ən çox baxış",
"sorting.topic-default": "Defolt mövzu çeşidləmə",
"length": "Yazının uzunluğu",
"post-queue": "Yazı növbəsi",
"restrictions": "Göndərmə məhdudiyyətləri",
"restrictions.post-queue": "Yazı növbəsini aktivləşdir",
"restrictions.post-queue-rep-threshold": "Yazı növbəsini keçmək üçün reputasiya tələb olunur",
"restrictions.groups-exempt-from-post-queue": "Yazı növbəsindən azad edilməli qrupları seçin",
"restrictions-new.post-queue": "Yeni istifadəçi məhdudiyyətlərini aktivləşdir",
"restrictions.post-queue-help": "Yazı növbəsinin aktivləşdirilməsi yeni istifadəçilərin yazılarını təsdiq üçün növbəyə qoyacaq",
"restrictions-new.post-queue-help": "Yeni istifadəçi məhdudiyyətlərinin aktivləşdirilməsi yeni istifadəçilər tərəfindən yaradılan yazılara məhdudiyyətlər qoyacaq",
"restrictions.seconds-between": "Yazılar arasındakı saniyələrin sayı",
"restrictions.seconds-edit-after": "Yazının redaktə edilə bilən saniyə sayı (deaktiv etmək üçün 0-a təyin edin)",
"restrictions.seconds-delete-after": "Yazının silinə biləcəyi saniyə sayı (deaktiv etmək üçün 0-a təyin edin)",
"restrictions.replies-no-delete": "İstifadəçilərə öz mövzularını silməyə icazə verildikdən sonra cavabların sayı (deaktiv etmək üçün 0-a təyin edilir)",
"restrictions.title-length": "Başlığın uzunluğu",
"restrictions.post-length": "Yazının uzunluğu",
"restrictions.days-until-stale": "Mövzunun köhnəlmiş sayılmasına qədər olan günlər",
"restrictions.stale-help": "Mövzu \"köhnə\" hesab edilərsə, həmin mövzuya cavab verməyə cəhd edən istifadəçilərə xəbərdarlıq göstərilir. (deaktiv etmək üçün 0-a təyin edin)",
"timestamp": "Timestamp",
"timestamp.cut-off": "Kəsilmə tarixi (günlərlə)",
"timestamp.cut-off-help": "Tarixlər &amp; vaxtlar nisbi şəkildə göstəriləcək (məsələn, \"3 saat əvvəl\" / \"5 gün əvvəl\") və müxtəlif vaxtlarda lokallaşdırılacaq\n\t\t\t\t\tdillər. Müəyyən bir nöqtədən sonra bu mətn lokallaşdırılmış tarixin özünü göstərmək üçün dəyişdirilə bilər\n\t\t\t\t\t(məsələn, 5 noyabr 2016-cı il 15:30).<br /><em>(Defolt: <code>30</code> və ya bir ay). Tarixləri həmişə göstərmək üçün 0-a təyin edin, həmişə nisbi vaxtları göstərmək üçün boş buraxın.</em>",
"timestamp.necro-threshold": "Necro Threshold (in days)",
"timestamp.necro-threshold-help": "Mesajlar arasındakı vaxt nekro həddindən artıq olarsa, mesajlar arasında mesaj göstərilir. (Defolt: <code>7</code> və ya bir həftə). Deaktiv etmək üçün 0-a təyin edin.</em>",
"timestamp.topic-views-interval": "Mövzuya baxış intervalını artır (dəqiqələrlə)",
"timestamp.topic-views-interval-help": "Mövzu baxışları bu parametrlə müəyyən edildiyi kimi yalnız hər X dəqiqədə bir dəfə artırılacaq.",
"teaser": "Tizer post",
"teaser.last-post": "Son &ndash; Cavab yoxdursa, orijinal yazı da daxil olmaqla, ən son yazını göstər",
"teaser.last-reply": "Son &ndash; Ən son cavabı və ya cavab yoxdursa, \"Cavab yoxdur\" yerini göstər",
"teaser.first": "Birinci",
"showPostPreviewsOnHover": "Siçan yuxarı qalxdıqda yazıların önizləməsini göstər",
"unread-and-recent": "Oxunmamış və son parametrlər",
"unread.cutoff": "Oxunmamış kəsilmə günləri",
"unread.min-track-last": "Son oxunuşu izləmədən əvvəl mövzuda minimum yazılar",
"recent.max-topics": "Maksimum mövzular son",
"recent.categoryFilter.disable": "Son səhifədə nəzərə alınmayan kateqoriyalardakı mövzuların filtrasiyasını deaktiv edin",
"signature": "İmza parametrləri",
"signature.disable": "İmzaları söndür",
"signature.no-links": "İmzalardakı bağlantıları deaktiv et",
"signature.no-images": "İmzalardakı şəkilləri söndür",
"signature.hide-duplicates": "Mövzularda dublikat imzaları gizlət",
"signature.max-length": "Maksimum imza uzunluğu",
"composer": "Bəstəkar parametrləri",
"composer-help": "Aşağıdakı parametrlər göstərilən post bəstəkarının funksionallığını və/yaxud görünüşünü idarə edir\n\t\t\t\tistifadəçilərə yeni mövzular yaratdıqda və ya mövcud mövzulara cavab verdikdə.",
"composer.show-help": "\"Yardım\" tabını göstər",
"composer.enable-plugin-help": "Pluginlərə kömək tabına məzmun əlavə etməyə icazə ver",
"composer.custom-help": "Fərdi yardım mətni",
"backlinks": "Geri bağlantılar",
"backlinks.enabled": "Mövzu geri bağlantılarını aktivləşdir",
"backlinks.help": "Əgər yazı başqa mövzuya istinad edirsə, həmin anda həmin yazıya geri keçid istinad edilən mövzuya daxil ediləcək.",
"ip-tracking": "IP İzləmə",
"ip-tracking.each-post": "Hər yazı üçün IP ünvanını izlə",
"enable-post-history": "Post tarixçəsini aktivləşdir"
}

View File

@@ -1,43 +0,0 @@
{
"reputation": "Reputasiya parametrləri",
"disable": "Reputasiya sistemini deaktiv et",
"disable-down-voting": "Aşağı səsverməni deaktiv et",
"upvote-visibility": "Səs görmə qabiliyyətini artırın",
"upvote-visibility-all": "Hər kəs səsləri görə bilər",
"upvote-visibility-loggedin": "Yalnız sistemə daxil olan istifadəçilər səsləri görə bilər",
"upvote-visibility-privileged": "Yalnız adminlər və moderatorlar kimi imtiyazlı istifadəçilər müsbət səsləri görə bilər",
"downvote-visibility": "Aşağı səsvermə görünürlüğü",
"downvote-visibility-all": "Hər kəs aşağı səsləri görə bilər",
"downvote-visibility-loggedin": "Yalnız daxil olan istifadəçilər aşağı səsləri görə bilər",
"downvote-visibility-privileged": "Yalnız adminlər və moderatorlar kimi imtiyazlı istifadəçilər aşağı səsləri görə bilər",
"thresholds": "Fəaliyyət hədləri",
"min-rep-upvote": "Yazılara səs vermək üçün minimum reputasiya",
"upvotes-per-day": "Gündə müsbət səslər (məhdud olmayan müsbət səslər üçün 0-a təyin et)",
"upvotes-per-user-per-day": "Gündə istifadəçi başına müsbət səslər (məhdud olmayan müsbət səslər üçün 0-a təyin et)",
"min-rep-downvote": "Yazılara mənfi səs vermək üçün minimum reputasiya",
"downvotes-per-day": "Gündə mənfi səslər (məhdud mənfi səslər üçün 0-a təyin et)",
"downvotes-per-user-per-day": "Gündə bir istifadəçi üçün mənfi səslər (məhdud mənfi səslər üçün 0-a təyin et)",
"min-rep-chat": "Söhbət mesajları göndərmək üçün minimum reputasiya",
"min-rep-post-links": "Linkləri yerləşdirmək üçün minimum reputasiya",
"min-rep-flag": "Yazılara bayraq qoymaq üçün minimum reputasiya",
"min-rep-aboutme": "İstifadəçi profilinə \"Haqqımda\" əlavə etmək üçün minimum reputasiya",
"min-rep-signature": "İstifadəçi profilinə \"İmza\" əlavə etmək üçün minimum reputasiya",
"min-rep-profile-picture": "İstifadəçi profilinə \"Profil Şəkili\" əlavə etmək üçün minimum reputasiya",
"min-rep-cover-picture": "İstifadəçi profilinə \"Örtük şəkli\" əlavə etmək üçün minimum reputasiya",
"flags": "Bayraq parametrləri",
"flags.limit-per-target": "Bir şeyin işarələnə biləcəyi maksimum sayı",
"flags.limit-per-target-placeholder": "Defolt: 0",
"flags.limit-per-target-help": "Yazı və ya istifadəçi dəfələrlə işarələndikdə, hər bir əlavə bayraq &quot;hesabat&quot; və orijinal bayrağına əlavə edildi. Elementin qəbul edə biləcəyi hesabatların sayını məhdudlaşdırmaq üçün bu seçimi sıfırdan başqa bir rəqəmə təyin edin.",
"flags.limit-post-flags-per-day": "Bir istifadəçinin bir gündə yazıları qeyd edə biləcəyi maksimum sayı",
"flags.limit-post-flags-per-day-help": "Deaktiv etmək üçün 0-a təyin edin, (defolt: 10)",
"flags.limit-user-flags-per-day": "Bir istifadəçinin gündə maksimum neçə dəfə istifadəçiləri işarələyə bilər",
"flags.limit-user-flags-per-day-help": "Deaktiv etmək üçün 0-a təyin edin, (defolt: 10)",
"flags.auto-flag-on-downvote-threshold": "Avtomatik bayraq yazılarına mənfi səslərin sayı",
"flags.auto-flag-on-downvote-threshold-help": "Deaktiv etmək üçün 0-a təyin edin, (defolt: 0)",
"flags.auto-resolve-on-ban": "İstifadəçinin bütün biletləri qadağan olunduqda onları avtomatik həll edin",
"flags.action-on-resolve": "Bayraq həll edildikdə aşağıdakıları edin",
"flags.action-on-reject": "Bayraq rədd edildikdə aşağıdakıları edin",
"flags.action.nothing": "Heç nə etmə",
"flags.action.rescind": "Moderatorlara/inzibatçılara göndərilən bildirişi ləğv et"
}

View File

@@ -1,6 +0,0 @@
{
"reconnection": "Yenidən qoşulma parametrləri",
"max-attempts": "Maksimum yenidən qoşulma cəhdləri",
"default-placeholder": "Defolt: %1",
"delay": "Yenidən qoşulma gecikməsi"
}

View File

@@ -1,9 +0,0 @@
{
"notifications": "Bildirişlər",
"chat-messages": "Söhbət mesajları",
"play-sound": "Oynat",
"incoming-message": "Gələn mesaj",
"outgoing-message": "Gedən mesaj",
"upload-new-sound": "Yeni səs yüklə",
"saved": "Parametrlər yadda saxlandı"
}

View File

@@ -1,13 +0,0 @@
{
"tag": "Teq parametrləri",
"link-to-manage": "Teqləri idarə et",
"system-tags": "Sistem teqləri",
"system-tags-help": "Bu teqlərdən yalnız imtiyazlı istifadəçilər istifadə edə biləcəklər.",
"tags-per-topic": "Mövzu başına teqlər",
"min-per-topic": "Mövzu üzrə minimum teqlər",
"max-per-topic": "Mövzu üzrə maksimum teqlər",
"min-length": "Minimum teq uzunluğu",
"max-length": "Maksimum teq uzunluğu",
"related-topics": "Əlaqəli mövzular",
"max-related-topics": "Göstəriləcək maksimum əlaqəli mövzular (tema tərəfindən dəstəklənirsə)"
}

View File

@@ -1,46 +0,0 @@
{
"posts": "Yazılar",
"orphans": "Yetim sənədlər",
"private": "Yüklənmiş faylları şəxsi et",
"strip-exif-data": "EXIF məlumatlarını ayır",
"preserve-orphaned-uploads": "Yazı təmizləndikdən sonra yüklənmiş faylları diskdə saxla",
"orphanExpiryDays": "Yetim faylları saxlamaq üçün günlər",
"orphanExpiryDays-help": "Bu bir çox gündən sonra, yetim qalmış yükləmələr fayl sistemindən silinəcək. <br />0 təyin edin və ya söndürmək üçün boş buraxın.",
"private-extensions": "Şəxsi etmək üçün fayl genişləndirmələri",
"private-uploads-extensions-help": "Şəxsi etmək üçün fayl uzantılarının vergüllə ayrılmış siyahısını daxil edin (məsələn, <code>pdf, xls, doc</code>). Boş siyahı bütün faylların şəxsi olduğunu bildirir.",
"resize-image-width-threshold": "Göstərilən genişlikdən daha geniş olan şəkillərin ölçüsünü dəyişdir",
"resize-image-width-threshold-help": "(piksellə, defolt: 2000 piksel, söndürmək üçün 0-a təyin edin)",
"resize-image-width": "Şəkillərin ölçüsünü müəyyən edilmiş enə qədər dəyişdir",
"resize-image-width-help": "(piksellə, defolt: 760 piksel, söndürmək üçün 0-a təyin et)",
"resize-image-keep-original": "Ölçüsü dəyişdirildikdən sonra orijinal şəkli saxla",
"resize-image-quality": "Şəkillərin ölçüsünü dəyişdirərkən istifadə ediləcək keyfiyyət",
"resize-image-quality-help": "Ölçüsü dəyişdirilmiş şəkillərin fayl ölçüsünü azaltmaq üçün daha aşağı keyfiyyətli parametrdən istifadə edin.",
"max-file-size": "Maksimum fayl ölçüsü (KiB ilə)",
"max-file-size-help": "(kibibaytla, defolt: 2048 KiB)",
"reject-image-width": "Maksimum şəkil eni (piksellə)",
"reject-image-width-help": "Bu dəyərdən daha geniş şəkillər rədd ediləcək.",
"reject-image-height": "Maksimum şəklin hündürlüyü (piksellə)",
"reject-image-height-help": "Bu dəyərdən yüksək olan şəkillər rədd ediləcək.",
"allow-topic-thumbnails": "İstifadəçilərə mövzu miniatürlərini yükləməyə icazə ver",
"topic-thumb-size": "Mövzu thumb ölçüsü",
"allowed-file-extensions": "İcazə verilən fayl uzantıları",
"allowed-file-extensions-help": "Fayl uzantılarının vergüllə ayrılmış siyahısını buraya daxil edin (məsələn, <code>pdf, xls, doc</code>). Boş siyahı bütün genişləndirmələrə icazə verildiyini bildirir.",
"upload-limit-threshold": "İstifadəçi yükləmələri üçün limit:",
"upload-limit-threshold-per-minute": "%1 dəqiqəyə",
"upload-limit-threshold-per-minutes": "%1 dəqiqəyə",
"profile-avatars": "Profil avatarları",
"allow-profile-image-uploads": "İstifadəçilərə profil şəkillərini yükləməyə icazə ver",
"convert-profile-image-png": "Profil şəklini PNG formatına çevir",
"default-avatar": "Fərdi defolt avatar",
"upload": "Yüklə",
"profile-image-dimension": "Profil şəklinin ölçüsü",
"profile-image-dimension-help": "(piksellə, defolt: 128 piksel)",
"max-profile-image-size": "Maksimum profil şəkli fayl ölçüsü",
"max-profile-image-size-help": "(kibibaytla, defolt: 256 KiB)",
"max-cover-image-size": "Maksimum örtük şəklin ölçüsü",
"max-cover-image-size-help": "(kibibaytla, defolt: 2,048 KiB)",
"keep-all-user-images": "Avatarların və profil örtüklərinin köhnə versiyalarını serverdə saxla",
"profile-covers": "Profil örtükləri",
"default-covers": "Defolt örtük şəkilləri",
"default-covers-help": "Yüklənmiş örtük şəkli olmayan hesablar üçün vergüllə ayrılmış defolt örtük şəkilləri əlavə et"
}

View File

@@ -1,98 +0,0 @@
{
"authentication": "Autentifikasiya",
"email-confirm-interval": "İstifadəçi təsdiq e-poçtunu yenidən göndərə bilməz",
"email-confirm-interval2": "dəqiqə keçib",
"allow-login-with": "Daxil olmağa icazə verin",
"allow-login-with.username-email": "İstifadəçi adı və ya E-poçt",
"allow-login-with.username": "Sadəcə istifadəçi adı",
"account-settings": "Hesab parametrləri",
"gdpr-enabled": "GDPR razılığının toplanmasına icazə ver",
"gdpr-enabled-help": "Aktivləşdirildikdə, bütün yeni qeydiyyatdan keçənlərdən <a href=\"https://ec.europa.eu/info/priorities/justice-and-fundamental-rights/data-protection/2018-reform-eu-data-protection-rules/eu-data-protection-rules_en\">Ümumi Məlumatların Qorunması Qaydalarına (GDPR)</a> əsasən məlumatların toplanması və istifadəsi üçün açıq şəkildə razılıq vermələri tələb olunacaq. <strong>Qeyd</strong>: GDPR-nin aktivləşdirilməsi əvvəlcədən mövcud olan istifadəçiləri razılıq verməyə məcbur etmir. Bunu etmək üçün GDPR plaginini quraşdırmalısınız.",
"disable-username-changes": "İstifadəçi adı dəyişikliklərini deaktiv et",
"disable-email-changes": "E-poçt dəyişikliklərini deaktiv et",
"disable-password-changes": "Parol dəyişikliklərini deaktiv et",
"allow-account-deletion": "Hesabın silinməsinə icazə ver",
"hide-fullname": "Tam adı istifadəçilərdən gizlət",
"hide-email": "İstifadəçilərdən e-poçtu gizlət",
"show-fullname-as-displayname": "Əgər varsa, istifadəçinin tam adını onun ekran adı kimi göstər",
"themes": "Mövzular",
"disable-user-skins": "İstifadəçilərin fərdi örtük seçmələrinin qarşısını al",
"account-protection": "Hesabın qorunması",
"admin-relogin-duration": "Admin yenidən daxil olma müddəti (dəqiqə)",
"admin-relogin-duration-help": "Müəyyən vaxtdan sonra admin bölməsinə daxil olmaq üçün yenidən giriş tələb olunacaq, onu söndürmək üçün 0-a təyin edin",
"login-attempts": "Hər saatda daxil olmaq cəhdləri",
"login-attempts-help": "Əgər istifadəçinin hesabına giriş cəhdləri bu həddi keçərsə, həmin hesab əvvəlcədən konfiqurasiya edilmiş müddət ərzində kilidlənəcək.",
"lockout-duration": "Hesabın kilidlənməsi müddəti (dəqiqələr)",
"login-days": "İstifadəçinin giriş seanslarını xatırlamaq üçün günlər",
"password-expiry-days": "Müəyyən günlərdən sonra parol sıfırlamağa məcbur et",
"session-time": "Sessiya vaxtı",
"session-time-days": "Günlər",
"session-time-seconds": "Saniyələr",
"session-time-help": "Bu dəyərlər istifadəçinin &quot;Məni yadda saxla&quot; girişdə. Qeyd edək ki, bu dəyərlərdən yalnız biri istifadə olunacaq. Əgər <i>saniyə</i> dəyəri yoxdursa, <i>günlərə</i> qayıdırıq. <i>Gün</i> dəyəri yoxdursa, defolt olaraq <i>14 gündür</i>.",
"session-duration": "\"Məni Xatırla\" işarəsi seçilməyibsə, sessiyanın uzunluğu (saniyələr)",
"session-duration-help": "Defolt olaraq - və ya 0-a təyin olunarsa, istifadəçi sessiya müddətində daxil olaraq qalacaq (məsələn, brauzer pəncərəsi/tabı nə qədər açıq qalsa da). Müəyyən edilmiş saniyə sayından sonra sessiyanııq şəkildə etibarsız etmək üçün bu dəyəri təyin edin.",
"online-cutoff": "İstifadəçidən bir neçə dəqiqə sonra qeyri-aktiv hesab edilir",
"online-cutoff-help": "İstifadəçi bu müddət ərzində heç bir hərəkət etməzsə, onlar qeyri-aktiv sayılır və real vaxt yeniləmələrini almırlar.",
"registration": "İstifadəçinin qeydiyyatı",
"registration-type": "Qeydiyyat növü",
"registration-approval-type": "Qeydiyyatın təsdiqi növü",
"registration-type.normal": "Normal",
"registration-type.admin-approval": "Administrator təsdiqi",
"registration-type.admin-approval-ip": "IP-lər üçün admin təsdiqi",
"registration-type.invite-only": "Yalnız dəvət ilə",
"registration-type.admin-invite-only": "Yalnız admin dəvəti ilə",
"registration-type.disabled": "Qeydiyyat bağlıdır",
"registration-type.help": "Normal - İstifadəçilər /register səhifəsindən qeydiyyatdan keçə bilərlər.<br/>\nYalnız Dəvət Et - İstifadəçilər <a href=\"%1/users\" target=\"_blank\">istifadəçilər</a> səhifəsindən başqalarını dəvət edə bilərlər.<br/>\nYalnız Admin Dəvət - Yalnız administratorlar <a href=\"%1/users\" target=\"_blank\">istifadəçilərdən</a> və <a href=\"%1/admin/manage/users\">admin/idarə/istifadəçi</a> səhifələrindən başqalarını dəvət edə bilər<br/>\nQeydiyyat yoxdur - İstifadəçi qeydiyyatı yoxdur.<br/>",
"registration-approval-type.help": "Normal - İstifadəçilər dərhal qeydiyyatdan keçirlər<br/>.\nAdmin Təsdiqi - İstifadəçi qeydiyyatları administratorlar üçün <a href=\"%1/admin/manage/registration\">təsdiq növbəsinə</a> yerləşdirilir<br/>.\nIP-lər üçün Admin Təsdiqi - Yeni istifadəçilər üçün normal, artıq hesabı olan IP ünvanları üçün Admin Təsdiqi.<br/>",
"registration-queue-auto-approve-time": "Avtomatik təsdiqləmə vaxtı",
"registration-queue-auto-approve-time-help": "İstifadəçinin avtomatik təsdiqlənməsindən bir neçə saat əvvəl. Deaktiv etmək üçün 0.",
"registration-queue-show-average-time": "İstifadəçilərə yeni istifadəçinin təsdiqlənməsi üçün tələb olunan orta vaxtı göstər",
"registration.max-invites": "İstifadəçi başına maksimum dəvətlər",
"max-invites": "İstifadəçi başına maksimum dəvətlər",
"max-invites-help": "Heç bir məhdudiyyət üçün 0. Adminlər sonsuz dəvət alırlar.Yalnız \"Yalnız Dəvət Et\" üçün keçərlidir",
"invite-expiration": "Dəvət müddəti bitməsi",
"invite-expiration-help": "Dəvətlərin müddəti # gündür.",
"min-username-length": "Minimum istifadəçi adı uzunluğu",
"max-username-length": "Maksimum istifadəçi adı uzunluğu",
"min-password-length": "Minimum şifrə uzunluğu",
"min-password-strength": "Minimum şifrə uzunluğu",
"max-about-me-length": "Haqqımda maksimum uzunluq",
"terms-of-use": "Forum İstifadə Şərtləri <small>(deaktiv etmək üçün boş buraxın)</small>",
"user-search": "İstifadəçi axtarışı",
"user-search-results-per-page": "Axtarış nəticələrində göstəriləcək istifadəçilərin sayı",
"default-user-settings": "Defolt istifadəçi parametrləri",
"show-email": "E-poçtu göstər",
"show-fullname": "Tam adı göstər",
"restrict-chat": "Yalnız izlədiyim istifadəçilərdən gələn söhbət mesajlarına icazə ver",
"disable-incoming-chats": "Disable incoming chat messages",
"outgoing-new-tab": "Gedən bağlantıları yeni tabda açın",
"topic-search": "Mövzudaxili axtarışı aktivləşdir",
"update-url-with-post-index": "Mövzulara baxarkən url-i post indeksi ilə yenilə",
"digest-freq": "Digest-ə abunə ol",
"digest-freq.off": "Söndür",
"digest-freq.daily": "Gündəlik",
"digest-freq.weekly": "Həftəlik",
"digest-freq.biweekly": "İki həftədə bir",
"digest-freq.monthly": "Aylıq",
"email-chat-notifs": "Yeni söhbət mesajı gəlsə və mən onlayn deyiləmsə, e-poçt göndər",
"email-post-notif": "Abunə olduğum mövzulara cavablar verildikdə e-məktub göndər",
"follow-created-topics": "Yaratdığınız mövzuları izlə",
"follow-replied-topics": "Cavab verdiyiniz mövzuları izlə",
"default-notification-settings": "Defolt bildiriş parametri",
"categoryWatchState": "Defolt kateqoriya izləmə vəziyyəti",
"categoryWatchState.tracking": "İzlənir",
"categoryWatchState.notwatching": "İzlənilirmir",
"categoryWatchState.ignoring": "İqnor edilir",
"restrictions-new": "Yeni istifadəçi məhdudiyyətləri",
"restrictions.rep-threshold": "Bu məhdudiyyətlər götürülməzdən əvvəl reputasiya həddinə çatmaq",
"restrictions.seconds-between-new": "Yeni istifadəçilər üçün yazılar arasında saniyələr",
"restrictions.seconds-before-new": "Yeni istifadəçinin ilk postunu yazmasına saniyələr qalmış",
"restrictions.seconds-edit-after-new": "Yazının yeni istifadəçilər üçün redaktə edilə biləcəyi saniyələrin sayı (deaktiv etmək üçün 0-a təyin edilir)",
"restrictions.milliseconds-between-messages": "Yeni istifadəçilər üçün söhbət mesajları arasındakı vaxt (ms)",
"restrictions.groups-exempt-from-new-user-restrictions": "Yeni istifadəçi məhdudiyyətlərindən azad edilməli qruplar seçin",
"guest-settings": "Qonaq parametrləri",
"handles.enabled": "Qonaq qulplarına icazə ver",
"handles.enabled-help": "Bu seçim qonaqlara yazdıqları hər yazı ilə əlaqələndirmək üçün ad seçməyə imkan verən yeni sahəni açır. Əgər əlil olarsa, onlar sadəcə olaraq \"Qonaq\" adlanacaqlar.",
"topic-views.enabled": "Qonaqlara mövzuya baxış sayını artırmağa icazə ver",
"reply-notifications.enabled": "Qonaqlara cavab bildirişləri yaratmağa icazə ver"
}

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