mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-12-17 22:10:23 +01:00
Compare commits
1 Commits
v4.0.0
...
socket-not
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b08259e534 |
19
.github/workflows/docker.yml
vendored
19
.github/workflows/docker.yml
vendored
@@ -21,6 +21,8 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
|
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Set up QEMU
|
- name: Set up QEMU
|
||||||
uses: docker/setup-qemu-action@v3
|
uses: docker/setup-qemu-action@v3
|
||||||
@@ -35,9 +37,6 @@ jobs:
|
|||||||
username: ${{ github.repository_owner }}
|
username: ${{ github.repository_owner }}
|
||||||
password: ${{ secrets.GITHUB_TOKEN }}
|
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
|
- name: Docker meta
|
||||||
id: meta
|
id: meta
|
||||||
uses: docker/metadata-action@v5
|
uses: docker/metadata-action@v5
|
||||||
@@ -49,22 +48,12 @@ jobs:
|
|||||||
type=semver,pattern={{major}}.x
|
type=semver,pattern={{major}}.x
|
||||||
type=raw,value=latest,enable={{is_default_branch}}
|
type=raw,value=latest,enable={{is_default_branch}}
|
||||||
type=ref,event=branch,enable=${{ github.event.repository.default_branch != github.ref }}
|
type=ref,event=branch,enable=${{ github.event.repository.default_branch != github.ref }}
|
||||||
type=raw,value=${{ env.CURRENT_DATE_NST }}
|
|
||||||
flavor: |
|
|
||||||
latest=true
|
|
||||||
|
|
||||||
- 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
|
- name: Build and push Docker images
|
||||||
uses: docker/build-push-action@v6
|
uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
cache-from: type=gha
|
cache-from: type=gha
|
||||||
cache-to: type=gha,mode=min
|
cache-to: type=gha,mode=max
|
||||||
context: .
|
context: .
|
||||||
file: ./Dockerfile
|
file: ./Dockerfile
|
||||||
platforms: linux/amd64,linux/arm64,linux/arm/v7
|
platforms: linux/amd64,linux/arm64,linux/arm/v7
|
||||||
|
|||||||
10
.github/workflows/test.yaml
vendored
10
.github/workflows/test.yaml
vendored
@@ -48,7 +48,7 @@ jobs:
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
postgres:
|
postgres:
|
||||||
image: 'postgres:17-alpine'
|
image: 'postgres:16-alpine'
|
||||||
env:
|
env:
|
||||||
POSTGRES_USER: postgres
|
POSTGRES_USER: postgres
|
||||||
POSTGRES_PASSWORD: postgres
|
POSTGRES_PASSWORD: postgres
|
||||||
@@ -63,7 +63,7 @@ jobs:
|
|||||||
- 5432:5432
|
- 5432:5432
|
||||||
|
|
||||||
redis:
|
redis:
|
||||||
image: 'redis:7.4.2'
|
image: 'redis:7.2.3'
|
||||||
# Set health checks to wait until redis has started
|
# Set health checks to wait until redis has started
|
||||||
options: >-
|
options: >-
|
||||||
--health-cmd "redis-cli ping"
|
--health-cmd "redis-cli ping"
|
||||||
@@ -75,7 +75,7 @@ jobs:
|
|||||||
- 6379:6379
|
- 6379:6379
|
||||||
|
|
||||||
mongo:
|
mongo:
|
||||||
image: 'mongo:8.0'
|
image: 'mongo:7.0'
|
||||||
ports:
|
ports:
|
||||||
# Maps port 27017 on service container to the host
|
# Maps port 27017 on service container to the host
|
||||||
- 27017:27017
|
- 27017:27017
|
||||||
@@ -192,7 +192,7 @@ jobs:
|
|||||||
run: npm run coverage
|
run: npm run coverage
|
||||||
|
|
||||||
- name: Test coverage
|
- name: Test coverage
|
||||||
uses: coverallsapp/github-action@cfd0633edbd2411b532b808ba7a8b5e04f76d2c8 # v2.3.4
|
uses: coverallsapp/github-action@3dfc5567390f6fa9267c0ee9c251e4c8c3f18949 # v2.2.3
|
||||||
if: matrix.coverage
|
if: matrix.coverage
|
||||||
with:
|
with:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
@@ -206,7 +206,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Coveralls Finished
|
- name: Coveralls Finished
|
||||||
uses: coverallsapp/github-action@cfd0633edbd2411b532b808ba7a8b5e04f76d2c8 # v2.3.4
|
uses: coverallsapp/github-action@3dfc5567390f6fa9267c0ee9c251e4c8c3f18949 # v2.2.3
|
||||||
with:
|
with:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
parallel-finished: true
|
parallel-finished: true
|
||||||
|
|||||||
3
.gitignore
vendored
3
.gitignore
vendored
@@ -71,5 +71,4 @@ package-lock.json
|
|||||||
link-plugins.sh
|
link-plugins.sh
|
||||||
test.sh
|
test.sh
|
||||||
|
|
||||||
.docker/**
|
.docker/
|
||||||
!**/.gitkeep
|
|
||||||
491
.tx/config
491
.tx/config
@@ -28,7 +28,6 @@ trans.fa_IR = public/language/fa-IR/admin/admin.json
|
|||||||
trans.id = public/language/id/admin/admin.json
|
trans.id = public/language/id/admin/admin.json
|
||||||
trans.ms = public/language/ms/admin/admin.json
|
trans.ms = public/language/ms/admin/admin.json
|
||||||
trans.nb = public/language/nb/admin/admin.json
|
trans.nb = public/language/nb/admin/admin.json
|
||||||
trans.nn_NO = public/language/nn-NO/admin/admin.json
|
|
||||||
trans.sk = public/language/sk/admin/admin.json
|
trans.sk = public/language/sk/admin/admin.json
|
||||||
trans.cs = public/language/cs/admin/admin.json
|
trans.cs = public/language/cs/admin/admin.json
|
||||||
trans.fi = public/language/fi/admin/admin.json
|
trans.fi = public/language/fi/admin/admin.json
|
||||||
@@ -87,7 +86,6 @@ trans.bg = public/language/bg/admin/advanced/cache.json
|
|||||||
trans.cs = public/language/cs/admin/advanced/cache.json
|
trans.cs = public/language/cs/admin/advanced/cache.json
|
||||||
trans.lt = public/language/lt/admin/advanced/cache.json
|
trans.lt = public/language/lt/admin/advanced/cache.json
|
||||||
trans.nb = public/language/nb/admin/advanced/cache.json
|
trans.nb = public/language/nb/admin/advanced/cache.json
|
||||||
trans.nn_NO = public/language/nn-NO/admin/advanced/cache.json
|
|
||||||
trans.uk = public/language/uk/admin/advanced/cache.json
|
trans.uk = public/language/uk/admin/advanced/cache.json
|
||||||
trans.el = public/language/el/admin/advanced/cache.json
|
trans.el = public/language/el/admin/advanced/cache.json
|
||||||
trans.pl = public/language/pl/admin/advanced/cache.json
|
trans.pl = public/language/pl/admin/advanced/cache.json
|
||||||
@@ -129,7 +127,6 @@ trans.zh_TW = public/language/zh-TW/admin/advanced/database.json
|
|||||||
trans.gl = public/language/gl/admin/advanced/database.json
|
trans.gl = public/language/gl/admin/advanced/database.json
|
||||||
trans.it = public/language/it/admin/advanced/database.json
|
trans.it = public/language/it/admin/advanced/database.json
|
||||||
trans.nb = public/language/nb/admin/advanced/database.json
|
trans.nb = public/language/nb/admin/advanced/database.json
|
||||||
trans.nn_NO = public/language/nn-NO/admin/advanced/database.json
|
|
||||||
trans.bn = public/language/bn/admin/advanced/database.json
|
trans.bn = public/language/bn/admin/advanced/database.json
|
||||||
trans.da = public/language/da/admin/advanced/database.json
|
trans.da = public/language/da/admin/advanced/database.json
|
||||||
trans.de = public/language/de/admin/advanced/database.json
|
trans.de = public/language/de/admin/advanced/database.json
|
||||||
@@ -179,7 +176,6 @@ trans.vi = public/language/vi/admin/advanced/errors.json
|
|||||||
trans.de = public/language/de/admin/advanced/errors.json
|
trans.de = public/language/de/admin/advanced/errors.json
|
||||||
trans.ko = public/language/ko/admin/advanced/errors.json
|
trans.ko = public/language/ko/admin/advanced/errors.json
|
||||||
trans.nb = public/language/nb/admin/advanced/errors.json
|
trans.nb = public/language/nb/admin/advanced/errors.json
|
||||||
trans.nn_NO = public/language/nn-NO/admin/advanced/errors.json
|
|
||||||
trans.sc = public/language/sc/admin/advanced/errors.json
|
trans.sc = public/language/sc/admin/advanced/errors.json
|
||||||
trans.sl = public/language/sl/admin/advanced/errors.json
|
trans.sl = public/language/sl/admin/advanced/errors.json
|
||||||
trans.tr = public/language/tr/admin/advanced/errors.json
|
trans.tr = public/language/tr/admin/advanced/errors.json
|
||||||
@@ -236,7 +232,6 @@ trans.fa_IR = public/language/fa-IR/admin/advanced/events.json
|
|||||||
trans.ms = public/language/ms/admin/advanced/events.json
|
trans.ms = public/language/ms/admin/advanced/events.json
|
||||||
trans.tr = public/language/tr/admin/advanced/events.json
|
trans.tr = public/language/tr/admin/advanced/events.json
|
||||||
trans.nb = public/language/nb/admin/advanced/events.json
|
trans.nb = public/language/nb/admin/advanced/events.json
|
||||||
trans.nn_NO = public/language/nn-NO/admin/advanced/events.json
|
|
||||||
trans.pt_PT = public/language/pt-PT/admin/advanced/events.json
|
trans.pt_PT = public/language/pt-PT/admin/advanced/events.json
|
||||||
trans.sk = public/language/sk/admin/advanced/events.json
|
trans.sk = public/language/sk/admin/advanced/events.json
|
||||||
trans.en@pirate = public/language/en-x-pirate/admin/advanced/events.json
|
trans.en@pirate = public/language/en-x-pirate/admin/advanced/events.json
|
||||||
@@ -281,7 +276,6 @@ trans.hr = public/language/hr/admin/advanced/logs.json
|
|||||||
trans.ja = public/language/ja/admin/advanced/logs.json
|
trans.ja = public/language/ja/admin/advanced/logs.json
|
||||||
trans.lt = public/language/lt/admin/advanced/logs.json
|
trans.lt = public/language/lt/admin/advanced/logs.json
|
||||||
trans.nb = public/language/nb/admin/advanced/logs.json
|
trans.nb = public/language/nb/admin/advanced/logs.json
|
||||||
trans.nn_NO = public/language/nn-NO/admin/advanced/logs.json
|
|
||||||
trans.rw = public/language/rw/admin/advanced/logs.json
|
trans.rw = public/language/rw/admin/advanced/logs.json
|
||||||
trans.es = public/language/es/admin/advanced/logs.json
|
trans.es = public/language/es/admin/advanced/logs.json
|
||||||
trans.sv = public/language/sv/admin/advanced/logs.json
|
trans.sv = public/language/sv/admin/advanced/logs.json
|
||||||
@@ -334,7 +328,6 @@ trans.bg = public/language/bg/admin/appearance/customise.json
|
|||||||
trans.he = public/language/he/admin/appearance/customise.json
|
trans.he = public/language/he/admin/appearance/customise.json
|
||||||
trans.lt = public/language/lt/admin/appearance/customise.json
|
trans.lt = public/language/lt/admin/appearance/customise.json
|
||||||
trans.nb = public/language/nb/admin/appearance/customise.json
|
trans.nb = public/language/nb/admin/appearance/customise.json
|
||||||
trans.nn_NO = public/language/nn-NO/admin/appearance/customise.json
|
|
||||||
trans.pl = public/language/pl/admin/appearance/customise.json
|
trans.pl = public/language/pl/admin/appearance/customise.json
|
||||||
trans.sl = public/language/sl/admin/appearance/customise.json
|
trans.sl = public/language/sl/admin/appearance/customise.json
|
||||||
trans.zh_TW = public/language/zh-TW/admin/appearance/customise.json
|
trans.zh_TW = public/language/zh-TW/admin/appearance/customise.json
|
||||||
@@ -409,7 +402,6 @@ trans.en@pirate = public/language/en-x-pirate/admin/appearance/skins.json
|
|||||||
trans.it = public/language/it/admin/appearance/skins.json
|
trans.it = public/language/it/admin/appearance/skins.json
|
||||||
trans.ja = public/language/ja/admin/appearance/skins.json
|
trans.ja = public/language/ja/admin/appearance/skins.json
|
||||||
trans.nb = public/language/nb/admin/appearance/skins.json
|
trans.nb = public/language/nb/admin/appearance/skins.json
|
||||||
trans.nn_NO = public/language/nn-NO/admin/appearance/skins.json
|
|
||||||
trans.fr = public/language/fr/admin/appearance/skins.json
|
trans.fr = public/language/fr/admin/appearance/skins.json
|
||||||
trans.fa_IR = public/language/fa-IR/admin/appearance/skins.json
|
trans.fa_IR = public/language/fa-IR/admin/appearance/skins.json
|
||||||
trans.gl = public/language/gl/admin/appearance/skins.json
|
trans.gl = public/language/gl/admin/appearance/skins.json
|
||||||
@@ -461,7 +453,6 @@ trans.hy = public/language/hy/admin/appearance/themes.json
|
|||||||
trans.id = public/language/id/admin/appearance/themes.json
|
trans.id = public/language/id/admin/appearance/themes.json
|
||||||
trans.ko = public/language/ko/admin/appearance/themes.json
|
trans.ko = public/language/ko/admin/appearance/themes.json
|
||||||
trans.nb = public/language/nb/admin/appearance/themes.json
|
trans.nb = public/language/nb/admin/appearance/themes.json
|
||||||
trans.nn_NO = public/language/nn-NO/admin/appearance/themes.json
|
|
||||||
trans.pl = public/language/pl/admin/appearance/themes.json
|
trans.pl = public/language/pl/admin/appearance/themes.json
|
||||||
trans.pt_PT = public/language/pt-PT/admin/appearance/themes.json
|
trans.pt_PT = public/language/pt-PT/admin/appearance/themes.json
|
||||||
trans.tr = public/language/tr/admin/appearance/themes.json
|
trans.tr = public/language/tr/admin/appearance/themes.json
|
||||||
@@ -529,7 +520,6 @@ trans.fi = public/language/fi/admin/dashboard.json
|
|||||||
trans.hr = public/language/hr/admin/dashboard.json
|
trans.hr = public/language/hr/admin/dashboard.json
|
||||||
trans.it = public/language/it/admin/dashboard.json
|
trans.it = public/language/it/admin/dashboard.json
|
||||||
trans.nb = public/language/nb/admin/dashboard.json
|
trans.nb = public/language/nb/admin/dashboard.json
|
||||||
trans.nn_NO = public/language/nn-NO/admin/dashboard.json
|
|
||||||
|
|
||||||
[o:nodebb:p:nodebb:r:admin-development-info]
|
[o:nodebb:p:nodebb:r:admin-development-info]
|
||||||
file_filter = public/language/<lang>/admin/development/info.json
|
file_filter = public/language/<lang>/admin/development/info.json
|
||||||
@@ -566,7 +556,6 @@ trans.zh_CN = public/language/zh-CN/admin/development/info.json
|
|||||||
trans.cs = public/language/cs/admin/development/info.json
|
trans.cs = public/language/cs/admin/development/info.json
|
||||||
trans.ja = public/language/ja/admin/development/info.json
|
trans.ja = public/language/ja/admin/development/info.json
|
||||||
trans.nb = public/language/nb/admin/development/info.json
|
trans.nb = public/language/nb/admin/development/info.json
|
||||||
trans.nn_NO = public/language/nn-NO/admin/development/info.json
|
|
||||||
trans.sq_AL = public/language/sq-AL/admin/development/info.json
|
trans.sq_AL = public/language/sq-AL/admin/development/info.json
|
||||||
trans.sv = public/language/sv/admin/development/info.json
|
trans.sv = public/language/sv/admin/development/info.json
|
||||||
trans.bg = public/language/bg/admin/development/info.json
|
trans.bg = public/language/bg/admin/development/info.json
|
||||||
@@ -602,7 +591,6 @@ trans.id = public/language/id/admin/development/logger.json
|
|||||||
trans.ko = public/language/ko/admin/development/logger.json
|
trans.ko = public/language/ko/admin/development/logger.json
|
||||||
trans.lt = public/language/lt/admin/development/logger.json
|
trans.lt = public/language/lt/admin/development/logger.json
|
||||||
trans.nb = public/language/nb/admin/development/logger.json
|
trans.nb = public/language/nb/admin/development/logger.json
|
||||||
trans.nn_NO = public/language/nn-NO/admin/development/logger.json
|
|
||||||
trans.pt_BR = public/language/pt-BR/admin/development/logger.json
|
trans.pt_BR = public/language/pt-BR/admin/development/logger.json
|
||||||
trans.ro = public/language/ro/admin/development/logger.json
|
trans.ro = public/language/ro/admin/development/logger.json
|
||||||
trans.fi = public/language/fi/admin/development/logger.json
|
trans.fi = public/language/fi/admin/development/logger.json
|
||||||
@@ -654,7 +642,6 @@ trans.th = public/language/th/admin/extend/plugins.json
|
|||||||
trans.en_US = public/language/en-US/admin/extend/plugins.json
|
trans.en_US = public/language/en-US/admin/extend/plugins.json
|
||||||
trans.he = public/language/he/admin/extend/plugins.json
|
trans.he = public/language/he/admin/extend/plugins.json
|
||||||
trans.nb = public/language/nb/admin/extend/plugins.json
|
trans.nb = public/language/nb/admin/extend/plugins.json
|
||||||
trans.nn_NO = public/language/nn-NO/admin/extend/plugins.json
|
|
||||||
trans.sk = public/language/sk/admin/extend/plugins.json
|
trans.sk = public/language/sk/admin/extend/plugins.json
|
||||||
trans.uk = public/language/uk/admin/extend/plugins.json
|
trans.uk = public/language/uk/admin/extend/plugins.json
|
||||||
trans.es = public/language/es/admin/extend/plugins.json
|
trans.es = public/language/es/admin/extend/plugins.json
|
||||||
@@ -715,7 +702,6 @@ trans.hr = public/language/hr/admin/extend/rewards.json
|
|||||||
trans.ja = public/language/ja/admin/extend/rewards.json
|
trans.ja = public/language/ja/admin/extend/rewards.json
|
||||||
trans.ko = public/language/ko/admin/extend/rewards.json
|
trans.ko = public/language/ko/admin/extend/rewards.json
|
||||||
trans.nb = public/language/nb/admin/extend/rewards.json
|
trans.nb = public/language/nb/admin/extend/rewards.json
|
||||||
trans.nn_NO = public/language/nn-NO/admin/extend/rewards.json
|
|
||||||
trans.bg = public/language/bg/admin/extend/rewards.json
|
trans.bg = public/language/bg/admin/extend/rewards.json
|
||||||
trans.bn = public/language/bn/admin/extend/rewards.json
|
trans.bn = public/language/bn/admin/extend/rewards.json
|
||||||
trans.da = public/language/da/admin/extend/rewards.json
|
trans.da = public/language/da/admin/extend/rewards.json
|
||||||
@@ -752,7 +738,6 @@ trans.bn = public/language/bn/admin/extend/widgets.json
|
|||||||
trans.el = public/language/el/admin/extend/widgets.json
|
trans.el = public/language/el/admin/extend/widgets.json
|
||||||
trans.id = public/language/id/admin/extend/widgets.json
|
trans.id = public/language/id/admin/extend/widgets.json
|
||||||
trans.nb = public/language/nb/admin/extend/widgets.json
|
trans.nb = public/language/nb/admin/extend/widgets.json
|
||||||
trans.nn_NO = public/language/nn-NO/admin/extend/widgets.json
|
|
||||||
trans.ro = public/language/ro/admin/extend/widgets.json
|
trans.ro = public/language/ro/admin/extend/widgets.json
|
||||||
trans.rw = public/language/rw/admin/extend/widgets.json
|
trans.rw = public/language/rw/admin/extend/widgets.json
|
||||||
trans.ar = public/language/ar/admin/extend/widgets.json
|
trans.ar = public/language/ar/admin/extend/widgets.json
|
||||||
@@ -803,7 +788,6 @@ source_lang = en_GB
|
|||||||
type = KEYVALUEJSON
|
type = KEYVALUEJSON
|
||||||
trans.hu = public/language/hu/admin/manage/admins-mods.json
|
trans.hu = public/language/hu/admin/manage/admins-mods.json
|
||||||
trans.nb = public/language/nb/admin/manage/admins-mods.json
|
trans.nb = public/language/nb/admin/manage/admins-mods.json
|
||||||
trans.nn_NO = public/language/nn-NO/admin/manage/admins-mods.json
|
|
||||||
trans.ru = public/language/ru/admin/manage/admins-mods.json
|
trans.ru = public/language/ru/admin/manage/admins-mods.json
|
||||||
trans.fr = public/language/fr/admin/manage/admins-mods.json
|
trans.fr = public/language/fr/admin/manage/admins-mods.json
|
||||||
trans.he = public/language/he/admin/manage/admins-mods.json
|
trans.he = public/language/he/admin/manage/admins-mods.json
|
||||||
@@ -870,7 +854,6 @@ trans.en_US = public/language/en-US/admin/manage/categories.json
|
|||||||
trans.fr = public/language/fr/admin/manage/categories.json
|
trans.fr = public/language/fr/admin/manage/categories.json
|
||||||
trans.it = public/language/it/admin/manage/categories.json
|
trans.it = public/language/it/admin/manage/categories.json
|
||||||
trans.nb = public/language/nb/admin/manage/categories.json
|
trans.nb = public/language/nb/admin/manage/categories.json
|
||||||
trans.nn_NO = public/language/nn-NO/admin/manage/categories.json
|
|
||||||
trans.ru = public/language/ru/admin/manage/categories.json
|
trans.ru = public/language/ru/admin/manage/categories.json
|
||||||
trans.sr = public/language/sr/admin/manage/categories.json
|
trans.sr = public/language/sr/admin/manage/categories.json
|
||||||
trans.fa_IR = public/language/fa-IR/admin/manage/categories.json
|
trans.fa_IR = public/language/fa-IR/admin/manage/categories.json
|
||||||
@@ -947,7 +930,6 @@ trans.zh_CN = public/language/zh-CN/admin/manage/digest.json
|
|||||||
trans.ar = public/language/ar/admin/manage/digest.json
|
trans.ar = public/language/ar/admin/manage/digest.json
|
||||||
trans.ja = public/language/ja/admin/manage/digest.json
|
trans.ja = public/language/ja/admin/manage/digest.json
|
||||||
trans.nb = public/language/nb/admin/manage/digest.json
|
trans.nb = public/language/nb/admin/manage/digest.json
|
||||||
trans.nn_NO = public/language/nn-NO/admin/manage/digest.json
|
|
||||||
trans.sk = public/language/sk/admin/manage/digest.json
|
trans.sk = public/language/sk/admin/manage/digest.json
|
||||||
trans.pt_PT = public/language/pt-PT/admin/manage/digest.json
|
trans.pt_PT = public/language/pt-PT/admin/manage/digest.json
|
||||||
trans.sc = public/language/sc/admin/manage/digest.json
|
trans.sc = public/language/sc/admin/manage/digest.json
|
||||||
@@ -965,7 +947,6 @@ trans.tr = public/language/tr/admin/manage/groups.json
|
|||||||
trans.uk = public/language/uk/admin/manage/groups.json
|
trans.uk = public/language/uk/admin/manage/groups.json
|
||||||
trans.zh_TW = public/language/zh-TW/admin/manage/groups.json
|
trans.zh_TW = public/language/zh-TW/admin/manage/groups.json
|
||||||
trans.nb = public/language/nb/admin/manage/groups.json
|
trans.nb = public/language/nb/admin/manage/groups.json
|
||||||
trans.nn_NO = public/language/nn-NO/admin/manage/groups.json
|
|
||||||
trans.id = public/language/id/admin/manage/groups.json
|
trans.id = public/language/id/admin/manage/groups.json
|
||||||
trans.lt = public/language/lt/admin/manage/groups.json
|
trans.lt = public/language/lt/admin/manage/groups.json
|
||||||
trans.pl = public/language/pl/admin/manage/groups.json
|
trans.pl = public/language/pl/admin/manage/groups.json
|
||||||
@@ -1037,7 +1018,6 @@ trans.hy = public/language/hy/admin/manage/privileges.json
|
|||||||
trans.sr = public/language/sr/admin/manage/privileges.json
|
trans.sr = public/language/sr/admin/manage/privileges.json
|
||||||
trans.ja = public/language/ja/admin/manage/privileges.json
|
trans.ja = public/language/ja/admin/manage/privileges.json
|
||||||
trans.nb = public/language/nb/admin/manage/privileges.json
|
trans.nb = public/language/nb/admin/manage/privileges.json
|
||||||
trans.nn_NO = public/language/nn-NO/admin/manage/privileges.json
|
|
||||||
trans.nl = public/language/nl/admin/manage/privileges.json
|
trans.nl = public/language/nl/admin/manage/privileges.json
|
||||||
trans.sv = public/language/sv/admin/manage/privileges.json
|
trans.sv = public/language/sv/admin/manage/privileges.json
|
||||||
trans.et = public/language/et/admin/manage/privileges.json
|
trans.et = public/language/et/admin/manage/privileges.json
|
||||||
@@ -1081,7 +1061,6 @@ trans.da = public/language/da/admin/manage/registration.json
|
|||||||
trans.et = public/language/et/admin/manage/registration.json
|
trans.et = public/language/et/admin/manage/registration.json
|
||||||
trans.it = public/language/it/admin/manage/registration.json
|
trans.it = public/language/it/admin/manage/registration.json
|
||||||
trans.nb = public/language/nb/admin/manage/registration.json
|
trans.nb = public/language/nb/admin/manage/registration.json
|
||||||
trans.nn_NO = public/language/nn-NO/admin/manage/registration.json
|
|
||||||
trans.pt_BR = public/language/pt-BR/admin/manage/registration.json
|
trans.pt_BR = public/language/pt-BR/admin/manage/registration.json
|
||||||
trans.hy = public/language/hy/admin/manage/registration.json
|
trans.hy = public/language/hy/admin/manage/registration.json
|
||||||
trans.uk = public/language/uk/admin/manage/registration.json
|
trans.uk = public/language/uk/admin/manage/registration.json
|
||||||
@@ -1125,7 +1104,6 @@ trans.da = public/language/da/admin/manage/tags.json
|
|||||||
trans.en_US = public/language/en-US/admin/manage/tags.json
|
trans.en_US = public/language/en-US/admin/manage/tags.json
|
||||||
trans.hu = public/language/hu/admin/manage/tags.json
|
trans.hu = public/language/hu/admin/manage/tags.json
|
||||||
trans.nb = public/language/nb/admin/manage/tags.json
|
trans.nb = public/language/nb/admin/manage/tags.json
|
||||||
trans.nn_NO = public/language/nn-NO/admin/manage/tags.json
|
|
||||||
trans.ru = public/language/ru/admin/manage/tags.json
|
trans.ru = public/language/ru/admin/manage/tags.json
|
||||||
trans.sq_AL = public/language/sq-AL/admin/manage/tags.json
|
trans.sq_AL = public/language/sq-AL/admin/manage/tags.json
|
||||||
trans.de = public/language/de/admin/manage/tags.json
|
trans.de = public/language/de/admin/manage/tags.json
|
||||||
@@ -1174,7 +1152,6 @@ source_lang = en_GB
|
|||||||
type = KEYVALUEJSON
|
type = KEYVALUEJSON
|
||||||
trans.ms = public/language/ms/admin/manage/uploads.json
|
trans.ms = public/language/ms/admin/manage/uploads.json
|
||||||
trans.nb = public/language/nb/admin/manage/uploads.json
|
trans.nb = public/language/nb/admin/manage/uploads.json
|
||||||
trans.nn_NO = public/language/nn-NO/admin/manage/uploads.json
|
|
||||||
trans.tr = public/language/tr/admin/manage/uploads.json
|
trans.tr = public/language/tr/admin/manage/uploads.json
|
||||||
trans.bg = public/language/bg/admin/manage/uploads.json
|
trans.bg = public/language/bg/admin/manage/uploads.json
|
||||||
trans.bn = public/language/bn/admin/manage/uploads.json
|
trans.bn = public/language/bn/admin/manage/uploads.json
|
||||||
@@ -1220,59 +1197,6 @@ trans.id = public/language/id/admin/manage/uploads.json
|
|||||||
trans.it = public/language/it/admin/manage/uploads.json
|
trans.it = public/language/it/admin/manage/uploads.json
|
||||||
trans.ja = public/language/ja/admin/manage/uploads.json
|
trans.ja = public/language/ja/admin/manage/uploads.json
|
||||||
|
|
||||||
[o:nodebb:p:nodebb:r:admin-manage-user-custom-fields]
|
|
||||||
file_filter = public/language/<lang>/admin/manage/user-custom-fields.json
|
|
||||||
source_file = public/language/en-GB/admin/manage/user-custom-fields.json
|
|
||||||
source_lang = en_GB
|
|
||||||
type = KEYVALUEJSON
|
|
||||||
trans.uk = public/language/uk/admin/manage/user-custom-fields.json
|
|
||||||
trans.en@pirate = public/language/en-x-pirate/admin/manage/user-custom-fields.json
|
|
||||||
trans.en_US = public/language/en-US/admin/manage/user-custom-fields.json
|
|
||||||
trans.fr = public/language/fr/admin/manage/user-custom-fields.json
|
|
||||||
trans.ko = public/language/ko/admin/manage/user-custom-fields.json
|
|
||||||
trans.ms = public/language/ms/admin/manage/user-custom-fields.json
|
|
||||||
trans.nb = public/language/nb/admin/manage/user-custom-fields.json
|
|
||||||
trans.nn_NO = public/language/nn-NO/admin/manage/user-custom-fields.json
|
|
||||||
trans.pt_BR = public/language/pt-BR/admin/manage/user-custom-fields.json
|
|
||||||
trans.zh_CN = public/language/zh-CN/admin/manage/user-custom-fields.json
|
|
||||||
trans.zh_TW = public/language/zh-TW/admin/manage/user-custom-fields.json
|
|
||||||
trans.cs = public/language/cs/admin/manage/user-custom-fields.json
|
|
||||||
trans.gl = public/language/gl/admin/manage/user-custom-fields.json
|
|
||||||
trans.rw = public/language/rw/admin/manage/user-custom-fields.json
|
|
||||||
trans.bg = public/language/bg/admin/manage/user-custom-fields.json
|
|
||||||
trans.de = public/language/de/admin/manage/user-custom-fields.json
|
|
||||||
trans.et = public/language/et/admin/manage/user-custom-fields.json
|
|
||||||
trans.id = public/language/id/admin/manage/user-custom-fields.json
|
|
||||||
trans.pt_PT = public/language/pt-PT/admin/manage/user-custom-fields.json
|
|
||||||
trans.ru = public/language/ru/admin/manage/user-custom-fields.json
|
|
||||||
trans.da = public/language/da/admin/manage/user-custom-fields.json
|
|
||||||
trans.he = public/language/he/admin/manage/user-custom-fields.json
|
|
||||||
trans.hu = public/language/hu/admin/manage/user-custom-fields.json
|
|
||||||
trans.ro = public/language/ro/admin/manage/user-custom-fields.json
|
|
||||||
trans.bn = public/language/bn/admin/manage/user-custom-fields.json
|
|
||||||
trans.es = public/language/es/admin/manage/user-custom-fields.json
|
|
||||||
trans.it = public/language/it/admin/manage/user-custom-fields.json
|
|
||||||
trans.nl = public/language/nl/admin/manage/user-custom-fields.json
|
|
||||||
trans.sq_AL = public/language/sq-AL/admin/manage/user-custom-fields.json
|
|
||||||
trans.tr = public/language/tr/admin/manage/user-custom-fields.json
|
|
||||||
trans.vi = public/language/vi/admin/manage/user-custom-fields.json
|
|
||||||
trans.fi = public/language/fi/admin/manage/user-custom-fields.json
|
|
||||||
trans.sc = public/language/sc/admin/manage/user-custom-fields.json
|
|
||||||
trans.hy = public/language/hy/admin/manage/user-custom-fields.json
|
|
||||||
trans.ja = public/language/ja/admin/manage/user-custom-fields.json
|
|
||||||
trans.lt = public/language/lt/admin/manage/user-custom-fields.json
|
|
||||||
trans.th = public/language/th/admin/manage/user-custom-fields.json
|
|
||||||
trans.sl = public/language/sl/admin/manage/user-custom-fields.json
|
|
||||||
trans.ar = public/language/ar/admin/manage/user-custom-fields.json
|
|
||||||
trans.el = public/language/el/admin/manage/user-custom-fields.json
|
|
||||||
trans.fa_IR = public/language/fa-IR/admin/manage/user-custom-fields.json
|
|
||||||
trans.hr = public/language/hr/admin/manage/user-custom-fields.json
|
|
||||||
trans.lv = public/language/lv/admin/manage/user-custom-fields.json
|
|
||||||
trans.pl = public/language/pl/admin/manage/user-custom-fields.json
|
|
||||||
trans.sk = public/language/sk/admin/manage/user-custom-fields.json
|
|
||||||
trans.sr = public/language/sr/admin/manage/user-custom-fields.json
|
|
||||||
trans.sv = public/language/sv/admin/manage/user-custom-fields.json
|
|
||||||
|
|
||||||
[o:nodebb:p:nodebb:r:admin-manage-users]
|
[o:nodebb:p:nodebb:r:admin-manage-users]
|
||||||
file_filter = public/language/<lang>/admin/manage/users.json
|
file_filter = public/language/<lang>/admin/manage/users.json
|
||||||
source_file = public/language/en-GB/admin/manage/users.json
|
source_file = public/language/en-GB/admin/manage/users.json
|
||||||
@@ -1285,7 +1209,6 @@ trans.fr = public/language/fr/admin/manage/users.json
|
|||||||
trans.ko = public/language/ko/admin/manage/users.json
|
trans.ko = public/language/ko/admin/manage/users.json
|
||||||
trans.ms = public/language/ms/admin/manage/users.json
|
trans.ms = public/language/ms/admin/manage/users.json
|
||||||
trans.nb = public/language/nb/admin/manage/users.json
|
trans.nb = public/language/nb/admin/manage/users.json
|
||||||
trans.nn_NO = public/language/nn-NO/admin/manage/users.json
|
|
||||||
trans.pt_BR = public/language/pt-BR/admin/manage/users.json
|
trans.pt_BR = public/language/pt-BR/admin/manage/users.json
|
||||||
trans.zh_CN = public/language/zh-CN/admin/manage/users.json
|
trans.zh_CN = public/language/zh-CN/admin/manage/users.json
|
||||||
trans.zh_TW = public/language/zh-TW/admin/manage/users.json
|
trans.zh_TW = public/language/zh-TW/admin/manage/users.json
|
||||||
@@ -1374,7 +1297,6 @@ trans.el = public/language/el/admin/menu.json
|
|||||||
trans.gl = public/language/gl/admin/menu.json
|
trans.gl = public/language/gl/admin/menu.json
|
||||||
trans.lv = public/language/lv/admin/menu.json
|
trans.lv = public/language/lv/admin/menu.json
|
||||||
trans.nb = public/language/nb/admin/menu.json
|
trans.nb = public/language/nb/admin/menu.json
|
||||||
trans.nn_NO = public/language/nn-NO/admin/menu.json
|
|
||||||
trans.pt_PT = public/language/pt-PT/admin/menu.json
|
trans.pt_PT = public/language/pt-PT/admin/menu.json
|
||||||
trans.bn = public/language/bn/admin/menu.json
|
trans.bn = public/language/bn/admin/menu.json
|
||||||
trans.et = public/language/et/admin/menu.json
|
trans.et = public/language/et/admin/menu.json
|
||||||
@@ -1402,7 +1324,6 @@ trans.rw = public/language/rw/admin/settings/advanced.json
|
|||||||
trans.sl = public/language/sl/admin/settings/advanced.json
|
trans.sl = public/language/sl/admin/settings/advanced.json
|
||||||
trans.it = public/language/it/admin/settings/advanced.json
|
trans.it = public/language/it/admin/settings/advanced.json
|
||||||
trans.nb = public/language/nb/admin/settings/advanced.json
|
trans.nb = public/language/nb/admin/settings/advanced.json
|
||||||
trans.nn_NO = public/language/nn-NO/admin/settings/advanced.json
|
|
||||||
trans.pt_PT = public/language/pt-PT/admin/settings/advanced.json
|
trans.pt_PT = public/language/pt-PT/admin/settings/advanced.json
|
||||||
trans.sq_AL = public/language/sq-AL/admin/settings/advanced.json
|
trans.sq_AL = public/language/sq-AL/admin/settings/advanced.json
|
||||||
trans.sr = public/language/sr/admin/settings/advanced.json
|
trans.sr = public/language/sr/admin/settings/advanced.json
|
||||||
@@ -1432,59 +1353,6 @@ trans.ms = public/language/ms/admin/settings/advanced.json
|
|||||||
trans.nl = public/language/nl/admin/settings/advanced.json
|
trans.nl = public/language/nl/admin/settings/advanced.json
|
||||||
trans.th = public/language/th/admin/settings/advanced.json
|
trans.th = public/language/th/admin/settings/advanced.json
|
||||||
|
|
||||||
[o:nodebb:p:nodebb:r:admin-settings-activitypub]
|
|
||||||
file_filter = public/language/<lang>/admin/settings/activitypub.json
|
|
||||||
source_file = public/language/en-GB/admin/settings/activitypub.json
|
|
||||||
source_lang = en_GB
|
|
||||||
type = KEYVALUEJSON
|
|
||||||
trans.ko = public/language/ko/admin/settings/activitypub.json
|
|
||||||
trans.sc = public/language/sc/admin/settings/activitypub.json
|
|
||||||
trans.ar = public/language/ar/admin/settings/activitypub.json
|
|
||||||
trans.bn = public/language/bn/admin/settings/activitypub.json
|
|
||||||
trans.el = public/language/el/admin/settings/activitypub.json
|
|
||||||
trans.fa_IR = public/language/fa-IR/admin/settings/activitypub.json
|
|
||||||
trans.fr = public/language/fr/admin/settings/activitypub.json
|
|
||||||
trans.hy = public/language/hy/admin/settings/activitypub.json
|
|
||||||
trans.bg = public/language/bg/admin/settings/activitypub.json
|
|
||||||
trans.lv = public/language/lv/admin/settings/activitypub.json
|
|
||||||
trans.pt_BR = public/language/pt-BR/admin/settings/activitypub.json
|
|
||||||
trans.en@pirate = public/language/en-x-pirate/admin/settings/activitypub.json
|
|
||||||
trans.es = public/language/es/admin/settings/activitypub.json
|
|
||||||
trans.id = public/language/id/admin/settings/activitypub.json
|
|
||||||
trans.rw = public/language/rw/admin/settings/activitypub.json
|
|
||||||
trans.sl = public/language/sl/admin/settings/activitypub.json
|
|
||||||
trans.it = public/language/it/admin/settings/activitypub.json
|
|
||||||
trans.nb = public/language/nb/admin/settings/activitypub.json
|
|
||||||
trans.nn_NO = public/language/nn-NO/admin/settings/activitypub.json
|
|
||||||
trans.pt_PT = public/language/pt-PT/admin/settings/activitypub.json
|
|
||||||
trans.sq_AL = public/language/sq-AL/admin/settings/activitypub.json
|
|
||||||
trans.sr = public/language/sr/admin/settings/activitypub.json
|
|
||||||
trans.zh_CN = public/language/zh-CN/admin/settings/activitypub.json
|
|
||||||
trans.zh_TW = public/language/zh-TW/admin/settings/activitypub.json
|
|
||||||
trans.cs = public/language/cs/admin/settings/activitypub.json
|
|
||||||
trans.en_US = public/language/en-US/admin/settings/activitypub.json
|
|
||||||
trans.hr = public/language/hr/admin/settings/activitypub.json
|
|
||||||
trans.pl = public/language/pl/admin/settings/activitypub.json
|
|
||||||
trans.ru = public/language/ru/admin/settings/activitypub.json
|
|
||||||
trans.sv = public/language/sv/admin/settings/activitypub.json
|
|
||||||
trans.vi = public/language/vi/admin/settings/activitypub.json
|
|
||||||
trans.de = public/language/de/admin/settings/activitypub.json
|
|
||||||
trans.et = public/language/et/admin/settings/activitypub.json
|
|
||||||
trans.fi = public/language/fi/admin/settings/activitypub.json
|
|
||||||
trans.ro = public/language/ro/admin/settings/activitypub.json
|
|
||||||
trans.sk = public/language/sk/admin/settings/activitypub.json
|
|
||||||
trans.uk = public/language/uk/admin/settings/activitypub.json
|
|
||||||
trans.da = public/language/da/admin/settings/activitypub.json
|
|
||||||
trans.gl = public/language/gl/admin/settings/activitypub.json
|
|
||||||
trans.he = public/language/he/admin/settings/activitypub.json
|
|
||||||
trans.hu = public/language/hu/admin/settings/activitypub.json
|
|
||||||
trans.ja = public/language/ja/admin/settings/activitypub.json
|
|
||||||
trans.tr = public/language/tr/admin/settings/activitypub.json
|
|
||||||
trans.lt = public/language/lt/admin/settings/activitypub.json
|
|
||||||
trans.ms = public/language/ms/admin/settings/activitypub.json
|
|
||||||
trans.nl = public/language/nl/admin/settings/activitypub.json
|
|
||||||
trans.th = public/language/th/admin/settings/activitypub.json
|
|
||||||
|
|
||||||
[o:nodebb:p:nodebb:r:admin-settings-api]
|
[o:nodebb:p:nodebb:r:admin-settings-api]
|
||||||
file_filter = public/language/<lang>/admin/settings/api.json
|
file_filter = public/language/<lang>/admin/settings/api.json
|
||||||
source_file = public/language/en-GB/admin/settings/api.json
|
source_file = public/language/en-GB/admin/settings/api.json
|
||||||
@@ -1512,7 +1380,6 @@ trans.zh_TW = public/language/zh-TW/admin/settings/api.json
|
|||||||
trans.cs = public/language/cs/admin/settings/api.json
|
trans.cs = public/language/cs/admin/settings/api.json
|
||||||
trans.it = public/language/it/admin/settings/api.json
|
trans.it = public/language/it/admin/settings/api.json
|
||||||
trans.nb = public/language/nb/admin/settings/api.json
|
trans.nb = public/language/nb/admin/settings/api.json
|
||||||
trans.nn_NO = public/language/nn-NO/admin/settings/api.json
|
|
||||||
trans.pt_PT = public/language/pt-PT/admin/settings/api.json
|
trans.pt_PT = public/language/pt-PT/admin/settings/api.json
|
||||||
trans.ru = public/language/ru/admin/settings/api.json
|
trans.ru = public/language/ru/admin/settings/api.json
|
||||||
trans.uk = public/language/uk/admin/settings/api.json
|
trans.uk = public/language/uk/admin/settings/api.json
|
||||||
@@ -1561,7 +1428,6 @@ trans.hr = public/language/hr/admin/settings/chat.json
|
|||||||
trans.ja = public/language/ja/admin/settings/chat.json
|
trans.ja = public/language/ja/admin/settings/chat.json
|
||||||
trans.ko = public/language/ko/admin/settings/chat.json
|
trans.ko = public/language/ko/admin/settings/chat.json
|
||||||
trans.nb = public/language/nb/admin/settings/chat.json
|
trans.nb = public/language/nb/admin/settings/chat.json
|
||||||
trans.nn_NO = public/language/nn-NO/admin/settings/chat.json
|
|
||||||
trans.nl = public/language/nl/admin/settings/chat.json
|
trans.nl = public/language/nl/admin/settings/chat.json
|
||||||
trans.uk = public/language/uk/admin/settings/chat.json
|
trans.uk = public/language/uk/admin/settings/chat.json
|
||||||
trans.he = public/language/he/admin/settings/chat.json
|
trans.he = public/language/he/admin/settings/chat.json
|
||||||
@@ -1629,7 +1495,6 @@ trans.hr = public/language/hr/admin/settings/cookies.json
|
|||||||
trans.ja = public/language/ja/admin/settings/cookies.json
|
trans.ja = public/language/ja/admin/settings/cookies.json
|
||||||
trans.pt_PT = public/language/pt-PT/admin/settings/cookies.json
|
trans.pt_PT = public/language/pt-PT/admin/settings/cookies.json
|
||||||
trans.nb = public/language/nb/admin/settings/cookies.json
|
trans.nb = public/language/nb/admin/settings/cookies.json
|
||||||
trans.nn_NO = public/language/nn-NO/admin/settings/cookies.json
|
|
||||||
trans.sc = public/language/sc/admin/settings/cookies.json
|
trans.sc = public/language/sc/admin/settings/cookies.json
|
||||||
trans.bg = public/language/bg/admin/settings/cookies.json
|
trans.bg = public/language/bg/admin/settings/cookies.json
|
||||||
trans.fi = public/language/fi/admin/settings/cookies.json
|
trans.fi = public/language/fi/admin/settings/cookies.json
|
||||||
@@ -1658,7 +1523,6 @@ trans.pt_PT = public/language/pt-PT/admin/settings/email.json
|
|||||||
trans.sr = public/language/sr/admin/settings/email.json
|
trans.sr = public/language/sr/admin/settings/email.json
|
||||||
trans.ms = public/language/ms/admin/settings/email.json
|
trans.ms = public/language/ms/admin/settings/email.json
|
||||||
trans.nb = public/language/nb/admin/settings/email.json
|
trans.nb = public/language/nb/admin/settings/email.json
|
||||||
trans.nn_NO = public/language/nn-NO/admin/settings/email.json
|
|
||||||
trans.ru = public/language/ru/admin/settings/email.json
|
trans.ru = public/language/ru/admin/settings/email.json
|
||||||
trans.sk = public/language/sk/admin/settings/email.json
|
trans.sk = public/language/sk/admin/settings/email.json
|
||||||
trans.fr = public/language/fr/admin/settings/email.json
|
trans.fr = public/language/fr/admin/settings/email.json
|
||||||
@@ -1735,7 +1599,6 @@ trans.es = public/language/es/admin/settings/general.json
|
|||||||
trans.fa_IR = public/language/fa-IR/admin/settings/general.json
|
trans.fa_IR = public/language/fa-IR/admin/settings/general.json
|
||||||
trans.ms = public/language/ms/admin/settings/general.json
|
trans.ms = public/language/ms/admin/settings/general.json
|
||||||
trans.nb = public/language/nb/admin/settings/general.json
|
trans.nb = public/language/nb/admin/settings/general.json
|
||||||
trans.nn_NO = public/language/nn-NO/admin/settings/general.json
|
|
||||||
trans.sr = public/language/sr/admin/settings/general.json
|
trans.sr = public/language/sr/admin/settings/general.json
|
||||||
trans.da = public/language/da/admin/settings/general.json
|
trans.da = public/language/da/admin/settings/general.json
|
||||||
trans.en@pirate = public/language/en-x-pirate/admin/settings/general.json
|
trans.en@pirate = public/language/en-x-pirate/admin/settings/general.json
|
||||||
@@ -1761,7 +1624,6 @@ trans.et = public/language/et/admin/settings/group.json
|
|||||||
trans.fr = public/language/fr/admin/settings/group.json
|
trans.fr = public/language/fr/admin/settings/group.json
|
||||||
trans.it = public/language/it/admin/settings/group.json
|
trans.it = public/language/it/admin/settings/group.json
|
||||||
trans.nb = public/language/nb/admin/settings/group.json
|
trans.nb = public/language/nb/admin/settings/group.json
|
||||||
trans.nn_NO = public/language/nn-NO/admin/settings/group.json
|
|
||||||
trans.es = public/language/es/admin/settings/group.json
|
trans.es = public/language/es/admin/settings/group.json
|
||||||
trans.fa_IR = public/language/fa-IR/admin/settings/group.json
|
trans.fa_IR = public/language/fa-IR/admin/settings/group.json
|
||||||
trans.gl = public/language/gl/admin/settings/group.json
|
trans.gl = public/language/gl/admin/settings/group.json
|
||||||
@@ -1803,6 +1665,162 @@ trans.pt_BR = public/language/pt-BR/admin/settings/group.json
|
|||||||
trans.zh_CN = public/language/zh-CN/admin/settings/group.json
|
trans.zh_CN = public/language/zh-CN/admin/settings/group.json
|
||||||
trans.zh_TW = public/language/zh-TW/admin/settings/group.json
|
trans.zh_TW = public/language/zh-TW/admin/settings/group.json
|
||||||
|
|
||||||
|
[o:nodebb:p:nodebb:r:admin-settings-guest]
|
||||||
|
file_filter = public/language/<lang>/admin/settings/guest.json
|
||||||
|
source_file = public/language/en-GB/admin/settings/guest.json
|
||||||
|
source_lang = en_GB
|
||||||
|
type = KEYVALUEJSON
|
||||||
|
trans.cs = public/language/cs/admin/settings/guest.json
|
||||||
|
trans.da = public/language/da/admin/settings/guest.json
|
||||||
|
trans.en_US = public/language/en-US/admin/settings/guest.json
|
||||||
|
trans.lt = public/language/lt/admin/settings/guest.json
|
||||||
|
trans.ms = public/language/ms/admin/settings/guest.json
|
||||||
|
trans.nl = public/language/nl/admin/settings/guest.json
|
||||||
|
trans.ru = public/language/ru/admin/settings/guest.json
|
||||||
|
trans.sc = public/language/sc/admin/settings/guest.json
|
||||||
|
trans.sr = public/language/sr/admin/settings/guest.json
|
||||||
|
trans.th = public/language/th/admin/settings/guest.json
|
||||||
|
trans.en@pirate = public/language/en-x-pirate/admin/settings/guest.json
|
||||||
|
trans.it = public/language/it/admin/settings/guest.json
|
||||||
|
trans.lv = public/language/lv/admin/settings/guest.json
|
||||||
|
trans.pt_BR = public/language/pt-BR/admin/settings/guest.json
|
||||||
|
trans.sk = public/language/sk/admin/settings/guest.json
|
||||||
|
trans.de = public/language/de/admin/settings/guest.json
|
||||||
|
trans.es = public/language/es/admin/settings/guest.json
|
||||||
|
trans.hr = public/language/hr/admin/settings/guest.json
|
||||||
|
trans.pt_PT = public/language/pt-PT/admin/settings/guest.json
|
||||||
|
trans.rw = public/language/rw/admin/settings/guest.json
|
||||||
|
trans.sq_AL = public/language/sq-AL/admin/settings/guest.json
|
||||||
|
trans.el = public/language/el/admin/settings/guest.json
|
||||||
|
trans.tr = public/language/tr/admin/settings/guest.json
|
||||||
|
trans.zh_CN = public/language/zh-CN/admin/settings/guest.json
|
||||||
|
trans.bg = public/language/bg/admin/settings/guest.json
|
||||||
|
trans.fi = public/language/fi/admin/settings/guest.json
|
||||||
|
trans.hu = public/language/hu/admin/settings/guest.json
|
||||||
|
trans.ja = public/language/ja/admin/settings/guest.json
|
||||||
|
trans.nb = public/language/nb/admin/settings/guest.json
|
||||||
|
trans.pl = public/language/pl/admin/settings/guest.json
|
||||||
|
trans.sl = public/language/sl/admin/settings/guest.json
|
||||||
|
trans.vi = public/language/vi/admin/settings/guest.json
|
||||||
|
trans.bn = public/language/bn/admin/settings/guest.json
|
||||||
|
trans.fa_IR = public/language/fa-IR/admin/settings/guest.json
|
||||||
|
trans.fr = public/language/fr/admin/settings/guest.json
|
||||||
|
trans.hy = public/language/hy/admin/settings/guest.json
|
||||||
|
trans.ro = public/language/ro/admin/settings/guest.json
|
||||||
|
trans.et = public/language/et/admin/settings/guest.json
|
||||||
|
trans.gl = public/language/gl/admin/settings/guest.json
|
||||||
|
trans.sv = public/language/sv/admin/settings/guest.json
|
||||||
|
trans.uk = public/language/uk/admin/settings/guest.json
|
||||||
|
trans.zh_TW = public/language/zh-TW/admin/settings/guest.json
|
||||||
|
trans.ar = public/language/ar/admin/settings/guest.json
|
||||||
|
trans.he = public/language/he/admin/settings/guest.json
|
||||||
|
trans.id = public/language/id/admin/settings/guest.json
|
||||||
|
trans.ko = public/language/ko/admin/settings/guest.json
|
||||||
|
|
||||||
|
[o:nodebb:p:nodebb:r:admin-settings-homepage]
|
||||||
|
file_filter = public/language/<lang>/admin/settings/homepage.json
|
||||||
|
source_file = public/language/en-GB/admin/settings/homepage.json
|
||||||
|
source_lang = en_GB
|
||||||
|
type = KEYVALUEJSON
|
||||||
|
trans.nb = public/language/nb/admin/settings/homepage.json
|
||||||
|
trans.tr = public/language/tr/admin/settings/homepage.json
|
||||||
|
trans.vi = public/language/vi/admin/settings/homepage.json
|
||||||
|
trans.et = public/language/et/admin/settings/homepage.json
|
||||||
|
trans.fi = public/language/fi/admin/settings/homepage.json
|
||||||
|
trans.hy = public/language/hy/admin/settings/homepage.json
|
||||||
|
trans.ru = public/language/ru/admin/settings/homepage.json
|
||||||
|
trans.sr = public/language/sr/admin/settings/homepage.json
|
||||||
|
trans.es = public/language/es/admin/settings/homepage.json
|
||||||
|
trans.id = public/language/id/admin/settings/homepage.json
|
||||||
|
trans.lt = public/language/lt/admin/settings/homepage.json
|
||||||
|
trans.sk = public/language/sk/admin/settings/homepage.json
|
||||||
|
trans.sq_AL = public/language/sq-AL/admin/settings/homepage.json
|
||||||
|
trans.th = public/language/th/admin/settings/homepage.json
|
||||||
|
trans.en_US = public/language/en-US/admin/settings/homepage.json
|
||||||
|
trans.lv = public/language/lv/admin/settings/homepage.json
|
||||||
|
trans.pt_PT = public/language/pt-PT/admin/settings/homepage.json
|
||||||
|
trans.sc = public/language/sc/admin/settings/homepage.json
|
||||||
|
trans.fa_IR = public/language/fa-IR/admin/settings/homepage.json
|
||||||
|
trans.he = public/language/he/admin/settings/homepage.json
|
||||||
|
trans.ms = public/language/ms/admin/settings/homepage.json
|
||||||
|
trans.cs = public/language/cs/admin/settings/homepage.json
|
||||||
|
trans.el = public/language/el/admin/settings/homepage.json
|
||||||
|
trans.en@pirate = public/language/en-x-pirate/admin/settings/homepage.json
|
||||||
|
trans.gl = public/language/gl/admin/settings/homepage.json
|
||||||
|
trans.ko = public/language/ko/admin/settings/homepage.json
|
||||||
|
trans.ar = public/language/ar/admin/settings/homepage.json
|
||||||
|
trans.bg = public/language/bg/admin/settings/homepage.json
|
||||||
|
trans.bn = public/language/bn/admin/settings/homepage.json
|
||||||
|
trans.rw = public/language/rw/admin/settings/homepage.json
|
||||||
|
trans.zh_CN = public/language/zh-CN/admin/settings/homepage.json
|
||||||
|
trans.hr = public/language/hr/admin/settings/homepage.json
|
||||||
|
trans.it = public/language/it/admin/settings/homepage.json
|
||||||
|
trans.ja = public/language/ja/admin/settings/homepage.json
|
||||||
|
trans.nl = public/language/nl/admin/settings/homepage.json
|
||||||
|
trans.ro = public/language/ro/admin/settings/homepage.json
|
||||||
|
trans.da = public/language/da/admin/settings/homepage.json
|
||||||
|
trans.de = public/language/de/admin/settings/homepage.json
|
||||||
|
trans.fr = public/language/fr/admin/settings/homepage.json
|
||||||
|
trans.sv = public/language/sv/admin/settings/homepage.json
|
||||||
|
trans.hu = public/language/hu/admin/settings/homepage.json
|
||||||
|
trans.pt_BR = public/language/pt-BR/admin/settings/homepage.json
|
||||||
|
trans.sl = public/language/sl/admin/settings/homepage.json
|
||||||
|
trans.pl = public/language/pl/admin/settings/homepage.json
|
||||||
|
trans.uk = public/language/uk/admin/settings/homepage.json
|
||||||
|
trans.zh_TW = public/language/zh-TW/admin/settings/homepage.json
|
||||||
|
|
||||||
|
[o:nodebb:p:nodebb:r:admin-settings-languages]
|
||||||
|
file_filter = public/language/<lang>/admin/settings/languages.json
|
||||||
|
source_file = public/language/en-GB/admin/settings/languages.json
|
||||||
|
source_lang = en_GB
|
||||||
|
type = KEYVALUEJSON
|
||||||
|
trans.en@pirate = public/language/en-x-pirate/admin/settings/languages.json
|
||||||
|
trans.fa_IR = public/language/fa-IR/admin/settings/languages.json
|
||||||
|
trans.gl = public/language/gl/admin/settings/languages.json
|
||||||
|
trans.ro = public/language/ro/admin/settings/languages.json
|
||||||
|
trans.th = public/language/th/admin/settings/languages.json
|
||||||
|
trans.hr = public/language/hr/admin/settings/languages.json
|
||||||
|
trans.hy = public/language/hy/admin/settings/languages.json
|
||||||
|
trans.sc = public/language/sc/admin/settings/languages.json
|
||||||
|
trans.vi = public/language/vi/admin/settings/languages.json
|
||||||
|
trans.tr = public/language/tr/admin/settings/languages.json
|
||||||
|
trans.cs = public/language/cs/admin/settings/languages.json
|
||||||
|
trans.et = public/language/et/admin/settings/languages.json
|
||||||
|
trans.lv = public/language/lv/admin/settings/languages.json
|
||||||
|
trans.pl = public/language/pl/admin/settings/languages.json
|
||||||
|
trans.sr = public/language/sr/admin/settings/languages.json
|
||||||
|
trans.sv = public/language/sv/admin/settings/languages.json
|
||||||
|
trans.hu = public/language/hu/admin/settings/languages.json
|
||||||
|
trans.it = public/language/it/admin/settings/languages.json
|
||||||
|
trans.ja = public/language/ja/admin/settings/languages.json
|
||||||
|
trans.sl = public/language/sl/admin/settings/languages.json
|
||||||
|
trans.zh_TW = public/language/zh-TW/admin/settings/languages.json
|
||||||
|
trans.da = public/language/da/admin/settings/languages.json
|
||||||
|
trans.fr = public/language/fr/admin/settings/languages.json
|
||||||
|
trans.he = public/language/he/admin/settings/languages.json
|
||||||
|
trans.id = public/language/id/admin/settings/languages.json
|
||||||
|
trans.sq_AL = public/language/sq-AL/admin/settings/languages.json
|
||||||
|
trans.uk = public/language/uk/admin/settings/languages.json
|
||||||
|
trans.bn = public/language/bn/admin/settings/languages.json
|
||||||
|
trans.fi = public/language/fi/admin/settings/languages.json
|
||||||
|
trans.ko = public/language/ko/admin/settings/languages.json
|
||||||
|
trans.pt_BR = public/language/pt-BR/admin/settings/languages.json
|
||||||
|
trans.sk = public/language/sk/admin/settings/languages.json
|
||||||
|
trans.pt_PT = public/language/pt-PT/admin/settings/languages.json
|
||||||
|
trans.ru = public/language/ru/admin/settings/languages.json
|
||||||
|
trans.ar = public/language/ar/admin/settings/languages.json
|
||||||
|
trans.bg = public/language/bg/admin/settings/languages.json
|
||||||
|
trans.de = public/language/de/admin/settings/languages.json
|
||||||
|
trans.el = public/language/el/admin/settings/languages.json
|
||||||
|
trans.lt = public/language/lt/admin/settings/languages.json
|
||||||
|
trans.nl = public/language/nl/admin/settings/languages.json
|
||||||
|
trans.zh_CN = public/language/zh-CN/admin/settings/languages.json
|
||||||
|
trans.en_US = public/language/en-US/admin/settings/languages.json
|
||||||
|
trans.es = public/language/es/admin/settings/languages.json
|
||||||
|
trans.ms = public/language/ms/admin/settings/languages.json
|
||||||
|
trans.nb = public/language/nb/admin/settings/languages.json
|
||||||
|
trans.rw = public/language/rw/admin/settings/languages.json
|
||||||
|
|
||||||
[o:nodebb:p:nodebb:r:admin-settings-navigation]
|
[o:nodebb:p:nodebb:r:admin-settings-navigation]
|
||||||
file_filter = public/language/<lang>/admin/settings/navigation.json
|
file_filter = public/language/<lang>/admin/settings/navigation.json
|
||||||
source_file = public/language/en-GB/admin/settings/navigation.json
|
source_file = public/language/en-GB/admin/settings/navigation.json
|
||||||
@@ -1849,7 +1867,6 @@ trans.hr = public/language/hr/admin/settings/navigation.json
|
|||||||
trans.id = public/language/id/admin/settings/navigation.json
|
trans.id = public/language/id/admin/settings/navigation.json
|
||||||
trans.ko = public/language/ko/admin/settings/navigation.json
|
trans.ko = public/language/ko/admin/settings/navigation.json
|
||||||
trans.nb = public/language/nb/admin/settings/navigation.json
|
trans.nb = public/language/nb/admin/settings/navigation.json
|
||||||
trans.nn_NO = public/language/nn-NO/admin/settings/navigation.json
|
|
||||||
trans.pl = public/language/pl/admin/settings/navigation.json
|
trans.pl = public/language/pl/admin/settings/navigation.json
|
||||||
trans.sv = public/language/sv/admin/settings/navigation.json
|
trans.sv = public/language/sv/admin/settings/navigation.json
|
||||||
trans.el = public/language/el/admin/settings/navigation.json
|
trans.el = public/language/el/admin/settings/navigation.json
|
||||||
@@ -1896,7 +1913,6 @@ trans.zh_CN = public/language/zh-CN/admin/settings/notifications.json
|
|||||||
trans.ko = public/language/ko/admin/settings/notifications.json
|
trans.ko = public/language/ko/admin/settings/notifications.json
|
||||||
trans.lv = public/language/lv/admin/settings/notifications.json
|
trans.lv = public/language/lv/admin/settings/notifications.json
|
||||||
trans.nb = public/language/nb/admin/settings/notifications.json
|
trans.nb = public/language/nb/admin/settings/notifications.json
|
||||||
trans.nn_NO = public/language/nn-NO/admin/settings/notifications.json
|
|
||||||
trans.pl = public/language/pl/admin/settings/notifications.json
|
trans.pl = public/language/pl/admin/settings/notifications.json
|
||||||
trans.bg = public/language/bg/admin/settings/notifications.json
|
trans.bg = public/language/bg/admin/settings/notifications.json
|
||||||
trans.da = public/language/da/admin/settings/notifications.json
|
trans.da = public/language/da/admin/settings/notifications.json
|
||||||
@@ -1958,7 +1974,6 @@ trans.zh_TW = public/language/zh-TW/admin/settings/pagination.json
|
|||||||
trans.bn = public/language/bn/admin/settings/pagination.json
|
trans.bn = public/language/bn/admin/settings/pagination.json
|
||||||
trans.hy = public/language/hy/admin/settings/pagination.json
|
trans.hy = public/language/hy/admin/settings/pagination.json
|
||||||
trans.nb = public/language/nb/admin/settings/pagination.json
|
trans.nb = public/language/nb/admin/settings/pagination.json
|
||||||
trans.nn_NO = public/language/nn-NO/admin/settings/pagination.json
|
|
||||||
trans.sr = public/language/sr/admin/settings/pagination.json
|
trans.sr = public/language/sr/admin/settings/pagination.json
|
||||||
trans.sv = public/language/sv/admin/settings/pagination.json
|
trans.sv = public/language/sv/admin/settings/pagination.json
|
||||||
|
|
||||||
@@ -1992,7 +2007,6 @@ trans.it = public/language/it/admin/settings/post.json
|
|||||||
trans.th = public/language/th/admin/settings/post.json
|
trans.th = public/language/th/admin/settings/post.json
|
||||||
trans.gl = public/language/gl/admin/settings/post.json
|
trans.gl = public/language/gl/admin/settings/post.json
|
||||||
trans.nb = public/language/nb/admin/settings/post.json
|
trans.nb = public/language/nb/admin/settings/post.json
|
||||||
trans.nn_NO = public/language/nn-NO/admin/settings/post.json
|
|
||||||
trans.sc = public/language/sc/admin/settings/post.json
|
trans.sc = public/language/sc/admin/settings/post.json
|
||||||
trans.zh_CN = public/language/zh-CN/admin/settings/post.json
|
trans.zh_CN = public/language/zh-CN/admin/settings/post.json
|
||||||
trans.rw = public/language/rw/admin/settings/post.json
|
trans.rw = public/language/rw/admin/settings/post.json
|
||||||
@@ -2040,7 +2054,6 @@ trans.sc = public/language/sc/admin/settings/reputation.json
|
|||||||
trans.hr = public/language/hr/admin/settings/reputation.json
|
trans.hr = public/language/hr/admin/settings/reputation.json
|
||||||
trans.ko = public/language/ko/admin/settings/reputation.json
|
trans.ko = public/language/ko/admin/settings/reputation.json
|
||||||
trans.nb = public/language/nb/admin/settings/reputation.json
|
trans.nb = public/language/nb/admin/settings/reputation.json
|
||||||
trans.nn_NO = public/language/nn-NO/admin/settings/reputation.json
|
|
||||||
trans.bn = public/language/bn/admin/settings/reputation.json
|
trans.bn = public/language/bn/admin/settings/reputation.json
|
||||||
trans.de = public/language/de/admin/settings/reputation.json
|
trans.de = public/language/de/admin/settings/reputation.json
|
||||||
trans.et = public/language/et/admin/settings/reputation.json
|
trans.et = public/language/et/admin/settings/reputation.json
|
||||||
@@ -2068,6 +2081,58 @@ trans.gl = public/language/gl/admin/settings/reputation.json
|
|||||||
trans.hu = public/language/hu/admin/settings/reputation.json
|
trans.hu = public/language/hu/admin/settings/reputation.json
|
||||||
trans.hy = public/language/hy/admin/settings/reputation.json
|
trans.hy = public/language/hy/admin/settings/reputation.json
|
||||||
|
|
||||||
|
[o:nodebb:p:nodebb:r:admin-settings-social]
|
||||||
|
file_filter = public/language/<lang>/admin/settings/social.json
|
||||||
|
source_file = public/language/en-GB/admin/settings/social.json
|
||||||
|
source_lang = en_GB
|
||||||
|
type = KEYVALUEJSON
|
||||||
|
trans.nl = public/language/nl/admin/settings/social.json
|
||||||
|
trans.sc = public/language/sc/admin/settings/social.json
|
||||||
|
trans.sv = public/language/sv/admin/settings/social.json
|
||||||
|
trans.rw = public/language/rw/admin/settings/social.json
|
||||||
|
trans.bn = public/language/bn/admin/settings/social.json
|
||||||
|
trans.hr = public/language/hr/admin/settings/social.json
|
||||||
|
trans.id = public/language/id/admin/settings/social.json
|
||||||
|
trans.pt_PT = public/language/pt-PT/admin/settings/social.json
|
||||||
|
trans.de = public/language/de/admin/settings/social.json
|
||||||
|
trans.hu = public/language/hu/admin/settings/social.json
|
||||||
|
trans.pt_BR = public/language/pt-BR/admin/settings/social.json
|
||||||
|
trans.ja = public/language/ja/admin/settings/social.json
|
||||||
|
trans.sq_AL = public/language/sq-AL/admin/settings/social.json
|
||||||
|
trans.zh_TW = public/language/zh-TW/admin/settings/social.json
|
||||||
|
trans.cs = public/language/cs/admin/settings/social.json
|
||||||
|
trans.en_US = public/language/en-US/admin/settings/social.json
|
||||||
|
trans.fi = public/language/fi/admin/settings/social.json
|
||||||
|
trans.nb = public/language/nb/admin/settings/social.json
|
||||||
|
trans.pl = public/language/pl/admin/settings/social.json
|
||||||
|
trans.th = public/language/th/admin/settings/social.json
|
||||||
|
trans.bg = public/language/bg/admin/settings/social.json
|
||||||
|
trans.lt = public/language/lt/admin/settings/social.json
|
||||||
|
trans.lv = public/language/lv/admin/settings/social.json
|
||||||
|
trans.ko = public/language/ko/admin/settings/social.json
|
||||||
|
trans.es = public/language/es/admin/settings/social.json
|
||||||
|
trans.fr = public/language/fr/admin/settings/social.json
|
||||||
|
trans.he = public/language/he/admin/settings/social.json
|
||||||
|
trans.fa_IR = public/language/fa-IR/admin/settings/social.json
|
||||||
|
trans.hy = public/language/hy/admin/settings/social.json
|
||||||
|
trans.ms = public/language/ms/admin/settings/social.json
|
||||||
|
trans.ru = public/language/ru/admin/settings/social.json
|
||||||
|
trans.sk = public/language/sk/admin/settings/social.json
|
||||||
|
trans.ar = public/language/ar/admin/settings/social.json
|
||||||
|
trans.el = public/language/el/admin/settings/social.json
|
||||||
|
trans.en@pirate = public/language/en-x-pirate/admin/settings/social.json
|
||||||
|
trans.uk = public/language/uk/admin/settings/social.json
|
||||||
|
trans.sl = public/language/sl/admin/settings/social.json
|
||||||
|
trans.sr = public/language/sr/admin/settings/social.json
|
||||||
|
trans.tr = public/language/tr/admin/settings/social.json
|
||||||
|
trans.it = public/language/it/admin/settings/social.json
|
||||||
|
trans.ro = public/language/ro/admin/settings/social.json
|
||||||
|
trans.vi = public/language/vi/admin/settings/social.json
|
||||||
|
trans.zh_CN = public/language/zh-CN/admin/settings/social.json
|
||||||
|
trans.da = public/language/da/admin/settings/social.json
|
||||||
|
trans.et = public/language/et/admin/settings/social.json
|
||||||
|
trans.gl = public/language/gl/admin/settings/social.json
|
||||||
|
|
||||||
[o:nodebb:p:nodebb:r:admin-settings-sockets]
|
[o:nodebb:p:nodebb:r:admin-settings-sockets]
|
||||||
file_filter = public/language/<lang>/admin/settings/sockets.json
|
file_filter = public/language/<lang>/admin/settings/sockets.json
|
||||||
source_file = public/language/en-GB/admin/settings/sockets.json
|
source_file = public/language/en-GB/admin/settings/sockets.json
|
||||||
@@ -2096,7 +2161,6 @@ trans.fi = public/language/fi/admin/settings/sockets.json
|
|||||||
trans.it = public/language/it/admin/settings/sockets.json
|
trans.it = public/language/it/admin/settings/sockets.json
|
||||||
trans.ro = public/language/ro/admin/settings/sockets.json
|
trans.ro = public/language/ro/admin/settings/sockets.json
|
||||||
trans.nb = public/language/nb/admin/settings/sockets.json
|
trans.nb = public/language/nb/admin/settings/sockets.json
|
||||||
trans.nn_NO = public/language/nn-NO/admin/settings/sockets.json
|
|
||||||
trans.sq_AL = public/language/sq-AL/admin/settings/sockets.json
|
trans.sq_AL = public/language/sq-AL/admin/settings/sockets.json
|
||||||
trans.bg = public/language/bg/admin/settings/sockets.json
|
trans.bg = public/language/bg/admin/settings/sockets.json
|
||||||
trans.bn = public/language/bn/admin/settings/sockets.json
|
trans.bn = public/language/bn/admin/settings/sockets.json
|
||||||
@@ -2147,7 +2211,6 @@ trans.en@pirate = public/language/en-x-pirate/admin/settings/sounds.json
|
|||||||
trans.fa_IR = public/language/fa-IR/admin/settings/sounds.json
|
trans.fa_IR = public/language/fa-IR/admin/settings/sounds.json
|
||||||
trans.fi = public/language/fi/admin/settings/sounds.json
|
trans.fi = public/language/fi/admin/settings/sounds.json
|
||||||
trans.nb = public/language/nb/admin/settings/sounds.json
|
trans.nb = public/language/nb/admin/settings/sounds.json
|
||||||
trans.nn_NO = public/language/nn-NO/admin/settings/sounds.json
|
|
||||||
trans.th = public/language/th/admin/settings/sounds.json
|
trans.th = public/language/th/admin/settings/sounds.json
|
||||||
trans.ar = public/language/ar/admin/settings/sounds.json
|
trans.ar = public/language/ar/admin/settings/sounds.json
|
||||||
trans.da = public/language/da/admin/settings/sounds.json
|
trans.da = public/language/da/admin/settings/sounds.json
|
||||||
@@ -2203,7 +2266,6 @@ trans.bn = public/language/bn/admin/settings/tags.json
|
|||||||
trans.hr = public/language/hr/admin/settings/tags.json
|
trans.hr = public/language/hr/admin/settings/tags.json
|
||||||
trans.ko = public/language/ko/admin/settings/tags.json
|
trans.ko = public/language/ko/admin/settings/tags.json
|
||||||
trans.nb = public/language/nb/admin/settings/tags.json
|
trans.nb = public/language/nb/admin/settings/tags.json
|
||||||
trans.nn_NO = public/language/nn-NO/admin/settings/tags.json
|
|
||||||
trans.el = public/language/el/admin/settings/tags.json
|
trans.el = public/language/el/admin/settings/tags.json
|
||||||
trans.et = public/language/et/admin/settings/tags.json
|
trans.et = public/language/et/admin/settings/tags.json
|
||||||
trans.he = public/language/he/admin/settings/tags.json
|
trans.he = public/language/he/admin/settings/tags.json
|
||||||
@@ -2241,7 +2303,6 @@ trans.fa_IR = public/language/fa-IR/admin/settings/uploads.json
|
|||||||
trans.he = public/language/he/admin/settings/uploads.json
|
trans.he = public/language/he/admin/settings/uploads.json
|
||||||
trans.ja = public/language/ja/admin/settings/uploads.json
|
trans.ja = public/language/ja/admin/settings/uploads.json
|
||||||
trans.nb = public/language/nb/admin/settings/uploads.json
|
trans.nb = public/language/nb/admin/settings/uploads.json
|
||||||
trans.nn_NO = public/language/nn-NO/admin/settings/uploads.json
|
|
||||||
trans.nl = public/language/nl/admin/settings/uploads.json
|
trans.nl = public/language/nl/admin/settings/uploads.json
|
||||||
trans.zh_TW = public/language/zh-TW/admin/settings/uploads.json
|
trans.zh_TW = public/language/zh-TW/admin/settings/uploads.json
|
||||||
trans.ro = public/language/ro/admin/settings/uploads.json
|
trans.ro = public/language/ro/admin/settings/uploads.json
|
||||||
@@ -2293,7 +2354,6 @@ trans.sq_AL = public/language/sq-AL/admin/settings/user.json
|
|||||||
trans.gl = public/language/gl/admin/settings/user.json
|
trans.gl = public/language/gl/admin/settings/user.json
|
||||||
trans.hu = public/language/hu/admin/settings/user.json
|
trans.hu = public/language/hu/admin/settings/user.json
|
||||||
trans.nb = public/language/nb/admin/settings/user.json
|
trans.nb = public/language/nb/admin/settings/user.json
|
||||||
trans.nn_NO = public/language/nn-NO/admin/settings/user.json
|
|
||||||
trans.sv = public/language/sv/admin/settings/user.json
|
trans.sv = public/language/sv/admin/settings/user.json
|
||||||
trans.uk = public/language/uk/admin/settings/user.json
|
trans.uk = public/language/uk/admin/settings/user.json
|
||||||
trans.cs = public/language/cs/admin/settings/user.json
|
trans.cs = public/language/cs/admin/settings/user.json
|
||||||
@@ -2372,7 +2432,6 @@ trans.ar = public/language/ar/admin/settings/web-crawler.json
|
|||||||
trans.de = public/language/de/admin/settings/web-crawler.json
|
trans.de = public/language/de/admin/settings/web-crawler.json
|
||||||
trans.hy = public/language/hy/admin/settings/web-crawler.json
|
trans.hy = public/language/hy/admin/settings/web-crawler.json
|
||||||
trans.nb = public/language/nb/admin/settings/web-crawler.json
|
trans.nb = public/language/nb/admin/settings/web-crawler.json
|
||||||
trans.nn_NO = public/language/nn-NO/admin/settings/web-crawler.json
|
|
||||||
trans.ro = public/language/ro/admin/settings/web-crawler.json
|
trans.ro = public/language/ro/admin/settings/web-crawler.json
|
||||||
trans.sr = public/language/sr/admin/settings/web-crawler.json
|
trans.sr = public/language/sr/admin/settings/web-crawler.json
|
||||||
trans.zh_TW = public/language/zh-TW/admin/settings/web-crawler.json
|
trans.zh_TW = public/language/zh-TW/admin/settings/web-crawler.json
|
||||||
@@ -2419,7 +2478,6 @@ trans.zh_CN = public/language/zh-CN/themes/harmony.json
|
|||||||
trans.fi = public/language/fi/themes/harmony.json
|
trans.fi = public/language/fi/themes/harmony.json
|
||||||
trans.ja = public/language/ja/themes/harmony.json
|
trans.ja = public/language/ja/themes/harmony.json
|
||||||
trans.nb = public/language/nb/themes/harmony.json
|
trans.nb = public/language/nb/themes/harmony.json
|
||||||
trans.nn_NO = public/language/nn-NO/themes/harmony.json
|
|
||||||
trans.pl = public/language/pl/themes/harmony.json
|
trans.pl = public/language/pl/themes/harmony.json
|
||||||
trans.zh_TW = public/language/zh-TW/themes/harmony.json
|
trans.zh_TW = public/language/zh-TW/themes/harmony.json
|
||||||
trans.ar = public/language/ar/themes/harmony.json
|
trans.ar = public/language/ar/themes/harmony.json
|
||||||
@@ -2472,7 +2530,6 @@ trans.zh_CN = public/language/zh-CN/themes/persona.json
|
|||||||
trans.fi = public/language/fi/themes/persona.json
|
trans.fi = public/language/fi/themes/persona.json
|
||||||
trans.ja = public/language/ja/themes/persona.json
|
trans.ja = public/language/ja/themes/persona.json
|
||||||
trans.nb = public/language/nb/themes/persona.json
|
trans.nb = public/language/nb/themes/persona.json
|
||||||
trans.nn_NO = public/language/nn-NO/themes/persona.json
|
|
||||||
trans.pl = public/language/pl/themes/persona.json
|
trans.pl = public/language/pl/themes/persona.json
|
||||||
trans.zh_TW = public/language/zh-TW/themes/persona.json
|
trans.zh_TW = public/language/zh-TW/themes/persona.json
|
||||||
trans.ar = public/language/ar/themes/persona.json
|
trans.ar = public/language/ar/themes/persona.json
|
||||||
@@ -2492,59 +2549,6 @@ trans.et = public/language/et/themes/persona.json
|
|||||||
trans.it = public/language/it/themes/persona.json
|
trans.it = public/language/it/themes/persona.json
|
||||||
trans.rw = public/language/rw/themes/persona.json
|
trans.rw = public/language/rw/themes/persona.json
|
||||||
|
|
||||||
[o:nodebb:p:nodebb:r:aria]
|
|
||||||
file_filter = public/language/<lang>/aria.json
|
|
||||||
source_file = public/language/en-GB/aria.json
|
|
||||||
source_lang = en_GB
|
|
||||||
type = KEYVALUEJSON
|
|
||||||
trans.th = public/language/th/aria.json
|
|
||||||
trans.bg = public/language/bg/aria.json
|
|
||||||
trans.hr = public/language/hr/aria.json
|
|
||||||
trans.hy = public/language/hy/aria.json
|
|
||||||
trans.sk = public/language/sk/aria.json
|
|
||||||
trans.sl = public/language/sl/aria.json
|
|
||||||
trans.sq_AL = public/language/sq-AL/aria.json
|
|
||||||
trans.sv = public/language/sv/aria.json
|
|
||||||
trans.vi = public/language/vi/aria.json
|
|
||||||
trans.da = public/language/da/aria.json
|
|
||||||
trans.en_US = public/language/en-US/aria.json
|
|
||||||
trans.gl = public/language/gl/aria.json
|
|
||||||
trans.ko = public/language/ko/aria.json
|
|
||||||
trans.lt = public/language/lt/aria.json
|
|
||||||
trans.pt_BR = public/language/pt-BR/aria.json
|
|
||||||
trans.hu = public/language/hu/aria.json
|
|
||||||
trans.lv = public/language/lv/aria.json
|
|
||||||
trans.ro = public/language/ro/aria.json
|
|
||||||
trans.ru = public/language/ru/aria.json
|
|
||||||
trans.sr = public/language/sr/aria.json
|
|
||||||
trans.bn = public/language/bn/aria.json
|
|
||||||
trans.he = public/language/he/aria.json
|
|
||||||
trans.nl = public/language/nl/aria.json
|
|
||||||
trans.sc = public/language/sc/aria.json
|
|
||||||
trans.zh_CN = public/language/zh-CN/aria.json
|
|
||||||
trans.fi = public/language/fi/aria.json
|
|
||||||
trans.ja = public/language/ja/aria.json
|
|
||||||
trans.nb = public/language/nb/aria.json
|
|
||||||
trans.nn_NO = public/language/nn-NO/aria.json
|
|
||||||
trans.pl = public/language/pl/aria.json
|
|
||||||
trans.zh_TW = public/language/zh-TW/aria.json
|
|
||||||
trans.ar = public/language/ar/aria.json
|
|
||||||
trans.cs = public/language/cs/aria.json
|
|
||||||
trans.fa_IR = public/language/fa-IR/aria.json
|
|
||||||
trans.ms = public/language/ms/aria.json
|
|
||||||
trans.pt_PT = public/language/pt-PT/aria.json
|
|
||||||
trans.tr = public/language/tr/aria.json
|
|
||||||
trans.en@pirate = public/language/en-x-pirate/aria.json
|
|
||||||
trans.fr = public/language/fr/aria.json
|
|
||||||
trans.id = public/language/id/aria.json
|
|
||||||
trans.uk = public/language/uk/aria.json
|
|
||||||
trans.de = public/language/de/aria.json
|
|
||||||
trans.el = public/language/el/aria.json
|
|
||||||
trans.es = public/language/es/aria.json
|
|
||||||
trans.et = public/language/et/aria.json
|
|
||||||
trans.it = public/language/it/aria.json
|
|
||||||
trans.rw = public/language/rw/aria.json
|
|
||||||
|
|
||||||
[o:nodebb:p:nodebb:r:category]
|
[o:nodebb:p:nodebb:r:category]
|
||||||
file_filter = public/language/<lang>/category.json
|
file_filter = public/language/<lang>/category.json
|
||||||
source_file = public/language/en-GB/category.json
|
source_file = public/language/en-GB/category.json
|
||||||
@@ -2578,7 +2582,6 @@ trans.zh_CN = public/language/zh-CN/category.json
|
|||||||
trans.fi = public/language/fi/category.json
|
trans.fi = public/language/fi/category.json
|
||||||
trans.ja = public/language/ja/category.json
|
trans.ja = public/language/ja/category.json
|
||||||
trans.nb = public/language/nb/category.json
|
trans.nb = public/language/nb/category.json
|
||||||
trans.nn_NO = public/language/nn-NO/category.json
|
|
||||||
trans.pl = public/language/pl/category.json
|
trans.pl = public/language/pl/category.json
|
||||||
trans.zh_TW = public/language/zh-TW/category.json
|
trans.zh_TW = public/language/zh-TW/category.json
|
||||||
trans.ar = public/language/ar/category.json
|
trans.ar = public/language/ar/category.json
|
||||||
@@ -2645,7 +2648,6 @@ trans.sr = public/language/sr/email.json
|
|||||||
trans.tr = public/language/tr/email.json
|
trans.tr = public/language/tr/email.json
|
||||||
trans.en_US = public/language/en-US/email.json
|
trans.en_US = public/language/en-US/email.json
|
||||||
trans.nb = public/language/nb/email.json
|
trans.nb = public/language/nb/email.json
|
||||||
trans.nn_NO = public/language/nn-NO/email.json
|
|
||||||
trans.nl = public/language/nl/email.json
|
trans.nl = public/language/nl/email.json
|
||||||
trans.pt_BR = public/language/pt-BR/email.json
|
trans.pt_BR = public/language/pt-BR/email.json
|
||||||
trans.rw = public/language/rw/email.json
|
trans.rw = public/language/rw/email.json
|
||||||
@@ -2684,7 +2686,6 @@ trans.vi = public/language/vi/error.json
|
|||||||
trans.fa_IR = public/language/fa-IR/error.json
|
trans.fa_IR = public/language/fa-IR/error.json
|
||||||
trans.gl = public/language/gl/error.json
|
trans.gl = public/language/gl/error.json
|
||||||
trans.nb = public/language/nb/error.json
|
trans.nb = public/language/nb/error.json
|
||||||
trans.nn_NO = public/language/nn-NO/error.json
|
|
||||||
trans.pl = public/language/pl/error.json
|
trans.pl = public/language/pl/error.json
|
||||||
trans.ro = public/language/ro/error.json
|
trans.ro = public/language/ro/error.json
|
||||||
trans.uk = public/language/uk/error.json
|
trans.uk = public/language/uk/error.json
|
||||||
@@ -2710,7 +2711,6 @@ source_file = public/language/en-GB/flags.json
|
|||||||
source_lang = en_GB
|
source_lang = en_GB
|
||||||
type = KEYVALUEJSON
|
type = KEYVALUEJSON
|
||||||
trans.nb = public/language/nb/flags.json
|
trans.nb = public/language/nb/flags.json
|
||||||
trans.nn_NO = public/language/nn-NO/flags.json
|
|
||||||
trans.ru = public/language/ru/flags.json
|
trans.ru = public/language/ru/flags.json
|
||||||
trans.sc = public/language/sc/flags.json
|
trans.sc = public/language/sc/flags.json
|
||||||
trans.fi = public/language/fi/flags.json
|
trans.fi = public/language/fi/flags.json
|
||||||
@@ -2781,7 +2781,6 @@ trans.sk = public/language/sk/global.json
|
|||||||
trans.sr = public/language/sr/global.json
|
trans.sr = public/language/sr/global.json
|
||||||
trans.tr = public/language/tr/global.json
|
trans.tr = public/language/tr/global.json
|
||||||
trans.nb = public/language/nb/global.json
|
trans.nb = public/language/nb/global.json
|
||||||
trans.nn_NO = public/language/nn-NO/global.json
|
|
||||||
trans.pt_BR = public/language/pt-BR/global.json
|
trans.pt_BR = public/language/pt-BR/global.json
|
||||||
trans.pt_PT = public/language/pt-PT/global.json
|
trans.pt_PT = public/language/pt-PT/global.json
|
||||||
trans.bg = public/language/bg/global.json
|
trans.bg = public/language/bg/global.json
|
||||||
@@ -2825,7 +2824,6 @@ trans.hy = public/language/hy/groups.json
|
|||||||
trans.pt_PT = public/language/pt-PT/groups.json
|
trans.pt_PT = public/language/pt-PT/groups.json
|
||||||
trans.ms = public/language/ms/groups.json
|
trans.ms = public/language/ms/groups.json
|
||||||
trans.nb = public/language/nb/groups.json
|
trans.nb = public/language/nb/groups.json
|
||||||
trans.nn_NO = public/language/nn-NO/groups.json
|
|
||||||
trans.ro = public/language/ro/groups.json
|
trans.ro = public/language/ro/groups.json
|
||||||
trans.vi = public/language/vi/groups.json
|
trans.vi = public/language/vi/groups.json
|
||||||
trans.fa_IR = public/language/fa-IR/groups.json
|
trans.fa_IR = public/language/fa-IR/groups.json
|
||||||
@@ -2888,7 +2886,6 @@ trans.fa_IR = public/language/fa-IR/ip-blacklist.json
|
|||||||
trans.fr = public/language/fr/ip-blacklist.json
|
trans.fr = public/language/fr/ip-blacklist.json
|
||||||
trans.gl = public/language/gl/ip-blacklist.json
|
trans.gl = public/language/gl/ip-blacklist.json
|
||||||
trans.nb = public/language/nb/ip-blacklist.json
|
trans.nb = public/language/nb/ip-blacklist.json
|
||||||
trans.nn_NO = public/language/nn-NO/ip-blacklist.json
|
|
||||||
trans.sv = public/language/sv/ip-blacklist.json
|
trans.sv = public/language/sv/ip-blacklist.json
|
||||||
trans.th = public/language/th/ip-blacklist.json
|
trans.th = public/language/th/ip-blacklist.json
|
||||||
trans.bn = public/language/bn/ip-blacklist.json
|
trans.bn = public/language/bn/ip-blacklist.json
|
||||||
@@ -2934,7 +2931,6 @@ trans.en_US = public/language/en-US/language.json
|
|||||||
trans.et = public/language/et/language.json
|
trans.et = public/language/et/language.json
|
||||||
trans.ja = public/language/ja/language.json
|
trans.ja = public/language/ja/language.json
|
||||||
trans.nb = public/language/nb/language.json
|
trans.nb = public/language/nb/language.json
|
||||||
trans.nn_NO = public/language/nn-NO/language.json
|
|
||||||
trans.sk = public/language/sk/language.json
|
trans.sk = public/language/sk/language.json
|
||||||
trans.el = public/language/el/language.json
|
trans.el = public/language/el/language.json
|
||||||
trans.es = public/language/es/language.json
|
trans.es = public/language/es/language.json
|
||||||
@@ -3011,7 +3007,6 @@ trans.en@pirate = public/language/en-x-pirate/login.json
|
|||||||
trans.hy = public/language/hy/login.json
|
trans.hy = public/language/hy/login.json
|
||||||
trans.id = public/language/id/login.json
|
trans.id = public/language/id/login.json
|
||||||
trans.nb = public/language/nb/login.json
|
trans.nb = public/language/nb/login.json
|
||||||
trans.nn_NO = public/language/nn-NO/login.json
|
|
||||||
trans.ru = public/language/ru/login.json
|
trans.ru = public/language/ru/login.json
|
||||||
trans.rw = public/language/rw/login.json
|
trans.rw = public/language/rw/login.json
|
||||||
trans.th = public/language/th/login.json
|
trans.th = public/language/th/login.json
|
||||||
@@ -3039,7 +3034,6 @@ trans.fa_IR = public/language/fa-IR/modules.json
|
|||||||
trans.hr = public/language/hr/modules.json
|
trans.hr = public/language/hr/modules.json
|
||||||
trans.lv = public/language/lv/modules.json
|
trans.lv = public/language/lv/modules.json
|
||||||
trans.nb = public/language/nb/modules.json
|
trans.nb = public/language/nb/modules.json
|
||||||
trans.nn_NO = public/language/nn-NO/modules.json
|
|
||||||
trans.ro = public/language/ro/modules.json
|
trans.ro = public/language/ro/modules.json
|
||||||
trans.sv = public/language/sv/modules.json
|
trans.sv = public/language/sv/modules.json
|
||||||
trans.en@pirate = public/language/en-x-pirate/modules.json
|
trans.en@pirate = public/language/en-x-pirate/modules.json
|
||||||
@@ -3121,7 +3115,6 @@ trans.ms = public/language/ms/notifications.json
|
|||||||
trans.hr = public/language/hr/notifications.json
|
trans.hr = public/language/hr/notifications.json
|
||||||
trans.id = public/language/id/notifications.json
|
trans.id = public/language/id/notifications.json
|
||||||
trans.nb = public/language/nb/notifications.json
|
trans.nb = public/language/nb/notifications.json
|
||||||
trans.nn_NO = public/language/nn-NO/notifications.json
|
|
||||||
trans.ar = public/language/ar/notifications.json
|
trans.ar = public/language/ar/notifications.json
|
||||||
trans.da = public/language/da/notifications.json
|
trans.da = public/language/da/notifications.json
|
||||||
trans.en@pirate = public/language/en-x-pirate/notifications.json
|
trans.en@pirate = public/language/en-x-pirate/notifications.json
|
||||||
@@ -3134,7 +3127,6 @@ source_lang = en_GB
|
|||||||
type = KEYVALUEJSON
|
type = KEYVALUEJSON
|
||||||
trans.he = public/language/he/pages.json
|
trans.he = public/language/he/pages.json
|
||||||
trans.nb = public/language/nb/pages.json
|
trans.nb = public/language/nb/pages.json
|
||||||
trans.nn_NO = public/language/nn-NO/pages.json
|
|
||||||
trans.sv = public/language/sv/pages.json
|
trans.sv = public/language/sv/pages.json
|
||||||
trans.pt_BR = public/language/pt-BR/pages.json
|
trans.pt_BR = public/language/pt-BR/pages.json
|
||||||
trans.tr = public/language/tr/pages.json
|
trans.tr = public/language/tr/pages.json
|
||||||
@@ -3231,7 +3223,6 @@ trans.pt_PT = public/language/pt-PT/post-queue.json
|
|||||||
trans.fi = public/language/fi/post-queue.json
|
trans.fi = public/language/fi/post-queue.json
|
||||||
trans.he = public/language/he/post-queue.json
|
trans.he = public/language/he/post-queue.json
|
||||||
trans.nb = public/language/nb/post-queue.json
|
trans.nb = public/language/nb/post-queue.json
|
||||||
trans.nn_NO = public/language/nn-NO/post-queue.json
|
|
||||||
|
|
||||||
[o:nodebb:p:nodebb:r:recent]
|
[o:nodebb:p:nodebb:r:recent]
|
||||||
file_filter = public/language/<lang>/recent.json
|
file_filter = public/language/<lang>/recent.json
|
||||||
@@ -3271,7 +3262,6 @@ trans.bn = public/language/bn/recent.json
|
|||||||
trans.en@pirate = public/language/en-x-pirate/recent.json
|
trans.en@pirate = public/language/en-x-pirate/recent.json
|
||||||
trans.ja = public/language/ja/recent.json
|
trans.ja = public/language/ja/recent.json
|
||||||
trans.nb = public/language/nb/recent.json
|
trans.nb = public/language/nb/recent.json
|
||||||
trans.nn_NO = public/language/nn-NO/recent.json
|
|
||||||
trans.nl = public/language/nl/recent.json
|
trans.nl = public/language/nl/recent.json
|
||||||
trans.sv = public/language/sv/recent.json
|
trans.sv = public/language/sv/recent.json
|
||||||
trans.th = public/language/th/recent.json
|
trans.th = public/language/th/recent.json
|
||||||
@@ -3309,7 +3299,6 @@ trans.bg = public/language/bg/register.json
|
|||||||
trans.de = public/language/de/register.json
|
trans.de = public/language/de/register.json
|
||||||
trans.hr = public/language/hr/register.json
|
trans.hr = public/language/hr/register.json
|
||||||
trans.nb = public/language/nb/register.json
|
trans.nb = public/language/nb/register.json
|
||||||
trans.nn_NO = public/language/nn-NO/register.json
|
|
||||||
trans.gl = public/language/gl/register.json
|
trans.gl = public/language/gl/register.json
|
||||||
trans.sk = public/language/sk/register.json
|
trans.sk = public/language/sk/register.json
|
||||||
trans.hy = public/language/hy/register.json
|
trans.hy = public/language/hy/register.json
|
||||||
@@ -3379,7 +3368,6 @@ trans.en_US = public/language/en-US/reset_password.json
|
|||||||
trans.lt = public/language/lt/reset_password.json
|
trans.lt = public/language/lt/reset_password.json
|
||||||
trans.lv = public/language/lv/reset_password.json
|
trans.lv = public/language/lv/reset_password.json
|
||||||
trans.nb = public/language/nb/reset_password.json
|
trans.nb = public/language/nb/reset_password.json
|
||||||
trans.nn_NO = public/language/nn-NO/reset_password.json
|
|
||||||
trans.sk = public/language/sk/reset_password.json
|
trans.sk = public/language/sk/reset_password.json
|
||||||
trans.el = public/language/el/reset_password.json
|
trans.el = public/language/el/reset_password.json
|
||||||
trans.es = public/language/es/reset_password.json
|
trans.es = public/language/es/reset_password.json
|
||||||
@@ -3432,7 +3420,6 @@ trans.en_US = public/language/en-US/rewards.json
|
|||||||
trans.lt = public/language/lt/rewards.json
|
trans.lt = public/language/lt/rewards.json
|
||||||
trans.lv = public/language/lv/rewards.json
|
trans.lv = public/language/lv/rewards.json
|
||||||
trans.nb = public/language/nb/rewards.json
|
trans.nb = public/language/nb/rewards.json
|
||||||
trans.nn_NO = public/language/nn-NO/rewards.json
|
|
||||||
trans.sk = public/language/sk/rewards.json
|
trans.sk = public/language/sk/rewards.json
|
||||||
trans.el = public/language/el/rewards.json
|
trans.el = public/language/el/rewards.json
|
||||||
trans.es = public/language/es/rewards.json
|
trans.es = public/language/es/rewards.json
|
||||||
@@ -3475,7 +3462,6 @@ trans.zh_TW = public/language/zh-TW/search.json
|
|||||||
trans.cs = public/language/cs/search.json
|
trans.cs = public/language/cs/search.json
|
||||||
trans.he = public/language/he/search.json
|
trans.he = public/language/he/search.json
|
||||||
trans.nb = public/language/nb/search.json
|
trans.nb = public/language/nb/search.json
|
||||||
trans.nn_NO = public/language/nn-NO/search.json
|
|
||||||
trans.zh_CN = public/language/zh-CN/search.json
|
trans.zh_CN = public/language/zh-CN/search.json
|
||||||
trans.lv = public/language/lv/search.json
|
trans.lv = public/language/lv/search.json
|
||||||
trans.rw = public/language/rw/search.json
|
trans.rw = public/language/rw/search.json
|
||||||
@@ -3528,7 +3514,6 @@ trans.zh_TW = public/language/zh-TW/social.json
|
|||||||
trans.cs = public/language/cs/social.json
|
trans.cs = public/language/cs/social.json
|
||||||
trans.he = public/language/he/social.json
|
trans.he = public/language/he/social.json
|
||||||
trans.nb = public/language/nb/social.json
|
trans.nb = public/language/nb/social.json
|
||||||
trans.nn_NO = public/language/nn-NO/social.json
|
|
||||||
trans.zh_CN = public/language/zh-CN/social.json
|
trans.zh_CN = public/language/zh-CN/social.json
|
||||||
trans.lv = public/language/lv/social.json
|
trans.lv = public/language/lv/social.json
|
||||||
trans.rw = public/language/rw/social.json
|
trans.rw = public/language/rw/social.json
|
||||||
@@ -3600,7 +3585,6 @@ trans.da = public/language/da/success.json
|
|||||||
trans.el = public/language/el/success.json
|
trans.el = public/language/el/success.json
|
||||||
trans.gl = public/language/gl/success.json
|
trans.gl = public/language/gl/success.json
|
||||||
trans.nb = public/language/nb/success.json
|
trans.nb = public/language/nb/success.json
|
||||||
trans.nn_NO = public/language/nn-NO/success.json
|
|
||||||
trans.sr = public/language/sr/success.json
|
trans.sr = public/language/sr/success.json
|
||||||
trans.uk = public/language/uk/success.json
|
trans.uk = public/language/uk/success.json
|
||||||
|
|
||||||
@@ -3644,7 +3628,6 @@ trans.gl = public/language/gl/tags.json
|
|||||||
trans.lv = public/language/lv/tags.json
|
trans.lv = public/language/lv/tags.json
|
||||||
trans.ms = public/language/ms/tags.json
|
trans.ms = public/language/ms/tags.json
|
||||||
trans.nb = public/language/nb/tags.json
|
trans.nb = public/language/nb/tags.json
|
||||||
trans.nn_NO = public/language/nn-NO/tags.json
|
|
||||||
trans.sv = public/language/sv/tags.json
|
trans.sv = public/language/sv/tags.json
|
||||||
trans.sq_AL = public/language/sq-AL/tags.json
|
trans.sq_AL = public/language/sq-AL/tags.json
|
||||||
trans.zh_TW = public/language/zh-TW/tags.json
|
trans.zh_TW = public/language/zh-TW/tags.json
|
||||||
@@ -3703,7 +3686,6 @@ trans.sv = public/language/sv/top.json
|
|||||||
trans.th = public/language/th/top.json
|
trans.th = public/language/th/top.json
|
||||||
trans.it = public/language/it/top.json
|
trans.it = public/language/it/top.json
|
||||||
trans.nb = public/language/nb/top.json
|
trans.nb = public/language/nb/top.json
|
||||||
trans.nn_NO = public/language/nn-NO/top.json
|
|
||||||
trans.sr = public/language/sr/top.json
|
trans.sr = public/language/sr/top.json
|
||||||
trans.tr = public/language/tr/top.json
|
trans.tr = public/language/tr/top.json
|
||||||
trans.zh_TW = public/language/zh-TW/top.json
|
trans.zh_TW = public/language/zh-TW/top.json
|
||||||
@@ -3718,7 +3700,6 @@ type = KEYVALUEJSON
|
|||||||
trans.et = public/language/et/topic.json
|
trans.et = public/language/et/topic.json
|
||||||
trans.hu = public/language/hu/topic.json
|
trans.hu = public/language/hu/topic.json
|
||||||
trans.nb = public/language/nb/topic.json
|
trans.nb = public/language/nb/topic.json
|
||||||
trans.nn_NO = public/language/nn-NO/topic.json
|
|
||||||
trans.nl = public/language/nl/topic.json
|
trans.nl = public/language/nl/topic.json
|
||||||
trans.sk = public/language/sk/topic.json
|
trans.sk = public/language/sk/topic.json
|
||||||
trans.ar = public/language/ar/topic.json
|
trans.ar = public/language/ar/topic.json
|
||||||
@@ -3801,7 +3782,6 @@ trans.sk = public/language/sk/unread.json
|
|||||||
trans.bn = public/language/bn/unread.json
|
trans.bn = public/language/bn/unread.json
|
||||||
trans.cs = public/language/cs/unread.json
|
trans.cs = public/language/cs/unread.json
|
||||||
trans.nb = public/language/nb/unread.json
|
trans.nb = public/language/nb/unread.json
|
||||||
trans.nn_NO = public/language/nn-NO/unread.json
|
|
||||||
trans.rw = public/language/rw/unread.json
|
trans.rw = public/language/rw/unread.json
|
||||||
trans.sq_AL = public/language/sq-AL/unread.json
|
trans.sq_AL = public/language/sq-AL/unread.json
|
||||||
trans.tr = public/language/tr/unread.json
|
trans.tr = public/language/tr/unread.json
|
||||||
@@ -3846,7 +3826,6 @@ trans.et = public/language/et/uploads.json
|
|||||||
trans.id = public/language/id/uploads.json
|
trans.id = public/language/id/uploads.json
|
||||||
trans.ms = public/language/ms/uploads.json
|
trans.ms = public/language/ms/uploads.json
|
||||||
trans.nb = public/language/nb/uploads.json
|
trans.nb = public/language/nb/uploads.json
|
||||||
trans.nn_NO = public/language/nn-NO/uploads.json
|
|
||||||
trans.pt_PT = public/language/pt-PT/uploads.json
|
trans.pt_PT = public/language/pt-PT/uploads.json
|
||||||
trans.da = public/language/da/uploads.json
|
trans.da = public/language/da/uploads.json
|
||||||
trans.es = public/language/es/uploads.json
|
trans.es = public/language/es/uploads.json
|
||||||
@@ -3916,7 +3895,6 @@ trans.hr = public/language/hr/user.json
|
|||||||
trans.hy = public/language/hy/user.json
|
trans.hy = public/language/hy/user.json
|
||||||
trans.ja = public/language/ja/user.json
|
trans.ja = public/language/ja/user.json
|
||||||
trans.nb = public/language/nb/user.json
|
trans.nb = public/language/nb/user.json
|
||||||
trans.nn_NO = public/language/nn-NO/user.json
|
|
||||||
trans.nl = public/language/nl/user.json
|
trans.nl = public/language/nl/user.json
|
||||||
trans.ro = public/language/ro/user.json
|
trans.ro = public/language/ro/user.json
|
||||||
trans.sc = public/language/sc/user.json
|
trans.sc = public/language/sc/user.json
|
||||||
@@ -3950,7 +3928,6 @@ trans.he = public/language/he/users.json
|
|||||||
trans.ja = public/language/ja/users.json
|
trans.ja = public/language/ja/users.json
|
||||||
trans.ko = public/language/ko/users.json
|
trans.ko = public/language/ko/users.json
|
||||||
trans.nb = public/language/nb/users.json
|
trans.nb = public/language/nb/users.json
|
||||||
trans.nn_NO = public/language/nn-NO/users.json
|
|
||||||
trans.pt_PT = public/language/pt-PT/users.json
|
trans.pt_PT = public/language/pt-PT/users.json
|
||||||
trans.sr = public/language/sr/users.json
|
trans.sr = public/language/sr/users.json
|
||||||
trans.zh_CN = public/language/zh-CN/users.json
|
trans.zh_CN = public/language/zh-CN/users.json
|
||||||
@@ -3975,55 +3952,3 @@ trans.hu = public/language/hu/users.json
|
|||||||
trans.lv = public/language/lv/users.json
|
trans.lv = public/language/lv/users.json
|
||||||
trans.pt_BR = public/language/pt-BR/users.json
|
trans.pt_BR = public/language/pt-BR/users.json
|
||||||
|
|
||||||
[o:nodebb:p:nodebb:r:world]
|
|
||||||
file_filter = public/language/<lang>/world.json
|
|
||||||
source_file = public/language/en-GB/world.json
|
|
||||||
source_lang = en_GB
|
|
||||||
type = KEYVALUEJSON
|
|
||||||
trans.zh_TW = public/language/zh-TW/world.json
|
|
||||||
trans.de = public/language/de/world.json
|
|
||||||
trans.en@pirate = public/language/en-x-pirate/world.json
|
|
||||||
trans.ru = public/language/ru/world.json
|
|
||||||
trans.sc = public/language/sc/world.json
|
|
||||||
trans.en_US = public/language/en-US/world.json
|
|
||||||
trans.bn = public/language/bn/world.json
|
|
||||||
trans.hy = public/language/hy/world.json
|
|
||||||
trans.ro = public/language/ro/world.json
|
|
||||||
trans.fi = public/language/fi/world.json
|
|
||||||
trans.it = public/language/it/world.json
|
|
||||||
trans.pl = public/language/pl/world.json
|
|
||||||
trans.sk = public/language/sk/world.json
|
|
||||||
trans.ar = public/language/ar/world.json
|
|
||||||
trans.bg = public/language/bg/world.json
|
|
||||||
trans.el = public/language/el/world.json
|
|
||||||
trans.fa_IR = public/language/fa-IR/world.json
|
|
||||||
trans.sq_AL = public/language/sq-AL/world.json
|
|
||||||
trans.cs = public/language/cs/world.json
|
|
||||||
trans.he = public/language/he/world.json
|
|
||||||
trans.ja = public/language/ja/world.json
|
|
||||||
trans.ko = public/language/ko/world.json
|
|
||||||
trans.nb = public/language/nb/world.json
|
|
||||||
trans.nn_NO = public/language/nn-NO/world.json
|
|
||||||
trans.pt_PT = public/language/pt-PT/world.json
|
|
||||||
trans.sr = public/language/sr/world.json
|
|
||||||
trans.zh_CN = public/language/zh-CN/world.json
|
|
||||||
trans.da = public/language/da/world.json
|
|
||||||
trans.id = public/language/id/world.json
|
|
||||||
trans.lt = public/language/lt/world.json
|
|
||||||
trans.ms = public/language/ms/world.json
|
|
||||||
trans.nl = public/language/nl/world.json
|
|
||||||
trans.rw = public/language/rw/world.json
|
|
||||||
trans.sl = public/language/sl/world.json
|
|
||||||
trans.th = public/language/th/world.json
|
|
||||||
trans.es = public/language/es/world.json
|
|
||||||
trans.fr = public/language/fr/world.json
|
|
||||||
trans.gl = public/language/gl/world.json
|
|
||||||
trans.hr = public/language/hr/world.json
|
|
||||||
trans.uk = public/language/uk/world.json
|
|
||||||
trans.vi = public/language/vi/world.json
|
|
||||||
trans.sv = public/language/sv/world.json
|
|
||||||
trans.tr = public/language/tr/world.json
|
|
||||||
trans.et = public/language/et/world.json
|
|
||||||
trans.hu = public/language/hu/world.json
|
|
||||||
trans.lv = public/language/lv/world.json
|
|
||||||
trans.pt_BR = public/language/pt-BR/world.json
|
|
||||||
|
|||||||
2550
CHANGELOG.md
2550
CHANGELOG.md
File diff suppressed because it is too large
Load Diff
94
Dockerfile
94
Dockerfile
@@ -1,75 +1,51 @@
|
|||||||
FROM node:lts as build
|
FROM --platform=$BUILDPLATFORM node:lts as npm
|
||||||
|
|
||||||
ENV NODE_ENV=production \
|
RUN mkdir -p /usr/src/build && \
|
||||||
DAEMON=false \
|
chown -R node:node /usr/src/build
|
||||||
SILENT=false \
|
WORKDIR /usr/src/build
|
||||||
USER=nodebb \
|
|
||||||
UID=1001 \
|
|
||||||
GID=1001
|
|
||||||
|
|
||||||
WORKDIR /usr/src/app/
|
ARG NODE_ENV
|
||||||
|
ENV NODE_ENV $NODE_ENV
|
||||||
|
|
||||||
COPY . /usr/src/app/
|
COPY --chown=node:node install/package.json /usr/src/build/package.json
|
||||||
|
|
||||||
# Install corepack to allow usage of other package managers
|
USER node
|
||||||
RUN corepack enable
|
|
||||||
|
|
||||||
# Removing unnecessary files for us
|
|
||||||
RUN find . -mindepth 1 -maxdepth 1 -name '.*' ! -name '.' ! -name '..' -exec bash -c 'echo "Deleting {}"; rm -rf {}' \;
|
|
||||||
|
|
||||||
# Prepage package.json
|
|
||||||
RUN cp /usr/src/app/install/package.json /usr/src/app/
|
|
||||||
|
|
||||||
RUN apt-get update \
|
|
||||||
&& DEBIAN_FRONTEND=noninteractive \
|
|
||||||
apt-get -y --no-install-recommends install \
|
|
||||||
tini
|
|
||||||
|
|
||||||
RUN groupadd --gid ${GID} ${USER} \
|
|
||||||
&& useradd --uid ${UID} --gid ${GID} --home-dir /usr/src/app/ --shell /bin/bash ${USER} \
|
|
||||||
&& chown -R ${USER}:${USER} /usr/src/app/
|
|
||||||
|
|
||||||
USER ${USER}
|
|
||||||
|
|
||||||
RUN npm install --omit=dev
|
RUN npm install --omit=dev
|
||||||
# TODO: generate lockfiles for each package manager
|
|
||||||
## pnpm import \
|
|
||||||
|
|
||||||
FROM node:lts-slim AS final
|
FROM node:lts as rebuild
|
||||||
|
|
||||||
ENV NODE_ENV=production \
|
ARG BUILDPLATFORM
|
||||||
DAEMON=false \
|
ARG TARGETPLATFORM
|
||||||
SILENT=false \
|
|
||||||
USER=nodebb \
|
|
||||||
UID=1001 \
|
|
||||||
GID=1001
|
|
||||||
|
|
||||||
WORKDIR /usr/src/app/
|
RUN mkdir -p /usr/src/build && \
|
||||||
|
chown -R node:node /usr/src/build
|
||||||
|
|
||||||
RUN corepack enable \
|
COPY --from=npm /usr/src/build /usr/src/build
|
||||||
&& groupadd --gid ${GID} ${USER} \
|
|
||||||
&& useradd --uid ${UID} --gid ${GID} --home-dir /usr/src/app/ --shell /bin/bash ${USER} \
|
|
||||||
&& mkdir -p /usr/src/app/logs/ /opt/config/ \
|
|
||||||
&& chown -R ${USER}:${USER} /usr/src/app/ /opt/config/
|
|
||||||
|
|
||||||
COPY --from=build --chown=${USER}:${USER} /usr/src/app/ /usr/src/app/install/docker/setup.json /usr/src/app/
|
RUN if [ $BUILDPLATFORM != $TARGETPLATFORM ]; then \
|
||||||
COPY --from=build --chown=${USER}:${USER} /usr/bin/tini /usr/src/app/install/docker/entrypoint.sh /usr/local/bin/
|
npm rebuild && \
|
||||||
|
npm cache clean --force; fi
|
||||||
|
|
||||||
RUN chmod +x /usr/local/bin/entrypoint.sh \
|
FROM node:lts-slim as run
|
||||||
&& chmod +x /usr/local/bin/tini
|
|
||||||
|
|
||||||
# TODO: Have docker-compose use environment variables to create files like setup.json and config.json.
|
ARG NODE_ENV
|
||||||
# COPY --from=hairyhenderson/gomplate:stable /gomplate /usr/local/bin/gomplate
|
ENV NODE_ENV=$NODE_ENV \
|
||||||
|
daemon=false \
|
||||||
|
silent=false
|
||||||
|
|
||||||
USER ${USER}
|
RUN mkdir -p /usr/src/app && \
|
||||||
|
chown -R node:node /usr/src/app
|
||||||
|
|
||||||
|
COPY --chown=node:node --from=rebuild /usr/src/build /usr/src/app
|
||||||
|
|
||||||
|
|
||||||
|
WORKDIR /usr/src/app
|
||||||
|
|
||||||
|
USER node
|
||||||
|
|
||||||
|
COPY --chown=node:node . /usr/src/app
|
||||||
|
|
||||||
EXPOSE 4567
|
EXPOSE 4567
|
||||||
|
VOLUME ["/usr/src/app/node_modules", "/usr/src/app/build", "/usr/src/app/public/uploads", "/opt/config"]
|
||||||
VOLUME ["/usr/src/app/node_modules", "/usr/src/app/build", "/usr/src/app/public/uploads", "/opt/config/"]
|
ENTRYPOINT ["./install/docker/entrypoint.sh"]
|
||||||
|
|
||||||
# Utilising tini as our init system within the Docker container for graceful start-up and termination.
|
|
||||||
# Tini serves as an uncomplicated init system, adept at managing the reaping of zombie processes and forwarding signals.
|
|
||||||
# This approach is crucial to circumvent issues with unmanaged subprocesses and signal handling in containerised environments.
|
|
||||||
# By integrating tini, we enhance the reliability and stability of our Docker containers.
|
|
||||||
# Ensures smooth start-up and shutdown processes, and reliable, safe handling of signal processing.
|
|
||||||
ENTRYPOINT ["tini", "--", "entrypoint.sh"]
|
|
||||||
@@ -39,7 +39,7 @@ Our minimalist "Harmony" theme gets you going right away, no coding experience r
|
|||||||
|
|
||||||
NodeBB requires the following software to be installed:
|
NodeBB requires the following software to be installed:
|
||||||
|
|
||||||
* A version of Node.js at least 18 or greater ([installation/upgrade instructions](https://github.com/nodesource/distributions))
|
* 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
|
* 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.
|
* 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)
|
* nginx, version 1.3.13 or greater (**only if** intending to use nginx to proxy requests to a NodeBB)
|
||||||
|
|||||||
@@ -1,77 +0,0 @@
|
|||||||
FROM node:lts AS git
|
|
||||||
|
|
||||||
ENV USER=nodebb \
|
|
||||||
UID=1001 \
|
|
||||||
GID=1001
|
|
||||||
|
|
||||||
WORKDIR /usr/src/app/
|
|
||||||
|
|
||||||
RUN groupadd --gid ${GID} ${USER} \
|
|
||||||
&& useradd --uid ${UID} --gid ${GID} --home-dir /usr/src/app/ --shell /bin/bash ${USER} \
|
|
||||||
&& chown -R ${USER}:${USER} /usr/src/app/
|
|
||||||
|
|
||||||
RUN apt-get update \
|
|
||||||
&& apt-get -y --no-install-recommends install tini
|
|
||||||
|
|
||||||
USER ${USER}
|
|
||||||
|
|
||||||
# Change to the git branch you want to test
|
|
||||||
RUN git clone --recurse-submodules -j8 --depth 1 https://github.com/NodeBB/NodeBB.git .
|
|
||||||
|
|
||||||
RUN find . -mindepth 1 -maxdepth 1 -name '.*' ! -name '.' ! -name '..' -exec bash -c 'echo "Deleting {}"; rm -rf {}' \;
|
|
||||||
|
|
||||||
FROM node:lts AS node_modules_touch
|
|
||||||
|
|
||||||
ENV NODE_ENV=development \
|
|
||||||
USER=nodebb \
|
|
||||||
UID=1001 \
|
|
||||||
GID=1001
|
|
||||||
|
|
||||||
WORKDIR /usr/src/app/
|
|
||||||
|
|
||||||
RUN corepack enable \
|
|
||||||
&& groupadd --gid ${GID} ${USER} \
|
|
||||||
&& useradd --uid ${UID} --gid ${GID} --home-dir /usr/src/app/ --shell /bin/bash ${USER} \
|
|
||||||
&& chown -R ${USER}:${USER} /usr/src/app/
|
|
||||||
|
|
||||||
COPY --from=git --chown=${USER}:${USER} /usr/src/app/install/package.json /usr/src/app/
|
|
||||||
|
|
||||||
USER ${USER}
|
|
||||||
|
|
||||||
RUN npm install
|
|
||||||
|
|
||||||
FROM node:lts-slim AS final
|
|
||||||
|
|
||||||
ENV NODE_ENV=development \
|
|
||||||
DAEMON=false \
|
|
||||||
SILENT=false \
|
|
||||||
USER=nodebb \
|
|
||||||
UID=1001 \
|
|
||||||
GID=1001
|
|
||||||
|
|
||||||
WORKDIR /usr/src/app/
|
|
||||||
|
|
||||||
RUN corepack enable \
|
|
||||||
&& groupadd --gid ${GID} ${USER} \
|
|
||||||
&& useradd --uid ${UID} --gid ${GID} --home-dir /usr/src/app/ --shell /bin/bash ${USER} \
|
|
||||||
&& mkdir -p /usr/src/app/logs/ /opt/config/ \
|
|
||||||
&& chown -R ${USER}:${USER} /usr/src/app/ /opt/config/
|
|
||||||
|
|
||||||
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/
|
|
||||||
|
|
||||||
RUN chmod +x /usr/local/bin/entrypoint.sh \
|
|
||||||
&& chmod +x /usr/local/bin/tini
|
|
||||||
|
|
||||||
# TODO: Have docker-compose use environment variables to create files like setup.json and config.json.
|
|
||||||
# COPY --from=hairyhenderson/gomplate:stable /gomplate /usr/local/bin/gomplate
|
|
||||||
|
|
||||||
USER ${USER}
|
|
||||||
|
|
||||||
EXPOSE 4567
|
|
||||||
|
|
||||||
VOLUME ["/usr/src/app/node_modules", "/usr/src/app/build", "/usr/src/app/public/uploads", "/opt/config/"]
|
|
||||||
|
|
||||||
ENTRYPOINT ["tini", "--", "entrypoint.sh"]
|
|
||||||
@@ -1,70 +0,0 @@
|
|||||||
version: '3.8'
|
|
||||||
|
|
||||||
services:
|
|
||||||
nodebb:
|
|
||||||
build: .
|
|
||||||
# image: ghcr.io/nodebb/nodebb:latest
|
|
||||||
restart: unless-stopped
|
|
||||||
ports:
|
|
||||||
- '4567:4567' # comment this out if you don't want to expose NodeBB to the host, or change the first number to any port you want
|
|
||||||
volumes:
|
|
||||||
- nodebb-build:/usr/src/app/build
|
|
||||||
- nodebb-uploads:/usr/src/app/public/uploads
|
|
||||||
- nodebb-config:/opt/config
|
|
||||||
- ./install/docker/setup.json:/usr/src/app/setup.json
|
|
||||||
|
|
||||||
postgres:
|
|
||||||
image: postgres:17.2-alpine
|
|
||||||
restart: unless-stopped
|
|
||||||
environment:
|
|
||||||
POSTGRES_USER: nodebb
|
|
||||||
POSTGRES_PASSWORD: nodebb
|
|
||||||
POSTGRES_DB: nodebb
|
|
||||||
volumes:
|
|
||||||
- postgres-data:/var/lib/postgresql/data
|
|
||||||
|
|
||||||
redis:
|
|
||||||
image: redis:7.4.2-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
|
|
||||||
volumes:
|
|
||||||
- redis-data:/data
|
|
||||||
profiles:
|
|
||||||
- redis
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
postgres-data:
|
|
||||||
driver: local
|
|
||||||
driver_opts:
|
|
||||||
o: bind
|
|
||||||
type: none
|
|
||||||
device: ./.docker/database/postgresql/data
|
|
||||||
|
|
||||||
redis-data:
|
|
||||||
driver: local
|
|
||||||
driver_opts:
|
|
||||||
o: bind
|
|
||||||
type: none
|
|
||||||
device: ./.docker/database/redis
|
|
||||||
|
|
||||||
nodebb-build:
|
|
||||||
driver: local
|
|
||||||
driver_opts:
|
|
||||||
o: bind
|
|
||||||
type: none
|
|
||||||
device: ./.docker/build
|
|
||||||
|
|
||||||
nodebb-uploads:
|
|
||||||
driver: local
|
|
||||||
driver_opts:
|
|
||||||
o: bind
|
|
||||||
type: none
|
|
||||||
device: ./.docker/public/uploads
|
|
||||||
|
|
||||||
nodebb-config:
|
|
||||||
driver: local
|
|
||||||
driver_opts:
|
|
||||||
o: bind
|
|
||||||
type: none
|
|
||||||
device: ./.docker/config
|
|
||||||
@@ -1,51 +0,0 @@
|
|||||||
version: '3.8'
|
|
||||||
|
|
||||||
services:
|
|
||||||
nodebb:
|
|
||||||
build: .
|
|
||||||
# image: ghcr.io/nodebb/nodebb:latest
|
|
||||||
restart: unless-stopped
|
|
||||||
ports:
|
|
||||||
- '4567:4567' # comment this out if you don't want to expose NodeBB to the host, or change the first number to any port you want
|
|
||||||
volumes:
|
|
||||||
- nodebb-build:/usr/src/app/build
|
|
||||||
- nodebb-uploads:/usr/src/app/public/uploads
|
|
||||||
- nodebb-config:/opt/config
|
|
||||||
- ./install/docker/setup.json:/usr/src/app/setup.json
|
|
||||||
|
|
||||||
redis:
|
|
||||||
image: redis:7.4.2-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
|
|
||||||
volumes:
|
|
||||||
- redis-data:/data
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
redis-data:
|
|
||||||
driver: local
|
|
||||||
driver_opts:
|
|
||||||
o: bind
|
|
||||||
type: none
|
|
||||||
device: ./.docker/database/redis
|
|
||||||
|
|
||||||
nodebb-build:
|
|
||||||
driver: local
|
|
||||||
driver_opts:
|
|
||||||
o: bind
|
|
||||||
type: none
|
|
||||||
device: ./.docker/build
|
|
||||||
|
|
||||||
nodebb-uploads:
|
|
||||||
driver: local
|
|
||||||
driver_opts:
|
|
||||||
o: bind
|
|
||||||
type: none
|
|
||||||
device: ./.docker/public/uploads
|
|
||||||
|
|
||||||
nodebb-config:
|
|
||||||
driver: local
|
|
||||||
driver_opts:
|
|
||||||
o: bind
|
|
||||||
type: none
|
|
||||||
device: ./.docker/config
|
|
||||||
@@ -1,89 +1,55 @@
|
|||||||
|
version: '3.8'
|
||||||
|
|
||||||
services:
|
services:
|
||||||
nodebb:
|
nodebb:
|
||||||
build: .
|
build: .
|
||||||
# image: ghcr.io/nodebb/nodebb:latest
|
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
ports:
|
ports:
|
||||||
- '4567:4567' # comment this out if you don't want to expose NodeBB to the host, or change the first number to any port you want
|
- "4567:4567/tcp" # comment this out if you don't want to expose NodeBB to the host, or change the first number to any port you want
|
||||||
|
# uncomment if you want to use another container as a reverse proxy
|
||||||
|
# expose:
|
||||||
|
# - 4567
|
||||||
volumes:
|
volumes:
|
||||||
- nodebb-build:/usr/src/app/build
|
- ./.docker/build:/usr/src/app/build
|
||||||
- nodebb-uploads:/usr/src/app/public/uploads
|
- ./.docker/public/uploads:/usr/src/app/public/uploads
|
||||||
- nodebb-config:/opt/config
|
- ./.docker:/opt/config
|
||||||
- ./install/docker/setup.json:/usr/src/app/setup.json
|
- ./install/docker/setup.json:/usr/src/app/setup.json
|
||||||
|
|
||||||
mongo:
|
mongo:
|
||||||
image: 'mongo:7-jammy'
|
image: "mongo:7-jammy"
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
ports:
|
expose:
|
||||||
- '27017:27017'
|
- "27017"
|
||||||
environment:
|
environment:
|
||||||
MONGO_INITDB_ROOT_USERNAME: nodebb
|
MONGO_INITDB_ROOT_USERNAME: nodebb
|
||||||
MONGO_INITDB_ROOT_PASSWORD: nodebb
|
MONGO_INITDB_ROOT_PASSWORD: nodebb
|
||||||
MONGO_INITDB_DATABASE: nodebb
|
MONGO_INITDB_DATABASE: nodebb
|
||||||
volumes:
|
volumes:
|
||||||
- mongo-data:/data/db
|
- ./.docker/database/mongo/config:/etc/mongo
|
||||||
|
- ./.docker/database/mongo/data:/data/db
|
||||||
- ./install/docker/mongodb-user-init.js:/docker-entrypoint-initdb.d/user-init.js
|
- ./install/docker/mongodb-user-init.js:/docker-entrypoint-initdb.d/user-init.js
|
||||||
redis:
|
|
||||||
image: redis:7.4.2-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
|
|
||||||
volumes:
|
|
||||||
- redis-data:/data
|
|
||||||
profiles:
|
profiles:
|
||||||
- redis
|
- mongo
|
||||||
|
|
||||||
postgres:
|
postgres:
|
||||||
image: postgres:17.2-alpine
|
image: postgres:16.1-alpine
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
expose:
|
||||||
|
- "5432"
|
||||||
environment:
|
environment:
|
||||||
POSTGRES_USER: nodebb
|
POSTGRES_USER: nodebb
|
||||||
POSTGRES_PASSWORD: nodebb
|
POSTGRES_PASSWORD: nodebb
|
||||||
POSTGRES_DB: nodebb
|
POSTGRES_DB: nodebb
|
||||||
volumes:
|
volumes:
|
||||||
- postgres-data:/var/lib/postgresql/data
|
- ./.docker/database/postgresql/data:/var/lib/postgresql/data
|
||||||
profiles:
|
profiles:
|
||||||
- postgres
|
- postgres
|
||||||
|
redis:
|
||||||
volumes:
|
image: redis:7.2.3-alpine
|
||||||
mongo-data:
|
restart: unless-stopped
|
||||||
driver: local
|
command: ["redis-server", "--appendonly", "yes", "--loglevel", "warning"]
|
||||||
driver_opts:
|
# command: ["redis-server", "--save", "60", "1", "--loglevel", "warning"] # uncomment if you want to use snapshotting instead of AOF
|
||||||
o: bind
|
expose:
|
||||||
type: none
|
- "6379"
|
||||||
device: ./.docker/database/mongo/data
|
volumes:
|
||||||
|
- ./.docker/database/redis:/data
|
||||||
redis-data:
|
profiles:
|
||||||
driver: local
|
- redis
|
||||||
driver_opts:
|
|
||||||
o: bind
|
|
||||||
type: none
|
|
||||||
device: ./.docker/database/redis
|
|
||||||
|
|
||||||
postgres-data:
|
|
||||||
driver: local
|
|
||||||
driver_opts:
|
|
||||||
o: bind
|
|
||||||
type: none
|
|
||||||
device: ./.docker/database/postgresql/data
|
|
||||||
|
|
||||||
nodebb-build:
|
|
||||||
driver: local
|
|
||||||
driver_opts:
|
|
||||||
o: bind
|
|
||||||
type: none
|
|
||||||
device: ./.docker/build
|
|
||||||
|
|
||||||
nodebb-uploads:
|
|
||||||
driver: local
|
|
||||||
driver_opts:
|
|
||||||
o: bind
|
|
||||||
type: none
|
|
||||||
device: ./.docker/public/uploads
|
|
||||||
|
|
||||||
nodebb-config:
|
|
||||||
driver: local
|
|
||||||
driver_opts:
|
|
||||||
o: bind
|
|
||||||
type: none
|
|
||||||
device: ./.docker/config
|
|
||||||
@@ -42,17 +42,16 @@
|
|||||||
"registrationApprovalType": "normal",
|
"registrationApprovalType": "normal",
|
||||||
"allowAccountDelete": 1,
|
"allowAccountDelete": 1,
|
||||||
"privateUploads": 0,
|
"privateUploads": 0,
|
||||||
"allowedFileExtensions": "png,jpg,bmp,txt,webp,webm,mp4,gif",
|
"allowedFileExtensions": "png,jpg,bmp,txt",
|
||||||
"uploadRateLimitThreshold": 10,
|
"uploadRateLimitThreshold": 10,
|
||||||
"uploadRateLimitCooldown": 60,
|
"uploadRateLimitCooldown": 60,
|
||||||
"allowUserHomePage": 1,
|
"allowUserHomePage": 1,
|
||||||
"allowMultipleBadges": 1,
|
"allowMultipleBadges": 0,
|
||||||
"maximumFileSize": 2048,
|
"maximumFileSize": 2048,
|
||||||
"stripEXIFData": 1,
|
"stripEXIFData": 1,
|
||||||
"orphanExpiryDays": 0,
|
"orphanExpiryDays": 0,
|
||||||
"resizeImageWidthThreshold": 2000,
|
"resizeImageWidthThreshold": 2000,
|
||||||
"resizeImageWidth": 760,
|
"resizeImageWidth": 760,
|
||||||
"resizeImageKeepOriginal": 1,
|
|
||||||
"rejectImageWidth": 5000,
|
"rejectImageWidth": 5000,
|
||||||
"rejectImageHeight": 5000,
|
"rejectImageHeight": 5000,
|
||||||
"resizeImageQuality": 80,
|
"resizeImageQuality": 80,
|
||||||
@@ -100,21 +99,16 @@
|
|||||||
"min:rep:aboutme": 0,
|
"min:rep:aboutme": 0,
|
||||||
"min:rep:signature": 0,
|
"min:rep:signature": 0,
|
||||||
"flags:limitPerTarget": 0,
|
"flags:limitPerTarget": 0,
|
||||||
"flags:postFlagsPerDay": 10,
|
|
||||||
"flags:userFlagsPerDay": 10,
|
|
||||||
"flags:autoFlagOnDownvoteThreshold": 0,
|
"flags:autoFlagOnDownvoteThreshold": 0,
|
||||||
"flags:actionOnResolve": "rescind",
|
"flags:actionOnResolve": "rescind",
|
||||||
"flags:actionOnReject": "rescind",
|
"flags:actionOnReject": "rescind",
|
||||||
"notificationType_upvote": "notification",
|
"notificationType_upvote": "notification",
|
||||||
"notificationType_new-topic": "notification",
|
"notificationType_new-topic": "notification",
|
||||||
"notificationType_new-topic-with-tag": "notification",
|
|
||||||
"notificationType_new-topic-in-category": "notification",
|
|
||||||
"notificationType_new-reply": "notification",
|
"notificationType_new-reply": "notification",
|
||||||
"notificationType_post-edit": "notification",
|
"notificationType_post-edit": "notification",
|
||||||
"notificationType_follow": "notification",
|
"notificationType_follow": "notification",
|
||||||
"notificationType_new-chat": "notification",
|
"notificationType_new-chat": "notification",
|
||||||
"notificationType_new-group-chat": "notification",
|
"notificationType_new-group-chat": "notification",
|
||||||
"notificationType_new-public-chat": "none",
|
|
||||||
"notificationType_group-invite": "notification",
|
"notificationType_group-invite": "notification",
|
||||||
"notificationType_group-leave": "notification",
|
"notificationType_group-leave": "notification",
|
||||||
"notificationType_group-request-membership": "notification",
|
"notificationType_group-request-membership": "notification",
|
||||||
@@ -141,8 +135,7 @@
|
|||||||
"sitemapTopics": 500,
|
"sitemapTopics": 500,
|
||||||
"maintenanceMode": 0,
|
"maintenanceMode": 0,
|
||||||
"maintenanceModeStatus": 503,
|
"maintenanceModeStatus": 503,
|
||||||
"upvoteVisibility": "all",
|
"votesArePublic": 0,
|
||||||
"downvoteVisibility": "privileged",
|
|
||||||
"maximumInvites": 0,
|
"maximumInvites": 0,
|
||||||
"username:disableEdit": 0,
|
"username:disableEdit": 0,
|
||||||
"email:disableEdit": 0,
|
"email:disableEdit": 0,
|
||||||
@@ -183,7 +176,7 @@
|
|||||||
"onlineCutoff": 30,
|
"onlineCutoff": 30,
|
||||||
"timeagoCutoff": 30,
|
"timeagoCutoff": 30,
|
||||||
"necroThreshold": 7,
|
"necroThreshold": 7,
|
||||||
"categoryWatchState": "tracking",
|
"categoryWatchState": "watching",
|
||||||
"submitPluginUsage": 1,
|
"submitPluginUsage": 1,
|
||||||
"showAverageApprovalTime": 1,
|
"showAverageApprovalTime": 1,
|
||||||
"autoApproveTime": 0,
|
"autoApproveTime": 0,
|
||||||
@@ -194,12 +187,5 @@
|
|||||||
"composer:allowPluginHelp": 1,
|
"composer:allowPluginHelp": 1,
|
||||||
"maxReconnectionAttempts": 5,
|
"maxReconnectionAttempts": 5,
|
||||||
"reconnectionDelay": 1500,
|
"reconnectionDelay": 1500,
|
||||||
"disableCustomUserSkins": 0,
|
"disableCustomUserSkins": 0
|
||||||
"activitypubEnabled": 1,
|
}
|
||||||
"activitypubAllowLoopback": 0,
|
|
||||||
"activitypubProbe": 1,
|
|
||||||
"activitypubProbeTimeout": 2000,
|
|
||||||
"activitypubContentPruneDays": 30,
|
|
||||||
"activitypubUserPruneDays": 7,
|
|
||||||
"activitypubFilter": 0
|
|
||||||
}
|
|
||||||
@@ -41,14 +41,6 @@
|
|||||||
"textClass": "d-lg-none",
|
"textClass": "d-lg-none",
|
||||||
"text": "[[global:header.popular]]"
|
"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",
|
"route": "/users",
|
||||||
"title": "[[global:header.users]]",
|
"title": "[[global:header.users]]",
|
||||||
|
|||||||
@@ -1,198 +1,46 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
set -e
|
export CONFIG_DIR="${CONFIG_DIR:-/opt/config}"
|
||||||
|
export CONFIG=$CONFIG_DIR/config.json
|
||||||
|
export FORCE_BUILD_BEFORE_START="${FORCE_BUILD_BEFORE_START:-false}"
|
||||||
|
|
||||||
# Function to set default values for environment variables
|
# Supported verbs: install (web install), setup (interactive CLI session). Default: web install
|
||||||
set_defaults() {
|
# TODO: constraint it using a hash set (or hash table)
|
||||||
export CONFIG_DIR="${CONFIG_DIR:-/opt/config}"
|
export NODEBB_INIT_VERB="${NODEBB_INIT_VERB:-install}"
|
||||||
export CONFIG="$CONFIG_DIR/config.json"
|
# Setup variable for backward compatibility, default: <empty>
|
||||||
export NODEBB_INIT_VERB="${NODEBB_INIT_VERB:-install}"
|
export SETUP="${SETUP:-}"
|
||||||
export NODEBB_BUILD_VERB="${NODEBB_BUILD_VERB:-build}"
|
|
||||||
export START_BUILD="${START_BUILD:-${FORCE_BUILD_BEFORE_START:-false}}"
|
|
||||||
export SETUP="${SETUP:-}"
|
|
||||||
export PACKAGE_MANAGER="${PACKAGE_MANAGER:-npm}"
|
|
||||||
export OVERRIDE_UPDATE_LOCK="${OVERRIDE_UPDATE_LOCK:-false}"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Function to check if a directory exists and is writable
|
mkdir -p $CONFIG_DIR
|
||||||
check_directory() {
|
|
||||||
local dir="$1"
|
|
||||||
if [ ! -d "$dir" ]; then
|
|
||||||
echo "Error: Directory $dir does not exist. Creating..."
|
|
||||||
mkdir -p "$dir" || {
|
|
||||||
echo "Error: Failed to create directory $dir"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
fi
|
|
||||||
if [ ! -w "$dir" ]; then
|
|
||||||
echo "Warning: No write permission for directory $dir, attempting to fix..."
|
|
||||||
chown -R $USER:$USER "$dir" || true # attempt to change ownership, do not exit on failure
|
|
||||||
chmod -R 760 "$dir" || true # attempt to change permissions, do not exit on failure
|
|
||||||
if [ ! -w "$dir" ]; then
|
|
||||||
echo "Error: No write permission for directory $dir. Exiting..."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Function to copy or link package.json and lock files based on package manager
|
# if the folder is mounted as a volume this can fail, the check below is to ensure there is still write access
|
||||||
copy_or_link_files() {
|
chmod -fR 760 $CONFIG_DIR 2> /dev/null
|
||||||
local src_dir="$1"
|
|
||||||
local dest_dir="$2"
|
|
||||||
local package_manager="$3"
|
|
||||||
local lock_file
|
|
||||||
|
|
||||||
case "$package_manager" in
|
if [[ ! -w $CONFIG_DIR ]]; then
|
||||||
yarn) lock_file="yarn.lock" ;;
|
echo "panic: no write permission for $CONFIG_DIR"
|
||||||
npm) lock_file="package-lock.json" ;;
|
exit 1
|
||||||
pnpm) lock_file="pnpm-lock.yaml" ;;
|
fi
|
||||||
*)
|
|
||||||
echo "Unknown package manager: $package_manager"
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# Check if source and destination files are the same
|
[[ -f $CONFIG_DIR/package.json ]] || cp install/package.json $CONFIG_DIR/package.json
|
||||||
if [ "$(realpath "$src_dir/package.json")" != "$(realpath "$dest_dir/package.json")" ] || [ "$OVERRIDE_UPDATE_LOCK" = true ]; then
|
[[ -f $CONFIG_DIR/package-lock.json ]] || touch $CONFIG_DIR/package-lock.json
|
||||||
cp "$src_dir/package.json" "$dest_dir/package.json"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$(realpath "$src_dir/$lock_file")" != "$(realpath "$dest_dir/$lock_file")" ] || [ "$OVERRIDE_UPDATE_LOCK" = true ]; then
|
ln -fs $CONFIG_DIR/package.json package.json
|
||||||
cp "$src_dir/$lock_file" "$dest_dir/$lock_file"
|
ln -fs $CONFIG_DIR/package-lock.json package-lock.json
|
||||||
fi
|
|
||||||
|
|
||||||
# Remove unnecessary lock files in src_dir
|
npm install --omit=dev
|
||||||
rm -f "$src_dir/"{yarn.lock,package-lock.json,pnpm-lock.yaml}
|
|
||||||
|
|
||||||
# Symbolically link the copied files in src_dir to dest_dir
|
if [[ -n $SETUP ]]; then
|
||||||
ln -fs "$dest_dir/package.json" "$src_dir/package.json"
|
echo "Setup environmental variable detected"
|
||||||
ln -fs "$dest_dir/$lock_file" "$src_dir/$lock_file"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Function to install dependencies using pnpm
|
|
||||||
install_dependencies() {
|
|
||||||
case "$PACKAGE_MANAGER" in
|
|
||||||
yarn) yarn install || {
|
|
||||||
echo "Failed to install dependencies with yarn"
|
|
||||||
exit 1
|
|
||||||
} ;;
|
|
||||||
npm) npm install || {
|
|
||||||
echo "Failed to install dependencies with npm"
|
|
||||||
exit 1
|
|
||||||
} ;;
|
|
||||||
pnpm) pnpm install || {
|
|
||||||
echo "Failed to install dependencies with pnpm"
|
|
||||||
exit 1
|
|
||||||
} ;;
|
|
||||||
*)
|
|
||||||
echo "Unknown package manager: $PACKAGE_MANAGER"
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
# Function to start setup session
|
|
||||||
start_setup_session() {
|
|
||||||
local config="$1"
|
|
||||||
echo "Starting setup session"
|
echo "Starting setup session"
|
||||||
exec /usr/src/app/nodebb setup --config="$config"
|
./nodebb setup --config=$CONFIG
|
||||||
}
|
elif [ -f $CONFIG ]; then
|
||||||
|
echo "Config file exist at $CONFIG, assuming it is a valid config"
|
||||||
# Handle building and upgrading NodeBB
|
echo "Starting forum"
|
||||||
build_forum() {
|
if [ "$FORCE_BUILD_BEFORE_START" = true ]; then
|
||||||
local config="$1"
|
./nodebb build --config=$CONFIG
|
||||||
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
|
|
||||||
echo "package.json was updated. Upgrading..."
|
|
||||||
/usr/src/app/nodebb upgrade --config="$config" || {
|
|
||||||
echo "Failed to build NodeBB. Exiting..."
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
elif [ "$start_build" = true ]; then
|
|
||||||
echo "Build before start is enabled. Building..."
|
|
||||||
/usr/src/app/nodebb "${NODEBB_BUILD_VERB}" --config="$config" || {
|
|
||||||
echo "Failed to build NodeBB. Exiting..."
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
else
|
|
||||||
echo "No changes in package.json. Skipping build..."
|
|
||||||
return
|
|
||||||
fi
|
fi
|
||||||
echo -n $package_hash > $CONFIG_DIR/install_hash.md5
|
./nodebb start --config=$CONFIG
|
||||||
}
|
else
|
||||||
|
echo "Config file not found at $CONFIG"
|
||||||
|
|
||||||
# Function to start forum
|
|
||||||
start_forum() {
|
|
||||||
local config="$1"
|
|
||||||
local start_build="$2"
|
|
||||||
|
|
||||||
build_forum "$config" "$start_build"
|
|
||||||
|
|
||||||
case "$PACKAGE_MANAGER" in
|
|
||||||
yarn)
|
|
||||||
yarn start --config="$config" --no-silent --no-daemon || {
|
|
||||||
echo "Failed to start forum with yarn"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
;;
|
|
||||||
npm)
|
|
||||||
npm start -- --config="$config" --no-silent --no-daemon || {
|
|
||||||
echo "Failed to start forum with npm"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
;;
|
|
||||||
pnpm)
|
|
||||||
pnpm start -- --config="$config" --no-silent --no-daemon || {
|
|
||||||
echo "Failed to start forum with pnpm"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "Unknown package manager: $PACKAGE_MANAGER"
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
# Function to start installation session
|
|
||||||
start_installation_session() {
|
|
||||||
local nodebb_init_verb="$1"
|
|
||||||
local config="$2"
|
|
||||||
|
|
||||||
echo "Config file not found at $config"
|
|
||||||
echo "Starting installation session"
|
echo "Starting installation session"
|
||||||
exec /usr/src/app/nodebb "$nodebb_init_verb" --config="$config"
|
./nodebb "${NODEBB_INIT_VERB}" --config=$CONFIG
|
||||||
}
|
fi
|
||||||
|
|
||||||
# Function for debugging and logging
|
|
||||||
debug_log() {
|
|
||||||
local message="$1"
|
|
||||||
echo "DEBUG: $message"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Main function
|
|
||||||
main() {
|
|
||||||
set_defaults
|
|
||||||
check_directory "$CONFIG_DIR"
|
|
||||||
copy_or_link_files /usr/src/app "$CONFIG_DIR" "$PACKAGE_MANAGER"
|
|
||||||
install_dependencies
|
|
||||||
|
|
||||||
debug_log "PACKAGE_MANAGER: $PACKAGE_MANAGER"
|
|
||||||
debug_log "CONFIG location: $CONFIG"
|
|
||||||
debug_log "START_BUILD: $START_BUILD"
|
|
||||||
|
|
||||||
if [ -n "$SETUP" ]; then
|
|
||||||
start_setup_session "$CONFIG"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -f "$CONFIG" ]; then
|
|
||||||
start_forum "$CONFIG" "$START_BUILD"
|
|
||||||
else
|
|
||||||
start_installation_session "$NODEBB_INIT_VERB" "$CONFIG"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Execute main function
|
|
||||||
main "$@"
|
|
||||||
@@ -1,23 +1,21 @@
|
|||||||
{
|
{
|
||||||
"defaults": {
|
"mongo": {
|
||||||
"mongo": {
|
"host": "mongo",
|
||||||
"host": "mongo",
|
"port": 27017,
|
||||||
"port": 27017,
|
"database": "nodebb",
|
||||||
"database": "nodebb",
|
"username": "nodebb",
|
||||||
"username": "nodebb",
|
"password": "nodebb"
|
||||||
"password": "nodebb"
|
},
|
||||||
},
|
"redis": {
|
||||||
"redis": {
|
"host": "redis",
|
||||||
"host": "redis",
|
"port": 6379,
|
||||||
"port": 6379,
|
"database": 0
|
||||||
"database": 0
|
},
|
||||||
},
|
"postgres": {
|
||||||
"postgres": {
|
"host": "postgres",
|
||||||
"host": "postgres",
|
"port": 5432,
|
||||||
"port": 5432,
|
"database": "nodebb",
|
||||||
"database": "nodebb",
|
"username": "nodebb",
|
||||||
"username": "nodebb",
|
"password": "nodebb"
|
||||||
"password": "nodebb"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
"name": "nodebb",
|
"name": "nodebb",
|
||||||
"license": "GPL-3.0",
|
"license": "GPL-3.0",
|
||||||
"description": "NodeBB Forum",
|
"description": "NodeBB Forum",
|
||||||
"version": "4.0.0",
|
"version": "3.5.1",
|
||||||
"homepage": "https://www.nodebb.org",
|
"homepage": "https://www.nodebb.org",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
@@ -29,129 +29,124 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@adactive/bootstrap-tagsinput": "0.8.2",
|
"@adactive/bootstrap-tagsinput": "0.8.2",
|
||||||
"@fontsource/inter": "5.1.1",
|
"@fontsource/inter": "5.0.15",
|
||||||
"@fontsource/poppins": "5.1.1",
|
"@fontsource/poppins": "5.0.8",
|
||||||
"@fortawesome/fontawesome-free": "6.7.2",
|
"@fortawesome/fontawesome-free": "6.4.2",
|
||||||
"@isaacs/ttlcache": "1.4.1",
|
"@isaacs/ttlcache": "1.4.1",
|
||||||
"@nodebb/spider-detector": "2.0.3",
|
|
||||||
"@popperjs/core": "2.11.8",
|
"@popperjs/core": "2.11.8",
|
||||||
"@resvg/resvg-js": "2.6.2",
|
"ace-builds": "1.31.2",
|
||||||
"@textcomplete/contenteditable": "0.1.13",
|
"archiver": "6.0.1",
|
||||||
"@textcomplete/core": "0.1.13",
|
"async": "3.2.5",
|
||||||
"@textcomplete/textarea": "0.1.13",
|
"autoprefixer": "10.4.16",
|
||||||
"ace-builds": "1.37.5",
|
|
||||||
"archiver": "7.0.1",
|
|
||||||
"async": "3.2.6",
|
|
||||||
"autoprefixer": "10.4.20",
|
|
||||||
"bcryptjs": "2.4.3",
|
"bcryptjs": "2.4.3",
|
||||||
"benchpressjs": "2.5.1",
|
"benchpressjs": "2.5.1",
|
||||||
"body-parser": "1.20.3",
|
"body-parser": "1.20.2",
|
||||||
"bootbox": "6.0.0",
|
"bootbox": "6.0.0",
|
||||||
"bootstrap": "5.3.3",
|
"bootstrap": "5.3.2",
|
||||||
"bootswatch": "5.3.3",
|
"bootswatch": "5.3.2",
|
||||||
"chalk": "4.1.2",
|
"chalk": "4.1.2",
|
||||||
"chart.js": "4.4.7",
|
"chart.js": "4.4.0",
|
||||||
"cli-graph": "3.2.2",
|
"cli-graph": "3.2.2",
|
||||||
"clipboard": "2.0.11",
|
"clipboard": "2.0.11",
|
||||||
"colors": "1.4.0",
|
"colors": "1.4.0",
|
||||||
"commander": "12.1.0",
|
"commander": "11.1.0",
|
||||||
"compare-versions": "6.1.1",
|
"compare-versions": "6.1.0",
|
||||||
"compression": "1.7.5",
|
"compression": "1.7.4",
|
||||||
"connect-flash": "0.1.1",
|
"connect-flash": "0.1.1",
|
||||||
"connect-mongo": "5.1.0",
|
"connect-mongo": "5.1.0",
|
||||||
"connect-multiparty": "2.2.0",
|
"connect-multiparty": "2.2.0",
|
||||||
"connect-pg-simple": "10.0.0",
|
"connect-pg-simple": "9.0.1",
|
||||||
"connect-redis": "8.0.1",
|
"connect-redis": "7.1.0",
|
||||||
"cookie-parser": "1.4.7",
|
"cookie-parser": "1.4.6",
|
||||||
"cron": "3.5.0",
|
"cron": "3.1.6",
|
||||||
"cropperjs": "1.6.2",
|
"cropperjs": "1.6.1",
|
||||||
"csrf-sync": "4.0.3",
|
"csrf-sync": "4.0.1",
|
||||||
"daemon": "1.1.0",
|
"daemon": "1.1.0",
|
||||||
"diff": "7.0.0",
|
"diff": "5.1.0",
|
||||||
"esbuild": "0.24.2",
|
"esbuild": "0.19.5",
|
||||||
"express": "4.21.2",
|
"express": "4.18.2",
|
||||||
"express-session": "1.18.1",
|
"express-session": "1.17.3",
|
||||||
"express-useragent": "1.0.15",
|
"express-useragent": "1.0.15",
|
||||||
"fetch-cookie": "3.1.0",
|
|
||||||
"file-loader": "6.2.0",
|
"file-loader": "6.2.0",
|
||||||
"fs-extra": "11.3.0",
|
"fs-extra": "11.1.1",
|
||||||
"graceful-fs": "4.2.11",
|
"graceful-fs": "4.2.11",
|
||||||
"helmet": "7.2.0",
|
"helmet": "7.1.0",
|
||||||
"html-to-text": "9.0.5",
|
"html-to-text": "9.0.5",
|
||||||
"imagesloaded": "5.0.0",
|
"imagesloaded": "5.0.0",
|
||||||
"ipaddr.js": "2.2.0",
|
"ipaddr.js": "2.1.0",
|
||||||
"jquery": "3.7.1",
|
"jquery": "3.7.1",
|
||||||
"jquery-deserialize": "2.0.0",
|
"jquery-deserialize": "2.0.0",
|
||||||
"jquery-form": "4.3.0",
|
"jquery-form": "4.3.0",
|
||||||
"jquery-serializeobject": "1.0.0",
|
"jquery-serializeobject": "1.0.0",
|
||||||
"jquery-ui": "1.14.1",
|
"jquery-ui": "1.13.2",
|
||||||
"jsesc": "3.1.0",
|
"jsesc": "3.0.2",
|
||||||
"json2csv": "5.0.7",
|
"json2csv": "5.0.7",
|
||||||
"jsonwebtoken": "9.0.2",
|
"jsonwebtoken": "9.0.2",
|
||||||
"lodash": "4.17.21",
|
"lodash": "4.17.21",
|
||||||
"logrotate-stream": "0.2.9",
|
"logrotate-stream": "0.2.9",
|
||||||
"lru-cache": "10.4.3",
|
"lru-cache": "10.0.2",
|
||||||
"mime": "3.0.0",
|
"mime": "3.0.0",
|
||||||
"mkdirp": "3.0.1",
|
"mkdirp": "3.0.1",
|
||||||
"mongodb": "6.12.0",
|
"mongodb": "6.3.0",
|
||||||
"morgan": "1.10.0",
|
"morgan": "1.10.0",
|
||||||
"mousetrap": "1.6.5",
|
"mousetrap": "1.6.5",
|
||||||
"multiparty": "4.2.3",
|
"multiparty": "4.2.3",
|
||||||
"nconf": "0.12.1",
|
"nconf": "0.12.1",
|
||||||
"nodebb-plugin-2factor": "7.5.8",
|
"nodebb-plugin-2factor": "7.4.0",
|
||||||
"nodebb-plugin-composer-default": "10.2.44",
|
"nodebb-plugin-composer-default": "10.2.27",
|
||||||
"nodebb-plugin-dbsearch": "6.2.5",
|
"nodebb-plugin-dbsearch": "6.2.3",
|
||||||
"nodebb-plugin-emoji": "6.0.1",
|
"nodebb-plugin-emoji": "5.1.13",
|
||||||
"nodebb-plugin-emoji-android": "4.1.1",
|
"nodebb-plugin-emoji-android": "4.0.0",
|
||||||
"nodebb-plugin-markdown": "13.0.0",
|
"nodebb-plugin-markdown": "12.2.5",
|
||||||
"nodebb-plugin-mentions": "4.6.10",
|
"nodebb-plugin-mentions": "4.3.7",
|
||||||
"nodebb-plugin-spam-be-gone": "2.3.0",
|
"nodebb-plugin-ntfy": "1.7.3",
|
||||||
"nodebb-plugin-web-push": "0.7.2",
|
"nodebb-plugin-spam-be-gone": "2.2.0",
|
||||||
"nodebb-rewards-essentials": "1.0.0",
|
"nodebb-rewards-essentials": "1.0.0",
|
||||||
"nodebb-theme-harmony": "2.0.0",
|
"nodebb-theme-harmony": "1.1.99",
|
||||||
"nodebb-theme-lavender": "7.1.17",
|
"nodebb-theme-lavender": "7.1.5",
|
||||||
"nodebb-theme-peace": "2.2.33",
|
"nodebb-theme-peace": "2.1.25",
|
||||||
"nodebb-theme-persona": "14.0.1",
|
"nodebb-theme-persona": "13.2.47",
|
||||||
"nodebb-widget-essentials": "7.0.32",
|
"nodebb-widget-essentials": "7.0.14",
|
||||||
"nodemailer": "6.9.16",
|
"nodemailer": "6.9.7",
|
||||||
"nprogress": "0.2.0",
|
"nprogress": "0.2.0",
|
||||||
"passport": "0.7.0",
|
"passport": "0.6.0",
|
||||||
"passport-http-bearer": "1.0.1",
|
"passport-http-bearer": "1.0.1",
|
||||||
"passport-local": "1.0.0",
|
"passport-local": "1.0.0",
|
||||||
"pg": "8.13.1",
|
"pg": "8.11.3",
|
||||||
"pg-cursor": "2.12.1",
|
"pg-cursor": "2.10.3",
|
||||||
"postcss": "8.5.1",
|
"postcss": "8.4.31",
|
||||||
"postcss-clean": "1.2.0",
|
"postcss-clean": "1.2.0",
|
||||||
"progress-webpack-plugin": "1.0.16",
|
"progress-webpack-plugin": "1.0.16",
|
||||||
"prompt": "1.3.0",
|
"prompt": "1.3.0",
|
||||||
"ioredis": "5.4.2",
|
"ioredis": "5.3.2",
|
||||||
"rimraf": "5.0.10",
|
"request": "2.88.2",
|
||||||
|
"request-promise-native": "1.0.9",
|
||||||
|
"rimraf": "5.0.5",
|
||||||
"rss": "1.2.2",
|
"rss": "1.2.2",
|
||||||
"rtlcss": "4.3.0",
|
"rtlcss": "4.1.1",
|
||||||
"sanitize-html": "2.14.0",
|
"sanitize-html": "2.11.0",
|
||||||
"sass": "1.83.4",
|
"sass": "1.69.5",
|
||||||
"satori": "0.12.1",
|
"semver": "7.5.4",
|
||||||
"semver": "7.6.3",
|
|
||||||
"serve-favicon": "2.5.0",
|
"serve-favicon": "2.5.0",
|
||||||
"sharp": "0.32.6",
|
"sharp": "0.32.6",
|
||||||
"sitemap": "8.0.0",
|
"sitemap": "7.1.1",
|
||||||
"socket.io": "4.8.1",
|
"socket.io": "4.7.2",
|
||||||
"socket.io-client": "4.8.1",
|
"socket.io-client": "4.7.2",
|
||||||
"@socket.io/redis-adapter": "8.3.0",
|
"@socket.io/redis-adapter": "8.2.1",
|
||||||
"sortablejs": "1.15.6",
|
"sortablejs": "1.15.0",
|
||||||
"spdx-license-list": "6.9.0",
|
"spdx-license-list": "6.8.0",
|
||||||
"terser-webpack-plugin": "5.3.11",
|
"spider-detector": "2.0.1",
|
||||||
|
"terser-webpack-plugin": "5.3.9",
|
||||||
"textcomplete": "0.18.2",
|
"textcomplete": "0.18.2",
|
||||||
"textcomplete.contenteditable": "0.1.1",
|
"textcomplete.contenteditable": "0.1.1",
|
||||||
"timeago": "1.6.7",
|
"timeago": "1.6.7",
|
||||||
"tinycon": "0.6.8",
|
"tinycon": "0.6.8",
|
||||||
"toobusy-js": "0.5.1",
|
"toobusy-js": "0.5.1",
|
||||||
"tough-cookie": "5.1.0",
|
"validator": "13.11.0",
|
||||||
"validator": "13.12.0",
|
"webpack": "5.89.0",
|
||||||
"webpack": "5.97.1",
|
"webpack-merge": "5.10.0",
|
||||||
"webpack-merge": "6.0.1",
|
"winston": "3.11.0",
|
||||||
"winston": "3.17.0",
|
"workerpool": "8.0.0",
|
||||||
"workerpool": "9.2.0",
|
|
||||||
"xml": "1.0.1",
|
"xml": "1.0.1",
|
||||||
"xregexp": "5.1.1",
|
"xregexp": "5.1.1",
|
||||||
"yargs": "17.7.2",
|
"yargs": "17.7.2",
|
||||||
@@ -159,25 +154,25 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@apidevtools/swagger-parser": "10.1.0",
|
"@apidevtools/swagger-parser": "10.1.0",
|
||||||
"@commitlint/cli": "19.6.1",
|
"@commitlint/cli": "18.4.2",
|
||||||
"@commitlint/config-angular": "19.7.0",
|
"@commitlint/config-angular": "18.4.2",
|
||||||
"coveralls": "3.1.1",
|
"coveralls": "3.1.1",
|
||||||
"eslint": "8.57.1",
|
"eslint": "8.54.0",
|
||||||
"eslint-config-nodebb": "0.2.1",
|
"eslint-config-nodebb": "0.2.1",
|
||||||
"eslint-plugin-import": "2.31.0",
|
"eslint-plugin-import": "2.29.0",
|
||||||
"grunt": "1.6.1",
|
"grunt": "1.6.1",
|
||||||
"grunt-contrib-watch": "1.1.0",
|
"grunt-contrib-watch": "1.1.0",
|
||||||
"husky": "8.0.3",
|
"husky": "8.0.3",
|
||||||
"jsdom": "26.0.0",
|
"jsdom": "22.1.0",
|
||||||
"lint-staged": "15.4.0",
|
"lint-staged": "15.1.0",
|
||||||
"mocha": "11.0.1",
|
"mocha": "10.2.0",
|
||||||
"mocha-lcov-reporter": "1.3.0",
|
"mocha-lcov-reporter": "1.3.0",
|
||||||
"mockdate": "3.0.5",
|
"mockdate": "3.0.5",
|
||||||
"nyc": "17.1.0",
|
"nyc": "15.1.0",
|
||||||
"smtp-server": "3.13.6"
|
"smtp-server": "3.13.0"
|
||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"sass-embedded": "1.83.4"
|
"sass-embedded": "1.69.5"
|
||||||
},
|
},
|
||||||
"resolutions": {
|
"resolutions": {
|
||||||
"*/jquery": "3.7.1"
|
"*/jquery": "3.7.1"
|
||||||
@@ -186,7 +181,7 @@
|
|||||||
"url": "https://github.com/NodeBB/NodeBB/issues"
|
"url": "https://github.com/NodeBB/NodeBB/issues"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=18"
|
"node": ">=16"
|
||||||
},
|
},
|
||||||
"maintainers": [
|
"maintainers": [
|
||||||
{
|
{
|
||||||
@@ -200,4 +195,4 @@
|
|||||||
"url": "https://github.com/barisusakli"
|
"url": "https://github.com/barisusakli"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,6 @@
|
|||||||
|
|
||||||
const winston = require('winston');
|
const winston = require('winston');
|
||||||
const express = require('express');
|
const express = require('express');
|
||||||
const session = require('express-session');
|
|
||||||
const bodyParser = require('body-parser');
|
const bodyParser = require('body-parser');
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
@@ -14,10 +13,7 @@ const nconf = require('nconf');
|
|||||||
const Benchpress = require('benchpressjs');
|
const Benchpress = require('benchpressjs');
|
||||||
const { mkdirp } = require('mkdirp');
|
const { mkdirp } = require('mkdirp');
|
||||||
const { paths } = require('../src/constants');
|
const { paths } = require('../src/constants');
|
||||||
const utils = require('../src/utils');
|
const sass = require('../src/utils').getSass();
|
||||||
|
|
||||||
const sass = utils.getSass();
|
|
||||||
const { generateToken, csrfSynchronisedProtection } = require('../src/middleware/csrf');
|
|
||||||
|
|
||||||
const app = express();
|
const app = express();
|
||||||
let server;
|
let server;
|
||||||
@@ -77,13 +73,6 @@ web.install = async function (port) {
|
|||||||
app.use(bodyParser.urlencoded({
|
app.use(bodyParser.urlencoded({
|
||||||
extended: true,
|
extended: true,
|
||||||
}));
|
}));
|
||||||
|
|
||||||
app.use(session({
|
|
||||||
secret: utils.generateUUID(),
|
|
||||||
resave: false,
|
|
||||||
saveUninitialized: false,
|
|
||||||
}));
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
await Promise.all([
|
await Promise.all([
|
||||||
compileTemplate(),
|
compileTemplate(),
|
||||||
@@ -114,8 +103,8 @@ function launchExpress(port) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function setupRoutes() {
|
function setupRoutes() {
|
||||||
app.get('/', csrfSynchronisedProtection, welcome);
|
app.get('/', welcome);
|
||||||
app.post('/', csrfSynchronisedProtection, install);
|
app.post('/', install);
|
||||||
app.get('/testdb', testDatabase);
|
app.get('/testdb', testDatabase);
|
||||||
app.get('/ping', ping);
|
app.get('/ping', ping);
|
||||||
app.get('/sping', ping);
|
app.get('/sping', ping);
|
||||||
@@ -171,7 +160,6 @@ function welcome(req, res) {
|
|||||||
minimumPasswordStrength: defaults.minimumPasswordStrength,
|
minimumPasswordStrength: defaults.minimumPasswordStrength,
|
||||||
installing: installing,
|
installing: installing,
|
||||||
percentInstalled: installing ? ((Date.now() - timeStart) / totalTime * 100).toFixed(2) : 0,
|
percentInstalled: installing ? ((Date.now() - timeStart) / totalTime * 100).toFixed(2) : 0,
|
||||||
csrf_token: generateToken(req),
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ if (!fs.existsSync(logDir)) {
|
|||||||
mkdirp.sync(path.dirname(outputLogFilePath));
|
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;
|
const silent = nconf.get('silent') === 'false' ? false : nconf.get('silent') !== false;
|
||||||
let numProcs;
|
let numProcs;
|
||||||
const workers = [];
|
const workers = [];
|
||||||
@@ -99,9 +99,7 @@ Loader.start = function () {
|
|||||||
function forkWorker(index, isPrimary) {
|
function forkWorker(index, isPrimary) {
|
||||||
const ports = getPorts();
|
const ports = getPorts();
|
||||||
const args = [];
|
const args = [];
|
||||||
if (nconf.get('max-memory')) {
|
|
||||||
args.push(`--max-old-space-size=${nconf.get('max-memory')}`);
|
|
||||||
}
|
|
||||||
if (!ports[index]) {
|
if (!ports[index]) {
|
||||||
return console.log(`[cluster] invalid port for worker : ${index} ports: ${ports.length}`);
|
return console.log(`[cluster] invalid port for worker : ${index} ports: ${ports.length}`);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,41 +0,0 @@
|
|||||||
<html>
|
|
||||||
<head>
|
|
||||||
<title>Internal Server Error</title>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
||||||
<link rel="stylesheet" type="text/css" href="/assets/5xx.css" />
|
|
||||||
|
|
||||||
<script type="text/javascript">
|
|
||||||
window.onload = function() {
|
|
||||||
let count = 0;
|
|
||||||
const bounce = document.getElementById('click-me');
|
|
||||||
bounce.onclick = function() {
|
|
||||||
count++;
|
|
||||||
bounce.className = '';
|
|
||||||
setTimeout(function() {
|
|
||||||
bounce.className = 'animated bounce';
|
|
||||||
}, 50);
|
|
||||||
|
|
||||||
if (count > 5) {
|
|
||||||
document.getElementById('hide').className = '';
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div class="wrapper">
|
|
||||||
<div class="center">
|
|
||||||
<h1 id="click-me" class="animated bounce">500</h1>
|
|
||||||
<p>
|
|
||||||
<strong>Internal server error. </strong>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
{message}
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<small id="hide" class="hide">Alright. You can stop clicking... it's not going to make the site come back sooner!</small>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
141
public/503.html
141
public/503.html
@@ -2,12 +2,147 @@
|
|||||||
<head>
|
<head>
|
||||||
<title>Excessive Load Warning</title>
|
<title>Excessive Load Warning</title>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
<link rel="stylesheet" type="text/css" href="/assets/5xx.css" />
|
<style type="text/css">
|
||||||
|
body {
|
||||||
|
background: #00A9EA;
|
||||||
|
color: white;
|
||||||
|
font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
||||||
|
text-align: center;
|
||||||
|
-webkit-transform-style: preserve-3d;
|
||||||
|
-moz-transform-style: preserve-3d;
|
||||||
|
transform-style: preserve-3d;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
font-size: 250px;
|
||||||
|
color: #fff;
|
||||||
|
opacity: 0.5;
|
||||||
|
margin: 10px;
|
||||||
|
cursor: pointer;
|
||||||
|
-moz-user-select: none;
|
||||||
|
-khtml-user-select: none;
|
||||||
|
-webkit-user-select: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
font-size: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
p strong {
|
||||||
|
font-size: 28px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 640px) {
|
||||||
|
h1 {
|
||||||
|
font-size: 125px;
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
p strong {
|
||||||
|
font-size: 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.center {
|
||||||
|
position: relative;
|
||||||
|
top: 50%;
|
||||||
|
-webkit-transform: translateY(50%);
|
||||||
|
-ms-transform: translateY(50%);
|
||||||
|
transform: translateY(50%);
|
||||||
|
}
|
||||||
|
|
||||||
|
@-webkit-keyframes bounce {
|
||||||
|
0%, 20%, 53%, 80%, 100% {
|
||||||
|
-webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
||||||
|
transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
||||||
|
-webkit-transform: translate3d(0,0,0);
|
||||||
|
transform: translate3d(0,0,0);
|
||||||
|
}
|
||||||
|
|
||||||
|
40%, 43% {
|
||||||
|
-webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
|
||||||
|
transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
|
||||||
|
-webkit-transform: translate3d(0, -30px, 0);
|
||||||
|
transform: translate3d(0, -30px, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
70% {
|
||||||
|
-webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
|
||||||
|
transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
|
||||||
|
-webkit-transform: translate3d(0, -15px, 0);
|
||||||
|
transform: translate3d(0, -15px, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
90% {
|
||||||
|
-webkit-transform: translate3d(0,-4px,0);
|
||||||
|
transform: translate3d(0,-4px,0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes bounce {
|
||||||
|
0%, 20%, 53%, 80%, 100% {
|
||||||
|
-webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
||||||
|
transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
||||||
|
-webkit-transform: translate3d(0,0,0);
|
||||||
|
transform: translate3d(0,0,0);
|
||||||
|
}
|
||||||
|
|
||||||
|
40%, 43% {
|
||||||
|
-webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
|
||||||
|
transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
|
||||||
|
-webkit-transform: translate3d(0, -30px, 0);
|
||||||
|
transform: translate3d(0, -30px, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
70% {
|
||||||
|
-webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
|
||||||
|
transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
|
||||||
|
-webkit-transform: translate3d(0, -15px, 0);
|
||||||
|
transform: translate3d(0, -15px, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
90% {
|
||||||
|
-webkit-transform: translate3d(0,-4px,0);
|
||||||
|
transform: translate3d(0,-4px,0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.bounce {
|
||||||
|
-webkit-animation-name: bounce;
|
||||||
|
animation-name: bounce;
|
||||||
|
-webkit-transform-origin: center bottom;
|
||||||
|
-ms-transform-origin: center bottom;
|
||||||
|
transform-origin: center bottom;
|
||||||
|
}
|
||||||
|
|
||||||
|
.animated {
|
||||||
|
-webkit-animation-duration: 1s;
|
||||||
|
animation-duration: 1s;
|
||||||
|
-webkit-animation-fill-mode: both;
|
||||||
|
animation-fill-mode: both;
|
||||||
|
}
|
||||||
|
|
||||||
|
.animated.infinite {
|
||||||
|
-webkit-animation-iteration-count: infinite;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
.animated.hinge {
|
||||||
|
-webkit-animation-duration: 2s;
|
||||||
|
animation-duration: 2s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hide {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
window.onload = function() {
|
window.onload = function() {
|
||||||
let count = 0;
|
var count = 0,
|
||||||
const bounce = document.getElementById('click-me');
|
bounce = document.getElementById('click-me');
|
||||||
bounce.onclick = function() {
|
bounce.onclick = function() {
|
||||||
count++;
|
count++;
|
||||||
bounce.className = '';
|
bounce.className = '';
|
||||||
|
|||||||
135
public/5xx.css
135
public/5xx.css
@@ -1,135 +0,0 @@
|
|||||||
body {
|
|
||||||
background: #00A9EA;
|
|
||||||
color: white;
|
|
||||||
font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
|
||||||
text-align: center;
|
|
||||||
-webkit-transform-style: preserve-3d;
|
|
||||||
-moz-transform-style: preserve-3d;
|
|
||||||
transform-style: preserve-3d;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1 {
|
|
||||||
font-size: 250px;
|
|
||||||
color: #fff;
|
|
||||||
opacity: 0.5;
|
|
||||||
margin: 10px;
|
|
||||||
cursor: pointer;
|
|
||||||
-moz-user-select: none;
|
|
||||||
-khtml-user-select: none;
|
|
||||||
-webkit-user-select: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
p {
|
|
||||||
font-size: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
p strong {
|
|
||||||
font-size: 28px;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 640px) {
|
|
||||||
h1 {
|
|
||||||
font-size: 125px;
|
|
||||||
}
|
|
||||||
|
|
||||||
p {
|
|
||||||
font-size: 16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
p strong {
|
|
||||||
font-size: 20px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.center {
|
|
||||||
position: relative;
|
|
||||||
top: 50%;
|
|
||||||
-webkit-transform: translateY(50%);
|
|
||||||
-ms-transform: translateY(50%);
|
|
||||||
transform: translateY(50%);
|
|
||||||
}
|
|
||||||
|
|
||||||
@-webkit-keyframes bounce {
|
|
||||||
0%, 20%, 53%, 80%, 100% {
|
|
||||||
-webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
|
||||||
transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
|
||||||
-webkit-transform: translate3d(0,0,0);
|
|
||||||
transform: translate3d(0,0,0);
|
|
||||||
}
|
|
||||||
|
|
||||||
40%, 43% {
|
|
||||||
-webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
|
|
||||||
transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
|
|
||||||
-webkit-transform: translate3d(0, -30px, 0);
|
|
||||||
transform: translate3d(0, -30px, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
70% {
|
|
||||||
-webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
|
|
||||||
transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
|
|
||||||
-webkit-transform: translate3d(0, -15px, 0);
|
|
||||||
transform: translate3d(0, -15px, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
90% {
|
|
||||||
-webkit-transform: translate3d(0,-4px,0);
|
|
||||||
transform: translate3d(0,-4px,0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes bounce {
|
|
||||||
0%, 20%, 53%, 80%, 100% {
|
|
||||||
-webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
|
||||||
transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
|
||||||
-webkit-transform: translate3d(0,0,0);
|
|
||||||
transform: translate3d(0,0,0);
|
|
||||||
}
|
|
||||||
|
|
||||||
40%, 43% {
|
|
||||||
-webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
|
|
||||||
transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
|
|
||||||
-webkit-transform: translate3d(0, -30px, 0);
|
|
||||||
transform: translate3d(0, -30px, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
70% {
|
|
||||||
-webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
|
|
||||||
transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
|
|
||||||
-webkit-transform: translate3d(0, -15px, 0);
|
|
||||||
transform: translate3d(0, -15px, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
90% {
|
|
||||||
-webkit-transform: translate3d(0,-4px,0);
|
|
||||||
transform: translate3d(0,-4px,0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.bounce {
|
|
||||||
-webkit-animation-name: bounce;
|
|
||||||
animation-name: bounce;
|
|
||||||
-webkit-transform-origin: center bottom;
|
|
||||||
-ms-transform-origin: center bottom;
|
|
||||||
transform-origin: center bottom;
|
|
||||||
}
|
|
||||||
|
|
||||||
.animated {
|
|
||||||
-webkit-animation-duration: 1s;
|
|
||||||
animation-duration: 1s;
|
|
||||||
-webkit-animation-fill-mode: both;
|
|
||||||
animation-fill-mode: both;
|
|
||||||
}
|
|
||||||
|
|
||||||
.animated.infinite {
|
|
||||||
-webkit-animation-iteration-count: infinite;
|
|
||||||
animation-iteration-count: infinite;
|
|
||||||
}
|
|
||||||
|
|
||||||
.animated.hinge {
|
|
||||||
-webkit-animation-duration: 2s;
|
|
||||||
animation-duration: 2s;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hide {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
@@ -9,9 +9,5 @@
|
|||||||
"filter-type": "نوع الحدث",
|
"filter-type": "نوع الحدث",
|
||||||
"filter-start": "تاريخ البدء",
|
"filter-start": "تاريخ البدء",
|
||||||
"filter-end": "تاريخ الانتهاء",
|
"filter-end": "تاريخ الانتهاء",
|
||||||
"filter-user": "Filter by User",
|
|
||||||
"filter-user.placeholder": "قم بكتابة اسم مستخدم للتصفية...",
|
|
||||||
"filter-group": "Filter by Group",
|
|
||||||
"filter-group.placeholder": "قم بكتابة اسم مجموعة للتصفية...",
|
|
||||||
"filter-per-page": "لكل صفحة"
|
"filter-per-page": "لكل صفحة"
|
||||||
}
|
}
|
||||||
@@ -94,8 +94,5 @@
|
|||||||
"view-as-json": "View as JSON",
|
"view-as-json": "View as JSON",
|
||||||
"expand-analytics": "Expand analytics",
|
"expand-analytics": "Expand analytics",
|
||||||
"clear-search-history": "Clear Search History",
|
"clear-search-history": "Clear Search History",
|
||||||
"clear-search-history-confirm": "Are you sure you want to clear entire search history?",
|
"clear-search-history-confirm": "Are you sure you want to clear entire search history?"
|
||||||
"search-term": "Term",
|
|
||||||
"search-count": "Count",
|
|
||||||
"view-all": "View all"
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
"ip": "رقم الآي بي <strong> %1 </strong>",
|
"ip": "رقم الآي بي <strong> %1 </strong>",
|
||||||
"nodes-responded": "عدد %1 نقطة/نقاط استجابوا خلال %2 جزء من الثانية.",
|
"nodes-responded": "عدد %1 نقطة/نقاط استجابوا خلال %2 جزء من الثانية.",
|
||||||
"host": "المضيف",
|
"host": "المضيف",
|
||||||
"primary": "primary / jobs",
|
"primary": "primary / run jobs",
|
||||||
"pid": "pid",
|
"pid": "pid",
|
||||||
"nodejs": "nodejs",
|
"nodejs": "nodejs",
|
||||||
"online": "online",
|
"online": "online",
|
||||||
@@ -19,7 +19,6 @@
|
|||||||
|
|
||||||
"registered": "Registered",
|
"registered": "Registered",
|
||||||
"sockets": "Sockets",
|
"sockets": "Sockets",
|
||||||
"connection-count": "Connection Count",
|
|
||||||
"guests": "Guests",
|
"guests": "Guests",
|
||||||
|
|
||||||
"info": "Info"
|
"info": "Info"
|
||||||
|
|||||||
@@ -12,8 +12,6 @@
|
|||||||
"container.card": "Card",
|
"container.card": "Card",
|
||||||
"container.card-header": "Card Header",
|
"container.card-header": "Card Header",
|
||||||
"container.card-body": "Card Body",
|
"container.card-body": "Card Body",
|
||||||
"container.title": "Title",
|
|
||||||
"container.body": "Body",
|
|
||||||
"container.alert": "Alert",
|
"container.alert": "Alert",
|
||||||
|
|
||||||
"alert.confirm-delete": "Are you sure you wish to delete this widget?",
|
"alert.confirm-delete": "Are you sure you wish to delete this widget?",
|
||||||
|
|||||||
@@ -7,8 +7,6 @@
|
|||||||
"privileges": "الصلاحيات",
|
"privileges": "الصلاحيات",
|
||||||
"back-to-categories": "Back to categories",
|
"back-to-categories": "Back to categories",
|
||||||
"name": "Category Name",
|
"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",
|
"description": "Category Description",
|
||||||
"bg-color": "Background Colour",
|
"bg-color": "Background Colour",
|
||||||
"text-color": "Text Colour",
|
"text-color": "Text Colour",
|
||||||
@@ -39,7 +37,6 @@
|
|||||||
"disable": "Disable",
|
"disable": "Disable",
|
||||||
"edit": "Edit",
|
"edit": "Edit",
|
||||||
"analytics": "Analytics",
|
"analytics": "Analytics",
|
||||||
"federation": "Federation",
|
|
||||||
|
|
||||||
"view-category": "View category",
|
"view-category": "View category",
|
||||||
"set-order": "Set order",
|
"set-order": "Set order",
|
||||||
@@ -79,22 +76,6 @@
|
|||||||
"analytics.topics-daily": "<strong>Figure 3</strong> – Daily topics created in this category</small>",
|
"analytics.topics-daily": "<strong>Figure 3</strong> – Daily topics created in this category</small>",
|
||||||
"analytics.posts-daily": "<strong>Figure 4</strong> – Daily posts made in this category</small>",
|
"analytics.posts-daily": "<strong>Figure 4</strong> – 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 →",
|
|
||||||
"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.",
|
|
||||||
|
|
||||||
"alert.created": "Created",
|
"alert.created": "Created",
|
||||||
"alert.create-success": "Category successfully created!",
|
"alert.create-success": "Category successfully created!",
|
||||||
"alert.none-active": "You have no active categories.",
|
"alert.none-active": "You have no active categories.",
|
||||||
|
|||||||
@@ -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"
|
|
||||||
}
|
|
||||||
@@ -22,7 +22,6 @@
|
|||||||
"delete-content": "Delete User(s) <strong>Content</strong>",
|
"delete-content": "Delete User(s) <strong>Content</strong>",
|
||||||
"purge": "Delete <strong>User(s)</strong> and <strong>Content</strong>",
|
"purge": "Delete <strong>User(s)</strong> and <strong>Content</strong>",
|
||||||
"download-csv": "Download CSV",
|
"download-csv": "Download CSV",
|
||||||
"custom-user-fields": "Custom User Fields",
|
|
||||||
"manage-groups": "Manage Groups",
|
"manage-groups": "Manage Groups",
|
||||||
"set-reputation": "Set Reputation",
|
"set-reputation": "Set Reputation",
|
||||||
"add-group": "Add Group",
|
"add-group": "Add Group",
|
||||||
@@ -122,28 +121,6 @@
|
|||||||
"alerts.email-sent-to": "An invitation email has been sent to %1",
|
"alerts.email-sent-to": "An invitation email has been sent to %1",
|
||||||
"alerts.x-users-found": "%1 user(s) found, (%2 seconds)",
|
"alerts.x-users-found": "%1 user(s) found, (%2 seconds)",
|
||||||
"alerts.select-a-single-user-to-change-email": "Select a single user to change email",
|
"alerts.select-a-single-user-to-change-email": "Select a single user to change email",
|
||||||
"export": "Export",
|
|
||||||
"export-users-fields-title": "Select CSV Fields",
|
|
||||||
"export-field-email": "Email",
|
|
||||||
"export-field-username": "Username",
|
|
||||||
"export-field-uid": "UID",
|
|
||||||
"export-field-ip": "IP",
|
|
||||||
"export-field-joindate": "Join date",
|
|
||||||
"export-field-lastonline": "Last Online",
|
|
||||||
"export-field-lastposttime": "Last Post Time",
|
|
||||||
"export-field-reputation": "Reputation",
|
|
||||||
"export-field-postcount": "Post Count",
|
|
||||||
"export-field-topiccount": "Topic Count",
|
|
||||||
"export-field-profileviews": "Profile Views",
|
|
||||||
"export-field-followercount": "Follower Count",
|
|
||||||
"export-field-followingcount": "Following Count",
|
|
||||||
"export-field-fullname": "Full Name",
|
|
||||||
"export-field-website": "Website",
|
|
||||||
"export-field-location": "Location",
|
|
||||||
"export-field-birthday": "Birthday",
|
|
||||||
"export-field-signature": "Signature",
|
|
||||||
"export-field-aboutme": "About Me",
|
|
||||||
|
|
||||||
"export-users-started": "Exporting users as csv, this might take a while. You will receive a notification when it is complete.",
|
"export-users-started": "Exporting users as csv, this might take a while. You will receive a notification when it is complete.",
|
||||||
"export-users-completed": "Users exported as csv, click here to download.",
|
"export-users-completed": "Users exported as csv, click here to download.",
|
||||||
"email": "Email",
|
"email": "Email",
|
||||||
|
|||||||
@@ -38,7 +38,6 @@
|
|||||||
"settings/tags": "الكلمات المفتاحية",
|
"settings/tags": "الكلمات المفتاحية",
|
||||||
"settings/notifications": "التنبيهات",
|
"settings/notifications": "التنبيهات",
|
||||||
"settings/api": "API Access",
|
"settings/api": "API Access",
|
||||||
"settings/activitypub": "Federation (ActivityPub)",
|
|
||||||
"settings/sounds": "Sounds",
|
"settings/sounds": "Sounds",
|
||||||
"settings/social": "Social",
|
"settings/social": "Social",
|
||||||
"settings/cookies": "Cookies",
|
"settings/cookies": "Cookies",
|
||||||
|
|||||||
@@ -1,26 +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.",
|
|
||||||
|
|
||||||
"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"
|
|
||||||
}
|
|
||||||
@@ -15,7 +15,7 @@
|
|||||||
"title-layout": "Title Layout",
|
"title-layout": "Title Layout",
|
||||||
"title-layout-help": "Define how the browser title will be structured ie. {pageTitle} | {browserTitle}",
|
"title-layout-help": "Define how the browser title will be structured ie. {pageTitle} | {browserTitle}",
|
||||||
"description.placeholder": "A short description about your community",
|
"description.placeholder": "A short description about your community",
|
||||||
"description": "Choose what page is shown when users navigate to the root URL of your forum.",
|
"description": "وصف الموقع",
|
||||||
"keywords": "الكلمات الدليله للموقع",
|
"keywords": "الكلمات الدليله للموقع",
|
||||||
"keywords-placeholder": "Keywords describing your community, comma-separated",
|
"keywords-placeholder": "Keywords describing your community, comma-separated",
|
||||||
"logo-and-icons": "Site Logo & Icons",
|
"logo-and-icons": "Site Logo & Icons",
|
||||||
@@ -48,15 +48,5 @@
|
|||||||
"background-color-help": "Color used for splash screen background when website is installed as a PWA",
|
"background-color-help": "Color used for splash screen background when website is installed as a PWA",
|
||||||
"undo-timeout": "Undo Timeout",
|
"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.",
|
"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",
|
"topic-tools": "Topic Tools"
|
||||||
"home-page": "Home Page",
|
}
|
||||||
"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\")",
|
|
||||||
"default-language": "اللغة الافتراضية",
|
|
||||||
"auto-detect": "الكشف عن إعدادات اللغة للزوار بشكل آلي",
|
|
||||||
"default-language-help": "تُحدد اللغة الافتراضية إعدادات اللغة لجميع المستخدمين الذين يزورون المنتدى. <br />يمكن للأعضاء تجاوز اللغة الافتراضية من خلال صفحة إعدادات الحساب الخاصة بهم.",
|
|
||||||
"post-sharing": "Post Sharing",
|
|
||||||
"info-plugins-additional": "Plugins can add additional networks for sharing posts."
|
|
||||||
}
|
|
||||||
|
|||||||
8
public/language/ar/admin/settings/guest.json
Normal file
8
public/language/ar/admin/settings/guest.json
Normal 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"
|
||||||
|
}
|
||||||
8
public/language/ar/admin/settings/homepage.json
Normal file
8
public/language/ar/admin/settings/homepage.json
Normal 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\")"
|
||||||
|
}
|
||||||
6
public/language/ar/admin/settings/languages.json
Normal file
6
public/language/ar/admin/settings/languages.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"language-settings": "اعدادات اللغة",
|
||||||
|
"description": "تُحدد اللغة الافتراضية إعدادات اللغة لجميع المستخدمين الذين يزورون المنتدى. <br />يمكن للأعضاء تجاوز اللغة الافتراضية من خلال صفحة إعدادات الحساب الخاصة بهم.",
|
||||||
|
"default-language": "اللغة الافتراضية",
|
||||||
|
"auto-detect": "الكشف عن إعدادات اللغة للزوار بشكل آلي"
|
||||||
|
}
|
||||||
@@ -10,7 +10,7 @@
|
|||||||
"id": "ID: <small>optional</small>",
|
"id": "ID: <small>optional</small>",
|
||||||
|
|
||||||
"properties": "Properties:",
|
"properties": "Properties:",
|
||||||
"show-to-groups": "Show to Groups:",
|
"groups": "Groups:",
|
||||||
"open-new-window": "Open in a new window",
|
"open-new-window": "Open in a new window",
|
||||||
"dropdown": "Dropdown",
|
"dropdown": "Dropdown",
|
||||||
"dropdown-placeholder": "Place your dropdown menu items below, ie: <br/><li><a class="dropdown-item" href="https://myforum.com">Link 1</a></li>",
|
"dropdown-placeholder": "Place your dropdown menu items below, ie: <br/><li><a class="dropdown-item" href="https://myforum.com">Link 1</a></li>",
|
||||||
|
|||||||
@@ -4,11 +4,8 @@
|
|||||||
"sorting.post-default": "Default Post Sorting",
|
"sorting.post-default": "Default Post Sorting",
|
||||||
"sorting.oldest-to-newest": "Oldest to Newest",
|
"sorting.oldest-to-newest": "Oldest to Newest",
|
||||||
"sorting.newest-to-oldest": "Newest to Oldest",
|
"sorting.newest-to-oldest": "Newest to Oldest",
|
||||||
"sorting.recently-replied": "Recently Replied",
|
|
||||||
"sorting.recently-created": "Recently Created",
|
|
||||||
"sorting.most-votes": "Most Votes",
|
"sorting.most-votes": "Most Votes",
|
||||||
"sorting.most-posts": "Most Posts",
|
"sorting.most-posts": "Most Posts",
|
||||||
"sorting.most-views": "Most Views",
|
|
||||||
"sorting.topic-default": "Default Topic Sorting",
|
"sorting.topic-default": "Default Topic Sorting",
|
||||||
"length": "Post Length",
|
"length": "Post Length",
|
||||||
"post-queue": "Post Queue",
|
"post-queue": "Post Queue",
|
||||||
|
|||||||
@@ -2,14 +2,7 @@
|
|||||||
"reputation": "Reputation Settings",
|
"reputation": "Reputation Settings",
|
||||||
"disable": "Disable Reputation System",
|
"disable": "Disable Reputation System",
|
||||||
"disable-down-voting": "Disable Down Voting",
|
"disable-down-voting": "Disable Down Voting",
|
||||||
"upvote-visibility": "Up Vote visibility",
|
"votes-are-public": "All Votes Are Public",
|
||||||
"upvote-visibility-all": "Everyone can see up votes",
|
|
||||||
"upvote-visibility-loggedin": "Only logged in users can see up votes",
|
|
||||||
"upvote-visibility-privileged": "Only privileged users like admins & moderators can see up votes",
|
|
||||||
"downvote-visibility": "Down Vote visibility",
|
|
||||||
"downvote-visibility-all": "Everyone can see down votes",
|
|
||||||
"downvote-visibility-loggedin": "Only logged in users can see down votes",
|
|
||||||
"downvote-visibility-privileged": "Only privileged users like admins & moderators can see down votes",
|
|
||||||
"thresholds": "Activity Thresholds",
|
"thresholds": "Activity Thresholds",
|
||||||
"min-rep-upvote": "Minimum reputation to upvote posts",
|
"min-rep-upvote": "Minimum reputation to upvote posts",
|
||||||
"upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)",
|
"upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)",
|
||||||
@@ -20,6 +13,7 @@
|
|||||||
"min-rep-chat": "Minimum reputation to send chat messages",
|
"min-rep-chat": "Minimum reputation to send chat messages",
|
||||||
"min-rep-post-links": "Minimum reputation to post links",
|
"min-rep-post-links": "Minimum reputation to post links",
|
||||||
"min-rep-flag": "Minimum reputation to flag posts",
|
"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-aboutme": "Minimum reputation to add \"About me\" to user profile",
|
||||||
"min-rep-signature": "Minimum reputation to add \"Signature\" 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",
|
"min-rep-profile-picture": "Minimum reputation to add \"Profile Picture\" to user profile",
|
||||||
@@ -29,12 +23,7 @@
|
|||||||
"flags.limit-per-target": "Maximum number of times something can be flagged",
|
"flags.limit-per-target": "Maximum number of times something can be flagged",
|
||||||
"flags.limit-per-target-placeholder": "Default: 0",
|
"flags.limit-per-target-placeholder": "Default: 0",
|
||||||
"flags.limit-per-target-help": "When a post or user is flagged multiple times, each additional flag is considered a "report" and added to the original flag. Set this option to a number other than zero to limit the number of reports an item can receive.",
|
"flags.limit-per-target-help": "When a post or user is flagged multiple times, each additional flag is considered a "report" and added to the original flag. Set this option to a number other than zero to limit the number of reports an item can receive.",
|
||||||
"flags.limit-post-flags-per-day": "Maximum number of times a user can flag posts in a day",
|
"flags.auto-flag-on-downvote-threshold": "Number of downvotes to auto flag posts (Set to 0 to disable, default: 0)",
|
||||||
"flags.limit-post-flags-per-day-help": "Set to 0 to disable, (default: 10)",
|
|
||||||
"flags.limit-user-flags-per-day": "Maximum number of times a user can flag users in a day",
|
|
||||||
"flags.limit-user-flags-per-day-help": "Set to 0 to disable, (default: 10)",
|
|
||||||
"flags.auto-flag-on-downvote-threshold": "Number of downvotes to auto flag posts",
|
|
||||||
"flags.auto-flag-on-downvote-threshold-help": "Set to 0 to disable, (default: 0)",
|
|
||||||
"flags.auto-resolve-on-ban": "Automatically resolve all of a user's tickets when they are banned",
|
"flags.auto-resolve-on-ban": "Automatically resolve all of a user's tickets when they are banned",
|
||||||
"flags.action-on-resolve": "Do the following when a flag is resolved",
|
"flags.action-on-resolve": "Do the following when a flag is resolved",
|
||||||
"flags.action-on-reject": "Do the following when a flag is rejected",
|
"flags.action-on-reject": "Do the following when a flag is rejected",
|
||||||
|
|||||||
4
public/language/ar/admin/settings/social.json
Normal file
4
public/language/ar/admin/settings/social.json
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"post-sharing": "Post Sharing",
|
||||||
|
"info-plugins-additional": "Plugins can add additional networks for sharing posts."
|
||||||
|
}
|
||||||
@@ -9,10 +9,9 @@
|
|||||||
"private-extensions": "File extensions to make private",
|
"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.",
|
"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": "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": "Resize images down to specified width",
|
||||||
"resize-image-width-help": "(in pixels, default: 760 pixels, set to 0 to disable)",
|
"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": "Quality to use when resizing images",
|
||||||
"resize-image-quality-help": "Use a lower quality setting to reduce the file size of resized images.",
|
"resize-image-quality-help": "Use a lower quality setting to reduce the file size of resized images.",
|
||||||
"max-file-size": "الحد الأقصى لحجم الملف (بالكيبيبايت)",
|
"max-file-size": "الحد الأقصى لحجم الملف (بالكيبيبايت)",
|
||||||
|
|||||||
@@ -88,10 +88,5 @@
|
|||||||
"restrictions.seconds-before-new": "Seconds before a new user can make their first post",
|
"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.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.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",
|
"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"
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,9 +0,0 @@
|
|||||||
{
|
|
||||||
"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"
|
|
||||||
}
|
|
||||||
@@ -32,7 +32,7 @@
|
|||||||
"folder-exists": "Folder exists",
|
"folder-exists": "Folder exists",
|
||||||
"invalid-pagination-value": "رقم الصفحة غير صحيح ، يجب أن يكون بين %1 و %2 .",
|
"invalid-pagination-value": "رقم الصفحة غير صحيح ، يجب أن يكون بين %1 و %2 .",
|
||||||
"username-taken": "اسم المستخدم مأخوذ",
|
"username-taken": "اسم المستخدم مأخوذ",
|
||||||
"email-taken": "Email address is already taken.",
|
"email-taken": "البريد الالكتروني مأخوذ",
|
||||||
"email-nochange": "The email entered is the same as the email already on file.",
|
"email-nochange": "The email entered is the same as the email already on file.",
|
||||||
"email-invited": "Email was already invited",
|
"email-invited": "Email was already invited",
|
||||||
"email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.",
|
"email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.",
|
||||||
@@ -153,7 +153,6 @@
|
|||||||
"about-me-too-long": "نأسف، ( عني ) لا يمكن أن يكون أكثر من %1 حرف.",
|
"about-me-too-long": "نأسف، ( عني ) لا يمكن أن يكون أكثر من %1 حرف.",
|
||||||
"cant-chat-with-yourself": "لايمكنك فتح محادثة مع نفسك",
|
"cant-chat-with-yourself": "لايمكنك فتح محادثة مع نفسك",
|
||||||
"chat-restricted": "هذا المستخدم عطل المحادثات الواردة عليه. يجب أن يتبعك حتى تتمكن من فتح محادثة معه.",
|
"chat-restricted": "هذا المستخدم عطل المحادثات الواردة عليه. يجب أن يتبعك حتى تتمكن من فتح محادثة معه.",
|
||||||
"chat-user-blocked": "You have been blocked by this user.",
|
|
||||||
"chat-disabled": "نظام المحادثة معطل.",
|
"chat-disabled": "نظام المحادثة معطل.",
|
||||||
"too-many-messages": "لقد أرسلت الكثير من الرسائل، الرجاء اﻹنتظار قليلاً",
|
"too-many-messages": "لقد أرسلت الكثير من الرسائل، الرجاء اﻹنتظار قليلاً",
|
||||||
"invalid-chat-message": "الرسالة غير صالحة.",
|
"invalid-chat-message": "الرسالة غير صالحة.",
|
||||||
@@ -181,20 +180,10 @@
|
|||||||
"not-enough-reputation-min-rep-signature": "You need %1 reputation to add a signature",
|
"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-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-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",
|
"post-already-flagged": "You have already flagged this post",
|
||||||
"user-already-flagged": "You have already flagged this user",
|
"user-already-flagged": "You have already flagged this user",
|
||||||
"post-flagged-too-many-times": "This post has been flagged by others already",
|
"post-flagged-too-many-times": "This post has been flagged by others already",
|
||||||
"user-flagged-too-many-times": "This user has been flagged by others already",
|
"user-flagged-too-many-times": "This user has been flagged by others already",
|
||||||
"too-many-post-flags-per-day": "You can only flag %1 post(s) per day",
|
|
||||||
"too-many-user-flags-per-day": "You can only flag %1 user(s) per day",
|
|
||||||
"cant-flag-privileged": "You are not allowed to flag the profiles or content of privileged users (moderators/global moderators/admins)",
|
"cant-flag-privileged": "You are not allowed to flag the profiles or content of privileged users (moderators/global moderators/admins)",
|
||||||
"cant-locate-flag-report": "Cannot locate flag report",
|
"cant-locate-flag-report": "Cannot locate flag report",
|
||||||
"self-vote": "You cannot vote on your own post",
|
"self-vote": "You cannot vote on your own post",
|
||||||
@@ -230,12 +219,10 @@
|
|||||||
"already-unblocked": "This user is already unblocked",
|
"already-unblocked": "This user is already unblocked",
|
||||||
"no-connection": "There seems to be a problem with your internet connection",
|
"no-connection": "There seems to be a problem with your internet connection",
|
||||||
"socket-reconnect-failed": "Unable to reach the server at this time. Click here to try again, or try again later",
|
"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 – only plugins whitelisted by the NodeBB Package Manager can be installed via the ACP",
|
"plugin-not-whitelisted": "Unable to install plugin – only plugins whitelisted by the NodeBB Package Manager can be installed via the ACP",
|
||||||
"plugins-set-in-configuration": "You are not allowed to change plugin state as they are defined at runtime (config.json, environmental variables or terminal arguments), please modify the configuration instead.",
|
"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",
|
"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",
|
"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-child-as-parent": "Can't set child as parent category",
|
||||||
"cant-set-self-as-parent": "Can't set self 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",
|
"api.master-token-no-uid": "A master token was received without a corresponding `_uid` in the request body",
|
||||||
@@ -248,12 +235,5 @@
|
|||||||
"api.500": "An unexpected error was encountered while attempting to service your request.",
|
"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.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.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.",
|
"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"
|
|
||||||
}
|
}
|
||||||
@@ -84,18 +84,12 @@
|
|||||||
"modal-reason-offensive": "Offensive",
|
"modal-reason-offensive": "Offensive",
|
||||||
"modal-reason-other": "Other (specify below)",
|
"modal-reason-other": "Other (specify below)",
|
||||||
"modal-reason-custom": "Reason for reporting this content...",
|
"modal-reason-custom": "Reason for reporting this content...",
|
||||||
"modal-notify-remote": "Forward this report to %1",
|
|
||||||
"modal-submit": "Submit Report",
|
"modal-submit": "Submit Report",
|
||||||
"modal-submit-success": "Content has been flagged for moderation.",
|
"modal-submit-success": "Content has been flagged for moderation.",
|
||||||
|
|
||||||
"modal-confirm-rescind": "Rescind Report?",
|
|
||||||
|
|
||||||
"bulk-actions": "Bulk Actions",
|
"bulk-actions": "Bulk Actions",
|
||||||
"bulk-resolve": "Resolve Flag(s)",
|
"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",
|
"bulk-success": "%1 flags updated",
|
||||||
"flagged-timeago": "Flagged <span class=\"timeago\" title=\"%1\"></span>",
|
"flagged-timeago-readable": "Flagged <span class=\"timeago\" title=\"%1\"></span> (%2)",
|
||||||
"auto-flagged": "[Auto Flagged] Received %1 downvotes."
|
"auto-flagged": "[Auto Flagged] Received %1 downvotes."
|
||||||
}
|
}
|
||||||
@@ -24,15 +24,8 @@
|
|||||||
"cancel": "Cancel",
|
"cancel": "Cancel",
|
||||||
"close": "أغلق",
|
"close": "أغلق",
|
||||||
"pagination": "الصفحات",
|
"pagination": "الصفحات",
|
||||||
"pagination.previouspage": "Previous Page",
|
|
||||||
"pagination.nextpage": "Next Page",
|
|
||||||
"pagination.firstpage": "First Page",
|
|
||||||
"pagination.lastpage": "Last Page",
|
|
||||||
"pagination.out-of": "%1 من %2",
|
"pagination.out-of": "%1 من %2",
|
||||||
"pagination.enter-index": "Go to post index",
|
"pagination.enter-index": "Go to post index",
|
||||||
"pagination.go-to-page": "Go to page",
|
|
||||||
"pagination.page-x": "Page %1",
|
|
||||||
"header.brand-logo": "Brand Logo",
|
|
||||||
"header.admin": "مدير النظام",
|
"header.admin": "مدير النظام",
|
||||||
"header.categories": "الأقسام",
|
"header.categories": "الأقسام",
|
||||||
"header.recent": "حديث",
|
"header.recent": "حديث",
|
||||||
@@ -50,11 +43,12 @@
|
|||||||
"header.navigation": "الاستكشاف",
|
"header.navigation": "الاستكشاف",
|
||||||
"header.manage": "Manage",
|
"header.manage": "Manage",
|
||||||
"header.drafts": "Drafts",
|
"header.drafts": "Drafts",
|
||||||
"header.world": "World",
|
|
||||||
"notifications.loading": "تحميل التنبيهات",
|
"notifications.loading": "تحميل التنبيهات",
|
||||||
"chats.loading": "تحميل الدردشات",
|
"chats.loading": "تحميل الدردشات",
|
||||||
"drafts.loading": "Loading Drafts",
|
"drafts.loading": "Loading Drafts",
|
||||||
"motd.welcome": "مرحبا بكم في NodeBB، منصة المناقشة المستقبلية.",
|
"motd.welcome": "مرحبا بكم في NodeBB، منصة المناقشة المستقبلية.",
|
||||||
|
"previouspage": "الصفحة السابقة",
|
||||||
|
"nextpage": "الصفحة التالية",
|
||||||
"alert.success": "نجاح",
|
"alert.success": "نجاح",
|
||||||
"alert.error": "خطأ",
|
"alert.error": "خطأ",
|
||||||
"alert.warning": "Warning",
|
"alert.warning": "Warning",
|
||||||
@@ -111,7 +105,6 @@
|
|||||||
"dnd": "عدم الإزعاج",
|
"dnd": "عدم الإزعاج",
|
||||||
"invisible": "مخفي",
|
"invisible": "مخفي",
|
||||||
"offline": "غير متصل",
|
"offline": "غير متصل",
|
||||||
"remote-user": "This user is from outside of this forum",
|
|
||||||
"email": "عنوان البريد الإلكتروني",
|
"email": "عنوان البريد الإلكتروني",
|
||||||
"language": "اللغة",
|
"language": "اللغة",
|
||||||
"guest": "زائر",
|
"guest": "زائر",
|
||||||
@@ -142,12 +135,9 @@
|
|||||||
"edited": "حُرِر",
|
"edited": "حُرِر",
|
||||||
"disabled": "معطل",
|
"disabled": "معطل",
|
||||||
"select": "تحديد",
|
"select": "تحديد",
|
||||||
"selected": "Selected",
|
|
||||||
"copied": "Copied",
|
"copied": "Copied",
|
||||||
"user-search-prompt": "Type something here to find users...",
|
"user-search-prompt": "Type something here to find users...",
|
||||||
"hidden": "Hidden",
|
"hidden": "Hidden",
|
||||||
"sort": "Sort",
|
"sort": "Sort",
|
||||||
"actions": "Actions",
|
"actions": "Actions"
|
||||||
"rss-feed": "RSS Feed",
|
|
||||||
"skip-to-content": "Skip to content"
|
|
||||||
}
|
}
|
||||||
@@ -1,9 +1,8 @@
|
|||||||
{
|
{
|
||||||
"chat.room-id": "Room %1",
|
"chat.room-id": "Room %1",
|
||||||
"chat.chatting-with": "Chat with",
|
"chat.chatting-with": "Chat with",
|
||||||
"chat.placeholder": "Type chat message here, drag & drop images",
|
"chat.placeholder": "Type chat message here, drag & drop images, press enter to send",
|
||||||
"chat.placeholder.mobile": "Type chat message",
|
"chat.placeholder.mobile": "Type chat message here",
|
||||||
"chat.placeholder.message-room": "Message #%1",
|
|
||||||
"chat.scroll-up-alert": "Go to most recent message",
|
"chat.scroll-up-alert": "Go to most recent message",
|
||||||
"chat.usernames-and-x-others": "%1 & %2 others",
|
"chat.usernames-and-x-others": "%1 & %2 others",
|
||||||
"chat.chat-with-usernames": "Chat with %1",
|
"chat.chat-with-usernames": "Chat with %1",
|
||||||
@@ -115,8 +114,6 @@
|
|||||||
"composer.discard-all-drafts": "Discard all drafts",
|
"composer.discard-all-drafts": "Discard all drafts",
|
||||||
"composer.no-drafts": "You have no drafts",
|
"composer.no-drafts": "You have no drafts",
|
||||||
"composer.discard-draft-confirm": "Do you want to discard this draft?",
|
"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.ok": "OK",
|
||||||
"bootbox.cancel": "إلغاء",
|
"bootbox.cancel": "إلغاء",
|
||||||
"bootbox.confirm": "تأكيد",
|
"bootbox.confirm": "تأكيد",
|
||||||
|
|||||||
@@ -52,10 +52,10 @@
|
|||||||
"user-posted-to-multiple": "<strong>%1</strong>, <strong>%2</strong> and %3 others have posted replies to: <strong>%4</strong>",
|
"user-posted-to-multiple": "<strong>%1</strong>, <strong>%2</strong> and %3 others have posted replies to: <strong>%4</strong>",
|
||||||
"user-posted-topic": "<strong>%1</strong> أنشأ موضوعًا جديدًا: <strong>%2</strong>",
|
"user-posted-topic": "<strong>%1</strong> أنشأ موضوعًا جديدًا: <strong>%2</strong>",
|
||||||
"user-edited-post": "<strong>%1</strong> has edited a post in <strong>%2</strong>",
|
"user-edited-post": "<strong>%1</strong> has edited a post in <strong>%2</strong>",
|
||||||
"user-posted-topic-with-tag": "<strong>%1</strong> has posted <strong>%2</strong> (tagged %3)",
|
"user-posted-topic-with-tag": "<strong>%1</strong> has posted a new topic with tag <strong>%2</strong>",
|
||||||
"user-posted-topic-with-tag-dual": "<strong>%1</strong> has posted <strong>%2</strong> (tagged %3 and %4)",
|
"user-posted-topic-with-tag-dual": "<strong>%1</strong> has posted a new topic with tags <strong>%2</strong> and <strong>%3</strong>",
|
||||||
"user-posted-topic-with-tag-triple": "<strong>%1</strong> has posted <strong>%2</strong> (tagged %3, %4, and %5)",
|
"user-posted-topic-with-tag-triple": "<strong>%1</strong> has posted a new topic with tags <strong>%2</strong>, <strong>%3</strong> and <strong>%4</strong>",
|
||||||
"user-posted-topic-with-tag-multiple": "<strong>%1</strong> has posted <strong>%2</strong> (tagged %3)",
|
"user-posted-topic-with-tag-multiple": "<strong>%1</strong> has posted a new topic with tags <strong>%2</strong>",
|
||||||
"user-posted-topic-in-category": "<strong>%1</strong> has posted a new topic in <strong>%2</strong>",
|
"user-posted-topic-in-category": "<strong>%1</strong> has posted a new topic in <strong>%2</strong>",
|
||||||
"user-started-following-you": "<strong>%1</strong> صار يتابعك.",
|
"user-started-following-you": "<strong>%1</strong> صار يتابعك.",
|
||||||
"user-started-following-you-dual": "<strong>%1</strong> and <strong>%2</strong> started following you.",
|
"user-started-following-you-dual": "<strong>%1</strong> and <strong>%2</strong> started following you.",
|
||||||
@@ -75,7 +75,6 @@
|
|||||||
"email-confirmed": "تم التحقق من عنوان البريد الإلكتروني",
|
"email-confirmed": "تم التحقق من عنوان البريد الإلكتروني",
|
||||||
"email-confirmed-message": "شكرًا على إثبات صحة عنوان بريدك الإلكتروني. صار حسابك مفعلًا بالكامل.",
|
"email-confirmed-message": "شكرًا على إثبات صحة عنوان بريدك الإلكتروني. صار حسابك مفعلًا بالكامل.",
|
||||||
"email-confirm-error-message": "حدث خطأ أثناء التحقق من عنوان بريدك الإلكتروني. ربما رمز التفعيل خاطئ أو انتهت صلاحيته.",
|
"email-confirm-error-message": "حدث خطأ أثناء التحقق من عنوان بريدك الإلكتروني. ربما رمز التفعيل خاطئ أو انتهت صلاحيته.",
|
||||||
"email-confirm-error-message-already-validated": "Your email address was already validated.",
|
|
||||||
"email-confirm-sent": "تم إرسال بريد التفعيل.",
|
"email-confirm-sent": "تم إرسال بريد التفعيل.",
|
||||||
"none": "None",
|
"none": "None",
|
||||||
"notification-only": "التنبيهات فقط",
|
"notification-only": "التنبيهات فقط",
|
||||||
@@ -98,9 +97,5 @@
|
|||||||
"notificationType-post-queue": "When a new post is queued",
|
"notificationType-post-queue": "When a new post is queued",
|
||||||
"notificationType-new-post-flag": "When a post is flagged",
|
"notificationType-new-post-flag": "When a post is flagged",
|
||||||
"notificationType-new-user-flag": "When a user is flagged",
|
"notificationType-new-user-flag": "When a user is flagged",
|
||||||
"notificationType-new-reward": "When you earn a new reward",
|
"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."
|
|
||||||
}
|
}
|
||||||
@@ -36,7 +36,6 @@
|
|||||||
"chat": "Chatting with %1",
|
"chat": "Chatting with %1",
|
||||||
"flags": "Flags",
|
"flags": "Flags",
|
||||||
"flag-details": "Flag %1 Details",
|
"flag-details": "Flag %1 Details",
|
||||||
"world": "World",
|
|
||||||
"account/edit": "Editing \"%1\"",
|
"account/edit": "Editing \"%1\"",
|
||||||
"account/edit/password": "Editing password of \"%1\"",
|
"account/edit/password": "Editing password of \"%1\"",
|
||||||
"account/edit/username": "Editing username of \"%1\"",
|
"account/edit/username": "Editing username of \"%1\"",
|
||||||
@@ -55,7 +54,6 @@
|
|||||||
"account/settings-of": "Changing settings of %1",
|
"account/settings-of": "Changing settings of %1",
|
||||||
"account/watched": "Topics watched by %1",
|
"account/watched": "Topics watched by %1",
|
||||||
"account/ignored": "Topics ignored by %1",
|
"account/ignored": "Topics ignored by %1",
|
||||||
"account/read": "Topics read by %1",
|
|
||||||
"account/upvoted": "Posts upvoted by %1",
|
"account/upvoted": "Posts upvoted by %1",
|
||||||
"account/downvoted": "Posts downvoted by %1",
|
"account/downvoted": "Posts downvoted by %1",
|
||||||
"account/best": "Best posts made by %1",
|
"account/best": "Best posts made by %1",
|
||||||
@@ -63,7 +61,6 @@
|
|||||||
"account/blocks": "Blocked users for %1",
|
"account/blocks": "Blocked users for %1",
|
||||||
"account/uploads": "Uploads by %1",
|
"account/uploads": "Uploads by %1",
|
||||||
"account/sessions": "Login Sessions",
|
"account/sessions": "Login Sessions",
|
||||||
"account/shares": "Topics shared by %1",
|
|
||||||
"confirm": "تم التحقق من عنوان البريد الإلكتروني",
|
"confirm": "تم التحقق من عنوان البريد الإلكتروني",
|
||||||
"maintenance.text": "%1 is currently undergoing maintenance.<br/>Please come back another time.",
|
"maintenance.text": "%1 is currently undergoing maintenance.<br/>Please come back another time.",
|
||||||
"maintenance.messageIntro": "بالإضافة إلى ذلك، قام مدبر النظام بترك هذه الرسالة:",
|
"maintenance.messageIntro": "بالإضافة إلى ذلك، قام مدبر النظام بترك هذه الرسالة:",
|
||||||
|
|||||||
@@ -38,6 +38,5 @@
|
|||||||
"remove-selected": "Remove Selected",
|
"remove-selected": "Remove Selected",
|
||||||
"remove-selected-confirm": "Do you want to remove %1 selected posts?",
|
"remove-selected-confirm": "Do you want to remove %1 selected posts?",
|
||||||
"bulk-accept-success": "%1 posts accepted",
|
"bulk-accept-success": "%1 posts accepted",
|
||||||
"bulk-reject-success": "%1 posts rejected",
|
"bulk-reject-success": "%1 posts rejected"
|
||||||
"links-in-this-post": "Links in this post"
|
|
||||||
}
|
}
|
||||||
@@ -7,7 +7,5 @@
|
|||||||
"alltime": "دائمًا",
|
"alltime": "دائمًا",
|
||||||
"no-recent-topics": "لايوجد مواضيع جديدة",
|
"no-recent-topics": "لايوجد مواضيع جديدة",
|
||||||
"no-popular-topics": "لا يوجد مواضيع شائعة",
|
"no-popular-topics": "لا يوجد مواضيع شائعة",
|
||||||
"load-new-posts": "Load new posts",
|
"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."
|
|
||||||
}
|
}
|
||||||
@@ -7,7 +7,6 @@
|
|||||||
"in-titles": "In titles",
|
"in-titles": "In titles",
|
||||||
"in-titles-posts": "In titles and posts",
|
"in-titles-posts": "In titles and posts",
|
||||||
"in-posts": "In posts",
|
"in-posts": "In posts",
|
||||||
"in-bookmarks": "In bookmarks",
|
|
||||||
"in-categories": "In categories",
|
"in-categories": "In categories",
|
||||||
"in-users": "In users",
|
"in-users": "In users",
|
||||||
"in-tags": "In tags",
|
"in-tags": "In tags",
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
"no-tag-topics": "لا يوجد مواضيع بهذه الكلمة الدلالية.",
|
"no-tag-topics": "لا يوجد مواضيع بهذه الكلمة الدلالية.",
|
||||||
"no-tags-found": "No tags found",
|
"no-tags-found": "No tags found",
|
||||||
"tags": "الكلمات الدلالية",
|
"tags": "الكلمات الدلالية",
|
||||||
"enter-tags-here": "Enter tags, %1 - %2 characters.",
|
"enter-tags-here": "Enter tags here, between %1 and %2 characters each.",
|
||||||
"enter-tags-here-short": "أدخل الكلمات الدلالية...",
|
"enter-tags-here-short": "أدخل الكلمات الدلالية...",
|
||||||
"no-tags": "لا يوجد كلمات دلالية بعد.",
|
"no-tags": "لا يوجد كلمات دلالية بعد.",
|
||||||
"select-tags": "Select Tags",
|
"select-tags": "Select Tags",
|
||||||
|
|||||||
@@ -3,12 +3,9 @@
|
|||||||
"skins": "Skins",
|
"skins": "Skins",
|
||||||
"collapse": "Collapse",
|
"collapse": "Collapse",
|
||||||
"expand": "Expand",
|
"expand": "Expand",
|
||||||
"sidebar-toggle": "Sidebar Toggle",
|
|
||||||
"login-register-to-search": "Login or register to search.",
|
"login-register-to-search": "Login or register to search.",
|
||||||
"settings.title": "Theme settings",
|
"settings.title": "Theme settings",
|
||||||
"settings.enableQuickReply": "Enable quick reply",
|
"settings.enableQuickReply": "Enable quick reply",
|
||||||
"settings.enableBreadcrumbs": "Show breadcrumbs in Category and Topic pages",
|
|
||||||
"settings.enableBreadcrumbs.why": "Breadcrumbs are visible in most pages for ease-of-navigation. The base design of the category and topic pages has alternative means to link back to parent pages, but the breadcrumb can be toggled off to reduce clutter.",
|
|
||||||
"settings.centerHeaderElements": "Center header elements",
|
"settings.centerHeaderElements": "Center header elements",
|
||||||
"settings.mobileTopicTeasers": "Show topic teasers on mobile",
|
"settings.mobileTopicTeasers": "Show topic teasers on mobile",
|
||||||
"settings.stickyToolbar": "Sticky toolbar",
|
"settings.stickyToolbar": "Sticky toolbar",
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{
|
{
|
||||||
"title": "أعلى الصفحة",
|
"title": "Top",
|
||||||
"no-top-topics": "لا توجد مواضيع أعلى الصفحة"
|
"no-top-topics": "No top topics"
|
||||||
}
|
}
|
||||||
@@ -15,7 +15,6 @@
|
|||||||
"replies-to-this-post": "%1 الردود",
|
"replies-to-this-post": "%1 الردود",
|
||||||
"one-reply-to-this-post": "1 رد",
|
"one-reply-to-this-post": "1 رد",
|
||||||
"last-reply-time": "آخر رد",
|
"last-reply-time": "آخر رد",
|
||||||
"reply-options": "Reply options",
|
|
||||||
"reply-as-topic": "رد بموضوع",
|
"reply-as-topic": "رد بموضوع",
|
||||||
"guest-login-reply": "يجب عليك تسجيل الدخول للرد",
|
"guest-login-reply": "يجب عليك تسجيل الدخول للرد",
|
||||||
"login-to-view": "سجل الدخول للمشاهدة",
|
"login-to-view": "سجل الدخول للمشاهدة",
|
||||||
@@ -27,7 +26,6 @@
|
|||||||
"restore": "استعادة",
|
"restore": "استعادة",
|
||||||
"move": "نقل",
|
"move": "نقل",
|
||||||
"change-owner": "Change Owner",
|
"change-owner": "Change Owner",
|
||||||
"manage-editors": "Manage Editors",
|
|
||||||
"fork": "فرع",
|
"fork": "فرع",
|
||||||
"link": "رابط",
|
"link": "رابط",
|
||||||
"share": "نشر",
|
"share": "نشر",
|
||||||
@@ -36,7 +34,6 @@
|
|||||||
"pinned": "مثبت",
|
"pinned": "مثبت",
|
||||||
"pinned-with-expiry": "مثبت حتى %1",
|
"pinned-with-expiry": "مثبت حتى %1",
|
||||||
"scheduled": "Scheduled",
|
"scheduled": "Scheduled",
|
||||||
"deleted": "Deleted",
|
|
||||||
"moved": "منقول",
|
"moved": "منقول",
|
||||||
"moved-from": "Moved from %1",
|
"moved-from": "Moved from %1",
|
||||||
"copy-code": "Copy Code",
|
"copy-code": "Copy Code",
|
||||||
@@ -61,8 +58,6 @@
|
|||||||
"user-restored-topic-on": "%1 restored this topic on %2",
|
"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-ago": "%1 moved this topic from %2 %3",
|
||||||
"user-moved-topic-from-on": "%1 moved this topic from %2 on %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-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-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",
|
"user-referenced-topic-ago": "%1 <a href=\"%2\">referenced</a> this topic %3",
|
||||||
@@ -106,7 +101,6 @@
|
|||||||
"thread-tools.move-posts": "Move Posts",
|
"thread-tools.move-posts": "Move Posts",
|
||||||
"thread-tools.move-all": "نقل الكل",
|
"thread-tools.move-all": "نقل الكل",
|
||||||
"thread-tools.change-owner": "Change Owner",
|
"thread-tools.change-owner": "Change Owner",
|
||||||
"thread-tools.manage-editors": "Manage Editors",
|
|
||||||
"thread-tools.select-category": "Select Category",
|
"thread-tools.select-category": "Select Category",
|
||||||
"thread-tools.fork": "إنشاء فرع الموضوع",
|
"thread-tools.fork": "إنشاء فرع الموضوع",
|
||||||
"thread-tools.tag": "Tag Topic",
|
"thread-tools.tag": "Tag Topic",
|
||||||
@@ -137,7 +131,6 @@
|
|||||||
"bookmarks": "Bookmarks",
|
"bookmarks": "Bookmarks",
|
||||||
"bookmarks.has-no-bookmarks": "You haven't bookmarked any posts yet.",
|
"bookmarks.has-no-bookmarks": "You haven't bookmarked any posts yet.",
|
||||||
"copy-permalink": "Copy Permalink",
|
"copy-permalink": "Copy Permalink",
|
||||||
"go-to-original": "View Original Post",
|
|
||||||
"loading-more-posts": "تحميل المزيد من المشاركات",
|
"loading-more-posts": "تحميل المزيد من المشاركات",
|
||||||
"move-topic": "نقل الموضوع",
|
"move-topic": "نقل الموضوع",
|
||||||
"move-topics": "نقل المواضيع",
|
"move-topics": "نقل المواضيع",
|
||||||
@@ -162,7 +155,6 @@
|
|||||||
"move-posts-instruction": "Click the posts you want to move then enter a topic ID or go to the target topic",
|
"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",
|
"move-topic-instruction": "Select the target category and then click move",
|
||||||
"change-owner-instruction": "Click the posts you want to assign to another user",
|
"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.title-placeholder": "أدخل عنوان موضوعك هنا...",
|
||||||
"composer.handle-placeholder": "Enter your name/handle here",
|
"composer.handle-placeholder": "Enter your name/handle here",
|
||||||
"composer.hide": "Hide",
|
"composer.hide": "Hide",
|
||||||
@@ -188,8 +180,6 @@
|
|||||||
"sort-by": "ترتيب حسب",
|
"sort-by": "ترتيب حسب",
|
||||||
"oldest-to-newest": "من الأقدم إلى الأحدث",
|
"oldest-to-newest": "من الأقدم إلى الأحدث",
|
||||||
"newest-to-oldest": "من الأحدث إلى الأقدم",
|
"newest-to-oldest": "من الأحدث إلى الأقدم",
|
||||||
"recently-replied": "Recently Replied",
|
|
||||||
"recently-created": "Recently Created",
|
|
||||||
"most-votes": "Most Votes",
|
"most-votes": "Most Votes",
|
||||||
"most-posts": "Most Posts",
|
"most-posts": "Most Posts",
|
||||||
"most-views": "Most Views",
|
"most-views": "Most Views",
|
||||||
@@ -214,15 +204,7 @@
|
|||||||
"last-post": "Last post",
|
"last-post": "Last post",
|
||||||
"go-to-my-next-post": "Go to my next post",
|
"go-to-my-next-post": "Go to my next post",
|
||||||
"no-more-next-post": "You don't have more posts in this topic",
|
"no-more-next-post": "You don't have more posts in this topic",
|
||||||
"open-composer": "Open composer",
|
|
||||||
"post-quick-reply": "Quick reply",
|
"post-quick-reply": "Quick reply",
|
||||||
"navigator.index": "Post %1 of %2",
|
"navigator.index": "Post %1 of %2",
|
||||||
"navigator.unread": "%1 unread",
|
"navigator.unread": "%1 unread"
|
||||||
"upvote-post": "Upvote post",
|
|
||||||
"downvote-post": "Downvote post",
|
|
||||||
"post-tools": "Post tools",
|
|
||||||
"unread-posts-link": "Unread posts link",
|
|
||||||
"thumb-image": "Topic thumbnail image",
|
|
||||||
"announcers": "Shares",
|
|
||||||
"announcers-x": "Shares (%1)"
|
|
||||||
}
|
}
|
||||||
@@ -3,7 +3,6 @@
|
|||||||
"no-unread-topics": "ليس هناك أي موضوع غير مقروء",
|
"no-unread-topics": "ليس هناك أي موضوع غير مقروء",
|
||||||
"load-more": "حمل المزيد",
|
"load-more": "حمل المزيد",
|
||||||
"mark-as-read": "حدد غير مقروء",
|
"mark-as-read": "حدد غير مقروء",
|
||||||
"mark-as-unread": "Mark as Unread",
|
|
||||||
"selected": "المحددة",
|
"selected": "المحددة",
|
||||||
"all": "الكل",
|
"all": "الكل",
|
||||||
"all-categories": "كل الفئات",
|
"all-categories": "كل الفئات",
|
||||||
|
|||||||
@@ -1,9 +1,6 @@
|
|||||||
{
|
{
|
||||||
"user-menu": "قائمة المستخدم",
|
|
||||||
"banned": "محظور",
|
"banned": "محظور",
|
||||||
"unbanned": "Unbanned",
|
|
||||||
"muted": "كتم",
|
"muted": "كتم",
|
||||||
"unmuted": "Unmuted",
|
|
||||||
"offline": "غير متصل",
|
"offline": "غير متصل",
|
||||||
"deleted": "محذوف",
|
"deleted": "محذوف",
|
||||||
"username": "إسم المستخدم",
|
"username": "إسم المستخدم",
|
||||||
@@ -16,7 +13,7 @@
|
|||||||
"ban-account": "حظر الحساب",
|
"ban-account": "حظر الحساب",
|
||||||
"ban-account-confirm": "هل تريد حقاً حظر هاذا العضو؟",
|
"ban-account-confirm": "هل تريد حقاً حظر هاذا العضو؟",
|
||||||
"unban-account": "إزالة حظر الحساب",
|
"unban-account": "إزالة حظر الحساب",
|
||||||
"mute-account": "كتم الحساب",
|
"mute-account": "Mute Account",
|
||||||
"unmute-account": "Unmute Account",
|
"unmute-account": "Unmute Account",
|
||||||
"delete-account": "حذف الحساب",
|
"delete-account": "حذف الحساب",
|
||||||
"delete-account-as-admin": "Delete <strong>Account</strong>",
|
"delete-account-as-admin": "Delete <strong>Account</strong>",
|
||||||
@@ -39,15 +36,13 @@
|
|||||||
"reputation": "السمعة",
|
"reputation": "السمعة",
|
||||||
"bookmarks": "المفضلات",
|
"bookmarks": "المفضلات",
|
||||||
"watched-categories": "الأقسام المُتابعة",
|
"watched-categories": "الأقسام المُتابعة",
|
||||||
"watched-tags": "الوسوم المُتابعة",
|
"watched-tags": "Watched tags",
|
||||||
"change-all": "غير الكل",
|
"change-all": "غير الكل",
|
||||||
"watched": "متابع",
|
"watched": "متابع",
|
||||||
"ignored": "تم تجاهله",
|
"ignored": "تم تجاهله",
|
||||||
"read": "Read",
|
|
||||||
"default-category-watch-state": "حالة مشاهدة اﻻقسام الافتراضية",
|
"default-category-watch-state": "حالة مشاهدة اﻻقسام الافتراضية",
|
||||||
"followers": "المتابعون",
|
"followers": "المتابعون",
|
||||||
"following": "يتابع",
|
"following": "يتابع",
|
||||||
"shares": "Shares",
|
|
||||||
"blocks": "الكتل",
|
"blocks": "الكتل",
|
||||||
"blocked-users": "Blocked users",
|
"blocked-users": "Blocked users",
|
||||||
"block-toggle": "تبديل الكتلة",
|
"block-toggle": "تبديل الكتلة",
|
||||||
@@ -60,10 +55,8 @@
|
|||||||
"chat-with": "متابعة الدردشة مع %1",
|
"chat-with": "متابعة الدردشة مع %1",
|
||||||
"new-chat-with": "بدء دردشة جديدة مع %1",
|
"new-chat-with": "بدء دردشة جديدة مع %1",
|
||||||
"flag-profile": "ضع علامة على الملف الشخصي",
|
"flag-profile": "ضع علامة على الملف الشخصي",
|
||||||
"profile-flagged": "Already flagged",
|
|
||||||
"follow": "تابع",
|
"follow": "تابع",
|
||||||
"unfollow": "إلغاء المتابعة",
|
"unfollow": "إلغاء المتابعة",
|
||||||
"cancel-follow": "Cancel follow request",
|
|
||||||
"more": "المزيد",
|
"more": "المزيد",
|
||||||
"profile-update-success": "تم تحديث الملف الشخصي بنجاح",
|
"profile-update-success": "تم تحديث الملف الشخصي بنجاح",
|
||||||
"change-picture": "تغيير الصورة",
|
"change-picture": "تغيير الصورة",
|
||||||
@@ -78,11 +71,10 @@
|
|||||||
"upload-new-picture": "رفع صورة جديدة",
|
"upload-new-picture": "رفع صورة جديدة",
|
||||||
"upload-new-picture-from-url": "رفع صورة جديدة من رابط",
|
"upload-new-picture-from-url": "رفع صورة جديدة من رابط",
|
||||||
"current-password": "كلمة السر الحالية",
|
"current-password": "كلمة السر الحالية",
|
||||||
"new-password": "كلمة السر الجديدة",
|
"new-password": "New Password",
|
||||||
"change-password": "تغيير كلمة السر",
|
"change-password": "تغيير كلمة السر",
|
||||||
"change-password-error": "كلمة سر غير صحيحة",
|
"change-password-error": "كلمة سر غير صحيحة",
|
||||||
"change-password-error-wrong-current": "كلمة السر الحالية ليست صحيحة",
|
"change-password-error-wrong-current": "كلمة السر الحالية ليست صحيحة",
|
||||||
"change-password-error-same-password": "كلمة السر الجديدة مطابقة لكلمة السر الحالية, فضلاً قم بإدخال كلمة سر جديدة.",
|
|
||||||
"change-password-error-match": "كلمة السر غير مطابقة لتأكيد كلمة السر",
|
"change-password-error-match": "كلمة السر غير مطابقة لتأكيد كلمة السر",
|
||||||
"change-password-error-privileges": "ليس لديك الصلاحيات الكافية لتغيير كلمة السر هذه.",
|
"change-password-error-privileges": "ليس لديك الصلاحيات الكافية لتغيير كلمة السر هذه.",
|
||||||
"change-password-success": "تم تحديث كلمة السر خاصتك.",
|
"change-password-success": "تم تحديث كلمة السر خاصتك.",
|
||||||
@@ -118,12 +110,10 @@
|
|||||||
"has-no-topics": "هذا المستخدم لم يكتب أي موضوع حتى الآن.",
|
"has-no-topics": "هذا المستخدم لم يكتب أي موضوع حتى الآن.",
|
||||||
"has-no-watched-topics": "هذا المستخدم لم يقم بمراقبة اية مواضيع حتى الآن.",
|
"has-no-watched-topics": "هذا المستخدم لم يقم بمراقبة اية مواضيع حتى الآن.",
|
||||||
"has-no-ignored-topics": "هذا المستخدم لم يقم بتجاهل اية مواضيع حتى الآن.",
|
"has-no-ignored-topics": "هذا المستخدم لم يقم بتجاهل اية مواضيع حتى الآن.",
|
||||||
"has-no-read-topics": "هذا المستخدم لم يقم بقراءة أي مشاركة حتى الاّن.",
|
|
||||||
"has-no-upvoted-posts": "هذا المستخدم لم يقم بالتصويت للأعلى لأي مشاركة حتى الآن.",
|
"has-no-upvoted-posts": "هذا المستخدم لم يقم بالتصويت للأعلى لأي مشاركة حتى الآن.",
|
||||||
"has-no-downvoted-posts": "هذا المستخدم لم يقم بالتصويت للأسفل لأي مشاركة حتى الآن.",
|
"has-no-downvoted-posts": "هذا المستخدم لم يقم بالتصويت للأسفل لأي مشاركة حتى الآن.",
|
||||||
"has-no-controversial-posts": "هذا المستخدم ﻻيمتلك تصويت للأسفل لأي مشاركة حتى الآن.",
|
"has-no-controversial-posts": "هذا المستخدم ﻻيمتلك تصويت للأسفل لأي مشاركة حتى الآن.",
|
||||||
"has-no-blocks": "أنت لم تحظر اي مستخدم",
|
"has-no-blocks": "أنت لم تحظر اي مستخدم",
|
||||||
"has-no-shares": "This user has not shared any topics.",
|
|
||||||
"email-hidden": "البريد الإلكتروني مخفي",
|
"email-hidden": "البريد الإلكتروني مخفي",
|
||||||
"hidden": "مخفي",
|
"hidden": "مخفي",
|
||||||
"paginate-description": "عرض المواضيع والردود موزعة على صفحات عوضاً عن التمرير اللانهائي.",
|
"paginate-description": "عرض المواضيع والردود موزعة على صفحات عوضاً عن التمرير اللانهائي.",
|
||||||
@@ -151,10 +141,6 @@
|
|||||||
"follow-topics-you-create": "متابعة المواضيع التي تقوم بإنشائها",
|
"follow-topics-you-create": "متابعة المواضيع التي تقوم بإنشائها",
|
||||||
"grouptitle": "عنوان المجموعة",
|
"grouptitle": "عنوان المجموعة",
|
||||||
"group-order-help": "Select a group and use the arrows to order titles",
|
"group-order-help": "Select a group and use the arrows to order titles",
|
||||||
"show-group-title": "Show group title",
|
|
||||||
"hide-group-title": "Hide group title",
|
|
||||||
"order-group-up": "Order group up",
|
|
||||||
"order-group-down": "Order group down",
|
|
||||||
"no-group-title": "لا يوجد عنوان للمجموعة",
|
"no-group-title": "لا يوجد عنوان للمجموعة",
|
||||||
"select-skin": "إختر سمة",
|
"select-skin": "إختر سمة",
|
||||||
"default": "Default (%1)",
|
"default": "Default (%1)",
|
||||||
@@ -171,16 +157,11 @@
|
|||||||
"sso.dissociate-confirm-title": "تأكيد الفصل",
|
"sso.dissociate-confirm-title": "تأكيد الفصل",
|
||||||
"sso.dissociate-confirm": "هل تريد بالتأكيد فصل حسابك عن %1؟",
|
"sso.dissociate-confirm": "هل تريد بالتأكيد فصل حسابك عن %1؟",
|
||||||
"info.latest-flags": "أحدث العلامات",
|
"info.latest-flags": "أحدث العلامات",
|
||||||
"info.profile": "Profile",
|
|
||||||
"info.post": "Post",
|
|
||||||
"info.view-flag": "View flag",
|
|
||||||
"info.reported-by": "Reported by:",
|
|
||||||
"info.no-flags": "لم يتم العثور على مشاركات معلمة",
|
"info.no-flags": "لم يتم العثور على مشاركات معلمة",
|
||||||
"info.ban-history": "سجل الحظر الأحدث",
|
"info.ban-history": "سجل الحظر الأحدث",
|
||||||
"info.no-ban-history": "هذا المستخدم لم يتم حظره مطلقا",
|
"info.no-ban-history": "هذا المستخدم لم يتم حظره مطلقا",
|
||||||
"info.banned-until": "محظور حتى %1",
|
"info.banned-until": "محظور حتى %1",
|
||||||
"info.banned-expiry": "Expiry",
|
"info.banned-expiry": "Expiry",
|
||||||
"info.ban-expired": "Ban expired",
|
|
||||||
"info.banned-permanently": "محظور بشكل دائم",
|
"info.banned-permanently": "محظور بشكل دائم",
|
||||||
"info.banned-reason-label": "سبب",
|
"info.banned-reason-label": "سبب",
|
||||||
"info.banned-no-reason": "لم يتم إعطاء سبب.",
|
"info.banned-no-reason": "لم يتم إعطاء سبب.",
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
{
|
{
|
||||||
"all-users": "كل المستخدمين",
|
"all-users": "All Users",
|
||||||
"followed-users": "Followed Users",
|
|
||||||
"latest-users": "أحدث الأعضاء",
|
"latest-users": "أحدث الأعضاء",
|
||||||
"top-posters": "اﻷكثر مشاركة",
|
"top-posters": "اﻷكثر مشاركة",
|
||||||
"most-reputation": "أعلى سمعة",
|
"most-reputation": "أعلى سمعة",
|
||||||
|
|||||||
@@ -1,18 +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!"
|
|
||||||
}
|
|
||||||
@@ -9,9 +9,5 @@
|
|||||||
"filter-type": "Вид събитие",
|
"filter-type": "Вид събитие",
|
||||||
"filter-start": "Начална дата",
|
"filter-start": "Начална дата",
|
||||||
"filter-end": "Крайна дата",
|
"filter-end": "Крайна дата",
|
||||||
"filter-user": "Филтриране по потребител",
|
|
||||||
"filter-user.placeholder": "Въведете име на потребител, за да филтрирате…",
|
|
||||||
"filter-group": "Филтриране по група",
|
|
||||||
"filter-group.placeholder": "Въведете име на група, за да филтрирате…",
|
|
||||||
"filter-per-page": "На страница"
|
"filter-per-page": "На страница"
|
||||||
}
|
}
|
||||||
@@ -94,8 +94,5 @@
|
|||||||
"view-as-json": "Преглед като JSON",
|
"view-as-json": "Преглед като JSON",
|
||||||
"expand-analytics": "Разгъване на данните за анализ",
|
"expand-analytics": "Разгъване на данните за анализ",
|
||||||
"clear-search-history": "Изчистване на историята на търсенията",
|
"clear-search-history": "Изчистване на историята на търсенията",
|
||||||
"clear-search-history-confirm": "Наистина ли искате да изчистите историята на търсенията?",
|
"clear-search-history-confirm": "Наистина ли искате да изчистите историята на търсенията?"
|
||||||
"search-term": "Фраза",
|
|
||||||
"search-count": "Брой",
|
|
||||||
"view-all": "Преглед на всички"
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
"ip": "IP <strong>%1</strong>",
|
"ip": "IP <strong>%1</strong>",
|
||||||
"nodes-responded": "%1 възела отговориха в рамките на %2мсек!",
|
"nodes-responded": "%1 възела отговориха в рамките на %2мсек!",
|
||||||
"host": "сървър",
|
"host": "сървър",
|
||||||
"primary": "основен / задачи",
|
"primary": "основен / изпълнение на задачите",
|
||||||
"pid": "ид. на процеса",
|
"pid": "ид. на процеса",
|
||||||
"nodejs": "nodejs",
|
"nodejs": "nodejs",
|
||||||
"online": "на линия",
|
"online": "на линия",
|
||||||
@@ -19,7 +19,6 @@
|
|||||||
|
|
||||||
"registered": "Регистрирани",
|
"registered": "Регистрирани",
|
||||||
"sockets": "Сокети",
|
"sockets": "Сокети",
|
||||||
"connection-count": "Брой връзки",
|
|
||||||
"guests": "Гости",
|
"guests": "Гости",
|
||||||
|
|
||||||
"info": "Информация"
|
"info": "Информация"
|
||||||
|
|||||||
@@ -12,8 +12,6 @@
|
|||||||
"container.card": "Карта",
|
"container.card": "Карта",
|
||||||
"container.card-header": "Заглавна част на карта",
|
"container.card-header": "Заглавна част на карта",
|
||||||
"container.card-body": "Основна част на карта",
|
"container.card-body": "Основна част на карта",
|
||||||
"container.title": "Заглавие",
|
|
||||||
"container.body": "Съдържание",
|
|
||||||
"container.alert": "Предупреждение",
|
"container.alert": "Предупреждение",
|
||||||
|
|
||||||
"alert.confirm-delete": "Наистина ли искате да изтриете джаджата?",
|
"alert.confirm-delete": "Наистина ли искате да изтриете джаджата?",
|
||||||
|
|||||||
@@ -7,8 +7,6 @@
|
|||||||
"privileges": "Правомощия",
|
"privileges": "Правомощия",
|
||||||
"back-to-categories": "Назад към категориите",
|
"back-to-categories": "Назад към категориите",
|
||||||
"name": "Име на категорията",
|
"name": "Име на категорията",
|
||||||
"handle": "Идентификатор на категорията",
|
|
||||||
"handle.help": "Идентификаторът на категорията се ползва за представяне на тази категория в други мрежи, подобно на потребителското име. Този идентификатор не трябва да съвпада със съществуващо потребителско име или потребителска група.",
|
|
||||||
"description": "Описание на категорията",
|
"description": "Описание на категорията",
|
||||||
"bg-color": "Цвят на фона",
|
"bg-color": "Цвят на фона",
|
||||||
"text-color": "Цвят на текста",
|
"text-color": "Цвят на текста",
|
||||||
@@ -39,7 +37,6 @@
|
|||||||
"disable": "Изключване",
|
"disable": "Изключване",
|
||||||
"edit": "Редактиране",
|
"edit": "Редактиране",
|
||||||
"analytics": "Анализи",
|
"analytics": "Анализи",
|
||||||
"federation": "Федериране",
|
|
||||||
|
|
||||||
"view-category": "Преглед на категорията",
|
"view-category": "Преглед на категорията",
|
||||||
"set-order": "Запазване на реда",
|
"set-order": "Запазване на реда",
|
||||||
@@ -79,22 +76,6 @@
|
|||||||
"analytics.topics-daily": "<strong>Фигура 3</strong> – Брой теми в тази категория на ден</small>",
|
"analytics.topics-daily": "<strong>Фигура 3</strong> – Брой теми в тази категория на ден</small>",
|
||||||
"analytics.posts-daily": "<strong>Фигура 4</strong> – Брой публикации в тази категория на ден</small>",
|
"analytics.posts-daily": "<strong>Фигура 4</strong> – Брой публикации в тази категория на ден</small>",
|
||||||
|
|
||||||
"federation.title": "Настройки за федерирането на категорията „%1“",
|
|
||||||
"federation.disabled": "Федерирането е изключено за целия уеб сайт, така че настройките за федерирането на категорията са недостъпни.",
|
|
||||||
"federation.disabled-cta": "Настройки за федерирането →",
|
|
||||||
"federation.syncing-header": "Синхронизиране",
|
|
||||||
"federation.syncing-intro": "Една категория може да следва „група от източници“ чрез протокола ActivityPub. Ако бъде получено съдържание от който и да е източник от посочените по-долу, то ще бъде автоматично добавено в тази категория.",
|
|
||||||
"federation.syncing-caveat": "Забележка: настройките за синхронизиране тук установяват еднопосочна синхронизация. NodeBB ще се опита да се абонира/следва източника, но обратното не бива да се подразбира.",
|
|
||||||
"federation.syncing-none": "Тази категория в момента не следва никого.",
|
|
||||||
"federation.syncing-add": "Синхронизиране с…",
|
|
||||||
"federation.syncing-actorUri": "Източник",
|
|
||||||
"federation.syncing-follow": "Следване",
|
|
||||||
"federation.syncing-unfollow": "Спиране на следването",
|
|
||||||
"federation.followers": "Отдалечени потребители, които следват тази категория",
|
|
||||||
"federation.followers-handle": "Идентификатор",
|
|
||||||
"federation.followers-id": "Ид.",
|
|
||||||
"federation.followers-none": "Няма последователи.",
|
|
||||||
|
|
||||||
"alert.created": "Създадена",
|
"alert.created": "Създадена",
|
||||||
"alert.create-success": "Категорията е създадена успешно!",
|
"alert.create-success": "Категорията е създадена успешно!",
|
||||||
"alert.none-active": "Нямате активни категории.",
|
"alert.none-active": "Нямате активни категории.",
|
||||||
|
|||||||
@@ -1,28 +0,0 @@
|
|||||||
{
|
|
||||||
"title": "Управление на персонализираните потребителски полета",
|
|
||||||
"create-field": "Създаване на поле",
|
|
||||||
"edit-field": "Редактиране на полето",
|
|
||||||
"manage-custom-fields": "Управление на персонализираните полета",
|
|
||||||
"type-of-input": "Вид на входните данни",
|
|
||||||
"key": "Ключ",
|
|
||||||
"name": "Име",
|
|
||||||
"icon": "Иконка",
|
|
||||||
"type": "Тип",
|
|
||||||
"min-rep": "Минимална репутация",
|
|
||||||
"input-type-text": "Въвеждане (текст)",
|
|
||||||
"input-type-link": "Въвеждане (връзка)",
|
|
||||||
"input-type-number": "Въвеждане (число)",
|
|
||||||
"input-type-date": "Въвеждане (дата)",
|
|
||||||
"input-type-select": "Избиране",
|
|
||||||
"input-type-select-multi": "Избиране на множество",
|
|
||||||
"select-options": "Опции",
|
|
||||||
"select-options-help": "Добавете по една опция на ред за избрания елемент",
|
|
||||||
"minimum-reputation": "Минимална репутация",
|
|
||||||
"minimum-reputation-help": "Ако потребителят има по-малко репутация от посочената, той няма да може да използва това поле",
|
|
||||||
"delete-field-confirm-x": "Наистина ли искате да изтриете персонализираното поле „%1“?",
|
|
||||||
"custom-fields-saved": "Персонализираните полета са запазени",
|
|
||||||
"visibility": "Видимост",
|
|
||||||
"visibility-all": "Всички могат да виждат полето",
|
|
||||||
"visibility-loggedin": "Само вписаните потребители могат да виждат полето",
|
|
||||||
"visibility-privileged": "Само потребителите с по-високи правомощия (като администратори и модератори) могат да виждат полето"
|
|
||||||
}
|
|
||||||
@@ -22,7 +22,6 @@
|
|||||||
"delete-content": "Изтриване на <strong>съдържанието</strong> на потребителя/ите",
|
"delete-content": "Изтриване на <strong>съдържанието</strong> на потребителя/ите",
|
||||||
"purge": "Изтриване на <strong>потребителя/ите</strong> и <strong>съдържанието</strong>",
|
"purge": "Изтриване на <strong>потребителя/ите</strong> и <strong>съдържанието</strong>",
|
||||||
"download-csv": "Сваляне във формат „CSV“",
|
"download-csv": "Сваляне във формат „CSV“",
|
||||||
"custom-user-fields": "Персонализирани потребителски полета",
|
|
||||||
"manage-groups": "Управление на групите",
|
"manage-groups": "Управление на групите",
|
||||||
"set-reputation": "Задаване на репутация",
|
"set-reputation": "Задаване на репутация",
|
||||||
"add-group": "Добавяне на група",
|
"add-group": "Добавяне на група",
|
||||||
@@ -122,28 +121,6 @@
|
|||||||
"alerts.email-sent-to": "Беше изпратено е-писмо за потвърждение до %1",
|
"alerts.email-sent-to": "Беше изпратено е-писмо за потвърждение до %1",
|
||||||
"alerts.x-users-found": "Намерени потребители: %1 (%2 секунди)",
|
"alerts.x-users-found": "Намерени потребители: %1 (%2 секунди)",
|
||||||
"alerts.select-a-single-user-to-change-email": "Изберете един потребител, чиято е-поща да промените",
|
"alerts.select-a-single-user-to-change-email": "Изберете един потребител, чиято е-поща да промените",
|
||||||
"export": "Изнасяне",
|
|
||||||
"export-users-fields-title": "Изберете полета за CSV",
|
|
||||||
"export-field-email": "Е-поща",
|
|
||||||
"export-field-username": "Потребителско име",
|
|
||||||
"export-field-uid": "Потребителски идентификатор",
|
|
||||||
"export-field-ip": "IP адрес",
|
|
||||||
"export-field-joindate": "Дата на присъединяване",
|
|
||||||
"export-field-lastonline": "Последно на линия",
|
|
||||||
"export-field-lastposttime": "Време на последния отговор",
|
|
||||||
"export-field-reputation": "Репутация",
|
|
||||||
"export-field-postcount": "Брой публикации",
|
|
||||||
"export-field-topiccount": "Брой теми",
|
|
||||||
"export-field-profileviews": "Преглеждания на профила",
|
|
||||||
"export-field-followercount": "Брой последователи",
|
|
||||||
"export-field-followingcount": "Брой последвани",
|
|
||||||
"export-field-fullname": "Пълно име",
|
|
||||||
"export-field-website": "Уеб сайт",
|
|
||||||
"export-field-location": "Местоположение",
|
|
||||||
"export-field-birthday": "Рождена дата",
|
|
||||||
"export-field-signature": "Подпис",
|
|
||||||
"export-field-aboutme": "За потребителя",
|
|
||||||
|
|
||||||
"export-users-started": "Изнасяне на потребителите във формат „csv“… Това може да отнеме известно време. Ще получите известие, когато е готово.",
|
"export-users-started": "Изнасяне на потребителите във формат „csv“… Това може да отнеме известно време. Ще получите известие, когато е готово.",
|
||||||
"export-users-completed": "Потребителите са изнесени във формат „csv“, щракнете за сваляне.",
|
"export-users-completed": "Потребителите са изнесени във формат „csv“, щракнете за сваляне.",
|
||||||
"email": "Е-поща",
|
"email": "Е-поща",
|
||||||
|
|||||||
@@ -38,7 +38,6 @@
|
|||||||
"settings/tags": "Етикети",
|
"settings/tags": "Етикети",
|
||||||
"settings/notifications": "Известия",
|
"settings/notifications": "Известия",
|
||||||
"settings/api": "Достъп чрез ППИ",
|
"settings/api": "Достъп чрез ППИ",
|
||||||
"settings/activitypub": "Федериране (ActivityPub)",
|
|
||||||
"settings/sounds": "Звуци",
|
"settings/sounds": "Звуци",
|
||||||
"settings/social": "Обществени",
|
"settings/social": "Обществени",
|
||||||
"settings/cookies": "Бисквитки",
|
"settings/cookies": "Бисквитки",
|
||||||
|
|||||||
@@ -1,26 +0,0 @@
|
|||||||
{
|
|
||||||
"intro-lead": "Какво представлява федерирането?",
|
|
||||||
"intro-body": "NodeBB може да осъществява връзка с други инсталации на NodeBB, които поддържат това. Това се постига чрез протокол наречен <a href=\"https://activitypub.rocks/\">ActivityPub</a>. Ако е включено, NodeBB ще може да осъществява връзка и с други приложения и уеб сайтове, които ползват ActivityPub (например Мастодон, Peertube и т.н.)",
|
|
||||||
"general": "Общи",
|
|
||||||
"pruning": "Премахване на съдържанието",
|
|
||||||
"content-pruning": "Брой дни за съхранение на отдалечено съдържание",
|
|
||||||
"content-pruning-help": "Имайте предвид, че отдалеченото съдържание, за което е имало някакви действия (отговори или положителни/отрицателни гласове) ще бъде запазено. (0 = изключено)",
|
|
||||||
"user-pruning": "Брой дни за кеширане на отдалечените потребителски акаунти",
|
|
||||||
"user-pruning-help": "Отдалечените потребителски акаунти ще бъдат премахнати, само ако не са публикували нищо. Иначе ще бъдат извличани повторно. (0 = изключено)",
|
|
||||||
"enabled": "Включване на федерирането",
|
|
||||||
"enabled-help": "Ако е включено, този NodeBB ще може да осъществява връзка с всички клиенти ползващи ActivityPub в цялата федивселена.",
|
|
||||||
"allowLoopback": "Разрешаване на обработката на локална обратна връзка",
|
|
||||||
"allowLoopback-help": "Полезно само за дебъгване. Най-добре е това да бъде изключено",
|
|
||||||
|
|
||||||
"probe": "Отваряне в приложението",
|
|
||||||
"probe-enabled": "Дали да се опитва отваряне на нещата поддържащи ActivityPub в NodeBB",
|
|
||||||
"probe-enabled-help": "Ако е включено, NodeBB ще проверява всяка външна връзка дали поддържа ActivityPub и ако е така – ще я зарежда направо в NodeBB.",
|
|
||||||
"probe-timeout": "Време за изчакване на проверката (милисекунди)",
|
|
||||||
"probe-timeout-help": "(По подразбиране: 2000) Ако проверката не получи отговор в рамките на зададеното време, потребителят ще бъде изпратен директно на адреса на връзката. Задайте по-голямо число, ако уеб сайтовете отговарят по-бавно и искате да им дадете повече време.",
|
|
||||||
|
|
||||||
"server-filtering": "Филтриране",
|
|
||||||
"count": "Този NodeBB в момента знае за наличието на <strong>%1</strong> сървър(а)",
|
|
||||||
"server.filter-help": "Посочете сървърите, с които не искате Вашият NodeBB да осъществява връзка. Или можете вместо това да посочите конкретни сървъри, с които <em>разрешавате</em> връзката. И двете възможности са налични, но може да изберете само една от тях.",
|
|
||||||
"server.filter-help-hostname": "Въведете само имената на сървърите по-долу (например <code>example.org</code>), като всеки сървър трябва да е на отделен ред.",
|
|
||||||
"server.filter-allow-list": "Това да се ползва като списък с разрешените сървъри"
|
|
||||||
}
|
|
||||||
@@ -15,7 +15,7 @@
|
|||||||
"title-layout": "Разположение на заглавието",
|
"title-layout": "Разположение на заглавието",
|
||||||
"title-layout-help": "Определете как ще бъде структурирано заглавието на браузъра, например: {pageTitle} | {browserTitle}",
|
"title-layout-help": "Определете как ще бъде структурирано заглавието на браузъра, например: {pageTitle} | {browserTitle}",
|
||||||
"description.placeholder": "Кратко описание на общността Ви",
|
"description.placeholder": "Кратко описание на общността Ви",
|
||||||
"description": "Изберете коя страница да бъде показана, когато потребителите отидат на главния адрес на форума.",
|
"description": "Описание на уеб сайта",
|
||||||
"keywords": "Ключови думи на уеб сайта",
|
"keywords": "Ключови думи на уеб сайта",
|
||||||
"keywords-placeholder": "Ключови думи, описващи общността Ви. Трябва да бъдат разделени със запетаи.",
|
"keywords-placeholder": "Ключови думи, описващи общността Ви. Трябва да бъдат разделени със запетаи.",
|
||||||
"logo-and-icons": "Лого и иконки на уеб сайта",
|
"logo-and-icons": "Лого и иконки на уеб сайта",
|
||||||
@@ -48,15 +48,5 @@
|
|||||||
"background-color-help": "Цвят, който да се използва като фон за началния екран, когато уеб сайтът е инсталиран като приложение",
|
"background-color-help": "Цвят, който да се използва като фон за началния екран, когато уеб сайтът е инсталиран като приложение",
|
||||||
"undo-timeout": "Време за отмяна",
|
"undo-timeout": "Време за отмяна",
|
||||||
"undo-timeout-help": "Някои действия, като например преместването на теми, могат да бъдат отменени от модератора в рамките на определено време. Задайте 0, за да забраните изцяло отменянето.",
|
"undo-timeout-help": "Някои действия, като например преместването на теми, могат да бъдат отменени от модератора в рамките на определено време. Задайте 0, за да забраните изцяло отменянето.",
|
||||||
"topic-tools": "Инструменти за темите",
|
"topic-tools": "Инструменти за темите"
|
||||||
"home-page": "Начална страница",
|
}
|
||||||
"home-page-route": "Път на началната страница",
|
|
||||||
"custom-route": "Персонализиран път",
|
|
||||||
"allow-user-home-pages": "Разрешаване на потребителските начални страници",
|
|
||||||
"home-page-title": "Заглавие на началната страница (по подразбиране: „Начало“)",
|
|
||||||
"default-language": "Език по подразбиране",
|
|
||||||
"auto-detect": "Автоматично разпознаване на езика за гостите",
|
|
||||||
"default-language-help": "Езикът по подразбиране определя езиковите настройки за всички потребители, които посещават Вашия форум. <br />Отделните потребители могат да сменят езика си от страницата с настройки на профила си.",
|
|
||||||
"post-sharing": "Споделяне на публикации",
|
|
||||||
"info-plugins-additional": "Добавките могат да добавят допълнителни мрежи за споделяне на публикации."
|
|
||||||
}
|
|
||||||
|
|||||||
8
public/language/bg/admin/settings/guest.json
Normal file
8
public/language/bg/admin/settings/guest.json
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"settings": "Настройки",
|
||||||
|
"guest-settings": "Настройки за гостите",
|
||||||
|
"handles.enabled": "Позволяване на имената за гостите",
|
||||||
|
"handles.enabled-help": "Тази възможност предоставя ново поле, което позволява на гостите да си изберат име, което да се използва за всяка публикация, която правят. Ако е изключено, всички те просто ще имат името „Гост“.",
|
||||||
|
"topic-views.enabled": "Гостите да допринасят за броя на преглеждания на темите",
|
||||||
|
"reply-notifications.enabled": "Гостите да могат да предизвикват изпращането на известия за отговорите си"
|
||||||
|
}
|
||||||
8
public/language/bg/admin/settings/homepage.json
Normal file
8
public/language/bg/admin/settings/homepage.json
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"home-page": "Начална страница",
|
||||||
|
"description": "Изберете коя страница да бъде показана, когато потребителите отидат на главния адрес на форума.",
|
||||||
|
"home-page-route": "Път на началната страница",
|
||||||
|
"custom-route": "Персонализиран път",
|
||||||
|
"allow-user-home-pages": "Разрешаване на потребителските начални страници",
|
||||||
|
"home-page-title": "Заглавие на началната страница (по подразбиране: „Начало“)"
|
||||||
|
}
|
||||||
6
public/language/bg/admin/settings/languages.json
Normal file
6
public/language/bg/admin/settings/languages.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"language-settings": "Езикови настройки",
|
||||||
|
"description": "Езикът по подразбиране определя езиковите настройки за всички потребители, които посещават Вашия форум. <br />Отделните потребители могат да сменят езика си от страницата с настройки на профила си.",
|
||||||
|
"default-language": "Език по подразбиране",
|
||||||
|
"auto-detect": "Автоматично разпознаване на езика за гостите"
|
||||||
|
}
|
||||||
@@ -10,7 +10,7 @@
|
|||||||
"id": "Идентификатор: <small>незадължително</small>",
|
"id": "Идентификатор: <small>незадължително</small>",
|
||||||
|
|
||||||
"properties": "Свойства:",
|
"properties": "Свойства:",
|
||||||
"show-to-groups": "Показване на групите:",
|
"groups": "Групи:",
|
||||||
"open-new-window": "Отваряне в нов прозорец",
|
"open-new-window": "Отваряне в нов прозорец",
|
||||||
"dropdown": "Падащо меню",
|
"dropdown": "Падащо меню",
|
||||||
"dropdown-placeholder": "Въведете елементите на падащото меню по-долу. Пример: <br/><li><a class="dropdown-item" href="https://myforum.com">Връзка 1</a></li>",
|
"dropdown-placeholder": "Въведете елементите на падащото меню по-долу. Пример: <br/><li><a class="dropdown-item" href="https://myforum.com">Връзка 1</a></li>",
|
||||||
|
|||||||
@@ -4,11 +4,8 @@
|
|||||||
"sorting.post-default": "Подредба по подразбиране на публикациите",
|
"sorting.post-default": "Подредба по подразбиране на публикациите",
|
||||||
"sorting.oldest-to-newest": "Първо най-старите",
|
"sorting.oldest-to-newest": "Първо най-старите",
|
||||||
"sorting.newest-to-oldest": "Първо най-новите",
|
"sorting.newest-to-oldest": "Първо най-новите",
|
||||||
"sorting.recently-replied": "Първо тези с най-скорошни отговори",
|
|
||||||
"sorting.recently-created": "Първо най-скоро създадените",
|
|
||||||
"sorting.most-votes": "Първо тези с най-много гласове",
|
"sorting.most-votes": "Първо тези с най-много гласове",
|
||||||
"sorting.most-posts": "Първо тези с най-много публикации",
|
"sorting.most-posts": "Първо тези с най-много публикации",
|
||||||
"sorting.most-views": "Първо тези с най-много преглеждания",
|
|
||||||
"sorting.topic-default": "Подредба по подразбиране на темите",
|
"sorting.topic-default": "Подредба по подразбиране на темите",
|
||||||
"length": "Дължина на публикациите",
|
"length": "Дължина на публикациите",
|
||||||
"post-queue": "Опашка за публикации",
|
"post-queue": "Опашка за публикации",
|
||||||
|
|||||||
@@ -2,14 +2,7 @@
|
|||||||
"reputation": "Настройки за репутацията",
|
"reputation": "Настройки за репутацията",
|
||||||
"disable": "Изключване на системата за репутация",
|
"disable": "Изключване на системата за репутация",
|
||||||
"disable-down-voting": "Забрана на отрицателното гласуване",
|
"disable-down-voting": "Забрана на отрицателното гласуване",
|
||||||
"upvote-visibility": "Видимост на положителните гласове",
|
"votes-are-public": "Всички гласувания са публични",
|
||||||
"upvote-visibility-all": "Всички могат да виждат положителните гласове",
|
|
||||||
"upvote-visibility-loggedin": "Само вписаните потребители могат да виждат положителните гласове",
|
|
||||||
"upvote-visibility-privileged": "Само потребителите с по-високи правомощия (като администратори и модератори) могат да виждат положителните гласове",
|
|
||||||
"downvote-visibility": "Видимост на отрицателните гласове",
|
|
||||||
"downvote-visibility-all": "Всички могат да виждат отрицателните гласове",
|
|
||||||
"downvote-visibility-loggedin": "Само вписаните потребители могат да виждат отрицателните гласове",
|
|
||||||
"downvote-visibility-privileged": "Само потребителите с по-високи правомощия (като администратори и модератори) могат да виждат отрицателните гласове",
|
|
||||||
"thresholds": "Ограничения на дейността",
|
"thresholds": "Ограничения на дейността",
|
||||||
"min-rep-upvote": "Минимална репутация, необходима за положително гласуване за публикации",
|
"min-rep-upvote": "Минимална репутация, необходима за положително гласуване за публикации",
|
||||||
"upvotes-per-day": "Положителни гласувания за ден (задайте 0 за неограничен брой)",
|
"upvotes-per-day": "Положителни гласувания за ден (задайте 0 за неограничен брой)",
|
||||||
@@ -20,6 +13,7 @@
|
|||||||
"min-rep-chat": "Минимална репутация, необходима за изпращане на съобщения в разговори",
|
"min-rep-chat": "Минимална репутация, необходима за изпращане на съобщения в разговори",
|
||||||
"min-rep-post-links": "Минимална репутация, необходима за публикуване на връзки",
|
"min-rep-post-links": "Минимална репутация, необходима за публикуване на връзки",
|
||||||
"min-rep-flag": "Минимална репутация, необходима за докладване на публикации",
|
"min-rep-flag": "Минимална репутация, необходима за докладване на публикации",
|
||||||
|
"min-rep-website": "Минимална репутация, необходима за добавяне на полето „Уебсайт“ към профила на потребителя",
|
||||||
"min-rep-aboutme": "Минимална репутация, необходима за добавяне на полето „За мен“ към профила на потребителя",
|
"min-rep-aboutme": "Минимална репутация, необходима за добавяне на полето „За мен“ към профила на потребителя",
|
||||||
"min-rep-signature": "Минимална репутация, необходима за добавяне на полето „Подпис“ към профила на потребителя",
|
"min-rep-signature": "Минимална репутация, необходима за добавяне на полето „Подпис“ към профила на потребителя",
|
||||||
"min-rep-profile-picture": "Минимална репутация, необходима за добавяне на профилна снимка към профила на потребителя",
|
"min-rep-profile-picture": "Минимална репутация, необходима за добавяне на профилна снимка към профила на потребителя",
|
||||||
@@ -29,12 +23,7 @@
|
|||||||
"flags.limit-per-target": "Максимален брой докладвания на едно и също нещо",
|
"flags.limit-per-target": "Максимален брой докладвания на едно и също нещо",
|
||||||
"flags.limit-per-target-placeholder": "По подразбиране: 0",
|
"flags.limit-per-target-placeholder": "По подразбиране: 0",
|
||||||
"flags.limit-per-target-help": "Когато публикация или потребител бъде докладван няколко пъти, това се добавя към един общ доклад. Задайте на тази настройка стойност по-голяма от нула, за да ограничите броя на докладванията, които могат да бъдат натрупани към една публикация или потребител.",
|
"flags.limit-per-target-help": "Когато публикация или потребител бъде докладван няколко пъти, това се добавя към един общ доклад. Задайте на тази настройка стойност по-голяма от нула, за да ограничите броя на докладванията, които могат да бъдат натрупани към една публикация или потребител.",
|
||||||
"flags.limit-post-flags-per-day": "Максимален брой публикации, които потребител може да докладва в рамките на един ден",
|
"flags.auto-flag-on-downvote-threshold": "Брой отрицателни гласове, при които публикациите да бъдат докладвани автоматично (0 = изключено, по подразбиране: 0)",
|
||||||
"flags.limit-post-flags-per-day-help": "Задайте 0 за изключване (по подразбиране: 10)",
|
|
||||||
"flags.limit-user-flags-per-day": "Максимален брой потребители, които даден потребител може да докладва в рамките на един ден",
|
|
||||||
"flags.limit-user-flags-per-day-help": "Задайте 0 за изключване (по подразбиране: 10)",
|
|
||||||
"flags.auto-flag-on-downvote-threshold": "Брой отрицателни гласове за автоматично докладване на публикации",
|
|
||||||
"flags.auto-flag-on-downvote-threshold-help": "Задайте 0 за изключване (по подразбиране: 0)",
|
|
||||||
"flags.auto-resolve-on-ban": "Автоматично премахване на всички доклади за потребител, когато той бъде блокиран",
|
"flags.auto-resolve-on-ban": "Автоматично премахване на всички доклади за потребител, когато той бъде блокиран",
|
||||||
"flags.action-on-resolve": "Когато докладване бъде разрешено, да се направи следното",
|
"flags.action-on-resolve": "Когато докладване бъде разрешено, да се направи следното",
|
||||||
"flags.action-on-reject": "Когато докладване бъде отхвърлено, да се направи следното",
|
"flags.action-on-reject": "Когато докладване бъде отхвърлено, да се направи следното",
|
||||||
|
|||||||
4
public/language/bg/admin/settings/social.json
Normal file
4
public/language/bg/admin/settings/social.json
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"post-sharing": "Споделяне на публикации",
|
||||||
|
"info-plugins-additional": "Добавките могат да добавят допълнителни мрежи за споделяне на публикации."
|
||||||
|
}
|
||||||
@@ -9,10 +9,9 @@
|
|||||||
"private-extensions": "Файлови разширения, които да бъдат частни",
|
"private-extensions": "Файлови разширения, които да бъдат частни",
|
||||||
"private-uploads-extensions-help": "Въведете списък от файлови разширения, разделени със запетаи, които искате да бъдат частни (например <code>pdf,xls,doc</code>). Ако оставите това поле празно, всички файлове ще бъдат частни.",
|
"private-uploads-extensions-help": "Въведете списък от файлови разширения, разделени със запетаи, които искате да бъдат частни (например <code>pdf,xls,doc</code>). Ако оставите това поле празно, всички файлове ще бъдат частни.",
|
||||||
"resize-image-width-threshold": "Преоразмеряване на изображенията, ако са по-широки от определената ширина",
|
"resize-image-width-threshold": "Преоразмеряване на изображенията, ако са по-широки от определената ширина",
|
||||||
"resize-image-width-threshold-help": "(в пиксели; по подразбиране: 2000 пиксела. 0 = изключено)",
|
"resize-image-width-threshold-help": "(в пиксели; по подразбиране: 1520 пиксела. 0 = изключено)",
|
||||||
"resize-image-width": "Намаляване на размера на изображенията до определена ширина",
|
"resize-image-width": "Намаляване на размера на изображенията до определена ширина",
|
||||||
"resize-image-width-help": "(в пиксели; по подразбиране: 760 пиксела. 0 = изключено)",
|
"resize-image-width-help": "(в пиксели; по подразбиране: 760 пиксела. 0 = изключено)",
|
||||||
"resize-image-keep-original": "Запазване на оригиналното изображение след преоразмеряване",
|
|
||||||
"resize-image-quality": "Качество при преоразмеряване на изображенията",
|
"resize-image-quality": "Качество при преоразмеряване на изображенията",
|
||||||
"resize-image-quality-help": "Използване на по-ниско качество за намаляване на размера на файловете за преоразмерените изображения.",
|
"resize-image-quality-help": "Използване на по-ниско качество за намаляване на размера на файловете за преоразмерените изображения.",
|
||||||
"max-file-size": "Максимален размер на файловете (в КиБ)",
|
"max-file-size": "Максимален размер на файловете (в КиБ)",
|
||||||
|
|||||||
@@ -88,10 +88,5 @@
|
|||||||
"restrictions.seconds-before-new": "Брой секунди преди новите потребители да могат да публикуват за пръв път",
|
"restrictions.seconds-before-new": "Брой секунди преди новите потребители да могат да публикуват за пръв път",
|
||||||
"restrictions.seconds-edit-after-new": "Брой секунди, през които публикациите могат да бъдат редактирани от нови потребители. (0 = изключено)",
|
"restrictions.seconds-edit-after-new": "Брой секунди, през които публикациите могат да бъдат редактирани от нови потребители. (0 = изключено)",
|
||||||
"restrictions.milliseconds-between-messages": "Време между съобщенията в разговорите за нови потребители (мсек)",
|
"restrictions.milliseconds-between-messages": "Време между съобщенията в разговорите за нови потребители (мсек)",
|
||||||
"restrictions.groups-exempt-from-new-user-restrictions": "Избиране на групи, за които да не важат ограниченията за нови потребители",
|
"restrictions.groups-exempt-from-new-user-restrictions": "Избиране на групи, за които да не важат ограниченията за нови потребители"
|
||||||
"guest-settings": "Настройки за гостите",
|
}
|
||||||
"handles.enabled": "Позволяване на имената за гостите",
|
|
||||||
"handles.enabled-help": "Тази възможност предоставя ново поле, което позволява на гостите да си изберат име, което да се използва за всяка публикация, която правят. Ако е изключено, всички те просто ще имат името „Гост“.",
|
|
||||||
"topic-views.enabled": "Гостите да допринасят за броя на преглеждания на темите",
|
|
||||||
"reply-notifications.enabled": "Гостите да могат да предизвикват изпращането на известия за отговорите си"
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,9 +0,0 @@
|
|||||||
{
|
|
||||||
"post-sort-option": "Настройка за подредбата на публикациите, %1",
|
|
||||||
"topic-sort-option": "Настройка за подредбата на темите, %1",
|
|
||||||
"user-avatar-for": "Изображение на потребителя за %1",
|
|
||||||
"profile-page-for": "Профилна страница за потребителя %1",
|
|
||||||
"user-watched-tags": "Наблюдавани от потребителя етикети",
|
|
||||||
"delete-upload-button": "Бутон за изтриване на каченото",
|
|
||||||
"group-page-link-for": "Връзка към груповата страница за %1"
|
|
||||||
}
|
|
||||||
@@ -32,7 +32,7 @@
|
|||||||
"folder-exists": "Вече има папка с това име",
|
"folder-exists": "Вече има папка с това име",
|
||||||
"invalid-pagination-value": "Грешен номер на странициране, трябва да бъде между %1 и %2",
|
"invalid-pagination-value": "Грешен номер на странициране, трябва да бъде между %1 и %2",
|
||||||
"username-taken": "Потребителското име е заето",
|
"username-taken": "Потребителското име е заето",
|
||||||
"email-taken": "Адресът на е-пощата вече е зает.",
|
"email-taken": "Е-пощата е заета",
|
||||||
"email-nochange": "Въведената е-поща е същата като съществуващата.",
|
"email-nochange": "Въведената е-поща е същата като съществуващата.",
|
||||||
"email-invited": "На тази е-поща вече е била изпратена покана",
|
"email-invited": "На тази е-поща вече е била изпратена покана",
|
||||||
"email-not-confirmed": "Публикуването в някои категории и теми ще бъде възможно едва след като е-пощата Ви бъде потвърдена. Щръкнете тук, за да Ви изпратим е-писмо за потвърждение.",
|
"email-not-confirmed": "Публикуването в някои категории и теми ще бъде възможно едва след като е-пощата Ви бъде потвърдена. Щръкнете тук, за да Ви изпратим е-писмо за потвърждение.",
|
||||||
@@ -153,7 +153,6 @@
|
|||||||
"about-me-too-long": "Съжаляваме, но информацията за Вас трябва да съдържа не повече от %1 символ(а).",
|
"about-me-too-long": "Съжаляваме, но информацията за Вас трябва да съдържа не повече от %1 символ(а).",
|
||||||
"cant-chat-with-yourself": "Не можете да пишете съобщение на себе си!",
|
"cant-chat-with-yourself": "Не можете да пишете съобщение на себе си!",
|
||||||
"chat-restricted": "Този потребител е ограничил съобщенията до себе си. Той трябва първо да Ви последва, преди да можете да си пишете с него.",
|
"chat-restricted": "Този потребител е ограничил съобщенията до себе си. Той трябва първо да Ви последва, преди да можете да си пишете с него.",
|
||||||
"chat-user-blocked": "Бяхте блокиран(а) от този потребител.",
|
|
||||||
"chat-disabled": "Системата за разговори е изключена",
|
"chat-disabled": "Системата за разговори е изключена",
|
||||||
"too-many-messages": "Изпратили сте твърде много съобщения. Моля, изчакайте малко.",
|
"too-many-messages": "Изпратили сте твърде много съобщения. Моля, изчакайте малко.",
|
||||||
"invalid-chat-message": "Неправилно съобщение",
|
"invalid-chat-message": "Неправилно съобщение",
|
||||||
@@ -181,20 +180,10 @@
|
|||||||
"not-enough-reputation-min-rep-signature": "Репутацията Ви трябва да бъде поне %1, за да добавите подпис",
|
"not-enough-reputation-min-rep-signature": "Репутацията Ви трябва да бъде поне %1, за да добавите подпис",
|
||||||
"not-enough-reputation-min-rep-profile-picture": "Репутацията Ви трябва да бъде поне %1, за да добавите снимка на профила си",
|
"not-enough-reputation-min-rep-profile-picture": "Репутацията Ви трябва да бъде поне %1, за да добавите снимка на профила си",
|
||||||
"not-enough-reputation-min-rep-cover-picture": "Репутацията Ви трябва да бъде поне %1, за да добавите снимка на корицата",
|
"not-enough-reputation-min-rep-cover-picture": "Репутацията Ви трябва да бъде поне %1, за да добавите снимка на корицата",
|
||||||
"not-enough-reputation-custom-field": "Репутацията Ви трябва да бъде поне %1 за %2",
|
|
||||||
"custom-user-field-value-too-long": "Стойността в персонализираното поле е твърде дълга, %1",
|
|
||||||
"custom-user-field-select-value-invalid": "Избраната опция в персонализираното поле е твърде неправилна, %1",
|
|
||||||
"custom-user-field-invalid-text": "Текстът в персонализираното поле е неправилен, %1",
|
|
||||||
"custom-user-field-invalid-link": "Връзката в персонализираното поле е неправилна, %1",
|
|
||||||
"custom-user-field-invalid-number": "Числото в персонализираното поле е неправилно, %1",
|
|
||||||
"custom-user-field-invalid-date": "Датата в персонализираното поле е неправилна, %1",
|
|
||||||
"invalid-custom-user-field": "Неправилно персонализирано поле. „%1“ вече се ползва от NodeBB",
|
|
||||||
"post-already-flagged": "Вече сте докладвали тази публикация",
|
"post-already-flagged": "Вече сте докладвали тази публикация",
|
||||||
"user-already-flagged": "Вече сте докладвали този потребител",
|
"user-already-flagged": "Вече сте докладвали този потребител",
|
||||||
"post-flagged-too-many-times": "Тази публикация вече е докладвана от други хора",
|
"post-flagged-too-many-times": "Тази публикация вече е докладвана от други хора",
|
||||||
"user-flagged-too-many-times": "Този потребител вече е докладван от други хора",
|
"user-flagged-too-many-times": "Този потребител вече е докладван от други хора",
|
||||||
"too-many-post-flags-per-day": "Можете да докладвате най-много %1 публикации на ден",
|
|
||||||
"too-many-user-flags-per-day": "Можете да докладвате най-много %1 потребител(и) на ден",
|
|
||||||
"cant-flag-privileged": "Не можете да докладвате профилите или съдържанието от потребители с по-високи правомощия (модератори, глобални модератори, администратори)",
|
"cant-flag-privileged": "Не можете да докладвате профилите или съдържанието от потребители с по-високи правомощия (модератори, глобални модератори, администратори)",
|
||||||
"cant-locate-flag-report": "Докладът не може да бъде намерен",
|
"cant-locate-flag-report": "Докладът не може да бъде намерен",
|
||||||
"self-vote": "Не можете да гласувате за собствената си публикация",
|
"self-vote": "Не можете да гласувате за собствената си публикация",
|
||||||
@@ -230,12 +219,10 @@
|
|||||||
"already-unblocked": "Този потребител вече е отблокиран",
|
"already-unblocked": "Този потребител вече е отблокиран",
|
||||||
"no-connection": "Изглежда има проблем с връзката Ви с Интернет",
|
"no-connection": "Изглежда има проблем с връзката Ви с Интернет",
|
||||||
"socket-reconnect-failed": "В момента сървърът е недостъпен. Натиснете тук, за да опитате отново, или опитайте пак по-късно.",
|
"socket-reconnect-failed": "В момента сървърът е недостъпен. Натиснете тук, за да опитате отново, или опитайте пак по-късно.",
|
||||||
"invalid-plugin-id": "Грешен идентификатор на добавка",
|
|
||||||
"plugin-not-whitelisted": "Добавката не може да бъде инсталирана – само добавки, одобрени от пакетния мениджър на NodeBB могат да бъдат инсталирани чрез ACP",
|
"plugin-not-whitelisted": "Добавката не може да бъде инсталирана – само добавки, одобрени от пакетния мениджър на NodeBB могат да бъдат инсталирани чрез ACP",
|
||||||
"plugins-set-in-configuration": "Не можете да променяте състоянието на добавката, тъй като то се определя по време на работата ѝ (чрез config.json, променливи на средата или аргументи при изпълнение). Вместо това може да промените конфигурацията.",
|
"plugins-set-in-configuration": "Не можете да променяте състоянието на добавката, тъй като то се определя по време на работата ѝ (чрез config.json, променливи на средата или аргументи при изпълнение). Вместо това може да промените конфигурацията.",
|
||||||
"theme-not-set-in-configuration": "Когато определяте активните добавки в конфигурацията, промяната на темите изисква да се добави новата тема към активните добавки, преди актуализирането ѝ в ACP",
|
"theme-not-set-in-configuration": "Когато определяте активните добавки в конфигурацията, промяната на темите изисква да се добави новата тема към активните добавки, преди актуализирането ѝ в ACP",
|
||||||
"topic-event-unrecognized": "Събитието „%1“ на темата е неизвестно",
|
"topic-event-unrecognized": "Събитието „%1“ на темата е неизвестно",
|
||||||
"category.handle-taken": "Идентификаторът на категорията е зает. Моля, изберете друг.",
|
|
||||||
"cant-set-child-as-parent": "Дъщерна категория не може да се зададе като базова такава",
|
"cant-set-child-as-parent": "Дъщерна категория не може да се зададе като базова такава",
|
||||||
"cant-set-self-as-parent": "Категорията не може да се зададе като базова категория на себе си",
|
"cant-set-self-as-parent": "Категорията не може да се зададе като базова категория на себе си",
|
||||||
"api.master-token-no-uid": "Беше получен главен идентификатор без съответстващо поле `_uid` в тялото на заявката",
|
"api.master-token-no-uid": "Беше получен главен идентификатор без съответстващо поле `_uid` в тялото на заявката",
|
||||||
@@ -248,12 +235,5 @@
|
|||||||
"api.500": "При обработката на заявката Ви възникна неочаквана грешка.",
|
"api.500": "При обработката на заявката Ви възникна неочаквана грешка.",
|
||||||
"api.501": "Пътят, който се опитвате да извикате, все още не съществува. Моля, опитайте отново утре.",
|
"api.501": "Пътят, който се опитвате да извикате, все още не съществува. Моля, опитайте отново утре.",
|
||||||
"api.503": "Пътят, който се опитвате да извикате, в момента не е достъпен, поради настройките на сървъра.",
|
"api.503": "Пътят, който се опитвате да извикате, в момента не е достъпен, поради настройките на сървъра.",
|
||||||
"api.reauth-required": "Ресурсът, който се опитвате да достъпите, изисква (повторно) удостоверяване.",
|
"api.reauth-required": "Ресурсът, който се опитвате да достъпите, изисква (повторно) удостоверяване."
|
||||||
"activitypub.not-enabled": "Federation is not enabled on this server",
|
|
||||||
"activitypub.invalid-id": "Входният идентификатор не може да бъде разпознат – може да е неправилен.",
|
|
||||||
"activitypub.get-failed": "Посоченият материал не може да бъде получен.",
|
|
||||||
"activitypub.pubKey-not-found": "Публичният ключ не може да бъде разпознат, така че потвърждението на данните не може да бъде извършено.",
|
|
||||||
"activitypub.origin-mismatch": "Произходът на получения обект не съвпада с произхода на подателя",
|
|
||||||
"activitypub.actor-mismatch": "Полученото действие се изпълнява от източник, който е различен от очаквания.",
|
|
||||||
"activitypub.not-implemented": "Заявката беше отказана, тъй като тя или част от нея не се поддържа от сървъра, към който е насочена"
|
|
||||||
}
|
}
|
||||||
@@ -84,18 +84,12 @@
|
|||||||
"modal-reason-offensive": "Обидно",
|
"modal-reason-offensive": "Обидно",
|
||||||
"modal-reason-other": "Друго (опишете по-долу)",
|
"modal-reason-other": "Друго (опишете по-долу)",
|
||||||
"modal-reason-custom": "Причина за докладването на това съдържание…",
|
"modal-reason-custom": "Причина за докладването на това съдържание…",
|
||||||
"modal-notify-remote": "Препращане на този доклад към %1",
|
|
||||||
"modal-submit": "Изпращане на доклада",
|
"modal-submit": "Изпращане на доклада",
|
||||||
"modal-submit-success": "Съдържанието беше докладвано на модераторите.",
|
"modal-submit-success": "Съдържанието беше докладвано на модераторите.",
|
||||||
|
|
||||||
"modal-confirm-rescind": "Анулиране на доклада?",
|
|
||||||
|
|
||||||
"bulk-actions": "Групови действия",
|
"bulk-actions": "Групови действия",
|
||||||
"bulk-resolve": "Разрешаване на доклад(и)",
|
"bulk-resolve": "Разрешаване на доклад(и)",
|
||||||
"confirm-purge": "Наистина ли искате да изтриете завинаги тези доклади?",
|
|
||||||
"purge-cancelled": "Изтриването на доклад е отменено",
|
|
||||||
"bulk-purge": "Изтриване на доклад(и)",
|
|
||||||
"bulk-success": "%1 доклада са обновени",
|
"bulk-success": "%1 доклада са обновени",
|
||||||
"flagged-timeago": "Докладвано <span class=\"timeago\" title=\"%1\"></span>",
|
"flagged-timeago-readable": "Докладвано <span class=\"timeago\" title=\"%1\"></span> (%2)",
|
||||||
"auto-flagged": "[Авт. докладвано] Получени %1 отрицателни гласа."
|
"auto-flagged": "[Авт. докладвано] Получени %1 отрицателни гласа."
|
||||||
}
|
}
|
||||||
@@ -24,15 +24,8 @@
|
|||||||
"cancel": "Отказ",
|
"cancel": "Отказ",
|
||||||
"close": "Затваряне",
|
"close": "Затваряне",
|
||||||
"pagination": "Странициране",
|
"pagination": "Странициране",
|
||||||
"pagination.previouspage": "Предишна страница",
|
|
||||||
"pagination.nextpage": "Следваща страница",
|
|
||||||
"pagination.firstpage": "Първа страница",
|
|
||||||
"pagination.lastpage": "Последна страница",
|
|
||||||
"pagination.out-of": "%1 от %2",
|
"pagination.out-of": "%1 от %2",
|
||||||
"pagination.enter-index": "Към публикация номер",
|
"pagination.enter-index": "Към публикация номер",
|
||||||
"pagination.go-to-page": "Към страница",
|
|
||||||
"pagination.page-x": "Страница %1",
|
|
||||||
"header.brand-logo": "Лого на марката",
|
|
||||||
"header.admin": "Администратор",
|
"header.admin": "Администратор",
|
||||||
"header.categories": "Категории",
|
"header.categories": "Категории",
|
||||||
"header.recent": "Скорошни",
|
"header.recent": "Скорошни",
|
||||||
@@ -50,11 +43,12 @@
|
|||||||
"header.navigation": "Навигация",
|
"header.navigation": "Навигация",
|
||||||
"header.manage": "Управление",
|
"header.manage": "Управление",
|
||||||
"header.drafts": "Чернови",
|
"header.drafts": "Чернови",
|
||||||
"header.world": "Свят",
|
|
||||||
"notifications.loading": "Зареждане на известията",
|
"notifications.loading": "Зареждане на известията",
|
||||||
"chats.loading": "Зареждане на разговорите",
|
"chats.loading": "Зареждане на разговорите",
|
||||||
"drafts.loading": "Зареждане на черновите",
|
"drafts.loading": "Зареждане на черновите",
|
||||||
"motd.welcome": "Добре дошли в NodeBB, системата за дискусии на бъдещето.",
|
"motd.welcome": "Добре дошли в NodeBB, системата за дискусии на бъдещето.",
|
||||||
|
"previouspage": "Предишна страница",
|
||||||
|
"nextpage": "Следваща страница",
|
||||||
"alert.success": "Готово",
|
"alert.success": "Готово",
|
||||||
"alert.error": "Грешка",
|
"alert.error": "Грешка",
|
||||||
"alert.warning": "Предупреждение",
|
"alert.warning": "Предупреждение",
|
||||||
@@ -111,7 +105,6 @@
|
|||||||
"dnd": "Отпочиващ",
|
"dnd": "Отпочиващ",
|
||||||
"invisible": "Невидим",
|
"invisible": "Невидим",
|
||||||
"offline": "Извън линия",
|
"offline": "Извън линия",
|
||||||
"remote-user": "Този потребител е извън този форум",
|
|
||||||
"email": "Е-поща",
|
"email": "Е-поща",
|
||||||
"language": "Език",
|
"language": "Език",
|
||||||
"guest": "Гост",
|
"guest": "Гост",
|
||||||
@@ -142,12 +135,9 @@
|
|||||||
"edited": "Редактирано",
|
"edited": "Редактирано",
|
||||||
"disabled": "Изключено",
|
"disabled": "Изключено",
|
||||||
"select": "Избиране",
|
"select": "Избиране",
|
||||||
"selected": "Избрано",
|
|
||||||
"copied": "Копирано",
|
"copied": "Копирано",
|
||||||
"user-search-prompt": "Започнете да пишете, за да потърсите потребител…",
|
"user-search-prompt": "Започнете да пишете, за да потърсите потребител…",
|
||||||
"hidden": "Скрито",
|
"hidden": "Скрито",
|
||||||
"sort": "Подреждане",
|
"sort": "Подреждане",
|
||||||
"actions": "Действия",
|
"actions": "Действия"
|
||||||
"rss-feed": "RSS поток",
|
|
||||||
"skip-to-content": "Преминаване към съдържанието"
|
|
||||||
}
|
}
|
||||||
@@ -1,9 +1,8 @@
|
|||||||
{
|
{
|
||||||
"chat.room-id": "Стая %1",
|
"chat.room-id": "Стая %1",
|
||||||
"chat.chatting-with": "Разговор с",
|
"chat.chatting-with": "Разговор с",
|
||||||
"chat.placeholder": "Въведете съобщение тук или пуснете снимки",
|
"chat.placeholder": "Въведете съобщение тук или пуснете снимки и натиснете Ентер за изпращане",
|
||||||
"chat.placeholder.mobile": "Въведете съобщение",
|
"chat.placeholder.mobile": "Въведете съобщение тук",
|
||||||
"chat.placeholder.message-room": "Съобщение #%1",
|
|
||||||
"chat.scroll-up-alert": "Към последните съобщения",
|
"chat.scroll-up-alert": "Към последните съобщения",
|
||||||
"chat.usernames-and-x-others": "%1 и %2 други",
|
"chat.usernames-and-x-others": "%1 и %2 други",
|
||||||
"chat.chat-with-usernames": "Разговор с %1",
|
"chat.chat-with-usernames": "Разговор с %1",
|
||||||
@@ -115,8 +114,6 @@
|
|||||||
"composer.discard-all-drafts": "Изтриване на всички чернови",
|
"composer.discard-all-drafts": "Изтриване на всички чернови",
|
||||||
"composer.no-drafts": "Нямате никакви чернови",
|
"composer.no-drafts": "Нямате никакви чернови",
|
||||||
"composer.discard-draft-confirm": "Искате ли да изтриете тази чернова?",
|
"composer.discard-draft-confirm": "Искате ли да изтриете тази чернова?",
|
||||||
"composer.remote-pid-editing": "Редактиране на отдалечена публикация",
|
|
||||||
"composer.remote-pid-content-immutable": "Съдържанието на отдалечени публикации не може да бъде редактирано. Може да промените само заглавието на темата и етикетите.",
|
|
||||||
"bootbox.ok": "Добре",
|
"bootbox.ok": "Добре",
|
||||||
"bootbox.cancel": "Отказ",
|
"bootbox.cancel": "Отказ",
|
||||||
"bootbox.confirm": "Потвърждаване",
|
"bootbox.confirm": "Потвърждаване",
|
||||||
|
|||||||
@@ -52,10 +52,10 @@
|
|||||||
"user-posted-to-multiple": "<strong>%1</strong>, <strong>%2</strong> и %3 други публикуваха отговори на: <strong>%4</strong>",
|
"user-posted-to-multiple": "<strong>%1</strong>, <strong>%2</strong> и %3 други публикуваха отговори на: <strong>%4</strong>",
|
||||||
"user-posted-topic": "<strong>%1</strong> публикува нова тема: <strong>%2</strong>",
|
"user-posted-topic": "<strong>%1</strong> публикува нова тема: <strong>%2</strong>",
|
||||||
"user-edited-post": "<strong>%1</strong> редактира публикация в <strong>%2</strong>",
|
"user-edited-post": "<strong>%1</strong> редактира публикация в <strong>%2</strong>",
|
||||||
"user-posted-topic-with-tag": "<strong>%1</strong> публикува <strong>%2</strong> (с етикет %3)",
|
"user-posted-topic-with-tag": "<strong>%1</strong> публикува нова тема с етикет <strong>%2</strong>",
|
||||||
"user-posted-topic-with-tag-dual": "<strong>%1</strong> публикува <strong>%2</strong> (с етикети %3 и %4)",
|
"user-posted-topic-with-tag-dual": "<strong>%1</strong> публикува нова тема с етикети <strong>%2</strong> и <strong>%3</strong>",
|
||||||
"user-posted-topic-with-tag-triple": "<strong>%1</strong> публикува <strong>%2</strong> (с етикети %3, %4 и %5)",
|
"user-posted-topic-with-tag-triple": "<strong>%1</strong> публикува нова тема с етикети <strong>%2</strong>, <strong>%3</strong> и <strong>%4</strong>",
|
||||||
"user-posted-topic-with-tag-multiple": "<strong>%1</strong> публикува <strong>%2</strong> (с етикет %3)",
|
"user-posted-topic-with-tag-multiple": "<strong>%1</strong> публикува нова тема с етикети <strong>%2</strong>",
|
||||||
"user-posted-topic-in-category": "<strong>%1</strong> публикува нова тема в <strong>%2</strong>",
|
"user-posted-topic-in-category": "<strong>%1</strong> публикува нова тема в <strong>%2</strong>",
|
||||||
"user-started-following-you": "<strong>%1</strong> започна да Ви следва.",
|
"user-started-following-you": "<strong>%1</strong> започна да Ви следва.",
|
||||||
"user-started-following-you-dual": "<strong>%1</strong> и <strong>%2</strong> започнаха да Ви следват.",
|
"user-started-following-you-dual": "<strong>%1</strong> и <strong>%2</strong> започнаха да Ви следват.",
|
||||||
@@ -75,7 +75,6 @@
|
|||||||
"email-confirmed": "Е-пощата беше потвърдена",
|
"email-confirmed": "Е-пощата беше потвърдена",
|
||||||
"email-confirmed-message": "Благодарим Ви, че потвърдихте е-пощата си. Акаунтът Ви е вече напълно активиран.",
|
"email-confirmed-message": "Благодарим Ви, че потвърдихте е-пощата си. Акаунтът Ви е вече напълно активиран.",
|
||||||
"email-confirm-error-message": "Възникна проблем при потвърждаването на е-пощата Ви. Може кодът да е грешен или давността му да е изтекла.",
|
"email-confirm-error-message": "Възникна проблем при потвърждаването на е-пощата Ви. Може кодът да е грешен или давността му да е изтекла.",
|
||||||
"email-confirm-error-message-already-validated": "Адресът на е-пощата Ви вече е проверен.",
|
|
||||||
"email-confirm-sent": "Изпратено е е-писмо за потвърждение.",
|
"email-confirm-sent": "Изпратено е е-писмо за потвърждение.",
|
||||||
"none": "Нищо",
|
"none": "Нищо",
|
||||||
"notification-only": "Само известие",
|
"notification-only": "Само известие",
|
||||||
@@ -98,9 +97,5 @@
|
|||||||
"notificationType-post-queue": "Когато бъде добавена нова публикация в опашката",
|
"notificationType-post-queue": "Когато бъде добавена нова публикация в опашката",
|
||||||
"notificationType-new-post-flag": "Когато публикация бъде докладвана",
|
"notificationType-new-post-flag": "Когато публикация бъде докладвана",
|
||||||
"notificationType-new-user-flag": "Когато потребител бъде докладван",
|
"notificationType-new-user-flag": "Когато потребител бъде докладван",
|
||||||
"notificationType-new-reward": "Когато получите нова награда",
|
"notificationType-new-reward": "Когато получите нова награда"
|
||||||
"activitypub.announce": "<strong>%1</strong> сподели Вашата публикация в <strong>%2</strong> със своите последователи.",
|
|
||||||
"activitypub.announce-dual": "<strong>%1</strong> и <strong>%2</strong> споделиха Вашата публикация в <strong>%3</strong> със своите последователи.",
|
|
||||||
"activitypub.announce-triple": "<strong>%1</strong>, <strong>%2</strong> и <strong>%3</strong> споделиха Вашата публикация в <strong>%4</strong> със своите последователи.",
|
|
||||||
"activitypub.announce-multiple": "<strong>%1</strong>, <strong>%2</strong> и %3 други споделиха Вашата публикация в <strong>%4</strong> със своите последователи."
|
|
||||||
}
|
}
|
||||||
@@ -36,7 +36,6 @@
|
|||||||
"chat": "Разговаря с %1",
|
"chat": "Разговаря с %1",
|
||||||
"flags": "Доклади",
|
"flags": "Доклади",
|
||||||
"flag-details": "Подробности за доклад %1",
|
"flag-details": "Подробности за доклад %1",
|
||||||
"world": "Свят",
|
|
||||||
"account/edit": "Редактиране на „%1“",
|
"account/edit": "Редактиране на „%1“",
|
||||||
"account/edit/password": "Редактиране на паролата на „%1“",
|
"account/edit/password": "Редактиране на паролата на „%1“",
|
||||||
"account/edit/username": "Редактиране на потребителското име на „%1“",
|
"account/edit/username": "Редактиране на потребителското име на „%1“",
|
||||||
@@ -55,7 +54,6 @@
|
|||||||
"account/settings-of": "Променят се настройките на %1",
|
"account/settings-of": "Променят се настройките на %1",
|
||||||
"account/watched": "Теми, наблюдавани от %1",
|
"account/watched": "Теми, наблюдавани от %1",
|
||||||
"account/ignored": "Теми, пренебрегвани от %1",
|
"account/ignored": "Теми, пренебрегвани от %1",
|
||||||
"account/read": "Теми, прочетени от %1",
|
|
||||||
"account/upvoted": "Публикации, получили положителен глас от %1",
|
"account/upvoted": "Публикации, получили положителен глас от %1",
|
||||||
"account/downvoted": "Публикации, получили отрицателен глас от %1",
|
"account/downvoted": "Публикации, получили отрицателен глас от %1",
|
||||||
"account/best": "Най-добрите публикации от %1",
|
"account/best": "Най-добрите публикации от %1",
|
||||||
@@ -63,7 +61,6 @@
|
|||||||
"account/blocks": "Блокирани потребители за %1",
|
"account/blocks": "Блокирани потребители за %1",
|
||||||
"account/uploads": "Качвания от %1",
|
"account/uploads": "Качвания от %1",
|
||||||
"account/sessions": "Сесии на вписване",
|
"account/sessions": "Сесии на вписване",
|
||||||
"account/shares": "Теми, споделени от %1",
|
|
||||||
"confirm": "Е-пощата е потвърдена",
|
"confirm": "Е-пощата е потвърдена",
|
||||||
"maintenance.text": "%1 в момента е в профилактика.<br/>Моля, върнете се по-късно.",
|
"maintenance.text": "%1 в момента е в профилактика.<br/>Моля, върнете се по-късно.",
|
||||||
"maintenance.messageIntro": "В допълнение, администраторът е оставил това съобщение:",
|
"maintenance.messageIntro": "В допълнение, администраторът е оставил това съобщение:",
|
||||||
|
|||||||
@@ -38,6 +38,5 @@
|
|||||||
"remove-selected": "Премахване на избраните",
|
"remove-selected": "Премахване на избраните",
|
||||||
"remove-selected-confirm": "Наистина ли искате да премахнете избраните %1 публикации?",
|
"remove-selected-confirm": "Наистина ли искате да премахнете избраните %1 публикации?",
|
||||||
"bulk-accept-success": "Одобрени публикации: %1",
|
"bulk-accept-success": "Одобрени публикации: %1",
|
||||||
"bulk-reject-success": "Отхвърлени публикации: %1",
|
"bulk-reject-success": "Отхвърлени публикации: %1"
|
||||||
"links-in-this-post": "Връзки в тази публикация"
|
|
||||||
}
|
}
|
||||||
@@ -7,7 +7,5 @@
|
|||||||
"alltime": "Цялото време",
|
"alltime": "Цялото време",
|
||||||
"no-recent-topics": "Няма скорошни теми.",
|
"no-recent-topics": "Няма скорошни теми.",
|
||||||
"no-popular-topics": "Няма популярни теми.",
|
"no-popular-topics": "Няма популярни теми.",
|
||||||
"load-new-posts": "Зареждане на новите публикации",
|
"load-new-posts": "Зареждане на новите публикации"
|
||||||
"uncategorized.title": "Всички познати теми",
|
|
||||||
"uncategorized.intro": "Тази страница показва хронологичен списък от всички теми, които този форум е получил.<br />Гледните точки и мненията в темите по-долу не са филтрирани по никакъв начин и може да не съвпадат с гледните точки и мненията на този уеб сайт."
|
|
||||||
}
|
}
|
||||||
@@ -7,7 +7,6 @@
|
|||||||
"in-titles": "В заглавията",
|
"in-titles": "В заглавията",
|
||||||
"in-titles-posts": "В заглавията и публикациите",
|
"in-titles-posts": "В заглавията и публикациите",
|
||||||
"in-posts": "В публикациите",
|
"in-posts": "В публикациите",
|
||||||
"in-bookmarks": "В отметките",
|
|
||||||
"in-categories": "В категориите",
|
"in-categories": "В категориите",
|
||||||
"in-users": "В потребителите",
|
"in-users": "В потребителите",
|
||||||
"in-tags": "В етикетите",
|
"in-tags": "В етикетите",
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
"no-tag-topics": "Няма теми с този етикет.",
|
"no-tag-topics": "Няма теми с този етикет.",
|
||||||
"no-tags-found": "Няма намерени етикети",
|
"no-tags-found": "Няма намерени етикети",
|
||||||
"tags": "Етикети",
|
"tags": "Етикети",
|
||||||
"enter-tags-here": "Въведете етикети, с по %1 – %2 знака.",
|
"enter-tags-here": "Тук въведете етикети, всеки между %1 и %2 знака.",
|
||||||
"enter-tags-here-short": "Въведете етикети...",
|
"enter-tags-here-short": "Въведете етикети...",
|
||||||
"no-tags": "Все още няма етикети.",
|
"no-tags": "Все още няма етикети.",
|
||||||
"select-tags": "Изберете етикети",
|
"select-tags": "Изберете етикети",
|
||||||
|
|||||||
@@ -3,12 +3,9 @@
|
|||||||
"skins": "Облици",
|
"skins": "Облици",
|
||||||
"collapse": "Свиване",
|
"collapse": "Свиване",
|
||||||
"expand": "Разгъване",
|
"expand": "Разгъване",
|
||||||
"sidebar-toggle": "Превключване на страничната лента",
|
|
||||||
"login-register-to-search": "Впишете се или се регистрирайте, за да можете да търсите.",
|
"login-register-to-search": "Впишете се или се регистрирайте, за да можете да търсите.",
|
||||||
"settings.title": "Настройки на темата",
|
"settings.title": "Настройки на темата",
|
||||||
"settings.enableQuickReply": "Включване на бързите отговори",
|
"settings.enableQuickReply": "Включване на бързите отговори",
|
||||||
"settings.enableBreadcrumbs": "Показване на пътечката в страниците с категории и теми",
|
|
||||||
"settings.enableBreadcrumbs.why": "Пътечката се вижда на повечето страници за по-лесно навигиране. Основният дизайн на страниците с категории и теми предоставя други начини за връщане към по-общите страници, но ако желаете, може да изключите показването на пътечката, за да няма претрупване.",
|
|
||||||
"settings.centerHeaderElements": "Центриране на заглавните елементи",
|
"settings.centerHeaderElements": "Центриране на заглавните елементи",
|
||||||
"settings.mobileTopicTeasers": "Показване на резюмета на темите на мобилни устройства",
|
"settings.mobileTopicTeasers": "Показване на резюмета на темите на мобилни устройства",
|
||||||
"settings.stickyToolbar": "Статична лента с инструменти",
|
"settings.stickyToolbar": "Статична лента с инструменти",
|
||||||
|
|||||||
@@ -15,7 +15,6 @@
|
|||||||
"replies-to-this-post": "%1 отговора",
|
"replies-to-this-post": "%1 отговора",
|
||||||
"one-reply-to-this-post": "1 отговор",
|
"one-reply-to-this-post": "1 отговор",
|
||||||
"last-reply-time": "Последен отговор",
|
"last-reply-time": "Последен отговор",
|
||||||
"reply-options": "Настройки за отговора",
|
|
||||||
"reply-as-topic": "Отговор в нова тема",
|
"reply-as-topic": "Отговор в нова тема",
|
||||||
"guest-login-reply": "Впишете се, за да отговорите",
|
"guest-login-reply": "Впишете се, за да отговорите",
|
||||||
"login-to-view": "🔒 Впишете се, за да видите това",
|
"login-to-view": "🔒 Впишете се, за да видите това",
|
||||||
@@ -27,7 +26,6 @@
|
|||||||
"restore": "Възстановяване",
|
"restore": "Възстановяване",
|
||||||
"move": "Преместване",
|
"move": "Преместване",
|
||||||
"change-owner": "Промяна на собственика",
|
"change-owner": "Промяна на собственика",
|
||||||
"manage-editors": "Управление на редакторите",
|
|
||||||
"fork": "Разделяне",
|
"fork": "Разделяне",
|
||||||
"link": "Връзка",
|
"link": "Връзка",
|
||||||
"share": "Споделяне",
|
"share": "Споделяне",
|
||||||
@@ -36,7 +34,6 @@
|
|||||||
"pinned": "Закачена",
|
"pinned": "Закачена",
|
||||||
"pinned-with-expiry": "Закачена до %1",
|
"pinned-with-expiry": "Закачена до %1",
|
||||||
"scheduled": "Насрочена",
|
"scheduled": "Насрочена",
|
||||||
"deleted": "Изтрита",
|
|
||||||
"moved": "Преместена",
|
"moved": "Преместена",
|
||||||
"moved-from": "Преместена от %1",
|
"moved-from": "Преместена от %1",
|
||||||
"copy-code": "Копиране на кода",
|
"copy-code": "Копиране на кода",
|
||||||
@@ -61,8 +58,6 @@
|
|||||||
"user-restored-topic-on": "%1 възстанови тази тема на %2",
|
"user-restored-topic-on": "%1 възстанови тази тема на %2",
|
||||||
"user-moved-topic-from-ago": "%1 премести тази тема от %2 %3",
|
"user-moved-topic-from-ago": "%1 премести тази тема от %2 %3",
|
||||||
"user-moved-topic-from-on": "%1 премести тази тема от %2 на %3",
|
"user-moved-topic-from-on": "%1 премести тази тема от %2 на %3",
|
||||||
"user-shared-topic-ago": "%1 сподели тази тема %2",
|
|
||||||
"user-shared-topic-on": "%1 сподели тази тема в %2",
|
|
||||||
"user-queued-post-ago": "%1 добави тази публикация в <a href=\"%2\">опашката за одобрение</a> %3",
|
"user-queued-post-ago": "%1 добави тази публикация в <a href=\"%2\">опашката за одобрение</a> %3",
|
||||||
"user-queued-post-on": "%1 добави тази публикация в <a href=\"%2\">опашката</a> за одобрение на %3",
|
"user-queued-post-on": "%1 добави тази публикация в <a href=\"%2\">опашката</a> за одобрение на %3",
|
||||||
"user-referenced-topic-ago": "%1 <a href=\"%2\">направи препратка</a> към тази тема %3",
|
"user-referenced-topic-ago": "%1 <a href=\"%2\">направи препратка</a> към тази тема %3",
|
||||||
@@ -106,7 +101,6 @@
|
|||||||
"thread-tools.move-posts": "Преместване на публикациите",
|
"thread-tools.move-posts": "Преместване на публикациите",
|
||||||
"thread-tools.move-all": "Преместване на всички",
|
"thread-tools.move-all": "Преместване на всички",
|
||||||
"thread-tools.change-owner": "Промяна на собственика",
|
"thread-tools.change-owner": "Промяна на собственика",
|
||||||
"thread-tools.manage-editors": "Управление на редакторите",
|
|
||||||
"thread-tools.select-category": "Избиране на категория",
|
"thread-tools.select-category": "Избиране на категория",
|
||||||
"thread-tools.fork": "Разделяне на темата",
|
"thread-tools.fork": "Разделяне на темата",
|
||||||
"thread-tools.tag": "Поставяне на етикет на темата",
|
"thread-tools.tag": "Поставяне на етикет на темата",
|
||||||
@@ -137,7 +131,6 @@
|
|||||||
"bookmarks": "Отметки",
|
"bookmarks": "Отметки",
|
||||||
"bookmarks.has-no-bookmarks": "Все още не сте си запазвали отметки към никакви публикации.",
|
"bookmarks.has-no-bookmarks": "Все още не сте си запазвали отметки към никакви публикации.",
|
||||||
"copy-permalink": "Копиране на постоянна връзка",
|
"copy-permalink": "Копиране на постоянна връзка",
|
||||||
"go-to-original": "Преглед на оригиналната публикация",
|
|
||||||
"loading-more-posts": "Зареждане на още публикации",
|
"loading-more-posts": "Зареждане на още публикации",
|
||||||
"move-topic": "Преместване на темата",
|
"move-topic": "Преместване на темата",
|
||||||
"move-topics": "Преместване на темите",
|
"move-topics": "Преместване на темите",
|
||||||
@@ -162,7 +155,6 @@
|
|||||||
"move-posts-instruction": "Щракнете върху публикациите, които искате да преместите, а след това въведете ид. на тема или отидете в целевата тема",
|
"move-posts-instruction": "Щракнете върху публикациите, които искате да преместите, а след това въведете ид. на тема или отидете в целевата тема",
|
||||||
"move-topic-instruction": "Изберете целевата категория и натиснете „Преместване“",
|
"move-topic-instruction": "Изберете целевата категория и натиснете „Преместване“",
|
||||||
"change-owner-instruction": "Натиснете публикациите, които искате да прехвърлите на друг потребител",
|
"change-owner-instruction": "Натиснете публикациите, които искате да прехвърлите на друг потребител",
|
||||||
"manage-editors-instruction": "Определете потребителите, които могат да редактират тази публикация по-долу.",
|
|
||||||
"composer.title-placeholder": "Въведете заглавието на темата си тук...",
|
"composer.title-placeholder": "Въведете заглавието на темата си тук...",
|
||||||
"composer.handle-placeholder": "Въведете името тук",
|
"composer.handle-placeholder": "Въведете името тук",
|
||||||
"composer.hide": "Скриване",
|
"composer.hide": "Скриване",
|
||||||
@@ -188,8 +180,6 @@
|
|||||||
"sort-by": "Подреждане по",
|
"sort-by": "Подреждане по",
|
||||||
"oldest-to-newest": "Първо най-старите",
|
"oldest-to-newest": "Първо най-старите",
|
||||||
"newest-to-oldest": "Първо най-новите",
|
"newest-to-oldest": "Първо най-новите",
|
||||||
"recently-replied": "Първо тези с най-скорошни отговори",
|
|
||||||
"recently-created": "Първо най-скоро създадените",
|
|
||||||
"most-votes": "Първо тези с най-много гласове",
|
"most-votes": "Първо тези с най-много гласове",
|
||||||
"most-posts": "Първо тези с най-много публикации",
|
"most-posts": "Първо тези с най-много публикации",
|
||||||
"most-views": "Първо тези с най-много преглеждания",
|
"most-views": "Първо тези с най-много преглеждания",
|
||||||
@@ -214,15 +204,7 @@
|
|||||||
"last-post": "Последна публикация",
|
"last-post": "Последна публикация",
|
||||||
"go-to-my-next-post": "Към следващата ми публикация",
|
"go-to-my-next-post": "Към следващата ми публикация",
|
||||||
"no-more-next-post": "Нямате повече публикации в тази тема",
|
"no-more-next-post": "Нямате повече публикации в тази тема",
|
||||||
"open-composer": "Отваряне на редактора",
|
|
||||||
"post-quick-reply": "Бърз отговор",
|
"post-quick-reply": "Бърз отговор",
|
||||||
"navigator.index": "Публикация %1 от %2",
|
"navigator.index": "Публикация %1 от %2",
|
||||||
"navigator.unread": "%1 непрочетени",
|
"navigator.unread": "%1 непрочетени"
|
||||||
"upvote-post": "Положително гласуване за публикацията",
|
|
||||||
"downvote-post": "Отрицателно гласуване за публикацията",
|
|
||||||
"post-tools": "Инструменти за публикациите",
|
|
||||||
"unread-posts-link": "Връзка към непрочетените публикации",
|
|
||||||
"thumb-image": "Иконка на темата",
|
|
||||||
"announcers": "Споделяния",
|
|
||||||
"announcers-x": "Споделяния (%1)"
|
|
||||||
}
|
}
|
||||||
@@ -3,7 +3,6 @@
|
|||||||
"no-unread-topics": "Няма непрочетени теми.",
|
"no-unread-topics": "Няма непрочетени теми.",
|
||||||
"load-more": "Зареждане на още",
|
"load-more": "Зареждане на още",
|
||||||
"mark-as-read": "Отбелязване като прочетени",
|
"mark-as-read": "Отбелязване като прочетени",
|
||||||
"mark-as-unread": "Отбелязване като непрочетени",
|
|
||||||
"selected": "Избраните",
|
"selected": "Избраните",
|
||||||
"all": "Всички",
|
"all": "Всички",
|
||||||
"all-categories": "Всички категории",
|
"all-categories": "Всички категории",
|
||||||
|
|||||||
@@ -1,9 +1,6 @@
|
|||||||
{
|
{
|
||||||
"user-menu": "Потребителско меню",
|
|
||||||
"banned": "Блокиран",
|
"banned": "Блокиран",
|
||||||
"unbanned": "Деблокиран",
|
|
||||||
"muted": "Заглушен",
|
"muted": "Заглушен",
|
||||||
"unmuted": "Премахнато заглушаване",
|
|
||||||
"offline": "Извън линия",
|
"offline": "Извън линия",
|
||||||
"deleted": "Изтрит",
|
"deleted": "Изтрит",
|
||||||
"username": "Потребителско име",
|
"username": "Потребителско име",
|
||||||
@@ -43,11 +40,9 @@
|
|||||||
"change-all": "Промяна на всички",
|
"change-all": "Промяна на всички",
|
||||||
"watched": "Наблюдавани",
|
"watched": "Наблюдавани",
|
||||||
"ignored": "Пренебрегвани",
|
"ignored": "Пренебрегвани",
|
||||||
"read": "Прочетени",
|
|
||||||
"default-category-watch-state": "Състояние по подразбиране за наблюдаването на категории",
|
"default-category-watch-state": "Състояние по подразбиране за наблюдаването на категории",
|
||||||
"followers": "Последователи",
|
"followers": "Последователи",
|
||||||
"following": "Следва",
|
"following": "Следва",
|
||||||
"shares": "Споделя",
|
|
||||||
"blocks": "Блокира",
|
"blocks": "Блокира",
|
||||||
"blocked-users": "Блокирани потребители",
|
"blocked-users": "Блокирани потребители",
|
||||||
"block-toggle": "Превключване на блокирането",
|
"block-toggle": "Превключване на блокирането",
|
||||||
@@ -60,10 +55,8 @@
|
|||||||
"chat-with": "Продължаване на разговора с %1",
|
"chat-with": "Продължаване на разговора с %1",
|
||||||
"new-chat-with": "Започване на нов разговор с %1",
|
"new-chat-with": "Започване на нов разговор с %1",
|
||||||
"flag-profile": "Докладване на профила",
|
"flag-profile": "Докладване на профила",
|
||||||
"profile-flagged": "Вече е докладван",
|
|
||||||
"follow": "Следване",
|
"follow": "Следване",
|
||||||
"unfollow": "Спиране на следването",
|
"unfollow": "Спиране на следването",
|
||||||
"cancel-follow": "Отмяна на заявката за следване",
|
|
||||||
"more": "Още",
|
"more": "Още",
|
||||||
"profile-update-success": "Профилът беше обновен успешно!",
|
"profile-update-success": "Профилът беше обновен успешно!",
|
||||||
"change-picture": "Промяна на снимката",
|
"change-picture": "Промяна на снимката",
|
||||||
@@ -82,7 +75,6 @@
|
|||||||
"change-password": "Промяна на паролата",
|
"change-password": "Промяна на паролата",
|
||||||
"change-password-error": "Грешна парола!",
|
"change-password-error": "Грешна парола!",
|
||||||
"change-password-error-wrong-current": "Текущата Ви парола е грешна!",
|
"change-password-error-wrong-current": "Текущата Ви парола е грешна!",
|
||||||
"change-password-error-same-password": "Новата Ви парола съвпада с текущата. Моля, използвайте нова парола.",
|
|
||||||
"change-password-error-match": "Паролите са различни!",
|
"change-password-error-match": "Паролите са различни!",
|
||||||
"change-password-error-privileges": "Нямате права да промените тази парола.",
|
"change-password-error-privileges": "Нямате права да промените тази парола.",
|
||||||
"change-password-success": "Паролата ви е обновена!",
|
"change-password-success": "Паролата ви е обновена!",
|
||||||
@@ -118,12 +110,10 @@
|
|||||||
"has-no-topics": "Този потребител не е създавал теми досега.",
|
"has-no-topics": "Този потребител не е създавал теми досега.",
|
||||||
"has-no-watched-topics": "Този потребител не е наблюдавал нито една тема досега.",
|
"has-no-watched-topics": "Този потребител не е наблюдавал нито една тема досега.",
|
||||||
"has-no-ignored-topics": "Този потребител не е пренебрегнал нито една тема досега.",
|
"has-no-ignored-topics": "Този потребител не е пренебрегнал нито една тема досега.",
|
||||||
"has-no-read-topics": "Този потребител не е прочел нито една тема досега.",
|
|
||||||
"has-no-upvoted-posts": "Този потребител не е гласувал положително досега.",
|
"has-no-upvoted-posts": "Този потребител не е гласувал положително досега.",
|
||||||
"has-no-downvoted-posts": "Този потребител не е гласувал отрицателно досега.",
|
"has-no-downvoted-posts": "Този потребител не е гласувал отрицателно досега.",
|
||||||
"has-no-controversial-posts": "Този потребител няма публикации с отрицателни гласове засега.",
|
"has-no-controversial-posts": "Този потребител няма публикации с отрицателни гласове засега.",
|
||||||
"has-no-blocks": "Не сте блокирали никого.",
|
"has-no-blocks": "Не сте блокирали никого.",
|
||||||
"has-no-shares": "Този потребител не е споделил нито една тема.",
|
|
||||||
"email-hidden": "Е-пощата е скрита",
|
"email-hidden": "Е-пощата е скрита",
|
||||||
"hidden": "скрито",
|
"hidden": "скрито",
|
||||||
"paginate-description": "Разделяне на темите и публикациите на страници, вместо да се превърта безкрайно",
|
"paginate-description": "Разделяне на темите и публикациите на страници, вместо да се превърта безкрайно",
|
||||||
@@ -151,10 +141,6 @@
|
|||||||
"follow-topics-you-create": "Наблюдаване на темите, които създавате",
|
"follow-topics-you-create": "Наблюдаване на темите, които създавате",
|
||||||
"grouptitle": "Заглавие на групата",
|
"grouptitle": "Заглавие на групата",
|
||||||
"group-order-help": "Изберете група и използвайте стрелките, за да пренаредите заглавията",
|
"group-order-help": "Изберете група и използвайте стрелките, за да пренаредите заглавията",
|
||||||
"show-group-title": "Показване на заглавието на групата",
|
|
||||||
"hide-group-title": "Скриване на заглавието на групата",
|
|
||||||
"order-group-up": "Преместване на групата нагоре",
|
|
||||||
"order-group-down": "Преместване на групата надолу",
|
|
||||||
"no-group-title": "Няма заглавие на група",
|
"no-group-title": "Няма заглавие на група",
|
||||||
"select-skin": "Изберете облик",
|
"select-skin": "Изберете облик",
|
||||||
"default": "По подразбиране (%1)",
|
"default": "По подразбиране (%1)",
|
||||||
@@ -171,16 +157,11 @@
|
|||||||
"sso.dissociate-confirm-title": "Потвърждаване на прекъсването",
|
"sso.dissociate-confirm-title": "Потвърждаване на прекъсването",
|
||||||
"sso.dissociate-confirm": "Наистина ли искате да прекъснете връзката на акаунта си от „%1“?",
|
"sso.dissociate-confirm": "Наистина ли искате да прекъснете връзката на акаунта си от „%1“?",
|
||||||
"info.latest-flags": "Последни доклади",
|
"info.latest-flags": "Последни доклади",
|
||||||
"info.profile": "Профил",
|
|
||||||
"info.post": "Публикация",
|
|
||||||
"info.view-flag": "Преглед на доклада",
|
|
||||||
"info.reported-by": "Докладвано от:",
|
|
||||||
"info.no-flags": "Не са намерени докладвани публикации",
|
"info.no-flags": "Не са намерени докладвани публикации",
|
||||||
"info.ban-history": "Скорошна история на блокиранията",
|
"info.ban-history": "Скорошна история на блокиранията",
|
||||||
"info.no-ban-history": "Този потребител никога не е бил блокиран",
|
"info.no-ban-history": "Този потребител никога не е бил блокиран",
|
||||||
"info.banned-until": "Блокиран до %1",
|
"info.banned-until": "Блокиран до %1",
|
||||||
"info.banned-expiry": "Давност",
|
"info.banned-expiry": "Давност",
|
||||||
"info.ban-expired": "Блокирането е изтекло",
|
|
||||||
"info.banned-permanently": "Блокиран за постоянно",
|
"info.banned-permanently": "Блокиран за постоянно",
|
||||||
"info.banned-reason-label": "Причина",
|
"info.banned-reason-label": "Причина",
|
||||||
"info.banned-no-reason": "Няма посочена причина.",
|
"info.banned-no-reason": "Няма посочена причина.",
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
{
|
{
|
||||||
"all-users": "Всички потребители",
|
"all-users": "Всички потребители",
|
||||||
"followed-users": "Следвани потребители",
|
|
||||||
"latest-users": "Последни потребители",
|
"latest-users": "Последни потребители",
|
||||||
"top-posters": "С най-много публикации",
|
"top-posters": "С най-много публикации",
|
||||||
"most-reputation": "С най-много репутация",
|
"most-reputation": "С най-много репутация",
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user