diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 67aee91b9a..742f443f9c 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -61,7 +61,7 @@ jobs: key: var-cache-node-modules-${{ hashFiles('Dockerfile', 'install/package.json') }} - name: Build and push Docker images - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v6 with: cache-from: type=gha cache-to: type=gha,mode=min diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index b2a52caf42..b751c73b3a 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -48,7 +48,7 @@ jobs: services: postgres: - image: 'postgres:16-alpine' + image: 'postgres:17-alpine' env: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres @@ -63,7 +63,7 @@ jobs: - 5432:5432 redis: - image: 'redis:7.2.4' + image: 'redis:7.4.1' # Set health checks to wait until redis has started options: >- --health-cmd "redis-cli ping" @@ -75,7 +75,7 @@ jobs: - 6379:6379 mongo: - image: 'mongo:7.0' + image: 'mongo:8.0' ports: # Maps port 27017 on service container to the host - 27017:27017 @@ -192,7 +192,7 @@ jobs: run: npm run coverage - name: Test coverage - uses: coverallsapp/github-action@643bc377ffa44ace6394b2b5d0d3950076de9f63 # v2.3.0 + uses: coverallsapp/github-action@cfd0633edbd2411b532b808ba7a8b5e04f76d2c8 # v2.3.4 if: matrix.coverage with: github-token: ${{ secrets.GITHUB_TOKEN }} @@ -206,7 +206,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Coveralls Finished - uses: coverallsapp/github-action@643bc377ffa44ace6394b2b5d0d3950076de9f63 # v2.3.0 + uses: coverallsapp/github-action@cfd0633edbd2411b532b808ba7a8b5e04f76d2c8 # v2.3.4 with: github-token: ${{ secrets.GITHUB_TOKEN }} parallel-finished: true diff --git a/.tx/config b/.tx/config index 35758d9b05..3a670c30be 100644 --- a/.tx/config +++ b/.tx/config @@ -28,6 +28,7 @@ trans.fa_IR = public/language/fa-IR/admin/admin.json trans.id = public/language/id/admin/admin.json trans.ms = public/language/ms/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.cs = public/language/cs/admin/admin.json trans.fi = public/language/fi/admin/admin.json @@ -86,6 +87,7 @@ trans.bg = public/language/bg/admin/advanced/cache.json trans.cs = public/language/cs/admin/advanced/cache.json trans.lt = public/language/lt/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.el = public/language/el/admin/advanced/cache.json trans.pl = public/language/pl/admin/advanced/cache.json @@ -127,6 +129,7 @@ trans.zh_TW = public/language/zh-TW/admin/advanced/database.json trans.gl = public/language/gl/admin/advanced/database.json trans.it = public/language/it/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.da = public/language/da/admin/advanced/database.json trans.de = public/language/de/admin/advanced/database.json @@ -176,6 +179,7 @@ trans.vi = public/language/vi/admin/advanced/errors.json trans.de = public/language/de/admin/advanced/errors.json trans.ko = public/language/ko/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.sl = public/language/sl/admin/advanced/errors.json trans.tr = public/language/tr/admin/advanced/errors.json @@ -232,6 +236,7 @@ trans.fa_IR = public/language/fa-IR/admin/advanced/events.json trans.ms = public/language/ms/admin/advanced/events.json trans.tr = public/language/tr/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.sk = public/language/sk/admin/advanced/events.json trans.en@pirate = public/language/en-x-pirate/admin/advanced/events.json @@ -276,6 +281,7 @@ trans.hr = public/language/hr/admin/advanced/logs.json trans.ja = public/language/ja/admin/advanced/logs.json trans.lt = public/language/lt/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.es = public/language/es/admin/advanced/logs.json trans.sv = public/language/sv/admin/advanced/logs.json @@ -328,6 +334,7 @@ trans.bg = public/language/bg/admin/appearance/customise.json trans.he = public/language/he/admin/appearance/customise.json trans.lt = public/language/lt/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.sl = public/language/sl/admin/appearance/customise.json trans.zh_TW = public/language/zh-TW/admin/appearance/customise.json @@ -402,6 +409,7 @@ trans.en@pirate = public/language/en-x-pirate/admin/appearance/skins.json trans.it = public/language/it/admin/appearance/skins.json trans.ja = public/language/ja/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.fa_IR = public/language/fa-IR/admin/appearance/skins.json trans.gl = public/language/gl/admin/appearance/skins.json @@ -453,6 +461,7 @@ trans.hy = public/language/hy/admin/appearance/themes.json trans.id = public/language/id/admin/appearance/themes.json trans.ko = public/language/ko/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.pt_PT = public/language/pt-PT/admin/appearance/themes.json trans.tr = public/language/tr/admin/appearance/themes.json @@ -520,6 +529,7 @@ trans.fi = public/language/fi/admin/dashboard.json trans.hr = public/language/hr/admin/dashboard.json trans.it = public/language/it/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] file_filter = public/language//admin/development/info.json @@ -556,6 +566,7 @@ trans.zh_CN = public/language/zh-CN/admin/development/info.json trans.cs = public/language/cs/admin/development/info.json trans.ja = public/language/ja/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.sv = public/language/sv/admin/development/info.json trans.bg = public/language/bg/admin/development/info.json @@ -591,6 +602,7 @@ trans.id = public/language/id/admin/development/logger.json trans.ko = public/language/ko/admin/development/logger.json trans.lt = public/language/lt/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.ro = public/language/ro/admin/development/logger.json trans.fi = public/language/fi/admin/development/logger.json @@ -642,6 +654,7 @@ trans.th = public/language/th/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.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.uk = public/language/uk/admin/extend/plugins.json trans.es = public/language/es/admin/extend/plugins.json @@ -702,6 +715,7 @@ trans.hr = public/language/hr/admin/extend/rewards.json trans.ja = public/language/ja/admin/extend/rewards.json trans.ko = public/language/ko/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.bn = public/language/bn/admin/extend/rewards.json trans.da = public/language/da/admin/extend/rewards.json @@ -738,6 +752,7 @@ trans.bn = public/language/bn/admin/extend/widgets.json trans.el = public/language/el/admin/extend/widgets.json trans.id = public/language/id/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.rw = public/language/rw/admin/extend/widgets.json trans.ar = public/language/ar/admin/extend/widgets.json @@ -788,6 +803,7 @@ source_lang = en_GB type = KEYVALUEJSON trans.hu = public/language/hu/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.fr = public/language/fr/admin/manage/admins-mods.json trans.he = public/language/he/admin/manage/admins-mods.json @@ -854,6 +870,7 @@ trans.en_US = public/language/en-US/admin/manage/categories.json trans.fr = public/language/fr/admin/manage/categories.json trans.it = public/language/it/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.sr = public/language/sr/admin/manage/categories.json trans.fa_IR = public/language/fa-IR/admin/manage/categories.json @@ -930,6 +947,7 @@ trans.zh_CN = public/language/zh-CN/admin/manage/digest.json trans.ar = public/language/ar/admin/manage/digest.json trans.ja = public/language/ja/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.pt_PT = public/language/pt-PT/admin/manage/digest.json trans.sc = public/language/sc/admin/manage/digest.json @@ -947,6 +965,7 @@ trans.tr = public/language/tr/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.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.lt = public/language/lt/admin/manage/groups.json trans.pl = public/language/pl/admin/manage/groups.json @@ -1018,6 +1037,7 @@ trans.hy = public/language/hy/admin/manage/privileges.json trans.sr = public/language/sr/admin/manage/privileges.json trans.ja = public/language/ja/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.sv = public/language/sv/admin/manage/privileges.json trans.et = public/language/et/admin/manage/privileges.json @@ -1061,6 +1081,7 @@ trans.da = public/language/da/admin/manage/registration.json trans.et = public/language/et/admin/manage/registration.json trans.it = public/language/it/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.hy = public/language/hy/admin/manage/registration.json trans.uk = public/language/uk/admin/manage/registration.json @@ -1104,6 +1125,7 @@ trans.da = public/language/da/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.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.sq_AL = public/language/sq-AL/admin/manage/tags.json trans.de = public/language/de/admin/manage/tags.json @@ -1152,6 +1174,7 @@ source_lang = en_GB type = KEYVALUEJSON trans.ms = public/language/ms/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.bg = public/language/bg/admin/manage/uploads.json trans.bn = public/language/bn/admin/manage/uploads.json @@ -1209,6 +1232,7 @@ trans.fr = public/language/fr/admin/manage/users.json trans.ko = public/language/ko/admin/manage/users.json trans.ms = public/language/ms/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.zh_CN = public/language/zh-CN/admin/manage/users.json trans.zh_TW = public/language/zh-TW/admin/manage/users.json @@ -1297,6 +1321,7 @@ trans.el = public/language/el/admin/menu.json trans.gl = public/language/gl/admin/menu.json trans.lv = public/language/lv/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.bn = public/language/bn/admin/menu.json trans.et = public/language/et/admin/menu.json @@ -1324,6 +1349,7 @@ trans.rw = public/language/rw/admin/settings/advanced.json trans.sl = public/language/sl/admin/settings/advanced.json trans.it = public/language/it/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.sq_AL = public/language/sq-AL/admin/settings/advanced.json trans.sr = public/language/sr/admin/settings/advanced.json @@ -1380,6 +1406,7 @@ trans.zh_TW = public/language/zh-TW/admin/settings/api.json trans.cs = public/language/cs/admin/settings/api.json trans.it = public/language/it/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.ru = public/language/ru/admin/settings/api.json trans.uk = public/language/uk/admin/settings/api.json @@ -1428,6 +1455,7 @@ trans.hr = public/language/hr/admin/settings/chat.json trans.ja = public/language/ja/admin/settings/chat.json trans.ko = public/language/ko/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.uk = public/language/uk/admin/settings/chat.json trans.he = public/language/he/admin/settings/chat.json @@ -1495,6 +1523,7 @@ trans.hr = public/language/hr/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.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.bg = public/language/bg/admin/settings/cookies.json trans.fi = public/language/fi/admin/settings/cookies.json @@ -1523,6 +1552,7 @@ trans.pt_PT = public/language/pt-PT/admin/settings/email.json trans.sr = public/language/sr/admin/settings/email.json trans.ms = public/language/ms/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.sk = public/language/sk/admin/settings/email.json trans.fr = public/language/fr/admin/settings/email.json @@ -1599,6 +1629,7 @@ trans.es = public/language/es/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.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.da = public/language/da/admin/settings/general.json trans.en@pirate = public/language/en-x-pirate/admin/settings/general.json @@ -1624,6 +1655,7 @@ trans.et = public/language/et/admin/settings/group.json trans.fr = public/language/fr/admin/settings/group.json trans.it = public/language/it/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.fa_IR = public/language/fa-IR/admin/settings/group.json trans.gl = public/language/gl/admin/settings/group.json @@ -1699,6 +1731,7 @@ 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.nn_NO = public/language/nn-NO/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 @@ -1723,6 +1756,7 @@ 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.nn_NO = public/language/nn-NO/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 @@ -1819,6 +1853,7 @@ 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.nn_NO = public/language/nn-NO/admin/settings/languages.json trans.rw = public/language/rw/admin/settings/languages.json [o:nodebb:p:nodebb:r:admin-settings-navigation] @@ -1867,6 +1902,7 @@ trans.hr = public/language/hr/admin/settings/navigation.json trans.id = public/language/id/admin/settings/navigation.json trans.ko = public/language/ko/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.sv = public/language/sv/admin/settings/navigation.json trans.el = public/language/el/admin/settings/navigation.json @@ -1913,6 +1949,7 @@ trans.zh_CN = public/language/zh-CN/admin/settings/notifications.json trans.ko = public/language/ko/admin/settings/notifications.json trans.lv = public/language/lv/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.bg = public/language/bg/admin/settings/notifications.json trans.da = public/language/da/admin/settings/notifications.json @@ -1974,6 +2011,7 @@ trans.zh_TW = public/language/zh-TW/admin/settings/pagination.json trans.bn = public/language/bn/admin/settings/pagination.json trans.hy = public/language/hy/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.sv = public/language/sv/admin/settings/pagination.json @@ -2007,6 +2045,7 @@ trans.it = public/language/it/admin/settings/post.json trans.th = public/language/th/admin/settings/post.json trans.gl = public/language/gl/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.zh_CN = public/language/zh-CN/admin/settings/post.json trans.rw = public/language/rw/admin/settings/post.json @@ -2054,6 +2093,7 @@ trans.sc = public/language/sc/admin/settings/reputation.json trans.hr = public/language/hr/admin/settings/reputation.json trans.ko = public/language/ko/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.de = public/language/de/admin/settings/reputation.json trans.et = public/language/et/admin/settings/reputation.json @@ -2104,6 +2144,7 @@ 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.nn_NO = public/language/nn-NO/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 @@ -2161,6 +2202,7 @@ trans.fi = public/language/fi/admin/settings/sockets.json trans.it = public/language/it/admin/settings/sockets.json trans.ro = public/language/ro/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.bg = public/language/bg/admin/settings/sockets.json trans.bn = public/language/bn/admin/settings/sockets.json @@ -2211,6 +2253,7 @@ trans.en@pirate = public/language/en-x-pirate/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.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.ar = public/language/ar/admin/settings/sounds.json trans.da = public/language/da/admin/settings/sounds.json @@ -2266,6 +2309,7 @@ trans.bn = public/language/bn/admin/settings/tags.json trans.hr = public/language/hr/admin/settings/tags.json trans.ko = public/language/ko/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.et = public/language/et/admin/settings/tags.json trans.he = public/language/he/admin/settings/tags.json @@ -2303,6 +2347,7 @@ trans.fa_IR = public/language/fa-IR/admin/settings/uploads.json trans.he = public/language/he/admin/settings/uploads.json trans.ja = public/language/ja/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.zh_TW = public/language/zh-TW/admin/settings/uploads.json trans.ro = public/language/ro/admin/settings/uploads.json @@ -2354,6 +2399,7 @@ trans.sq_AL = public/language/sq-AL/admin/settings/user.json trans.gl = public/language/gl/admin/settings/user.json trans.hu = public/language/hu/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.uk = public/language/uk/admin/settings/user.json trans.cs = public/language/cs/admin/settings/user.json @@ -2432,6 +2478,7 @@ trans.ar = public/language/ar/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.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.sr = public/language/sr/admin/settings/web-crawler.json trans.zh_TW = public/language/zh-TW/admin/settings/web-crawler.json @@ -2478,6 +2525,7 @@ trans.zh_CN = public/language/zh-CN/themes/harmony.json trans.fi = public/language/fi/themes/harmony.json trans.ja = public/language/ja/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.zh_TW = public/language/zh-TW/themes/harmony.json trans.ar = public/language/ar/themes/harmony.json @@ -2530,6 +2578,7 @@ trans.zh_CN = public/language/zh-CN/themes/persona.json trans.fi = public/language/fi/themes/persona.json trans.ja = public/language/ja/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.zh_TW = public/language/zh-TW/themes/persona.json trans.ar = public/language/ar/themes/persona.json @@ -2583,6 +2632,7 @@ 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 @@ -2635,6 +2685,7 @@ trans.zh_CN = public/language/zh-CN/category.json trans.fi = public/language/fi/category.json trans.ja = public/language/ja/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.zh_TW = public/language/zh-TW/category.json trans.ar = public/language/ar/category.json @@ -2701,6 +2752,7 @@ trans.sr = public/language/sr/email.json trans.tr = public/language/tr/email.json trans.en_US = public/language/en-US/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.pt_BR = public/language/pt-BR/email.json trans.rw = public/language/rw/email.json @@ -2739,6 +2791,7 @@ trans.vi = public/language/vi/error.json trans.fa_IR = public/language/fa-IR/error.json trans.gl = public/language/gl/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.ro = public/language/ro/error.json trans.uk = public/language/uk/error.json @@ -2764,6 +2817,7 @@ source_file = public/language/en-GB/flags.json source_lang = en_GB type = KEYVALUEJSON trans.nb = public/language/nb/flags.json +trans.nn_NO = public/language/nn-NO/flags.json trans.ru = public/language/ru/flags.json trans.sc = public/language/sc/flags.json trans.fi = public/language/fi/flags.json @@ -2834,6 +2888,7 @@ trans.sk = public/language/sk/global.json trans.sr = public/language/sr/global.json trans.tr = public/language/tr/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_PT = public/language/pt-PT/global.json trans.bg = public/language/bg/global.json @@ -2877,6 +2932,7 @@ trans.hy = public/language/hy/groups.json trans.pt_PT = public/language/pt-PT/groups.json trans.ms = public/language/ms/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.vi = public/language/vi/groups.json trans.fa_IR = public/language/fa-IR/groups.json @@ -2939,6 +2995,7 @@ trans.fa_IR = public/language/fa-IR/ip-blacklist.json trans.fr = public/language/fr/ip-blacklist.json trans.gl = public/language/gl/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.th = public/language/th/ip-blacklist.json trans.bn = public/language/bn/ip-blacklist.json @@ -2984,6 +3041,7 @@ trans.en_US = public/language/en-US/language.json trans.et = public/language/et/language.json trans.ja = public/language/ja/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.el = public/language/el/language.json trans.es = public/language/es/language.json @@ -3060,6 +3118,7 @@ trans.en@pirate = public/language/en-x-pirate/login.json trans.hy = public/language/hy/login.json trans.id = public/language/id/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.rw = public/language/rw/login.json trans.th = public/language/th/login.json @@ -3087,6 +3146,7 @@ trans.fa_IR = public/language/fa-IR/modules.json trans.hr = public/language/hr/modules.json trans.lv = public/language/lv/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.sv = public/language/sv/modules.json trans.en@pirate = public/language/en-x-pirate/modules.json @@ -3168,6 +3228,7 @@ trans.ms = public/language/ms/notifications.json trans.hr = public/language/hr/notifications.json trans.id = public/language/id/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.da = public/language/da/notifications.json trans.en@pirate = public/language/en-x-pirate/notifications.json @@ -3180,6 +3241,7 @@ source_lang = en_GB type = KEYVALUEJSON trans.he = public/language/he/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.pt_BR = public/language/pt-BR/pages.json trans.tr = public/language/tr/pages.json @@ -3276,6 +3338,7 @@ trans.pt_PT = public/language/pt-PT/post-queue.json trans.fi = public/language/fi/post-queue.json trans.he = public/language/he/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] file_filter = public/language//recent.json @@ -3315,6 +3378,7 @@ trans.bn = public/language/bn/recent.json trans.en@pirate = public/language/en-x-pirate/recent.json trans.ja = public/language/ja/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.sv = public/language/sv/recent.json trans.th = public/language/th/recent.json @@ -3352,6 +3416,7 @@ trans.bg = public/language/bg/register.json trans.de = public/language/de/register.json trans.hr = public/language/hr/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.sk = public/language/sk/register.json trans.hy = public/language/hy/register.json @@ -3421,6 +3486,7 @@ trans.en_US = public/language/en-US/reset_password.json trans.lt = public/language/lt/reset_password.json trans.lv = public/language/lv/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.el = public/language/el/reset_password.json trans.es = public/language/es/reset_password.json @@ -3473,6 +3539,7 @@ trans.en_US = public/language/en-US/rewards.json trans.lt = public/language/lt/rewards.json trans.lv = public/language/lv/rewards.json trans.nb = public/language/nb/rewards.json +trans.nn_NO = public/language/nn-NO/rewards.json trans.sk = public/language/sk/rewards.json trans.el = public/language/el/rewards.json trans.es = public/language/es/rewards.json @@ -3515,6 +3582,7 @@ trans.zh_TW = public/language/zh-TW/search.json trans.cs = public/language/cs/search.json trans.he = public/language/he/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.lv = public/language/lv/search.json trans.rw = public/language/rw/search.json @@ -3567,6 +3635,7 @@ trans.zh_TW = public/language/zh-TW/social.json trans.cs = public/language/cs/social.json trans.he = public/language/he/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.lv = public/language/lv/social.json trans.rw = public/language/rw/social.json @@ -3638,6 +3707,7 @@ trans.da = public/language/da/success.json trans.el = public/language/el/success.json trans.gl = public/language/gl/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.uk = public/language/uk/success.json @@ -3681,6 +3751,7 @@ trans.gl = public/language/gl/tags.json trans.lv = public/language/lv/tags.json trans.ms = public/language/ms/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.sq_AL = public/language/sq-AL/tags.json trans.zh_TW = public/language/zh-TW/tags.json @@ -3739,6 +3810,7 @@ trans.sv = public/language/sv/top.json trans.th = public/language/th/top.json trans.it = public/language/it/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.tr = public/language/tr/top.json trans.zh_TW = public/language/zh-TW/top.json @@ -3753,6 +3825,7 @@ type = KEYVALUEJSON trans.et = public/language/et/topic.json trans.hu = public/language/hu/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.sk = public/language/sk/topic.json trans.ar = public/language/ar/topic.json @@ -3835,6 +3908,7 @@ trans.sk = public/language/sk/unread.json trans.bn = public/language/bn/unread.json trans.cs = public/language/cs/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.sq_AL = public/language/sq-AL/unread.json trans.tr = public/language/tr/unread.json @@ -3879,6 +3953,7 @@ trans.et = public/language/et/uploads.json trans.id = public/language/id/uploads.json trans.ms = public/language/ms/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.da = public/language/da/uploads.json trans.es = public/language/es/uploads.json @@ -3948,6 +4023,7 @@ trans.hr = public/language/hr/user.json trans.hy = public/language/hy/user.json trans.ja = public/language/ja/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.ro = public/language/ro/user.json trans.sc = public/language/sc/user.json @@ -3981,6 +4057,7 @@ trans.he = public/language/he/users.json trans.ja = public/language/ja/users.json trans.ko = public/language/ko/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.sr = public/language/sr/users.json trans.zh_CN = public/language/zh-CN/users.json diff --git a/CHANGELOG.md b/CHANGELOG.md index b66481805a..9110eb824c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,700 @@ +#### v3.10.3 (2024-10-23) + +##### Chores + +* incrementing version number - v3.10.2 (2f15f464) +* update changelog for v3.10.2 (e780120a) +* incrementing version number - v3.10.1 (cca3a644) +* incrementing version number - v3.10.0 (b60a9b4e) +* incrementing version number - v3.9.1 (f120c91c) +* incrementing version number - v3.9.0 (4880f32d) +* incrementing version number - v3.8.4 (4833f9a6) +* incrementing version number - v3.8.3 (97ce2c44) +* incrementing version number - v3.8.2 (72d91251) +* incrementing version number - v3.8.1 (527326f7) +* incrementing version number - v3.8.0 (e228a6eb) +* incrementing version number - v3.7.5 (6882894d) +* incrementing version number - v3.7.4 (6678744c) +* incrementing version number - v3.7.3 (2d62b6f6) +* incrementing version number - v3.7.2 (cc257e7e) +* incrementing version number - v3.7.1 (712365a5) +* incrementing version number - v3.7.0 (9a6153d7) +* incrementing version number - v3.6.7 (86a17e38) +* incrementing version number - v3.6.6 (6604bf37) +* incrementing version number - v3.6.5 (6c653625) +* incrementing version number - v3.6.4 (83d131b4) +* incrementing version number - v3.6.3 (fc7d2bfd) +* incrementing version number - v3.6.2 (0f577a57) +* incrementing version number - v3.6.1 (f1a69468) +* incrementing version number - v3.6.0 (4cdf85f8) +* incrementing version number - v3.5.3 (ed0e8783) +* incrementing version number - v3.5.2 (52fbb2da) +* incrementing version number - v3.5.1 (4c543488) +* incrementing version number - v3.5.0 (d06fb4f0) +* incrementing version number - v3.4.3 (5c984250) +* incrementing version number - v3.4.2 (3f0dac38) +* incrementing version number - v3.4.1 (01e69574) +* incrementing version number - v3.4.0 (fd9247c5) +* incrementing version number - v3.3.9 (5805e770) +* incrementing version number - v3.3.8 (a5603565) +* incrementing version number - v3.3.7 (b26f1744) +* incrementing version number - v3.3.6 (7fb38792) +* incrementing version number - v3.3.4 (a67f84ea) +* incrementing version number - v3.3.3 (f94d239b) +* incrementing version number - v3.3.2 (ec9dac97) +* incrementing version number - v3.3.1 (151cc68f) +* incrementing version number - v3.3.0 (fc1ad70f) +* incrementing version number - v3.2.3 (b06d3e63) +* incrementing version number - v3.2.2 (758ecfcd) +* incrementing version number - v3.2.1 (20145074) +* incrementing version number - v3.2.0 (9ecac38e) +* incrementing version number - v3.1.7 (0b4e81ab) +* incrementing version number - v3.1.6 (b3a3b130) +* incrementing version number - v3.1.5 (ec19343a) +* incrementing version number - v3.1.4 (2452783c) +* incrementing version number - v3.1.3 (3b4e9d3f) +* incrementing version number - v3.1.2 (40fa3489) +* incrementing version number - v3.1.1 (40250733) +* incrementing version number - v3.1.0 (0cb386bd) +* incrementing version number - v3.0.1 (26f6ea49) +* incrementing version number - v3.0.0 (224e08cd) + +##### Bug Fixes + +* add missing await (0082ac98) +* closes #12858 (e6ab4b07) +* don't crash if profile folder doesn't exist (8a89c5d7) + +#### v3.10.2 (2024-10-18) + +##### Chores + +* incrementing version number - v3.10.1 (cca3a644) +* update changelog for v3.10.1 (d63a8cca) +* incrementing version number - v3.10.0 (b60a9b4e) +* incrementing version number - v3.9.1 (f120c91c) +* incrementing version number - v3.9.0 (4880f32d) +* incrementing version number - v3.8.4 (4833f9a6) +* incrementing version number - v3.8.3 (97ce2c44) +* incrementing version number - v3.8.2 (72d91251) +* incrementing version number - v3.8.1 (527326f7) +* incrementing version number - v3.8.0 (e228a6eb) +* incrementing version number - v3.7.5 (6882894d) +* incrementing version number - v3.7.4 (6678744c) +* incrementing version number - v3.7.3 (2d62b6f6) +* incrementing version number - v3.7.2 (cc257e7e) +* incrementing version number - v3.7.1 (712365a5) +* incrementing version number - v3.7.0 (9a6153d7) +* incrementing version number - v3.6.7 (86a17e38) +* incrementing version number - v3.6.6 (6604bf37) +* incrementing version number - v3.6.5 (6c653625) +* incrementing version number - v3.6.4 (83d131b4) +* incrementing version number - v3.6.3 (fc7d2bfd) +* incrementing version number - v3.6.2 (0f577a57) +* incrementing version number - v3.6.1 (f1a69468) +* incrementing version number - v3.6.0 (4cdf85f8) +* incrementing version number - v3.5.3 (ed0e8783) +* incrementing version number - v3.5.2 (52fbb2da) +* incrementing version number - v3.5.1 (4c543488) +* incrementing version number - v3.5.0 (d06fb4f0) +* incrementing version number - v3.4.3 (5c984250) +* incrementing version number - v3.4.2 (3f0dac38) +* incrementing version number - v3.4.1 (01e69574) +* incrementing version number - v3.4.0 (fd9247c5) +* incrementing version number - v3.3.9 (5805e770) +* incrementing version number - v3.3.8 (a5603565) +* incrementing version number - v3.3.7 (b26f1744) +* incrementing version number - v3.3.6 (7fb38792) +* incrementing version number - v3.3.4 (a67f84ea) +* incrementing version number - v3.3.3 (f94d239b) +* incrementing version number - v3.3.2 (ec9dac97) +* incrementing version number - v3.3.1 (151cc68f) +* incrementing version number - v3.3.0 (fc1ad70f) +* incrementing version number - v3.2.3 (b06d3e63) +* incrementing version number - v3.2.2 (758ecfcd) +* incrementing version number - v3.2.1 (20145074) +* incrementing version number - v3.2.0 (9ecac38e) +* incrementing version number - v3.1.7 (0b4e81ab) +* incrementing version number - v3.1.6 (b3a3b130) +* incrementing version number - v3.1.5 (ec19343a) +* incrementing version number - v3.1.4 (2452783c) +* incrementing version number - v3.1.3 (3b4e9d3f) +* incrementing version number - v3.1.2 (40fa3489) +* incrementing version number - v3.1.1 (40250733) +* incrementing version number - v3.1.0 (0cb386bd) +* incrementing version number - v3.0.1 (26f6ea49) +* incrementing version number - v3.0.0 (224e08cd) + +##### Bug Fixes + +* closes #12848, add missing purge class (64779352) + +##### Performance Improvements + +* make unread faster if there are 60k+ unread topics (f53f1394) + +##### Refactors + +* single line (120b184e) +* hide modal and show alert on success (a309918e) +* more immediate feedback on category purge (72ccb870) + +#### v3.10.1 (2024-10-09) + +##### Chores + +* up composer (a5f3d097) +* incrementing version number - v3.10.0 (b60a9b4e) +* update changelog for v3.10.0 (a9da495d) +* incrementing version number - v3.9.1 (f120c91c) +* incrementing version number - v3.9.0 (4880f32d) +* incrementing version number - v3.8.4 (4833f9a6) +* incrementing version number - v3.8.3 (97ce2c44) +* incrementing version number - v3.8.2 (72d91251) +* incrementing version number - v3.8.1 (527326f7) +* incrementing version number - v3.8.0 (e228a6eb) +* incrementing version number - v3.7.5 (6882894d) +* incrementing version number - v3.7.4 (6678744c) +* incrementing version number - v3.7.3 (2d62b6f6) +* incrementing version number - v3.7.2 (cc257e7e) +* incrementing version number - v3.7.1 (712365a5) +* incrementing version number - v3.7.0 (9a6153d7) +* incrementing version number - v3.6.7 (86a17e38) +* incrementing version number - v3.6.6 (6604bf37) +* incrementing version number - v3.6.5 (6c653625) +* incrementing version number - v3.6.4 (83d131b4) +* incrementing version number - v3.6.3 (fc7d2bfd) +* incrementing version number - v3.6.2 (0f577a57) +* incrementing version number - v3.6.1 (f1a69468) +* incrementing version number - v3.6.0 (4cdf85f8) +* incrementing version number - v3.5.3 (ed0e8783) +* incrementing version number - v3.5.2 (52fbb2da) +* incrementing version number - v3.5.1 (4c543488) +* incrementing version number - v3.5.0 (d06fb4f0) +* incrementing version number - v3.4.3 (5c984250) +* incrementing version number - v3.4.2 (3f0dac38) +* incrementing version number - v3.4.1 (01e69574) +* incrementing version number - v3.4.0 (fd9247c5) +* incrementing version number - v3.3.9 (5805e770) +* incrementing version number - v3.3.8 (a5603565) +* incrementing version number - v3.3.7 (b26f1744) +* incrementing version number - v3.3.6 (7fb38792) +* incrementing version number - v3.3.4 (a67f84ea) +* incrementing version number - v3.3.3 (f94d239b) +* incrementing version number - v3.3.2 (ec9dac97) +* incrementing version number - v3.3.1 (151cc68f) +* incrementing version number - v3.3.0 (fc1ad70f) +* incrementing version number - v3.2.3 (b06d3e63) +* incrementing version number - v3.2.2 (758ecfcd) +* incrementing version number - v3.2.1 (20145074) +* incrementing version number - v3.2.0 (9ecac38e) +* incrementing version number - v3.1.7 (0b4e81ab) +* incrementing version number - v3.1.6 (b3a3b130) +* incrementing version number - v3.1.5 (ec19343a) +* incrementing version number - v3.1.4 (2452783c) +* incrementing version number - v3.1.3 (3b4e9d3f) +* incrementing version number - v3.1.2 (40fa3489) +* incrementing version number - v3.1.1 (40250733) +* incrementing version number - v3.1.0 (0cb386bd) +* incrementing version number - v3.0.1 (26f6ea49) +* incrementing version number - v3.0.0 (224e08cd) + +##### Bug Fixes + +* **deps:** bump 2factor (712767f6) + +##### Refactors + +* don't block ./nodebb upgrade if suggested modules are not loaded (39f57f9e) + +#### v3.10.0 (2024-09-25) + +##### Chores + +* move service worker generation code to its own controller file (c153c469) +* incrementing version number - v3.9.1 (f120c91c) +* incrementing version number - v3.9.0 (4880f32d) +* incrementing version number - v3.8.4 (4833f9a6) +* incrementing version number - v3.8.3 (97ce2c44) +* incrementing version number - v3.8.2 (72d91251) +* incrementing version number - v3.8.1 (527326f7) +* incrementing version number - v3.8.0 (e228a6eb) +* incrementing version number - v3.7.5 (6882894d) +* incrementing version number - v3.7.4 (6678744c) +* incrementing version number - v3.7.3 (2d62b6f6) +* incrementing version number - v3.7.2 (cc257e7e) +* incrementing version number - v3.7.1 (712365a5) +* incrementing version number - v3.7.0 (9a6153d7) +* incrementing version number - v3.6.7 (86a17e38) +* incrementing version number - v3.6.6 (6604bf37) +* incrementing version number - v3.6.5 (6c653625) +* incrementing version number - v3.6.4 (83d131b4) +* incrementing version number - v3.6.3 (fc7d2bfd) +* incrementing version number - v3.6.2 (0f577a57) +* incrementing version number - v3.6.1 (f1a69468) +* incrementing version number - v3.6.0 (4cdf85f8) +* incrementing version number - v3.5.3 (ed0e8783) +* incrementing version number - v3.5.2 (52fbb2da) +* incrementing version number - v3.5.1 (4c543488) +* incrementing version number - v3.5.0 (d06fb4f0) +* incrementing version number - v3.4.3 (5c984250) +* incrementing version number - v3.4.2 (3f0dac38) +* incrementing version number - v3.4.1 (01e69574) +* incrementing version number - v3.4.0 (fd9247c5) +* incrementing version number - v3.3.9 (5805e770) +* incrementing version number - v3.3.8 (a5603565) +* incrementing version number - v3.3.7 (b26f1744) +* incrementing version number - v3.3.6 (7fb38792) +* incrementing version number - v3.3.4 (a67f84ea) +* incrementing version number - v3.3.3 (f94d239b) +* incrementing version number - v3.3.2 (ec9dac97) +* incrementing version number - v3.3.1 (151cc68f) +* incrementing version number - v3.3.0 (fc1ad70f) +* incrementing version number - v3.2.3 (b06d3e63) +* incrementing version number - v3.2.2 (758ecfcd) +* incrementing version number - v3.2.1 (20145074) +* incrementing version number - v3.2.0 (9ecac38e) +* incrementing version number - v3.1.7 (0b4e81ab) +* incrementing version number - v3.1.6 (b3a3b130) +* incrementing version number - v3.1.5 (ec19343a) +* incrementing version number - v3.1.4 (2452783c) +* incrementing version number - v3.1.3 (3b4e9d3f) +* incrementing version number - v3.1.2 (40fa3489) +* incrementing version number - v3.1.1 (40250733) +* incrementing version number - v3.1.0 (0cb386bd) +* incrementing version number - v3.0.1 (26f6ea49) +* incrementing version number - v3.0.0 (224e08cd) +* **deps:** + * update dependency jsdom to v25.0.1 (#12816) (9a24eb7e) + * update dependency sass-embedded to v1.79.3 (#12813) (e0cb1d26) + * update dependency sass-embedded to v1.79.2 (#12811) (8a6ced2d) + * update dependency nyc to v17.1.0 (#12806) (d55c3f03) + +##### New Features + +* port updated service worker code to `develop`, allow plugins to define scripts to import into service worker (979954c2) + +##### Bug Fixes + +* **deps:** + * update dependency esbuild to v0.24.0 (#12817) (8c148bc4) + * update dependency commander to v12.1.0 (#12587) (c7d4db8c) + * update dependency sass to v1.79.3 (#12814) (f0cdc249) + * update dependency sass to v1.79.2 (#12812) (2a5d481f) + * update dependency nodebb-widget-essentials to v7.0.29 (#12805) (86c2caed) + +##### Refactors + +* silence saas deprecations on prod (3fdec51a) + +#### v3.9.1 (2024-09-25) + +##### Chores + +* up themes (8bca9768) +* up widgets (41c73de5) +* incrementing version number - v3.9.0 (4880f32d) +* update changelog for v3.9.0 (c3d97c6c) +* incrementing version number - v3.8.4 (4833f9a6) +* incrementing version number - v3.8.3 (97ce2c44) +* incrementing version number - v3.8.2 (72d91251) +* incrementing version number - v3.8.1 (527326f7) +* incrementing version number - v3.8.0 (e228a6eb) +* incrementing version number - v3.7.5 (6882894d) +* incrementing version number - v3.7.4 (6678744c) +* incrementing version number - v3.7.3 (2d62b6f6) +* incrementing version number - v3.7.2 (cc257e7e) +* incrementing version number - v3.7.1 (712365a5) +* incrementing version number - v3.7.0 (9a6153d7) +* incrementing version number - v3.6.7 (86a17e38) +* incrementing version number - v3.6.6 (6604bf37) +* incrementing version number - v3.6.5 (6c653625) +* incrementing version number - v3.6.4 (83d131b4) +* incrementing version number - v3.6.3 (fc7d2bfd) +* incrementing version number - v3.6.2 (0f577a57) +* incrementing version number - v3.6.1 (f1a69468) +* incrementing version number - v3.6.0 (4cdf85f8) +* incrementing version number - v3.5.3 (ed0e8783) +* incrementing version number - v3.5.2 (52fbb2da) +* incrementing version number - v3.5.1 (4c543488) +* incrementing version number - v3.5.0 (d06fb4f0) +* incrementing version number - v3.4.3 (5c984250) +* incrementing version number - v3.4.2 (3f0dac38) +* incrementing version number - v3.4.1 (01e69574) +* incrementing version number - v3.4.0 (fd9247c5) +* incrementing version number - v3.3.9 (5805e770) +* incrementing version number - v3.3.8 (a5603565) +* incrementing version number - v3.3.7 (b26f1744) +* incrementing version number - v3.3.6 (7fb38792) +* incrementing version number - v3.3.4 (a67f84ea) +* incrementing version number - v3.3.3 (f94d239b) +* incrementing version number - v3.3.2 (ec9dac97) +* incrementing version number - v3.3.1 (151cc68f) +* incrementing version number - v3.3.0 (fc1ad70f) +* incrementing version number - v3.2.3 (b06d3e63) +* incrementing version number - v3.2.2 (758ecfcd) +* incrementing version number - v3.2.1 (20145074) +* incrementing version number - v3.2.0 (9ecac38e) +* incrementing version number - v3.1.7 (0b4e81ab) +* incrementing version number - v3.1.6 (b3a3b130) +* incrementing version number - v3.1.5 (ec19343a) +* incrementing version number - v3.1.4 (2452783c) +* incrementing version number - v3.1.3 (3b4e9d3f) +* incrementing version number - v3.1.2 (40fa3489) +* incrementing version number - v3.1.1 (40250733) +* incrementing version number - v3.1.0 (0cb386bd) +* incrementing version number - v3.0.1 (26f6ea49) +* incrementing version number - v3.0.0 (224e08cd) + +##### Bug Fixes + +* closes #12819, add helper to escape tx strings (7d0c2cb6) +* closes #12807, fix quick reply js error (06ac0c99) + +##### Refactors + +* silence saas deprecations on prod (05e4307e) +* remove deprecation warnings, still used from widgets (3cee59f9) + +#### v3.9.0 (2024-09-18) + +##### Chores + +* **deps:** + * update dependency sass-embedded to v1.79.1 (#12803) (fa75a7e0) + * update dependency eslint to v8.57.1 (#12800) (fc9f0e8c) + * update commitlint monorepo to v19.5.0 (#12790) (b25e7639) + * update dependency smtp-server to v3.13.5 (#12781) (98957726) + * update dependency eslint-plugin-import to v2.30.0 (#12771) (2460b050) + * update redis docker tag to v7.4.0 (#12712) (a2a30ebd) + * update dependency sass-embedded to v1.78.0 (#12772) (fde0a65a) + * update dependency lint-staged to v15.2.10 (#12767) (a55b985e) + * update commitlint monorepo to v19.4.1 (#12762) (f608f786) + * update dependency jsdom to v25 (#12756) (e8abf502) + * update dependency jsdom to v24.1.3 (#12755) (07151f8a) + * update dependency lint-staged to v15.2.9 (#12730) (1b6572bb) + * update dependency mocha to v10.7.3 (#12723) (e0850ef7) + * update postgres docker tag to v16.4 (#12726) (948d3080) + * update dependency @commitlint/cli to v19.4.0 (#12725) (bf5c1855) + * update dependency lint-staged to v15.2.8 (#12717) (d0e6cd8f) + * update dependency jsdom to v24.1.1 (#12705) (f35068e6) + * update dependency mocha to v10.7.0 (#12704) (4609083e) + * update dependency sass-embedded to v1.77.8 (#12691) (39bcc903) + * update dependency mocha to v10.6.0 (#12672) (8ea9b4a8) + * update dependency mocha to v10.5.2 (#12657) (1933b765) + * update dependency mocha to v10.5.1 (#12651) (35053887) + * update docker/build-push-action action to v6 (#12641) (a78cd1b4) + * update dependency lint-staged to v15.2.7 (#12638) (d023933d) + * update dependency nyc to v17 (#12627) (31186b8c) + * update dependency sass-embedded to v1.77.5 (#12639) (66f66ede) + * update dependency jsdom to v24.1.0 (#12601) (91e79c22) + * update dependency lint-staged to v15.2.5 (#12598) (3f904986) + * update postgres docker tag to v16.3 (#12576) (8f6ef987) + * update dependency lint-staged to v15.2.4 (#12592) (0b004b4b) + * update redis docker tag to v7.2.5 (#12588) (fc29ea85) + * update dependency sass-embedded to v1.77.2 (#12583) (42754e39) +* up harmony (5cd68c0b) +* up composer (b0d9664b) +* up themes (3e5a8d1c) +* up deps (5220503c) +* up persona (8af4a184) +* up persona (1abececa) +* up themes (35e92d6d) +* up persona (c9cadbad) +* up persona (db84d04a) +* up widget essentials (675ea0f9) +* up widgets (a4aea98c) +* up widgets (a6a99553) +* up widgets (9e673a41) +* up widgets (f759a07d) +* up widgets (bf6be3ef) +* up widgets (32d4ac84) +* up harmony (780db9e2) +* incrementing version number - v3.8.4 (4833f9a6) +* update changelog for v3.8.4 (693bac5b) +* incrementing version number - v3.8.3 (97ce2c44) +* incrementing version number - v3.8.2 (72d91251) +* incrementing version number - v3.8.1 (527326f7) +* incrementing version number - v3.8.0 (e228a6eb) +* incrementing version number - v3.7.5 (6882894d) +* incrementing version number - v3.7.4 (6678744c) +* incrementing version number - v3.7.3 (2d62b6f6) +* incrementing version number - v3.7.2 (cc257e7e) +* incrementing version number - v3.7.1 (712365a5) +* incrementing version number - v3.7.0 (9a6153d7) +* incrementing version number - v3.6.7 (86a17e38) +* incrementing version number - v3.6.6 (6604bf37) +* incrementing version number - v3.6.5 (6c653625) +* incrementing version number - v3.6.4 (83d131b4) +* incrementing version number - v3.6.3 (fc7d2bfd) +* incrementing version number - v3.6.2 (0f577a57) +* incrementing version number - v3.6.1 (f1a69468) +* incrementing version number - v3.6.0 (4cdf85f8) +* incrementing version number - v3.5.3 (ed0e8783) +* incrementing version number - v3.5.2 (52fbb2da) +* incrementing version number - v3.5.1 (4c543488) +* incrementing version number - v3.5.0 (d06fb4f0) +* incrementing version number - v3.4.3 (5c984250) +* incrementing version number - v3.4.2 (3f0dac38) +* incrementing version number - v3.4.1 (01e69574) +* incrementing version number - v3.4.0 (fd9247c5) +* incrementing version number - v3.3.9 (5805e770) +* incrementing version number - v3.3.8 (a5603565) +* incrementing version number - v3.3.7 (b26f1744) +* incrementing version number - v3.3.6 (7fb38792) +* incrementing version number - v3.3.4 (a67f84ea) +* incrementing version number - v3.3.3 (f94d239b) +* incrementing version number - v3.3.2 (ec9dac97) +* incrementing version number - v3.3.1 (151cc68f) +* incrementing version number - v3.3.0 (fc1ad70f) +* incrementing version number - v3.2.3 (b06d3e63) +* incrementing version number - v3.2.2 (758ecfcd) +* incrementing version number - v3.2.1 (20145074) +* incrementing version number - v3.2.0 (9ecac38e) +* incrementing version number - v3.1.7 (0b4e81ab) +* incrementing version number - v3.1.6 (b3a3b130) +* incrementing version number - v3.1.5 (ec19343a) +* incrementing version number - v3.1.4 (2452783c) +* incrementing version number - v3.1.3 (3b4e9d3f) +* incrementing version number - v3.1.2 (40fa3489) +* incrementing version number - v3.1.1 (40250733) +* incrementing version number - v3.1.0 (0cb386bd) +* incrementing version number - v3.0.1 (26f6ea49) +* incrementing version number - v3.0.0 (224e08cd) +* **i18n:** + * fallback strings for new resources: nodebb.users (d348d1df) + * fallback strings for new resources: nodebb.admin-extend-widgets (16ee1ad7) + * fallback strings for new resources: nodebb.themes-harmony (90e0013c) + * fallback strings for new resources: nodebb.modules (3531617d) + * fallback strings for new resources: nodebb.admin-settings-reputation (28c0abf9) + * fallback strings for new resources: nodebb.notifications (6fbc6040) + * fallback strings for new resources: nodebb.post-queue (b46a82db) + * fallback strings for new resources: nodebb.admin-development-info (cfedfc2d) + * fallback strings for new resources: nodebb.admin-settings-reputation (1bb47280) + +##### New Features + +* give category selector input min-width for mobile (2a15856b) +* add action:topics.scheduled.notify (705796f6) +* add followed users lang string (d6643160) +* add a new widget container (1c2afcc1) +* show a friendly message on invalid or expired code, closes #12738 (01a2f0e7) +* allow chat rooms in widgets (f80b7b87) +* migrate topic move socket call to api v3 (2d14a798) +* add allow and frameborder to allow attrs (c3f02b74) +* add missing event type (334c8c9d) +* send topic title into user-posted-topic-with-tag notification type, unbold tags in copy (1611b17b) + +##### Bug Fixes + +* **deps:** + * update dependency sass to v1.79.1 (#12804) (ff77a7ab) + * update dependency pg to v8.13.0 (#12801) (1ad1e0ba) + * update dependency pg-cursor to v2.12.0 (#12802) (c8627f05) + * update dependency connect-pg-simple to v10 (#12798) (64b21674) + * update dependency postcss to v8.4.47 (#12797) (2473e57d) + * update dependency nodebb-plugin-ntfy to v1.7.7 (#12796) (d67ebafe) + * update dependency mongodb to v6.9.0 (#12792) (edc468d4) + * update dependency nodebb-plugin-2factor to v7.5.5 (#12794) (63589d50) + * update dependency tough-cookie to v5 (#12782) (396dd38b) + * update dependency express to v4.21.0 (#12784) (1d9812e0) + * update fontsource monorepo to v5.1.0 (#12791) (03f13433) + * update fontsource monorepo (#12779) (6dc58177) + * update dependency body-parser to v1.20.3 (#12783) (8943a54d) + * update dependency diff to v7 (#12778) (e97e1373) + * update dependency mongodb to v6.8.1 (#12777) (0784683d) + * update dependency diff to v6 (#12774) (0dda1f34) + * update dependency nodemailer to v6.9.15 (#12768) (70f01acb) + * update dependency sortablejs to v1.15.3 (#12770) (84b483c6) + * update dependency postcss to v8.4.45 (#12769) (81757595) + * update dependency sass to v1.78.0 (#12773) (e8cc695d) + * update dependency ace-builds to v1.36.2 (#12765) (25deb062) + * update dependency ace-builds to v1.36.1 (#12764) (ee715f36) + * update dependency rtlcss to v4.3.0 (#12759) (da61bd49) + * update dependency webpack to v5.94.0 (#12752) (1f88b551) + * update dependency ace-builds to v1.36.0 (#12750) (fbd09b2a) + * update dependency nodebb-widget-essentials to v7.0.21 (#12749) (23eb3538) + * update dependency chart.js to v4.4.4 (#12748) (dc24e5ba) + * update dependency async to v3.2.6 (#12747) (e578dfca) + * update dependency ace-builds to v1.35.5 (#12746) (3d0e55d5) + * update dependency esbuild to v0.23.1 (#12745) (6297322c) + * update dependency @fontsource/poppins to v5.0.15 (#12744) (51b9c5b4) + * update dependency winston to v3.14.2 (#12741) (6300d849) + * update dependency nodebb-plugin-ntfy to v1.7.6 (#12724) (42aa8786) + * update dependency winston to v3.14.1 (#12727) (0e547405) + * update dependency postcss to v8.4.41 (#12718) (f54519f1) + * update dependency jquery-ui to v1.14.0 (#12719) (4e97a091) + * update dependency autoprefixer to v10.4.20 (#12716) (89c87f51) + * update dependency rimraf to v5.0.10 (#12715) (7b1dc6a7) + * update dependency @fontsource/inter to v5.0.20 (#12714) (703951d3) + * update dependency postcss to v8.4.40 (#12710) (48d52840) + * update dependency rtlcss to v4.2.0 (#12709) (5aa4c219) + * update dependency ace-builds to v1.35.4 (#12706) (405264d9) + * update dependency @fortawesome/fontawesome-free to v6.6.0 (#12696) (7723e4af) + * update dependency ace-builds to v1.35.3 (#12700) (ee8fd06e) + * update dependency semver to v7.6.3 (#12697) (2bcf7f79) + * update dependency compare-versions to v6.1.1 (#12693) (c52364a5) + * update dependency webpack to v5.93.0 (#12692) (710bf2f8) + * update dependency sass to v1.77.8 (#12687) (50030473) + * update dependency winston to v3.13.1 (#12690) (5678430e) + * update dependency lru-cache to v10.4.3 (#12681) (38e9bbba) + * update dependency rimraf to v5.0.9 (#12684) (335bc685) + * update dependency lru-cache to v10.3.1 (#12678) (fcfe1f57) + * update dependency nodebb-theme-persona to v13.3.25 (#12679) (871367c1) + * update dependency rimraf to v5.0.8 (#12680) (48bd5519) + * update dependency webpack-merge to v6 (#12670) (d39c05ab) + * update dependency @fontsource/inter to v5.0.19 (#12677) (540a05d2) + * update dependency esbuild to v0.23.0 (#12668) (088217f3) + * update dependency ace-builds to v1.35.2 (#12669) (18f9b1d6) + * update dependency postcss to v8.4.39 (#12666) (ba65f193) + * update dependency workerpool to v9.1.3 (#12665) (cba80283) + * update dependency mongodb to v6.8.0 (#12663) (48f8e464) + * update dependency lru-cache to v10.3.0 (#12664) (12e0aecb) + * update dependency ace-builds to v1.35.1 (#12659) (3c46c5f4) + * update dependency nodemailer to v6.9.14 (#12643) (94691372) + * update dependency webpack to v5.92.1 (#12644) (115f236f) + * update dependency sass to v1.77.6 (#12640) (b80a8dec) + * update dependency webpack to v5.92.0 (#12631) (21e061a0) + * update dependency esbuild to v0.21.5 (#12626) (e29bcbce) + * update dependency ace-builds to v1.35.0 (#12630) (0053c788) + * update dependency nodebb-plugin-markdown to v12.2.8 (#12624) (c3ff16e5) + * update dependency pg-cursor to v2.11.0 (#12617) (24d0999f) + * update dependency pg to v8.12.0 (#12616) (bee05fe2) + * update dependency workerpool to v9.1.2 (#12612) (bff0f0e8) + * update dependency sass to v1.77.4 (#12608) (eba8179e) + * update dependency mongodb to v6.7.0 (#12603) (606342c5) + * update dependency sass to v1.77.3 (#12605) (f783ce30) + * update dependency esbuild to v0.21.4 (#12600) (c1a6293f) + * update dependency ace-builds to v1.34.2 (#12599) (5595a35e) + * update dependency nodebb-plugin-2factor to v7.5.2 (#12577) (72a0fe93) + * update dependency sitemap to v8 (#12595) (9ebd96e8) + * update dependency nodebb-plugin-markdown to v12.2.7 (#12590) (333ebd9b) + * update dependency ace-builds to v1.34.1 (#12591) (7a6b70f0) + * update dependency chart.js to v4.4.3 (#12585) (95023355) + * update dependency sass to v1.77.2 (#12584) (f6509266) + * update dependency mongodb to v6.6.2 (#12579) (984717a8) + * update dependency esbuild to v0.21.3 (#12580) (d66118bb) + * update dependency nodebb-theme-harmony to v1.2.56 (#12581) (2dd6b148) +* closes #12795, don't crash if there is an error in auto approve from queue (6ccf40bf) +* closes #12780, 404 in api/v3 if topic doesn't exist (220af706) +* vague description for harmony settings.enableBreadcrumbs, help text (17029952) +* closes #12758, show different error message for block (c0b30ea4) +* reset form/invalid code style (20053af6) +* #12754, throw if currentPwd == newPwd (f361df01) +* #12736, merged notifications use username instead of displayname (ad68809b) +* #12728, don't display unread badge if nav link doesn't exist (6f7eecd1) +* bump composer (a7934f36) +* closes #12721, export all users (6e1c6436) +* bump 2factor and ntfy (79c4eadd) +* crash if error objecft passed to handleErrors contains no message (e630f006) +* don't allow joining topic_ & category_ (503a97e5) +* sanitize-html configuration passed in src/posts/parse.js (db30834e) +* handle unhandled exception at handleErrors (598c10c6) + +##### Other Changes + +* up themes fix btn-ghost-sm (106291fa) + +##### Performance Improvements + +* don't load unread page again if everything already loaded (4aad6019) + +##### Refactors + +* change the path of follow notif to go to the user (cf405b18) +* move textcomplete to core (20fd75bf) +* don't use composer directly, use the post hook (da7044e4) +* fix whitespace (609a9878) +* fix btn-ghost usage to match bootstrap (c58e09f9) +* remove unused (feefd733) +* remove log (c5b2f988) +* #12713, update chat teasers even if chat notifications are disabled (ac644ac2) + +##### Tests + +* fix spec (5fa8ddbc) +* since admin pwd changes in test, login with new pwd (be32cf44) +* add logs for test failures (33587358) +* create topic for socket.io tests (ed2f3b75) + +#### v3.8.4 (2024-08-01) + +##### Chores + +* up widgets (d1663ac2) +* up widgets (cb4bf9dd) +* up persona (324610de) +* incrementing version number - v3.8.3 (97ce2c44) +* update changelog for v3.8.3 (2a239a79) +* incrementing version number - v3.8.2 (72d91251) +* incrementing version number - v3.8.1 (527326f7) +* incrementing version number - v3.8.0 (e228a6eb) +* incrementing version number - v3.7.5 (6882894d) +* incrementing version number - v3.7.4 (6678744c) +* incrementing version number - v3.7.3 (2d62b6f6) +* incrementing version number - v3.7.2 (cc257e7e) +* incrementing version number - v3.7.1 (712365a5) +* incrementing version number - v3.7.0 (9a6153d7) +* incrementing version number - v3.6.7 (86a17e38) +* incrementing version number - v3.6.6 (6604bf37) +* incrementing version number - v3.6.5 (6c653625) +* incrementing version number - v3.6.4 (83d131b4) +* incrementing version number - v3.6.3 (fc7d2bfd) +* incrementing version number - v3.6.2 (0f577a57) +* incrementing version number - v3.6.1 (f1a69468) +* incrementing version number - v3.6.0 (4cdf85f8) +* incrementing version number - v3.5.3 (ed0e8783) +* incrementing version number - v3.5.2 (52fbb2da) +* incrementing version number - v3.5.1 (4c543488) +* incrementing version number - v3.5.0 (d06fb4f0) +* incrementing version number - v3.4.3 (5c984250) +* incrementing version number - v3.4.2 (3f0dac38) +* incrementing version number - v3.4.1 (01e69574) +* incrementing version number - v3.4.0 (fd9247c5) +* incrementing version number - v3.3.9 (5805e770) +* incrementing version number - v3.3.8 (a5603565) +* incrementing version number - v3.3.7 (b26f1744) +* incrementing version number - v3.3.6 (7fb38792) +* incrementing version number - v3.3.4 (a67f84ea) +* incrementing version number - v3.3.3 (f94d239b) +* incrementing version number - v3.3.2 (ec9dac97) +* incrementing version number - v3.3.1 (151cc68f) +* incrementing version number - v3.3.0 (fc1ad70f) +* incrementing version number - v3.2.3 (b06d3e63) +* incrementing version number - v3.2.2 (758ecfcd) +* incrementing version number - v3.2.1 (20145074) +* incrementing version number - v3.2.0 (9ecac38e) +* incrementing version number - v3.1.7 (0b4e81ab) +* incrementing version number - v3.1.6 (b3a3b130) +* incrementing version number - v3.1.5 (ec19343a) +* incrementing version number - v3.1.4 (2452783c) +* incrementing version number - v3.1.3 (3b4e9d3f) +* incrementing version number - v3.1.2 (40fa3489) +* incrementing version number - v3.1.1 (40250733) +* incrementing version number - v3.1.0 (0cb386bd) +* incrementing version number - v3.0.1 (26f6ea49) +* incrementing version number - v3.0.0 (224e08cd) + +##### New Features + +* update chat teasers when a new chat starts, closes #12713 (0204f2aa) +* add downvoteVisibility setting, closes #12698 (269fc068) + +##### Bug Fixes + +* prevent category filter to go to selected cid (10c5cd4c) +* add sizes to maskable so it doesnt crash chrome application tab (ccc86825) +* post preview not working on parent post (a28dd70f) + +##### Refactors + +* hooks page design (cea18d0c) +* closes #12699, allow boolean false for log-colorize (42ac1f9d) + +##### Tests + +* test fix maybe (a73f269f) + #### v3.8.3 (2024-06-27) ##### Chores diff --git a/docker-compose-pgsql.yml b/docker-compose-pgsql.yml index 64619e4c0f..67297c5676 100644 --- a/docker-compose-pgsql.yml +++ b/docker-compose-pgsql.yml @@ -14,7 +14,7 @@ services: - ./install/docker/setup.json:/usr/src/app/setup.json postgres: - image: postgres:16.3-alpine + image: postgres:17.0-alpine restart: unless-stopped environment: POSTGRES_USER: nodebb @@ -24,7 +24,7 @@ services: - postgres-data:/var/lib/postgresql/data redis: - image: redis:7.2.4-alpine + image: redis:7.4.1-alpine restart: unless-stopped command: ['redis-server', '--appendonly', 'yes', '--loglevel', 'warning'] # command: ["redis-server", "--save", "60", "1", "--loglevel", "warning"] # uncomment if you want to use snapshotting instead of AOF diff --git a/docker-compose-redis.yml b/docker-compose-redis.yml index 7d6ddf09ca..b0e650e709 100644 --- a/docker-compose-redis.yml +++ b/docker-compose-redis.yml @@ -14,7 +14,7 @@ services: - ./install/docker/setup.json:/usr/src/app/setup.json redis: - image: redis:7.2.4-alpine + image: redis:7.4.1-alpine restart: unless-stopped command: ['redis-server', '--appendonly', 'yes', '--loglevel', 'warning'] # command: ["redis-server", "--save", "60", "1", "--loglevel", "warning"] # uncomment if you want to use snapshotting instead of AOF diff --git a/docker-compose.yml b/docker-compose.yml index 0742c437a6..df9c3e9fe8 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -26,7 +26,7 @@ services: - mongo-data:/data/db - ./install/docker/mongodb-user-init.js:/docker-entrypoint-initdb.d/user-init.js redis: - image: redis:7.2.4-alpine + image: redis:7.4.1-alpine restart: unless-stopped command: ['redis-server', '--appendonly', 'yes', '--loglevel', 'warning'] # command: ['redis-server', '--save', '60', '1', '--loglevel', 'warning'] # uncomment if you want to use snapshotting instead of AOF @@ -36,7 +36,7 @@ services: - redis postgres: - image: postgres:16.1-alpine + image: postgres:17.0-alpine restart: unless-stopped environment: POSTGRES_USER: nodebb diff --git a/install/package.json b/install/package.json index 9bf2e4e045..0186eff62e 100644 --- a/install/package.json +++ b/install/package.json @@ -2,7 +2,7 @@ "name": "nodebb", "license": "GPL-3.0", "description": "NodeBB Forum", - "version": "3.8.3", + "version": "3.10.3", "homepage": "https://www.nodebb.org", "repository": { "type": "git", @@ -29,50 +29,53 @@ }, "dependencies": { "@adactive/bootstrap-tagsinput": "0.8.2", - "@fontsource/inter": "5.0.18", - "@fontsource/poppins": "5.0.14", - "@fortawesome/fontawesome-free": "6.5.2", + "@fontsource/inter": "5.1.0", + "@fontsource/poppins": "5.1.0", + "@fortawesome/fontawesome-free": "6.6.0", "@isaacs/ttlcache": "1.4.1", "@nodebb/spider-detector": "2.0.3", "@popperjs/core": "2.11.8", - "ace-builds": "1.33.2", + "@textcomplete/contenteditable": "0.1.13", + "@textcomplete/core": "0.1.13", + "@textcomplete/textarea": "0.1.13", + "ace-builds": "1.36.4", "archiver": "7.0.1", - "async": "3.2.5", - "autoprefixer": "10.4.19", + "async": "3.2.6", + "autoprefixer": "10.4.20", "bcryptjs": "2.4.3", "benchpressjs": "2.5.1", - "body-parser": "1.20.2", + "body-parser": "1.20.3", "bootbox": "6.0.0", "bootstrap": "5.3.3", "bootswatch": "5.3.3", "chalk": "4.1.2", - "chart.js": "4.4.2", + "chart.js": "4.4.6", "cli-graph": "3.2.2", "clipboard": "2.0.11", "colors": "1.4.0", - "commander": "12.0.0", - "compare-versions": "6.1.0", - "compression": "1.7.4", + "commander": "12.1.0", + "compare-versions": "6.1.1", + "compression": "1.7.5", "connect-flash": "0.1.1", "connect-mongo": "5.1.0", "connect-multiparty": "2.2.0", - "connect-pg-simple": "9.0.1", + "connect-pg-simple": "10.0.0", "connect-redis": "7.1.1", - "cookie-parser": "1.4.6", - "cron": "3.1.7", + "cookie-parser": "1.4.7", + "cron": "3.1.9", "cropperjs": "1.6.2", "csrf-sync": "4.0.3", "daemon": "1.1.0", - "diff": "5.2.0", - "esbuild": "0.21.2", - "express": "4.19.2", - "express-session": "1.18.0", + "diff": "7.0.0", + "esbuild": "0.24.0", + "express": "4.21.1", + "express-session": "1.18.1", "express-useragent": "1.0.15", "fetch-cookie": "3.0.1", "file-loader": "6.2.0", "fs-extra": "11.2.0", "graceful-fs": "4.2.11", - "helmet": "7.1.0", + "helmet": "7.2.0", "html-to-text": "9.0.5", "imagesloaded": "5.0.0", "ipaddr.js": "2.2.0", @@ -80,60 +83,60 @@ "jquery-deserialize": "2.0.0", "jquery-form": "4.3.0", "jquery-serializeobject": "1.0.0", - "jquery-ui": "1.13.3", + "jquery-ui": "1.14.1", "jsesc": "3.0.2", "json2csv": "5.0.7", "jsonwebtoken": "9.0.2", "lodash": "4.17.21", "logrotate-stream": "0.2.9", - "lru-cache": "10.2.2", + "lru-cache": "10.4.3", "mime": "3.0.0", "mkdirp": "3.0.1", - "mongodb": "6.6.1", + "mongodb": "6.10.0", "morgan": "1.10.0", "mousetrap": "1.6.5", "multiparty": "4.2.3", "nconf": "0.12.1", - "nodebb-plugin-2factor": "7.5.3", - "nodebb-plugin-composer-default": "10.2.36", + "nodebb-plugin-2factor": "7.5.6", + "nodebb-plugin-composer-default": "10.2.42", "nodebb-plugin-dbsearch": "6.2.5", "nodebb-plugin-emoji": "5.1.15", "nodebb-plugin-emoji-android": "4.0.0", - "nodebb-plugin-markdown": "12.2.6", + "nodebb-plugin-markdown": "12.2.8", "nodebb-plugin-mentions": "4.4.3", - "nodebb-plugin-ntfy": "1.7.4", + "nodebb-plugin-ntfy": "1.7.7", "nodebb-plugin-spam-be-gone": "2.2.2", "nodebb-rewards-essentials": "1.0.0", - "nodebb-theme-harmony": "1.2.63", - "nodebb-theme-lavender": "7.1.8", - "nodebb-theme-peace": "2.2.6", - "nodebb-theme-persona": "13.3.25", - "nodebb-widget-essentials": "7.0.18", - "nodemailer": "6.9.13", + "nodebb-theme-harmony": "1.2.78", + "nodebb-theme-lavender": "7.1.10", + "nodebb-theme-peace": "2.2.8", + "nodebb-theme-persona": "13.3.41", + "nodebb-widget-essentials": "7.0.30", + "nodemailer": "6.9.16", "nprogress": "0.2.0", "passport": "0.7.0", "passport-http-bearer": "1.0.1", "passport-local": "1.0.0", - "pg": "8.11.5", - "pg-cursor": "2.10.5", - "postcss": "8.4.38", + "pg": "8.13.1", + "pg-cursor": "2.12.1", + "postcss": "8.4.47", "postcss-clean": "1.2.0", "progress-webpack-plugin": "1.0.16", "prompt": "1.3.0", "ioredis": "5.4.1", - "rimraf": "5.0.7", + "rimraf": "5.0.10", "rss": "1.2.2", - "rtlcss": "4.1.1", - "sanitize-html": "2.13.0", - "sass": "1.77.1", - "semver": "7.6.2", + "rtlcss": "4.3.0", + "sanitize-html": "2.13.1", + "sass": "1.80.6", + "semver": "7.6.3", "serve-favicon": "2.5.0", "sharp": "0.32.6", - "sitemap": "7.1.1", - "socket.io": "4.7.5", - "socket.io-client": "4.7.5", + "sitemap": "8.0.0", + "socket.io": "4.8.1", + "socket.io-client": "4.8.1", "@socket.io/redis-adapter": "8.3.0", - "sortablejs": "1.15.2", + "sortablejs": "1.15.3", "spdx-license-list": "6.9.0", "terser-webpack-plugin": "5.3.10", "textcomplete": "0.18.2", @@ -141,12 +144,12 @@ "timeago": "1.6.7", "tinycon": "0.6.8", "toobusy-js": "0.5.1", - "tough-cookie": "4.1.4", + "tough-cookie": "5.0.0", "validator": "13.12.0", - "webpack": "5.91.0", - "webpack-merge": "5.10.0", - "winston": "3.13.0", - "workerpool": "9.1.1", + "webpack": "5.96.1", + "webpack-merge": "6.0.1", + "winston": "3.16.0", + "workerpool": "9.2.0", "xml": "1.0.1", "xregexp": "5.1.1", "yargs": "17.7.2", @@ -154,25 +157,25 @@ }, "devDependencies": { "@apidevtools/swagger-parser": "10.1.0", - "@commitlint/cli": "19.3.0", - "@commitlint/config-angular": "19.3.0", + "@commitlint/cli": "19.5.0", + "@commitlint/config-angular": "19.5.0", "coveralls": "3.1.1", - "eslint": "8.57.0", + "eslint": "8.57.1", "eslint-config-nodebb": "0.2.1", - "eslint-plugin-import": "2.29.1", + "eslint-plugin-import": "2.31.0", "grunt": "1.6.1", "grunt-contrib-watch": "1.1.0", "husky": "8.0.3", - "jsdom": "24.0.0", - "lint-staged": "15.2.2", - "mocha": "10.4.0", + "jsdom": "25.0.1", + "lint-staged": "15.2.10", + "mocha": "10.8.2", "mocha-lcov-reporter": "1.3.0", "mockdate": "3.0.5", - "nyc": "15.1.0", - "smtp-server": "3.13.4" + "nyc": "17.1.0", + "smtp-server": "3.13.6" }, "optionalDependencies": { - "sass-embedded": "1.77.1" + "sass-embedded": "1.80.6" }, "resolutions": { "*/jquery": "3.7.1" diff --git a/public/language/ar/admin/development/info.json b/public/language/ar/admin/development/info.json index 7948d86494..4c97beee13 100644 --- a/public/language/ar/admin/development/info.json +++ b/public/language/ar/admin/development/info.json @@ -3,7 +3,7 @@ "ip": "رقم الآي بي %1 ", "nodes-responded": "عدد %1 نقطة/نقاط استجابوا خلال %2 جزء من الثانية.", "host": "المضيف", - "primary": "primary / run jobs", + "primary": "primary / jobs", "pid": "pid", "nodejs": "nodejs", "online": "online", @@ -19,6 +19,7 @@ "registered": "Registered", "sockets": "Sockets", + "connection-count": "Connection Count", "guests": "Guests", "info": "Info" diff --git a/public/language/ar/admin/extend/widgets.json b/public/language/ar/admin/extend/widgets.json index 5d2832feed..db72f2feb3 100644 --- a/public/language/ar/admin/extend/widgets.json +++ b/public/language/ar/admin/extend/widgets.json @@ -12,6 +12,8 @@ "container.card": "Card", "container.card-header": "Card Header", "container.card-body": "Card Body", + "container.title": "Title", + "container.body": "Body", "container.alert": "Alert", "alert.confirm-delete": "Are you sure you wish to delete this widget?", diff --git a/public/language/ar/admin/settings/reputation.json b/public/language/ar/admin/settings/reputation.json index e4fff22620..479069e3a4 100644 --- a/public/language/ar/admin/settings/reputation.json +++ b/public/language/ar/admin/settings/reputation.json @@ -2,7 +2,14 @@ "reputation": "Reputation Settings", "disable": "Disable Reputation System", "disable-down-voting": "Disable Down Voting", - "votes-are-public": "All Votes Are Public", + "upvote-visibility": "Up Vote visibility", + "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", "min-rep-upvote": "Minimum reputation to upvote posts", "upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)", diff --git a/public/language/ar/error.json b/public/language/ar/error.json index e0c3b1b6c0..1bda94766d 100644 --- a/public/language/ar/error.json +++ b/public/language/ar/error.json @@ -153,6 +153,7 @@ "about-me-too-long": "نأسف، ( عني ) لا يمكن أن يكون أكثر من %1 حرف.", "cant-chat-with-yourself": "لايمكنك فتح محادثة مع نفسك", "chat-restricted": "هذا المستخدم عطل المحادثات الواردة عليه. يجب أن يتبعك حتى تتمكن من فتح محادثة معه.", + "chat-user-blocked": "You have been blocked by this user.", "chat-disabled": "نظام المحادثة معطل.", "too-many-messages": "لقد أرسلت الكثير من الرسائل، الرجاء اﻹنتظار قليلاً", "invalid-chat-message": "الرسالة غير صالحة.", diff --git a/public/language/ar/modules.json b/public/language/ar/modules.json index 051ccb5798..d9e5d89185 100644 --- a/public/language/ar/modules.json +++ b/public/language/ar/modules.json @@ -1,8 +1,9 @@ { "chat.room-id": "Room %1", "chat.chatting-with": "Chat with", - "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", - "chat.placeholder.mobile": "Type chat message here", + "chat.placeholder": "Type chat message here, drag & drop images", + "chat.placeholder.mobile": "Type chat message", + "chat.placeholder.message-room": "Message #%1", "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", diff --git a/public/language/ar/notifications.json b/public/language/ar/notifications.json index 2dea48c500..df92c2b681 100644 --- a/public/language/ar/notifications.json +++ b/public/language/ar/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 أنشأ موضوعًا جديدًا: %2", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 صار يتابعك.", "user-started-following-you-dual": "%1 and %2 started following you.", @@ -75,6 +75,7 @@ "email-confirmed": "تم التحقق من عنوان البريد الإلكتروني", "email-confirmed-message": "شكرًا على إثبات صحة عنوان بريدك الإلكتروني. صار حسابك مفعلًا بالكامل.", "email-confirm-error-message": "حدث خطأ أثناء التحقق من عنوان بريدك الإلكتروني. ربما رمز التفعيل خاطئ أو انتهت صلاحيته.", + "email-confirm-error-message-already-validated": "Your email address was already validated.", "email-confirm-sent": "تم إرسال بريد التفعيل.", "none": "None", "notification-only": "التنبيهات فقط", diff --git a/public/language/ar/pages.json b/public/language/ar/pages.json index b3992c564f..55d55d2adb 100644 --- a/public/language/ar/pages.json +++ b/public/language/ar/pages.json @@ -54,6 +54,7 @@ "account/settings-of": "Changing settings of %1", "account/watched": "Topics watched by %1", "account/ignored": "Topics ignored by %1", + "account/read": "Topics read by %1", "account/upvoted": "Posts upvoted by %1", "account/downvoted": "Posts downvoted by %1", "account/best": "Best posts made by %1", diff --git a/public/language/ar/post-queue.json b/public/language/ar/post-queue.json index 021ed0d83f..24b33da2e6 100644 --- a/public/language/ar/post-queue.json +++ b/public/language/ar/post-queue.json @@ -38,5 +38,6 @@ "remove-selected": "Remove Selected", "remove-selected-confirm": "Do you want to remove %1 selected posts?", "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" } \ No newline at end of file diff --git a/public/language/ar/themes/harmony.json b/public/language/ar/themes/harmony.json index 4e75b9f716..01038d7641 100644 --- a/public/language/ar/themes/harmony.json +++ b/public/language/ar/themes/harmony.json @@ -7,7 +7,8 @@ "login-register-to-search": "Login or register to search.", "settings.title": "Theme settings", "settings.enableQuickReply": "Enable quick reply", - "settings.enableBreadcrumbs": "Enable breadcrumbs", + "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.mobileTopicTeasers": "Show topic teasers on mobile", "settings.stickyToolbar": "Sticky toolbar", diff --git a/public/language/ar/user.json b/public/language/ar/user.json index ff6035449c..462d1bec42 100644 --- a/public/language/ar/user.json +++ b/public/language/ar/user.json @@ -43,6 +43,7 @@ "change-all": "غير الكل", "watched": "متابع", "ignored": "تم تجاهله", + "read": "Read", "default-category-watch-state": "حالة مشاهدة اﻻقسام الافتراضية", "followers": "المتابعون", "following": "يتابع", @@ -78,6 +79,7 @@ "change-password": "تغيير كلمة السر", "change-password-error": "كلمة سر غير صحيحة", "change-password-error-wrong-current": "كلمة السر الحالية ليست صحيحة", + "change-password-error-same-password": "Your new password matches your current password, please use a new password.", "change-password-error-match": "كلمة السر غير مطابقة لتأكيد كلمة السر", "change-password-error-privileges": "ليس لديك الصلاحيات الكافية لتغيير كلمة السر هذه.", "change-password-success": "تم تحديث كلمة السر خاصتك.", @@ -113,6 +115,7 @@ "has-no-topics": "هذا المستخدم لم يكتب أي موضوع حتى الآن.", "has-no-watched-topics": "هذا المستخدم لم يقم بمراقبة اية مواضيع حتى الآن.", "has-no-ignored-topics": "هذا المستخدم لم يقم بتجاهل اية مواضيع حتى الآن.", + "has-no-read-topics": "This user hasn't read any topics yet.", "has-no-upvoted-posts": "هذا المستخدم لم يقم بالتصويت للأعلى لأي مشاركة حتى الآن.", "has-no-downvoted-posts": "هذا المستخدم لم يقم بالتصويت للأسفل لأي مشاركة حتى الآن.", "has-no-controversial-posts": "هذا المستخدم ﻻيمتلك تصويت للأسفل لأي مشاركة حتى الآن.", diff --git a/public/language/ar/users.json b/public/language/ar/users.json index b34cb35a49..5c2d5bee1d 100644 --- a/public/language/ar/users.json +++ b/public/language/ar/users.json @@ -1,5 +1,6 @@ { "all-users": "All Users", + "followed-users": "Followed Users", "latest-users": "أحدث الأعضاء", "top-posters": "اﻷكثر مشاركة", "most-reputation": "أعلى سمعة", diff --git a/public/language/bg/admin/development/info.json b/public/language/bg/admin/development/info.json index 08f70c0692..71f1e63c4b 100644 --- a/public/language/bg/admin/development/info.json +++ b/public/language/bg/admin/development/info.json @@ -3,7 +3,7 @@ "ip": "IP %1", "nodes-responded": "%1 възела отговориха в рамките на %2мсек!", "host": "сървър", - "primary": "основен / изпълнение на задачите", + "primary": "основен / задачи", "pid": "ид. на процеса", "nodejs": "nodejs", "online": "на линия", @@ -19,6 +19,7 @@ "registered": "Регистрирани", "sockets": "Сокети", + "connection-count": "Брой връзки", "guests": "Гости", "info": "Информация" diff --git a/public/language/bg/admin/extend/widgets.json b/public/language/bg/admin/extend/widgets.json index 839138cef2..b0f6a79f3c 100644 --- a/public/language/bg/admin/extend/widgets.json +++ b/public/language/bg/admin/extend/widgets.json @@ -12,6 +12,8 @@ "container.card": "Карта", "container.card-header": "Заглавна част на карта", "container.card-body": "Основна част на карта", + "container.title": "Заглавие", + "container.body": "Съдържание", "container.alert": "Предупреждение", "alert.confirm-delete": "Наистина ли искате да изтриете джаджата?", diff --git a/public/language/bg/admin/settings/reputation.json b/public/language/bg/admin/settings/reputation.json index 7a288c6f04..2c82e22de3 100644 --- a/public/language/bg/admin/settings/reputation.json +++ b/public/language/bg/admin/settings/reputation.json @@ -2,7 +2,14 @@ "reputation": "Настройки за репутацията", "disable": "Изключване на системата за репутация", "disable-down-voting": "Забрана на отрицателното гласуване", - "votes-are-public": "Всички гласувания са публични", + "upvote-visibility": "Видимост на положителните гласове", + "upvote-visibility-all": "Всички могат да виждат положителните гласове", + "upvote-visibility-loggedin": "Само вписаните потребители могат да виждат положителните гласове", + "upvote-visibility-privileged": "Само потребителите с по-високи правомощия (като администратори и модератори) могат да виждат положителните гласове", + "downvote-visibility": "Видимост на отрицателните гласове", + "downvote-visibility-all": "Всички могат да виждат отрицателните гласове", + "downvote-visibility-loggedin": "Само вписаните потребители могат да виждат отрицателните гласове", + "downvote-visibility-privileged": "Само потребителите с по-високи правомощия (като администратори и модератори) могат да виждат отрицателните гласове", "thresholds": "Ограничения на дейността", "min-rep-upvote": "Минимална репутация, необходима за положително гласуване за публикации", "upvotes-per-day": "Положителни гласувания за ден (задайте 0 за неограничен брой)", diff --git a/public/language/bg/error.json b/public/language/bg/error.json index 568cefaf0f..63f49e1fda 100644 --- a/public/language/bg/error.json +++ b/public/language/bg/error.json @@ -153,6 +153,7 @@ "about-me-too-long": "Съжаляваме, но информацията за Вас трябва да съдържа не повече от %1 символ(а).", "cant-chat-with-yourself": "Не можете да пишете съобщение на себе си!", "chat-restricted": "Този потребител е ограничил съобщенията до себе си. Той трябва първо да Ви последва, преди да можете да си пишете с него.", + "chat-user-blocked": "Бяхте блокиран(а) от този потребител.", "chat-disabled": "Системата за разговори е изключена", "too-many-messages": "Изпратили сте твърде много съобщения. Моля, изчакайте малко.", "invalid-chat-message": "Неправилно съобщение", diff --git a/public/language/bg/modules.json b/public/language/bg/modules.json index b3a4e6d996..7fc556c4d3 100644 --- a/public/language/bg/modules.json +++ b/public/language/bg/modules.json @@ -1,8 +1,9 @@ { "chat.room-id": "Стая %1", "chat.chatting-with": "Разговор с", - "chat.placeholder": "Въведете съобщение тук или пуснете снимки и натиснете Ентер за изпращане", - "chat.placeholder.mobile": "Въведете съобщение тук", + "chat.placeholder": "Въведете съобщение тук или пуснете снимки", + "chat.placeholder.mobile": "Въведете съобщение", + "chat.placeholder.message-room": "Съобщение #%1", "chat.scroll-up-alert": "Към последните съобщения", "chat.usernames-and-x-others": "%1 и %2 други", "chat.chat-with-usernames": "Разговор с %1", diff --git a/public/language/bg/notifications.json b/public/language/bg/notifications.json index 213d72f9d4..0659a9e640 100644 --- a/public/language/bg/notifications.json +++ b/public/language/bg/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 и %3 други публикуваха отговори на: %4", "user-posted-topic": "%1 публикува нова тема: %2", "user-edited-post": "%1 редактира публикация в %2", - "user-posted-topic-with-tag": "%1 публикува нова тема с етикет %2", - "user-posted-topic-with-tag-dual": "%1 публикува нова тема с етикети %2 и %3", - "user-posted-topic-with-tag-triple": "%1 публикува нова тема с етикети %2, %3 и %4", - "user-posted-topic-with-tag-multiple": "%1 публикува нова тема с етикети %2", + "user-posted-topic-with-tag": "%1 публикува %2 (с етикет %3)", + "user-posted-topic-with-tag-dual": "%1 публикува %2 (с етикети %3 и %4)", + "user-posted-topic-with-tag-triple": "%1 публикува %2 (с етикети %3, %4 и %5)", + "user-posted-topic-with-tag-multiple": "%1 публикува %2 (с етикет %3)", "user-posted-topic-in-category": "%1 публикува нова тема в %2", "user-started-following-you": "%1 започна да Ви следва.", "user-started-following-you-dual": "%1 и %2 започнаха да Ви следват.", @@ -75,6 +75,7 @@ "email-confirmed": "Е-пощата беше потвърдена", "email-confirmed-message": "Благодарим Ви, че потвърдихте е-пощата си. Акаунтът Ви е вече напълно активиран.", "email-confirm-error-message": "Възникна проблем при потвърждаването на е-пощата Ви. Може кодът да е грешен или давността му да е изтекла.", + "email-confirm-error-message-already-validated": "Адресът на е-пощата Ви вече е проверен.", "email-confirm-sent": "Изпратено е е-писмо за потвърждение.", "none": "Нищо", "notification-only": "Само известие", diff --git a/public/language/bg/pages.json b/public/language/bg/pages.json index b6dc4db256..0bef256aa7 100644 --- a/public/language/bg/pages.json +++ b/public/language/bg/pages.json @@ -54,6 +54,7 @@ "account/settings-of": "Променят се настройките на %1", "account/watched": "Теми, наблюдавани от %1", "account/ignored": "Теми, пренебрегвани от %1", + "account/read": "Теми, прочетени от %1", "account/upvoted": "Публикации, получили положителен глас от %1", "account/downvoted": "Публикации, получили отрицателен глас от %1", "account/best": "Най-добрите публикации от %1", diff --git a/public/language/bg/post-queue.json b/public/language/bg/post-queue.json index de0b0f22a4..8634dc6d99 100644 --- a/public/language/bg/post-queue.json +++ b/public/language/bg/post-queue.json @@ -38,5 +38,6 @@ "remove-selected": "Премахване на избраните", "remove-selected-confirm": "Наистина ли искате да премахнете избраните %1 публикации?", "bulk-accept-success": "Одобрени публикации: %1", - "bulk-reject-success": "Отхвърлени публикации: %1" + "bulk-reject-success": "Отхвърлени публикации: %1", + "links-in-this-post": "Връзки в тази публикация" } \ No newline at end of file diff --git a/public/language/bg/themes/harmony.json b/public/language/bg/themes/harmony.json index cb21cadb9e..27e0c320e1 100644 --- a/public/language/bg/themes/harmony.json +++ b/public/language/bg/themes/harmony.json @@ -7,7 +7,8 @@ "login-register-to-search": "Впишете се или се регистрирайте, за да можете да търсите.", "settings.title": "Настройки на темата", "settings.enableQuickReply": "Включване на бързите отговори", - "settings.enableBreadcrumbs": "Включване на пътечките на страниците", + "settings.enableBreadcrumbs": "Показване на пътечката в страниците с категории и теми", + "settings.enableBreadcrumbs.why": "Пътечката се вижда на повечето страници за по-лесно навигиране. Основният дизайн на страниците с категории и теми предоставя други начини за връщане към по-общите страници, но ако желаете, може да изключите показването на пътечката, за да няма претрупване.", "settings.centerHeaderElements": "Центриране на заглавните елементи", "settings.mobileTopicTeasers": "Показване на резюмета на темите на мобилни устройства", "settings.stickyToolbar": "Статична лента с инструменти", diff --git a/public/language/bg/user.json b/public/language/bg/user.json index e7b3229bad..e73d0ef67d 100644 --- a/public/language/bg/user.json +++ b/public/language/bg/user.json @@ -43,6 +43,7 @@ "change-all": "Промяна на всички", "watched": "Наблюдавани", "ignored": "Пренебрегвани", + "read": "Прочетени", "default-category-watch-state": "Състояние по подразбиране за наблюдаването на категории", "followers": "Последователи", "following": "Следва", @@ -78,6 +79,7 @@ "change-password": "Промяна на паролата", "change-password-error": "Грешна парола!", "change-password-error-wrong-current": "Текущата Ви парола е грешна!", + "change-password-error-same-password": "Новата Ви парола съвпада с текущата. Моля, използвайте нова парола.", "change-password-error-match": "Паролите са различни!", "change-password-error-privileges": "Нямате права да промените тази парола.", "change-password-success": "Паролата ви е обновена!", @@ -113,6 +115,7 @@ "has-no-topics": "Този потребител не е създавал теми досега.", "has-no-watched-topics": "Този потребител не е наблюдавал нито една тема досега.", "has-no-ignored-topics": "Този потребител не е пренебрегнал нито една тема досега.", + "has-no-read-topics": "Този потребител не е прочел нито една тема досега.", "has-no-upvoted-posts": "Този потребител не е гласувал положително досега.", "has-no-downvoted-posts": "Този потребител не е гласувал отрицателно досега.", "has-no-controversial-posts": "Този потребител няма публикации с отрицателни гласове засега.", diff --git a/public/language/bg/users.json b/public/language/bg/users.json index a716af22d4..31e48cdd91 100644 --- a/public/language/bg/users.json +++ b/public/language/bg/users.json @@ -1,5 +1,6 @@ { "all-users": "Всички потребители", + "followed-users": "Следвани потребители", "latest-users": "Последни потребители", "top-posters": "С най-много публикации", "most-reputation": "С най-много репутация", diff --git a/public/language/bn/admin/development/info.json b/public/language/bn/admin/development/info.json index 11202d9c3a..9834719daf 100644 --- a/public/language/bn/admin/development/info.json +++ b/public/language/bn/admin/development/info.json @@ -3,7 +3,7 @@ "ip": "IP %1", "nodes-responded": "%1 nodes responded within %2ms!", "host": "host", - "primary": "primary / run jobs", + "primary": "primary / jobs", "pid": "pid", "nodejs": "nodejs", "online": "online", @@ -19,6 +19,7 @@ "registered": "Registered", "sockets": "Sockets", + "connection-count": "Connection Count", "guests": "Guests", "info": "Info" diff --git a/public/language/bn/admin/extend/widgets.json b/public/language/bn/admin/extend/widgets.json index 5d2832feed..db72f2feb3 100644 --- a/public/language/bn/admin/extend/widgets.json +++ b/public/language/bn/admin/extend/widgets.json @@ -12,6 +12,8 @@ "container.card": "Card", "container.card-header": "Card Header", "container.card-body": "Card Body", + "container.title": "Title", + "container.body": "Body", "container.alert": "Alert", "alert.confirm-delete": "Are you sure you wish to delete this widget?", diff --git a/public/language/bn/admin/settings/reputation.json b/public/language/bn/admin/settings/reputation.json index e4fff22620..479069e3a4 100644 --- a/public/language/bn/admin/settings/reputation.json +++ b/public/language/bn/admin/settings/reputation.json @@ -2,7 +2,14 @@ "reputation": "Reputation Settings", "disable": "Disable Reputation System", "disable-down-voting": "Disable Down Voting", - "votes-are-public": "All Votes Are Public", + "upvote-visibility": "Up Vote visibility", + "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", "min-rep-upvote": "Minimum reputation to upvote posts", "upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)", diff --git a/public/language/bn/error.json b/public/language/bn/error.json index 1095290a86..25bbbb804d 100644 --- a/public/language/bn/error.json +++ b/public/language/bn/error.json @@ -153,6 +153,7 @@ "about-me-too-long": "Sorry, your about me cannot be longer than %1 character(s).", "cant-chat-with-yourself": "আপনি নিজের সাথে চ্যাট করতে পারবেন না!", "chat-restricted": "এই সদস্য তার বার্তালাপ সংরক্ষিত রেখেছেন। এই সদস্য আপনাকে ফলো করার পরই কেবলমাত্র আপনি তার সাথে চ্যাট করতে পারবেন", + "chat-user-blocked": "You have been blocked by this user.", "chat-disabled": "Chat system disabled", "too-many-messages": "You have sent too many messages, please wait awhile.", "invalid-chat-message": "Invalid chat message", diff --git a/public/language/bn/modules.json b/public/language/bn/modules.json index 68ba8f6743..b9a4c311c8 100644 --- a/public/language/bn/modules.json +++ b/public/language/bn/modules.json @@ -1,8 +1,9 @@ { "chat.room-id": "Room %1", "chat.chatting-with": "Chat with", - "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", - "chat.placeholder.mobile": "Type chat message here", + "chat.placeholder": "Type chat message here, drag & drop images", + "chat.placeholder.mobile": "Type chat message", + "chat.placeholder.message-room": "Message #%1", "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", diff --git a/public/language/bn/notifications.json b/public/language/bn/notifications.json index c40359bca7..fb7ca8696c 100644 --- a/public/language/bn/notifications.json +++ b/public/language/bn/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 has posted a new topic: %2", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 আপনাকে অনুসরন করা শুরু করেছেন।", "user-started-following-you-dual": "%1 and %2 started following you.", @@ -75,6 +75,7 @@ "email-confirmed": "ইমেইল নিশ্চিত করা হয়েছে", "email-confirmed-message": "আপনার ইমেইল যাচাই করার জন্য আপনাকে ধন্যবাদ। আপনার অ্যাকাউন্টটি এখন সম্পূর্ণরূপে সক্রিয়।", "email-confirm-error-message": "আপনার ইমেল ঠিকানার বৈধতা যাচাইয়ে একটি সমস্যা হয়েছে। সম্ভবত কোডটি ভুল ছিল অথবা কোডের মেয়াদ শেষ হয়ে গিয়েছে।", + "email-confirm-error-message-already-validated": "Your email address was already validated.", "email-confirm-sent": "নিশ্চিতকরণ ইমেইল পাঠানো হয়েছে।", "none": "None", "notification-only": "Notification Only", diff --git a/public/language/bn/pages.json b/public/language/bn/pages.json index 3dfa2775d7..a3ea7467f9 100644 --- a/public/language/bn/pages.json +++ b/public/language/bn/pages.json @@ -54,6 +54,7 @@ "account/settings-of": "Changing settings of %1", "account/watched": "Topics watched by %1", "account/ignored": "Topics ignored by %1", + "account/read": "Topics read by %1", "account/upvoted": "Posts upvoted by %1", "account/downvoted": "Posts downvoted by %1", "account/best": "Best posts made by %1", diff --git a/public/language/bn/post-queue.json b/public/language/bn/post-queue.json index 021ed0d83f..24b33da2e6 100644 --- a/public/language/bn/post-queue.json +++ b/public/language/bn/post-queue.json @@ -38,5 +38,6 @@ "remove-selected": "Remove Selected", "remove-selected-confirm": "Do you want to remove %1 selected posts?", "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" } \ No newline at end of file diff --git a/public/language/bn/themes/harmony.json b/public/language/bn/themes/harmony.json index 4e75b9f716..01038d7641 100644 --- a/public/language/bn/themes/harmony.json +++ b/public/language/bn/themes/harmony.json @@ -7,7 +7,8 @@ "login-register-to-search": "Login or register to search.", "settings.title": "Theme settings", "settings.enableQuickReply": "Enable quick reply", - "settings.enableBreadcrumbs": "Enable breadcrumbs", + "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.mobileTopicTeasers": "Show topic teasers on mobile", "settings.stickyToolbar": "Sticky toolbar", diff --git a/public/language/bn/user.json b/public/language/bn/user.json index 3498f5c101..ebc1985e3e 100644 --- a/public/language/bn/user.json +++ b/public/language/bn/user.json @@ -43,6 +43,7 @@ "change-all": "Change All", "watched": "দেখা হয়েছে", "ignored": "Ignored", + "read": "Read", "default-category-watch-state": "Default category watch state", "followers": "যাদের অনুসরণ করছেন", "following": "যারা আপনাকে অনুসরণ করছে", @@ -78,6 +79,7 @@ "change-password": "পাসওয়ার্ড পরিবর্তন", "change-password-error": "অগ্রহনযোগ্য পাসওয়ার্ড", "change-password-error-wrong-current": "আপনার পাসওয়ার্ড সঠিক নয়", + "change-password-error-same-password": "Your new password matches your current password, please use a new password.", "change-password-error-match": "পাসওয়ার্ড অবশ্যই একই হতে হবে", "change-password-error-privileges": "আপনার পাসওয়ার্ড পরিবর্তন করার অনুমতি নেই", "change-password-success": "আপনার পাসওয়ার্ড আপডেট করা হয়েছে", @@ -113,6 +115,7 @@ "has-no-topics": "এই সদস্য এখনো কোন টপিক করেন নি", "has-no-watched-topics": "এই সদস্য এখনো কোন টপিক দেখেন নি", "has-no-ignored-topics": "This user hasn't ignored any topics yet.", + "has-no-read-topics": "This user hasn't read any topics yet.", "has-no-upvoted-posts": "This user hasn't upvoted any posts yet.", "has-no-downvoted-posts": "This user hasn't downvoted any posts yet.", "has-no-controversial-posts": "This user does not have any downvoted posts yet.", diff --git a/public/language/bn/users.json b/public/language/bn/users.json index faca07fbbb..e7fc7d9a94 100644 --- a/public/language/bn/users.json +++ b/public/language/bn/users.json @@ -1,5 +1,6 @@ { "all-users": "All Users", + "followed-users": "Followed Users", "latest-users": "সর্বশেষ নিবন্ধিত সদস্যরা:", "top-posters": "সর্বোচ্চ পোষ্টকারী", "most-reputation": "সর্বোচ্চ সম্মাননাধারী", diff --git a/public/language/cs/admin/admin.json b/public/language/cs/admin/admin.json index 5fb62a418b..c44600d0e7 100644 --- a/public/language/cs/admin/admin.json +++ b/public/language/cs/admin/admin.json @@ -4,15 +4,15 @@ "acp-title": "Ovládací panel správce NodeBB | %1", "settings-header-contents": "Obsah", - "changes-saved": "Changes Saved", - "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", - "changes-not-saved": "Changes Not Saved", - "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)", - "save-changes": "Save changes", + "changes-saved": "Změny byly uloženy", + "changes-saved-message": "Vaše změny v NodeBB konfiguraci byly uloženy.", + "changes-not-saved": "Změny nebyly uloženy", + "changes-not-saved-message": "NodeBB narazil na problém při ukládání vašich změn. (%1)", + "save-changes": "Uložit změny", "min": "Min:", "max": "Max:", - "view": "View", - "edit": "Edit", - "add": "Add", - "select-icon": "Select Icon" + "view": "Zobrazit", + "edit": "Upravit", + "add": "Přidat", + "select-icon": "Vybrat ikonu" } \ No newline at end of file diff --git a/public/language/cs/admin/development/info.json b/public/language/cs/admin/development/info.json index c47e061cb2..19fb830e9d 100644 --- a/public/language/cs/admin/development/info.json +++ b/public/language/cs/admin/development/info.json @@ -3,7 +3,7 @@ "ip": "IP %1", "nodes-responded": "%1 vazeb odpovědělo během %2ms.", "host": "host", - "primary": "primární / spuštěné úlohy", + "primary": "primary / jobs", "pid": "pid", "nodejs": "nodejs", "online": "připojen", @@ -19,6 +19,7 @@ "registered": "Registrován", "sockets": "Sockety", + "connection-count": "Connection Count", "guests": "Hosté", "info": "Informace" diff --git a/public/language/cs/admin/extend/widgets.json b/public/language/cs/admin/extend/widgets.json index a90d25c403..5298775419 100644 --- a/public/language/cs/admin/extend/widgets.json +++ b/public/language/cs/admin/extend/widgets.json @@ -12,6 +12,8 @@ "container.card": "Card", "container.card-header": "Card Header", "container.card-body": "Card Body", + "container.title": "Title", + "container.body": "Body", "container.alert": "Upozornění", "alert.confirm-delete": "Jste si jist/a, že chcete smazat tuto miniaplikaci?", diff --git a/public/language/cs/admin/settings/reputation.json b/public/language/cs/admin/settings/reputation.json index c982a8ac2b..42e9bae172 100644 --- a/public/language/cs/admin/settings/reputation.json +++ b/public/language/cs/admin/settings/reputation.json @@ -2,7 +2,14 @@ "reputation": "Nastavení reputace", "disable": "Zakázat systém reputace", "disable-down-voting": "Zakázat hlasování", - "votes-are-public": "Všechna hlasování jsou veřejná", + "upvote-visibility": "Up Vote visibility", + "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": "Omezení aktivity", "min-rep-upvote": "Minimum reputation to upvote posts", "upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)", diff --git a/public/language/cs/error.json b/public/language/cs/error.json index 9f61d1907b..d6d6e2244e 100644 --- a/public/language/cs/error.json +++ b/public/language/cs/error.json @@ -153,6 +153,7 @@ "about-me-too-long": "Omlouváme se, ale \"O mně\" nesmí být delší než %1 znaků.", "cant-chat-with-yourself": "Nemůžete konverzovat sami se sebou.", "chat-restricted": "Tento uživatel má omezené konverzační zprávy. Nejdříve vás musí začít sledovat, než začnete spolu konverzovat", + "chat-user-blocked": "You have been blocked by this user.", "chat-disabled": "Konverzační systém zakázán", "too-many-messages": "Odeslal/a jste příliš mnoho zpráv, vyčkejte chvíli.", "invalid-chat-message": "Neplatná konverzační zpráva", diff --git a/public/language/cs/modules.json b/public/language/cs/modules.json index 8449a1a15e..a0e8d950b0 100644 --- a/public/language/cs/modules.json +++ b/public/language/cs/modules.json @@ -1,8 +1,9 @@ { "chat.room-id": "Room %1", "chat.chatting-with": "Konverzace s", - "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", - "chat.placeholder.mobile": "Type chat message here", + "chat.placeholder": "Type chat message here, drag & drop images", + "chat.placeholder.mobile": "Type chat message", + "chat.placeholder.message-room": "Message #%1", "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", diff --git a/public/language/cs/notifications.json b/public/language/cs/notifications.json index dc1f11eaf7..49c8e9c597 100644 --- a/public/language/cs/notifications.json +++ b/public/language/cs/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 založil nové téma: %2", "user-edited-post": "Příspěvek %2 byl upraven uživatelem %1", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 vás začal sledovat.", "user-started-following-you-dual": "%1 a %2 vás začali sledovat.", @@ -75,6 +75,7 @@ "email-confirmed": "E-mail potvrzen", "email-confirmed-message": "Děkujeme za ověření vaší e-mailové adresy. Váš účet je nyní aktivní.", "email-confirm-error-message": "Nastal problém s ověřením vaší e-mailové adresy. Kód je pravděpodobně neplatný nebo jeho platnost vypršela.", + "email-confirm-error-message-already-validated": "Your email address was already validated.", "email-confirm-sent": "Ověřovací e-mail odeslán.", "none": "Nic", "notification-only": "Jen oznámení", diff --git a/public/language/cs/pages.json b/public/language/cs/pages.json index 55a567d2b5..4150b976b3 100644 --- a/public/language/cs/pages.json +++ b/public/language/cs/pages.json @@ -54,6 +54,7 @@ "account/settings-of": "Changing settings of %1", "account/watched": "Témata sledovaná uživatelem %1", "account/ignored": "Témata ignorovaná uživatelem %1", + "account/read": "Topics read by %1", "account/upvoted": "Souhlasí s příspěvkem %1", "account/downvoted": "Nesouhlasí s příspěvkem %1", "account/best": "Nejlepší příspěvky od %1", diff --git a/public/language/cs/post-queue.json b/public/language/cs/post-queue.json index 8212df7563..e3e410fb22 100644 --- a/public/language/cs/post-queue.json +++ b/public/language/cs/post-queue.json @@ -38,5 +38,6 @@ "remove-selected": "Remove Selected", "remove-selected-confirm": "Do you want to remove %1 selected posts?", "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" } \ No newline at end of file diff --git a/public/language/cs/themes/harmony.json b/public/language/cs/themes/harmony.json index 4e75b9f716..01038d7641 100644 --- a/public/language/cs/themes/harmony.json +++ b/public/language/cs/themes/harmony.json @@ -7,7 +7,8 @@ "login-register-to-search": "Login or register to search.", "settings.title": "Theme settings", "settings.enableQuickReply": "Enable quick reply", - "settings.enableBreadcrumbs": "Enable breadcrumbs", + "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.mobileTopicTeasers": "Show topic teasers on mobile", "settings.stickyToolbar": "Sticky toolbar", diff --git a/public/language/cs/user.json b/public/language/cs/user.json index d2d2e04ea9..b2f369282d 100644 --- a/public/language/cs/user.json +++ b/public/language/cs/user.json @@ -43,6 +43,7 @@ "change-all": "Změnit vše", "watched": "Sledován", "ignored": "Ignorován", + "read": "Read", "default-category-watch-state": "Výchozí stav sledované kategorie", "followers": "Sledují ho", "following": "Sleduje", @@ -78,6 +79,7 @@ "change-password": "Změnit heslo", "change-password-error": "Neplatné heslo.", "change-password-error-wrong-current": "Aktuální heslo není správně.", + "change-password-error-same-password": "Your new password matches your current password, please use a new password.", "change-password-error-match": "Hesla se neshodují.", "change-password-error-privileges": "Nemáte oprávnění změnit heslo.", "change-password-success": "Heslo bylo aktualizováno.", @@ -113,6 +115,7 @@ "has-no-topics": "Tento uživatel ještě nezaložil žádné téma.", "has-no-watched-topics": "Tento uživatel zatím nesleduje žádná témata.", "has-no-ignored-topics": "Tento uživatel ještě neignoruje žádné témata.", + "has-no-read-topics": "This user hasn't read any topics yet.", "has-no-upvoted-posts": "Tento uživatel zatím nevyjádřil souhlas u žádného příspěvku.", "has-no-downvoted-posts": "Tento uživatel zatím nevyjádřil nesouhlas u žádného příspěvku.", "has-no-controversial-posts": "This user does not have any downvoted posts yet.", diff --git a/public/language/cs/users.json b/public/language/cs/users.json index 5947554536..195ee52f14 100644 --- a/public/language/cs/users.json +++ b/public/language/cs/users.json @@ -1,5 +1,6 @@ { "all-users": "Všichni uživatelé", + "followed-users": "Followed Users", "latest-users": "Nejnovější uživatelé", "top-posters": "Nejaktivnější", "most-reputation": "Nejváženější", diff --git a/public/language/da/admin/development/info.json b/public/language/da/admin/development/info.json index 11202d9c3a..9834719daf 100644 --- a/public/language/da/admin/development/info.json +++ b/public/language/da/admin/development/info.json @@ -3,7 +3,7 @@ "ip": "IP %1", "nodes-responded": "%1 nodes responded within %2ms!", "host": "host", - "primary": "primary / run jobs", + "primary": "primary / jobs", "pid": "pid", "nodejs": "nodejs", "online": "online", @@ -19,6 +19,7 @@ "registered": "Registered", "sockets": "Sockets", + "connection-count": "Connection Count", "guests": "Guests", "info": "Info" diff --git a/public/language/da/admin/extend/widgets.json b/public/language/da/admin/extend/widgets.json index 5d2832feed..db72f2feb3 100644 --- a/public/language/da/admin/extend/widgets.json +++ b/public/language/da/admin/extend/widgets.json @@ -12,6 +12,8 @@ "container.card": "Card", "container.card-header": "Card Header", "container.card-body": "Card Body", + "container.title": "Title", + "container.body": "Body", "container.alert": "Alert", "alert.confirm-delete": "Are you sure you wish to delete this widget?", diff --git a/public/language/da/admin/settings/reputation.json b/public/language/da/admin/settings/reputation.json index e4fff22620..479069e3a4 100644 --- a/public/language/da/admin/settings/reputation.json +++ b/public/language/da/admin/settings/reputation.json @@ -2,7 +2,14 @@ "reputation": "Reputation Settings", "disable": "Disable Reputation System", "disable-down-voting": "Disable Down Voting", - "votes-are-public": "All Votes Are Public", + "upvote-visibility": "Up Vote visibility", + "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", "min-rep-upvote": "Minimum reputation to upvote posts", "upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)", diff --git a/public/language/da/error.json b/public/language/da/error.json index e333c37eb1..ff4ca22969 100644 --- a/public/language/da/error.json +++ b/public/language/da/error.json @@ -153,6 +153,7 @@ "about-me-too-long": "Beklager, men din om mig side kan ikke være længere end %1 karakter(er).", "cant-chat-with-yourself": "Du kan ikke chatte med dig selv!", "chat-restricted": "Denne bruger har spæret adgangen til chat beskeder. Brugeren må følge dig før du kan chatte med ham/hende", + "chat-user-blocked": "You have been blocked by this user.", "chat-disabled": "Chat system er deaktiveret", "too-many-messages": "Du har sendt for mange beskeder, vent venligt lidt.", "invalid-chat-message": "Ugyldig chat besked", diff --git a/public/language/da/modules.json b/public/language/da/modules.json index d8fc415351..0e034f464c 100644 --- a/public/language/da/modules.json +++ b/public/language/da/modules.json @@ -1,8 +1,9 @@ { "chat.room-id": "Room %1", "chat.chatting-with": "Chat with", - "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", - "chat.placeholder.mobile": "Type chat message here", + "chat.placeholder": "Type chat message here, drag & drop images", + "chat.placeholder.mobile": "Type chat message", + "chat.placeholder.message-room": "Message #%1", "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", diff --git a/public/language/da/notifications.json b/public/language/da/notifications.json index 68a591ebdd..71f11432b5 100644 --- a/public/language/da/notifications.json +++ b/public/language/da/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 har oprettet en ny tråd: %2", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 har valgt at følge dig.", "user-started-following-you-dual": "%1 og %2 har valgt at følge dig.", @@ -75,6 +75,7 @@ "email-confirmed": "Email bekræftet", "email-confirmed-message": "Tak fordi du validerede din email. Din konto er nu fuldt ud aktiveret.", "email-confirm-error-message": "Der var et problem med valideringen af din emailadresse. Bekræftelses koden var muligvis forkert eller udløbet.", + "email-confirm-error-message-already-validated": "Your email address was already validated.", "email-confirm-sent": "Bekræftelses email afsendt.", "none": "None", "notification-only": "Notification Only", diff --git a/public/language/da/pages.json b/public/language/da/pages.json index e3ecb424c4..c44e173237 100644 --- a/public/language/da/pages.json +++ b/public/language/da/pages.json @@ -54,6 +54,7 @@ "account/settings-of": "Changing settings of %1", "account/watched": "Tråde fulgt af %1", "account/ignored": "Topics ignored by %1", + "account/read": "Topics read by %1", "account/upvoted": "Indlæg syntes godt om af %1", "account/downvoted": "Indlæg syntes ikke godt om af %1", "account/best": "Bedste indlæg skrevet af %1", diff --git a/public/language/da/post-queue.json b/public/language/da/post-queue.json index 021ed0d83f..24b33da2e6 100644 --- a/public/language/da/post-queue.json +++ b/public/language/da/post-queue.json @@ -38,5 +38,6 @@ "remove-selected": "Remove Selected", "remove-selected-confirm": "Do you want to remove %1 selected posts?", "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" } \ No newline at end of file diff --git a/public/language/da/themes/harmony.json b/public/language/da/themes/harmony.json index 4e75b9f716..01038d7641 100644 --- a/public/language/da/themes/harmony.json +++ b/public/language/da/themes/harmony.json @@ -7,7 +7,8 @@ "login-register-to-search": "Login or register to search.", "settings.title": "Theme settings", "settings.enableQuickReply": "Enable quick reply", - "settings.enableBreadcrumbs": "Enable breadcrumbs", + "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.mobileTopicTeasers": "Show topic teasers on mobile", "settings.stickyToolbar": "Sticky toolbar", diff --git a/public/language/da/user.json b/public/language/da/user.json index c60d54fbba..ae6a7b7f7b 100644 --- a/public/language/da/user.json +++ b/public/language/da/user.json @@ -43,6 +43,7 @@ "change-all": "Change All", "watched": "Set", "ignored": "Ignored", + "read": "Read", "default-category-watch-state": "Default category watch state", "followers": "Followers", "following": "Følger", @@ -78,6 +79,7 @@ "change-password": "Skift kodeord", "change-password-error": "Ukorrekt kodeord", "change-password-error-wrong-current": "Nuværende kodeord er ikke korrekt", + "change-password-error-same-password": "Your new password matches your current password, please use a new password.", "change-password-error-match": "Passwords matcher ikke!", "change-password-error-privileges": "Du har ikke rettigheder til at ændre dette password.", "change-password-success": "Dit password er opdateret!", @@ -113,6 +115,7 @@ "has-no-topics": "Denne bruger har ikke skrævet nogle tråde endnu.", "has-no-watched-topics": "Denne bruger har ikke fulgt nogle tråde endnu.", "has-no-ignored-topics": "This user hasn't ignored any topics yet.", + "has-no-read-topics": "This user hasn't read any topics yet.", "has-no-upvoted-posts": "Denne bruger har ikke syntes godt om nogle indlæg endnu.", "has-no-downvoted-posts": "Denne bruger har ikke, syntes ikke godt om nogle indlæg endnu.", "has-no-controversial-posts": "This user does not have any downvoted posts yet.", diff --git a/public/language/da/users.json b/public/language/da/users.json index c753726891..633884794e 100644 --- a/public/language/da/users.json +++ b/public/language/da/users.json @@ -1,5 +1,6 @@ { "all-users": "All Users", + "followed-users": "Followed Users", "latest-users": "Seneste brugere", "top-posters": "Top Postere", "most-reputation": "Mest Omdømme", diff --git a/public/language/de/admin/development/info.json b/public/language/de/admin/development/info.json index 082f1b212c..75e634b208 100644 --- a/public/language/de/admin/development/info.json +++ b/public/language/de/admin/development/info.json @@ -3,7 +3,7 @@ "ip": "IP%1", "nodes-responded": "%1 Knoten antworteten innerhalb von %2ms", "host": "Host", - "primary": "Primärer / Laufjob", + "primary": "primary / jobs", "pid": "PID", "nodejs": "Node.js Version", "online": "Online", @@ -19,6 +19,7 @@ "registered": "Registriert", "sockets": "Sockets", + "connection-count": "Connection Count", "guests": "Gäste", "info": "Info" diff --git a/public/language/de/admin/extend/widgets.json b/public/language/de/admin/extend/widgets.json index 73e7853806..37dbf4208f 100644 --- a/public/language/de/admin/extend/widgets.json +++ b/public/language/de/admin/extend/widgets.json @@ -12,6 +12,8 @@ "container.card": "Karte", "container.card-header": "Karten-Kopfzeile", "container.card-body": "Karten-Körper", + "container.title": "Title", + "container.body": "Body", "container.alert": "Alarm", "alert.confirm-delete": "Möchtest Du dieses Widget wirklich löschen?", diff --git a/public/language/de/admin/settings/reputation.json b/public/language/de/admin/settings/reputation.json index 96c048a963..5ee4aca389 100644 --- a/public/language/de/admin/settings/reputation.json +++ b/public/language/de/admin/settings/reputation.json @@ -2,7 +2,14 @@ "reputation": "Ansehenseinstellungen", "disable": "Ansehenssystem deaktivieren", "disable-down-voting": "Negative Bewertungen deaktivieren", - "votes-are-public": "Alle Bewertungen sind öffentlich", + "upvote-visibility": "Up Vote visibility", + "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": "Aktivitätsschwelle", "min-rep-upvote": "Mindestreputation, um Beiträge hochzustimmen", "upvotes-per-day": "Upvotes pro Tag (für unbegrenzte Upvotes auf 0 setzen)", diff --git a/public/language/de/error.json b/public/language/de/error.json index ca2b4ad316..4b3bbcdd34 100644 --- a/public/language/de/error.json +++ b/public/language/de/error.json @@ -153,6 +153,7 @@ "about-me-too-long": "Entschuldigung, dein \"über mich\" kann nicht länger als %1 Zeichen sein.", "cant-chat-with-yourself": "Du kannst nicht mit dir selber chatten!", "chat-restricted": "Dieser Benutzer hat seine Chatfunktion eingeschränkt. Du kannst nur mit diesem Benutzer chatten, wenn er dir folgt.", + "chat-user-blocked": "You have been blocked by this user.", "chat-disabled": "Das Chatsystem deaktiviert", "too-many-messages": "Du hast zu viele Nachrichten versandt, bitte warte eine Weile.", "invalid-chat-message": "Ungültige Nachricht", diff --git a/public/language/de/modules.json b/public/language/de/modules.json index 80d6560e7d..07223c8d94 100644 --- a/public/language/de/modules.json +++ b/public/language/de/modules.json @@ -1,8 +1,9 @@ { "chat.room-id": "Raum %1", "chat.chatting-with": "Chatte mit", - "chat.placeholder": "Gebe hier eine Chatnachricht ein, ziehe Bilder per Drag & Drop und drücke die Eingabetaste, um sie zu senden", - "chat.placeholder.mobile": "Hier Chatnachricht eingeben", + "chat.placeholder": "Type chat message here, drag & drop images", + "chat.placeholder.mobile": "Type chat message", + "chat.placeholder.message-room": "Message #%1", "chat.scroll-up-alert": "Zur neuesten Nachricht gehen", "chat.usernames-and-x-others": "%1 & %2 andere", "chat.chat-with-usernames": "Chatte mit %1", diff --git a/public/language/de/notifications.json b/public/language/de/notifications.json index 6c26f60728..983cfc0f9d 100644 --- a/public/language/de/notifications.json +++ b/public/language/de/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 und %3 andere haben geantwortet auf: %4", "user-posted-topic": "%1 hat ein neues Thema erstellt: %2", "user-edited-post": "%1 hat einen Post in %2 bearbeitet", - "user-posted-topic-with-tag": "%1 hat ein neues Thema mit dem Tag %2 erstellt", - "user-posted-topic-with-tag-dual": "%1 hat ein neues Thema mit den Tags %2 and %3 erstellt", - "user-posted-topic-with-tag-triple": "%1 hat ein neues Thema mit den Tags %2, %3 und %4 erstellt", - "user-posted-topic-with-tag-multiple": "%1 hat ein neues Thema mit den Tags %2 erstellt", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 hat ein neues Thema in %2 erstellt", "user-started-following-you": "%1 folgt dir jetzt.", "user-started-following-you-dual": "%1 und %2 folgen dir jetzt.", @@ -75,6 +75,7 @@ "email-confirmed": "E-Mail bestätigt", "email-confirmed-message": "Vielen Dank für Ihre E-Mail-Validierung. Ihr Konto ist nun vollständig aktiviert.", "email-confirm-error-message": "Es gab ein Problem bei der Validierung Ihrer E-Mail-Adresse. Möglicherweise ist der Code ungültig oder abgelaufen.", + "email-confirm-error-message-already-validated": "Your email address was already validated.", "email-confirm-sent": "Bestätigungs-E-Mail gesendet.", "none": "Nichts", "notification-only": "Nur Benachrichtigungen", diff --git a/public/language/de/pages.json b/public/language/de/pages.json index 544fa3e49d..e7f5aea756 100644 --- a/public/language/de/pages.json +++ b/public/language/de/pages.json @@ -54,6 +54,7 @@ "account/settings-of": "Einstellungen von %1 ändern", "account/watched": "Von %1 beobachtete Themen", "account/ignored": "Ignorierte Themen von %1", + "account/read": "Topics read by %1", "account/upvoted": "Von %1 positiv bewertete Beiträge", "account/downvoted": "Von %1 negativ bewertete Beiträge", "account/best": "Bestbewertete Beiträge von %1", diff --git a/public/language/de/post-queue.json b/public/language/de/post-queue.json index 2ace5c3d6f..a5ba8448c4 100644 --- a/public/language/de/post-queue.json +++ b/public/language/de/post-queue.json @@ -38,5 +38,6 @@ "remove-selected": "Ausgewählte entfernen", "remove-selected-confirm": "Möchtest Du %1 ausgewählte Beiträge entfernen?", "bulk-accept-success": "%1 Beiträge akzeptiert", - "bulk-reject-success": "%1 Beiträge abgelehnt" + "bulk-reject-success": "%1 Beiträge abgelehnt", + "links-in-this-post": "Links in this post" } \ No newline at end of file diff --git a/public/language/de/themes/harmony.json b/public/language/de/themes/harmony.json index d1e2743217..304a3ec023 100644 --- a/public/language/de/themes/harmony.json +++ b/public/language/de/themes/harmony.json @@ -7,7 +7,8 @@ "login-register-to-search": "Anmelden oder registrieren, um zu suchen", "settings.title": "Theme-Einstellungen", "settings.enableQuickReply": "Schnelle Antworten aktivieren", - "settings.enableBreadcrumbs": "Enable breadcrumbs", + "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": "Header-Elemente zentrieren", "settings.mobileTopicTeasers": "Themen-Vorschau auf Mobilgeräten anzeigen", "settings.stickyToolbar": "Klebrige Toolbar", diff --git a/public/language/de/user.json b/public/language/de/user.json index 86be2c274f..efc431fc86 100644 --- a/public/language/de/user.json +++ b/public/language/de/user.json @@ -43,6 +43,7 @@ "change-all": "Alle ändern", "watched": "Beobachtet", "ignored": "Ignoriert", + "read": "Read", "default-category-watch-state": "Standardmäßige Beobachtung", "followers": "Follower", "following": "Folge ich", @@ -78,6 +79,7 @@ "change-password": "Passwort ändern", "change-password-error": "Ungültiges Passwort!", "change-password-error-wrong-current": "Ihr derzeitiges Passwort ist ungültig!", + "change-password-error-same-password": "Your new password matches your current password, please use a new password.", "change-password-error-match": "Passwörter müssen übereinstimmen!", "change-password-error-privileges": "Deine Berechtigungen reichen nicht aus, um dieses Passwort zu ändern.", "change-password-success": "Ihr Passwort wurde aktualisiert!", @@ -113,6 +115,7 @@ "has-no-topics": "Dieser Benutzer hat noch keine Themen erstellt.", "has-no-watched-topics": "Dieser Benutzer beobachtet keine Themen.", "has-no-ignored-topics": "Dieser Benutzer ignoriert bisher keine Themen.", + "has-no-read-topics": "This user hasn't read any topics yet.", "has-no-upvoted-posts": "Dieser Benutzer hat bisher keine Beiträge positiv bewertet.", "has-no-downvoted-posts": "Dieser Benutzer hat bisher keine Beiträge negativ bewertet.", "has-no-controversial-posts": "Dieser Benutzer hat noch keine herabgestuften Beiträge.", diff --git a/public/language/de/users.json b/public/language/de/users.json index bd842c76f4..2793cb50f9 100644 --- a/public/language/de/users.json +++ b/public/language/de/users.json @@ -1,5 +1,6 @@ { "all-users": "Alle Benutzer", + "followed-users": "Followed Users", "latest-users": "Neuste Benutzer", "top-posters": "Meiste Beiträge", "most-reputation": "Höchstes Ansehen", diff --git a/public/language/el/admin/development/info.json b/public/language/el/admin/development/info.json index 11202d9c3a..9834719daf 100644 --- a/public/language/el/admin/development/info.json +++ b/public/language/el/admin/development/info.json @@ -3,7 +3,7 @@ "ip": "IP %1", "nodes-responded": "%1 nodes responded within %2ms!", "host": "host", - "primary": "primary / run jobs", + "primary": "primary / jobs", "pid": "pid", "nodejs": "nodejs", "online": "online", @@ -19,6 +19,7 @@ "registered": "Registered", "sockets": "Sockets", + "connection-count": "Connection Count", "guests": "Guests", "info": "Info" diff --git a/public/language/el/admin/extend/widgets.json b/public/language/el/admin/extend/widgets.json index 5d2832feed..db72f2feb3 100644 --- a/public/language/el/admin/extend/widgets.json +++ b/public/language/el/admin/extend/widgets.json @@ -12,6 +12,8 @@ "container.card": "Card", "container.card-header": "Card Header", "container.card-body": "Card Body", + "container.title": "Title", + "container.body": "Body", "container.alert": "Alert", "alert.confirm-delete": "Are you sure you wish to delete this widget?", diff --git a/public/language/el/admin/settings/reputation.json b/public/language/el/admin/settings/reputation.json index e4fff22620..479069e3a4 100644 --- a/public/language/el/admin/settings/reputation.json +++ b/public/language/el/admin/settings/reputation.json @@ -2,7 +2,14 @@ "reputation": "Reputation Settings", "disable": "Disable Reputation System", "disable-down-voting": "Disable Down Voting", - "votes-are-public": "All Votes Are Public", + "upvote-visibility": "Up Vote visibility", + "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", "min-rep-upvote": "Minimum reputation to upvote posts", "upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)", diff --git a/public/language/el/error.json b/public/language/el/error.json index 610b497364..76c215d00c 100644 --- a/public/language/el/error.json +++ b/public/language/el/error.json @@ -153,6 +153,7 @@ "about-me-too-long": "Sorry, your about me cannot be longer than %1 character(s).", "cant-chat-with-yourself": "Δεν μπορείς να συνομιλήσεις με τον εαυτό σου!", "chat-restricted": "This user has restricted their chat messages. They must follow you before you can chat with them", + "chat-user-blocked": "You have been blocked by this user.", "chat-disabled": "Chat system disabled", "too-many-messages": "You have sent too many messages, please wait awhile.", "invalid-chat-message": "Invalid chat message", diff --git a/public/language/el/modules.json b/public/language/el/modules.json index 3bc454ffdc..62eeb01bc4 100644 --- a/public/language/el/modules.json +++ b/public/language/el/modules.json @@ -1,8 +1,9 @@ { "chat.room-id": "Room %1", "chat.chatting-with": "Chat with", - "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", - "chat.placeholder.mobile": "Type chat message here", + "chat.placeholder": "Type chat message here, drag & drop images", + "chat.placeholder.mobile": "Type chat message", + "chat.placeholder.message-room": "Message #%1", "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", diff --git a/public/language/el/notifications.json b/public/language/el/notifications.json index 8043fa57da..609c4830af 100644 --- a/public/language/el/notifications.json +++ b/public/language/el/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 has posted a new topic: %2", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 started following you.", "user-started-following-you-dual": "%1 and %2 started following you.", @@ -75,6 +75,7 @@ "email-confirmed": "Email Confirmed", "email-confirmed-message": "Thank you for validating your email. Your account is now fully activated.", "email-confirm-error-message": "There was a problem validating your email address. Perhaps the code was invalid or has expired.", + "email-confirm-error-message-already-validated": "Your email address was already validated.", "email-confirm-sent": "Στάλθηκε email επιβεβαίωσης.", "none": "None", "notification-only": "Notification Only", diff --git a/public/language/el/pages.json b/public/language/el/pages.json index 3619fe30be..27a4e4d9f6 100644 --- a/public/language/el/pages.json +++ b/public/language/el/pages.json @@ -54,6 +54,7 @@ "account/settings-of": "Changing settings of %1", "account/watched": "Topics watched by %1", "account/ignored": "Topics ignored by %1", + "account/read": "Topics read by %1", "account/upvoted": "Posts upvoted by %1", "account/downvoted": "Posts downvoted by %1", "account/best": "Best posts made by %1", diff --git a/public/language/el/post-queue.json b/public/language/el/post-queue.json index 021ed0d83f..24b33da2e6 100644 --- a/public/language/el/post-queue.json +++ b/public/language/el/post-queue.json @@ -38,5 +38,6 @@ "remove-selected": "Remove Selected", "remove-selected-confirm": "Do you want to remove %1 selected posts?", "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" } \ No newline at end of file diff --git a/public/language/el/themes/harmony.json b/public/language/el/themes/harmony.json index 4e75b9f716..01038d7641 100644 --- a/public/language/el/themes/harmony.json +++ b/public/language/el/themes/harmony.json @@ -7,7 +7,8 @@ "login-register-to-search": "Login or register to search.", "settings.title": "Theme settings", "settings.enableQuickReply": "Enable quick reply", - "settings.enableBreadcrumbs": "Enable breadcrumbs", + "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.mobileTopicTeasers": "Show topic teasers on mobile", "settings.stickyToolbar": "Sticky toolbar", diff --git a/public/language/el/user.json b/public/language/el/user.json index 07f3fb63ac..99b20ee140 100644 --- a/public/language/el/user.json +++ b/public/language/el/user.json @@ -43,6 +43,7 @@ "change-all": "Change All", "watched": "Watched", "ignored": "Ignored", + "read": "Read", "default-category-watch-state": "Default category watch state", "followers": "Ακόλουθοι", "following": "Ακολουθά", @@ -78,6 +79,7 @@ "change-password": "Αλλαγή Κωδικού", "change-password-error": "Άκυρος Κωδικός!", "change-password-error-wrong-current": "Ο τωρινός σου κωδικός δεν είναι σωστός!", + "change-password-error-same-password": "Your new password matches your current password, please use a new password.", "change-password-error-match": "Οι κωδικοί πρέπει να είναι οι ίδιοι!", "change-password-error-privileges": "Δεν έχεις δικαιώματα για να αλλάξεις αυτόν τον κωδικό.", "change-password-success": "Ο κωδικός σου ανανεώθηκε!", @@ -113,6 +115,7 @@ "has-no-topics": "This user hasn't posted any topics yet.", "has-no-watched-topics": "This user hasn't watched any topics yet.", "has-no-ignored-topics": "This user hasn't ignored any topics yet.", + "has-no-read-topics": "This user hasn't read any topics yet.", "has-no-upvoted-posts": "This user hasn't upvoted any posts yet.", "has-no-downvoted-posts": "This user hasn't downvoted any posts yet.", "has-no-controversial-posts": "This user does not have any downvoted posts yet.", diff --git a/public/language/el/users.json b/public/language/el/users.json index 2688ff4ae2..962f274993 100644 --- a/public/language/el/users.json +++ b/public/language/el/users.json @@ -1,5 +1,6 @@ { "all-users": "All Users", + "followed-users": "Followed Users", "latest-users": "Πρόσφατοι Χρήστες", "top-posters": "Top Δημοσιεύοντες", "most-reputation": "Υψηλότερη Φήμη", diff --git a/public/language/en-GB/admin/extend/widgets.json b/public/language/en-GB/admin/extend/widgets.json index 5d2832feed..db72f2feb3 100644 --- a/public/language/en-GB/admin/extend/widgets.json +++ b/public/language/en-GB/admin/extend/widgets.json @@ -12,6 +12,8 @@ "container.card": "Card", "container.card-header": "Card Header", "container.card-body": "Card Body", + "container.title": "Title", + "container.body": "Body", "container.alert": "Alert", "alert.confirm-delete": "Are you sure you wish to delete this widget?", diff --git a/public/language/en-GB/error.json b/public/language/en-GB/error.json index d849187bae..c8d52acb6e 100644 --- a/public/language/en-GB/error.json +++ b/public/language/en-GB/error.json @@ -179,6 +179,7 @@ "cant-chat-with-yourself": "You can't chat with yourself!", "chat-restricted": "This user has restricted their chat messages. They must follow you before you can chat with them", + "chat-user-blocked": "You have been blocked by this user.", "chat-disabled": "Chat system disabled", "too-many-messages": "You have sent too many messages, please wait awhile.", "invalid-chat-message": "Invalid chat message", diff --git a/public/language/en-GB/modules.json b/public/language/en-GB/modules.json index 36731fe37f..3e332287d4 100644 --- a/public/language/en-GB/modules.json +++ b/public/language/en-GB/modules.json @@ -1,8 +1,9 @@ { "chat.room-id": "Room %1", "chat.chatting-with": "Chat with", - "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", - "chat.placeholder.mobile": "Type chat message here", + "chat.placeholder": "Type chat message here, drag & drop images", + "chat.placeholder.mobile": "Type chat message", + "chat.placeholder.message-room": "Message #%1", "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", diff --git a/public/language/en-GB/notifications.json b/public/language/en-GB/notifications.json index 2782fdaff9..a359aed941 100644 --- a/public/language/en-GB/notifications.json +++ b/public/language/en-GB/notifications.json @@ -57,10 +57,10 @@ "user-posted-topic": "%1 has posted a new topic: %2", "user-edited-post" : "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", @@ -83,6 +83,7 @@ "email-confirmed": "Email Confirmed", "email-confirmed-message": "Thank you for validating your email. Your account is now fully activated.", "email-confirm-error-message": "There was a problem validating your email address. Perhaps the code was invalid or has expired.", + "email-confirm-error-message-already-validated": "Your email address was already validated.", "email-confirm-sent": "Confirmation email sent.", "none": "None", diff --git a/public/language/en-GB/pages.json b/public/language/en-GB/pages.json index 81cf369c5e..5d5b82393f 100644 --- a/public/language/en-GB/pages.json +++ b/public/language/en-GB/pages.json @@ -60,6 +60,7 @@ "account/settings-of": "Changing settings of %1", "account/watched": "Topics watched by %1", "account/ignored": "Topics ignored by %1", + "account/read": "Topics read by %1", "account/upvoted": "Posts upvoted by %1", "account/downvoted": "Posts downvoted by %1", "account/best": "Best posts made by %1", diff --git a/public/language/en-GB/themes/harmony.json b/public/language/en-GB/themes/harmony.json index 4e75b9f716..01038d7641 100644 --- a/public/language/en-GB/themes/harmony.json +++ b/public/language/en-GB/themes/harmony.json @@ -7,7 +7,8 @@ "login-register-to-search": "Login or register to search.", "settings.title": "Theme settings", "settings.enableQuickReply": "Enable quick reply", - "settings.enableBreadcrumbs": "Enable breadcrumbs", + "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.mobileTopicTeasers": "Show topic teasers on mobile", "settings.stickyToolbar": "Sticky toolbar", diff --git a/public/language/en-GB/topic.json b/public/language/en-GB/topic.json index 9027774603..fdb6ff6e91 100644 --- a/public/language/en-GB/topic.json +++ b/public/language/en-GB/topic.json @@ -30,6 +30,7 @@ "restore": "Restore", "move": "Move", "change-owner": "Change Owner", + "manage-editors": "Manage Editors", "fork": "Fork", "link": "Link", "share": "Share", @@ -116,6 +117,7 @@ "thread-tools.move-posts": "Move Posts", "thread-tools.move-all": "Move All", "thread-tools.change-owner": "Change Owner", + "thread-tools.manage-editors": "Manage Editors", "thread-tools.select-category": "Select Category", "thread-tools.fork": "Fork Topic", "thread-tools.tag": "Tag Topic", @@ -177,6 +179,7 @@ "move-posts-instruction": "Click the posts you want to move then enter a topic ID or go to the target topic", "move-topic-instruction": "Select the target category and then click move", "change-owner-instruction": "Click the posts you want to assign to another user", + "manage-editors-instruction": "Manage the users who can edit this post below.", "composer.title-placeholder": "Enter your topic title here...", "composer.handle-placeholder": "Enter your name/handle here", diff --git a/public/language/en-GB/user.json b/public/language/en-GB/user.json index b010898322..71332b215c 100644 --- a/public/language/en-GB/user.json +++ b/public/language/en-GB/user.json @@ -45,6 +45,7 @@ "change-all": "Change All", "watched": "Watched", "ignored": "Ignored", + "read": "Read", "default-category-watch-state": "Default category watch state", "followers": "Followers", "following": "Following", @@ -81,6 +82,7 @@ "change-password": "Change Password", "change-password-error": "Invalid Password!", "change-password-error-wrong-current": "Your current password is not correct!", + "change-password-error-same-password": "Your new password matches your current password, please use a new password.", "change-password-error-match": "Passwords must match!", "change-password-error-privileges": "You do not have the rights to change this password.", "change-password-success": "Your password is updated!", @@ -120,6 +122,7 @@ "has-no-topics": "This user hasn't posted any topics yet.", "has-no-watched-topics": "This user hasn't watched any topics yet.", "has-no-ignored-topics": "This user hasn't ignored any topics yet.", + "has-no-read-topics": "This user hasn't read any topics yet.", "has-no-upvoted-posts": "This user hasn't upvoted any posts yet.", "has-no-downvoted-posts": "This user hasn't downvoted any posts yet.", "has-no-controversial-posts": "This user does not have any downvoted posts yet.", diff --git a/public/language/en-GB/users.json b/public/language/en-GB/users.json index 9e29aecf63..ac1faf4a09 100644 --- a/public/language/en-GB/users.json +++ b/public/language/en-GB/users.json @@ -1,5 +1,6 @@ { "all-users": "All Users", + "followed-users": "Followed Users", "latest-users": "Latest Users", "top-posters": "Top Posters", "most-reputation": "Most Reputation", diff --git a/public/language/en-US/admin/development/info.json b/public/language/en-US/admin/development/info.json index 11202d9c3a..9834719daf 100644 --- a/public/language/en-US/admin/development/info.json +++ b/public/language/en-US/admin/development/info.json @@ -3,7 +3,7 @@ "ip": "IP %1", "nodes-responded": "%1 nodes responded within %2ms!", "host": "host", - "primary": "primary / run jobs", + "primary": "primary / jobs", "pid": "pid", "nodejs": "nodejs", "online": "online", @@ -19,6 +19,7 @@ "registered": "Registered", "sockets": "Sockets", + "connection-count": "Connection Count", "guests": "Guests", "info": "Info" diff --git a/public/language/en-US/admin/extend/widgets.json b/public/language/en-US/admin/extend/widgets.json index 5d2832feed..db72f2feb3 100644 --- a/public/language/en-US/admin/extend/widgets.json +++ b/public/language/en-US/admin/extend/widgets.json @@ -12,6 +12,8 @@ "container.card": "Card", "container.card-header": "Card Header", "container.card-body": "Card Body", + "container.title": "Title", + "container.body": "Body", "container.alert": "Alert", "alert.confirm-delete": "Are you sure you wish to delete this widget?", diff --git a/public/language/en-US/admin/settings/reputation.json b/public/language/en-US/admin/settings/reputation.json index e4fff22620..479069e3a4 100644 --- a/public/language/en-US/admin/settings/reputation.json +++ b/public/language/en-US/admin/settings/reputation.json @@ -2,7 +2,14 @@ "reputation": "Reputation Settings", "disable": "Disable Reputation System", "disable-down-voting": "Disable Down Voting", - "votes-are-public": "All Votes Are Public", + "upvote-visibility": "Up Vote visibility", + "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", "min-rep-upvote": "Minimum reputation to upvote posts", "upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)", diff --git a/public/language/en-US/error.json b/public/language/en-US/error.json index f12e15c94f..674f9bec8b 100644 --- a/public/language/en-US/error.json +++ b/public/language/en-US/error.json @@ -153,6 +153,7 @@ "about-me-too-long": "Sorry, your about me cannot be longer than %1 character(s).", "cant-chat-with-yourself": "You can't chat with yourself!", "chat-restricted": "This user has restricted their chat messages. They must follow you before you can chat with them", + "chat-user-blocked": "You have been blocked by this user.", "chat-disabled": "Chat system disabled", "too-many-messages": "You have sent too many messages, please wait awhile.", "invalid-chat-message": "Invalid chat message", diff --git a/public/language/en-US/modules.json b/public/language/en-US/modules.json index 3bc454ffdc..62eeb01bc4 100644 --- a/public/language/en-US/modules.json +++ b/public/language/en-US/modules.json @@ -1,8 +1,9 @@ { "chat.room-id": "Room %1", "chat.chatting-with": "Chat with", - "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", - "chat.placeholder.mobile": "Type chat message here", + "chat.placeholder": "Type chat message here, drag & drop images", + "chat.placeholder.mobile": "Type chat message", + "chat.placeholder.message-room": "Message #%1", "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", diff --git a/public/language/en-US/notifications.json b/public/language/en-US/notifications.json index 02125c4009..989025a566 100644 --- a/public/language/en-US/notifications.json +++ b/public/language/en-US/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 has posted a new topic: %2", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 started following you.", "user-started-following-you-dual": "%1 and %2 started following you.", @@ -75,6 +75,7 @@ "email-confirmed": "Email Confirmed", "email-confirmed-message": "Thank you for validating your email. Your account is now fully activated.", "email-confirm-error-message": "There was a problem validating your email address. Perhaps the code was invalid or has expired.", + "email-confirm-error-message-already-validated": "Your email address was already validated.", "email-confirm-sent": "Confirmation email sent.", "none": "None", "notification-only": "Notification Only", diff --git a/public/language/en-US/pages.json b/public/language/en-US/pages.json index 01abf0b23a..a2f6077733 100644 --- a/public/language/en-US/pages.json +++ b/public/language/en-US/pages.json @@ -54,6 +54,7 @@ "account/settings-of": "Changing settings of %1", "account/watched": "Topics watched by %1", "account/ignored": "Topics ignored by %1", + "account/read": "Topics read by %1", "account/upvoted": "Posts upvoted by %1", "account/downvoted": "Posts downvoted by %1", "account/best": "Best posts made by %1", diff --git a/public/language/en-US/post-queue.json b/public/language/en-US/post-queue.json index 021ed0d83f..24b33da2e6 100644 --- a/public/language/en-US/post-queue.json +++ b/public/language/en-US/post-queue.json @@ -38,5 +38,6 @@ "remove-selected": "Remove Selected", "remove-selected-confirm": "Do you want to remove %1 selected posts?", "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" } \ No newline at end of file diff --git a/public/language/en-US/themes/harmony.json b/public/language/en-US/themes/harmony.json index 4e75b9f716..01038d7641 100644 --- a/public/language/en-US/themes/harmony.json +++ b/public/language/en-US/themes/harmony.json @@ -7,7 +7,8 @@ "login-register-to-search": "Login or register to search.", "settings.title": "Theme settings", "settings.enableQuickReply": "Enable quick reply", - "settings.enableBreadcrumbs": "Enable breadcrumbs", + "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.mobileTopicTeasers": "Show topic teasers on mobile", "settings.stickyToolbar": "Sticky toolbar", diff --git a/public/language/en-US/user.json b/public/language/en-US/user.json index 8fba89a9de..78c7671b1c 100644 --- a/public/language/en-US/user.json +++ b/public/language/en-US/user.json @@ -43,6 +43,7 @@ "change-all": "Change All", "watched": "Watched", "ignored": "Ignored", + "read": "Read", "default-category-watch-state": "Default category watch state", "followers": "Followers", "following": "Following", @@ -78,6 +79,7 @@ "change-password": "Change Password", "change-password-error": "Invalid Password!", "change-password-error-wrong-current": "Your current password is not correct!", + "change-password-error-same-password": "Your new password matches your current password, please use a new password.", "change-password-error-match": "Passwords must match!", "change-password-error-privileges": "You do not have the rights to change this password.", "change-password-success": "Your password is updated!", @@ -113,6 +115,7 @@ "has-no-topics": "This user hasn't posted any topics yet.", "has-no-watched-topics": "This user hasn't watched any topics yet.", "has-no-ignored-topics": "This user hasn't ignored any topics yet.", + "has-no-read-topics": "This user hasn't read any topics yet.", "has-no-upvoted-posts": "This user hasn't upvoted any posts yet.", "has-no-downvoted-posts": "This user hasn't downvoted any posts yet.", "has-no-controversial-posts": "This user does not have any downvoted posts yet.", diff --git a/public/language/en-US/users.json b/public/language/en-US/users.json index 18882fa619..ab6dd9154a 100644 --- a/public/language/en-US/users.json +++ b/public/language/en-US/users.json @@ -1,5 +1,6 @@ { "all-users": "All Users", + "followed-users": "Followed Users", "latest-users": "Latest Users", "top-posters": "Top Posters", "most-reputation": "Most Reputation", diff --git a/public/language/en-x-pirate/admin/development/info.json b/public/language/en-x-pirate/admin/development/info.json index 11202d9c3a..9834719daf 100644 --- a/public/language/en-x-pirate/admin/development/info.json +++ b/public/language/en-x-pirate/admin/development/info.json @@ -3,7 +3,7 @@ "ip": "IP %1", "nodes-responded": "%1 nodes responded within %2ms!", "host": "host", - "primary": "primary / run jobs", + "primary": "primary / jobs", "pid": "pid", "nodejs": "nodejs", "online": "online", @@ -19,6 +19,7 @@ "registered": "Registered", "sockets": "Sockets", + "connection-count": "Connection Count", "guests": "Guests", "info": "Info" diff --git a/public/language/en-x-pirate/admin/extend/widgets.json b/public/language/en-x-pirate/admin/extend/widgets.json index 5d2832feed..db72f2feb3 100644 --- a/public/language/en-x-pirate/admin/extend/widgets.json +++ b/public/language/en-x-pirate/admin/extend/widgets.json @@ -12,6 +12,8 @@ "container.card": "Card", "container.card-header": "Card Header", "container.card-body": "Card Body", + "container.title": "Title", + "container.body": "Body", "container.alert": "Alert", "alert.confirm-delete": "Are you sure you wish to delete this widget?", diff --git a/public/language/en-x-pirate/admin/settings/reputation.json b/public/language/en-x-pirate/admin/settings/reputation.json index e4fff22620..479069e3a4 100644 --- a/public/language/en-x-pirate/admin/settings/reputation.json +++ b/public/language/en-x-pirate/admin/settings/reputation.json @@ -2,7 +2,14 @@ "reputation": "Reputation Settings", "disable": "Disable Reputation System", "disable-down-voting": "Disable Down Voting", - "votes-are-public": "All Votes Are Public", + "upvote-visibility": "Up Vote visibility", + "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", "min-rep-upvote": "Minimum reputation to upvote posts", "upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)", diff --git a/public/language/en-x-pirate/error.json b/public/language/en-x-pirate/error.json index f12e15c94f..674f9bec8b 100644 --- a/public/language/en-x-pirate/error.json +++ b/public/language/en-x-pirate/error.json @@ -153,6 +153,7 @@ "about-me-too-long": "Sorry, your about me cannot be longer than %1 character(s).", "cant-chat-with-yourself": "You can't chat with yourself!", "chat-restricted": "This user has restricted their chat messages. They must follow you before you can chat with them", + "chat-user-blocked": "You have been blocked by this user.", "chat-disabled": "Chat system disabled", "too-many-messages": "You have sent too many messages, please wait awhile.", "invalid-chat-message": "Invalid chat message", diff --git a/public/language/en-x-pirate/modules.json b/public/language/en-x-pirate/modules.json index a9cf4d3ed8..6e180967fb 100644 --- a/public/language/en-x-pirate/modules.json +++ b/public/language/en-x-pirate/modules.json @@ -1,8 +1,9 @@ { "chat.room-id": "Room %1", "chat.chatting-with": "Chat with", - "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", - "chat.placeholder.mobile": "Type chat message here", + "chat.placeholder": "Type chat message here, drag & drop images", + "chat.placeholder.mobile": "Type chat message", + "chat.placeholder.message-room": "Message #%1", "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", diff --git a/public/language/en-x-pirate/notifications.json b/public/language/en-x-pirate/notifications.json index 975f837cd7..98358f593f 100644 --- a/public/language/en-x-pirate/notifications.json +++ b/public/language/en-x-pirate/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 has posted a new topic: %2", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 started following you.", "user-started-following-you-dual": "%1 and %2 started following you.", @@ -75,6 +75,7 @@ "email-confirmed": "Email Confirmed", "email-confirmed-message": "Thank you for validating your email. Your account is now fully activated.", "email-confirm-error-message": "There was a problem validating your email address. Perhaps the code was invalid or has expired.", + "email-confirm-error-message-already-validated": "Your email address was already validated.", "email-confirm-sent": "Confirmation email sent.", "none": "None", "notification-only": "Notification Only", diff --git a/public/language/en-x-pirate/pages.json b/public/language/en-x-pirate/pages.json index 01abf0b23a..a2f6077733 100644 --- a/public/language/en-x-pirate/pages.json +++ b/public/language/en-x-pirate/pages.json @@ -54,6 +54,7 @@ "account/settings-of": "Changing settings of %1", "account/watched": "Topics watched by %1", "account/ignored": "Topics ignored by %1", + "account/read": "Topics read by %1", "account/upvoted": "Posts upvoted by %1", "account/downvoted": "Posts downvoted by %1", "account/best": "Best posts made by %1", diff --git a/public/language/en-x-pirate/post-queue.json b/public/language/en-x-pirate/post-queue.json index 021ed0d83f..24b33da2e6 100644 --- a/public/language/en-x-pirate/post-queue.json +++ b/public/language/en-x-pirate/post-queue.json @@ -38,5 +38,6 @@ "remove-selected": "Remove Selected", "remove-selected-confirm": "Do you want to remove %1 selected posts?", "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" } \ No newline at end of file diff --git a/public/language/en-x-pirate/themes/harmony.json b/public/language/en-x-pirate/themes/harmony.json index 4e75b9f716..01038d7641 100644 --- a/public/language/en-x-pirate/themes/harmony.json +++ b/public/language/en-x-pirate/themes/harmony.json @@ -7,7 +7,8 @@ "login-register-to-search": "Login or register to search.", "settings.title": "Theme settings", "settings.enableQuickReply": "Enable quick reply", - "settings.enableBreadcrumbs": "Enable breadcrumbs", + "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.mobileTopicTeasers": "Show topic teasers on mobile", "settings.stickyToolbar": "Sticky toolbar", diff --git a/public/language/en-x-pirate/user.json b/public/language/en-x-pirate/user.json index 8653a1e096..74a2493b81 100644 --- a/public/language/en-x-pirate/user.json +++ b/public/language/en-x-pirate/user.json @@ -43,6 +43,7 @@ "change-all": "Change All", "watched": "Watched", "ignored": "Ignored", + "read": "Read", "default-category-watch-state": "Default category watch state", "followers": "Followers", "following": "Following", @@ -78,6 +79,7 @@ "change-password": "Change Password", "change-password-error": "Invalid Password!", "change-password-error-wrong-current": "Your current password is not correct!", + "change-password-error-same-password": "Your new password matches your current password, please use a new password.", "change-password-error-match": "Passwords must match!", "change-password-error-privileges": "You do not have the rights to change this password.", "change-password-success": "Your password is updated!", @@ -113,6 +115,7 @@ "has-no-topics": "This user hasn't posted any topics yet.", "has-no-watched-topics": "This user hasn't watched any topics yet.", "has-no-ignored-topics": "This user hasn't ignored any topics yet.", + "has-no-read-topics": "This user hasn't read any topics yet.", "has-no-upvoted-posts": "This user hasn't upvoted any posts yet.", "has-no-downvoted-posts": "This user hasn't downvoted any posts yet.", "has-no-controversial-posts": "This user does not have any downvoted posts yet.", diff --git a/public/language/en-x-pirate/users.json b/public/language/en-x-pirate/users.json index 435f4d2652..2da0f54540 100644 --- a/public/language/en-x-pirate/users.json +++ b/public/language/en-x-pirate/users.json @@ -1,5 +1,6 @@ { "all-users": "All Users", + "followed-users": "Followed Users", "latest-users": "Land lubbers", "top-posters": "Top mateys", "most-reputation": "Most Reputation", diff --git a/public/language/es/admin/admin.json b/public/language/es/admin/admin.json index e869a52da7..9e1c619891 100644 --- a/public/language/es/admin/admin.json +++ b/public/language/es/admin/admin.json @@ -1,5 +1,5 @@ { - "alert.confirm-rebuild-and-restart": "¿Está seguro que desea reconstruir y reiniciar NodeBB?", + "alert.confirm-rebuild-and-restart": "Are you sure you wish to rebuild and restart NodeBB?", "alert.confirm-restart": "¿Está seguro que desea reiniciar NodeBB?", "acp-title": "%1 | Panel de control de administrador NodeBB", diff --git a/public/language/es/admin/development/info.json b/public/language/es/admin/development/info.json index 5f934d3a40..6f37b0c1e8 100644 --- a/public/language/es/admin/development/info.json +++ b/public/language/es/admin/development/info.json @@ -3,7 +3,7 @@ "ip": "IP %1", "nodes-responded": "¡%1 nodos respondieron en %2ms!", "host": "host", - "primary": "primary / run jobs", + "primary": "primary / jobs", "pid": "pid", "nodejs": "nodejs", "online": "en-linea", @@ -19,6 +19,7 @@ "registered": "Registrado", "sockets": "Toma", + "connection-count": "Connection Count", "guests": "Invitados", "info": "Información" diff --git a/public/language/es/admin/extend/widgets.json b/public/language/es/admin/extend/widgets.json index 02774f78f3..c3833836a4 100644 --- a/public/language/es/admin/extend/widgets.json +++ b/public/language/es/admin/extend/widgets.json @@ -12,6 +12,8 @@ "container.card": "Card", "container.card-header": "Card Header", "container.card-body": "Card Body", + "container.title": "Title", + "container.body": "Body", "container.alert": "Alerta (alert)", "alert.confirm-delete": "Estás seguro/a de que deseas borrar este widget?", diff --git a/public/language/es/admin/settings/reputation.json b/public/language/es/admin/settings/reputation.json index f327695a35..f9eae15643 100644 --- a/public/language/es/admin/settings/reputation.json +++ b/public/language/es/admin/settings/reputation.json @@ -2,7 +2,14 @@ "reputation": "Configuración de Reputación", "disable": "Desactivar Sistema de Reputación", "disable-down-voting": "Desactivar Votos Negativos", - "votes-are-public": "Todos los Votos son Públicos", + "upvote-visibility": "Up Vote visibility", + "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": "Umbrales de Actividad", "min-rep-upvote": "Minimum reputation to upvote posts", "upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)", diff --git a/public/language/es/error.json b/public/language/es/error.json index c9a2e457d9..eaf6c6d3d4 100644 --- a/public/language/es/error.json +++ b/public/language/es/error.json @@ -153,6 +153,7 @@ "about-me-too-long": "Lo sentimos, pero tu descripción no puede ser más larga de %1 caractere(s).", "cant-chat-with-yourself": "¡No puedes conversar contigo mismo!", "chat-restricted": "Este usuario tiene restringidos los mensajes de chat. Los usuarios deben seguirte antes de que pueda charlar con ellos", + "chat-user-blocked": "You have been blocked by this user.", "chat-disabled": "El sistema de chat está deshabilitado", "too-many-messages": "Has enviado demasiados mensajes, por favor espera un poco.", "invalid-chat-message": "Mensaje de Chat inválido", diff --git a/public/language/es/modules.json b/public/language/es/modules.json index 3d907c74ed..884a5353fa 100644 --- a/public/language/es/modules.json +++ b/public/language/es/modules.json @@ -1,8 +1,9 @@ { "chat.room-id": "Room %1", "chat.chatting-with": "Chatear con", - "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", - "chat.placeholder.mobile": "Type chat message here", + "chat.placeholder": "Type chat message here, drag & drop images", + "chat.placeholder.mobile": "Type chat message", + "chat.placeholder.message-room": "Message #%1", "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", diff --git a/public/language/es/notifications.json b/public/language/es/notifications.json index 16d514cb9c..18c6160c26 100644 --- a/public/language/es/notifications.json +++ b/public/language/es/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 ha publicado un nuevo tema: %2", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 comenzó a seguirte.", "user-started-following-you-dual": "%1 y %2 comenzaron a seguirte.", @@ -75,6 +75,7 @@ "email-confirmed": "Correo electrónico confirmado", "email-confirmed-message": "Gracias por validar tu correo electrónico. Tu cuenta ya está completamente activa.", "email-confirm-error-message": "Hubo un problema al validar tu cuenta de correo electrónico. Quizá el código era erróneo o expiró...", + "email-confirm-error-message-already-validated": "Your email address was already validated.", "email-confirm-sent": "Correo de confirmación enviado.", "none": "Ninguno/a", "notification-only": "Solo Notificación", diff --git a/public/language/es/pages.json b/public/language/es/pages.json index 2e60c9368d..8d42c6ca04 100644 --- a/public/language/es/pages.json +++ b/public/language/es/pages.json @@ -54,6 +54,7 @@ "account/settings-of": "Changing settings of %1", "account/watched": "Temas seguidos por %1", "account/ignored": "Temas ignorados por %1", + "account/read": "Topics read by %1", "account/upvoted": "Publicaciones votadas positivamente %1", "account/downvoted": "Publicaciones votadas negativamente %1", "account/best": "Mejores publicaciones hechas por %1", diff --git a/public/language/es/post-queue.json b/public/language/es/post-queue.json index 4005bfcbb4..d440fc983f 100644 --- a/public/language/es/post-queue.json +++ b/public/language/es/post-queue.json @@ -38,5 +38,6 @@ "remove-selected": "Remove Selected", "remove-selected-confirm": "Do you want to remove %1 selected posts?", "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" } \ No newline at end of file diff --git a/public/language/es/rewards.json b/public/language/es/rewards.json index f923cf1500..57578aca4a 100644 --- a/public/language/es/rewards.json +++ b/public/language/es/rewards.json @@ -1,5 +1,5 @@ { - "awarded-x-reputation": "You have been awarded %1 reputation", + "awarded-x-reputation": "Has sido premiado", "awarded-group-membership": "You have been added to the group %1", "essentials/user.reputation-conditional-value": "(Reputation %1 %2)", diff --git a/public/language/es/themes/harmony.json b/public/language/es/themes/harmony.json index 4e75b9f716..01038d7641 100644 --- a/public/language/es/themes/harmony.json +++ b/public/language/es/themes/harmony.json @@ -7,7 +7,8 @@ "login-register-to-search": "Login or register to search.", "settings.title": "Theme settings", "settings.enableQuickReply": "Enable quick reply", - "settings.enableBreadcrumbs": "Enable breadcrumbs", + "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.mobileTopicTeasers": "Show topic teasers on mobile", "settings.stickyToolbar": "Sticky toolbar", diff --git a/public/language/es/user.json b/public/language/es/user.json index de0d5f59c2..cd31668654 100644 --- a/public/language/es/user.json +++ b/public/language/es/user.json @@ -43,6 +43,7 @@ "change-all": "Change All", "watched": "Suscritos", "ignored": "Ignorado", + "read": "Read", "default-category-watch-state": "Estado default de vista de categoría", "followers": "Seguidores", "following": "Siguiendo", @@ -78,6 +79,7 @@ "change-password": "Cambiar contraseña", "change-password-error": "¡Contraseña no válida!", "change-password-error-wrong-current": "¡Su contraseña actual no es correcta!", + "change-password-error-same-password": "Your new password matches your current password, please use a new password.", "change-password-error-match": "¡Las contraseñas deben coincidir!", "change-password-error-privileges": "No tienes los permisos suficientes para cambiar esta contraseña.", "change-password-success": "¡Tu contraseña ha sido actualizada!", @@ -113,6 +115,7 @@ "has-no-topics": "Este usuario no ha publicado ninguna tema todavía.", "has-no-watched-topics": "Este usuario no esta suscrito a ningún tema aún.", "has-no-ignored-topics": "Este usuario no ha ignorado ningún tema aun.", + "has-no-read-topics": "This user hasn't read any topics yet.", "has-no-upvoted-posts": "Este usuario todavía no ha votado ninguna publicación positivamente.", "has-no-downvoted-posts": "Este usuario todavía no ha votado ninguna publicación negativamente.", "has-no-controversial-posts": "This user does not have any downvoted posts yet.", diff --git a/public/language/es/users.json b/public/language/es/users.json index b5e67ca5dc..3fe8b73df1 100644 --- a/public/language/es/users.json +++ b/public/language/es/users.json @@ -1,5 +1,6 @@ { "all-users": "All Users", + "followed-users": "Followed Users", "latest-users": "Últimos usuarios", "top-posters": "Top por mensajes", "most-reputation": "Más reputados", diff --git a/public/language/et/admin/admin.json b/public/language/et/admin/admin.json index 1e904fd12e..8446c26e4e 100644 --- a/public/language/et/admin/admin.json +++ b/public/language/et/admin/admin.json @@ -4,15 +4,15 @@ "acp-title": "%1 | NodeBB Administraatori kontrollpaneel", "settings-header-contents": "Sisu", - "changes-saved": "Changes Saved", + "changes-saved": "Muudatused salvestatud", "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", "changes-not-saved": "Changes Not Saved", - "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)", - "save-changes": "Save changes", + "changes-not-saved-message": "NodeBB-l tekkis probleem su muudatuste salvestamisel. (%1)", + "save-changes": "Salvesta muudatused", "min": "Min:", "max": "Max:", - "view": "View", - "edit": "Edit", - "add": "Add", - "select-icon": "Select Icon" + "view": "Vaata", + "edit": "Muuda", + "add": "Lisa", + "select-icon": "Vali ikoon" } \ No newline at end of file diff --git a/public/language/et/admin/development/info.json b/public/language/et/admin/development/info.json index 11202d9c3a..9834719daf 100644 --- a/public/language/et/admin/development/info.json +++ b/public/language/et/admin/development/info.json @@ -3,7 +3,7 @@ "ip": "IP %1", "nodes-responded": "%1 nodes responded within %2ms!", "host": "host", - "primary": "primary / run jobs", + "primary": "primary / jobs", "pid": "pid", "nodejs": "nodejs", "online": "online", @@ -19,6 +19,7 @@ "registered": "Registered", "sockets": "Sockets", + "connection-count": "Connection Count", "guests": "Guests", "info": "Info" diff --git a/public/language/et/admin/extend/widgets.json b/public/language/et/admin/extend/widgets.json index 5d2832feed..db72f2feb3 100644 --- a/public/language/et/admin/extend/widgets.json +++ b/public/language/et/admin/extend/widgets.json @@ -12,6 +12,8 @@ "container.card": "Card", "container.card-header": "Card Header", "container.card-body": "Card Body", + "container.title": "Title", + "container.body": "Body", "container.alert": "Alert", "alert.confirm-delete": "Are you sure you wish to delete this widget?", diff --git a/public/language/et/admin/settings/reputation.json b/public/language/et/admin/settings/reputation.json index e4fff22620..479069e3a4 100644 --- a/public/language/et/admin/settings/reputation.json +++ b/public/language/et/admin/settings/reputation.json @@ -2,7 +2,14 @@ "reputation": "Reputation Settings", "disable": "Disable Reputation System", "disable-down-voting": "Disable Down Voting", - "votes-are-public": "All Votes Are Public", + "upvote-visibility": "Up Vote visibility", + "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", "min-rep-upvote": "Minimum reputation to upvote posts", "upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)", diff --git a/public/language/et/error.json b/public/language/et/error.json index bed991b6c9..9f4f6a5bec 100644 --- a/public/language/et/error.json +++ b/public/language/et/error.json @@ -153,6 +153,7 @@ "about-me-too-long": "Vabandage, teie tutvustus ei saa olaa pikem kui %1 tähemärk(i).", "cant-chat-with-yourself": "Sa ei saa endaga vestelda!", "chat-restricted": "Kasutaja on piiranud sõnumite saatmist. Privaatsõnumi saatmiseks peab kasutaja sind jälgima", + "chat-user-blocked": "You have been blocked by this user.", "chat-disabled": "Vestlus süsteem keelatud", "too-many-messages": "Oled saatnud liiga palju sõnumeid, oota natukene.", "invalid-chat-message": "Vigane vestluse sõnum", diff --git a/public/language/et/modules.json b/public/language/et/modules.json index 539eecc169..d66b6d7bf0 100644 --- a/public/language/et/modules.json +++ b/public/language/et/modules.json @@ -1,8 +1,9 @@ { "chat.room-id": "Room %1", "chat.chatting-with": "Chat with", - "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", - "chat.placeholder.mobile": "Type chat message here", + "chat.placeholder": "Type chat message here, drag & drop images", + "chat.placeholder.mobile": "Type chat message", + "chat.placeholder.message-room": "Message #%1", "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", diff --git a/public/language/et/notifications.json b/public/language/et/notifications.json index a4dd123e07..6717703992 100644 --- a/public/language/et/notifications.json +++ b/public/language/et/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 on postitanud uue teema: %2", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 hakkas sind jälgima.", "user-started-following-you-dual": "%1 ja %2 hakkasid sind jälgima.", @@ -75,6 +75,7 @@ "email-confirmed": "Emaili aadress kinnitatud", "email-confirmed-message": "Täname, et kinnitasite oma emaili aadressi. Teie kasutaja on nüüd täielikult aktiveeritud.", "email-confirm-error-message": "Emaili aadressi kinnitamisel tekkis viga. Võibolla kinnituskood oli vale või aegunud.", + "email-confirm-error-message-already-validated": "Your email address was already validated.", "email-confirm-sent": "Kinnituskiri on saadetud.", "none": "None", "notification-only": "Notification Only", diff --git a/public/language/et/pages.json b/public/language/et/pages.json index 32f8ee2999..17031d98da 100644 --- a/public/language/et/pages.json +++ b/public/language/et/pages.json @@ -54,6 +54,7 @@ "account/settings-of": "Changing settings of %1", "account/watched": "Teemasid jälgib %1 kasutajat", "account/ignored": "Topics ignored by %1", + "account/read": "Topics read by %1", "account/upvoted": "Postitused %1 poolt heaks kiidetud", "account/downvoted": "Postitused %1 poolt vastu hääletatud", "account/best": "Parimad postitused %1 poolt", diff --git a/public/language/et/post-queue.json b/public/language/et/post-queue.json index 021ed0d83f..24b33da2e6 100644 --- a/public/language/et/post-queue.json +++ b/public/language/et/post-queue.json @@ -38,5 +38,6 @@ "remove-selected": "Remove Selected", "remove-selected-confirm": "Do you want to remove %1 selected posts?", "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" } \ No newline at end of file diff --git a/public/language/et/themes/harmony.json b/public/language/et/themes/harmony.json index 4e75b9f716..01038d7641 100644 --- a/public/language/et/themes/harmony.json +++ b/public/language/et/themes/harmony.json @@ -7,7 +7,8 @@ "login-register-to-search": "Login or register to search.", "settings.title": "Theme settings", "settings.enableQuickReply": "Enable quick reply", - "settings.enableBreadcrumbs": "Enable breadcrumbs", + "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.mobileTopicTeasers": "Show topic teasers on mobile", "settings.stickyToolbar": "Sticky toolbar", diff --git a/public/language/et/uploads.json b/public/language/et/uploads.json index d4f7bbcca4..63f2828fde 100644 --- a/public/language/et/uploads.json +++ b/public/language/et/uploads.json @@ -1,7 +1,7 @@ { "uploading-file": "Laen faili üles...", "select-file-to-upload": "Vali fail mida üles laadida!", - "upload-success": "Fail üles laetud edukalt!", + "upload-success": "Fail edukalt üles laetud!", "maximum-file-size": "Maksimaalselt %1 kb", "no-uploads-found": "No uploads found", "public-uploads-info": "Uploads are public, all visitors can see them.", diff --git a/public/language/et/user.json b/public/language/et/user.json index dc531559d9..05b9e9e231 100644 --- a/public/language/et/user.json +++ b/public/language/et/user.json @@ -43,6 +43,7 @@ "change-all": "Change All", "watched": "Vaadatud", "ignored": "Ignored", + "read": "Read", "default-category-watch-state": "Default category watch state", "followers": "Jälgijad", "following": "Jälgimised", @@ -78,6 +79,7 @@ "change-password": "Vaheta parooli", "change-password-error": "Vigane parool!", "change-password-error-wrong-current": "Su praegune parool on vale!", + "change-password-error-same-password": "Your new password matches your current password, please use a new password.", "change-password-error-match": "Paroolid peavad kattuma!", "change-password-error-privileges": "Sul ei ole piisavalt õigusi, et vahetada seda parooli.", "change-password-success": "Sinu parool on uuendatud!", @@ -113,6 +115,7 @@ "has-no-topics": "Antud kasutaja pole veel ühtegi teemat postitanud.", "has-no-watched-topics": "Antud kasutaja pole veel ühtegi teemat vaadanud.", "has-no-ignored-topics": "This user hasn't ignored any topics yet.", + "has-no-read-topics": "This user hasn't read any topics yet.", "has-no-upvoted-posts": "Antud kasutaja pole veel ühtegi postitust kiitnud.", "has-no-downvoted-posts": "Antud kasutaja pole veel ühtegi postitust laitnud.", "has-no-controversial-posts": "This user does not have any downvoted posts yet.", diff --git a/public/language/et/users.json b/public/language/et/users.json index 88cc5df4fa..2716eab76e 100644 --- a/public/language/et/users.json +++ b/public/language/et/users.json @@ -1,5 +1,6 @@ { "all-users": "All Users", + "followed-users": "Followed Users", "latest-users": "Hilised kasutajad", "top-posters": "Top postitajad", "most-reputation": "Kõige rohkem reputatsiooni", diff --git a/public/language/fa-IR/admin/admin.json b/public/language/fa-IR/admin/admin.json index 34435717b6..ebf14c7704 100644 --- a/public/language/fa-IR/admin/admin.json +++ b/public/language/fa-IR/admin/admin.json @@ -4,15 +4,15 @@ "acp-title": "%1 | کنترل پنل مدیر کل نود‌بی‌بی", "settings-header-contents": "محتوا", - "changes-saved": "Changes Saved", - "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", + "changes-saved": "تغییرات ذخیره شد", + "changes-saved-message": "تغییرات شما در پیکربندی NodeBB ذخیره شده است.", "changes-not-saved": "تغییرات ذخیره نشد", - "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)", - "save-changes": "Save changes", - "min": "Min:", - "max": "Max:", - "view": "View", - "edit": "Edit", - "add": "Add", - "select-icon": "Select Icon" + "changes-not-saved-message": "NodeBB در ذخیره تغییرات شما با مشکل مواجه شد. (% 1)", + "save-changes": "ذخیره تغییرات", + "min": "کمترین:", + "max": "بیشترین:", + "view": "نمایش", + "edit": "ویرایش", + "add": "اضافه", + "select-icon": "انتخاب نقشک" } \ No newline at end of file diff --git a/public/language/fa-IR/admin/advanced/cache.json b/public/language/fa-IR/admin/advanced/cache.json index b0aa10e284..498b0ea71e 100644 --- a/public/language/fa-IR/admin/advanced/cache.json +++ b/public/language/fa-IR/admin/advanced/cache.json @@ -1,10 +1,10 @@ { - "cache": "Cache", - "post-cache": "کش دیدگاه ", - "group-cache": "Group Cache", - "local-cache": "Local Cache", - "object-cache": "Object Cache", + "cache": "نهانگاه", + "post-cache": "نهانگاه دیدگاه ", + "group-cache": "نهانگاه گروه", + "local-cache": "نهانگاه محلی", + "object-cache": "شئ نهانگاه", "percent-full": "%1% تمام شده", - "post-cache-size": "سایز کش دیدگاه", - "items-in-cache": "موارد موجود در کش" + "post-cache-size": "اندازه نهانگاه فرسته", + "items-in-cache": "موارد موجود در نهانگاه" } \ No newline at end of file diff --git a/public/language/fa-IR/admin/advanced/database.json b/public/language/fa-IR/admin/advanced/database.json index 7d609b872c..da700c60ae 100644 --- a/public/language/fa-IR/admin/advanced/database.json +++ b/public/language/fa-IR/admin/advanced/database.json @@ -2,51 +2,51 @@ "x-b": "%1 b", "x-mb": "%1 mb", "x-gb": "%1 gb", - "uptime-seconds": "آپتایم در ثانیه", - "uptime-days": "آپتایم در روز", + "uptime-seconds": "زمان به‌کار در ثانیه", + "uptime-days": "زمان به‌کار در روز", "mongo": "MongoDB", - "mongo.version": "ورژن پایگاه داده مونگو دیبی", - "mongo.storage-engine": "سیستم ذخیره سازی", + "mongo.version": "نگارش پایگاه داده MongoDB", + "mongo.storage-engine": "سامانه ذخیره سازی", "mongo.collections": "مجموعه ها", "mongo.objects": "اشیا ", - "mongo.avg-object-size": "میانگین سایز اشیا", - "mongo.data-size": "سایز اطلاعات", + "mongo.avg-object-size": "میانگین اندازه اشیا", + "mongo.data-size": "انداره اطلاعات", "mongo.storage-size": "اندازه محل ذخیره سازی", "mongo.index-size": "اندازه شاخص", - "mongo.file-size": "اندازه فایل", + "mongo.file-size": "اندازه پرونده", "mongo.resident-memory": "حافظه مقیم", "mongo.virtual-memory": "حافظۀ مجازی", - "mongo.mapped-memory": "Mapped Memory", + "mongo.mapped-memory": "حافظه نقشه شده", "mongo.bytes-in": "بایت های ورودی", "mongo.bytes-out": "بایت های خروجی", "mongo.num-requests": "تعداد درخواست ها", - "mongo.raw-info": "اطلاعات پایه پایگاه داده مونگو دی بی", - "mongo.unauthorized": "NodeBB نتوانست پرس و جوی آماری را از مونگو دی بی دریافت کند لطفا مطمئن شوید کاربر که NodeBB به وسیله آن به مونگو دیبی متصل شده است مجوز clusterMonitor را برای مدیر داشته باشد", + "mongo.raw-info": "اطلاعات پایه پایگاه داده MongoDB", + "mongo.unauthorized": "NodeBB نتوانست پرس و جوی آماری را ازMongoDB دریافت کند. لطفا مطمئن شوید کاربری که NodeBB به وسیله آن به MongoDB متصل شده است مجوز clusterMonitor را برای مدیر داشته باشد.", - "redis": "ردیس", - "redis.version": "ورژن ردیس", + "redis": "Redis", + "redis.version": "نگارش Redis", "redis.keys": "کلید ها", "redis.expires": "انقضا", "redis.avg-ttl": "میانگین TTL", - "redis.connected-clients": "کلاینت های متصل شده", + "redis.connected-clients": "کارخواه های متصل شده", "redis.connected-slaves": "Connected Slaves", - "redis.blocked-clients": "Blocked Clients", - "redis.used-memory": "Used Memory", + "redis.blocked-clients": "کارخواه های مسدود شده", + "redis.used-memory": "حافظه‌ی درحال استفاده", "redis.memory-frag-ratio": "Memory Fragmentation Ratio", - "redis.total-connections-recieved": "Total Connections Received", - "redis.total-commands-processed": "Total Commands Processed", - "redis.iops": "Instantaneous Ops. Per Second", - "redis.iinput": "Instantaneous Input Per Second", - "redis.ioutput": "Instantaneous Output Per Second", - "redis.total-input": "Total Input", - "redis.total-output": "Total Ouput", + "redis.total-connections-recieved": "کل اتصالات دریافت شده", + "redis.total-commands-processed": "کل دستورات پردازش شده", + "redis.iops": "عملیات در ثانیه", + "redis.iinput": "ورودی در ثانیه", + "redis.ioutput": "خروجی در ثانیه", + "redis.total-input": "کل ورودی‌ها", + "redis.total-output": "کل خروجی‌ها", "redis.keyspace-hits": "Keyspace Hits", "redis.keyspace-misses": "Keyspace Misses", - "redis.raw-info": "Redis Raw Info", + "redis.raw-info": "اطلاعات خام Redis", - "postgres": "Postgres", - "postgres.version": "PostgreSQL Version", - "postgres.raw-info": "Postgres Raw Info" + "postgres": "PostgreSQL", + "postgres.version": "نگارش PostgreSQL", + "postgres.raw-info": "اطلاعات خام PostgreSQL" } diff --git a/public/language/fa-IR/admin/advanced/errors.json b/public/language/fa-IR/admin/advanced/errors.json index cd1e4793d8..54fa86fa3e 100644 --- a/public/language/fa-IR/admin/advanced/errors.json +++ b/public/language/fa-IR/admin/advanced/errors.json @@ -1,15 +1,15 @@ { - "errors": "Errors", + "errors": "خطاها", "figure-x": "Figure %1", - "error-events-per-day": "%1 events per day", - "error.404": "ارور 404 یافت نشد", - "error.503": "ارور 503 سرویس دردسترس نیست", - "manage-error-log": "مدیریت Error Log", - "export-error-log": "Export Error Log (CSV)", - "clear-error-log": "پاک کردن Error Log", + "error-events-per-day": "%1 رویداد ها در روز", + "error.404": "خطای 404 یافت نشد", + "error.503": "خطای 503 سرویس دردسترس نیست", + "manage-error-log": "مدیریت گذارش خطاها", + "export-error-log": "خروجی گرفتن از گذارش خطاها با قالب csv", + "clear-error-log": "پاک کردن گذارش خطاها", "route": "مسیر", "count": "شمارش", - "no-routes-not-found": "ایول! بدون ارور 404 !", - "clear404-confirm": "آیا از پاک کردن ارور های 404 اطمینان دارید؟", - "clear404-success": "ارور های 404 پاک شدند" + "no-routes-not-found": "ایول! بدون خطای 404!", + "clear404-confirm": "آیا از پاک کردن خطا های 404 اطمینان دارید؟", + "clear404-success": "\"خطای های 404\" پاک شدند" } \ No newline at end of file diff --git a/public/language/fa-IR/admin/advanced/events.json b/public/language/fa-IR/admin/advanced/events.json index f2488c1306..df1381ab28 100644 --- a/public/language/fa-IR/admin/advanced/events.json +++ b/public/language/fa-IR/admin/advanced/events.json @@ -2,16 +2,16 @@ "events": "رویداد ها", "no-events": "رویدادی موجود نیست", "control-panel": "کنترل پنل رویداد ها", - "delete-events": "Delete Events", - "confirm-delete-all-events": "Are you sure you want to delete all logged events?", - "filters": "Filters", - "filters-apply": "Apply Filters", - "filter-type": "Event Type", - "filter-start": "Start Date", - "filter-end": "End Date", - "filter-user": "Filter by User", - "filter-user.placeholder": "Type user name to filter...", - "filter-group": "Filter by Group", - "filter-group.placeholder": "Type group name to filter...", - "filter-per-page": "Per Page" + "delete-events": "حذف رویداد ها", + "confirm-delete-all-events": "آیا مطمئن هستید که می خواهید همه رویدادهای ثبت شده را حذف کنید؟", + "filters": "پالایه ها", + "filters-apply": "اعمال پالایه ها", + "filter-type": "نوع رویداد", + "filter-start": "زمان شروع", + "filter-end": "تاریخ پایان", + "filter-user": "پالایه کردن بر اساس کاربر", + "filter-user.placeholder": "نام کاربری را برای پالایه کردن کاربر بنویسید...", + "filter-group": "پالایه کردن بر اساس گروه", + "filter-group.placeholder": "نام گروه را برای پالایه کردن بنویسید...", + "filter-per-page": "در صفحه" } \ No newline at end of file diff --git a/public/language/fa-IR/admin/advanced/logs.json b/public/language/fa-IR/admin/advanced/logs.json index 37846be559..8fe83cc30d 100644 --- a/public/language/fa-IR/admin/advanced/logs.json +++ b/public/language/fa-IR/admin/advanced/logs.json @@ -1,6 +1,6 @@ { "logs": "گزارشات", - "control-panel": "کنترل پنل گزارشات", + "control-panel": "فرمانگاه گزارشات", "reload": "بارگزاری مجدد گزارش ها", "clear": "حذف گزارشات", "clear-success": "گزارش ها پاک شدند" diff --git a/public/language/fa-IR/admin/appearance/customise.json b/public/language/fa-IR/admin/appearance/customise.json index 4495400030..344ce38b45 100644 --- a/public/language/fa-IR/admin/appearance/customise.json +++ b/public/language/fa-IR/admin/appearance/customise.json @@ -1,20 +1,20 @@ { - "customise": "Customise", - "custom-css": "Custom CSS/SASS", - "custom-css.description": "Enter your own CSS/SASS declarations here, which will be applied after all other styles.", - "custom-css.enable": "Enable Custom CSS/SASS", + "customise": "سفارشی‌سازی", + "custom-css": "CSS/SASS سفارشی", + "custom-css.description": "اعلان‌های CSS/SASS خود را در اینجا وارد کنید، که بعد از همه‌ی استایل‌های دیگر اعمال خواهند شد.", + "custom-css.enable": "فعال‌سازی CSS/SASS سفارشی", "custom-js": "جائا اسکریپت سفارشی", - "custom-js.description": "کد های جاوا اسکریپت خود را در این قسمت وارد کنید بعد از لود شدن تمام صفحه اجرا خواهند شد", - "custom-js.enable": "به کارگیری جاوا اسکریپت سفارشی ", + "custom-js.description": "کد های جاوا اسکریپت خود را در این قسمت وارد کنید که بعد از بارگزاری تمام صفحه اجرا خواهند شد.", + "custom-js.enable": "به‌کارگیری جاوا اسکریپت سفارشی ", "custom-header": "هدر سفارشی", - "custom-header.description": "Enter custom HTML here (ex. Meta Tags, etc.), which will be appended to the <head> section of your forum's markup. Script tags are allowed, but are discouraged, as the Custom Javascript tab is available.", - "custom-header.enable": "Enable Custom Header", + "custom-header.description": "HTML سفارشی را در اینجا وارد کنید (مثلاً متا تگ ها و غیره)، که به <head> بخش نشانه گذاری انجمن شما برچسب‌های اسکریپت مجاز هستند، اما از آنجایی که برگه جاوا اسکریپت سفارشی در دسترس است، توصیه نمی‌شود.", + "custom-header.enable": "به‌کارگیری هدر سفارشی", - "custom-css.livereload": "Enable Live Reload", - "custom-css.livereload.description": "Enable this to force all sessions on every device under your account to refresh whenever you click save", + "custom-css.livereload": "به‌کارگیری بارگزاری مجدد زنده", + "custom-css.livereload.description": "این را فعال کنید تا هر زمان که روی ذخیره کلیک می‌کنید، تمام جلسات در هر دستگاهی که در حساب شما قرار دارد مجبور به باز‌آوری شوند", "bsvariables": "_variables.scss", - "bsvariables.description": "Override bootstrap variables here. You can also use a tool like bootstrap.build and paste the output here.
Changes require a rebuild & restart.", - "bsvariables.enable": "Enable _variables.scss" + "bsvariables.description": "در اینجا متغیرهای راه‌اندازی را لغو کنید. همچنین می توانید از ابزاری مانند bootstrap.build استفاده کنید و خروجی را در اینجا بچسبانید.
تغییرات نیاز به بازسازی و راه اندازی مجدد دارند.", + "bsvariables.enable": "به‌کارگیری _variables.scss" } \ No newline at end of file diff --git a/public/language/fa-IR/admin/appearance/skins.json b/public/language/fa-IR/admin/appearance/skins.json index c98482f27b..a9f7b40def 100644 --- a/public/language/fa-IR/admin/appearance/skins.json +++ b/public/language/fa-IR/admin/appearance/skins.json @@ -1,18 +1,18 @@ { - "skins": "Skins", + "skins": "پوسته‌ها", "bootswatch-skins": "Bootswatch Skins", - "custom-skins": "Custom Skins", - "add-skin": "Add Skin", - "save-custom-skins": "Save Custom Skins", - "save-custom-skins-success": "Custom skins saved successfully", - "custom-skin-name": "Custom Skin Name", - "custom-skin-variables": "Custom Skin Variables", - "loading": "Loading Skins...", - "homepage": "Homepage", - "select-skin": "Select Skin", - "revert-skin": "Revert Skin", - "current-skin": "Current Skin", - "skin-updated": "Skin Updated", - "applied-success": "%1 skin was succesfully applied", - "revert-success": "Skin reverted to base colours" + "custom-skins": "پوسته‌های سفارشی", + "add-skin": "افزودن پوسته", + "save-custom-skins": "ذخیره پوسته‌های سفارشی", + "save-custom-skins-success": "پوسته‌های سفارشی با موفقیت ذخیره شدند", + "custom-skin-name": "نام پوسته‌ی سفارشی", + "custom-skin-variables": "متغیرهای سفارشی پوسته", + "loading": "بارگزاری پوسته‌ها", + "homepage": "صفحه خانه", + "select-skin": "انتخاب پوسته", + "revert-skin": "بازگردانی پوسته", + "current-skin": "پوسته‌ی جاری", + "skin-updated": "پوسته‌های بروزشده", + "applied-success": "% 1 پوسته با موفقیت اعمال شد", + "revert-success": "پوسته به رنگ های پایه بارگردانی شد" } \ No newline at end of file diff --git a/public/language/fa-IR/admin/appearance/themes.json b/public/language/fa-IR/admin/appearance/themes.json index a6b65e46f3..4f2db7b657 100644 --- a/public/language/fa-IR/admin/appearance/themes.json +++ b/public/language/fa-IR/admin/appearance/themes.json @@ -1,13 +1,13 @@ { - "themes": "Themes", - "checking-for-installed": "Checking for installed themes...", - "homepage": "Homepage", - "select-theme": "Select Theme", - "revert-theme": "Revert Theme", - "current-theme": "Current Theme", - "no-themes": "No installed themes found", - "revert-confirm": "Are you sure you wish to restore the default NodeBB theme?", - "theme-changed": "Theme Changed", - "revert-success": "You have successfully reverted your NodeBB back to it's default theme.", - "restart-to-activate": "Please rebuild and restart your NodeBB to fully activate this theme." + "themes": "زمینه‌ها", + "checking-for-installed": "در حال بررسی ژمینه‌های نصب شده...", + "homepage": "صفحه‌ی خانه", + "select-theme": "گزینش زمینه", + "revert-theme": "بازگردانی زمینه", + "current-theme": "زمینه‌ی جاری", + "no-themes": "هیچ زمینه‌ی نصب شده ای یافت نشد", + "revert-confirm": "آیا مطمئن هستید که می خواهید زمینه‌ی پیش فرض NodeBB را بازیابی کنید؟", + "theme-changed": "زمینه تغییر کرد", + "revert-success": "NodeBB خود را با موفقیت به زمینه‌ی پیش فرض آن برگرداندید.", + "restart-to-activate": "لطفاً NodeBB خود را دوباره بسازید و مجدداً راه اندازی کنید تا این زمینه به طور کامل فعال شود." } \ No newline at end of file diff --git a/public/language/fa-IR/admin/dashboard.json b/public/language/fa-IR/admin/dashboard.json index e79db14d13..77ff6d56e8 100644 --- a/public/language/fa-IR/admin/dashboard.json +++ b/public/language/fa-IR/admin/dashboard.json @@ -1,43 +1,43 @@ { - "forum-traffic": "Forum Traffic", - "page-views": "Page Views", - "unique-visitors": "Unique Visitors", - "logins": "Logins", - "new-users": "New Users", - "posts": "Posts", + "forum-traffic": "شد‌‌آمد انجمن", + "page-views": "بازدید از صفحه", + "unique-visitors": "بازدیدکنندگان منحصر به فرد", + "logins": "ورودها", + "new-users": "کاربران جدید", + "posts": "فرسته‌ها", "topics": "موضوع‌ها", - "page-views-seven": "Last 7 Days", - "page-views-thirty": "Last 30 Days", - "page-views-last-day": "Last 24 hours", - "page-views-custom": "Custom Date Range", - "page-views-custom-start": "Range Start", - "page-views-custom-end": "Range End", - "page-views-custom-help": "Enter a date range of page views you would like to view. If no date picker is available, the accepted format is YYYY-MM-DD", - "page-views-custom-error": "Please enter a valid date range in the format YYYY-MM-DD", + "page-views-seven": "هفت روز آخر", + "page-views-thirty": "۳۰ روز آخر", + "page-views-last-day": "۲۴ ساعت آخر", + "page-views-custom": "محدوده‌ی تاریخ سفارشی", + "page-views-custom-start": "شروع محدوده", + "page-views-custom-end": "پایان محدوده", + "page-views-custom-help": "محدوده تاریخی از بازدیدهای صفحه را که می خواهید مشاهده کنید وارد کنید. اگر انتخابگر تاریخ در دسترس نباشد، قالب پذیرفته شده YYYY-MM-DD است", + "page-views-custom-error": "لطفاً یک محدوده تاریخی معتبر در قالب YYYY-MM-DD وارد کنید", - "stats.yesterday": "Yesterday", - "stats.today": "Today", - "stats.last-week": "Last Week", - "stats.this-week": "This Week", - "stats.last-month": "Last Month", - "stats.this-month": "This Month", - "stats.all": "همیشه", + "stats.yesterday": "دیروز", + "stats.today": "امروز", + "stats.last-week": "آخرین هفته", + "stats.this-week": "این هفته", + "stats.last-month": "آخرین ماه", + "stats.this-month": "این ماه", + "stats.all": "همه‌ی زمان‌ها", - "updates": "Updates", - "running-version": "You are running NodeBB v%1.", - "keep-updated": "Always make sure that your NodeBB is up to date for the latest security patches and bug fixes.", - "up-to-date": "You are up-to-date ", - "upgrade-available": "A new version (v%1) has been released. Consider upgrading your NodeBB.", - "prerelease-upgrade-available": "This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider upgrading your NodeBB.", - "prerelease-warning": "This is a pre-release version of NodeBB. Unintended bugs may occur. ", - "fallback-emailer-not-found": "Fallback emailer not found!", - "running-in-development": "Forum is running in development mode. The forum may be open to potential vulnerabilities; please contact your system administrator", - "latest-lookup-failed": "Failed to look up latest available version of NodeBB", + "updates": "بروزرسانی‌ها", + "running-version": "شما در حال اجراء NodeBB v 1% هستید.", + "keep-updated": "برای آخرین وصله های امنیتی و رفع باگ ها همیشه مطمئن شوید که NodeBB شما به روز است.", + "up-to-date": "شما بروز هستید", + "upgrade-available": "نسخه جدید (v%1) منتشر شده است. ارتقا NodeBB خود را در نظر بگیرید.", + "prerelease-upgrade-available": "این یک نسخه پیش از انتشار قدیمی NodeBB است. نسخه جدید (v%1) منتشر شده است. ارتقا NodeBB خود را در نظر بگیرید. ", + "prerelease-warning": "این یک نسخه پیش از انتشار NodeBB است. ممکن است اشکالات ناخواسته رخ دهد.", + "fallback-emailer-not-found": "ایمیل بازگشتی پیدا نشد!", + "running-in-development": "انجمن در حالت توسعه (development mode) در حال اجرا است. انجمن ممکن است برای اسیب پذیری های بالقوه باز باشد؛ لطفا با مدیر سیستم خود تماس بگیرید", + "latest-lookup-failed": "جستجو در اخرین نسخه موجود NodeBB شکست خورد", - "notices": "Notices", - "restart-not-required": "Restart not required", - "restart-required": "Restart required", - "search-plugin-installed": "Search Plugin installed", + "notices": "اطلاعیه ها", + "restart-not-required": "راه اندازی مجدد لازم نیست", + "restart-required": "راه‌اندازی مجدد لازم است", + "search-plugin-installed": "افزونه جستجو نصب شد", "search-plugin-not-installed": "Search Plugin not installed", "search-plugin-tooltip": "Install a search plugin from the plugin page in order to activate search functionality", @@ -74,28 +74,28 @@ "graphs.page-views": "Page Views", "graphs.page-views-registered": "Page Views Registered", "graphs.page-views-guest": "Page Views Guest", - "graphs.page-views-bot": "Page Views Bot", - "graphs.unique-visitors": "Unique Visitors", - "graphs.registered-users": "Registered Users", - "graphs.guest-users": "Guest Users", - "last-restarted-by": "Last restarted by", - "no-users-browsing": "No users browsing", + "graphs.page-views-bot": "ربات بازدید از صفحه", + "graphs.unique-visitors": "بازدیدکنندگان منحصر به فرد", + "graphs.registered-users": "کاربران ثبت نام شده", + "graphs.guest-users": "کاربران مهمان", + "last-restarted-by": "آخرین راه‌اندازی توسط", + "no-users-browsing": "هیچ کاربری در حال مرور نیست", - "back-to-dashboard": "Back to Dashboard", - "details.no-users": "No users have joined within the selected timeframe", - "details.no-topics": "No topics have been posted within the selected timeframe", - "details.no-searches": "No searches have been made within the selected timeframe", - "details.no-logins": "No logins have been recorded within the selected timeframe", - "details.logins-static": "NodeBB only saves session data for %1 days, and so this table below will only show the most recently active sessions", - "details.logins-login-time": "Login Time", - "start": "Start", - "end": "End", - "filter": "Filter", - "view-as-json": "View as JSON", + "back-to-dashboard": "بازگشت به پیش‌خوان", + "details.no-users": "هیچ کاربر جدیدی در بازه زمانی انتخابی عضو نشده است", + "details.no-topics": "هیچ موضوعی در بازه زمانی انتخاب شده ارسال نشده است", + "details.no-searches": "هیچ جستجویی در بازه زمانی انتخاب شده انجام نشده است", + "details.no-logins": "هیچ ورودی در بازه زمانی انتخاب شده ثبت نشده است", + "details.logins-static": "NodeBB فقط داده‌های جلسه را برای %1 روز ذخیره می‌کند، بنابراین این جدول زیر فقط آخرین جلسات فعال را نشان می‌دهد", + "details.logins-login-time": "زمان ورود", + "start": "شروع", + "end": "پایان", + "filter": "فیلتر کردن", + "view-as-json": "نمایش با JSON", "expand-analytics": "Expand analytics", - "clear-search-history": "Clear Search History", - "clear-search-history-confirm": "Are you sure you want to clear entire search history?", - "search-term": "Term", - "search-count": "Count", - "view-all": "View all" + "clear-search-history": "پاک کردن تاریخچه‌ی جستوجو", + "clear-search-history-confirm": "آیا مطمئن هستید که می خواهید کل سابقه جستجو را پاک کنید؟", + "search-term": "مدت", + "search-count": "تعداد", + "view-all": "نمایش همه" } diff --git a/public/language/fa-IR/admin/development/info.json b/public/language/fa-IR/admin/development/info.json index 11202d9c3a..9834719daf 100644 --- a/public/language/fa-IR/admin/development/info.json +++ b/public/language/fa-IR/admin/development/info.json @@ -3,7 +3,7 @@ "ip": "IP %1", "nodes-responded": "%1 nodes responded within %2ms!", "host": "host", - "primary": "primary / run jobs", + "primary": "primary / jobs", "pid": "pid", "nodejs": "nodejs", "online": "online", @@ -19,6 +19,7 @@ "registered": "Registered", "sockets": "Sockets", + "connection-count": "Connection Count", "guests": "Guests", "info": "Info" diff --git a/public/language/fa-IR/admin/extend/widgets.json b/public/language/fa-IR/admin/extend/widgets.json index 5d2832feed..db72f2feb3 100644 --- a/public/language/fa-IR/admin/extend/widgets.json +++ b/public/language/fa-IR/admin/extend/widgets.json @@ -12,6 +12,8 @@ "container.card": "Card", "container.card-header": "Card Header", "container.card-body": "Card Body", + "container.title": "Title", + "container.body": "Body", "container.alert": "Alert", "alert.confirm-delete": "Are you sure you wish to delete this widget?", diff --git a/public/language/fa-IR/admin/settings/reputation.json b/public/language/fa-IR/admin/settings/reputation.json index 7e6aabd62d..b0f1df3986 100644 --- a/public/language/fa-IR/admin/settings/reputation.json +++ b/public/language/fa-IR/admin/settings/reputation.json @@ -2,7 +2,14 @@ "reputation": "Reputation Settings", "disable": "Disable Reputation System", "disable-down-voting": "Disable Down Voting", - "votes-are-public": "All Votes Are Public", + "upvote-visibility": "Up Vote visibility", + "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", "min-rep-upvote": "Minimum reputation to upvote posts", "upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)", diff --git a/public/language/fa-IR/category.json b/public/language/fa-IR/category.json index e6d045ecb1..78734b05d5 100644 --- a/public/language/fa-IR/category.json +++ b/public/language/fa-IR/category.json @@ -1,26 +1,26 @@ { "category": "دسته‌بندی", "subcategories": "زیر دسته‌بندی‌", - "new-topic-button": "موضوع تازه", + "new-topic-button": "تاپیک جدید", "guest-login-post": "برای ارسال پست وارد شوید", - "no-topics": "هیچ پستی در این دسته‌بندی نیست.
چرا شما یکی نمی‌فرستید؟", + "no-topics": "هیچ تاپیکی در این دسته‌بندی نیست.
چرا شما یکی نمی‌فرستید؟", "browsing": "بیننده‌ها", "no-replies": "هیچ کسی پاسخ نداده است.", "no-new-posts": "هیچ پست جدیدی وجود ندارد.", "watch": "پیگیری", "ignore": "نادیده گرفتن", "watching": "درحال پیگیری", - "tracking": "Tracking", - "not-watching": "درحال پیگیری نیستید", + "tracking": "پیگیری کردن", + "not-watching": "مشاهده نکردن", "ignoring": "در حال نادیده گرفتن", - "watching.description": "Notify me of new topics.
Show topics in unread & recent", - "tracking.description": "Shows topics in unread & recent", - "not-watching.description": "موضوع ها را در بخش نخوانده ها نمایش نده و در بخش تازه ها نشان بده", - "ignoring.description": "Do not show topics in unread & recent", - "watching.message": "اکنون شما به‌روزرسانی‌های این دسته و تمام زیر دسته‌هایش را پیگیری می‌کنید", - "tracking.message": "You are now tracking updates from this category and all subcategories", - "notwatching.message": "اکنون شما به‌روزرسانی‌های این دسته و همه‌ی زیر دسته‌هایش را پیگیری نمی کنید", - "ignoring.message": "اکنون شما به‌روزرسانی‌های این دسته و همه‌ی زیر دسته‌هایش را نادیده گرفته‌اید", + "watching.description": "موضوعات جدید را به من اطلاع بده.
موضوعات خوانده نشده و اخیر را نشان بده", + "tracking.description": "موضوعات خوانده نشده و اخیر را نشان می دهد", + "not-watching.description": "موضوع ها را در بخش نخوانده ها نمایش نده و در بخش اخیر نشان بده", + "ignoring.description": "موضوعات خوانده نشده و اخیر نشان داده نشود", + "watching.message": "اکنون شما به‌روزرسانی‌های این دسته‌بندی و تمام زیر دسته‌بندی‌هایش را مشاهده می‌کنید", + "tracking.message": "اکنون به‌روزرسانی‌های این دستهبندی و همه زیر دسته‌بندی هایش را دنبال می‌کنید", + "notwatching.message": "اکنون شما به‌روزرسانی‌های این دسته بندی و همه‌ی زیر دسته بندی‌هایش را پیگیری نمی کنید", + "ignoring.message": "اکنون شما به‌روزرسانی‌های این دسته‌بندی و همه‌ی زیر دسته‌بندی‌هایش را نادیده گرفته‌اید", "watched-categories": "دسته بندی های پیگیری شده", - "x-more-categories": "1% دسته‌های بیشتر" + "x-more-categories": "1% دسته‌بندی‌های بیشتر" } \ No newline at end of file diff --git a/public/language/fa-IR/error.json b/public/language/fa-IR/error.json index a5f9e4cd17..3034e90088 100644 --- a/public/language/fa-IR/error.json +++ b/public/language/fa-IR/error.json @@ -153,6 +153,7 @@ "about-me-too-long": "با عرض پوزش محتوای 'درباره ی من' نمی تواند طولانی تر از %1 کاراکتر باشد", "cant-chat-with-yourself": "شما نمی‌توانید با خودتان چت کنید!", "chat-restricted": "این کاربر پیام های چتی خود را محدود کرده است . آنها بایدشما را دنبال کنند تا اینکه شما بتوانید به آنها پیامی بفرستید", + "chat-user-blocked": "You have been blocked by this user.", "chat-disabled": "سیستم گفتمان غیرفعال شده است", "too-many-messages": "شما پیامهای خیلی زیادی فرستاده اید، لطفا مدتی صبر نمایید", "invalid-chat-message": "پیام نامعتبر", diff --git a/public/language/fa-IR/global.json b/public/language/fa-IR/global.json index 4f66147d00..a7f7af2514 100644 --- a/public/language/fa-IR/global.json +++ b/public/language/fa-IR/global.json @@ -24,14 +24,14 @@ "cancel": "Cancel", "close": "بستن", "pagination": "صفحه‌بندی", - "pagination.previouspage": "Previous Page", - "pagination.nextpage": "Next Page", - "pagination.firstpage": "First Page", - "pagination.lastpage": "Last Page", + "pagination.previouspage": "صفحه قبل", + "pagination.nextpage": "صفحه بعد", + "pagination.firstpage": "اولین صفحه", + "pagination.lastpage": "آخرین صفحه", "pagination.out-of": "%1 از %2", "pagination.enter-index": "Go to post index", - "pagination.go-to-page": "Go to page", - "pagination.page-x": "Page %1", + "pagination.go-to-page": "رفتن به صفحه", + "pagination.page-x": "صفحه %1", "header.brand-logo": "Brand Logo", "header.admin": "مدیر", "header.categories": "دسته‌بندی‌ها", @@ -140,7 +140,7 @@ "edited": "Edited", "disabled": "Disabled", "select": "انتخاب", - "selected": "Selected", + "selected": "انتخاب شده", "copied": "Copied", "user-search-prompt": "برای پیدا کردن کاربر اینجا چیزی بنویسید...", "hidden": "Hidden", diff --git a/public/language/fa-IR/login.json b/public/language/fa-IR/login.json index 750e6ac7fd..0398fe9644 100644 --- a/public/language/fa-IR/login.json +++ b/public/language/fa-IR/login.json @@ -3,7 +3,7 @@ "username": "نام کاربری", "remember-me": "مرا به یاد بسپار؟", "forgot-password": "رمز عبور را فراموش کرده‌اید؟", - "alternative-logins": "روش‌های ثبت نام جایگزین", + "alternative-logins": "روش‌های ثبت‌نام جایگزین", "failed-login-attempt": "ورود ناموفق", "login-successful": "شما با موفقیت وارد شده‌اید!", "dont-have-account": "حساب کاربری ندارید؟", diff --git a/public/language/fa-IR/modules.json b/public/language/fa-IR/modules.json index 0086b8f2f0..8f1097ea51 100644 --- a/public/language/fa-IR/modules.json +++ b/public/language/fa-IR/modules.json @@ -1,8 +1,9 @@ { - "chat.room-id": "Room %1", - "chat.chatting-with": "چت با", - "chat.placeholder": "پیام چت را اینجا بنویس، عکس‌ها را اینجا درگ و دراپ کن، برای ارسال دکمه Enter را بزن", - "chat.placeholder.mobile": "پیام چت را اینجا بنویس", + "chat.room-id": "اتاق %1", + "chat.chatting-with": "گفتوگو با", + "chat.placeholder": "Type chat message here, drag & drop images", + "chat.placeholder.mobile": "Type chat message", + "chat.placeholder.message-room": "Message #%1", "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "چت با %1", diff --git a/public/language/fa-IR/notifications.json b/public/language/fa-IR/notifications.json index 012fd6cbd2..e8c11be9b5 100644 --- a/public/language/fa-IR/notifications.json +++ b/public/language/fa-IR/notifications.json @@ -12,15 +12,15 @@ "you-have-unread-notifications": "شما آگاه‌سازی‌‌های نخوانده دارید.", "all": "همه", "topics": "موضوع ها", - "tags": "Tags", - "categories": "Categories", + "tags": "برچسب ها", + "categories": "دسته بندی ها", "replies": "پاسخ ها", "chat": "گفتگو ها", "group-chat": "چت‌های گروهی", - "public-chat": "Public Chats", + "public-chat": "چت های عمومی", "follows": "دنبال کننده ها", "upvote": "رای های مثبت", - "awards": "Awards", + "awards": "اعلان ها", "new-flags": "گزارش های جدید", "my-flags": "گزارش های اختصاص یافته به من", "bans": "اخراجی ها", @@ -34,8 +34,8 @@ "user-posted-in-public-room-multiple": "%1, %2 and %3 others wrote in %5", "upvoted-your-post-in": "%1 امتیاز مثبت به پست شما در %2 داده", "upvoted-your-post-in-dual": "%1 و %2 رای مثبت به پست شما در\n %3.", - "upvoted-your-post-in-triple": "%1, %2 and %3 have upvoted your post in %4.", - "upvoted-your-post-in-multiple": "%1, %2 and %3 others have upvoted your post in %4.", + "upvoted-your-post-in-triple": "%1, 2% و %3 به پست شما در %4 امتیاز مثبت دادن", + "upvoted-your-post-in-multiple": "%1, 2% و %3 به پست شما در %4 امتیاز مثبت دادن", "moved-your-post": "%1 پست شما را به %2 انتقال داده است", "moved-your-topic": "%2 %1 را منتقل کرده است", "user-flagged-post-in": "%1 پستی را در %2 گزارش کرده", @@ -47,16 +47,16 @@ "user-flagged-user-triple": "%1, %2 and %3 flagged a user profile (%4)", "user-flagged-user-multiple": "%1, %2 and %3 others flagged a user profile (%4)", "user-posted-to": "پاسخ دادن به %2 از سوی %1", - "user-posted-to-dual": "%1 و %2 پاسخ به پست دادند در: %3", - "user-posted-to-triple": "%1, %2 and %3 have posted replies to: %4", - "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", + "user-posted-to-dual": "%1 و %2 پاسخی در: %3 ارسال کردند", + "user-posted-to-triple": "%1, 2% و %3 پاسخی در %4 ارسال کردن", + "user-posted-to-multiple": "%1, 2% , 3% دیگر پاسخی در %4 ارسال کردند", "user-posted-topic": "%1 یک موضوع جدید ارسال کرده: %2", "user-edited-post": "%1 پستی را در %2 ویرایش کرد", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", - "user-posted-topic-in-category": "%1 has posted a new topic in %2", + "user-posted-topic-with-tag": "1% ارسال کرده است 2% ( تگ کرده %3)", + "user-posted-topic-with-tag-dual": "1% ارسال کرده است 2% ( تگ کرده %3 و %4 )", + "user-posted-topic-with-tag-triple": "1% ارسال کرده است 2% ( تگ کرده %3, %4 و %5)", + "user-posted-topic-with-tag-multiple": "1% ارسال کرده است 2% ( تگ کرده %3)", + "user-posted-topic-in-category": "%1 یک موضوع جدید در %2 ارسال کرده", "user-started-following-you": "%1 شروع به دنبال کردن شما کرده", "user-started-following-you-dual": "%1 و %2 شروع به دنبال کردن شما کرده.", "user-started-following-you-triple": "%1, %2 and %3 started following you.", @@ -75,6 +75,7 @@ "email-confirmed": "ایمیل تایید شد", "email-confirmed-message": "بابت تایید ایمیلتان سپاس‌گزاریم. حساب کاربری شما اکنون به صورت کامل فعال شده است.", "email-confirm-error-message": "خطایی در تایید آدرس ایمیل شما پیش آمده است. ممکن است کد نا‌معتبر و یا منقضی شده باشد.", + "email-confirm-error-message-already-validated": "آدرس ایمیل شما قبلا تایید شده است", "email-confirm-sent": "ایمیل تایید ارسال شد.", "none": "هیچکدام", "notification-only": "فقط اعلان", @@ -83,7 +84,7 @@ "notificationType-upvote": "هنگامی که شخصی به پست شما رای مثبت می دهد", "notificationType-new-topic": "هنگامی که شخصی که شما دنبال می کنید موضوعی ایجاد نماید", "notificationType-new-topic-with-tag": "When a topic is posted with a tag you follow", - "notificationType-new-topic-in-category": "When a topic is posted in a category you are watching", + "notificationType-new-topic-in-category": "هنگامی که پاسخ جدید در موضوعی که شما پیگیری می کنید فرستاده می شود", "notificationType-new-reply": "هنگامی که پاسخ جدید در موضوعی که شما پیگیری می کنید فرستاده می شود", "notificationType-post-edit": "وقتی در موضوعی که شما پیگیری می کنید پستی ویرایش می شود", "notificationType-follow": "هنگامی که کسی شما را دنبال می کند", @@ -97,5 +98,5 @@ "notificationType-post-queue": "هنگامی که پست جدیدی در صف قرار می گیرد", "notificationType-new-post-flag": "هنگامی که پستی گزارش می شود", "notificationType-new-user-flag": "هنگامی که کاربری گزارش می شود", - "notificationType-new-reward": "When you earn a new reward" + "notificationType-new-reward": "هنگامی که شما جایزه جدیدی کسب می کنید" } \ No newline at end of file diff --git a/public/language/fa-IR/pages.json b/public/language/fa-IR/pages.json index 6f2548861a..6956f92dfb 100644 --- a/public/language/fa-IR/pages.json +++ b/public/language/fa-IR/pages.json @@ -54,6 +54,7 @@ "account/settings-of": "تغییر تنظیمات از %1", "account/watched": "موضوع های دیده شده توسط \"%1\"", "account/ignored": "موضوع های نادیده گرفته شده توسط %1", + "account/read": "Topics read by %1", "account/upvoted": "رای مثبت داده شده به پست ها توسط %1", "account/downvoted": "رای منفی داده شده به پست ها توسط %1", "account/best": "بهترین پست های %1", diff --git a/public/language/fa-IR/post-queue.json b/public/language/fa-IR/post-queue.json index b8c434f0ce..3ce2cdd30c 100644 --- a/public/language/fa-IR/post-queue.json +++ b/public/language/fa-IR/post-queue.json @@ -38,5 +38,6 @@ "remove-selected": "Remove Selected", "remove-selected-confirm": "Do you want to remove %1 selected posts?", "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" } \ No newline at end of file diff --git a/public/language/fa-IR/recent.json b/public/language/fa-IR/recent.json index dcf34eb8bd..412d0c4ccc 100644 --- a/public/language/fa-IR/recent.json +++ b/public/language/fa-IR/recent.json @@ -7,5 +7,5 @@ "alltime": "همه زمانها", "no-recent-topics": "هیچ موضوع تازه‌ای نیست.", "no-popular-topics": "هیچ موضوع پربازدیدی وجود ندارد", - "load-new-posts": "بارگذاری پست‌های جدید" + "load-new-posts": "بارگذاری پست های جدید" } \ No newline at end of file diff --git a/public/language/fa-IR/themes/harmony.json b/public/language/fa-IR/themes/harmony.json index 25f58407d6..4f0b0e7e95 100644 --- a/public/language/fa-IR/themes/harmony.json +++ b/public/language/fa-IR/themes/harmony.json @@ -7,7 +7,8 @@ "login-register-to-search": "برای جستجو وارد شوید و یا ثبت نام کنید ", "settings.title": "تنظیمات تم ", "settings.enableQuickReply": "پاسخ سریع را فعال کنید", - "settings.enableBreadcrumbs": "Enable breadcrumbs", + "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": "وسط چین کردن عناصر هدر ", "settings.mobileTopicTeasers": "نمایش تیزرهای تاپیک در گوشی", "settings.stickyToolbar": "نوار ابزار چسبیده ", diff --git a/public/language/fa-IR/topic.json b/public/language/fa-IR/topic.json index 8d2d8fe1f7..d16424c231 100644 --- a/public/language/fa-IR/topic.json +++ b/public/language/fa-IR/topic.json @@ -12,17 +12,17 @@ "notify-me": "از پاسخ‌های تازه در موضوع آگاه شوید", "quote": "نقل قول", "reply": "پاسخ", - "replies-to-this-post": "1% پاسخ", + "replies-to-this-post": "%1 پاسخ", "one-reply-to-this-post": "1 پاسخ", "last-reply-time": "آخرین پاسخ", - "reply-options": "Reply options", + "reply-options": "ابزارهای پاسخ", "reply-as-topic": "پاسخ به عنوان موضوع", "guest-login-reply": "وارد شوید تا پست بفرستید", "login-to-view": "🔒 برای مشاهده وارد شوید", "edit": "ویرایش", "delete": "حذف", "delete-event": "پاک کردن ایونت", - "delete-event-confirm": "آیا شما مطمئن هستید که می خواهید این رویداد را پاک کنید؟", + "delete-event-confirm": "آیا شما مطمئن هستید که می خواهید این رویداد را حذف کنید؟", "purge": "پاک کردن", "restore": "برگرداندن", "move": "جابه‌جا کردن", @@ -35,7 +35,7 @@ "pinned": "سنجاق شده", "pinned-with-expiry": "سنجاق‌شده تا %1", "scheduled": "زمان بندی شده", - "deleted": "Deleted", + "deleted": "حذف شده", "moved": "منتقل شده", "moved-from": "جابه‌جا شده از %1", "copy-code": "کپی کردن کد", @@ -182,8 +182,8 @@ "sort-by": "مرتب‌سازی بر اساس", "oldest-to-newest": "قدیمی‌ترین به جدید‌ترین", "newest-to-oldest": "جدید‌ترین به قدیمی‌ترین", - "recently-replied": "Recently Replied", - "recently-created": "Recently Created", + "recently-replied": "اخیرا پاسخ داده شده", + "recently-created": "اخیرا ایجاد شده", "most-votes": "بیشترین رای ها", "most-posts": "بیشترین پست", "most-views": "بیشترین بازدید‌ها", @@ -212,9 +212,9 @@ "post-quick-reply": "پاسخ سریع", "navigator.index": "پست %1 از %2", "navigator.unread": "%1 خوانده نشده", - "upvote-post": "Upvote post", - "downvote-post": "Downvote post", - "post-tools": "Post tools", - "unread-posts-link": "Unread posts link", + "upvote-post": "رای مثبت دادن به پست", + "downvote-post": "رای منفی دادن به پست", + "post-tools": "ابزارهای پست", + "unread-posts-link": "پست های خوانده نشده پیوند", "thumb-image": "Topic thumbnail image" } \ No newline at end of file diff --git a/public/language/fa-IR/unread.json b/public/language/fa-IR/unread.json index c457a7eb61..4c2c56e4f2 100644 --- a/public/language/fa-IR/unread.json +++ b/public/language/fa-IR/unread.json @@ -1,16 +1,16 @@ { "title": "نخوانده‌ها", - "no-unread-topics": "جستار خوانده نشده‌ای وجود ندارد.", + "no-unread-topics": "موضوعات خوانده نشده‌ای وجود ندارد.", "load-more": "بارگذاری بیش‌تر", - "mark-as-read": "خوانده شده بگیر", - "mark-as-unread": "Mark as Unread", - "selected": "برگزیده", + "mark-as-read": "علامت زدن به عنوان خوانده شده", + "mark-as-unread": "علامت زدن به‌ عنوان نخوانده شده", + "selected": "انتخاب شده", "all": "همه", - "all-categories": "تمام دسته ها", + "all-categories": "تمام دسته‌بندی‌ها", "topics-marked-as-read.success": "همه موضوع ها خوانده شدند", "all-topics": "همه موضوع ها", "new-topics": "موضوع های جدید", - "watched-topics": "موضوع های پیگیری شده", + "watched-topics": "موضوع های تماشا شده", "unreplied-topics": "موضوع های بدون پاسخ", "multiple-categories-selected": "انتخاب چندگانه" } \ No newline at end of file diff --git a/public/language/fa-IR/uploads.json b/public/language/fa-IR/uploads.json index 9b22c754b9..b17922ff80 100644 --- a/public/language/fa-IR/uploads.json +++ b/public/language/fa-IR/uploads.json @@ -3,7 +3,7 @@ "select-file-to-upload": "فایل مورد نظر را برای بارگذاری انتخاب کنید!", "upload-success": "فایل با موفقیت بارگذاری شد!", "maximum-file-size": "حداکثر %1 کیلوبایت", - "no-uploads-found": "No uploads found", - "public-uploads-info": "آپلود ها عمومی هستند، همه کاربران می توانند آن ها را ببینند.", - "private-uploads-info": "Uploads are private, only logged in users can see them." + "no-uploads-found": "هیچ بارگزاری یافت نشد", + "public-uploads-info": "بارگزاری‌ها عمومی هستند، همه کاربران می توانند آن ها را ببینند.", + "private-uploads-info": "براگزاری‌ها خصوصی هستند، فقط کاربرانی که وارد شده اند می توانند آنها را ببینند." } \ No newline at end of file diff --git a/public/language/fa-IR/user.json b/public/language/fa-IR/user.json index a55866ce70..0d591b247f 100644 --- a/public/language/fa-IR/user.json +++ b/public/language/fa-IR/user.json @@ -1,48 +1,49 @@ { - "user-menu": "User menu", + "user-menu": "فهرست کاربری", "banned": "اخراج شده", - "unbanned": "Unbanned", - "muted": "Muted", - "unmuted": "Unmuted", + "unbanned": "رفع مسدود شده", + "muted": "ساکت شده", + "unmuted": "باصدا شده", "offline": "آفلاین", "deleted": "حذف شده", "username": "نام کاربری", "joindate": "تاریخ عضویت", "postcount": "تعداد پست‌ها", "email": "رایانامه", - "confirm-email": "تأیید ایمیل", - "account-info": "اطلاعات شناسه کاربری", + "confirm-email": "تأیید رایانامه", + "account-info": "اطلاعات حساب کاربری", "admin-actions-label": "اقدامات مدیریتی", - "ban-account": "اخراج کاربر", + "ban-account": "مسدود کردن کاربر", "ban-account-confirm": "از مسدود کردن این کاربر اطمینان دارید؟", "unban-account": "آزاد کردن حساب کاربری", - "mute-account": "Mute Account", - "unmute-account": "Unmute Account", - "delete-account": "حذف حساب کاربری", - "delete-account-as-admin": "Delete Account", - "delete-content": "Delete Account Content", - "delete-all": "Delete Account and Content", - "delete-account-confirm": "Are you sure you want to anonymize your posts and delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your password to confirm that you wish to destroy this account.", - "delete-this-account-confirm": "Are you sure you want to delete this account while leaving its contents behind?
This action is irreversible, posts will be anonymized, and you will not be able to restore post associations with the deleted account

", - "delete-account-content-confirm": "Are you sure you want to delete this account's content (posts/topics/uploads)?
This action is irreversible and you will not be able to recover any data

", - "delete-all-confirm": "Are you sure you want to delete this account and all of its content (posts/topics/uploads)?
This action is irreversible and you will not be able to recover any data

", - "account-deleted": "حساب کاربری پاک شد", - "account-content-deleted": "Account content deleted", + "mute-account": "ساکت کردن حساب کاربری", + "unmute-account": "با‌صدا کردن حساب کاربری", + "delete-account": "حذف کردن حساب کاربری", + "delete-account-as-admin": "حذف حساب کاربری", + "delete-content": "حذف محتویات (فرسته‌ها/موضوعات/بارگزاری‌ها) حساب کاربری", + "delete-all": "حذف حساب کاربری و محتویات آن (فرسته‌ها/موضوعات/بارگزاری‌ها)", + "delete-account-confirm": "آیا مطمئن هستید که می خواهید فرسته های خود را ناشناس کنید و حساب خود را حذف کنید؟
این عمل غیر قابل برگشت است و نمی توانید هیچ یک از داده های خود را بازیابی کنید.

رمز عبور خود را وارد کنید تا تأیید کنید که می خواهید این حساب را از بین ببرید.", + "delete-this-account-confirm": "آیا مطمئن هستید که می‌خواهید این حساب را در حالی که محتویات آن را پشت سر گذاشته‌اید حذف کنید؟
این عمل غیرقابل برگشت است، پست‌ها ناشناس می‌شوند و نمی‌توانید ارتباط فرسته‌ها را با حساب حذف شده بازیابی کنید.

", + "delete-account-content-confirm": "آیا مطمئن هستید که می خواهید محتوای این حساب (فرسته‌ها/موضوعات/بارگزاری‌ها) را حذف کنید؟
این عمل غیر قابل برگشت است و شما نمی توانید هیچ داده ای را بازیابی کنید

", + "delete-all-confirm": "آیا مطمئنید که می‌خواهید این حساب و تمام محتوای آن (فرسته‌ها/موضوعات/براگزاری‌ها) را حذف کنید؟
این عمل غیر قابل برگشت است و شما نمی توانید هیچ داده ای را بازیابی کنید

", + "account-deleted": "حساب کاربریِ پاک شده", + "account-content-deleted": "محتویات حساب کاربری پاک شده", "fullname": "نام و نام‌ خانوادگی", "website": "تارنما", "location": "محل سکونت", "age": "سن", "joined": "عضو شده", "lastonline": "آخرین حضور", - "profile": "پروفایل", - "profile-views": "بازدیدهای نمایه", + "profile": "نمایه", + "profile-views": "دفعات بازدید از نمایه", "reputation": "اعتبار", "bookmarks": "نشانک‌ها", "watched-categories": "دسته بندی های پیگیری شده", - "watched-tags": "Watched tags", + "watched-tags": "برچسب های پیگیری شده", "change-all": "تغییر همه", "watched": "موضوع های پیگیری شده", "ignored": "نادیده گرفته شده", + "read": "Read", "default-category-watch-state": "حالت پیشفرض مشاهده دسته بندی", "followers": "دنبال‌کننده‌ها", "following": "دنبال‌شونده‌ها", @@ -51,37 +52,38 @@ "block-toggle": "مسدود کردن", "block-user": "مسدود کردن کاربر", "unblock-user": "رفع مسدودی کاربر", - "aboutme": "درباره ی من", + "aboutme": "درباره‌ی من", "signature": "امضا", "birthday": "روز تولد", "chat": "چت", - "chat-with": "ادامه چت با %1", - "new-chat-with": "شروع چت جدید با %1", - "flag-profile": "گزارش پروفایل", - "follow": "دنبال کن", - "unfollow": "دنبال نکن", + "chat-with": "ادامه گفتوگو با %1", + "new-chat-with": "شروع گفت‏وگو‌ی جدید با %1", + "flag-profile": "پرچم کردن نمایه", + "follow": "دنبال کردن", + "unfollow": "دنبال نکردن", "more": "بیشتر", - "profile-update-success": "پروفایل باموفقیت به روز شده است!", + "profile-update-success": "نمایه با موفقیت به روز شده است!", "change-picture": "تغییر تصویر", "change-username": "تغییر نام کاربری", - "change-email": "تغییر ایمیل", - "email-updated": "Email Updated", - "email-same-as-password": "Please enter your current password to continue – you've entered your new email again", + "change-email": "تغیر نشانی رایانامه", + "email-updated": "رایانامه بروز شده", + "email-same-as-password": "لطفا رمز عبور فعلی خود را برای ادامه وارد کنید – شما دوباره نشانی رایانامه جدید خود را وارد کرده اید", "edit": "ویرایش", - "edit-profile": "ویرایش پروفایل", - "default-picture": "آیکون پیش فرض", + "edit-profile": "ویرایش نمایه", + "default-picture": "نقشک پیش فرض", "uploaded-picture": "تصویر بارشده", "upload-new-picture": "بارگذاری تصویر تازه", "upload-new-picture-from-url": "بارگذاری تصویر جدید از نشانی وب", - "current-password": "کلمه عبور کنونی", - "new-password": "New Password", - "change-password": "تغیر کلمه عبور", - "change-password-error": "کلمه عبور نامعتبر!", - "change-password-error-wrong-current": "این کلمه عبورٔ شما نادرست است.", - "change-password-error-match": "کلمه عبور‌ها باید یکسان باشند.", - "change-password-error-privileges": "شما اجازه تغییر این کلمه عبور را ندارید.", - "change-password-success": "کلمه عبور‌تان تازه شد.", - "confirm-password": "تکرار کلمه عبور", + "current-password": "گذرواژه کنونی", + "new-password": "گذرواژه جدید", + "change-password": "تغییر گذرواژه", + "change-password-error": "گذرواژه اشتباه است!", + "change-password-error-wrong-current": "گذرواژه شما نادرست است.", + "change-password-error-same-password": "Your new password matches your current password, please use a new password.", + "change-password-error-match": "گذارواژه ها باید یکسان باشند.", + "change-password-error-privileges": "شما اجازه تغییر این گذرواژه را ندارید.", + "change-password-success": "گذرواژهتان بروز شد.", + "confirm-password": "تکرار گذرواژه", "password": "گذرواژه", "username-taken-workaround": "نام کاربری که درخواست کردید قبلاً گرفته شده است، بنابراین ما آن را تغییر داده ایم. شما هم‌اکنون با نام %1 شناخته می‌شوید.", "password-same-as-username": "کلمه ی عبور شما با نام کاربری شما یکسان می باشند ، لطفا کلمه ی عبور دیگری را انتخاب کنید", @@ -94,9 +96,9 @@ "remove-cover-picture-confirm": "آیا شما مطمئنید که می خواهید عکس کاور را حذف کنید؟", "crop-picture": "برش عکس", "upload-cropped-picture": "برش و بارگذاری", - "avatar-background-colour": "Avatar background colour", + "avatar-background-colour": "رنگ پس زمینه چهرک", "settings": "تنظیمات", - "show-email": "نمایش ایمیل‌های من", + "show-email": "نمایش نشانی رایانامه من", "show-fullname": "نمایش نام کامل من (نام و نام خانوادگی)", "restrict-chats": "فقط از کاربرانی که دنبال می کنم پیام خصوصی دریافت کنم", "digest-label": "مشترک شدن در چکیده", @@ -104,32 +106,33 @@ "digest-off": "خاموش", "digest-daily": "روزانه", "digest-weekly": "هفتگی", - "digest-biweekly": "Bi-Weekly", + "digest-biweekly": "دو هفته‌ای", "digest-monthly": "ماهانه", "has-no-follower": "این کاربر هیچ دنبال‌کننده‌ای ندارد :(", "follows-no-one": "این کاربر هیچ کسی را دنبال نمی‌کند :(", "has-no-posts": "این کاربر تا به حال هیچ چیزی ارسال نکرده است.", - "has-no-best-posts": "This user does not have any upvoted posts yet.", - "has-no-topics": "این کاربر تا به حال هیچ موضوعی ارسال نکرده است", - "has-no-watched-topics": "این کاربر تا به حال هیچ موضوعی را پیگیری نکرده است", - "has-no-ignored-topics": "این کاربر هیچ موضوعی را نادیده نگرفته است", - "has-no-upvoted-posts": "این کاربر به هیچ پستی امتیاز نداده است.", - "has-no-downvoted-posts": "این کاربر به هیچ پستی رای منفی نداده است.", - "has-no-controversial-posts": "This user does not have any downvoted posts yet.", + "has-no-best-posts": "این کاربر هنوز هیچ فرسته‌ای با رای مثبت ندارد.", + "has-no-topics": "این کاربر تا به حال هیچ موضوعی ارسال نکرده است.", + "has-no-watched-topics": "این کاربر تا به حال هیچ موضوعی را پیگیری نکرده است.", + "has-no-ignored-topics": "این کاربر هیچ موضوعی را نادیده نگرفته است.", + "has-no-read-topics": "This user hasn't read any topics yet.", + "has-no-upvoted-posts": "این کاربر به هیچ فرسته‌ رای مثبت نداده است.", + "has-no-downvoted-posts": "این کاربر به هیچ فرسته‌ای رای منفی نداده است.", + "has-no-controversial-posts": "این کاربر هنوز هیچ فرسته‌ای با رای منفی ندارد.", "has-no-blocks": "شما هیچ کاربر مسدود شده ای ندارید.", - "email-hidden": "ایمیل پنهان شده", - "hidden": "پنهان", + "email-hidden": "نشانی رایانامه پنهان شده", + "hidden": "پنهان شده", "paginate-description": "صفحه بندی و نمایش موضوع ها و پست‌ها به جای نمایش بر اساس اسکرول موس", "topics-per-page": "شمار موضوع ها در هر برگه", "posts-per-page": "شمار پست‌ها در هر برگه", "category-topic-sort": "مرتب‌ سازی دسته موضوع", - "topic-post-sort": "مرتب سازی پست‌های تاپیک", + "topic-post-sort": "مرتب سازی فرسته‌های موضوع", "max-items-per-page": "حداکثر %1", - "acp-language": "زبان پنل ادمین", - "notifications": "آگاه‌سازی‌ها", + "acp-language": "زبان صفحه مدیریت", + "notifications": "اعلان ها", "upvote-notif-freq": "تنظیمات اعلان امتیاز مثبت", "upvote-notif-freq.all": "همه امتیاز های مثبت", - "upvote-notif-freq.first": "First Per Post", + "upvote-notif-freq.first": "اول در هر فرسته", "upvote-notif-freq.everyTen": "هر ده امتیاز مثبت", "upvote-notif-freq.threshold": "On 1, 5, 10, 25, 50, 100, 150, 200...", "upvote-notif-freq.logarithmic": "هر 10، 10، 1000 ...", @@ -138,85 +141,85 @@ "open-links-in-new-tab": "پیوندهای به بیرون را در برگ جدید باز کن", "enable-topic-searching": "فعال کردن جستجوی درون موضوعی", "topic-search-help": "اگر فعال باشد، \"جستجوی درون موضوعی\" جایگزین قابلیت جستجوی پیشفرض مرورگر خواهد شد و این امکان را خواهید داشت که بجای جستجوی آنچه که در صفحه نمایش می بینید، در سرتاسر موضوع جستجو کنید", - "update-url-with-post-index": "بروزرسانی آدرس پست در مرورگر هنگام گشت و گذار در موضوعات", - "scroll-to-my-post": "پس از ارسال پست، اولین پست جدید نشان بده", + "update-url-with-post-index": "بروزرسانی نشانی فرسته در مرورگر هنگام گشت و گذار در موضوعات", + "scroll-to-my-post": "پس از ارسال فرسته، اولین فرسته‌ی جدید را نشان بده", "follow-topics-you-reply-to": "پیگیری موضوع هایی که شما به آن ها پاسخ دادید", "follow-topics-you-create": "پیگیری موضوع هایی که شما ایجاد کردید", "grouptitle": "عنوان گروه", "group-order-help": "گروهی را انتخاب کرده و با استفاده از پیکان ها ترتیب عنوان ها را جابه‌جا کنید", - "show-group-title": "Show group title", - "hide-group-title": "Hide group title", + "show-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": "انتخاب یک پوسته", "default": "Default (%1)", - "no-skin": "No Skin", + "no-skin": "بدون پوسته", "select-homepage": "انتخاب صفحه اصلی", "homepage": "صفحه اصلی", - "homepage-description": "یک صفحه را به عنوان خانه انتخاب کنید یا با انتخاب \"هیچکدام\" صفحه‌ی پیش فرض برای شما انتخاب می‌شود.", - "custom-route": "مسیر صفحه‌ی اختصاصی", + "homepage-description": "یک صفحه را به عنوان صفحه اصلی انتخاب کنید یا با انتخاب \"هیچکدام\" صفحه‌ی پیش فرض برای شما انتخاب می‌شود.", + "custom-route": "صفحه‌ی اصلی انتخابی", "custom-route-help": "Enter a route name here, without any preceding slash (e.g. \"recent\" or \"category/2/general-discussion\")", - "sso.title": "Single Sign-on Services", + "sso.title": "خدمات ثبت نام تکی", "sso.associated": "متصل شده به", "sso.not-associated": "اتصال حساب به", "sso.dissociate": "لغو اتصال", - "sso.dissociate-confirm-title": "Confirm Dissociation", + "sso.dissociate-confirm-title": "جدا‌سازی را تایید کنید", "sso.dissociate-confirm": "آیا مطمئنی می خواهی اتصال %1 به حسابت را لغو کنی؟", "info.latest-flags": "آخرین نشانه گذاری‌ها", - "info.profile": "Profile", - "info.post": "Post", - "info.view-flag": "View flag", - "info.reported-by": "Reported by:", + "info.profile": "نمایه", + "info.post": "فرسته", + "info.view-flag": "مشاهده پرچم ها", + "info.reported-by": "گذارش شده توسط:", "info.no-flags": "پست گزارش شده ای یافت نشد", "info.ban-history": "تاریخچه مسدودیت های اخیر", "info.no-ban-history": "این کاربر هرگز مسدود نشده است", "info.banned-until": "مسدود شده تا %1", - "info.banned-expiry": "Expiry", - "info.ban-expired": "Ban expired", + "info.banned-expiry": "انقضا", + "info.ban-expired": "مسدودیت منقضی شد", "info.banned-permanently": "مسدود شده به طور دائم", "info.banned-reason-label": "دلیل", - "info.banned-no-reason": "هیچ دلیلی ارایه نشد.", - "info.mute-history": "Recent Mute History", - "info.no-mute-history": "This user has never been muted", - "info.muted-until": "Muted until %1", - "info.muted-expiry": "Expiry", - "info.muted-no-reason": "No reason given.", + "info.banned-no-reason": "هیچ دلیلی ارایه نشده است.", + "info.mute-history": "تاریخه سکوت های اخیر", + "info.no-mute-history": "این کاربر تا حالا بی‌صدا نشده است.", + "info.muted-until": "ساکت شده تا ۱٪", + "info.muted-expiry": "انقضا", + "info.muted-no-reason": "دلیلی ارائه نشده است.", "info.username-history": "تاریخچه تعویض نام کاربری", - "info.email-history": "تاریخچه تعویض ایمیل", + "info.email-history": "تاریخچه تعویض رایانامه", "info.moderation-note": "یادداشت مدیر", "info.moderation-note.success": "یادداشت مدیر ذخیره شد", "info.moderation-note.add": "افزودن یادداشت", - "sessions.description": "این صفحه به شما امکان می دهد تا همه Session های فعال حساب خود در انجمن را ببینید و در صورت نیاز آن ها را باطل کنید. شما می توانید Session فعلی خود را با خروج از حساب خود باطل کنید.", - "revoke-session": "Revoke Session", + "sessions.description": "این صفحه به شما امکان می دهد تا همه نشست های فعال حساب خود در انجمن را ببینید و در صورت نیاز آن ها را باطل کنید. شما می توانید نشست فعلی خود را با خروج از حساب خود باطل کنید.", + "revoke-session": "لغو نشست", "browser-version-on-platform": "%1 %2 on %3", "consent.title": "Your Rights & Consent", "consent.lead": "این انجمن اطلاعات شخصی شما را جمع‌آوری و پردازش می‌کند", - "consent.intro": "We use this information strictly to personalise your experience in this community, as well as to associate the posts you make to your user account. During the registration step you were asked to provide a username and email address, you can also optionally provide additional information to complete your user profile on this website.

We retain this information for the life of your user account, and you are able to withdraw consent at any time by deleting your account. At any time you may request a copy of your contribution to this website, via your Rights & Consent page.

If you have any questions or concerns, we encourage you to reach out to this forum's administrative team.", - "consent.email-intro": "Occasionally, we may send emails to your registered email address in order to provide updates and/or to notify you of new activity that is pertinent to you. You can customise the frequency of the community digest (including disabling it outright), as well as select which types of notifications to receive via email, via your user settings page.", - "consent.digest-frequency": "Unless explicitly changed in your user settings, this community delivers email digests every %1.", - "consent.digest-off": "Unless explicitly changed in your user settings, this community does not send out email digests", - "consent.received": "You have provided consent for this website to collect and process your information. No additional action is required.", - "consent.not-received": "You have not provided consent for data collection and processing. At any time this website's administration may elect to delete your account in order to become compliant with the General Data Protection Regulation.", - "consent.give": "Give consent", - "consent.right-of-access": "You have the Right of Access", - "consent.right-of-access-description": "You have the right to access any data collected by this website upon request. You can retrieve a copy of this data by clicking the appropriate button below.", - "consent.right-to-rectification": "You have the Right to Rectification", - "consent.right-to-rectification-description": "You have the right to change or update any inaccurate data provided to us. Your profile can be updated by editing your profile, and post content can always be edited. If this is not the case, please contact this site's administrative team.", - "consent.right-to-erasure": "You have the Right to Erasure", - "consent.right-to-erasure-description": "At any time, you are able to revoke your consent to data collection and/or processing by deleting your account. Your individual profile can be deleted, although your posted content will remain. If you wish to delete both your account and your content, please contact the administrative team for this website.", - "consent.right-to-data-portability": "You have the Right to Data Portability", - "consent.right-to-data-portability-description": "You may request from us a machine-readable export of any collected data about you and your account. You can do so by clicking the appropriate button below.", - "consent.export-profile": "Export Profile (.json)", - "consent.export-profile-success": "Exporting profile, you will get a notification when it is complete.", - "consent.export-uploads": "Export Uploaded Content (.zip)", - "consent.export-uploads-success": "Exporting uploads, you will get a notification when it is complete.", - "consent.export-posts": "Export Posts (.csv)", - "consent.export-posts-success": "Exporting posts, you will get a notification when it is complete.", - "emailUpdate.intro": "Please enter your email address below. This forum uses your email address for scheduled digest and notifications, as well as for account recovery in the event of a lost password.", - "emailUpdate.optional": "This field is optional. You are not obligated to provide your email address, but without a validated email you will not be able to recover your account or login with your email.", - "emailUpdate.required": "This field is required.", - "emailUpdate.change-instructions": "A confirmation email will be sent to the entered email address with a unique link. Accessing that link will confirm your ownership of the email address and it will become active on your account. At any time, you are able to update your email on file from within your account page.", - "emailUpdate.password-challenge": "Please enter your password in order to verify account ownership.", - "emailUpdate.pending": "Your email address has not yet been confirmed, but an email has been sent out requesting confirmation. If you wish to invalidate that request and send a new confirmation request, please fill in the form below." + "consent.intro": "ما از این اطلاعات صرفاً برای بهبود تجربه شما در این انجمن و همچنین برای مرتبط کردن فرسته هایی که به حساب کاربری خود می‌فرستید استفاده می کنیم. در مرحله ثبت نام از شما خواسته شد که نام کاربری و نشانی رایانامه‌تان را وارد کنید، همچنین می توانید به صورت اختیاری اطلاعات بیشتری برای تکمیل نمایه کاربری خود در این انجمن ارائه دهید.

ما این اطلاعات را تا پایان عمر حساب کاربری شما حفظ می کنیم و شما می توانید رضایت خود را در هر زمان با حذف حساب خود، پس بگیرید.

اگر هرگونه سوال یا مشکلی دارید ما به شما پیشنهاد میکنیم که آن را از مدیریت این انجمن بپرسید.", + "consent.email-intro": "گاهی اوقات، ممکن است به منظور ارائه به‌روزرسانی‌ها و/یا اطلاع‌رسانی از فعالیت‌های جدید مربوط به شما، ایمیل‌هایی به نشانی رایانامه ثبت‌شده شما ارسال شود. می‌توانید تعداد دفعات خلاصه انجمن را سفارشی کنید (از جمله غیرفعال کردن کامل آن)، و همچنین میتوانید انتخاب کنید که چه نوع اعلان‌هایی را از طریق رایانامه‌تان دریافت کنید.", + "consent.digest-frequency": "تنها در زمانی که در تنظیمات کاربر شما تغییر کند، این انجمن خلاصه‌های ایمیل را به صورت %1 ارائه می‌کند.", + "consent.digest-off": "این انجمن خلاصه‌های ایمیل را ارسال نمی‌کند، مگر اینکه به صراحت در تنظیمات کاربر شما این ویژگی فعال شود.", + "consent.received": "شما رضایت‌تان را برای اینکه این انجمن حق جمع آوری و پردازش اطلاعات شما را دارد، اعلام کرده‌اید. هیچ اقدام اضافی مورد نیاز نیست.", + "consent.not-received": "شما رضایت‌تان را برای جمع آوری و پردازش داده ها اعلام نکرده‌اید. در هر زمانی مدیر این انجمن ممکن است تصمیم بگیرد که حساب شما را به منظور مطابقت با مقررات حفاظت از داده های عمومی حذف کند.", + "consent.give": "اعلام داشتن رضایت", + "consent.right-of-access": "شما حق دسترسی را دارید.", + "consent.right-of-access-description": "شما حق دسترسی به اطلاعات جمع آوری شده توسط این انجمن را در صورت درخواست دارید. شما می توانید یک رونوشت از این داده ها را با کلیک کردن روی دکمه مناسب زیر داشته باشید.", + "consent.right-to-rectification": "شما حق تصحیح دارید", + "consent.right-to-rectification-description": "شما حق دارید هرگونه داده نادرست ارائه شده به ما را تغییر دهید یا به روز کنید. اطلاعات نمایه را می توان با بخش \"ویرایش نمایه\" تغیر داد و فرسته ها همیشه قابل ویرایشند. اگر اینطور نیست، لطفاً با تیم مدیریت این انجمن تماس بگیرید.", + "consent.right-to-erasure": "شما حق پاک کردن را دارید", + "consent.right-to-erasure-description": "در هر زمان، می‌توانید با حذف حساب خود، رضایت خود را برای جمع‌آوری و/یا پردازش داده‌ها لغو کنید. نمایه فردی شما قابل حذف است، اگرچه محتوای حساب شما (فرسته‌ها/موضوعات/بارگزاری‌ها) باقی خواهد ماند. اگر می خواهید هم حساب کاربری و هم محتوای حساب خود را حذف کنید، لطفاً با تیم مدیریت این انجمن تماس بگیرید.", + "consent.right-to-data-portability": "شما حق انتقال داده ها را دارید", + "consent.right-to-data-portability-description": "می‌توانید از ما درخواست کنید که اطلاعات جمع‌آوری‌شده درباره شما و حسابتان را با قابلیت خواندن ماشین خروجی بگیریم. شما می توانید این کار را با کلیک بر روی دکمه مربوطه در زیر انجام دهید.", + "consent.export-profile": "خروجی گرفتن از اطلاعات نمایه با قالب json", + "consent.export-profile-success": "در حال خروجی گرفتن اطلاعات نمایه، پس از تکمیل آن یک اعلان دریافت خواهید کرد.", + "consent.export-uploads": "خروجی گرفتن از پرونده های بارگزاری شده با قالب zip", + "consent.export-uploads-success": "در حال خروجی گرفتن بارگزاری‌ها، پس از تکمیل آن یک اعلان دریافت خواهید کرد.", + "consent.export-posts": "خروجی گرفتن از فرسته‌ها با قالب csv", + "consent.export-posts-success": "در حال خروجی گرفتن فرسته‌ها، پس از تکمیل آن یک اعلان دریافت خواهید کرد.", + "emailUpdate.intro": "لطفا نشانی رایانامه خود را در زیر وارد کنید. این انجمن از رایانامه شما برای اعلان ها و همچنین برای بازیابی حساب در صورت گم شدن رمز عبور استفاده می کند.", + "emailUpdate.optional": "این بخش اختیاری است. شما موظف به ارائه نشانی رایانامه خود نیستید، اما بدون رایانامه معتبر نمی توانید حساب خود را بازیابی کنید یا با نشانی رایانامه خود وارد شوید.", + "emailUpdate.required": "پر کردن این بخش الزامی است.", + "emailUpdate.change-instructions": "یک ایمیل تایید با یک پیوند منحصر به فرد به نشانی رایانامه وارد شده ارسال می شود. دسترسی به آن پیوند مالکیت شما را بر نشانی رایانامه‌تان تایید می کند و نشانی رایانامه جدید شما در حساب شما فعال می شود. در هر زمان، می‌توانید نشانی رایانامه‌تان را از صفحه \"ویرایش نمایه\" عوض کنید.", + "emailUpdate.password-challenge": "لطفاً رمز عبور خود را برای تأیید مالکیت حساب وارد کنید.", + "emailUpdate.pending": "نشانی رایانامه شما هنوز تایید نشده است، اما ایمیلی برای درخواست تایید ارسال شده است. اگر می خواهید آن درخواست را باطل کنید و یک درخواست تأیید دیگر دریافت کنید، لطفاً بخش زیر را پر کنید." } \ No newline at end of file diff --git a/public/language/fa-IR/users.json b/public/language/fa-IR/users.json index 650db59e09..d5a6d23186 100644 --- a/public/language/fa-IR/users.json +++ b/public/language/fa-IR/users.json @@ -1,12 +1,13 @@ { "all-users": "همه کاربران", + "followed-users": "Followed Users", "latest-users": "آخرین کاربران", "top-posters": "برترین فرستنده‌ها", "most-reputation": "بیشترین اعتبار", "most-flags": "بیشترین پرچم‌ها", "search": "جستجو", "enter-username": "یک نام کاربری برای جستجو وارد کنید", - "search-user-for-chat": "Search for a user to start chat", + "search-user-for-chat": "جستوجو یک کاربر برای شروع گفتوگو", "load-more": "بارگذاری بیش‌تر", "users-found-search-took": "%1 کاربر(ها) یافت شد! جستجو %2 ثانیه زمان گرفت.", "filter-by": "فیلتر با", diff --git a/public/language/fi/admin/development/info.json b/public/language/fi/admin/development/info.json index 11202d9c3a..9834719daf 100644 --- a/public/language/fi/admin/development/info.json +++ b/public/language/fi/admin/development/info.json @@ -3,7 +3,7 @@ "ip": "IP %1", "nodes-responded": "%1 nodes responded within %2ms!", "host": "host", - "primary": "primary / run jobs", + "primary": "primary / jobs", "pid": "pid", "nodejs": "nodejs", "online": "online", @@ -19,6 +19,7 @@ "registered": "Registered", "sockets": "Sockets", + "connection-count": "Connection Count", "guests": "Guests", "info": "Info" diff --git a/public/language/fi/admin/extend/widgets.json b/public/language/fi/admin/extend/widgets.json index d8fa5752ef..17970f4284 100644 --- a/public/language/fi/admin/extend/widgets.json +++ b/public/language/fi/admin/extend/widgets.json @@ -12,6 +12,8 @@ "container.card": "Card", "container.card-header": "Card Header", "container.card-body": "Card Body", + "container.title": "Title", + "container.body": "Body", "container.alert": "Alert", "alert.confirm-delete": "Are you sure you wish to delete this widget?", diff --git a/public/language/fi/admin/settings/reputation.json b/public/language/fi/admin/settings/reputation.json index d419597bee..89b2171ee9 100644 --- a/public/language/fi/admin/settings/reputation.json +++ b/public/language/fi/admin/settings/reputation.json @@ -2,7 +2,14 @@ "reputation": "Reputation Settings", "disable": "Disable Reputation System", "disable-down-voting": "Disable Down Voting", - "votes-are-public": "All Votes Are Public", + "upvote-visibility": "Up Vote visibility", + "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", "min-rep-upvote": "Minimum reputation to upvote posts", "upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)", diff --git a/public/language/fi/error.json b/public/language/fi/error.json index 295f026649..f682120011 100644 --- a/public/language/fi/error.json +++ b/public/language/fi/error.json @@ -153,6 +153,7 @@ "about-me-too-long": "Sorry, your about me cannot be longer than %1 character(s).", "cant-chat-with-yourself": "Et voi keskustella itsesi kanssa!", "chat-restricted": "This user has restricted their chat messages. They must follow you before you can chat with them", + "chat-user-blocked": "You have been blocked by this user.", "chat-disabled": "Keskustelujärjestelmä on pois käytöstä", "too-many-messages": "You have sent too many messages, please wait awhile.", "invalid-chat-message": "Virheellinen keskusteluviesti", diff --git a/public/language/fi/modules.json b/public/language/fi/modules.json index 96ad8a5df3..964a9fc744 100644 --- a/public/language/fi/modules.json +++ b/public/language/fi/modules.json @@ -1,8 +1,9 @@ { "chat.room-id": "Room %1", "chat.chatting-with": "Chat with", - "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", - "chat.placeholder.mobile": "Type chat message here", + "chat.placeholder": "Type chat message here, drag & drop images", + "chat.placeholder.mobile": "Type chat message", + "chat.placeholder.message-room": "Message #%1", "chat.scroll-up-alert": "Siirry uusimpaan viestiin", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", diff --git a/public/language/fi/notifications.json b/public/language/fi/notifications.json index 96cc80eb9f..707aac1ae1 100644 --- a/public/language/fi/notifications.json +++ b/public/language/fi/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 on kirjoittanut uuden aiheen: %2", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 aloitti uuden aiheen kategoriassa %2", "user-started-following-you": "%1 alkoi seurata sinua.", "user-started-following-you-dual": "%1 ja %2 alkoivat seurata sinua", @@ -75,6 +75,7 @@ "email-confirmed": "Sähköpostiosoite on vahvistettu", "email-confirmed-message": "Kiitos sähköpostiosoitteesi vahvistamisesta. Käyttäjätilisi on nyt täysin aktivoitu.", "email-confirm-error-message": "Ongelma sähköpostiosoitteen vahvistamisessa. Ehkäpä koodi oli virheellinen tai vanhentunut.", + "email-confirm-error-message-already-validated": "Your email address was already validated.", "email-confirm-sent": "Vahvistusviesti on lähetetty.", "none": "Ei mitään", "notification-only": "ilmoita vain sivustolla", diff --git a/public/language/fi/pages.json b/public/language/fi/pages.json index 9c232b382d..bd887f3296 100644 --- a/public/language/fi/pages.json +++ b/public/language/fi/pages.json @@ -54,6 +54,7 @@ "account/settings-of": "Changing settings of %1", "account/watched": "Aiheet, joita %1 seuraa", "account/ignored": "Aiheet, jotka %1 on ohittanut", + "account/read": "Topics read by %1", "account/upvoted": "Viesti, joista %1 on tykännyt", "account/downvoted": "Posts downvoted by %1", "account/best": "Käyttäjän %1 parhaat viestit", diff --git a/public/language/fi/post-queue.json b/public/language/fi/post-queue.json index ebf195ae94..30bdf827a0 100644 --- a/public/language/fi/post-queue.json +++ b/public/language/fi/post-queue.json @@ -38,5 +38,6 @@ "remove-selected": "Remove Selected", "remove-selected-confirm": "Do you want to remove %1 selected posts?", "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" } \ No newline at end of file diff --git a/public/language/fi/themes/harmony.json b/public/language/fi/themes/harmony.json index 2d37f09940..ddd27c40fe 100644 --- a/public/language/fi/themes/harmony.json +++ b/public/language/fi/themes/harmony.json @@ -7,7 +7,8 @@ "login-register-to-search": "Etsi kirjautumalla sisään tai luomalla tili.", "settings.title": "Teeman asetukset", "settings.enableQuickReply": "Käytä Pikavastausta", - "settings.enableBreadcrumbs": "Enable breadcrumbs", + "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": "Keskitä otsakkeen elementit", "settings.mobileTopicTeasers": "Näytä aihe-ehdotukset mobiilinäkymässä", "settings.stickyToolbar": "Kiinteä työkalupalkki", diff --git a/public/language/fi/user.json b/public/language/fi/user.json index 6522417524..9c4dfa17ab 100644 --- a/public/language/fi/user.json +++ b/public/language/fi/user.json @@ -43,6 +43,7 @@ "change-all": "Muuta kaikki", "watched": "Seurataan", "ignored": "Ohitetut", + "read": "Read", "default-category-watch-state": "Kategoriaseurannan oletustaso", "followers": "Seuraajat", "following": "Seuratut", @@ -78,6 +79,7 @@ "change-password": "Vaihda salasana", "change-password-error": "Virheellinen salasana", "change-password-error-wrong-current": "Nykyinen salasanasi ei ole oikein!", + "change-password-error-same-password": "Your new password matches your current password, please use a new password.", "change-password-error-match": "Salasanojen täytyy olla samat!", "change-password-error-privileges": "Sinulla ei ole oikeuksia vaihtaa tätä salasanaa.", "change-password-success": "Salasanasi on päivitetty!", @@ -113,6 +115,7 @@ "has-no-topics": "Käyttäjä ei ole lähettänyt viestiä yhteenkään aiheeseen vielä.", "has-no-watched-topics": "Käyttäjä ei vielä seuraa aiheita.", "has-no-ignored-topics": "Käyttäjä ei ole vielä ohittanut aiheita.", + "has-no-read-topics": "This user hasn't read any topics yet.", "has-no-upvoted-posts": "Käyttäjä ei ole tykännyt yhdestäkään viestistä vielä.", "has-no-downvoted-posts": "This user hasn't downvoted any posts yet.", "has-no-controversial-posts": "This user does not have any downvoted posts yet.", diff --git a/public/language/fi/users.json b/public/language/fi/users.json index 6891926beb..bad5b3e7ab 100644 --- a/public/language/fi/users.json +++ b/public/language/fi/users.json @@ -1,5 +1,6 @@ { "all-users": "Kaikki käyttäjät", + "followed-users": "Followed Users", "latest-users": "Viimeisimmät käyttäjät", "top-posters": "Aktiivisimmat julkaisijat", "most-reputation": "Maineikkain", diff --git a/public/language/fr/admin/development/info.json b/public/language/fr/admin/development/info.json index b33bf0a4fa..afcbe555aa 100644 --- a/public/language/fr/admin/development/info.json +++ b/public/language/fr/admin/development/info.json @@ -3,7 +3,7 @@ "ip": "IP %1", "nodes-responded": "%1 noeuds ont répondu en %2ms !", "host": "hôte", - "primary": "Tâches principales / Exécuter", + "primary": "Principal / Tâches", "pid": "pid", "nodejs": "nodejs", "online": "en ligne", @@ -19,6 +19,7 @@ "registered": "Enregistré", "sockets": "Sockets", + "connection-count": "nombre de connexions", "guests": "Invités", "info": "Info" diff --git a/public/language/fr/admin/extend/widgets.json b/public/language/fr/admin/extend/widgets.json index fae5f066c8..8fdce5ac24 100644 --- a/public/language/fr/admin/extend/widgets.json +++ b/public/language/fr/admin/extend/widgets.json @@ -12,6 +12,8 @@ "container.card": "Carte", "container.card-header": "En-tête", "container.card-body": "Corps", + "container.title": "Titre", + "container.body": "Corps du message", "container.alert": "Alerte", "alert.confirm-delete": "Êtes-vous sûr de vouloir supprimer ce widget ?", diff --git a/public/language/fr/admin/settings/navigation.json b/public/language/fr/admin/settings/navigation.json index 677e35da8f..bb00c6647e 100644 --- a/public/language/fr/admin/settings/navigation.json +++ b/public/language/fr/admin/settings/navigation.json @@ -10,7 +10,7 @@ "id": "ID : optionnel", "properties": "Propriétés :", - "show-to-groups": "Show to Groups:", + "show-to-groups": "Visible pour les groupes\n ", "open-new-window": "Ouvrir dans une nouvelle fenêtre", "dropdown": "Menu déroulant", "dropdown-placeholder": "Placer vos éléments de menu déroulant ci-dessous, par exemple :
https://myforum.com", diff --git a/public/language/fr/admin/settings/reputation.json b/public/language/fr/admin/settings/reputation.json index 876c9a48e7..e9fb66c70c 100644 --- a/public/language/fr/admin/settings/reputation.json +++ b/public/language/fr/admin/settings/reputation.json @@ -2,7 +2,14 @@ "reputation": "Paramètres de réputation", "disable": "Désactiver le système de réputation", "disable-down-voting": "Désactiver les votes négatifs", - "votes-are-public": "Tous les votes sont publics", + "upvote-visibility": "Visibilité des votes positifs", + "upvote-visibility-all": "Tout le monde peut voir les votes positifs", + "upvote-visibility-loggedin": "Seuls les utilisateurs connectés peuvent voir les votes positifs", + "upvote-visibility-privileged": "Seuls les Administrateurs et Modérateurs peuvent voir les votes positifs", + "downvote-visibility": "Visibilité des votes négatifs", + "downvote-visibility-all": "Tout le monde peut voir les votes négatifs", + "downvote-visibility-loggedin": "Seuls les utilisateurs connectés peuvent voir les votes négatifs", + "downvote-visibility-privileged": "Seuls les Administrateurs et Modérateurs peuvent voir les votes négatifs", "thresholds": "Seuils d'activité", "min-rep-upvote": "Réputation minimale pour voter pour les publications", "upvotes-per-day": "Votes positifs par jour (0 = illimité)", diff --git a/public/language/fr/error.json b/public/language/fr/error.json index 06403eb7a0..a3797a852e 100644 --- a/public/language/fr/error.json +++ b/public/language/fr/error.json @@ -153,6 +153,7 @@ "about-me-too-long": "Votre texte \"à propos de moi\" ne peut dépasser %1 caractère(s).", "cant-chat-with-yourself": "Vous ne pouvez discuter avec vous-même !", "chat-restricted": "Cet utilisateur a restreint ses messages de chat. Il doit d'abord s'abonner à votre compte avant que vous puissiez discuter avec lui.", + "chat-user-blocked": "Tu as été bloqué par cet utilisateur", "chat-disabled": "Système de chat désactivé", "too-many-messages": "Vous avez envoyé trop de messages, veuillez patienter un instant.", "invalid-chat-message": "Message de chat invalide", diff --git a/public/language/fr/flags.json b/public/language/fr/flags.json index ccf2565f6e..1716ce7fff 100644 --- a/public/language/fr/flags.json +++ b/public/language/fr/flags.json @@ -90,6 +90,6 @@ "bulk-actions": "Actions en vrac", "bulk-resolve": "Signalement(s) résolu(s)", "bulk-success": "%1 signalements mis à jour", - "flagged-timeago": "Flagged ", + "flagged-timeago": "Signalé ", "auto-flagged": "[Auto Signalement] A reçu %1 votes négatifs." } \ No newline at end of file diff --git a/public/language/fr/modules.json b/public/language/fr/modules.json index ad46215cfb..0a00ef0366 100644 --- a/public/language/fr/modules.json +++ b/public/language/fr/modules.json @@ -1,8 +1,9 @@ { "chat.room-id": "Discussion %1", "chat.chatting-with": "Discuter avec", - "chat.placeholder": "Écrire vos message ici, glisser & déposer les images, valider sur entrée pour envoyer", - "chat.placeholder.mobile": "Saisir ici le message", + "chat.placeholder": "Tapez votre message ici, glissez-déposez des images", + "chat.placeholder.mobile": "Saisir le message de chat", + "chat.placeholder.message-room": "Message #%1", "chat.scroll-up-alert": "Aller au message le plus récent", "chat.usernames-and-x-others": "%1 & %2 autres", "chat.chat-with-usernames": "Discuter avec %1", diff --git a/public/language/fr/notifications.json b/public/language/fr/notifications.json index a165b91046..238af0254d 100644 --- a/public/language/fr/notifications.json +++ b/public/language/fr/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 et %3 autres ont posté des réponses dans : %4", "user-posted-topic": "%1 a posté un nouveau sujet: %2", "user-edited-post": "%1 a édité un message dans %2", - "user-posted-topic-with-tag": "%1 a posté un nouveau sujet avec le mot-clé %2", - "user-posted-topic-with-tag-dual": "%1 a posté un nouveau sujet avec le mot-clé %2 et %3", - "user-posted-topic-with-tag-triple": "%1 a posté un nouveau sujet avec les mot-clés %2, %3 et %4", - "user-posted-topic-with-tag-multiple": "%1 a posté un nouveau sujet avec les mot-clés %2", + "user-posted-topic-with-tag": "%1a publié %2 (tags %3)", + "user-posted-topic-with-tag-dual": "%1a publié%2 (tags %3 and %4)", + "user-posted-topic-with-tag-triple": "%1as publié%2 (tags %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1as publié %2(tags %3)", "user-posted-topic-in-category": "%1 a posté un nouveau sujet: %2", "user-started-following-you": "%1 vous suit.", "user-started-following-you-dual": "%1 et %2 se sont abonnés à votre compte.", @@ -75,6 +75,7 @@ "email-confirmed": "E-mail vérifié", "email-confirmed-message": "Merci pour la validation de votre adresse e-mail. Votre compte est désormais activé.", "email-confirm-error-message": "Il y a un un problème dans la vérification de votre adresse e-mail. Le code est peut être invalide ou a expiré.", + "email-confirm-error-message-already-validated": "Votre adresse email a déjà été validée", "email-confirm-sent": "E-mail de vérification envoyé.", "none": "aucun", "notification-only": "Seulement une notification", diff --git a/public/language/fr/pages.json b/public/language/fr/pages.json index dfbc58615f..231f7d765e 100644 --- a/public/language/fr/pages.json +++ b/public/language/fr/pages.json @@ -54,6 +54,7 @@ "account/settings-of": "Modifier les paramètres de %1", "account/watched": "Sujets auxquels %1 est abonné", "account/ignored": "Sujets ignorés par %1", + "account/read": "topics lus par %1", "account/upvoted": "Avis positifs de %1", "account/downvoted": "Avis négatifs de %1", "account/best": "Meilleurs messages postés par %1", diff --git a/public/language/fr/post-queue.json b/public/language/fr/post-queue.json index 04758af10b..5de3fd596b 100644 --- a/public/language/fr/post-queue.json +++ b/public/language/fr/post-queue.json @@ -38,5 +38,6 @@ "remove-selected": "Supprimer la sélection", "remove-selected-confirm": "Voulez-vous supprimer %1 messages sélectionnés ?", "bulk-accept-success": "%1 messages acceptés", - "bulk-reject-success": "%1 messages rejetés" + "bulk-reject-success": "%1 messages rejetés", + "links-in-this-post": "Liens dans ce post" } \ No newline at end of file diff --git a/public/language/fr/themes/harmony.json b/public/language/fr/themes/harmony.json index 2957f7ac04..eb122d9d02 100644 --- a/public/language/fr/themes/harmony.json +++ b/public/language/fr/themes/harmony.json @@ -7,7 +7,8 @@ "login-register-to-search": "Connectez-vous ou inscrivez-vous pour faire une recherche.", "settings.title": "Configuration du thème", "settings.enableQuickReply": "Activer les réponses rapides", - "settings.enableBreadcrumbs": "Activer le fil d'Ariane", + "settings.enableBreadcrumbs": "Afficher le fil d'Ariane dans les pages de catégories et de sujets
 
 ", + "settings.enableBreadcrumbs.why": "Traduction suggérée : Le fil d’Ariane est visible sur la plupart des pages pour faciliter la navigation. La conception de base des pages de catégories et de sujets offre d’autres moyens pour revenir aux pages parentes, mais le fil d’Ariane peut être désactivé afin de réduire l'encombrement visuel.
 ", "settings.centerHeaderElements": "Centrer les éléments d'en-tête", "settings.mobileTopicTeasers": "Afficher les teasers de sujet sur mobile", "settings.stickyToolbar": "Barre d'outils", diff --git a/public/language/fr/user.json b/public/language/fr/user.json index 9bbc717fb1..3e2c846aeb 100644 --- a/public/language/fr/user.json +++ b/public/language/fr/user.json @@ -1,9 +1,9 @@ { "user-menu": "Menu de l'utilisateur", "banned": "Banni", - "unbanned": "Unbanned", + "unbanned": "Débannir", "muted": "Muet", - "unmuted": "Unmuted", + "unmuted": "Rétablir la possibilité d'écrire / répondre ", "offline": "Hors-ligne", "deleted": "Effacé", "username": "Nom d'utilisateur", @@ -43,6 +43,7 @@ "change-all": "Tout changer", "watched": "Abonnements", "ignored": "Ignorés", + "read": "Lu", "default-category-watch-state": "Abonnement par défaut des catégories", "followers": "Abonnés", "following": "Abonnements", @@ -78,6 +79,7 @@ "change-password": "Changer le mot de passe", "change-password-error": "Mot de passe invalide !", "change-password-error-wrong-current": "Votre mot de passe est incorrect !", + "change-password-error-same-password": "Votre nouveau mot de passe est identique à l'actuel, veuillez en utiliser un différent.", "change-password-error-match": "Les mots de passe doivent être identiques !", "change-password-error-privileges": "Vous n'avez pas les droits de changer ce mot de passe.", "change-password-success": "Votre mot de passe a été mis à jour.", @@ -113,6 +115,7 @@ "has-no-topics": "Cet utilisateur n'a encore créé aucun sujet.", "has-no-watched-topics": "Cet utilisateur ne s'est encore abonné à aucun sujet.", "has-no-ignored-topics": "Cet utilisateur n'a encore ignoré aucun sujet.", + "has-no-read-topics": "Cet utilisateur n'a pas encore consulté de sujets.", "has-no-upvoted-posts": "Cet utilisateur n'a pas encore donné d'avis positif.", "has-no-downvoted-posts": "Cet utilisateur n'a pas donné d'avis négatif.", "has-no-controversial-posts": "Cet utilisateur n'a pas encore d'avis négatif.", @@ -165,15 +168,15 @@ "sso.dissociate-confirm": "Êtes-vous sûr de vouloir dissocier votre compte de %1 ?", "info.latest-flags": "Derniers signalements", "info.profile": "Profile", - "info.post": "Post", - "info.view-flag": "View flag", - "info.reported-by": "Reported by:", + "info.post": "Message", + "info.view-flag": "Voir le signalement", + "info.reported-by": "Signalé par", "info.no-flags": "Aucun signalement trouvé", "info.ban-history": "Historique de bannissement récent", "info.no-ban-history": "Cet utilisateur n'a jamais été banni", "info.banned-until": "Banni jusqu'au %1", "info.banned-expiry": "Expiration", - "info.ban-expired": "Ban expired", + "info.ban-expired": "Bannissement expiré", "info.banned-permanently": "Banni de façon permanente", "info.banned-reason-label": "Raison", "info.banned-no-reason": "Aucune raison donnée", diff --git a/public/language/fr/users.json b/public/language/fr/users.json index e0417609bb..4c2b671f04 100644 --- a/public/language/fr/users.json +++ b/public/language/fr/users.json @@ -1,5 +1,6 @@ { "all-users": "Tous les utilisateurs", + "followed-users": "Utilisateurs suivis", "latest-users": "Derniers inscrits", "top-posters": "Utilisateurs les plus actifs", "most-reputation": "Meilleur Réputation", diff --git a/public/language/gl/admin/development/info.json b/public/language/gl/admin/development/info.json index 11202d9c3a..9834719daf 100644 --- a/public/language/gl/admin/development/info.json +++ b/public/language/gl/admin/development/info.json @@ -3,7 +3,7 @@ "ip": "IP %1", "nodes-responded": "%1 nodes responded within %2ms!", "host": "host", - "primary": "primary / run jobs", + "primary": "primary / jobs", "pid": "pid", "nodejs": "nodejs", "online": "online", @@ -19,6 +19,7 @@ "registered": "Registered", "sockets": "Sockets", + "connection-count": "Connection Count", "guests": "Guests", "info": "Info" diff --git a/public/language/gl/admin/extend/widgets.json b/public/language/gl/admin/extend/widgets.json index 5d2832feed..db72f2feb3 100644 --- a/public/language/gl/admin/extend/widgets.json +++ b/public/language/gl/admin/extend/widgets.json @@ -12,6 +12,8 @@ "container.card": "Card", "container.card-header": "Card Header", "container.card-body": "Card Body", + "container.title": "Title", + "container.body": "Body", "container.alert": "Alert", "alert.confirm-delete": "Are you sure you wish to delete this widget?", diff --git a/public/language/gl/admin/settings/reputation.json b/public/language/gl/admin/settings/reputation.json index e4fff22620..479069e3a4 100644 --- a/public/language/gl/admin/settings/reputation.json +++ b/public/language/gl/admin/settings/reputation.json @@ -2,7 +2,14 @@ "reputation": "Reputation Settings", "disable": "Disable Reputation System", "disable-down-voting": "Disable Down Voting", - "votes-are-public": "All Votes Are Public", + "upvote-visibility": "Up Vote visibility", + "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", "min-rep-upvote": "Minimum reputation to upvote posts", "upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)", diff --git a/public/language/gl/error.json b/public/language/gl/error.json index 00b2c7f34d..9e85520ac3 100644 --- a/public/language/gl/error.json +++ b/public/language/gl/error.json @@ -153,6 +153,7 @@ "about-me-too-long": "Desculpa, o teu \"sobre min\" non pode supera-los %1 caracteres,", "cant-chat-with-yourself": "Non podes falar contigo mesmo!", "chat-restricted": "Este usuario restrinxiu as charlas. Debedes seguirvos antes de que poidas falar con el.", + "chat-user-blocked": "You have been blocked by this user.", "chat-disabled": "Charlas desactivadas", "too-many-messages": "Estás a enviar moitas mensaxes, por favor, agarda un anaco.", "invalid-chat-message": "Mensaxe inválida", diff --git a/public/language/gl/modules.json b/public/language/gl/modules.json index 3d33b96021..9ae65b1d4f 100644 --- a/public/language/gl/modules.json +++ b/public/language/gl/modules.json @@ -1,8 +1,9 @@ { "chat.room-id": "Room %1", "chat.chatting-with": "Chat with", - "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", - "chat.placeholder.mobile": "Type chat message here", + "chat.placeholder": "Type chat message here, drag & drop images", + "chat.placeholder.mobile": "Type chat message", + "chat.placeholder.message-room": "Message #%1", "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", diff --git a/public/language/gl/notifications.json b/public/language/gl/notifications.json index a4511bc9b9..abbf8c88e7 100644 --- a/public/language/gl/notifications.json +++ b/public/language/gl/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 publicou un novo tema: %2", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 comezou a seguirte.", "user-started-following-you-dual": "%1 e %2 comezaron a seguirte.", @@ -75,6 +75,7 @@ "email-confirmed": "Correo confirmado", "email-confirmed-message": "Grazas por validar o teu correo. A túa conta agora está activada.", "email-confirm-error-message": "Houbo un problema validando o teu correo. Poida que o código fose inválido ou expirase.", + "email-confirm-error-message-already-validated": "Your email address was already validated.", "email-confirm-sent": "Correo de confirmación enviado.", "none": "None", "notification-only": "Notification Only", diff --git a/public/language/gl/pages.json b/public/language/gl/pages.json index 80ea8508a4..4b72891e94 100644 --- a/public/language/gl/pages.json +++ b/public/language/gl/pages.json @@ -54,6 +54,7 @@ "account/settings-of": "Changing settings of %1", "account/watched": "Temas vistos por %1", "account/ignored": "Topics ignored by %1", + "account/read": "Topics read by %1", "account/upvoted": "Mensaxes votadas positivamente por %1", "account/downvoted": "Mensaxes votadas negativamente por %1", "account/best": "Mellores mensaxes escritas por %1", diff --git a/public/language/gl/post-queue.json b/public/language/gl/post-queue.json index 021ed0d83f..24b33da2e6 100644 --- a/public/language/gl/post-queue.json +++ b/public/language/gl/post-queue.json @@ -38,5 +38,6 @@ "remove-selected": "Remove Selected", "remove-selected-confirm": "Do you want to remove %1 selected posts?", "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" } \ No newline at end of file diff --git a/public/language/gl/themes/harmony.json b/public/language/gl/themes/harmony.json index 4e75b9f716..01038d7641 100644 --- a/public/language/gl/themes/harmony.json +++ b/public/language/gl/themes/harmony.json @@ -7,7 +7,8 @@ "login-register-to-search": "Login or register to search.", "settings.title": "Theme settings", "settings.enableQuickReply": "Enable quick reply", - "settings.enableBreadcrumbs": "Enable breadcrumbs", + "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.mobileTopicTeasers": "Show topic teasers on mobile", "settings.stickyToolbar": "Sticky toolbar", diff --git a/public/language/gl/user.json b/public/language/gl/user.json index f07ed633df..28871c5ebc 100644 --- a/public/language/gl/user.json +++ b/public/language/gl/user.json @@ -43,6 +43,7 @@ "change-all": "Change All", "watched": "Visto", "ignored": "Ignored", + "read": "Read", "default-category-watch-state": "Default category watch state", "followers": "Seguidores", "following": "Seguindo", @@ -78,6 +79,7 @@ "change-password": "Cambia-lo contrasinal", "change-password-error": "Contrasinal inválido", "change-password-error-wrong-current": "O contrasinal actual é incorrecto!", + "change-password-error-same-password": "Your new password matches your current password, please use a new password.", "change-password-error-match": "Os contrasinais teñen que coincidir!", "change-password-error-privileges": "Non tes autorización para cambia-lo contrasinal", "change-password-success": "O teu contrasinal foi actualizado!", @@ -113,6 +115,7 @@ "has-no-topics": "Este usuario aínda non publicou ningún tema.", "has-no-watched-topics": "Este usuario aínda non viu ningún tema.", "has-no-ignored-topics": "This user hasn't ignored any topics yet.", + "has-no-read-topics": "This user hasn't read any topics yet.", "has-no-upvoted-posts": "Este usuario aínda non votou positivamente ningunha mensaxe.", "has-no-downvoted-posts": "Este usuario aínda non votou negativamente ninguna mensaxe.", "has-no-controversial-posts": "This user does not have any downvoted posts yet.", diff --git a/public/language/gl/users.json b/public/language/gl/users.json index d5690a4258..fab274ce42 100644 --- a/public/language/gl/users.json +++ b/public/language/gl/users.json @@ -1,5 +1,6 @@ { "all-users": "All Users", + "followed-users": "Followed Users", "latest-users": "Últimos usuarios", "top-posters": "Maiores Publicadores", "most-reputation": "Máis Reputados", diff --git a/public/language/he/admin/development/info.json b/public/language/he/admin/development/info.json index b3a30f3a12..fb2e0ccd54 100644 --- a/public/language/he/admin/development/info.json +++ b/public/language/he/admin/development/info.json @@ -3,7 +3,7 @@ "ip": "IP %1", "nodes-responded": "%1 צמתים הגיבו בתוך %2מילי שניות!", "host": "host", - "primary": "primary / run jobs", + "primary": "ראשי / עבודות", "pid": "pid", "nodejs": "nodejs", "online": "מקוון", @@ -19,6 +19,7 @@ "registered": "רשום", "sockets": "Sockets", + "connection-count": "כמות חיבורים", "guests": "אורחים", "info": "מידע" diff --git a/public/language/he/admin/extend/widgets.json b/public/language/he/admin/extend/widgets.json index 0a41084f8d..50bd6ce969 100644 --- a/public/language/he/admin/extend/widgets.json +++ b/public/language/he/admin/extend/widgets.json @@ -12,6 +12,8 @@ "container.card": "כרטיס", "container.card-header": "כותרת כרטיס", "container.card-body": "גוף כרטיס", + "container.title": "כותרת", + "container.body": "גוף", "container.alert": "התראה", "alert.confirm-delete": "האם אתה בטוח שאתה רוצה למחוק את הווידג'ט?", diff --git a/public/language/he/admin/settings/reputation.json b/public/language/he/admin/settings/reputation.json index f103a053ea..8e33c14234 100644 --- a/public/language/he/admin/settings/reputation.json +++ b/public/language/he/admin/settings/reputation.json @@ -2,7 +2,14 @@ "reputation": "הגדרות מוניטין", "disable": "השבת מערכת המוניטין", "disable-down-voting": "השבת דיסלייק", - "votes-are-public": "כל ההצבעות פומביות", + "upvote-visibility": "הצגת הצבעות למעלה", + "upvote-visibility-all": "כולם יכולים לראות את ההצבעות", + "upvote-visibility-loggedin": "רק משתמשים מחוברים יכולים לראות הצבעות", + "upvote-visibility-privileged": "רק משתמשים מורשים כמו מנהלים ומנחים יכולים לראות הצבעות", + "downvote-visibility": "הצגת הצבעה למטה", + "downvote-visibility-all": "כולם יכולים לראות את ההצבעות", + "downvote-visibility-loggedin": "רק משתמשים מחוברים יכולים לראות הצבעות", + "downvote-visibility-privileged": "רק משתמשים מורשים כמו מנהלים ומנחים יכולים לראות הצבעות", "thresholds": "סף פעילות", "min-rep-upvote": "מוניטין מינימלי כדי להצביע בעד", "upvotes-per-day": "כמה פעמים ביום משתמש יוכל להצביע למעלה (הגדר ל-0 כדי לאפשר ללא הגבלה)", diff --git a/public/language/he/error.json b/public/language/he/error.json index e3cbccbf77..c26d574dc7 100644 --- a/public/language/he/error.json +++ b/public/language/he/error.json @@ -153,6 +153,7 @@ "about-me-too-long": "מצטערים, דף האודות שלכם אינו יכול להיות ארוך מ-%1 תווים.", "cant-chat-with-yourself": "לא ניתן לעשות צ'אט עם עצמכם!", "chat-restricted": "משתמש זה חסם את הודעות הצ'אט שלו ממשתמשים זרים. המשתמש חייב לעקוב אחריכם לפני שתוכלו לשוחח איתו בצ'אט", + "chat-user-blocked": "נחסמתם על ידי משתמש זה.", "chat-disabled": "מערכת הצ'אט לא פעילה", "too-many-messages": "שלחתם יותר מדי הודעות, אנא המתינו זמן מה.", "invalid-chat-message": "הודעת צ'אט לא תקינה", diff --git a/public/language/he/flags.json b/public/language/he/flags.json index a4d4eccb90..3699a60b26 100644 --- a/public/language/he/flags.json +++ b/public/language/he/flags.json @@ -90,6 +90,6 @@ "bulk-actions": "פעולות כלליות", "bulk-resolve": "השלמת דיווחים", "bulk-success": "%1 דיווחים עודכנו", - "flagged-timeago": "Flagged ", + "flagged-timeago": "מדווחים ", "auto-flagged": "[דיווח אוטומטי] פוסט זה קיבל %1 הצבעות למטה." } \ No newline at end of file diff --git a/public/language/he/modules.json b/public/language/he/modules.json index 4b425dcaf8..b0abaa5719 100644 --- a/public/language/he/modules.json +++ b/public/language/he/modules.json @@ -1,8 +1,9 @@ { "chat.room-id": "חדר %1", "chat.chatting-with": "שוחחו בצ'אט עם", - "chat.placeholder": "כתבו תוכן הודעת הצ'אט כאן, ניתן לגרור ולשחרר כאן תמונות, הקישו אנטר לשליחה.", - "chat.placeholder.mobile": "הקלד הודעת צ'אט כאן", + "chat.placeholder": "כתבו את תוכן הפוסט כאן. ניתן לגרור ולשחרר כאן תמונות.", + "chat.placeholder.mobile": "הקלידו הודעת צ'אט", + "chat.placeholder.message-room": "הודעה #%1", "chat.scroll-up-alert": "עבור להודעה האחרונה", "chat.usernames-and-x-others": "%1 ו-%2 אחרים", "chat.chat-with-usernames": "צ'אט עם %1", @@ -103,12 +104,12 @@ "composer.upload-file": "העלאת קובץ", "composer.zen-mode": "מסך מלא", "composer.select-category": "בחירת קטגוריה", - "composer.textarea.placeholder": "כתבו את תוכן הפוסט כאן. ניתן גם לגרור ולשחרר כאן תמונות.", + "composer.textarea.placeholder": "כתבו את תוכן הפוסט כאן. ניתן לגרור ולשחרר כאן תמונות.", "composer.post-queue-alert": "היי 👋! פורום זה משתמש במערכת אישור פוסטים. מכיוון שאתה משתמש חדש הפוסט שלך יוסתר עד שהוא יאושר על ידי צוות הניהול של הפורום.", "composer.schedule-for": "תזמון נושא ל", "composer.schedule-date": "תאריך", "composer.schedule-time": "שעה", - "composer.cancel-scheduling": "ביטול תיזמון", + "composer.cancel-scheduling": "ביטול תזמון", "composer.change-schedule-date": "שנה תאריך", "composer.set-schedule-date": "הגדרת תאריך", "composer.discard-all-drafts": "מחק את כל הטיוטות", diff --git a/public/language/he/notifications.json b/public/language/he/notifications.json index 5ecb4b5aad..e9511b976a 100644 --- a/public/language/he/notifications.json +++ b/public/language/he/notifications.json @@ -2,14 +2,14 @@ "title": "התראות", "no-notifs": "אין התראות", "see-all": "כל ההתראות", - "mark-all-read": "סמן הכל כנקרא", + "mark-all-read": "סימון הכל כנקרא", "back-to-home": "חזרה ל%1", "outgoing-link": "קישור יוצא", - "outgoing-link-message": "אתה עוזב עכשיו את %1", - "continue-to": "המשך ל %1", - "return-to": "חזור ל %1", - "new-notification": "יש לך התראה חדשה", - "you-have-unread-notifications": "יש לך התראות שלא נקראו.", + "outgoing-link-message": "הנכם עוזבים עכשיו את %1", + "continue-to": "המשך אל %1", + "return-to": "חזרה אל %1", + "new-notification": "יש לכם התראה חדשה", + "you-have-unread-notifications": "יש לכם התראות שלא נקראו.", "all": "הכל", "topics": "נושאים", "tags": "תגיות", @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 ו-%3 אחרים הגיבו ל: %4", "user-posted-topic": "%1 העלה נושא חדש: %2", "user-edited-post": "%1 ערך פוסט ב: %2", - "user-posted-topic-with-tag": "%1 פרסם נושא חדש עם התגית %2", - "user-posted-topic-with-tag-dual": "%1 פרסם נושא חדש עם התגיות %1 ו-%3", - "user-posted-topic-with-tag-triple": "%1 פרסם נושא חדש עם התגיות %2, %3 ו-%4", - "user-posted-topic-with-tag-multiple": "%1 פרסם נושא חדש עם התגיות %2", + "user-posted-topic-with-tag": "%1 פרסם %2 (תייג %3)", + "user-posted-topic-with-tag-dual": "%1 פרסם %2 (תייג %3 ו-%4)", + "user-posted-topic-with-tag-triple": "%1 פרסם %2 (תייג %3, %4, ו-%5)", + "user-posted-topic-with-tag-multiple": "%1 פרסם %2 (תייג %3)", "user-posted-topic-in-category": "%1 פרסם נושא חדש ב%2", "user-started-following-you": "%1 התחיל לעקוב אחריך.", "user-started-following-you-dual": "%1 ו-%2 התחילו לעקוב אחריך.", @@ -75,27 +75,28 @@ "email-confirmed": "כתובת המייל אושרה", "email-confirmed-message": "תודה שאישרת את כתובת המייל שלך. החשבון שלך פעיל כעת.", "email-confirm-error-message": "אירעה שגיאה בעת אישור המייל שלך. ייתכן כי הקוד היה שגוי או פג תוקף.", + "email-confirm-error-message-already-validated": "כתובת האימייל אומת כבר.", "email-confirm-sent": "מייל אישור נשלח.", "none": "אף אחד", "notification-only": "התראות בלבד", "email-only": "דוא\"ל בלבד", "notification-and-email": "התראות & דוא\"ל", - "notificationType-upvote": "כאשר מישהו מצביע בעד הפוסט שלך", - "notificationType-new-topic": "כשמישהו שאתה עוקב אחריו פרסם נושא", - "notificationType-new-topic-with-tag": "כאשר נושא מתפרסם עם תג שאתה עוקב אחריו", - "notificationType-new-topic-in-category": "כאשר נושא מתפרסם בקטגוריה שאתה עוקב אחריה", - "notificationType-new-reply": "כשתגובה חדשה מפורסמת בנושא שאתה עוקב אחריו", - "notificationType-post-edit": "כשפוסט נערך בנושא שאתה עוקב אחריו", + "notificationType-upvote": "כשמישהו מצביע בעד הפוסט שלך", + "notificationType-new-topic": "כשמישהו שאתם עוקבים אחריו פרסם נושא", + "notificationType-new-topic-with-tag": "כשנושא מתפרסם עם תג שאתם עוקבים אחריו", + "notificationType-new-topic-in-category": "כשנושא מתפרסם בקטגוריה שאתם עוקבים אחריה", + "notificationType-new-reply": "כשתגובה חדשה מפורסמת בנושא שאתם עוקבים אחריו", + "notificationType-post-edit": "כשפוסט נערך בנושא שאתם עוקבים אחריו", "notificationType-follow": "כשמישהו מתחיל לעקוב אחריך", - "notificationType-new-chat": "כשאתה מקבל הודעת צאט", - "notificationType-new-group-chat": "כשאתה מקבל הודעת צ'אט קבוצתית", + "notificationType-new-chat": "כשאתם מקבלים הודעת צאט", + "notificationType-new-group-chat": "כשאתם מקבלים הודעת צ'אט קבוצתית", "notificationType-new-public-chat": "כאשר מתקבלת הודעה בקבוצת צ'אט ציבורית", - "notificationType-group-invite": "כשאתה מקבל הזמנה מקבוצה", - "notificationType-group-leave": "כאשר משתמש עוזב את הקבוצה שלך", - "notificationType-group-request-membership": "כשמישהו מבקש להירשם לקבוצה שאתה מנהל", - "notificationType-new-register": "כאשר מישהו מתווסף לתור הרישום", - "notificationType-post-queue": "כאשר פוסט חדש נכנס לתור", - "notificationType-new-post-flag": "כאשר פוסט מדווח", - "notificationType-new-user-flag": "כאשר מדווחים על משתמש", - "notificationType-new-reward": "כאשר אתה מרוויח פרס חדש" + "notificationType-group-invite": "כשאתם מקבלים הזמנה מקבוצה", + "notificationType-group-leave": "כשמשתמש עוזב את הקבוצה שלכם", + "notificationType-group-request-membership": "כשמישהו מבקש להירשם לקבוצה שאתם מנהלים", + "notificationType-new-register": "כשמישהו מתווסף לתור הרישום", + "notificationType-post-queue": "כשפוסט חדש נכנס לתור", + "notificationType-new-post-flag": "כשמדווחים על פוסט", + "notificationType-new-user-flag": "כשמדווחים על משתמש", + "notificationType-new-reward": "כאשר אתם מרוויחים פרס חדש" } \ No newline at end of file diff --git a/public/language/he/pages.json b/public/language/he/pages.json index c2e2e39766..e200a55e52 100644 --- a/public/language/he/pages.json +++ b/public/language/he/pages.json @@ -54,6 +54,7 @@ "account/settings-of": "שינוי הגדרות של %1", "account/watched": "נושאים שנצפו על ידי %1", "account/ignored": "נושאים ש%1 התעלמו מהם", + "account/read": "Topics read by %1", "account/upvoted": "פוסטים שהוצבעו לטובה על ידי %1", "account/downvoted": "פוסטים שהוצבעו לרעה על ידי %1", "account/best": "הפוסטים הטובים ביותר שנוצרו על ידי %1", diff --git a/public/language/he/post-queue.json b/public/language/he/post-queue.json index 48f6626bae..f4c44c91cc 100644 --- a/public/language/he/post-queue.json +++ b/public/language/he/post-queue.json @@ -38,5 +38,6 @@ "remove-selected": "הסרת נבחרים", "remove-selected-confirm": "האם להסיר %1 פוסטים שנבחרו?", "bulk-accept-success": "%1 פוסטים אושרו", - "bulk-reject-success": "%1 פוסטים נדחו" + "bulk-reject-success": "%1 פוסטים נדחו", + "links-in-this-post": "קישורים בפוסט הזה" } \ No newline at end of file diff --git a/public/language/he/search.json b/public/language/he/search.json index 93dbdd6272..564a160918 100644 --- a/public/language/he/search.json +++ b/public/language/he/search.json @@ -15,10 +15,10 @@ "all-categories": "כל הקטגוריות", "categories-x": "קטגוריות: %1", "categories-watched-categories": "קטגוריות: קטגוריות במעקב", - "type-a-category": "הקלדו קטגוריה", + "type-a-category": "הקלידו קטגוריה", "tags": "תגיות", "tags-x": "תגיות: %1", - "type-a-tag": "הקלדו תגית", + "type-a-tag": "הקלידו תגית", "match-words": "התאמת מילים", "match-all-words": "התאמת כל המילים", "match-any-word": "התאמת מילה אחת לפחות", @@ -26,7 +26,7 @@ "any": "כל", "posted-by": "פורסם על-ידי", "posted-by-usernames": "פורסם על ידי: %1", - "type-a-username": "הקלדו שם משתמש", + "type-a-username": "הקלידו שם משתמש", "search-child-categories": "חיפוש בתתי קטגוריות", "has-tags": "עם תגיות", "reply-count": "כמות תגובות", diff --git a/public/language/he/themes/harmony.json b/public/language/he/themes/harmony.json index 67cdfdf0fe..90675cc6bf 100644 --- a/public/language/he/themes/harmony.json +++ b/public/language/he/themes/harmony.json @@ -7,7 +7,8 @@ "login-register-to-search": "התחברו או הירשמו כדי לחפש.", "settings.title": "הגדרות ערכת נושא", "settings.enableQuickReply": "הפעלת תגובה מהירה", - "settings.enableBreadcrumbs": "אפשר סימני דרך", + "settings.enableBreadcrumbs": "הצגת פירורי לחם בדפי קטגוריות ונושאים", + "settings.enableBreadcrumbs.why": "פירורי לחם (קישורים לחזרה לכל דף קודם בתוך היררכיית הניווט) נראים ברוב הדפים כדי להקל על הניווט. לעיצוב הבסיסי של דפי הקטגוריות והנושאים יש אמצעים חלופיים לקישור חזרה לדפי האב, אך ניתן לכבות את פירור הלחם כדי להפחית את העומס.", "settings.centerHeaderElements": "מרכוז אלמנטים של כותרת", "settings.mobileTopicTeasers": "הצגת טיזרים של נושאים בנייד", "settings.stickyToolbar": "הצמד את סרגל הכלים בעת גלילה", diff --git a/public/language/he/user.json b/public/language/he/user.json index 7b91ca75d9..b8ea67911e 100644 --- a/public/language/he/user.json +++ b/public/language/he/user.json @@ -1,9 +1,9 @@ { "user-menu": "תפריט משתמש", "banned": "מורחק", - "unbanned": "Unbanned", + "unbanned": "החסימה בוטלה", "muted": "מושתק", - "unmuted": "Unmuted", + "unmuted": "ההשתקה בוטלה", "offline": "לא מחובר", "deleted": "נמחק", "username": "שם משתמש", @@ -43,6 +43,7 @@ "change-all": "שנה הכל", "watched": "נצפה", "ignored": "התעלם", + "read": "Read", "default-category-watch-state": "מצב מעקב על קטגוריה בברירת מחדל", "followers": "עוקבים", "following": "עוקב אחרי", @@ -78,6 +79,7 @@ "change-password": "שנה סיסמה", "change-password-error": "סיסמה לא תקינה!", "change-password-error-wrong-current": "סיסמתך הנוכחית אינה נכונה!", + "change-password-error-same-password": "הסיסמה החדשה זהה לסיסמה הנוכחית שלך, נא להשתמש בסיסמה חדשה.", "change-password-error-match": "הסיסמאות לא תואמות!", "change-password-error-privileges": "אין לך את ההרשאות המתאימות לשנות סיסמה זו.", "change-password-success": "הסיסמה שלך עודכנה!", @@ -113,6 +115,7 @@ "has-no-topics": "המשתמש טרם יצר נושאים כלשהם.", "has-no-watched-topics": "המשתמש טרם צפה בנושאים כלשהם.", "has-no-ignored-topics": "המשתמש הזה טרם התעלם מנושאים.", + "has-no-read-topics": "This user hasn't read any topics yet.", "has-no-upvoted-posts": "המשתמש טרם הצביע בעד פוסטים כלשהם.", "has-no-downvoted-posts": "המשתמש טרם הצביע נגד פוסטים כלשהם.", "has-no-controversial-posts": "למשתמש זה אין עדיין פוסטים עם הצבעה למטה.", @@ -164,16 +167,16 @@ "sso.dissociate-confirm-title": "אשר ביטול שיוך", "sso.dissociate-confirm": "האם אתה בטוח שאתה רוצה לבטל שיוך חשבונך מ%1?", "info.latest-flags": "דיווחים אחרונים", - "info.profile": "Profile", - "info.post": "Post", - "info.view-flag": "View flag", - "info.reported-by": "Reported by:", + "info.profile": "פרופיל", + "info.post": "פוסט", + "info.view-flag": "הצג דיווח", + "info.reported-by": "דווח על ידי:", "info.no-flags": "לא נמצאו פוסטים מדווחים", "info.ban-history": "היסטוריית הרחקות", "info.no-ban-history": "משתמש זה לא הורחק מעולם", "info.banned-until": "הורחק עד %1", "info.banned-expiry": "פג תוקף", - "info.ban-expired": "Ban expired", + "info.ban-expired": "תפוגת חסימה", "info.banned-permanently": "הורחק לצמיתות", "info.banned-reason-label": "סיבה", "info.banned-no-reason": "לא ניתנה סיבה.", diff --git a/public/language/he/users.json b/public/language/he/users.json index 3d8f2d90af..8c029e243c 100644 --- a/public/language/he/users.json +++ b/public/language/he/users.json @@ -1,5 +1,6 @@ { "all-users": "כל המשתמשים", + "followed-users": "משתמשים במעקב", "latest-users": "משתמשים אחרונים", "top-posters": "מפרסמים הכי הרבה", "most-reputation": "המוניטין הגבוה ביותר", diff --git a/public/language/hr/admin/development/info.json b/public/language/hr/admin/development/info.json index 0eb118a954..3b21db6c9a 100644 --- a/public/language/hr/admin/development/info.json +++ b/public/language/hr/admin/development/info.json @@ -3,7 +3,7 @@ "ip": "IP %1", "nodes-responded": "%1 nodes responded within %2ms!", "host": "Domaćin", - "primary": "primary / run jobs", + "primary": "primary / jobs", "pid": "pid", "nodejs": "nodejs", "online": "Na mreži", @@ -19,6 +19,7 @@ "registered": "Registriran", "sockets": "Sockets", + "connection-count": "Connection Count", "guests": "Gosti", "info": "Info" diff --git a/public/language/hr/admin/extend/widgets.json b/public/language/hr/admin/extend/widgets.json index 03f5265acb..5e599bf6f7 100644 --- a/public/language/hr/admin/extend/widgets.json +++ b/public/language/hr/admin/extend/widgets.json @@ -12,6 +12,8 @@ "container.card": "Card", "container.card-header": "Card Header", "container.card-body": "Card Body", + "container.title": "Title", + "container.body": "Body", "container.alert": "Upozorenje", "alert.confirm-delete": "Sigurni ste da želite obrisati ovaj widget?", diff --git a/public/language/hr/admin/settings/reputation.json b/public/language/hr/admin/settings/reputation.json index 5802ad12cb..2db17a175d 100644 --- a/public/language/hr/admin/settings/reputation.json +++ b/public/language/hr/admin/settings/reputation.json @@ -2,7 +2,14 @@ "reputation": "Postavke reputacije", "disable": "Onemogući reputacije", "disable-down-voting": "Onemogući oduzimanje glasova", - "votes-are-public": "Svi glasovi su javni", + "upvote-visibility": "Up Vote visibility", + "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": "Prag aktivnosti", "min-rep-upvote": "Minimum reputation to upvote posts", "upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)", diff --git a/public/language/hr/error.json b/public/language/hr/error.json index 72b7f39112..dde76c1683 100644 --- a/public/language/hr/error.json +++ b/public/language/hr/error.json @@ -153,6 +153,7 @@ "about-me-too-long": "O vama nemože biti duže od %1 znaka", "cant-chat-with-yourself": "Nemoguće je razgovarati sam sa sobom!", "chat-restricted": "Korisnik je ograničio razgovore. Mora vas pratiti prije nego možete razgovarati", + "chat-user-blocked": "You have been blocked by this user.", "chat-disabled": "Razgovor onemogućen", "too-many-messages": "Poslali ste previše poruka, pričekajte.", "invalid-chat-message": "Netočna poruka.", diff --git a/public/language/hr/modules.json b/public/language/hr/modules.json index 6750e12f2a..2e9ffdd03a 100644 --- a/public/language/hr/modules.json +++ b/public/language/hr/modules.json @@ -1,8 +1,9 @@ { "chat.room-id": "Room %1", "chat.chatting-with": "Razgovaraj s", - "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", - "chat.placeholder.mobile": "Type chat message here", + "chat.placeholder": "Type chat message here, drag & drop images", + "chat.placeholder.mobile": "Type chat message", + "chat.placeholder.message-room": "Message #%1", "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", diff --git a/public/language/hr/notifications.json b/public/language/hr/notifications.json index 8433cb789b..fe00fee869 100644 --- a/public/language/hr/notifications.json +++ b/public/language/hr/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 je otvorio novu temu: %2", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 Vas sada prati.", "user-started-following-you-dual": "%1 i %2 vas sada prate.", @@ -75,6 +75,7 @@ "email-confirmed": "Email potvrđen", "email-confirmed-message": "Hvala na potvrdi emaila. Vaš račun je sada aktivan.", "email-confirm-error-message": "Nastao je problem pri potvrdi Vaše email adrese. Provjerite kod ili zatražite novi.", + "email-confirm-error-message-already-validated": "Your email address was already validated.", "email-confirm-sent": "Provjera korisničkog emaila poslana.", "none": "None", "notification-only": "Obavijest samo", diff --git a/public/language/hr/pages.json b/public/language/hr/pages.json index c54951e825..67d99f11ab 100644 --- a/public/language/hr/pages.json +++ b/public/language/hr/pages.json @@ -54,6 +54,7 @@ "account/settings-of": "Changing settings of %1", "account/watched": "Teme prati %1", "account/ignored": "Topics ignored by %1", + "account/read": "Topics read by %1", "account/upvoted": "%1 glasao za", "account/downvoted": "%1 glasao protiv", "account/best": "Najbolje objave od %1", diff --git a/public/language/hr/post-queue.json b/public/language/hr/post-queue.json index 021ed0d83f..24b33da2e6 100644 --- a/public/language/hr/post-queue.json +++ b/public/language/hr/post-queue.json @@ -38,5 +38,6 @@ "remove-selected": "Remove Selected", "remove-selected-confirm": "Do you want to remove %1 selected posts?", "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" } \ No newline at end of file diff --git a/public/language/hr/themes/harmony.json b/public/language/hr/themes/harmony.json index 4e75b9f716..01038d7641 100644 --- a/public/language/hr/themes/harmony.json +++ b/public/language/hr/themes/harmony.json @@ -7,7 +7,8 @@ "login-register-to-search": "Login or register to search.", "settings.title": "Theme settings", "settings.enableQuickReply": "Enable quick reply", - "settings.enableBreadcrumbs": "Enable breadcrumbs", + "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.mobileTopicTeasers": "Show topic teasers on mobile", "settings.stickyToolbar": "Sticky toolbar", diff --git a/public/language/hr/user.json b/public/language/hr/user.json index 5bc99ceadc..e38b67f032 100644 --- a/public/language/hr/user.json +++ b/public/language/hr/user.json @@ -43,6 +43,7 @@ "change-all": "Change All", "watched": "Gledano", "ignored": "Ignored", + "read": "Read", "default-category-watch-state": "Default category watch state", "followers": "Pratitelji", "following": "Prati", @@ -78,6 +79,7 @@ "change-password": "Promjeni lozinku", "change-password-error": "Netočna lozinka!", "change-password-error-wrong-current": "Vaša trenutačna lozinka nije točna!", + "change-password-error-same-password": "Your new password matches your current password, please use a new password.", "change-password-error-match": "Lozinke se moraju podudarati!", "change-password-error-privileges": "Nemate pravo mijenjati ovu lozinku.", "change-password-success": "Vaša lozinka je promijenjena!", @@ -113,6 +115,7 @@ "has-no-topics": "Ovaj korisnik nema objavljenih tema.", "has-no-watched-topics": "Ovaj korisnik ne prati teme.", "has-no-ignored-topics": "This user hasn't ignored any topics yet.", + "has-no-read-topics": "This user hasn't read any topics yet.", "has-no-upvoted-posts": "Ovaj korisnik nije glasao za na objavama.", "has-no-downvoted-posts": "Ovaj korisnik nije glasao protiv na objavama.", "has-no-controversial-posts": "This user does not have any downvoted posts yet.", diff --git a/public/language/hr/users.json b/public/language/hr/users.json index 4e19ec6e73..8fe88453d6 100644 --- a/public/language/hr/users.json +++ b/public/language/hr/users.json @@ -1,5 +1,6 @@ { "all-users": "Svi korisnici", + "followed-users": "Followed Users", "latest-users": "Posljednji korisnici", "top-posters": "Najviše objava", "most-reputation": "Najveća reputacija", diff --git a/public/language/hu/admin/development/info.json b/public/language/hu/admin/development/info.json index d67e35f340..48bf12d34b 100644 --- a/public/language/hu/admin/development/info.json +++ b/public/language/hu/admin/development/info.json @@ -3,7 +3,7 @@ "ip": "IP %1", "nodes-responded": "%1 csomópont válaszolt %2mp-n belül!", "host": "host", - "primary": "primary / run jobs", + "primary": "primary / jobs", "pid": "pid", "nodejs": "nodejs", "online": "online", @@ -19,6 +19,7 @@ "registered": "Regisztrált", "sockets": "Sockets", + "connection-count": "Connection Count", "guests": "Vendégek", "info": "Információ" diff --git a/public/language/hu/admin/extend/widgets.json b/public/language/hu/admin/extend/widgets.json index 090f1b1996..d50677362d 100644 --- a/public/language/hu/admin/extend/widgets.json +++ b/public/language/hu/admin/extend/widgets.json @@ -12,6 +12,8 @@ "container.card": "Kártya", "container.card-header": "Card Header", "container.card-body": "Card Body", + "container.title": "Title", + "container.body": "Body", "container.alert": "Riasztás", "alert.confirm-delete": "Biztosan szeretnéd törölni ezt a modult?", diff --git a/public/language/hu/admin/settings/reputation.json b/public/language/hu/admin/settings/reputation.json index d98443850e..ea7b44203e 100644 --- a/public/language/hu/admin/settings/reputation.json +++ b/public/language/hu/admin/settings/reputation.json @@ -2,7 +2,14 @@ "reputation": "Hírnév beállítások", "disable": "Hírnév rendszer kikapcsolása", "disable-down-voting": "Leszavazás kikapcsolása", - "votes-are-public": "Minden szavazat nyilvános", + "upvote-visibility": "Up Vote visibility", + "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": "Aktivitás küszöb értékek", "min-rep-upvote": "Minimális hírnév a hozzászólások pozitív szavazásához", "upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)", diff --git a/public/language/hu/error.json b/public/language/hu/error.json index 124ab066db..6d5ece2e4d 100644 --- a/public/language/hu/error.json +++ b/public/language/hu/error.json @@ -153,6 +153,7 @@ "about-me-too-long": "A bemutatkozás nem lehet hosszabb %1 karakternél.", "cant-chat-with-yourself": "Nem cseveghetsz magaddal!", "chat-restricted": "Ez a felhasználó korlátozta a chat beállításait. Csak akkor cseveghetsz vele, miután felvett a követettek közé téged", + "chat-user-blocked": "You have been blocked by this user.", "chat-disabled": "Csevegés funkció kikapcsolva", "too-many-messages": "Túl sok üzenetet küldtél, kérlek várj egy picit.", "invalid-chat-message": "Érvénytelen üzenet", diff --git a/public/language/hu/modules.json b/public/language/hu/modules.json index d59eab74e2..39bc19df38 100644 --- a/public/language/hu/modules.json +++ b/public/language/hu/modules.json @@ -1,8 +1,9 @@ { "chat.room-id": "Room %1", "chat.chatting-with": "Csevegés vele", - "chat.placeholder": "Írja be ide a csevegőüzenetet, húzza át a képeket, majd nyomja meg az Enter billentyűt a küldéshez", - "chat.placeholder.mobile": "Írja be ide a csevegő üzenetet", + "chat.placeholder": "Type chat message here, drag & drop images", + "chat.placeholder.mobile": "Type chat message", + "chat.placeholder.message-room": "Message #%1", "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 és mások", "chat.chat-with-usernames": "Csevegés a következővel: %1", diff --git a/public/language/hu/notifications.json b/public/language/hu/notifications.json index e1398d636e..6ca199782b 100644 --- a/public/language/hu/notifications.json +++ b/public/language/hu/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 új témakört hozott létre: %2", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 új témakört hozott létre: %2", "user-started-following-you": "%1 elkezdett követni téged.", "user-started-following-you-dual": "%1 és%2 elkezdett követni téged.", @@ -75,6 +75,7 @@ "email-confirmed": "E-mail megerősítve", "email-confirmed-message": "Köszönjük az e-mail címed megerősítését. A fiókod mostantól teljesen aktiválva van.", "email-confirm-error-message": "Probléma lépett fel az e-mail címed megerősítésekor. Talán a kód érvénytelen volt vagy lejárt.", + "email-confirm-error-message-already-validated": "Your email address was already validated.", "email-confirm-sent": "Megerősítő e-mail elküldve.", "none": "Nincs", "notification-only": "Csak értesítés", diff --git a/public/language/hu/pages.json b/public/language/hu/pages.json index b7cbbf034d..f7489e3b0a 100644 --- a/public/language/hu/pages.json +++ b/public/language/hu/pages.json @@ -54,6 +54,7 @@ "account/settings-of": "%1 beállításainak módosítása", "account/watched": "%1 által figyelt témakörök", "account/ignored": "%1 által mellőzött témakörök", + "account/read": "Topics read by %1", "account/upvoted": "%1 által kedvelt témakörök", "account/downvoted": "%1 által utált témakörök", "account/best": "%1 által írt legjobb hozzászólások", diff --git a/public/language/hu/post-queue.json b/public/language/hu/post-queue.json index 90062aaf46..d7be0c7070 100644 --- a/public/language/hu/post-queue.json +++ b/public/language/hu/post-queue.json @@ -38,5 +38,6 @@ "remove-selected": "Kiválasztott eltávolítása ", "remove-selected-confirm": "El szeretné távolítani %1 kijelölt bejegyzést?", "bulk-accept-success": "%1 bejegyzés elfogadva", - "bulk-reject-success": "%1 bejegyzés elutasítva" + "bulk-reject-success": "%1 bejegyzés elutasítva", + "links-in-this-post": "Links in this post" } \ No newline at end of file diff --git a/public/language/hu/themes/harmony.json b/public/language/hu/themes/harmony.json index 545972cc95..bee0ab5838 100644 --- a/public/language/hu/themes/harmony.json +++ b/public/language/hu/themes/harmony.json @@ -7,7 +7,8 @@ "login-register-to-search": "Login or register to search.", "settings.title": "Theme settings", "settings.enableQuickReply": "Enable quick reply", - "settings.enableBreadcrumbs": "Kenyérmorzsa linkek engedélyezése", + "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.mobileTopicTeasers": "Show topic teasers on mobile", "settings.stickyToolbar": "Sticky toolbar", diff --git a/public/language/hu/user.json b/public/language/hu/user.json index 083785c9e3..c4d7bd7ec1 100644 --- a/public/language/hu/user.json +++ b/public/language/hu/user.json @@ -43,6 +43,7 @@ "change-all": "Minden megváltoztatása", "watched": "Figyelve", "ignored": "Mellőzve", + "read": "Read", "default-category-watch-state": "Alapértelmezett kategória megfigyelési állapot", "followers": "Követők", "following": "Követve", @@ -78,6 +79,7 @@ "change-password": "Jelszó módosítása", "change-password-error": "Érvénytelen jelszó!", "change-password-error-wrong-current": "A jelenlegi jelszavad nem megfelelő!", + "change-password-error-same-password": "Your new password matches your current password, please use a new password.", "change-password-error-match": "A jelszavak nem egyeznek!", "change-password-error-privileges": "Nincs jogod megváltoztatni ezt a jelszót.", "change-password-success": "A jelszavad frissítve!", @@ -113,6 +115,7 @@ "has-no-topics": "A felhasználó még nem szólt hozzá egyik témakörhöz sem.", "has-no-watched-topics": "A felhasználó még nem nézett meg egy témakört sem.", "has-no-ignored-topics": "A felhasználó még nem mellőzött témakört.", + "has-no-read-topics": "This user hasn't read any topics yet.", "has-no-upvoted-posts": "A felhasználó még egy hozzászólást sem kedvelt.", "has-no-downvoted-posts": "A felhasználó még egy hozzászólást sem utált.", "has-no-controversial-posts": "Ennek a felhasználónak még nincsenek negatívan szavazott bejegyzései.", diff --git a/public/language/hu/users.json b/public/language/hu/users.json index 5c10cca3ec..f47545cd78 100644 --- a/public/language/hu/users.json +++ b/public/language/hu/users.json @@ -1,5 +1,6 @@ { "all-users": "Összes Felhasználó", + "followed-users": "Followed Users", "latest-users": "Legújabb felhasználók", "top-posters": "Legaktívabbak", "most-reputation": "Legnépszerűbbek", diff --git a/public/language/hy/admin/development/info.json b/public/language/hy/admin/development/info.json index 881192a02e..ca2bdf9f66 100644 --- a/public/language/hy/admin/development/info.json +++ b/public/language/hy/admin/development/info.json @@ -3,7 +3,7 @@ "ip": " IP % 1", "nodes-responded": "%1 հանգույցներ արձագանքեցին %2ms-ի սահմաններում:", "host": "host", - "primary": "առաջնային / գործարկվող աշխատատեղեր", + "primary": "primary / jobs", "pid": "pid", "nodejs": "nodejs", "online": "առցանց", @@ -19,6 +19,7 @@ "registered": "Գրանցված", "sockets": "Վարդակներ", + "connection-count": "Connection Count", "guests": "Հյուրեր", "info": "տեղեկատվություն" diff --git a/public/language/hy/admin/extend/widgets.json b/public/language/hy/admin/extend/widgets.json index a8928471c5..d54fd6f5ff 100644 --- a/public/language/hy/admin/extend/widgets.json +++ b/public/language/hy/admin/extend/widgets.json @@ -12,6 +12,8 @@ "container.card": "Քարտ", "container.card-header": "Քարտի վերնագիր", "container.card-body": "Քարտի կառուցվածք", + "container.title": "Title", + "container.body": "Body", "container.alert": "Զգուշացում", "alert.confirm-delete": "Վստա՞հ եք, որ ցանկանում եք ջնջել այս վիջեթը:", diff --git a/public/language/hy/admin/settings/reputation.json b/public/language/hy/admin/settings/reputation.json index e11aaccc65..b1785d9487 100644 --- a/public/language/hy/admin/settings/reputation.json +++ b/public/language/hy/admin/settings/reputation.json @@ -2,7 +2,14 @@ "reputation": "Վարկանիշի կարգավորումներ", "disable": "Անջատել վարկանիշի համակարգը", "disable-down-voting": "Անջատել Down Voting-ը", - "votes-are-public": "Բոլոր ձայները հրապարակային են", + "upvote-visibility": "Up Vote visibility", + "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": "Անջատել վարկանիշի համակարգը", "min-rep-upvote": "Նվազագույն հեղինակություն դրական քվեարկության համար", "upvotes-per-day": "Օրական կողմ ձայներ (սահմանված է 0 անսահմանափակ կողմ ձայների համար)", diff --git a/public/language/hy/error.json b/public/language/hy/error.json index c5166adb4c..d06500260e 100644 --- a/public/language/hy/error.json +++ b/public/language/hy/error.json @@ -153,6 +153,7 @@ "about-me-too-long": "Ներեցեք, ձեր իմ մասին չի կարող լինել ավելի քան %1 նիշ(ներ):", "cant-chat-with-yourself": "Դուք չեք կարող զրուցել ինքներդ ձեզ հետ:", "chat-restricted": "Նրանք պետք է հետևեն ձեզ, որպեսզի կարողանաք զրուցել նրանց հետ", + "chat-user-blocked": "You have been blocked by this user.", "chat-disabled": "Զրույցի համակարգն անջատված է", "too-many-messages": "Դուք չափազանց շատ հաղորդագրություններ եք ուղարկել, խնդրում ենք սպասել մի քիչ:", "invalid-chat-message": "Զրույցի անվավեր հաղորդագրություն", diff --git a/public/language/hy/modules.json b/public/language/hy/modules.json index e121ea6bf1..62f73844d5 100644 --- a/public/language/hy/modules.json +++ b/public/language/hy/modules.json @@ -1,8 +1,9 @@ { "chat.room-id": "Սենյակ %1", "chat.chatting-with": "Զրուցել", - "chat.placeholder": "Գրեք հաղորդագրություն այստեղ, տեղադրեք նկարներ, սեղմեք \"enter\" ուղարկելու համար", - "chat.placeholder.mobile": "Գրեք նամակը այստեղ", + "chat.placeholder": "Type chat message here, drag & drop images", + "chat.placeholder.mobile": "Type chat message", + "chat.placeholder.message-room": "Message #%1", "chat.scroll-up-alert": "Ցույց տալ վերջին նամակը", "chat.usernames-and-x-others": "%1 և %2 ուրիշները", "chat.chat-with-usernames": "Գրել %1 - ին", diff --git a/public/language/hy/notifications.json b/public/language/hy/notifications.json index 96a515cbd4..ed3f074473 100644 --- a/public/language/hy/notifications.json +++ b/public/language/hy/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 և %3 ուրիշները պատասխանել են %4 - ին։", "user-posted-topic": "%1-ը նոր թեմա է տեղադրել՝ %2", "user-edited-post": "%1-ը խմբագրել է գրառում %2-ում", - "user-posted-topic-with-tag": "%1 պիտակով նոր թեմա է տեղադրել %2 - ում։", - "user-posted-topic-with-tag-dual": "%1 պիտակով նոր թեմա է տեղադրել %2 և %3 - ում։", - "user-posted-topic-with-tag-triple": "%1 պիտակով նոր թեմա է տեղադրել %2, %3 և %4 - ում։", - "user-posted-topic-with-tag-multiple": "%1 պիտակով նոր թեմա է տեղադրել %2 - ում։", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 նոր թեմա է տեղադրել %2", "user-started-following-you": "%1 սկսեց հետևել ձեզ", "user-started-following-you-dual": "%1 և %2 սկսեցին հետևել ձեզ:", @@ -75,6 +75,7 @@ "email-confirmed": "Էլփոստը հաստատված է", "email-confirmed-message": "Շնորհակալություն ձեր էլփոստը հաստատելու համար: Ձեր հաշիվն այժմ ամբողջությամբ ակտիվացված է:", "email-confirm-error-message": "Ձեր էլփոստի հասցեն վավերացնելիս խնդիր առաջացավ: Հավանաբար կոդը անվավեր է կամ ժամկետանց է:", + "email-confirm-error-message-already-validated": "Your email address was already validated.", "email-confirm-sent": "Հաստատման էլփոստը ուղարկվել է", "none": "None", "notification-only": "Միայն ծանուցում", diff --git a/public/language/hy/pages.json b/public/language/hy/pages.json index 5ead80621c..76df3f527d 100644 --- a/public/language/hy/pages.json +++ b/public/language/hy/pages.json @@ -54,6 +54,7 @@ "account/settings-of": "Փոփոխվում են %1 կարգավորումները", "account/watched": "Թեմաներ, որոնք դիտել է %1-ը", "account/ignored": "%1-ի կողմից անտեսված թեմաներ", + "account/read": "Topics read by %1", "account/upvoted": "%1-ի կողմից քվեարկված գրառումները", "account/downvoted": "%1-ի կողմից դեմ քվեարկված գրառումները", "account/best": "%1-ի կողմից արված լավագույն գրառումները", diff --git a/public/language/hy/post-queue.json b/public/language/hy/post-queue.json index a5dc59fcf4..2dae2a1575 100644 --- a/public/language/hy/post-queue.json +++ b/public/language/hy/post-queue.json @@ -38,5 +38,6 @@ "remove-selected": "Հեռացնել ընտրվածը", "remove-selected-confirm": "Ցանկանու՞մ եք հեռացնել %1 ընտրված գրառումները:", "bulk-accept-success": "Ընդունված է %1 գրառում", - "bulk-reject-success": "%1 գրառում մերժվել է" + "bulk-reject-success": "%1 գրառում մերժվել է", + "links-in-this-post": "Links in this post" } \ No newline at end of file diff --git a/public/language/hy/themes/harmony.json b/public/language/hy/themes/harmony.json index 92097bb834..72b6b4166a 100644 --- a/public/language/hy/themes/harmony.json +++ b/public/language/hy/themes/harmony.json @@ -7,7 +7,8 @@ "login-register-to-search": "Մուտք գործել կամ գրանցվել որոնման համար:", "settings.title": "Թեմայի կարգավորումներ", "settings.enableQuickReply": "Միացնել արագ արձագանքը", - "settings.enableBreadcrumbs": "Enable breadcrumbs", + "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": "Կենտրոնական վերնագրի տարրեր", "settings.mobileTopicTeasers": "Ցույց տալ թեմայի թիզերները բջջայինով", "settings.stickyToolbar": "Կպչուն գործիքագոտի", diff --git a/public/language/hy/user.json b/public/language/hy/user.json index 27c5e0b5af..ee6d3885d1 100644 --- a/public/language/hy/user.json +++ b/public/language/hy/user.json @@ -43,6 +43,7 @@ "change-all": "Փոխել բոլորը", "watched": "Դիտված", "ignored": "Անտեսված", + "read": "Read", "default-category-watch-state": "Հիմնական կատեգորիայի դիտման վիճակը", "followers": "Հետևորդներ", "following": "Հետևող", @@ -78,6 +79,7 @@ "change-password": "փոխել գաղտնաբառը", "change-password-error": "Սխալ գաղտնաբառ", "change-password-error-wrong-current": "Ձեր ընթացիկ գաղտնաբառը սխալ է", + "change-password-error-same-password": "Your new password matches your current password, please use a new password.", "change-password-error-match": "Գաղտնաբառը պետք է համընկնի", "change-password-error-privileges": "Դուք իրավունք չունեք փոխելու այս գաղտնաբառը:", "change-password-success": "Ձեր գաղտնաբառը թարմացվել է:", @@ -113,6 +115,7 @@ "has-no-topics": "Այս օգտվողը դեռ ոչ մի թեմա չի հրապարակել:", "has-no-watched-topics": "Այս օգտվողը դեռ ոչ մի թեմա չի դիտել:", "has-no-ignored-topics": "Այս օգտատերը դեռ ոչ մի թեմա չի անտեսել:", + "has-no-read-topics": "This user hasn't read any topics yet.", "has-no-upvoted-posts": "Այս օգտատերը դեռևս ոչ մի գրառման օգտին չի քվեարկել:", "has-no-downvoted-posts": "Այս օգտատերը դեռևս ոչ մի գրառման դեմ չի քվեարկել:", "has-no-controversial-posts": "Այս օգտատերը դեռ չունի դեմ քվեարկած գրառումներ:", diff --git a/public/language/hy/users.json b/public/language/hy/users.json index e94f9f3271..42c66aa7e9 100644 --- a/public/language/hy/users.json +++ b/public/language/hy/users.json @@ -1,5 +1,6 @@ { "all-users": "Բոլոր օգտատերերը", + "followed-users": "Followed Users", "latest-users": "Վերջին օգտատերերը", "top-posters": "Ամենաշատ գրառողները", "most-reputation": "Ամենաբարձր վարկանիշը", diff --git a/public/language/id/admin/development/info.json b/public/language/id/admin/development/info.json index 11202d9c3a..9834719daf 100644 --- a/public/language/id/admin/development/info.json +++ b/public/language/id/admin/development/info.json @@ -3,7 +3,7 @@ "ip": "IP %1", "nodes-responded": "%1 nodes responded within %2ms!", "host": "host", - "primary": "primary / run jobs", + "primary": "primary / jobs", "pid": "pid", "nodejs": "nodejs", "online": "online", @@ -19,6 +19,7 @@ "registered": "Registered", "sockets": "Sockets", + "connection-count": "Connection Count", "guests": "Guests", "info": "Info" diff --git a/public/language/id/admin/extend/widgets.json b/public/language/id/admin/extend/widgets.json index 5d2832feed..db72f2feb3 100644 --- a/public/language/id/admin/extend/widgets.json +++ b/public/language/id/admin/extend/widgets.json @@ -12,6 +12,8 @@ "container.card": "Card", "container.card-header": "Card Header", "container.card-body": "Card Body", + "container.title": "Title", + "container.body": "Body", "container.alert": "Alert", "alert.confirm-delete": "Are you sure you wish to delete this widget?", diff --git a/public/language/id/admin/settings/reputation.json b/public/language/id/admin/settings/reputation.json index e4fff22620..479069e3a4 100644 --- a/public/language/id/admin/settings/reputation.json +++ b/public/language/id/admin/settings/reputation.json @@ -2,7 +2,14 @@ "reputation": "Reputation Settings", "disable": "Disable Reputation System", "disable-down-voting": "Disable Down Voting", - "votes-are-public": "All Votes Are Public", + "upvote-visibility": "Up Vote visibility", + "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", "min-rep-upvote": "Minimum reputation to upvote posts", "upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)", diff --git a/public/language/id/error.json b/public/language/id/error.json index 6ad4b31b96..51e20212f9 100644 --- a/public/language/id/error.json +++ b/public/language/id/error.json @@ -153,6 +153,7 @@ "about-me-too-long": "Sorry, your about me cannot be longer than %1 character(s).", "cant-chat-with-yourself": "Kamu tidak dapat chat dengan akun sendiri", "chat-restricted": "Pengguna ini telah membatasi percakapa mereka. Mereka harus mengikutimu sebelum kamu dapat melakukan percakapan dengan mereka", + "chat-user-blocked": "You have been blocked by this user.", "chat-disabled": "Chat system disabled", "too-many-messages": "You have sent too many messages, please wait awhile.", "invalid-chat-message": "Invalid chat message", diff --git a/public/language/id/modules.json b/public/language/id/modules.json index 991e7bfeb8..9222e101f9 100644 --- a/public/language/id/modules.json +++ b/public/language/id/modules.json @@ -1,8 +1,9 @@ { "chat.room-id": "Room %1", "chat.chatting-with": "Berbincang dengan", - "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", - "chat.placeholder.mobile": "Type chat message here", + "chat.placeholder": "Type chat message here, drag & drop images", + "chat.placeholder.mobile": "Type chat message", + "chat.placeholder.message-room": "Message #%1", "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", diff --git a/public/language/id/notifications.json b/public/language/id/notifications.json index 4b6259caba..0a067492e4 100644 --- a/public/language/id/notifications.json +++ b/public/language/id/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 telah membuat topik baru: %2", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 mulai mengikutimu.", "user-started-following-you-dual": "%1 and %2 started following you.", @@ -75,6 +75,7 @@ "email-confirmed": "Email telah Dikonfirmasi", "email-confirmed-message": "Terimakasih telah melakukan validasi email. Akunmu saat ini telah aktif sepenuhnya.", "email-confirm-error-message": "Terjadi masalah saat melakukan validasi emailmu. Mungkin terjadi kesalahan kode atau waktu habis.", + "email-confirm-error-message-already-validated": "Your email address was already validated.", "email-confirm-sent": "Email konfirmasi telah dikirim.", "none": "None", "notification-only": "Notification Only", diff --git a/public/language/id/pages.json b/public/language/id/pages.json index 8ba312a802..40ecbe6bff 100644 --- a/public/language/id/pages.json +++ b/public/language/id/pages.json @@ -54,6 +54,7 @@ "account/settings-of": "Changing settings of %1", "account/watched": "Topics watched by %1", "account/ignored": "Topics ignored by %1", + "account/read": "Topics read by %1", "account/upvoted": "Posts upvoted by %1", "account/downvoted": "Posts downvoted by %1", "account/best": "Best posts made by %1", diff --git a/public/language/id/post-queue.json b/public/language/id/post-queue.json index 021ed0d83f..24b33da2e6 100644 --- a/public/language/id/post-queue.json +++ b/public/language/id/post-queue.json @@ -38,5 +38,6 @@ "remove-selected": "Remove Selected", "remove-selected-confirm": "Do you want to remove %1 selected posts?", "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" } \ No newline at end of file diff --git a/public/language/id/themes/harmony.json b/public/language/id/themes/harmony.json index 4e75b9f716..01038d7641 100644 --- a/public/language/id/themes/harmony.json +++ b/public/language/id/themes/harmony.json @@ -7,7 +7,8 @@ "login-register-to-search": "Login or register to search.", "settings.title": "Theme settings", "settings.enableQuickReply": "Enable quick reply", - "settings.enableBreadcrumbs": "Enable breadcrumbs", + "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.mobileTopicTeasers": "Show topic teasers on mobile", "settings.stickyToolbar": "Sticky toolbar", diff --git a/public/language/id/user.json b/public/language/id/user.json index a8e0f29e1e..f81e5e1b09 100644 --- a/public/language/id/user.json +++ b/public/language/id/user.json @@ -43,6 +43,7 @@ "change-all": "Change All", "watched": "Watched", "ignored": "Ignored", + "read": "Read", "default-category-watch-state": "Default category watch state", "followers": "Pengikut", "following": "Mengikuti", @@ -78,6 +79,7 @@ "change-password": "Ganti Kata Sandi", "change-password-error": "Kata Sandi Salah!", "change-password-error-wrong-current": "Kata Sandi kamu saat ini salah!", + "change-password-error-same-password": "Your new password matches your current password, please use a new password.", "change-password-error-match": "Kata Sandi harus sesuai!", "change-password-error-privileges": "Kamu tidak memiliki hak untuk mengganti kata sandi ini.", "change-password-success": "Kata Sandi kamu telah diperbarui!", @@ -113,6 +115,7 @@ "has-no-topics": "Pengguna ini belum memposting topik apa pun.", "has-no-watched-topics": "This user hasn't watched any topics yet.", "has-no-ignored-topics": "This user hasn't ignored any topics yet.", + "has-no-read-topics": "This user hasn't read any topics yet.", "has-no-upvoted-posts": "This user hasn't upvoted any posts yet.", "has-no-downvoted-posts": "This user hasn't downvoted any posts yet.", "has-no-controversial-posts": "This user does not have any downvoted posts yet.", diff --git a/public/language/id/users.json b/public/language/id/users.json index 6d1ecde478..cbdb652b31 100644 --- a/public/language/id/users.json +++ b/public/language/id/users.json @@ -1,5 +1,6 @@ { "all-users": "All Users", + "followed-users": "Followed Users", "latest-users": "Pengguna Terakhir", "top-posters": "Posting Terbanyak", "most-reputation": "Reputasi Terbanyak", diff --git a/public/language/it/admin/dashboard.json b/public/language/it/admin/dashboard.json index bc701ab86e..691b2914e7 100644 --- a/public/language/it/admin/dashboard.json +++ b/public/language/it/admin/dashboard.json @@ -81,7 +81,7 @@ "last-restarted-by": "Ultimo riavvio di", "no-users-browsing": "Nessun utente sta navigando", - "back-to-dashboard": "Torna alla dashboard", + "back-to-dashboard": "Torna al cruscotto", "details.no-users": "Nessun utente si è iscritto nell'arco di tempo selezionato", "details.no-topics": "Nessuna discussione è stata postata nell'arco di tempo selezionato", "details.no-searches": "Non sono state effettuate ricerche nell'arco di tempo selezionato.", diff --git a/public/language/it/admin/development/info.json b/public/language/it/admin/development/info.json index 28b9bf2831..d5bb340bc5 100644 --- a/public/language/it/admin/development/info.json +++ b/public/language/it/admin/development/info.json @@ -3,7 +3,7 @@ "ip": "IP %1", "nodes-responded": "%1 nodi hanno risposto entro %2ms!", "host": "host", - "primary": "processi primari/eseguiti", + "primary": "primario / lavori", "pid": "pid", "nodejs": "nodejs", "online": "online", @@ -19,6 +19,7 @@ "registered": "Registrato", "sockets": "Socket", + "connection-count": "Conteggio connessioni", "guests": "Ospiti", "info": "Informazioni" diff --git a/public/language/it/admin/extend/widgets.json b/public/language/it/admin/extend/widgets.json index 0b9b4cb2a4..d5ebc44952 100644 --- a/public/language/it/admin/extend/widgets.json +++ b/public/language/it/admin/extend/widgets.json @@ -12,6 +12,8 @@ "container.card": "Scheda", "container.card-header": "Intestazione della scheda", "container.card-body": "Corpo della scheda", + "container.title": "Titolo", + "container.body": "Corpo", "container.alert": "Avviso", "alert.confirm-delete": "Sei sicuro di voler eliminare questo widget?", diff --git a/public/language/it/admin/manage/privileges.json b/public/language/it/admin/manage/privileges.json index 1f3e550681..319dbdf3b1 100644 --- a/public/language/it/admin/manage/privileges.json +++ b/public/language/it/admin/manage/privileges.json @@ -40,7 +40,7 @@ "delete-topics": "Elimina discussioni", "purge": "Elimina definitivamente", "moderate": "Moderata", - "admin-dashboard": "Dashboard", + "admin-dashboard": "Cruscotto", "admin-categories": "Categorie", "admin-privileges": "Privilegi", "admin-users": "Utenti", diff --git a/public/language/it/admin/menu.json b/public/language/it/admin/menu.json index b808251105..9a15c585ca 100644 --- a/public/language/it/admin/menu.json +++ b/public/language/it/admin/menu.json @@ -1,5 +1,5 @@ { - "section-dashboard": "Dashboard", + "section-dashboard": "Cruscotti", "dashboard/overview": "Panoramica", "dashboard/logins": "Accessi", "dashboard/users": "Utenti", diff --git a/public/language/it/admin/settings/reputation.json b/public/language/it/admin/settings/reputation.json index f84ec4ee04..5dd42ceeac 100644 --- a/public/language/it/admin/settings/reputation.json +++ b/public/language/it/admin/settings/reputation.json @@ -2,7 +2,14 @@ "reputation": "Impostazioni reputazione", "disable": "Disabilita sistema reputazione", "disable-down-voting": "Disabilita voto negativo", - "votes-are-public": "Tutti i voti sono pubblici", + "upvote-visibility": "Visibilità del voto positivo", + "upvote-visibility-all": "Tutti possono vedere i voti positivi", + "upvote-visibility-loggedin": "Solo gli utenti registrati possono vedere i voti positivi", + "upvote-visibility-privileged": "Solo gli utenti privilegiati come amministratori e moderatori possono visualizzare i voti positivi", + "downvote-visibility": "Visibilità del voto negativo", + "downvote-visibility-all": "Tutti possono vedere i voti negativi", + "downvote-visibility-loggedin": "Solo gli utenti registrati possono vedere i voti negativi", + "downvote-visibility-privileged": "Solo gli utenti privilegiati come amministratori e moderatori possono visualizzare i voti negativi", "thresholds": "Soglie di attività", "min-rep-upvote": "Reputazione minima per votare positivamente i post", "upvotes-per-day": "Voti positivi al giorno (impostare a 0 per i voti positivi illimitati)", diff --git a/public/language/it/error.json b/public/language/it/error.json index fa8cb7480f..b54386f4e4 100644 --- a/public/language/it/error.json +++ b/public/language/it/error.json @@ -153,6 +153,7 @@ "about-me-too-long": "Spiacenti, il testo non può essere più lungo di %1 caratteri.", "cant-chat-with-yourself": "Non puoi chattare con te stesso!", "chat-restricted": "Questo utente ha ristretto i suoi messaggi in chat alle persone che segue. Per poter chattare con te ti deve prima seguire.", + "chat-user-blocked": "Sei stato bloccato da questo utente.", "chat-disabled": "Il sistema di chat è stato disabilitato", "too-many-messages": "Hai inviato troppi messaggi, aspetta un attimo.", "invalid-chat-message": "Messaggio chat non valido", diff --git a/public/language/it/modules.json b/public/language/it/modules.json index 1d29c33648..4a244172ac 100644 --- a/public/language/it/modules.json +++ b/public/language/it/modules.json @@ -1,8 +1,9 @@ { "chat.room-id": "Stanza %1", "chat.chatting-with": "Messaggia con", - "chat.placeholder": "Digita il messaggio di chat qui, trascina le immagini, premi invio per inviare", - "chat.placeholder.mobile": "Digita il messaggio di chat qui", + "chat.placeholder": "Digita qui il messaggio di chat, trascina e rilascia le immagini", + "chat.placeholder.mobile": "Digita il messaggio di chat", + "chat.placeholder.message-room": "Messaggio #%1", "chat.scroll-up-alert": "Vai al messaggio più recente", "chat.usernames-and-x-others": "%1 & %2 altri", "chat.chat-with-usernames": "Chatta con %1", diff --git a/public/language/it/notifications.json b/public/language/it/notifications.json index 737dfd0f20..b9a35fcac8 100644 --- a/public/language/it/notifications.json +++ b/public/language/it/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 e %3 altri hanno postato risposte a: %4", "user-posted-topic": "%1 ha postato una nuova discussione: %2", "user-edited-post": "%1 ha modificato un post in %2", - "user-posted-topic-with-tag": "%1 ha postato una nuova discussione con tag %2", - "user-posted-topic-with-tag-dual": "%1 ha postato una nuova discussione con i tag %2 e %3", - "user-posted-topic-with-tag-triple": "%1 ha postato una nuova discussione con e tag %2, %3 e %4", - "user-posted-topic-with-tag-multiple": "%1 ha postato una nuova discussione con i tag %2", + "user-posted-topic-with-tag": "%1 ha postato %2 (taggato %3)", + "user-posted-topic-with-tag-dual": "%1 ha postato %2 (taggato %3 e %4)", + "user-posted-topic-with-tag-triple": "%1 ha postato %2 (taggato %3, %4, e %5)", + "user-posted-topic-with-tag-multiple": "%1 ha postato %2 (taggato %3)", "user-posted-topic-in-category": "%1 ha postato una nuova discussione in %2", "user-started-following-you": "%1 ha iniziato a seguirti.", "user-started-following-you-dual": "%1 e %2 hanno iniziato a seguirti.", @@ -75,6 +75,7 @@ "email-confirmed": "Email Confermata", "email-confirmed-message": "Grazie per aver validato la tua email. Il tuo account è ora completamente attivato.", "email-confirm-error-message": "C'è stato un problema nella validazione del tuo indirizzo email. Potrebbe essere il codice non valido o scaduto.", + "email-confirm-error-message-already-validated": "Il tuo indirizzo email è già stato convalidato.", "email-confirm-sent": "Email di conferma inviata.", "none": "Nessuna", "notification-only": "Solo Notifiche", diff --git a/public/language/it/pages.json b/public/language/it/pages.json index f3045b97fc..615ecef4c2 100644 --- a/public/language/it/pages.json +++ b/public/language/it/pages.json @@ -54,6 +54,7 @@ "account/settings-of": "Modifica impostazioni di %1", "account/watched": "Discussioni seguite da %1", "account/ignored": "Discussioni ignorate da %1", + "account/read": "Discussioni lette da %1", "account/upvoted": "Post apprezzati da %1", "account/downvoted": "Post votati negativamente da %1", "account/best": "I migliori post di %1", diff --git a/public/language/it/post-queue.json b/public/language/it/post-queue.json index 6e9deaa491..b9ebfe9bfb 100644 --- a/public/language/it/post-queue.json +++ b/public/language/it/post-queue.json @@ -38,5 +38,6 @@ "remove-selected": "Rimuovi selezionati", "remove-selected-confirm": "Vuoi rimuovere %1 post selezionati?", "bulk-accept-success": "%1 post accettati", - "bulk-reject-success": "%1 post rifiutati" + "bulk-reject-success": "%1 post rifiutati", + "links-in-this-post": "Link in questo post" } \ No newline at end of file diff --git a/public/language/it/themes/harmony.json b/public/language/it/themes/harmony.json index 130e1f2c48..b63252bdaa 100644 --- a/public/language/it/themes/harmony.json +++ b/public/language/it/themes/harmony.json @@ -7,7 +7,8 @@ "login-register-to-search": "Accedi o registrati per effettuare la ricerca.", "settings.title": "Impostazioni tema", "settings.enableQuickReply": "Abilita risposta rapida", - "settings.enableBreadcrumbs": "Abilita breadcrumb", + "settings.enableBreadcrumbs": "Mostra breadcrumb nelle pagine Categoria e Discussione", + "settings.enableBreadcrumbs.why": "I breadcrumb sono visibili nella maggior parte delle pagine per facilitare la navigazione. Il design di base delle pagine delle categorie e delle discussioni prevede mezzi alternativi per ricollegarsi alle pagine principali, ma il breadcrumb può essere disattivato per ridurre la confusione.", "settings.centerHeaderElements": "Centra elementi dell'intestazione", "settings.mobileTopicTeasers": "Mostra le anteprime delle discussioni su mobile", "settings.stickyToolbar": "Barra degli strumenti adesiva", diff --git a/public/language/it/user.json b/public/language/it/user.json index 7f5bac3720..5bdb099da0 100644 --- a/public/language/it/user.json +++ b/public/language/it/user.json @@ -43,6 +43,7 @@ "change-all": "Cambia Tutto", "watched": "Seguiti", "ignored": "Ignorati", + "read": "Letto", "default-category-watch-state": "Stato di controllo della categoria predefinita", "followers": "Da chi è seguito", "following": "Chi segue", @@ -78,6 +79,7 @@ "change-password": "Cambia la Password", "change-password-error": "Password non valida!", "change-password-error-wrong-current": "La tua password corrente non è corretta!", + "change-password-error-same-password": "La tua nuova password corrisponde alla password attuale, utilizza una nuova password.", "change-password-error-match": "Le password devono coincidere!", "change-password-error-privileges": "Non hai il permesso di cambiare questa password.", "change-password-success": "La tua password è stata aggiornata!", @@ -113,6 +115,7 @@ "has-no-topics": "Questo utente non ha ancora postato alcuna discussione.", "has-no-watched-topics": "Questo utente non sta seguendo discussioni.", "has-no-ignored-topics": "Questo utente non sta ignorando discussioni.", + "has-no-read-topics": "Questo utente non ha ancora letto nessuna discussione.", "has-no-upvoted-posts": "Questo utente non ha ancora apprezzato nessun post.", "has-no-downvoted-posts": "Questo utente non ha ancora votato negativamente alcun post", "has-no-controversial-posts": "Questo utente non ha ancora nessun post votato negativamente.", diff --git a/public/language/it/users.json b/public/language/it/users.json index bfbbc52a6f..bf4e3b0aca 100644 --- a/public/language/it/users.json +++ b/public/language/it/users.json @@ -1,5 +1,6 @@ { "all-users": "Tutti gli utenti", + "followed-users": "Utenti seguiti", "latest-users": "Ultimi Utenti", "top-posters": "Utenti più attivi", "most-reputation": "Reputazione più alta", diff --git a/public/language/ja/admin/development/info.json b/public/language/ja/admin/development/info.json index f70dd00849..857c419a66 100644 --- a/public/language/ja/admin/development/info.json +++ b/public/language/ja/admin/development/info.json @@ -3,7 +3,7 @@ "ip": "IP %1", "nodes-responded": "%1ノードは%2ms以内に応答しました!", "host": "ホスト", - "primary": "primary / run jobs", + "primary": "primary / jobs", "pid": "pid", "nodejs": "nodejs", "online": "オンライン", @@ -19,6 +19,7 @@ "registered": "登録数", "sockets": "ソケット数", + "connection-count": "Connection Count", "guests": "ゲスト数", "info": "情報" diff --git a/public/language/ja/admin/extend/widgets.json b/public/language/ja/admin/extend/widgets.json index a6d4b8dc56..e6a320a8de 100644 --- a/public/language/ja/admin/extend/widgets.json +++ b/public/language/ja/admin/extend/widgets.json @@ -12,6 +12,8 @@ "container.card": "Card", "container.card-header": "Card Header", "container.card-body": "Card Body", + "container.title": "Title", + "container.body": "Body", "container.alert": "警告", "alert.confirm-delete": "このウィジェットを削除してもよろしいですか?", diff --git a/public/language/ja/admin/settings/reputation.json b/public/language/ja/admin/settings/reputation.json index 2ae070ba58..790f0e1d0f 100644 --- a/public/language/ja/admin/settings/reputation.json +++ b/public/language/ja/admin/settings/reputation.json @@ -2,7 +2,14 @@ "reputation": "評価の設定", "disable": "レピュテーションシステムを無効にする", "disable-down-voting": "低評価を無効にする", - "votes-are-public": "すべての投票は公開されています", + "upvote-visibility": "Up Vote visibility", + "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": "アクティビティのしきい値", "min-rep-upvote": "Minimum reputation to upvote posts", "upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)", diff --git a/public/language/ja/error.json b/public/language/ja/error.json index 651ca4edcc..fe36d33b8e 100644 --- a/public/language/ja/error.json +++ b/public/language/ja/error.json @@ -153,6 +153,7 @@ "about-me-too-long": "申し訳ありませんが、あなたの私についての項目が%1より長くすることができません。", "cant-chat-with-yourself": "自分にチャットすることはできません!", "chat-restricted": "This user has restricted their chat messages. They must follow you before you can chat with them", + "chat-user-blocked": "You have been blocked by this user.", "chat-disabled": "Chat system disabled", "too-many-messages": "You have sent too many messages, please wait awhile.", "invalid-chat-message": "Invalid chat message", diff --git a/public/language/ja/modules.json b/public/language/ja/modules.json index 221c7c04c9..597165666b 100644 --- a/public/language/ja/modules.json +++ b/public/language/ja/modules.json @@ -1,8 +1,9 @@ { "chat.room-id": "Room %1", "chat.chatting-with": "とチャット", - "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", - "chat.placeholder.mobile": "Type chat message here", + "chat.placeholder": "Type chat message here, drag & drop images", + "chat.placeholder.mobile": "Type chat message", + "chat.placeholder.message-room": "Message #%1", "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", diff --git a/public/language/ja/notifications.json b/public/language/ja/notifications.json index ab09acafd9..679de2e917 100644 --- a/public/language/ja/notifications.json +++ b/public/language/ja/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 が新しいスレッドを投稿しました。: %2", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1があなたをフォローしました。", "user-started-following-you-dual": "%1%2 があなたをフォローしました。", @@ -75,6 +75,7 @@ "email-confirmed": "Eメールが確認されました", "email-confirmed-message": "メールアドレス検証をして頂き、ありがとうございます。あなたのアカウントは完全にアクティブになりました。", "email-confirm-error-message": "あなたのEメールアドレス検証に問題があります。コードが無効か、期限切れです。", + "email-confirm-error-message-already-validated": "Your email address was already validated.", "email-confirm-sent": "確認メールが送信されました。", "none": "なし", "notification-only": "通知のみ", diff --git a/public/language/ja/pages.json b/public/language/ja/pages.json index 119a858148..90caf56c3b 100644 --- a/public/language/ja/pages.json +++ b/public/language/ja/pages.json @@ -54,6 +54,7 @@ "account/settings-of": "Changing settings of %1", "account/watched": "%1がスレッドをウォッチ済みに設定しました", "account/ignored": "%1がスレッドを無視済みに設定しました", + "account/read": "Topics read by %1", "account/upvoted": "%1が投稿を高評価しました", "account/downvoted": "%1が投稿を低評価しました", "account/best": "%1のベストな投稿", diff --git a/public/language/ja/post-queue.json b/public/language/ja/post-queue.json index 021ed0d83f..24b33da2e6 100644 --- a/public/language/ja/post-queue.json +++ b/public/language/ja/post-queue.json @@ -38,5 +38,6 @@ "remove-selected": "Remove Selected", "remove-selected-confirm": "Do you want to remove %1 selected posts?", "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" } \ No newline at end of file diff --git a/public/language/ja/themes/harmony.json b/public/language/ja/themes/harmony.json index 4e75b9f716..01038d7641 100644 --- a/public/language/ja/themes/harmony.json +++ b/public/language/ja/themes/harmony.json @@ -7,7 +7,8 @@ "login-register-to-search": "Login or register to search.", "settings.title": "Theme settings", "settings.enableQuickReply": "Enable quick reply", - "settings.enableBreadcrumbs": "Enable breadcrumbs", + "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.mobileTopicTeasers": "Show topic teasers on mobile", "settings.stickyToolbar": "Sticky toolbar", diff --git a/public/language/ja/user.json b/public/language/ja/user.json index bba4d3a261..e2cdfd65fb 100644 --- a/public/language/ja/user.json +++ b/public/language/ja/user.json @@ -43,6 +43,7 @@ "change-all": "Change All", "watched": "ウォッチ済み", "ignored": "無視済み", + "read": "Read", "default-category-watch-state": "デフォルトのカテゴリウォッチ状態", "followers": "フォロワー", "following": "フォロー中", @@ -78,6 +79,7 @@ "change-password": "パスワードを変更", "change-password-error": "無効のパスワード!", "change-password-error-wrong-current": "現在のパスワードは正しくありません!", + "change-password-error-same-password": "Your new password matches your current password, please use a new password.", "change-password-error-match": "パスワードは一致しません!", "change-password-error-privileges": "パスワードを更新する権限はありません。", "change-password-success": "パスワードを更新しました!", @@ -113,6 +115,7 @@ "has-no-topics": "このユーザーはまだ一つもスレッドを作っていません", "has-no-watched-topics": "このユーザーはまだ一つもスレッドをウォッチしていません", "has-no-ignored-topics": "この利用者はまだトピックを無視していません。", + "has-no-read-topics": "This user hasn't read any topics yet.", "has-no-upvoted-posts": "このユーザーはまだ一つも投稿に高評価を付けていません。", "has-no-downvoted-posts": "このユーザーはまだ一つも投稿に低評価を付けていません。", "has-no-controversial-posts": "This user does not have any downvoted posts yet.", diff --git a/public/language/ja/users.json b/public/language/ja/users.json index acde8c9719..d0408692ee 100644 --- a/public/language/ja/users.json +++ b/public/language/ja/users.json @@ -1,5 +1,6 @@ { "all-users": "All Users", + "followed-users": "Followed Users", "latest-users": "新しいユーザー", "top-posters": "最も投稿したユーザー", "most-reputation": "最も評価されたユーザー", diff --git a/public/language/ko/admin/development/info.json b/public/language/ko/admin/development/info.json index 4237eaa8ae..08cb8a739b 100644 --- a/public/language/ko/admin/development/info.json +++ b/public/language/ko/admin/development/info.json @@ -3,7 +3,7 @@ "ip": "IP %1", "nodes-responded": "%1개의 노드가 %2밀리초 안에 응답했습니다!", "host": "호스트", - "primary": "primary / run jobs", + "primary": "primary / jobs", "pid": "PID", "nodejs": "Node.js", "online": "온라인", @@ -19,6 +19,7 @@ "registered": "Registered", "sockets": "소켓", + "connection-count": "Connection Count", "guests": "비회원", "info": "정보" diff --git a/public/language/ko/admin/extend/widgets.json b/public/language/ko/admin/extend/widgets.json index 33add708a4..4c52217ff2 100644 --- a/public/language/ko/admin/extend/widgets.json +++ b/public/language/ko/admin/extend/widgets.json @@ -12,6 +12,8 @@ "container.card": "Card", "container.card-header": "Card Header", "container.card-body": "Card Body", + "container.title": "Title", + "container.body": "Body", "container.alert": "Alert", "alert.confirm-delete": "이 위젯을 삭제하시겠습니까?", diff --git a/public/language/ko/admin/settings/reputation.json b/public/language/ko/admin/settings/reputation.json index 43bb0328db..0451e4bc49 100644 --- a/public/language/ko/admin/settings/reputation.json +++ b/public/language/ko/admin/settings/reputation.json @@ -2,7 +2,14 @@ "reputation": "평판 설정", "disable": "평판 시스템 비활성화", "disable-down-voting": "비추천 비활성화", - "votes-are-public": "모든 투표 공개", + "upvote-visibility": "Up Vote visibility", + "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": "활동 임계값", "min-rep-upvote": "게시물을 추천할 수 있는 최소 평판", "upvotes-per-day": "하루에 가능한 추천 횟수 (무제한 추천을 위해 0으로 설정)", diff --git a/public/language/ko/error.json b/public/language/ko/error.json index cb6153953c..f276a770ce 100644 --- a/public/language/ko/error.json +++ b/public/language/ko/error.json @@ -153,6 +153,7 @@ "about-me-too-long": "죄송합니다. 자기 소개는 최대 %1자보다 길 수 없습니다.", "cant-chat-with-yourself": "자기 자신과 채팅할 수 없습니다!", "chat-restricted": "이 사용자는 채팅 메시지를 제한했습니다. 채팅할 수 있도록 팔로우해야 합니다", + "chat-user-blocked": "You have been blocked by this user.", "chat-disabled": "채팅 시스템이 비활성화되었습니다", "too-many-messages": "너무 많은 메시지를 보냈습니다. 잠시 기다려주세요.", "invalid-chat-message": "유효하지 않은 채팅 메시지", diff --git a/public/language/ko/modules.json b/public/language/ko/modules.json index 29760612b9..f91693d75a 100644 --- a/public/language/ko/modules.json +++ b/public/language/ko/modules.json @@ -1,8 +1,9 @@ { "chat.room-id": "대화방 %1", "chat.chatting-with": "대화 중", - "chat.placeholder": "여기에 채팅 메시지를 입력하세요. 이미지는 끌어다 놓으세요. 전송하려면 Enter 키를 누르세요.", - "chat.placeholder.mobile": "여기에 채팅 메시지를 입력하세요.", + "chat.placeholder": "Type chat message here, drag & drop images", + "chat.placeholder.mobile": "Type chat message", + "chat.placeholder.message-room": "Message #%1", "chat.scroll-up-alert": "가장 최근 메시지로 이동", "chat.usernames-and-x-others": "%1 및 다른 %2명", "chat.chat-with-usernames": "%1과 대화", diff --git a/public/language/ko/notifications.json b/public/language/ko/notifications.json index 1e9b72af2b..7f099f0c79 100644 --- a/public/language/ko/notifications.json +++ b/public/language/ko/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 및 다른 %3명이 답글을 게시했습니다: %4", "user-posted-topic": "%1님이 새 토픽을 게시했습니다: %2", "user-edited-post": "%1님이 %2에서 게시물을 편집했습니다.", - "user-posted-topic-with-tag": "%1님이 태그 %2를 포함한 새 토픽을 게시했습니다.", - "user-posted-topic-with-tag-dual": "%1님이 태그 %2%3를 포함한 새 토픽을 게시했습니다.", - "user-posted-topic-with-tag-triple": "%1님이 태그 %2, %3%4를 포함한 새 토픽을 게시했습니다.", - "user-posted-topic-with-tag-multiple": "%1님이 태그 %2를 포함한 새 토픽을 게시했습니다.", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1님이 카테고리 %2에 새 토픽을 게시했습니다.", "user-started-following-you": "%1님이 나를 팔로우하기 시작했습니다.", "user-started-following-you-dual": "%1%2님이 나를 팔로우하기 시작했습니다.", @@ -75,6 +75,7 @@ "email-confirmed": "이메일 확인됨", "email-confirmed-message": "이메일 확인에 감사드립니다. 계정이 이제 완전히 활성화되었습니다.", "email-confirm-error-message": "이메일 주소를 확인하는 데 문제가 발생했습니다. 코드가 잘못되었거나 만료되었을 수 있습니다.", + "email-confirm-error-message-already-validated": "Your email address was already validated.", "email-confirm-sent": "확인 이메일이 전송되었습니다.", "none": "없음", "notification-only": "알림만", diff --git a/public/language/ko/pages.json b/public/language/ko/pages.json index 5116a5de1e..994dc83369 100644 --- a/public/language/ko/pages.json +++ b/public/language/ko/pages.json @@ -54,6 +54,7 @@ "account/settings-of": "%1님의 설정 변경", "account/watched": "%1님의 관심 토픽", "account/ignored": "%1님의 무시 토픽", + "account/read": "Topics read by %1", "account/upvoted": "%1님이 추천한 게시물", "account/downvoted": "%1님이 비추천한 게시물", "account/best": "%1님이 작성한 최고의 게시물", diff --git a/public/language/ko/post-queue.json b/public/language/ko/post-queue.json index 012d75df2e..4010f972a7 100644 --- a/public/language/ko/post-queue.json +++ b/public/language/ko/post-queue.json @@ -38,5 +38,6 @@ "remove-selected": "선택된 것 제거", "remove-selected-confirm": "선택된 %1개의 게시물을 제거하시겠습니까?", "bulk-accept-success": "%1개의 게시물이 승인되었습니다.", - "bulk-reject-success": "%1개의 게시물이 거부되었습니다." + "bulk-reject-success": "%1개의 게시물이 거부되었습니다.", + "links-in-this-post": "Links in this post" } \ No newline at end of file diff --git a/public/language/ko/themes/harmony.json b/public/language/ko/themes/harmony.json index b60d445f68..e9b4b96845 100644 --- a/public/language/ko/themes/harmony.json +++ b/public/language/ko/themes/harmony.json @@ -7,7 +7,8 @@ "login-register-to-search": "검색하려면 로그인하거나 등록하세요.", "settings.title": "테마 설정", "settings.enableQuickReply": "빠른 답장 활성화", - "settings.enableBreadcrumbs": "사이트 이동 경로 활성화", + "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": "헤더 요소 가운데 정렬", "settings.mobileTopicTeasers": "모바일에서 토픽 미리보기 표시", "settings.stickyToolbar": "툴바 고정", diff --git a/public/language/ko/user.json b/public/language/ko/user.json index 6c95172b49..856b3b8ae6 100644 --- a/public/language/ko/user.json +++ b/public/language/ko/user.json @@ -43,6 +43,7 @@ "change-all": "전체 변경", "watched": "관심", "ignored": "무시", + "read": "Read", "default-category-watch-state": "기본 카테고리 관심 상태", "followers": "팔로워", "following": "팔로잉", @@ -78,6 +79,7 @@ "change-password": "비밀번호 변경", "change-password-error": "유효하지 않은 비밀번호!", "change-password-error-wrong-current": "현재 비밀번호가 올바르지 않습니다!", + "change-password-error-same-password": "Your new password matches your current password, please use a new password.", "change-password-error-match": "비밀번호가 일치해야 합니다!", "change-password-error-privileges": "이 비밀번호를 변경할 권한이 없습니다.", "change-password-success": "비밀번호가 업데이트되었습니다!", @@ -113,6 +115,7 @@ "has-no-topics": "현재 토픽을 게시하지 않았습니다.", "has-no-watched-topics": "현재 관심 토픽을 지정하지 않았습니다.", "has-no-ignored-topics": "현재 무시한 토픽이 없습니다.", + "has-no-read-topics": "This user hasn't read any topics yet.", "has-no-upvoted-posts": "현재 게시물에 추천을 하지 않았습니다.", "has-no-downvoted-posts": "현재 게시물에 비추천을 하지 않았습니다.", "has-no-controversial-posts": "현재 비추천을 받은 게시물이 없습니다.", diff --git a/public/language/ko/users.json b/public/language/ko/users.json index 56d2b1c1bc..22a34b4a92 100644 --- a/public/language/ko/users.json +++ b/public/language/ko/users.json @@ -1,5 +1,6 @@ { "all-users": "모든 사용자", + "followed-users": "Followed Users", "latest-users": "최신 사용자", "top-posters": "최다 게시자", "most-reputation": "가장 많은 평판", diff --git a/public/language/lt/admin/development/info.json b/public/language/lt/admin/development/info.json index 11202d9c3a..9834719daf 100644 --- a/public/language/lt/admin/development/info.json +++ b/public/language/lt/admin/development/info.json @@ -3,7 +3,7 @@ "ip": "IP %1", "nodes-responded": "%1 nodes responded within %2ms!", "host": "host", - "primary": "primary / run jobs", + "primary": "primary / jobs", "pid": "pid", "nodejs": "nodejs", "online": "online", @@ -19,6 +19,7 @@ "registered": "Registered", "sockets": "Sockets", + "connection-count": "Connection Count", "guests": "Guests", "info": "Info" diff --git a/public/language/lt/admin/extend/widgets.json b/public/language/lt/admin/extend/widgets.json index 5d2832feed..db72f2feb3 100644 --- a/public/language/lt/admin/extend/widgets.json +++ b/public/language/lt/admin/extend/widgets.json @@ -12,6 +12,8 @@ "container.card": "Card", "container.card-header": "Card Header", "container.card-body": "Card Body", + "container.title": "Title", + "container.body": "Body", "container.alert": "Alert", "alert.confirm-delete": "Are you sure you wish to delete this widget?", diff --git a/public/language/lt/admin/settings/reputation.json b/public/language/lt/admin/settings/reputation.json index e4fff22620..479069e3a4 100644 --- a/public/language/lt/admin/settings/reputation.json +++ b/public/language/lt/admin/settings/reputation.json @@ -2,7 +2,14 @@ "reputation": "Reputation Settings", "disable": "Disable Reputation System", "disable-down-voting": "Disable Down Voting", - "votes-are-public": "All Votes Are Public", + "upvote-visibility": "Up Vote visibility", + "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", "min-rep-upvote": "Minimum reputation to upvote posts", "upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)", diff --git a/public/language/lt/error.json b/public/language/lt/error.json index d329383e60..f1bbb93154 100644 --- a/public/language/lt/error.json +++ b/public/language/lt/error.json @@ -153,6 +153,7 @@ "about-me-too-long": "Atsiprašome, bet aprašymas apie jus negali būti ilgesnis negu %1 simbolis (ių)", "cant-chat-with-yourself": "Jūs negalite susirašinėti su savimi!", "chat-restricted": "Šis vartotojas apribojo savo žinutes. Jie turi sekti jus kad jūs galėtumėte pradėti bendrauti su jais", + "chat-user-blocked": "You have been blocked by this user.", "chat-disabled": "Susirašinėjimų sistema išjungta", "too-many-messages": "Išsiuntėte per daug pranešimų, kurį laiką prašome palaukti.", "invalid-chat-message": "Bloga žinutė", diff --git a/public/language/lt/modules.json b/public/language/lt/modules.json index 8d8f34de03..790766a5d3 100644 --- a/public/language/lt/modules.json +++ b/public/language/lt/modules.json @@ -1,8 +1,9 @@ { "chat.room-id": "Room %1", "chat.chatting-with": "Chat with", - "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", - "chat.placeholder.mobile": "Type chat message here", + "chat.placeholder": "Type chat message here, drag & drop images", + "chat.placeholder.mobile": "Type chat message", + "chat.placeholder.message-room": "Message #%1", "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", diff --git a/public/language/lt/notifications.json b/public/language/lt/notifications.json index c212e1b3de..47ba471ff7 100644 --- a/public/language/lt/notifications.json +++ b/public/language/lt/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 paskelbė naują temą: %2", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 pradėjo sekti tave", "user-started-following-you-dual": "%1 and %2 started following you.", @@ -75,6 +75,7 @@ "email-confirmed": "El. paštas patvirtintas", "email-confirmed-message": "Dėkojame už el. pašto patvirtinimą. Jūsų paskyra pilnai aktyvuota.", "email-confirm-error-message": "Įvyko klaida mėginant patvirtinti Jūsų el. pašto adresą. Galbūt kodas yra neteisingas, arba nebegalioajantis.", + "email-confirm-error-message-already-validated": "Your email address was already validated.", "email-confirm-sent": "Patvirtinimo laiškas išsiųstas.", "none": "None", "notification-only": "Notification Only", diff --git a/public/language/lt/pages.json b/public/language/lt/pages.json index 6bb1173044..f8f4f8969b 100644 --- a/public/language/lt/pages.json +++ b/public/language/lt/pages.json @@ -54,6 +54,7 @@ "account/settings-of": "Changing settings of %1", "account/watched": "Temos stebimos %1", "account/ignored": "Temos ignoruojamos %1", + "account/read": "Topics read by %1", "account/upvoted": "Posts upvoted by %1", "account/downvoted": "Posts downvoted by %1", "account/best": "Geriausi pranešimai, kuriuos parašė %1", diff --git a/public/language/lt/post-queue.json b/public/language/lt/post-queue.json index 021ed0d83f..24b33da2e6 100644 --- a/public/language/lt/post-queue.json +++ b/public/language/lt/post-queue.json @@ -38,5 +38,6 @@ "remove-selected": "Remove Selected", "remove-selected-confirm": "Do you want to remove %1 selected posts?", "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" } \ No newline at end of file diff --git a/public/language/lt/themes/harmony.json b/public/language/lt/themes/harmony.json index 4e75b9f716..01038d7641 100644 --- a/public/language/lt/themes/harmony.json +++ b/public/language/lt/themes/harmony.json @@ -7,7 +7,8 @@ "login-register-to-search": "Login or register to search.", "settings.title": "Theme settings", "settings.enableQuickReply": "Enable quick reply", - "settings.enableBreadcrumbs": "Enable breadcrumbs", + "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.mobileTopicTeasers": "Show topic teasers on mobile", "settings.stickyToolbar": "Sticky toolbar", diff --git a/public/language/lt/user.json b/public/language/lt/user.json index 1d9d72c74a..fb9f6f0b00 100644 --- a/public/language/lt/user.json +++ b/public/language/lt/user.json @@ -43,6 +43,7 @@ "change-all": "Change All", "watched": "Peržiūrėjo", "ignored": "Ignoruojami", + "read": "Read", "default-category-watch-state": "Default category watch state", "followers": "Sekėjai", "following": "Seka", @@ -78,6 +79,7 @@ "change-password": "Pakeisti slaptažodį", "change-password-error": "Negalimas slaptažodis!", "change-password-error-wrong-current": "Jūsų dabartinis slaptažodis neteisingas!", + "change-password-error-same-password": "Your new password matches your current password, please use a new password.", "change-password-error-match": "Slaptažodžiai privalo sutapti!", "change-password-error-privileges": "Jūs neturite teisių pakeisti šį slaptažodį.", "change-password-success": "Jūsų slaptažodis atnaujintas!", @@ -113,6 +115,7 @@ "has-no-topics": "Šis vartotojas pakolkas nesukūrė jokių temų", "has-no-watched-topics": "Šis vartotojas pakolkas nestebėjo jokių temų", "has-no-ignored-topics": "This user hasn't ignored any topics yet.", + "has-no-read-topics": "This user hasn't read any topics yet.", "has-no-upvoted-posts": "Šis narys dar neturi teigiamai įvertintų pranešimų.", "has-no-downvoted-posts": "Šis narys dar neturi neigiamai įvertintų pranešimų.", "has-no-controversial-posts": "This user does not have any downvoted posts yet.", diff --git a/public/language/lt/users.json b/public/language/lt/users.json index 4febc6a4ae..06c20ade22 100644 --- a/public/language/lt/users.json +++ b/public/language/lt/users.json @@ -1,5 +1,6 @@ { "all-users": "All Users", + "followed-users": "Followed Users", "latest-users": "Paskutiniai vartotojai", "top-posters": "Geriausi autoriai", "most-reputation": "Didžiausia reputacija", diff --git a/public/language/lv/admin/development/info.json b/public/language/lv/admin/development/info.json index d07a526789..87cb89d8cf 100644 --- a/public/language/lv/admin/development/info.json +++ b/public/language/lv/admin/development/info.json @@ -3,7 +3,7 @@ "ip": "IP %1", "nodes-responded": "%1 serveri atbildēja %2ms laikā!", "host": "serveris", - "primary": "primary / run jobs", + "primary": "primary / jobs", "pid": "pid", "nodejs": "nodejs", "online": "tiešsaistē", @@ -19,6 +19,7 @@ "registered": "Reģistrētie", "sockets": "Tīkla savienojumi", + "connection-count": "Connection Count", "guests": "Viesi", "info": "Info" diff --git a/public/language/lv/admin/extend/widgets.json b/public/language/lv/admin/extend/widgets.json index 851c089e33..0d7ae39171 100644 --- a/public/language/lv/admin/extend/widgets.json +++ b/public/language/lv/admin/extend/widgets.json @@ -12,6 +12,8 @@ "container.card": "Card", "container.card-header": "Card Header", "container.card-body": "Card Body", + "container.title": "Title", + "container.body": "Body", "container.alert": "Brīdinājums", "alert.confirm-delete": "Vai tiešām vēlies izdzēst šo logrīku?", diff --git a/public/language/lv/admin/settings/reputation.json b/public/language/lv/admin/settings/reputation.json index 6df67ebd1c..6192bdfe99 100644 --- a/public/language/lv/admin/settings/reputation.json +++ b/public/language/lv/admin/settings/reputation.json @@ -2,7 +2,14 @@ "reputation": "Ranga punktu sistēma", "disable": "Atspējot ranga punktu sistēmu", "disable-down-voting": "Atspējot balsošanu \"pret\"", - "votes-are-public": "Visi balsojumi ir publiski", + "upvote-visibility": "Up Vote visibility", + "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": "Aktivitātes sliekšņi", "min-rep-upvote": "Minimum reputation to upvote posts", "upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)", diff --git a/public/language/lv/error.json b/public/language/lv/error.json index 2fbd1cf4a8..0d71b060eb 100644 --- a/public/language/lv/error.json +++ b/public/language/lv/error.json @@ -153,6 +153,7 @@ "about-me-too-long": "Atvaino, Tavā \"Par mani\" nevar būt vairāk kā %1 rakstzīmes.", "cant-chat-with-yourself": "Nevar sarunāties pats ar sevi!", "chat-restricted": "Šis lietotājs ir ierobežojis savas sarunas. Viņam ir Tev jāseko, pirms vari sarunāties ar viņu", + "chat-user-blocked": "You have been blocked by this user.", "chat-disabled": "Sarunu sistēma ir atspējota", "too-many-messages": "Tu esi publicējis pārāk daudz rakstu, lūdzu, kādu laiku uzgaidi.", "invalid-chat-message": "Nederīga saruna", diff --git a/public/language/lv/modules.json b/public/language/lv/modules.json index 41bd1996d3..b1c0ab27ef 100644 --- a/public/language/lv/modules.json +++ b/public/language/lv/modules.json @@ -1,8 +1,9 @@ { "chat.room-id": "Room %1", "chat.chatting-with": "Sarunāties ar", - "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", - "chat.placeholder.mobile": "Type chat message here", + "chat.placeholder": "Type chat message here, drag & drop images", + "chat.placeholder.mobile": "Type chat message", + "chat.placeholder.message-room": "Message #%1", "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", diff --git a/public/language/lv/notifications.json b/public/language/lv/notifications.json index ef3573784a..b1c56866b7 100644 --- a/public/language/lv/notifications.json +++ b/public/language/lv/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 ir ievietojis jaunu tematu: %2", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 sāka Tev sekot.", "user-started-following-you-dual": "%1 un %2 sāka Tev sekot.", @@ -75,6 +75,7 @@ "email-confirmed": "E-pasta adrese ir apstiprināta", "email-confirmed-message": "Paldies, ka apstiprināji e-pasta adresi. Tavs konts tagad ir pilnībā aktivizēts.", "email-confirm-error-message": "Tavā e-pasta adreses apstiprināšanā radās problēma. Iespējams, kods ir nederīgs vai ir beidzies derīguma termiņš.", + "email-confirm-error-message-already-validated": "Your email address was already validated.", "email-confirm-sent": "Apstiprinājuma e-pasts ir nosūtīts.", "none": "Neko nedarīt", "notification-only": "Tikai paziņot", diff --git a/public/language/lv/pages.json b/public/language/lv/pages.json index e70171cbd8..b5c8896a84 100644 --- a/public/language/lv/pages.json +++ b/public/language/lv/pages.json @@ -54,6 +54,7 @@ "account/settings-of": "Changing settings of %1", "account/watched": "Temati, kurus %1 novēro", "account/ignored": "Temati, kurus %1 ignorē", + "account/read": "Topics read by %1", "account/upvoted": "%1 balsojis \"par\"", "account/downvoted": "%1 balsojis \"pret\"", "account/best": "%1 labākie raksti", diff --git a/public/language/lv/post-queue.json b/public/language/lv/post-queue.json index 2a716a258e..31a5fc40f0 100644 --- a/public/language/lv/post-queue.json +++ b/public/language/lv/post-queue.json @@ -38,5 +38,6 @@ "remove-selected": "Remove Selected", "remove-selected-confirm": "Do you want to remove %1 selected posts?", "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" } \ No newline at end of file diff --git a/public/language/lv/themes/harmony.json b/public/language/lv/themes/harmony.json index 4e75b9f716..01038d7641 100644 --- a/public/language/lv/themes/harmony.json +++ b/public/language/lv/themes/harmony.json @@ -7,7 +7,8 @@ "login-register-to-search": "Login or register to search.", "settings.title": "Theme settings", "settings.enableQuickReply": "Enable quick reply", - "settings.enableBreadcrumbs": "Enable breadcrumbs", + "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.mobileTopicTeasers": "Show topic teasers on mobile", "settings.stickyToolbar": "Sticky toolbar", diff --git a/public/language/lv/user.json b/public/language/lv/user.json index d64918c487..020ec319b5 100644 --- a/public/language/lv/user.json +++ b/public/language/lv/user.json @@ -43,6 +43,7 @@ "change-all": "Change All", "watched": "Novērotie", "ignored": "Ignorētie", + "read": "Read", "default-category-watch-state": "Default category watch state", "followers": "Man seko", "following": "Es sekoju", @@ -78,6 +79,7 @@ "change-password": "Mainīt paroli", "change-password-error": "Nederīga parole!", "change-password-error-wrong-current": "Pašreizējā parole nav pareiza!", + "change-password-error-same-password": "Your new password matches your current password, please use a new password.", "change-password-error-match": "Parolēm jāsakrīt!", "change-password-error-privileges": "Tev nav tiesības mainīt šo paroli.", "change-password-success": "Parole ir atjaunināta!", @@ -113,6 +115,7 @@ "has-no-topics": "Lietotājs vēl nav izveidojis nevienu tematu.", "has-no-watched-topics": "Lietotājs vēl nav novērojis nevienu tematu.", "has-no-ignored-topics": "Lietotājs nav vēl ignorējis nevienu tematu.", + "has-no-read-topics": "This user hasn't read any topics yet.", "has-no-upvoted-posts": "Lietotājs vēl nav balsojis \"par\" nevienu rakstu.", "has-no-downvoted-posts": "Lietotājs vēl nav balsojis \"pret\" nevienu rakstu.", "has-no-controversial-posts": "This user does not have any downvoted posts yet.", diff --git a/public/language/lv/users.json b/public/language/lv/users.json index 97e2626bf3..b016c675ac 100644 --- a/public/language/lv/users.json +++ b/public/language/lv/users.json @@ -1,5 +1,6 @@ { "all-users": "All Users", + "followed-users": "Followed Users", "latest-users": "Jaunākie lietotāji", "top-posters": "Visvairāk rakstu", "most-reputation": "Visvairāk ranga punktu", diff --git a/public/language/ms/admin/development/info.json b/public/language/ms/admin/development/info.json index 11202d9c3a..9834719daf 100644 --- a/public/language/ms/admin/development/info.json +++ b/public/language/ms/admin/development/info.json @@ -3,7 +3,7 @@ "ip": "IP %1", "nodes-responded": "%1 nodes responded within %2ms!", "host": "host", - "primary": "primary / run jobs", + "primary": "primary / jobs", "pid": "pid", "nodejs": "nodejs", "online": "online", @@ -19,6 +19,7 @@ "registered": "Registered", "sockets": "Sockets", + "connection-count": "Connection Count", "guests": "Guests", "info": "Info" diff --git a/public/language/ms/admin/extend/widgets.json b/public/language/ms/admin/extend/widgets.json index 5d2832feed..db72f2feb3 100644 --- a/public/language/ms/admin/extend/widgets.json +++ b/public/language/ms/admin/extend/widgets.json @@ -12,6 +12,8 @@ "container.card": "Card", "container.card-header": "Card Header", "container.card-body": "Card Body", + "container.title": "Title", + "container.body": "Body", "container.alert": "Alert", "alert.confirm-delete": "Are you sure you wish to delete this widget?", diff --git a/public/language/ms/admin/settings/reputation.json b/public/language/ms/admin/settings/reputation.json index e4fff22620..479069e3a4 100644 --- a/public/language/ms/admin/settings/reputation.json +++ b/public/language/ms/admin/settings/reputation.json @@ -2,7 +2,14 @@ "reputation": "Reputation Settings", "disable": "Disable Reputation System", "disable-down-voting": "Disable Down Voting", - "votes-are-public": "All Votes Are Public", + "upvote-visibility": "Up Vote visibility", + "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", "min-rep-upvote": "Minimum reputation to upvote posts", "upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)", diff --git a/public/language/ms/error.json b/public/language/ms/error.json index d17d2c54f7..49846b7e28 100644 --- a/public/language/ms/error.json +++ b/public/language/ms/error.json @@ -153,6 +153,7 @@ "about-me-too-long": "Maaf, penerangan tentang anda tidak boleh lebih %1 aksara().", "cant-chat-with-yourself": "Anda tidak boleh sembang dengan diri sendiri!", "chat-restricted": "Pengguna ini menyekat ruangan sembangnya. Dia hendaklah mengikut anda sebelum kalian dapat bersembang", + "chat-user-blocked": "You have been blocked by this user.", "chat-disabled": "Sistem borak tidak diaktifkan", "too-many-messages": "Anda menghantar terlalu banyak pesanan, sila tunggu seketika.", "invalid-chat-message": "Mesej borak tidak sah", diff --git a/public/language/ms/modules.json b/public/language/ms/modules.json index 2e1026ca70..9cfae84566 100644 --- a/public/language/ms/modules.json +++ b/public/language/ms/modules.json @@ -1,8 +1,9 @@ { "chat.room-id": "Room %1", "chat.chatting-with": "Chat with", - "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", - "chat.placeholder.mobile": "Type chat message here", + "chat.placeholder": "Type chat message here, drag & drop images", + "chat.placeholder.mobile": "Type chat message", + "chat.placeholder.message-room": "Message #%1", "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", diff --git a/public/language/ms/notifications.json b/public/language/ms/notifications.json index a852e75ac5..e849c3d99b 100644 --- a/public/language/ms/notifications.json +++ b/public/language/ms/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 membuka topik baru : %2", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 mula mengikut anda.", "user-started-following-you-dual": "%1 dan %2 mula mengikuti anda.", @@ -75,6 +75,7 @@ "email-confirmed": "Emel Disahkan", "email-confirmed-message": "Terima kasih kerana mengesahkan emel anda. Akaun anda telah diaktifkan sepenuhnya.", "email-confirm-error-message": "Berlaku masalah semasa mengesahkan emel anda. Mungkin kod tidak sah atau tamat tempoh.", + "email-confirm-error-message-already-validated": "Your email address was already validated.", "email-confirm-sent": "Pengesahan emel telah dihantar.", "none": "None", "notification-only": "Notification Only", diff --git a/public/language/ms/pages.json b/public/language/ms/pages.json index 31ee957309..d5b52d67dd 100644 --- a/public/language/ms/pages.json +++ b/public/language/ms/pages.json @@ -54,6 +54,7 @@ "account/settings-of": "Changing settings of %1", "account/watched": "Topik Diperhati Oleh %1", "account/ignored": "Topics ignored by %1", + "account/read": "Topics read by %1", "account/upvoted": "Kiriman diundi naik oleh %1", "account/downvoted": "Kiriman dibuang undi oleh %1", "account/best": "Kiriman Terbaik Oleh %1", diff --git a/public/language/ms/post-queue.json b/public/language/ms/post-queue.json index 021ed0d83f..24b33da2e6 100644 --- a/public/language/ms/post-queue.json +++ b/public/language/ms/post-queue.json @@ -38,5 +38,6 @@ "remove-selected": "Remove Selected", "remove-selected-confirm": "Do you want to remove %1 selected posts?", "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" } \ No newline at end of file diff --git a/public/language/ms/themes/harmony.json b/public/language/ms/themes/harmony.json index 4e75b9f716..01038d7641 100644 --- a/public/language/ms/themes/harmony.json +++ b/public/language/ms/themes/harmony.json @@ -7,7 +7,8 @@ "login-register-to-search": "Login or register to search.", "settings.title": "Theme settings", "settings.enableQuickReply": "Enable quick reply", - "settings.enableBreadcrumbs": "Enable breadcrumbs", + "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.mobileTopicTeasers": "Show topic teasers on mobile", "settings.stickyToolbar": "Sticky toolbar", diff --git a/public/language/ms/user.json b/public/language/ms/user.json index f2ae132b26..a92cd95e45 100644 --- a/public/language/ms/user.json +++ b/public/language/ms/user.json @@ -43,6 +43,7 @@ "change-all": "Change All", "watched": "Melihat", "ignored": "Ignored", + "read": "Read", "default-category-watch-state": "Default category watch state", "followers": "Pengikut", "following": "Mengikuti", @@ -78,6 +79,7 @@ "change-password": "Tukar kata laluan", "change-password-error": "Kata laluan salah!", "change-password-error-wrong-current": "Kata laluan anda sekarang tidak sah", + "change-password-error-same-password": "Your new password matches your current password, please use a new password.", "change-password-error-match": "Kata laluan mesti padan", "change-password-error-privileges": "Anda tidak mempunyai kebenaran untuk mengubah kata laluan ini", "change-password-success": "Kata laluan dikemaskini", @@ -113,6 +115,7 @@ "has-no-topics": "Pengguna ini belum menulis sebarang topik lagi.", "has-no-watched-topics": "Pengguna ini belum melanggan sebarang topik lagi.", "has-no-ignored-topics": "This user hasn't ignored any topics yet.", + "has-no-read-topics": "This user hasn't read any topics yet.", "has-no-upvoted-posts": "This user hasn't upvoted any posts yet.", "has-no-downvoted-posts": "This user hasn't downvoted any posts yet.", "has-no-controversial-posts": "This user does not have any downvoted posts yet.", diff --git a/public/language/ms/users.json b/public/language/ms/users.json index 568a3c6d3c..91f6d4d969 100644 --- a/public/language/ms/users.json +++ b/public/language/ms/users.json @@ -1,5 +1,6 @@ { "all-users": "All Users", + "followed-users": "Followed Users", "latest-users": "Pengguna terkini", "top-posters": "Pengirim terbanyak", "most-reputation": "Reputasi terbaik", diff --git a/public/language/nb/admin/development/info.json b/public/language/nb/admin/development/info.json index 11202d9c3a..9834719daf 100644 --- a/public/language/nb/admin/development/info.json +++ b/public/language/nb/admin/development/info.json @@ -3,7 +3,7 @@ "ip": "IP %1", "nodes-responded": "%1 nodes responded within %2ms!", "host": "host", - "primary": "primary / run jobs", + "primary": "primary / jobs", "pid": "pid", "nodejs": "nodejs", "online": "online", @@ -19,6 +19,7 @@ "registered": "Registered", "sockets": "Sockets", + "connection-count": "Connection Count", "guests": "Guests", "info": "Info" diff --git a/public/language/nb/admin/extend/widgets.json b/public/language/nb/admin/extend/widgets.json index 5d2832feed..db72f2feb3 100644 --- a/public/language/nb/admin/extend/widgets.json +++ b/public/language/nb/admin/extend/widgets.json @@ -12,6 +12,8 @@ "container.card": "Card", "container.card-header": "Card Header", "container.card-body": "Card Body", + "container.title": "Title", + "container.body": "Body", "container.alert": "Alert", "alert.confirm-delete": "Are you sure you wish to delete this widget?", diff --git a/public/language/nb/admin/settings/reputation.json b/public/language/nb/admin/settings/reputation.json index c17d74f8ed..c0f19e8ee8 100644 --- a/public/language/nb/admin/settings/reputation.json +++ b/public/language/nb/admin/settings/reputation.json @@ -2,7 +2,14 @@ "reputation": "Omdømmeinnstillinger", "disable": "Skru av omdømmesystem", "disable-down-voting": "Disable Down Voting", - "votes-are-public": "All Votes Are Public", + "upvote-visibility": "Up Vote visibility", + "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", "min-rep-upvote": "Minimum omdømme for å stemme opp innlegg", "upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)", diff --git a/public/language/nb/email.json b/public/language/nb/email.json index 1a4f7a3a78..7c9610590d 100644 --- a/public/language/nb/email.json +++ b/public/language/nb/email.json @@ -36,8 +36,8 @@ "digest.title.day": "Ditt daglige sammendrag", "digest.title.week": "Ditt ukentlige sammendrag", "digest.title.month": "Ditt månedlige sammendrag", - "notif.chat.new-message-from-user": "New message from \"%1\"", - "notif.chat.new-message-from-user-in-room": "New message from %1 in room %2", + "notif.chat.new-message-from-user": "Ny melding fra \"%1\"", + "notif.chat.new-message-from-user-in-room": "Ny melding fra %1 i rom %2", "notif.chat.cta": "Klikk her for å fortsette samtalen", "notif.chat.unsub.info": "Denne samtale-varselen ble sendt til deg basert på dine innstillinger for abonnering.", "notif.post.unsub.info": "Dette innleggsvarselet ble sendt til deg basert på dine innstillinger for abonnering.", diff --git a/public/language/nb/error.json b/public/language/nb/error.json index 67c39591c6..8ec0487c84 100644 --- a/public/language/nb/error.json +++ b/public/language/nb/error.json @@ -153,6 +153,7 @@ "about-me-too-long": "Beklager, om meg kan ikke være lengre enn %1 tegn.", "cant-chat-with-yourself": "Du kan ikke chatte med deg selv!", "chat-restricted": "Denne brukeren har begrenset sine samtalemeldinger. De må følge deg før du kan chatte med dem", + "chat-user-blocked": "You have been blocked by this user.", "chat-disabled": "Chattesystem er deaktivert", "too-many-messages": "Du har sendt for mange meldinger, vennligst vent en stund.", "invalid-chat-message": "Ugyldig samtalemelding", diff --git a/public/language/nb/modules.json b/public/language/nb/modules.json index 27471d0082..909c1dca14 100644 --- a/public/language/nb/modules.json +++ b/public/language/nb/modules.json @@ -1,8 +1,9 @@ { "chat.room-id": "Rom %1", "chat.chatting-with": "Chat med", - "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", - "chat.placeholder.mobile": "Type chat message here", + "chat.placeholder": "Type chat message here, drag & drop images", + "chat.placeholder.mobile": "Type chat message", + "chat.placeholder.message-room": "Message #%1", "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", diff --git a/public/language/nb/notifications.json b/public/language/nb/notifications.json index 29752bf30d..2914fa0986 100644 --- a/public/language/nb/notifications.json +++ b/public/language/nb/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 har skrevet en ny tråd: %2", "user-edited-post": "%1 har redigert ett innlegg i %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 har publisert et nytt innlegg i %2", "user-started-following-you": "%1 begynte å følge deg.", "user-started-following-you-dual": "%1 og 2% har begynt å følge deg.", @@ -75,6 +75,7 @@ "email-confirmed": "E-post bekreftet", "email-confirmed-message": "Takk for at du har validert din e-post. Kontoen din er nå fullstendig aktivert.", "email-confirm-error-message": "Det oppsto et problem under validering av e-posten din. Koden kan ha vært ugyldig eller ha utløpt.", + "email-confirm-error-message-already-validated": "Your email address was already validated.", "email-confirm-sent": "Bekreftelses-e-post sendt.", "none": "Ingen", "notification-only": "Kun notifikasjon", diff --git a/public/language/nb/pages.json b/public/language/nb/pages.json index 9c194d3689..c216bc868d 100644 --- a/public/language/nb/pages.json +++ b/public/language/nb/pages.json @@ -51,9 +51,10 @@ "account/watched-tags": "%1's overvåkede tagger", "account/bookmarks": "%1's bokmerkede innlegg", "account/settings": "Brukerinnstillinger", - "account/settings-of": "Changing settings of %1", + "account/settings-of": "Endre innstillingen på %1", "account/watched": "Innlegg overvåket av %1", "account/ignored": "Emner ignorert av %1", + "account/read": "Emner lest av %1", "account/upvoted": "Innlegg stemt opp av %1", "account/downvoted": "Innlegg nedstemt av %1", "account/best": "Beste innlegg skrevet av %1", diff --git a/public/language/nb/post-queue.json b/public/language/nb/post-queue.json index 58d2a16f8d..efec1c28f7 100644 --- a/public/language/nb/post-queue.json +++ b/public/language/nb/post-queue.json @@ -38,5 +38,6 @@ "remove-selected": "Remove Selected", "remove-selected-confirm": "Do you want to remove %1 selected posts?", "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" } \ No newline at end of file diff --git a/public/language/nb/themes/harmony.json b/public/language/nb/themes/harmony.json index 4e75b9f716..01038d7641 100644 --- a/public/language/nb/themes/harmony.json +++ b/public/language/nb/themes/harmony.json @@ -7,7 +7,8 @@ "login-register-to-search": "Login or register to search.", "settings.title": "Theme settings", "settings.enableQuickReply": "Enable quick reply", - "settings.enableBreadcrumbs": "Enable breadcrumbs", + "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.mobileTopicTeasers": "Show topic teasers on mobile", "settings.stickyToolbar": "Sticky toolbar", diff --git a/public/language/nb/topic.json b/public/language/nb/topic.json index 534e88072e..86137ac4d2 100644 --- a/public/language/nb/topic.json +++ b/public/language/nb/topic.json @@ -15,7 +15,7 @@ "replies-to-this-post": "%1 Svar", "one-reply-to-this-post": "1 Svar", "last-reply-time": "Siste svar", - "reply-options": "Reply options", + "reply-options": "Alternativer for svar", "reply-as-topic": "Svar som tråd", "guest-login-reply": "Logg inn for å besvare", "login-to-view": "🔒 Logg inn for å se", @@ -28,14 +28,14 @@ "move": "Flytt", "change-owner": "Bytt eier", "fork": "Forgren", - "link": "Link", + "link": "Lenk til", "share": "Del", "tools": "Verktøy", "locked": "Låst", "pinned": "Festet", "pinned-with-expiry": "Festet til %1", "scheduled": "Planlagt", - "deleted": "Deleted", + "deleted": "Slettet", "moved": "Flyttet", "moved-from": "Flyttet fra %1", "copy-code": "Kopier kode", @@ -114,7 +114,7 @@ "thread-tools.purge": "Rensk tråd", "thread-tools.purge-confirm": "Er du sikker på at du vil renske denne tråden?", "thread-tools.merge-topics": "Flett emner", - "thread-tools.merge": "Merge Topic", + "thread-tools.merge": "Flett emne", "topic-move-success": "Denne tråden vil straks bli flyttet til \"%1\". Klikk her for å angre.", "topic-move-multiple-success": "Disse emnene vil straks bli flyttet til \"%1\". Klikk her for å angre.", "topic-move-all-success": "Alle emner vil straks bli flyttet til \"%1\". Klikk her for å angre.", diff --git a/public/language/nb/user.json b/public/language/nb/user.json index ee7ab00a19..57842d9891 100644 --- a/public/language/nb/user.json +++ b/public/language/nb/user.json @@ -43,6 +43,7 @@ "change-all": "Endre alt", "watched": "Overvåkede", "ignored": "Ignorert", + "read": "Read", "default-category-watch-state": "Standard kategori overvåkingstilstand", "followers": "Følgere", "following": "Følger", @@ -78,6 +79,7 @@ "change-password": "Endre passord", "change-password-error": "Ugyldig passord!", "change-password-error-wrong-current": "Ditt gjeldende passord er ikke korrekt!", + "change-password-error-same-password": "Your new password matches your current password, please use a new password.", "change-password-error-match": "Passordene må samsvare!", "change-password-error-privileges": "Du har ikke rettigheter tli å endre dette passordet.", "change-password-success": "Passordet ditt ble oppdatert!", @@ -113,6 +115,7 @@ "has-no-topics": "Denne brukeren har ikke skrevet noen tråder enda.", "has-no-watched-topics": "Denne brukeren har ikke fulgt noen tråder enda.", "has-no-ignored-topics": "Denne brukeren har ikke ignorert noen emner ennå", + "has-no-read-topics": "This user hasn't read any topics yet.", "has-no-upvoted-posts": "Denne brukeren har ikke stemt opp noen innlegg ennå.", "has-no-downvoted-posts": "Denne brukeren har ikke stemt ned noen innlegg ennå.", "has-no-controversial-posts": "Denne brukeren har ikke noen nedstemte innlegg ennå.", diff --git a/public/language/nb/users.json b/public/language/nb/users.json index 173ea13547..ec7e43eb0d 100644 --- a/public/language/nb/users.json +++ b/public/language/nb/users.json @@ -1,5 +1,6 @@ { "all-users": "Alle brukere", + "followed-users": "Fulgte brukere", "latest-users": "Seneste brukere", "top-posters": "Flest innlegg", "most-reputation": "Best omdømme", diff --git a/public/language/nl/admin/development/info.json b/public/language/nl/admin/development/info.json index 774d976cc8..b5ee1a8838 100644 --- a/public/language/nl/admin/development/info.json +++ b/public/language/nl/admin/development/info.json @@ -3,7 +3,7 @@ "ip": "IP %1", "nodes-responded": "%1 nodes responded within %2ms!", "host": "host", - "primary": "primary / run jobs", + "primary": "primary / jobs", "pid": "pid", "nodejs": "nodejs", "online": "online", @@ -19,6 +19,7 @@ "registered": "Geregistreerd", "sockets": "Sockets", + "connection-count": "Connection Count", "guests": "Gasten", "info": "Informatie" diff --git a/public/language/nl/admin/extend/widgets.json b/public/language/nl/admin/extend/widgets.json index 69e466af86..e35e6d79dc 100644 --- a/public/language/nl/admin/extend/widgets.json +++ b/public/language/nl/admin/extend/widgets.json @@ -12,6 +12,8 @@ "container.card": "Card", "container.card-header": "Card Header", "container.card-body": "Card Body", + "container.title": "Title", + "container.body": "Body", "container.alert": "Alert", "alert.confirm-delete": "Are you sure you wish to delete this widget?", diff --git a/public/language/nl/admin/settings/reputation.json b/public/language/nl/admin/settings/reputation.json index e4fff22620..479069e3a4 100644 --- a/public/language/nl/admin/settings/reputation.json +++ b/public/language/nl/admin/settings/reputation.json @@ -2,7 +2,14 @@ "reputation": "Reputation Settings", "disable": "Disable Reputation System", "disable-down-voting": "Disable Down Voting", - "votes-are-public": "All Votes Are Public", + "upvote-visibility": "Up Vote visibility", + "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", "min-rep-upvote": "Minimum reputation to upvote posts", "upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)", diff --git a/public/language/nl/error.json b/public/language/nl/error.json index 6da3349f1d..8a3f3d6bfc 100644 --- a/public/language/nl/error.json +++ b/public/language/nl/error.json @@ -153,6 +153,7 @@ "about-me-too-long": "Sorry, je beschrijving kan niet langer zijn dan %1 karakter(s).", "cant-chat-with-yourself": "Het is niet mogelijk om met jezelf een chatgesprek te houden.", "chat-restricted": "Deze gebruiker heeft beperkingen aan de chatfunctie opgelegd waardoor deze eerst iemand moet volgen voordat deze persoon een nieuwe chat mag initiëren.", + "chat-user-blocked": "You have been blocked by this user.", "chat-disabled": "Chat systeem uitgeschakeld", "too-many-messages": "Je hebt in korte tijd veel berichten verstuurd, als je even wacht mag je weer berichten sturen.", "invalid-chat-message": "Ongeldig bericht", diff --git a/public/language/nl/global.json b/public/language/nl/global.json index 8da73852f3..6b4c511edc 100644 --- a/public/language/nl/global.json +++ b/public/language/nl/global.json @@ -11,7 +11,7 @@ "500.message": "Oeps! Ziet er naar uit dat iets fout ging!", "400.title": "Foutief verzoek", "400.message": "It looks like this link is malformed, please double-check and try again.
Return to the home page.
", - "register": "Registeren", + "register": "Registreren", "login": "Login", "please-log-in": "Aanmelden", "logout": "Uitloggen", diff --git a/public/language/nl/modules.json b/public/language/nl/modules.json index a252352d8b..89f725497f 100644 --- a/public/language/nl/modules.json +++ b/public/language/nl/modules.json @@ -1,8 +1,9 @@ { "chat.room-id": "Room %1", "chat.chatting-with": "Chat met", - "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", - "chat.placeholder.mobile": "Type chat message here", + "chat.placeholder": "Type chat message here, drag & drop images", + "chat.placeholder.mobile": "Type chat message", + "chat.placeholder.message-room": "Message #%1", "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", diff --git a/public/language/nl/notifications.json b/public/language/nl/notifications.json index 5a103b7489..468dd22352 100644 --- a/public/language/nl/notifications.json +++ b/public/language/nl/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 heeft een nieuw onderwerp geplaatst: %2", "user-edited-post": "%1 heeft een bericht aangepast in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 volgt jou nu.", "user-started-following-you-dual": "%1 en %2 volgen jou nu.", @@ -75,6 +75,7 @@ "email-confirmed": "E-mailadres bevestigd", "email-confirmed-message": "Bedankt voor het bevestigen van je e-mailadres. Je account is nu volledig geactiveerd.", "email-confirm-error-message": "Er was een probleem met het bevestigen van dit e-mailadres. Misschien is de code niet goed ingevoerd of was de beschikbare tijd inmiddels verstreken.", + "email-confirm-error-message-already-validated": "Your email address was already validated.", "email-confirm-sent": "Bevestigingsmail verstuurd.", "none": "Geen", "notification-only": "Alleen notificatie", diff --git a/public/language/nl/pages.json b/public/language/nl/pages.json index 14c7e7842b..1d2153e538 100644 --- a/public/language/nl/pages.json +++ b/public/language/nl/pages.json @@ -54,6 +54,7 @@ "account/settings-of": "Changing settings of %1", "account/watched": "Onderwerpen die door %1 bekeken worden", "account/ignored": "Onderwerpen genegeerd door %1", + "account/read": "Topics read by %1", "account/upvoted": "Berichten omhoog gestemd door %1", "account/downvoted": "Berichten omlaag gestemd door %1", "account/best": "Beste berichten geplaatst door %1", diff --git a/public/language/nl/post-queue.json b/public/language/nl/post-queue.json index 3cbba3ebb3..c3ae526e1d 100644 --- a/public/language/nl/post-queue.json +++ b/public/language/nl/post-queue.json @@ -38,5 +38,6 @@ "remove-selected": "Remove Selected", "remove-selected-confirm": "Do you want to remove %1 selected posts?", "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" } \ No newline at end of file diff --git a/public/language/nl/themes/harmony.json b/public/language/nl/themes/harmony.json index 4e75b9f716..01038d7641 100644 --- a/public/language/nl/themes/harmony.json +++ b/public/language/nl/themes/harmony.json @@ -7,7 +7,8 @@ "login-register-to-search": "Login or register to search.", "settings.title": "Theme settings", "settings.enableQuickReply": "Enable quick reply", - "settings.enableBreadcrumbs": "Enable breadcrumbs", + "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.mobileTopicTeasers": "Show topic teasers on mobile", "settings.stickyToolbar": "Sticky toolbar", diff --git a/public/language/nl/user.json b/public/language/nl/user.json index 98daec6848..615e6f703f 100644 --- a/public/language/nl/user.json +++ b/public/language/nl/user.json @@ -43,6 +43,7 @@ "change-all": "Wijzig alles", "watched": "Bekeken", "ignored": "Genegeerd", + "read": "Read", "default-category-watch-state": "Standaard bekeken status van categorie", "followers": "Volgers", "following": "Volgend", @@ -78,6 +79,7 @@ "change-password": "Wijzig wachtwoord", "change-password-error": "Ongeldig wachtwoord!", "change-password-error-wrong-current": "Het opgegeven huidige wachtwoord is onjuist!", + "change-password-error-same-password": "Your new password matches your current password, please use a new password.", "change-password-error-match": "Het eerder opgegeven wachtwoord komt niet overeen!", "change-password-error-privileges": "Niet geautoriseerd om dit wachtwoord te mogen wijzigen.", "change-password-success": "Het wachtwoord is gewijzigd!", @@ -113,6 +115,7 @@ "has-no-topics": "Deze gebruiker heeft nog geen onderwerpen gestart.", "has-no-watched-topics": "Deze gebruiker heeft nog geen onderwerpen gevolgd.", "has-no-ignored-topics": "Deze gebruiker heeft nog geen berichten genegeerd.", + "has-no-read-topics": "This user hasn't read any topics yet.", "has-no-upvoted-posts": "Deze gebruiker heeft nog geen berichten omhoog gestemd.", "has-no-downvoted-posts": "Deze gebruiker heeft nog geen berichten omlaag gestemd.", "has-no-controversial-posts": "This user does not have any downvoted posts yet.", diff --git a/public/language/nl/users.json b/public/language/nl/users.json index eb02775a01..93c28926c2 100644 --- a/public/language/nl/users.json +++ b/public/language/nl/users.json @@ -1,5 +1,6 @@ { "all-users": "All Users", + "followed-users": "Followed Users", "latest-users": "Laatste gebruikers", "top-posters": "Meest actieve leden", "most-reputation": "Meeste reputatie", diff --git a/public/language/nn-NO/_DO_NOT_EDIT_FILES_HERE.md b/public/language/nn-NO/_DO_NOT_EDIT_FILES_HERE.md new file mode 100644 index 0000000000..1faf87ad65 --- /dev/null +++ b/public/language/nn-NO/_DO_NOT_EDIT_FILES_HERE.md @@ -0,0 +1,3 @@ +# The files here are not meant to be edited directly + +Please see the → [Internalization README](../README.md). \ No newline at end of file diff --git a/public/language/nn-NO/admin/admin.json b/public/language/nn-NO/admin/admin.json new file mode 100644 index 0000000000..706cb5f04a --- /dev/null +++ b/public/language/nn-NO/admin/admin.json @@ -0,0 +1,18 @@ +{ + "alert.confirm-rebuild-and-restart": "Er du sikker på at du vil bygge om og starte på nytt?", + "alert.confirm-restart": "Er du sikker på at du vil starte på nytt?", + + "acp-title": "%1 | Admin Kontrollpanel", + "settings-header-contents": "Innhald for innstillingar", + "changes-saved": "Endringar lagra", + "changes-saved-message": "Endringane dine i innstillingar har blitt lagra.", + "changes-not-saved": "Endringar ikkje lagra", + "changes-not-saved-message": "Det oppstod ein feil, og endringane dine vart ikkje lagra. (%1)", + "save-changes": "Lagre endringar", + "min": "Min:", + "max": "Maks:", + "view": "Vis", + "edit": "Rediger", + "add": "Legg til", + "select-icon": "Vel ikon" +} \ No newline at end of file diff --git a/public/language/nn-NO/admin/advanced/cache.json b/public/language/nn-NO/admin/advanced/cache.json new file mode 100644 index 0000000000..fa112a4b78 --- /dev/null +++ b/public/language/nn-NO/admin/advanced/cache.json @@ -0,0 +1,10 @@ +{ + "cache": "Cache", + "post-cache": "Innleggscache", + "group-cache": "Gruppecache", + "local-cache": "Lokal cache", + "object-cache": "Objektcache", + "percent-full": "Prosent fylt", + "post-cache-size": "Storleik på innleggscache", + "items-in-cache": "Element i cache" +} \ No newline at end of file diff --git a/public/language/nn-NO/admin/advanced/database.json b/public/language/nn-NO/admin/advanced/database.json new file mode 100644 index 0000000000..a1566cc735 --- /dev/null +++ b/public/language/nn-NO/admin/advanced/database.json @@ -0,0 +1,52 @@ +{ + "x-b": "%1 byte", + "x-mb": "%1 MB", + "x-gb": "%1 GB", + "uptime-seconds": "Oppetid: %1 sekund", + "uptime-days": "Oppetid: %1 dag(ar)", + + "mongo": "MongoDB", + "mongo.version": "Versjon", + "mongo.storage-engine": "Lagringsmotor", + "mongo.collections": "Samlingar", + "mongo.objects": "Objekt", + "mongo.avg-object-size": "Gjennomsnittleg objektstorleik", + "mongo.data-size": "Datastorleik", + "mongo.storage-size": "Lagringsstorleik", + "mongo.index-size": "Indeksstorleik", + "mongo.file-size": "Filstorleik", + "mongo.resident-memory": "Brukt minne", + "mongo.virtual-memory": "Virtuelt minne", + "mongo.mapped-memory": "Kartlagt minne", + "mongo.bytes-in": "Byte mottatt", + "mongo.bytes-out": "Byte sendt", + "mongo.num-requests": "Førespurnadar", + "mongo.raw-info": "Råinformasjon", + "mongo.unauthorized": "Ikkje autorisert", + + "redis": "Redis", + "redis.version": "Versjon", + "redis.keys": "Nøklar", + "redis.expires": "Utgår", + "redis.avg-ttl": "Gjennomsnittleg TTL", + "redis.connected-clients": "Tilknytte klientar", + "redis.connected-slaves": "Tilknytte slavar", + "redis.blocked-clients": "Blokkerte klientar", + "redis.used-memory": "Brukt minne", + "redis.memory-frag-ratio": "Minnefragmenteringsgrad", + "redis.total-connections-recieved": "Totale tilkoplingar mottatt", + "redis.total-commands-processed": "Totale kommandoar handsama", + "redis.iops": "IO-operasjonar per sekund (IOPS)", + "redis.iinput": "Inngang IO", + "redis.ioutput": "Utgang IO", + "redis.total-input": "Total inngang", + "redis.total-output": "Total utgang", + + "redis.keyspace-hits": "Nøkkelrom treff", + "redis.keyspace-misses": "Nøkkelrom bom", + "redis.raw-info": "Råinformasjon", + + "postgres": "PostgreSQL", + "postgres.version": "Versjon", + "postgres.raw-info": "Råinformasjon" +} diff --git a/public/language/nn-NO/admin/advanced/errors.json b/public/language/nn-NO/admin/advanced/errors.json new file mode 100644 index 0000000000..63d92f28d9 --- /dev/null +++ b/public/language/nn-NO/admin/advanced/errors.json @@ -0,0 +1,15 @@ +{ + "errors": "Feil", + "figure-x": "Figur %1", + "error-events-per-day": "Feilhendingar per dag", + "error.404": "404 Feil", + "error.503": "503 Feil", + "manage-error-log": "Administrer feillogg", + "export-error-log": "Eksporter feillogg", + "clear-error-log": "Tøm feillogg", + "route": "Rute", + "count": "Teljing", + "no-routes-not-found": "Ingen ruter funne", + "clear404-confirm": "Er du sikker på at du vil tømme 404-feilloggen?", + "clear404-success": "404-feilloggen vart tømt med suksess" +} \ No newline at end of file diff --git a/public/language/nn-NO/admin/advanced/events.json b/public/language/nn-NO/admin/advanced/events.json new file mode 100644 index 0000000000..7780c2959a --- /dev/null +++ b/public/language/nn-NO/admin/advanced/events.json @@ -0,0 +1,17 @@ +{ + "events": "Hendingar", + "no-events": "Ingen hendingar", + "control-panel": "Kontrollpanel", + "delete-events": "Slett hendingar", + "confirm-delete-all-events": "Er du sikker på at du vil slette alle hendingane?", + "filters": "Filter", + "filters-apply": "Bruk filter", + "filter-type": "Filtertype", + "filter-start": "Startdato", + "filter-end": "Sluttdato", + "filter-user": "Filter på brukar", + "filter-user.placeholder": "Skriv inn brukarnamn", + "filter-group": "Filter på gruppe", + "filter-group.placeholder": "Skriv inn gruppenamn", + "filter-per-page": "Filter per side" +} \ No newline at end of file diff --git a/public/language/nn-NO/admin/advanced/logs.json b/public/language/nn-NO/admin/advanced/logs.json new file mode 100644 index 0000000000..52552a8eb3 --- /dev/null +++ b/public/language/nn-NO/admin/advanced/logs.json @@ -0,0 +1,7 @@ +{ + "logs": "Loggar", + "control-panel": "Kontrollpanel", + "reload": "Last inn på nytt", + "clear": "Tøm", + "clear-success": "Loggen vart tømt med suksess" +} \ No newline at end of file diff --git a/public/language/nn-NO/admin/appearance/customise.json b/public/language/nn-NO/admin/appearance/customise.json new file mode 100644 index 0000000000..04b577c10d --- /dev/null +++ b/public/language/nn-NO/admin/appearance/customise.json @@ -0,0 +1,20 @@ +{ + "customise": "Tilpass", + "custom-css": "Eigen CSS", + "custom-css.description": "Legg til tilpassa CSS for å endre utforminga av forumet.", + "custom-css.enable": "Aktiver eige CSS", + + "custom-js": "Eige JavaScript", + "custom-js.description": "Legg til tilpassa JavaScript for å utvide funksjonaliteten til forumet.", + "custom-js.enable": "Aktiver eige JavaScript", + + "custom-header": "Eige hovud", + "custom-header.description": "Legg til eige innhald i hovudet på sida.", + "custom-header.enable": "Aktiver eige hovud", + + "custom-css.livereload": "Live Reload CSS", + "custom-css.livereload.description": "Aktiver live reload for CSS for rask utvikling.", + "bsvariables": "Bootstrap-variablar", + "bsvariables.description": "Endre Bootstrap-variablar for å tilpasse temaet.", + "bsvariables.enable": "Aktiver Bootstrap-variablar" +} \ No newline at end of file diff --git a/public/language/nn-NO/admin/appearance/skins.json b/public/language/nn-NO/admin/appearance/skins.json new file mode 100644 index 0000000000..eb4acf5866 --- /dev/null +++ b/public/language/nn-NO/admin/appearance/skins.json @@ -0,0 +1,18 @@ +{ + "skins": "Utsjånad", + "bootswatch-skins": "Bootswatch-utsjånad", + "custom-skins": "Eige utsjånad", + "add-skin": "Legg til utsjånad", + "save-custom-skins": "Lagre eige utsjånad", + "save-custom-skins-success": "Eige utsjånad lagra med suksess", + "custom-skin-name": "Namn på eige utsjånad", + "custom-skin-variables": "Variablar for eige utsjånad", + "loading": "Laster", + "homepage": "Heimside", + "select-skin": "Vel utsjånad", + "revert-skin": "Tilbakestill utsjånad", + "current-skin": "Gjeldande utsjånad", + "skin-updated": "Utsjånad oppdatert", + "applied-success": "Lagt til med suksess", + "revert-success": "Tilbakestilling utført med suksess" +} \ No newline at end of file diff --git a/public/language/nn-NO/admin/appearance/themes.json b/public/language/nn-NO/admin/appearance/themes.json new file mode 100644 index 0000000000..75551c5a48 --- /dev/null +++ b/public/language/nn-NO/admin/appearance/themes.json @@ -0,0 +1,13 @@ +{ + "themes": "Tema", + "checking-for-installed": "Sjekkar etter installerte tema", + "homepage": "Startside", + "select-theme": "Vel tema", + "revert-theme": "Tilbakestill tema", + "current-theme": "Gjeldande tema", + "no-themes": "Ingen tema tilgjengeleg", + "revert-confirm": "Er du sikker på at du vil tilbakestille temaet?", + "theme-changed": "Tema endra", + "revert-success": "Tilbakestilling utført med suksess", + "restart-to-activate": "Start på nytt for å aktivere" +} \ No newline at end of file diff --git a/public/language/nn-NO/admin/dashboard.json b/public/language/nn-NO/admin/dashboard.json new file mode 100644 index 0000000000..fc6a1f9ae9 --- /dev/null +++ b/public/language/nn-NO/admin/dashboard.json @@ -0,0 +1,101 @@ +{ + "forum-traffic": "Forumtrafikk", + "page-views": "Sidevisningar", + "unique-visitors": "Unike besøkande", + "logins": "Innskrivingar", + "new-users": "Nye brukarar", + "posts": "Innlegg", + "topics": "Emne", + "page-views-seven": "Sidevisningar siste 7 dagar", + "page-views-thirty": "Sidevisningar siste 30 dagar", + "page-views-last-day": "Sidevisningar siste dag", + "page-views-custom": "Tilpassa sidevisningar", + "page-views-custom-start": "Startdato", + "page-views-custom-end": "Sluttdato", + "page-views-custom-help": "Vel eit tidsintervall for å sjå sidevisningar.", + "page-views-custom-error": "Ugyldig tidsintervall.", + + "stats.yesterday": "I går", + "stats.today": "I dag", + "stats.last-week": "Førre veke", + "stats.this-week": "Denne veka", + "stats.last-month": "Førre månad", + "stats.this-month": "Denne månaden", + "stats.all": "Alle", + + "updates": "Oppdateringar", + "running-version": "Køyrer versjon", + "keep-updated": "Hald oppdatert", + "up-to-date": "Oppdatert", + "upgrade-available": "Oppgradering tilgjengeleg", + "prerelease-upgrade-available": "Førehandsutgåveoppgradering tilgjengeleg", + "prerelease-warning": "Ver varsam når du oppgraderer til førehandsutgåver, dei kan innehalde feil.", + "fallback-emailer-not-found": "Fann ikkje tilbakefallse-postar", + "running-in-development": "Køyrer i utviklingsmodus", + "latest-lookup-failed": "Henting av siste versjon mislyktes", + + "notices": "Merknader", + "restart-not-required": "Omstart ikkje naudsynt", + "restart-required": "Omstart naudsynt", + "search-plugin-installed": "Søk-plugin installert", + "search-plugin-not-installed": "Søk-plugin ikkje installert", + "search-plugin-tooltip": "Installer søk-plugin for betre søkefunksjonalitet", + + "control-panel": "Kontrollpanel", + "rebuild-and-restart": "Bygg om og start på nytt", + "restart": "Start på nytt", + "restart-warning": "Omstart vil avbryte alle aktive sesjonar", + "restart-disabled": "Omstart er deaktivert", + "maintenance-mode": "Vedlikehaldsmodus", + "maintenance-mode-title": "Vedlikehald", + "dark-mode": "Mørk modus", + "realtime-chart-updates": "Sanntidsdiagramoppdateringar", + + "active-users": "Aktive brukarar", + "active-users.users": "Brukarar", + "active-users.guests": "Gjestar", + "active-users.total": "Totalt", + "active-users.connections": "Tilkoplingar", + + "guest-registered-users": "Gjestar / Registrerte brukarar", + "guest": "Gjest", + "registered": "Registrert", + + "user-presence": "Brukaraktivitet", + "on-categories": "I kategoriar", + "reading-posts": "Les innlegg", + "browsing-topics": "Blar gjennom emne", + "recent": "Nyleg", + "unread": "Uleste", + + "high-presence-topics": "Emne med høg aktivitet", + "popular-searches": "Populære søk", + + "graphs.page-views": "Diagram over sidevisningar", + "graphs.page-views-registered": "Diagram over sidevisningar (registrerte)", + "graphs.page-views-guest": "Diagram over sidevisningar (gjestar)", + "graphs.page-views-bot": "Diagram over sidevisningar (botar)", + "graphs.unique-visitors": "Diagram over unike besøkande", + "graphs.registered-users": "Diagram over registrerte brukarar", + "graphs.guest-users": "Diagram over gjestar", + "last-restarted-by": "Sist starta på nytt av", + "no-users-browsing": "Ingen brukarar blar gjennom", + + "back-to-dashboard": "Tilbake til oversikt", + "details.no-users": "Ingen brukarar", + "details.no-topics": "Ingen emne", + "details.no-searches": "Ingen søk", + "details.no-logins": "Ingen innskrivingar", + "details.logins-static": "Statistikk for innskrivingar", + "details.logins-login-time": "Innskrivingstidspunkt", + "start": "Start", + "end": "Slutt", + "filter": "Filter", + "view-as-json": "Vis som JSON", + "expand-analytics": "Utvid analyse", + "clear-search-history": "Tøm søkjehistorikk", + "clear-search-history-confirm": "Er du sikker på at du vil tømme søkjehistorikken?", + "search-term": "Søkjeord", + "search-count": "Søkjeantall", + "view-all": "Vis alle" +} diff --git a/public/language/nn-NO/admin/development/info.json b/public/language/nn-NO/admin/development/info.json new file mode 100644 index 0000000000..24d78aa2c5 --- /dev/null +++ b/public/language/nn-NO/admin/development/info.json @@ -0,0 +1,26 @@ +{ + "you-are-on": "Du er på", + "ip": "IP", + "nodes-responded": "Noder svarte", + "host": "Vert", + "primary": "Primær", + "pid": "PID", + "nodejs": "Node.js", + "online": "Pålogga", + "git": "Git", + "process-memory": "Prosessminne", + "system-memory": "Systemminne", + "used-memory-process": "Brukt minne (prosess)", + "used-memory-os": "Brukt minne (OS)", + "total-memory-os": "Totalt minne (OS)", + "load": "Belastning", + "cpu-usage": "CPU-bruk", + "uptime": "Oppetid", + + "registered": "Registrert", + "sockets": "Kontakter", + "connection-count": "Tilkoplingar", + "guests": "Gjestar", + + "info": "Info" +} \ No newline at end of file diff --git a/public/language/nn-NO/admin/development/logger.json b/public/language/nn-NO/admin/development/logger.json new file mode 100644 index 0000000000..dde5231875 --- /dev/null +++ b/public/language/nn-NO/admin/development/logger.json @@ -0,0 +1,13 @@ +{ + "logger": "Loggførar", + "logger-settings": "Loggførarinnstillingar", + "description": "Konfigurer loggførarinnstillingar for å overvake aktivitetar og førespurnader i NodeBB.", + "explanation": "Aktiver loggføring av HTTP- og WebSocket-aktivitet for feilsøking og overvaking.", + "enable-http": "Aktiver HTTP-loggføring", + "enable-socket": "Aktiver WebSocket-loggføring", + "file-path": "Filsti", + "file-path-placeholder": "Skriv inn stien til loggføringsfila", + + "control-panel": "Kontrollpanel", + "update-settings": "Oppdater innstillingar" +} \ No newline at end of file diff --git a/public/language/nn-NO/admin/extend/plugins.json b/public/language/nn-NO/admin/extend/plugins.json new file mode 100644 index 0000000000..a3f28227e7 --- /dev/null +++ b/public/language/nn-NO/admin/extend/plugins.json @@ -0,0 +1,58 @@ +{ + "plugins": "Pluginar", + "trending": "Populære", + "installed": "Installert", + "active": "Aktiv", + "inactive": "Inaktiv", + "out-of-date": "Utdatert", + "none-found": "Ingen funne", + "none-active": "Ingen aktive", + "find-plugins": "Finn pluginar", + + "plugin-search": "Søk etter pluginar", + "plugin-search-placeholder": "Skriv inn plugin-namn", + "submit-anonymous-usage": "Send inn anonym brukardata", + "reorder-plugins": "Omorganiser pluginar", + "order-active": "Sorter aktive pluginar", + "dev-interested": "Er du ein utviklar?", + "docs-info": "Sjå dokumentasjonen for meir informasjon", + + "order.description": "Du kan dra og sleppe pluginar for å endre rekkjefølgja", + "order.explanation": "Rekkjefølgja kan påverke korleis pluginar fungerer saman", + + "plugin-item.themes": "Tema", + "plugin-item.deactivate": "Deaktiver", + "plugin-item.activate": "Aktiver", + "plugin-item.install": "Installer", + "plugin-item.uninstall": "Avinstaller", + "plugin-item.settings": "Innstillingar", + "plugin-item.installed": "Installert", + "plugin-item.latest": "Nyaste versjon", + "plugin-item.upgrade": "Oppgrader", + "plugin-item.more-info": "Meir informasjon", + "plugin-item.unknown": "Ukjent", + "plugin-item.unknown-explanation": "Vi kunne ikkje finne informasjon om denne pluginen", + "plugin-item.compatible": "Kompatibel", + "plugin-item.not-compatible": "Ikkje kompatibel", + + "alert.enabled": "Plugin aktivert", + "alert.disabled": "Plugin deaktivert", + "alert.upgraded": "Plugin oppgradert", + "alert.installed": "Plugin installert", + "alert.uninstalled": "Plugin avinstallert", + "alert.activate-success": "Plugin vart aktivert med suksess", + "alert.deactivate-success": "Plugin vart deaktivert med suksess", + "alert.upgrade-success": "Plugin vart oppgradert med suksess", + "alert.install-success": "Plugin vart installert med suksess", + "alert.uninstall-success": "Plugin vart avinstallert med suksess", + "alert.suggest-error": "Vi kan ikkje foreslå pluginar for augneblinken", + "alert.package-manager-unreachable": "Pakkehåndteraren er ikkje tilgjengeleg for augneblinken", + "alert.incompatible": "Denne pluginen er ikkje kompatibel med din versjon av NodeBB", + "alert.possibly-incompatible": "Denne pluginen kan vere inkompatibel med din versjon av NodeBB", + "alert.reorder": "Pluginar omorganisert", + "alert.reorder-success": "Rekkjefølgja av pluginar vart oppdatert med suksess", + + "license.title": "Lisens", + "license.intro": "Les lisensavtalen før du installerer eller brukar denne pluginen.", + "license.cta": "Godta og fortset" +} diff --git a/public/language/nn-NO/admin/extend/rewards.json b/public/language/nn-NO/admin/extend/rewards.json new file mode 100644 index 0000000000..6cd3e5f719 --- /dev/null +++ b/public/language/nn-NO/admin/extend/rewards.json @@ -0,0 +1,17 @@ +{ + "rewards": "Utmerkingar", + "add-reward": "Legg til utmerking", + "condition-if-users": "Vilkår: Om brukarar", + "condition-is": "er", + "condition-then": "Då", + "max-claims": "Maks krav", + "zero-infinite": "0 for uendeleg", + "select-reward": "Vel utmerking", + "delete": "Slett", + "enable": "Aktiver", + "disable": "Deaktiver", + + "alert.delete-success": "Utmerking sletta med suksess", + "alert.no-inputs-found": "Ingen inndata funne", + "alert.save-success": "Utmerking lagra med suksess" +} \ No newline at end of file diff --git a/public/language/nn-NO/admin/extend/widgets.json b/public/language/nn-NO/admin/extend/widgets.json new file mode 100644 index 0000000000..10856e53f3 --- /dev/null +++ b/public/language/nn-NO/admin/extend/widgets.json @@ -0,0 +1,37 @@ +{ + "widgets": "Widgetar", + "available": "Tilgjengelege", + "explanation": "Dra og slepp widgetar for å tilpasse forumet.", + "none-installed": "Ingen widgetar installert", + "clone-from": "Klon frå", + "containers.available": "Tilgjengelege konteinarar", + "containers.explanation": "Konteinarar fungerer som behaldarar for widgetar.", + "containers.none": "Ingen konteinarar funne", + "container.well": "Brønn", + "container.jumbotron": "Jumbotron", + "container.card": "Kort", + "container.card-header": "Kortoverskrift", + "container.card-body": "Kortkropp", + "container.title": "Tittel", + "container.body": "Kropp", + "container.alert": "Varsel", + + "alert.confirm-delete": "Er du sikker på at du vil slette denne widgeten?", + "alert.updated": "Widget oppdatert", + "alert.update-success": "Widget oppdatert med suksess", + "alert.clone-success": "Widget klona med suksess", + + "error.select-clone": "Ver venleg å vel ein widget å klone", + + "title": "Tittel", + "title.placeholder": "Skriv inn tittelen her", + "container": "Konteinar", + "container.placeholder": "Vel konteinaren", + "show-to-groups": "Vis til grupper", + "hide-from-groups": "Skjul frå grupper", + "start-date": "Startdato", + "end-date": "Sluttdato", + "hide-on-mobile": "Skjul på mobil", + "hide-drafts": "Skjul utkast", + "show-drafts": "Vis utkast" +} \ No newline at end of file diff --git a/public/language/nn-NO/admin/manage/admins-mods.json b/public/language/nn-NO/admin/manage/admins-mods.json new file mode 100644 index 0000000000..86394f3f7c --- /dev/null +++ b/public/language/nn-NO/admin/manage/admins-mods.json @@ -0,0 +1,13 @@ +{ + "manage-admins-and-mods": "Administrer administratorar og moderatorar", + "administrators": "Administratorar", + "global-moderators": "Globale moderatorar", + "moderators": "Moderatorar", + "no-global-moderators": "Ingen globale moderatorar", + "no-sub-categories": "Ingen underkategoriar", + "view-children": "Vis underkategoriar", + "no-moderators": "Ingen moderatorar", + "add-administrator": "Legg til administrator", + "add-global-moderator": "Legg til global moderator", + "add-moderator": "Legg til moderator" +} \ No newline at end of file diff --git a/public/language/nn-NO/admin/manage/categories.json b/public/language/nn-NO/admin/manage/categories.json new file mode 100644 index 0000000000..3e093bbf9f --- /dev/null +++ b/public/language/nn-NO/admin/manage/categories.json @@ -0,0 +1,99 @@ +{ + "manage-categories": "Administrer kategoriar", + "add-category": "Legg til kategori", + "jump-to": "Hopp til", + "settings": "Innstillingar", + "edit-category": "Rediger kategori", + "privileges": "Rettar", + "back-to-categories": "Tilbake til kategoriar", + "name": "Namn", + "description": "Skildring", + "bg-color": "Bakgrunnsfarge", + "text-color": "Tekstfarge", + "bg-image-size": "Storleik på bakgrunnsbilete", + "custom-class": "Tilpassa klasse", + "num-recent-replies": "Antal nylege svar", + "ext-link": "Ekstern lenkje", + "subcategories-per-page": "Underkategoriar per side", + "is-section": "Er seksjon", + "post-queue": "Innleggskø", + "tag-whitelist": "Stikkord kviteliste", + "upload-image": "Last opp bilete", + "upload": "Last opp", + "delete-image": "Slett bilete", + "category-image": "Kategori-bilete", + "image-and-icon": "Bilete og ikon", + "parent-category": "Overordna kategori", + "optional-parent-category": "Valfri overordna kategori", + "top-level": "Topnivå", + "parent-category-none": "Ingen overordna kategori", + "copy-parent": "Kopier overordna", + "copy-settings": "Kopier innstillingar", + "optional-clone-settings": "Valfri kloning av innstillingar", + "clone-children": "Klon underkategoriar", + "purge": "Rensk", + + "enable": "Aktiver", + "disable": "Deaktiver", + "edit": "Rediger", + "analytics": "Analyse", + + "view-category": "Vis kategori", + "set-order": "Set rekkjefølgje", + "set-order-help": "Dra og slepp kategoriar for å endre rekkjefølgje", + + "select-category": "Vel kategori", + "set-parent-category": "Vel overordna kategori", + + "privileges.description": "Konfigurer rettar for denne kategorien.", + "privileges.category-selector": "Kategori-val", + "privileges.warning": "Endringar kan påverke underkategoriar.", + "privileges.section-viewing": "Vising", + "privileges.section-posting": "Posting", + "privileges.section-moderation": "Moderering", + "privileges.section-other": "Anna", + "privileges.section-user": "Brukar", + "privileges.search-user": "Søk etter brukar", + "privileges.no-users": "Ingen brukarar funne", + "privileges.section-group": "Gruppe", + "privileges.group-private": "Privat gruppe", + "privileges.inheritance-exception": "Unntak for arv", + "privileges.banned-user-inheritance": "Arv for utestengde brukarar", + "privileges.search-group": "Søk etter gruppe", + "privileges.copy-to-children": "Kopier til underkategoriar", + "privileges.copy-from-category": "Kopier frå kategori", + "privileges.copy-privileges-to-all-categories": "Kopier rettar til alle kategoriar", + "privileges.copy-group-privileges-to-children": "Kopier gruppe-rettar til underkategoriar", + "privileges.copy-group-privileges-to-all-categories": "Kopier gruppe-rettar til alle kategoriar", + "privileges.copy-group-privileges-from": "Kopier gruppe-rettar frå", + "privileges.inherit": "Arv", + "privileges.copy-success": "Rettar kopiert med suksess", + + "analytics.back": "Tilbake", + "analytics.title": "Analyse", + "analytics.pageviews-hourly": "Sidevisningar per time", + "analytics.pageviews-daily": "Sidevisningar per dag", + "analytics.topics-daily": "Emne per dag", + "analytics.posts-daily": "Innlegg per dag", + + "alert.created": "Oppretta", + "alert.create-success": "Kategori oppretta med suksess", + "alert.none-active": "Ingen aktive kategoriar", + "alert.create": "Opprett kategori", + "alert.confirm-purge": "Er du sikker på at du vil rense denne kategorien?", + "alert.purge-success": "Kategorien vart rensa med suksess", + "alert.copy-success": "Innstillingar kopiert med suksess", + "alert.set-parent-category": "Set overordna kategori", + "alert.updated": "Oppdatert", + "alert.updated-success": "Kategori oppdatert med suksess", + "alert.upload-image": "Last opp bilete", + "alert.find-user": "Finn brukar", + "alert.user-search": "Søk etter brukar", + "alert.find-group": "Finn gruppe", + "alert.group-search": "Søk etter gruppe", + "alert.not-enough-whitelisted-tags": "Ikkje nok kvitelista stikkord", + "collapse-all": "Slå saman alle", + "expand-all": "Utvid alle", + "disable-on-create": "Deaktiver ved oppretting", + "no-matches": "Ingen treff" +} \ No newline at end of file diff --git a/public/language/nn-NO/admin/manage/digest.json b/public/language/nn-NO/admin/manage/digest.json new file mode 100644 index 0000000000..d4867a0a5b --- /dev/null +++ b/public/language/nn-NO/admin/manage/digest.json @@ -0,0 +1,22 @@ +{ + "lead": "Administrer oppsummeringsutsending", + "disclaimer": "Her kan du administrere og konfigurere oppsummeringsutsendingar til brukarane.", + "disclaimer-continued": "Merk at oppsummeringar berre vert sendt til brukarar som har valt å motta dei.", + + "user": "Brukar", + "subscription": "Abonnement", + "last-delivery": "Siste utsending", + "default": "Standard", + "default-help": "Standardoppsett for oppsummeringsutsending til nye brukarar.", + "resend": "Send på nytt", + "resend-all-confirm": "Er du sikker på at du vil sende oppsummeringa på nytt til alle brukarar?", + "resent-single": "Oppsummering sendt på nytt til brukar", + "resent-day": "Dagleg oppsummering sendt på nytt", + "resent-week": "Vekeoppsummering sendt på nytt", + "resent-biweek": "Tovekersoppsummering sendt på nytt", + "resent-month": "Månadsoppsummering sendt på nytt", + "null": "Ingen data", + "manual-run": "Manuell køyretur", + + "no-delivery-data": "Ingen leveringsdata funne" +} diff --git a/public/language/nn-NO/admin/manage/groups.json b/public/language/nn-NO/admin/manage/groups.json new file mode 100644 index 0000000000..bfa87868bf --- /dev/null +++ b/public/language/nn-NO/admin/manage/groups.json @@ -0,0 +1,49 @@ +{ + "manage-groups": "Administrer grupper", + "add-group": "Legg til gruppe", + "edit-group": "Rediger gruppe", + "back-to-groups": "Tilbake til grupper", + "view-group": "Vis gruppe", + "icon-and-title": "Ikon og tittel", + "name": "Namn", + "badge": "Merke", + "properties": "Eigenskapar", + "description": "Skildring", + "member-count": "Medlemsantal", + "system": "System", + "hidden": "Skjult", + "private": "Privat", + "edit": "Rediger", + "delete": "Slett", + "privileges": "Rettar", + "members-csv": "Medlemmer (CSV)", + "search-placeholder": "Søk etter medlem", + "create": "Opprett", + "description-placeholder": "Skriv inn ei skildring", + "create-button": "Opprett gruppe", + + "alerts.create-failure": "Oppretting mislykka", + "alerts.confirm-delete": "Er du sikker på at du vil slette denne gruppa?", + + "edit.name": "Rediger namn", + "edit.description": "Rediger skildring", + "edit.user-title": "Brukartittel", + "edit.icon": "Ikon", + "edit.label-color": "Etikettfarge", + "edit.text-color": "Tekstfarge", + "edit.show-badge": "Vis merke", + "edit.private-details": "Detaljar for privat gruppe", + "edit.private-override": "Overstyr privat status", + "edit.disable-join": "Deaktiver medlemskap", + "edit.disable-leave": "Deaktiver utmelding", + "edit.hidden": "Skjult", + "edit.hidden-details": "Detaljar for skjult gruppe", + "edit.add-user": "Legg til brukar", + "edit.add-user-search": "Søk etter brukarar å leggje til", + "edit.members": "Medlemmar", + "control-panel": "Kontrollpanel", + "revert": "Tilbakestill", + + "edit.no-users-found": "Ingen brukarar funne", + "edit.confirm-remove-user": "Er du sikker på at du vil fjerne denne brukaren frå gruppa?" +} \ No newline at end of file diff --git a/public/language/nn-NO/admin/manage/privileges.json b/public/language/nn-NO/admin/manage/privileges.json new file mode 100644 index 0000000000..a90afc2315 --- /dev/null +++ b/public/language/nn-NO/admin/manage/privileges.json @@ -0,0 +1,66 @@ +{ + "manage-privileges": "Administrer rettar", + "discard-changes": "Forkast endringar", + "global": "Global", + "admin": "Admin", + "group-privileges": "Grupperettar", + "user-privileges": "Brukarrettar", + "edit-privileges": "Rediger rettar", + "select-clear-all": "Vel / Tøm alt", + "chat": "Chat", + "chat-with-privileged": "Chat med privilegerte", + "upload-images": "Last opp bilete", + "upload-files": "Last opp filer", + "signature": "Signatur", + "ban": "Utesteng", + "mute": "Dempe", + "invite": "Inviter", + "search-content": "Søk i innhald", + "search-users": "Søk etter brukarar", + "search-tags": "Søk etter stikkord", + "view-users": "Vis brukarar", + "view-tags": "Vis stikkord", + "view-groups": "Vis grupper", + "allow-local-login": "Tillat lokal innlogging", + "allow-group-creation": "Tillat gruppeoppretting", + "view-users-info": "Vis brukarinformasjon", + "find-category": "Finn kategori", + "access-category": "Tilgang til kategori", + "access-topics": "Tilgang til emne", + "create-topics": "Opprett emne", + "reply-to-topics": "Svar på emne", + "schedule-topics": "Planlegg emne", + "tag-topics": "Merk emne", + "edit-posts": "Rediger innlegg", + "view-edit-history": "Vis redigeringshistorikk", + "delete-posts": "Slett innlegg", + "view-deleted": "Vis sletta", + "upvote-posts": "Stem opp innlegg", + "downvote-posts": "Stem ned innlegg", + "delete-topics": "Slett emne", + "purge": "Rensk", + "moderate": "Moderere", + "admin-dashboard": "Admin-oversikt", + "admin-categories": "Admin-kategoriar", + "admin-privileges": "Admin-rettar", + "admin-users": "Admin-brukarar", + "admin-admins-mods": "Admin-administratorar/moderatorar", + "admin-groups": "Admin-grupper", + "admin-tags": "Admin-stikkord", + "admin-settings": "Admin-innstillingar", + + "alert.confirm-moderate": "Er du sikker på at du vil moderere?", + "alert.confirm-admins-mods": "Er du sikker på at du vil endre rettane til administratorar/moderatorar?", + "alert.confirm-save": "Er du sikker på at du vil lagre endringane?", + "alert.confirm-discard": "Er du sikker på at du vil forkaste endringane?", + "alert.discarded": "Endringar forkasta", + "alert.confirm-copyToAll": "Er du sikker på at du vil kopiere desse rettane til alle kategoriar?", + "alert.confirm-copyToAllGroup": "Er du sikker på at du vil kopiere desse grupperekkefølgjene til alle kategoriar?", + "alert.confirm-copyToChildren": "Er du sikker på at du vil kopiere desse rettane til alle underkategoriar?", + "alert.confirm-copyToChildrenGroup": "Er du sikker på at du vil kopiere desse grupperekkefølgjene til alle underkategoriar?", + "alert.no-undo": "Dette kan ikkje angre.", + "alert.admin-warning": "Viktig åtvaring: Dette vil påverke administratorar.", + "alert.copyPrivilegesFrom-title": "Kopier rettar frå", + "alert.copyPrivilegesFrom-warning": "Er du sikker på at du vil kopiere rettar frå denne kategorien?", + "alert.copyPrivilegesFromGroup-warning": "Er du sikker på at du vil kopiere grupperekkefølgjene frå denne kategorien?" +} \ No newline at end of file diff --git a/public/language/nn-NO/admin/manage/registration.json b/public/language/nn-NO/admin/manage/registration.json new file mode 100644 index 0000000000..e412420647 --- /dev/null +++ b/public/language/nn-NO/admin/manage/registration.json @@ -0,0 +1,20 @@ +{ + "queue": "Kø", + "description": "Administrer registreringskøen og godkjenningsførespurnader.", + + "list.name": "Namn", + "list.email": "E-post", + "list.ip": "IP-adresse", + "list.time": "Tidspunkt", + "list.username-spam": "Brukarnamn (spam)", + "list.email-spam": "E-post (spam)", + "list.ip-spam": "IP (spam)", + + "invitations": "Invitasjonar", + "invitations.description": "Administrer invitasjonar sendt til potensielle brukarar.", + "invitations.inviter-username": "Inviterande brukarnamn", + "invitations.invitee-email": "E-post til inviterte", + "invitations.invitee-username": "Brukarnamn til inviterte", + + "invitations.confirm-delete": "Er du sikker på at du vil slette denne invitasjonen?" +} \ No newline at end of file diff --git a/public/language/nn-NO/admin/manage/tags.json b/public/language/nn-NO/admin/manage/tags.json new file mode 100644 index 0000000000..01aa1fe6ac --- /dev/null +++ b/public/language/nn-NO/admin/manage/tags.json @@ -0,0 +1,20 @@ +{ + "manage-tags": "Administrer stikkord", + "none": "Ingen", + "bg-color": "Bakgrunnsfarge", + "text-color": "Tekstfarge", + "description": "Skildring", + "create": "Opprett", + "add-tag": "Legg til stikkord", + "modify": "Endre", + "rename": "Endre namn", + "delete": "Slett", + "search": "Søk", + "settings": "Innstillingar", + "name": "Namn", + + "alerts.editing": "Redigerer", + "alerts.confirm-delete": "Er du sikker på at du vil slette dette stikkordet?", + "alerts.update-success": "Oppdatering lukkast", + "reset-colors": "Tilbakestill fargar" +} \ No newline at end of file diff --git a/public/language/nn-NO/admin/manage/uploads.json b/public/language/nn-NO/admin/manage/uploads.json new file mode 100644 index 0000000000..9af2a24b38 --- /dev/null +++ b/public/language/nn-NO/admin/manage/uploads.json @@ -0,0 +1,12 @@ +{ + "manage-uploads": "Administrer opplastingar", + "upload-file": "Last opp fil", + "filename": "Filnamn", + "usage": "Bruk", + "orphaned": "Foreldrelause", + "size/filecount": "Storleik / filantal", + "confirm-delete": "Er du sikker på at du vil slette?", + "filecount": "Filantal", + "new-folder": "Ny mappe", + "name-new-folder": "Namn på ny mappe" +} \ No newline at end of file diff --git a/public/language/nn-NO/admin/manage/users.json b/public/language/nn-NO/admin/manage/users.json new file mode 100644 index 0000000000..539d2dd5a4 --- /dev/null +++ b/public/language/nn-NO/admin/manage/users.json @@ -0,0 +1,151 @@ +{ + "manage-users": "Administrer brukarar", + "users": "Brukarar", + "edit": "Rediger", + "make-admin": "Gjer til administrator", + "remove-admin": "Fjern administrator", + "change-email": "Endre e-post", + "new-email": "Ny e-post", + "validate-email": "Valider e-post", + "send-validation-email": "Send validerings-e-post", + "change-password": "Endre passord", + "password-reset-email": "Passord-tilbakestillings-e-post", + "force-password-reset": "Tving tilbakestilling av passord", + "ban": "Utesteng", + "ban-users": "Utesteng brukarar", + "temp-ban": "Midlertidig utestenging", + "unban": "Opphev utestenging", + "reset-lockout": "Tilbakestill låsing", + "reset-flags": "Tilbakestill rapportar", + "delete": "Slett", + "delete-users": "Slett brukarar", + "delete-content": "Slett innhald", + "purge": "Rensk", + "download-csv": "Last ned CSV", + "manage-groups": "Administrer grupper", + "set-reputation": "Sett omdømme", + "add-group": "Legg til gruppe", + "create": "Opprett", + "invite": "Inviter", + "new": "Ny", + "filter-by": "Filtrer etter", + "pills.unvalidated": "Ikkje validerte", + "pills.validated": "Validerte", + "pills.banned": "Utestengde", + + "50-per-page": "50 per side", + "100-per-page": "100 per side", + "250-per-page": "250 per side", + "500-per-page": "500 per side", + + "search.uid": "Søk etter brukar-ID", + "search.uid-placeholder": "Brukar-ID", + "search.username": "Søk etter brukarnamn", + "search.username-placeholder": "Brukarnamn", + "search.email": "Søk etter e-post", + "search.email-placeholder": "E-post", + "search.ip": "Søk etter IP-adresse", + "search.ip-placeholder": "IP-adresse", + "search.not-found": "Ingenting funne", + + "inactive.3-months": "Inaktiv i 3 månader", + "inactive.6-months": "Inaktiv i 6 månader", + "inactive.12-months": "Inaktiv i 12 månader", + + "users.uid": "Brukar-ID", + "users.username": "Brukarnamn", + "users.email": "E-post", + "users.no-email": "Ingen e-post", + "users.validated": "Validerte", + "users.not-validated": "Ikkje validerte", + "users.validation-pending": "Validering ventar", + "users.validation-expired": "Validering utløpt", + "users.ip": "IP-adresse", + "users.postcount": "Innleggstal", + "users.reputation": "Omdømme", + "users.flags": "Rapportar", + "users.joined": "Blei med", + "users.last-online": "Sist pålogga", + "users.banned": "Utestengd", + + "create.username": "Brukarnamn", + "create.email": "E-post", + "create.email-placeholder": "Skriv inn e-post", + "create.password": "Passord", + "create.password-confirm": "Stadfest passord", + + "temp-ban.length": "Lengd på utestenging", + "temp-ban.reason": "Årsak til utestenging", + "temp-ban.hours": "Timar", + "temp-ban.days": "Dagar", + "temp-ban.explanation": "Forklaring på utestenging", + + "alerts.confirm-ban": "Er du sikker på at du vil utestenge denne brukaren?", + "alerts.confirm-ban-multi": "Er du sikker på at du vil utestenge dei valde brukarane?", + "alerts.ban-success": "Brukaren vart utestengd med suksess", + "alerts.button-ban-x": "Utesteng %1", + "alerts.unban-success": "Utestenging oppheva med suksess", + "alerts.lockout-reset-success": "Låsing tilbakestilt med suksess", + "alerts.password-change-success": "Passord endra med suksess", + "alerts.flag-reset-success": "Rapportar tilbakestilt med suksess", + "alerts.no-remove-yourself-admin": "Du kan ikkje fjerne deg sjølv som administrator", + "alerts.make-admin-success": "Brukaren vart gjort til administrator med suksess", + "alerts.confirm-remove-admin": "Er du sikker på at du vil fjerne denne brukaren som administrator?", + "alerts.remove-admin-success": "Administratorrettar fjerna med suksess", + "alerts.make-global-mod-success": "Brukaren vart gjort til global moderator med suksess", + "alerts.confirm-remove-global-mod": "Er du sikker på at du vil fjerne denne brukaren som global moderator?", + "alerts.remove-global-mod-success": "Global moderator fjernet med suksess", + "alerts.make-moderator-success": "Brukaren vart gjort til moderator med suksess", + "alerts.confirm-remove-moderator": "Er du sikker på at du vil fjerne denne brukaren som moderator?", + "alerts.remove-moderator-success": "Moderator fjernet med suksess", + "alerts.confirm-validate-email": "Er du sikker på at du vil validere denne e-posten?", + "alerts.confirm-force-password-reset": "Er du sikker på at du vil tvinge tilbakestilling av passord?", + "alerts.validate-email-success": "E-post validering fullført med suksess", + "alerts.validate-force-password-reset-success": "Passord tilbakestilt med suksess", + "alerts.password-reset-confirm": "Er du sikker på at du vil sende ein e-post for tilbakestilling av passord?", + "alerts.password-reset-email-sent": "Passord tilbakestillings-e-post sendt", + "alerts.confirm-delete": "Er du sikker på at du vil slette denne brukaren?", + "alerts.delete-success": "Brukaren vart sletta med suksess", + "alerts.confirm-delete-content": "Er du sikker på at du vil slette alt innhaldet til denne brukaren?", + "alerts.delete-content-success": "Brukarinnhald sletta med suksess", + "alerts.confirm-purge": "Er du sikker på at du vil renske denne brukaren?", + "alerts.create": "Opprett brukar", + "alerts.button-create": "Opprett", + "alerts.button-cancel": "Avbryt", + "alerts.button-change": "Endre", + "alerts.error-passwords-different": "Passorda stemmer ikkje overens", + "alerts.error-x": "Feil: %1", + "alerts.create-success": "Brukar oppretta med suksess", + + "alerts.prompt-email": "E-postar:", + "alerts.email-sent-to": "E-post sendt til %1", + "alerts.x-users-found": "%1 brukar(ar) funne", + "alerts.select-a-single-user-to-change-email": "Ver venleg å vel ein brukar for å endre e-post", + "export": "Eksporter", + "export-users-fields-title": "Eksporter brukaropplysningar", + "export-field-email": "E-post", + "export-field-username": "Brukarnamn", + "export-field-uid": "Brukar-ID", + "export-field-ip": "IP-adresse", + "export-field-joindate": "Registreringsdato", + "export-field-lastonline": "Sist pålogga", + "export-field-lastposttime": "Tidspunkt for siste innlegg", + "export-field-reputation": "Omdømme", + "export-field-postcount": "Innleggstal", + "export-field-topiccount": "Emnetal", + "export-field-profileviews": "Profilvisningar", + "export-field-followercount": "Følgjarar", + "export-field-followingcount": "Følgjer", + "export-field-fullname": "Fullt namn", + "export-field-website": "Nettstad", + "export-field-location": "Stad", + "export-field-birthday": "Fødselsdag", + "export-field-signature": "Signatur", + "export-field-aboutme": "Om meg", + + "export-users-started": "Eksport starta", + "export-users-completed": "Eksport fullført", + "email": "E-post", + "password": "Passord", + "manage": "Administrer" +} \ No newline at end of file diff --git a/public/language/nn-NO/admin/menu.json b/public/language/nn-NO/admin/menu.json new file mode 100644 index 0000000000..ef70c63f90 --- /dev/null +++ b/public/language/nn-NO/admin/menu.json @@ -0,0 +1,92 @@ +{ + "section-dashboard": "Oversikt", + "dashboard/overview": "Oversikt", + "dashboard/logins": "Innloggingar", + "dashboard/users": "Brukarar", + "dashboard/topics": "Emne", + "dashboard/searches": "Søk", + "section-general": "Generelt", + + "section-manage": "Administrer", + "manage/categories": "Kategoriar", + "manage/privileges": "Rettar", + "manage/tags": "Stikkord", + "manage/users": "Brukarar", + "manage/admins-mods": "Administratorar og moderatorar", + "manage/registration": "Registrering", + "manage/flagged-content": "Rapportert innhald", + "manage/post-queue": "Innleggskø", + "manage/groups": "Grupper", + "manage/ip-blacklist": "IP-svarteliste", + "manage/uploads": "Opplastingar", + "manage/digest": "Oppsummering", + + "section-settings": "Innstillingar", + "settings/general": "Generelt", + "settings/homepage": "Heimside", + "settings/navigation": "Navigasjon", + "settings/reputation": "Omdømme", + "settings/email": "E-post", + "settings/user": "Brukar", + "settings/group": "Gruppe", + "settings/guest": "Gjest", + "settings/uploads": "Opplastingar", + "settings/languages": "Språk", + "settings/post": "Innlegg", + "settings/chat": "Chat", + "settings/pagination": "Paginering", + "settings/tags": "Stikkord", + "settings/notifications": "Varsel", + "settings/api": "API", + "settings/sounds": "Lydar", + "settings/social": "Sosial", + "settings/cookies": "Informasjonskapslar", + "settings/web-crawler": "Nettgjennomsøking", + "settings/sockets": "Soklar", + "settings/advanced": "Avansert", + + "settings.page-title": "Sideinnstillingar", + + "section-appearance": "Utseende", + "appearance/themes": "Tema", + "appearance/skins": "Skins", + "appearance/customise": "Tilpass", + + "section-extend": "Utvid", + "extend/plugins": "Pluginar", + "extend/widgets": "Widgetar", + "extend/rewards": "Utmerkingar", + + "section-social-auth": "Sosial autentisering", + + "section-plugins": "Pluginar", + "extend/plugins.install": "Installer pluginar", + + "section-advanced": "Avansert", + "advanced/database": "Database", + "advanced/events": "Hendingar", + "advanced/hooks": "Hooks", + "advanced/logs": "Loggar", + "advanced/errors": "Feil", + "advanced/cache": "Cache", + "development/logger": "Loggførar", + "development/info": "Informasjon", + + "rebuild-and-restart-forum": "Bygg om og restart forum", + "rebuild-and-restart": "Bygg om og restart", + "restart-forum": "Restart forum", + "restart": "Restart", + "logout": "Logg ut", + "view-forum": "Vis forum", + + "search.placeholder": "Søk...", + "search.no-results": "Ingen resultat", + "search.search-forum": "Søk i forum", + "search.keep-typing": "Fortsett å skrive...", + "search.start-typing": "Start å skrive...", + + "connection-lost": "Tilkobling mistet", + + "alerts.version": "Versjon", + "alerts.upgrade": "Oppgradering tilgjengeleg" +} \ No newline at end of file diff --git a/public/language/nn-NO/admin/settings/advanced.json b/public/language/nn-NO/admin/settings/advanced.json new file mode 100644 index 0000000000..70504c5cd8 --- /dev/null +++ b/public/language/nn-NO/admin/settings/advanced.json @@ -0,0 +1,50 @@ +{ + "maintenance-mode": "Vedlikehaldsmodus", + "maintenance-mode.help": "Aktiver eller deaktiver vedlikehaldsmodus for forumet.", + "maintenance-mode.status": "Status for vedlikehaldsmodus", + "maintenance-mode.message": "Melding ved vedlikehald", + "maintenance-mode.groups-exempt-from-maintenance-mode": "Grupper unntatt frå vedlikehaldsmodus", + "headers": "Overskrifter", + "headers.allow-from": "Tillat frå", + "headers.csp-frame-ancestors": "CSP-ramme forfedrar", + "headers.csp-frame-ancestors-help": "Konfigurer CSP-reglar for kva som kan innehalde ramma til forumet.", + "headers.powered-by": "Drevet av", + "headers.acao": "Tillat CORS", + "headers.acao-regex": "CORS Regex", + "headers.acao-help": "Konfigurer CORS-policyen for å tillate eksterne ressursar.", + "headers.acao-regex-help": "Spesifiser ei regex-regel for CORS-tilgang.", + "headers.acac": "Tillat legitimasjon", + "headers.acam": "Tillat metodar", + "headers.acah": "Tillat overskrifter", + "headers.coep": "COEP", + "headers.coep-help": "Konfigurer Cross-Origin-Embedder-Policy.", + "headers.coop": "COOP", + "headers.corp": "CORP", + "headers.permissions-policy": "Tillat politikk", + "headers.permissions-policy-help": "Angi retningslinjer for ulike tillatelser i nettlesaren.", + "hsts": "HTTP Strict Transport Security (HSTS)", + "hsts.enabled": "Aktiver HSTS", + "hsts.maxAge": "Maks alder", + "hsts.subdomains": "Inkluder underdomener", + "hsts.preload": "Forhåndslast", + "hsts.help": "Konfigurer HSTS for å sikre at forbindelsen til forumet alltid er via HTTPS.", + "traffic-management": "Trafikkadministrasjon", + "traffic.help": "Administrer trafikken og lastbalansering for forumet.", + "traffic.enable": "Aktiver trafikkadministrasjon", + "traffic.event-lag": "Hending forsinkelse", + "traffic.event-lag-help": "Konfigurer tid mellom hendingar for å redusere belastninga.", + "traffic.lag-check-interval": "Intervall for sjekk av forsinkelse", + "traffic.lag-check-interval-help": "Angi kor ofte forsinkelsar skal sjekkast.", + + "sockets.settings": "Innstillingar for sockets", + "sockets.max-attempts": "Maks forsøk", + "sockets.default-placeholder": "Standardverdi", + "sockets.delay": "Forseinking", + + "analytics.settings": "Analyseinnstillingar", + "analytics.max-cache": "Maksimal cache for analyse", + "analytics.max-cache-help": "Angi kor mykje cache som skal lagrast for analyseformål.", + "compression.settings": "Kompresjonsinnstillingar", + "compression.enable": "Aktiver kompresjon", + "compression.help": "Konfigurer om forumet skal komprimere data for å redusere overføringsstorleiken." +} \ No newline at end of file diff --git a/public/language/nn-NO/admin/settings/api.json b/public/language/nn-NO/admin/settings/api.json new file mode 100644 index 0000000000..ad9e2b2b01 --- /dev/null +++ b/public/language/nn-NO/admin/settings/api.json @@ -0,0 +1,29 @@ +{ + "tokens": "Token", + "settings": "Innstillingar", + "lead-text": "Administrer API-token og tilgangsinnstillingar her.", + "intro": "API-token kan brukast for å få tilgang til forumets API. Ver forsiktig med deling av token.", + "warning": "Merk: For å sikre kommunikasjon, bør HTTPS vere aktivert.", + "docs": "Les dokumentasjonen for meir informasjon om API-konfigurasjon.", + + "require-https": "Krev HTTPS", + "require-https-caveat": "Dette alternativet sikrar at all API-kommunikasjon går over HTTPS. Dette bør vere aktivert for å sikre dataene dine.", + + "uid": "Brukar-ID", + "token": "Token", + "uid-help-text": "Vel ein brukar for å generere token for API-tilgang.", + "description": "Skildring", + "last-seen": "Sist sett", + "created": "Oppretta", + "create-token": "Opprett token", + "update-token": "Oppdater token", + "master-token": "Master-token", + "last-seen-never": "Aldri sett", + "no-description": "Ingen skildring", + "actions": "Handlingar", + "edit": "Rediger", + "roll": "Roter", + + "delete-confirm": "Er du sikker på at du vil slette dette tokenet?", + "roll-confirm": "Er du sikker på at du vil rotere dette tokenet?" +} \ No newline at end of file diff --git a/public/language/nn-NO/admin/settings/chat.json b/public/language/nn-NO/admin/settings/chat.json new file mode 100644 index 0000000000..db968a7979 --- /dev/null +++ b/public/language/nn-NO/admin/settings/chat.json @@ -0,0 +1,15 @@ +{ + "zero-is-disabled": "0 betyr deaktivert", + "chat-settings": "Chat-innstillingar", + "disable": "Deaktiver", + "disable-editing": "Deaktiver redigering", + "disable-editing-help": "Når aktivert, kan brukarar ikkje redigere meldingane sine etter sending.", + "max-length": "Maksimum lengd", + "max-chat-room-name-length": "Maksimum lengd på romnamn", + "max-room-size": "Maksimum storleik på rom", + "delay": "Forsinkelse", + "notification-delay": "Varslingsforsinkelse", + "notification-delay-help": "Angi kor lang forsinkelse som skal vere før varsel vert sendt.", + "restrictions.seconds-edit-after": "Sekund til redigering er mogleg etter sending", + "restrictions.seconds-delete-after": "Sekund til sletting er mogleg etter sending" +} \ No newline at end of file diff --git a/public/language/nn-NO/admin/settings/cookies.json b/public/language/nn-NO/admin/settings/cookies.json new file mode 100644 index 0000000000..51087299a5 --- /dev/null +++ b/public/language/nn-NO/admin/settings/cookies.json @@ -0,0 +1,13 @@ +{ + "eu-consent": "EU-samtykke", + "consent.enabled": "Samtykke aktivert", + "consent.message": "Dette forumet brukar informasjonskapslar for å sikre at du får den beste opplevinga.", + "consent.acceptance": "Godkjenn", + "consent.link-text": "Lær meir", + "consent.link-url": "/privacy", + "consent.blank-localised-default": "Ingen standardtekst spesifisert", + "settings": "Innstillingar", + "cookie-domain": "Domenenamn for informasjonskapslar", + "max-user-sessions": "Maks brukarøkter", + "blank-default": "Ingen standardverdi spesifisert" +} \ No newline at end of file diff --git a/public/language/nn-NO/admin/settings/email.json b/public/language/nn-NO/admin/settings/email.json new file mode 100644 index 0000000000..bf655df47c --- /dev/null +++ b/public/language/nn-NO/admin/settings/email.json @@ -0,0 +1,52 @@ +{ + "email-settings": "E-postinnstillingar", + "address": "E-postadresse", + "address-help": "Skriv inn e-postadressa som vert brukt for utsending av e-post.", + "from": "Frå-adresse", + "from-help": "Vis namnet som skal visast som avsendar på e-postane.", + + "confirmation-settings": "Stadfestingsinnstillingar", + "confirmation.expiry": "Stadfestingskode utløpsperiode", + + "smtp-transport": "SMTP-transport", + "smtp-transport.enabled": "SMTP-transport aktivert", + "smtp-transport-help": "Konfigurer SMTP-innstillingane for å sende e-post via ein ekstern server.", + "smtp-transport.service": "SMTP-teneste", + "smtp-transport.service-custom": "Tilpassa SMTP-teneste", + "smtp-transport.service-help": "Vel ei standard teneste eller oppgi eigne SMTP-innstillingar.", + "smtp-transport.gmail-warning1": "Merk: For Gmail må du aktivere mindre sikre appar for å bruke SMTP.", + "smtp-transport.gmail-warning2": "Alternativt kan du bruke ein app-spesifikk passord om tofaktorautentisering er aktivert.", + "smtp-transport.auto-enable-toast": "SMTP vil bli aktivert automatisk når du oppgir desse innstillingane.", + "smtp-transport.host": "SMTP-vert", + "smtp-transport.port": "SMTP-port", + "smtp-transport.security": "Sikkerheit", + "smtp-transport.security-encrypted": "Kryptert (SSL/TLS)", + "smtp-transport.security-starttls": "STARTTLS", + "smtp-transport.security-none": "Ingen sikkerheit", + "smtp-transport.username": "SMTP-brukarnamn", + "smtp-transport.username-help": "Brukarnamnet for SMTP-tenesta.", + "smtp-transport.password": "SMTP-passord", + "smtp-transport.pool": "Aktiver tilkoplingspool", + "smtp-transport.pool-help": "Bruk pool for å redusere oppstartstid ved fleire e-postutsendingar.", + + "template": "Mal", + "template.select": "Vel mal", + "template.revert": "Tilbakestill til standard", + "testing": "Testing", + "testing.select": "Vel ein e-post for testing", + "testing.send": "Send test-e-post", + "testing.send-help": "Skriv inn e-posten for å sende ein test.", + "subscriptions": "Abonnement", + "subscriptions.disable": "Deaktiver abonnement", + "subscriptions.hour": "Timar mellom utsendingar", + "subscriptions.hour-help": "Angi kor ofte e-postar vert sende ut.", + "notifications.remove-images": "Fjern bilete frå e-postvarsel", + "require-email-address": "Krev e-postadresse", + "require-email-address-warning": "Merk: Brukarane vil ikkje kunne registrere seg utan å oppgi ein e-post.", + "send-validation-email": "Send stadfestings-e-post", + "include-unverified-emails": "Inkluder ikkje-verifiserte e-postar", + "include-unverified-warning": "Ver forsiktig: Dette kan føre til at ikkje-verifiserte e-postar mottar utsendingar.", + "prompt": "Varsel", + "prompt-help": "Angi teksten som skal visast ved varslingar.", + "sendEmailToBanned": "Send e-post til utestengde brukarar" +} diff --git a/public/language/nn-NO/admin/settings/general.json b/public/language/nn-NO/admin/settings/general.json new file mode 100644 index 0000000000..4e481eeba7 --- /dev/null +++ b/public/language/nn-NO/admin/settings/general.json @@ -0,0 +1,52 @@ +{ + "general-settings": "Generelle innstillingar", + "on-this-page": "På denne sida", + "site-settings": "Nettstadsinnstillingar", + "title": "Tittel", + "title.short": "Kort tittel", + "title.short-placeholder": "Skriv kort tittel her", + "title.url": "Nettstadens URL", + "title.url-placeholder": "https://din-nettstad.no", + "title.url-help": "Skriv inn nettstadens hovudadresse.", + "title.name": "Namn", + "title.show-in-header": "Vis tittel i hovudmenyen", + "browser-title": "Tittel for nettlesar", + "browser-title-help": "Viser tittel i nettlesarfana.", + "title-layout": "Titteloppsett", + "title-layout-help": "Vel korleis tittelen skal visast på forumet.", + "description.placeholder": "Skriv inn ei kort skildring av nettstaden", + "description": "Skildring", + "keywords": "Nøkkelord", + "keywords-placeholder": "Skriv inn nøkkelord, skilde med komma", + "logo-and-icons": "Logo og ikon", + "logo.image": "Bilet-URL for logo", + "logo.image-placeholder": "https://din-nettstad.no/logo.png", + "logo.upload": "Last opp logo", + "logo.url": "Lenkje for logo", + "logo.url-placeholder": "https://din-nettstad.no", + "logo.url-help": "Bruk denne lenkja for å lenke til logoen din.", + "logo.alt-text": "Alt-tekst for logo", + "log.alt-text-placeholder": "Skriv inn alternativ tekst for logo", + "favicon": "Favicon", + "favicon.upload": "Last opp favicon", + "pwa": "Progressiv webapp", + "touch-icon": "Touch-ikon", + "touch-icon.upload": "Last opp touch-ikon", + "touch-icon.help": "Bruk touch-ikonet for å visast på mobile einingar.", + "maskable-icon": "Maskerbart ikon", + "maskable-icon.help": "Maskerbare ikon vert brukt for å tilpasse webappen til ulike skjermstorleikar.", + "outgoing-links": "Utgåande lenkjer", + "outgoing-links.warning-page": "Advarselside for utgåande lenkjer", + "search": "Søk", + "search-default-in": "Standard søk i", + "search-default-in-quick": "Standard raskt søk i", + "search-default-sort-by": "Standard sortering etter", + "outgoing-links.whitelist": "Kviteliste for utgåande lenkjer", + "site-colors": "Nettstadfargar", + "theme-color": "Temafarge", + "background-color": "Bakgrunnsfarge", + "background-color-help": "Set bakgrunnsfargen til nettstaden.", + "undo-timeout": "Angre-tid", + "undo-timeout-help": "Kor lang tid brukarane har på seg til å angre handlingar.", + "topic-tools": "Emneverktøy" +} diff --git a/public/language/nn-NO/admin/settings/group.json b/public/language/nn-NO/admin/settings/group.json new file mode 100644 index 0000000000..33d4fcd14a --- /dev/null +++ b/public/language/nn-NO/admin/settings/group.json @@ -0,0 +1,13 @@ +{ + "general": "Generelt", + "private-groups": "Private grupper", + "private-groups.help": "Aktiver private grupper for å la brukarar be om medlemskap.", + "private-groups.warning": "Deaktivering vil påverke eksisterande private grupper.", + "allow-multiple-badges": "Tillat fleire merker", + "allow-multiple-badges-help": "Tillat brukarar å vise fleire gruppemerker samtidig.", + "max-name-length": "Maks namn lengd", + "max-title-length": "Maks tittel lengd", + "cover-image": "Omslagsbilete", + "default-cover": "Standard omslag", + "default-cover-help": "Vel eit standard omslagsbilete for grupper." +} \ No newline at end of file diff --git a/public/language/nn-NO/admin/settings/guest.json b/public/language/nn-NO/admin/settings/guest.json new file mode 100644 index 0000000000..f3a453787c --- /dev/null +++ b/public/language/nn-NO/admin/settings/guest.json @@ -0,0 +1,8 @@ +{ + "settings": "Innstillingar", + "guest-settings": "Gjestinnstillingar", + "handles.enabled": "Aktiver handtering av gjestar", + "handles.enabled-help": "Aktiver for å la gjestar kunne sjå og interagere med forumet innanfor visse grenser.", + "topic-views.enabled": "Aktiver visning av emne for gjestar", + "reply-notifications.enabled": "Aktiver svarvarsel for gjestar" +} \ No newline at end of file diff --git a/public/language/nn-NO/admin/settings/homepage.json b/public/language/nn-NO/admin/settings/homepage.json new file mode 100644 index 0000000000..a82e212caf --- /dev/null +++ b/public/language/nn-NO/admin/settings/homepage.json @@ -0,0 +1,8 @@ +{ + "home-page": "Startside", + "description": "Konfigurer forumets heimeside og tilpass ruta for brukarane.", + "home-page-route": "Startsiderute", + "custom-route": "Tilpassa rute", + "allow-user-home-pages": "Tillat brukarar å setje eigne heimesider", + "home-page-title": "Startsidetittel" +} \ No newline at end of file diff --git a/public/language/nn-NO/admin/settings/languages.json b/public/language/nn-NO/admin/settings/languages.json new file mode 100644 index 0000000000..4a9150ce4b --- /dev/null +++ b/public/language/nn-NO/admin/settings/languages.json @@ -0,0 +1,6 @@ +{ + "language-settings": "Språkinnstillingar", + "description": "Vel standardspråk og konfigurer språkalternativ for forumet.", + "default-language": "Standardspråk", + "auto-detect": "Automatisk oppdaging av språk" +} \ No newline at end of file diff --git a/public/language/nn-NO/admin/settings/navigation.json b/public/language/nn-NO/admin/settings/navigation.json new file mode 100644 index 0000000000..ea11dfd013 --- /dev/null +++ b/public/language/nn-NO/admin/settings/navigation.json @@ -0,0 +1,26 @@ +{ + "navigation": "Navigasjon", + "icon": "Ikon", + "change-icon": "Endre ikon", + "route": "Rute", + "tooltip": "Verktøytips", + "text": "Tekst", + "text-class": "Tekstklasse", + "class": "Klasse", + "id": "ID", + + "properties": "Eigenskapar", + "show-to-groups": "Vis til grupper", + "open-new-window": "Opne i nytt vindauge", + "dropdown": "Nedtrekksmeny", + "dropdown-placeholder": "Skriv inn nedtrekksalternativ", + + "btn.delete": "Slett", + "btn.disable": "Deaktiver", + "btn.enable": "Aktiver", + + "available-menu-items": "Tilgjengelege menyelement", + "custom-route": "Tilpassa rute", + "core": "Kjerne", + "plugin": "Plugin" +} diff --git a/public/language/nn-NO/admin/settings/notifications.json b/public/language/nn-NO/admin/settings/notifications.json new file mode 100644 index 0000000000..5e7751cf16 --- /dev/null +++ b/public/language/nn-NO/admin/settings/notifications.json @@ -0,0 +1,7 @@ +{ + "notifications": "Varsel", + "welcome-notification": "Velkomstvarsel", + "welcome-notification-link": "Lenkje til velkomstvarsel", + "welcome-notification-uid": "Velkomstvarsel brukar-ID", + "post-queue-notification-uid": "Innleggskø-varsel brukar-ID" +} \ No newline at end of file diff --git a/public/language/nn-NO/admin/settings/pagination.json b/public/language/nn-NO/admin/settings/pagination.json new file mode 100644 index 0000000000..b7ebcfa507 --- /dev/null +++ b/public/language/nn-NO/admin/settings/pagination.json @@ -0,0 +1,12 @@ +{ + "pagination": "Paginering", + "enable": "Aktiver", + "posts": "Innlegg", + "topics": "Emne", + "posts-per-page": "Innlegg per side", + "max-posts-per-page": "Maks innlegg per side", + "categories": "Kategoriar", + "topics-per-page": "Emne per side", + "max-topics-per-page": "Maks emne per side", + "categories-per-page": "Kategoriar per side" +} \ No newline at end of file diff --git a/public/language/nn-NO/admin/settings/post.json b/public/language/nn-NO/admin/settings/post.json new file mode 100644 index 0000000000..590da8b2ab --- /dev/null +++ b/public/language/nn-NO/admin/settings/post.json @@ -0,0 +1,64 @@ +{ + "general": "Generelt", + "sorting": "Sortering", + "sorting.post-default": "Standard sortering for innlegg", + "sorting.oldest-to-newest": "Eldste til nyaste", + "sorting.newest-to-oldest": "Nyaste til eldste", + "sorting.recently-replied": "Sist svart", + "sorting.recently-created": "Nyleg oppretta", + "sorting.most-votes": "Fleire stemmer", + "sorting.most-posts": "Fleire innlegg", + "sorting.most-views": "Fleire visningar", + "sorting.topic-default": "Standard sortering for emne", + "length": "Lengd", + "post-queue": "Innleggskø", + "restrictions": "Restriksjonar", + "restrictions.post-queue": "Innleggskø restriksjonar", + "restrictions.post-queue-rep-threshold": "Omdømmegrense for innleggskø", + "restrictions.groups-exempt-from-post-queue": "Grupper unnateke frå innleggskø", + "restrictions-new.post-queue": "Nye restriksjonar for innleggskø", + "restrictions.post-queue-help": "Hjelp for innleggskø restriksjonar", + "restrictions-new.post-queue-help": "Hjelp for nye innleggskø restriksjonar", + "restrictions.seconds-between": "Sekund mellom innlegg", + "restrictions.seconds-edit-after": "Sekund til redigering er mogleg etter posting", + "restrictions.seconds-delete-after": "Sekund til sletting er mogleg etter posting", + "restrictions.replies-no-delete": "Restriksjonar for å ikkje slette etter svar", + "restrictions.title-length": "Lengd på tittel", + "restrictions.post-length": "Lengd på innlegg", + "restrictions.days-until-stale": "Dagar til innlegg vert rekna som utdatert", + "restrictions.stale-help": "Hjelp for utdatert innlegg", + "timestamp": "Tidsstempel", + "timestamp.cut-off": "Avskjering for tidsstempel", + "timestamp.cut-off-help": "Hjelp for avskjering av tidsstempel", + "timestamp.necro-threshold": "Grense for inaktiv posting", + "timestamp.necro-threshold-help": "Hjelp for grense for inaktiv posting", + "timestamp.topic-views-interval": "Intervall for visningar av emne", + "timestamp.topic-views-interval-help": "Hjelp for intervall for visningar av emne", + "teaser": "Forhåndsvising", + "teaser.last-post": "Siste innlegg", + "teaser.last-reply": "Siste svar", + "teaser.first": "Fyrste innlegg", + "showPostPreviewsOnHover": "Vis innlegg ved førhandsvising", + "unread-and-recent": "Uleste og nylege", + "unread.cutoff": "Avskjering for uleste", + "unread.min-track-last": "Minste sporingslengd for siste innlegg", + "recent.max-topics": "Maksimum tal emne nyleg", + "recent.categoryFilter.disable": "Deaktiver filter for kategoriar i nylege emne", + "signature": "Signatur", + "signature.disable": "Deaktiver signatur", + "signature.no-links": "Ingen lenkjer i signatur", + "signature.no-images": "Ingen bilete i signatur", + "signature.hide-duplicates": "Skjul dupliserte signaturar", + "signature.max-length": "Maks lengd på signatur", + "composer": "Skriveverktøy", + "composer-help": "Hjelp for skriveverktøy", + "composer.show-help": "Vis hjelp for skriveverktøy", + "composer.enable-plugin-help": "Aktiver plugin-hjelp i skriveverktøyet", + "composer.custom-help": "Tilpassa hjelp i skriveverktøyet", + "backlinks": "Tilbakekoblingar", + "backlinks.enabled": "Tilbakekoblingar aktivert", + "backlinks.help": "Hjelp for tilbakekoblingar", + "ip-tracking": "IP-sporing", + "ip-tracking.each-post": "Spor IP for kvart innlegg", + "enable-post-history": "Aktiver historikk for innlegg" +} \ No newline at end of file diff --git a/public/language/nn-NO/admin/settings/reputation.json b/public/language/nn-NO/admin/settings/reputation.json new file mode 100644 index 0000000000..d3df4d6c18 --- /dev/null +++ b/public/language/nn-NO/admin/settings/reputation.json @@ -0,0 +1,44 @@ +{ + "reputation": "Omdømme", + "disable": "Deaktiver", + "disable-down-voting": "Deaktiver nedstemming", + "upvote-visibility": "Synlegheit for oppstemmer", + "upvote-visibility-all": "Alle kan sjå oppstemmer", + "upvote-visibility-loggedin": "Berre innlogga brukarar kan sjå oppstemmer", + "upvote-visibility-privileged": "Berre privilegerte brukarar kan sjå oppstemmer", + "downvote-visibility": "Synlegheit for nedstemmer", + "downvote-visibility-all": "Alle kan sjå nedstemmer", + "downvote-visibility-loggedin": "Berre innlogga brukarar kan sjå nedstemmer", + "downvote-visibility-privileged": "Berre privilegerte brukarar kan sjå nedstemmer", + "thresholds": "Grenseverdiar", + "min-rep-upvote": "Minimum omdømme for å stemme opp", + "upvotes-per-day": "Oppstemmer per dag", + "upvotes-per-user-per-day": "Oppstemmer per brukar per dag", + "min-rep-downvote": "Minimum omdømme for å stemme ned", + "downvotes-per-day": "Nedstemmer per dag", + "downvotes-per-user-per-day": "Nedstemmer per brukar per dag", + "min-rep-chat": "Minimum omdømme for å bruke chat", + "min-rep-post-links": "Minimum omdømme for å poste lenkjer", + "min-rep-flag": "Minimum omdømme for å rapportere", + "min-rep-website": "Minimum omdømme for å legge til nettstad", + "min-rep-aboutme": "Minimum omdømme for å skrive 'Om meg'", + "min-rep-signature": "Minimum omdømme for signatur", + "min-rep-profile-picture": "Minimum omdømme for å legge til profilbilete", + "min-rep-cover-picture": "Minimum omdømme for å legge til omslagsbilete", + + "flags": "Rapportar", + "flags.limit-per-target": "Grense for rapportar per mål", + "flags.limit-per-target-placeholder": "Skriv inn grensa for rapportar per mål", + "flags.limit-per-target-help": "Set ei øvre grense for kor mange gonger eit mål kan rapporterast.", + "flags.limit-post-flags-per-day": "Grense for innlegg som kan rapporterast per dag", + "flags.limit-post-flags-per-day-help": "Set ei dagleg grense for kor mange innlegg som kan rapporterast.", + "flags.limit-user-flags-per-day": "Grense for brukarar som kan rapporterast per dag", + "flags.limit-user-flags-per-day-help": "Set ei dagleg grense for kor mange brukarar som kan rapporterast.", + "flags.auto-flag-on-downvote-threshold": "Automatisk rapportering ved nedstemningsgrense", + "flags.auto-flag-on-downvote-threshold-help": "Angi ein terskel for automatisk rapportering når eit innlegg får nok nedstemmer.", + "flags.auto-resolve-on-ban": "Løys automatisk ved utestenging", + "flags.action-on-resolve": "Handling ved løyst rapport", + "flags.action-on-reject": "Handling ved avvist rapport", + "flags.action.nothing": "Ingen handling", + "flags.action.rescind": "Trekk tilbake rapport" +} \ No newline at end of file diff --git a/public/language/nn-NO/admin/settings/social.json b/public/language/nn-NO/admin/settings/social.json new file mode 100644 index 0000000000..95d93d87ad --- /dev/null +++ b/public/language/nn-NO/admin/settings/social.json @@ -0,0 +1,4 @@ +{ + "post-sharing": "Deling av innlegg", + "info-plugins-additional": "Tilleggsinformasjon om pluginar" +} \ No newline at end of file diff --git a/public/language/nn-NO/admin/settings/sockets.json b/public/language/nn-NO/admin/settings/sockets.json new file mode 100644 index 0000000000..bc334b7ac9 --- /dev/null +++ b/public/language/nn-NO/admin/settings/sockets.json @@ -0,0 +1,6 @@ +{ + "reconnection": "Gjenoppretting av tilkopling", + "max-attempts": "Maksimalt tal forsøk", + "default-placeholder": "Standardverdi", + "delay": "Forseinking" +} \ No newline at end of file diff --git a/public/language/nn-NO/admin/settings/sounds.json b/public/language/nn-NO/admin/settings/sounds.json new file mode 100644 index 0000000000..f83f14d0f6 --- /dev/null +++ b/public/language/nn-NO/admin/settings/sounds.json @@ -0,0 +1,9 @@ +{ + "notifications": "Varsel", + "chat-messages": "Chatmeldingar", + "play-sound": "Spel av lyd", + "incoming-message": "Innkommande melding", + "outgoing-message": "Utgåande melding", + "upload-new-sound": "Last opp ny lyd", + "saved": "Lagra" +} \ No newline at end of file diff --git a/public/language/nn-NO/admin/settings/tags.json b/public/language/nn-NO/admin/settings/tags.json new file mode 100644 index 0000000000..f52c27a2f6 --- /dev/null +++ b/public/language/nn-NO/admin/settings/tags.json @@ -0,0 +1,13 @@ +{ + "tag": "Stikkord", + "link-to-manage": "Lenkje til administrasjon", + "system-tags": "Systemstikkord", + "system-tags-help": "Systemstikkord vert brukt til spesifikke føremål i forumet.", + "tags-per-topic": "Stikkord per emne", + "min-per-topic": "Minimum stikkord per emne", + "max-per-topic": "Maksimum stikkord per emne", + "min-length": "Minimum lengd", + "max-length": "Maksimum lengd", + "related-topics": "Relaterte emne", + "max-related-topics": "Maksimum relaterte emne" +} \ No newline at end of file diff --git a/public/language/nn-NO/admin/settings/uploads.json b/public/language/nn-NO/admin/settings/uploads.json new file mode 100644 index 0000000000..1957c7bc15 --- /dev/null +++ b/public/language/nn-NO/admin/settings/uploads.json @@ -0,0 +1,45 @@ +{ + "posts": "Innlegg", + "orphans": "Foreldrelause filer", + "private": "Privat", + "strip-exif-data": "Fjern EXIF-data", + "preserve-orphaned-uploads": "Behald foreldrelause opplastingar", + "orphanExpiryDays": "Utløpsperiode for foreldrelause filer", + "orphanExpiryDays-help": "Angi talet på dagar før foreldrelause filer vert sletta automatisk.", + "private-extensions": "Privat filtype", + "private-uploads-extensions-help": "Angi filtypar som skal vere private ved opplasting.", + "resize-image-width-threshold": "Bilete breiddegrense", + "resize-image-width-threshold-help": "Angi breiddegrense for å endre storleik på bilete ved opplasting.", + "resize-image-width": "Endre bilete breidde", + "resize-image-width-help": "Angi ny breidde for bilete som vert endra ved opplasting.", + "resize-image-quality": "Biletekvalitet ved endring", + "resize-image-quality-help": "Angi kvaliteten for bilete som vert endra ved opplasting.", + "max-file-size": "Maks filstorleik", + "max-file-size-help": "Angi maksimal storleik på filer som kan lastast opp.", + "reject-image-width": "Avvis bilete breidde", + "reject-image-width-help": "Angi maksimal breidde for bilete som vert avvist ved opplasting.", + "reject-image-height": "Avvis bilete høgde", + "reject-image-height-help": "Angi maksimal høgde for bilete som vert avvist ved opplasting.", + "allow-topic-thumbnails": "Tillat emne-miniatyrbilete", + "topic-thumb-size": "Storleik på emne-miniatyr", + "allowed-file-extensions": "Tillatne filtypar", + "allowed-file-extensions-help": "Angi kva filtypar som er tillatne ved opplasting.", + "upload-limit-threshold": "Opplastingsgrense", + "upload-limit-threshold-per-minute": "Opplastingsgrense per minutt", + "upload-limit-threshold-per-minutes": "Opplastingsgrense per fleire minutt", + "profile-avatars": "Profilavatarar", + "allow-profile-image-uploads": "Tillat opplasting av profilbilete", + "convert-profile-image-png": "Konverter profilbilete til PNG", + "default-avatar": "Standard avatar", + "upload": "Last opp", + "profile-image-dimension": "Profilbilete dimensjonar", + "profile-image-dimension-help": "Angi maksimale dimensjonar for profilbilete.", + "max-profile-image-size": "Maks storleik på profilbilete", + "max-profile-image-size-help": "Angi maksimal filstorleik for profilbilete.", + "max-cover-image-size": "Maks storleik på omslagsbilete", + "max-cover-image-size-help": "Angi maksimal filstorleik for omslagsbilete.", + "keep-all-user-images": "Behald alle brukarbilete", + "profile-covers": "Profilomslag", + "default-covers": "Standard omslag", + "default-covers-help": "Vel standard omslagsbilete for brukarar." +} diff --git a/public/language/nn-NO/admin/settings/user.json b/public/language/nn-NO/admin/settings/user.json new file mode 100644 index 0000000000..a5800266fc --- /dev/null +++ b/public/language/nn-NO/admin/settings/user.json @@ -0,0 +1,92 @@ +{ + "authentication": "Autentisering", + "email-confirm-interval": "Intervall for e-poststadfesting", + "email-confirm-interval2": "E-poststadfesting intervall (minutt)", + "allow-login-with": "Tillat innlogging med", + "allow-login-with.username-email": "Brukarnamn eller e-post", + "allow-login-with.username": "Berre brukarnamn", + "account-settings": "Kontoinnstillingar", + "gdpr-enabled": "GDPR aktivert", + "gdpr-enabled-help": "Aktiver GDPR-funksjonar for å møte krav til personvern.", + "disable-username-changes": "Deaktiver endring av brukarnamn", + "disable-email-changes": "Deaktiver endring av e-post", + "disable-password-changes": "Deaktiver endring av passord", + "allow-account-deletion": "Tillat kontosletting", + "hide-fullname": "Skjul fullt namn", + "hide-email": "Skjul e-post", + "show-fullname-as-displayname": "Vis fullt namn som visningsnamn", + "themes": "Tema", + "disable-user-skins": "Deaktiver brukarutseende", + "account-protection": "Kontovern", + "admin-relogin-duration": "Varigheit for pålogging for administrator", + "admin-relogin-duration-help": "Angi kor lenge administratorar skal vere pålogga før dei må logge inn på nytt.", + "login-attempts": "Tal på innloggingsforsøk", + "login-attempts-help": "Angi talet på forsøk før kontoen vert låst.", + "lockout-duration": "Varigheit for låsing", + "login-days": "Innloggingsdagar", + "password-expiry-days": "Utløpstid for passord (dagar)", + "session-time": "Sesjonstid", + "session-time-days": "Sesjonstid (dagar)", + "session-time-seconds": "Sesjonstid (sekund)", + "session-time-help": "Angi lengda på sesjonen før brukaren vert logga ut.", + "session-duration": "Varigheit for sesjon", + "session-duration-help": "Angi kor lenge ein brukar kan vere aktiv i ein sesjon.", + "online-cutoff": "Avbryt online-status", + "online-cutoff-help": "Angi tida før ein brukar vert markert som offline.", + "registration": "Registrering", + "registration-type": "Registreringstype", + "registration-approval-type": "Godkjenningstype for registrering", + "registration-type.normal": "Normal registrering", + "registration-type.admin-approval": "Administratorgodkjenning", + "registration-type.admin-approval-ip": "Administratorgodkjenning (IP)", + "registration-type.invite-only": "Berre med invitasjon", + "registration-type.admin-invite-only": "Berre med invitasjon frå administrator", + "registration-type.disabled": "Registrering deaktivert", + "registration-type.help": "Forklaring av registreringstypar", + "registration-approval-type.help": "Hjelp for godkjenningstype for registrering", + "registration-queue-auto-approve-time": "Tid for automatisk godkjenning i kø", + "registration-queue-auto-approve-time-help": "Angi tida det tek før ein brukar vert godkjent automatisk.", + "registration-queue-show-average-time": "Vis gjennomsnittleg ventetid for registreringskø", + "registration.max-invites": "Maks tal på invitasjonar", + "max-invites": "Maks invitasjonar", + "max-invites-help": "Angi talet på invitasjonar som kan sendast av ein brukar.", + "invite-expiration": "Utløpstid for invitasjonar", + "invite-expiration-help": "Angi kor lenge invitasjonar er gyldige.", + "min-username-length": "Minimum lengd på brukarnamn", + "max-username-length": "Maksimum lengd på brukarnamn", + "min-password-length": "Minimum lengd på passord", + "min-password-strength": "Minimum passordstyrke", + "max-about-me-length": "Maksimum lengd på 'Om meg'", + "terms-of-use": "Bruksvilkår", + "user-search": "Brukarsøk", + "user-search-results-per-page": "Brukarsøkresultat per side", + "default-user-settings": "Standardinnstillingar for brukar", + "show-email": "Vis e-post", + "show-fullname": "Vis fullt namn", + "restrict-chat": "Avgrens chat", + "outgoing-new-tab": "Utgåande lenkjer i ny fane", + "topic-search": "Emnesøk", + "update-url-with-post-index": "Oppdater URL med innleggindeks", + "digest-freq": "Oppsummeringsfrekvens", + "digest-freq.off": "Av", + "digest-freq.daily": "Dagleg", + "digest-freq.weekly": "Vekentleg", + "digest-freq.biweekly": "Annakvar veke", + "digest-freq.monthly": "Månadleg", + "email-chat-notifs": "E-postvarsel for chat", + "email-post-notif": "E-postvarsel for innlegg", + "follow-created-topics": "Følg oppretta emne", + "follow-replied-topics": "Følg emne med svar", + "default-notification-settings": "Standard varslingsinnstillingar", + "categoryWatchState": "Kategori-overvåking", + "categoryWatchState.tracking": "Sporing", + "categoryWatchState.notwatching": "Ikkje overvåking", + "categoryWatchState.ignoring": "Ignorerer", + "restrictions-new": "Nye restriksjonar", + "restrictions.rep-threshold": "Omdømmegrense", + "restrictions.seconds-between-new": "Sekund mellom innlegg for nye brukarar", + "restrictions.seconds-before-new": "Sekund før posting for nye brukarar", + "restrictions.seconds-edit-after-new": "Sekund til redigering for nye brukarar", + "restrictions.milliseconds-between-messages": "Millisekund mellom meldingar", + "restrictions.groups-exempt-from-new-user-restrictions": "Grupper unnateke frå nye brukarrestriksjonar" +} diff --git a/public/language/nn-NO/admin/settings/web-crawler.json b/public/language/nn-NO/admin/settings/web-crawler.json new file mode 100644 index 0000000000..1f5d14334c --- /dev/null +++ b/public/language/nn-NO/admin/settings/web-crawler.json @@ -0,0 +1,10 @@ +{ + "crawlability-settings": "Innstillingar for gjennomsøking", + "robots-txt": "robots.txt", + "sitemap-feed-settings": "Innstillingar for sitemap og feed", + "disable-rss-feeds": "Deaktiver RSS-feedar", + "disable-sitemap-xml": "Deaktiver sitemap.xml", + "sitemap-topics": "Sitemap-emne", + "clear-sitemap-cache": "Tøm sitemap-cache", + "view-sitemap": "Vis sitemap" +} \ No newline at end of file diff --git a/public/language/nn-NO/aria.json b/public/language/nn-NO/aria.json new file mode 100644 index 0000000000..e188b5f134 --- /dev/null +++ b/public/language/nn-NO/aria.json @@ -0,0 +1,8 @@ +{ + "post-sort-option": "Val for innleggssortering", + "topic-sort-option": "Val for emnessortering", + "user-avatar-for": "Brukaravatar for", + "user-watched-tags": "Stikkord følgd av brukar", + "delete-upload-button": "Slett opplasting-knapp", + "group-page-link-for": "Gruppeside-lenkje for" +} \ No newline at end of file diff --git a/public/language/nn-NO/category.json b/public/language/nn-NO/category.json new file mode 100644 index 0000000000..a632af845e --- /dev/null +++ b/public/language/nn-NO/category.json @@ -0,0 +1,26 @@ +{ + "category": "Kategori", + "subcategories": "Underkategoriar", + "new-topic-button": "Nytt emne", + "guest-login-post": "Logg inn for å legge inn innlegg", + "no-topics": "Det er ingen emne i denne kategorien.
Kvifor prøver du ikkje å lage eit?", + "browsing": "blar gjennom", + "no-replies": "Ingen har svart", + "no-new-posts": "Ingen nye innlegg.", + "watch": "Følg", + "ignore": "Ignorer", + "watching": "Følgjer", + "tracking": "Følgjer med", + "not-watching": "Følgjer ikkje", + "ignoring": "Ignorerer", + "watching.description": "Varsle meg om nye emne.
Vis emne i Uleste og nye", + "tracking.description": "Viser emne som uleste og nye", + "not-watching.description": "Vis ikkje emne som uleste, vis i nye", + "ignoring.description": "Vis ikkje emne som uleste og nye", + "watching.message": "Du følgjer no oppdateringar frå denne kategorien og alle underkategoriar", + "tracking.message": "Du følgjer no med på oppdateringar frå denne kategorien og alle underkategoriar", + "notwatching.message": "Du følgjer ikkje oppdateringar frå denne kategorien og alle underkategoriar", + "ignoring.message": "Du ignorerer no oppdateringar frå denne kategorien og alle underkategoriar", + "watched-categories": "Kategoriar du følgjer", + "x-more-categories": "%1 fleire kategoriar" +} \ No newline at end of file diff --git a/public/language/nn-NO/email.json b/public/language/nn-NO/email.json new file mode 100644 index 0000000000..a1493befe4 --- /dev/null +++ b/public/language/nn-NO/email.json @@ -0,0 +1,61 @@ +{ + "test-email.subject": "Test-e-post", + "password-reset-requested": "Førespurnad om tilbakestilling av passord!", + "welcome-to": "Velkomen til %1", + "invite": "Invitasjon frå %1", + "greeting-no-name": "Hei", + "greeting-with-name": "Hei %1", + "email.verify-your-email.subject": "Ver venleg å stadfeste e-postadressa di", + "email.verify.text1": "Du har bede oss om å endre eller stadfeste e-postadressa di", + "email.verify.text2": "Av tryggleiksgrunnar endrar eller stadfester vi berre e-postadressa når vi har fått stadfesta eigarskapen via e-post. Om du ikkje har bede om dette, treng du ikkje gjere noko.", + "email.verify.text3": "Når du stadfester denne e-postadressa, vil vi erstatte din noverande e-postadresse med denne (%1).", + "welcome.text1": "Takk for at du registrerte deg hos %1!", + "welcome.text2": "For å aktivere kontoen din fullstendig, må vi stadfeste at du eig e-postadressa du registrerte deg med.", + "welcome.text3": "Ein administrator har godkjent registreringssøknaden din. Du kan no logge inn med brukarnamnet/passordet ditt.", + "welcome.cta": "Klikk her for å stadfeste e-postadressa di", + "invitation.text1": "%1 har invitert deg til å bli med i %2", + "invitation.text2": "Invitasjonen din vil utløpe om %1 dagar.", + "invitation.cta": "Klikk her for å opprette kontoen din.", + "reset.text1": "Vi har mottatt ein førespurnad om å tilbakestille passordet ditt, moglegvis fordi du har gløymt det. Om dette ikkje er tilfelle, ver venleg å ignorere denne e-posten.", + "reset.text2": "For å halde fram med tilbakestillinga av passordet, ver venleg å klikk på lenkja nedanfor:", + "reset.cta": "Klikk her for å tilbakestille passordet ditt", + "reset.notify.subject": "Passord endra med suksess", + "reset.notify.text1": "Vi informerer deg om at passordet ditt vart endra med suksess den %1.", + "reset.notify.text2": "Om du ikkje har godkjent dette, ver venleg å meld frå til ein administrator med ein gong.", + "digest.unread-rooms": "Uleste rom", + "digest.room-name-unreadcount": "%1 (%2 uleste)", + "digest.latest-topics": "Siste tema frå %1", + "digest.top-topics": "Topptema frå %1", + "digest.popular-topics": "Populære tema frå %1", + "digest.cta": "Klikk her for å besøke %1", + "digest.unsub.info": "Denne oppsummeringa vart sendt til deg på grunn av innstillingane dine for abonnement.", + "digest.day": "dag", + "digest.week": "veke", + "digest.month": "månad", + "digest.subject": "Oppsummering for %1", + "digest.title.day": "Dagsoppsummeringa di", + "digest.title.week": "Vekesoppsummeringa di", + "digest.title.month": "Månadsoppsummeringa di", + "notif.chat.new-message-from-user": "Ny melding frå \"%1\"", + "notif.chat.new-message-from-user-in-room": "Ny melding frå %1 i rommet %2", + "notif.chat.cta": "Klikk her for å halde fram samtalen", + "notif.chat.unsub.info": "Denne meldingsvarslinga vart sendt til deg på grunn av innstillingane dine for abonnement.", + "notif.post.unsub.info": "Denne innleggsvarslinga vart sendt til deg på grunn av innstillingane dine for abonnement.", + "notif.post.unsub.one-click": "Alternativt kan du melde deg av framtidige e-postar som dette ved å klikke", + "notif.cta": "Til forumet", + "notif.cta-new-reply": "Sjå innlegget", + "notif.cta-new-chat": "Sjå meldinga", + "notif.test.short": "Testing av varsel", + "notif.test.long": "Dette er ein test av varslings-e-posten. Send hjelp!", + "test.text1": "Dette er ein test-e-post for å sjekke at e-postfunksjonen er riktig konfigurert for din NodeBB.", + "unsub.cta": "Klikk her for å endre desse innstillingane", + "unsubscribe": "meld av", + "unsub.success": "Du vil ikkje lenger motta e-postar frå %1-e-postlista", + "unsub.failure.title": "Kunne ikkje melde av", + "unsub.failure.message": "Vi klarte dessverre ikkje å melde deg av e-postlista grunna eit problem med lenkja. Men du kan endre e-postinnstillingane dine ved å gå til brukarinnstillingane dine.

(feil: %1)", + "banned.subject": "Du har blitt utestengt frå %1", + "banned.text1": "Brukaren %1 har blitt utestengt frå %2.", + "banned.text2": "Denne utestenginga vil vare til %1.", + "banned.text3": "Dette er årsaka til at du har blitt utestengt:", + "closing": "Takk!" +} \ No newline at end of file diff --git a/public/language/nn-NO/error.json b/public/language/nn-NO/error.json new file mode 100644 index 0000000000..1c2303fda2 --- /dev/null +++ b/public/language/nn-NO/error.json @@ -0,0 +1,243 @@ +{ + "invalid-data": "Ugyldige data", + "invalid-json": "Ugyldig JSON", + "wrong-parameter-type": "Ein verdi av typen %3 var venta for eigenskapen `%1`, men %2 vart mottatt i staden", + "required-parameters-missing": "Naudsynt parameter mangla i denne API-kallinga: %1", + "not-logged-in": "Du ser ikkje ut til å vere logga inn.", + "account-locked": "Kontoen din har blitt midlertidig låst", + "search-requires-login": "Søk krev ein konto - ver venleg å logge inn eller registrer deg.", + "goback": "Trykk tilbake for å gå til førre side", + "invalid-cid": "Ugyldig kategori-ID", + "invalid-tid": "Ugyldig emne-ID", + "invalid-pid": "Ugyldig innlegg-ID", + "invalid-uid": "Ugyldig brukar-ID", + "invalid-mid": "Ugyldig chatmeldings-ID", + "invalid-date": "Ein gyldig dato må oppgis", + "invalid-username": "Ugyldig brukarnamn", + "invalid-email": "Ugyldig e-post", + "invalid-fullname": "Ugyldig fullt namn", + "invalid-location": "Ugyldig stad", + "invalid-birthday": "Ugyldig fødselsdag", + "invalid-title": "Ugyldig tittel", + "invalid-user-data": "Ugyldige brukaropplysningar", + "invalid-password": "Ugyldig passord", + "invalid-login-credentials": "Ugyldige innloggingsopplysningar", + "invalid-username-or-password": "Ver venleg å oppgi både brukarnamn og passord", + "invalid-search-term": "Ugyldig søkjeord", + "invalid-url": "Ugyldig URL", + "invalid-event": "Ugyldig hending: %1", + "local-login-disabled": "Lokalt innloggingssystem har blitt deaktivert for ikkje-privilegerte kontoar.", + "csrf-invalid": "Vi kunne ikkje logge deg inn, mest sannsynleg på grunn av ei utgått sesjon. Prøv igjen.", + "invalid-path": "Ugyldig sti", + "folder-exists": "Mappa eksisterer", + "invalid-pagination-value": "Ugyldig pagineringsverdi, må vere minst %1 og høgst %2", + "username-taken": "Brukarnamn er allereie tatt", + "email-taken": "E-postadressa er allereie i bruk.", + "email-nochange": "Den oppgitte e-posten er den same som e-posten som allereie er registrert.", + "email-invited": "E-post vart allereie invitert", + "email-not-confirmed": "Posting i nokre kategoriar eller emne er mogleg når e-posten din er stadfesta, ver venleg å klikke her for å sende ein stadfestings-e-post.", + "email-not-confirmed-chat": "Du kan ikkje chatte før e-posten din er stadfesta, ver venleg å klikke her for å stadfeste e-posten din.", + "email-not-confirmed-email-sent": "E-posten din har ikkje blitt stadfesta enno, ver venleg å sjekke innboksen din for stadfestings-e-posten. Du kan kanskje ikkje poste i nokre kategoriar eller chatte før e-posten er stadfesta.", + "no-email-to-confirm": "Kontoen din har ikkje ein registrert e-post. Ein e-post er naudsynt for kontogjenoppretting, og kan vere naudsynt for å chatte og poste i nokre kategoriar. Ver venleg å klikke her for å registrere ein e-post.", + "user-doesnt-have-email": "Brukaren \"%1\" har ikkje ein registrert e-post.", + "email-confirm-failed": "Vi kunne ikkje stadfeste e-posten din, prøv igjen seinare.", + "confirm-email-already-sent": "Stadfestings-e-post er allereie sendt, ver venleg å vente %1 minutt før du sender ein ny.", + "confirm-email-expired": "Stadfestings-e-posten har utløpt", + "sendmail-not-found": "Sendmail-programmet kunne ikkje bli funne, ver venleg å sikre at det er installert og kan køyrast av brukaren som køyrer NodeBB.", + "digest-not-enabled": "Denne brukaren har ikkje oppsummeringar aktivert, eller systemstandarden er ikkje konfigurert til å sende oppsummeringar", + "username-too-short": "Brukarnamn er for kort", + "username-too-long": "Brukarnamn er for langt", + "password-too-long": "Passord er for langt", + "reset-rate-limited": "For mange tilbakestillingsførespurnader for passord (ratebegrensa)", + "reset-same-password": "Ver venleg å bruk eit passord som er annleis enn det noverande", + "user-banned": "Brukaren er utestengd", + "user-banned-reason": "Beklager, denne kontoen har blitt utestengd (Årsak: %1)", + "user-banned-reason-until": "Beklager, denne kontoen har blitt utestengd til %1 (Årsak: %2)", + "user-too-new": "Beklager, du må vente %1 sekund før du kan poste første gongen", + "blacklisted-ip": "Beklager, IP-adressa di har blitt utestengd frå dette samfunnet. Om du meiner dette er feil, ver venleg å kontakte ein administrator.", + "cant-blacklist-self-ip": "Du kan ikkje svarteliste din eigen IP", + "ban-expiry-missing": "Ver venleg å oppgi ein sluttdato for denne utestenginga", + "no-category": "Kategori eksisterer ikkje", + "no-topic": "Emne eksisterer ikkje", + "no-post": "Innlegg eksisterer ikkje", + "no-group": "Gruppe eksisterer ikkje", + "no-user": "Brukar eksisterer ikkje", + "no-teaser": "Forhandsvisning eksisterer ikkje", + "no-flag": "Rapport eksisterer ikkje", + "no-chat-room": "Chattrom eksisterer ikkje", + "no-privileges": "Du har ikkje nok rettar for denne handlinga.", + "category-disabled": "Kategori deaktivert", + "topic-locked": "Emnet er låst", + "post-edit-duration-expired": "Du kan berre redigere innlegg i %1 sekund etter posting", + "post-edit-duration-expired-minutes": "Du kan berre redigere innlegg i %1 minutt etter posting", + "post-edit-duration-expired-minutes-seconds": "Du kan berre redigere innlegg i %1 minutt %2 sekund etter posting", + "post-edit-duration-expired-hours": "Du kan berre redigere innlegg i %1 time etter posting", + "post-edit-duration-expired-hours-minutes": "Du kan berre redigere innlegg i %1 time %2 minutt etter posting", + "post-edit-duration-expired-days": "Du kan berre redigere innlegg i %1 dag etter posting", + "post-edit-duration-expired-days-hours": "Du kan berre redigere innlegg i %1 dag %2 time etter posting", + "post-delete-duration-expired": "Du kan berre slette innlegg i %1 sekund etter posting", + "post-delete-duration-expired-minutes": "Du kan berre slette innlegg i %1 minutt etter posting", + "post-delete-duration-expired-minutes-seconds": "Du kan berre slette innlegg i %1 minutt %2 sekund etter posting", + "post-delete-duration-expired-hours": "Du kan berre slette innlegg i %1 time etter posting", + "post-delete-duration-expired-hours-minutes": "Du kan berre slette innlegg i %1 time %2 minutt etter posting", + "post-delete-duration-expired-days": "Du kan berre slette innlegg i %1 dag etter posting", + "post-delete-duration-expired-days-hours": "Du kan berre slette innlegg i %1 dag %2 time etter posting", + "cant-delete-topic-has-reply": "Du kan ikkje slette emnet ditt etter at det har fått eit svar", + "cant-delete-topic-has-replies": "Du kan ikkje slette emnet ditt etter at det har fått %1 svar", + "content-too-short": "Ver venleg å skrive eit lengre innlegg. Innlegg må innehalde minst %1 teikn.", + "content-too-long": "Ver venleg å skrive eit kortare innlegg. Innlegg kan ikkje vere lengre enn %1 teikn.", + "title-too-short": "Ver venleg å skrive ein lengre tittel. Titlar må innehalde minst %1 teikn.", + "title-too-long": "Ver venleg å skrive ein kortare tittel. Titlar kan ikkje vere lengre enn %1 teikn.", + "category-not-selected": "Kategori ikkje valt.", + "too-many-posts": "Du kan berre poste ein gong kvart %1 sekund - ver venleg å vente før du postar igjen", + "too-many-posts-newbie": "Som ny brukar kan du berre poste ein gong kvart %1 sekund til du har oppnådd %2 omdømme - ver venleg å vente før du postar igjen", + "too-many-posts-newbie-minutes": "Som ny brukar kan du berre poste ein gong kvart %1 minutt til du har oppnådd %2 omdømme - ver venleg å vente før du postar igjen", + "already-posting": "Du postar allereie", + "tag-too-short": "Ver venleg å skrive eit lengre stikkord. Stikkord må innehalde minst %1 teikn", + "tag-too-long": "Ver venleg å skrive eit kortare stikkord. Stikkord kan ikkje vere lengre enn %1 teikn", + "tag-not-allowed": "Stikkord ikkje tillatt", + "not-enough-tags": "Ikkje nok stikkord. Emne må ha minst %1 stikkord", + "too-many-tags": "For mange stikkord. Emne kan ikkje ha meir enn %1 stikkord", + "cant-use-system-tag": "Du kan ikkje bruke dette systemstikkordet.", + "cant-remove-system-tag": "Du kan ikkje fjerne dette systemstikkordet.", + "still-uploading": "Ver venleg å vente til opplastingane er fullførte.", + "file-too-big": "Maks tillatt filstorleik er %1 kB - ver venleg å laste opp ei mindre fil", + "guest-upload-disabled": "Opplastingar for gjestar har blitt deaktivert", + "cors-error": "Kunne ikkje laste opp bilete grunna feil konfigurert CORS", + "upload-ratelimit-reached": "Du har lasta opp for mange filer på ein gong. Prøv igjen seinare.", + "upload-error-fallback": "Kunne ikkje laste opp bilete — %1", + "scheduling-to-past": "Ver venleg å vel ein dato i framtida.", + "invalid-schedule-date": "Ver venleg å oppgi ein gyldig dato og tid.", + "cant-pin-scheduled": "Planlagde emne kan ikkje (av)festast.", + "cant-merge-scheduled": "Planlagde emne kan ikkje slåast saman.", + "cant-move-posts-to-scheduled": "Kan ikkje flytte innlegg til eit planlagt emne.", + "cant-move-from-scheduled-to-existing": "Kan ikkje flytte innlegg frå eit planlagt emne til eit eksisterande emne.", + "already-bookmarked": "Du har allereie bokmerka dette innlegget", + "already-unbookmarked": "Du har allereie fjerna bokmerket på dette innlegget", + "cant-ban-other-admins": "Du kan ikkje utestenge andre administratorar!", + "cant-mute-other-admins": "Du kan ikkje dempe andre administratorar!", + "user-muted-for-hours": "Du har blitt dempa, du kan poste igjen om %1 time(r)", + "user-muted-for-minutes": "Du har blitt dempa, du kan poste igjen om %1 minutt", + "cant-make-banned-users-admin": "Du kan ikkje gjere utestengde brukarar til administratorar.", + "cant-remove-last-admin": "Du er den einaste administratoren. Legg til ein annan brukar som administrator før du fjernar deg sjølv som administrator", + "account-deletion-disabled": "Kontosletting er deaktivert", + "cant-delete-admin": "Fjern administratorrettar frå denne kontoen før du prøver å slette han.", + "already-deleting": "Allereie under sletting", + "invalid-image": "Ugyldig bilete", + "invalid-image-type": "Ugyldig biletype. Tillatte typar er: %1", + "invalid-image-extension": "Ugyldig bileteutviding", + "invalid-file-type": "Ugyldig filtype. Tillatte typar er: %1", + "invalid-image-dimensions": "Biletedimensjonane er for store", + "group-name-too-short": "Gruppenamn er for kort", + "group-name-too-long": "Gruppenamn er for langt", + "group-already-exists": "Gruppa eksisterer allereie", + "group-name-change-not-allowed": "Endring av gruppenamn er ikkje tillatt", + "group-already-member": "Allereie medlem av denne gruppa", + "group-not-member": "Ikkje medlem av denne gruppa", + "group-needs-owner": "Denne gruppa krev minst ein eigar", + "group-already-invited": "Denne brukaren har allereie blitt invitert", + "group-already-requested": "Medlemsførespurnaden din har allereie blitt sendt inn", + "group-join-disabled": "Du kan ikkje bli med i denne gruppa for augneblinken", + "group-leave-disabled": "Du kan ikkje forlate denne gruppa for augneblinken", + "group-user-not-pending": "Brukaren har ikkje ein ventande førespurnad om å bli med i denne gruppa.", + "gorup-user-not-invited": "Brukaren har ikkje blitt invitert til denne gruppa.", + "post-already-deleted": "Dette innlegget har allereie blitt sletta", + "post-already-restored": "Dette innlegget har allereie blitt gjenoppretta", + "topic-already-deleted": "Dette emnet har allereie blitt sletta", + "topic-already-restored": "Dette emnet har allereie blitt gjenoppretta", + "cant-purge-main-post": "Du kan ikkje rense hovudinnlegget, ver venleg å slette emnet i staden", + "topic-thumbnails-are-disabled": "Miniatyrbilete for emne er deaktivert.", + "invalid-file": "Ugyldig fil", + "uploads-are-disabled": "Opplastingar er deaktivert", + "signature-too-long": "Beklager, signaturen din kan ikkje vere lengre enn %1 teikn.", + "about-me-too-long": "Beklager, 'Om meg' kan ikkje vere lengre enn %1 teikn.", + "cant-chat-with-yourself": "Du kan ikkje chatte med deg sjølv!", + "chat-restricted": "Denne brukaren har avgrensa chatmeldingar. Dei må følgje deg før du kan chatte med dei", + "chat-user-blocked": "Du har blitt blokkert av denne brukaren.", + "chat-disabled": "Chatsystem deaktivert", + "too-many-messages": "Du har sendt for mange meldingar, ver venleg å vente litt.", + "invalid-chat-message": "Ugyldig chatmelding", + "chat-message-too-long": "Chatmeldingar kan ikkje vere lengre enn %1 teikn.", + "cant-edit-chat-message": "Du har ikkje løyve til å redigere denne meldinga", + "cant-delete-chat-message": "Du har ikkje løyve til å slette denne meldinga", + "chat-edit-duration-expired": "Du kan berre redigere chatmeldingar i %1 sekund etter posting", + "chat-delete-duration-expired": "Du kan berre slette chatmeldingar i %1 sekund etter posting", + "chat-deleted-already": "Denne chatmeldinga har allereie blitt sletta.", + "chat-restored-already": "Denne chatmeldinga har allereie blitt gjenoppretta.", + "chat-room-does-not-exist": "Chattrom eksisterer ikkje.", + "cant-add-users-to-chat-room": "Kan ikkje legge til brukarar i chattrom.", + "cant-remove-users-from-chat-room": "Kan ikkje fjerne brukarar frå chattrom.", + "chat-room-name-too-long": "Chattromnamn er for langt. Namn kan ikkje vere lengre enn %1 teikn.", + "already-voting-for-this-post": "Du har allereie stemt på dette innlegget.", + "reputation-system-disabled": "Omdømmesystemet er deaktivert.", + "downvoting-disabled": "Nedstemming er deaktivert", + "not-enough-reputation-to-chat": "Du treng %1 omdømme for å chatte", + "not-enough-reputation-to-upvote": "Du treng %1 omdømme for å stemme opp", + "not-enough-reputation-to-downvote": "Du treng %1 omdømme for å stemme ned", + "not-enough-reputation-to-post-links": "Du treng %1 omdømme for å poste lenkjer", + "not-enough-reputation-to-flag": "Du treng %1 omdømme for å rapportere dette innlegget", + "not-enough-reputation-min-rep-website": "Du treng %1 omdømme for å legge til ein nettstad", + "not-enough-reputation-min-rep-aboutme": "Du treng %1 omdømme for å legge til 'Om meg'", + "not-enough-reputation-min-rep-signature": "Du treng %1 omdømme for å legge til ein signatur", + "not-enough-reputation-min-rep-profile-picture": "Du treng %1 omdømme for å legge til eit profilbilete", + "not-enough-reputation-min-rep-cover-picture": "Du treng %1 omdømme for å legge til eit omslagsbilete", + "post-already-flagged": "Du har allereie rapportert dette innlegget", + "user-already-flagged": "Du har allereie rapportert denne brukaren", + "post-flagged-too-many-times": "Dette innlegget har allereie blitt rapportert av andre", + "user-flagged-too-many-times": "Denne brukaren har allereie blitt rapportert av andre", + "too-many-post-flags-per-day": "Du kan berre rapportere %1 innlegg per dag", + "too-many-user-flags-per-day": "Du kan berre rapportere %1 brukar(ar) per dag", + "cant-flag-privileged": "Du har ikkje løyve til å rapportere profilar eller innhald frå privilegerte brukarar (moderatorar/globale moderatorar/administratorar)", + "cant-locate-flag-report": "Kan ikkje finne rapport", + "self-vote": "Du kan ikkje stemme på ditt eige innlegg", + "too-many-upvotes-today": "Du kan berre stemme opp %1 gong(ar) per dag", + "too-many-upvotes-today-user": "Du kan berre stemme opp ein brukar %1 gong(ar) per dag", + "too-many-downvotes-today": "Du kan berre stemme ned %1 gong(ar) per dag", + "too-many-downvotes-today-user": "Du kan berre stemme ned ein brukar %1 gong(ar) per dag", + "reload-failed": "NodeBB møtte eit problem ved oppdatering: \"%1\". NodeBB vil fortsette å bruke eksisterande klientressursar, men du bør oppheve det du gjorde før oppdateringa.", + "registration-error": "Registreringsfeil", + "parse-error": "Noko gjekk gale under tolkninga av serverresponsen", + "wrong-login-type-email": "Ver venleg å bruke e-posten din for å logge inn", + "wrong-login-type-username": "Ver venleg å bruke brukarnamnet ditt for å logge inn", + "sso-registration-disabled": "Registrering er deaktivert for %1 kontoar, ver venleg å registrere deg med e-post fyrst", + "sso-multiple-association": "Du kan ikkje knytte fleire kontoar frå denne tenesta til NodeBB-kontoen din. Ver venleg å fjerne den eksisterande tilknytinga og prøv igjen.", + "invite-maximum-met": "Du har invitert maks tal personar (%1 av %2).", + "no-session-found": "Ingen innloggingssesjon funne!", + "not-in-room": "Brukar ikkje i rommet", + "cant-kick-self": "Du kan ikkje sparke deg sjølv ut av gruppa", + "no-users-selected": "Ingen brukarar valt", + "no-groups-selected": "Ingen grupper valt", + "invalid-home-page-route": "Ugyldig heimesiderute", + "invalid-session": "Ugyldig sesjon", + "invalid-session-text": "Det ser ut som innloggingssesjonen din ikkje lenger er aktiv. Ver venleg å oppdatere sida.", + "session-mismatch": "Sesjon samsvarar ikkje", + "session-mismatch-text": "Det ser ut som innloggingssesjonen din ikkje lenger samsvarar med serveren. Ver venleg å oppdatere sida.", + "no-topics-selected": "Ingen emne valt!", + "cant-move-to-same-topic": "Kan ikkje flytte innlegg til same emne!", + "cant-move-topic-to-same-category": "Kan ikkje flytte emne til same kategori!", + "cannot-block-self": "Du kan ikkje blokkere deg sjølv!", + "cannot-block-privileged": "Du kan ikkje blokkere administratorar eller globale moderatorar", + "cannot-block-guest": "Gjestar kan ikkje blokkere andre brukarar", + "already-blocked": "Denne brukaren er allereie blokkert", + "already-unblocked": "Denne brukaren er allereie blokkert oppheva", + "no-connection": "Det ser ut til å vere eit problem med internettforbindelsen din", + "socket-reconnect-failed": "Kan ikkje nå serveren for augneblinken. Klikk her for å prøve igjen, eller prøv seinare", + "invalid-plugin-id": "Ugyldig plugin-ID", + "plugin-not-whitelisted": "Kan ikkje installere plugin – berre pluginar som er kvitelistet av NodeBB Package Manager kan installerast via ACP", + "plugins-set-in-configuration": "Du har ikkje løyve til å endre plugin-status sidan dei er definert ved oppstart (config.json, miljøvariablar eller terminalargument), ver venleg å endre konfigurasjonen i staden.", + "theme-not-set-in-configuration": "Når ein definerer aktive pluginar i konfigurasjonen, krev endring av tema at det nye temaet vert lagt til i lista over aktive pluginar før det oppdaterast i ACP", + "topic-event-unrecognized": "Emnehending '%1' ikkje gjenkjent", + "cant-set-child-as-parent": "Kan ikkje setje barn som overordna kategori", + "cant-set-self-as-parent": "Kan ikkje setje seg sjølv som overordna kategori", + "api.master-token-no-uid": "Ein mastertoken vart mottatt utan ein tilsvarande `_uid` i førespurnadsinnhaldet", + "api.400": "Det var noko gale med dataene du sende inn.", + "api.401": "Ein gyldig innloggingssesjon vart ikkje funne. Ver venleg å logge inn og prøv igjen.", + "api.403": "Du har ikkje autorisasjon til å gjere denne handlinga", + "api.404": "Ugyldig API-kall", + "api.426": "HTTPS er naudsynt for førespurnader til skrive-API-et, ver venleg å sende førespurnaden din via HTTPS", + "api.429": "Du har gjort for mange førespurnader, prøv igjen seinare", + "api.500": "Ein uventa feil oppstod medan vi prøvde å handsame førespurnaden din.", + "api.501": "Ruta du prøver å kalle på er ikkje implementert enno, prøv igjen i morgon", + "api.503": "Ruta du prøver å kalle på er for augneblinken ikkje tilgjengeleg grunna serverkonfigurasjon", + "api.reauth-required": "Ressursen du prøver å nå krev (re-)autentisering." +} \ No newline at end of file diff --git a/public/language/nn-NO/flags.json b/public/language/nn-NO/flags.json new file mode 100644 index 0000000000..bbf0b1a0e7 --- /dev/null +++ b/public/language/nn-NO/flags.json @@ -0,0 +1,95 @@ +{ + "state": "Status", + "report": "Rapport", + "reports": "Rapportar", + "first-reported": "Fyrst rapportert", + "no-flags": "Ingen rapportar funne", + "x-flags-found": "%1 rapportar funne", + "assignee": "Tilordna", + "update": "Oppdater", + "updated": "Oppdatert", + "resolved": "Løyst", + "report-added": "Rapport lagt til", + "report-rescinded": "Rapport trekt tilbake", + "target-purged": "Mål sletta", + "target-aboutme-empty": "Ingen informasjon i 'Om meg'-seksjonen", + + "graph-label": "Grafetikett", + "quick-filters": "Hurtigfilter", + "filter-active": "Aktivt filter", + "filter-reset": "Nullstill filter", + "filters": "Filter", + "filter-reporterId": "Rapportør-ID", + "filter-targetUid": "Målbrukar-ID", + "filter-type": "Filtertype", + "filter-type-all": "Alle", + "filter-type-post": "Innlegg", + "filter-type-user": "Brukar", + "filter-state": "Filterstatus", + "filter-assignee": "Tilordna til", + "filter-cid": "Kategori-ID", + "filter-quick-mine": "Mine rapportar", + "filter-cid-all": "Alle kategoriar", + "apply-filters": "Bruk filter", + "more-filters": "Fleire filter", + "fewer-filters": "Færre filter", + + "quick-actions": "Hurtigtiltak", + "flagged-user": "Rapportert brukar", + "view-profile": "Vis profil", + "start-new-chat": "Start ny chat", + "go-to-target": "Gå til mål", + "assign-to-me": "Tilordne til meg", + "delete-post": "Slett innlegg", + "purge-post": "Rens innlegg", + "restore-post": "Gjenopprett innlegg", + "delete": "Slett", + + "user-view": "Vis brukar", + "user-edit": "Rediger brukar", + + "notes": "Merknader", + "add-note": "Legg til merknad", + "edit-note": "Rediger merknad", + "no-notes": "Ingen merknader", + "delete-note-confirm": "Er du sikker på at du vil slette denne merknaden?", + "delete-flag-confirm": "Er du sikker på at du vil slette denne rapporten?", + "note-added": "Merknad lagt til", + "note-deleted": "Merknad sletta", + "flag-deleted": "Rapport sletta", + + "history": "Historikk", + "no-history": "Ingen historikk", + + "state-all": "Alle", + "state-open": "Opna", + "state-wip": "Under arbeid", + "state-resolved": "Løyst", + "state-rejected": "Avvist", + "no-assignee": "Ingen tilordna", + + "sort": "Sorter", + "sort-newest": "Nyaste fyrst", + "sort-oldest": "Eldste fyrst", + "sort-reports": "Sorter etter rapportar", + "sort-all": "Sorter alle", + "sort-posts-only": "Berre innlegg", + "sort-downvotes": "Sorter etter nedstemmer", + "sort-upvotes": "Sorter etter oppstemmer", + "sort-replies": "Sorter etter svar", + + "modal-title": "Rapporter innlegg", + "modal-body": "Vel ein grunn for rapportering", + "modal-reason-spam": "Spam", + "modal-reason-offensive": "Støytande innhald", + "modal-reason-other": "Annan grunn", + "modal-reason-custom": "Skriv inn eigen grunn", + "modal-submit": "Send inn", + "modal-submit-success": "Rapport sendt med suksess", + + "bulk-actions": "Massehandlingar", + "bulk-resolve": "Løys alle", + "bulk-success": "Alle vart handsama med suksess", + "flagged-timeago": "Rapportert for %1 sidan", + "auto-flagged": "Automatisk rapportert" +} \ No newline at end of file diff --git a/public/language/nn-NO/global.json b/public/language/nn-NO/global.json new file mode 100644 index 0000000000..e5bb06bf66 --- /dev/null +++ b/public/language/nn-NO/global.json @@ -0,0 +1,151 @@ +{ + "home": "Heim", + "search": "Søk", + "buttons.close": "Lukk", + "403.title": "Tilgang nekta", + "403.message": "Du har kome til ei side du ikkje har tilgang til.", + "403.login": "Kanskje du bør prøve å logge inn?", + "404.title": "Ikkje funne", + "404.message": "Du har kome til ei side som ikkje eksisterer.
Gå tilbake til heimsida.
", + "500.title": "Intern feil.", + "500.message": "Ops! Det ser ut som noko gjekk gale!", + "400.title": "Feil førespurnad.", + "400.message": "Det ser ut som lenkja er feil, ver venleg å sjekke og prøv igjen.
Gå tilbake til heimsida.
", + "register": "Registrer", + "login": "Logg inn", + "please-log-in": "Ver venleg å logge inn", + "logout": "Logg ut", + "posting-restriction-info": "Innlegg er for augneblinken berre tillate for registrerte medlemmar, klikk her for å logge inn.", + "welcome-back": "Velkomen tilbake", + "you-have-successfully-logged-in": "Du har logga inn med suksess", + "save-changes": "Lagre endringar", + "save": "Lagre", + "create": "Opprett", + "cancel": "Avbryt", + "close": "Lukk", + "pagination": "Paginering", + "pagination.previouspage": "Førre side", + "pagination.nextpage": "Neste side", + "pagination.firstpage": "Fyrste side", + "pagination.lastpage": "Siste side", + "pagination.out-of": "%1 av %2", + "pagination.enter-index": "Gå til innleggindeks", + "pagination.go-to-page": "Gå til side", + "pagination.page-x": "Side %1", + "header.brand-logo": "Logo", + "header.admin": "Admin", + "header.categories": "Kategoriar", + "header.recent": "Nyleg", + "header.unread": "Uleste", + "header.tags": "Stikkord", + "header.popular": "Populære", + "header.top": "Topp", + "header.users": "Brukarar", + "header.groups": "Grupper", + "header.chats": "Chattar", + "header.notifications": "Varsel", + "header.search": "Søk", + "header.profile": "Profil", + "header.account": "Konto", + "header.navigation": "Navigasjon", + "header.manage": "Administrer", + "header.drafts": "Utkast", + "notifications.loading": "Laster varsel", + "chats.loading": "Laster chattar", + "drafts.loading": "Laster utkast", + "motd.welcome": "Velkomen til NodeBB, diskusjonsplattformen for framtida.", + "alert.success": "Suksess", + "alert.error": "Feil", + "alert.warning": "Åtvaring", + "alert.info": "Info", + "alert.banned": "Utestengd", + "alert.banned.message": "Du har blitt utestengd, tilgangen din er no avgrensa.", + "alert.unbanned": "Ikkje lenger utestengd", + "alert.unbanned.message": "Utestenginga di har blitt oppheva.", + "alert.unfollow": "Du følgjer ikkje lenger %1!", + "alert.follow": "Du følgjer no %1!", + "users": "Brukarar", + "topics": "Emne", + "posts": "Innlegg", + "x-posts": "%1 innlegg", + "x-topics": "%1 emne", + "x-reputation": "%1 omdømme", + "best": "Best", + "controversial": "Kontroversiell", + "votes": "Stemmer", + "x-votes": "%1 stemmer", + "voters": "Veljarar", + "upvoters": "Oppstemmarar", + "upvoted": "Stemte opp", + "downvoters": "Nedstemmarar", + "downvoted": "Stemte ned", + "views": "Visningar", + "posters": "Innleggsskrivarar", + "reputation": "Omdømme", + "lastpost": "Siste innlegg", + "firstpost": "Fyrste innlegg", + "about": "Om", + "read-more": "les meir", + "more": "Meir", + "none": "Ingen", + "posted-ago-by-guest": "posta %1 av gjest", + "posted-ago-by": "posta %1 av %2", + "posted-ago": "posta %1", + "posted-in": "posta i %1", + "posted-in-by": "posta i %1 av %2", + "posted-in-ago": "posta i %1 %2", + "posted-in-ago-by": "posta i %1 %2 av %3", + "user-posted-ago": "%1 posta %2", + "guest-posted-ago": "Gjest posta %1", + "last-edited-by": "sist redigert av %1", + "edited-timestamp": "Redigert %1", + "norecentposts": "Ingen nylege innlegg", + "norecenttopics": "Ingen nylege emne", + "recentposts": "Nylege innlegg", + "recentips": "Nyleg logga IP-ar", + "moderator-tools": "Moderatorverktøy", + "status": "Status", + "online": "Pålogga", + "away": "Borte", + "dnd": "Ikkje forstyrr", + "invisible": "Usynleg", + "offline": "Avlogga", + "email": "E-post", + "language": "Språk", + "guest": "Gjest", + "guests": "Gjestar", + "former-user": "Ein tidlegare brukar", + "system-user": "System", + "unknown-user": "Ukjend brukar", + "updated.title": "Forum oppdatert", + "updated.message": "Dette forumet har akkurat blitt oppdatert til nyaste versjon. Klikk her for å oppdatere sida.", + "privacy": "Personvern", + "follow": "Følg", + "unfollow": "Ikkje følg", + "delete-all": "Slett alt", + "map": "Kart", + "sessions": "Påloggingssesjonar", + "ip-address": "IP-adresse", + "enter-page-number": "Skriv inn sidetalet", + "upload-file": "Last opp fil", + "upload": "Last opp", + "uploads": "Opplastingar", + "allowed-file-types": "Tillatne filtypar er %1", + "unsaved-changes": "Du har ulagrede endringar. Er du sikker på at du vil forlate sida?", + "reconnecting-message": "Det ser ut som tilkoplinga til %1 vart avbroten, ver venleg å vente medan vi prøver å kople til igjen.", + "play": "Spel", + "cookies.message": "Denne nettstaden brukar informasjonskapslar for å sikre at du får best mogleg oppleving.", + "cookies.accept": "OK!", + "cookies.learn-more": "Lær meir", + "edited": "Redigert", + "disabled": "Deaktivert", + "select": "Vel", + "selected": "Vald", + "copied": "Kopiert", + "user-search-prompt": "Skriv noko her for å finne brukarar...", + "hidden": "Skjult", + "sort": "Sorter", + "actions": "Handlingar", + "rss-feed": "RSS-feed", + "skip-to-content": "Hopp til innhald" +} \ No newline at end of file diff --git a/public/language/nn-NO/groups.json b/public/language/nn-NO/groups.json new file mode 100644 index 0000000000..c93187fba6 --- /dev/null +++ b/public/language/nn-NO/groups.json @@ -0,0 +1,66 @@ +{ + "all-groups": "Alle grupper", + "groups": "Grupper", + "members": "Medlemmar", + "view-group": "Sjå gruppe", + "owner": "Gruppeeigar", + "new-group": "Opprett ny gruppe", + "no-groups-found": "Ingen grupper å vise", + "pending.accept": "Godkjenn", + "pending.reject": "Avvis", + "pending.accept-all": "Godkjenn alle", + "pending.reject-all": "Avvis alle", + "pending.none": "Ingen ventande medlemmar for augneblinken", + "invited.none": "Ingen inviterte medlemmar for augneblinken", + "invited.uninvite": "Trekk tilbake invitasjon", + "invited.search": "Søk etter ein brukar å invitere til denne gruppa", + "invited.notification-title": "Du er invitert til å bli med i %1", + "request.notification-title": "Førespurnad om medlemskap frå %1", + "request.notification-text": "%1 har bede om å bli medlem av %2", + "cover-save": "Lagre", + "cover-saving": "Lagrar", + "details.title": "Gruppeinformasjon", + "details.members": "Medlemsliste", + "details.pending": "Ventande medlemmar", + "details.invited": "Inviterte medlemmar", + "details.has-no-posts": "Medlemmane i denne gruppa har ikkje lagt ut nokon innlegg.", + "details.latest-posts": "Siste innlegg", + "details.private": "Privat", + "details.disableJoinRequests": "Deaktiver innmeldingsførespurnader", + "details.disableLeave": "Ikkje tillat brukarar å forlate gruppa", + "details.grant": "Gje/trekk tilbake eigarskap", + "details.kick": "Spark ut", + "details.kick-confirm": "Er du sikker på at du vil fjerne dette medlemmet frå gruppa?", + "details.add-member": "Legg til medlem", + "details.owner-options": "Gruppeadministrasjon", + "details.group-name": "Gruppenamn", + "details.member-count": "Antal medlemmar", + "details.creation-date": "Opprettingsdato", + "details.description": "Skildring", + "details.member-post-cids": "Kategori-ID-ar for innlegg", + "details.badge-preview": "Forhåndsvisning av merke", + "details.change-icon": "Endre ikon", + "details.change-label-colour": "Endre farge på etikett", + "details.change-text-colour": "Endre tekstfarge", + "details.badge-text": "Merketekst", + "details.userTitleEnabled": "Vis merke", + "details.private-help": "Om aktivert, krev tilslutning til gruppa godkjenning frå ein gruppeeigar", + "details.hidden": "Skjult", + "details.hidden-help": "Om aktivert, vil ikkje denne gruppa vere synleg i gruppelista, og brukarar må inviterast manuelt", + "details.delete-group": "Slett gruppe", + "details.private-system-help": "Private grupper er deaktivert på systemnivå, denne innstillinga har ingen effekt", + "event.updated": "Gruppeinformasjonen er oppdatert", + "event.deleted": "Gruppa \"%1\" er sletta", + "membership.accept-invitation": "Godkjenn invitasjon", + "membership.accept.notification-title": "Du er no medlem av %1", + "membership.invitation-pending": "Invitasjon ventar", + "membership.join-group": "Bli med i gruppa", + "membership.leave-group": "Forlat gruppa", + "membership.leave.notification-title": "%1 har forlatt gruppa %2", + "membership.reject": "Avvis", + "new-group.group-name": "Gruppenamn:", + "upload-group-cover": "Last opp gruppeomslag", + "bulk-invite-instructions": "Skriv inn ei liste med kommaseparerte brukarnamn for å invitere til denne gruppa", + "bulk-invite": "Masseinvitasjon", + "remove-group-cover-confirm": "Er du sikker på at du vil fjerne omslagsbiletet?" +} \ No newline at end of file diff --git a/public/language/nn-NO/ip-blacklist.json b/public/language/nn-NO/ip-blacklist.json new file mode 100644 index 0000000000..16203a969f --- /dev/null +++ b/public/language/nn-NO/ip-blacklist.json @@ -0,0 +1,19 @@ +{ + "lead": "IP-svarteliste", + "description": "Administrer IP-reglar for å blokkere tilgang basert på IP-adresser.", + "active-rules": "Aktive reglar", + "validate": "Valider", + "apply": "Bruk", + "hints": "Tips", + "hint-1": "Du kan leggje til enkelt-IP-ar eller eit område med IP-ar.", + "hint-2": "Pass på å validere reglane før du tek dei i bruk.", + + "validate.x-valid": "Gyldig regel", + "validate.x-invalid": "Ugyldig regel", + + "alerts.applied-success": "Regel vart brukt med suksess.", + + "analytics.blacklist-hourly": "Svarteliste per time", + "analytics.blacklist-daily": "Svarteliste per dag", + "ip-banned": "IP-adresse blokkert" +} \ No newline at end of file diff --git a/public/language/nn-NO/language.json b/public/language/nn-NO/language.json new file mode 100644 index 0000000000..9ccaa553d5 --- /dev/null +++ b/public/language/nn-NO/language.json @@ -0,0 +1,5 @@ +{ + "name": "Nynorsk (Noreg)", + "code": "nn-NO", + "dir": "ltr" +} \ No newline at end of file diff --git a/public/language/nn-NO/login.json b/public/language/nn-NO/login.json new file mode 100644 index 0000000000..8e16912117 --- /dev/null +++ b/public/language/nn-NO/login.json @@ -0,0 +1,12 @@ +{ + "username-email": "Brukarnamn / E-post", + "username": "Brukarnamn", + "remember-me": "Hugs meg?", + "forgot-password": "Gløymt passord?", + "alternative-logins": "Alternative innloggingar", + "failed-login-attempt": "Innskriving mislykka", + "login-successful": "Du har logga inn med suksess!", + "dont-have-account": "Har du ikkje ein konto?", + "logged-out-due-to-inactivity": "Du har blitt logga ut av administrasjonspanelet grunna inaktivitet", + "caps-lock-enabled": "Caps Lock er på" +} \ No newline at end of file diff --git a/public/language/nn-NO/modules.json b/public/language/nn-NO/modules.json new file mode 100644 index 0000000000..798ef936af --- /dev/null +++ b/public/language/nn-NO/modules.json @@ -0,0 +1,132 @@ +{ + "chat.room-id": "Rom %1", + "chat.chatting-with": "Chat med", + "chat.placeholder": "Skriv chatmelding her, dra og slepp bilete", + "chat.placeholder.mobile": "Skriv chatmelding", + "chat.placeholder.message-room": "Melding #%1", + "chat.scroll-up-alert": "Gå til nyaste melding", + "chat.usernames-and-x-others": "%1 & %2 andre", + "chat.chat-with-usernames": "Chat med %1", + "chat.chat-with-usernames-and-x-others": "Chat med %1 & %2 andre", + "chat.send": "Send", + "chat.no-active": "Du har ingen aktive samtalar.", + "chat.user-typing-1": "%1 skriv ...", + "chat.user-typing-2": "%1 og %2 skriv ...", + "chat.user-typing-3": "%1, %2 og %3 skriv ...", + "chat.user-typing-n": "%1, %2 og %3 andre skriv ...", + "chat.user-has-messaged-you": "%1 har sendt deg ei melding.", + "chat.replying-to": "Svarar til %1", + "chat.see-all": "Alle samtalar", + "chat.mark-all-read": "Merk alle som lese", + "chat.no-messages": "Vel ein mottakar for å sjå meldingshistorikk", + "chat.no-users-in-room": "Ingen brukarar i dette rommet", + "chat.recent-chats": "Nylege samtalar", + "chat.contacts": "Kontaktar", + "chat.message-history": "Meldingshistorikk", + "chat.message-deleted": "Melding sletta", + "chat.options": "Chat-innstillingar", + "chat.pop-out": "Pop ut chat", + "chat.minimize": "Minimer", + "chat.maximize": "Maksimer", + "chat.seven-days": "7 dagar", + "chat.thirty-days": "30 dagar", + "chat.three-months": "3 månader", + "chat.delete-message-confirm": "Er du sikker på at du vil slette denne meldinga?", + "chat.retrieving-users": "Hentar brukarar...", + "chat.view-users-list": "Vis brukarliste", + "chat.pinned-messages": "Festa meldingar", + "chat.no-pinned-messages": "Ingen festa meldingar", + "chat.pin-message": "Fest melding", + "chat.unpin-message": "Fjern festing av melding", + "chat.public-rooms": "Offentlege rom (%1)", + "chat.private-rooms": "Private rom (%1)", + "chat.create-room": "Opprett chat-rom", + "chat.private.option": "Privat (berre synleg for brukarar lagt til i rommet)", + "chat.public.option": "Offentleg (synleg for alle brukarar i valde grupper)", + "chat.public.groups-help": "For å opprette eit chat-rom synleg for alle brukarar, vel registered-users frå gruppelista.", + "chat.manage-room": "Administrer -rom", + "chat.add-user": "Legg til brukar", + "chat.notification-settings": "Varslingsinnstillingar", + "chat.default-notification-setting": "Standard varslingsinnstilling", + "chat.notification-setting-room-default": "Standard for rommet", + "chat.notification-setting-none": "Ingen varsel", + "chat.notification-setting-at-mention-only": "Berre @nemning", + "chat.notification-setting-all-messages": "Alle meldingar", + "chat.select-groups": "Vel grupper", + "chat.add-user-help": "Søk etter brukarar her. Når vald, vert brukaren lagt til i chatten. Den nye brukaren vil ikkje sjå meldingar skrivne før dei vart lagt til i samtalen. Berre romeigarar () kan fjerne brukarar frå chat-rom.", + "chat.confirm-chat-with-dnd-user": "Denne brukaren har sett statusen til Ikkje forstyrr. Ønskjer du framleis å chatte med dei?", + "chat.room-name-optional": "Romnamn (valfritt)", + "chat.rename-room": "Endre namn på rom", + "chat.rename-placeholder": "Skriv inn romnamnet her", + "chat.rename-help": "Romnamnet du set her vil vere synleg for alle deltakarar i rommet.", + "chat.leave": "Forlat", + "chat.leave-room": "Forlat rom", + "chat.leave-prompt": "Er du sikker på at du vil forlate denne chatten?", + "chat.leave-help": "Å forlate denne chatten vil fjerne deg frå framtidige samtalar i denne chatten. Om du vert lagt til igjen i framtida, vil du ikkje sjå tidlegare meldingshistorikk.", + "chat.delete": "Slett", + "chat.delete-room": "Slett rom", + "chat.delete-prompt": "Er du sikker på at du vil slette dette -rommet?", + "chat.in-room": "I dette rommet", + "chat.kick": "Spark ut", + "chat.show-ip": "Vis IP", + "chat.copy-text": "Kopier tekst", + "chat.copy-link": "Kopier lenkje", + "chat.owner": "Romeigar", + "chat.grant-rescind-ownership": "Gje/trekk tilbake eigarskap", + "chat.system.user-join": "%1 har blitt med i rommet ", + "chat.system.user-leave": "%1 har forlatt rommet ", + "chat.system.room-rename": "%2 har endra namnet på rommet til \"%1\" ", + "composer.compose": "Skriv innlegg", + "composer.show-preview": "Vis førehandsvising", + "composer.hide-preview": "Skjul førehandsvising", + "composer.help": "Hjelp", + "composer.user-said-in": "%1 sa i %2:", + "composer.user-said": "%1 sa:", + "composer.discard": "Er du sikker på at du vil forkaste dette innlegget?", + "composer.submit-and-lock": "Send inn og lås", + "composer.toggle-dropdown": "Vis/skjul nedtrekksmeny", + "composer.uploading": "Laster opp %1", + "composer.formatting.bold": "Feit skrift", + "composer.formatting.italic": "Kursiv", + "composer.formatting.heading": "Overskrift", + "composer.formatting.heading1": "Overskrift 1", + "composer.formatting.heading2": "Overskrift 2", + "composer.formatting.heading3": "Overskrift 3", + "composer.formatting.heading4": "Overskrift 4", + "composer.formatting.heading5": "Overskrift 5", + "composer.formatting.heading6": "Overskrift 6", + "composer.formatting.list": "Liste", + "composer.formatting.strikethrough": "Gjennomstreking", + "composer.formatting.code": "Kode", + "composer.formatting.link": "Lenkje", + "composer.formatting.picture": "Bilete-lenkje", + "composer.upload-picture": "Last opp bilete", + "composer.upload-file": "Last opp fil", + "composer.zen-mode": "Zen-modus", + "composer.select-category": "Vel kategori", + "composer.textarea.placeholder": "Skriv inn innhaldet ditt her, dra og slepp bilete", + "composer.post-queue-alert": "Hei👋!
Dette forumet brukar eit system for innleggskø. Sidan du er ny brukar, vil innlegget ditt vere skjult til det er godkjent av moderatorane våre.", + "composer.schedule-for": "Planlegg emne til", + "composer.schedule-date": "Dato", + "composer.schedule-time": "Tid", + "composer.cancel-scheduling": "Avbryt planlegging", + "composer.change-schedule-date": "Endre dato", + "composer.set-schedule-date": "Sett dato", + "composer.discard-all-drafts": "Forkast alle utkast", + "composer.no-drafts": "Du har ingen utkast", + "composer.discard-draft-confirm": "Ønskjer du å forkaste dette utkastet?", + "bootbox.ok": "OK", + "bootbox.cancel": "Avbryt", + "bootbox.confirm": "Stadfest", + "bootbox.submit": "Send inn", + "bootbox.send": "Send", + "cover.dragging-title": "Posisjonering av omslagsbilete", + "cover.dragging-message": "Dra omslagsbiletet til ønska posisjon og klikk \"Lagre\"", + "cover.saved": "Omslagsbilete og posisjon lagra", + "thumbs.modal.title": "Administrer miniatyrbilete for emne", + "thumbs.modal.no-thumbs": "Ingen miniatyrbilete funne.", + "thumbs.modal.resize-note": "Merk: Dette forumet er konfigurert til å endre storleik på miniatyrbilete til ein maks breidde på %1px", + "thumbs.modal.add": "Legg til miniatyr", + "thumbs.modal.remove": "Fjern miniatyr", + "thumbs.modal.confirm-remove": "Er du sikker på at du vil fjerne denne miniatyren?" +} \ No newline at end of file diff --git a/public/language/nn-NO/notifications.json b/public/language/nn-NO/notifications.json new file mode 100644 index 0000000000..f8ef60ee35 --- /dev/null +++ b/public/language/nn-NO/notifications.json @@ -0,0 +1,102 @@ +{ + "title": "Varsel", + "no-notifs": "Du har ingen nye varsel", + "see-all": "Alle varsel", + "mark-all-read": "Merk alle som lese", + "back-to-home": "Tilbake til %1", + "outgoing-link": "Utgåande lenkje", + "outgoing-link-message": "Du forlèt no %1", + "continue-to": "Fortset til %1", + "return-to": "Gå tilbake til %1", + "new-notification": "Du har eit nytt varsel", + "you-have-unread-notifications": "Du har uleste varsel.", + "all": "Alle", + "topics": "Emne", + "tags": "Stikkord", + "categories": "Kategoriar", + "replies": "Svar", + "chat": "Meldingar", + "group-chat": "Gruppechat", + "public-chat": "Offentleg chat", + "follows": "Følgjarar", + "upvote": "Oppstemmer", + "awards": "Utmerkingar", + "new-flags": "Nye rapporteringar", + "my-flags": "Rapporteringar tilordna meg", + "bans": "Utestengingar", + "new-message-from": "Ny melding frå %1", + "new-messages-from": "%1 nye meldingar frå %2", + "new-message-in": "Ny melding i %1", + "new-messages-in": "%1 nye meldingar i %2", + "user-posted-in-public-room": "%1 skreiv i %3", + "user-posted-in-public-room-dual": "%1 og %2 skreiv i %4", + "user-posted-in-public-room-triple": "%1, %2 og %3 skreiv i %5", + "user-posted-in-public-room-multiple": "%1, %2 og %3 andre skreiv i %5", + "upvoted-your-post-in": "%1 har stemt opp innlegget ditt i %2.", + "upvoted-your-post-in-dual": "%1 og %2 har stemt opp innlegget ditt i %3.", + "upvoted-your-post-in-triple": "%1, %2 og %3 har stemt opp innlegget ditt i %4.", + "upvoted-your-post-in-multiple": "%1, %2 og %3 andre har stemt opp innlegget ditt i %4.", + "moved-your-post": "%1 har flytta innlegget ditt til %2", + "moved-your-topic": "%1 har flytta %2", + "user-flagged-post-in": "%1 rapporterte eit innlegg i %2", + "user-flagged-post-in-dual": "%1 og %2 rapporterte eit innlegg i %3", + "user-flagged-post-in-triple": "%1, %2 og %3 rapporterte eit innlegg i %4", + "user-flagged-post-in-multiple": "%1, %2 og %3 andre rapporterte eit innlegg i %4", + "user-flagged-user": "%1 rapporterte ein brukarpresentasjon (%2)", + "user-flagged-user-dual": "%1 og %2 rapporterte ein brukarpresentasjon (%3)", + "user-flagged-user-triple": "%1, %2 og %3 rapporterte ein brukarpresentasjon (%4)", + "user-flagged-user-multiple": "%1, %2 og %3 andre rapporterte ein brukarpresentasjon (%4)", + "user-posted-to": "%1 har posta eit svar til: %2", + "user-posted-to-dual": "%1 og %2 har posta svar til: %3", + "user-posted-to-triple": "%1, %2 og %3 har posta svar til: %4", + "user-posted-to-multiple": "%1, %2 og %3 andre har posta svar til: %4", + "user-posted-topic": "%1 har posta eit nytt emne: %2", + "user-edited-post": "%1 har redigert eit innlegg i %2", + "user-posted-topic-with-tag": "%1 har posta %2 (merka %3)", + "user-posted-topic-with-tag-dual": "%1 har posta %2 (merka %3 og %4)", + "user-posted-topic-with-tag-triple": "%1 har posta %2 (merka %3, %4, og %5)", + "user-posted-topic-with-tag-multiple": "%1 har posta %2 (merka %3)", + "user-posted-topic-in-category": "%1 har posta eit nytt emne i %2", + "user-started-following-you": "%1 starta å følgje deg.", + "user-started-following-you-dual": "%1 og %2 starta å følgje deg.", + "user-started-following-you-triple": "%1, %2 og %3 starta å følgje deg.", + "user-started-following-you-multiple": "%1, %2 og %3 andre starta å følgje deg.", + "new-register": "%1 sende ein registreringsførespurnad.", + "new-register-multiple": "Det er %1 registreringsførespurnadar som ventar på gjennomgang.", + "flag-assigned-to-you": "Rapport %1 er tilordna deg", + "post-awaiting-review": "Innlegg ventar på gjennomgang", + "profile-exported": "%1 profil eksportert, klikk for å laste ned", + "posts-exported": "%1 innlegg eksportert, klikk for å laste ned", + "uploads-exported": "%1 opplastingar eksportert, klikk for å laste ned", + "users-csv-exported": "Brukar-csv eksportert, klikk for å laste ned", + "post-queue-accepted": "Innlegget ditt i køen er godkjent. Klikk her for å sjå innlegget.", + "post-queue-rejected": "Innlegget ditt i køen er avvist.", + "post-queue-notify": "Innlegg i kø fekk ein varsel:
\"%1\"", + "email-confirmed": "E-post stadfesta", + "email-confirmed-message": "Takk for at du stadfesta e-posten din. Kontoen din er no fullt aktivert.", + "email-confirm-error-message": "Det oppstod eit problem med å stadfeste e-postadressa di. Kanskje koden var ugyldig eller utløpt.", + "email-confirm-error-message-already-validated": "E-postadressa di var allereie stadfesta.", + "email-confirm-sent": "Stadfestings-e-post sendt.", + "none": "Ingen", + "notification-only": "Berre varsel", + "email-only": "Berre e-post", + "notification-and-email": "Varsel og e-post", + "notificationType-upvote": "Når nokon stemmer opp innlegget ditt", + "notificationType-new-topic": "Når nokon du følgjer opprettar eit emne", + "notificationType-new-topic-with-tag": "Når eit emne vert oppretta med eit stikkord du følgjer", + "notificationType-new-topic-in-category": "Når eit emne vert oppretta i ein kategori du følgjer", + "notificationType-new-reply": "Når eit nytt svar vert posta i eit emne du følgjer", + "notificationType-post-edit": "Når eit innlegg vert redigert i eit emne du følgjer", + "notificationType-follow": "Når nokon startar å følgje deg", + "notificationType-new-chat": "Når du mottek ei chatmelding", + "notificationType-new-group-chat": "Når du mottek ei gruppemelding", + "notificationType-new-public-chat": "Når du mottek ei offentleg gruppemelding", + "notificationType-group-invite": "Når du mottek ei gruppeinvitasjon", + "notificationType-group-leave": "Når ein brukar forlèt gruppa di", + "notificationType-group-request-membership": "Når nokon ber om å bli med i ei gruppe du eig", + "notificationType-new-register": "Når nokon vert lagt til registreringskøen", + "notificationType-post-queue": "Når eit nytt innlegg vert lagt i køen", + "notificationType-new-post-flag": "Når eit innlegg vert rapportert", + "notificationType-new-user-flag": "Når ein brukar vert rapportert", + "notificationType-new-reward": "Når du får ein ny utmerking" +} \ No newline at end of file diff --git a/public/language/nn-NO/pages.json b/public/language/nn-NO/pages.json new file mode 100644 index 0000000000..1d1aaead6f --- /dev/null +++ b/public/language/nn-NO/pages.json @@ -0,0 +1,69 @@ +{ + "home": "Heim", + "unread": "Uleste emne", + "popular-day": "Populære emne i dag", + "popular-week": "Populære emne denne veka", + "popular-month": "Populære emne denne månaden", + "popular-alltime": "Mest populære emne gjennom tidene", + "recent": "Nylege emne", + "top-day": "Mest stemte emne i dag", + "top-week": "Mest stemte emne denne veka", + "top-month": "Mest stemte emne denne månaden", + "top-alltime": "Mest stemte emne gjennom tidene", + "moderator-tools": "Moderatorverktøy", + "flagged-content": "Rapportert innhald", + "ip-blacklist": "IP svarteliste", + "post-queue": "Innleggskø", + "registration-queue": "Registreringskø", + "users/online": "Brukarar pålogga", + "users/latest": "Siste brukarar", + "users/sort-posts": "Brukarar med flest innlegg", + "users/sort-reputation": "Brukarar med høgast omdømme", + "users/banned": "Utestengde brukarar", + "users/most-flags": "Brukarar med flest rapporteringar", + "users/search": "Brukarsøk", + "notifications": "Varsel", + "tags": "Stikkord", + "tag": "Emne merka med "%1"", + "register": "Registrer ein konto", + "registration-complete": "Registrering fullført", + "login": "Logg inn på kontoen din", + "reset": "Tilbakestill passordet på kontoen din", + "categories": "Kategoriar", + "groups": "Grupper", + "group": "%1 gruppe", + "chats": "Meldingar", + "chat": "Chattar med %1", + "flags": "Rapportar", + "flag-details": "Detaljar for rapport %1", + "account/edit": "Redigerar \"%1\"", + "account/edit/password": "Endrar passord for \"%1\"", + "account/edit/username": "Endrar brukarnamn for \"%1\"", + "account/edit/email": "Endrar e-post for \"%1\"", + "account/info": "Kontoinformasjon", + "account/following": "Personar %1 følgjer", + "account/followers": "Personar som følgjer %1", + "account/posts": "Innlegg skrive av %1", + "account/latest-posts": "Siste innlegg skrive av %1", + "account/topics": "Emne oppretta av %1", + "account/groups": "%1 sine grupper", + "account/watched-categories": "%1 sine følgde kategoriar", + "account/watched-tags": "%1 sine følgde stikkord", + "account/bookmarks": "%1 sine bokmerka innlegg", + "account/settings": "Brukarinnstillingar", + "account/settings-of": "Endrar innstillingar for %1", + "account/watched": "Emne følgde av %1", + "account/ignored": "Emne ignorert av %1", + "account/read": "Emne lest av %1", + "account/upvoted": "Innlegg stemt opp av %1", + "account/downvoted": "Innlegg stemt ned av %1", + "account/best": "Beste innlegg skrive av %1", + "account/controversial": "Kontroversielle innlegg skrive av %1", + "account/blocks": "Blokkerte brukarar for %1", + "account/uploads": "Opplastingar av %1", + "account/sessions": "Påloggingssesjonar", + "confirm": "E-post stadfesta", + "maintenance.text": "%1 er for augneblinken under vedlikehald.
Ver venleg å kome tilbake seinare.", + "maintenance.messageIntro": "Administratoren har også lagt att denne meldinga:", + "throttled.text": "%1 er for augneblinken utilgjengeleg grunna høg belastning. Ver venleg å kome tilbake seinare." +} \ No newline at end of file diff --git a/public/language/nn-NO/post-queue.json b/public/language/nn-NO/post-queue.json new file mode 100644 index 0000000000..20de2b4d29 --- /dev/null +++ b/public/language/nn-NO/post-queue.json @@ -0,0 +1,43 @@ + +{ + "post-queue": "Innleggskø", + "no-queued-posts": "Ingen innlegg i kø.", + "no-single-post": "Ingenting å vise.", + "enabling-help": "Hjelp til aktivering", + "back-to-list": "Tilbake til lista", + "public-intro": "Offentleg innleiing", + "public-description": "Offentleg beskriving", + "user": "Brukar", + "when": "Når", + "category": "Kategori", + "title": "Tittel", + "content": "Innhald", + "posted": "Posta", + "reply-to": "Svar til", + "content-editable": "Innhald kan redigerast", + "category-editable": "Kategori kan redigerast", + "title-editable": "Tittel kan redigerast", + "reply": "Svar", + "topic": "Emne", + "accept": "Godkjenn", + "reject": "Avvis", + "remove": "Fjern", + "notify": "Varsle", + "notify-user": "Varsle brukar", + "confirm-reject": "Er du sikker på at du vil avvise?", + "confirm-remove": "Er du sikker på at du vil fjerne?", + "bulk-actions": "Massehandlingar", + "accept-all": "Godkjenn alle", + "accept-selected": "Godkjenn valde", + "reject-all": "Avvis alle", + "reject-all-confirm": "Er du sikker på at du vil avvise alle?", + "reject-selected": "Avvis valde", + "reject-selected-confirm": "Er du sikker på at du vil avvise dei valde?", + "remove-all": "Fjern alle", + "remove-all-confirm": "Er du sikker på at du vil fjerne alle?", + "remove-selected": "Fjern valde", + "remove-selected-confirm": "Er du sikker på at du vil fjerne dei valde?", + "bulk-accept-success": "Alle valde vart godkjent.", + "bulk-reject-success": "Alle valde vart avvist.", + "links-in-this-post": "Lenkjer i dette innlegget" +} \ No newline at end of file diff --git a/public/language/nn-NO/recent.json b/public/language/nn-NO/recent.json new file mode 100644 index 0000000000..c33e8c70b3 --- /dev/null +++ b/public/language/nn-NO/recent.json @@ -0,0 +1,11 @@ +{ + "title": "Nyleg", + "day": "Dag", + "week": "Veke", + "month": "Månad", + "year": "År", + "alltime": "Heile tida", + "no-recent-topics": "Det er ingen nylege emne.", + "no-popular-topics": "Det er ingen populære emne.", + "load-new-posts": "Last nye innlegg" +} \ No newline at end of file diff --git a/public/language/nn-NO/register.json b/public/language/nn-NO/register.json new file mode 100644 index 0000000000..25f8b3c410 --- /dev/null +++ b/public/language/nn-NO/register.json @@ -0,0 +1,33 @@ +{ + "register": "Registrer", + "already-have-account": "Har du allereie ein konto?", + "cancel-registration": "Avbryt registrering", + "help.email": "Som standard vil e-posten din vere skjult for offentlegheita.", + "help.username-restrictions": "Eit unikt brukarnamn mellom %1 og %2 teikn. Andre kan nemne deg med @brukarnamn.", + "help.minimum-password-length": "Passordet må vere minst %1 teikn langt.", + "email-address": "E-postadresse", + "email-address-placeholder": "Skriv inn e-postadresse", + "username": "Brukarnamn", + "username-placeholder": "Skriv inn brukarnamn", + "password": "Passord", + "password-placeholder": "Skriv inn passord", + "confirm-password": "Stadfest passord", + "confirm-password-placeholder": "Stadfest passord", + "register-now-button": "Registrer no", + "alternative-registration": "Alternativ registrering", + "terms-of-use": "Bruksvilkår", + "agree-to-terms-of-use": "Eg godtek bruksvilkåra", + "terms-of-use-error": "Du må godta bruksvilkåra", + "registration-added-to-queue": "Registreringa di har blitt lagt til i godkjenningskøen. Du vil få ein e-post når den er godkjent av ein administrator.", + "registration-queue-average-time": "Gjennomsnittleg tid for å godkjenne medlemskap er %1 timar %2 minutt.", + "registration-queue-auto-approve-time": "Medlemskapet ditt til dette forumet vil vere fullt aktivert innan %1 timar.", + "interstitial.intro": "Vi treng litt tilleggsinformasjon for å oppdatere kontoen din…", + "interstitial.intro-new": "Vi treng litt tilleggsinformasjon før vi kan opprette kontoen din…", + "interstitial.errors-found": "Ver venleg å sjå over den oppgitte informasjonen:", + "gdpr-agree-data": "Eg samtykker til innsamling og behandling av personopplysningane mine på denne nettstaden.", + "gdpr-agree-email": "Eg samtykker til å motta oppsummeringar og varsel via e-post frå denne nettstaden.", + "gdpr-consent-denied": "Du må gi samtykke til at denne nettstaden kan samle inn/behandle informasjonen din og sende deg e-postar.", + "invite.error-admin-only": "Direkte registrering av brukarar har blitt deaktivert. Ver venleg å kontakte ein administrator for meir informasjon.", + "invite.error-invite-only": "Direkte registrering av brukarar har blitt deaktivert. Du må inviterast av ein eksisterande brukar for å få tilgang til dette forumet.", + "invite.error-invalid-data": "Registreringsdataene som vart motteke stemmer ikkje med våre oppføringar. Ver venleg å kontakte ein administrator for meir informasjon." +} \ No newline at end of file diff --git a/public/language/nn-NO/reset_password.json b/public/language/nn-NO/reset_password.json new file mode 100644 index 0000000000..ec26010913 --- /dev/null +++ b/public/language/nn-NO/reset_password.json @@ -0,0 +1,18 @@ +{ + "reset-password": "Tilbakestill passord", + "update-password": "Oppdater passord", + "password-changed.title": "Passord endra", + "password-changed.message": "

Passordet er tilbakestilt med suksess, ver venleg å logge inn igjen.", + "wrong-reset-code.title": "Feil tilbakestillingskode", + "wrong-reset-code.message": "Tilbakestillingskoden du mottok var feil. Prøv igjen, eller be om ein ny kode.", + "new-password": "Nytt passord", + "repeat-password": "Stadfest passord", + "changing-password": "Endrar passord", + "enter-email": "Skriv inn e-postadressa di, og vi vil sende deg ein e-post med instruksjonar for å tilbakestille kontoen din.", + "enter-email-address": "Skriv inn e-postadresse", + "password-reset-sent": "Om den oppgitte adressa høyrer til ein eksisterande brukarkonto, er ein e-post for tilbakestilling av passord sendt. Ver merksam på at berre éin e-post vil bli sendt per minutt.", + "invalid-email": "Ugyldig e-post / E-post finst ikkje!", + "password-too-short": "Passordet du skreiv inn er for kort, ver venleg å vel eit anna passord.", + "passwords-do-not-match": "Dei to passorda du skreiv inn er ikkje like.", + "password-expired": "Passordet ditt har utløpt, ver venleg å vel eit nytt passord" +} \ No newline at end of file diff --git a/public/language/nn-NO/rewards.json b/public/language/nn-NO/rewards.json new file mode 100644 index 0000000000..7460987a00 --- /dev/null +++ b/public/language/nn-NO/rewards.json @@ -0,0 +1,10 @@ +{ + "awarded-x-reputation": "Tildelt %1 omdøme", + "awarded-group-membership": "Tildelt gruppemedlemskap", + + "essentials/user.reputation-conditional-value": "Omdømeverdi", + "essentials/user.postcount-conditional-value": "Innleggstal", + "essentials/user.lastonline-conditional-value": "Sist pålogga", + "essentials/user.joindate-conditional-value": "Registreringsdato", + "essentials/user.daysregistered-conditional-value": "Dagar registrert" +} \ No newline at end of file diff --git a/public/language/nn-NO/search.json b/public/language/nn-NO/search.json new file mode 100644 index 0000000000..d3e85ddda9 --- /dev/null +++ b/public/language/nn-NO/search.json @@ -0,0 +1,110 @@ +{ + "type-to-search": "Skriv for å søkje", + "results-matching": "%1 resultat funne for \"%2\", (%3 sekund)", + "no-matches": "Ingen treff funne", + "advanced-search": "Avansert søk", + "in": "I", + "in-titles": "I titlar", + "in-titles-posts": "I titlar og innlegg", + "in-posts": "I innlegg", + "in-bookmarks": "I bokmerke", + "in-categories": "I kategoriar", + "in-users": "I brukarar", + "in-tags": "I stikkord", + "categories": "Kategoriar", + "all-categories": "Alle kategoriar", + "categories-x": "Kategoriar: %1", + "categories-watched-categories": "Kategoriar: Følgde kategoriar", + "type-a-category": "Skriv ein kategori", + "tags": "Stikkord", + "tags-x": "Stikkord: %1", + "type-a-tag": "Skriv eit stikkord", + "match-words": "Match ord", + "match-all-words": "Match alle ord", + "match-any-word": "Match eit ord", + "all": "Alle", + "any": "Eit av", + "posted-by": "Posta av", + "posted-by-usernames": "Posta av: %1", + "type-a-username": "Skriv inn eit brukarnamn", + "search-child-categories": "Søk i underkategoriar", + "has-tags": "Har stikkord", + "reply-count": "Svarantal", + "replies": "Svar", + "replies-atleast-count": "Svar: Minst %1", + "replies-atmost-count": "Svar: Høgst %1", + "at-least": "Minst", + "at-most": "Høgst", + "relevance": "Relevans", + "time": "Tid", + "post-time": "Innleggstid", + "votes": "Stemmer", + "newer-than": "Nyare enn", + "older-than": "Eldre enn", + "any-date": "Kva som helst dato", + "yesterday": "I går", + "one-week": "Ei veke", + "two-weeks": "To veker", + "one-month": "Ein månad", + "three-months": "Tre månader", + "six-months": "Seks månader", + "one-year": "Eitt år", + "time-newer-than-86400": "Tid: Nyare enn i går", + "time-older-than-86400": "Tid: Eldre enn i går", + "time-newer-than-604800": "Tid: Nyare enn ei veke", + "time-older-than-604800": "Tid: Eldre enn ei veke", + "time-newer-than-1209600": "Tid: Nyare enn to veker", + "time-older-than-1209600": "Tid: Eldre enn to veker", + "time-newer-than-2592000": "Tid: Nyare enn ein månad", + "time-older-than-2592000": "Tid: Eldre enn ein månad", + "time-newer-than-7776000": "Tid: Nyare enn tre månader", + "time-older-than-7776000": "Tid: Eldre enn tre månader", + "time-newer-than-15552000": "Tid: Nyare enn seks månader", + "time-older-than-15552000": "Tid: Eldre enn seks månader", + "time-newer-than-31104000": "Tid: Nyare enn eitt år", + "time-older-than-31104000": "Tid: Eldre enn eitt år", + "sort-by": "Sorter etter", + "sort": "Sorter", + "last-reply-time": "Tid for siste svar", + "topic-title": "Emnetittel", + "topic-votes": "Emnestemmer", + "number-of-replies": "Antal svar", + "number-of-views": "Antal visningar", + "topic-start-date": "Startdato for emne", + "username": "Brukarnamn", + "category": "Kategori", + "descending": "I synkande rekkefølgje", + "ascending": "I stigande rekkefølgje", + "sort-by-relevance-desc": "Sorter etter: Relevans i synkande rekkefølgje", + "sort-by-relevance-asc": "Sorter etter: Relevans i stigande rekkefølgje", + "sort-by-timestamp-desc": "Sorter etter: Innleggstid i synkande rekkefølgje", + "sort-by-timestamp-asc": "Sorter etter: Innleggstid i stigande rekkefølgje", + "sort-by-votes-desc": "Sorter etter: Stemmer i synkande rekkefølgje", + "sort-by-votes-asc": "Sorter etter: Stemmer i stigande rekkefølgje", + "sort-by-topic.lastposttime-desc": "Sorter etter: Tid for siste svar i synkande rekkefølgje", + "sort-by-topic.lastposttime-asc": "Sorter etter: Tid for siste svar i stigande rekkefølgje", + "sort-by-topic.title-desc": "Sorter etter: Emnetittel i synkande rekkefølgje", + "sort-by-topic.title-asc": "Sorter etter: Emnetittel i stigande rekkefølgje", + "sort-by-topic.postcount-desc": "Sorter etter: Antal svar i synkande rekkefølgje", + "sort-by-topic.postcount-asc": "Sorter etter: Antal svar i stigande rekkefølgje", + "sort-by-topic.viewcount-desc": "Sorter etter: Antal visningar i synkande rekkefølgje", + "sort-by-topic.viewcount-asc": "Sorter etter: Antal visningar i stigande rekkefølgje", + "sort-by-topic.votes-desc": "Sorter etter: Emnestemmer i synkande rekkefølgje", + "sort-by-topic.votes-asc": "Sorter etter: Emnestemmer i stigande rekkefølgje", + "sort-by-topic.timestamp-desc": "Sorter etter: Startdato for emne i synkande rekkefølgje", + "sort-by-topic.timestamp-asc": "Sorter etter: Startdato for emne i stigande rekkefølgje", + "sort-by-user.username-desc": "Sorter etter: Brukarnamn i synkande rekkefølgje", + "sort-by-user.username-asc": "Sorter etter: Brukarnamn i stigande rekkefølgje", + "sort-by-category.name-desc": "Sorter etter: Kategori i synkande rekkefølgje", + "sort-by-category.name-asc": "Sorter etter: Kategori i stigande rekkefølgje", + "save": "Lagre", + "save-preferences": "Lagre preferansar", + "clear-preferences": "Tøm preferansar", + "search-preferences-saved": "Søkepreferansar lagra", + "search-preferences-cleared": "Søkepreferansar tømt", + "show-results-as": "Vis resultat som", + "show-results-as-topics": "Vis resultat som emne", + "show-results-as-posts": "Vis resultat som innlegg", + "see-more-results": "Sjå fleire resultat (%1)", + "search-in-category": "Søk i \"%1\"" +} \ No newline at end of file diff --git a/public/language/nn-NO/social.json b/public/language/nn-NO/social.json new file mode 100644 index 0000000000..9f5af4b954 --- /dev/null +++ b/public/language/nn-NO/social.json @@ -0,0 +1,12 @@ +{ + "sign-in-with-twitter": "Logg inn med X", + "sign-up-with-twitter": "Registrer deg med X", + "sign-in-with-github": "Logg inn med GitHub", + "sign-up-with-github": "Registrer deg med GitHub", + "sign-in-with-google": "Logg inn med Google", + "sign-up-with-google": "Registrer deg med Google", + "log-in-with-facebook": "Logg inn med Facebook", + "continue-with-facebook": "Hald fram med Facebook", + "sign-in-with-linkedin": "Logg inn med LinkedIn", + "sign-up-with-linkedin": "Registrer deg med LinkedIn" +} \ No newline at end of file diff --git a/public/language/nn-NO/success.json b/public/language/nn-NO/success.json new file mode 100644 index 0000000000..5f55cfc753 --- /dev/null +++ b/public/language/nn-NO/success.json @@ -0,0 +1,7 @@ +{ + "success": "Suksess", + "topic-post": "Du har posta med suksess.", + "post-queued": "Innlegget ditt er lagt i kø for godkjenning. Du vil få varsel når det vert godkjent eller avvist.", + "authentication-successful": "Autentisering vellykka", + "settings-saved": "Innstillingar lagra!" +} \ No newline at end of file diff --git a/public/language/nn-NO/tags.json b/public/language/nn-NO/tags.json new file mode 100644 index 0000000000..3efce53c2e --- /dev/null +++ b/public/language/nn-NO/tags.json @@ -0,0 +1,17 @@ +{ + "all-tags": "Alle stikkord", + "no-tag-topics": "Det er ingen emne med dette stikkordet.", + "no-tags-found": "Ingen stikkord funne", + "tags": "Stikkord", + "enter-tags-here": "Skriv inn stikkord, %1 - %2 teikn.", + "enter-tags-here-short": "Skriv inn stikkord...", + "no-tags": "Det er ingen stikkord enno.", + "select-tags": "Vel stikkord", + "tag-whitelist": "Stikkord kviteliste", + "watching": "Følgjer", + "not-watching": "Følgjer ikkje", + "watching.description": "Varsle meg om nye emne.", + "not-watching.description": "Ikkje varsle meg om nye emne.", + "following-tag.message": "Du vil no motta varsel når nokon postar eit emne med dette stikkordet.", + "not-following-tag.message": "Du vil ikkje motta varsel når nokon postar eit emne med dette stikkordet." +} \ No newline at end of file diff --git a/public/language/nn-NO/themes/harmony.json b/public/language/nn-NO/themes/harmony.json new file mode 100644 index 0000000000..ca69583fb2 --- /dev/null +++ b/public/language/nn-NO/themes/harmony.json @@ -0,0 +1,20 @@ +{ + "theme-name": "Tema-namn", + "skins": "Utsjånad", + "collapse": "Slå saman", + "expand": "Utvid", + "sidebar-toggle": "Vis/skjul sidefelt", + "login-register-to-search": "Logg inn eller registrer deg for å søkje", + "settings.title": "Innstillingar", + "settings.enableQuickReply": "Aktiver raskt svar", + "settings.enableBreadcrumbs": "Aktiver navigasjonsstiar", + "settings.enableBreadcrumbs.why": "Navigasjonsstiar hjelper med å navigere tilbake til tidlegare sider.", + "settings.centerHeaderElements": "Sentrer hovudelement", + "settings.mobileTopicTeasers": "Vis emneteasere på mobil", + "settings.stickyToolbar": "Fast verktøylinje", + "settings.stickyToolbar.help": "Gjer verktøylinja fast øvst på sida når du rullar.", + "settings.autohideBottombar": "Gøym botnlinja automatisk", + "settings.autohideBottombar.help": "Botnlinja vert automatisk gøymd når du rullar nedover.", + "settings.openSidebars": "Opne sidefelt", + "settings.chatModals": "Chat-modalar" +} \ No newline at end of file diff --git a/public/language/nn-NO/themes/persona.json b/public/language/nn-NO/themes/persona.json new file mode 100644 index 0000000000..fb961f6ab5 --- /dev/null +++ b/public/language/nn-NO/themes/persona.json @@ -0,0 +1,10 @@ +{ + "settings.title": "Innstillingar", + "settings.intro": "Innstillingar for temaet", + "settings.mobile-menu-side": "Side for mobilmeny", + "settings.autoHidingNavbar": "Automatisk skjuling av navigasjonslinje", + "settings.autoHidingNavbar-xs": "Automatisk skjuling av navigasjonslinje - ekstra liten skjerm", + "settings.autoHidingNavbar-sm": "Automatisk skjuling av navigasjonslinje - liten skjerm", + "settings.autoHidingNavbar-md": "Automatisk skjuling av navigasjonslinje - middels skjerm", + "settings.autoHidingNavbar-lg": "Automatisk skjuling av navigasjonslinje - stor skjerm" +} \ No newline at end of file diff --git a/public/language/nn-NO/top.json b/public/language/nn-NO/top.json new file mode 100644 index 0000000000..3e6720b76a --- /dev/null +++ b/public/language/nn-NO/top.json @@ -0,0 +1,4 @@ +{ + "title": "Topp", + "no-top-topics": "Ingen topp-emne funne." +} \ No newline at end of file diff --git a/public/language/nn-NO/topic.json b/public/language/nn-NO/topic.json new file mode 100644 index 0000000000..7e245033ea --- /dev/null +++ b/public/language/nn-NO/topic.json @@ -0,0 +1,220 @@ +{ + "topic": "Emne", + "title": "Tittel", + "no-topics-found": "Ingen emne funne!", + "no-posts-found": "Ingen innlegg funne!", + "post-is-deleted": "Dette innlegget er sletta!", + "topic-is-deleted": "Dette emnet er sletta!", + "profile": "Profil", + "posted-by": "Posta av %1", + "posted-by-guest": "Posta av gjest", + "chat": "Chat", + "notify-me": "Varsle meg om nye svar i dette emnet", + "quote": "Sitat", + "reply": "Svar", + "replies-to-this-post": "%1 svar", + "one-reply-to-this-post": "1 svar", + "last-reply-time": "Siste svar", + "reply-options": "Svaralternativ", + "reply-as-topic": "Svar som eige emne", + "guest-login-reply": "Logg inn for å svare", + "login-to-view": "🔒 Logg inn for å sjå", + "edit": "Rediger", + "delete": "Slett", + "delete-event": "Slett hending", + "delete-event-confirm": "Er du sikker på at du vil slette denne hendinga?", + "purge": "Rensk", + "restore": "Gjenopprett", + "move": "Flytt", + "change-owner": "Endre eigar", + "fork": "Kopier", + "link": "Lenkje", + "share": "Del", + "tools": "Verktøy", + "locked": "Låst", + "pinned": "Festa", + "pinned-with-expiry": "Festa til %1", + "scheduled": "Planlagt", + "deleted": "Sletta", + "moved": "Flytta", + "moved-from": "Flytta frå %1", + "copy-code": "Kopier kode", + "copy-ip": "Kopier IP", + "ban-ip": "Blokker IP", + "view-history": "Redigeringshistorikk", + "wrote-ago": "skreiv ", + "wrote-on": "skreiv den ", + "replied-to-user-ago": "svarte til %3 ", + "replied-to-user-on": "svarte til %3 den ", + "user-locked-topic-ago": "%1 låste dette emnet %2", + "user-locked-topic-on": "%1 låste dette emnet den %2", + "user-unlocked-topic-ago": "%1 opna dette emnet %2", + "user-unlocked-topic-on": "%1 opna dette emnet den %2", + "user-pinned-topic-ago": "%1 festa dette emnet %2", + "user-pinned-topic-on": "%1 festa dette emnet den %2", + "user-unpinned-topic-ago": "%1 avfesta dette emnet %2", + "user-unpinned-topic-on": "%1 avfesta dette emnet den %2", + "user-deleted-topic-ago": "%1 sletta dette emnet %2", + "user-deleted-topic-on": "%1 sletta dette emnet den %2", + "user-restored-topic-ago": "%1 gjenoppretta dette emnet %2", + "user-restored-topic-on": "%1 gjenoppretta dette emnet den %2", + "user-moved-topic-from-ago": "%1 flytta dette emnet frå %2 %3", + "user-moved-topic-from-on": "%1 flytta dette emnet frå %2 den %3", + "user-queued-post-ago": "%1 køyrde innlegget for godkjenning %3", + "user-queued-post-on": "%1 køyrde innlegget for godkjenning den %3", + "user-referenced-topic-ago": "%1 refererte til dette emnet %3", + "user-referenced-topic-on": "%1 refererte til dette emnet den %3", + "user-forked-topic-ago": "%1 kopierte dette emnet %3", + "user-forked-topic-on": "%1 kopierte dette emnet den %3", + "bookmark-instructions": "Klikk her for å gå tilbake til siste lese innlegg i denne tråden.", + "flag-post": "Rapporter dette innlegget", + "flag-user": "Rapporter denne brukaren", + "already-flagged": "Allereie rapportert", + "view-flag-report": "Vis rapport", + "resolve-flag": "Løys rapport", + "merged-message": "Dette emnet har blitt slått saman med %2", + "forked-message": "Dette emnet vart kopiert frå %2", + "deleted-message": "Dette emnet er sletta. Berre brukarar med rettar til emneadministrasjon kan sjå det.", + "following-topic.message": "Du vil no motta varsel når nokon legg inn innlegg i dette emnet.", + "not-following-topic.message": "Du vil sjå dette emnet i lista over uleste emne, men du vil ikkje motta varsel når nokon legg inn innlegg.", + "ignoring-topic.message": "Du vil ikkje lenger sjå dette emnet i lista over uleste emne. Du vil verte varsla når du vert nemnd eller innlegget ditt får oppstemmer.", + "login-to-subscribe": "Ver venleg å registrer deg eller logg inn for å abonnere på dette emnet.", + "markAsUnreadForAll.success": "Emne merka som ulest for alle.", + "mark-unread": "Merk som ulest", + "mark-unread.success": "Emne merka som ulest.", + "watch": "Følg", + "unwatch": "Ikkje følg", + "watch.title": "Varsle meg om nye svar i dette emnet", + "unwatch.title": "Slutt å følgje dette emnet", + "share-this-post": "Del dette innlegget", + "watching": "Følgjer", + "not-watching": "Følgjer ikkje", + "ignoring": "Ignorerer", + "watching.description": "Varsle meg om nye svar.
Vis emne som ulest.", + "not-watching.description": "Ikkje varsle meg om nye svar.
Vis emne som ulest om kategorien ikkje er ignorert.", + "ignoring.description": "Ikkje varsle meg om nye svar.
Vis ikkje emne som ulest.", + "thread-tools.title": "Emneverktøy", + "thread-tools.markAsUnreadForAll": "Merk som ulest for alle", + "thread-tools.pin": "Fest emne", + "thread-tools.unpin": "Avfest emne", + "thread-tools.lock": "Lås emne", + "thread-tools.unlock": "Opne emne", + "thread-tools.move": "Flytt emne", + "thread-tools.move-posts": "Flytt innlegg", + "thread-tools.move-all": "Flytt alle", + "thread-tools.change-owner": "Endre eigar", + "thread-tools.select-category": "Vel kategori", + "thread-tools.fork": "Kopier emne", + "thread-tools.tag": "Merk emne", + "thread-tools.delete": "Slett emne", + "thread-tools.delete-posts": "Slett innlegg", + "thread-tools.delete-confirm": "Er du sikker på at du vil slette dette emnet?", + "thread-tools.restore": "Gjenopprett emne", + "thread-tools.restore-confirm": "Er du sikker på at du vil gjenopprette dette emnet?", + "thread-tools.purge": "Rensk emne", + "thread-tools.purge-confirm": "Er du sikker på at du vil rense dette emnet?", + "thread-tools.merge-topics": "Slå saman emne", + "thread-tools.merge": "Slå saman emne", + "topic-move-success": "Dette emnet vil verte flytta til \"%1\" snart. Klikk her for å angre.", + "topic-move-multiple-success": "Desse emna vil verte flytta til \"%1\" snart. Klikk her for å angre.", + "topic-move-all-success": "Alle emna vil verte flytta til \"%1\" snart. Klikk her for å angre.", + "topic-move-undone": "Emneflytting angra", + "topic-move-posts-success": "Innlegg vil verte flytta snart. Klikk her for å angre.", + "topic-move-posts-undone": "Innleggflytting angra", + "post-delete-confirm": "Er du sikker på at du vil slette dette innlegget?", + "post-restore-confirm": "Er du sikker på at du vil gjenopprette dette innlegget?", + "post-purge-confirm": "Er du sikker på at du vil rense dette innlegget?", + "pin-modal-expiry": "Utløpsdato", + "pin-modal-help": "Du kan eventuelt sette ein utløpsdato for det festa emnet her. Alternativt kan du la feltet vere tomt slik at emnet held seg festa til det blir manuelt avfesta.", + "load-categories": "Lastar kategoriar", + "confirm-move": "Flytt", + "confirm-fork": "Kopier", + "bookmark": "Bokmerke", + "bookmarks": "Bokmerke", + "bookmarks.has-no-bookmarks": "Du har ikkje bokmerka noko innlegg enno.", + "copy-permalink": "Kopier permalenkje", + "loading-more-posts": "Lastar fleire innlegg", + "move-topic": "Flytt emne", + "move-topics": "Flytt emne", + "move-post": "Flytt innlegg", + "post-moved": "Innlegg flytta!", + "fork-topic": "Kopier emne", + "enter-new-topic-title": "Skriv inn ny emnetittel", + "fork-topic-instruction": "Klikk på innlegga du vil kopiere, skriv inn ein tittel for det nye emnet, og klikk på kopier emne", + "fork-no-pids": "Ingen innlegg vald!", + "no-posts-selected": "Ingen innlegg vald!", + "x-posts-selected": "%1 innlegg vald", + "x-posts-will-be-moved-to-y": "%1 innlegg vil verte flytta til \"%2\"", + "fork-pid-count": "%1 innlegg vald", + "fork-success": "Emne kopiert med suksess! Klikk her for å gå til det kopierte emnet.", + "delete-posts-instruction": "Klikk på innlegga du vil slette/renske", + "merge-topics-instruction": "Klikk på emna du vil slå saman, eller søk etter dei", + "merge-topic-list-title": "Liste over emne som skal slåast saman", + "merge-options": "Samanslåingsalternativ", + "merge-select-main-topic": "Vel hovudemnet", + "merge-new-title-for-topic": "Ny tittel for emne", + "topic-id": "Emne-ID", + "move-posts-instruction": "Klikk på innlegga du vil flytte, og skriv inn ein emne-ID eller gå til målemnet", + "move-topic-instruction": "Vel mål-kategorien, og klikk deretter på flytt", + "change-owner-instruction": "Klikk på innlegga du vil tildele ein annan brukar", + "composer.title-placeholder": "Skriv emnetittelen her...", + "composer.handle-placeholder": "Skriv namnet/aliaset ditt her", + "composer.hide": "Skjul", + "composer.discard": "Forkast", + "composer.submit": "Send inn", + "composer.additional-options": "Fleire alternativ", + "composer.post-later": "Post seinare", + "composer.schedule": "Planlegg", + "composer.replying-to": "Svarar til %1", + "composer.new-topic": "Nytt emne", + "composer.editing-in": "Redigerer innlegg i %1", + "composer.uploading": "laster opp...", + "composer.thumb-url-label": "Lim inn ein emne-miniatyr-URL", + "composer.thumb-title": "Legg til ein miniatyr til dette emnet", + "composer.thumb-url-placeholder": "http://døme.com/miniatyr.png", + "composer.thumb-file-label": "Eller last opp ei fil", + "composer.thumb-remove": "Tøm felt", + "composer.drag-and-drop-images": "Dra og slepp bilete her", + "more-users-and-guests": "%1 fleire brukarar og %2 gjestar", + "more-users": "%1 fleire brukarar", + "more-guests": "%1 fleire gjestar", + "users-and-others": "%1 og %2 andre", + "sort-by": "Sorter etter", + "oldest-to-newest": "Eldste til nyaste", + "newest-to-oldest": "Nyaste til eldste", + "recently-replied": "Sist svart", + "recently-created": "Nyleg oppretta", + "most-votes": "Fleire stemmer", + "most-posts": "Fleire innlegg", + "most-views": "Fleire visningar", + "stale.title": "Opprett nytt emne i staden?", + "stale.warning": "Emnet du svarar på er gammalt. Ønskjer du å opprette eit nytt emne i staden, og referere til dette i svaret ditt?", + "stale.create": "Opprett nytt emne", + "stale.reply-anyway": "Svar i dette emnet likevel", + "link-back": "Re: [%1](%2)", + "diffs.title": "Innleggsendringshistorikk", + "diffs.description": "Dette innlegget har %1 revisjonar. Klikk på ein av revisjonane nedanfor for å sjå innhaldet på det tidspunktet.", + "diffs.no-revisions-description": "Dette innlegget har %1 revisjonar.", + "diffs.current-revision": "gjeldande revisjon", + "diffs.original-revision": "original revisjon", + "diffs.restore": "Gjenopprett denne revisjonen", + "diffs.restore-description": "Ein ny revisjon vil verte lagt til innleggsendringshistorikken etter gjenoppretting.", + "diffs.post-restored": "Innlegget gjenoppretta til tidlegare revisjon", + "diffs.delete": "Slett denne revisjonen", + "diffs.deleted": "Revisjon sletta", + "timeago-later": "%1 seinare", + "timeago-earlier": "%1 tidlegare", + "first-post": "Fyrste innlegg", + "last-post": "Siste innlegg", + "go-to-my-next-post": "Gå til mitt neste innlegg", + "no-more-next-post": "Du har ikkje fleire innlegg i dette emnet", + "open-composer": "Opne skribent", + "post-quick-reply": "Raskt svar", + "navigator.index": "Innlegg %1 av %2", + "navigator.unread": "%1 uleste", + "upvote-post": "Stem opp innlegg", + "downvote-post": "Stem ned innlegg", + "post-tools": "Innleggsverktøy", + "unread-posts-link": "Lenkje til uleste innlegg", + "thumb-image": "Emne miniatyrbilete" +} \ No newline at end of file diff --git a/public/language/nn-NO/unread.json b/public/language/nn-NO/unread.json new file mode 100644 index 0000000000..37583696e6 --- /dev/null +++ b/public/language/nn-NO/unread.json @@ -0,0 +1,16 @@ +{ + "title": "Uleste", + "no-unread-topics": "Det er ingen uleste emne.", + "load-more": "Last meir", + "mark-as-read": "Merk som lest", + "mark-as-unread": "Merk som ulest", + "selected": "Vald", + "all": "Alle", + "all-categories": "Alle kategoriar", + "topics-marked-as-read.success": "Emne merka som lest!", + "all-topics": "Alle emne", + "new-topics": "Nye emne", + "watched-topics": "Emne du følgjer", + "unreplied-topics": "Emne utan svar", + "multiple-categories-selected": "Fleire vald" +} \ No newline at end of file diff --git a/public/language/nn-NO/uploads.json b/public/language/nn-NO/uploads.json new file mode 100644 index 0000000000..20abb0fbef --- /dev/null +++ b/public/language/nn-NO/uploads.json @@ -0,0 +1,9 @@ +{ + "uploading-file": "Lastar opp fila...", + "select-file-to-upload": "Vel ei fil å laste opp!", + "upload-success": "Fila vart lasta opp med suksess!", + "maximum-file-size": "Maksimalt %1 kb", + "no-uploads-found": "Ingen opplastingar funne", + "public-uploads-info": "Opplastingar er offentlege, alle besøkande kan sjå dei.", + "private-uploads-info": "Opplastingar er private, berre innlogga brukarar kan sjå dei." +} \ No newline at end of file diff --git a/public/language/nn-NO/user.json b/public/language/nn-NO/user.json new file mode 100644 index 0000000000..0bfd908a90 --- /dev/null +++ b/public/language/nn-NO/user.json @@ -0,0 +1,225 @@ +{ + "user-menu": "Brukarmeny", + "banned": "Utestengd", + "unbanned": "Ikkje lenger utestengd", + "muted": "Dempa", + "unmuted": "Ikke lenger dempa", + "offline": "Avlogga", + "deleted": "Slettet", + "username": "Brukarnamn", + "joindate": "Registreringsdato", + "postcount": "Antal innlegg", + "email": "E-post", + "confirm-email": "Stadfest e-post", + "account-info": "Kontoinformasjon", + "admin-actions-label": "Administrative handlingar", + "ban-account": "Utesteng konto", + "ban-account-confirm": "Vil du verkeleg utestenge denne brukaren?", + "unban-account": "Opphev utestenging", + "mute-account": "Dempe konto", + "unmute-account": "Opphev demping", + "delete-account": "Slett konto", + "delete-account-as-admin": "Slett konto", + "delete-content": "Slett innhald frå konto", + "delete-all": "Slett konto og innhald", + "delete-account-confirm": "Er du sikker på at du vil anonymisere innlegga dine og slette kontoen din?
Denne handlinga er irreversibel, og du vil ikkje kunne gjenopprette dataa dine

Skriv inn passordet ditt for å stadfeste at du ønskjer å øydeleggje denne kontoen.", + "delete-this-account-confirm": "Er du sikker på at du vil slette denne kontoen og la innhaldet vere igjen?
Denne handlinga er irreversibel, innlegg vert anonymiserte, og du vil ikkje kunne gjenopprette knytta mellom innlegg og sletta konto

", + "delete-account-content-confirm": "Er du sikker på at du vil slette innhaldet til denne kontoen (innlegg/emne/opplastingar)?
Denne handlinga er irreversibel, og du vil ikkje kunne gjenopprette dataa

", + "delete-all-confirm": "Er du sikker på at du vil slette denne kontoen og alt innhald (innlegg/emne/opplastingar)?
Denne handlinga er irreversibel, og du vil ikkje kunne gjenopprette dataa

", + "account-deleted": "Konto sletta", + "account-content-deleted": "Kontoinnhald sletta", + "fullname": "Fullt namn", + "website": "Nettstad", + "location": "Stad", + "age": "Alder", + "joined": "Blei med", + "lastonline": "Sist pålogga", + "profile": "Profil", + "profile-views": "Profilvisningar", + "reputation": "Omdømme", + "bookmarks": "Bokmerke", + "watched-categories": "Kategoriar du følgjer", + "watched-tags": "Stikkord du følgjer", + "change-all": "Endre alt", + "watched": "Følgde", + "ignored": "Ignorerte", + "read": "Lese", + "default-category-watch-state": "Standard kategori følgjetilstand", + "followers": "Følgjarar", + "following": "Følgjer", + "blocks": "Blokker", + "blocked-users": "Blokkerte brukarar", + "block-toggle": "Veksle blokkering", + "block-user": "Blokker brukar", + "unblock-user": "Opphev blokkering", + "aboutme": "Om meg", + "signature": "Signatur", + "birthday": "Fødselsdag", + "chat": "Chat", + "chat-with": "Fortset chat med %1", + "new-chat-with": "Start ny chat med %1", + "flag-profile": "Rapporter profil", + "follow": "Følg", + "unfollow": "Slutt å følgje", + "more": "Meir", + "profile-update-success": "Profilen er oppdatert!", + "change-picture": "Endre bilete", + "change-username": "Endre brukarnamn", + "change-email": "Endre e-post", + "email-updated": "E-post oppdatert", + "email-same-as-password": "Ver venleg å skriv inn det noverande passordet ditt for å halde fram – du har skrive inn den nye e-posten din igjen", + "edit": "Rediger", + "edit-profile": "Rediger profil", + "default-picture": "Standard ikon", + "uploaded-picture": "Opplasta bilete", + "upload-new-picture": "Last opp nytt bilete", + "upload-new-picture-from-url": "Last opp nytt bilete frå URL", + "current-password": "Noverande passord", + "new-password": "Nytt passord", + "change-password": "Endre passord", + "change-password-error": "Ugyldig passord!", + "change-password-error-wrong-current": "Det noverande passordet ditt er ikkje korrekt!", + "change-password-error-same-password": "Det nye passordet ditt er det same som det noverande, ver venleg å bruk eit nytt passord.", + "change-password-error-match": "Passorda må vere like!", + "change-password-error-privileges": "Du har ikkje rettane til å endre dette passordet.", + "change-password-success": "Passordet ditt er oppdatert!", + "confirm-password": "Stadfest passord", + "password": "Passord", + "username-taken-workaround": "Brukarnamnet du ønskte var allereie i bruk, så vi har endra det litt. Du er no kjend som %1", + "password-same-as-username": "Passordet ditt er det same som brukarnamnet ditt, ver venleg å vel eit anna passord.", + "password-same-as-email": "Passordet ditt er det same som e-posten din, ver venleg å vel eit anna passord.", + "weak-password": "Svakt passord.", + "upload-picture": "Last opp bilete", + "upload-a-picture": "Last opp eit bilete", + "remove-uploaded-picture": "Fjern opplasta bilete", + "upload-cover-picture": "Last opp omslagsbilete", + "remove-cover-picture-confirm": "Er du sikker på at du vil fjerne omslagsbiletet?", + "crop-picture": "Beskjer bilete", + "upload-cropped-picture": "Beskjer og last opp", + "avatar-background-colour": "Avatar bakgrunnsfarge", + "settings": "Innstillingar", + "show-email": "Vis e-posten min", + "show-fullname": "Vis fullt namn", + "restrict-chats": "Tillat berre chatmeldingar frå brukarar eg følgjer", + "digest-label": "Abonner på oppsummering", + "digest-description": "Abonner på e-postoppdateringar for dette forumet (nye varsel og emne) etter ei fastsett tidsplan", + "digest-off": "Av", + "digest-daily": "Dagleg", + "digest-weekly": "Vekentleg", + "digest-biweekly": "Kvar andre veke", + "digest-monthly": "Månadleg", + "has-no-follower": "Denne brukaren har ingen følgjarar :(", + "follows-no-one": "Denne brukaren følgjer ingen :(", + "has-no-posts": "Denne brukaren har ikkje lagt inn noko enno.", + "has-no-best-posts": "Denne brukaren har inga innlegg med oppstemmer enno.", + "has-no-topics": "Denne brukaren har ikkje lagt ut nokre emne enno.", + "has-no-watched-topics": "Denne brukaren følgjer ingen emne enno.", + "has-no-ignored-topics": "Denne brukaren ignorerer ingen emne enno.", + "has-no-read-topics": "Denne brukaren har ikkje lese nokre emne enno.", + "has-no-upvoted-posts": "Denne brukaren har ikkje stemt opp nokre innlegg enno.", + "has-no-downvoted-posts": "Denne brukaren har ikkje stemt ned nokre innlegg enno.", + "has-no-controversial-posts": "Denne brukaren har inga kontroversielle innlegg enno.", + "has-no-blocks": "Du har ikkje blokkert nokon brukarar.", + "email-hidden": "E-post skjult", + "hidden": "skjult", + "paginate-description": "Del emne og innlegg i sider i staden for å bruke uendeleg rulling", + "topics-per-page": "Emne per side", + "posts-per-page": "Innlegg per side", + "category-topic-sort": "Sortering av kategoriemne", + "topic-post-sort": "Sortering av emneinnlegg", + "max-items-per-page": "Maksimalt %1", + "acp-language": "Språk for admin-side", + "notifications": "Varsel", + "upvote-notif-freq": "Frekvens for oppstemmingsvarsel", + "upvote-notif-freq.all": "Alle oppstemmer", + "upvote-notif-freq.first": "Fyrste per innlegg", + "upvote-notif-freq.everyTen": "Kvar tiande oppstemme", + "upvote-notif-freq.threshold": "På 1, 5, 10, 25, 50, 100, 150, 200...", + "upvote-notif-freq.logarithmic": "På 10, 100, 1000...", + "upvote-notif-freq.disabled": "Deaktivert", + "browsing": "Blar innstillingar", + "open-links-in-new-tab": "Opne utgåande lenkjer i ny fane", + "enable-topic-searching": "Aktiver emnesøk", + "topic-search-help": "Om aktivert, vil emnesøk overstyre nettlesarens standard sidesøk-funksjon og tillate deg å søkje gjennom heile emnet, ikkje berre det som vert vist på skjermen", + "update-url-with-post-index": "Oppdater URL med innlegg-indeks når du blar gjennom emne", + "scroll-to-my-post": "Vis det nye innlegget etter svar", + "follow-topics-you-reply-to": "Følg emne du svarer på", + "follow-topics-you-create": "Følg emne du opprettar", + "grouptitle": "Gruppetittel", + "group-order-help": "Vel ein gruppe og bruk pilene for å ordne titlar", + "show-group-title": "Vis gruppetittel", + "hide-group-title": "Skjul gruppetittel", + "order-group-up": "Ordne gruppe opp", + "order-group-down": "Ordne gruppe ned", + "no-group-title": "Ingen gruppetittel", + "select-skin": "Velg ein stil", + "default": "Standard (%1)", + "no-skin": "Ingen stil", + "select-homepage": "Velg ei startside", + "homepage": "Startside", + "homepage-description": "Velg ei side som skal brukast som forumets startside, eller 'Ingen' for å bruke standard startsida.", + "custom-route": "Eigensett startside-rute", + "custom-route-help": "Skriv inn eit rutenamn her, utan føregåande skråstrek (t.d. \"recent\" eller \"category/2/general-discussion\")", + "sso.title": "Single Sign-on tenester", + "sso.associated": "Knytt til", + "sso.not-associated": "Klikk her for å knytte til", + "sso.dissociate": "Fjern tilknyting", + "sso.dissociate-confirm-title": "Stadfest fjerning av tilknyting", + "sso.dissociate-confirm": "Er du sikker på at du vil fjerne tilknytinga til kontoen din frå %1?", + "info.latest-flags": "Siste rapportar", + "info.profile": "Profil", + "info.post": "Innlegg", + "info.view-flag": "Sjå rapport", + "info.reported-by": "Rapportert av:", + "info.no-flags": "Ingen rapporterte innlegg funne", + "info.ban-history": "Siste utestengingshistorikk", + "info.no-ban-history": "Denne brukaren har aldri blitt utestengd", + "info.banned-until": "Utestengd til %1", + "info.banned-expiry": "Utløp", + "info.ban-expired": "Utestenging utløpt", + "info.banned-permanently": "Permanente utestenging", + "info.banned-reason-label": "Årsak", + "info.banned-no-reason": "Ingen årsak oppgitt.", + "info.mute-history": "Siste dempingshistorikk", + "info.no-mute-history": "Denne brukaren har aldri blitt dempa", + "info.muted-until": "Dempa til %1", + "info.muted-expiry": "Utløp", + "info.muted-no-reason": "Ingen årsak oppgitt.", + "info.username-history": "Brukarnamn-historikk", + "info.email-history": "E-posthistorikk", + "info.moderation-note": "Modereringsmerknad", + "info.moderation-note.success": "Moderering notat lagra", + "info.moderation-note.add": "Legg til notat", + "sessions.description": "Denne sida lar deg sjå eventuelle aktive sesjonar på dette forumet og tilbakekalle dei om naudsynt. Du kan tilbakekalle din eigen sesjon ved å logge ut av kontoen din.", + "revoke-session": "Tilbakekall sesjon", + "browser-version-on-platform": "%1 %2 på %3", + "consent.title": "Dine rettar og samtykke", + "consent.lead": "Dette forumet samlar inn og behandlar personopplysningane dine.", + "consent.intro": "Vi brukar denne informasjonen for å tilpasse opplevinga di i dette forumet, og for å knytte innlegga du lagar til brukarkontoen din. Under registreringa vart du beden om å oppgi eit brukarnamn og ei e-postadresse, og du kan òg velje å gi tilleggsinformasjon for å fullføre brukarprofilen din på denne nettstaden.

Vi oppbevarer denne informasjonen så lenge du har ein brukarkonto, og du kan når som helst trekkje tilbake samtykke ved å slette kontoen din. Du kan også be om ein kopi av bidraga dine til denne nettstaden via sida for rettar og samtykke.

Har du spørsmål eller bekymringar, er du velkomen til å ta kontakt med forumets administrasjonsteam.", + "consent.email-intro": "Av og til kan vi sende e-post til den registrerte e-postadressa di for å gi oppdateringar og/eller varsle om ny aktivitet som er relevant for deg. Du kan tilpasse frekvensen av oppsummering (inkludert å deaktivere den heilt), og velje kva slags varsel du ønskjer å motta via e-post, via innstillingane for brukarkontoen din.", + "consent.digest-frequency": "Med mindre det er endra i brukarinnstillingane dine, leverer dette forumet e-postoppsummeringar kvar %1.", + "consent.digest-off": "Med mindre det er endra i brukarinnstillingane dine, sender dette forumet ikkje ut e-postoppsummeringar", + "consent.received": "Du har gitt samtykke til at denne nettstaden kan samle inn og behandle informasjonen din. Ingen ytterlegare handling er naudsynt.", + "consent.not-received": "Du har ikkje gitt samtykke til datainnsamling og behandling. Administrasjonen kan når som helst velje å slette kontoen din for å oppfylle krav i GDPR.", + "consent.give": "Gje samtykke", + "consent.right-of-access": "Du har retten til innsyn", + "consent.right-of-access-description": "Du har rett til innsyn i alle data samla inn av denne nettstaden på førespurnad. Du kan hente ein kopi av desse dataa ved å klikke på den aktuelle knappen nedanfor.", + "consent.right-to-rectification": "Du har retten til retting", + "consent.right-to-rectification-description": "Du har rett til å endre eller oppdatere feilaktige data vi har fått frå deg. Profilen din kan oppdaterast ved å redigere profilen, og innhaldet i innlegga kan alltid redigerast. Om dette ikkje er tilfelle, ver venleg å ta kontakt med forumets administrasjon.", + "consent.right-to-erasure": "Du har retten til sletting", + "consent.right-to-erasure-description": "Du kan når som helst trekkje tilbake samtykke til datainnsamling og/eller behandling ved å slette kontoen din. Profilen din kan slettast, men innlegga dine vil bli ståande. Om du ønskjer å slette både kontoen og innhaldet ditt, ver venleg å ta kontakt med forumets administrasjon.", + "consent.right-to-data-portability": "Du har retten til dataportabilitet", + "consent.right-to-data-portability-description": "Du kan be oss om ein maskinlesbar eksport av data samla om deg og kontoen din. Du kan gjere dette ved å klikke på den aktuelle knappen nedanfor.", + "consent.export-profile": "Eksporter profil (.json)", + "consent.export-profile-success": "Eksporterer profil, du vil få ein varsel når det er ferdig.", + "consent.export-uploads": "Eksporter opplasta innhald (.zip)", + "consent.export-uploads-success": "Eksporterer opplastingar, du vil få ein varsel når det er ferdig.", + "consent.export-posts": "Eksporter innlegg (.csv)", + "consent.export-posts-success": "Eksporterer innlegg, du vil få ein varsel når det er ferdig.", + "emailUpdate.intro": "Skriv inn e-postadressa di nedanfor. Dette forumet brukar e-postadressa di for planlagte oppsummeringar og varsel, samt for kontogjenoppretting om du skulle miste passordet ditt.", + "emailUpdate.optional": "Dette feltet er valfritt. Du er ikkje forplikta til å oppgi e-postadressa di, men utan ein validert e-post vil du ikkje kunne gjenopprette kontoen eller logge inn med e-posten.", + "emailUpdate.required": "Dette feltet er obligatorisk.", + "emailUpdate.change-instructions": "Ein stadfestings-e-post vil bli sendt til e-postadressa som er oppgitt, med ei unik lenkje. Ved å bruke den lenkja vil eigarskapet av e-postadressa stadfestast, og e-posten vil bli aktivert på kontoen din. Du kan når som helst oppdatere e-posten din frå brukarinnstillingane dine.", + "emailUpdate.password-challenge": "Skriv inn passordet ditt for å stadfeste kontoeigarskap.", + "emailUpdate.pending": "E-postadressa di er ikkje stadfesta enno, men ein stadfestings-e-post er sendt. Om du ønskjer å ugyldiggjere denne førespurnaden og sende ein ny stadfestingsførespurnad, fyll ut skjemaet nedanfor." +} \ No newline at end of file diff --git a/public/language/nn-NO/users.json b/public/language/nn-NO/users.json new file mode 100644 index 0000000000..a03ad59b51 --- /dev/null +++ b/public/language/nn-NO/users.json @@ -0,0 +1,26 @@ +{ + "all-users": "Alle brukarar", + "followed-users": "Brukarar du følgjer", + "latest-users": "Siste brukarar", + "top-posters": "Mest aktive", + "most-reputation": "Mest omdømme", + "most-flags": "Flest rapporteringar", + "search": "Søk", + "enter-username": "Skriv inn eit brukarnamn for å søke", + "search-user-for-chat": "Søk etter ein brukar for å starte chat", + "load-more": "Last meir", + "users-found-search-took": "%1 brukar(ar) funne! Søket tok %2 sekund.", + "filter-by": "Filtrer etter", + "online-only": "Berre pålogga", + "invite": "Inviter", + "prompt-email": "E-postar:", + "groups-to-join": "Grupper å bli med i når invitasjonen vert akseptert:", + "invitation-email-sent": "Ein invitasjons-e-post har blitt sendt til %1", + "user-list": "Brukarliste", + "recent-topics": "Nye emne", + "popular-topics": "Populære emne", + "unread-topics": "Uleste emne", + "categories": "Kategoriar", + "tags": "Stikkord", + "no-users-found": "Ingen brukarar funne!" +} \ No newline at end of file diff --git a/public/language/pl/admin/development/info.json b/public/language/pl/admin/development/info.json index 32667ed213..a56206ad41 100644 --- a/public/language/pl/admin/development/info.json +++ b/public/language/pl/admin/development/info.json @@ -3,7 +3,7 @@ "ip": "IP %1", "nodes-responded": "%1 maszyn odpowiedziało w ciągu %2ms!", "host": "host", - "primary": "główne / uruchomione zadania", + "primary": "podstawowe / zadania", "pid": "pid", "nodejs": "nodejs", "online": "dostępny", @@ -19,6 +19,7 @@ "registered": "Zarejestrowane", "sockets": "Sockety", + "connection-count": "Liczba połączeń", "guests": "Goście", "info": "Informacja" diff --git a/public/language/pl/admin/extend/widgets.json b/public/language/pl/admin/extend/widgets.json index 4832c1169f..1eeaf5382e 100644 --- a/public/language/pl/admin/extend/widgets.json +++ b/public/language/pl/admin/extend/widgets.json @@ -12,6 +12,8 @@ "container.card": "Karta", "container.card-header": "Nagłówek karty", "container.card-body": "Treść karty", + "container.title": "Tytuł", + "container.body": "Treść", "container.alert": "Alarm", "alert.confirm-delete": "Czy na pewno chcesz usunąć ten widget?", diff --git a/public/language/pl/admin/settings/reputation.json b/public/language/pl/admin/settings/reputation.json index ecec40614b..d4270756ae 100644 --- a/public/language/pl/admin/settings/reputation.json +++ b/public/language/pl/admin/settings/reputation.json @@ -2,7 +2,14 @@ "reputation": "Ustawienia reputacji", "disable": "Wyłącz system reputacji", "disable-down-voting": "Wyłącz system głosów przeciw", - "votes-are-public": "Wszystkie głosy są publiczne", + "upvote-visibility": "Widoczność głosów za", + "upvote-visibility-all": "Wszyscy zobaczą głosy za", + "upvote-visibility-loggedin": "Tylko zalogowani zobaczą głosy za", + "upvote-visibility-privileged": "Tylko użytkownicy jak administratorzy i moderatorzy zobaczą głosy za", + "downvote-visibility": "Widoczność głosów przeciw", + "downvote-visibility-all": "Każdy zobaczy głosy przeciw", + "downvote-visibility-loggedin": "Tylko zalogowani zobaczą głosy przeciw", + "downvote-visibility-privileged": "Tylko użytkownicy jak administratorzy i moderatorzy zobaczą głosy przeciw", "thresholds": "Progi aktywności", "min-rep-upvote": "Minimalna reputacja pozwalająca głosować za postami", "upvotes-per-day": "Limit głosów za na dzień (ustaw 0 by były nielimitowane)", diff --git a/public/language/pl/error.json b/public/language/pl/error.json index 5f4f596cbf..e24145a942 100644 --- a/public/language/pl/error.json +++ b/public/language/pl/error.json @@ -153,6 +153,7 @@ "about-me-too-long": "Przepraszamy, Twój tekst „O mnie” nie może być dłuższy niż %1 znaków.", "cant-chat-with-yourself": "Nie możesz rozmawiać sam ze sobą!", "chat-restricted": "Ten użytkownik korzysta z czatu w ograniczonym zakresie. Mogą z nim rozmawiać tylko te osoby, które obserwuje.", + "chat-user-blocked": "Jesteś zablokowany(a) przez tego użytkownika.", "chat-disabled": "System rozmów jest wyłączony", "too-many-messages": "Wysłałeś zbyt wiele wiadomości, prosimy chwilę poczekać.", "invalid-chat-message": "Nieprawidłowa wiadomość", diff --git a/public/language/pl/modules.json b/public/language/pl/modules.json index 06e1de129d..3121924aa0 100644 --- a/public/language/pl/modules.json +++ b/public/language/pl/modules.json @@ -1,8 +1,9 @@ { "chat.room-id": "Pokój %1", "chat.chatting-with": "Czatuj z", - "chat.placeholder": "Wpisz tutaj wiadomość, przeciągnij i opuść obrazki, wciśnij enter aby wysłać", - "chat.placeholder.mobile": "Tutaj napisz wiadomość", + "chat.placeholder": "Wpisz treść wiadomości lub przeciągnij i upuść obrazki", + "chat.placeholder.mobile": "Wpisz treść wiadomości", + "chat.placeholder.message-room": "Wiadomość #%1", "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 i %2 innych", "chat.chat-with-usernames": "Czatuj z %1", diff --git a/public/language/pl/notifications.json b/public/language/pl/notifications.json index 093845b447..cb560d40c4 100644 --- a/public/language/pl/notifications.json +++ b/public/language/pl/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 i %3 innych dodało odpowiedzi do: %4", "user-posted-topic": "%1 stworzył nowy temat: %2", "user-edited-post": "%1 edytował post w %2", - "user-posted-topic-with-tag": "%1 stworzył nowy temat z tagiem %2", - "user-posted-topic-with-tag-dual": "%1 stworzył nowy temat z tagami %2 i %3", - "user-posted-topic-with-tag-triple": "%1 stworzył nowy temat z tagami %2, %3 i %4", - "user-posted-topic-with-tag-multiple": "%1 stworzył nowy temat z tagami %2", + "user-posted-topic-with-tag": "%1 dodał(a) %2 (tag %3)", + "user-posted-topic-with-tag-dual": "%1 dodał(a) %2 (tagi %3 i %4)", + "user-posted-topic-with-tag-triple": "%1 dodał(a) %2 (tagi %3, %4 i %5)", + "user-posted-topic-with-tag-multiple": "%1 dodał(a) %2 (tag %3)", "user-posted-topic-in-category": "%1 stworzył nowy temat w %2", "user-started-following-you": "%1 zaczął Cię obserwować.", "user-started-following-you-dual": "%1 oraz %2 zaczęli Cię obserwować.", @@ -75,6 +75,7 @@ "email-confirmed": "E-mail potwierdzony", "email-confirmed-message": "Dziękujemy za potwierdzenie maila. Twoje konto zostało aktywowane.", "email-confirm-error-message": "Wystąpił problem przy aktywacji - kod jest błędny lub przestarzały", + "email-confirm-error-message-already-validated": "Ten adres e-mail został już zweryfikowany.", "email-confirm-sent": "E-mail potwierdzający wysłany.", "none": "Żadna z opcji", "notification-only": "Tylko powiadomienie", diff --git a/public/language/pl/pages.json b/public/language/pl/pages.json index ca2380751b..fb34f5883c 100644 --- a/public/language/pl/pages.json +++ b/public/language/pl/pages.json @@ -54,6 +54,7 @@ "account/settings-of": "Zmiana ustawień %1", "account/watched": "Tematy obserwowane przez %1", "account/ignored": "Tematy zignorowane przez %1", + "account/read": "Wątek przejrzany przez %1", "account/upvoted": "Posty, za którymi zagłosował %1", "account/downvoted": "Posty, przeciw którym zagłosował %1", "account/best": "Najlepsze posty napisane przez %1", diff --git a/public/language/pl/post-queue.json b/public/language/pl/post-queue.json index a50912d7a6..2ecc50afbf 100644 --- a/public/language/pl/post-queue.json +++ b/public/language/pl/post-queue.json @@ -38,5 +38,6 @@ "remove-selected": "Usuń wybrane", "remove-selected-confirm": "Czy chcesz usunąć %1 wybranych postów?", "bulk-accept-success": "%1 postów zaakceptowanych", - "bulk-reject-success": "%1 postów odrzuconych" + "bulk-reject-success": "%1 postów odrzuconych", + "links-in-this-post": "Odnośniki w tym wpisie" } \ No newline at end of file diff --git a/public/language/pl/themes/harmony.json b/public/language/pl/themes/harmony.json index e939e1d5d6..0f207fb4fb 100644 --- a/public/language/pl/themes/harmony.json +++ b/public/language/pl/themes/harmony.json @@ -7,7 +7,8 @@ "login-register-to-search": "Aby wyszukiwać zaloguj się lub zarejestruj.", "settings.title": "Ustawienia stylu", "settings.enableQuickReply": "Włącz szybkie odpowiadanie", - "settings.enableBreadcrumbs": "Pokazuj łącza do wszystkich stron nadrzędnych", + "settings.enableBreadcrumbs": "Pokaż łącza na stronach kategorii i wątków", + "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": "Wyśrodkuj elementy nagłówka", "settings.mobileTopicTeasers": "Pokazuj zwiastuny tematów na telefonie", "settings.stickyToolbar": "Przyklejaj pasek narzędziowy", diff --git a/public/language/pl/user.json b/public/language/pl/user.json index 3a9018a475..67ab014146 100644 --- a/public/language/pl/user.json +++ b/public/language/pl/user.json @@ -43,6 +43,7 @@ "change-all": "Zmień wszystko", "watched": "Obserwowane", "ignored": "Zignorowane", + "read": "Czytaj", "default-category-watch-state": "Domyślny stan oglądania kategorii", "followers": "Obserwujący", "following": "Obserwowani", @@ -78,6 +79,7 @@ "change-password": "Zmień hasło", "change-password-error": "Błędne hasło!", "change-password-error-wrong-current": "Twoje aktualne hasło nie jest poprawne!", + "change-password-error-same-password": "Nowe hasło jest identyczne co dotychczasowe. Proszę wprowadź hasło po zmianie.", "change-password-error-match": "Hasła muszą pasować!", "change-password-error-privileges": "Nie masz uprawnień do zmiany tego hasła.", "change-password-success": "Twoje hasło zostało zaktualizowane!", @@ -113,6 +115,7 @@ "has-no-topics": "Ten użytkownik nie stworzył jeszcze żadnych tematów.", "has-no-watched-topics": "Ten użytkownik nie obserwuje jeszcze żadnych tematów.", "has-no-ignored-topics": "Użytkownik nie pominął jeszcze żadnego tematu.", + "has-no-read-topics": "Ten użytkownik póki co nie przeglądał wątków.", "has-no-upvoted-posts": "Ten użytkownik jeszcze nie głosował za w żadnym temacie.", "has-no-downvoted-posts": "Ten użytkownik jeszcze nie głosował przeciw w żadnym temacie.", "has-no-controversial-posts": "Ten użytkownik nie ma jeszcze żadnych postów z ujemną reputacją.", diff --git a/public/language/pl/users.json b/public/language/pl/users.json index 768cf44112..e89e32ff75 100644 --- a/public/language/pl/users.json +++ b/public/language/pl/users.json @@ -1,5 +1,6 @@ { "all-users": "Wszyscy użytkownicy", + "followed-users": "Śledzeni użytkownicy", "latest-users": "Nowi użytkownicy", "top-posters": "Najwięcej postów", "most-reputation": "Najwyższa reputacja", diff --git a/public/language/pt-BR/admin/admin.json b/public/language/pt-BR/admin/admin.json index 313e12bbe3..c52000cfe7 100644 --- a/public/language/pt-BR/admin/admin.json +++ b/public/language/pt-BR/admin/admin.json @@ -4,15 +4,15 @@ "acp-title": "%1 | Painel de Controle Administrativo do NodeBB", "settings-header-contents": "Conteúdos", - "changes-saved": "Changes Saved", - "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", + "changes-saved": "Alterações Salvas", + "changes-saved-message": "Suas alterações na configuração do NodeBB foram salvas.", "changes-not-saved": "Alterações não foram Salvas", "changes-not-saved-message": "O NodeBB encontrou um problema ao salvar suas alterações. (%1)", - "save-changes": "Save changes", + "save-changes": "Salvar Alterações", "min": "Min:", "max": "Max:", - "view": "View", - "edit": "Edit", - "add": "Add", - "select-icon": "Select Icon" + "view": "Visualizar", + "edit": "Editar", + "add": "Adicionar", + "select-icon": "Selecionar Ícone" } \ No newline at end of file diff --git a/public/language/pt-BR/admin/development/info.json b/public/language/pt-BR/admin/development/info.json index e1a5b6b618..e0fabb3ddb 100644 --- a/public/language/pt-BR/admin/development/info.json +++ b/public/language/pt-BR/admin/development/info.json @@ -3,7 +3,7 @@ "ip": "IP %1", "nodes-responded": "%1 nodes respondidos dentro de %2ms!", "host": "host", - "primary": "primary / run jobs", + "primary": "primary / jobs", "pid": "pid", "nodejs": "nodejs", "online": "online", @@ -19,6 +19,7 @@ "registered": "Registrado", "sockets": "Sockets", + "connection-count": "Connection Count", "guests": "Visitantes", "info": "Informação" diff --git a/public/language/pt-BR/admin/extend/widgets.json b/public/language/pt-BR/admin/extend/widgets.json index 5d0101f4b2..696246edd8 100644 --- a/public/language/pt-BR/admin/extend/widgets.json +++ b/public/language/pt-BR/admin/extend/widgets.json @@ -12,6 +12,8 @@ "container.card": "Card", "container.card-header": "Card Header", "container.card-body": "Card Body", + "container.title": "Title", + "container.body": "Body", "container.alert": "Alerta", "alert.confirm-delete": "Tem certeza de que deseja excluir este widget?", diff --git a/public/language/pt-BR/admin/settings/reputation.json b/public/language/pt-BR/admin/settings/reputation.json index 0b59ee90a0..387124d0e4 100644 --- a/public/language/pt-BR/admin/settings/reputation.json +++ b/public/language/pt-BR/admin/settings/reputation.json @@ -2,7 +2,14 @@ "reputation": "Configurações de Reputação", "disable": "Desabilitar o Sistema de Reputação", "disable-down-voting": "Desativar a Negativação", - "votes-are-public": "Todos os Votos São Públicos", + "upvote-visibility": "Up Vote visibility", + "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": "Limites às atividades", "min-rep-upvote": "Minimum reputation to upvote posts", "upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)", diff --git a/public/language/pt-BR/category.json b/public/language/pt-BR/category.json index f2badb6332..bad6452df6 100644 --- a/public/language/pt-BR/category.json +++ b/public/language/pt-BR/category.json @@ -10,15 +10,15 @@ "watch": "Acompanhar", "ignore": "Ignorar", "watching": "Acompanhar", - "tracking": "Tracking", + "tracking": "Rastreando", "not-watching": "Não Acompanhar", "ignoring": "Ignorar", - "watching.description": "Notify me of new topics.
Show topics in unread & recent", - "tracking.description": "Shows topics in unread & recent", + "watching.description": "Me notificar de novas respostas.Mostrar tópico em não-lidos.", + "tracking.description": "Mostrar tópicos em não-lidos e recentes", "not-watching.description": "Não mostrar tópicos em não-lidos, mostrar em recentes", - "ignoring.description": "Do not show topics in unread & recent", + "ignoring.description": "Não mostrar tópicos em \"não lidos\" e \"recentes\"", "watching.message": "Agora, você está acompanhando as novidades desta categoria e todas as suas subcategorias", - "tracking.message": "You are now tracking updates from this category and all subcategories", + "tracking.message": "Agora, você está acompanhando as novidades desta categoria e todas as suas subcategorias", "notwatching.message": "Agora, você não está acompanhando as novidades nem desta categoria e nem de suas subcategorias", "ignoring.message": "Agora, você está ignorando as novidades desta categorias e de todas as suas subcategorias", "watched-categories": "Categorias acompanhadas", diff --git a/public/language/pt-BR/error.json b/public/language/pt-BR/error.json index 4b8c0fb840..4bff6874c9 100644 --- a/public/language/pt-BR/error.json +++ b/public/language/pt-BR/error.json @@ -153,6 +153,7 @@ "about-me-too-long": "Desculpe, o sobre não pode ser maior que %1 caractere(s).", "cant-chat-with-yourself": "Você não pode iniciar um chat consigo mesmo!", "chat-restricted": "Este usuário restringiu suas mensagens de chat. Eles devem seguir você antes que você possa conversar com eles", + "chat-user-blocked": "You have been blocked by this user.", "chat-disabled": "O sistema de chat foi desabilitado", "too-many-messages": "Você enviou muitas mensagens, por favor aguarde um momento.", "invalid-chat-message": "Mensagem de chat inválida", diff --git a/public/language/pt-BR/modules.json b/public/language/pt-BR/modules.json index 3d803930c0..26eb190f69 100644 --- a/public/language/pt-BR/modules.json +++ b/public/language/pt-BR/modules.json @@ -1,8 +1,9 @@ { "chat.room-id": "Room %1", "chat.chatting-with": "Conversar com", - "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", - "chat.placeholder.mobile": "Type chat message here", + "chat.placeholder": "Type chat message here, drag & drop images", + "chat.placeholder.mobile": "Type chat message", + "chat.placeholder.message-room": "Message #%1", "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", diff --git a/public/language/pt-BR/notifications.json b/public/language/pt-BR/notifications.json index b310b45bce..5c24e081f8 100644 --- a/public/language/pt-BR/notifications.json +++ b/public/language/pt-BR/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 postou um novo tópico: %2", "user-edited-post": "%1 editou um post em %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 começou a seguir você.", "user-started-following-you-dual": "%1 e %2 começaram a lhe acompanhar.", @@ -75,6 +75,7 @@ "email-confirmed": "Email Confirmado", "email-confirmed-message": "Obrigado por validar o seu email. Agora sua conta está plenamente ativada.", "email-confirm-error-message": "Houve um problema ao validar o seu endereço de email. Talvez o código era invalido ou tenha expirado.", + "email-confirm-error-message-already-validated": "Your email address was already validated.", "email-confirm-sent": "Email de confirmação enviado.", "none": "Nenhum", "notification-only": "Apenas Notificações", diff --git a/public/language/pt-BR/pages.json b/public/language/pt-BR/pages.json index 7970240236..cb14df1b5e 100644 --- a/public/language/pt-BR/pages.json +++ b/public/language/pt-BR/pages.json @@ -54,6 +54,7 @@ "account/settings-of": "Changing settings of %1", "account/watched": "Tópicos assistidos por %1", "account/ignored": "Tópicos ignorados por %1", + "account/read": "Topics read by %1", "account/upvoted": "Posts votados positivamente por %1", "account/downvoted": "Posts votados negativamente por %1", "account/best": "Melhores posts de %1", diff --git a/public/language/pt-BR/post-queue.json b/public/language/pt-BR/post-queue.json index 795ee1c8dc..7b6c12f7d7 100644 --- a/public/language/pt-BR/post-queue.json +++ b/public/language/pt-BR/post-queue.json @@ -38,5 +38,6 @@ "remove-selected": "Remove Selected", "remove-selected-confirm": "Do you want to remove %1 selected posts?", "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" } \ No newline at end of file diff --git a/public/language/pt-BR/themes/harmony.json b/public/language/pt-BR/themes/harmony.json index 4e75b9f716..01038d7641 100644 --- a/public/language/pt-BR/themes/harmony.json +++ b/public/language/pt-BR/themes/harmony.json @@ -7,7 +7,8 @@ "login-register-to-search": "Login or register to search.", "settings.title": "Theme settings", "settings.enableQuickReply": "Enable quick reply", - "settings.enableBreadcrumbs": "Enable breadcrumbs", + "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.mobileTopicTeasers": "Show topic teasers on mobile", "settings.stickyToolbar": "Sticky toolbar", diff --git a/public/language/pt-BR/topic.json b/public/language/pt-BR/topic.json index 5413887db1..1bf116660c 100644 --- a/public/language/pt-BR/topic.json +++ b/public/language/pt-BR/topic.json @@ -15,14 +15,14 @@ "replies-to-this-post": "%1 Respostas", "one-reply-to-this-post": "1 Resposta", "last-reply-time": "Última resposta", - "reply-options": "Reply options", + "reply-options": "Opções de resposta", "reply-as-topic": "Responder como tópico", "guest-login-reply": "Entre para responder", "login-to-view": "🔒 Entre para ver", "edit": "Editar", "delete": "Deletar", - "delete-event": "Delete Event", - "delete-event-confirm": "Are you sure you want to delete this event?", + "delete-event": "Deletar Evento", + "delete-event-confirm": "Tem certeza que deseja deletar este evento?", "purge": "Expurgar", "restore": "Restaurar", "move": "Mover", @@ -38,42 +38,42 @@ "deleted": "Deleted", "moved": "Movido", "moved-from": "Movido de %1", - "copy-code": "Copy Code", + "copy-code": "Copiar Código", "copy-ip": "Copiar IP", "ban-ip": "Banir IP", "view-history": "Histórico de Edição", - "wrote-ago": "wrote ", - "wrote-on": "wrote on ", - "replied-to-user-ago": "replied to %3 ", - "replied-to-user-on": "replied to %3 on ", - "user-locked-topic-ago": "%1 locked this topic %2", - "user-locked-topic-on": "%1 locked this topic on %2", - "user-unlocked-topic-ago": "%1 unlocked this topic %2", - "user-unlocked-topic-on": "%1 unlocked this topic on %2", - "user-pinned-topic-ago": "%1 pinned this topic %2", - "user-pinned-topic-on": "%1 pinned this topic on %2", - "user-unpinned-topic-ago": "%1 unpinned this topic %2", - "user-unpinned-topic-on": "%1 unpinned this topic on %2", - "user-deleted-topic-ago": "%1 deleted this topic %2", - "user-deleted-topic-on": "%1 deleted this topic on %2", - "user-restored-topic-ago": "%1 restored this topic %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-on": "%1 moved this topic from %2 on %3", - "user-queued-post-ago": "%1 queued post for approval %3", - "user-queued-post-on": "%1 queued post for approval on %3", - "user-referenced-topic-ago": "%1 referenced this topic %3", - "user-referenced-topic-on": "%1 referenced this topic on %3", - "user-forked-topic-ago": "%1 forked this topic %3", - "user-forked-topic-on": "%1 forked this topic on %3", + "wrote-ago": "escreveu ", + "wrote-on": "escreveu em ", + "replied-to-user-ago": "respondeu para %3 ", + "replied-to-user-on": "respondeu para %3 on ", + "user-locked-topic-ago": "%1 trancou este tópico %2", + "user-locked-topic-on": "%1 trancou este tópico em %2", + "user-unlocked-topic-ago": "%1 destrancou este tópico %2", + "user-unlocked-topic-on": "%1 destrancou este tópico em %2", + "user-pinned-topic-ago": "%1 fixou este tópico %2", + "user-pinned-topic-on": "%1 fixou este tópico em %2", + "user-unpinned-topic-ago": "%1 desfixou este tópico %2", + "user-unpinned-topic-on": "%1 desfixou este tópico em %2", + "user-deleted-topic-ago": "%1 deletou este tópico %2", + "user-deleted-topic-on": "%1 deletou este tópico em %2", + "user-restored-topic-ago": "%1 restaurou este tópico %2", + "user-restored-topic-on": "%1 restaurou este tópico em %2", + "user-moved-topic-from-ago": "%1 moveu este tópico de %2 %3", + "user-moved-topic-from-on": "%1 moveu este tópico de %2 em %3", + "user-queued-post-ago": "%1 enfileirou post para aprovação %3", + "user-queued-post-on": "%1 enfileirou post para aprovação em %3", + "user-referenced-topic-ago": "%1 referenciou este tópico %3", + "user-referenced-topic-on": "%1 referenciou este tópico em %3", + "user-forked-topic-ago": "%1 ramificou este tópico %3", + "user-forked-topic-on": "%1 ramificou este tópico em %3", "bookmark-instructions": "Clique aqui para retornar ao último post lido neste tópico.", "flag-post": "Marque este post", "flag-user": "Marque este usuário", "already-flagged": "Já marcado", "view-flag-report": "Ver Relatório da Sinalização", "resolve-flag": "Resolver marcação", - "merged-message": "Este tópico foi fundido com %2", - "forked-message": "This topic was forked from %2", + "merged-message": "Este tópico foi mesclado com %2", + "forked-message": "Este tópico foi ramificado de %2", "deleted-message": "Este tópico foi deletado. Apenas usuários com privilégios de moderação de tópico podem vê-lo.", "following-topic.message": "Agora você receberá notificações quando alguém responder este tópico.", "not-following-topic.message": "Você verá este tópico na lista de tópicos não-lidos, mas você não receberá notificações quando alguém postar no tópico.", @@ -105,7 +105,7 @@ "thread-tools.change-owner": "Trocar proprietário", "thread-tools.select-category": "Escolha a Categoria", "thread-tools.fork": "Ramificar Tópico", - "thread-tools.tag": "Tag Topic", + "thread-tools.tag": "Definir Tag", "thread-tools.delete": "Deletar Tópico", "thread-tools.delete-posts": "Deletar Posts", "thread-tools.delete-confirm": "Tem certeza que deseja excluir este tópico?", @@ -114,7 +114,7 @@ "thread-tools.purge": "Expurgar Tópico", "thread-tools.purge-confirm": "Tem certeza que deseja expurgar este tópico?", "thread-tools.merge-topics": "Mesclar Tópicos", - "thread-tools.merge": "Merge Topic", + "thread-tools.merge": "Mesclar Tópico", "topic-move-success": "Este tópico será movido para '% 1' em breve. Clique aqui para desfazer.", "topic-move-multiple-success": "Esses tópicos serão movidos para '%1' em breve. Clique aqui para desfazer.", "topic-move-all-success": "Todos os tópicos serão movidos para '%1' em breve. Clique aqui para desfazer.", @@ -132,7 +132,7 @@ "bookmark": "Favorito", "bookmarks": "Favoritos", "bookmarks.has-no-bookmarks": "Você ainda não adicionou quaisquer posts aos favoritos.", - "copy-permalink": "Copy Permalink", + "copy-permalink": "Copiar Permalink", "loading-more-posts": "Carregando Mais Posts", "move-topic": "Mover Tópico", "move-topics": "Mover Tópicos", @@ -140,7 +140,7 @@ "post-moved": "Post movido!", "fork-topic": "Ramificar Tópico", "enter-new-topic-title": "Insira o novo título do tópico", - "fork-topic-instruction": "Click the posts you want to fork, enter a title for the new topic and click fork topic", + "fork-topic-instruction": "Click nos posts que você quer ramificar, entre um novo título para o novo tópico e click em ramificar tópico", "fork-no-pids": "Nenhum post selecionado!", "no-posts-selected": "Nenhum post selecionado!", "x-posts-selected": "%1 post(s) selecionados", @@ -155,19 +155,19 @@ "merge-new-title-for-topic": "Novo título para o tópico", "topic-id": "ID do Tópico", "move-posts-instruction": "Clique nas postagens que deseja mover e insira um ID de tópico ou vá para o tópico de destino", - "move-topic-instruction": "Select the target category and then click move", + "move-topic-instruction": "Selecione a categoria destino e click em mover", "change-owner-instruction": "Clique na postagem que você quer associar a outro usuário", "composer.title-placeholder": "Digite aqui o título para o seu tópico...", "composer.handle-placeholder": "Digite seu nome/usuário aqui", - "composer.hide": "Hide", + "composer.hide": "Esconder", "composer.discard": "Descartar", "composer.submit": "Enviar", - "composer.additional-options": "Additional Options", - "composer.post-later": "Post Later", + "composer.additional-options": "Opções Adicionais", + "composer.post-later": "Postar mais tarde", "composer.schedule": "Agendar", "composer.replying-to": "Respondendo para %1", "composer.new-topic": "Novo Tópico", - "composer.editing-in": "Editing post in %1", + "composer.editing-in": "Editando post em %1", "composer.uploading": "enviando...", "composer.thumb-url-label": "Cole o endereço de um thumbnail para o tópico", "composer.thumb-title": "Adicionar um thumbnail para este tópico", @@ -186,7 +186,7 @@ "recently-created": "Recently Created", "most-votes": "Mais Votados", "most-posts": "Mais Postagens", - "most-views": "Most Views", + "most-views": "Mais Views", "stale.title": "Criar um novo tópico ao invés disso?", "stale.warning": "O tópico que você está respondendo é bem antigo. Você gostaria de criar um novo tópico ao invés disso, e referenciá-lo em sua resposta?", "stale.create": "Criar um novo tópico", @@ -206,12 +206,12 @@ "timeago-earlier": "%1 mais cedo", "first-post": "Primeiro post", "last-post": "Último post", - "go-to-my-next-post": "Go to my next post", - "no-more-next-post": "You don't have more posts in this topic", + "go-to-my-next-post": "Ir para o meu próximo post", + "no-more-next-post": "Você não tem mais posts nesse tópico", "open-composer": "Open composer", "post-quick-reply": "Resposta rápida", - "navigator.index": "Post %1 of %2", - "navigator.unread": "%1 unread", + "navigator.index": "Post %1 de %2", + "navigator.unread": "%1 não lida", "upvote-post": "Upvote post", "downvote-post": "Downvote post", "post-tools": "Post tools", diff --git a/public/language/pt-BR/user.json b/public/language/pt-BR/user.json index 07e8be4f25..4bdce6c59c 100644 --- a/public/language/pt-BR/user.json +++ b/public/language/pt-BR/user.json @@ -43,6 +43,7 @@ "change-all": "Mudar Tudo", "watched": "Acompanhado", "ignored": "Ignorado", + "read": "Read", "default-category-watch-state": "Configuração padrão em relação a acompanhar as novidades das categorias", "followers": "Seguidores", "following": "Seguindo", @@ -78,6 +79,7 @@ "change-password": "Alterar Senha", "change-password-error": "Senha Inválida!", "change-password-error-wrong-current": "Sua senha atual está incorreta!", + "change-password-error-same-password": "Your new password matches your current password, please use a new password.", "change-password-error-match": "As senhas devem conferir!", "change-password-error-privileges": "Você não possui permissões para alterar esta senha.", "change-password-success": "Sua senha foi alterada!", @@ -113,6 +115,7 @@ "has-no-topics": "Esse usuário ainda não postou quaisquer tópicos.", "has-no-watched-topics": "Esse usuário ainda não acompanhou quaisquer tópicos.", "has-no-ignored-topics": "O usuário ainda não ignorou nenhum tópico.", + "has-no-read-topics": "This user hasn't read any topics yet.", "has-no-upvoted-posts": "Este usuário ainda não votou positivamente em quaisquer posts.", "has-no-downvoted-posts": "Este usuário ainda não votou negativamente em quaisquer posts.", "has-no-controversial-posts": "This user does not have any downvoted posts yet.", diff --git a/public/language/pt-BR/users.json b/public/language/pt-BR/users.json index 282fb46d5e..19ba354d54 100644 --- a/public/language/pt-BR/users.json +++ b/public/language/pt-BR/users.json @@ -1,5 +1,6 @@ { "all-users": "All Users", + "followed-users": "Followed Users", "latest-users": "Últimos Usuários", "top-posters": "Principais Participantes", "most-reputation": "Maior Reputação", diff --git a/public/language/pt-PT/admin/development/info.json b/public/language/pt-PT/admin/development/info.json index e88ef6e50d..9dc6b6665e 100644 --- a/public/language/pt-PT/admin/development/info.json +++ b/public/language/pt-PT/admin/development/info.json @@ -3,7 +3,7 @@ "ip": "IP %1", "nodes-responded": "%1 nós responderam dentro de %2ms!", "host": "host", - "primary": "primary / run jobs", + "primary": "primary / jobs", "pid": "pid", "nodejs": "nodejs", "online": "online", @@ -19,6 +19,7 @@ "registered": "Registados", "sockets": "Sockets", + "connection-count": "Connection Count", "guests": "Convidados", "info": "Informação" diff --git a/public/language/pt-PT/admin/extend/widgets.json b/public/language/pt-PT/admin/extend/widgets.json index f3c1c84836..dc5e4376ee 100644 --- a/public/language/pt-PT/admin/extend/widgets.json +++ b/public/language/pt-PT/admin/extend/widgets.json @@ -12,6 +12,8 @@ "container.card": "Card", "container.card-header": "Card Header", "container.card-body": "Card Body", + "container.title": "Title", + "container.body": "Body", "container.alert": "Alert", "alert.confirm-delete": "Tens a certeza que desejas eliminar este widget?", diff --git a/public/language/pt-PT/admin/settings/reputation.json b/public/language/pt-PT/admin/settings/reputation.json index c417c4a61d..845c51d9cb 100644 --- a/public/language/pt-PT/admin/settings/reputation.json +++ b/public/language/pt-PT/admin/settings/reputation.json @@ -2,7 +2,14 @@ "reputation": "Definições de Reputação", "disable": "Desativar Sistema de Reputação", "disable-down-voting": "Desativar Votos Negativos", - "votes-are-public": "Todos os Votos São Públicos", + "upvote-visibility": "Up Vote visibility", + "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": "Limites de Atividade", "min-rep-upvote": "Minimum reputation to upvote posts", "upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)", diff --git a/public/language/pt-PT/aria.json b/public/language/pt-PT/aria.json index 6f023dcae0..74748fdd07 100644 --- a/public/language/pt-PT/aria.json +++ b/public/language/pt-PT/aria.json @@ -2,7 +2,7 @@ "post-sort-option": "Post sort option, %1", "topic-sort-option": "Topic sort option, %1", "user-avatar-for": "User avatar for %1", - "user-watched-tags": "User watched tags", + "user-watched-tags": "Etiquetas subscritas pelo utilizador", "delete-upload-button": "Delete upload button", "group-page-link-for": "Group page link for %1" } \ No newline at end of file diff --git a/public/language/pt-PT/category.json b/public/language/pt-PT/category.json index ccbb674cf4..ff3b335d39 100644 --- a/public/language/pt-PT/category.json +++ b/public/language/pt-PT/category.json @@ -7,11 +7,11 @@ "browsing": "navegação", "no-replies": "Ainda sem respostas", "no-new-posts": "Não existem publicações novas.", - "watch": "Subscrever", + "watch": "Seguir", "ignore": "Ignorar", "watching": "A seguir", "tracking": "Tracking", - "not-watching": "Não seguir", + "not-watching": "A não seguir", "ignoring": "A ignorar", "watching.description": "Notify me of new topics.
Show topics in unread & recent", "tracking.description": "Shows topics in unread & recent", diff --git a/public/language/pt-PT/error.json b/public/language/pt-PT/error.json index 4cb33961d2..0cbc6c2f40 100644 --- a/public/language/pt-PT/error.json +++ b/public/language/pt-PT/error.json @@ -153,6 +153,7 @@ "about-me-too-long": "Desculpa, o teu \"sobre mim\" não pode ser superior a %1 caracter(es).", "cant-chat-with-yourself": "Não podes conversar contigo mesmo!", "chat-restricted": "Este utilizador colocou restrições sobre as suas mensagens de chat. Ele deve primeiro seguir-te antes que possas conversar com ele", + "chat-user-blocked": "You have been blocked by this user.", "chat-disabled": "Sistema de conversas desativado", "too-many-messages": "Enviaste demasiadas mensagens, por favor espera um pouco.", "invalid-chat-message": "Mensagem de chat inválida", diff --git a/public/language/pt-PT/modules.json b/public/language/pt-PT/modules.json index 72f2a10f89..367ef43725 100644 --- a/public/language/pt-PT/modules.json +++ b/public/language/pt-PT/modules.json @@ -1,8 +1,9 @@ { "chat.room-id": "Room %1", "chat.chatting-with": "Conversar com", - "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", - "chat.placeholder.mobile": "Type chat message here", + "chat.placeholder": "Type chat message here, drag & drop images", + "chat.placeholder.mobile": "Type chat message", + "chat.placeholder.message-room": "Message #%1", "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", diff --git a/public/language/pt-PT/notifications.json b/public/language/pt-PT/notifications.json index 8f4e18c6f2..894c0a021b 100644 --- a/public/language/pt-PT/notifications.json +++ b/public/language/pt-PT/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 publicou um novo tópico: %2", "user-edited-post": "%1 editou uma publicação em %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 começou a seguir-te.", "user-started-following-you-dual": "%1 e %2 começaram a seguir-te.", @@ -75,6 +75,7 @@ "email-confirmed": "E-mail confirmado", "email-confirmed-message": "Obrigado por validares o teu endereço de e-mail. A tua conta está agora totalmente ativa.", "email-confirm-error-message": "Ocorreu um problema a validar o teu endereço de e-mail. Talvez o código seja inválido ou já tenha expirado.", + "email-confirm-error-message-already-validated": "Your email address was already validated.", "email-confirm-sent": "E-mail de confirmação enviado.", "none": "Nada", "notification-only": "Apenas Notificação", @@ -83,7 +84,7 @@ "notificationType-upvote": "Quando alguém vota positivamente numa publicação tua", "notificationType-new-topic": "Quando alguém que tu segues publica um tópico", "notificationType-new-topic-with-tag": "When a topic is posted with a tag you follow", - "notificationType-new-topic-in-category": "When a topic is posted in a category you are watching", + "notificationType-new-topic-in-category": "Quando uma nova resposta é publicada numa categoria que tu estás a seguir", "notificationType-new-reply": "Quando uma nova resposta é publicada num tópico que tu estás a seguir", "notificationType-post-edit": "Quando uma publicação é editada num tópico que estás a seguir", "notificationType-follow": "Quando alguém começa a seguir-te", diff --git a/public/language/pt-PT/pages.json b/public/language/pt-PT/pages.json index f4f2df5817..1daec053b4 100644 --- a/public/language/pt-PT/pages.json +++ b/public/language/pt-PT/pages.json @@ -41,19 +41,20 @@ "account/edit/username": "Editando o nome de utilizador de \"%1\"", "account/edit/email": "Editando o e-mail de \"%1\"", "account/info": "Informação de conta", - "account/following": "Pessoas %1 que segue", + "account/following": "Pessoas que %1 segue", "account/followers": "Pessoas que seguem %1", "account/posts": "Publicações feitas por %1", "account/latest-posts": "Últimas publicações feitas por %1", "account/topics": "Tópicos criados por %1", "account/groups": "Grupos de %1", "account/watched-categories": "Categorias subscritas por %1", - "account/watched-tags": "%1's Watched Tags", + "account/watched-tags": "Etiquetas subscritas por %1", "account/bookmarks": "Publicações marcadas de %1", "account/settings": "Definições de utilizador", "account/settings-of": "Changing settings of %1", "account/watched": "Tópicos subscritos por %1", "account/ignored": "Tópicos ignorados por %1", + "account/read": "Topics read by %1", "account/upvoted": "Publicações votadas favoravelmente por %1", "account/downvoted": "Publicações votadas negativamente por %1", "account/best": "Melhores publicações feitas por %1", diff --git a/public/language/pt-PT/post-queue.json b/public/language/pt-PT/post-queue.json index d02245963e..3a4ce53316 100644 --- a/public/language/pt-PT/post-queue.json +++ b/public/language/pt-PT/post-queue.json @@ -38,5 +38,6 @@ "remove-selected": "Remove Selected", "remove-selected-confirm": "Do you want to remove %1 selected posts?", "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" } \ No newline at end of file diff --git a/public/language/pt-PT/search.json b/public/language/pt-PT/search.json index 4d29c4d28d..72a8d4151b 100644 --- a/public/language/pt-PT/search.json +++ b/public/language/pt-PT/search.json @@ -14,7 +14,7 @@ "categories": "Categories", "all-categories": "All categories", "categories-x": "Categories: %1", - "categories-watched-categories": "Categories: Watched categories", + "categories-watched-categories": "Categorias: Categorias subscritas", "type-a-category": "Type a category", "tags": "Tags", "tags-x": "Tags: %1", diff --git a/public/language/pt-PT/tags.json b/public/language/pt-PT/tags.json index 69456e296d..863cb102a7 100644 --- a/public/language/pt-PT/tags.json +++ b/public/language/pt-PT/tags.json @@ -8,8 +8,8 @@ "no-tags": "Ainda não existem marcadores.", "select-tags": "Selecionar Marcadores", "tag-whitelist": "Tag Whitelist", - "watching": "Watching", - "not-watching": "Not Watching", + "watching": "A seguir", + "not-watching": "A não seguir", "watching.description": "Notify me of new topics.", "not-watching.description": "Do not notify me of new topics.", "following-tag.message": "You will now be receiving notifications when somebody posts a topic with this tag.", diff --git a/public/language/pt-PT/themes/harmony.json b/public/language/pt-PT/themes/harmony.json index 4e75b9f716..01038d7641 100644 --- a/public/language/pt-PT/themes/harmony.json +++ b/public/language/pt-PT/themes/harmony.json @@ -7,7 +7,8 @@ "login-register-to-search": "Login or register to search.", "settings.title": "Theme settings", "settings.enableQuickReply": "Enable quick reply", - "settings.enableBreadcrumbs": "Enable breadcrumbs", + "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.mobileTopicTeasers": "Show topic teasers on mobile", "settings.stickyToolbar": "Sticky toolbar", diff --git a/public/language/pt-PT/topic.json b/public/language/pt-PT/topic.json index 68fa758481..3ec835d1d1 100644 --- a/public/language/pt-PT/topic.json +++ b/public/language/pt-PT/topic.json @@ -81,15 +81,15 @@ "login-to-subscribe": "Por favor regista-te ou inicia sessão para subscreveres este tópico.", "markAsUnreadForAll.success": "Tópico marcado como \"não lido\" para todos.", "mark-unread": "Marcar como não lido", - "mark-unread.success": "Tópico marcado como \"não lido\".", - "watch": "Ver", - "unwatch": "Marcar como não visto", + "mark-unread.success": "Tópico marcado como não lido.", + "watch": "Seguir", + "unwatch": "Deixar de seguir", "watch.title": "Ser notificado de novas respostas neste tópicos", - "unwatch.title": "Parar de seguir este tópico", + "unwatch.title": "Deixar de seguir este tópico", "share-this-post": "Partilhar esta publicação", - "watching": "Seguir", - "not-watching": "Não seguir", - "ignoring": "Ignorar", + "watching": "A seguir", + "not-watching": "A não seguir", + "ignoring": "A ignorar", "watching.description": "Notificar-me sobre novas respostas.
Mostrar o tópico em \"não lidos\".", "not-watching.description": "Não me notificar de novas respostas.
Mostrar tópico em \"não lidos\" caso a categoria não esteja a ser ignorada.", "ignoring.description": "Não me notificar de novas respostas.
Não mostrar este tópico em \"não lidos\".", diff --git a/public/language/pt-PT/unread.json b/public/language/pt-PT/unread.json index db975be929..268569260e 100644 --- a/public/language/pt-PT/unread.json +++ b/public/language/pt-PT/unread.json @@ -10,7 +10,7 @@ "topics-marked-as-read.success": "Tópicos marcados como lidos!", "all-topics": "Todos os tópicos", "new-topics": "Novos tópicos", - "watched-topics": "Tópicos vistos", + "watched-topics": "Tópicos subscritos", "unreplied-topics": "Tópicos sem respostas", "multiple-categories-selected": "Vários Selecionados" } \ No newline at end of file diff --git a/public/language/pt-PT/user.json b/public/language/pt-PT/user.json index cc5f1654ba..f5b01b2afd 100644 --- a/public/language/pt-PT/user.json +++ b/public/language/pt-PT/user.json @@ -39,10 +39,11 @@ "reputation": "Reputação", "bookmarks": "Marcadores", "watched-categories": "Categorias subscritas", - "watched-tags": "Watched tags", + "watched-tags": "Etiquetas subscritas", "change-all": "Change All", "watched": "Subscritos", "ignored": "Ignorados", + "read": "Read", "default-category-watch-state": "Estado predefinido da subscrição de categorias", "followers": "Seguidores", "following": "Seguindo", @@ -78,6 +79,7 @@ "change-password": "Palavra-passe alterada", "change-password-error": "Palavra-passe Inválida!", "change-password-error-wrong-current": "A tua palavra-passe atual não está correta!", + "change-password-error-same-password": "Your new password matches your current password, please use a new password.", "change-password-error-match": "As palavras-passe devem coincidir!", "change-password-error-privileges": "Não tens os direitos necessários para alterar esta palavra-passe.", "change-password-success": "A tua palavra-passe foi atualizada!", @@ -113,6 +115,7 @@ "has-no-topics": "Este utilizar ainda não publicou nenhum tópico.", "has-no-watched-topics": "Este utilizador ainda não subscreveu nenhum tópico até ao momento.", "has-no-ignored-topics": "Este utilizador ainda não ignorou nenhum tópico.", + "has-no-read-topics": "This user hasn't read any topics yet.", "has-no-upvoted-posts": "Este utilizador ainda não votou favoravelmente em nenhuma publicação.", "has-no-downvoted-posts": "Este utilizador ainda não votou negativamente em nenhuma publicação.", "has-no-controversial-posts": "This user does not have any downvoted posts yet.", @@ -140,8 +143,8 @@ "topic-search-help": "Se ativada, a pesquisa dentro de tópicos irá sobrepor-se ao comportamento normal de pesquisa do browser pré-definido e irá permitir-te pesquisar ao longo de todo o tópico, em vez de pesquisar somente no que é mostrado no ecrã", "update-url-with-post-index": "Update url with post index while browsing topics", "scroll-to-my-post": "Depois de publicar uma resposta, mostrar a nova publicação", - "follow-topics-you-reply-to": "Visualizar tópicos aos quais respondeste", - "follow-topics-you-create": "Visualizar tópicos que criaste", + "follow-topics-you-reply-to": "Seguir tópicos aos quais respondeste", + "follow-topics-you-create": "Seguir tópicos que criaste", "grouptitle": "Título do grupo", "group-order-help": "Select a group and use the arrows to order titles", "show-group-title": "Show group title", diff --git a/public/language/pt-PT/users.json b/public/language/pt-PT/users.json index 1e16097101..fa138eb1a1 100644 --- a/public/language/pt-PT/users.json +++ b/public/language/pt-PT/users.json @@ -1,5 +1,6 @@ { "all-users": "All Users", + "followed-users": "Followed Users", "latest-users": "Utilizadores Recentes", "top-posters": "Top de publicadores", "most-reputation": "Maior Reputação", diff --git a/public/language/ro/admin/development/info.json b/public/language/ro/admin/development/info.json index 11202d9c3a..9834719daf 100644 --- a/public/language/ro/admin/development/info.json +++ b/public/language/ro/admin/development/info.json @@ -3,7 +3,7 @@ "ip": "IP %1", "nodes-responded": "%1 nodes responded within %2ms!", "host": "host", - "primary": "primary / run jobs", + "primary": "primary / jobs", "pid": "pid", "nodejs": "nodejs", "online": "online", @@ -19,6 +19,7 @@ "registered": "Registered", "sockets": "Sockets", + "connection-count": "Connection Count", "guests": "Guests", "info": "Info" diff --git a/public/language/ro/admin/extend/widgets.json b/public/language/ro/admin/extend/widgets.json index 5d2832feed..db72f2feb3 100644 --- a/public/language/ro/admin/extend/widgets.json +++ b/public/language/ro/admin/extend/widgets.json @@ -12,6 +12,8 @@ "container.card": "Card", "container.card-header": "Card Header", "container.card-body": "Card Body", + "container.title": "Title", + "container.body": "Body", "container.alert": "Alert", "alert.confirm-delete": "Are you sure you wish to delete this widget?", diff --git a/public/language/ro/admin/settings/reputation.json b/public/language/ro/admin/settings/reputation.json index e4fff22620..479069e3a4 100644 --- a/public/language/ro/admin/settings/reputation.json +++ b/public/language/ro/admin/settings/reputation.json @@ -2,7 +2,14 @@ "reputation": "Reputation Settings", "disable": "Disable Reputation System", "disable-down-voting": "Disable Down Voting", - "votes-are-public": "All Votes Are Public", + "upvote-visibility": "Up Vote visibility", + "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", "min-rep-upvote": "Minimum reputation to upvote posts", "upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)", diff --git a/public/language/ro/error.json b/public/language/ro/error.json index 1307ed9b4f..8f6974f87b 100644 --- a/public/language/ro/error.json +++ b/public/language/ro/error.json @@ -153,6 +153,7 @@ "about-me-too-long": "Sorry, your about me cannot be longer than %1 character(s).", "cant-chat-with-yourself": "Nu poți conversa cu tine!", "chat-restricted": "This user has restricted their chat messages. They must follow you before you can chat with them", + "chat-user-blocked": "You have been blocked by this user.", "chat-disabled": "Chat system disabled", "too-many-messages": "You have sent too many messages, please wait awhile.", "invalid-chat-message": "Invalid chat message", diff --git a/public/language/ro/modules.json b/public/language/ro/modules.json index 39a9da3cd2..c637d7e8bb 100644 --- a/public/language/ro/modules.json +++ b/public/language/ro/modules.json @@ -1,8 +1,9 @@ { "chat.room-id": "Room %1", "chat.chatting-with": "Chat with", - "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", - "chat.placeholder.mobile": "Type chat message here", + "chat.placeholder": "Type chat message here, drag & drop images", + "chat.placeholder.mobile": "Type chat message", + "chat.placeholder.message-room": "Message #%1", "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", diff --git a/public/language/ro/notifications.json b/public/language/ro/notifications.json index daa30b04d8..a4d0e1ecde 100644 --- a/public/language/ro/notifications.json +++ b/public/language/ro/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 has posted a new topic: %2", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 a început să te urmărească.", "user-started-following-you-dual": "%1 and %2 started following you.", @@ -75,6 +75,7 @@ "email-confirmed": "Email confirmat", "email-confirmed-message": "Îți mulțumim pentru validarea emailului. Contul tău este acuma activat.", "email-confirm-error-message": "A fost o problemă cu activarea adresei tale de email. Poate codul de activare a fost invalid sau expirat.", + "email-confirm-error-message-already-validated": "Your email address was already validated.", "email-confirm-sent": "Un email de confirmare a fost trimis.", "none": "None", "notification-only": "Notification Only", diff --git a/public/language/ro/pages.json b/public/language/ro/pages.json index 57816e574b..ee08627bfd 100644 --- a/public/language/ro/pages.json +++ b/public/language/ro/pages.json @@ -54,6 +54,7 @@ "account/settings-of": "Changing settings of %1", "account/watched": "Topics watched by %1", "account/ignored": "Topics ignored by %1", + "account/read": "Topics read by %1", "account/upvoted": "Posts upvoted by %1", "account/downvoted": "Posts downvoted by %1", "account/best": "Best posts made by %1", diff --git a/public/language/ro/post-queue.json b/public/language/ro/post-queue.json index 021ed0d83f..24b33da2e6 100644 --- a/public/language/ro/post-queue.json +++ b/public/language/ro/post-queue.json @@ -38,5 +38,6 @@ "remove-selected": "Remove Selected", "remove-selected-confirm": "Do you want to remove %1 selected posts?", "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" } \ No newline at end of file diff --git a/public/language/ro/themes/harmony.json b/public/language/ro/themes/harmony.json index 4e75b9f716..01038d7641 100644 --- a/public/language/ro/themes/harmony.json +++ b/public/language/ro/themes/harmony.json @@ -7,7 +7,8 @@ "login-register-to-search": "Login or register to search.", "settings.title": "Theme settings", "settings.enableQuickReply": "Enable quick reply", - "settings.enableBreadcrumbs": "Enable breadcrumbs", + "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.mobileTopicTeasers": "Show topic teasers on mobile", "settings.stickyToolbar": "Sticky toolbar", diff --git a/public/language/ro/user.json b/public/language/ro/user.json index 1eb8ceb61d..90f69180be 100644 --- a/public/language/ro/user.json +++ b/public/language/ro/user.json @@ -43,6 +43,7 @@ "change-all": "Change All", "watched": "Watched", "ignored": "Ignored", + "read": "Read", "default-category-watch-state": "Default category watch state", "followers": "Urmărit de", "following": "Îi urmărește pe", @@ -78,6 +79,7 @@ "change-password": "Schimbă Parola", "change-password-error": "Parola invalidă!", "change-password-error-wrong-current": "Parola ta curentă nu este corectă!", + "change-password-error-same-password": "Your new password matches your current password, please use a new password.", "change-password-error-match": "Parolele trebuie să se potrivească!", "change-password-error-privileges": "Nu ai nici un drept să schimbi această parolă.", "change-password-success": "Parola ta a fost actualizată!", @@ -113,6 +115,7 @@ "has-no-topics": "This user hasn't posted any topics yet.", "has-no-watched-topics": "This user hasn't watched any topics yet.", "has-no-ignored-topics": "This user hasn't ignored any topics yet.", + "has-no-read-topics": "This user hasn't read any topics yet.", "has-no-upvoted-posts": "This user hasn't upvoted any posts yet.", "has-no-downvoted-posts": "This user hasn't downvoted any posts yet.", "has-no-controversial-posts": "This user does not have any downvoted posts yet.", diff --git a/public/language/ro/users.json b/public/language/ro/users.json index 614f7160eb..fd6c6a6c58 100644 --- a/public/language/ro/users.json +++ b/public/language/ro/users.json @@ -1,5 +1,6 @@ { "all-users": "All Users", + "followed-users": "Followed Users", "latest-users": "Ultimii Utilizatori", "top-posters": "Top Utilizatori", "most-reputation": "Cei mai apreciați utilizatori", diff --git a/public/language/ru/admin/development/info.json b/public/language/ru/admin/development/info.json index 63d6faae67..a7f1481f88 100644 --- a/public/language/ru/admin/development/info.json +++ b/public/language/ru/admin/development/info.json @@ -3,7 +3,7 @@ "ip": "IP %1", "nodes-responded": "Узлов: %1. Время ответа %2мс!", "host": "хост", - "primary": "первичный", + "primary": "primary / jobs", "pid": "pid", "nodejs": "nodejs", "online": "онлайн", @@ -19,6 +19,7 @@ "registered": "Авторизованных", "sockets": "Сокеты", + "connection-count": "Connection Count", "guests": "Гостей", "info": "Сырые данные" diff --git a/public/language/ru/admin/extend/widgets.json b/public/language/ru/admin/extend/widgets.json index f6df2ce5aa..f4618d3066 100644 --- a/public/language/ru/admin/extend/widgets.json +++ b/public/language/ru/admin/extend/widgets.json @@ -12,6 +12,8 @@ "container.card": "Card", "container.card-header": "Card Header", "container.card-body": "Card Body", + "container.title": "Title", + "container.body": "Body", "container.alert": "Уведомление", "alert.confirm-delete": "Вы уверены, что хотите удалить этот виджет?", diff --git a/public/language/ru/admin/settings/post.json b/public/language/ru/admin/settings/post.json index cc80f8805f..4b6f3b5f76 100644 --- a/public/language/ru/admin/settings/post.json +++ b/public/language/ru/admin/settings/post.json @@ -4,11 +4,11 @@ "sorting.post-default": "Стандартная сортировка сообщений", "sorting.oldest-to-newest": "Сначала старые", "sorting.newest-to-oldest": "Сначала новые", - "sorting.recently-replied": "Recently Replied", - "sorting.recently-created": "Recently Created", + "sorting.recently-replied": "Недавно ответили", + "sorting.recently-created": "Недавно создано", "sorting.most-votes": "По количеству голосов", "sorting.most-posts": "По количеству сообщений", - "sorting.most-views": "Most Views", + "sorting.most-views": "Наибольшее количество просмотров", "sorting.topic-default": "Стандартная сортировка тем", "length": "Длина сообщения", "post-queue": "Очередь на публикацию", diff --git a/public/language/ru/admin/settings/reputation.json b/public/language/ru/admin/settings/reputation.json index 01fced0def..fe8b8e2807 100644 --- a/public/language/ru/admin/settings/reputation.json +++ b/public/language/ru/admin/settings/reputation.json @@ -2,7 +2,14 @@ "reputation": "Настройка системы репутации", "disable": "Выключить отслеживание репутации", "disable-down-voting": "Отключить понижение рейтинга", - "votes-are-public": "Все голоса общедоступны", + "upvote-visibility": "Up Vote visibility", + "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": "Пороговые значения", "min-rep-upvote": "Minimum reputation to upvote posts", "upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)", diff --git a/public/language/ru/error.json b/public/language/ru/error.json index 500d5ba740..f79b87f63e 100644 --- a/public/language/ru/error.json +++ b/public/language/ru/error.json @@ -153,6 +153,7 @@ "about-me-too-long": "Пожалуйста, постарайтесь уложиться в поле \"О себе\" в %1 символов.", "cant-chat-with-yourself": "Вы не можете создать чат с самим собой!", "chat-restricted": "Пользователь ограничил приём сообщений. Чтобы написать ему личное сообщение, необходимо, чтобы он был подписан на вас.", + "chat-user-blocked": "You have been blocked by this user.", "chat-disabled": "Чат выключен", "too-many-messages": "Вы отправили слишком много сообщений, подождите немного.", "invalid-chat-message": "Некорректное сообщение чата", diff --git a/public/language/ru/modules.json b/public/language/ru/modules.json index 0519451b3c..fe0dcb2f7e 100644 --- a/public/language/ru/modules.json +++ b/public/language/ru/modules.json @@ -1,8 +1,9 @@ { "chat.room-id": "Room %1", "chat.chatting-with": "Чат с", - "chat.placeholder": "Введите сообщение, перетащите изображения, нажмите enter для отправки", - "chat.placeholder.mobile": "Введите сообщение здесь", + "chat.placeholder": "Type chat message here, drag & drop images", + "chat.placeholder.mobile": "Type chat message", + "chat.placeholder.message-room": "Message #%1", "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 пользователей и %2 других", "chat.chat-with-usernames": "Чат с %1", diff --git a/public/language/ru/notifications.json b/public/language/ru/notifications.json index c24ff5f7ff..3dd958a19d 100644 --- a/public/language/ru/notifications.json +++ b/public/language/ru/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "Пользователь %1 создал новую тему: %2", "user-edited-post": " %1 отредактировал сообщение в %2 ", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "Пользователь %1 подписался на вас.", "user-started-following-you-dual": "Пользователи %1 и %2 подписались на вас.", @@ -75,6 +75,7 @@ "email-confirmed": "Электронная почта подтверждена", "email-confirmed-message": "Спасибо за подтверждение адреса электронной почты. Ваша учётная запись активирована.", "email-confirm-error-message": "Ошибка проверки адреса электронной почты. Возможно, код подтверждения введён неправильно или у него истёк срок действия.", + "email-confirm-error-message-already-validated": "Your email address was already validated.", "email-confirm-sent": "Письмо с проверочным кодом отправлено на ваш электронный адрес", "none": "Ничего", "notification-only": "Только уведомление", diff --git a/public/language/ru/pages.json b/public/language/ru/pages.json index 1964a756fc..fcd07af1e1 100644 --- a/public/language/ru/pages.json +++ b/public/language/ru/pages.json @@ -54,6 +54,7 @@ "account/settings-of": "Changing settings of %1", "account/watched": "Темы, которые %1 отслеживает", "account/ignored": "Темы, которые %1 игнорирует", + "account/read": "Topics read by %1", "account/upvoted": "Понравилось пользователю %1", "account/downvoted": "Не понравилось пользователю %1", "account/best": "Лучшие сообщения %1", diff --git a/public/language/ru/post-queue.json b/public/language/ru/post-queue.json index 991b447759..eab4436f1f 100644 --- a/public/language/ru/post-queue.json +++ b/public/language/ru/post-queue.json @@ -38,5 +38,6 @@ "remove-selected": "Удалить выделенное", "remove-selected-confirm": "Вы хотите удалить %1 выбранные записи?", "bulk-accept-success": "%1 записи одобрены", - "bulk-reject-success": "%1 записи отклонены" + "bulk-reject-success": "%1 записи отклонены", + "links-in-this-post": "Links in this post" } \ No newline at end of file diff --git a/public/language/ru/themes/harmony.json b/public/language/ru/themes/harmony.json index 4e75b9f716..01038d7641 100644 --- a/public/language/ru/themes/harmony.json +++ b/public/language/ru/themes/harmony.json @@ -7,7 +7,8 @@ "login-register-to-search": "Login or register to search.", "settings.title": "Theme settings", "settings.enableQuickReply": "Enable quick reply", - "settings.enableBreadcrumbs": "Enable breadcrumbs", + "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.mobileTopicTeasers": "Show topic teasers on mobile", "settings.stickyToolbar": "Sticky toolbar", diff --git a/public/language/ru/user.json b/public/language/ru/user.json index 309cd62e5c..56bcb61b38 100644 --- a/public/language/ru/user.json +++ b/public/language/ru/user.json @@ -43,6 +43,7 @@ "change-all": "Изменить для всех", "watched": "Отслеживаемые темы", "ignored": "Игнорируемые темы", + "read": "Read", "default-category-watch-state": "Стандартная настройка отслеживания категорий", "followers": "Подписчики", "following": "Подписки", @@ -78,6 +79,7 @@ "change-password": "Изменить пароль", "change-password-error": "Неправильный пароль!", "change-password-error-wrong-current": "Текущий пароль указан неверно!", + "change-password-error-same-password": "Your new password matches your current password, please use a new password.", "change-password-error-match": "Пароли должны совпадать!", "change-password-error-privileges": "Вы не можете изменить пароль.", "change-password-success": "Ваш пароль изменён!", @@ -113,6 +115,7 @@ "has-no-topics": "Этот пользователь ещё не создал ни одной темы.", "has-no-watched-topics": "Этот пользователь не отслеживает ни одной темы.", "has-no-ignored-topics": "Этот пользователь не игнорирует ни одну тему.", + "has-no-read-topics": "This user hasn't read any topics yet.", "has-no-upvoted-posts": "Этот пользователь ещё ни одному сообщению не поднимал рейтинг.", "has-no-downvoted-posts": "Этот пользователь ещё ни одному сообщению не понижал рейтинг.", "has-no-controversial-posts": "This user does not have any downvoted posts yet.", diff --git a/public/language/ru/users.json b/public/language/ru/users.json index 68e0e0b7e1..33982ab352 100644 --- a/public/language/ru/users.json +++ b/public/language/ru/users.json @@ -1,5 +1,6 @@ { "all-users": "All Users", + "followed-users": "Followed Users", "latest-users": "Новые пользователи", "top-posters": "Самые активные", "most-reputation": "Лучшая репутация", diff --git a/public/language/rw/admin/development/info.json b/public/language/rw/admin/development/info.json index 11202d9c3a..9834719daf 100644 --- a/public/language/rw/admin/development/info.json +++ b/public/language/rw/admin/development/info.json @@ -3,7 +3,7 @@ "ip": "IP %1", "nodes-responded": "%1 nodes responded within %2ms!", "host": "host", - "primary": "primary / run jobs", + "primary": "primary / jobs", "pid": "pid", "nodejs": "nodejs", "online": "online", @@ -19,6 +19,7 @@ "registered": "Registered", "sockets": "Sockets", + "connection-count": "Connection Count", "guests": "Guests", "info": "Info" diff --git a/public/language/rw/admin/extend/widgets.json b/public/language/rw/admin/extend/widgets.json index 5d2832feed..db72f2feb3 100644 --- a/public/language/rw/admin/extend/widgets.json +++ b/public/language/rw/admin/extend/widgets.json @@ -12,6 +12,8 @@ "container.card": "Card", "container.card-header": "Card Header", "container.card-body": "Card Body", + "container.title": "Title", + "container.body": "Body", "container.alert": "Alert", "alert.confirm-delete": "Are you sure you wish to delete this widget?", diff --git a/public/language/rw/admin/settings/reputation.json b/public/language/rw/admin/settings/reputation.json index e4fff22620..479069e3a4 100644 --- a/public/language/rw/admin/settings/reputation.json +++ b/public/language/rw/admin/settings/reputation.json @@ -2,7 +2,14 @@ "reputation": "Reputation Settings", "disable": "Disable Reputation System", "disable-down-voting": "Disable Down Voting", - "votes-are-public": "All Votes Are Public", + "upvote-visibility": "Up Vote visibility", + "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", "min-rep-upvote": "Minimum reputation to upvote posts", "upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)", diff --git a/public/language/rw/error.json b/public/language/rw/error.json index ab18e12bdb..b1f6b9290f 100644 --- a/public/language/rw/error.json +++ b/public/language/rw/error.json @@ -153,6 +153,7 @@ "about-me-too-long": "Inshamake y'Ubuzima yawe ntiyemerewe kurenza inyuguti (cyangwa ibimenyetso) %1.", "cant-chat-with-yourself": "Ntabwo wakwiganiriza!", "chat-restricted": "Uyu muntu yemerera kuganirira mu gikari n'abantu bamwe na bamwe. Agomba kuba yarahisemo kugukurikira kugirango ube wabasha kumuganiriza uciye mu gikari.", + "chat-user-blocked": "You have been blocked by this user.", "chat-disabled": "Chat system disabled", "too-many-messages": "Wohereje ubutumwa bwinshi cyane. Ba utegerejeho gato.", "invalid-chat-message": "Invalid chat message", diff --git a/public/language/rw/modules.json b/public/language/rw/modules.json index 5f531d7b66..6181e328f2 100644 --- a/public/language/rw/modules.json +++ b/public/language/rw/modules.json @@ -1,8 +1,9 @@ { "chat.room-id": "Room %1", "chat.chatting-with": "Chat with", - "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", - "chat.placeholder.mobile": "Type chat message here", + "chat.placeholder": "Type chat message here, drag & drop images", + "chat.placeholder.mobile": "Type chat message", + "chat.placeholder.message-room": "Message #%1", "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", diff --git a/public/language/rw/notifications.json b/public/language/rw/notifications.json index 94aef14349..8804f83529 100644 --- a/public/language/rw/notifications.json +++ b/public/language/rw/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 yatangije ikiganiro gishya: %2", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 yatangiye kugukurikira.", "user-started-following-you-dual": "%1 and %2 started following you.", @@ -75,6 +75,7 @@ "email-confirmed": "Email Yemejwe", "email-confirmed-message": "Urakoze kugaragaza ko email yawe ikora. Ubu ngubu konte yawe irakora nta kabuza.", "email-confirm-error-message": "Havutse ikibazo mu gushaka kumenya niba email yawe ikora. Ushobora kuba wakoresheje kode itari yo cyangwa se yarengeje igihe.", + "email-confirm-error-message-already-validated": "Your email address was already validated.", "email-confirm-sent": "Hoherejwe email yo kubyemeza.", "none": "None", "notification-only": "Notification Only", diff --git a/public/language/rw/pages.json b/public/language/rw/pages.json index 955c506a45..528056c922 100644 --- a/public/language/rw/pages.json +++ b/public/language/rw/pages.json @@ -54,6 +54,7 @@ "account/settings-of": "Changing settings of %1", "account/watched": "Ibiganiro bikurikirwa na %1", "account/ignored": "Topics ignored by %1", + "account/read": "Topics read by %1", "account/upvoted": "Ibiganiro byakunzwe na %1", "account/downvoted": "Ibiganiro byanzwe na %1", "account/best": "Ibihebuje byashyizweho na %1", diff --git a/public/language/rw/post-queue.json b/public/language/rw/post-queue.json index 021ed0d83f..24b33da2e6 100644 --- a/public/language/rw/post-queue.json +++ b/public/language/rw/post-queue.json @@ -38,5 +38,6 @@ "remove-selected": "Remove Selected", "remove-selected-confirm": "Do you want to remove %1 selected posts?", "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" } \ No newline at end of file diff --git a/public/language/rw/themes/harmony.json b/public/language/rw/themes/harmony.json index 4e75b9f716..01038d7641 100644 --- a/public/language/rw/themes/harmony.json +++ b/public/language/rw/themes/harmony.json @@ -7,7 +7,8 @@ "login-register-to-search": "Login or register to search.", "settings.title": "Theme settings", "settings.enableQuickReply": "Enable quick reply", - "settings.enableBreadcrumbs": "Enable breadcrumbs", + "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.mobileTopicTeasers": "Show topic teasers on mobile", "settings.stickyToolbar": "Sticky toolbar", diff --git a/public/language/rw/user.json b/public/language/rw/user.json index bacfa18089..dd5df13145 100644 --- a/public/language/rw/user.json +++ b/public/language/rw/user.json @@ -43,6 +43,7 @@ "change-all": "Change All", "watched": "Ibikurikiranwa", "ignored": "Ignored", + "read": "Read", "default-category-watch-state": "Default category watch state", "followers": "Abamukurikira", "following": "Akurikira", @@ -78,6 +79,7 @@ "change-password": "Hindura Ijambobanga", "change-password-error": "Ijambobanga Ritari Ryo!", "change-password-error-wrong-current": "Ijambobanga ryawe watanze nk'irisanzweho ntabwo ari ryo!", + "change-password-error-same-password": "Your new password matches your current password, please use a new password.", "change-password-error-match": "Ijambobanga ugomba kuryandukura mu buryo bumwe inshuro ebyiri!", "change-password-error-privileges": "Nta burenganzira ufite bwo guhindura iri jambobanga.", "change-password-success": "Ijambobanga ryawe ryavuguruwe!", @@ -113,6 +115,7 @@ "has-no-topics": "Uyu muntu nta kiganiro aratangiza na kimwe.", "has-no-watched-topics": "Uyu muntu ntabwo arakurikira ikiganiro na kimwe.", "has-no-ignored-topics": "This user hasn't ignored any topics yet.", + "has-no-read-topics": "This user hasn't read any topics yet.", "has-no-upvoted-posts": "Uyu muntu ntabwo arashima icyashyizweho na kimwe.", "has-no-downvoted-posts": "Uyu muntu ntabwo aragaya icyashizweho na kimwe.", "has-no-controversial-posts": "This user does not have any downvoted posts yet.", diff --git a/public/language/rw/users.json b/public/language/rw/users.json index 5dca0e9e97..e26b0fa4ae 100644 --- a/public/language/rw/users.json +++ b/public/language/rw/users.json @@ -1,5 +1,6 @@ { "all-users": "All Users", + "followed-users": "Followed Users", "latest-users": "Abantu Bashya", "top-posters": "Abashyizeho Byinshi", "most-reputation": "Abafite Amanota Menshi", diff --git a/public/language/sc/admin/development/info.json b/public/language/sc/admin/development/info.json index 11202d9c3a..9834719daf 100644 --- a/public/language/sc/admin/development/info.json +++ b/public/language/sc/admin/development/info.json @@ -3,7 +3,7 @@ "ip": "IP %1", "nodes-responded": "%1 nodes responded within %2ms!", "host": "host", - "primary": "primary / run jobs", + "primary": "primary / jobs", "pid": "pid", "nodejs": "nodejs", "online": "online", @@ -19,6 +19,7 @@ "registered": "Registered", "sockets": "Sockets", + "connection-count": "Connection Count", "guests": "Guests", "info": "Info" diff --git a/public/language/sc/admin/extend/widgets.json b/public/language/sc/admin/extend/widgets.json index 5d2832feed..db72f2feb3 100644 --- a/public/language/sc/admin/extend/widgets.json +++ b/public/language/sc/admin/extend/widgets.json @@ -12,6 +12,8 @@ "container.card": "Card", "container.card-header": "Card Header", "container.card-body": "Card Body", + "container.title": "Title", + "container.body": "Body", "container.alert": "Alert", "alert.confirm-delete": "Are you sure you wish to delete this widget?", diff --git a/public/language/sc/admin/settings/reputation.json b/public/language/sc/admin/settings/reputation.json index e4fff22620..479069e3a4 100644 --- a/public/language/sc/admin/settings/reputation.json +++ b/public/language/sc/admin/settings/reputation.json @@ -2,7 +2,14 @@ "reputation": "Reputation Settings", "disable": "Disable Reputation System", "disable-down-voting": "Disable Down Voting", - "votes-are-public": "All Votes Are Public", + "upvote-visibility": "Up Vote visibility", + "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", "min-rep-upvote": "Minimum reputation to upvote posts", "upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)", diff --git a/public/language/sc/error.json b/public/language/sc/error.json index f12e15c94f..674f9bec8b 100644 --- a/public/language/sc/error.json +++ b/public/language/sc/error.json @@ -153,6 +153,7 @@ "about-me-too-long": "Sorry, your about me cannot be longer than %1 character(s).", "cant-chat-with-yourself": "You can't chat with yourself!", "chat-restricted": "This user has restricted their chat messages. They must follow you before you can chat with them", + "chat-user-blocked": "You have been blocked by this user.", "chat-disabled": "Chat system disabled", "too-many-messages": "You have sent too many messages, please wait awhile.", "invalid-chat-message": "Invalid chat message", diff --git a/public/language/sc/modules.json b/public/language/sc/modules.json index 00e8a42142..b01c92446b 100644 --- a/public/language/sc/modules.json +++ b/public/language/sc/modules.json @@ -1,8 +1,9 @@ { "chat.room-id": "Room %1", "chat.chatting-with": "Chat with", - "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", - "chat.placeholder.mobile": "Type chat message here", + "chat.placeholder": "Type chat message here, drag & drop images", + "chat.placeholder.mobile": "Type chat message", + "chat.placeholder.message-room": "Message #%1", "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", diff --git a/public/language/sc/notifications.json b/public/language/sc/notifications.json index a1d860076a..4348eb1bfe 100644 --- a/public/language/sc/notifications.json +++ b/public/language/sc/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 has posted a new topic: %2", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 started following you.", "user-started-following-you-dual": "%1 and %2 started following you.", @@ -75,6 +75,7 @@ "email-confirmed": "Email Confirmed", "email-confirmed-message": "Thank you for validating your email. Your account is now fully activated.", "email-confirm-error-message": "There was a problem validating your email address. Perhaps the code was invalid or has expired.", + "email-confirm-error-message-already-validated": "Your email address was already validated.", "email-confirm-sent": "Confirmation email sent.", "none": "None", "notification-only": "Notification Only", diff --git a/public/language/sc/pages.json b/public/language/sc/pages.json index 717fae390b..12bd5646f3 100644 --- a/public/language/sc/pages.json +++ b/public/language/sc/pages.json @@ -54,6 +54,7 @@ "account/settings-of": "Changing settings of %1", "account/watched": "Topics watched by %1", "account/ignored": "Topics ignored by %1", + "account/read": "Topics read by %1", "account/upvoted": "Posts upvoted by %1", "account/downvoted": "Posts downvoted by %1", "account/best": "Best posts made by %1", diff --git a/public/language/sc/post-queue.json b/public/language/sc/post-queue.json index 021ed0d83f..24b33da2e6 100644 --- a/public/language/sc/post-queue.json +++ b/public/language/sc/post-queue.json @@ -38,5 +38,6 @@ "remove-selected": "Remove Selected", "remove-selected-confirm": "Do you want to remove %1 selected posts?", "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" } \ No newline at end of file diff --git a/public/language/sc/themes/harmony.json b/public/language/sc/themes/harmony.json index 4e75b9f716..01038d7641 100644 --- a/public/language/sc/themes/harmony.json +++ b/public/language/sc/themes/harmony.json @@ -7,7 +7,8 @@ "login-register-to-search": "Login or register to search.", "settings.title": "Theme settings", "settings.enableQuickReply": "Enable quick reply", - "settings.enableBreadcrumbs": "Enable breadcrumbs", + "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.mobileTopicTeasers": "Show topic teasers on mobile", "settings.stickyToolbar": "Sticky toolbar", diff --git a/public/language/sc/user.json b/public/language/sc/user.json index 8bcc7db6ca..3942ae1335 100644 --- a/public/language/sc/user.json +++ b/public/language/sc/user.json @@ -43,6 +43,7 @@ "change-all": "Change All", "watched": "Watched", "ignored": "Ignored", + "read": "Read", "default-category-watch-state": "Default category watch state", "followers": "Sighidores", "following": "Sighende", @@ -78,6 +79,7 @@ "change-password": "Muda Password", "change-password-error": "Invalid Password!", "change-password-error-wrong-current": "Your current password is not correct!", + "change-password-error-same-password": "Your new password matches your current password, please use a new password.", "change-password-error-match": "Passwords must match!", "change-password-error-privileges": "You do not have the rights to change this password.", "change-password-success": "Your password is updated!", @@ -113,6 +115,7 @@ "has-no-topics": "This user hasn't posted any topics yet.", "has-no-watched-topics": "This user hasn't watched any topics yet.", "has-no-ignored-topics": "This user hasn't ignored any topics yet.", + "has-no-read-topics": "This user hasn't read any topics yet.", "has-no-upvoted-posts": "This user hasn't upvoted any posts yet.", "has-no-downvoted-posts": "This user hasn't downvoted any posts yet.", "has-no-controversial-posts": "This user does not have any downvoted posts yet.", diff --git a/public/language/sc/users.json b/public/language/sc/users.json index 035176aa4d..57a5f5c15f 100644 --- a/public/language/sc/users.json +++ b/public/language/sc/users.json @@ -1,5 +1,6 @@ { "all-users": "All Users", + "followed-users": "Followed Users", "latest-users": "Ùrtimos Impitadores", "top-posters": "Prus Ativos", "most-reputation": "Prus Famados", diff --git a/public/language/sk/admin/development/info.json b/public/language/sk/admin/development/info.json index 62f5cb9863..c6dbfd349e 100644 --- a/public/language/sk/admin/development/info.json +++ b/public/language/sk/admin/development/info.json @@ -3,7 +3,7 @@ "ip": "IP %1", "nodes-responded": "%1 väzieb odpovedalo počas %2ms.", "host": "hosť", - "primary": "primary / run jobs", + "primary": "primary / jobs", "pid": "pid", "nodejs": "nodejs", "online": "pripojený", @@ -19,6 +19,7 @@ "registered": "Registrovaný", "sockets": "Sockety", + "connection-count": "Connection Count", "guests": "Hostia", "info": "Informácie" diff --git a/public/language/sk/admin/extend/widgets.json b/public/language/sk/admin/extend/widgets.json index fdb09c542c..4c86a0225c 100644 --- a/public/language/sk/admin/extend/widgets.json +++ b/public/language/sk/admin/extend/widgets.json @@ -12,6 +12,8 @@ "container.card": "Card", "container.card-header": "Card Header", "container.card-body": "Card Body", + "container.title": "Title", + "container.body": "Body", "container.alert": "Upozornenie", "alert.confirm-delete": "Ste si istý že chcete zmazať túto miniaplikáciu?", diff --git a/public/language/sk/admin/settings/reputation.json b/public/language/sk/admin/settings/reputation.json index 69ef3fad85..b713f2292d 100644 --- a/public/language/sk/admin/settings/reputation.json +++ b/public/language/sk/admin/settings/reputation.json @@ -2,7 +2,14 @@ "reputation": "Nastavenie reputácie", "disable": "Zakázať systém reputácie", "disable-down-voting": "Zakázať hlasovanie", - "votes-are-public": "Všetky hlasovania sú verejné", + "upvote-visibility": "Up Vote visibility", + "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": "Obmedzenie aktivity", "min-rep-upvote": "Minimum reputation to upvote posts", "upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)", diff --git a/public/language/sk/error.json b/public/language/sk/error.json index ca5bfff09a..52f1beddd2 100644 --- a/public/language/sk/error.json +++ b/public/language/sk/error.json @@ -153,6 +153,7 @@ "about-me-too-long": "Prepáčte, ale Vaše 'O mne' nemôže byť dlhšie ako %1 znaky(ov).", "cant-chat-with-yourself": "Nemôžete sa rozprávať so samým sebou!", "chat-restricted": "Tento používateľ obmedzil svoje správy v konverzácií. Musí Vás sledovať, aby ste sa s ním mohli rozprávať", + "chat-user-blocked": "You have been blocked by this user.", "chat-disabled": "Systém konverzácií je zablokovaný", "too-many-messages": "Odoslali ste príliš veľa správ, počkajte chvíľu prosím.", "invalid-chat-message": "Neplatná správa konverzácie", diff --git a/public/language/sk/modules.json b/public/language/sk/modules.json index 76abdaac69..1070b9f944 100644 --- a/public/language/sk/modules.json +++ b/public/language/sk/modules.json @@ -1,8 +1,9 @@ { "chat.room-id": "Room %1", "chat.chatting-with": "Konverzácia s", - "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", - "chat.placeholder.mobile": "Type chat message here", + "chat.placeholder": "Type chat message here, drag & drop images", + "chat.placeholder.mobile": "Type chat message", + "chat.placeholder.message-room": "Message #%1", "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", diff --git a/public/language/sk/notifications.json b/public/language/sk/notifications.json index de66fd4959..2ff5c2fe6f 100644 --- a/public/language/sk/notifications.json +++ b/public/language/sk/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 pridal novú tému: %2", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 Vás začal sledovať.", "user-started-following-you-dual": "%1 a %2 Vás začali sledovať.", @@ -75,6 +75,7 @@ "email-confirmed": "E-mail bol potvrdený", "email-confirmed-message": "Ďakujeme za potvrdenie Vášho e-mailu. Váš účet je teraz aktivovaný.", "email-confirm-error-message": "Vyskytla sa chyba pri overení Vašej e-mailovej adresy.", + "email-confirm-error-message-already-validated": "Your email address was already validated.", "email-confirm-sent": "Potvrdzovací e-mail bol odoslaný.", "none": "Nič", "notification-only": "Iba oznámenia", diff --git a/public/language/sk/pages.json b/public/language/sk/pages.json index 2795c44093..b01e94fde7 100644 --- a/public/language/sk/pages.json +++ b/public/language/sk/pages.json @@ -54,6 +54,7 @@ "account/settings-of": "Changing settings of %1", "account/watched": "Témy sledované používateľom %1", "account/ignored": "Témy ignorované používateľom %1", + "account/read": "Topics read by %1", "account/upvoted": "Príspevky, ktorým používateľ %1 dal hlas", "account/downvoted": "Nesúhlasí s príspevkom %1", "account/best": "Najlepšie príspevky vytvorené užívateľom %1", diff --git a/public/language/sk/post-queue.json b/public/language/sk/post-queue.json index ff8a841770..e39c5428d5 100644 --- a/public/language/sk/post-queue.json +++ b/public/language/sk/post-queue.json @@ -38,5 +38,6 @@ "remove-selected": "Remove Selected", "remove-selected-confirm": "Do you want to remove %1 selected posts?", "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" } \ No newline at end of file diff --git a/public/language/sk/themes/harmony.json b/public/language/sk/themes/harmony.json index 4e75b9f716..01038d7641 100644 --- a/public/language/sk/themes/harmony.json +++ b/public/language/sk/themes/harmony.json @@ -7,7 +7,8 @@ "login-register-to-search": "Login or register to search.", "settings.title": "Theme settings", "settings.enableQuickReply": "Enable quick reply", - "settings.enableBreadcrumbs": "Enable breadcrumbs", + "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.mobileTopicTeasers": "Show topic teasers on mobile", "settings.stickyToolbar": "Sticky toolbar", diff --git a/public/language/sk/user.json b/public/language/sk/user.json index d20fa88acd..7f2619410d 100644 --- a/public/language/sk/user.json +++ b/public/language/sk/user.json @@ -43,6 +43,7 @@ "change-all": "Change All", "watched": "Sledované", "ignored": "Ignorovaný", + "read": "Read", "default-category-watch-state": "Default category watch state", "followers": "Nasledovatelia", "following": "Nasleduje", @@ -78,6 +79,7 @@ "change-password": "Zmeniť heslo", "change-password-error": "Nesprávne heslo!", "change-password-error-wrong-current": "Vaše súčasné heslo nie je správne", + "change-password-error-same-password": "Your new password matches your current password, please use a new password.", "change-password-error-match": "Heslá sa musia zhodovať!", "change-password-error-privileges": "Nemáte práva na zmenu hesla.", "change-password-success": "Vaše heslo je aktualizované.", @@ -113,6 +115,7 @@ "has-no-topics": "Tento užívateľ doteraz nezverejnil žiadne témy.", "has-no-watched-topics": "Tento užívateľ zatiaľ nesleduje žiadne témy.", "has-no-ignored-topics": "Tento používateľ neignoruje žiadne témy.", + "has-no-read-topics": "This user hasn't read any topics yet.", "has-no-upvoted-posts": "Tento užívateľ doteraz nedal hlas žiadnemu príspevku.", "has-no-downvoted-posts": "Tento užívateľ doteraz neodobral hlas žiadnemu príspevku.", "has-no-controversial-posts": "This user does not have any downvoted posts yet.", diff --git a/public/language/sk/users.json b/public/language/sk/users.json index 8c94039b7a..a763f4b1d3 100644 --- a/public/language/sk/users.json +++ b/public/language/sk/users.json @@ -1,5 +1,6 @@ { "all-users": "All Users", + "followed-users": "Followed Users", "latest-users": "Najnovší používatelia", "top-posters": "Najaktívnejší", "most-reputation": "Najváženejší", diff --git a/public/language/sl/admin/development/info.json b/public/language/sl/admin/development/info.json index 4c469cc598..f53089170f 100644 --- a/public/language/sl/admin/development/info.json +++ b/public/language/sl/admin/development/info.json @@ -3,7 +3,7 @@ "ip": "IP %1", "nodes-responded": "%1 vozlišč se je odzvalo v %2ms!", "host": "gostitelj", - "primary": "primary / run jobs", + "primary": "primary / jobs", "pid": "pid", "nodejs": "nodejs", "online": "na spletu", @@ -19,6 +19,7 @@ "registered": "Registrirani", "sockets": "Vtičnice", + "connection-count": "Connection Count", "guests": "Gostje", "info": "Info" diff --git a/public/language/sl/admin/extend/widgets.json b/public/language/sl/admin/extend/widgets.json index f05bbacafe..8774ef80e1 100644 --- a/public/language/sl/admin/extend/widgets.json +++ b/public/language/sl/admin/extend/widgets.json @@ -12,6 +12,8 @@ "container.card": "Card", "container.card-header": "Card Header", "container.card-body": "Card Body", + "container.title": "Title", + "container.body": "Body", "container.alert": "Opozorilo", "alert.confirm-delete": "Ste prepričani, da želite izbrisati ta pripomoček?", diff --git a/public/language/sl/admin/settings/reputation.json b/public/language/sl/admin/settings/reputation.json index fff75edb9f..56408e4823 100644 --- a/public/language/sl/admin/settings/reputation.json +++ b/public/language/sl/admin/settings/reputation.json @@ -2,7 +2,14 @@ "reputation": "Nastavitve ugleda", "disable": "Onemogoči sistem ugleda", "disable-down-voting": "Onemogoči glasovanje proti", - "votes-are-public": "Vsi glasovi so javni", + "upvote-visibility": "Up Vote visibility", + "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", "min-rep-upvote": "Minimum reputation to upvote posts", "upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)", diff --git a/public/language/sl/error.json b/public/language/sl/error.json index 3b9a8bb15e..c55a6e4804 100644 --- a/public/language/sl/error.json +++ b/public/language/sl/error.json @@ -153,6 +153,7 @@ "about-me-too-long": "Rubrika O meni je predolga. Največje število znakov: %1.", "cant-chat-with-yourself": "Ne morete klepetati s seboj!", "chat-restricted": "Uporabnik je omejil klepetanje. Za možnost klepeta vas mora uporabnik spremljati.", + "chat-user-blocked": "You have been blocked by this user.", "chat-disabled": "Klepet je onemogočen.", "too-many-messages": "Poslali ste preveč sporočil, prosimo, počakajte nekaj časa.", "invalid-chat-message": "Neveljavno sporočilo klepeta", diff --git a/public/language/sl/modules.json b/public/language/sl/modules.json index a95028d95f..a15faa5681 100644 --- a/public/language/sl/modules.json +++ b/public/language/sl/modules.json @@ -1,8 +1,9 @@ { "chat.room-id": "Room %1", "chat.chatting-with": "Klepetajte z", - "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", - "chat.placeholder.mobile": "Type chat message here", + "chat.placeholder": "Type chat message here, drag & drop images", + "chat.placeholder.mobile": "Type chat message", + "chat.placeholder.message-room": "Message #%1", "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", diff --git a/public/language/sl/notifications.json b/public/language/sl/notifications.json index 2f8f6337f3..11c3b0bd56 100644 --- a/public/language/sl/notifications.json +++ b/public/language/sl/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 je odprl/-a novo temo: %2.", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 te je začel/-a spremljati.", "user-started-following-you-dual": "%1 in %2 sta te začela/-i spremljati.", @@ -75,6 +75,7 @@ "email-confirmed": "E-poštni naslov potrjen", "email-confirmed-message": "Hvala, da ste potrdili svoj e-naslov. Račun je sedaj aktiviran.", "email-confirm-error-message": "Prišlo je do napake pri preverjanju vašega e-poštnega naslova. Morda je bila koda napačna ali pa je potekla.", + "email-confirm-error-message-already-validated": "Your email address was already validated.", "email-confirm-sent": "Potrditveno e-sporočilo je poslano.", "none": "None", "notification-only": "Notification Only", diff --git a/public/language/sl/pages.json b/public/language/sl/pages.json index 6ba7ae5c4a..1be0d79cea 100644 --- a/public/language/sl/pages.json +++ b/public/language/sl/pages.json @@ -54,6 +54,7 @@ "account/settings-of": "Changing settings of %1", "account/watched": "Teme, ki jih spremlja %1", "account/ignored": "Topics ignored by %1", + "account/read": "Topics read by %1", "account/upvoted": "Objave uporabnika %1 z glasovi za", "account/downvoted": "Objave uporabnika %1 z glasovi proti", "account/best": "Najboljše objave uporabnika %1", diff --git a/public/language/sl/post-queue.json b/public/language/sl/post-queue.json index 8dfaeee200..e3f4fa9f18 100644 --- a/public/language/sl/post-queue.json +++ b/public/language/sl/post-queue.json @@ -38,5 +38,6 @@ "remove-selected": "Remove Selected", "remove-selected-confirm": "Do you want to remove %1 selected posts?", "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" } \ No newline at end of file diff --git a/public/language/sl/themes/harmony.json b/public/language/sl/themes/harmony.json index 4e75b9f716..01038d7641 100644 --- a/public/language/sl/themes/harmony.json +++ b/public/language/sl/themes/harmony.json @@ -7,7 +7,8 @@ "login-register-to-search": "Login or register to search.", "settings.title": "Theme settings", "settings.enableQuickReply": "Enable quick reply", - "settings.enableBreadcrumbs": "Enable breadcrumbs", + "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.mobileTopicTeasers": "Show topic teasers on mobile", "settings.stickyToolbar": "Sticky toolbar", diff --git a/public/language/sl/user.json b/public/language/sl/user.json index 2c72679d73..d616ad256f 100644 --- a/public/language/sl/user.json +++ b/public/language/sl/user.json @@ -43,6 +43,7 @@ "change-all": "Spremeni vse", "watched": "Spremljano", "ignored": "Prezrto", + "read": "Read", "default-category-watch-state": "Privzeto stanje spremljanja kategorij", "followers": "Spremljevalci", "following": "Spremljano", @@ -78,6 +79,7 @@ "change-password": "Spremeni geslo", "change-password-error": "Napačno geslo!", "change-password-error-wrong-current": "Tvoje trenutno geslo je napačno!", + "change-password-error-same-password": "Your new password matches your current password, please use a new password.", "change-password-error-match": "Gesli se morata ujemati!", "change-password-error-privileges": "Nimaš pravice do spremembe gesla.", "change-password-success": "Geslo je bilo posodobljeno!", @@ -113,6 +115,7 @@ "has-no-topics": "Uporabnik še ni objavil nobene teme.", "has-no-watched-topics": "Uporabnik še ne spremlja nobene teme.", "has-no-ignored-topics": "Ta uporabnik še nima nobenih prezrtih tem.", + "has-no-read-topics": "This user hasn't read any topics yet.", "has-no-upvoted-posts": "Uporabnik še ni glasoval za nobeno objavo.", "has-no-downvoted-posts": "Uporabnik še ni glasoval proti nobeni objavi.", "has-no-controversial-posts": "This user does not have any downvoted posts yet.", diff --git a/public/language/sl/users.json b/public/language/sl/users.json index a81c715447..f377e33277 100644 --- a/public/language/sl/users.json +++ b/public/language/sl/users.json @@ -1,5 +1,6 @@ { "all-users": "All Users", + "followed-users": "Followed Users", "latest-users": "Zadnji uporabniki", "top-posters": "Najboljši uporabniki", "most-reputation": "Največ ugleda", diff --git a/public/language/sq-AL/admin/development/info.json b/public/language/sq-AL/admin/development/info.json index 11202d9c3a..9834719daf 100644 --- a/public/language/sq-AL/admin/development/info.json +++ b/public/language/sq-AL/admin/development/info.json @@ -3,7 +3,7 @@ "ip": "IP %1", "nodes-responded": "%1 nodes responded within %2ms!", "host": "host", - "primary": "primary / run jobs", + "primary": "primary / jobs", "pid": "pid", "nodejs": "nodejs", "online": "online", @@ -19,6 +19,7 @@ "registered": "Registered", "sockets": "Sockets", + "connection-count": "Connection Count", "guests": "Guests", "info": "Info" diff --git a/public/language/sq-AL/admin/extend/widgets.json b/public/language/sq-AL/admin/extend/widgets.json index 5d2832feed..db72f2feb3 100644 --- a/public/language/sq-AL/admin/extend/widgets.json +++ b/public/language/sq-AL/admin/extend/widgets.json @@ -12,6 +12,8 @@ "container.card": "Card", "container.card-header": "Card Header", "container.card-body": "Card Body", + "container.title": "Title", + "container.body": "Body", "container.alert": "Alert", "alert.confirm-delete": "Are you sure you wish to delete this widget?", diff --git a/public/language/sq-AL/admin/settings/reputation.json b/public/language/sq-AL/admin/settings/reputation.json index e4fff22620..479069e3a4 100644 --- a/public/language/sq-AL/admin/settings/reputation.json +++ b/public/language/sq-AL/admin/settings/reputation.json @@ -2,7 +2,14 @@ "reputation": "Reputation Settings", "disable": "Disable Reputation System", "disable-down-voting": "Disable Down Voting", - "votes-are-public": "All Votes Are Public", + "upvote-visibility": "Up Vote visibility", + "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", "min-rep-upvote": "Minimum reputation to upvote posts", "upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)", diff --git a/public/language/sq-AL/error.json b/public/language/sq-AL/error.json index 60987e97fc..8b0aeddbe3 100644 --- a/public/language/sq-AL/error.json +++ b/public/language/sq-AL/error.json @@ -153,6 +153,7 @@ "about-me-too-long": "Na vjen keq, por përshkrimi nuk mund të jetë më i gjatë se %1 karakter(e).", "cant-chat-with-yourself": "Nuk mund të bësh bashkëbisedim me veten!", "chat-restricted": "Ky përdorues ka kufizuar mesazhet e tij. Duhet t'ju ndjekin përpara se të bisedoni të", + "chat-user-blocked": "You have been blocked by this user.", "chat-disabled": "Sistemi i bisedës është çaktivizuar", "too-many-messages": "Ju keni dërguar shumë mesazhe, ju lutemi prisni pak.", "invalid-chat-message": "Mesazh i pasaktë në bisedë", diff --git a/public/language/sq-AL/modules.json b/public/language/sq-AL/modules.json index 8d6f61e825..48554b92cc 100644 --- a/public/language/sq-AL/modules.json +++ b/public/language/sq-AL/modules.json @@ -1,8 +1,9 @@ { "chat.room-id": "Room %1", "chat.chatting-with": "Bisedo me", - "chat.placeholder": "Shkruani mesazhin e bisedës këtu, tërhiqni dhe lëshoni imazhet, shtypni enter për t'i dërguar", - "chat.placeholder.mobile": "Type chat message here", + "chat.placeholder": "Type chat message here, drag & drop images", + "chat.placeholder.mobile": "Type chat message", + "chat.placeholder.message-room": "Message #%1", "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", diff --git a/public/language/sq-AL/notifications.json b/public/language/sq-AL/notifications.json index 14fe76838b..0a937ec756 100644 --- a/public/language/sq-AL/notifications.json +++ b/public/language/sq-AL/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 ka postuar një temë të re: %2", "user-edited-post": "%1 ka redaktuar një postim në %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 filloi t'ju ndjekë.", "user-started-following-you-dual": "% 1 dhe %2 filluan t'ju ndjekin.", @@ -75,6 +75,7 @@ "email-confirmed": "Email-i u konfirmua", "email-confirmed-message": "Faleminderit për vërtetimin e emailit tuaj. Llogaria juaj tani është plotësisht e aktivizuar.", "email-confirm-error-message": "Pati një problem me vërtetimin e adresës tuaj të emailit. Ndoshta kodi ishte i pavlefshëm ose ka skaduar.", + "email-confirm-error-message-already-validated": "Your email address was already validated.", "email-confirm-sent": "Email i konfirmimit u dërgua.", "none": "Asnjë", "notification-only": "Vetëm njoftime", diff --git a/public/language/sq-AL/pages.json b/public/language/sq-AL/pages.json index 6b43158026..ef73a1ae49 100644 --- a/public/language/sq-AL/pages.json +++ b/public/language/sq-AL/pages.json @@ -54,6 +54,7 @@ "account/settings-of": "Changing settings of %1", "account/watched": "Tema e para nga %1", "account/ignored": "Temat e shmangura nga %1", + "account/read": "Topics read by %1", "account/upvoted": "Postimi u votua lartë nga %1", "account/downvoted": "Postimi u votua poshtë nga %1", "account/best": "Postimet më të mira krijuar nga %1", diff --git a/public/language/sq-AL/post-queue.json b/public/language/sq-AL/post-queue.json index c6247613bf..7df9f032b8 100644 --- a/public/language/sq-AL/post-queue.json +++ b/public/language/sq-AL/post-queue.json @@ -38,5 +38,6 @@ "remove-selected": "Remove Selected", "remove-selected-confirm": "Do you want to remove %1 selected posts?", "bulk-accept-success": "%1 postime u pranuan", - "bulk-reject-success": "%1 postime u refuzuan" + "bulk-reject-success": "%1 postime u refuzuan", + "links-in-this-post": "Links in this post" } \ No newline at end of file diff --git a/public/language/sq-AL/themes/harmony.json b/public/language/sq-AL/themes/harmony.json index 4e75b9f716..01038d7641 100644 --- a/public/language/sq-AL/themes/harmony.json +++ b/public/language/sq-AL/themes/harmony.json @@ -7,7 +7,8 @@ "login-register-to-search": "Login or register to search.", "settings.title": "Theme settings", "settings.enableQuickReply": "Enable quick reply", - "settings.enableBreadcrumbs": "Enable breadcrumbs", + "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.mobileTopicTeasers": "Show topic teasers on mobile", "settings.stickyToolbar": "Sticky toolbar", diff --git a/public/language/sq-AL/user.json b/public/language/sq-AL/user.json index a5904e748b..830858a23c 100644 --- a/public/language/sq-AL/user.json +++ b/public/language/sq-AL/user.json @@ -43,6 +43,7 @@ "change-all": "Ndrysho të gjitha", "watched": "Shikuar", "ignored": "Injoruar", + "read": "Read", "default-category-watch-state": "Gjendja e kategorisë së parazgjedhur", "followers": "Ndjekësit", "following": "Duke ndjekur", @@ -78,6 +79,7 @@ "change-password": "Ndrysho fjalekalimin", "change-password-error": "Fjalëkalim i pavlefshëm", "change-password-error-wrong-current": "Fjalëkalimi juaj aktual nuk është i saktë!", + "change-password-error-same-password": "Your new password matches your current password, please use a new password.", "change-password-error-match": "Fjalekalimet duhet te perputhen!", "change-password-error-privileges": "Ju nuk keni të drejtë ta ndryshoni këtë fjalëkalim.", "change-password-success": "Fjalëkalimi juaj është përditësuar!", @@ -113,6 +115,7 @@ "has-no-topics": "Ky përdorues nuk ka postuar akoma asnjë temë.", "has-no-watched-topics": "Ky përdorues nuk ka frekuentuar akoma asnjë temë.", "has-no-ignored-topics": "Ky përdorues nuk ka injoruar asnjë temë ende.", + "has-no-read-topics": "This user hasn't read any topics yet.", "has-no-upvoted-posts": "Ky përdorues nuk ka votuar pro akoma në asnjë postim.", "has-no-downvoted-posts": "Ky përdorues nuk ka votuar kundër asnjë postimi.", "has-no-controversial-posts": "Ky përdorues nuk ka ende asnjë postim me votim kundër.", diff --git a/public/language/sq-AL/users.json b/public/language/sq-AL/users.json index d5d171e0b8..c064822c9d 100644 --- a/public/language/sq-AL/users.json +++ b/public/language/sq-AL/users.json @@ -1,5 +1,6 @@ { "all-users": "All Users", + "followed-users": "Followed Users", "latest-users": "Përdoruesit e fundit", "top-posters": "Postuesit më të mirë", "most-reputation": "Me Reputacion", diff --git a/public/language/sr/admin/development/info.json b/public/language/sr/admin/development/info.json index 11202d9c3a..9834719daf 100644 --- a/public/language/sr/admin/development/info.json +++ b/public/language/sr/admin/development/info.json @@ -3,7 +3,7 @@ "ip": "IP %1", "nodes-responded": "%1 nodes responded within %2ms!", "host": "host", - "primary": "primary / run jobs", + "primary": "primary / jobs", "pid": "pid", "nodejs": "nodejs", "online": "online", @@ -19,6 +19,7 @@ "registered": "Registered", "sockets": "Sockets", + "connection-count": "Connection Count", "guests": "Guests", "info": "Info" diff --git a/public/language/sr/admin/extend/widgets.json b/public/language/sr/admin/extend/widgets.json index 5d2832feed..db72f2feb3 100644 --- a/public/language/sr/admin/extend/widgets.json +++ b/public/language/sr/admin/extend/widgets.json @@ -12,6 +12,8 @@ "container.card": "Card", "container.card-header": "Card Header", "container.card-body": "Card Body", + "container.title": "Title", + "container.body": "Body", "container.alert": "Alert", "alert.confirm-delete": "Are you sure you wish to delete this widget?", diff --git a/public/language/sr/admin/settings/reputation.json b/public/language/sr/admin/settings/reputation.json index e4fff22620..479069e3a4 100644 --- a/public/language/sr/admin/settings/reputation.json +++ b/public/language/sr/admin/settings/reputation.json @@ -2,7 +2,14 @@ "reputation": "Reputation Settings", "disable": "Disable Reputation System", "disable-down-voting": "Disable Down Voting", - "votes-are-public": "All Votes Are Public", + "upvote-visibility": "Up Vote visibility", + "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", "min-rep-upvote": "Minimum reputation to upvote posts", "upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)", diff --git a/public/language/sr/error.json b/public/language/sr/error.json index 5f8b104f9b..28504c63e2 100644 --- a/public/language/sr/error.json +++ b/public/language/sr/error.json @@ -153,6 +153,7 @@ "about-me-too-long": "Жао нам је, информације о вама не смеју бити дуже од %1 знак(ов)а.", "cant-chat-with-yourself": "Не можете ћаскати са самим собом!", "chat-restricted": "Овај корисник је ограничио њихова ћаскања. Морају вас пратити пре него што можете ћаскати са њима.", + "chat-user-blocked": "You have been blocked by this user.", "chat-disabled": "Ћаскања су онемогућена", "too-many-messages": "Послали сте превише порука, сачекајте мало.", "invalid-chat-message": "Неважећа порука", diff --git a/public/language/sr/modules.json b/public/language/sr/modules.json index 717904742c..c2bae5b14e 100644 --- a/public/language/sr/modules.json +++ b/public/language/sr/modules.json @@ -1,8 +1,9 @@ { "chat.room-id": "Соба %1", "chat.chatting-with": "Ћаскај са", - "chat.placeholder": "Куцајте поруку ћаскања овде, превуците и отпустите слике, притисните enter за слање", - "chat.placeholder.mobile": "Куцајте поруку овде", + "chat.placeholder": "Type chat message here, drag & drop images", + "chat.placeholder.mobile": "Type chat message", + "chat.placeholder.message-room": "Message #%1", "chat.scroll-up-alert": "Идите на најновију поруку", "chat.usernames-and-x-others": "%1 & %2 осталих", "chat.chat-with-usernames": "Ћаскај са %1", diff --git a/public/language/sr/notifications.json b/public/language/sr/notifications.json index ba93a6346c..1972607171 100644 --- a/public/language/sr/notifications.json +++ b/public/language/sr/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 и осталих %3 су објавили одговор: %4", "user-posted-topic": "%1 је поставио нову тему: %2", "user-edited-post": "%1 је уредио поруку у %2", - "user-posted-topic-with-tag": "%1 је објавио нову тему са ознаком %2", - "user-posted-topic-with-tag-dual": "%1 је објавио нову тему са ознакама %2 и %3", - "user-posted-topic-with-tag-triple": "%1 је објавио нову тему са ознакама %2, %3 и %4", - "user-posted-topic-with-tag-multiple": "%1 је објавио нову тему са ознакама %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 је почео да вас прати.", "user-started-following-you-dual": "%1 и %2 су почели да вас прате.", @@ -75,6 +75,7 @@ "email-confirmed": "Е-пошта је потврђена.", "email-confirmed-message": "Хвала на овери ваше е-поште. Ваш налог је сада у потпуности активан.", "email-confirm-error-message": "Дошло је до проблема са овером ваше е-поште. Можда је код неисправан или је истекао.", + "email-confirm-error-message-already-validated": "Your email address was already validated.", "email-confirm-sent": "Е-пошта за потврду је послата.", "none": "Ниједно", "notification-only": "Само обавештење", diff --git a/public/language/sr/pages.json b/public/language/sr/pages.json index cbf42402b6..815a7dab6a 100644 --- a/public/language/sr/pages.json +++ b/public/language/sr/pages.json @@ -54,6 +54,7 @@ "account/settings-of": "Промена подешавања од %1", "account/watched": "Теме које надгледа %1", "account/ignored": "Теме које игнорише %1", + "account/read": "Topics read by %1", "account/upvoted": "Поруке које је гласао %1", "account/downvoted": "Поруке које је негативно гласао %1", "account/best": "Најбоље поруке од %1", diff --git a/public/language/sr/post-queue.json b/public/language/sr/post-queue.json index 07478e802f..e9c42569b5 100644 --- a/public/language/sr/post-queue.json +++ b/public/language/sr/post-queue.json @@ -38,5 +38,6 @@ "remove-selected": "Уклони изабрано", "remove-selected-confirm": "Да ли желите да уклоните изабране објаве (%1)?", "bulk-accept-success": "Прихваћених објава: %1", - "bulk-reject-success": "Одбачених објава: %1" + "bulk-reject-success": "Одбачених објава: %1", + "links-in-this-post": "Links in this post" } \ No newline at end of file diff --git a/public/language/sr/themes/harmony.json b/public/language/sr/themes/harmony.json index a26a25c0d4..06eb4ec656 100644 --- a/public/language/sr/themes/harmony.json +++ b/public/language/sr/themes/harmony.json @@ -7,7 +7,8 @@ "login-register-to-search": "Пријавите се или региструјте за претрагу.", "settings.title": "Подешавање тема", "settings.enableQuickReply": "Омогући брзи одговор", - "settings.enableBreadcrumbs": "Enable breadcrumbs", + "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": "Центрирај елементе заглавља", "settings.mobileTopicTeasers": "Прикажи најавне теме на мобилном телефону", "settings.stickyToolbar": "Лепљива трака алата", diff --git a/public/language/sr/user.json b/public/language/sr/user.json index 4f53352bb8..4b42c39956 100644 --- a/public/language/sr/user.json +++ b/public/language/sr/user.json @@ -43,6 +43,7 @@ "change-all": "Промени све", "watched": "Надгледано", "ignored": "Игнорисано", + "read": "Read", "default-category-watch-state": "Подразумевано стање надгледања категорија", "followers": "Пратиоци", "following": "Праћења", @@ -78,6 +79,7 @@ "change-password": "Промена лозинке", "change-password-error": "Неисправна лозинка", "change-password-error-wrong-current": "Ваша тренутна лозинка није исправна!", + "change-password-error-same-password": "Your new password matches your current password, please use a new password.", "change-password-error-match": "Лозинке се морају подударати!", "change-password-error-privileges": "Немате дозволу за мењање ове лозинке.", "change-password-success": "Ваша лозинка је ажурирана!", @@ -113,6 +115,7 @@ "has-no-topics": "Овај корисник још није покренуо ниједну тему.", "has-no-watched-topics": "Овај корисник још не надгледа ниједну тему.", "has-no-ignored-topics": "Овај корисник још није игнорисао ниједну тему.", + "has-no-read-topics": "This user hasn't read any topics yet.", "has-no-upvoted-posts": "Овај корисник још увек није гласао за неку поруку.", "has-no-downvoted-posts": "Овај корисник још увек није негативно гласао за неку поруку.", "has-no-controversial-posts": "Овај корисник још увек нема ниједну поруку за коју се негативно гласало.", diff --git a/public/language/sr/users.json b/public/language/sr/users.json index 51c24f73fd..096af8474b 100644 --- a/public/language/sr/users.json +++ b/public/language/sr/users.json @@ -1,5 +1,6 @@ { "all-users": "Сви корисници", + "followed-users": "Followed Users", "latest-users": "Најновији корисници", "top-posters": "Највише порука", "most-reputation": "Највећи углед", diff --git a/public/language/sv/admin/development/info.json b/public/language/sv/admin/development/info.json index 11202d9c3a..9834719daf 100644 --- a/public/language/sv/admin/development/info.json +++ b/public/language/sv/admin/development/info.json @@ -3,7 +3,7 @@ "ip": "IP %1", "nodes-responded": "%1 nodes responded within %2ms!", "host": "host", - "primary": "primary / run jobs", + "primary": "primary / jobs", "pid": "pid", "nodejs": "nodejs", "online": "online", @@ -19,6 +19,7 @@ "registered": "Registered", "sockets": "Sockets", + "connection-count": "Connection Count", "guests": "Guests", "info": "Info" diff --git a/public/language/sv/admin/extend/widgets.json b/public/language/sv/admin/extend/widgets.json index 5d2832feed..f08df14dc4 100644 --- a/public/language/sv/admin/extend/widgets.json +++ b/public/language/sv/admin/extend/widgets.json @@ -12,6 +12,8 @@ "container.card": "Card", "container.card-header": "Card Header", "container.card-body": "Card Body", + "container.title": "Title", + "container.body": "Body", "container.alert": "Alert", "alert.confirm-delete": "Are you sure you wish to delete this widget?", @@ -26,10 +28,10 @@ "container": "Container", "container.placeholder": "Drag and drop a container or enter HTML here.", "show-to-groups": "Show to groups", - "hide-from-groups": "Hide from groups", + "hide-from-groups": "Dölj från grupper", "start-date": "Start date", "end-date": "End date", "hide-on-mobile": "Hide on mobile", - "hide-drafts": "Hide drafts", - "show-drafts": "Show drafts" + "hide-drafts": "Dölj utkast", + "show-drafts": "Visa utkast" } \ No newline at end of file diff --git a/public/language/sv/admin/manage/categories.json b/public/language/sv/admin/manage/categories.json index 8a9ff471b0..bd13a8cfeb 100644 --- a/public/language/sv/admin/manage/categories.json +++ b/public/language/sv/admin/manage/categories.json @@ -18,7 +18,7 @@ "is-section": "Treat this category as a section", "post-queue": "Post queue", "tag-whitelist": "Tag Whitelist", - "upload-image": "Upload Image", + "upload-image": "Ladda upp bild", "upload": "Upload", "delete-image": "Remove", "category-image": "Category Image", @@ -92,7 +92,7 @@ "alert.find-group": "Find a Group", "alert.group-search": "Search for a group here...", "alert.not-enough-whitelisted-tags": "Whitelisted tags are less than minimum tags, you need to create more whitelisted tags!", - "collapse-all": "Collapse All", + "collapse-all": "Dölj alla", "expand-all": "Expand All", "disable-on-create": "Disable on create", "no-matches": "No matches" diff --git a/public/language/sv/admin/manage/privileges.json b/public/language/sv/admin/manage/privileges.json index 240cff6aa5..b4b76178f7 100644 --- a/public/language/sv/admin/manage/privileges.json +++ b/public/language/sv/admin/manage/privileges.json @@ -9,7 +9,7 @@ "select-clear-all": "Select/Clear All", "chat": "Chat", "chat-with-privileged": "Chat with Privileged", - "upload-images": "Upload Images", + "upload-images": "Ladda upp bilder", "upload-files": "Upload Files", "signature": "Signature", "ban": "Ban", diff --git a/public/language/sv/admin/settings/post.json b/public/language/sv/admin/settings/post.json index e000f6b10b..c8e7d79f78 100644 --- a/public/language/sv/admin/settings/post.json +++ b/public/language/sv/admin/settings/post.json @@ -4,11 +4,11 @@ "sorting.post-default": "Default Post Sorting", "sorting.oldest-to-newest": "Oldest to Newest", "sorting.newest-to-oldest": "Newest to Oldest", - "sorting.recently-replied": "Recently Replied", - "sorting.recently-created": "Recently Created", + "sorting.recently-replied": "Nyligen besvarade", + "sorting.recently-created": "Nyligen skapade", "sorting.most-votes": "Most Votes", "sorting.most-posts": "Most Posts", - "sorting.most-views": "Most Views", + "sorting.most-views": "Flest visningar", "sorting.topic-default": "Default Topic Sorting", "length": "Post Length", "post-queue": "Post Queue", diff --git a/public/language/sv/admin/settings/reputation.json b/public/language/sv/admin/settings/reputation.json index e4fff22620..479069e3a4 100644 --- a/public/language/sv/admin/settings/reputation.json +++ b/public/language/sv/admin/settings/reputation.json @@ -2,7 +2,14 @@ "reputation": "Reputation Settings", "disable": "Disable Reputation System", "disable-down-voting": "Disable Down Voting", - "votes-are-public": "All Votes Are Public", + "upvote-visibility": "Up Vote visibility", + "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", "min-rep-upvote": "Minimum reputation to upvote posts", "upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)", diff --git a/public/language/sv/admin/settings/user.json b/public/language/sv/admin/settings/user.json index 528debebaa..1174567a75 100644 --- a/public/language/sv/admin/settings/user.json +++ b/public/language/sv/admin/settings/user.json @@ -79,7 +79,7 @@ "follow-replied-topics": "Follow topics that you reply to", "default-notification-settings": "Default notification settings", "categoryWatchState": "Default category watch state", - "categoryWatchState.tracking": "Tracking", + "categoryWatchState.tracking": "Bevakning", "categoryWatchState.notwatching": "Not Watching", "categoryWatchState.ignoring": "Ignoring", "restrictions-new": "New User Restrictions", diff --git a/public/language/sv/category.json b/public/language/sv/category.json index 8fb311c91a..6afc046f00 100644 --- a/public/language/sv/category.json +++ b/public/language/sv/category.json @@ -10,13 +10,13 @@ "watch": "Bevaka", "ignore": "Ignorera", "watching": "Bevakar", - "tracking": "Tracking", + "tracking": "Bevakning", "not-watching": "Följer inte", "ignoring": "Ignorerar", - "watching.description": "Notify me of new topics.
Show topics in unread & recent", - "tracking.description": "Shows topics in unread & recent", + "watching.description": "Visa ämnen i olästa och senaste", + "tracking.description": "Visa ämnen i olästa och senaste", "not-watching.description": "Visa inte ämnen i olästa, visa i senaste", - "ignoring.description": "Do not show topics in unread & recent", + "ignoring.description": "Visa inte ämnen i olästa och senaste", "watching.message": "Nu får du uppdateringar från den här kategorin och alla underkategorier", "tracking.message": "You are now tracking updates from this category and all subcategories", "notwatching.message": "Du får inga uppdateringar från den här kategorin eller alla underkategorier", diff --git a/public/language/sv/error.json b/public/language/sv/error.json index fb22029793..762b59cbf3 100644 --- a/public/language/sv/error.json +++ b/public/language/sv/error.json @@ -153,6 +153,7 @@ "about-me-too-long": "Din text om dig själv kan inte vara längre än %1 tecken.", "cant-chat-with-yourself": "Du kan inte chatta med dig själv!", "chat-restricted": "Denna användaren har begränsat sina meddelanden. Användaren måste följa dig innan ni kan chatta med varandra", + "chat-user-blocked": "You have been blocked by this user.", "chat-disabled": "Chatten är inaktiverad", "too-many-messages": "Du har skickat för många meddelanden, var god vänta", "invalid-chat-message": "Ogiltigt chattmeddelande", diff --git a/public/language/sv/global.json b/public/language/sv/global.json index 35bc3e8c5e..96404fb706 100644 --- a/public/language/sv/global.json +++ b/public/language/sv/global.json @@ -20,8 +20,8 @@ "you-have-successfully-logged-in": "Inloggningen lyckades", "save-changes": "Spara ändringar", "save": "Spara", - "create": "Create", - "cancel": "Cancel", + "create": "Skapa", + "cancel": "Avbryt", "close": "Stäng", "pagination": "Siduppdelning", "pagination.previouspage": "Previous Page", @@ -49,10 +49,10 @@ "header.account": "Account", "header.navigation": "Navigering", "header.manage": "Manage", - "header.drafts": "Drafts", + "header.drafts": "Utkast", "notifications.loading": "Laddar notiser", "chats.loading": "Laddar chattar", - "drafts.loading": "Loading Drafts", + "drafts.loading": "Laddar utkast", "motd.welcome": "Välkommen till NodeBB, framtidens diskussionsplattform.", "alert.success": "Lyckat", "alert.error": "Fel", @@ -67,7 +67,7 @@ "users": "Användare", "topics": "Ämnen", "posts": "Inlägg", - "x-posts": "%1 posts", + "x-posts": "%1 inlägg", "x-topics": "%1 topics", "x-reputation": "%1 reputation", "best": "Bästa", @@ -80,7 +80,7 @@ "downvoters": "Nerröstare", "downvoted": "Nedröstad", "views": "Visningar", - "posters": "Posters", + "posters": "Användare", "reputation": "Rykte", "lastpost": "Senaste inlägget", "firstpost": "Först inlägget", @@ -116,7 +116,7 @@ "guests": "Anonyma", "former-user": "En före detta användare", "system-user": "System", - "unknown-user": "Unknown user", + "unknown-user": "Okänd användare", "updated.title": "Forumet uppdaterades", "updated.message": "Det här forumet har nu uppdaterats till senaste versionen. Klicka här för att ladda om sidan.", "privacy": "Integritet", @@ -140,12 +140,12 @@ "edited": "Redigerad", "disabled": "Avstängd", "select": "Välj", - "selected": "Selected", - "copied": "Copied", + "selected": "Vald", + "copied": "Kopierad", "user-search-prompt": "Skriv något för att hitta användare", - "hidden": "Hidden", - "sort": "Sort", - "actions": "Actions", + "hidden": "Dold", + "sort": "Sortera", + "actions": "Handlingar", "rss-feed": "RSS Feed", "skip-to-content": "Skip to content" } \ No newline at end of file diff --git a/public/language/sv/modules.json b/public/language/sv/modules.json index 779b08ad3f..50c7275435 100644 --- a/public/language/sv/modules.json +++ b/public/language/sv/modules.json @@ -1,8 +1,9 @@ { "chat.room-id": "Room %1", "chat.chatting-with": "Chatta med", - "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", - "chat.placeholder.mobile": "Type chat message here", + "chat.placeholder": "Type chat message here, drag & drop images", + "chat.placeholder.mobile": "Type chat message", + "chat.placeholder.message-room": "Message #%1", "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", @@ -78,7 +79,7 @@ "composer.compose": "Komponera", "composer.show-preview": "Visa förhandsgranskning", "composer.hide-preview": "Dölj förhandsgranskning", - "composer.help": "Help", + "composer.help": "Hjälp", "composer.user-said-in": "%1 sa i %2:", "composer.user-said": "%1 sa:", "composer.discard": "Är du säker på att du vill ta bort det här inlägget?", @@ -87,23 +88,23 @@ "composer.uploading": "Laddar upp %1", "composer.formatting.bold": "Fet", "composer.formatting.italic": "Kursiv", - "composer.formatting.heading": "Heading", - "composer.formatting.heading1": "Heading 1", - "composer.formatting.heading2": "Heading 2", - "composer.formatting.heading3": "Heading 3", - "composer.formatting.heading4": "Heading 4", - "composer.formatting.heading5": "Heading 5", - "composer.formatting.heading6": "Heading 6", + "composer.formatting.heading": "Rubrik", + "composer.formatting.heading1": "Rubrik 1", + "composer.formatting.heading2": "Rubrik 2", + "composer.formatting.heading3": "Rubrik 3", + "composer.formatting.heading4": "Rubrik 4", + "composer.formatting.heading5": "Rubrik 5", + "composer.formatting.heading6": "Rubrik 6", "composer.formatting.list": "Lista", "composer.formatting.strikethrough": "Genomstrykning", "composer.formatting.code": "Kod", "composer.formatting.link": "Länk", - "composer.formatting.picture": "Image Link", + "composer.formatting.picture": "Bildlänk", "composer.upload-picture": "Ladda upp bild", "composer.upload-file": "Ladda upp fil", "composer.zen-mode": "Zen Mode", "composer.select-category": "Välj en kategori", - "composer.textarea.placeholder": "Enter your post content here, drag and drop images", + "composer.textarea.placeholder": "Skriv innehåll här, dra och släpp bilder", "composer.post-queue-alert": "Hello👋!
This forum uses a post queue system, since you are a new user your post will be hidden until it is approved by our moderation team.", "composer.schedule-for": "Schedule topic for", "composer.schedule-date": "Date", @@ -111,8 +112,8 @@ "composer.cancel-scheduling": "Cancel Scheduling", "composer.change-schedule-date": "Change Date", "composer.set-schedule-date": "Set Date", - "composer.discard-all-drafts": "Discard all drafts", - "composer.no-drafts": "You have no drafts", + "composer.discard-all-drafts": "Ignorera samtliga utkast", + "composer.no-drafts": "Du har inga utkast", "composer.discard-draft-confirm": "Do you want to discard this draft?", "bootbox.ok": "OK", "bootbox.cancel": "Avbryt", diff --git a/public/language/sv/notifications.json b/public/language/sv/notifications.json index 9ca90fa226..42e431a7ef 100644 --- a/public/language/sv/notifications.json +++ b/public/language/sv/notifications.json @@ -1,7 +1,7 @@ { "title": "Notiser", "no-notifs": "Du har inga nya notiser", - "see-all": "All notifications", + "see-all": "Alla notiser", "mark-all-read": "Markera alla notiser som lästa", "back-to-home": "Tillbaka till %1", "outgoing-link": "Utgående länk", @@ -28,10 +28,10 @@ "new-messages-from": "%1 new messages from %2", "new-message-in": "New message in %1", "new-messages-in": "%1 new messages in %2", - "user-posted-in-public-room": "%1 wrote in %3", - "user-posted-in-public-room-dual": "%1 and %2 wrote in %4", - "user-posted-in-public-room-triple": "%1, %2 and %3 wrote in %5", - "user-posted-in-public-room-multiple": "%1, %2 and %3 others wrote in %5", + "user-posted-in-public-room": "%1 skrev i %3", + "user-posted-in-public-room-dual": "%1 och %2 skrev i %4", + "user-posted-in-public-room-triple": "%1, %2 och %3 skrev i %5", + "user-posted-in-public-room-multiple": "%1, %2 och %3 andra skrev i %5", "upvoted-your-post-in": "%1 har röstat upp ditt inlägg i %2", "upvoted-your-post-in-dual": "%1 och %2 har röstat upp ditt inlägg i %3.", "upvoted-your-post-in-triple": "%1, %2 and %3 have upvoted your post in %4.", @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 har skapat ett nytt ämne: %2", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 började följa dig.", "user-started-following-you-dual": "%1 och %2 började följa dig.", @@ -75,6 +75,7 @@ "email-confirmed": "E-post bekräftad", "email-confirmed-message": "Tack för att du bekräftat din e-postadress. Ditt konto är nu fullt ut aktiverat.", "email-confirm-error-message": "Det uppstod ett problem med bekräftelsen av din e-postadress. Kanske var koden felaktig eller ogiltig.", + "email-confirm-error-message-already-validated": "Your email address was already validated.", "email-confirm-sent": "Bekräftelsemeddelande skickat.", "none": "Inga", "notification-only": "Endast notis", diff --git a/public/language/sv/pages.json b/public/language/sv/pages.json index f14b80d2ad..abf0f1d6fe 100644 --- a/public/language/sv/pages.json +++ b/public/language/sv/pages.json @@ -54,6 +54,7 @@ "account/settings-of": "Changing settings of %1", "account/watched": "Ämnen som bevakas av %1", "account/ignored": "Ämnen som %1 ignorerar", + "account/read": "Topics read by %1", "account/upvoted": "Inlägg som röstats upp av %1", "account/downvoted": "Inlägg som röstats ned av %1", "account/best": "Bästa inläggen skapade av %1", diff --git a/public/language/sv/post-queue.json b/public/language/sv/post-queue.json index 021ed0d83f..24b33da2e6 100644 --- a/public/language/sv/post-queue.json +++ b/public/language/sv/post-queue.json @@ -38,5 +38,6 @@ "remove-selected": "Remove Selected", "remove-selected-confirm": "Do you want to remove %1 selected posts?", "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" } \ No newline at end of file diff --git a/public/language/sv/recent.json b/public/language/sv/recent.json index 0c8f53ccce..e13316c223 100644 --- a/public/language/sv/recent.json +++ b/public/language/sv/recent.json @@ -7,5 +7,5 @@ "alltime": "Alltid", "no-recent-topics": "Det finns inga olästa ämnen.", "no-popular-topics": "Det finns inga populära ämnen.", - "load-new-posts": "Load new posts" + "load-new-posts": "Ladda nya inlägg" } \ No newline at end of file diff --git a/public/language/sv/tags.json b/public/language/sv/tags.json index 0abd5f5925..6d6a7a9b9e 100644 --- a/public/language/sv/tags.json +++ b/public/language/sv/tags.json @@ -1,17 +1,17 @@ { - "all-tags": "All tags", + "all-tags": "Alla taggar", "no-tag-topics": "Det finns inga ämnen med denna tagg.", "no-tags-found": "No tags found", "tags": "Taggar", - "enter-tags-here": "Enter tags, %1 - %2 characters.", + "enter-tags-here": "Lägg till taggar, %1 - %2 tecken.", "enter-tags-here-short": "Ange taggar...", "no-tags": "Det finns inga taggar ännu.", "select-tags": "Välj Etiketter", "tag-whitelist": "Tag Whitelist", "watching": "Watching", "not-watching": "Not Watching", - "watching.description": "Notify me of new topics.", - "not-watching.description": "Do not notify me of new topics.", + "watching.description": "Notifiera mig vid nya ämnen", + "not-watching.description": "Notifiera mig ej vid nya ämnen", "following-tag.message": "You will now be receiving notifications when somebody posts a topic with this tag.", "not-following-tag.message": "You will not receive notifications when somebody posts a topic with this tag." } \ No newline at end of file diff --git a/public/language/sv/themes/harmony.json b/public/language/sv/themes/harmony.json index 4e75b9f716..14a2604e1c 100644 --- a/public/language/sv/themes/harmony.json +++ b/public/language/sv/themes/harmony.json @@ -1,13 +1,14 @@ { "theme-name": "Harmony Theme", "skins": "Skins", - "collapse": "Collapse", + "collapse": "Dölj", "expand": "Expand", "sidebar-toggle": "Sidebar Toggle", "login-register-to-search": "Login or register to search.", "settings.title": "Theme settings", "settings.enableQuickReply": "Enable quick reply", - "settings.enableBreadcrumbs": "Enable breadcrumbs", + "settings.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.mobileTopicTeasers": "Show topic teasers on mobile", "settings.stickyToolbar": "Sticky toolbar", diff --git a/public/language/sv/topic.json b/public/language/sv/topic.json index 62ca0b117b..1f7ea7b781 100644 --- a/public/language/sv/topic.json +++ b/public/language/sv/topic.json @@ -42,8 +42,8 @@ "copy-ip": "Kopiera IP", "ban-ip": "Banna IP", "view-history": "Redigera historik", - "wrote-ago": "wrote ", - "wrote-on": "wrote on ", + "wrote-ago": "skrev ", + "wrote-on": "skrev den ", "replied-to-user-ago": "replied to %3 ", "replied-to-user-on": "replied to %3 on ", "user-locked-topic-ago": "%1 locked this topic %2", @@ -67,8 +67,8 @@ "user-forked-topic-ago": "%1 forked this topic %3", "user-forked-topic-on": "%1 forked this topic on %3", "bookmark-instructions": "Klicka här för att återgå till senast lästa inlägg i detta ämne.", - "flag-post": "Flag this post", - "flag-user": "Flag this user", + "flag-post": "Flagga inlägg", + "flag-user": "Flagga användare", "already-flagged": "Already Flagged", "view-flag-report": "View Flag Report", "resolve-flag": "Resolve Flag", @@ -105,7 +105,7 @@ "thread-tools.change-owner": "Ändra ägare", "thread-tools.select-category": "Välj kategori", "thread-tools.fork": "Grena ämne", - "thread-tools.tag": "Tag Topic", + "thread-tools.tag": "Tagga ämne", "thread-tools.delete": "Ta bort ämne", "thread-tools.delete-posts": "Radera inlägg", "thread-tools.delete-confirm": "Är du säker på att du vill ta bort det här ämnet?", @@ -114,7 +114,7 @@ "thread-tools.purge": "Rensa bort ämne", "thread-tools.purge-confirm": "Är du säker att du vill rensa bort det här ämnet?", "thread-tools.merge-topics": "Slå samman ämnen", - "thread-tools.merge": "Merge Topic", + "thread-tools.merge": "Slå samman ämne", "topic-move-success": "This topic will be moved to \"%1\" shortly. Click here to undo.", "topic-move-multiple-success": "These topics will be moved to \"%1\" shortly. Click here to undo.", "topic-move-all-success": "All topics will be moved to \"%1\" shortly. Click here to undo.", @@ -132,7 +132,7 @@ "bookmark": "Bokmärke", "bookmarks": "Bokmärken", "bookmarks.has-no-bookmarks": "Du har inte bokmärkt några inlägg ännu.", - "copy-permalink": "Copy Permalink", + "copy-permalink": "Kopiera länk", "loading-more-posts": "Laddar fler inlägg", "move-topic": "Flytta ämne", "move-topics": "Flytta ämnen", @@ -159,11 +159,11 @@ "change-owner-instruction": "Klicka på de inlägg du vill tilldela en annan användare", "composer.title-placeholder": "Skriv in ämnets titel här...", "composer.handle-placeholder": "Skriv ditt namn/användarnamn här", - "composer.hide": "Hide", + "composer.hide": "Dölj", "composer.discard": "Avbryt", "composer.submit": "Skicka", "composer.additional-options": "Ytterligare val", - "composer.post-later": "Post Later", + "composer.post-later": "Skicka senare", "composer.schedule": "Schemalägg", "composer.replying-to": "Svarar till %1", "composer.new-topic": "Nytt ämne", @@ -182,11 +182,11 @@ "sort-by": "Sortera på", "oldest-to-newest": "Äldst till nyaste", "newest-to-oldest": "Nyaste till äldst", - "recently-replied": "Recently Replied", - "recently-created": "Recently Created", + "recently-replied": "Nyligen besvarade", + "recently-created": "Nyligen skapade", "most-votes": "Flest röster", "most-posts": "Flest inlägg", - "most-views": "Most Views", + "most-views": "Flest visningar", "stale.title": "Skapa nytt ämne istället?", "stale.warning": "Ämnet du svarar på är ganska gammalt. Vill du skapa ett nytt ämne istället och inkludera en referens till det här ämnet i ditt inlägg?", "stale.create": "Skapa nytt ämne", @@ -210,7 +210,7 @@ "no-more-next-post": "You don't have more posts in this topic", "open-composer": "Open composer", "post-quick-reply": "Quick reply", - "navigator.index": "Post %1 of %2", + "navigator.index": "Inlägg %1 av %2", "navigator.unread": "%1 unread", "upvote-post": "Upvote post", "downvote-post": "Downvote post", diff --git a/public/language/sv/user.json b/public/language/sv/user.json index ca6c60fc6d..eeaee369f7 100644 --- a/public/language/sv/user.json +++ b/public/language/sv/user.json @@ -43,6 +43,7 @@ "change-all": "Ändra alla", "watched": "Bevakad", "ignored": "Ignorerad", + "read": "Read", "default-category-watch-state": "Förvalt bevakningsläge för kategori", "followers": "Följare", "following": "Följer", @@ -78,6 +79,7 @@ "change-password": "Ändra lösenord", "change-password-error": "Ogiltigt lösenord.", "change-password-error-wrong-current": "Ditt nuvarande lösenord är inte korrekt.", + "change-password-error-same-password": "Your new password matches your current password, please use a new password.", "change-password-error-match": "Lösenorden måste stämma överens.", "change-password-error-privileges": "Du har inte rättigheter att ändra det här lösenordet.", "change-password-success": "Ditt lösenord är uppdaterat.", @@ -113,6 +115,7 @@ "has-no-topics": "Användaren har inte postat några ämnen ännu.", "has-no-watched-topics": "Användaren har inte bevakat några ämnen ännu.", "has-no-ignored-topics": "Denna användare ignorerar inte några ämnen ännu.", + "has-no-read-topics": "This user hasn't read any topics yet.", "has-no-upvoted-posts": "Den här användaren har inte röstat upp några inlägg än.", "has-no-downvoted-posts": "Den här användaren har inte röstat ned några inlägg än.", "has-no-controversial-posts": "This user does not have any downvoted posts yet.", diff --git a/public/language/sv/users.json b/public/language/sv/users.json index 6c5a2a354a..e918e1a276 100644 --- a/public/language/sv/users.json +++ b/public/language/sv/users.json @@ -1,5 +1,6 @@ { "all-users": "Alla användare", + "followed-users": "Followed Users", "latest-users": "Senaste användarna", "top-posters": "Flest inlägg", "most-reputation": "Bäst rykte", diff --git a/public/language/th/admin/appearance/customise.json b/public/language/th/admin/appearance/customise.json index f9d55fc61e..e4eb42f234 100644 --- a/public/language/th/admin/appearance/customise.json +++ b/public/language/th/admin/appearance/customise.json @@ -15,6 +15,6 @@ "custom-css.livereload": "เปิดการบังคับให้มีผลในทันที", "custom-css.livereload.description": "การเปิดนี้จะบังคับทุกเซสชั่นบนทุกอุปกรณ์ภายใต้บัญชีของคุณให้ถูกรีเฟรชทันทีที่คุณกดบันทึก", "bsvariables": "_variables.scss", - "bsvariables.description": "แทนที่ค่าตัวแปร bootstrap ที่นี่ คุณยังสามารถใช้เครื่องมือ bootstrap.build และคัดลอกผลลัพธ์ลงในนี้
การเปลี่ยนแปลงต้องทำ rebuild และเริ่มต้นใหม่", - "bsvariables.enable": "เปิด _variables.scss" + "bsvariables.description": "แทนที่ค่าตัวแปร bootstrap ที่นี่ คุณยังสามารถใช้เครื่องมือ bootstrap.build และคัดลอกผลลัพธ์ลงในนี้
การเปลี่ยนแปลงต้องสร้างและเริ่มต้นระบบใหม่", + "bsvariables.enable": "เปิดการใช้งาน _variables.scss" } \ No newline at end of file diff --git a/public/language/th/admin/dashboard.json b/public/language/th/admin/dashboard.json index dda2fc3916..5049bb87e1 100644 --- a/public/language/th/admin/dashboard.json +++ b/public/language/th/admin/dashboard.json @@ -49,44 +49,44 @@ "maintenance-mode": "โหมดการซ่อมบำรุง", "maintenance-mode-title": "คลิกที่นี่เพื่อเข้าสู่โหมดการซ่อมบำรุงของ NodeBB", "dark-mode": "โหมดมืด", - "realtime-chart-updates": "Realtime Chart Updates", + "realtime-chart-updates": "กราฟแสดงผลแบบเรียลไทม์", - "active-users": "Active Users", - "active-users.users": "Users", - "active-users.guests": "Guests", - "active-users.total": "Total", - "active-users.connections": "Connections", + "active-users": "ผู้ใช้งานที่กำลังดู", + "active-users.users": "ผู้ใช้งาน", + "active-users.guests": "ผู้มาเยือน", + "active-users.total": "รวม", + "active-users.connections": "การเชื่อมต่อ", - "guest-registered-users": "Guest vs Registered Users", - "guest": "Guest", - "registered": "Registered", + "guest-registered-users": "ผู้มาเยือน เทียบกับ ผู้ลงทะเบียนแล้ว", + "guest": "ผู้มาเยือน", + "registered": "ลงทะเบียนแล้ว", - "user-presence": "User Presence", - "on-categories": "On categories list", - "reading-posts": "Reading posts", - "browsing-topics": "Browsing topics", - "recent": "Recent", - "unread": "Unread", + "user-presence": "ตำแหน่งของผู้ใช้งาน", + "on-categories": "อยู่ในรายการหมวดหมู่", + "reading-posts": "กำลังอ่านโพสต์", + "browsing-topics": "กำลังดูหัวข้อกระทู้", + "recent": "เนื้อหาล่าสุด", + "unread": "ยังไม่ได้อ่าน", - "high-presence-topics": "High Presence Topics", - "popular-searches": "Popular Searches", + "high-presence-topics": "กระทู้ที่คนเข้าดูมาก", + "popular-searches": "คำค้นที่นิยม", - "graphs.page-views": "Page Views", - "graphs.page-views-registered": "Page Views Registered", - "graphs.page-views-guest": "Page Views Guest", - "graphs.page-views-bot": "Page Views Bot", - "graphs.unique-visitors": "Unique Visitors", - "graphs.registered-users": "Registered Users", - "graphs.guest-users": "Guest Users", - "last-restarted-by": "Last restarted by", - "no-users-browsing": "No users browsing", + "graphs.page-views": "ยอดวิว", + "graphs.page-views-registered": "ยอดวิวจากผู้ลงทะเบียนแล้ว", + "graphs.page-views-guest": "ยอดวิวจากผู้มาเยือน", + "graphs.page-views-bot": "ยอดวิวจากบอต", + "graphs.unique-visitors": "จำนวนผู้ใช้ที่ไม่ซ้ำกัน", + "graphs.registered-users": "ผู้ใช้ที่ลงทะเบียนแล้ว", + "graphs.guest-users": "ผู้ใช้ที่เป็นผู้มาเยือน", + "last-restarted-by": "เริ่มต้นระบบใหม่ครั้งสุดท้ายโดย", + "no-users-browsing": "ไม่มีผู้ใช้งานที่กำลังดู", - "back-to-dashboard": "Back to Dashboard", - "details.no-users": "No users have joined within the selected timeframe", - "details.no-topics": "No topics have been posted within the selected timeframe", - "details.no-searches": "No searches have been made within the selected timeframe", - "details.no-logins": "No logins have been recorded within the selected timeframe", - "details.logins-static": "NodeBB only saves session data for %1 days, and so this table below will only show the most recently active sessions", + "back-to-dashboard": "กลับไปที่แดชบอร์ด", + "details.no-users": "ไม่มีผู้ใช้งานที่เข้าร่วมในช่วงเวลาที่เลือก", + "details.no-topics": "ไม่มีกระทู้ที่โพสต์ในช่วงเวลาที่เลือก", + "details.no-searches": "ไม่มีการค้นหาในช่วงเวลาที่เลือก", + "details.no-logins": "ไม่มีการเข้าสู่ระบบในช่วงเวลาที่เลือก", + "details.logins-static": "NodeBB เก็บข้อมูลเซสชันแค่ %1 วัน ดังนั้นตารางข้างล่างนี้แสดงเฉพาะเซสชันล่าสุดเท่านั้น", "details.logins-login-time": "เวลาที่ล็อกอิน", "start": "เริ่มต้น", "end": "สิ้นสุด", diff --git a/public/language/th/admin/development/info.json b/public/language/th/admin/development/info.json index 504759aa23..b78747dc04 100644 --- a/public/language/th/admin/development/info.json +++ b/public/language/th/admin/development/info.json @@ -2,23 +2,24 @@ "you-are-on": "You are on %1:%2", "ip": "IP %1", "nodes-responded": "%1 nodes ตอบสนองแล้วภายใน %2ms!", - "host": "host", - "primary": "primary / run jobs", + "host": "โฮสต์", + "primary": "primary / jobs", "pid": "pid", "nodejs": "nodejs", "online": "online", "git": "git", - "process-memory": "process memory", - "system-memory": "system memory", - "used-memory-process": "Used memory by process", - "used-memory-os": "Used system memory", - "total-memory-os": "Total system memory", - "load": "system load", - "cpu-usage": "cpu usage", + "process-memory": "หน่วยความจำโปรเซส", + "system-memory": "หน่วยความจำระบบ", + "used-memory-process": "หน่วยความจำที่ใช้โดยโปรเซส", + "used-memory-os": "หน่วยความจำระบบที่ใช้", + "total-memory-os": "หน่วยความจำระบบทั้งหมด", + "load": "โหลดของระบบ", + "cpu-usage": "การใช้งาน CPU", "uptime": "ระยะเวลาการทำงาน", "registered": "ลงทะเบียนแล้ว", - "sockets": "Sockets", + "sockets": "ซ็อกเก็ต", + "connection-count": "จำนวนการเชื่อมต่อ", "guests": "ผู้เยี่ยมเยียน", "info": "ข้อมูล" diff --git a/public/language/th/admin/extend/plugins.json b/public/language/th/admin/extend/plugins.json index 1a8f66fa6d..6f04a90ae7 100644 --- a/public/language/th/admin/extend/plugins.json +++ b/public/language/th/admin/extend/plugins.json @@ -1,6 +1,6 @@ { "plugins": "Plugins", - "trending": "Trending", + "trending": "กำลังนิยม", "installed": "ถูกติดตั้งแล้ว", "active": "ทำงาน", "inactive": "ไม่ทำงาน", @@ -11,7 +11,7 @@ "plugin-search": "การค้นหาปลั๊กอิน", "plugin-search-placeholder": "ค้นหาปลั๊กอิน...", - "submit-anonymous-usage": "Submit anonymous plugin usage data.", + "submit-anonymous-usage": "ส่งข้อมูลการใช้งานปลั๊กอินโดยไม่เปิดเผยตัวตน", "reorder-plugins": "เรียงลำดับปลั๊กอินใหม่", "order-active": "ลำดับการทำงานของปลั๊กอิน", "dev-interested": "คุณสนใจที่จะสร้างปลั๊กอินสำหรับ NodeBB หรือไม่?", @@ -32,25 +32,25 @@ "plugin-item.more-info": "ข้อมูลเพิ่มเติม:", "plugin-item.unknown": "ไม่ทราบ", "plugin-item.unknown-explanation": "สถานะของปลั๊กอินนี้ไม่สามารถระบุได้ซึ่งอาจเกิดจากข้อผิดพลาดในการกำหนดค่าผิดพลาด", - "plugin-item.compatible": "This plugin works on NodeBB %1", - "plugin-item.not-compatible": "This plugin has no compatibility data, make sure it works before installing on your production environment.", + "plugin-item.compatible": "ปลั๊กอินนี้ทำงานได้กับ NodeBB %1", + "plugin-item.not-compatible": "ปลั๊กอินนี้ไม่มีข้อมูลความเข้ากันได้ โปรดทดสอบว่ามันทำงานก่อนที่จะติดตั้งลงในระบบใช้งานจริง", "alert.enabled": "เปิดใช้งานปลั๊กอินแล้ว", "alert.disabled": "ปิดใช้งานปลั๊กอินแล้ว", "alert.upgraded": "อัพเกรดปลั๊กอินแล้ว", "alert.installed": "ติดตั้งปลั๊กอินแล้ว", "alert.uninstalled": "ถอนการติดตั้งปลั๊กอินแล้ว", - "alert.activate-success": "Please rebuild and restart your NodeBB to fully activate this plugin", + "alert.activate-success": "โปรดสร้างและเริ่มต้น NodeBB ใหม่เพื่อเปิดการใช้งานปลั๊กอินนี้โดยสมบูรณ์", "alert.deactivate-success": "ปิดการใช้งานปลั๊กอินนี้แล้ว", - "alert.upgrade-success": "Please rebuild and restart your NodeBB to fully upgrade this plugin.", + "alert.upgrade-success": "โปรดสร้างและเริ่มต้น NodeBB ใหม่เพื่ออัพเกรดปลั๊กอินนี้", "alert.install-success": "ติดตั้งปลั๊กอินแล้ว โปรดเปิดใช้งานปลั๊กอิน", "alert.uninstall-success": "ปิดใช้งานปลั๊กอินและยกเลิกการติดตั้งแล้ว", "alert.suggest-error": "

NodeBB ไม่สามารถเข้าถึงตัวจัดการแพคเกจดำเนินการติดตั้งเวอร์ชันล่าสุดได้หรือไม่?

เซิร์ฟเวอร์ตอบกลับ (%1): %2
", "alert.package-manager-unreachable": "

NodeBB ไม่สามารถติดต่อตัวจัดการแพคเกจได้ในขณะนี้เราไม่แนะนำให้อัปเกรด

", "alert.incompatible": "เวอร์ชันของ NodeBB (v%1) จะถูกล้างเพื่อให้มีการอัพเกรดไป v%2 ของปลั๊กอินนี้ โปรดอัปเดต NodeBB ของคุณหากคุณต้องการติดตั้งปลั๊กอินเวอร์ชันใหม่นี้

", "alert.possibly-incompatible": "

ไม่พบข้อมูลความเข้ากันได้

ปลั๊กอินนี้ไม่ได้ระบุเวอร์ชันเฉพาะสำหรับการติดตั้งที่ให้เวอร์ชัน NodeBB ของคุณ ไม่สามารถรับประกันความสามารถในการใช้งานร่วมกันได้เต็มรูปแบบและอาจทำให้ NodeBB ของคุณทำงานไม่ได้อย่างถูกต้องอีกต่อไป

ในกรณีที่ NodeBB ไม่สามารถบูตได้อย่างถูกต้อง:

$ ./nodebb reset plugin=\"%1\"

ติดตั้งปลั๊กอินนี้เวอร์ชันล่าสุดต่อหรือไม่?

", - "alert.reorder": "Plugins Re-ordered", - "alert.reorder-success": "Please rebuild and restart your NodeBB to fully complete the process.", + "alert.reorder": "ปลั๊กอินถูกเรียงลำดับใหม่แล้ว", + "alert.reorder-success": "โปรดสร้างและเริ่มต้น NodeBB ใหม่เพื่อเสร็จสิ้นกระบวนการ", "license.title": "ข้อมูลลิขสิทธิ์ปลั๊กอิน", "license.intro": "ปลั๊กอิน %1ได้รับอนุญาตภายใต้ %2 โปรดอ่านและทำความเข้าใจข้อกำหนดสิทธิ์การใช้งานก่อนเปิดใช้งานปลั๊กอินนี้", diff --git a/public/language/th/admin/extend/rewards.json b/public/language/th/admin/extend/rewards.json index 2706a25f51..c334de8498 100644 --- a/public/language/th/admin/extend/rewards.json +++ b/public/language/th/admin/extend/rewards.json @@ -1,17 +1,17 @@ { "rewards": "Rewards", - "add-reward": "Add reward", - "condition-if-users": "If User's", - "condition-is": "Is:", - "condition-then": "Then:", - "max-claims": "Amount of times reward is claimable", - "zero-infinite": "Enter 0 for infinite", - "select-reward": "Select reward", - "delete": "Delete", - "enable": "Enable", - "disable": "Disable", + "add-reward": "เพิ่มรางวัล", + "condition-if-users": "ถ้า ... ของผู้ใช้งาน", + "condition-is": "มีค่า:", + "condition-then": "แล้ว:", + "max-claims": "จำนวนครั้งที่สามารถรับรางวัลได้", + "zero-infinite": "ใส่ 0 ถ้ารับได้ไม่จำกัด", + "select-reward": "เลือกรางวัล", + "delete": "ลบ", + "enable": "เปิดการใช้งาน", + "disable": "ปิดการใช้งาน", - "alert.delete-success": "Successfully deleted reward", - "alert.no-inputs-found": "Illegal reward - no inputs found!", - "alert.save-success": "Successfully saved rewards" + "alert.delete-success": "ลบรางวัลสำเร็จ", + "alert.no-inputs-found": "รางวัลไม่ถูกต้อง - ยังไม่ได้ใส่ข้อมูล!", + "alert.save-success": "บันทึกรางวัลสำเร็จ" } \ No newline at end of file diff --git a/public/language/th/admin/extend/widgets.json b/public/language/th/admin/extend/widgets.json index 41d352d04b..b9309eaaa1 100644 --- a/public/language/th/admin/extend/widgets.json +++ b/public/language/th/admin/extend/widgets.json @@ -12,6 +12,8 @@ "container.card": "การ์ด", "container.card-header": "ส่วนหัวของการ์ด", "container.card-body": "ข้างในการ์ด", + "container.title": "ชื่อ", + "container.body": "เนื้อหา", "container.alert": "แจ้งเตือน", "alert.confirm-delete": "คุณต้องการจะลบวิดเจ็ตนี้หรือไม่?", diff --git a/public/language/th/admin/manage/categories.json b/public/language/th/admin/manage/categories.json index 8a9ff471b0..6d114d5abb 100644 --- a/public/language/th/admin/manage/categories.json +++ b/public/language/th/admin/manage/categories.json @@ -1,31 +1,31 @@ { - "manage-categories": "Manage Categories", - "add-category": "Add category", - "jump-to": "Jump to...", - "settings": "Category Settings", - "edit-category": "Edit Category", - "privileges": "Privileges", - "back-to-categories": "Back to categories", - "name": "Category Name", - "description": "Category Description", - "bg-color": "Background Colour", - "text-color": "Text Colour", - "bg-image-size": "Background Image Size", - "custom-class": "Custom Class", - "num-recent-replies": "# of Recent Replies", - "ext-link": "External Link", - "subcategories-per-page": "Subcategories per page", + "manage-categories": "จัดการหมวดหมู่", + "add-category": "เพิ่มหมวดหมู่", + "jump-to": "ไปที่...", + "settings": "การตั้งค่าหมวดหมู่", + "edit-category": "แก้ไขหมวดหมู่", + "privileges": "สิทธิ์", + "back-to-categories": "กลับไปที่หมวดหมู่ทั้งหมด", + "name": "ชื่อหมวดหมู่", + "description": "คำอธิบายหมวดหมู่", + "bg-color": "สีพื้น", + "text-color": "สีข้อความ", + "bg-image-size": "ขนาดภาพพื้นหลัง", + "custom-class": "ปรับแต่งคลาส", + "num-recent-replies": "จำนวนตอบกลับล่าสุด", + "ext-link": "ลิงก์ภายนอก", + "subcategories-per-page": "จำนวนหมวดหมู่ย่อยต่อหน้า", "is-section": "Treat this category as a section", - "post-queue": "Post queue", + "post-queue": "คิวการโพสต์", "tag-whitelist": "Tag Whitelist", - "upload-image": "Upload Image", - "upload": "Upload", - "delete-image": "Remove", - "category-image": "Category Image", - "image-and-icon": "Image & Icon", + "upload-image": "อัปโหลดรูป", + "upload": "อัปโหลด", + "delete-image": "ลบ", + "category-image": "รูปภาพหมวดหมู่", + "image-and-icon": "ภาพ & ไอคอน", "parent-category": "Parent Category", "optional-parent-category": "(Optional) Parent Category", - "top-level": "Top Level", + "top-level": "ระดับบนสุด", "parent-category-none": "(None)", "copy-parent": "Copy Parent", "copy-settings": "Copy Settings From", @@ -33,8 +33,8 @@ "clone-children": "Clone Children Categories And Settings", "purge": "Purge Category", - "enable": "Enable", - "disable": "Disable", + "enable": "เปิดการใช้งาน", + "disable": "ปิดการใช้งาน", "edit": "Edit", "analytics": "Analytics", diff --git a/public/language/th/admin/manage/users.json b/public/language/th/admin/manage/users.json index 482fc0148f..d876b10871 100644 --- a/public/language/th/admin/manage/users.json +++ b/public/language/th/admin/manage/users.json @@ -2,8 +2,8 @@ "manage-users": "Manage Users", "users": "ผู้ใช้", "edit": "จัดการ", - "make-admin": "ทำให้เป็นแอดมิน", - "remove-admin": "ยกเลิกการเป็นแอดมิน", + "make-admin": "ทำให้เป็นผู้ดูแลระบบ", + "remove-admin": "ยกเลิกการเป็นผู้ดูแลระบบ", "change-email": "เปลี่ยนอีเมล", "new-email": "เพิ่มอีเมลใหม่", "validate-email": "ยืนยันอีเมล", @@ -90,25 +90,25 @@ "alerts.flag-reset-success": "ยกเลิกรายงานแล้ว!", "alerts.no-remove-yourself-admin": "คุณไม่สามารถที่จะยกเลิกตัวเองจากการเป็นผู้ดูแลระบบ", "alerts.make-admin-success": "ขณะนี้ผู้ใช้เป็นผู้ดูแลระบบแล้ว", - "alerts.confirm-remove-admin": "คุณต้องการลบผู้ดูแลระบบคนนี้หรือไม่?", - "alerts.remove-admin-success": "ผู้ใช้ไม่ได้เป็นผู้ดูแลอีกต่อไป", - "alerts.make-global-mod-success": "ขณะนี้ผู้ใช้เป็นผู้ดูแลระดับโลกแล้ว", - "alerts.confirm-remove-global-mod": "คุณต้องการลบผู้ดูแลทั่วโลกนี้หรือไม่?", - "alerts.remove-global-mod-success": "ผู้ใช้ไม่เป็นผู้ดูแลระดับโลกอีกแล้ว", - "alerts.make-moderator-success": "ขณะนี้ผู้ใช้เป็นผู้ดูแล", - "alerts.confirm-remove-moderator": "คุณต้องการนำผู้ดูแลนี้ออกหรือไม่?", - "alerts.remove-moderator-success": "ผู้ใช้ไม่ได้เป็นผู้ดูแลอีกต่อไป", + "alerts.confirm-remove-admin": "คุณต้องการปลดผู้ดูแลระบบคนนี้หรือไม่?", + "alerts.remove-admin-success": "ผู้ใช้ไม่ได้เป็นผู้ดูแลระบบอีกต่อไป", + "alerts.make-global-mod-success": "ขณะนี้ผู้ใช้เป็นผู้ดูแลบอร์ดรวมแล้ว", + "alerts.confirm-remove-global-mod": "คุณต้องการปลดผู้ดูแลบอร์ดรวมนี้หรือไม่?", + "alerts.remove-global-mod-success": "ผู้ใช้ไม่เป็นผู้ดูแลบอร์ดรวมอีกแล้ว", + "alerts.make-moderator-success": "ขณะนี้ผู้ใช้เป็นผู้ดูแลบอร์ดแล้ว", + "alerts.confirm-remove-moderator": "คุณต้องการปลดผู้ดูแลบอร์ดนี้ออกหรือไม่?", + "alerts.remove-moderator-success": "ผู้ใช้ไม่ได้เป็นผู้ดูแลบอร์ดอีกต่อไป", "alerts.confirm-validate-email": "คุณต้องการที่ยืนยันอีเมลของผู้ใช้เหล่านี้หรือไม่?", "alerts.confirm-force-password-reset": "คุณต้องการให้ผู้ใช้เหล่านี้ถูกรีเซ็ตรหัสผ่านและออกจากระบบหรือไม่?", "alerts.validate-email-success": "อีเมลที่ได้รับการยืนยัน", "alerts.validate-force-password-reset-success": "รหัสผ่านของผู้ใช้งานถูกรีเซ็ต และการเข้าระบบถูกถอดออก", "alerts.password-reset-confirm": "คุณต้องการที่จะส่งอีเมลการล้างค่ารหัสผ่านให้กับผู้ใช้เหล่านี้หรือไม่?", "alerts.password-reset-email-sent": "อีเมลรีเซ็ตรหัสผ่านถูกส่งแล้ว", - "alerts.confirm-delete": "Warning!

Do you really want to delete user(s)?

This action is not reversible! Only the user account will be deleted, their posts and topics will remain.

", - "alerts.delete-success": "ผู้ใช้งานโดนลบ!", - "alerts.confirm-delete-content": "Warning!

Do you really want to delete these user(s) content?

This action is not reversible! The users' accounts will remain, but their posts and topics will be deleted.

", - "alerts.delete-content-success": "User(s) Content Deleted!", - "alerts.confirm-purge": "Warning!

Do you really want to delete user(s) and their content?

This action is not reversible! All user data and content will be erased!

", + "alerts.confirm-delete": "คำเตือน!

คุณต้องการลบ ผู้ใช้งานหรือไม่?

คำสั่งนี้ไม่สามารถย้อนกลับได้! เฉพาะบัญชีผู้ใช้งานเท่านั้นที่จะถูกลบ โพสต์และกระทู้ของผู้ใช้งานจะยังคงอยู่

", + "alerts.delete-success": "ผู้ใช้งานถูกลบแล้ว!", + "alerts.confirm-delete-content": "คำเตือน!

คุณต้องการลบเนื้อหาของผู้ใช้งานหรือไม่?

คำสั่งนี้ไม่สามารถย้อนกลับได้! บัญชีผู้ใช้งานจะยังคงอยู่ แต่โพสต์และกระทู้ของผู้ใช้งานจะถูกลบ

", + "alerts.delete-content-success": "เนื้อหาของผู้ใช้งานถูกลบแล้ว!", + "alerts.confirm-purge": "คำเตือน!

คุณต้องการลบผู้ใช้งานและเนื้อหาหรือไม่?

คำสั่งนี้ไม่สามารถย้อนกลับได้! ข้อมูลผู้ใช้งานและเนื้อหาจะถูกลบทั้งหมด!

", "alerts.create": "สร้างผู้ใช้งาน", "alerts.button-create": "สร้าง", "alerts.button-cancel": "ยกเลิก", @@ -119,8 +119,8 @@ "alerts.prompt-email": "อีเมล: ", "alerts.email-sent-to": "อีเมลคำเชิญถูกส่งไปที่ %1", - "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.x-users-found": "พบผู้ใช้งาน %1 ราย (ใช้เวลา %2 วินาที)", + "alerts.select-a-single-user-to-change-email": "เลือกผู้ใช้งานที่จะเปลี่ยนอีเมล", "export": "ส่งออกไฟล์", "export-users-fields-title": "เลือกฟิลด์สำหรับ CSV", "export-field-email": "อีเมล", @@ -143,9 +143,9 @@ "export-field-signature": "ลายเซ็น", "export-field-aboutme": "เกี่ยวกับฉัน", - "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.", - "email": "Email", - "password": "Password", - "manage": "Manage" + "export-users-started": "กำลังส่งออกข้อมูลผู้ใช้งานเป็น CSV ซึ่งอาจใช้เวลาสักระยะ คุณจะได้รับการแจ้งเตือนเมื่อเสร็จแล้ว", + "export-users-completed": "ข้อมูลผู้ใช้งานถูกส่งออกเป็น CSV แล้ว คลิกที่นี่เพื่อดาวน์โหลด", + "email": "อีเมล", + "password": "รหัสผ่าน", + "manage": "จัดการ" } \ No newline at end of file diff --git a/public/language/th/admin/settings/homepage.json b/public/language/th/admin/settings/homepage.json index 48f9ebe23a..5a0b8eda6e 100644 --- a/public/language/th/admin/settings/homepage.json +++ b/public/language/th/admin/settings/homepage.json @@ -4,5 +4,5 @@ "home-page-route": "เส้นทางหน้าแรก", "custom-route": "เส้นทางที่กำหนดเอง", "allow-user-home-pages": "อนุญาตหน้าแรกของผู้ใช้", - "home-page-title": "Title ของหน้าแรก (ค่าเริ่มต้น \"Home\")" + "home-page-title": "ชื่อของหน้าแรก (ค่าเริ่มต้นคือ \"Home\")" } \ No newline at end of file diff --git a/public/language/th/admin/settings/reputation.json b/public/language/th/admin/settings/reputation.json index e4fff22620..cfa0047e73 100644 --- a/public/language/th/admin/settings/reputation.json +++ b/public/language/th/admin/settings/reputation.json @@ -1,37 +1,44 @@ { "reputation": "Reputation Settings", - "disable": "Disable Reputation System", - "disable-down-voting": "Disable Down Voting", - "votes-are-public": "All Votes Are Public", - "thresholds": "Activity Thresholds", - "min-rep-upvote": "Minimum reputation to upvote posts", - "upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)", - "upvotes-per-user-per-day": "Upvotes per user per day (set to 0 for unlimited upvotes)", - "min-rep-downvote": "Minimum reputation to downvote posts", - "downvotes-per-day": "Downvotes per day (set to 0 for unlimited downvotes)", - "downvotes-per-user-per-day": "Downvotes per user per day (set to 0 for unlimited downvotes)", - "min-rep-chat": "Minimum reputation to send chat messages", - "min-rep-post-links": "Minimum reputation to post links", - "min-rep-flag": "Minimum reputation to flag posts", - "min-rep-website": "Minimum reputation to add \"Website\" to user profile", - "min-rep-aboutme": "Minimum reputation to add \"About me\" to user profile", - "min-rep-signature": "Minimum reputation to add \"Signature\" to user profile", - "min-rep-profile-picture": "Minimum reputation to add \"Profile Picture\" to user profile", - "min-rep-cover-picture": "Minimum reputation to add \"Cover Picture\" to user profile", + "disable": "ปิดการใช้งานระบบชื่อเสียง", + "disable-down-voting": "ปิดการใช้งานการโหวดลง", + "upvote-visibility": "การมองเห็นผลโหวตขึ้น", + "upvote-visibility-all": "ทุกคนสามารถเห็นผลโหวตขึ้น", + "upvote-visibility-loggedin": "เฉพาะผู้ที่เข้าระบบแล้วถึงเห็นผลโหวตขึ้น", + "upvote-visibility-privileged": "เฉพาะผู้ที่ได้สิทธิ์เช่นผู้ดูแลระบบหรือผู้ควบคุมถึงเห็นผลโหวตขึ้น", + "downvote-visibility": "การมองเห็นผลโหวตลง", + "downvote-visibility-all": "ทุกคนสามารถเห็นผลโหวตลง", + "downvote-visibility-loggedin": "เฉพาะผู้ที่เข้าระบบแล้วถึงเห็นผลโหวตลง", + "downvote-visibility-privileged": "เฉพาะผู้ที่ได้สิทธิ์เช่นผู้ดูแลระบบหรือผู้ควบคุมถึงเห็นผลโหวตลง", + "thresholds": "เกณฑ์สำหรับการกระทำ", + "min-rep-upvote": "ชื่อเสียงขั้นต่ำที่สามารถโหวดโพสต์ขึ้นได้", + "upvotes-per-day": "จำนวนโหวดขึ้นต่อวัน (ตั้งค่าเป็น 0 ถ้าให้โหวดขึ้นได้ไม่จำกัดจำนวน)", + "upvotes-per-user-per-day": "จำนวนโหวดขึ้นต่อผู้ใช้งานต่อวัน (ตั้งค่าเป็น 0 ถ้าให้โหวดขึ้นได้ไม่จำกัดจำนวน)", + "min-rep-downvote": "ชื่อเสียงขั้นต่ำที่สามารถโหวดโพสต์ลงได้", + "downvotes-per-day": "จำนวนโหวดลงต่อวัน (ตั้งค่าเป็น 0 ถ้าให้โหวดลงได้ไม่จำกัดจำนวน)", + "downvotes-per-user-per-day": "จำนวนโหวดลงต่อผู้ใช้งานต่อวัน (ตั้งค่าเป็น 0 ถ้าให้โหวดลงได้ไม่จำกัดจำนวน)", + "min-rep-chat": "ชื่อเสียงขึ้นต่ำที่สามารถส่งข้อความแชทได้", + "min-rep-post-links": "ชื่อเสียงขึ้นต่ำที่สามารถโพสต์ลิงก์ได้", + "min-rep-flag": "ชื่อเสียงขึ้นต่ำที่สามารถรายงานโพสต์ได้", + "min-rep-website": "ชื่อเสียงขึ้นต่ำที่สามารถเพิ่ม เว็บไซต์ ลงในหน้าโปรไฟล์ผู้ใช้", + "min-rep-aboutme": "ชื่อเสียงขึ้นต่ำที่สามารถเพิ่ม ข้อมูลเกี่ยวกับฉัน ลงในหน้าโปรไฟล์ผู้ใช้", + "min-rep-signature": "ชื่อเสียงขึ้นต่ำที่สามารถเพิ่ม ลายเซ็น ลงในหน้าโปรไฟล์ผู้ใช้", + "min-rep-profile-picture": "ชื่อเสียงขึ้นต่ำที่สามารถเพิ่ม รูปภาพโปรไฟล์ ลงในหน้าโปรไฟล์ผู้ใช้", + "min-rep-cover-picture": "ชื่อเสียงขึ้นต่ำที่สามารถเพิ่ม รูปภาพปก ลงในหน้าโปรไฟล์ผู้ใช้", - "flags": "Flag Settings", - "flags.limit-per-target": "Maximum number of times something can be flagged", - "flags.limit-per-target-placeholder": "Default: 0", - "flags.limit-per-target-help": "When a post or user is flagged multiple times, each additional flag is considered a "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.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.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.nothing": "Do nothing", - "flags.action.rescind": "Rescind the notification sent to moderators/administrators" + "flags": "การตั้งค่าการรายงาน", + "flags.limit-per-target": "จำนวนครั้งสูงสุดที่บางอย่างสามารถถูกรายงานได้", + "flags.limit-per-target-placeholder": "ค่าเริ่มต้น: 0", + "flags.limit-per-target-help": "เมื่อโพสต์หรือผู้ใช้งานถูกรายงานหลายครั้ง ทุกการรายงานเพิ่มเติมจะถูกนับเป็น "จำนวนรายงาน" ตั้งค่าตัวเลือกนี้เป็นตัวเลขอื่นนอกเหนือจาก 0 เพื่อจำกัดจำนวนรายงานที่สามารถได้รับ", + "flags.limit-post-flags-per-day": "จำนวนครั้งสูงสุดที่ผู้ใช้งานหนึ่งสามารถรายงานโพสต์ได้ใน 1 วัน", + "flags.limit-post-flags-per-day-help": "ตั้งค่าเป็น 0 ถ้าสามารถทำได้ไม่จำกัด (ค่าเริ่มต้น: 10)", + "flags.limit-user-flags-per-day": "จำนวนครั้งสูงสุดที่ผู้ใช้งานหนึ่งสามารถรายงานผู้ใช้งานอื่นได้ใน 1 วัน", + "flags.limit-user-flags-per-day-help": "ตั้งค่าเป็น 0 ถ้าสามารถทำได้ไม่จำกัด (ค่าเริ่มต้น: 10)", + "flags.auto-flag-on-downvote-threshold": "จำนวนการโหวดลงที่ทำให้ระบบรายงานโพสต์โดยอัตโนมัติทำงาน", + "flags.auto-flag-on-downvote-threshold-help": "ตั้งค่าเป็น 0 ถ้าสามารถทำได้ไม่จำกัด (ค่าเริ่มต้น: 10)", + "flags.auto-resolve-on-ban": "ถือว่ารายงานทั้งหมดของผู้ใช้งานถูกจัดการแล้วเมื่อผู้ใช้งานนั้นโดนแบน", + "flags.action-on-resolve": "เมื่อการรายงานถูกจัดการแล้ว ให้ทำดังต่อไปนี้", + "flags.action-on-reject": "เมื่อการรายงานถูกปฏิเสธ ให้ทำดังต่อไปนี้", + "flags.action.nothing": "ไม่ทำอะไร", + "flags.action.rescind": "ยกเลิกการแจ้งเตือน ผู้ดูแลบอร์ด และผู้ดูแลระบบ" } \ No newline at end of file diff --git a/public/language/th/admin/settings/sockets.json b/public/language/th/admin/settings/sockets.json index d04ee42fcf..0ad873891a 100644 --- a/public/language/th/admin/settings/sockets.json +++ b/public/language/th/admin/settings/sockets.json @@ -1,6 +1,6 @@ { "reconnection": "Reconnection Settings", - "max-attempts": "Max Reconnection Attempts", - "default-placeholder": "Default: %1", - "delay": "Reconnection Delay" + "max-attempts": "จำนวนการเชื่อมต่อใหม่สูงสุด", + "default-placeholder": "ค่าเริ่มต้น: %1", + "delay": "เวลาที่รอก่อนเชื่อมต่อใหม่" } \ No newline at end of file diff --git a/public/language/th/admin/settings/tags.json b/public/language/th/admin/settings/tags.json index c1cdb2b644..34b0620615 100644 --- a/public/language/th/admin/settings/tags.json +++ b/public/language/th/admin/settings/tags.json @@ -1,13 +1,13 @@ { "tag": "Tag Settings", - "link-to-manage": "Manage Tags", - "system-tags": "System Tags", - "system-tags-help": "Only privileged users will be able to use these tags.", - "tags-per-topic": "Tags per topic", - "min-per-topic": "Minimum Tags per Topic", - "max-per-topic": "Maximum Tags per Topic", - "min-length": "Minimum Tag Length", - "max-length": "Maximum Tag Length", - "related-topics": "Related Topics", - "max-related-topics": "Maximum related topics to display (if supported by theme)" + "link-to-manage": "จัดการแท็ก", + "system-tags": "แท็กของระบบ", + "system-tags-help": "เฉพาะผู้ที่มีสิทธิ์พิเศษถึงสามารถใช้แท็กเหล่านี้ได้", + "tags-per-topic": "จำนวนแท็กของกระทู้", + "min-per-topic": "จำนวนแท็กของกระทู้ขั้นต่ำ", + "max-per-topic": "จำนวนแท็กของกระทู้สูงสุด", + "min-length": "ความยาวแท็กขั้นต่ำ", + "max-length": "ความยาวแท็กสูงสุด", + "related-topics": "กระทู้ที่เกี่ยวข้อง", + "max-related-topics": "แสดงจำนวนกระทู้ที่เกี่ยวข้องมากสุด (ถ้าธีมรองรับ)" } \ No newline at end of file diff --git a/public/language/th/error.json b/public/language/th/error.json index b9ade6bfae..5b7a298cfc 100644 --- a/public/language/th/error.json +++ b/public/language/th/error.json @@ -153,6 +153,7 @@ "about-me-too-long": "ขออภัย \"เกี่ยวกับฉัน\" ของคุณไม่สามารถยาวเกิน %1 ตัวอักษร(s) ได้", "cant-chat-with-yourself": "คุณไม่สามารถแชทกับตัวเองได้นะ!", "chat-restricted": "ผู้ใช้นี้ถูกจำกัดข้อความแชท เขาต้องติดตามคุณก่อน คุณจึงจะสามารถแชทกับเขาได้", + "chat-user-blocked": "คุณถูกบล็อกโดยผู้ใช้คนนี้", "chat-disabled": "ระบบแชทถูกปิดใช้งาน", "too-many-messages": "คุณได้ส่งข้อความมากเกินไป กรุณารอสักครู่", "invalid-chat-message": "ข้อความแชทไม่ถูกต้อง", diff --git a/public/language/th/global.json b/public/language/th/global.json index f5aac99b63..e594121bd5 100644 --- a/public/language/th/global.json +++ b/public/language/th/global.json @@ -134,7 +134,7 @@ "unsaved-changes": "การเปลี่ยนแปลงของคุณจะไม่ได้รับการบันทึก คุณแน่ใจหรือว่าต้องการออกจากที่นี่?", "reconnecting-message": "เหมือนกับว่าการเชื่อมต่อของคุณเพื่อไปยัง %1 นั้นขาดหาย กรุณารอสักครู่ เรากำลังพยายามเชื่อมต่อใหม่", "play": "เล่น", - "cookies.message": "เว็บไวต์นี้ใช้คุกกี้เพื่อที่จะทำให้แน่ใจว่า คุณได้รับประสบการณ์ที่เยี่ยมยอดที่สุดในการเข้าใช้เว็บไซต์ของเรา", + "cookies.message": "เว็บไซต์นี้ใช้คุกกี้เพื่อที่จะทำให้แน่ใจว่า คุณได้รับประสบการณ์ที่เยี่ยมยอดที่สุดในการเข้าใช้เว็บไซต์ของเรา", "cookies.accept": "เข้าใจแล้ว!!!", "cookies.learn-more": "เรียนรู้เพิ่มเติม", "edited": "ถูกแก้ไขแล้ว", diff --git a/public/language/th/modules.json b/public/language/th/modules.json index 2a3ae08a34..bbabe4b7c7 100644 --- a/public/language/th/modules.json +++ b/public/language/th/modules.json @@ -1,12 +1,13 @@ { "chat.room-id": "ห้อง %1", "chat.chatting-with": "คุยกับ", - "chat.placeholder": "พิมพ์ข้อความแชทที่นี้ ลากและปล่อยรูปภาพ กดปุ่ม enter เพื่อส่ง", - "chat.placeholder.mobile": "พิมพ์ข้อความแชทที่นี่", + "chat.placeholder": "พิมพ์ข้อความแชทที่นี่ หรือลากรูปภาพมาปล่อย", + "chat.placeholder.mobile": "พิมพ์ข้อความแชท", + "chat.placeholder.message-room": "ข้อความ %1", "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-and-x-others": "แชทกับ %1, %2 และผู้อื่น", + "chat.chat-with-usernames-and-x-others": "แชทกับ %1 และอีก %2 คน", "chat.send": "ส่ง", "chat.no-active": "คุณไม่มีแชทที่คุยอยู่", "chat.user-typing-1": "%1 กำลังพิมพ์ ...", diff --git a/public/language/th/notifications.json b/public/language/th/notifications.json index b367a012fb..4c0996ea8d 100644 --- a/public/language/th/notifications.json +++ b/public/language/th/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 และอีก %3 คน ได้โพสต์คำตอบไปยัง %4", "user-posted-topic": "%1ได้โพสต์กระทู้ใหม่ : %2", "user-edited-post": "%1 ได้แก้ไขโพสต์ใน %2", - "user-posted-topic-with-tag": "%1 ได้โพสต์กระทู้ใหม่ที่ติดแท็ก %2", - "user-posted-topic-with-tag-dual": "%1 ได้โพสต์กระทู้ใหม่ที่ติดแท็ก %2 และ %3", - "user-posted-topic-with-tag-triple": "%1 ได้โพสต์กระทู้ใหม่ที่ติดแท็ก %2, %3 และ %4", - "user-posted-topic-with-tag-multiple": "%1 ได้โพสต์กระทู้ใหม่ที่ติดแท็ก %2", + "user-posted-topic-with-tag": "%1 ได้โพสต์ %2 (ติดแท็ก %3)", + "user-posted-topic-with-tag-dual": "%1 ได้โพสต์ %2 (ติดแท็ก %3 และ %4)", + "user-posted-topic-with-tag-triple": "%1 ได้โพสต์ %2 (ติดแท็ก %3, %4 และ %5)", + "user-posted-topic-with-tag-multiple": "%1 ได้โพสต์ %2 (ติดแท็ก %3)", "user-posted-topic-in-category": "%1 ได้โพสต์กระทู้ใหม่ใน %2", "user-started-following-you": "%1 ได้เริ่มติดตามคุณ", "user-started-following-you-dual": "%1และ%2ได้เริ่มติดตามคุณ", @@ -75,6 +75,7 @@ "email-confirmed": "อีเมลได้รับการยืนยันแล้ว", "email-confirmed-message": "ขอบคุณที่ยืนยันอีเมลของคุณ บัญชีของคุณสามารถใช้งานได้แล้ว", "email-confirm-error-message": "มีปัญหาในการยืนยันอีเมลของคุณ รหัสอาจไม่ถูกต้องหรือหมดอายุแล้ว", + "email-confirm-error-message-already-validated": "อีเมลของคุณได้รับการยืนยันไปแล้ว", "email-confirm-sent": "ส่งอีเมลยืนยันแล้ว", "none": "ไม่มี", "notification-only": "แจ้งเตือนอย่างเดียว", diff --git a/public/language/th/pages.json b/public/language/th/pages.json index 02b27e9839..37ca460035 100644 --- a/public/language/th/pages.json +++ b/public/language/th/pages.json @@ -52,8 +52,9 @@ "account/bookmarks": "บุ๊กมาร์คโพสต์ของ %1", "account/settings": "การตั้งค่าผู้ใช้", "account/settings-of": "กำลังเปลี่ยนแปลงการตั้งค่าของ %1", - "account/watched": "กระทู้ที่ถูกดูโดย %1", + "account/watched": "กระทู้ที่ถูกเฝ้าดูโดย %1", "account/ignored": "กระทู้ที่ถูกละเว้นโดย %1", + "account/read": "กระทู้ที่ถูกอ่านโดย %1", "account/upvoted": "โพสต์ที่ถูกโหวตขึ้นโดย %1", "account/downvoted": "โพสต์ที่โหวตลงโดย %1", "account/best": "โพสต์ดีที่สุดที่ถูกสร้างโดย %1", diff --git a/public/language/th/post-queue.json b/public/language/th/post-queue.json index 117c166ffa..21320ff288 100644 --- a/public/language/th/post-queue.json +++ b/public/language/th/post-queue.json @@ -26,7 +26,7 @@ "notify-user": "แจ้งเตือนผู้ใช้งาน", "confirm-reject": "คุณต้องการปฏิเสธโพสต์นี้หรือไม่?", "confirm-remove": "คุณต้องการลบโพสต์นี้หรือไม่??", - "bulk-actions": "คำสั่งทีละมากๆ", + "bulk-actions": "จัดการทีละมากๆ", "accept-all": "ยอมรับทั้งหมด", "accept-selected": "ยอมรับที่เลือก", "reject-all": "ปฏิเสธทั้งหมด", @@ -38,5 +38,6 @@ "remove-selected": "ลบที่เลือก", "remove-selected-confirm": "คุณต้องการลบโพสต์ที่เลือกจำนวน %1 โพสต์หรือไม่?", "bulk-accept-success": "%1 โพสต์ถูกยอมรับ", - "bulk-reject-success": "%1 โพสต์ถูกปฏิเสธ" + "bulk-reject-success": "%1 โพสต์ถูกปฏิเสธ", + "links-in-this-post": "ลิงก์ในโพสต์นี้" } \ No newline at end of file diff --git a/public/language/th/themes/harmony.json b/public/language/th/themes/harmony.json index ad25121e17..94bb567d0a 100644 --- a/public/language/th/themes/harmony.json +++ b/public/language/th/themes/harmony.json @@ -7,7 +7,8 @@ "login-register-to-search": "เข้าสู่ระบบหรือสมัครบัญชีเพื่อค้นหา", "settings.title": "การตั้งค่าธีม", "settings.enableQuickReply": "เปิดใช้งานการตอบกลับทันที", - "settings.enableBreadcrumbs": "เปิดใช้งานแถบนำทาง", + "settings.enableBreadcrumbs": "แสดงแถบนำทางในหน้าหมวดหมู่และกระทู้", + "settings.enableBreadcrumbs.why": "ในหน้าส่วนใหญ่จะเห็นแถบนำทางเพื่อช่วยให้ไปที่หน้าต่างๆได้สะดวก การออกแบบหน้าหมวดหมู่และกระทู้มีวิธีกลับไปยังหน้าหลักอยู่แล้ว จึงสามารถปิดการแสดงแถบนำทางเพื่อไม่ให้หน้าดูรกเกินไป", "settings.centerHeaderElements": "ทำให้ข้อความส่วนหัวอยู่ตรงกลาง", "settings.mobileTopicTeasers": "แสดงตัวอย่างเนื้อหากระทู้บนมือถือ", "settings.stickyToolbar": "แถบเครื่องมือแบบ sticky", diff --git a/public/language/th/user.json b/public/language/th/user.json index e68b9dc4f0..8f1a4fdebf 100644 --- a/public/language/th/user.json +++ b/public/language/th/user.json @@ -43,6 +43,7 @@ "change-all": "เปลี่ยนทั้งหมด", "watched": "ดูแล้ว", "ignored": "ยกเว้นแล้ว", + "read": "อ่านแล้ว", "default-category-watch-state": "ค่าเริ่มต้นของสถานะการเฝ้าดู", "followers": "คนติดตาม", "following": "ติดตาม", @@ -78,6 +79,7 @@ "change-password": "เปลี่ยนรหัสผ่าน", "change-password-error": "รหัสผ่านใช้ไม่ได้", "change-password-error-wrong-current": "รหัสผ่านปัจจุบันไม่ถูกต้อง", + "change-password-error-same-password": "รหัสผ่านของคุณเหมือนกับรหัสผ่านปัจจุบัน โปรดเลือกรหัสผ่านใหม่", "change-password-error-match": "รหัสผ่านต้องเหมือนกัน", "change-password-error-privileges": "คุณไม่มีสิทธิเปลี่ยนรหัสผ่านนี้", "change-password-success": "รหัสผ่านของคุณได้รับการแก้ไขแล้ว", @@ -113,6 +115,7 @@ "has-no-topics": "ผู้ใช้รายนี้ยังไม่เคยตั้งกระทู้ใดๆ", "has-no-watched-topics": "ผู้ใช้รายนี้ไม่ได้ติดตามกระทู้ใดๆ", "has-no-ignored-topics": "ผู้ใช้รายนี้ไม่ได้ละเว้นกระทู้ใดๆ", + "has-no-read-topics": "ผู้ใช้รายนี้ไม่ได้อ่านกระทู้ใดๆ", "has-no-upvoted-posts": "ผู้ใช้รายนี้ไม่ได้โหวตขึ้นให้ข้อความใดๆ", "has-no-downvoted-posts": "ผู้ใช้รายนี้ไม่ได้โหวตลงให้ข้อความใดๆ", "has-no-controversial-posts": "ผู้ใช้รายนี้ยังไม่มีโพสต์ที่ได้รับโหวดลงเลย", @@ -170,7 +173,7 @@ "info.reported-by": "ถูกรายงานโดย:", "info.no-flags": "ไม่พบโพสต์ที่ถูกรายงาน", "info.ban-history": "ประวัติแบนล่าสุด", - "info.no-ban-history": "ผู้ใช้นี้ถูกแบนแล้ว", + "info.no-ban-history": "ผู้ใช้รายนี้ยังไม่เคยถูกแบน", "info.banned-until": "แบนจนกว่า %1", "info.banned-expiry": "หมดอายุ", "info.ban-expired": "การแบนหมดอายุ", diff --git a/public/language/th/users.json b/public/language/th/users.json index e2cb57f4ea..91872ee541 100644 --- a/public/language/th/users.json +++ b/public/language/th/users.json @@ -1,5 +1,6 @@ { "all-users": "ผู้ใช้งานทั้งหมด", + "followed-users": "ผู้ใช้งานที่ติดตาม", "latest-users": "ผู้ใช้งานล่าสุด", "top-posters": "ผู้ที่โพสต์มากที่สุด", "most-reputation": "ผู้ที่มีชื่อเสียงมากที่สุด", diff --git a/public/language/tr/admin/development/info.json b/public/language/tr/admin/development/info.json index 4aa20f221e..d1bccbc674 100644 --- a/public/language/tr/admin/development/info.json +++ b/public/language/tr/admin/development/info.json @@ -3,7 +3,7 @@ "ip": "IP %1", "nodes-responded": "%2ms içinde %1 düğüm yanıt verdi!", "host": "sunucu", - "primary": "ana sunucu / işlemleri gerçekleştir", + "primary": "primary / jobs", "pid": "pid", "nodejs": "nodejs", "online": "çevrimiçi", @@ -19,6 +19,7 @@ "registered": "Kayıtlı", "sockets": "Soketler", + "connection-count": "Connection Count", "guests": "Ziyaretçiler", "info": "Bilgi" diff --git a/public/language/tr/admin/extend/widgets.json b/public/language/tr/admin/extend/widgets.json index 41e26ab4ee..ee28840a68 100644 --- a/public/language/tr/admin/extend/widgets.json +++ b/public/language/tr/admin/extend/widgets.json @@ -12,6 +12,8 @@ "container.card": "Kart", "container.card-header": "Kart Başlığı", "container.card-body": "Kart İçeriği", + "container.title": "Title", + "container.body": "Body", "container.alert": "Uyarı", "alert.confirm-delete": "Bu bileşeni silmek istediğinizden emin misiniz?", diff --git a/public/language/tr/admin/settings/reputation.json b/public/language/tr/admin/settings/reputation.json index 850e692e36..9d14776e72 100644 --- a/public/language/tr/admin/settings/reputation.json +++ b/public/language/tr/admin/settings/reputation.json @@ -2,7 +2,14 @@ "reputation": "İtibar Ayarları", "disable": "İtibar Sistemini Devre Dışı Bırak", "disable-down-voting": "Eksi Oyu Devre Dışı Bırak", - "votes-are-public": "Tüm Oylar Herkese Açık", + "upvote-visibility": "Up Vote visibility", + "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": "Etkinlik Eşikleri", "min-rep-upvote": "Artılanan iletiler için gereken minimum itibar", "upvotes-per-day": "Artı oy günlük limiti (sınırsız artı oy için 0 giriniz)", diff --git a/public/language/tr/error.json b/public/language/tr/error.json index 5001e2807f..f044301fee 100644 --- a/public/language/tr/error.json +++ b/public/language/tr/error.json @@ -153,6 +153,7 @@ "about-me-too-long": "Hakkınızda yazdıklarınız en fazla %1 karakter olabilir.", "cant-chat-with-yourself": "Kendinizle sohbet edemezsiniz!", "chat-restricted": "Bu kullanıcı sohbet ayarlarını kısıtlamış. Bu kişiye mesaj gönderebilmeniz için sizi takip etmeleri gerekiyor", + "chat-user-blocked": "You have been blocked by this user.", "chat-disabled": "Sohbet özelliği kapalı", "too-many-messages": "Ardı ardına çok fazla mesaj yolladınız, lütfen biraz bekleyiniz.", "invalid-chat-message": "Geçersiz sohbet mesajı", diff --git a/public/language/tr/modules.json b/public/language/tr/modules.json index 61aa0841b7..53ef99d661 100644 --- a/public/language/tr/modules.json +++ b/public/language/tr/modules.json @@ -1,8 +1,9 @@ { "chat.room-id": "Oda %1", "chat.chatting-with": "Sohbet", - "chat.placeholder": "Mesajı yazın veya resim sürükleyip bırakın", - "chat.placeholder.mobile": "Sohbet içeriğini buraya giriniz", + "chat.placeholder": "Type chat message here, drag & drop images", + "chat.placeholder.mobile": "Type chat message", + "chat.placeholder.message-room": "Message #%1", "chat.scroll-up-alert": "En son yazılan mesaja geri dönün", "chat.usernames-and-x-others": "%1 & %2 başka kişi", "chat.chat-with-usernames": "%1 ile sohbet edin", diff --git a/public/language/tr/notifications.json b/public/language/tr/notifications.json index 4b432e2d32..0ab796c447 100644 --- a/public/language/tr/notifications.json +++ b/public/language/tr/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 ve %3 diğer kullanıcı şu konuya ileti yazdılar: %4", "user-posted-topic": "%1 şu yeni konuyu oluşturdu: %2", "user-edited-post": "%1 şu konudaki bir iletiyi değiştirdi: %2", - "user-posted-topic-with-tag": "%1 şu etiketi kullanarak yeni bir konu oluşturdu: %2", - "user-posted-topic-with-tag-dual": "%1 şu etiketleri kullanarak yeni bir konu oluşturdu: %2 ve %3", - "user-posted-topic-with-tag-triple": "%1 şu etiketleri kullanarak yeni bir konu oluşturdu: %2, %3 ve %4", - "user-posted-topic-with-tag-multiple": "%1 şu etiketleri kullanarak yeni bir konu oluşturdu: %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 şu kategoride yeni bir başlık oluşturdu: %2", "user-started-following-you": "%1 sizi takip etmeye başladı", "user-started-following-you-dual": "%1 ve %2 sizi takip etmeye başladı.", @@ -75,6 +75,7 @@ "email-confirmed": "E-posta onaylandı", "email-confirmed-message": "E-postanızı onayladığınız için teşekkürler. Hesabınız tamamen aktif edildi.", "email-confirm-error-message": "E-posta adresinizi onaylarken bir hata oluştu. Kodunuz geçersiz ya da eski olabilir.", + "email-confirm-error-message-already-validated": "Your email address was already validated.", "email-confirm-sent": "Onay e-postası gönderildi.", "none": "Hiçbiri", "notification-only": "Sadece Bildirim", diff --git a/public/language/tr/pages.json b/public/language/tr/pages.json index 1036c0ee52..c5f7a2edb4 100644 --- a/public/language/tr/pages.json +++ b/public/language/tr/pages.json @@ -54,6 +54,7 @@ "account/settings-of": "%1 ayarları değiştiriliyor", "account/watched": "%1 tarafından takip edilen başlıklar", "account/ignored": "%1 tarafından yok sayılan başlıklar", + "account/read": "Topics read by %1", "account/upvoted": "%1 tarafından artılanan iletiler", "account/downvoted": "%1 tarafından eksilenen iletiler", "account/best": "%1 tarafından gönderilen en iyi iletiler", diff --git a/public/language/tr/post-queue.json b/public/language/tr/post-queue.json index 1cb68ec41c..e643e82d46 100644 --- a/public/language/tr/post-queue.json +++ b/public/language/tr/post-queue.json @@ -38,5 +38,6 @@ "remove-selected": "Seçili olanları kaldır", "remove-selected-confirm": "Seçili %1 iletiyi kaldırmak istiyor musunuz? ", "bulk-accept-success": "%1 ileti onaylandı", - "bulk-reject-success": "%1 ileti reddedildi" + "bulk-reject-success": "%1 ileti reddedildi", + "links-in-this-post": "Links in this post" } \ No newline at end of file diff --git a/public/language/tr/themes/harmony.json b/public/language/tr/themes/harmony.json index 4c3582602a..524af6091f 100644 --- a/public/language/tr/themes/harmony.json +++ b/public/language/tr/themes/harmony.json @@ -7,7 +7,8 @@ "login-register-to-search": "Aramak için giriş yapın veya kaydolun", "settings.title": "Tema Ayarları", "settings.enableQuickReply": "Hızlı Cevabı Etkinleştir", - "settings.enableBreadcrumbs": "Başlıklar için yol izini (breadcrumbs) göster", + "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": "Tepedeki Merkezi Öğeler", "settings.mobileTopicTeasers": "Başlık Önizlemelerini mobilde göster", "settings.stickyToolbar": "Yapışkan Araç Çubuğu", diff --git a/public/language/tr/user.json b/public/language/tr/user.json index 19ff16fc21..daa6e4e7eb 100644 --- a/public/language/tr/user.json +++ b/public/language/tr/user.json @@ -43,6 +43,7 @@ "change-all": "Hepsini Değiştir", "watched": "Takip edilen başlıklar", "ignored": "Susturulan başlıklar", + "read": "Read", "default-category-watch-state": "Varsayılan kategori izleme durumu", "followers": "Takipçiler", "following": "Takip Edilenler", @@ -78,6 +79,7 @@ "change-password": "Şifre Değiştir", "change-password-error": "Geçersiz Şifre", "change-password-error-wrong-current": "Şu anki şifre doğru değil!", + "change-password-error-same-password": "Your new password matches your current password, please use a new password.", "change-password-error-match": "Şifreler aynı olmalı!", "change-password-error-privileges": "Bu şifreyi değiştirme yetkiniz yok.", "change-password-success": "Şifreniz güncellendi!", @@ -113,6 +115,7 @@ "has-no-topics": "Bu kullanıcı henüz hiçbir başlık açmamış :(", "has-no-watched-topics": "Bu kullanıcı henüz hiçbir başlığı takip etmiyor :(", "has-no-ignored-topics": "Bu kullanıcı henüz hiçbir başlığı yok saymamış.", + "has-no-read-topics": "This user hasn't read any topics yet.", "has-no-upvoted-posts": "Bu kullanıcı henüz hiçbir iletiyi artılamamış.", "has-no-downvoted-posts": "Bu kullanıcı henüz hiçbir iletiyi eksilememiş.", "has-no-controversial-posts": "Bu kullanıcının herhangi bir gönderisi eksi oy almadı.", diff --git a/public/language/tr/users.json b/public/language/tr/users.json index 60fd516e80..db602962b0 100644 --- a/public/language/tr/users.json +++ b/public/language/tr/users.json @@ -1,5 +1,6 @@ { "all-users": "Tüm kullanıcılar", + "followed-users": "Followed Users", "latest-users": "En Yeni Kullanıcılar", "top-posters": "En Fazla Gönderim Yapanlar", "most-reputation": "En Saygınlar", diff --git a/public/language/uk/admin/development/info.json b/public/language/uk/admin/development/info.json index c28dc7bb38..42f90c8282 100644 --- a/public/language/uk/admin/development/info.json +++ b/public/language/uk/admin/development/info.json @@ -3,7 +3,7 @@ "ip": "IP %1", "nodes-responded": "%1 вузлів відповіли за %2мс!", "host": "host", - "primary": "primary / run jobs", + "primary": "primary / jobs", "pid": "pid", "nodejs": "nodejs", "online": "online", @@ -19,6 +19,7 @@ "registered": "Зареєстровано", "sockets": "Сокети", + "connection-count": "Connection Count", "guests": "Гостей", "info": "Інфо" diff --git a/public/language/uk/admin/extend/widgets.json b/public/language/uk/admin/extend/widgets.json index daa000f268..b2574ff74f 100644 --- a/public/language/uk/admin/extend/widgets.json +++ b/public/language/uk/admin/extend/widgets.json @@ -12,6 +12,8 @@ "container.card": "Card", "container.card-header": "Card Header", "container.card-body": "Card Body", + "container.title": "Title", + "container.body": "Body", "container.alert": "Тривога", "alert.confirm-delete": "Ви впевнені, що бажаєте видалити цей віджет?", diff --git a/public/language/uk/admin/settings/reputation.json b/public/language/uk/admin/settings/reputation.json index b0da969c93..f9009085ba 100644 --- a/public/language/uk/admin/settings/reputation.json +++ b/public/language/uk/admin/settings/reputation.json @@ -2,7 +2,14 @@ "reputation": "Налаштування репутації", "disable": "Вимкнути систему репутації", "disable-down-voting": "Вимкнути голосування проти", - "votes-are-public": "Всі голоси публічні", + "upvote-visibility": "Up Vote visibility", + "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": "Допуски активності", "min-rep-upvote": "Minimum reputation to upvote posts", "upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)", diff --git a/public/language/uk/error.json b/public/language/uk/error.json index c599867465..b40f9e10b3 100644 --- a/public/language/uk/error.json +++ b/public/language/uk/error.json @@ -153,6 +153,7 @@ "about-me-too-long": "Вибачте, але \"Про мене\" не може бути довшим за %1 символ(и).", "cant-chat-with-yourself": "Ви не можете писати самому собі!", "chat-restricted": "Цей користувач обмежив повідомлення. Він має стежити за вами, перш ніж ви зможете спілкуватися з ним", + "chat-user-blocked": "You have been blocked by this user.", "chat-disabled": "Чат вимкнено", "too-many-messages": "Ви надіслали забагато повідомлень, зачекайте трішки.", "invalid-chat-message": "Невірне повідомлення чату", diff --git a/public/language/uk/modules.json b/public/language/uk/modules.json index 7c61d6bea9..4c280a1356 100644 --- a/public/language/uk/modules.json +++ b/public/language/uk/modules.json @@ -1,8 +1,9 @@ { "chat.room-id": "Room %1", "chat.chatting-with": "Чат з", - "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", - "chat.placeholder.mobile": "Type chat message here", + "chat.placeholder": "Type chat message here, drag & drop images", + "chat.placeholder.mobile": "Type chat message", + "chat.placeholder.message-room": "Message #%1", "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", diff --git a/public/language/uk/notifications.json b/public/language/uk/notifications.json index 74aeed642d..ee638917a6 100644 --- a/public/language/uk/notifications.json +++ b/public/language/uk/notifications.json @@ -52,10 +52,10 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 запостив нову тему: %2", "user-edited-post": "%1 has edited a post in %2", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1 has posted %2 (tagged %3)", + "user-posted-topic-with-tag-dual": "%1 has posted %2 (tagged %3 and %4)", + "user-posted-topic-with-tag-triple": "%1 has posted %2 (tagged %3, %4, and %5)", + "user-posted-topic-with-tag-multiple": "%1 has posted %2 (tagged %3)", "user-posted-topic-in-category": "%1 has posted a new topic in %2", "user-started-following-you": "%1 почав стежити за вами.", "user-started-following-you-dual": "%1 та %2 почали стежити за вами.", @@ -75,6 +75,7 @@ "email-confirmed": "Електронну пошту підтверджено", "email-confirmed-message": "Дякуємо за підтвердження електронної пошти. Ваш акаунт тепер повністю активовано.", "email-confirm-error-message": "При перевірці вашої електронної пошти сталася проблема. Можливо код був недійсним або простроченим.", + "email-confirm-error-message-already-validated": "Your email address was already validated.", "email-confirm-sent": "Підтвердження по електронній пошті було надіслано.", "none": "Немає", "notification-only": "Тільки сповіщення", diff --git a/public/language/uk/pages.json b/public/language/uk/pages.json index ede740a98f..1fa3360ffc 100644 --- a/public/language/uk/pages.json +++ b/public/language/uk/pages.json @@ -54,6 +54,7 @@ "account/settings-of": "Changing settings of %1", "account/watched": "Теми за якими стежить %1", "account/ignored": "Теми, які ігноруються", + "account/read": "Topics read by %1", "account/upvoted": "Пости за які проголосував %1", "account/downvoted": "Пости проти яких проголосував %1", "account/best": "Найкращі пости %1", diff --git a/public/language/uk/post-queue.json b/public/language/uk/post-queue.json index 34399ad65f..2e727c8723 100644 --- a/public/language/uk/post-queue.json +++ b/public/language/uk/post-queue.json @@ -38,5 +38,6 @@ "remove-selected": "Remove Selected", "remove-selected-confirm": "Do you want to remove %1 selected posts?", "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" } \ No newline at end of file diff --git a/public/language/uk/themes/harmony.json b/public/language/uk/themes/harmony.json index 4e75b9f716..01038d7641 100644 --- a/public/language/uk/themes/harmony.json +++ b/public/language/uk/themes/harmony.json @@ -7,7 +7,8 @@ "login-register-to-search": "Login or register to search.", "settings.title": "Theme settings", "settings.enableQuickReply": "Enable quick reply", - "settings.enableBreadcrumbs": "Enable breadcrumbs", + "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.mobileTopicTeasers": "Show topic teasers on mobile", "settings.stickyToolbar": "Sticky toolbar", diff --git a/public/language/uk/user.json b/public/language/uk/user.json index 8f712b26e1..a3f61bf82b 100644 --- a/public/language/uk/user.json +++ b/public/language/uk/user.json @@ -43,6 +43,7 @@ "change-all": "Змінити Всі", "watched": "Переглянуті", "ignored": "Ігнорується", + "read": "Read", "default-category-watch-state": "Спостереження за категоріями за замовчанням", "followers": "Відстежувачі", "following": "Відстежувані", @@ -78,6 +79,7 @@ "change-password": "Змінити пароль", "change-password-error": "Невірний пароль!", "change-password-error-wrong-current": "Ваш поточний пароль не вірний!", + "change-password-error-same-password": "Your new password matches your current password, please use a new password.", "change-password-error-match": "Паролі мають співпадати!", "change-password-error-privileges": "У вас немає прав змінювати цей пароль.", "change-password-success": "Ваш пароль оновлено!", @@ -113,6 +115,7 @@ "has-no-topics": "Цей користувач ще ніколи не створював нових тем.", "has-no-watched-topics": "Цей користувач ще ніколи не переглядав жодної теми.", "has-no-ignored-topics": "Цей користувач ще не проігнорував будь-які теми.", + "has-no-read-topics": "This user hasn't read any topics yet.", "has-no-upvoted-posts": "Цей користувач ще не голосував за жоден з постів.", "has-no-downvoted-posts": "Цей користувач ще не голосував проти жодного поста.", "has-no-controversial-posts": "This user does not have any downvoted posts yet.", diff --git a/public/language/uk/users.json b/public/language/uk/users.json index 04f05b8419..397671fb7a 100644 --- a/public/language/uk/users.json +++ b/public/language/uk/users.json @@ -1,5 +1,6 @@ { "all-users": "All Users", + "followed-users": "Followed Users", "latest-users": "Останні користувачі", "top-posters": "Кращі автори", "most-reputation": "Найбільша репутація", diff --git a/public/language/vi/admin/admin.json b/public/language/vi/admin/admin.json index 3089b0067e..854e80eb92 100644 --- a/public/language/vi/admin/admin.json +++ b/public/language/vi/admin/admin.json @@ -1,18 +1,18 @@ { - "alert.confirm-rebuild-and-restart": "Bạn có chắc chắn muốn xây lại và khởi động lại NodeBB?", + "alert.confirm-rebuild-and-restart": "Bạn có chắc chắn muốn xây dựng lại và khởi động lại NodeBB?", "alert.confirm-restart": "Bạn có chắc muốn khởi động lại NodeBB", "acp-title": "%1 | Bảng Điểu Khiển Quản Trị NodeBB", "settings-header-contents": "Nội dung", - "changes-saved": "Changes Saved", - "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", + "changes-saved": "Đã Lưu Thay Đổi", + "changes-saved-message": "Những thay đổi của bạn đối với cấu hình NodeBB đã được lưu.", "changes-not-saved": "Thay Đổi Chưa Được Lưu", "changes-not-saved-message": "NodeBB đã gặp sự cố khi lưu các thay đổi của bạn. (%1)", - "save-changes": "Save changes", - "min": "Min:", - "max": "Max:", - "view": "View", - "edit": "Edit", - "add": "Add", - "select-icon": "Select Icon" + "save-changes": "Lưu thay đổi", + "min": "Tối thiểu:", + "max": "Tối đa:", + "view": "Xem", + "edit": "Sửa", + "add": "Thêm", + "select-icon": "Chọn Biểu Tượng" } \ No newline at end of file diff --git a/public/language/vi/admin/advanced/cache.json b/public/language/vi/admin/advanced/cache.json index d06443e357..bb874c1930 100644 --- a/public/language/vi/admin/advanced/cache.json +++ b/public/language/vi/admin/advanced/cache.json @@ -1,10 +1,10 @@ { - "cache": "Cache", + "cache": "Bộ đệm", "post-cache": "Bộ Nhớ Đệm Bài Viết", "group-cache": "Bộ Nhớ Đệm Nhóm", "local-cache": "Bộ Nhớ Đệm Cục Bộ", "object-cache": "Bộ Nhớ Đệm Đối Tượng", "percent-full": "%1% Đầy", - "post-cache-size": "Kích thước cache bài viết", - "items-in-cache": "Thành phần trong Cache" + "post-cache-size": "Kích Cỡ Bộ Đệm Bài Đăng", + "items-in-cache": "Các Mục trong Bộ Đệm" } \ No newline at end of file diff --git a/public/language/vi/admin/advanced/database.json b/public/language/vi/admin/advanced/database.json index a1ae4cd261..3197226f05 100644 --- a/public/language/vi/admin/advanced/database.json +++ b/public/language/vi/admin/advanced/database.json @@ -2,15 +2,15 @@ "x-b": "%1 b", "x-mb": "%1 mb", "x-gb": "%1 gb", - "uptime-seconds": "Thời gian hoạt động(giây)", - "uptime-days": "Thời gian hoạt động(Ngày)", + "uptime-seconds": "Hoạt động theo Giây", + "uptime-days": "Hoạt động theo Ngày", "mongo": "MongoDB", "mongo.version": "Phiên bản MongoDB ", - "mongo.storage-engine": "Phương Thức Lưu Trữ", + "mongo.storage-engine": "Công Cụ Lưu Trữ", "mongo.collections": "Tập dữ liệu", "mongo.objects": "Đối tượng", - "mongo.avg-object-size": "Kích thước trung bình", + "mongo.avg-object-size": "Kích cỡ Trung bình Đối Tượng", "mongo.data-size": "Kích thước dữ liệu", "mongo.storage-size": "Kích thước lưu trữ", "mongo.index-size": "Kích thước chỉ mục", @@ -26,14 +26,14 @@ "redis": "Redis", "redis.version": "Phiên bản Redis", - "redis.keys": "Chìa khóa", + "redis.keys": "Khóa", "redis.expires": "Hết hạn", "redis.avg-ttl": "TTL Trung Bình", "redis.connected-clients": "Khách Đã Kết Nối", "redis.connected-slaves": "Nô lệ được kết nối", "redis.blocked-clients": "Khách Xem Bị Khóa", "redis.used-memory": "Bộ Nhớ Đã Sử Dụng", - "redis.memory-frag-ratio": "Tỷ lệ phân mảnh bộ nhớ", + "redis.memory-frag-ratio": "Tỷ Lệ Phân Mảnh Bộ Nhớ", "redis.total-connections-recieved": "Tổng Số Kết Nối Nhận Được", "redis.total-commands-processed": "Tổng Số Kết Nối Được Xử Lý", "redis.iops": "Hoạt động tức thời. Môi giây", diff --git a/public/language/vi/admin/advanced/errors.json b/public/language/vi/admin/advanced/errors.json index 53789387a9..539a1ac827 100644 --- a/public/language/vi/admin/advanced/errors.json +++ b/public/language/vi/admin/advanced/errors.json @@ -1,7 +1,7 @@ { - "errors": "Errors", + "errors": "Lỗi", "figure-x": "Hình %1", - "error-events-per-day": "sự kiện mỗi ngày %1", + "error-events-per-day": "sự kiện ngày %1", "error.404": "404 Không Tìm Thấy", "error.503": "503 Dịch Vụ Không Sẵn Có", "manage-error-log": "Quản Lý Nhật Ký Lỗi", diff --git a/public/language/vi/admin/advanced/events.json b/public/language/vi/admin/advanced/events.json index 8113569d43..dc47fd286f 100644 --- a/public/language/vi/admin/advanced/events.json +++ b/public/language/vi/admin/advanced/events.json @@ -9,9 +9,9 @@ "filter-type": "Loại Sự Kiện", "filter-start": "Ngày Bắt Đầu", "filter-end": "Ngày Kết Thúc", - "filter-user": "Filter by User", - "filter-user.placeholder": "Type user name to filter...", - "filter-group": "Filter by Group", - "filter-group.placeholder": "Type group name to filter...", + "filter-user": "Lọc theo Người Dùng", + "filter-user.placeholder": "Nhập tên người dùng để lọc...", + "filter-group": "Lọc theo Nhóm", + "filter-group.placeholder": "Nhập tên nhóm để lọc...", "filter-per-page": "Mỗi Trang" } \ No newline at end of file diff --git a/public/language/vi/admin/appearance/customise.json b/public/language/vi/admin/appearance/customise.json index 5613f36d8b..566f693fb0 100644 --- a/public/language/vi/admin/appearance/customise.json +++ b/public/language/vi/admin/appearance/customise.json @@ -1,20 +1,20 @@ { - "customise": "Customise", + "customise": "Tùy chỉnh", "custom-css": "CSS/SASS Tùy Chỉnh", "custom-css.description": "Nhập các khai báo CSS/SASS của riêng bạn tại đây, sẽ được áp dụng sau tất cả các kiểu khác.", "custom-css.enable": "Bật CSS/SASS Tùy Chỉnh", "custom-js": "Javascript tùy chỉnh", "custom-js.description": "Nhập javascript của riêng bạn ở đây. Nó sẽ được thực hiện sau khi trang được tải hoàn toàn.", - "custom-js.enable": "Bật Javascript tùy chỉnh", + "custom-js.enable": "Bật Javascript Tùy Chỉnh", "custom-header": "Tùy Chỉnh Phần Đầu Trang", - "custom-header.description": "Nhập HTML tùy chỉnh tại đây (VD: Thẻ Meta, v.v...), sẽ được thêm vào phần <head>. Thẻ Script được phép, nhưng không được khuyến khích, vì phần Tùy Chỉnh Javascript đã có sẵn.", + "custom-header.description": "Nhập HTML tùy chỉnh ở đây (VD: Thẻ Meta, v.v...), sẽ được thêm vào phần <head>. Thẻ Script được phép, nhưng không được khuyến khích, vì phần Tùy Chỉnh Javascript đã có sẵn.", "custom-header.enable": "Bật Tùy Chỉnh Phần Đầu Trang", "custom-css.livereload": "Bật tải lại trực tiếp", "custom-css.livereload.description": "Bật điều này để buộc tất cả các phiên trên mọi thiết bị trong tài khoản của bạn phải làm mới bất cứ khi nào bạn nhấp vào lưu", "bsvariables": "_variables.scss", - "bsvariables.description": "Override bootstrap variables here. You can also use a tool like bootstrap.build and paste the output here.
Changes require a rebuild & restart.", - "bsvariables.enable": "Enable _variables.scss" + "bsvariables.description": "Ghi đè các biến bootstrap ở đây. Bạn có thể sử dụng công cụ như bootstrap.build và dán đầu ra ở đây.
Thay đổi buộc dựng lại và chạy lại.", + "bsvariables.enable": "Bật _variables.scss" } \ No newline at end of file diff --git a/public/language/vi/admin/appearance/skins.json b/public/language/vi/admin/appearance/skins.json index d018f971c3..a3a7ca9392 100644 --- a/public/language/vi/admin/appearance/skins.json +++ b/public/language/vi/admin/appearance/skins.json @@ -1,18 +1,18 @@ { - "skins": "Giao diện", - "bootswatch-skins": "Giao Diện Đồng Hồ Khởi Động", - "custom-skins": "Giao Diện Tùy Chỉnh", - "add-skin": "Thêm Giao Diện", - "save-custom-skins": "Lưu Giao Diện Tùy Chỉnh", - "save-custom-skins-success": "Giao diện tùy chỉnh đã được lưu thành công", - "custom-skin-name": "Tên Giao Diện Tùy Chỉnh", - "custom-skin-variables": "Biến Số Giao Diện Tùy Chỉnh", - "loading": "Đang Tải Giao Diện ...", + "skins": "Trang điểm", + "bootswatch-skins": "Trang Điểm Đồng Hồ Khởi Động", + "custom-skins": "Trang Điểm Tùy Chỉnh", + "add-skin": "Thêm Trang Điểm", + "save-custom-skins": "Lưu Trang Điểm Tùy Chỉnh", + "save-custom-skins-success": "Trang điểm tùy chỉnh đã lưu thành công", + "custom-skin-name": "Tên Trang Điểm Tùy Chỉnh", + "custom-skin-variables": "Biến Số Trang Điểm Tùy Chỉnh", + "loading": "Đang Tải Trang Điểm...", "homepage": "Trang chủ", - "select-skin": "Chọn Giao Diện", - "revert-skin": "Hoàn Nguyên Giao Diện", - "current-skin": "Giao Diện Hiện Tại", - "skin-updated": "Đã Cập Nhật Giao Diện", - "applied-success": "%1 giao diện đã được sử dụng thành công", - "revert-success": "Đã trả giao diện về màu cơ bản" + "select-skin": "Chọn Trang Điểm", + "revert-skin": "Hoàn Nguyên Trang Điểm", + "current-skin": "Trang Điểm Hiện Tại", + "skin-updated": "Đã Cập Nhật Trang Điểm", + "applied-success": "%1 trang điểm sử dụng thành công", + "revert-success": "Đã trả trang điểm về màu cơ bản" } \ No newline at end of file diff --git a/public/language/vi/admin/appearance/themes.json b/public/language/vi/admin/appearance/themes.json index 574c558b49..bd3d096acd 100644 --- a/public/language/vi/admin/appearance/themes.json +++ b/public/language/vi/admin/appearance/themes.json @@ -1,13 +1,13 @@ { - "themes": "Themes", + "themes": "Giao diện", "checking-for-installed": "Đang kiểm tra các giao diện đã cài đặt...", "homepage": "Trang chủ", "select-theme": "Chọn Giao Diện", - "revert-theme": "Revert Theme", + "revert-theme": "Hoàn Nguyên Chủ Đề", "current-theme": "Giao Diện Hiện Tại", "no-themes": "Không tìm thấy giao diện đã cài đặt", "revert-confirm": "Bạn có chắc muốn khôi phục giao diện NodeBB mặc định không?", "theme-changed": "Đã Đổi Giao Diện", "revert-success": "Bạn đã thành công trả lại NodeBB của mình trở về giao diện mặc định.", - "restart-to-activate": "Vui lòng xây dựng lại và khởi động lại NodeBB của bạn để kích hoạt đầy đủ giao diện này." + "restart-to-activate": "Hãy dựng lại và chạy lại NodeBB để kích hoạt toàn bộ giao diện này." } \ No newline at end of file diff --git a/public/language/vi/admin/dashboard.json b/public/language/vi/admin/dashboard.json index 78ed4ec60d..3872d84313 100644 --- a/public/language/vi/admin/dashboard.json +++ b/public/language/vi/admin/dashboard.json @@ -9,7 +9,7 @@ "page-views-seven": "7 ngày trước", "page-views-thirty": "30 ngày trước", "page-views-last-day": "24 giờ trước", - "page-views-custom": "Tùy chỉnh phạm vi ngày", + "page-views-custom": "Tùy Chỉnh Phạm Vi Ngày", "page-views-custom-start": "Phạm vi bắt đầu", "page-views-custom-end": "Phạm vi kết thúc", "page-views-custom-help": "Nhập phạm vi ngày mà bạn muốn xem lượt xem trang. Nếu không có bộ chọn ngày, chấp nhận định dạng là YYYY-MM-DD", @@ -42,10 +42,10 @@ "search-plugin-tooltip": "Cài đặt một plugin tìm kiếm từ trang plugin để kích hoạt chức năng tìm kiếm", "control-panel": "Điều khiển hệ thống", - "rebuild-and-restart": "Xây Dựng Lại & Khởi Động Lại", - "restart": "Khởi động lại", - "restart-warning": "Xây dựng lại hoặc Khởi động lại NodeBB của bạn sẽ hủy tất cả các kết nối hiện có trong vài giây.", - "restart-disabled": "Việc xây dựng lại và khởi động lại NodeBB của bạn đã bị vô hiệu hóa vì bạn dường như không chạy nó qua daemon thích hợp.", + "rebuild-and-restart": "Dựng lại & Chạy lại", + "restart": "Chạy lại", + "restart-warning": "Dựng lại hay Chạy lại NodeBB của bạn sẽ hủy tất cả các kết nối hiện có trong vài giây.", + "restart-disabled": "Dựng lại và Chạy lại NodeBB của bạn đã bị vô hiệu hóa vì bạn dường như không chạy nó qua daemon thích hợp.", "maintenance-mode": "Chế Độ Bảo Trì", "maintenance-mode-title": "Bấm vào đây để thiết lập chế độ bảo trì cho NodeBB", "dark-mode": "Chế Độ Tối", @@ -62,9 +62,9 @@ "registered": "Đã đăng ký", "user-presence": "Người Dùng Có Mặt", - "on-categories": "Trên Danh Sách Chuyên Mục", + "on-categories": "Trên danh sách danh mục", "reading-posts": "Đọc bài viết", - "browsing-topics": "Duyệt qua chủ đề", + "browsing-topics": "Lướt xem chủ đề", "recent": "Gần đây", "unread": "Chưa đọc", @@ -79,23 +79,23 @@ "graphs.registered-users": "Thành Viên Chính Thức", "graphs.guest-users": "Người dùng khách", "last-restarted-by": "Khởi động lại lần cuối bởi", - "no-users-browsing": "Người không xem bài", + "no-users-browsing": "Không ai lướt xem", "back-to-dashboard": "Trở về Bảng điều khiển", "details.no-users": "Không có người dùng nào tham gia trong khung thời gian đã chọn", "details.no-topics": "Không có chủ đề nào được đăng trong khung thời gian đã chọn", "details.no-searches": "Không có tìm kiếm nào được thực hiện trong khung thời gian đã chọn", "details.no-logins": "Không có thông tin đăng nhập nào được ghi lại trong khung thời gian đã chọn", - "details.logins-static": "NodeBB chỉ lưu dữ liệu phiên trong %1 ngày và do đó, bảng này bên dưới sẽ chỉ hiển thị các phiên hoạt động gần đây nhất", + "details.logins-static": "NodeBB chỉ lưu dữ liệu phiên trong %1 ngày, bảng bên dưới chỉ hiển thị các phiên hoạt động gần đây nhất", "details.logins-login-time": "Thời gian đăng nhập", "start": "Bắt đầu", "end": "Kết thúc", "filter": "Bộ lọc", - "view-as-json": "Xem dưới dạng JSON", + "view-as-json": "Xem kiểu JSON", "expand-analytics": "Mở rộng phân tích", "clear-search-history": "Xóa lịch sử tìm kiếm", "clear-search-history-confirm": "Bạn có chắc chắn muốn xóa toàn bộ lịch sử tìm kiếm không?", - "search-term": "Term", - "search-count": "Count", - "view-all": "View all" + "search-term": "Cụm từ", + "search-count": "Số lần", + "view-all": "Xem tất cả" } diff --git a/public/language/vi/admin/development/info.json b/public/language/vi/admin/development/info.json index 4a76411c21..f8e2480b94 100644 --- a/public/language/vi/admin/development/info.json +++ b/public/language/vi/admin/development/info.json @@ -3,7 +3,7 @@ "ip": "IP %1", "nodes-responded": "%1 nút đã phản hồi trong %2ms!", "host": "máy chủ", - "primary": "công việc chính/điều hành", + "primary": "chính / công việc", "pid": "pid", "nodejs": "nodejs", "online": "trực tuyến", @@ -19,6 +19,7 @@ "registered": "Đã đăng ký", "sockets": "Sockets", + "connection-count": "Số Lượng Kết Nối", "guests": "Khách", "info": "Thông tin" diff --git a/public/language/vi/admin/development/logger.json b/public/language/vi/admin/development/logger.json index 0fd7dc3d28..bbe6db943a 100644 --- a/public/language/vi/admin/development/logger.json +++ b/public/language/vi/admin/development/logger.json @@ -1,7 +1,7 @@ { - "logger": "Logger", + "logger": "Ghi Nhật Ký", "logger-settings": "Cài Đặt Ghi Nhật Ký", - "description": "Bật cái này, bạn sẽ nhận nhật ký ở công cụ dòng lệnh của bạn. Nếu có đường dẫn cụ thể, nhật ký sẽ được lưu vào một tệp thay thế. Ghi nhật ký HTTP có lợi để thu thập thống kê về ai, khi nào và những gì mọi người truy cập trên diễn đàn. Ngoài ghi nhật ký yêu cầu HTTP, chúng tôi có thể ghi nhật ký sự kiện socket.io. Ghi nhật ký Socket.io, kết hợp với màn hình redis-cli, có thể hữu ích để tìm hiểu nội bộ NodeBB.", + "description": "Bật cái này, bạn sẽ nhận nhật ký ở công cụ dòng lệnh của bạn. Nếu có đường dẫn cụ thể, nhật ký sẽ được lưu vào một tệp thay thế. Nhật ký HTTP có lợi để thu thập thống kê ai đó, khi nào và những gì họ làm diễn đàn. Ngoài ghi nhật ký yêu cầu HTTP, chúng ta có thể ghi nhật ký sự kiện socket.io. Ghi nhật ký Socket.io, kết hợp giám sát redis-cli, có thể hữu ích để tìm hiểu bên trong NodeBB.", "explanation": "Chỉ cần chọn/bỏ chọn cài đặt ghi nhật ký để bật hoặc tắt ghi nhật ký một cách nhanh chóng. Không cần khởi động lại.", "enable-http": "Bật ghi nhật ký HTTP", "enable-socket": "Bật ghi nhật ký sự kiện socket.io", diff --git a/public/language/vi/admin/extend/plugins.json b/public/language/vi/admin/extend/plugins.json index 09a7817bf6..6716e75d18 100644 --- a/public/language/vi/admin/extend/plugins.json +++ b/public/language/vi/admin/extend/plugins.json @@ -15,7 +15,7 @@ "reorder-plugins": "Sắp Xếp Lại Plugin", "order-active": "Sắp Xếp Plugin Hoạt Động", "dev-interested": "Bạn quan tâm đến việc viết plugin cho NodeBB?", - "docs-info": "Tài liệu đầy đủ về tác giả plugin có thể được tìm thấy trong Cổng Thông Tin Tài Liệu NodeBB .", + "docs-info": "Tài liệu đầy đủ về tác giả plugin có thể được tìm thấy trong Cổng Tài Liệu NodeBB .", "order.description": "Một số plugin nhất định hoạt động lý tưởng khi chúng được khởi tạo trước / sau các plugin khác.", "order.explanation": "Các plugin tải theo thứ tự đã đặt ra ở đây, từ trên xuống dưới", @@ -40,9 +40,9 @@ "alert.upgraded": "Đã Nâng Cấp Plugin", "alert.installed": "Đã Cài Đặt Plugin", "alert.uninstalled": "Đã Gỡ Bỏ Plugin", - "alert.activate-success": "Vui lòng xây dựng lại và khởi động lại NodeBB của bạn để kích hoạt hoàn toàn plugin này", + "alert.activate-success": "Hãy dựng lại và chạy lại NodeBB của bạn để kích hoạt plugin này", "alert.deactivate-success": "Đã hủy kích hoạt plugin thành công", - "alert.upgrade-success": "Vui lòng xây dựng lại và khởi động lại NodeBB của bạn để nâng cấp đầy đủ plugin này.", + "alert.upgrade-success": "Hãy dựng lại và chạy lại NodeBB của bạn để nâng cấp plugin này.", "alert.install-success": "Đã cài đặt thành công plugin, vui lòng kích hoạt plugin.", "alert.uninstall-success": "Đã hủy kích hoạt và gỡ cài đặt plugin thành công.", "alert.suggest-error": "

NodeBB không thể tiếp cận trình quản lý gói, hãy tiến hành cài đặt phiên bản mới nhất?

Máy chủ trả về (%1): %2
", @@ -50,7 +50,7 @@ "alert.incompatible": "

Phiên bản NodeBB (v%1) của bạn chỉ được xóa để nâng cấp lên v%2 của plugin này. Vui lòng cập nhật NodeBB của bạn nếu muốn cài đặt phiên bản mới hơn của plugin này.

", "alert.possibly-incompatible": "

Không Có Thông Tin Tương Thích

Plugin này không đưa ra một phiên bản cụ thể để cài đặt với phiên bản NodeBB của bạn. Không đảm bảo khả năng tương thích hoàn toàn và có thể khiến NodeBB của bạn không hoạt động bình thường.

Trường hợp NodeBB không thể hoạt động đúng:

$ ./nodebb reset plugin=\"%1\"

Tiếp tục cài đặt phiên bản mới nhất của plugin này?

", "alert.reorder": "Các Plugin Đã Được Sắp Xếp Lại", - "alert.reorder-success": "Vui lòng xây dựng lại và khởi động lại NodeBB của bạn để hoàn tất quá trình.", + "alert.reorder-success": "Hãy dựng lại và chạy lại NodeBB của bạn để hoàn tất quá trình.", "license.title": "Thông Tin Cấp Phép Plugin", "license.intro": "Plugin %1 được cấp phép theo %2. Vui lòng đọc và hiểu các điều khoản cấp phép trước khi kích hoạt plugin này.", diff --git a/public/language/vi/admin/extend/rewards.json b/public/language/vi/admin/extend/rewards.json index bbb0c9d22d..ba946f9af6 100644 --- a/public/language/vi/admin/extend/rewards.json +++ b/public/language/vi/admin/extend/rewards.json @@ -1,12 +1,12 @@ { "rewards": "Phần thưởng", - "add-reward": "Add reward", + "add-reward": "Thêm phần thưởng", "condition-if-users": "Nếu Người Dùng", "condition-is": "Là:", "condition-then": "Sau đó:", "max-claims": "Số lần nhận thưởng có thể nhận được", "zero-infinite": "Nhập 0 cho vô hạn", - "select-reward": "Select reward", + "select-reward": "Chọn phần thưởng", "delete": "Xóa", "enable": "Bật", "disable": "Tắt", diff --git a/public/language/vi/admin/extend/widgets.json b/public/language/vi/admin/extend/widgets.json index 271ee1eede..e5b3d4a09b 100644 --- a/public/language/vi/admin/extend/widgets.json +++ b/public/language/vi/admin/extend/widgets.json @@ -1,5 +1,5 @@ { - "widgets": "Widgets", + "widgets": "Tiện ích", "available": "Tiện ích có sẵn", "explanation": "Chọn một tiện ích từ menu thả xuống, sau đó kéo và thả nó vào khu vực tiện ích của mẫu ở bên trái.", "none-installed": "Không tìm thấy tiện ích nào! Kích hoạt plugin tiện ích cần thiết trong bảng điều khiểnplugins .", @@ -12,6 +12,8 @@ "container.card": "Thẻ", "container.card-header": "Đầu Thẻ", "container.card-body": "Thân Thẻ", + "container.title": "Tiêu đề", + "container.body": "Thân", "container.alert": "Cảnh báo", "alert.confirm-delete": "Bạn có chắc muốn xóa tiện ích này không?", diff --git a/public/language/vi/admin/manage/admins-mods.json b/public/language/vi/admin/manage/admins-mods.json index c29516bd31..f74258ee68 100644 --- a/public/language/vi/admin/manage/admins-mods.json +++ b/public/language/vi/admin/manage/admins-mods.json @@ -1,13 +1,13 @@ { - "manage-admins-and-mods": "Manage Admins & Mods", + "manage-admins-and-mods": "Quản lý Quản Trị Viên & Người Điều Hành", "administrators": "Quản Trị Viên", - "global-moderators": "Người Quản Lý Chung", + "global-moderators": "Người Điều Hành Chung", "moderators": "Người điều hành", - "no-global-moderators": "Không Có Người Quản Lý Chung", + "no-global-moderators": "Không Có Người Điều Hành Chung", "no-sub-categories": "Không có danh mục phụ", "view-children": "Xem con (%1)", "no-moderators": "Không Có Người Điều Hành", "add-administrator": "Thêm Quản Trị Viên", - "add-global-moderator": "Thêm Người Quản Lý Chung", + "add-global-moderator": "Thêm Người Điều Hành Chung", "add-moderator": "Thêm Người Điều Hành" } \ No newline at end of file diff --git a/public/language/vi/admin/manage/categories.json b/public/language/vi/admin/manage/categories.json index d12779ddff..07352e45c8 100644 --- a/public/language/vi/admin/manage/categories.json +++ b/public/language/vi/admin/manage/categories.json @@ -17,7 +17,7 @@ "subcategories-per-page": "Danh mục phụ mỗi trang", "is-section": "Coi danh mục này như một phần", "post-queue": "Xếp hàng bài đăng", - "tag-whitelist": "Danh Sách Trắng Gắn Thẻ ", + "tag-whitelist": "Danh Sách Trắng Thẻ", "upload-image": "Tải Lên Ảnh", "upload": "Tải lên", "delete-image": "Xóa", diff --git a/public/language/vi/admin/manage/digest.json b/public/language/vi/admin/manage/digest.json index 80010b7fb1..0a3af43dfb 100644 --- a/public/language/vi/admin/manage/digest.json +++ b/public/language/vi/admin/manage/digest.json @@ -1,13 +1,13 @@ { "lead": "Một danh sách các số liệu thống kê và thời gian phân phối được hiển thị dưới đây.", - "disclaimer": "Xin lưu ý rằng việc gửi email không được đảm bảo, do bản chất của công nghệ email. Nhiều yếu tố quyết định đến việc liệu một email được gửi đến máy chủ người nhận cuối cùng có được gửi đến hộp thư đến của người dùng hay không, bao gồm danh tiếng của máy chủ, địa chỉ IP nằm trong danh sách đen và liệu DKIM/SPF/DMARC được cấu hình.", + "disclaimer": "Lưu ý việc gửi email là không đảm bảo, do bản chất của công nghệ email. Nhiều yếu tố ảnh hưởng đến một email được gửi đến máy chủ người nhận cuối cùng có được gửi đến hộp thư của người dùng hay không, bao gồm danh tiếng máy chủ, địa chỉ IP nằm trong danh sách đen và liệu DKIM/SPF/DMARC được cấu hình.", "disclaimer-continued": "Gửi thành công nghĩa là tin nhắn được NodeBB gửi thành công và máy chủ người nhận nhận được. Nó không có nghĩa là email đã đến hộp thư đến. Để có kết quả tốt nhất, chúng tôi khuyên bạn nên sử dụng dịch vụ gửi email của bên thứ ba, chẳng hạn như SendGrid.", "user": "Người dùng", - "subscription": "Loại đăng ký", + "subscription": "Loại Đăng Ký", "last-delivery": "Gửi thành công lần cuối", "default": "Mặc định hệ thống", - "default-help": "Mặc định hệ thống nghĩa là người dùng không đè lên toàn bộ cài đặt thông báo diễn đàn, hiện là: "%1"", + "default-help": "Mặc định hệ thống nghĩa là người dùng không ghi đè lên toàn bộ cài đặt thông báo diễn đàn, hiện là: "%1"", "resend": "Gửi Lại Thông Báo", "resend-all-confirm": "Bạn có muốn thực hiện thủ công lần chạy thông báo này không?", "resent-single": "Đã hoàn tất gửi lại thông báo thủ công", diff --git a/public/language/vi/admin/manage/privileges.json b/public/language/vi/admin/manage/privileges.json index fbe4434e79..27f999cff3 100644 --- a/public/language/vi/admin/manage/privileges.json +++ b/public/language/vi/admin/manage/privileges.json @@ -1,7 +1,7 @@ { "manage-privileges": "Quản Lý Đặc Quyền", "discard-changes": "Loại bỏ các thay đổi", - "global": "Chung", + "global": "Toàn bộ", "admin": "Quản Trị Viên", "group-privileges": "Đặc Quyền Nhóm", "user-privileges": "Đặc Quyền Người Dùng", @@ -32,7 +32,7 @@ "schedule-topics": "Lên Lịch Chủ Đề", "tag-topics": "Gắn Thẻ Chủ Đề", "edit-posts": "Chỉnh Sửa Bài Đăng", - "view-edit-history": "Xem Lịch Sử Chỉnh Sửa", + "view-edit-history": "Xem Lịch Sử Sửa", "delete-posts": "Xóa Bài Đăng", "view-deleted": "Xem Bài Viết Đã Xóa", "upvote-posts": "Ủng Hộ Bài Đăng", diff --git a/public/language/vi/admin/manage/registration.json b/public/language/vi/admin/manage/registration.json index adc7ff9d32..b30cde0329 100644 --- a/public/language/vi/admin/manage/registration.json +++ b/public/language/vi/admin/manage/registration.json @@ -11,7 +11,7 @@ "list.ip-spam": "Tần suất: %1 Xuất hiện: %2", "invitations": "Lời mời", - "invitations.description": "Dưới đây là danh sách hoàn tất các lời mời đã gửi. Bấm ctrl-f để tìm kiếm trong danh sách bằng email hoặc tên đăng nhập.

Tên đăng nhập sẽ được hiển thị bên phải email cho những người dùng đã đổi lời mời của họ.", + "invitations.description": "Dưới đây là danh sách hoàn tất các lời mời đã gửi. Bấm ctrl-f để tìm kiếm trong danh sách bằng email hoặc tên đăng nhập.

Tên đăng nhập sẽ hiển thị bên phải email cho những người dùng đã đổi lời mời của họ.", "invitations.inviter-username": "Tên Đăng Nhập Người Mời", "invitations.invitee-email": "Email của người được mời", "invitations.invitee-username": "Tên Đăng Nhập Người Được Mời (nếu đã đăng ký)", diff --git a/public/language/vi/admin/manage/tags.json b/public/language/vi/admin/manage/tags.json index fb6d662a87..64f00d35e0 100644 --- a/public/language/vi/admin/manage/tags.json +++ b/public/language/vi/admin/manage/tags.json @@ -1,5 +1,5 @@ { - "manage-tags": "Quản lý thẻ", + "manage-tags": "Quản Lý Thẻ", "none": "Diễn đàn của bạn chưa có bất kỳ chủ đề nào gắn thẻ.", "bg-color": "Màu Nền", "text-color": "Màu Chữ", diff --git a/public/language/vi/admin/manage/uploads.json b/public/language/vi/admin/manage/uploads.json index 2df6f9ba9d..32f4d447e3 100644 --- a/public/language/vi/admin/manage/uploads.json +++ b/public/language/vi/admin/manage/uploads.json @@ -2,11 +2,11 @@ "manage-uploads": "Quản Lý Tải Lên", "upload-file": "Tải Lên Tệp", "filename": "Tên Tệp", - "usage": "Đăng sử dụng", + "usage": "Dùng Bài Đăng", "orphaned": "Đơn độc", - "size/filecount": "Kích cỡ/ Số lượng tệp", + "size/filecount": "Kích cỡ/ Số tệp", "confirm-delete": "Bạn có chắc muốn xóa tệp này không?", "filecount": "%1 tệp", - "new-folder": "Thư mục mới", + "new-folder": "Thư Mục Mới", "name-new-folder": "Nhập tên cho thư mục mới" } \ No newline at end of file diff --git a/public/language/vi/admin/manage/users.json b/public/language/vi/admin/manage/users.json index ce47082f43..e095f7ea25 100644 --- a/public/language/vi/admin/manage/users.json +++ b/public/language/vi/admin/manage/users.json @@ -11,7 +11,7 @@ "change-password": "Đổi Mật Khẩu", "password-reset-email": "Gửi Email Đặt Lại Mật Khẩu", "force-password-reset": "Buộc đặt lại mật khẩu và đăng xuất người dùng", - "ban": "Ban", + "ban": "Cấm", "ban-users": "Cấm Người Dùng", "temp-ban": "Cấm Người Dùng Tạm Thời", "unban": "Bỏ Cấm Người Dùng", @@ -28,7 +28,7 @@ "create": "Tạo Người Dùng", "invite": "Mời qua Email", "new": "Người Dùng Mới", - "filter-by": "Lọc bởi", + "filter-by": "Lọc theo", "pills.unvalidated": "Không Hợp Lệ", "pills.validated": "Đã xác thực", "pills.banned": "Bị cấm", @@ -61,7 +61,7 @@ "users.validation-pending": "Đang Chờ Xác Thực", "users.validation-expired": "Đã Hết Hạn Xác Thực", "users.ip": "IP", - "users.postcount": "số lượng bài viết", + "users.postcount": "số bài", "users.reputation": "uy tín", "users.flags": "gắn cờ", "users.joined": "đã tham gia", @@ -92,9 +92,9 @@ "alerts.make-admin-success": "Người dùng hiện là quản trị viên.", "alerts.confirm-remove-admin": "Bạn có chắc muốn xóa quản trị viên này không?", "alerts.remove-admin-success": "Người dùng không còn là quản trị viên.", - "alerts.make-global-mod-success": "Người dùng hiện là người quản lý chung.", - "alerts.confirm-remove-global-mod": "Bạn có thực sự muốn xóa người quản lý chung này không?", - "alerts.remove-global-mod-success": "Người dùng không còn là người quản lý chung.", + "alerts.make-global-mod-success": "Người dùng hiện là người điều hành chung.", + "alerts.confirm-remove-global-mod": "Bạn có chắc muốn xóa người điều hành chung này không?", + "alerts.remove-global-mod-success": "Người dùng không còn là người điều hành chung.", "alerts.make-moderator-success": "Người dùng hiện là người điều hành.", "alerts.confirm-remove-moderator": "Bạn có thực sự muốn xóa người kiểm duyệt này không?", "alerts.remove-moderator-success": "Người dùng không còn là người điều hành.", @@ -121,29 +121,29 @@ "alerts.email-sent-to": "Email mời đã được gửi đến %1", "alerts.x-users-found": "Tìm được %1 người dùng (%2 giây)", "alerts.select-a-single-user-to-change-email": "Chọn một người dùng để thay đổi email", - "export": "Export", - "export-users-fields-title": "Select CSV Fields", + "export": "Xuất", + "export-users-fields-title": "Chọn trường CSV", "export-field-email": "Email", - "export-field-username": "Username", + "export-field-username": "Tên đăng nhập", "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-field-joindate": "Ngày tham gia", + "export-field-lastonline": "Trực Tuyến Lần Cuối", + "export-field-lastposttime": "Lần Đăng Cuối", + "export-field-reputation": "Uy tín", + "export-field-postcount": "Số Bài Đăng", + "export-field-topiccount": "Số Chủ Đề", + "export-field-profileviews": "Xem Hồ Sơ", + "export-field-followercount": "Người Theo Dõi", + "export-field-followingcount": "Đang Theo Dõi", + "export-field-fullname": "Tên Đầy Đủ", + "export-field-website": "Trang web", + "export-field-location": "Nơi ở", + "export-field-birthday": "Ngày sinh", + "export-field-signature": "Chữ ký", + "export-field-aboutme": "Thông Tin Cá Nhân", - "export-users-started": "Xuất người dùng dưới dạng csv, quá trình này có thể mất một lúc. Bạn sẽ nhận được thông báo khi hoàn tất.", + "export-users-started": "Xuất người dùng dưới dạng csv, sẽ tốn thời gian. Bạn sẽ nhận được thông báo khi hoàn tất.", "export-users-completed": "Đã xuất người dùng ra csv, bấm vào đây tải xuống.", "email": "Email", "password": "Mật khẩu", diff --git a/public/language/vi/admin/menu.json b/public/language/vi/admin/menu.json index 857588ff72..bda3bf2abf 100644 --- a/public/language/vi/admin/menu.json +++ b/public/language/vi/admin/menu.json @@ -1,6 +1,6 @@ { "section-dashboard": "Bảng điều khiển", - "dashboard/overview": "Tổng quát", + "dashboard/overview": "Tổng quan", "dashboard/logins": "Đăng nhập", "dashboard/users": "Người dùng", "dashboard/topics": "Chủ đề", @@ -14,7 +14,7 @@ "manage/users": "Người dùng", "manage/admins-mods": "Quản trị viên & Người điều hành", "manage/registration": "Xếp Hàng Đăng Ký", - "manage/flagged-content": "Flagged Content", + "manage/flagged-content": "Nội Dung Bị Gắn Cờ", "manage/post-queue": "Xếp Hàng Bài Đăng", "manage/groups": "Nhóm", "manage/ip-blacklist": "Danh sách đen IP", @@ -49,7 +49,7 @@ "section-appearance": "Trực quan", "appearance/themes": "Giao diện", - "appearance/skins": "Giao diện", + "appearance/skins": "Trang điểm", "appearance/customise": "Nội dung tùy chỉnh (HTML/JS/CSS)", "section-extend": "Mở rộng", @@ -72,12 +72,12 @@ "development/logger": "Ghi nhật ký", "development/info": "Thông tin", - "rebuild-and-restart-forum": "Xây dựng lại & Khởi động lại diễn đàn", - "rebuild-and-restart": "Rebuild & Restart", - "restart-forum": "Khởi Động Lại Diễn Đàn", - "restart": "Restart", + "rebuild-and-restart-forum": "Dựng lại & Chạy lại diễn đàn", + "rebuild-and-restart": "Dựng lại & Chạy lại", + "restart-forum": "Chạy Lại Diễn Đàn", + "restart": "Chạy lại", "logout": "Đăng xuất", - "view-forum": "Xem diễn đàn", + "view-forum": "Xem Diễn Đàn", "search.placeholder": "Cài đặt tìm kiếm", "search.no-results": "Ko có kết quả...", diff --git a/public/language/vi/admin/settings/advanced.json b/public/language/vi/admin/settings/advanced.json index 38c9c2c5be..c802882d9c 100644 --- a/public/language/vi/admin/settings/advanced.json +++ b/public/language/vi/admin/settings/advanced.json @@ -28,10 +28,10 @@ "hsts.subdomains": "Bao gồm tên miền phụ trong phần đầu HSTS", "hsts.preload": "Cho phép tải trước phần đầu HSTS", "hsts.help": "Nếu bật, một phần đầu trang HSTS sẽ được đặt cho trang web này. Bạn có thể chọn bao gồm tên miền phụ và cờ tải trước trong phần đầu. Nếu nghi ngờ, bạn có thể bỏ chọn. Thêm thông tin ", - "traffic-management": "Quản lý lưu lượng", + "traffic-management": "Quản Lý Lưu Lượng", "traffic.help": "NodeBB dùng mô-đun tự động từ chối yêu cầu trong các tình huống có lưu lượng truy cập cao. Bạn có thể điều chỉnh các cài đặt này ở đây, mặc dù các cài đặt mặc định là một điểm khởi đầu tốt.", - "traffic.enable": "Bật quản lý lưu lượng", - "traffic.event-lag": "Ngưỡng Trễ Vòng Lặp Sự Kiện (mili giây)", + "traffic.enable": "Bật Quản Lý Lưu Lượng", + "traffic.event-lag": "Ngưỡng Trễ Vòng Lặp Sự Kiện (mili-giây)", "traffic.event-lag-help": "Giảm giá trị này sẽ giảm thời gian chờ tải trang, nhưng cũng sẽ hiển thị thông báo \"tải quá mức\" cho nhiều người dùng hơn. (Yêu cầu khởi động lại)", "traffic.lag-check-interval": "Khoảng thời gian kiểm tra (mili giây)", "traffic.lag-check-interval-help": "Việc hạ thấp giá trị này khiến NodeBB trở nên nhạy cảm hơn với tải đột biến, nhưng cũng có thể khiến kiểm tra trở nên quá nhạy. (Yêu cầu khởi động lại)", diff --git a/public/language/vi/admin/settings/api.json b/public/language/vi/admin/settings/api.json index 4cd351f0af..fb878a94b3 100644 --- a/public/language/vi/admin/settings/api.json +++ b/public/language/vi/admin/settings/api.json @@ -13,17 +13,17 @@ "token": "Token", "uid-help-text": "Ghi rõ ID người dùng liên kết với mã truy cập. Nếu ID người dùng là 0, nó sẽ là môt mã truy cập cao cấp, có thể giả định danh tính của những người dùng khác dựa trên tham số _uid", "description": "Mô tả", - "last-seen": "Last seen", - "created": "Created", - "create-token": "Create Token", - "update-token": "Update Token", - "master-token": "Master token", - "last-seen-never": "Khóa này chưa bao giờ được dùng.", + "last-seen": "Nhìn thấy lần cuối", + "created": "Đã tạo", + "create-token": "Tạo Token", + "update-token": "Cập Nhật Token", + "master-token": "Token Chính", + "last-seen-never": "Khóa này chưa bao giờ dùng.", "no-description": "Không có mô tả cụ thể.", "actions": "Hành Động", "edit": "Sửa", "roll": "Cuộn", - "delete-confirm": "Bạn có chắc chắn muốn xóa mã thông báo này không? Nó sẽ không thể phục hồi được.", - "roll-confirm": "Bạn có chắc chắn muốn tạo lại mã thông báo này không? Mã thông báo cũ sẽ bị thu hồi ngay lập tức và không thể phục hồi được." + "delete-confirm": "Bạn có chắc muốn xóa token này không? Nó không thể phục hồi.", + "roll-confirm": "Bạn có chắc muốn tạo lại token này không? Token cũ sẽ bị thu hồi ngay và không thể phục hồi được." } \ No newline at end of file diff --git a/public/language/vi/admin/settings/chat.json b/public/language/vi/admin/settings/chat.json index 8fdf0a4339..20aa9a5d6e 100644 --- a/public/language/vi/admin/settings/chat.json +++ b/public/language/vi/admin/settings/chat.json @@ -3,12 +3,12 @@ "chat-settings": "Cài Đặt Trò Chuyện", "disable": "Tắt trò chuyện", "disable-editing": "Tắt chỉnh sửa / xóa tin nhắn trò chuyện", - "disable-editing-help": "Quản trị viên và Người Quản Lý Chung được miễn hạn chế này", + "disable-editing-help": "Quản trị viên và người điều hành chung được miễn hạn chế này", "max-length": "Độ dài tối đa của tin nhắn trò chuyện", "max-chat-room-name-length": "Độ dài tối đa tên phòng trò chuyện", "max-room-size": "Số lượng người dùng tối đa trong phòng trò chuyện", "delay": "Thời gian giữa các tin nhắn trò chuyện (ms)", - "notification-delay": "Độ trễ thông báo cho tin nhắn trò chuyện", + "notification-delay": "Độ trễ thông báo tin nhắn trò chuyện", "notification-delay-help": "Các tin nhắn bổ sung được gửi trong khoảng thời gian này sẽ được đối chiếu và người dùng sẽ được thông báo một lần trong mỗi khoảng thời gian trì hoãn. Đặt giá trị này thành 0 để tắt độ trễ.", "restrictions.seconds-edit-after": "Số giây mà một tin nhắn trò chuyện sẽ vẫn có thể chỉnh sửa được.", "restrictions.seconds-delete-after": "Số giây một tin nhắn trò chuyện sẽ vẫn có thể bị xóa." diff --git a/public/language/vi/admin/settings/email.json b/public/language/vi/admin/settings/email.json index 9c07f52103..11f573f92a 100644 --- a/public/language/vi/admin/settings/email.json +++ b/public/language/vi/admin/settings/email.json @@ -12,7 +12,7 @@ "smtp-transport.enabled": "Bật truyền tải SMTP", "smtp-transport-help": "Bạn có thể chọn từ danh sách các dịch vụ nổi bật hoặc nhập một dịch vụ tùy chỉnh.", "smtp-transport.service": "Chọn một dịch vụ", - "smtp-transport.service-custom": "Tùy chỉnh dịch vụ ", + "smtp-transport.service-custom": "Tùy Chỉnh Dịch Vụ ", "smtp-transport.service-help": "Chọn tên dịch vụ ở trên để sử dụng thông tin đã biết về nó. Ngoài ra, hãy chọn "Dịch vụ tùy chỉnh" và nhập các chi tiết bên dưới.", "smtp-transport.gmail-warning1": "Nếu bạn đang sử dụng GMail làm nhà cung cấp email của mình, bạn sẽ phải tạo "Mật Khẩu Ứng Dụng" để NodeBB xác thực thành công. Bạn có thể tạo một cái tại trang Mật Khẩu Ứng Dụng .", "smtp-transport.gmail-warning2": "Để biết thêm thông tin về giải pháp này, hãy tham khảo bài viết NodeMailer về vấn đề này. Giải pháp thay thế là sử dụng plugin trình gửi email của bên thứ ba như SendGrid, Mailgun, v.v.. Duyệt qua các plugin có sẵn tại đây.", @@ -39,7 +39,7 @@ "subscriptions": "Thông Báo Email", "subscriptions.disable": "Tắt thông báo email", "subscriptions.hour": "Giờ Thông Báo", - "subscriptions.hour-help": "Vui lòng nhập một số đại diện cho giờ để gửi thông báo email đã lên lịch (VD: 0 cho nửa đêm, 17 cho 5h chiều). Hãy nhớ rằng đây là giờ theo chính máy chủ và có thể không khớp chính xác với đồng hồ hệ thống của bạn.
Thời gian máy chủ gần đúng là:
Thông báo hàng ngày kế tiếp được lên lịch để gửi ", + "subscriptions.hour-help": "Vui lòng nhập một số đại diện cho giờ để gửi thông báo email đã lên lịch (VD: 0 cho nửa đêm, 17 cho 5:00 chiều). Hãy nhớ rằng đây là giờ theo chính máy chủ và có thể không khớp chính xác với đồng hồ hệ thống của bạn.
Thời gian máy chủ gần đúng là:
Thông báo hàng ngày kế tiếp được lên lịch để gửi ", "notifications.remove-images": "Xóa hình ảnh khỏi thông báo email", "require-email-address": "Bắt buộc người dùng mới phải điền địa chỉ email", "require-email-address-warning": "Mặc định, người dùng có thể từ chối nhập địa chỉ email bằng cách để trống trường này. Bật tùy chọn này nghĩa là người dùng mới sẽ phải nhập và xác nhận một địa chỉ email để tiến hành đăng ký và tiếp theo truy cập vào diễn đàn. Nó không đảm bảo người dùng sẽ nhập địa chỉ email thực, thậm chí không phải là địa chỉ mà họ sở hữu.", diff --git a/public/language/vi/admin/settings/general.json b/public/language/vi/admin/settings/general.json index 370b10d03d..6ed6f7e2e2 100644 --- a/public/language/vi/admin/settings/general.json +++ b/public/language/vi/admin/settings/general.json @@ -24,7 +24,7 @@ "logo.upload": "Tải lên", "logo.url": "Liên kết URL Logo", "logo.url-placeholder": "URL biểu trưng trang web", - "logo.url-help": "Khi nhấp vào logo, ​​hãy đưa người dùng đến địa chỉ này. Nếu để trống, người dùng sẽ được chuyển đến chỉ mục diễn đàn.
Lưu ý: Đây không phải là URL bên ngoài được sử dụng trong email, v.v. Nó được đặt bởi thuộc tính url trong config.json", + "logo.url-help": "Khi nhấp vào logo, ​​đưa người dùng đến địa chỉ này. Nếu để trống, người dùng sẽ được chuyển đến chỉ mục diễn đàn.
Lưu ý: Đây không phải là URL bên ngoài được sử dụng trong email, v.v. Nó được đặt bởi thuộc tính url trong config.json", "logo.alt-text": "Văn Bản Thay Thế", "log.alt-text-placeholder": "Văn bản thay thế cho khả năng tiếp cận", "favicon": "Biểu tượng ưa thích", @@ -32,21 +32,21 @@ "pwa": "Ứng Dụng Web Tiến Bộ", "touch-icon": "Biểu Tượng Cảm Ứng", "touch-icon.upload": "Tải lên", - "touch-icon.help": "Kích thước và định dạng được đề xuất: 512x512, chỉ định dạng PNG. Nếu không có biểu tượng cảm ứng nào, NodeBB sẽ quay trở lại sử dụng favicon.", - "maskable-icon": "Biểu tượng có thể che được (Màn Trang Chủ)", - "maskable-icon.help": "Kích thước và định dạng nên là: 512x512, chỉ định dạng PNG. Nếu không có biểu tượng có thể che được nào được chỉ định, NodeBB sẽ trở lại Biểu tượng cảm ứng.", + "touch-icon.help": "Kích cỡ và định dạng được đề xuất: 512x512, chỉ định dạng PNG. Nếu không có biểu tượng cảm ứng nào, NodeBB sẽ quay trở lại sử dụng favicon.", + "maskable-icon": "Biểu tượng có thể che được (Màn Hình Trang Chủ)", + "maskable-icon.help": "Kích thước và định dạng nên là: 512x512, chỉ định dạng PNG. Nếu không có biểu tượng có thể che được nào được chỉ định, NodeBB sẽ trở lại Biểu Tượng Chạm.", "outgoing-links": "Liên Kết Đi", "outgoing-links.warning-page": "Sử Dụng Trang Cảnh Báo Liên Kết Đi", "search": "Tìm kiếm", - "search-default-in": "Tìm kiếm trong", - "search-default-in-quick": "Tìm kiếm nhanh trong", - "search-default-sort-by": "Sắp xếp theo", + "search-default-in": "Tìm Trong", + "search-default-in-quick": "Tìm Nhanh Trong", + "search-default-sort-by": "Xếp theo", "outgoing-links.whitelist": "Các tên miền trong danh sách trắng sẽ bỏ qua trang cảnh báo", "site-colors": "Dữ Liệu Mô Tả Màu Trang", "theme-color": "Màu Giao Diện", "background-color": "Màu Nền", "background-color-help": "Màu được sử dụng cho nền màn hình khởi động khi trang web được cài đặt làm PWA", - "undo-timeout": "Hoàn tác thời gian chờ", - "undo-timeout-help": "Một số thao tác như chuyển chủ đề sẽ cho phép người kiểm duyệt hoàn tác hành động của họ trong một khung thời gian nhất định. Đặt thành 0 để tắt hoàn toàn hoàn tác.", + "undo-timeout": "Thời Gian Chờ Hoàn Tác", + "undo-timeout-help": "Một số thao tác như chuyển chủ đề sẽ cho phép mod hoàn tác hành động của họ trong khung giờ nhất định. Đặt thành 0 để tắt hoàn toàn hoàn tác.", "topic-tools": "Công cụ chủ đề" } diff --git a/public/language/vi/admin/settings/group.json b/public/language/vi/admin/settings/group.json index e9a887faaf..b97b763363 100644 --- a/public/language/vi/admin/settings/group.json +++ b/public/language/vi/admin/settings/group.json @@ -4,7 +4,7 @@ "private-groups.help": "Nếu bật, tham gia nhóm cần chủ nhóm chấp nhận (Mặc định: được bật)", "private-groups.warning": "Coi chừng! Nếu tắt tùy chọn này và bạn có nhóm riêng tư, chúng sẽ tự động trở thành công khai.", "allow-multiple-badges": "Cho Phép Nhiều Huy Hiệu", - "allow-multiple-badges-help": "Cờ này có thể được dùng để người dùng chọn nhiều huy hiệu nhóm, yêu cầu hỗ trợ giao diện.", + "allow-multiple-badges-help": "Cờ này có thể được dùng để người dùng chọn nhiều huy hiệu nhóm, yêu cầu giao diện hỗ trợ.", "max-name-length": "Độ Dài Tên Nhóm Tối Đa", "max-title-length": "Độ Dài Tựa Đề Nhóm Tối Đa", "cover-image": "Ảnh Bìa Nhóm", diff --git a/public/language/vi/admin/settings/homepage.json b/public/language/vi/admin/settings/homepage.json index d4a3e81eb4..17426f63d2 100644 --- a/public/language/vi/admin/settings/homepage.json +++ b/public/language/vi/admin/settings/homepage.json @@ -1,8 +1,8 @@ { "home-page": "Trang Chủ", - "description": "Chọn trang hiển thị khi người dùng được chuyển hướng đến URL gốc diễn đàn của bạn.", + "description": "Chọn trang hiển thị khi người dùng chuyển hướng đến URL gốc diễn đàn của bạn.", "home-page-route": "Liên Kết Trang Chủ", "custom-route": "Tùy Chỉnh Liên Kết", "allow-user-home-pages": "Cho Phép Trang Chủ Người Dùng", - "home-page-title": "Tiêu đề của trang chủ (mặc định là \"Trang chủ\")" + "home-page-title": "Tiêu đề trang chủ (mặc định là \"Trang chủ\")" } \ No newline at end of file diff --git a/public/language/vi/admin/settings/languages.json b/public/language/vi/admin/settings/languages.json index dfb1401e51..bca038be61 100644 --- a/public/language/vi/admin/settings/languages.json +++ b/public/language/vi/admin/settings/languages.json @@ -1,6 +1,6 @@ { - "language-settings": "Cài đặt ngôn ngữ", - "description": "Ngôn ngữ mặc định xác định ngôn ngữ cho tất cả người dùng đang truy cập diễn đàn của bạn.
Người dùng cá nhân có thể thay đổi ngôn ngữ ưa thích riêng trong cài đặt tài khoản", - "default-language": "Ngôn ngữ mặc định", - "auto-detect": "Tự động phát hiện cài đặt ngôn ngữ cho khách" + "language-settings": "Cài Đặt Ngôn Ngữ", + "description": "Ngôn ngữ mặc định là cài đặt ngôn ngữ cho tất cả người dùng diễn đàn của bạn.
Người dùng cá nhân có thể thay đổi ngôn ngữ họ thích trong cài đặt tài khoản", + "default-language": "Ngôn Ngữ Mặc Định", + "auto-detect": "Tự Phát Hiện Cài Đặt Ngôn Ngữ Cho Khách" } \ No newline at end of file diff --git a/public/language/vi/admin/settings/navigation.json b/public/language/vi/admin/settings/navigation.json index 054160bc86..5da1a13b02 100644 --- a/public/language/vi/admin/settings/navigation.json +++ b/public/language/vi/admin/settings/navigation.json @@ -10,7 +10,7 @@ "id": "ID: không bắt buộc", "properties": "Thuộc tính:", - "show-to-groups": "Show to Groups:", + "show-to-groups": "Hiển thị cho nhóm:", "open-new-window": "Mở trong một cửa sổ mới", "dropdown": "Thả xuống", "dropdown-placeholder": "Đặt các mục menu thả xuống của bạn bên dưới, tức là:
<li><a class="dropdown-item" href="https://myforum.com">Link 1</a></li>", diff --git a/public/language/vi/admin/settings/post.json b/public/language/vi/admin/settings/post.json index 6c8b908d96..3e4772f3dc 100644 --- a/public/language/vi/admin/settings/post.json +++ b/public/language/vi/admin/settings/post.json @@ -1,20 +1,20 @@ { - "general": "Tổng quan", + "general": "Chung", "sorting": "Sắp Xếp Bài Đăng", "sorting.post-default": "Sắp Xếp Bài Đăng Mặc Định", "sorting.oldest-to-newest": "Cũ nhất đến Mới nhất", "sorting.newest-to-oldest": "Mới nhất đến Cũ nhất", - "sorting.recently-replied": "Recently Replied", - "sorting.recently-created": "Recently Created", + "sorting.recently-replied": "Trả Lời Gần Đây", + "sorting.recently-created": "Đã Tạo Gần Đây", "sorting.most-votes": "Nhiều Bình Chọn", "sorting.most-posts": "Nhiều Bài Đăng", - "sorting.most-views": "Most Views", + "sorting.most-views": "Xem Nhiều Nhất", "sorting.topic-default": "Sắp Xếp Chủ Đề Mặc Định", "length": "Độ Dài Bài Đăng", "post-queue": "Xếp Hàng Bài Đăng", "restrictions": "Hạn Chế Đăng Bài", "restrictions.post-queue": "Bật Xếp Hàng Bài Đăng", - "restrictions.post-queue-rep-threshold": "Danh tiếng cần thiết để vượt qua đợi đăng bài", + "restrictions.post-queue-rep-threshold": "Danh tiếng cần thiết để vượt qua hàng đợi đăng bài", "restrictions.groups-exempt-from-post-queue": "Chọn các nhóm được miễn khỏi đợi đăng bài", "restrictions-new.post-queue": "Bật hạn chế người dùng mới", "restrictions.post-queue-help": "Bật xếp hàng đăng bài sẽ đưa các bài của người dùng mới vào xếp hàng phê duyệt", @@ -27,9 +27,9 @@ "restrictions.post-length": "Độ dài bài đăng", "restrictions.days-until-stale": "Số ngày cho đến khi chủ đề được coi là cũ", "restrictions.stale-help": "Nếu một chủ đề được coi là \"cũ\" thì cảnh báo sẽ được hiển thị cho những người dùng cố gắng trả lời chủ đề đó. (đặt thành 0 để tắt)", - "timestamp": "Dấu thời gian", + "timestamp": "Mốc thời gian", "timestamp.cut-off": "Giới hạn ngày (tính theo ngày)", - "timestamp.cut-off-help": "Ngày tháng & thời gian sẽ được hiển thị một cách tương đối (VD: \"3 giờ trước\" / \"5 ngày trước\"), và bản địa hóa thành nhiều\n\t\t\t\t\tngôn ngữ. Sau một thời điểm nhất định, dòng chữ này có thể được chuyển sang hiển thị ngày được bản địa hóa\n\t\t\t\t\t(VD: 5 Tháng 11, 2016 15:30).
(Mặc định: 30, hoặc một tháng). Đặt là 0 để luôn hiển thị ngày tháng, để trống để luôn hiển thị thời gian tương đối.", + "timestamp.cut-off-help": "Ngày & giờ sẽ được hiển thị tương đối (VD: \"3 giờ trước\" / \"5 ngày trước\"), và địa phương hóa thành nhiều\n\t\t\t\t\tngôn ngữ. Sau một thời gian, dòng chữ này có thể tự chuyển sang hiển thị ngày giờ địa phương\n\t\t\t\t\t(VD: 5 Tháng 11, 2016 15:30).
(Mặc định: 30, hoặc một tháng). Đặt là 0 để luôn hiển thị ngày tháng, để trống để luôn hiển thị thời gian tương đối.", "timestamp.necro-threshold": "Ngưỡng Necro (ngày)", "timestamp.necro-threshold-help": "Một thông báo sẽ được hiển thị giữa các bài đăng nếu thời gian giữa chúng dài hơn ngưỡng yêu cầu. (Mặc định: 7, hoặc một tuần). Đặt thành 0 để tắt.", "timestamp.topic-views-interval": "Khoảng thời gian xem chủ đề tăng dần (phút)", @@ -38,12 +38,12 @@ "teaser.last-post": "Gần đây – Hiển thị bài đăng mới nhất, bao gồm cả bài gốc, nếu không có câu trả lời", "teaser.last-reply": "Cuối cùng - Hiển thị câu trả lời mới nhất hoặc trình giữ chỗ \"Không trả lời\" nếu không có câu trả lời", "teaser.first": "Đầu tiên", - "showPostPreviewsOnHover": "Hiển thị bản xem trước của các bài đăng khi di chuột qua", - "unread-and-recent": "Unread & Recent Settings", + "showPostPreviewsOnHover": "Hiển thị bản xem thử bài đăng khi di chuột qua", + "unread-and-recent": "Cài Đặt Chưa Đọc & Gần Đây", "unread.cutoff": "Số ngày giới hạn chưa đọc", "unread.min-track-last": "Số bài viết tối thiểu trong chủ đề trước khi theo dõi lần đọc cuối cùng", "recent.max-topics": "Chủ đề tối đa trên trang / gần đây", - "recent.categoryFilter.disable": "Tắt tính năng lọc chủ đề trong chuyên mục bị bỏ qua trên trang /gần đây", + "recent.categoryFilter.disable": "Tắt lọc chủ đề trong danh mục bị bỏ qua trên trang /recent", "signature": "Cài Đặt Chữ Ký", "signature.disable": "Tắt chữ ký", "signature.no-links": "Tắt liên kết trong chữ ký", @@ -60,5 +60,5 @@ "backlinks.help": "Nếu một bài đăng tham chiếu đến chủ đề khác, một liên kết ngược đến bài đăng sẽ được chèn vào chủ đề được tham chiếu vào lúc đó.", "ip-tracking": "Theo dõi IP", "ip-tracking.each-post": "Theo dõi Địa chỉ IP mỗi bài đăng", - "enable-post-history": "Bật Lịch Sử Bài Đăng" + "enable-post-history": "Bật lịch sử đăng bài" } \ No newline at end of file diff --git a/public/language/vi/admin/settings/reputation.json b/public/language/vi/admin/settings/reputation.json index 12b29ddcf7..4914fb3a8b 100644 --- a/public/language/vi/admin/settings/reputation.json +++ b/public/language/vi/admin/settings/reputation.json @@ -2,16 +2,23 @@ "reputation": "Cài Đặt Đánh Giá Uy Tín", "disable": "Tắt Hệ Thống Đánh Giá Uy Tín", "disable-down-voting": "Tắt Phản Đối", - "votes-are-public": "Tất Cả Bình Chọn Là Công Khai", + "upvote-visibility": "Khả năng hiển thị số ủng hộ", + "upvote-visibility-all": "Mọi người có thể xem số ủng hộ", + "upvote-visibility-loggedin": "Chỉ người dùng đã đăng nhập mới có thể xem số ủng hộ", + "upvote-visibility-privileged": "Chỉ những ai có đặc quyền như admin và mod được xem số ủng hộ", + "downvote-visibility": "Khả năng hiển thị số phản đối", + "downvote-visibility-all": "Mọi người có thể xem số phản đối", + "downvote-visibility-loggedin": "Chỉ ai đã đăng nhập được xem số phản đối", + "downvote-visibility-privileged": "Chỉ người dùng đặc quyền như admin hoặc mod có thể xem số phản đối", "thresholds": "Ngưỡng hoạt động", "min-rep-upvote": "Uy tín tối thiểu để ủng hộ bài đăng", - "upvotes-per-day": "Số phiếu ủng hộ mỗi ngày (đặt thành 0 để có số phiếu ủng hộ không giới hạn)", + "upvotes-per-day": "Số phiếu ủng hộ mỗi ngày (đặt là 0 để không giới hạn)", "upvotes-per-user-per-day": "Số phiếu ủng hộ cho mỗi người dùng mỗi ngày (đặt thành 0 để có số phiếu ủng hộ không giới hạn)", "min-rep-downvote": "Uy tín tối thiểu để phản đối bài đăng", "downvotes-per-day": "Số phản đối mỗi ngày (đặt là 0 không giới hạn phản đối)", "downvotes-per-user-per-day": "Số phản đối mỗi người dùng mỗi ngày (đặt là 0 không giới hạn số phản đối)", "min-rep-chat": "Uy tín tối thiểu để gửi tin nhắn trò chuyện", - "min-rep-post-links": "Minimum reputation to post links", + "min-rep-post-links": "Danh tiếng tối thiểu để đăng liên kết", "min-rep-flag": "Uy tín tối thiểu để gắn cờ bài đăng", "min-rep-website": "Uy tín tối thiểu để thêm \"Trang web\" vào hồ sơ người dùng", "min-rep-aboutme": "Uy tín tối thiểu để thêm \"Giới thiệu bản thân\" vào hồ sơ người dùng", @@ -23,12 +30,12 @@ "flags.limit-per-target": "Số lần tối đa nội dung nào đó có thể được gắn cờ", "flags.limit-per-target-placeholder": "Mặc định: 0", "flags.limit-per-target-help": "Khi một bài đăng hoặc người dùng bị gắn cờ nhiều lần, mỗi cờ bổ sung được coi là một "báo cáo" và được thêm vào cờ gốc. Đặt tùy chọn này thành một số khác 0 để giới hạn số lượng báo cáo mà một mục có thể nhận được.", - "flags.limit-post-flags-per-day": "Maximum number of times a user can flag posts in a day", - "flags.limit-post-flags-per-day-help": "Set to 0 to disable, (default: 10)", - "flags.limit-user-flags-per-day": "Maximum number of times a user can flag users in a day", - "flags.limit-user-flags-per-day-help": "Set to 0 to disable, (default: 10)", - "flags.auto-flag-on-downvote-threshold": "Number of downvotes to auto flag posts", - "flags.auto-flag-on-downvote-threshold-help": "Set to 0 to disable, (default: 0)", + "flags.limit-post-flags-per-day": "Số lần tối đa người dùng có thể gắn cờ bài đăng trong một ngày", + "flags.limit-post-flags-per-day-help": "Đặt là 0 để tắt, (mặc định: 10)", + "flags.limit-user-flags-per-day": "Số lần tối đa người dùng có thể gắn cờ người dùng trong một ngày", + "flags.limit-user-flags-per-day-help": "Đặt là 0 để tắt, (mặc định: 10)", + "flags.auto-flag-on-downvote-threshold": "Số lượt phản đối đối với bài đăng tự động gắn cờ", + "flags.auto-flag-on-downvote-threshold-help": "Đặt là 0 để tắt, (mặc định: 0)", "flags.auto-resolve-on-ban": "Tự động giải quyết tất cả các yêu cầu của người dùng khi họ bị cấm", "flags.action-on-resolve": "Làm như sau khi một gắn cờ được giải quyết", "flags.action-on-reject": "Làm như sau khi một gắn cờ bị từ chối", diff --git a/public/language/vi/admin/settings/uploads.json b/public/language/vi/admin/settings/uploads.json index deda121e05..7a1b176219 100644 --- a/public/language/vi/admin/settings/uploads.json +++ b/public/language/vi/admin/settings/uploads.json @@ -7,7 +7,7 @@ "orphanExpiryDays": "Ngày lưu giữ các tệp mồ côi", "orphanExpiryDays-help": "Sau nhiều ngày, các tệp tải lên không rõ nguồn gốc sẽ bị xóa khỏi hệ thống tệp.
Đặt 0 hoặc để trống để tắt.", "private-extensions": "Phần mở rộng tệp để đặt ở chế độ riêng tư", - "private-uploads-extensions-help": "Nhập danh sách phần mở rộng tệp tại đây phân tách bằng dấu phẩy để đặt ở chế độ riêng tư (VD: pdf,xls,doc). Để trống có nghĩa là mọi tệp đều riêng tư.", + "private-uploads-extensions-help": "Nhập danh sách phần mở rộng tệp tại đây phân tách bằng dấu phẩy để đặt ở chế độ riêng tư (VD: pdf,xls,doc). Để trống nghĩa là mọi tệp đều riêng tư.", "resize-image-width-threshold": "Chỉnh kích cỡ ảnh nếu chúng rộng hơn chiều rộng đã đặt", "resize-image-width-threshold-help": "(tính bằng pixel, mặc định: 1520 pixel, đặt thành 0 để tắt)", "resize-image-width": "Giảm kích cỡ ảnh xuống đến chiều rộng đã đặt", @@ -20,11 +20,11 @@ "reject-image-width-help": "Hình ảnh rộng hơn giá trị này sẽ bị từ chối.", "reject-image-height": "Chiều Cao Ảnh Tối Đa (pixel)", "reject-image-height-help": "Hình ảnh cao hơn giá trị này sẽ bị từ chối.", - "allow-topic-thumbnails": "Cho phép người dùng tải lên ảnh mô tả chủ đề", - "topic-thumb-size": "Kích Cỡ Ảnh Mô Tả Chủ Đề", + "allow-topic-thumbnails": "Cho phép người dùng tải lên ảnh thumbnails chủ đề", + "topic-thumb-size": "Kích Cỡ Ảnh Thumbnails Chủ Đề", "allowed-file-extensions": "Cho Phép Phần Mở Rộng Tệp", "allowed-file-extensions-help": "Nhập danh sách phần mở rộng tệp phân tách bằng dấu phẩy ở đây (VD: pdf,xls,doc). Để trống là cho phép tất cả.", - "upload-limit-threshold": "‎Giới hạn tốc ‎‎độ tải‎‎ người dùng lên:‎", + "upload-limit-threshold": "‎Giới hạn tỉ lệ tải‎‎ lên người dùng:‎", "upload-limit-threshold-per-minute": "‎Mỗi %1 Phút‎", "upload-limit-threshold-per-minutes": "‎Mỗi %1 Phút‎", "profile-avatars": "Ảnh Đại Diện Hồ Sơ", diff --git a/public/language/vi/admin/settings/user.json b/public/language/vi/admin/settings/user.json index a6c88151fc..524d0b5dca 100644 --- a/public/language/vi/admin/settings/user.json +++ b/public/language/vi/admin/settings/user.json @@ -16,7 +16,7 @@ "hide-email": "Ẩn email khỏi người dùng", "show-fullname-as-displayname": "Hiển thị tên đầy đủ của người dùng làm tên hiển thị của họ nếu có", "themes": "Giao diện", - "disable-user-skins": "Ngăn người dùng chọn giao diện tùy chỉnh", + "disable-user-skins": "Ngăn người dùng chọn trang điểm tùy chỉnh", "account-protection": "Bảo Vệ Tài Khoản", "admin-relogin-duration": "Thời lượng đăng nhập lại của quản trị viên (phút)", "admin-relogin-duration-help": "Sau một khoảng thời gian truy cập nhất định vào phần quản trị sẽ yêu cầu đăng nhập lại, hãy đặt thành 0 để tắt", @@ -32,18 +32,18 @@ "session-duration": "Thời lượng phiên nếu \"Ghi nhớ tôi\" không được chọn (giây)", "session-duration-help": "Theo mặc định — hoặc nếu đặt thành 0 — người dùng sẽ duy trì trạng thái đăng nhập trong suốt thời gian của phiên (VD: cửa sổ/tab trình duyệt vẫn mở trong bao lâu). Đặt giá trị này để vô hiệu hóa rõ ràng phiên sau số giây đã chỉ định.", "online-cutoff": "Số phút sau khi người dùng được coi là không hoạt động", - "online-cutoff-help": "Nếu người dùng không thao tác trong khoảng thời gian này, được coi là không hoạt động và không nhận được cập nhật theo thời gian thực.", + "online-cutoff-help": "Nếu người dùng không thao tác trong thời gian này, sẽ coi là không hoạt động và không cập nhật thời gian thực.", "registration": "Đăng Ký Người Dùng", - "registration-type": "Loại Đăng Ký", - "registration-approval-type": "Loại Xét Duyệt Đăng Ký", + "registration-type": "Kiểu Đăng Ký", + "registration-approval-type": "Kiểu Xét Duyệt Đăng Ký", "registration-type.normal": "Bình thường", - "registration-type.admin-approval": "Quản Trị Viên Phê Duyệt", - "registration-type.admin-approval-ip": "Quản Trị Viên Phê Duyệt cho IP", + "registration-type.admin-approval": "Admin Phê Duyệt", + "registration-type.admin-approval-ip": "Amin Duyệt IP", "registration-type.invite-only": "Chỉ Mời", - "registration-type.admin-invite-only": "Chỉ Quản Trị Viên Mời", - "registration-type.disabled": "Không có đăng ký", - "registration-type.help": "Bình thường - Người dùng có thể đăng ký từ trang /register.
\nChỉ mời - Người dùng có thể mời những người khác từ trang người dùng.
\nChỉ Quản Trị Viên mời - Chỉ quản trị viên mới có thể mời người khác từ trang người dùngadmin/manage/users.
\nKhông đăng ký - Không đăng ký người dùng.
", - "registration-approval-type.help": "Bình thường - Người dùng được đăng ký ngay lập tức.
\nPhê duyệt của quản trị viên - Đăng ký người dùng được đặt trong xếp hàng phê duyệt cho quản trị viên.
\nPhê duyệt của quản trị viên cho các IP - Bình thường cho người dùng mới, Phê duyệt quản trị cho các địa chỉ IP đã có tài khoản.
", + "registration-type.admin-invite-only": "Chỉ Admin Mời", + "registration-type.disabled": "Không đăng ký", + "registration-type.help": "Bình Thường - Người dùng có thể đăng ký từ trang /register.
\nChỉ Mời - Người dùng có thể mời những người khác từ trang người dùng.
\nChỉ Admin Mời - Chỉ quản trị viên mới có thể mời người khác từ trang người dùngadmin/manage/users.
\nKhông đăng ký - Không đăng ký người dùng.
", + "registration-approval-type.help": "Bình thường - Người dùng được đăng ký ngay lập tức.
\nAdmin phê duyệt - Đăng ký người dùng được đặt trong hàng phê duyệt cho quản trị viên.
\nAdmin phê duyệt IP - Bình thường cho người mới, Admin phê duyệt IP đã có tài khoản.
", "registration-queue-auto-approve-time": "Thời Gian Xét Duyệt Tự Động", "registration-queue-auto-approve-time-help": "Giờ trước khi người dùng được xét duyệt tự động. 0 để tắt.", "registration-queue-show-average-time": "Hiện thời gian xét duyệt cho người dùng mới biết", @@ -58,7 +58,7 @@ "min-password-strength": "Độ Mạnh Mật Khẩu Tối Thiểu", "max-about-me-length": "Độ Dài Tối Đa Giới Thiệu Bản Thân", "terms-of-use": "Điều Khoản Sử Dụng Diễn Đàn (Để trống để tắt)", - "user-search": "Tìm Kiếm Người Dùng", + "user-search": "Tìm Người Dùng", "user-search-results-per-page": "Số lượng người dùng hiển thị trong kết quả tìm kiếm", "default-user-settings": "Cài Đặt Người Dùng Mặc Định", "show-email": "Hiển thị email", @@ -66,7 +66,7 @@ "restrict-chat": "Chỉ cho phép tin nhắn trò chuyện từ những người dùng tôi theo dõi", "outgoing-new-tab": "Mở các liên kết đi trong tab mới", "topic-search": "Bật Tìm Kiếm Trong Chủ Đề", - "update-url-with-post-index": "Cập nhật url với chỉ mục bài đăng trong khi duyệt các chủ đề", + "update-url-with-post-index": "Cập nhật url với chỉ mục bài đăng trong khi lướt xem các chủ đề", "digest-freq": "Đăng Ký Thông báo", "digest-freq.off": "Tắt", "digest-freq.daily": "Hàng ngày", @@ -80,13 +80,13 @@ "default-notification-settings": "Cài đặt thông báo mặc định", "categoryWatchState": "Trạng thái xem chuyên mục mặc định", "categoryWatchState.tracking": "Theo dõi", - "categoryWatchState.notwatching": "Không Xem", + "categoryWatchState.notwatching": "Chưa Xem", "categoryWatchState.ignoring": "Bỏ Qua", - "restrictions-new": "New User Restrictions", - "restrictions.rep-threshold": "Reputation threshold before these restrictions are lifted", - "restrictions.seconds-between-new": "Seconds between posts for new users", - "restrictions.seconds-before-new": "Seconds before a new user can make their first post", - "restrictions.seconds-edit-after-new": "Number of seconds a post remains editable for new users (set to 0 to disable)", - "restrictions.milliseconds-between-messages": "Time between chat messages for new users (ms)", - "restrictions.groups-exempt-from-new-user-restrictions": "Select groups that should be exempt from the new user restrictions" + "restrictions-new": "Hạn chế người dùng mới", + "restrictions.rep-threshold": "Ngưỡng uy tín trước khi những hạn chế này được dỡ bỏ", + "restrictions.seconds-between-new": "Giây giữa các bài viết cho người dùng mới", + "restrictions.seconds-before-new": "Số giây trước khi người dùng mới có thể đăng bài đầu tiên của họ", + "restrictions.seconds-edit-after-new": "Số giây một bài đăng vẫn có thể chỉnh sửa đối với người dùng mới (đặt thành 0 để tắt)", + "restrictions.milliseconds-between-messages": "Thời gian giữa các tin nhắn trò chuyện đối với người dùng mới (ms)", + "restrictions.groups-exempt-from-new-user-restrictions": "Chọn các nhóm sẽ được miễn các hạn chế mới đối với người dùng" } diff --git a/public/language/vi/aria.json b/public/language/vi/aria.json index 6f023dcae0..a8d3823d9a 100644 --- a/public/language/vi/aria.json +++ b/public/language/vi/aria.json @@ -1,8 +1,8 @@ { - "post-sort-option": "Post sort option, %1", - "topic-sort-option": "Topic sort option, %1", - "user-avatar-for": "User avatar for %1", - "user-watched-tags": "User watched tags", - "delete-upload-button": "Delete upload button", - "group-page-link-for": "Group page link for %1" + "post-sort-option": "Tùy chọn sắp xếp bài đăng, %1", + "topic-sort-option": "Tùy chọn sắp xếp chủ đề, %1", + "user-avatar-for": "Ảnh đại diện %1", + "user-watched-tags": "Thẻ người dùng đã xem", + "delete-upload-button": "Xóa nút tải lên", + "group-page-link-for": "Liên kết trang nhóm cho %1" } \ No newline at end of file diff --git a/public/language/vi/category.json b/public/language/vi/category.json index 3a7edad00e..db5e443add 100644 --- a/public/language/vi/category.json +++ b/public/language/vi/category.json @@ -3,17 +3,17 @@ "subcategories": "Danh mục phụ", "new-topic-button": "Chủ Đề Mới", "guest-login-post": "Đăng nhập để đăng bài", - "no-topics": "Không có chủ đề nào trong chuyên mục này.
Tại sao bạn không thử đăng?", - "browsing": "đang duyệt", - "no-replies": "Không ai trả lời", - "no-new-posts": "Không có bài mới.", + "no-topics": "Không chủ đề nào trong danh mục này.
Tại sao bạn không thử đăng?", + "browsing": "lướt xem", + "no-replies": "Không có ai trả lời", + "no-new-posts": "Không bài đăng mới.", "watch": "Xem", "ignore": "Bỏ qua", "watching": "Đang xem", "tracking": "Theo dõi", - "not-watching": "Không xem", + "not-watching": "Chưa Xem", "ignoring": "Bỏ qua", - "watching.description": "Thông báo tôi về chủ đề mới.
Hiển thị chủ đề chưa đọc và gần đây", + "watching.description": "Thông báo tôi chủ đề mới.
Hiển thị chủ đề chưa đọc và gần đây", "tracking.description": "Hiển thị chủ đề chưa đọc và gần đây", "not-watching.description": "Không hiển thị chủ đề trong chưa đọc, hiển thị gần đây", "ignoring.description": "Không hiển thị chủ đề chưa đọc và gần đây", @@ -21,6 +21,6 @@ "tracking.message": "Bạn hiện đang theo dõi thông tin cập nhật từ danh mục này và tất cả các danh mục phụ", "notwatching.message": "Bạn không xem cập nhật từ danh mục này và tất cả các danh mục phụ", "ignoring.message": "Bây giờ bạn đang bỏ qua các cập nhật từ danh mục này và tất cả các danh mục phụ", - "watched-categories": "Chuyên mục đã xem", + "watched-categories": "Danh mục đã xem", "x-more-categories": "%1 chuyên mục khác" } \ No newline at end of file diff --git a/public/language/vi/email.json b/public/language/vi/email.json index 8155cec7c8..776a2a3a8d 100644 --- a/public/language/vi/email.json +++ b/public/language/vi/email.json @@ -3,27 +3,27 @@ "password-reset-requested": "Yêu cầu đặt lại mật khẩu!", "welcome-to": "Chào mừng đến với %1", "invite": "Lời mời từ %1", - "greeting-no-name": "Xin chào", - "greeting-with-name": "Xin chào %1", - "email.verify-your-email.subject": "Vui lòng xác thực tài khoản của bạn", + "greeting-no-name": "Chào", + "greeting-with-name": "Chào %1", + "email.verify-your-email.subject": "Vui lòng xác minh email của bạn", "email.verify.text1": "Bạn đã yêu cầu chúng tôi thay đổi hoặc xác nhận địa chỉ email của bạn", "email.verify.text2": "Vì lý do bảo mật, chúng tôi chỉ thay đổi hoặc xác nhận địa chỉ email trong hồ sơ khi quyền sở hữu của nó đã được xác nhận qua email. Nếu bạn không yêu cầu điều này, bạn không cần thực hiện hành động nào.", "email.verify.text3": "Sau khi bạn xác nhận địa chỉ email này, chúng tôi sẽ đổi email hiện tại của bạn bằng địa chỉ này (%1).", - "welcome.text1": "Cảm ơn bạn đã đăng ký tại %1!", + "welcome.text1": "Cảm ơn bạn đã đăng ký với %1!", "welcome.text2": "Để kích hoạt đầy đủ tính năng của tài khoản, chúng tôi cần xác nhận địa chỉ email mà bạn đã đăng ký.", - "welcome.text3": "Quản trị viên đã chấp nhận đơn đăng ký của bạn. Bạn có thể đăng nhập với tên đăng nhập/mật khẩu ngay bây giờ.", - "welcome.cta": "Nhấn vào đây để xác nhận địa chỉ email", + "welcome.text3": "Admin đã chấp nhận đơn đăng ký của bạn. Bạn có thể đăng nhập với tên đăng nhập/mật khẩu ngay bây giờ.", + "welcome.cta": "Bấm vào đây để xác nhận địa chỉ email", "invitation.text1": "%1 đã mời bạn tham gia %2", "invitation.text2": "Lời mời của bạn sẽ hết hạn sau %1 ngày.", "invitation.cta": "Bấm vào đây để tạo tài khoản của bạn.", "reset.text1": "Chúng tôi nhận được yêu cầu đặt lại mật khẩu của bạn, có thể bởi vì bạn đã quên nó. Nếu không đúng như vậy, vui lòng bỏ qua email này.", "reset.text2": "Để đặt lại mật khẩu, hãy bấm vào liên kết sau:", "reset.cta": "Nhấn vào đây để đặt lại mật khẩu của bạn", - "reset.notify.subject": "Thay đổi mật khẩu thành công", - "reset.notify.text1": "Chúng tôi thông báo cho bạn rằng vào ngày %1, mật khẩu của bạn được thay đổi thành công.", + "reset.notify.subject": "Đã thay đổi mật khẩu thành công", + "reset.notify.text1": "Chúng tôi thông báo cho bạn rằng vào ngày %1, bạn đã đổi mật khẩu thành công.", "reset.notify.text2": "Nếu bạn không cho phép điều này, hãy thông báo ngay cho quản trị viên.", - "digest.unread-rooms": "Unread rooms", - "digest.room-name-unreadcount": "%1 (%2 unread)", + "digest.unread-rooms": "Phòng chưa đọc", + "digest.room-name-unreadcount": "%1 (%2 chưa đọc)", "digest.latest-topics": "Chủ đề mới nhất từ %1", "digest.top-topics": "Chủ đề hàng đầu từ %1", "digest.popular-topics": "Các chủ đề phổ biến từ %1", @@ -36,17 +36,17 @@ "digest.title.day": "Thông Báo Hàng Ngày Của Bạn", "digest.title.week": "Thông Báo Hàng Tuần Của Bạn", "digest.title.month": "Thông Báo Hàng Tháng Của Bạn", - "notif.chat.new-message-from-user": "New message from \"%1\"", - "notif.chat.new-message-from-user-in-room": "New message from %1 in room %2", + "notif.chat.new-message-from-user": "Tin nhắn mới từ \"%1\"", + "notif.chat.new-message-from-user-in-room": "Tin nhắn mới từ %1 trong phòng %2", "notif.chat.cta": "Nhấn vào đây để tiếp tục cuộc hội thoại", "notif.chat.unsub.info": "Thông báo trò chuyện này đã được gửi cho bạn dựa theo cài đặt đăng ký của bạn.", - "notif.post.unsub.info": "Thông báo bài viết này được gửi cho bạn dựa tên thiết lập nhận thông báo của bạn", + "notif.post.unsub.info": "Thông báo bài viết này được gửi cho bạn dựa tên cài đặt theo dõi của bạn", "notif.post.unsub.one-click": "Ngoài ra, hãy hủy đăng ký nhận những email tương tự trong tương lai bằng cách nhấp vào", "notif.cta": "Đến diễn đàn", "notif.cta-new-reply": "Xem Bài Viết", "notif.cta-new-chat": "Xem Trò Chuyện", - "notif.test.short": "Kiểm Tra Thông Báo", - "notif.test.long": "Đây là một kiểm tra email thông báo. Gửi giúp đỡ!", + "notif.test.short": "Thông Báo Kiểm Tra", + "notif.test.long": "Đây là một kiểm tra thông báo email. Gửi giúp đỡ!", "test.text1": "Đây là email thử nghiệm để kiểm tra trình gửi email NodeBB của bạn đã cài đặt đúng.", "unsub.cta": "Nhấp vào đây để thay đổi các cài đặt đó", "unsubscribe": "hủy đăng ký", @@ -57,5 +57,5 @@ "banned.text1": "Người dùng %1 đã bị cấm khỏi %2", "banned.text2": "Lệnh cấm sẽ kéo dài đến %1.", "banned.text3": "Đây là lý do tại sao bạn bị cấm:", - "closing": "Xin cảm ơn!" + "closing": "Cảm ơn!" } \ No newline at end of file diff --git a/public/language/vi/error.json b/public/language/vi/error.json index 3ae8af4e2b..266258a789 100644 --- a/public/language/vi/error.json +++ b/public/language/vi/error.json @@ -1,5 +1,5 @@ { - "invalid-data": "Dữ liệu không hợp lệ", + "invalid-data": "Dữ Liệu Không Hợp Lệ", "invalid-json": "JSON không hợp lệ", "wrong-parameter-type": "Giá trị của loại %3 được mong đợi cho thuộc tính `%1`, nhưng thay vào đó, %2 đã được nhận", "required-parameters-missing": "Các thông số bắt buộc bị thiếu trong lệnh gọi API này: %1", @@ -8,31 +8,31 @@ "search-requires-login": "Tìm kiếm yêu cầu một tài khoản - vui lòng đăng nhập hoặc đăng ký.", "goback": "Nhấn back để quay về trang trước", "invalid-cid": "ID Danh Mục không hợp lệ", - "invalid-tid": "ID chủ đề không hợp lệ", - "invalid-pid": "ID bài viết không hợp lệ", - "invalid-uid": "ID tài khoản không hợp lệ", + "invalid-tid": "ID Chủ Đề Không Hợp Lệ", + "invalid-pid": "ID Bài Không Hợp Lệ", + "invalid-uid": "ID Người Dùng Không Hợp Lệ", "invalid-mid": "ID Tin Nhắn Không Hợp Lệ", "invalid-date": "Phải cung cấp một ngày hợp lệ", - "invalid-username": "Tên đăng nhập không hợp lệ", - "invalid-email": "Email không hợp lệ", + "invalid-username": "Tên Đăng Nhập Không Hợp Lệ", + "invalid-email": "Email Không Hợp Lệ", "invalid-fullname": "Tên Đầy Đủ Không Hợp Lệ", "invalid-location": "Vị Trí Không Hợp Lệ", "invalid-birthday": "Sinh Nhật Không Hợp Lệ", "invalid-title": "Tiêu đề không hợp lệ", - "invalid-user-data": "Dữ liệu tài khoản không hợp lệ", - "invalid-password": "Mật khẩu không hợp lệ", + "invalid-user-data": "Dữ Liệu Người Dùng Không Hợp Lệ", + "invalid-password": "Mật Khẩu Không Hợp Lệ", "invalid-login-credentials": "Thông tin đăng nhập không hợp lệ", "invalid-username-or-password": "Hãy nhập tên đăng nhập và mật khẩu cụ thể", "invalid-search-term": "Cụm từ tìm kiếm không hợp lệ", - "invalid-url": "Đường dẫn không chính xác", + "invalid-url": "URL không đúng", "invalid-event": "Sự kiện không hợp lệ: %1", - "local-login-disabled": "Hệ thống đăng nhập nội bộ đã bị vô hiệu hóa với các tài khoản không đủ quyền.", + "local-login-disabled": "Hệ thống đăng nhập cục bộ đã bị vô hiệu hóa với các tài khoản không đủ quyền.", "csrf-invalid": "Chúng tôi không thể đăng nhập cho bạn, có thể do một phiên đã hết hạn. Vui lòng thử lại", "invalid-path": "Đường dẫn không hợp lệ", "folder-exists": "Thư mục tồn tại", - "invalid-pagination-value": "Giá trị phân trang không hợp lệ, tối thiểu phải là %1 và tối đa là %2", - "username-taken": "Tên đăng nhập đã tồn tại", - "email-taken": "Email address is already taken.", + "invalid-pagination-value": "Giá trị phân trang không hợp lệ, tối thiểu là %1 và tối đa là %2", + "username-taken": "Tên đăng nhập có rồi", + "email-taken": "Địa chỉ email đã được sử dụng.", "email-nochange": "Email đã nhập giống với email đã có trong tệp.", "email-invited": "Email đã được mời", "email-not-confirmed": "Đăng trong một số danh mục hoặc chủ đề được bật sau khi email của bạn được xác nhận, vui lòng nhấp vào đây để gửi email xác nhận.", @@ -42,7 +42,7 @@ "user-doesnt-have-email": "Người dùng \"%1\" chưa đặt email.", "email-confirm-failed": "Chúng tôi không thể xác nhận email của bạn, vui lòng thử lại sau.", "confirm-email-already-sent": "Email xác nhận đã được gửi, vui lòng đợi %1 phút để gửi email khác.", - "confirm-email-expired": "Confirmation email expired", + "confirm-email-expired": "Email xác nhận đã hết hạn", "sendmail-not-found": "Không thể tìm thấy tệp thực thi sendmail, vui lòng đảm bảo rằng nó được cài đặt và thực thi bởi người dùng chạy NodeBB.", "digest-not-enabled": "Người dùng này chưa bật thông báo hoặc mặc định hệ thống không được cấu hình để gửi thông báo", "username-too-short": "Tên đăng nhập quá ngắn", @@ -67,7 +67,7 @@ "no-chat-room": "Phòng trò chuyện không tồn tại", "no-privileges": "Bạn không đủ quyền để thực thi hành động này", "category-disabled": "Chuyên mục bị khóa", - "topic-locked": "Chủ đề bị khóa", + "topic-locked": "Chủ Đề Bị Khóa", "post-edit-duration-expired": "Bạn chỉ được phép chỉnh sửa bài đăng trong %1 giây sau khi đăng", "post-edit-duration-expired-minutes": "Bạn chỉ được phép sửa các bài viết sau khi đăng %1 phút(s)", "post-edit-duration-expired-minutes-seconds": "Bạn chỉ được phép sửa các bài viết sau khi đăng %1 phút(s) %2 giây(s)", @@ -91,17 +91,17 @@ "category-not-selected": "Danh mục không được chọn.", "too-many-posts": "Bạn chỉ có đăng bài mới mỗi %1 giây - vui lòng đợi để tiếp tục đăng bài.", "too-many-posts-newbie": "Là người dùng mới, bạn chỉ có thể đăng %1 giây một lần cho đến khi bạn đạt được %2 danh tiếng - vui lòng đợi trước khi đăng lại", - "too-many-posts-newbie-minutes": "Là người dùng mới, bạn chỉ có thể đăng bài %1 phút một lần cho đến khi bạn đạt được %2 danh tiếng - vui lòng đợi trước khi đăng lại", - "already-posting": "You are already posting", + "too-many-posts-newbie-minutes": "Là người dùng mới, bạn chỉ được đăng bài %1 phút một lần cho đến khi bạn đạt được %2 danh tiếng - vui lòng đợi trước khi đăng lại", + "already-posting": "Bạn đã đăng rồi", "tag-too-short": "Vui lòng nhập tag dài hơn. Tag phải có tối thiểu %1 ký tự.", "tag-too-long": "Vui lòng nhập tag ngắn hơn. Tag chỉ có thể có tối đa %1 ký tự.", - "tag-not-allowed": "Thẻ không được phép", + "tag-not-allowed": "Thẻ không cho phép", "not-enough-tags": "Không đủ thẻ. Chủ đề phải có ít nhất %1 thẻ.", "too-many-tags": "Quá nhiều thẻ. Chủ đề không thể nhiều hơn %1 thẻ.", "cant-use-system-tag": "Bạn không thể dùng thẻ hệ thống này.", "cant-remove-system-tag": "Bạn không thể xóa thẻ hệ thống này.", "still-uploading": "Vui lòng đợi quá trình tải lên hoàn tất.", - "file-too-big": "Kích thước tệp cho phép tối đa là %1 kB - vui lòng tải lên một tệp nhỏ hơn", + "file-too-big": "Kích thước tối đa là %1 kB - vui lòng tải lên một tệp nhỏ hơn", "guest-upload-disabled": "Tải lên của khách đã bị tắt", "cors-error": "Không thể tải lên hình ảnh do CORS bị cấu hình sai", "upload-ratelimit-reached": "‎Bạn‎‎ đã tải lên quá nhiều tệp cùng một lúc. Vui lòng thử lại sau.‎", @@ -110,7 +110,7 @@ "invalid-schedule-date": "Vui lòng nhập ngày và giờ hợp lệ.", "cant-pin-scheduled": "Không thể ghim (bỏ) các chủ đề đã lên lịch.", "cant-merge-scheduled": "Các chủ đề đã lên lịch không thể gộp", - "cant-move-posts-to-scheduled": "Không thể chuyển bài đăng sang chủ đề đã lên lịch.", + "cant-move-posts-to-scheduled": "Không thể đưa bài sang chủ đề đã lên lịch.", "cant-move-from-scheduled-to-existing": "Không thể chuyển bài đăng từ một chủ đề đã lên lịch sang một chủ đề hiện có.", "already-bookmarked": "Bạn đã đánh dấu trang chủ đề này rồi", "already-unbookmarked": "Bạn đã hủy đánh dấu trang chủ đề này rồi", @@ -118,7 +118,7 @@ "cant-mute-other-admins": "Bạn không thể buộc quản trị viên khác im lặng!", "user-muted-for-hours": "Bạn bị buộc giữ im lặng, bạn sẽ có thể đăng sau %1 giờ", "user-muted-for-minutes": "Bạn bị buộc giữ im lặng, bạn sẽ có thể đăng sau %1 phút", - "cant-make-banned-users-admin": "Bạn không thể đặt người dùng bị cấm làm quản trị viên.", + "cant-make-banned-users-admin": "Bạn không thể cho người bị cấm làm quản trị viên.", "cant-remove-last-admin": "Bạn là quản trị viên duy nhất. Thêm người dùng khác làm quản trị viên trước khi xóa chính bạn với tư cách quản trị viên", "account-deletion-disabled": "Tính năng xóa tài khoản đã bị tắt", "cant-delete-admin": "Gỡ bỏ đặc quyền quản trị viên khỏi tài khoản này trước khi cố gắng xóa nó.", @@ -136,7 +136,7 @@ "group-not-member": "Không phải thành viên nhóm này.", "group-needs-owner": "Yêu cầu phải có ít nhất một chủ nhóm", "group-already-invited": "Thành viên này đã được mời", - "group-already-requested": "Yêu cầu tham gia của bạn đã được gửi.", + "group-already-requested": "Yêu cầu tham gia thành viên của bạn đã được gửi.", "group-join-disabled": "Bạn không thể tham gia nhóm này vào lúc này", "group-leave-disabled": "Bạn không thể rời khỏi nhóm này vào lúc này", "group-user-not-pending": "Người dùng không có yêu cầu đang chờ xử lý để tham gia nhóm này.", @@ -146,13 +146,14 @@ "topic-already-deleted": "Chủ đề này đã bị xóa", "topic-already-restored": "Chủ đề này đã được phục hồi", "cant-purge-main-post": "Bạn không thể xoá bài viết chính, thay vào đó vui lòng xóa chủ đề", - "topic-thumbnails-are-disabled": "Thumbnails cho chủ đề đã bị tắt", + "topic-thumbnails-are-disabled": "Ảnh Thumbnails chủ đề đã bị tắt", "invalid-file": "Tệp Không Hợp Lệ", "uploads-are-disabled": "Tải lên bị tắt", "signature-too-long": "Xin lỗi, chữ ký của bạn không thể dài hơn %1 ký tự.", "about-me-too-long": "Xin lỗi, giới thiệu bản thân bạn không thể dài hơn %1 ký tự.", "cant-chat-with-yourself": "Bạn không thể trò chuyện với chính bạn!", "chat-restricted": "Người dùng này đã hạn chế tin nhắn trò chuyện của họ. Họ phải theo dõi bạn trước khi bạn có thể trò chuyện với họ", + "chat-user-blocked": "Bạn đã bị chặn bởi người dùng này.", "chat-disabled": "Hệ thống trò chuyện bị tắt", "too-many-messages": "Bạn đã gửi quá nhiều tin nhắn, vui lòng đợi trong giây lát.", "invalid-chat-message": "Tin nhắn trò chuyện không hợp lệ", @@ -161,19 +162,19 @@ "cant-delete-chat-message": "Bạn không được phép xoá tin nhắn này", "chat-edit-duration-expired": "Bạn chỉ được phép sửa tin nhắn trò chuyện này trong %1 giây sau khi đăng.", "chat-delete-duration-expired": "Bạn chỉ được phép xóa tin nhắn trò chuyện này trong %1 giây sau khi đăng.", - "chat-deleted-already": "Cuộc trò chuyện này đã được xóa.", + "chat-deleted-already": "Tin nhắn trò chuyện này đã bị xóa.", "chat-restored-already": "Tin nhắn trò chuyện này đã được khôi phục.", "chat-room-does-not-exist": "Phòng trò chuyện không tồn tại.", "cant-add-users-to-chat-room": "Không thể thêm người dùng vào phòng trò chuyện.", "cant-remove-users-from-chat-room": "Không thể xóa người dùng khỏi phòng trò chuyện.", "chat-room-name-too-long": "Tên phòng trò chuyện quá dài. Tên không được dài hơn %1 ký tự.", "already-voting-for-this-post": "Bạn đã bỏ phiếu cho bài viết này", - "reputation-system-disabled": "Hệ thống đánh giá uy tính đã bị vô hiệu hóa.", + "reputation-system-disabled": "Hệ thống đánh giá uy tính đã tắt.", "downvoting-disabled": "Phản đối đã bị tắt", "not-enough-reputation-to-chat": "Bạn cần %1 uy tín để trò chuyện", "not-enough-reputation-to-upvote": "Bạn cần %1 uy tín để ủng hộ", "not-enough-reputation-to-downvote": "Bạn cần %1 uy tín để phản đối", - "not-enough-reputation-to-post-links": "You need %1 reputation to post links", + "not-enough-reputation-to-post-links": "Bạn cần %1 uy tín để đăng liên kết", "not-enough-reputation-to-flag": "Bạn cần %1 uy tín để gắn cờ bài đăng này", "not-enough-reputation-min-rep-website": "Bạn cần %1 uy tín để thêm một trang web", "not-enough-reputation-min-rep-aboutme": "Bạn cần %1 uy tín để thêm thông tin bản thân", @@ -184,15 +185,15 @@ "user-already-flagged": "Bạn đã gắn cờ người dùng này", "post-flagged-too-many-times": "Bài đăng này đã bị người khác gắn cờ", "user-flagged-too-many-times": "Người dùng này đã bị người khác gắn cờ", - "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": "Bạn không có quyền gắn cờ hồ sơ hay nội dung của người dùng đặc biệt (người kiểm duyệt/người quản lý chung/quản trị viên)", + "too-many-post-flags-per-day": "Bạn chỉ được gắn cờ %1 bài đăng mỗi ngày", + "too-many-user-flags-per-day": "Bạn chỉ được gắn cờ %1 người dùng mỗi ngày", + "cant-flag-privileged": "Bạn không có quyền gắn cờ hồ sơ hay nội dung của người dùng đặc quyền (mod/người điều hành chung/admin)", "cant-locate-flag-report": "Không thể định vị báo cáo cờ", "self-vote": "Bạn không thể tự bầu cho bài đăng của mình", "too-many-upvotes-today": "Bạn chỉ có thể ủng hộ %1 lần một ngày", - "too-many-upvotes-today-user": "Bạn chỉ có thể ủng hộ người dùng %1 lần một ngày", + "too-many-upvotes-today-user": "Bạn chỉ được ủng hộ người dùng %1 lần một ngày", "too-many-downvotes-today": "Bạn chỉ có thể phản đối %1 lần một ngày", - "too-many-downvotes-today-user": "Bạn chỉ có thể phản đối người dùng %1 lần một ngày", + "too-many-downvotes-today-user": "Bạn chỉ được phản đối người dùng %1 lần một ngày", "reload-failed": "NodeBB gặp lỗi trong khi tải lại: \"%1\". NodeBB sẽ tiếp tục hoạt động với dữ liệu trước đó, tuy nhiên bạn nên tháo gỡ những gì bạn vừa thực hiện trước khi tải lại.", "registration-error": "Lỗi Đăng Ký", "parse-error": "Đã xảy ra lỗi khi phân tích phản hồi của máy chủ", @@ -212,19 +213,19 @@ "session-mismatch": "‎Phiên Không Khớp‎", "session-mismatch-text": "Có vẻ như phiên đăng nhập của bạn không còn khớp với máy chủ. Vui lòng làm mới trang này.", "no-topics-selected": "Không có chủ đề nào đang được chọn!", - "cant-move-to-same-topic": "Bạn không thể di chuyển bài viết vào cùng chủ đề hiện tại!", - "cant-move-topic-to-same-category": "Không thể di chuyển chủ đề sang cùng chuyên mục!", - "cannot-block-self": "Bạn không thể tự khóa tài khoản của bạn!", - "cannot-block-privileged": "Bạn không thể khóa quản trị viên hay người quản lý chung.", + "cant-move-to-same-topic": "Bạn không thể đưa bài đăng vào cùng chủ đề!", + "cant-move-topic-to-same-category": "Không thể di chuyển chủ đề đến cùng danh mục!", + "cannot-block-self": "Bạn không thể tự khóa bạn!", + "cannot-block-privileged": "Bạn không thể admin hay người điều hành chung.", "cannot-block-guest": "Khách không thể chặn người dùng khác", "already-blocked": "Người dùng này đã bị chặn", "already-unblocked": "Người dùng này đã được bỏ chặn", - "no-connection": "Kết nối internet của bạn có vấn đề.", + "no-connection": "Có vẻ như có vấn đề với kết nối internet của bạn", "socket-reconnect-failed": "Không thể truy cập máy chủ vào lúc này. Nhấp vào đây để thử lại hoặc thử lại sau", - "invalid-plugin-id": "Invalid plugin ID", - "plugin-not-whitelisted": "Không thể cài đặt plugin – chỉ những plugin được Trình quản lý gói NodeBB đưa vào danh sách trắng mới có thể được cài đặt qua ACP", + "invalid-plugin-id": "ID plugin không hợp lệ", + "plugin-not-whitelisted": "Không thể cài đặt plugin – chỉ có plugin được Quản Lý Gói NodeBB đưa vào danh sách trắng mới có thể được cài đặt qua ACP", "plugins-set-in-configuration": "Bạn không được phép thay đổi trạng thái plugin vì chúng được xác định trong thời gian chạy (config.json, biến môi trường hoặc đối số đầu cuối), thay vào đó hãy sửa đổi cấu hình.", - "theme-not-set-in-configuration": "Khi xác định các plugin hoạt động trong cấu hình, việc thay đổi chủ đề yêu cầu thêm chủ đề mới vào danh sách các plugin hoạt động trước khi cập nhật nó trong ACP", + "theme-not-set-in-configuration": "Khi xác định các plugin hoạt động trong cấu hình, thay đổi giao diện buộc phải thêm giao diện mới vào danh sách các plugin hoạt động trước khi cập nhật nó trong ACP", "topic-event-unrecognized": "Sự kiện chủ đề '%1' không được công nhận", "cant-set-child-as-parent": "Không thể đặt con làm chuyên mục chính", "cant-set-self-as-parent": "Không thể tự đặt mình là chuyên mục chính", diff --git a/public/language/vi/flags.json b/public/language/vi/flags.json index 9ab84ccb33..11eae98340 100644 --- a/public/language/vi/flags.json +++ b/public/language/vi/flags.json @@ -4,35 +4,35 @@ "reports": "Báo cáo", "first-reported": "Được báo cáo đầu tiên", "no-flags": "Hoan hô! Không tìm thấy cờ.", - "x-flags-found": "%1 flag(s) found.", - "assignee": "Người được ủy nhiệm", + "x-flags-found": "%1 cờ tìm thấy.", + "assignee": "Ủy nhiệm", "update": "Cập nhật", "updated": "Đã cập nhật", "resolved": "Đã Xử Lý", "report-added": "Đã thêm", "report-rescinded": "Đã hủy bỏ", "target-purged": "Nội dung mà cờ này đề cập đến đã bị xóa và không còn nữa.", - "target-aboutme-empty": "Người dùng này không có "Giới Thiệu Về Tôi" set.", + "target-aboutme-empty": "Người dùng này không có "Giới Thiệu Bản Thân".", "graph-label": "Cờ Hàng Ngày", "quick-filters": "Bộ Lọc Nhanh", "filter-active": "Có một hoặc nhiều bộ lọc đang hoạt động trong danh sách cờ này", "filter-reset": "Xóa Bộ Lọc", "filters": "Tùy Chọn Bộ Lọc", - "filter-reporterId": "Phóng viên", - "filter-targetUid": "Reportee", + "filter-reporterId": "Báo cáo viên", + "filter-targetUid": "Người cáo cáo", "filter-type": "Loại Cờ", "filter-type-all": "Tất Cả Nội Dung", "filter-type-post": "Bài viết", "filter-type-user": "Người dùng", "filter-state": "Trạng thái", - "filter-assignee": "Assignee", + "filter-assignee": "Ủy nhiệm", "filter-cid": "Chuyên mục", "filter-quick-mine": "Được giao cho tôi", "filter-cid-all": "Tất cả chuyên mục", "apply-filters": "Áp Dụng Bộ Lọc", - "more-filters": "Thêm Nhiều Bộ Lọc", - "fewer-filters": "Ít bộ lọc hơn", + "more-filters": "Thêm Bộ Lọc", + "fewer-filters": "Bớt Bộ Lọc", "quick-actions": "Hành Động Nhanh", "flagged-user": "Người Dùng Bị Gắn Cờ", @@ -79,7 +79,7 @@ "sort-replies": "Nhiều lượt trả lời", "modal-title": "Báo Cáo Nội Dung", - "modal-body": "Vui lòng nêu rõ lý do bạn gắn cờ %1 %2 để xem xét. Ngoài ra, hãy sử dụng một trong các nút báo cáo nhanh nếu có.", + "modal-body": "Hãy nói lý do bạn gắn cờ %1 %2 để đánh giá. Ngoài ra, hãy sử dụng một trong các nút báo cáo nhanh nếu có.", "modal-reason-spam": "Quấy Rối", "modal-reason-offensive": "Phản Cảm", "modal-reason-other": "Khác (Ghi Rõ Bên Dưới)", @@ -90,6 +90,6 @@ "bulk-actions": "‎Hành động hàng loạt‎", "bulk-resolve": "Xử Lý Cờ", "bulk-success": "%1 cờ đã cập nhật", - "flagged-timeago": "Flagged ", - "auto-flagged": "[Tự động được gắn cờ] Đã nhận được %1 phiếu phản đối." + "flagged-timeago": "Đã gắn cờ ", + "auto-flagged": "[Cờ Tự Động] Nhận được %1 phản đối." } \ No newline at end of file diff --git a/public/language/vi/global.json b/public/language/vi/global.json index 70be75c94f..b0d0d717fd 100644 --- a/public/language/vi/global.json +++ b/public/language/vi/global.json @@ -2,7 +2,7 @@ "home": "Trang chủ", "search": "Tìm kiếm", "buttons.close": "Đóng", - "403.title": "Truy Cập Bị Từ Chối", + "403.title": "Từ Chối Truy Cập", "403.message": "Dường như bạn đã tình cờ gặp một trang mà bạn không có quyền truy cập.", "403.login": "Có lẽ bạn nên thử đăng nhập?", "404.title": "Không Tìm Thấy", @@ -15,26 +15,26 @@ "login": "Đăng nhập", "please-log-in": "Vui Lòng Đăng Nhập", "logout": "Đăng xuất", - "posting-restriction-info": "Chỉ thành viên chính thức mới được phép đăng bài, nhấn vào đây để đăng nhập.", + "posting-restriction-info": "Chỉ thành viên chính thức được đăng bài, bấm vào đây để đăng nhập.", "welcome-back": "Chào Mừng Trở Lại", "you-have-successfully-logged-in": "Bạn đã đăng nhập thành công", - "save-changes": "Lưu thay đổi", + "save-changes": "Lưu Thay Đổi", "save": "Lưu", "create": "Tạo", - "cancel": "Hủy bỏ", + "cancel": "Hủy", "close": "Đóng", "pagination": "Phân trang", - "pagination.previouspage": "Previous Page", - "pagination.nextpage": "Next Page", - "pagination.firstpage": "First Page", - "pagination.lastpage": "Last Page", + "pagination.previouspage": "Trang Trước", + "pagination.nextpage": "Trang Kế", + "pagination.firstpage": "Trang Đầu", + "pagination.lastpage": "Trang Cuối", "pagination.out-of": "%1 trong số %2", "pagination.enter-index": "Đi đến chỉ mục bài đăng", - "pagination.go-to-page": "Go to page", - "pagination.page-x": "Page %1", - "header.brand-logo": "Brand Logo", + "pagination.go-to-page": "Tới trang", + "pagination.page-x": "Trang %1", + "header.brand-logo": "Logo Thương Hiệu", "header.admin": "Quản trị viên", - "header.categories": "Chuyên mục", + "header.categories": "Danh mục", "header.recent": "Gần đây", "header.unread": "Chưa đọc", "header.tags": "Thẻ", @@ -50,7 +50,7 @@ "header.navigation": "Điều hướng", "header.manage": "Quản lý", "header.drafts": "Bản thảo", - "notifications.loading": "Đang tải Thông báo", + "notifications.loading": "Đang Tải Thông Báo", "chats.loading": "Đang Tải Trò Chuyện", "drafts.loading": "Đang Tải Bản Nháp", "motd.welcome": "Chào mừng bạn đến với NodeBB, nền tảng thảo luận của tương lai.", @@ -61,7 +61,7 @@ "alert.banned": "Bị cấm", "alert.banned.message": "Bạn vừa bị cấm, quyền truy cập của bạn hiện bị hạn chế.", "alert.unbanned": "Bỏ cấm", - "alert.unbanned.message": "Lệnh cấm của bạn đã được dỡ bỏ.", + "alert.unbanned.message": "Bạn đã được bỏ cấm.", "alert.unfollow": "Bạn không còn theo dõi %1!", "alert.follow": "Bạn đang theo dõi %1!", "users": "Người dùng", @@ -76,7 +76,7 @@ "x-votes": "%1 bình chọn", "voters": "Người Bình Chọn", "upvoters": "Người Ủng Hộ", - "upvoted": "Đã Ủng Hộ", + "upvoted": "Đã ủng hộ", "downvoters": "Người phản đối", "downvoted": "Đã phản đối", "views": "Lượt xem", @@ -84,8 +84,8 @@ "reputation": "Uy tín", "lastpost": "Bài viết cuối cùng", "firstpost": "Bài viết đầu tiên", - "about": "About", - "read-more": "Đọc thêm", + "about": "Thông tin", + "read-more": "đọc thêm", "more": "Xem thêm", "none": "Trống", "posted-ago-by-guest": "đã đăng %1 bởi Khách", @@ -99,11 +99,11 @@ "guest-posted-ago": "Khách đã đăng %1", "last-edited-by": "chỉnh sửa lần cuối bởi %1", "edited-timestamp": "Đã Sửa %1", - "norecentposts": "Không có bài viết nào gần đây", - "norecenttopics": "Không có chủ đề gần đây", + "norecentposts": "Không Bài Nào Gần Đây", + "norecenttopics": "Không Có Chủ Đề Gần Đây", "recentposts": "Bài Viết Gần Đây", "recentips": "Các IP đã Đăng nhập Gần đây", - "moderator-tools": "Công cụ quản lí", + "moderator-tools": "Công Cụ Điều Hành", "status": "Trạng thái", "online": "Trực tuyến", "away": "Vắng mặt", @@ -119,12 +119,12 @@ "unknown-user": "Người dùng không xác định", "updated.title": "Đã Cập Nhật Diễn Đàn", "updated.message": "Diễn đàn đã được cập nhật phiên bản mới nhất. Nhấn vào đây để tải lại trang.", - "privacy": "Quyền riêng tư", + "privacy": "Riêng tư", "follow": "Theo dõi", "unfollow": "Bỏ theo dõi", - "delete-all": "Xóa hết", + "delete-all": "Xóa Tất Cả", "map": "Bản đồ", - "sessions": "Phiên đăng nhập", + "sessions": "Phiên Đăng Nhập", "ip-address": "Địa chỉ IP", "enter-page-number": "Nhập vào số trang", "upload-file": "Tải lên tệp", @@ -140,12 +140,12 @@ "edited": "Đã Sửa", "disabled": "Đã tắt", "select": "Chọn", - "selected": "Selected", + "selected": "Đã chọn", "copied": "Đã sao chép", "user-search-prompt": "Nhập để tìm kiếm thành viên", "hidden": "Ẩn", - "sort": "Sort", + "sort": "Xếp", "actions": "Hành Động", - "rss-feed": "RSS Feed", - "skip-to-content": "Skip to content" + "rss-feed": "Nguồn RSS", + "skip-to-content": "Bỏ qua nội dung" } \ No newline at end of file diff --git a/public/language/vi/groups.json b/public/language/vi/groups.json index cbd704ca1b..1f76ffcfc8 100644 --- a/public/language/vi/groups.json +++ b/public/language/vi/groups.json @@ -1,7 +1,7 @@ { "all-groups": "Tất cả các nhóm", "groups": "Nhóm", - "members": "Members", + "members": "Thành Viên", "view-group": "Xem nhóm", "owner": "Người Sở Hữu Nhóm", "new-group": "Tạo nhóm mới", @@ -12,8 +12,8 @@ "pending.reject-all": "Từ chối tất cả", "pending.none": "Không có ai đang chờ duyệt tham gia nhóm", "invited.none": "Không có thành viên nào được mời vào lúc này", - "invited.uninvite": "Từ chối lời mời", - "invited.search": "Tìm kiếm thành viên để mời vào nhóm", + "invited.uninvite": "Từ Chối Lời Mời", + "invited.search": "Tìm một người để mời vào nhóm", "invited.notification-title": "Bạn đã được mời tham gia %1", "request.notification-title": "Yêu cầu tham gia nhóm từ %1", "request.notification-text": "%1 yêu cầu chấp nhận để trở thành thành viên của %2", @@ -21,8 +21,8 @@ "cover-saving": "Đang lưu", "details.title": "Chi Tiết Nhóm", "details.members": "Danh Sách Thành Viên", - "details.pending": "Thành viên đang chờ trả lời", - "details.invited": "Thành viên đã được mời", + "details.pending": "Thành Viên Đang Chờ", + "details.invited": "Thành Viên Đã Mời", "details.has-no-posts": "Thành viên nhóm này chưa đăng bài viết nào.", "details.latest-posts": "Bài viết mới nhất", "details.private": "Riêng tư", @@ -33,34 +33,34 @@ "details.kick-confirm": "Bạn có chắc chắn muốn xoá thành viên này khỏi nhóm?", "details.add-member": "Thêm Thành Viên", "details.owner-options": "Quản Trị Nhóm", - "details.group-name": "Tên nhóm", - "details.member-count": "Số thành viên", - "details.creation-date": "Ngày Thành Lập", - "details.description": "Miêu tả", + "details.group-name": "Tên Nhóm", + "details.member-count": "Số Thành Viên", + "details.creation-date": "Ngày Tạo", + "details.description": "Mô tả", "details.member-post-cids": "ID chuyên mục để hiển thị bài đăng từ", - "details.badge-preview": "Xem thử huy hiệu", + "details.badge-preview": "Xem Thử Huy Hiệu", "details.change-icon": "Đổi Biểu Tượng", - "details.change-label-colour": "Thay đổi màu nhãn", - "details.change-text-colour": "Thay đổi màu chữ", + "details.change-label-colour": "Đổi Màu Nhãn", + "details.change-text-colour": "Đổi Màu Chữ", "details.badge-text": "Chữ Huy hiệu", "details.userTitleEnabled": "Hiển thị huy hiệu", - "details.private-help": "Nếu bật, tham gia nhóm cần được chủ nhóm chấp nhận", + "details.private-help": "Nếu bật, tham gia vào nhóm cần được chủ nhóm chấp nhận", "details.hidden": "Đã ẩn", - "details.hidden-help": "Nếu bật, nhóm này sẽ không được hiện thị trong danh sách nhóm, và thành viên phải được mời để tham gia", - "details.delete-group": "Xoá nhóm", - "details.private-system-help": "Các nhóm kín được vô hiệu hóa bởi hệ thống, tùy chọn này không thực hiện bất cứ điều gì cả", + "details.hidden-help": "Nếu bật, nhóm này không tìm thấy trong danh sách nhóm, và người dùng được mời bằng tay", + "details.delete-group": "Xoá Nhóm", + "details.private-system-help": "Nhóm riêng tư bị tắt ở cấp độ hệ thống, tùy chọn này không làm được gì cả", "event.updated": "Thông tin nhóm đã được cập nhật", "event.deleted": "Nhóm \"%1\" đã bị xoá", - "membership.accept-invitation": "Chấp nhận lời mời", + "membership.accept-invitation": "Chấp Nhận Lời Mời", "membership.accept.notification-title": "Bạn hiện là thành viên của %1", - "membership.invitation-pending": "Lời mời đang chờ trả lời", - "membership.join-group": "Tham gia nhóm", - "membership.leave-group": "Rời khỏi nhóm", + "membership.invitation-pending": "Lời Mời Đang Chờ", + "membership.join-group": "Tham Gia Nhóm", + "membership.leave-group": "Rời bỏ nhóm", "membership.leave.notification-title": "%1 đã rời nhóm %2", - "membership.reject": "Từ chối", + "membership.reject": "Từ Chối", "new-group.group-name": "Tên Nhóm:", "upload-group-cover": "Tải lên ảnh bìa nhóm", - "bulk-invite-instructions": "Nhập danh sách username, ngăn cách bằng dấu phẩy, để mời vào nhóm", + "bulk-invite-instructions": "Nhập danh sách tên đăng nhập, phân tách bằng dấu phẩy, để mời vào nhóm", "bulk-invite": "Mời nhiều người", "remove-group-cover-confirm": "Bạn có chắc rằng muốn xoá ảnh bìa không?" } \ No newline at end of file diff --git a/public/language/vi/ip-blacklist.json b/public/language/vi/ip-blacklist.json index 8a7c649a2f..c26fddbe51 100644 --- a/public/language/vi/ip-blacklist.json +++ b/public/language/vi/ip-blacklist.json @@ -15,5 +15,5 @@ "analytics.blacklist-hourly": "Hình 1 – Danh sách đen truy cập mỗi giờ", "analytics.blacklist-daily": "Hình 2 – Danh sách đen truy cập mỗi ngày", - "ip-banned": "IP bị chặn" + "ip-banned": "IP bị cấm" } \ No newline at end of file diff --git a/public/language/vi/modules.json b/public/language/vi/modules.json index df9c0dfb86..8e042626e2 100644 --- a/public/language/vi/modules.json +++ b/public/language/vi/modules.json @@ -1,14 +1,15 @@ { - "chat.room-id": "Room %1", + "chat.room-id": "Phòng %1", "chat.chatting-with": "Trò chuyện với", - "chat.placeholder": "Nhập tin nhắn trò chuyện tại đây, kéo và thả hình ảnh, nhấn enter để gửi", - "chat.placeholder.mobile": "Nhập tin nhắn trò chuyện tại đây", - "chat.scroll-up-alert": "Go to most recent message", - "chat.usernames-and-x-others": "%1 & %2 others", + "chat.placeholder": "Nhập tin nhắn trò chuyện vào đây, kéo & thả hình ảnh", + "chat.placeholder.mobile": "Nhập tin nhắn trò chuyện", + "chat.placeholder.message-room": "Tin nhắn #%1", + "chat.scroll-up-alert": "Đi đến tin nhắn gần đây nhất", + "chat.usernames-and-x-others": "%1 & %2 khác", "chat.chat-with-usernames": "Trò chuyện với %1", - "chat.chat-with-usernames-and-x-others": "Chat with %1 & %2 others", + "chat.chat-with-usernames-and-x-others": "Trò chuyện với %1 & %2 khác", "chat.send": "Gửi", - "chat.no-active": "Bạn không có cuộc trò chuyện đang hoạt động nào.", + "chat.no-active": "Không có trò chuyện hoạt động.", "chat.user-typing-1": "%1 đang viết ...", "chat.user-typing-2": "%1%2 đang viết ...", "chat.user-typing-3": "%1, %2%3 đang viết ...", @@ -21,7 +22,7 @@ "chat.no-users-in-room": "Không có người nào trong phòng này.", "chat.recent-chats": "Trò Chuyện Gần Đây", "chat.contacts": "Liên hệ", - "chat.message-history": "Lịch sử tin nhắn", + "chat.message-history": "Lịch Sử Tin Nhắn", "chat.message-deleted": "Đã Xóa Tin Nhắn", "chat.options": "Tùy chọn trò chuyện", "chat.pop-out": "Trò chuyện bật ra", @@ -48,13 +49,13 @@ "chat.notification-settings": "Cài Đặt Thông Báo", "chat.default-notification-setting": "Cài Đặt Thông Báo Mặc Định", "chat.notification-setting-room-default": "Phòng Mặc Định", - "chat.notification-setting-none": "Không có thông báo", - "chat.notification-setting-at-mention-only": "@mention only", + "chat.notification-setting-none": "Không thông báo", + "chat.notification-setting-at-mention-only": "Chỉ khi @đề cập", "chat.notification-setting-all-messages": "Tất cả các tin nhắn", "chat.select-groups": "Chọn Nhóm", - "chat.add-user-help": "Tìm người dùng ở đây. Người dùng được chọn sẽ được thêm vào trò chuyện. Người dùng mới sẽ không thấy tin nhắn trò chuyện được đăng trước khi họ được thêm vào. Chỉ chủ phòng () được xóa người dùng khỏi phòng trò chuyện.", + "chat.add-user-help": "Tìm người dùng ở đây. Người dùng được chọn sẽ được thêm vào trò chuyện. Người dùng mới vào sẽ không thấy tin nhắn trò chuyện được đăng trước khi họ được thêm vào. Chỉ chủ phòng () được xóa người dùng khỏi phòng trò chuyện.", "chat.confirm-chat-with-dnd-user": "Người dùng này đã đặt trạng thái của họ thành DnD (Không làm phiền). Bạn vẫn muốn trò chuyện với họ?", - "chat.room-name-optional": "Room Name (Optional)", + "chat.room-name-optional": "Tên Phòng (Tùy Chọn)", "chat.rename-room": "Đổi Tên Phòng", "chat.rename-placeholder": "Nhập tên phòng của bạn ở đây", "chat.rename-help": "Đẳt tên phòng ở đây, tất cả những người tham gia phòng này có thể xem.", @@ -68,16 +69,16 @@ "chat.in-room": "Trong phòng này", "chat.kick": "Loại ra", "chat.show-ip": "Hiện IP", - "chat.copy-text": "Copy Text", - "chat.copy-link": "Copy Link", + "chat.copy-text": "Sao Chép Văn Bản", + "chat.copy-link": "Sao Chép Liên Kết", "chat.owner": "Chủ Phòng", "chat.grant-rescind-ownership": "Cấp/Hủy bỏ Quyền sở hữu", "chat.system.user-join": "%1 đã tham gia phòng ", - "chat.system.user-leave": "%1 đã rời phòng ", - "chat.system.room-rename": "%2 đã đổi tên phòng sang \"%1\" ", + "chat.system.user-leave": "%1 đã rời khỏi phòng ", + "chat.system.room-rename": "%2 đã đổi tên phòng thành \"%1\" ", "composer.compose": "Soạn thảo", - "composer.show-preview": "Hiện Xem trước", - "composer.hide-preview": "Ẩn Xem trước", + "composer.show-preview": "Hiện Xem Thử", + "composer.hide-preview": "Ẩn Xem Thử", "composer.help": "Trợ giúp", "composer.user-said-in": "%1 đã nói trong %2:", "composer.user-said": "%1 đã nói:", @@ -102,25 +103,25 @@ "composer.upload-picture": "Tải ảnh lên", "composer.upload-file": "Tải Lên Tệp", "composer.zen-mode": "Chế Độ Zen", - "composer.select-category": "Chọn một chuyên mục", + "composer.select-category": "Chọn chuyên mục", "composer.textarea.placeholder": "Nhập nội dung bài đăng của bạn vào đây, kéo và thả hình ảnh", "composer.post-queue-alert": "Chào👋!
Diễn đàn này dùng hệ thống xếp hàng bài đăng, vì bạn là người dùng mới nên bài đăng của bạn bị ẩn cho đến khi nhóm kiểm duyệt chấp thuận.", "composer.schedule-for": "Lên lịch chủ đề cho", "composer.schedule-date": "Ngày", "composer.schedule-time": "Thời gian", - "composer.cancel-scheduling": "Hủy Lập Lịch", + "composer.cancel-scheduling": "Hủy Lịch Trình", "composer.change-schedule-date": "Đổi Ngày", "composer.set-schedule-date": "Đặt Ngày", "composer.discard-all-drafts": "Hủy tất cả bản nháp", "composer.no-drafts": "Bạn không có bản nháp nào", "composer.discard-draft-confirm": "Bạn có muốn hủy bản nháp này không?", "bootbox.ok": "Đồng ý", - "bootbox.cancel": "Huỷ bỏ", + "bootbox.cancel": "Huỷ", "bootbox.confirm": "Xác nhận", "bootbox.submit": "Gửi", "bootbox.send": "Gửi", "cover.dragging-title": "Điều chỉnh vị trí ảnh cover", - "cover.dragging-message": "Kéo ảnh cover vào vị trí bạn ưng ý và nhấn \"Lưu\"", + "cover.dragging-message": "Kéo ảnh cover vào vị trí mong muốn và nhấn \"Lưu\"", "cover.saved": "Ảnh cover và vị trí đã được lưu", "thumbs.modal.title": "Quản lý ảnh mô tả chủ đề", "thumbs.modal.no-thumbs": "Không tìm thấy hình mô tả.", diff --git a/public/language/vi/notifications.json b/public/language/vi/notifications.json index b60e410d8b..5dcd473b1d 100644 --- a/public/language/vi/notifications.json +++ b/public/language/vi/notifications.json @@ -40,7 +40,7 @@ "moved-your-topic": "%1 đã chuyển %2", "user-flagged-post-in": "%1 gắn cờ 1 bài trong %2", "user-flagged-post-in-dual": "%1%2 đã gắn cờ một bài viết trong %3", - "user-flagged-post-in-triple": "%1, %2 and %3 flagged a post in %4", + "user-flagged-post-in-triple": "%1, %2%3 gắn cờ bài đăng trong %4", "user-flagged-post-in-multiple": "%1, %2 và %3 người khác đã gắn cờ bài của bạn trong %4", "user-flagged-user": "%1 đã gắn cờ một hồ sơ người dùng (%2)", "user-flagged-user-dual": "%1%2 đã gắn cờ một hồ sơ người dùng (%3)", @@ -52,19 +52,19 @@ "user-posted-to-multiple": "%1, %2 và %3 người khác đã đăng trả lời đến: %4", "user-posted-topic": "%1 đã đăng một chủ đề mới: %2", "user-edited-post": "%1 đã chỉnh sửa một bài đăng trong %2", - "user-posted-topic-with-tag": "%1 đã đăng một chủ đề mới với thẻ %2", - "user-posted-topic-with-tag-dual": "%1 đã đăng một chủ đề mới với thẻ %2%3", - "user-posted-topic-with-tag-triple": "%1 đã đăng một chủ đề mới với thẻ %2, %3%4", - "user-posted-topic-with-tag-multiple": "%1 đã đăng một chủ đề mới với thẻ %2", + "user-posted-topic-with-tag": "%1 đã đăng %2 (đã gắn thẻ %3)", + "user-posted-topic-with-tag-dual": "%1 đã đăng %2 (gắn thẻ %3 và %4)", + "user-posted-topic-with-tag-triple": "%1 đã đăng %2 (gắn thẻ %3, %4, và %5)", + "user-posted-topic-with-tag-multiple": "%1 đã đăng %2 (gắn thẻ %3)", "user-posted-topic-in-category": "%1 đã đăng chủ đề mới trong %2", - "user-started-following-you": "%1 đã theo dõi bạn.", - "user-started-following-you-dual": "%1%2 đã bắt đầu theo dõi bạn.", - "user-started-following-you-triple": "%1, %2 and %3 started following you.", + "user-started-following-you": "%1 bắt đầu theo dõi bạn.", + "user-started-following-you-dual": "%1%2 bắt đầu theo dõi bạn.", + "user-started-following-you-triple": "%1, %2%3 bắt đầu theo dõi bạn.", "user-started-following-you-multiple": "%1, %2 và %3 người khác bắt đầu theo dõi bạn.", - "new-register": "%1 đã gửi một yêu cầu tham gia.", - "new-register-multiple": "Có %1 đơn đăng ký đang chờ xem xét.", + "new-register": "%1 đã gửi yêu cầu đăng ký.", + "new-register-multiple": "Có %1 yêu cầu đăng ký đang chờ đánh giá.", "flag-assigned-to-you": "Cờ %1 đã được giao cho bạn", - "post-awaiting-review": "Bài đăng đang chờ xét duyệt", + "post-awaiting-review": "Bài đăng chờ đánh giá", "profile-exported": "%1 đã xuất hồ sơ, nhấn tải xuống", "posts-exported": "%1 đã xuất bài viết, nhấn tải xuống", "uploads-exported": "%1 đã xuất tải lên, nhấn tải xuống", @@ -73,8 +73,9 @@ "post-queue-rejected": "Bài đăng đã xếp hàng của bạn đã bị từ chối", "post-queue-notify": "Bài đăng đã xếp hàng nhận được thông báo:
\"%1\"", "email-confirmed": "Đã Xác Nhận Email", - "email-confirmed-message": "Cảm ơn bạn đã xác nhận địa chỉ email của bạn. Tài khoản của bạn đã được kích hoạt đầy đủ.", - "email-confirm-error-message": "Đã có lỗi khi xác nhận địa chỉ email. Có thể đoạn mã không đúng hoặc đã hết hạn.", + "email-confirmed-message": "Cảm ơn bạn đã xác nhận email của bạn. Tài khoản của bạn đã được kích hoạt đầy đủ.", + "email-confirm-error-message": "Đã có lỗi khi xác nhận địa chỉ email. Có lẽ mã không hợp lệ hoặc đã hết hạn.", + "email-confirm-error-message-already-validated": "Địa chỉ email của bạn đã được xác thực.", "email-confirm-sent": "Đã gửi email xác nhận.", "none": "Trống", "notification-only": "Chỉ Thông Báo", diff --git a/public/language/vi/pages.json b/public/language/vi/pages.json index ce064852f2..6647009a3d 100644 --- a/public/language/vi/pages.json +++ b/public/language/vi/pages.json @@ -1,11 +1,11 @@ { "home": "Trang chủ", - "unread": "Chủ đề chưa đọc", + "unread": "Chủ Đề Chưa Đọc", "popular-day": "Chủ đề nổi bật hôm nay", "popular-week": "Chủ đề nội bật tuần này", "popular-month": "Chủ đề nổi bật tháng này", "popular-alltime": "Chủ đề nổi bật mọi thời đại", - "recent": "Chủ đề gần đây", + "recent": "Chủ Đề Gần Đây", "top-day": "Chủ đề được bình chọn nhiều hôm nay", "top-week": "Chủ đề được bình chọn nhiều tuần này", "top-month": "Chủ đề được bình chọn nhiều tháng này", @@ -17,10 +17,10 @@ "registration-queue": "Xếp Hàng Đăng Ký", "users/online": "Thành viên trực tuyến", "users/latest": "Thành viên mới nhất", - "users/sort-posts": "Thành viên có nhiều bài đăng", - "users/sort-reputation": "Thành viên có điểm tín nhiệm cao nhất", + "users/sort-posts": "Người dùng nhiều bài đăng nhất", + "users/sort-reputation": "Người dùng uy tín cao nhất", "users/banned": "Người dùng bị cấm", - "users/most-flags": "Người dùng bị gắn cờ nhiều", + "users/most-flags": "Người dùng bị gắn cờ nhiều nhất", "users/search": "Tìm Kiếm Người Dùng", "notifications": "Thông báo", "tags": "Thẻ", @@ -29,7 +29,7 @@ "registration-complete": "Đăng ký hoàn tất", "login": "Đăng nhập vào tài khoản của bạn", "reset": "Đặt lại mật khẩu tài khoản của bạn", - "categories": "Chuyên mục", + "categories": "Danh mục", "groups": "Nhóm", "group": "Nhóm %1", "chats": "Trò chuyện", @@ -40,24 +40,25 @@ "account/edit/password": "Chỉnh sửa mật khẩu của \"%1\"", "account/edit/username": "Chỉnh sửa tên đăng nhập của \"%1\"", "account/edit/email": "Chỉnh sửa email của \"%1\"", - "account/info": "Thông tin tài khoản", + "account/info": "Thông Tin Tài Khoản", "account/following": "Thành viên %1 đang theo dõi", "account/followers": "Thành viên đang theo dõi %1", "account/posts": "Bài viết được đăng bởi %1", "account/latest-posts": "Bài viết mới nhất do %1", "account/topics": "Chủ đề được tạo bởi %1", "account/groups": "Nhóm của %1", - "account/watched-categories": "Chuyên Mục Đã Xem Của %1", + "account/watched-categories": "Danh Mục Đã Xem Của %1", "account/watched-tags": "%1's Thẻ Đã Xem", "account/bookmarks": "Bài Đăng Được Đánh Dấu Trang Của %1", "account/settings": "Cài Đặt Người Dùng", - "account/settings-of": "Changing settings of %1", + "account/settings-of": "Thay đổi cài đặt của %1", "account/watched": "Chủ đề đã được %1 xem", "account/ignored": "Các chủ đề bị bỏ qua bởi %1", + "account/read": "Chủ đề được đọc bởi %1", "account/upvoted": "Bài đăng được %1 ủng hộ", "account/downvoted": "Bài viết bị %1 phản đối", "account/best": "Bài viết hay nhất thuộc về %1", - "account/controversial": "Các bài đăng gây tranh cãi được thực hiện bởi %1", + "account/controversial": "Bài đăng gây tranh cãi của %1", "account/blocks": "Người dùng bị chặn vì %1", "account/uploads": "Tải lên bởi %1", "account/sessions": "Phiên Đăng Nhập", diff --git a/public/language/vi/post-queue.json b/public/language/vi/post-queue.json index 2218cc8401..3192e1c1a0 100644 --- a/public/language/vi/post-queue.json +++ b/public/language/vi/post-queue.json @@ -3,12 +3,12 @@ "post-queue": "Xếp Hàng Bài Đăng", "no-queued-posts": "Không có bài trong xếp hàng đăng bài", "no-single-post": "Chủ đề hoặc bài đăng bạn đang tìm kiếm không còn xếp hàng. Có thể đã phê duyệt hoặc xóa rồi.", - "enabling-help": "The post queue is currently disabled. To enable this feature, go to Settings → Post → Post Queue and enable Post Queue.", + "enabling-help": "Hàng đợi bài đăng hiện tại đã tắt. Để bật, đi đến Cài đặt → Đăng bài → Hàng Đợi Đăng Bài và bật Hàng Đợi Đăng Bài.", "back-to-list": "Trở về Hàng Đợi Đăng", - "public-intro": "If you have any queued posts, they will be shown here.", - "public-description": "This forum is configured to automatically queue posts from new accounts, pending moderator approval.
If you have queued posts awaiting approval, you will be able to see them here.", + "public-intro": "Nếu bạn có bất kỳ bài đăng nào được xếp hàng đợi, chúng sẽ được hiển thị ở đây.", + "public-description": "Diễn đàn này được cấu hình tự động xếp hàng các bài đăng từ tài khoản mới, chờ người điều hành phê duyệt.
Nếu bạn đã xếp hàng các bài đăng đợi phê duyệt, bạn sẽ có thể xem chúng ở đây.", "user": "Người dùng", - "when": "When", + "when": "Khi", "category": "Chuyên mục", "title": "Tiêu đề", "content": "Nội dung", @@ -38,5 +38,6 @@ "remove-selected": "Gỡ Bỏ Đã Chọn", "remove-selected-confirm": "Bạn có muốn xóa %1 bài đăng đã chọn không?", "bulk-accept-success": "%1 bài đăng được chấp nhận", - "bulk-reject-success": "%1 bài đăng bị từ chối" + "bulk-reject-success": "%1 bài đăng bị từ chối", + "links-in-this-post": "Liên kết trong bài này" } \ No newline at end of file diff --git a/public/language/vi/recent.json b/public/language/vi/recent.json index 353a0ae2d4..4b60e8602d 100644 --- a/public/language/vi/recent.json +++ b/public/language/vi/recent.json @@ -6,6 +6,6 @@ "year": "Năm", "alltime": "Mọi Lúc", "no-recent-topics": "Không có chủ đề gần đây.", - "no-popular-topics": "Không có chủ đề nào phổ biến.", - "load-new-posts": "Load new posts" + "no-popular-topics": "Không có chủ đề phổ biến.", + "load-new-posts": "Tải bài đăng mới" } \ No newline at end of file diff --git a/public/language/vi/register.json b/public/language/vi/register.json index 0018ecbecc..7af359dceb 100644 --- a/public/language/vi/register.json +++ b/public/language/vi/register.json @@ -1,29 +1,29 @@ { "register": "Đăng ký", "already-have-account": "Đã có tài khoản rồi?", - "cancel-registration": "Hủy đăng ký", + "cancel-registration": "Hủy Đăng Ký", "help.email": "Mặc định, email của bạn sẽ bị ẩn không công khai.", "help.username-restrictions": "Một tên đăng nhập duy nhất giữa %1 và %2 ký tự. Người khác có thể nhắc đến bạn với @tên đăng nhập.", "help.minimum-password-length": "Mật khẩu của bạn phải có ít nhất %1 ký tự", - "email-address": "Địa chỉ Email", - "email-address-placeholder": "Nhập địa chỉ Email", + "email-address": "Địa Chỉ Email", + "email-address-placeholder": "Nhập Địa Chỉ Email", "username": "Tên đăng nhập", - "username-placeholder": "Nhập tên đăng nhập", + "username-placeholder": "Nhập Tên Đăng Nhập", "password": "Mật khẩu", - "password-placeholder": "Nhập mật khẩu", + "password-placeholder": "Nhập Mật Khẩu", "confirm-password": "Xác Nhận Mật Khẩu", "confirm-password-placeholder": "Xác Nhận Mật Khẩu", - "register-now-button": "Đăng ký ngay", + "register-now-button": "Đăng Ký Ngay", "alternative-registration": "Đăng Ký Thay Thế", - "terms-of-use": "Điều khoản sử dụng", - "agree-to-terms-of-use": "Tôi đồng ý với các điều khoản sử dụng", - "terms-of-use-error": "Bạn phải đồng ý với Điều Khoản Sử Dụng", + "terms-of-use": "Điều Khoản Sử Dụng", + "agree-to-terms-of-use": "Tôi đồng ý với Điều Khoản Sử Dụng", + "terms-of-use-error": "Bạn phải đồng ý Điều Khoản Sử Dụng", "registration-added-to-queue": "Đăng ký của bạn đã được xếp hàng đợi phê duyệt. Bạn sẽ nhận được email khi quản trị viên chấp nhận yêu cầu.", "registration-queue-average-time": "Thời gian chúng tôi phê duyệt tư cách thành viên là %1 giờ %2 phút.", "registration-queue-auto-approve-time": "Tư cách thành viên của bạn sẽ được kích hoạt đầy đủ trong tối đa %1 giờ.", "interstitial.intro": "Chúng tôi muốn một số thông tin bổ sung để cập nhật tài khoản của bạn…", "interstitial.intro-new": "Chúng tôi muốn một số thông tin bổ sung trước khi chúng tôi có thể tạo tài khoản của bạn…", - "interstitial.errors-found": "Vui lòng xem lại thông tin đã nhập:", + "interstitial.errors-found": "Vui lòng kiểm tra lại thông tin đã nhập:", "gdpr-agree-data": "Tôi đồng ý với việc thu thập và xử lý thông tin cá nhân của tôi trên trang web này.", "gdpr-agree-email": "Tôi đồng ý nhận email thông báo và thông báo từ trang web này.", "gdpr-consent-denied": "Bạn phải đồng ý với trang web này để thu thập/xử lý thông tin của bạn và gửi email cho bạn.", diff --git a/public/language/vi/reset_password.json b/public/language/vi/reset_password.json index f0b8c703f9..0bad833f41 100644 --- a/public/language/vi/reset_password.json +++ b/public/language/vi/reset_password.json @@ -2,8 +2,8 @@ "reset-password": "Đặt Lại Mật Khẩu", "update-password": "Cập Nhật Mật Khẩu", "password-changed.title": "Mật Khẩu Đã Được Thay Đổi", - "password-changed.message": "

Đặt lại mật khẩu thành công, vui lòng đăng nhập lại.", - "wrong-reset-code.title": "Mã thiết lập lại không đúng", + "password-changed.message": "

Đặt lại mật khẩu thành công, hãy đăng nhập lại.", + "wrong-reset-code.title": "Mã Đặt Lại Không Đúng", "wrong-reset-code.message": "Mã thiết lập lại không đúng. Xin hãy thử lại, hoặc yêu cầu một mã thiết lập lại khác.", "new-password": "Mật Khẩu Mới", "repeat-password": "Xác Nhận Mật Khẩu", diff --git a/public/language/vi/search.json b/public/language/vi/search.json index c8cc0c4c72..b7d91b56ce 100644 --- a/public/language/vi/search.json +++ b/public/language/vi/search.json @@ -7,7 +7,7 @@ "in-titles": "Trong tiêu đề", "in-titles-posts": "Trong tiêu đề và bài đăng", "in-posts": "Trong bài đăng", - "in-bookmarks": "In bookmarks", + "in-bookmarks": "Trong dấu trang", "in-categories": "Trong danh mục", "in-users": "Trong người dùng", "in-tags": "Trong thẻ", @@ -17,7 +17,7 @@ "categories-watched-categories": "Danh mục: Danh mục đã xem", "type-a-category": "Nhập một danh mục", "tags": "Thẻ", - "tags-x": "Tags: %1", + "tags-x": "Thẻ: %1", "type-a-tag": "Nhập một thẻ", "match-words": "Khớp các từ", "match-all-words": "Khớp tất cả các từ", @@ -26,22 +26,22 @@ "any": "Bất kì", "posted-by": "Đăng bởi", "posted-by-usernames": "Đăng bởi: %1", - "type-a-username": "Nhập tên người dùng", + "type-a-username": "Nhập tên đăng nhập", "search-child-categories": "Tìm kiếm chuyên mục con", - "has-tags": "Có thẻ bên trong", + "has-tags": "Có thẻ", "reply-count": "Số lượt trả lời", - "replies": "Replies", - "replies-atleast-count": "Replies: At least %1", - "replies-atmost-count": "Replies: At most %1", + "replies": "Trả lời", + "replies-atleast-count": "Trả lời: Ít nhất %1", + "replies-atmost-count": "Trả lời: Nhiều nhất là %1", "at-least": "Tối thiểu", - "at-most": "Tối đa", + "at-most": "Nhiều nhất", "relevance": "Mức độ liên quan", "time": "Thời gian", "post-time": "Thời gian đăng bài", "votes": "Phiếu bầu", "newer-than": "Mới hơn", "older-than": "Cũ hơn", - "any-date": "Bất kì ngày nào", + "any-date": "Ngày bất kỳ", "yesterday": "Hôm qua", "one-week": "Một tuần", "two-weeks": "Hai tuần", @@ -65,7 +65,7 @@ "time-older-than-31104000": "Thời gian: Cũ hơn một năm", "sort-by": "Sắp xếp theo", "sort": "Sắp xếp", - "last-reply-time": "Thời điểm trả lời lần cuối", + "last-reply-time": "Thời gian trả lời lần cuối", "topic-title": "Tiêu đề chủ đề", "topic-votes": "Phiếu bầu chủ đề", "number-of-replies": "Số lượt trả lời", diff --git a/public/language/vi/social.json b/public/language/vi/social.json index 6017a94dfc..2a1194b3fd 100644 --- a/public/language/vi/social.json +++ b/public/language/vi/social.json @@ -1,12 +1,12 @@ { - "sign-in-with-twitter": "Đăng nhập bằng Twitter", + "sign-in-with-twitter": "Đăng nhập với Twitter", "sign-up-with-twitter": "Đăng ký với Twitter", "sign-in-with-github": "Đăng nhập bằng Github", "sign-up-with-github": "Đăng ký với Github", "sign-in-with-google": "Đăng nhập bằng Google", "sign-up-with-google": "Đăng ký với Google", - "log-in-with-facebook": "Đăng nhập bằng Facebook", + "log-in-with-facebook": "Đăng nhập với Facebook", "continue-with-facebook": "Tiếp tục với Facebook", - "sign-in-with-linkedin": "Sign in with LinkedIn", - "sign-up-with-linkedin": "Sign up with LinkedIn" + "sign-in-with-linkedin": "Đăng nhập với LinkedIn", + "sign-up-with-linkedin": "Đăng ký với LinkedIn" } \ No newline at end of file diff --git a/public/language/vi/success.json b/public/language/vi/success.json index 7324015d79..2014fdd79c 100644 --- a/public/language/vi/success.json +++ b/public/language/vi/success.json @@ -2,6 +2,6 @@ "success": "Thành công", "topic-post": "Bạn đã đăng bài thành công", "post-queued": "Bài đăng của bạn đã xếp hàng phê duyệt. Bạn sẽ được thông báo khi chấp nhận hoặc bị từ chối.", - "authentication-successful": "Xác thực thành công", - "settings-saved": "Đã lưu thiết lập" + "authentication-successful": "Xác Thực Thành Công", + "settings-saved": "Đã lưu thiết lập!" } \ No newline at end of file diff --git a/public/language/vi/tags.json b/public/language/vi/tags.json index d5dff7118e..9e9f0d754f 100644 --- a/public/language/vi/tags.json +++ b/public/language/vi/tags.json @@ -1,17 +1,17 @@ { - "all-tags": "Tất cả các thẻ", + "all-tags": "Tất cả thẻ", "no-tag-topics": "Không có bài viết nào với thẻ này.", "no-tags-found": "Không tìm thấy thẻ nào", "tags": "Thẻ", - "enter-tags-here": "Enter tags, %1 - %2 characters.", + "enter-tags-here": "Nhập thẻ, %1 - %2 ký tự.", "enter-tags-here-short": "Nhập thẻ...", "no-tags": "Chưa có thẻ nào.", "select-tags": "Chọn Thẻ", - "tag-whitelist": "Tag Whitelist", - "watching": "Watching", - "not-watching": "Not Watching", - "watching.description": "Notify me of new topics.", - "not-watching.description": "Do not notify me of new topics.", - "following-tag.message": "You will now be receiving notifications when somebody posts a topic with this tag.", - "not-following-tag.message": "You will not receive notifications when somebody posts a topic with this tag." + "tag-whitelist": "Danh Sách Trắng Thẻ", + "watching": "Đang xem", + "not-watching": "Chưa xem", + "watching.description": "Thông báo tôi chủ đề mới.", + "not-watching.description": "Không thông báo tôi chủ đề mới.", + "following-tag.message": "Bây giờ bạn sẽ nhận được thông báo khi ai đó đăng chủ đề có thẻ này.", + "not-following-tag.message": "Bạn sẽ không nhận được thông báo khi ai đó đăng chủ đề có thẻ này.\n\n \n\n " } \ No newline at end of file diff --git a/public/language/vi/themes/harmony.json b/public/language/vi/themes/harmony.json index 994678ce86..4f7b19c44e 100644 --- a/public/language/vi/themes/harmony.json +++ b/public/language/vi/themes/harmony.json @@ -1,13 +1,14 @@ { "theme-name": "Chủ Đề Hòa Âm", - "skins": "Giao diện", + "skins": "Trang điểm", "collapse": "Thu gọn", "expand": "Mở rộng", - "sidebar-toggle": "Sidebar Toggle", + "sidebar-toggle": "Chuyển Đổi Thanh Bên", "login-register-to-search": "Đăng nhập hoặc đăng ký để tìm kiếm.", "settings.title": "Cài đặt chủ đề", "settings.enableQuickReply": "Bật trả lời nhanh", - "settings.enableBreadcrumbs": "Enable breadcrumbs", + "settings.enableBreadcrumbs": "Hiển thị đường dẫn trong trang Danh mục và Chủ đề", + "settings.enableBreadcrumbs.why": "Đường dẫn được hiển thị trong hầu hết các trang để dễ điều hướng. Thiết kế cơ bản của các trang danh mục và chủ đề có các phương tiện thay thế để liên kết trở lại các trang mẹ, nhưng có thể tắt đường dẫn để giảm bớt sự lộn xộn.", "settings.centerHeaderElements": "Yếu tố tiêu đề trung tâm", "settings.mobileTopicTeasers": "Hiển thị đoạn giới thiệu chủ đề trên di động", "settings.stickyToolbar": "Thanh công cụ cố định", diff --git a/public/language/vi/top.json b/public/language/vi/top.json index 7e01bd82ff..6085eea1a9 100644 --- a/public/language/vi/top.json +++ b/public/language/vi/top.json @@ -1,4 +1,4 @@ { "title": "Hàng Đầu", - "no-top-topics": "Không có chủ đề hàng đầu" + "no-top-topics": "Không chủ đề hàng đầu" } \ No newline at end of file diff --git a/public/language/vi/topic.json b/public/language/vi/topic.json index 84b7d27226..98f06bcd16 100644 --- a/public/language/vi/topic.json +++ b/public/language/vi/topic.json @@ -15,7 +15,7 @@ "replies-to-this-post": "%1 trả lời", "one-reply-to-this-post": "1 Phản hồi", "last-reply-time": "Trả lời cuối cùng", - "reply-options": "Reply options", + "reply-options": "Tùy chọn trả lời", "reply-as-topic": "Trả lời dưới dạng chủ đề", "guest-login-reply": "Đăng nhập để trả lời", "login-to-view": "🔒 Đăng nhập để xem", @@ -26,7 +26,7 @@ "purge": "Xóa hẳn", "restore": "Khôi phục", "move": "Di chuyển", - "change-owner": "Thay đổi chủ sở hữu", + "change-owner": "Đổi Chủ Sở Hữu", "fork": "Tạo bản sao", "link": "Đường dẫn", "share": "Chia sẻ", @@ -34,8 +34,8 @@ "locked": "Đã Khóa", "pinned": "Đã ghim", "pinned-with-expiry": "Được ghim cho đến %1", - "scheduled": "Lên kế hoạch", - "deleted": "Deleted", + "scheduled": "Lên lịch", + "deleted": "Đã xóa", "moved": "Chuyển đi", "moved-from": "Đã chuyển từ %1", "copy-code": "Sao Chép Mã", @@ -61,34 +61,34 @@ "user-moved-topic-from-ago": "%1 đã chuyển chủ đề này từ %2 %3", "user-moved-topic-from-on": "%1 đã chuyển chủ đề này từ %2 trên %3", "user-queued-post-ago": "%1 đã xếp hàng bài đăng để phê duyệt %3", - "user-queued-post-on": "%1 queued post for approval on %3", - "user-referenced-topic-ago": "%1 referenced this topic %3", - "user-referenced-topic-on": "%1 referenced this topic on %3", - "user-forked-topic-ago": "%1 forked this topic %3", - "user-forked-topic-on": "%1 forked this topic on %3", - "bookmark-instructions": "Nhấn vào đây để trở lại bài viết đã đọc cuối cùng trong chủ đề này.", + "user-queued-post-on": "%1 đã xếp hàng đăng bài để được phê duyệt trên %3", + "user-referenced-topic-ago": "%1 đã tham khảo chủ đề này %3", + "user-referenced-topic-on": "%1 đã tham khảo chủ đề này trên %3", + "user-forked-topic-ago": "%1 đã rẽ nhánh chủ đề này %3", + "user-forked-topic-on": "%1 đã rẽ nhánh chủ đề này trên %3", + "bookmark-instructions": "Bấm vào đây để trở lại bài đọc cuối cùng trong chủ đề này.", "flag-post": "Gắn cờ bài đăng này", "flag-user": "Gắn cờ người dùng này", "already-flagged": "Đã Được Gắn Cờ", "view-flag-report": "Xem Báo Cáo Gắn Cờ", "resolve-flag": "Xử Lý Cờ", - "merged-message": "Chủ đề này đã được gộp chung thành %2", - "forked-message": "This topic was forked from %2", - "deleted-message": "Chủ đề này đã bị xóa. Chỉ người dùng có quyền quản lý chủ đề mới được xem.", + "merged-message": "Chủ đề này đã gộp chung thành %2", + "forked-message": "Chủ đề này được rẽ nhánh từ %2", + "deleted-message": "Chủ đề này đã bị xóa. Chỉ người dùng có đặc quyền quản lý chủ đề mới được xem.", "following-topic.message": "Bạn sẽ nhận được thông báo khi có ai đó gửi bài viết trong chủ đề này.", "not-following-topic.message": "Bạn sẽ thấy chủ đề này trong danh sách chủ đề chưa đọc, nhưng bạn sẽ không nhận được thông báo khi ai đó đăng lên chủ đề này.", "ignoring-topic.message": "Bạn sẽ không thấy chủ đề này trong danh sách chủ đề chưa đọc. Bạn sẽ nhận thông báo khi bạn được đề cập hoặc bài viết của bạn được ủng hộ.", "login-to-subscribe": "Vui lòng đăng ký hoặc đăng nhập để theo dõi chủ đề này", - "markAsUnreadForAll.success": "Chủ đề đã được đánh dấu là chưa đọc toàn bộ", + "markAsUnreadForAll.success": "Chủ đề đã đánh dấu chưa đọc cho tất cả", "mark-unread": "Đánh dấu chưa đọc", "mark-unread.success": "Đã đánh dấu chủ đề chưa đọc.", "watch": "Xem", "unwatch": "Bỏ xem", - "watch.title": "Được thông báo khi có trả lời mới trong chủ đề này", + "watch.title": "Thông báo khi có trả lời mới trong chủ đề này", "unwatch.title": "Ngừng xem chủ đề này", "share-this-post": "Chia sẻ bài viết này", "watching": "Đang xem", - "not-watching": "Không Xem", + "not-watching": "Chưa Xem", "ignoring": "Bỏ qua", "watching.description": "Thông báo cho tôi về trả lời mới.
Hiển thị chủ đề chưa đọc", "not-watching.description": "Không thông báo tôi các trả lời mới.
Hiển thị mục chưa đọc nếu chuyên mục bị bỏ qua.", @@ -98,7 +98,7 @@ "thread-tools.pin": "Ghim chủ đề", "thread-tools.unpin": "Bỏ ghim chủ đề", "thread-tools.lock": "Khóa chủ đề", - "thread-tools.unlock": "Mở khóa chủ đề", + "thread-tools.unlock": "Mở Khóa Chủ Đề", "thread-tools.move": "Di Chuyển Chủ Đề", "thread-tools.move-posts": "Di Chuyển Bài Viết", "thread-tools.move-all": "Di chuyển tất cả", @@ -113,18 +113,18 @@ "thread-tools.restore-confirm": "Bạn có muốn phục hồi chủ đề này?", "thread-tools.purge": "Xóa hẳn chủ đề", "thread-tools.purge-confirm": "Bạn có muốn xóa hẳn chủ đề này?", - "thread-tools.merge-topics": "Gộp chủ đề", + "thread-tools.merge-topics": "Gộp Chủ Đề", "thread-tools.merge": "Gộp Chủ Đề", - "topic-move-success": "Chủ đề này sẽ sớm được chuyển đến \"%1\". Nhấn vào đây để hoàn tác.", - "topic-move-multiple-success": "Các chủ đề này sẽ sớm được chuyển đến \"%1\". Nhấn vào đây để hoàn tác.", - "topic-move-all-success": "Tất cả các chủ đề sẽ sớm được chuyển đến \"%1\". Nhấn vào đây để hoàn tác.", + "topic-move-success": "Chủ đề này sẽ sớm được chuyển đến \"%1\". Bấm vào đây để hoàn tác.", + "topic-move-multiple-success": "Các chủ đề này sẽ sớm đưa đến \"%1\". Nhấn vào đây để hoàn tác.", + "topic-move-all-success": "Tất cả các chủ đề sẽ sớm được chuyển đến \"%1\". Bấm vào đây để hoàn tác.", "topic-move-undone": "Đã hoàn tác di chuyển chủ đề", "topic-move-posts-success": "Bài viết sẽ sớm được di chuyển. Nhấn vào đây để hoàn tác.", "topic-move-posts-undone": "Đã hoàn tác di chuyển bài viết", "post-delete-confirm": "Bạn có chắc là muốn xóa bài gửi này không?", "post-restore-confirm": "Bạn có chắc muốn khôi phục bài đăng này không?", "post-purge-confirm": "Bạn có chắc muốn xóa hẳn bài này?", - "pin-modal-expiry": "Ngày hết hạn", + "pin-modal-expiry": "Ngày Hết Hạn", "pin-modal-help": "Bạn có thể đặt ngày hết hạn chủ đề được ghim tại đây. Ngoài ra, bạn có thể để trống để giữ chủ đề được ghim cho đến khi chủ đề được bỏ ghim theo cách thủ công.", "load-categories": "Đang Tải Chuyên Mục", "confirm-move": "Di chuyển", @@ -163,11 +163,11 @@ "composer.discard": "Huỷ bỏ", "composer.submit": "Gửi", "composer.additional-options": "Tùy chọn bổ sung", - "composer.post-later": "Post Later", + "composer.post-later": "Đăng Sau", "composer.schedule": "Lên lịch", "composer.replying-to": "Đang trả lời %1", "composer.new-topic": "Chủ đề mới", - "composer.editing-in": "Editing post in %1", + "composer.editing-in": "Đang sửa bài đăng trong %1", "composer.uploading": "đang tải lên...", "composer.thumb-url-label": "Dán URL hình mô tả chủ đề", "composer.thumb-title": "Thêm ảnh mô tả cho chủ đề này", @@ -178,23 +178,23 @@ "more-users-and-guests": "%1 người dùng và %2 khách nữa", "more-users": "%1 người dùng nữa", "more-guests": "%1 khách nữa", - "users-and-others": "%1 và%2 khác", + "users-and-others": "%1 và %2 khác", "sort-by": "Sắp xếp theo", "oldest-to-newest": "Cũ đến mới", "newest-to-oldest": "Mới đến cũ", - "recently-replied": "Recently Replied", - "recently-created": "Recently Created", - "most-votes": "Nhiều Bình Chọn", - "most-posts": "Nhiều Bài Đăng", - "most-views": "Xem Nhiều", + "recently-replied": "Trả Lời Gần Đây", + "recently-created": "Đã Tạo Gần Đây", + "most-votes": "Nhiều Bình Chọn Nhất", + "most-posts": "Nhiều Bài Đăng Nhất", + "most-views": "Xem Nhiều Nhất", "stale.title": "Tạo chủ đề mới thay thế?", "stale.warning": "Chủ đề bạn đang trả lời đã khá cũ. Bạn có muốn tạo chủ đề mới, và liên kết với chủ đề hiện tại trong bài viết trả lời của bạn?", "stale.create": "Tạo chủ đề mới", "stale.reply-anyway": "Trả lời chủ đề này", - "link-back": "Re: [%1](%2)", - "diffs.title": "Lịch sử chỉnh sửa bài viết", - "diffs.description": "Bài viết này có %1 sửa đổi. Nhấp vào một trong các bản sửa đổi bên dưới để xem nội dung bài đăng tại thời điểm đó.", - "diffs.no-revisions-description": "Bài viết này có %1 sửa đổi", + "link-back": "Trả lời: [%1](%2)", + "diffs.title": "Lịch Sử Sửa Bài", + "diffs.description": "Bài này có %1 sửa đổi. Bấm vào một trong các bản sửa đổi bên dưới để xem nội dung bài tại thời điểm đó.", + "diffs.no-revisions-description": "Bài này có %1 sửa đổi", "diffs.current-revision": "bản sửa đổi hiện tại", "diffs.original-revision": "bản sửa đổi gốc", "diffs.restore": "Khôi phục bản sửa đổi này", @@ -208,13 +208,13 @@ "last-post": "Bài viết cuối cùng", "go-to-my-next-post": "Đi tới bài kế tiếp của tôi", "no-more-next-post": "Bạn không có bài viết nào khác trong chủ đề này", - "open-composer": "Open composer", + "open-composer": "Mỏ composer", "post-quick-reply": "Trả lời nhanh", - "navigator.index": "Post %1 of %2", + "navigator.index": "Bài đăng %1 trên %2", "navigator.unread": "%1 chưa đọc", - "upvote-post": "Upvote post", - "downvote-post": "Downvote post", - "post-tools": "Post tools", - "unread-posts-link": "Unread posts link", - "thumb-image": "Topic thumbnail image" + "upvote-post": "Ủng hộ bài đăng", + "downvote-post": "Phản đối bài đăng", + "post-tools": "Công cụ đăng bài", + "unread-posts-link": "Liên kết bài đăng chưa đọc", + "thumb-image": "Ảnh thumbnail chủ đề" } \ No newline at end of file diff --git a/public/language/vi/unread.json b/public/language/vi/unread.json index a976987f49..8781031062 100644 --- a/public/language/vi/unread.json +++ b/public/language/vi/unread.json @@ -2,15 +2,15 @@ "title": "Chưa đọc", "no-unread-topics": "Không có chủ đề chưa đọc.", "load-more": "Tải Thêm", - "mark-as-read": "Đánh dấu đã đọc", - "mark-as-unread": "Mark as Unread", + "mark-as-read": "Đánh Dấu Đã Đọc", + "mark-as-unread": "Đánh Dấu Chưa Đọc", "selected": "Đã chọn", "all": "Tất cả", "all-categories": "Tất cả danh mục", - "topics-marked-as-read.success": "Chủ đề được đánh dấu đã đọc", + "topics-marked-as-read.success": "Chủ đề được đánh dấu đã đọc!", "all-topics": "Tất Cả Chủ Đề", "new-topics": "Chủ đề mới", - "watched-topics": "Chủ đề đã xem", - "unreplied-topics": "Chủ Đề Chưa Có Trả Lời", + "watched-topics": "Chủ Đề Đã Xem", + "unreplied-topics": "Chủ Đề Chưa Trả Lời", "multiple-categories-selected": "Chọn Nhiều" } \ No newline at end of file diff --git a/public/language/vi/uploads.json b/public/language/vi/uploads.json index f32f535b40..6d75b9a44f 100644 --- a/public/language/vi/uploads.json +++ b/public/language/vi/uploads.json @@ -3,7 +3,7 @@ "select-file-to-upload": "Chọn một tệp để tải lên!", "upload-success": "Tải tệp lên thành công!", "maximum-file-size": "Tối đa %1 kb", - "no-uploads-found": "Không có tải lên được tìm thấy", - "public-uploads-info": "Các file tải lên được xuất bản, mọi người đều có thể xem được.", - "private-uploads-info": "Các file tải lên được để ở chế độ bí mật, chỉ những người dùng đăng nhập mới có thể xem." + "no-uploads-found": "Không tìm thấy tải lên", + "public-uploads-info": "Tải lên là công khai, mọi người đều xem được.", + "private-uploads-info": "Tải lên là riêng tư, những ai đã đăng nhập mới có thể xem." } \ No newline at end of file diff --git a/public/language/vi/user.json b/public/language/vi/user.json index 1480a91a23..fcf154e5d1 100644 --- a/public/language/vi/user.json +++ b/public/language/vi/user.json @@ -1,18 +1,18 @@ { - "user-menu": "User menu", + "user-menu": "Menu Người Dùng", "banned": "Bị cấm", - "unbanned": "Unbanned", + "unbanned": "Bỏ cấm", "muted": "Đã Im Lặng", - "unmuted": "Unmuted", + "unmuted": "Bỏ tắt tiếng", "offline": "Ngoại tuyến", "deleted": "Đã xoá", "username": "Tên Đăng Nhập", "joindate": "Ngày Tham Gia", "postcount": "Số bài viết", "email": "Thư điện tử", - "confirm-email": "Xác nhận email", - "account-info": "Thông tin tài khoản", - "admin-actions-label": "Hoạt Động Quản Trị", + "confirm-email": "Xác Nhận Email", + "account-info": "Thông Tin Tài Khoản", + "admin-actions-label": "Hành Động Quản Trị", "ban-account": "Cấm Tài Khoản", "ban-account-confirm": "Bạn có chắc muốn cấm người dùng này?", "unban-account": "Bỏ Cấm Tài Khoản", @@ -22,7 +22,7 @@ "delete-account-as-admin": "Xóa Tài Khoản", "delete-content": "Xóa Nội Dung Tài Khoản", "delete-all": "Xóa Tài KhoảnNội Dung", - "delete-account-confirm": "Bạn có chắc chắn muốn ẩn danh bài đăng và xóa tài khoản của mình không?
Không thể hoàn tác hành động này và bạn sẽ không thể khôi phục dữ liệu của mình

Nhập mật khẩu của bạn để xác nhận rằng bạn muốn hủy tài khoản này.", + "delete-account-confirm": "Bạn có chắc muốn ẩn danh bài đăng và xóa tài khoản của mình không?
Không thể hoàn tác hành động này và bạn sẽ không thể khôi phục dữ liệu của mình

Nhập mật khẩu của bạn để xác nhận bạn muốn hủy bỏ tài khoản này.", "delete-this-account-confirm": "Bạn có chắc muốn xóa tài khoản này trong khi vẫn để lại nội dung của nó?
Hành động này không thể hoàn tác, các bài viết sẽ được ẩn danh và bạn không thể khôi phục các liên kết bài viết với tài khoản đã xóa

", "delete-account-content-confirm": "Bạn có chắc chắn muốn xóa nội dung của tài khoản này không (bài viết/chủ đề/tải lên)?
Không thể hoàn tác hành động này và bạn sẽ không thể khôi phục bất kỳ dữ liệu nào

", "delete-all-confirm": "Bạn có chắc muốn xóa tài khoản này và tất cả nội dung của nó (bài viết/chủ đề/tải lên)?
Không thể hoàn tác hành động này và bạn sẽ không thể khôi phục bất kỳ dữ liệu nào

", @@ -33,22 +33,23 @@ "location": "Nơi ở", "age": "Tuổi", "joined": "Đã tham gia", - "lastonline": "Trực tuyến lần cuối", + "lastonline": "Trực Tuyến Lần Cuối", "profile": "Hồ sơ", - "profile-views": "Xem Hồ Sơ", + "profile-views": "Xem hồ sơ", "reputation": "Uy tín", "bookmarks": "Đánh dấu trang", - "watched-categories": "Danh mục đã xem", + "watched-categories": "Chuyên mục đã xem", "watched-tags": "Thẻ đã xem", "change-all": "Thay Đổi Tất Cả", "watched": "Đã xem", "ignored": "Đã Bỏ Qua", + "read": "Đọc", "default-category-watch-state": "Trạng thái xem chuyên mục mặc định", "followers": "Người theo dõi", "following": "Đang theo dõi", "blocks": "Khóa", "blocked-users": "Người dùng bị chặn", - "block-toggle": "Chuyển đổi khối", + "block-toggle": "Chuyển Đổi Khóa", "block-user": "Khóa Người Dùng", "unblock-user": "Mở Khóa Người Dùng", "aboutme": "Giới thiệu bản thân", @@ -56,28 +57,29 @@ "birthday": "Ngày sinh", "chat": "Trò Chuyện", "chat-with": "Tiếp tục trò chuyện với %1", - "new-chat-with": "Bắt đầu cuộc trò chuyện mới với %1", + "new-chat-with": "Mở trò chuyện mới với %1", "flag-profile": "Gắn Cờ Hồ Sơ", "follow": "Theo dõi", "unfollow": "Bỏ theo dõi", "more": "Thêm nữa", "profile-update-success": "Đã cập nhật hồ sơ thành công!", "change-picture": "Đổi Hình Ảnh", - "change-username": "Đổi tên đăng nhập", - "change-email": "Đổi email", - "email-updated": "Email Updated", + "change-username": "Đổi Tên Đăng Nhập", + "change-email": "Đổi Email", + "email-updated": "Đã Cập Nhật Email", "email-same-as-password": "Vui lòng nhập mật khẩu hiện tại của bạn để tiếp tục – bạn đã nhập lại email mới", "edit": "Sửa", "edit-profile": "Sửa Hồ Sơ", - "default-picture": "Biểu tượng mặc định", - "uploaded-picture": "Ảnh đã tải lên", - "upload-new-picture": "Tải lên ảnh mới", + "default-picture": "Biểu Tượng Mặc Định", + "uploaded-picture": "Đã Tải Ảnh Lên", + "upload-new-picture": "Tải Lên Ảnh Mới", "upload-new-picture-from-url": "Tải Lên Ảnh Mới Từ URL", - "current-password": "Mật khẩu hiện tại", + "current-password": "Mật Khẩu Hiện Tại", "new-password": "Mật Khẩu Mới", "change-password": "Đổi Mật Khẩu", - "change-password-error": "Mật khẩu không hợp lệ!", - "change-password-error-wrong-current": "Mật khẩu hiện tại của bạn không đúng", + "change-password-error": "Mật Khẩu Không Hợp Lệ!", + "change-password-error-wrong-current": "Mật khẩu hiện tại của bạn không đúng!", + "change-password-error-same-password": "Mật khẩu mới của bạn trùng với mật khẩu hiện tại của bạn, vui lòng sử dụng mật khẩu mới.", "change-password-error-match": "Mật khẩu phải trùng khớp!", "change-password-error-privileges": "Bạn không có quyền thay đổi mật khẩu này", "change-password-success": "Đã cập nhật mật khẩu của bạn!", @@ -89,18 +91,18 @@ "weak-password": "Mật khẩu yếu", "upload-picture": "Tải lên hình ảnh", "upload-a-picture": "Tải lên một hình ảnh", - "remove-uploaded-picture": "Xoá ảnh đã tải lên", + "remove-uploaded-picture": "Xoá Ảnh Đã Tải Lên", "upload-cover-picture": "Tải ảnh bìa lên", - "remove-cover-picture-confirm": "Bạn có thật sự muốn xóa hình ảnh này?", + "remove-cover-picture-confirm": "Bạn có chắc muốn xóa ảnh bìa này?", "crop-picture": "Cắt ảnh", "upload-cropped-picture": "Cắt và tải lên", "avatar-background-colour": "Màu nền ảnh đại diện", "settings": "Cài đặt", - "show-email": "Hiện Email của tôi", + "show-email": "Hiện Email Của Tôi", "show-fullname": "Hiển Thị Tên Đầy Đủ Của Tôi", - "restrict-chats": "Chỉ cho phép tin nhắn trò chuyện từ những người dùng tôi theo dõi", - "digest-label": "Đăng Ký Thông báo", - "digest-description": "Đăng ký nhận các cập nhật qua email cho diễn đàn này (thông báo và chủ đề mới) theo lịch trình đã định", + "restrict-chats": "Chỉ cho phép tin nhắn từ người tôi theo dõi", + "digest-label": "Theo Dõi Thông Báo", + "digest-description": "Theo dõi email cập nhật của diễn đàn này (thông báo và chủ đề mới) theo lịch trình đã định", "digest-off": "Tắt", "digest-daily": "Hàng ngày", "digest-weekly": "Hàng tuần", @@ -113,6 +115,7 @@ "has-no-topics": "Thành viên này chưa đăng chủ đề nào cả.", "has-no-watched-topics": "Người dùng này chưa xem bất kỳ chủ đề nào.", "has-no-ignored-topics": "Người dùng này chưa bỏ qua bất cứ chủ đề nào.", + "has-no-read-topics": "Người dùng này chưa đọc bất kỳ chủ đề nào", "has-no-upvoted-posts": "Người dùng này chưa ủng hộ bất kỳ bài đăng nào.", "has-no-downvoted-posts": "Thành viên này chưa phản đối bài viết nào cả.", "has-no-controversial-posts": "Người dùng này chưa có bài viết nào bị phản đối.", @@ -134,46 +137,46 @@ "upvote-notif-freq.threshold": "Trên 1, 5, 10, 25, 50, 100, 150, 200...", "upvote-notif-freq.logarithmic": "Cứ mỗi 10, 100, 1000...", "upvote-notif-freq.disabled": "Đã tắt", - "browsing": "Đang xem cài đặt", - "open-links-in-new-tab": "Mở liên kết trong tab mới.", - "enable-topic-searching": "Bật tìm kiếm trong chủ đề", + "browsing": "Cài Đặt Lướt Xem", + "open-links-in-new-tab": "Mở liên kết bên ngoài trong tab mới.", + "enable-topic-searching": "Bật Tìm Kiếm Trong Chủ Đề", "topic-search-help": "Nếu bật, tìm kiếm trong chủ đề sẽ thay thế tìm kiếm của trình duyệt và cho phép bạn tìm kiếm trong toàn bộ chủ đề, thay vì chỉ tìm kiếm nội dung đang hiện thị trên màn hình", - "update-url-with-post-index": "Cập nhật url với chỉ mục bài viết trong khi duyệt các chủ đề", + "update-url-with-post-index": "Cập nhật url với chỉ mục bài đăng trong khi lướt xem các chủ đề", "scroll-to-my-post": "Sau khi đăng một trả lời thì hiển thị bài viết mới", "follow-topics-you-reply-to": "Xem các chủ đề mà bạn trả lời", "follow-topics-you-create": "Xem chủ đề bạn tạo", "grouptitle": "Tiêu đề nhóm", "group-order-help": "Chọn một nhóm và sử dụng các phím mũi tên để sắp xếp các tiêu đề", - "show-group-title": "Show group title", - "hide-group-title": "Hide group title", - "order-group-up": "Order group up", - "order-group-down": "Order group down", + "show-group-title": "Hiện tiêu đề nhóm", + "hide-group-title": "Ẩn tiêu đề nhóm", + "order-group-up": "Xếp nhóm lên", + "order-group-down": "Xếp nhóm xuống", "no-group-title": "Không có tiêu đề nhóm", - "select-skin": "Chọn một giao diện", + "select-skin": "Chọn Trang Điểm", "default": "Mặc định (%1)", - "no-skin": "Không Giao Diện", - "select-homepage": "Chọn Trang chủ", + "no-skin": "Không Trang Điểm", + "select-homepage": "Chọn một Trang Chủ", "homepage": "Trang chủ", - "homepage-description": "Chọn một trang dùng cho trang chủ diễn đàn hoặc chọn \"Không\" để dùng trang chủ mặc định.", - "custom-route": "Đường dẫn trang chủ tuỳ chọn", - "custom-route-help": "Nhập tên đường dẫn ở đây, không có dấu gạch chéo trước (VD: \"gan-day\" hoặc \"chuyen-muc/2/thao-luan-chung\")", - "sso.title": "Đăng nhập một lần", - "sso.associated": "Đã liên kết với", - "sso.not-associated": "Nhấn vào đây để liên kết với", + "homepage-description": "Chọn một trang dùng cho trang chủ diễn đàn hoặc chọn \"Không\" để dùng mặc định.", + "custom-route": "Định Tuyến Trang Chủ Tuỳ Chọn", + "custom-route-help": "Nhập tên đường dẫn ở đây, không có dấu gạch chéo trước (VD. \"gan-day\" or \"danh-muc/2/thao-luan-chung\")", + "sso.title": "Dịch Vụ Đăng Nhập Một Lần", + "sso.associated": "Đã kết hợp với", + "sso.not-associated": "Bấm ở đây để kết hợp với", "sso.dissociate": "Tách khỏi", "sso.dissociate-confirm-title": "Xác nhận việc tách khỏi", "sso.dissociate-confirm": "Bạn có chắc chắn muốn tách tài khoản của mình khỏi %1?", "info.latest-flags": "Gắn cờ mới nhất", - "info.profile": "Profile", - "info.post": "Post", - "info.view-flag": "View flag", - "info.reported-by": "Reported by:", + "info.profile": "Hồ sơ", + "info.post": "Bài viết", + "info.view-flag": "Xem cờ", + "info.reported-by": "Báo cáo bởi:", "info.no-flags": "Không Tìm Thấy Bài Bị Gắn Cờ", "info.ban-history": "Lịch Sử Cấm Gần Đây", "info.no-ban-history": "Người dùng này chưa bao giờ bị cấm", - "info.banned-until": "Bị cấm cho đến %1", + "info.banned-until": "Bị cấm đến %1", "info.banned-expiry": "Hết hạn", - "info.ban-expired": "Ban expired", + "info.ban-expired": "Hết hạn cấm", "info.banned-permanently": "Bị cấm vĩnh viễn", "info.banned-reason-label": "Lý do", "info.banned-no-reason": "Không có lí do.", @@ -182,7 +185,7 @@ "info.muted-until": "Đã tắt tiếng cho đến %1", "info.muted-expiry": "Hết hạn", "info.muted-no-reason": "Không có lý do nào được đưa ra.", - "info.username-history": "Lịch Sử Tên Người Dùng", + "info.username-history": "Lịch Sử Tên Đăng Nhập", "info.email-history": "Lịch sử email", "info.moderation-note": "Ghi chú quản lí", "info.moderation-note.success": "Đã lưu ghi chú quản lý", @@ -202,21 +205,21 @@ "consent.right-of-access": "Bạn có quyền truy cập", "consent.right-of-access-description": "Bạn có quyền truy cập bất kỳ dữ liệu trang web này thu thập. Bạn có thể lấy một bản sao của dữ liệu này bằng cách nhấp vào nút thích hợp bên dưới.", "consent.right-to-rectification": "Bạn có quyền chỉnh lý", - "consent.right-to-rectification-description": "Bạn có quyền thay đổi hoặc cập nhật bất kỳ dữ liệu không chính xác nào được cung cấp cho chúng tôi. Hồ sơ của bạn có thể được cập nhật bằng cách chỉnh sửa hồ sơ của bạn và nội dung bài đăng luôn có thể được chỉnh sửa. Nếu không đúng như vậy, hãy liên hệ nhóm quản trị của trang này.", + "consent.right-to-rectification-description": "Bạn có quyền thay đổi hoặc cập nhật dữ liệu không chính xác nào đã cung cấp cho chúng tôi. Hồ sơ của bạn có thể cập nhật bằng cách chỉnh sửa hồ sơ của bạn và nội dung bài đăng luôn có thể chỉnh sửa. Nếu không đúng, hãy liên hệ nhóm quản trị của trang này.", "consent.right-to-erasure": "Bạn có quyền xóa", "consent.right-to-erasure-description": "Bất cứ lúc nào, bạn có thể thu hồi sự đồng ý của bạn về thu thập và / hoặc xử lý dữ liệu bằng cách xóa tài khoản của bạn. Bạn có thể xóa được hồ sơ cá nhân, mặc dù nội dung bài đăng của bạn vẫn còn. Nếu bạn muốn xóa cả tài khoản nội dung, hãy liên hệ với nhóm quản trị trang web này.", "consent.right-to-data-portability": "Bạn có quyền di chuyển dữ liệu", "consent.right-to-data-portability-description": "Bạn có thể yêu cầu chúng tôi xuất ra một bản máy có thể đọc được về bất kỳ dữ liệu thu thập về bạn và tài khoản của bạn. Bạn có thể làm như vậy bằng cách nhấp vào nút dành riêng bên dưới.", - "consent.export-profile": "Xuất Tệp Hồ Sơ (.json)", + "consent.export-profile": "Xuất Hồ Sơ (.json)", "consent.export-profile-success": "Đang xuất hồ sơ, bạn sẽ nhận được thông báo khi hoàn tất.", "consent.export-uploads": "Xuất nội dung đã tải lên (.zip)", "consent.export-uploads-success": "Đang xuất tải lên, bạn sẽ nhận được thông báo khi hoàn tất.", - "consent.export-posts": "Xuất bài viết (.csv)", + "consent.export-posts": "Xuất Bài Đăng (.csv)", "consent.export-posts-success": "Đang xuất bài viết, bạn sẽ nhận được thông báo khi hoàn tất.", "emailUpdate.intro": "Vui lòng nhập địa chỉ email của bạn dưới đây. Diễn đàn này sử dụng địa chỉ email của bạn để nhận thông báo và thông báo theo lịch trình, cũng như để khôi phục tài khoản trong trường hợp mất mật khẩu.", - "emailUpdate.optional": "Mục này không bắt buộc. Bạn không có nghĩa vụ cung cấp địa chỉ email của mình, nhưng nếu không có email được xác thực, bạn sẽ không thể khôi phục tài khoản hoặc đăng nhập bằng email của mình.", + "emailUpdate.optional": "Mục này là tùy chọn. Bạn không cần cung cấp email, nhưng nếu không có email bạn sẽ không thể khôi phục tài khoản hoặc đăng nhập bằng email của mình.", "emailUpdate.required": "Trường này là bắt buộc.", - "emailUpdate.change-instructions": "Một email xác nhận sẽ được gửi đến địa chỉ email đã nhập với một liên kết duy nhất. Việc truy cập vào liên kết đó sẽ xác nhận quyền sở hữu của bạn đối với địa chỉ email và nó sẽ có hiệu lực trên tài khoản của bạn. Bất cứ lúc nào, bạn có thể cập nhật email của mình trong hồ sơ từ trong trang tài khoản của bạn.", + "emailUpdate.change-instructions": "Email xác nhận sẽ gửi đến địa chỉ email đã nhập với một liên kết duy nhất. Truy cập liên kết đó sẽ xác nhận email đó là của bạn và nó gắn liền với tài khoản của bạn. Bất cứ lúc nào, bạn có thể cập nhật email của mình trong hồ sơ từ trong trang tài khoản của bạn.", "emailUpdate.password-challenge": "Nhập mật khẩu của bạn để xác minh quyền sở hữu tài khoản.", "emailUpdate.pending": "Địa chỉ email của bạn chưa được xác nhận, nhưng một email đã được gửi đi yêu cầu xác nhận. Nếu bạn muốn vô hiệu hóa yêu cầu đó và gửi yêu cầu xác nhận mới, vui lòng điền vào mẫu dưới đây." } \ No newline at end of file diff --git a/public/language/vi/users.json b/public/language/vi/users.json index dca9e9820e..a6f23ee6bd 100644 --- a/public/language/vi/users.json +++ b/public/language/vi/users.json @@ -1,25 +1,26 @@ { "all-users": "Tất Cả Người Dùng", - "latest-users": "Thành viên mới nhất", - "top-posters": "Thành viên đăng bài nhiều nhất", - "most-reputation": "Nhiều Uy Tín", - "most-flags": "Gắn cờ nhiều", + "followed-users": "Người Theo Dõi", + "latest-users": "Người Dùng Mới Nhất", + "top-posters": "Người Đăng Hàng Đầu", + "most-reputation": "Uy Tín Nhất", + "most-flags": "Nhiều Cờ Nhất", "search": "Tìm kiếm", "enter-username": "Nhập tên đăng nhập để tìm", "search-user-for-chat": "Tìm kiếm người dùng để bắt đầu trò chuyện", - "load-more": "Tải thêm", - "users-found-search-took": "Đã tìm thấy %1 người! Tìm kiếm mất %2 giây.", - "filter-by": "Lọc Bởi", + "load-more": "Tải Thêm", + "users-found-search-took": "Tìm được %1 người! Tìm kiếm mất %2 giây.", + "filter-by": "Lọc Theo", "online-only": "Chỉ trực tuyến", "invite": "Mời", "prompt-email": "Thư điện tử:", "groups-to-join": "Nhóm được tham gia khi lời mời được chấp nhận:", "invitation-email-sent": "Email mời đã được gửi tới %1", - "user-list": "Danh sách thành viên", + "user-list": "Danh Sách Người Dùng", "recent-topics": "Chủ Đề Gần Đây", - "popular-topics": "Chủ để nổi bật", - "unread-topics": "Chủ đề chưa đọc", - "categories": "Chuyên mục", + "popular-topics": "Chủ Đề Phổ Biến", + "unread-topics": "Chủ Đề Chưa Đọc", + "categories": "Danh mục", "tags": "Thẻ", "no-users-found": "Không tìm được ai!" } \ No newline at end of file diff --git a/public/language/zh-CN/admin/advanced/events.json b/public/language/zh-CN/admin/advanced/events.json index b6c3eba1c4..9c9a9bce50 100644 --- a/public/language/zh-CN/admin/advanced/events.json +++ b/public/language/zh-CN/admin/advanced/events.json @@ -9,9 +9,9 @@ "filter-type": "事件类型", "filter-start": "开始时间", "filter-end": "结束时间", - "filter-user": "Filter by User", - "filter-user.placeholder": "Type user name to filter...", - "filter-group": "Filter by Group", - "filter-group.placeholder": "Type group name to filter...", + "filter-user": "按用户过滤", + "filter-user.placeholder": "输入用户名以过滤", + "filter-group": "按用户群组过滤", + "filter-group.placeholder": "输入群组名以过滤", "filter-per-page": "每页" } \ No newline at end of file diff --git a/public/language/zh-CN/admin/dashboard.json b/public/language/zh-CN/admin/dashboard.json index 5cea605a5c..d4c79cd879 100644 --- a/public/language/zh-CN/admin/dashboard.json +++ b/public/language/zh-CN/admin/dashboard.json @@ -95,7 +95,7 @@ "expand-analytics": "展开统计数据", "clear-search-history": "清空搜索历史", "clear-search-history-confirm": "您确定您要删除搜索历史吗?", - "search-term": "Term", + "search-term": "内容", "search-count": "计数", - "view-all": "浏览全部" + "view-all": "查看全部" } diff --git a/public/language/zh-CN/admin/development/info.json b/public/language/zh-CN/admin/development/info.json index 00ceddc309..b7a4410f29 100644 --- a/public/language/zh-CN/admin/development/info.json +++ b/public/language/zh-CN/admin/development/info.json @@ -3,7 +3,7 @@ "ip": "IP %1", "nodes-responded": "%1个节点在%2ms内响应!", "host": "主机", - "primary": "主/运行任务", + "primary": "primary / jobs", "pid": "pid", "nodejs": "nodejs", "online": "在线", @@ -19,6 +19,7 @@ "registered": "已注册", "sockets": "接口", + "connection-count": "连接数", "guests": "游客", "info": "信息" diff --git a/public/language/zh-CN/admin/extend/widgets.json b/public/language/zh-CN/admin/extend/widgets.json index d88d368e44..ae88ff7e71 100644 --- a/public/language/zh-CN/admin/extend/widgets.json +++ b/public/language/zh-CN/admin/extend/widgets.json @@ -9,9 +9,11 @@ "containers.none": "无", "container.well": "Well", "container.jumbotron": "超大屏幕", - "container.card": "卡", - "container.card-header": "卡标题", - "container.card-body": "卡内容", + "container.card": "卡片", + "container.card-header": "卡片标题", + "container.card-body": "卡片内容", + "container.title": "标题", + "container.body": "内容", "container.alert": "警报", "alert.confirm-delete": "确认删除此窗口部件?", diff --git a/public/language/zh-CN/admin/manage/privileges.json b/public/language/zh-CN/admin/manage/privileges.json index 7bb5c09667..5c80c8c64a 100644 --- a/public/language/zh-CN/admin/manage/privileges.json +++ b/public/language/zh-CN/admin/manage/privileges.json @@ -18,9 +18,9 @@ "search-content": "搜索内容", "search-users": "搜索用户", "search-tags": "搜索标签", - "view-users": "浏览用户", - "view-tags": "浏览标签", - "view-groups": "浏览群组", + "view-users": "查看用户", + "view-tags": "查看标签", + "view-groups": "查看群组", "allow-local-login": "本地登录", "allow-group-creation": "群组创建", "view-users-info": "查看用户信息", diff --git a/public/language/zh-CN/admin/manage/users.json b/public/language/zh-CN/admin/manage/users.json index e474cc27d3..95d4388e59 100644 --- a/public/language/zh-CN/admin/manage/users.json +++ b/public/language/zh-CN/admin/manage/users.json @@ -4,21 +4,21 @@ "edit": "操作", "make-admin": "设为管理", "remove-admin": "取消管理员", - "change-email": "Change Email", + "change-email": "更改Email地址", "new-email": "New Email", "validate-email": "验证邮箱", "send-validation-email": "发送验证邮件", - "change-password": "Change Password", + "change-password": "更改密码", "password-reset-email": "发送密码重置邮件", "force-password-reset": "强制密码重置 & 登录用户已退出", - "ban": "Ban", - "ban-users": "Ban User(s)", + "ban": "封禁", + "ban-users": "封禁用户", "temp-ban": "暂时封禁用户", "unban": "解禁用户", "reset-lockout": "重设锁定", "reset-flags": "重设举报", - "delete": "Delete", - "delete-users": "Delete User(s)", + "delete": "删除", + "delete-users": "删除用户", "delete-content": "删除用户内容", "purge": "删除用户和内容", "download-csv": "下载CSV", @@ -86,7 +86,7 @@ "alerts.button-ban-x": "封禁 %1 名用户", "alerts.unban-success": "用户已解封!", "alerts.lockout-reset-success": "锁定已重置!", - "alerts.password-change-success": "Password(s) changed!", + "alerts.password-change-success": "密码已更改", "alerts.flag-reset-success": "举报已重置!", "alerts.no-remove-yourself-admin": "您无法撤销自己的管理员身份!", "alerts.make-admin-success": "此用户已成为管理员", @@ -112,7 +112,7 @@ "alerts.create": "创建用户", "alerts.button-create": "创建", "alerts.button-cancel": "取消", - "alerts.button-change": "Change", + "alerts.button-change": "更改", "alerts.error-passwords-different": "两次输入的密码必须相同!", "alerts.error-x": "错误

%1

", "alerts.create-success": "用户已创建!", @@ -120,8 +120,8 @@ "alerts.prompt-email": "邮件:", "alerts.email-sent-to": "已发送邀请给 %1", "alerts.x-users-found": "找到 %1 位用户(耗时 %2 秒)", - "alerts.select-a-single-user-to-change-email": "Select a single user to change email", - "export": "Export", + "alerts.select-a-single-user-to-change-email": "选择单个用户以更改其Email", + "export": "导出", "export-users-fields-title": "选择CSV文件", "export-field-email": "邮件", "export-field-username": "用户名", @@ -146,6 +146,6 @@ "export-users-started": "导出用户为 csv,这可能需要一些时间。当导出完成时你会收到通知。", "export-users-completed": "用户列表已被导出为 CSV 文件,点击以下载。", "email": "Email", - "password": "Password", - "manage": "Manage" + "password": "密码", + "manage": "管理" } \ No newline at end of file diff --git a/public/language/zh-CN/admin/settings/chat.json b/public/language/zh-CN/admin/settings/chat.json index 73db01fd1e..3651d8b596 100644 --- a/public/language/zh-CN/admin/settings/chat.json +++ b/public/language/zh-CN/admin/settings/chat.json @@ -1,5 +1,5 @@ { - "zero-is-disabled": "Enter 0 to disable this restriction", + "zero-is-disabled": "输入 0 可禁用此限制", "chat-settings": "聊天设置", "disable": "禁用聊天", "disable-editing": "禁止编辑/删除聊天消息", @@ -7,9 +7,9 @@ "max-length": "聊天信息的最大长度", "max-chat-room-name-length": "聊天室名称最大长度", "max-room-size": "聊天室的最多用户数", - "delay": "Time between chat messages (ms)", - "notification-delay": "Notification delay for chat messages", - "notification-delay-help": "Additional messages sent between this time are collated, and the user is notified once per delay period. Set this to 0 to disable the delay.", - "restrictions.seconds-edit-after": "Number of seconds a chat message will remain editable.", - "restrictions.seconds-delete-after": "Number of seconds a chat message will remain deletable." + "delay": "发言频率(毫秒)", + "notification-delay": "聊天信息的通知延迟", + "notification-delay-help": "服务器可能无法承受即时通讯所带来的资源占用,因此在这段时间内发送的其他信息将被整理,并在每个延迟期通知用户一次。设置为 0 则禁用延迟。", + "restrictions.seconds-edit-after": "聊天信息保持可编辑状态的秒数。", + "restrictions.seconds-delete-after": "聊天信息保持可撤回状态的秒数。" } \ No newline at end of file diff --git a/public/language/zh-CN/admin/settings/email.json b/public/language/zh-CN/admin/settings/email.json index 8f9081112f..8899c0ff33 100644 --- a/public/language/zh-CN/admin/settings/email.json +++ b/public/language/zh-CN/admin/settings/email.json @@ -13,7 +13,7 @@ "smtp-transport-help": "您可以从列表中选取一个已知的服务或自定义。", "smtp-transport.service": "选择服务", "smtp-transport.service-custom": "自定义", - "smtp-transport.service-help": "Select a service name above in order to use the known information about it. Alternatively, select "Custom Service" and enter the details below.", + "smtp-transport.service-help": "选取一个上方的服务以便使用已知的信息。或选择 " 自定义 " 并在下方输入详细信息。", "smtp-transport.gmail-warning1": "如果您使用 GMail 作为您的邮件提供商,您需要生成一个“App 密码”让 NodeBB 可以正常鉴权。您可以在App 密码页生成一个。", "smtp-transport.gmail-warning2": "对此替代办法的更多信息,请查阅关于此问题的NodeMailer 文章。一个替代方法可能是使用一种第三方的邮件插件,例如 SendGrid,Mailgun,等等。在此浏览可用的插件。", "smtp-transport.auto-enable-toast": "您似乎在配置一个 SMTP 通信。我们为您启用了 “SMTP 通信” 选项。", diff --git a/public/language/zh-CN/admin/settings/navigation.json b/public/language/zh-CN/admin/settings/navigation.json index b0b0d94ed7..172877bc3a 100644 --- a/public/language/zh-CN/admin/settings/navigation.json +++ b/public/language/zh-CN/admin/settings/navigation.json @@ -10,7 +10,7 @@ "id": "ID:可选", "properties": "属性:", - "show-to-groups": "Show to Groups:", + "show-to-groups": "向以下群组展示", "open-new-window": "在新窗口中打开", "dropdown": "下拉列表", "dropdown-placeholder": "将你的下拉菜单项目放在下面,即:
<li><a class="dropdown-item" href="https://myforum.com">Link 1</a></li>", diff --git a/public/language/zh-CN/admin/settings/post.json b/public/language/zh-CN/admin/settings/post.json index 92e8c1b2d8..ae722e5937 100644 --- a/public/language/zh-CN/admin/settings/post.json +++ b/public/language/zh-CN/admin/settings/post.json @@ -26,7 +26,7 @@ "restrictions.title-length": "标题长度", "restrictions.post-length": "帖子字数", "restrictions.days-until-stale": "主题过时的天数", - "restrictions.stale-help": "If a topic is considered \"stale\", then a warning will be shown to users who attempt to reply to that topic. (set to 0 to disable)", + "restrictions.stale-help": "如果某个主题被认为是“过时”的,则会向试图回复该主题的用户发出警告。(设置为 0 则禁用)", "timestamp": "时间戳", "timestamp.cut-off": "截止日期(天)", "timestamp.cut-off-help": "日期&时间将以相对方式 (例如,“3小时前” / “5天前”) 显示,并且会依照访客语言时区转换。在某一时刻之后,可以切换该文本以显示本地化日期本身 (例如2016年11月5日15:30) 。
(默认值: 30 或一个月) 。 设置为0可始终显示日期,留空以始终显示相对时间。", diff --git a/public/language/zh-CN/admin/settings/reputation.json b/public/language/zh-CN/admin/settings/reputation.json index 6bbf2f50ce..4432cfa2b8 100644 --- a/public/language/zh-CN/admin/settings/reputation.json +++ b/public/language/zh-CN/admin/settings/reputation.json @@ -2,7 +2,14 @@ "reputation": "声望设置", "disable": "禁用声望系统", "disable-down-voting": "禁用 踩", - "votes-are-public": "公开所有投票", + "upvote-visibility": "顶 投票数量可见性", + "upvote-visibility-all": "所有人可见", + "upvote-visibility-loggedin": "仅登录用户可见", + "upvote-visibility-privileged": "仅管理员和版主等特权用户可见", + "downvote-visibility": "踩 投票数量可见性", + "downvote-visibility-all": "所有人可见", + "downvote-visibility-loggedin": "仅登录用户可见", + "downvote-visibility-privileged": "仅管理员和版主等特权用户可见", "thresholds": "操作限制", "min-rep-upvote": "顶帖子 需要的最低声望", "upvotes-per-day": "每天顶的次数(设置为0则表示无限制)", @@ -24,7 +31,7 @@ "flags.limit-per-target-placeholder": "默认:0", "flags.limit-per-target-help": "当一个帖子或用户被举报不止一次时,每个额外的举报会被认为是一个“报告”并附加到原来的举报中。设置此选项为非零的数以限制一个帖子或用户能被举报的次数。", "flags.limit-post-flags-per-day": "用户每日最多举报帖子次数", - "flags.limit-post-flags-per-day-help": "设置为0表示禁止(默认:10)", + "flags.limit-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": "被踩多少次数自动转为举报帖子", diff --git a/public/language/zh-CN/admin/settings/user.json b/public/language/zh-CN/admin/settings/user.json index 045919aab7..615c47996a 100644 --- a/public/language/zh-CN/admin/settings/user.json +++ b/public/language/zh-CN/admin/settings/user.json @@ -25,7 +25,7 @@ "lockout-duration": "帐户锁定时间(分钟)", "login-days": "记录用户会话天数", "password-expiry-days": "强制重置密码天数", - "session-time": "Session 过期时间", + "session-time": "会话过期时间", "session-time-days": "天", "session-time-seconds": "秒", "session-time-help": "这些值将用于控制用户在登录时选中"记住我"后能够保持登录的时长。注意以下数值中只有一个将被使用。若值为空我们将回退使用。若值为空我们将使用默认值14天。", diff --git a/public/language/zh-CN/error.json b/public/language/zh-CN/error.json index 4b4f00050b..e20eb07d08 100644 --- a/public/language/zh-CN/error.json +++ b/public/language/zh-CN/error.json @@ -153,6 +153,7 @@ "about-me-too-long": "抱歉,您的关于我不能超过 %1 个字符。", "cant-chat-with-yourself": "您不能和自己聊天!", "chat-restricted": "此用户限制了他的聊天消息。必须他先关注您,您才能和他聊天。", + "chat-user-blocked": "您已被该用户屏蔽。", "chat-disabled": "聊天系统已关闭", "too-many-messages": "您发送了太多消息,请稍等片刻。", "invalid-chat-message": "无效的聊天信息", diff --git a/public/language/zh-CN/flags.json b/public/language/zh-CN/flags.json index 9f215e5643..3a27c1461a 100644 --- a/public/language/zh-CN/flags.json +++ b/public/language/zh-CN/flags.json @@ -90,6 +90,6 @@ "bulk-actions": "批量操作", "bulk-resolve": "处理举报", "bulk-success": "已更新%1个举报", - "flagged-timeago": "Flagged ", + "flagged-timeago": "标记", "auto-flagged": "【自动举报】收到 %1 个踩" } \ No newline at end of file diff --git a/public/language/zh-CN/modules.json b/public/language/zh-CN/modules.json index ab79a34365..2137715749 100644 --- a/public/language/zh-CN/modules.json +++ b/public/language/zh-CN/modules.json @@ -1,8 +1,9 @@ { "chat.room-id": "房间 %1", "chat.chatting-with": "与聊天", - "chat.placeholder": "在此输入聊天消息,或者拖入图片,按下回车键以发送", - "chat.placeholder.mobile": "在此输入聊天信息", + "chat.placeholder": "在此处输入聊天信息,拖放图片", + "chat.placeholder.mobile": "输入聊天信息", + "chat.placeholder.message-room": "消息 #%1", "chat.scroll-up-alert": "转到最近的信息", "chat.usernames-and-x-others": "%1 和 %2 其他人", "chat.chat-with-usernames": "与聊天", diff --git a/public/language/zh-CN/notifications.json b/public/language/zh-CN/notifications.json index 981482c16c..d7f6a5342f 100644 --- a/public/language/zh-CN/notifications.json +++ b/public/language/zh-CN/notifications.json @@ -25,42 +25,42 @@ "my-flags": "指派举报给我", "bans": "封禁", "new-message-from": "来自 %1 的新消息", - "new-messages-from": "%1 new messages from %2", - "new-message-in": "New message in %1", - "new-messages-in": "%1 new messages in %2", - "user-posted-in-public-room": "%1 wrote in %3", - "user-posted-in-public-room-dual": "%1 and %2 wrote in %4", - "user-posted-in-public-room-triple": "%1, %2 and %3 wrote in %5", - "user-posted-in-public-room-multiple": "%1, %2 and %3 others wrote in %5", + "new-messages-from": "%2的%1新信息", + "new-message-in": "%1的新消息", + "new-messages-in": " %2的 %1 个新消息", + "user-posted-in-public-room": "%1%3发表", + "user-posted-in-public-room-dual": "%1%2%4发表", + "user-posted-in-public-room-triple": "%1, %2%3%5发表", + "user-posted-in-public-room-multiple": "%1, %2 和 %3 其他人在 %5发表", "upvoted-your-post-in": "%1%2 点赞了您的帖子。", "upvoted-your-post-in-dual": "%1%2%3 赞了您的帖子。", - "upvoted-your-post-in-triple": "%1, %2 and %3 have upvoted your post in %4.", - "upvoted-your-post-in-multiple": "%1, %2 and %3 others have upvoted your post in %4.", + "upvoted-your-post-in-triple": "%1, %2%3 赞同了您在 %4的帖子。", + "upvoted-your-post-in-multiple": "%1, %2和其余 %3 位 赞同了您在%4的帖子", "moved-your-post": "您的帖子已被 %1 移动到了 %2", "moved-your-topic": "%1 移动了 %2", "user-flagged-post-in": "%1%2 标记了一个帖子", "user-flagged-post-in-dual": "%1%2%3 举报了一个帖子", - "user-flagged-post-in-triple": "%1, %2 and %3 flagged a post in %4", - "user-flagged-post-in-multiple": "%1, %2 and %3 others flagged a post in %4", + "user-flagged-post-in-triple": "%1, %2%3%4中标记了一个帖子", + "user-flagged-post-in-multiple": "%1, %2 和其余 %3 人在 %4中标记了一个帖子", "user-flagged-user": "%1 举报了 (%2) 的用户资料", "user-flagged-user-dual": "%1%2 举报了 (%3) 的用户资料", - "user-flagged-user-triple": "%1, %2 and %3 flagged a user profile (%4)", - "user-flagged-user-multiple": "%1, %2 and %3 others flagged a user profile (%4)", + "user-flagged-user-triple": "%1, %2%3 标记了一个用户资料 (%4)", + "user-flagged-user-multiple": "%1, %2 和其余 %3 人 标记了一个用户资料 (%4)", "user-posted-to": "%1 回复了:%2", "user-posted-to-dual": "%1%2 回复了: %3", - "user-posted-to-triple": "%1, %2 and %3 have posted replies to: %4", - "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", + "user-posted-to-triple": "%1, %2%3%4发表回复", + "user-posted-to-multiple": "%1, %2 和其余 %3 人 对%4发表回复", "user-posted-topic": "%1 发表了新主题:%2", "user-edited-post": "%1%2 编辑了一个帖子", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", + "user-posted-topic-with-tag": "%1发表了%2(标签 %3)", + "user-posted-topic-with-tag-dual": "%1 发表了 %2 (标签:%3 和 %4)", + "user-posted-topic-with-tag-triple": "%1 发表了 %2 (标签: %3, %4, 和 %5)", + "user-posted-topic-with-tag-multiple": "%1发表了 %2 (标签: %3)", "user-posted-topic-in-category": "%1 发表了新主题:%2", "user-started-following-you": "%1关注了您。", "user-started-following-you-dual": "%1%2 关注了您。", - "user-started-following-you-triple": "%1, %2 and %3 started following you.", - "user-started-following-you-multiple": "%1, %2 and %3 others started following you.", + "user-started-following-you-triple": "%1, %2%3 关注了您", + "user-started-following-you-multiple": "%1, %2和其他 %3 人 关注了您", "new-register": "%1 发出了注册请求", "new-register-multiple": "有 %1 条注册申请等待批准。", "flag-assigned-to-you": "举报 %1 已经被指派给您", @@ -75,6 +75,7 @@ "email-confirmed": "电子邮箱已确认", "email-confirmed-message": "感谢您验证您的电子邮箱。您的帐户现已完全激活。", "email-confirm-error-message": "验证的您电子邮箱地址时出现了问题。可能是因为验证码无效或已过期。", + "email-confirm-error-message-already-validated": "您的电子邮件地址已通过验证。", "email-confirm-sent": "确认邮件已发送。", "none": "无", "notification-only": "用通知提醒我", @@ -82,14 +83,14 @@ "notification-and-email": "同时使用 通知 和 邮件 提醒我", "notificationType-upvote": "当有人顶了我的帖子时", "notificationType-new-topic": "当您关注的人发布了主题时", - "notificationType-new-topic-with-tag": "When a topic is posted with a tag you follow", - "notificationType-new-topic-in-category": "当你关注的版块有主题发布时", + "notificationType-new-topic-with-tag": "已发布的主题中有您关注的标签", + "notificationType-new-topic-in-category": "当您关注的版块有主题发布时", "notificationType-new-reply": "当您正在查看的主题中有新回复时", "notificationType-post-edit": "当您关注的主题有帖子被编辑时", "notificationType-follow": "当有人关注您时", "notificationType-new-chat": "当您收到聊天消息时", "notificationType-new-group-chat": "当您收到群聊消息时", - "notificationType-new-public-chat": "When you receive a public group chat message", + "notificationType-new-public-chat": "当您收到公共群聊消息时", "notificationType-group-invite": "当您收到用户组邀请时", "notificationType-group-leave": "当用户离开您的用户组时", "notificationType-group-request-membership": "当有人请求加入您拥有的用户组时", @@ -97,5 +98,5 @@ "notificationType-post-queue": "当有新帖子等待审核时", "notificationType-new-post-flag": "当有新的帖子举报时", "notificationType-new-user-flag": "当有新的用户信息举报时", - "notificationType-new-reward": "当你获得新奖励时" + "notificationType-new-reward": "当您获得新奖励时" } \ No newline at end of file diff --git a/public/language/zh-CN/pages.json b/public/language/zh-CN/pages.json index 68afb1296e..5901103af8 100644 --- a/public/language/zh-CN/pages.json +++ b/public/language/zh-CN/pages.json @@ -48,12 +48,13 @@ "account/topics": "%1 创建的主题", "account/groups": "%1 的群组", "account/watched-categories": "%1 关注的版块", - "account/watched-tags": "%1's Watched Tags", + "account/watched-tags": "%1's 关注的标签", "account/bookmarks": "%1 收藏的帖子", "account/settings": "用户设置", "account/settings-of": "改变设置的 %1", "account/watched": "%1 关注的主题", "account/ignored": "%1 忽略的主题", + "account/read": "%1 阅读的主题", "account/upvoted": "帖子被 %1 顶过", "account/downvoted": "帖子被 %1 踩过", "account/best": "%1 发布的最佳帖子", diff --git a/public/language/zh-CN/post-queue.json b/public/language/zh-CN/post-queue.json index 7d318866e8..a1a5d47414 100644 --- a/public/language/zh-CN/post-queue.json +++ b/public/language/zh-CN/post-queue.json @@ -3,7 +3,7 @@ "post-queue": "发布队列", "no-queued-posts": "发帖队列中没有帖子。", "no-single-post": "您正在查看的主题或帖子已经不在队列中。它可能已经被批准或删除。", - "enabling-help": "The post queue is currently disabled. To enable this feature, go to Settings → Post → Post Queue and enable Post Queue.", + "enabling-help": "发帖队列已禁用,要启用,请转到设置→帖子→发帖队列然后启用发帖队列", "back-to-list": "回到发帖队列", "public-intro": "如果你有帖子等待发布,它们会显示在这里", "public-description": "本论坛设置为新用户帖子进入发布队列,等待版主审核。
如果你有帖子等待发布,它们会显示在这里。", @@ -38,5 +38,6 @@ "remove-selected": "移除所选内容", "remove-selected-confirm": "你想删除%1的选定帖子吗?", "bulk-accept-success": "%1个帖子已接受", - "bulk-reject-success": "%1个帖子已拒绝" + "bulk-reject-success": "%1个帖子已拒绝", + "links-in-this-post": "帖子中的链接" } \ No newline at end of file diff --git a/public/language/zh-CN/rewards.json b/public/language/zh-CN/rewards.json index dbc21866b0..af17f593fa 100644 --- a/public/language/zh-CN/rewards.json +++ b/public/language/zh-CN/rewards.json @@ -1,6 +1,6 @@ { - "awarded-x-reputation": "你已经获得%1声望", - "awarded-group-membership": "你已加入群组%1", + "awarded-x-reputation": "您已经获得%1声望", + "awarded-group-membership": "您已加入群组%1", "essentials/user.reputation-conditional-value": "(声望%1 %2)", "essentials/user.postcount-conditional-value": "(帖子数%1 %2)", diff --git a/public/language/zh-CN/themes/harmony.json b/public/language/zh-CN/themes/harmony.json index 62c9c1b4c6..64cc85a607 100644 --- a/public/language/zh-CN/themes/harmony.json +++ b/public/language/zh-CN/themes/harmony.json @@ -7,7 +7,8 @@ "login-register-to-search": "登录或注册以进行搜索。", "settings.title": "主题设置", "settings.enableQuickReply": "启用快速回复", - "settings.enableBreadcrumbs": "启用面包屑导航", + "settings.enableBreadcrumbs": "在版块和主题页面中显示面包屑导航", + "settings.enableBreadcrumbs.why": "为了方便浏览,大多数页面都具有面包屑导航。不过版块和主题页面里也有回到上级页面的替代链接,因此您也可以选择关闭面包屑导航来减少页面杂乱感。", "settings.centerHeaderElements": "标题元素居中", "settings.mobileTopicTeasers": "在移动设备显示话题预告", "settings.stickyToolbar": "附着工具条", diff --git a/public/language/zh-CN/topic.json b/public/language/zh-CN/topic.json index 42a6d6a334..fb3078b586 100644 --- a/public/language/zh-CN/topic.json +++ b/public/language/zh-CN/topic.json @@ -42,10 +42,10 @@ "copy-ip": "复制IP", "ban-ip": "封禁 IP", "view-history": "编辑历史", - "wrote-ago": "编写", + "wrote-ago": "编写于", "wrote-on": "写于", "replied-to-user-ago": "回复了%3 ", - "replied-to-user-on": "在 中回复了 %3", + "replied-to-user-on": "在 回复了 %3", "user-locked-topic-ago": "%1 锁定了该主题 %2", "user-locked-topic-on": "%1 在 %2 中锁定了该主题", "user-unlocked-topic-ago": "%1 解锁了该主题 %2", @@ -72,8 +72,8 @@ "already-flagged": "已举报", "view-flag-report": "查看举报报告", "resolve-flag": "解决举报", - "merged-message": "此主题已并入%2", - "forked-message": "This topic was forked from %2", + "merged-message": "此主题已合并到%2", + "forked-message": "此主题由 %2 分支而来", "deleted-message": "此主题已被删除。只有拥有主题管理权限的用户可以查看。", "following-topic.message": "当有人回复此主题时,您会收到通知。", "not-following-topic.message": "您将在未读主题列表中看到这个主题,但您不会在帖子被回复时收到通知。", @@ -210,7 +210,7 @@ "no-more-next-post": "您在此主题中没有更多的帖子了", "open-composer": "打开编辑器", "post-quick-reply": "快速回复", - "navigator.index": "发布 %2 的 %1", + "navigator.index": "%1 / %2", "navigator.unread": "未读 %1", "upvote-post": "顶贴", "downvote-post": "踩帖", diff --git a/public/language/zh-CN/user.json b/public/language/zh-CN/user.json index 5ce0e61c62..a9ce6f6d43 100644 --- a/public/language/zh-CN/user.json +++ b/public/language/zh-CN/user.json @@ -1,9 +1,9 @@ { "user-menu": "用户菜单", "banned": "已封禁", - "unbanned": "Unbanned", + "unbanned": "未被封禁", "muted": "禁言", - "unmuted": "Unmuted", + "unmuted": "未被禁言", "offline": "离线", "deleted": "已删除", "username": "用户名", @@ -39,10 +39,11 @@ "reputation": "声望", "bookmarks": "书签", "watched-categories": "已关注的版块", - "watched-tags": "Watched tags", + "watched-tags": "已关注的标签", "change-all": "更改全部", "watched": "已关注", "ignored": "忽略", + "read": "Read", "default-category-watch-state": "默认版块关注状态", "followers": "粉丝", "following": "关注", @@ -65,7 +66,7 @@ "change-picture": "更改头像", "change-username": "更改用户名", "change-email": "更改电子邮箱", - "email-updated": "Email Updated", + "email-updated": "电子邮箱已更新", "email-same-as-password": "请输入您当前的密码以继续 –您已经再次输入了您的新电子邮箱", "edit": "编辑", "edit-profile": "编辑资料", @@ -78,6 +79,7 @@ "change-password": "更改密码", "change-password-error": "无效的密码!", "change-password-error-wrong-current": "您的当前密码不正确!", + "change-password-error-same-password": "新密码不能与当前密码一致,请输入一个新密码", "change-password-error-match": "两次输入的密码必须相同!", "change-password-error-privileges": "您无权更改此密码。", "change-password-success": "您的密码已更新!", @@ -113,6 +115,7 @@ "has-no-topics": "此用户还未发布任何主题。", "has-no-watched-topics": "此用户还未关注任何主题。", "has-no-ignored-topics": "此用户尚未忽略任何主题。", + "has-no-read-topics": "该用户尚未阅读过任何主题。", "has-no-upvoted-posts": "此用户还未顶过任何帖子。", "has-no-downvoted-posts": "此用户还未踩过任何帖子。", "has-no-controversial-posts": "此用户没有任何踩过的帖子。", @@ -138,7 +141,7 @@ "open-links-in-new-tab": "在新标签打开外部链接", "enable-topic-searching": "启用主题内搜索", "topic-search-help": "如果启用此项,主题内搜索会替代浏览器默认的页面搜索,您将可以在整个主题内搜索,而不仅仅只搜索页面上展现的内容。", - "update-url-with-post-index": "浏览主题是更新链接和索引", + "update-url-with-post-index": "浏览帖子时 URL 跟随浏览中的楼层变化", "scroll-to-my-post": "在提交回复之后显示新回复", "follow-topics-you-reply-to": "关注您回复过的主题", "follow-topics-you-create": "关注您创建的主题", @@ -164,16 +167,16 @@ "sso.dissociate-confirm-title": "确认解除关联", "sso.dissociate-confirm": "您确定您要将您的账号与 %1 解除关联吗?", "info.latest-flags": "最新举报", - "info.profile": "Profile", - "info.post": "Post", - "info.view-flag": "View flag", - "info.reported-by": "Reported by:", + "info.profile": "资料", + "info.post": "帖子", + "info.view-flag": "查看举报", + "info.reported-by": "举报者:", "info.no-flags": "没有找到被举报的帖子", "info.ban-history": "最近封禁历史", "info.no-ban-history": "该用户从未被封禁", "info.banned-until": "封禁到 %1", "info.banned-expiry": "到期", - "info.ban-expired": "Ban expired", + "info.ban-expired": "封禁过期", "info.banned-permanently": "永久封禁", "info.banned-reason-label": "原因", "info.banned-no-reason": "没有原因", diff --git a/public/language/zh-CN/users.json b/public/language/zh-CN/users.json index 7557b7cbdc..36799acd92 100644 --- a/public/language/zh-CN/users.json +++ b/public/language/zh-CN/users.json @@ -1,5 +1,6 @@ { "all-users": "所有用户", + "followed-users": "已关注的用户", "latest-users": "最新用户", "top-posters": "发帖排行", "most-reputation": "声望排行", diff --git a/public/language/zh-TW/admin/admin.json b/public/language/zh-TW/admin/admin.json index 2885f18659..8b1760473c 100644 --- a/public/language/zh-TW/admin/admin.json +++ b/public/language/zh-TW/admin/admin.json @@ -4,15 +4,15 @@ "acp-title": "%1 | NodeBB 管理控制台", "settings-header-contents": "内容", - "changes-saved": "Changes Saved", - "changes-saved-message": "Your changes to the NodeBB configuration have been saved.", - "changes-not-saved": "Changes Not Saved", - "changes-not-saved-message": "NodeBB encountered a problem saving your changes. (%1)", - "save-changes": "Save changes", - "min": "Min:", - "max": "Max:", - "view": "View", - "edit": "Edit", - "add": "Add", - "select-icon": "Select Icon" + "changes-saved": "更動已儲存", + "changes-saved-message": "您對 NodeBB 設定檔的更動已儲存。", + "changes-not-saved": "更動未儲存", + "changes-not-saved-message": "NodeBB 在保存您的更動時出問題。 (%1)", + "save-changes": "儲存更動", + "min": "最小:", + "max": "最大:", + "view": "瀏覽", + "edit": "編輯", + "add": "加入", + "select-icon": "選擇圖示" } \ No newline at end of file diff --git a/public/language/zh-TW/admin/advanced/cache.json b/public/language/zh-TW/admin/advanced/cache.json index 151b78e039..ecf0948c14 100644 --- a/public/language/zh-TW/admin/advanced/cache.json +++ b/public/language/zh-TW/admin/advanced/cache.json @@ -1,9 +1,9 @@ { - "cache": "Cache", + "cache": "快取", "post-cache": "貼文快取", - "group-cache": "Group Cache", - "local-cache": "Local Cache", - "object-cache": "Object Cache", + "group-cache": "群組快取", + "local-cache": "本地快取", + "object-cache": "物件快取", "percent-full": "%1% 容量", "post-cache-size": "貼文快取大小", "items-in-cache": "快取中的項目數量" diff --git a/public/language/zh-TW/admin/advanced/database.json b/public/language/zh-TW/admin/advanced/database.json index 2e642aee41..9b523b51e6 100644 --- a/public/language/zh-TW/admin/advanced/database.json +++ b/public/language/zh-TW/admin/advanced/database.json @@ -17,7 +17,7 @@ "mongo.file-size": "檔案大小", "mongo.resident-memory": "常駐記憶體", "mongo.virtual-memory": "虛擬記憶體", - "mongo.mapped-memory": "Mapped Memory", + "mongo.mapped-memory": "已映射記憶體", "mongo.bytes-in": "位元組輸入", "mongo.bytes-out": "位元組輸出", "mongo.num-requests": "請求數量", diff --git a/public/language/zh-TW/admin/advanced/events.json b/public/language/zh-TW/admin/advanced/events.json index c37ccc84e4..c4d754ed1c 100644 --- a/public/language/zh-TW/admin/advanced/events.json +++ b/public/language/zh-TW/admin/advanced/events.json @@ -3,15 +3,15 @@ "no-events": "暫無事件", "control-panel": "事件控制面板", "delete-events": "刪除事件", - "confirm-delete-all-events": "Are you sure you want to delete all logged events?", + "confirm-delete-all-events": "確定删除全部已記錄的事件嗎?", "filters": "過濾器", "filters-apply": "應用過濾器", "filter-type": "事件類型", "filter-start": "開始時間", "filter-end": "結束時間", - "filter-user": "Filter by User", - "filter-user.placeholder": "Type user name to filter...", - "filter-group": "Filter by Group", - "filter-group.placeholder": "Type group name to filter...", + "filter-user": "依用戶過濾", + "filter-user.placeholder": "輸入用戶名來過濾", + "filter-group": "依群組過濾", + "filter-group.placeholder": "輸入群組名來過濾", "filter-per-page": "每頁" } \ No newline at end of file diff --git a/public/language/zh-TW/admin/appearance/themes.json b/public/language/zh-TW/admin/appearance/themes.json index ea53bd0e5c..6019c9a2cc 100644 --- a/public/language/zh-TW/admin/appearance/themes.json +++ b/public/language/zh-TW/admin/appearance/themes.json @@ -1,9 +1,9 @@ { - "themes": "Themes", + "themes": "佈景主題", "checking-for-installed": "正在檢查已安裝的佈景主題...", "homepage": "首頁", "select-theme": "選擇佈景主題", - "revert-theme": "Revert Theme", + "revert-theme": "恢復前佈景主題", "current-theme": "當前佈景主題", "no-themes": "未發現已安裝的佈景主題", "revert-confirm": "確認恢復到 NodeBB 預設佈景主題?", diff --git a/public/language/zh-TW/admin/dashboard.json b/public/language/zh-TW/admin/dashboard.json index 6f2ea73022..4cc161c595 100644 --- a/public/language/zh-TW/admin/dashboard.json +++ b/public/language/zh-TW/admin/dashboard.json @@ -95,7 +95,7 @@ "expand-analytics": "Expand analytics", "clear-search-history": "Clear Search History", "clear-search-history-confirm": "Are you sure you want to clear entire search history?", - "search-term": "Term", - "search-count": "Count", - "view-all": "View all" + "search-term": "條件", + "search-count": "次數", + "view-all": "查看全部" } diff --git a/public/language/zh-TW/admin/development/info.json b/public/language/zh-TW/admin/development/info.json index 9b2d42dcfd..df3bc6cd12 100644 --- a/public/language/zh-TW/admin/development/info.json +++ b/public/language/zh-TW/admin/development/info.json @@ -3,7 +3,7 @@ "ip": "IP %1", "nodes-responded": "%1個節點在%2ms內響應!", "host": "主機", - "primary": "primary / run jobs", + "primary": "主要 / 任務", "pid": "pid", "nodejs": "nodejs", "online": "在線", @@ -19,6 +19,7 @@ "registered": "已註冊", "sockets": "網路接口", + "connection-count": "連線次數", "guests": "訪客", "info": "資訊" diff --git a/public/language/zh-TW/admin/extend/widgets.json b/public/language/zh-TW/admin/extend/widgets.json index 06e48f3a24..e68b6adef1 100644 --- a/public/language/zh-TW/admin/extend/widgets.json +++ b/public/language/zh-TW/admin/extend/widgets.json @@ -5,13 +5,15 @@ "none-installed": "No widgets found! Activate the widget essentials plugin in the plugins control panel.", "clone-from": "從小工具複製", "containers.available": "可用的容器", - "containers.explanation": "Drag and drop on top of any widget", + "containers.explanation": "拖放到小工具上", "containers.none": "無", "container.well": "Well", "container.jumbotron": "超大屏幕", "container.card": "Card", "container.card-header": "Card Header", "container.card-body": "Card Body", + "container.title": "標題", + "container.body": "內文", "container.alert": "警示", "alert.confirm-delete": "確認刪除此小工具?", @@ -30,6 +32,6 @@ "start-date": "Start date", "end-date": "End date", "hide-on-mobile": "在移動端隱藏", - "hide-drafts": "Hide drafts", - "show-drafts": "Show drafts" + "hide-drafts": "隱藏草稿", + "show-drafts": "顯示草稿" } \ No newline at end of file diff --git a/public/language/zh-TW/admin/manage/privileges.json b/public/language/zh-TW/admin/manage/privileges.json index 13934e8398..f6fbed0557 100644 --- a/public/language/zh-TW/admin/manage/privileges.json +++ b/public/language/zh-TW/admin/manage/privileges.json @@ -1,20 +1,20 @@ { - "manage-privileges": "Manage Privileges", - "discard-changes": "Discard changes", + "manage-privileges": "管理權限", + "discard-changes": "放棄變更", "global": "全域", "admin": "管理員", "group-privileges": "群組權限", "user-privileges": "使用者權限", - "edit-privileges": "Edit Privileges", - "select-clear-all": "Select/Clear All", + "edit-privileges": "編輯權限", + "select-clear-all": "選擇/清除 全部", "chat": "聊天", - "chat-with-privileged": "Chat with Privileged", + "chat-with-privileged": "以特權聊天", "upload-images": "上傳圖片", "upload-files": "上傳檔案", "signature": "簽名檔", "ban": "禁用", - "mute": "Mute", - "invite": "Invite", + "mute": "禁聲", + "invite": "邀請", "search-content": "搜尋內容", "search-users": "搜尋使用者", "search-tags": "搜尋標籤", @@ -29,7 +29,7 @@ "access-topics": "存取主題", "create-topics": "建立主題", "reply-to-topics": "回覆主題", - "schedule-topics": "Schedule Topics", + "schedule-topics": "預排的主題", "tag-topics": "新增標籤", "edit-posts": "修改回覆", "view-edit-history": "查看變更歷史", @@ -44,23 +44,23 @@ "admin-categories": "版面", "admin-privileges": "權限", "admin-users": "使用者", - "admin-admins-mods": "Admins & Mods", - "admin-groups": "Groups", - "admin-tags": "Tags", + "admin-admins-mods": "管理員 & 板主", + "admin-groups": "群組", + "admin-tags": "標簽", "admin-settings": "設定", - "alert.confirm-moderate": "Are you sure you wish to grant the moderation privilege to this user group? This group is public, and any users can join at will.", - "alert.confirm-admins-mods": "Are you sure you wish to grant the "Admins & Mods" privilege to this user/group? Users with this privilege are able to promote and demote other users into privileged positions, including super administrator", - "alert.confirm-save": "Please confirm your intention to save these privileges", - "alert.confirm-discard": "Are you sure you wish to discard your privilege changes?", - "alert.discarded": "Privilege changes discarded", - "alert.confirm-copyToAll": "Are you sure you wish to apply this set of %1 to all categories?", - "alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's set of %1 to all categories?", - "alert.confirm-copyToChildren": "Are you sure you wish to apply this set of %1 to all descendant (child) categories?", - "alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's set of %1 to all descendant (child) categories?", - "alert.no-undo": "This action cannot be undone.", - "alert.admin-warning": "Administrators implicitly get all privileges", - "alert.copyPrivilegesFrom-title": "Select a category to copy from", - "alert.copyPrivilegesFrom-warning": "This will copy %1 from the selected category.", - "alert.copyPrivilegesFromGroup-warning": "This will copy this group's set of %1 from the selected category." + "alert.confirm-moderate": "確定要將審核權給這群組嗎?此群組是公開且任何人都可隨意加入。", + "alert.confirm-admins-mods": "確定要將“管理員和版主”的權限給此用户/群組嗎?有此權限的用户能升降其他用户的權限位階,包括超級管理員", + "alert.confirm-save": "請確定您有意保存這些權限", + "alert.confirm-discard": "確定要取消對權限的更動嗎?", + "alert.discarded": "權限更動已廢止", + "alert.confirm-copyToAll": "確定要使用 %1 的設定到 全部分類嗎 ?", + "alert.confirm-copyToAllGroup": "確定要使用這群組的 %1 設定到 全部分類嗎 ?", + "alert.confirm-copyToChildren": "確定要使用 %1 的設定到 全部次階(子)分類嗎 ?", + "alert.confirm-copyToChildrenGroup": "確定要使用這群組的 %1 設定到 全部次階(子)分類嗎 ?", + "alert.no-undo": "此動作無法撤消。", + "alert.admin-warning": "管理員擁全部權限", + "alert.copyPrivilegesFrom-title": "選擇要拷貝的分類", + "alert.copyPrivilegesFrom-warning": "將從選定的分類拷貝 %1 。", + "alert.copyPrivilegesFromGroup-warning": "將從選定分類拷貝此群組的 %1 設定。" } \ No newline at end of file diff --git a/public/language/zh-TW/admin/manage/registration.json b/public/language/zh-TW/admin/manage/registration.json index 1ef5a5f23e..29f99fb9a9 100644 --- a/public/language/zh-TW/admin/manage/registration.json +++ b/public/language/zh-TW/admin/manage/registration.json @@ -1,6 +1,6 @@ { "queue": "申請", - "description": "註冊申請佇列裡面還沒有使用者申請。
要開啟這項功能,請去設定 → 使用者 → 使用者註冊 並設定註冊類型為“管理員批准”。", + "description": "註冊申請隊伍裡目前沒人排隊。
要開啟本功能,請前往設定 → 用戶 → 用戶註冊 並設定註冊類型為“管理員批准”。", "list.name": "姓名", "list.email": "郵件", diff --git a/public/language/zh-TW/admin/manage/tags.json b/public/language/zh-TW/admin/manage/tags.json index e7fac15d57..c662fcaa21 100644 --- a/public/language/zh-TW/admin/manage/tags.json +++ b/public/language/zh-TW/admin/manage/tags.json @@ -1,11 +1,11 @@ { - "manage-tags": "Manage Tags", + "manage-tags": "管理標籤", "none": "您的論壇目前沒有帶有標籤的主題。", "bg-color": "背景顏色", "text-color": "文字顏色", "description": "透過點擊或者拖拉方式選擇標籤, 可同時使用 CTRL 來選擇多個標籤。", "create": "建立標籤", - "add-tag": "Add tag", + "add-tag": "加入標籤", "modify": "修改標籤", "rename": "重命名標籤", "delete": "刪除所選標籤", @@ -16,5 +16,5 @@ "alerts.editing": "編輯(多個)標籤", "alerts.confirm-delete": "是否要刪除所選標籤?", "alerts.update-success": "標籤已更新!", - "reset-colors": "Reset colors" + "reset-colors": "重置顏色" } \ No newline at end of file diff --git a/public/language/zh-TW/admin/manage/users.json b/public/language/zh-TW/admin/manage/users.json index 103be7aad4..e5b141581e 100644 --- a/public/language/zh-TW/admin/manage/users.json +++ b/public/language/zh-TW/admin/manage/users.json @@ -1,36 +1,36 @@ { - "manage-users": "Manage Users", + "manage-users": "管理用户", "users": "使用者", - "edit": "Actions", + "edit": "操作", "make-admin": "設為管理員", "remove-admin": "撤銷管理員", - "change-email": "Change Email", - "new-email": "New Email", + "change-email": "更改電子信箱", + "new-email": "新 Email", "validate-email": "驗證電郵地址", "send-validation-email": "發送驗證郵件", - "change-password": "Change Password", + "change-password": "更改密碼", "password-reset-email": "發送密碼重設郵件", "force-password-reset": "強制密碼重設 & 登入使用者已退出", - "ban": "Ban", - "ban-users": "Ban User(s)", + "ban": "停權", + "ban-users": "停權用戶", "temp-ban": "暫時封鎖使用者", "unban": "解封使用者", "reset-lockout": "重設封鎖", "reset-flags": "重設舉報", - "delete": "Delete", - "delete-users": "Delete User(s)", - "delete-content": "Delete User(s) Content", - "purge": "Delete User(s) and Content", + "delete": "刪除", + "delete-users": "删除用户", + "delete-content": "刪除用戶 內容", + "purge": "刪除 用戶內容", "download-csv": "下載CSV", "manage-groups": "管理群組", - "set-reputation": "Set Reputation", + "set-reputation": "設立聲望", "add-group": "新增至群組", - "create": "Create User", - "invite": "Invite by Email", + "create": "新增用戶", + "invite": "透過 Email 邀請", "new": "新建使用者", - "filter-by": "Filter by", + "filter-by": "過濾依", "pills.unvalidated": "未驗證", - "pills.validated": "Validated", + "pills.validated": "已驗證", "pills.banned": "被封鎖", "50-per-page": "每頁50", @@ -55,11 +55,11 @@ "users.uid": "UID", "users.username": "使用者名", "users.email": "電子郵件", - "users.no-email": "(no email)", - "users.validated": "Validated", - "users.not-validated": "Not Validated", - "users.validation-pending": "Validation Pending", - "users.validation-expired": "Validation Expired", + "users.no-email": "(沒 email)", + "users.validated": "已驗證", + "users.not-validated": "未驗證", + "users.validation-pending": "等待驗證", + "users.validation-expired": "驗證過期", "users.ip": "IP", "users.postcount": "發文數", "users.reputation": "聲望", @@ -74,7 +74,7 @@ "create.password": "密碼", "create.password-confirm": "確認密碼", - "temp-ban.length": "Length", + "temp-ban.length": "多久", "temp-ban.reason": "理由(可選)", "temp-ban.hours": "小時", "temp-ban.days": "天", @@ -86,16 +86,16 @@ "alerts.button-ban-x": "停權 %1 名使用者", "alerts.unban-success": "使用者已復權!", "alerts.lockout-reset-success": "鎖定已重設!", - "alerts.password-change-success": "Password(s) changed!", + "alerts.password-change-success": "密碼已更改!", "alerts.flag-reset-success": "舉報已重設!", "alerts.no-remove-yourself-admin": "您無法撤銷自己的管理員身份!", "alerts.make-admin-success": "該使用者已成為管理員", "alerts.confirm-remove-admin": "您確定要刪除該管理員?", - "alerts.remove-admin-success": " 該使用者不再是管理員", - "alerts.make-global-mod-success": " 該使用者已成為管理員", + "alerts.remove-admin-success": "此用戶不再是管理員", + "alerts.make-global-mod-success": "此用戶現在是全域管理員", "alerts.confirm-remove-global-mod": "您確定要刪除該超級版主?", "alerts.remove-global-mod-success": "該使用者已不再是管理員", - "alerts.make-moderator-success": " 該使用者已成為管理員", + "alerts.make-moderator-success": "此用户已是版主。", "alerts.confirm-remove-moderator": "您確定要刪除該版主?", "alerts.remove-moderator-success": "該使用者已不再是管理員", "alerts.confirm-validate-email": "您確定要驗證這些使用者的電郵地址嗎?", @@ -103,49 +103,49 @@ "alerts.validate-email-success": "電郵地址已驗證", "alerts.validate-force-password-reset-success": "用戶密碼已經被重設,現存的會話已經被移除", "alerts.password-reset-confirm": "您確定要向這些使用者發送密碼重設郵件嗎?", - "alerts.password-reset-email-sent": "Password reset email sent.", - "alerts.confirm-delete": "Warning!

Do you really want to delete user(s)?

This action is not reversible! Only the user account will be deleted, their posts and topics will remain.

", + "alerts.password-reset-email-sent": "密碼重置郵件已發送。", + "alerts.confirm-delete": "警告!

確定删除這些用戶嗎?

此動作不可逆!用戶帳號會被刪除,但他們的貼文和文章會被保留。

", "alerts.delete-success": "使用者已刪除!", - "alerts.confirm-delete-content": "Warning!

Do you really want to delete these user(s) content?

This action is not reversible! The users' accounts will remain, but their posts and topics will be deleted.

", - "alerts.delete-content-success": "User(s) Content Deleted!", - "alerts.confirm-purge": "Warning!

Do you really want to delete user(s) and their content?

This action is not reversible! All user data and content will be erased!

", + "alerts.confirm-delete-content": "警告!

確定删除這些用戶的内容嗎?

此動作不可逆!雖會保留用戶帳號,但他們的貼文和文章會被删除。

", + "alerts.delete-content-success": "用戶内容已删除!", + "alerts.confirm-purge": "警告!

確定删除這些用戶和他們的内容嗎?

此動作不可逆!用戶資料和內容將全部删除。

", "alerts.create": "建立使用者", "alerts.button-create": "建立", "alerts.button-cancel": "取消", - "alerts.button-change": "Change", + "alerts.button-change": "更改", "alerts.error-passwords-different": "兩次輸入的密碼必須相同!", "alerts.error-x": "錯誤

%1

", "alerts.create-success": "使用者已建立!", "alerts.prompt-email": "電郵地址:", "alerts.email-sent-to": "已發送邀請給 %1", - "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", - "export": "Export", - "export-users-fields-title": "Select CSV Fields", - "export-field-email": "Email", - "export-field-username": "Username", + "alerts.x-users-found": "找到 %1 位用戶, (%2 秒)", + "alerts.select-a-single-user-to-change-email": "選一位用戶更改 eMail", + "export": "匯出", + "export-users-fields-title": "選擇 CSV 欄位", + "export-field-email": "電子信箱", + "export-field-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-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": "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-started": "匯出用戶清單成 csv, 可能需一點時間。完成時您會收到通知。", + "export-users-completed": "用戶清單被匯出成 CSV ,點這裏可以下載。", "email": "Email", - "password": "Password", - "manage": "Manage" + "password": "密碼", + "manage": "管理" } \ No newline at end of file diff --git a/public/language/zh-TW/admin/settings/navigation.json b/public/language/zh-TW/admin/settings/navigation.json index 3e0c51748a..14ed2c0d37 100644 --- a/public/language/zh-TW/admin/settings/navigation.json +++ b/public/language/zh-TW/admin/settings/navigation.json @@ -1,5 +1,5 @@ { - "navigation": "Navigation", + "navigation": "導覽", "icon": "圖示:", "change-icon": "更改", "route": "路徑:", @@ -10,10 +10,10 @@ "id": "ID:可選", "properties": "屬性:", - "show-to-groups": "Show to Groups:", + "show-to-groups": "對群組展示:", "open-new-window": "在新窗口中打開", - "dropdown": "Dropdown", - "dropdown-placeholder": "Place your dropdown menu items below, ie:
<li><a class="dropdown-item" href="https://myforum.com">Link 1</a></li>", + "dropdown": "下拉選單", + "dropdown-placeholder": "將您的下拉式選單放在下面 例如:
<li><a class="dropdown-item" href="https://myforum.com">Link 1</a></li>", "btn.delete": "刪除", "btn.disable": "禁用", diff --git a/public/language/zh-TW/admin/settings/post.json b/public/language/zh-TW/admin/settings/post.json index 7703c04881..e0845ee7e8 100644 --- a/public/language/zh-TW/admin/settings/post.json +++ b/public/language/zh-TW/admin/settings/post.json @@ -4,11 +4,11 @@ "sorting.post-default": "預設貼文排序", "sorting.oldest-to-newest": "從舊到新", "sorting.newest-to-oldest": "從新到舊", - "sorting.recently-replied": "Recently Replied", - "sorting.recently-created": "Recently Created", + "sorting.recently-replied": "最近回覆", + "sorting.recently-created": "最近建立", "sorting.most-votes": "最多點贊", "sorting.most-posts": "最多回覆", - "sorting.most-views": "Most Views", + "sorting.most-views": "最多觀看", "sorting.topic-default": "預設主題排序", "length": "貼文字數", "post-queue": "貼文隊列", diff --git a/public/language/zh-TW/admin/settings/reputation.json b/public/language/zh-TW/admin/settings/reputation.json index 09a78a7428..935408522e 100644 --- a/public/language/zh-TW/admin/settings/reputation.json +++ b/public/language/zh-TW/admin/settings/reputation.json @@ -2,7 +2,14 @@ "reputation": "聲望設定", "disable": "停用 聲望系統", "disable-down-voting": "停用 倒讚", - "votes-are-public": "公開所有讚", + "upvote-visibility": "點讚可見度", + "upvote-visibility-all": "大家都可看到點讚", + "upvote-visibility-loggedin": "只有登入的用戶可看到點讚", + "upvote-visibility-privileged": "只有授權用戶,例如管理員和版本才可看到點讚", + "downvote-visibility": "倒讚可見度", + "downvote-visibility-all": "大家都可看到倒讚", + "downvote-visibility-loggedin": "只有登入的用戶可看到倒讚", + "downvote-visibility-privileged": "只有授權用戶,例如管理員和版本才可看到倒讚", "thresholds": "操作限制", "min-rep-upvote": "Minimum reputation to upvote posts", "upvotes-per-day": "Upvotes per day (set to 0 for unlimited upvotes)", @@ -23,12 +30,12 @@ "flags.limit-per-target": "Maximum number of times something can be flagged", "flags.limit-per-target-placeholder": "Default: 0", "flags.limit-per-target-help": "When a post or user is flagged multiple times, each additional flag is considered a "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.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.limit-post-flags-per-day": "用户每日可檢舉貼文最多次數", + "flags.limit-post-flags-per-day-help": "0 為禁止, (預設: 10)", + "flags.limit-user-flags-per-day": "用户每日可檢舉其他用戶最多次數", + "flags.limit-user-flags-per-day-help": "0 為禁止, (預設: 10)", + "flags.auto-flag-on-downvote-threshold": "自動檢舉的被倒讚次數", + "flags.auto-flag-on-downvote-threshold-help": "0 為禁止, (預設: 10)", "flags.auto-resolve-on-ban": "Automatically resolve all of a user's tickets when they are banned", "flags.action-on-resolve": "Do the following when a flag is resolved", "flags.action-on-reject": "Do the following when a flag is rejected", diff --git a/public/language/zh-TW/admin/settings/user.json b/public/language/zh-TW/admin/settings/user.json index dd7a3695ae..8e938c3838 100644 --- a/public/language/zh-TW/admin/settings/user.json +++ b/public/language/zh-TW/admin/settings/user.json @@ -79,14 +79,14 @@ "follow-replied-topics": "關注您回覆的主題", "default-notification-settings": "預設通知設定", "categoryWatchState": "預設版面關注狀態", - "categoryWatchState.tracking": "Tracking", + "categoryWatchState.tracking": "跟踪", "categoryWatchState.notwatching": "未關注", "categoryWatchState.ignoring": "已忽略", - "restrictions-new": "New User Restrictions", - "restrictions.rep-threshold": "Reputation threshold before these restrictions are lifted", - "restrictions.seconds-between-new": "Seconds between posts for new users", - "restrictions.seconds-before-new": "Seconds before a new user can make their first post", - "restrictions.seconds-edit-after-new": "Number of seconds a post remains editable for new users (set to 0 to disable)", - "restrictions.milliseconds-between-messages": "Time between chat messages for new users (ms)", - "restrictions.groups-exempt-from-new-user-restrictions": "Select groups that should be exempt from the new user restrictions" + "restrictions-new": "新用户限制", + "restrictions.rep-threshold": "取消限制所需的聲望值", + "restrictions.seconds-between-new": "新用戶貼文間隔秒數", + "restrictions.seconds-before-new": "新用戶幾秒後可發第一篇文章", + "restrictions.seconds-edit-after-new": "新用戶在幾秒內可再編輯已發的貼文 (0 為關閉)", + "restrictions.milliseconds-between-messages": "新用戶的聊天訊息需間隔時間 (ms)", + "restrictions.groups-exempt-from-new-user-restrictions": "選擇有豁免新用戶限制的群組" } diff --git a/public/language/zh-TW/aria.json b/public/language/zh-TW/aria.json index 6f023dcae0..cef57d551b 100644 --- a/public/language/zh-TW/aria.json +++ b/public/language/zh-TW/aria.json @@ -1,8 +1,8 @@ { - "post-sort-option": "Post sort option, %1", - "topic-sort-option": "Topic sort option, %1", - "user-avatar-for": "User avatar for %1", - "user-watched-tags": "User watched tags", - "delete-upload-button": "Delete upload button", - "group-page-link-for": "Group page link for %1" + "post-sort-option": "貼文排序選項, %1", + "topic-sort-option": "話題排序選項, %1", + "user-avatar-for": "%1 的大頭照", + "user-watched-tags": "關注的標簽", + "delete-upload-button": "删除上傳按鈕", + "group-page-link-for": "%1 的群組頁面鏈結" } \ No newline at end of file diff --git a/public/language/zh-TW/category.json b/public/language/zh-TW/category.json index f9c6b075ac..e172e33048 100644 --- a/public/language/zh-TW/category.json +++ b/public/language/zh-TW/category.json @@ -10,15 +10,15 @@ "watch": "關注", "ignore": "忽略", "watching": "已關注", - "tracking": "Tracking", + "tracking": "追踪", "not-watching": "未關注", "ignoring": "已忽略", - "watching.description": "Notify me of new topics.
Show topics in unread & recent", - "tracking.description": "Shows topics in unread & recent", + "watching.description": "有新貼文時通知我。
顯示未讀及最新話題", + "tracking.description": "顯示未讀及最新話題", "not-watching.description": "不顯示未讀主題,顯示最近主題", - "ignoring.description": "Do not show topics in unread & recent", + "ignoring.description": "不顯示未讀及最新話題", "watching.message": "您關注了此版面和全部子版面的動態。", - "tracking.message": "You are now tracking updates from this category and all subcategories", + "tracking.message": "開始追蹤此類別及子分類的動態。", "notwatching.message": "您未關注了此版面和全部子版面的動態。", "ignoring.message": "您忽略了此版面和全部子版面的動態。", "watched-categories": "已關注的版面", diff --git a/public/language/zh-TW/error.json b/public/language/zh-TW/error.json index 9f3480df1b..f0c8f127bb 100644 --- a/public/language/zh-TW/error.json +++ b/public/language/zh-TW/error.json @@ -32,7 +32,7 @@ "folder-exists": "Folder exists", "invalid-pagination-value": "無效的分頁數,必須介於 %1 和 %2 之間", "username-taken": "此使用者名已被使用", - "email-taken": "Email address is already taken.", + "email-taken": "電子信箱已被使用。", "email-nochange": "The email entered is the same as the email already on file.", "email-invited": "Email was already invited", "email-not-confirmed": "Posting in some categories or topics is enabled once your email is confirmed, please click here to send a confirmation email.", @@ -63,7 +63,7 @@ "no-group": "群組不存在", "no-user": "使用者不存在", "no-teaser": "主題預覽不存在", - "no-flag": "Flag does not exist", + "no-flag": "檢舉標示不存在", "no-chat-room": "Chat room does not exist", "no-privileges": "您的權限不足以執行此操作。", "category-disabled": "版面已停用", @@ -91,7 +91,7 @@ "category-not-selected": "未選擇版面。", "too-many-posts": "貼文需要間隔 %1 秒以上 - 請稍候再發文", "too-many-posts-newbie": "因為您是新使用者,所以限制每隔 %1 秒才能發文一次,直到您有 %2 點聲望為止 —— 請稍候再發文", - "too-many-posts-newbie-minutes": "As a new user, you can only post once every %1 minute(s) until you have earned %2 reputation - please wait before posting again", + "too-many-posts-newbie-minutes": "新用户,有限制每隔 %1 分才能發文一次,直到您取得 %2 聲望 - 請稍後再發文", "already-posting": "You are already posting", "tag-too-short": "標籤太短,不能少於 %1 個字元", "tag-too-long": "標籤太長,不能超過 %1 個字元", @@ -153,6 +153,7 @@ "about-me-too-long": "抱歉,您的關於我不能超過 %1 個字元。", "cant-chat-with-yourself": "您不能和自己聊天!", "chat-restricted": "此使用者限制了他的聊天訊息。必須他先追隨您,您才能和他聊天。", + "chat-user-blocked": "您已被此用戶封鎖。", "chat-disabled": "聊天系統已關閉", "too-many-messages": "您發送了太多訊息,請稍等片刻。", "invalid-chat-message": "無效的聊天訊息", @@ -174,20 +175,20 @@ "not-enough-reputation-to-upvote": "You need %1 reputation to upvote", "not-enough-reputation-to-downvote": "You need %1 reputation to downvote", "not-enough-reputation-to-post-links": "You need %1 reputation to post links", - "not-enough-reputation-to-flag": "You need %1 reputation to flag this post", + "not-enough-reputation-to-flag": "您需要 %1 聲望才能檢舉此貼文", "not-enough-reputation-min-rep-website": "You need %1 reputation to add a website", "not-enough-reputation-min-rep-aboutme": "You need %1 reputation to add an about me", "not-enough-reputation-min-rep-signature": "You need %1 reputation to add a signature", "not-enough-reputation-min-rep-profile-picture": "You need %1 reputation to add a profile picture", "not-enough-reputation-min-rep-cover-picture": "You need %1 reputation to add a cover picture", - "post-already-flagged": "You have already flagged this post", - "user-already-flagged": "You have already flagged this user", - "post-flagged-too-many-times": "This post has been flagged by others already", - "user-flagged-too-many-times": "This user has been flagged by others already", - "too-many-post-flags-per-day": "You can only flag %1 post(s) per day", - "too-many-user-flags-per-day": "You can only flag %1 user(s) per day", - "cant-flag-privileged": "You are not allowed to flag the profiles or content of privileged users (moderators/global moderators/admins)", - "cant-locate-flag-report": "Cannot locate flag report", + "post-already-flagged": "您已檢舉過這貼文", + "user-already-flagged": "您已檢舉過這用戶", + "post-flagged-too-many-times": "此貼文已被其他人檢舉了", + "user-flagged-too-many-times": "此用戶已被其他人檢舉了", + "too-many-post-flags-per-day": "您每天只能檢舉 %1 個貼文", + "too-many-user-flags-per-day": "您每天只能檢舉 %1 個用戶", + "cant-flag-privileged": "您無法檢舉特權用戶 (版主/全域版主/管理員) 的個人檔案或貼文", + "cant-locate-flag-report": "無法認定檢舉報告", "self-vote": "您不能讚您自己的貼文", "too-many-upvotes-today": "You can only upvote %1 times a day", "too-many-upvotes-today-user": "You can only upvote a user %1 times a day", @@ -221,7 +222,7 @@ "already-unblocked": "此使用者已被取消封鎖", "no-connection": "您的網路連線似乎有問題", "socket-reconnect-failed": "Unable to reach the server at this time. Click here to try again, or try again later", - "invalid-plugin-id": "Invalid plugin ID", + "invalid-plugin-id": "無效的插件 ID", "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.", "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", diff --git a/public/language/zh-TW/flags.json b/public/language/zh-TW/flags.json index 090984504c..8d468bbcb0 100644 --- a/public/language/zh-TW/flags.json +++ b/public/language/zh-TW/flags.json @@ -1,6 +1,6 @@ { "state": "狀態", - "report": "Report", + "report": "提報", "reports": "Reports", "first-reported": "First Reported", "no-flags": "帥!沒發現任何的舉報。", @@ -9,8 +9,8 @@ "update": "更新", "updated": "已更新", "resolved": "Resolved", - "report-added": "Added", - "report-rescinded": "Rescinded", + "report-added": "已加入", + "report-rescinded": "已撤銷", "target-purged": "被舉報的內容已經被清除,不再可用。", "target-aboutme-empty": "This user has no "About Me" set.", @@ -90,6 +90,6 @@ "bulk-actions": "Bulk Actions", "bulk-resolve": "Resolve Flag(s)", "bulk-success": "%1 flags updated", - "flagged-timeago": "Flagged ", + "flagged-timeago": "標記 ", "auto-flagged": "[Auto Flagged] Received %1 downvotes." } \ No newline at end of file diff --git a/public/language/zh-TW/global.json b/public/language/zh-TW/global.json index 3d2ca4de71..faf3cb34df 100644 --- a/public/language/zh-TW/global.json +++ b/public/language/zh-TW/global.json @@ -24,15 +24,15 @@ "cancel": "Cancel", "close": "關閉", "pagination": "分頁", - "pagination.previouspage": "Previous Page", - "pagination.nextpage": "Next Page", - "pagination.firstpage": "First Page", - "pagination.lastpage": "Last Page", + "pagination.previouspage": "上一頁", + "pagination.nextpage": "下一頁", + "pagination.firstpage": "首頁", + "pagination.lastpage": "最後頁", "pagination.out-of": "%1 / %2", "pagination.enter-index": "Go to post index", - "pagination.go-to-page": "Go to page", - "pagination.page-x": "Page %1", - "header.brand-logo": "Brand Logo", + "pagination.go-to-page": "前往頁面", + "pagination.page-x": "第 %1 頁", + "header.brand-logo": "品牌標誌", "header.admin": "管理", "header.categories": "版面", "header.recent": "最新", @@ -140,12 +140,12 @@ "edited": "已編輯", "disabled": "停用", "select": "選擇", - "selected": "Selected", + "selected": "已選取", "copied": "Copied", "user-search-prompt": "輸入以搜尋使用者", "hidden": "Hidden", "sort": "Sort", "actions": "Actions", - "rss-feed": "RSS Feed", - "skip-to-content": "Skip to content" + "rss-feed": "RSS 飼料機", + "skip-to-content": "跳到內容" } \ No newline at end of file diff --git a/public/language/zh-TW/groups.json b/public/language/zh-TW/groups.json index 746fc7a7c6..edd9618c86 100644 --- a/public/language/zh-TW/groups.json +++ b/public/language/zh-TW/groups.json @@ -1,7 +1,7 @@ { - "all-groups": "All groups", + "all-groups": "全部群組", "groups": "群組", - "members": "Members", + "members": "成員", "view-group": "檢視群組", "owner": "群組所有者", "new-group": "新增群組", diff --git a/public/language/zh-TW/modules.json b/public/language/zh-TW/modules.json index a1ff97dea8..92b1136a1a 100644 --- a/public/language/zh-TW/modules.json +++ b/public/language/zh-TW/modules.json @@ -1,8 +1,9 @@ { "chat.room-id": "Room %1", "chat.chatting-with": "與聊天", - "chat.placeholder": "Type chat message here, drag & drop images, press enter to send", - "chat.placeholder.mobile": "Type chat message here", + "chat.placeholder": "在此輸入聊天訊息,拖放圖片", + "chat.placeholder.mobile": "輸入聊天訊息", + "chat.placeholder.message-room": "訊息 #%1", "chat.scroll-up-alert": "Go to most recent message", "chat.usernames-and-x-others": "%1 & %2 others", "chat.chat-with-usernames": "Chat with %1", @@ -68,8 +69,8 @@ "chat.in-room": "在此房間", "chat.kick": "踢出", "chat.show-ip": "顯示 IP", - "chat.copy-text": "Copy Text", - "chat.copy-link": "Copy Link", + "chat.copy-text": "複製本文", + "chat.copy-link": "複製鏈結", "chat.owner": "房間所有者", "chat.grant-rescind-ownership": "Grant/Rescind Ownership", "chat.system.user-join": "%1 has joined the room ", diff --git a/public/language/zh-TW/notifications.json b/public/language/zh-TW/notifications.json index a136577f77..69bd52afc3 100644 --- a/public/language/zh-TW/notifications.json +++ b/public/language/zh-TW/notifications.json @@ -13,14 +13,14 @@ "all": "所有", "topics": "主題", "tags": "Tags", - "categories": "Categories", + "categories": "分類", "replies": "回覆", "chat": "聊天", "group-chat": "Group Chats", "public-chat": "Public Chats", "follows": "關注", "upvote": "點讚", - "awards": "Awards", + "awards": "獎勵", "new-flags": "新舉報", "my-flags": "指派舉報給我", "bans": "停權", @@ -52,11 +52,11 @@ "user-posted-to-multiple": "%1, %2 and %3 others have posted replies to: %4", "user-posted-topic": "%1 發表了新主題:%2", "user-edited-post": "%1%2編輯了一則貼文", - "user-posted-topic-with-tag": "%1 has posted a new topic with tag %2", - "user-posted-topic-with-tag-dual": "%1 has posted a new topic with tags %2 and %3", - "user-posted-topic-with-tag-triple": "%1 has posted a new topic with tags %2, %3 and %4", - "user-posted-topic-with-tag-multiple": "%1 has posted a new topic with tags %2", - "user-posted-topic-in-category": "%1 has posted a new topic in %2", + "user-posted-topic-with-tag": "%1 發表了 %2 (被標記 %3)", + "user-posted-topic-with-tag-dual": "%1 發表了 %2 (被標記 %3 及 %4)", + "user-posted-topic-with-tag-triple": "%1 發表了 %2 (被標記 %3, %4 及 %5)", + "user-posted-topic-with-tag-multiple": "%1 發表了 %2 (被標記 %3)", + "user-posted-topic-in-category": "%1%2發表了新主題", "user-started-following-you": "%1追隨了您。", "user-started-following-you-dual": "%1%2 追隨了您。", "user-started-following-you-triple": "%1, %2 and %3 started following you.", @@ -75,6 +75,7 @@ "email-confirmed": "電子信箱已確認", "email-confirmed-message": "感謝您驗證您的電子信箱。您的帳戶現已完全啟用。", "email-confirm-error-message": "驗證的您電子信箱地址時出現了問題。可能是因為驗證碼無效或已過期。", + "email-confirm-error-message-already-validated": "你的電子信箱已驗証。", "email-confirm-sent": "確認郵件已發送。", "none": "不通知", "notification-only": "頁面提醒", @@ -83,7 +84,7 @@ "notificationType-upvote": "當有人點贊了我的貼文時", "notificationType-new-topic": "當有人回覆我的貼文時", "notificationType-new-topic-with-tag": "When a topic is posted with a tag you follow", - "notificationType-new-topic-in-category": "When a topic is posted in a category you are watching", + "notificationType-new-topic-in-category": "當您關注的類別有新貼文時", "notificationType-new-reply": "當您正在查看的主題中有新回覆時", "notificationType-post-edit": "當您關注中的主題有貼文被編輯時", "notificationType-follow": "當有人追隨您時", @@ -97,5 +98,5 @@ "notificationType-post-queue": "當有新貼文等待審核時", "notificationType-new-post-flag": "當有新的貼文舉報時", "notificationType-new-user-flag": "當有新的使用者資料舉報時", - "notificationType-new-reward": "When you earn a new reward" + "notificationType-new-reward": "當您得到新獎勵時" } \ No newline at end of file diff --git a/public/language/zh-TW/pages.json b/public/language/zh-TW/pages.json index 81d958d56e..beedba02a4 100644 --- a/public/language/zh-TW/pages.json +++ b/public/language/zh-TW/pages.json @@ -54,6 +54,7 @@ "account/settings-of": "Changing settings of %1", "account/watched": "主題已被 %1 關注", "account/ignored": "主題已被 %1 忽略", + "account/read": "Topics read by %1", "account/upvoted": "貼文被 %1 點贊", "account/downvoted": "貼文被 %1 倒讚", "account/best": "%1 發佈的最佳貼文", diff --git a/public/language/zh-TW/post-queue.json b/public/language/zh-TW/post-queue.json index f18668f641..60e3022954 100644 --- a/public/language/zh-TW/post-queue.json +++ b/public/language/zh-TW/post-queue.json @@ -3,10 +3,10 @@ "post-queue": "貼文隊列", "no-queued-posts": "There are no posts in the post queue.", "no-single-post": "The topic or post you are looking for is no longer in the queue. It has likely been approved or deleted already.", - "enabling-help": "The post queue is currently disabled. To enable this feature, go to Settings → Post → Post Queue and enable Post Queue.", + "enabling-help": "貼文排隊目前 被關閉。想開啟的話,請到 設定 → 貼文 → 貼文排隊 裏開啟 貼文排隊.", "back-to-list": "Back to Post Queue", - "public-intro": "If you have any queued posts, they will be shown here.", - "public-description": "This forum is configured to automatically queue posts from new accounts, pending moderator approval.
If you have queued posts awaiting approval, you will be able to see them here.", + "public-intro": "待發佈的貼文,會顯示在這裏。", + "public-description": "本板預設會將新帳號的貼文,待版主審核後自動依序發佈。
如果您有貼文等待發佈,將在這裏看到到。", "user": "使用者", "when": "When", "category": "版面", @@ -38,5 +38,6 @@ "remove-selected": "Remove Selected", "remove-selected-confirm": "Do you want to remove %1 selected posts?", "bulk-accept-success": "%1 posts accepted", - "bulk-reject-success": "%1 posts rejected" + "bulk-reject-success": "%1 posts rejected", + "links-in-this-post": "貼文裏的鏈結" } \ No newline at end of file diff --git a/public/language/zh-TW/register.json b/public/language/zh-TW/register.json index 0a33ffb183..d67436fdf1 100644 --- a/public/language/zh-TW/register.json +++ b/public/language/zh-TW/register.json @@ -1,6 +1,6 @@ { "register": "註冊", - "already-have-account": "Already have an account?", + "already-have-account": "已有帳號 ?", "cancel-registration": "取消註冊", "help.email": "預設情況下,您的電子信箱不會公開。", "help.username-restrictions": "全站唯一的登入名稱,長度 %1 到 %2 個字元。其他人可以使用 @使用者名 提及您。", @@ -19,15 +19,15 @@ "agree-to-terms-of-use": "我同意使用條款", "terms-of-use-error": "您必須同意使用條款", "registration-added-to-queue": "您的註冊正在等待批准。一旦通過,管理員會發送郵件通知您。", - "registration-queue-average-time": "Our average time for approving memberships is %1 hours %2 minutes.", - "registration-queue-auto-approve-time": "Your membership to this forum will be fully activated in up to %1 hours.", - "interstitial.intro": "We'd like some additional information in order to update your account…", - "interstitial.intro-new": "We'd like some additional information before we can create your account…", - "interstitial.errors-found": "Please review the entered information:", + "registration-queue-average-time": "我們的平均審核會籍約需 %1 小時 %2 分鐘。", + "registration-queue-auto-approve-time": "您在本論壇的會籍最晚會在 %1 小時內啟用。", + "interstitial.intro": "我們需要一些額外資訊才能更新您的帳號。", + "interstitial.intro-new": "我們需要一些額外資訊才能建立您的帳號。", + "interstitial.errors-found": "請檢視您輸入的資料:", "gdpr-agree-data": "我同意此網站對我個人資料的收集與處理。", "gdpr-agree-email": "我同意此網站向我發送摘要和通知郵件。", "gdpr-consent-denied": "您需要同意此網站收集與處理您的個人資料,以及向您發送電子郵件。", - "invite.error-admin-only": "Direct user registration has been disabled. Please contact an administrator for more details.", - "invite.error-invite-only": "Direct user registration has been disabled. You must be invited by an existing user in order to access this forum.", - "invite.error-invalid-data": "The registration data received does not correspond to our records. Please contact an administrator for more details" + "invite.error-admin-only": "直接用戶註冊已停用。詳情可詢問管理員。", + "invite.error-invite-only": "直接用戶註冊已停用。您必須經由會員的邀請才能存取本論壇。", + "invite.error-invalid-data": "註冊資料與記錄不符,詳情請連絡管理員。" } \ No newline at end of file diff --git a/public/language/zh-TW/rewards.json b/public/language/zh-TW/rewards.json index f923cf1500..2b6acc76a1 100644 --- a/public/language/zh-TW/rewards.json +++ b/public/language/zh-TW/rewards.json @@ -1,10 +1,10 @@ { - "awarded-x-reputation": "You have been awarded %1 reputation", - "awarded-group-membership": "You have been added to the group %1", + "awarded-x-reputation": "您已得到 %1 獎勵和聲望", + "awarded-group-membership": "您已被加入%1群", - "essentials/user.reputation-conditional-value": "(Reputation %1 %2)", - "essentials/user.postcount-conditional-value": "(Post Count %1 %2)", - "essentials/user.lastonline-conditional-value": "(Last Online %1 %2)", - "essentials/user.joindate-conditional-value": "(Join Date %1 %2)", - "essentials/user.daysregistered-conditional-value": "(Days Registered %1 %2)" + "essentials/user.reputation-conditional-value": "(聲望 %1 %2)", + "essentials/user.postcount-conditional-value": "(貼文數 %1 %2)", + "essentials/user.lastonline-conditional-value": "(最後上線於 %1 %2)", + "essentials/user.joindate-conditional-value": "(加入日期 %1 %2)", + "essentials/user.daysregistered-conditional-value": "(已註冊天數 %1 %2)" } \ No newline at end of file diff --git a/public/language/zh-TW/search.json b/public/language/zh-TW/search.json index 5e7b7c0395..3dd52234ec 100644 --- a/public/language/zh-TW/search.json +++ b/public/language/zh-TW/search.json @@ -1,42 +1,42 @@ { - "type-to-search": "Type to search", - "results-matching": "共 %1 條結果符合 \"%2\",(耗時 %3 秒)", + "type-to-search": "輸入搜尋", + "results-matching": "%1 個符合 \"%2\", (%3 秒)", "no-matches": "無符合的結果", "advanced-search": "進階搜尋", "in": "在", - "in-titles": "In titles", - "in-titles-posts": "In titles and posts", - "in-posts": "In posts", - "in-bookmarks": "In bookmarks", - "in-categories": "In categories", - "in-users": "In users", - "in-tags": "In tags", - "categories": "Categories", - "all-categories": "All categories", - "categories-x": "Categories: %1", - "categories-watched-categories": "Categories: Watched categories", - "type-a-category": "Type a category", - "tags": "Tags", - "tags-x": "Tags: %1", - "type-a-tag": "Type a tag", + "in-titles": "在標題", + "in-titles-posts": "在標題和貼文", + "in-posts": "在貼文", + "in-bookmarks": "在書簽", + "in-categories": "在分類", + "in-users": "在用戶", + "in-tags": "在標簽", + "categories": "分類", + "all-categories": "全部分類", + "categories-x": "分類: %1", + "categories-watched-categories": "分類: 關注的分類", + "type-a-category": "輸入分類", + "tags": "標簽", + "tags-x": "標簽: %1", + "type-a-tag": "輸入標簽", "match-words": "關鍵字匹配", - "match-all-words": "Match all words", - "match-any-word": "Match any word", + "match-all-words": "匹配全部文字", + "match-any-word": "匹配任意文字", "all": "所有", "any": "任何", "posted-by": "發表", - "posted-by-usernames": "Posted by: %1", - "type-a-username": "Type a username", + "posted-by-usernames": "張貼者: %1", + "type-a-username": "輸入用戶名", "search-child-categories": "搜索子版面", "has-tags": "有標籤", "reply-count": "回覆數", - "replies": "Replies", - "replies-atleast-count": "Replies: At least %1", - "replies-atmost-count": "Replies: At most %1", + "replies": "回覆", + "replies-atleast-count": "回覆:至少 %1", + "replies-atmost-count": "回覆:最多 %1", "at-least": "至少", "at-most": "至多", "relevance": "關聯性", - "time": "Time", + "time": "時間", "post-time": "貼文時間", "votes": "點贊數", "newer-than": "晚於", @@ -49,22 +49,22 @@ "three-months": "三個月", "six-months": "六個月", "one-year": "一年", - "time-newer-than-86400": "Time: Newer than yesterday", - "time-older-than-86400": "Time: Older than yesterday", - "time-newer-than-604800": "Time: Newer than one week", - "time-older-than-604800": "Time: Older than one week", - "time-newer-than-1209600": "Time: Newer than two weeks", - "time-older-than-1209600": "Time: Older than two weeks", - "time-newer-than-2592000": "Time: Newer than one month", - "time-older-than-2592000": "Time: Older than one month", - "time-newer-than-7776000": "Time: Newer than three months", - "time-older-than-7776000": "Time: Older than three months", - "time-newer-than-15552000": "Time: Newer than six months", - "time-older-than-15552000": "Time: Older than six months", - "time-newer-than-31104000": "Time: Newer than one year", - "time-older-than-31104000": "Time: Older than one year", - "sort-by": "排序", - "sort": "Sort", + "time-newer-than-86400": "時間: 比昨天新", + "time-older-than-86400": "時間: 比昨天早", + "time-newer-than-604800": "時間: 比一週新", + "time-older-than-604800": "時間: 比一週早", + "time-newer-than-1209600": "時間: 比二週新", + "time-older-than-1209600": "時間: 比二週早", + "time-newer-than-2592000": "時間: 比一個月新", + "time-older-than-2592000": "時間: 比一個月早", + "time-newer-than-7776000": "時間: 比三個月新", + "time-older-than-7776000": "時間: 比三個月早", + "time-newer-than-15552000": "時間: 比六個月新", + "time-older-than-15552000": "時間: 比六個月早", + "time-newer-than-31104000": "時間: 比一年新", + "time-older-than-31104000": "時間: 比一年早", + "sort-by": "排序依", + "sort": "排序", "last-reply-time": "最後回覆時間", "topic-title": "主題標題", "topic-votes": "主題點贊數", @@ -75,36 +75,36 @@ "category": "版面", "descending": "降冪排序", "ascending": "升冪排序", - "sort-by-relevance-desc": "Sort by: Relevance in descending order", - "sort-by-relevance-asc": "Sort by: Relevance in ascending order", - "sort-by-timestamp-desc": "Sort by: Post time in descending order", - "sort-by-timestamp-asc": "Sort by: Post time in ascending order", - "sort-by-votes-desc": "Sort by: Votes in descending order", - "sort-by-votes-asc": "Sort by: Votes in ascending order", - "sort-by-topic.lastposttime-desc": "Sort by: Last reply time in descending order", - "sort-by-topic.lastposttime-asc": "Sort by: Last reply time in ascending order", - "sort-by-topic.title-desc": "Sort by: Topic title in descending order", - "sort-by-topic.title-asc": "Sort by: Topic title in ascending order", - "sort-by-topic.postcount-desc": "Sort by: Number of replies in descending order", - "sort-by-topic.postcount-asc": "Sort by: Number of replies in ascending order", - "sort-by-topic.viewcount-desc": "Sort by: Number of views in descending order", - "sort-by-topic.viewcount-asc": "Sort by: Number of views in ascending order", - "sort-by-topic.votes-desc": "Sort by: Topic votes in descending order", - "sort-by-topic.votes-asc": "Sort by: Topic votes in ascending order", - "sort-by-topic.timestamp-desc": "Sort by: Topic start date in descending order", - "sort-by-topic.timestamp-asc": "Sort by: Topic start date in ascending order", - "sort-by-user.username-desc": "Sort by: Username in descending order", - "sort-by-user.username-asc": "Sort by: Username in ascending order", - "sort-by-category.name-desc": "Sort by: Category in descending order", - "sort-by-category.name-asc": "Sort by: Category in ascending order", - "save": "Save", + "sort-by-relevance-desc": "排序依: 相關性降序", + "sort-by-relevance-asc": "排序依: 相關性升序", + "sort-by-timestamp-desc": "排序依: 張貼時間降序", + "sort-by-timestamp-asc": "排序依: 張貼時間升序", + "sort-by-votes-desc": "排序依: 投票數降序", + "sort-by-votes-asc": "排序依: 投票數升序", + "sort-by-topic.lastposttime-desc": "排序依: 最新回覆時間降序", + "sort-by-topic.lastposttime-asc": "排序依: 最新回覆時間升序", + "sort-by-topic.title-desc": "排序依: 主題降序", + "sort-by-topic.title-asc": "排序依: 主題升序", + "sort-by-topic.postcount-desc": "排序依: 回覆數降序", + "sort-by-topic.postcount-asc": "排序依: 回覆數升序", + "sort-by-topic.viewcount-desc": "排序依: 點閱數降序", + "sort-by-topic.viewcount-asc": "排序依: 點閱數升序", + "sort-by-topic.votes-desc": "排序依: 主題票選數降序", + "sort-by-topic.votes-asc": "排序依: 主題票選數升序", + "sort-by-topic.timestamp-desc": "排序依: 主題發佈日期降序", + "sort-by-topic.timestamp-asc": "排序依: 主題發佈日期升序", + "sort-by-user.username-desc": "排序依: 用戶名降序", + "sort-by-user.username-asc": "排序依: 用戶名升序", + "sort-by-category.name-desc": "排序依: 分類降序", + "sort-by-category.name-asc": "排序依: 分類升序", + "save": "儲存", "save-preferences": "存為偏好設定", "clear-preferences": "清除偏好設定", "search-preferences-saved": "搜尋偏好設定已儲存", "search-preferences-cleared": "搜尋偏好設定已清除", "show-results-as": "結果顯示為", - "show-results-as-topics": "Show results as topics", - "show-results-as-posts": "Show results as posts", + "show-results-as-topics": "將結果顯示為主題", + "show-results-as-posts": "將結果顯示為貼文", "see-more-results": "查看更多結果 (%1)", - "search-in-category": "Search in \"%1\"" + "search-in-category": "在 \"%1\" 裏尋找" } \ No newline at end of file diff --git a/public/language/zh-TW/social.json b/public/language/zh-TW/social.json index a1bc7a254c..dc1efd7912 100644 --- a/public/language/zh-TW/social.json +++ b/public/language/zh-TW/social.json @@ -7,6 +7,6 @@ "sign-up-with-google": "以Google註冊", "log-in-with-facebook": "以Facebook登入", "continue-with-facebook": "以Facebook繼續使用", - "sign-in-with-linkedin": "Sign in with LinkedIn", - "sign-up-with-linkedin": "Sign up with LinkedIn" + "sign-in-with-linkedin": "以 LinkedIn 登入", + "sign-up-with-linkedin": "以 LinkedIn 註冊" } \ No newline at end of file diff --git a/public/language/zh-TW/tags.json b/public/language/zh-TW/tags.json index c14383aafb..bc21e19b4e 100644 --- a/public/language/zh-TW/tags.json +++ b/public/language/zh-TW/tags.json @@ -1,17 +1,17 @@ { - "all-tags": "All tags", + "all-tags": "全部標籤", "no-tag-topics": "此標籤還沒有主題貼文。", - "no-tags-found": "No tags found", + "no-tags-found": "没找到標籤", "tags": "標籤", - "enter-tags-here": "Enter tags, %1 - %2 characters.", + "enter-tags-here": "輸入標籤,限 %1 - %2 個字元。", "enter-tags-here-short": "輸入標籤...", "no-tags": "尚無標籤。", "select-tags": "選擇標籤", - "tag-whitelist": "Tag Whitelist", - "watching": "Watching", - "not-watching": "Not Watching", - "watching.description": "Notify me of new topics.", - "not-watching.description": "Do not notify me of new topics.", - "following-tag.message": "You will now be receiving notifications when somebody posts a topic with this tag.", - "not-following-tag.message": "You will not receive notifications when somebody posts a topic with this tag." + "tag-whitelist": "標籤白名單", + "watching": "關注中", + "not-watching": "未關注中", + "watching.description": "通知我新主題", + "not-watching.description": "不要通知我新主題", + "following-tag.message": "當有人張貼帶這標簽的主題時,您會收到通知。", + "not-following-tag.message": "當有人張貼帶這標簽的主題時,您不會收到通知。" } \ No newline at end of file diff --git a/public/language/zh-TW/themes/harmony.json b/public/language/zh-TW/themes/harmony.json index 4e75b9f716..bf12d4f6f0 100644 --- a/public/language/zh-TW/themes/harmony.json +++ b/public/language/zh-TW/themes/harmony.json @@ -3,17 +3,18 @@ "skins": "Skins", "collapse": "Collapse", "expand": "Expand", - "sidebar-toggle": "Sidebar Toggle", + "sidebar-toggle": "側欄切換", "login-register-to-search": "Login or register to search.", "settings.title": "Theme settings", "settings.enableQuickReply": "Enable quick reply", - "settings.enableBreadcrumbs": "Enable breadcrumbs", + "settings.enableBreadcrumbs": "在分類和話題頁顯示路徑導覽", + "settings.enableBreadcrumbs.why": "在大部份頁面裏有方便使用的路徑導覽。分類和話題頁裏都有回到母頁面的替代鏈結,您也可以關閉路徑導覽來減少雜亂感。", "settings.centerHeaderElements": "Center header elements", "settings.mobileTopicTeasers": "Show topic teasers on mobile", "settings.stickyToolbar": "Sticky toolbar", "settings.stickyToolbar.help": "The toolbar on topic and category pages will stick to the top of the page", "settings.autohideBottombar": "Auto hide bottom bar", "settings.autohideBottombar.help": "The bottom bar on mobile view will be hidden when the page is scrolled down", - "settings.openSidebars": "Open sidebars", + "settings.openSidebars": "打開側欄", "settings.chatModals": "Enable chat modals" } \ No newline at end of file diff --git a/public/language/zh-TW/topic.json b/public/language/zh-TW/topic.json index c78a0ab60d..7c673b6b45 100644 --- a/public/language/zh-TW/topic.json +++ b/public/language/zh-TW/topic.json @@ -15,14 +15,14 @@ "replies-to-this-post": "%1 條回覆", "one-reply-to-this-post": "1 條回覆", "last-reply-time": "最後回覆", - "reply-options": "Reply options", + "reply-options": "回覆選項", "reply-as-topic": "在新貼文中回覆", "guest-login-reply": "登入後回覆", "login-to-view": "🔒登入查看", "edit": "編輯", "delete": "刪除", - "delete-event": "Delete Event", - "delete-event-confirm": "Are you sure you want to delete this event?", + "delete-event": "刪除活動", + "delete-event-confirm": "確定要刪除此活動嗎?", "purge": "清除", "restore": "恢復", "move": "移動", @@ -33,47 +33,47 @@ "tools": "工具", "locked": "已鎖定", "pinned": "已置頂", - "pinned-with-expiry": "Pinned until %1", - "scheduled": "Scheduled", - "deleted": "Deleted", + "pinned-with-expiry": "置頂到 %1", + "scheduled": "已排程", + "deleted": "已刪除", "moved": "已移動", - "moved-from": "Moved from %1", - "copy-code": "Copy Code", + "moved-from": "移自 %1", + "copy-code": "拷貝原始碼", "copy-ip": "複製IP", "ban-ip": "禁用IP", "view-history": "編輯歷史", - "wrote-ago": "wrote ", - "wrote-on": "wrote on ", - "replied-to-user-ago": "replied to %3 ", - "replied-to-user-on": "replied to %3 on ", - "user-locked-topic-ago": "%1 locked this topic %2", - "user-locked-topic-on": "%1 locked this topic on %2", - "user-unlocked-topic-ago": "%1 unlocked this topic %2", - "user-unlocked-topic-on": "%1 unlocked this topic on %2", - "user-pinned-topic-ago": "%1 pinned this topic %2", - "user-pinned-topic-on": "%1 pinned this topic on %2", - "user-unpinned-topic-ago": "%1 unpinned this topic %2", - "user-unpinned-topic-on": "%1 unpinned this topic on %2", - "user-deleted-topic-ago": "%1 deleted this topic %2", - "user-deleted-topic-on": "%1 deleted this topic on %2", - "user-restored-topic-ago": "%1 restored this topic %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-on": "%1 moved this topic from %2 on %3", - "user-queued-post-ago": "%1 queued post for approval %3", - "user-queued-post-on": "%1 queued post for approval on %3", - "user-referenced-topic-ago": "%1 referenced this topic %3", - "user-referenced-topic-on": "%1 referenced this topic on %3", - "user-forked-topic-ago": "%1 forked this topic %3", - "user-forked-topic-on": "%1 forked this topic on %3", + "wrote-ago": "編寫 ", + "wrote-on": "寫於 ", + "replied-to-user-ago": "回覆 %3 ", + "replied-to-user-on": "回覆 %3", + "user-locked-topic-ago": "%1 鎖住了話題 %2", + "user-locked-topic-on": "%1 鎖住了在 %2 的話題", + "user-unlocked-topic-ago": "%1 解鎖了話題 %2", + "user-unlocked-topic-on": "%1 解鎖了在 %2 的話題", + "user-pinned-topic-ago": "%1 釘住了話題 %2", + "user-pinned-topic-on": "%1 釘住了在 %2 的話題", + "user-unpinned-topic-ago": "%1 拔釘了話題 %2", + "user-unpinned-topic-on": "%1 拔釘了在 %2 的話題", + "user-deleted-topic-ago": "%1 刪除了話題 %2", + "user-deleted-topic-on": "%1 刪除了在 %2 的話題", + "user-restored-topic-ago": "%1 回復了話題 %2", + "user-restored-topic-on": "%1 回復了在 %2 的話題", + "user-moved-topic-from-ago": "%1 移動話題來自 %2 %3", + "user-moved-topic-from-on": "%1 移動話題來自 %2 的 %3", + "user-queued-post-ago": "%1 排隊 等待審核貼文 %3", + "user-queued-post-on": "%1 排隊 等待審核在 %3 的貼文", + "user-referenced-topic-ago": "%1 引用 了話題 %3", + "user-referenced-topic-on": "%1 引用 了在 %3 的話題", + "user-forked-topic-ago": "%1 分支 了話題 %3", + "user-forked-topic-on": "%1 分支 了在 %3 的話題", "bookmark-instructions": "點擊閱讀本主題貼文中的最新回覆", - "flag-post": "Flag this post", - "flag-user": "Flag this user", - "already-flagged": "Already Flagged", - "view-flag-report": "View Flag Report", - "resolve-flag": "Resolve Flag", - "merged-message": "This topic has been merged into %2", - "forked-message": "This topic was forked from %2", + "flag-post": "檢舉此貼文", + "flag-user": "檢舉此用戶", + "already-flagged": "已檢舉", + "view-flag-report": "查看檢舉報告", + "resolve-flag": "處理檢舉", + "merged-message": "此話題已合併到 %2", + "forked-message": "此話題是從 %2 衍生而來", "deleted-message": "此主題已被刪除。只有擁有主題管理權限的使用者可以查看。", "following-topic.message": "當有人回覆此主題時,您會收到通知。", "not-following-topic.message": "您將在未讀主題列表中看到這個主題,但您不會在貼文被回覆時收到通知。", @@ -105,7 +105,7 @@ "thread-tools.change-owner": "更改所有者", "thread-tools.select-category": "選擇版面", "thread-tools.fork": "分割主題", - "thread-tools.tag": "Tag Topic", + "thread-tools.tag": "標注話題", "thread-tools.delete": "刪除主題", "thread-tools.delete-posts": "刪除回覆", "thread-tools.delete-confirm": "確定要刪除此主題嗎?", @@ -114,60 +114,60 @@ "thread-tools.purge": "清除主題", "thread-tools.purge-confirm": "確認清除此主題嗎?", "thread-tools.merge-topics": "合併主題", - "thread-tools.merge": "Merge Topic", - "topic-move-success": "This topic will be moved to \"%1\" shortly. Click here to undo.", - "topic-move-multiple-success": "These topics will be moved to \"%1\" shortly. Click here to undo.", - "topic-move-all-success": "All topics will be moved to \"%1\" shortly. Click here to undo.", - "topic-move-undone": "Topic move undone", - "topic-move-posts-success": "Posts will be moved shortly. Click here to undo.", - "topic-move-posts-undone": "Post move undone", + "thread-tools.merge": "合併話題", + "topic-move-success": "本話題將移到 \"1%\"。點擊這裏可取消。", + "topic-move-multiple-success": "這些話題將移到 \"1%\"。點擊這裏可取消。", + "topic-move-all-success": "全部話題將移到 \"1%\"。點擊這裏可取消。", + "topic-move-undone": "話題移動取消", + "topic-move-posts-success": "貼文將移走。點擊這裏可取消。", + "topic-move-posts-undone": "貼文移動取消", "post-delete-confirm": "您確定要刪除此回覆嗎?", "post-restore-confirm": "您確定要恢復此回覆嗎?", "post-purge-confirm": "您確定要清除此回覆嗎?", - "pin-modal-expiry": "Expiration Date", - "pin-modal-help": "You can optionally set an expiration date for the pinned topic(s) here. Alternatively, you can leave this field blank to have the topic stay pinned until it is manually unpinned.", + "pin-modal-expiry": "到期日", + "pin-modal-help": "您可在這裏設定置頂話題的有效日期,也可放著不動它直到被手動將置頂取消。", "load-categories": "正在載入版面", "confirm-move": "移動", "confirm-fork": "分割", "bookmark": "書籤", "bookmarks": "書籤", "bookmarks.has-no-bookmarks": "您還沒有加入任何書籤", - "copy-permalink": "Copy Permalink", + "copy-permalink": "拷貝固定鏈結", "loading-more-posts": "正在載入更多貼文", "move-topic": "移動主題", "move-topics": "移動主題", "move-post": "移動貼文", "post-moved": "回覆已移動!", "fork-topic": "分割主題", - "enter-new-topic-title": "Enter new topic title", - "fork-topic-instruction": "Click the posts you want to fork, enter a title for the new topic and click fork topic", - "fork-no-pids": "未選中貼文!", - "no-posts-selected": "No posts selected!", - "x-posts-selected": "%1 post(s) selected", - "x-posts-will-be-moved-to-y": "%1 post(s) will be moved to \"%2\"", + "enter-new-topic-title": "輸入新話題的標題", + "fork-topic-instruction": "點取你想建立分支的貼文,輸入標題後點擊標題分支。", + "fork-no-pids": "未選取貼文!", + "no-posts-selected": "未選取貼文!", + "x-posts-selected": "選取 %1 個貼文", + "x-posts-will-be-moved-to-y": "%1 個貼文將移到 \"%2\"", "fork-pid-count": "選擇了 %1 則貼文", "fork-success": "成功分割主題! 點這裡跳轉到分割後的主題。", "delete-posts-instruction": "點擊想要刪除/永久刪除的貼文", - "merge-topics-instruction": "Click the topics you want to merge or search for them", - "merge-topic-list-title": "List of topics to be merged", - "merge-options": "Merge options", - "merge-select-main-topic": "Select the main topic", - "merge-new-title-for-topic": "New title for topic", - "topic-id": "Topic ID", - "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", + "merge-topics-instruction": "點取您想合併或搜尋的話題", + "merge-topic-list-title": "即將合併的話題列表", + "merge-options": "合併選項", + "merge-select-main-topic": "選擇主話題", + "merge-new-title-for-topic": "話題的新標題", + "topic-id": "話題 ID", + "move-posts-instruction": "點取您想移動的貼文,然後輸入話題 ID 或直接到目標話題", + "move-topic-instruction": "選擇目標分類後點擊移動", "change-owner-instruction": "點擊您想轉移給其他使用者的貼文", "composer.title-placeholder": "在此輸入您主題的標題...", "composer.handle-placeholder": "在此輸入您的名稱/代稱", - "composer.hide": "Hide", + "composer.hide": "隱藏", "composer.discard": "撤銷", "composer.submit": "提交", - "composer.additional-options": "Additional Options", - "composer.post-later": "Post Later", - "composer.schedule": "Schedule", + "composer.additional-options": "其他選項", + "composer.post-later": "稍後再貼文", + "composer.schedule": "排程", "composer.replying-to": "正在回覆 %1", "composer.new-topic": "新主題", - "composer.editing-in": "Editing post in %1", + "composer.editing-in": "編輯在 %1 的貼文", "composer.uploading": "正在上傳...", "composer.thumb-url-label": "添加主題縮圖網址", "composer.thumb-title": "給此主題添加縮圖", @@ -182,11 +182,11 @@ "sort-by": "排序", "oldest-to-newest": "從舊到新", "newest-to-oldest": "從新到舊", - "recently-replied": "Recently Replied", - "recently-created": "Recently Created", + "recently-replied": "最近回覆", + "recently-created": "最近建立", "most-votes": "最多點贊", "most-posts": "回覆最多", - "most-views": "Most Views", + "most-views": "最多觀看", "stale.title": "接受建議並建立新主題?", "stale.warning": "您回覆的主題已經很古老了,是否發佈新主題並引用此主題的內容?", "stale.create": "建立新主題", @@ -197,24 +197,24 @@ "diffs.no-revisions-description": "該貼文已重新修改", "diffs.current-revision": "當前版本", "diffs.original-revision": "原始版本", - "diffs.restore": "Restore this revision", - "diffs.restore-description": "A new revision will be appended to this post's edit history after restoring.", - "diffs.post-restored": "Post successfully restored to earlier revision", - "diffs.delete": "Delete this revision", - "diffs.deleted": "Revision deleted", + "diffs.restore": "回復到這修訂版", + "diffs.restore-description": "在回復後,會在本貼文的編輯歷程加入新修訂版。", + "diffs.post-restored": "貼文已成功回復到早前的修訂版。", + "diffs.delete": "删除此修訂版", + "diffs.deleted": "修訂已删除", "timeago-later": "%1 後", "timeago-earlier": "%1 前", - "first-post": "First post", - "last-post": "Last post", - "go-to-my-next-post": "Go to my next post", - "no-more-next-post": "You don't have more posts in this topic", - "open-composer": "Open composer", - "post-quick-reply": "Quick reply", - "navigator.index": "Post %1 of %2", - "navigator.unread": "%1 unread", - "upvote-post": "Upvote post", - "downvote-post": "Downvote post", - "post-tools": "Post tools", - "unread-posts-link": "Unread posts link", - "thumb-image": "Topic thumbnail image" + "first-post": "第一個貼文", + "last-post": "最後的貼文", + "go-to-my-next-post": "到我的下個貼文", + "no-more-next-post": "您在這話題下已沒更多貼文了", + "open-composer": "開啟編輯器", + "post-quick-reply": "快速回覆", + "navigator.index": "貼文 %1 / %2", + "navigator.unread": "%1 未讀", + "upvote-post": "點讚貼文", + "downvote-post": "倒讚貼文", + "post-tools": "貼文工具", + "unread-posts-link": "未讀貼文鏈結", + "thumb-image": "主題縮圖" } \ No newline at end of file diff --git a/public/language/zh-TW/unread.json b/public/language/zh-TW/unread.json index 6c73ffb9de..62c4a4242f 100644 --- a/public/language/zh-TW/unread.json +++ b/public/language/zh-TW/unread.json @@ -3,7 +3,7 @@ "no-unread-topics": "沒有未讀主題。", "load-more": "載入更多", "mark-as-read": "標為已讀", - "mark-as-unread": "Mark as Unread", + "mark-as-unread": "標為未讀", "selected": "已選", "all": "全部", "all-categories": "全部版面", diff --git a/public/language/zh-TW/user.json b/public/language/zh-TW/user.json index 5a08fe71d9..3e4cbc668d 100644 --- a/public/language/zh-TW/user.json +++ b/public/language/zh-TW/user.json @@ -1,9 +1,9 @@ { - "user-menu": "User menu", + "user-menu": "用戶選單", "banned": "已停權", - "unbanned": "Unbanned", - "muted": "Muted", - "unmuted": "Unmuted", + "unbanned": "解除停權", + "muted": "禁聲", + "unmuted": "解除禁聲", "offline": "離線", "deleted": "已刪除", "username": "使用者名", @@ -13,15 +13,15 @@ "confirm-email": "確認電子信箱", "account-info": "帳戶訊息", "admin-actions-label": "管理行動", - "ban-account": "禁用帳戶", + "ban-account": "停權帳戶", "ban-account-confirm": "您確定要禁用此帳戶、嗎?", "unban-account": "解禁帳戶", - "mute-account": "Mute Account", - "unmute-account": "Unmute Account", + "mute-account": "禁聲帳號", + "unmute-account": "未禁聲帳號", "delete-account": "刪除帳戶", "delete-account-as-admin": "刪除 帳戶", "delete-content": "刪除帳戶 內容", - "delete-all": "Delete Account and Content", + "delete-all": "刪除 帳號內容", "delete-account-confirm": "Are you sure you want to anonymize your posts and delete your account?
This action is irreversible and you will not be able to recover any of your data

Enter your password to confirm that you wish to destroy this account.", "delete-this-account-confirm": "Are you sure you want to delete this account while leaving its contents behind?
This action is irreversible, posts will be anonymized, and you will not be able to restore post associations with the deleted account

", "delete-account-content-confirm": "Are you sure you want to delete this account's content (posts/topics/uploads)?
This action is irreversible and you will not be able to recover any data

", @@ -39,15 +39,16 @@ "reputation": "聲望", "bookmarks": "書籤", "watched-categories": "已關注的版面", - "watched-tags": "Watched tags", + "watched-tags": "關注的標簽", "change-all": "全部更改", "watched": "已關注", "ignored": "已忽略", + "read": "Read", "default-category-watch-state": "預設版面關注狀態", "followers": "追隨者", "following": "追隨", "blocks": "屏蔽", - "blocked-users": "Blocked users", + "blocked-users": "被封鎖的用戶", "block-toggle": "封鎖該使用者", "block-user": "封鎖使用者", "unblock-user": "解封使用者", @@ -65,7 +66,7 @@ "change-picture": "更改頭像", "change-username": "更改帳戶", "change-email": "更改電子信箱", - "email-updated": "Email Updated", + "email-updated": "電子信箱已更新", "email-same-as-password": "請輸入您當前的密碼以繼續 –您已經再次輸入了您的新電子信箱", "edit": "編輯", "edit-profile": "編輯個人檔案", @@ -74,10 +75,11 @@ "upload-new-picture": "上傳新頭像", "upload-new-picture-from-url": "上傳來自URL的新頭像", "current-password": "當前密碼", - "new-password": "New Password", + "new-password": "新密碼", "change-password": "更改密碼", "change-password-error": "無效的密碼!", "change-password-error-wrong-current": "您的當前密碼不正確!", + "change-password-error-same-password": "新密碼和原來的一樣,拜託想個新的。", "change-password-error-match": "兩次輸入的密碼必須相同!", "change-password-error-privileges": "您無權更改此密碼。", "change-password-success": "您的密碼已更新!", @@ -94,7 +96,7 @@ "remove-cover-picture-confirm": "您確定要移除封面圖片嗎?", "crop-picture": "剪裁圖片", "upload-cropped-picture": "剪裁併上傳", - "avatar-background-colour": "Avatar background colour", + "avatar-background-colour": "化身背景色", "settings": "設定", "show-email": "顯示我的電子信箱", "show-fullname": "顯示我的全名", @@ -104,29 +106,30 @@ "digest-off": "關閉", "digest-daily": "每天", "digest-weekly": "每週", - "digest-biweekly": "Bi-Weekly", + "digest-biweekly": "雙週", "digest-monthly": "每月", "has-no-follower": "此使用者還沒有追隨者 :(", "follows-no-one": "此使用者尚未追隨任何人 :(", "has-no-posts": "此使用者從未發文。", - "has-no-best-posts": "This user does not have any upvoted posts yet.", + "has-no-best-posts": "此用戶還沒有被點贊過的貼文。", "has-no-topics": "此使用者還未發佈任何主題。", "has-no-watched-topics": "此使用者還未關注任何主題。", "has-no-ignored-topics": "此使用者尚未忽略任何主題。", + "has-no-read-topics": "This user hasn't read any topics yet.", "has-no-upvoted-posts": "此使用者還未點贊過任何貼文。", "has-no-downvoted-posts": "此使用者還未倒讚過任何貼文。", - "has-no-controversial-posts": "This user does not have any downvoted posts yet.", + "has-no-controversial-posts": "此用戶還沒有被倒贊過的貼文。", "has-no-blocks": "您沒有封鎖其他使用者。", "email-hidden": "電子信箱已隱藏", "hidden": "隱藏", "paginate-description": "使用分頁式版面瀏覽", "topics-per-page": "每頁主題數", "posts-per-page": "每頁貼文數", - "category-topic-sort": "Category topic sort", - "topic-post-sort": "Topic post sort", + "category-topic-sort": "分類主題排序", + "topic-post-sort": "主題貼文排序", "max-items-per-page": "最大值 %1", "acp-language": "控制台頁面語言", - "notifications": "Notifications", + "notifications": "提醒", "upvote-notif-freq": "貼文被讚的通知頻率", "upvote-notif-freq.all": "每一次被讚都通知我", "upvote-notif-freq.first": "首次點贊貼文", @@ -138,20 +141,20 @@ "open-links-in-new-tab": "在新頁籤打開外部連結", "enable-topic-searching": "啟用主題內搜索", "topic-search-help": "如果啟用此項,主題內搜索會替代瀏覽器預設的頁面搜索,您將可以在整個主題內搜索,而不僅僅只搜索頁面上展現的內容。", - "update-url-with-post-index": "Update url with post index while browsing topics", + "update-url-with-post-index": "瀏覽主題更新貼文索引裏的 URL", "scroll-to-my-post": "在提交回覆之後顯示新回覆", "follow-topics-you-reply-to": "關注您回覆過的主題", "follow-topics-you-create": "關注您建立的主題", "grouptitle": "群組稱號", "group-order-help": "選擇群組然後使用箭頭排列稱號", - "show-group-title": "Show group title", - "hide-group-title": "Hide group title", - "order-group-up": "Order group up", - "order-group-down": "Order group down", + "show-group-title": "顯示群組名", + "hide-group-title": "隱藏群組名", + "order-group-up": "群組上移", + "order-group-down": "群組下移", "no-group-title": "不顯示群組稱號", "select-skin": "選擇配色", - "default": "Default (%1)", - "no-skin": "No Skin", + "default": "預設 (%1)", + "no-skin": "未使用主題設計", "select-homepage": "選擇首頁", "homepage": "首頁", "homepage-description": "選擇一個頁面作為論壇的首頁,否則設置為 ‘空’ 使用預設首頁。", @@ -164,32 +167,32 @@ "sso.dissociate-confirm-title": "確認解除關聯", "sso.dissociate-confirm": "您確定要將您的帳戶與 %1 解除關聯嗎?", "info.latest-flags": "最新舉報", - "info.profile": "Profile", - "info.post": "Post", - "info.view-flag": "View flag", - "info.reported-by": "Reported by:", + "info.profile": "個人檔案", + "info.post": "貼文", + "info.view-flag": "查看旗標", + "info.reported-by": "發佈自:", "info.no-flags": "沒有找到被舉報的貼文", "info.ban-history": "最近停權紀錄", "info.no-ban-history": "該使用者從未被停權", "info.banned-until": "停權直到 %1", "info.banned-expiry": "過期", - "info.ban-expired": "Ban expired", + "info.ban-expired": "停權到期", "info.banned-permanently": "永久禁用", "info.banned-reason-label": "原因", "info.banned-no-reason": "沒有原因", - "info.mute-history": "Recent Mute History", - "info.no-mute-history": "This user has never been muted", - "info.muted-until": "Muted until %1", - "info.muted-expiry": "Expiry", - "info.muted-no-reason": "No reason given.", + "info.mute-history": "近期禁聲歷史", + "info.no-mute-history": "本用戶未曾被禁聲過", + "info.muted-until": "禁聲到 %1", + "info.muted-expiry": "到期", + "info.muted-no-reason": "沒說明原因。", "info.username-history": "用過的使用者名", "info.email-history": "用過的電子信箱", "info.moderation-note": "版主備註", "info.moderation-note.success": "版主備註已儲存", "info.moderation-note.add": "新增備註", - "sessions.description": "此頁面允許您查看當前論壇的所有當前的會話(active session),並在需要的時候關閉它們.您可以通過登出您的帳戶來關閉自己的會話(session)", - "revoke-session": "Revoke Session", - "browser-version-on-platform": "%1 %2 on %3", + "sessions.description": "本頁面允許您查看本論壇內任何活躍中的對話,必要時也能禁止。您可以通過登出帳戶來關閉自己的對話。", + "revoke-session": "撤回對話", + "browser-version-on-platform": "%1 %2 在 %3", "consent.title": "您的權利與許可", "consent.lead": "本論壇將會收集與處理您的個人資料。", "consent.intro": "我們收集這些資料將僅用於個人化您於本社區的體驗,和關聯您的帳戶與您所發表的貼文。在註冊過程中您需要提供一個使用者名和信箱地址,您也可以選擇是否提供額外的個人資料,以完善您的使用者檔案。

在您的帳戶有效期內,我們將保留您的資料。您可以在任何時候通過刪除您的帳戶,以撤回您的許可。您可以在任何時候通過您的權力與許可頁面,獲取一份您對本論壇的貢獻的副本。

如果您有任何疑問,我們鼓勵您與本論壇管理團隊聯繫。", @@ -215,8 +218,8 @@ "consent.export-posts-success": "Exporting posts, you will get a notification when it is complete.", "emailUpdate.intro": "Please enter your email address below. This forum uses your email address for scheduled digest and notifications, as well as for account recovery in the event of a lost password.", "emailUpdate.optional": "This field is optional. You are not obligated to provide your email address, but without a validated email you will not be able to recover your account or login with your email.", - "emailUpdate.required": "This field is required.", + "emailUpdate.required": "此欄是必需的.", "emailUpdate.change-instructions": "A confirmation email will be sent to the entered email address with a unique link. Accessing that link will confirm your ownership of the email address and it will become active on your account. At any time, you are able to update your email on file from within your account page.", - "emailUpdate.password-challenge": "Please enter your password in order to verify account ownership.", + "emailUpdate.password-challenge": "請輸入密碼來驗証帳號使用權。", "emailUpdate.pending": "Your email address has not yet been confirmed, but an email has been sent out requesting confirmation. If you wish to invalidate that request and send a new confirmation request, please fill in the form below." } \ No newline at end of file diff --git a/public/language/zh-TW/users.json b/public/language/zh-TW/users.json index 32f803ff9f..7d15cbe64d 100644 --- a/public/language/zh-TW/users.json +++ b/public/language/zh-TW/users.json @@ -1,5 +1,6 @@ { "all-users": "All Users", + "followed-users": "追隨者", "latest-users": "最新使用者", "top-posters": "發文排行", "most-reputation": "聲望排行", diff --git a/public/openapi/components/schemas/UserObject.yaml b/public/openapi/components/schemas/UserObject.yaml index b258ea123d..d86cecbaca 100644 --- a/public/openapi/components/schemas/UserObject.yaml +++ b/public/openapi/components/schemas/UserObject.yaml @@ -387,38 +387,24 @@ UserObjectFull: counts: type: object properties: - best: - type: number - controversial: - type: number blocks: type: number - bookmarks: - type: number categoriesWatched: type: number tagsWatched: type: number - downvoted: - type: number followers: type: number following: type: number groups: type: number - ignored: - type: number posts: type: number topics: type: number uploaded: type: number - upvoted: - type: number - watched: - type: number isBlocked: type: boolean blocksCount: diff --git a/public/openapi/read.yaml b/public/openapi/read.yaml index 7c4e1f9e97..427026ecf8 100644 --- a/public/openapi/read.yaml +++ b/public/openapi/read.yaml @@ -282,6 +282,8 @@ paths: $ref: 'read/user/userslug/watched.yaml' "/api/user/{userslug}/ignored": $ref: 'read/user/userslug/ignored.yaml' + "/api/user/{userslug}/read": + $ref: 'read/user/userslug/read.yaml' "/api/user/{userslug}/upvoted": $ref: 'read/user/userslug/upvoted.yaml' "/api/user/{userslug}/downvoted": diff --git a/public/openapi/read/admin/extend/plugins.yaml b/public/openapi/read/admin/extend/plugins.yaml index cd36a779fa..5c1148a06f 100644 --- a/public/openapi/read/admin/extend/plugins.yaml +++ b/public/openapi/read/admin/extend/plugins.yaml @@ -68,8 +68,122 @@ get: - outdated installedCount: type: number + active: + type: array + items: + type: object + properties: + latest: + type: string + description: + type: string + name: + type: string + updated: + type: string + url: + type: string + numInstalls: + type: number + isCompatible: + type: boolean + id: + type: string + installed: + type: boolean + active: + type: boolean + isTheme: + type: boolean + error: + type: boolean + version: + type: string + license: + type: object + properties: + name: + type: string + text: + type: string + nullable: true + downloads: + type: number + outdated: + type: boolean + settingsRoute: + type: string + required: + - latest + - description + - name + - id + - installed + - active + - isTheme + - error + - version + - license + - outdated activeCount: type: number + inactive: + type: array + items: + type: object + properties: + latest: + type: string + description: + type: string + name: + type: string + updated: + type: string + url: + type: string + numInstalls: + type: number + isCompatible: + type: boolean + id: + type: string + installed: + type: boolean + active: + type: boolean + isTheme: + type: boolean + error: + type: boolean + version: + type: string + license: + type: object + properties: + name: + type: string + text: + type: string + nullable: true + downloads: + type: number + outdated: + type: boolean + settingsRoute: + type: string + required: + - latest + - description + - name + - id + - installed + - active + - isTheme + - error + - version + - license + - outdated inactiveCount: type: number canChangeState: @@ -111,6 +225,41 @@ get: - id - installed - active + upgrade: + type: array + items: + type: object + properties: + name: + type: string + updated: + type: string + description: + type: string + latest: + type: string + url: + type: string + numInstalls: + type: number + isCompatible: + type: boolean + id: + type: string + installed: + type: boolean + active: + type: boolean + required: + - name + - updated + - latest + - url + - numInstalls + - isCompatible + - id + - installed + - active incompatible: type: array items: diff --git a/public/openapi/read/confirm/code.yaml b/public/openapi/read/confirm/code.yaml index 9d55b016c1..9677cb1a66 100644 --- a/public/openapi/read/confirm/code.yaml +++ b/public/openapi/read/confirm/code.yaml @@ -24,6 +24,9 @@ get: error: type: string description: Translation key for client-side localisation + alreadyValidated: + type: boolean + description: set to true if the email was already validated required: - title - $ref: ../../components/schemas/CommonProps.yaml#/CommonProps \ No newline at end of file diff --git a/public/openapi/read/user/userslug/read.yaml b/public/openapi/read/user/userslug/read.yaml new file mode 100644 index 0000000000..5a1cdc8428 --- /dev/null +++ b/public/openapi/read/user/userslug/read.yaml @@ -0,0 +1,47 @@ +get: + tags: + - users + summary: Get a user's read topics + parameters: + - name: userslug + in: path + required: true + schema: + type: string + example: admin + responses: + "200": + description: "" + content: + application/json: + schema: + allOf: + - $ref: ../../../components/schemas/UserObject.yaml#/UserObjectFull + - type: object + properties: + topics: + type: array + items: + $ref: ../../../components/schemas/TopicObject.yaml#/TopicObject + nextStart: + type: number + noItemsFoundKey: + type: string + title: + type: string + showSort: + type: boolean + sortOptions: + type: array + items: + type: object + properties: + url: + type: string + name: + type: string + selected: + type: boolean + - $ref: ../../../components/schemas/Pagination.yaml#/Pagination + - $ref: ../../../components/schemas/Breadcrumbs.yaml#/Breadcrumbs + - $ref: ../../../components/schemas/CommonProps.yaml#/CommonProps \ No newline at end of file diff --git a/public/openapi/write.yaml b/public/openapi/write.yaml index c59b9bce29..29f31a9f62 100644 --- a/public/openapi/write.yaml +++ b/public/openapi/write.yaml @@ -164,6 +164,8 @@ paths: $ref: 'write/topics/tid/read.yaml' /topics/{tid}/bump: $ref: 'write/topics/tid/bump.yaml' + /topics/{tid}/move: + $ref: 'write/topics/tid/move.yaml' /tags/{tag}/follow: $ref: 'write/tags/tag/follow.yaml' /posts/{pid}: diff --git a/public/openapi/write/topics/tid/move.yaml b/public/openapi/write/topics/tid/move.yaml new file mode 100644 index 0000000000..6c8dedc11a --- /dev/null +++ b/public/openapi/write/topics/tid/move.yaml @@ -0,0 +1,29 @@ +put: + tags: + - topics + summary: move topic to another category + description: | + This operation moved a topic from one category to another. + + **Note**: This is a privileged call and can only be executed by administrators, global moderators, or the moderator for the category of the passed-in topic. + parameters: + - in: path + name: tid + schema: + type: string + required: true + description: a valid topic id + example: 1 + responses: + '200': + description: Topic successfully moved + content: + application/json: + schema: + type: object + properties: + status: + $ref: ../../../components/schemas/Status.yaml#/Status + response: + type: object + properties: {} \ No newline at end of file diff --git a/public/openapi/write/users/uid/password.yaml b/public/openapi/write/users/uid/password.yaml index 1a52f85e53..7d1dc2e938 100644 --- a/public/openapi/write/users/uid/password.yaml +++ b/public/openapi/write/users/uid/password.yaml @@ -23,7 +23,7 @@ put: example: '123456' newPassword: type: string - example: '123456' + example: '654321' required: - newPassword responses: diff --git a/public/scss/admin/admin.scss b/public/scss/admin/admin.scss index 2d9295d128..a07f7779ee 100644 --- a/public/scss/admin/admin.scss +++ b/public/scss/admin/admin.scss @@ -153,11 +153,13 @@ body { } } -.dropdown-left .dropdown-menu { - --bs-position: start; +.dropdown-left { + [component="category-selector-search"] { left:0!important; } + .dropdown-menu { --bs-position: start; } } -.dropdown-right .dropdown-menu { - --bs-position: end; +.dropdown-right { + [component="category-selector-search"] { right:0!important; } + .dropdown-menu { --bs-position: end; } } [component="category-selector"] { diff --git a/public/scss/admin/common.scss b/public/scss/admin/common.scss index 945c5b89e3..81e74f3289 100644 --- a/public/scss/admin/common.scss +++ b/public/scss/admin/common.scss @@ -13,43 +13,19 @@ .tracking-tight { letter-spacing: -0.02em; } -@mixin btn-ghost-base { - display: flex; - align-items: center; - justify-content: center; - gap: ($spacer * 0.5); - border-radius: $border-radius-sm; - border-width: 1px; - border-color: transparent; - background-color: transparent; - padding: ($spacer * 0.25) ($spacer * 0.5); - text-align: left; - --bs-text-opacity: 1; - color: $btn-ghost-color; - font-family: $font-family-secondary; - cursor: pointer; - &:hover, &.active { - background-color: $btn-ghost-hover-color; - text-decoration: none; - } -} - +// https://getbootstrap.com/docs/5.3/components/buttons/#variables .btn-ghost { - @include btn-ghost-base(); - line-height: 1.5rem; - > i { - line-height: 1.5rem; - } + --bs-btn-color: #{$btn-ghost-color}; + --bs-btn-bg: transparent; + --bs-btn-border-color: transparent; + --bs-btn-box-shadow: none; + --bs-btn-hover-color: #{$btn-ghost-color}; + --bs-btn-hover-bg: #{$btn-ghost-hover-color}; + --bs-btn-hover-border-color: #{$btn-ghost-hover-color}; + --bs-btn-active-bg: #{$btn-ghost-hover-color}; + --bs-btn-active-border-color: transparent; } -.btn-ghost-sm { - @include btn-ghost-base(); - font-size: 0.875rem; - line-height: 1.25rem; - > i { - line-height: 1.25rem; - } -} @include color-mode(dark) { .btn-light { @@ -58,10 +34,11 @@ .text-bg-light { @extend .text-bg-dark; } - .btn-ghost, .btn-ghost-sm { + .btn-ghost { color: $btn-ghost-color-dark; &:hover, &.active { background-color: $btn-ghost-hover-color-dark; + border-color: $btn-ghost-hover-color-dark; } } } diff --git a/public/scss/admin/sidebar.scss b/public/scss/admin/sidebar.scss index 0a354fdd6c..0ca0d252d0 100644 --- a/public/scss/admin/sidebar.scss +++ b/public/scss/admin/sidebar.scss @@ -1,12 +1,12 @@ #sidebar-left, #offcanvas { - .btn-ghost, .btn-ghost-sm { + .btn-ghost { i { color: $gray-500; } } .accordion-body { - .btn-ghost-sm { + .btn-ghost.btn-sm { padding-left: 38px!important; } } diff --git a/public/scss/btn-ghost.scss b/public/scss/btn-ghost.scss index 80b819171a..6f69b8cddc 100644 --- a/public/scss/btn-ghost.scss +++ b/public/scss/btn-ghost.scss @@ -12,40 +12,15 @@ $btn-ghost-active-color-dark: lighten($btn-ghost-hover-color-dark, 5%)!default; --btn-ghost-active-color: #{$btn-ghost-active-color-dark}; } -@mixin btn-ghost-base { - display: flex; - align-items: center; - justify-content: center; - gap: ($spacer * 0.5); - border-radius: $border-radius-sm; - border-width: 1px; - border-color: transparent; - background-color: transparent; - box-shadow: none; - padding: ($spacer * 0.25) ($spacer * 0.5); - text-align: left; - --bs-text-opacity: 1; - color: inherit !important; - cursor: pointer; - &:hover, &.active { - background-color: var(--btn-ghost-hover-color); - text-decoration: none; - } -} - +// https://getbootstrap.com/docs/5.3/components/buttons/#variables .btn-ghost { - @include btn-ghost-base(); - line-height: 1.5rem; - > i { - line-height: 1.5rem; - } -} - -.btn-ghost-sm { - @include btn-ghost-base(); - font-size: 0.875rem; - line-height: 1.25rem; - > i { - line-height: 1.25rem; - } + --bs-btn-color: inherit!important; + --bs-btn-bg: transparent; + --bs-btn-border-color: transparent; + --bs-btn-box-shadow: none; + --bs-btn-hover-color: inherit; + --bs-btn-hover-bg: #{$btn-ghost-hover-color}; + --bs-btn-hover-border-color: #{$btn-ghost-hover-color}; + --bs-btn-active-bg: #{$btn-ghost-hover-color}; + --bs-btn-active-border-color: transparent; } \ No newline at end of file diff --git a/public/scss/generics.scss b/public/scss/generics.scss index 3b28362c71..c44f0e2caa 100644 --- a/public/scss/generics.scss +++ b/public/scss/generics.scss @@ -23,11 +23,13 @@ display: block; } } -.dropdown-left .dropdown-menu { - --bs-position: start; +.dropdown-left { + [component="category-selector-search"] { left:0!important; } + .dropdown-menu { --bs-position: start; } } -.dropdown-right .dropdown-menu { - --bs-position: end; +.dropdown-right { + [component="category-selector-search"] { right:0!important; } + .dropdown-menu { --bs-position: end; } } .category-dropdown-menu { diff --git a/public/scss/global.scss b/public/scss/global.scss index ab7d569242..02385fff75 100644 --- a/public/scss/global.scss +++ b/public/scss/global.scss @@ -36,4 +36,11 @@ html[data-dir="rtl"] { h5 { font-size: 1.125rem; } h6 { font-size: 1rem; } } +} + +.btn-link { + &:hover, &.active { + background-color: var(--btn-ghost-hover-color); + text-decoration: none; + } } \ No newline at end of file diff --git a/public/src/admin/extend/plugins.js b/public/src/admin/extend/plugins.js index 5d33b4d9b5..1419dffe32 100644 --- a/public/src/admin/extend/plugins.js +++ b/public/src/admin/extend/plugins.js @@ -11,22 +11,13 @@ define('admin/extend/plugins', [ const Plugins = {}; Plugins.init = function () { const pluginsList = $('.plugins'); - const numPlugins = pluginsList[0].querySelectorAll('li').length; let pluginID; - if (!numPlugins) { - translator.translate('
  • [[admin/extend/plugins:none-found]]

  • ', function (html) { - pluginsList.append(html); - }); - return; - } - if (window.location.hash) { $(`.nav-pills button[data-bs-target="${window.location.hash}"]`).trigger('click'); } - const searchInputEl = document.querySelector('#plugin-search'); - searchInputEl.value = ''; + const searchInputEl = $('#plugin-search'); pluginsList.on('click', 'button[data-action="toggleActive"]', function () { const pluginEl = $(this).parents('li'); @@ -159,13 +150,18 @@ define('admin/extend/plugins', [ }); }); - $(searchInputEl).on('input propertychange', function () { + $(searchInputEl).on('input propertychange', utils.debounce(function () { const term = $(this).val(); $('.plugins li').each(function () { const pluginId = $(this).attr('data-plugin-id'); - $(this).toggleClass('hide', pluginId && pluginId.indexOf(term) === -1); + $(this).toggleClass('hide', pluginId && !pluginId.includes(term)); }); + const activeTab = $('#plugin-tabs [data-bs-target].active').attr('data-bs-target'); + if (activeTab === '#download') { + searchAllPlugins(term); + } + const tabEls = document.querySelectorAll('.plugins .tab-pane'); tabEls.forEach((tabEl) => { const remaining = tabEl.querySelectorAll('li:not(.hide)').length; @@ -174,7 +170,7 @@ define('admin/extend/plugins', [ noticeEl.classList.toggle('hide', remaining !== 0); } }); - }); + }, 250)); $('#plugin-submit-usage').on('click', function () { socket.emit('admin.config.setMultiple', { @@ -198,10 +194,10 @@ define('admin/extend/plugins', [
  • ${plugin}
    -
    +
    -
    +
    @@ -256,11 +252,16 @@ define('admin/extend/plugins', [ }); }); }); - - populateUpgradeablePlugins(); - populateActivePlugins(); }; + async function searchAllPlugins(term) { + const { download, incompatible } = ajaxify.data; + const all = term ? download.concat(incompatible) : download; + const found = all.filter(p => p && p.name.includes(term)).slice(0, 100); + const html = await app.parseAndTranslate('admin/extend/plugins', 'download', { download: found }); + $('#download ul').html(html); + } + function confirmInstall(pluginID, callback) { bootbox.confirm(translator.compile('admin/extend/plugins:alert.possibly-incompatible', pluginID), function (confirm) { callback(confirm); @@ -348,23 +349,5 @@ define('admin/extend/plugins', [ }).fail(callback); }; - function populateUpgradeablePlugins() { - $('#installed ul li').each(function () { - if ($(this).find('[data-action="upgrade"]').length) { - $('#upgrade ul').append($(this).clone(true)); - } - }); - } - - function populateActivePlugins() { - $('#installed ul li').each(function () { - if ($(this).hasClass('active')) { - $('#active ul').append($(this).clone(true)); - } else { - $('#deactive ul').append($(this).clone(true)); - } - }); - } - return Plugins; }); diff --git a/public/src/admin/manage/category.js b/public/src/admin/manage/category.js index b6255fa251..7a6e85486e 100644 --- a/public/src/admin/manage/category.js +++ b/public/src/admin/manage/category.js @@ -131,14 +131,14 @@ define('admin/manage/category', [ }, 1000); api.del('/categories/' + ajaxify.data.category.cid).then(() => { + if (intervalId) { + clearInterval(intervalId); + } + modal.modal('hide'); + alerts.success('[[admin/manage/categories:alert.purge-success]]'); setTimeout(() => { - if (intervalId) { - clearInterval(intervalId); - } - modal.modal('hide'); - alerts.success('[[admin/manage/categories:alert.purge-success]]'); ajaxify.go('admin/manage/categories'); - }, 5000); + }, 2500); }).catch(alerts.error); return false; diff --git a/public/src/admin/settings.js b/public/src/admin/settings.js index de7cd48096..0721d8c209 100644 --- a/public/src/admin/settings.js +++ b/public/src/admin/settings.js @@ -21,7 +21,7 @@ define('admin/settings', [ if (anchor.startsWith('section')) { $this.parent().attr('id', anchor); } - tocList.append(`${header}`); + tocList.append(`${header}`); }); const offset = mainHader.outerHeight(true); // https://stackoverflow.com/a/11814275/583363 diff --git a/public/src/client/account/edit/password.js b/public/src/client/account/edit/password.js index ea00844d72..78612a282e 100644 --- a/public/src/client/account/edit/password.js +++ b/public/src/client/account/edit/password.js @@ -56,8 +56,8 @@ define('forum/account/edit/password', [ } } - password.on('blur', onPasswordChanged); - password_confirm.on('blur', onPasswordConfirmChanged); + password.on('input', onPasswordChanged); + password_confirm.on('input', onPasswordConfirmChanged); $('#changePasswordBtn').on('click', function () { onPasswordChanged(); @@ -103,19 +103,14 @@ define('forum/account/edit/password', [ function showError(element, msg) { translator.translate(msg, function (msg) { - element.html(msg); - - element.parent() - .removeClass('show-success') - .addClass('show-danger'); + element.html(msg).removeClass('text-success') + .addClass('text-danger'); }); } function showSuccess(element) { - element.html(''); - element.parent() - .removeClass('show-danger') - .addClass('show-success'); + element.html('').removeClass('text-danger') + .addClass('text-success'); } return AccountEditPassword; diff --git a/public/src/client/account/read.js b/public/src/client/account/read.js new file mode 100644 index 0000000000..93d8fe0747 --- /dev/null +++ b/public/src/client/account/read.js @@ -0,0 +1,14 @@ +'use strict'; + + +define('forum/account/read', ['forum/account/header', 'forum/account/topics'], function (header, topics) { + const AccountRead = {}; + + AccountRead.init = function () { + header.init(); + + topics.handleInfiniteScroll('account/read'); + }; + + return AccountRead; +}); diff --git a/public/src/client/chats.js b/public/src/client/chats.js index abaae9f818..4181bd79cb 100644 --- a/public/src/client/chats.js +++ b/public/src/client/chats.js @@ -11,7 +11,7 @@ define('forum/chats', [ 'forum/chats/user-list', 'forum/chats/message-search', 'forum/chats/pinned-messages', - 'composer/autocomplete', + 'autocomplete', 'hooks', 'bootbox', 'alerts', @@ -697,6 +697,12 @@ define('forum/chats', [ data.message.timestamp = Math.min(Date.now(), data.message.timestamp); data.message.timestampISO = utils.toISOString(data.message.timestamp); messages.appendChatMessage($('[component="chat/message/content"]'), data.message); + + Chats.updateTeaser(data.roomId, { + content: utils.stripHTMLTags(utils.decodeHTMLEntities(data.message.content)), + user: data.message.fromUser, + timestampISO: data.message.timestampISO, + }); } }); @@ -754,6 +760,31 @@ define('forum/chats', [ }); }; + Chats.updateTeaser = async function (roomId, teaser) { + if (!ajaxify.data.template.chats || !app.user.userslug) { + return; + } + const roomEl = chatNavWrapper.find(`[data-roomid="${roomId}"]`); + if (roomEl.length) { + const html = await app.parseAndTranslate('partials/chats/room-teaser', { + teaser: teaser, + }); + roomEl.find('[component="chat/room/teaser"]').html(html[0].outerHTML); + roomEl.find('.timeago').timeago(); + } else { + const { rooms } = await api.get(`/chats`, { start: 0, perPage: 2 }); + const room = rooms.find(r => parseInt(r.roomId, 10) === parseInt(roomId, 10)); + if (room) { + const recentEl = components.get('chat/recent'); + const html = await app.parseAndTranslate('chats', 'rooms', { + rooms: [room], + showBottomHr: true, + }); + recentEl.prepend(html); + } + } + }; + Chats.markChatPageElUnread = function (data) { if (!ajaxify.data.template.chats) { return; diff --git a/public/src/client/header/chat.js b/public/src/client/header/chat.js index a087a45939..d91a9a95bb 100644 --- a/public/src/client/header/chat.js +++ b/public/src/client/header/chat.js @@ -7,10 +7,6 @@ define('forum/header/chat', [ chat.prepareDOM = function () { const chatsToggleEl = $('[component="chat/dropdown"]'); - if (!chatsToggleEl.length) { - return; - } - chatsToggleEl.on('show.bs.dropdown', (ev) => { requireAndCall('loadChatsDropdown', $(ev.target).parent().find('[component="chat/list"]')); }); @@ -42,6 +38,7 @@ define('forum/header/chat', [ return; } chatPage.markChatPageElUnread(data); + chatPage.updateTeaser(data.roomId, data.teaser); } let { count } = await api.get('/chats/unread'); diff --git a/public/src/client/header/notifications.js b/public/src/client/header/notifications.js index 2b37b45cd0..bff84bd849 100644 --- a/public/src/client/header/notifications.js +++ b/public/src/client/header/notifications.js @@ -5,9 +5,6 @@ define('forum/header/notifications', function () { notifications.prepareDOM = function () { const notifTrigger = $('[component="notifications"] [data-bs-toggle="dropdown"]'); - if (!notifTrigger.length) { - return; - } notifTrigger.on('show.bs.dropdown', (ev) => { requireAndCall('loadNotifications', $(ev.target).parent().find('[component="notifications/list"]')); diff --git a/public/src/client/header/unread.js b/public/src/client/header/unread.js index 0d67c22526..d7cee4f71e 100644 --- a/public/src/client/header/unread.js +++ b/public/src/client/header/unread.js @@ -97,14 +97,16 @@ define('forum/header/unread', ['hooks'], function (hooks) { .toggleClass('hidden', count <= 0) .text(count); - // persona mobile menu uses data-content - $('#mobile-menu [data-unread-url="' + url + '"]') - .attr('data-content', countText); + if (navLink.length) { + // persona mobile menu uses data-content + $('#mobile-menu [data-unread-url="' + url + '"]') + .attr('data-content', countText); - // harmony mobile unread badge, doesn't use data-content - $('[component="unread/count"][data-unread-url="' + url + '"]') - .toggleClass('hidden', count <= 0) - .text(countText); + // harmony mobile unread badge, doesn't use data-content + $('[component="unread/count"][data-unread-url="' + url + '"]') + .toggleClass('hidden', count <= 0) + .text(countText); + } hooks.fire('action:unread.updateCount', { url, count }); } diff --git a/public/src/client/infinitescroll.js b/public/src/client/infinitescroll.js index 838f164f32..eaf3e97720 100644 --- a/public/src/client/infinitescroll.js +++ b/public/src/client/infinitescroll.js @@ -20,8 +20,9 @@ define('forum/infinitescroll', ['hooks', 'alerts', 'api'], function (hooks, aler } previousScrollTop = $(window).scrollTop(); $(window).off('scroll', startScrollTimeout).on('scroll', startScrollTimeout); - - if ($body.height() <= $(window).height()) { + if ($body.height() <= $(window).height() && ( + !ajaxify.data.hasOwnProperty('pageCount') || ajaxify.data.pageCount > 1 + )) { callback(1); } }; diff --git a/public/src/client/topic/manage-editors.js b/public/src/client/topic/manage-editors.js new file mode 100644 index 0000000000..4d063bfa26 --- /dev/null +++ b/public/src/client/topic/manage-editors.js @@ -0,0 +1,77 @@ +'use strict'; + + +define('forum/topic/manage-editors', [ + 'autocomplete', + 'alerts', +], function (autocomplete, alerts) { + const ManageEditors = {}; + + let modal; + + ManageEditors.init = async function (postEl) { + if (modal) { + return; + } + const pid = postEl.attr('data-pid'); + + let editors = await socket.emit('posts.getEditors', { pid: pid }); + app.parseAndTranslate('modals/manage-editors', { + editors: editors, + }, function (html) { + modal = html; + + const commitEl = modal.find('#manage_editors_commit'); + + $('body').append(modal); + + modal.find('#manage_editors_cancel').on('click', closeModal); + + commitEl.on('click', function () { + saveEditors(pid); + }); + + autocomplete.user(modal.find('#username'), { filters: ['notbanned'] }, function (ev, ui) { + const isInEditors = editors.find(e => String(e.uid) === String(ui.item.user.uid)); + if (!isInEditors) { + editors.push(ui.item.user); + app.parseAndTranslate('modals/manage-editors', 'editors', { + editors: editors, + }, function (html) { + modal.find('[component="topic/editors"]').html(html); + modal.find('#username').val(''); + }); + } + }); + + modal.on('click', 'button.remove-user-icon', function () { + const el = $(this).parents('[data-uid]'); + const uid = el.attr('data-uid'); + editors = editors.filter(e => String(e.uid) === String(uid)); + el.remove(); + }); + }); + }; + + function saveEditors(pid) { + const uids = modal.find('[component="topic/editors"]>[data-uid]') + .map((i, el) => $(el).attr('data-uid')).get(); + + socket.emit('posts.saveEditors', { pid: pid, uids: uids }, function (err) { + if (err) { + return alerts.error(err); + } + + closeModal(); + }); + } + + function closeModal() { + if (modal) { + modal.remove(); + modal = null; + } + } + + return ManageEditors; +}); diff --git a/public/src/client/topic/postTools.js b/public/src/client/topic/postTools.js index f8d2ca8933..5a5872c927 100644 --- a/public/src/client/topic/postTools.js +++ b/public/src/client/topic/postTools.js @@ -253,6 +253,13 @@ define('forum/topic/postTools', [ }); }); + postContainer.on('click', '[component="post/manage-editors"]', function () { + const btn = $(this); + require(['forum/topic/manage-editors'], function (manageEditors) { + manageEditors.init(btn.parents('[data-pid]')); + }); + }); + postContainer.on('click', '[component="post/ban-ip"]', function () { const ip = $(this).attr('data-ip'); socket.emit('blacklist.addRule', ip, function (err) { diff --git a/public/src/modules/autocomplete.js b/public/src/modules/autocomplete.js index 277859ce3d..13e4e56427 100644 --- a/public/src/modules/autocomplete.js +++ b/public/src/modules/autocomplete.js @@ -1,6 +1,8 @@ 'use strict'; -define('autocomplete', ['api', 'alerts'], function (api, alerts) { +define('autocomplete', [ + 'api', 'alerts', '@textcomplete/core', '@textcomplete/textarea', '@textcomplete/contenteditable', +], function (api, alerts, { Textcomplete }, { TextareaEditor }, { ContenteditableEditor }) { const autocomplete = {}; const _default = { delay: 200, @@ -129,5 +131,37 @@ define('autocomplete', ['api', 'alerts'], function (api, alerts) { onselect(event, ui); } + // This is a generic method that is also used by the chat + autocomplete.setup = function ({ element, strategies, options }) { + const targetEl = element.get(0); + if (!targetEl) { + return; + } + var editor; + if (targetEl.nodeName === 'TEXTAREA' || targetEl.nodeName === 'INPUT') { + editor = new TextareaEditor(targetEl); + } else if (targetEl.nodeName === 'DIV' && targetEl.getAttribute('contenteditable') === 'true') { + editor = new ContenteditableEditor(targetEl); + } + if (!editor) { + throw new Error('unknown target element type'); + } + // yuku-t/textcomplete inherits directionality from target element itself + targetEl.setAttribute('dir', document.querySelector('html').getAttribute('data-dir')); + + var textcomplete = new Textcomplete(editor, strategies, { + dropdown: options, + }); + textcomplete.on('rendered', function () { + if (textcomplete.dropdown.items.length) { + // Activate the first item by default. + textcomplete.dropdown.items[0].activate(); + } + }); + + return textcomplete; + }; + + return autocomplete; }); diff --git a/public/src/modules/chat.js b/public/src/modules/chat.js index 0794af22a8..c48113d2f7 100644 --- a/public/src/modules/chat.js +++ b/public/src/modules/chat.js @@ -1,10 +1,9 @@ 'use strict'; define('chat', [ - 'components', 'taskbar', 'translator', 'hooks', 'bootbox', 'alerts', 'api', -], function (components, taskbar, translator, hooks, bootbox, alerts, api) { + 'components', 'taskbar', 'translator', 'hooks', 'bootbox', 'alerts', 'api', 'scrollStop', +], function (components, taskbar, translator, hooks, bootbox, alerts, api, scrollStop) { const module = {}; - let newMessage = false; module.openChat = function (roomId, uid) { if (!app.user.uid) { @@ -182,9 +181,11 @@ define('chat', [ return; } if (module.modalExists(data.roomId)) { + const modal = module.getModal(data.roomId); + const newMessage = parseInt(modal.attr('new-message'), 10) === 1; data.self = parseInt(app.user.uid, 10) === parseInt(data.fromUid, 10) ? 1 : 0; if (!newMessage) { - newMessage = data.self === 0; + modal.attr('new-message', data.self === 0 ? 1 : 0); } data.message.self = data.self; data.message.timestamp = Math.min(Date.now(), data.message.timestamp); @@ -290,11 +291,60 @@ define('chat', [ return $('#chat-modal-' + roomId).length !== 0; }; + module.initWidget = function (roomId, chatModal) { + require(['forum/chats', 'forum/chats/messages'], function (Chats, ChatsMessages) { + socket.emit('modules.chats.enter', roomId); + api.del(`/chats/${roomId}/state`, {}); + + chatModal.find('.timeago').timeago(); + chatModal.find('[data-bs-toggle="tooltip"]').tooltip({ + trigger: 'hover', container: '#content', + }); + ChatsMessages.wrapImagesInLinks(chatModal.find('[component="chat/messages"] .chat-content')); + + scrollStop.apply(chatModal.find('[component="chat/messages"] .chat-content')); + + chatModal.on('mousemove keypress click', function () { + if (parseInt(chatModal.attr('new-message'), 10) === 1) { + api.del(`/chats/${roomId}/state`, {}); + chatModal.removeAttr('new-message'); + } + }); + + Chats.addActionHandlers(chatModal.find('[component="chat/message/window"]'), roomId); + Chats.addSendHandlers(roomId, chatModal.find('.chat-input'), chatModal.find('[data-action="send"]')); + + Chats.createAutoComplete(roomId, chatModal.find('[component="chat/input"]')); + + Chats.addScrollHandler(roomId, app.user.uid, chatModal.find('[component="chat/message/content"]')); + Chats.addScrollBottomHandler(roomId, chatModal.find('[component="chat/message/content"]')); + Chats.addParentHandler(chatModal.find('[component="chat/message/content"]')); + Chats.addCharactersLeftHandler(chatModal); + Chats.addTextareaResizeHandler(chatModal); + Chats.addTypingHandler(chatModal, roomId); + Chats.addIPHandler(chatModal); + Chats.addTooltipHandler(chatModal); + Chats.addUploadHandler({ + dragDropAreaEl: chatModal.find('.modal-content'), + pasteEl: chatModal, + uploadFormEl: chatModal.find('[component="chat/upload"]'), + uploadBtnEl: chatModal.find('[component="chat/upload/button"]'), + inputEl: chatModal.find('[component="chat/input"]'), + }); + + ChatsMessages.addSocketListeners(); + + ChatsMessages.scrollToBottomAfterImageLoad(chatModal.find('.chat-content')); + + hooks.fire('action:chat.loaded', chatModal); + }); + }; + module.createModal = function (data, callback) { callback = callback || function () {}; require([ - 'scrollStop', 'forum/chats', 'forum/chats/messages', 'forum/chats/message-search', - ], function (scrollStop, Chats, ChatsMessages, messageSearch) { + 'forum/chats', 'forum/chats/messages', 'forum/chats/message-search', + ], function (Chats, ChatsMessages, messageSearch) { app.parseAndTranslate('chat', data, function (chatModal) { const roomId = data.roomId; if (module.modalExists(roomId)) { @@ -305,45 +355,19 @@ define('chat', [ chatModal.attr('id', 'chat-modal-' + roomId); chatModal.attr('data-roomid', roomId); - chatModal.attr('intervalId', 0); chatModal.attr('data-uuid', uuid); chatModal.css('position', 'fixed'); chatModal.appendTo($('body')); chatModal.find('.timeago').timeago(); chatModal.find('[data-bs-toggle="tooltip"]').tooltip({ trigger: 'hover', container: '#content' }); ChatsMessages.wrapImagesInLinks(chatModal.find('[component="chat/messages"] .chat-content')); - module.center(chatModal); - - app.loadJQueryUI(function () { - chatModal.find('.modal-content').resizable({ - handles: 'n, e, s, w, se', - minHeight: 250, - minWidth: 400, - }); - - chatModal.find('.modal-content').on('resize', function (event, ui) { - if (ui.originalSize.height === ui.size.height) { - return; - } - - chatModal.find('.modal-body').css('height', module.calculateChatListHeight(chatModal)); - }); - - chatModal.draggable({ - start: function () { - taskbar.updateActive(uuid); - chatModal.css({ bottom: 'auto', right: 'auto' }); - }, - stop: function () { - module.focusInput(chatModal); - }, - distance: 10, - handle: '.modal-header', - }); - }); scrollStop.apply(chatModal.find('[component="chat/messages"] .chat-content')); + module.center(chatModal); + + makeModalResizeableDraggable(chatModal, uuid); + chatModal.find('#chat-close-btn').on('click', function () { module.close(uuid); }); @@ -380,9 +404,9 @@ define('chat', [ }); chatModal.on('mousemove keypress click', function () { - if (newMessage) { + if (parseInt(chatModal.attr('new-message'), 10) === 1) { api.del(`/chats/${roomId}/state`, {}); - newMessage = false; + chatModal.removeAttr('new-message'); } }); @@ -433,6 +457,36 @@ define('chat', [ }); }; + function makeModalResizeableDraggable(chatModal, uuid) { + app.loadJQueryUI(function () { + chatModal.find('.modal-content').resizable({ + handles: 'n, e, s, w, se', + minHeight: 250, + minWidth: 400, + }); + + chatModal.find('.modal-content').on('resize', function (event, ui) { + if (ui.originalSize.height === ui.size.height) { + return; + } + + chatModal.find('.modal-body').css('height', module.calculateChatListHeight(chatModal)); + }); + + chatModal.draggable({ + start: function () { + taskbar.updateActive(uuid); + chatModal.css({ bottom: 'auto', right: 'auto' }); + }, + stop: function () { + module.focusInput(chatModal); + }, + distance: 10, + handle: '.modal-header', + }); + }); + } + module.focusInput = function (chatModal) { setTimeout(function () { chatModal.find('[component="chat/input"]').focus(); @@ -441,8 +495,6 @@ define('chat', [ module.close = function (uuid) { const chatModal = $('.chat-modal[data-uuid="' + uuid + '"]'); - clearInterval(chatModal.attr('intervalId')); - chatModal.attr('intervalId', 0); chatModal.remove(); chatModal.data('modal', null); taskbar.discard('chat', uuid); @@ -529,8 +581,6 @@ define('chat', [ const chatModal = $('.chat-modal[data-uuid="' + uuid + '"]'); chatModal.addClass('hide'); taskbar.minimize('chat', uuid); - clearInterval(chatModal.attr('intervalId')); - chatModal.attr('intervalId', 0); hooks.fire('action:chat.minimized', { uuid: uuid, modal: chatModal, diff --git a/public/src/modules/helpers.common.js b/public/src/modules/helpers.common.js index c5533cf56b..5638f29928 100644 --- a/public/src/modules/helpers.common.js +++ b/public/src/modules/helpers.common.js @@ -32,6 +32,7 @@ module.exports = function (utils, Benchpress, relative_path) { shouldHideReplyContainer, humanReadableNumber, formattedNumber, + txEscape, generatePlaceholderWave, register, __escape: identity, @@ -366,6 +367,10 @@ module.exports = function (utils, Benchpress, relative_path) { return utils.addCommas(number); } + function txEscape(text) { + return String(text).replace(/%/g, '%').replace(/,/g, ','); + } + function generatePlaceholderWave(items) { const html = items.map((i) => { if (i === 'divider') { diff --git a/public/src/modules/quickreply.js b/public/src/modules/quickreply.js index 55aea0b769..ee12097eff 100644 --- a/public/src/modules/quickreply.js +++ b/public/src/modules/quickreply.js @@ -1,13 +1,15 @@ 'use strict'; define('quickreply', [ - 'components', 'composer', 'composer/autocomplete', 'api', + 'components', 'autocomplete', 'api', 'alerts', 'uploadHelpers', 'mousetrap', 'storage', 'hooks', ], function ( - components, composer, autocomplete, api, + components, autocomplete, api, alerts, uploadHelpers, mousetrap, storage, hooks ) { - const QuickReply = {}; + const QuickReply = { + _autocomplete: null, + }; QuickReply.init = function () { const element = components.get('topic/quickreply/text'); @@ -27,7 +29,7 @@ define('quickreply', [ destroyAutoComplete(); }); $(window).trigger('composer:autocomplete:init', data); - autocomplete._active.core_qr = autocomplete.setup(data); + QuickReply._autocomplete = autocomplete.setup(data); mousetrap.bind('ctrl+return', (e) => { if (e.target === element.get(0)) { @@ -90,7 +92,7 @@ define('quickreply', [ components.get('topic/quickreply/text').val(''); storage.removeItem(qrDraftId); - autocomplete._active.core_qr.hide(); + QuickReply._autocomplete.hide(); hooks.fire('action:quickreply.success', { data }); }); }); @@ -113,7 +115,7 @@ define('quickreply', [ e.preventDefault(); storage.removeItem(qrDraftId); const textEl = components.get('topic/quickreply/text'); - composer.newReply({ + hooks.fire('action:composer.post.new', { tid: ajaxify.data.tid, title: ajaxify.data.titleRaw, body: textEl.val(), @@ -123,9 +125,9 @@ define('quickreply', [ }; function destroyAutoComplete() { - if (autocomplete._active.core_qr) { - autocomplete._active.core_qr.destroy(); - autocomplete._active.core_qr = null; + if (QuickReply._autocomplete) { + QuickReply._autocomplete.destroy(); + QuickReply._autocomplete = null; } } diff --git a/public/src/service-worker.js b/public/src/service-worker.js index babbf24f19..1c6bd90dd2 100644 --- a/public/src/service-worker.js +++ b/public/src/service-worker.js @@ -1,5 +1,15 @@ 'use strict'; +self.addEventListener('install', () => { + // Register self as the primary service worker + self.skipWaiting(); +}); + +self.addEventListener('activate', (event) => { + // Take responsibility over existing clients from old service worker + event.waitUntil(self.clients.claim()); +}); + self.addEventListener('fetch', function (event) { // This is the code that ignores post requests // https://github.com/NodeBB/NodeBB/issues/9151 diff --git a/public/src/utils.js b/public/src/utils.js index 0dff1892e1..f98fa1d051 100644 --- a/public/src/utils.js +++ b/public/src/utils.js @@ -16,7 +16,6 @@ utils.getLanguage = function () { utils.makeNumbersHumanReadable = function (elements) { - console.warn('[deprecated] utils.makeNumbersHumanReadable is deprecated! Use {humanReadableNumber(value)} helper directly in the template'); elements.each(function () { const $this = $(this); const toFixed = $this.attr('data-toFixed') || 1; @@ -26,7 +25,6 @@ utils.makeNumbersHumanReadable = function (elements) { }; utils.addCommasToNumbers = function (elements) { - console.warn('[deprecated] utils.addCommasToNumbers is deprecated! Use {formattedNumber(value)} helper directly in the template'); elements.each(function (index, element) { const $element = $(element); $element diff --git a/src/api/chats.js b/src/api/chats.js index db07ac32f0..abd5c908f2 100644 --- a/src/api/chats.js +++ b/src/api/chats.js @@ -37,7 +37,7 @@ async function rateLimitExceeded(caller, field) { } chatsAPI.list = async (caller, { uid = caller.uid, start, stop, page, perPage } = {}) => { - if (!start && !stop && !page) { + if ((!utils.isNumber(start) || !utils.isNumber(stop)) && !utils.isNumber(page)) { throw new Error('[[error:invalid-data]]'); } diff --git a/src/api/topics.js b/src/api/topics.js index 7a6cabf966..2cef69215d 100644 --- a/src/api/topics.js +++ b/src/api/topics.js @@ -4,9 +4,12 @@ const validator = require('validator'); const user = require('../user'); const topics = require('../topics'); +const categories = require('../categories'); const posts = require('../posts'); const meta = require('../meta'); const privileges = require('../privileges'); +const events = require('../events'); +const batch = require('../batch'); const apiHelpers = require('./helpers'); @@ -298,3 +301,48 @@ topicsAPI.bump = async (caller, { tid }) => { await topics.markAsUnreadForAll(tid); topics.pushUnreadCount(caller.uid); }; + +topicsAPI.move = async (caller, { tid, cid }) => { + const canMove = await privileges.categories.isAdminOrMod(cid, caller.uid); + if (!canMove) { + throw new Error('[[error:no-privileges]]'); + } + + const tids = Array.isArray(tid) ? tid : [tid]; + const uids = await user.getUidsFromSet('users:online', 0, -1); + const cids = [parseInt(cid, 10)]; + + await batch.processArray(tids, async (tids) => { + await Promise.all(tids.map(async (tid) => { + const canMove = await privileges.topics.isAdminOrMod(tid, caller.uid); + if (!canMove) { + throw new Error('[[error:no-privileges]]'); + } + const topicData = await topics.getTopicFields(tid, ['tid', 'cid', 'slug', 'deleted']); + if (!cids.includes(topicData.cid)) { + cids.push(topicData.cid); + } + await topics.tools.move(tid, { + cid, + uid: caller.uid, + }); + + const notifyUids = await privileges.categories.filterUids('topics:read', topicData.cid, uids); + socketHelpers.emitToUids('event:topic_moved', topicData, notifyUids); + if (!topicData.deleted) { + socketHelpers.sendNotificationToTopicOwner(tid, caller.uid, 'move', 'notifications:moved-your-topic'); + } + + await events.log({ + type: `topic-move`, + uid: caller.uid, + ip: caller.ip, + tid: tid, + fromCid: topicData.cid, + toCid: cid, + }); + })); + }, { batch: 10 }); + + await categories.onTopicsMoved(cids); +}; diff --git a/src/api/users.js b/src/api/users.js index c4f4add772..3897613342 100644 --- a/src/api/users.js +++ b/src/api/users.js @@ -188,7 +188,7 @@ usersAPI.follow = async function (caller, data) { bodyShort: `[[notifications:user-started-following-you, ${displayname}]]`, nid: `follow:${data.uid}:uid:${caller.uid}`, from: caller.uid, - path: `/uid/${data.uid}/followers`, + path: `/uid/${caller.uid}`, mergeId: 'notifications:user-started-following-you', }); if (!notifObj) { diff --git a/src/cli/upgrade-plugins.js b/src/cli/upgrade-plugins.js index cb6cbce94b..b68db55eac 100644 --- a/src/cli/upgrade-plugins.js +++ b/src/cli/upgrade-plugins.js @@ -77,7 +77,8 @@ async function getSuggestedModules(nbbVersion, toCheck) { const request = require('../request'); let { response, body } = await request.get(`https://packages.nodebb.org/api/v1/suggest?version=${nbbVersion}&package[]=${toCheck.join('&package[]=')}`); if (!response.ok) { - throw new Error(`Unable to get suggested module for NodeBB(${nbbVersion}) ${toCheck.join(',')}`); + console.warn(`Unable to get suggested module for NodeBB(${nbbVersion}) ${toCheck.join(',')}`); + return []; } if (!Array.isArray(body) && toCheck.length === 1) { body = [body]; diff --git a/src/controllers/accounts/helpers.js b/src/controllers/accounts/helpers.js index 6ffd837ea7..93dbc7623f 100644 --- a/src/controllers/accounts/helpers.js +++ b/src/controllers/accounts/helpers.js @@ -201,16 +201,9 @@ async function getCounts(userData, callerUID) { const cids = await categories.getCidsByPrivilege('categories:cid', callerUID, 'topics:read'); const promises = { posts: db.sortedSetsCardSum(cids.map(c => `cid:${c}:uid:${uid}:pids`)), - best: db.sortedSetsCardSum(cids.map(c => `cid:${c}:uid:${uid}:pids:votes`), 1, '+inf'), - controversial: db.sortedSetsCardSum(cids.map(c => `cid:${c}:uid:${uid}:pids:votes`), '-inf', -1), topics: db.sortedSetsCardSum(cids.map(c => `cid:${c}:uid:${uid}:tids`)), }; if (userData.isAdmin || userData.isSelf) { - promises.ignored = db.sortedSetCard(`uid:${uid}:ignored_tids`); - promises.watched = db.sortedSetCard(`uid:${uid}:followed_tids`); - promises.upvoted = db.sortedSetCard(`uid:${uid}:upvote`); - promises.downvoted = db.sortedSetCard(`uid:${uid}:downvote`); - promises.bookmarks = db.sortedSetCard(`uid:${uid}:bookmarks`); promises.uploaded = db.sortedSetCard(`uid:${uid}:uploads`); promises.categoriesWatched = user.getWatchedCategories(uid); promises.tagsWatched = db.sortedSetCard(`uid:${uid}:followed_tags`); diff --git a/src/controllers/accounts/posts.js b/src/controllers/accounts/posts.js index 53ca842cb8..adb8fbffc8 100644 --- a/src/controllers/accounts/posts.js +++ b/src/controllers/accounts/posts.js @@ -126,6 +126,14 @@ const templateToData = { return `uid:${userData.uid}:ignored_tids`; }, }, + 'account/read': { + type: 'topics', + noItemsFoundKey: '[[user:has-no-read-topics]]', + crumb: '[[user:read]]', + getSets: function (callerUid, userData) { + return `uid:${userData.uid}:tids_read`; + }, + }, 'account/topics': { type: 'topics', noItemsFoundKey: '[[user:has-no-topics]]', @@ -169,6 +177,10 @@ postsController.getIgnoredTopics = async function (req, res, next) { await getPostsFromUserSet('account/ignored', req, res, next); }; +postsController.getReadTopics = async function (req, res, next) { + await getPostsFromUserSet('account/read', req, res, next); +}; + postsController.getTopics = async function (req, res, next) { await getPostsFromUserSet('account/topics', req, res, next); }; diff --git a/src/controllers/admin/plugins.js b/src/controllers/admin/plugins.js index 62743e00a3..7cc09c98bf 100644 --- a/src/controllers/admin/plugins.js +++ b/src/controllers/admin/plugins.js @@ -17,6 +17,7 @@ pluginsController.get = async function (req, res) { const compatiblePkgNames = compatible.map(pkgData => pkgData.name); const installedPlugins = compatible.filter(plugin => plugin && (plugin.installed || (nconf.get('plugins:active') && plugin.active))); const activePlugins = all.filter(plugin => plugin && (plugin.installed || nconf.get('plugins:active')) && plugin.active); + const inactivePlugins = all.filter(plugin => plugin && (plugin.installed || nconf.get('plugins:active')) && !plugin.active); const trendingScores = trending.reduce((memo, cur) => { memo[cur.label] = cur.value; @@ -30,18 +31,17 @@ pluginsController.get = async function (req, res) { return plugin; }); + const upgrade = compatible.filter(p => p.installed && p.outdated); res.render('admin/extend/plugins', { installed: installedPlugins, installedCount: installedPlugins.length, + active: activePlugins, activeCount: activePlugins.length, - inactiveCount: Math.max(0, installedPlugins.length - activePlugins.length), + inactive: inactivePlugins, + inactiveCount: inactivePlugins.length, canChangeState: !nconf.get('plugins:active'), - upgradeCount: compatible.reduce((count, current) => { - if (current.installed && current.outdated) { - count += 1; - } - return count; - }, 0), + upgrade: upgrade, + upgradeCount: upgrade.length, download: compatible.filter(plugin => !plugin.installed), incompatible: all.filter(plugin => !compatiblePkgNames.includes(plugin.name)), trending: trendingPlugins, diff --git a/src/controllers/errors.js b/src/controllers/errors.js index 35e2617bb1..ba6e3842fd 100644 --- a/src/controllers/errors.js +++ b/src/controllers/errors.js @@ -101,9 +101,9 @@ exports.handleErrors = async function handleErrors(err, req, res, next) { // esl try { if (data.cases.hasOwnProperty(err.code)) { data.cases[err.code](err, req, res, defaultHandler); - } else if (err.message.startsWith('[[error:no-') && err.message !== '[[error:no-privileges]]') { + } else if (err.message && err.message.startsWith('[[error:no-') && err.message !== '[[error:no-privileges]]') { notFoundHandler(); - } else if (err.message.startsWith('Failed to lookup view')) { + } else if (err.message && err.message.startsWith('Failed to lookup view')) { notBuiltHandler(); } else { await defaultHandler(); diff --git a/src/controllers/helpers.js b/src/controllers/helpers.js index c17e701b79..7be6468f88 100644 --- a/src/controllers/helpers.js +++ b/src/controllers/helpers.js @@ -133,7 +133,7 @@ helpers.notAllowed = async function (req, res, error) { if (req.loggedIn || req.uid === -1) { if (res.locals.isAPI) { if (req.originalUrl.startsWith(`${relative_path}/api/v3`)) { - helpers.formatApiResponse(403, res, error); + await helpers.formatApiResponse(403, res, error); } else { res.status(403).json({ path: req.path.replace(/^\/api/, ''), @@ -155,7 +155,7 @@ helpers.notAllowed = async function (req, res, error) { } } else if (res.locals.isAPI) { req.session.returnTo = req.url.replace(/^\/api/, ''); - helpers.formatApiResponse(401, res, error); + await helpers.formatApiResponse(401, res, error); } else { req.session.returnTo = req.url; res.redirect(`${relative_path}/login${req.path.startsWith('/admin') ? '?local=1' : ''}`); diff --git a/src/controllers/index.js b/src/controllers/index.js index 2cf50a7785..0e5dde32b6 100644 --- a/src/controllers/index.js +++ b/src/controllers/index.js @@ -34,6 +34,7 @@ Controllers.globalMods = require('./globalmods'); Controllers.mods = require('./mods'); Controllers.sitemap = require('./sitemap'); Controllers.osd = require('./osd'); +Controllers['service-worker'] = require('./service-worker'); Controllers['404'] = require('./404'); Controllers.errors = require('./errors'); Controllers.composer = require('./composer'); @@ -219,20 +220,31 @@ Controllers.registerInterstitial = async function (req, res, next) { } }; -Controllers.confirmEmail = async (req, res, next) => { +Controllers.confirmEmail = async (req, res) => { + function renderPage(opts = {}) { + res.render('confirm', { + title: '[[pages:confirm]]', + ...opts, + }); + } try { + if (req.loggedIn) { + const emailValidated = await user.getUserField(req.uid, 'email:confirmed'); + if (emailValidated) { + return renderPage({ alreadyValidated: true }); + } + } await user.email.confirmByCode(req.params.code, req.session.id); if (req.session.registration) { // After confirmation, no need to send user back to email change form delete req.session.registration.updateEmail; } - res.render('confirm', { - title: '[[pages:confirm]]', - }); + renderPage(); } catch (e) { - if (e.message === '[[error:invalid-data]]') { - return next(); + if (e.message === '[[error:invalid-data]]' || e.message === '[[error:confirm-email-expired]]') { + renderPage({ error: true }); + return; } throw e; diff --git a/src/controllers/service-worker.js b/src/controllers/service-worker.js new file mode 100644 index 0000000000..0b9cd30896 --- /dev/null +++ b/src/controllers/service-worker.js @@ -0,0 +1,49 @@ +'use strict'; + +const { readFile, access, constants } = require('fs/promises'); +const path = require('path'); +const nconf = require('nconf'); + +const plugins = require('../plugins'); + +const Controller = module.exports; + +Controller.generate = async (req, res) => { + const swPath = path.join(__dirname, '../../build/public/src/service-worker.js'); + let swContents = await readFile(swPath, { encoding: 'utf-8' }); + + res.status(200) + .type('application/javascript') + .set('Service-Worker-Allowed', `${nconf.get('relative_path')}/`); + + /** + * Allow plugins to append their own scripts for the service worker to import + * expects: URLs in passed-in Set, either absolute or relative to plugin static directory root (/assets/plugins) + * see: https://docs.nodebb.org/development/plugins/statics + */ + let scripts = new Set(); + ({ scripts } = await plugins.hooks.fire('filter:service-worker.scripts', { scripts })); + + if (!scripts.size) { + res.sendFile(swPath); + } else { + const urls = await Promise.all(Array + .from(scripts) + .map(async (pathname) => { + try { + const url = new URL(pathname, `${nconf.get('url')}/assets/plugins/`); + if (url.href.startsWith(nconf.get('url'))) { + const fullPath = path.resolve(__dirname, '../../build/public/plugins', url.pathname.replace(`${nconf.get('relative_path')}/assets/plugins/`, '')); + await access(fullPath, constants.R_OK); + } + return url; + } catch (e) { + return null; + } + })); + + const payload = urls.map(urlObj => urlObj.href).join("', '"); + swContents += `\nimportScripts('${payload}')`; + res.send(swContents); + } +}; diff --git a/src/controllers/write/topics.js b/src/controllers/write/topics.js index b9691a8da5..700b08e21a 100644 --- a/src/controllers/write/topics.js +++ b/src/controllers/write/topics.js @@ -11,7 +11,11 @@ const uploadsController = require('../uploads'); const Topics = module.exports; Topics.get = async (req, res) => { - helpers.formatApiResponse(200, res, await api.topics.get(req, req.params)); + const topicData = await api.topics.get(req, req.params); + if (!topicData) { + return helpers.formatApiResponse(404, res, new Error('[[error:no-topic]]')); + } + helpers.formatApiResponse(200, res, topicData); }; Topics.create = async (req, res) => { @@ -207,3 +211,10 @@ Topics.bump = async (req, res) => { helpers.formatApiResponse(200, res); }; + +Topics.move = async (req, res) => { + const { cid } = req.body; + await api.topics.move(req, { cid, ...req.params }); + + helpers.formatApiResponse(200, res); +}; diff --git a/src/events.js b/src/events.js index 41e1f0d29b..d7938e3b5a 100644 --- a/src/events.js +++ b/src/events.js @@ -75,6 +75,7 @@ events.types = [ 'export:uploads', 'account-locked', 'getUsersCSV', + 'getGroupCSV', 'chat-room-deleted', // To add new types from plugins, just Array.push() to this array ]; diff --git a/src/messaging/index.js b/src/messaging/index.js index 7a2cd617a6..eda2bd4ac0 100644 --- a/src/messaging/index.js +++ b/src/messaging/index.js @@ -363,7 +363,10 @@ Messaging.canMessageUser = async (uid, toUid) => { user.blocks.is(uid, toUid), ]); - if (isBlocked || (settings.restrictChat && !isAdmin && !isModerator && !isFollowing)) { + if (isBlocked) { + throw new Error('[[error:chat-user-blocked]]'); + } + if (settings.restrictChat && !isAdmin && !isModerator && !isFollowing) { throw new Error('[[error:chat-restricted]]'); } diff --git a/src/messaging/notifications.js b/src/messaging/notifications.js index 503382cf01..d939bc939b 100644 --- a/src/messaging/notifications.js +++ b/src/messaging/notifications.js @@ -1,6 +1,7 @@ 'use strict'; const winston = require('winston'); +const validator = require('validator'); const batch = require('../batch'); const db = require('../database'); @@ -8,6 +9,7 @@ const notifications = require('../notifications'); const user = require('../user'); const io = require('../socket.io'); const plugins = require('../plugins'); +const utils = require('../utils'); module.exports = function (Messaging) { Messaging.setUserNotificationSetting = async (uid, roomId, value) => { @@ -66,6 +68,13 @@ module.exports = function (Messaging) { // push unread count only for private rooms if (!isPublic) { const uids = await Messaging.getAllUidsInRoomFromSet(`chat:room:${roomId}:uids:online`); + unreadData.teaser = { + content: validator.escape( + String(utils.stripHTMLTags(utils.decodeHTMLEntities(messageObj.content))) + ), + user: messageObj.fromUser, + timestampISO: messageObj.timestampISO, + }; Messaging.pushUnreadCount(uids, unreadData); } diff --git a/src/meta/minifier.js b/src/meta/minifier.js index 43802ef7e7..a341a92e96 100644 --- a/src/meta/minifier.js +++ b/src/meta/minifier.js @@ -160,9 +160,13 @@ Minifier.js.bundle = async function (data, fork) { actions.buildCSS = async function buildCSS(data) { let css = ''; try { - const scssOutput = await sass.compileStringAsync(data.source, { + const opts = { loadPaths: data.paths, - }); + }; + if (data.minify) { + opts.silenceDeprecations = ['mixed-decls']; + } + const scssOutput = await sass.compileStringAsync(data.source, opts); css = scssOutput.css.toString(); } catch (err) { console.error(err.stack); diff --git a/src/notifications.js b/src/notifications.js index fdb9998248..20a6cd5f73 100644 --- a/src/notifications.js +++ b/src/notifications.js @@ -475,7 +475,7 @@ Notifications.merge = async function (notifications) { case 'notifications:user-posted-to': case 'notifications:user-flagged-post-in': case 'notifications:user-flagged-user': { - const usernames = _.uniq(set.map(notifObj => notifObj && notifObj.user && notifObj.user.username)); + const usernames = _.uniq(set.map(notifObj => notifObj && notifObj.user && notifObj.user.displayname)); const numUsers = usernames.length; const title = utils.decodeHTMLEntities(notifications[modifyIndex].topicTitle || ''); diff --git a/src/plugins/index.js b/src/plugins/index.js index f3a42aa01a..37980dd55c 100644 --- a/src/plugins/index.js +++ b/src/plugins/index.js @@ -155,6 +155,7 @@ Plugins.get = async function (id) { const url = `${nconf.get('registry') || 'https://packages.nodebb.org'}/api/v1/plugins/${id}`; const { response, body } = await request.get(url); if (!response.ok) { + console.log(response); throw new Error(`[[error:unable-to-load-plugin, ${id}]]`); } let normalised = await Plugins.normalise([body ? body.payload : {}]); @@ -171,6 +172,7 @@ Plugins.list = async function (matching) { try { const { response, body } = await request.get(url); if (!response.ok) { + console.log(response); throw new Error(`[[error:unable-to-load-plugins-from-nbbpm]]`); } return await Plugins.normalise(body); @@ -184,6 +186,7 @@ Plugins.listTrending = async () => { const url = `${nconf.get('registry') || 'https://packages.nodebb.org'}/api/v1/analytics/top/week`; const { response, body } = await request.get(url); if (!response.ok) { + console.log(response); throw new Error(`[[error:unable-to-load-trending-plugins]]`); } return body; diff --git a/src/posts/delete.js b/src/posts/delete.js index 94f73cf494..7c1efdec52 100644 --- a/src/posts/delete.js +++ b/src/posts/delete.js @@ -81,6 +81,7 @@ module.exports = function (Posts) { deleteDiffs(pids), deleteFromUploads(pids), db.sortedSetsRemove(['posts:pid', 'posts:votes', 'posts:flagged'], pids), + db.deleteAll(pids.map(pid => `pid:${pid}:editors`)), ]); await resolveFlags(postData, uid); diff --git a/src/posts/parse.js b/src/posts/parse.js index 4e16a111ad..93691e1f69 100644 --- a/src/posts/parse.js +++ b/src/posts/parse.js @@ -22,19 +22,16 @@ let sanitizeConfig = { ...sanitize.defaults.allowedAttributes, a: ['href', 'name', 'hreflang', 'media', 'rel', 'target', 'type'], img: ['alt', 'height', 'ismap', 'src', 'usemap', 'width', 'srcset'], - iframe: ['height', 'name', 'src', 'width'], + iframe: ['height', 'name', 'src', 'width', 'allow', 'frameborder'], video: ['autoplay', 'playsinline', 'controls', 'height', 'loop', 'muted', 'poster', 'preload', 'src', 'width'], audio: ['autoplay', 'controls', 'loop', 'muted', 'preload', 'src'], source: ['type', 'src', 'srcset', 'sizes', 'media', 'height', 'width'], embed: ['height', 'src', 'type', 'width'], }, - globalAttributes: ['accesskey', 'class', 'contenteditable', 'dir', + nonBooleanAttributes: ['accesskey', 'class', 'contenteditable', 'dir', 'draggable', 'dropzone', 'hidden', 'id', 'lang', 'spellcheck', 'style', - 'tabindex', 'title', 'translate', 'aria-expanded', 'data-*', + 'tabindex', 'title', 'translate', 'aria-*', 'data-*', ], - allowedClasses: { - ...sanitize.defaults.allowedClasses, - }, }; module.exports = function (Posts) { @@ -122,7 +119,7 @@ module.exports = function (Posts) { sanitizeConfig.allowedTags.forEach((tag) => { sanitizeConfig.allowedAttributes[tag] = _.union( sanitizeConfig.allowedAttributes[tag], - sanitizeConfig.globalAttributes + sanitizeConfig.nonBooleanAttributes ); }); diff --git a/src/privileges/posts.js b/src/privileges/posts.js index fbd6858282..505afc5321 100644 --- a/src/privileges/posts.js +++ b/src/privileges/posts.js @@ -3,6 +3,7 @@ const _ = require('lodash'); +const db = require('../database'); const meta = require('../meta'); const posts = require('../posts'); const topics = require('../topics'); @@ -118,7 +119,8 @@ privsPosts.canEdit = async function (pid, uid) { const results = await utils.promiseParallel({ isAdmin: user.isAdministrator(uid), isMod: posts.isModerator([pid], uid), - owner: posts.isOwner(pid, uid), + isOwner: posts.isOwner(pid, uid), + isEditor: db.isSetMember(`pid:${pid}:editors`, uid), edit: privsPosts.can('posts:edit', pid, uid), postData: posts.getPostFields(pid, ['tid', 'timestamp', 'deleted', 'deleterUid']), userData: user.getUserFields(uid, ['reputation']), @@ -158,7 +160,10 @@ privsPosts.canEdit = async function (pid, uid) { results.uid = uid; const result = await plugins.hooks.fire('filter:privileges.posts.edit', results); - return { flag: result.edit && (result.owner || result.isMod), message: '[[error:no-privileges]]' }; + return { + flag: result.edit && (result.isOwner || result.isEditor || result.isMod), + message: '[[error:no-privileges]]', + }; }; privsPosts.canDelete = async function (pid, uid) { diff --git a/src/routes/meta.js b/src/routes/meta.js index fea1cac50e..5ca94702ed 100644 --- a/src/routes/meta.js +++ b/src/routes/meta.js @@ -1,8 +1,5 @@ 'use strict'; -const path = require('path'); -const nconf = require('nconf'); - module.exports = function (app, middleware, controllers) { app.get('/sitemap.xml', controllers.sitemap.render); app.get('/sitemap/pages.xml', controllers.sitemap.getPages); @@ -12,10 +9,5 @@ module.exports = function (app, middleware, controllers) { app.get('/manifest.webmanifest', controllers.manifest); app.get('/css/previews/:theme', controllers.admin.themes.get); app.get('/osd.xml', controllers.osd.handle); - app.get('/service-worker.js', (req, res) => { - res.status(200) - .type('application/javascript') - .set('Service-Worker-Allowed', `${nconf.get('relative_path')}/`) - .sendFile(path.join(__dirname, '../../build/public/src/service-worker.js')); - }); + app.get('/service-worker.js', controllers['service-worker'].generate); }; diff --git a/src/routes/user.js b/src/routes/user.js index 040f6cb063..0572cfc28a 100644 --- a/src/routes/user.js +++ b/src/routes/user.js @@ -35,6 +35,7 @@ module.exports = function (app, name, middleware, controllers) { setupPageRoute(app, `/${name}/:userslug/bookmarks`, accountMiddlewares, controllers.accounts.posts.getBookmarks); setupPageRoute(app, `/${name}/:userslug/watched`, accountMiddlewares, controllers.accounts.posts.getWatchedTopics); setupPageRoute(app, `/${name}/:userslug/ignored`, accountMiddlewares, controllers.accounts.posts.getIgnoredTopics); + setupPageRoute(app, `/${name}/:userslug/read`, accountMiddlewares, controllers.accounts.posts.getReadTopics); setupPageRoute(app, `/${name}/:userslug/upvoted`, accountMiddlewares, controllers.accounts.posts.getUpVotedPosts); setupPageRoute(app, `/${name}/:userslug/downvoted`, accountMiddlewares, controllers.accounts.posts.getDownVotedPosts); setupPageRoute(app, `/${name}/:userslug/edit`, accountMiddlewares, controllers.accounts.edit.get); diff --git a/src/routes/write/topics.js b/src/routes/write/topics.js index 1a537fd56d..df10f66633 100644 --- a/src/routes/write/topics.js +++ b/src/routes/write/topics.js @@ -49,5 +49,7 @@ module.exports = function () { setupApiRoute(router, 'delete', '/:tid/read', [...middlewares, middleware.assert.topic], controllers.write.topics.markUnread); setupApiRoute(router, 'put', '/:tid/bump', [...middlewares, middleware.assert.topic], controllers.write.topics.bump); + setupApiRoute(router, 'put', '/:tid/move', [...middlewares, middleware.assert.topic], controllers.write.topics.move); + return router; }; diff --git a/src/search.js b/src/search.js index df249ec1f6..f707520d2b 100644 --- a/src/search.js +++ b/src/search.js @@ -19,20 +19,33 @@ search.search = async function (data) { data.sortBy = data.sortBy || 'relevance'; let result; - if (['posts', 'titles', 'titlesposts', 'bookmarks'].includes(data.searchIn)) { - result = await searchInContent(data); - } else if (data.searchIn === 'users') { - result = await user.search(data); - } else if (data.searchIn === 'categories') { - result = await categories.search(data); - } else if (data.searchIn === 'tags') { - result = await topics.searchAndLoadTags(data); - } else if (data.searchIn) { - result = await plugins.hooks.fire('filter:search.searchIn', { - data, - }); - } else { - throw new Error('[[error:unknown-search-filter]]'); + switch (data.searchIn) { + case 'users': { + result = await user.search(data); + break; + } + + case 'categories': { + result = await categories.search(data); + break; + } + + case 'tags': { + result = await topics.searchAndLoadTags(data); + break; + } + + default: { + if (['posts', 'titles', 'titlesposts', 'bookmarks'].includes(data.searchIn)) { + result = await searchInContent(data); + } else if (data.searchIn) { + result = await plugins.hooks.fire('filter:search.searchIn', { + data, + }); + } else { + throw new Error('[[error:unknown-search-filter]]'); + } + } } result.time = (process.elapsedTimeSince(start) / 1000).toFixed(2); diff --git a/src/socket.io/meta.js b/src/socket.io/meta.js index f150102f13..0e59e93849 100644 --- a/src/socket.io/meta.js +++ b/src/socket.io/meta.js @@ -5,6 +5,7 @@ const os = require('os'); const user = require('../user'); const meta = require('../meta'); const topics = require('../topics'); +const privileges = require('../privileges'); const SocketMeta = module.exports; SocketMeta.rooms = {}; @@ -44,6 +45,20 @@ SocketMeta.rooms.enter = async function (socket, data) { throw new Error('[[error:not-allowed]]'); } + if (data.enter && data.enter.startsWith('topic_')) { + const tid = data.enter.split('_').pop(); + if (!await privileges.topics.can('topics:read', tid, socket.uid)) { + throw new Error('[[error:no-privileges]]'); + } + } + + if (data.enter && data.enter.startsWith('category_')) { + const cid = data.enter.split('_').pop(); + if (!await privileges.categories.can('read', cid, socket.uid)) { + throw new Error('[[error:no-privileges]]'); + } + } + leaveCurrentRoom(socket); if (data.enter) { diff --git a/src/socket.io/posts/tools.js b/src/socket.io/posts/tools.js index 44b488216e..ba616f313f 100644 --- a/src/socket.io/posts/tools.js +++ b/src/socket.io/posts/tools.js @@ -46,6 +46,7 @@ module.exports = function (SocketPosts) { postData.display_moderator_tools = postData.display_edit_tools || postData.display_delete_tools; postData.display_move_tools = results.isAdmin || results.isModerator; postData.display_change_owner_tools = results.isAdmin || results.isModerator; + postData.display_manage_editors_tools = results.isAdmin || results.isModerator || postData.selfPost; postData.display_ip_ban = (results.isAdmin || results.isGlobalMod) && !postData.selfPost; postData.display_history = results.history && results.canViewHistory; postData.flags = { @@ -92,4 +93,35 @@ module.exports = function (SocketPosts) { await Promise.all(logs); }; + + SocketPosts.getEditors = async function (socket, data) { + if (!data || !data.pid) { + throw new Error('[[error:invalid-data]]'); + } + await checkEditorPrivilege(socket.uid, data.pid); + const editorUids = await db.getSetMembers(`pid:${data.pid}:editors`); + const userData = await user.getUsersFields(editorUids, ['username', 'userslug', 'picture']); + return userData; + }; + + SocketPosts.saveEditors = async function (socket, data) { + if (!data || !data.pid || !Array.isArray(data.uids)) { + throw new Error('[[error:invalid-data]]'); + } + await checkEditorPrivilege(socket.uid, data.pid); + await db.delete(`pid:${data.pid}:editors`); + await db.setAdd(`pid:${data.pid}:editors`, data.uids); + }; + + async function checkEditorPrivilege(uid, pid) { + const cid = await posts.getCidByPid(pid); + const [isAdminOrMod, owner] = await Promise.all([ + privileges.categories.isAdminOrMod(cid, uid), + posts.getPostField(pid, 'uid'), + ]); + const isSelfPost = String(uid) === String(owner); + if (!isAdminOrMod && !isSelfPost) { + throw new Error('[[error:no-privileges]]'); + } + } }; diff --git a/src/socket.io/topics/move.js b/src/socket.io/topics/move.js index 6c03412cc2..edda6b2c77 100644 --- a/src/socket.io/topics/move.js +++ b/src/socket.io/topics/move.js @@ -1,55 +1,26 @@ 'use strict'; const async = require('async'); -const user = require('../../user'); const topics = require('../../topics'); const categories = require('../../categories'); const privileges = require('../../privileges'); -const socketHelpers = require('../helpers'); const events = require('../../events'); +const api = require('../../api'); +const sockets = require('..'); + module.exports = function (SocketTopics) { SocketTopics.move = async function (socket, data) { + sockets.warnDeprecated(socket, 'GET /api/v3/topics/:tid/move'); + if (!data || !Array.isArray(data.tids) || !data.cid) { throw new Error('[[error:invalid-data]]'); } - const canMove = await privileges.categories.isAdminOrMod(data.cid, socket.uid); - if (!canMove) { - throw new Error('[[error:no-privileges]]'); - } - - const uids = await user.getUidsFromSet('users:online', 0, -1); - const cids = [parseInt(data.cid, 10)]; - await async.eachLimit(data.tids, 10, async (tid) => { - const canMove = await privileges.topics.isAdminOrMod(tid, socket.uid); - if (!canMove) { - throw new Error('[[error:no-privileges]]'); - } - const topicData = await topics.getTopicFields(tid, ['tid', 'cid', 'slug', 'deleted']); - if (!cids.includes(topicData.cid)) { - cids.push(topicData.cid); - } - data.uid = socket.uid; - await topics.tools.move(tid, data); - - const notifyUids = await privileges.categories.filterUids('topics:read', topicData.cid, uids); - socketHelpers.emitToUids('event:topic_moved', topicData, notifyUids); - if (!topicData.deleted) { - socketHelpers.sendNotificationToTopicOwner(tid, socket.uid, 'move', 'notifications:moved-your-topic'); - } - - await events.log({ - type: `topic-move`, - uid: socket.uid, - ip: socket.ip, - tid: tid, - fromCid: topicData.cid, - toCid: data.cid, - }); + await api.topics.move(socket, { + tid: data.tids, + cid: data.cid, }); - - await categories.onTopicsMoved(cids); }; diff --git a/src/topics/create.js b/src/topics/create.js index 0d6ee1bc19..7a69d98006 100644 --- a/src/topics/create.js +++ b/src/topics/create.js @@ -165,8 +165,7 @@ module.exports = function (Topics) { Topics.reply = async function (data) { data = await plugins.hooks.fire('filter:topic.reply', data); - const { tid } = data; - const { uid } = data; + const { tid, uid } = data; const [topicData, isAdmin] = await Promise.all([ Topics.getTopicData(tid), diff --git a/src/topics/scheduled.js b/src/topics/scheduled.js index 0a91067d59..5b98bea84f 100644 --- a/src/topics/scheduled.js +++ b/src/topics/scheduled.js @@ -8,8 +8,10 @@ const db = require('../database'); const posts = require('../posts'); const socketHelpers = require('../socket.io/helpers'); const topics = require('./index'); +const categories = require('../categories'); const groups = require('../groups'); const user = require('../user'); +const plugins = require('../plugins'); const Scheduled = module.exports; @@ -117,13 +119,21 @@ async function sendNotifications(uids, topicsData) { } }); - return Promise.all(topicsData.map( + await Promise.all(topicsData.map( (t, idx) => user.notifications.sendTopicNotificationToFollowers(t.uid, t, postsData[idx]) + ).concat( + postsData.map(p => topics.notifyTagFollowers(p, p.uid)) + ).concat( + postsData.map(p => categories.notifyCategoryFollowers(p, p.uid)) ).concat( topicsData.map( (t, idx) => socketHelpers.notifyNew(t.uid, 'newTopic', { posts: [postsData[idx]], topic: t }) ) )); + plugins.hooks.fire('action:topics.scheduled.notify', { + posts: postsData, + topics: topicsData, + }); } async function updateUserLastposttimes(uids, topicsData) { diff --git a/src/topics/tags.js b/src/topics/tags.js index daab4e5f77..2cc8be1ffa 100644 --- a/src/topics/tags.js +++ b/src/topics/tags.js @@ -609,13 +609,13 @@ module.exports = function (Topics) { const { displayname } = postData.user; const notifBase = 'notifications:user-posted-topic-with-tag'; - let bodyShort = translator.compile(notifBase, displayname, tags[0]); + let bodyShort = translator.compile(notifBase, displayname, postData.topic.title, tags[0]); if (tags.length === 2) { - bodyShort = translator.compile(`${notifBase}-dual`, displayname, tags[0], tags[1]); + bodyShort = translator.compile(`${notifBase}-dual`, displayname, postData.topic.title, tags[0], tags[1]); } else if (tags.length === 3) { - bodyShort = translator.compile(`${notifBase}-triple`, displayname, tags[0], tags[1], tags[2]); + bodyShort = translator.compile(`${notifBase}-triple`, displayname, postData.topic.title, tags[0], tags[1], tags[2]); } else if (tags.length > 3) { - bodyShort = translator.compile(`${notifBase}-multiple`, displayname, tags.join(', ')); + bodyShort = translator.compile(`${notifBase}-multiple`, displayname, postData.topic.title, tags.join(', ')); } const notification = await notifications.create({ diff --git a/src/topics/unread.js b/src/topics/unread.js index e3f7483572..4875356949 100644 --- a/src/topics/unread.js +++ b/src/topics/unread.js @@ -198,7 +198,7 @@ module.exports = function (Topics) { } const cids = params.cid || await getWatchedTrackedCids(params.uid); const keys = cids.map(cid => `cid:${cid}:tids:lastposttime`); - return await db.getSortedSetRevRangeByScoreWithScores(keys, 0, -1, '+inf', params.cutoff); + return await db.getSortedSetRevRangeByScoreWithScores(keys, 0, 200, '+inf', params.cutoff); } async function getWatchedTrackedCids(uid) { @@ -217,7 +217,7 @@ module.exports = function (Topics) { params.cid.map(cid => `cid:${cid}:tids:lastposttime`) : 'topics:recent'; - const recentTopicData = await db.getSortedSetRevRangeByScoreWithScores(keys, 0, -1, '+inf', params.cutoff); + const recentTopicData = await db.getSortedSetRevRangeByScoreWithScores(keys, 0, 200, '+inf', params.cutoff); const isFollowed = await db.isSortedSetMembers(`uid:${params.uid}:followed_tids`, recentTopicData.map(t => t.tid)); return recentTopicData.filter((t, i) => isFollowed[i]); } diff --git a/src/upgrades/3.8.0/user-upload-folders.js b/src/upgrades/3.8.0/user-upload-folders.js index 5be9990a06..fbacbc64c4 100644 --- a/src/upgrades/3.8.0/user-upload-folders.js +++ b/src/upgrades/3.8.0/user-upload-folders.js @@ -17,8 +17,9 @@ module.exports = { const { progress } = this; const folder = path.join(nconf.get('upload_path'), 'profile'); - + await mkdirp(folder); const userPicRegex = /^\d+-profile/; + const files = (await fs.promises.readdir(folder, { withFileTypes: true })) .filter(item => !item.isDirectory() && String(item.name).match(userPicRegex)) .map(item => item.name); diff --git a/src/user/admin.js b/src/user/admin.js index 369aafee50..35598bbbd9 100644 --- a/src/user/admin.js +++ b/src/user/admin.js @@ -64,7 +64,7 @@ module.exports = function (User) { 'w' ); fs.promises.appendFile(fd, `${fields.map(f => `"${f}"`).join(',')}\n`); - await batch.processSortedSet('group:administrators:members', async (uids) => { + await batch.processSortedSet('users:joindate', async (uids) => { const userFieldsToLoad = fields.filter(field => field !== 'ip' && field !== 'password'); const usersData = await User.getUsersFields(uids, userFieldsToLoad); let userIps = []; diff --git a/src/user/approval.js b/src/user/approval.js index 5e0f1153c0..5067239d8a 100644 --- a/src/user/approval.js +++ b/src/user/approval.js @@ -14,8 +14,12 @@ const slugify = require('../slugify'); const plugins = require('../plugins'); module.exports = function (User) { - new cronJob('0 * * * *', (() => { - User.autoApprove(); + new cronJob('0 * * * *', (async () => { + try { + await User.autoApprove(); + } catch (err) { + winston.error(err.stack); + } }), null, true); User.addToApprovalQueue = async function (userData) { @@ -160,8 +164,14 @@ module.exports = function (User) { const users = await db.getSortedSetRevRangeWithScores('registration:queue', 0, -1); const now = Date.now(); for (const user of users.filter(user => now - user.score >= meta.config.autoApproveTime * 3600000)) { - // eslint-disable-next-line no-await-in-loop - await User.acceptRegistration(user.value); + try { + // eslint-disable-next-line no-await-in-loop + await User.acceptRegistration(user.value); + } catch (err) { + winston.error(err.stack); + // eslint-disable-next-line no-await-in-loop + await removeFromQueue(user.value); + } } }; }; diff --git a/src/user/notifications.js b/src/user/notifications.js index 1da0bd63cb..d2f5b3dce8 100644 --- a/src/user/notifications.js +++ b/src/user/notifications.js @@ -11,7 +11,6 @@ const privileges = require('../privileges'); const plugins = require('../plugins'); const translator = require('../translator'); const user = require('./index'); -const utils = require('../utils'); const UserNotifications = module.exports; @@ -206,15 +205,10 @@ UserNotifications.sendTopicNotificationToFollowers = async function (uid, topicD if (!followers.length) { return; } - let { title } = topicData; - if (title) { - title = utils.decodeHTMLEntities(title); - title = title.replace(/,/g, '\\,'); - } const notifObj = await notifications.create({ type: 'new-topic', - bodyShort: translator.compile('notifications:user-posted-topic', postData.user.displayname, title), + bodyShort: translator.compile('notifications:user-posted-topic', postData.user.displayname, postData.topic.title), bodyLong: postData.content, pid: postData.pid, path: `/post/${postData.pid}`, diff --git a/src/user/profile.js b/src/user/profile.js index 39e278c151..cf21be8b2e 100644 --- a/src/user/profile.js +++ b/src/user/profile.js @@ -318,6 +318,9 @@ module.exports = function (User) { if (!correct) { throw new Error('[[user:change-password-error-wrong-current]]'); } + if (data.currentPassword === data.newPassword) { + throw new Error('[[user:change-password-error-same-password]]'); + } } const hashedPassword = await User.hashPassword(data.newPassword); diff --git a/src/views/admin/advanced/hooks.tpl b/src/views/admin/advanced/hooks.tpl index 61aaa26ebc..fceffc3655 100644 --- a/src/views/admin/advanced/hooks.tpl +++ b/src/views/admin/advanced/hooks.tpl @@ -4,7 +4,7 @@
    {hooks.hookName} - +
    diff --git a/src/views/admin/extend/plugins.tpl b/src/views/admin/extend/plugins.tpl index 49beec0ee7..0b6c26b0e8 100644 --- a/src/views/admin/extend/plugins.tpl +++ b/src/views/admin/extend/plugins.tpl @@ -13,7 +13,7 @@ {{{ if !canChangeState }}}
    [[error:plugins-set-in-configuration]]
    {{{ end }}} -
    -
    +
    {{{ each templates }}}
    @@ -43,7 +43,7 @@ {{{ end }}}
    -
    +
    @@ -115,11 +115,21 @@
    [[admin/extend/widgets:container.jumbotron]]
    + +
    +
    [[admin/extend/widgets:container.title]]
    +
    +
    + [[admin/extend/widgets:container.body]] +
    +
    +
    [[admin/extend/widgets:container.card]]
    +
    [[admin/extend/widgets:container.card-header]] diff --git a/src/views/admin/manage/admins-mods.tpl b/src/views/admin/manage/admins-mods.tpl index 977c59275d..6375ea923e 100644 --- a/src/views/admin/manage/admins-mods.tpl +++ b/src/views/admin/manage/admins-mods.tpl @@ -15,7 +15,7 @@
    {buildAvatar(admins.members, "24px", true)} {admins.members.username} -
    @@ -35,7 +35,7 @@
    {buildAvatar(globalMods.members, "24px", true)} {globalMods.members.username} -
    @@ -87,7 +87,7 @@
    {buildAvatar(categoryMods.moderators, "24px", true)} {categoryMods.moderators.username} -
    diff --git a/src/views/admin/manage/categories.tpl b/src/views/admin/manage/categories.tpl index 512105dbac..bed5850325 100644 --- a/src/views/admin/manage/categories.tpl +++ b/src/views/admin/manage/categories.tpl @@ -4,7 +4,7 @@

    [[admin/manage/categories:manage-categories]]

    - + diff --git a/src/views/admin/manage/category.tpl b/src/views/admin/manage/category.tpl index fb2afcedec..2820463a53 100644 --- a/src/views/admin/manage/category.tpl +++ b/src/views/admin/manage/category.tpl @@ -166,27 +166,27 @@
    - [[admin/manage/categories:back-to-categories]] + [[admin/manage/categories:back-to-categories]]
    - - [[admin/manage/categories:analytics]] + [[admin/manage/categories:analytics]] - + [[admin/manage/categories:privileges]] - + [[admin/manage/categories:view-category]]
    - - diff --git a/src/views/admin/manage/group.tpl b/src/views/admin/manage/group.tpl index e8ce44d981..114d5e8692 100644 --- a/src/views/admin/manage/group.tpl +++ b/src/views/admin/manage/group.tpl @@ -6,7 +6,7 @@

    [[admin/manage/groups:edit-group]]

    -